1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Nghiên cứu điều khiển tốc độ video h264 thích ứng ở các mạng có băng thông hạn chế

97 226 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 97
Dung lượng 5,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các tín hiệu video số được lấy mẫu theo không gian là các giá trị độ chói của mỗi mẫu mỗi pixel đối với ảnh đen trắng mỗi điểm ảnh của hình đen trắng có 1 tín hiệu về độ chói và thường s

Trang 2

LỜI GIỚI THIỆU

Bước sang thế kỷ 21 đánh dấu sự bùng nổ về các hạ tầng mạng và số lượng người sử dụng các dịch vụ nội dung trên đó Các nhà mạng vừa phải phải đa dạng hóa các hệ thống mạng truy nhập vừa phải đương đầu với thách thức đảm bảo chất lượng dịch vụ của tập khách hàng ngày càng khổng lồ đẫn tới băng thông trở lên rất hữu hạn

và phải được tận dụng triệt để đặc biệt với các ứng dụng truyền video đòi hỏi băng thông cao Các bộ mã hóa video được xây dựng trong thập kỷ 90 của thế kỷ trước (MPEG1, MPEG2, MPEG4, H261, H263) đã trở nên khó có thể đáp ứng được sự thay đổi nhanh chóng của mạng lưới và số lượng người dùng

Năm 2003 đánh dấu một mốc quan trong trong việc đưa ra một chuẩn mã hóa video mới (H264) với mục tiêu đáp ứng đa dạng hóa các loại hình hạ tầng mạng lưới đồng thời tập trung vào việc tối ưu hóa hiệu năng mã hóa video Tuy nhiên vấn đề điều khiển tốc độ chuỗi video đầu ra bộ mã hóa cho các loại hình dịch vụ khác nhau vẫn đang còn là thách thức cho các nghiên cứu tiếp theo để có thể cải thiện QoS và yêu cầu băng thông cho từng dịch vụ Mục đích của luận văn này là tìm giải pháp cho việc điều khiển tốc độ đó sao cho chuỗi video đầu ra có thể được điều chỉnh đáp ứng với khả năng cung ứng băng thông của mạng lưới tại các thời điểm khác nhau Tên đề tài là:

Điều khiển mã hóa video H264 thích ứng ở các mạng có băng thông hạn chế

Nghiên cứu này rất hữu ích cho việc giải quyết các khó khăn trong việc truyền video qua các mạng lưới có tập khách hàng lớn băng thông phải được tận dụng triệt để như mạng internet hoặc các ứng dụng truyền qua các mạng vô tuyến nơi mật độ người dùng thay đổi theo thời gian và băng thông sử dụng thay đổi theo vị trí hoặc di chuyển của người dùng

Để giải quyết được vấn đề điều khiển nêu trên tôi đã khảo sát và nhiên cứu các đặc điểm mã hóa video, lý thuyết toán học trong việc mã hóa dữ liệu có tổn thất của Shannon và các nghiên cứu về lý thuyết mã hóa video, các triết lý điều khiển video đã

Trang 3

được nghiên cứu trong các thập kỷ trước (đó là lý thuyết mô hình thực nghiệm và mô hình phân tích trong việc mô hình hóa nguồn video để mã hóa) để có thể đưa ra lựa chọn hợp lý vừa ứng được việc điều khiển tốc độ đầu ra chặt chẽ vừa đảm bảo trễ điều khiển (do độ phức tập tính toán) nhỏ cho các ứng dụng điều khiển video thời gian thực

Sau một thời gian làm việc rất cố gắng dưới sự hướng dẫn tận tình của thầy giáo hướng dẫn TS.Phạm Văn Tiến, cùng với sự giúp đỡ nhiệt tình của các thành viên trong

phòng Lab11, tôi đã hoàn thành luận văn “Điều khiển mã hóa video H264 thích ứng

ở các mạng có băng thông hạn chế” Với những nỗ lực thực sự, luận văn của tôi đã

có được một số kết quả nhất định, mặc dù vậy, do thời gian có hạn nên không thể tránh khỏi một số thiếu sót tôi rất mong những ý kiến đóng góp của các thầy cô trong hội

đồng và bạn bè

Tôi xin gửi lời cảm ơn chân thành tới:

¾ Thầy giáo TS.Phạm Văn Tiến

¾ Nhóm nghiên cứu và phát triển của phòng Lab 411

¾ Trung tâm đào tạo sau đại học - trường ĐH Bách Khoa Hà Nội

¾ Cùng toàn thể gia đình và bạn bè

đã hỗ trợ tôi trong quá trình nghiên cứu

Trang 4

DANH MỤC HÌNH VẼ

Hình 2.1: Lấy mẫu xen kẽ 14

Hình 2.2 : Minh họa về lấy mẫu trong không gian ảnh RBG 14

Hình 2.3 Minh hoạ không gian màu YUV 15

Hình 2.4: Ví dụ tỉ lệ các định dạng cơ bản 18

Hình 2.5 Các kiểu lấy mẫu trong không gian màu YCbCr 19

Hình 2.6 Một CODEC cho hệ thống video 21

Hình 2.7: Cấu trúc logic của các bộ mã hóa 22

Hình 2.8: ví dụ về bù chuyển động theo vùng 24

Hình 3.1 Cấu trúc bộ mã hoá H264/AVC 35

Hình 3.2 Ảnh sử dụng nhiều slice group 36

Hình 3.3 Các kiểu ánh xạ sử dụng cho slice group 37

Hình 3.4 Ảnh sử dụng 1 slice group 37

Hình 3.5: sơ đồ bộ mã hoá 42

Hình 3.6: Dự đoán intra 4x4 43

Hình 3.7: Các chế độ dự đoán intra_4x4 43

Hình 3.8: các chế độ dự đoán intra_16x16 44

Hình 3.9 Phân mảnh macroblock 45

Hình 3.10 Phân mảnh submacroblock 45

Hình 3.11 Tính nội suy cho các chuyển động có khoảng cách không nguyên 46

Hình 3.12: Minh họa dự đoán bù chuyển động đa khung 48

Hình 3.13: Ví dụ về dự đoán 2 chiều 50

Hình 3.14: Sơ đồ bộ giải mã 53

Hình 3.15: Cấu trúc của đơn vị NAL 54

Hình 3.16 Ví dụ chuỗi các phần tử RBSP 55

Hình 3.17 Minh họa các cách gửi các tập tham số 57

Hình 3.18 Các profile trong H264 58

Hình 4.2 : Mô hình mã hóa Q2 của MPEG4 71

Hình 5.1: PSNR của mã hóa trong luận văn 88

Hình 5.2: PSNR trong x264 89

Hình 5.3: Sai lệch PSNR giữa các khung trong luận văn 89

Trang 5

Hình 5.4: Sai lệch PSNR giữa các khung trong CBR của x264: 89

Hình 5.5: Cấp phát bit (số bit) cho các khung trong luận văn 90

Hình 5.6: Cấp phát bit trong các khung trong CBR của x264 90

Hình 5.7: Các giá trị QP tính toán theo mô hình và QP sử dụng sau khi điều chỉnh lại 91

DANH MỤC BẢNG BIỂU Bảng 2.1 các định dạng cơ bản 17

Bảng 2.2 Các tham số trong chuẩn BT.601-5 19

Bảng 3.1 Các loại slice 38

Bảng 3.2 Các thành phần cấu trúc của Macroblock 39

Bảng 3.3 : Kiểu NAL 55

Bảng 3.4 Các kiểu RBSP 56

CÁC THUẬT NGỮ VIẾT TẮT

3 DCT Discrete cousin transfer Biến đổi cô-sin rời rạc

4 NAL Network abstract layer Lớp mạng trừu tượng

Trang 6

6 RBSP Raw byte stream sequence

payload

chuỗi dữ liệu luồng byte

7 PSNR Peak signal to noise ratio Tỷ số tín hiệu trên tạp âm

8 IDR Instantaneous decoder refesh

9 ABR Average bit rate Tốc độ bit trung bình

10 CBR Constant bit rate Tốc độ bit không đổi

parameter

Tham số lượng tử không

đổi

12 CRF Constant rate factor Tham số tốc độ không đổi

14 CABAC context adaptive binary

arithmetic coding Mã hóa thuật toán nhị phân thích ứng nội dung

15 MSE Mean Square Error Lỗi trung bình bình phương

Trang 7

CHƯƠNG I: MỞ ĐẦU

1 Cơ sở nghiên cứu và mục đích của luận văn

Ngày nay các ứng dụng đa phương tiện ngày càng trở nên đa dạng và phong phú Kết quả đó xuất phát từ hai vấn đề cơ bản là: 1) sự phát triển của các thế hệ mạng đang hướng tới mục tiêu xây dựng một thế hệ mạng mới có thể hỗ trợ tất cả các dịch vụ hiện

