Thuật giải nén mất thông tin và bảo toàn thông tin: Nén
thì chắc ai cũng từng nghe qua. Nôm na, nén là làm giảm dung lượng đĩa
cần thiết để lưu 1 thông tin nào đó. Các thuật giải giải nén bao gồm 2
loại: bảo toàn thông tin lossless và mất thông tin lossy. Để cho ngắn
gọn, thuật giải nén kiểu bảo toàn thông tin gọi là thuật giải lossless,
còn kiểu mất thông tin gọi là thuật giải lossy. Chắc là ai cũng biết
phần mềm nén file nổi tiếng Winrar. Winrar là 1 thuật giải lossless. Đối
với các thuật giải lossless thì sau khi giải nén, thông tin thu được sẽ
giống như thông tin ban đầu. Ngược lại, thông tin sau khi giải nén thì
không giống với thông tin gốc nếu ta dùng thuật giải lossy. Nếu bạn có 1
cuốn sách hay 1 hóa đơn thì 1 điều chắc chắn là bạn sẽ không dùng thuật
giải lossy. Lý do vì sao thì dễ hiểu. Tuy nhiên, đối với dữ liệu hình
ảnh, phim, âm thanh thì các thuật giải lossy được áp dụng rất rộng rãi
vì hiệu suất thường rất cao--> file kích thước nhỏ--> ta không cần
đĩa, CPU, RAM tốc độ cao để xem phim hay nghe nhạc. Có thể bạn sẽ hỏi
“sao mất thông tin mà mình coi vẫn biết được, nghe vẫn biết là ca sĩ
nào?” . “Tinh thần làm việc” của các thuật giải lossy là loại bỏ các chi
tiết ít nhạy đối với tai, mắt con người như âm thanh tần số thật cao
hoặc thật thấp, cảnh tối, sự khác biệt màu sắc. Đó! Bỏ như vậy thì 0 ảnh
hưởng nhiều.
Codec là từ được rút gọn từ cụm từ COmpressor/ DECompressor.
Từ này được dùng chỉ chung những phần mềm, phần cứng làm nhiệm vụ
nén/giải nén. Thuật giải hoặc các chuẩn nén như MPEG-1, MPEG-4 chỉ là
các bước, phương pháp, tính năng, tức chỉ là trên “giấy tờ” . Như vậy,
Codec là sự hiện thực các thuật giải, chuẩn nén, là các phần mềm, là các
phần cứng. Các "Codec video" nổi tiếng là MPEG4-ASP, MPEG4-AVC, Window
Media Video, RealVideo,.. Các "Codec audio" nổi tiếng như Window Media
Audio, RealAudio, AAC, Vorbis,..
Mỗi
chuẩn nén đều có dạng file đặc trưng. Ví dụ, chuẩn nén Window Media
Audio thì có dạng file .WMA, chuẩn Window Media Video thì có dạng file
.WMV, chuẩn audio Vorbis thì có dạng file .OGG;
Container
là 1 chuẩn file. Nó có thể lưu trữ thông tin video/audio bất kỳ mà 0
cần quan tâm tới video/audio đã được tạo ra bằng cách nào. Chúng ta
thường hay lẫn lộn giữa dạng file và chuẩn nén. Ví dụ: khi nhìn file
.AVI, .MKV thì mình cứ nghĩ là có chuẩn nén AVI, hay chuẩn nén .MKV.
Thực sự, AVI và MKV là các container, nghĩa gốc là "cái chứa" hay "cái
đựng", tạm gọi là dạng file. Có quá nhiều chuẩn nén và chuẩn file nên có
thể xem container là 1 sự “thâu tóm” các chuẩn nén video, audio. AVI
là 1 dạng file rất thông dụng trên mạng. Mặc dù, AVI có thể chứa được
nhiều loại video nhưng gần như, người ta chỉ dùng nó để chứa video DIVX,
XVID. Nhược điểm của AVI là không thể chứa được âm thanh AAC, Vorbis.
MKV
có thể chứa video kiểu Window Media Video, DivX, Xvid, H264/AVC,
RealVideo,... WMV cũng là 1 dạng file nhưng WMV không thể chứa video
MPEG4-ASP(XVID, DIVX), MPEG4-AVC(H264), RealVideo. Qua trên, ta có thể
thấy MKV là dạng file đa năng nhất hiện nay. Nó có thể chứa bất kỳ loại
video, audio nào
Tóm lại là vầy:
-WMV là 1 từ dùng để chỉ container wmv, những cũng là từ chỉ codec của MicroSoft: wmv1, wmv2, wmv3,..
-Thường
thì tên codec và tên container trùng nhau nên mới dẫn tới sự hiểu lầm
như vậy! Với vorbis thì khác à nhe! Tên codec là Vorbis nhưng container
chính thức là .OGG.
Để biết file mình chứa gì thì dùng: Gspot, Avicodec, MediaInfo(tốt nhất). Tất cả đều miễn phí
Encode, Transcode, Compress: Encode
nghĩa là sản sinh mã(code). Transcode nghĩa là chuyển mã. Còn compress
nghĩa là nén. Nhiều bạn (cả tui) sẽ thấy nhiều lúc file nén lại có kích
thước hơn file gốc?
Để hiểu điều này, ta so sánh 2 quy trình sau:
Để hiểu điều này, ta so sánh 2 quy trình sau:
Quy trình xem 1 phim:
File
phim --> tách hình và tiếng --> hình sẽ được codec hình giải mã
rồi gởi ra màn hình, còn tiếng được codec âm thanh giải mã thành PCM và
đưa ra sound card.
Quy trình nén xem 1 file .doc nằm trong file RAR
Double
click lên file RAR, rồi double click file .doc--> giải nén file .doc
vào thư mục tạm---> kêu MS Word mở file .doc mới vừa bung ra
Bạn
mở 1 file .rar chứa 1 file .doc. Bạn double click vô file .doc đó
--> Winrar sẽ giải nén file .doc ra thư mục tạm, rồi bật Word lên. Vì
sao ? Vì Word 0 thể hiểu .rar. Nó chỉ hiểu .doc thôi! Nó chỉ hiểu được thông tin được tổ chức theo kiểu .doc, chứ 0 hiểu được thông tin được tổ chức theo kiểu .rar. Chỗ này hiểu hôn ? Phải biết hiểu tập tin là gì nhe! Tập tin là “tập hợp các tin tức lại” ,
Màn hình cũng vậy! Nó chỉ hiển thị được khi mình cung cấp cho nó thông tin màu sắc của từng điểm. Sound card cũng vậy! Nó chỉ hiểu được âm thanh PCM(âm thanh thô trên máy tính)
Quy trình làm việc của 1 chương trình biên tập hình/tiếng: giả sử có file MPG rồi chuyển thành DivX/ MP3
- Giai đoạn 1: File MPG--> giải nén hình MPEG ra dạng thô, âm thanh MPEG ra dạng PCM bằng decoder(bộ giải mã)
- Giai đoạn 2: hình đưa cho encoder DivX, còn âm thanh đưa cho LameMP3
Nén file zip bằng Winrar: giả sư bạn có 1 file .doc, nén thành .zip, rồi nén file .zip thành .rar
- Giai đoạn 1: .doc --> zip bằng Winzip
- Giai đoạn 2: Winrar sẽ nén .zip thành .rar
Bạn
có thấy sự khác nhau không? Winrar đã 0 giải nén file .zip thành .doc
rồi sau đó nén .doc thành .rar . Nó làm việc trực tiếp trên file .zip
Rõ
ràng, DivX/Mp3 làm việc trên dữ liệu thô, chứ 0 phải là hình
MPEG/âmthanh MPEG . Do đó, nếu DivX/Mpeg mà “yếu hơi” hơn MPEG thì chắc
cú file thu được sẽ bự hơn file-gốc. May thay là hổng có :D Nếu file gốc
là WMV mà thành MPEG thì bự là chắc cú. (WMV --> MPEG, là burn đĩa video từ WMV đó)
Hãy xem xét quy trình làm việc này:
gốc--> MPEG-->giải nén MPEG--> encoder WMV --> giải nén thì
có thu được như gốc 0? Không! Vì MPEG là 1 thuật giải lossy, do vậy mà
hình ảnh cung cấp cho encoder WMV đã 0 còn như gốc. Một lần nữa, WMV lại
là encoder lossy. Bởi vậy, khi xem file WMV tạo ra ở trên thì sẽ thấy
càng khác xa so với gốc. “Khác” thường là tệ hơn :D
Bởi vậy, thực sự nếu biên tập, chuyển đổi định dạng video/audio thì thực sự là “encode”. Nếu cho chất lượng tương đương thì là “transcode”. Khi nào mới kêu là “compress” ?....
Bởi vậy, thực sự nếu biên tập, chuyển đổi định dạng video/audio thì thực sự là “encode”. Nếu cho chất lượng tương đương thì là “transcode”. Khi nào mới kêu là “compress” ?....
Encoder lần hai tốt hơn nhưng file đích vẫn lớn là sao? Chắc là do bạn chưa cấu hình cho encoder.
CBR, ABR, VBR:
constant bitrate: tốc độ bit cố định.
avarage bitrate: tốc độ bit trung bình
variable bitrate: tốc độ bit thay đổi
Khi điều chỉnh thông số cho encoder thì ta hay gặp mấy từ này. CBR sẽ kêu encoder lấy thông tin đều đều trong khi dữ liệu thực tế thì 0 “đều”. ví dụ: đoạn yêu đương thì im hơi lặng tiếng, đoạn ở chợ thì ồn ào. Rõ ràng chỗ im lặng thì 0 nên lấy dữ liệu nhiều. Giả sử, đoạn này dài 10s, bitrate là 100kbs thì ta phải dùng 1000kb để lưu đoạn này. Ở chỗ im lặng, dữ liệu đa số là 0, lấy nhiều thì chỉ toàn số 0, mà lấy kĩ thì tai người cũng khó mà phân biệt được sự khác nhau.
Còn ABR, encoder sẽ lấy thông tin nhiều ít tùy theo chỗ nhưng bitrate cuối cùng là biết được( do bitrate của nó trung bình mà!)
Cuối cùng là VBR, bitrate thay đổi nên kích thước file là 0 biết trước được(cũng tùy theo codec). Hiện nay, các encoder thường có thêm chế độ Q. Cái này là tốt nhất
constant bitrate: tốc độ bit cố định.
avarage bitrate: tốc độ bit trung bình
variable bitrate: tốc độ bit thay đổi
Khi điều chỉnh thông số cho encoder thì ta hay gặp mấy từ này. CBR sẽ kêu encoder lấy thông tin đều đều trong khi dữ liệu thực tế thì 0 “đều”. ví dụ: đoạn yêu đương thì im hơi lặng tiếng, đoạn ở chợ thì ồn ào. Rõ ràng chỗ im lặng thì 0 nên lấy dữ liệu nhiều. Giả sử, đoạn này dài 10s, bitrate là 100kbs thì ta phải dùng 1000kb để lưu đoạn này. Ở chỗ im lặng, dữ liệu đa số là 0, lấy nhiều thì chỉ toàn số 0, mà lấy kĩ thì tai người cũng khó mà phân biệt được sự khác nhau.
Còn ABR, encoder sẽ lấy thông tin nhiều ít tùy theo chỗ nhưng bitrate cuối cùng là biết được( do bitrate của nó trung bình mà!)
Cuối cùng là VBR, bitrate thay đổi nên kích thước file là 0 biết trước được(cũng tùy theo codec). Hiện nay, các encoder thường có thêm chế độ Q. Cái này là tốt nhất
GUI là gì ?
Nếu xài các chương trình do tui giới thiệu, hoặc là có vô forum thảo
luận thì rất hay gặp từ này. GUI là viết tắt của chữ Graphics User
Interface, nghĩa là giao diện người dùng dạng đồ họa. Giao diện là phần
giao tiếp với người dùng, nhận yêu cầu và thông báo cho người dùng. Giao
diện đồ họa là các hộp thoại thông báo, các nút nhấn, các icon trực
quan, dễ hiểu mà ta thường xài hàng ngày. Chương trình thường gồm=codec +
giao diện. GUI sẽ nhận yêu cầu của người dùng, cho phép người dùng điều
chỉnh thông số codec, .... Khi bạn yêu cầu nó encode thì GUI sẽ giao
việc cho codec. Sở dĩ, phân chia nhiệm vụ như vậy thì chắc là ai cũng
đoán được. “Chia để trị” cho khỏe! Mỗi người một việc, 0 phải ôm đồm quá
nhiều thứ.
Một
số GUI như Megui, BeHappy, BeLight, MKVExtractGUI. Nếu bạn download
Belight về mà xài không được thì bình thường. Vì nó là GUI của BeSweet.
Nếu bạn chưa có BeSweet thì hãy download về rồi để chung thư mục với
BeLight là xài được. Thường thì “người làm việc” và “người giao tiếp”
phải ở chung thư mục với nhau nhưng có 1 số GUI cho phép bạn chọn đường
dẫn như Megui,..
Ngoài
giao diện đồ họa thì còn loại giao diện nào nữa hôn? Có! Giao diện dòng
lệnh(Command Line hay CLI) hoặc giao diện văn bản. cmd
của Window là 1 ví dụ. Nếu bạn encode bằng Besweet, x264 thì bạn phải
mở cmd lên, gõ, gõ. Trong khi nếu xài Megui, Belight thì ta chỉ cần
click chuột thôi! Quá khỏe!
Chỉ
có 1 số hãng lớn mới viết codec lẫn GUI: Nero, MainConcept, DivX.. Còn
các phần mềm như Aurora Workshop , Blaze, VirtualDub, Megui chỉ là các
GUI.
GUI
ra sao mới là tốt? Các GUI thương mại thường rất đơn giản. Toàn xài
profile. Bạn chỉ cần click 2-3 cái là xong. Các Profile đó 0 phải lúc
nào cũng phù hợp. Virtual Dub, Megui cho phép chọn thông số cho codec.
Dĩ nhiên thêm các tính năng khác như: co dãn, cắt, xén....
http://thuongshoo.blogspot.com/2007/04/mt-s-khi-nim-thng-gp-trong-lnh-vc-m.html