Cú pháp dòng cơ sở đóng gói

Một phần của tài liệu PHÂN TÍCH DÒNG TRUYỀN TẢI MPEG (MPEG TRANSPORT STREAM) (Trang 32 - 37)

Hình 2.9: Cú pháp gói PES

1. Mã tiền tố khởi đầu (PES start code prefix): đây là mã 24-bit có giá trị là 0x000001. Mã này xác định điểm bắt đầu của một gói PES.

Tiêu đề cụm PES chứa SCR

Video Audio Video Audio Video

Gói PES

Cụm

STREAM ID

(1BYTE) LENGTH (2 BYTE)PES PACKET HEADERPES STUFFING BYTES PES START CODE

PREFIX (3 BYTE) PES PACKETDATA

PES SCRAMBLING CONTROL (2 BIT) PES PRIORITY (1 BIT) DATA ALIGNMENT INDICATOR (1 BIT) COPYRIGHT

(1 BIT) ORIGINALOR COPY (1 BIT)

7 FLAGS

(8 BIT) PES HEADERDATA LENGTH

(8 BIT) “10”

(2 BIT) OPTIONALFIELDS

ESCR (48 BIT) ES RATE (24 BIT) PES EXTENSION PTS DTS (40 BIT) ADDITIONAL COPY INFO (8 BIT) DSM TRICK MODE (8 BIT) PES CRC (16 BIT) 5 FLAGS OPTIONAL FIELDS PES PRIVATE DATA PACK HEADER FIELD PROGRAM PACKET SEQ COUNTER (16 BIT) P- STD BUFFER (16 BIT) PES EXTENSION FIELD

2. Nhận dạng dòng (stream ID): mã 8-bit xác định loại của dữ liệu chứa trong dòng cơ sở.

3. Độ dài gói PES (PES packet length): trường 16-bit, chỉ ra số byte của gói cơ sở đóng gói đi sau trường này.

4. Các byte tiêu đề và đệm PES:

4.1. Các byte đệm (stuffing bytes): có giá trị cố định là 0xFF, được bộ mã hóa chèn thêm vào gói PES, đến bộ giải mã các byte này được bỏ qua.

4.2. Điều khiển đảo mã PES (PES scrambling control): trường 2-bit. Giá trị và ý nghĩa được cho theo bảng sau:

Giá trị Ý nghĩa

00 Không đảo mã

01 Người dùng tự định nghĩa 10 Người dùng tự định nghĩa 11 Người dùng tự định nghĩa

4.3. Ưu tiên PES (PES priority): trường 1 bit, chỉ thị mức ưu tiên của tải tin ở trong gói PES này. Những gói có giá trị trường này là “1” sẽ được ưu tiên hơn những gói có giá trị “0”.

4.4. Chỉ thị sắp xếp dữ liệu (data alignment indicator): trường cờ 1 bit. Khi cờ này có giá trị “1” nghĩa là có sự sắp xếp dữ liệu, giá trị “0” nghĩa là không có sự sắp xếp.

4.5. Bản quyền tác giả (copy right): trường 1 bit. Giá trị “1” có nghĩa là dữ liệu trong gói được bảo vệ bởi quyền tác giả, giá trị “0” có nghĩa là không được bảo vệ.

4.6. Bản gốc hay là bản sao (original or copy): trường 1 bit. Khi trường này mang giá trị “1” nghĩa là nội dung của phần tải tin trong gói PES này là bản gốc. Còn khi có giá trị “0” thì có nghĩa là nội dung trong đó là bản sao.

4.7. Các giá trị cờ (flags):

4.7.1. Cờ nhãn thời gian (PTS DTS flags): trường 2-bit.

Giá trị “10”: nhãn thời gian trình diễn (PTS – presentation time stamp) có trong tiêu đề của gói PES. (adsbygoogle = window.adsbygoogle || []).push({});

Giá trị “11”: cả nhãn thời gian trình diễn PTS và nhãn thời gian giải mã (DTS – decode time stamp) đều có trong tiêu đề của gói PES.

Giá trị “00”: cả hai nhãn thời gian đều không có. Giá trị “01”: bị cấm dùng.

4.7.2. Cờ ESCR (Elementary Stream Clock Reference Flag): trường 1 bit. Khi được đặt là “1” có nghĩa là giá trị của ESCR có trong tiêu đề của gói PES. Giá trị trường là “0” có nghĩa là không có ESCR trong tiêu đề của gói PES này.

4.7.3. Cờ RATE (ES rate flag): trường 1 bit, thể hiện sự có mặt hay không của trường ES rate trong tiêu đề của gói PES.

4.7.4. Cờ TM (DSM trick mode flag): cờ 1 bit, thể hiện sự có mặt của trường 8-bit mô tả hoạt động của Phương tiện lưu trữ số (DSM – Digital Storage Media).

4.7.5. Cờ ACI (additional copy information flag): cờ 1 bit, thể hiện sự có mặt của trường thông tin thêm về loại dữ liệu (bản gốc hay là bản sao).

4.7.6. Cờ CRC (PES CRC flag) : cờ 1 bit, thể hiện sự có mặt của trường kiểm tra dư thừa vòng CRC (Cyclic Redundancy Check) trong tiêu đề của gói PES.

4.7.7. Cờ EXT (PES extension flag): cờ 1 bit, thể hiện sự có mặt của trường mở rộng (extension field) trong tiêu đề của gói PES.

