ana sayfa : araştırma : mpeg görüntü : mpeg'e genel bakış [ 2 / 9 ] |
||||||||||||||||||||||||||||
GERİ | ||||||||||||||||||||||||||||
BÖLÜM 2MPEG'e GENEL BAKIŞBu bölümde genel olarak MPEG'in temel tabakaları sayılabilecek olan sistemler, ses ve görüntü tabakaları üzerinde durulacaktır. MPEG sistem tabakasından başlayarak sırasıyla ses ve görüntü tabakaları hakkında genel bilgiler verilmeye çalışılacaktır. Bu bölümden elde edilen bilgilerle MPEG'in bölümlerinin spesifik özelliklerinin anlatılacağı diğer bölümlerin anlaşılması daha kolay olacaktır. 2.1 MPEG Sistem Tabakası
Şekil 2.1 - MPEG Sistem Yapısı Şekil 2.2 -
Sistem Tabakası Paket ve Paketçik Yapısı
MPEG
bit akışı her biri küçük paketçiklere ayrılmış paket dizisi
temeline dayanır. Bu durum şekil 2.2’de görünmektedir. Her paket bir
veya daha fazla veri paketçiği tarafından takip edilen tek 32-bit
bayt-hizalı paket başlangıç kodu ve başlığından (header) oluşur.
Her paketçik bir başka veri paketçiği (sıkıştırılmış ses veya görüntü
verileri) tarafından takip edilen paketçik başlangıç kodu (bir başka
tekil 32-bit bayt-hizalı kod) ve başlıktan oluşur. Sistem kod çözücüsü
bu bit akışını parçalara ayırır ve ayrılmış görüntü ve ses
verilerini zaman bilgisi ile birlikte uygun kod çözücülere besler. 2.1.1
Sistem Hedef Kod Çözücüsü
MPEG sistemi, sistem
hedef kod çözücüsü (System Target Decoder - STD) denen idealize
edilmiş bir çözücü kullanır. Bu ideal çözücü paket ve paketçik başlıklarını
yorumlar. Bunu temel bit akışlarını uygun ses veya görüntü kod çözücüsüne
götürmek için yapar. Şekil 2.1’de görüldüğü gibi birden fazla ses
veya görüntü kod çözücüleri bulunabilir. Bu
idealize edilmiş çözücünün en önemli rolü tampon taşmalarını (overflow)
ve boşluklarını (underflow) önlemektir. Tamponlama gereksinimleri kodlayıcı
değil de kod çözücü kurallarına göre tanımlanmıştır. Bu nedenden
dolayı tampon taşması kod çözücünün veriyi yeterince hızlı göndermemesinden
dolayı meydana gelir; mesela, sıkıştırma çok iyi olduğu vakitlerde.
Tersine kod çözücü veriyi çok hızlı gönderirse tampon boşluğu oluşur,
mesela, kodlama işleminde her resim için çok fazla veri olduğunda oluşur. Sistem
hedef kod çözücüsünde (STD) giriş biriminin bitleri (bir resim veya
ses giriş birimi) kod çözme zaman işreti
(Decoding Time Stamp - DTS) tarafından aniden tampondan atılır. Bit akışı
sunum zaman işareti (Presentation Time Stamp - PTS) da denilen bir
başka çeşit zaman işareti içerir. Tampon taşıması ve boşluğu DTS
tarafından, ses ve görüntü kod çözümündeki sekronizasyon da PTS
tarafından kontrol edilir. Bir görüntü dizisi içinde aynı noktalarda
DTS ve PTS birbirinin hemen hemen aynısıdır ve sadece PTS kullanılır. 2.1.2
Sistem Tabakası Sözdizimi
Bir
MPEG veri paketi paket başlığında tanımlanmış uzunluğa sahiptir.
Paket uzunlukları, dijital depolama veya dönüşüm ortamları ile uyumlu
olacak şekilde yapılandırılır. Bu yüzden, kodlayıcılar tarafından
oluşturulan ses ve görüntü giriş birimlerine ille de uymak zorunda değildir.
Her ne kadar bu böyle olsa da, bir paket sadece bir tip sıkıştırılmış
veri içerebilir. 2.2 MPEG SesMPEG
ses kodlama standardı karmaşıklığı ve öznel kaliteyi arttıran üç
tabaka[1]
tanımlar. 32, 44.1 ve 48 kHz örnekleme oranlarını destekler. 16 bit/örnek
oranında sıkıştırılmamış ses bilgisi yaklaşık olarak 1.5 Mbit/s
gerektirir. Sıkıştırma işleminden sonra mono kanallar için bit oranı
32 ve 192 Kbit/s; stereo kanallar için bit oranı 128 ve 384 Kbit/s arasında
olacaktır. MPEG
ses kodlama teknikleri insan duyuşundaki fizyoakustik niteliklerin
avantajlarını kullanır. Görünür desenleri incelemek için bir eşik değeri
olduğu gibi ses uyarıcılarını algılamak için de frekans bağımlı
bir eşik değeri vardır. Bir ses sinyal görünüşünün daha küçük
bir sinyalin algılanmasını örten, eş zamanlı maskeleme etkisi vardır.
Ses sinyallerinin hemen öncesi ve sonrasındaki maskeleme sinyalleri daha
az algılanabilir olduğundan bir geçici maskeleme etkisi de meydana gelir.
Tüm bu etkiler MPEG ses kodlama modellerinde iyi birer avantaj olarak
kullanılır. MPEG
ses sistemi ilk olarak ses bilgisini 384 örnek genişliğindeki pencerelere
ayırır. I ve II nolu tabakalar her pencereyi her biri yaklaşık olarak
750 Hz (48 kHz örnekleme oranında) genişliğe sahip olan 32 alt gruba ayrıştırmaya
yarayan filtreleme kümesi kullanır. Alt grup kodlaması için tipik
olarak, (her alt grup için örnekleme oranı 1.5 kHz ve her pencere için
12 örnek olduğu durumda) her alt grubun
büyük bir kısmı yok edilir. Her alt gruptaki global maskele eşik
değerini hesaplamak için ses girişinin hızlı
fourier dönüşümü (Fast Fourier Transform - FFT) alınır ve bu
noktada, gereken bit oranında en az işitilebilir ses bozulmasını (distorsiyon)
sağlayan üniform nicelendirici seçilir. I ve II numaralı tabakalar çoğunlukla
birbirlerine benzer. Fakat II numaralı tabaka, yüksek çözünürlüklü
FFT, daha iyi bir nicelendirme ve oran faktörlerini alt gruplara göndermek
için çok verimli bir yol kullanmasından dolayı daha yüksek
performanslara ulaşır. Nicelendirme
esnasında ortaya çıkan problemlerden biri ön-yankı'lardır
(pre-echo). Ön-yankılar keskin vurgulu bir sesin sessizlikten önce
gelmesi durumunda meydana çıkar. Sinyal yeniden inşa edildiği zaman,
nicelendirmeye dayalı olarak meydana gelen hatalar örnekleme bloklarının
üzerine dağıtılmaya yönelir. Bu suretle, gerçek sinyalden önce işitilebilir
bir distorsiyon meydana gelir. 2.3 MPEG GörüntüMPEG
Görüntü, özel olarak görüntü dizilerini sıkıştırmak için dizayn
edilmiştir. Bir görüntü dizisi basit olarak zaman içinde yakın aralıklarla
çekilmiş resimler serisinden oluşur. Sahnelerde özel durumlarda oluşan
farklılıklar haricinde, bu resimler birinden diğerine benzerlik arz eder.
Genel olarak bir sıkıştırma sistemi bu benzerliğin avantajlarından
yeterince yararlanabilmelidir. MPEG tarafından kullanılan sıkıştırma
teknikleri (sıkıştırma modelleri) bir görüntü dizisindeki
resimlerdeki benzerlik veya bir resimden diğerini tahmin edebilme
avantajlarından yararlanmaktadır. Dizi içindeki diğer resimlerden bilgi
alarak işlem yapan sıkıştırma teknikleri genellikle Çerçeveler Arası Teknikler (Interframe Techniques) olarak adlandırılır.
Sahnelerde
değişiklikler olduğu zaman (bazen başka nedenlerden dolayı) çerçeveler
arası sıkıştırma işlemi çalışmayacaktır ve sıkıştırma modeli
değiştirilmek zorunda kalınacaktır. Bu durumda sıkıştırma modeli,
resim içinde belirlenen bir bölgenin hemen yakınındaki bölgelerle olan
benzerlikleriyle oluşan avantajlardan yararlanacak şekilde yapılandırılmalıdır.
Sadece bir resim içindeki bilgiler kullanılarak yapılan sıkıştırma
tekniklerine genel olarak Çerçeve İçi Teknikler (Intraframe Techniques) denir. Bu
iki sıkıştırma tekniği (çerçeve içi ve çerçeveler arası), MPEG görüntü
sıkıştırma algoritmalarının kalbini oluşturur. Bunu yanında görüntü
yayın sistemlerinde kullanılan çerçeve
(frame) kavramı ile bir karışıklık olabilir. Bunun için MPEG kısaltılşmış
terimler olan inter ve intra terimlerini
kullanır. Ek olarak, MPEG çok sık olarak inter
yerine non-intra terimini kullanır. 2.3.1
MPEG Görüntü Tabakaları
MPEG
görüntü bit akışında en dıştaki tabaka görüntü dizi (video
sequence layer) tabakasıdır. MPEG sistem tabakasındaki bazı kritik
zamanlama bilgileri haricinde MPEG görüntü dizisi bit akışı tamamen
kendine hakim bir yapıdadır. Bu diğer görüntü ve ses bit akışlarından
bağımsızdır.
Şekil 2.3 -
Tipik Görüntüleme Sırasına Göre Resim Grubu
P
resimleri (Predictive-coded pictures), dizi içersindeki zamansal olarak önceki
I ve P resimlerinden tahminlerle elde edilirken, B resimleri (Bidirectionally
predictive-coded pictures) dizi içersindeki en yakın önceki veya sonraki
I v P resimlerinden tahminlerle elde edilir. B resimlerin değişik bölgelerinde
değişik tahminler kullanılabilir. Ve önceki veya sonraki resimlerin her
ikisinden de tahmin bildirebilir veya
hiçbirisinden de tahmin bildirmeyebilir. Benzer olarak, P resimleri de önceki
resimlerden tahmin bildirebilir veya hiç bildirmeyebilir. Eğer hiç tahmin
bildirilmezse resmin o bölgeleri çerçeve içi teknikler kullanılarak
kodlanır. Kapalı
bir resim grubu içersinde P ve B resimleri sadece grup içersindeki diğer
resimlerden tahminler bildirebilir; açık bir resim grubu içersinde ise
grup dışında bulunan resimlerden de tahminler bildirebilir. 2.3.2
Görüntü ve Kodlama Sırası
Şekil 2.4 - Tipik Kodlama Sırasına Göre Resim Grubu Şekil 2.5 -
MPEG Makrobloğu
2.3.3
Makroblok
MPEG
resimlerinin basit yapıtaşı olan makroblok
şekil 2.5’de gösterilmiştir. Makroblok, 16x16'lık basit dizilerinden
oluşan parlaklık (luminance-grayscale) örnekleriyle, her biri 8x8
bloklardan oluşan iki renk (chrominance-color) bileşenlerinden meydana
gelir. 16x16'lık basit parlaklık örnek dizileri 4 tane 8x8'lik örnek
blokları oluşturur ve bu 8x8'lik bloklar sıkıştırma modellerine
beslenen verinin birimleridir. Bunun nedeni kodlama modellerinin
gerekliliklerindendir. 2.3.4
Dilim (Slice)
Şekil 2.6 -
Bir MPEG Resminde Olası Dilim (Slice) Yapısı
2.3.5 Ayrık Kosinüs Dönüşümü (The Discrete Cosine Transform)MPEG'de Ayrık kosinüs dönüşümü (DCT), intra (çerçeve içi) ve
inter (çerçeveler arası) kodlama prensiplerinin merkez noktasıdır. Ayrık
kosinüs dönüşümü (DCT), kalite ölçme mekanizmalarının kurallarına
göre verimli bir kodlama ve kodlama modellerinin basitleştirilmesi için
bazı özellikler içerir.
Şekil 2.7 - 8x8'lik DCT'nin 64 adet 2 Boyutlu Kosinüs Fonksiyonu: Her
blok 8x8'lik örnekler dizisini temsil eder. Sıfır genlikler doğal gri,
negatif genlikler koyu yoğunlukta ve pozitif genlikler açık yoğunluktadır. 2.3.6
Nicelendirme (Quantization)
Ayrık
kosinüs dönüşümü (DCT), bir resim elemanı bloğu için hesaplanırsa
yüksek uzaysal frekansların katsayıları az doğrulukta temsil edilmesi
arzu edilir. Bu olay nicelendirme (Quantization)
denilen işlemle gerçekleştirilir. Bir ayrık kosinüs dönüşümü (DCT)
katsayısı, nicelendirme değeri
(quantization value) denilen sıfırdan farklı pozitif bir tamsayıya bölümüyle
ve bölümün -nicelendirilmiş ayrık kosinüs dönüşümü (DCT) katsayısı-
en yakın tamsayıya yuvarlanmasıyla oluşur. Büyük olanı nicelendirme
değeri (quantization value), küçük olanı doğruluk (precision) DCT
katsayısından elde edilir. Düşük-doğruluk katsayıları bir kod çözücüye
daha az bitlerle gönderilebilir. Yüksek uzaysal frekanslarda geniş
nicelendirme değerlerinin kullanılması, kodlayıcının insan gözünün
algılayamayacağı yüksek uzaysal frekans aktivitelerini seçmeli olarak görmezden
gelmesine izin verecektir. Ayrık
kosinüs dönüşümü (DCT) ve görsel olarak avantaj sağlayan DCT
nicelendirmesi MPEG kodlama sistemlerinin anahtar noktalarını oluşturmaktadır.
Daha
önce belirtildiği gibi, bir makroblok 4 tane 8x8'lik parlaklık (monochrome)
örneği bloklarının ve 2 tane 8x8'lik renk (chrominance) örneği bloklarının
bileşiminden oluşur. Renk (chrominance) örnekleri, renk görünüş
kurallarına veya verilen parlaklık yoğunluğunda kırmızı ve mavi'nin
yokluğuna göre temsil edilir. Bu 8x8'lik veri blokları DCT tarafından işlenen
birimlerdir. Renk (chrominance) bloklarında daha düşük çözünürlük
kullanılmıştır. Çünkü insan gözü parlaklıktaki (monochrome) yüksek
uzaysal frekansları renktekine (chrominance) oranla daha iyi çözer. Ayrık
kosinüs dönüşümü (DCT), veri sıkıştırmasının görünüşü
noktasında birkaç avantaj sağlar. İlk olarak intra (çerçeve içi)
kodlamada avantaj sağlar: ayrık kosinüs dönüşümü (DCT) katsayılarının
hemen hemen tamamı ilişkilendirilmemiştir - çünkü her biri bir diğerinden
bağımsızdır ve böylece bağımsız olarak kodlanabilirler. Bu olay
kodlama için nispeten basit bir algoritmayı (kodlama modeli) mümkün kılar.
Dekorelasyon (ilişkilendirmeme, bağlantıyı kesme), kodlama modelleri oluşturulması
kurallarında teorik ve pratik ilgi odağı olmuştur. Bununla beraber,
kodlama performansı görsel avantaj sağlayan nicelendirme tekniğinden çok
fazlasıyla etkilenmektedir. Çerçeveler
arası kodlamada (non-intra coding) -o anki resimle , henüz gönderilen
resim arasındaki farkın kodlanması- ayrık kosinüs dönüşümü (DCT),
henüz oldukça iyi bağımsızlaştırılmış benzer resimden tahmini
resmin çıkarılmasıyla fark sinyali elde edilene kadar dekorelasyonu
fazlaca geliştirmez. Bunun yanında nicelendirme metodu -dekorelasyon değeri
DCT tarafından fazlaca geliştirilmemişse- hala etkili bir sıkıştırma
yöntemidir. Pratik olarak, ayrık kosinüs dönüşümü (DCT), inter (çerçeve
içi) ve intra (çerçeveler arası) kodlama tekniklerinde epeyce iyi bir
sonuç vermektedir. 2.3.7
Hareket Kompanzasyonu (Motion Compensation)
Şekil 2.8 -
Hareket Kompanzasyonlu Kestirim ve Yeniden İnşa
Bit
akışının bir parçası olarak kod çözücüye iletilen makroblokların
hareketlerinin miktarını ve yönünü hareket vektörleri anlatır. Bundan
sonra kod çözücü referans resmin hangi alanlarının tahmin için kullanıldığını
bilir ve çıkışı sağlamak için kod çözülmüş farkı hareket
kompanzasyonlu tahminle toplar. Yeniden inşa edilmiş resim diğer
resimleri tahmin için kullanılacağı zaman kodlayıcı aynı prosedürü
izler. Kodlayıcının yeniden inşa işlemi için bazı zamanlar yerel kod çözme (local decoding) hareket kompanzasyonunun bir örneği
şekil 2.8’de görülmektedir. Hareket
vektörü ve uygun yatay ve dikey yer değiştirmeler ileri ve geri hareket
kompanzasyonu için gösterilmiştir. Vektörler makroblok içerisindeki her
resim elemanı için aynıdır ve vektör tahmini tam veya yarım doğruluktadır.
2.3.8
MPEG Kodlama Modelleri
Nicelendirilmiş
DCT katsayıları kayıpsız (losslessly)
olarak kodlanır ki kod çözücü tam olarak aynı değerleri inşa
edebilsin. MPEG için Huffman kodlamasına dayanan yaklaşık optimal
kodlama tekniği, bu görev için değişken uzunlukta kodların tablolarını
oluşturmak için kullanılmıştır. İyi bir kodlama verimi elde etmek için
değişken uzunluk kodları gereklidir.
Şekil 2.9 -
Katsayıların Zikzak Taramanma Sırası
DCT
(ayrık kosinüs dönüşümü) intra (çerçeve içi) ve nonintra (çerçeveler
arası) kodlamada kullanılır. Fakat iki kodlama ortamı içinde özellikler
oldukça farklıdır. Nonintra sıkıştırmada farklı nicelendirme
tabloları kullanılır ve yuvarlama işlemi farklı yapılır. Dönüştürülen
veri de oldukça farklıdır. Böylece farklı sembol kümeleri ve biraz
farklı kod tabloları kullanılmış olur. 2.3.9
Kodlayıcı Planlama Stratejileri
MPEG'in potansiyel olarak çok yüksek derecede asimetrik bir sistem olduğunu anlamak önemli bir noktadır. Kod çözücüler sadece bit akışı içinde kodlanmış talimatları izlediklerinden dolayı nispeten kolaydırlar. Buna karşın kodlayıcılar kod çözücülere oranla daha kompleks bir yapıya sahiptiler ve daha çok zekaya (intelligence) sahip olmalıdırlar. Kodlayıcılar, hareket içindeki alanları tanımalıdırlar, uygun hareket vektörlerini belirlemelidirler, bit oranını kontrol etmelidirler, tampon taşması veya boşluğu oluşmadığı durumlarda veri tamponlamasını kontrol etmelidirler, nicelendirmenin nerede değişeceğini belirlemeledirler, hangi bloğun basitçe tekrar edileceğini belirlemedirler, ne zaman intra veya nonintra tekniklerle kodlama yapılacağını belirlemelidirler ve bunun gibi çeşitli birçok parametre ve kararları verilen oranda kaliteyi artırmak için dinamik olarak belirlemelidirler. Muhtemelen kodlayıcı için planlama stratejisi çok kompleks olacaktır. [1] Bir dördüncü tip, D resimleri tanımlanmıştır fakat nadiren kullanılmaktadır. D resimleri düşük çözünürlüklerdeki bir sunumdur ve I, P ve B tipi resimlerle kombine şekilde kullanılmaz.
[1] MPEG standardı “tabaka” terimini iki farklı anlamda kullanır. Birincisi ses ve görüntü bit akışlarının MPEG sistemi için bölümlenmesi manasındaki tanımlayıcı terim, diğeri ise üç audio algoritmaları arasındaki ayrımı belirtmede kullanılan terimdir.
|