Aliasing'in sebepleri nelerdir?


47

Her zaman örtüşme ve örtüşme önleme hakkında duyuyorum ve neye benzediğini biliyorum ama anlamadığım şey buna neden oluyor. Fiziksel bir fenomen mi? Ya da sayısal olanı?

Açıklamaya yardımcı olursa, bazı programlama bilgim var ama video oyunları veya grafiklerde değil.

Yanıtlar:


60

Fiziksel bir fenomen midir? veya sayısal?

Bu soru sorta, takma / kenar yumuşatmanın ne anlama geldiğini aslında bilmediğinizi gösteriyor. Demek istediğim, "neye benzediğini biliyorsun" diyorsun, ama gerçekte ne anlama geldiğini bilseydin, sorunun muhtemelen saçma olduğunu anlardın. Takma ad, bilgisayar grafikleri oluşturma biçiminin bir yan etkisidir ve bilgisayar grafikleri, fiziksel olaylar değil , tanım gereğidir .

"Aliasing" sadece açılı çizgilerdeki merdiven basamağı görünümüne atıfta bulunur çünkü bilgisayar grafikleri aslında bir ızgaradaki birçok küçük kareden oluşur. İşte neden bahsettiğimi gösteren bir resim: görüntü tanımını buraya girin

Bu, bir görüntüdeki pikselleri her yaptığınızda, serbest çizim yaparken veya bir 3B poligon için pikselleri hesaplamak için bir algoritma yazarken olsun, bir sorundur. Bu, görüntünün kare bir kare ızgara olması gerçeğinin yalnızca bir yan etkisidir. "Kenar yumuşatma", renkleri kenar pikselleri boyunca birbirine karıştırarak merdiven basamağı görünümünü gizlemenizdir.


18
@Kruncho Başkalarına hatalarını öğretmediğin sürece, asla yanlış olduğun için üzülme! Yalnızca anlamaya çalışmadığınızda veya düzeltilmeye istekli olmadığınızda üzgün olun. Hata, aslında tam olarak ne hakkında bilmek istediğini netleştirmek için yardımcı oldu: ('aliasing bilgisayar grafikleri' nasıl 'oluyor?). BTW, bu cevabı neyin, nasıl ve niçin sayısal bir mesele olduğunu göstermek en iyisidir. Bunu sadece tamsayıları kullanarak kesirli sayıları temsil etmeye çalışmak için bir sınırlama olarak düşünebilirsiniz. Yarım piksel vb. Yoktur. Böylece blok görünümlü görüntüler elde edersiniz.
Bulanık Mantık

5
@jhocking Pedantik bir düzeltme: piksellerin kare sayısı aslında önemli değil. Her piksel aynı boyutta yuvarlak noktalar olsaydı, diğer ad aynı olur.
Bulanık Mantık

10
@jhocking "Kare ızgara" ya da kesmez. Pikselleriniz altıgen bir ızgarada düzenlenmiş olsaydı, yine de diğer adlandırma (biraz farklı görünüyor) elde edersiniz. Önemli olan, piksellerin düzenli bir düzende düzenlenmiş ve sıfır olmayan boyutta olması ve bu koşulların her ikisinin de düşünülebilecek herhangi bir görüntüleme teknolojisi için geçerli olmasıdır.
Mike Scott

3
Bu sadece "grid" için bir tanımlayıcı olduğunda "kare" kelimesini kapatıyorsunuz.
15'te

11
@MikeScott: Düzensiz düzenlenmiş piksellerde bile, takma ad görünecektir. :))) Takma ad görünmesinin önemli koşulu, orijinal sinyalin (orijinal görüntü) maksimum frekansının 2 * (1 / T) 'den daha yüksek olmasıdır (burada T, örnekler arasındaki aralık = pikseller arasındaki mesafe ). --- Orijinal görüntünün keskin kenarları olduğunda (beyaz zemin üzerine siyah çizgi gibi), o zaman maksimum frekansı sonsuzdur.
pabouk

121

Bilgisayar grafiklerinde en yaygın kullanımı ele almasına rağmen, kabul edilen cevap kesinlikle doğru değil. Aliasing , sinyal işlemede temel bir kavramdır ve bunun matematiksel teorisi bilgisayar ekranlarından önce gelir. Ayrıca "piksellerin kare olması gerçeğinin bir yan etkisi" olduğu da doğru değil. Takma ad, bir sinyali Nyquist oranının altındaki bir hızda isteğe bağlı olarak örneklediğinizde ve görüntü ve diğer birçok ayrık örneklemeli sinyal türünün yanı sıra, dijital sesi de etkilediğiniz zaman mevcuttur. Bilgisayar grafiğinin diğer adı, ayrı örneklemenin piksellerin şekli değil yan etkisidir.

Bilgisayar grafiğinde kenar yumuşatma derin ve karmaşık bir konudur ve kenar yumuşatma işleminden çok daha fazlası vardır. Yine, sinyal işlemeyle ilgili pek çok temel teori vardır ve bilgisayar grafikleri üzerinde etkin bir araştırma alanıdır; sadece kenarlar için değil, geçici gölgelendirme için, gölgelendirici için bir BRDF'yi yeniden yapılandırırken örtüşme için de etkilidir. kenarları ve diğer birçok alanda. 3B grafiklerdeki dokuların mip eşlemesi, örneğin kenar yumuşatma dışındaki önemli bir sorunu ele alan köklü bir kenar yumuşatma tekniğidir.

