H.264 Video Standartı Hakkında Herşey

H.264 Video Standartı Hakkında Herşey

  


H.264 gibi modern video biçimleri HD filmlerden tutun da web videolarına varıncaya dek her alanda kullanabiliyor. H.264′ün performansı ve sunduğu özellikler, kodeklerin dinozoru MPEG2′inkinden çok daha iyi.

Apple’ın iPod videolarında, Adobe’nin Flash Player’da kullandığı, YouTube’da görmeye başladığımız, HDTV yayınlarında ve IPTV’de karşımıza çıkan H.264 adlı kodek, AVC (Advanced Video Coding) adıyla da biliniyor ve MPEG2′nin yerini alma yolunda hızla ilerliyor. Bu elbette şaşırtıcı değil, çünkü teknoloji cephesinde çok daha fazla şey sunabilen H.264, yüksek tanımlı filmler ve dijital TV’lerde, taşınabilir film oynatıcılarda ve web’deki düşük veri oranlarında bile kullanılabiliyor.

HD diskler söz konusu olduğunda, DVD’nin yerini almaya hazırlanan Blu-ray bir standart olarak kabul ediliyor. Blu-ray diskler için tasarlanmış üç adet kodek var, ama kazananın H.264 olacağı kesin gibi. Microsoft’un VC-1′i yaygınlık kazanmadı ve MPEG2′nin günleri de sayılı. Video kamera cephesine bir bakış atmak da aynı durumu görmek için yeterli. HD video kamera üreticileri HDV’den (MPEG2) AVCHD’ye (H.264) geceli çok oldu. DivX de bu gelişimlerden geri kalmıyor ve 7. sürümünde H.264′e geçiyor. Bu yüzden, bu sene içinde ucuz DVD çalarlarda da bu biçimin kullanılmaya başlanması büyük bir ihtimal.

Kodlayıcıların çalışma ilkeleri


H.264′ün video kodlamayı yeni baştan keşfettiğini söyleyemeyiz. Aslında H.264′le MPEG2′nin çalışma prensibi temelde ayni: Film, kullanılan standarda göre saniyede 24 ila 30 resimden (kareden) oluşan bir dizidir. Bir MPEG2 kodlayıcısı, bu resim dizisini GOP’lara (Group Of Pictures, yani resim grubu) böler ve genelde her bir GOP’ta 12 kare bulunur (sağdaki resme bakınız). Bir GOP’un ilk karesi ya da resmi, normal bir JPEG resmi gibi sıkıştırılır ve intra-frame (ara kare ya da I-Frame) adıyla anılır.

  


Bunun için kare her biri 16×16 piksel boyutunda makrobloklara bölünür. Kodlayıcı her bir makrobloğu YCrCb (YV12) renk uzayında dönüştürür (parlaklık, mavi, kırmızı).

Pikselin ayrı ayrı renk ve parlaklık değerlerini hesaplar. İnsan gözü parlaklıktaki değişiklikleri renk değişikliklerinden daha iyi fark ettiği için, parlaklığa daha büyük alan ayrılır. Kodlayıcı makrobloğun tüm değerlerinden (örneğin 16×16) yararlanır. Renkli kısımların her biri 8×8 değerler ile betimlenir.

Daha sonra kodlayıcı, pikselin parlaklık ve renk değerlerini frekanslara çevirir (dönüşüm – transformation) ve bunu basitleştirmek için de yüksek frekansları göz ardı eder (nicemleme – quantization).

Kodlayıcı I-Frame’den yola çıkarak hareket vektörlerini hesaplar (hareket tahmini). I-frame’leri iki yöntemden biriyle kodlar: P-frame’lerdeki (Predictive, yani tahmin amaçlı) makrobloklar referans görüntüsü olarak I-frame’leri ya da bir önceki P-Frame’leri kullanır. B-frame’lerdeki (Bi-predictive, yani çift tahminli) makrobloklar ise sadece kendinden önce gelen değil, sonra gelen I ya da P-frame’leri referans noktası olarak alabilir. B-frame’lerin avantajı, ileriki karelerden yararlanarak resmin tekrar görüntülenen kısımlarını hareket vektörleriyle tanımlayabilmeleri.