có 2) sự phát triển của các kỹ thuật mã hóa đặc biệt là mã hóa video và mã hóa âm thành tạo ra cơ sở quan trọng cho việc phát triển các dịch vụ Trong vài chục năm qua

có rất nhiều các công trình nghiên cứu nhằm cụ thể hóa hai vấn đề trên Luận văn này đóng góp thêm vào phần nghiên cứu trong lĩnh vực thứ 2 với mục tiêu đặt ra trong luận văn là giải quyết vấn đề điều khiển tốc độ cho các ứng dụng truyền video qua kênh truyền có băng thông hạn chế sử dụng bộ mã hóa H264 Mục tiêu đó được cụ thể hóa như sau:

- Tốc độ đầu ra của bộ mã hóa phải ổn định (được điều khiển chặt chẽ), không có đột biến quá lớn cả về tốc độ (so với tốc độ yêu cầu) lẫn tổn hao mã hóa (đảm bảo chất lượng dịch vụ)

- Trễ mã hóa và điều khiển mã hóa (bao gồm cả điều khiển RDO và điều khiển tốc độ) phải nhỏ, giảm thiểu tối đa sự phức tạp tính toán trong mô hình đưa ra, để đáp ứng cho các ứng dụng đa phương tiên thời gian thực

- Đưa ra được một mô hình điều khiển tốc độ có tính triết lý cao, hợp lý và rõ ràng

- Băng thông cung ứng cho dịch truyền video có thể thay đổi theo thời gian

2 Tổ chức luận văn

Luận văn được trình bày thành 5 chương với bố cục nội dung như sau:

Chương I: Trình bày về cơ sở nghiên cứu, mục đích cũng như tổ chức của luận văn

Trang 8

Chương II: Trình bày tổng quan về các bộ mã hóa video nhấn mạnh tới cơ sở lý thuyết

và lịch sử phát triển của các bộ mã hóa trong mấy chục năm qua

Chương III: Làm rõ các đặc điểm của bộ mã hóa H264, các ưu điểm của bộ mã hóa H264 so với các bộ mã hóa trước đó đồng thời cũng cho thấy những thách thức gặp phải khi tác động điều khiển vào bộ mã hóa Chương này thể hiện quan điểm thiết kế

bộ mã hóa H264, hiệu năng mã hóa của bộ mã hóa được cải thiện đáng kể do đóng góp từng phần nhỏ của các cải tiến kỹ thuật mã hóa của các bộ mã hóa trước, chuỗi video sau mã hóa được trình bày theo cú pháp mềm dẻo có thể tương thích với các hạ tầng mạng khác nhau Từ quan điểm thiết kế đó làm nổi bật lên các vấn đề gặp phải khi thực hiện điều khiển tốc độ cho chuỗi bit đầu ra để cung cấp cho các ứng dụng khác nhau trên các hạ tầng mạng khác nhau

Chương IV: Chương này đi sâu vào phân tích các nghiên cứu lý thuyết và thực nghiệm

để có thể điều khiển tốc độ các bộ mã hóa tối ưu nhất Về mặt lý thuyết các nghiên cứu

về điều khiển tốc độ video tập trung vào lý thuyết mã hóa dữ liệu có tổn thất của Shannon để có thể mô hình hóa các đặc tính của nguồn video sau khi thực hiện mã hóa

để điều khiển sao cho tốc độ chuỗi video đầu ra đạt mong muốn và tổn thất dữ liệu (do

mã hóa dữ liệu có tổn thất) là nhỏ nhất, tuy nhiên mô hình lý thuyết gặp phải vấn đề khó khăn là độ bất định của chuỗi video rất khó biết trước do đó rất khó để mô hình hóa chung cho tất cả các nguồn video Song song với các mô hình lý thuyết các mô hình thực nghiêm (coi video như là một nguồn không nhân quả) cũng được nghiên cứu tuy nhiên các mô hình thực nghiệm tỏ ra không phù hợp với các ứng dụng thời gian thực vì độ phức tạp tính toán cao và trễ thực hiện mã hóa lớn Các phân tích của chương này cho thấy lịch sử nghiên cứu điều khiển tốc độ chuỗi video sau bộ mã hóa bắt đầu từ rất sớm nhưng vân còn dang dở và vẫn còn phải tập trung nghiên cứu nhiều

để có thể có được mô hình điều khiển hợp lý hơn

Trang 9

Chương V: Trình bày các khó khăn khi thực hiện điều khiển tốc độ cho bộ mã hóa H264 từ đó đưa ra giải pháp thực hiện riêng cho vấn đề này Các mô hình lý thuyết và thực nghiệm được kết hợp chặt chẽ trong mô hình điều khiển tốc độ làm cho hiệu quả điều khiển tốc độ video đầu ra tương đối tốt Kết quả thí nghiệm offline và online cũng được đưa ra trong chương này nhằm cho thấy kết quả đã đạt được và những vấn đề cần nghiên cứu thêm trong tương lai

Trang 10

Mục lục

LỜI GIỚI THIỆU 1

DANH MỤC HÌNH VẼ 3

DANH MỤC BẢNG BIỂU 4

CÁC THUẬT NGỮ VIẾT TẮT 4

CHƯƠNG I: MỞ ĐẦU 6

1 Cơ sở nghiên cứu và mục đích của luận văn 6

2 Tổ chức luận văn 6

Mục lục 9

ABSTRACT 11

1 The study foundation and target of thesis 11

2 Outline of the thesis 11

CHƯƠNG II: TỔNG QUAN VỀ MÃ HÓA VIDEO 13

1 Nguyên lý mã hoá video 13

a Giới thiệu về video số 13

b Các định dạng hình trong video số 17

c Chất lượng trong các hệ thống truyền video .19

d Nguyên lý mã hoá video số .21

2 Sơ lược các chuẩn mã hoá video hiện nay 26

CHƯƠNG III: MÃ HÓA H264 30

1 Các đặc điểm nổi bật trong thiết kế của mã H264 30

2 Lớp mã hoá video (VLC) 35

2.1 Cấu trúc khung ảnh mã hóa trong lớp VLC của H264 35

2.2 Bộ mã hóa H264 39

a) Dự đoán nội khung (intra prediction) 42

b) Chuyển đổi (transform) và lượng tử .50

c) Mã hóa entropy .52

2.3 Bộ giải mã 53

Trang 11

3 Lớp tương thích mạng (NAL) 53

4 Các profile cho các ứng dụng của H264 58

CHƯƠNG IV: ĐIỀU KHIỂN TỐC TRONG CÁC BỘ MÃ HÓA 61

1 Các vấn đề điều khiển tốc độ trong bộ mã hóa 61

2 Lý thuyết mô hình tốc độ và tổn thất (Rate Distortion) trong mã hóa video 65

3 Các phương pháp điều khiển tốc độ trong các chuẩn mã hóa trước H264 .66

3.1 Điều khiển tốc độ TM5 trong MPEG2 67

3.2 Điều khiển tốc độ Q2 trong MPEG4 70

3.3 Điều khiển tốc độ TMN8 trong H263 73

CHƯƠNG V: ĐIỀU KHIỂN TỐC ĐỘ TRONG H264 CHO CÁC ỨNG DỤNG TRUYỀN THỜI GIAN THỰC BĂNG THÔNG THẤP 76

1 Mục tiêu của luận văn .76

2 Các thách thức và giải pháp được lựa chọn trong luận luận văn .77

3 Các bước thực hiện điều khiển tốc độ 79

Kết luận và hương nghiên cứu trong tương lai 92

TÀI LIỆU THAM KHẢO 94

Trang 12

ABSTRACT

1 The study foundation and target of thesis

Multimedia services are now more and more diversity and abundance That result come from two issues: the first is the development of network generations forwarding

to a next generation network that can support all services The second is the

development of technical coding especially video & speech coding make a important foundation for developing services During the several recently decades there have been many study reports to realize these two mentions This thesis contribute a

research work in the second field with a scope is to resolve rate control problem in video transmitting applications over networks with limited throughput using H264 CODEC That target comprises:

- The video output data rate of CODEC is stable (controlled closely), without big changes of data rate (comparing with demanded rate) and distortion (ensuring quality of service)

- Coding and controlling delay is small, reducing computational complexity in the proving model to meet the demand of real time-multimedia applications

- Introducing a controlling model with a high clarity, philosophy and adaptation

- Throughput can change with time

2 Outline of the thesis

The thesis is organized as follow:

Chapter I: Presents the study foundation, target and outline of thesis

Chapter II: Present overview of CODECs emphasizing theory and developing history

of CODEC over several recently decades

Trang 13

