Mipmap - Mipmap

Olarak bilgisayar grafik , Eşleşme (aynı zamanda , MIP haritalar ) ya da piramitler , önceden hesaplanır optimize sekanslarını görüntü giderek daha düşük, her biri, çözünürlüğü önceki temsili. Mipmap'teki her görüntünün veya seviyenin yüksekliği ve genişliği, önceki seviyeden iki küçük faktördür. Mipmap'lerin kare olması gerekmez. Oluşturma hızını artırmaları ve örtüşmeyi azaltmaları amaçlanmıştır eserler. Kameraya yakın nesneler gibi yüksek yoğunluklu örnekler için yüksek çözünürlüklü bir mipmap görüntüsü kullanılır; nesne daha uzakta göründükçe daha düşük çözünürlüklü görüntüler kullanılır. Bu (downfiltering daha verimli bir şekilde küçültme ) bir doku Tüm örnekleme daha texel ekran katkıda orijinal doku piksel ; uygun şekilde aşağı filtrelenmiş dokulardan sabit sayıda örnek almak daha hızlıdır. Mipmap'ler, 3B bilgisayar oyunlarında , uçuş simülatörlerinde , doku filtreleme için diğer 3B görüntüleme sistemlerinde ve 2B ve 3B GIS yazılımlarında yaygın olarak kullanılmaktadır . Kullanımları mipmap oluşturma olarak bilinir . İsimdeki MIP harfleri , Latince "çok az" anlamına gelen parvo'daki multum ifadesinin kısaltmasıdır .

Mipmap'ler tanım gereği önceden tahsis edildiğinden, bunlardan yararlanmak için ek depolama alanı gerekir. Ayrıca dalgacık sıkıştırmasıyla da ilgilidir . Mipmap dokuları, bir sahneyi oluşturmak için gereken süreyi azaltmak için 3B sahnelerde kullanılır. Ayrıca , doku başına % 33 daha fazla bellek maliyeti karşılığında, geniş izleme mesafelerinde oluşan örtüşme ve Muare desenlerini azaltarak görüntü kalitesini iyileştirirler .

Genel Bakış

Mipmap'lerin büyük mesafelerde örtüşmeyi nasıl azalttığını gösteren resim.
Eşleşme azaltır nasıl gösteren resim aliasing geniş mesafelerde. (Aliasing , soldaki görüntüde Moiré desenine neden olur .)

Mipmap'ler şunlar için kullanılır:

  • Ayrıntı düzeyi (LOD)
  • Görüntü kalitesini iyileştirme. Yalnızca küçük, bitişik olmayan doku alt kümelerinin kullanıldığı büyük dokulardan işlemek , kolayca Moiré desenleri oluşturabilir ;
  • Her pikseli oluşturmak için örneklenen metin sayısını azaltarak veya alınan örneklerin bellek yerini artırarak işleme sürelerini hızlandırmak;
  • GPU veya CPU üzerindeki baskıyı azaltmak .

Menşei

Mipmapping, 1983 yılında Lance Williams tarafından icat edildi ve Pyramidal parametrics adlı makalesinde açıklandı . Özetten: "Bu makale, örtüşme etkilerini en aza indiren ve hedef görüntüler içinde ve arasında sürekliliği sağlayan bir 'piramidal parametrik' ön filtreleme ve örnekleme geometrisi geliştirmektedir." Referans alınan piramit, birbirinin önünde istiflenmiş mipmapler kümesi olarak düşünülebilir.

Mipmap teriminin kökeni, parvo'daki ("çok küçük bir alanda") Latince multum deyiminin ve bitmap üzerinde modellenmiş haritanın bir baş harfidir . Piramitler terimi , bir CBS bağlamında hala yaygın olarak kullanılmaktadır . CBS yazılımında, piramitler öncelikle render sürelerini hızlandırmak için kullanılır.

Mekanizma

Örnek mipmap görüntü depolama: Soldaki ana görüntüye, küçültülmüş boyutta filtrelenmiş kopyalar eşlik eder.

Mipmap kümesinin her bitmap görüntüsü, ana dokunun küçültülmüş bir kopyasıdır , ancak belirli bir azaltılmış ayrıntı düzeyindedir. Görünüm, onu tüm ayrıntılarıyla işlemek için yeterli olduğunda ana doku yine de kullanılacak olsa da, doku oluşturulduğunda oluşturucu uygun bir mipmap görüntüsüne geçecektir (veya aslında, üç çizgili filtreleme etkinleştirildiyse en yakın ikisi arasında enterpolasyon yapacaktır ). uzaktan veya küçük bir boyutta görüntülendi. Doku piksel (sayısına yana hızı artar oluşturma teksel görüntü piksel başına işlenir) basit mipmap dokuları ile benzer sonuçlar için daha düşük olabilir. Görüntü pikseli başına sınırlı sayıda doku örneği kullanılıyorsa (çift doğrusal filtrelemede olduğu gibi ), mipmap görüntülerinin kenarları etkin bir şekilde zaten kenarları yumuşatıldığı için yapay nesneler azaltılır . Mipmap'ler ile ölçeği küçültmek ve büyütmek daha verimli hale getirilmiştir.

