103
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Văn Hoan PHÂN TÍCH DÒNG TRUYỀN TẢI MPEG (MPEG TRANSPORT STREAM) KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ điện tử viễn thông Cán bộ hướng dẫn: TS Ngô Thái Trị

Phan Ticn Dong Truyen Tai Mpeg

Embed Size (px)

Citation preview

Page 1: Phan Ticn Dong Truyen Tai Mpeg

ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trần Văn Hoan

PHÂN TÍCH DÒNG TRUYỀN TẢI MPEG

(MPEG TRANSPORT STREAM)

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ điện tử viễn thông

Cán bộ hướng dẫn: TS Ngô Thái Trị

HÀ NỘI - 2008

Page 2: Phan Ticn Dong Truyen Tai Mpeg

Trần Văn Hoan K49Đ Khóa luận tốt nghiệp

Tóm tắt nội dung

Luận văn được trình bày trong 3 chương :

Chương 1: Giới thiệu tổng quát nhất về chuẩn nén MPEG, lý do cần phải nén dữ

liệu, các nguyên tắc cơ bản được sử dụng trong chuẩn nén MPEG áp dụng cho dữ liệu

hình ảnh cũng như âm thanh, giới thiệu những đặc điểm chung nhất của các chuẩn nén

MPEG1, 2, 4 và 7, chương này cũng chỉ ra cách hình thành dòng bit MPEG.

Chương 2: Mô tả cách thức hình thành, cấu trúc của dòng cơ sở ES, lý do cần thiết

phải chia dòng cơ sở thành các gói, cách thức tạo ra các gói cơ sở đóng gói PES đồng

thời phân tích cấu tạo của một gói PES.

Chương 3: Phân tích cách tạo thành dòng truyền tải MPEG, hoạt động của dòng

truyền tải, phân tích chi tiết cấu tạo và nhiệm vụ của từng trường trong gói truyền tải,

cuối cùng là chỉ ra những đặc điểm ưu việt của dòng truyền tải MPEG làm cho chuẩn

nén này có những ứng dụng rộng rãi trong thực tế.

- i -

Page 3: Phan Ticn Dong Truyen Tai Mpeg

Trần Văn Hoan K49Đ Khóa luận tốt nghiệp

Mục lục

Trang phụ bìa.......................................................................................................................

Tóm tắt nội dung................................................................................................................ i

Mục lục..............................................................................................................................ii

Bảng các kí hiệu viết tắt...................................................................................................iv

Mở đầu...............................................................................................................................1

Chương 1 : Tổng quan về MPEG......................................................................................2

1.1. Giới thiệu ..................................................................................................................2

1.2. Ứng dụng của nén dữ liệu:........................................................................................4

1.3. Mã hóa không tổn hao và mã hóa dự đoán được......................................................5

1.4. Nguyên lí cơ bản của nén..........................................................................................7

1.5. Nén video..................................................................................................................9

1.5.1. Nén trong ảnh....11

1.5.2. Nén liên ảnh......11

1.5.3. Giới thiệu về phép

bù chuyển động. 12

1.6. Giới thiệu về MPEG-1............................................................................................13

1.7. MPEG-2 cùng với các Profile và Level..................................................................14

1.8. Giới thiệu về MPEG -4...........................................................................................16

1.9. Giới thiệu về MPEG-7..........................................................................................18

1.10. Nén âm thanh........................................................................................................18

1.11. Dòng bit MPEG....................................................................................................20

Chương 2: Dòng cơ sở (elementary stream) và dòng cơ sở đóng gói (packetized

elementary stream)..........................................................................................................22

2.1. Dòng cơ sở (elementary stream).............................................................................22

2.2. Dòng cơ sở đóng gói (packetized elementary stream)............................................24

2.2.1. Giới thiệu chung về dòng cơ sở đóng gói............................................................24

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

2.2.3. Cấu trúc chi tiết...................................................................................................32

Chương 3: Dòng truyền tải..............................................................................................38

- ii -

Page 4: Phan Ticn Dong Truyen Tai Mpeg

Trần Văn Hoan K49Đ Khóa luận tốt nghiệp

3.1. Giới thiệu chung về dòng truyền tải:.......................................................................38

3.2. Chuẩn đồng hồ (clock references)...........................................................................39

3.3. Giải mã dòng truyền tải...........................................................................................41

3.4. Phân tích cú pháp dòng truyền tải...........................................................................43

3.5. Đặc điểm dòng truyền tải MPEG............................................................................60

3.6. Tính linh hoạt của dòng truyền tải:.........................................................................61

Kết luận............................................................................................................................62

Tài liệu tham khảo...........................................................................................................63

- iii -

Page 5: Phan Ticn Dong Truyen Tai Mpeg

Trần Văn Hoan K49Đ Khóa luận tốt nghiệp

Bảng các kí hiệu viết tắt

ABU Asia-Pacific Broadcasting Union

ANSI American National Standard Institute

ATSC Advance Television System Committee

CAT Conditional Access Table

CRC Cyclical Redundancy Checking

DCT Discrete Cosine Transform

DTS Decoding Time Stamp

DVB Digital Video Broadcasting

EBU European Broadcasting Union

ES Elementary Stream

GOP Group of Picture

HDTV High-definition Television

IEC International Electrotechnical Commission

ISO International Organization for Standardization

ITU International Telecommunication Union

MPEG Moving Pictures Experts Group

NIT Network Information Table

PAT Program Association Table

PCR Program Clock Reference

PES Packetized Elementary Stream

PID Packet Identification

PMT Program Map Table

PSI Program Specific Information

PTS Presentation Time Stamp

RLC Run Length Coding

SCR System Clock Reference

SDTV Standard Definition Television

TS Transport Stream

- iv -

Page 6: Phan Ticn Dong Truyen Tai Mpeg

Trần Văn Hoan K49Đ Khóa luận tốt nghiệp

Mở đầu

Công nghệ số từ khi ra đời đã ngày càng thể hiện tính ưu việt và thay thế dần công

nghệ tương tự vốn không hiệu quả và lỗi thời. Ngày nay việc số hóa được thực hiện trên

mọi dạng thức của dữ liệu, từ văn bản tới hình ảnh và âm thanh. Các mạch điện tử tích

hợp được nghiên cứu chế tạo ngày càng nhiều có hiệu năng tính toán ngày càng cao, độ

tin cậy ngày càng chính xác làm cho công nghệ số ngày càng phát triển.

Trong xu hướng số hóa mọi dạng dữ liệu như trên thì việc số hóa tín hiệu video là

một sự tất yếu. Tuy nhiên tín hiệu video được số hóa có dung lượng quá lớn dẫn đến việc

lưu trữ và truyền dẫn hầu như không thể thực hiện được. Do đó nảy sinh nhu cầu nén tín

hiệu video. Nhiều chuẩn nén được ra đời là kết tinh công sức của các chuyên gia, các nhà

khoa học hàng đầu trên thế giới. Trong số các chuẩn nén đó thì chuẩn MPEG là chuẩn

nén phổ biến nhất, có ứng dụng rộng rãi nhất. Chuẩn nén này đã được nghiên cứu, phát

triển trong nhiều năm và đã giải quyết tốt bài toán nén tín hiệu video, kết quả là có thể

đáp ứng một cách rất đa dạng các yêu cầu trong thực tế.

Một thành phần quan trọng bậc nhất trong chuẩn nén MPEG là dòng truyền tải

MPEG (MPEG Transport Stream). Nhờ có dòng truyền tải mà dữ liệu có thể được đưa từ

nơi phát tới nơi thu một cách dễ dàng, chính xác và an toàn. Hơn nữa dòng truyền tải còn

rất mềm dẻo và linh hoạt, vừa hỗ trợ tốt cho các ứng dụng hiện tại vừa đảm bảo dễ dàng

cho sự phát triển trong tương lai.

Nhằm mục đích tìm hiểu một cách sâu sắc về cấu tạo và hoạt động của dòng truyền

tải MPEG, em đã chọn đề tài này với mong muốn có được sự hiểu biết về một chuẩn nén

có ứng dụng rộng rãi nhất trong thực tế.

Em xin chân thành cảm ơn thầy Ngô Thái Trị, người đã tận tình chỉ bảo và giúp đỡ

em trong quá trình làm luận văn, thầy đã chỉ cho em phương pháp nghiên cứu và cách

trình bày luận văn một cách khoa học. Em cũng xin cảm ơn các thầy cô trong Khoa Điện

tử viễn thông đã chỉ bảo cho em trong suốt quá trình học tập. Em xin cảm ơn gia đình và

bạn bè đã giúp đỡ để em có thể hoàn thành luận văn này.

Hà Nội, 5/2008

- 1-

Page 7: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Chương 1: Giới thiệu tổng quan về MPEG

1.1. Giới thiệu:

MPEG là viết tắt của cụm từ Moving Pictures Experts Group được thành lập bởi tổ

chức ISO (International Standards Organization) nhằm thiết lập chuẩn cho việc nén và

truyền tải cả dữ liệu hình ảnh và dữ liệu âm thanh.

Hình 1.1: (a) tổng quan của một hệ thống có nén, bên phía nguồn sử dụng bộ nén

gọi là compressor hay coder, bên phía nhận sử dụng bộ giải nén là expander hay decoder,

(b) minh họa sự bất đối xứng trong hệ thống, bộ mã hóa luôn phải phức tạp hơn bộ giải

mã.

Việc nén dữ liệu là tất yếu cần thiết do hai lý do chính sau đây. Thứ nhất là do lưu

trữ: dữ liệu sau khi nén có dung lượng nhỏ hơn, do vậy cần ít không gian lưu trữ hơn. Thứ

hai là do băng thông: dữ liệu sau khi nén có tốc độ bit thấp hơn nên cần băng thông ít hơn.

Tỉ lệ giữa tốc độ bit của nguồn so với tốc độ bit của kênh truyền gọi là tỉ lệ nén

Compression factor hay là Coding gain.

Hệ thống truyền tải là bất đối xứng. Bộ mã hóa cần phải thông minh để thích ứng

linh hoạt với phần dữ liệu cần mã hóa, còn bộ giải mã chỉ cần làm đơn giản để có thể hiểu

được thông tin của kênh truyền mang tới. Điều này thích hợp cho hoạt động quảng bá khi

- 2-

Nguồn dữ liệu

Bộ giải nénBộ nénKênh truyền Dữ liệu đã

giải nén

Bộ giải mã đơn giản

Bộ mã hóa phức tạp Dòng bit

chuẩn

(a)

(b)

Dữ liệu vào

Page 8: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

mà số lượng thiết bị mã hóa ít còn số lượng bộ giải mã là rất nhiều. Với những ứng dụng

kiểu điểm-điểm thì hướng thiết kế như vậy không thể hiện được tính ưu việt.

Hình 1.2: (a) MPEG định nghĩa giao thức giữa bộ mã hóa và bộ giải mã. (b) Hướng

thiết kế của MPEG là cho phép tạo ra bộ mã hóa tốt hơn trong tương lai nhưng vẫn đảm

bảo tương thích với bộ giải mã hiện có. (c) Chi tiết thiết kế của bộ mã hóa không nhất

thiết phải công khai, đó có thể là bí mật thương mại của nhà sản xuất.

Hướng tiếp cận của MPEG là hết sức đúng đắn bởi vì chuẩn nén này không chuẩn

hóa bộ mã hóa hay giải mã mà là chuẩn hóa dòng bít. Dòng bít đảm bảo cho sự phát triển

của bộ mã hóa trong tương lai có thể cho chất lượng tốt hơn nhưng những bộ giải mã hiện

- 3-

Bộ mã hóa Bộ giải mãTín hiệu Video Tín hiệu VideoDòng bit

MPEG định nghĩa phần này

Bộ mã hóa không được định nghĩa bởi MPEG

trừ việc phải tạo ra dòng bit chuẩn

Bộ giải mã phải có khả năng hiểu được tất cả mọi dòng bit chuẩn

Không định nghĩa

Bộ mã hóa hiện tại

Bộ giải mã hiện tại

Bộ mã hóa trong tương lai

Bộ mã hóa có cấu trúc bí mật

Dòng bit chuẩn

Dòng bit chuẩn

Dòng bit chuẩn

Bộ giải mã hiện tại vẫn có khả năng làm việc

Bộ giải mã có thể làm việc được

(a)

(b)

(c)

Page 9: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

nay vẫn có thể làm việc được, thậm chí có thể giải mã ngay cả khi bộ mã hóa là một bí

mật thương mại.

MPEG hầu như không đề cập gì về cấu trúc và hoạt động của bộ giải mã, mà chỉ đưa

ra cấu trúc của dòng bít và mọi bộ giải mã đều có khả năng giải mã dòng bit chuẩn này,

mặc dù một số thiết kế sẽ cho ra chất lượng tốt hơn thiết kế khác. Cấu trúc của bộ giải mã

không cần phải thể hiện ra dòng bít và do vậy nhà sản xuất có thể sử dụng những thuật

toán khác nhau, chi tiết trong công nghệ của họ không cần phải công khai cho tất cả cùng

biết. Điều này tạo nên sự cạnh tranh giữa các nhà sản xuất nhằm tạo ra thiết bị tối ưu nhất.

Và người sử dụng có thể có nhiều lựa chọn hơn.

MPEG không những là một chuẩn nén, mà còn định nghĩa cách thức và cú pháp để

có thể kết hợp hoặc trộn lẫn audio và video để tạo nên một chương trình truyền hình số

tương đương. Nhiều chương trình có thể kết hợp với nhau tạo ra một dòng kết hợp.

MPEG định nghĩa cách tạo và vận chuyển dòng kết hợp này. Định nghĩa này cũng nêu ra

những yêu cầu phần cứng mà bộ giải mã cần phải thỏa mãn để có thể giải mã chính xác

và người sử dụng cần gì để có thể tìm thấy chương trình của mình.

Vấn đề đồng bộ ở đây là vấn đề phức tạp bởi dòng kết hợp được tạo ra bởi nhiều

chương trình không nhất thiết phải đồng bộ với nhau.

1.2. Ứng dụng của nén dữ liệu:

Ứng dụng của nén dữ liệu là vô cùng rộng lớn và do vậy tổ chức ISO đã cố gắng tạo

ra một chuẩn nén có thể đáp ứng nhu cầu rộng lớn trong các ứng dụng cần nén.

Chuẩn nén MPEG bao hàm tất cả từ những chuẩn cho màn hình nhỏ cỡ màn hình

của máy điện thoại cho tới những ứng dụng phân giải cao phục vụ cho việc chiếu phim

trong rạp, từ những ứng dụng âm thanh mono đến âm thanh đa kênh và âm thanh vòng.

Trong truyền thông, giá phải trả cho một đường truyền thường tỉ lệ với tốc độ dữ

liệu, và do áp lực tài chính mà người ta luôn muốn sử dụng hệ số nén cao. Song luôn luôn

phải nhớ trong đầu rằng bản thân việc làm tăng được hệ số nén cũng luôn có cái giá phải

trả về mặt kinh tế và điều này là không thể tránh khỏi.

Trong trường hợp video theo yêu cầu, công nghệ được nghiên cứu để có thể truyền

tải đầy đủ băng thông của video đến người sử dụng, song nếu như vậy thì quá đắt đỏ, nếu

không nén HDTV cần quá nhiều băng thông, nếu được nén HDTV có thể truyền được qua