Chapter III: Clarify characters of H264 CODEC, the advantages of H264 comparing with previous CODECs and show challenges will face if we impact to control the CODEC

Chapter IV: Analysis theorical and operational modeling approach to control bit rate of CODECs optimally

Chapter V: Present difficulties in controlling the rate of H264 CODEC and giving the solution to solve that problems The solution combines theorical and operational

models tightly to make a good effect in rate control The offline and online experiences

is given to show the result of solution

Trang 14

CHƯƠNG II: TỔNG QUAN VỀ MÃ HÓA VIDEO

1 Nguyên lý mã hoá video

a Giới thiệu về video số

Video là biểu diễn của các cảnh trực quan thực tế được lấy mẫu theo thời gian và không gian Một cảnh được lấy mẫu tại một thời điểm tạo ra 1 khung ảnh (một biểu diễn của cảnh trực quan tại thời gian đó) hoặc một trường ảnh (bao gồm các dòng chẵn,

lẻ của các mẫu theo không gian ảnh) Việc lấy mẫu theo thời gian được lặp lại theo chu

kỳ thường là 1/25 hoặc 1/30 đối với các chuẩn SD (standard difinition) hoặc làm 1/60 giây đối với chuẩn HD (High definition), để tạo ra sự chuyển động của hình ảnh theo cảm nhận trực quan của con người Các tín hiệu video số được lấy mẫu theo không gian là các giá trị độ chói của mỗi mẫu (mỗi pixel) đối với ảnh đen trắng (mỗi điểm ảnh của hình đen trắng có 1 tín hiệu về độ chói) và thường sử dụng 3 thành phần cơ bản đối với các hình ảnh màu (đó có thể là 3 tín hiệu màu cơ bản là đỏ, xanh nước biển

và xanh lá cây(chuẩn RBG) hoặc 2 tín hiệu màu một tín hiệu về độ chói cho một điểm ảnh chuẩn (YUV))

Tín hiệu video có thể được lấy mẫu thành một chuỗi các khung ảnh đầy đủ (lấy mẫu lũy tiến) hoặc một chuỗi các trường xen kẽ nhau (lấy mẫu xen kẽ theo các dòng) Trong chuỗi video xen kẽ, một nửa của dữ liệu video trong một khung hình được lấy mẫu tại khoảng lấy mẫu theo thời gian Một trường bao gồm hoặc là một dòng chẵn hoặc là một dòng lẻ trong một khung hình video và một chuỗi video được xen kẽ nhau như được thể hiện trong hình dưới đây Thuận lợi của phương pháp lấy mẫu này là nó

có thể gửi gấp 2 lần số trường (như là nhiều khung trong chuỗi video) trên một giây với cùng 1 tốc độ dữ liệu tạo ra hiển thị về chuyển động hình ảnh mềm mại hơn

Không gian màu RBG:

Trong không gian màu RGB một điểm ảnh được thể hiện bằng 3 thành phần màu cơ bản là màu đỏ (red), màu xanh nước biển (blue) và màu xanh lá cây (green) Bất kỳ

Trang 15

màu nào cũng có thể được tổn hợp từ 3 thành phần màu cơ bản trên (hình 2 thể hiện cách lấy mẫu 1 hình ảnh màu trong không gian màu RGB) Không gian màu RGB rất phù hợp với việc thu nhận và hiển thị hình ảnh màu Việc thu nhận hình ảnh màu liên quan tới việc lọc các thành phần red, green, blue trong mỗi cảnh thu được bằng ma trận sensor cảm quang CDD Các thiết bị hiển thị (CRT (Color Cathode Ray Tubes) và LCD (Liquid Crystal Displays)) hiển thị một hình RGB bằng cách chiếu sáng các thành phần red, green, blue của mỗi điểm ảnh tương ứng với các cường độ của nó một cách riêng biệt Từ tầm nhìn bình thường thì các thành phần riêng rẽ đó sẽ trộn lại để tạo ra một cảm giác hiển thị của màu thực

Hình 2.1: Lấy mẫu xen kẽ

Hình 2.2 : Minh họa về lấy mẫu trong không gian ảnh RBG

Trang 16

Không gian màu YCbCr

Trong không gian màu RGB 3 thành phần màu cơ bản là quan trọng như nhau và được lưu với cùng độ phân giải Tuy nhiên có thể biểu diễn các hình ảnh màu hiệu quả hơn bằng cách tách độ chói từ thông tin màu và biểu diễn các thành phần màu với độ phân giải ít hơn do thị giác của con người thường ít nhạy cảm về màu hơn là độ chói Chính

vì vậy trong các kỹ thật video người ta thường hay sử dụng một không gian màu khác

là YCbCr (hình 3 minh họa không gian màu YCbCr) Thành phần cơ bản Y, trong không gian màu YCbCr được tính toán theo các thành phần màu cơ bản (trong không gian màu RBG) như sau:

Các thành phần Cb, Cr được tạo ra từ hiệu của các thành phần màu cơ bản B, R cho thành phần Y:

Hình 2.3 Minh hoạ không gian màu YUV Trong không gian màu YCbCr người ta chỉ sử dụng 2 thành phần độ màu là vì

là một hằng số Không gian màu YCbCr có một ưu điểm quan trọng so với không gian màu RBG là các thành phần màu Cb, Cr có thể được biểu diễn với độ

Trang 17

phân giải thấp hơn thành phần Y bởi vì thị giác của con người ít nhạy cảm được yêu cầu để biểu thị các thành phần màu mà không ảnh hưởng tới chất lượng cảm quan trực giác của con người Một hình ảnh trong không gian màu RGB có thể được chuyển đổi sang không gian màu YCbCr sau khi thu để giảm không gian lưu trữ và yêu cầu về truyền dẫn, trước khi hiển thị hình ảnh nó có thể được chuyển đổi sang RGB Các phương trình chuyển đổi 2 không gian màu đó được biểu diễn theo đề xuất của Gary Sullivan như sau:

Trang 18

b Các định dạng hình trong video số

Trong video số có rất nhiều các chuẩn định dạng hình khác nhau Các chuẩn nén

video cũng có thể nén rất nhiều định dạng khung hình khác nhau tuy nhiên trên thực tế

các định dạng đó thường được chuyển thành thành định dạng trung gian để nén và

truyền đi trong các ứng dụng

CIF (common intermediate format) định dạng hình cơ bản cho một tập các định

