Nvidia bu hafta, benzer depolama gereksinimlerine sahipken geleneksel Blok Kesme Kodlama (BTC, BC) yöntemlerinden dört kat daha yüksek çözünürlük sağlayan yeni doku sıkıştırma yöntemini tanıttı. Önerilen yaklaşımın temel konsepti, çoklu malzeme dokularını ve bunların mipmap zincirlerini toplu olarak sıkıştırmak ve ardından, açtığı belirli bir model için eğitilmiş bir sinir ağı kullanarak bunları açmaktır. Teorik olarak, yöntem gelecekteki GPU mimarilerini bile etkileyebilir. Yine de, şimdilik yöntemin sınırlamaları var.
Yeni Gereksinimler
Video oyunları için gerçek zamanlı işlemedeki son gelişmeler, malzemelerin fotogerçekçi modellemesi için fiziksel tabanlı gölgeleme, ışın izleme, yol izleme ve doğru küresel aydınlatma için gürültü giderme gibi tekniklerin kullanılması nedeniyle filmlerin görsel kalitesine yaklaştı. Bu arada, tekstüre teknikleri aslında benzer bir hızda ilerlemedi çünkü doku sıkıştırma yöntemleri temelde 1990’ların sonundakiyle aynı kaldı ve bu nedenle bazı durumlarda birçok nesne yakın mesafeden bulanık görünüyor.
Bunun nedeni, GPU’ların hala blok tabanlı doku sıkıştırma yöntemlerini kullanmasıdır. Bu tekniklerin çok verimli donanım uygulamaları (onları desteklemek için sabit işlevli donanım yirmi yılı aşkın bir süredir geliştiği için), rastgele erişim, veri konumu ve neredeyse kayıpsız kaliteye sahiptir. Ancak, 4x ile 8x arasındaki ortalama sıkıştırma oranları için tasarlanmışlardır ve maksimum 4 kanalla sınırlıdırlar. Modern gerçek zamanlı oluşturucular, genellikle birden çok doku gerektiren daha fazla malzeme özelliği gerektirir.
Nvidia’nın Yöntemi
Burası Nvidia’nın Malzeme Dokularının Rastgele Erişimli Sinirsel Sıkıştırması (yeni sekmede açılır) (NTC) devreye giriyor. Nvidia’nın teknolojisi, geleneksel doku sıkıştırma yöntemleriyle benzer depolama gereksinimlerini korurken iki ek ayrıntı düzeyi (16 kat daha fazla metin, yani dört kat daha yüksek çözünürlük) sağlar. Bu, 8192 x 8192’ye (8K) kadar çözünürlüklerle malzeme başına optimizasyona sahip sıkıştırılmış dokuların artık mümkün olduğu anlamına gelir.
Bunu yapmak için NTC, fazlalıkları mekansal olarak, mipmap seviyelerinde ve farklı malzeme kanallarında kullanır. Bu, izleyiciler bir nesnenin yakınındayken doku ayrıntısının korunmasını sağlar, bu modern yöntemlerin sağlayamadığı bir şeydir.
Nvidia, NTC dokularının, SIMD işbirlikçi bir şekilde çalışan tensör çekirdekleri gibi matris çoğaltma donanımı kullanılarak sıkıştırılmış halden çıkarıldığını iddia ediyor; bu, yeni teknolojinin herhangi bir özel amaçlı donanım gerektirmediği ve neredeyse tüm modern Nvidia GPU’larında kullanılabileceği anlamına geliyor. Ancak belki de en büyük endişe, her dokunun sıkıştırmayı açmak için kendi optimize edilmiş sinir ağını gerektirmesidir, bu da oyun geliştiricilere ek bir yük bindirir.
Nvidia, bu agresif derecede düşük bit hızlarında ortaya çıkan doku kalitesinin, zaten rastgele erişimle gerçek zamanlı sıkıştırmayı açmak için tasarlanmamış olan AVIF ve JPEG XL gibi son görüntü sıkıştırma standartlarıyla karşılaştırılabilir veya onlardan daha iyi olduğunu söylüyor.
Pratik Avantajlar ve Dezavantajlar
Gerçekten de Nvidia tarafından gösterilen görüntüler, NTC’nin geleneksel Blok Kodlama tabanlı teknolojilerden daha iyi olduğunu açıkça gösteriyor. Bununla birlikte, Nvidia, yönteminin geleneksel yöntemlerden daha yavaş olduğunu kabul ediyor (NTC dokuları ile 4K bir görüntüyü işlemek için bir GPU 1,15 ms ve BC dokuları ile 4K bir görüntüyü oluşturmak için 0,49 ms sürdü), ancak stokastik filtrelemeye rağmen 16 kat daha fazla metin sağlıyor. .
NTC, geleneksel donanım hızlandırmalı doku filtrelemeye göre daha fazla kaynak yoğun olsa da, sonuçlar bunun yüksek performans sağladığını ve gerçek zamanlı işleme için uygun olduğunu gösteriyor. Ayrıca, tam özellikli bir işleyici kullanan karmaşık sahnelerde, GPU’nun gecikmeyi gizleme yeteneği nedeniyle, NTC’nin maliyeti, diğer görevlerin (örn. ışın izleme) eşzamanlı yürütülmesiyle kısmen dengelenebilir.
Bu arada, NTC ile işleme hızlandırılabilir yeni donanım mimarileri, kullanılabilecek ayrılmış matris çarpma birimlerinin sayısı artırılabilir, önbellek boyutları ve kayıt kullanımı artırılabilir. Aslında bazı optimizasyonlar programlanabilir seviyede yapılabilir.
Nvidia ayrıca, NTC’nin tamamen kayıpsız bir doku sıkıştırma yöntemi olmadığını ve düşük bit hızlarında görsel bozulma ürettiğini ve kanal korelasyonuna duyarlılık, tek tip çözünürlük gereksinimleri ve daha büyük kamera mesafelerinde sınırlı faydalar gibi bazı sınırlamaları olduğunu kabul ediyor. Ayrıca, avantajlar kanal sayısıyla orantılıdır ve daha düşük kanal sayıları için o kadar önemli olmayabilir. Ayrıca, NTC malzeme dokuları için optimize edildiğinden ve her zaman tüm malzeme kanallarını sıkıştırdığından, farklı işleme bağlamlarında kullanım için potansiyel olarak uygunsuz hale getirir.
NTC’nin avantajı, üstün sonuçları üretmek için sabit işlevli doku filtreleme donanımı kullanmaması olsa da, bu aynı zamanda onun temel dezavantajıdır. Doku filtreleme maliyeti hesaplama açısından pahalıdır, bu nedenle şu an için NTC ile anizotropik filtreleme gerçek zamanlı işleme için uygun değildir. Bu arada, stokastik filtreleme titremeye neden olabilir.
Ancak sınırlamalara rağmen, NTC’nin birden çok kanalı ve mipmap düzeylerini birlikte sıkıştırması, endüstri standartlarını aşan bir sonuç üretir. Nvidia araştırmacıları, yaklaşımının gerçek zamanlı işlemede sinema kalitesinde görsellerin önünü açtığına ve sınırlı bellekli grafik uygulamaları için pratik olduğuna inanıyor. Yine de, performansı etkileyen basit BTC algoritmalarına kıyasla mütevazı bir zamanlama ek yükü sunar.