H265/HEVC Nedir? Ne İşe Yarar?
#1
H265/HEVC Nedir? Ne İşe Yarar?

Günümüz teknolojisinde tabletlerin ve cep telefonlarının 1920x1080p (full HD) ekran çözünürlüğe sahip olduğunu görmekteyiz. Teknoloji bu şekilde gelişirken büyük  televizyon ekranlarını full HD teknolojisiyle yetinmeyeceğini tahmin edebiliyorsunuzdur, işte tam bu noktada 2K,4K,8K gibi çözünürlüklerden söz edebilir olduk.
     Sizlerde takdir edersiniz ki çözünürlükler bu kadar yükselince codec(kodlama) teknolojilerinin de yenilerinin çıkması daha yeni kodlamalar kullanması kaçınılmaz oluyor. Hali hazırda kullanılan h.264/avc kodlama teknolojisi HD için yeterli oluyordu fakat 4K ve 8K çözünürlük için performanslı olmayacak gibi gözüküyor , bu sebeple yerini H.265 (High efficiency Video Conding)’e bırakmaya hazırlanıyor.
Nedir bu H265/HEVC ?
     ISO/IEC MPEG(Moving Picture Experts Group) ve ITU-T VCEG (Video Coding Experst Group)tarafından ortak bir çalışma sonucu oluşturulmuş bir video sıkıştırma standardıdır. H265’i detaylı olarak anlatmaya başlamadan yüzeysel bir tanım yapacak olursak ; H264/avc’ye göre daha fazla sıkıştıran ve daha az bant genişliğiyle bize sunan kodlama teknolojisidir diyebiliriz. 
Neden H265/HEVC’ye ihtiyaç duyduk ?
    H265/HEVC’nin bir önceki standardı olan H264/AVC ilk olarak 2003 yılında yayınlandı. Yayınlandığı zamandan beri dijital video’nun her alanında kullanıldığını görmekteyiz. HD(High Definition)’nin bir çok cihaz ve uygulamada yaygın bir kullanım kazanmasıyla yüksek çözünürlüğün getirdiği daha fazla bant genişliği ve daha fazla depolama alanı ihtiyacı duymaktayız. HD ötesi  video çözünürlükleri (2k,4k,8k) bize HD’de duyulan  saklama alanı ve bant genişliği ihtiyacını daha fazla hissettireceği görülmektedir.Bugünkü şartlarda cep telefonları ve tabletler 2003 yılında kullandığımız masaüstü bilgisayarlara göre daha hızlı işlem güçlerine sahipler, teknoloji bu noktadayken daha başarılı sıkıştırma teknolojilerinin ortaya çıkması da kaçınılmaz oluyor.
 H265/HEVC nasıl çalışır?
     Video sıkıştırma teknolojileri genel olarak aynı yapıya sahiplerdir, Encode (kodlama) ve Decode(çözümleme) olmak üzere iki kısımda inceleyebiliriz. Aşağıdaki şekilde kodlama ve çözümleme sırasında izlenilen yol haritasını görebiliriz.
 
[Resim: image.axd?picture=%2f2013%2f10%2fDrawing2.jpg]
Şekilde de görüldüğü gibi kodlama sıralaması şöyle ilerlemektedir ;

  • Bölümleme ; her resmi birden fazla birimler halinde bölümleme.

  • Tahminleme ; Her bir tahmin ünitesinde Inter veya Intra predection (tahminleme) kullanarak bu ünitelerden tahminler oluşturma.

  • Dönüşüm ; Artığın dönüşümü ve sayısal olarak belirlenmesi (Orjinal görüntü ve tahmini arasındaki fark)

  • Entropy ; Entropy'nin kodlanması
Çözümleme sıralaması ise;

  • Entropy ; Entropy çözümleme ve kodlanmış dizi elemanlarının ayıklanması

  • Ters dönüşüm ; Yeniden ölçekleme ve ters dönüşüm

  • Tahminleme ; Ters dönüşüm çıktısına bağlı olarak her tahmin birimine tahmin ekleme

  • Yeniden Düzenleme ; Yeniden düzenlerek çözümlenmiş bir video görüntüsü oluşturma