4.8. Chiều dài dữ liệu tiêu đề (PES header data length): trường 8-bit, chỉ định số byte của trường tùy chọn và các byte đệm trong tiêu đề của gói PES này.

4.9. Trường tùy chọn (optional field):

4.9.1. Nhãn thời gian trình diễn (PTS – Presentation Time Stamp): được sử dụng để xác định thời điểm một đơn vị dữ liệu được thể hiện ở máy thu.

4.9.2. Nhãn thời gian giải mã (DTS – Decode Time Stamp): được sử dụng để xác định thời điểm một đơn vị dữ liệu được đưa đến bộ giải mã.

4.9.3. Chuẩn đồng hồ dòng cơ sở (ESCR – Elementary Stream Clock Reference): trường 48-bit, trong đó 42-bit được dùng để biểu diễn các trường ESCR cơ sở (ESCR base) và ESCR mở rộng (ESCR extension).

4.9.4. Tốc độ dòng cơ sở (ES rate - Elementary Stream Rate): trường 24-bit, cho biết tốc độ nhận byte của gói PES khi đến bộ giải mã. Đơn vị đo của trường này là 50 bytes/giây. Giá trị trường này của các gói PES khác nhau có thể thay đổi.

4.9.5. Trường DSM Trick Mode: trường 8-bit, gồm có:

4.9.5.1. Điều khiển phương thức kĩ xảo (trick mode control): cho biết thông tin về kĩ xảo sử dụng trong dòng bit tương ứng như sau:

Giá trị Mô tả 000 Chạy đi nhanh (Fast forward) 001 Chuyển động chậm (Slow motion) 010 Đông khung hình (Freeze frame) 011 Chạy ngược nhanh (Fast reverse) 100 Chạy ngược chậm (Slow reverse) 101 tới 111 Dự phòng

4.9.5.2. Nhận dạng mành (field id): trường 2-bit, chỉ thị những mành nào được thể hiện trên màn ảnh. Giá trị Mô tả 00 Chỉ thể hiện mành 1 01 Chỉ thể hiện mành 2 10 Thể hiện cả 2 mành 11 Dự phòng

4.9.5.3. Phục hồi lát trong ảnh (intra slice refresh): trường 1-bit. Khi trường này mang giá trị “1” có nghĩa là có thể có những macroblocks bị thiếu trong dữ liệu video của gói PES này. Lúc này bộ giải mã sẽ thay những macroblock bị thiếu bởi macroblock tương ứng của hình được giải mã trước đó. Giá trị “0” có nghĩa là không bị thiếu.

4.9.5.4. Cắt tần số (frequency truncation): trường 2-bit, chỉ thị sự hạn chế các hệ số tần số được sử dụng trong mã hóa dữ liệu hình ảnh.

Giá trị Mô tả

00 Chỉ có hệ số 1 chiều là khác 0 01 Chỉ 3 hệ số đầu tiên khác 0 10 Chỉ 6 hệ số đầu tiên khác 0

11 Tất cả các hệ số đều có thể khác 0

4.9.6. Trường thông tin cộng thêm (additional copy info): trường 7-bit chứa những dữ liệu cá nhân liên quan đến thông tin về bản quyền tác giả.

4.9.7. PES CRC: trường 16-bit, mang thông tin về mã sửa sai (mã kiểm tra dư thừa vòng – Cyclic Redundancy Check) của dòng PES.

4.9.8. Trường mở rộng (PES extension): 4.9.8.1. Các trường cờ (5 flags):

• Cờ dữ liệu cá nhân (PES private data flag): thể hiện sự có mặt hay không của dữ liệu cá nhân.

• Cờ trường tiêu đề cụm (pack header field flag): thể hiện sự có mặt hay không của tiêu đề cụm (pack header).

• Cờ đếm thứ tự gói chương trình (program packet sequence counter): Khi trường này mang giá trị “1” thì trong gói PES này sẽ có các trường sau: program packet sequence counter, MPEG1 MPEG2 identifier, và trường original stuff length. Nếu giá trị là “0” thì sẽ không có các trường nêu trên.

• Cờ đệm hệ thống giải mã dòng chương trình (P-STD buffer flag - Program stream system target decoder buffer flag): cờ 1 bit, khi mang giá trị “1” nghĩa là các trường sau có trong gói PES: P-STD buffer sizeP-STD buffer scale. (adsbygoogle = window.adsbygoogle || []).push({});

• Cờ mở rộng PES (PES extension flag): cờ 1-bit, khi đặt giá trị “1” nghĩa là trong gói PES có trường PES extension field length và các trường có liên quan.

4.9.8.2. Trường tùy chọn (optional field)

• Dữ liệu cá nhân (PES private data): trường 16-bit mang dữ liệu cá nhân.

• Trường tiêu đề cụm (pack header field).

• Bộ đếm thứ tự gói chương trình (program packet sequence counter): trường 7-bit có chức năng đếm các gói PES. Giá trị trường này sẽ trở về “0” sau khi đạt chỉ số lớn nhất.

• Bộ đệm hệ thống giải mã dòng chương trình (P-STD buffer - Program stream system target decoder buffer ).

Một phần của tài liệu PHÂN TÍCH DÒNG TRUYỀN TẢI MPEG (MPEG TRANSPORT STREAM) (Trang 32 - 37)