Bu gerçekten fiziksel olandan çok matematiksel bir fenomendir ancak bilgisayar grafikleri dışındaki birçok alanda mühendislik alanında ortaya çıkmaktadır. Ben de onu sayısal bir fenomen olarak tanımlamam. Sinyal işlemenin temellerini anlamak, bilgisayar grafiğinde takma adların nasıl tezahür ettiğini anlamak ve azaltmayı nasıl yapacağınızı anlamak için iyi bir temeldir.


6
Bir yandan, hey, bugün yeni bir şey öğrendim, takma kenarları grafik kenarları dışında hiçbir bağlamda duymadım. Bununla birlikte, bu ek teknik detay, "piksellerin kare olması gerçeğinin bir yan etkisidir" açıklamasına aykırı görünmüyor. "Kesikli örnekleme", "kenar aslında kesintisiz bir çizgi değil, bir miktar kesikli pikseldir" demenin sadece süslü bir yoludur.
15’te

15
Teknik doğruluk için +1. Her ne kadar biraz da teknik sorular sorulsa verilen soru soruldu ve aslında ima edilen soruyu ele almıyor. Kabul edilen cevap, sorunun amacına daha uygundur. Yine de yeni bir şey öğrendim, bu yüzden detay için teşekkürler :)
Fuzzy Logic

6
Üzgünüm, bize göre grafik programcıları biraz takma ismiyle uğraşmaya başladılar :) Bence cevabınız soruyu ele alıyor, ancak birisi bilgisayar grafiklerinde daha derine gitmek isterse takma adın matematiksel bir fenomen olduğunu anlamakta fayda var. arkasındaki teori demet. Tüm bu teknik detaylar oyunlarımızda güzel fotoğraflar
çekmenin

4
@jhocking Mesele şu ki, piksellerin ne şekilde olduğu önemli değil - bu piksellerin kare olması gerçeğinin yan etkisi değil, piksellerin renklerinin üzerinde renk değiştirmemesinin yan etkisidir. ölçüde. Her neyse, bir piksel küçük bir kare değildir .
Daniel Wagner,

1
Cevabınız resimlerde eksik, aksi takdirde kesinlikle kabul edilen olacaktır. Kenar yumuşatma örneğinin yanı sıra şunları gerektirir: 1) saat yönünde dönen ve aniden durup yön değiştiren araba tekerlekleri animasyonlu gif. 2) 3 boyutlu bir satranç tahtası (hangisinin sonsuzluğa gideceğini biliyorsunuz) ... Ben de sinyal işleme okudum.
MartinTeeVarga

68

Diğer iki cevaba ekleyerek, burada olanların daha sezgisel bir açıklaması.

2B poligonda Aliasing

Izgara kareleri pikselleri temsil eder. Soldaki kırmızı çokgen, çizilen şekildir, dahili olarak bir nokta dizisi olarak temsil edilir. Oluşturulduğunda, bir nokta listesinden bir piksel renkleri tamponuna dönüştürülür. Kesikli örnekleme, poligonun her bir pikseli ne kadar kapladığına bağlı olarak hangi piksellerin karanlık ve hangi piksellerin açık olduğunu belirler.

Sorunuzu cevaplamak için, bu sayısal / matematiksel bir olgudur çünkü orijinal şekil hakkındaki bilgiler yaklaşık olarak kaybolur.

düzgünleştirme

Kenar yumuşatma, görüntü işleme kısmen kaplanmış pikselleri daha az yoğun hale getirerek takma işlem için düzeltmeyi denediğinde gerçekleşir.


5
İşte neler olduğunu gerçekten açıklayan ilk cevap. Aferin.
Beska,

1
"kısmen örtülü pikselleri daha az yoğun yapmak" tam olarak anladığım gibi değil. Anti Aliasing algoritmalarının çoğunun, bazen görüntülenen çerçevenin tamamında (FXAA'da olduğu gibi) ya da daha fazla sayıda akıllı algoritmanın yalnızca kenar sınırlarında gerçekleştirdiğini Düşük Geçişli Filtre (bulanıklaştırma filtresi ile aynı) uyguladığına inanıyorum. MSAA farklı bir yolla çalışır, ancak genel etkisi sert kenar sınırları üzerindeki bir LPF'nin etkisi olmaya devam eder.
Luke

1
@Luke Son paragrafta işlerin nasıl yürüdüğünü açıklamak niyetinde değildim; sadece anti-aliasing'in sonucunu tarif ediyor. "Yoğun" kullanılacak doğru terim değildir, ancak kenar yumuşatma, rengi arka plandan daha yoğun olan bir şekle kenar yumuşatma yapıldığında uygulanır. Bütün söylediğim buydu.
aebabis

3

Sinyal işleme alanında, takma, sinyal frekansının yanlış tanımlanması anlamına gelir. Örneğin, örnekleme aşamasının altında yeterli dikkate alınmaması nedeniyle, üretim hatalarına ve bozulmasına neden olabilir. Görüntü gibi 2B ayrık sinyale genelleştirilebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.