dạng phổ biến hiện nay như QCIF, SQCIF, 4CIF, sub-QCIF (như được thể hiện trong

Lựa chọn độ phân giải nào là tuỳ thuộc vào các ứng dụng: ví dụ như 4CIF được sử

dụng cho truyền hình SD DVD-Video, CIF và QCIF được sử dụng phổ biến trong các

ứng dụng truyền hình hội nghị (video conferencing), SQCIF phù hợp với các ứng dụng

multimedia mà trong đó độ phân giải hiển thị và giới hạn về bitrate

Trong không gian màu YCbCr có 3 kiểu lấy mẫu (được thể hiện ở hình 5) Lấy mẫu

4:4:4 có nghĩa là các thành phần Y, Cb, Cr có cùng độ phân giải, mỗi điểm ảnh đều

được lấy mẫu cả 3 thành phần trong không gian màu YCbCr Lấy mẫu 4:2:2, các thành

phần màu có cùng độ phân giải với thành phần độ chói theo chiều dọc nhưng theo

chiều ngang thì độ phân giải của các thành phần màu bằng ½ độ phân giải của thành

phần độ chói Lấy mẫu 4:2:0 các thành phần màu có độ phân giải bằng ½ độ phân giải

của độ chói theo cả 2 hướng chiều dọc và chiều ngang Các định dạng khung hình, các

kiểu lấy mẫu trong không gian YCbCr, số lượng bit được sử dụng cho việc mã hóa 1

Trang 19

giá trị lấy mẫu và chu kỳ lấy mẫu các khung hình theo thời gian tạo ra sự đa dạng cho các kiểu hình trong các ứng dụng khác nhau

Hình 2.4: Ví dụ tỉ lệ các định dạng cơ bản Chuẩn BT.601-5 của ITU-R là một chuẩn về việc lấy mẫu hình được sử dụng rộng rãi hiện nay Với kiểu 4:2:2 thì tín hiệu video được lấy mẫu 13,5 MHz đối với thành phần chói và 6,75 đối với các thành phần màu Các tham số của tín hiệu lấy mẫu phụ thuộc vào tốc độ khung (30 Hz đối với tín hiệu NTSC và 25 Hz đối với tín hiệu PAL/SECAM) như được thể hiện trong bảng 5 Tốc độ khung lớn hơn 30 Hz của NTSC được bù bởi độ phân giải không gian thấp hơn do đó về mặt tổng thể thì tốc độ bit không thay đổi là 216 Mb/s

Trang 20

Số mẫu màu trên dòng 429 432

Bảng 2.2 Các tham số trong chuẩn BT.601-5

Hình 2.5 Các kiểu lấy mẫu trong không gian màu YCbCr

c Chất lượng trong các hệ thống truyền video

Để chỉ ra, ước lượng và so sánh các hệ thống truyền video thì cần phải xác định được chất lượng của các hình video được hiển thị trực quan cho người xem Việc đo

Trang 21

chất lượng trực quan là một kỹ thuật khó và thường không chính xác bởi vì có nhiều nhân tố có thể ảnh hưởng tới kết quả đo Cảm nhận của con người về một cảnh trực quan được hình thành bởi sự tương tác phức tạp giữa các thành phần của hệ thống trực giác của con người là mắt và bộ não Cảm nhận về chất lượng của trực giác con người

bị ảnh hưởng bởi độ chính xác theo không gian (hình ảnh rõ ràng ít bị nhiễu) và độ chính xác theo thời gian (chuyển động tự nhiên và mềm mại hay không) Ngoài ra còn nhiều yếu tố khác ảnh hưởng tới chất lượng theo trực quan ví dụ như nội dung tương tác với trực quan, một người thực hiện các tác vụ đặc biệt yêu cầu tập trung vào một phần của một cảnh trực quan thì sẽ đòi hỏi chất lượng tốt hơn là người xem film thụ động …

Chuẩn DSCQS trong chuẩn BT.500-11 của ITU-R xây dựng phương pháp đo chất lượng của các bộ mã hóa theo chủ quan của con người tuy nhiên kết quả phụ thuộc vào người test, những người có kinh nghiệm về video sẽ chấm điểm chuẩn hơn những người không có kinh nghiệm

Các nhà phát triển các bộ mã hóa thường dựa trên phương pháp đo chất lượng dựa trên yếu tố khách quan là đặc điểm của tín hiệu Phương pháp được sử dụng phổ biến nhất với cách tiếp cận này là PSNR (Peak signal to noise ratio) theo phương trình dưới đây

Trong đó MSE là lỗi trung bình bình phương giữa tín hiệu nguồn và tín hiệu được giải nén sau khi mã hóa là giá trị tín hiệu lớn nhất của bộ mã hóa, n là sô bit dùng để mã hóa một giá trị lấy mẫu

Phương pháp PSNR có thể được tính dễ dàng và nhanh chóng tuy nhiên phương pháp này cũng có một số hạn chế như: PSNR yêu cầu tín hiệu hình ảnh nguồn là

Trang 22

nguyên vẹn (chính xác) điều này không phải dễ trong nhiều trường hợp, PSNR không

có sự tương quan cao với phương pháp chủ quan như ITU-R 500 Do các hạn chế đó nên gần đây có rất nhiều các nghiên cứu để xây dựng ra các phương pháp đo chất lượng video khách quan có tương quan cao với phương pháp chủ quan tuy nhiên đến nay vẫn chưa có phép đo nào thực sự đáp ứng được yêu cầu do đó PSNR vẫn là phương pháp phổ biến để đánh giá so sánh chất lượng trong các nghiên cứu phát triển các bộ mã hóa

d Nguyên lý mã hoá video số

Nén video (hay mã hoá video) là tiến trình nén và cô đọng chuỗi video số thành một chuỗi bit có số lượng bit nhỏ hơn Các chuỗi video số thô (chưa nén) yêu cầu một tốc

độ bit lớn (xấp xỉ 216 Mbit/second cho video TV chưa nén) do vậy việc nén video là rất cần thiết cho lưu trữ video thực tế và truyền video số Bộ mã hoá chuyển đổi dữ liệu nguồn thành dạng dữ liệu nén để truyền hoặc lưu trữ Bộ giải mã chuyển đổi dữ liệu từ dạng nén trở về dạng ban đầu của dữ liệu video Cặp bộ mã hoá và giải mã (encoder/decoder) thường được gọi là bộ CODEC (enCOder/ DECoder)

Hình 2.6 Một CODEC cho hệ thống video Nén dữ liệu được thực hiện bằng cách loại bỏ dư thừa, các thành phần không thực sự cần thiết cho việc tái tạo dữ liệu Nhiều kiểu dữ liệu có sự dư thừa về thống kê có thể được nén một cách hiệu quả sử dụng nén không tổn thất, và do đó việc tái tạo lại dữ liệu đầu ra của bộ decoder là bộ copy hoàn hảo của dữ liệu nguồn Tuynhiên, nén không tổn thất hình và thông tin video chỉ tạo ra giá trị nén vừa phải Nén tốt nhất có thể đạt được với nén hình không tổn thất là chuẩn JPEG-LS với tỉ số nén giảm đi 3-4 lần Nén có tổn thất là cần thiết để đạt được tỉ số nén cao hơn, trong một hệ thống nén

có tổn thất dữ liệu được nén không đồng nhất với dữ liệu nguồn, tỉ số nén càng cao thì

Trang 23

chất lượng hình trực quan sau khi giải nén càng giảm Hệ thống nén video có tổn thất dựa trên nguyên lý loại bỏ dư thừa chủ quan, các phần tử ảnh hoặc chuỗi video có thể loại bỏ mà không ảnh hưởng tới cảm nhận về chất lượng trực quan của người xem

Hầu hết các phương pháp mã hoã đều khai thác cả sự dư thừa về không gian lẫn

sự dư thừa về thời gian Trong miền thời gian thường có sự tương quan cao giữa các khung ảnh video được thu gần nhau Các khung liền kề về thời gian thường có tương quan cao đặc biệt với tốc độ lấy mẫu theo thời gian lớn Trong miền không gian, thường có sự tương quan cao giữa các điểm ảnh gần nhau các giá trị của các mẫu (điểm ảnh) gần nhau thường rất giống nhau Khai thác các đặc điểm trên các bộ mã hóa thường có cấu trúc logic như sau:

Hình 2.7: Cấu trúc logic của các bộ mã hóa Một bộ mã hóa bao gồm 3 thành phần chức năng chính như sau: khối mô hình thời gian, khối mô hình không gian và mã hóa entropy Đầu vào của khối mô hình thời gian là chuỗi các hình video chưa được nén và các hình đã được mã hóa được lưu lại dùng làm tham chiếu cho dự đoán chuyển động Đầu ra của khối mô hình thời gian là một bức ảnh dư thừa sau khi trừ bức ảnh hiện tại tại đầu vào với bức ảnh đã được mã hóa trước đó (đã được bù chuyển động khi ước lượng chuyển động giữa hình hiện tại

và hình tham chiếu đã được mã hóa trước đó) và một tập các tham số mô hình thời gian như vector chuyển động (có được khi thực hiện ước lượng chuyển động của các vùng nhỏ trong bức ảnh thường là một khối 16x16 điểm ảnh hay còn gọi là block) Hình dư thừa tạo ra từ mô hình thời gian được đưa vào khối mô hình không gian để thực hiện

Trang 24

loại trừ các dư thừa dữ liệu về mặt không gian giữa các giá trị lấy của các điểm ảnh gần nhau (loại bỏ sự tương quan về mặt không gian) Để thực hiện việc này thường các khối không gian sử dụng một bộ chuyển đổi (transform) cho các giá trị trị dư thừa vừa tạo ra và lượng tử hóa kết quả tạo ra Bộ chuyển đổi chuyển đổi các giá trị của mẫu sang một miền không gian khác mà trong miền đó chúng được biểu diễn bởi các hệ số chuyển đổi các hệ số chuyển đổi đó được lượng tử hóa để loại bỏ các thành phần không mấy quan trọng tạo ra một số lượng nhỏ hơn các hệ số quan trọng cung cấp cho việc nén dữ liệu Đầu ra của khối mô hình không gian là một tập các hệ số lượng tử được đưa vào đầu vào khối mã hóa entropy đồng thời các tham số mô hình thời gian cũng được đưa vào khối mã hóa entropy Khối này thực hiện loại bỏ các dư thừa về mặt thống kê của dữ liệu đầu vào để tạo ra dòng dữ liệu video nén để truyền đi hoặc file nén để lưu trữ

Khối mô hình thời gian:

Mục tiêu của khối mô hình thời gian là loại bỏ các dữ liệu tương quan giữa các ảnh trong chuỗi ảnh video Để làm việc này khối mô hình thời gian trừ các giá trị của ảnh hiện tại (đang mã hóa) với một ảnh tham chiếu (được tạo ra sau khi dự doán chuyển động và bù chuyển động) Trong quá trình dự đoán chuyển động của ảnh hiện tại so với ảnh đã được mã hóa thường thực hiện với các Macroblock (16x16) hoặc các block nhỏ hơn là 8x8 hoặc 4x4, nói chung block dùng để dự đoán càng nhỏ thì càng giảm được dữ liệu dư thừa do tương quan và do đó làm cho bộ mã hóa càng trở nên hiệu quả tuy nhiên điều này lại dẫn tới khối lượng xử lý để thực hiện ước lượng tăng lên khổng lồ làm cho việc tính toán mất rất nhiều thời gian đồng thời số lượng các tham số sử dụng cho mô hình thời gian cũng tăng lên do đó để có thể đảm bảo hiệu quả nén thì thường các bộ mã hóa không sử dụng 1 loại block cho dự đoán chuyển động mà thường sử dụng một số loại block khác nhau để tận dụng các vùng có tương quan theo thời gian khác nhau

Việc chuyển động của các khối theo thời gian không phải là theo số chẵn của block dùng để ước lượng chuyển động do đó các kỹ thuật ước lượng chuyển động sub-

Trang 25

pixel và quarter-pixel được sử dụng để đảm bảo tìm ra được sự tương quan cao nhất theo thời gian của các block dùng để ước lượng chuyển động Việc ước lượng sub-pixel và quarter-pixel được thực hiện sau khi thực hiện ước lượng block bằng cách tính nội suy để tạo ra các giá trị sub-pixel và quarter-pixel Ước lượng sub-pexel và quarter-pixel tạo ra khả năng loại bỏ sự tương quan cao cao hơn và đo đo tạo ra ảnh hiệu sau đầu ra của khối thời gian có sự dư thừa nhỏ hơn Tuy nhiên các kỹ thuật này làm tăng tính phức tạp mã hóa

Các đối tượng chuyển động trong một cảnh video thường có hình dạng không theo quy tắc nào và chúng có thể thay đổi hình dạng giữa các khung (như ví dụ ở hình dưới đây) do đó rất khó để có thể tìm được các block phù hợp nhất và vì thế một phương pháp bù chuyển động theo vùng và theo đối tượng chuyển động được đề cập

để tăng khả năng loại trừ tương quan giữa các ảnh của khối mô hình không gian, tuy nhiên phương pháp này rất phức tạp và thường sử dụng cho các ứng dụng cụ thể, không phù hợp trong các hệ thống truyền hình …

Hình 2.8: ví dụ về bù chuyển động theo vùng

Khối mô hình không gian:

Khối mô hình không gian nói chung bao gồm 3 thành phần chính, Khối chuyển đổi (loại bỏ tương quan và nén dữ liệu), khối lượng tử (giảm độ chính xác của chuyển

Trang 26

đổi và khối sắp xếp lại (sắp xếp lại dữ liệu thu được để nhóm các giá trị quan trọng với nhau)

Mục đích của khối chuyển đổi (transform) là thực hiện chuyển đổi các dữ liệu hình hoặc các dữ liệu được tạo ra sau khi thực hiện loại bỏ dư thừa bằng ước lượng và

bù chuyển động sang miền không gian khác (miền không gian này phải đảm bảo loại

bỏ tương quan và cô đọng năng lượng của dữ liệu đã được chuyển đổi tập trung vào một số lượng nhỏ các giá trị và có thể chuyển đổi thuận và ngược một cách dễ dàng) theo phương trình ma trận như sau: Y=AXAT và X=ATXA trong đó X là ma trận dữ liệu nguồn, Y là ma trận dữ liệu chuyển đổi A là ma trận chuyển đổi Có nhiều bộ chuyển đổi được đề xuất tuy nhiên chủ yếu được phân thành 2 loại chính là: chuyển đổi dựa trên toàn bộ hình (ví dụ như DWT) hoặc dựa trên các block (DCT, SVD, KLT, Hadamard)

Mục đích của bộ lượng tử là ánh xạ một dải các giá trị tín hiệu đầu vào sang một tín hiệu được lượng tử với ít vùng giá trị hơn và do đó có thể biểu diễn tín hiệu lượng

tử với it bít hơn tín hiệu nguồn Có thể chia làm 2 loại bộ lượng tử là bộ lượng tử vô hướng và bộ lượng tử vecto Lượng tử vô hướng ánh xạ một giá trị đầu vào thành một giá trị lượng tử đầu ra theo công thức Y=QP.round(X/QP) trong đó X là giá trị đầu vào

bộ lượng tử còn Y là giá trị đầu ra bộ lượng tử, QP là bước lượng tử) Lượng tử vecto ánh xạ một nhóm các giá trị đầu (một vecto) vào thành các giá trị đầu ra đã được lượng

tử

Đầu ra của bộ lượng tử là một dãy chứa một lượng nhỏ các hệ số khác 0 và một lượng lớn các hệ số có giá trị là 0 do đó việc sắp xếp lại (nhóm các hệ số khác 0 lại với nhau) và biểu diễn hiệu quả các hệ số có giá trị 0 được sử dựng trước khi thực hiện mã hóa entropy

Mã hóa entropy chuyển đổi một chuỗi các phần tử biểu diễn chỗi video thành dòng bit được nén phù hợp với ứng dụng truyền dẫn và lưu trữ Các phần tử biểu diễn chuỗi video có thể bao gồm các hệ số chuyển đổi lượng tử, các vecto chuyển động, các

Trang 27

dấu phân cách (là mã chỉ một điểm đồng bộ lại trong chuỗi), các thông tin mào đầu (mào đầu MB, mào đầu ảnh mào đầu chuỗi …) và các thông tin bổ xung

2 Sơ lược các chuẩn mã hoá video hiện nay

Việc gia tăng nhu cầu trong lưu trữ và truyền phát các thông tin hình ảnh đã thúc đẩy việc phát triển các chuẩn mã hóa hình Hiện nay có một số chuẩn mã hóa được xậy dựng từ 2 tổ chức chính là ISO với các chuẩn MPGE-1, MPEG-2, MPEG-4 và ITU-T với các chuẩn H261, H263 và H264 Tất cả các chuẩn đó đều dựa vào phương pháp mã hóa lai ghép dựa vào block giữa việc sử dụng mã hóa nội khung sử dụng chuyển đổi DCT và mã hóa liên khung sử dụng ME/MC Các thuật toán mã hóa chủ yếu chuẩn hoá

bộ giải mã, có nghĩa rằng các chuẩn này không định nghĩa chi tiết các tiến trình mã hóa

mà chỉ có cú pháp của dòng bit và tiến trình giải mã cú pháp đó được đưa ra Các chuẩn này cũng phụ thuộc vào ứng dụng riêng và do đó chúng chủ yếu được cung một tập các công cụ và tùy thuộc vào người dùng quyết định sử dụng công cụ nào cho phù hợp

Trang 28

Khung I được mã hóa độc lập không liên quan gì tới các khung khác Mỗi block trong khung I của MPEG-1 đầu tiên được chuyển đổi không gian sử dụng DCT thành một khối các hệ số chuyển đổi biểu diễn thành phần tần số không gian trong block ban đầu Hầu hết năng lượng của block này được nén thành các thành phần hệ số DCT trong băng tần thấp Sau đó các hệ số DCT được lượng tử bởi một ma trận lượng tử 8x8 có chứa bước lượng tử được sử dụng cho việc mã hoá mỗi hệ số Hệ số được lượng tử sau đó được quét zigzag và mã hoá để tạo ra khả năng nén cao hơn Sau khi

mã hoá khung I được giải mã để sử dụng làm khung tham chiếu cho các khung tiếp theo

Khung P được mã hoá với khung tham chiếu là các khung I và khung P trước

đó Một MB trong khung P có thể được mã hoá kiểu intra (giống khung I) hoặc inter Trong chế độ mã hoá inter bộ mã hoá sẽ tìm MB phù hợp nhất (trong khung tham chiếu) với MB đang được mã hoá, quá trình này được gọi là quá trình ước lượng chuyển động SAD (sum absoluted diffirence) được sử dụng làm tiêu chí cho việc ước lượng chuyển động Trong trường hợp chuyển động nhỏ hơn 1 pixel thì bù chuyển động sẽ thực hiện bằng phương pháp nội suy Sau đó hiệu của MB dự đoán (trong khung hiện tại) với MB được dự đoán (trong khung tham chiếu) sẽ được chuyển đổi DCT lượng tử, mã hoá giống như trong khung I Nếu MB có vector chuyển động là 0

và hiệu các hệ số trên cũng bằng 0 thì MB đó sẽ được sử dựng kiểu skip

Khung B được mã hoá inter như khung P nhưng sử dụng các khung tham chiếu

cả quá khứ và tương lai

Các kiểu khung đó được sắp sếp theo một trật tự nhất định tạo thành GoP (Group of Picture) Và cấu trúc này được sử dụng thống nhất cho toàn bộ quá trình mã hoá

Trang 29

H261: H261 được phát triển bởi ITU-T vào năm 1993 với mục tiêu là cho các ứng

dụng videoconference và videophone hoạt động với tốc độ từ 64kbit/s và 2 Mbit/s (bởi

vì nó sử dụng hạ tầng ISDN) Sự khác biệt chính của H261 với MPEG-1 là:

- H261 chỉ hỗ trợ khung I và khung P do yêu cầu của thời gian thực

- Ước lượng chuyển động của H261 chỉ được thực hiện theo khung trước

- H261 không hỗ trợ bù chuyển động ½ pixel

- Để cải thiện dự đoán H261 cho phép một bộ lọc vòng được áp dụng cho việc dự đoán MB, việc này làm giảm lỗi dự đoán

- H261 chỉ hỗ trợ 2 độ phân giải là QCIF và CIF

MPEG-2: MPEG-2 được phát triển bởi cả ISO/IEC và ITU-T và được hoàn thành vào

cuối năm 1994 MPEG-2 hợp nhất rất nhiều đặc tính từ H261 và MPEG-1 Tất cả các

bộ giải mã của MPEG-2 có thể giải mã được chuỗi bit được tạo ra bởi MPEG-1 Các cải tiến chính của MPEG-2 so với MPEG-1 là:

- MPEG-2 hỗ trợ các chuỗi video đan xen và độ phân giải cao hơn

- MPEG-2 sử dụng phương pháp ước lượng chuyển động phức tạp hơn (hỗ trợ cả ước lượng chuyển động theo khung và theo trường), để cải thiện độ chính xác của việc ước lượng chuyển động cho các chuỗi đan xen (bù chuyển động với các block 16x8 pixel)

- MPEG-2 bổ xung các mẫu scan và các chế độ DCT cho các chuỗi đan xen

- MPEG-2 bổ xung các kỹ thuật để cải thiện cho hiệu quả mã hoá video bao gồm lượng tử hoá với 10 bit, lượng tử hoá không tuyến tính và bảng VLC tốt hơn

- MPEG-2 hỗ trợ rất nhiều các chế độ mở rộng: không gian, thời gian và mở rộng SNR

- MPEG-2 có rất nhiều profile và level cho phép kết hợp thành nhiều ứng dụng khác nhau

Trang 30

H263: Được phát triển năm 1996 là một cải thiện cho H261 với mục tiêu là cải thiện

chất lượng cho việc truyền thong video tốc độ thấp H263 có thể cho phép videophone qua đường truyền dialup của điện thoại (28.8 kbps) Cải thiện chính của H263 so với H261 là:

- Bù chuyển động ½ pixel với phạm vi chuyển động lớn hơn, không giới hạn MV

ở các block biên Dự đoán chuyển động với kích cỡ thay đổi (16x16 và 8x8)

- Cải thiện mã hoá VLC với các bản mã được tối ưu cho tốc độ bit thấp

- H263 hỗ trợ 5 độ phân giải QCIF, CIF, SQCIF, 4CIF và 16CIF

- Để cải thiện cho việc truyền video H263 trên các mạng không tin cậy, một tập các công cụ được phát triển cho việc chống lỗi

MPEG-4: Được thiết kế cho các yêu cầu ứng dụng tương tác đa phương tiên trong khi

đồng thời hỗ trợ các ứng dụng truyền thống Tốc độ bit đặt ra từ 5-64 kbit/s cho các ứng dụng video di động và PSTN và lên tới 2 Mbit/s cho các ứng dụng TV/Film Do

đó MPEG-4 bao trùm cả MPEG-1 và MPEG-2 với hầu hết các ứng dụng Trong MPEG-4 các đối tượng video (VOP) tương ứng với các thực thể trong dòng bit cho phép một user có thể truy cập và điều khiển Một cảnh bao gồm nhiều VOP với hình dáng khác nhau, các VOP có thể được tác động chỉnh sửa và thay thế Khi chuỗi bit chỉ

có một VOP hình chữ nhật với kích cỡ cố định được sử dụng thì nó tương ứng với kỹ thuật mã hoá dựa trên khung Video MPEG-4 dựa trên khung tương tự như H263 nhưng hỗ trợ một số đặc tính cải thiện hiệu quả mã hoá MPEG-4 hỗ trợ 2 phương pháp lượng tử vô hương khác nhau là dạng MPEG và dạng H263 Trong dạng lượng tử MPEG (MPEG-2) cấp phát một bộ lượng tử cho mỗi hệ số trong một block trong khi phương pháp H263 sử dụng cùng một bộ lượng tử cho tất cả các hệ số AC Lượng tử các hệ số DC sử dụng thang phi tuyến đặc biệt là một hàm của tham số lượng tử Các

hệ số lượng tử sau đó được quết zigzag và được cấp phát các mã run-length như trong H263 MPEG4 có rất nhiều các profile

Trang 31

CHƯƠNG III: MÃ HÓA H264

Mục tiêu ban đầu của H264 là cung cấp các chức năng tương tự như của MPEG4

và H263+ nhưng H264 phải đảm bảo thực hiện được độ nén dữ liệu cao hơn và tăng cường khả năng hỗ trợ tương thích với các ứng dụng truyền trên lớp mạng trong các hệ thống mạng Chương này trình bày các vấn đề đặt ra và thiết kế của mã H264

1 Các đặc điểm nổi bật trong thiết kế của mã H264

Các thiết kế làm cho H264 tạo ra sự thân thiện với các mạng:

¾ Cấu trúc dữ liệu sau mã hóa thành các gói dữ liệu logic được gọi là NALU (Network abstruct layer unit) Cấu trúc cú pháp NALU cho phép tuỳ biến lớn hơn cho các mạng khác nhau

¾ Kích cỡ slice mềm dẻo: Không giống như cấu trúc slice cứng nhắc trong MPEG-2 các kích cỡ slice trong H264 rất mềm dẻo để đáp ứng cho các yêu cầu về phân vùng ảnh, trễ mã hoá, dự đoán chuyển động trong các ứng dụng khác nhau

¾ Sắp thứ tự các Macroblock mềm dẻo (FMO): là một khả năng mới trong H264 để phân mảnh hình thành các vùng được gọi là các slice group Mỗi slice sẽ trở thành một tập con của một slice group, các slice có thể giải mã độc lập được Khi sử dụng hiệu quả FMO, có thể làm tăng độ vững chắc một cách đáng kể cho các tổn thất dữ liệu bằng cách quản lý mối quan hệ không gian giữa các vùng được mã hoá trong mỗi slice

Trang 32

¾ Sắp thứ tự các slice tùy ý (ASO): Do mỗi slice của một ảnh có thể được giải mã một cách độc lập với các slice khác của ảnh, thiết kế H264 cho phép gửi và nhận các slice này của ảnh theo bất cứ thứ tự nào tương ứng với chúng Khả năng này được đề cập đầu tiên trong phần bổ xung của H263+ để cải thiện trễ end to end trong các ứng dụng thời gian thực đặc biệt khi được sử dụng tên các mạng có trật tự phân phát dữ liệu tự do như các mạng gói, mạng internet

Các thiết kế làm cho H264 có độ nén cao hơn mà vẫn đảm bảo chất lượng tương đương với các chuẩn khác trước nó Không có phần tử nào trong VLC là thành phần chủ yếu cho việc cải thiện đáng kể hiệu quả nén so với các chuẩn trước mà hiệu quả nén được tăng lên đáng kể là do nhiều cải thiện nhỏ trong bộ mã hóa H264 tạo nên:

¾ Kích cỡ block bù chuyển động có thể thay với các kích cỡ block nhỏ: H264 hỗ trợ linh hoạt hơn trong việc lựa chọn các kích cỡ bù chuyển động hơn các chuẩn trước

đó với kích cỡ block bù chuyển động tối thiểu cho độ chói là 4x4

¾ Bù chuyển động chính xác tới ¼ mẫu: Hầu hết các chuẩn mã hoá trước cho phép vecto chuyển động chính xác tới ½ mẫu H264 cải thiện độ chính xác của vecto chuyển động tới ¼ mẫu, tính năng này kế thừa từ tính năng nâng cao của MPEG-4 Visual (part 2) nhưng H264 đã giảm độ phức trong tiến trình nội suy hơn so với MPEG-4 Visual (part 2)

¾ Vecto chuyển động có thể vượt quá các biên của ảnh: Trong khi vecto chuyển động trong MPEG-2 và các chuẩn trước đó yêu cầu chỉ ra vùng trong hình tham chiếu cho việc dự đoán chuyển động, H264 kế thừa kỹ thuật ngoại suy biên hình trong H263 để có thể tăng hiệu quả dự đoán chuyển động

¾ Bù chuyển động với nhiều ảnh tham chiếu: Các ảnh dự đoán mã hoá trong MPEG-2

và các chuẩn trước chỉ sử dụng 1 ảnh trước đó để dự đoán các giá trị trong ảnh đầu vào Thiết kế mới này mở rộng từ kỹ thuật lựa chọn ảnh tham chiếu trong tính năng nâng cao của H263++ có thể mã hoã hiệu quả hơn bằng cách cho phép bộ mã hoá

sử dụng nhiều ảnh tham chiếu để dự đoán chuyển động Song song với khả năng sử

Trang 33

dụng nhiều ảnh tham chiếu là việc áp dụng dự đoán chuyển động 2 hướng (sử dụng cho các khung B)

¾ Tách biệt mối quan hệ giữa thứ tự tham chiếu khỏi thứ tự hiển thị: trong các chuẩn trước có một sự phụ thuộc rất chặt chẽ giữa trật tự ảnh cho các mục đích tham chiếu

bù chuyển động và trật tự của ảnh cho mục đích hiển thị Trong H264, các giới hạn này bị loại bỏ cho phép bộ mã hoá chọn trật tự các ảnh cho việc tham chiếu và cho mục đích hiển thị ở mức độ mềm dẻo cao chỉ ràng buộc bởi giới hạn về tổng dung lượng bộ nhớ được sử dụng để đảm bảo khả năng giải mã Việc loại bỏ giới hạn này cũng cho phép loại bỏ trễ phụ được kết hợp với mã hoá hai chiều trước đó

¾ Tách biệt phương pháp biểu diễn ảnh với khả năng tham chiếu ảnh:Trong các chuẩn trước đó các bức ảnh được tham chiếu 2 chiều (ảnh B) không được sử dụng cho việc dự đoán các ảnh khác trong chuỗi video H264 loại bỏ sự ràng buộc này làm cho việc mã hóa mềm dẻo hơn

¾ Dự đoán có trọng số: làm một cải tiến mới trong H264 cho phép tín hiệu dự đoán

bù chuyển động được đặt trọng số và bù bằng những lượng nhất định được chỉ ra bởi bộ mã hoá Điều này có thể cải thiện hiệu quả mã hoá rất lớn cho các cảnh mờ

và có thể được sử dụng mềm dẻo cho các mục đích khác nhau

¾ Cải thiện suy luận chuyển động trong vùng mã hóa trực tiếp và loại bỏ (skipped và direct): Trong các chuẩn mã hóa trước các vùng sử dụng mã hóa skipped và direct thì không chuyển động trong nội dung cảnh Điều này tạo ra ảnh hưởng xấu khi video mã hóa có chứa chuyển động chung H264 được thiết kế có thể suyluận chuyển đọng trong các vùng skipped và direct này (bù chuyển động direct kế thừa

từ MPEG-4)

¾ Dự đoán không gian trực tiếp cho mã hóa intra: Một kỹ thuật mới của việc ngoại suy các biên của những phần được mã hoá trước của ảnh hiện tại được áp dụng trong các vùng ảnh được mã hoá intra Điều này cải thiện chất lượng của tín hiệu dự đoán và cũng cho phép dự đoán từ các vùng lân cận mà chưa được mã hoá sử dụng

Trang 34

mã hoá intra (Điều này là không thể khi sử dụng phương pháp dự đoán miền transform trong MPEG-4 Visual)

¾ Chuyển đổi miền không gian kích cỡ block nhỏ: Các chuẩn mã hoá trước sử dụng kích cỡ block chuyển đổi là 8x8 trong khi thiết kế mới của H264 cơ bản dựa trên chuyển đổi 4x4 Điều này cho phép bộ mã hoá biểu diễn các tín hiệu trong một hình dạng có sự tương thích cục bộ cao hơn làm giảm các thành phần lạ Các block nhỏ cũng chỉ được điều chỉnh một cách chừng mực bằng việc nâng cao khả năng dự đoán nội dung của video sử dụng kỹ thuật này tốt hơn

¾ Chuyển đổi không gian block phân cấp: Trong khi hầu hết các trường hợp sử dụng kích cỡ block chuyển đổi nhỏ 4x4 là có cảm giác là có ích thì có một số vùng tín hiệu có đủ tương quan để có thể sử dụng má hóa block lớn hơn H264 cho phép 2 cách: 1) bằng việc sử dụng chuyển đổi phân cấp để mở rộng kích cỡ block hiệu quả

