İçerikler

AV1 Nedir?

İçerikler

AV1 Nedir?

Günümüzde video içeriği tüketimi giderek artmakta ve yüksek çözünürlüklü (4K, 8K) içerikler yaygınlaşmaktadır. Bu durum, daha etkili video sıkıştırma teknolojilerine olan ihtiyacı artırmıştır. AV1 (AOMedia Video 1), bu ihtiyaca cevap vermek üzere geliştirilen açık kaynaklı ve royalty-free bir video kodek standardıdır.

Neden AV1’e İhtiyaç Duyduk?

H.264/AVC ve H.265/HEVC gibi önceki codec’ler, artan video kalitesi ve çözünürlük taleplerine karşı yetersiz veya bu codec’lerin lisans ücretleri, özellikle büyük ölçekli video dağıtımı yapan şirketler için önemli bir maliyet oluşturmaktaydı. AV1, hem daha yüksek sıkıştırma oranları sunmak hem de açık ve ücretsiz bir alternatif oluşturmak amacıyla geliştirilmiştir.

AV1 Nasıl Çalışır?

AV1, temel olarak blok-tabanlı ve hibrit bir video codec’idir. Kodlama ve çözümleme süreçleri şu adımları içerir:

  1. Bölümleme
  2. Tahminleme
  3. Dönüşüm ve Niceleme
  4. Entropi Kodlama

Bölümleme (Partitioning)

AV1, oldukça esnek bir bölümleme yapısı kullanır:

  • Süper Bloklar: 128x128 piksel boyutunda
  • Kodlama Blokları: 4x4’ten 128x128’e kadar değişen boyutlarda
  • Recursive yapı: Süper bloklar, içeriğe göre adaptif olarak daha küçük bloklara bölünebilir
AV1 Bölümleme Yapısı
*Şekil 1: AV1 Bölümleme Yapısı*

Tahminleme (Prediction)

AV1 codec’inin en önemli bileşenlerinden biri olan prediction (tahminleme) mekanizmaları, video sıkıştırma verimliliğini büyük ölçüde etkiler. AV1, önceki codec’lere göre daha gelişmiş ve çeşitli tahminleme yöntemleri sunar. Bu tahminleme yöntemleri iki ana kategoriye ayrılır: Intra Prediction (çerçeve içi tahminleme) ve Inter Prediction (çerçeveler arası tahminleme). Ayrıca, AV1 chroma ve luma bileşenleri için özel tahminleme teknikleri kullanır.

1. Intra Prediction (Çerçeve İçi Tahminleme)

Intra prediction, mevcut çerçevenin içindeki piksel değerlerini kullanarak tahminleme yapar. AV1, intra prediction için geniş bir yelpazede mod sunar.

1.1. Açısal Modlar

AV1, toplam 56 açısal intra prediction modu sunar. Bu, H.265/HEVC’nin 33 moduna kıyasla önemli bir artıştır.

  • Modlar, 45 derecelik açılardan başlayarak 3-4 derecelik artışlarla ilerler.
  • Bu ince açı aralıkları, özellikle karmaşık dokuları olan görüntülerde daha doğru tahminler yapılmasını sağlar.
AV1 Intra Prediction Açısal Modları
*Şekil 2: AV1'in 56 açısal intra prediction modu*
1.2. Düzlemsel (Planar) Mod

Düzlemsel mod, blok içindeki piksellerin düzgün bir geçiş oluşturduğu varsayımına dayanır. Bu mod, özellikle kademeli renk değişimleri olan alanlarda etkilidir.

1.3. DC Modu

DC modu, bloğun etrafındaki piksellerin ortalamasını alarak tahmin yapar. Bu, düz ve tek renkli alanlarda kullanışlıdır.

1.4. Palet Modu

AV1, sınırlı renk paletine sahip içerikler için özel bir palet modu sunar. Bu mod:

  • Blok içindeki benzersiz renkleri belirler.
  • Bu renkleri bir palete kaydeder.
  • Her piksel için palet indeksini kodlar.

Palet modu, özellikle ekran paylaşımı ve bazı animasyon türleri için çok etkilidir.

1.5. Smooth Prediction Modları

AV1, düzgün geçişler için özel olarak tasarlanmış smooth prediction modları sunar:

  • Smooth Vertical
  • Smooth Horizontal
  • Smooth

Bu modlar, kademeli renk değişimleri olan alanlarda etkilidir.

2. Inter Prediction (Çerçeveler Arası Tahminleme)

Inter prediction, önceki veya sonraki çerçevelerdeki bilgileri kullanarak mevcut çerçeveyi tahmin eder. AV1, bu alanda da çeşitli yenilikler sunar.

2.1. Gelişmiş Hareket Vektörü Tahmini