Bu yüzden aralarında en az yer kaplayan B-frame’ler. Yani bir kodlayıcı ne kadar fazla B-frame’e başvurursa, kodladığı filmin boyutunu o denli küçültebilir.

Vektörlerin yanı sıra, kodlayıcı P ve B-frame’lerdeki makroblokların frekansını da tıpkı bir I-frame’de (hareket tahmininde) olduğu gibi kaydeder. Ancak bunlar mutlak değerler değil de, hareket vektörünün esas aldığı referans bloğundan farklılık şeklinde saklanır.

H.264 kodlayıcı nasıl çalışıyor?


Kodlayıcı, filmi iki şekilde işleyebiliyor. Bir resim olarak kodlanan tahmininden ve telafiden geçmesi gerekiyor. Kare belleği, bunun makrobloklar doğrudan dönüşüme ve nicemlemeye gidiyor.Diğerlerinden derlenen bloklarınsa önce iç tahminden, hareket için gerekli referans bloklarını içeriyor. Resimde bu işlemin ayrıntısını bulabilirsiniz.

  


Daha küçük bloklar


Şimdiye kadar benzerlikler üzerinde durduk. Temel farklar ise frekansların dönüştürülmesi etabında MPEG2 ile H.264′ü karşılaştırdığımız vakit ortaya çıkıyor. Bir MPEG2 kodlayıcısı makroblokları dört adet 8×8 bloğa böler ve bunun için bir DCT (Discrete Cosinus Transformation – Ayrık Kosinüs Dönüşümü) uygular. Bu da bir frekans dağılımı sağlar. Büyük yüzeyler düşük frekansla, ince ayrıntılar ise yüksek frekansla gösterilir. Blok, dönüşüm sonrasında bir matris haline gelir. Bu matriste en sol üst köşedeki değer, yani DC (Direct Current – Doğru Akım) Katsayısı olarak anılır ve hem en düşük frekansı hem de bloğun ortalama parlaklık değerini gösterir. Yan yana olan blokların DC katsayıları arasında büyük bir benzerlik bulunduğundan kodlayıcı yine bunu mutlak bir değer değil de, bir önceki değerden farklılık şeklinde saklar.

Geri kalan katsayılar ise mutlak değerler şeklinde belirlenir ve böylece en ince ayrıntıların yüksek frekansları matrisin sağ alt kısmında yer alır. Gözün yüksek frekanslardaki parlaklık ve renk tonu değerlerini algılaması güç olduğundan bunlar daha büyük bir oranda kırpılıp atılabilir. H.264 *se DCT’den ayrılıyor ve yüksek profilde, 4×4 ya da hatta 8×8 blokların dönüşümünde tamsayı dönüşümünü kullanıyor. 4×4 dönüşüme geçmek zorunlu, zira ara ve iç karelerin hesaplanmasında H.264, MPEG2′nin aksine bazen 4×4 bloklardan faydalanıyor. Küçük bloklar, özellikle de karenin o kısmında çok şey gerçekleşiyorsa büyük fayda sağlıyor. İzole nesneler daha iyi görüntüleniyor ve düşük oranlarda kodlanmış filmlerde karsımıza çıkan, nesne ile arka plan arasındaki hale etkisi ortadan kalkıyor. Geçişin bir avantajı daha var: H.264′teki tamsayı dönüşümü, frekans bölümlerinin DCT’de olduğundan daha doğru şekilde gösterilmesini sağlıyor.

Esnek boyutlar


Bir sonraki aşama olan nicemlemede veri boyutu küçültülüyor. İdeal olarak bir kodlayıcı frekans değerlerini insan algısına göre öyle bir ayarlar ki, düşük frekanslar korunurken yüksek frekanslar mümkün olduğunca atılır. Bunun için, bloğun üstüne bir nicemleme matrisi (quantization matrix) konur.