sử dụng cho thông tin màu tần số thấp với ma trận 8x8 2) băng cách cho phép bộ

mã hoá lựa chọn một kiểu mã hoá đặc biệt cho mã hoá intra, cho phép mở rộng độ dài của chuyển đổi độ chói cho thông tin tần số thấp tới kích cỡ block 16x16 và tương tự với thành phần tín hiệu đại điện cho tín hiệu màu cũng vậy

¾ Mã hóa thuật toán entropy: phương pháp mã hóa entropy nâng cao là mã hóa thuật toán được đưa vào bộ mã hóa H264 để tạo ra khả năng mã hóa entropy mạnh hơn

đó là mã hóa CABAC trong khi trong H263 chỉ là một tính năng mở rộng

¾ Context-adaptive entropy coding: 2 phương pháp mã hóa entropy được áp dụng trong H264 là CAVLC (context-adaptive variable-length coding) và CABAC (…)

Cả 2 phương pháp này đều sử dụng tương thích nội dung để cải thiện hiệu quả thực hiện mã hóa so với các chuẩn trước

¾ Data Partitioning: Do một số thông tin biển diễn cho các vùng (vecto chuyển động

và các thông tin dự đoán khác) quan trong hơn nhiều thông tin khác biểu diễn nội dung video do đó H264 cho phép cú pháp của mỗi slice được tách làm 3 phần khác nhau cho việc truyền, phụ thuộc vào sự phân nhóm các phần tử cú pháp Tính năng này kế thừa từ MPEG-4 và phần mở rộng của H263++