H265/HEVC'nin  yapısını biraz daha detaylı incelemeye başlayalım ;
        Partitioning(Bölümleme)
     H265/HEVC Son derece esnek bir bölümle yapısıyla karşımıza çıkıyor,ilk olarak resmi dikdörtgen veya kare dilimlere ayırıyor. Her video veya resim karesi dilimlere ayrıldıktan sonra bu dilimler 64x64 piksel'ekadar ulaşabilen Coding Tree Units (kodlama ağaç uniteleri)'lere bölünür. Coding Tree unit (CTU) kodlamanın temel birimidir, daha önceki standartlarda (mpeg-2,h264/avc) bunları macroblok yapısı olarak gözlemliyorduk.
Bir Coding Tree unit (CTU) oldukça fazla bilinen Quadtree (dörtlü ağaç) yapısına benzer bir şekilde Coding Units (kodlama unitesi)'lere bölünür.Coding Unit (CU)'ler ise Inter Veya Intra Prediction (tahminleme)'a dönüşür.Aşağıdaki şekilde bu yapıyı daha iyi anlayabiliriz.
  
[Resim: image.axd?picture=%2f2013%2f11%2fDrawing1.jpg]
        Prediciton (Tahminleme)
     Herbir Coding unit (CU)  Inta veya Inter Prediction kullanılarak tahmin edilen bir veya birden fazla Prediction (tahminleme) unitesine bölünür.

  • Intra Prediction (Resim içi Tahminleme): Her bir prediction unit (PU) aynı resimdeki komşu görüntü verilerinden tahminleme yapar. DC Prediction (Ortalama değer alma),Planar Prediction ( Düz yüzeyi PU'ya ayarlama)ve directional Prediction (Komşu data'dan tahmin etme) yöntemlerini kullanır.Aşağıdaki şekilde H264/AVC ve H265/HEVC 'de kullanılan Intra yapısının farklarını görebilirsiniz
 [Resim: image.axd?picture=%2f2013%2f11%2fUntitled.jpg]

  • Inter Prediction ( Resimler arası Tahminleme) : Her bir Prediction unit (PU) Bir veya birden fazla referans resminden aldığı görüntü verilerinden (Görünen resmin öncesindeki ve sonrasındaki resimler) Motion Compenation (Hareket Dengeleme) yöntemini kullanarak tahminleme yapar. Aşağıdaki resimde Inter Prediction Quadtree yapısını görebilirsiniz.
 
 
[Resim: image.axd?picture=%2f2013%2f11%2fQUADTREE.jpg]
        Transform and Quantization ( Dönüşüm ve Sayısal değerlendirme)
     H264/AVC daha öncede belirttiğim gibi temel kodlama yapısı olarak 16x16 piksel'e kadar ulaşan macroblock yapısını kullanıyor,H265/HEVC ise sıralı olarak Coding Unit (CU),Prediction Unit (PU) ve bu bölümde inceleyceğimiz Transform Unit (TU) yapılarını kullanıyor. Transform Unit (TU) Transform ve Quantization ( Dönüşüm ve Sayısal değerleme) için temel birimdir.Transform Unit (TU) 4x4,8x8,16x16 ve 32x32 piksellik bloklara sahip. Aşağıdaki şekilde Coding Unit (CU) , Prediction Unit (PU) ve Trasnfom Unit (TU)'in birbirleri arasındaki ilişkiyi görebilirsiniz.
 
[Resim: image.axd?picture=%2f2013%2f11%2fcu%2cpu%2ctu.jpg]
     H265/HEVC Residual Quadtree ((RST),Artık Dörtlü Ağaç) yapısından faydalanarak, Tahminleme den sonra kalan herhangi bir artık veriyi Discrete Cosine Transform ((DCT),Ayrık Kosinus Dönüşümü) veya Discrete Sine Transform ((DST),Ayrık Sinus Dönüşümü)'a dayalı Block Transform (Blok Dönüşüm) kullanılarak dönüştürülür.
        Entropy Coding ( Entropy kodlaması)
     Kodlanmış bir H265/HEVC Bitstream( Bit Akışı) sayısal dönüşüm kat sayıları,tahmin bilgisi(Tahmin modları ve hareket vektörleri) , bölünmüş bilgi ve diğer Headet datalardan (başlık verileri) oluşur. Tüm bu elementler Context Adaptive Binary Arithmetic Coding (CABAC) kullanarak kodlanır. CABAC her sembol için olasılık modelini güncelleyerek yuksek bit oranlarında başarılı bir sıkıştırma olanağı sağlar. Aşağıdaki şekilde CABAC yönteminin blok şemasını görebilirsiniz.
 
