ISO/IEC 15444-13:2008
CÔNG NGHỆ THÔNG TIN - HỆ THỐNG MÃ HÓA HÌNH ẢNH JPEG 2000 - BỘ MÃ HÓA JPEG 2000 MỨC ĐẦU VÀO
Information technology - JPEG 2000 image coding system - An entry level JPEG 2000 encoder
Lời nói đầu
TCVN 11777-13:2018 hoàn toàn tương đương ISO/IEC-15444-13:2008.
TCVN 11777-13:2018 do Học viện Công nghệ Bưu chính Viễn thông biên soạn, Bộ Thông tin và Truyền thông đề nghị, Tổng cục Tiêu chuẩn Đo lường Chất lượng thẩm định, Bộ Khoa học và Công nghệ công bố.
CÔNG NGHỆ THÔNG TIN - HỆ THỐNG MÃ HÓA HÌNH ẢNH JPEG 2000 - BỘ MÃ HÓA JPEG 2000 MỨC ĐẦU VÀO
Information technology - JPEG 2000 image coding system - An entry level JPEG 2000 encoder
Tiêu chuẩn này định nghĩa một tập hợp các phương pháp nén tổn hao và không tổn hao đối với ảnh tĩnh số được mã hóa song mức, có tông màu xám liên tục, màu pha trộn hoặc tông màu liên tục. Tiêu chuẩn này:
- đặc tả các quy trình mã hóa có tính quy phạm nhưng không bắt buộc để biến đổi dữ liệu ảnh gốc thành dữ liệu ảnh nén JPEG 2000;
- đặc tả một tuyến mã hóa hoàn chỉnh để tạo ra một dòng mã phù hợp theo quy định tại Phần 1 Phụ lục A tiêu chuẩn ITU-T Rec T.800 | ISO / IEC 15.444-1;
- cung cấp hướng dẫn về quy trình mã hóa để biến đổi dữ liệu ảnh gốc thành dữ liệu ảnh nén;
- cung cấp hướng dẫn về cách thực hiện các quy trình mã hóa này trong thực tế.
Việc thực thi bộ mã hóa JPEG mức đầu vào phải:
- có tính quy phạm nhưng không bắt buộc; người thực hiện sẽ được phép lựa chọn công nghệ/ tuyến cần thiết để phù hợp với nhu cầu ứng dụng của họ;
- quy định thực hiện bộ mã hóa dòng mã JPEG 2000 Phần 1; thực hiện bộ mã hóa định dạng tập tin JP2;
- quy định một tuyến mã hóa hoàn chỉnh để tạo ra một dòng mã phù hợp theo quy định tại Phụ lục A của ITU-T Rec. T.800 | ISO / IEC 15.444-1:2004;
- bao gồm các công nghệ có trạng thái sở hữu trí tuệ rõ ràng được miễn phí bản quyền.
Tài liệu viện dẫn sau rất cần thiết cho việc áp dụng tiêu chuẩn này. Đối với các tài liệu viện dẫn ghi năm công bố thì áp dụng phiên bản được nêu. Đối với các tài liệu viện dẫn không ghi năm công bố thì áp dụng phiên bản mới nhất, bao gồm cả sửa đổi, bổ sung (nếu có).
ITU-T Recommendation T.81 (1992) | ISO/IEC 10918-1:1994, Information technology - Digital compression and coding of continuous-tone still images: Requirements and guidelines. (Công nghệ thông tin - Nén số và mã hóa ảnh tĩnh tông màu liên tục: Các yêu cầu và hướng dẫn).
ITU-T Recommendation T.84 (1996) | ISO/IEC 10918-3:1997, Information technology - Digital compression and coding of continuous-tone still images: Extensions (Công nghệ thông tin - Nén số và mã hóa ảnh tĩnh tông màu liên tục: Phần mở rộng).
ITU-T Recommendation T.86 (1998) | ISO/IEC 10918-4:1999, Information technology - Digital compression and coding of continuous-tone still images: Registration of JPEG Profiles, SPIFF Profiles, SPIFF Tags, SPIFF Colour Spaces, APPn Markers, SPIFF Compression Types and Registration Authorities (REGAUT) (Công nghệ thông tin - Nén số và mã hóa ảnh tĩnh tông màu liên tục: Đăng ký lý lịch JPEG, lý lịch SPIFF, quá trình SPIFF, không gian màu SPIFF, mã đánh dấu APPn, loại nén SPIFF và thẩm quyền đăng ký (REGAUT)).
ITU-T Recommendation T.87 (1998) | ISO/IEC 14495-1:2000, Information technology - Lossless and near-lossless compression of continuous-tone still images - Baseline (Công nghệ thông tin - Nén không tổn thất và gần như không tổn thất các ảnh tĩnh tông màu liên tục: Các vấn đề cơ bản).
ITU-T Recommendation T.88 (2000) | ISO/IEC 14492:2001, Information technology - Lossy/lossless coding of bi-level images (Công nghệ thông tin - Nén tổn thất/không tổn thất các ảnh hai mức).
ITU-T Recommendation T.800 (2002) | ISO/IEC 15444-1:2004, Information technology - JPEG 2000 image coding system: Core coding system (Công nghệ thông tin - Hệ thống mã hóa ảnh: Hệ thống mã hóa lõi).
ITU-T Recommendation T.801 (2002) | ISO/IEC 15444-2:2004, Information technology - JPEG 2000 Image coding system: Extensions (Công nghệ thông tin - Hệ thống mã hóa ảnh: Phần mở rộng).
ITU-T Recommendation T.803 (2002) | ISO/IEC 15444-4:2004, Information technology - JPEG 2000 image coding system: Conformance testing (Công nghệ thông tin - Hệ thống mã hóa ảnh: Bài đo tuân thủ).
ITU-T Recommendation T.804 (2002) | ISO/IEC 15444-5:2003, Information technology - JPEG 2000 image coding system: Reference software (Công nghệ thông tin - Hệ thống mã hóa ảnh: Phần mềm tham chiếu).
Tiêu chuẩn này sử dụng các thuật ngữ và định nghĩa sau đây.
3.1
Bộ lọc khả đảo 5-3 (5-3R)(5-3 reversible filter)
Một cặp bộ lọc đặc biệt được sử dụng trong biến đổi sóng con. Cặp bộ lọc khả đảo này có 5 nhánh thông thấp và 3 nhánh thông cao.
3.2
Bộ lọc không khả đảo 9-7 (9-7I) (9-7 irreversible filter)
Một cặp bộ lọc đặc biệt được sử dụng trong biến đổi sóng con. Cặp bộ lọc không khả đảo này có 9 nhánh thông thấp và 7 nhánh thông cao.
3.3
Bộ mã hóa số học (arithmetic coder)
Một bộ mã hóa entropy có thể biến đổi các chuỗi dữ liệu chiều dài thay đổi thành các mã chiều dài thay đổi (mã hóa) và ngược lại (giải mã).
3.4
Mặt phẳng bít (bit-plane)
Tổ chức bit dạng mảng hai chiều. Trong tiêu chuẩn này, mặt phẳng bít dùng để chỉ tất cả các bit có cùng biên độ trong tất cả các hệ số hoặc các mẫu. Chúng có thể là mặt phẳng bit trong thành phần ảnh, khối ảnh thành phần, khối mã, miền quan tâm, hoặc thành phần khác.
3.5
Dòng bit (bit stream)
Chuỗi các bít thực tế là kết quả của quá trình mã hóa một chuỗi các ký hiệu. Nó không bao gồm các mã đánh dấu hoặc đoạn mã đánh dấu trong các tiêu đề phần chính và tiêu đề phần khối ảnh hoặc mã đánh dấu EOC. Nó bao gồm tiêu đề gói bất kỳ, mã đánh dấu và đoạn mã đánh dấu trong dòng bít không có trong các tiêu đề phần chính hoặc phần khối ảnh.
3.6
Kênh (channel)
Thành phần logic của ảnh. Kênh có thể là đại diện trực tiếp của một thành phần ảnh từ dòng mã, hoặc có thể được tạo ra bởi việc ứng dụng bảng màu cho một thành phần ảnh từ dòng mã.
3.7
Quá trình loại bỏ dữ liệu thừa (cleanup pass)
Là một quá trình mã hóa được thực hiện trong một mặt phẳng bít đơn của một khối mã các hệ số. Có hai lần loại bỏ dữ liệu thừa, đó là quá trình mã hóa đầu tiên và duy nhất đối với mặt phẳng bít đầu tiên và quá trình mã hóa thứ ba và là cuối cùng của mọi mặt phẳng bít còn lại.
3.8
Dòng mã (codestream)
Tập hợp của một hoặc nhiều dòng bit và tiêu đề phần chính, các tiêu đề phần khối ảnh và mã đánh dấu EOC cần thiết để giải mã chúng và mở rộng vào trong dữ liệu ảnh. Đây là các dữ liệu ảnh dạng nén với tất cả các mã đánh dấu cần thiết để giải mã.
3.9
Khối mã (code-block)
Một nhóm hình chữ nhật gồm các hệ số từ các băng con giống nhau của một thành phần khối ảnh.
3.10
Bộ mã (coder)
Bộ phận thực hiện quy trình mã hóa hoặc giải mã.
3.11
Quá trình mã hóa (coding pass)
Là một quá trình hoàn chỉnh thông qua một khối mã mà áp dụng các giá trị hệ số và ngữ cảnh thích hợp. Có ba loại quá trình mã hóa: quá trình lan truyền có nghĩa, quá trình tinh chỉnh cường độ và quá trình loại bỏ dữ liệu thừa. Kết quả của từng quá trình là một dòng dữ liệu ảnh nén.
3.12
Hệ số (coefficient)
Các giá trị là kết quả của một phép biến đổi.
3.13
Thành phần ảnh (component)
Mảng hai chiều của các mẫu. Một ảnh điển hình bao gồm một vài thành phần như đỏ, xanh lá cây và xanh da trời.
3.14
Ngữ cảnh (context)
Hàm của hệ số được giải mã trước đó và được sử dụng làm điều kiện để giải mã hệ số hiện tại.
3.15
Bộ giải mã (decoder)
Bộ phận thực hiện quy trình giải mã, và quy trình biến đổi màu tùy chọn.
3.16
Quy trình giải mã (decoding process)
Quy trình mà đầu vào là toàn bộ hoặc một phần của một dòng mã và kết quả đầu ra là toàn bộ hoặc một phần của ảnh phục dựng.
3.17
Mức phân tách (decomposition level)
Một tập hợp các băng con mà mỗi hệ số có cùng tác động không gian hoặc khoảng cách so với mẫu gốc. Chúng bao gồm các băng con HL, LH và HH của phân tách băng con hai chiều. Đối với mức phân tách cuối cùng, bao gồm cả băng con LL.
3.18
Biến đổi sóng con rời rạc (discrete wavelet transformation (DWT))
Một biến đổi lặp đi lặp lại biến một tín hiệu thành hai hoặc nhiều tín hiệu được lọc và bị lược bỏ tương ứng với các dải tần khác nhau. Biến đổi này hoạt động trên các thành phần lấy mẫu rời rạc trong miền không gian.
3.19
Bộ mã hóa (encoder)
Bộ phận thực hiện cho quy trình mã hóa.
3.20
Quy trình mã hóa (encoding process)
Quy trình mà đầu vào là toàn bộ hoặc một phần của dữ liệu ảnh gốc và kết quả đầu ra là dòng mã.
3.21
Định dạng tập tin (file format)
Dòng mã, dữ liệu hỗ trợ bổ sung và thông tin không được chỉ định yêu cầu trực tiếp cho giải mã dòng mã. Các ví dụ về dữ liệu hỗ trợ bao gồm các trường văn bản cung cấp để đặt tên, thông tin bảo mật và lịch sử, dữ liệu để hỗ trợ cho việc phân bố nhiều dòng mã trong một tệp dữ liệu cho trước, và dữ liệu để hỗ trợ trao đổi giữa các nền tảng hoặc chuyển đổi sang các định dạng tệp tin khác.
3.22
Bit bảo vệ (guard bits)
Là những bit bổ sung quan trọng nhất được thêm vào để lấy mẫu dữ liệu.
3.23
Tiêu đề (header)
Là một phần của dòng mã chứa các mã đánh dấu và đoạn mã đánh dấu (tiêu đề phần chính và tiêu đề phần khối ảnh) hoặc phần báo hiệu của gói tin (tiêu đề gói tin) dòng mã.
3.24
Vùng ảnh (image area)
Phần hình chữ nhật của lưới tọa độ tham chiếu, được xác định bởi các độ lệch từ điểm gốc đến các phần mở rộng của lưới tọa độ tham chiếu.
3.25
Độ lệch vùng ảnh (image area offset)
Số lượng các điểm lưới tọa độ phía dưới và bên phải so với điểm gốc lưới tọa độ tham chiếu để xác định vị trí điểm gốc của vùng ảnh.
3.26
Không khả đảo (irreversible)
Tiến trình biến đổi, lũy tiến, hệ thống, lượng tử hóa hoặc các tiến trình khác mà không cho phép phục dựng bằng phương pháp không tổn hao do có lỗi lượng tử hóa hoặc lỗi hệ thống. Tiến trình không khả đảo chỉ có thể sử dụng trong nén tổn hao.
3.27
JP2
Tên của định dạng tập tin được định nghĩ trong tiêu chuẩn ITU-T Rec. T.800 | ISO/IEC 15444-1.
3.28
JPEG
Sử dụng để tham khảo toàn cầu cho quy trình mã hóa và giải mã theo các tiêu chuẩn quốc tế sau đây:
- Khuyến nghị ITU-T T.81 (1992) | ISO/IEC 10918-1:1994, Công nghệ thông tin - Nén số và mã hóa ảnh tĩnh có sắc độ liên tục: Yêu cầu và hướng dẫn.
- Khuyến nghị ITU-T T.83 (1994) | ISO/IEC 10918-2:1995, Công nghệ thông tin - Nén số và mã hóa ảnh tĩnh có tông màu liên tục: Bài đo tuân thủ.
- Khuyến nghị ITU-T T.84 (1996) | ISO/IEC 10918-3:1997, Công nghệ thông tin - Nén số và mã hóa ảnh tĩnh có tông màu liên tục: Phần mở rộng.
- Khuyến nghị ITU-T T.84 (1996)/Amd.1 (1999), Công nghệ thông tin - Nén số và mã hóa ảnh tĩnh có tông màu liên tục: Phần mở rộng - Sửa đổi 1: Các quy định cho phép đăng ký loại và phiên bản mới trong tiêu đề SPIFF.
Khuyến nghị ITU-T T.86 (1998) | ISO/IEC 10918-4, Công nghệ thông tin - Nén số và mã hóa ảnh tĩnh tông màu liên tục: Đăng ký lý lịch JPEG, lý lịch SPIFF, quá trình SPIFF, không gian màu SPIFF, mã đánh dấu APPn, loại nén SPIFF và thẩm quyền đăng ký (REGAUT)).
3.29
JPEG2000
Sử dụng để tham khảo toàn cầu cho quy trình mã hóa và giải mã theo tiêu chuẩn này và sự hiện diện của chúng trong các ứng dụng.
3.30
File JPX
Khuôn dạng file JPEG 2000 được định nghĩa bởi Rec. T.801 | ISO/IEC 15444-2:2004
3.31
Lớp (layer)
Tập hợp các dữ liệu ảnh nén từ các quy trình mã hóa của một hoặc nhiều khối mã của khối ảnh thành phần. Các lớp có một thứ tự cho quá trình mã hóa và giải mã, chúng phải được bảo toàn.
3.32
Không tổn hao (lossless)
Một thuật ngữ mô tả ảnh hưởng của quy trình mã hóa và giải mã toàn bộ ảnh trong đó đầu ra của quy trình giải mã giống hệt với đầu vào của quy trình mã hóa. Việc phục dựng không méo được đảm bảo. Tất cả quy trình mã hóa hoặc các bước được sử dụng cho quy trình mã hóa và giải mã có thể khả đảo.
3.33
Tổn hao (lossy)
Một thuật ngữ mô tả ảnh hưởng của quy trình mã hóa và giải mã toàn bộ ảnh trong đó đầu ra của quy trình giải mã không giống với đầu vào của quy trình mã hóa. Xuất hiện méo (xét về mặt toán học). Ít nhất một trong các quy trình mã hóa hoặc các bước được sử dụng cho quy trình mã hóa và giải mã không khả đảo.
3.34
Quá trình tinh chỉnh cường độ (magnitude refinement pass)
Một loại trong 3 loại quá trình mã hóa
3.35
Phần tiêu đề chính (main header)
Một nhóm các mã đánh dấu và đoạn mã đánh dấu tại đầu của dòng mã mô tả các tham số ảnh và tham số mã hóa mà có thể áp dụng cho mọi khối ảnh và khối ảnh thành phần.
3.36
Mã đánh dấu (marker)
Một mã hai byte trong đó byte đầu tiên là FF (0xFF) hệ thập lục phân và byte thứ hai là giá trị trong khoảng 1 (0x01) đến FE (0xFE) hệ thập lục phân.
3.37
Đoạn mã đánh dấu (marker segment)
Một mã đánh dấu và tập các tham số đi kèm (không rỗng).
3.38
Gói tin (packet)
Một phần của dòng bít bao gồm tiêu đề gói tin và dữ liệu ảnh nén từ một lớp của một phân khu ảnh ở một mức phân giải trong khối ảnh thành phần.
3.39
Tiêu đề gói tin (packet header)
Một phần của gói tin chứa các tín hiệu cần thiết để giải mã gói.
3.40
Phân khu ảnh (Precinct)
Vùng chữ nhật của khối ảnh thành phần, được biến đổi tại cùng mức phân giải được sử dụng để giới hạn kích thước gói tin.
3.41
Độ chính xác (precision)
Số lượng bít được chỉ định cho một mẫu, hệ số cụ thể hoặc khác biểu diễn dưới dạng số nhị phân khác.
3.42
Quá trình lũy tiến (progression)
Thứ tự trong một dòng mã trong đó quá trình giải mã từng bít liên tiếp đóng góp vào việc phục dựng ảnh "tốt hơn". Các xác định các tham số để phục dựng ảnh "tốt hơn" là một chức năng của ứng dụng. Một vài ví dụ của quá trình lũy tiến là tăng độ phân giải hoặc cải thiện độ chính xác mẫu.
3.43
Lượng tử hóa (quantization)
Một phương pháp giảm độ chính xác của các hệ số riêng nhằm giảm số lượng bit dùng cho mã hóa entropy. Nó tương đương với chức năng nén và mở rộng đồng thời cùng giải nén. Lượng tử hóa có thể thực hiện bởi một phép tính chi tiết với giá trị lượng tử cho trước hoặc bằng cách bỏ qua (cắt bỏ) các quá trình mã hóa từ dòng mã.
3.44.
Lưới tọa độ tham chiếu (reference grid)
Một mảng các điểm lưới tọa độ chữ nhật được sử dụng làm tham chiếu cho các mảng dữ liệu chữ nhật khác. Ví dụ bao gồm các thành phần ảnh và khối ảnh.
3.45
Vùng quan tâm (region of interest (ROI))
Tập hợp các hệ số được xem xét phù hợp với kích cỡ được định nghĩa bởi người dùng.
3.46
Mức phân giải (resolution level)
Tương đương với mức phân tách với một ngoại lệ: các băng con LL cũng là một mức phân giải riêng.
3.47
Khả đảo (reversible)
Quá trình biến đổi, lũy tiến hoặc quá trình khác không gặp lỗi có tính hệ thống hoặc lỗi lượng tử hóa, cho phép khôi phục tín hiệu không tổn hao.
3.48
Ký hiệu phân đoạn (segmentation symbol)
Một ký hiệu đặc biệt được mã hóa với ngữ cảnh thống nhất tại cuối mỗi quá trình mã hóa cho khả năng phục hồi lỗi.
3.49
Bỏ qua quá trình mã hóa số học lựa chọn (selective arithmetic coding bypass)
Một loại mã hóa mà một số quá trình mã hóa khối mã không được thực hiện bởi bộ mã hóa số học. Thay vào đó các bit được mã hóa được gắn trực tiếp với dòng bit mà không cần mã hóa.
3.50
Quá trình lan truyền có nghĩa (significance propagation pass)
Là một quá trình mã hóa được thực hiện trên một mặt phẳng bít của một khối mã các hệ số.
3.51
Băng con (subband)
Một nhóm các hệ số biến đổi là kết quả của một loạt các tính toán lọc thông thấp và thông cao, theo cả chiều ngang và chiều dọc.
3.52
Khối ảnh (tile)
Mảng các điểm lưới tọa độ chữ nhật trên lưới tọa độ tham chiếu, được ghi nhận bằng độ lệch từ điểm gốc lưới tọa độ tham chiếu và được xác định cả chiều cao và chiều rộng. Các khối ảnh có thể chồng lấn sử dụng để xác định khối ảnh thành phần.
3.53
Khối ảnh thành phần (tile-component)
Tất cả các mẫu của thành phần ảnh cho trước trong một khối ảnh.
3.54
Chỉ số khối ảnh (tile index)
Chỉ số của khối ảnh hiện tại có phạm vi từ không đến số lượng khối ảnh trừ một.
3.55
Một phần khối ảnh (tile-part)
Một đoạn của dòng mã với dữ liệu ảnh nén cho một số hoặc tất cả khối ảnh. Phần khối ảnh bao gồm ít nhất một cho đến tất cả các gói tin tạo nên khối ảnh được mã hóa.
3.56
Tiêu đề phần khối ảnh (tile-part header)
Một nhóm các mã đánh dấu và các đoạn mã đánh dấu tại đầu mỗi phần khối ảnh trong dòng mã mô tả các thông số mã hóa phần khối ảnh.
3.57
Chỉ số phần khối ảnh (tile-part index)
Chỉ số của phần khối ảnh hiện tại trong phạm vi từ không đến số lượng các phần khối ảnh trừ một trong một khối ảnh cho trước.
3.58
Biến đổi (transformation)
Ánh xạ toán học từ không gian tín hiệu này sang không gian tín hiệu khác.
4.1 Chữ viết tắt
1D-DWT |
Biến đổi Sóng con rời rạc 1 chiều |
One-dimensional Discrete Wavelet Transformation |
FDWT |
Biến đổi Sóng con rời rạc thuận |
Forward Disrete Wavelet Transformation |
ICC |
Hiệp hội màu quốc tế |
International Colour Consonrtium |
ICT |
Biến đổi thành phần không khả đảo |
Irreversible Conponent transformation |
IDWT |
Biến đổi Sóng con rời rạc nghịch |
Inverse Discrete Wavelet Transformation |
JPEG |
Nhóm chuyên gia nghiên cứu tiêu chuẩn về ảnh |
Joint Photographic Experts Group |
JURA |
Cơ quan đăng ký các tiện ích JPEG |
JPEG Utilities Registration Authority |
1D-DWT |
Biến đổi Sóng con rời rạc 1 chiều |
One-dimensional Discrete Wavelet Transformation |
RCT |
Biến đổi màu khả đảo |
Reversible Colour Transformation |
ROI |
Miền quan tâm |
Region of Interest |
4.2 Ký hiệu
0x---- Biểu thị một số thập lục phân
\nnn Một số có ba chữ số bắt đầu bằng một dấu gạch chéo ngược cho thấy giá trị của một byte duy nhất trong một chuỗi ký tự, trong đó ba chữ số xác định giá trị bát phân của byte
εb Số mũ của giá trị lượng tử cho một băng con quy định tại QCD và QCC
μb Phần định trị của giá trị lượng tử cho một băng con quy định tại QCD và QCC
Mb Số tối đa các mặt phẳng bit được mã hóa trong một khối mã cho trước
NL Số các mức phân giải theo quy định tại COD và COC
Rb Dải động của một mẫu thành phần theo quy định tại SIZ
COC Mã đánh dấu thành phần loại mã hóa
COD Mã đánh dấu mặc định loại mã hóa
COM Mã đánh dấu nhận xét
CRG Mã đánh dấu đăng ký thành phần
EOC Kết thúc mã đánh dấu dòng mã
EPH Kết thúc mã đánh dấu tiêu đề gói
PLM Mã đánh dấu tiêu đề chính, chiều dài gói
PLT Mã đánh dấu tiêu đề phần khối ảnh, chiều dài gói
POC Mã đánh dấu thay đổi thứ tự chuỗi
PPM Mã đánh dấu tiêu đề chính, các tiêu đề gói được đóng gói
PPT Mã đánh dấu tiêu đề phần khối ảnh, các tiêu đề gói được đóng gói
QCC Mã đánh dấu thành phần lượng tử hóa
QCD Mã đánh dấu mặc định lượng tử hóa
RGN Mã đánh dấu vùng được quan tâm
SIZ Mã đánh dấu kích thước khối ảnh và ảnh
SOC Khởi đầu của mã đánh dấu dòng mã
SOD Khởi đầu của mã đánh dấu dữ liệu
SOP Khởi đầu của mã đánh dấu gói
SOT Khởi đầu của mã đánh dấu phần khối ảnh
TLM Mã đánh dấu chiều dài phần khối ảnh
5.1 Dòng mã
Khái niệm dòng mã tương tự với dòng mã trong tiêu chuẩn ITU-T Rec. T.800 | ISO / IEC 15.444-1: 2004.
5.2 Nguyên lý mã hóa
Các thủ tục chính của tiêu chuẩn này được thể hiện trong Hình 1. Hình này cho thấy trình tự mã hóa - trình tự ngược lại của sơ đồ khối hình 5-1 trong ITU-T Rec. T.800 | ISO / IEC 15.444-1: 2004.
Hình 1 - Sơ đồ khối kỹ thuật
Các thủ tục cụ thể được thể hiện trong các phụ lục. Quy trình mã hóa được tóm tắt dưới đây.
Nhiều ảnh có đa thành phần. Kỹ thuật mã hóa trong tiêu chuẩn này biến đổi đa thành phần thành về tương quan với ba thành phần. Đây là chức năng duy nhất trong kỹ thuật này có liên quan các thành phần với nhau. (Xem Phụ lục G).
Các thành phần ảnh có thể được chia thành các khối ảnh. Những khối ảnh thành phần này là các mảng hình chữ nhật có liên quan đến vị trí của mỗi thành phần giống nhau tạo nên ảnh. Do đó, việc cắt lát ảnh tạo ra các khối ảnh thành phần được mã hóa độc lập với nhau. Khối ảnh này cung cấp một trong những phương pháp mã hóa một vùng ảnh. (Xem Phụ lục B).
Các khối ảnh thành phần bao gồm các mức phân tách khác nhau nhờ sử dụng biến đổi sóng con. Các mức phân tách này có chứa một số băng con gắn với các hệ số mô tả các đặc tính tần số không gian ngang và dọc của các khối ảnh thành phần gốc. Các hệ số cung cấp thông tin tần số về một khu vực cục bộ, chứ không phải là toàn bộ ảnh như biến đổi Fourier. Mức độ phân tách này liên quan đến mức độ phân tách tiếp theo bởi một yếu tố không gian của cả hai. Nghĩa là, mỗi mức phân tách liên tiếp của các băng con có khoảng một nửa phân giải theo chiều ngang và một nửa phân giải theo chiều dọc của mức độ phân tách trước đó. (Xem Phụ lục F).
Mặc dù có nhiều hệ số như các mẫu, nội dung thông tin có xu hướng tập trung chỉ trong một vài hệ số. Thông qua lượng tử, nội dung thông tin của một số lượng lớn các hệ số biên độ nhỏ được giảm đi (Phụ lục E). Việc xử lý thêm bởi các bộ mã hóa entropy làm giảm số lượng bit cần thiết để biểu diễn các hệ số lượng tử hóa này. (Xem Phụ lục C, D và B).
Các băng con riêng lẻ của một khối ảnh thành phần được chia thành các khối mã. Những mảng hình chữ nhật của các hệ số có thể được trích xuất độc lập. Các mặt phẳng bít riêng biệt của các hệ số trong một khối mã được mã hóa với ba quá trình mã hóa. Mỗi một quá trình mã hóa thu thập thông tin theo ngữ cảnh về các dữ liệu ảnh được nén theo mặt phẳng bít. (Xem Phụ lục D).
Một bộ mã hóa số học sử dụng thông tin ngữ cảnh này và trạng thái bên trong của nó để mã hóa các hệ số. (Xem Phụ lục C) Các kỹ thuật kết cuối khác nhau cho phép các mức khai thác độc lập dữ liệu ảnh được nén theo quá trình mã hóa khác nhau.
Dữ liệu ảnh nén theo dòng bít được tạo ra từ các quá trình mã hóa được nhóm vào các lớp. Các lớp là các nhóm bất kỳ của các quá trình mã hóa từ các khối mã. (Xem Phụ lục B)
Các hệ số băng con ở mỗi mức phân giải được phân chia thành các vùng hình chữ nhật được gọi là giới hạn. (Xem Phụ lục B).
Các gói tin là một đơn vị cơ bản của dòng mã nén. Gói tin chứa dữ liệu ảnh nén từ một lớp giới hạn mức phân giải của khối ảnh thành phần. Các gói cung cấp một phương pháp khác để trích xuất một vùng không gian độc lập với dòng mã. Các gói này được xen kẽ trong dòng mã bằng cách sử dụng một vài phương pháp khác nhau. (Xem Phụ lục B).
Một kỹ thuật cho phép dữ liệu ảnh nén tương ứng với các miền quan tâm trong các thành phần khối ảnh ban đầu được mã hóa và được đặt trước trong dòng bit. (Xem Phụ lục H).
Một số kỹ thuật cho phép phát hiện và che giấu lỗi bit có thể xảy ra trên một kênh truyền có nhiễu. (Xem Phụ lục D).
Dòng mã gắn với một khối ảnh, được tổ chức trong các gói tin và sắp xếp trong một hoặc nhiều phần khối ảnh. Một tiêu đề phần khối ảnh, bao gồm một loạt các mã đánh dấu và phân đoạn mã đánh dấu, chứa thông tin về các kỹ thuật khác nhau và loại mã hóa cần thiết để xác định vị trí, trích xuất, giải mã và tái tạo mỗi khối ảnh thành phần. Vào lúc bắt đầu của toàn bộ dòng mã là một tiêu đề chính, bao gồm các mã đánh dấu và các đoạn mã đánh dấu, cung cấp thông tin tương tự cũng như các thông tin về ảnh ban đầu. (Xem Phụ lục A).
Dòng mã nằm trong một khuôn dạng tập tin, cho phép các ứng dụng thể hiện ý nghĩa và các thông tin khác về ảnh. Khuôn dạng tập tin có thể chứa dữ liệu ngoài dòng mã. (Xem Phụ lục I).
Tóm lại, thủ tục phân chia ảnh ban đầu như sau:
- Các thành phần của ảnh được chia thành các khối ảnh chữ nhật. Khối ảnh thành phần là đơn vị cơ bản của ảnh ban đầu hoặc ảnh được phục dựng.
- Thực hiện việc biến đổi sóng con trên khối ảnh thành phần tạo ra các mức phân tách.
- Các mức phân tách được tạo thành từ các băng con của các hệ số mô tả đặc tính tần số của các vùng cục bộ (chứ không phải trên toàn bộ khối ảnh thành phần) của khối ảnh thành phần.
- Các băng con của các hệ số được lượng tử hóa và được tập hợp vào mảng chữ nhật của khối mã.
- Mỗi mặt phẳng bit của các hệ số trong một khối mã được mã hóa entropy vào ba loại quá trình mã hóa.
- Một số hệ số có thể được mã hóa trước cung cấp một miền quan tâm.
Tại thời điểm này, các dữ liệu ảnh biến đổi hoàn toàn thành dữ liệu ảnh nén. Các thủ tục ghép lại các đơn vị dòng bit vào dòng mã như sau:
- Dữ liệu ảnh nén từ quá trình mã hóa được tập hợp vào các lớp.
- Các gói tin bao gồm dữ liệu ảnh nén từ một khu vực của một lớp mức phân giải của khối ảnh thành phần. Các gói dữ liệu là đơn vị cơ bản của dữ liệu ảnh nén.
- Tất cả các gói dữ liệu từ một khối ảnh được đan xen trong một số các dãy và đặt trong một hoặc nhiều phần khối ảnh.
- Các phần khối ảnh có một tiêu đề phần khối ảnh mô tả và được đan xen trong một số dãy.
- Các dòng mã có một tiêu đề chính khi bắt đầu mô tả ảnh ban đầu và nhiều loại mã hóa, phân tách khác nhau.
- Khuôn dạng tập tin mô tả ý nghĩa của ảnh và các thành phần của nó trong ngữ cảnh ứng dụng.
6.1 Yêu cầu chung
Quy trình mã hóa biến đổi dữ liệu ảnh gốc thành dữ liệu ảnh nén. Phụ lục A, B, C, D, E, F, G và H mô tả quy trình mã hóa. Tất cả quy trình mã hóa được quy chuẩn. Bộ mã hóa là hiện thân của quy trình mã hóa. Trong tiêu chuẩn này, bộ mã hóa sẽ biến đổi dữ liệu ảnh gốc thành dữ liệu ảnh nén với các cú pháp dòng mã quy định tại Phụ lục A.
Không có yêu cầu thực hiện cụ thể nào cho bộ mã hóa. Trong một số trường hợp, các mô tả sử dụng các kỹ thuật thực hiện cụ thể cho mục đích minh họa.
Định nghĩa một bộ mã hóa mức cơ bản được chia thành ba nhóm:
- Chức năng bộ mã hóa;
- Thực hiện;
- Mô tả dòng mã.
6.2 Định nghĩa chức năng bộ mã hóa
Có bốn loại mã hóa được mô tả trong tiêu chuẩn này:
- Mã hóa màu sắc không tổn hao;
- Mã hóa màu sắc có tổn hao;
- Mã hóa thang màu xám không tổn hao;
- Mã hóa thang màu xám có tổn hao.
Định nghĩa của ảnh và thứ tự dữ liệu nén được áp dụng phổ biến trên bốn loại. Bảng 1 cho thấy định nghĩa của ảnh và thứ tự dữ liệu nén. Tài liệu tham khảo của Bảng 1 được mô tả trong Phụ lục B.
Bảng 1 - Định nghĩa chức năng của ảnh và thứ tự dữ liệu nén
Mục |
Tham chiếu |
Lưới tọa độ tham chiếu |
6.3 B.2* |
Khối ảnh |
6.4 B.3* |
Băng con |
6.5 B.5* |
Phân khu ảnh |
6.6 B.6* |
Khối mã (64x64 hoặc 32x32) |
6.7 B.7* |
Lớp |
6.8 B.8* |
Gói |
6.9 B.9* |
Mã hóa tiêu đề gói |
6.10 B.10* |
Phần khối ảnh (nhiều) |
6.11 B.11* |
Trình tự tiến hành phần 1 (1 trong 5 phương pháp tiến hành) |
6.12 B.12.1* |
Thay đổi trình tự tiến hành |
6.13 B.12.2, B.12.3* |
6.14 * Mô tả trong ITU-T Rec. T.800 | ISO/IEC 15444-1:2004. |
6.14.1 Mã hóa màu sắc không tổn hao
Quy trình mã hóa màu sắc không tổn hao được thể hiện trong Hình 2. Bởi vì, khái niệm cơ bản của mã hóa màu sắc không tổn hao là không tổn hao trao đổi ảnh màu nên biến đổi thành phần khả đảo (RCT) và biến đổi sóng con khả đảo (5-3R) sẽ được thực hiện. Ngoài ra, lượng tử vô hướng không được thực hiện. Nó có thể được sử dụng trong dòng mã cụt để cung cấp nén tổn hao.
Định nghĩa chức năng của mã hóa màu sắc không tổn hao được thể hiện trong Bảng 2.
Hình 2 - Sơ đồ khối mã màu sắc không tổn hao
Bảng 2 - Định nghĩa chức năng của mã hóa màu sắc không tổn hao
Hạng mục |
Mục |
Tham chiếu |
Biến đổi đa thành phần và chuyển mức DC |
6.15 Dữ liệu chuyển mức DC |
6.16 G.1 |
6.17 RCT |
6.18 G.2 |
|
Biến đổi sóng con rời rạc |
6.19 Biến đổi Sóng con (5-3R) |
6.20 F.3 |
6.21 Lấy mẫu thứ cấp bằng cách loại trừ các hệ số |
6.22 F.4 |
|
6.23 Trọng số tần số trực quan |
6.24 F.5 |
|
Mô hình hệ số bit |
6.25 3-quá trình mã hóa, 4-chế độ mã hóa (EBCOT) |
6.26 D.3 |
6.27 Kết thúc có thể dự đoán |
6.28 D.4 |
|
6.29 Thiết lập lại xác suất ngữ cảnh trên biên quá trình mã hóa |
6.30 D.4 |
|
6.31 Kết thúc trên mỗi quá trình mã hóa |
6.32 D.4 |
|
6.33 Các ký hiệu phân đoạn |
6.34 D.5 |
|
6.35 Bỏ qua AC chọn lọc |
6.36 D.6 |
|
6.37 Ngữ cảnh kết quả theo chiều dọc |
6.38 D.7 |
|
6.39 Mã hóa entropy số học |
6.40 Mã hóa bộ mã hóa-MQ |
6.41 C.2 |
Miền quan tâm |
6.42 Max-shift |
6.43 H.1, H.2 |
6.43.1 Mã hóa màu sắc có tổn hao
Quy trình mã hóa màu sắc có tổn hao được thể hiện trong hình 3. Mã hóa màu sắc có tổn hao có một số kết quả như hiệu suất nén cao hoặc kích thước dòng mã cố định. Biến đổi thành phần không khả đảo (ICT) và biến đổi sóng con không khả đảo (9-7I) sẽ được thực hiện. Lượng tử vô hướng có thể được thực hiện.
Định nghĩa chức năng của mã hóa màu sắc có tổn hao được thể hiện trong Bảng 3.
Hình 3 - Sơ đồ khối mã màu sắc có tổn hao
Bảng 3 - Định nghĩa chức năng mã hóa màu sắc có tổn hao
Hạng mục |
Mục |
Tham chiếu |
Biến đổi đa thành phần và chuyển mức DC |
6.44 Dữ liệu chuyển mức DC |
6.45 G.1 |
6.46 ICT |
6.47 G.3 |
|
Biến đổi sóng con rời rạc |
6.48 Biến đổi Sóng con (9-7I) |
6.49 F.3 |
6.50 Lấy mẫu thứ cấp bằng cách loại trừ các hệ số |
6.51 F.4 |
|
6.52 Trọng số tần số trực quan |
6.53 F.5 |
|
Lượng tử hóa |
6.54 Lượng tử hóa vô hướng |
6.55 E.2 |
Mô hình hệ số bit |
6.56 3-quá trình mã hóa, 4-chế độ mã hóa (EBCOT) |
6.57 D.3 |
6.58 Kết thúc có thể dự đoán |
6.59 D.4 |
|
6.60 Thiết lập lại xác suất ngữ cảnh trên biên quá trình mã hóa |
6.61 D.4 |
|
6.62 Kết thúc trên mỗi quá trình mã hóa |
6.63 D.4 |
|
6.64 Các ký hiệu phân đoạn |
6.65 D.5 |
|
6.66 Bỏ qua AC chọn lọc |
6.67 D.6 |
|
6.68 Ngữ cảnh kết quả theo chiều dọc |
6.69 D.7 |
|
6.70 Mã hóa entropy số học |
6.71 Mã hóa bộ mã hóa-MQ |
6.72 C.2 |
Miền quan tâm |
6.73 Max-shift |
6.74 H.1, H.2 |
6.74.1 Mã hóa thang màu xám không tổn hao
Quy trình mã hóa thang màu xám không tổn hao được thể hiện trong Hình 4. Khái niệm cơ bản của mã hóa thang màu xám không tổn hao gần giống như mã hóa màu sắc không tổn hao, nhưng ảnh gốc thay đổi màu thành thang màu xám. Biến đổi sóng con khả đảo (5-3R) sẽ được thực hiện. Biến đổi thành phần và lượng tử vô hướng không được thực hiện. Nó có thể được sử dụng trong dòng mã cụt để cung cấp nén tổn hao.
Định nghĩa chức năng của mã hóa thang màu xám không tổn hao được thể hiện trong Bảng 4.
Hình 4 - Sơ đồ khối mã thang màu xám không tổn hao
Bảng 4 - Định nghĩa chức năng mã hóa thang màu xám không tổn hao
Hạng mục |
Mục |
Tham chiếu |
Biến đổi đa thành phần và chuyển mức DC |
6.75 Dữ liệu chuyển mức DC |
6.76 G.1 |
Biến đổi sóng con rời rạc |
6.77 Biến đổi Sóng con (5-3R) |
6.78 F.3 |
6.79 Trọng số tần số trực quan |
6.80 F.5 |
|
Mô hình hệ số bit |
6.81 3-quá trình mã hóa, 4-chế độ mã hóa (EBCOT) |
6.82 D.3 |
6.83 Kết thúc có thể dự đoán |
6.84 D.4 |
|
6.85 Thiết lập lại xác suất ngữ cảnh trên biên quá trình mã hóa |
6.86 D.4 |
|
6.87 Kết thúc trên mỗi quá trình mã hóa |
6.88 D.4 |
|
6.89 Các ký hiệu phân đoạn |
6.90 D.5 |
|
6.91 Bỏ qua AC chọn lọc |
6.92 D.6 |
|
6.93 Ngữ cảnh kết quả theo chiều dọc |
6.94 D.7 |
|
6.95 Mã hóa entropy số học |
6.96 Mã hóa bộ mã hóa-MQ |
6.97 C.2 |
Miền quan tâm |
6.98 Max-shift |
6.99 H.1, H.2 |
6.99.1 Mã hóa thang màu xám có tổn hao
Quy trình mã hóa thang màu xám có tổn hao được thể hiện trong hình 5. Khái niệm về mã hóa thang màu xám có tổn hao gần giống như mã hóa màu sắc có tổn hao, nhưng ảnh gốc thay đổi màu thành thang màu xám. Biến đổi sóng con không khả đảo (9-7I) sẽ được thực hiện. Lượng tử vô hướng có thể được thực hiện. Biến đổi thành phần sẽ không được thực hiện.
Định nghĩa chức năng của mã hóa thang màu xám có tổn hao được thể hiện trong Bảng 5.
Hình 5 - Sơ đồ khối mã thang màu xám có tổn hao
Bảng 5 - Định nghĩa chức năng mã hóa thang màu xám có tổn hao
Hạng mục |
Mục |
Tham chiếu |
Biến đổi đa thành phần và chuyển mức DC |
6.100 Dữ liệu chuyển mức DC |
6.101 G.1 |
Biến đổi sóng con rời rạc |
6.102 Biến đổi Sóng con (9-7I) |
6.103 F.3 |
6.104 Trọng số tần số trực quan |
6.105 F.5 |
|
Lượng tử hóa |
6.106 Lượng tử hóa vô hướng |
6.107 E.2 |
Mô hình hệ số bít |
6.108 3-quá trình mã hóa, 4-chế độ mã hóa (EBCOT) |
6.109 D.3 |
6.110 Kết thúc có thể dự đoán |
6.111 D.4 |
|
6.112 Thiết lập lại xác suất ngữ cảnh trên biên quá trình mã hóa |
6.113 D.4 |
|
6.114 Kết thúc trên mỗi quá trình mã hóa |
6.115 D.4 |
|
6.116 Các ký hiệu phân đoạn |
6.117 D.5 |
|
6.118 Bỏ qua AC chọn lọc |
6.119 D.6 |
|
6.120 Ngữ cảnh kết quả theo chiều dọc |
6.121 D.7 |
|
6.122 Mã hóa entropy số học |
6.123 Mã hóa bộ mã hóa-MQ |
6.124 C.2 |
Miền quan tâm |
6.125 Max-shift |
6.126 H.1, H.2 |
6.127 Thực hiện
Không có thực hiện cụ thể cần thiết cho Tiêu chuẩn này.
Định nghĩa sự thực hiện được thể hiện trong Bảng 6: tất cả các tài liệu tham khảo của Bảng 6 được mô tả trong Phụ lục J trong ITU-T Rec. T.800 | ISO / IEC 15.444-1: 2004.
Bảng 6 - Định nghĩa sự thực hiện
Hạng |
Mục |
Tham chiếu |
Thực hiện |
6.128 Biến đổi sóng con dựa trên hàng |
6.129 J.5* |
6.130 Trọng số tần số trực quan |
6.131 J.12* |
|
6.132 Kiểm soát tỉ lệ |
6.133 J.14* |
|
6.134 * Mô tả trong ITU-T Rec. T.800 | ISO/IEC 15444-1:2004. |
6.135 Mô tả dòng mã
Mọi dữ liệu ảnh nén sẽ tuân theo cú pháp và gán mã thích hợp cho quy trình mã hóa được định nghĩa trong ITU-T Rec. T.800 | ISO / IEC 15.444-1: 2004.
ITU-T Rec. T.803 | ISO / IEC 15.444-4: 2004 (JPEG 2000 Phần 4) mô tả một định nghĩa về tuân thủ hoặc tương thích.
Mục này xác định việc sử dụng một phân đoạn mã đánh dấu đặc biệt cho một bộ mã hóa.
Mô tả dòng mã được thể hiện trong Bảng 7: tất cả các tài liệu tham khảo của Bảng 7 được mô tả trong Phụ lục A trong ITU T Rec. T.800 | ISO / IEC 15.444-1: 2004.
Bảng 7 - Mô tả dòng mã
Hạng mục |
Mục |
Tham chiếu |
Thực hiện |
6.136 Mã đánh dấu SOC |
6.137 A.4.1* |
6.138 Đoạn mã đánh dấu SOT |
6.139 A.4.2* |
|
6.140 Mã đánh dấu SOD |
6.141 A.4.3* |
|
6.142 Mã đánh dấu EOC |
6.143 A.4.4* |
|
6.144 Đoạn mã đánh dấu SIZ |
6.145 A.5.1* |
|
6.146 Đoạn mã đánh dấu COD |
6.147 A.6.1* |
|
6.148 Đoạn mã đánh dấu COC |
6.149 A.6.2* |
|
6.150 Đoạn mã đánh dấu RGN |
6.151 A.6.3* |
|
6.152 Đoạn mã đánh dấu QCD |
6.153 A.6.4* |
|
6.154 Đoạn mã đánh dấu QCC |
6.155 A.6.5* |
|
6.156 Đoạn mã đánh dấu POC |
6.157 A.6.6* |
|
6.158 Đoạn mã đánh dấu TLM |
6.159 A.7.1* |
|
6.160 Đoạn mã đánh dấu PLM |
6.161 A.7.2* |
|
6.162 Đoạn mã đánh dấu PLT |
6.163 A.7.3* |
|
6.164 Đoạn mã đánh dấu PPM |
6.165 A.7.4* |
|
6.166 Đoạn mã đánh dấu PPT |
6.167 A.7.5* |
|
6.168 Đoạn mã đánh dấu SOP |
6.169 A.8.1* |
|
6.170 Đoạn mã đánh dấu EPH |
6.171 A.8.2* |
|
6.172 Đoạn mã đánh dấu CRG |
6.173 A.9.1* |
|
6.174 Đoạn mã đánh dấu COM |
6.175 A.9.2* |
|
6.176 * Mô tả trong ITU-T Rec. T.800 | ISO/IEC 15444-1:2004. |
7 Yêu cầu định dạng tập tin tùy chọn
Phụ lục I trong ITU-T Rec. T.800 | ISO / IEC 15.444-1: 2004 mô tả định dạng tập tin tùy chọn chứa siêu dữ liệu về ảnh và được bổ sung vào dòng mã. Dữ liệu này cho phép hiển thị màn hình hoặc in ra với độ phân giải cụ thể. Khi được sử dụng, định dạng tập tin tùy chọn sẽ tuân theo cú pháp định dạng tập tin và gán mã thích hợp cho quy trình mã hóa được định nghĩa trong ITU-T Rec. T.800 | ISO / IEC 15.444-1: 2004.
Áp dụng Phụ lục A của ISO/IEC 15444-14:2004.
Ảnh và sắp xếp dữ liệu ảnh nén
Áp dụng Phụ lục B của ISO/IEC 15444-14:2004.
C.1 Mã hóa nhị phân
Hình C.1 mô tả sơ đồ khối của bộ mã hóa số học thích ứng nhị phân. Cặp quyết định (D) và ngữ cảnh (CX) cùng được xử lý để tạo ra đầu ra dữ liệu ảnh nén (CD). Cả D và CX được cung cấp bởi khối mô hình (không được biểu diễn), CX lựa chọn ước tính xác suất để sử dụng trong suốt quy trình mã hóa của D. Trong tiêu chuẩn này, CX là một mã đánh dấu ngữ cảnh.
Hình C.1 - Các đầu vào và đầu ra bộ mã hóa số học
C.1.1 Phân chia khoảng đệ quy
Phân chia khoảng xác suất đệ quy của mã hóa Elias là cơ sở cho quy trình mã hóa số học nhị phân. Với mỗi quyết định nhị phân, khoảng xác suất hiện tại được chia thành hai khoảng con và chuỗi mã được thay đổi (nếu cần thiết) để nó trỏ đến gốc (giới hạn thấp hơn) của khoảng con xác suất được gán cho ký hiệu xuất hiện.
Trong phân chia khoảng hiện tại thành hai khoảng con thì khoảng con cho các ký hiệu có thể xảy ra nhiều hơn (MPS) được đặt trên khoảng con cho ký hiệu ít có thể xảy (LPS). Vì vậy, khi MPS được mã hóa thì các khoảng con LPS được thêm vào chuỗi mã. Quy ước mã hóa này yêu cầu rằng các ký hiệu được công nhận là MPS hoặc LPS, chứ không phải là 0 hoặc 1. Do đó, kích thước của khoảng LPS và phương của MPS cho mỗi quyết định phải được biết theo thứ tự để mã hóa quyết định đó.
Khi chuỗi mã luôn chỉ đến gốc của khoảng hiện tại thì quy trình giải mã là một vấn đề xác định đối với mỗi quyết định mà khoảng con được trỏ đến bởi các dữ liệu ảnh nén. Điều này cũng được thực hiện một cách đệ quy, sử dụng cùng một quy trình phân chia khoảng như trong bộ mã hóa. Mỗi khi một quyết định được giải mã, bộ giải mã trừ đi khoảng mà bộ mã hóa thêm vào chuỗi mã. Do đó, chuỗi mã trong bộ giải mã là một con trỏ vào khoảng hiện tại tùy theo gốc của khoảng hiện tại. Khi quy trình mã hóa liên quan đến việc thêm các phân số nhị phân chứ không phải phép nối các từ mã số nguyên thì các quyết định nhị phân có thể xảy ra nhiều hơn được mã hóa với chi phí ít hơn nhiều so với quyết định trên một bit.
C.1.2 Phép xấp xỉ và quy ước mã hóa
Các hoạt động mã hóa được thực hiện sử dụng số học số nguyên xác định và sử dụng biểu diễn số nguyên của các giá trị phân số trong đó 0x8000 tương đương với số thập phân 0,75. Khoảng A được giữ trong dải 0,75 ≤ A < 1,5 bằng cách nhân đôi nó bất kỳ giá trị nguyên nào dưới 0x8000.
Thanh ghi mã C cũng được nhân đôi mỗi lần A được nhân đôi. Định kỳ - để giữ cho C khỏi bị tràn - một byte của dữ liệu ảnh nén được lấy ra từ các bit bậc cao của thanh ghi C và được đặt vào một bộ đệm dữ liệu ảnh nén ngoài. Việc vào bộ đệm ngoài bị ngăn chặn bởi thủ tục nhồi bit.
Giữ A trong dải 0,75 ≤ A < 1.5 cho phép một phép xấp xỉ số học đơn giản được sử dụng trong phân chia khoảng. Khoảng là A và ước tính hiện tại của xác suất LPS là Qe, tính toán chính xác các khoảng con sẽ yêu cầu:
A - (Qe * A) = khoảng con cho MPS (C-1)
Qe * A = khoảng con cho MPS LPS (C-2)
Vì giá trị của A là đơn vị thứ tự, chúng được tính xấp xỉ bằng:
A - Qe = khoảng con cho MPS (C-3)
Qe = khoảng con cho LPS (C-4)
Khi MPS được mã hóa, giá trị của Qe được thêm vào thanh ghi mã và khoảng giảm xuống còn A - Qe. Khi LPS được mã hóa, thanh ghi mã không thay đổi và khoảng giảm xuống còn Qe. Dải chính xác cần thiết cho A sau đó được phục hồi, nếu cần thiết bằng cách tái chuẩn hóa cả A và C.
Với quy trình được minh họa ở trên, phép xấp xỉ trong quy trình phân chia khoảng đôi khi có thể làm cho khoảng con LPS lớn hơn khoảng con MPS. Nếu, ví dụ, giá trị của Qe bằng 0.5 và A là giá trị tối thiểu cho phép bằng 0,75 thì chia tỷ lệ xấp xỉ 1/3 của khoảng cho MPS và 2/3 cho LPS. Để tránh đảo ngược kích thước này, các khoảng MPS và LPS được chuyển đổi bất cứ khi nào khoảng LPS lớn hơn so với khoảng MPS. Chuyển đổi có điều kiện MPS / LPS này chỉ có thẻ xảy ra khi cần tái chuẩn hóa.
Khi tái chuẩn hóa xảy ra, quy trình ước tính xác suất được gọi, quyết định một ước tính xác suất mới cho ngữ cảnh hiện tại được mã hóa. Việc tính ký hiệu không rõ ràng là cần thiết cho ước tính. Các xác suất tương đối của tái chuẩn hóa sau khi mã hóa một LPS hoặc MPS cung cấp một kỹ thuật tính ký hiệu xấp xỉ, được sử dụng cho ước tính xác suất trực tiếp.
C.2 Mô tả bộ mã hóa số học
ENCODER (Hình C.2) khởi tạo bộ mã hóa thông qua thủ tục INITENC. Cặp CX và D được đọc và truyền qua ENCODE cho đến khi tất cả các cặp được đọc. Các thủ tục ước tính xác suất cung cấp ước tính đáp ứng xác suất cho từng ngữ cảnh được định hình trong ENCODE. Byte dữ liệu ảnh nén là đầu ra khi cần thiết. Khi tất cả các cặp CX và D đã được đọc, FLUSH thiết lập nội dung của đăng ký C càng nhiều bit 1 càng tốt và kết quả đầu ra là các byte. FLUSH cũng kết thúc việc mã hóa và tạo ra mã đánh dấu kết thúc yêu cầu.
Hình C.2 - Bộ mã hóa cho MQ-coder
C.2.1 Quy ước đăng ký mã bộ mã hóa
Các biểu đồ được đưa ra trong phụ lục này giả định các cấu trúc đăng ký cho các bộ mã hóa thể hiện trong Bảng C.1.
Bảng C.1 - Cấu trúc đăng ký bộ mã hóa
|
MSB |
|
|
LSB |
||||
Đăng ký C |
7.1 0000 |
7.2 bbbb |
7.3 xxxx |
7.4 xxxx |
||||
|
cbb |
|
bss |
|
xxx |
|
xxx |
|
|
b |
|
s |
|
x |
|
x |
|
Đăng ký A |
7.5 0000 |
7.6 0000 |
7.7 1aaa |
7.8 aaaa |
||||
|
000 |
|
000 |
|
aaa |
|
aaa |
|
|
0 |
|
0 |
|
a |
|
a |
Các bit "a" là các bit phân đoạn trong đăng ký A (giá trị khoảng thời gian hiện tại) và "x" bit là các bit phân đoạn trong thanh ghi mã. Các bit "s" là bit đệm cung cấp ràng buộc về thực hiện chuyển tiếp, và các bit "b" chỉ ra vị trí bit từ đó các byte hoàn chỉnh của dữ liệu ảnh nén được lấy ra khỏi đăng ký C. Các bit "c" là bit chuyển tiếp. Mô tả chi tiết việc nhồi bit và xử lý thực hiện chuyển tiếp sẽ được đưa ra trong phần sau của phụ lục này.
C.2.2 Mã hóa một quyết định (ENCODE)
Thủ tục ENCODE xác định xem quyết định D là 0 hay không để chọn thủ tục CODE0 hoặc CODE 1 cho phù hợp. Thông thường không có thủ tục ENCODE, mà sẽ chọn trực tiếp thủ tục CODE0 hoặc CODE 1 để mã hóa một quyết định 0 hoặc quyết định 1. Hình C.3 cho thấy thủ tục này.
Hình C.3 - Thủ tục ENCODE
C.2.3 Mã hóa a1 hoặc a0 (CODE1 và CODE0)
Khi quyết định nhị phân cho trước được mã hóa, xảy ra một trong hai khả năng-ký hiệu có thể là ký hiệu xảy ra nhiều hơn hoặc ký hiệu ít có thể xảy ra. CODE 1 và CODE0 được minh họa trong Hình C.4 và C.5. Trong các hình này, CX là ngữ cảnh. Đối với mỗi ngữ cảnh, chỉ số ước tính xác suất mà được sử dụng trong các hoạt động mã hóa và giá trị MPS được lưu trữ. MPS (CX) là hướng (0 hoặc 1) của MPS cho ngữ cảnh CX.
Hình C.4 - Thủ tục CODE1
Hình C.5 - Thủ tục CODE0
C.2.4 Mã hóa MPS hoặc LPS (CODEMPS và CODELPS)
Thủ tục CODELPS (Hình C.6) thường bao gồm việc định tỉ lệ khoảng thời gian cho Qe (I (CX)), ước tính xác suất của LPS được xác định từ chỉ số I lưu trữ cho ngữ cảnh CX. Khoảng thời gian cao hơn được tính toán trước sao cho nó được so sánh với khoảng thời gian thấp hơn để xác nhận rằng Qe có kích thước nhỏ hơn. Nó được theo sau bởi một quy trình tái chuẩn hóa (RENORME). Tuy nhiên, trong trường hợp kích thước khoảng thời gian bị đảo ngược thì biến đổi MPS / LPS có điều kiện xảy ra và khoảng thời gian trên được mã hóa. Trong cả hai trường hợp, ước tính xác suất được cập nhật. Nếu cờ SWITCH cho chỉ số I (CX) được thiết lập thì MPS (CX) bị đảo ngược. Chỉ số I mới được lưu tại CX khi được xác định từ cột chỉ số LPS tiếp theo (NLPS) trong Bảng C.2.
Hình C.6 - Thủ tục CODELPS với biến đổi MPS / LPS có điều kiện
Hình C.7 - Thủ tục CODEMPS với biến đổi MPS / LPS có điều kiện
Bảng C.2 - Các giá trị ước tính xác suất Qe
Chỉ số |
7.9 Giá trị Qe |
NMPS |
NLPS |
SWITCH |
||
7.10 (Cơ số 16) |
7.11 (Nhị phân) |
7.12 (Thập phân |
||||
0 |
7.13 0x560 1 |
7.14 0101 0110 0000 0001 |
7.15 0.5039 37 |
7.16 1 |
7.17 1 |
7.18 1 |
1 |
7.19 0x340 1 |
7.20 0011 0100 0000 0001 |
7.21 0.3047 15 |
7.22 2 |
7.23 6 |
7.24 0 |
2 |
7.25 0x180 1 |
7.26 0001 1000 0000 0001 |
7.27 0.1406 50 |
7.28 3 |
7.29 9 |
7.30 0 |
3 |
7.31 0x0AC 1 |
7.32 0000 1010 1100 0001 |
7.33 0.0630 12 |
7.34 4 |
7.35 12 |
7.36 0 |
4 |
7.37 0x052 1 |
7.38 0000 0101 0010 0001 |
7.39 0.0300 53 |
7.40 5 |
7.41 29 |
7.42 0 |
5 |
7.43 0x022 1 |
7.44 0000 0010 0010 0001 |
7.45 0.0124 74 |
7.46 38 |
7.47 33 |
7.48 0 |
6 |
7.49 0x560 1 |
7.50 0101 0110 0000 0001 |
7.51 0.5039 37 |
7.52 7 |
7.53 6 |
7.54 1 |
7 |
7.55 0x540 1 |
7.56 0101 0100 0000 0001 |
7.57 0.4922 18 |
7.58 8 |
7.59 14 |
7.60 0 |
8 |
7.61 0x480 1 |
7.62 0100 1000 0000 0001 |
7.63 0.4219 04 |
7.64 9 |
7.65 14 |
7.66 0 |
9 |
7.67 0x380 1 |
7.68 0011 1000 0000 0001 |
7.69 0.3281 53 |
7.70 10 |
7.71 14 |
7.72 0 |
10 |
7.73 0x300 1 |
7.74 0011 0000 0000 0001 |
7.75 0.2812 77 |
7.76 11 |
7.77 17 |
7.78 0 |
11 |
7.79 0x240 1 |
7.80 0010 0100 0000 0001 |
7.81 0.2109 64 |
7.82 12 |
7.83 18 |
7.84 0 |
12 |
7.85 0x1C0 1 |
7.86 0001 1100 0000 0001 |
7.87 0.1640 88 |
7.88 13 |
7.89 20 |
7.90 0 |
13 |
7.91 0x160 1 |
7.92 0001 0110 0000 0001 |
7.93 0.1289 31 |
7.94 29 |
7.95 21 |
7.96 0 |
14 |
7.97 0x560 1 |
7.98 0101 0110 0000 0001 |
7.99 0.5039 37 |
7.100 15 |
7.101 14 |
7.102 1 |
15 |
7.103 0x54 01 |
7.104 0101 0100 0000 0001 |
7.105 0.492 218 |
7.106 16 |
7.107 14 |
7.108 0 |
16 |
7.109 0x51 01 |
7.110 0101 0001 0000 0001 |
7.111 0.474 640 |
7.112 17 |
7.113 15 |
7.114 0 |
17 |
7.115 0x48 01 |
7.116 0100 1000 0000 0001 |
7.117 0.421 904 |
7.118 18 |
7.119 16 |
7.120 0 |
18 |
7.121 0x38 01 |
7.122 0011 1000 0000 0001 |
7.123 0.328 153 |
7.124 19 |
7.125 17 |
7.126 0 |
19 |
7.127 0x34 01 |
7.128 0011 0100 0000 0001 |
7.129 0.304 715 |
7.130 20 |
7.131 18 |
7.132 0 |
20 |
7.133 0x30 01 |
7.134 0011 0000 0000 0001 |
7.135 0.281 277 |
7.136 21 |
7.137 19 |
7.138 0 |
21 |
7.139 0x28 01 |
7.140 0010 1000 0000 0001 |
7.141 0.234 401 |
7.142 22 |
7.143 19 |
7.144 0 |
22 |
7.145 0x24 01 |
7.146 0010 0100 0000 0001 |
7.147 0.210 964 |
7.148 23 |
7.149 20 |
7.150 0 |
23 |
7.151 0x22 01 |
7.152 0010 0010 0000 0001 |
7.153 0.199 245 |
7.154 24 |
7.155 21 |
7.156 0 |
24 |
7.157 0x1C 01 |
7.158 0001 1100 0000 0001 |
7.159 0.164 088 |
7.160 25 |
7.161 22 |
7.162 0 |
25 |
7.163 0x18 01 |
7.164 0001 1000 0000 0001 |
7.165 0.140 650 |
7.166 26 |
7.167 23 |
7.168 0 |
26 |
7.169 0x16 01 |
7.170 0001 0110 0000 0001 |
7.171 0.128 931 |
7.172 27 |
7.173 24 |
7.174 0 |
27 |
7.175 0x14 01 |
7.176 0001 0100 0000 0001 |
7.177 0.117 212 |
7.178 28 |
7.179 25 |
7.180 0 |
28 |
7.181 0x12 01 |
7.182 0001 0010 0000 0001 |
7.183 0.105 493 |
7.184 29 |
7.185 26 |
7.186 0 |
29 |
7.187 0x11 01 |
7.188 0001 0001 0000 0001 |
7.189 0.099 634 |
7.190 30 |
7.191 27 |
7.192 0 |
30 |
7.193 0x0A C1 |
7.194 0000 1010 1100 0001 |
7.195 0.063 012 |
7.196 31 |
7.197 28 |
7.198 0 |
31 |
7.199 0x09 C1 |
7.200 0000 1001 1100 0001 |
7.201 0.057 153 |
7.202 32 |
7.203 29 |
7.204 0 |
32 |
7.205 0x08 A1 |
7.206 0000 1000 1010 0001 |
7.207 0.050 561 |
7.208 33 |
7.209 30 |
7.210 0 |
33 |
7.211 0x05 21 |
7.212 0000 0101 0010 0001 |
7.213 0.030 053 |
7.214 34 |
7.215 31 |
7.216 0 |
34 |
7.217 0x04 41 |
7.218 0000 0100 0100 0001 |
7.219 0.024 926 |
7.220 35 |
7.221 32 |
7.222 0 |
35 |
7.223 0x02 AI |
7.224 0000 0010 1010 0001 |
7.225 0.015 404 |
7.226 36 |
7.227 33 |
7.228 0 |
36 |
7.229 0x02 21 |
7.230 0000 0010 0010 0001 |
7.231 0.012 474 |
7.232 37 |
7.233 34 |
7.234 0 |
37 |
7.235 0x01 41 |
7.236 0000 0001 0100 0001 |
7.237 0.007 347 |
7.238 38 |
7.239 35 |
7.240 0 |
38 |
7.241 0x01 11 |
7.242 0000 0001 0001 0001 |
7.243 0.006 249 |
7.244 39 |
7.245 36 |
7.246 0 |
39 |
7.247 0x00 85 |
7.248 0000 0000 1000 0101 |
7.249 0.003 044 |
7.250 40 |
7.251 37 |
7.252 0 |
40 |
7.253 0x00 49 |
7.254 0000 0000 0100 1001 |
7.255 0.001 671 |
7.256 41 |
7.257 38 |
7.258 0 |
41 |
7.259 0x00 25 |
7.260 0000 0000 0010 0101 |
7.261 0.000 847 |
7.262 42 |
7.263 39 |
7.264 0 |
42 |
7.265 0x00 15 |
7.266 0000 0000 0001 0101 |
7.267 0.000 481 |
7.268 43 |
7.269 40 |
7.270 0 |
43 |
7.271 0x00 09 |
7.272 0000 0000 0000 1001 |
7.273 0.000 206 |
7.274 44 |
7.275 41 |
7.276 0 |
44 |
7.277 0x00 05 |
7.278 0000 0000 0000 0101 |
7.279 0.000 114 |
7.280 45 |
7.281 42 |
7.282 0 |
45 |
7.283 0x00 01 |
7.284 0000 0000 0000 0001 |
7.285 0.000 023 |
7.286 45 |
7.287 43 |
7.288 0 |
46 |
7.289 0x56 01 |
7.290 0101 0110 0000 0001 |
7.291 0.503 937 |
7.292 46 |
7.293 46 |
7.294 0 |
C.2.5 Ước tính xác suất
Bảng C.2 cho thấy giá trị Qe kết hợp với mỗi chỉ số Qe. Các giá trị Qe được thể hiện là số nguyên hệ thập lục phân, nhị phân và số thập phân. Để biến đổi biểu diễn số nguyên 15-bit của Qe cho xác suất thập phân thì các giá trị Qe được chia cho (4/3) * (0x8000).
Ước tính có thể được định nghĩa là một kỹ thuật hữu hạn trạng thái - một bảng chỉ số Qe và các trạng thái tiếp theo được kết hợp cho mỗi loại tái chuẩn hóa (ví dụ, vị trí bảng mới) - như thể hiện trong Bảng C.2. Sự thay đổi trong trạng thái chỉ xảy ra khi thanh ghi khoảng thời gian bộ mã hóa số học được tái chuẩn hóa. Điều này luôn được thực hiện sau khi mã hóa LPS và bất cứ khi nào đăng ký khoảng thời gian ít hơn 0x8000 (0.75 trong ký hiệu thập phân) sau khi mã hóa MPS.
Sau khi tái chuẩn hóa LPS, NLPS đưa ra chỉ số mới cho các ước tính xác suất LPS. Nếu biến đổi là 1, phương ký hiệu MPS bị đảo hướng.
Chỉ số cho ước tính hiện nay là một phần của thông tin lưu trữ cho ngữ cảnh CX. Chỉ số này được sử dụng như chỉ số cho bảng các giá trị trong NMPS mà cung cấp các chỉ số tiếp theo cho tái chuẩn hóa MPS. Chỉ số này được lưu trong lưu trữ ngữ cảnh tại CX. MPS (CX) không thay đổi.
Thủ tục để ước tính xác suất tái chuẩn hóa LPS tương tự như tái chuẩn hóa MPS, trừ trường hợp khi SWITCH (I (CX)) là 1, phương của MPS (CX) bị đảo.
Trạng thái chỉ số cuối 46 có thể được sử dụng để thiết lập một ước tính xác suất 0,5 cố định.
C.2.6 Tái chuẩn hóa trong bộ mã hóa (RENORME)
Tái chuẩn hóa rất giống nhau trong cả bộ mã hóa và giải mã, ngoại trừ trong bộ mã hóa nó tạo ra bit nén và trong các bộ giải mã nó dùng các bit nén.
Thủ tục RENORME cho tái chuẩn hóa bộ mã hóa được minh họa trong hình C.8. Cả đăng ký khoảng thời gian A và đăng ký mã C được chuyển, một bít một lần. Số chuyển dịch được tính trong bộ đếm CT và khi CT được đếm về không, một byte dữ liệu ảnh nén được lấy ra từ C bởi thủ tục BYTEOUT. Tái chuẩn hóa tiếp tục cho đến khi A không ít hơn 0x8000.
Hình C.8 - Thủ tục tái chuẩn hóa trong bộ mã hóa
C.1.7 Đầu ra dữ liệu ảnh nén (BYTEOUT)
Chương trình con BYTEOUT được gọi từ RENORME được minh họa trong Hình C.9. Chương trình con này chứa các thủ tục bít chỉnh mà cần thiết để hạn chế truyền dẫn mang vào các byte hoàn chỉnh của dữ liệu ảnh nén. Các quy ước được sử dụng để nó không thể truyền qua nhiều hơn một byte gần nhất được ghi vào bộ đệm dữ liệu ảnh nén.
Hình C.9 - Thủ tục BYTEOUT cho bộ mã hóa
Thủ tục trong ô ở phần bên phải phía dưới thực hiện chỉnh bit sau byte 0xFF; thủ tục tương tự bên trái là cho trường hợp không cần chỉnh bit.
B là byte được trỏ đến bởi con trỏ bộ đệm dữ liệu ảnh nén BP. Nếu B không phải là một byte 0xFF, bit mang được kiểm tra. Nếu bit mang được thiết lập thì nó được thêm vào B và B được kiểm tra một lần nữa để xem nếu một bít cần được đệm trong byte kế tiếp. Sau khi xác định cần thiết phải đệm bit, đường thích hợp được chọn, BP được tăng lên và giá trị mới của B được lấy ra từ thanh ghi mã "b" bit.
C.2.8 Khởi tạo bộ mã hóa (INITENC)
Thủ tục INITENC được sử dụng để bắt đầu bộ mã hóa số học. Sau khi MPS và I được khởi tạo, các bước cơ bản được biểu diễn trong hình C.10.
Hình C.10 - Khởi tạo bộ mã hóa
Đăng ký khoảng thời gian và đăng ký mã được thiết lập về giá trị ban đầu của chúng và bộ đếm bit được thiết lập. Thiết lập CT = 12 phản ánh thực tế rằng có ba bit đệm trong đăng ký mà cần phải được lấp đầy trước khi trường mà từ đó các byte bị loại bỏ. BP luôn luôn chỉ vào byte trước BPST vị trí mà các byte đầu tiên được đặt. Do đó, nếu byte trước là một byte 0xFF, nhồi bit giả sẽ xảy ra nhưng có thể được bù đắp bằng cách tăng CT. Các thiết lập ban đầu cho MPS và I được thể hiện trong Bảng D.7.
C.2.9 Kết thúc mã hóa (FLUSH)
Thủ tục FLUSH biểu diễn trong hình C.11 được sử dụng để kết thúc các hoạt động mã hóa và tạo ra mã đánh dấu kết thúc yêu cầu. Thủ tục đảm bảo rằng tiền tố 0xFF cho mã mã đánh dấu chồng lên các bit cuối cùng của dữ liệu ảnh nén. Điều này đảm bảo rằng mã mã đánh dấu bất kỳ ở phần cuối của dữ liệu ảnh nén sẽ được công nhận và giải thích trước khi giải mã hoàn tất.
Hình C.11 - Thủ tục FLUSH
Phần đầu tiên của thủ tục FLUSH thiết lập càng nhiều bit 1 trong đăng ký C càng tốt như trong hình C.12. Ngoài giới hạn cao hơn cho đăng ký C tà tổng của đăng ký C và đăng ký khoảng thời gian. Thứ tự thấp 16 bit của C buộc phải là 1 và kết quả được so sánh với giới hạn cao hơn. Nếu C là quá lớn thì bit 1 hàng đầu bị loại bỏ, giảm C đến một giá trị ở trong khoảng thời gian.
Hình C.12 - Thiết lập các bit cuối trong đăng ký C
Byte trong đăng ký C được hoàn thành bằng cách chuyển C và hai byte bị loại bỏ sau đó. Nếu byte trong bộ đệm B là 0xFF thì nó bị loại bỏ. Nếu không, bộ đệm B là đầu ra cho dòng bit.
Phụ lục này xác định việc mô hình hóa và quét các bit hệ số biến đổi.
Khối mã (xem Phụ lục B trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004) được mã hóa bởi một mặt phẳng bit tại thời điểm bắt đầu từ mặt phẳng bit có trọng số lớn nhất có phần tử khác không tới mặt phẳng bit có trọng số nhỏ nhất. Với mỗi mặt phẳng bit trong một khối mã, mô hình quét khối mã riêng được sử dụng cho một trong ba quá trình mã hóa. Mỗi bit hệ số trong mặt phẳng bit chỉ xuất hiện ở một trong ba quá trình mã hóa là quá trình lan truyền ý nghĩa, tinh chỉnh cường độ và sắp xếp. Với mỗi ngữ cảnh quá trình được tạo để cung cấp cho các bộ mã hóa số học, CX, cùng với quyết định D (xem Phụ lục C).
D.1 Kiểu quét khối mã trong các khối mã
Mỗi mặt phẳng bit của một khối mã được quét theo một thứ tự cụ thể. Bắt đầu từ phía trên bên trái, bốn hệ số đầu tiên của cột đầu tiên được quét, tiếp theo là bốn hệ số đầu tiên của cột thứ hai và tiếp tục như vậy cho đến khi đến phía bên phải của khối mã. Việc quét sau đó quay về bên trái của khối mã và tập bốn hệ số thứ hai trong mỗi cột được quét. Quy trình này được tiếp tục tới cuối khối mã. Nếu chiều dài khối mã không chia hết cho 4 thì tập các hệ số cuối cùng được quét trong mỗi cột sẽ chứa ít hơn 4 hệ số. Hình D.1 cho thấy một ví dụ về kiểu quét khối mã cho một khối mã.
Hình D.1 - Ví dụ kiểu quét của một mặt phẳng bit khối mã
D.2 Các bit hệ số bit và ý nghĩa
D.2.1 Các chú giải trường hợp chung
Thủ tục mã hóa được đặc tả tại phụ lục này sinh ra hệ số biến đổi (u, v) của băng con b, các bit giải mã được mã hóa sẽ được sử dụng để tái tạo lại giá trị hệ số biến đổi qb (u, v) ở bộ giải mã. Các bit được sinh ra là: bit dấu sb (u, v) và số Nb (u, v) của MSB biên độ sẽ được mã hóa, được sắp xếp từ có trọng số lớn nhất đến nhỏ nhất: MSBi (b, u, v) là MSB thứ i của hệ số biến đổi (u, v) của bang con b (i = 1, ..., Nb (u, v)). Như đã nêu trong phương trình (B-1), bit dấu sb(u, v) có giá trị bằng một cho các hệ số âm và 0 cho các hệ số dương. Số Nb (u, v) của MSB sẽ được mã hóa bao gồm số lượng của tất cả các mặt phẳng bit có trọng số lớn nhất 0 được báo hiệu trong tiêu đề gói (xem B.10.5 trong ITU-T Rec T.800 |. ISO / IEC 15444-1 : 2004).
D.2.2 Chú giải trong trường hợp có ROI
Trong việc sử dụng các đoạn mã đánh dấu RGN (chỉ ra sự hiện diện của ROI), các điều chỉnh cần phải được thực hiện để các bit được mã hóa, cũng như số Nb (u, v) của MSB biên độ sẽ được mã hóa. Những điều chỉnh này được quy định tại điều H.1. Trong trường hợp vắng mặt đoạn mã đánh dấu RGN thì không cần điều chỉnh.
D.3 Các quá trình mã hóa trên mặt phẳng bit
Mỗi hệ số trong một khối mã có một biến trạng thái nhị phân kết hợp gọi là trạng thái có nghĩa của nó. Trạng thái có nghĩa được khởi tạo bằng 0 (hệ số vô nghĩa) và có thể trở thành 1 (hệ số có nghĩa) trong quy trình mã hóa của khối mã. Các "trạng thái có nghĩa" thay đổi từ vô nghĩa đến có nghĩa (xem mục con bên dưới) tại mặt phẳng bit mà bit biên độ có trọng số lớn nhất bằng 1. Vector ngữ cảnh cho hệ số hiện tại cho trước là vector nhị phân bao gồm các trạng thái có nghĩa của 8 hệ số lân cận gần nhất của nó, như thể hiện trong hình D.3. Bất kỳ lân cận gần nhất nằm bên ngoài khối mã của hệ số hiện tại được xem là vô nghĩa (nghĩa là trạng thái có nghĩa 0) với mục đích tạo ra một vector ngữ cảnh để mã hóa hệ số hiện tại.
Hình D.3 - Trạng thái lân cận để hình thành ngữ cảnh
Nói chung, hệ số hiện tại có thể có 256 vector ngữ cảnh dương. Chúng được nhóm thành nhóm ngữ cảnh có số lượng nhỏ hơn theo quy tắc quy định sau đây. Bốn quy tắc hình thành ngữ cảnh khác nhau được định nghĩa cho bốn quá trình mã hóa: mã hóa có nghĩa, mã hóa dấu, mã hóa tinh chỉnh cường độ và mã hóa sắp xếp. Các hoạt động mã hóa được thực hiện trong ba quá trình mã hóa trên mỗi mặt phẳng bit: mã hóa dấu và có nghĩa trong quá trình lan truyền có nghĩa, mã hóa tinh chỉnh cường độ trong quá trình mã hóa tinh chỉnh cường độ và mã hóa dấu và sắp xếp trong quá trình loại bỏ dữ liệu thừa. Đối với hoạt động mã hóa nhất định, mã đánh dấu ngữ cảnh (hoặc ngữ cảnh) được cung cấp cho kỹ nghệ mã hóa số học là một mã đánh dấu được gán cho ngữ cảnh hệ số hiện tại.
Mặt phẳng bit đầu tiên trong khối hiện tại với một thành phần khác không chỉ có một quá trình loại bỏ dữ liệu thừa. Các mặt phẳng bit còn lại được mã hóa trong ba quá trình mã hóa. Mỗi bit hệ số được mã hóa chính xác bởi một trong ba quá trình mã hóa. Bit hệ số được mã hóa phụ thuộc vào các điều kiện của quá trình đó. Tóm lại, quá trình lan truyền có nghĩa bao gồm các hệ số được dự đoán hoặc "nhiều khả năng" trở thành các bit dấu và có nghĩa của chúng. Quá trình tinh chỉnh cường độ bao gồm các bit từ các hệ số có nghĩa. Quá trình loại bỏ dữ liệu thừa bao gồm tất cả các hệ số còn lại.
D.3.1 Quá trình mã hóa lan truyền có nghĩa
Tám hệ số lân cận xung quanh hệ số hiện tại (thể hiện trong hình D.2 trong đó X là hệ số hiện tại) được sử dụng để tạo ra một ngữ cảnh mà ánh xạ vào một trong 9 ngữ cảnh thể hiện trong Bảng D.1. Nếu hệ số có nghĩa thì nó được cho giá trị 1 để tạo ngữ cảnh, ngược lại nó có giá trị 0. Việc ánh xạ cho các ngữ cảnh cũng phụ thuộc vào các băng con.
Bảng D.1 - Các ngữ cảnh cho quá trình mã hóa sắp xếp và lan truyền có nghĩa
Băng con LL và LH (thông cao chiều dọc) |
Băng con HL (thông cao chiều ngang) |
Băng con HH (thông cao đường chéo) |
Mã đánh dấu ngữ cảnh ta) |
|||||
ΣHi |
7.295 Σ |
7.296 Σ |
7.297 Σ |
7.298 Σ |
ΣDi |
Σ(Hi + Vi) |
ΣDi |
|
2 |
7.299 x b) |
7.300 x |
7.301 x |
7.302 2 |
7.303 x |
7.304 x |
7.305 ≥ 3 |
7.306 8 |
1 |
7.307 ≥ 1 |
7.308 x |
7.309 ≥ 1 |
7.310 1 |
7.311 x |
7.312 ≥ 1 |
7.313 2 |
7.314 7 |
1 |
7.315 0 |
7.316 ≥ 1 |
7.317 0 |
7.318 1 |
7.319 ≥ 1 |
7.320 0 |
7.321 2 |
7.322 6 |
1 |
7.323 0 |
7.324 0 |
7.325 0 |
7.326 1 |
7.327 0 |
7.328 ≥ 2 |
7.329 1 |
7.330 5 |
0 |
7.331 2 |
7.332 x |
7.333 2 |
7.334 0 |
7.335 x |
7.336 1 |
7.337 1 |
7.338 4 |
0 |
7.339 1 |
7.340 x |
7.341 1 |
7.342 0 |
7.343 x |
7.344 0 |
7.345 1 |
7.346 3 |
0 |
7.347 0 |
7.348 ≥ 2 |
7.349 0 |
7.350 0 |
7.351 ≥ 2 |
7.352 ≥ 2 |
7.353 0 |
7.354 2 |
0 |
7.355 0 |
7.356 1 |
7.357 0 |
7.358 0 |
7.359 1 |
7.360 1 |
7.361 0 |
7.362 1 |
0 |
7.363 0 |
7.364 0 |
7.365 0 |
7.366 0 |
7.367 0 |
7.368 0 |
7.369 0 |
7.370 0 |
a) Lưu ý rằng các mã đánh dấu ngữ cảnh được lập chỉ số chỉ để thuận tiện xác định trong tiêu chuẩn này. b) "x" biểu thị trạng thái "không cần quan tâm". |
Quá trình lan truyền có nghĩa chỉ bao gồm các bit của các hệ số mà không có nghĩa (trạng thái có nghĩa vẫn chưa được thiết lập) và có ngữ cảnh khác không. Tất cả các hệ số khác được bỏ qua. Ngữ cảnh được gửi đến bộ mã hóa số học (cùng với bit hệ số để được mã hóa). Nếu giá trị của bit này là 1, thì trạng thái có nghĩa được thiết lập bằng 1 và bit ngay tiếp theo được mã hóa là bit dấu cho hệ số. Nếu không, trạng thái có nghĩa vẫn là 0. Khi các ngữ cảnh của các quá trình mã hóa và hệ số liên tiếp được xem xét thì trạng thái có nghĩa nhất hiện tại cho ngữ cảnh này được sử dụng.
D.3.2 Mã hóa bit dấu
Mã đánh dấu ngữ cảnh để mã hóa bit dấu được xác định bằng cách sử dụng vector ngữ cảnh khác từ vùng lân cận. Việc tính toán của mã đánh dấu ngữ cảnh được xem như là một quy trình hai bước. Bước đầu tiên tóm lược đóng góp của các lân cận chiều dọc và ngang. Bước thứ hai quy những đóng góp này thành một trong 5 mã đánh dấu ngữ cảnh.
Đối với bước đầu tiên, hai mã đánh dấu ngữ cảnh lân cận theo chiều dọc (xem hình D.2) cùng được xem xét. Mỗi mã đánh dấu ngữ cảnh lân cận có thể có một trong ba trạng thái: dương có nghĩa, âm có nghĩa hoặc vô nghĩa. Nếu hai mã đánh dấu ngữ cảnh lân cận theo chiều dọc đều có nghĩa cùng dấu, hoặc nếu chỉ có một ngữ cảnh có nghĩa, thì đóng góp theo chiều dọc là 1 nếu dấu là dương hoặc -1 nếu dấu là âm. Nếu cả hai mã đánh dấu ngữ cảnh lân cận theo chiều dọc vô nghĩa, hoặc cả hai đều có nghĩa với dấu khác nhau thì đóng góp theo chiều dọc bằng 0. Đóng góp theo chiều ngang được tạo ra theo cách tương tự. Tóm lại, nếu mã đánh dấu ngữ cảnh lân cận nằm ngoài các khối mã thì nó được xem là vô nghĩa. Bảng D.2 biểu diễn các đóng góp này.
Bảng D.2 - Đóng góp của các lân cận ngang (dọc) cho ngữ cảnh dấu
V0 (hoặc H0) |
V1 (hoặc H1) |
Phần đóng góp V (hoặc H) |
Có nghĩa, dương |
7.371 Có nghĩa, dương |
7.372 1 |
Có nghĩa, âm |
7.373 Có nghĩa, dương |
7.374 0 |
Vô nghĩa |
7.375 Có nghĩa, dương |
7.376 1 |
Có nghĩa, dương |
7.377 Có nghĩa, âm |
7.378 0 |
Có nghĩa, âm |
7.379 Có nghĩa, âm |
7.380 -1 |
Vô nghĩa |
7.381 Có nghĩa, âm |
7.382 -1 |
Có nghĩa, dương |
7.383 Vô nghĩa |
7.384 1 |
Có nghĩa,âm |
7.385 Vô nghĩa |
7.386 -1 |
Vô nghĩa |
7.387 Vô nghĩa |
7.388 0 |
Bước thứ hai quy chín hoán vị của các đóng góp theo chiều dọc và chiều ngang thành 5 mã đánh dấu ngữ cảnh. Bảng D.3 biểu diễn các mã đánh dấu ngữ cảnh này. Ngữ cảnh này được cung cấp cho bộ mã hóa số học với quyết định. Bit dấu sau đó loại trừ logic ORed với XORbit trong Bảng D.3 để tạo quyết định D (xem Phụ lục C). Phương trình sau đây được sử dụng:
D = signbitUXORbit (D-1)
Trong đó signbit là bit dấu của hệ số hiện tại (bit 1 biểu thị hệ số âm, bit 0 biểu thị hệ số dương), D là giá trị được cung cấp cho các bộ mã hóa số học với mã đánh dấu ngữ cảnh, và XORbit được cho trong bảng D. 3 cho mã đánh dấu ngữ cảnh hiện tại.
Bảng D.3 - Các ngữ cảnh dấu từ đóng góp ngang và dọc
Đóng góp theo chiều dọc |
Đóng góp theo chiều ngang |
Mã đánh dấu ngữ cảnh |
XORbit |
1 |
7.389 1 |
7.390 13 |
7.391 0 |
1 |
7.392 0 |
7.393 12 |
7.394 0 |
1 |
7.395 -1 |
7.396 11 |
7.397 0 |
0 |
7.398 1 |
7.399 10 |
7.400 0 |
0 |
7.401 0 |
7.402 9 |
7.403 0 |
0 |
7.404 -1 |
7.405 10 |
7.406 1 |
-1 |
7.407 1 |
7.408 11 |
7.409 1 |
-1 |
7.410 0 |
7.411 12 |
7.412 1 |
-1 |
7.413 -1 |
7.414 13 |
7.415 1 |
D.3.3 Quá trình tinh chỉnh cường độ
Quá trình tinh chỉnh cường độ bao gồm các bit từ hệ số có nghĩa (ngoại trừ các hệ số có nghĩa ngay trước quá trình lan truyền có nghĩa).
Ngữ cảnh sử dụng được xác định bằng tổng của trạng thái có nghĩa của lân cận ngang, dọc và chéo. Đây là các trạng thái được biết cho bộ mã hóa, không phải trạng thái sử dụng trước cho quá trình mã hóa có nghĩa. Hơn nữa, nó phụ thuộc vào việc đây là bit lọc đầu tiên (bit ngay sau các bit dấu và có nghĩa) hay không. Bảng D.4 cho thấy ba ngữ cảnh của quá trình này.
Bảng D.4 - Các ngữ cảnh cho các quá trình mã hóa tinh chỉnh cường độ
ΣHi + ΣVi + ΣDi |
Lọc cho các hệ số |
Mã đánh dấu ngữ cảnh |
xa) |
7.416 sai |
7.417 16 |
≥□1 |
7.418 đúng |
7.419 15 |
0 |
7.420 đúng |
7.421 14 |
a) "x" biểu thị trạng thái "không cần quan tâm". |
Ngữ cảnh được chuyển đến các bộ mã hóa số học cùng với dòng bit. Các bit trở về giá trị của hệ số hiện tại trong mặt phẳng bit hiện tại.
D.3.4 Quá trình loại bỏ dữ liệu thừa
Các hệ số còn lại là vô nghĩa trước đó và không được xử lý bởi quá trình lan truyền có nghĩa. Quá trình loại bỏ dữ liệu thừa không chỉ sử dụng ngữ cảnh lân cận giống như quá trình lan truyền có nghĩa, từ Bảng D.1, mà còn sử dụng ngữ cảnh loạt dài.
Trong suốt quá trình loại bỏ dữ liệu thừa, các ngữ cảnh lân cận cho các hệ số trong quá trình này được tái tạo sử dụng Bảng D.1. Hiện tại mã đánh dấu ngữ cảnh có thể có bất kỳ giá trị nào vì các hệ số được tìm thấy có nghĩa trong quá trình lan truyền có nghĩa được xem là có nghĩa trong quá trình loại bỏ dữ liệu thừa. Loạt dài được mã hóa với một ngữ cảnh duy nhất. Nếu bốn hệ số liền tiếp trong cột được quét đều được mã hóa trong quá trình loại bỏ dữ liệu thừa và mã đánh dấu ngữ cảnh cho tất cả là 0 (kể cả hệ số ngữ cảnh từ các quá trình loại bỏ dữ liệu thừa, có nghĩa và biên độ trước), thì ngữ cảnh loạt dài duy nhất được đưa cho bộ mã hóa số học cùng với quyết định D (xem Phụ lục C). Nếu tất cả các hệ số liên tiếp trong cột còn lại vô nghĩa thì quyết định là 0.
Ngoài ra, nếu ít nhất một trong bốn hệ số liên tiếp trong cột có nghĩa thì quyết định là 1 Trong trường hợp này, hai bit tiếp theo được mã hóa với ngữ cảnh UNIFORM (chỉ số 46 trong Bảng C.2), biểu thị hệ số từ đỉnh cột xuống là hệ số đầu tiên được tìm thấy có nghĩa. Hai bit được mã hóa với ngữ cảnh UNIFORM là MSB mã hóa tiếp theo LSB. Bit dấu của hệ số được xác định như mô tả trong D.3.2. Việc mã hóa của bất kỳ hệ số còn lại tiếp tục theo cách thức được mô tả trong D.3.1.
Nếu bốn hệ số liên tiếp trong cột không được mã hóa tất trong quá trình loại bỏ dữ liệu thừa hoặc ngăn ngữ cảnh bất kỳ khác 0, thì các bit hệ số được mã hóa với ngữ cảnh trong Bảng D.1 như trong quá trình lan truyền có nghĩa. Các ngữ cảnh tương tự như lan truyền có nghĩa được sử dụng ở đây (trạng thái được sử dụng cũng như các mô hình). Bảng D.5 biểu diễn logic cho các quá trình loại bỏ dữ liệu thừa.
Bảng D.5 - Bộ mã hóa loạt dài cho các quá trình loại bỏ dữ liệu thừa
Bốn hệ số liên tiếp trong cột còn lại được mã hóa và mỗi hệ số hiện tại có bối cảnh 0 |
Các ký hiệu với ngữ cảnh loạt dài |
Bốn bit liên tiếp được giải mã bằng không. |
Các ký hiệu được giải mã với ngữ cảnh UNIFORMa) |
Số các hệ số để giải mã |
đúng |
7.422 0 |
7.423 đúng |
7.424 - |
7.425 - |
đúng |
7.426 1 |
7.427 Sai |
7.428 MSB |
|
|
LSB |
|
||
Bỏ qua dấu hệ số đầu tiên |
00 |
3 |
||
Bỏ qua dấu hệ số thứ 2 |
01 |
2 |
||
Bỏ qua dấu hệ số thứ 3 |
10 |
1 |
||
Bỏ qua dấu hệ số thứ 4 |
11 |
0 |
||
Sai |
7.429 - |
7.430 x |
7.431 - |
7.432 Còn lại của cột |
a) Xem Phụ lục A. |
Nếu có ít hơn bốn hàng còn lại trong một khối mã, thì mã hóa loạt dài không được sử dụng. Tóm lại, trạng thái của bất kỳ hệ số được thay đổi ngay lập tức sau khi mã hóa các bit 1 độ lớn đầu tiên.
D.3.5 Ví dụ về các quá trình mã hóa và lan truyền ý nghĩa
Bảng D.6 cho thấy một ví dụ về trình tự mã hóa cho các hệ lượng tử của một cột 4 hệ số trong quy trình quét. Ví dụ này giả định tất cả các lân cận không có trong bảng bằng không giống nhau và chỉ ra trong quá trình mỗi bit được mã hóa. Bit dấu được mã hóa sau bit 1 ở đầu và được biểu thị trong bảng bởi dấu + hoặc -. Quá trình đầu tiên trong một khối mới luôn luôn là một quá trình loại bỏ dữ liệu thừa vì không thể có bit có nghĩa hoặc lọc được dự đoán. Sau quá trình đầu tiên, bit 1 được mã hóa của hệ số đầu tiên dẫn đến hệ số thứ hai sẽ được mã hóa trong quá trình có nghĩa cho mặt phẳng bit tiếp theo. Bit 1 được mã hóa cho hệ số cuối cùng trong quá trình loại bỏ dữ liệu thừa thứ hai dẫn đến hệ số thứ ba được mã hóa trong quá trình có nghĩa tiếp theo.
Bảng D.6 - Ví dụ về trình tự mã hóa mặt phẳng bit con và lan truyền có nghĩa
Quá trình mã hóa |
10 |
1 |
3 |
-7 |
Giá trị hệ số |
|
7.433 + |
7.434 + |
7.435 + |
7.436 - |
7.437 Dấu hệ số |
7.438 1 0 1 0 |
7.439 0 0 0 1 |
7.440 0 0 1 1 |
7.441 0 1 1 1 |
7.442 Biên độ hệ số (MSB tới LSB) |
|
Loại bỏ dữ liệu thừa |
7.443 1 |
7.444 0 |
7.445 0 |
7.446 0 |
|
Có nghĩa Lọc Loại bỏ dữ liệu thừa |
7.447 0 7.448 0 7.449 0 7.450 1 |
|
Có nghĩa |
7.451 0 7.452 1 |
|
Lọc |
7.453 1 7.454 1 |
|
Loại bỏ dữ liệu thừa |
|
|
Có nghĩa |
7.455 1 |
|
Lọc |
7.456 0 7.457 1 7.458 1 |
|
Loại bỏ dữ liệu thừa |
|
|
D.4 Khởi tạo và kết thúc
Khi các ngữ cảnh được khởi tạo hoặc khởi tạo lại, chúng được thiết lập các giá trị như trong Bảng D.7.
Bảng D.7 - Trạng thái khởi tạo cho tất cả các ngữ cảnh
Ngữ cảnh |
Chỉ số khởi tạo từ bảng A.1 |
MPS |
UNIFORM |
7.459 46 |
7.460 0 |
Loạt dài |
7.461 3 |
7.462 0 |
Tất cả các lân cận 0 (mã đánh dấu ngữ cảnh 0 trong bảng B.1) |
7.463 4 |
7.464 0 |
Tất cả các ngữ cảnh khác |
7.465 0 |
7.466 0 |
Trong hoạt động bình thường (không bỏ qua mã hóa số học lựa chọn), bộ mã hóa số học sẽ kết thúc vào cuối quá trình mã hóa hoặc chỉ ở phần cuối của khối mã (xem D.4.1). Bảng D.8 cho thấy hai ví dụ về kiểu kết thúc cho các quá trình mã hóa trong một khối mã. Các tín hiệu mã đánh dấu COD hoặc COC mà kiểu kết thúc sử dụng (xem A.6.1 và A.6.2 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004).
Bảng D.8 - Các kiểu kết thúc bộ mã hóa số học
# |
Quá trình |
Kết thúc hoạt động mã hóa trên quá trình cuối cùng |
Kết thúc hoạt động mã hóa trên mọi quá trình |
1 |
7.467 Loại bỏ dữ liệu thừa |
7.468 Bộ mã hóa số học (AC) |
7.469 AC, kết thúc |
2 |
7.470 Truyền dẫn có nghĩa |
7.471 AC |
7.472 AC, kết thúc |
2 |
7.473 Tinh chỉnh cường độ |
7.474 AC |
7.475 AC, kết thúc |
2 |
7.476 Loại bỏ dữ liệu thừa |
7.477 AC |
7.478 AC, kết thúc |
… |
7.479 ... |
7.480 ... |
7.481 ... |
Cuối |
7.482 Truyền dẫn có nghĩa |
7.483 AC |
7.484 AC, kết thúc |
Cuối |
7.485 Tinh chỉnh cường độ |
7.486 AC |
7.487 AC, kết thúc |
Cuối |
7.488 Loại bỏ dữ liệu thừa |
7.489 AC, kết thúc |
7.490 AC, kết thúc |
Khi nhiều kết thúc bộ mã hóa số học xuất hiện, chiều dài của mỗi ngăn xếp kết thúc được báo hiệu trong tiêu đề gói như mô tả trong B.10.7 trong ITU-T Rec. T.800 | ISO/ IEC 15.444-1: 2004.
D.4.1 Kết thúc dòng mã dự kiến
Bộ giải mã đoán trước số lượng byte dòng mã nhất định sẽ giải mã một số lượng các quá trình mã hóa nhất định trước khi bộ mã hóa số học kết thúc. Trong quy trình giải mã, các byte được kéo liên tục từ dòng mã cho đến khi tất cả các byte cho những quá trình mã hóa này được tiêu thụ. Số byte tương ứng với số quá trình mã hóa được quy định trong tiêu đề gói. Thông thường vào thời điểm đó có nhiều ký hiệu được giải mã. Vì vậy, bộ giải mã sẽ mở rộng dòng bit đầu vào cho bộ mã hóa số học với 0xFF byte khi cần thiết, cho đến khi tất cả các ký hiệu đã được giải mã.
Nó đủ để nối thêm không quá hai byte 0xFF, Điều này khiến bộ mã hóa số học phải có ít nhất một cặp liên tiếp byte 0xFF tại đầu vào và được hiểu như là một mã đánh dấu kết thúc dòng (xem C.3.4 trong ITU-T Rec T.800 |. ISO / IEC 15444- 1: 2004). Các dòng bit không thực sự có một mã đánh dấu kết thúc. Tuy nhiên, độ dài byte được ký hiệu một cách rõ ràng cho phép mã đánh dấu kết thúc được tổng hợp cho bộ giải mã số học.
D.4.2 Kết thúc bộ mã hóa số học
Thủ tục FLUSH thực hiện nhiệm vụ này (xem C.2.9). Tuy nhiên, khi thủ tục FLUSH tăng chiều dài của dòng mã và kết thúc thường xuyên được mong muốn thì các kỹ thuật khác có thể được sử dụng. Mọi kỹ thuật đặt tất cả các byte cần thiết trong dòng mã theo cách mà bộ giải mã không cần phải quay lại để tìm vị trí mà tại đó các phân đoạn tiếp theo của dòng mã bắt đầu được chấp nhận.
Khi cờ kết thúc có thể dự đoán được thiết lập (xem COD và COC trong A.6.1 và A.6.2 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004) thì thủ tục kết thúc sau đây sẽ được sử dụng. Các bước sau đây có thể được sử dụng:
1) Xác định số bit trong thanh ghi mã C được đẩy ra ngoài thông qua bộ đệm byte. Điều này được cho bởi k = (11 - CT) + 1.
2) Trong khi (k> 0):
- Thay đổi C để lại bằng CT và thiết lập CT = 0.
- Thực hiện thủ tục BYTEOUT. Điều này thiết lập CT bằng với số bit xóa ra khỏi thanh ghi C.
-Trừ CT cho k.
3) Thực hiện thủ tục BYTEOUT để thúc đẩy các nội dung của bộ đệm thanh ghi byte ra các dòng mã. Bước này sẽ được bỏ qua nếu các byte trong bộ đệm byte có giá trị byte 0xFF.
Chiều dài cắt ngắn có liên quan trong trường hợp này chỉ đơn giản là tổng số byte đẩy ra vào dòng mã.
Nếu cờ kết thúc dự đoán không được thiết lập, đầu ra byte cuối cùng bởi các thủ tục trên nói chung có thể được sửa đổi, trong giới hạn nhất định, mà không ảnh hưởng đến những ký hiệu được giải mã. Đôi khi nó có thể tăng cường cho byte cuối cùng với giá trị đặc biệt, 0xFF, mà không được gửi đi. Nó có thể được chỉ ra rằng điều này xảy ra khoảng 1/8 thời gian.
D.4.3 Tính toán độ dài
Để bao gồm dữ liệu ảnh nén quá trình mã hóa vào các gói thì số lượng các byte bao gồm phải được xác định: Nếu dữ liệu ảnh nén quá trình mã hóa kết thúc, thuật toán trong mệnh đề trước đó có thể được sử dụng. Nếu không, các bộ mã hóa phải tính toán chiều dài phù hợp như vậy các byte tương ứng là đủ cho bộ giải mã để tái tạo lại các quá trình mã hóa.
D.5 Ký hiệu phân đoạn khả năng phục hồi lỗi
Ký hiệu phân đoạn là một ký hiệu đặc biệt. Cho dù nó sử dụng báo hiệu trong các đoạn mã đánh dấu COC hoặc COD hay không (xem A.6.1 và A.6.2 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004). Các ký hiệu được mã hóa với ngữ cảnh UNIFORM của bộ mã hóa số học tại cuối mỗi mặt phẳng bit. Việc giải mã chính xác của ký hiệu này xác nhận tính đúng đắn việc giải mã của mặt phẳng bit này, cho phép phát hiện lỗi. Tại bộ mã hóa, một ký hiệu phân đoạn 1010 hoặc 0xA được mã hóa tại cuối mỗi mặt phẳng bit (ở cuối quá trình loại bỏ dữ liệu thừa). Nếu ký hiệu phân đoạn không được giải mã một cách chính xác tại bộ giải mã thì các lỗi bít xảy ra cho mặt phẳng bit này.
D.6 Bỏ qua mã hóa số học lựa chọn
Loại mã hóa này cho phép bỏ qua bộ mã hóa số học cho quá trình lan truyền có nghĩa và các quá trình mã hóa tinh chỉnh cường độ bắt đầu từ mặt phẳng bit có nghĩa thứ năm của khối mã. Mã đánh dấu COC hoặc COD báo hiệu dù loại mã hóa này được sử dụng hay không (xem A.6.1 và A.6.2 trong ITU-T Rec T.800 | ISO/IEC 15.444-1: 2004).
Quá trình loại bỏ dữ liệu thừa đầu tiên (đó là mặt phẳng bit đầu tiên của khối mã với một phần tử khác không) và ba tập hợp tiếp theo của các quá trình mã hóa làm sách, tinh chỉnh cường độ và lan truyền có nghĩa được mã hóa với bộ mã hóa số học. Quá trình loại bỏ dữ liệu thừa thứ tư sẽ bao gồm kết thúc bộ mã số học (xem bảng D.9).
Bảng D.9 - Bỏ qua mã hóa số học lựa chọn
Số mặt phẳng bít |
Loại quá trình |
Hoạt động mã hóa |
1 |
7.491 Loại bỏ dữ liệu thừa |
7.492 Mã hóa số học (AC) |
2 |
7.493 Lan truyền có nghĩa |
7.494 AC |
2 |
7.495 Tinh chỉnh cường độ |
7.496 AC |
2 |
7.497 Loại bỏ dữ liệu thừa |
7.498 AC |
3 |
7.499 Lan truyền có nghĩa |
7.500 AC |
3 |
7.501 Tinh chỉnh cường độ |
7.502 AC |
3 |
7.503 Loại bỏ dữ liệu thừa |
7.504 AC |
4 |
7.505 Lan truyền có nghĩa |
7.506 AC |
4 |
7.507 Tinh chỉnh cường độ |
7.508 AC |
4 |
7.509 Loại bỏ dữ liệu thừa |
7.510 AC, kết thúc |
5 |
7.511 Lan truyền có nghĩa |
7.512 Chưa xử lý |
5 |
7.513 Tinh chỉnh cường độ |
7.514 Chưa xử lý, kết thúc |
5 |
7.515 Loại bỏ dữ liệu thừa |
7.516 AC, kết thúc |
… |
7.517 ... |
7.518 … |
Cuối cùng |
7.519 Lan truyền có nghĩa |
7.520 Chưa xử lý |
Cuối cùng |
7.521 Tinh chỉnh cường độ |
7.522 Chưa xử lý, kết thúc |
Cuối cùng |
7.523 Loại bỏ dữ liệu thừa |
7.524 AC, kết thúc |
Bắt đầu với các quá trình mã hóa tinh chỉnh cường độ và lan truyền có nghĩa thứ tư, các bit sẽ được cung cấp cho bộ mã hóa số học thay vì được cung cấp trực tiếp cho các dòng bit. Sau mỗi quá trình tinh chỉnh cường độ, dòng bit "kết thúc" bằng cách đệm đến ranh giới byte.
Khi cờ kết thúc có thể dự đoán được thiết lập (xem COD và COC trong A.6.1 và A.6.2 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004) và tất cả các bit từ quá trình tinh chỉnh cường độ đã được thu thập và các bit còn lại trong byte cuối cùng được lấp đầy với một chuỗi luân phiên của 0 và số 1. Trình tự này nên bắt đầu với một bit 0 không phụ thuộc vào số lượng các bit được đệm.
Khi kết thúc trên cờ quá trình mã hóa được thiết lập (xem COD và COC trong A.6.1 và A.6.2 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004), thì các quá trình lan truyền có nghĩa được kết thúc với cùng một cách như các quá trình tinh chỉnh cường độ.
Các quá trình mã hóa loại bỏ dữ liệu thừa tiếp tục cung cấp dữ liệu ảnh nén trực tiếp cho bộ mã hóa số học và luôn được kết thúc.
Bit dấu được tính với công thức (D-2):
raw_value = signbit (D-2)
Trong đó raw_value = 1 là một bit dấu âm và raw_value = 0 là một bit dấu dương. Bảng D.9 cho thấy chuỗi mã hóa.
Chiều dài của mỗi phân đoạn kết thúc cộng với chiều dài của bất kỳ quá trình không kết thúc còn lại được báo hiệu trong tiêu đề gói như mô tả ở B.10.7 trong ITU-T Rec. T.800 | ISO / IEC 15.444-1: 2004. Nếu kết thúc trên mỗi quá trình mã hóa được chọn (xem A.6.1 và A.6.2 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004), thì tất cả các quá trình được kết thúc (bao gồm cả các quá trình đang hoạt động).
Bit được đóng gói vào byte từ bit có trọng số lớn nhất đến bit có trọng số nhỏ nhất. Khi một byte được ghép hoàn chỉnh, nó được phát đến dòng bit. Nếu giá trị của byte là một 0xFF thì một bit không được nhồi vào bit có trọng số lớn nhất của byte tiếp theo. Khi tất cả các bit của quá trình mã hóa đã được ghép thì byte cuối cùng được đóng gói đến ranh giới byte và phát ra. Byte cuối cùng sẽ không có giá trị 0xFF.
Tại bộ giải mã, nếu giá trị 0xFF được gặp phải trong dòng bit thì bit đầu tiên của byte tiếp theo sẽ bị loại bỏ. Chuỗi các bit được sử dụng trong bỏ qua mã hóa số học chọn lọc được nhồi vào byte bằng cách sử dụng thủ tục quen bit nhồi.
D.7 Hình thành ngữ cảnh quan hệ theo chiều dọc
Loại mã hóa này hạn chế sự hình thành ngữ cảnh cho việc quét khối mã hiện tại và quá khứ (bốn hàng của các hệ số quét theo chiều dọc). Nghĩa là, mọi hệ số từ việc quét khối mã tiếp theo được xem là vô nghĩa. Mã đánh dấu COD hoặc COC báo hiệu dù loại mã hóa này được sử dụng hay không (xem A.6.1 và A.6.2 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004).
Để minh họa, các bit được gắn mã đánh dấu 14 trong hình D.1 được mã hóa như bình thường bằng cách sử dụng các trạng thái lân cận theo đặc tả trong Hình D.2, độc lập dù ngữ cảnh là quan hệ theo chiều dọc hay không. Tuy nhiên, khi hình thành ngữ cảnh quan hệ theo chiều dọc được sử dụng, bit gắn mã đánh dấu 15 được mã hóa với giả thiết D2 = V1 = D3 = 0 trong hình D.2.
D.8 Sơ đồ khối của mã hóa khối mã
Các bước để mô hình hóa mỗi mặt phẳng bit của mỗi khối mã được biểu diễn trong hình D.3. Các quyết định được tạo trong Bảng D.10, các bit và ngữ cảnh gửi đến bộ mã hóa trong Bảng D.11. Những điều này biểu diễn ngữ cảnh mà không bỏ qua mã hóa số học lựa chọn hoặc mô hình quan hệ theo chiều dọc.
Hình D.3 - Biểu đồ cho tất cả các quá trình mã hóa trên mặt phẳng bit khối mã
Bảng D.10 - Các quyết định trong biểu đồ mô hình ngữ cảnh
Quyết định |
Câu hỏi |
Mô tả |
DO |
7.525 Đây có phải là mặt phẳng bit có nghĩa đầu tiên của khối mã? |
7.526 Xem D.3 |
D1 |
7.527 Hệ số hiện tại có nghĩa không? |
7.528 Xem D.3.1 |
D2 |
7.529 Thùng ngữ cảnh có bằng 0 không? (Xem bảng B.1) |
7.530 Xem D.3.1 |
D3 |
7.531 Hệ số hiện tại đã trở nên có nghĩa chưa? |
7.532 Xem D.3.1 |
D4 |
7.533 Có nhiều hệ số trong lan truyền có nghĩa không? |
|
D5 |
7.534 Hệ số có vô nghĩa không? |
7.535 Xem D.3.3 |
D6 |
7.536 Hệ số đã được mã hóa trong lan truyền có nghĩa chưa? |
7.537 Xem D.3.3 |
D7 |
7.538 Có nhiều hệ số trong quá trình tinh chỉnh cường độ không? |
|
D8 |
7.539 Có bốn hệ số không được giải mã liên tiếp trong một cột với ngữ cảnh 0 không? |
7.540 Xem D.3.4 |
D9 |
7.541 Hệ số là có nghĩa hoặc bit đã được mã hóa trong quá trình mã hóa lan truyền có nghĩa chưa? |
7.542 Xem D.3.4 |
D10 |
7.543 Có nhiều hệ số còn lại của bốn hệ số cột không? |
|
D11 |
7.544 Có 4 bit liên tiếp đều bằng 0 không? |
7.545 Xem D.3.4 |
D12 |
7.546 Có nhiều hệ số trong quá trình loại bỏ dữ liệu thừa không? |
|
Bảng D.11 - Giải mã trong biểu đồ mô hình ngữ cảnh
Mã |
Ký hiệu giải mã |
Ngữ cảnh |
Giải thích |
Mô tả |
C0 |
7.547 - |
7.548 - |
7.549 Tới cột hoặc hệ số tiếp theo |
|
C1 |
7.550 Có nghĩa mới? |
7.551 Bảng D.1, 9 mã đánh dấu ngữ cảnh |
7.552 Giải mã bit có nghĩa của hệ số hiện tại (lan truyền có nghĩa hoặc loại bỏ dữ liệu thừa) |
7.553 Xem D.3.1 |
C2 |
7.554 Bit dấu |
7.555 Bảng D.3, 5 mã đánh dấu ngữ cảnh |
7.556 Giải mã bit dấu của hệ số hiện tại |
7.557 Xem D.3.2 |
C3 |
7.558 Bit biên độ hiện tại |
7.559 Bảng D.4, 3 mã đánh dấu ngữ cảnh |
7.560 Giải mã bit quá trình tinh chỉnh cường độ của hệ số hiện tại |
7.561 Xem D.3.3 |
C4 |
7.562 0 1 |
7.563 Mã đánh dấu ngữ cảnh loạt dài |
7.564 Giải mã loạt dài của 4 ngữ cảnh 0 Giải mã loạt dài của 4 ngữ cảnh khác 0 |
7.565 Xem D.3.4 |
C5 |
7.566 00 01 10 11 |
7.567 UNIFORM |
7.568 Hệ số đầu tiên có bit đầu tiên khác 0 Hệ số thứ hai có bit đầu tiên khác 0 Hệ số thứ ba có bit đầu tiên khác 0 Hệ số thứ tư có bit đầu tiên khác 0 |
7.569 Xem D.3.4 và Bảng C.2 |
Phụ lục này đặc tả quy trình lượng tử của các hệ số biến đổi cho mã hóa. Lượng tử là quy trình mà các hệ số biến đổi được làm nhỏ đi một cách chính xác.
E.1 Thủ tục lượng tử hóa khả đảo
Với mỗi hệ số biến đổi (u, v) của băng con b cho trước, giá trị hệ số biến đổi được mã hóa được cho bởi phương trình sau:
trong đó Sb(u, v) là bit dấu, Nb(u, v) là số các MSB biên độ được mã hóa, MSBi(b, u, v) là MSB thứ I của hệ số biến đổi (u,v) của băng con b (i = 1, …, Nb(u, v)) và Mbcos được bằng cách sử dụng phương trình (C-2), trong đó số lượng các bit bảo vệ G và số mũ εb được quy định trong các đoạn mã đánh dấu QCD hoặc QCC (xem A.6.4 và A.6.5 trong ITU-T Rec T.800 |. ISO / IEC 15.444-1: 2004).
Mb = G + εb - 1 (E-2)
Mỗi hệ số biến đổi giải mã qb (u, v) của băng con b được sử dụng để tạo ra một hệ số biến đổi tái tạo Rqb (u, v) như được mô tả trong E.1.1.
E.1.1 Xác định kích thước bước lượng tử hóa trong biến đổi không khả đảo
Đối với biến đổi không khả đảo, kích thước bước lượng tử ∆b cho băng con b cho trước được tính từ dải động Rb của băng con b, số mũ εb và phần định trị μb như được cho trong phương trình (E-3).
Trong phương trình (E-3), số mũ εb và phần định trị μb được quy định trong các đoạn mã đánh dấu QCD hoặc QCC (xem A.6.4 và A.6.5 trong ITU-T Rec T.800 |. ISO / IEC 15444-1: 2004), và dải động danh nghĩa Rb (như được cho trong phương trình (C-4)) là tổng của RI (số bit được sử dụng để biểu diễn các mẫu khối ảnh thành phần ban đầu có thể được chiết xuất từ mã đánh dấu SIZ - xem bảng A.11 trong A.5.1 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004) và số mũ cơ số 2 của độ lợi băng con (gainb) của băng con hiện tại b, mà biến đổi với các loại băng con b (levLL, levLH hoặc levHL, levHH - xem D.1.1) và có thể được tìm thấy trong Bảng E.1.
Bảng E.1 - Độ lợi băng con
Băng con b |
gainb |
log2(galnb) |
levLL |
7.570 1 |
7.571 0 |
levLH |
7.572 2 |
7.573 1 |
levHL |
7.574 2 |
7.575 1 |
levHH |
7.576 4 |
7.577 2 |
Rb = RI + log2 (gainb) (E-4)
Cặp số mũ, phần định trị (εb,μb) được báo hiệu trong dòng mã cho mỗi băng con (lượng tử chi tiết) hoặc báo hiệu cho băng con NLLL và chuyển cho tất cả các băng con khác (lượng tử dẫn xuất) (xem Bảng A.30 trong ITU-T Rec. T 0,800 | ISO / IEC 15.444-1: 2004). Trong trường hợp lượng tử dẫn xuất, tất cả cặp mũ / phần định trị (εb,μb) dẫn xuất từ cặp mũ / phần định trị (εb,μb) tương ứng với băng con NLLL theo phương trình (C-5).
(εb,μb) = (εo - NL + nb,μo) (E-5)
trong đó nb là số mức độ phân giải từ khối ảnh thành phần gốc cho băng con b.
E.1.2 Xác định kích thước bước lượng tử hóa trong biến đổi khả đảo
Đối với biến đổi khả đảo, kích thước bước lượng tử ∆b bằng một (không thực hiện lượng hóa).
E.2 Lượng tử hóa hệ số vô hướng
Đối với nén không khả đảo, sau khi biến đổi sóng con rời rạc thuận không khả đảo (xem Phụ lục D), mỗi hệ số biến đổi ab(u, v) của băng con được lượng tử thành giá trị qb(u, v) theo phương trình (E-6).
trong đó ∆b là kích thước bước lượng tử. Số mũ εb và phần định trị tương ứng với ∆b có thể được lấy từ phương trình (E-5) và phải ghi vào dòng mã trong các mã đánh dấu QCD hoặc QCC (xem A.6.4 và A.6.5 trong ITU-T Rec. T. 800 | ISO / IEC 15.444-1: 2004).
Đối với nén khả đảo, kích thước bước lượng tử hóa phải bằng 1. Trong trường hợp này, tham số εb phải được ghi vào dòng mã trong các mã đánh dấu QCD hoặc QCC (xem A.6.4 và A.6.5 trong ITU-T Rec. T.800 | ISO / IEC 15.444-1: 2004) và được tính như sau:
trong đó RI và gainb được như mô tả trong E.1.1 và ζc bằng không nếu RCT không được sử dụng và ζc bằng số bit bổ sung thêm bởi RCT nếu RCT được sử dụng như mô tả trong G.2.
Đối với cả hai nén khả đảo và không khả đảo, để ngăn chặn khả năng tràn hoặc lệch vượt khỏi dải danh định của biểu diễn số nguyên |qb(u, v)| tăng, ví dụ như trong quy trình tính toán dấu phẩy động, số Mb của các bit cho biểu diễn số nguyên qb(u, v) được sử dụng tại bộ mã hóa được xác định bởi phương trình (E-2). Số G của các bit bảo vệ phải được quy định trong mã đánh dấu QCD hoặc QCC (xem A.6.4 và A.6.5 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004). Giá trị tiêu biểu cho số lượng các bit bảo vệ là G = 1 hoặc G = 2.
Biến đổi sóng con rời rạc của khối ảnh thành phần
Phụ lục này mô tả biến đổi sóng con rời rạc thuận được áp dụng cho một khối ảnh thành phần.
F.1 Tham số khối ảnh thành phần
Xét khối ảnh thành phần được xác định bởi các tọa độ, tcx0, tcx1, tcy0 và tcy1 được cho bởi phương trình ((B-12) ở tiêu chuẩn ITU T Rec. T.800 | ISO / IEC 15444-1: 2004):
Thì tọa độ (x, y) của khối ảnh thành phần (với giá trị mẫu I (x, y)) nằm trong dải được xác định bởi:
tcx0 ≤ x < tcx1 và tcy0 ≤ y < tcy1 (F-1)
F.2 Biến đổi sóng con rời rạc
F.2.1 Lọc thông cao và lọc thông thấp
Để thực hiện biến đổi sóng con rời rạc thuận (FDWT), Tiêu chuẩn này sử dụng phân tách băng con một chiều của mảng một chiều của các mẫu với các hệ số thông thấp, đại diện cho một phiên bản có độ phân giải thấp được giảm kích cỡ của mảng ban đầu và các hệ số thông cao, đại diện cho một phiên bản còn lại được giảm kích cỡ của mảng ban đầu, cần để tái tạo lại hoàn toàn mảng ban đầu từ mảng thông thấp.
F.2.2 Mức phân tách
Mỗi khối ảnh thành phần được biến đổi thành một tập các tín hiệu băng con hai chiều (gọi là các băng con), biểu diễn hoạt động của tín hiệu trong các tần số khác nhau, với độ phân giải không gian khác nhau. NL là số mức phân tách.
F.2.3 Bộ lọc sóng con rời rạc
Tiêu chuẩn này quy đặc tả một biến đổi khả đảo và một biến đổi không khả đảo. Cho các mẫu khối ảnh thành phần có giá trị nguyên, một biến đổi khả đảo yêu cầu các đặc điểm kỹ thuật của thủ tục làm tròn cho hệ số biến đổi có giá trị không nguyên trung gian.
F.3 Biến đổi thuận
F.3.1 Thủ tục FDWT
Biến đổi sóng con rời rạc thuận (FDWT) biến đổi các mẫu khối ảnh thành phần chuyển mức DC I (x, y) thành một tập hợp các băng con với hệ số ab (ub, vb) (thủ tục FDWT). Thủ tục FDWT (xem Hình D.1) cũng có đầu vào là số lượng các mức phân tách NL được báo hiệu trong mã đánh dấu COD hoặc COC (xem A.6.1 và A.6.2 trong ITU-T Rec T.800 |. ISO/ IEC 15.444-1: 2004).
Hình F.1 - Các đầu vào và đầu ra của thủ tục FDWT
Như minh họa trong hình F.2, tất cả các băng con trong trường hợp NL = 2 có thể được biểu diễn theo cách sau:
Hình F.2 - FDWT (NL = 2)
Thủ tục FDWT bắt đầu bằng việc khởi tạo biến lev (mức phân tách hiện tại) về 0 và thiết lập các băng con a0LL (u0LL, v0LL) thành mảng đầu vào I (u, v). Thủ tục 2D_SD được thực hiện ở tất cả các mức lev mà mức lev tăng lên một tại mỗi lần lặp cho đến khi phép lặp NL được thực hiện. Thủ tục 2D_SD được lặp trên băng con levLL được sinh ra tại mỗi lần lặp.
Theo quy định tại Phụ lục B của ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004 (xem phương trình (B-15)).
Tọa độ của các băng con alevLL (u, v) nằm trong dải được xác định bởi:
tbx0 ≤ u < tbx1 and tby0 ≤ v < tby1 (F-2)
Hình F.3 mô tả thủ tục FDWT.
Hình F.3 - Thủ tục FDWT
F.3.2 Thủ tục 2D_SD
Thủ tục 2D_SD thực hiện phân tách một mảng hai chiều của các hệ số hoặc mẫu a(lev - 1) LL (u, v) thành bốn nhóm của các hệ số băng con alevLL (u, v), alevHL (u, v), alevLH (u, v) và alevHH (u, v).
Tổng số các hệ số của băng con levLL bằng tổng của tổng số các hệ số của bốn băng con thu được từ thủ tục 2D_SD.
Hình F.4 mô tả các tham số đầu vào và đầu ra của thủ tục 2D_SD.
Hình F.4 - Đầu vào và đầu ra của thủ tục 2D_SD
Hình F.5 minh họa phân tách băng con được thực hiện bởi thủ tục 2D_SD.
Hình F.5 - Phân tách 1 mức thành 4 băng con (thủ tục 2D_SD)
Thủ tục 2D_SD đầu tiên áp dụng thủ tục VER_SD cho tất cả các cột của a(u, v). Sau đó áp dụng thủ tục HOR_SD cho tất cả các hàng của a (u, v). Do đó các hệ số thu được từ a (u, v) được giải đan xen thành bốn băng con bằng cách sử dụng thủ tục 2D_DEINTERLEAVE.
Hình F.6 mô tả thủ tục 2D_SD.
Hình F.6 - Thủ tục 2D_SD
F.3.3 Thủ tục VER_SD
Thủ tục VER_SD thực hiện phân tách băng con theo chiều dọc của một mảng hai chiều các hệ số. Nó đưa vào đầu vào mảng hai chiều a (Iev - 1) LL (u, v), khoảng theo chiều ngang và chiều dọc của các hệ số được xác định bởi u0 ≤ u < u1 và v0 ≤ v < v1 (xem hình F.7) và các thủ tục là đầu ra một phiên bản được lọc theo chiều dọc a(u, v) của mảng đầu vào, cột theo cột. Các giá trị của u0, u1, v0, v1 được sử dụng bởi thủ tục VER_SD là tbx0, tbx1, tby0, tby1 tương ứng với băng con b = (lev - 1) LL (xem định nghĩa trong phương trình (B-15) tại Phụ lục B trong ITU-T Rec T.800 | ISO / IEC 15444-1: 2004).
Hình F.7 - Đầu vào và đầu ra của thủ tục VER_SD
Như minh họa trong hình F.8, thủ tục VER_SD áp dụng phân tách băng con 1 chiều (thủ tục 1D_SD) cho mỗi cột của mảng đầu vào a(u,v) và lưu trữ kết quả lại vào mỗi cột.
Hình F.8 - Thủ tục VER_SD
D.3.4 Thủ tục HOR_SD
Thủ tục HOR_SD thực hiện phân tách băng con theo chiều ngang của một mảng hai chiều các hệ số. Nó đưa vào đầu vào một mảng hai chiều a (u, v), khoảng theo chiều ngang và chiều dọc của các hệ số được xác định bởi u0 ≤ u < u1 và v0 ≤ v < v1 (xem hình F.9) và các thủ tục là đầu ra một phiên bản được lọc theo chiều ngang a(u, v) của mảng đầu vào, hàng theo hàng.
Hình F.9 - Đầu vào và đầu ra của thủ tục HOR_SD
Như minh họa trong hình F.10, thủ tục HOR_SD áp dụng phân tách băng con 1 chiều (thủ tục 1D_SD) cho mỗi hàng của mảng đầu vào a(u,v) và lưu trữ kết quả lại vào mỗi hàng.
Hình F.10 - Thủ tục HOR_SD
F.3.5 Thủ tục 2D_DEINTERLEAVE
Như được minh họa trong hình F.11, thủ tục 2D_DEINTERLEAVE giải đan xen các hệ số a (u, v) thành bốn băng con. Việc sắp xếp phụ thuộc vào các tọa độ (u0, v0) của hệ số đầu tiên của a(u, v).
Cách các băng con được hình thành từ đầu ra a (u, v) của thủ tục HOR_SD được mô tả bởi các thủ tục 2D_DEINTERLEAVE được minh họa trong hình F.12.
Hình F.11 - Các tham số của thủ tục 2D_DEINTERLEAVE
Hình F.12 - Thủ tục 2D_DEINTERLEAVE
F.3.6 Thủ tục 1D_SD
Như được minh họa trong hình F.13, thủ tục 1D_SD đưa vào đầu vào một mảng một chiều X(i), khoảng của các hệ số của nó được xác định bởi i0 ≤ i < iI. Nó sinh ra đầu ra mảng Y(i) với cùng các chỉ số (i0, i1).
Hình D.13 - Các tham số của thủ tục 1D_SD
Đối với tín hiệu có độ dài một (tức là, i0 = il - 1), thủ tục 1D_SD đặt giá trị của Y (i0) thành Y (i0) = X (i0) nếu i0 là một số nguyên chẵn và Y (i0) = 2X (i0) nếu i0 là một số nguyên lẻ.
Đối với các tín hiệu có độ dài lớn hơn hoặc bằng hai (tức là, i0 < il - 1), như minh họa trong hình F.14, thủ tục 1D_SD đầu tiên sử dụng thủ tục 1D_EXTD để mở rộng tín hiệu X vượt qua biên trái và phải của nó để sinh ra tín hiệu mở rộng Xext và sau đó sử dụng thủ tục 1D_FILTD để lọc tín hiệu mở rộng Xext và sinh ra tín hiệu lọc mong muốn Y.
Hình F.14 - Thủ tục 1D_SD
F.3.7 Thủ tục 1D_EXTD
Thủ tục 1D_EXTD giống hệt với các thủ tục 1D_EXTR, trừ các giá trị của , và các thông số , được đưa ra trong Bảng F.1 và F.2.
Bảng F.1 - Mở rộng trái
i0 |
|
|
Chẵn |
7.578 2 |
7.579 4 |
7.580 Lẻ |
7.581 1 |
7.582 3 |
Bảng F.2 - Mở rộng phải
il |
|
|
Lẻ |
7.583 2 |
7.584 4 |
7.585 Chẵn |
7.586 1 |
7.587 3 |
F.3.8 Thủ tục 1D_FILTD
Tiêu chuẩn này đặc tả một thủ tục không khả đảo (1D_FILTD9-7l) và một thủ tục lọc khả đảo (1D_FILTD5-3R), tùy thuộc vào việc biến đổi sóng con khả đảo 5-3 hoặc không khả đảo 9-7 được chọn.
Như được minh họa trong hình F.15, cả hai thủ tục đều đưa vào đầu vào tín hiệu 1D được mở rộng Xext, chỉ số của hệ số đầu tiên i0 và chỉ số của hệ số i1 ngay tiếp theo hệ số cuối cùng (i1 - 1). Cả hai đều tạo ra một tín hiệu đầu ra, Y. Các hệ số có chỉ số chẵn của tín hiệu Y là một phiên bản được giảm kích cỡ thông thấp của tín hiệu mở rộng Xext, còn các hệ số có chỉ số lẻ của tín hiệu Y là một phiên bản được giảm kích cỡ thông cao của tín hiệu mở rộng Xext.
Hình F.15 - Các tham số của thủ tục 1D_FILTD
F.3.8.1 Thủ tục 1D_FILTD5-3R
Biến đổi khả đảo được mô tả trong điều này là thực hiện lọc trên cơ sở phép nâng khả đảo bởi bộ lọc sóng con khả đảo 5 3. Biến đổi khả đảo được định nghĩa bằng cách sử dụng lọc trên cơ sở phép nâng. Các hệ số có chỉ số lẻ của tín hiệu đầu ra Y được tính toán đầu tiên cho tất cả các giá trị của n sao cho , được cho trong phương trình (F.3):
Sau đó, các hệ số có chỉ số chẵn của tín hiệu đầu ra Y được tính toán từ các giá trị có chỉ số chẵn của tín hiệu mở rộng Xext và các hệ số có chỉ số lẻ của tín hiệu Y cho tất cả các giá trị của n sao cho , được cho trong phương trình (F.4):
Các giá trị của Y (k) sao cho i0 ≤ k < il tạo thành đầu ra của thủ tục 1D_FILTD5-3R (xem Phụ lục F trong ITU- T Rec T.800 | ISO / IEC 15444-1: 2004).
F.3.8.2 Thủ tục 1D_FILTD9-7I
Biến đổi không khả đảo được mô tả trong điều này là thực hiện lọc DWT trên cơ sở phép nâng bởi bộ lọc không khả đảo 9-7.
Phương trình (F-5) mô tả bốn bước nâng (từ 1 đến 4) và hai bước chia tỷ lệ (5 và 6) của lọc 1D được thực hiện trên các tín hiệu mở rộng Xext (n) để tạo ra các hệ số i1 - i0 của tín hiệu Y. Các bước này được thực hiện theo trình tự sau.
Đầu tiên, bước 1 được thực hiện cho tất cả các giá trị của n sao cho .
Sau đó, bước 2 được thực hiện cho tất cả các giá trị của n sao cho
và sử dụng các giá trị tính toán ở bước 1.
Sau đó, bước 3 được thực hiện cho tất cả các giá trị của n sao cho và sử dụng các giá trị tính toán ở bước 1 và bước 2.
Sau đó, bước 4 được thực hiện cho tất cả các giá trị của n sao cho và sử dụng các giá trị tính toán ở bước 2 và bước 3.
Sau đó, bước 5 được thực hiện cho tất cả các giá trị của n sao cho và sử dụng các giá trị tính toán ở bước 3 và bước 6 được thực hiện cho tất cả các giá trị của n sao cho
và sử dụng các giá trị tính toán ở bước 4.
trong đó giá trị của tham số nâng α, β, γ, δ và K được xác định trong bảng F.3.
Bảng F.3 - Định nghĩa các tham số nâng cho bộ lọc không thuận nghịch 9-7
Tham số |
Biểu thức chính xác |
Giá trị xấp xỉ |
α |
7.588 -g4 / g3 |
7.589-1.586 134 342 059 924 |
7.590 β |
7.591 g3 / r1 |
7.592 -0.052 980 118 572 961 |
7.593 γ |
7.594 r1 / s0 |
7.595 0.882 911 075 530 934 |
7.596 δ |
7.597 s0 / t0 |
7.598 0.443 506 852 043 971 |
7.599 K |
7.600 1 / t0 |
7.601 1.230 174 104 914 001 |
Các giá trị của Y (k) sao cho i0 ≤ k < il tạo ra đầu ra của thủ tục 1D_FILTD9-7I (xem Phụ lục F trong ITU-T Rec. T.800 | ISO/IEC 15444-1:2004).
F.4 Lấy mẫu phụ của các thành phần
Nó đã trở nên phổ biến trong một số ứng dụng nén sử dụng lấy mẫu phụ thành phần kết hợp với biến đổi giải tương quan nhất định: Một ví dụ điển hình là việc sử dụng RGB cho biến đổi giải tương quan YCrCb tiếp theo lấy mẫu phụ của các thành phần màu sắc (Cr, Cb). Đây là một cách hiệu quả làm giảm số lượng dữ liệu ảnh để mã hóa cho các thuật toán nén dựa trên DCT (ITU-T Rec T.81 |. ISO / IEC 10.918-1), nó không được khuyến nghị sử dụng trong tiêu chuẩn này.
Bản chất đa độ phân giải của biến đổi sóng con được mô tả trong tiêu chuẩn này có thể được sử dụng để đạt được hiệu quả tương tự như thu được từ các thành phần lấy mẫu phụ. Ví dụ, nếu các băng con 1HL, 1LH và 1HH của phân tách sóng con thành phần bị loại bỏ và tất cả các băng con khác giữ lại, lấy mẫu phụ 2:1 đạt được theo chiều ngang và dọc của các thành phần. Kỹ thuật này cung cấp các lợi ích tương tự như lấy mẫu phụ các thành phần trước khi biến đổi sóng con.
Hơn nữa, nó được chứng minh là mang lại lợi ích về chất lượng ảnh để giữ lại một vài hệ số sóng con trong băng con 1HL, 1LH, và 1HH, trong khi vẫn loại bỏ phần lớn. Trong trường hợp số lượng các hệ số vẫn giảm khoảng 2:1, nhưng ảnh giải mã kết quả sẽ biểu diễn chất lượng tốt hơn với các đồ tạo nén ít hơn. Sử dụng kỹ thuật lấy mẫu phụ từ chối các bộ mã hóa từ tạo các lựa chọn đó và làm giảm chất lượng ảnh được giải mã.
F.5 Trọng số tần số ảnh
Hệ thống thị giác của con người đóng một vai trò quan trọng trong nhận thức chất lượng ảnh của các ảnh nén. Do đó, mong muốn cho phép các nhà thiết kế hệ thống và người sử dụng tận dụng những kiến thức hiện tại về cảm nhận thị giác, ví dụ như sử dụng các mô hình độ nhạy khác nhau của hệ thống thị giác với các tần số không gian, được đo trong các hàm độ nhạy tương phản (CSF). Khi trọng số CSF được xác định bởi tần số ảnh của hệ số biến đổi, thì sẽ có một trọng số CSF cho mỗi băng con trong biến đổi sóng con. Thiết kế của các trọng số CSF là vấn đề của bộ mã hóa và phụ thuộc vào điều kiện xem cụ thể mà các ảnh được giải mã được xem.
Trong nhiều trường hợp, chỉ có một tập trọng số CSF được lựa chọn và áp dụng theo điều kiện xem. Ứng dụng này của trọng số tần số ảnh được gọi là trọng số ảnh tĩnh. Trong trường hợp các bộ mã hóa nhúng, khi dòng bit mã hóa được rút ngắn sau đó thì các điều kiện xem ở các giai đoạn khác nhau của nhúng có thể rất khác nhau. Ở tốc độ bit thấp, chất lượng ảnh nén xấu và các tính năng chi tiết của ảnh không sẵn sàng. Ảnh thường được xem ở khoảng cách tương đối lớn và các nhà quan sát quan tâm nhiều hơn đến các tính năng toàn cầu. Khi ngày càng nhiều bit được nhận, chất lượng ảnh được cải thiện và các chi tiết của ảnh được tiết lộ. Ảnh thường được kiểm tra ở một khoảng cách gần hơn hoặc thậm chí là phóng to để kiểm tra chặt chẽ, nó tương đương với giảm khoảng cách xem. Như vậy, các tập khác nhau của trọng số CSF được gọi cho các giai đoạn khác nhau của nhúng. Ứng dụng có khả năng căn chỉnh này của trọng số tần số ảnh được gọi là mã hóa tiên tiến ảnh. Rõ ràng là trọng số ảnh tĩnh có thể được xem như là một trường hợp đặc biệt của mã hóa tiên tiến ảnh.
Trong trọng số ảnh tĩnh, một tập các trọng số CSF {wl} được chọn theo điều kiện xem cuối cùng, trong đó wl là trọng số cho băng con thứ i. Tập các trọng số CSF có thể được đưa vào theo một trong hai cách sau đây.
F.5.1 Thay đổi kích thước bước lượng tử
Tại bộ mã hóa, kích thước bước lượng tử ql của các hệ số biến đổi của các băng con thứ i được căn chỉnh tỉ lệ nghịch với trọng số CSF wj. Trọng số CSF càng nhỏ thì kích thước bước lượng tử càng lớn. Các chỉ số lượng tử chuẩn hóa CSF sau đó được xem như giống nhau trong quy trình tối ưu hóa RD, mà không được sửa đổi để đưa vào tài khoản bất kỳ thay đổi về kích thước bước lượng tử. Trọng số CSF không cần phải truyền đến bộ giải mã. Thông tin được bao gồm trong các kích thước bước lượng tử được truyền một cách rõ ràng cho mỗi băng con. Phương pháp này cần phải xác định rõ ràng bộ lượng tử. Vì vậy, nó có thể không được thích hợp cho mã hóa nhúng, đặc biệt là mã hóa nhúng từ tổn hao đến không tổn hao.
F.5.2 Thay đổi trình tự mã hóa nhúng
Các kích thước bước lượng tử không được thay đổi nhưng các trọng số méo đưa vào tối ưu hóa RD được thay đổi. Điều này có hiệu quả kiểm soát tầm quan trọng tương đối của số mặt phẳng bít khác nhau từ dòng bit nhúng của mỗi khối mã. Bảng tần số trọng số không cần phải truyền đi một cách rõ ràng. Phương pháp này được khuyến nghị vì nó tạo ra kết quả tương tự trong D.5.1 và tương thích với chuẩn nén không tổn hao. Phương pháp này chỉ ảnh hưởng đến các bộ nén và nó tương thích với tất cả các chính sách lượng tử bao gồm cả lượng tử ẩn.
F.5.3 Mã hóa lũy tiến ảnh (VIP)
Nếu trọng số tần số ảnh bị thay đổi trong quy trình mã hóa nhúng thì các giá trị hệ số hoặc kích thước bước lượng tử sẽ thay đổi. Hơn nữa, việc thực hiện bộ mã hóa entropy tiếp theo có thể bị suy giảm do số liệu biểu diễn nhị phân thay đổi. Thực hiện mã hóa lũy tiến ảnh(VIP) là để thay đổi trình tự mà mặt phẳng bitcon khối mã sẽ xuất hiện trong toàn bộ dòng bit nhúng dựa trên trọng số ảnh thay vì thay đổi giá trị hệ số hoặc kích thước bước lượng tử. Nói cách khác, trình tự mã hóa chứ không phải là nội dung mã hóa bị ảnh hưởng bởi trọng số ảnh.
Một loạt các tập trọng số ảnh cho các dải tốc độ bit khác nhau được biểu thị như sau:
trong đó r(j) biểu diễn tốc độ bit mà tại đó
các hệ số trọng số bị thay đổi, r (0)
Trọng số VIP chỉ ảnh hưởng đến bộ mã hóa và không có báo hiệu được yêu cầu ở bộ giải mã.
Bộ mã hóa được dự kiến để tính trình tự mà các mặt phẳng bit con khối mã sẽ xuất hiện trong hệ thống phân cấp lớp của toàn bộ dòng bit, dựa trên tiêu chí tỷ lệ méo. Trọng số ảnh lũy tiến thay đổi dần ma trận méo dựa trên các trọng số ảnh trong quy trình hình thành dòng bit. Khi kết cấu dòng bit được điều khiển bởi tối ưu hóa RD sau nén, thì các trọng số ảnh thay đổi lũy tiến có hiệu quả kiểm soát trình tự nhúng của các mặt phẳng bitcon khối mã.
F.5.4 Các bảng trọng số tần số được khuyến nghị
Bảng D.4 xác định ba tập trọng số CSF đã được thiết kế cho thành phần độ sáng dựa trên giá trị CSF tại tần số trung tâm của mỗi băng con. Khoảng cách xem được hỗ trợ tương ứng cho các mẫu 1000, 2000 và 4000 (ví dụ 10 inch tương ứng cho 100 dpi, 200 dpi và 400 dpi in hoặc hiển thị). Lưu ý các bảng được dành cho phân tách sóng con 5 mức.
Bảng D.4 không bao gồm trọng số cho băng con tần số thấp nhất nLL mà luôn luôn bằng 1. Các mức 1, 2,..., 5 biểu thị mức băng con theo trình tự tần số từ thấp đến cao. (HL, LH, HH) biểu thị ba hướng tần số trong mỗi băng con.
Bảng F.4 - Trọng số tần số khuyến nghị
Mức |
Khoảng cách quan sát 1000 |
Khoảng cách quan sát 2000 |
Khoảng cách quan sát 4000 |
||||||
7.602 HL |
7.603 LH |
7.604 H |
7.605 H |
LH |
HH |
HL |
LH |
HH |
|
|
|
H |
L |
|
|
|
|
|
|
1 |
7.606 1 |
7.6071 |
7.608 1 |
7.609 1 |
7.610 1 |
7.611 1 |
7.612 1 |
7.613 1 |
7.614 1 |
2 |
7.615 1 |
7.616 1 |
7.617 1 |
7.618 1 |
7.619 1 |
7.620 1 |
7.621 1 |
7.622 1 |
7.623 0. |
|
|
|
|
|
|
|
|
|
7 3 1 6 6 8 |
3 |
7.624 1 |
7.625 1 |
7.626 1 |
7.627 1 |
7.628 1 |
7.629 0 |
7.630 0 |
7.631 0 |
7.632 0. |
|
|
|
|
|
|
. 7 2 7 2 0 3 |
. 5 6 4 3 4 4 |
. 5 6 4 3 4 4 |
2 8 5 9 6 8 |
4 |
7.633 1 |
7.634 1 |
7.635 0. |
7.636 0 |
7.637 0 |
7.638 0 |
7.639 0 |
7.640 0 |
7.641 0. |
|
|
|
7 2 7 1 7 2 |
. 5 6 0 8 4 1 |
. 5 6 0 8 4 1 |
. 2 8 4 1 9 3 |
. 1 7 9 6 0 9 |
. 1 7 9 6 0 9 |
0 4 3 9 0 3
|
5 |
7.642.0.5 6 0 8 0 5 |
7.643 0.5 6 0 8 0 5 |
7.644 0. 2 8 4 1 7 3
|
7.645 0 . 1 7 8 4 9 4 |
7.646 0 . 1 7 8 4 9 4 |
7.647 0 . 0 4 3 6 3 1 |
7.648 0 . 0 1 4 7 7 4 |
7.649 0 . 0 1 4 7 7 4 |
7.650 0. 0 0 0 5 7 3 |
Đối với ảnh màu sắc, bảng trọng số tần số của các thành phần Y, Cr và Cb phải khác biệt để tận dụng lợi thế các tính chất của hệ thống thị giác con người. Ví dụ, nó thường mong muốn nhấn mạnh các thành phần độ sáng hơn các thành phần màu sắc. Bảng D.5 xác định ba tập trọng số CSF cho các thành phần độ sáng và màu sắc.
Bảng F.5 - Trọng số tần số khuyến nghị cho các ảnh đa thành phần (màu sắc)
Thành phần |
Mức |
Khoảng cách quan sát 1000 |
Khoảng cách quan sát 1700 |
Khoảng cách quan sát 3000 |
||||||
7.651 H |
7.652 L |
7.653 H |
7.654 H |
LH |
HH |
HL |
LH |
HH |
||
Y (Y0) |
7.655 |
7.656 a |
7.657 1 |
7.658 1 |
7.659 1 |
7.660 1 |
7.661 1 |
7.662 1 |
7.663 1 |
7.664 1 |
7.665 |
7.666 1 |
7.667 1 |
7.668 1 |
7.669 1 |
7.670 1 |
7.671 1 |
7.672 1 |
7.673 1 |
7.674 1 |
|
7.675 |
7.676 1 |
7.677 1 |
7.678 1 |
7.679 1 |
7.680 1 |
7.681 1 |
7.682 0 |
7.683 0 |
7.684 0.8 4 8 3 2 4 |
|
7.685 |
7.686 0 |
7.687 0 |
7.688 0 |
7.689 0 |
7.690 0 |
7.691 0 |
7.692 0 |
7.693 0 |
7.694 0.1 8 2 7 6 0 |
|
7.695 |
7.696 0 |
7.697 0 |
7.698 0 |
7.699 0 |
7.700 0 |
7.701 0 |
7.702 0 |
7.703 0 |
7.704 0.0 0 3 0 7 5 |
|
Cb (Y1) |
7.705 |
7.706 0 |
7.707 0 |
7.708 0 |
7.709 0 |
7.710 0 |
7.711 0 |
7.712 0 |
7.713 0 |
7.714 0.6 1 3 7 7 7 |
7.715 |
7.716 0 |
7.717 0 |
7.718 0 |
7.719 0 |
7.720 0 |
7.721 0 |
7.722 0 |
7.723 0 |
7.724 0.4 0 3 3 5 3 |
|
7.725 |
7.726 0 |
7.727 0 |
7.728 0 |
7.729 0 |
7.730 0 |
7.731 0 |
7.732 0 |
7.733 0 |
7.734 0.1 8 5 6 0 9 |
|
7.735 |
7.736 0 |
7.737 0 |
7.738 0 |
7.739 0 |
7.740 0 |
7.741 0 |
7.742 0 |
7.743 0 |
7.744 0.0 4 4 7 1 1 |
|
7.745 |
7.746 0 |
7.747 0 |
7.748 0 |
7.749 0 |
7.750 0 |
7.751 0 |
7.752 0 |
7.753 0 |
7.754 0.0 0 3 4 1 3 |
|
Cr (Y2) |
7.755 |
7.756 0 |
7.757 0 |
7.758 0 |
7.759 0 |
7.760 0 |
7.761 0 |
7.762 0 |
7.763 0 |
7.764 0.6 9 5 1 2 8 |
7.765 |
7.766 0 |
7.767 0 |
7.768 0 |
7.769 0 |
7.770 0 |
7.771 0 |
7.772 0 |
7.773 0 |
7.774 0.5 0 9 7 2 9 |
|
7.775 |
7.776 0 |
7.777 0 |
7.778 0 |
7.779 0 |
7.780 0 |
7.781 0 |
7.782 0 |
7.783 0 |
7.784 0.2 8 7 5 9 3 |
|
7.785 |
7.786 0 |
7.787 0 |
7.788 0 |
7.789 0 |
7.790 0 |
7.791 0 |
7.792 0 |
7.793 0 |
7.794 0.1 0 0 6 5 8 |
|
7.795 |
7.796 0 |
7.797 0 |
7.798 0 |
7.799 0 |
7.800 0 |
7.801 0 |
7.802 0 |
7.803 0 |
7.804 0.0 1 4 9 7 7 |
Biến đổi đa thành phần và dịch chuyển mức DC
Phụ lục này đặc tả chuyển mức DC mà chuyển đổi các mẫu nguồn thích hợp vào các giá trị được mã đánh dấu.
Phụ lục này cũng mô tả hai biến đổi đa thành phần khác nhau. Các biến đổi đa thành phần này được sử dụng để cải thiện hiệu suất nén. Chúng không liên quan đến biến đổi đa thành phần được sử dụng để ánh xạ giá trị màu cho mục đích hiển thị. Một biến đổi đa thành phần là khả đảo và có thể được sử dụng cho mã hóa tổn hao hay không tổn hao. Biến đổi khác là không khả đảo và chỉ có thể được sử dụng cho mã hóa tổn hao.
G.1 Chuyển mức DC của các khối ảnh thành phần
Hình G.1 cho thấy sơ đồ của chuyển mức DC trong hệ thống với biến đổi đa thành phần.
Hình G.1 - Vị trí của chuyển mức DC với biến đổi thành phần
Hình G.2 cho thấy dòng sơ đồ của chuyển mức DC trong hệ thống không có biến đổi đa thành phần.
Hình G.2 - Vị trí của chuyển mức DC không có biến đổi thành phần
Chuyển mức DC chỉ được thực hiện trên các mẫu của các thành phần không được mã đánh dấu. Nó được thực hiện trước khi tính toán của biến đổi đa thành phần thuận (RCT hoặc ICT), nếu 1 được sử dụng. Nếu không, nó được thực hiện trước khi biến đổi sóng con được mô tả trong Phụ lục D. Nếu MSB của SsizI từ đoạn mã đánh dấu SIZ (xem A.5.1 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004) bằng không thì tất cả các mẫu I (x, y) của thành phần thứ i được chuyển mức bằng cách trừ đi số lượng tương tự từ mỗi mẫu như sau:
G.2 Biến đổi đa thành phần khả đảo thuận (RCT)
Việc sử dụng biến đổi đa thành phần khả đảo được báo hiệu trong đoạn mã đánh dấu COD (xem A.6.1 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004). RCT chỉ được sử dụng với bộ khả đảo 5-3. RCT là một biến đổi giải tương quan áp dụng cho ba thành phần đầu tiên của một ảnh (chỉ số là 0, 1 và 2). Ba thành phần đầu vào cho RCT có cùng sự tách biệt trên một lưới chuẩn và cùng độ sâu bit.
Trước khi áp dụng RCT thuận, các mẫu thành phần ảnh được chuyển mức DC cho các thành phần không mã đánh dấu.
RCT thuận được áp dụng cho các thành phần I0 (x, y), I1 (x, y), I2 (x, y) như sau:
Nếu I0, I1 và I2 được chuẩn hóa với cùng độ chính xác thì các phương trình (G-3) và (G-4) cho kết quả chính xác bằng số của Y1 và Y2 mà là bit một lớn hơn độ chính xác của các thành phần ban đầu. Tăng độ chính xác là cần thiết để đảm bảo tính khả đảo.
G.3 Biến đổi đa thành phần không khả đảo thuận (ICT)
Mục này quy định cụ thể một biến đổi đa thành phần không khả đảo. Việc sử dụng biến đổi thành phần không khả đảo được báo hiệu trong đoạn mã đánh dấu COD (xem A.6.1 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004). ICT chỉ được sử dụng với bộ lọc không khả đảo 9-7. ICT là biến đổi giải tương quan áp dụng cho ba thành phần đầu tiên của một ảnh (chỉ số là 0, 1 và 2). Ba thành phần đầu vào cho ICT có cùng sự tách biệt trên một lưới chuẩn và cùng độ sâu bit.
ICT thuận được áp dụng cho các mẫu thành phần ảnh I0 (x, y), I1 (x, y), I2 (x, y), như sau:
G.4 Lấy mẫu phụ thành phần phụ màu sắc và lưới chuẩn
Mối quan hệ giữa các thành phần và lưới chuẩn được báo hiệu trong mã đánh dấu SIZ (xem phụ lục A.5.1 trong ITU-T Rec T.800 | ISO / IEC 15.444-1: 2004) và được mô tả trong Phụ lục B.2 trong ITU-T Rec. T.800 | ISO / IEC 15.444-1: 2004.
Mã hóa ảnh trong miền quan tâm
Phụ lục này mô tả công nghệ miền quan tâm (ROI). ROI là một phần của một ảnh được mã hóa sớm trong dòng mã hơn phần còn lại của ảnh (nền). Mã hóa cũng được thực hiện theo cách mà thông tin liên quan đến ROI đặt trước thông tin liên quan đến nền. Phương pháp được sử dụng (và được mô tả trong phụ lục này) là phương pháp Maxshift.
H.1 Mô tả phương pháp Maxshift
H.1.1 Mã hóa ROI
Việc mã hóa các hệ số biến đổi lượng tử được thực hiện tương tự như mã hóa mà không cần bất kỳ ROI nào. Ở phía bộ mã hóa, một mặt nạ ROI được tạo để mô tả các hệ số biến đổi lượng tử được mã hóa với chất lượng tốt (thậm chí lên đến không tổn hao) để mã hóa ROI với chất lượng càng tốt hơn (lên đến không tổn hao). Mặt nạ ROI là một bản đồ bit mô tả các hệ số này. Xem H.2 để biết chi tiết về cách thức mặt nạ được tạo ra.
Các hệ số biến đổi lượng tử bên ngoài mặt nạ ROI được gọi là các hệ số nền, được giảm tỉ lệ để các bit liên kết với ROI được đặt trong các mặt phẳng bit cao hơn so với nền. Điều này có nghĩa rằng khi bộ mã hóa entropy mã hóa các hệ số biến đổi lượng tử, mặt phẳng bit liên kết với ROI được mã hóa trước khi các thông tin liên kết với nền.
Phương pháp này có thể mô tả qua những bước sau:
1) Tạo mặt nạ ROI, M(x, y) (xem F.2).
2) Tìm giá trị định tỷ lệ s (xem F.1.2).
3) Thêm sLBS cho mỗi hệ số |qb(u,v)|. Giá trị M'b của các mặt phẳng bit biên độ được tính theo công thức:
M'b = Mb + s (H-1)
trong đó Mb được tính theo phương trình (C-2) và giá trị mới của mỗi hệ số là:
|qb(u,v)| = |qb(u,v)|.2s (H-2)
4) Giảm tỉ lệ tất cả các hệ số nền cho bởi M(x, y) sử dụng giá trị định tỷ lệ s (xem H.1.2). Do đó, nếu |qb(u,v)| là hệ số nền cho bởi M(x, y), thì:
5) Viết giá trị định tỉ lệ s vào dòng mã sử dụng tham số SPrgn của đoạn mã đánh dấu RGN.
Sau các bước này, các hệ số biến đổi lượng tử được mã hóa entropy như bình thường.
H.1.2 Lựa chọn giá trị định tỷ lệ s tại phía bộ mã hóa
Giá trị định tỉ lệ s được chọn theo phương trình (H-4), trong đó max(Mb) là giá trị lớn nhất của mặt phẳng bit biên độ, xem phương trình (E-1), với hệ số nền bất kỳ, qBG(x, y) trong khối mã bất kỳ của thành phần hiện tại.
s ≥ max(Mb) (H-4)
Điều này đảm bảo rằng giá trị định được sử dụng đủ lớn để đảm bảo tất cả các bit có nghĩa gắn với ROI ở các mặt phẳng bit cao hơn so với tất cả các bit có nghĩa gắn với nền.
H.2 Miền mã hóa quan tâm
Các chức năng ROI mô tả trong H.1 chỉ phụ thuộc vào giá trị định tỉ lệ chọn ở phía bộ mã hóa và biên độ của các hệ số ở phía bộ giải mã. Bộ mã hóa tạo ra một mặt nạ tương ứng với hệ số cần phải được mã hóa với chất lượng tốt để sinh ra một ROI với chất lượng tốt hơn so với nền. Mục H.2.1 mô tả cách tạo ra mặt nạ ROI cho một miền cụ thể trong ảnh. Mục H.2.2 mô tả cách tạo ra mặt nạ trong trường hợp ảnh đa thành phần và H.2.3 mô tả cách tạo ra mặt nạ ROI cho các miền chia tách.
H.2.1 Tạo mặt nạ miền quan tâm
Để đạt được một ROI với chất lượng tốt hơn so với phần còn lại của ảnh khi duy trì một khối lượng nén hợp lý, các bit cần phải được lưu bằng cách gửi một ít thông tin về hình nền. Để làm điều này, phải tính toán một mặt nạ ROI. Mặt nạ là một mặt phẳng bit biểu thị một tập hợp các hệ số biến đổi lượng tử hóa mà mã hóa đủ để bên thu tái tạo lại miền mong muốn với chất lượng tốt hơn so với hình nền (lên đến không tổn hao).
Để minh họa cho khái niệm về tạo mặt nạ ROI, chọn một ROI duy nhất, một thành phần ảnh duy nhất và xác định các mẫu thuộc về ROI trong miền ảnh của một mặt nạ nhị phân, M (x, y), trong đó:
Mặt nạ là một bản đồ của ROI trong miền sóng con sao cho nó là một giá trị khác không bên trong ROI và bằng 0 bên ngoài ROI. Trong mỗi bước, băng con LL của mặt nạ được cập nhật theo từng hàng và sau đó theo từng cột. Mặt nạ sau đó sẽ chỉ ra các hệ số cần thiết ở bước này để biến đổi sóng con khả đảo tái tạo các hệ số của mặt nạ trước.
Tất cả các bước này sau đó được truy ngược trở lại để cung cấp cho các mặt nạ. Nếu các hệ số tương ứng với mặt nạ được truyền đi và nhận được, và biến đổi sóng con ngược được tính theo chúng, ROI mong muốn được tái tạo với chất lượng tốt hơn so với phần còn lại của ảnh (lên đến không tổn hao nếu hệ số ROI được mã hóa không tổn hao).
Đưa ra dưới đây là một mô tả về cách mở rộng các mặt nạ đạt được từ các bộ lọc khác nhau. Phương pháp tương tự có thể được sử dụng cho các bộ lọc khác.
H.2.1.1 Tạo miền quan tâm sử dụng bộ lọc khả đảo 5-3
Để có được tập tối ưu của các hệ số lượng tử được định tỉ lệ, phải sử dụng các phương trình được mô tả trong mục này.
Để xem hệ số nào phải ở trong mặt nạ, biến đổi sóng con ngược được nghiên cứu. Phương trình (F-5) và (F-6) của ITU-T Rec. T.800 | ISO / IEC 15.444-1: 2004 cung cấp các hệ số cần thiết để tái tạo lại X (2n) và X (2n + 1) không tổn hao. Có thể thấy ngay rằng đây là L (n), L (n + 1), H (n - 1). H (n), H (n + 1) (xem hình F.1). Do đó nếu X (2n) và X (2n + 1) trong ROI thì các hệ số băng con cao và thấp được liệt kê là trong mặt nạ. Chú ý rằng X (2n) và X (2n + 1) là các điểm chỉ số chẵn và lẻ tương ứng, liên quan đến nguồn gốc của lưới chuẩn.
Hình H.1 - Biến đổi sóng con ngược với bộ lọc khả đảo 5-3
H.2.1.2 Tạo miền quan tâm sử dụng bộ lọc khả đảo 9-7
Giải mã thành công không phụ thuộc vào việc chọn mẫu được chia tỉ lệ. Để có được tập tối ưu của các hệ số lượng tử được chia tỉ lệ, các phương trình được mô tả trong mục này phải được sử dụng.
Để xem những hệ số nào phải ở trong mặt nạ, biến đổi sóng con ngược được nghiên cứu như trong F.2.1.1. Hình H.2 cho thấy X (2n) và X (2n + 1) là các điểm chỉ số chẵn và lẻ tương ứng, liên quan đến nguồn gốc của lưới chuẩn.
Hình H.2 - Biến đổi sóng con ngược với bộ lọc khả đảo 9-7
Các hệ số cần thiết để tái tạo lại X (2n) và X (2n + 1) không tổn hao có thể được xem là L (n - 1) tới L (n + 2) và H (n - 2) tới H (n + 2). Do đó nếu X (2n) và X (2n + 1) ở trong ROI thì những hệ số băng con thấp và cao này ở trong mặt nạ.
H.2.2 Đa thành phần
Đối với trường hợp các ảnh màu, phương pháp áp dụng riêng biệt cho mỗi thành phần màu. Nếu một số thành phần màu được lấy mẫu giảm thì mặt nạ cho các thành phần lấy mẫu giảm được tạo ra theo cách tương tự như mặt nạ cho các thành phần lấy mẫu không giảm.
H.2.3 Các miền chia tách
Nếu ROI bao gồm các phần chia tách thì tất cả các phần có cùng giá trị định tỉ lệ s.
Áp dụng Phụ lục I của ISO/IEC 15444-14:2004.
MỤC LỤC
1 Phạm vi áp dụng
2 Tài liệu viện dẫn
3 Thuật ngữ, định nghĩa
4 Các từ viết tắt và ký hiệu
4.1 Các từ viết tắt
4.2 Ký hiệu
5 Mô tả chung
5.1 Dòng mã
5 2 Nguyên lý mã hóa
6 Yêu cầu bộ mã hóa
6.1 Yêu cầu chung
6.2 Định nghĩa chức năng bộ mã hóa
6.3 Thực hiện
6.4 Mô tả dòng mã
7 Yêu cầu định dạng tập tin tùy chọn
Phụ lục A (Quy định) Cú pháp dòng mã
Phụ lục B (Quy định) Ảnh và sắp xếp dữ liệu ảnh nén
Phụ lục C (Quy định) Mã hóa entropy số học
Phụ lục D (Quy định) Mô hình hóa bít hệ số
Phụ lục E (Quy định) Lượng tử hóa
Phụ lục F (Quy định) Biến đổi sóng con rời rạc của khối ảnh thành phần
Phụ lục G (Quy định) Biến đổi đa thành phần và dịch chuyển mức DC
Phụ lục H (Quy định) Mã hóa ảnh trong miền quan tâm
Phụ lục I (Tham khảo) Cú pháp định dạng tập tin JP2
Ý kiến bạn đọc
Nhấp vào nút tại mỗi ô tìm kiếm.
Màn hình hiện lên như thế này thì bạn bắt đầu nói, hệ thống giới hạn tối đa 10 giây.
Bạn cũng có thể dừng bất kỳ lúc nào để gửi kết quả tìm kiếm ngay bằng cách nhấp vào nút micro đang xoay bên dưới
Để tăng độ chính xác bạn hãy nói không quá nhanh, rõ ràng.