eipi10
Senior Member
Mình nghĩ thế này, mỗi codec/thuật toán (lossy) được tạo ra để đáp ứng 1 mục tiêu khác nhau. Ví dụ có loại A được tạo ra để phục vụ cho việc tối ưu âm thanh nhất cho bitrate thấp (để tiết kiệm dung lượng và streaming nhưng chất lượng vẫn phải ổn). Ngược lại, có loại B được tạo ra để mô phỏng lossless càng giống càng tốt (cho chất lượng cao nhất).Nghe có vẻ cao siêu và khá bất ngờ. Cho nên nếu có thể bác dành ít thời gian nói thêm và rõ hơn.
Mình hiểu ý mà bác nói thế này liệu có đúng? Tức là mỗi codec đều có một bitrate tối ưu khác nhau, chứ không phải là cứ bitrate cao thì mới là tốt?
Điều này nghe rất là nghịch lý này vì thông thường ai cũng sẽ hiểu rằng với cùng một codec thì bitrate càng cao thì luôn có chất lượng tốt hơn. Nên mong bác nói kĩ hơn và phân tích tại sao lại có chuyện ngược đời như bác nói.
Tiếp, chữ tối ưu trong "mp3 190kbps tối ưu hơn" được hiểu như thế nào? Được hiểu là nó mang lại chất lương âm thanh tốt hơn, hay là nó mang lại chất lượng âm thanh xét trên việc mà nó tiết kiệm được nhiều dung lượng (1 cách nói tương tự như p/p) tốt hơn? Nếu hiểu theo nghĩa chất lượng âm thanh tốt hơn thì cụ thể là nó tốt hơn như thế nào?
Tuy nhiên, cái gì cũng có đánh đổi, loại A tối ưu các dải tần dễ nghe (phủ đầy nhất các dải ấy để người nghe bình thường vẫn thấy chất lượng ổn) thì khi lên bitrate cao sẽ bị hụt hơn so với loại B. Bù lại loại B vẫn có thể dính trường hợp chấp nhận bị hụt vài chỗ ở dải tần thấp (để bù lại việc phải cố gắng mô phỏng lossless đến cả các dải tần cao nhất).
Còn trong trường hợp cùng 1 codec mà khác bitrate thì đa phần bitrate sẽ phải tốt hơn bitrate thấp. Nhưng có thể trong vài trường hợp thuật toán khi cố gắng khắc phục nhược điểm phía trên sẽ gặp vấn đề:
- Loại A khi lên bitrate cao lại có xu hướng cố gắng phủ đầy giống như bitrate thấp, dẫn đến bị mất phổ ở dải tần thấp 1 cách ko mong muốn;
- Loại B đã cố gắng đẩy bitrate xuống thấp rồi nhưng do xu hướng mô phỏng lossless nên thay vì cắt dải tần cao để đảm bảo dải tần thấp vẫn đầy đủ thì phổ nó lại mỏng đều ở tất cả các dải.
Trang của ffmpeg có viết rõ ấy, mỗi loại nên dùng với những bitrate nào trở lên. Opus và vorbis là 2 trong các loại lossy tốt nhất hiện nay, nhưng thường thì nó được dùng cho bitrate cao (128kbps trở lên) là phù hợp. AAC HE (high efficiency) là loại hay được dùng nhất cho các bitrate cực kỳ thấp (thường của mấy web phim lậu).
https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio
Hoặc ví dụ với trường hợp AAC, hiện nay có 2 encoder phổ biến cho AAC, AAC thường (của ffmpeg) và AAC Fraunhofer (fdk). FDK AAC thì cho chất lượng cao hơn AAC thường, nhưng khi mình convert từ lossless sang 2 loại để so sánh, thì chính AAC thường nó lại có xu hướng đẩy dải tần lên gần lossless hơn. Nhưng so về dải tần thấp thì phổ lại "lủng" nhiều hơn. FDK AAC phổ trung và thấp tốt hơn nhưng lại bị cắt dải tần ngang ở mốc nào đó (mặc định ở tầm 14-18khz), và cũng đã có khuyến cáo là nếu đẩy dải tần FDK lên cao có thể ảnh hưởng đến chất lượng chung của cả bài nhạc.
https://trac.ffmpeg.org/wiki/Encode/AAC
Nói chung là tùy vào từng bài nhạc, có khi bài với dải tần cao nhiều hơn sẽ ko phù hợp loại codec có khuynh hướng ưu tiên dải tần thấp và ngược lại. Đó là lí do có người thích nghe nền tảng này hơn nền tảng kia.
Last edited: