Giải pháp lựa chọn chuẩn nén hình ảnh

Một phần của tài liệu Công nghệ IPTV trên mạng xDSL luận văn tốt nghiệp đại hoc (Trang 45 - 62)

CÁC GIẢI PHÁP KỸ THUẬT CÔNG NGHỆ ĐỂ TRIỂN KHAI IPTV TRÊN MẠNG xDSL

3.1.Giải pháp lựa chọn chuẩn nén hình ảnh

Nén cho phép các nhà cung cấip dịch vụ truyền các kênh hình và tiếng với chất lượng cao qua mạng IP băng rộng. Do mắt người không thể phân biệt được toàn bộ các phần của hình ảnh. Do đó việc nén sẽ làm giảm độ lớn của tín hiệu ban đầu bằng cách bỏ bớt các phần của hình ảnh.

3.1.1. Nén MPEG

MPEG là một chuẩn nén được sử dụng rộng rãi trong thông tin vệ tinh, truyền hình cáp và trong các hệ thống truyền hình mặt đất. MPEG (Moving Pictures Expert Group) được thành lập nhằm phát triển các kỹ thuật nén cho phù hợp với việc truyền hình ảnh. Từ khi được thành lập, MPEG đã đưa ra các chuẩn nén như: MPEG-1, MPEG-2, MPEG-4 (Part 2 và Part 10). Trong các chuẩn này thì MPEG-2 và MPEG-4 Part 10 được sử dụng rộng rãi trong IPTV.

3.1.1.1. Chuẩn MPEG-2

MPEG 2 là một công nghệ đạt được thành công lớn và là một chuẩn nén có ưu thế vượt trội dành cho truyền hình số được truyền qua nhiều mạng truyền thông băng rộng. Chuẩn nén MPEG-2 được chia thành 2 loại nén hình và nén tiếng.

Nén hình: Video ở dạng cơ bản là 1 chuỗi các ảnh liên tục một frame được định nghĩa với một chuỗi bit header. Mắt người thường thấy thoải mái khi xem TV với tốc độ 25 hình/s. Sẽ không có lợi nếu phát với tốc độ nhanh hơn vì người xem không thể nhận ra sự khác biệt. do đó có thể dung lượng của những hình ảnh bằng cách nén chúng lại. Các bộ nén hình được sử dụng với mỗi frame mà vẫn giữ chất lượng hình ảnh cao.

3.1.1.2. Quá trình nén MPEG-2

Phần đầu tiên của nén bao gồm một quá trình tiền triển đồng bộ. Quá trình này cơ bản bao gồm việc làm giảm kích thước của các frame. Làm giảm kích thước của các frame chính là làm giảm số lượng bit, điều này cũng giúp giảm băng thông cần thiết để truyền tín hiệu. Tuy nhiên, quá trình này không phải không có trở ngại. Ví dụ: Sự giảm kích thước của khung có thể thường

xuyên gây ra những lỗi tỉ số cạnh (giống như sai tỉ lệ 4

3 hay 16

9 ) khi được thể hiện trên màn hình TV có độ phân giải thấp.

Phần 2 của quá trình nén tin hiệu là chia một frame ảnh ra thành các block có kích thước 8*8 pixel -khối mã hóa nhỏ nhất trong giải thuật của MPEG. Có 3 loại block: độ chói Y, thành phần màu đỏ Cr hoặc xanh Cb.

Các loại block thành phần màu mang thông tin về những màu khác nhau của hình ảnh trong khi độ chói mang thông tin về những phần màu đen hoặc trắng của hình ảnh.

Khi hoàn thành 2 phần trên, MPEG-2 sẽ thực hiện một hàm toán được gọi là biến đổi cosin rời rạc đối với mỗi block riêng biệt. Kết quả thu được là một ma trận hệ số 8*8. DCT sẽ biến đổi sự khác nhau về không gian thành các tần số khác nhau, nhưng không làm thay đổi các thông tin trong

block, các block ban đầu sẽ được tái tạo lại 1 cách chính xác sử dụng biến đổi ngược. Nguyên tắc thực hiện hàm này bao gồm việc chia các block thành các phần tùy theo mức độ quan trọng. Những phần quan trọng sẽ đươc giữ nguyên cho tới bước tiếp theo trong khi các phần còn lại sẽ bị giảm bớt. Điều này sẽ đảm bảo rằng mắt người không chú ý tới việc những phần không quan trọng của block bị bỏ bớt khi tốc bít bị hạn chế.

Bước tiếp theo trong MPEG-2 là quá trình lượng tử hóa. Quá trình lượng tử hóa dữ liệu số là quá trình làm giảm số lượng bít của các block. Mức lượng tử đối với mỗi tìn hiệu video là rất quan trọng.