- 4-

Page 10: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

kênh SDTV sẵn có với yêu cầu băng thông tương tự. Việc nén này không phải là điều băt

buộc về công nghệ mà chỉ là do yêu cầu kinh tế.

Trong các studio có nhiệm vụ dựng phim, người ta cần lưu trữ những đoạn video,

audio vào đĩa cứng để có thể tăng thời gian truy xuất. Mặc dù hệ thống xử lý ở cấp cao

nhất phải sử dụng dữ liệu không nén nhưng người ta vẫn nén lại để tăng được dung lượng

lưu trữ của đĩa cứng.

Việc sử dụng hệ số nén như thế nào trong truyền thông có ý nghĩa rất quan trọng khi

mà phổ tần bị hạn chế trong khi nó lại cần thiết cho rất nhiều dịch vụ khác ví dụ như điện

thoại di động. Do đó yêu cầu sử dụng phổ tần một cách hiệu quả là một yêu cầu bắt buộc.

Truyền hình tương tự là công nghệ cũ và sử dụng phổ tần kém hiệu quả nhất do đó nó bị

thay thế bởi truyền hình số là một sự tất yếu do trong thực tế phổ tần còn cần cho nhiều

việc khác.

Trên thị trường hiện nay có rất nhiều bộ giải mã cho người dùng chọn lựa được sản

xuất từ những mạch tích hợp giá rẻ. Trong khi chỉ có một số ít bộ mã hóa nên việc chúng

có đắt thì cũng không quan trọng lắm. Xu hướng hiện nay là thiết bị lưu trữ thì càng này

càng rẻ còn phổ tần thì càng ngày càng đắt do vậy trong tương lai việc nén trong việc lưu

trữ là không cần thiết trong khi nén để truyền thông sử dụng sóng vô tuyến sẽ càng tăng

lên.

1.3. Mã hóa không tổn hao và mã hóa dự đoán được.

Mặc dù có nhiều công nghệ được sử dụng để nén nhưng chúng có thể được phân

thành các loại sau đây.

Với nén không tổn hao, đầu ra của bộ giải mã là tương ứng bit-bit so với dữ liệu gốc.

Nó cũng được gọi như là một chương trình stacker sử dụng trong máy tính cá nhân để

tăng dung lượng đĩa sử dụng những bộ codec không tổn hao. Sự sai lệch dù chỉ một bit

với chương trình máy tính có thể có hậu quả nghiêm trọng. Bằng cách này hệ số nén

thường chỉ đạt được khoảng 2:1.

Chúng ta có thể nhận thấy rằng bộ mã hóa không tổn hao không thể đảm bảo một hệ

số nén cho trước và do đó đường truyền hoặc là bộ ghi sẽ phải làm việc với tốc độ dữ liệu

ra luôn biến đổi. Bộ mã không tổn hao có thể đi kèm với quá trình kiểm lỗi.

- 5-

Page 11: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Hệ số nén cao chỉ có thể đạt được với bộ nén có tổn hao. Dữ liệu đi ra khỏi bộ giải

mã không phải tương ứng bit-bit với dữ liệu nguồn và so sánh giữa chúng ta sẽ thấy sự

khác nhau. Nén có tổn hao không thích hợp với việc sử dụng cho dữ liệu máy tính, nhưng

được sử dụng trong chuẩn MPEG cho hệ số nén cao hơn rất nhiều so với nén không tổn

hao. Bộ nén có hiệu quả là bộ nén làm cho những lỗi xuất hiện ở nơi mà cơ quan thị giác

hoặc thính giác của con người rất khó có thể phát hiện được. Do vậy bộ codec này phải

dựa trên sự hiểu biết về cảm nhận của mắt và tai người và chúng được gọi là bộ mã cảm

nhận (perceptive codec).

Trong bộ mã hóa có tổn hao, hệ số nén đạt được cao hơn nhiều. Các cơ quan cảm

nhận của con người cần được mô hình chính xác. Bộ mã này có thể cho một hệ số nén cố

định. Điều này thuận lợi cho việc truyền thông trong thực tế khi mà dữ liệu tốc độ cố định

luôn luôn dễ dàng làm việc hơn là dữ liệu có tốc độ thay đổi. Kết quả của việc hệ số nén

cố định là chất lượng đầu ra thay đổi theo độ phức tạp của đầu vào. Bộ mã kiểu này

không thể móc nối vào nhau một cách tùy ý nếu chúng sử dụng những thuật toán khác

nhau. Do dữ liệu sau bộ giải mã không phải tương ứng bit-bit với dữ liệu nguồn do vậy

không có bộ kiểm lỗi nào trong bộ codec này và cũng không thể phân biệt được lỗi do bộ

mã hóa hay là lỗi do truyền thông.

Hình 1.3: Công nghệ nén sử dụng trong truyền hình tương tự

- 6-

Progressive scan source

Intelaced signal

RGB source

Y. Pr. Pb

Component source

Composite NTSC/PALL/

SECAM

Compress

(lossy)

Compress

Compress

(lossy)

(a)

(b)

(c)

Page 12: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Dù là công nghệ số mới được chấp nhận gần đây song việc nén thì đã có từ rất lâu

khi mà có công nghệ truyền hình. Hình 1.3 chỉ ra những công nghệ nén sử dụng trong TV

truyền thống.

Hầu hết tín hiệu video đều có mối liên hệ không tuyến tính giữa độ sáng và mức thế

của tín hiệu được gọi là hiện tượng gamma. Gamma là công nghệ nén cảm nhận dựa trên

sự cảm nhận của con người về lỗi hình ảnh là một hàm của độ sáng. Công nghệ này cho

phép mức độ lỗi do mã hóa 8-bit chỉ như là mã hóa tuyến tính 14-bit.

Một công nghệ sử dụng lâu đời nhất là công nghệ trộn (interlace) được sử dụng

trong công nghệ tương tự để làm giảm băng thông.

Việc tạo ra tín hiệu TV màu từ RGB là một minh họa của bộ mã cảm nhận. Hệ thống

cảm nhận của con người không cảm thấy sự khác biệt về chất lượng mặc dù băng thông

của tín hiệu màu được giảm đi. Điều này là do cảm nhận của mắt người về thay đổi màu

sắc kém hơn nhiều so với thay đổi độ sáng. Hướng tiếp cận này còn được sử dụng trong

chuẩn nén MPEG.

1.4. Nguyên lí cơ bản của nén.

Trong hệ thống PCM, tốc độ bit được quyết định do tần số lấy mẫu và số bit trên

mỗi mẫu, giá trị này thường là cố định.

Ngược lại, lượng thông tin thì luôn thay đổi. Với những tín hiệu thực luôn có những

phần có thể biết trước từ phần trước đó hoặc sau đó, một bộ giải mã có khả năng dự đoán

có thể đoán được phần này và do vậy việc gửi những dữ liệu này đi là không cần thiết, chỉ

có thông tin thực sự mới được gửi đi. Nếu đặc điểm của bộ giải mã là biết trước thì phía

gửi có thể bỏ qua những thông tin mà bên thu có thể tự tái tạo lại được. Và do vậy thì bộ

mã hóa luôn hoạt động với một kiểu của bộ giải mã.

Sự khác biệt giữa tốc độ thông tin và tốc độ dòng bit gọi là độ dư thừa. Hệ thống nén

được thiết kế để làm giảm càng nhiều càng tốt sự dư thừa này trong phạm vi có thể. Một

cách làm điều này là khai thác tính chất dự đoán trước bằng thống kê. Entropy hay lượng

thông tin là hàm của sự khác biệt giữa giá trị của nó với giá trị được dự báo trước. Hầu hết

các tín hiệu có một số bậc dự đoán. Tín hiệu hình sin hoàn toàn có thể đoán trước bởi mọi

chu kì chúng đều như nhau. Theo lý thuyêt Shanon thì một tín hiệu hoàn toàn có thể dự

báo trước thì không mang thông tin. Trong trường hợp sóng sin thì điều này là hoàn toàn

- 7-

Page 13: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

đúng bởi nó biểu diễn một tần số đơn và không chiếm dải thông. Ngược lại với trường

hợp trên, tín hiệu như là ồn thì hoàn toàn không thể đoán trước được.

Một điểm cần lưu ý là một bộ mã làm việc tốt với dữ liệu “sạch” có thể sẽ không

làm việc tốt nữa khi mà có ồn cộng thêm vào. Hầu hết các bộ nén trong thực tế luôn đi

kèm với bộ tiền xử lý, một bộ giảm ồn thường được thêm vào bộ này khi mà tín hiệu ồn là

không thể dự đoán trước được.

Hình 1.4: (a) bộ mã hóa lý tưởng không tổn hao chỉ tách ra phần dư thừa của dữ

liệu, dữ liệu ban đầu không hề bị mất thông tin, với bộ mã hóa có tổn hao thì một phần

lượng thông tin sẽ bị mất đi. (b) Khi hệ số nén tăng thì độ phức tạp của bộ mã phải tăng

lên để đảm bảo chất lượng. (c) Hệ số nén cao có xu hướng làm tăng độ trễ của hệ thống.

Hình a cho thấy lượng entropy cần được truyền đi. Bộ mã lý tưởng cần tách ra được

phần này và chất lượng tín hiệu được khôi phục lại là hoàn hảo. Hình b cho thấy hệ số nén

càng cao thì càng phức tạp. Hình c cho thấy càng nén nhiều thì trễ càng tăng.

- 8-

Tần số

Bậc tín hiệu

Độ phức tạp

Hệ số nén

Chất lượng xấu

Chất lượng tốt

Độ trễ

Hệ số nén

Chất lượng xấu

Chất lượng tốt

Entropy

Dư thừa

Entro

Entropy

Mã hóa lý tưởng không

tổn hao

Mã hóa có tổn hao

(a)

(b) (c)

Page 14: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Hiển nhiên rằng chúng ta cần phải cung cấp một kênh truyền đủ để có thể truyền đi

entropy được bộ mã hóa lấy ra. Nếu dung năng kênh truyền không đủ thì bộ mã hóa sẽ

phải bỏ qua một phần entropy kèm theo đó là phần thông tin có ích.

Một kênh truyền đơn có tốc độ thay đổi là kênh truyền có từ lâu nhưng không phổ

biến lắm với các nhà cung cấp, hiện nay đã có những hệ thống mới như là ATM hỗ trợ

kênh có tốc độ thay đổi. Truyền thông số sử dụng trong DVB là tốc độ cố định. Yêu cầu

tốc độ biến đổi có thể được khắc phục bằng cách kết hợp một số kênh có tốc độ thay đổi

thành một kênh có tốc độ cố định bằng cách phân bố hợp lí tốc độ dữ liệu giữa các kênh.

Khả năng tất cả các kênh truyền cùng một lúc đều đạt đỉnh entropy là rất nhỏ do vậy với

một kênh có tốc độ cho trước thì những kênh có dữ liệu ít phức tạp, yêu cầu ít băng thông

sẽ được truyền cùng với những kênh có dữ liệu phức tạp, yêu cầu băng thông lớn . Đây là

nguyên lí cơ bản của việc kết hợp các kênh.

Với những nguồn thông tin được tạo nên từ những phần tử cơ bản giống nhau, ví dụ

những bản tin viết bằng tiếng Anh chẳng hạn, ta có thể tiến hành thống kê xác suất xuất

hiện của từng chữ cái. Mã hóa chiều dài thay đổi là mã mà sử dụng những từ mã ngắn cho

những kí tự có tần số xuất hiện cao, còn những kí tự tần số xuất hiện thấp sử dụng mã có

chiều dài lớn hơn. Mã này là một loại mã không mất thông tin. Mã rất nổi tiếng là mã

Morse là mã sử dụng phương pháp này. Chữ cái e thường xuyên xuất hiện trong tiếng

Anh vì vậy nó được biểu thị bởi một chấm đơn (single dot), còn chữ cái z ít xuất hiện và

nó được minh họa bởi một mã rất dài. Hoàn toàn có thể nhận thấy là bộ mã này dựa trên

sự hiểu biết về tần số các kí tự đã được thống kê trước. Nếu sử dụng mã này cho ngôn

ngữ khác có thể sẽ không hiệu quả nữa, ví dụ như chữ cái z là rất phổ biến với tiếng Séc.

Mã Huffman là mã làm việc với những số liệu thống kê của nguồn dữ liệu đã biết

trước. Việc truyền thông được nghiên cứu trước, sau đó người ta sẽ dành những từ mã

ngắn để mô tả cho những tín hiệu có tần số xuất hiện cao, ngược lại từ mã dài sẽ cho

những tín hiệu có tần số xuất hiện thấp.

1.5. Nén video

- 9-

Page 15: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Hình 1.5: (a) Nén trong ảnh chỉ làm việc trên 1 ảnh đơn duy nhất. (b) Nén liên ảnh

làm việc với một chuỗi các ảnh

Hình 1.5a là mã hóa của một hình ảnh riêng rẽ. Đây được gọi là mã hóa đơn ảnh hay

mã hóa không gian (spatial compress). Một lợi điểm của việc nén trong ảnh là có thể biên

tập trực tiếp từng ảnh một không cần liên quan tới các ảnh khác trong chuỗi. Một số

chuẩn nén sử dụng nén trong ảnh là Digital Betacam, DVC, D-9. Chuẩn ISO JPEG là một

trong các chuẩn nén kiểu này. Ứng dụng của chuẩn JPEG trong truyền hình là ‘Motion

JPEG’.

Hệ số nén cao hơn thu được bằng cách giảm lượng dư thừa thông tin từ ảnh này so

với ảnh trước đó. Nén theo cách này là nén theo trục thời gian. Được gọi là nén liên ảnh

hay inter-coding compress. Nén kiểu này cho hệ số nén cao nhưng có một nhược điểm là

một ảnh chỉ có được bằng cách có ảnh trước đó cộng thêm với phần sai khác. Việc can

thiệp vào một ảnh riêng lẻ trong dòng bit MPEG là không thể và sự sai lệch của một ảnh

có thể kéo theo sự khôi phục không chính xác cho các ảnh tiếp theo đó.

Các thuật ngữ thường được sử dụng là:

Ảnh I (Intra-picture): là ảnh chỉ sử dụng nén trong ảnh, mang thông tin về một

ảnh hoàn chỉnh. Ảnh I cho phép truy cập ngẫu nhiên, có độ nén thấp nhất.

Ảnh P (Predicted-picture): ảnh dự đoán trước, là ảnh được mã hóa có bù chuyển

động từ ảnh I hoặc ảnh P phía trước.

- 10-

Nén trong ảnh loại bỏ phần dư thừa trong một

ảnh

Nén liên ảnh loại bỏ phần dư thừa giữa các

ảnh

(a)

(b)

Page 16: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Ảnh B (Bi-directional predicted picture): ảnh dự đoán hai chiều, là ảnh được mã

hóa sử dụng bù chuyển động từ các ảnh I hoặc P trước và sau. Ảnh B cho hệ số nén là

cao nhất.

1.5.1. Nén trong ảnh.

Đây là loại nén làm giảm độ dư thừa trong miền không gian, chỉ thực hiện nén trên

dữ liệu của một ảnh, không sử dụng thông tin của các ảnh trước hoặc sau đó.

Phân tích hình ảnh TV thông thường chỉ ra rằng các thành phần tần số cao thể hiện

