Codec (Coder-Decoder) Nedir, Ne İşe Yarar?

Hızlı Bakış

Codec, ses ve video verilerini sıkıştırıp tekrar açan bir algoritmalar bütünüdür. Bu dijital dönüştürücü, ham dosyaları depolamaya uygun küçük paketlere çeviriyor. MP3 gibi kayıplı ses bileşenleri, insan kulağının duyamayacağı frekansları silerek boyutu küçültüyor. H.264 gibi video bileşenleri ise görüntüyü kareler arası farkları hesaplayarak kodluyor. Kapsülleme için MP4 kabı devreye giriyor. Bu sayede yüksek kaliteli bir filmi saniyeler içinde internet üzerinden sorunsuzca yayınlıyorsunuz.

Codec yazılımda, donanımda veya her ikisinin bir karışımında geliştirilmiş, bir dosyayı veri akışı veya sinyal akışı ile dönüştürebilen bir özelliği açıklar.

Codec (Coder-Decoder) Nedir?

Codec (Kodek) Nedir, Formatları Nelerdir?

Kodek’ler, akışı veya sinyali kodlamayı ve bu işlemler için daha uygun bir formatta oynatma veya manipülasyon için aynı şekilde kodlamayı ve kod çözmeyi sağlar.

Codec’ler, video konferansı gibi durumlarda ve medyanın yayınlanmasında kullanılır. Çoğu bileşen, hedef dosyanın mümkün olan en küçük boyutuna ulaşmak için bilgi kayıplarına neden olabilir.

Kayıpsız kodekler de vardır fakat pratik uygulamada, kalitede bir artış ve veri boyutunda bir artış sağlamayabilir.

Verilerin gelecekte başka işlemlerden geçecek olması, tekrarlanan kayıplı kodlama, uzun vadede kaliteye çok fazla zarar verebilir.

Birçok multimedya dosyası hem ses hem de video verilerini içerir ve çoğu zaman her iki dosyanın senkronizasyonuna izin veren bazı referanslar bulunur.

Bu üç veri akışının her biri farklı programlar, süreçler veya donanımlarla yönetilebilir. Ancak bu akışların depolamak veya iletmek için yararlı olabilmesi için birlikte kapsüllenmesi gerekir.

Bu kapsülleme işlemi, .mpg, .mp4, gibi bir video dosyası formatıyla gerçekleştirilir. Bu biçimlerden bazıları, küçük bir kodek setini içerse de, diğerleri daha genel amaçlar için kullanılır.

En bilinen codec türleri, ses codec bileşenleri ve video codec bileşenleridir.

Video dosyalarında kapsülleme işlemi şarttır. MP4 bu iş için en popüler seçeneklerden biridir. Peki MP4’ü diğer video dosyası formatlarından ayıran nedir? Küçük ama etkili bir detay, bu format codec’leri mükemmel dengeler. Sıkıştırma ve kalite arasındaki ilişkiyi öğrenmek isteyenler bu rehbere göz atmalısınız.

Codec (Kodek) Formatları/Türleri

Kodek türlerinin kendi aralarında avantajlar ve dezavantajlar sunan birçok farklı bileşeni vardır. Kodek’ler ses, video, görüntü ve veri olmak üzere dörte ayrılır.

   1. Ses

  1. AAC (Advanced Audio Coding)
  2. ALAC (Apple Lossless Audio Codec)
  3. AMR (Adaptive Multi-Rate)
  4. FLAC (Free Lossless Audio Codec)
  5. G.711
  6. G.722
  7. MP3 (Moving Picture Experts Group Layer-3 Audio)
  8. Opus
  9. Vorbis
  10. AIFF (Audio Interchange File Format)
  11. DSD (Direct Stream Digital)
  12. WMA (Windows Media Audio)
  13. WAV (Waveform Audio Format)

   2. Video

  1. MPEG-1
  2. MPEG-2
  3. MPEG-3
  4. MPEG-4
  5. H.264
  6. HEVC/H.265
  7. AVI (Audio Video Interleave)
  8. DivX
  9. MOV (QuickTime)
  10. FLV (Flash)
  11. WMV (Windows Media)

   3. Görüntü

  1. JPEG
  2. PNG
  3. GIF

   4. Veri

  1. PKZIP
  2. PNG

Ses Codec’leri

Bir ses codec bileşeni, işitsel verilerin kodlanmasına ve kodunun çözülmesine izin veren bir dizi algoritma içeren bir bileşendir. Bu, ses dosyasının kapladığı bit sayısının azaltılması anlamına gelir.

Bu kodekler iyi bir kalite elde etmek ve daha uygun bir formatta yeniden üretmek veya işlemek için sinyalleri veya ses dosyalarını bir veri akışı ile sıkıştırmak için kullanılır.

Yazılım veya donanım kullanılarak sıkıştırma işlemi uygulanır. Şu anda çok çeşitli ses kodekleri bulunmaktadır.