Khi tất cả các block trong frame đều đã được nén lại, MPEG-2 sẽ ngắt các frame thành một dạng mới gồm nhiều block gọi là macro block. Mỗi macro block có kích thướ c 16 nhân 16 chứa các block độ chói và block thành phần màu. Nếu có sự khác biệt giữa frame cuối cùng và frame hiện tại, các thiết bị nén MPEG-2 sẽ chuyển những block mới này tới một vị trí mới trên frame hiện tại. Điều này giúp không phải gửi đi những hình ảnh mới hoàn toàn, do đó có thể tích kiệm băng thông. Có 2 cách để thực hiện điều đó:

Nén theo không gian: làm giảm các bít trên từng frame riêng biệt, điều này có thể đạt được do các pixel luôn đứng cạnh nhau trong các frame thường có giá trị giống nhau. Do đó thay về mã hóa từng pixel riêng biệt. Kĩ thuật nén theo không gian này mã hóa sự khác biệt giữa các pixel cạnh nhau. Số lượng bít cần thiết để mã hóa những khác biệt này ít hơn số lượng bít cần thiết để mã hóa từng pixel riêng biệt.

Nén theo thời gian: làm giảm các bit giữa các frame liên tục. Trong quá trình sản xuất video có những thông tin được lặp lại giữa những frame liên tiếp.

Ví dụ: Nếu trên hình có một bức tường, bức tường vẫn xuất hiện liên tục trong 30 hình tiếp theo mà không thay đổi (bức tường đó không thay đổi trong vòng 1s). Thay vì mã hóa 30 lần liên tục trong 1s nên thời gian chỉ gửi đi các thông tin dự đoán chuyển động giữa những frame hình, trong trường hợp của bức tường trên, dự đoán chuyển động được đặt = 0.

Có nhiều phuơng thức khác nhau để nén một frame hình. Ví dụ với một frame hình có độ phức tạp cao thì cần phương pháp nén có yếu tố nén theo không gian thấp bởi vì chỉ có một phần rất nhỏ các pixel được lặp lại. Nếu tốc độ bit có sự thay đổi lớn thì khó có thể truyền đi trong mạng IP, vì thế nhiều bộ mã hóa bao gồm cả chức năng đệm để có thể điều khiển và quản lí tốc độ chung mà tại đó các bit được truyền đi tới tầng tiếp theo của hệ thống sản xuất video.

Bước tiếp theo của quá trình nén MPEG-2 là mã hóa các macroblock thành các slice. Slice là một chuỗi ảnh đặt nằm ngang cạnh nhau từ trái sang phải. Nhiều slice kết hợp với nhau tạo thành một hình. Mỗi slice được mã hóa độc lập với nhau để hạn chế lỗi [1].

3.1.1.3. Các ảnh trong chuẩn nén MPEG-2 Chuẩn nén MPEG-2 định nghĩa 3 loại ảnh:

I-frame (Intra-frame) được mã hóa riêng biệt không phụ thuộc các frame trước đó hoặc tiếp theo. Mã hóa theo hệ thống được sử dụng gần giống như nén JPEG. Đây là frame độc lập và được sử dụng để tạo ra các loại frame khác.

P-frame (forward predicted frame) khung dự đoán ảnh tiếp theo là khung dự đoán ảnh dựa trên các frame I trước đó. MPEG-2 không thực sự mã hóa ảnh mà chứa các thông tin về chuyển động cho phép IPTVCD có thể tái tạo lại frame. P-frame yêu cầu ít băng thông hơn I-frame, điều này là yếu tố quan trọng đối với mạng dựa trên IPTV.

B-frame (Bi-directional predicted frame) khung dự đoán hướng: B là frame đc tạo thành từ việc kết hợp các thông tin từ cả I-frame và P-frame. Mã hóa B-frame thì tương tự với P-frame, ngoại trừ các vectơ chuyển động phụ thuộc vào các vùng trong các khung tham khảo sau đó. B-frame chiếm ít dung lượng hơn là I-frame va P-frame. Vì thế dòng MPEG video gồm nhiều B-frame thì chiếm dung lượng thấp hơn so với dòng chứa các frame I va P. Thậm chí, B-frame giúp làm tối thiểu băng thông cần thiết đối với các dòng MPEG video. Tuy nhiên, B-frame cũng có hạn chế đó là độ trễ. Do IPTVCD phải kiểm tra hai khung trước và sau trước khi tạo ra B-frame.

3 loại ảnh trên kết hợp với nhau tạo thành một chuỗi các frame được gọi là nhóm ảnh (GOP). Mỗi nhóm ảnh bắt đầu bằng một frame I và có một số các frame B và P. Mỗi nhóm ảnh MPEG có cấu trúc như sau:

[I B B B P B B B P B B B P B B B P]