chi tiết của hình ảnh, và chỉ có phần nhỏ năng lượng là của các thành phần này. Trong

hình ảnh cũng tồn tại những vùng mà trong đó các điểm là tương tự giống nhau, những

điểm như thế này nằm ở vùng tần số thấp. Vùng có độ sáng như nhau nằm ở tần số bằng

0. Việc bỏ qua những vùng có tần số cao là không thể được bởi nó tạo nên độ rõ ràng,

mềm mại của hình ảnh.

Tuy vậy các thành phần tần số cao chỉ chiếm một phần nhỏ năng lượng nên cần it bit

để mã hóa hơn, đồng thời sai số ở những vùng có tần số cao thì con người cũng khó nhận

biết hơn. Nhờ sử dụng đặc điểm này mà việc nén trở nên có hiệu quả.

1.5.2. Nén liên ảnh.

Nén liên ảnh sử dụng tính chất tương tự giữa các ảnh kế tiếp. Thay vì truyền thông

tin của từng ảnh riêng rẽ, phương pháp này truyền đi sự sai khác giữa ảnh hiện tại với ảnh

trước đó bằng kiểu mã hóa vi sai.

Hệ thống mô tả ở hình 1.6a bị hạn chế ở chỗ nếu kênh truyền có lỗi thì nó sẽ gây tác

động đến mọi ảnh tiếp theo đó. Để khắc phục hiện tượng này một ảnh chính xác sẽ được

truyền đi theo chu kỳ thay vì truyền sự sai khác so với ảnh trước đó.

Việc biên tập dòng bit chỉ có thể thực hiện ở tại những điểm mà ảnh I xuất hiện.

- 11-

Page 17: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Hình 1.6: (a) Hệ thống nén liên ảnh sử dụng một ảnh trễ để so sánh sự khác biệt với

ảnh hiện tại. (b) Để tránh lỗi xảy ra trên đường truyền, ảnh I được gửi đi theo chu kỳ.

1.5.3. Giới thiệu về phép bù chuyển động.

Trong khi thực hiện quay một chương trình TV, một đối tượng có thể đứng yên trước

một camera chuyển động hoặc bản thân đối tượng chuyển động trước một camera đặt cố

định. Bù chuyển động là quá trình mà đo đạc chính xác hướng chuyển động của đối tượng

từ hình ảnh hiện tại sang hình kế tiếp, do đó mà phần chuyển động được tách riêng ra, làm

giảm độ dư thừa giữa các hình ảnh. Hình 1.7 mô tả một ví dụ của chuyển động của đối

tượng giữa các ảnh.

Tất cả hình ảnh thì chuyển động theo trục thời gian, còn bản thân đối tượng thì di

chuyển theo trục optic flow axis . Trục này sẽ chỉ ra hướng chuyển động của đối tượng từ

ảnh này sang ảnh kế tiếp.

Một điều hiển nhiên là dữ liệu diễn tả sự chuyển động của đối tượng sẽ thay đổi tương

ứng với thời gian. Tuy nhiên nếu nhìn theo trục optic flow axis thì hình ảnh của đối tượng

chỉ thay đổi nếu chính bản thân đối tượng đó bị biến dạng, di chuyển vào bóng tối hoặc bị

- 12-

Trễ 1 ảnh+

-

Sự khác biệt

Thời gian

Điểm ảnh

hiện tạiĐiểm ảnh ở ảnh trước

đó

(a)

Gửi ảnhI

Gửi ảnhI

Gửi sai khácD

Gửi sai khácD

Gửi sai khácD

(b)

Page 18: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

xoay đi. Do vậy dữ liệu dư thừa được loại bỏ đáng kể nếu như chúng ta biết được trục

chuyển động. Khi ấy hệ số nén thu được sẽ cao hơn nhiều.

Hình 1.7: Chuyển động của đối tượng trong không gian 3 chiều sẽ theo trục optic flow

axis.

Một bộ mã hóa bù chuyển động hoạt động theo nguyên tắc sau. Một ảnh tham chiếu

được gửi đi, nhưng được lưu trữ để so sánh với các ảnh khác để tìm ra vector chuyển

động cho những phần khác nhau trên ảnh. Ảnh tham chiếu này được dịch đi theo các

vector chuyển động để loại bỏ đi phần chuyển động giữa các ảnh. Ảnh này được gọi là

ảnh dự đoán trước. Sau đó ảnh này sẽ được so sánh với ảnh thực để phát hiện ra sai số dự

đoán. Sai số dự đoán được truyền đi cùng với vector chuyển động. Ở nơi thu, ảnh tham

chiếu được lưu giữ trong bộ nhớ. Nó được dịch đi bởi các vector chuyển động và cuối

cùng là lỗi được sửa lại để tạo ra ảnh gốc.

1.6. Giới thiệu về MPEG-1

MPEG-1 được thiết kế ban đầu nhằm mã hóa ảnh động và âm thanh thành dòng bit

có tốc độ của audio Compact Disc. Kết quả tạo ra Video- CD nhưng hiện nay đã được

thay thế bởi DVD. Để có được tốc độ bít thấp MPEG-1 chỉ sử dụng tỉ lệ hình ảnh từ 24-

30Hz cho kết quả là chất lượng chỉ ở mức trung bình.

Để đạt được tốc độ bit này, MPEG-1 giảm tốc độ lấy mẫu bằng một nửa TV chuẩn.

Cụ thể là với hệ thống 25Hz hình ảnh có kích thước là 352 × 288 điểm ảnh, còn với hệ

30Hz là 352 × 240 điểm ảnh. Định dạng như vậy được gọi là common intermediate

- 13-

Trục thời gian

Trục tung

Trục hoành

Optic flow axis

Page 19: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

format (CIF). Với tín hiệu đầu vào là tín hiệu video tổng hợp, CIF có thể nhận được bằng

cách giảm tốc lấy mẫu các dòng tích cực xuống một nửa.

Chuẩn nén này dường như có vẻ rất đơn sơ, song cho tốc độ bit thấp. Tuy vậy nó

cũng được đánh giá là đã cung cấp những công cụ mã hóa quan trọng mà còn được tiếp

tục sử dụng trong MPEG-2 và MPEG-4. Chúng bao gồm cú pháp dòng cơ sở, bù chuyển

động, điều khiển tốc độ bit …. Nhiều nguyên lí mã hóa của MPEG-1 được lấy ra từ

JPEG. Chuẩn MPEG-1 cũng định ra việc mã hóa audio hai kênh.

1.7. MPEG-2 cùng các Profile và Level

MPEG-2 được xem là một chuẩn có ứng dụng rất rộng lớn. Ví dụ MPEG-2 hỗ trợ độ

phân giải cao (HD) mà MPEG-1 không có. Chuẩn này càng trở nên quan trọng khi nó

được chọn làm chuẩn nén cho DVB và DVD. Chuẩn MPEG-3 dự định thiết kế cho

HDTV nhưng người ta nhận thấy MPEG-2 (cùng với các mở rộng của chuẩn này) có thể

đáp ứng các yêu cầu này do vậy mà ko có chuẩn MPEG-3.

Profile

LevelSimple Main 4:2:2 SNR Spatial High

High4:2:0

1920 x115280 Mb/s

4:2:0, 4:2:21920 x1152100 Mb/s

High – 14404:2:0

1440 x115260 Mb/s

4:2:01440 x1152

60 Mb/s

4:2:0, 4:2:21440 x1152

80 Mb/s

Main4:2:0

720 x 57615 Mb/s

4:2:0720 x 57615 Mb/s

4:2:2720 x 60850Mb/s

4:2:0720 x 57615 Mb/s

4:2:0, 4:2:2720 x 57620 Mb/s

Low4:2:0

352 x 2884 Mb/s

4:2:0352 x 288

4 Mb/s

Hình 1.8: Các Profile và Level trong MPEG-2

MPEG-2 được xây dựng trên cơ sở MPEG-1 với sự mở rộng về phạm vi kích thước

hình ảnh và tốc độ bit. Việc ghép các dòng bit với nhau cũng được giải quyết trong chuẩn

- 14-

Page 20: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

MPEG-2. Chuẩn MPEG-2 là sự mở rộng của chuẩn MPEG-1 vì vậy một điều dễ hiểu là

bộ giải mã MPEG-2 có thể làm việc được với dòng bit của MPEG-1.

Với một chuẩn duy nhất nhưng MPEG-2 có thể giải quyết được rất nhiều yêu cầu

ứng dụng. Chuẩn này được chia nhỏ thành các Profile và Level. Các Profile thể hiện độ

phức tạp còn các Level thể hiện kích cỡ hình ảnh hoặc độ phân giải đi kèm với Profile

tương ứng. Không phải tất cả các Level đều hỗ trợ mọi Profile.

Một bộ giải mã MPEG-2 với Profile và Level cho trước có thể giải mã Profile và

Level thấp hơn.

Một số hệ thống nén có khả năng tạo ra tín hiệu có thể phân cấp (scaleable signal).

Quá trình này là quá trình mà sau khi cho tín hiệu đầu vào thì ta sẽ thu được tín hiệu đầu

ra gồm có một tín hiệu chính (main signal) và một tín hiệu hỗ trợ ( helper signal). Bản

thân tín hiệu chính có thể được giải mã độc lập cho chất lượng hình ảnh nhất định, nhưng

nếu có thêm tín hiệu hỗ trợ thì chất lượng hình ảnh sẽ được tăng lên.

Hình 1.9: (a) Bộ phân cấp theo tỉ lệ tín/tạp cho ra một tín hiệu có tỉ số tín/ồn ở mức

trung bình và một tín hiệu để giảm ồn. (b) Bộ phân cấp theo không gian cho ra một tín

hiệu ở mức trung bình và một tín hiệu để tăng chất lượng hình ảnh.

- 15-

Bộ mã hóa có khả năng phân cấp theo SNR

Hình ảnh chất lượng trung bình

Hình ảnh có chất lượng

tốt hơn

Tín hiệu cơ bản

Tín hiệu tăng cường

Tín hiệu vào

(a)

Bộ mã hóa có khả năng phân cấp

theo không gian

Hình ảnh độ phân giải thấp

Hình ảnh độ phân giải cao

Tín hiệu cơ bản

Tín hiệu tăng cường

(b)

Tín hiệu vào

Page 21: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Hình 1.9a chỉ ra một bộ mã hóa MPEG, bằng cách lượng tử lại có trọng số sẽ thu

được một hình ảnh có tỉ lệ tín/tạp ở mức trung bình. Tại bộ giải mã, hình ảnh này hoàn

toàn có khả năng tái tạo lại, nhưng kèm theo đó chắc chắn là có ồn lượng tử lớn làm chất

lượng hình kém hơn. Sự sai khác do ồn này có thể được nén và gửi đi như là tín hiệu hỗ

trợ. Một bộ giải mã đơn giản thì chỉ giải mã tín hiệu chính còn bộ giải mã phức tạp hơn

thì có thể giải mã cả tín hiệu chính và tín hiệu hỗ trợ cho kết quả là một hình ảnh ở mức

ồn thấp. Đây là nguyên lí của bộ phân cấp theo tỉ lệ tín/tạp.

Hình 1.9b là nguyên lí của bộ phân cấp theo không gian. Nếu chỉ cần mã hóa ở mức

trung bình thì một tí hiệu có độ phân giải trung bình được tạo ra và có thể được giải mã

bằng TV có độ phân giải tiêu chuẩn SDTV. Nhưng nếu gửi kèm vào đó một tín hiệu tăng

cường thì một bộ giải mã thích hợp tại nơi thu có thể kết hợp cả hai tín hiệu để cho ra

hình ảnh có độ phân giải cao HDTV.

Chuẩn MPEG-2 tăng số kênh âm thanh lên tới 5 kênh nhưng vẫn đảm bảo tương

thích với MPEG-1. Ngoài ra MPEG-2 còn có những phương pháp mã hóa âm thanh khác

hiệu quả hơn nhưng không tương thích ngược với MPEG-1. Đó là chuẩn nén MPEG-2

AAC (advance audio coding).

1.8. Giới thiệu về MPEG -4

MPEG-4 sử dụng những công cụ phức tạp hơn nữa nhằm mang lại hệ số nén cao hơn

MPEG-2. MPEG-4 được mong đợi là sẽ có nhiều ứng dụng trong Internet và Wireless

như là MPEG-2 đã có trong DVB và DVD.

MPEG-4 đưa ra một số các công cụ mã hóa mới được minh họa trong hình 1.10. Ở

chuẩn MPEG-1 và MPEG-2 việc bù chuyển động được thực hiện trên từng khối ảnh có

kích thước cố định gọi là macroblocks. Điều này cho phép bộ mã làm việc tốt ở tốc độ đã

được thiết kế, tuy nhiên các macroblocs này không phải lúc nào cũng được tính toán

chính xác với chiều chuyển động của vật thể thực. Điều này làm tăng số bit dư thừa. Ở

chuẩn MPEG-4, đối tượng động có thể được mã hóa với hình dạng tùy ý. Đối tượng động

có thể được mô tả bởi các vector chuyển động và sẽ làm giảm được nhiều dữ liệu dư thừa.

Tùy theo từng Profile, đối tượng động có thể là hai chiều hoặc ba chiều, chắn sáng hay là

trong suốt. Bộ giải mã phải có khả năng xắp xếp từng lớp đối tượng theo độ gần xa của

đối tượng đó so với người xem thành một hình ảnh thực. Mã hóa hình ảnh trong chuẩn

MPEG-4 được gọi là mã hóa xếp lớp (texture coding) và cho kết quả tốt hơn MPEG-2.

- 16-

Page 22: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Hình 1.10: MPEG-4 đưa ra một số các công cụ mới mà các chuẩn trước đó không

có. Bao gồm mã hóa đối tượng, mã hóa dạng lưới (mesh coding), mã hóa ảnh tĩnh, thể

hiện trạng thái của khuôn mặt và cơ thể.

Để tăng cường việc bù chuyển động, chuẩn MPEG-4 còn có khả năng mô tả một đối

tượng di chuyển theo hướng về gần hoặc ra xa là bao nhiêu bằng cách sử dụng công nghệ

gọi là mã hóa dạng lưới (mesh coding). Bằng cách làm cong hình ảnh (warping image),

việc dự đoán hình ảnh hiện tại được tăng cường. MPEG-4 cũng đưa ra cách mã hóa hình

ảnh dùng biến đổi cosin rời rạc DCT hoặc dùng wavelet.

Chuẩn MPEG-2 đã hỗ trợ một số dạng phân cấp như đã mô tả ở trên, chuẩn MPEG-4

còn phát triển xa hơn nữa. Ngoài phân cấp theo không gian và theo tín/tạp như MPEG-2

thì MPEG-4 còn hỗ trợ phân cấp theo thời gian. Một dòng bit ở cấp cơ sở có tỉ lệ khung

hình nhất định có thể kết hợp với một dòng bít hỗ trợ thêm để giải mã cho ra hình ảnh có

tỉ lệ khung hình cao hơn. Điều này quan trọng ở chỗ nó cho phép chúng ta phát triển

những chương trình có tốc độ khuôn hình cao hơn so với tốc độ chuẩn của TV và phim

hiện tại nhưng vẫn đảm bảo tương thích với các thiết bị truyền thống. Nó cũng được ứng

dụng trong mạng internet, cho phép người dùng có chất lượng hình ảnh tốt nhất ứng với