Bu durumda, MPEG2 kodlayıcısı bireysel frekans değerlerini nicemleme matrisinden denk düşen parametreleri kullanarak böler.Çoğu zaman, yüksek frekanslar işlem sırasında sıfırlanır.

Diğer yandan, H.264 kodlayıcısı değerleri matris parametrelerine bölmek yerine ekleme ve çıkarma işleminden faydalanır. Böylece, H.264′ün nicemleme hesabında yuvarlama hatasına rastlanmaz. H.264, nicemleme parametreleri için toplam 51 farklı değere sahip.

Ama bunlar MPEG2′deki gibi eşit şekilde değil, logaritmik ölçekle artıyor. Bu da düşük frekanslarda, yüksek frekanslardan daha isabetli olduğunu ve insan gözünün algısına daha uygun işlediğini gösteriyor.

H.264, 8×8 ve 4×4 blok boylarını desteklediğinden, iki çözünürlük için de kodlayıcının bir nicemleme matrisine ihtiyacı oluyor. Bu da toplamda dört matris ediyor, zira ara kareler gibi, iç kareler için de ayrı matrise gereksinim var. Bunun nedeni, iç karelerin diferansiyel değerlerinin daha çok sıkıştırılabilmesi. Böylelikle, nicemleme parametreleri ara karelerde çok daha yüksek oluyor.

H.264′ün standart matrisi farklı bit oranlarında bile iyi kalite sunuyor. Bununla beraber, deneyimli bir kullanıcı, mesela Blu-ray’in yüksek bit oranları için kendi geliştirdiği matrisi kullanabilir. Matris, kodlanmış filmin içinde saklandığından, kod çözücü oynatma sırasında ters nicemlemeyi başarıyla yapabiliyor.

Bu, veri azaltımının büyük kısmını oluşturduğu için abartılı değerler düşük görüntü kalitesine ya da blok önleme filtresinin farklı ayarlanması gibi düzeltmelere (sağ taraftaki blok önleme filtresi başlığına bakınız) ihtiyaç duyabiliyor.

  



Etkili sıkıştırma


Bir MPEG2 kodlayıcısının I-frame’le olan işi, DCT ve nicemleme işleminden sonra biter. H.264 ise kareleri daha da sıkıştıran mekansal tahmin (spatial prediction) yöntemini kullanıyor. Tıpkı MPEG2 ya da JPEG’deki DC katsayıları gibi, tüm değerler bu şekilde bitişik bloklardan farklılıklar olarak tanımlanabiliyor. Kodlayıcı bir kareyi kodlamaya daima sol üst köşeden başladığı için, o ana kadar işlenmiş olan bloklar referans kabul ediliyor.

Eğer düzgün bir yüzey betimlenecekse, o zaman parlaklık ve renk değerleri aynıdır. Durum böyleyse, kodlayıcı, bir bloğun frekanslarını onun solundaki ya da yukarısın-daki komşusundan alabiliyor. Nicemleme-den sonra hiçbir değer sıfır olarak kabul edilmiyor, ki böyle olsaydı sıkıştırma en iyi şekilde gerçekleşebilirdi. Yine de, parlaklık ve renk tamamen aynı olmasa bile farkı anlamak mümkün değil ve bunlar mutlak değerlerden çok daha iyi şekilde sıkıştırılabiliyor.

H.264 ayrıntılı resimlerde mekan tahmininde iç kareler için esnek blok boyutuna izin veriyor. Mekansal tahminde kodlayıcı 16×16, 4×4 ve yüksek profilde 8×8 boyutunu seçebiliyor.

Artan olasılıklar