Dokunun temel boyutu 256 x 256 piksel ise, ilişkili mipmap seti, her biri bir öncekinin toplam alanının dörtte biri olan bir dizi 8 görüntü içerebilir: 128 × 128 piksel, 64 × 64, 32 × 32 , 16 × 16, 8 × 8, 4 × 4, 2 × 2, 1 × 1 (tek bir piksel). Örneğin, bir sahne bu dokuyu 40 × 40 piksellik bir alanda oluşturuyorsa, o zaman ya 32 × 32'nin ( üç çizgili enterpolasyon olmadan ) büyütülmüş bir versiyonu veya 64 × 64 ve 32 × 32'nin bir enterpolasyonu mipmap'ler (trilinear interpolasyonlu) kullanılacaktır. Bu dokuları oluşturmanın en basit yolu, ardışık ortalama almaktır; bununla birlikte, daha karmaşık algoritmalar (belki sinyal işleme ve Fourier dönüşümlerine dayalı ) da kullanılabilir.

RGB mipmap'in her seviyesinin her bir renk kanalını ayrı bir düzlem olarak (solda) göstermek, tüm mipmap'in alanın 4 katı bir kare oluşturduğunu gösterir. Her düzlem 1 3 depolama gerektirdiğinden, mipmapler bu nedenle 4 3 hafıza gerektirir ; yani 1 3 ≈% 33 daha fazla.

Tüm bu mipmap'ler için gereken depolama alanındaki artış, orijinal dokunun üçte biridir, çünkü 1/4 + 1/16 + 1/64 + 1/256 + ⋯ alanlarının toplamı 1 / 3'e yaklaşır. Ayrı düzlemler olarak depolanan üç kanala sahip bir RGB görüntüsü olması durumunda, toplam mipmap, her bir yandaki orijinal görüntünün boyutlarının iki katı büyüklüğündeki bir kare alana düzgün bir şekilde sığacak şekilde görselleştirilebilir (her bir yanda iki kat büyüklüğünde dörttür) orijinal alanın katı - kırmızı, yeşil ve mavinin her biri için orijinal boyutun bir düzlemi orijinal alanın üç katını oluşturur ve daha küçük dokular orijinalin 1 / 3'ünü aldığından, üçün 1 / 3'ü birdir, yani orijinal kırmızı, yeşil veya mavi düzlemlerden biriyle aynı toplam alanı kaplar). Bu, parvo'daki tag multum için ilham kaynağıdır .

Anizotropik filtreleme

Bir doku dik bir açıyla görüntülendiğinde, filtreleme her yönde tekdüze olmamalıdır ( izotropik değil anizotropik olmalıdır ) ve bir uzlaşma çözünürlüğü gereklidir. Daha yüksek bir çözünürlük kullanılırsa, önbellek tutarlılığı azalır ve örtüşme bir yönde artar, ancak görüntü daha net olma eğilimindedir. Daha düşük bir çözünürlük kullanılırsa, önbellek tutarlılığı artar, ancak görüntü aşırı derecede bulanıktır. Bu, bulanıklığa karşı örtüşme için MIP ayrıntı düzeyinin (LOD) değiş tokuşu olacaktır. Ancak anizotropik filtreleme, yalnızca MIP LOD'unu ayarlamak yerine her piksel için izotropik olmayan bir doku ayak izini örnekleyerek bu ödünleşimi çözmeye çalışır. Bu izotropik olmayan doku örneklemesi, ya daha karmaşık bir depolama şemasını ya da daha yüksek frekanslarda daha fazla doku alımının toplamını gerektirir.

Toplam alan tabloları

Toplam alan tabloları hafızayı koruyabilir ve daha fazla çözünürlük sağlayabilir. Bununla birlikte, yine önbellek tutarlılığına zarar veriyorlar ve temel dokunun kelime boyutundan daha büyük olan kısmi toplamları depolamak için daha geniş türlere ihtiyaç duyuyorlar. Bu nedenle, modern grafik donanımı bunları desteklemez.

Ayrıca bakınız

Referanslar