khả năng đường truyền mà họ có.

MPEG-4 còn đưa ra những chuẩn cho việc thể hiện kích thích tình cảm trên khuôn

mặt và cơ thể. Những vector đặc biệt cho phép một hình ảnh tĩnh của khuôn mặt hoặc có

- 17-

Visual object: Part of scene which can be independently accessed and

manipulated

Object coding

Video Object

Still texture object

Mesh object

Face and body animation

object

Page 23: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

thể kèm theo cả phần cơ thể được kích thích kèm theo cả giọng nói với tốc độ bit rất thấp.

Điều này rất có ý nghĩa với những hệ thống như là hệ thống giả lập hay trò chơi điện tử,

khi đối tượng mà người sử dụng điều khiển di chuyển khắp màn hình. Điểm bất lợi của

việc nén theo kiểu này là tăng thêm độ phức tạp của bộ mã nhưng với sự phát triển trong

công nghệ xử lí số, mạch tích hợp giá thành ngày càng rẻ thì đây rõ ràng không phải là

vấn đề quá lớn.

Như đã được mong đợi trước khi ra đời, với hệ thống công cụ rất lớn, chuẩn MPEG-

4 đã đáp ứng một cách hoàn hảo cho rất nhiều ứng dụng, cũng như là MPEG-2 đã hỗ trợ

các ứng dụng khác nhau bằng cách chia ra các Profile và Level.

1.9. Giới thiệu về MPEG-7

Ngày nay khi mà các dữ liệu hình ảnh và âm thanh được số hóa ngày càng trở nên

phổ biến cùng với sự phát triển của máy tính và internet thì khối lượng các dữ liệu trên trở

thành khổng lồ. Điều đó dẫn đến việc tìm kiếm được một đoạn âm thanh hoặc hình ảnh

phù hợp với sở thích của người sử dụng là vô cùng khó khăn. Với những dữ liệu dạng kí

tự (như văn bản kiểu text, doc, html…..) thì đã có những giải pháp tìm kiếm hiệu quả,

trang web www.google.com là một ví dụ điển hình trong lĩnh vực tìm kiếm. Tuy nhiên

với dữ liệu đa phương tiện thì vấn đề là vô cùng phức tạp.

MPEG-7 ra đời nhằm mục đích giải quyết vấn đề này. Chuẩn này thường được gọi là

Giao diện mô tả nội dung đa phương tiện - Multimedia Content Description Interface. Nó

cho phép tìm kiếm một cách nhanh chóng và hiệu quả các dữ liệu đa phương tiện theo nội

dung. Ban đầu MPEG-7 được thiết kế với mục đích cung cấp thêm một chức năng bổ

sung cho các chuẩn MPEG trước đó để đưa ra thông tin về nội dung của dữ liệu. Sau này

thì chức năng này trở thành tiêu chuẩn của việc mô tả nội dung đa phương tiện. Như

chúng ta đã biết, chuẩn MPEG-4 là chuẩn nén được xây dựng trên việc mã hóa đối tượng

do vậy đây là nền tảng tốt để xây dựng MPEG-7. MPEG-7 có thể được sử dụng độc lập

với các chuẩn nén trước đó. Nhưng cũng cần lưu ý là chuẩn MPEG-7 không thể thay thế

hoàn toàn các chuẩn MPEG-1, MPEG-2 hay MPEG-4.

1.10. Nén âm thanh

Các hệ thống nén audio được xây dựng trên cơ sở nghiên cứu về đặc tính sinh lí

cũng như giới hạn thính giác của con người nhằm loại bỏ thành phần thông tin dư thừa

trong các tín hiệu audio.

- 18-

Page 24: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Hệ thống thính giác con người (HAS – Human Auditory System) hoạt động như một

bộ phân tích phổ, các thành phần phổ của âm thanh được phân tích độc lập qua các bộ lọc

thông dải gọi là các dải băng chuẩn. Các dải băng chuẩn có độ rộng 100Hz khi tần số dưới

500Hz còn khi tần số lớn hơn 500Hz thì độ rộng băng tỉ lệ với tần số. Do vậy trên thực tế

âm thanh được chia thành 25 dải băng con tương ứng với 25 bộ lọc ốc tai theo quy luật tự

nhiên. Các dải băng này sẽ được xử lí riêng rẽ, rồi được tổng hợp lại trên cơ sở đánh giá

mức năng lượng và độ nhạy của HAS với từng băng.

Nén không tổn hao

Nén không tổn hao cho phép khôi phục lại một cách y hệt dòng bit trước khi nén.

Cách nén này loại bỏ những dư thừa thống kê, những thông tin trong tín hiệu có thể dự

đoán từ các mẫu trước đó. Cách nén này có ưu điểm là chất lượng âm thanh tốt nhưng hệ

số nén đạt được lại quá thấp, thường chỉ giới hạn ở tỉ lệ 2:1 tùy thuộc vào độ phức tạp của

dữ liệu nguồn.

Nén không tổn hao thường sử dụng các kỹ thuật sau đây:

Thuật toán vi phân: Độ sai khác giữa các mẫu tín hiệu liền nhau thường nhỏ

hơn nhiều so với bản thân độ lớn của mẫu tín hiệu. Do vậy có một độ dư thừa thông

tin lớn. Kĩ thuật DPCM lợi dụng đặc điểm này. DPCM mã hóa phần khác nhau giữa

các tín hiệu chứ không mã hóa bản thân mẫu tín hiệu. Hệ thống ADPCM thì lại mã

hóa phần khác nhau giữa mẫu thực với mẫu dự đoán cho hiệu quả nén tốt hơn nữa so

với hệ thống DPCM.

Mã hóa với từ mã có độ dài thay đổi làm tăng tính hiệu quả của việc mã hóa

thông tin.

Nén có tổn hao

Nén có tổn hao lợi dụng đặc điểm của hệ thống HAS là không thể phân biệt một

thành phần tần số nào đó khi có một tần số gần đó với biên độ lớn hơn được phát. Bằng

cách nén này hệ số nén đạt được trong khoảng từ 2:1 đến 10:1 tùy thuộc vào quá trình mã

hóa và yêu cầu chất lượng của tín hiệu sau nén.

Nguyên lí cơ bản của nén có tổn hao là loại bỏ đi những thành phần nằm dưới đường

cong ngưỡng âm. Vì lý do này nén có tổn hao được gọi là làm mất các thành phần âm.

Nén có tổn hao thường sử dụng kết hợp các kỹ thuật sau đây:

Kỹ thuật ‘che’ (masking) đối với các thành phần tín hiệu trong miền thời gian

và miền tần số. Số bit lượng tử dùng để mã hóa cho mỗi băng là khác nhau.

- 19-

Page 25: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

Chặn mức tạp âm lượng tử cho từng âm độ của tín hiệu âm thanh bằng cách

đưa ra số bit để đảm bảo mức nhiễu lượng tử nằm dưới mức giá trị cần chặn.

Mã hóa nối: sử dụng tính dư thừa trong hệ thống âm thanh đa kênh. Người ta

nhận thấy rằng có nhiều thành phần tín hiệu giống nhau trên các kênh của một hệ

thống đa kênh. Do đó những thành phần chung này được mã hóa riêng ra và được

chỉ thị giải mã lặp lại trên tất cả các kênh.

1.11. Dòng bit MPEG

Hình 1.11: Cấu trúc dòng bit MPEG

MPEG hỗ trợ một số loại dòng bit cho nhiều mục đích khác nhau được mô tả ở hình

1.11. Đầu ra của một bộ nén được gọi là dòng cơ sở (elementary stream). Nhiều dòng cơ

sở có thể được trộn lại để thành một dòng truyền tải (transport stream). Việc ghép kênh

này đòi hỏi những khối hoặc gói có kích thước cố định. Cấu trúc của dòng truyền tải là

phức tạp vì nó cần cho biết để kết hợp với một dòng cơ sở hình ảnh thì cần dòng cơ sở âm

- 20-

Bộ nén Đóng gói

Bộ nén Đóng gói

Bộ nén Đóng gói

Bộ nén Đóng gói

Video 1 Ghép kênh dòng

chương trình

Ghép kênh dòng truyền

tải

Ghép kênh dòng truyền

tải

Video 2

Audio 1

Audio 2

Dòng cơ sở Dòng cơ sở đóng gói

Dòng chương trình

Dòng truyền tải đơn

chương trình (SPTS)

Dòng truyền tải

Page 26: Phan Ticn Dong Truyen Tai Mpeg

Chương 1: Giới thiệu tổng quan về MPEG

thanh và dòng dữ liệu phụ thuộc nào. Tất nhiên là có thể có dòng truyền tải đơn chương

trình (single program transport stream) chỉ mang dòng cơ sở của một chương trình TV.

Với một số ứng dụng nhất định thì việc sử dụng dòng truyền tải trở nên không phù

hợp. Mỗi gói truyền tải có kích thước nhỏ, cộng với việc nó phải có phần tiêu đề làm cho

tốn dung lượng. Ở trường hợp này ta dùng dòng chương trình (program stream). Một

dòng chương trình là dòng bit ghép tín hiệu hình ảnh và âm thanh cho một chương trình

vào với nhau. Không giống như dòng truyền tải, các khối của dòng chương trình thường

lớn và có kích thước không phải là cố định.

Cấu trúc chi tiết của dòng cơ sở, dòng cơ sở đóng gói và dòng truyền tải sẽ được mô

tả chi tiết trong các chương sau.

- 21-

Page 27: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

Chương 2: Dòng cơ sở (elementary stream) và dòng cơ

sở đóng gói (packetized elementary stream)

2.1. Dòng cơ sở (elementary stream).

Tín hiệu video số dạng thức CCIR-601 sau khi nén MPEG có dạng một dòng dữ liệu

video cơ sở (Elementary Stream - ES). Dòng ES chỉ chứa những thông tin cần thiết để

khôi phục lại hình ảnh ban đầu.

Tương tự, tín hiệu audio số dạng thức AES/EBU (Tần số lấy mẫu 48kHz, 24bit/mẫu,

tốc độ bít 1152kbps) được mã hóa thành dòng cơ sở audio (audio ES).

Dòng cơ sở về cơ bản là tín hiệu gốc tại đầu ra của bộ mã hóa và chỉ chứa những

thông tin cần thiết để giúp bộ giải mã tái tạo lại hình ảnh, âm thanh ban đầu.

Hình 2.1: Dòng cơ sở

Hình 2.2 sau đây mô tả cách thức tạo ra dòng cơ sở. Tín hiệu video sau khi qua bộ

mã hóa hai chiều, cho kết quả là các thông tin về các vector chuyển động, bảng lượng tử,

và các dữ liệu về không gian. Những dữ liệu này sau khi được mã hóa bằng các phương

thức khác nhau sẽ được trộn vào thành một dòng cơ sở duy nhất. Dữ liệu sau bộ ghép

(mux) nhiều hay ít là tùy vào lượng thông tin có trong ảnh. Nhưng tốc độ bit của dòng cơ

sở là không đổi nhờ qua một bộ đệm. Bộ đệm này có khả năng cảm nhận tốc độ dữ liệu

đi ra để điều khiển tốc độ mã hóa dữ liệu đầu vào. Tốc độ của dòng đi ra được qui định

- 22-

Mã hóa Video

Mã hóa audio

(AES/EBU)

(REC 601)

Dữ liệu video

Dữ liệu audio

Dòng cơ sở Elementary Stream ES

Dòng cơ sở Elementary Stream ES

Page 28: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

bởi thiết bị đồng hồ yêu cầu (demand clock). Đồng hồ này là do kênh truyền hoặc thiết bị

lưu trữ quyết định.

Hình 2.2: Hình thành dòng cơ sở.

Cấu trúc dòng cơ sở được mô tả như sau:

Hình 2.3: Cấu trúc dòng cơ sở

- 23-

Mã hóa 2 chiều

Mã hóa entropy và mã hóa độ dài từ mã thay

đổi

Mã hóa vi sai

Bộ ghép

Bộ đệm

Tín hiệu Video

Đồng hồ yêu cầu

Vector chuyển động

Điều khiển tốc độ

Slice

Dữ liệu không gian

Bảng lượng tử

Dòng cơ sở

Khối các hệ số DCT

Macro block Slice Ảnh

Nhóm ảnhVideo sequence

x n

x n

x n

x n

x n

Vector chuyển động

Tín hiệu đồng bộ I/P/B Tín hiệu định

thời

Mở/ Đóng

Cỡ ảnh

Tỉ lệ khuôn hình

Đồng bộQuét liên tuc/

xen kẽ

Loại mẫu

Tín hiệu ra

Tốc độ ảnh

Ma trận lượng tử

Level

Profile

Page 29: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

Đầu tiên là một tập hợp hợp các hệ số biểu diến khối DCT. Sáu hoặc tám khối DCT

tạo nên một macro block. Ở ảnh B và ảnh P mỗi macro block sẽ tương ứng với một vector

bù chuyển động. Một số macro block sẽ tạo thành một lát ảnh (slice) biểu thị sọc ngang

của hình ảnh từ trái sang phải. Tập hợp các lát ảnh tạo thành một ảnh, ảnh này thì cần biết

giá trị cờ I/P/B để biết được loại ảnh tương ứng. Một số ảnh tạo thành một nhóm ảnh

(GOP - Group of Picture). Một nhóm ảnh bắt đầu bằng ảnh I, giữa hai ảnh I liền nhau là

một số ảnh P và có thể có thêm ảnh B. Một tập hợp các nhóm ảnh tạo thành đoạn dữ liệu

video. Bắt đầu mỗi chuỗi video đều có phần tiêu đề chứa những thông tin quan trọng hỗ

trợ cho bộ giải mã.

2.2. Dòng cơ sở đóng gói (packetized elementary stream)

2.2.1. Giới thiệu chung về dòng cơ sở đóng gói

Do dòng dữ liệu cơ sở là liên tục, có chiều dài tùy thuộc vào lượng dữ liệu đưa vào

bộ mã hóa, để có thể truyền đi với độ tin cậy cao, dòng ES được đóng gói thành dòng cơ

sở đóng gói ( Packetized Elementary Stream - PES ). Mỗi gói PES gồm một tiêu đề và dữ

liệu của dòng cơ sở.

Hình 2.4: Dòng cơ sở đóng gói

Hình 2.5: Cấu trúc gói PES

Dòng cơ sở video là dòng bit liên tục mang thông tin về hình ảnh. Trong việc lưu trữ

và truyền dẫn thì sẽ thích hợp hơn nhiều nếu sử dụng những khối dữ liệu rời rạc, do vậy

dòng cơ sở được đóng gói tạo thành dòng cơ sở đóng gói PES (packetized elementary

- 24-

Đóng gói

Đóng gói(Audio ES)

(Video ES)

Dòng cơ sở video

Dòng cơ sở audio

Video PES

Audio PES

Start code Stream ID PTS DTS

Data

Page 30: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

stream). Tương tự như vậy, dữ liệu audio cũng cần được đóng gói. Cấu trúc của một gói

được mô tả trong hình 2.5. Gói được bắt đầu bằng phần tiêu đề chứa một mã bắt đầu gói

và một mã để phân biệt loại dữ liệu chứa trong gói. Ngoài ra có thể có thêm một số nhãn

thời gian để đồng bộ với bộ giải mã hình ảnh trong thời gian thực và đồng bộ với âm

thanh.