Ara kodlamanın ana amaçlarından biri hareket vektörü kullanırken bir karenin olabildiğince fazla makrobloğunu betimlemek. Bunun yöntemlerinden biri, kareler konusunda esnek davranmak. Bu yüzden de H.264 sadece MPEG2 gibi P ve B frame’lerle çalışmakla kalmıyor, aynı zamanda katı olmayan bir GOP yapısı sunuyor. Kodlayıcı diğer B-frame’lerden (B-piramitleri) B-frame oluşturabiliyor ve bir karenin hareket vektörlerini başka karelerin makrobloklarına uygulayabiliyor (multiframe prediction, yani çoklu kare tahmini).

Bu şekilde, Blu-ray profilleri için, ücretsiz X264 kodekinde öntanımlı üç referans karesi ve ticari MainConcept kodlayıcısında (sağdaki kutuya bakınız) dört referans karesi kullanılabiliyor. Bu teknolojilerin hiçbiri MPEG2′de yok.

Bir P-frame’in makroblokları en son I-frame’in P-frame’lerinden de oluşturula-bildiği için, H.264′te yeni bir kare çeşidi, yani IDR-frame kullanılıyor. Bu, aslında bir I-frame ama takip eden P ve B-frame’leri zaman sıralamasında kendilerinden önce olan kareleri referans alamıyor.Böylece, açık kaynak kodlu X264 kodlayıcısı bir IDR frame’e yaklaşık 10 saniye aralıkla ortalama 250 ila 300 kare bağlıyor. Bununla birlikte kodlayıcı IDR frame’i sabit bir aralıkla değil, sahne değişimlerinde oluşturuyor. Eğer bir video düzenleme yazılımı kameradan AVCHD akışı aldıysa, bunu yeniden kodlamaya başvurmadan sadece IDR üzerinde düzenleyebiliyor. Bundan daha iyisi mümkün değil. Dahası, ara kodlama için H.264 farklı blok boyutları kullanıyor.

Bu aralık tıpkı iç kodlamada olduğu gibi ı6xı6′dan 4x4e kadar uzanıyor, ama 16×8 ya da 8x4e de izin veriyor. Her bloğun bir hareket vektörü olduğu için (B-frame’lerin iki vektörü bile olabiliyor – Bi-predictive) kodlayıcı, görüntüdeki küçük ayrıntıları esnek görüntü boyutu ve çoklu referans kareleri kullanarak koruyabiliyor ve vektörleri kullanarak daha çok görüntü içeriği tanımlayabiliyor. Unutmamalıyız ki, MPEG2′de hareket vektörlerinin kesinliği en fazla yarım pikselken, H.264′te çeyrek piksel mümkün.

  


Kopyalanan vektörler


Aslında hareket vektörü yanlış bir kullanım, zira bu vektörler aslında bir hareketi tanımlamıyor; sadece komşu karedeki farklı bir bloğa işaret ediyor.Bir vektör toplamda üç değer içeriyor:Mekan koordinatları (iki adet) ve referans karesinin liste numarası. Bir P-frame’de ise H.264 kodlayıcı sadece olası referans karelerinin bir listesine (Listo) ihtiyaç duyuyor; bir başka deyişle, çoklu kare tahmini yüzünden her bir blok için.

Prosedür B-frame’ler söz konusu olduğunda biraz daha karmaşık, çünkü burada blok başına iki vektöre izin veriliyor. Bu yüzden, kodlayıcı da iki liste kullanıyor. Listo son kareyle başlayıp kronolojik olarak geriye gidiyor. Listı ise bir sonraki kareden başlayıp kronolojik olarak ileri gidiyor. Böylece kodlayıcının bir B-frame’deki vektörü görüntülemek için dört farklı kipi oluyor: Listo ya da Listı’den sadece birer referans karesi, çift tahminli ve doğrudan (sol alttaki kutuya bakınız).