AV1, hareket vektörlerini tahmin etmek için gelişmiş algoritmalar kullanır:

  • Komşu blokların hareket vektörlerini analiz eder.
  • Önceki çerçevelerdeki hareket paternlerini inceler.
  • Bu bilgileri kullanarak mevcut blok için en olası hareket vektörünü tahmin eder.
2.2. Compound Prediction (Bileşik Tahminleme)

AV1, tek bir blok için birden fazla referans çerçeve kullanabilir:

  • İki farklı referans çerçeveden gelen tahminleri birleştirir.
  • Ağırlıklı ortalama, mesafe ağırlıklı bileşik ve diğer karmaşık birleştirme yöntemleri kullanır.
2.3. Warped Motion Compensation (Çarpık Hareket Dengeleme)

Bu özellik, kamera hareketleri veya nesne dönüşleri gibi karmaşık hareketleri modellemek için kullanılır:

  • Affine dönüşümler kullanarak hareket modelini tahmin eder.
  • Global ve lokal hareket modellerini destekler.
  • Özellikle pan, zoom ve rotasyon içeren sahnelerde etkilidir.
2.4. Overlapped Block Motion Compensation (OBMC)

OBMC, blok sınırlarındaki keskin geçişleri yumuşatmak için kullanılır:

  • Komşu blokların hareket vektörlerini dikkate alır.
  • Blok sınırlarında daha yumuşak geçişler sağlar.
  • Blok artefaktlarını azaltır.
2.5. Çoklu Referans Çerçeve

AV1, bir blok için birden fazla referans çerçeve kullanabilir:

  • Uzak geçmiş çerçeveleri referans olarak kullanabilir.
  • Bu, periyodik hareketleri olan sahnelerde özellikle faydalıdır.

3. Adaptive Prediction Mode Selection

AV1, her blok için en uygun tahminleme modunu seçmek için sofistike bir algoritma kullanır:

  • Rate-Distortion Optimization (RDO) tekniğini kullanır.
  • Farklı tahminleme modlarını dener ve en iyi bit-rate/kalite dengesini sağlayan modu seçer.

4. Chroma ve Luma Prediction

AV1, chroma (renk) ve luma (parlaklık) bileşenlerini ayrı ayrı ele alarak daha etkili bir prediction sağlar.

4.1. Luma Prediction

Luma prediction, yukarıda bahsedilen intra ve inter prediction yöntemlerinin çoğunu kullanır:

  • 56 açısal mod, düzlemsel mod, DC mod ve smooth modların tümü luma prediction için kullanılabilir.
  • Luma prediction, genellikle 4x4’ten 128x128’e kadar değişen blok boyutlarında yapılır.
4.2. Chroma Prediction

Chroma prediction, luma prediction’a göre bazı farklılıklar gösterir:

  • Genellikle daha küçük blok boyutlarında yapılır (örneğin, 4x4’ten 64x64’e kadar).
  • Kullanılan intra prediction mod sayısı genellikle luma’ya göre daha azdır.
4.3. Chroma from Luma (CfL) Prediction

AV1’in en yenilikçi özelliklerinden biri olan CfL prediction, luma değerlerini kullanarak chroma değerlerini tahmin eder:

  1. Luma ve chroma değerleri arasındaki korelasyon analiz edilir.
  2. Bu korelasyona dayalı olarak bir lineer model oluşturulur.
  3. Luma değerleri bu modele uygulanarak chroma değerleri tahmin edilir.
AV1 Chroma from Luma Prediction
*Şekil 3: AV1'in Chroma from Luma (CfL) prediction yöntemi*
4.4. Separate Chroma Prediction Modes

AV1, chroma için ayrı prediction modları da sunar:

  • Chroma için özel intra prediction modları
  • Chroma-specific inter prediction
  • Chroma için ayrı hareket vektörleri
4.5. Joint Chroma Prediction

AV1, iki chroma bileşeni (Cb ve Cr) için ortak prediction yapabilir:

  • İki chroma bileşeni arasındaki korelasyondan yararlanır.
  • Chroma için gereken toplam bit sayısını azaltır.

5. Adaptive Chroma ve Luma Prediction Seçimi

AV1 encoder’ı, her blok için en uygun chroma ve luma prediction yöntemini seçmek için karmaşık bir karar mekanizması kullanır:

  • Rate-Distortion Optimization (RDO) tekniğini kullanarak farklı prediction modlarını değerlendirir.
  • Luma ve chroma için ayrı ayrı veya birlikte en iyi prediction modunu seçer.
  • İçeriğe bağlı olarak CfL, ayrı chroma prediction veya joint chroma prediction arasında seçim yapar.

