a Nomaai tres} wat Hz L ĐĂMO — 2HUU rang THỊ HH Dir 3© pos Zin Sry xạ Hình 2.1: Ngưỡng âm thanh của tai người phụ thuộc vào tần số Tuy nhiên vẫn còn có những điểm mà tại đó tai người
Trang 1UNG DUNG CONG NGHE THONG TIN TRONG VIEC XAY DUNG
HE THONG LUU TRU VA TRUYEN TAI HINH ANH PHUC VU
CHAN DOAN VA TRA CUU (PACS) TAI BENH VIEN DA KHOA
_ TINH BINH DUONG
XÂY DỰNG HỆ THÔNG TRUYEN TAI
VIDEO CHAT LUQNG CAO GIỮA PHONG MO VA HỘI TRƯỜNG
Cơ quan chủ trì: Viện Cơ học và Tin học ứng dụng
Địa chỉ: 291 Điện Biên Phủ, Quận 3, thành phố Hồ Chí Minh
Cha nhiệm đề tài: Th.S Đào Văn Tuyết
Trang 2
Sữa 2H81 00/1800 5800-6800) cy gaa grees ee mm Sa IRS
` es
VIEN KHOA HQC VA CONG NGHE VIET NAM
VIEN CO HOC VA TIN HQC UNG DUNG
ỨNG DỤNG CÔNG NGHỆ THÔNG TIN TRONG VIỆC XÂY DỰNG
HỆ THÓNG LƯU TRỮ VÀ TRUYỀN TẢI HÌNH ẢNH PHỤC VỤ
CHẢN ĐOÁN VÀ TRA CỨU (PACS) TAI BỆNH VIỆN ĐA KHOA
Địa chi: 291 Điện Biên Phi, Quan 3, thành phố Hồ Chí Minh
Chủ nhiệm đề tài: Th.S Đào Văn Tuyết 1 &
ben areve atari ine ene neenncuniietrnsieanteta nn reve at
Trang 3
2.8
BAO CAO TIEN DO DE TAI BINH DUONG
Xay dung hé thống truyền tải video chat lugng cao giữa phòng mô và hội trường
1 Tính cấp thiết:
Tại bệnh viện Đa Khoa Bình Dương thường xuyên có những ca mổ khó trong đó các bác sĩ
tại phòng mỗ cần sự giúp đỡ của các bác sĩ trên hội trường
2 Mục tiêu: Xây dựng hệ thống phần mềm có các module sau:
- Module phan mém có chức năng ghi nhận hình ảnh, âm thanh từ phòng mổ và truyền
lên hội trường
- Module phan mém ghi nhận hình ảnh, âm thanh từ dưới phòng mổ truyền lên và xuất -
ra màn hình, máy chiếu và loa
- Module phần mềm cho phép xem lại các đoạn video ca mỗ
Các module trên được chia ra làm hai phần: client và server
Trang 4
1.1 Chuẩn nén âm thanh HE-AAC và nén hình ảnh H.26Á4: -. -+*‡rhhtrtttttth 1
1.1.1 Chuẩn nén âm thanh HE-AAC: ccnnhnnhererertertrrtrrrtrntrtlrnllri 1
112 Chuẩn mã hoá hình ảnh MPEG-4/H.264: -ccneehrrrrrrrrtrrnrnrree 13
12 Giao thức truyền tải dữ liệu thời gian thực: -. reenrreerrrreenh _ 23
1.2.1 Giới thiệu: oc ccccsucsuusuuenueaecauesnscavecsucqacennessseseesnecensaneeneesngngeeeaseesneanged 23
1.2.2 Giao thức RTP (Real Time Transport Protocol): -. eeerrrtrrrtrrtrrrn 24 1.2.3 Giao thức RTMP (Real Time Messaging Protocol): . ceerrrrrrrrtrrt 25
13 _ Chuẩn mã hoá dữ liệu: -scccsnhtttthtthhhrtrrttrtrrrttrrrdrtrrrrrnreren 29
1.3.1 AME (Action Message Formal): -reerrrrrrerrrrrtrrrrrrrrntrrrr 29
nể n — a.a -.-.-. VN HH 2 ket 30 13.3 AME3: òecssererrrerrerrtrrrtrrtrrtrtdtdtrrrrtrtttfttftntttffttffr711770 31
PHAN 2 THIET KE CHƯƠNG TRÌNH -:::sssnnhtttttrtrrrrtrrtrnrrrnnrr 33
2.1 Phần mềm Client .c.ccscccccessecsssseeeseneceeeesnensensnecnsenensnennsneneasse egestas 33 2.1.1 Module giao tiếp thiết bị và truyền dữ liệu lên ŠerVeT -eeeeeeerirerrrree 33 2.1.2 Module hién thi video, 4m thanh từ Server gửi đến . - sen 35
2.2 — Chương trình SerVer -:+rrennhhhhttttttrtttrttrtrrtttttfttr1f11217 35
PHẦN 3 TRIÊN KHAI THỬ NGHIỆM -:::nrnhhnhhththhttrrrrrnrrrtrrrrnnreri 37
Trang 5E0 ga ư,uUNC.—P ae
Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương — Chuyên đề
2.8
PHẢN I NỘI DUNG LÝ THUYET
1.1 Chuẩn nén âm thanh HE-AAC và nén hình ảnh H.264:
1.1.1 Chuẩn nén âm thanh HE-AAC:
1.1.1.1 Số hóa âm thanh:
Nếu muốn thực hiện truyền âm thanh trên mạng số, trước tiên cần phải số hóa nó bằng
cách dùng bộ chuyển đổi tín hiệu từ tín hiệu tương tự sang tín hiệu số (A/D Analog-to-
Digital).Để đạt độ chính xác cao khi khôi phục tín hiệu âm thanh thì tần số lấy mẫu phải lớn
hơn hai lần tần số của tín hiệu âm thanh Trong mạng thoại người ta thường sử dụng tần số -
lấy mẫu là 8 KHz nhưng để phục vụ cho việc hội chân từ xa thì cần sử dụng tần số lấy mẫu
cao hơn 11 KHz, 22 KH¿, bởi vi âm thanh trong hội chẩn từ xa không chỉ là giọng nói của
bác sĩ mà có thể là nhịp tim, nhịp thở của bệnh nhân nên cần phải được truyền một cách
chính xác
Chuẩn được sử dụng để mã hoá âm thanh là HE-AAC được phát triển từ chuẩn AAC
Chuan nay cung cấp khả năng nén âm thanh với hiệu suất cao nhưng vẫn đáp ứng được chất
lượng tôt
1.1.1.2 Chuan AAC:
1.1.1.2.1 Gidi thigu:
Chuẩn nén AAC trước đây là một phần của MPEG-2, nhưng sau này được mở rộng và bổ
sung thêm như là một phần của MPEG-4 AAC là kết quả của một nỗ lực lớn có tính chất
quốc tế của nhiều công ty và cá nhân Dự an phát triển AAC được khởi động 1224 khi có số
lượng lớn đề nghị được đệ trình lên uỷ ban của MPEG Uỷ ban này sau đó đã tiến tới xây
dựng một cấu trúc cho chuẩn AAC bao gồm nhiều module khác nhau mà các module nay ©
đóng vai trò như là các thành phần độc lập nhau Các module này được phát triển và kiểm tra
một cách riêng biệt trước khi hợp lại thành sản phâm cuối cùng Các module chính bao gôm:
e_ Điều chỉnh khuếch đại (Gain Control) :
._ Bộ lọc (FilterBank)
Dự đoán (Prediction) Lượng tử (Quantization)
Mã hoá Huffnan (Noiseless Huffman Coding)
Ghép luồng bit (Bitstream Multiplexing) '
Nắn nhiễu (Temporal Noise Shaping - TNS) Mid/side (M/S) stereo coding
Ma hoa cudng dé (Intensity Stereo Coding) 1.1.1.2.2 Đặc tính âm học của tai người:
Các nhà khoa học, các kĩ sư và các chuyên gia đã áp dụng đặc tính của hệ thống cảm nhận
âm thanh của con người để thực hiện việc nén âm thanh Các nhà khoa học khi nén âm thanh
đã làm giảm hoặc loại bỏ hoàn thành những phần âm thanh mà con người không cảm nhận
được Hình sau đây mô tả chỉ tiết về đặc tính cảm nhận âm thanh của tai người Trong hình
có một đường cong biểu diễn ngưỡng nghe của tai người Nếu âm thanh có các đặc tính âm học nằm phía dưới đường cong này thì tai người không cảm nhận được Theo như hình, đặc tính cảm nhận âm thanh của tai người phụ thuộc ` 2 nhiều vào tần số Ngưỡng dưới biên độ của z
âm thanh cao ở cả tần số cao và tân số thấp Để âm thanh ở các tân sô này có thể nghe được,
Trang 6
eee
Viện Cơ học va Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương ~ Chuyên đề 2.8
thì nó cần phải được khuếch đại lên cao hơn mức ngưỡng Ngưỡng mà tai người có thể nghe
được thấp nhất ở trong khoảng tan số từ 3KHz — 5KHz, điều này cho thấy răng tai người rât
nhạy cảm với âm thanh ở tần số này và có thê nhận biết những âm thanh dù là nhỏ nhât
Hình 2.1: Ngưỡng âm thanh của tai người phụ thuộc vào tần số
Tuy nhiên vẫn còn có những điểm mà tại đó tai người cũng không thể nghe thấy được
mặc dù cường độ âm thanh lớn hơn mức ngưỡng Trên hình có một đường cong đứt nét chỉ ra
rằng với những âm thanh ở khoảng tần số này, tai người không thể nghe thấy được những âm
thanh có cường độ cao hơn mức biểu diễn của đường cong đứt nét này
Thời gian cũng là một nhân tố ảnh hưởng tới khả năng cảm nhận âm thanh Hình sau đây úc đầu một âm thanh biểu diễn một ngưỡng khác về khả năng cảm nhận âm thanh của tai L
60dB (ở một tần sô f nào đó) kéo dài trong vòng 5ms, tai người có thê cảm nhận được âm
thanh này Nhưng nếu âm thanh “x” 30 dB xuất hién sau d6 Sms thi khong thé nghe duge vi ø cũng với âm thanh “x” 30 dB nay
nó bị lắn át bởi âm thanh 60đB xuất hiện trước đó Nhưn )
xuất hiện sau đó 10ms thì tai có thể nghe được Như vậy, tai người cũng có thé bị lân át bởi
các âm thanh lớn trong vòng một khoảng thời gian mà trong khoảng thời gian này tai người
không thể bị kích thích bởi các âm thanh khác nữa
Hình 2.2: Ngưỡng âm thanh của tai người phụ thuộc vào thời gian
Tiếp theo sau đây là hình biểu diễn tính chất âm học của tai ở các khía cạnh tần số thời gian và biên độ
Trang 7Hình 2.3: Ngưỡng âm thanh theo tần số, thời gian, và biên độ
1.1.1.2.3 Hoạt động của thuật toán nén âm thanh AAC:
- Dựa vào tính chất này của tai, thuật toán nén mắt âm thanh theo tần số và thời gian làm
việc theo các bước sau
Audio samples
Output stream
Hình 2.4: Biểu đề hoạt động của thuật toán nén âm thanh
e© Đầu tiên các tin hiệu âm thanh sau khi đã lấy mẫu được gom thành những nhóm
gối lên nha (tức là dùng những cửa số trượt) rồi đưa vào bộ lọc (Filter Bank) Tại
bộ lọc, mỗi cửa số sẽ được chuyển thành các giá trị tần số Các giá trị này tương
ứng với một khoảng của tần số (dải tần số) và chỉ ra cường độ của âm thanh ở dải
tân sô này -
e Sử dụng các giá trị này để quyết định nhưng âm thanh bị che (loại bỏ) Khi quyết
định âm thanh nào bị che, một mô hình cảm giác (Perceptual model) được sử
dụng Mô hình này đưa ra các thông số về ngưỡng cụ thê cho từng loại tần số để
quyết định xem những giá trị tần số nào là không quan trọng
e Các giá trị tần số sẽ được lượng tử rồi được mã hoá bằng loại mã có chiều dài thay đổi Các từ mã này là kết quả của cả quá trình trên
Nhiệm vụ đầu tiên của bộ mã hoá là lấy các mẫu âm thanh rồi tính toán ra các tần số của
sóng âm thanh biểu diễn những âm thanh này Trên thực tế là các khoảng âm thanh (hay dải
âm thanh) được tính toán ra, và một hệ số tần số ( hay hệ số phổ) được tính toán cho một dải
âm thanh Độ rộng của dải phải không được vượt quá bộ rộng của dải âm thanh của tai người
Điều này được hoàn thành bởi ngân hàng bộ lọc Đối với mp3, 512 mậu được lưu trong bộ
đệm và được tính toán cho 32 dải tần số Sau đó 32 mẫu âm thanh tiếp theo được chuyển vào
bộ đệm và quá trình được lặp lại Còn đối vời AAC cũng thực hiện như trên nhưng sử dụng
2048 mẫu âm thanh, tính toán cho 1024 hệ số phổ, mỗi hệ số biểu diễn cho một dải băng tân
rộng 23.4 Hz, và sau đó 1024 mẫu âm thanh tiếp theo được chuyên vào trong bộ đệm
Thành phần tiếp theo là mô hình cảm giác Nó quyết định độ cao của ngưỡng cho mỗi dai
tần số Trong mp3, mô hình này không được đặc tả chỉ tiết và do đó mỗi nhà thiết kế lại cho
ra những mô hình của riêng họ Sự thành công của mỗi mô hình phụ thuộc nhiều vào sự chỉ
Trang 8tiết và sự giống nhau của nó với mô hình của tai người Còn AAC cũng tương tự với mô hình
-_ Đối với mỗi dải tần số, bộ mã hoá so sánh hệ số của phổ so với ngưỡng của dải tần số
Nếu hệ số phổ nhỏ hơn ngưỡng thì hệ số được lượng tử theo dải tần số tượng ứng Nếu lượng
tứ quá nhiều sẽ làm giảm chất lượng của âm thanh và nhiễu rất cao Ngược lại nếu lượng tử
không đủ thì sẽ không đáp ứng được tốc độ bit đề ra :
Do đó AAC bổ sung thêm một số công cụ phục vụ cho việc tăng chất lượng của quá trình
e TNS là một thuật toán tỉnh vi mà làm giảm thiểu ảnh hưởng của “trải rộng thời
gian” Điều này làm tăng hầu hết khả năng lượng tử của các tín hiệu giọng nói
© Module dir đoán tăng hiệu suất của bộ lượng tr trong trường hợp âm thanh
gốc giống với mẫu cò sẵn, như là âm giọng cao (âm thanh có dạng hình sin)
Bước kế tiếp là mã hoá (coding) Hệ số phổ sau được lượng tử sẽ được mã hoá Bước này
cũng đóng góp vào việc làm tăng khả năng nén bởi vì hệ số được thay thế bởi các từ mã có
kích thước thay đổi, nhưng với cách mã hoá này thì không làm mất dữ liệu Cả mp3 và AAC
đều sử dụng mã Huffman
Như vậy, AAC chia sẽ những điểm mạnh của mp3 dồng thời có nhưng cải tiến như sau:
Ngân hàng bộ lọc lớn hơn với 1023 hệ số phổ được tao ra từ cửa số 2048 mẫu âm thanh,
dẫn tới dải tần số hẹp hơn do đó có chất lượng âm thanh khi giải nén tốt hơn mp3
Temporal noise shaping (TNS) một thuật toán mới cho phép giải thiểu đến thấp nhất ảnh
Module dự đoán làm tăng khả năng lượng tử cho nhưng âm thanh theo chu kỉ hoặc những
âm thanh theo mẫu có sẵn
Sau đây là phầm mô tả chi tiết về AAC được định nghĩa trong MPEG-2 và những tính
năng được thêm vào AAC trong MPEG-4
AAC hỗ trợ 3 loại profile Mỗi loại profile là một hồ sơ miêu tả cấu hình cấu hình khác của các thuật toán cơ bản và các profile này cung cấp các thoả hiệp khác nhau giữa hiệu suất
nén và độ phức tạp của bộ mã hoá (ảnh hưởng đến khả năng thực hiện của máy tính) Một chỉ
mục 2 bit chỉ profile nào sử dụng sẽ được lưu lại sau khi nén
Hình 2.5: Ba loại profile của AAC
e Index 0, profile chính (Main Profile) Trong profile này, AAC đưa ra khả năng nén tốt
nhất cho bất cứ tốc độ bït va toc do lấy mẫu nào Tắt cả các module, các hàm, và các công cụ của đặc tả ( ngoại trừ công cụ điều chỉnh khuếch đại) đều được miêu tả Đây
là profile thông dụng và nó được thực hiện khi có đủ bộ nhớ và năng lực xử lý (hiện
nay thì tất cả các máy tính đều có thể áp dụng được)
e Index 1, profile độ phức tạp thấp (Low Complexity Profile — LC Profile) Điều chỉnh
Mặt
khác, LC là một profile con của profile chính cho nên là LC có thể được giải mã bởi
bộ giải mã của profile chính
Trang 9
¬ .7Ầ7ÝỶ g6 g.c.c.g Ợ©^.NA,ØỤ@ỹự@WÿmKFlm—^ `
e Index 2, profile tốc độ lấy mẫu thay đổi (Scalable Sampling Rate Profile - SSR)
Profile này được thiết kế để làm đơn giản độ phức tập tính toán khi dữ liệu âm thanh
gốc chỉ gồm những khoảng tần số giới hạn (như vậy sẽ làm giảm băng thông sau khi được mã hoá) Công cụ điều chỉnh khuếch đại được yêu cầu trong SSR và công cụ
này chỉ được sử dụng duy nhất trong SSR Order của TNS và băng thông cũng bị giới
hạn Một luồng nén của LC có thế giải mã được bởi SSR nhưng kết quả của âm thanh
sau khi giải mã sẽ bị giới hạn
e Index 3 được dự trữ cho profile trong tương lai
Điều chỉnh khuếch đại là công cụ tiền xử lý và chỉ được £ sử dụng trong profile SSR Nó
bao gồm nhiều module lọc, nhận dạng độ khuếch đại, thay đổi độ khuếch đại Điều chỉnh Z
khuếch dai bat đầu bằng việc lọc dữ liệu đầu vào tạo thành bốn băng tần rộng 6 KHz Các hệ 'số phổ của mỗi dải tần số được kiểm tra bởi bộ nhận dạng dộ khuếch đại, Bo nhận dạng tìm
khác nhau về kích thước) Bộ thay đôi độ khuếch đại sử dụng các kết quả này để thêm vào các hệ số này nhăm làm tăng khả năng nén tín hiệu âm thanh đầu vào
input time signal
Ỉ
AAC gain control
Trang 10
Viện Cơ học va Tin hoc ting dụng ` Báo cáo đề tài Sở KH&CN Bình Dương Chuyên dé 2.8
Hình 2.6: Bộ mã hoá âm thanh AAC
control ——— ' 1
1 ' : ' '
‡ ' ‡ 1 ' 1
' ' ' vung !
——— prediction '
i 1 ' Ỷ '
awiltched '
v coupling
\ 7 - !
“block switching fileerbank
AAC
tuput time
signal
dependently °
awitchiee coupling,
Hình 2.7: Bộ giải mã âm thanh AAC
Trang 11“at Ê gain contrel teal
IMDCT VỠ100PHBQCOE &: overhusydne
n0 cứ đ3 queue
nonever laped - time signal 9 —.—————wn
Hinh 2.8: Module mã hoá và giải mã điều chỉnh khuếch đại
troinpmetridett oT & overlapping
Filtering, b6 ma hoa AAC chuyển đổi các mẫu âm thanh thành các hệ số tần số bằng biến
đổi cosin rời rạc cải biên (MDCT) Quá trình xử lý giống với mp3, nhưng với độ phân giải
tần số cao hơn và có nhiều cải tiến hơn Bộ mã hoá sử dụng hai loại cửa số: dài và ngắn Cửa
số dài gồm có 2048 mẫu liên tục nhau và được biến đổi để tạo ra 1024 hệ số tần số (biến đôi
dài) Một cửa số ngắn hơn có 256 mẫu và đưa ra kết quả là 128 hệ số (biến đổi ngắn) Một
khi hệ số của một cửa số đã được tính toán thì bộ mã hoá chuyên vào thêm một số mẫu mới
bằng với 1⁄4 kích thước của cửa số
Cửa số dài tạo ra nhiều hệ số, do đó mỗi hệ số sẽ tương ứng với một dải tần số hẹp hơn
Điều này dẫn tới việc lượng tử sẽ chính xách hơn và giúp ích cho việc làm giảm băng thông
vì sẽ có thể bỏ nhiều đoạn âm thanh nằm trong vùng tàn số mà không có tác động tới tai
người
Độ rộng của dải tần số tuỳ thuộc vào tốc độ lấy mẫu (số lượng mẫu âm thanh trong một giây), số lượng kênh (hai cho âm thanh nổi) và số lượng dải tần số AAC cung cấp đặc tả và
bảng thống kê cho 12 loại tốc độ lấy mẫu sau (tính bằng Hz): 26000, 88200, 64000, 48000,
Tân 00, 32000, 24000, 16000, 12000, 11025, 8000 Đối với tốc độ lầy mẫu 48000 EZ và có 2
kênh, mỗi kênh được lay mẫu 6 toc độ 24000 Hz
Trang 12Frequency Spees & cables
Trong đó Z¡„ là một mẫu âm thanh, ï là chỉ số khối, n là mẫu âm thanh ở cửa số hiện tại, k
là chỉ số của hệ số tần số X, N là kích thước cửa số (2048 hoặc 256) và nọ= (N/2+1)/2
Lượng tử trong AAC cũng giống như những tính năng khác của AAC đều cải tiến từ
mp3 Quy tắc lượng tử như sau:
Trong đó sign là bịt dấu của hệ số x(), nint là hàm làm tròn số nguyên gần nhất và sf liên
quan tới hệ số tỉ lệ Thêm vào đó, giá trị lượng tử giới hạn trong vòng 8191 giá trị
Quy tắc lượng tử bao gồm hệ số tỉ lệ Mỗi hệ số tần số đều được co giãn trong suốt quá
trình lượng tử bởi một đại lượng liên quan tới hệ số tỉ lệ Hệ số này là một số nguyên không
dầu 8 bít Khi 1024 hệ số tần số của một cửa số dài được lượng tử, chúng được gom nhóm
thành các dải hệ số tỉ lệ, mỗi dải là tập hợp hệ số tần số được tỉ lệ bởi một hệ số tỉ lệ
Mã hoá Huffman không nhiễu khi hệ số tần số đã được lượng tử, chúng sẽ được thay thé
boi ma Huffman Diéu nay lam tang ti lệ nén nhưng không hao hụt, do đó nó được gọi là
“không nhiễu” Có 12 bảng mã Huffman Một khối 1024 hệ số đã được lượng tử sẽ được
chia thành nhiều vùng mà mỗi vùng chứa một hoặc nhiều dải hệ số tỉ lệ Một bảng mã được
sử dụng cho tất cả các hệ số của một vùng, nhưng các vùng khác nhau có thể sẽ sử dụng các
bảng mã khác nhau Độ dài của mỗi vùng (theo đơn vị dai hệ sé ti lệ) và một chỉ mục cho bảng ma Huffman str dung để mã hoá cho vùng phải được thêm vào luồng dữ liệu kêt quả
Cũng có ý kiến cho rằng trong mỗi vùng cần sử dụng thuật toán mà hoá Huffman thích
ứng để giảm thiểu tông số lượng bit khi mã hoá một khối Do đó, bộ mã hoá phải hoạt động
một thuật toán phức tạp hơn - „ Temporal Noise Shaping (TNS) Module này của AAC nhăm giải quyết van dé pre-echo, một vấn đề được tạo ra khi tín hiệu âm thanh khi được nén có thời gian xuât hiện ngăn, thay
Trang 13TL 7 7 ỄY CƠ UAN,ẹg"—>” ——
Viện Cơ học và Tin hoc ung dung Báo cáo đề tài Sở KH&CN Bình Duong — Chuyên đề 2.8
đổi nhanh chóng Một cửa số lọc dài chứa 2048 mẫu Cửa số này biểu diễn được một khoảng
thời gian rất ngắn Với tốc độ lấy mẫu 44100 mẫu/giây, thì 2048 mẫu tương đương với khoảng thời gian 0.46 giây, một khoảng thời gian rất ngắn Nếu âm thanh gốc không thay đôi nhiều trong suốt khoảng thời gian này, bộ mã hoá AAC sẽ quyết định đúng ngưỡng che và
thực hiện lượng tử đúng Tuy nhiên nếu tín hiệu âm thanh thay đổi nhiều trong suốt khoảng thời gian này, thì quá trình lượng tử sẽ sai VÌ nhiễu lượng tử sẽ xuất hiện trong mỗi cửa sỐ
lọc module TNS làm giảm bớt vẫn đề preecho bằng cách nắn lại và điều chỉnh câu trúc của
nhiễu lượng tử Nguyên lý làm việc của TNS dựa trên sự tuong đồng giữa các mẫu âm thanh
cũng giống như các điểm ảnh gần nhau Đối với âm thanh ngắn, các mẫu âm thanh sẽ không
tương đồng
Dự đoán Công cụ này tầng khả năng nén bằng cách dự đoán hệ số tần số từ những hệ số tương ứng trong 2 cửa sô trước và lượng tử, mã hoá sự trên sự khác nhau khi dự đoán Dự ` đoán này được sử dụng khi có sự tương đồng giữa các mẫu âm thanh Trong AAC, cửa số
ngắn được sử dụng khi bộ mã hoá cho rằng âm thanh đang được nén thì không ổn định Do _ đó, dự đoán chỉ được sử dụng cửa số dài
Thuật toán dự đoán thì khá phức tạp và yêu cầu nhiều khả năng tính toán Nên bộ mã hoá cho thuật toán dự đoán thường thì rất phức tạp, và nó chỉ được sử dụng trong profile chính Ở
mỗi cửa số dài, dự đoán được thực hiện ở những tần số thấp và sẽ dừng ở tân số cực đại nào
- đó phụ thuộc vào tốc độ lấy mẫu
Hình 2.10: Mức tần số giới hạn cho thuật toán dự đoán
Trong bảng chỉ ra rằng nếu tốc độ lấy mẫu là 48 kHz, dự £ đoán có thể được sử dụng ở 40
dải tần số tỉ lệ đầu tiên và dừng tại tần số 15.75 kHz
1.1.1.3 Chuẩn HE-AAC:
1.1.1.3.1 Giới thiệu:
MPEG-4 HE-AAC v2 là sự kết hợp của 3 công nghệ: Advance Audio Coding (AAC), Spectral Band Replication (SBR), va Parametric Stereo (PS) Tất cả 3 công nghệ này được
đặc tả trong ISO/IEC 14496-3 và được kết hợp sử dụng trong HE-AAC v2 Sự kết hợp chỉ
gitta AAC va SBR thi dugc goi 1a HE-AAC vl, chuẩn này được đặc tả trong ISO/ICE 14496- 3:2001/Amd.1
Viện tiêu chuẩn viễn thông châu âu đã tiêu chuẩn hoá HE-AAC v2 trong trong đặc tả kĩ thuật TS 102005 “Đặc tả kĩ thuật cho mã hoá hình ảnh và âm thanh trong việc truyện phát
trực tiếp video số trên IP” và TS 101 154 “Hướng dẫn thiết kế cho việc mã hoá hình ảnh và `
âm thanh trong ứng dụng truyền phát dựa trên luồng truyền dữ liệu MPEG-2” Dựa trên
Trang 14NA ||] Ï]]] 1111J .LV ÁN a_7Ð-ppp
Viện Cơ học và Tìn học ứng dụng Báo cáo đề tài Sở KH&CN Bình Duong — Chuyên đề 2.8
những nỗ lực tiêu chuẩn hoá này, HE-AAC v2 sẵn sàng cho việc tích hợp vào tất cả các loại
dịch vụ truyền phát video số
Trên thị trường các sản phẩm của HE-AAC vI được biết dưới các tên aacPlus vÌ, AAC+,
còn HE-AAC v2 được biết dưới các tên thương mai nhu eAAC+, aacPlus v2
1.1.1.32 Kiến trúc:
Bộ mã hoá nằm trong lõi của HE- AAC v2 được biết đến nhiều nhất là bộ mã hoá AAC
AAC được xem như là chuẩn âm thanh tuyệt vời cho chất lượng âm thanh ở tốc độ 128 kbps
Dưới tốc độ này, chất lượng âm thanh của AAC bắt đầu bị suy giảm, và cần được cải thiện
với kĩ thuật SBR và PS SBR là kỹ thuật mở rộng băng thông cho phép bộ mã hoá — giải mã
âm thanh truyền có chất lượng tương đương như trước nhưng: tốc độ bit giảm đi một nửa Còn
PS làm tăng hiệu quả mã hoá bằng cách khai thác sự biếu diễn thông số của hình ảnh lập thể
được cho bởi tín hiệu đầu vào Do đó, HE-AAC v2 là một tập hợp mở rộng của AAC với khả
năng cho chất lượng âm thanh tốt với tốc độ bit thấp
the aacPlus audio codec family
1.1.1.3.3 Spectral Band Replication — SBR:
Trong ma hoa 4m thanh truyén théng, khoang thông tin có ý nghĩa được dùng để mã hoá
tần số cao Sy ra doi cia SBR dựa trên ý tưởng về sự nhận biết được sự tương đồng mạnh
giữa vùng tần sé cao và vùng tần số thấp của tín hiệu âm thanh, một sự xấp xỉ tốt của tính
hiệu âm thanh gốc cao có thê đạt được bằng một chuyển đỗi từ tín hiệu âm thanh ở dải tần
Hình 2.12: Việc chuyển đổi trong quá trình tao ra day tần số cao
Bên cạnh việc chuyển đổi thông thường này, việc tái tạo lại âm thanh ở dải tần cao cần phải được chỉ dẫn bởi những thông tin chuyển đổi như đường bao phổ của tín hiệu đầu vào đề
Trang 15
Viện Cơ học và Tin học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương - Chuyên đề 2.8
bù đắp những những thiếu xót quan trọng khác của các thành phần tần số cao Những hướng
dần này được xem như là dữ liệu của SBR Nhu vậy hiệu quả của đóng gói dữ liệu SBR rất
quan trọng để đạt được tốt độ bit như yêu cầu
Phía mã hoá, tín hiệu đầu vào cần phải được phân tích, đường biên của dải tần số cao và
các đặc tính của nó trong sự liên quan tới dải tần số thấp được mã hoá và kết quả này là dữ
liệu của SBR sẽ tiếp tục được ghép vào luồng dữ liệu chung cần truyền đi Ở phía nhận cần
phải tách dữ liệu SBR ra, sau đó nhân giải mã bắt đầu hoạt động dựa trên luồng dữ liệu kết
quả của phía phát kết hợp với việc sử dụng dữ liệu của SBR Một giải mã không hỗ trợ SBR
vẫn đó thể tương thích được nhưng kết quả sẽ bị giới hạn về băng tần tín hiệu
Hình 2.13: Chỉnh đường biên của dãy tần số cao
Cách tiếp cận của SBR tuy có vẻ đơn giản, nhưng để làm cho cách tiếp cận này làm việc hiệu quả và có thể đáp ứng được các yêu câu sau thì quả là không đơn giản:
e_ Độ phân giải phổ phù hợp
e Khoảng thời gian tồn tại của dải tin s6 đủ lâu để tránh hiện tượng pre-echo
e Trường hợp độ tương đồng giữa tần số cao và thấp trong âm thanh giọng nói của con
người không đạt yêu cầu thì cần phải tỉnh chỉnh đường biên và sự chuyển đổi sao cho phù
e Tốc độ dữ liệu thấp cần phải đáp ứng để đạt được băng thông như yêu cầu
Trong các nghiên cứu và thử nghiệm cách tiếp cận trên đã đem lại kết quả tốt và đáp ứng
được đầy đủ tiêu chuẩn trên Sự kết hợp của AAC va SBR được biết với tên HE-AAC vI đã
được tiêu chuẩn hoá trong MPEG-4 năm 2003
1.1.1.3.4 Parametric Stereo (PS):
Kỹ thuật PS là bước chính tiếp theo để tăng hiệu quả nén cho âm thanh ở tốt độ bit thấp
PS được tiêu chuẩn hoá trong MPEG-4 PŠ được tối ưu cho khoảng tốc độ bit 16-40 kbps và
sẽ đạt chất lượng cao ở tốc độ bịt khoảng 24 kbps
Dựa trên ý tưởng của SBR, khả năng làm việc của SBR sẽ tăng cao nếu tín hiệu âm thanh
đầu vào có độ tương đồng cao về tần số Bộ mã hoá PS tách phần âm thanh nền của tín hiệu
âm thanh gốc nên sự tương đồng của tín hiệu sẽ cao giúp ích cho quá trình mã hoá âm thanh
Ở bộ mã hoá, tín hiệu của nhiều kênh âm thanh sau khi tách phần âm thanh nên sẽ được trộn lại thành một kênh âm thanh duy nhất Việc này sẽ giúp ích nhiều cho việc nén âm thanh
hơn là nén từng kênh âm thanh riêng lẻ Bộ mã hoá âm thanh PS sau khi đã trộn các kênh âm
thanh lại với nhau sẽ gửi đi kèm với dữ liệu về phần âm thanh đã được tách SỐ
Ở bộ giải mã, tín hiệu âm thanh sẽ được tách ra thành những kênh như ban đầu rôi kết hợp lại với thông tin về âm thanh nền được gửi kèm đi Hình 2.14 miêu tả nguyên lý cơ bản của quá trình xử lý của PS
Trang 16HH Ấš5TĐOẠỰẠẶ|Ẵ | ẠHHHHHHHHHĐHĐỢỮỢỮÙỪỮƠỮỠZƠĐNUUANNNẢ NA aẶẦỔỐ << 6G
Hinh 2.16: Biéu dé bé ma hod HE-AAC
Điều cần phải lưu ý là chất lượng của các tín hiệu âm thanh sau khi bị nén phụ thuộc rất
nhiều vào tốc độ bit Hình 2.17 sẽ đưa ra các nhìn tông quan về chật lượng âm thanh sau khi
được nén với các chuân nén của họ AAC Trong hình ta thây ở tốc độ bit 48 kbps thì chât
lượng của HE-AAC v2 và HE-AAC v1 tương đương nhau
Trang 17
Hình 2.17: So sánh hiệu quả của các chuân nén họ AAC Năm 2003, liên đoàn phát thanh châu Âu đã tông kết những kết quả thử nghiệm của nhiều chuẩn nén khác nhau gồm có HE-AAC, AAC ở tốc độ bit 48 kbps Trong kết quả thử nghiệm
ưu thế thuộc về HE-AAC, tiép theo là mp3Pro (một sự kết hợp giữa mp3 và SBR) ,
Hinh 2.18: So sánh hiệu quả giữa chuân nén HE-AAC và các chuẩn nén khác
112 Chuẩn mã hoá hình ảnh MPEG-4/H.264:
1.1.2.1 Số hoá hình ảnh:
Cũng như âm thanh hình ảnh trước khi truyền trên mạng số thì cũng cần được số hóa Đối
với các máy quay phim tương tự hay các máy ảnh phim thì chúng ta cần đưa dữ liệu qua các
thiết bị chuyên đổi sang tín hiệu số, còn đối với máy quay phim kĩ thuật số hay máy ảnh kĩ
thuật số thì tín hiệu đầu ra đã là tín hiệu số nên không cần phải chuyển đối
1.1.2.1.1 Nén hình ảnh:
Bao gồm nén ảnh và nén nhiều ảnh liên tiếp trong một đoạn Video Phương pháp nén
thường dùng đối với ảnh là JPEG (Joint Photographic Experts Group), đối với nhiều ảnh liên
tiếp trong một đoạn Video là MPEG (Moving Picture Experts Group) Hai phương pháp này
có đặc điểm chung là sử dụng phép biến đổi Cosine rời rạc và tiếp theo là một thuật toán mã
hóa như RLC (Run Length Coding), VUC (Variable Length Coding), Đối với nén MPEG
thì người ta sử dụng thêm một số kĩ thuật nén chuyển động
Trang 18
Viện Cơ học và Tìn học ứng dụng Báo cáo đề tài Sở KH&CN Bình Dương — Chuyên dé 2.8
1.1.2.1.2 Phép biến đổi Cosine rời rạc (Điscrete Cosine Transform):
Người ta không thực hiện biến đôi Cosine trên toàn bộ vùng ảnh mà người ta chia ảnh thành các khối có kích thước 8x8 (đối với JPEG, MPEG-2) hoặc là 16x16, 8x8, 16x8, 4x4,
Biến đổi Cosine một chiều:
Phép biến đổi Cosine rời rạc một chiêu được cho bởi công thức af -X-I : sa -_ — #(2xv†+)U - - (2.4) Clu j= Au) (uj= at 2 (x) — fin jcos’ on,
Trong đó u= 0, 1, 2, , N-l Tuong ty phép biến đổi ngược được cho bởi công thức
Trang 19trung bình của tất cả các mẫu Người ta gọi hệ số này là hệ số DC, tắt cả các hệ số còn lại của
Phép biến đổi Cosine rời rạc hai chiều:
Phép biến đổi Cosine rời rạc hai chiều là một sự mở rộng trực tiếp của phép biến đổi
Cosine rời rạc một chiều và được cho bởi công thức
C{u.v)= a(ta(s)S_ » f(x seo S45 OEE 2N cod MO) 2N (2.7)
Trong đó u,v = 0, 1, 2, , N-1 Phép biến đổi ngược được cho bởi công thức
ry je Sal evel Je —#ÖA+H - #(3v+ lì | (2.8)
JAN =3.“ UNA HV JCOS, 3X 93 3N I
Trong đó x„y = 0, 1, 2, , N-1 Voi a(u), œ(v) được xác định tương tự như phép biến đôi
Cosine rời rạc một chiều
e Decollerarion : Lợi ích chủ yếu của phép biến đổi là loại bỏ sự dư thừa giữa các pixel
lân cận Điều này dẫn đến những hệ số của phép biến đổi không có tương quan có thể
được mã hóa một cách độc lập
e_ Energy Compaciion : Hiệu quả của phép biến đổi là biến dữ liệu đầu vào thành một
số ít các hệ số nhất có thẻ Điều này cho phép bộ lượng tử hóa bỏ bớt các hệ số gần bằng nhau mà vẫn không làm giảm nhiều chất lượng của ảnh được tái tạo £ 2
e Seperability : Công thức biến đôi Cosine rời rạc hai chiều ở phần trên có thể được việt
Tính chất này cho phép phép biên đôi hai chiêu có thê được thực hiệt › biên
đổi một chiều, một phép biến đôi theo dòng và một phép biến đổi theo cột Điều này được
minh họa trong hình dưới đây
Hình 2.20: Phép biến đổi hai chiều được phân thành bước biến đổi một chiều
e ấymmetry: một cách nhìn khác của công thức biến đổi theo dòng và cột là
Trong đó A là ma trận của phép biến đối kích thước NxN với các phần tử được cho bởi
Trang 201.1.2.1.3 Mã hóa chiều dài thay adi VLC (Variable Length Coding):
1.1.2.1.3.1 Giới thiệu chung:
Theo lý thuyết mã, mã có độ dài thay đổi là một loại mã mà các kí hiệu nguồn được ánh
xạ thành các kí hiệu mã có số lượng bit không bằng nhau Mã có độ dài thay đối cho phép các
kí hiệu nguồn được nén và giải nén mà không bị mắt dữ liệu (lossless data compression) và
còn có thê giải mã theo từng kí hiệu Chiến lược mã này liên quan tới lượng tin (entropy) của
từng kí hiệu Một số loại mã được nhiều người biết tới theo chiến lược mã hóa này là: mã
Huffman, ma LZ (Lempel-Ziv), ma số học
Kích thước của một từ mã: được ánh xạ từ một chuỗi các bit độ dài xác định ban đầu
thành một những cụm các bit có độ dài xác định sau đó
Mã không suy biến là loại mã mà mỗi kí hiệu của từ mã ban đầu được ánh xạ thành một cụm bit không rỗng khác nhau :
Ví dụ một ánh xạ MI={(a,0), (b,0), (c,L)} là không loại ánh xạ không suy biến bởi vì nó ánh xạ cả hai kí hiệu “a” và “b” thành một cụm bit giống nhau “0”, bất kì kích thước nào của
từ mã loại này đều tạo ra việc mất đữ liệu loại mã suy biến này vẫn còn hữu dụng khi mã hóa
đối với một số nguồn thông tin cho phép tổn thất dữ liệu ( như trong nén audio và video) |
Tuy nhiên ánh xạ M2={(a,0), (b,1), (c,00), (d,01) là loại một ánh xạ không suy biên, rât
phù hợp khi dùng cho truyền dữ liệu
Từ mũ có thê giải mã duy nhất: là một từ mã được gọi là có thể giải mã duy nhất nếu kích
thước của nó không suy biến
Ví dụ: đối với ánh xạ không suy biến M2 không phải là loại giải mã duy nhất bởi vì chuỗi
nguồn “aa” được ánh xạ thành chuỗi bịt “00”, khi giải mã có thể lầm lẫn với kí hiệu “c” với
kích thước từ mã của ánh xạ M3={(a,0), (b,01), (c,001)} có thể giải mã duy nhật, bởi vì mỗi
cụm bit đều kết thúc ngay khi một bit 0 xuất hiện, nó là dấu hiệu cho thấy một từ mã mới
Mã tức thời (mã có tính prefix) là loại mã trong cùng một ánh xạ, với các kí hiệu khác
nhau thì không có chuỗi bit nào sau khi ánh xạ là prefix của một chuỗi bit đã ánh xạ khác
Điều này giúp cho kí hiệu có thể được giải mã tức thời ngay sau khi toàn bộ từ mã đã nhận
Trang 21Kết quả: aabacda > 001001101110 > |04010j0|1 10|111]0| > aabacda
Thuận lợi: những kí hiệu nguồn ít xuất hiện có thể được gán cho các kí hiệu dài hơn
những kí hiệu nguồn xuất hiện nhiều ví dụ: nếu xác suất xuất hiện của (a, b, c, đ) là (1⁄2, 1⁄4,
1/8, 1/8), thi entropy của nó là: Ix1⁄2 + 2x1/4 + 3x1/8 + 3x1/8 = 7/4 = 1,75 Với loại mã này thì kí hiệu nguồn được nén nhiều nhất có thể và giải mã được mà không bị mắt dữ liệu - 1.1.2.1.3.2 Mã Huffman:
Trong khoa học máy tính và lý thuyét thong tin, ma@ Huffman la mot thuật toán mã hóa dùng để nén dữ liệu Nó dựa trên bảng tần suất xuất hiện các kí tự cần mã hóa để xây dựng
một bộ mã nhị phân cho các kí tự đó sao cho dung lượng (số bít) sau khi mã hóa là nhỏ nhất
MG tién té (prefix-free binary code):
Để mã hóa các kí hiệu (kí tự, chữ số, .) ta thay chúng bằng các xâu nhị phân, được gọi là
từ mã của kí hiệu đó Chẳng hạn bộ mã ASCII, mã hóa cho 256 kí hiệu là biểu diễn nhị phân của các số từ 0 đến 255, mỗi từ mã gồm 8 bít Trong ASCII từ mã của kí tự "a" là 1100001,
của kí tự "A" là 1000001 Trong cách mã hóa này các từ mã của tất cả 256 kí hiệu có độ dài băng nhau (mỗi từ mã 8 bít) Nó được gọi là mã hóa với độ dài không đổi
Khi mã hóa một tài liệu có thể không sử dụng đến tất cả 256 kí hiệu Hơn nữa trong tài
liệu chữ cái "a" chỉ có thể xuất hiện 1000000 lần còn chữ cái "A” có thể chỉ xuất hiện 2, 3 lần Như vậy ta có thể không cần dùng đủ 8 bít để mã hóa cho một ký hiệu, hơn nữa độ đài
(số bít) đành cho mỗi kí hiệu có thể khác nhau, kí hiệu nào xuất hiện nhiều lần thì nên dùng
số bít ít, ký hiệu nào xuất hiện ít thì có thể mã hóa bằng từ mã dài hơn Như vậy ta có việc mã hóa với độ dài thay đổi Tuy nhiên, nếu mã hóa với độ dài thay đổi, khi giải mã ta làm thế nào phân biệt được xâu bít nào là mã hóa của ký hiệu nào Một trong các giải pháp là dùng các
dấu phây (",") hoặc một kí hiệu quy ước nào đó để tách từ mã của các kí tự đứng cạnh nhau
Nhưng như thế số các dấu phẩy sẽ chiếm một không gian đáng kể trong bản mã Một cách
giải quyết khác dẫn đến khái niệm mã tiền tố
e_ Mã tiền tố là bộ các từ mã của một tập hợp các kí hiệu sao cho từ mã của mỗi ký hiệu không là tiền tố (phần đầu) của từ mã một ký hiệu khác trong bộ mã dy
© Duong nhiên mã hóa với độ dài không đổi là mã tiền tố
e Ví dụ: Giả sử mã hóa từ "ARRAY", tập các ký hiệu cần mã hóa gồm 3 chữ cái
hẠ" "Rh"V", l l
e Nếu mã hóa bằng các từ mã có độ dài bằng nhau ta dùng ít nhất 2 bit cho một chữ cái
chẳng hạn "A"=00, "R"=01, "Y"=10 Khi đó mã hóa của cả từ là 0001010010 Để giải
mã ta đọc hai bit một và đối chiếu với bảng mã
e© Nếu mã hóa "A"=0, "R"=01, "Y"=11 thì bộ từ mã này không là mã tiền tố ví từ mã của "A" là tiền tố của từ mã của "R" Để mã hóa cả từ ARRAY phải đặt dâu ngăn
cách vào giữa các từ mã 0,01,01,0,11 ,
e Nếu mã hóa "A"=0, "R"=10, "Y"=11 thì bộ mã này là mã tiền tố Với bộ mã tiền tố này khi mã hóa xâu "ARRAY" ta có 01010011.