Hình 2.6 chỉ ra rằng nhãn thời gian thực chất là lấy mẫu trạng thái của một bộ đếm

được điều khiển bởi đồng hồ 90kHz. Đồng hồ này có được nhờ chia tần một đồng hồ chủ

27MHz cho 300. Có hai loại nhãn thời gian là nhãn thời gian trình diễn PTS (presentation

time stamp) và nhãn thời gian giải mã DTS (decode time stamp). Nhãn thời gian trình

diễn được dùng để xác định khi nào thì hình ảnh sẽ được thể hiện trên màn ảnh, còn nhãn

thời gian giải mã xác định khi nào hình ảnh được giải mã. Trong mã hóa hai chiều, những

nhãn thời gian này có thể không khác nhau.

Hình 2.6: Nhãn thời gian

Gói dữ liệu âm thanh chỉ có nhãn thời gian trình diễn. Vì khi có sự đồng bộ âm

thanh, thì dòng dữ liệu audio và video phải được gán nhãn từ cùng một bộ đếm.

Một minh họa được cho ở hình 2.7. Nhóm ảnh được bắt đầu bởi ảnh I, sau đó ảnh P

được gửi trước ảnh B1 và B2. Ảnh P phải được giải mã trước khi B1 và B2 giải mã. Tại một

thời điểm chỉ có một ảnh được giải mã, ảnh I được giải mã ở thời điểm N nhưng phải tới

thời điểm N+1 thì nó mới được thể hiện trên màn ảnh. Khi ảnh I được thể hiện thì ảnh P 1

được giải mã. P1 sẽ được lưu giữ trong RAM. Tại thời điểm N+2, ảnh B1 được giải mã và

thể hiện ngay trên màn hình. Vì lí do này mà nó không cần nhãn thời gian giải mã. Tại

thời điểm N+3, thì ảnh B2 được giải mã và thể hiện. Tại N+4, thì ảnh P1 mới được thể

hiện. Ta thấy P1 có sự khác nhau nhiều nhất của hai nhãn thời gian. Cùng thời điểm này

thì ảnh P2 được giải mã và lưu trữ để giải mã ảnh B3. Quá trình giải mã và trình diễn cứ

thế tiếp tục.

- 25-

27 MHz: 300

90 kHz 33-bit count

Encoder clock Time stamp

Page 31: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

Hình 2.7: Sử dụng nhãn thời gian PTS/DTS trong việc đồng bộ giải mã 2 chiều.

Trên thực tế, khoảng thời gian giữa các hình ảnh đến bộ giải mã thường là không

đổi, do vậy sẽ là thừa nếu gói nào cũng gán thêm nhãn thời gian PTS/DTS. Nhãn thời

gian có thể chiếm một khoảng 700ms trong dòng chương trình (program stream) và

100ms trong dòng truyền tải (transport stream). Vì lí do đó mà không phải mọi gói đều có

nhãn PTS/DTS. Vì trong dòng bit, mỗi loại ảnh (I, B hoặc P) đều được gán một cờ để xác

định, do đó bộ giải mã có thể suy ra nhãn thời gian cho mọi ảnh trong dòng bít.

Hình 2.8 chỉ ra rằng một số gói PES có thể được gom lại thành một cụm (pack) mà

tiêu đề của nó có chứa phần đồng bộ và một mã tham chiếu đồng hồ hệ thống (system

clock reference code) cho phép bộ giải mã tái tạo lại đồng hồ của bộ mã hóa.

- 26-

Khi truyền

N+4 N+2 N+3 N+7 N+5N+1

N+1 - - N+4 -N

P1 B1 B2 P2 B3I

B1 B2 P1 B3I

PTS

DTS

Khi giải mã

Khi trình diễn

I P1 B1 B2 P2 B3

N N+1 N+2 N+3 N+4 N+5

N+1 N+2 N+3 N+4 N+5

Page 32: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

Hình 2.8: Một số các gói PES tạo thành một cụm, phần tiêu đề cụm có chứa tham chiếu

đồng hồ (clock reference)

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

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.

- 27-

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

Video Audio Video Audio Video

Gói PESCụm

STREAM ID(1BYTE)

PESHEADER

PES PACKETLENGTH (2 BYTE)

STUFFING BYTES

PES START CODEPREFIX (3 BYTE)

PES PACKETDATA

PESSCRAMBLING

CONTROL(2 BIT)

PESPRIORITY

(1 BIT)

DATAALIGNMENTINDICATOR

(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)

PESEXTENSION

PTSDTS

(40 BIT)

ADDITIONALCOPY INFO

(8 BIT)

DSMTRICK MODE

(8 BIT)

PES CRC(16 BIT)

5 FLAGS OPTIONALFIELDS

PESPRIVATE

DATA

PACK HEADER

FIELD

PROGRAM PACKET SEQ COUNTER

(16 BIT)

P- STDBUFFER(16 BIT)

PESEXTENSION

FIELD

Page 33: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

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.

- 28-

Page 34: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

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ó:

- 29-

Page 35: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

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

- 30-

Page 36: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

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 size và P-STD buffer scale.

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 ).

Trường mở rộng PES (PES extension field).

- 31-

Page 37: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

2.2.3. Cấu trúc chi tiết từng trường và số bit có thể tham khảo theo bảng sau:

Cú pháp Số bit

PES_packet() {

packet_start_code_prefix

stream_id

PES_packet_length

if (stream_id != program_stream_map

&& stream_id != padding_stream

&& stream_id != private_stream_2

&& stream_id != ECM

&& stream_id != EMM

&& stream_id != program_stream_directory

&& stream_id != DSMCC_stream

&& stream_id != ITU-T Rec. H.222.1 type E stream) {

'10'

PES_scrambling_control

PES_priority

data_alignment_indicator

copyright

original_or_copy

PTS_DTS_flags

ESCR_flag

ES_rate_flag

DSM_trick_mode_flag

additional_copy_info_flag

PES_CRC_flag

PES_extension_flag

PES_header_data_length

if (PTS_DTS_flags = = '10') {

'0010'

PTS [32..30]

marker_bit

PTS [29..15]

24

8

16

2

2

1

1

1

1

2

1

1

1

1

1

1

8

4

3

1

15

- 32-

Page 38: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

marker_bit

PTS [14..0]

marker_bit

}

if (PTS_DTS_flags = = '11') {

'0011'

PTS [32..30]

marker_bit

PTS [29..15]

marker_bit

PTS [14..0]

marker_bit

'0001'

DTS [32..30]

marker_bit

DTS [29..15]

marker_bit

DTS [14..0]

marker_bit

}

if (ESCR_flag = = '1') {

reserved

ESCR_base[32..30]

marker_bit

ESCR_base[29..15]

marker_bit

ESCR_base[14..0]

marker_bit

ESCR_extension

marker_bit

}

if (ES_rate_flag = = '1') {

marker_bit

ES_rate

marker_bit

1

15

1

4

3

1

15

1

15

1

4

3

1

15

1

15

1

2

3

1

15

1

15

1

9

1

1

22

1

- 33-

Page 39: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

}

if (DSM_trick_mode_flag = = '1') {

trick_mode_control

if ( trick_mode_control = = fast_forward ) {

field_id

intra_slice_refresh

frequency_truncation

}

else if ( trick_mode_control = = slow_motion ) {

rep_cntrl

}

else if ( trick_mode_control = = freeze_frame ) {

field_id

reserved

}

else if ( trick_mode_control = = fast_reverse ) {

field_id

intra_slice_refresh

frequency_truncation

}

else if ( trick_mode_control = = slow_reverse ) {

rep_cntrl

}

Else

reserved

}

if ( additional_copy_info_flag = = '1') {

marker_bit

additional_copy_info

}

if ( PES_CRC_flag = = '1') {

previous_PES_packet_CRC

}

if ( PES_extension_flag = = '1') {

PES_private_data_flag

3

2

1

2

5

2

3

2

1

2

5

5

1

7

16

1

- 34-

Page 40: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

pack_header_field_flag

program_packet_sequence_counter_flag

P-STD_buffer_flag

reserved

PES_extension_flag_2

if ( PES_private_data_flag = = '1') {

PES_private_data

}

if (pack_header_field_flag = = '1') {

pack_field_length

pack_header()

}

if (program_packet_sequence_counter_flag = = '1') {

marker_bit

program_packet_sequence_counter

marker_bit

MPEG1_MPEG2_identifier

original_stuff_length

}

if ( P-STD_buffer_flag = = '1') {

'01'

P-STD_buffer_scale

P-STD_buffer_size

}

if ( PES_extension_flag_2 = = '1') {

marker_bit

PES_extension_field_length

for (i = 0; i < PES_extension_field_length;

i) {

reserved

}

}

}

}

For ( i = 0 ; i < N1 ; i++){

1

1

1

3

1

128

8

1

7

1

1

6

2

1

13

1

7

8

8

- 35-

Page 41: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

stuffing_byte

}

for (i = 0; i <N2; i++) {

PES_packet_data_byte

}

}

else if ( stream_id = = program_stream_map

|| stream_id = = private_stream_2

|| stream_id = = ECM

|| stream_id = = EMM

|| stream_id = = program_stream_directory

|| stream_id = = DSMCC_stream

|| stream_id = = ITU-T Rec. H.222.1 type E stream ) {

for (i = 0; i < PES_packet_length; i++) {

PES_packet_data_byte

}

} else if ( stream_id = = padding_stream) {

for (i = 0; i < PES_packet_length; i++) {

padding_byte

}

}

}

8

8

8

- 36-

Page 42: Phan Ticn Dong Truyen Tai Mpeg

Chương 2: Dòng cơ sở và dòng cơ sở đóng gói

Các gói PES này được ghép kênh với nhau tạo ra dòng truyền tải (Transport Stream)

hoặc dòng chương trình (Program Stream). Dòng chương trình (Program Stream) được

thiết kế để truyền đi trong môi trường không có tạp nhiễu và sai lầm, ví dụ như trong các

ứng dụng CD-ROM. Còn với môi trường truyền dẫn, phát sóng thực tế luôn có lỗi, trong

trường hợp này ta cần phải sử dụng dòng truyền tải (Transport Stream).

Hình 2.10: Sơ đồ mạch mã hóa MPEG

- 37-

DỮ LIỆU

VIDEO

DỮ LIỆU

VIDEOPES

AUDIO

ES

ES

AUDIOPES

( TRANSPORTSTREAM )

DÒNG TRUYỀN

TẢI

( PROGRAM STREAM )

DÒNG CHƯƠNG

TRÌNH

AUDIO PES

VIDEO PES

VIDEO PES

AUDIO PES

MÃ HOÁ

VIDEO

ĐÓNG

GÓI

GHÉPKÊNHDÒNG

TRUYỀNTẢI

GHÉP

KÊNH

CHƯƠNG

TRÌNH

MÃ HOÁ

AUDIO

ĐÓNG

GÓI

Page 43: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Chương 3: Dòng truyền tải

3.1. Giới thiệu chung về dòng truyền tải:

Một chương trình TV thường gồm có thông tin về hình ảnh, âm thanh và các dữ liệu

khác liên quan. Mặc dù một dòng truyền tải chỉ mang một chương trình đơn cũng được

cho phép nhưng mục đích chính khi thiết kế dòng truyền tải là để ghép nhiều chương trình

truyền hình vào một dòng truyền tải duy nhất. Dòng truyền tải được xây dựng từ những

phần tử cơ bản là các gói có kích thước cố định là 188 bytes để thuận tiện cho việc ghép

kênh và sửa lỗi. Những gói truyền tải là nhỏ và có kích thước cố định, khác với gói PES là

những gói lớn và có chiều dài khác nhau .

Hình 3.1: Cấu trúc gói truyền tải

- 38-

Header Payload Header Payload Header Payload… … …

TRANSPORTERROR

INDICATOR(1 BIT)

TRANSPORTPRIORITY

(1 BIT)

CONTINUITYCOUNTER

(4 BIT)

STARTINDICATOR

(1BIT)

ADAPTATIONFIELD

CONTROL(2 BIT)

PID(13

BIT)

SYNCBYTE(8 BIT)

SCRAMBLINGCONTROL

(2 BIT)

ADAPTATIONFIELD

PAYLOAD

DISCONTINUITYINDICATOR

(1 BIT)

RANDOM ACCESS

INDICATOR(1 BIT)

ELEM STREAM

PRIORITYINDICATOR

(1 BIT)

5 FLAGS(5 BIT)

ADAPTATIONFIELD

LENGHTH(1 BYTE)

OPTIONALFIELDS

STUFFINGBYTES

PCR(48 BIT)

OPCR(48 BIT)

SPLICECOUNTDOWN

(8 BIT)

ADAPTATIONFIELD

EXTENSION(40 BIT)

TRANSPORTPRIVATE

DATA(40 BIT)

Page 44: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Gói truyền tải luôn bắt đầu bởi phần tiêu đề (header), phần còn lại mang dữ liệu gọi

là phần tải tin (payload). Để cho việc truyền tải có hiệu quả thì kích thước phần tiêu đề

thường là nhỏ, nhưng nhằm thực hiện một số mục đích đặc biệt thì phần tiêu đề có thể

được mở rộng. Khi ấy phần tải tin sẽ được thu hẹp lại để đảm bảo kích thước của gói

truyền tải vẫn là không đổi.

Phần tiêu đề bắt đầu bởi byte đồng bộ (syncbyte) được nhận biết bởi bộ giải mã.

Trong dòng truyền tải có thể mang rất nhiều dòng cơ sở, mỗi dòng cơ sở sẽ được mang

một mã nhận dạng 13-bit duy nhất là PID (Packet Identification Code). Nhờ có mã này

mã bộ giải mã có thể nhận diện từng gói truyền tải là của dòng cơ sở tương ứng nào.

Trong việc ghép kênh có trường hợp xảy ra là đang có một chuỗi các gói của dòng

cơ sở này được truyền thì lại chuyển sang một chuỗi các gói của dòng cơ sở khác. Vì vậy

để trợ giúp cho bộ giải mã thì trong phần tiêu đề của gói truyền tải có một bộ đếm liên tục

(continuity count). Bộ đếm này sẽ tăng ứng với một gói tiếp theo của một dòng cơ sở

được truyền đi.

Từ cách làm việc của dòng truyền tải cho thấy: dòng truyền tải không đảm bảo một

tốc độ bit cố định cho một dòng cơ sở, tổng tốc độ của các dòng cơ sở trong dòng truyền

tải sẽ được hạn chế để không vượt quá giá trị lớn nhất, tốc độ của dòng truyền tải sẽ được

giữ không đổi nhờ chèn thêm các byte đệm hoặc các gói rỗng (null packet).

3.2. Chuẩn đồng hồ (clock references)

Dòng truyền tải là sự kết hợp của một số các chương trình truyền hình với nhau,

những chương trình này được lấy từ những nguồn khác nhau. Sẽ là ảo tưởng nếu cho rằng

tất cả các chương trình này đồng bộ với nhau, vì thế dòng truyền tải phải được thiết kế

cho các chương trình không đồng bộ. Cơ chế để tách các chương trình không đồng bộ

trong dòng truyền tải gọi là chuẩn đồng hồ chương trình PCR (Program Clock

Reference).

Với dòng chương trình (program stream), thì tất cả các chương trình yêu cầu phải

được đồng bộ, do đó chỉ cần một đồng hồ ở bộ giải mã. Trong trường hợp này cơ chế