AV1’in gelişmiş prediction mekanizmaları, codec’in yüksek sıkıştırma oranlarına ulaşmasında kritik bir rol oynar. Intra ve inter prediction yöntemlerindeki bu iyileştirmeler, özellikle karmaşık içeriklerde ve düşük bit hızlarında önemli kalite artışları sağlar. Chroma ve luma için özel tahminleme teknikleri, renk ve parlaklık bilgisinin daha etkili bir şekilde kodlanmasını sağlar. Bu özellikler, AV1’i geleceğin video codec’i olarak öne çıkarmaktadır.

Dönüşüm ve Niceleme (Transform and Quantization)

AV1, çoklu dönüşüm fonksiyonları kullanır:

  • DCT (Discrete Cosine Transform)
  • ADST (Asymmetric Discrete Sine Transform)
  • Flipadst
  • Identity transform

Dönüşüm boyutları 4x4’ten 64x64’e kadar değişebilir ve dikdörtgen şekilli olabilir.

Entropi Kodlama (Entropy Coding)

AV1, h265/hevx de kullanılan CABAC yerine çok sembollü aritmetik kodlama kullanan farklı bir entropi kodlama yaklaşımı benimser. Bu sistem genellikle AV1 Entropy Coder veya sadece “EC” olarak adlandırılır. Ana özellikleri şunlardır:

  • Çok Sembollü Kodlama: AV1, ikili değil çok sembollü bir aritmetik kodlayıcı kullanır. Bu, bir seferde birden fazla sembolü kodlayabilir.
  • Non-Binary Arithmetic Coding: İkili aritmetik kodlama yerine, daha geniş bir aralıkta sembol olasılıklarını işleyebilen bir sistem kullanır.
  • Bağlam Modelleme: AV1, farklı veri türleri için özelleştirilmiş bağlam modelleri kullanır, ancak bu CABAC’taki kadar karmaşık değildir.
  • Daha Basit Olasılık Güncelleme: CABAC’a göre daha basit bir olasılık güncelleme mekanizması kullanır.

Bu yaklaşım, CABAC’a göre daha hızlı kodlama ve çözme sağlarken, yine de iyi bir sıkıştırma performansı sunar. AV1’in bu tasarım seçimi, özellikle düşük gecikme ve yüksek verimlilik arasında bir denge kurmayı amaçlar.

AV1’in Diğer Özellikleri

Film Grain Synthesis (Film Greni Sentezi)

  • Film veya yüksek kaliteli video içeriğindeki doğal film greni görünümünü korumak
  • Sıkıştırma sırasında kaybolan ince detayları ve dokuyu yeniden oluşturmak


AV1 Filmgrain
*Şekil 4: AV1'in Film grain diagramı*


Çalışma Prensibi

  1. Kodlama tarafında:
    • Orijinal videodaki film greni analiz edilir
    • Film greni parametrize edilir
  2. Video akışıyla birlikte parametreler iletilir
  3. Çözme tarafında:
    • Parametreler kullanılarak sentetik film greni yeniden oluşturulur
    • Oluşturulan gren video üzerine uygulanır

Avantajları

  • Bit hızını düşürür
  • Düşük bit hızlarında bile film greninin görsel etkisini korur
  • Farklı cihazlar veya ekranlar için gren yoğunluğu ayarlanabilir

Parametreler

  • Gren yoğunluğu
  • Gren boyutu
  • Renk kanallarına göre gren dağılımı
  • Parlaklık seviyelerine göre gren dağılımı

Uygulama Süreci

  • Analiz
  • Kodlama
  • Çözme

Uyumluluk ve Kontrol

  • Eski cihazlar veya desteklemeyen oynatıcılar bu özelliği göz ardı edebilir
  • İçerik üreticileri, kodlayıcı ayarları ile film greni sentezini kontrol edebilir

Sınırlamalar

  • Karmaşık veya dinamik film greni desenlerini tam olarak yakalamak zor olabilir
  • Yüksek kaliteli, profesyonel içerik için manuel ayarlamalar gerekebilir

Loop Restoration Filter (Döngü Restorasyon Filtresi)

AV1 (AOMedia Video 1) codec’inin en önemli özelliklerinden biri olan Loop Restoration Filter, video kalitesini artırmak ve kodlama artefaktlarını azaltmak için tasarlanmış gelişmiş bir filtreleme mekanizmasıdır. Bu filtre, kodlama işleminin son aşamalarında uygulanır ve özellikle düşük bit hızlarında görüntü kalitesini önemli ölçüde iyileştirir.

Loop Restoration Filter’ın Amacı

Loop Restoration Filter’ın temel amacı şunlardır:

  1. Kodlama artefaktlarını azaltmak
  2. Kenar detaylarını korurken gürültüyü gidermek
  3. Genel görüntü kalitesini artırmak
  4. Düşük bit hızlarında bile yüksek kaliteli video akışı sağlamak

