MPEG-1 Layer 3

Mengacu  pada  perlindungan  alamiah  dari  perusahaan  yang  mengembangkan mp3, spesifikasi dari mp3 tidak dirincikan secara detil tentang proses encoding mereka yang sebenarnya, proses tersebut tersajikan dalam pseudocode tingkat tinggi sehingga perusahaan lain harus menghasilkan encoders buatan mereka sendiri. Struktur untuk mp3 encoder tersaji pada gambar 2.1.
Gambar 2.1  MPEG-1 Layer 3 Encoder [ISO/IEC 1995] ( Sumber: Atracmp3,p6 )



Input audio sampel dimasukkan ke dalam encoder dan proses pemetaan menghasilkan sebuah filter dan sub-sample yang menggambarkan audio stream yang masuk, yang disebut transformed sub-band samples, model psychoacoustic yang cocok dipergunakan untuk menyajikan satu set data yang dapat digunakan untuk mengontrol quantization dan coding. [ISO/IEC, 1995] mengusulkan agar mempergunakan estimasi masking threshold untuk mengontrolnya. Proses quantizer dan coding   menghasilkan satu set simbol coding dari sample input yang telah dipetakan. Setelah tahap pengelompokan frame kemudian mengumpulkan hasil encoding bitstream dari data ini, dan menambahkan data yang diperlukan seperti kode koreksi kesalahan. Pada MPEG-1, semakin bertambahnya layer, maka begitu juga tingkat kerumitan pada  encoder juga meningkat. Layer 3 terbentuk dari layer-layer sebelumnya, dan termasuk fitur-fiturnya. Pada layer 1, input dipetakan ke dalam 32 sub-bands dengan segmentasi yang pasti dari data ke dalam blok-blok.


Model psychoacoustic menentukan penyesuaian diri pada alokasi bit, dan quantization  dilaksanakan  dengan  menggunakan  penghalang  "companding" (compression dan expanding) dan formatting. Layer 2 menggunakan coding tambahan pada alokasi bit, faktor skala dan sampel, serta teknik pembuatan frame berbeda. Layer 3 menambahkan peningkatan frekuensi resolusi dengan cara hibrida filterbank, sebuah non-uniform quantizer, penyesuaian segmentasi dan entropy coding (seperti Huffman Coding) pada quantized data.



Sejarah MPEG-1 Layer 3

Di  awal  abad  ke-19,  matematikawan  Perancis  Joseph  Fourier  menyusun beberapa persamaan matematik untuk menggambarkan cara panas menyebar. Persamaan itu bisa dipergunakan untuk menggambarkan segala macam bentuk gelombang sebagai urutan nomor, termasuk gelombang suara. Di tahun 60an, seorang insinyur Amerika yang dinamai R A Moog mempergunakan rumus Fourier untuk mendesain musik elektronik synthesizers.

Di tahun 1980an, Yamaha, perusahaan ilmu elektronika Jepang, mempergunakan rumusan matematika yang sama untuk merevolusionerkan industri musik dengan memperkenalkan keyboard elektronik. Dan hari ini, persamaan Fourier hidup sebagai bagian kerangka matematik yang menggambarkan mp3. Aspek yang benar-benar mempesona dari mp3 adalah aspek yang menggabungkan matematika dengan sistem pendengaran manusia.
Gambar 2.2 Struktur Decoding mp3

( Sumber: Allen Cheng and Chih-Hung Cheng,2002,p2 )




           MPEG Layer 1-3 frame header

Sebuah file MPEG audio dibentuk dari bagian-bagian kecil yang disebut frames. Secara umum, frames adalah sesuatu yang dapat berdiri sendiri (independent). Masing- masing frame mempunyai header dan audio information masing-masing. Oleh karena itu, anda bisa mengambil bagian mana pun dari file MPEG,  menyimpannya  dan lalu memainkannya dengan baik. Pada Layer III, ini tidak 100% benar. Karena pengaturan internal data di file MPEG versi 1 Layer III , frame biasanya tergantung satu sama lain dan frame tersebut tidak bisa diambil begitu saja.

Waktu anda ingin membaca informasi mengenai sebuah file MPEG, biasanya cukup menemukan frame pertama, membaca headernya dan mengasumsikan bahwa frame lain juga mengandung informasi yang sama. Mungkin tidak semuanya mengandung informasi yang sama seperti itu. Variable bitrate file MPEG biasanya disebut dengan bitrate switching, yang berarti bahwa bitrate berubah berdasarkan isi pada masing-masing frame. Disini lower bitrates mungkin digunakan pada frame yang tidak menurunkan kualitas dari suara. Ini diperbolehkan untuk dilakukan selama menghasilkan kompresi yang tetap mempertahankan kualitas suara yang baik.
Frame header terletak pada empat byte pertama (32bits) di dalam satu frame. 11 bit yang pertama (atau pada dua belas bit pertama, terlihat tentang framesync) pada frame header selalu diatur dan disebut "framesync". Oleh karena itu, anda bisa menemukan 1 byte dengan nilai 255 dan diikuti dengan 3 atau 4 bit yang penting pada framesync yang pertama. Lalu anda membaca seluruh header dan cek jika nilainya benar. Anda akan dapatkan pada tabel berikut arti sebenarnya pada setiap bit pada header dan isinya  mungkin diperiksa untuk validitas. Masing-masing isi adalah spesifik sesuai yang ditentukan. Tidak valid, cacat ataupun yang tidak dijinkan akan mengindikasikan data header yang salah. Ingat, ini tidaklah cukup, framesync bisa dengan mudah (dan sangat sering) ditemukan pada setiap file biner mana pun. Dan juga mungkin file MPEG  berisi sampah pada awalnya, yang berisi sync yang salah. Dengan begitu, anda harus memeriksa dua atau lebih frame selanjutnya untuk memastikan anda benar-benar berhadapan dengan file MPEG audio.
Frame mungkin memiliki pemeriksa CRC. CRC adalah sebuah bit yang panjangnya 16 bit dan, jika ada, ini mengikuti frameheader. Setelah CRC terdapat audio data.  Anda  bisa  memperhitungkan  panjang  frame  dan  menggunakan  ini  jika  anda memerlukannya  untuk  membaca  headers  lainnya  juga,  atau  hanya  mau memperhitungkan CRC dari frame tersebut untuk membandingkannya dengan yang anda baca dari file. Sebenarnya, ini adalah sebuah metode yang baik jika mencek validitas MPEG header.

0 komentar:

Posting Komentar

 

Serba Ada Blog Copyright © 2011-2012 | Powered by Blogger