đồng bộ gọi là chuẩn đồng hồ hệ thống SCR (System Clock Reference).

- 39-

Page 45: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Hình 3.2 mô tả cách thức mà hệ thống PCR/SCR làm việc. Mục tiêu là tái tạo lại

đồng hồ 27MHz ở bộ giải mã đồng bộ với bộ mã hóa. Tại bộ mã hóa, đồng hồ chuẩn

27MHz được đưa đến bộ đếm tiến 48-bit.

Bộ hợp kênh dòng truyền tải sẽ lấy mẫu theo chu kì trạng thái của bộ đếm và đặt giá

trị này vào phần tiêu đề của gói truyền tải. Đó chính là giá trị PCR. Bộ giải mã chỉ chọn

những gói có PID phù hợp với chương trình mà nó được yêu cầu để giải mã. Từ những

gói này, bộ giải mã sẽ tách ra giá trị PCR. Với dòng chương trình thì giá trị được chèn vào

phần tiêu đề không phải là PCR mà là SCR.

Hình 3.2: Sử dụng tham chiếu đồng hồ chương trình hoặc tham chiếu đồng hồ hệ

thống (PCR/SCR) để tái tạo đồng hồ ở bộ giải mã

Giá trị PCR/SCR được dùng để điều khiển vòng khóa số NLL (numerically locked

loop). NLL có chứa một bộ 27 MHz VCXO (voltage controlled crystal oscillator). Bộ

VCXO này điều khiển một bộ đếm 48-bit giống như bộ mã hóa. Giá trị của bộ đếm này

được so sánh với giá trị của PCR/SCR, sự sai khác này được sử dụng để điều chỉnh tần số

- 40-

Page 46: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

của bộ VCXO. Sau một thời gian điều chỉnh, giá trị của bộ đếm sẽ trùng với giá trị

PCR/SCR, khi đó bộ VCXO sẽ được giữ cố định không thay đổi nữa. Trên thực tế thì do

ảnh hưởng của kênh truyền mà vẫn có sự sai pha trong vòng lặp. Lỗi này được loại bỏ bởi

bộ lọc vòng (loop filter) để làm cho bộ VCXO vẫn làm việc hiệu quả với lỗi pha.

3.3. Giải mã dòng truyền tải.

Hình 3.3:Cấu trúc bảng xác định chương trình PSI

Trong dòng truyền tải có rất nhiều dòng cơ sở của nhiều chương trình khác nhau.

Mỗi dòng cơ sở đều có một giá trị PID khác nhau. Nhưng bộ giải mã phải được cho biết

dòng cơ sở video nào kết hợp với dòng cơ sở audio nào thì mới có thể giải mã được.

- 41-

Program 0 18

Program 1 35

Program 2 50

.

.

Stream 1 V 51

Stream 2 A 53

Stream 3 A 54

Stream 4 A 56

Stream 5 A 60

Stream 6 D 65

Stream 1 V 17

Stream 2 A 36

Stream 3 A 38

Stream 4 D 41

PAT (PID = 0)

NIT (PID = 18)

PMT 1PID = 35

PMT 2PID = 50

PAT - Program Association TableCAT - Conditional Access TableNIT - Network Information TableNull packets – PID = 8191

Page 47: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Nhiệm vụ này là của PSI (Program Specific Information). Hình 3.3 chỉ ra cấu trúc của

PSI.

Khi bộ giải mã được khởi động, nó hoàn toàn không biết gì về dòng truyền tải sắp

phải giải mã. Việc đầu tiên là nó nhận các gói có PID = 0. Những gói này mang thông tin

về bảng liên kết chương trình PAT (Program Association Table). PAT được truyền đi ở

những thời khoảng xác định, nó mang thông tin về tất cả các chương trình có trong dòng

truyền tải. Các chương trình thì được mô tả chi tiết hơn bởi bảng bản đồ chương trình

PMT (Program Map Table). Những giá trị PID của PMT được mang trong bảng liên kết

chương trình PAT.

Hình trên cũng chỉ ra rằng PMT cho phép xác định đầy đủ một chương trình. Trong

đó chứa đựng PID của các dòng cơ sở video, audio và dữ liệu tương ứng của một chương

trình. Do đó, khi người dùng chọn một kênh chương trình nào đó thì đầu tiên máy thu sẽ

tìm ra PMT của chương trình đó. Từ đó tách ra các gói của dòng cơ sở tương ứng để đưa

đi giải mã.

Chương trình số 0 mang thông tin về mạng NIT (Network Information Table). Nó

mang thông tin về các dòng truyền tải khác đang hiện hữu. Ví dụ như trong quảng bá vệ

tinh, bảng thông tin mạng NIT sẽ mang thông tin về vị trí quĩ đạo, sự phân cực, tần số

sóng mang, và phương thức điều chế. Sử dụng bảng NIT, máy thu có thể chuyển đổi tự

động giữa các dòng truyền tải.

Những gói có PID bằng 1 được dùng để mang thông tin về bảng truy cập có điều

kiện CAT (Conditional Access Table). Đây là cơ chế điều khiển truy cập hỗ trợ cho

những dịch vụ mà cần trả phí thì mới có thể giải mã được chương trình.

- 42-

Page 48: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

3.4. Phân tích cú pháp dòng truyền tải

Bảng 3.1 : Dòng truyền tải

Cú pháp Số bit

MPEG_transport_stream() {

do {

transport_packet()

} while (nextbits() = = sync_byte)

}

Bảng 3.2: Cấu trúc gói truyền tải

Cú pháp Số bit

transport_packet(){

sync_byte

transport_error_indicator

payload_unit_start_indicator

transport_priority

PID

transport_scrambling_control

adaptation_field_control

continuity_counter

if(adaptation_field_control = = '10' || adaptation_field_control = = '11'){

adaptation_field()

}

if(adaptation_field_control = = '01' || adaptation_field_control = = '11') {

for (i = 0; i < N ; i++){

data_byte

}

}

}

8

1

1

1

13

2

2

4

8

- 43-

Page 49: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Phần header có độ dài tối thiểu là 4 bytes và chứa những thông tin sau:

1. Byte đồng bộ (Sync Byte): byte này được nhận biết bởi bộ giải mã. Byte này được cố

định giá trị là 0x47.

2. Chỉ thị lỗi truyền tải (Transport Error Indication) : Có độ dài 1bit .Chỉ thị này thông

báo khi tỉ lệ lỗi bít BER vượt quá giá trị cho phép. Khi giá trị này được đặt là ‘1’ nó chỉ

thị rằng có ít nhất 1 lỗi không thể sửa được trong gói truyền tải, và sẽ không thể đặt lại

thành giá trị ‘0’ chừng nào mà các lỗi chưa được sửa hết.

3. Chỉ thị bắt đầu đơn vị dữ liệu (Payload Unit Start Indicator): trường cờ 1 bit mang

thông tin về gói PES hoặc dữ liệu PSI trong gói truyền tải.

Khi mà phần tải tin của gói truyền tải mang dữ liệu của các gói PES thì bít này có ý

nghĩa như sau: bit có giá trị ‘1’ nếu phần payload của gói truyền tải này chứa byte đầu

tiên của gói PES, có giá trị ‘0’ nếu không phải như vậy.

Khi mà phần tải tin của gói truyền tải mang dữ liệu PSI thì bit này được đặt là ‘1’

nếu gói này có chứa byte đầu tiên của PSI, nếu không phải vậy thì bit này sẽ có giá trị ‘0’.

Khi đây là gói trống (null packet) thì bit này được đặt là ‘0’

4. Ưu tiên truyền tải (Transport Priority): Khi được đặt là ‘1’, bit này chỉ thị rằng gói

này có độ ưu tiên cao hơn các gói khác có cùng PID mà bit này có giá trị ‘0’. Cơ chế này

cho phép xác lập mức ưu tiên của dữ liệu trong bản thân một dòng cơ sở. Phụ thuộc từng

ứng dụng mà trường này có thể được mã hóa theo cách không cần quan tâm đến các PID

hay là chỉ xét trong 1 PID duy nhất. Trường này thì có thể bị thay đổi bởi bộ mã hóa hoặc

giải mã của tùy từng kênh truyền.

5. Nhận dạng gói (Packet Identification - PID): trường 13-bit chỉ ra loại dữ liệu chứa

trong phần tải tin. Sau đây là bảng các giá trị PID

- 44-

Page 50: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Giá trị Mô tả

0x0000 Bảng liên kết chương trình(Program Association Table)

0x0001 Bảng truy nhập có điều kiện (Conditional Access Table)

0x0002 Transport Stream Description Table

0x0003 -

0x000F

Dự phòng

0x00010

0x1FFE

Có thể được gán cho network_PID, Program_map_PID,

elementary_PID hoặc các mục đích khác.

0x1FFF Gói rỗng (Null packet)

6. Điều khiển đảo mã truyền tải (Transport Scrambling Control): trường 2-bit chỉ ra kiểu

xáo trộn dữ liệu trong tải tin của gói truyền tải. Phần tiêu đề (header) và phần thích nghi

(adaptation field) trên thực tế không được xáo trộn. Trong trường hợp gói rỗng giá trị của

trường này được đặt là ‘00’. Sau đây là bảng giá trị của trường này:

Giá trị Mô tả

00 Không xáo trộn

01 Dự phòng

10 Bị xáo trộn bởi khóa ‘chẵn’

11 Bị xáo trộn bởi khóa ‘lẻ’

7. Điều khiển trường thích nghi (Adaptation Field Control): cho biết thông tin về trường

thích nghi (Adaptation Field):

Giá trị Mô tả

00 Dự phòng

01 Không có trường thích nghi, chỉ có payload

10 Chỉ có trường thích nghi, không có payload

11 Có trường thích nghi, sau đó là payload

- 45-

Page 51: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

8. Bộ đếm liên tục (Continuity Counter): đây là bộ đếm 4-bit, đếm các gói có cùng PID.

Khi đạt giá trị lớn nhất (0xF) thì sẽ quay về 0. Bộ đếm này sẽ không thực hiện đếm nếu

giá trị của Adaptation Field Control là ‘00’ hoặc ‘10’.

Trong dòng truyền tải, một gói có thể được gửi thành hai lần. Trong đó gói thứ hai là

bản sao của gói thứ nhất (duplicate packet). Trong trường hợp này thì giá trị của bộ đếm

liên tục sẽ không tăng. Hai gói này sẽ có các byte tương ứng giống nhau y hệt trừ giá trị

của trường chuẩn đồng hồ chương trình (program clock reference) nếu có thì sẽ được thay

bằng giá trị thích hợp.

Giá trị này được tăng lên 1 đơn vị so với giá trị trong gói truyền tải trước đó mà có

cùng giá trị PID, hoặc không tăng trong trường hợp trường Adaptation Field Control có

giá trị là ‘00’ hoặc ‘10’ như đã mô tả ở trên. Bộ đếm này có thể bị gián đoạn nếu giá trị

của trường chỉ thị bất liên tục (discontinuity indicator) được đặt là “1”. Trong trường hợp

gói rỗng, giá trị của Continuity Counter chưa được định nghĩa.

9. Byte dữ liệu (data byte): Đây là những byte mang dữ liệu của các gói PES, thông tin

của PSI, của các byte dữ liệu riêng (private data) hoặc các byte đệm. Trong trường hợp

gói rỗng (gói có PID bằng 0x1FFF) thì byte dữ liệu có thể mang bất kì giá trị nào. Số byte

dữ liệu N bằng 184 trừ đi số byte của trường thích nghi được mô tả ngay sau đây.

10. Trường thích nghi (Adaptation Field): gồm có:

- 46-

Page 52: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Bảng 3.3: Trường thích nghi

Cú pháp Số bit

adaptation_field() {

adaptation_field_length

if (adaptation_field_length > 0) {

discontinuity_indicator

random_access_indicator

elementary_stream_priority_indicator

PCR_flag

OPCR_flag

splicing_point_flag

transport_private_data_flag

adaptation_field_extension_flag

if (PCR_flag = = '1') {

program_clock_reference_base

reserved

program_clock_reference_extension

}

if (OPCR_flag = = '1') {

original_program_clock_reference_base

reserved

original_program_clock_reference_extension

}

if (splicing_point_flag = = '1') {

splice_countdown

}

if (transport_private_data_flag = = '1') {

transport_private_data_length

for (i = 0; i < transport_private_data_length; i++) {

private_data_byte

}

}

8

1

1

1

1

1

1

1

1

33

6

9

33

6

9

8

8

8

- 47-

Page 53: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

if (adaptation_field_extension_flag = = '1') {

adaptation_field_extension_length

ltw_flag

piecewise_rate_flag

seamless_splice_flag

reserved

if (ltw_flag = = '1') {

ltw_valid_flag

ltw_offset

}

if (piecewise_rate_flag = = '1') {

reserved

piecewise_rate

}

if (seamless_splice_flag = = '1') {

splice_type

DTS_next_AU[32..30]

marker_bit

DTS_next_AU[29..15]

marker_bit

DTS_next_AU[14..0]

marker_bit

}

for (i = 0; i < N; i++) {

reserved

}

}

for (i = 0; i < N; i++) {

stuffing_byte

}

}

}

8

1

1

1

5

1

15

2

22

4

3

1

15

1

15

1

8

8

- 48-

Page 54: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

10.1. Độ dài trường thích nghi (Adaptation Field Length): trường 8-bit chỉ thị có bao

nhiêu byte trong trường thích nghi đi ngay sau trường này. Giá trị độ dài trường thích

nghi bằng ‘0’ có nghĩa là chèn thêm 1 byte đệm vào gói truyền tải. Khi giá trị của trường

điều khiển trường thích nghi (Adaptation Field Control) là ‘11’, có nghĩa là trong gói

truyền tải có cả trường thích nghi và có cả phần tải tin, thì giá trị của trường này sẽ trong

khoảng 0-182. Khi giá trị của Adaptation Field Control là ‘10’, nghĩa là trong gói truyền

tải chỉ có trường thích nghi không có phần tải tin,giá trị của trường này sẽ là 183. Khi mà

dòng truyền tải mang gói PES thì việc chèn byte đệm là cần thiết khi mà kích thước của

phần gói PES cần gửi đi không đủ để làm đầy một gói truyền tải vốn được định sẵn là có

kích thước cố định. Trường hợp này sẽ được giải quyết bằng cách đặt giá trị của trường

độ dài trường thích nghi nhiều hơn phần dữ liệu mà thực sự nó có sao cho phần còn lại

vừa đủ để chứa dữ liệu của gói PES. Phần dư ra trong trường thích nghi sẽ được đặt vào

đó bằng các byte đệm (stuffing byte).Phương pháp này cho phép dòng truyền tải có thể

vận chuyển các gói PES có độ dài thay đổi.

10.2. Chỉ thị không liên tục (Discontinuity Indicator): trường 1 bit chỉ thị sự không liên

tục của gói truyền tải hiện tại. Có giá trị ‘1’ nếu mà không liên tục. Chỉ thị này cho biết

hoặc là đồng hồ chuẩn (system time-base) hoặc bộ đếm liên tục (Continuity Counter)

không liên tục.

10.3. Chỉ thị truy cập ngẫu nhiên (Random Access Indicator): trường 1-bit chỉ thị rằng