Mỗi nhóm ảnh cần bắt đầu với một khung I, mặc dù kích thước của mỗi nhóm ảnh là khác nhau, nhưng trung bình mỗi nhóm ảnh trong IPTV có khoảng 12 đến 15frame. Mỗi cấu trúc của một nhóm ảnh thông thường có thể được miêu tả bởi 2 thông số: N: số ảnh trong một nhóm và M: khoảng cách giữa các frame. Các nhóm ảnh được chia thành 2 loại: nhóm đóng và nhóm mở. Với nhóm đóng, khung B cuối cùng không yêu cầu khung I đầu tiên cho nhóm ảnh tiếp theo để giải mã, trong khi với nhóm mở cần yêu cầu khung I cho nhóm ảnh tiếp theo. Các nhóm ảnh sau đó được kết hợp với nhau để tạo thành dòng video. Mỗi dòng video bắt đầu biết một đoạn mã, theo sau đó là một header và kết thúc với một mã duy nhất.

Thứ tự các khung được truyền đi trên mạng băng rộng thì khác với thứ tự các khung trong chuối bit đầu vào của bộ mã hóa. Bởi vì bộ giải mã trong IPTVCD cần xử lý các frame I và P trước khi tạo ra khung B. Mối quan hệ tổng thể giữa các chuỗi ảnh, ảnh, các slice, các khối macro, các khối và các điểm ảnh được minh họa ở hình 3.1 sau.

Mặc dù MPEG-2 được sử dụng trong truyền hình cáp và vệ tinh, nhưng MPEG-2 có nhưng hạn chế đối với các mạng có băng thông giới hạn. Do đó một công nghệ nén mới với nhiều tính năng đã được phát triển trong nhưng năm gần đây vơi mục đích truyền video qua mạng băng thông giới hạn. MPEG-4 part 10 được sử dụng trong hạ tầng mạng IPTV. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.1. Cấu trúc dòng MPEG video 3.1.2. MPEG-4

Chuẩn MPEG-4 thành công hơn so với chuẩn MPEG-2. Thêm vào đó, MPEG-4 đưa ra 1 hệ thống hoàn chỉnh với các đặc điểm hỗ trợ các định dạng dữ liệu. MPEG-4 bao gồm rất nhiều phần có thể thực hiện cùng nhau hoặc riêng biệt.

- Phần 1: Systems

- Phần 2: Visual - Phần 3: Audio

- Phần 4: Xác định việc triển khai một MPEG-4

- Phần 5: Các phần mềm tham chiếu, đưa ra một nhóm các phần mềm tham chiếu quan trọng, được sử dụng để triển khai MPEG-4 và phục vụ như một ví dụ demo về các bước phải thực hiện khi triển khai.

- Phần 6: Khung chuẩn cung cấp truyền thông đa phương tiện tích hợp DMIF (Delivery Multimedia Integration Framework), xác định một giao diện giữa các ứng dụng và mạng/lưu trữ.

- Phần 7: Các đặc tính của một bộ mã hoá video tối ưu (bổ sung cho các phần mềm tham chiếu, nhưng không phải là các triển khai tối thiểu cần thiết).

- Phần 8: Giao vận (về nguyên tắc không được xác định trong chuẩn, nhưng phần 8 xác định cần ánh xạ như thế nào các dòng MPEG-4 vào giao vận IP)

- Phần 10: MPEG-4 Advanced Video Coding /H.264 là thành tựu mới nhất về nén video, trên cơ sở đồng bộ với khả năng tính toán và dung lượng bộ nhớ của các máy tính PC hiện nay, ứng dụng các phương pháp mã hoá phức tạp hơn nhiều các phương pháp trước đó và có thể thực hiện cả trong môi trường phần mềm và phần cứng

- Phần 11: Mô tả khung hình

- Phần 12: Định dạng file truyền thông ISO (ISO Media File Format) - Phần 13: Quản lý bản quyền nội dung IPMP (Intellectual Property Management and Protection Extensions)

- Phần 14: Định dạng file MP4 (trên cơ sở phần 12) - Phần 15: Định dạng file AVC (cũng trên cơ sở phần 12)

- Phần 16: AFX (Animation Framwork eXtensions) và MuW (Multi-user Worlds) 3.1.2.1. Công nghệ mã hoá video trong MPEG-4

Chuẩn MPEG-4 là một chuẩn động dễ thay đổi: với MPEG-4, các đối tượng khác nhau trong một khung hình có thể được mô tả, mã hoá và truyền đi một cách riêng biệt đến bộ giải mã trong các dòng cơ bản ES (Elementary Stream) khác nhau. Cũng nhờ xác định, tách và sử lý riêng các đối tượng (như nhạc nền, âm thanh xa gần, đồ vật, đối tượng ảnh video như con người hay động vật, nền khung hình…), nên người sử dụng có thể loại bỏ riêng từng đối tượng khỏi khuôn hình. Sự tổ hợp lại thành khung hình chỉ được thực hiện sau khi giải mã các đối tượng này [4].

