video codec, görüntüyü sıkıştırıp açarak dosyanın ve akışın taşınmasını sağlayan kodlama yöntemidir. sıkıştırma oranı yükseldikçe veri kullanımı azalabilir; karşılığında kalite, işlem gücü ve gecikme hesabı devreye girer.
10 entry
video codec
video codec seçimi, görüntü kadar oynatılacağı cihazı ve bağlantıyı da hesaba katar; en güzel dosya oynatıcıda açılmıyorsa dijital vitrinde unutulmuş pastadır.
codec görüntüyü sıkıştırıp açan yöntemdir; kapsayıcı biçim görüntü, ses ve altyazıyı birlikte taşır. aynı codec farklı kapsayıcılarda bulunabilir. bu yüzden oynatıcı uyumluluğu yalnız dosya uzantısına bakılarak anlaşılmaz.
codec ve ayarları görüntünün bozulma biçimini de seçer. hareketli sahnelerde bloklaşma, ince dokularda çamurlaşma ya da hızlı geçişlerde iz bırakma görülebilir; kurgu sırasında tekrar tekrar sıkıştırmak bu izleri büyütür.
bence kurgu masasında codec seçiminin faturası zaman çizelgesinde çıkar: kare kare ilerlemek sürünüyorsa depoda kazanılan alan pek teselli etmiyor.
video codec'lerde her kare bütünüyle saklanmayabilir. bazı kareler referans alınır, aradaki kareler ise önceki görüntüye göre değişen bölgeleri taşır; oynatıcı yeni bir noktaya giderken yakındaki referans kareden başlayıp aradaki farkları kurar. bu yüzden kaydırma çubuğunda her saniyeye atlamak aynı hızda olmayabilir, kurgu yazılımında da kare kare çalışmak codec seçimine göre değişebilir. bir videonun ortasına tıklayınca neden bazen önce kısa bir bekleme görünüyor?
codec seçiminde bitrate kadar çözümleme donanımı da önemlidir; eski cihazda teorik verimlilik, oynatıcıyı emekli daktiloya çevirir.
b-kareleri, görüntüde göründükleri sırayla çözülmek zorunda değildir; geçmişteki ve gelecekteki referans karelerini kullanabildikleri için dosyanın çözülme sırası ile ekrana geliş sırası ayrılır. oynatıcı önce gerekli kareleri hazırlar, sonra zaman damgasına göre gösterir. bu düzen sıkıştırmayı iyileştirebilir ama canlı yayında gecikme, kurgu sırasında da kareye atlama hesabı getirir. ekranda gördüğümüz sıra dosyanın içindeki sıra mı?
hareketli görüntüyü daha az veriyle taşıyan kodlama düzenlerinde, sıkıştırmanın görüntüyü nasıl kaybettiğini anlamak için quantization (dönüşüm katsayılarını daha kaba aralıklara yuvarlama) terimine bakmak gerekir. birçok codec kareyi küçük bloklara ayırıp parlaklık ve renk değişimlerini matematiksel bileşenlere dönüştürür; gözün daha az seçtiği ince ayrıntılar daha seyrek temsil edilebilir. çözücü bu katsayılardan görüntüyü kurar, fakat yuvarlanmış ayrıntıyı geri getiremez. blok sınırları, ince çizgilerde titreşim ve hareketli dokularda çamurlaşma, verinin hangi aşamada atıldığının izleridir.
bit hızı (bitrate, saniye başına ayrılan veri miktarı) sabit bir kalite düğmesi değildir. rate control (bit hızı denetimi), sahnenin karmaşıklığına göre quantization'ı ve kareler arası tahmini ayarlar. düz bir duvar az veri ister; yapraklı ağaç ya da ince tel örgü aynı bütçeyi hızla tüketir. aynı ortalama bitrate ile kodlanan iki video bu yüzden farklı bozulabilir. renk örnekleme (renk bilgisini parlaklığa göre daha düşük çözünürlükte saklama) de küçük yazıların ve renk kenarlarının neden yumuşadığını açıklar.
neden önemli: teslimat codec'inde zaten yuvarlanmış görüntüyü açıp yeniden kaydetmek, yeni kaybı eski kaybın üzerine bindirir. kurgu için hızlı kare erişimi gerektiğinde daha çok bağımsız kare ve daha kısa kareler arası tahmin zinciri seçilebilir; dosya büyür ama kesme ve arama kolaylaşır. dağıtımda daha uzun zincir ve daha kaba quantization daha küçük dosya sağlar; karşılığında çözümleme yükü, gecikme ve hareketli sahnelerde artefakt (kodlama kaynaklı görüntü bozulması) görülür.
bir kare için oynatma çizelgesinde gösterileceği zaman ile çözücünün o kareyi hazırlaması gereken zaman farklıdır; video codec'lerde bunlar zaman damgası (presentation timestamp, bir karenin oynatma çizelgesinde gösterileceği zaman) ve çözme zamanı (decode timestamp, çözücünün o kareyi hazırlaması gereken zaman) olarak ayrılır. b-kareleri (iki yöndeki referans karelerini kullanabilen ara kareler) dosyada önce çözülebilir, ekranda ise daha sonra gösterilebilir. bu iki sıra karıştırılırsa akış oynar ama ses-görüntü senkronu kayar veya kaydırma sırasında yanlış kare görünür.
değişken kare hızı (variable frame rate, ardışık karelerin eşit zaman aralıklarıyla gelmemesi) bu ayrımı daha görünür kılar. bazı telefon kayıtlarında kamera dururken daha seyrek, hareket veya ışık değişirken daha sık kare kaydedilebilir. oynatıcı kareleri yalnızca saymaz; zaman damgalarını izleyerek sıradaki görüntüyü seçer. kurgu yazılımı bu bilgiyi yok sayıp videoyu sabit kare hızına zorladığında bazı kareler tekrarlanabilir, atılabilir veya ses parçasına göre yeniden hizalanabilir.
neden önemli: kapsayıcı (container, görüntü, ses ve zaman bilgisini birlikte taşıyan dosya düzeni) içindeki zaman tablosu bozuksa hızlı ileri sarma, kesme noktası ve altyazı eşleşmesi ayrı ayrı sorun çıkarabilir. çıktı dosyasını sabit kare hızına dönüştürürken yalnız görüntüyü yeniden kodlamak yetmez; ses, karelerin yeni zamanlarına göre yeniden yazılmalıdır. burası bende açık değil: her kurgu yazılımının değişken kare hızını hangi ara biçime çevirdiği sürüme göre değişiyor.