gói truyền tải hiện tại, hoặc có thể các gói sau nữa mà có cùng PID, có chứa dữ liệu với

chức năng như một điểm truy cập ngẫu nhiên. Chính xác là khi trường này được đặt là ‘1’

thì gói PES tiếp theo được mang trong gói truyền tải có cùng chỉ số PID hiện tại sẽ chứa

byte đầu tiên của tiêu đề chuỗi video (trong trường hợp dòng cơ sở là dòng cơ sở video)

hoặc sẽ chứa byte đầu tiên của một khung audio (trong trường hợp dòng cơ sở là audio).

Đồng thời trong gói PES đó cũng sẽ mang nhãn thời gian trình diễn PTS của dữ liệu

tương ứng.

10.4. Chỉ thị ưu tiên dòng cơ sở (Elementary Stream Priority Indicator): Chỉ thị mức ưu

tiên của dòng dữ liệu. Giá trị ‘1’ chỉ thị gói có mức ưu tiên cao hơn gói có giá trị ‘0’.

Trong trường hợp gói truyền tải mang dữ liệu hình ảnh thì trường này chỉ được đặt là ‘1’

nếu gói truyền tải này mang thông tin của ảnh I (intra-coded picture).

10.5. Các trường cờ bao gồm:

- 49-

Page 55: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

10.5.1. PCR-flag: cờ 1-bit. Giá trị là ‘1’ cho biết có sự có mặt của chuẩn đồng hồ

chương trình (Program Clock Reference).

10.5.2. OPCR-flag: cờ 1-bit. Giá trị là ‘1’ cho biết sự có mặt của đồng hồ chương

trình gốc (Original Program Clock Reference).

10.5.3. Splicing Point Flag: Cờ hiệu điểm ghép nối độ dài 1bit, chỉ ra sự có mặt của

trường đếm ngược điểm ghép nối (Splice Countdown).

10.5.4. Transport Private Data Flag: cờ 1 bit. Có giá trị ‘1’ nếu trong trường thích

nghi có chứa một hoặc nhiều hơn một byte dữ liệu cá nhân (private data byte), có giá

trị ‘0’ nếu không chứa byte nào.

10.5.5. Adaptation Field Extension Flag: cờ 1bit chỉ sự có mặt của phần mở rộng

của trường thích nghi. Có giá trị ‘1’ nếu có phần mở rộng này, có giá trị ‘0’ nếu

không có.

10.6. Trường tùy chọn (Optional Field): Bao gồm:

10.6.1. PCR (Program Clock Reference): có 48-bit. Đây là chuẩn đồng hồ chương

trình được dùng để đồng bộ quá trình giải mã hệ thống. Trường này có thể được sửa

đổi trong quá trình truyền (PCR được truyển tổi thiểu 1 lần/100 ms).

Trường này được mã hóa thành 2 phần. Phần thứ nhất là trường 33-bit

‘program clock reference base’. Phần thứ hai là trường 9-bit ‘program clock

reference extension’. Các trường này có giá trị tính theo công thức sau:

PCR(i) = PCR_base(i) × 300 + PCR_ext(i)

PCR_base(i) = ((system_clock_ frequency × t(i)) DIV 300) % 233

PCR_ext(i) = ((system_clock_ frequency × t(i)) DIV 1) % 300

Trong đó:

t(i) là thời gian byte thứ i của dòng truyền tải tới bộ giải mã.

DIV là phép chia làm tròn về hướng âm vô cùng.

% là toán tử lấy phần dư

6-bit còn lại của trường này được dùng để dự phòng.

10.6.2. OPRC (Original Program Clock Reference): có 48-bit. Đây là chuẩn đồng

hồ chương trình gốc, không được sửa đổi trong quá trình truyền, chỉ có thể sử dụng

để ghi và phát lại chương trình đơn.

Trường này cũng được mã hóa thành 2 phần tương ứng với trường PCR. Nó

cũng gồm có phần cơ sở (original program clock reference base) và phần mở rộng

- 50-

Page 56: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

(original program clock reference extension). Sự có mặt của trường này được quyết

định bởi cờ OPCR (OPCR flag). Trường này chỉ được mã hóa ở những gói truyền tải

mà có mặt của trường PCR. Trường này được cho phép ở cả dòng truyền tải đơn

chương trình và đa chương trình.

Trường OPCR giúp cho việc tái tạo lại một dòng truyền tải đơn chương trình từ

một dòng truyền tải khác. Khi tái tạo lại một chương trình đơn, trường OPCR có thể

được sao chép thành trường PCR. Chỉ khi nào toàn bộ một dòng truyền tải đơn

chương trình được tái tạo lại hoàn chỉnh thì giá trị PCR này mới được coi là hợp lệ.

Trong trường hợp có ít nhất một gói PSI hoặc gói dữ liệu cá nhân (private data

packets) nào đó trong dòng chương trình đơn gốc này thì có thể sẽ cần một sự sắp

xếp nào khác nữa mang tính cá nhân. Điều này cũng có nghĩa là trường OPCR phải

là một bản sao nguyên gốc của trường PCR trong dòng truyền tải đơn chương trình

tương ứng.

Trường OPRC được tính theo công thức sau:

OPCR(i) = OPCR_base(i) × 300 + OPCR_ext(i)

trong đó:

OPCR_base(i) = ((system_clock_ frequency × t(i)) DIV 300) % 233

OPCR_ext(i) = ((system_clock_ frequency × t(i)) DIV 1) % 300

t(i) là thời gian byte thứ i của dòng truyền tải tới bộ giải mã.

DIV là phép chia làm tròn về hướng âm vô cùng.

% là toán tử lấy phần dư

Trường OPCR sẽ được bỏ qua tại bộ giải mã. Và trường này thì không thể bị

thay đổi bởi bất kì bộ ghép kênh hoặc bộ giải mã nào.

10.6.3. Trường đếm lùi điểm ghép nối (Splice Countdown): chiếm 8-bit. Trường

này chỉ thị số gói truyền tải (TS Packet) còn lại cho đến khi gặp điểm nối (Splice

Point).

Đây là trường 8-bit mô tả một giá trị có thể là dương hoặc âm. Một giá trị

dương sẽ mang ý nghĩa là còn bao nhiêu gói truyền tải nữa (mà có cùng chỉ số PID)

thì sẽ tới điểm nối (splicing point). Những gói truyền tải kiểu bản sao (duplicate

packet) hoặc gói truyền tải mà chỉ chứa trường tùy chọn sẽ bị loại trừ. Điểm nối

được định vị ngay tại vị trí sau byte cuối cùng của gói truyền tải mà có giá trị trường

này bằng 0. Byte cuối cùng trong phần payload của gói truyền tải này sẽ chứa byte

- 51-

Page 57: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

cuối cùng của một khung audio hoặc một hình đã được mã hóa. Những gói truyền tải

có cùng chỉ số PID sau đó có thể chứa đựng dữ liệu từ một dòng cơ sở khác cùng

loại.

Phần payload của gói truyền tải tiếp theo mà có cùng PID sẽ bắt đầu bằng byte

đầu tiên của một gói cơ sở đóng gói (PES packet). Trong trường hợp dữ liệu âm

thanh, phần payload của gói PES sẽ bắt đầu bằng một điểm truy cập (an access

point). Trong trường hợp dữ liệu hình ảnh, phần payload của gói PES sẽ bắt đầu

bằng một điểm truy cập, hoặc một mã kết thúc chuỗi (sequence end code) theo sau

đó là một điểm truy cập. Sau điểm nối có thể vẫn còn trường đếm lùi điểm ghép nối.

Khi ấy giá trị của trường này là một giá trị âm ‘–n’ nó chỉ ra rằng gói truyền tải này

là gói thứ n sau điểm nối.

Điểm truy cập được định nghĩa như sau:

Với dữ liệu hình: đó là byte đầu tiên của tiêu đề chuỗi hình ảnh (video sequence

header).

Với dữ liệu âm thanh: đó là byte đầu tiên của khung âm thanh (audio frame).

10.6.4. Trường dữ liệu riêng truyền tải (Transport Private Data) : chiếm 5 byte.

Byte dữ liệu cá nhân (Private data byte): những byte này không được định

trước bởi ITU-T | ISO/IEC mà thay đổi tùy theo người dùng.

Chiều dài dữ liệu cá nhân (transport private data length): trường 8 bit, chỉ ra số

byte dữ liệu cá nhân đi ngay sau trường này.

10.6.5. Mở rộng trường thích nghi (Adaptation Field Extention): chiếm 5 byte.

10.6.5.1. Chiều dài mở rộng trường thích nghi (adaptation field extension

length): trường 8-bit. Chỉ ra số byte của trường thích nghi mở rộng đi sau trường này

(bao gồm cả những byte dự phòng nếu có).

10.6.5.2. ltw_flag (legal time window_flag): trường cờ 1 bit. Khi được đặt giá

trị ‘1’ thì có nghĩa là có mặt của trường ltw_offset

10.6.5.3. piecewise_rate_flag: cờ 1 bit, thể hiện sự có mặt hay không của

trường piecewise_rate.

10.6.5.4. seamless splice flag: cờ 1 bit. Khi cờ này được đặt giá trị ‘1’ thì sẽ có

các trường ‘splice_type’ và ‘DTS_next_AU’. Nếu giá trị của cờ này là ‘0’ thì cả hai

trường trên đều không có. Trường này không thể được đặt là ‘1’ trong những gói

truyền tải mà cờ ‘splicing point flag’ không được đặt là ‘1’. Khi mà cờ này được đặt

- 52-

Page 58: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

là ‘1’ trong một gói truyền tải mà có chỉ số ‘splice countdown’ là số dương, thì các

gói truyền tải tiếp theo có cùng PID cũng sẽ có giá trị cờ này là ‘1’, cho tới khi nào

mà gói truyền tải có chỉ số ‘splice countdown’ lùi về đến 0 (bao gồm cả gói truyền

tải hiện tại). Khi cờ này được đặt, nếu dòng cơ sở trong đó là dòng dữ liệu âm thanh,

thì trường ‘splice type’ sẽ được đặt là ‘0000’. Nếu dòng cơ sở trong đó chứa dữ liệu

hình ảnh thì nó phải thỏa mãn những điều kiện đặt ra tùy theo giá trị của trường

‘splice type’

10.6.5.5. ltw_valid_flag (legal time window_valid_flag): trường 1 bit. Khi

được đặt là ‘1’ có nghĩa là giá trị của ‘ltw_offset’ là hợp lệ. Còn nếu là ‘0’ có nghĩa

là giá trị của trường ‘ltw_offset’ không xác định.

10.6.5.6. ltw_offset (legal time window offset): cửa sổ thời gian hợp lệ, trường

15-bit. Giá trị của trường này chỉ được xác định khi giá trị của cờ ‘ltw_valid’ được

đặt là ‘1’. Đơn vị của trường này là 300/fs giây. Trong đó fs là tần số đồng hồ hệ

thống. Giá trị của trường được tính theo công thức sau:

offset = t1(i) – t(i)

ltw_offset = offset//1

trong đó i là chỉ số của byte đầu tiên của gói truyền tải, ‘offset’ là giá trị được

mã hóa ở trường này, t(i) là thời gian đến của byte i ở bộ giải mã (T-STD Transport

Stream System Target Decoder), t1(i) là giới hạn trên của khoảng thời gian của cửa

sổ thời gian hợp lệ tương ứng với gói truyền tải này.

10.6.5.7. piecewise rate: trường 22-bit. Giá trị của trường này chỉ có ý nghĩa

khi mà cả 2 cờ ‘ltw_flag’ và ‘ltw_valid_flag’ được đặt lên ‘1’. Khi ấy, giá trị này là

một số ngyên dương chỉ ra một tỉ lệ bit giả thiết là R được sử dụng để định nghĩa cửa

sổ thời gian hợp lệ của những gói truyền tải,có cùng chỉ số PID, đi sau gói này

nhưng lại không có trường ‘legal time window offset’.

Giả thiết byte đầu tiên của gói truyền tải này và N gói tiếp theo có cùng PID, có

các chỉ số tương ứng là Ai, Ai + 1, ..., Ai + N. N gói tiếp sau này không có giá trị được

mã hóa trong trường ‘legal time window offset’. Khi đó giá trị của t1(Ai + j) được tính

theo công thức sau:

t1(Ai + j) = t1(Ai) + j × 188 × 8-bits/byte /R

với j trong khoảng từ 1 đến N.

Tất cả các gói nằm giữa gói này và gói tiếp theo có cùng PID mà có chứa

trường ‘legal time window offset’ sẽ được xử lí nếu nó có giá trị :

- 53-

Page 59: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

offset = t1(Ai) – t(Ai)

Giá trị của trường này sẽ không được xác định trong những gói truyền tải mà

không có trường ‘legal time window offset’.

10.6.5.8. Loại điểm ghép nối (splice type) : trường 4-bit. Trong tất cả các gói

truyền tải, có cùng PID, mà giá trị của trường ‘splice countdown’ giảm dần từ giá trị

lớn nhất về 0, thì trường loại điểm ghép nối sẽ có cùng giá trị. Nếu dòng cơ sở trong

đó là âm thanh thì trường này có giá trị ‘0000’. Nếu dòng cơ sở trong đó là dòng dữ

liệu hình ảnh thì giá trị của trường này sẽ chỉ ra các điều kiện cần phải tôn trọng khi

thực hiện ở điểm nối. Những điều kiện này được chỉ ra trong các bảng từ 3.4.1 đến

3.4.14.

10.6.5.9. Nhãn thời gian giải mã đơn vị truy cập kế tiếp DTS_next_AU

(decoding time stamp next access unit): trường 33-bit, mã hóa thành 3 phần. Trong

trường hợp giải mã liên tục và theo chu kì thì trường này chỉ ra thời gian giải mã của

đơn vị truy cập ngay sau điểm nối. Thời gian giải mã này được mô tả trong cơ sở

thời gian hợp lệ trong gói truyền tải có giá trị ‘splice countdown’ là 0. Trường này sẽ

giữ nguyên giá trị trong các gói truyền tải, có cùng PID, tiếp theo cho tới khi giá trị

của trường ‘splice countdown’ giảm tới 0.

10.7. Các byte đệm (Stuffing Bytes): Mỗi byte có giá trị cố định là 0xFF, được chèn thêm

vào bởi bộ mã hóa và các byte này sẽ được bỏ qua tại bộ giải mã.

- 54-

Page 60: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Bảng 3.4.1 – Splice parameters Table 1

Simple Profile Main Level, Main Profile Main Level, SNR Profile Main Level (both

layers), Spatial Profile High-1440 Level (base layer),

High Profile Main Level (middle base layers), Multi-view Profile Main Level (base

layer) Video

Splice type Điều kiện

0000 splice_decoding_delay = 120 ms; max_splice_rate = 15.0 × 106 bit/s

0001 splice_decoding_delay = 150 ms; max_splice_rate = 12.0 × 106 bit/s

0010 splice_decoding_delay = 225 ms; max_splice_rate = 8.0 × 106 bit/s

0011 splice_decoding_delay = 250 ms; max_splice_rate = 7.2 × 106 bit/s

0100 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.2 – Splice parameters Table 2

Main Profile Low Level, SNR Profile Low Level (both layers), High Profile Main

Level (base layer),

Multi-view Profile Low Level (base layer) Video

Splice type Điều kiện

0000 splice_decoding_delay = 115 ms; max_splice_rate = 4.0 × 106 bit/s