Trang 35

¾ Bù chuyển động có kích cỡ block thay đổi: H264 hỗ trợ mềm dẻo hơn trong việc lựa chọn kích cỡ bù chuyển động bù chuyển với kích cỡ nhỏ nhất là các block có kích cỡ 4x4 điểm ảnh

¾ Bù chuyển động chính xác tới ¼ pixel: hầu hết các chuẩn trước chỉ cho phép vecto chuyển động chính xác tới ½ pixel thì H264 kế thừa một tính năng mở rộng của MPEG-4 với độ chính xác của vecto chuyển động lên tới ¼ pixel nhưng giảm sự phức tạp của tiến trình nội suy so với chuẩn trước đó

¾ Vecto chuyển động có thể tới tận các biên của ảnh Trong khi vecto chuyển động của MPEG-2 và các chuyẩn mã hóa trước đó yêu cầu chỉ ra vùng trong khung ảnh tham chiếu được mã hóa trước cho dự đoán chuyển động thì H264 kế thừa kỹ thuật ngoại suy biên ảnh của H263 (đây là một tính năng mở rộng của H263)

1 Cấu trúc của bộ mã hoá H264

Chuẩn H264 được thiết kế đảm bảo giải pháp kỹ thuật phải đáp ứng tối thiểu các ứng dụng sau:

- Truyền hình quản bá qua các truyền dẫn khác nhau như cáp (cáp quang, cáp đồng trục và cả cáp đồng với DSL), vệ tinh, vô tuyến mặt đất

- Có thể tương tác được với các ứng dụng lưu trữ như thiết bị quang, từ, DVD …

- Các dịch vụ hội nghị trên ISDN, Ethernet, LAN, DSL, mạng vô tuyến …

- Các dịch vụ đa phương tiện và Video theo yêu cầu trên các mạng ISDN, DSL,

vô tuyến, LAN, Ethernet …

Để đáp ứng các yêu cầu dịch vụ trên H264 có thiết kế mềm dẻo và tuy biến với các mạng khác nhau bao gồm 2 lớp chính: Lớp mã hoá video (VLC) thực hiện nén dữ liệu video đáp ứng yêu cầu của ứng dụng Lớp mạng trừu tượng (NAL) được thiết kế nhằm mục đích cung cấp khả năng thân thiện với mạng cho phép tuỳ biến dễ dàng và hiệu quả Lớp mạng trừu tượng có khả năng tương thích dễ dàng với dữ liệu của lớp truyền tải

Trang 36

Hình 3.1 Cấu trúc bộ mã hoá H264/AVC

2 Lớp mã hoá video (VLC)

2.1 Cấu trúc khung ảnh mã hóa trong lớp VLC của H264