Loop Restoration Filter’ın Çalışma Prensibi

AV1’in Loop Restoration Filter’ı, iki ana bileşenden oluşur:

  1. Wiener Filtresi
  2. Self-guided Filtre
Wiener Filtresi

Wiener filtresi, istatistiksel bir yaklaşım kullanarak görüntüdeki gürültüyü azaltmayı amaçlar. Bu filtre şu şekilde çalışır:

  1. Görüntüdeki lokal istatistikleri analiz eder.
  2. Bu istatistiklere dayanarak optimal filtre katsayılarını hesaplar.
  3. Hesaplanan katsayıları kullanarak görüntüyü filtreler.

Wiener filtresi, özellikle düzgün alanlardaki gürültüyü azaltmada etkilidir.

Self-guided Filtre

Self-guided filtre, görüntünün kendi yapısını kullanarak filtreleme yapar. Bu filtrenin çalışma prensibi şöyledir:

  1. Görüntünün kendisini rehber olarak kullanır.
  2. Kenar yapılarını korurken düzgün alanları yumuşatır.
  3. Lokal bölgelerdeki piksel değerlerini analiz ederek filtreleme şiddetini ayarlar.

Self-guided filtre, kenar detaylarını korurken artefaktları azaltmada özellikle etkilidir.

Loop Restoration Filter’ın Uygulanması

Loop Restoration Filter, kodlama işleminin son aşamalarında uygulanır:

  1. Video çerçevesi kodlanır ve decodlanır.
  2. Deblocking filtresi uygulanır.
  3. CDEF (Constrained Directional Enhancement Filter) uygulanır.
  4. Son olarak, Loop Restoration Filter uygulanır.

Filter, çerçeveyi küçük bloklara böler (tipik olarak 64x64 veya 128x128 piksel) ve her blok için en uygun filtreleme yöntemini seçer:

  • Wiener filtresi
  • Self-guided filtre
  • Filtreleme yok (eğer filtreleme fayda sağlamıyorsa)

Loop Restoration Filter’ın Avantajları

  1. Adaptif Yapı: Görüntünün farklı bölgelerinde farklı filtreleme teknikleri kullanabilir.
  2. Yüksek Kalite: Düşük bit hızlarında bile görüntü kalitesini önemli ölçüde artırır.
  3. Kenar Koruması: Kenar detaylarını korurken gürültüyü ve artefaktları azaltır.
  4. Verimlilik: Kodlama verimliliğini artırarak daha düşük bit hızlarında yüksek kalite sağlar.

Loop Restoration Filter vs. Diğer Codec’ler

AV1’in Loop Restoration Filter’ı, H.265/HEVC’nin Sample Adaptive Offset (SAO) filtresine benzer bir işlev görür, ancak daha gelişmiş ve adaptiiftir. VP9’da ise benzer bir mekanizma bulunmamaktadır.

Performans Etkisi

Loop Restoration Filter’ın uygulanması, özellikle düşük bit hızlarında önemli bir kalite artışı sağlar. Tipik olarak:

  • 0.5 - 1.5 dB PSNR artışı
  • Öznel görüntü kalitesinde belirgin iyileşme
  • Kodlama verimliliğinde %5-15 artış

AV1’in Loop Restoration Filter’ı, modern video codec’lerinin karmaşıklığını ve etkililiğini gösteren önemli bir özelliktir. Bu filtre, düşük bit hızlarında bile yüksek kaliteli video akışı sağlayarak, özellikle internet üzerinden video dağıtımı yapan platformlar için büyük avantaj sağlamaktadır. Gelecekteki codec geliştirmelerinde benzer ve daha gelişmiş filtreleme tekniklerinin kullanılması beklenebilir.

CDEF (Constrained Directional Enhancement Filter)

Kenar ayrıntılarını korurken gürültüyü azaltan bir filtre.

Paralel İşleme

AV1, çoklu çekirdekli işlemcilerde verimli çalışmak için tasarlanmıştır:

  • Tile-based parallelism
  • Row-based multi-threading

AV1’in Performansı

AV1, H.265/HEVC’ye göre yaklaşık %30, VP9’a göre ise %50 daha iyi sıkıştırma oranları sunabilmektedir.

Sonuç

AV1, yüksek sıkıştırma verimliliği, açık kaynak yapısı ve royalty-free lisansı ile gelecekteki video kodlama ihtiyaçlarını karşılamak için güçlü bir aday olarak öne çıkmaktadır. Özellikle streaming platformları ve büyük ölçekli içerik dağıtıcıları için önemli avantajlar sunmaktadır.

  • Umarım bu yazumda sizlere AV1 Hakkında işe yarar bilgiler sunabilmişimdir. Bir sonraki yazımda size bir AV1 converter programı geliştireceğim ve paylaşacağım