Çift tahmin kipinde kodlayıcı her seferinde Listo ve Listı karelerinden bir referans bloğunu adresliyor. Sonra da iki bloğun değerlerinin ortalamasını alıp diferansiyel görüntüyü bundan hareketle hesaplıyor.Kodlayıcının doğrudan kipte hareket vektörlerini değil de sadece referans karelerinin numaralarını kaydetmesi yeterli. Za-mansal doğrudan kipteyse blok, referans karesinde aynı koordinatlara ayarlanmış olan bloğun hareket vektörünü “miras” alıyor. Oynatım sırasında kod çözücünün eklemesi gereken tek şey kareler arasındaki boşluk. Mekansal doğrudan kipte ise blok komşu blokların hareket vektörünü devralıyor.

H.264′teki bir diğer yenilik ise ağırlıklı tahmin (weighted prediction). Bu sayede her referans bloğuna parlaklık ve renkteki değişimler için ek bir faktör verilebiliyor. Bu da fade-in (solma) ve fade to black (kararma) sırasında yer tasarrufu sağlıyor çünkü görüntü içeriği değişmezken değişen tek şey parlaklık oluyor. Diğer yandan, B-frame’lerdeki ağırlıklı tahmin özellikle çapraz geçişler için uygun.

Bunun sebebi, zaman sırası bakımından önce ve sonra olan referans bloklarının burada adreslenmesi.Ne var ki kodlayıcı içeriği bir önceki kareden alırken P ve B-frame’lerdeki makroblokları atlayarak saklıyor. Kodlayıcı, arkaplanın uzun süre değişmediği durağan sahnelerde “atlamalı” türden makroblokları kullanıyor.

Mükemmel görüntü


Bir kodlayıcının, özellikle düşük bit hızlarında yüksek nicemleme parametreleri kullanması şarttır. Bu yüzden çoğu değer sıfıra düşer ve renk ve parlaklık başına tek bir değer kalır. Orijinal filmdeki renk geçişleri yerine, kodlanmış sahnede birbirinin aynı bloklar görülür. Bu, film izleme keyfini de olumsuz yönde etkiler.MPEG2′nin aksine H.264 bu durumu bloklama önleme filtresiyle giderebiliyor. Bu filtre, filmin oynatılması sırasında kod çözücü tarafından kullanılıyor ve şu koşullara bağlı olarak derecesi belirleniyor: Eğer nicemleme parametreleri küçükse, etki zayıf oluyor ya da göz ardı ediliyor. Aynı şekilde, parametreler yüksekse etki de o denli güçlü oluyor.

Blok önleme filtresi kodlama sırasında da çalışıyor (grafiğe bakınız): Birçok kare diğerleri için referans olarak kullanılıyor. Bu yüzden, bir kodlayıcı bir kareyi daha sonra vektör çıkarma amacıyla kullanmadan önce bloklama filtresinden geçiriyor.Kullanıcılar kodlama için blok önleme filtresinin en önemli iki parametresini belirleyebiliyor: Bunlardan alfa değeri, belirlenen filtrenin kuvvetini ayarılıyor. Beta de-ğeriyse blok saptamayı düzenliyor, örneğin, filtrenin bir nesne ya da bir görüntü detayı değil de blok olarak belirlenme eşiğini.

Tıpkı Blu-ray’de olduğu gibi, yeterli bit hızı mevcutsa filtreyi biraz azaltmak faydalı oluyor. Bu sayede resimlerde daha çok detay korunuyor.

Bir H.264 kodlayıcının, video filmleri dönüştürmek için bolca seçeneği var. Kodlayıcının, sonucu doğrudan etkileyen birçok karar vermesi gerekiyor. Bir B-frame’in blok boyutunu seçerken, makroblok başına bile birçok seçenek düşüyor. Ayrıca, blok boyutu, hareket vektörlerinin ve referans karelerinin sayısı gibi başka faktörleri de etkiliyor.