[Resim: image.axd?picture=%2f2013%2f11%2fcabac.jpg]
     H265/HEVC kodlaması yukarıda anlattığım akışları kullanarak oluşmaktadır. Şimide H265/HEVC'nin diğer özelliklerini inceleyelim.
Mode and Motion Vector Prediction (Mod ve Hareket Vektörü tahmini): H265/HEVC önceki kodlanmış unitelerin modlarına dayalı olarak çok yönlü tahmin ve mod bilgisini birleştirir.
Deblocking Filter ( Bloklamayı azaltma filtresi): Trasnform Unit (TU) veya Prediction Unit (PU) sınırlarında Luma ve Chroma örneklerine bir filtre uygulanır ( Bu sınırlar 8x8'lik ızgaralar halinde sıralanır).Bu filtrenin gücü H265/HEVC bit akışında işaretlenmiş içerik öğeleri tarafından kontrol edilir.Deblocking filtresi kayıplı kodlama işlemi tarafından oluşan Block/Unit kenarlarındaki bloklaşmayı engellemek için tasarlanmıştır.
Sample Adaptive Offset ( Örnek dengeli ayarlama): Kodu çözülmüş video karelerinin ayarlanmasını sağlayan, pürüzsüz  bölgeler ve nesnelerin kenar görünümünü arttıran isteğe bağlı bir filtredir. Sample adaptive Offset(SAO) filtre H265/HEVC bit akışında işaretlenebilen look-up tablolarını kullanan non-linear (doğrusal olmayan) bir filtredir.
Parallel Processing ( Paralel işlem) : H265/HEVC Paralel işleme yeteneğine sahip decoderlar (çözücüler) için yararlı olan bir kaç özellik içerir. Bunlara sırayala göz atacak olursak 

  • Tiles ; Büyük ölçüde bağımsız olarak çözülebilen dikdörtgen bölgelerdir.

  • Wavefront Parallel Processing (WPP): Codin Tree Unit (CTU)'in yeni sırasının sadece bir önceki sıranın iki CTU'su çözüldükten sonra çözülebileceğini garantiye alan bir kodlama modudur.
Profiles,Levels and Tiers (profiller,seviyeler ve Aşamalar): Çözücü tarafından desteklenmesi gereken mevcut H265/HEVC kodlama araçlarının alt kümesi bir profil tanımlar. Seviye ve aşama kombinasyonu resim boyutu açısından maksimum çözücü işlem kabiliyetlerini, saniyede kodlanmış örnekleri,bit-rate 'i ve buffering 'i belirler.
     Son olarak H265/HEVC'nin diğer kodlama tekniklerine göre kazancını incelediğimizde bir önce ki kodlama tekniği olan H264/AVC'ye göre uygulamalar açısından %35-%40 arasında kazanç sağladığı gözlemliyebiliyoruz bunu aşağıdaki şekillerde daha iyi görebiliriz.
 [Resim: image.axd?picture=%2f2013%2f11%2fPSNR+KAZAN+EGLENCE.jpg]
 [Resim: image.axd?picture=%2f2013%2f11%2fPSNR+KA...c4%b0F.jpg]
 
[Resim: image.axd?picture=%2f2013%2f11%2f%c5%9eEMA.jpg]
     Bu yazımda H265/HEVC ile ilgili bilgileri sizinle paylaşmaya çalıştım Umarım sizler için faydalı olacak bilgiler paylaşabilmişimdir.Bazı teknik terimleri Türkçeleştirmek konusunda kararsızlıklar yaşadım bu konu hakkında geri dönüşler benim için önemli olacaktır.

Murat Demirciye Teşekkürler.
Bul
Alıntı


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Palringo Nedir? (Detaylı) Ken 0 166 03-12-2016, Saat: 20:26
Son Mesaj: Ken
  Esnek Dereceli Nedir ? Ken 0 218 26-11-2016, Saat: 11:31
Son Mesaj: Ken
  USB Type-C nedir? Ken 0 254 04-03-2016, Saat: 21:49
Son Mesaj: Ken
  Sapyoseksüel Nedir? Ken 0 439 27-02-2016, Saat: 20:05
Son Mesaj: Ken
  DİĞER Netflix Nedir , Netflix Ne İşe Yarar ? Dynamix 0 369 08-01-2016, Saat: 21:49
Son Mesaj: Dynamix

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi
loading...