Ses kodekleri daha karmaşık olmalarına ve ek özellikler sahip olmalarına rağmen, bit hızını kodlama veya azaltma yöntemine bağlı olarak algısal kodlayıcılar, işitme eşiği, zamansal ve frekans maskeleme olarak dört gruba ayrılırlar.

Video Codec’leri

Video codec bileşeni, dijital videoyu sıkıştırmanızı ve açmanızı sağlayan bir tür codec bileşenidir. Normalde kullanılan sıkıştırma algoritmaları bilgi kaybına yol açabilir.

Codec bileşenlerinin en büyük sorunu sabit disk, CD veya DVD gibi tipik bir depolama ortamında fazla yer kaplamasıdır.

Bu sıkıştırma algoritmalarını gerçek zamanlı olarak oluşturmak ve kullanmak bu yüzden tercih edilmiştir. Bu algoritmaların amacı önemli ölçüde daha az video boyutu elde etmektir.

Ses codec’leri denince akla ilk MP3 geliyor. Bu format 90’lardan beri müzik dünyasını değiştirdi. İşin aslı şu ki MP3 codec yapısı küçük dosyalarla yüksek kalite vaat ediyor. Dinleme alışkanlıklarımızı tamamen dönüştürdü. Bu dönüşümün teknik temellerini merak ediyorsanız ilgili makale tam size göre.

Bu durumda, bilgi bir dosyaya kaydedildiğinde sıkıştırılır ve görüntüleme sırasında gerçek zamanlı olarak açılır.

Video kalitesinde, veri miktarı, kodlama ve kod çözme algoritmalarının karmaşıklığı, veri kaybı ve hatalara karşı sağlamlık, düzenleme kolaylığı, çerçevelere doğrudan erişme yeteneği ve diğer faktörler arasında zor bir denge vardır.

Codec (Kodek) Hakkında SSS

Bir ses dosyasını sıkıştırmak illa ki kaliteyi düşürür mü, yoksa bunun istisnaları var mı?

Bu soruya direkt ‘evet’ demek büyük haksızlık olur. İşin içinde iki farklı dünya var ve ben bunları danışanlarıma hep yemek tarifine benzetirim. Kayıplı sıkıştırma, tıpkı yemeğin suyunu biraz çektirip yoğun bir lezzet elde etmeye benzer. MP3 veya AAC gibi formatlar, insan kulağının duyamayacağı frekansları acımasızca atar. Dosya küçülür ama o ferahlığı biraz kaybeder.
Öte yandan bir de kayıpsız mutfak şefleri var. FLAC veya ALAC tam burada devreye girer. Zip dosyası gibi düşünün, veriyi paketler ama açtığınızda tek bir molekülüne zarar vermez. Stüdyo kayıtları veya arşivleme için bundan iyisi yoktur.
Pratik hayatta tercih senaryoya bağlı. Telefonunuzda milyonlarca şarkı taşımak istiyorsanız hafıza kartına acımazsınız, kayıplı kodekleri seçersiniz. Ama plak koleksiyoncusu titizliğinde bir dinleyiciyseniz, depolama alanı sizin için saniyelik bir endişeden ibarettir. Kalite her zaman önde gelir.

Aynı anda hem sesi hem de görüntüyü taşıyan tam olarak nedir, kap mı yoksa sıkıştırma yöntemi mi?

Kafaların en çok karıştığı nokta burası ve bunu netleştirmek şart. Cebinizdeki telefonla çektiğiniz videoyu bir hediye paketine benzetin. MP4, AVI veya MOV dosya uzantıları işte o hediyenin dış kutusudur. Biz buna teknik olarak ‘kapsayıcı format’ diyoruz.
Kutunun içinde ne olduğuna gelirsek büyü tam orada başlıyor. H.264 ile sıkıştırılmış bir video kanalı ve AAC ile işlenmiş bir ses kanalı ayrı ayrı durur. Bu iki unsur kutunun içinde senkronize bir şekilde yan yana hizalanır. Kapsülleme denilen sihir tam olarak bu hizalamadır.
Bazen kutuyu açamazsınız ve oynatıcınız hata verir. Bunun sebebi kutunun kapağını tanısa da içindeki hediyeyi tanımamasıdır. Yani bir AVI dosyası görmeniz, o videonun görüntüsünü çözebileceğiniz anlamına kesinlikle gelmez. Sadece paketi gördünüz, sürprizi değil.

Video konferans yaparken görüntüm neden bazen bulanıklaşıyor, bunu teknik olarak nasıl açıklarsın?