Cũng như các chuẩn video trước lớp VLC của H264 được thiết kế theo phương pháp mã hoá video lai ghép dựa trên các khối nhỏ (block) Mỗi ảnh được mã hoá được biểu diển bằng các khối nhỏ được gọi là Macroblock (như được thể hiện trong hình … ) Thuật toán mã hóa nguồn cơ bản của H264 là sự kết hợp giữa dự đoán liên khung để khai thác sự dư thừa thống kê theo thời gian và mã hóa chuyển đổi (transform) dựa trên

dự đoán dư thừa để khai thác sự dư thừa thống kê về không gian Không có phần tử nào trong VLC là thành phần chủ yếu cho việc cải thiện đáng kể hiệu quả nén so với các chuẩn trước mà hiệu quả nén được tăng lên đáng kể là do nhiều cải thiện nhỏ trong

bộ mã hóa H264 tạo nên

Trang 37

Chuẩn mã hoá H264 cũng như các chuẩn mã hoá trước đó sử dụng gian màu YCbCr cho việc lấy mẫu ảnh nhằm khai thác vấn đề giảm độ phân giải của các thành phần Cb và Cr do cơ quan trực giác của con người ít nhậy cảm với thành phần màu hơn

so với thành phần độ chói Trong 3 profile được đề xuất đầu tiên (baseline, main và extend) thì H264 sử dụng lấy mẫu trong không gian màu YCbCr theo kiểu 4:2:0 và sử dụng 8 bít cho việc mã hoá mỗi giá trị mẫu Tuy nhiên với các ứng dụng đòi hỏi chất lượng cao thì H264 có một số định dạng khác sử dụng lấy mẫu 4:2:2 hoặc 4:4:4 với số lượng bít dành cho mã hoá 1 giá trị mẫu từ 8-12 bít

Các hình trong H264 có thể được phân thành một hay nhiều Slice group, mỗi slice group có thể có 1 hoặc nhiều slice, mỗi slice gồm một chuỗi các MB được xử lý cùng một kiểu quét Các slice có thể được truyền và giải mã một cách độc lập với các slice khác (ASO, arbitrary slice ordering) của ảnh điều này làm cải thiện delay của các ứng dụng realtime khi truyền trên mạng gói hiện nay Các MB trong slice có thể sử dụng FMO (flexible macroblock ordering) hoặc không tuỳ vào các ứng dụng Khi slice

sử dụng FMO thì nó sẽ thay đổi cách các hình được chia nhỏ thành các slice và MB bằng cách sử dụng cấu trúc slice group, slice và macroblock một cách mềm dẻo trên hình mỗi slice có thể sẽ được áp dụng các cách ánh xạ MB vào các slice group khác nhau như là interlive, dispersed, foreground, boxout, raster, wipe Trường hợp không

sử dụng FMO là trường hợp đặc biệt chỉ có 1 slice group

Hình 3.2 Ảnh sử dụng nhiều slice group

Trang 38

a) kiểu interleave b) kiểu disperse c) kiểu foreground và background

d) kiểu box out e) kiểu raster f) kiểu wipe

Hình 3.3 Các kiểu ánh xạ sử dụng cho slice group

Hình 3.4 Ảnh sử dụng 1 slice group Các slice của ảnh có thể được mã hóa sử dụng các kiểu mã hóa khác nhau do đó chúng được chia thành các loại slice tương ứng như được liệt kê ở bảng dưới đây:

Loại Slice Mô tả

Trang 39

I (Intra) Chỉ bao gồm khối macro I (mỗi khối hoặc khối macro được dự đoán từ

dữ liệu được mã hóa trước đó trong cùng một slide)

P (Predicted) Bao gồm khối macro P (mỗi khối macro hoặc vùng macro được dự

đoán từ danh sách các ảnh trong list 0 hoặc là khối macro I

B (Bidirection) Bao gồm các khối macro B( mỗi khối hay một vùng khối macro được

dự đoán từ danh sách ảnh list 0 hoặc list 1) hoặc là khối macro I

SP (Swiching P) Tạo điều kiện thuận lợi cho việc chuyển đổi giữa các luồng dữ liệu đã

được mã hoá, chứa macroblock loại P hoặc I

SI (Swiching I) Tạo điều kiện thuận lợi cho việc chuyển đổi giữa các luồng dữ liệu đã

được mã hoá, chứa macroblock loại SI (một dạng đặc biệt của macroblock mã hoá kiểu intra)

Bảng 3.1 Các loại slice

Các slice bao gồm nhiều MB và mỗi MB trong slice lại có thể phân nhỏ thành các block nhỏ hơn để mã hóa đồng thời các Slice trong 1 hình được mã hóa độc lập với nhau nên để giải mã được 1 slice ở bên thu thì dữ liệu mã hóa cho 1 slice phải được cấu trúc theo một cú pháp chặt chẽ cho cả slice và macroblock

Trang 40

Mb_type Xác định liệu khối macro là loại I hay P, xác định kích cỡ một

vùng trong khối macro Mb_pred Xác định chế độ mã hóa trong ( khối macro intra), danh sách

tham chiếu List 0 hay List 1 và mã hóa các vector chuyển động khác nhau cho mỗi phần của khối macro

Sub_mp_pred Xác định kích cỡ khối macro con Danh sách tham chiếu List 0

hay 1 cho mỗi vùng khối macro và mã hóa các vector chuyển động khác nhau cho mỗi vùng con

Coded_block_pattern Xác định khỗi 8x8 nào ( độ chói hay sắc) sẽ mang hệ số biến

đổi Mb_qp_delta Thay đổi tham số lượng tử hóa

Residual Hệ số biến đổi đã được mã hóa ứng với mẫu dư thừa sau khi dự

Ngày đăng: 22/07/2017, 22:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[8] J. Wang, Z. Chen, Y. He, Y. Chen, “A MAD-based rate control strategy,” Document JVT-D070, Klagenfurt, Austria, July 2002 Sách, tạp chí
Tiêu đề: A MAD-based rate control strategy
[9] C. E. SHANNON, A Mathematical Theory of Communication, Reprinted with corrections from The Bell System Technical Journal,Vol. 27, pp. 379–423, 623–656, July, October, 1948 Sách, tạp chí
Tiêu đề: The Bell System Technical Journal
[10] Berger T 1971 Rate Distortion Theory: A Mathematical Basis for Data Compression (Englewood Cliffs, NJ: Prentice-Hall) Sách, tạp chí
Tiêu đề: Berger" T "1971" Rate "Distortion
[11] “MPEG Video Test Model 5,” Draft, ISO/IEC JTCI/SC29/WG11, MPEG93/457, Apr. 1993 Sách, tạp chí
Tiêu đề: MPEG Video Test Model 5
[13] J. Ribas-Corbera and S. Lei, “Rate control for low-delay video communications”, ITU Study Group 16, Video Coding Experts Group, Document Q15-A-20, Portland, June 97 Sách, tạp chí
Tiêu đề: Rate control for low-delay video communications
[14] T. M. Cover, J. A. Thomas, “Elements of Information Theory”Wiley 1991 Sách, tạp chí
Tiêu đề: Elements of Information Theory
[15] T.Chiang and Y.-Q. Zhang, “A new rate control scheme using quadratic rate- distortion modeling,” IEEE Trans. Circuits Syst. Video Technol., vol. 7, pp. 246–250, Feb. 1997 Sách, tạp chí
Tiêu đề: A new rate control scheme using quadratic rate-distortion modeling,” "IEEE Trans. Circuits Syst. Video Technol
[16] H.-J. Lee, T.Chiang, and Y.-Q. Zhang, “Scalable rate control for MPEG-4 video,” IEEE Trans. Circuits Syst. Video Technol., vol. 10, pp. 878–894, Sept. 2000 Sách, tạp chí
Tiêu đề: Scalable rate control for MPEG-4 video,” "IEEE Trans. Circuits Syst. Video Technol
[1] Iain E. G. Richardson, H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia Khác
[2] ISO/IEC 14496-10 and ITU-T Rec. H.264, Advanced Video Coding, 2003 Khác
[3] T.Wiegand, G. Sullivan, G. Bjontegaard and A. Luthra, Overviewof the H.264 /AV CVideo Coding Standard, IEEE Transactions on Circuits and Systems for Video Technology, to be published in 2003 Khác
[4] ITU-T Rec. H.264 (03/2005) Advanced video coding for generic audiovisual services Khác
[7] Institute of Geographical Sciences and Natural Resources Research, Chinese Academy of Sciences, Yuan Wu, Lin Shouxun, Zhang, China, “Optimum Bit Khác
[12] Video Codec Test Model, Near-Term, Version 8 (TMN8), Release 0, ITU-T Study Group 16, Video Expert Group, Document Q15-A-59, Jun. 1997 Khác
[17] Siwei Ma, Wen Gao, Debin Zhao, Yan Lu, A Study on the Quantization Scheme in H.264/AVC and Its Application to Rate Control, Advances in Multimedia Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w