0001 splice_decoding_delay = 155 ms; max_splice_rate = 3.0 × 106 bit/s

0010 splice_decoding_delay = 230 ms; max_splice_rate = 2.0 × 106 bit/s

0011 splice_decoding_delay = 250 ms; max_splice_rate = 1.8 × 106 bit/s

0100 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.3 – Splice parameters Table 3

Main Profile High-1440 Level, Spatial Profile High-1440 Level (all layers), High

Profile High-1440 Level (middle base layers),

Multi-view Profile High-1440 Level (base layer) Video

- 55-

Page 61: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Splice type Điều kiện

0000 splice_decoding_delay = 120 ms; max_splice_rate = 60.0 × 106 bit/s

0001 splice_decoding_delay = 160 ms; max_splice_rate = 45.0 × 106 bit/s

0010 splice_decoding_delay = 240 ms; max_splice_rate = 30.0 × 106 bit/s

0011 splice_decoding_delay = 250 ms; max_splice_rate = 28.5 × 106 bit/s

0100 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.4 – Splice parameters Table 4

Main Profile High Level, High Profile High-1440 Level (all layers), High Profile

High Level (middle base layers),

Multi-view Profile High Level (base layer) Video

Splice type Điều kiện

0000 splice_decoding_delay = 120 ms; max_splice_rate = 80.0 × 106 bit/s

0001 splice_decoding_delay = 160 ms; max_splice_rate = 60.0 × 106 bit/s

0010 splice_decoding_delay = 240 ms; max_splice_rate = 40.0 × 106 bit/s

0011 splice_decoding_delay = 250 ms; max_splice_rate = 38.0 × 106 bit/s

0100 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.5 – Splice parameters Table 5

SNR Profile Low Level (base layer) Video

Splice type Điều kiện

0000 splice_decoding_delay = 115 ms; max_splice_rate = 3.0 × 106 bit/s

0001 splice_decoding_delay = 175 ms; max_splice_rate = 2.0 × 106 bit/s

0010 splice_decoding_delay = 250 ms; max_splice_rate = 1.4 × 106 bit/s

0011 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

- 56-

Page 62: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Bảng 3.4.6 – Splice parameters Table 6

SNR Profile Main Level (base layer) Video

Splice type Điều kiện

0000 splice_decoding_delay = 115 ms; max_splice_rate = 10.0 × 106 bit/s

0001 splice_decoding_delay = 145 ms; max_splice_rate = 8.0 × 106 bit/s

0010 splice_decoding_delay = 235 ms; max_splice_rate = 5.0 × 106 bit/s

0011 splice_decoding_delay = 250 ms; max_splice_rate = 4.7 × 106 bit/s

0100 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.7 – Splice parameters Table 7

Spatial Profile High-1440 Level (middle base layers) Video

Splice type Điều kiện

0000 splice_decoding_delay = 120 ms; max_splice_rate = 40.0 × 106 bit/s

0001 splice_decoding_delay = 160 ms; max_splice_rate = 30.0 × 106 bit/s

0010 splice_decoding_delay = 240 ms; max_splice_rate = 20.0 × 106 bit/s

0011 splice_decoding_delay = 250 ms; max_splice_rate = 19.0 × 106 bit/s

0100 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.8 – Splice parameters Table 8

High Profile Main Level (all layers), High Profile High-1440 Level (base layer) Video

Splice type Điều kiện

0000 splice_decoding_delay = 120 ms; max_splice_rate = 20.0 × 106 bit/s

0001 splice_decoding_delay = 160 ms; max_splice_rate = 15.0 × 106 bit/s

0010 splice_decoding_delay = 240 ms; max_splice_rate = 10.0 × 106 bit/s

0011 splice_decoding_delay = 250 ms; max_splice_rate = 9.5 × 106 bit/s

0100 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

- 57-

Page 63: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Bảng 3.4.9 – Splice parameters Table 9

High Profile High Level (base layer),

Multi-view Profile Main Level (both layers) Video

Splice type Điều kiện

0000 splice_decoding_delay = 120 ms; max_splice_rate = 25.0 × 106 bit/s

0001 splice_decoding_delay = 165 ms; max_splice_rate = 18.0 × 106 bit/s

0010 splice_decoding_delay = 250 ms; max_splice_rate = 12.0 × 106 bit/s

0011 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.10 – Splice parameters Table 10

High Profile High Level (all layers),

Multi-view Profile High-1440 Level (both layers) Video

Splice type Điều kiện

0000 splice_decoding_delay = 120 ms; max_splice_rate = 100.0 × 106 bit/s

0001 splice_decoding_delay = 160 ms; max_splice_rate = 75.0 × 106 bit/s

0010 splice_decoding_delay = 240 ms; max_splice_rate = 50.0 × 106 bit/s

0011 splice_decoding_delay = 250 ms; max_splice_rate = 48.0 × 106 bit/s

0100 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.11 – Splice parameters Table 11

4:2:2 Profile Main Level Video

Splice type Điều kiện

0000 splice_decoding_delay = 45 ms; max_splice_rate = 50.0 × 106 bit/s

0001 splice_decoding_delay = 90 ms; max_splice_rate = 50.0 × 106 bit/s

0010 splice_decoding_delay = 180 ms; max_splice_rate = 50.0 × 106 bit/s

0011 splice_decoding_delay = 225 ms; max_splice_rate = 40.0 × 106 bit/s

0100 splice_decoding_delay = 250 ms; max_splice_rate = 36.0 × 106 bit/s

0101 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.12 – Splice parameters Table 12

- 58-

Page 64: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

Multi-view Profile Low Level (both layers) Video

Splice type Điều kiện

0000 splice_decoding_delay = 115 ms; max_splice_rate = 8.0 × 106 bit/s

0001 splice_decoding_delay = 155 ms; max_splice_rate = 6.0 × 106 bit/s

0010 splice_decoding_delay = 230 ms; max_splice_rate = 4.0 × 106 bit/s

0011 splice_decoding_delay = 250 ms; max_splice_rate = 3.7 × 106 bit/s

0100 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.13 – Splice parameters Table 13

Multi-view Profile High Level (both layers) Video

Splice type Điều kiện

0000 splice_decoding_delay = 120 ms; max_splice_rate = 130.0 × 106 bit/s

0001 splice_decoding_delay = 150 ms; max_splice_rate = 104.0 × 106 bit/s

0010 splice_decoding_delay = 240 ms; max_splice_rate = 65.0 × 106 bit/s

0011 splice_decoding_delay = 250 ms; max_splice_rate = 62.4 × 106 bit/s

0100 – 1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

Bảng 3.4.14 _ Splice parameters Table 14

4:2:2 Profile High Level Video

Splice type Điều kiện

0000 splice_decoding_delay = 45 ms; max_splice_rate = 300.0 × 106 bit/s

0001 splice_decoding_delay = 90 ms; max_splice_rate = 300.0 × 106 bit/s

0010 – 0011 Dự trữ

0100 splice_decoding_delay = 250 ms; max_splice_rate = 180.0 × 106 bit/s

0101-1011 Dự trữ

1100-1111 Người dùng tự định nghĩa

- 59-

Page 65: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

3.5. Đặc điểm dòng truyền tải MPEG

Dòng truyền tải MPEG được cấu tạo từ các gói truyền tải độ dài cố định, thể hiện

những ưu điểm nổi bật sau:

Dung lượng cấp phát cho các kênh truyền có thể thay đổi được: Các gói TS với

độ dài cố định tạo khả năng linh hoạt trong việc cấp phát dung lượng kênh giữa các số

liệu video, audio, cũng như các số liệu phụ. Những gói truyền tải của các dòng cơ sở khác

nhau có thể được nhận ra bởi PID. Dung lượng toàn bộ của kênh cũng có thể được cấp

phát lại khi phân phối số liệu. Khả năng này có thể được ứng dụng để phân phối các khóa

mã trong từng giây đến người xem trong các chương trình truyền hình có thu phí.

Khả năng co giãn: Một kênh truyền có dải thông lớn có thể được khai thác tối đa

nhờ ghép nhiều nhất có thể các dòng cơ sở ES vào kênh truyền, hoặc ghép thêm dòng cơ

sở mới vào một bộ ghép kênh thứ hai. Tính chất này có giá trị khi phân phối trên mạng

cũng như cung cấp khả năng liên vận hành. Tại mức truyền tải, khả năng liên vận hành

của dòng bit truyền hình là một đặc tính quan trọng của hệ thống truyền hình số. Khả

năng liên vận hành thể hiện ở hai điểm:

(a) Dòng truyền tải MPEG có thể được truyền trên tất cả các hệ thống thông tin.

(b) Hệ thống truyền tải MPEG cũng có thể truyền các dòng bit đã được tạo ra bởi các

hệ thống thông tin khác.

Khả năng mở rộng: Cấu trúc của dòng truyền tải cho phép cung cấp các dịch vụ

mới trong tương lai mà không làm ảnh hưởng tới cấu trúc hiện tại. Khi đó có nhu cầu tạo

ra một loại dòng cơ sở mới, việc duy nhất cần làm là cấp phát thêm một chỉ số PID mà

không hề làm thay đổi cấu trúc phần cứng của thiết bị. Tính tương thích vẫn được đảm

bảo. Các thiết bị giải mã hiện tại vẫn có khả năng giải mã các gói có chỉ số PID đã biết và

bỏ qua các gói có chỉ số PID mới. Khả năng này có thể được ứng dụng để đưa vào “các

dạng thức 1000 dòng quét liên tục” hay “3D-HDTV” bằng cách gửi thêm số liệu theo tín

hiệu cơ bản.

Khả năng chống lỗi và đồng bộ: Các gói TS có độ dài không đổi tạo nền tảng cho

việc kiểm soát lỗi gây ra bởi đường truyền và việc khôi phục lại đồng bộ. Trong dòng

truyền tải, các chương trình khác nhau có thể được sắp đặt ở những vị trí khác nhau và

không nhất thiết phải đồng bộ với nhau. Kết quả dòng truyền tải cần phải có những hệ

- 60-

Page 66: Phan Ticn Dong Truyen Tai Mpeg

Chương 3: Dòng truyền tải

thống đồng bộ riêng biệt cho mỗi chương trình. Phương pháp đồng bộ này còn được gọi

là Program Clock Reference – PCR.

Thiết bị thu rẻ tiền: Các gói TS có độ dài không đổi cũng sẽ cho phép chế tạo bộ

giải mã hệ thống đơn giản, rẻ tiền.

3.6. Tính linh hoạt của dòng truyền tải:

Dòng truyền tải MPEG rất linh hoạt thể hiện ở hai khía cạnh sau:

Các chương trình được định nghĩa như là bất kì sự kết hợp nào của dòng bít sơ

cấp. Một dòng bít sơ cấp có thể xuất hiện ở trong một hoặc nhiều chương trình khác nhau.

Ví dụ 2 dòng bít video khác nhau có thể kết hợp với 1 dòng bit audio để tạo ra 2 chương

trình khác nhau. Các chương trình cũng có thể sửa đổi phù hợp với một số yêu cầu đặc

biệt. Ví dụ cùng một chương trình truyền hình nhưng phần âm thanh có thể là nhiều ngôn

ngữ khác nhau.

Nhiều chương trình khác nhau có thể được ghép kênh trong cùng một hệ thống

truyền tải. Tại phía thu, từng chương trình riêng rẽ có thể được tách ra một cách dễ dàng.

Hình 3.4: Ghép kênh 2 chương trình

Với những đặc điểm và tính ưu việt của dòng truyền tải MPEG đã cho phép có nhiều

ứng dụng của chuẩn MPEG trong truyền hình số. Chính vì vậy các thiết bị truyền hình

theo chuẩn MPEG đang ngày càng trở nên phổ biến, đáp ứng được nhu cầu hiện tại cũng

như sự phát triển trong tương lai của truyền hình số.

- 61-

Page 67: Phan Ticn Dong Truyen Tai Mpeg

Trần Văn Hoan K49Đ Khóa luận tốt nghiệp

Kết luận

Yêu cầu quan trọng nhất của việc nén dữ liệu là loại bỏ được càng nhiều dữ liệu dư

thừa càng tốt, sao cho đạt được tỉ lệ nén cao mà chất lượng suy giảm không đáng kể.

Ngoài ra thì việc vận chuyển dữ liệu sau khi nén từ nơi phát tới nơi thu là một việc cũng

rất quan trọng. Với chuẩn MPEG nhiệm vụ này được thực hiện bởi dòng truyền tải.

Dữ liệu sau khi qua bộ nén, được gọi là dòng cơ sở, sẽ được đóng gói thành dòng cơ

sở đóng gói PES. Dòng cơ sở đóng gói lại được đóng gói một lần nữa để cho ra dòng

truyền tải.

Dòng truyền tải MPEG được tạo nên từ các gói truyền tải có kích thước cố định là cơ

sở cho việc phân phối dữ liệu an toàn và chính xác. Đồng thời cũng nhờ có đặc điểm cấu

tạo như trên mà dòng truyền tải hết sức mềm dẻo và linh hoạt, dễ dàng trong việc ghép

kênh, tách kênh cũng như cấp phát dung lượng. Dòng truyền tải được chuẩn hóa giúp cho

việc chế tạo thiết bị trở nên dễ dàng.

Dòng truyền tải có cấu tạo vừa đảm bảo tính chặt chẽ và an toàn cho dữ liệu được

vận chuyển, lại vừa đảm bảo tính mở rộng trong tương lai. Đây là một yêu cầu thực tế

thường thấy trong sự phát triển của công nghệ.

Do khuôn khổ của luận văn và điều kiện khách quan không cho phép nên em mới

chỉ nghiên cứu trên lý thuyết mà chưa có điều kiện phân tích, đo đạc một dòng truyền tải

thực tế. Vì lý do đó những kiến thức em trình bày ở trên không tránh khỏi thiếu sót và hạn

chế, em rất mong nhận được sự chỉ bảo của các thầy cô và các bạn.

Hà Nội, 5/2008

Sinh viên: Trần Văn Hoan

- 62-

Page 68: Phan Ticn Dong Truyen Tai Mpeg

Trần Văn Hoan K49Đ Khóa luận tốt nghiệp

Tài liệu tham khảo:

Tiếng Anh

[1] http://en.wikipedia.org/wiki/MPEG

[2] http://en.wikipedia.org/wiki/MPEG_transport_stream#PAT

[3] http://www.computermodules.com/DVB-ASI-MPEG-2-white-papers.shtml

[4] http://www.chiariglione.org/mpeg/faq/mp2-sys/mp2-sys.htm#mp2-12

[5] http://chapters.scte.org/cascade/DVB%20Overview.ppt

[6] http://www.mpeg.org/MPEG/splicing-FAQ.html

[7] http://www.answers.com/MPEG?cat=technology

[8] John Watkinson, The MPEG handbook.

[9] John Watkinson, Convergence in Broadcast and Communications Media.

[10] ISO/IEC 13818-1 Information technology — Generic coding of moving pictures and

associated audio information: Systems.

Tiếng Việt

[11] Ngô Thái Trị, Truyền hình số mặt đất, Nhà xuất bản Bưu điện 2005.

[12] Đỗ Hoàng Tiến – Vũ Đức Lý, Truyền hình số, Nhà xuất bản Khoa học và kỹ thuật

2001.

- 63-