Trên Hình 3.2 thể hiện một trường hợp điển hình của tổ hợp khuôn hình MPEG-4, cho thấy nhiều đối tượng (bàn, quả cầu, bảng đen, người hướng dẫn và audio) được đặt vào một hệ thống toạ độ không gian 3 chiều (3D) đối với vị trí người xem giả định. Các thiết bị mã hoá và giải mã video đều áp dụng sơ đồ mã hoá như nhau cho mỗi đối tượng video VO (Video Object) riêng biệt, nhờ vậy người sử dụng có thể thực hiện các hoạt động tương tác riêng với từng đối tượng (thay đổi tỷ lệ, di chuyển, kết nối, loại bỏ, bổ xung các đối tượng…) ngay tại vị trí giải mã hay mã hoá.

Hình 3.2. Cấu trúc bộ mã hóa và giải mã MPEG-4

Các bộ phận chức năng chính trong các thiết bị MPEG-4 bao gồm: - Bộ mã hoá hình dạng ngoài Shape Coder dùng để nén đoạn thông tin, giúp xác định khu vực và đường viền bao quanh đối tượng trong khung hình scene.

- Bộ dự đoán và tổng hợp động để giảm thông tin dư thừa theo thời gian. - Bộ mã kết cấu mặt ngoài Texture coder dùng để xử lý dữ liệu bên trong và các dữ liệu còn lại sau khi đã bù chuyển động.

Hình 3.3 là một ví dụ về mã hoá và tổng hợp khung hình video sử dụng trong MPEG-4. Nhiều đối tượng, như người, xe ô tô, nhà cửa, được tách ra khỏi video đầu vào. Mỗi đối tượng video sau đó được mã hoá bởi bộ mã hoá đối tượng video VO (video object) và sau đó được truyền đi trên mạng. Tại vị trí thu, những đối tượng này được giải mã riêng rẽ nhờ bộ giải mã VO và gửi đến bộ tổ hợp compositor. Người sử dụng có thể tương tác với thiết bị để cấu trúc lại khung hình gốc (a), hay để xử lý các đối tượng

tạo ra một khung hình khác (b). Ngoài ra, người sử dụng có thể download các đối tượng khác từ các thư viện cơ sở dữ liệu (có sẵn trên thiết bị hay từ xa thông qua mạng LAN, WAN hay Internet) để chèn thêm vào hay thay thế các đối tượng có trong khuôn hình gốc (c).

Hình 3.3. Mã hóa và tổng hợp khung hình trong MPEG-4

Để có thể thực hiện việc tổ hợp khung hình, MPEG-4 sử dụng một ngôn ngữ mô tả khung hình riêng, được gọi là Định dạng nhị phân cho các khung hình BiFS (Binary Format for Scenes). BiFS không chỉ mô tả ở đâu và khi nào các đối tượng xuất hiện trong khung hình, nó cũng mô tả cách thức hoạt động của đối tượng (làm cho một đối tượng xoay tròn hay chồng mờ hai đối tượng lên nhau) và cả điều kiện hoạt động đối tượng và tạo cho MPEG-4 có khả năng tương tác. Trong MPEG-4, tất cả các đối tượng có thể được mã hoá với sơ đồ mã hoá tối ưu riêng của nó - video được mã hoá theo kiểu video, text được mã hoá theo kiểu text, các đồ hoạ được mã hoá theo kiểu đồ hoạ - thay vì việc xử lý tất cả các phần tử ảnh pixels như là mã hoá video ảnh động.

Do các quá trình mã hoá đã được tối ưu hoá cho từng loại dữ liệu thích hợp, nên chuẩn MPEG-4 sẽ cho phép mã hoá với hiệu quả cao tín hiệu ảnh video, audio và cả các nội dung tổng hợp như các bộ mặt và cơ thể hoạt hình.

3.1.2.2. MPEG-4 Part 10

Cuối năm 2001, VCEG và MPEG đã thành lập JVT (Joint Video Team) có nhiệm vụ hoàn thành chuẩn nén mới và chính thức được thông qua với tên gọi là MPEG-4 Part 10 hoặc H.264/AVC vào tháng 3 năm 2003 [6].

3.1.2.2.1. Cấu trúc phân lớp của H.264/AVC

Với sự gia tăng các ứng dụng và dịch vụ trên nhiều mạng thì câu hỏi đặt ra là làm thế nào quản lí được các ứng dụng đó. Do vậy, chuẩn H.264/AVC phải có độ linh hoạt cao và có thể ứng dụng trên nhiều mạng

Một phần của tài liệu Công nghệ IPTV trên mạng xDSL luận văn tốt nghiệp đại hoc (Trang 45 - 62)