MỤC LỤC 1
CHƯƠNG I 3
MÃ HÓA 3
I. MÃ HÓA VIDEO 3
1. Mã hóa MPEG–2 : 3
1.1. Khái quát chung 3
1.2. Cơ chế nén MPEG-2 5
II. MÃ HÓA AUDIO 10
1. Tín hiệu Audio số 10
2. Nguyên tắc chuyển đổi A/D 10
2.1. Lấy mẫu 10
2.2. Lượng tử hóa 13
2.3. Mã hóa 13
CHƯƠNG II 16
ĐÓNG GÓI 16
I. Dòng cơ sở (elementary stream) 16
II. Dòng cơ sở đóng gói (packetized elementary stream) 18
1. Giới thiệu chung về dòng cơ sở đóng gói 18
2. Cú pháp dòng cơ sở đóng gói 21
CHƯƠNG III 27
GHÉP KÊNH 27
I. Ghép kênh dòng chương trình (Program Stream MUX) 27
II. Ghép kênh dòng truyền tải (Transport Stream MUX) 28
1. Giới thiệu chung về dòng truyền tải: 29
2. Cấu trúc gói truyền tải 31
3. Giải mã dòng truyền tải 38
4. Thông tin đặc tả chương trình (PSI) 39
5. Hệ thống ghép các dòng truyền tải 41
Chia sẻ: lethao | Lượt xem: 2039 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Đồ án Truyền dẫn tín hiệu số, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
khiển bằng PWM. Với độ rộng xung đầu ra tương ứng và được tính bằng %. Tùy thích do chúng ta điều khiển.
Chương II
ĐÓNG GÓI
Dòng cơ sở (elementary stream) và dòng cơ sở đóng gói (packetized elementary stream)
Dòng cơ sở (elementary stream)
Tín hiệu video số dạng thức CCIR-601(tiêu chuẩn truyền hình số cơ bản) 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).
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
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.
Sơ đồ dòng cơ sở
Hình trên 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.
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ở
Tốc độ của dòng đi ra được qui định 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 thành dòng cơ sở.
Cấu trúc dòng cơ sở được mô tả như sau:
Khối các hệ số DCT
Macro block
Slice
Ảnh
Nhóm ảnh
Video 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
Cấu trúc dòng cơ sở
Đầ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ã.
Dòng cơ sở đóng gói (packetized elementary stream)
Giới thiệu chung về dòng cơ sở đóng gói
Đóng gói
Đóng gói
(Audio ES)
(Video ES)
Dòng cơ sở video
Dòng cơ sở audio
Video PES
Audio PES
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ở.
Start code
Stream ID
PTS
DTS
Data
Hình 2.1: Dòng cơ sở đóng gói
Hình 2.2: 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 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.2. 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.
27 MHz
: 300
90 kHz
33-bit count
Encoder clock
Time stamp
Hình 2.3 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.3: 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.4. 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 P1 đượ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.
Khi truyền
N+4
N+2
N+3
N+7
N+5
N+1
N+1
-
-
N+4
-
N
P1
B1
B2
P2
B3
I
B1
B2
P1
B3
I
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
Hình 2.4: 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.
Cú pháp dòng cơ sở đóng gói
PESSCRAMBLINGCONTROL(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 HEADERFIELD
PROGRAM PACKET
SEQ COUNTER(16 BIT)
P- STDBUFFER(16 BIT)
PESEXTENSIONFIELD
STREAM ID(1BYTE)
PESHEADER
PES PACKETLENGTH (2 BYTE)
STUFFING BYTES
PES START CODEPREFIX (3 BYTE)
PES PACKETDATA
Hình 2.5: Cú pháp gói PES
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.
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ở.
Độ 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.
Các byte tiêu đề và đệm PES:
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.
Đ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
Ư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”.
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.
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ệ.
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.
Các giá trị cờ (flags):
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.
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.
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.
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.
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).
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).
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.
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.
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.
Trường tùy chọn (optional field):
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.
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ã.
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).
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.
Trường DSM Trick Mode: trường 8-bit, gồm có:
Đ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
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
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.
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
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ả.
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.
Trường mở rộng (PES extension):
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.
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).
DỮ LIỆU
VIDEO
DỮ LIỆU
VIDEOPES
AUDIO
ES
ES
AUDIOPES
( TRANSPORTSTREAM )
DÒNG TRUYỀNTẢI
( PROGRAM STREAM )
DÒNG CHƯƠNGTRÌNH
AUDIO PES
VIDEO PES
VIDEO PES
AUDIO PES
MÃ HOÁVIDEO
ĐÓNGGÓI
GHÉPKÊNHDÒNGTRUYỀNTẢI
GHÉP KÊNHCHƯƠNGTRÌNH
MÃ HOÁAUDIO
ĐÓNGGÓ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.6: Sơ đồ mạch mã hóa MPEG
Chương III
GHÉP KÊNH
Ghép kênh dòng chương trình (Program Stream MUX)
Program Stream MUX
Video PES
Program Stream (PS)
Audio PES
Một dòng chương trình là kết quả ghép kênh một vài dòng cơ sở đóng gói sử dụng cùng một hệ thống xung nhịp thời gian (Time Clock).Dòng chương trình có thể là một dòng video có kèm audio hoặc một chương trình nhiều kênh audio.
Ghép kênh dòng chương trình
Dòng video cơ sở được chia thành các đơn vị truy cập (AU – Access Units). Mỗi AU chứa dữ liệu đã được nén của một ảnh. Các ảnh này phân biệt bởi ảnh I, P hoặc B. Mỗi video AU là một gói chương trình (Program Stream Packet), các gói này thay đổi về kích thước. Ví dụ gói ảnh I lớn hơn nhiều gói ảnh B. Tuy nhiên đối với các đơn vị truy cập ảnh số (DAA – Digital Audio Access) thường có cùng kích thước và vài DAA tạo thành một gói dòng chương trình.
Gói PES
Audio
video
Audio
PES Header
Dòng chương trình
Tóm lại,dòng chương trình được thiết kế để truyền trong môi trường không có tạp nhiễu và sai nhầm (Noise and Error Free),ví dụ như trong các ứng dụng CD-ROM vì hai lý do sau:
Dòng chương trình bao gồm các gói tương đối dài nối tiếp nhau và độ dài này lại luôn thay đổi. Mỗi gói bắt đầu bằng một tiêu đề (header). Một lỗi xảy ra trong phần tiêu đề có thể làm mất thông tin của toàn gói. Vì các gói của chương trình có thể chứa vài chục kbytes số liệu nên sự mất mát thông tin của một gói có thể làm mất hoặc gián đoạn cả một khung ảnh.
Độ dài gói không cố định khiến cho bộ giải mã không dự đoán được khi nào gói chấm dứt và khi nào gói mới bắt đầu. Thay vào đó, bộ giải mã phải đọc và dịch lại thông tin về độ dài gói chứa trong mỗi tiêu đề, nếu thông tin về độ dài gói này bị lỗi, bộ giải mã sẽ mất đồng bộ và như vậy sẽ làm mất thông tin ít nhất là một gói.
Vì môi trường truyền dẫn phát sóng mà chúng ta quan tâm luôn có tạp nhiễu và sai nhầm, do đó không thể dùng dòng chương trình được mà phải dùng dòng truyền tải.
Audio PES
PID (n-1)()
Elementary stream map (Program_map_table)
Transport Stream Mux
Transport Stream (TS)
Video PES
Audio PES
Video PES
Data
PID 1
PID 2
PID (n-3)()
PID (n-2)()
PID (n)()
Ghép kênh dòng truyền tải (Transport Stream MUX)
Ghép kênh dòng truyền tải
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.
PES Header
Audio
Video
Video
Audio
Video
TS Header
Gói TS
Audio
Nếu chia các gói PES có độ dài khác nhau thành các gói TS có độ dài không đổi (mỗi gói TS được bắt đầu bằng TS header và thường có chiều dài 188 bytes) và truyền các gói này đi sau khi đã cộng với dòng bit điều khiển dùng để mô tả chương trình (cũng được đóng gói thành các gói truyền tải), ta sẽ có dòng truyền tải TS.
Hình 2: Dòng Truyền Tải
Trong dòng truyền tải , các gói PES từ các dòng gói sơ cấp khác nhau được phân nhỏ và gán vào phần payload của gói tần số. Quy trình này phải thỏa mãn 2 điều kiện:
Byte đầu tiên của mỗi gói PES phải trở thành byte đầu tiên của phần payload của gói TS.
Bất kỳ gói TS nào cũng chỉ mang phần dữ liệu lấy từ cùng một gói PES.
Header của TS
Adaptation Fled
Header của PES
Payload PES
Payload TS
Payload TS
Payload TS
Hình 3: Chia các gói PES thành các gói TS
Mỗi gói PES không thể phân chia dữ liệu của nó một cách chính xác vào một số nguyên gói TS.
Thường gặp trường hợp không đủ số liệu để lấp đầy vào payload của gói TS cuối cùng.
Để thỏa mãn hai điều kiện trên, người ta độn thêm phần Adaptation Field với độ dài thích hợp. có thể giảm thiểu độ dài Adaptation Field này bằng cách lựa chọn chiều dài gói PES hợp lý.
Gói PES cũng thường được chọn đủ dài để điểm ảnh số các gói TS được lấp đầy bởi số liệu có ích lấy từ các gói PES. ( hình 3)
Tất cả các dòng gói sơ cấp PES ghép kênh chung với nhau tạo nên một hay nhiều chương trình sẽ được chuyển thành các gói TS theo cùng một cách thức nêu trên.
Các gói TS sẽ được sắp xếp tuần tự tạo ra dòng truyền tải.
Các gói TS chứa thông tin dịch vụ cũng như các gói TS rỗng được sử dụng để lấp đầy kênh truyền.
Thứ tự các gói TS có thể sắp xếp tùy ý miễn sao đảm bảo được điều kiện các gói TS của cùng một dòng sơ cấp đóng gói PES phải được truyền theo thứ tự thời gian.
Cấu trúc gói truyền tải
Header
Payload
Header
Payload
Header
Payload
…
…
…
TRANSPORTERRORINDICATOR(1 BIT)
TRANSPORTPRIORITY(1 BIT)
CONTINUITYCOUNTER(4 BIT)
STARTINDICATOR(1BIT)
ADAPTATIONFIELDCONTROL(2 BIT)
PID(13BIT)
SYNCBYTE(8 BIT)
SCRAMBLINGCONTROL(2 BIT)
ADAPTATIONFIELD
PAYLOAD
DISCONTINUITYINDICATOR(1 BIT)
RANDOM ACCESSINDICATOR(1 BIT)
ELEM STREAMPRIORITYINDICATOR(1 BIT)
5 FLAGS(5 BIT)
ADAPTATIONFIELD LENGHTH(1 BYTE)
OPTIONALFIELDS
STUFFINGBYTES
PCR(48 BIT)
OPCR(48 BIT)
SPLICECOUNTDOWN(8 BIT)
ADAPTATIONFIELDEXTENSION(40 BIT)
TRANSPORTPRIVATEDATA(40 BIT)
Hình 4 : Cấu trúc gói truyền tải
Gói truyền tải có kích thước cố định và bằng 188 bytes, chia thành dữ liệu tiêu đề (header) và phần tải tin (payload). (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.
Dữ liệu tiêu đề có độ dài tối thiểu bằng 4 bytes và chứa những thông tin sau:
Sync Byte (8 bit): Byte đồng bộ mang giá trị không đổi bằng 0x47 dùng để đồng bộ các gói TS, byte này sẽ được nhận biết bởi một bộ giải mã.
Transport Error Indication (1 bit): Bit này dùng để báo hiệu có lỗi gói xảy ra trên đường truyền – khi tỉ lệ lỗi bit (BER) vượt quá giá trị cho phép. Giá trị 1 chỉ thị rằng đang có lỗi không thể sửa được trong gói TS hiện hành, vì vậy không nên sử dụng phần payload trong gói TS này.
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’
Transport priority (1 bit): Giá trị 1 chỉ thị gói TS này có quyền ưu tiên hơn các gói khác. Nếu hệ thống truyền hình số không hỗ trợ việc phân phối tín hiệu có ưu tiên thì bit này sẽ được bỏ qua ở tất cả phía thu.
Packet Identification code hay PID (13 bit): Đây là thông tin để nhận dạng gói TS thuộc một dòng sơ cấp đóng gói PES hay thuộc về một PSI cụ thể nào đó. Trong 213 giá trị có thể có, 17 giá trị được dành riêng cho các mục đích đặc biệt. Còn lại 8175 giá trị được dùng để gán cho các dòng gói sơ cấp PES hay PSI khác nhau. Như vậy, có thể ghép tối điểm ảnh đến 8000 dòng gói sơ cấp vào một dòng truyền tải. Sau đây là bảng các giá trị PID:
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)
Đ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ẻ’
Đ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
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.
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.
Trường thích nghi (Adaptation Field): gồm có:
Độ 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à
Các file đính kèm theo tài liệu này:
- Đồ án truyền dẫn tín hiệu số.doc