Ekrana bakıp sinirlenmeyi bırakın, sorun genelde internet altyapınızda değil, akıllı bir algoritmanın hayatta kalma mücadelesindedir. Görüntülü konuşma anında arka planda bir dönüştürücü çılgınca çalışır. Bant genişliğiniz bir anda düşerse, bu mekanizma koca bir piksel yığınını göndermektense birazını feda etmeyi seçer.
Hani şu meşhur H.265 veya VP9 yok mu, işte onlar usta bir ressam gibidir. Tuval küçüldükçe fırça darbeleri kabalaşır. Gerçek zamanlı kodlama esnasında kareler arasındaki farkı hesaplar ve sadece hareketi iletmeye çalışır. Bağlantı kötüleşince o hareket bilgisinin detayını budamak zorunda kalır.
Sonuçta kocaman karelerden oluşan bir Lego filmi izlersiniz. Kamera ışığının yetersiz olması da işleri bozar. Sensör gürültüyü artırdığında, kodlayıcı bu gürültüyü de yeni bir detay sanıp boş yere veri harcar. Işığı açmak bazen en ucuz yazılım güncellemesinden daha etkili sıkıştırma sağlar.

Kayıpsız sıkıştırma madem bu kadar iyi, neden her yerde kullanmıyoruz?

Mantıklı bir çıkış bu, fakat çoğu zaman mükemmel iyi olanın düşmanıdır. Kayıpsız kodlama devasa bir depolama canavarıdır. Bir Blu-ray filmini kayıpsız sıkıştırmaya kalkarsanız, SSD’nizin gözyaşlarına boğulduğunu görürsünüz. Bu yöntemler veriyi azaltır ama radikal bir küçülme vaat edemez.
İnsan gözü ve kulağı kusurlu organlardır, işin sırrı da bu zaafta yatıyor. Kayıplı yöntemler biyolojimizle kumar oynar. Parlak bir gökyüzünde ince ton geçişlerini siler ama siz bunu fark etmezsiniz. Veri boyutu yarıya inerken algısal kalite neredeyse aynı kalır.
Bunu günlük hayata şöyle uyarlayabiliriz. Bir mimar proje çizimini PNG olarak saklar, piksel hatası kabul edilemez. Ama aynı mimar aile tatil fotoğrafını JPEG yapmaktan çekinmez. Buradaki ayrım tamamen kullanım amacına dayanır. Web ve mobil dünyasında hız her şeydir, dosya ne kadar küçük olursa o kadar az bekleriz.

Bir medya oynatıcı 'desteklenmeyen format' dediğinde aslında neyi kasteder?

Bunu bir davetiyeye benzetmek en güzeli. Oynatıcı elinde güzel bir zarf tutar ama zarfın içindeki yazı Sanskritçe ise dumura uğrar. Dosya uzantısı zarfın kendisidir. İçindeki datanın hangi dille yazıldığını çözümleyecek bir sözlük bulamayınca pes eder.
Yazılım dünyasında bu sözlüklere doğrudan ‘filter’ veya ‘çözücü’ deriz. Bilgisayarınızda yüklü olan sıkıştırma paketleri, oynatıcının kelime dağarcığını oluşturur. Mesela DivX’in popüler olduğu dönemde insanlar bu paketi kurmadığı için görüntü alamazdı. Sorun dosyada değil, bilgisayarın eğitimsizliğindeydi.
Çoğu kişi internetten rastgele bir codec paketi indirir ve sistemi çöplüğe çevirir. Akıllıca olan, VLC gibi içinde hazır evrensel çevirmen taşıyan bir oynatıcı kullanmaktır. Bu sayede dosyanın hangi kültürden geldiğine bakmazsınız, sadece oynat tuşuna basarsınız.

Arka arkaya dönüştürme yapmanın dosyaya verdiği hasar neden kalıcı oluyor?

Buna fotoğrafçıların ‘jenerasyon kaybı’ dediğini duymuşsunuzdur. Bir fotokopi makinesinde belgenin kopyasının kopyasını çekmeye benzer bu süreç. Bir videoyu MPEG’den AVI’ye sonra tekrar MP4’e çevirdiğinizde, her seferinde sıkıştırma algoritması veriyi yeniden yorumlar ve birazını atar.
Kayıplı çalışan bu sistemler telafisi olmayan hatalar yaratır. İlk çeviride kalkan ince detaylar ikinci çeviride yerine gelmez. Tam tersine, kodlayıcı yeni bir hesaplama yapar ve mevcut boşlukları daha da kirletir. Görüntü giderek sulu boya tablosuna döner, sesler de metalik bir tını kazanır.
En doğru iş akışı her zaman ana kaynaktan, yani master dosyadan dönüştürme yapmaktır. Eğer elinizdeki tek şey zaten sıkıştırılmış bir kaynaksa, onu olduğu gibi bırakın. Yeniden kodlamak yerine depolama alanından fedakarlık etmek çok daha mantıklıdır. Yoksa elinizdeki anıyı dijital bir çorbaya çevirme riskiniz çok yüksek.

Bu Rehberi Keşfettikleri İçin Sana Teşekkür Edecekler!

Sadece bir tıkla sevdiklerine dev bir iyilik yapmaya hazır mısın? Bilgi paylaştıkça devleşir.

İlk yorumu sen paylaş