Tiêu chuẩn Quốc gia TCVN 12891-2:2020 ISO/IEC 13818-2:2013 Công nghệ thông tin - Mã hóa ảnh chuyển động và thông tin âm thanh kết hợp - Phần 2: Video
- Thuộc tính
- Nội dung
- Tiêu chuẩn liên quan
- Lược đồ
- Tải về
Đây là tiện ích dành cho thành viên đăng ký phần mềm.
Quý khách vui lòng Đăng nhập tài khoản LuatVietnam và đăng ký sử dụng Phần mềm tra cứu văn bản.
Tiêu chuẩn Việt Nam TCVN 12891-2:2020
Số hiệu: | TCVN 12891-2:2020 | Loại văn bản: | Tiêu chuẩn Việt Nam |
Cơ quan ban hành: | Bộ Khoa học và Công nghệ | Lĩnh vực: | Thông tin-Truyền thông |
Ngày ban hành: | 31/12/2020 | Hiệu lực: | |
Người ký: | Tình trạng hiệu lực: | Đã biết Vui lòng đăng nhập tài khoản gói Tiêu chuẩn hoặc Nâng cao để xem Tình trạng hiệu lực. Nếu chưa có tài khoản Quý khách đăng ký tại đây! | |
TIÊU CHUẨN QUỐC GIA
TCVN 12891-2
CÔNG NGHỆ THÔNG TIN - MÃ HÓA ẢNH
CHUYỂN ĐỘNG VÀ THÔNG TIN ÂM THANH KẾT HỢP - PHẦN 2: VIDEO
Information technology - Generic coding of moving pictures and associated audio information - Part 2: Video
MỤC LỤC
Lời nói đầu
1. Phạm vi áp dụng
2. Tài liệu viện dẫn
3. Định nghĩa
4. Các ký hiệu và chữ viết tắt
4.1. Các toán tử số học
4.2. Các toán tử logic
4.3. Các toán tử quan hệ
4.4. Các toán tử thao tác bit (Bitwise)
4.5. Phép gán
4.6. Các Nhận dạng
4.7. Hằng số
4.8. Thuật ngữ viết tắt
5. Quy ước
5.1. Cách mô tả cú pháp dòng bit
5.2. Định nghĩa chức năng
5.2.1. Định nghĩa hàm bytealigned()
5.2.2. Định nghĩa hàm nextbitsto
5.2.3. Định nghĩa hàm next_start_code()
5.3. Dự phòng, cấm và bit đánh dấu (markerbit)
5.4. Độ chính xác số học
6. Cú pháp và ngữ nghĩa dòng bit video
6.1. Cấu trúc dữ liệu mã hóa video
6.1.1. Chuỗi video
6.1.2. Lát cắt
6.1.3. Khối Macroblock
6.1.4. Khối
6.2. Cú pháp dòng bit video
6.2.1. Mã bắt đầu
6.2.2. Chuỗi Video
6.2.3. Tiêu đề ảnh
6.2.4. Lát cắt - Slice
6.2.5. Khối - Macroblock
6.2.6. Khối
6.3. Các ngữ nghĩa dòng bit video
6.3.1. Các quy tắc ngữ nghĩa cho các cấu trúc cú pháp cao hon
6.3.2. Chuỗi video
6.3.3. Tiêu đề chuỗi
6.3.4. Mở rộng và dữ liệu người dùng
6.3.5. Mở rộng chuỗi
6.3.6. Mở rộng hiển thị chuỗi
6.3.7. Mở rộng chuỗi có thể mở rộng
6.3.8. Nhóm tiêu đề ảnh
6.3.9. Tiêu đề ảnh
6.3.10. Mở rộng mã hóa ảnh
6.3.11. Mở rộng ma trận lượng tử
6.3.12. Mở rộng hiển thị ảnh
6.3.13. Mở rộng phần mở rộng trục hồi tiếp
6.3.14. Khả năng mở rộng ảnh từng phần
6.3.15. Mở rộng bản quyền
6.3.16. Lát cắt (Slice)
6.3.17. Khối Macroblock
6.3.18. Khối
6.3.19. Phần mở rộng các tham số của máy ảnh
6.3.20. Mở rộng ITU-T
6.3.21. Dữ liệu mô tả nội dung
7. Quá trình giải mã video
7.1. Các cấu trúc cú pháp cao hơn
7.2. Giải mã độ dài thay đổi
7.2.1. Các hệ số DC trong khối bên trong
7.2.2. Các hệ số khác
7.3. Quét ngược
7.3.1. Quét ngược cho ma trận tải về
7.4. Lượng từ hóa nghịch đảo - Inverse quantization
7.4.1. Hệ số trong DC
7.4.2. Các hệ số khác
7.4.3. Độ bão hòa
7.4.4. Kiểm soát không phù hợp
7.4.5. Tổng kết
7.5. DCT nghịch đào
7.5.1. Các khối không mã hóa và bò qua các khối macroblock
7.6. Bù chuyển động
7.6.1. Các chế độ dự đoán
7.6.2. Trường dự đoán và lựa chọn khung
7.6.3. Các vectơ chuyển động
7.6.4. Hình thành dự đoán
7.6.5. Lựa chọn vectơ chuyển động
7.6.6. Bỏ qua macroblocks
7.6.7. Kết hợp các dự đoán
7.6.8. Thêm dữ liệu dự đoán và hệ số
7.7. Khả năng mở rộng không gian
7.7.1. Cấu trúc cú pháp cao hơn
7.7.2. Dự đoán trong lớp tăng cường
7.7.3. Hình thành dự đoán theo không gian
7.7.4. Lựa chọn và kết hợp dự đoán không gian và thời gian
7.7.5. Cập nhật các dự đoán vector chuyển động và lựa chọn vector chuyển động
7.7.6. Bỏ qua macroblocks
7.7.7. Sụp tràn bộ đệm VBV ở tầng dưới
7.8. Khả năng mở rộng SNR
7.8.1. Cấu trúc cú nháp cao hơn
7.8.2. Macroblock
7.9. Khả năng mở rộng thời gian
7.9.1. Cấu trúc cú pháp cao hơn
7.9.2. Những hạn chế dự đoán theo thời gian
7.10. Phân vùng dữ liệu
7.11. Khả năng mở rộng lai
7.12. Kết quả của quá trình giải mã
8. Các mức và đặc tính (Level- profile)
8.1. Độ tương thích của ISO/IEC 11172-2
8.2. Mối quan hệ giữa các Profile được xác định
8.3. Mối quan hệ giữa các mức đã xác định
8.4. Các lớp có thể mở rộng
8.4.1. Kết hợp lớp cho phép
8.4.2. Các ràng buộc cụ thể về Multi-view Profile
8.5. Giá trị tham số cho các profiles, levels và lớp đã xác định
8.6. Yêu cầu về bộ giải mã tương thích
9. Nhận dạng Đăng ký bản quyền
9.1. Tổng quát
9.2. Hoạt động của Cơ quan đăng ký bản quyền (RA)
Phụ lục A(Quy định) - Phép biến đổi cosine rời rạc đảo ngược
Phụ lục B(Quy định) - Bảng mã chiều dài thay đổi
Phụ lục C - (Quy định) Xác nhận bộ đệm video
Phụ lục E (Tham khảo) - Giới hạn về đặc tính và mức
Phụ lục F (Tham khảo)- Các tính năng được hỗ trợ bởi thuật toán
Phụ lục G (Tham khảo) - Thủ tục đăng ký
Phụ lục H (Tham khảo) - Đơn đăng ký
Phụ lục I (Tham khảo) - Cơ quan Đăng ký - Sơ đồ cơ cấu hành chính
Phụ lục K (Tham khảo) - Tác động của thực tiễn đối với các chuỗi bit không liên tiếp trong việc xem xét hiển thị quét liên lục
Tài liệu tham khảo
Lời nói đầu
TCVN 12891-2:2020 hoàn toàn tương đương Tiêu chuẩn quốc tế ISO/IEC 13818-2: 2013 - Information technology - Generic coding of moving pictures and associated audio information - Part 2: Video.
TCVN 12891-2:2020 do Viện Khoa học Kỹ thuật Bưu điện, 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 - MÃ HÓA ẢNH
CHUYỂN ĐỘNG VÀ THÔNG TIN ÂM THANH KẾT HỢP - PHẦN 2: VIDEO
Information technology - Generic coding of moving pictures and associated audio information - Part 2: Video
1. Phạm vi áp dụng
Tiêu chuẩn Quốc gia này xác định việc mã hoá đại diện thông tin ảnh cho phương tiện lưu trữ kỹ thuật số và truyền thông phim ảnh kỹ thuật số và xác định quá trình giải mã. Các đại diện hỗ trợ truyền tốc độ bit không đổi, truyền tốc độ bit biến đổi, truy cập ngẫu nhiên, nhảy kênh, giải mã có thể mở rộng, chỉnh sửa dòng bit, cũng như các chức năng đặc biệt như tua nhanh, tua lại, tua chậm, tạm dừng và dừng hình. Tiêu chuẩn Quốc gia này phù hợp với tương thích với tiêu chuẩn ISO/IEC 11172-2 hoặc tương thích với các định dạng SDTV, HDTV, EDTV.
Tiêu chuẩn Quốc gia này chủ yếu áp dụng cho phát sóng truyền hình và truyền thông,thiết bị lưu video kỹ thuật số. Các phương tiện lưu trữ có thể được kết nối trực tiếp với bộ giải mã, hcặc thông qua các phương tiện truyền thông như các bus, LAN, hoặc các đường truyền viễn thông.
2. Tài liệu viện dẫn
Các tài liệu viện dẫn sau đây là cần thiết để á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ả các sửa đổi, bổ sung).
• IEC 60401 (1986), Time and control code for video tape recorders;
• ISO / IEC 11172-2: 1993, Information technology - Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s - Part 2: Video.;
• ISO/IEC 23002-1: 2006, Information technology - MPEG video technologies - Part 1: Accuracy requirements for implementation of integer-output 8x8 inverse discrete cosine transform;
• Recommendation ITU-R BT.470-6 (1998), Conventional television systems;
• Recommendation ITU-R BT.601-7 (2011), studio encoding parameters of digital television for standard
4:3 and wide screen 16:9 aspect ratios;
• Recommendation ITU-T H.320 (2004), Narrow-band visual telephone systems and terminal equipment.
3. Định nghĩa
Tiêu chuẩn này sử dụng các thuật ngữ và định nghĩa sau:
3.1.
Hệ số AC (AC coefficient)
Bất kỳ hệ số DCT nào mà có tần số nằm trong một hoặc cả hai chiều có giá trị khác không.
3.2.
Ảnh lớn - big picture
Một ảnh mã hoá có thể gây ra sự tràn lên bộ đệm của VBV như được định nghĩa trong C.7. Ảnh lớn chỉ có thể xảy ra trong các dãy ở đó low_delay bằng 1. “Bỏ qua ảnh “-”Skipped picture” là một thuật ngữ đôi khi được sử dụng để mô tả cùng một khái niệm.
3.3
Ảnh trường B - B-field picture
Một cấu trúc ảnh trường B
3.4
Ảnh Khung B - B-frame picture
Một cấu trúc ảnh khung B
3.5
Ảnh B, ảnh mã hóa dự đoán hai chiều - B- picture, bidirectionally predictive-coded picture
Một ảnh được mã hoá bằng cách sử dụng dự đoán được bù trừ chuyển động trước hoặc các trường hoặc khung tham chiếu tiếp theo.
3.6
Tương thích ngược - backward compatibility
Một tiêu chuẩn mã hoá mới hơn tương thích ngược với tiêu chuẩn mã hóa cũ hơn nếu bộ giải mã được thiết kế để hoạt động với tiêu chuẩn mã hóa cũ hơn có thể tiếp tục hoạt động bằng cách giải mã tất cả hoặc một phần của dòng bit được tạo theo tiêu chuẩn mã hóa mới hơn.
3.7
Vector chuyển động ngược - backward motion vector
Một vector chuyển động được sử dụng cho việc di chuyển từ một khung tham chiếu hoặc trường tham chiếu vào một thời gian chậm hơn theo thứ tự hiển thị.
3.8
Dự đoán ngược - backward prediction
Dự đoán khung tham chiểu tiếp theo (trường).
3.9
Lớp cơ sở - base layer
Đầu tiên, lớp giải mã độc lập của một phân cấp có thể mở rộng.
3.10
Dòng bit, dòng - bitstream; stream
Một chuỗi các bit có thứ tự được mã hóa của dữ liệu tạo thành.
3.11
Tốc độ bit - bit rate
Tốc độ dòng bit mã hóa được phân phối từ môi trường lưu trữ tới đầu vào của bộ giải mã.
3.12
Khối - block
Ma trận mẫu gồm 8 hàng x 8 cột hoặc 64 hệ số DCT (nguồn, lượng tử hóa hoặc khử lượng tử hóa).
3.13
Trường dưới cùng - bottom field
Mốt trong hai trường bao gồm một khung. Mỗi dòng của một trường dưới cùng là vị trí không gian ngay bên dưới dòng tương ứng của trường hàng đầu.
3.14
Sắp xếp byte - byte aligned
Một bit trong một dòng bit mã hóa được sắp xếp byte nếu vị trí của nó là một bội số của 8 bit từ bit đầu tiên trong dòng.
3.15
Byte
Mot byte có 8 bit.
3.16
Kênh - channel
Một phương tiện kỹ thuật số lưu trữ hoặc vận chuyển một dòng bit được xây dựng theo Tiêu chuẩn này.
3.17
Định dạng màu - chrominance format
Định nghĩa số khối màu trong một khối macroblock.
3.18
Phát sóng màu - chroma simulcast
Một loại khả năng mở rộng (là một tập hợp con của khả năng mở rộng SNR), trong đó các lớp tăng cường chỉ chứa dữ liệu sàng lọc mã cho các hệ số DC, và tất cả các dữ liệu cho các hệ số AC, của các thành phần màu.
3.19
Thành phần màu - chrominance component
Một ma trận, khối hoặc một mẫu đại diện cho một trong hai tín hiệu khác biệt màu sắc liên quan đến các màu cơ bản theo cách được định nghĩa trong dòng bit. Các ký hiệu được sử dụng cho các tín hiệu màu sắc là Cr và Cb.
3.20
Khung B mã hóa - coded B-frame
Một ảnh khung B hoặc một cặp ảnh trường B.
3.21
Khung mã hóa - coded frame
Một khung được mã hóa là một khung I được mã hoá, một khung P được mã hoá hoặc một khung B được mã hóa.
3.22
Khung I mã hóa - coded l-frame
Một ảnh khung I hoặc một cặp ảnh trường, trong đó ảnh trường đầu tiên là ảnh I và ảnh trường thứ 2 là ảnh I hoặc ảnh P.
3.23
Khung P mã hóa - coded P-frame
Một ảnh khung P hoặc một cặp ảnh trường P.
3.24
Ảnh mã hoá - coded picture
Một ảnh được mã hoá được làm từ một tiêu đề ảnh, các phần mở rộng tùy chọn ngay sau nó và các dữ liệu ảnh ngay sau nó. Một ảnh được mã hóa có thể là một khung được mã hoá hoặc một trường được mã hóa.
3.25
Dòng bit video được mã hoá - coded video bitstream
Một đại diện được mã hoá của một hoặc nhiều ảnh như định nghĩa trong Tiêu chuẩn này.
3.26
Thứ tự mã hoá - coded order
Thứ tự mà các ảnh được truyền tải và giải mã. Thứ tự này không nhất thiết giống như thứ tự hiển thị.
3.27
Đại diện được mã hoá - coded representation
Một thành phần dữ liệu được biểu diễn dưới dạng được mã hóa của nó.
3.28
Các thông số mã hóa - coding parameters
Tập hợp các tham số người dùng định nghĩa đặc trưng cho một dòng bit video được mã hóa. Dòng bit đặc trưng bởi các tham số mã hóa. Bộ giải mã đặc trưng bởi các dòng bit mà chúng có khả năng giải mã.
3.29
Thành phần - component
Ma trận, khối hoặc mẫu đơn lẻ từ một trong ba ma trận (độ chói và hai độ sắc màu) tạo nên một ảnh.
3.30
Kỹ thuật nén - compression
Giảm số bit được sử dụng để trình diễn một mục dữ liệu.
3.31
Video được mã hóa với tốc độ bit không đổi - constant bit rate coded video Dòng bit video được mã hóa với độ bit không đổi.
3.32
Tốc độ bit không đổi - constant bit rate
Hoạt động ở đó tốc độ bit không đổi từ đầu đến cuối của dòng bit được mã hóa.
3.33
Thành phần dữ liệu - data element
Một mục dữ liệu được biểu diễn trước khi mã hóa và sau khi giải mã.
3.34
Phân vùng dữ liệu - Data partitioning
Một phương pháp đề chia dòng bit thành hai dòng bit riêng biệt cho các mục đích phục hồi lỗi. Hai dòng bit phải được kết hợp lại trước khi giải mã.
3.35
Ảnh D - D-picture
Một loại ảnh không được sử dụng trừ ISO/IEC 11172-2.
3.36
Hệ số DC - DC coefficient
Hệ số DCT có tần số bằng 0 trong cả hai chiều.
3.37
Hệ số DCT - DCT coefficient
Biên độ của một hàm cơ sở cosine cụ thể.
3.38
Bộ đệm đầu vào bộ giải mã - decoder input buffer
Bộ đệm The First-In First-Out (FIFO) vào - ra đầu tiên được chỉ định trong trình kiểm tra đệm video.
3.39
Bộ giải mã - decoder
Một thực thể của một quá trình giải mã.
3.40
Giải mã - decoding (process)
Quá trình đọc dòng bit video được mã hoá ở đầu vào và tạo ra các ảnh được giải mã, được xác định trong Tiêu chuẩn này.
3.41
Khử lượng từ hóa - dequantization
Quá trình thay đổi tỷ lệ của các hệ số DCT lượng tử hóa sau khi biểu diễn của chúng trong dòng bit đã được giải mã và trước khi chúng được trình bày với DCT nghịch đảo
3.42
Phương tiện lưu trữ kỹ thuật số - digital storaqe media (DSM)
Thiết bị lưu trữ hoặc thiết bị truyền dẫn kỹ thuật số.
3.43
Biến đổi cosine rời rạc - discrete cosine transform (DOT)
Hoặc là biến đổi cosine rời rạc thuận hoặc là biến đổi cosine rời rạc ngược. DCT là một sự chuyển đổi trực giao có thể đảo ngược, rời rạc. DCT nghịch đảo được định nghĩa trong Phụ lục A của Tiêu chuẩn này.
3.44
Tỷ lệ hiển thị - display aspect ratio
Tỷ lệ chiều cao chia cho chiều rộng (trong các đơn vị đo không gian như centimet) của màn hiển thị dự định.
3.45
Thứ tự hiển thị - display order
Thứ tự các ảnh giải mã được hiển thị. Thông thường đây là thứ tự mà chúng được trình diễn ở đầu vào bộ mã hóa.
3.46
Quá trình hiển thị - display process
Quá trình (không có quy chuẩn) mà khung tái tạo được hiển thị.
3.47
Dự đoán nguyên tố kép - dual-prime prediction
Một cơ chế dự đoán, trong đó hai dự đoán dựa trên trường cơ sở được dự đoán trung bình. Kích thước khối dự đoán là 16x16 mẫu độ chói.
3.48
Chỉnh sửa - editing
Quá trình mà một hoặc nhiều dòng bit mã hóa được điều khiển để tạo ra một dòng bit được mã hóa mới. Việc tuân thủ các dòng bit đã chỉnh sửa phải đáp ứng các yêu cầu được xác định trong Tiêu chuẩn này.
3.49
Bộ mã hóa - encoder
Một thực thể của một quá trình mã hóa.
3.50
Mã hóa (quá trình) - encoding (process)
Một quá trình, đọc một dòng ảnh đầu vào và tạo ra một dòng bit mã hoá hợp lệ như được xác định trong Tiêu chuẩn này.
3.51
Lớp tăng cường - enhancement layer
Một tham chiếu tương đối với một lớp (trên lớp cơ sở) trong một phân cấp có thể mở rộng. Đối với tất cả các dạng khả năng mở rộng, quá trình giải mã của nó có thể được mô tả bằng cách tham chiếu đến quá trình giải mã lớp dưới và quá trình giải mã bổ sung thích hợp cho bản thân lớp tăng cường.
3.52
Tua nhanh - fast forward playback
Quá trình hiển thị một chuỗi, hoặc các phần của một dãy, thứ tự ảnh hiển thị trên màn hình nhanh hơn thời gian thực.
3.53
Tua ngược - fast reverse playback
Quá trình hiển thị trình tự ảnh ngược lại thứ tự hiển thị nhanh hơn thời gian thực.
3.54
Trường - field
Đối với tín hiệu video xen kẽ, “trường” là tập hợp các dòng thay thế của khung. Do đó, một khung xen kẽ bao gồm hai trường, một trường trên cùng và một trường dưới cùng.
3.55
Dự đoán dựa trên trường cơ sở - Field-based prediction
Một cơ chế dự đoán chỉ sử dụng một trường của khung tham chiếu. Kích thước khối dự đoán là 16x16 mẫu độ chói.
3.56
Chu kỳ trường - Field period Thuận nghịch của hai lần tốc độ khung.
3.57
Ảnh trường, cấu trúc ảnh trường - field picture; field structure picture
Cấu trúc ảnh trường là ảnh được mã hóa với picture_structure bằng “Trường trên cùng” hoặc “Trường dưới cùng”.
3.58
Cờ - Flag
Một biến số nguyên một bit có thể lấy một trong hai giá trị (0 và 1).
3.59
Trạng thái cấm - forbidden
Thuật ngữ “cấm” khi sử dụng trong các mục xác định dòng bit được mã hóa cho thấy giá trị không bao giờ được sử dụng. Điều này thường là để tránh mô phỏng mã bắt đầu.
3.60
Bất buộc cập nhật - forced updating
Quá trình mà các macroblocks được mã hóa nội bộ theo thời gian để đảm bảo rằng các lỗi không phù hợp giữa các quá trình nghịch đảo DCT trong các bộ mã hóa và bộ giải mã không thể tích lũy quá mức.
3.61
Tương thích chuyển tiếp - forward compatibility
Một tiêu chuẩn mã hoá mới hơn tương thích với tiêu chuẩn mã hoá cũ hơn nếu bộ giải mã được thiết kế để hoạt động với chuẩn mã hóa mới hơn có thể giải mã các dòng bit của tiêu chuẩn mã hóa cũ.
3.62
Vector chuyển động chuyển tiếp - forward motion vector
Mật vector chuyển động được sử dụng để bù chuyển động từ một khung tham chiếu hoặc trường tham chiếu tại một thời gian trước đó theo thứ tự hiển thị.
3.63
Dự dự đoán - forward prediction
Dự đoán từ khung tham chiếu trước đó (trường).
3.54
Khung - Frame
Một khung chứa các dòng thông tin không gian của tín hiệu video. Đối với video liên tiếp, những dòng này chứa các mẫu bắt đầu từ một thời điểm tức thì và tiếp tục qua các dòng nối kế tiếp xuống dưới cùng của khung. Đối với video xen kẽ, khung bao gồm hai trường, trường trên cùng và trường dưới cùng. Một trong những trường này sẽ bắt đầu từ một khoảng thời gian sau trường khác.
3.65
Dự đoán khung cơ sở - frame-based prediction
Một cơ chế dự đoán sử dụng cả hai trường của khung tham chiếu.
3.66
Chu kỳ khung - frame period
Thuận nghịch của tốc độ khung.
3.67
Ảnh khung, cấu trúc ảnh khung - frame picture; frame structure picture
Một cấu trúc ảnh khung là một ảnh được mã hóa với cấu trúc hình ảnh bằng “Khung”.
3.68
Tốc độ khung - frame rate
Tốc độ khung hình được xuất ra từ quá trình giải mã.
3.69
Khung tham chiếu tiếp theo (trường) - future reference frame (field)
Một khung tham chiếu tiếp theo(trường) là một khung tham chiếu (trường) xảy ra vào một thời gian sau đó so với ảnh hiện tại theo thứ tự hiển thị.
3.70
Sắp xếp lại khung - frame re-ordering
Quá trình sắp xếp lại các khung được tái tạo khi thứ tự mã hoá khác với thứ tự hiển thị. Sắp xếp lại khung xảy ra khi khung B có mặt trong một dòng bit. Không có sắp xếp lại khung khi giải mã các dòng bit trễ thấp.
3.71
Nhóm ảnh - group of pictures
Một khái niệm chỉ được xác định trong ISO/IEC 11172-2 (MPFG-1 Video). Trong Tiêu chuẩn này, một chức năng tương tự có thể đạt được bằng cách chèn các tiêu đề nhóm các hình ảnh.
3.72
Tiêu đề - header
Một khối dữ liệu trong dòng bit được mã hóa có chứa mã số đại diện của một số thành phần dữ liệu liên quan đến dữ liệu được mã hóa đi theo tiêu đề trong dòng bit.
3.73
Khả năng mở rộng lai - hybrid scalability
Khả năng mở rộng lai (Hybrid) là sự kết hợp của hai (hoặc nhiều hơn) loại khả năng mở rộng.
3.74
Xen kẽ - interlace
Đặc tính của các khung truyền hình thông thường, nơi các dòng xen kẽ của khung thể hiện các trường hợp khác nhau trong thời gian. Trong một khung xen kẽ, một trong các trường này có nghĩa là để được hiển thị đầu tiên. Trường này được gọi là trường trên cùng. Trường đầu tiên có thể là trường trên cùng hoặc trường dưới cùng của khung.
3.75
Ảnh trường I - l-field picture Một cấu trúc ảnh trường I.
3.76
Ảnh khung I - l-frame picture
Cấu trúc ảnh khung I.
3.77
Ảnh I, ảnh được mã hóa nội bộ - l-picture; intra-coded picture
Ảnh được mã hóa chỉ sử dụng thông tin từ chính nó.
3.78
Mã hóa trong - intra coding
Má hóa một macroblock hoặc ảnh chỉ sử dụng thông tin từ macroblock hoặc ảnh đó.
3.78.1
Biến đổi ngược DCT, IDCT - lnverse DCT, IDCT
Đảo ngược biến đổi cosine rời rạc, như được định nghĩa trong Phụ lục A.
3.79
Mức - level
Một tập hợp các ràng buộc cho các giá trị có thể được thực hiện bởi các tham số trong một profile cụ thể của Tiêu chuẩn này. Profile có thể chứa một hoặc nhiều mức. Trong một ngữ cảnh khác, mức là giá trị tuyệt đối của hệ số không bằng không.
3.80
Lớp - layer
Trong một phân cấp có thể biểu thị một trong số các tập hợp dòng bit được yêu cầu và kết quả của quá trình giải mã liên quan (bao gồm cả giải mã tất cả các lớp bên dưới lớp này).
3.31
Lớp dòng bit - layer bitstream
Một dòng bit duy nhất liên kết với một lớp cụ thể (luôn được sử dụng cùng với lớp phủ, ví dụ “dòng bit lớp tăng cường”).
3.82
Lớp dưới - lower layer
Một tham chiếu tương đối đến lớp ngay bên dưới một lớp tăng cường nhất định (bao gồm cả giải mã tất cả các lớp bên dưới lớp tăng cường này).
3.33
Thành phần chói - luminance component
Một ma trận, khối hoặc mẫu đại diện đơn lẻ cho một đại diện đơn sắc của tín hiệu và liên quan đến màu sắc chính ‘theo cách được định nghĩa trong dòng bit. Biểu tượng được sử dụng cho độ chói là Y.
3.84
Mbit
1 000 000 bit.
3.85
Khối macroblock
Bốn của 8 bằng 8 khối dữ liệu độ chói và hai (cho định dạng sắc màu - chrominance 4:2:0), 4 (cho định dạng sắc màu 4:2:2) hoặc 8 (cho định dạng sắc màu 4:4:4) 8 bằng 8 khối dữ liệu màu từ 16 đến 16 phần của thành phần chói của ảnh. Macroblock đôi khi được sử dụng để tham khảo dữ liệu mẫu và đôi khi để biểu diễn mã của các giá trị mẫu và các thành phần dữ liệu khác được định nghĩa trong tiêu đề macroblock của cú pháp được định nghĩa trong Trong Tiêu chuẩn này. Cách sử dụng là rõ ràng từ ngữ cảnh.
3.86
Bù chuyển động - motion compensation
Việc sử dụng các vector chuyển động để nâng cao hiệu quả của việc dự đoán giá trị mẫu. Dự đoán sử dụng các vectơ chuyển động để cung cấp bù vào các khung tham chiếu trong sau và/ hoặc trước và các trường tham khảo có chứa các giá trị mẫu đã được giải mã trước đây được sử dụng để tạo thành lỗi dự đoán.
3.87
Tính toán chuyển động - motion estimation
Quá trình ước lượng vectơ chuyển động trong quá trình mã hóa.
3.88
Vector chuyển động - motion vector
Một vector hai chiều được sử dụng cho sự bù chuyển động cung cấp bù từ vị trí tọa độ trong ảnh hoặc trường hiện tại đến tọa độ trong một khung tham chiếu hoặc trường tham chiếu.
3.89
Mã non-intra - non-intra coding (Không mã hóa bên trong)
Mã hoá một macroblock hoặc ảnh sử dụng thông tin từ bản thân nó và từ cả hai Macroblocks và ảnh xảy ra vào những thời điểm khác.
3.90
Chẵn lẻ đối diện - opposite parity
Chẵn lẻ đối diện của đỉnh là đáy, và ngược lại.
3.91
Ảnh trường P - P-field picture
Một cấu trúc ảnh trường P.
3.92
Ảnh khung P - P-frame picture
Một cấu trúc ảnh khung P.
3.93
P-picture; predictive-coded picture - Ảnh P; ảnh được mã hóa dự đoán
Ảnh được mã hóa bằng cách sử dụng dự đoán bù chuyển động từ các trường hoặc hệ quy chiếu trong quá khứ.
3.94
Tham số - parameter
Một biến trong cú pháp Trong Tiêu chuẩn này có thể có một trong một loạt các giá trị. Một biến có thể lấy một trong hai giá trị được gọi là cờ.
3.95
Chẵn lẻ của trường - parity (of field)
Tính chẵn lẻ của một trường tin có thể là trên hoặc dưới cùng.
3.96
Khung tham chiếu trước (trường) - past reference frame (field)
Một khung tham chiếu trong quá khứ (trường tin) là một khung tham chiếu (trường tin) xảy ra ở một thời gian sớm hơn so với ảnh hiện tại theo thứ tự hiển thị.
3.97
Ảnh - picture
Nguồn, dữ liệu ảnh được mã hóa hoặc tái tạo. Nguồn hoặc ảnh được tái tạo bao gồm ba ma trận hình chữ nhật gồm các số 8 bit biểu thị độ chói và hai tín hiệu sắc độ. “Hình ảnh được mã hóa” được định nghĩa trong 3.21 của tiêu chuẩn này. Đối với video liên tục, một ảnh giống hệt một khung, trong khi đối với video xen kẽ, một ảnh có thể tham chiếu đến một khung, hoặc trường trên cùng hoặc trường dưới cùng của khung tùy thuộc vào hoàn cảnh.
3.98
Dữ liệu ảnh - picture data
Trong các hoạt động VBV, dữ liệu ảnh được xác định là tất cả các bit của ảnh được mã hóa, tất cả các tiêu đề và dữ liệu người dùng ngay trước nó nếu có (bao gồm bất kỳ nhồi vào nào giữa chúng) và tất cả các nhồi vào theo nó, đến (nhưng không bao gồm) mã bắt đầu tiếp theo, ngoại trừ trường hợp mã bắt đầu tiếp theo là mã cuối cùng của chuỗi mã hóa, trong trường hợp nó được bao gồm trong dữ liệu ảnh.
3.99
Dự đoán - prediction
Việc sử dụng dự đoán để cung cấp tính toán giá trị mẫu hoặc thành phần dữ liệu đang được giải mã.
3.100
Lỗi dự đoán - prediction error
Sư khác biệt giữa giá trị thực của một mẫu hay thành phần dữ liệu và dự đoán của nó.
3.101
Bộ dự đoán - predictor
Một sự kết hợp tuyến tính của các giá trị mẫu đã được giải mã trước đó hoặc các thành phần dữ liệu.
3.102
Một tập hợp con được định nghĩa của cú pháp của Tiêu chuẩn này.
Chú thích 1 - Trong Tiêu chuẩn này. từ “profile” được sử dụng như đã định nghĩa ở trên không nên nhầm lẫn với các định nghĩa khác của “profile “ và đặc biệt nó không có ý nghĩa được xác định bởi nhóm đặc biệt JTC1 của ISO/IEC về Tiêu chuẩn chức năng.
3.103
Liên tục - progressive
Đặc điểm của khung Phim, nơi tất cả các mẫu của khung đại diện giống ban đầu trong thời gian
3.104
Ma trận lượng tử - quantization matrix
Một tập gồm sáu mươi bốn giá trị 8bit được sử dụng bởi bộ giải lượng tử.
3.105
Hệ số DCT lượng tử hóa - quantized DCT coefficients
Hệ số DCT trước khi lượng tử hóa. Một đối tượng được mã hóa có độ dài thay đổi của các hệ số DCT lượng tử hóa được truyền đi như một phần của dòng bit video được mã hóa.
3.106
Bộ lượng tử theo tỷ lệ - quantizer scale
Một hệ số thành phần tỷ lệ được mã hoá trong dòng bit và được sử dụng bởi quá trình giải mã để chia theo tỷ lệ giải lượng tử hóa.
3.107
Truy cập ngẫu nhiên - random access
Quá trình bắt đầu để đọc và giải mã dòng bit mã hóa tại một điểm tùy ý.
3.108
Khung tái tạo - reconstructed frame
Khung dựng lại bao gồm ba ma trận chữ nhật của số 8-bit đại diện cho độ chói và hai tín hiệu màu. Một khung tái tạo thu được bằng cách giải mã một khung được mã hoá.
3.109
Ảnh tái tạo - reconstructed picture
Ảnh tái tạo thu được bằng cách giải mã một ảnh được mã hóa. Một ảnh tái tạo là khung tái tạo (khi giải mã một ảnh khung), hoặc một trường của khung tái tạo (khi giải mã một ảnh trường). Nếu ảnh được mã hóa là một ảnh trường, thì ảnh tái tạo là trường trên cùng hoặc trường dưới cùng của khung tái tạo.
3.110
Trường tham chiếu - reference field
Trường tham chiếu là một trường của một khung tái tạo. Trường tham chiếu được sử dụng để dự dự đoán và sau, khi các ảnh p và các ảnh B được giải mã. Lưu ý rằng khi trường các ảnh P được giải mã, dự đoán trường các ảnh P thứ hai của một khung được mã hoá sẽ sử dụng trường được tái tạo lại đầu tiên của khung được mã hoá giống nhau làm một trường tham chiếu.
3.111
Khung tham chiếu - reference frame
Một khung tham chiếu là một khung tái tạo đã được mã hóa dưới dạng một khung I được mã hoá hoặc một khung P được mã hoá. Các khung tham chiếu được sử dụng để dự dự đoán và ngược lại khi các ảnh P và ảnh B được giải mã.
3.112
Sắp xếp lại độ trễ - re-ordering delay
Trễ trong quá trình giải mã là do sự sắp xếp lại khung.
3.113
Dự phòng - reserved
Thuật ngữ “reserved” khi sử dụng trong các mục xác định dòng bit được mã hóa, chỉ ra rằng giá trị này có thể được sử dụng trong tương lai cho các phần mở rộng được định nghĩa trong ITU-T ISO/IEC.
3.114
Tỷ lệ khuôn dạng mẫu - sample aspect ratio (SAR)
Điều này chỉ ra khoảng cách tương đối giữa các mẫu. Được định nghĩa (cho mục đích của Tiêu chuẩn này), như là sự dịch chuyển theo chiều thẳng đứng của các dòng của các mẫu độ chói trong một khung chia cho sự dịch chuyển ngang của các mẫu độ chói. Do đó, các đơn vị của nó là (mét cho mỗi dòng) (mét trên một mẫu).
3.115
Phân cấp có thể mở rộng - scalable hierarchy
Dữ liệu video được mã hỏa bao gồm một tập hợp thứ tự nhiều hơn một dòng bit video.
3.116
Khả năng mở rộng - scalability
Khả năng mở rộng là khả năng của bộ giải mã để giải mã một tập hợp thứ tự các dòng bit để tạo ra một chuỗi cấu trúc tái tạo. Hơn nữa, video hữu ích được xuất ra khi các tập hợp con được giải mã. Tập hợp con tối thiểu có thể được giải mã là dòng bit đầu tiên trong tập hợp gọi là lớp cơ sở. Mỗi dòng bit khác trong tập hợp được gọi là lớp tăng cường. Khi đặt một lớp tăng cường cụ thể, “lớp dưới” đề cập đến dòng bit đi trước lớp tăng cường.
3.117
Thông tin phụ - side information
Thông tin trong dòng bit cần thiết để điều khiển bộ giải mã
3.118
Dự đoán 16x8 - 16x8 prediction
Một cơ chế dự đoán tương tự như dự đoán dựa trên trường nhưng ở đó kích thước khối dự đoán là 16x8 mẫu độ chói.
3.119
Chạy - run
Số hệ số zero trước một hệ số không bằng 0, theo thứ tự quét. Giá trị tuyệt đối hệ số không bềng 0 được gọi là “mức”.
3.120
Độ bão hòa - saturation
Giới hạn một giá trị vượt quá phạm vi xác định bằng cách đặt giá trị lên tối đa hoặc tối thiểu của phạm vi nếu thích hợp.
3.121
Bỏ qua khối macroblock - skipped macroblock
Một macroblock trong đó không có dữ liệu nào được mã hóa.
3.122
Lát cắt - slice
Một loạt liên tiếp các macroblock mà tất cả đều nằm trong cùng một hàng ngang của macroblocks.
3.123
Khả năng mở rộng SNR - SNR scalability
Một loại khả năng mở rộng mà (các) lớp tăng cường chỉ chứa dữ liệu sàng lọc mã cho các hệ số DCT của lớp dưới cùng.
3.124
Nguồn; đầu vào - source; input
Thuật ngữ được sử dụng để mô tả các tài liệu của video hoặc một số thuộc tính của nó trước khi mã hóa.
3.126
Khả năng mở rộng theo không gian - spatial scalability
Một loại khả năng mở rộng, trong đó một lớp tăng cường sử dụng các dự đoán từ dữ liệu mẫu có nguồn gốc từ lớp dưới mà không sử dụng các vector chuyển động. Các lớp có thể có kích thước khung hình khác nhau, tốc độ khung hoặc các định dạng màu.
3.127
Mã bắt đầu (hệ thống và video) - start codes (system and video)
Mã 32 bit được nhúng trong dòng bit được mã hóa đó là duy nhất. Chúng được sử dụng cho một số mục đích bao gồm xác định một số cấu trúc trong cú pháp mã hóa.
3.128
Nhồi (bit), nhồi (byte) - stuffing (bits), stuffing (bytes)
Các từ mã có thể được chèn vào dòng bit được mã hoá mà chúng bị loại bỏ trong quá trình giải mã. Mục đích của chúng là tăng tốc độ bit của dòng mà nếu không nó sẽ thấp hơn tốc độ bit mong muốn.
3.129
Dự đoán theo thời gian - temporal prediction
Dự đoán được bắt nguồn từ các khung tham chiếu hoặc các trường khác với những gì được xác định là dự đoán theo không gian.
3.130
Khả năng mở rộng theo thời gian - temporal scalability
Một loại khả năng mở rộng, ở đó một lớp tăng cường cũng sử dụng các dự đoán từ dữ liệu mẫu lấy từ một lớp dưới sử dụng các vec tơ chuyển động, Các lớp có kích thước khung giống nhau, và các định dạng độ sắc nét, nhưng có thể có tốc độ khung hình khác nhau.
3.131
Trường trên cùng - top field
Một trong hai trường bao gồm một khung. Mỗi dòng của một trường hàng đầu là vị trí không gian ngay phía trên đường tương ứng của trường dưới cùng.
3.132
Lớp trên cùng - top layer
Lớp trên cùng (với nhận diện lớp cao nhất) của một hệ thống phân cấp có thể mở rộng.
3.133
Tốc độ bit thay đổi - variable bit rate
Hoạt động ở đó tốc độ bit thay đổi theo thời gian trong quá trình giải mã của một dòng bit được mã hoá.
3.134
Mã hóa chiều dài thay đổi - variable length coding (VLC)
Một quy trình đảo ngược cho mã hóa gán các từ mã ngắn hơn cho các sự kiện thường xuyên và từ mã dài hơn tới các sự kiện ít thường xuyên hơn.
3.135
Bộ kiểm tra đệm video - Video buffering verifier (VBV)
Bộ giải mã giả thuyết được kết nối với đầu ra của bộ mã hóa. Mục đích của nó là cung cấp một sự hạn chế về sự biến đổi của tốc độ dữ liệu mà một bộ mã hóa hoặc quá trình chỉnh sửa có thể tạo ra.
3.136
Chuỗi video - video sequence
Cấu trúc cú pháp cao nhất của dòng bit video được mã hoá. Nó chứa một cảnh của một hoặc nhiều khung mã hoá.
3.137
Bb giải mã Profile xxx - xxx profile decoder
Bộ giải mã có khả năng giải mã một hoặc một hệ thống phân cấp có thể mở rộng các dòng bit, trong đó lớp trên phù hợp với các đặc tả của xxx profile (với xxx là bất kỳ tên Profile nào được xác định).
3.138
Phân cấp có thể mở rộng profile xxx - xxx profile scalable hierarchy
Tập hợp dòng bit trong đó lớp trên phù hợp với các thông số kỹ thuật của xxx profile.
3.139
Dòng bit profile xxx - xxx profile bitstream
Một dòng bit của một phân cấp có thể mở rộng với một tham số profile tương ứng với xxx. Lưu ý rằng dòng bit này chỉ có thể được giải mã cùng với tất cả các dòng bit lớp thấp hơn (trừ khi nó là một dòng bit lớp cơ sở).
3.140
Thứ tự quét zigzag - Zigzag scanning order
Một thứ tự sắp xếp cụ thể của hệ số DCT từ (xấp xỉ) tần số không gian thấp nhất đến cao nhất.
4. Các ký hiệu và chữ viết tắt
Các toán tử toán học dùng đề mô tả Tiêu chuẩn này tương tự như tiêu chuẩn được sử dụng trong ngôn ngữ lập trình C. Tuy nhiên, phân số nguyên với việc bỏ hết các số hạng và làm tròn được xác định cụ thể. Các toán tử bit được định nghĩa giả định bổ sung hai thành phần đại diện của số nguyên, số và đếm vòng lặp thường bắt đầu từ 0.
4.1. Các toán từ số học
+ | Phép cộng | ||
- | Phép trừ | ||
++ | Phép tăng | ||
-- | Phép giảm | ||
* hoặc x | Phép nhân | ||
^ | Phép lũy thừa | ||
/ | Phép Phân chia số nguyên với bỏ hết các số hạng của kết quả về 0. Ví dụ. 7/4 và -7/4 được cắt ngắn là 1 và -7/4và 7/-1 được cắt ngắn thành -1. | ||
// | Phân chia số nguyên với làm tròn đến số nguyên gần nhất. Giá trị nửa số nguyên được làm tròn từ 0 trừ khi được quy định khác. Ví dụ 3//2 được làm tròn thành 2. và - 3//2 được làm tròn thành -2. | ||
DIV | Phân chia số nguyên Với cắt ngắn kết quả về phía cực âm. Ví dụ 3 DIV 2 được làm tròn thành 1, và -3 DIV 2 được làm tròn thành -2. | ||
÷ | Được sử dụng để chỉ sự phân chia các phương trình toán học mà không cắt bớt hoặc làm tròn. | ||
% | Vận hành Modulus. Xác định chỉ cho số dương, (lấy phần dư) | ||
Sign() | 1 | x > 0 |
x = = 0 |
Phép gán Sign (x) = 0 | |||
-1 | x < 0 | ||
Abs() | Phép giá trị tuyệt đối Abs(x) = X - x | x ≥ 0 x < 0 | |
ƒ(i) | Phép Tổng của f(i) với i lấy các giá trị nguyên từ a trở lên, nhưng không bao gồm b. | ||
Floor() | Phép làm tròn xuống: số nguyên lớn nhất ít hơn hoặc bằng đối số. | ||
Round() | Phép làm tròn lên: Sign(x) * Floor(Abs(x) + 0.5 ), cho một đối số X. |
4.2. Các toán tử logic
|| | Logical OR |
&& | Logical AND |
! | Logical NOT |
4.3. Các toán từ quan hệ
> | Lớn hơn |
≥ | Lớn hơn hoặc bằng |
< | Nhỏ hơn |
≤ | Nhỏ hơn hoặc bằng |
= = | Bằng |
! = | Không bằng |
max[...] | Giá trị lớn nhất trong danh sách đối số |
min [....] | Giá trị tối thiểu trong danh sách đối số |
4.4. Các toán tử thao tác bit (Bitwise)
% | AND |
I | OR |
» | Di chuyển về bên phải với phần ký hiệu mở rộng |
« | Di chuyển về bên trái và điền vào với số 0 |
4.5. Phép gán
= Gán bằng (Assignment operator) Nhóm toán tử gán (Assignment Operators): dùng để gán dữ liệu cho biến.
4.6. Các Nhận dạng
Các phép ghi nhớ sau đây được định nghĩa để mô tả các kiểu dữ liệu khác nhau được sử dụng trong dòng bit được mã hóa.
bslbf | Bit string, bit bên trái đầu tiên (left bit first), trong đó “left” là thứ tự trong chuỗi bit ghi trong Tiêu chuẩn này. Chuỗi bit được viết bằng một chuỗi 1 và 0 bên trong các dấu nháy đơn, ví dụ: ‘1000 0001’. Các khoảng trống trong một chuỗi bit chỉ là để cho dễ đọc và nó không có ý nghĩa. |
uimshf | số nguyên không dấu, bit đầu tiên quan trọng nhất |
simsbf | Ký hiệu số nguyên, ở hai định dạng bổ sung, bit ký hiệu quan trọng nhất trước tiên. |
vlclbf | Mã biến chiều dài, bit trái đầu tiên, trong đó “trái” dùng để chỉ thứ tự các mã VLC bằng văn bản. Thứ tự byte của từ nhiều byte là byte quan trọng nhất đầu tiên. |
Trong các mục mô tả cú pháp, bất kỳ thành phần cú pháp nào chỉ có thể lấy các giá trị dương hoặc không dấu (như một cờ có thể bằng 0 hoặc 1) được mô tả với nhận dạng là “uimsbf. Nếu thành phần cú pháp có thể có một giá trị âm, nó được mô tả với nhận dạng là “simsbf”. Nếu tành phần cú pháp có giá trị không đổi (ví dụ: marker_bit) thì nó được mô tả với nhận dạng là “bslbf. Nếu thành phầncú pháp đại diện cho mã có độ dài biến, nó được mô tả với nhận dạng là “vlclbf.
4.7. Hằng số
Số π | 3.14159265359 |
Số e | 2.71828182845 |
4.8. Thuật ngữ viết tắt
Cụm từ viết tắt - Thuật ngữ | Tiếng Anh | Nghĩa tiếng Việt |
AVC | Advanced video coding | Mã hóa video nâng cao (xem ISO/IEC 14496-10) |
AVC video elementary stream | AVC video elementary stream | Dòng cơ sở video AVC |
AES | Advanced Encryption Standard | Tiêu chuẩn mã hóa cải tiến |
BSLBF | bit serial leftmost bit first | Bit tận cùng bên trái nối tiếp bit đầu tiên |
CBR | Constant Bit Rate coding | Mã hoá tốc độ bit không đổi |
DVB-C | Digital Video Broadcasting- Cable | Truyền hình cáp số DVB-C |
DVD |
| Định dạng đĩa DVD |
DVB - S | Digital Video Broadcasting- Satellite | Truyền hình số vệ tinh DVB-S |
DVB -T | Digital Video Broadcasting - Terrestrial | Truyền hình số mặt đất DVB-T |
EDTV | Enhanced Definition Television | Truyền hình có độ nét mở rộng EDTV (nhận tín hiệu đầu vào HDTV, nhưng phải downconvert tín hiệu xuống để phù hợp với độ phân giải hiển thị trên màn hình EDTV) |
GOP | Group of pictures | Nhóm ảnh |
DAR | Display Aspect Ratio | Tỷ lệ khuôn dạng hiển thị |
DCT | Discrete cosine transform | Biến đổi cosine rời rạc |
DCF | Quantized DCT coefficients | Các hệ số DCT lượng tử hóa |
DSM - CC | Digital Storage Media - Command and Control | Phương tiện lưu trữ kỹ thuật số - điều khiển và kiểm soát |
DTV | Digital Television | Thiết bị truyền hình kỹ thuật số |
DVB | Digital Video Broadcast | Truyền hình kỹ thuật số |
ES | elementary stream | Dòng cơ sở |
IEC | Ủy ban Kỹ thuật Điện Quốc tế | International Electrotechnical Commission |
ISO | Tổ chức tiêu chuẩn hóa quốc tế | International Organization for Standardization |
ITU - T | Liên minh viễn thông quốc tế - Lĩnh vực tiêu chuẩn hóa viễn thông | International Telecommunication Union - Telecommunication Standardization Sector |
HDTV | High Definition Television | Truyền hình độ phân giải cao |
MPEG | Moving Pictures Experts Group | Nhóm chuyên gia ảnh động |
MPEG-2 | Moving Pictures Experts Group - 2 | Một chuẩn mã hóa hình ảnh âm thanh, xem ISO/IEC 13818 [18]. |
Mnomonic | Multiplex | Nhận dạng |
NAL | Network abstraction layer | Lớp trừu tượng hóa mạng |
Numbits |
| Số bit |
NTSC | National Teltevision System Committee | hệ truyền hình được sử dụng hầu hết ở Bắc Mỹ và Nam Mỹ có tần số quét ngang là 60Hz (tương đương 30 khung hình/s). Mỗi khung hình được tạo ra bởi 525 dòng quét đơn |
PAL | Phase Alternating Line | Chuẩn phát hình PAL hệ truyền hình được dùng phần lớn ở Châu Âu, châu Á Chuẩn PAL có tần số quét ngang là 50Hz (tương đương 25 khung hình/s) Mỗi khung hình được tao ra bởi 625 dòng quét. |
PES | Dòng cơ bản đã gói hóa |
|
PMV | Predictors for Motion Vectors |
|
PCM |
| Điều chế xung mã |
PSI | Program Specific Information | Thông tin xác định chương trình |
QAM | Quadrature Amplitude Modulation | Điều biên cầu phương |
RGB |
| Thành phần màu truyền hình - Đỏ, Xanh lục và xanh dương |
RID | Responsibilities of the Registration Authority | Thủ tục yêu cầu đăng ký định danh |
SAR | Sample aspect ratio | Tỷ lệ khuôn dạng mẫu |
SEI | Supplementary enhancement information | Thông tin cải tiến bổ sung |
SDTV | Standard Definition Television | Truyền hình độ nét tiêu chuẩn |
SECAM | Sequentiel Couleur A Meorire | Hệ truyền hình SECAM |
SNR | Tỷ lệ tín hiệu nhiễu | Signal to Noise Ratio |
SI | Service Information | Thông tin dịch vụ |
STB | Set Top Box | Thiết bị giải mã kỹ thuật số có nguồn điện độc lập |
STC | System Time Clock | Đồng hồ thời gian hệ thống |
SIMSBF | Signed integer, in two’s complement format, most significant (sign) bit first. | Ký hiệu số nguyên, ở hai định dạng bổ sung, bit ký hiệu quan trọng nhất trước tiên. |
TS | Transport stream | Dòng truyền tải |
ulmsbf | unsigned integer most significant bit first | Số nguyên không dấu bit quan trọng nhất đầu tiên |
UPC | Usage Parameter Control | Kiểm soát thông số sử dụng |
VBR | Variable Bit Ratecoding | Mã hoá tốc độ bit biến đổi |
VBV | Video buffering verifier | Bộ kiểm tra đệm video |
VLC | Variable length coding | Mã hóa chiều dài thay đổi |
VLDBF | Variable length code, left bit first | Mã biến chiều dài, bit trái đầu tiên, trong đó “trái” dùng để chỉ thứ tự các mã VLC bằng văn bản. Thứ tự byte của từ nhiều byte là byte quan trọng nhất đầu tiên. |
VUI | Video Usability Information | Thông tin sử dụng video |
Hexadecimal |
| Hệ thập lục phân (hay hệ đếm cơ số 16) |
Y/C |
| (Tín hiệu) Chói/Màu |
5. Quy ước
5.1. Cách mô tả cú pháp dòng bit
Dòng bit thu được bởi bộ giải mã được mô tả trong 6.2. Mỗi mục dữ liệu trong dòng bit được in đậm. Nó được mô tả bởi tên của nó, chiều dài của nó bằng các bit, và một nhận dạng về kiểu và thứ tự truyền của nó.
Hành động gây ra bởi việc giải mã dữ liệu trong một dòng bit phụ thuộc vào giá trị của thành phần dữ liệu đó và các thành phần dữ liệu được giải mã trước đây. Việc giải mã các thành phần dữ liệu và xác định các biến trạng thái được sử dụng trong giải mã của chúng được mô tả trong 6.3. Các cấu trúc sau đây được sử dụng để diễn tả các điều kiện khi các thành phần dữ liệu có mặt và nằm trong kiểu bình thường:
while ( condition ) { data_element } | Nếu điều kiện là đúng, thì nhóm các thành phần dữ liệu sẽ xảy ra tiếp theo trong dòng dữ liệu. Điều này lặp lại cho đến khi điều kiện không đúng. |
do { Data_element } while ( condition ) | Thành phần dữ liệu luôn luôn xảy ra ít nhất một lần Thành phần dữ liệu được lặp lại cho đến khi điều kiện không đúng |
if ( condition ) { Data_element }else { data.element } | Điều kiện là đúng, sau đó nhóm dữ liệu đầu tiên xảy ra tiếp theo trong dòng dữ liệu |
Nếu điều kiện không đúng, thì nhóm thứ hai của các phần tử dữ liệu xảy ra tiếp theo trong dòng dữ liệu. | |
for (i = m. i < n, i++) { data_element ... } | Nhóm các phần tử dữ liệu xảy ra (m - n) lần Điều kiện cấu trúc trong nhóm các phần tử dữ liệu có thể phụ thuộc vào giá trị của biến điều khiển vòng lặp i. được đặt là 0 cho sự xuất hiện đầu tiên, gia tăng bằng một cho sự xuất hiện thứ hai, và vân vân |
/* comment... */ | Chú giải giải thích có thể bị xóa hoàn toàn mà không thay đổi bất kỳ cách nào trong cú pháp. |
Cú pháp này sử dụng quy ước ‘C-code’ rằng một biến hoặc biểu thức đánh giá một giá trị khác không tương đương với điều kiện đúng và một biến hoặc biểu thức đánh giá một giá trị bằng không tương đương với điều kiện sai. Trong nhiều trường hợp một chuỗi chữ được sử dụng trong một điều kiện. Ví dụ:
if (sealable_mode == “spatial_scalability”) ...
Trong những trường hợp như vậy, chuỗi ký tự được sử dụng để mô tà giá trị của thành phần dong bit trong 6.3. Trong ví dụ này, chúng ta thấy rằng “khả năng mở rộng theo không gian” được định nghĩa trong Bảng 6-10 được thể hiện bởi số nhị phân hai bit ‘01’.
Như đã lưu ý, nhóm các thành phần dữ liệu có thể chứa các cấu trúc có điều kiện lồng nhau. 03 cho chắc chắn, các { } được bỏ qua khi chỉ có thành phần dữ liệu sau:
data_element [n] | Thành phần dữ liệu [n] là thành phần thứ (n + 1) của một mảng dữ liệu. |
data_element [m][n] | Thành phần dữ liệu [m][n] là thành phần thứ (m + 1, n + 1) của một mảng dữ liệu hai chiều. |
data_element [l][m][n] | Thành phần dữ liệu [l][m][n] là thành phần thứ (1+1, m+1, n+1) của một mảng dữ liệu ba chiều. |
5.2. Định nghĩa chức năng
Một số chức năng tiện ích cho thuật toán mã hóa ảnh được xác định như sau.
5.2.1. Định nghĩa hàm bytealigned()
Hàm bytealigned() trả về 1 nếu vị trí hiện tại nằm trên một ranh giới byte, đó là bit tiếp theo của dòng bit là bit đầu tiên trong byte. Nếu không nó sẽ trả về 0.
5.2.2. Định nghĩa hàm nextbitsto
Hàm nextbits() cho phép so sánh một chuỗi bit với các bit tiếp theo được giải mã trong dòng bit.
5.2.3. Định nghĩa hàm next_start_code()
Hàm next_start_code() loại bỏ bất kỳ bit không (zero bit) và byte nhồi không (zero byte) nào, và xác định vị trí bắt đầu tiếp theo
next_start_code() { | Số bit | Nhận dạng | |
| while (!bytealigned()) |
|
|
| zerobit | 1 | ‘0’ |
| while ( nextbito I = ‘0000 0000 0000 0000 0000 0001’ ) |
|
|
| zerobyte | 8 | ‘0000 0000’ |
} |
|
|
Chức năng này kiểm tra xem vị trí hiện tại có byte đã được điều chỉnh hay không. Nếu không, bit nhồi không (zero bit) sẽ hiện diện. Sau đó, bất kỳ số lượng byte nhồi không (zero byte) nào có thể có mặt trước mã bắt đầu. Vì vậy, mã bắt đầu luôn luôn được điều chỉnh liên tục và có thể được đặt trước bởi bất kỳ số bit nhồi không (zero bit) nào.
5.3. Dự phòng, cấm và bit đánh dấu (markerbit)
Cốc thuật ngữ “dự phòng” và “cấm” được sử dụng trong mô tả một số giá trị của một vài trường 25 trong dòng bit mã hoá.
Thuật ngữ “dự phòng” chỉ ra rằng giá trị có thể được sử dụng trong tương lai cho các phần mở rộng được xác định trong ITU-T ISO/IEC.
Thuật ngữ “cấm” cho biết giá trị không bao giờ được sử dụng (thường là để tránh mô phỏng mã bắt đầu).
Thuật ngữ “bit đánh dấu” chỉ ra một số nguyên một trong số đó là giá trị zero được cấm (và nó sẽ có giá trị 1). Các bit đánh dấu được giới thiệu ở một số điểm trong cú pháp để tránh mô phỏng mã bắt đầu.
5.4. Độ chính xác số học
Để giảm sự khác biệt khi triển khai Tiêu chuẩn này, các quy tắc sau cho các phép toán số học được xác định:
a) Trường hợp không xác định được một kết quả chính xác về phương diện chính xác, chẳng hạn như trong tính toán của IDCT, độ chính xác phải đủ để các lỗi chính không xảy ra ở các giá trị số nguyên cuối cùng.
b) Trường hợp các giá trị được đưa ra bởi dấu hai chấm, điểm cuối cùng được đưa ra nếu một khung được hiện diện và loại trừ nếu sử dụng các ký tự ‘ít hơn’ (<) và ‘lớn hơn’ (>). Ví dụ, [a: b> có nghĩa là từ a đến b, bao gồm a nhưng không bao gồm b]
6. Cú pháp và ngữ nghĩa dòng bit video
6.1. Cấu trúc dữ liệu mã hóa video
Dữ liệu video đã mã hóa bao gồm một tập hợp các dòng bit video yêu cầu, được gọi là các lớp. Nếu chỉ có một lớp, dữ liệu mã hóa video được gọi là dòng bit không thể mở rộng. Nếu có hai lớp hoặc nhiều hơn, dữ liệu mã hóa video được gọi là phân cấp có thể mở rộng.
Lớp đầu tiên (của tập hợp theo thứ tự) được gọi là lớp cơ sở, và nó luôn luôn có thể được giải mã độc lập. Xem từ mục 7.1 đến mục 7.6 và mục 7.12 để mô tả quá trình giải mã cho lớp cơ sở, trừ trường hợp Phân vùng dữ liệu, được mô tả trong mục 7.10.
Các lớp khác được gọi là các lớp tăng cường, và chỉ có thể được giải mã cùng với tất cả các lớp thấp hơn (các lớp trước trong tập hợp theo thứ tự), bắt đầu với lớp cơ sở. Xem từ mục 7.7 đến mục 7.11 để biết mô tả quá trình giải mã cho phân cấp có thể mở rộng.
Xem Tiêu chuẩn này mô tả cách thức các lớp có thể được ghép ghép lại với nhau.
Lớp cơ sở của một hệ thống phân cấp có thể mở rộng phù hợp với Tiêu chuẩn kỹ thuật này hoặc các tiêu chuẩn khác như ISO/IEC 11172-2.Xem chi tiết trong mục 7.7 đến mục 7.11. Các lớp tăng cường phải tuân thủ Tiêu chuẩn kỹ thuật này.
Trong tất cả các trường hợp ngoài phân vùng dữ liệu, lớp cơ sở không chứa một scquence_scalable_extension(). Các lớp tăng cường luôn chứa sequence_scalable_extension().
Nói chung, dòng bit video có thể được coi là một cấu trúc cú pháp trong đó các cấu trúc cú pháp chứa một hoặc nhiều cấu trúc cấp dưới. Ví dụ, cấu trúc “picture_data()” chứa một hoặc nhiều cấu trúc cú pháp “sliced” mà trong phiên có chứa một hoặc nhiều cấu trúc “macroblock()”. Cấu trúc này rất giống với cấu trúc được sử dụng trong ISO/IEC 11172-2.
6.1.1. Chuỗi video
Dòng cú pháp cao nhất của dòng bit mã hóa video là chuỗi video.
Một chuỗi video bắt đầu với một tiêu đề chuỗi có thể theo sau bởi một nhóm tiêu đề ảnh và sau đó bằng một hoặc nhiều khung được mã hoá. Thứ tự của các khung được mã hoá trong dòng bit được mã hoá là thứ tự trong đó bộ giải mã xử lý chúng, nhưng không nhất thiết theo đúng chuỗi hiển thị. Chuỗi video bị chấm dứt bởi mã kết thúc chuỗi. Tại các điểm khác nhau trong chuỗi video, một khung được mã hóa cụ thể có thể được đặt trước bằng một tiêu đề hủy bỏ hoặc một nhóm tiêu đề ảnh hoặc cả hai. (Trong trường hợp cả tiêu đề lặp lại và một nhóm tiêu đề ảnh ngay trước một ảnh cụ thể, nhóm của tiêu đề ảnh sẽ làm theo các chuỗi tiêu đề lặp lại)
6.1.1.1. Chuỗi liên tục và xen kẽ
Tiêu chuẩn kỹ thuật đề cập đến mã hóa của cả hai chuỗi liên tục và xen kẽ.
Đầu ra của quá trình giải mã, đối với các chuỗi xen kẽ, bao gồm một loạt các trường tái tạo được tách ra trong thời gian bởi một trường chu kỳ. Hai trường của một khung có thể được mã hòa riêng (ảnh trường). Ngoài ra, hai trường có thể được mã hoá với nhau dướ’i dạng một khung (ảnh khung). Cả ảnh khung và ảnh trường đều có thể được sử dụng trong một chuỗi video duy nhất.
Trong chuỗi liên tiếp mỗi ảnh trong chuỗi sẽ là một khung hình. Chuỗi, ở đầu ra của quá trình giải mã, bao gồm một loạt các khung được tái tạo được tách ra theo thời gian bởi một chu kỳ khung.
6.1.1.2. Khung
Khung bao gồm ba ma trận số nguyên hình chữ nhật: ma trận độ chói(Y), và hai ma trận sắc màu (Cb và Cr),
Mối quan hệ giữa các thành phần Y, Cb và Cr và các tín hiệu Đỏ, Xanh lục và xanh dương (tương tự), (E’R, E’G và E’B), màu sắc cơ bản và các đặc tính chuyển đổi của khung nguồn này được xác định trong dòng bit (hoặc được chỉ định bởi một số phương tiện khác). Thông tin này không ảnh hưởng đến quá trình giải mã.
6.1.1.3. Trường
Một trường bao gồm tất cả các dòng khác của mẫu trong ba ma trận số nguyên hình chữ nhật đại diện cho một khung.
Một khung là sự kết hợp của một trường trên cùng và một trường dưới cùng. Trường trên cùng là trường chứa dòng trên cùng của mỗi ma trận. Trường dưới cùng là trường chứa dòng dưới cùng của mỗi ma trận.
6.1.1.4. Ảnh
Một ảnh được mã hóa được làm bằng một phần đầu ảnh, các phần mở rộng tùy chọn ngay sau nó và các dữ liệu ảnh sau đây. Một ảnh mã hóa có thể là một khung được mã hoá hoặc một trường được mã hoá.
Một ảnh khung I hoặc một cặp ảnh trường, trong đó ảnh trường đầu tiên là ảnh I và ảnh trường thứ hai là ảnh I hoặc ảnh P, được gọi là mã hóa khung I.
Một ảnh khung P hoặc một cặp ảnh trường P được gọi là mã hóa khung P.
Mật ảnh khung B hoặc một cặp ảnh trường B được gọi là mã hóa khung B.
Một khung I mã hoá, một khung P mã hóa hoặc một khung B mã hóa được gọi là khung mã hoá.
Ảnh tái tạo được thu được bằng cách giải mã một ảnh được mã hóa, tức là một tiêu đề ảnh, các phần mở rộng tùy chọn ngay sau đó, và dữ liệu ảnh. Một ảnh được mã hóa có thể là ảnh khung hoặc ảnh trường. Một ảnh tái tạo là khung tái tạo (khi giải mã một khung hình), hoặc một trường của khung tái tạo (khi giải mã một ảnh trường).
6.1.1.4.1. Ảnh trường
Nếu sử dụng các ảnh trường, thì chúng sẽ xuất hiện theo cặp (một trường trên cùng theo một trường dưới cùng, hoặc một trường dưới cùng theo một trường trên cùng) và cùng nhau tạo thành một khung được mã hoá. Hai ảnh trường bao gồm một khung được mã hóa sẽ được mã hoá trong dòng bit theo thứ tự mà chúng sẽ xuất hiện ở đầu ra của quá trình giải mã.
Khi ảnh đầu tiên của khung được mã hoá là một ảnh trường P, ảnh thứ hai của khung được mã hoá cũng sẽ là một ảnh trường P. Tương tự như vậy khi ảnh đầu tiên của khung được mã hoá là một ảnh trường B, ảnh thứ hai của khung được mã hoá cũng sẽ là một ảnh trường B.
Khi ảnh đầu tiên của khung được mã hoá là một ảnh trường I, ảnh thứ hai của ảnh khung Phải là ảnh trường I hoặc ảnh trường P. Nếu ảnh thứ hai là ảnh trường P, thì áp dụng những ràng buộc nhất định (xem 7.6.3.5).
6.1.1.4.2. Khung các ảnh
Khi mã hóa các chuỗi xen kẽ bằng cách sử dụng khung ảnh, hai trường của khung sẽ được xen kẽ với nhau và sau đó toàn bộ khung được mã hoá như một ảnh khung đơn lẻ.
6.1.1.5. Các loại ảnh
Có ba loại ảnh sử dụng các phương pháp mã hóa khác nhau:
- Một ảnh mã hóa trong ảnh (I) được mã hóa bằng cách sử dụng thông tin chỉ từ chính nó;
- Một ảnh được mã hoá dự đoán (P) là một ảnh được mã hóa bằng cách sử dụng dự đoán bù chuyển động từ một khung tham chiếu trong quá khứ hoặc trường tham chiếu trước đây;
- Một ảnh được mã hóa dự đoán hai chiều (B) là một ảnh được mã hóa bằng cách sử dụng dự đoán bù chuyển động từ (các) khung tham chiếu trước hoặc sau.
6.1.1.6. Chuỗi tiêu đề
Chuỗi tiêu đề video bắt đầu với một sequence_header_code và được theo sau bởi một loạt các thành phần dữ liệu. Trong tiêu chuẩn kỹ thuật này, sequence_header() sẽ được theo sau bởi sequence_extension() bao gồm các thông số khác ngoài các tiêu chuẩn được sử dụng bởi ISO/IEC 11172-2. Khi có sequence_extension(), cú pháp và ngữ nghĩa được định nghĩa trong ISO/IEC 11172-2 không áp dụng, và áp dụng tiêu chuẩn kỹ thuật hiện tại.
Trong các tiêu đề lặp lại tất cả các thành phần dữ liệu với các ngoại lệ cho phép xác định các ma trận lượng tử (load_intra_quantiser_matrix, load_non_intra_quantiser_matrix và tùy chọn intra_quantiser_matrix và nonjntra_quantiser_matrix) sẽ có cùng giá trị như trong chuỗi tiêu đề đầu tiên. Ma trận lượng tử có thể được xác định lại mỗi khi một chuỗi các tiêu đề xảy ra trong dòng bit (lưu ý rằng các ma trận lượng tử cũng có thể được cập nhật bằng cách sử dụng quant_matrix_extension()).
Tất cả các phần tử dữ liệu trong sequence_extension() tiếp theo là một sequence_header() lặp lại, sẽ có cùng giá trị như trong sequence_extension() đầu tiên.
Nếu sequence_scalable_extension() xảy ra sau khi sequence_header() đầu tiêntất cả các tiêu đề sắp xếp tiếp theo sẽ được theo sau bởi sequence_scalable_extension(): trong đó tất cả các phần tử dữ liệu giống như trong phần đầu tiên của sequence_scalable_extension() Ngược lại nếu không có sequence_scalable_extension() xảy ra giữa sequence_header() đầu tiên và picture__header() đầu tiên, sau đó sequence_scalable_extension() sẽ không xảy ra trong dòng bit.
Nếu một sequence_display_extension() xảy ra sau khi sequence_header() đầu tiên tất cả các tiêu đề tiếp theo sẽ được theo sau bởi sequence_display_extension() trong đó tất cả các phần tử dữ liệu giống như trong phần đầu tiên của sequence_display_extension() Ngược lại nếu không có sequence_display_extension() xảy ra giữa sequence_header() đầu tiên và picture_header() đầu tiên, sau đó sequence_display_extension() sẽ không xảy ra trong dòng bit.
Lặp đi lặp lại chuỗi tiêu đề cho phép các phần tử dữ liệu của tiêu đề ban đầu được lặp lại để có thổ truy cập ngẫu nhiên vào chuỗi video.
Trong dòng bit được mã hoá, ảnh đầu tiên sau một chuỗi tiêu đề hoặc một phần đầu của dãy lặp lại sẽ hoặc là một ảnh I hoặc là một ảnh P, nhưng không phải là ảnh B. Trong trường hợp một khung xen kẽ được mã hoá như là hai ảnh trường riêng biệt, một tiêu đề lặp lại tiêu đề sẽ không đứng trước thứ hai của hai ảnh trường.
Nếu một dòng bit được chỉnh sửa sao cho tất cả các dữ liệu trước bất kỳ phần nào cửa các tiêu đề lặp lại được loại bò (hoặc truy cập ngẫu nhiên vào tiêu đề đó) thì kết quả dòng bit sẽ là một dòng bit hợp lệ tuân thủ với Tiêu chuẩn kỹ thuật này. Trong trường hợp ảnh đầu tiên của dòng bit kết quả là một ảnh P, có thể nó sẽ chứa khối macroblocks không phải là nội bộ. Kể từ khi tham chiếu các ảnh yêu cầu của quá trình giải mã là không có sẵn, ảnh tái tạo có thể không được xác định đầy đủ. Thời gian làm mới toàn bộ khung hình phụ thuộc vào kỹ thuật làm mới được sử dụng.
6.1.1.7. Nhóm ảnh I và tiêu đề nhóm ảnh
Nhóm ảnh I được dự kiến nhằm hỗ trợ truy cập ngẫu nhiên vào chuỗi. Các ứng dụng yêu cầu truy cập ngẫu nhiên, phát đi nhanh, hoặc phát ngược lại nhanh có thề sử dụng Các ảnh I tương đối thường xuyên.
Nhóm ảnh I cũng có thể được sử dụng ở cắt cảnh hoặc các trường hợp khác mà bù chuyển động không có hiệu quả.
Nhóm tiêu đề ảnh là một tiêu đề tùy chọn có thể được sử dụng ngay trước khi một khung được mã hoá cho bộ giải mã nếu ảnh liên tiếp B đầu tiên ngay sau khung I mã hóa có thể được xây dựng lại đúng trong trường hợp truy cập ngẫu nhiên. Có hiệu lực, nếu khung tham chiếu trước không có sẵn, những ảnh B này, nếu có, không thể được xây dựng lại đúng trừ khi chúng chỉ sử dụng dự đoán ngược hoặc mã hóa trong. Điều này được xác định chính xác hơn trong mục mô tả close_GOP và broken_link. Một nhóm các tiêu đề ảnh cũng chứa một thông tin mã thời gian mà không được sử dụng bởi quá trình giải mã.
Trong dòng bit được mã hóa, khung được mã hóa đầu tiên sau một nhóm tiêu đề ảnh sẽ là một khung I mã hóa.
6.1.1.8. Định dạng 4:2:0
Trong định dạng này, các ma trận Cb và Cr phải bằng một nửa kích thước của ma trận Y trong cả hai chiều ngang và chiều dọc. Ma trận Y sẽ có một số các dòng và mẫu.
Chú thích - Khi các khung hình xen kẽ được mã hoá dưới dạng các trường, ảnh được dựng lại sẽ được chia thành một phần bởi ma trận Y với một nửa số dòng là khung tương ứng. Như vậy, tổng số dòng trong ma trận Y của toàn bộ khung sẽ chia cho bốn.
Các mẫu độ chói và độ màu sắc được bố trí như thể hiện trong hình 6-1.
Đề xác định cụ thể thêm về cách sắp xếp. Hình 6-2 và 6-3 cho thấy vị trí dọc và thời gian của các mẫu trong một khung xen kẽ. Hình 6-4 cho thấy vị trí dọc và thời gian của các mẫu trong khung liên tiếp.
Trong mỗi trường của một khung xen kẽ, các mẫu độ màu sắc không nằm (theo chiều dọc) giữa các mẫu độ chói của trường, vì vậy vị trí không gian của các mẫu độ sắc màu trong khung là như nhau cho dù khung được biểu diễn như là một ảnh khung đơn lẻ hoặc hai trường hình ảnh.
X Mẫu đại diện độ chói
O Mẫu đại diện sắc màu
Hình 6-1 - Các mẫu vị trí của độ chói và sắc màu - Dữ liệu 4:2:0
Hình 6-2 - Vị trí theo trục đứng và vị trí theo thời gian của các mẫu trong một khung xen kẽ với top loop first = 1
Hình 6-3 - Vị trí theo trục đứng và vị trí theo thời gian của các mẫu trong một khung xen kẽ với top loop first = 0
Hình 6-4 - Vị trí theo trục đứng và vị trí theo thời gian của các mẫu trong khung liên tiếp
6.1.1.9. Định dạng 4:2:2
Trong định dạng này, các ma trận Cb và Cr phải bằng một nửa kích thước của ma trận Y theo chiều ngang và kích thước tương đương với ma trận Y theo chiều dọc. Ma trận Y thậm chí sẽ có một số lượng các mẫu.
Chú thích - Khi các khung hình xen kẽ được mã hoá dưới dạng các trường, ảnh được dựng lại sẽ được chia thành một phần bởi ma trận Y với một nửa số dòng là khung tương ứng. Như vậy, tổng số dòng trong ma trận Y của toàn bộ khung sẽ chia cho hai.
Các mẫu độ chói và độ màu sắc được bố trí như thể hiện trong hình 6-5.
Để xác định cụ thể thêm về cách sắp xếp. Hình 6-6 cho thấy vị trí (dọc) của các mẫu khi khung được tách ra làm hai trường.
6.1.1.10. Định dạng 4:4:4
Trong định dạng này, các ma trận Cb và Cr phải có cùng kích thước với ma trận Y theo chiều ngang và chiều dọc.
Chú thích - Khi các khung hình xen kẽ được mã hóa dưới dạng ảnh trường, ảnh được dựng lại từ mỗi trường các ảnh này sẽ có một ma trận Y với một nửa số dòng như khung tương ứng. Tổng số dòng trong ma trận Y của toàn bộ khung sẽ được chia cho hai.
Các mẫu độ chói và độ sắc nét được bố trí như thể hiện trong hình 6-6 và 6-7.
6.1.1.11. Sắp xếp lại thứ tự khung
Khi dãy chứa các mã hóa khung B, số lượng các khung B mã hoá liên tiếp là thay đổi và không bị chặn. Khung mã hoá đầu tiên thay đổi một chuỗi tiêu đề sẽ không phải là khung B.
Một chuỗi có thể không chứa các mã hóa khung P. Một chuỗi cũng có thể không chứa các mã hóa khung I trong trường hợp đó một số yêu cầu được yêu cầu bắt đầu từ chuỗi và trong chuỗi ảnh hưởng đến truy xuất ngẫu nhiên và phục hồi lỗi.
Thứ tự của các khung mã hoá trong dòng bit, còn được gọi là thứ tự mã hoá, là thứ tự trong đó một bộ giải mã dựng lại chúng. Thứ tự của các khung tái tạo ở đầu ra của quá trình giải mã, còn được gọi là trật tự hiển thị, không phải lúc nào cũng giống như trật tự được mã hoá và phần phụ này xác định các quy tắc của việc sắp xếp lại khung sẽ xảy ra trong quá trình giải mã.
Khi dãy không chứa các mã hóa khung B, thứ tự mã hoá cũng giống như thứ tự hiển thị. Điều này đặc biệt đúng khi low_delay là một.
Khi các khung ảnh B nằm trong dãy, sắp xếp lại được thực hiện theo các quy tắc sau:
- Nếu khung hiện tại theo thứ tự mã hóa là một khung B, khung đầu ra là khung được dựng lại từ khung B đó.
- Nếu khung hiện tại theo thứ tự mã là khung I hoặc khung P, khung đầu ra là khung được dựng lại phía trước khung I hoặc khung P nếu có. Nếu không tồn tại, ở đầu của dãy, khống có khung được xuất ra.
Khung được dựng lại từ khung I cuối cùng hoặc khung P được xuất ra ngay sau khi khung tái tạo lại khi khung được mã hoá cuối cùng trong chuỗi được xóa khỏi bộ đệm VBV.
Sau đây là ví dụ về khung hình được lấy từ đầu đoạn video. Trong ví dụ này, có hai khung được mã hoá khung B giữa các khung được mã hoá kế tiếp và cũng có hai khung B được mã hóa giữa các khung I và P với mã hoá liên tiếp và tất cả các ảnh đều là ảnh khung. Khung ‘11’ được sử dụng để tạo ra một dự đoán cho khung ‘4P’. Khung ‘4P’ và ‘11’ được sử dụng để tạo dự đoán cho các khung ‘2B’ và ‘3B’. Do đó thứ tự của các khung được mã hoá trong dãy mã hóa sẽ là ‘11’, ‘4P’ ‘2B’, ‘3B’. Tuy nhiên, bộ giải mã sẽ hiển thị chúng theo thứ tự ‘11’, ‘2B’, ‘3B’, ‘4P’.
Tại đầu vào bộ mã hoá:
Tại đầu ra bộ mã hoá, trong dòng bit được mã hóa và tại đầu vào bộ mã hoá:
Tại đầu ra bộ mã hoá:
X Đại diện mẫu độ chói
O Đại diện mẫu sắc màu
Hình 6-5 - Vị trí của các mẫu độ chói và độ màu sắc - dữ liệu 4:2:2
Hình 6-6 - Vị trí theo trục đứng của các mẫu có dữ liệu 4:2:2 và 4:4:4
Hình 6-7 - Vị trí của các mẫu độ chói và độ màu sắc - dữ liệu 4:4:4
6.1.2. Lát cắt
Một lát là một loạt các số lượng tùy ý của khối macroblocks liên tiếp. Các khối macroblocks đầu tiên và cuối cùng của một lát sẽ không bỏ qua khối macroblocks. Mỗi lát sẽ chứa ít nhất một khối macroblock. Lát cắt không được trùng lặp. Vị trí của lát có thể thay đổi từ ảnh này sang hình khác.
Khối Macroblock đầu tiên và cuối cùng của một lát sẽ nằm trong cùng hàng ngang của macroblocks.
Các lát sẽ xuất hiện ở dòng bit theo thứ tự mà chúng gặp phải, bắt đầu từ phía trên bên trái của ảnh và tiến hành bằng thứ tự quét raster-scan từ trái sang phải và từ trên xuống dưới (minh họa trong các hình 6-8 và 6-9 theo thứ tự chữ cái).
6.1.2.1. Cấu trúc lát cắt chung
Nói chung dễ dàng không cần cho các lát để bao phủ toàn bộ hình ảnh. Hình 6-8 cho thấy trường hợp này. Những khu vực không có trong một lát không được mã hoá và không có thông tin nào được mã hóa cho những khu vực như vậy (trong ảnh cụ thể).
Nấu các lát không bao phủ toàn bộ bức tranh, thì yêu cầu là nếu sau đó ảnh được sử dụng để tạo thành các dự đoán, thì dự đoán sẽ chỉ được thực hiện từ những vùng của ảnh được bao quanh trong lát. Đó là trách nhiệm của bộ mã hóa để đảm bảo điều này.
Tiêu chuẩn kỹ thuật này không xác định hành động nào mà bộ giải mã phải thực hiện ở các vùng giữa các lát.
6.1.2.2. Cấu trúc lát cắt bị hạn chế
Ở một số mức quy định nhất định của các cấu hình được xác định, một cấu trúc lát cắt bị giới hạn được minh họa trong Hình 6-9. Trong trường hợp này, mỗi khối macroblock trong ảnh sẽ được đóng trong một lát cắt.
Trường hợp một mức quy định của một đặc tính profile xác định yêu cầu cấu trúc lát cắt tuân thủ những hạn chế được nêu cụ thể trong mục này, thuật ngữ “cấu trúc lát cắt hạn chế” có thể được sử dụng.
Hình 6-8 - Cấu trúc chung lát cắt
Hình 6-9 - Cấu trúc giới hạn của lát cắt
6.1.3. Khối Macroblock
Khối Macroblock chứa một phần của thành phần chói và các thành phần màu tương ứng theo không gian. Thuật ngữ macroblock có thể tham khảo mã nguồn và giải mã dữ liệu hoặc các phần tử dữ liệu được mã hóa tương ứng. Một macroblock bị bỏ qua là một macroblock mà không có thông tin được truyền đi (xem mục 7.6.6). Có ba định dạng màu cho một macroblock, cụ thể là định dạng 4:2:0, 4:2:2 và 4:4:4. Các thứ tự của khối trong một macroblock sẽ khác nhau cho mỗi định dạng khác nhau về màu sắc và được minh họa dưới đây.
Một khối Macroblock 4:2:0 gồm 6 khối, cấu trúc này chứa các khối 4Y, 1Cb và 1Cr và thứ tự
khối được mô tả trong Hình 6-10.
Hình 6-10 - Cấu trúc Macroblock 4:2:0
Một khối Macroblock 4:2:2 gồm 8 khối, cấu trúc này chứa các khối 4Y, 2Cb và 2Cr và thứ tự khối được mô tả trong Hình 6-11.
Hình 6-11 - Cấu trúc Macroblock 4:2:2
Hình 6-12 - Cấu trúc Macroblock 4:4:4
Trong nhóm ành khung, nơi có thề sử dụng cả hai khung và trường DCT, được sắp xếp bên trong macroblock là khác nhau trong từng trường hợp.
• Trong trường hợp mã hóa khung DCT, mỗi khối sẽ bao gồm các dòng từ hai trường luân phiên. Điều này được minh họa trong Hình 6-13.
• Trong trường hợp mã hoá trường DCT, mỗi khối sẽ bao gồm các dòng chỉ từ một trong hai trường. Điều này được minh họa trong Hình 6-14.
Trong trường hợp cấu trúc các khối màu sắc phụ thuộc vào định dạng màu sắc đang được sử dụng. Trong trường hợp các định dạng 4:2:2 và 4:4:4 (trong đó có hai khối theo chiều đứng của macroblock) các khối màu sắc được xử lý giống hệt như các khối độ chói. Tuy nhiên, ở định dạng 4:2:0 các khối màu sắc sẽ luôn được tổ chức trong cấu trúc khung cho mục đích mã hóa DCT. Tuy nhiên, cần lưu ý rằng các dự đoán dựa trên trường có thể được thực hiện cho các khối này mà trong trường hợp tổng quát yêu cầu phải có dự đoán cho các vùng 8x4 (sau khi lọc nửa mẫu).
Trong các ảnh trường, mỗi ảnh chỉ chứa các dòng từ một trong các trường. Trong trường hợp này, mỗi khối bao gồm các dòng được lấy từ các dòng tiếp theo được minh họa trong hình 6- 13.
6.1.4. Khối
Thuật ngữ “khối” có thể tham chiếu dữ liệu nguồn và dữ liệu được tái tạo hoặc hệ số DCT hoặc các phần tử dữ liệu được mã hóa tương ứng.
Khi “khối” tham chiếu đến nguồn dữ liệu tái tạo, nó tham chiếu đến một phần trực giao của độ chói hoặc thành phần độ màu sắc với cùng một số dòng và mẫu, có 8 dòng và 8 mẫu trong khối.
Hình 6-13 - Cấu trúc macroblock độ chói trong mã hóa khung DCT
Hình 6-14 - Cấu trúc macroblock độ chói trong mã hóa trường DLT
6.2. Cú pháp dòng bit video
6.2.1. Mã bắt đầu
Mã bắt đầu là các mẫu bit cụ thể mà nếu không xảy ra trong luồng video.
Mỗi mã bắt đầu bao gồm một tiền tố mã bắt đầu theo sau bởi một giá trị mã bắt đầu. Tiền tố Mã bắt đầu là một chuỗi của hai mươi ba bit với các giá trị không, sau đó là một bit với giá trị một. Tiền tố mã bắt đầu là chuỗi bit ‘0000 0000 0000 0000 0000 0001’
Giá trị mã bắt đầu là một số nguyên tám bit xác định loại mã bắt đầu. Hầu hết các loại mã bắt đầu chỉ có một giá trị mã bắt đầu. Tuy nhiên, slice_start_code được đại diện bởi nhiều giá trị mã bắt đầu, trong trường hợp này giá trị mã bắt đầu là slice_vertical_position cho lát cắt.
Tất cả mã bắt đầu sẽ là byte đồng chỉnh. Điều này sẽ đạt được bằng cách chèn các bit với giá trị bằng không trước khi tiền tố mã bắt đầu sao cho bit đầu tiên của tiền tố mã bắt đầu là bit đầu tiên (quan trọng nhất) của một byte.
Bảng 6-1 xác định giá trị mã bắt đầu cho mã bắt đầu được sử dụng trong dòng bit video.
Việc sử dụng mã bắt đầu được định nghĩa trong mô tả cú pháp sau với ngoại lệ của chuỗi sequence_error_code. Mã lỗi chuỗi đã được phân bổ để sử dụng bởi giao diện truyền thông để chỉ ra lỗi mà không thể điều chỉnh được phát hiện.
Bảng 6-1 - Các giá trị của mã bắt đầu
Tên | Giá trị của mã bắt đầu (hexadecimal) |
picture_start_code | 00 |
slice_start_code | 01 đến AF |
reserved | B0 |
reserved | B1 |
user_data_start_code | B2 |
Sequence_header_code | B3 |
Scquence_error_code | B4 |
extension_start_code | B5 |
reserved | B6 |
Sequence_end_code | B7 |
group_start_code | B8 |
System_start_codes (Chú thích) | B9 đến FF |
Chú thích - System_start_codes được định nghĩa trong Phần 1 của Tiêu chuẩn này |
6.2.2. Chuỗi Video
6.2.2.1. Tiêu đề chuỗi
6.2.2.2. Mở rộng và dữ liệu người dùng
6.2.2.2.1. Mở rộng dữ liệu
6.2.2.2.2. Dữ liệu người dùng
6.2.2.3. Mở rộng chuỗi
6.2.2.4. Mở rộng chuỗi hiển thị
6.2.2 5. Mở rộng chuỗi có thể mở rộng
6.2.2.6. Tiêu đề của nhóm ảnh
6.2.3. Tiêu đề ảnh
6.2.3.1. Mở rộng mã hóa ảnh
6.2.3.2. Mở rộng ma trận lượng tử
6.2.3.3. Mở rộng hiển thị ảnh
6.2.3.4. Mở rộng ảnh có thể mở rộng theo thời gian
6 2.3.5. Mở rộng ảnh có thể mở rộng theo không gian
6.2.3.6. Mở rộng bản quyền
6.2.3.7. Dữ liệu ảnh
6.2.3.7.1. Mở rộng các tham số của máy ảnh
6.2.3.7.2. Phần mở rộng ITU-T
6.2.3.7.3. Dữ liệu mô tả nội dung
6.2.3.7.3.1. Các byte đệm - Padding bytes
6.2.3.7.3.2. Ghi mã thời gian
6.2.3.7.3.2.1. Ghi lại mốc thời gian khung hoặc trường
6.2.3.7.3.3. Các tham số quay-quét (pan-scan) bổ sung
6.2.3.7.3.4. Vùng cửa sổ hoạt động
6.2.3.7.3.5. Độ dài ảnh mã hóa
6.2.4. Lát cắt - Slice
6.2.5. Khối - Macroblock
6.2.5.1. Các kiểu khối macroblock
6.2.5.2. Các vec-tơ chuyển động
6.2.5.2.1. Vec-tơ chuyển động
6.2.5.3. Mẫu khối mã hóa
6.2.6. Khối
Cú pháp chi tiết cho các thuật ngữ “Hệ số DCT đầu tiên”, “Hệ số chuỗi con DCT” và “Kết thúc Khối” được mô tả đầy đủ trong mục 7.2.Trường con này không ghi rõ cú pháp của lớp khối khi phân vùng dữ trệu được sử dụng. Xem mục 7.10.
6.3. Các ngữ nghĩa dòng bit video
6.3.1. Các quy tắc ngữ nghĩa cho các cấu trúc cú pháp cao hơn
Nội dung này chỉ ra các quy tắc chi phối cách thức mà các thành phần cú pháp cấp cao có thể được kết hợp với nhau để tạo ra một dòng bit hợp lệ. Các mục tiếp theo mô tả ý nghĩa ngữ nghĩa của tất cả các trường trong dòng bit video.
Hình 6-15 minh họa cấu trúc cấp cao của dòng bit video.
a) Sau một nhóm tiêu đề ảnh (GOP), ảnh đầu tiên sẽ là ảnh I
Hình 6-15 - Tổ chức dòng bit mức cao
Các quy tắc ngữ nghĩa sau được áp dụng:
• Nếu sequence_header() đầu tiên của chuỗi không được theo sau bởi sequence_extension(), thì dòng phải phù hợp với ISO/IEC 11172-2 và không được ghi lại trong Tiêu chuẩn kỹ thuật nảy.
• Nếu sequence_header() đầu tiên của dãy được theo sau bởi một sequence_extension(), thì tất cả các lần xuất hiện tiếp theo của sequence_header() cũng sẽ ngay lập tức theo sau bởi một sequence_extension().
• sequence_extension() sẽ chỉ xảy ra ngay sau khi một sequence_header()
• Sau một sequence_header() sẽ có ít nhất một ảnh được mã hóa trước khi một sequence_header() hoặc một sequence_end_code. Điều này ngụ ý rằng sequence_extension() sẽ không đứng trước một sequence_end_code.
• Nếu sequence_extension() xảy ra trong dòng bit , thì mỗi picture_header() sẽ được theo sau bởi một picture_coding_extension().
• sequence_end_code sẽ được đặt ở cuối của dòng bit để sau khi giải mã và đặt lại khung, sẽ không có khung bị thiếu.
• Picture_coding_extension() chỉ xảy ra ngay sau một picture_header().
• Khung mã hoá đầu tiên sau một nhóm picture_header() sẽ là một khung I mã hóa.
Một số phần mở rộng khác nhau được định nghĩa ngoài sequence_extension() và ảnh coding_extension(). Tập hợp các phần mở rộng cho phép là khác nhau tại mỗi điểm khác nhau trong cú pháp mà tiện ích mở rộng được cho phép. Bảng 6-2 định nghĩa mã hóa nhận dạng mã mở rộng bốn bit cho mỗi phần mở rộng.
Bảng 6-2 - Các mã extension_start_code_identifier
extension start code identifier | Tên |
0000 | Dự phòng |
0001 | ID mở rộng chuỗi |
0010 | ID mở rộng hiển thị chuỗi |
0011 | ID mở rộng ma trận lượng tử |
0100 | Dự phòng |
0101 | ID mở rộng chuỗi có thể mở rộng |
0110 | Dự phòng |
0111 | ID Mở rộng hiển thị ảnh |
1000 | ID Mở rộng mã hóa ảnh |
1001 | ID Mở rộng ảnh có thể mở rộng theo không gian |
1010 | ID Mở rộng ảnh có thể mở rộng theo thời gian |
1011 | Dự phòng |
1100 | Dự phòng |
|
|
1111 | Dự phòng |
Tại mỗi điểm mà phần mở rộng được cho phép trong dòng bit bất kỳ số lượng các phần mở rộng từ tập hợp được cho phép có thể được bao gồm. Tuy nhiên, mỗi loại gia hạn sẽ không xảy ra nhiều lần.
Trong trường hợp bộ giải mã gặp một phần mở rộng với mã nhận dạng mở rộng được mô tả là “Cự phòng” trong Tiêu chuẩn kỹ thuật này, bộ giải mã sẽ loại bỏ tất cả các dữ liệu tiếp theo cho đến khi mã khởi đầu tiếp theo. Yêu cầu này cho phép xác định của phần mở rộng tiếp theo tương thích với Tiêu chuẩn kỹ thuật này.
6.3.2. Chuỗi video
sequenceend code - là chuỗi bit ‘0000001B7’ theo hệ thập lục phân. Nó kết thúc một chuỗi video.
6.3.3. Tiêu đề chuỗi
sequenceheadercode - là chuỗi bit ‘000001B3’ theo hệ thập lục phân. Nó xác định bắt đầu của một tiêu đề chuỗi.
horizontal _size_value - từ này hình thành 12 bit ít quan trọng nhất của horizontal_size.
vertical_size_value - Từ này tạo thành 12 bit ít quan trọng nhất của vertical_size.
horizontal_size - là một số nguyên không dấu 14bit, 12 bit ít quan trọng được định nghĩa trong horizontal_size_value, 2 bit quan trọng nhất được định nghĩa trong horizontal_size_extension. Horizontal_size là chiều rộng của phần hiển thị của thành phần chói của ảnh trong các mẫu. Chiều rộng của thành phần chói của ảnh trong macroblocks, chiều rộng mb. là (horizontal_size + 15)/16. Phần hiển thị được canh lề trái trong các ảnh được mã hóa.
Để tránh khởi chạy mã bắt đầu horizontal_size_value không được bằng không. Điều này ngăn cản các giá trị kích thước ngang là bội số của 4096.
verticalsize - là một số nguyên không dấu 14bit, 12 bit quan trọng được định nghĩa trong vertieal_size_value, 2 bit quan trọng nhất được định nghĩa trong vertieal_size_extension. vertical_size là chiều cao của phần hiển thị thành phần chói của khung trong các đường.
Trong trường hợp progressive_sequence là ‘1’ chiều cao của thành phần chói của các khung trong các macroblock được mã hóa. mb_height. là (vertical_size + 15)/16.
Trong trường hợp progressive_sequence là ‘0’, chiều cao của thành phần chóiđược mã hóa của các khung hình trong macroblocks_mb_height, là 2 * ((vertical_size + 31)/32) Chiều cao của thành phần chói được mã hóa của các ảnh trường trong các macroblocks_mb_height, là ((vertical_size + 31)/32).
Phần hiển thị được chỉnh trên cùng trong các ảnh được mã hóa.
Để tránh khởi chạy mã bắt đầu vertical_size_value không bằng không. Điều này ngăn cản các giá trị của vertical_size là bội số của 4096.
Aspect_ratio_information - Đây là một số nguyên bốn bit được định nghĩa trong Bảng 6-3.
Bảng 6-3 - aspectratioinformation (Thông tin tỷ lệ)
aspect_ratio_information | Tỷ lệ khuôn dạng mẫu | DAR |
0000 | Cấm | Cấm |
0001 | 10 (Mẫu ô vuông) | - |
0010 |
| 3 + 4 |
0011 | - | 9 + 16 |
0100 | - | 1 + 2.21 |
0101 |
| Dự phòng |
... |
|
|
1111 | - | Dự phòng |
Thông tin tỷ lệ co giãn hoặc là xác định “Tỷ lệ khuôn dạng mẫu” (SAR) của khung tái tạo là 1,0 (Mẫu ô vuông), hoặc là cách khác nó cho ra “Tỷ lệ khuôn dạng hiển thị” (DAR).
• Nếu chuỗi sequence_display_extension() không có mặt, thì dự kiến rằng toàn bộ khung được tái tạo sẽ được ánh xạ tới toàn bộ khu vực hoạt động của màn hình. Tỷ lệ khuôn dạng mẫu có thể được tính như sau:
CHÚ THÍCH 1 - Trong trường hợp này, horizontal_size và vertical_size bị ràng buộc bởi SAR của nguồn và DAR được chọn.
• Nếu sequence_display_extension() hiện diện thì tỷ lệ khuôn dạng mẫu có thể được tính như sau:
frame_rate_code - Đây là một số nguyên bổn bit được sử dụng để định nghĩa frame_rate_value như thể hiện trong Bảng 6-4. frame_rate có thể được bắt nguồn từ frame_rate_value, frame_rate_extension_n và frame_rate_extension_d như sau:
frame_rate = frame_rate_value x (frame_rate_extension_n + 1) ÷ (frame _rate_extension_d + 1)
Khi một mục nhập vào cho tỷ lệ khuôn dạng tồn tại trực tiếp trong Bảng 6-4, frame_rate_extension_n và frame_rate_extension_d sẽ là. 0, frame_rate_extension_n + 1) và (frame_rate_extension_d + 1) không có ước số chung lớn hơn một.
Bảng 6-4 - frame_rate_code
frame_rate_code | frame_rate_vaIue |
0000 | Cẩm |
0001 | 24 000 ÷ 1001 (23.976...) |
0010 | 24 |
0011 | 25 |
0100 | 30 000 ÷ 1001 (29.07...) |
0101 | 30 |
0110 | 50 |
0111 | 60 000 ÷ 1001 (59.94...) |
1000 | 60 |
1001 | Dự phòng |
... | ... |
1111 | Dự phòng |
Nếu progressive_sequence là ‘1’ khoảng thời gian giữa hai khung liên tiếp ở đầu ra của quá trình giải mã là sự nghịch đảo của khung hình. Xem hình 7-18.
nếu progressive_sequence là ‘0’ thì khoảng thời gian giữa hai trường liên tiếp ở đầu ra của quá trình giải mã là một nửa nghịch đảo của tốc độ khung. Xem hình 7-20.
Frame_rate được báo hiệu trong lớp liên tục của khả năng mở rộng theo thời gian là tốc độ khung kết hợp sau khi hoạt động ghép theo thời gian nếu miêu tả ảnh trong sequence_scalable_extension() được đặt là ‘1’.
bit_rate_value - thấp hơn 18 bit của tốc độ bit.
bit_rate - Đây là một số nguyên 30 bit. 18 bit thấp hơn của số nguyên là trong bit_rate_value và trên 12 bit là bit_rate_extension. bit_rate được đo bằng đơn vị 400 bit/giây, được làm tròn lên. Giá trị 0 không được phép.
Tốc độ bit quy định giới hạn tốc độ hoạt động tối đa của VBV như được định nghĩa trong C.3. VBV hoạt động ở một trong hai chế độ tùy thuộc vào các giá trị mã hoá trong vbv_delay. Trong tất cả các trường hợp (cả hai hoạt động tốc độ bit không đổi và biến đổi), tốc độ bit được chỉ định sẽ là giới hạn trên của tốc độ bit mà ở đó dữ liệu mã hoá được cung cấp cho đầu vào của VBV.
Chú thích 2 - Vì hoạt động tốc độ bit không đổi chỉ đơn giản là một trường hợp đặc biệt của hoạt động tốc độ bit biến đổi không có yêu cầu rằng giá trị của tốc độ bit là tốc độ bit thực tế tại đó dữ liệu được cung cấp. Tuy nhiên, nó được khuyến cáo trong trường hợp hoạt động tốc độ bit liên tục mà bit_rate nên đại diện cho tốc độ bit thực tế.
marker_bit - đây là một bit sẽ được đặt là ‘1’. Bit này ngăn việc mô phỏng mã bắt đầu, vbv_buffer_size_value - 10 bit thấp hơn của kích thước bộ đệm vbv.
vbv_buffer_size - là một số nguyên 18 bit. 10 bit thấp hơn của số nguyên nằm trong giá trị vbv_buffer_size và 8 bit trên có trong vhv_buffer_size_extension. Số nguyên định nghĩa kích thước bộ đệm VBV (Trình kiểm soát bộ nhớ đệm video, xem Phụ lục C) cần thiết để giải mã chuỗi. Nó được xác định là:
B - 16 * 1024 * vbv_buffer_size
Trong đó B là kích thước bộ đệm VBV tối thiểu trong các bit cần thiết để giải mã chuỗi (xem Phụ lục C).
constrained_parameters_flag - Cờ này (được sử dụng trong ISO/IEC 11172-2) không có ý nghĩa trong Tiêu chuẩn kỹ thuật này và sẽ có giá trị ‘0’.
loadjntra _quantiser_matrix - Xem 6.3.11 “Quant_matrix_extension”.
intra_quantiser_matrix - Xem phần 6.3.11 “Quant matrix extension”.
load_non_intra_quantiser_matrix - Xem phần 6.3.11 “Quant_matrix_extension”.
non_intra_quantiser_matrix - Xem 6.3.11 “Quant_matrix_extension”.
6.3.4. Mở rộng và dữ liệu người dùng
extension_start_code - Là chuỗi bit ‘000001B5’ trong hệ thập lục phân. Nó xác định sự khởi đầu của các phần mở rộng ngoài ISO/IEC 11172-2
6.3.4.1. Dữ liệu người dùng
user_data_start_code - là chuỗi bit ‘000001B2’ trong hệ thập lục phân. Nó xác định sự bắt đầu của dữ liệu người dùng. Dữ liệu người dùng tiếp tục cho đến khi nhận được mã bắt đầu khác.
user_data - Đây là một số nguyên 8 bit, một số tùy ý có thể đi theo nhau. Trừ khi được đề cập trong Phụ lục D, các giá trị và ngữ nghĩa của dữ liệu người dùng được gửi như các phần tử cú pháp user_data được xác định bởi người dùng cho các ứng dụng cụ thể của chủng. Trong dãy các byte liên tục user_data sẽ không có một chuỗi của 23 hoặc nhiều hơn liên tiếp các bit không. Trừ khi được quy định trong Phụ lục D, dữ liệu người dùng sẽ không bắt đầu bằng chuỗi bit ‘4a503344’ theo hệ thập lục phân.
6.3.5. Mở rộng chuỗi
extension_start_code_identifier - Đây là một số nguyên 4 bit xác định phần mở rộng. Xem Bảng 6-2.
profile_and_level_indication - Đây là một số nguyên 8 bit được sử dụng để báo hiệu nhận dạng profile và mức. Ý nghĩa của các bit được cho thấy trong mục 8.
Chú thích: Trong một phân cấp có thể mở rộng, các dòng bit của mỗi lớp có thể thiết lập profile_and_level_indication với một giá trị khác như được chỉ ra trong điều 8.
progressive_sequence - Khi được đặt là ‘1’, chuỗi video được mã hóa chỉ chứa các ảnh liên tục khung. Khi progressive_sequence được đặt là ‘0’, chuỗi video được mã hóa có thể chứa cả ảnh khung và ảnh trường, và ảnh khung có thể là các khung hình liên tục hoặc xen kẽ.
chroma_format - Đây là một số nguyên hai-bit cho biết định dạng độ sắc màu ‘chrominance’ như được định nghĩa trong Bảng 6-5.
horizontalsizeextension - số nguyên 2 bit này là 2 bit quan trọng nhất từ horizontal_size.
vertical_size_extension - số nguyên 2 bit này là 2 bit quan trọng nhất từ vertical_size.
bit_rafe_extension - số nguyên 12 bit này là 12 bit quan trọng nhất từ bit_rate.
vbv_buffer_size_extension - Số nguyên 8 bit này là 8 bit quan trọng nhất từ vbv_buffer_size.
Bảng 6-5 - Ý nghĩa của chroma_format
chroma_format | Ý nghĩa |
00 | Dự phòng |
01 | 4:2:0 |
10 | 4:2:2 |
11 | 4:4:4 |
low_delay - Cờ này, khi được thiết lập là ‘1’, chỉ ra rằng chuỗi không chứa bất kỳ ảnh B nào, trễ sắp xếp lại thứ tự khung không có trong mô tả VBV và rằng dòng bit có thể chứa “ảnh lớn” tức là C.7 của VBV có thể được áp dụng.
Khi được thiết lập là ‘0’, nó cho biết chuỗicó thể chứa các ảnh B, rằng sự trễ đặt lại khung có trong mô tả VBV và rằng dòng bit không chứa ảnh lớn, nghĩa là C.7 của VBV không áp dụng . Cờ này không được sử dụng trong quá trình giải mã và do đó có thể bị bỏ qua bởi các bộ giải mã, nhưng nó là cần thiết để xác định và xác minh sự tuân thủ của các dòng bit trễ thấp.
frame_rafe_extension_n - Đây là một số nguyên 2 bit được sử dụng để xác định frame_rate. Xem frame_rate_code.
frame_rate_extension_d - Đây là một số nguyên 5 bit được sử dụng để xác định frame_rate. Xem frame_rate_code.
6.3.6. Mở rộng hiển thị chuỗi
Tiêu chuẩn kỹ thuật này không xác định quá trình hiển thị. Thông tin trong phần mở rộng này không ảnh hưởng đến quá trình giải mã và có thể bị bỏ qua bởi bộ giải mã phù hợp với Tiêu chuẩn kỹ thuật này.
video_format - Đây là một số nguyên ba bit cho biết ảnh của các ảnh trước khi được mã hoá thao Tiêu chuẩn kỹ thuật này. Ý nghĩa của nó được xác định trong Bảng 6-6. Nếu sequence_display_extension() không có trong dòng bit, thì định dạng video có thể được giả định là “Định dạng video không xác định”.
Bảng 6-6 -Ý nghĩa của video format
video_format | Ý nghĩa |
000 | Hợp phần |
001 | PAL |
010 | NTSC |
011 | SECAM |
100 | MAC |
101 | Định dạng video không xác định |
110 | Dự phòng |
111 | Dự phòng |
cclour_description - Một cờ nếu được đặt là ‘1’ cho thấy sự có mặt của colour_primaries, transfer_characteristics và matrix_coefficients trong dòng bit.
colour_primaries - số nguyên 8 bit này mô tả tọa độ màu sắc của các số nguyên nguồn ban đầu và được xác định trong Bảng 6-7.
Trong trường hợp sequence_display_extension() không có trong dòng bit hoặc colour_description là zero, thì màu sắc được giả định là ngầm định bởi ứng dụng.
transfer_characteristics - số nguyên 8 bit này mô tả đặc tính truyền tải quang điện tử của ảnh nguồn và dược xác định trong Bảng 6-8
Bàng 6-8 - màu sắc cơ sở
Giá trị | Cơ sở | Thông tin lưu ý * | ||||
0 | Cấm |
| ||||
1 | primary | x | y | ITU-R BT.709 [2] Rec. ITU-R BT.1361 [4], hệ thống màu sắc quy ước thông thường hoặc hệ thống màu sắc mở rộng phạm vi IEC 61966-2-4 [9] Phụ lục B của SMPTE RP 177 [ 17] | ||
green | 0.300 | 0.600 | ||||
blue | 0.150 | 0.060 | ||||
red | 0.640 | 0.330 | ||||
white D65 | 0.3127 | 0.3290 | ||||
2 | Không xác định | Đặc điểm ảnh không xác định hoặc được xác định bởi ứng dụng | ||||
3 | Dự phòng | Sử dụng trong tương lai bởi ITU-T I ISO/IEC | ||||
4 | primary | x | y | ITU-R BT.470, System M (historical) NTSC-1953 [16], tiêu chuẩn truyền dẫn cho truyền hình màu US 47 CFR 73.682 (a) (20) [20] | ||
green | 0.21 | 0.71 | ||||
blue | 0.14 | 0.08 | ||||
red | 0.67 | 0.33 | ||||
white D65 | 0.310 | 0.316 | ||||
5 | primary | x | y | Rec. ITU-R BT.470, System B, G (historical) Rec. ITU-R BT.60I (xem mục 2), 625 Rec. ITU-R BT.1358 [3], 625 Rec. ITU-R BT.I700 [5], 625 PAL or 625 SECAM | ||
green | 0.29 | 0.60 | ||||
blue | 0.15 | 0.06 | ||||
red | 0.64 | 0.33 | ||||
white D65 | 0.3127 | 0.3290 | ||||
6 | primary | x | y | (Chức năng giống như giá trị 7) Rec. ITU-R BT.60I (xem mục 2), 525. ITU-R BT.1358 [3], 525 ITU-R BT.1700 [5], NTSC SMPTE ST 170 [18] | ||
green | 0.310 | 0.595 | ||||
blue | 0.155 | 0.070 | ||||
red | 0.630 | 0.340 | ||||
white D65 | 0.3127 | 0.3290 | ||||
7 | primary | x | y | (Chức năng giống như giá trị 6) SMPTE ST 240 [19] | ||
green | 0.300 | 0.600 | ||||
blue | 0.150 | 0.060 | ||||
red | 0.640 | 0.330 | ||||
white D65 | 0.3127 | 0.3290 | ||||
8-255 | Dự phòng | Sử dụng trong tương lai bởi ITU-T I ISO/IEC | ||||
* [X] Chỉ ra mục ‘x’ trong danh mục tài liệu tham khảo của Tiêu chuẩn này | ||||||
Trong trường hợp sequence_display_extension() không có trong dòng bit hoặc colour_description là zero, thì màu sắc được giả định là ngầm định bởi ứng dụng.
matrix_coefficients - Là một số nguyên tám bit mô tả các hệ số ma trận sử dụng trong thu tín hiệu đò chói và màu sắc từ ba màu cơ bản xanh lá cây , xanh dương và đỏ được xác định trong bảng 6-9.
Bảng 6-9 - Đặc điểm chuyển tải
Giá trị | Ma trận | Thông tin lưu ý * |
0 | Cấm |
|
1 | E’y = 0.7152 E’G + 0.0722 E’B + 0.2126 E’P E’PB = - 0.3854 E’G + 0.5000 E’B - 0.1146 EP E’PR = - 0.4542 E’G - 0.0458 E’B + 0.5000 EP | ITU-R BT.709 [2] ITU-R BT.1361 [4], hệ thống màu sắc thông thường và hệ thống màu sắc mở rộng IEC 61966-2-4 [9], XVYCC709 Phụ lụcB của SMPTE RP 177 [17] |
2 | Không xác định | Đặc điểm ảnh không xác định hoặc được xác định bởi ứng dụng |
3 | Dự phòng | Sử dụng trong tương lai bởi ITU-T | ISO/IEC |
4 | E’Y = 0.59 E’G + 0.11 E’B +0.30 E’R E’PB = - 0.331 E’G + 0.500 E’B - 0.169 E’R E’PR = - 0.421 EG - 0.079 E’B + 0.500 E’R | NTSC-1953 [16], tiêu chuẩn truyền dẫn cho truyền hình màu us 47 CFR 73.682 (a) (20) [20] |
5 | E’Y = 0.5870 EG + 0.1140 E’B + 0.2990 E’R E’PB = - 0.3313 E’G + 0.5000 E’B - 0.1687 ER E’PR = - 0.4187 E’G - 0.0813 E’B + 0.5000 ER | (chức năng giống như giá trị 6) ITU-R BT.470, System B, G (historical) ITU-R BT:601 (xem mục 2), 625 ITU-R BT.1358 [3], 625 ITU-R BT. 1700 [5], 625 PAL or 625 SECAM IEC 61966-2.-4 [9], xvYCCM, |
6 | E’Y = 0.5870 EG + 0.1140 E’B + 0.2990 E’R E’PB = - 0.3313 E’G + 0.5000 E’B - 0.1687 E’R E’PR = - 0.4187 E’G - 0.0813 E’B + 0.5000 ER | (chức năng giống như giá trị 5) ITU-R BT.601 (xem mục 2), 525 ITU-R BT. 1358 525 ITU-R BT 1700 NTSC SMPTE ST 170 [18] IEC 61966-2-4 [9], xvYCC60I |
7 | E’Y = 0.701 E’G + 0.087 E’B + 0.212 E’R E’PB = - 0.384 E’G + 0.500 E’B - 0.116 E’R E’PR = - 0.445 E’G - 0.055 E’B + 0.500 E’R | SMPTE ST 240 [19] |
8 | YCgCo | Được xác định như chỉ định dưới đây |
9-255 | Dự phòng | Sử dụng trong tương lai bởi ITU-T | ISO/IEC |
* [X] Chỉ ra mục ‘x’ trong danh mục tài liệu tham khảo của Tiêu chuẩn này
Trong Bảng 6-9:
Khi transfer_charaetcristics không bằng 11 hoặc 12, các giá trị E’R, E’G và E’B tương tự với các giá trị từ 0 và 1;
Khi transfer_charaetcristics bằng 11 (IEC 61966-2-4 (9)) hoặc 12 (RCE. ITU-R BT.I36I (4), hệ thống màu sắc mở rộng), E’R, E’G và E’B là tín hiệu tương tự với phạm vi lớn hơn mà không được xác định trong Tiêu chuẩn này;
Màu đen danh định được coi là có thuộc tính E’R = 0, E’G = 0 và E’B = 0;
Màu trắng danh định được coi là có thuộc tính E’R = 1, E’G = 1 và E’B = 1 Nếu hệ số ma trận không bằng 8, áp dụng như sau đây:
- Tín hiệu tương tự E’Y với giá trị 0 kết hợp với màu đen danh định và giá trị 1 có kết hợp với màu trắng danh định;
- Tín hiệu tương tự EPB và EPR với giá trị 0 kết hợp với cả hai màu trắng danh định và màu đen danh định;
- Khi transfer_characteristies không bằng 11 hoặc 12, E’Y có các giá trị từ 0 đến 1;
- Khi transfer_charactcristics không bằng 11 hoặc 12, EPB và EPR có giá trị từ -0.5 đến 0.5;
- Khi transfer_charactcristics bằng 11 (IEC 61966-2-4 [9]), hoặc 12 (ITU-R BT.136I [4]), E’Y, EPB và EPR với một phạm vi lớn hơn mà không được quy định trong Tiêu chuẩn này:
- Y, Cb và Cr có liên quan đến E’Y, EPB và EPR theo các công thức sau:
Y = max[ 0, min[ 255, Round( ( 219 * E’Y )) + 16 ] ]
Cb = max[ 0, min[ 255, Rounđ( ( 224 * E’PB )) + 128] ]
Cr = max[ 0, min[ 255, Round( ( 224 * E’PR )) + 128] ]
- Nếu không (matrix_coefficients bằng 8 (YCgCo)), áp dụng sau đây:
R = 219 * E’R + 16
G = 219 * E’G + 16
B = 219 * E’B + 16
Y = max[ 0, min[ 255, Round( 0.5 * G + 0.25 * ( R + B )) ] ]
Cb = max[ 0, min[ 255, Round( 0.5 * G - 0.25 * ( R + B )) + 128]]
Cr = max[ 0, min[ 255, Round( 0.5 * (R - B )) + 128 ] ]
CHÚ THÍCH 1 - Theo mục đích của thuật ngữ YCgCo được sử dụng trong Bảng 6-9, Cb và Cr của các phương trình trên có thể được gọi là Cg và Co, tương ứng, phép chuyển nghịch đảo cho ba phương trình trên nên được tính như sau:
t = Y - (Cb -128)
G = Y + (Cb-128)
B = t - (Cr- 128)
R = t + (Cr - 128)
Chú thích 2 - Quá trình giải mã được đưa ra bởi Tiêu chuẩn này giới hạn các giá trị mẫu cho Y, Cr và Cb trong khoảng [0:255] Do đó, các giá trị mẫu bên ngoài phạm vi hàm ý bởi các phương trình trên đôi khi có thể xảy ra ở đầu ra của quá trình giải mã. Đặc biệt các giá trị mẫu 0 và 255 có thể xảy ra.
Trong trường hợp sequence_display_extension() không có trong dòng bit hoặc colour_description là zero thì các hệ số ma trận giả định được ngầm định bởi ứng dụng.
Chú thích 3 - Trong các ứng dụng có thể có tín hiệu với nhiều hơn một loạt các màu sắc cơ bản, chuyển các đặc tính và/hoặc các hệ số ma trận, nên truyền một phần mở rộng chuỗi hiển thị với việc loại bỏ màu sắc được đặt thành một và để xác định các giá trị thích hợp cho các thông số đo màu
display_horizontal_size - Xem display_vertical_size.
display_vertical_size - display_horizontal_size và display_vertical_size kết hợp với nhau xác định một hình chữ nhật có thể được coi là khu vực hoạt động “dự kiến hiển thị”. Nếu hình chữ nhật này nhỏ hơn kích thước khung mã hoá, thì quá trình hiển thị có thể được dự kiến chỉ hiển th một phần của khung được mã hóa. Ngược lại, nếu hình chữ nhật hiển thị lớn hơn kích thước khung được mã hóa, thì quá trình hiển thị có thể được dự kiến sẽ hiển thị các khung được dựng lại trên một phần của thiết bị hiển thị thay vì trên toàn bộ thiết bị hiển thị.
display_horizontal_size sẽ có cùng đơn vị như horizontal_size (mẫu của các khung được mã hóa). display_vertical_size sẽ được đặt trong các đơn vị giống như vertical_size (dòng của khung được mã hóa).
display_horizontal_size và display_vertical_size - không ảnh hưởng đến quá trình giải mã nhưng có thể được sử dụng bởi quá trình hiển thị không được chuẩn hóa trong Tiêu chuẩn này.
6.3.7. Mở rộng chuỗi có thể mở rộng
Đó là một giới hạn cú pháp rằng nếu một sequence_scalable_extension() hiện diện trong dòng bit sau một sequence _extension(), thì sequence_scalable_extension() sẽ theo dõi mọi sự xuất hiện khác của sequence _extension(). Do đó một dòng bit hoặc là có thể mở rộng hoặc là không. Không thể kết hợp khả năng mở rộng và không có khả năng mở rộng mã hóa trong một chuỗi.
scalable_mode - Cho biết loại mở rộng được sử dụng trong chuỗi video. Nếu không có sequence_scalable_extension() có trong dòng bit, thì không có khả năng mở rộng nào được sử dụng cho chuỗi đó. scalable_mode cũng chỉ ra các bảng kiểu macroblock sẽ được sử dụng. Tuy nhiên, trong trường hợp khả năng mở rộng không gian nếu không có picture_spatial_scalable _extension() cho một ảnh nhất định, thì ảnh đó sẽ được giải mã theo cách không có khả năng mở rộng (chẳng hạn như sequence_scalable_extension() đã không có mặt).
Bảng 6-10 - Xác định scalable mode
Scalable_mode | Ý nghĩa | picture_spatial_scalable_extension() | Macroblock_type_tables |
Không có sequence_scalable_extension() |
| B-2, B-1 và B-4 | |
00 | Phân vùng dữ liệu |
| B-2, B-3 và B-4 |
01 | Có thể mở rộng theo không gian | Có mặt | B-5, B-6 và B-7 |
Không có | B-2, B-3 và B-4 | ||
10 | Có thể mở rộng SNR |
| B-8 |
11 | Có thề mở rộng theo thời gian |
| B-2, B-3 và B-4 |
Leyer_id - Đây là một số nguyên xác định các lớp trong một hệ thống phân cấp có thể mở rộng. Lớp cơ sở luôn có layer_id = 0. Tuy nhiên, lớp cơ sở của một hệ thống phân cấp có thể mở rộng không mang chuỗi sequence_scalable_extension() và do đó layer_id, ngoại trừ trường hợp phân vùng dữ liệu. Mỗi lớp kế tiếp có một layerjd cao hơn một lớp mà nó là một sự tăng cường.
Trong trường hợp phân vùng dữ liệu layer_id sẽ là số không cho phân vùng số không và layer_id sẽ là một cho một phân vùng.
lower_layer_prediction_horizontaI_size - Đây là một số nguyên 14 bit cho biết kích thước ngang của khung lớp dưới được sử dụng để dự đoán. Điều này sẽ chứa giá trị chứa trong honzontal_size (horizontal_size_ Value và horizontal_size_extension()) trong dòng bit thấp hơn .
lower_layer_prediction_vertical_size - Đây là một số nguyên 14 bit chỉ ra kích thước dọc của khung lớp dưới được sử dụng để uự đoán. Điều này sẽ chứa giá trị nằm trong vertical_size (vertical_size_value và vertical_size_extension) trong lớp dòng bit thấp hơn.
horizonlal_subsampling_factor_m - Điều này ảnh hưởng đến quá trình tăng thanh không gian có thể mở rộng, như được định nghĩa trong mục 7.7.2. Giá trị 0 không được phép.
horizonlal_subsampling_factor_n - Điều này ảnh hưởng đến quá trình up_sampling (lấy mẫu) theo không gian, như được định nghĩa trong mục 7.7.2. Giá trị 0 không được phép.
vertical_ subsampling_factor_m - Điều này ảnh hưởng đến quá trình tăng thanh không gian có thể mở rộng, như được định nghĩa trong mục mục 7.7.2. Giá trị 0 không được phép.
vertical_subsampling_factor_n - Điều này ảnh hưởng đến quá trình tăng thanh không gian có thể mở rộng, như được định nghĩa trong mục 7.7.2. Giá trị 0 không được phép, picturemuxenable - Nếu đặt thành 1, picture_mux_order và picture_mux_factor được sử dụng để tái ghép kênh trước khi hiển thị.
mux_to_progressive_sequence - Cờ này khi đặt là ‘1’ chỉ ra rằng các ảnh được giải mã tương ứng với hai lớp sẽ được ghép theo thời gian để tạo ra một chuỗi liên tục để hiển thị. Khi việc ghép theo thời gian được tạo ra để tạo ra một chuỗi xen kẽ cờ này sẽ là ‘0’
picture_mux_order - Nó biểu thị số lượng các ảnh lớp tăng cường trước ảnh lớp cơ sở đầu tiên. Do đó, nó hỗ trợ ghép lại các ảnh trước khi hiển thị vì nó chứa thông tin cho việc đảo ngược demultiplexing được thực hiện ở bộ mã hóa.
picture_mux_factor - Nó biểu thị số lượng ảnh lớp tăng cường giữa các ảnh lớp cơ sở liên tiếp để cho phép tái ghép chính xác và các lớp nâng cao để hiển thị. Nó cũng hỗ trợ ghép lại các ảnh trước khi hiển thị vì nó chứa thông tin để đảo ngược tái ghép thời gian thực hiện tại bộ mã hóa. Giá trị ‘000’ được dùng để dự phòng.
6.3.8. Nhóm tiêu đề ảnh
group_start_code - Mã bắt đầu của nhóm là chuỗi bit ‘000001B8’ theo hệ thập lục phân. Nó xác định sự bắt đầu của một nhóm tiêu đề ảnh.
time_code - Đây là một số nguyên 25 bit chứa các nội dung sau: drop frame_flag, time_code_hours, time_code_minutes, marker_bit, time_code_seconds và time_code_pictures như trong Bảng 6-11. Các thông số tương ứng với các thông số được định nghĩa trong ấn bản tiêu chuẩn IEC 60461 cho “mã thời gian và kiểm soát cho máy ghi băng video”. Mã thời gian đề cập đến ảnh đầu tiên sau khi nhóm quay ảnh tiêu đề có tham chiếu thời gian bằng không. drop_frame_flag có thể được đặt là ‘0’ hoặc ‘1’. Nó có thể được đặt là ‘1’ chỉ khi tốc độ khung hình là 29,97 Hz. Nếu nó là ‘0’ thì các ảnh được tính giả định làm tròn số ảnh gần nhất của ảnh mỗi giây, ví dụ 29,97 Hz sẽ được đếm và làm tròn là 30 Hz. Nếu nó là ‘1’ thì các số ảnh 0 và 1 ở đầu mỗi phút, ngoại trừ các phút 0, 10, 20, 30, 40, 50 được bỏ qua.
Chú thích - Thông tin thu được bởi time_code không đóng vai trò trong quá trình giải mã.
Bảng 6-11 - Mã thời gian (time_code)
time_code | Phạm vi giá trị | Số bit | Nhận dạng |
drop_frame_flag |
| 1 | uimsbf |
time_code_hours | 0-23 | 5 | uimsbf |
time_code_minutes | 0-59 | 6 | uimsbf |
marker_bit | 1 | 1 | bslbf |
time code seconds | 0-59 | 6 | uimsbf |
time_codepictures | 0-59 | 6 | uimsbf |
closed_gop - Đây là một cờ một bit cho thấy bản chất của các dự đoán được sử dụng trong các ảnh B-liên tiếp đầu tiên (nếu có) ngay sau khung mã 1 đầu tiên sau nhóm tiêu đề hình ảnh.
closed_gop - Được đặt là ‘1’ để chỉ ra rằng các ảnh B đã được mã hóa chỉ sử dụng đoán ngược hoặc mã hóa nội bộ.
Bit này được cung cấp để sử dụng trong bất kỳ chỉnh sửa nào xảy ra sau khi mã hóa. Nếu các ảrh trước đó đã được gỡ bỏ bằng cách chỉnh sửa, broken_link có thể được đặt là ‘1’ sao cho bộ giải mã có thể tránh hiển thị các ảnh B sau ảnh 1 đầu tiên sau nhóm tiêu đề ảnh. Tuy nhiên, nếu bit closed_gop được đặt là ‘1’, thì trình biên tập có thể chọn không đặt bit broken_link vì các ảnh B này có thể được giải mã chính xác.
Broken_link - Đây là một cờ một bit sẽ được đặt là ‘0’ trong suốt quá trình mã hóa. Nó được đặt là ‘1’ để chỉ ra rằng những ảnh B liên tiếp đầu tiên (nếu có) ngay sau khung I được mã hoá đầu tiên theo nhóm của tiêu đề ảnh có thể không được giải mã chính xác vì khung tham chiếu được sử dụng để dự đoán không phải là sẵn có (vì hành động chỉnh sửa).
Bộ giải mã có thể sử dụng cờ này để tránh hiển thị khung không thể giải mã chính xác.
6.3.9. Tiêu đề ảnh
picture_start_code - là một chuỗi gồm 32 bit có giá trị 00000100 trong hệ thập lục phân.
ternporal_reference - Tham số temporal_reference là một số nguyên không dấu 10 bit liên kết với mỗi hình mã hóa.
Các đặc điểm kỹ thuật đơn giản sau chỉ áp dụng khi low_delay bằng không.
Khi một khung được mã hóa ở dạng hai ảnh trường , temporal_reference liên kết với mỗi ảnh sẽ giống nhau (được gọi là temporal_reference của khung được mã hoá). Mốc thời gian của mỗi khung mã sẽ tăng dần theo một modulo 1024 khi được kiểm tra theo thứ tự hiển thị tại đầu ra của quá trình giải mã, trừ khi một nhóm tiêu đề ảnh xảy ra. Trong số các khung được mã hoá sau một nhóm tiêu đề ảnh, tham chiếu thời gian của khung được mã hoá được hiển thị trước tiên sẽ được đặt là 0.
Các đặc điểm kỹ thuật chung sau áp dụng khi độ trễ thấp bằng không hoặc một.
Nếu ảnh A không phải là một ảnh lớn, chẳng hạn bộ đệm VBV chỉ được kiểm tra một lần trước khi ảnh A mã hoá được lấy ra khỏi bộ đệm VBV và nếu N là temporal_refcrence của ảnh A, thì việc tính thời gian của ảnh B ngay sau ảnh A theo thứ tự hiển thị bằng:
• 0 nếu có một nhóm tiêu đề ảnh hiện diện giữa ảnh A và ảnh B (theo thứ tự mã hoá).
• (N + 1)% 1024 nếu ảnh B là một khung hình hoặc là trường đầu tiên của một cặp ảnh trường.
• N nếu ảnh B là trường thứ hai của một cặp ảnh trường.
Khi low_delay bằng một, có thể có các tình huống mà bộ đệm VBV sẽ được kiểm tra lại nhiều lần trước khi loại bỏ một ảnh được mã hóa (gọi là ảnh lớn) từ bộ đệm VBV.
Nếu ảnh A là một ảnh lớn và nếu K là số lần mà bộ đệm VBV được kiểm tra lại theo định nghĩa trong C.7 (K> 0), nếu N là tham chiếu thời gian của ảnh A, thì tham chiếu thời gian ảnh B ngay sau ảnh A theo thứ tự hiển thị bằng:
• K% 1024 nếu có một nhóm tiêu đề ảnh hiện diện giữa ảnh A và ảnh B (theo thứ tự mã hoá).
• (N + K + 1)% 1024 nếu ảnh B là một ảnh khung hoặc là trường đầu tiên của một cặp trường hình ảnh.
• (N + K)% 1024 nếu ảnh B là trường thứ hai của một cặp ảnh trường.
CHÚ THÍCH 1 - Nếu ảnh lớn là trường đầu tiên của khung được mã hoá bằng các ảnh trường, thì tham chiếu thời gian của hai ảnh trường của khung đã được mã hóa là không được nhận diện
picture_coding_type - picture_coding_type xác định xem một ảnh là một ảnh mã hoá bên trong (I), ảnh được mã hóa dự đoán (P) hoặc ảnh mã hoá dự đoán hai chiều (B). Ý nghĩa của picture_coding_type được định nghĩa trong Bảng 6-12.
Chú thích 2 - Tiêu chuẩn kỹ thuật này không hỗ trợ các ảnh có mã hoá nội bộ chỉ có các hệ số DC (Các ảnh D) có thể được sử dụng trong ISO/IEC 11172-2
Bảng 6-12 - picture coding type (kiểu mã hóa ảnh)
picture_coding_type | Phương pháp mã hóa |
000 | Cấm |
001 | mã hóa trong (I) |
010 | mã hóa dự đoán (P) |
011 | mã hóa dự đoán theo hai chiều (B) |
100 | Không được sử dụng (dc intra-coded (D)) theo tiêu chuẩn ISO/ IEC 11172-2) |
101 | Dự phòng |
110 | Dự phòng |
111 | Dự phòng |
vbv_delay - vbv_delay là một số nguyên không dấu 16 bit. Trong tất cả các trường hợp khác thì khi vbv_delay có giá trị FFFF hệ thập lục phân, giá trị vbv_delay là số chu kỳ của một đồng hồ 90 kHz bắt nguồn từ đồng hồ hệ thống 27 MHz mà .VBV sẽ đợi sau khi nhận được byte cuối cùng của mã bắt đầu ảnh trước giải mã ảnh, vbv_delay sẽ được mã hóa để đại diện cho trễ như đã nêu ở trên hoặc nó sẽ được mã hoá với giá trị FFFF hệ thập lục phân.
Nếu bất kỳ trường vbv_delay nào trong một dãy được mã hoá với FFFF hệ thập lục phân, thì tất cả các giá trị này sẽ được mã hóa với giá trị này. Nếu vbv_delay lấy giá trị FFFF hệ thập lục phân, đầu vào của dữ liệu vào bộ đệm VBV được định nghĩa trong C.3.2, nếu không thì đầu vào cho bộ đệm VBV được định nghĩa trong C.3.1.
Nếu low_delay bằng ‘1’ và nếu dòng bit chứa các ảnh lớn, các giá trị vbv_delay được mã hóa trong picture_header() của ảnh lớn có thể sai nếu không bằng FFFF hệ thập lục phân.
Chú thích 3- Có một số cách tính vbv_delay trong một bộ mã hóa.
Trong tất cả các trường hợp nó có thể được tính bằng cách lưu ý rằng trễ đầu cuối thông qua bộ mã hóa và bộ đệm bộ giải mã là không thay đổi cho tất cả các ảnh. Bộ mã hóa có khả năng biết được trễ của mã bắt đầu ảnh có liên quan trong bộ đệm bộ mã hóa và độ trễ cuối cùng tổng thể. Do đó, giá trị được mã hóa trong vbv_delay (độ trễ bộ đệm bộ giải mã của mã bắt đầu ảnh) được tính như là trễ tổng số trễ thấp của mã bắt đầu ảnh tương ứng trong bộ đệm bộ mã hóa được đo trong các khoảng thời gian của một đồng hồ 90 kHz thu được từ 27 MHz đồng hồ hệ thống.
Ngoài ra, đối với hoạt động tốc độ bit không đổi, vbv_delay có thể được tính từ trạng thái của VBV như sau:
vbv_delayn = 90 000 * Bn* / R
Ở đây:
n> 0
Bn * = Occupancy VBV, được đo bằng các bit, ngay trước khi loại bỏ ảnh n khỏi bộ đệm, nhưng sau khi gỡ bỏ bất kỳ tiêu đề nào, người sử dụng dữ liệu và nhồi tức thời đi trước các yếu tố dữ liệu của hình n.
R = tốc độ bit thực tế (nghĩa là độ chính xác đằy đủ chứ không phải giá trị được định lượng cho bởi bit_rate trong tiêu đề chuỗi).
Một phương pháp tương đương để tính vbv_delay cho tốc độ bit biến đổi có thể được lấy từ phương trình trong C.3.1. Điều này sẽ ở dạng một mối quan hệ lại xảy ra cho vbv_delay với vbv_delay trước đó, thời gian giải mã của các ảnh hiện tại và trước đó, và số byte trong ảnh trước. Phương pháp này có thể được áp dụng nếu, tại thời điểm vbv_delay được mã hoá, tốc độ bit trung bình của việc truyền dữ liệu ảnh của ảnh trước đó đã được biết đến.
full_pel_forward_vector - Cờ này được sử dụng trong ISO/IEC 11172-2 không được sử dụng bởi Tiêu chuẩn này. Nó sẽ có giá trị là ‘0’.
forward_f_code - Chuỗi 3 bit (được sử dụng trong ISO/IEC 11172-2) không được sử dụng bởi Tiêu chuẩn này. Nó sẽ có giá trị là ‘111’.
full_pel_backward_vector - Cờ này được sử dụng trong ISO/IEC 11172-2 không được sử dụng bởi Tiêu chuẩn này. Nó sẽ có giá trị là ‘0’
backward_f_code - Chuỗi 3 bit này (được sử dụng trong ISO/IEC 11172-2) không được sử dụng bởi Tiêu chuẩn này. Nó sẽ có giá trị ‘111’.
extra_bit_picture - Cờ này cho thấy sự hiện diện của các thông tin thêm sau. Nếu extra_bit_picture được đặt là ‘1’, content_description_data() sẽ theo nó. Nếu nó được đặt là ‘0’, không có thêm content_description_data() nữa trong tiêu đề ảnh này.
exfra_informalion_picture - Dành riêng. Bộ giải mã phù hợp với Đặc điểm này gặp phải extra_information_picture trong một dòng bit sẽ bỏ qua nó (tức là xóa phía trước dòng bit và loại bỏ). Một dòng bit phù hợp với Tiêu chuẩn kỹ thuật này sẽ không chứa cú pháp này.
6.3.10. Mở rộng mã hóa ảnh
f_code[s][t] - Một số nguyên không dấu 4 bit lấy giá trị từ 1 đến 9, hoặc 15. Giá trị zero bằng không được cấm và các giá trị từ 10 đến 14 được dành riêng. Nó được sử dụng trong việc giải mễí vectơ chuyển động, xem mục 7.6.3.1.
Trong ảnh I, trong đó concealment_motion_vectors là số không f_code[s][t] không được sử dụng (vì vectơ chuyển động không được sử dụng) và sẽ lấy giá trị 15 (tất cả các giá trị đó).
Tương tự như vậy, trong ảnh I hoặc một ảnh P,f_code [l][t] không được sử dụng trong quá trình giải mã (vì nó đề cập đến các vectơ chuyển động ngược) và sẽ lấy giá trị 15 (tất cả các giá trị đó).
Xem Bảng 7-7 về ý nghĩa của các chỉ số: s và t.
intra_dc_precision - Đây là một số nguyên 2 bit được định nghĩa trong Bảng 6-13.
Bảng 6-13 - Độ chính xác của Infra DC
intra_dc_precision | Độ chính xác (bits) |
00 | 8 |
01 | 9 |
10 | 10 |
11 | 11 |
Quá trình lượng tử hóa nghịch đảo đối với các hệ số Intra DC được sửa đổi bởi tham số này như đã giải thích trong mục 7.4.1.
picture_structure -Đây là một số nguyên 2 bit được định nghĩa trong Bảng 6-14.
Bảng 6-14 - Ý nghĩa của cấu trúc ảnh
pirture_structure | Ý nghĩa |
00 | Dự phòng |
01 | Trường trên cùng |
10 | Trường dưới cùng |
11 | Ảnh khung |
Khi một khung được mã hóa trong các hình thức hai trường, cả hai trường phải có cùng một loại mã hình ảnh, trừ trường hợp mã hóa đầu tiên là một ảnh I, trong trường hợp đó, thứ hai có thể là ảnh I hoặc một ảnh P.
Trường mã hóa đầu tiên của khung có thể là trường trên cùng hoặc trường dưới cùng, và trường tiếp theo phải có tính chẵn lẻ đối nhau.
Khi một khung được mã hóa trong các hình thức của trường vực hình ảnh, các yếu tố cú pháp sau đây có thể được đặt độc lập trong mỗi ảnh trường:
• f_code [0] [0], f_code [0] [1]:
• f_code [1] [0], f_code [1] [1];
• intra_dc_precision, concealment_motion_vectors, q_scale_type;
• intra_vlc_format, alternate_scan;
• vbv_delay;
• temporal_reference.
top_field_first - Ý nghĩa của phần tử này phụ thuộc vào picture_structure, progressive_sequence và repeat_first_field.
Nếu progressive_sequence bằng '0', cờ này cho biết trường của khung tái tạo là đầu ra đầu tiên bởi quá trình giải mã.
Trong một ảnh trường, top_field_first sẽ có giá trị '0’ và trường đầu ra duy nhất bởi quá trình giải mã là ảnh trường được giải mã.
Trong một khung hình top_field_first được thiết lập là ‘1’ cho biết trường trên cùng của khung tái tạo là trường đầu tiên xuất ra bởi quá trình giải mã, trường đầu tiên được đặt là '0' cho biết trường dưới cùng của khung tái tạo là trường đầu tiên đầu ra bằng quá trình giải mã.
Nếu progressive_sequence bằng ‘1’, cờ này, kết hợp với trường repeat_first_field, chỉ ra bao nhiêu lần (một, hai hoặc ba) khung tái tạo được xuất ra bởi quá trình giải mã.
Nếu repeat_first_field được đặt là '0', top_field_first sẽ được đặt là ‘0’. Trong trường hợp này, đầu ra của quá trình giải mã tương ứng với khung tái tạo này bao gồm một liên tục khung.
Nấu top_field_first được đặt là ‘0’ và repeat_first_field được đặt là ‘1’, đầu ra của quá trình giải mã tương ứng với khung tái tạo này bao gồm hai khung hình giống hệt nhau.
Nếu top_field_first được đặt là 1 và repeat_first_field được đặt là ‘1’, đầu ra của quá trình giải mã tương ứng với khung tái tạo này bao gồm ba khung hình giống hệt nhau.
frame_pred_frame_dct - Nếu cờ này được đặt là ‘1’, thì chỉ dùng khung-DCT và khung dự báo. Trong một ảnh trường, nó sẽ là '0'. frame_pred_frame_dct sẽ là ‘1’ nếu progressive_sequence là ‘1’. Cờ này ảnh hưởng đến cú pháp của dòng bit.
concealment_motion_vectors - Cờ này có giá trị ‘1’ để cho biết rằng các vector chuyển động được mã hóa trong macroblocks bên trong. Cờ này có giá trị '0' để cho biết rằng không có vectơ chuyển động được mã hóa trong Macroblocks.
q_scale_type - Cờ này ảnh hưởng đến quy trình lượng tử nghịch đảo như mô tả trong 7.4.2.2.
intra_vlc_format - Cờ này ảnh hưởng đến việc giải mã dữ liệu hệ số chuyển đổi như mô tả trong mục 7.2.2.1.
alternate_scan - Cờ này ảnh hưởng đến việc giải mã dữ liệu hệ số chuyển đổi như mô tả trong 7.3.
repeat_first_field - Cờ này chỉ áp dụng được trong khung hình; trong một ảnh trường nó sẽ được thiết lập là không và không ảnh hưởng đến quá trình giải mã.
Nếu progressive_sequence bằng ‘0’ và progressive_frame bằng ‘0’. repeat_first_field sẽ là ‘0’, và đầu ra của quá trình giải mã tương ứng với khung tái tạo này bao gồm hai trường.
Nếu progressive_sequence bằng ‘0’ và progressive_frame tương đương với ‘1’:
Nếu cờ này được đặt là 0. đầu ra của quá trình giải mã tương ứng với khung tái tạo này bao gồm hai trường. Trường đầu tiên (trường trên hoặc dưới cùng được xác định bởi trường hàng đầu đầu tiên) được theo sau bởi trường khác.
Nếu nó được đặt thành 1, đầu ra của quá trình giải mã tương ứng với khung tái tạo này bao gồm ba trường. Trường đầu tiên (trường trên hoặc dưới cùng được xác định bởi top_field_first) được theo sau bởi trường khác, sau đó trường đầu tiên được lặp lại.
Nếu progressive_sequence bằng 1:
Nếu cờ này được đặt là 0, đầu ra của quá trình giải mã tương ứng với khung tái tạo này bao gồm một khung.
Nếu nó được đặt thành 1, đầu ra của quá trình giải mã tương ứng với khung tái tạo này bao gồm hai hoặc ba khung, phụ thuộc vào giá trị của top_field_first.
chroma_420_type - Nếu sắc màu là "4:2:0", giá trị của chroma_420_type sẽ giống như progressive_frame; chroma_420_type khác không có ý nghĩa và sẽ bằng 0. Cờ này tồn tại vì lý do lịch sử.
progressive_frame - Nếu progressive_frame được đặt là 0, nó chỉ ra rằng hai trường của khung là các trường xen kẽ, trong đó một khoảng thời gian của khoảng thời gian trường tồn tại giữa (các mẫu không gian tương ứng) của hai trường. Điều này dễ dàng áp dụng các hạn chế sau đây:
• repeat_first_field sẽ là 0 (hai trường thời gian).
Nếu progressive_frame được đặt là 1 nó chỉ ra rằng hai trường (của khung) là thực sự từ cùng thời điểm ngay như nhau. Trong trường hợp này, một số hạn chế đối với các tham số và cờ khác trong dòng bit được áp dụng:
• picture_structure sẽ là "Khung";
• Nếu progressive_sequence bằng 1, thì frame_pred_frame_det sẽ là 1.
progressive_frame được sử dụng khi chuỗi video được sử dụng làm lớp dưới của một dải không gian có thể mở rộng. Ở đây nó ảnh hưởng đến quá trình lấy mẫu được sử dụng trong việc hình thành dự đoán trong lớp nâng cao từ lớp dưới.
composite_display_flag - Cờ này được đặt là 1 để chỉ ra rằng các trường sau đây được sử dụng khi các ảnh đầu vào đã được mã hóa dưới dạng video kết hợp (tương tự) trước khi mã hóa vào một dòng bit phù hợp với tiêu chuẩn này. Nếu nó được đặt là 0, thì các tham số này không xảy ra trong dòng bit.
Thông tin liên quan đến ảnh ngay sau phần mở rộng. Trong trường hợp ảnh này là một khung hình, thông tin liên quan đến trường đầu tiên của khung đó. Các thông tin tương đương cho trường thứ hai có thể được bắt nguồn (không có cách nào để đại diện cho nó trong dòng bit).
CHÚ THÍCH 1 - Các thành phần cú pháp khác nhau được bao gồm trong dòng bit nếu composite_display_flag là 1 không được sử dụng trong quá trình giải mã.
CHÚ THÍCH 2 - trường repeat_first_ sẽ làm cho trường video tổng hợp bị hủy bỏ khỏi 4 trường hoặc 8 trường.
v_axis - Một số nguyên 1 bit chỉ được sử dụng khi dòng bit đại diện cho một tín hiệu đã được mã hóa trước đó theo hệ thống PAL. v_axis được đặt là 1 trên một dấu hiệu dương, nếu không v_axis được đặt là 0.
field_sequence - Một số nguyên 3 bit xác định số trường trong chuỗi 8 trường được sử dụng trong các hệ thống PAL hoặc bốn trường được sử dụng trong các hệ thống NTSC như được định nghĩa trong Bảng 6-15.
Bảng 6-15 - Định nghĩa field_sequence
Field_sequence | Khung | Trường |
000 | 1 | 1 |
001 | 1 | 2 |
010 | 2 | 3 |
011 | 2 | 4 |
100 | 3 | 5 |
101 | 3 | 6 |
110 | 4 | 7 |
111 | 4 | 8 |
sub_carrier - Đây là một số nguyên 1 bit. Đặt là 0 có nghĩa là mối quan hệ tần số sóng mang phụ/dòng là chính xác. Khi đặt là 1 mối quan hệ là không chính xác.
burst_amplitude - Đây là một số nguyên 7 bit xác định biên độ burst (chỉ dành cho PAL và NTSC). Biên độ của sóng mang phụ burst được lượng tử hóa như là một tín hiệu độ chói ITU-R BT.601, với MSB bị bỏ qua.
sub_carrier_ phase - Đây là một số nguyên 8 bit xác định pha của sóng mang phụ tham chiếu tại địa điểm đồng bộ hóa trường đối với trường bắt đầu, như được định nghĩa trong Khuyến nghị ITU-R BT.470 (mục 6-16).
Bảng 6-16 - Định nghĩa của sub_carrier_phase
sub_carrier_phase | Phase |
0 | ([360° ÷ 256] * 0) |
1 | ([360° ÷ 256] * 1) |
… | … |
255 | ([360° ÷ 256] * 255) |
6.3.11. Mở rộng ma trận lượng tử
Mỗi ma trận lượng tử có một bộ các giá trị mặc định. Khi sequence_header_code được giải mã tất cả các ma trận sẽ được đặt lại về giá trị mặc định của chúng. Có thể tải xuống ma trận do người dùng định nghĩa và điều này có thể xảy ra trong một sequence_header() hoặc trong quant_matrix_extension().
Với dữ liệu 4:2:0 chỉ có hai ma trận được sử dụng, một trong những khối bên trong khác cho khối không phải bên trong.
Với dữ liệu 4:2:2 hoặc 4:4:4 bốn ma trận được sử dụng. Cả ma trận bên trong và không phải bên trong đều được cung cấp cho cả khối độ chói và cho các khối sắc màu. Lưu ý rằng, tuy nhiên, có thể tải cùng một ma trận người dùng đã xác định vào cả ma trận độ chói và độ sắc màu cùng một lúc.
Ma trận mặc định cho các khối bên trong (cả độ chói và độ sắc màu) là:
Hình 6-16 - Ma trận mặc định cho khối bên trong
Ma trận mặc định cho các khối không phải bên trong (độ chói và độ sắc màu) là:
Hình 6-17 - Ma trận mặc định cho các khối không phải bên trong
load_intra_quantiser_matrix - Đây là một cờ một bit được thiết lập là ‘1’ nếu intra_quantiser_matrix bên trong. Nếu nó được đặt là '0' thì không có sự thay đổi trong các giá trị sẽ được sử dụng.
intra_quantiser_matrix - Đây là danh sách 64 số nguyên không dấu 8 bit. Các giá trị mới, được mã hóa trong trình tự quét zigzag mặc định như mô tả trong 7.3.1, thay thế các giá trị trước đó. Giá trị đầu tiên sẽ luôn là 8 (giá trị từ 1 đến 7 và 9 đến 255 được dùng để dự phòng). Đối với tất cả các số nguyên 8bit không dấu, giá trị zero là bị cấm. Với dữ liệu 4:2:2 và 4:4:4 các giá trị mới sẽ được sử dụng cho cả hai ma trận độ chói và ma trận sắc màu. Tuy nhiên, ma trận sắc màu sau đó có thể được nạp với một ma trận khác nhau.
load_non_intra_quantiser_matrix - Đây là một cờ một bit được đặt là 1 nếu non_intra_quantiser_matrix theo sau. Nếu nó được thiết lập là '0' thì không có thay đổi trong các giá trị sẽ được sử dụng.
non_intra_quantiser_matrix - Đây là danh sách 64 số nguyên không dấu 64 bit. Các giá trị mới, được mã hóa trong trình tự quét zigzag mặc định được mô tả trong mục 7.3.1, thay thế các giá trị trước. Đối với tất cả các số nguyên 8 bit không dấu, giá trị số 0 là bị cấm. Với dữ liệu 4: 2: 2 và 4: 4: 4, các giá trị mới sẽ được sử dụng cho cả hai ma trận độ chói không phải trong nội bộ và ma trận sắc màu không phải bên trong. Tuy nhiên, ma trận màu sắc không phải bên trong sau đó có thể được nạp với một ma trận khác.
load_chroma_intra_quantiser_matrix - 'Đây là một cờ một bit được đặt là ‘1’ nếu chroma_intra_quantiscr_matrix theo sau. Nếu nó được đặt là ‘0’ thì không có sự thay đổi trong các giá trị sẽ được sử dụng. Nếu chroma_format là "4:2:0" cờ này sẽ lấy giá trị '0'.
chroma_intra_quantiser_matrix - Đây là danh sách sáu mươi bốn số nguyên không dấu 8 bit. Các giá trị mới, được mã hóa trong trình tự quét zigzag mặc định như mô tả trong 7.3.1, thay thế các giá trị trước đó. Giá trị đầu tiên sẽ luôn là 8 (các giá trị từ 1 đến 7 và từ 9 đến 255 được dành riêng). Đối với tất cả các số nguyên 8 bit không dấu, giá trị zero bị cấm.
load_chroma_non_intra_quantiser_matrix - Đây là một cờ một bit được đặt là ‘1’ nếu chroma_non_intra_quantiser_matrix theo sau. Nếu nó được đặt là ‘0’ thì không có sự thay đổi trong các giá trị sẽ được sử dụng. Nếu màu sắc là "4:2:0", cờ này sẽ lấy giá trị '0'.
chroma_non_intra_quantiser_matrix - là một danh sách sáu mươi bốn số nguyên không dấu 8 bit. Các giá trị mới, được mã hóa trong trình tự quét zigzag mặc định như mô tả trong mục 7.3.1, thay thế các giá trị trước đó. Đối với tất cả các số nguyên 8 bit không dấu, giá trị 0 (zero) bị cấm.
6.3.12. Mở rộng hiển thị ảnh
Tiêu chuẩn kỹ thuật nào không xác định quá trình hiển thị. Thông tin trong phần mở rộng này không ảnh hưởng đến quá trình giải mã và có thể bị bỏ qua bởi bộ giải mã phù hợp với Tiêu chuẩn kỹ thuật này.
Phần mở rộng hiển thị ảnh cho phép vị trí của hình chữ nhật hiển thị có kích thước được chỉ định trong sequence_display_extension() được di chuyển trên cơ sở từng phần hình ảnh. Một ứng dụng cho việc này là việc thực hiện quét ảnh.
frame_center_horizoiital_offset - Đây là một số nguyên 16 bit cho horizoiital_offset trong các đơn vị mẫu 1/16. Một giá trị dương sẽ chỉ ra rằng trung tâm của khung tái tạo nằm ở bên phải của tâm của hình chữ nhật hiển thị.
frame_center_vertical_offset - Đây là một số nguyên 16 bit cho vertical_offset trong các đơn vị mẫu 1/16. Một giá trị dương sẽ chỉ ra rằng trung tâm của khung tái tạo nằm ở bên phải của tâm của hình chữ nhật hiển thị.
Kích thước của vùng hình chữ nhật hiển thị được xác định trong sequence_display_extension(). Các tọa độ của vùng trong hình mã hóa được xác định trong picture_display_extension().
Tâm của khung tái tạo là trung tâm của hình chữ nhật được xác định bởi horizontal_size và vertical_size.
Kể từ (trong trường hợp của một chuỗi liên quan) một hình được mã hóa có thể liên quan đến một, hai hoặc ba trường được giải mã, picture_display_extension() Có thể chứa tối đa ba lần.
Số lượng các hiệu ứng trung tâm khung hình trong picture_display_extension() được định nghĩa như sau:
Một picture_display_extension() sẽ không xảy ra trừ khi một sequenee_display_extension() theo sau sequence_header().
Trong một cách dễ dàng rằng một ảnh nhất định không có một picture_display_extension(), sau đó sẽ được sử dụng bù đắp trung tâm khung được giải mã gần đây nhất. Lưu ý rằng mỗi bù của khung trung tâm bị mất đều có cùng giá trị (ngay cả khi đã có hai hoặc ba điểm ảnh trung tâm khung trong picture_display_extension()). Sau một sequence_header(), giá trị zero sẽ được sử dụng cho tất cả các giá trị trung tâm khung cho đến khi một picture_display_extension() xác định các giá trị khác không.
Hình 6-18 minh họa các tham số hiển thị ảnh. Như được hiển thị, các hiệu chỉnh trung tâm khung có trong picture_display_extension() sẽ xác định vị trí trung tâm của khung tái tạo từ trung tâm của hình chữ nhật hiển thị.
CHÚ THÍCH 1 - Hình chữ nhật hiển thị cũng có thể lớn hơn khung được dựng lại.
CHÚ THÍCH 2 - Ngay cả trong một ảnh trường frame_centre_vertical_offset vẫn thể hiện sự bù của khung trung tâm trong 1/16 * của một dòng khung (không phải là dòng trong trường)
CHÚ THÍCH 3 - Trong ví dụ của hình 6-17 cả frame_centre_vertical_offset và frame_centre_vertical_offset đều có các giá trị âm.
6.3.12.1. Quay-quét (Pan-scan)
Các giá trị trung tâm khung có thể được sử dụng để thực hiện quay- quét, trong đó một vùng hình chữ nhật được xác định có thể được quét trên toàn bộ khung tái tạo.
Ví dụ: thiết bị này có thể được sử dụng để xác định cửa sổ tỷ lệ co 4:3 theo định dạng ảnh được mã hóa 16:9. Điều này sẽ cho phép bộ giải mã tạo ra các ảnh có thể sử dụng cho một bộ truyền hình độ nét chuẩn thông thường từ một định dạng được mã hóa nhằm xác định nâng cao. Vùng tỷ lệ co 4:3 được dự định chứa vùng "chú thích nhất" của ảnh.
Vùng tỷ lệ co 4:3 được xác định bởi display_horizontal_size và display_vertical_size. Kích thước khung hình 16:9 được xác định bởi horizontal_size và vertical_size.
Hình 6-18 - Các thông số bù khung trung tâm
6.3.13. Mở rộng phần mở rộng trục hồi tiếp
Chú thích - Xem thêm mục 7.9.
reference_select_code - Đây là mã 2 bit xác định khung tham chiếu hoặc trường tham chiếu để dự đoán tùy thuộc vào loại hình ảnh.
forward_temporal_reference - Giá trị số nguyên không dấu 10 bit cho biết tham chiếu thời gian của khung lớp dưới sẽ được sử dụng để cung cấp dự đoán trước. Nếu lớp dưới cho biết tham chiếu thời gian với hơn 10 bit, các bit có ít ý nghĩa nhất được mã hóa ở đây. Nếu lớp dưới cho thấy tham chiếu thời gian với ít hơn 10 bit, tất cả các bit được mã hóa ở đây và các bit quan trọng hơn sẽ được đặt là 0.
forward_temporal_reference - Giá trị số nguyên không dấu 10 bit cho biết tham chiếu thời gian của khung lớp dưới sẽ được sử dụng để cung cấp dự đoán về phía trước. Nếu lớp dưới cho biết tham chiếu thời gian với hơn 10 bit, các bit có ít ý nghĩa nhất được mã hóa ở đây. Nếu lớp dưới cho thấy tham chiếu thời gian với ít hơn 10 bit, tất cả các bit được mã hóa ở đây và các bit quan trọng hơn sẽ được đặt là 0.
backward_temporal_referrence - Giá trị số nguyên không dấu 10 bit cho biết tham chiếu thời gian của khung lớp dưới sẽ được sử dụng để cung cấp dự đoán sau đó. Nếu lớp dưới cho biết tham chiếu thời gian với hơn 10 bit, các bit có ít ý nghĩa nhất được mã hóa ở đây. Nếu lớp dưới cho thấy tham chiếu thời gian với ít hơn 10 bit, tất cả các bit được mã hóa ở đây và các bit quan trọng hơn sẽ được đặt là 0.
6.3.14. Khả năng mở rộng ảnh từng phần
lower_layer_temporal_reference - Một giá trị số nguyên không dấu 10 bit cho biết tham chiếu theo thời gian của khung lớp dưới sẽ được sử dụng để cung cấp dự đoán. Nếu lớp dưới cho biết tham chiếu theo thời gian với hơn 10 bit, các bit ở đây có ít ý nghĩa nhất được mã hóa. Nếu lớp dưới cho thấy tham chiếu thời gian với ít hơn 10 bit, tất cả các bit được mã hóa ở đây và các bit quan trọng hơn sẽ được đặt là 0.
lower_layer_horizontal_offset - Số nguyên có dấu (bổ sung hai số) 15 bit này cho biết độ bù ngang (của góc trên cùng bên trái) của việc lấy mẫu tăng lên khung lớp dưới cùng có quan hệ với ảnh lớp tăng cường. Nó được thể hiện bằng các đơn vị của chiều rộng mẫu ảnh tăng cường. Nếu định dạng sắc màu là 4:2:0 hoặc 4:2:2, thì tham số này phải là một số chẵn.
lower_layer_vertical_offset - Số nguyên có dấu (bổ sung hai số) 15 này cho biết độ bù dọc (của góc trên cùng bên trái của việc lấy mẫu tăng lên khung lớp dưới cùng có quan hệ với ảnh lớp tăng cường. Nó được thể hiện bằng các đơn vị của chiều cao mẫu ảnh tăng cường. Nếu định dạng sắc màu là 4:2:0, thì tham số này phải là một số chẵn.
spatial_temporal_weight_code_table_index - Số nguyên 2bit này chỉ ra bảng mã trọng số theo thời gian theo không gian sẽ được sử dụng như được xác định trong mục 7.7. Các giá trị cho phép của spatial_temporal_weight_code_table_index được xác định trong Bảng 7-21.
lower_layer_progressive_frame - Cờ này sẽ được đặt là 0 nếu khung dưới cùng là xen kẽ và sẽ được đặt là '1' nếu khung dưới cùng là liên tiếp. Việc sử dụng cờ này trong quá trình lấy mẫu tăng lên mở rộng theo không gian được định nghĩa trong mục 7.7.
lower_layer_deinterlaced_field_select - Cờ này ảnh hưởng đến quá trình lấy mẫu tăng lên mở rộng theo không gian được định nghĩa trong mục 7.7.
6.3.15. Mở rộng bản quyền
extenslon_start_code_identifler - Đây là một số nguyên 4 bit xác định phần mở rộng (xem Bảng 6-2).
copyright_flag - Đây là cờ một bit. Khi cờ bản quyền được đặt là ‘1’, nó cho biết rằng nguồn video được mã hóa trong tất cả các ảnh được mã hóa sau phần mở rộng bản quyền, theo thứ tự mã hóa, đến phần mở rộng bản quyền tiếp theo hoặc cuối của chuỗi mã hóa, được cấp bản quyền. Copyright_identifler và copyright_number xác định tác phẩm có bản quyền. Khi cờ bản quyền được đặt là ‘0’, tài liệu này không cho biết nguồn video được mã hóa trong tất cả các ảnh được mã hóa sau khi mở rộng bản quyền, theo thứ tự mã hóa, có bản quyền hay không.
copyright_identifler - Đây là một số nguyên 8 bit do Cơ quan đăng ký cung cấp bởi ISO/IEC JTCI/SC29. Giá trị 0 chỉ ra rằng thông tin này không có sẵn. Giá trị bản quyền của copyright_number sẽ bằng không khi copyright_identifler bằng không.
Khi cờ bản quyền được đặt là ‘0’, bản quyền không có ý nghĩa và sẽ có giá trị 0.
original_or_copy - Đây là một cờ một chút. Nó được đặt là ‘1’ để cho biết rằng tài liệu là một bản gốc, và thiết lập để '0' để cho biết rằng nó là một bản sao.
reserved - Đây là một số nguyên 7 bit, dành cho phần mở rộng trong tương lai. Nó sẽ có giá trị bằng không.
copyright_number_1 - Đây là một số nguyên 20 bit, đại diện cho các bit 44 đến 63 của copyright_number.
copyright_number_2 - Đây là một số nguyên 22 bit, đại diện cho các bit 22 đến 43 của copyright_number.
copyright_number_3 - Đây là một số nguyên 22 bit, đại diện cho các bit từ 0 đến 21 của copyright_number.
copyright_number - Đây là một số nguyên 64 bit, bắt nguồn từ copyright_number_ 1, copyright_number_2 và copyright_number_3 như sau:
copyright_number = (copyright_number_1<< 44) + (copyright_number_2<< 22) + copyright_number_3
Ý nghĩa của copyright_number được xác định chỉ khi copyright_flag được đặt là ‘1’. Trong trường hợp này, giá trị của copyright_number xác định độc nhất tác phẩm có bản quyền được đánh dấu bởi tiện ích có bản quyền. Giá trị 0 cho copyright_number cho biết rằng không có số nhận dạng của tác phẩm có bản quyền.
Khi copyright_flag được đặt là ‘0’, copyright_number không có ý nghĩa và sẽ có giá trị 0.
6.3.16. Lát cắt (Slice)
sIice_start_code - là một chuỗi gồm 32 bit. 24-bit đầu tiên có giá trị 000001 theo hệ thập lục phân và 8-bit cuối cùng là slice_vertical_position có giá trị trong khoảng từ 01 đến AF thập lục phân.
slice_vertical_ position - Điều này được đưa ra bởi tám bit cuối cùng của slice_start_code. Nó là một số nguyên không dấu cho vị trí thẳng đứng trong các đơn vị khối macroblock của macroblock đầu tiên trong lát cắt.
Trong ảnh lớn (khi kích thước thẳng đứng của khung lớn hơn 2800 dòng) thì vị trí dọc của lát được mở rộng bởi slice_vertical_position_extension.
Hàng macroblock có thể được tính như sau:
Nếu (vertical_size > 2800)
mb_row = (slice_vertical_position_extension « 7) + slice_vertical_position - 1;
Mặt khác
mb_row = slice_vertical_position -1;
Slice_vertical_position của hàng đầu tiên của macroblocks là một. Một số lát có thể có cùng slice_vertical_position, vì các slice có thể bắt đầu và kết thúc ở bất cứ đâu. Giá trị lớn nhất của slice_vertical_position là 175 trừ khi slice_vertical_position_extension có trong trường hợp slice_vertical_position sẽ nằm trong khoảng [1: 128].
priority_breakpoint - Đây là một số nguyên 7 bit chỉ ra điểm trong cú pháp mà dòng bit sẽ 78 được phân chia. Các giá trị cho phép và cách giải thích ngữ nghĩa của chúng được đưa ra trong Bảng 7-30, prionty_breakpoint sẽ lấy giá trị 0 trong phân vùng I.
quantiser_scale_code - Một số nguyên không dấu 5 bit trong dải từ 1 đến 31. Bộ giải mã sẽ sử dụng giá trị này cho đến khi mã số lượng tử khác được tìm thấy trong slice() hoặc macroblock(). Giá trị 0 không được phép.
slice_extension_flag - Cờ này sẽ được đặt là '1' để biểu thị sự hiện diện của intra_slice, slice_picture_id_enable, slice_picture_id trong dòng bit.
intra_slice - Cờ này sẽ được đặt là ‘0’ nếu bất kỳ macroblocks nào trong lát cắt không là các macroblocks trong. Nếu tất cả các macroblocks, là khối macroblocks trong, sau đó lát cắt trong intra_slice có thể được đặt là ‘1’.
Intra_slice có thể được bỏ qua từ dòng bit (bằng cách thiết lập intra_slice_flag là '0'), trong đó dễ dàng nó sẽ được giả định có giá trị bằng không.
intra_slice không được sử dụng bởi quá trình giải mã. intra_slice được dùng để hỗ trợ một ứng dụng DSM trong việc thực hiện FF/FR (xem F.12).
slice_picture_id_enable - Cờ này điều khiển ngữ nghĩa của slice_picture_id. Nếu slice_picture_id_enable được đặt là ‘0’, slice_picture_id không được sử dụng bởi Tiêu chuẩn kỹ thuật này và sẽ có giá trị bằng không. Nếu slice_picture_id_enable được đặt là ‘1’, slice_picture_id có thể có giá trị khác với không.
slice_picture_id_enable phải có cùng một giá trị trong tất cả các lát cắt của một ảnh. slice_picture_id_enable có thể được bỏ qua từ dòng bit (bằng cách thiết lập slice_extension_flag là ‘0’), trong trường hợp đó nó sẽ được giả định có giá trị bằng không.
slice_picture_id_enable không được sử dụng bởi quá trình giải mã.
slice_picture_id - Đây là một số nguyên 6 bit. Nếu slice_picture_id_enable được đặt là ‘0’, slice_picture_id không được sử dụng bởi Tiêu chuẩn kỹ thuật này và sẽ có giá trị bằng không. Nếu slice_picture_id_enable được đặt là ‘1’, slice_picture_id được xác định ứng dụng và có thể có bất kỳ giá trị nào, với ràng buộc rằng slice_picture_id sẽ có cùng giá trị trong tất cả các lát của một hình ảnh.
slice_picture_id không được sử dụng bởi quá trình giải mã. slice_picture_id được dùng để hỗ trợ phục hồi các lỗi nghiêm trọng của các lỗi đối với một số loại ứng dụng nhất định. Ví dụ, ứng dụng có thể tăng slice_picture_id với mỗi ảnh truyền qua, do đó trong trường hợp lỗi burst, khi một số lát cắt bị mất, bộ giải mã có thể biết được nếu lát sau lỗi burst thuộc ảnh hiện tại hoặc ảnh khác, có thể là trường hợp nếu ít nhất một tiêu đề ảnh đã bị mất.
extra_bit_slice - Cờ này cho thấy sự hiện diện của các thông tin thêm sau. Nếu extra_bit_slice được đặt là ‘1’, extra_information_slice sẽ theo nó. Nếu nó được đặt là ‘0’, không có dữ liệu sau nó. extra_bit_slice sẽ được đặt là ‘0’, giá trị ‘1’ được dành riêng cho các phần mở rộng tương lai có thể được định nghĩa bởi ITU-T | ISO/IEC.
extra_information_slice - Dự phòng. Bộ giải mã phù hợp với Tiêu chuẩn kỹ thuật này gặp phải thông số extra_information_slice trong một dòng bit sẽ bỏ qua nó (tức là gỡ nó khỏi dòng bit và loại bỏ). Một dòng bit phù hợp với Tiêu chuẩn kỹ thuật này sẽ không chứa phần tử cú pháp này.
6.3.17. Khối Macroblock
Chú thích - "macroblock_stuffing" được hỗ trợ trong tiêu chuẩn ISO/IEC 11172-2 sẽ không được sử dụng trong một dòng bit được xác định bởi Tiêu chuẩn kỹ thuật này.
macroblock_escape - Macroblock_escape là một chuỗi bit cố định '0000 0001 000' được sử dụng khi sự khác biệt giữa macroblock_address và previous_macroblock_address lớn hơn 33. Nó làm cho giá trị của macroblock_address_increment lớn hơn 33 so với giá trị sẽ được giải mã bởi chuỗi con macroblock_escape và các từ mã macroblock_address_inerement.
Ví dụ: nếu có hai mã bắt đầu macroblock rút khỏi mã địa chỉ macroblock trước khi tăng địa chỉ macroblock thì 66 sẽ được thêm vào giá trị được chỉ định bởi macroblock_address_inerement.
macroblock_address_increment - Đây là một mã số chiều dài biến số được mã hóa theo Bảng B.1 cho biết sự khác biệt giữa macroblock_address và previous_macroblock_address. Giá trị tối đa của macroblock_address_increment là 33. Các giá trị lớn hơn giá trị này có thể được mã hóa bằng cách sử dụng từ viết tắt macroblock_escape.
Macroblock_address là một biến xác định vị trí tuyệt đối của macroblock hiện tại. Macroblock_address của macro bên trái phía trên là zero.
Previous_macroblock_address là một biến xác định vị trí tuyệt đối của macro không khóa cuối cùng không được bỏ qua (xem mục 7.6.6. cho xác định các macroblock đã bị bỏ qua) ngoại trừ khi bắt đầu của một lát cắt. Vào đầu của một slice previous_macroblock_address được đặt lại như sau:
previous_macroblock_address = (mb_row * mb_width) -1
Các horizontal_spatial_position trong các đơn vị macroblock của một macroblock trong hình (mb_column) có thể được tính từ macroblock_address như sau:
mb_column = macroblock_address% mb_width
nơi mà chiều rộng mb là số lượng macroblocks trong một hàng của ảnh.
Trừ khi bắt đầu một lát cắt, nếu giá trị của macroblock_address phục hồi từ macroblock_address_increment và mã macroblock_escape (nếu có) khác với address_macroblock trước đó bởi nhiều hơn một số macroblocks đã được bỏ qua. Đó là một yêu cầu như sau:
• Không có các macroblocks bị bỏ qua trong các ảnh I ngoại trừ khi một trong hai
- picture_spatial_scalable_extension() theo sau picture_header() của ảnh hiện tại; hoặc là
- sequence_scalable_extension() có trong dòng bit và scalable_mode = "khả năng mở rộng SNR".
• Trong ảnh B, sẽ không có các macroblok được bỏ qua ngay sau một macroblock, trong đó macroblock_intra là một.
Cần lưu ý rằng cú pháp không cho phép bỏ qua macroblock đầu tiên và cuối cùng của một lát cắt.
6.3.17.1. Chế độ Macroblock
macroblock_type - Chỉ số mã hóa chiều dài biến thể cho biết phương pháp mã hóa và nội dung của macroblock theo Bảng B.2 đến B.8. được chọn bởi picture_coding_type và sealable_mode.
macroblock_quant - Lấy từ macroblock_type theo bảng B.2 đến B.8. Điều này được thiết lập là 1 để chỉ ra rằng quantiser_scale_code có mặt trong dòng bit.
macroblock_motion_forward - Lấy từ macroblock_type theo bảng B.2 đến B.8. Cờ này tác động đến cú pháp dòng bit và được sử dụng bởi quá trình giải mã.
macroblock_motion_backward - Lấy từ macroblock_type theo Bảng B.2 đến B.8. Cờ này tác động đến cú pháp dòng bit và được sử dụng bởi quá trình giải mã.
macroblock_type_pattern - Lấy từ macroblock_type theo Bảng B.2 đến B.8. Điều này được thiết lập là 1 để cho biết rằng coded_block_pattern () hiện diện trong dòng bit.
macroblock_intra - Lấy từ macroblock_type theo bảng B.2 đến B.8. Cờ này tác động đến cú pháp dòng bit và được sử dụng bởi quá trình giải mã.
spatial_temporal_weight_code_flag - Lấy từ macroblock_type. Điều này cho biết liệu spatial_temporal_weight_code có trong dòng bit hay không.
Khi spatial_temporal_weight_code là '0' (chỉ ra rằng spatial_temporal_weight_code không có trong dòng bit) spatial_temporal_weight_class được lấy từ bảng B.5 đến B.7. Khi spatial_temporal_weight_code_flag là ‘1’ spatial_temporal_weight_class được lấy ra từ phía trước Bảng 7-20.
spatial_temporal_weight_code - Đây là mã hai bit được chỉ thị, trong khả năng mở rộng theo không gian, làm thế nào để dự đoán theo không gian và theo thời gian sẽ được kết hợp để tạo thành dự đoán cho macroblock. Một mô tả đầy đủ về làm thế nào để hình thành dự đoán khả năng mở rộng theo không gian được cho biết trong mục 7.7.
frame_motion_type - Đây là mã hai bit cho biết kiểu dự đoán macroblock, được định nghĩa trong Bảng 6-17.
Bảng 6-17 - Ý nghĩa của frame_motion_fype
Mã | Spatial_temporal_weight_class | Kiểu đoán trước | motion_vect or _count | Mv_form at | dmv |
00 |
| Reserved |
|
|
|
01 | 0, 1 | Field-based | 2 | Trường | 0 |
01 | 2, 3 | Field-based | 1 | Trường | 0 |
10 | 0,1,2, 3 | Frame-based | 1 | Khung | 0 |
11 | 0, 2, 3 | Dual-Prime | 1 | Trường | 1 |
Nếu frame_pred_frame_dct bằng 1 thì frame_motion_type sẽ bị bỏ qua khỏi dòng bit. Trong trường hợp này việc giải mã vector chuyển động và sự hình thành dự đoán sẽ được thực hiện như thể frame_motion_type đã chỉ ra "Dự đoán khung cơ sở".
Trong trường hợp Macroblocks trong (trong một ảnh khung) khi concealment_motion_vectors bằng 1 frame_motion_type không có trong dòng bit. Trong trường hợp này, chuyển động mã vạch và cập nhật các dự đoán vector dự đoán sẽ được thực hiện như thể kiểu chuyển động của khung đã cho thấy "Khung - cơ sở " (xem mục 7.6.3.9).
field_motion_type - Đây là mã hai bit cho biết loại dự đoán macroblock, được xác định trong Bảng 6-18.
Bảng 6-18 - Ý nghĩa của field_motion_type
Mã | Spatial_temporal _weight_class | Kiểu đoán trước | motion_vecto r _count | Mv_form at | dmv |
00 |
| Dự phòng |
|
|
|
01 | 0, 1 | Field-based | 1 | Trường | 0 |
10 | 0, 1 | 16X8 MC | 2 | Trường | 0 |
11 | 0 | Dual-Prime | 1 | Trường | 1 |
Trong trường hợp Macroblocks trong (trong một ảnh trường) khi che giấu motion_vectors bằng 1 field_motion_type không có trong dòng bit. Trong trường hợp này, motion_vector giải mã và cập nhật các dự đoán của motion_vector sẽ được thực hiện như thể field_motion_type đã chỉ ra "trường- cơ sở" (xem 7.6.3.9).
dct_type - Đây là một cờ chỉ ra cho dù các macroblock là khung DCT mã hoặc trường DOT được mã hóa. Nếu nó được đặt là '1', macroblock là trường DCT đã được mã hóa,
Trong trường hợp dct_type không có trong dòng bit, thì giá trị của dct_type (được sử dụng trong phần còn lại của quá trình giải mã) sẽ được lấy ra như trong Bảng 6-19.
Bảng 6-19 - Giá trị của dct_type nếu dct_type không có trong dòng bit
Điều kiện | dct_type |
picture_structure == "field" | Không sử dụng vì không có sự khác biệt khung/trường trong một ảnh trường. |
frame _pred_frame_dct == 1 | 0 ("khung") |
!(macroblock_intra || macroblock_pattern) | Không sử dụng - Macroblock không được mã hóa |
macroblock bị bỏ qua | Không sử dụng - Macroblock không được mã hóa |
6.3.17.2. Vectơ chuyển động
Motion_vector_count được lấy từ dạng chuyển động trường hoặc kiểu chuyển động của khung như được chỉ ra trong các bảng 6-17 và 6-18.
Mv_format được lấy từ kiểu chuyển động trường hoặc kiểu chuyển động của khung như được chỉ ra trong các bảng 6-17 và 6-18. Mv_format cho biết vector chuyển động là một trường chuyển động trường hoặc một vector chuyển động khung. mv_format được sử dụng trong cú pháp của các vec tơ chuyển động và trong quá trình dự đoán vector chuyển động.
dmv có nguồn gốc từ field_motion_type hoặc frame_motion_type như được chỉ ra trong các bảng 6-17 và 6-18.
motion_vertical_field_select [r][s] - Cờ này chỉ ra trường tham chiếu nào sẽ được sử dụng để tạo thành dự đoán. Nếu motion_vertical_field_select [r][s] bằng không, thì trường tham chiếu đầu sẽ được sử dụng, nếu nó là một thì trường tham chiếu dưới cùng sẽ được sử dụng. (Xem bảng 7-7 về ý nghĩa của các chỉ số r và s)
6.3.17.3. Vectơ chuyển động
motion_code[r][s][t] - Đây là mã chiều dài thay đổi, như được định nghĩa trong Bảng B.10, được sử dụng trong giải mã vector chuyển động như mô tả trong mục 7.6.3.1 (Xem Bảng 7-7 về ý nghĩa của chỉ số r, s và t)
motion_residual[r][s][t] - Đây là một số nguyên được sử dụng trong giải mã vector chuyển động như mô tả trong 7.6.3.1. (Xem Bảng 7-7 cho ý nghĩa của các chỉ số r, s và t) Số lượng bit trong dòng bit cho motion_residual[r][s][t], r_size, được lấy từ f_codec[s][t] như sau:
r_size = f_code[s][t] - 1
Chú thích - Số bit cho cả hai motion_residual[0][s][t], và motion_residual[1][s][t], được biểu thị bằng f_code[s][t].
Dm_vector(t) - Đây là mã chiều dài thay đổi, như được định nghĩa trong Bảng B.11, được sử dụng trong giải mã vector chuyển động như mô tả trong mục 7.6.3.6. (Xem Bảng 7-7 về ý nghĩa của chỉ số t)
6.3.17.4. Mẫu khối mã hóa
coded_block_pattern_420 - Mã chiều dài thay đổi được sử dụng để lấy được biến cbp theo Bảng B.9.
coded_block_pattern_1
coded_block_pattern_2 - Đối với dữ liệu 4:2:2 và 4:4:4, mẫu khối được mở rộng bằng cách thêm mã nhị phân hai bit hoặc sáu bit cố định, coded_block_pattern_1 hoặc coded_block_ pattern_2. Sau đó, pattern_code[i] được sinh ra bằng cách sử dụng các lệnh sau:
Nếu pattern_code [i] bằng 1, i = 0 đến (block_count = =1). sau đó khối số i được xác định trong hình 6-10, 6-11 và 6-12 được chứa trong macroblock này.
Số "block_count" xác định số khối trong macroblock được lấy từ định dạng sắc màu như trong Bảng 6-20.
Bảng 6-20 - block_count như một hàm của chroma_format
chroma_format | Block_count |
4:2:0 | 6 |
4:2:2 | 8 |
4:4:4 | 12 |
6.3.18. Khối
Các ngữ nghĩa của khối() được mô tả trong điều khoản 7.
6.3.19. Phần mở rộng các tham số của máy ảnh
Camera_id - Số trong camera_id xác định máy ảnh.
height_of_image_device - Đây là một số nguyên không dấu 22bit xác định độ cao của thiết bị ảnh. Giá trị của nó được đo với độ phân giải 0.001mm và cỏ phạm vi từ 0 đến 4 194.303 mm.
focal_length - Đây là một số nguyên 22 bit không dấu chỉ rõ độ dài tiêu cự. Giá trị của nó được đo bằng độ phân giải 0.001mm và có phạm vi từ 0 đến 4 194.303 mm.
f_number - Đây là một số nguyên không dấu 22 bit mà cụ thể F-number. F-number được xác định bởi (focal_length)/(khẩu độ ống kính hiệu dụng). Giá trị của nó được đo bằng độ phân giải 0,001 và có khoảng từ 0 đến 4 194.303.
vertieal_angle_of_view - Đây là một số nguyên không dấu 22 bit xác định góc thẳng đứng của trường xem được xác định giữa các cạnh trên và dưới của thiết bị ảnh. Giá trị của nó được đo với độ phân giải 0.0001 độ và có phạm vi từ 0 đến 180 độ.
camera_position_x_upper, camera_position_y_upper. camera_position_z_upper - Những từ này cấu thành 16 bit quan trọng nhất của vị trí máy ảnh x, vị trí máy ảnh y và vị trí máy ảnh z tương ứng.
camera_position_x_lower, camera_position_y_lower, camera_position_z_lower - Những từ này tạo thành 16 bit ít quan trọng nhất của camera_position_x, camera_position_y và camera_position_z tương ứng.
camera_position_x, camera_position_y và camera_position_z - Một bộ các giá trị này cụ thể vị trí của điểm lọt sáng của máy ảnh trong một hệ thống tọa độ thế giới do người sử dụng quy định. Mỗi giá trị này phải được đo với độ phân giải 0,001 mm và có dải + 2 147 483,647 mm đến -2 147 483,648 mm. Camera_position_x là một số nguyên có dấu (số bổ sung hai) 32 bit, 16 bit ít quan trọng nhất được định nghĩa trong camera_position_x_lower, 16 bit quan trọng nhất được định nghĩa trong camera_position_x_upper. Camera_position_y là một số nguyên 32 bit đã ký kết (hai bổ sung), 16 bit ít quan trọng nhất được xác định ở vị trí camera y thấp hơn, 16 bit quan trọng nhất được định nghĩa trong camera_position_y_upper. Camera_position_z là một số nguyên 32 bit có dấu (hai bổ sung), 16 bit ít quan trọng nhất được định nghĩa trong camera_position_z_lower, 16 bit quan trọng nhất được định nghĩa trong camera_position_z_upper.
camera_direction_x, camera_direction_y, camera_direction_z - Một bộ các giá trị này chỉ định hướng của máy ảnh. Hướng của máy ảnh được xác định bằng cách sử dụng vector từ điểm lọt sáng đến một điểm nằm phía trước máy ảnh và nằm trên trục quang của máy ảnh. Mỗi giá trị này là số nguyên 22 bit có dấu (hai bổ sung) và có dải từ +2 097 151 đến -2 097 152.
image_plane_vertical_x, image_plane_vertical_y, image_plane_vertical_z - Một bộ các giá trị này chỉ định hướng trên của máy ảnh. Hướng phía trên của máy ảnh được xác định bằng cách sử dụng vector nằm song song với cạnh bên của thiết bị ảnh và từ cạnh đáy đến cạnh trên cùng. Mỗi các giá trị này là số nguyên 22 bit có dấu (hai bổ sung) và có dải từ +2 097 151 đến -2 097 152.
Hình 6-19 - Giải thích các thuật ngữ này theo ảnh.
6.3.20. Mở rộng ITU-T
Việc sử dụng phần mở rộng này được định nghĩa trong Phụ lục A của ITU-T H.320.
6.3.21. Dữ liệu mô tả nội dung
Data_type_upper, data_type - hai giá trị số nguyên không dấu 8 bit chứa các bit quan trọng nhất và ít có ý nghĩa nhất tương ứng với giá trị của dữ liệu số nguyên không dấu data_type 16 bit định nghĩa kiểu dữ liệu mô tả nội dung. Các ngữ nghĩa của data_type được xác định trong bảng 6-21.
Bảng 6-21 - giá trị data_type
Giá trị | Ý nghĩa |
0000 0000 0000 0000 | Dự phòng |
0000 0000 0000 0001 | Đệm các bytes |
0000 0000 0000 0010 | Ghi mã thời gian |
0000 0000 0000 0011 | Các tham số pan-scan bổ sung |
0000 0000 0000 0100 | Cửa sổ khu vực hoạt động |
0000 0000 0000 0101 | Chiều dài ảnh được mã hóa |
0000 0000 0000 0110 | Dự phòng |
… | Dự phòng |
1111 1111 1111 1111 | Dự phòng |
data_length - Một số nguyên không dấu 8 bit xác định số lượng dữ liệu còn lại để thực hiện trong phần còn lại của cấu trúc dữ liệu mô tả nội dung, thể hiện bằng đơn vị 9 bit. Số bit dữ liệu đi theo trong phần còn lại của cấu trúc dữ liệu mô tả nội dung sẽ bằng data_length * 9.
reserved_content_description_data - Số nguyên không dấu 8 bit được bảo vệ. Bộ giải mã gặp dữ liệu mô tả nội dung dành riêng trong dòng bit sẽ bỏ qua nó (tức là xóa khỏi dòng bit và loại bỏ). Một dòng bit phù hợp với tiêu chuẩn kỹ thuật này sẽ không có thành phần cú pháp như vậy.
Trong một trường hợp mà một bộ giải mã gặp một số nguyên không dấu data_type được mô tả như là "dự phòng" trong Bảng 6-21, bộ giải mã sẽ loại bỏ các cặp tiếp theo của marker_bit và reserved_content_description_data mà theo data_length trong dòng bit. Số cặp tương ứng phải bằng dải dữ liệu. Yêu cầu này cho phép định nghĩa tương lai của phần mở rộng tương thích với tiêu chuẩn kỹ thuật này.
reserved_bit - Số nguyên không dấu 1 bit dự phòng. Nó sẽ bằng '0' trong dòng dòng bit phù hợp với tiêu chuẩn kỹ thuật này. Giá trị ‘1’ được dành cho tương lai tương thích với ITU-T ISO/IEC. Bộ giải mã phù hợp với tiêu chuẩn kỹ thuật này sẽ cho phép một giá trị '0' hoặc ‘1’ cho bit dự phòng.
6.3.21.1. Các byte đệm
padding_byte - Một chuỗi 8 bit, bằng '0000 0000'. Tất cả các giá trị khác đều bị cấm.
Chú thích - Mục đích của byte đệm là lo cho phép bao gồm một số byte dữ liệu được bao gồm trong tính toán VBV.
6.3.21.2. Ghi mã thời gian
Ghi mã thời gian mô tả thời gian bắt nguồn hoặc thời gian tạo ra của các trường hoặc khung nội dung.
Nó chứa các mốc thời gian tuyệt đối cho khung hoặc các khung liên quan. Chỉ có một ghi mã thời gian cho mỗi ảnh sẽ có mặt trong dòng bit. Mã thời gian này sẽ không được ưu tiên hơn bất kỳ mã thời gian nào được chỉ định để trình bày hoặc giải mã ở cấp đa hệ thống, ví dụ như mốc thời gian trình bày hoặc mốc thời gian giải mã được định nghĩa trong ITU-T H.222.0 ISO/IEC 13818-1 [6].
timecode_type - Một số nguyên 2 bit cho biết số mốc thời gian liên quan đến ảnh này như được định nghĩa trong Bảng 6-22. Các giá trị '00', '10’and '11' chỉ được sử dụng khi cấu trúc ảnh bằng 'khung Hình ảnh'. Giá trị '00' chỉ ra rằng hai trường tạo nên khung có cùng thời gian chụp. Khi timecode_type bằng ‘11’, mốc thời gian đầu tiên liên quan đến trường đầu tiên của khung và mốc thời gian thứ hai liên quan đến trường thứ hai của khung.
Bảng 6-22 - timecode_type_values
Giá trị | Ý nghĩa |
00 | Một mốc thời gian cho khung |
01 | Một mốc thời gian cho trường đầu tiên hoặc duy nhất |
10 | Một mốc thời gian cho trường thứ hai |
11 | Hai mốc thời gian, một cho mỗi hai trường |
Counting_type - Một số nguyên 3 bit chỉ ra phương pháp được sử dụng để bù đắp thông số n khung của khung thời gian hoặc các mốc thời gian chụp trường để giảm tích lũy trôi trong các tham số còn lại của mỗi mốc thời gian.
Bảng 6-23 - counting_type_values
Giá trị | Ý nghĩa |
000 | Tham số nframes không được sử dụng |
001 | Không bỏ giá trị đếm nframes |
010 | Giảm các giá trị zero của nframes |
011 | Bỏ các giá trị nframes tối đa cho mỗi nframes_count |
100 | Bỏ hai giá trị thấp nhất (giá trị 0 và 1) khi units_of_seconds và tens_of_seconds bằng 0 và các units_of_ minutes không bằng không |
101 | Bỏ các giá trị đếm nframes không xác định |
110 | Bỏ số lượng không xác định của các giá trị đếm nframes không xác định |
111 | Dự phòng |
nframes_conversion_code - Một số nguyên không dấu 1 bit chỉ ra hệ số chuyển đổi được sử dụng để xác định khoảng thời gian được chỉ ra bởi các tham số nframes của mỗi khung thời gian hoặc trường bắt giữ dấu thời gian. Các yếu tố quy định là 1000 + nframes_conversion_code.
clock_divisor - Một số nguyên không dấu 7 bit chứa số đơn vị của đồng hồ hệ thống 27 MHz được sử dụng để tạo ra mốc thời gian tương ứng cho mỗi khung thời gian hoặc trường chụp mốc thời gian.
nframes_multiplier_upper, nframes_multiplier_lower - Các bit đáng chú thích và ít nhất có dấu hiệu tương ứng của nframes_multiplier.
nframes_multiplier - Hệ số số nguyên không dấu được sử dụng để tạo ra mốc thời gian tương ứng cho mỗi khung thời gian hoặc trường chụp mốc thời gian như được chỉ định bởi nframes_muiltiplier_upper và nframcs_multiplier_lower.
6.3.21.2.1. Mốc thời gian ghi lại khung hoặc trường
nframes- Một số nguyên không dấu 8 bit chứa số lần gia tăng thời gian để thêm vào việc lấy mốc thời gian tương đương. Giá trị của nframes không được lớn hơn giá trị của max_nframes như xuất phát từ công thức sau:
max_nframes = (26 999 999) / (nframes_mitltiplier *
(1000 + nframes_conversion_code) * clock_divisor)
Ở đây “/” cho biết toán tử phân chia được định nghĩa trong 4.1.
time_discontinuity - Một cờ 1 bit cho biết có sự gián đoạn về thời gian hay thời gian giữa mốc thời gian trước và mốc thời gian hiện tại đã xảy ra. Nếu đặt là '0', sự khác biệt về thời gian có thể được tính giữa các mốc thời gian hiện tại và trước đó là thời gian hiển thị lý tưởng của khung hoặc trường trước đó. Nếu đặt là ‘1’, sự khác biệt về thời gian có thể được tính giữa các mốc thời gian hiện tại và trước đó không có ý nghĩa được định nghĩa. Nếu chỉnh sửa xảy ra mà kết quả trong thời gian hoặc gốc thời gian không liên tục hoặc nếu trường trước đó hoặc khung thời gian không có sẵn, bit thời gian gián đoạn sẽ được đặt thành ‘1’.
prior_count_dropped - Một cờ 1 bit cho biết liệu đếm một hoặc nhiều giá trị của tham số nframes đã được bỏ để giảm tích lũy trôi trong các tham số còn lại của dấu thời gian. Sẽ bằng 0 nếu counting_type là '001'. Sẽ bằng 0 nếu counting_type là '010' và nframes không bằng 1. Sẽ bằng 0 nếu counting_type là '011' và nframes không bằng 0. Sẽ bằng 0 nếu counting_type là '100' và nframes không bằng 2 .
time_offset_part_a - Một số nguyên 6 bit có chứa các bit quan trọng nhất của bù thời gian.
time_offset_part_b - Một số nguyên không dấu 8 bit chứa bit thứ hai quan trọng nhất của bù thời gian.
time_offset_part_c - Một số nguyên không dấu 8 bit chứa bit quan trọng thứ ba của bù thời gian (time_offset).
time_offset_part_d - Một số nguyên không dấu 8 bit chứa ít bit quan trọng nhất của bù thời gian.
time_offset - Một số nguyên dương 30 bit có dấu là số chu kỳ đồng hồ (trong chu kỳ đồng hồ ban đầu của hệ thống 27 MHz hoặc với một tần số đồng hồ được sửa đổi bởi đồng hồ) được bù từ thời gian được xác định bởi các tham số khác của khung hoặc trường mốc thời gian để xác định mốc thời gian tương đương cho trường hợp hiện tại hoặc khung đã được chụp. Khi counting_type là 0, giá trị của time_offset sẽ được hạn chế bởi bộ mã hóa ít hơn 27 000 000 về cường độ.
units_of_seconds - Một số nguyên không dấu 4 bit được sử dụng để tính mốc thời gian tương đương. Nó đại diện cho phần của mốc thời gian của trường hoặc khung này được đo bằng giây theo modulo 10. Bảng 6-24 định nghĩa phạm vi giá trị cho phép.
Bảng 6-24 - giá trị của units_of_seconds
Giá trị | Ý nghĩa |
0000-1001 | số giây modulo 10 |
1010-1111 | Cấm |
tens_of seconds - Một số nguyên không dấu 4 bit được sử dụng để tính mốc thời gian tương đương. Nó đại diện cho phần của mốc thời gian của trường hoặc khung này được đo bằng giây chia cho 10. Bảng 6-25 định nghĩa phạm vi giá trị cho phép.
Bảng 6-25 - tens_of_seconds_values
Giá trị | Ý nghĩa |
0000-0101 | Số giây /10 |
0110-1111 | Cấm |
units_of_minutes - Một số nguyên 4bit được sử dụng để tính mốc thời gian tương đương. Nó đại diện cho phần của mốc thời gian của trường hoặc khung này được đo bằng phút modulo 10. Bảng 6-26 xác định phạm vi giá trị cho phép.
Bảng 6-26 - giá trị units_of_minutes
Giá trị | Ý nghĩa |
0000-1001 | Số phút modulo 10 |
1010-1111 | Cấm |
tens_of_minutes - Một số nguyên 4 bit được sử dụng để tính mốc thời gian tương đương. Nó đại diện cho phần mốc thời gian của trường hoặc khung này được tính bằng giây chia cho 10. Bảng 6-27 định nghĩa phạm vi giá trị cho phép.
Bảng 6-27 - giá trị tens_of_minutes
Giá trị | Ý nghĩa |
0000-0101 | Số giây /10 |
0110-1111 | Cấm |
units_of_hours - Một số nguyên 4 bit được sử dụng để tính mốc thời gian tương đương. Nó đại diện cho phần mốc thời gian của trường hoặc khung này được đo bằng giờ modulo 10.
Bảng 6-28 xác định phạm vi giá trị cho phép. Nó sẽ không vượt quá giá trị "3" nếu tens_of_hours bằng "2".
Bảng 6-28 - giá trị của units_of_hours
Giá trị | Ý nghĩa |
0000-1001 | số giờ modulo 10 |
1010-1111 | bị cấm |
tens_of_hours - Một số nguyên 4 bit được sử dụng để tính mốc thời gian tương đương. Trường này đại diện cho phần mốc thời gian của trường hoặc khung này được tính bằng giờ chia cho 10. Bảng 6-29 xác định phạm vi giá trị cho phép.
Bảng 6-29 - giá trị tens_of_hours
Giá trị | Ý nghĩa |
0000-0010 | Số giờ /10 |
0011-1 111 | bị cấm |
Khi counting_type là 0, mốc thời gian tương ứng được biểu diễn trong chu kỳ đồng hồ hệ thống 27 MHz được xác định theo công thức sau:
equivalent_timestamp = (60 * (60 * (units of hours + 10 * tens of hours) + (units_of_minutes + 10 * tens_of_minutes)) + units of seconds + 10 * tens_of_seconds) * 27 000 000 + time_offset
Khi counting_type là 0, các giá trị của các tham số trong mốc thời gian bị hạn chế bởi bộ mã hóa sao cho số tương đương không được nhỏ hơn 0 và không được vượt quá 2 332 799 999 999.
Khi counting_type không phải là 0, mốc thời gian tương ứng được biểu diễn trong chu kỳ đồng hồ hệ thống 27 MHz được xác định theo công thức sau:
equivalent_timestamp = (60 * (60 * (units_of_hours + 10 * tens_of_hours) + (units_of_minutes + 10* tens_of_minutes)) + units_of_seconds + 10 * tens_of_seconds) * 27 000 000 + (nframes * (nframes_multiplier * (1000 + nframes_conversion_code)) + Time_offset) * clock_divisor
Khi counting_type không phải là 0, các giá trị của các tham số trong mã thời gian sẽ bị hạn chế bởi bộ mã hóa sao cho equivalent_timestamp không được nhỏ hơn 0.
Hai ident_timestamp giống hệt nhau được tính từ khung liên tiếp (hoặc các trường) mà không có sự can thiệp. time_discontinuity chỉ ra rằng cả hai khung (hoặc trường) đã được chụp hoặc tạo ra cùng một lúc trong thời gian.
6.3.21.3. Các tham số Quay- quét (pan-scan) bổ sung
Các tham số pan-scan bổ sung cho phép vận chuyển thông tin pan-scan cho nhiều loại hiển thị. Ví dụ: nếu thông tin được mã hóa cho quá trình quét pan-scan trong tiêu đề chuỗi, phần mở rộng hiển thị trình tự và phần mở rộng hiển thị ảnh được sử dụng để xác định các thông số cần thiết để đại diện trên màn hình tỷ lệ 4:3, các tham số pan-scan có thể xác định các thông số cần thiết để hiển thị trên màn hình tỷ lệ 16:9.
aspect_ratio_information - Một giá trị số nguyên 4 bit được định nghĩa trong 6.3.3 (tiêu đề chuỗi). Một giá trị cho thông tin tỷ lệ co bằng với giá trị được xác định trong tiêu đề chuỗi() Sẽ không xảy ra.
display_size_present - Một cờ 1 bit, khi được thiết lập là ‘1’, cho thấy sự hiện diện của display_horizontal_size_upper, display_horizontal_size_lower, display_vertical_size_upper và display_vertical_size_lower. Khi đặt thành '0', các giá trị trước đó của display_horizontal_size và display_vertical_size tương ứng với giá trị của aspect_ratio_infonnation sẽ được sử dụng. Đối với một tỷ lệ khía cạnh cụ thể, trường này phải được đặt là ‘1’ trong tiêu đề ảnh đầu tiên sau bất kỳ sequence_header() nào. Sau một sequence_header(), giá trị của display_horizontal_size và hiển thị kích thước dọc sẽ là giá trị được xác định trong sequence_display_extension().
display_horizontal_size_upper - 6 bit quan trọng nhất của display_horizontal_size.
display_horizontal_size_lower - 8 bit ít quan trọng nhất của display_horizontal_size.
display_horizontal_size - Giá trị số nguyên 14 bit được xác định trong mục 6.3.6 (Mở rộng hiển thị chuỗi). Đối với bất kỳ giá trị cụ thể nào của thông tin tỷ lệ co, giá trị của tham số này sẽ vẫn giữ nguyên cho chuỗi.
display_verlical_size_upper - 6 bit quan trọng nhất của kích thước chiều dọc hiển thị.
display _vertical_size_lower - 8 bit nhỏ nhất có kích thước hiển thị dọc.
display_verlical_size - Giá trị số nguyên 14 bit được định nghĩa trong mục 6.3.6 (Mở rộng hiển thị chuỗi). Đối với bất kỳ giá trị cụ thể nào của aspect_ratio_infonnation, giá trị của tham số này sẽ vẫn giữ nguyên cho chuỗi.
frame_centre_horizontal_ofrsel_upper, frame_centre_horizontal_offset_lower - 8 bit quan trọng nhất và ít có ý nghĩa nhất, tương ứng, của frame_centrer_horizontal_offset.
frame_centrer_horizontal_offset.- Số nguyên có dấu 16 bit được định nghĩa trong mục 6.3.12 (phần mở rộng hiển thị hình ảnh).
frame_centrer_vertical_offset_upper, frame_centrer_vertical_offset_lower - 8 bit quan trọng nhất và ít có ý nghĩa nhất, tương ứng, của frame_centrer_vertical_offset.
frame_centre_vertical_offset - Số nguyên ký số 16 bit được định nghĩa trong mục 6.3.12 (phần mở rộng hiển thị hình ảnh). Sau một sequence_header(), giá trị 0 sẽ được sử dụng cho tất cả các hiệu ứng trung tâm khung cho đến khi một picture_display_extension() xác định các giá trị khác không.
number_of_frame_centre_offsets - Một số nguyên được định nghĩa trong mục 6.3.12. Sau một tiêu đề chuỗi, giá trị 0 sẽ được sử dụng cho tất cả các hiệu ứng trung tâm khung cho đến khi phần mở rộng hiển thị ảnh xác định các giá trị khác không.
6.3.21.4. Cửa sổ vùng hoạt động
Cửa sổ vùng đang hoạt động chứa các số nguyên xác định hình chữ nhật trong khung dựng lại được dự định hiển thị. Cửa sổ này không được lớn hơn hình chữ nhật được xác định bởi horizontal_size và vertical_size được định nghĩa trong mục 6.3.3. Không có nhiều hơn một cửa sổ vùng hoạt động cho mỗi ảnh sẽ có mặt trong dòng bit. Khi khung được mã hóa dưới dạng hai ảnh trường, cửa sổ vùng hoạt động nằm không có trong ảnh trường thứ hai.
top_left_x_upper. lop_leff_x_lower - 8 bit quan trọng nhất và ít quan trọng nhất, tương ứng, của đỉnh trái x.
top_left_x - Một số nguyên 16 bit xác định số mẫu trong một đường biểu diễn thành phần chói trong khung tái tạo, cùng với top_left_y, cụ thể là góc trên cùng bên trái của hình chữ nhật active_region_window.
top_left_y_upper, top_left_y_lower - 8 bit quan trọng nhất và ít có ý nghĩa nhất, tương ứng, của top_left_y.
top_left_v - Một số nguyên 16 bit xác định số dòng cho thành phần chói trong khung được dựng lại mà cùng với top_left_x. chỉ định người trên bên trái của hình chữ nhật active_region_window.
active_region_horizontal_size_upper, active_region_horizonfal_size_lower - 8 bit quan trọng nhất và ít có ý nghĩa nhất, tương ứng, kích thước ngang của vùng hoạt động.
active_region_horizontal_size - Một số nguyên 16 bit, cùng với active_region_vertical_size, xác định một hình chữ nhật nằm trong thành phần chói có thể được coi là khu vực hoạt động. Nếu hình chữ nhật này nhỏ hơn kích thước khung mã hóa, thì quá trình hiển thị chỉ nên hiển thị phần đó của khung được mã hóa. Giá trị này không được lớn hơn kích thước ngang của khung được mã hóa. Giá trị '0' chỉ ra rằng kích thước là không rõ.
active_region_vertical_size_upper, active_region_ vertical_size_lower -8 bit quan trọng nhất và ít có ý nghĩa nhất, tương ứng, của active_region_vertical_size.
active_region_vertical_size - Xem active_region_horizontal_size. Giá trị này không được lớn hơn vertical_size của khung được mã hóa. Giá trị '0' chỉ ra rằng kích thước là không rõ.
Trong trường hợp một khung nhất định không có cửa sổ vùng hoạt động hiện diện trong dòng bit, thì cửa sổ vùng hoạt động đã được giải mã gần nhất sẽ được sử dụng. Sau một tiêu đề trình tự, tham số cửa sổ vùng hoạt động tham số Kích thước ngang vùng hoạt động và kích thước dọc vùng hoạt động sẽ được đặt lại là ‘1’ giá trị kích thước ngang và chiều dọc được xác định trong tiêu đề của trình tự, và phía trên cùng bên trái x và trên cùng bên trái y sẽ là đặt lại là 0.
6.3.21.5. Chiều dài ảnh mã hóa
Độ dài ảnh được mã hóa xác định số byte được bao gồm từ byte đầu tiên ngay sau slice_start_code đầu tiên của ảnh đến byte đầu tiên của mã tiền tố bắt đầu ngay sau macroblock cuối cùng của ảnh. Không được nhiều hơn một chiều dài ảnh được mã hóa cho mỗi ảnh sẽ có mặt trong dòng bit.
picture_byte_count_part_a, picture_byte_count_part_b, picture_byte_count_part_c. picture_byte_count_part_d -8 bit quan trọng nhất, quan trọng thứ hai, quan trọng thứ ba và ít có ý nghĩa nhất của picture_byte_count.
picture_byte_count - Một số nguyên không dấu 32 bit cho biết số byte bắt đầu với byte đầu tiên của slice_start_code đầu tiên của ảnh hiện tại và kết thúc bằng byte trước mã tiền tố bắt đều ngay sau macroblock cuối cùng của ảnh đó. Giá trị '0' được cho phép. Giá trị '0' cho biết độ dài của ảnh không xác định.
7. Quá trình giải mã video
Mục này cụ thể hóa quá trình giải mã mà bộ giải mã phải thực hiện để tái tạo các khung từ dòng bit được mã hóa.
Chức năng IDCT được sử dụng trong quá trình giải mã để tính toán f[y][x] có thể sử dụng bất kỳ phương pháp ước lượng tích phân số IDCT số nguyên số toán học được xác định trong Phụ lục A, với điều kiện xấp xỉ phù hợp với các yêu cầu chính xác được nêu trong Phụ lục A.
Trong mục 7.1 đến mục 7.6, quy trình giải mã đơn giản nhất được chỉ định, trong đó không sử dụng các tính năng khả năng mở rộng. Các mục 7.7 đến mục 7.11 chỉ định quá trình giải mã khi mở rộng được sử dụng. Mục 7.12 xác định đầu ra của quá trình giải mã.
Hình 7-1 là một sơ đồ của quá trình giải mã video mà không có bất kỳ khả năng mở rộng. Sơ đồ được đơn giản hóa cho rõ ràng.
Chú thích - Trong suốt mô tả này, các mảng được biểu diễn dưới tên [q][p] trong đó 'q' là chỉ số trong chiều dọc và 'p' chỉ số theo chiều ngang
Hình 7-1 - Quy trình giải mã video đơn giản
7.1. Các cấu trúc cú pháp cao hơn
Các tham số và cờ khác nhau trong dòng bit cho macroblock() và tất cả các cấu trúc cú pháp trên macroblock() sẽ được diễn giải như được chỉ ra trong phần 6. Nhiều trong số các tham số và cờ ảnh hưởng đến quá trình giải mã được mô tả trong các mục dưới đây. Một khi tất cả các macroblocks trong một ảnh đã được xử lý, toàn bộ ảnh sẽ được tái tạo.
Các dãy khung tái tạo sẽ được kết hợp thành cặp để tạo khung tái tạo. (Xem "picture_structure" trong mục 6.3.10.)
Các dãy khung tái tạo sẽ được sắp xếp lại theo mô tả trong mục 6.1.1.11.
Nếu progressive_sequence == 1 khung tái tạo sẽ được xuất ra từ quá trình giải mã ở các khoảng thời gian đều đặn của khoảng thời gian khung như minh họa trong hình 7-19.
Nếu progressive_sequence == 0, các khung tái tạo sẽ được chia thành một dãy các trường sẽ được xuất ra từ quá trình giải mã theo khoảng thời gian đều đặn của khoảng thời gian trường, như thể hiện trong hình 7-20. Trong trường hợp một khung hình có repeat_first_field == 1 trường đầu tiên của khung sẽ được lặp lại sau trường thứ hai. (Xem "repeat_first_field" trong mục 6.3.10.)
7.2. Giải mã độ dài thay đổi
Mục 7.2.1 xác định quá trình giải mã được sử dụng cho hệ số DC (n = 0) trong một khối mã trong, (n là chỉ số của hệ số trong trình tự quét zigzag thích hợp), mục 7.2.2 chi tiết quá trình giải mã cho tất cả các hệ số khác, các hệ số AC (n> 0) và các hệ số DC trong các khối không mã hóa trong.
Cho cc biểu thị thành phần màu. Nó liên quan đến số khối được chỉ ra trong Bảng 7-1. Như vậy, cc là 0 đối với thành phần Y, một cho thành phần Cb và hai cho thành phần Cr.
Bảng 7-1 - Định nghĩa cc, chỉ số thành phần màu sắc
Số khối | cc | ||
4:2:0 | 4:2:2 | 4:4:4 | |
0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 |
2 | 0 | 0 | 0 |
3 | 0 | 0 | 0 |
4 | 1 | 1 | 1 |
5 | 2 | 2 | 2 |
6 |
| 1 | 1 |
7 |
| 2 | 2 |
8 |
|
| 1 |
9 |
|
| 2 |
10 |
|
| 1 |
11 |
|
| 2 |
7.2.1. Các hệ số DC trong khối bên trong
Các hệ số DC trong khối trong macroblocks bên trong được mã hóa dưới dạng mã chiều dài thay đổi có nghĩa là det_dc_size như được định nghĩa trong các bảng B.12 và B.13. Nếu dct_dc_size không bằng số không, sau đó sẽ được theo sau bởi một mã chiều dài cố định, dct_dc_differential, của bitdcf_dc_size. Một giá trị khác biệt được thu hồi lần đầu tiên từ dữ liệu được mã hóa được thêm vào một dự đoán để thu hồi hệ số giải mã cuối cùng.
Nếu cc là 0 thì bảng B.12 sẽ được sử dụng cho dct_dc_size. Nếu cc không phải là không, thì Bảng B.13 sẽ được sử dụng cho dct_dc_size.
Ba yếu tố dự đoán được duy trì, một cho mỗi thành phần màu, cc. Mỗi lần một hệ số DC trong một khối trong macroblock bên trong được giải mã thì dự đoán sẽ được cộng vào sự khác biệt để phục hồi hệ số thực tế. Sau đó, dự đoán sẽ được thiết lập để giá trị của hệ số chỉ cần giải mã. Vào những thời điểm khác nhau, như mô tả dưới đây, các dự đoán sẽ được đặt lại. Giá trị đặt lại được lấy từ tham số intra_de_precision như được chỉ ra trong Bảng 7-2.
Bảng 7-2 - Quan hệ giữa intra_dc_precision và giá trị đặt lại của dự đoán trước
Intra_dc_precision | Các bt đoán trước | Giá trị đặt lại |
0 | 8 | 128 |
1 | 9 | 256 |
2 | 10 | 512 |
3 | 11 | 1024 |
Các dự đoán sẽ được đặt lại về giá trị đặt lại vào những thời điểm sau:
• Vào đầu của một lát cắt.
• Bất cứ khi nào một macroblock trong không được giải mã.
• Bất cứ khi nào một macroblock bị bỏ qua, tức là, khi macroblock_address_increment> 1.
Các dự đoán được biểu thị là dct_de_pred[cc].
QFS [0] sẽ được tính từ dct_de_size và dct_de_differential bởi bất kỳ quy trình tương đương như:
CHÚ THÍCH 1 - Ký hiệu ^ biểu thị công suất (không phải XOR).
CHÚ THÍCH 2 - dct_diff và half_range là các biến theo thời gian, không được sử dụng ở nơi khác trong Tiêu chuẩn kỹ thuật này.
Đó là một yêu cầu của dòng bit mà QFS [0] sẽ nằm trong phạm vi:
0 đến ((2^(8 + intra_dc_precision))-1)
7.2.2. Các hệ số khác
Tất cả các hệ số trừ các hệ số DC bên trong sẽ được mã hóa bằng sử dụng bảng B.14, B.15 và B.16.
Trong tất cả các trường hợp mã chiều dài biến trước tiên sẽ được giải mã bằng cách sử dụng hoặc là Bảng B.14 hoặc là Bảng B.15. Giá trị giải mã của mã này thể hiện một trong ba cách sau:
1) Kết thúc Khối - Trong trường hợp này không có nhiều hệ số trong khối, trong đó làm giảm phần còn lại của hệ số trong khối (những giá trị chưa được giải mã) sẽ được đặt là 0. Đây là ký hiệu "End of block" trong đặc tả cú pháp của mục 6.2.6.
2) Hệ số "bình thường", trong đó giá trị chạy và mức được giải mã theo sau bởi một bit, s, cho biết dấu hiệu của hệ số ký hiệu được tính từ mức và s như hình dưới đây, các hệ số vận hành phải được đặt thành Zero và hệ số tiếp theo sẽ có giá trị signed_level.
Nếu (s ==0)
signed_level = level;
Mặt khác
signed_level = (-level);
3) Một "Escape" hệ số mã hóa. Trong đó các giá trị của run và signed_level được được gắn với chiều dài được mã hóa như mô tả trong mục 7.2.2.3.
7.2.2.1. Chọn bảng
Bảng 7-3 chỉ ra bảng nào sẽ được sử dụng để giải mã các hệ số DCT.
Bảng 7-3 - Lựa chọn các bảng VLC hệ số DCT
intra_vlc_format | 0 | 1 |
Intra blocks (macroblock_intra = 1) | B.14 | B.15 |
non-intra blocks (macroblock_intra = 0) | B.14 | B.14 |
7.2.2.2. Hệ số thứ nhất của khối không phải là khối bên trong
Trong trường hợp hệ số thứ nhất của một khối phải không phải là khối bên trong (một khối macroblock không phải là khối bên trong) Bảng B.14 được sửa đổi như được chỉ ra trong Chú thích 2 và 3 ở cuối Bảng đó.
Sửa đổi này chỉ ảnh hưởng đến mục nhập đại diện cho run = 0, level = ± 1. Vì không thể mã hóa một kết thúc của khối như là hệ số thứ nhất của một khối (khối sẽ "không mã hóa" trong trường hợp này) không có khả năng vì sự tồn tại không rõ ràng.
Các vị trí trong cú pháp sử dụng Bảng sửa đổi này được biểu thị bằng "Hệ số DCT đầu tiên" trong đặc tả cú pháp của 6.2.6. Phần còn lại của hệ số được biểu thị bằng "Các hệ số DCT tiếp theo".
Chú thích - Trong trường hợp Bảng B.14 được sử dụng cho khối bên trong, hệ số thứ nhất phải được mã hóa như đã nêu trong mục 7.2.1. Do đó, bảng B.14 không được sửa đổi bởi vì hệ số thứ nhất sử dụng bảng B.14 là hệ số thứ hai trong khối.
7 2.2.3. Mã thoát
Nhiều kết hợp có thể của chạy và mức (run and level) không có mã chiều dài thay đổi để đại diện cho chúng. Để mã hóa các kết hợp thống kê hiếm thấy này, một phương pháp mã hóa thoát được sử dụng.
Bảng B.16 định nghĩa phương pháp mã hóa thoát. Thoát khỏi VLC được theo sau bởi mã chiều dài 6 bít cố định cho "chạy"- “run”. Điều này được theo sau bởi mã độ dài cố định 12bit cho các giá trị "signed_level".
Chú thích - Chú thích đến phương pháp mã hóa thoát được sử dụng trong Tiêu chuẩn kỹ thuật này khác với cách sử dụng trong ISO/IEC 11172-2.
7 2.2.4. Tóm tắt
Để tóm tắt mục 7.2.2, quá trình giải mã độ dài thay đổi sẽ tương đương như sau. Khi bắt đầu quá trình này n sẽ lấy giá trị zero cho các khối không phải là khối bên trong và một cho các khối bên trong.
Chú thích - eob_not_read và m là các biến theo thời gian không được sử dụng ở nơi khác trong Tiêu chuẩn kỹ thuật này.
7.3. Quét ngược
Dữ liệu ở đầu ra của bộ giải mã độ dài biến đổi được biểu thị bởi QFS[n], n nằm trong khoảng từ 0 đến 63.
Mục này cụ thể cách thức mà trong đó các dữ liệu một chiều, QFS [n], được chuyển thành một mảng hai chiều của các hệ số được biểu hiện bởi QF[v][uj, u và v cả hai đều nằm trong khoảng từ 0 đến 7.
Hai mẫu quét được xác định. Việc quét sẽ được sử dụng sẽ được xác định bởi alternate_scan được mã hóa trong phần mở rộng ảnh mã hóa.
Hình 7-2 định nghĩa quét [altemate_scan][v][u] cho trường hợp alternate_scan bằng không. Hình 7-3 định nghĩa quét [alternate_scan][v][u] cho trường hợp quét thay thế là một.
Quét nghịch đảo sẽ là bất kỳ quy trình tương đương như sau:
for (v = 0; v < 8; v++)
for (u = 0; u < 8; u++)
QF[v][u] = QFS[scan[alternate_scanl[v][u]]
Chú thích - Các mẫu quét được xác định ở đây thường được gọi là "zigzag_scanning_older".
Hình 7-2 - Định nghĩa quét [0][v][ u]
Hình 7-3 - Định nghĩa quét [1][v][ u]
7.3.1. Quét ngược cho ma trận tải về
Khi các ma trận lượng tử được tải về, chúng được mã hóa trong dòng bit theo thứ tự quét được chuyển đổi thành ma trận hai chiều được sử dụng trong lượng tử nghịch đảo theo cách giống hệt với các hệ số.
Đối với ma trận tải về, quét được xác định bởi hình 7-2 (tức là quét [0] [v] [u]) sẽ luôn luôn được sử dụng.
Cho W[w][v][u] biểu thị ma trận trọng số trong các bộ lượng tử hóa nghịch đảo (xem mục 7.4.2.1), và W'[w][n] biểu thị ma trận như nó được mã hóa trong dòng bit. Tải về ma trận sau đó sẽ tương đương như sau:
for (v = 0; v < 8; v++) for
(u = 0; u < 8: u++)
W[w][v)[u] = W’[w][scan(0][v][u]]
7 4. Lượng tử hóa nghịch đảo - Inverse quantization
Các mảng hai chiều của các hệ số, QF[v][u], được lượng tử hóa nghịch đảo để tạo ra các hệ số DCT tái tạo. Quá trình này về bản chất là sự nhân lên bởi kích thước bước lượng tử. Kích thước bước lượng tử hóa được sửa đổi bởi hai cơ chế; một ma trận trọng số được sử dụng để thay đổi kích thước bước trong một khối và một yếu tố tỷ lệ được sử dụng để kích thước bước có thể được sửa đối với chi phí chỉ một vài bit (so với mã hóa toàn bộ một ma trận trọng số mới).
Hình 7-4 minh họa quá trình lượng tử hóa tổng thể nghịch đảo. Sau khi lượng tử hóa số học đảo ngược thích hợp, các hệ số kết quả, F"[v][u]. được bão hòa để tạo ra F’[v][u] và sau đó một hoạt động kiểm soát phù hợp được thực hiện để cung cấp cho các hệ số DCT tái tạo cuối cùng, F[v][u].
Chú thích - Chú thích đến thực tế là phương pháp đạt được sự kiểm soát không phù hợp trong tiêu chuẩn kỹ thuật này khác với phương pháp được sử dụng bởi ISO/IEC 11172-2
Hình 7-4 - Quá trình lượng tử nghịch đảo
7.4.1. Hệ số trong DC
Các hệ số DC của các khối được mã hóa bằng nội mã sẽ được đảo ngược lượng tử theo một cách khác với tất cả các hệ số khác.
Trong các khối bên trong F"[0][0] thu được bằng cách nhân QF[0][0] bằng một hệ số nhân liên tục, intra_dc_mult (hằng số theo nghĩa là nó không được sửa đổi bởi ma trận trọng số hoặc hệ số quy mô) Số nhân có liên quan đến tham số intra_dc_precision được mã hóa trong phần mở rộng ảnh mã hóa Bảng 7.4 cụ thể mối quan hệ giữa intra_dc_precision và intra_de_mult.
Như vậy; F"[0][0] = intra_dc_mult x QF[0][0]
Bảng 7-4 - Quan hệ giữa intra_dc_precsion và intra_dc_mu
lntra_dc_precision n | Các bit đoán trước | lntra_dc_mult |
0 | 8 | 8 |
1 | 9 | 4 |
2 | 10 | 2 |
3 | 11 | 1 |
7.4.2. Các hệ số khác
Tất cả các hệ số khác với hệ số DC của khối bên trong sẽ được đảo ngược lượng tử theo quy định trong phần phụ dưới này.
7.4.2.1. Ma trận trọng số
Khi dữ liệu 4:2:0 được sử dụng, hai ma trận trọng số được sử dụng. Một sẽ được sử dụng cho khối trong macroblocks và một cho khối macroblocks không phải là khối bên trong. Khi dữ liệu 4:2:2 hoặc 4:4:4 được sử dụng, bốn ma trận được sử dụng cho phép các ma trận khác nhau được sử dụng cho dữ liệu độ chói và độ sắc. Mỗi ma trận có một bộ giá trị mặc định có thể bị ghi đè bởi việc nạp một ma trận do người dùng định nghĩa như được giải thích trong mục 6.2.3.2.
Để các ma trận trọng số được ký hiệu bởi W[w][v][u] trong đó w lấy các giá trị 0 đến 3 cho biết trong số các ma trận đang được sử dụng, bảng 7-5 tóm tắt các quy tắc về việc lựa chọn w.
Bảng 7-5 - Lựa chọn w
| 4 2:0 | 4:2:2 và 4:4:4 | ||
| Độ chói | độ sắc | Độ chói | Độ sắc |
| (cc = 0) | (cc ≠ 0) | (cc = 0) | (cc ≠ 0) |
Intra blocks (macroblock_intra = 1) | 0 | 0 | 0 | 2 |
non-intra blocks (macroblock_intra = 0) | 1 | 1 | 1 | 3 |
7.4.2.2. Hệ số quy mô định lượng
yếu tố quy mô lượng tử được mã hóa dưới dạng mã độ dài cố định 5 bit, quantiser_scale_code. Điều này cho thấy quantiser_scale phù hợp để áp dụng trong phép toán số lượng tử nghịch đảo.
q_scale_type (được mã hóa trong phần mở rộng mã hóa hình ảnh) cho biết trong đó hai ánh xạ giữa quantiser_scale_code và quantiser_scale sẽ được áp dụng. Bảng 7-6 cho thấy hai ánh xạ giữa mã quy mô lượng tử và thang đo lượng tử.
7.4.2.3. Các công thức tái thiết
Phương trình số học cụ thể sau đây để tái tạo lại F"[v][u] từ QF[v][u] (cho tất cả các hệ số ngoại trừ hệ số DC bên trong).
F"[v][u] = ((2 x QF[v][u] + k) x W[w][v][u] x quantiser_scale / 32
Ở đó:
Chú thích: Phương trình trên sử dụng toán tử "/" theo định nghĩa trong mục 4.1.
7.4.3. Độ bão hòa
Các hệ số kết quả từ số học lượng tử nghịch đảo được bão hòa nằm trong khoảng [-2048:+2047], Do đó:
7.4.4. Kiểm soát không phù hợp
Kiểm soát không phù hợp sẽ được thực hiện bằng bất kỳ quy trình nào tương tự như sau. Thứ nhất, tất cả các hệ số bão hòa, tái tạo, F’[v][u] trong khối sẽ được tổng kết. Giá trị này sau đó được kiểm tra để xác định xem nó là lẻ hay thậm chí. Nếu số tiền đó thậm chí còn phải được điều chỉnh chỉ bằng một hệ số; F[7][7]. Như vậy:
CHÚ THÍCH 1 - Cần lưu ý rằng điều chỉnh trên đối với F[7][7] chỉ đơn giản có thể được thực hiện bằng cách đánh số bit ít nhất có ý nghĩa của sự thể hiện bổ sung hai của hệ số Cũng từ đó chỉ có "bất thường" hay " "của OR gây chú thích nhất" (chỉ có bit ít quan trọng nhất) có thể được sử dụng để tính tổng “sum”.
CHÚ THÍCH 2 - Cảnh báo - Các đầu vào khác không nhỏ cho IDCT có thể dẫn đến kết quả đầu ra zero-zero cho một số xấp xỉ IDCT phù hợp với các yêu cầu được nêu trong Phụ lục A. Nếu điều này xảy ra trong bộ mã hóa, sự không phù hợp có thể xảy ra trong bộ giải mã sử dụng khác xấp-xỉ IDCT phù hợp hơn so với xấp xỉ được sử dụng trong mô hình hóa quá trình giải mã trong bộ mã hóa. Một bộ mã hóa nên tránh vấn đề này và có thể làm như vậy bằng cách kiểm tra đầu ra của xấp xỉ IDCT riêng của nó Nó phải đảm bảo rằng nó không bao giờ chèn bất kỳ hệ số khác không vào dòng bit khi khối trong truy vấn khôi phục lại bằng không thông qua các IDCT chức năng xấp xỉ của bộ mã hóa riêng. Nếu hành động này không được thực hiện bởi bộ mã hóa, tình huống có thể nảy sinh khi có sự khác biệt lớn giữa các bảng mã và bộ giải mã.
Bảng 7-6 - Mối quan hệ gữa quantiser_scale_code và quantiser_scale
quantiser_scale_code | quantiser_scale[q_scale_type] | |
q_scale_type = 0 | q_scale_type = 1 | |
0 | (Forbidden) | |
1 | 2 | 1 |
2 | 4 | 2 |
3 | 6 | 3 |
4 | 8 | 4 |
5 | 10 | 5 |
6 | 12 | 6 |
7 | 14 | 7 |
8 | 16 | 8 |
9 | 18 | 10 |
10 | 20 | 12 |
1 1 | 22 | 14 |
12 | 24 | 16 |
13 | 26 | 18 |
14 | 28 | 20 |
15 | 30 | 22 |
16 | 32 | 24 |
17 | 34 | 28 |
18 | 36 | 32 |
19 | 38 | 36 |
20 | 40 | 40 |
21 | 42 | 44 |
22 | 44 | 48 |
23 | 46 | 52 |
24 | 48 | 56 |
25 | 50 | 64 |
26 | 52 | 72 |
27 | 54 | 80 |
28 | 56 | 88 |
29 | 58 | 96 |
30 | 60 | 104 |
31 | 62 | 112 |
7.4.5. Tổng kết
Tóm lại quá trình lượng tử nghịch đảo là bất kỳ quá trình nào về số lượng tương đương với:
7.5. DCT nghịch đảo
Khi các hệ số DCT, F[v][u] được xây dựng lại, một hàm DCT phù hợp với các yêu cầu chính xác được nêu trong Phụ lục A sẽ được áp dụng để lấy các giá trị biến đổi nghịch đảo f[y][x], là số nguyên.
7.5.1. Các khối không mã hóa và bỏ qua các khối macroblock
Trong một macroblock không bị bỏ qua, nếu mã mẫu [i] là một cho một khối nhất định trong macroblock, thì dữ liệu hệ số được bao gồm trong dòng bit của khối đó. Điều này được giải mã bằng cách sử dụng như đã nêu trong các mục trước.
Tuy nhiên, nếu pattern_code[i] là zero, hoặc nếu macroblock được bỏ qua, thì khối đó không chứa dữ liệu hệ số. Các hệ số miền mẫu f[y][x] cho khối đó sẽ lấy giá trị bằng không.
7.6. Bù chuyển động
Quá trình bù chuyển động tạo ra các dự đoán từ những ảnh được giải mã trước đó được kết hợp với dữ liệu hệ số (từ đầu ra của IDCT) để thu hồi các mẫu được giải mã cuối cùng. Hình 7-5 cho thấy một sơ đồ đơn giản của quá trình này.
Hình 7-5 - Quá trình bù chuyển động đơn giản
Nói chung, có tới bốn dự đoán riêng biệt được tạo ra cho mỗi khối được kết hợp với nhau để tạo thành khối dự đoán cuối cùng p[y][xj.
Trong trường hợp của Macroblocks mã hóa trong không có dự đoán được hình thành để p[y][x] sẽ là số không. Độ bão hòa thể hiện trong hình 7-5 vẫn cần thiết để loại bỏ các giá trị và giá trị tiêu cực vượt quá 255 (nếu có) phía trước f[y][x], Macroblocks mã hóa trong có thể mang các vector chuyển động được gọi là "các vectơ chuyển động che giấu". Mặc dù điều này không có dự đoán được hình thành trong quá trình bình thường của các sự kiện. Thông tin vectơ chuyển động này được dự định để sử dụng một cách dễ dàng mà các lỗi dòng bit ngăn cản việc giải mã thông tin hệ số. Cách thức mà bộ giải mã sử dụng thông tin này không được chỉ rõ. Yêu cầu duy nhất cho các vector chuyển động này là nó sẽ có cú pháp chính xác cho các vectơ chuyển động. Mô tả về cách thức mà các vec tơ chuyển động này có thể được sử dụng có thể tìm thấy trong mục 7.6.3.9.
Để thiết lập một yêu cầu về sự tuân thủ dòng bit, một giá trị gia tăng dự đoán sẽ được bắt nguồn cho mỗi macroblock trong ảnh P như sau. Nếu một macroblock trong ảnh hiện tại bị bỏ qua, giá trị gia tăng dự đoán sẽ bằng 0. Nếu không, giá trị gia tăng dự đoán sẽ bằng 1.
Để thiết lập một yêu cầu về sự phù hợp dòng bit, đối với mỗi khóa macroblock trong mỗi ảnh I và ảnh P, một số dự đoán sẽ được tính như sau. Nếu một macroblock là một macroblock mã hóa bên trong, số dự đoán của nó sẽ bằng 0. Nếu không, nếu ảnh hiện tại là một ảnh trường và ảnh tham chiếu được tái tạo gần đây nhất cũng là một ảnh trường hoặc nếu ảnh hiện tại là một ảnh khung và ảnh tham chiếu được xây dựng lại gần đây nhất cũng là một ảnh khung, số đếm dự đoán cho một macroblock trong ảnh hiện tại sẽ bằng với giá trị gia tăng số đếm cộng với giá trị của số đếm dự đoán cho macroblock trong ảnh tham chiếu được tái dựng gần đây nhất mà tương ứng với vị trí của macroblock đã chọn trong ảnh hiện tại. Nếu không, số dự đoán cho một macroblock trong ảnh hiện tại sẽ bằng với giá trị đếm gia tăng dự đoán cộng với giá trị tối đa của hai giá trị dự đoán cho các macroblocks trong vùng của ảnh tham chiếu được tái tạo gần đây nhất tương ứng với vị trí của macroblock đã chọn trong ảnh hiện tại.
Đó là yêu cầu về sự phù hợp của dòng bit đối với mỗi macroblock trong ảnh P, giá trị dự đoán kết quả phải nhỏ hơn 132.
Trong trường hợp một khối không mã hóa, hoặc vì toàn bộ macroblock được bỏ qua hoặc khối cụ thể không được mã hóa thì không có hệ số dữ liệu. Trong trường hợp f[y][x]này là số không và các mẫu được giải mã chỉ là dự đoán, p[y][x].
7.5.1. Các chế độ dự đoán
Có hai phân loại chính của chế độ dự đoán:
- dự đoán trường; và
- Dự đoán khung.
Trong dự đoán trường, dự đoán được thực hiện độc lập cho từng trường bằng cách sử dụng dữ liệu từ một hoặc nhiều trường được giải mã trước đó, dự đoán khung hình thành một dự đoán cho khung từ một hoặc nhiều khung đã giải mã trước đó. Phải hiểu rằng các trường và khung hình phía trước mà dự đoán được thực hiện có thể đã được giải mã, bản thân, như là một trong hai ảnh trường hoặc khung ảnh.
Trong một ảnh trường, tất cả các dự đoán đều là các trường dự đoán. Tuy nhiên, trong một ảnh khung có thể sử dụng dự đoán trường hoặc dự đoán khung (được chọn trên một macroblock bởi macroblock cơ sở).
Ngoài việc phân loại chính của dự đoán trường hoặc khung, hai chế độ dự đoán đặc biệt được sử dụng:
• 16x8 bù chuyển động - Trong đó có hai vectơ chuyển động được sử dụng cho mỗi macroblock. Vùng chuyển động đầu tiên được sử dụng cho vùng trên 16x8, phần thứ hai cho vùng dưới 16x8. Trong trường hợp một macroblock dự đoán hai chiều sẽ có tổng cộng bốn vector chuyển động vì sẽ có hai cho dự đoán trước và hai cho dự đoán sau. Trong chi tiết kỹ thuật này 16x8 bù chuyển động sẽ chỉ được sử dụng với các ảnh trường
• Nguyên tố kép (Dual-prime)- Trong đó chỉ có một vector chuyển động được mã hóa (ở dạng chính thức) trong dòng bit cùng với một vector chuyển động nhỏ. Trong sự dễ dàng của các trường ảnh, hai vector chuyển động sau đó được rút ra từ thông tin này. Chúng được sử dụng để tạo dự đoán từ hai trường tham chiếu (một đầu, một đáy) được tính trung bình để tạo thành dự đoán cuối cùng. Trong sự dễ dàng của ảnh khung hình quá trình này được lặp lại cho hai trường để tổng cộng bốn dự đoán trường được thực hiện. Chế độ này chỉ được sử dụng trong hình P, nơi không có khoảng thời gian B giữa các trường hoặc khung dự đoán và tham khảo.
7.6.2. Trường dự đoán và lựa chọn khung
Việc lựa chọn trường và khung được sử dụng để hình thành dự đoán sẽ được thực hiện như đã nêu cụ thể trong điều này.
7.6.2.1. Dự đoán trường
Trong nhóm ảnh P, hai trường tham chiếu mà từ đó các dự đoán sẽ được thực hiện là trường gần nhất đã được giải mã gần đây nhất và trường cuối cùng được giải mã gần đây nhất được giải mã. Trường hợp đơn giản nhất được minh hoạ trong hình 7-6 sẽ được sử dụng khi dự đoán ảnh đầu tiên của một khung được mã hóa hoặc khi sử dụng dự đoán trường trong một khung hình. Trong những trường hợp này, hai trường tham chiếu là một phần của cùng một khung tái tạo.
CHÚ THÍCH 1 - Các trường tham khảo có thể được tái tạo lại từ hai trường hoặc một khung hình.
CHÚ THÍCH 2 - Trong trường hợp dự đoán một ảnh trường, trường được dự đoán có thể là trường trên cùng hoặc trường dưới cùng
Hình 7-6 - Dự đoán trường đầu tiên hoặc dự đoán trong ảnh khung
trường hợp khi dự đoán ảnh trường thứ hai của một khung được mã hóa phức tạp hơn bởi vì hai trường gần đây nhất
các trường tham chiếu được giải mã sẽ được sử dụng, và trong trường hợp này, trường tham chiểu gần đây nhất thu được từ việc giải mã ảnh trường đầu tiên của khung được mã hóa, hình 7-7 minh họa tình huống khi ảnh thứ hai này là trường dưới cùng.
hình 7-8 minh họa tình huống khi ảnh thứ hai này là trường trên cùng
Chú thích 3 - Trường tham chiếu trước đó chính nó có thể được xây dựng lại để bởi mã hóa một ảnh trường hoặc ảnh khung.
Hình 7-7 - Dự đoán ảnh trường thứ hai khi nó là trường dưới cùng
Hình 7-8 - Dự đoán trường ảnh thứ hai khi nó là trường hàng đầu
Dự đoán trường trong ảnh B sẽ được làm từ hai phần của hai khung giáp ranh tái tạo gần đây nhất. Hình 7-9 minh họa tình huống này.
Chú thích 4 - Các khung tham chiếu có thể đã được tái tạo từ hai ảnh trường mã hóa hoặc một khung mã hóa đơn lẻ
Hình 7-9 - Dự đoán trường của các ảnh trường B hoặc ảnh khung B
7 6.2.2. Dự đoán khung
Trong dự đoán nhóm ảnh P sẽ được thực hiện từ khung tham chiếu được tái tạo lại gần đây nhất. Điều này được minh họa trong hình 7-10.
CHÚ THÍCH 1 - Khung tham chiếu có thể được mã hóa dưới dạng hai ảnh trường hoặc một ảnh khung đơn
Hình 7-10 - Dự đoán khung cho ảnh I và ảnh P
Tương tự, dự đoán khung trong ảnh B sẽ được làm từ hai khung tham chiếu được tái tạo gần đây nhất như được minh họa trong Hình 7-11.
Chú thích 2 - Các khung tham chiếu có thể đã được mã hóa dưới dạng hai ảnh trường hoặc một ảnh khung đơn lẻ
Hình 7-11 - Dự đoán khung cho ảnh B
7.6.3. Các vectơ chuyển động
Các vectơ chuyển động được mã hóa khác với các vec tơ chuyển động được giải mã trước đây để giảm số bit cần thiết để biểu diễn chúng. Để giải mã các vec tơ chuyển động, bộ giải mã phải duy trì bốn bộ dự đoán vector chuyển động (mỗi tập hợp với một thành phần nằm ngang và dọc) biểu thị PMV[r][s][t]. Đối với mỗi dự đoán, một vector chuyển động. vector'[r][s][t] lần đầu tiên xuất phát. Điều này sau đó được cố định tùy thuộc vào cấu trúc lấy mẫu (4:2:0, 4:2:2 hoặc 4:4:4) để cho một vector chuyển động, vector[r][s][t], cho mỗi thành phần sắc màu. Ý nghĩa kết hợp với kích thước trong mảng này được định nghĩa trong Bảng 7-7.
Bảng 7 - Ý nghĩa các chỉ số trong PMV[r][s[t], vector[r][s][t] và vector[r][s][t]
| 0 | 1 |
r | vector chuyển động đầu tiên trong Macroblock | vector chuyển động thứ hai trong Macroblock |
s | vector chuyển động xuôi | vector chuyển động ngược |
t | Thành phần ngang | Thành phần dọc |
Chú thích - r cũng lấy giá trị 2 và 7 cho các vectơ chuyển động có nguồn gốc được sử dụng với dự đoán hai nguyên tố. Vì những vectơ chuyển động này được sinh ra nên chúng không có các vector dự đoán. |
7.6.3.1. Giải mã các vectơ chuyển động
Mỗi thành phần vector chuyển động, vector'[r][s][t], sẽ được tính bằng bất kỳ quá trình nào tương đương với một phần sau. Lưu ý rằng các dự đoán vector vector cũng sẽ được cập nhật bởi quá trình này.
Các thông số trong dòng bit phải sao cho các vector chuyển động vi phân, delta, nằm trong khoảng [thấp: cao]. Ngoài ra, vectơ chuyển động tái tạo, vector'[r][s][t] và giá trị cập nhật của dự đoán vector vectơ PMV[r][s][t] cũng nằm trong khoảng [thấp: cao] ,
kích thước r, f, delta, cao, thấp và dải là các biến tạm thời không được sử dụng trong phần còn lại của Tiêu chuẩn kỹ thuật này.
motion_code [r][s][t] và motion_residual [r][s][t] là các trường thu hồi được từ dòng bit, định dạng mv được khôi phục từ dòng bit bằng các bảng 6-17 và 6-18.
r, s và t chỉ rõ thành phần vector chuyển động cụ thể đang được xử lý như được xác định trong Bảng 7-7.
vector'[r][s][t] là vector chuyển động cuối cùng được tái tạo cho thành phần chói của macroblock.
Giá trị vector [r][s][t] được xem xét trong mục này là giá trị thu được từ mã giả trên. Trong trường hợp của dual -prime, hạn chế này mà vector'[r][s][t] phải ở trong phạm vi [thấp: cao] không áp dụng cho vector chuyển động quy mô vector'[2:3][0][0:1] được định nghĩa trong mục 7.6.3.6. Các hạn chế khác đối với các vec tơ chuyển động, bao gồm các vectơ chuyển động hai điểm quy mô được xác định trong mục 7.6.3.8 và mục 8.3.
7.6.3.2. Các hạn chế của vector chuyển động
Trong ảnh khung, thành phần dọc của các vector trường chuyển động sẽ bị hạn chế để chúng chỉ bao phủ một nửa phạm vi được hỗ trợ bởi f_codce có liên quan đến các vec tơ chuyển động đó, hạn chế này đảm bảo rằng các dự đoán vector sẽ luôn có các giá trị được thích hợp để giải mã khung tiếp theo của vectơ chuyển động. Bảng 7-8 tóm tắt kích thước của vectơ chuyển động có thể được mã hóa dưới dạng một hàm của f_code.
7.6.3.3. Cập nhật dự đoán các vector
Một khi tất cả các vec tơ chuyển động có mặt trong macroblock đã được giải mã bằng cách sử dụng quá trình được định nghĩa trong mệnh đề trước, nó đôi khi cần phải cập nhật các dự đoán vector khác, "litis là bởi vì trong một số chế độ dự đoán ít hơn số lượng các vec tơ chuyển động tối đa có thể đã sử dụng. Phần còn lại của các dự đoán có thể được sử dụng trong ảnh phải giữ lại các giá trị "nhạy cảm" trong trường hợp chúng được sử dụng sau đó.
Bảng 7-8 - Vùng vector chuyển động cho phép như một hàm của f_code [s][t]
f_code[s][t] | Các thành phần dọc (t == 1) của trường vector trong ảnh khung | Tất cả các trường hợp khác |
0 | (Cấm) | |
1 | [-4: +3.5] | [-8: +7.5] |
2 | [-8: +7.5] | [-16:+15.5] |
3 | [-16: +15.5] | [-32: +31.5] |
4 | [-32: +31.5] | [-64: +63.5] |
5 | [-64: +63.5) | [-128:+127.5] |
6 | [-128;+127.5] | [-256: +255.5] |
7 | 1-256: +255.5] | [-512: +511.5] |
8 | [-512:+ 511.5] | [-1024: +1023.5] |
9 | [-1024; +1023.5] | [-2048. +2047.5] |
10-14 | (Dự phòng) | |
15 | (Được sử dụng khi một f_code[s][t] cụ thể sẽ không được sử dụng) |
Các dự đoán vector véc tơ sẽ được cập nhật như được chỉ ra trong bảng 7-9 và 7-10. Các quy tắc để cập nhật dự đoán vector dự đoán trong trường hợp của makroblock bỏ qua được xác định trong mục 7.6.6.
Chú thích - Có thể thực hiện để tối ưu hóa việc cập nhật (và đặt lại) các dự đoán vector dự đoán phụ thuộc vào loại hình ảnh, ví dụ như trong một ảnh P, dự đoán cho các vectơ chuyển động ngược không sử dụng và không cần phải duy trì
Bảng 7-9 - Cập nhật các dự đoán tuyến tính chuyển động trong ảnh khung
frame_motion_type | macroblock_motion- | macroblock_intra | Bộ dự đoán để cập nhật | |
forward | backward | |||
Frame-baseda) | - | - | 1 | PMV[1][0][1:0j =PMV[0][0][1:0]b) |
Frame-based | 1 | 1 | 0 | PMV[1][0][1:0] =PMV[0][0][1:0] PMV[1][1][1:0] =PMV[0][1][1:0] |
Frame-based | 1 | 0 | 0 | PMV[1][0][1:0] =PMV[0][0][1:0] |
Frame-based | 0 | 1 | 0 | PMV[1][1][1:0] =PMV[0][1][1:0] |
Frame-baseda) | 0 | 0 | 0 | PMV[r][s][t] = 0c) |
Field-based | 1 | 1 | 0 | (Không) |
Field-based | 1 | 0 | 0 | (Không) |
Field-based | 0 | 1 | 0 | (Không) |
Dual prime | 1 | 0 | 0 | PMV[1][0][1:0] = PMV[0][0][1:0] |
a) kiểu chuyển động của khung không có trong dòng bit nhưng được giả định là Frame-based b) Che giấu các vectơ chuyển động bằng 0 sau đó PMV[r][s][t] được đặt là 0 (cho tất cả các r, s và t). c) (chỉ xảy ra trong P-piclute) PMV[r][s][t] được đặt là 0 (cho tất cả các r và s). Mục 7.6.3 4 Chú thích - PMV[r][s][t][1: 0] PMV[u][v][1:0] có nghĩa là: PMV[r][s][1] = PMV[u][v][1] và PMV[r][s][0] = PMV[u][v][0] |
Bảng 7-10- Cập nhật các dự đoán vector dự đoán trong các ảnh trường
frame_motion_type | macroblock_motion_- | macroblock_intra | Bộ dự đoán để cập nhật | |
forward | backward | |||
Field-baseda) | - | - | 1 | PMV[1][0][1:0] = PMV[0][0][10]b) |
Field-based | 1 | 1 | 0 | PMV[1][0][1:0] = PMV[0][0][1:0] PMV[1][1][1:0] = PMV[0][1][1:0] |
Field-based | 1 | 0 | 0 | PMV[1][0][1:0] = PMV[0][0][1:0] |
Field-based | 0 | 1 | 0 | PMV[1][1][1:0] = PMV[0][1][1:0] |
Field-baseda) | 0 | 0 | 0 | PMV[r][s][t] = 0c) |
16 x SMC | 1 | 1 | 0 | (Không) |
16 x SMC | 1 | 0 | 0 | (Không) |
16 x SMC | 0 | 1 | 0 | (Không) |
Dual prime | 1 | 0 | 0 | PMV[1][0][1:0] = PMV[0][0][1:0] |
a) frame_motion_type không có trong dòng bits nhưng giả định là Field-based b) Nếu concealment_motion_vectors là 0 thì PMV[r][s][t] được đặt là 0 (cho tất cả các r và s). c) (Chỉ xảy ra trong ảnh P) PMV[r][s][t] được đặt là 0 (cho tất cả các r, s và t). Xem mục 7.6.3.4. |
7.6.3.4. Đặt lại các dự đoán vector
Tất cả các dự đoán véc tơ chuyển động sẽ được đặt lại là 0 trong những điều sau đây:
• Vào đầu mỗi miếng;
• Bất cứ khi nào một khối macroblock được giải mã mà không có giấu vectơ chuyển động;
• Trong ảnh P khi một macroblock không phải bên trong được giải mã trong đó macroblock_motion_forward là số không;
• Trong một ảnh P khi một macroblock được bỏ qua.
7.6.3.5 Dự đoán trong ảnh P
Trong nhóm ảnh P, trong trường hợp macroblock_motion_forward là số không và macroblock_intra cũng zero Không có các vector vectơ được mã hóa cho macroblock nhưng một dự đoán phải được hình thành. Nếu điều này xảy ra trong một ảnh trường P, áp dụng sau đây;
• Kiểu dự đoán sẽ là "Field-based";
• vector chuyển động (trường) là 0 (0; 0);
• các dự đoán vector dự đoán sẽ được đặt lại về không;
• dự đoán sẽ được thực hiện từ trường cùng độ chẵn giống như trường bị thay đổi.
Nếu điều này xảy ra trong một ảnh khung P sau đây áp dụng:
• kiểu dự đoán sẽ là "khung cơ sở";
• vector chuyển động (frame) là 0 (0; 0):
• các dự đoán vector dự đoán sẽ được đặt lại về không.
Trong trường hợp một ảnh trường P được sử dụng như là trường thứ hai của một khung trong đó trường đầu tiên là một ảnh trường I, một loạt các hạn chế ngữ nghĩa áp dụng. Điều này đảm bảo rằng dự đoán chỉ được thực hiện từ ảnh trường I. Những hạn chế này là:
• Không có macroblocks được mã hóa với macroblock_motion_forward không (zero) và macroblock_intra không (zero).
• Dự đoán nguyên tố kép sẽ không được sử dụng.
• Dự đoán trường trong đó motion_vertical_field_select cho biết mức độ chẵn lẻ tương tự như trường được dự đoán sẽ không được sử dụng.
• Sẽ không bỏ qua các macroblock.
7.6.3.6 Bổ sung số nguyên tố kép số học
Trong dự đoán kép, một trường chuyển động vector (vector'[0][0][1:0]) sẽ được giải mã theo quá trình đã mô tả. Điều này đại diện cho vector chuyển động được sử dụng để tạo dự đoán từ trường tham chiếu (hoặc trường tham chiếu trong một khung hình) có cùng độ chẵn lẻ với dự đoán được hình thành. Ở đây chữ "chẵn lẻ" được sử dụng để phân biệt hai trường. Trường trên cùng có chẵn lẻ, phần dưới cùng có chẵn lẻ.
Để tạo thành một vector chuyển động cho sự chẵn lẻ đối nhau (vector'[r][0][1:0]), vectơ chuyển động hiện tại được thu nhỏ để phản ánh khoảng cách thời gian khác nhau giữa các trường. Một sự hiệu chỉnh được thực hiện để thành phần dọc (để phản ánh sự dịch chuyển theo chiều dọc giữa các dòng của trường trên và trường dưới) và sau đó một vector chuyển động nhỏ khác được thêm vào. Quá trình này được minh họa trong Hình 7-12 thể hiện tình huống cho một ảnh khung.
Dmvector[0] là thành phần nằm ngang của vector chuyển động vi phân và dmvector[1] thành phần thẳng đứng. Hai thành phần của vector chuyển động phân giải phải được giải mã trực tiếp bằng Bảng B.11 và sẽ chỉ lấy một trong các giá trị -1, 0, 1.
m[parity_ref][parity_pred] là khoảng cách trường giữa trường dự đoán và trường tham chiếu được định nghĩa trong Bảng 7-11. "panty_ref" là tính chẵn lẻ của trường tham chiếu mà vector chuyển động mới đang được tính, "parity_pred'' là tính chẵn lẻ của trường được dự đoán.
Hình 7-12 - Xác định tỷ lệ của vector chuyển động cho dự đoán kép ban đầu
Bảng 7-11 - Định nghĩa m [parity_ref] [parity_pred]
picture_structure | top_field_first | m[parity_ref][parity_pred] | |
m[1][0] | m[0][1] | ||
11 (Khung) | 1 | 1 | 3 |
11 (Khung) | 0 | 3 | 1 |
01 (Trường trên cùng) | — | 1 | — |
10 (Trường dưới cùng) | — | — | 1 |
c[parity_ref] [parity_pred] là sự điều chỉnh cần thiết để phản ánh sự dịch chuyển theo chiều dọc giữa các dòng của trường trên cùng và trường dưới cùng như được định nghĩa trong Bảng 7-12
Bảng 7-12 - Định nghĩa c[parity_ref] [parity_pred]
parity_ref | parity_pred | cfparity_ref] [parity_pred] |
0 | 1 | +1 |
1 | 0 | -1 |
Vectơ chuyển động (hoặc các vec tơ chuyển động) được sử dụng để dự đoán độ chẵn lẻ đối diện sẽ được tính như sau:
vector'[r][0][0] = ((vector'[0][0][0] * m[parity_ref][parity_pred])//2) + dmvector[0];
vector'[r][0][1] = ((vector'[0][0][1] * m[parity_ref][parity_pred])//2)
+ e[parity_ref][parity_pred] + dmvector[1];
Trong trường hợp các ảnh trường chỉ cần một vector chuyển động như vậy và ở đây r = 2. Vì vậy, vector mã hóa chuyển động được sử dụng cho cùng một dự đoán chẵn lẻ là vector'[0][1:0] và chuyển động vector được sử dụng cho dự đoán chẵn lẻ đối diện là vector'[2][0][1:0].
Trong trường hợp của khung hình hai vectơ chuyển động như vậy là bắt buộc. Cả hai trường sử dụng vector chuyển động mã hóa (vector'[0][0][1:0]) để dự đoán cùng một chẵn lẻ. Trường đầu phải sử dụng vector'[2][0][1:0] để dự đoán chẵn lẻ đối diện và trường dưới cùng sẽ sử dụng vector'[3][0][1:0] để dự đoán chẵn lẻ đối diện.
7.6.3.7. Vectơ chuyển động cho các thành phần sắc màu
Các vec tơ chuyển động được tính trong các khoản trước đó đề cập đến thành phần chói khi:
Vector[r][s][t] = vector’[r][s][t] (cho tất cả r, s và t)
Đối với mỗi thành phần của hai chất màu, các vec tơ chuyển động sẽ được thu nhỏ lại như sau: 4:2:0 - Cả hai thành phần ngang và dọc của vector chuyển động được chia tỷ lệ bằng cách chia cho hai:
Vector[r][s][0] = vector’[r][s][0]/2
Vector[r][s][1] = vector’[r][s][1]/2
4:2:2 - Thành phần nằm ngang của vector chuyển động được chia tỷ lệ bằng cách chia cho hai, thành phần dọc không bị thay đổi:
Vector[r][s][0] = vector’[r][s][0]/2
Vector[r][s][1] = vector’[r][s][1]/2
4:4:4 - Các vector chuyển động không đổi:
Vector[r][s][0] = vector’[r][s][0]
Vector[r][s][1] = vector’[r][s][1]
7.6.3.8. Các hạn chế về ngữ nghĩa liên quan đến dự đoán
Đó là một yêu cầu về dòng bit rằng nó sẽ chỉ yêu cầu của một bộ giải mã rằng dự đoán sẽ được thực hiện từ lát cắt thực sự mã hóa trong một khung tham chiếu hoặc trường tham khảo. Quy tắc này áp dụng ngay cả đối với các macroblocks và macroblocks đã bị bỏ qua trong ảnh P, trong đó giả sử rằng một vector chuyển động bằng không (như được giải thích trong mục 7.6.3.5).
Chú thích - Như đã giải thích trong mục 6.1.2 nó được, nói chung, không cần thiết cho các lát cắt để chứa toàn bộ hình ảnh. Tuy nhiên, ở nhiều mức quy định của các cấu hình được xác định, "cấu trúc lát cắt hạn chế" được sử dụng trong trường hợp các lát cắt bao phủ toàn bộ ảnh Trong trường hợp này, nguyên tắc ngữ nghĩa có thể được nói đơn giản hơn: "các vectơ sẽ không tham khảo các mẫu bên ngoài ranh giới của hình mã hóa."
7.6.3.9. Giấu các vectơ chuyển động
Giấu vectơ chuyển động là các vec tơ chuyển động có thể được thực hiện bởi các macroblocks bên trong với mục đích giấu các lỗi nếu lỗi dữ liệu ngăn cản việc giải mã dữ liệu hệ số. Giấu vector chuyển động sẽ có mặt cho tất cả các macroblocks bên trong nếu (và chỉ khi nào) concealment_motion_vectors (trong picture_coding_extension()) có giá trị một.
Trong quá trình bình thường của các sự kiện không có dự đoán sẽ được hình thành cho các macroblocks như vậy (như mong đợi từ macroblock_intra =1). Tài liệu Tiêu chuẩn kỹ thuật này ktiông chỉ định cách phục hồi lỗi được thực hiện như thế nào. Tuy nhiên, nó là một khuyến cáo rằng giấu vectơ chuyển động thích hợp để sử dụng bởi bộ giải mã thực hiện việc giấu bằng cách định dạng các dự đoán như thể field_motion_type và frame_motion_type (có thể lấy mẫu dự đoán) có các giá trị sau:
• Trong một ảnh trường: field_motion_type = "Field-based";
• Trong một ảnh khung: frame_motion_type = "Frame-based".
Chú thích - Nếu giấu được sử dụng trong ảnh I, thì bộ giải mã cần thực hiện dự đoán tương tự như ảnh P.
Giấu vectơ chuyển động được sử dụng trong trường hợp lỗi dữ liệu dẫn đến mất thông tin. Do đó, có rất ít điểm trong việc mã hóa giấu vector chuyển động trong macroblock mà nó được dự định sử dụng vì nếu lỗi dữ liệu dẫn đến nhu cầu phục hồi lỗi thì nó rất có thể là bản thân giấu vector chuyển động sẽ bị mất hoặc bị hỏng. Kết quả là các quy tắc ngữ nghĩa sau phù hợp:
• Đối với tất cả các macroblocks trừ những gì ở hàng dưới cùng của macroblocks vector che giấu chuyển động nên phù hợp để sử dụng trong macroblock nằm dọc dưới macroblock trong đó vector chuyển động xảy ra.
• Khi vector chuyển động được sử dụng đối với macroblock được xác định trong quy tắc trước, bộ giải mã phải giả định rằng vector chuyển động có thể tham khảo các mẫu bên ngoài các lát được mã hóa trong khung tham chiếu hoặc trường tham chiếu.
• Đối với tất cả các macroblocks trong hàng dưới cùng của macroblocks các vector chuyển động che giấu lại sẽ không được sử dụng. Do đó vector chuyển động (0;0) có thể được sử dụng để giảm chi phí không cần thiết.
7.6.4. Hình thành dự đoán
Dự đoán được hình thành bằng cách đọc các mẫu dự đoán từ các trường tham chiếu hoặc khung. Một mẫu được dự đoán bằng cách đọc mẫu tương ứng trong trường tham chiếu hoặc bù khung bởi vector chuyển động.
Một giá trị dương của thành phần nằm ngang của một vector chuyển động chỉ ra rằng dự đoán được thực hiện từ các mẫu (trong trường tham chiếu/khung) nằm ở bên phải của các mẫu được dự đoán.
Một giá trị dương của thành phần dọc của một vector chuyển động chỉ ra rằng dự đoán được thực hiện từ các mẫu (trong trường tham chiếu/khung) nằm dưới các mẫu được dự đoán.
Tất cả các vector chuyển động được chỉ định với độ chính xác của một nửa mẫu. Do đó, nếu một thành phần của vector chuyển động là lẻ, các mẫu sẽ được đọc từ giữa đường giữa các mẫu thực tế trong trường tham chiếu/khung. Các mẫu nửa được tính bằng phép nội suy tuyến tírh đơn giản từ các mẫu thực tế.
Trong trường hợp dự đoán dựa trên trường, cần xác định hai trường có sẵn để sử dụng để hình thành dự đoán. Trong trường hợp của hai nguyên tố này được xác định trong đó một vector chuyển động có nguồn gốc cho cả hai trường và dự đoán được hình thành từ mỗi. Trong trường hợp tính toán dựa trên trường và 16x8 MC thêm một chút, motion_vertieal_field_select, được mã hóa để cho biết trường nào cần sử dụng.
Nếu motion_vertical_field_select bằng không, thì dự đoán được lấy từ trường tham chiếu trên cùng.
Nếu motion_vertical_field_select là một, thì dự đoán được lấy từ trường tham chiếu dưới cùng.
Đối với mỗi dự đoán chặn các vectơ chuyển động mẫu số nguyên int_vect(t) và nửa cờ mẫu half_flag[t] sẽ được hình thành như sau;
Sau đó, đối với mỗi mẫu trong khối dự báo, các mẫu được đọc và dự đoán nửa mẫu được áp dụng như sau:
Ở đây: pel_pred[y][x] là mẫu dự đoán đang được hình thành và pel_ref[y][x] là mẫu trong trường tham chiếu hoặc khung.
7.6.5. Lựa chọn vectơ chuyển động
Bảng 7-13 chỉ ra các chế độ dự đoán được sử dụng trong các ảnh trường và Bảng 7-14 cho thấy các dự đoán được sử dụng trong ảnh khung. Trong mỗi bảng các vectơ chuyển động có trong dòng bit được liệt kê theo thứ tự mà chúng xuất hiện trong dòng bit.
Bảng 7-13 - Các dự đoán và các vectơ chuyển động trong các ảnh trường
field_motion_type | inacroblock_motion_- | Macro- block.- _intra | vector chuyển động | Dự đoán được hình thành cho | |
forward | backward | ||||
Field-baseda) |
|
| 1 | vector'[0][0][1:0]b) | Không có (vector chuyển động là để giấu) |
Field-based | 1 | 1 | 0 | vector'[0][0][1:0] vector'[0][1][1:0] | Toàn bộ trường, chuyển tiếp toàn bộ trường, lùi |
Field-based | 1 | 0 | 0 | vector'[0][01[I:0] | Toàn bộ trường, tiến |
Field-based | 0 | 1 | 0 | vector'[0][I][I:0] | Toàn bộ trường, lùi |
Field-baseda) | 0 | 0 | 0 | vector'[0][0][I:0]c)d) | Toàn bộ trường, tiến |
16x8 MC | 1 | 1 | 0 | vector'[0][01[1:0] vector'[1][0][1:0] vcctor'[0][1]l1:0] vector'[I][I][I:0] | Trường trên cùng 16x8, chuyển tiếp Xuống trường 16x8, Trường trên cùng 16x8, Trường dưới cùng 16x8, lùi |
16x8 MC | 1 | 0 | 0 | vector'[0][0][1:0] vector'! 1 ][0][1:0] | Trường trên cùng 16x8, Trường dưới cùng 16x8, tiến |
16x8 MC | 0 | 1 | 0 | vector'[0][1][1:0] vector'[1][1][1 :0] | Trường trên cùng 16x8, Trường phía dưới 16x8, lùi |
Dua' prime | 1 | 0 | 0 | vector'(0][0][1:0] vector’[2][0][1:0]c)e) | Toàn bộ trường, từ cùng chẵn lẻ, chuyển tiếp Toàn bộ trường, từ ngang bằng nhau, chuyển tiếp |
a) field_motion_type không có trong dòng bit nhưng giả định là Field-based. b) Các vector chuyển động chỉ có mặt nếu concealment_motion_vectors là một. c) Các vector chuyển động này không có trong dòng bit. d) Vectơ chuyển động được lấy là (0; 0) như được giải thích trong mục 7.6.3.5. e) Các vec tơ chuyển động này có nguồn gốc từ vector '[0] [0] [1: 0] như mô tả trong mục 1.6.3.6. Chú thích - Các vectơ chuyển động được liệt kê theo thứ tự chúng xuất hiện trong dòng bit. |
Bảng 7-14 - Các dự đoán và các vectơ chuyển động trong khung hình ảnh
frame_-motion_-type | macroblock_motion- | macro- block_ intra |
|
| |
|
| ||||
forward | backward | vector chuyển động | Dự đoán được hình thành cho | ||
Frame-baseda) | - | - | 1 | vector’[0][0][ 1:0]b) | Không có (vector chuyển động là để che giấu) |
Frame-based | 1 | 1 | 0 | vector’[0][0][ 1:0] | Khung, tiến |
|
|
|
| vector’[0][1][ 1:0] | Khung, lùi |
Frame- based | 1 | 0 | 0 | vector’[0][0][ 1:0] | Khung, tiến |
Frame- based | 0 | 1 | 0 | vector’ [0][I][I: 0] | Khung, lùi |
Frame- baseda) | 0 | 0 | 0 | vector'[0][0][I:0Nc)d)) | Khung, tiến |
Field-based | 1 | 1 | 0 | vector'[0][0][ 1:0] | Trường trên cùng, tiến |
|
|
|
| vector’|1 ][0J][ 1:0] | Trường dưới cùng, tiến |
|
|
|
| vector'[0][I][I:0] | Trường trên cùng, lùi |
|
|
|
| vector’[ 1 ][ 1 ][ 1:0] | Trường dưới cùng, lùi |
Field-based | 1 | 0 | 0 | vector'[0][0][I:0] | Trường trên cùng, tiến |
|
|
|
| vector’|| ][0][ 1:0] | Trường dưới cùng, tiến |
Field-based | 0 | 1 | 0 | vector'[0][ 1 ][ 1:0] | Trường trên cùng, lùi |
|
|
|
| vector^1][1][1:0] | Trường dưới cùng, lùi |
Dual prime | 1 | 0 | 0 | vector’[0] [0][fI:0] | Trường trên cùng, từ chẵn, tiến |
|
|
|
| vector'[0][0][ 1:0] | Trường dưới cùng, từ chẵn, tiến |
|
|
|
| vector’[2][0J[1:0]c)e)) | Trường trên cùng, từ lẻ, tiến |
|
|
|
| vector[3][0][I:0]c)e)) | Trường dưới cùng, từ sự chẵn lẻ đối diện, về phía trước |
a) frame_motion_type không có trong dòng bit nhưng được cho là dựa trên khung b) Các vector chuyển động chỉ có mặt nếu concealment_motion_vectors là một. c) Các vec tơ chuyển động này không có trong dòng bit. d) Vectơ chuyển động được lấy là (0; 0) như được giải thích trong mục 7.6.3.5 e) Các vectơ chuyển động này bắt nguồn từ vector '[0] [0] [1:0] như mô tả trong mục 7.6.3.6. Chú thích - Các vectơ chuyển động được liệt kê theo thứ tự chúng xuất hiện trong dòng bit. |
7.6.6. Bỏ qua macroblocks
Macroblock bị bỏ qua là một macroblock mà không có dữ liệu nào được mã hóa, đó là một phần của một miếng mã hóa. Trừ khi bắt đầu một lát cắt, nếu số (macroblock_address - previous_macroblock_address == 1) lớn hơn không, thì con số này cho biết số macroblocks đã bị bỏ qua. Bộ giải mã sẽ tạo thành một dự đoán cho các macroblock được bỏ qua, sau đó sẽ được sử dụng như các giá trị lấy mẫu cuối cùng được giải mã.
Việc xử lý bỏ qua macroblocks là khác nhau giữa ảnh P và ảnh B. Ngoài ra, quá trình khác nhau giữa các ảnh trường và ảnh khung.
Không được bỏ qua các macroblocks trong ảnh I trừ khi:
- picture_spatial_scalable_extension() theo sau picture_header() của ảnh hiện tại: hoặc
- sequence_scalable_extension() hiện diện trong dòng bit và scalable_mode = "SNR scalability".
7.6.6.1. Ảnh trường P
• dự đoán sẽ được thực hiện như thể trường chuyển động trường là "Field-based";
• dự đoán sẽ được thực hiện từ trường cùng độ chẵn như trường được dự đoán:
• dự đoán các vector dự đoán sẽ được đặt lại về không;
• véc tơ chuyển động bằng 0.
• véc tơ chuyển động bằng 0.
7.6.6.3. Ảnh trường B
• Dự đoán sẽ được thực hiện như thể field_motion_type là "Field-based";
• Dự đoán sẽ được thực hiện từ các trường của cùng một chẵn lẻ như trường được dự đoán;
• Hướng của dự đoán trước/sau/hai chiều sẽ giống như macroblock trước đó;
• Dự đoán các vector dự đoán không bị ảnh hưởng;
• Các vec tơ chuyển động được lấy từ các dự đoán vector thích hợp. Việc tỷ lệ vectơ chuyển động cho các thành phần màu phải được thực hiện như mô tả trong 7.6.3.7.
7.6.6.4. Ảnh khung B
• Dự đoán sẽ được thực hiện như thể frame_motion_type là "Frame-based";
• Hướng của dự đoán trước/sau/hai chiều sẽ giống như macroblock trước đó;
• Dự đoán vector dự đoán không bị ảnh hưởng:
• Các vec tơ chuyển động được lấy trực tiếp từ các phép dự đoán vector chuyển động thích hợp. Việc tỷ lệ vectơ chuyển động cho các thành phần màu phải được thực hiện như mô tả trong 7.6.3.7.
7.6.7. Kết hợp các dự đoán
Giai đoạn cuối cùng là kết hợp các dự đoán cùng nhau để hình thành các khối dự đoán cuối cùng.
Cũng cần tổ chức dữ liệu thành các khối được tổ chức hoặc khung tổ chức để có thể được thêm trực tiếp vào hệ số giải mã.
Dữ liệu chuyển đổi là trường được tổ chức hoặc khung được tổ chức theo quy định của dct_type.
7.6.7.1. Dự đoán khung đơn giản
Trong trường hợp dự đoán khung đơn giản, việc xử lý tiếp theo chỉ có thể được yêu cầu là dự đoán trung bình về phía trước và sau trong ảnh B. Nếu pel_pred_forward[y][x] là mẫu dự đoán chuyển tiếp và pel_pred_backward[y][x] là dự đoán ngược tương ứng, sau đó mẫu dự đoán cuối cùng sẽ được hình thành như sau:
pel_pred [y] fx] = (pcl_pred_forward [y] [x) + pel_pred_backward [y] [x]) // 2
Các dự đoán về các thành phần màu của các định dạng 4:2:0, 4:2:2 và 4:4:4 sẽ có kích thước 8 mẫu bằng 8 dòng, 8 mẫu bằng 16 dòng và 16 mẫu theo 16 dòng tương ứng.
7.6.7.2. Dự đoán trường đơn giản
Trong trường hợp dự đoán trường đơn giản (tức là không có 16 x 8 hoặc hai nhân tố chính) thì chỉ cần 'xử lý tiếp theo' là dự đoán trung bình về phía trước và ngược lại trong ảnh B. Việc này sẽ được thực hiện như được chỉ rõ cho "Dự đoán khung" trong phần trước.
Trong trường hợp dự đoán trường đơn giản trong ảnh khung, các dự đoán về các thành phần màu của các định dạng 4:2:0, 4:2:2 và 4:4:4 cho mỗi trường phải có kích thước 8 mẫu bằng 4 dòng, 8 mẫu bằng 8 dòng và 16 mẫu theo 8 dòng tương ứng.
Trong trường hợp dự đoán trường đơn giản trong một ảnh trường, dự đoán các thành phần độ sắc mầu của các định dạng 4:2:0, 4:2:2 và 4:4:4 cho mỗi trường phải có kích thước 8 mẫu bằng 8 dòng, 8 mẫu bằng 16 dòng và 16 mẫu theo 16 dòng tương ứng.
7.6.7.3. Bù chuyển động 16x8
Trong chế độ dự đoán này, dự đoán riêng biệt được tạo ra cho vùng trên 16x8 của macroblock và vùng 16x8 dưới của macroblock.
Các dự đoán về các thành phần sắc mầu, cho mỗi vùng 16x8, các định dạng 4:2 0, 4:2:2 và 4:4:4 phải có kích thước 8 mẫu bằng 4 dòng, 8 mẫu bằng 8 dòng và 16 mẫu xuống 8 dòng tương ứng.
7.6.7.4. Nguyên tố kép - Dual prime
Trong chế độ nguyên tố kép, hai dự đoán được hình thành cho mỗi trường tương tự như dự dự đoán và sau trong ảnh B. Nếu pel_pred_same_parity[y][x] là mẫu dự đoán từ cùng một trường chẵn lẻ và pel_pred_opposite_parity[y][x] là mẫu tương ứng từ trường chẵn lẻ đổi diện thì mẫu dự đoán cuối cùng sẽ được hình thành như sau:
pel_pred[y)[x] = (pel_pred_same_parity[y][x] + pel_pred_opposite_parity[y] [x]) // 2;
Trong dự đoán hai nguyên tố trong ảnh khung, dự đoán các thành phần màu của từng trường 4:2:0, 4:2:2 và 4:4:4 sẽ có kích thước 8 mẫu bằng 4 dòng. 8 mẫu bằng 8 dòng và 16 mẫu theo 8 dòng tương ứng.
Trong trường hợp dự đoán nhân đôi trong một ảnh trường, dự đoán các thành phần chất màu thuộc các định dạng 4:2:0, 4:2:2 và 4:4:4 sẽ có kích thước 8 mẫu bằng 8 dòng, 8 mẫu của 16 dòng và 16 mẫu của 16 dòng tương ứng.
7.6.8. Thêm dữ liệu dự đoán và hệ số
Các khối dự đoán đã được hình thành và tổ chức thành các khối các mẫu dự đoán p[y][x] phù hợp với cấu trúc khung mã vạch kết nối được sử dụng bởi các khối dữ liệu biến đổi.
Dữ liệu chuyển đổi f[y][x] sẽ được thêm vào dữ liệu dự đoán và bão hòa để tạo thành các mẫu được giải mã cuối cùng d [y] [x] như sau:
7.7. Khả năng mở rộng không gian
Phần dưới đây xác định quá trình giải mã bổ sung được yêu cầu cho các phần mở rộng không gian có thể mở rộng.
Cả lớp thấp hơn và lớp tăng cường sẽ sử dụng "cấu trúc lát cắt bị hạn chế" (không có khoảng trống giữa các lát cắt).
Hình 7-13 là một sơ đồ của quá trình giải mã video với khả năng mở rộng không gian. Sơ đồ được đơn giản hóa cho rõ ràng.
7.7.1. Cấu trúc cú pháp cao hơn
Nói chung, lớp cơ sở của một phân cấp không gian có thể mở rộng có thể phù hợp với bất kỳ tiêu chuẩn mã hóa bao gồm ở trong ITU-T H.261 | ISO/IEC 11172-2 và Tiêu chuẩn kỹ thuật này. Tuy nhiên, lưu ý rằng trong Tiêu chuẩn kỹ thuật này, tính giải mã của một phân cấp không gian có thể mở rộng không gian chỉ được xem xét trong trường hợp lớp cơ sở phù hợp với Tiêu chuẩn kỹ thuật này hoặc ISO/IEC 11172-2.
Do "mất khớp nối" của các lớp chỉ có một giới hạn cú pháp là cần thiết trong lớp tăng cường nếu cả lớp thấp hơn và lớp tăng cường được xen kẽ nhau. Trong trường hợp đó, picture_structure phải lấy giá trị tương tự như trong khung tham chiếu được sử dụng để dự đoán từ lớp dưới. Xem mục 7.7.3.1 để biết cách nhận dạng đối tượng khung tham chiếu.
7.7.2. Dự đoán trong lớp tăng cường
Một dự đoán bù theo thời gian được thực hiện từ các khung tham chiếu trong lớp tăng cường như mô tả trong 7.6. Ngoài ra, dự đoán theo không gian được hình thành từ khung giải mã lớp dưới (dlower[y][x]), như được mô tả trong mục 7.7.3 Các dự đoán này được chọn riêng lẻ hoặc kết hợp để tạo thành dự đoán thực tế.
Nói chung, tối đa bốn dự đoán riêng biệt được tạo ra cho mỗi macroblock được kết hợp lại với nhau để tạo thành macroblock dự đoán cuối cùng p[y][x].
Trong trường hợp macroblock không được mã hóa, hoặc vì toàn bộ macroblock bị bỏ qua hoặc macroblock cụ thể không được mã hóa, không có hệ số dữ liệu. Trong trường hợp này f[y][x] là 0 và các mẫu được giải mã chỉ là dự đoán, p[y][x].
Hình 7-13 - Quá trình bù đơn giản cho khả năng mở rộng theo không gian
7.7.3. Hình thành dự đoán theo không gian
Hình thành dự đoán theo không gian đòi hỏi phải xác định được khung tham chiếu chính xác và xác định của quá trình lấy mẫu theo không gian, được thực hiện trong các phần sau đây.
Quá trình lấy mẫu lại được xác định là toàn bộ khung, tuy nhiên, việc giải mã của một macroblock. chỉ cần khu vực 16x16 trong khung được lấy mẫu lên, tương ứng với vị trí của macroblock này, là cần thiết.
7.7.3.1. Lựa chọn khung tham chiếu
Các dự đoán theo không gian được làm từ khung tái tạo của lớp dưới được tham chiếu bởi lớp thấp hơn i_strength_reference. Tuy nhiên, nếu các dòng bit thấp hơn và các lớp bit tăng cường được nhúng trong hệ thống ITU-T H 220.0 | ISO/IEC 13818-1, thông tin được ghi đè bởi thông tin theo thời gian cho bởi giải mã mốc thời gian (DTS) trong tiêu đề PES.
Chú thích Nếu group_of_picture_headerd() xảy ra thường xuyên ở dòng bit lớp thấp hơn thì tham chiếu theo thời gian ở lớp dưới có thể không rõ ràng (bởi vì temporal_reference được thiết lập lại sau khi một nhóm group_of_picture_headerd()
ảnh được dựng lại từ dự đoán theo không gian được thực hiện theo những điều sau đây:
● Ảnh lớp thấp hơn được giải mã hoặc đồng nhất gần nhất.
● Ảnh I hoặc ảnh P lớp thấp hơn được giải mã hoặc đồng nhất gần nhất
● Ảnh I hoặc ảnh P lớp thấp hơn đầu tiên được giải mã gần đây nhất thứ hai cung cấp lớp thấp hơn không có low_delay được đặt là '1'. Lưu ý thêm rằng khả năng mở rộng theo không gian sẽ chỉ làm việc hiệu quả khi dự đoán được hình thành từ các khung trong lớp dưới cũng đồng nhất (hoặc rất gần) trong thời gian hiển thị với khung dự đoán trong lớp tăng cường.
7.7.3.2. Quá trình lấy mẫu lại
Mô hình dự đoán theo không gian được thực hiện bằng cách lấy mẫu lại khung hình tái tạo ở tầng dưới cùng với lưới mẫu giống như lớp tăng cường. Lưới này được xác định trong đề mục tọa độ khung, ngay cả khi một lớp khung xen kẽ thấp hơn thực sự được mã hóa bằng một cặp trường ảnh.
Quá trình lấy mẫu lại này được minh họa trong hình 7-14
Hình 7-14 - Sự hình thành dự đoán "theo không gian" bằng cách nội suy ảnh lớp dưới
Các dự đoán theo không gian sẽ chỉ được thực hiện cho các macroblock trong lớp tăng cường hoàn toàn nằm trong khung tái tạo lớp dưới.
Quá trình lấy mẫu phụ thuộc vào việc liệu lớp khung tái tạo ở phía dưới được xen kẽ hay liên tiếp, như được chỉ ra bởi lớp khung liên tiếp dưới và liệu lớp khung tăng cường có được xen kẽ hay liên tiếp như được chỉ ra bởi progressive_frame.
Khi lower_layer_progressive_frame là '1'. Khung tái tạo lớp dưới (được đổi tên thành prog_pic) được làm lại theo chiều dọc như mô tả trong mục 7.7.3. 4 Khung thu được được coi là liên tiếp nếu progressive_frame là '1' và được xen kẽ, nếu khung liên tiếp là '0', Khung thu được được lấy mẫu lại mẫu theo chiều ngang như mô tả trong mục 7.7.3.6. lower_layer_deinterlaced_field_select sẽ có giá trị '1'.
Khi lower_layer_progressive_frame là '0' và progressive_frame là '0', mỗi trường tái tạo ở lớp dưới được xen kẽ lại như mô tả trong mục 7.3.4 để tạo ra một trường liên tiếp (prog_pic). Trường này được lấy mẫu lại theo chiều dọc như mô tả trong mục 7.7.3.5. Trường thu được được lấy mẫu lại theo chiều ngang như mô tả trong mục 7.7.3.6. Cuối cùng, trường thu được được lấy mẫu để tạo ra trường xen kẽ. lower_layer_deinterlaced_field_select sẽ có giá trị '1'
Khi lower_layer_progressive_frame là '0' và progressive_frame là '1', mỗi trường tái tạo ở lớp dưới là khung xen kẽ lại như mô tả trong mục 7.7.3.4. để tạo ra một trường xen kẽ (prog_pic). Chỉ cần một trong các trường này là bắt buộc. Khi lower_layer_deinterlaced_field_select là '0' trường trên cùng được sử dụng, nếu không thì sử dụng trường dưới cùng. Loại được sử dụng được lấy mẫu lại theo chiều dọc như mô tả trong mục 7.7.3.5. Khung thu được được lấy mẫu lại theo chiều ngang như mô tả trong mục 7.7.3.6.
Đối với các khung xen kẽ, nếu các khung hiện tại là mã hóa dưới dạng ảnh trường, quy trình tái xen kẽ được mô tả trong mục 7.7.3.5 được thực hiện trong trường.
lower_layer_vertical_offset và lower_layer_horizontal_offset, xác định vị trí của lớp dưới trong khung hiện tại, sẽ được tính đến trong lấy mẫu lại xác định trong mục 7.7.3.5 và mục 7.7.3.6 tương ứng. Bù lớp thấp hơn được giới hạn ở các giá trị khi độ sắc mầu trong lớp tăng cường được lấy mẫu trong chiều đó để sắp xếp các mẫu độ sắc giữa hai lớp
Quá trình lấy mẫu được tổng kết trong Bảng 7-15.
Bảng 7-15 - Quá trình lấy mẫu
lower_layer_ deinterlaced_ field_select | lower_layer_ progressive_frame | progressive_frame | Apply deinterlace process | Entity used for prediction |
0 | 0 | 1 | Yes | Top field |
1 | 0 | 1 | Yes | Bottom field |
1 | 1 | 1 | No | Frame |
1 | 1 | 0 | No | Frame |
1 | 0 | 0 | Yes | Both fields |
7.7.3.3. Xử lý các thành phần sắc màu
Do các lưới lấy mẫu khác nhau của các thành phần chói và độ sắc, một số biến được sử dụng trong mục 7.7.3.4 đến mục 7.7.3.6 có các giá trị khác nhau cho độ chói và sắc màu lấy mẫu lại. Hơn nữa, nó cho phép các định dạng độ sắc màu ở tầng dưới và lớp tăng cường khác nhau.
Bảng 7-16 định nghĩa các giá trị cho các biến được sử dụng trong mục 7.7.3.4 đến mục 7.7.3.6
Bảng 7-16 - Các biến nội bộ được sử dụng trong mục 7.7.3.3 đến mục 7.7.3.6
Biến | Giá trị cho việc xử lý lý độ chói | Giá trị cho việc xử lý sắc màu |
11_h_size | lower_layer_prediction_horizontal_size | lower_layer_prediction_horizontal_size / chroma_ratio_honzontal[lower] |
11_v_size | lower_layer_prediction_vertical_size | lower_layer_prediction_vertical_size/ chroma_ratio_vertical[lower] |
11_h_offset | Lower_layer_horizontal_offset | lower_layer_horizontal_offset / chroma ratio_horizontal_[enhance] |
11_v_offset | lower_layer_vertical_offset | lower_layer_vertical_offset / chroma_ratio_vertical[enhance] |
H_subs_m | horizontal_subsampling_factor_m | horizontal_subsampling_factor_m |
H_subs_n | horizontal_subsampling_factor_n | horizontal_subsampling_factor_n * format ratio_horizontal |
V_subs_m | vertical_subsampling_factor_m | vertical_subsampling_factor_m |
v_subs_n | vertical_subsampling_factor_m | vertical_subsampling_factor_n * format_ratio_vertical |
Các bảng 7-17 và 7-18 đưa ra các định nghĩa bổ sung.
Bảng 7-17 - Tỷ lệ lấy mẫu màu cho lớp = {thấp hơn, nâng cao}
Định dạng sắc độ tầng thấp hơn | Tỷ lệ sắc màu ngang[layer] | Tỷ lệ sắc màu Dọc[layer] |
4:2:0 | 2 | 2 |
4:2:2 | 2 | 1 |
4:4:4 | 1 | 1 |
Bảng 7-18 - Tỷ lệ định dạng sắc màu
Định dạng sắc độ Lớp thấp hơn | Định dạng sắc độ lớp tăng cường | format_ratio horizontal | Format_ratio vertical |
4:2:0 | 4:2:0 | 1 | 1 |
4:2:0 | 4:2:2 | 1 | 2 |
4:2:0 | 4:4:4 | 2 | 2 |
4:2:2 | 4:2:2 | 1 | 1 |
4:2:2 | 4:4:4 | 2 | 1 |
4:4:4 | 4:4:4 | 1 | 1 |
7.7.3.4. Tháo gỡ
Nếu không cần phải tháo gỡ (theo Bảng 7-16), khung tái tạo dưới lớp (dlower[y][x]) được đổi tên thành input_pic.
Thứ nhất, mỗi trường lớp dưới được đệm bởi các số không để tạo thành một lưới liên tiếp với tốc độ khung bằng với tốc độ trường của lớp dưới và với cùng số dòng và mẫu trên mỗi dòng như khung dưới. Bảng 7-19 xác định cụ thể các bộ lọc sẽ được áp dụng tiếp theo. Thành phần chói được lọc bằng bộ lọc độ trường mở có liên quan nếu picture_structure = = "Frame-picture" hoặc bằng cách sử dụng một bộ lọc khẩu độ trường. Thành phần sắc màu được lọc bằng một bộ lọc khẩu độ trường.
Bảng 7-19 - Bộ lọc tháo gỡ
Theo thời gian | Chiều dọc | Hai khẩu độ trường | Một khẩu độ trường | |
Bộ lọc cho trường đầu tiên | Bộ lọc cho trường thứ hai | Bộ lọc (cả hai trường) | ||
-1 | -2 | 0 | -1 | 0 |
-1 | 0 | 0 | 2 | 0 |
-1 | 2 | 0 | -1 | 0 |
0 | -1 | 8 | 8 | 8 |
0 | 0 | 16 | 16 | 16 |
0 | 1 | 8 | 8 | 8 |
1 | -2 | -1 | 0 | 0 |
1 | 0 | 2 | 0 | 0 |
1 | +2 | -1 | 0 | 0 |
Các cột thời gian và chiều dọc của Bảng 7-19 chỉ ra các tọa độ không gian và thời gian tương đối của các mẫu mà các vòi lọc được xác định trong hai cột khác áp dụng. Một khoản tiền trung gian được hình thành bằng cách thêm các hệ số nhân với nhau.
Đầu ra của bộ lọc (tổng hợp) được thu nhỏ theo công thức sau:
prog_pic[y][x] = sum // 16
và bão hòa nằm trong khoảng [0: 255]
Khẩu độ lọc có thể mở rộng ra ngoài kích thước ảnh mã hóa. Trong trường hợp này, các mẫu của các dòng bên ngoài ảnh hoạt động sẽ lấy giá trị của mẫu hiện tại lân cận gần nhất (bên dưới hoặc trên) của cùng một trường như được định nghĩa dưới đây.
Đối với tất cả các mẫu [y] [x]:
7.7.3.5. Tái lấy mẫu theo chiều dọc
Khung phải được lấy mẫu lại theo chiều dọc, prog_pic, được lấy mẫu lại cho lưới lấy mẫu theo chiều dọc bằng cách sử dụng nội suy tuyến tính giữa các vị trí mẫu theo công thức sau, trong đó vert_pic là trường thu được:
vert_pic[yh + 11_v_offset][x] = (16 - phase)*prog_pic[y1][x] + phase *prog_pic [y2][x]
Ở đây:
yh+ 11_v_offset = output sample co-ordinate in vert_pic
y1 = (yh * v_subs_m) / v_subs_n
y2 = y1 + 1 nếu y1 <11_v_size -1
y1 otherwise
phase = (16 * (( yh * v_subs_m) % v_subs_n)) // v_subs_n
Các mẫu nằm ngoài khung tái tạo ở phía dưới được yêu cầu cho việc lấy mẫu bằng cách mở rộng biên của khung tái tạo lớp dưới.
Chú thích - Tính toán của pha giả định rằng vị trí mẫu trong lớp tăng cường tại yh = 0 là không đồng bộ trùng với vị trí mẫu đầu tiên của lớp dưới Điều này được nhận ra rằng đây là một xấp xỉ cho các thành phần chất màu nếu màu sắc định dạng = 4:2:0.
7.7.3.6. Tái lấy mẫu theo chiều ngang
Khung phải được lấy mẫu lại theo chiều ngang, vert_pic, được lấy mẫu lại cho lưới lấy mẫu nằm ngang bằng cách sử dụng nội suy tuyến tính giữa các vị trí mẫu theo công thức sau, trong đó hor_pic là trường kết quả:
hor_pic[y][xh + 11_h_offset] = ((16 - phase)*vert_pic[y][x1] + phase * vert_pic[y][x2]) // 256
Ở đây:
xh+ 11_h_offset = output sample co-ordinate in hor_pic
x1 = (xh * h_subs_m) / h_subs_n
x2 = x1 + 1 nếu x1<11_h_size - 1
x1 otherwise
phase = (16 * (( xh * h_subs_m) % h_subs_n)) // h_subs_n
Các mẫu nằm ngoài khung tái tạo ở phía dưới được yêu cầu cho việc lấy mẫu bằng cách mở rộng biên của khung tái tạo dưới lớp.
7.7.3.7. Lấy lại xen kẽ
Nếu tách lại không cần phải làm, kết quả của quá trình lấy mẫu lại, hor_pic, được đổi tên thành spat_pred_pic.
Nếu hor_pic đã được bắt nguồn từ trường trên của một xen kẽ khung lớp thấp, các dòng chẵn của hor_pic được sao chép vào các dòng chẵn của spat_pred_pic.
Nếu hor_pic đã được bắt nguồn từ trường dưới cùng của một khung xen kẽ lớp thấp, các dòng lẻ của hor_pic được sao chép vào các dòng lẻ của spat_pred_pic.
Nếu hor_pic đã được bắt nguồn từ một khung liên tiếp lớp thấp, hor_pic được sao chép vào spat_pred_pic.
7.7.4. Lựa chọn và kết hợp dự đoán không gian và thời gian
Các dự đoán không gian và thời gian có thể được lựa chọn hoặc kết hợp để tạo thành dự đoán thực tế. Macroblock_type (xem Bảng B.5, B.6 và B.7) và mã trọng số không gian thêm thời gian (xem Bảng 7-21) chỉ ra, bằng cách sử dụng spatial_temporal_weight_class, cho dù dự đoán chỉ là thời gian, không gian chỉ hoặc một sự kết hợp có trọng số các dự đoán thời gian và không gian. Các lớp học được định nghĩa theo cách sau:
● Lớp 0 chỉ ra dự đoán theo thời gian;
● Lớp I chỉ ra rằng trường không có dự đoán theo không gian;
● Lớp 2 chỉ ra rằng trường trên cùng là dự đoán theo không gian;
● Lớp 3 chỉ ra rằng trường dưới cùng là dự đoán theo không gian;
● Lớp 4 chỉ ra dự đoán theo không gian.
Trong ảnh bên trong, nếu trọng số không gian là 0, bình thường mã hóa bên trong được thực hiện; nếu không, dự đoán chỉ là theo không gian. Trong các ảnh dự đoán và nội suy, nếu spatial_temporal_weight_class là 0, dự đoán chỉ là theo thời gian, nếu spatial_temporal_weight_class là 4, dự đoán chỉ là theo không gian; nếu không, một hoặc một cặp trọng số dự đoán được sử dụng để kết hợp các dự đoán theo không gian và theo thời gian.
Các spatial_temporal_weights có thể được đưa ra trong một bảng trọng số được lựa chọn trong phần mở rộng mở rộng không gian ảnh. Có thể sử dụng đến 4 bảng trọng số khác nhau tùy thuộc vào việc lớp hiện tại và lớp dưới có xen kẽ hoặc liên tiếp, như được chỉ ra trong Bảng 7-20 (cho phép, nhưng không khuyến khích, các giá trị được đưa ra trong ngoặc đơn).
Bảng 7-20 - Giá trị dự kiến (cho phép) spatial_temporal_weight_code_table_index
Định dạng lớp thấp hơn | Định dạng lớp tăng cường | spatial_temporal_weight _code_table_index |
Liên tiếp hoặc xen kẽ | Liên tiếp | 00 |
Trùng lặp liên tiếp với các trường lớp tăng cường trên cùng | Xen kẽ | 10 (00, 01, 11) |
Trùng lặp liên tiếp với các trường lớp tăng cường dưới cùng | Xen kẽ | 01 (00, 10, 11) |
Xen kẽ (picture_structure == Frame-Picture) | Xen kẽ | 00 hoặc 11 (01, 10) |
Xen kẽ (picture_structure != Frame-Picture) | Xen kẽ | 00 |
Trong macroblock_modes(), mã hai bit, spatial_temporal_weight_code, được sử dụng để mô tả dự đoán cho mỗi trường (hoặc khung), như được biểu thị trong Bảng 7-21. Trong bảng này spatial_temporal_integer_weight các identities những spatial_temporal_weight_codes cũng có thể được sử dụng với dự đoán nguyên tố kép (xem Bảng 7-22, 7-23).
Bảng 7-21 - spatial_temporal_weight Và spatial_temporal_weight_classes cho spatial_temporal_weight_code_table_index và spatial_temporal_weight_codes
spatial_temporal | spatial_ | spatial_ | spatial_ | spatial_ |
weight_code_table. | tempora_ | temporal_ | temporal_ | temporal_ |
_Index | weight_code | weight(s) | weight class | integer_weight |
00a) | - | (0.5) | 1 | 0 |
01 | 00 | (0.1) | 3 | 1 |
| 01 | (0:0.5) | 1 | 0 |
| 10 | (0.5; 1 ) | 3 | 0 |
| 11 | (0,5; 0,5) | 1 | 0 |
spatial_temporal | spatial_ | spatial_ | spatial_ | spatial_ |
weight_code_table. | tempora_ | temporal_ | temporal_ | temporal_ |
_Index | weight_code | weight(s) | weight class | integer_weight |
10 | 00 | (1:0) | 2 | 1 |
| 01 | (0.5; 0) | 1 | 0 |
| 10 | (1:0.5) | 2 | 0 |
| 11 | (0.5; 0.5) | 1 | 0 |
11 | 00 | (1:0) | 2 | 1 |
| 01 | 0:0.5) | 2 | 0 |
| 10 | (0.5; 1 ) | 3 | 0 |
| 11 | (0.5.0,5) | 1 | 0 |
a) Đối với spatial_temporal_weight_code_table_index == 00 không có spatial_temporal_weight_codes được truyền đi |
Chú thích - Chỉ dự đoán theo không gian (weight_class == 4) được báo hiệu bởi các giá trị khác nhau của kiểu macroblock khác nhau (xem Bảng B.5 đến B.7).
Khi kết hợp spatial_temporal_weight được đưa ra dưới dạng (a: b), "a" cho tỷ lệ dự đoán cho trường trên cùng có nguồn gốc từ dự đoán theo không gian và "b" cho tỷ lệ dự đoán cho trường dưới cùng mà được lấy từ dự đoán theo không gian cho trường đó.
Khi tệp spatial_temporal_weight được đưa ra dưới dạng (a), "a" cho tỷ lệ dự đoán cho ảnh bắt nguồn từ dự đoán theo không gian cho ảnh đó.
Phương pháp chính xác để tính toán dự đoán là như sau:
pel_pred_temp[y][x] được sử dụng để biểu thị dự đoán thời gian (được hình thành bên trong lớp tăng cường) như được định nghĩa cho pel_pred[y][x] trong 7.6. pel_pred_spat[y][x] được sử dụng để biểu thị dự đoán được hình thành từ tầng dưới bằng cách chiết xuất các mẫu phù hợp, cùng với vị trí macroblock hiện tại, từ spat_pred_pic.
Nếu spatial_temporal_weight là không, thì không có dự đoán nào được thực hiện từ lớp dưới. Vì thế:
pel_pred[y][x] - pel_pred_temp[v][x];
Khi progressive_frame = = 0 độ sắc màu được coi là xen kẽ, nghĩa là, trọng số đầu tiên được sử dụng cho các dòng sắc màu trên cùng của trường và trọng số thứ hai được sử dụng cho các dòng sắc màu trường dưới cùng.
Việc bổ sung dữ liệu dự đoán và hệ số được thực hiện như trong mục 7.6.8.
7.7.5. Cập nhật các dự đoán vector chuyển động và lựa chọn vector chuyển động
Trong ảnh khung nơi dự đoán trường được sử dụng, khả năng tồn tại của một trong các trường được sử dụng chỉ sử dụng không gian dự đoán. Trong trường hợp này, không có vector chuyển động nào có trong dòng bit đối với trường dữ liệu có dự đoán theo không gian. Cho trường hợp cả hai trường của một khung có dự đoán chỉ theo không gian (spatial-only), như vậy macroblock_type là không có vectơ chuyển động có mặt trong dòng bit cho macroblock đó.
Bảng 7-22 - Cập nhật dự đoán các vectơ chuyển động trong các ảnh trường
7.7.5.1. Đặt lại các dự đoán của vector chuyển động
Ngoài các trường hợp được xác định trong 7.6.3.4, các dự đoán vector chuyển động sẽ được đặt lại trong các trường hợp sau:
• Trong một ảnh P khi một macroblock là dự đoán theo không gian thuần túy (spatial_temporal_weight_classes == 4)
Trong ảnh B khi một macroblock được dự đoán không gian thuần túy (spatial_temporal_weight == 4)
Chú thích: Trong trường hợp không gian trọng số theo thời gian == 2 trong một ảnh khung khi dự đoán dựa trên trường được sử dụng, vector truyền đi được áp dụng cho trường dưới cùng (xem bảng 7-25). Tuy nhiên, vectơ [0][s][1:0] này được dự đoán từ PMV[0][s][1:0].PMV[0][s][ 1:0] được cập nhật như trong Bảng 7 23.
7.7.6. Bỏ qua macroblocks
Trong tất cả các trường hợp, một macroblock bị bỏ qua là kết quả của một dự đoán chỉ, và tất cả các hệ số DCT được coi là số không.
Nếu sequence_scalable_extension có mặt và scalable_mode = "spatial scalability", các quy tắc sau áp dụng ngoài các quy định trong mục 7.6.6.
Bảng 7-23 - Cập nhật các dự đoán vector chuyển động trong khung hình ảnh
a) frame_motion_type không có trong dòng bits nhưng giả định là Frame-based. b) Không thể sử dụng nguyên tố kép (Dual Prime) khi spatial_temporal_integer_weight = '0'. c) Nếu các vectơ chuyển động che giấu là 0 thì PMV[r][s][t] được đặt là 0 (cho tất cả các r và s). d) PMV[r][s][t] được đặt là 0 (cho tất cả các r, s và t). Mục 7.6.3.4 |
Trong ảnh I. bỏ qua macroblocks được cho phép. Đây được định nghĩa là dự đoán không gian.
Trong ảnh P và ảnh B, macroblock đã bỏ qua chỉ là dự đoán thời gian.
Trong ảnh B, một macroblock bỏ qua sẽ không theo một macroblock được dự đoán không gian.
7.7.7. Sự tràn bộ đệm VBV ở tầng dưới
Trong trường hợp khả năng mở rộng không gian, tràn bộ đệm VBV ở tầng dưới có thể gây ra vấn đề. Điều này là do sự không chắc chắn có thể trong chính xác mà khung sẽ được lặp lại bởi một bộ giải mã cụ thể.
7.8. Khả năng mở rộng SNR
Xem hình 7-15.
Mục này mô tả quá trình giải mã bổ sung yêu cầu cho các phần mở rộng có khả năng mở rộng SNR.
Khả năng mở rộng SNR định nghĩa một cơ chế để tinh chỉnh các hệ số DCT được mã hóa trong một lớp khác (thấp hơn) của một phân cấp có thể mở rộng. Như được minh họa trong hình 7-15, dữ liệu từ hai dòng bit được kết hợp sau các quy trình lượng tử đảo ngược bằng cách thêm các hệ số DCT. Cho đến khi dữ liệu được kết hợp, các quá trình giải mã của hai lớp độc lập với nhau.
Bảng 7-24 - Các dự đoán và vector chuyển động trong ảnh khung
a) Field_motion_type không có trong dòng bit nhưng giả định là Field-based b) Các vector chuyển động nó chỉ hiện diện nếu concealment_motion_vectors là một. c) Các vec tơ chuyển động này không có trong dòng bit. d) Vectơ chuyển động được lấy là (0; 0) như được giải thích trong mục 7.6.3.5. |
Mục 7.7.1 xác định làm thế nào để xác định các dòng bits trong một phân cấp khả năng mở rộng; tuy nhiên, chúng có thể được phân loại như sau.
Lớp thấp hơn, có nguồn gốc từ dòng bit đầu tiên, có thể tự hoặc không thể mở rộng được hoặc yêu cầu quy trình giải mã không gian hoặc thời gian mở rộng (và do đó giải mã các dòng bit bổ sung) được áp dụng
Tầng tăng cường, xuất phát từ dòng bit thứ hai, chứa các hệ số DCT mã hóa chủ yếu và một chi phí nhỏ Quá trình giải mã cho lớp này và sự kết hợp của hai lớp được mô tả trong phần dưới đây.
Chú thích-. Tất cả các thông tin liên quan đến dự đoán chứa trong dòng bit lớp thấp hơn. Do đó không thể tái tạo lại một lớp tăng cường mà không cần giải mã dữ liệu dòng bit ở lớp thấp hơn song song
Hơn nữa, dự đoán và xây dựng lại các ảnh như mô tả trong mục 7.6.7.7 và mục 7.6 cho kết hợp thấp hơn và lớp tăng cường là giống hệt nhau để sống các bước tương ứng để chỉ giải mã các lớp thấp hơn
Giải thích ngữ nghĩa và quá trình giải mã được mô tả trong phần phụ này bao gồm một cơ chế "chroma simulcast". Điều này có thể được sử dụng (ví dụ) để tăng cường 4:2:0 trong lớp dưới lên 4:2:2 thay đổi xử lý dữ liệu lớp nâng cao. Trong khi dữ liệu độ chói được xử lý như được mô tả trước đây, trong trường hợp này, thông tin về độ sắc màu lấy ra phía trước (trừ các giá trị intra-DC, xem mục 7.8.3.4) sẽ được loại bỏ và thay thế bằng các thông tin mới với độ phân giải sắc màu cao hơn được giải mã từ lớp tăng cường.
Bảng 7-25 - Các dự đoán và vector chuyển động trong khung hình ảnh
a) kiểu chuyển động của khung không có trong dòng bit nhưng được cho là Frame-based.. b) Không thể sử dụng Dual Prime khi không gian trọng số nguyên = '0'. c) Vectơ chuyển động chỉ hiện diện nó là các vec tơ vectơ che giấu là một d) Các vec tơ chuyển động này không có trong dòng dòng bit e) Vectơ chuyển động được tính là (0: 0) như được giải thích trong mục 7.6.3.5. |
Đó là vốn có trong khả năng mở rộng SNR mà hai lớp kết hợp rất chặt chẽ với nhau. Yêu cầu các ảnh tương ứng trong mỗi lớp phải được giải mã đồng thời với nhau.
Trong trường hợp dòng bit lớp thấp phù hợp với ISO/IEC 11172-2 (và không phải là Tiêu chuẩn kỹ thuật này), thì hai chương trình điều khiển không phù hợp IDCT khác đang được sử dụng trong việc giải mã. Cần lưu ý đến bộ mã hóa để xem xét việc này.
7.8.1. Cấu trúc cú pháp cao hơn
Hai lớp dòng bit trong mục này được xác định bởi layer_id của chúng, được giải mã từ sequence_scalable_extension.
Hai dòng bit phải có các layer_id liên tiếp, với dòng bit tăng cường tầng có layer_id = idenhance và dòng bit lớp thấp có layer_id = idenhance -1
Cú pháp và ngữ nghĩa của lớp tăng cường tương ứng như được định nghĩa trong mục 6.2 và mục 6.3.
Trong trường hợp mà các dòng bit lớp thấp phù hợp với ISO/IEC 11172-2 (và không phải là Tiêu chuẩn kỹ thuật này), sau đó cả hai này thấp hơn và lớp tăng cường sẽ sử dụng "cấu trúc mảnh hạn chế" được xác định trong Tiêu chuẩn kỹ thuật này.
Ngữ nghĩa hạn chế áp dụng cho một số giá trị trong tiêu đề và phần mở rộng của lớp tăng cường như sau.
Hình 7-15 - Mô tả quá trình giải mã cho khả năng mở rộng SNR
Tiêu đề chuỗi
Tiêu đề này phải giống với tiêu đề ở dòng bit bên dưới, ngoại trừ các giá trị của bit_rate, vbv_buffer_size, load_intra_quantiser_matrix. intra_quantiser_nuitrix, load_non_intra_quantiser_matrix và non_intra_quantiser_niatrix. Chúng có thể được lựa chọn độc lập, ngoại trừ load_intra_quantiser_matrix sẽ bằng 0.
Mở rộng hiển thị chuỗi
Phần mở rộng này sẽ giống với phần ở dòng bit bên dưới trừ các giá trị của profile_and_level_indication, chroma_format, tốc độ bit và vbv_buffer_size_extension. Những gì có thể được lựa chọn một cách độc lập.
Một giá trị khác nhau của sắc màu trong mỗi lớp sẽ làm cho cờ phát sóng (simulcast) sắc màu được thiết lập như được xác định bởi Bảng 7-26.
Sự mở rộng này sẽ không có mặt vì không có quá trình hiển thị riêng biệt cho lớp tăng cường. Trình mở rộng có thể mở rộng theo chuỗi
Phần mở rộng này sẽ có mặt với scalable_mode = "khả năng mở rộng SNR" ("SNR scalability”).
Tiêu đề GOP
Tiêu đề này phải giống với tiêu đề ở dòng dòng bit thấp hơn.
CHÚ THÍCH 1 - Tiêu đề GOP phải có mặt trong mỗi lớp sao cho temporal_reference trong mỗi lớp được đặt lại trên cùng một khung.
Tiêu đề ảnh
Tiêu đề này phải giống với tiêu đề ở dòng bit bên dưới, ngoại trừ giá trị của vbv_delay. Điều này có thể được lựa chọn một cách độc lập.
Mở rộng mã hóa hình ảnh
Phần mở rộng này sẽ giống với phần ở dòng bit bên dưới, ngoại trừ giá trị của q_scale_type và quét xen kẽ. Chúng có thể được lựa chọn một cách độc lập.
Chroma_420_type sẽ được đặt thành '0' nếu cài đặt màu simulcast. Khác, nó sẽ có giá trị tương tự như trong dòng bit tầng dưới.
Trong trường hợp dòng bit lớp dưới phù hợp với ISO/IEC 11172-2 (và không phải là Tiêu chuẩn kỹ thuật này), thì picture_coding_extension() không có trong dòng bit lớp thấp và các giá trị sau đây sẽ được giả định cho quá trình giải mã:
Các picture_coding_extension() trong lớp tăng cường sẽ có các giá trị được hiển thị ở trên.
Đối với lớp thấp q_scale_type và scale_altemate sẽ được giả định có giá trị bằng không.
CHÚ THÍCH - q_scale_type và anternate_scan có thể được đặt độc lập trong lớp tăng cường.
Phần mở rộng ma trận lượng tử
Tiện ích mở rộng này là tùy chọn. Mô tả ngữ nghĩa được mô tả trong mục 6.3.11.
load_intra_quantiser_matnx và load_chroma_intra_quantiser_matrix đều bằng 0.
CHÚ THÍCH 3 - Chỉ các ma trận không trong nội bộ sẽ được sử dụng trong quá trình giải mã tiếp theo
Mở rộng hình ảnh
Sự gia hạn này sẽ không có mặt.
CHÚ THÍCH 4 - Không có quá trình hiển thị riêng biệt nào cho lớp tăng cường. Nếu chức năng quét pan là mong muốn, nó có thể được thực hiện đã được bằng cách sử dụng các thông tin chuyển tải của quét pan-scan của dòng bit lớp thấp hơn.
Tiêu đề lát cắt
Các lát sẽ trùng với những mảnh ở tầng dưới. Giá trị của quantiser_scale_code có thể được đặt độc lập từ dòng bit tầng dưới.
7 8.2. Macroblock
Sau đó, "macroblock hiện tại" biểu thị macroblock hiện tại được xử lý. Macroblock hiện tại của lớp dưới biểu thị các macroblock được xác định bằng cách có cùng một macroblock_address như là macroblock hiện tại.
Việc giải mã thông tin tiêu đề macroblock được thực hiện theo ngữ nghĩa trong mục 6.3.17.
Chú thích - bảng B. 8 được sử dụng nếu scalable_mods = = "Khả năng mở rộng SNR" sẽ không bao giờ đặt macroblock_intra, macroblock_motion_forward hoặc macroblock_motion_backward flags, vì một macroblock trong lớp tăng cường chỉ chứa dữ liệu sàng lọc cho macroblock hiện tại của lớp dưới
Tuy nhiên, các phần tử cú pháp tương ứng và các cờ của macroblock hiện tại trong dòng bit lớp thấp có liên quan đến quá trình giải mã kết hợp của tầng thấp hơn và lớp tăng cường sau DCT nghịch đảo như mô tả trong mục 7.8.3.5.
7 8.2.1. dct_type
Thành phần cú pháp dct_type có thể có trong một hoặc cả hai macroblock_modes lớp thấp và tăng cường macroblock_modes(), như được chỉ ra bởi ngữ nghĩa trong mục 6.3.17.
Nếu dct_type hiện diện trong các macroblock_modes() trong cả hai lớp nó sẽ có giá trị giống hệt nhau.
7.8.2.2. Bỏ qua Macroblocks
Macroblocks có thể được bỏ qua trong lớp tăng cường dòng bit, có nghĩa là không tăng cường hệ số được thực hiện (F"enhance[v][u] = 0. cho tất cả các v, u). Vì vậy, quá trình giải mã chi tiết trong mục 7.8.3 sẽ được áp dụng.
Khi macroblocks được bỏ qua trong cả hai, thấp hơn và nâng cấp lớp dòng bits, quá trình giải mã là chính xác như quy định tại mục 7.6.6.
Macroblocks cũng có thể bị bỏ qua trong các dòng bit lớp thấp hơn, trong khi vẫn đang được mã hóa trong các lớp tăng cường dòng bit. Trong trường hợp đó, quá trình giải mã chi tiết trong phần sau phải được áp dụng, nhưng F"lower[v][u] = 0, cho tất cả v, u.
7.8.3. Khối
Phần đầu tiên quá trình giải mã của khối lớp tăng cường là độc lập với lớp dưới.
Phần thứ hai quá trình giải mã của khối lớp tăng cường phải được thực hiện cùng với quá trình giải mã của khối lớp dưới cùng trùng khớp.
Hai bộ các hệ số lượng tử nghịch đảo ngược F"lower and F"enhance thêm vào dạng F"(xem hình 7-15).
F"lower xuất phát từ dòng bit lớp hạ lưu chính xác như được định nghĩa trong mục 7.1 đến mục 7.4.2.3.
F"enhance xuất phát như được định nghĩa trong các khoản dưới đây.
Kết quả F" được tiếp tục xử lý, bắt đầu với độ bão hòa, như được định nghĩa trong mục 7.4.3 đến mục 7.6 (mục 7.7, mục 7.9).
7.8.3.1. Giải mã chiều dài thay đổi
Trong một khối lớp tăng cường, VLC giải mã sẽ được thực hiện theo mục 7.2, như đối với một khối không là khối trong (như được chỉ định bởi macroblock_intra = 0).
7.8.3.2. Quét ngược
Quét ngược sẽ được thực hiện chính xác như được định nghĩa trong mục 7.3.
7.8.3.3. Đảo ngược lượng tử hóa
Trong một khối lớp tăng cường, Đảo ngược lượng tử hóa sẽ được thực hiện theo mục 7.4.2 như đối với một khối không là khối trong.
Trong trường hợp dòng bit lớp dưới phù hợp với ISO/IEC 11172-2 (và không phải là Tiêu chuẩn kỹ thuật này), thì "lượng tử nghịch đảo số học" được dùng để phát hiện F"lower[v][u] (hình 7-14) bao gồm sự kiểm soát không phù hợp IDCT (phân loại) và độ bão hòa được xác định trong ISO/IEC 11172-2.
7.8.3.4. Bổ sung các hệ số từ hai lớp
Các hệ số tương ứng từ các khối của mỗi lớp sẽ được thêm vào với nhau để tạo thành F" (xem hình 7-15).
F"[v][u] = F"lower[v][u] + F"enhance[v][u], cho tất cả u, v
Nếu chroma_simulcast = 1 được thiết lập chỉ khối độ chói được xử lý như mô tả ở trên.
Đối với các khối sắc màu, hệ số DC của lớp cơ sở được sử dụng như một dự đoán của hệ số DC trong khối trùng khớp trong lớp tăng cường, trong khi các hệ số AC của lớp cơ sở bị loại bỏ và các hệ số AC của lớp tăng cường tạo thành F" trong hình 7-14 theo các công thức sau:
F"[0][0] = F"lower[0][0] + F"enhance[0][0]
F"[v][u] = F"enhance[v][u], cho tất cả u, v ngoại trừ u = v = 0
Chú thích - khối phát sóng màu nghịch đảo được lượng tử hóa như khối không là khối trong và sử dụng ma trận không là ma trận trong sắc màu.
Bảng 7-27 cho biết chỉ số khối sắc màu có hệ số DC (F”lower[0][0] để dự đoán hệ số DC trong khối sắc màu trùng khớp của lớp tăng cường (F"enhance[0][0]
Bảng 7-27 - Chỉ số khối được sử dụng để dự đoán hệ số DC
Chroma_format | Chỉ số khối | |||||||
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | |
base: 4:2:0 upper. 4:2:2 | 4 | 5 | 4 | 5 |
|
|
|
|
base: 4:2:0 upper: 4:4:4 | 4 | 5 | 4 | 5 | 4 | 5 | 4 | 5 |
base: 4:2:2 upper. 4.4:4 | 4 | 5 | 6 | 7 | 4 | 5 | 6 | 7 |
7.8.3.5. Các bước giải mã macroblock còn lại
Sau khi thêm các hệ số từ hai lớp, phần còn lại của bước giải mã macroblock chính xác như được mô tả trong mục 7.4.3 đến mục 7.6 (mục 7.7, mục 7.9, nếu có), vì bây giờ chỉ có một luồng dữ liệu F"[v][u ] để được xử lý.
Trong quá trình này, dự đoán số không gian/ thời gian p[y][x] được tạo ra dựa theo các phần tử cú pháp kiểu macroblock và các cờ cho macroblock hiện tại được biết đến từ dòng bit thấp hơn.
7.9. Khả năng mở rộng thời gian
Khả năng mở rộng thời gian bao gồm hai lớp, một lớp thấp hơn và một lớp tăng cường. Cả lớp dưới cùng và lớp tăng cường xử lý cùng một độ phân giải không gian. Lớp tăng cường tăng cường độ phân giải thời gian của lớp dưới và nếu ghép kênh tạm thời với lớp dưới cung cấp tốc độ thời gian đầy đủ. Đây là tốc độ khung được chỉ ra trong lớp tăng cường. Quá trình giải mã cho các ảnh lớp tăng cường tương tự như quá trình giải mã thông thường được mô tả trong mục 7.1 đến mục 7.6. Sự khác biệt duy nhất là trong "Trường dự đoán và lựa chọn khung" được mô tả trong mục 7.6.2.
Các khung tham chiếu cho dự đoán được chọn bởi mã chọn lựa tham chiếu như mô tả trong các bảng 7-28 và 7-29. Trong ảnh P, ảnh tham chiếu chuyển tiếp có thể là một trong ba ảnh sau: ảnh nâng cao gần nhất, khung dưới cùng gần nhất hoặc khung dưới cùng của lớp hiển thị. Lưu ý rằng trong trường hợp thứ hai, khung tham chiếu trong lớp dưới được sử dụng để dự đoán phía trước theo thời gian.
Bảng 7-28 - Lựa chọn tham chiếu dự đoán trong ảnh P
Mã chọn lựa tham chiếu | Tham chiếu dự đoán chuyển tiếp |
00 | Các ảnh liên tiếp gần nhất được giải mã |
01 | Khung lớp thấp hơn gần nhất trong hiển thị cũ hơn |
10 | Khung lớp tiếp theo ở thứ tự hiển thị |
11 | Cấm |
Bảng 7-29 - Lựa chọn tham chiếu dự đoán trong ảnh B
Mã chọn lựa tham chiếu | Tham chiếu dự đoán tiến | Tham chiếu dự đoán lùi |
00 | Cấm | Cấm |
01 | Các ảnh liên tiếp gần nhất được giải mã | ảnh dưới lớp gần nhất theo thứ tự hiển thị |
10 | Gần nhất được giải mã enhancement picture(s) | ảnh dưới lớp tiếp theo để hiển thị |
11 | ảnh dưới lớp gần nhất theo thứ tự hiển thị | ảnh dưới lớp tiếp theo để hiển thị |
Trong ảnh B, tham chiếu về phía trước có thể là một trong hai hình dưới đây: gần nhất là các ảnh tăng cường hoặc khung thấp hơn gần nhất (hoặc tạm thời) trong khi tham chiếu ngược lại có thể là một trong hai ảnh sau: ảnh trùng khớp tạm thời trong thứ tự hiển thị hoặc khung lớp dưới tiếp theo để hiển thị. Lưu ý rằng trong trường hợp này, khung tham chiếu ngược trong lớp dưới được sử dụng để dự đoán được chuyển tiếp theo thời gian.
Dự đoán ngược không thể được thực hiện từ một ảnh trong lớp tăng cường. Điều này tránh được sự cần thiết phải sắp xếp lại khung trong lớp tăng cường. Quá trình bù chuyển động dự đoán các ảnh sử dụng các ảnh được giải mã dưới lớp và /hoặc dự đoán thời gian trước đó từ lớp tăng cường.
Lớp tăng cường có thể chứa ảnh I, ảnh P hoặc ảnh B, nhưng ảnh B trong lớp tăng cường hoạt động giống như ảnh P theo nghĩa là một ảnh B đã được giải mã có thể được sử dụng để dự đoán các ảnh P sau đây hoặc ảnh B trong lớp tăng cường.
Khi khung gần nhất trong lớp dưới được sử dụng làm tài liệu tham khảo, nó bao gồm khung thời gian trùng khớp với khung hoặc trường đầu tiên (dễ dàng bằng ảnh trường) trong lớp tăng cường. Các tham khảo dự đoán được sử dụng cho ảnh P và ảnh B được trình bày trong Bảng 7-28 và Bảng 7-29.
Lớp dưới và lớp tăng cường sẽ sử dụng cấu trúc lát cắt bị giới hạn.
Hình 7-16 cho thấy một sơ đồ đơn giản của quá trình bù chuyển động cho lớp tăng cường sử dụng khả năng mở rộng theo thời gian.
Ảnh I không sử dụng tham chiếu dự đoán; để chỉ ra điều này, reference_select_code cho ảnh I sẽ là '11'
Tùy thuộc vào picture_coding_type, khi forward_temporal_reference hoặc backward_temporal_reference không ngụ ý các tham chiếu được sử dụng để dự đoán, chúng sẽ lấy giá trị 0.
7.9.1. Cấu trúc cú pháp cao hơn
Hai lớp dòng bit trong phần dưới này được xác định bởi layer_id của chúng, được giải mã từ sequence_scalable_extension.
Hai dòng bits sẽ có id lớp liên tiếp, với lớp tăng cường có layer_id = idennhnce và lớp dưới có layer_id = idennhnce - 1
Cú pháp và ngữ nghĩa của các lớp tăng cường tương ứng được định nghĩa trong 6.2 và 6.3.
Hạn chế ngữ nghĩa áp dụng cho một số giá trị trong tiêu đề và phần mở rộng của lớp tăng cường như sau.
Lớp thấp hơn phải tuân theo Quy Định này (và không áp dụng cho ISO/IEC 11172-2).
Tiêu đề chuỗi
Các giá trị trong tiêu đề này có thể khác với lớp dưới, ngoại trừ thông tin horizontal_size_value, vertical_size_value và aspect_ratio.
Mở rộng chuỗi
Phần mở rộng này sẽ giống với phần ở lớp dưới trừ các giá trị của profile_and_level_indication. tăng tốc độ bit, mở rộng kích thước bộ đệm vbv, chậm trễ, tăng tốc độ khung hình n và mở rộng tốc độ khung d. Chúng có thể được lựa chọn một cách độc lập. Lưu ý rằng progressive_scquence chỉ định định dạng quét của khung lớp nâng cao chứ không phải là các khung đầu ra sau khi ghép kênh. Thứ hai được chỉ ra bởi mux_to_progressive_sequence (xem chuỗi mở rộng có thể mở rộng).
Trình mở rộng hiển thị chuỗi
Sự mở rộng này sẽ không có mặt vì không có quá trình hiển thị riêng biệt cho lớp nâng cấp.
Trình mở rộng có thể mở rộng theo chuỗi
Phần mở rộng này phải có chế độ có thể mở rộng = "Temporal_scalability".
Khi progressive_sequence = 0 và mux_to_progressive_sequence = 0, top_field_frame và picture_mux_factor có thể được chọn.
Khi progressive_sequence = 0 và mux_to_progressive_sequence = 1, top_field_first sẽ chứa phần bổ sung của giá trị top_field_first của lớp thấp hơn nhưng picture_mux_factor sẽ là 1.
có thể chọn picture_mux_factor.
Sự kết hợp của progressive_sequence = 1 và mux_to_progressive_sequence = 0 sẽ không xảy ra.
Hình 7-16 - Quá trình bù chuyển động đơn giản cho lớp tăng cường sử dụng khả năng mở rộng theo thời gian
Tiêu đề GOP
Không có sự hạn chế đối với tiêu đề GOP (nếu có) giống như đối với tầng dưới.
Tiêu đề ảnh
Không có sự hạn chế đối với các tiêu đề ảnh giống như ở tầng dưới.
Mở rộng mã hóa ảnh
Giá trị trong phần mở rộng này có thể khác với lớp dưới trừ top_field_first, concealment_motion_vectors, và chroma_420_type và progressive_frame. Top_field_first sẽ được dựa trên progressive_sequence và mux_to_progressive_sequence và concealment_motion_vectors sẽ là 0. Chroma_420_type sẽ giống hệt với lớp dưới. Progressive_frame sẽ luôn luôn có cùng giá trị với progressive_sequence.
ảnh mở rộng theo thời gian
Phần mở rộng này sẽ có mặt cho mỗi ảnh.
Mở rộng ma trận lượng tử
Phần mở rộng này có thể có trong lớp tăng cường.
7.9.2. Những hạn chế dự đoán theo thời gian
Mặc dù các dự đoán theo thời gian có thể được thực hiện từ các ảnh giải mã được tham chiếu bởi forward_temporapreference hoặc cả tham chiếu tạm thời và tham chiếu thời gian trong quá khứ, khả năng mở rộng theo thời gian là hiệu quả nếu dự đoán được hình thành bằng cách sử dụng giải mã ảnh/ các ảnh từ lớp dưới và lớp tăng cường rất gần với thời gian để tăng cường ảnh được dự đoán. Đó là yêu cầu về các luồng bit mà các ảnh P và ảnh B sẽ hình thành các dự đoán từ các ảnh gần nhất hoặc tiếp theo như minh họa trong các bảng 7-28 và 7-29.
Trong trường hợp group_of_pictures_header xảy ra rất thường xuyên ở tầng dưới, sự không rõ ràng có thể xảy ra do khả năng không phải là duy nhất của tài liệu tham khảo thời gian (được đặt lại tại mỗi group_of_pictures_header(). Sự không rõ ràng này sẽ được giải quyết với sự trợ giúp của thông tin về thời gian của hệ thống.
7.10. Phân vùng dữ liệu
Phân vùng dữ liệu là một kỹ thuật phân chia một dòng bit video thành hai lớp, được gọi là phân vùng. Một ngưỡng (breakpoint) ưu tiên chỉ ra các phần tử cú pháp được đặt trong phân vùng 0, đó là phân vùng cơ sở (còn được gọi là phân vùng ưu tiên cao). Phần còn lại của dòng bit được đặt trong phân vùng 1 (còn được gọi là phân vùng ưu tiên thấp). Trình tự, GOP và tiêu đề ảnh được sao chép dự phòng trong phân vùng 1 để tạo điều kiện phục hồi lỗi. Chuỗi sequence_end_code cũng được sao chép thừa vào phân vùng 1. Tất cả các trường trong các tiêu đề thừa cần phải giống với các tiêu đề ban đầu. Các phần mở rộng duy nhất cho phép (và yêu cầu) trong phân vùng 1 là sequence_extension(),picture_coding_extension() và sequence_scalable_extension().
Chú thích - Cú pháp slice() được đưa ra trong mục 6.2.4 được theo sau trong cả hai phân vùng lên đến (và bao gồm) phần tử cú pháp extra_bit_slice Giải thích priority_breakpoint được đưa ra trong Bảng 7-30.
Bảng 7-30 - Các giá trị ngưỡng ưu tiên và các ngữ nghĩa liên quan
priority _break point | Cú pháp bao gồm trong phân vùng không |
0 | Giá trị này được dành riêng cho phân vùng 1. Tất cả các lát trong phân vùng 1 sẽ có điểm ưu tiên là 0. |
1 | Tất cả dữ liệu ở chuỗi, GOP, ảnh và slice() xuống đến extra_bit_slice trong slice(). |
2 | Tất cả dữ liệu bao gồm ở trên, cộng với các phần tử cú pháp macroblock đến và bao gồm macroblock_address_increment |
3 | Tất cả dữ liệu bao gồm ở trên, cộng với các phần tử cú pháp macroblock đến nhưng không bao gồm coded_block_pattern (). |
4 ... 63 | Dự phòng |
64 | Tất cả các phần tử cú pháp bao gồm cả coded_block_pattern() hoặc hệ số DC (det_dc_differential), và cặp hệ số DCT (run_level) đầu tiên (hoặc EOB). |
65 | Tất cả các phần tử cú pháp ở trên, cộng với cặp hệ số DCT lên tới 2 (run_level). |
... |
|
63 + j | Tất cả các phần tử cú pháp ở trên, cộng với cặp hệ số DCT cặp j(run_level). |
... |
|
127 | Tất cả các phần tử cú pháp bên trên, cộng với tối đa 64 (run_level) các cặp hệ số DCT. |
Chú thích - Một điểm dừng ưu tiên ngay sau khi hệ số DC không được phép vì nó có thể gây ra mô phỏng mã bắt đầu. |
Ngữ nghĩa của VBV vẫn không thay đổi, nghĩa là VBV đề cập đến tổng của hai phân vùng chứ không phải là một phân vùng duy nhất.
thông số tốc độ dòng bit (giá trị bitrate và tốc độ bit), vbv_buffer_size (giá trị vbv_buffer_size và vbv_buffer_size_extension) và vbv_delay sẽ có giá trị như nhau trong hai phân vùng. Các tham số này đề cập đến các đặc tính của toàn bộ dòng bit được hình thành từ hai phân vùng.
Quá trình giải mã được sửa đổi theo cách sau:
- Đặt current_partition là 0, và bắt đầu giải mã từ dòng bit có chứa sequence_scalable_extension (phân vùng 0).
- Nếu current_partition = 0, kiểm tra để sec nếu điểm hiện tại trong dòng bit là một điểm dừng ưu tiên.
Nếu có, thiết lập current_partition bằng 1. Mục kế tiếp sẽ được giải mã từ phân vùng 1.
Nếu không, tiếp tục giải mã từ phân vùng 0, Hủy bỏ trình tự, GOP, và tiêu đề ảnh từ cả hai phân vùng.
- Nếu current_partition = 1, kiểm tra điểm dừng ưu tiên để xem liệu mục tiếp theo có thể được giải mã được mong đợi trong phân vùng 0 hay không.
Nếu có, hãy thiết lập current_partition là 0. Mục kế tiếp sẽ được giải mã từ phân vùng 0.
Nếu không, tiếp tục giải mã từ phân vùng 1 hai phân vùng được hiển thị, với mũi tên cho biết bộ giải mã cần phải chuyển đổi giữa các phân vùng như thế nào.
Hình 7-17 - Một phân đoạn từ một dòng bit với hai phân vùng, với ngưỡng ưu tiên đặt là 64 (một cặp (run. level))
7.11. Khả năng mở rộng lai
Khả năng mở rộng lai là sự kết hợp của hai loại khả năng mở rộng khác nhau. Các loại khả năng mở rộng có thể kết hợp được SNR khả năng mở rộng, khả năng mở rộng theo không gian và khả năng mở rộng theo thời gian. Khi hai loại khả năng mở rộng được kết hợp, có ba dòng bit phải được giải mã. Các lớp mà các dòng bit này thuộc về được đặt tên trong Bảng 7-31.
Bảng 7-31 - Tên lớp
Layer_id | Tên |
0 | Lớp cơ sở |
1 | Lớp tăng cường 1 |
2 | Lớp tăng cường 2 |
... | ... |
Đối với khả năng mở rộng giữa các lớp tăng cường 1 và 2, lớp tăng cường 1 là lớp dưới của nó, và lớp tăng cường 2 là lớp tăng cường của nó. Không có lớp nào có thể được bỏ qua từ thang bậc thang. Ví dụ, nếu có khả năng mở rộng SNR giữa lớp tăng cường 1 và lớp tăng cường 2, các kiểu dự đoán trong lớp tăng cường 1 cũng hợp lệ cho quá trình giải mã kết hợp cho lớp tăng cường 1 và 2.
Sự ghép đôi các lớp lỏng lẻo hơn với khả năng mở rộng theo không gian và theo thời gian hơn so với khả năng mở rộng SNR. Do đó, trong các loại khả năng mở rộng này, đầu tiên lớp cơ sở phải được giải mã và được kiểm tra trước khi có thể được sử dụng trong lớp tăng cường. Trong khả năng mở rộng SNR, cả hai lớp được giải mã đồng thời. Chuỗi giải mã có thể được tóm tắt như sau:
Trường hợp 1
lớp cơ sở
<khả năng mở rộng theo không gian hoặc theo thời gian> lớp tăng cường 1
<Khả năng mở rộng SNR> lớp tăng cường 2
Đầu tiên giải mã lớp cơ sở, và sau đó giải mã cả hai lớp tăng cường đồng thời.
Trường hợp 2
lớp cơ sở
<Khả năng mở rộng SNR> lớp tăng cường 1
<khả năng mở rộng theo không gian hoặc theo thời gian> lớp tăng cường 2
Trước tiên, giải mã lớp cơ sở và lớp nâng cấp 1 đồng thời, và sau đó giải mã lớp tăng cường 2.
Trường hợp 3
lớp cơ sở
<khả năng mở rộng theo không gian hoặc theo thời gian> lớp tăng cường 1
<khả năng mở rộng theo không gian hoặc theo thời gian> lớp tăng cường 2
Đầu tiên giải mã lớp cơ sở, sau đó giải mã lớp tăng cường 1, và cuối cùng giải mã lớp tăng cường 2.
7.12. Kết quả của quá trình giải mã
Phân lớp này mô tả đầu ra của mô hình lý thuyết của quá trình giải mã để giải mã các luồng dòng bit phù hợp với đặc tả này.
Đầu vào của quá trình giải mã là một hoặc nhiều dòng bit mã hóa (một cho mỗi lớp). Các lớp video thường được ghép kênh bằng một luồng hệ thống cũng chứa thông tin về thời gian.
Đầu ra của quá trình giải mã là một loạt các trường hoặc khung thường là đầu vào của một quá trình hiển thị. Thứ tự các trường hoặc khung được xuất ra bởi quá trình giải mã được gọi là thứ tự hiển thị, và có thể khác với thứ tự mã hóa (khi sử dụng các ảnh B). Quá trình hiển thị chịu trách nhiệm cho việc hiển thị các trường hoặc khung được giải mã trên một thiết bị hiển thị. Nếu thiết bị hiển thị không thể hiển thị ở tốc độ khung được chỉ định trong dòng bit, quá trình hiển thị có thể thực hiện chuyển đổi tỷ lệ khung hình. Đặc tả này không mô tả một mô hình lý thuyết của quá trình hiển thị cũng như hoạt động của quá trình hiển thị.
Vì một số phần tử cú pháp, chẳng hạn như progressive_frame. có thể là cần thiết bởi quá trình hiển thị, trong mô hình lý thuyết của quá trình giải mã, tất cả các thành phần cú pháp được giải mã bởi quá trình giải mã được xuất ra bởi quá trình giải mã và có thể được truy cập bằng quá trình hiển thị.
Khi chuỗi liên tiếp được giải mã (progressive_sequence bằng 1), các mẫu độ chói và sắc độ của các khung tái tạo được xuất ra bởi quá trình giải mã ở dạng các khung hình liên tiếp và tốc độ đầu ra là tốc độ khung. Hình 7-18 minh họa điều này trong trường hợp của chroma_format bằng 4:2:0.
Hình 7-18 - progressive_sequence = = 1
Khung dựng lại giống nhau được xuất ra một lần nếu repeat_first_fiedl bằng 0. và hai hoặc ba lần liên tiếp nếu lặp lại trường đầu tiên bằng 1, tùy thuộc vào giá trị của trường trên đầu tiên. Hình 7-19 minh họa điều này trong trường hợp của color_format bằng 4:2:0 và repeat_first_fiedl bằng 1.
Hình 7-19 - progressive_sequence = = 1; repeat_first_fiedl = = 1
Khi giải mã một chuỗi xen kẽ (progressive_sequence bằng 0), các mẫu độ chói của khung được dựng lại được xuất ra bởi quá trình giải mã ở dạng các trường xen kẽ với tốc độ gấp đôi tốc độ khung, hình 7-20 minh họa điều này.
Hình 7-20 -progressive_sequence = = 0
Đó là yêu cầu về dòng bit mà các trường ở đầu ra của quá trình giải mã sẽ luôn luôn được luân phiên trên cùng và dưới cùng (lưu ý rằng trường đầu tiên của dãy có thể ở trên hoặc dưới cùng).
Nếu khung tái tạo được xen kẽ (progressive_frame bằng 0), các mẫu độ chói và các mẫu sắc độ được xuất ra bởi quá trình giải mã dưới dạng hai trường liên tiếp. Đầu ra trường đầu tiên của quá trình giải mã là trường đầu trang hoặc trường dưới cùng của khung được tái tạo, tùy thuộc vào giá trị của top_field_first.
Mặc dù tất cả các mẫu của liên tục khung đại diện cho cùng một thời điểm trong thời gian, tất cả các mẫu không được xuất cùng một lúc bởi quá trình giải mã khi chuỗi được xen kẽ.
Nếu khung được dựng lại là liên tục (khung liên tục bằng 1), các mẫu độ chói được xuất ra bởi quá trình giải mã ở dạng hai hoặc ba trường liên tiếp, tùy thuộc vào giá trị của trường lặp lại đầu tiên.
Chú thích - Các thông tin mà các trường này được cập nhật từ liên tục khung cùng trong dòng dòng bit được chuyển đến quá trình hiển thị.
Tất cả các mẫu sắc màu của liên tục khung đã được dựng lại đã xuất ra bởi quá trình giải mã đồng thời với trường đầu tiên của các mẫu độ chói. Điều này được minh họa trong Hình 7-21 và 7-22.
Hình 7-21 -progressive_sequence = = 0; với độ màu sắc 4:2:0
Hình 7-21 -progressive_sequence = = 0; với độ màu sắc 4:2:2 hoặc 4:4:4
8. Các mức và đặc tính (Level- profile)
Chú thích: - Trong Tiêu chuẩn kỹ thuật này từ được gọi là "profile" được sử dụng như được định nghĩa dưới đây. Nhưng không nên nhầm lẫn với các định nghĩa khác của "profile" và đặc biệt nó không có ý nghĩa như được định nghĩa bởi ISO/IEC JTC1/Special Group về tiêu chuẩn hóa chức năng.
Profile và Level cung cấp một phương tiện để xác định các tập con của cú pháp và ngữ nghĩa của Tiêu chuẩn kỹ thuật này và do đó các khả năng bộ giải mã cần thiết để giải mã một dòng bit cụ thể. Một profile là một tập hợp con xác định của toàn bộ cú pháp dòng bit được xác định bởi Tiêu chuẩn kỹ thuật này. Một mức là một tập hợp các ràng buộc được định nghĩa đối với các tham số trong dòng bit. Các kiểm tra phù hợp sẽ được thực hiện với các profiles xác định ở các mức(Level) xác định.
Mục đích của việc xác định các điểm tuân thủ dưới dạng các profiles và các mức là tạo điều kiện trao đổi bit giữa các ứng dụng khác nhau. Các nhà thực hiện Tiêu chuẩn kỹ thuật này được khuyến khích sản xuất bộ giải mã và dòng bit tương ứng với các vùng xác định được xác định. Các profile và các mức được xác định một cách thận trọng là phương tiện trao đổi bit giữa các ứng dụng của Tiêu chuẩn kỹ thuật này.
Trong mục này các phần ràng buộc của các profile được định nghĩa và các mức được mô tả. Tất cả các phần tử cú pháp và giá trị tham số không bị hạn chế một cách rõ ràng có thể mất bất kỳ giá trị nào có thể được cho phép bởi Tiêu chuẩn kỹ thuật này. Nói chung, một bộ giải mã sẽ được coi là phù hợp với một profile nhất định ở một mức cụ thể nếu nó có khả năng giải mã tất cả các giá trị cho phép của tất cả các thành phần cú pháp như quy định bởi profile đó ở mức đó. Một trường hợp ngoại lệ đối với quy tắc này tồn tại trong trường hợp Bộ giải mã Simple profile Main level, cũng phải có khả năng giải mã các dòng bit Main profile, Low level. Một dòng bit sẽ được coi là phù hợp nếu nó không vượt quá phạm vi cho phép của giá trị và tài liệu không bao gồm các yếu tố cú pháp không được phép.
Chú thích ở mục 5.4 để xác định quy ước để xác định một dãy số. Điều này được sử dụng để xác định phạm vi của các giá trị và các thông số.
Profile_and_level_indication trong sequence_extension chỉ ra profile và mức mà dòng bit tuân thủ. Các bit quan trọng nhất của hồ sơ và chỉ thị mức độ được gọi là 'escape_bit'. Khi escape_bit được đặt là 0, profile và level được lấy từ profile_and_level_indication theo bảng 8-1, 8-2 và 8-3.
Bảng 8-1 - Ý nghĩa của các bit trong profile_and_level_indication
Bits | Kích thước trường (bits) | Ý nghĩa |
[7:7]1 | 1 | Escape bit |
[6:4] | 3 | Profile identification |
[3:0] | 4 | Level identification |
Bảng 8-2 xác định mã nhận dạng profile và Bảng 8-3 mã nhận dạng mức. Khi 'escape_bit' bằng 0, một profile có giá trị nhận dạng lớn hơn về số lượng sẽ là tập hợp con của một profile với giá trị nhận dạng nhỏ hơn về số lượng. Tương tự như vậy, bất cứ khi nào 'escape_bit' bằng không, một mức với một giá trị nhận dạng lớn hơn về số lượng sẽ là một tập hợp con của một mức với một giá trị nhận dạng nhỏ hơn về số lượng.
Bảng 8-2 - Nhận diện profile
Nhận diện profile | Profile |
110 đến 111 | (Dự phòng) |
101 | Simple (Đơn giản) |
100 | Main (chính) |
011 | SNR Scalable (phân cấp SNR) |
010 | Spatially Scalable (phân cấp không gian) |
001 | High (Cao) |
000 | (Dự phòng) |
Bảng 8-2 - Nhận diện mức
Nhận diện mức | Mức |
1011 đến 1111 | (Dự phòng) |
1010 | Low (thấp) |
1001 | (Dự phòng) |
1000 | Main (chính) |
0111 | (Dự phòng) |
0110 | High 1440 (mức cao 1440) |
0101 | (Dự phòng) |
0100 | High (cao) |
0011 | (Dự phòng) |
0010 | HighP |
0000 và 0001 | (Dự phòng) |
Bảng 8-4 mô tả các profiles và các mức khi 'escape_bit' bằng 1. Đối với các profiles và các mức không phân cấp từ việc ấn định profile_and_level_indication và các profiles và các mức không nhất thiết là tập con khác.
Chú thích đến Phụ lục E, mô tả chi tiết các bộ phận của Tiêu chuẩn kỹ thuật này được sử dụng cho các profiles và các mức nhất định.
CHÚ THÍCH 1 - Trong profile 4:2:2: Thuật toán nén của Tiêu chuẩn kỹ thuật này khai thác sự dư thừa thời gian, không gian và các thuộc tính nghe nhìn của con người và không phải là thuật toán không mất dữ liệu. Đối với các dãy có sự dư thừa không gian và thời gian đáng kể, hoặc không có nhiều đường nét/cạnh sắc nét, chất lượng của các dãy thu được sẽ làm giảm sự giải nén sẽ cao hơn so với các dãy có sự thừa thừa thấp hơn, hoặc với một số lượng lớn các đường nét/cạnh.
Profile 4:2:2 có thể cung cấp chất lượng video cao hơn, độ phân giải màu sắc tốt hơn và cho phép tốc độ bit cao hơn ở Main level lên đến 50 Mbit/s so với MP@ML. Nó cũng cung cấp khả năng mã hóa tất cả các dòng hoạt động của video
Mặc dù đây không phải là một phần của phân cấp của các profiles và các mức, Bộ giải mã 4:2:2 profile@Main level được yêu cầu để giải mã tất cả các luồng bit không thể đọc được bởi bộ giải mã MP@ML
Profile 4:2:2 không hỗ trợ khả năng mở rộng. Điều này cho phép thực hiện các kiến trúc tương tự như của MP@ML
Profile này có thể được sử dụng cho các ứng dụng yêu cầu nhiều thế hệ của mã hóa và giải mã Trong trường hợp nhiều thế hệ mà không có thao tác ảnh hoặc thay đổi trong kiểu mã ảnh giữa các thế hệ, chất lượng vẫn gần như không đổi sau thế hệ đầu tiên. Sử dụng thao tác ảnh hoặc thay đổi kiểu mã ảnh giữa các thế hệ gây ra một số sự xuống cấp về chất lượng. Tuy nhiên, chất lượng kết quả là chấp nhận được cho một loạt các ứng dụng.
Profile 4:2:2 cho phép mã hóa ảnh I. Điều này cho phép phục hồi cuối cùng từ lỗi truyền dẫn và có thể đơn giản hóa các ứng dụng chỉnh sửa Profile này cho phép tốc độ bit cao cần thiết để duy trì chất lượng cao trong khi chỉ sử dụng mã hóa ảnh I. Profile 4:2:2 cũng cho phép sử dụng các loại mã hóa ảnh P và B để cải thiện chất lượng hoặc giảm tốc độ bit cho cùng chất lượng.
Xem Phụ lục J để biết thêm thông tin về chất lượng ảnh của profile 4:2:2
CHÚ THÍCH 2 - Trên đặc tính đa chiều (Multi-view Profile): đặc tính đa chiều (MVP) được hình dung là một profile thích hợp cho các ứng dụng đòi hỏi nhiều quan điểm trong ngữ cảnh của Tiêu chuẩn kỹ thuật này. MVP hỗ trợ ảnh lập thể như ảnh nguồn của nó cho một loạt các độ phân giải ảnh và chất lượng theo yêu cầu của các ứng dụng sẽ được sử dụng. Một lớp cơ sở của MVP được gán cho một khung cảnh trái và một lớp tăng cường được gán cho một khung cảnh phải
Bảng 8-4- Xác định chỉ số thoát profile_ and_level_indication
profile_ and_level_indication | Tên |
10001111 đến 111 111 11 | (Dự phòng) |
10001110 | Multi-view profile@Low level |
10001101 | Multi-view profile@Main level |
10001100 | (Dự phòng) |
10001011 | Multi-view profile@High 14-10 level |
10001010 | Multi-view profile@High level |
10000110 đến 10001001 | (Dự phòng) |
10000101 | 4:2:2 profile@Main level |
10000011 đến 10000100 | (Dự phòng) |
10000010 | 4:2:2 profile@ High level |
10000000 đến 10000001 | (Dự phòng) |
Mã hóa đơn với các công cụ tương tự như đặc tính chính Main Profile (MP), bao gồm ISO/IEC 11172-2, được áp dụng cho lớp cơ sở. Một lớp tăng cường được mã hóa sử dụng các công cụ mốc thời gian và một dự đoán lai của chuyển động và chênh lệch có thể được sử dụng trong lớp tăng cường.
MVP được xem là một trong những profile có thể mở rộng về mặt nhiều lớp điểm quan sát, dự kiến sẽ có cùng một loại tính tương thích mà các profile có thể mở rộng khác có, như khả năng tương thích với MP. Ví dụ:
1) bộ giải mã tuân thủ MVP ở một mức nhất định có khả năng giải mã các dòng bit phù hợp với MP ở mức tương ứng (tức là tương thích chuyển tiếp);
2) bộ giải mã tương thích với MP ở một mức nhất định có khả năng giải mã dòng bit trong lớp cơ sở của MVP (tức là tương thích ngược).
8.1. Độ tương thích của ISO/IEC 11172-2
"các thông số ràng buộc" của ISO/IEC 11172-2 dòng bit sẽ được giải mã bởi bộ giải mã Simple, Main, SNR Scalable, Spatially Scalable and High profile, có thể mở rộng không gian và có độ phân giải Cao ở tất cả các mức. Ngoài ra các bộ giải mã Simple, Main, SNR Scalable, Spatially Scalable and High profile sẽ có thể giải mã các dòng bit chỉ có hình D của ISO / IEC 11172-2 nằm trong giới hạn mức của bộ giải mã.
8.2. Mối quan hệ giữa các Profile được xác định
Simple, Main, SNR Scalable, Scalable và High profiles có một mối quan hệ có tính phân cấp. Do đó, cú pháp được hỗ trợ bởi profile 'cao hơn' bao gồm tất cả các thành phần cú pháp của profile 'thấp hơn' (ví dụ: cho một cấp nhất định, bộ giải mã Main profile sẽ có thể giải mã dòng bit phù hợp với các ràng buộc Simple profile). Đối với một profile nhất định, cùng một bộ cú pháp được hỗ trợ bất kể mức độ. Thứ tự phân cấp được trình bày trong Bảng 8-2.
Sự khác nhau giữa các cú pháp ràng buộc của các profile được trình bày trong Bảng 8-5. Bảng này mô tả các giới hạn áp dụng cho một dòng bit. Lưu ý rằng bộ giải mã thích hợp Simple profile phải có khả năng giải mã đầy đủ cả dòng bits Simple profile, Main level and Main profile, Low level.
Bảng 8-5 - Cú pháp các ràng buộc của các Profile
Thành phần cấu thành | Profile | ||||||
Simple | Main | SNR | Spatial | High | 4:2:2 | Multi-view | |
chroma_format | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:2 hoặc 4:2:0 | 4:2:2 hoặc 4:2:0 | 4:2:0 |
frame_rate_extension_n | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
frame_rate_extensfon_d | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
aspect_ratio_information | 0001, 0010, 0011 | 0001, 0010, 0011 | 0001, 0010, 0011 | 0001, 0010, 0011 | 0001, 0010, 0011 | 0001, 0010, 0011 | 0001, 0010, 0011 |
picture_coding_type | I, P | I, P, B | I, P,B | I, P, B | I, P, B | I,P, B | I, P,B |
repeat_first_field | Bắt buộc | Không bắt buộc | Bắt buộc | Không bắt buộc | |||
sequence_scalable_ extension() | Không | Không | Có | Có | Có | Không | Có |
scalable_mode | - | - | SNR | SNR hoặc Spatial | SNR hoặc Spatial | - | Theo thời gian |
picture_spatial_scalable_ extension() | Không | Không | Không | Có | Có | Không | Không |
picture_temporal_scalabe_ extension() | Không | Không | Không | Không | Không | Không | Có |
intra_dc_precision | 8, 9, 10 | 8, 9, 10 | 8, 9, 10 | 8, 9, 10 | 8, 9,10, 11 | 8, 9,10, 11 | 8, 9, 10 |
Slice structure | Bị hạn chế 6.1.2.2 |
Đối với tất cả các Profile được xác định, có một hạn chế về độ dài dòng bit rằng tất cả dữ liệu cho một macroblock sẽ được trình bày với số lượng không lớn hơn số bit được chỉ ra trong Bảng 8-6. Tuy nhiên, tối đa hai macroblocks trong mỗi hàng nằm ngang của macroblocks có thể vượt quá giới hạn này.
Bảng 8-6: Số bit tối đa trong một khối macroblock
Định dạng sắc màu | Số bit tối đa |
4:2:0 | 4608 |
4:2:2 | 6144 |
4:2:2 (in 4:2:2 Profile) | Unconstrained (Không bị ràng buộc) |
4:4:4 | 9216 |
Trong ngữ cảnh này, một macroblock được coi là bắt đầu với bit đầu tiên của macroblock_address_increment (hoặc macroblock_escape, nếu có) và tiếp tục cho đến khi bit cuối cùng của cấu trúc cú pháp macroblock(). Các bit cần thiết để đại diện cho bất kỳ slice() nào đi trước (hoặc sau) macroblock không được tính là một phần của macroblock.
Các High profiles cũng được phân biệt bởi có những ràng buộc khác nhau về tỷ lệ mẫu độ chói, tốc độ bit tối đa, và kích thước bộ đệm VBV. Xem bảng 8-12, 8-13 và 8-14.
Bộ giải mã là Simple profile@Main level tuân thủ sẽ có khả năng giải mã dòng bit Main profile@Low level.
Table 8-7 - Các ràng buộc sử dụng repeat_first_field hoặc Simple and Main Profiles
frame_rate_code | Frame_rate_vaIue | Repeat_first_field | |
Progressive_ Sequence == 0 | Progressive_ Sequence == 1 | ||
0000 | Cấm |
|
|
0001 | 24 000 ÷ 1001 (23.976...) | 0 | 0 |
0010 | 24 | 0 | 0 |
0011 | 25 | 0 hoặc 1 | 0 |
0100 | 30 000 ÷ 1001 (29.97...) | 0 hoặc 1 | 0 |
0101 | 30 | 0 hoặc 1 | 0 |
0110 | 50 | 0 hoặc 1 | 0 |
0111 | 60 000 ÷ 1001 (59.94...) | 0 hoặc 1 | 0 hoặc 1 |
1000 | 60 | 0 hoặc 1 | 0 hoặc 1 |
…………. | Dự phòng |
|
|
1111 | Dự phòng |
|
|
Các ràng buộc còn tồn tại đối với Main profile @Main và Simple profile @ Main level chỉ khi:
● Nếu (vertical_size> 480 lines) hoặc (frame_rate is "25Hz") sau đó nếu loại mã ảnh = = 011 (tức là ảnh B), repeat_first_field sẽ là 0.
● nếu vertical_size> 480 dòng frame_rate phải là "25Hz"
Ngoài ra, những ràng buộc sau đây tồn tại cho profile 4:2:2 profile @ Main level chỉ khi:
● nếu kích thước theo chiều dọc> 512 dòng,
● sau đó nếu picture_coding_type = 011 (tức là ảnh B), trường lặp lại đầu tiên sẽ là 0;
● nếu kích thước theo chiều dọc> tốc độ khung hình 512 dòng sẽ là "25Hz".
8.3. Mối quan hệ giữa các mức đã xác định
8.4. Các lớp có thể mở rộng
Các profiles SNR Scalable, Spatial Scalable, High and Multi-view có thể sử dụng nhiều hơn một dòng bit để mã hóa ảnh. Các dòng bit khác nhau đại diện cho các lớp mã hóa, khi kết hợp tạo ra một ảnh chất lượng cao hơn so với có thể đạt được (chỉ phông một lớp) (xem Phụ lục F) Số lớp tối đa cho một profile nhất định được xác định trong Bảng 8-9. được đặt tên theo bảng 7-31 Các ràng buộc cú pháp và tham số cho các kết hợp đặc tính /mức khi mã hóa bằng cách sử dụng số lượng tối đa cho phép các lớp được cho trong các bảng 8-11, 8-12, 8-13 và 8-14. số lớp ít hơn mức tối đa cho phép, nên tham khảo thêm các bảng E-21 đến E-46 nếu thích hợp.
Cần lưu ý rằng một dòng bit của lớp cơ sở SNR Scalable và Multi-view profile luôn có thể được giải mã bằng bộ giải mã Main profile tương đương. Ngược lại, một dòng bit Main profile sẽ có thể được giải mã hoặc là bằng bộ giải mã profile SNR Scalable hoặc là bằng bộ giải mã profile Multi-view với mức tương đương.
Bảng 8-8 - Các ràng buộc về tham số cho các mức
a) Đối với các bitstream đơn giản mà không bao gồm các ảnh B. f_code [1] [0] và f_code [1] [1] sẽ được đặt thành 15 (không được sử dụng). b) Hạn chế này áp dụng cho vector chuyển động cuối cùng được tái tạo. Trong trường hợp vectơ chuyển động kép, giới hạn này áp dụng cho tất cả các giá trị sau: c) Trong bảng này, 'NA' chỉ ra một ràng buộc mà không áp dụng do một ràng buộc về giá trị của cấu trúc ảnh. |
Bảng 8-9 - Giới hạn trên cho các lớp có thể mở rộng trong SNR Scalable_Spatial Scalable High and Multi-view profiles
Level | Số lớn nhất của... | Profile | |||
SNR | SpatiaI | High | Multi-view | ||
High | Tất cả các lớp (cơ sở + tăng cường) |
|
| 3 | 2 |
| Các lớp tăng cường theo không gian |
|
| 1 | 0 |
| Các lớp tăng cường SNR |
|
| 1 | 0 |
| Các lớp phụ trợ theo thời gian |
|
| 0 | 1 |
High-1440 | Tất cả các lớp (cơ sở + tăng cường) |
| 3 | 3 | 2 |
| Các lớp tăng cường theo không gian |
| 1 | 1 | 5 |
| Các lớp tăng cường SNR |
| 1 | 1 | 0 |
| Các lớp phụ trợ theo thời gian |
| 0 | 0 | 1 |
Main | Tất cả các lớp (cơ sở + tăng cường) | 2 |
| 3 | 2 |
| Các lớp tăng cường theo không gian | 0 |
| 1 | 0 |
| Các lớp tăng cường SNR | 1 |
| 1 | 0 |
| Các lớp phụ trợ theo thời gian | 0 |
| 0 | 1 |
Low | Tất cả các lớp (cơ sở + tăng cường) | 2 |
|
| 2 |
| Các lớp tăng cường theo không gian | 0 |
|
| 0 |
| Các lớp tăng cường SNR | 1 |
|
| 0 |
| Các lớp phụ trợ theo thời gian | 0 |
|
| 1 |
8.4.1. Kết hợp lớp cho phép
Bảng 8-10 là tóm tắt các kết hợp cho phép, và phải tuân theo các quy tắc sau:
● SNR Scalable and Multi-view profile: tối đa 2 lớp; Spatial Scalable and High profile: tối đa 3 lớp. (Xem bảng 8-9.)
● Chỉ có một SNR và một Spatial scale cho phép trong các kết hợp 3 lớp, cho phép SNR/Spatial hoặc Spatial/SNR được cho phép. (Xem Bảng 8-9.)
● Chroma simulcast, cho phép thêm 4:2:2 thông tin màu vào một lớp cơ sở 4:2:0 và được định nghĩa trong 7.8 được thực hiện với khả năng mở rộng SNR.
● Một lớp 4:2:0 không được phép nếu lớp dưới là 4:2:2. (Xem 7.7.3.3)
● (level - 1) được định nghĩa như sau:
- if level is Main, (level - 1) is Low;
- if level is High - 1440, (level - 1 ) is Main;
- if level is High, (level - 1) is High - 1440.
Bảng 8-10 - Kết hợp các lớp cho phép
a) Bộ giải mã tuân thủ đơn giản nhất để giải mã lớp cơ sở được xác định, giả sử rằng dòng bit có thể chứa bất kỳ cú pháp và giá trị tham số nào cho phép đối với profile được nêu ở mức, ngoại trừ khả năng mở rộng. Lưu ý rằng đối với các luồng bitrate không gian High profile@ Main level. 'HP@(level - 1)' trở thành 'MP @ (level - 1)'. Trong trường hợp một lớp cơ sở dòng bit sử dụng ít hơn các yếu tố cú pháp hoặc phạm vi tham số giảm hơn được cho phép, profile_and_level_indication có thể cho biết một 'đơn giản hơn' profile@level b) Lưu ý rằng định dạng màu 4:2:2 không được hỗ trợ như là một lớp không gian thấp hơn của High profile @ Main level (xem Bảng 8-12). |
Chi tiết các giới hạn tham số khác nhau có thể được áp dụng trong mỗi lớp của dòng bit và hồ sơ thích hợp tương ứng và_level_indication cần được sử dụng được đưa ra trong các bảng E.21 đến E.52.
8.4.2. Các ràng buộc cụ thể về Multi-view Profile
Cả hai lớp tăng cường và lớp cơ sở có cùng tốc độ khung.
MUX mux cho phép, trật tự picture mux và yếu tố mux ảnh không được sử dụng trong profile này và sẽ bị bỏ qua.
Mã lựa chọn tham chiếu phải là "00" hoặc "01" đối với khung P trong lớp tăng cường. reference_select_code phải là "01" cho các khung B trong lớp tăng cường.
Nếu khung mã căn cứ là khung đầu tiên của Nhóm ảnh, thì khung tương ứng trong lớp tăng cường phải là khung I hoặc khung P với giá trị reference_select_code của "01".
Trong một ảnh trường P với reference_select_code = = "01" và đó là trường đầu tiên của một khung, giới hạn sau đây áp dụng:
- Không được sử dụng dự đoán kép.
- Dự đoán trường trong đó motion_vertieal_field_select cho biết trường thứ hai của khung lớp cơ sở sẽ không được sử dụng.
Nếu lớp cơ sở và các lớp nâng cấp không có cùng giá trị cho trường đầu tiên, sẽ không có macroblocks được mã hóa với macroblock_motion_forward zero và macroblock_intra zero.
- Nếu lớp cơ sở và lớp tăng cường không có cùng giá trị cho top_field_first, sẽ không có macroblocks bỏ qua.
Trong ảnh trường B là trường đầu tiên của một khung, dự đoán sẽ không tạo ra tham chiếu đến trường thứ hai của khung lớp cơ sở tương ứng.
Đó là vốn có trong Multi-view Profile rằng hai lớp được kết hợp chặt chẽ với nhau. Yêu cầu các ảnh trong lớp tăng cường phải được giải mã ngay sau khi các ảnh tham chiếu tương ứng được yêu cầu được giải mã trừ khi yêu cầu này làm cho một lớp giải phóng các ảnh của lớp tăng cường ngoài thứ tự hiển thị. Trong trường hợp đó, các ảnh trong lớp tăng cường phải được giải mã theo thứ tự hiển thị.
8.5. Giá trị tham số cho các profiles, levels và lớp đã xác định
Xem Bảng 8-11.
Bảng 8-11- Giới hạn trên cho mật độ lấy mẫu
Level | Spatial resolution layer |
| Profile | ||||||
Simple | Main | SNR | Spatial | High | 4:2:2 | Multi | |||
| Enhancement | Samples/line |
| 1920 |
|
|
|
|
|
|
| Lines/frame |
| 1080 |
|
|
|
|
|
HighP |
| Frames/sec |
| 60 |
|
|
|
|
|
Lower | Samples/line |
|
|
|
|
|
|
| |
|
| Lines/frame |
| - |
|
|
|
|
|
|
| Frames /sec |
|
|
|
|
|
|
|
| Enhancement | Samples line |
| 1920 |
|
| 1920 | 1920 | 1920 |
|
| Lines frame |
| 1080 |
|
| 1080 | 1080 | 1080 |
High |
| Frames stv |
| 60 |
|
| 60 | 60 | 60 |
Lower | Samples/line |
|
|
|
| 960 |
| 1920 | |
|
| Lines/frame |
| - |
|
| 576 | - | 1080 |
|
| Frames/sec |
|
|
|
| 30 |
| 60 |
High- | Enhancement | Samples/line |
| 1440 |
| 1440 | 1440 |
| 1440 |
1440 |
| Lines/frame |
| 1080 |
| 1080 | 1080 | - | 1080 |
|
| Frames/sec |
| 60 |
| 60 | 60 |
| 60 |
| Lower | Samples/line |
|
|
| 720 | 720 |
| 1440 |
|
| Lines/frame |
| - |
| 576 | 576 | - | 1080 |
|
| Frames/sec |
|
|
| 30 | 30 |
| 60 |
| Enhancement | Samples/line | 720 | 720 | 720 |
| 720 | 720 | 720 |
|
| Lines/frame | 576 | 576 | 576 |
| 576 | 576 | 576 |
Main |
| Frames/sec | 30 | 30 | 30 |
| 30 | 30 | 30 |
| Lower | Samples/line |
|
|
|
| 352 |
| 720 |
|
| Lines/frame | - | - | - |
| 288 | - | 576 |
|
| Frames/sec |
|
|
|
| 30 |
| 30 |
| Enhancement | Samples/line |
| 352 | 352 |
|
|
| 352 |
|
| Lines/frame |
| 288 | 288 |
|
| - | 288 |
Low |
| Frames/sec |
| 30 | 30 |
|
|
| 30 |
| Lower | Samples/line |
|
|
|
|
|
| 352 |
|
| Lines/frame |
| - | - |
|
| - | 288 |
|
| Frames/sec |
|
|
|
|
|
| 30 |
Trong trường hợp mã hóa một lớp hoặc mã hóa SNR, các giới hạn được chỉ định bởi áp dụng 'Lớp tăng cường'. a) 512 dòng/khung cho 512/60, 608 dòng/khung cho 625/50 |
Các thành phần cú pháp được tham chiếu bởi bảng này như sau:
- mẫu/dòng: horizontal_size;
- Dòng/Mành: vertical_size;
- mành/giây: tốc độ mành.
Giới hạn trên cho frame_rate là như nhau đối với cả hai progressive_sequence = = 0 và progressive_sequence = = 1.
Bảng 8-12 - Giới hạn trên đối với tỷ lệ lấy mẫu độ chói (mẫu/s)
Level | Spatial resolution layer | Profile | ||||||
Simple | Main | SNR | Spatial | High | 4:2:2 | Multi-view | ||
HighP | Enhancement |
| 125 337 600 |
|
|
| - |
|
Lower |
| - |
|
|
| - |
| |
High | Enhancement |
| 62 668 800 |
|
| 62 668 800 (4:2:2) | 62 668 800 | 62 668 800 |
|
|
|
|
| 83 558 400 (4:2:0) |
|
| |
Lower |
| - |
|
| 14 745 600 (4:2:2) |
| 62 668 800 | |
|
|
|
|
| 19 660 800 (4:2:0) |
|
| |
High-1440 | Enhancement |
| 47 001 600 |
| 47 001 600 | 47 001 600 (4:2:2) | - | 47 001 600 |
|
|
|
|
| 62 668 800 (4:2:0) |
|
| |
Lower |
|
|
| 10 368 000 | 11 059 200 (4:2:2) | - | 47 001 600 | |
|
|
|
|
| 14 745 600 (4:2:0) |
|
| |
Main | Enhancement | 10 368 000 | 10 368 000 | 10 368 000 |
| 11 059 200 (4:2:2) | 11 059 200 | 10 368 000 |
|
|
|
|
| 14 745 600 (4:2:0) |
|
| |
Lower | - | - | - |
| - | - | 10 368 000 | |
|
|
|
|
| 3 041 280 (4:2:0) |
|
| |
Low | Enhancement |
| 3 041 280 | 3 041 280 |
|
| - | 3 041 280 |
Lower |
| - | - |
|
| - | 3 041 280 |
Trong trường hợp mã hóa một lớp hoặc mã hóa SNR, các giới hạn được chỉ định bởi áp dụng 'Lớp tăng cường'. |
Tỷ lệ mẫu độ chói P được định nghĩa như sau:
- For progressive_sequence == 1 :
P = ( 16 * ((horizontal_size + 15)/16)) x ( 16 * ((vertical_size + 15)/16)) x frame_rate
- For progressive_sequence == 0:
P = ( 16 * ((horizontal_size +15)/16)) x (32 * ((vertical_size + 31)/ 32)) x frame_rate
8.6. Yêu cầu về bộ giải mã tương thích
Bảng 8-15 xác định các yêu cầu đối với các bộ giải mã. Có một yêu cầu rằng một bộ giải mã của một profile và mức được biểu diễn bởi một cột trong Bảng 8-15 có khả năng giải mã đúng tất cả các dòng bit với profile và chỉ thị mức đánh dấu bởi một X trong cột. Trong trường hợp hệ thống phân cấp có thể mở rộng của các dòng bit, profile và mức độ chỉ thị là của tầng trên.
Chú thích: Đối với các Profile và mức tuân theo cấu trúc phân cấp, mỗi lớp của dòng bit chứa profile_and_level_indicatlon của bộ giải mã "đơn giản" có khả năng giải mã thành công lớp đó của dòng bit. profile_and_level_indication Escape_bit == 0, đây sẽ là số lớn nhất về số lượng giá trị hợp lệ của profile_and_level_indication.
Bảng 8-13 -Giới hạn trên của tốc độ (Mbit/s)
Level | Profile | ||||||
Simple | Main | SNR | Spatial | High | 4:2:2 | Multi-view | |
HighP |
| 80 |
|
|
|
|
|
High |
| 80 |
|
| 100 tất cả các lớp 80 giữa + lớp cơ sở 25 lớp cơ sở | 300 | 130 cả hai lớp |
High-1440 |
| 60 |
| 60 tất cả các lớp 40 giữa + lớp cơ sở 15 lớp cơ sở | 80 tất cả các lớp 60 giữa + lớp cơ sở 20 lớp cơ sở | - | 100 cả hai lớp |
Main | 15 | 15 | 15 cả các lớp |
| 20 tất cả các lớp 15 giữa + lớp cơ sở 4 lớp cơ sở | 50 | 25 cả hai lớp 15 lớp cơ sở |
Low |
| 4 | 4 cả các lớp 3 lớp cơ bản |
|
| - | 8 cả hai lớp 4 lớp cơ sở |
CHÚ THÍCH 1 - Điều này (có thể xác định tốc độ hoạt động tối đa của VBV cho một bitstream được mã hóa của profile và mức độ nhất định. Tốc độ này được chỉ ra bởi bit_rate (xem 6.3.3). CHÚ THÍCH 2 - Bảng này xác định tốc độ dữ liệu cho phép tối đa cho tất cả các lớp đến và bao gồm cả lớp được định hình. Đối với các ứng dụng mã hóa nhiều lớp, tỷ lệ dữ liệu được phân bổ giữa các lớp được hạn chế bởi tỷ lệ tối đa cho phép đối với một lớp nhất định như đã nêu trong bảng này. CHÚ THÍCH 3 - 1 Mbit = 1000 000 bits |
Bảng 8-14 - Yêu cầu về kích thước bộ đệm của VBV (bit)
Level | Layer | Profile | ||||||
Simple | Main | SNR | Spatial | High | 4:2:2 | Multi-view | ||
HighP | Enhancement 2 |
|
|
|
|
|
|
|
Enhancement 1 |
|
|
|
|
|
|
| |
Base |
| 9 781 248 |
|
|
|
|
| |
High | Enhancement 2 |
|
|
|
| 12 222 464 |
| - |
Enhancement 1 |
|
|
|
| 9 781 248 |
| 15 898 480 | |
Base |
| 9 781 248 |
|
| 3 047 424 | 47 185 920 | 9 787 248 | |
High-1440 | Enhancement 2 |
|
|
| 7 340 032 | 9 781 248 |
| - |
Enhancement 1 |
|
|
| 4 882 432 | 7 340 032 |
| 12 222 464 | |
Base |
| 7 340 032 |
| 1 835 008 | 2 441 216 |
| 7 340 032 | |
Main | Enhancement 2 |
|
| - |
| 2 441 216 |
| - |
Enhancement 1 |
|
| 1 835 008 |
| 1 835 008 |
| 3 047 424 | |
Base | 1 835 008 | 1 835 008 | 1 212 416 |
| 475 136 | 9 437 184 | 1 835 008 | |
Low | Enhancement 2 |
|
| - |
|
| - |
|
Enhancement 1 |
|
| 475 136 |
|
|
| 950 272 | |
Base |
| 475 136 | 360 448 |
|
|
| 475 136 |
CHÚ THÍCH 1 - Kích thước bộ đệm được tính tỷ lệ với tốc độ bit cho phép tối đa, được làm tròn xuống đến gần nhất của nhiều bit 16 x 1024 bit. Giá trị tham chiếu cho việc mở rộng là kích thước bộ đệm Main profile, Main level. CHÚ THÍCH 2 - Bảng này mô tả tổng kích thước bộ đệm bộ giải mã cần thiết để giải mã tất cả các lớp đến và bao gồm cả lớp đã nêu. Đối với các ứng dụng mã hóa đa lớp, việc phân bổ bộ nhớ đệm giữa các lớp được hạn chế bởi kích thước tối đa cho phép của một lớp nhất định như được nêu trong bảng này CHÚ THÍCH 3- Phần tử cú pháp tương ứng với bảng này là vbv_buffer_size (xem 6.3.3). |
Bảng 8-15 - Khả năng tương thích về chuyển tiếp giữa các profiles và các mức khác nhau
X chỉ ra rằng bộ giải mã sẽ có thể giải mã luồng bit, bao gồm tất cả các lớp dưới có liên quan. a) Các bộ giải mã SP@ML được yêu cầu giải mã các dòng bit MP @ LL. b) Bộ giải mã Profile@Main level 4 2: 2 sẽ có thể giải mã các dòng bit Profile@Main level, Profiler@ Low level và Simple profile@Main level, cũng như các các dòng bit tham số của hệ thống bị ràng buộc như trong ISO/IEC 11172-2. c) Một Bộ giải mã Profile@Main level 4:2:2 có thể giải mã 4:2:2P@ML, MP@HL, MP@H-14, MP@ML, MP@LL và SP@ML như ràng buộc các dòng bit tham số hệ thống ISO/IEC 11172-2. |
9. Nhận dạng Đăng ký bản quyền
9.1. Tổng quát
Các phần 1.2. và 3 của ISO/IEC 13818 cung cấp hỗ trợ cho việc quản lý bản quyền nghe nhìn. Trong ITU-T H.222.0 | ISO/IEC 13818-1, mô tả bản quyền, trong khi trong Tiêu chuẩn Kỹ thuật này và ISO/IEC 13818-3 chứa các trường để xác định chủ sở hữu bản quyền thông qua các trường cú pháp trong cú pháp sơ cấp luồng. Tiêu chuẩn Kỹ thuật này trình bày phương pháp thu thập và đăng ký nhận dạng bản quyền ở trong Tiêu chuẩn Kỹ thuật này.
Tiêu chuẩn Kỹ thuật này chỉ định một bản quyền 32 bit độc quyền mà là mã định danh mã tác phẩm (như ISBN, ISSN, ISRC, ..v.v..) được thực hiện trong mô tả bản quyền. Các copyright_identifier cho phép xác định một số lượng lớn các cơ quan đăng ký bản quyền. Mỗi cơ quan đăng ký bản quyền có thể chỉ định một cú pháp và ngữ nghĩa để xác định các tác phẩm nghe nhìn hoặc các tác phẩm có bản quyền khác trong tổ chức bản quyền cụ thể đó thông qua việc sử dụng đúng trường chiều dài biến tố additional_copyright_info có chứa số bản quyền.
Trong phần các phụ lục G, H và I, các lợi ích và trách nhiệm của tất cả các bên trong việc đăng ký bản xác nhận bản quyền được nêu ra.
9.2. Hoạt động của Cơ quan đăng ký bản quyền (RA)
ISO/IEC JTC 1 sẽ yêu cầu đề cử cho một tổ chức quốc tế sẽ làm cơ quan đăng ký cho bản quyền tác giả theo quy định tại Tiêu chuẩn Kỹ thuật này. Tổ chức được lựa chọn sẽ là Cơ quan đăng ký. Cơ quan đăng ký tên như vậy sẽ thực hiện các nghĩa vụ của mình phù hợp với Phụ lục H của Chỉ thị JTC 1. Copyright_identifier được đăng ký dưới đây được gọi là Mã số đăng ký (RID).
Sau khi lựa chọn Cơ quan Đăng ký, JTC 1 yêu cầu thành lập một Nhóm Quản lý Đăng ký (RMG) sẽ xem xét lại trường kháng cáo của các tổ chức yêu cầu RID được sử dụng kết hợp với Tiêu chuẩn Kỹ thuật này đã bị cơ quan đăng ký chối bỏ.
Phụ lục G, H và I của Tiêu chuẩn Kỹ thuật này cung cấp thông tin về thủ tục đăng ký một bản quyền độc quyền.
Phụ lục A (Quy định)
Phép biến đổi cosine rời rạc đảo ngược
Biến đổi cosine rời rạc số thực số học hai chiều NxN hai chiều (IDCT) được xác định như sau:
Với: u, v, x, y = 0, 1,2,... N - 1
Trong đó: x, y là tọa độ không gian trong miền mẫu
u, v là tọa độ trong miền biến đổi
f(x,y) và F(u,v) là số thực cho mỗi cặp giá trị (x,y) và (u,v)
π là hằng số Archimedes 3,141 592 653 589 793 238 462 634 …
Biến đổi cosine rời rạc số thực số học hai chiều NxN (DCT) được xác định như sau:
Ở đây: x, y, u, v, f(x,y) và F(u,v) được định nghĩa như đã nêu ở trên cho định nghĩa IDCT.
Định nghĩa của DCT (còn gọi là chuyển tiếp DCT) là thông tin thuần túy. Chuyển tiếp DCT không được sử dụng bởi quá trình giải mã được quy định trong Tiêu chuẩn Kỹ thuật này.
Đối với các mục đích của Tiêu chuẩn Kỹ thuật này, giá trị N sẽ được tính bằng 8.
Số nguyên số học IDCT được định nghĩa là:
f’(x,y) = round(f(x,y))
Với f(x,y) được tạo ra bởi IDCT số thực toán học như đã nêu ở trên cho mỗi giá trị của x và y, trong đó round() biểu thị làm tròn đến số nguyên gần nhất, với các giá trị nửa số nguyên được làm tròn đi từ số không.
Các IDCT chức năng được sử dụng trong quá trình giải mã để tính các giá trị số nguyên/ f[y][x] có thể sử dụng bất kỳ phương pháp xấp xỉ số nguyên của con số số học IDCT kết quả f(x,y), miễn là chức năng phù hợp với tất cả các yêu cầu được quy định trong ISO/IEC 23002-1 và các phụ lục A và B của chức năng đó và có độ chính xác đủ để các lỗi đáng kể không xảy ra trong các giá trị cuối cùng của các số nguyên.
Chú thích - Ngoài ra yêu cầu trên, mong muốn rằng đầu ra số nguyên của hàm IDCT f[y][x] được sử dụng trong quá trình giải mã bổ sung tạo ra kết quả càng gần càng khả thi đối với kết quả của số nguyên IDCT cho các giá trị đầu vào gây ra một hoặc nhiều phần tử f’(x,y) của đầu ra của số nguyên IDCT số toán học để phần nào vượt quá phạm vi của [-384. 383].
Phụ lục B (Quy định)
Bảng mã chiều dài thay đổi
B.1. Địa chỉ Macroblock
Xem Bảng B.1.
Bảng B.1 - Các mã chiều dài thay đổi cho khối macroblock_address_increment
macroblock_address_ increment VLC code | Increment value | macroblock_address_ increment VLC code | Increment value |
1 | 1 | 0000 0101 01 | 18 |
011 | 2 | 0000 0101 00 | 19 |
010 | 3 | 0000 0100 11 | 20 |
0011 | 4 | 0000 0100 10 | 21 |
0010 | 5 | 0000 0100 011 | 22 |
0001 1 | 6 | 0000 0100 010 | 23 |
0001 0 | 7 | 0000 0100 001 | 24 |
0000 111 | 8 | 0000 0100 000 | 25 |
0000 110 | 9 | 0000 0011 111 | 26 |
0000 1011 | 10 | 0000 0011 110 | 27 |
0000 1010 | 11 | 0000 0011 101 | 28 |
0000 1001 | 12 | 0000 0011 100 | 29 |
0000 1000 | 13 | 0000 0011 011 | 30 |
0000 0111 | 14 | 0000 0011 010 | 31 |
0000 0110 | 15 | 0000 0011 001 | 32 |
0000 0101 11 | 16 | 0000 0011 000 | 33 |
0000 0101 10 | 17 | 0000 0001 000 | macroblock_escape |
Chú thích - Mục "macroblock_stuffing" có trong ISO/IEC 11172-2 không có trong Tiêu chuẩn Kỹ thuật này
B.2. Kiểu Macroblock
Các thuộc tính của macroblock được xác định bởi các macroblock loại VLC theo bảng B.2 đến B.8.
Bảng B.2 - Mã chiều dài thay đổi cho macroblock type trong ảnh I
Bảng B.3 - Mã chiều dài thay đổi cho macroblock_type trong ảnh P
Bảng B.4 - Mã chiều dài thay đổi cho macroblock_type trong ảnh B
Bảng B.5 - Mã chiều dài thay đổi cho macroblock_type trong ảnh I với khả năng mở rộng không gian
Bảng B.6 - Mã chiều dài thay đổi cho macroblock_type trong ảnh P với khả năng mở rộng theo không gian
Bảng B.7 - Mã chiều dài thay đổi cho macroblock_type trong ảnh B với khả năng mở rộng theo không gian
Bảng B.8- Mã chiều dài thay đổi cho macroblocktype trong ảnh I, ảnh P và ảnh B với khả năng mở rộng SNR
B 3. Mẫu khối Macroblock
Xem Bảng B.9.
Bảng B.9 - Mã chiều dài thay đổi cho coded_block_pattern
coded_block_pattern | cbp | coded_bIock_pattern | cbp |
111 | 60 | 0001 1100 | 35 |
1101 | 4 | 0001 1011 | 13 |
1100 | 8 | 0001 1010 | 49 |
1011 | 16 | 0001 1001 | 21 |
1010 | 32 | 0001 1000 | 41 |
1001 1 | 12 | 0001 0111 | 14 |
1001 0 | 48 | 0001 0110 | 50 |
1000 1 | 20 | 0001 0101 | 22 |
1000 0 | 40 | 0001 0100 | 42 |
0111 1 | 28 | 0001 0011 | 15 |
01110 | 44 | 0001 0010 | 51 |
0110 1 | 52 | 0001 0001 | 23 |
01100 | 56 | 0001 0000 | 43 |
0101 1 | 1 | 0000 1111 | 25 |
0101 0 | 61 | 0000 1110 | 37 |
0100 1 | 2 | 0000 1101 | 26 |
01000 | 62 | 0000 1100 | 38 |
0011 11 | 24 | 0000 1011 | 29 |
0011 10 | 36 | 0000 1010 | 45 |
0011 01 | 3 | 0000 1001 | 53 |
0011 00 | 63 | 0000 1000 | 57 |
0010 111 | 5 | 0000 0111 | 30 |
0010 110 | 9 | 0000 0110 | 46 |
0010 101 | 17 | 0000 0101 | 54 |
0010 100 | 33 | 00000100 | 58 |
0010 011 | 6 | 0000 00111 | 31 |
0010010 | 10 | 0000 00110 | 47 |
0010 001 | 18 | 0000 00101 | 55 |
0010 000 | 34 | 0000 00100 | 59 |
0001 1111 | 7 | 0000 00011 | 27 |
0001 1110 | 11 | 0000 00010 | 39 |
0001 1101 | 19 | 0000 00001 | 0 (Chú thích) |
Chú thích: Mục này sẽ không được sử dụng với cấu trúc độ sắc màu 4:2:0. |
Bảng B.11 - Mã chiều dài thay đổi cho dmvector[t]
Mã | Giá trị |
11 | -1 |
0 | 0 |
10 | 1 |
B.5. Hệ số DCT
Xem bảng B. 12 đến B. 16.
Bảng B.12 - Mã chiều dài thay đổi cho dct_dc_size_luminance
Mã chiều dài thay đổi | dct_dc_size_luminance |
100 | 0 |
00 | 1 |
01 | 2 |
101 | 3 |
110 | 4 |
1110 | 5 |
11110 | 6 |
111110 | 7 |
1111 110 | 8 |
11111110 | 9 |
1111 1110 | 10 |
1111 1111 | 11 |
Bảng B.13 - Mã chiều dài thay đổi cho dct_dc_size_chrominance
Mã chiều dài thay đổi | dct_dc_size_chrominance |
00 | 0 |
01 | 1 |
10 | 2 |
110 | 3 |
1110 | 4 |
11110 | 5 |
1111 10 | 6 |
1111 110 | 7 |
1111 1110 | 8 |
1111 11110 | 9 |
1111 1111 10 | 10 |
1111111111 | 11 |
Bảng B.14 - Các hệ số DCT Bảng 0 (zero)
Mã chiều dài thay đổi (Chú thích 1) | Run | Level |
10 (Chú thích 2) | End of Block |
|
1 s (Chú thích 3) | 0 | 1 |
11 s (Chú thích 4) | 0 | 1 |
011 s | 1 | 1 |
0100 s | 0 | 2 |
0101 s | 2 | 1 |
0010 1 s | 0 | 3 |
0011 1 s | 3 | 1 |
0011 0 s | 4 | 1 |
0001 10 s | 1 | 2 |
0001 11 s | 5 | 1 |
0001 01 s | 6 | 1 |
0001 00 s | 7 | 1 |
0000 110 s | 0 | 4 |
0000 100 s | 2 | 2 |
0000 111 s | 8 | 1 |
0000 101 s | 9 | 1 |
0000 01 | Escape |
|
0010 0110 s | 0 | 5 |
0010 0001 s | 0 | 6 |
0010 0101 s | 1 | 3 |
0010 0100 s | 3 | 2 |
0010 0111 s | 10 | 1 |
0010 0011 s | 11 | 1 |
0010 0010 s | 12 | 1 |
0010 0000 s | 13 | 1 |
0000 0010 10 s | 0 | 7 |
0000 0011 00 s | 1 | 4 |
0000 0010 11 s | 2 | 3 |
0000 0011 11 s | 4 | 2 |
0000 0010 01 s | 5 | 2 |
0000 0011 10 s | 14 | 1 |
0000 0011 01 s | 15 | 1 |
0000 0010 00 s | 16 | 1 |
0000 0001 1101 s | 0 | 8 |
0000 0001 1000 s | 0 | 9 |
0000 0001 0011 s | 0 | 10 |
0000 0001 0000 s | 0 | 11 |
0000 0001 1011 s | 1 | 5 |
0000 0001 0100 s | 2 | 4 |
0000 0001 1100 s | 3 | 3 |
0000 0001 0010 s | 4 | 3 |
0000 0001 1110 s | 6 | 2 |
0000 0001 0101 s | 7 | 2 |
0000 0001 0001 s | 8 | 2 |
0000 0001 1111 s | 17 | 1 |
0000 0001 1010 s | 18 | 1 |
0000 0001 1001 s | 19 | 1 |
0000 0001 011 1 s | 20 | 1 |
0000 0001 0110 s | 21 | 1 |
0000 0000 1101 0 s | 0 | 12 |
0000 0000 1100 1 s | 0 | 13 |
0000 0000 1100 0 s | 0 | 14 |
0000 0000 1011 1 s | 0 | 15 |
0000 0000 1011 0 s | 1 | 6 |
0000 0000 1010 1 s | 1 | 7 |
0000 0000 1010 0 s | 2 | 5 |
0000 0000 1001 1 s | 3 | 4 |
0000 0000 1001 0 s | 5 | 3 |
0000 0000 1000 1 s | 9 | 2 |
0000 0000 1000 0 s | 10 | 2 |
0000 0000 1111 1 s | 22 | 1 |
0000 0000 111 10 s | 23 | 1 |
0000 0000 11101 s | 24 | 1 |
0000 0000 1110 0 s | 25 | 1 |
0000 0000 1101 1 s | 26 | 1 |
0000 0000 0111 11 s | 0 | 16 |
0000 0000 011 1 10 s | 0 | 17 |
0000 0000 0111 01 s | 0 | 18 |
0000 0000 0111 00 8 | 0 | 19 |
0000 0000 0110 11 s | 0 | 20 |
0000 0000 0110 10 s | 0 | 21 |
0000 0000 0110 01 s | 0 | 22 |
0000 0000 0110 00 s | 0 | 23 |
0000 0000 0101 11 s | 0 | 24 |
0000 0000 0101 10 s | 0 | 25 |
0000 0000 0101 01 s | 0 | 26 |
0000 0000 0101 00 s | 0 | 27 |
0000 0000 0100 11 s | 0 | 28 |
0000 0000 0100 10 s | 0 | 29 |
0000 0000 0100 01 s | 0 | 30 |
0000 0000 0100 00 s | 0 | 31 |
0000 0000 0011 000 s | 0 | 32 |
0000 0000 0010 111 s | 0 | 33 |
0000 0000 0010 110 s | 0 | 34 |
0000 0000 0010 101 s | 0 | 35 |
0000 0000 0010 100 s | 0 | 36 |
0000 0000 0010 011 s | 0 | 37 |
0000 0000 0010 010 s | 0 | 38 |
0000 0000 0010 001 s | 0 | 39 |
0000 0000 0010 000 s | 0 | 40 |
0000 0000 0011 111 s | 1 | 8 |
0000 0000 0011 110 s | 1 | 9 |
0000 0000 0011 101 s | 1 | 10 |
0000 0000 0011 100 s | 1 | 11 |
0000 0000 0011 011 s | 1 | 12 |
0000 0000 0011 010 s | 1 | 13 |
0000 0000 0011 001 s | 1 | 14 |
0000 0000 0001 0011 s | 1 | 15 |
0000 0000 0001 0010 s | 1 | 16 |
0000 0000 0001 0001 s | 1 | 17 |
0000 0000 0001 0000 s | 1 | 18 |
0000 0000 0001 0100 s | 6 | 3 |
0000 0000 0001 1010 s | 11 | 2 |
0000 0000 0001 1001 s | 12 | 2 |
0000 0000 0001 1000 s | 13 | 2 |
0000 0000 0001 0111 s | 14 | 2 |
0000 0000 0001 0110 s | 15 | 2 |
0000 0000 0001 0101 s | 16 | 2 |
0000 0000 0001 1111 s | 27 | 1 |
0000 0000 0001 1110 s | 28 | 1 |
0000 0000 0001 1101 s | 29 | 1 |
0000 0000 0001 1100 s | 30 | 1 |
0000 0000 0001 1011 s | 31 | 1 |
CHÚ THÍCH 1 - bit 's' cuối cùng 'biểu thị tín hiệu của mức: '0' cho dương, '1' cho âm. CHÚ THÍCH 2 - "End of Block" không chỉ là mã duy nhất của khối. CHÚ THÍCH 3 - Mã này sẽ được sử dụng cho hệ số DC đầu tiên trong khối. CHÚ THÍCH 4 - Mã này sẽ được sử dụng cho tất cả các hệ số khác. |
Bảng B.15 - Các hệ số DCT Bảng 1
Mã chiều dài thay đổi (Chú thích 1) | Run | Level |
0110 (Chú thích 2) | End of Block |
|
10s | 0 | 1 |
010 s | 1 | 1 |
110 s | 0 | 2 |
0010 1 s | 2 | 1 |
0111 s | 0 | 3 |
0011 1 s | 3 | 1 |
0001 10 s | 4 | 1 |
0011 0 s | 1 | 2 |
0001 11 s | 5 | 1 |
0000 110 s | 6 | 1 |
0000 100 s | 7 | 1 |
1110 0 s | 0 | 4 |
0000 111 s | 2 | 2 |
0000 101 s | 8 | 1 |
1111 000 s | 9 | 1 |
0000 01 | Escape |
|
1110 1 s | 0 | 5 |
0001 01 s | 0 | 6 |
1 111 001 s | 1 | 3 |
0010 0110 s | 3 | 2 |
1111 010 s | 10 | 1 |
0010 0001 s | 11 | 1 |
001001011 s | 12 | 1 |
0010 0100 s | 13 | 1 |
0001 00 s | 0 | 7 |
0010 0111 s | 1 | 4 |
1111 1100 s | 2 | 3 |
1111 1101 s | 4 | 2 |
0000 0010 0 s | 5 | 2 |
0000 0010 1 s | 14 | 1 |
0000 0011 1 s | 15 | 1 |
0000 0011 01 s | 16 | 1 |
1111 011 s | 0 | 8 |
1111 100 s | 0 | 9 |
0010 0011 s | 0 | 10 |
0010 0010s | 0 | 11 |
0010 0000 s | 1 | 5 |
0000 0011 00 s | 2 | 4 |
0000 0001 1100 s | 3 | 3 |
0000 0001 0010 s | 4 | 3 |
0000 0001 1110 s | 6 | 2 |
0000 0001 0101 s | 7 | 2 |
0000 0001 0001 s | 8 | 2 |
0000 0001 1111 s | 17 | 1 |
0000 0001 1010 s | 18 | 1 |
0000 0001 1001 s | 19 | 1 |
0000 0001 0111 s | 20 | 1 |
0000 0001 0110 s | 21 | 1 |
1111 1010 s | 0 | 12 |
1111 1011 s | 0 | 13 |
1111 1110 s | 0 | 14 |
1111 1111 s | 0 | 15 |
00000000 1011 0 s | 1 | 6 |
0000 0000 1010 1 s | 1 | 7 |
0000 0000 1010 0 s | 2 | 5 |
0000 0000 1001 1 s | 3 | 4 |
0000 0000 1001 0 s | 5 | 3 |
0000 0000 1000 1 s | 9 | 2 |
0000 0000 1000 0 s | 10 | 2 |
0000 0000 1111 1 s | 22 | 1 |
0000 0000 1111 0 s | 23 | 1 |
0000 0000 1110 1 s | 24 | 1 |
0000 0000 1110 0 s | 25 | 1 |
0000 0000 1101 1 s | 26 | 1 |
0000 0000 0111 11 s | 0 | 16 |
0000 0000 0111 10 s | 0 | 17 |
0000 0000 0111 01 s | 0 | 18 |
0000 0000 0111 00 s | 0 | 19 |
0000 0000 0110 11 s | 0 | 20 |
0000 0000 0110 10 s | 0 | 21 |
0000 0000 0110 01 s | 0 | 22 |
0000 0000 0110 00 s | 0 | 23 |
0000 0000 0101 11 s | 0 | 24 |
0000 0000 0101 10 s | 0 | 25 |
0000 0000 0101 01 s | 0 | 26 |
0000 0000 0101 00 s | 0 | 27 |
0000 0000 0100 11 s | 0 | 28 |
0000 0000 0100 10 s | 0 | 29 |
0000 0000 0100 01 s | 0 | 30 |
0000 0000 0100 00 s | 0 | 31 |
0000 0000 0011 000 s | 0 | 32 |
0000 0000 0010 111 s | 0 | 33 |
0000 0000 0010 110 s | 0 | 34 |
0000 0000 0010 101 s | 0 | 35 |
0000 0000 0010 100 s | 0 | 36 |
0000 0000 0010 011 s | 0 | 37 |
0000 0000 0010 010 s | 0 | 38 |
0000 0000 0010 001 s | 0 | 39 |
0000 0000 0010 000 s | 0 | 40 |
0000 0000 0011 111 s | 1 | 8 |
0000 0000 0011 110 s | 1 | 9 |
0000 0000 0011 101 s | 1 | 10 |
0000 0000 0011 100 s | 1 | 11 |
000000000011011 s | 1 | 12 |
0000 0000 0011 010 s | 1 | 13 |
0000 0000 0011 001 s | 1 | 14 |
0000 0000 0001 0011 s | 1 | 15 |
0000 0000 0001 0010 s | 1 | 16 |
0000 0000 0001 0001 s | 1 | 17 |
0000 0000 0001 0000 s | 1 | 18 |
0000 0000 0001 0100 s | 6 | 3 |
0000 0000 0001 1010 s | 11 | 2 |
0000 0000 0001 1001 s | 12 | 2 |
0000 0000 0001 1000 s | 13 | 2 |
0000 0000 0001 0111 s | 14 | 2 |
0000 0000 0001 0110 s | 15 | 2 |
0000 0000 0001 0101 s | 16 | 2 |
0000 0000 0001 1111 s | 27 | 1 |
0000 0000 0001 1110 s | 28 | 1 |
0000 0000 0001 1101 s | 29 | 1 |
0000 0000 0001 1100 s | 30 | 1 |
0000 0000 0001 1011 s | 31 | 1 |
CHÚ THÍCH 1 - bit‘s’ cuối cùng 'biểu thị tín hiệu của mức: '0' cho dương, '1' cho âm. CHÚ THÍCH 2 - "End of Block" không chỉ là mã duy nhất của khối. |
Bảng B. 16 - Mã hóa chạy và mức sau một mã ESCAPE
Phụ lục C (Quy định)
Xác nhận bộ đệm video
Các dòng bit mã hoá video phải đáp ứng các ràng buộc được áp đặt thông qua Trình kiểm tra đệm Video (VBV) được định nghĩa trong phụ lục này. Mỗi dòng bit trong một hệ thống phân cấp có thể mở rộng sẽ không vi phạm các ràng buộc VBV được định nghĩa trong phụ lục này.
VBV là một bộ giải mã giả lập, được kết nối với đầu ra của một bộ mã hóa. Nó có một bộ đệm đầu vào được gọi là bộ đệm VBV. Dữ liệu mã hoá được đặt trong bộ đệm như được định nghĩa dưới đây trong C.3 và được lấy ra từ bộ đệm như được định nghĩa trong C.5. C 6. và C.7. Yêu cầu rằng một dòng bít phù hợp với đặc tả này sẽ không gây tràn bộ đệm VBV. Khi sự trễ thấp bằng không, dòng bit sẽ không gây ra sự tràn bộ đệm VBV. Khi low_delay bằng một, việc giải mã một ảnh tại thời điểm dự kiến bình thường có thể làm cho bộ đệm VBV bị giảm. Nếu đây là trường hợp, ảnh không được giải mã và bộ đệm VBV được kiểm tra lại tại một chuỗi sau đó được chỉ định trong C.7 và C.8 cho đến khi nó có mặt trong bộ đệm VBV.
Tất cả các số học trong phụ lục này được thực hiện với các giá trị thực, do đó không có lỗi làm tròn có thể truyền đi. Ví dụ, số bit trong bộ đệm VBV không phải là số nguyên.
C.1. VBV và bộ mã hóa video có cùng tần số đồng hồ cũng như cùng tốc độ khung hình và được vận hành đồng bộ.
C.2. Bộ đệm VBV có kích thước B, trong đó B là vbv_buffer_size được mã hoá trong tiêu đề chuỗi và phần mở rộng chuỗi nếu có.
C.3. Lệnh này xác định đầu vào của dữ liệu vào bộ đệm VBV. Hai trường hợp loại trừ lẫn nhau đuợc định nghĩa trong C.3.1 và C.3.2. Trong cả hai trường hợp, bộ đệm VBV ban đầu đều rỗng. Đặt Rmax là tốc độ bit xác định trong trường bit_rate.
C.3.1. Trong trường hợp vbv_delay được mã hoá với một giá trị không bằng FFFF hệ thập lục phân, dữ liệu ảnh của ảnh mã hoá thứ n vào bộ đệm với tốc độ R(n) trong đó:
R(n) = d*n / ((n) - (n + 1) + t(n + 1) - t(n) )
Mã chiều dài không đổi | Chạy |
000000 | 0 |
0000 01 | 1 |
0000 10 | 2 |
... | ... |
|
|
| ... |
... | ... |
... | ... |
1111 11 | 63 |
Mã chiều dài không đổi | Mức tín hiệu |
1000 0000 0000 | Dự phòng |
1000 0000 0001 | -2047 |
100000000010 | -2046 |
… |
|
111111111111 | -1 |
0000000,00000 | Cấm |
000000000001 | +1 |
| … |
011111111111 | +2047 |
Ở đây:
R (n) | là tốc độ, tính bằng bits/s, mà dữ liệu ảnh cho ảnh mã hóa thứ n nhập vào VBV. |
d * n | là số bít sau bít cuối cùng của mã bắt đầu thứ n bắt đầu và trước và bao gồm bít cuối cùng của mã bắt đầu ảnh thứ (n + 1). |
X(n) | là độ trễ giải mã được mã hoá trong vbv_delay cho ảnh mã hóa thứ n được đo bằng giây. |
t (n) | là thời gian, được tính bằng giây, khi ảnh được mã hóa thứ n được xóa khỏi bộ đệm VBV. t(n) là được định nghĩa trong C9, C.10, C.11, và C.12. |
Sự không rõ ràng ở bắt đầu của một chuỗi:
Khoảng thời gian tn+1- tn giữa việc loại bỏ hai ảnh liên tiếp thường có thể được lấy từ dòng bít như mô tả trong C.9, C.10, C.11 và C.12.
Khi truy cập ngẫu nhiên được thực hiện theo một chuỗi, tn+1- tn không thể được xác định từ dòng bit video một lần cho các ảnh đầu tiên sau tiêu đề chuỗi kể từ khi mã hoá khung P hoặc khung I đã mã hoá không tồn tại trong dãy đã giải mã . Nếu dòng bít được ghép như là một phần của một hệ thống dòng bít theo ITU-T H.222.0 │ISO/IEC 13818-1, thì có thể (nhưng không chắc chắn) rằng thông tin trong các hệ thống dòng bít có thể được sử dụng để xác định rõ ràng khoảng thời gian này. Thông tin này có sẵn nếu Dấu thời gian giải mã (DTS) được truyền cho ảnh n và n + l.
Nếu không thể xác định được tốc độ R(n) một cách rõ ràng, VBV không thể xác định chính xác độ đầy đủ của quỹ đạo trong bộ đệm VBV trong khoảng thời gian giới hạn (luôn thấp hơn giá trị lớn nhất của vbv_delay, khoảng xấp xỉ 0,73 giây), do đó xác minh VBV chặt chẽ của toàn bộ dòng bit không phải lúc nào cũng có thể. Lưu ý rằng một bộ mã hóa luôn biết các giá trị của tn+1- tn sau mỗi đoạn mã, lặp lại và do đó biết làm thế nào để tạo ra một dòng bít mà không vi phạm các ràng buộc VBV tại những điểm đó.
Sự không rõ ràng có thể trở thành một vấn đề khi dòng bit video được ghép lại và phân phối ở tốc độ khác với tốc độ không đổi R(n).
Cũng cần lưu ý rằng tốc độ đầu vào cho các bít trước tiêu đề ảnh đầu tiên không thể được xác định từ dòng bit.
Sự không rõ ràng ở cuối của một chuỗi:
Đầu vào của tất cả các bit sau mã bắt đầu ảnh của hình trước đoạn cuối của chuỗi mã hóa không thể được xác định từ dòng bit. Sẽ có một tốc độ đầu vào cho các bit không dẫn đến tràn hoặc, nếu low_delay bằng 1, một dòng dưới của bộ đệm VBV. tốc độ này phải nhỏ hơn tốc độ tối đa được chỉ định trong tiêu đề chuỗi.
Sau khi điền vào bộ đệm VBV với tất cả các dữ liệu đi trước mã bắt đầu ảnh đầu tiên của chuỗi và mã bắt đầu của ảnh, bộ đệm VBV được điền vào từ dòng bit cho thời gian xác định bởi trường vbv_delay trong phần đầu ảnh. Tại thời điểm này bắt đầu giải mã. Dữ liệu đầu vào tiếp tục ở mức được quy định trong mục phụ này.
Đối với tất cả các dòng bit R(n) <= Rmax cho tất cả các dữ liệu ảnh.
Chú thích: Đối với video tốc độ không đổi, chuỗi các giá trị R(n) là hằng số trong toàn bộ chuỗi nằm trong độ chính xác cho phép bằng việc định lượng vbv_delay
C 3.2. Trong trường hợp vbv_delay được mã hoá bằng FFFF hệ thập lục phân giá trị, dữ liệu nhập vào bộ đệm VBV như được xác định trong phần phụ này.
Nếu bộ đệm VBV không đầy đủ, dữ liệu nhập vào bộ đệm tại Rmax
Nếu bộ đệm VBV trở nên đầy đủ sau khi thu được tại Rmax một thời gian, không có dữ liệu nào vào bộ đệm cho đến khi một số dữ liệu được lấy ra khỏi bộ đệm.
Sau khi điền vào bộ đệm VBV với tất cả các dữ liệu đi trước mã bắt đầu ảnh đầu tiên của chuỗi và mã bắt đầu ảnh, bộ đệm VBV được chèn từ dòng bít cho đến khi nó đầy. Tại thời điểm nay bắt đầu giải mã. Dữ liệu đầu vào tiếp tục ở tốc độ được chỉ định trong mục phụ này.
C.4. Bắt đầu từ thời điểm định nghĩa trong C.3, bộ đệm VBV được kiểm tra theo các lần kế tiếp được định nghĩa trong C.9 đến C. 12. C.5 đến C.8 xác định các hành động được thực hiện tại mỗi lần bộ đệm VBV được kiểm tra.
C.5. Mục tiêu này xác định một yêu cầu đối với tất cả các dòng bits video.
Vào thời điểm bộ đệm VBV được kiểm tra trước khi loại bỏ bất kỳ dữ liệu ảnh nào, số bit trong bộ đệm phải nằm giữa các bit zero và bit B, trong đó B là kích thước của bộ đệm VBV chỉ định bởi vbv_buffer_size.
Đối với mục đích của phụ lục này, dữ liệu ảnh được định nghĩa là tất cả các lần truy cập của ảnh được mã hóa, tất cả các tiêu đề và dữ liệu người dùng ngay trước nó nếu có (bao gồm bất kỳ việc nhồi giữa chúng) và tất cả việc nhồi sau nó, lên đến (nhưng không bao gồm) mã bắt đều tiếp theo, ngoại trừ trường hợp mã khởi đầu tiếp theo là mã cuối cùng của mã trình tự, trong trường hợp nó được bao gồm trong dữ liệu ảnh.
sequence_header(), sequence_extension(), extension_and_user_data( 0),
group_of_pictures_header() and extension_and_user_data(1) and pictures_start_code
Hình C1 - Sự chiếm chỗ bộ đệm VBV - Hoạt động tốc độ bit không đổi
C.6. Mục này định nghĩa một yêu cầu về dòng bit video khi cờ low_delay bằng không.
Tại mỗi lần kiểm tra bộ đệm VBV và trước khi xóa bất kỳ bit nào, tất cả các dữ liệu cho ảnh có trong bộ đệm dài nhất sẽ có trong bộ đệm VBV. Dữ liệu ảnh này sẽ được gỡ bỏ ngay lập tức vào thời điểm này.
Sự tràn xuống bộ đệm của VBV sẽ không xảy ra khi cờ low_delay bằng 0. Điều này yêu cầu tất cả các dữ liệu ảnh cho ảnh thứ n sẽ có trong bộ đệm VBV tại thời điểm giải mã, tn.
C.7. Điều khoản phụ này chỉ áp dụng khi cờ low_delay bằng một.
Khi low_delay bằng một, có thể có các tình huống mà bộ đệm VBV sẽ được kiểm tra lại nhiều lần trước khi loại bỏ một ảnh mã hoá từ bộ đệm VBV. Có thể biết nếu bộ đệm VBV phải được xem xét lại và bao nhiêu lần bằng cách xem xét thời gian của ảnh tiếp theo (ảnh sau ảnh hiện đang được giải mã), xem 6.3.10. Nếu bộ đệm VBV phải được kiểm tra lại, ảnh hiện đang được giải mã được gọi là một ảnh lớn.
Nếu ảnh hiện đang được giải mã là một ảnh lớn, bộ đệm VBV được kiểm tra lại trong khoảng thời gian 2 giai đoạn trước khi loại bỏ ảnh lớn, và không có dữ liệu ảnh nào bị xóa cho đến khi hoàn thành việc tái phân bổ.
Vào thời điểm này, số bit mà bộ đệm VBV ngay trước khi loại bỏ ảnh lớn sẽ nhỏ hơn B, tất cả các dữ liệu ảnh cho ảnh nằm trong bộ đệm dài nhất (ảnh lớn) sẽ có trong bộ đệm và được gỡ bỏ ngay lập tức. Sau đó, hoạt động bình thường của VBV tiếp tục, và áp dụng C.5.
ảnh được mã hóa cuối cùng của một chuỗi không phải là một ảnh lớn.
C.8. Mục dưới đây chỉ mang tính tham khảo.
Tình huống mà bộ đệm VBV sẽ tràn xuống (xem C.7) có thể xảy ra khi các ứng dụng trễ truyền tải những ảnh lớn, đôi khi trong trường hợp cắt cảnh.
Việc giải mã các dòng bít sẽ làm cho quá trình hiển thị kết hợp với bộ giải mã để lặp lại một trường hoặc khung đã giải mã trước đây cho đến khi hoạt động bình thường của VBV có thể tiếp tục. Quá trình này đôi khi được gọi là sự xuất hiện của ảnh bị bỏ qua. Lưu ý rằng tình trạng này thường thỉnh thoảng xảy ra. Nó sẽ không xảy ra khi low_delay bằng 0.
C.9. Phân lớp này xác định khoảng thời gian giữa lần kiểm tra tiếp theo của bộ đệm VBV trong trường hợp progressive_sequence bằng 1 và low_delay bằng 0. Trong trường hợp này, trễ đặt lại khung luôn tồn tại và ảnh B có thể xảy ra.
Khoảng thời gian tn+1 - tn giữa hai lần kiểm tra kế tiếp của bộ đệm VBV là một bội số của T, trong đó T là nghịch đảo của tốc độ khung.
Nếu ảnh thứ n là ảnh B với trường lặp lại đầu tiên bằng 0 thì tn+1 - tn bằng T.
Nếu ảnh thứ n là ảnh B với repeat_first_field bằng 1 và top_field_first bằng 0 thì tn+1 - tn bằng 2*T.
Nếu hình n thứ hai là ảnh B với repeat_first_field bằng 1 và top_ field_ first bằng I. sau đó tn+1 - tn bằng 3*T.
Nếu ảnh thứ n là ảnh P hoặc ảnh I và nếu ảnh P hoặc ảnh I trước đó có repeat_first_field bằng 0 thì tn+1 - tn bằng với T.
Nếu ảnh thứ n là ảnh P hoặc ảnh I và nếu ảnh P hoặc ảnh I trước đó có trường lặp lại với 1 và trường đầu tiên bằng 0 thì tn+1 - tn bằng 2*T.
Nếu ảnh thứ n là ảnh P hoặc ảnh I và nếu ảnh P hoặc ảnh I trước đó có tần số repeat_first_field bằng 1 và top_field_first bằng 1. sau đó tn+1 - tn bằng 3*T.
C.10. Mục này định nghĩa khoảng thời gian giữa lần kiểm tra tiếp theo của bộ đệm VBV trong trường hợp progressive_sequence bằng 1 và độ trễ thấp bằng 1. Trong trường hợp này chuỗi không chứa ảnh B và không có khung đặt lại trễ.
Khoảng thời gian tn+1 - tn giữa hai lần kiểm tra kế tiếp của bộ đệm VBV là một bội số của T, trong đó T là nghịch đảo của tốc độ khung.
Nếu ảnh thứ n là ảnh P hoặc ảnh I với trường lặp lại đầu tiên bằng 0 thì tn+1 - tn bằng T.
Nếu ảnh thứ n là ảnh P hoặc ảnh I với repeat_first_field bằng 1 và top_field_first bằng 0, thì tn+1- tn bằng 2*T.
Nếu ảnh thứ n là ảnh P hoặc ảnh I với repeat_first_field bằng 1 và top_field_first bằng 1, thì tn+1 - tn bằng 3*T.
C.11. Mục này xác định khoảng thời gian giữa kiểm tra suôn thành của bộ đệm VBV trong trường hợp progressive_sequence bằng 0 và low_delay bằng 0. Trong trường hợp này, sự trễ đặt lại khung luôn tồn tại và ảnh B có thể xảy ra.
Khoảng thời gian tn+1 - tn giữa hai lần kiểm tra tiếp theo của bộ đệm đầu vào VBV là một bội số của T, trong đó T là nghịch đảo của hai lần tỷ lệ khung.
Nếu ảnh thứ n là cấu trúc khung được mã hóa với khung B với khoảng lặp lại = 0, tn+1 - tn bằng 2*T.
Nếu ảnh thứ n là cấu trúc khung được mã hóa với khung B với giá trị repcat_first_field bằng 1 thì tn+1 - tn bằng 3*T.
Nếu ảnh thứ n là một ảnh trường B (B-field picture), thì tn+1 - tn bằng với T.
Nếu ảnh thứ n là khung nội dung có mã hoá P hoặc khung mã hoá I và nếu khung mã hoá P hoặc khung mã hoá trước đó có tần số lặp lại bằng 0 thì tn+1 - tn bằng 2*T .
Nếu ảnh thứ n là một cấu trúc khung có khung P hoặc khung I được mã hóa và nếu khung P mã đã mã hóa trước đó có lặp lại giá trị bằng 1 thì tn+1 - tn bằng 3*T.
Nếu ảnh thứ n là trường đầu tiên của một khung P mã hoá trường hoặc khung I mã hóa, thì tn+1 - tn bằng với T.
Nếu ảnh thứ n là trường thứ hai của khung P hoặc khung I được mã hóa và nếu khung P đã mã hóa trước đó đang sử dụng cấu trúc trường hoặc có tần số lặp lại với 0, sau đó tn+1 - tn bằng (2 *T - T).
Nếu ảnh thứ n là trường thứ hai của khung cấu trúc mã P hoặc khung I mã hóa và nếu mã P- framc trước đó hoặc mã 1 fratne sử dụng cấu trúc khung và có repeat_first_field bằng 1, sau đó tn+1 - tn bằng (3 *T - T).
Hình C.2 cho thấy VBV trong một trường hợp đơn giản chỉ với ảnh khung. Khung Po, B2 và B4 có thời lượng hiển thị là 3 trường.
Hình C.2 - Ví dụ VBV với ảnh B
C12. Mục này định nghĩa khoảng thời gian giữa lần kiểm tra tiếp theo của bộ đệm VBV trong trường hợp progressive_sequence bằng 0 và độ trễ thấp bằng 1. Trong trường hợp này dãy không chứa ảnh B và không có sự sắp xếp lại của khung.
Khoảng thời gian tn+1 - tn giữa hai lần kiểm tra kế tiếp của bộ đệm đầu vào VBV là một bội số của T, trong đó T là nghịch đảo của hai lần tốc độ khung.
Nếu ảnh thứ n là khung cấu trúc khung được mã hóa hoặc khung I mã hoá với giá trị repeat_first_field bằng 0, thì tn+1 - tn bằng 2 * T.
Nếu ảnh thứ n là khung cấu trúc khung được mã hóa hoặc khung I mã hoá với repeat_first_field bằng 1, sau đó tn+1 - tn bằng 3 * T.
Nếu ảnh thứ n là cấu trúc trường được khung P mã hoá hoặc khung I mã hoá, thì tn+1 - tn bằng với T.
Hình C.3 cho thấy VBV trong một trường hợp đơn giản chỉ với ảnh khung. Khung lo, P2 và P4 repeat_first_field bằng 1.
Hình C.3 - Ví dụ VBV với ảnh B
Phụ lục D (Quy định)
Báo hiệu sắp xếp đóng gói khung hình cho nội dung lập thể 3D
Phụ lục nêu cụ thể một phương pháp để mang thông tin sắp xếp khung đóng gói được sử dụng cho các ứng dụng như chỉ thị video lập thể trong các dòng bit mã hoá theo Tiêu chuẩn kỹ thuật này.
Thông tin sắp xếp gói khung được chèn vào dữ liệu người dùng lớp ảnh của cảc dòng bít video được mã hoá theo Tiêu chuẩn kỹ thuật này. Các tín hiệu cụ thể trong phụ lục này hỗ trợ chuyển đổi giữa 2D và video lập thể 3D ở ranh giới khung, cũng như giữa các khung gói khác nhau cho video lập thể 3D tại khung ranh giới.
Để tương thích với các bộ giải mã video hiện tại, phương pháp sử dụng một chỉ thị được cung cấp trong extensions_and_user_data(2), nó theo sau các picture_header() và picture_coding_extension().
Cú pháp và ngữ nghĩa sau được xác định để chỉ ra việc sắp xếp gói khung trong các byte user_data của cấu trúc cú pháp user_data() của extensions_and_user_data(2). Cấu trúc cú pháp được gửi trong các byte dữ liệu người dùng này cho mục đích này là cụ thể như sau:
frame_packing_arrangement_data() { | Số bit | Nhận dạng |
frame_packing_user_data_identifier | 32 | bslbf |
remaining_data_length | 8 | uimsbf |
reserved_bit | 1 | uimsbf |
arrangement_type | 7 | bslbf |
reserved_data | 16 | bslbf |
for (i = 3; i < remaining_data_length, i++ ) |
|
|
Additional_reserved_data_byte | 8 | bslbf |
} |
|
|
frame_packing_user_data_ identifier - Chuỗi bit '4a503344' theo hệ thập lục phân. Khi byte dữ liệu người dùng của cấu trúc cú pháp user_data() bắt đầu với chuỗi bít này, các byte còn lại của cấu trúc cú pháp user_data() phải phù hợp với cấu trúc cú pháp frame_packing_arrangement_data().
CHÚ THÍCH 1 - Bộ nhận dạng frame_packing_user_data này là giá trị mã 4 byte đã được chọn để tránh xung đột với các ứng dụng khác của cơ chế user_data()
remaining_data_length được đặt là 3. Các giá trị khác được dành riêng cho các phần mở rộng trong tương lai có thể được định nghĩa bởi ITU-T ISO/IEC. Bộ giải mã sẽ sử dụng giá trị của phần tử cú pháp này để xác định số lượng các phần tử cú pháp addition_reserved_data_byte như cụ thể trong sơ đồ cú pháp frame_packing_arrangement_data().
reserved_bit - Được đặt thành Giá trị '1'. Giá trị '0' được dành riêng cho các phần mở rộng trong tương lai có thể được định nghĩa bởi ITU-T ISO/IEC. Bộ giải mã sẽ bỏ qua (tức là gỡ khỏi dòng bit và loại bỏ) giá trị của bit này.
arrangement_type -Xem bảng D.1.
arrangement_typ e | Ý nghĩa |
0000011 | stereo side-by-side (với lưới lấy mẫu hình chữ nhật) |
0000100 | stereo top-and-bottom (với lưới lấy mẫu hình chữ nhật) |
0001000 | 2D video (với lưới lấy mẫu hình chữ nhật) |
0100011 | stereo side-by-side với việc lấy mẫu quincunx |
Các giá trị khác | Dự phòng và có thể được sử dụng trong tương lai bởi ITU-T │ISO/IEC |
Reserved_data - Đây là một số nguyên 16 bít sẽ được đặt thành chuỗi bít '04FF' trong hệ thập lục phân. Tất cả các giá trị khác được dành riêng cho các phần mở rộng trong tương lai có thể được định nghĩa bởi ITU-T ISO/IEC. Bộ giải mã sẽ bỏ qua (tức là loại bỏ khỏi dòng bít và loại bỏ) giá trị của 16 bit này.
additional_reserved_data_byte - Việc sử dụng phần tử cú pháp này được dành riêng cho các phần mở rộng trong tương lai có thể được định nghĩa bởi ITU-T ISO/IEC.
Đề nghị rằng trong toàn bộ thời lượng của một dòng bit chứa nội dung video 3D stereo, dòng bit video phải chứa dữ liệu người dùng với frame_packing_arrangement_data() cho mỗi bức ảnh.
Trong trường hợp chỉ thị "stereo side-by-side" ảnh được chia thành hai nửa, mỗi phần có độ phân giải một nửa theo chiều ngang (tương ứng với phần hiển thị của hình mã hoá). Bên phải của phần có thể hiển thị của ảnh được mã hoá và chế độ xem phải nằm ở phía bên phải của phần được hiển thị của ảnh được mã hóa Vị trí biên giữa hai nửa là giữa phần hiển thị của mỗi đường quét bên trong màn hình có thể hiển thị một phần của ảnh được mã hóa Các vị trí lấy mẫu được chỉ ra, liên quan đến lưới lấy mẫu của một ảnh có độ phân giải cao được giả thiết, giống nhau đối với các mẫu ở cả hai nửa thể hiện trong hình D.1.
Hình D.1 - Sự sắp xếp lại và giả thiết chuyển đổi của "stereo side-by-side với mẫu quincunx" sắp xếp các khung cảnh chuyển đổi sang độ phân giải đầy đủ của phần có thể hiển thị của ảnh được mã hóa
CHÚ THÍCH 2 - Các điểm ảnh được đánh dấu là trong hình D.3. minh hoạ các điểm ảnh trong ảnh được mã hoá nằm ngoài phần có thể hiển thị Những pixel này bị loại bỏ sau giải mã ảnh.
Trong trường hợp chỉ thị "stereo top-and-bottom", ảnh được chia thành hai nửa, mỗi nửa có độ phân giải 1/2 theo chiều dọc (liên quan đến phần có thể hiển thị của ảnh được mã hoá). Chế độ xem bên trái ở phần trên của phần có thể hiển thị của ảnh được mã hoá và chế độ xem phải nằm ở phần dưới của phần có thể hiển thị được của hình được mã hóa. Vị trí biên giữa hai nửa là giữa phần hiển thị của mỗi cột trong phần có thể hiển thị của ảnh được mã hóa. Các vị trí lấy mẫu được chỉ ra, liên quan đến lưới lấy mẫu của một ảnh giả thuyết được sửa đổi lại, giống nhau đối với các mẫu ở cả hai nửa. 'Vị trí lấy mẫu ITIC cho sự sắp xếp "stereo-top-and- bottom" được thể hiện trong hình D.2.
Hình D.2 - Sự sắp xếp lại và giả thiết chuyển đổi của "stereo top-and-bottom" để chuyển
đổi sang độ phân giải đầy đủ của phần có thể hiển thị của ảnh được mã hóa
CHÚ THÍCH 3 - Các điểm ảnh được đánh dấu là trong hình D.2. minh hoạ các điểm ảnh trong ảnh được mã hoá nằm ngoài phần có thể hiển thị Những pixel này bị loại bỏ sau khi giải mã hình ảnh.
Trong trường hợp chỉ thị sắp xếp "video 2D", ảnh chỉ chứa các điểm ảnh cho một chế độ xem 2D nội dung cảnh và chế độ xem này bao gồm toàn bộ phần có thể di chuyển được của ảnh được mã hóa.
Khi nội dung 2D và 3D có thể có mặt trong cùng một dòng cơ sở, nên sử dụng arrangement_type đề chỉ định loại sắp xếp cho mỗi ảnh. Khi sắp xếp gói khung được thay đổi trong một dòng bit video, chỉ thị arrangement_type sẽ thay đổi trong cùng một ảnh trong đó nội dung thay đổi xảy ra.
Trong trường hợp chỉ thị sự sắp xếp bố trí "stereo side-by-side-with-quincunx-sampling", ảnh được chia thành hai nửa, mỗi phần có độ phân giải một nửa biểu diễn mẫu lấy mẫu quincunx (liên quan đến phần có thể bị di chuyển của mã hóa ảnh) Phía bên trái của phần có thể hiển thị của ảnh được mã hoá và khung nhìn bên phải là phần bên phải của phần được hiển thị của hình được mã hóa Vị trí biên giữa hai nửa là ở giữa của một phần của mỗi dòng quét trong phần có thể hiển thị của ảnh được mã hóa Các vị trí lấy mẫu được chỉ ra, liên quan đến lưới lấy mẫu của một ảnh có độ phân giải đầy đủ được chuyển đổi lên, khác với mẫu ở mỗi nửa. Các vị trí lấy mẫu cho sắp xếp "stereo side-by-side-with-quincunx-sampling" được thể hiện trong hình D.3.
Hình D.3 - Sắp xếp lại và giả thiết cao về "stereo side-by-side-with-quincunx sampling" để chuyển đổi sang độ phân giải đầy đủ của phần có thể hiển thị của ảnh được mã hóa
CHÚ THÍCH 4 - Các điểm ảnh được đánh dấu là trong hình D.3. minh hoạ các điểm ảnh trong ảnh được mã hoá nằm ngoài phần có thể hiền thị Những pixel này bị loại bỏ sau khi giải mã hình ảnh.
Phụ lục E (Tham khảo)
Giới hạn về đặc tính và mức
E.1. Giới hạn các thành phần cú pháp trong profiles
Phụ lục này liệt kê tất cả các thành phần cú pháp được định nghĩa trong Tiêu chuẩn kỹ thuật này, mỗi loại được phân loại để cho biết nó cần phải được hỗ trợ bởi bộ giải mã phù hợp với một profile và mức cụ thể. Lưu ý rằng các tiêu chuẩn quy chuẩn để tuân thủ được đưa ra trong ISO/IEC 13818-4.
Chú thích - Phụ lục này chỉ có tính tham khảo và chỉ nhằm mục đích tóm tắt các hạn chế quy định nêu tại mục 8. Nếu, do có lỗi trong việc chuẩn bị văn bản này, có sự khác biệt giữa mục 8 và Phụ lục E, văn bản không phải là gốc và mục 8 sẽ luôn được ưu tiên
Trong các bảng E.2 đến E.20, một số chữ viết tắt được sử dụng như trong Bảng E.1
Bảng E.1 - Các từ viết tắt được sử dụng trong các bảng của Phụ lục E
Chữ viết tắt | Sử dụng trong | Ý nghĩa |
X | Trạng thái | Phải được hỗ trợ bởi giải mã. |
0 | Trạng thái | Không cần bộ giải mã hỗ trợ |
D | Kiểu | Mục với các thống số Level-dependent. |
1 | Kiểu | Mục độc lập của Level trong Profile. |
P | Kiểu | Mục cho quá trình xử lý sau khi giải mã, bộ giải mã phải có khả năng giải mã các dòng bít có chứa các mục này, vì việc sử dụng chúng vượt quá phạm vi của Tiêu chuẩn kỹ thuật này. |
Chú thích - "Trạng thái" được để trống nếu mục nhập không phải là thành phần cú pháp. |
Bảng E.2 - Tiêu đề chuỗi
Bảng E.3 - Mở rộng chuỗi
Bảng E.4 - Các phần tử mở rộng hiển thị chuỗi
Bảng E.5 - Mở rộng chuỗi có thể mở rộng
Bảng E.6 - Tiêu đề của nhóm ảnh
Bảng E.7 - Tiêu đề hình ảnh
Bảng E.8 - Mở rộng mã hóa ảnh
Bảng E.9 - Mở rộng ma trận lượng tử
Bảng E.10 - Mở rộng hiển thị ảnh
Bảng E.11 - Mở rộng ảnh có thể mở rộng theo thời gian
Bảng E.12 - Mở rộng ảnh có thể mở rộng theo không gian
Bảng E.13 - Mở rộng thông số máy ảnh (camera)
Bảng E.14 - Lớp lát cắt
Bảng E.15 - Lớp khối Macroblock
Bảng E.16 - Các chế độ Macroblock
Bảng E.17 - Các vector chuyển động
Bảng E.18 - Vectơ chuyển động
Bảng E.19 - Màu khối được mã hoá
Bảng E.20 - Lớp khối
E.2. Kết hợp các lớp cho phép
Các bảng E.21 đến E.52 minh hoạ các giới hạn tham số có thể được áp dụng trong mỗi lớp của một dòng bit, và profile_and_level_indication thích hợp tương ứng cần được sử dụng. Mỗi bảng mô tả các giới hạn của một điểm tuân thủ duy nhất trong ma trận profile/mức.
Các ký hiệu sau đây đã được thông qua:
<profile abbreviation>@<level abbreviation> (<tên viết tắt profile > @ <viết tắt mức>)
Các chữ viết tắt được định nghĩa trong Bảng E.21.
Bảng E.21 - Các chữ viết tắt cho tên profile và mức
Profile | Tên viết tắt profile | Mức | Tên viết tắt mức |
Simple | SP | Low | LL |
Main | MP | Main | ML |
SNR Scalable | SNR | High-1440 | H-14 |
Spatially Sealable | Spt | High | HL |
High | HP | HighP | HPL |
Multi-view | MVP |
| - |
Các thông số ràng buộc ISO/IEC 11172-2 | ISO/IEC 11172-2 |
Bảng E.22 - Simple profile@Main level
Số lớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
1 | 0 | Base | 720/576/30 | 10 368 000 | 15 | 1 835 008 | SP@ML |
Bảng E.23 - Main profile@Low level
Số lớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
1 | 0 | Base | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@iLL |
Bảng E.24 - Main profile@Main level
Số lớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
1 | 0 | Base | 720/57600 | 10 368 000 | 15 | 1 835 008 | MP@ML |
Bảng E.25 - Main profile@High-1440 level
Số lớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
| 0 | Base | 1440/1088/6 0 | 47 001 600 | 60 | 7 340 | MP@ML |
Bảng E.26 - Main profile@High level
Số lớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
1 | 0 | Base | 1920/1088/6 0 | 62 668 800 | 80 | 9 781 248 | MP@ML |
Bảng E.27 - Main profile@HighP level
Số lớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
1 | 0 | Base | 1920/1088/6 0 | 125 337 600 | 80 | 9 781 248 | MP@ML |
Bảng E.28 - SNR profile@Low level
Số lớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
2 | 0 | Base | 352/288/30 | 2 534 400 | 1.856 | 327 680 | ISO 14172 |
| 1 | SNR | 352/288/30 | 2 534 400 | 4 | 475 136 | SNR@LL |
2 | 0 | Base | 352/288/30 | 3 041 280 | 3 | 360 44s | SP@ML |
| 1 | SNR | 352/288/30 | 3 041 280 | 4 | 475 136 | SNR@LL |
2 | 0 | Base | 352/288/30 | 3 041 280 | 3 | 360 44S | MP@tLL |
| 1 | SNR | 352/288/30 | 3 041 280 | 4 | 475 136 | SNR@LL |
Bảng E.29 - SNR profile@Main level
Số lớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
2 | 0 | Base | 720/376/30 | 2 534 400 | 1.856 | 327 680 | ISO 11172 |
| 1 | SNR | 720/57W30 | 2 534 400 | 15 | 1 835 008 | SNR@ML |
2 | 0 | Base | 720/576'30 | 10 368 000 | 10 | 1 212416 | SP@ML |
| 1 | SNR | 720/576/30 | 10 368 000 | 15 | 1 835 008 | SNR@ML |
2 | 0 | Base | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@ML |
| 1 | SNR | 352/288/30 | 3 041 280 | 15 | 1 835 008 | SNR@ML |
2 | 0 | Base | 720/576/30 | 10 368 000 | 10 | 1 212416 | MP@ML |
| 1 | SNR | 720/576/30 | 10 368 000 | 15 | 1 835 008 | SNR@ML |
Bảng E.30 - Spatial profile@High-1440 level (base layer + SNR)
Số lớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
2 | 0 | Base | 352/288/30 | 2 534 400 | 1.856 | 327 680 | ISO ׀׀172 |
| 1 | SNR | 352/288/30 | 2 534 400 | 60 | 7340032 | Spt@H-14 |
2 | 0 | Base | 720/576/30 | 10 368 000 | 15 | 1 835 008 | SP@ML |
| 1 | SNR | 720/5 76/30 | 10 368 <881 | 60 | 7 340032 | Spt@H-14 |
2 | 0 | Base | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@ML |
| 1 | SNR | 352/288/30 | 3 041 280 | 60 | 7 340032 | Spi@H-14 |
2 | 0 | Base | 720/576/30 | 10 368 000 | 15 | 1 835 <8)8 | MP@ML |
| 1 | SNR | 720/576/30 | 10 368 (88) | 60 | 7 340032 | Spt@H-14 |
2 | 0 | Base | 1440/1088/60 | 47 001 600 | 40 | 4 882 432 | MP@ML |
| 1 | SNR | 1440/1088/60 | 47 001 /88) | 60 | 7 340032 | Spt@H-14 |
Bảng E.31 - Spatial profile @ High-1440 level (Base Layer + Spatial)
Số Iớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
| 0 | Base | 768/576/30 | 2 534 400 | 1.856 | 327 680 | ISO 11172 |
2 | 1 | SpatiaI | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
2 | 0 | Base | 768/576/30 | 10 368 000 | 15 | I 835 008 | SP@ML |
| 1 | SpatlaI | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
2 | 0 | Base | 768/576/30 | 3 041 280 | 4 | 475 136 | MP@LL |
| 1 | SpatiaI | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
2 | 0 | Base | 768/576/30 | 10 368 000 | 15 | 1 835 008 | MP@ML |
| 1 | SpatiaI | 1440/1088/30 | 47 001 /88) | 60 | 7 340 032 | Spt@H-14 |
2 | 0 | Base | 768/576/30 | 47 001 600 | 40 | 4 882 432 | MP@H-14 |
| 1 | SpatiaI | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
Bảng E.32 - Spatial profile @ High-1440 level (Base Layer +SNR + Spatial)
Số Iớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
3 | 0 | Base | 352/288/30 | 2 534 400 | 1.856 | 327 680 | ISO 11172 |
| 1 | SNR | 352/288/30 | 2 534 400 | 4 | 475 136 | SNR@LL |
| 2 | Spatial | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 352/288/30 | 3 041 280 | 3 | 327 680 | SP@ML |
| 1 | SNR | 352/288/30 | 3 041 280 | 4 | 475 136 | SNR@LL |
| 2 | SpatiaI | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 352/288/30 | 3 041 280 | 3 | 327 680 | SP@ML |
| 1 | SNR | 352/288/30 | 3 041 280 | 4 | 475 136 | SNR@LL |
| 2 | SpatiaI | 14401088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 720/576/30 | 2 534 400 | 1.856 | 327 680 | ISO 11172 |
| 1 | SNR | 720/576/30 | 2 534 400 | 15 | 1 8.15 008 | SNR@LL |
| 2 | SpatiaI | 1440/1088/30 | 47 001 /4)0 | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 720/576/30 | 10 368 000 | 10 | 1 212416 | SP@ML |
| 1 | SNR | 720/576/30 | 10 368 000 | 15 | 1 835 008 | SNR@LL |
| 2 | SpatiaI | 14401088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@LL |
| 1 | SNR | 352/288/30 | 3 041 280 | 15 | 1 835 008 | SNR@LL |
| 2 | SpatiaI | 1440/1088/30 | 47 001 /48) | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 720/576/30 | 10 368 000 | 10 | 1 212416 | MP@LL |
| 1 | SNR | 720/576/30 | 10 368 000 | 15 | 1 835 008 | SNR@LL |
| 2 | SpatiaI | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 1440/1088/60 | 10 368 000 | 15 | 1 835 008 | MP@H-14 |
| 1 | SNR | 1440/1088/60 | 10 368 000 | 40 | 4 882 432 | Spt@H-14 |
| 2 | SpatiaI | 1440'1088/6 0 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
Bảng E.33 - Spatial profile@High-1440 level (Base leaver + Spatial + SNR)
Số Iớp | Layer _id | chế độ có thể mở rộng | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
3 | 0 | Base | 768/576/30 | 2 534 400 | 1.856 | 327 680 | ISO 11172 |
| 1 | SpatiaI | 1440/1088/30 | 47 001 600 | 40 | 4 882 432 | Spt@H-14 |
| 2 | SNR | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 768/576/30 | 10 368 000 | 15 | 1 835 008 | SP@ML |
| 1 | SpatlaI | 1440/1088/30X'30 | 47 001 />00 | 40 | 4 882 432 | Spt@H-14 |
| 2 | SNR | 1440/1088/30 | 47 001 MW | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@XL |
| 1 | SpatiaI | 1440/1088/30 | 47 001 600 | 40 | 4 882 432 | Spt@H-14 |
| 2 | SNR | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 720/576/30 | 10 368 000 | 15 | 1 835 008 | MP@H-14 |
| 1 | SpatiaI | 14401088/30 | 47 001 600 | 40 | 4 882 432 | Spt@H-14 |
| 2 | SNR | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
3 | 0 | Base | 720/576/30 | 10 368 000 | 15 | 1 835 008 | MP@H-14 |
| 1 | SpatiaI | 1440/1088/60 | 47 001 600 | 40 | 4 882 432 | Spt@H-14 |
| 2 | SNR | 1440/1088/30 | 47 001 600 | 60 | 7 340 032 | Spt@H-14 |
|
|
|
|
|
|
|
|
Bảng E.34 -High profile @ Main level (Base Layer)
Số lớp | Layer _id | chế độ có thể mở rộng | Định dạng Chroma | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bít tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
1 | 0 | Base | 4:2:0 | 720/576/30 | 14 745 600 | 20 | 2 441 216 | HP@ML |
1 | 0 | Base | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2441 216 | HP@ML |
Bảng E.35 - High profile@Main level (Base Layer + SNR)
Số lớp | Layer _id | chế độ có thể mở rộng | Định dạng Chroma | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
2 | 0 | Base | 4:2:0 | 720/576/30 | 10 368 000 | 15 | 1 835 008 | SP@ML |
| 1 | SNR | 4:2:0 | 720/576/30 | 10 368 000 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 720/576/30 | 10 368 000 | 15 | 1 835 008 | SP@ML |
| 1 | SNR | 4:2:2 | 720/576/30 | 10 368 000 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@ML |
| 1 | SNR | 4:2:0 | 352/288/30 | 3 041 280 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@ML |
| 1 | SNR | 4:2:2 | 352/288/30 | 3 041 280 | 20 | 2441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 720/576/30 | 10 368 000 | 15 | 1 835 008 | MP@ML |
| 1 | SNR | 4:2:0 | 720/576/30 | 10 368 000 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 720/576/30 | 10 368 000 | 15 | 1 835 008 | MP@ML |
| 1 | SNR | 4:2:2 | 720/576/30 | 10 368 000 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 720/576/30 | 14 745 600 | 15 | 1 835 008 | HP@ML |
| 1 | SNR | 4:2:0 | 720/576/30 | 14 745 600 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:2 | 720/576/30 | 11 059 200 | 15 | 1 835 008 | H@ML |
| 1 | SNR | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML |
Bảng E.36 - High profile@Main level (Base Laver + Spatial)
Số lớp | Layer _id | chế độ có thể mở rộng | Định dạng Chroma | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
2 | 0 | Base | 4:2:0 | 352/288/30 | 2 534 400 | 1.856 | 327 680 | ISO 11172 |
| 1 | Spatial | 4:2:0 | 720/576/30 | 14 745 600 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 352/288/30 | 2 534 400 | 1.856 | 327 680 | ISO 11172 |
| 1 | Spatial | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | SP@ML |
| 1 | Spatial | 4:2:0 | 720/576/30 | 14 745 600 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | SP@ML |
| 1 | Spatial | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@ML |
| 1 | Spatial | 4:2:0 | 720/576/30 | 14 745 600 | 20 | 2 441 216 | HP@ML |
2 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@ML |
| 1 | Spatial | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML |
Bảng E.37 - High profile@Main level (Base Layer + SNR + Spatial)
Số lớp | Layer _id | chế độ có thể mở rộng | Định dạng Chroma | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức | |
3 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 3 | 360 448 | SP@ML | |
| 1 | SNR | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | SNR@LL | |
| 2 | Spatial | 4:2:0 | 720/576/30 | 14 745 600 | 20 | 2 441 216 | HP@ML | |
3 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 3 | 360 448 | SP@ML | |
| 1 | SNR | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | SNR@LL | |
| 2 | Spatial | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML | |
3 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 3 | 360 448 | SP@ML | |
| 1 | SNR | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | SNR@LL | |
| 2 | Spatial | 4:2:0 | 720/576/30 | 14 745 600 | 20 | 2 441 216 | HP@ML | |
3 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 3 | 360 448 | SP@ML | |
| 1 | SNR | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | SNR@LL | |
| 2 | Spatial | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML | |
Bảng E.38 - High profile@Main level (Base Layer + Spatial + SNR)
Số lớp | Layer _id | chế độ có thể mở rộng | Định dạng Chroma | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
3 | 0 | Base | 4:2:0 | 352/288/30 | 2 534 400 | 1.856 | 327 680 | ISO 11172 |
| 1 | Spatial | 4:2:0 | 720/576/30 | 14 745 600 | 15 | 1 835 008 | HP@ML |
| 2 | SNR | 4:2:0 | 720/576/30 | 14 745 600 | 20 | 2 441 216 | HP@ML |
3 | 0 | Base | 4:2:0 | 352/288/30 | 2 534 400 | 1.856 | 327 680 | ISO 11172 |
| 1 | Spatial | 4:2:0 | 720/576/30 | 11 059 200 | 15 | 1 835 008 | HP@ML |
| 2 | SNR | 4:2:2 | 720/576/3 | 11 059 200 | 20 | 2 441 216 | HP@ML |
3 | 0 | Base | 4:2:0 | 352/288/30 | 2 534 400 | 1.856 | 327 680 | ISO 11172 |
| 1 | Spatial | 4:2:2 | 720/576/30 | 11 059 200 | 15 | 1 835 008 | HP@ML |
| 2 | SNR | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML |
3 | 0 | Base | 4:2:0 | 352/288/30 | 3041 280 | 4 | 475 136 | SP@ML |
| 1 | Spatial | 4:2:0 | 720/576/30 | 14 745 600 | 15 | 1 835 008 | HP@ML |
| 2 | SNR | 4:2:0 | 720/576/30 | 14 745 600 | 20 | 2441 216 | HP@ML |
3 | 0 | Base | 4:2:0 | 352/288/30 | 3041 280 | 4 | 475 136 | SP@ML |
| 1 | Spatial | 4:2:0 | 720/576/30 | 11 059 200 | 15 | 1 835 008 | HP@ML |
| 2 | SNR | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML |
3 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | SP@ML |
| 1 | Spatial | 4:2:2 | 720/576/30 | 11 059 200 | 15 | 1 835 008 | HP@ML |
| 2 | SNR | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML |
3 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@LL |
| 1 | Spatial | 4:2:0 | 720/576/30 | 14 745 600 | 15 | 1 835 008 | HP@ML |
| 2 | SNR | 4:2:0 | 720/576/30 | 14 745 600 | 20 | 2 441 216 | HP@ML |
3 | 0 | Base | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@LL |
| 1 | Spatial | 4:2:0 | 720/576/30 | 11 059 200 | 15 | 1 835 008 | HP@ML |
| 2 | SNR | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML |
3 | 0 | Rase | 4:2:0 | 352/288/30 | 3 041 280 | 4 | 475 136 | MP@LL |
| 1 | Spatial | 4:2:2 | 720/576/30 | 11 059 200 | 15 | 1 835 008 | HP@ML |
| 2 | SNR | 4:2:2 | 720/576/30 | 11 059 200 | 20 | 2 441 216 | HP@ML |
Bảng E.39- High profile@High-14-10 level (Base Layer)
Số lớp | Layer _id | chế độ có thể mở rộng | Định dạng Chroma | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức |
1 | 0 | Base | 4:2:0 | 1440/1088/60 | 62 668 800 | 80 | 9 781 248 | HP@H-14 |
1 | 0 | Base | 4:2:2 | 1440/1088/60 | 47 001 600 | 80 | 9 781 248 | HP@H-14 |
Bảng E.40- High profile@High-1440 level (Base Layer + SNR)
Số lớp | Layer _id | chế độ có thể mở rộng | Định dạng Chroma | Mật độ mẫu tối đa (H/V/F) | Tốc độ mẫu tối đa | Tổng số tốc độ bit tối đa /1000000 | Tổng số bộ đệm VBV lớn nhất | Chỉ thị Profile và mức | |
2 | 0 | Base | 4:2:0 | 720/576/ |