Các loại metadata block

Một phần của tài liệu đồ án công nghệ thông tin XÂY DỰNG CHƯƠNG TRÌNH CHƠI NHẠC FLAC TRÊN T-ENGINE BOARD (Trang 48 - 50)

Bảng 2 .1 Kết quả mã hóa các kí tự bằng mã Huffman

Bảng 3.1 Các loại metadata block

FLAC hỗ trợ 128 loại metadata block, hiện có các loại sau:

 STREAMINFO: chứa thông tin về

toàn bộ stream như tần số lấy mẫu, số kênh, tổng số mẫu … Nó là block metadata đầu tiên của stream, bắt buộc phải có trong stream.

BLOCK TYPE Valu e Type 0 STREAMINFO 1 PADDING 2 APPLICATION 3 SEEKTABLE 4 VORBIS_COMMENT 5 CUESHEET 6 PICTURE 7-126 Reserved 127 Invalid

Hình 3.2: Cấu trúc của Streaminfo metadata

 APPLICATION: block này được sử dụng bởi bên thứ 3, gồm một trường 32 bit để

định danh.

Application ID Application Data

0 31 32

Hình 3.3: Cấu trúc của Application metadata

 PADDING: block này cho phép đệm một số lượng tùy ý.. Nội dung chứa trong

block này không có ý nghĩa, chỉ hữu dụng khi là một metadata được chỉnh sửa sau khi mã hóa. Người dùng có thể chỉ định bộ mã hóa dự trữ một khối đệm có kích thước vừa đủ để khi metadata được thêm vào, nó chỉ đơn giản là ghi đè lên thay vì phải chèn đúng chỗ trong file (thường là phải viết lại toàn bộ file).

 SEEKTABLE: Đây là một block tùy chọn để lưu trữ các seek point. Nó có thể tìm

kiếm bất kì mẫu nào mà không cần một seek table, nhưng delay có thể không được đoán trước vì bitrate có thể khác biệt lớn trong stream. Bằng cách thêm vào seek point trong stream, delay có thể giảm đáng kể. Mỗi seek point mất 18 byte, vì vậy 1% giải quyết trong một stream mất ít hơn 2K. Có thể chỉ có một SEEKTABLE trong một stream, nhưng một table có thể có nhiều seek point.

Kích thước block nhỏ nhất(tính bằng mẫu) Kích thước block lớn nhất(tính bằng mẫu)

0 15 16 31

Kích thước frame nhỏ nhất(tính bằng bytes) Kích thước frame nhỏ nhất(tính bằng bytes)

32 55 56 79

Tần số mẫu(Hz) Số kênh Số bit trên mẫu

80 99 100 102 103 107

Tổng số mẫu

108 143

Tổng MD5 của dữ liệu PCM

Hình 3.4: Cấu trúc của Seektable metadata

 VORBIS_COMMENT: block này lưu một danh sách tên người được mã hóa bằng

UTF-8. Đây là cơ chế tagging được hỗ trợ trong FLAC. Có lẽ chỉ có một block VORBIS_COMMENT trong stream.

Hình 3.5: Cấu trúc của Vorbis_comment metadata

Một phần của tài liệu đồ án công nghệ thông tin XÂY DỰNG CHƯƠNG TRÌNH CHƠI NHẠC FLAC TRÊN T-ENGINE BOARD (Trang 48 - 50)

Tải bản đầy đủ (DOC)

(90 trang)
w