RDO (rate-distortion optimization, yani oran bozulma iyileştirmesi) bir nevi kalite denetimi rolü oynuyor ve sıkıştırmayı artırma uğruna görüntü kalitesinden ödün veren seçeneklerin gerekli olup olmadığını söylüyor.Bir de bunun aksine, daha iyi görüntü kalitesi sunan bir özelliğin kodlanmış akışta çok fazla yer kaplayıp kaplamadığına da karar vermesi gerekiyor. Bunun nedeni, kodlayıcının bir hedef dosya boyutuna ya da Blu-ray için maksimum bit oranı olan 40 MBit/sn gibi bir başka parametreye uymak zorunda oluşu.

RDO, kodlanmış karenin orijinaliyle arasındaki görüntü kalitesi farkının matematiksel tanımını veren PSNR (Peak signal to noise ratio) üzerine kurulu. Bu yaklaşım “aslına bağlılığı” ölçüyor ama sonucu belirleyen asıl etmen olan öznel değerlendirme konusunda bir şey söylemiyor.

Standart dışı olsalar da, kodlayıcının faydalanabileceği başka düzeltme mekanizmaları da var. Adaptive Quantization (AQ ya da Uyarlamalı Nicemleme) hem açık kodlu X264 kodlayıcıya hem de MainConcept’e yeni eklenen bir özellik. H.264 bazı nesneleri, örneğin karanlık sahneleri ve mavi göğü gereğinden fazla sıkıştırıyor. Kodlayıcı renk geçişlerini basitleştiriyor ve bu da çok kaba, çok fark edilir şerit oluşumuna yol açıyor. AQ, gereken bloklar için nicemleme parametresini düşürerek bu duruma çözüm bulmayı amaçlıyor. Ne var ki bu, bit hızının daha büyük kısmının harcanması anlamına geliyor.

X264′e ekleneceği söylenen bir diğer benzer özellik ise görüntü hatasının gözü rahatsız edip etmediğini değerlendiren psikogörsel bir yöntem olan PSyRDO. Burada asıl nokta, güçlü blok oluşumu pahasına görüntünün ince ayrıntıları koruması. İnsan gözü için böyle bir görüntü, görünürde hiçbir hatası olmayan ama ayrıntılardan yoksun bir görüntüden daha “gerçek”.

  


H.264, entropi kodlama, yani verilerin kodlama işleminin sonunda paketlenmesi için birkaç yönteme sahip. Temel profilde H.264 kendini optimize ve değişken çalışma süresi kodlamasına, yani aslında film verileri için geliştirilmiş bir sıkıştırma prosedürü olan CAVLC’ye (Bağlama Uyumlu Değişken Uzunluklu Kodlama). CABAC (Bağlam temelli Uyarlamalı İkili Aritmetik Kodlama) daha iyi sıkıştırmayı garantilese de daha çok işlem gücü gerektirdiği için sadece yüksek profilde standart.

CABAC kodlayıcı işini üç adımda görüyor: İkilileştirme, nicemle-meden geçmiş sayısal değeri ve hareket vektörlerini ikili koda, yani o ve ı’lerden oluşan bir diziye çeviriyor. İkinci adımda kodlayıcı 400 seçenek arasından uygun düşen bir olasılık modeli belirliyor. Üçüncü aşamada, yani aritmetik kodlamada, kodlayıcı bir dizi ikili değeri alıp modeli kullanarak olasılığı hesaplıyor ve o ya da 1 sonucunu veriyor. CABAC’ın sıkıştırma performansı ortalamada CAVLC’den %15 daha yüksek. Eğer benzer değerler varsa verimlilik oranı daha da artıyor. Bir video kodlayıcının becerisi, frekanslardan hareketle mümkün olabildiğince fazla parlaklık ve renk değeri ya da hareket vektörleri kullanarak pratikte neredeyse sıfıra yakın birçok küçük değer üretmesinde yatıyor.

Bunun için de görüntü kalitesinden fedakarlık etmeden orijinalin karmaşıklığı azaltılmalı. En ideal durum, kullanıcının iki görüntü arasında fark görememesi. Mevcut video kodekleri arasında bunun hakkını veren tek video kodek şu anda H.264.

H.264 standardına göre kodlama


H.264 standardı bir kodlayıcının kullanabileceği özellikleri belirleyen farklı profillere ve düzeylere bölünmüş. Temel, ana ve yüksek profil günlük kullanım için önem taşıyor. Temel profil web videoları ve iPhone ya da PSP gibi taşınabilir aygıtlar için. Kaynağın kısıtlı olduğu gösterim çabalarının bir sonucu olarak geliştirildiğinden, B-frame’ler gibi önemli özelliklerden tümüyle yoksun. Ana profil ise YouTube’da ve hatta 720p çözünürlüklü kaliteli videolarda görülüyor. Yüksek profil ise AVCHD biçiminde kayıt yapan HD video kameralarda ve Blu-ray’de kullanılıyor. Amacı maksimum görüntü kalitesi olan profil, H.264 özelliklerinin neredeyse tümünü destekliyor.

BLU-RAY UYUMLU AKIŞLAR:


Profillerin dışında, düzeyler bile H.264 standardında önceden saptanmış. Bunlar maksimum bit hızını belirliyor, örneğin, 4.0 için 25 MBit/sn. Blu-ray, yüksek profil düzey 4.1′i kullanıyor. Bir kodlayıcı, bununla uyumlu olmasa bile dikkate almak zorunda. Dahası, DPB (Kodu çözülmüş görüntü ara-belleği) değerini de doğru olarak belirtmeli. X264′ün izin verdiği en yüksek değer 40.000 KBit ama Sony kendi Blu-ray’lerinde sadece 30.000 Kbit kullanıyor.
DPB, kod çözücünün dahili deposu ve tüm referans karelerini saklayacak boyutta olmalı. DPB boyutu yazılımsal oynatıcılar için fark etmese de donanımsal oynatıcılar için çok önemli.

X264ÜN SORUNLARI:


Eskiden x264′le kodlanmış 1.080 piksel çözünürlüklü filmlerin büyük kısmı BD oynatıcılarda çalışmıyordu, çünkü kodlayıcı, video akışına gömülü olan DPB değerini çok yüksek olarak belirliyordu. Bununla birlikte, MeGUl adlı ücretsiz yazılımda artık x264′le çalışan işlevsel bir BD profili bulunuyor (http://sourceforge.net/projects/ megui). Ne var ki x264 un “bpyramid” komutuyla da sorunları var. Komut, B-frame’lerin başka B-frame’lerden oluşturulmasına olanak tanıyor. Bu da DPB’de daha fazla kare sayısı gerektiği anlamına geliyor. Belirtilen DPB değeri böylece aşılıyor. Sonuç: DPB’ye bakan donanımsal oynatıcılar bu akışı çalamıyor. Videolarınızı BD uyumlu olmasını istiyorsanız, hata bir yamayla düzeltilene kadar x264′te bu özelliği kullanmamalısınız.

HDTV

Çoğu zaman 720p dosyası olarak sunulan HDTV kayıtları x264′le sıkıştırılmış oluyor.Bunlar da BD uyumlu değil, çünkü 5.1 profili normalde başlık kısmında bildiriliyor. X264, eğer kodlayıcı sadece çıktı kalitesine ayarlıysa bunu otomatikman kullanıyor. Bu yüzden video başlığının önce H264lnfo gibi bir araçla düzenlenip (http://batchccews.sourceforge.net) profilinin 4.1′e getirilmesi gerekiyor ki BD oynatıcı bu akışı kabul edebilsin. Daha sonra bu akışlar bir BD’ye kaydedilebiliyor. B-pyramid o kadar da önemli değil çünkü 720p kareleri daha küçük olduğundan azami DPB değerini aşmıyor.
 KAYITLARINA DİKKAT:
Chip dergisinen alıntıdır.
Google+'da Paylaş

Hakkında RedkitToledo

    Blogger Yorumları
    Facebook Yorumları

0 yorum:

Yorum Gönder