Trang /
Tiêu chuẩn Quốc gia TCVN 11795-1:2020 ISO/IEC 14496-1:2010 Công nghệ thông tin - Mã hóa đối tượng hình ảnh, âm thanh
- Thuộc tính
- Nội dung
- Tiêu chuẩn liên quan
- Lược đồ
- Tải về
Lưu
Theo dõi văn bản
Đâ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.
Báo lỗi
Đang tải dữ liệu...
Đang tải dữ liệu...
Tiêu chuẩn Việt Nam TCVN 11795-1:2020
Tiêu chuẩn Quốc gia TCVN 11795-1:2020 ISO/IEC 14496-1:2010 Công nghệ thông tin - Mã hóa đối tượng hình ảnh, âm thanh - Phần 1: Các hệ thống
Số hiệu: | TCVN 11795-1: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: | Khoa học-Công nghệ, Thông tin-Truyền thông |
Năm ban hành: | 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! | |
Tình trạng hiệu lực: Đã biết
Ghi chú: Thêm ghi chú cá nhân cho văn bản bạn đang xem.
Hiệu lực: Đã biết
Tình trạng: Đã biết
TIÊU CHUẨN QUỐC GIA
TCVN 11795-1:2020
ISO/IEC 14496-1:2010
CÔNG NGHỆ THÔNG TIN - MÃ HÓA CÁC ĐỐI TƯỢNG ÂM THANH, HÌNH ẢNH - PHẦN 1: CÁC HỆ THỐNG
Information technology - Coding of audio-visual objects - Part 1: Systems
Lời nói đầu
TCVN 11795-1:2020 hoàn toàn tương đương tiêu chuẩn ISO/IEC 14496-1:2010, ISO/IEC 14496-1:2010/Amd.1:2010, ISO/IEC 14496-1:2010/Amd.2:2014.
TCVN 11795-1:2020 do Viện Khoa học kỹ thuật Bưu điện 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 CÁC ĐỐI TƯỢNG ÂM THANH, HÌNH ẢNH - PHẦN 1: CÁC HỆ THỐNG
Information technology - Coding of audio-visual objects - Part 1: Systems
1 Phạm vi áp dụng
Tiêu chuẩn này là một phần cấu thành của bộ tiêu chuẩn về Công nghệ thông tin - Mã hóa các đối tượng âm thanh, hình ảnh (TCVN 11795), quy định các chức năng mức hệ thống cho truyền thông âm thanh, hình ảnh tương tác, tức là biểu diễn thông tin mã hóa liên quan đến quản lý các dòng dữ liệu (đồng bộ, định danh, mô tả và gắn kết các dòng dữ liệu).
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).
ISO 639-2:1998, Codes for the representation of names of languages - Part 2: Alpha-3 code (Mã biểu diễn cho tên ngôn ngữ - Phần 2: mã Alpha-3).
ISO/IEC 10646-1:2000, Information technology - Universal Multiple-Octet Coded Character Set (UCS) in Part 1: Architecture and Basic Multilingual Plane (Công nghệ thông tin - Tập các ký tự được mã hóa, bằng nhiều octet bởi mã thống nhất.)
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 (Công nghệ thông tin - mã hóa ảnh động và âm thanh liên kết với nó cho phương tiện lưu trữ số lên đến khoảng 1,5 Mbit/s - Phần 2 Video).
ISO/IEC 11172-3:1993, Information technology - Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s - Part 3: Audio ((Công nghệ thông tin - mã hóa ảnh động và âm thanh liên kết với nó cho phương tiện lưu trữ số lên đến khoảng 1,5 Mbit/s - Phần 2 Âm thanh).
ISO/IEC 13818-3:1998, Information technology - Generic coding of moving pictures and associated audio information - Part 3: Audio (Công nghệ thông tin - mã hóa ảnh động và thông tin âm thanh liên kết - Phần 3 Âm thanh).
ISO/IEC 13818-2:2000, Information technology - Generic coding of moving pictures and associated audio information - Part 2: Video (Công nghệ thông tin - mã hóa ảnh động và thông tin âm thanh liên kết - Phần 2 Video).
ISO/IEC 13818-7:2006, Information technology - Generic coding of moving pictures and associated audio information - Part 7: Advanced Audio Coding (AAC) (Công nghệ thông tin - mã hóa ảnh động và thông tin âm thanh liên kết - Phần 7 Mã hóa âm thanh tiên tiến).
ISO/IEC 14496-2:2004, Information technology - Coding of audio-visual objects - Part 2: Visual (Công nghệ thông tin - mã hóa các đối tượng âm thanh, hình ảnh - Phần 2 hình ảnh).
ISO/IEC 14496-10:2009, Information technology - Coding of audio-visual objects - Part 10: Advanced Video Coding (Công nghệ thông tin - mã hóa các đối tượng âm thanh, hình ảnh - Phần 10 Mã hóa video tiên tiến).
ISO/IEC 14496-15:2004, Information technology - Coding of audio-visual objects - Part 15: Advanced Video Coding (AVC) file format (Công nghệ thông tin - mã hóa các đối tượng âm thanh, hình ảnh - Phần 15 Định dạng tệp mã hóa âm thanh tiên tiến).
ISO/IEC 14496-16:2006, Information technology - Coding of audio-visual objects - Part 16: Animation Framework extension (AFX) (Công nghệ thông tin - mã hóa các đối tượng âm thanh, hình ảnh - Phần 16 Mở rộng khung chương trình hoạt cảnh (AFX).
ISO/IEC 14496-18:2004, Information technology - Coding of audio-visual objects - Part 18: Font compression and streaming (Công nghệ thông tin - mã hóa các đối tượng âm thanh, hình ảnh - Phần 18 Nén font và tạo luồng).
ISO/IEC 10918-1:1994, Information technology - Digital compression and coding of continuous-tone still images - Part 1: Requirements and guidelines (Công nghệ thông tin - nén số và mã hóa ảnh tĩnh có tông màu liên tục).
ANSI/SMPTE 291M:1996, Television - Ancillary Data Packet and Space Formatting (Truyền hình - gói dữ liệu phụ thuộc và định dạng khoảng cách).
SMPTE 315M: 1999, Television - Camera Positioning Information Conveyed by Ancillary Data Packets (Truyền hình - Thông tin vị trí camera truyền tải trong các gói dữ liệu phụ thuộc).
3 Tài liệu viện dẫn bổ sung
Xem trong Thư mục tài liệu tham khảo.
4 Thuật ngữ và định nghĩa
Tiêu chuẩn này sử dụng các thuật ngữ, định nghĩa dưới đây.
4.1
Đơn vị truy cập (access unit)
Thành phần dữ liệu nhỏ nhất trong dòng cơ sở có khả năng truy nhập riêng biệt và có thể được gắn thông tin định thời duy nhất.
4.2
Ánh xạ al-pha (alpha map)
Phép biểu diễn nguyên bản các tham số kết hợp với bản đồ cấu trúc.
4.3
Đối tượng âm thanh - hình ảnh (audio-visual object)
Phép biểu diễn đối tượng tổng hợp hoặc nguyên thủy có xuất hiện âm thanh và/hoặc hình ảnh.
CHÚ THÍCH: phép biểu diễn này tương ứng với một nút hoặc một nhóm nút trong miêu tả cảnh BIFS. Mỗi đối tượng âm thanh, hình ảnh không liên kết hoặc liên kết với một số dòng cơ sở bằng cách sử dụng một hoặc một số bộ mô tả đối tượng.
4.4
Cảnh âm thanh - hình ảnh (audio-visual scene)
Tập hợp các đối tượng âm thanh, hình ảnh cùng với thông tin mô tả cảnh xác định các thuộc tính không gian và thời gian bao gồm các hành vi là kết quả của các tương tác giữa đối tượng và người dùng.
4.5
Bộ thông số AVC (AVC parameter set)
Bộ thông số chuỗi ảnh hoặc bộ thông số của một ảnh.
4.6
Đơn vị truy cập AVC (AVC access unit)
Đơn vị truy cập được tạo thành từ các khối NAL theo định nghĩa trong ISO/IEC 14496-10 với cấu trúc được xác định trong ISO/IEC 14496-15:2004, 5.2.3
4.7
Đơn vị truy cập bộ thông số AVC (AVC parameter set access unit)
Đơn vị truy cập chỉ được tạo thành từ các đơn vị NAL của chuỗi ảnh hoặc các đơn vị NAL của một ảnh có gắn cùng nhãn thời gian.
4.8
Dòng cơ sở bộ thông số AVC (AVC parameter set elementary stream)
Dòng cơ sở chỉ bao hàm các đơn vị truy cập bộ thông số AVC.
4.9
Dòng cơ sở video AVC (AVC video elementary stream)
Dòng cơ sở chứa các đơn vị truy cập tạo thành từ các đơn vị NAL đối với dữ liệu ảnh mã hóa.
4.10
Định dạng nhị phân cho cảnh (binary format for scene)
BIFS
Phép biểu diễn mã hóa định dạng mô tả cảnh như quy định trong ISO/IEC 14496-11.
4.11
Mô hình bộ đệm (buffer model)
Mô hình mô tả đầu cuối tuân theo bộ tiêu chuẩn ISO/IEC 14496 thực hiện quản lý tài nguyên bộ đệm sử dụng cho việc giải mã một trình diễn.
4.12
Căn chỉnh byte (byte aligned)
Vị trí trong dòng bít cách bít đầu tiên của dòng mã n byte (8 bít) với n là số nguyên dương.
4.13
Tham chiếu đồng hồ (clock reference)
Nhãn thời gian đặc biệt truyền tải cách đọc gốc thời gian.
4.14
Tổng hợp (composition)
Tiến trình áp dụng thông tin mô tả cảnh để xác định các thuộc tính không gian, thời gian và phân cấp của các đối tượng âm thanh, hình ảnh.
4.15
Bộ nhớ tổng hợp (composition memory)
CM
Bộ nhớ có khả năng truy cập ngẫu nhiên và chứa các đơn vị tổng hợp.
4.16
Nhãn thời gian tổng hợp (composition time stamp)
CTS
Chỉ báo thời gian tổng hợp danh nghĩa của một đơn vị tổng hợp.
4.17
Đơn vị tổng hợp (composition unit)
CU
Thành phần đầu ra của bộ giải mã, có khả năng truy nhập riêng biệt và được tạo thành từ các đơn vị truy cập.
4.18
Tầng nén (compression layer)
Một tầng của hệ thống tuân thủ quy định của bộ ISO/IEC 14496, thực hiện chức năng thông dịch giữa trình diễn trước giải mã và sau giải mã của dòng cơ sở. Tầng này chứa các bộ giải mã.
4.19
Điểm điều khiển (control point)
Điểm trên dòng cơ sở cho trước ở đầu cuối, tại đó tiến trình xử lý IPMP trên dữ liệu dòng được thực hiện.
4.20
Bộ giải mã (decoder)
Thực thể thông dịch giữa trình diễn trước giải mã và trình diễn sau giải mã của một dòng cơ sở.
4.21
Bộ đệm giải mã (decoding buffer)
DB
Bộ đệm ở đầu vào bộ giải mã, bộ đệm này chứa các đơn vị truy cập.
4.22
Cấu hình bộ giải mã (decoder configuration)
Cấu hình của bộ giải mã để xử lý dữ liệu dòng cơ sở bằng cách sử dụng thông tin bên trong bộ mô tả dòng cơ sở.
4.23
Nhãn thời gian giải mã (decoding time stamp)
DTS
Chỉ báo thời gian giải mã danh định của một đơn vị truy cập.
4.24
Tầng phân phối (delivery layer)
Sự trừu tượng hóa các cơ chế phân phối thông dụng (mạng máy tính...) có thể lưu hoặc phát một số dòng ghép cơ sở hoặc các dòng M4Mux.
4.25
Bộ mô tả (descriptor)
Cấu trúc dữ liệu được sử dụng để mô tả các khía cạnh chi tiết của một dòng cơ sở hoặc đối tượng âm thanh, hình ảnh mã hóa.
4.26
Giao diện ứng dụng DMIF (DMIF application interface)
DAI
Giao diện được quy định trong ISO/IEC 14496-6, sử dụng để mô hình hóa trao đổi dữ liệu dòng gói SL và các thông tin điều khiển liên quan giữa tầng đồng bộ và tầng phân phối.
4.27
Dòng cơ sở (elementary stream)
ES
Dòng dữ liệu đơn-phương tiện liên tục từ một thực thể nguồn đơn lẻ đến một thực thể đích đơn lẻ trên tầng nén.
4.28
Bộ mô tả dòng cơ sở (elementary stream descriptor)
Cấu trúc bên trong các bộ mô tả đối tượng, mô tả định dạng mã hóa, thông tin khởi tạo, cấu hình tầng đồng bộ và các thông tin khác về nội dung chứa trong dòng cơ sở.
4.29
Giao diện dòng cơ sở (elementary stream interface)
ESI
Giao diện mô hình hóa việc trao đổi dữ liệu dòng cơ sở và thông tin điều khiển liên quan giữa tầng nén và tầng đồng bộ.
4.30
Kênh M4Mux (M4Mux channel)
FMC
Nhãn để phân biệt giữa dữ liệu thuộc về các dòng cấu thành khác nhau trong một dòng M4Mux
CHÚ THÍCH: chuỗi dữ liệu thuộc một kênh M4Mux trong dòng M4Mux tương ứng với một dòng gói SL đơn.
4.31
Gói M4Mux (M4Mux packet)
Thực thể dữ liệu nhỏ nhất được quản lý bởi công cụ M4Mux, gồm tiêu đề và tải trọng.
4.32
Dòng M4Mux (M4Mux stream)
Chuỗi các gói M4Mux với dữ liệu từ một hoặc một số dòng gói SL, mỗi dòng được định danh bởi kênh M4Mux của nó.
4.33
Công cụ M4Mux (M4Mux tool)
Công cụ cho phép đan xen dữ liệu từ nhiều dòng dữ liệu.
4.34
Profile đồ họa (graphics profile)
Profile quy định tập các phần tử đồ họa được phép của công cụ BIFS có thể được sử dụng trong dòng mô tả cảnh.
CHÚ THÍCH: BIFS bao gồm cả hai phần tử mô tả cảnh và mô tả đồ họa
4.35
Inter
Chế độ để mã hóa các tham số sử dụng các tham số đã mã hóa trước đó để dự báo.
4.36
Dòng tương tác (interaction stream)
Dòng cơ sở truyền tải thông tin tương tác người dùng.
4.37
Intra
Chế độ mã hóa các tham số không tham chiếu tới các tham số mã hóa trước đó để thực hiện mã hóa.
4.38
Bộ mô tả đối tượng khởi đầu (initial object descriptor)
Bộ mô tả đối tượng đặc thù, cho phép đầu cuối thu tiến tới khởi tạo truy nhập các phần của nội dung mã hóa theo bộ tiêu chuẩn TCVN 11795 và truyền thông tin về mức và profile để mô tả sự phức tạp của nội dung.
4.39
Định danh sở hữu trí tuệ (intellectual property identification)
IPI
Định danh duy nhất của một hoặc một số dòng cơ sở tương ứng với các phần của một hoặc một số đối tượng âm thanh hình ảnh.
4.40
Hệ thống quản lý và bảo vệ sở hữu trí tuệ (intellectual property management and protection system)
Hệ thống IPMP
Thuật ngữ chung sử dụng cho các cơ chế và công cụ để quản lý và bảo vệ quyền sở hữu trí tuệ.
CHÚ THÍCH: Tiêu chuẩn này định nghĩa giao diện tới các hệ thống đó với các chức năng sau:
- Định danh các công cụ IPMP thông qua việc sử dụng một tổ chức đăng ký hoặc mô tả chức năng của công cụ IPMP ở dạng tham số;
- Kiểm soát thời gian của công cụ IPMP bởi cả các tham chiếu đến các công cụ IPMP được yêu cầu hoặc tại yêu cầu công cụ IPMP đã sẵn sàng;
- Cung cấp bản tin bảo mật giữa các công cụ IPMP và đầu cuối và giữa các công cụ IPMP với người sử dụng.
- Thông báo khởi tạo của các công cụ IPMP đến các yêu cầu công cụ IPMP
- Tương tác giữa các công cụ IPMP và/hoặc đầu cuối và người sử dụng.
- Mang các công cụ IPMP trong các dòng bit.
4.41
Thông tin IPMP (IPMP information)
Thông tin trực tiếp tới một công cụ IPMP để cho phép, hỗ trợ hoặc tạo điều kiện cho các hoạt động của công cụ IPMP.
4.42
Hệ thống IPMP (IPMP system)
Sơ đồ khối bảo vệ IPMP yêu cầu thực hiện truy cập không độc lập tới các dòng được bảo vệ tại dòng các điểm điều khiển yêu cầu và phải cung cấp truyền thông bên trong hệ thống IPMP trên một thực thi cơ bản.
CHÚ THÍCH: trong tiêu chuẩn này, thuật ngữ hệ thống IPMP được sử dụng trong một số trường hợp để chỉ một hệ thống IPMP thực sự hoặc là kết hợp của các công cụ IPMP, sự kết hợp này cung cấp chức năng của hệ thống IPMP. Trong trường hợp quan trọng cần phân biệt thì các điều khoản tương ứng phải được sử dụng.
4.43
Công cụ IPMP (IPMP tool)
Mô đun thực hiện (một hoặc một số) chức năng IPMP như nhật thực, mật mã hóa, dấu thủy vân.
CHÚ THÍCH: Về mặt khái niệm, có thể sử dụng kết hợp một hoặc một số công cụ IPMP để thực hiện các chức năng tương tự với một hệ thống IPMP. Các công cụ IPMP, trái ngược với các hệ thống IPMP, thường được xác định bởi điểm điều khiển cũng như các phương pháp chuẩn được cung cấp cho các giao tiếp bảo mật ở cả bên trong và bên ngoài công cụ IPMP bao gồm chức năng “hệ thống IPMP”. Một sự khác biệt nữa giữa công cụ IPMP và hệ thống IPMP đó là có thể sử dụng công cụ IPMP hoặc kết hợp các công cụ IPMP đẻ bảo vệ các dòng đối tượng.
4.44
Định danh công cụ IPMP (IPMP tool identifier)
Định danh các công cụ IPMP rõ ràng ở mức trình diễn hoặc ở mức phổ dụng.
CHÚ THÍCH: hai định danh khác nhau được cung cấp để hỗ trợ phân biệt giữa sử dụng hệ thống IPMP và công cụ IPMP.
4.45
Danh sách công cụ IPMP (IPMP tool list)
Danh sách công cụ IPMP có thể lựa chọn để xử lý nội dung.
4.46
Nút phương tiện (media node)
Nút BIFS phụ thuộc thời gian, nút này tham chiếu tới dòng phương tiện thông qua trường URL trong:
- Dòng hoạt ảnh;
- Bộ đệm âm thanh;
- Clip âm thanh;
- Nguồn âm thanh;
- Inline (nội hàm);
- Và MovieTexture
4.47
Dòng phương tiện (media stream)
Một hoặc một số dòng cơ sở mà bộ mô tả ES của nó được kết tập trong bộ mô tả đối tượng và cũng được giải mã để tạo thành trình diễn đối tượng AV.
4.48
Mốc thời gian phương tiện (media timeline)
Mốc thời gian phương tiện tức là thời điểm đọc lại một dòng phương tiện.
4.49
Tệp MP4 (MP4 file)
Tên một định dạng tệp được mô tả trong bộ tiêu chuẩn TCVN 11795-14:2017.
4.50
Tham chiếu đồng hồ đối tượng (object clock reference)
OCR
Tham chiếu đồng hồ được bộ giải mã sử dụng để phục hồi gốc thời gian của bộ mã hóa dòng cơ sở.
4.51
Thông tin nội dung đối tượng (object content information)
OCI
Thông tin bổ sung về nội dung được truyền tải thông qua một hoặc một số dòng cơ sở; hoặc là được kết tập trong các bộ mô tả dòng cơ sở riêng hoặc được truyền tải như một dòng cơ sở.
4.52
Bộ mô tả đối tượng (object descriptor)
OD
Bộ mô tả tập hợp một hoặc một số dòng cơ sở bởi các bộ mô tả dòng cơ sở của nó và định nghĩa các phụ thuộc về mặt lô-gic.
4.53
Lệnh mô tả đối tượng (object descriptor command)
Lệnh xác định hoạt động được thực hiện trong danh sách các bộ mô tả đối tượng hoặc các định danh bộ mô tả đối tượng, ví dụ cập nhật, gỡ bỏ.
4.54
Profile bộ mô tả đối tượng (object descriptor profile)
Profile quy định cấu hình của công cụ mô tả đối tượng và công cụ tầng đồng bộ được phép.
4.55
Dòng bộ mô tả đối tượng (object descriptor stream)
Dòng cơ sở truyền tải các bộ mô tả đối tượng trong các câu lệnh của bộ mô tả đối tượng.
4.56
Gốc thời gian đối tượng (object time base)
OTB
Gốc thời gian có hiệu lực đối với một dòng cơ sở cho trước và bộ giải mã dòng đó; được truyền tải đến bộ giải mã thông qua tham chiếu đồng hồ đối tượng và được tất cả các nhãn thời gian liên quan đến tiến trình giải mã đối tượng này sử dụng.
4.57
Bộ giải mã âm thanh tham số (parametric audio decoder)
Tập các công cụ để biểu diễn và giải mã tín hiệu thoại ở tốc độ bit từ 6 Kbps đến 16 Kbps, theo quy định trong ISO/IEC 14496-3.
4.58
Mô tả tham số (parametric description)
SDL khai báo mô tả cấu hình tham số và các bản tin giao diện khác điều khiển công cụ và hành vi được xác định để hoàn thành mô tả.
4.59
Chất lượng dịch vụ (quality of service)
QoS
Hiệu suất mà một dòng cơ sở yêu cầu từ kênh phân phối để truyền tải. QoS được đặc trưng bởi tập các tham số (tốc độ bit, trễ jitter, tốc độ lỗi bit...)
4.60
Truy cập ngẫu nhiên (random access)
Tiến trình bắt đầu đọc và giải mã một đoạn thông tin được mã hóa trong dòng cơ sở tại một điểm tùy ý.
4.61
Điểm tham chiếu (reference point)
Vị trí trong dòng dữ liệu hoặc điều khiển của một hệ thống và có một số đặc trưng được xác định.
4.62
Kết xuất (rendering)
Hành động biến đổi thành phần mô tả cảnh và các đối tượng âm thanh, hình ảnh cấu thành của thành phần đó từ một miền trình diễn chung sang miền trình diễn của một thiết bị cụ thể (như loa và xem trên window).
4.63
Vùng kết xuất (rendering area)
Một phần của màn hình thiết bị hiển thị, trong đó mô tả cảnh và các đối tượng âm thanh hình ảnh cấu thành được kết xuất.
4.64
Mô tả cảnh (scene description)
Thông tin mô tả vị trí không gian - thời gian của đối tượng âm thanh - hình ảnh cũng như những biến đổi do tương tác giữa người dùng và đối tượng và tham chiếu tới dòng cơ sở dữ liệu âm thanh - hình ảnh của các dòng cơ sở bằng cách trỏ tới các bộ mô tả đối tượng.
4.65
Dòng mô tả cảnh (scene description stream)
Dòng cơ sở truyền tải thông tin mô tả cảnh.
4.66
Thành phần đồ họa cảnh (scene graph elements)
Các thành phần ngôn ngữ BIFS chỉ liên quan đến cấu trúc của cảnh âm thanh, hình ảnh (vị trí không gian, thời gian của đối tượng âm thanh, hình ảnh cũng như hành vi của nó là kết quả của tương tác đối tượng và người dùng) ngoại trừ các nút âm thanh, hình ảnh và đồ họa như quy định trong ISO/IEC 14496-11.
4.67
Profile đồ họa cảnh (scene graph profile)
Profile xác định tập các thành phần đồ họa cảnh của công cụ BIFS có thể được sử dụng trong dòng mô tả cảnh.
CHÚ THÍCH: BIFS bao gồm cả các thành phần mô tả cảnh và đồ họa.
4.68
Khả năng tìm kiếm (seekable)
Thuộc tính của dòng phương tiện cho phép đọc lại tại bất kỳ vị trí nào.
4.69
Dòng gói SL (SL-packetized stream)
SPS
Chuỗi các gói SL thuộc một dòng cơ sở.
4.70
Đối tượng dòng (stream object)
Dòng phương tiện hoặc là một đoạn của dòng, được tham chiếu thông qua trường URL trong cảnh ở dạng “OD:n” hoặc “OD:n#<segmentName>”
4.71
Âm thanh có cấu trúc (structured audio)
Phương pháp mô tả âm thanh và các hiệu ứng âm thanh đồng bộ như được định nghĩa trong ISO/IEC 14496-3
4.72
Tầng đồng bộ (sync layer)
SL
Tầng để thích ứng dữ liệu dòng cơ sở cho việc truyền thông qua giao diện ứng dụng DMIF, tầng này cung cấp thông tin định thời và đồng bộ cũng như thông tin phân mảnh và truy cập ngẫu nhiên.
CHÚ THÍCH: Cú pháp tầng đồng bộ có thể cấu hình được và có thể cấu hình rỗng.
4.73
Cấu hình tầng đồng bộ (sync layer configuration)
Cấu hình cú pháp tầng đồng bộ cho dòng cơ sở cụ thể thông qua việc sử dụng thông tin trong bộ mô tả dòng cơ sở của dòng đó.
4.74
Gói SL (SL-packet)
Thực thể dữ liệu nhỏ nhất được quản lý bởi tầng đồng bộ bao gồm một tiêu đề có thể cấu hình được và phần tải tin, có thể bao gồm một đơn vị truy cập hoàn chỉnh hoặc một phần của đơn vị truy cập
4.75
Ngôn ngữ mô tả cú pháp (syntactic description language)
SDL
Ngôn ngữ được định nghĩa trong mục 8 tiêu chuẩn này, cho phép mô tả cú pháp dòng bit.
4.76
Mô hình bộ giải mã các hệ thống (systems decoder model)
SDM
Mô hình cung cấp cái nhìn tổng quan về hành vi của đầu cuối tuân thủ bộ tiêu chuẩn TCVN 11795, bao gồm mô hình bộ đệm và mô hình định thời.
4.77
Gốc thời gian hệ thống (system time base)
STB
Việc thực hiện phân giải gốc thời gian của một đầu cuối được thực hiện không độc lập, do đó tất cả các hoạt động ở đầu cuối được thực hiện.
4.78
Đầu cuối (terminal)
Hệ thống gửi, hoặc nhận và biểu diễn thông tin mã hóa của một tương tác cảnh âm thanh hình ảnh như định nghĩa trong ISO/IEC 14496-11. Đầu cuối có thể là một phần tử độc lập hoặc là một phần của hệ thống ứng dụng tuân thủ bộ tiêu chuẩn TCVN 11795.
4.79
Gốc thời gian (time base)
Xung đồng hồ, tương đương với một bộ đếm tăng lên theo định kỳ.
4.80
Mô hình định thời (timing model)
Mô hình quy định Ngữ nghĩa thông tin định thời, cách thức được hợp nhất (rõ ràng hoặc ngầm định) trong phép biểu diễn diễn thông tin mã hóa và cách thức khắc phục ở đầu cuối thu.
4.81
Nhãn thời gian (time stamp)
Chỉ báo thời gian cụ thể liên quan tức thời đến một gốc thời gian
4.82
Rãnh (track)
Tập hợp các mẫu có liên quan trong tệp MP4.
5 Ký hiệu và thuật ngữ viết tắt
AU | Access unit | Đơn vị truy cập |
AV | Audio-visual | Âm thanh, hình ảnh |
AVC | Advanced video coding | Mã hóa video nâng cao (xem ISO/IEC 14496-10) |
BIFS | Binary format for scene | Định dạng nhị phân cho cảnh |
CM | Composition memory | Bộ nhớ tổng hợp |
CTS | Composition time stamp | Nhãn thời gian tổng hợp |
CU | Composition unit | Đơn vị tổng hợp |
DAI | DMIF application interface | Giao diện ứng dụng DMIF (xem ISO/IEC 14496-6) |
DB | Decoding buffer | Bộ đệm giải mã |
DTS | Decoding time stamp | Nhãn thời gian giải mã |
DMIF | Delivery multimedia integration framework | Khung chuẩn cung cấp truyền thông đa phương tiện tích hợp |
ES | Elementary stream | Dòng cơ sở |
ESI | Elementary stream interface | Giao diện dòng cơ sở |
ESID | Elementary stream identifier | Định danh dòng cơ sở |
FMC | M4Mux channel | Kênh M4Mux |
IP | Intellectual property | Sở hữu trí tuệ |
IPI | Intellectual property identification | Định danh sở hữu trí tuệ |
IPMP | Intellectual property management and protection | Bảo vệ và quản lý sở hữu trí tuệ |
NAL | Network abstraction layer | Tầng trừu tượng hóa mạng |
OCI | Object content information | Thông tin nội dung đối tượng |
OCR | Object clock reference | Tham chiếu đồng hồ đối tượng |
OD | Object descriptor | Bộ mô tả đối tượng |
ODID | Object descriptor identifier | Định danh bộ mô tả đối tượng |
OTB | Object time base | Gốc thời gian đối tượng |
PLL | Phase locked loop | Vòng khóa pha |
QoS | Quality of service | Chất lượng dịch vụ |
SDL | Syntactic description language | Ngôn ngữ mô tả cú pháp |
SDM | Systems decoder model | Mô hình bộ giải mã các hệ thống |
SEI | Supplementary enhancement information | Thông tin cải tiến bổ sung |
SL | Synchronization layer | Tầng đồng bộ |
SL- packet | Synchronization layer packet | Gói ở tầng đồng bộ |
SPS | SL-packetized stream | Dòng gói LS |
STB | System time base | Gốc thời gian hệ thống |
URL | Universal resource locator | Bộ định vị nguồn đa năng |
6 Các quy ước
Để định nghĩa chính xác cú pháp của các thành phần dòng bít khác nhau mà các phần của bộ tiêu chuẩn TCVN 11795 quy định thì ngôn ngữ mô tả cú pháp được sử dụng. Ngôn ngữ này cho phép quy định ánh xạ các tham số khác nhau vào định dạng nhị phân cũng như các dòng bít nối tiếp. Định nghĩa ngôn ngữ này được đưa ra trong Điều 8 của tiêu chuẩn.
7 Cấu trúc tạo dòng
7.1 Mô hình bộ giải mã các hệ thống
7.1.1 Giới thiệu
Mục đích của mô hình bộ giải mã các hệ thống được đưa ra ở dạng rút gọn về khả năng của một đầu cuối tuân thủ chuẩn MPEG 4. Có thể được sử dụng bởi bên gửi để dự đoán cách bên nhận quản lý bộ đệm, đồng bộ và khi giải mã dữ liệu thu được ở dạng các dòng cơ sở. Mô hình bộ giải mã các hệ thống bao gồm một mô hình định thời và một mô hình bộ đệm.
Mô hình bộ giải mã các hệ thống quy định:
1. Giao diện để truy nhập dòng dữ liệu sau khi giải ghép (giao diện ứng dụng DMIF),
2. Các bộ đệm phục vụ giải mã lưu trữ dữ liệu mã hóa cho mỗi dòng cơ sở,
3. Hành vi của các bộ giải mã dòng cơ sở,
4. Bộ nhớ tổng lưu trữ dữ liệu sau giải mã từ mỗi bộ giải mã,
5. Khả năng xử lý đầu ra của bộ nhớ tổng tới bộ tổng hợp.
Những phần tử này được mô tả trong Hình 2. Mỗi một dòng cơ sở được đính kèm với một bộ đệm đơn. Nhiều hơn một dòng cơ sở có thể được kết nối tới một bộ giải mã đơn (ví dụ như bộ giải mã của đối tượng âm thanh hình ảnh có khả năng mở rộng).
Hình 2 - Mô hình bộ giải mã các hệ thống
7.1.2 Các nội dung của mô hình bộ giải mã các hệ thống
Mục này định nghĩa các nội dung cần thiết cho đặc tả kỹ thuật của mô hình định thời và đệm. Thứ tự các định nghĩa tương ứng từ trái qua phải như minh họa SDM trong Hình 2.
7.1.2.1 Giao diện ứng dụng DMIF (DAI)
Với mục đích của mô hình giải mã các hệ thống, giao diện ứng dụng DMIF bao gồm bộ giải ghép và nó cho phép truy nhập tới dữ liệu tạo dòng mà các bộ đệm giải mã sử dụng. Dữ liệu tạo dòng được nhận thông qua DAI, bao gồm các dòng gói SL. Các thuộc tính yêu cầu của DAI được mô tả trong 7.3.3. Ngữ nghĩa DAI được quy định đầy đủ trong ISO/IEC 14496-6.
7.1.2.2 Dòng gói SL (SPS)
Dòng gói SL bao gồm chuỗi các gói có cú pháp và Ngữ nghĩa tuân thủ quy định trong 7.3.2, nó đóng gói một dòng cơ sở đơn. Các gói này chứa dữ liệu dòng cơ sở được phân chia vào các đơn vị truy cập cũng như thông tin khác, ví dụ thông tin định thời và đánh nhãn đơn vị truy cập. Tải trọng dữ liệu SPS được đẩy vào bộ đệm giải mã, có nghĩa là các thông tin khác đã được tách ra ở đầu vào bộ đệm.
7.1.2.3 Đơn vị truy cập (AU)
Dữ liệu các dòng cơ sở được phân vào các đơn vị truy cập. Mô hình đơn vị truy cập hoàn toàn được xác định bởi thực thể tạo ra dòng cơ sở (ví dụ tầng nén). Đơn vị truy cập là thực thể dữ liệu nhỏ nhất được phân phối thông tin định thời. Hai đơn vị truy cập từ một dòng cơ sở không được tham chiếu đến cùng một thời gian giải mã hoặc thời gian tổng hợp. Bất kỳ sự phân chia dữ liệu khác trong dòng cơ sở đều trong suốt với mục đích của mô hình bộ giải mã các hệ thống. Các đơn vị truy cập được truyền tải bởi các dòng gói SL và nhận bởi các bộ đệm giải mã. Bộ giải mã sử dụng các khối truy cập cùng với các thông tin cần thiết khác (như nhãn thời gian) từ bộ đệm giải mã.
CHÚ THÍCH: tiêu chuẩn này phù hợp với thủ tục thực hiện của đầu cuối không được yêu cầu để xử lý các đơn vị truy cập được gửi đến nói chung. Ngoài ra nó còn phù hợp với sự phân chia đơn vị truy cập thành một vài phân đoạn để truyền dẫn như quy định trong 6.3. Điều đó cho phép đầu cuối gửi truyền đi các khối AU thành phần một cách tức thì như chúng được tạo ra trong tiến trình mã hóa. Các khối AU thành phần này có thể rất quan trọng trong việc cải thiện lỗi dư.
7.1.2.4 Bộ đệm giải mã (DB)
Bộ đệm giải mã là bộ đệm ở đầu vào của các bộ giải mã dòng cơ sở ở đầu cuối nhận, bộ đệm này nhận và lưu các đơn vị truy cập. Mô hình bộ đệm các hệ thống cho phép đầu cuối bên gửi giám sát tài nguyên bộ đệm giải mã mà chúng sử dụng trong suốt một trình diễn.
7.1.2.5 Dòng cơ sở (ES)
Dữ liệu tạo dòng thu được ở đầu ra của bộ đệm giải mã độc lập với nội dung của nó và được xem xét như một dòng cơ sở cho mục đích của MPEG 4. Các dòng cơ sở được tạo ra và sử dụng bởi các thực thể tầng nén (bộ mã hóa và bộ giải mã). MPEG 4 giả định rằng tính toàn vẹn của dòng cơ sở được đảm bảo từ đầu cuối đến đầu cuối.
7.1.2.6 Giao diện dòng cơ sở (ESI)
Giao diện dòng cơ sở là một khái niệm mô hình hóa việc trao đổi dữ liệu dòng cơ sở và thông tin điều khiển có liên quan giữa tầng nén và tầng đồng bộ. Nó được giải thích chi tiết hơn trong 7.3.
7.1.2.7 Bộ giải mã
Với mục đích của mô hình này, bộ giải mã trích xuất các đơn vị truy cập từ bộ đệm giải mã ở các điểm cho trước chính xác về thời gian và vị trí trong các đơn vị tổng hợp, kết quả của quá trình giải mã được lưu ở bộ nhớ tổng hợp. Bộ giải mã có thể được gắn với một vài bộ đệm giải mã.
7.1.2.8 Đơn vị tổng hợp
Bộ giải mã sử dụng các đơn vị truy cập và tạo ra các đơn vị tổng hợp. Một đơn vị truy cập tương ứng với một số đơn vị tổng hợp. Trong trường hợp nhiều dòng cơ sở được gán một bộ giải mã đơn (mã hóa có khả năng mở rộng), thì mỗi đơn vị phức hợp được dẫn xuất từ các đơn vị truy cập thuộc một hoặc một số dòng cơ sở này. Đơn vị tổng hợp được lưu trong bộ nhớ tổng hợp.
7.1.2.9 Bộ nhớ tổng hợp (CM)
Bộ nhớ tổng hợp là bộ nhớ có khả năng truy cập ngẫu nhiên, nó là nơi lưu các đơn vị tổng hợp. Kích thước bộ nhớ này không được quy định.
7.1.2.10 Bộ tổng hợp
Bộ tổng hợp lấy các đơn vị tổng hợp ngoài bộ nhớ tổng hợp và hoặc là sử dụng chúng (ví dụ: tổng hợp và biểu diễn trong trường hợp đó là dữ liệu âm thanh hình ảnh) hoặc là bỏ qua chúng. Bộ này không được quy định trong tiêu chuẩn này, chi tiết hoạt động của nó không liên quan trong mô hình bộ giải mã các hệ thống. 7.1.3.5 cho biết đơn vị tổng hợp nào đã sẵn sàng tới bộ tổng hợp ở bất kỳ thời điểm nào.
7.1.3 Quy định kỹ thuật mô hình định thời
Mô hình định thời dựa trên tham chiếu đồng hồ và nhãn thời gian để đồng bộ dữ liệu âm thanh, hình ảnh được truyền tải trong một hoặc một vài dòng cơ sở. Khái niệm về đồng hồ và tham chiếu đồng hồ liên quan được sử dụng truyền tải các chỉ báo thời gian đến đầu cuối thu. Nhãn thời gian được sử dụng để chỉ báo thời điểm chính xác mà đầu cuối thu sử dụng đơn vị truy cập trong bộ đệm giải mã hoặc có thể truy cập các đơn vị tổng hợp lưu trú trong bộ nhớ tổng hợp. Nhãn thời gian có liên kết với các đơn vị truy cập và đơn vị tổng hợp. Ngữ nghĩa của mô hình định thời được xác định trong các mục nhỏ dưới đây. Cú pháp để vận chuyển thông tin định thời được quy định trong 7.3.2.
CHÚ THÍCH: Mô hình định thời được thiết kế cho các ứng dụng giám sát tốc độ (“push”).
7.1.3.1 Gốc thời gian hệ thống (STB)
Gốc thời gian hệ thống định nghĩa chỉ báo thời gian cho đầu cuối. Việc phân tích STB được thực hiện trong mối tương quan với các thực thi khác. Tất cả các hoạt động của đầu cuối được lập biểu theo gốc thời gian hệ thống cho mục đích của bộ định thời.
CHÚ THÍCH: không có nghĩa là tất cả các thiết bị đầu cuối tuân thủ bộ tiêu chuẩn TCVN 11795 thì đều hoạt động dựa trên một gốc thời gian hệ thống.
7.1.3.2 Gốc thời gian đối tượng (OTB)
Gốc thời gian đối tượng định nghĩa chỉ báo thời gian cho một dòng dữ liệu cho trước. Việc phân tích OTB có thể được lựa chọn theo yêu cầu của ứng dụng hoặc như định nghĩa bởi một profile. Tất cả nhãn thời gian mà đầu cuối gửi chèn vào trong dòng dữ liệu mã hóa đều tham chiếu tới gốc thời gian này. OTB của dòng dữ liệu được biết ở đầu cuối thu qua thông tin tham chiếu đồng hồ đối tượng chèn vào trong dòng mã hoặc chỉ báo cho biết gốc thời gian của nó lệ thuộc vào gốc thời gian được truyền tải trong một dòng mã khác, quy định trong 7.3.2.3.
CHÚ THÍCH 1: Các dòng cơ sở có thể được tạo ra cho một mục tiêu duy nhất là chuyển tải thông tin gốc thời gian;
CHÚ THÍCH 2: Gốc thời gian hệ thống của đầu cuối thu cần không được chặn bất kỳ một gốc thời gian đối tượng nào sẵn có.
7.1.3.3 Tham chiếu đồng hồ đối tượng (OCR)
Một loại nhãn thời gian đặc thù được sử dụng để truyền tải các OTB tới các bộ giải mã dòng cơ sở. Giá trị của OCR tương ứng với giá trị của OTB ở thời điểm đầu cuối gửi tạo ra nhãn thời gian tham OCR này. Nhãn thời gian OCR được đặt trong tiêu đề gói SL như mô tả trong 7.3.2.4. Đầu cuối nhận phải ước lượng OCR khi bit cuối cùng của chúng được trích xuất ở đầu vào bộ đệm giải mã.
7.1.3.4 Nhãn thời gian cho quá trình giải mã (DTS)
Mỗi đơn vị truy cập có một thời gian giải mã danh nghĩa gắn với nó, đó là thời gian đơn vị truy cập đó phải sẵn sàng ở bộ đệm giải mã để thực hiện giải mã. AU này không được xuất hiện trong bộ đệm giải mã trước hoặc sau thời gian này. Việc giải mã được giả định được thực hiện tức thì tại thời điểm biết được giá trị DTS.
Các thời điểm giải mã có thể được quy định gián tiếp nếu biết trước khoảng cách giữa các đơn vị truy cập theo trình tự được chỉ ra khi thiết lập dòng cơ sở (7.3.2.3). Cú pháp định nghĩa các thời điểm giải mã được quy định trong 7.3.2.4.
Nhãn thời gian giải mã chỉ được truyền tải cho đơn vị truy cập mang nhãn thời gian tổng hợp (CTS) có giá trị khác với giá trị DTS. Sự xuất hiện cả hai loại nhãn thời gian này trong AU cho biết có thể hoán vị thứ tự mã hóa và thứ tự tổng hợp.
7.1.3.5 Nhãn thời gian tổng hợp
Mỗi một đơn vị tổng hợp có thời gian tổng hợp danh định liên kết với nó, thời gian đó quy định thời điểm đơn vị tổng hợp phải có mặt trong bộ nhớ tổng hợp để tổng hợp. CU không được có mặt sớm hơn hoặc muộn hơn thời điểm được chỉ ra đó. Do SDM giả định CU sẽ được giải mã tức thời khi nó có mặt ở bộ giải mã và ngay sau đó DTS của AU tương ứng sẽ được sử dụng (ví dụ tiến trình dự báo).
Nếu khoảng cách thời gian (hằng số) giữa các CU liên tiếp được biết trong giai đoạn khi thiết lập dòng cơ sở thì thời gian đáp ứng tức thời sẽ chính xác. Nếu không thì cú pháp CTS được quy định trong 7.3.2.4 sẽ truyền tải đáp ứng thời gian này.
CU có khả năng truy cập tức thời bởi một bộ ghép ở bất kỳ thời điểm nào giữa thời gian tổng hợp của nó và thời gian tổng hợp của CU tiếp theo. Nếu không có CU tiếp theo thì CU này không khả dụng trong vòng đời của dòng cơ sở chứa nó (tức là khi bộ mô tả dòng cơ sở của nó bị bỏ đi).
Nếu là bộ giải mã âm thanh, những bổ sung sau đây áp dụng cho các mẫu âm thanh trong đơn đơn vị tổng hợp; thời gian phức hợp áp dụng cho mẫu âm thanh thứ n trong đơn vị tổng hợp. Giá trị n là 1 chỉ khi có quy định rõ ràng trong ISO/IEC 14496-3, mục 1.6.6 giao diện giữa âm thanh và các hệ thống.
7.1.3.6 Số lần lặp và độ chính xác của thông tin định thời trong dòng cơ sở
Tần số chèn DTS, CTS và OCR vào dòng bit cũng như độ chính xác, rung và trôi phụ thuộc vào ứng dụng và profile. Một số xem xét về mặt sử dụng được nêu trong 7.3.2.7.
7.1.3.7 Nhãn thời gian cho các dòng cơ sở phụ thuộc
Một đối tượng âm thanh, hình ảnh có thể tham chiếu đến nhiều dòng cơ sở cấu thành một trình diễn nội dung có khả năng mở rộng (xem 7.2.7.1.5). Tập các dòng cơ sở như thế phải gắn kết với một gốc thời gian đối tượng. Các đơn vị truy cập ở cùng một vị trí trong các dòng cơ sở này được xác định bởi các giá trị DTS và CTS.
Ví dụ:
Hình 3 minh họa thời điểm đến của hai đơn vị truy cập ở bộ giải mã các hệ thống. Do giả định trễ là hằng số nên các thời điểm đến tương ứng với thời điểm khi đầu cuối bên gửi gửi các AU tương ứng. Đầu cuối bên gửi phải lựa chọn thời điểm này sao cho bộ đệm giải mã bên phía đầu cuối thu không bao giờ bị tràn bộ đệm. Ở đầu cuối bên thu, AU lập tức được giải mã, tại thời điểm tương ứng với DTS của nó, kết quả là các CU được đưa vào trong bộ nhớ tổng hợp và lưu giữ ở đó cho đến khi CU tiếp theo đến hoặc bộ mô tả đối tượng liên kết với nó bị gỡ bỏ.
Hình 3 - Tính sẵn sàng của các đơn vị tổng hợp
7.1.4 Quy định mô hình bộ đệm
7.1.4.1 Mô hình bộ giải mã cơ sở
Hình 4 minh họa một nhánh của mô hình bộ giải mã các hệ thống (Hình 2). Mô hình rút gọn này được sử dụng để quy định mô hình bộ đệm. Nó xử lý các dòng cơ sở tách biệt, do đó liên kết một bộ nhớ tổng hợp chỉ với một bộ giải mã. Chú thích sau Hình 4 giải thích kỹ về các ký tự sử dụng trong hình.
DB: Bộ đệm giải mã cho các dòng cơ sở
CM: bộ nhớ tổng hợp cho dòng cơ sở
AU: đơn vị truy cập đang xét đi vào bộ giải mã
CU: Đơn vị tổng hợp đang xét, đầu vào bộ nhớ tổng hợp. CU là kết quả của giải mã AU. Có thể có vài đơn vị tổng hợp được tạo ra khi giải mã một đơn vị truy cập.
Hình 4 - Sơ đồ khối mô hình bộ giải mã các hệ thống
7.1.4.2 Giả thuyết
7.1.4.2.1 Trễ thời gian từ đầu cuối - đầu cuối là hằng số
Dữ liệu truyền thời gian thực có một mô hình định thời, trong đó trễ từ đầu cuối - đầu cuối từ đầu vào bộ mã hóa ở đầu cuối gửi đến đầu ra bộ giải mã tại đầu cuối nhận là hằng số. Trễ này bằng tổng trễ do quá trình mã hóa, lưu đệm, giải ghép ở đầu cuối gửi, trễ do các tầng phân phối và trễ do giải ghép, đệm ở bộ giải mã và quá trình giải mã tại đầu cuối phía thu.
Chú ý rằng đầu cuối phía thu tự động thêm giá trị độ lệch thời gian (trễ) vào giá trị tuyệt đối của tất cả nhãn thời gian nếu cần bổ sung đệm. Tuy nhiên, sự sai khác về thời gian giữa hai nhãn thời gian (khoảng cách thời gian giữa các AU và CU liên kết với nó) phải được đảm bảo là thời gian thực.
CHÚ THÍCH: hai dòng cơ sở tuân thủ các gốc thời gian khác nhau có thể được đồng bộ chặt chẽ trong trường hợp trễ đầu cuối - đầu cuối là hằng số như giả định ở trên. Nếu một ứng dụng không thể thực hiện giả định mô hình này thì có thể không đồng bộ được. Sai số về giả định trễ đầu cuối - đầu cuối là hằng số cần được xác định thông qua profile và cơ chế mức.
7.1.4.2.2 Bộ giải ghép
Trễ đầu cuối - đầu cuối giữa đầu ra bộ ghép ở đầu cuối gửi và đầu vào bộ giải ghép phía đầu cuối nhận là hằng số.
7.1.4.2.3 Bộ đệm giải mã
Đầu cuối gửi cần biết kích thước bộ đệm giải mã và truyền tải thông tin này đến đầu cuối nhận như quy định trong 6.2.6.6.
Kích thước của bộ đệm giải mã được đo bằng đơn vị Byte.
Bộ đệm sẽ được làm đầy với tốc độ bít được xác định bởi tốc độ bít tối đa của dòng mã này trong khi dữ liệu sẵn có và tốc độ bằng 0 trong trường hợp khác. Tốc độ bit tối đa này được đầu cuối bên gửi truyền tải như là một phần thông tin cấu hình bộ giải mã trong giai đoạn thiết lập mỗi dòng cơ sở (Xem 6.2.6.6).
Thông tin nhận được từ DAI ở định dạng gói SL. Các tiêu đề gói SL được lấy tại thời điểm đi vào bộ đệm giải mã.
7.1.4.2.4 Bộ giải mã
Tiến trình giải mã được giả định là tức thì cho các mục đích của mô hình bộ giải mã các hệ thống.
7.1.4.2.5 Bộ nhớ tổng hợp
Việc ánh xạ AU sang một hoặc một số CU (bởi bộ giải mã) được ngầm hiểu ở đầu cuối gửi và đầu cuối nhận.
7.1.4.2.6 Bộ tổng hợp
Tiến trình tổng hợp được giả định là tức thì cho các mục đích của mô hình bộ giải mã các hệ thống.
7.1.4.3 Quản lý bộ đệm: tiến trình thực hiện
Trong ví dụ này, chúng tôi giả định rằng mô hình bộ đệm đang được sử dụng ở kịch bản “dữ liệu vào”. Trong các ứng dụng phân phối nội dung không phải thời gian thực, tín hiệu điều khiển lưu lượng có thể được thiết lập yêu cầu các đơn vị truy cập xuất hiện ở đầu cuối nhận khi cần thiết. Các cơ chế để thực hiện tùy thuộc vào ứng dụng và không được quy định trong bộ tiêu chuẩn TCVN 11795.
Hành vi của các yếu tố khác nhau trong SDM được mô hình hóa như sau:
- Đầu cuối gửi báo hiệu về tài nguyên bộ đệm giải mã tới đầu cuối nhận trước khi bắt đầu quá trình phân phối. Việc báo hiệu được quy định trong 7.2.6.6, yêu cầu kích cỡ bộ đệm giải mã đối với các dòng cơ sở riêng biệt rõ ràng hoặc ngầm định bằng chỉ báo một profile (xem mục 9). Kích thước bộ đệm giải mã được tính bằng đơn vị Byte.
- Đầu cuối gửi mô hình hóa các hành vi của các bộ đệm giải mã với những giả định sau:
+ Mỗi bộ đệm giải mã được làm đầy với tốc độ bit tối đa được quy định cho các dòng cơ sở có liên quan miễn là nguồn dữ liệu sẵn có
+ Tại thời điểm ứng với DTS của nó, một AU được giải mã và chuyển tới bộ đệm
+ Tại thời điểm ứng với DTS của nó, các CU tương ứng với AU vừa giải mã được đưa vào bộ nhớ kết hợp.
CU đang xét xuất hiện ở bộ tổng hợp trong khoảng thời gian tương ứng với CTS của CU hiện thời và CTS của CU tiếp theo. Nếu CU tiếp theo không tồn tại, thì CU đang xét không xuất hiện ở cuối của vòng đời dòng mã của nó.
Sử dụng những giả định này trên mô hình bộ đệm, đầu cuối gửi có thể tự do sử dụng những khoảng cách trống trong bộ đệm giải mã. Ví dụ, đầu cuối gửi phân phối dữ liệu cho một vài AU của một dòng mã, trong chế độ không thời gian thực, tới đầu cuối nhận và lưu dữ liệu đó ở DB trước khi dữ liệu đó được giải mã (giả thiết rằng khoảng trống đủ sử dụng). Tiếp theo, toàn bộ băng thông thu phát có thể được sử dụng để truyền dữ liệu cho các dòng thời gian thực. Bộ nhớ tổng hợp có thể được sử dụng, ví dụ, như bộ đệm để tái sắp xếp. Trong trường hợp giải mã ảnh, thì có thể chứa các khung-P đã được giải mã mà bộ giải mã video cần sử dụng cho việc giải mã các khung-B trung gian trước khi CTS của khung-P sau cùng đến.
7.2 Khung chương trình mô tả đối tượng
7.2.1 Giới thiệu
Mô tả cảnh (được quy định trong ISO/IEC 14496-11) và các dòng cơ sở truyền tải dữ liệu tạo dòng là các khối xây dựng cơ bản của cấu trúc tiêu chuẩn này. Các dòng cơ sở mang dữ liệu đối tượng âm thanh hoặc hình ảnh cũng như dữ liệu mô tả cảnh của âm thanh, hình ảnh đó. Khung chương trình mô tả đối tượng cung cấp liên kết giữa các dòng cơ sở và mô tả cảnh. Mô tả này cho biết tương quan không gian, thời gian của các đối tượng âm thanh, hình ảnh, còn khung chương trình mô tả đối tượng quy định tài nguyên dòng cơ sở, cung cấp dữ liệu theo thời gian cho cảnh. Thao tác này gián tiếp tạo nên những thay đổi độc lập tới cấu trúc cảnh, thuộc tính của các dòng cơ sở (như việc mã hóa) và phân phối chúng.
Khung chương trình mô tả đối tượng bao gồm một tập các bộ mô tả cho phép định danh, mô tả và liên kết chính xác các dòng cơ sở với các dòng cơ sở khác và với các đối tượng âm thanh hình ảnh được sử dụng trong mô tả cảnh này. Số định danh, gọi là ID bộ mô tả đối tượng (ObjectDescriptorID), liên kết các bộ mô tả đối tượng tới các nút thích hợp trong mô tả cảnh. Các bộ mô tả đối tượng được truyền tải trong các dòng cơ sở cho phép thay đổi nhãn thời gian cho tập các bộ mô tả đối tượng được tạo ra.
Mỗi bộ mô tả đối tượng là tập hợp các bộ mô tả, các bộ đó mô tả một hoặc nhiều hơn một dòng cơ sở liên kết với một nút đơn và thường liên quan tới một đối tượng âm thanh hoặc hình ảnh đơn. Điều đó cho phép xác định phép trình diễn nội dung co giãn được cũng như nhiều dòng mã thay thế truyền tải cùng một nội dung, ví dụ trong trường hợp nhiều mức chất lượng và đa ngôn ngữ.
Bộ mô tả dòng cơ sở trong bộ mô tả đối tượng định danh một dòng cơ sở đơn với một số các định danh, gọi là ES_ID. Mỗi một bộ mô tả dòng cơ sở chứa các thông tin cần thiết để khởi tạo và cấu hình tiến trình giải mã cho dòng cơ sở này, cũng như định danh sở hữu trí tuệ. Các thông tin bổ sung tùy chọn có thể được liên kết tới dòng cơ sở đơn, đáng chú ý nhất là các yêu cầu chất lượng dịch vụ cho việc truyền dẫn hoặc chỉ báo ngôn ngữ. Cả hai bộ mô tả đối tượng và bộ mô tả dòng cơ sở có thể sử dụng các URL để trỏ tới các bộ mô tả đối tượng từ xa hoặc nguồn gốc dòng cơ sở từ xa tương ứng.
Khung chương trình mô tả đối tượng cung cấp các neo để thực thi các hệ thống IPMP. Thông tin IPMP được truyền tải thông qua các bộ mô tả IPMP như là một phần của dòng bộ mô tả đối tượng hoặc thông qua các dòng IPMP chứa các thông tin IPMP theo thời gian. Cấu trúc của các bộ mô tả IPMP và các dòng IPMP được quy định trong mục này, còn cú pháp, Ngữ nghĩa và hoạt động của các hệ thống IPMP không thuộc phạm vi của bộ tiêu chuẩn TCVN 11795.
Thông tin nội dung đối tượng cho phép việc liên kết dữ liệu metadata với toàn bộ một biểu diễn hoặc với các bộ mô tả riêng biệt hoặc với các bộ mô tả dòng cơ sở. Tập các bộ mô tả OCI được định nghĩa là một phần không thể thiếu của bộ mô tả đối tượng hoặc bộ mô tả dòng cơ sở hoặc được chuyển tải bởi một dòng OCI phù hợp, cho phép vận chuyển các thông tin nội dung đối tượng theo thời gian.
Có thể truy cập nội dung ISO/IEC 14496 thông qua một bộ mô tả đối tượng khởi tạo, bộ mô tả này không được định nghĩa trong bộ tiêu chuẩn TCVN 11795. Trong trường hợp đơn giản nhất, bộ mô tả đối tượng khởi tạo trỏ đến dòng mô tả cảnh và dòng bộ mô tả đối tượng tương ứng. Các kịch bản truy cập được nêu trong 7.2.7.3.
Hình 5 - Các bộ mô tả đối tượng liên kết với mô tả cảnh tới các dòng cơ sở
Các phần còn lại của mục này như sau:
- 7.2.2 quy định cấu trúc dữ liệu mà khung chương trình bộ mô tả đối tượng lấy làm cơ sở
- 7.2.3 quy định các nội dung của các thành phần IPMP trong khung chương trình mô tả đối tượng.
- 7.2.4 quy định các thành phần thông tin nội dung trong khung chương trình mô tả đối tượng
- 7.2.5 quy định dòng bộ mô tả đối tượng và cú pháp, Ngữ nghĩa của tập câu lệnh cho phép cập nhật, gỡ bỏ các thành phần bộ mô tả đối tượng.
- 7.2.6 quy định cú pháp và Ngữ nghĩa của bộ mô tả đối tượng và các bộ thành phần
- 7.2.7 quy định các quy tắc cho việc sử dụng bộ mô tả đối tượng cũng như thủ tục truy nhập nội dung thông qua các bộ mô tả đối tượng.
- 7.2.8 quy định sử dụng giao diện hệ thống IPMP.
7.2.2 Cấu trúc dữ liệu chung
7.2.2.1 Tổng quan
Các câu lệnh và các bộ mô tả được định nghĩa trong mục này tạo thành các lớp tự mô tả, được định danh bởi các thẻ lớp. Mỗi lớp mã hóa kích thước chính xác của nó theo đơn vị Byte. Điều đó dễ dàng cho việc mở rộng câu lệnh và bộ mô tả trong tương lai. Lớp có thể được mở rộng bằng các thành phần cú pháp bổ sung, bộ giải mã OD bỏ qua những thành phần này. Ngoài ra, ở vị trí bất kỳ trong cú pháp tại đó dự kiến đạt các lớp đã gán thẻ thì được phép được đặt rải rác các lớp có khả năng mở rộng với các giá trị thẻ lớp chưa biết. Những lớp này sẽ được bỏ qua nhờ sử dụng thông tin kích thước đã mã hóa.
Nội dung còn lại của phần này là cú pháp và Ngữ nghĩa của câu lệnh và các lớp mô bộ mô tả. Một số câu lệnh và các bộ mô tả chứa các bộ mô tả thành phần của nó. Và được xem là kết tập các bộ mô tả thành phần.
Bảng 1 - Danh sách các thẻ lớp cho các bộ mô tả
Giá trị cờ | Tên cờ |
0x00 | Bị cấm sử dụng |
0x01 | ObjectDescrTag |
0x02 | InitialObjectDescrTag |
0x03 | ES_DescrTag |
0x04 | DecoderConfigDescrTag |
0x05 | DecSpecificInfoTag |
0x06 | SLConfigDescrTag |
0x07 | ContentIdentDescrTag |
0x08 | SupplContentIdentDescrTag |
0x09 | IPI_DescrPointerTag |
0x0A | IPMP_DescrPointerTag |
0x0B | IPMP_DescrTag |
0x0C | QoS_DescrTag |
0x0D | RegistrationDescrTag |
0x0E | ES_D_IncTag |
0x0F | ES_ID_RefTag |
0x10 | MP4_IOD_Tag |
0x11 | MP4_OD_Tag |
0x12 | IPL_DescrPointerRefTag |
0x13 | ExtensionProfileLevelDescrTag |
0x14 | profileLevelIndicationIndexDescrTag |
0x15-0x3F | Dành riêng cho ISO |
0x40 | ContentClassificationDescrTag |
0x41 | KeywordDescrTag |
0x42 | RatingDescrTag |
0x43 | LanguageDescrTag |
0x44 | ShortTextualDescrTag |
0x45 | ExpandedTextualDescrTag |
0x46 | ContentCreatorNameDescrTag |
0x47 | ContentCreationDateDescrTag |
0x48 | OCICreatorNameDescrTag |
0x49 | OCICreationDateDescrTag |
0x4A | SmpteCameraPositionDescrTag |
0x4B | SegmentDescrTag |
0x4C | MediaTimeDescrTag |
0x4D-0x5F | Reserved for ISO use (OCI extensions) |
0x60 | IPMP_ToolsListDescrTag |
0x61 | IPMP_ToolTag |
0x62 | M4MuxTimingDescrTag |
0x63 | M4MuxCodeTableDescrTag |
0x64 | ExtSLConfigDescrTag |
0x65 | M4MuxBufferSizeDescrTag |
0x66 | M4MuxIdentDescrTag |
0x67 | DependencyPointerTag |
0x68 | DependencyMarkerTag |
0x69 | M4MuxChannelDescrTag |
0x6A - 0x92 | Dành riêng cho tổ chức đăng ký1 |
0x93 - 0xBF | Dành riêng cho ISO1 |
0xC0-0xFE | Người dùng riêng |
0xFF | Cấm sử dụng |
CHÚ THÍCH: 1 Các giá trị cờ và tên cờ tương ứng được thay thế, bổ sung theo phiên bản sửa đổi lần 1 [2] |
7.2.2.2 Bộ mô tả cơ sở (BaseDescriptor)
7.2.2.2.1 Cú pháp
7.2.2.2.2 Ngữ nghĩa
Lớp này là một lớp cơ sở trừu tượng được mở rộng bởi các lớp bộ mô tả được quy định trong 7.2.6. Mỗi bộ mô tả cấu thành một lớp tự mô tả, được định danh một cờ lớp duy nhất. Lớp cơ sở trừu tượng này thiết lập một không gian tên chung cho các cờ lớp của những bộ mô tả này. Các giá trị của các cờ được định nghĩa trong Bảng 1. Giống với lớp có khả năng mở rộng, kích thước của mỗi lớp (đo bằng đơn vị byte) được mã hóa và có khả năng truy nhập thông qua biến sizeOfInstance (xem 0)
Một lớp cho phép việc kết tập các lớp kiểu Bộ mô tả cơ sở thì có thể kết tập bất kỳ một lớp nào là mở rộng của bộ mô tả cơ sở.
CHÚ THÍCH: Các bộ mô tả người dùng riêng có thể có một cấu trúc bên trong, ví dụ để định danh quốc gia hoặc nhà máy sử dụng bộ mô tả cụ thể nào đó. Các thẻ và Ngữ nghĩa cho những bộ mô tả riêng người dùng như vậy có thể được quản lý bởi một tổ chức đăng ký nếu cần.
Tên một số ký tự bổ sung:
ExtDescrTagStartRange = 0x6A
ExtDescrTagEndRange = 0xFE
OCIDescrTagStartRange = 0x40
OCIDescrTagEndRange = 0x5F
7.2.2.3 BaseCommand (Câu lệnh cơ sở)
7.2.2.3.1 Cú pháp
7.2.2.3.2 Ngữ nghĩa
Lớp này là một lớp cơ sở trừu tượng, được mở rộng bởi một lớp câu lệnh quy định trong 7.2.5.5. Mỗi một câu lệnh cấu thành một lớp tự mô tả, được định danh bởi thẻ lớp đơn. Lớp cơ sở trừu tượng này thiết lập một không gian tên chung cho các thẻ lớp của những câu lệnh này. Những giá trị của các thẻ này được định nghĩa trong Bảng 2. Như một lớp có khả năng mở rộng, kích thước của mỗi lớp tính bằng byte và được mã hóa và có khả năng truy nhập thông qua biến thể sizeOfInstance (xem 8.3.3).
Bảng 2 - Danh sách các thẻ lớp cho các câu lệnh
Giá trị cờ | Tên cờ |
0x00 | Cấm sử dụng |
0x01 | ObjectDescrUpdateTag |
0x02 | ObjectDescrRemoveTag |
0x03 | ES_DescrUpdateTag |
0x04 | ES_DescrRemoveTag |
0x05 | IPMP_DescrUpdateTag |
0x06 | IPMP_DescrRemoveTag |
0x07 | ES_DescrRemoveRefTag |
0x08 | ObjectDescrExecuteTag |
0x09-0x63 | dành riêng cho tổ chức đăng ký1 |
0x64-0xBF | dành riêng cho ISO1 |
0xC0-0xFE | Người dùng riêng |
0xFF | Cấm sử dụng |
1 Các giá trị cờ và tên cờ tương ứng được thay thế, bổ sung theo phiên bản sửa đổi lần 1 [2] |
Một lớp cho phép việc kết tập các lớp kiểu câu lệnh cơ sở có thể kết tập bất kỳ một lớp nào là mở rộng của câu lệnh cơ sở.
CHÚ THÍCH: Các câu lệnh riêng người dùng có thể có một cấu trúc bên trong, ví dụ để định danh quốc gia hoặc nhà máy sử dụng câu lệnh cụ thể nào đó. Các thẻ và Ngữ nghĩa cho những câu lệnh riêng người dùng như vậy có thể được quản lý bởi một tổ chức đăng ký nếu cần.
7.2.3 Quản lý và bảo vệ sở hữu trí tuệ
7.2.3.1 Tổng quan
Khung chương trình quản lý và sở hữu trí tuệ (IPMP) đối với nội dung bộ tiêu chuẩn TCVN 11795 bao gồm một giao diện chuẩn cho phép đầu cuối tuân thủ bộ tiêu chuẩn TCVN 11795 tổ chức một một vài hệ thống IPMP hoặc các công cụ IPMP. Ngoài ra, khung chương trình này chứa một hệ thống bản tin bảo mật có khả năng sử dụng giữa các Công cụ IPMP cũng như các công cụ IPMP và đầu cuối và giữa các công cụ IPMP và người dùng, được quy định trong ISO/IEC 14496-13.
Một hệ thống IPMP hoặc các công cụ IPMP là các thành phần không quy chuẩn, các thành phần này cung cấp chức năng IPMP cho đầu cuối.
Giao diện IPMP bao gồm các dòng cơ sở IPMP và các bộ mô tả IPMP. Cấu trúc chuẩn của các dòng cơ sở IPMP được quy định trong phần này. Bộ mô tả IPMP được truyền tải như là một phần của dòng mô tả đối tượng và được quy định trong 7.2.6.14. Giao diện IPMP cho phép các ứng dụng (hoặc các tiêu chuẩn ứng dụng dẫn xuất) xây dựng các hệ thống IPMP hoặc các công cụ IPMP chuyên dụng. Ngoài ra, một ứng dụng có thể tùy chọn không sử dụng hệ thống IPMP hoặc công cụ IPMP, tức là không cung cấp các đặc điểm bảo vệ và quản lý. Hệ thống IPMP và các công cụ IPMP sử dụng thông tin trong các dòng cơ sở IPMP và các bộ mô tả để bảo vệ nội dung tuân theo bộ tiêu chuẩn TCVN 11795 khả dụng tại đầu cuối. Ngữ nghĩa chi tiết và tiến trình giải mã của hệ thống IPMP hoặc các công cụ IPMP không thuộc phạm vi của bộ tiêu chuẩn TCVN 11795. Việc sử dụng các giao diện công cụ/hệ thống IPMP được giải thích trong 7.2.8 và việc sử dụng khung chương trình IPMP cũng sẽ được giải thích.
7.2.3.2 Dòng IPMP
7.2.3.2.1 Cấu trúc của dòng IPMP
Dòng IPMP là một dòng cơ sở, chuyển tác thông tin thay đổi theo thời gian tới một hoặc một vài hệ thống/công cụ IPMP. Điều này được thực hiện bằng cách định kỳ gửi chuỗi bản tin IPMP cùng với nội dung trong một khoảng thời gian nhất định được xác định bởi hệ thống hoặc công cụ IPMP.
7.2.3.2.2 Định nghĩa đơn vị truy cập
Một đơn vị truy cập IPMP bao gồm một hoặc một vài bản tin IPMP, như định nghĩa trong 7.2.3.2.5. Tất cả các bản tin IPMP được xử lý tại cùng một thời điểm sẽ tạo thành một đơn vị truy cập đơn. Các đơn vị truy cập trong các dòng IPMP phải được dán nhãn và đánh dấu thời gian một cách thích hợp. Điều đó được thực hiện thông qua các cờ có liên quan và nhãn thời gian tổng hợp tương ứng trong tiêu đề gói SL (xem 7.3.2.4). Thời gian tổng hợp cho biết thời điểm một đơn vị truy cập IPMP có hiệu lực, tức là, khi một bản tin IPMP nhúng vào được đánh giá. Thời gian giải mã và tổng hợp cho một đơn vị truy nhập IPMP phải luôn luôn có cùng giá trị.
Một đơn vị truy cập không cần phải truyền tải hoặc cập nhật toàn bộ các bản tin IPMP đang được yêu cầu. Trong trường hợp đó nó chỉ thay đổi trạng thái ổn định của hệ thống IPMP. Tuy nhiên, nếu một đơn vị truy cập truyền tải toàn bộ các bản tin IPMP được yêu cầu tại một thời điểm cho trước, nó sẽ thiết lập randomAccessPointFlag trong tiêu đề gói SL là 1 cho đơn vị truy cập này. Ngược lại, randomAccessPointFlag sẽ được thiết lập giá trị 0.
CHÚ THÍCH: Gói SL với randomAccessPointFlag=1 nhưng không có bản tin IPMP trong đó thì ở thời điểm đó không có bản tin IPMP được yêu cầu cho hoạt động.
7.2.3.2.3 Gốc thời gian đối với các dòng IPMP
Gốc thời gian liên quan tới một dòng IPMP phải được chỉ ra bởi mốc thời gian tham chiếu đồng hồ đối tượng trong các tiêu đề gói SL (xem 6.3.2.4) cho dòng mã này hoặc bằng chỉ báo dòng cơ sở từ đó dòng IPMP kế thừa gốc thời gian này (xem 6.3.2.3). Tất cả các mốc thời gian trong dòng IPMP được đóng gói SL tham chiếu tới gốc thời gian này.
Dòng IPMP phải tuân thủ cùng một gốc thời gian mà một hoặc một vài dòng cơ sở nội dung liên kết với nó (xem 6.2.8). Do đó, dòng IPMP không được liên kết tới các dòng cơ sở nội dung tuân thủ các gốc thời gian khác nhau.
7.2.3.2.4 Cấu hình bộ giải mã IPMP
7.2.3.2.4.1 Cú pháp
7.2.3.2.4.2 Ngữ nghĩa
Hệ thống dòng IPMP có thể yêu cầu các thông tin để khởi tạo hoạt động. Thông tin này phải được truyền tải bằng việc mở rộng lớp decoderSpecificInfo như quy định trong 7.2.6.7. Nếu sử dụng, IPMPDecoderConfiguration phải được truyền tải trong bộ mô tả ES khai báo dòng IPMP này.
7.2.3.2.5 Cú pháp và Ngữ nghĩa bản tin IPMP
7.2.3.2.5.1 Cú pháp
7.2.3.2.5.2 Ngữ nghĩa
Bản tin IPMP (IPMP_Message) truyền tải thông tin IPMP thay đổi theo thời gian cho hệ thống IPMP/công cụ IPMP có liên quan.
IPMPS_Type - là kiểu của hệ thống IPMP trong các “neo” phù hợp với thiết bị đầu cuối như quy định trong tiêu chuẩn này. Các giá trị “0x0002” đến “0x2000” Được dành riêng cho việc sử dụng của tiêu chuẩn ISO trong tương lai. Tổ chức đăng ký được ISO/IEC JTC 1 chỉ định sẽ gán một giá trị duy nhất cho trường này đối với một hệ thống IPMP cụ thể. Nếu IPMP_DescriptorID là “0”, thì một URL khác được tham chiếu. Quá trình này tiếp diễn cho đến khi bản tin IPMP với IPMP_DescriptorID khác không được truy cập.
URLString [ ] chứa một URL được mã hóa UTF-8 [6] sẽ trỏ đến một vị trí IPMP_Message từ xa.
IPMP_DescriptorID - là một trong các IPMP_DescriptorID trong phạm vi phục vụ của dòng IPMP này và định danh một hoặc một số người nhận bản tin IPMP.
IPMP_ExtendedData - dữ liệu IPMP được mở rộng từ IPMP_Data_BaseClass phân phối đến công cụ IPMP.
IPMP_data dữ liệu không trong suốt được phân phối tới công cụ IPMP.
Bản tin IPMP này tương thích ngược với bản tin IPMP trong phiên bản trước của tiêu chuẩn này (ISO/IEC 14496-1:2001). Tuy nhiên để xác định rõ ràng phiên bản của dòng IPMP, ObjectTypeIndication được thiết lập “0x02” đối với các dòng tuân thủ phiên bản này, các dòng IPMP tuân thủ ISO/IEC 14496-1 sẽ sử dụng ObjectTypeIndication có giá trị “0xFF” như quy định trong 7.2.6.6.2.
7.2.3.2.6 Các thẻ mở rộng cho IPMP_Data_BaseClass
7.2.3.2.6.1 IPMP_Data_BaseClass
Lớp cơ sở dữ liệu IPMP (IPMP_Data_BaseClass) dự kiến được mở rộng để cung cấp khả năng truyền tải thông tin do ISO định nghĩa cũng như người dùng định nghĩa dữ liệu liên quan tới IPMP.
7.2.3.2.6.2 Cú pháp
7.2.3.2.6.3 Ngữ nghĩa
Version là phiên bản cú pháp sử dụng trong dữ liệu IPMP và sẽ được thiết lập là “0x01”.
dataID - được sử dụng cho mục đích định danh bản tin. Các công cụ phản hồi trực tiếp một bản tin phải có cùng một dataID trong bất kỳ đáp ứng nào.
tag cho biết thẻ dữ liệu IPMP mở rộng. Giá trị chính xác của các thẻ mở rộng được định nghĩa trong ISO/IEC 14496-13.
Dữ liệu IPMP mở rộng từ IPMP_Data_BaseClass có thể được truyền tải trong các vị trí sau:
- IPMP_Descriptor
- IPMP_Message được định nghĩa trong ISO/IEC 14496-13 và tiếp đó được truyền tải trong dòng IPMP.
- Các bản tin được định nghĩa trong ISO/IEC 14496-13 được quy định để mang các bản tin giữa các công cụ IPMP.
7.2.4 Thông tin nội dung đối tượng (OCI)
7.2.4.1 Tổng quan
Các đối tượng âm thanh, hình ảnh có liên kết với dữ liệu dòng cơ sở thông qua bộ mô tả đối tượng có thể có thông tin nội dung đối tượng kèm theo. Với mục đích đó, tập các bộ mô tả OCI được định nghĩa trong 7.2.6.18. Các bộ mô tả OCI có thể là một phần của bộ mô tả đối tượng hoặc ES_Descriptor như định nghĩa trong 7.2.6.
Để thích ứng với OCI tùy biến theo thời gian thì thông tin nội dung đối tượng có thể tách biệt với dòng bộ mô tả đối tượng, tập các bộ mô tả OCI có thể cũng được truyền tải trong dòng OCI. Dòng OCI được tham chiếu thông qua một bộ mô tả ES, với trường streamType được thiết lập OCI_Stream. Cách thức các dòng OCI được kết tập vào các bộ mô tả đối tượng được định nghĩa trong 7.2.7.1.3. Cấu trúc của dòng OCI được định nghĩa trong phần này.
7.2.4.2 Dòng OCI
7.2.4.2.1 Cấu trúc của dòng OCI
Dòng OCI là một dòng cơ sở, truyền tải thông tin nội dung đối tượng tùy biến theo thời gian, gọi là các sự kiện OCI. Mỗi sự kiện OCI bao gồm một số bộ mô tả OCI.
7.2.4.2.2 Định nghĩa đơn vị truy cập
Một đơn vị truy cập OCI bao gồm một hoặc một số sự kiện OCI, như mô tả trong 7.2.4.2.5. Các đơn vị truy cập trong các dòng cơ sở OCI phải được gán nhãn và đánh dấu thời gian. Điều đó được thực hiện thông qua các cờ liên quan và mốc thời gian tổng hợp trong tiêu đề gói SL (xem 7.3.2.4). Thời gian tổng hợp cho biết thời điểm một đơn vi truy cập OCI có hiệu lực, tức là khi các sự kiện OCI nhúng sẽ phải được bổ sung vào danh sách các sự kiện. Thời gian tổng hợp và thời gian giải mã cho một đơn vị truy cập OCI sẽ luôn phải có cùng giá trị.
Một đơn vị truy cập có thể hoặc không truyền tải hoặc cập nhật toàn bộ các sự kiện OCI đang có hiệu lực. Trong trường hợp “không” thì chỉ làm thay đổi trạng thái liên tục của bộ giải mã OCI. Tuy nhiên, nếu một đơn vị truy cập chứa toàn bộ các sự kiện OCI có giá trị ở một thời điểm cho trước thì nó sẽ thiết lập randomAccessPointFlag trong tiêu đề gói SL là “1” cho đơn vị truy cập này. Ngược lại randomAccessPointFlag sẽ được thiết lập là “0”.
CHÚ THÍCH: một gói SL với randomAccessPointFlag được thiết lập là 1 nhưng không có một sự kiện OCI nào trong đó thì có nghĩa là tại thời điểm hiện tại không có một sự kiện OCI nào có giá trị.
7.2.4.2.3 Gốc thời gian cho dòng OCI
Gốc thời gian liên kết với một dòng OCI sẽ được chỉ ra bằng cách sử dụng các nhãn thời gian tham chiếu đồng hồ đối tượng trong các tiêu đề gói SL (xem 7.3.2.4) cho dòng này hoặc bằng cách chỉ ra dòng cơ sở mà từ đó dòng OCI này kế tục thời gian cơ sở (xem 7.3.2.3). Tất cả các nhãn thời gian trong dòng OCI được đóng gói kiểu SL tham chiếu tới thời gian cơ sở này.
7.2.4.2.4 Cấu hình bộ giải mã OCI
7.2.4.2.4.1 Cú pháp
7.2.4.2.4.2 Ngữ nghĩa
Thông tin này cần cho việc khởi tạo hoạt động bộ giải mã OCI. Nó phải được truyền tải bằng cách mở rộng lớp decoderSpecificInfo như quy định trong 7.2.6.7. OCIDecoderConfiguration phải được chứa trong ES_Descriptor khai báo dòng OCI.
versionLabel - cho biết phiên bản thông tin kỹ thuật của OCI được sử dụng trên dòng dữ liệu OCI tương ứng. Chỉ giá trị 0x01 được phép; tất cả các giá trị khác Được dành riêng.
7.2.4.2.5 Cú pháp và Ngữ nghĩa các sự kiện OCI
7.2.4.2.5.1 Cú pháp
7.2.4.2.5.2 Ngữ nghĩa
eventID - chứa số định danh của sự kiện được mô tả, nó là duy nhất trong phạm vi của dòng OCI này.
absoluteTimeFlag - cho biết gốc thời gian startingTime như được mô tả dưới đây.
startingTime - cho biết thời gian bắt đầu của một sự kiện, đơn vị giờ, phút, giây và phần trăm của giây. Định dạng là 8 số: 6 số đầu là giờ, phút, giây với mỗi bốn bit nhị phân mã hóa, hai số sau cùng là phần trăm của giây ở hệ thập lục phân, sử dụng 8 bít để mã hóa.
Nếu absoluteTimeFlag thiết lập là 0, startingTime liên quan đến gốc thời gian đối tượng của đối tượng tương ứng. Trong trường hợp đó, nó chịu trách nhiệm về ứng dụng để đảm bảo gốc thời gian đối tượng này được truyền tải, vì thế startingTime có thể được định danh rõ ràng (xem 7.3.2.7). Nếu absoluteTimeFlag thiết lập là 1, startingTime biểu diễn giá trị tuyệt đối, tham chiếu đến đồng hồ treo tường.
duration - chứa khoảng đối tượng tương ứng theo giờ, phút, giây và phần trăm giây. Định dạng là 8 số, 6 số đầu là giờ, phút, giây với 4 bit nhị phân mã hóa thập phân và hai số sau thể hiện phần trăm của giây trong hệ thập lục phân sử dụng 8 bit.
OCI_Descr [ ] - một mảng từ 1-255 lớp OCI_Descriptor như quy định trong 7.2.6.18.2.
7.2.5 Dòng bộ mô tả đối tượng
7.2.5.1 Cấu trúc của dòng bộ mô tả đối tượng
Tương tự với mô tả cảnh, các bộ mô tả đối tượng được truyền tải trong dòng cơ sở dành riêng, gọi là dòng mô tả đối tượng. Trong các dòng đó, có thể tự động truyền tải, cập nhật và gỡ bỏ hoàn toàn các bộ mô tả đối tượng, hoặc là các các bộ mô tả thành phần, các bộ mô tả ES và các bộ mô tả IPMP của nó. Cơ chế cập nhật cho phép thông báo cho các dòng cơ sở mới về các đối tượng âm thanh hình ảnh ngay khi các đối tượng đó sẵn có hoặc gỡ bỏ việc tham chiếu tới dòng không còn hiệu lực. Cập nhật là gán nhãn thời gian để có hiệu lực tức thì.
Mục này quy định cấu trúc của dòng cơ sở mô tả đối tượng, bao gồm cú pháp và Ngữ nghĩa của các phần tử cấu thành, các câu lệnh mô tả đối tượng (lệnh OD).
7.2.5.2 Định nghĩa đơn vị truy cập
Đơn vị truy cập OD bao gồm một hoặc một số câu lệnh được mô tả trong 7.2.5.5. Tất cả các câu lệnh OD sẽ được xử lý cùng một thời điểm cấu thành nên đơn vị truy cập đơn. Các đơn vị truy nhập trong dòng cơ sở mô tả đối tượng sẽ phải được gán nhãn và đánh dấu thời gian tương ứng bằng cách dùng các cờ liên quan và nhãn thời gian tổng hợp trong tiêu đề gói SL (xem 7.3.2.4). Thời gian tổng hợp cho biết thời điểm một đơn vị truy cập OD có hiệu lực, tức là khi các câu lệnh OD được thực thi. Thời gian giải mã và thời gian tổng hợp cho một đơn vị truy cập OD phải luôn có cùng giá trị.
Một đơn vị truy cập không thể truyền tải hoặc cập nhật toàn bộ các bộ mô tả đối tượng đang được yêu cầu. Trong trường hợp đó thì chỉ làm thay đổi trạng thái liên tục của bộ giải mã mô tả. Tuy nhiên, nếu một đơn vị truy cập truyền tải toàn bộ một tập các bộ mô tả đối tượng được yêu cầu ở một thời điểm cho trước thì nó sẽ thiết lập randomAccessPointFlag trong tiêu đề gói SL là “1” cho đơn vị truy cập này. Ngược lại randomAccessPointFlag sẽ được thiết lập là “0”.
CHÚ THÍCH - Một gói SL với randomAccessPointFlag=1 nhưng không có lệnh OD trong nó chứng tỏ tại thời điểm hiện tại không có một bộ mô tả đối tượng nào có giá trị.
7.2.5.3 Gốc thời gian cho dòng bộ mô tả đối tượng
Gốc thời gian liên kết với dòng bộ mô tả đối tượng được biết thông qua các nhãn thời gian tham chiếu đồng hồ đối tượng trong các tiêu đề gói SL (7.3.2.4) cho dòng này hoặc kế thừa gốc thời gian của một dòng cơ sở khác (7.3.2.3). Tất cả các nhãn thời gian trong dòng mô tả đối tượng dạng gói SL đều tham chiếu tới gốc thời gian này.
7.2.5.4 Cấu hình bộ giải mã OD
Bộ giải mã OD không yêu cầu thêm thông tin cấu hình.
7.2.5.5 Cú pháp và Ngữ nghĩa câu lệnh OD
7.2.5.5.1 Tổng quan
Bộ mô tả đối tượng và các thành phần của nó (định nghĩa trong 7.2.6) được truyền tải như một phần của câu lệnh OD. Câu lệnh mô tả hành động được thực hiện trên các thành phần được truyền tải với câu lệnh này, đặc biệt là cập nhật và gỡ bỏ. Mỗi câu lệnh tác động đến một hoặc một số bộ mô tả đối tượng, các bộ mô tả ES hoặc các bộ mô tả IPMP.
7.2.5.5.2 ObjectDescriptorUpdate (cập nhật bộ mô tả đối tượng)
7.2.5.5.2.1 Cú pháp
7.2.5.5.2.2 Ngữ nghĩa
Lớp ObjectDescriptorUpdate chứa danh sách các bộ mô tả đối tượng mới hoặc cập nhật. Nếu là cập nhật thì các dòng mà các bộ mô tả đối tượng cũ tham chiếu tới sẽ bị đóng và các dòng mà bộ mô tả đối tượng mới tham chiếu thì có thể được truy cập bởi thủ tục truy cập nội dung (xem 7.2.7.3.6.2).
CHÚ THÍCH: Câu lệnh ES_DescriptorUpdate hoặc ES_DescriptorRemove có thể được sử dụng để bổ sung hoặc gỡ bỏ ES_Descriptors riêng lẻ của một bộ mô tả đối tượng hiện có.
OD [ ] - là một mảng các bộ mô tả đối tượng như quy định trong 7.2.6.3 và 7.2.6.4. Mảng này sẽ phải có từ 1-255 phần tử.
7.2.5.5.3 ObjectDescriptorRemove (Gỡ bỏ bộ mô tả đối tượng)
7.2.5.5.3.1 Cú pháp
7.2.5.5.3.2 Ngữ nghĩa
Lớp ObjectDescriptorRemove diễn tả sự không khả dụng của một tập các bộ mô tả đối tượng. Các nút BIFS liên kết tới những bộ mô tả đối tượng này không được tiếp tiếp tục tham chiếu đến một dòng mã cơ sở nào được liệt kê trong bộ mô tả đối tượng đã gỡ bỏ. objectDescriptorID không tham chiếu tới bộ mô tả có hiệu lực thì sẽ bị bỏ qua.
CHÚ THÍCH: có thể có một nút mô tả cảnh tham chiếu một OD_ID liên kết với một OD nào.
ObjectDescriptorID [ ] - một mảng các ObjectDescriptorID, cho biết các bộ mô tả đối tượng bị gỡ bỏ.
7.2.5.5.4 ES_DescriptorUpdate (cập nhật bộ mô tả ES)
7.2.5.5.4.1 Cú pháp
7.2.5.5.4.2 Ngữ nghĩa
Lớp ES_DescriptorUpdate truyền tải danh sách các bộ mô tả ES mới cho bộ mô tả đối tượng được gán nhãn objectDescriptorID. Các bộ mô tả ES có ES_ID vừa nhận được trong cùng một phạm vi tên sẽ bị bỏ qua.
Để cập nhật các thuộc tính của một dòng cơ sở, yêu cầu gỡ bỏ Bộ mô tả ES đầu tiên và truyền tải Bộ mô tả ES thay thế.
Khi một dòng IPMP được bổ sung thì các dòng cơ sở chịu tác động (được xác định 7.2.8.2) được thực thi theo điều kiện của IPMP mới đó, bắt đầu từ thời điểm lệnh ES_DescriptorUpdate này có hiệu lực (7.2.5.2).
ES_DescriptorUpdate không áp dụng trên các bộ mô tả đối tượng có thiết lập URL_Flag là 1 (7.2.6.3).
Một dòng cơ sở được định danh cùng với một ES_ID cho trước có thể được đính kèm vào một hoặc một số bộ mô tả đối tượng. Tất cả ES_Descriptors tương ứng tham chiếu tới ES_ID này đều được truyền tải thông qua các câu lệnh ES_DescriptorUpdate hoặc ObjectDescriptorUpdate và phải có nội dung giống nhau.
objectDescriptorID - xác định bộ mô tả đối tượng có ES_Descriptors được cập nhật. Nếu objectDescriptorID không tham chiếu tới bất kỳ một bộ mô tả đối tượng nào có hiệu lực thì lệnh này bị bỏ qua.
esDescr [ ] - một mảng ES_Descriptors được định nghĩa trong 7.2.6.5. Mảng này có 1 - 255 phần tử.
7.2.5.5.5 Gỡ bỏ bộ mô tả ES (ES_DescriptorRemove)
7.2.5.5.5.1 Cú pháp
7.2.5.5.5.2 Ngữ nghĩa
Lớp ES_DescriptorRemove gỡ bỏ việc tham chiếu bộ mô tả đối tượng tới dòng cơ sở từ và trả về dòng mã không khả dụng đối với các nút đang tham chiếu tới bộ mô tả đối tượng này.
Khi một dòng IPMP bi gỡ bỏ, các dòng cơ sở chịu tác động (xem 7.2.8.2) sẽ được xử lý theo các điều kiện IPMP mới và bắt đầu ở thời điểm lệnh ES_DescriptorRemove có hiệu lực (xem 7.2.5.2).
ES_DescriptorRemove không được áp dụng cho các bộ mô tả đối tượng có cờ URL_Flag thiết lập là ‘1’ (xem 7.2.6.3).
objectDescriptorID - định danh bộ mô tả đối tượng có ES_Descriptors bị gỡ bỏ. Nếu objectDescriptorID không tham chiếu tới một bộ mô tả đối tượng có hiệu lực trong cùng một phạm vi tên thì lệnh này bị bỏ qua.
ES_ID [ ] - một mảng các ES_IDs, các ES_ID này đánh nhãn các ES_Descriptors bị gỡ bỏ khỏi objectDescriptorID. Nếu không có ES_ID nào tham chiếu tới một ES_Descriptor mà OD đang tham chiếu thì những ES_ID đó sẽ bị bỏ qua. Mảng này có 1 - 255 phần tử.
7.2.5.5.6 IPMP_DescriptorUpdate (Cập nhật bộ mô tả IPMP)
7.2.5.5.6.1 Cú pháp
7.2.5.5.6.2 Ngữ nghĩa
Lớp IPMP_DescriptorUpdate truyền tải danh sách IPMP_Descriptors mới hoặc cập nhật. IPMP_Descriptor được định danh bởi IPMP_DescriptorID vừa thu được thuộc cùng một phạm vi gian tên thì sẽ được thay thế bởi một bộ mô tả mới.
Cập nhật một IPMP_Descriptor phải thông tin rộng rãi tới tất cả các hệ thống IPMP tham chiếu tới IPMP_Descriptor này thông qua một IPMP_DescriptorPointer (xem 7.2.6.13) ngay tại thời điểm IPMP_DescriptorUpdate có hiệu lực (xem 7.2.5.2). Việc xử lý các bộ mô tả này bởi các hệ thống IPMP không bắt buộc.
Các IPMP_Descriptor có hiệu lực cho đến khi chúng được thay thế bởi lệnh IPMP_DescriptorUpdate khác hoặc đến khi bị gỡ bỏ. ipmpDescr [ ] - là một mảng IPMP_Descriptor như quy định trong 7.2.6.14.
7.2.5.5.7 IPMP_DescriptorRemove (Gỡ bỏ bộ mô tả IPMP)
7.2.5.5.7.1 Cú pháp
7.2.5.5.7.2 Ngữ nghĩa
Lớp IPMP_DescriptorRemove truyền tải danh sách các IPMP_DescriptorsID xác định các IPMP_Descriptors sẽ bị gỡ bỏ.
Việc gỡ bỏ các bộ mô tả IPMP phải được thông báo rộng rãi cho tất cả các hệ thống IPMP tại thời điểm IPMP_DescriptorRemove có hiệu lực (xem 7.2.5.2). Việc xử lý các bộ mô tả này bởi các hệ thống IPMP không bắt buộc.
IPMP_DescriptorID [ ] - là danh sách các IPMP_DescriptorIDs.
7.2.5.5.8 ObjectDescriptorExecute (Thực thi bộ mô tả đối tượng)
7.2.5.5.8.1 Cú pháp
7.2.5.5.8.2 Ngữ nghĩa
Lớp ObjectDescriptorExecute chỉ dẫn cho đầu cuối công khai các luồng cơ sở trong nó, phát dữ liệu thông qua một số luồng như máy chủ. Lỗi mà thiết bị đầu cuối gây ra có thể làm mất mát dữ liệu và/hoặc một hành vi nào đó chưa xác định.
7.2.6 Các thành phần của bộ mô tả đối tượng
7.2.6.1 Tổng quan
Bộ mô tả đối tượng chứa thêm nhiều loại bộ mô tả khác, được xem như là các thành phần của bộ mô tả đối tượng, để mô tả các dòng cơ sở riêng biệt và các thuộc tính của chúng. Chúng phải luôn được truyền tải như một phần của câu lệnh OD như quy định trong mục trước. Mục này định nghĩa cú pháp và Ngữ nghĩa cho các bộ mô tả đối tượng và các bộ mô tả thành phần của nó.
7.2.6.2 ObjectDescriptorBase (Cơ sở bộ mô tả đối tượng)
7.2.6.2.1 Cú pháp
7.2.6.2.2 Ngữ nghĩa
Đây là một lớp cơ sở trừu tượng cho các loại lớp mô tả đối tượng khác nhau, các lớp này được định nghĩa ở các phần sau. Thuật ngữ “bộ mô tả đối tượng” được sử dụng để nói đến một lớp bộ mô tả đối tượng được dẫn xuất hoặc chính của bản thân nó.
7.2.6.3 ObjectDescriptor (Bộ mô tả đối tượng)
7.2.6.3.1 Cú pháp
Khi một Bộ mô tả đối tượng được sử dụng trong rãnh OD của tệp tin MP4, thì ObjectDescrTag được thay thế bởi MP4_OD_Tag.
7.2.6.3.2 Ngữ nghĩa
ObjectDescriptor bao gồm ba phần khác nhau.
Phần đầu tiên đánh nhãn bộ mô tả đối tượng trong phạm vi tên của nó (xem 7.2.7.2.4) bởi một objectDescriptorID. Các nút trong mô tả cảnh sử dụng objectDescriptorID để tham chiếu tới bộ mô tả đối tượng. Một URLstring tùy chọn cho biết bộ mô tả đối tượng thực tế thường trú ở một vị trí từ xa.
Phần thứ hai bao gồm một danh sách ES_Descriptors, mỗi ES_Descriptors cung cấp các tham số cho một phần tử đơn cũng như một tập tùy chọn các bộ mô tả thông tin nội dung đối tượng và các con trỏ cho các bộ mô tả IPMP đối với các nội dung dòng cơ sở được mô tả trong bộ mô tả đối tượng này.
Thành phần thứ ba là một tập các bộ mô tả tùy chọn, hỗ trợ việc lồng ghép các mở rộng trong tương lai cũng như việc truyền dữ liệu cá nhân theo cách tương thích ngược.
objectDescriptorId - xác định duy nhất một ObjectDescriptor trong phạm vi tên của nó. Giá trị 0 bị cấm và giá trị 1023 Được dành riêng.
URL_Flag - cho biết sự xuất hiện của URLstring.
URLlength - là chiều dài của URLstring tiếp theo, đo bằng đơn vị byte.
URLstring [ ] - là một chuỗi với URL được mã hóa theo UTF-8 (ISO/IEC 10646-1), trỏ tới một ObjectDescriptor khác. Chỉ những nội dung của bộ mô tả đối tượng này mới được trả về bởi thực thể phân phối khi truy nhập vào URL này. Trong phạm vi tên đó, bộ mô tả đối tượng mới phải được tham chiếu bởi objectDescriptorId của bộ mô tả đối tượng mang URLstring này. Các phạm vi tên tham khảo 7.2.7.2.4. Các URL có thể bị hạn chế bởi profile và các mức cũng như bởi các tầng phân phối điển hình.
esDescr [ ] - một mảng các ES Descriptor, tham khảo 7.2.6.5. Mảng này có 1-255 phần tử.
ociDescr [ ] - là một mảng các OCI_Descriptor, tham khảo 7.2.6.18.2, mảng này liên quan đến các đối tượng âm thanh, hình ảnh mà bộ mô tả đối tượng này mô tả. Mảng này có 1-255 phần tử. ipmpDescrPtr [ ] - mảng các IPMP_DescriptorPointer (tham khảo 7.2.6.13) các con trỏ này trỏ tới các bộ mô tả IPMP liên quan tới các dòng cơ sở mà bộ mô tả đối tượng này mô tả. Mảng này có 1 - 255 phần tử.
ipmpDescr [ ] - danh sách các IPMP_Descriptors có thể được tham chiếu bởi các dòng đã khai báo trong esDescr. Mảng này có 1-255 phần tử. Phạm vi và các quy tắc sử dụng:
i. Các thực thể trong bảng ipmpDescr xác định hệ thống/các công cụ IPMP có thể được tham chiếu bởi IPMP_DescriptorPointers thuộc OD đó hoặc các ESD được khai báo trong OD đó.
ii. OD chứa các IPMP_Descriptor chỉ thuộc phạm vi của OD cho trước và phải không bị tham chiếu bởi các IOD, OD và các dòng được khai báo tiếp theo và cũng không sẵn sàng cho việc cập nhật thông qua IPMP_DescriptorUpdates.
iii. OD chứa các IPMP_Descriptor không được tham chiếu bởi các IOD, OD, hoặc các dòng được khai báo trong OD hoặc các dòng cảnh.
extDescr [ ] - là một mảng các ExtensionDescriptor như định nghĩa trong 7.2.6.16. Mảng này có từ 1 đến 255 phần tử.
7.2.6.4 InitialObjectDescriptor (Bộ mô tả đối tượng khởi đầu)
7.2.6.4.1 Cú pháp
Khi InitialObjectDescriptor được sử dụng trong rãnh OD thuộc MP4, thì InitialObjectSDescrTag được thay thế bởi MP4_IOD_Tag.
7.2.6.4.2 Ngữ nghĩa
InitialObjectDescriptor là một biến thể của ObjectDescriptor, báo hiệu thông tin mức và profile cho nội dung nó tham chiếu tới. Và nó cũng được sử dụng bắt đầu việc truy cập tới nội dung tuân theo bộ tiêu chuẩn TCVN 11795 (xem 7.2.7.3).
Thông tin profile và mức mà InitialObjectDescriptor báo hiệu là profile và mức được minh chứng ít nhất là bởi dòng lớp cơ sở đầu tiên (tức là dòng cơ sở với streamDependenceFlag thiết lập là 0) trong mỗi bộ mô tả đối tượng phụ thuộc vào bộ mô tả đối tượng ban đầu này.
objectDescriptorID - xác định duy nhất một InitialObjectDescriptor trong phạm vi tên của nó (xem 7.2.7.2.4). Giá trị 0 bị cấm và 1023 Được dành riêng.
URL_Flag - là một cờ cho biết sự hiện diện của URLstring.
includeInlineProfileLevelFlag - là một cờ và nếu nó được thiết lập là 1 thì các chỉ báo profile tiếp theo, kể cả các tài nguyên cần thiết cho việc xử lý bất kỳ một nội dung nào cũng phải là tức thời (inline).
URLlength - là chiều dài của URLstring tiếp theo, đơn vị byte.
URLstring [ ] - là chuỗi với URL được mã hóa theo UTF-8 (ISO/IEC 10646-1), nó trỏ tới một InitialObjectDescriptor khác. Chỉ nội dung của bộ mô tả đối tượng này được trả về bởi thực thể phân phối khi truy cập vào URL. Trong phạm vi tên hiện tại, bộ mô tả đối tượng mới phải được tham chiếu bởi objectDescriptorId của bộ mô tả đối tượng mang URLstring này. Các phạm vi tên tham khảo 7.2.7.2.4. Các URL có thể bị hạn chế bởi profile và mức cũng như bởi các tầng phân phối điển hình.
ODProfileLevelIndication - là một chỉ báo về mức và profile bộ mô tả đối tượng được yêu cầu để xử lý nội dung liên kết với InitialObjectDescriptor này.
Bảng 3 - Các giá trị chỉ báo mức profile OD (ODProfileLevelIndication)
Giá trị | Profile | Mức |
0x00 | Cấm sử dụng | - |
0x01 | Dành riêng cho ISO sử dụng (không có mở rộng SL) | - |
0x02-0x7F | Dành riêng cho ISO sử dụng (không có mở rộng SL) | - |
0x03-0x7F | Dành riêng cho ISO sử dụng |
|
0x80-0xFD | Người dùng cá nhân | - |
0xFE | Không thuộc tính nào của OD được quy định | - |
0xFF | Không khả năng nào của OD được yêu cầu | - |
CHÚ THÍCH - Việc sử dụng giá trị 0xFE cho biết nội dung được mô tả bởi Bộ mô tả đối tượng khởi đầu (InitialObjectDescriptor) này không tuân thủ bất kỳ một profile OD nào trong tiêu chuẩn này. Giá trị 0xFF cho biết không một khả năng nào của profile OD được yêu cầu cho nội dung này. Việc sử dụng giá trị 0x01 cho biết cơ chế mở rộng SL không xuất hiện. |
sceneProfileLevelIndication - là chỉ báo của mức và profile tích đồ họa cảnh được yêu cầu để xử lý nội dung liên kết với InitialObjectDescriptor này, được định nghĩa trong ISO/IEC 14496-11.
audioProfileLevelIndication - là chỉ báo của mức và profile âm thanh được yêu cầu để xử lý nội dung liên kết với InitialObjectDescriptor này, được định nghĩa trong ISO/IEC 14496-3.
visualProfileLevelIndication - chỉ báo của mức và profile hình ảnh được yêu cầu để xử lý nội dung liên kết với InitialObjectDescriptor này, được định nghĩa trong ISO/IEC 14496-2.
Bảng 4 - Các giá trị visualProfileLevelIndication (định danh mức profile hình ảnh)
Giá trị | Profile | Mức |
0x00-0x7E | Định nghĩa trong ISO/IEC 14496-2 Phụ lục G | - |
0x7F | ISO/IEC 14496-10 mã hóa video nâng cao | - |
0x80-0xFD | Định nghĩa trong ISO/IEC 14496-2 Phụ lục G | - |
0xFE | Không thuộc tính cảnh nào được quy định | - |
0xFF | không thuộc tính cảnh nào được yêu cầu |
|
CHÚ THÍCH 1: 0x7F cho biết việc sử dụng profile và mức của ISO/IEC 14496-10 AVC. Số mức và profile thực tế ISO/IEC 14496-10 tham chiếu tới DecoderSpecificInfo. CHÚ THÍCH 2: 0XFE cho biết nội dung được mô tả bởi InitialObjectDescriptor này không tuân theo bất kỳ một profile ảnh nào như quy định bởi ISO/IEC 14496-2 hoặc -10. Giá trị 0xFF cho biết không có thuộc tính nào về ảnh được yêu cầu cho nội dung này. |
graphicsProfileLevelIndication - là chỉ báo về mức và profile đồ họa được yêu cầu để xử lý nội dung liên kết với InitialObjectDescriptor này, được định nghĩa trong ISO/IEC 14496-11.
esDescr [ ] - một mảng các ES_Descriptor, tham khảo 7.2.6.5. Mảng này phải có 1 - 255 phần tử.
ociDescr [ ] - một mảng các bộ mô tả OCI (xem 7.2.6.18), liên quan tới tập các đối tượng âm thanh hình ảnh được mô tả bởi bộ mô tả đối tượng khởi đầu. Mảng này phải có 0-255 phần tử.
ipmpDescrPtr [ ] - một mảng IPMP_DescriptorPointer (xem 7.2.6.13), con trỏ này trỏ đến các IPMP_Descriptor liên quan tới các dòng cơ sở mà bộ này mô tả. Mảng này có 0 đến 255 phần tử. ipmpDescr [ ] - là danh sách các IPMP_Descriptor có thể được tham chiếu bởi các dòng được khai báo trong esDescr. Mảng này có 0-255 phần tử. Phạm vi và các quy tắc sử dụng:
- Các thực thể trong bảng ipmpDescr xác định hệ thống/các công cụ IPMP có thể được tham chiếu bởi IPMP_DescriptorPointers ở trong bản thân IOD hoặc các ESD được khai báo trong IOD này.
- IOD chứa các bộ mô tả IPMP phải thuộc phạm vi chỉ với IOD cho trước và phải không được tham chiếu bởi các IOD, OD, các dòng được khai báo tiếp đó và cũng không sẵn có cho việc cập nhật thông qua IPMP_DescriptorUpdates.
- IOD chứa IPMP_Descriptors phải không được tham chiếu bởi các IOD, OD, dòng được khai báo trong IOD khai báo OD hoặc các dòng Cảnh.
toolListDescr - là danh sách tất cả các công cụ IPMP được yêu cầu cho việc xử lý nội dung này. Mảng này chỉ có 0 hoặc 1 phần tử.
extDescr [ ] - là một mảng các ExtensionDescriptor (xem 7.2.6.16). Mảng này có 0 đến 255 phần tử.
7.2.6.5 ES_Descriptor (Bộ mô tả ES)
7.2.6.5.1 Cú pháp
7.2.6.5.2 Ngữ nghĩa
ES_Descriptor truyền tải tất cả các thông tin liên quan tới dòng cơ sở đặc thù và có ba phần lớn:
Phần thứ nhất bao gồm ES_ID, tạo tham chiếu duy nhất đến dòng cơ sở phạm vi tên của nó (xem 7.2.7.2.4), đây là cơ chế mô tả sự phụ thuộc của các dòng cơ sở trong phạm vi bộ mô tả đối tượng gốc và một chuỗi URL tùy chọn. Những phụ thuộc và cách sử dụng các URL được quy định trong 7.2.7.
Phần thứ hai bao gồm các bộ mô tả thành phần, các bộ mô tả này truyền tải các tham số và yêu cầu của dòng cơ sở.
Thành phần thứ ba là một tập các bộ mô tả mở rộng tùy chọn, chúng hỗ trợ lồng ghép các mở rộng cho tương lai cũng như việc truyền tải dữ liệu cá nhân đảm bảo tương thích ngược.
ES_ID - là thành phần cú pháp cung cấp một nhãn duy nhất cho mỗi dòng cơ sở trong phạm vi tên của nó. Giá trị 0 và 0xFFFF Được dành riêng. streamDependenceFlag - nếu thiết lập là 1 thì sẽ có dependsOn_ES_ID theo sau.
URL_Flag - nếu thiết lập là 1 thì có một URLstring theo sau.
OCRstreamFlag - cho biết rằng theo sau là cú pháp OCR_ES_ID.
streamPriority - Là mức ưu tiên tương đối của dòng cơ sở. Một dòng cơ sở với streamPriority cao hơn thì sẽ quan trọng hơn dòng có strearaPriority thấp hơn. Các giá trị tuyệt đối của streamPriority không bắt buộc được định nghĩa.
dependsOn_ES_ID - là ES_ID của một dòng cơ sở mà dòng cơ sở này phụ thuộc. Dòng với dependsOn_ES_ID cũng phải được liên kết với cùng một bộ mô tả đối tượng như ES_Descriptor hiện hành.
URLlength - là chiều dài của URLstring tiếp theo, đơn vị byte.
URLstring [ ] - chứa URL được mã hóa theo UTF-8 (ISO/IEC 10646-1), URL này sẽ trỏ đến vị trí của dòng SLpacketized theo tên. Các tham số của dòng SL-packetized được truy xuất từ URL được quy định đầy đủ trong ES_Descriptor này. Xem 7.2.7.3.3. Các URL được phép có thể bị hạn chế bởi các mức và profile cũng như các tầng phân phối cụ thể.
OCR_ES_ID - cho biết ES_ID của dòng cơ sở thuộc cùng một phạm vi tên (xem 7.2.7.2.4), gốc thời gian cho các dòng cơ sở được suy ra từ dòng đó. Không được phép tham chiếu vòng giữa các dòng cơ sở. decConfigDescr - là một DecoderConfigDescriptor (bộ mô tả cấu hình bộ giải mã) như quy định trong 7.2.6.6.
slConfigDescr - là bộ mô tả cấu hình SL(SLConfigDescriptor) được quy định trong 7.2.6.8. Nếu ODProfileLevelIndication có giá trị khác 0x01, thì có thể là một mở rộng của SLConfigDescriptor (tức là lớp mở rộng) như quy định trong 7.2.6.8. ipiPtr [ ] - một mảng 0 hoặc phần tử IPI_DescrPointer như quy định trong 7.2.6.12. ipIDS [ ] - là mảng (có thể rỗng) các phần tử lP_IdentificationDataSet như quy định trong 7.2.6.9.
Mỗi ES_Descriptor phải có một phần tử IPI_DescrPointer hoặc là 0-255 phần tử IP_IdentificationDataSet.
ipmpDescrPtr [ ] - là một mảng IPMP_DescriptorPointer như quy định trong 7.2.6.13, nó trỏ đến các bộ mô tả IPMP liên quan đến dòng cơ sở ES_Descriptor này mô tả. Mảng này phải có từ 0-255 phần tử.
langDescr [ ] - là một mảng 0 hoặc 1 cấu trúc LanguageDescriptor như quy định trong 7.2.6.18.6, cho biết ngôn ngữ phân phối cho dòng cơ sở này.
CHÚ THÍCH: các dòng âm thanh đa kênh có thể được xem như một dòng cơ sở có ES_Descriptor tuân thủ bộ tiêu chuẩn TCVN 11795. Khi đó, một bộ mô tả ngôn ngữ sẽ không xác định được ngôn ngữ khác nhau trong các kênh khác nhau của dòng đa kênh.. qosDescr [ ] - là một mảng 0 hoặc 1 QoS_Descriptor như quy định trong 7.2.6.15. extDescr [ ] - là một mảng cấu trúc ExtensionDescriptor như quy định trong 7.2.6.16.
7.2.6.6 DecoderConfigDescriptor (Bộ mô tả cấu hình bộ giải mã)
7.2.6.6.1 Cú pháp
}
7.2.6.6.2 Ngữ nghĩa
DecoderConfigDescriptor cung cấp thông tin về kiểu của bộ giải mã và các tài nguyên bộ giải mã cần thiết được yêu cầu cho dòng cơ sở liên kết với nó, phía đầu cuối nhận cần DecoderConfigDescriptor để xác định liệu có thể giải mã dòng cơ sở được không. Kiểu dòng xác định loại dòng trong khi bộ mô tả thông tin đặc thù của bộ giải mã tùy chọn chứa thông tin đặc thù của dòng để thiết lập bộ giải mã trong một định dạng đặc thù của dòng, định dạng đó trong suốt với lớp này.
ObjectTypeIndication - là định danh đối tượng hoặc kiểu mô tả cảnh cần được hỗ trợ bởi một bộ giải mã cho dòng cơ sở này như Bảng 5.
Bảng 5 - objectTypeIndication (Các giá trị định danh kiểu đối tượng)
Giá trị | Mô tả định danh kiểu đối tượng |
0x00 | Cấm sử dụng |
0x01 | Các hệ thống ISO/IEC 14496-1a |
0x02 | Các hệ thống ISO/IEC 14496-1b |
0x03 | Dòng tương tác |
0x04 | Các hệ thống ISO/IEC 14496-1 được mở rộng cấu hình BIFSc |
0x05 | Các hệ thống ISO/IEC 14496-1 AFXd |
0x06 | Dòng dữ liệu Font |
0x07 | Dòng cấu trúc được đồng bộ |
0x08 | Dòng văn bản tạo luồng |
0x09 | Dòng LASeR (định nghĩa trong ISO/IEC 14496-20:2008, Điều 6 và Điều 12)1 |
0x0A | Dòng SAF (định nghĩa trong ISO/IEC 14496-20:2008, Điều 7)1 |
0x0B | Dòng video thô2 |
0x0C | Dòng âm thanh thô2 |
0x0D-0x1F | Dành riêng cho ISO sử dụng1 |
0x20 | Hình ảnh ISO/IEC 14496-2e |
0x21 | Khuyến nghị ITU-T. H.264 | ISO/IEC 14496-10 về ảnh f |
0x22 | Tập các tham số ITU-T. H.264 | ISO/IEC 14496-10f |
0x23-0x3F | Được dành riêng cho ISO sử dụng |
0x40 | Tiêu chuẩn ISO/IEC 14496-3 về Âm thanhg |
0x41-0x5F | Được dành riêng cho ISO sử dụng |
0x60 | Profile đơn giản tiêu chuẩn ISO/IEC 13818-2 về hình ảnh |
0x61 | Profile chính của ISO/IEC 13818-2 về hình ảnh |
0x62 | Profile ISO/IEC 13818-2 SNR về hình ảnh |
0x63 | Profile không gian ISO/IEC 13818-2 về hình ảnh |
0x64 | Profile độ cao của ISO/IEC 13818-2 về hình ảnh |
0x65 | Profile ISO/IEC 13818-2 422 về hình ảnh |
0x66 | Profile chính của ISO/IEC 13818-7 về âm thanh |
0x67 | Profile có độ phức tạp thấp của ISO/IEC 13818-7 về âm thanh |
0x68 | Profile tốc độ lấy mẫu co giãn được của ISO/IEC 13818-7 về âm thanh |
0x69 | ISO/IEC 13818-3 về âm thanh |
0x6A | ISO/IEC 11172-2 về hình ảnh |
0x6B | ISO/IEC 11172-3 về âm thanh |
0x6C | ISO/IEC 10918-1 về hình ảnh |
0x6D | Dành riêng cho tổ chức đăng ký i |
0x6E | TCVN 11777-1 (ISO/IEC 15444-1) về hình ảnh |
0x6F - 0x9F | Dành riêng cho ISO sử dụng |
0xA0 - 0xBF | Dành riêng cho tổ chức đăng ký l |
0xC0 - 0xE0 | Người dùng riêng |
0xE1 | Dành riêng cho tổ chức đăng ký j |
0xE2 - 0xFE | Người dùng riêng |
0xFF | Không có kiểu đối tượng nào được quy định h |
aLoại này được sử dụng cho tất cả các dòng 14496-1 trừ khi có quy định khác. Các cảnh mô tả cảnh được xác định với kiểu dòng =0x03, bằng cách sử dụng giá trị kiểu đối tượng này phải sử dụng BIFSConfig như quy định trong ISO/IEC 14496-11. bKiểu đối tượng này phải được sử dụng, với kiểu dòng =0x03, đối với các dòng mô tả đối tượng sử dụng the BIFSv2Config như quy định trong ISO/IEC 14496-11. Các kiểu dòng khác Được dành riêng cKiểu đối tượng này phải được sử dụng, với kiểu dòng =0x03, đối với các dòng mô tả cảnh sử dụng BIFSConfigEx như quy định trong mục 7.2.6.7. Các kiểu dòng khác Được dành riêng. dKiểu đối tượng này phải được sử dụng, với kiểu dòng =0x03, đối với các dòng mô tả cảnh sử dụng AFXConfig như quy định trong mục 7.2.6.7. Các kiểu dòng khác Được dành riêng. eBao gồm cả các bản sửa đổi bổ sung và Bản đính chính. Các kiểu đối tượng thực được định nghĩa trong ISO/IEC 14496-2 và được truyền tải trong DecoderSpecificInfo như quy định trong ISO/IEC 14496-2, Phụ lục K. fBao gồm các Bản sửa đổi bổ sung và Bảng đính chính có liên quan. Các kiểu đối tượng thực được định nghĩa trong Khuyến nghị ITU H.264 | ISO/IEC 14496-10 và được truyền tải trong the DecoderSpecificInfo như được quy định trong bản sửa đổi bổ sung này, I.2. gBao gồm các Bản sửa đổi bổ sung và Bảng đính chính có liên quan. Các kiểu đối tượng thực được định nghĩa trong Khuyến nghị ISO/IEC 14496-3 và được truyền tải trong the DecoderSpecificInfo như được quy định trong ISO/IEC 14496-3, 7.2.1. hCác dòng với giá trị này với kiểu dòng cho biết một dòng các hệ thống (các giá trị 1, 2, 3, 6, 7, 8, 9) sẽ được xử lý như trường hợp ObjectTypeIndication được thiết lập giá trị 0x01. iCác thực thể cuối cùng được đăng ký có thể tìm tại liên kết: http://www.mp4ra.org/object.html. 1Các giá trị cờ và tên cờ tương ứng được thay thế, bổ sung theo phiên bản sửa đổi lần 1 [2] 2Các giá trị cờ và tên cờ tương ứng được bổ sung theo phiên bản sửa đổi lần 2 [3] |
Khi giá trị là 0x6C (ISO/IEC 10918-1 về ảnh JPEG) thì dòng này có thể có một hoặc một số đơn vị truy cập, trong đó một đơn vị truy cập được xác định là một JPEG hoàn thiện (theo định nghĩa về ảnh trong ISO/IEC 10918-10). Chú ý, định thời, đơn vị truy cập khác và thông tin đóng gói được mang ở lớp vận tải như trong tầng đồng bộ ở hệ thống MPEG 4.
Khi giá trị định danh kiểu đối tượng là 0x6E (TCVN 11777-1 (ISO/IEC 15444-1) về ảnh JPEG 2000) thì dòng này có thể có một hoặc một số đơn vị truy cập, đơn vị truy cập ở đây được xác định như là một ảnh JPEG 2000 hoàn chỉnh (TCVN 11777-1 (ISO/IEC 15444-1)). Chú ý, định thời, đơn vị truy cập khác và thông tin đóng gói được vận chuyển ở lớp vận tải như trong tầng đồng bộ ở hệ thống MPEG 4.
CHÚ THÍCH: Định dạng được định nghĩa trong ISO/IEC 15444-3 được ưu tiên cho việc lưu trữ chuỗi JPEG 2000 theo định dạng quy định trong ISO/IEC 14496-12, bao gồm MP4.
streamType - truyền tải kiểu của dòng cơ sở, các giá trị được thống kê như trong Bảng 6.
Bảng 6 - Các giá trị kiểu luồng
Giá trị kiểu dòng | Mô tả kiểu dòng |
0x00 | Cấm sử dụng |
0x01 | Dòng bộ mô tả đối tượng (xem 7.2.5) |
0x02 | Dòng tham chiếu đồng hồ (xem 7.3.2.5) |
0x03 | Dòng mô tả cảnh (xem ISO/IEC 14496-11) |
0x04 | Dòng ảnh |
0x05 | Dòng âm thanh |
0x06 | Dòng MPEG7 |
0x07 | Dòng IPMP (xem 7.2.3.2) |
0x08 | Luồng thông tin nội dung đối tượng (ObjectContentInfoStream (xem 7.2.4.2) |
0x09 | Dòng MPEGJ |
0x0A | Dòng tương tác |
0x0B | Dòng công cụ IPMP (xem [ISO/IEC 14496-13]) |
0x0C | Dòng ghép ứng dụng1 |
0x0D-0x5B | Dành riêng cho tổ chức đăng ký1 |
0x5C - 0x1F | Dành riêng cho ISO sử dụng1 |
0x20 - 0x3F | Người dùng riêng |
1 Các giá trị cờ và tên cờ tương ứng được thay thế, bổ sung theo phiên bản sửa đổi lần 1 [2] |
upStream - trường này cho biết dòng được sử dụng cho luồng lên.
bufferSizeDB - là kích thước của bộ đệm giải mã cho dòng cơ sở này, đơn vị byte.
maxBitrate - là tốc độ bit tối đa (bps) của dòng cơ sở này. avgBitrate - là tốc độ bít trung bình của dòng mã, đối với các dòng có tốc độ bit thay đổi thì giá trị này sẽ được thiết lập là 0. decSpecificInfo [ ] - bao gồm 0 hoặc 1 lớp thông tin đặc thù của bộ giải mã như quy định trong 7.2.6.7.
ProfileLevelIndicationindexDescr [0. .255] - là một mảng các định danh duy nhất cho các chỉ báo về mức và profile trong ExtensionProfileLevelDescr, được định nghĩa trong 7.2.6.19.
7.2.6.7 DecoderSpecificInfo (Thông tin quy định bộ giải mã)
7.2.6.7.1 Cú pháp
7.2.6.7.2 Ngữ nghĩa
Các thông tin quy định về bộ giải mã cấu thành một container không trong suốt về mặt thông tin đối với bộ giải mã đa phương tiện đặc thù. Sự tồn tại và Ngữ nghĩa của thông tin bộ giãi mã này phụ thuộc vào giá trị của DecoderConfigDescriptor.streamType và DecoderConfigDescriptor.objectTypeIndication.
Với các giá trị của DecoderConfigDescriptor.objectTypeIndication tham chiếu tới dòng mã tuân thủ ISO/IEC 14496-2 thì cú pháp và Ngữ nghĩa của thông tin quy định bộ giải mã được quy định trong phụ lục K của ISO/IEC 14496-2.
Với các giá trị DecoderConfigDescriptor.objectTypeIndication tham chiếu tới các dòng mã ISO/IEC 14496-3 thì cú pháp và Ngữ nghĩa của thông tin này được định nghĩa trong 1.6 của ISO/IEC 14496-3.
Các giá trị DecoderConfigDescriptor.objectTypeIndication tham chiếu đến dòng mô tả cảnh thì cú pháp và thông tin quy định bộ giải mã được định nghĩa trong ISO/IEC 14496-11.
Đối với các giá trị DecoderConfigDescriptor.objectTypeIndication tham chiếu tới các dòng mã phù hợp với ISO/IEC 13818-7 thì thông tin quy định bộ giải mã bao gồm „adif_header()“ và một đơn vị truy cập là „raw_data_block()“ như định nghĩa trong ISO/IEC 13818-7.
Các giá trị DecoderConfigDescriptor.objectTypeIndication tham chiếu tới các dòng mã tuân thủ ISO/IEC 11172-3 hoặc ISO/IEC 13818-3 thì thông tin quy định bộ giải mã này rỗng do tất cả các dữ liệu cần thiết đều thuộc trong chính các khung của dòng bit. Trong trường hợp này, các đơn vị truy cập là "khung()" của dòng bít, được quy định trong ISO/IEC 11172-3.
Đối với các giá trị DecoderConfigDescriptor.objectTypeIndication tham chiếu tới các dòng tuân thủ ISO/IEC 10918-1 thì thông tin bộ giải mã sẽ là:
Trong đó:
headerLength - là số byte bỏ qua từ điểm bắt đầu của dòng để tìm ra pixel đầu tiên của ảnh.
Xdensity và Ydensity - quy định tỷ lệ điểm ảnh.
numComponents - cho biết liệu ảnh này chỉ có thành phần Y hay là Y, Cr, Cb. Trường này có giá trị là 1 hoặc 3.
Đối với các giá trị DecoderConfigDescriptor.objectTypeIndication tham chiếu đến các dòng tương tác, thông tin quy định bộ giải mã:
deviceNameLength - cho biết số byte trong trường deviceName.
deviceName - cho biết tên của lớp thiết bị, nó cho phép đầu cuối gọi các bộ giải mã tương tác tương ứng. devSpecInfo - là container không trong suốt về mặt thông tin đối với các bộ xử lý thiết bị đặc thù.
Với các giá trị DecoderConfigDescriptor.objectTypeIndication tham chiếu đến cấu hình BIFS mở rộng (0x40), thông tin bộ giải mã đặc thù là:
Lớp BIFSConfigEx chứa ExtendedBIFSConfig. ExtendedBIFSConfig là một lớp cơ sở cho các lớp mới để giữ thông tin quy định bộ mã hóa. Với tiếp cận này thì các dòng BIFS mới sẽ có kiểu dòng là 3 và định danh kiểu đối tượng (objectTypeIndication) là 0x04, nhưng việc sẽ sử dụng cấu hình bộ giải mã phụ thuộc vào thẻ của ExtendedBIFSConfig.
Đối với các giá trị DecoderConfigDescriptor.objectTypeIndication tham chiếu đến các dòng AFX (0x05), thông tin quy định bộ giải mã là:
AFXExtDescriptor là một lớp trừu tượng được sử dụng như để giữ chỗ cho thông tin quy định bộ giải mã (DecoderSpecificInfo) tùy chọn được định nghĩa trong bảng “DecoderSpecificInfo cho các dòng AFX” trong ISO/IEC 14496-16. Thẻ này tham chiếu tới lược đồ nén nút đặc thù như trong bảng “Mã hóa đối tượng AFX” trong ISO/IEC 14496-16.
Với các giá trị DecoderConfigDescriptor.objectTypeIndication tham chiếu tới các dòng tuân thủ TCVN 11777-1 (ISO/IEC 15444-1), thông tin quy định bộ giải mã:
Định nghĩa các trường được rút ra từ TCVN 11777-1 (ISO/IEC 15444-1) và được đề ra như sau:
height: Chiều cao vùng ảnh. Giá trị của tham số này cho biết chiều cao của vùng ảnh. Trường này được lưu trong 4 byte theo kiểu số nguyên không dấu dạng big endian.
width: Chiều rộng vùng ảnh. Giá trị của tham số này cho biết chiều rộng của vùng ảnh. Trường này được lưu trong 4 byte theo kiểu số nguyên không dấu dạng big endian.
nc: Số các phần tử. Tham số này quy định số phần tử trong dòng mã và được lưu bằng 2 byte theo kiểu số nguyên không dấu big endian. Giá trị của trường này phải bằng với giá trị của trường Csiz trong dấu SIZ thuộc dòng mã.
BPC: là số bit trên mỗi phần tử. Tham số này quy định độ sâu (bit) của phần tử trong dòng mã, -1 và được lưu bởi 1 byte.
C: kiểu nén. Tham số này quy định thuật toán nén sử dụng để nén dữ liệu ảnh. Giá trị của trường này phải là 7. Nó được mã hóa như số nguyên không dấu 1 byte. Các giá trị khác Được dành riêng cho ISO sử dụng.
UnkC: Không gian màu chưa biết. Trường này quy định nếu không gian màu thực của ảnh trong dòng mã này được biết. Trường này được mã hóa bởi số nguyên không dấu 1 byte. Nếu không gian màu của ảnh đã biết và được quy định chính xác ở các box thông số kỹ thuật màu sắc trong tệp thì các giá trị trong trường này bằng 0, còn nếu không gian màu của ảnh chưa biết thì các giá trị của trường này là 1. Giá trị 1 sẽ được sử dụng trong những trường hợp như chuyển mã các ảnh kế thừa nơi mà không gian màu thực của dữ liệu ảnh chưa biết. Trong những trường hợp đó, các phương pháp thông dịch không gian màu được quy định trong tệp này có thể không tái tạo chính xác ảnh với một số điều kiện đầu. Do đó, ảnh này nên được xử lý như các phương pháp này tái tạo chính xác ảnh. Các giá trị khác 0 và 1 Được dành riêng cho ISO sử dụng.
IPR: Sở hữu trí tuệ. Tham số này cho biết liệu tệp JP2 có chứa thông tin về quyền sở hữu trí tuệ không. Nếu giá trị của trường này là 0 thì tệp này không chứa các thông tin về quyền và vì thế tệp này không chứa box IPR. Nếu giá trị này là 1 thì tệp này chứa thông tin các quyền và vì thế chứa box IPR như định nghĩa trong I.6. Các giá trị khác Được dành riêng cho ISO sử dụng.
Tập các tham số được định nghĩa ở trên có thể đều được trích xuất từ box tiêu đề JP2 và không chính thức cho việc thiết lập bộ giải mã JPEG 2000. Tuy nhiên, nếu có bất kỳ xung đột nào xảy ra với các tham số từ box tiêu đề JPEG 2000 trong đơn vị truy cập này thì trường hợp sau cùng được ưu tiên.
Đối với các giá trị DecoderConfigDescriptor.objectTypeIndication tham chiếu đến các dòng tuân thủ ISO/IEC 14496-20, thì thông tin quy định bộ giải mã là LASeRHeader() được định nghĩa trong 12.2.1 của ISO/IEC 14496-20:2008.1
Thông tin quy định bộ giải mã video thô2:
Ngữ nghĩa
width | Chiều dài của video có thành phần màu sắc lớn nhất |
height | Chiều cao của video có thành phần màu sắc lớn nhất |
bit_depth | Số bit cho mỗi mẫu kênh từ tập các giá trị cho phép như định nghĩa bởi coding4cc |
Stride | Kích thước của một đường ngang (theo byte) |
Coding4cc | 4 ký tự mã biểu diễn các tham số của dữ liệu thô được quy định bởi Tổ chức đăng ký MPEG 4 |
Fps | Số khung trên giây của một dòng video; nếu là 0 thì tốc độ khung không được biết hoặc là biến số |
Use_frame_packing | Trường này cho biết nếu một khung chứa hai hoặc nhiều hơn hai quan sát |
Frame_packing | Được định nghĩa trong ISO/IEC 23001-8, mã hóa các điểm mã độc lập |
CHÚ THÍCH: trường hợp có nhiều hơn một quan sát thì dữ liệu được đóng gói trong một khung đơn (giả định rằng tất cả các quan sát được lấy mẫu tức thời)
Thông tin quy định bộ giải mã âm thanh thô
Ngữ nghĩa:
CHÚ THÍCH: đối với trường hợp nhiều hơn một kênh thì dữ liệu được đan xen (giả định tất cả các kênh được lấy mẫu tức thời). Thứ tự dữ liệu kênh âm thanh trong mẫu đan xen phải giống với thứ tự kênh âm thanh trong kênh tới loa được định nghĩa bởi cấu hình kênh.
sampling_rate | Số mẫu/s (Hz) |
bit_per_sample | Số bit đối với mỗi kênh của mẫu âm thanh, từ tập các giá trị cho phép như định nghĩa bởi coding4cc |
channels | Số kênh âm thanh |
coding4CC | 4 ký tự mã hóa biểu diễn các tham số dữ liệu thô như quy định bởi Tổ chức đăng ký MPEG 4 |
channel_configuration | Cấu hình kênh như định nghĩa trong ISO/IEC 23001-8, mã hóa các điểm mã độc lập |
7.2.6.8 SLConfigDescriptor (Bộ mô tả cấu hình SL)
Bộ mô tả này định nghĩa cấu hình của tiêu đề tầng đồng bộ cho dòng cơ sở. Thông số kỹ thuật của bộ mô tả này được cung cấp cùng với thông số kỹ thuật của tầng đồng bộ trong 7.3.2.3.
7.2.6.9 IP_IdentificationDataSet (Tập dữ liệu định danh IP)
7.2.6.9.1 Cú pháp
7.2.6.9.2 Ngữ nghĩa
Lớp này là một lớp cơ sở trừu tượng, nó được mở rộng bởi các lớp bộ mô tả thực thi việc định danh IP. Một bộ mô tả cho phép kết tập các lớp kiểu IP_IdentificationDataSet thì có thể kết tập bất kỳ một lớp nào mở rộng IP_IdentificationDataSet.
7.2.6.10 ContenIdentificationDataSet (Tập dữ liệu định danh nội dung)
7.2.6.10.1 Cú pháp
7.2.6.10.2 Ngữ nghĩa
Bộ mô tả định danh nội dung được sử dụng để xác định nội dung. Tất cả các kiểu dòng cơ sở mang nội dung có thể được định danh bằng cơ chế này. Nội dung bao gồm các loại: âm thanh, hình ảnh và dữ liệu mô tả cảnh. Các bộ mô tả định danh nhiều nội dung có thể được liên kết với một dòng cơ sở. Những bộ mô tả này phải luôn luôn được đính kèm với bộ mô tả ES. compatibility - phải được thiết lập 0. Cờ contentTypeFlag - cho biết sẵn có định nghĩa về kiểu nội dung. Cờ contentIdentifierFlag - cho biết có việc tạo ra ID.
Nếu trường protectedContent được thiết lập là 1 thì các dòng cơ sở này tham chiếu đến một IP_IdentificationDataSet được bảo vệ theo phương pháp không thuộc phạm vi của bộ tiêu chuẩn này. Khả năng xử lý những dòng mã như vậy của đầu cuối tuân thủ bộ tiêu chuẩn TCVN 11795 không được định nghĩa trong tiêu chuẩn này. contentType - định nghĩa kiểu nội dung sử dụng một trong các giá trị được quy định trong Bảng 7.
Bảng 7 - Các giá trị kiểu nội dung (contentType)
0 | Âm thanh - hình ảnh |
1 | Sách |
2 | tạp chí |
3 | văn bản |
4 | Mục tin hoặc bài báo (ví dụ bài báo trong sách hoặc tạp chí) |
5 | kho nhạc |
6 | Đĩa âm thanh hoặc video âm nhạc |
7 | Ảnh tĩnh |
8 | Công tác âm nhạc (Musical Work) |
9-254 | Dự trữ cho ISO sử dụng |
255 | Khác |
contentIdentifierType - định nghĩa kiểu định danh nội dung sử dụng một trong các giá trị quy định trong Bảng 8.
Bảng 8 - Các giá trị kiểu định danh nội dung (contentIdentifierType)
0 | ISAN | Số hiệu âm thanh hình ảnh theo chuẩn quốc tế |
1 | ISBN | Số hiệu sách theo chuẩn quốc tế |
2 | ISSN | Số hiệu xuất bản phẩm nhiều kỳ theo chuẩn quốc tế |
3 | SICI | Định danh đầu mục và bài viết cho xuất bản phẩm nhiều kỳ |
4 | BICI | Định danh đầu mục và thành phần của sách |
5 | ISMN | Số hiệu âm nhạc theo chuẩn quốc tế |
6 | ISRC | Mã bản ghi âm theo chuẩn quốc tế |
7 | ISWC-T | Mã tác phẩm âm nhạc theo chuẩn quốc tế (Giai điệu) |
8 | ISWC-L | Mã tác phẩm âm nhạc theo chuẩn quốc tế (Lời) |
9 | SPIFF | ID ảnh tĩnh |
10 | DOI | Định danh đối tượng số |
11-255 | Dự trữ cho ISO sử dụng |
7.2.6.11 SupplementaryContenIdentificationDataSet (Tập dữ liệu định danh nội dung bổ sung)
7.2.6.11.1 Cú pháp
7.2.6.11.2 Ngữ nghĩa
Các định danh nội dung bổ sung được sử dụng để cung cấp các định danh mở rộng cho nội dung bị hạn chế bởi mã ngôn ngữ. Các bộ mô tả định danh bổ sung nhiều nội dung có thể được liên kết với một dòng cơ sở. Những bộ mô tả này phải luôn được gắn với Bộ mô tả ES.
language code - là một trường 24 bit chứa ba chữ cái đại diện cho ngôn ngữ theo tiêu chuẩn ISO 639-2:1998 của các trường sau.
supplementaryContentIdentifierTitleLength - cho biết chiều dài của supplementaryContentIdentifierTitle tiếp theo, đơn vị byte.
supplementaryContentIdentifierTitle - xác định tiêu đề của các định danh nội dung bổ sung, có thể được sử dụng khi định danh nội dung số (xem 7.2.6.11) không sẵn có.
supplementaryContentIdentifierValueLength - cho biết chiều dài của supplementaryContentIdentifierValue, đơn vị byte.
supplementaryContentIdentifierValue - xác định giá trị của định danh nội dung bổ sung liên kết với supplementaryContentIdentifierTitle trước đó.
7.2.6.12 IPI_DescrPointer
7.2.6.12.1 Cú pháp
7.2.6.12.2 Ngữ nghĩa
Lớp lPI_DescrPointer là một tham chiếu đến dòng cơ sở, bao gồm cả IP_IdentificationDataSets có hiệu lực cho dòng mã này. Cơ chế tham chiếu trực tiếp này cho phép truyền nhiều bộ mô trả và tạo ra các tham chiếu tới dòng cơ sở này từ bất kỳ một Bộ mô tả ES nào có chia sẻ, sử dụng chung thông tin.
Các bộ mô tả ES có khả năng truy nhập được mà không liên quan tới sự sẵn có của luồng được tham chiếu thì phải bao gồm các IP_IdentificationDataSet của nó thay vì sử dụng IPI_DescrPointer.
IPI_ES_ID - là ES_ID của dòng mã cơ sở mà các bộ mô tả ES của nó chứa thông tin IP có giá trị cho dòng mã đó. Nếu ES_Descriptor cho IPI_ES_Id không sẵn có thì trạng thái IPI của dòng cơ sở này không được định nghĩa.
7.2.6.13 IPMP_DescriptorPointer (Con trỏ bộ mô tả IPMP)
7.2.6.13.1 Cú pháp
7.2.6.13.2 Ngữ nghĩa
IPMP_DescriptorPointer xuất hiện trong đoạn ipmpDescPtr của một OD hoặc các cấu trúc ESD.
Sự hiện diện của bộ mô tả này trong bộ mô tả đối tượng cho biết tất cả các dòng được tham chiếu bởi ES_Descriptors nhúng là đối tượng bảo vệ và quản lý của hệ thống IPMP/công cụ IPMP quy định trong IPMP_Descriptor.
IPMP_DescriptorPointer hỗ trợ khả năng xác định dòng mã IPMP hay là các dòng mà công cụ IPMP khai báo trong Bộ mô tả IPMP tương ứng, bộ mô tả này được xác định bởi IPMP_DescriptorIDEx. Nhiều công cụ IPMP có thể nhận cập nhật từ một dòng trên.
IPMP_DescriptorID là ID của IPMP_Descriptor sẽ tham chiếu. Trường bit (8) để hỗ trợ khả năng tương thích ngược, do đó hỗ trợ cho liên kết dòng IPMP được mở rộng không được cung cấp.
IPMP_DescriptorIDEx là ID của IPMP_Descriptor sẽ được tham chrếu. Trường bit (16) tham chiếu tới mở rộng được xác định bởi IPMP_Descriptors và cũng hỗ trợ cho các liên kết dòng IPMP mở rộng.
IPMP_ES_ID là ID của dòng IPMP, có thể mang các bản tin tới công cụ IPMP_DescriptorIDEx trỏ tới. Trong trường hợp có nhiều hơn một dòng IPMP cần được cung cấp công cụ IPMP, thì một số IPMP_DescriptorPointer có thể có IPMP_DescriptorIDEx giống nhau còn IPMP_ES_ID khác nhau. Nếu IPMP_ES_ID rỗng, có nghĩa là công cụ IPMP không yêu cầu dòng IPMP. Giá trị 2^16-1 cho IPMP_ES_ID cho biết trường này sẽ bị bỏ qua, tức là công cụ được trỏ tới bởi IPMP_DescriptorIDEx có thể nhận các bản tin từ bất kỳ dòng IPMP trong phép trình diễn đó.
Danh sách các dòng IPMP được xác định bởi trường IPMP_ES_ID (với giá trị khác 2^16-1) đối với một IPMP_DescriptorIDEx đơn: Công cụ IPMP được định danh bởi IPMP_DescriptorIDEx không nhận các bản tin từ bất kỳ một dòng IPMP khác ngoài dòng IPMP được chỉ ra trong danh sách. Nếu hiệu chỉnh thì IPMP_DescriptorPointer phải được hiệu chỉnh khi lưu trong tệp: trường IPMP_ES_ID phải được thay thế với chỉ số tương ứng trong bảng track’s 'mpod' như định nghĩa trong TCVN 11795-14:2017.
7.2.6.14 Bộ mô tả IPMP
7.2.6.14.1 Cú pháp
7.2.6.14.2 Ngữ nghĩa
IPMP_Descriptor mang thông tin IPMP cho một hoặc một số hệ thống IPMP hoặc công cụ IPMP đặc thù. Và cũng phải mang thông tin thuyết minh cho một hoặc một số công cụ IPMP điển hình.
IPMP_Descriptor được truyền tải trong bộ mô tả đối tượng khởi đầu, bộ mô tả đối tượng hoặc các dòng mô tả đối tượng qua câu lệnh IPMP_DescriptorUpdate. Có nhiều định nghĩa IPMP_Descriptor bên trong một câu lệnh IPMP_DescriptorUpdate hoặc một cấu trúc thông tin quy định bộ giải mã đơn đối với dòng IPMP không được phép. Lưu ý, IPMP_Descriptor có thể được hiệu chỉnh hoặc cập nhật thông qua lệnh IPMP_DescriptorUpdate nhận được trong dòng OD. IPMP_Descriptors phải được tham chiếu bởi bộ mô tả đối tượng hoặc các bộ mô tả ES, sử dụng con trỏ IPMP_DescriptorPointer.
IPMP_DescriptorID - là ID duy nhất cho IPMP_Descriptor này trong phạm vi tên của nó. Các giá trị "0x00" và "0xFF" bị cấm trong trường có bộ mô tả mở rộng. Phạm vi của IPMP_DescriptorID được đề nghị giống với phạm vi của OD, hoặc IOD mà nó chứa. IPMP_DescriptorID sử dụng trong các hệ thống phù hợp với các định nghĩa trước đó cũng như tín hiệu cho biết sử dụng IPMP_DescriptorIDEx cho các mở rộng IPMP.
CHÚ THÍCH 1: Mặc dù có thể thực hiện một ứng dụng hỗ trợ cho việc sử dụng các lược đồ bảo vệ IPMP được định nghĩa thông qua sử dụng IPMP_Descriptors, một trong số đó chứa IPMP_DescriptorID và một số chứa IPMP_DescriptorIDEx để bảo vệ các dòng riêng biệt nhưng khả năng liên kết các dòng đơn với cả hai loại IPMP_Descriptors ở trên không được định nghĩa.
IPMP_DescriptorIDEx - một ID đơn nhất cho IPMP_Descriptor này trong phạm vi tên của nó. Các giá trị "0x0000" và "0xFFFF" bị cấm. Phạm vi của IPMP_DescriptorIDEx được đề nghị giống với OD hoặc IOD mà nó chứa.
IPMP_ToolID - IPMP_ToolID của công cụ IPMP được mô tả bởi Bộ mô tả IPMP này. Giá trị "0" không tương ứng với một công cụ IPMP nhưng được sử dụng để cho biết có sự xuất hiện của một URL.
URLString [ ] - chứa URL được mã hóa theo UTF-8, URL này trỏ tới vị trí một Bộ mô tả IPMP từ xa. Nếu IPMPS_Type của IPMP_Descriptor là 0, thì một URL khác được tham chiếu. Tiến trình này tiếp diễn cho đến khi Bộ mô tả IPMP với một IPMPS_Type khác không có thể truy cập được.
controlPointCode - quy định điểm điều khiển IPMP, ở đó công cụ IPMP lưu trú và có một trong các giá trị sau:
Mã con trỏ điều khiển | Mô tả |
0x00 | Không có con trỏ điều khiển |
0x01 | Con trỏ điều khiển giữa bộ đệm giải mã và bộ giải mã. Nó nằm giữa bộ đệm giải mã và trình nạp lớp đối với các dòng MPEG-J |
0x02 | Con trỏ điều khiển giữa bộ giải mã và bộ đệm sắp xếp. |
0x03 | Con trỏ điều khiển giữa bộ đệm sắp xếp và bộ sắp xếp. |
0x04 | Cây BIFS |
0x05-0xDF | Dành riêng cho ISO |
0xE0-0xFE | Người dùng định nghĩa |
0xFF | Cấm sử dụng |
CHÚ THÍCH 2: sự khác biệt duy nhất giữa việc nhận các đơn vị tổng hợp trước CB và sau CB trong mô hình bộ giải mã các hệ thống MPEG - 4, thứ tự thu được đó khi DTS liên quan khác với CTS; trong trường hợp đó thứ tự giải mã khác với thứ tự sắp xếp. Ví dụ, giả sử tải trọng thủy vân (watermark payload) được nhúng trong nhiều hơn một khung video đơn, nếu tải trọng thủy vân được nhúng theo thứ tự giải mã, thì nó sẽ được trích xuất trước CB; còn nếu được nhúng theo thứ tự tổng hợp thì phải được trích xuất sau CB.
CHÚ THÍCH 3: đối với các dòng kiểu "0x01", ObjectDescriptor và kiểu “0x02”, ClockReferenceStream thì chỉ controlPointCode có giá trị là “0x00”, “0x01” hoặc có giá trị trong khoảng “0xE0-0xFE” có ý nghĩa.
sequenceCode - là mã thứ tự. Tại một điểm điều khiển cho trước công cụ IPMP nào có mã có thứ tự cao hơn thì trình tự ưu tiên sẽ cao hơn. Vì thế, tại điểm điều khiển cho trước trên dòng mã cho trước, công cụ với sequenceCode cao nhất sẽ được xử lý dữ liệu đầu tiên. Cùng một điểm điều khiển cho cùng một dòng thì sẽ không có trường hợp hai công cụ có cùng số thứ tự.
IPMPX_data - dữ liệu IPMP được mở rộng từ IPMP_Data_BaseClass, cho công cụ IPMP cho trước.
IPMP_data - dữ liệu có định dạng không được quy định.
7.2.6.14.3 Quy định về danh sách công cụ IPMP
Đối với mỗi công cụ, bao gồm:
1. Định danh;
2. Mô tả tham số tùy chọn;
3. Các công cụ thay thế cho công cụ cho trước, là công cụ có thể thay thế mà không làm thay đổi chức năng của công cụ trước đó.
Danh sách công cụ sẽ nằm trong IOD, trong một IPMP_ToolListDescriptor. Các công cụ IPMP ở dạng nhị phân thuộc trong các dòng cơ sở riêng biệt có liên kết với IOD này. Quy định về cú pháp của danh sau công cụ sẽ được quy định trong các phần nhỏ sau.
IPMP_ToolListDescriptor truyền tải danh sách các công cụ IPMP được yêu cầu để truy cập nội dung có liên kết với InitialObjectDescriptor và có thể có thông tin mô tả tham số của công cập nội dung hoặc danh sách các công cụ thay thế.
7.2.6.14.3.1 IPMP_ToolListDescriptor (Bộ mô tả danh sách công cụ IPMP)
Phần này định nghĩa cú pháp và Ngữ nghĩa để truyền tải danh sách các công cụ IPMP được yêu cầu để xử lý các trình diễn.
7.2.6.14.3.1.1 Cú pháp
7.2.6.14.3.1.2 Ngữ nghĩa
IPMP_Tool - là lớp mô tả một công cụ IPMP lô-gic được yêu cầu để truy cập nội dung.
7.2.6.14.3.2 IPMP_Tool
Định danh công cụ IPMP (IPMP_ToolID) có chiều dài 128 bit và phải chứa số định danh duy nhất cho công cụ IPMP. Tổ chức đăng ký công cụ sẽ sử dụng ID được yêu cầu này. Tổ chức đăng ký này phải duy trì một liên kết tùy chọn của các URL download cho những thực thi khác nhau của một công cụ đối với các nền tảng khác nhau. Những nền tảng này sẽ được mô tả chi tiết nhờ sử dụng phép trình diễn được cấu trúc hóa. IPMP_ToolID định danh một công cụ IPMP cụ thể (chứ không phải một thực thi cụ thể của công cụ đó), ngoại trừ các khoảng giá trị Được dành riêng như đã định nghĩa. IPMPS_Types là một trường 16 bit ánh xạ trực tiếp tới một ID độ dài 128 bit bằng cách thêm vào trước 112 bít 0; RA sẽ được khởi tạo với các giá trị đó. Các giá trị cụ thể trong 128 bít Được dành riêng cho việc xác định các công cụ được tham số hóa, dòng bit, đầu cuối và các mục đích cụ thể khác.
Các giá trị này phải không được gán cho các công cụ đã đăng ký.
Bảng 9 - Các giá trị của IPMP_ToolID
ID công cụ IPMP | Ý nghĩa |
0x0000 | Cấm sử dụng |
0x0001 | Nội dung |
0x0002 | Đầu cuối |
0x0003 - 0x2000 | Dành riêng cho ISO sử dụng |
0x2001 - 0xFFFF | Chuyển qua từ 14496-1 RA |
0x10000 - 0x100FF | Các công cụ được tham số hóa hoặc công cụ thay thế |
0x100FF - 2^128-2 | Để mở cho việc đăng ký |
2^128-1 | Cấm sử dụng |
7.2.6.14.3.2.1 Cú pháp
7.2.6.14.3.2.2 Ngữ nghĩa
Mỗi phiên bản của lớp IPMP_Tool xác định một công cụ IPMP mà đầu cuối cầu để sử dụng nội dung mã hóa. Công cụ này được quy định bởi một thực thi duy nhất hoặc một công cụ trong danh sách thay thế hoặc được mô tả bởi các tham số.
Nếu là thực thi duy nhất thì cả hai trường isAltGroup và isParametric đều được thiết lập là 0. Trong trường hợp này, IPMP_ToolID thuộc khoảng dành riêng cho những thực thi đặc thù của công cụ IPMP và phải trực tiếp chỉ ra công cụ được yêu cầu.
Trong tất cả các trường hợp thì trường IPMP_ToolID phục vụ như một sự trừu tượng Nội dung đặc thù đối với ID của công cụ IPMP do ID của công cụ IPMP thực sự chưa được biết tại thời điểm tổ chức Nội dung và phụ thuộc vào việc thực thi của đầu cuối tại thời điểm cho trước đối với một phần nội dung cho trước.
Nếu là mô tả tham số thì trường isParametric được thiết lập là 1. Trong trường hợp này, đầu cuối phải lựa chọn một công cụ IPMP đáp ứng các tiêu chí đã quy định trong mô tả tham số sau đây. IPMP_ToolID phải nằm trong khoảng dành riêng cho Công cụ được tham số hóa hoặc Công cụ thay thế. ID thực sự của Công cụ IPMP mà thực thi đầu cuối lựa chọn để hoàn thiện những mô tả tham số chỉ được biết khi tới đầu cuối. Tất cả Nội dung và các công cụ khác sẽ tham chiếu tới công cụ này, đối với Nội dung này, thông qua IPMP_ToolID đã quy định. Chú ý, không sử dụng để đánh địa chỉ bản tin.
Nếu là danh sách các công cụ thay thế thì cờ isAltGroup được thiết lập là “1”. Các ID công cụ đặc thù tiếp theo cho biết các Công cụ có thể thay thế tương đương cho nhau. Nếu trường isParametric cũng được thiết lập là 1 thì bất kỳ Công cụ được lựa chọn theo các điều kiện đối với các công cụ tham số (như đã trình bày ở đoạn trên) phải được xem xét bởi đầu cuối và là một thay thế tương đương khác, nó được quy định thông qua các ID công cụ đặc thù. Đầu cuối phải chọn một trong các thay thế tương đương này. ID thực sự của công cụ IPMP này chỉ được biết khi tới đầu cuối.
IPMP_ToolID - là định danh của công cụ IPMP, như trình bày ở trên.
isAltGroup - nếu được thiết lập là 1, thì IPMP_Tool chứa danh sách các Công cụ IPMP thay thế. numAlternates - là số công cụ IPMP thay thế được quy định trong IPMP_Tool.
specificToolID - một mảng các ID của các công cụ thay thế đặc thù, các công cụ này có thể được phép sử dụng nội dung.
isParametric - IPMP_Tool chứa mô tả tham số của công cụ IPMP. Trong trường hợp này IPMP_ToolID là định danh cho công cụ IPMP được mô tả bởi các tham số và Đầu cuối phải xác định đường đi cho thông tin IPMP_ToolID được quy định trong dòng bit đến công cụ IPMP đặc thù mà đầu cuối tạo ra.
ToolURL - mảng các URL tham khảo mà từ đó có thể trỏ đến được một hoặc một số công cụ quy quy định trong IPMP_Tool. Việc trỏ đến các công cụ đó không được quy định trong tiêu chuẩn này.
7.2.6.14.3.3 IPMP_ParametricDescription (Mô tả tham số IPMP)
Sử dụng mô tả tham số, nhà cung cấp nội dung có thể mô tả kiểu công cụ IPMP được yêu cầu để phát lại nội dung thay vì sử dụng các ID đã gán. Ví dụ, nhà cung cấp nội dung có thể quy định một công cụ AES, với các khối có kích thước 128 bit được yêu cầu để giải mật mã dòng video. Đầu cuối IPMP, nhận các thông tin công cụ này để có thể chọn một công cụ AES tối ưu từ các công cụ đã nhúng.
Mục này minh họa trật tự mô tả tham số. Không định nghĩa lược đồ cho một công cụ nào. Chỉ có một cấu trúc cơ bản xuất hiện trong phiên bản này, những hiệu năng tăng cường cho cấu trúc đó sẽ có trong các bản sửa đổi, bổ sung hoặc/và phiên bản mới của tiêu chuẩn này.
1. Chú giải tùy chọn
2. Phiên bản của cú pháp mô tả tham số
3. Lớp công cụ
Ví dụ Giải mật mã, bộ phân tích quyền ngôn ngữ (Rights Language Parser)
4. Lớp con của công cụ, sau đây là các ví dụ:
a. Đối với giải mã: AES, DES, NESSIE...
b. Đối với việc tạo dấu thủy vân: “Công cụ tạo dấu thủy vân của Panos”...
c. Đối với bộ phân tích quyền ngôn ngữ: “Fred’s Rights Parser”
d. Đối với bộ phân tích giao thức: “Mary's Protocol Parser”
5. Thông tin cụ thể cho lớp con cụ thể, ví dụ:
a. Đối với DES: số bit, khả năng giải mã dòng và/hoặc khối
b. Đối với bộ phân tích quyền ngôn ngữ: phiên bản
Mô tả tham số được xác định để mô tả tổng quan về kiểu của công cụ IPMP.
7.2.6.14.3.3.1 Cú pháp
7.2.6.14.3.3.2 Ngữ nghĩa
class - lớp công cụ được mô tả bởi các tham số, ví dụ: việc giải mã. subClass - là lớp con của công cụ, ví dụ AES ở dưới lớp giải mã.
typeData - quy định kiểu dữ liệu mô tả một loại công cụ cụ thể (ví dụ: chiều dài khối), ngoài ra còn để quy định công cụ giải mã AES. type - giá trị của kiểu dữ liệu ở trên, ví dụ giá trị 128 chỉ chiều dài khối. addedData - là dữ liệu bổ sung mô tả công cụ đó.
7.2.6.14.3.4 ByteArray
Mục con này quy định cú pháp và Ngữ nghĩa để mang một chuỗi/mảng các byte được sử dụng trong toàn bộ các quy định kỹ thuật của IPMP.
7.2.6.14.3.4.1 Cú pháp
7.2.6.14.3.4.2 Ngữ nghĩa
data - là chuỗi hoặc mảng các byte được mang.
7.2.6.14.4 Quá trình thực hiện của tổ chức đăng ký
CISAC sẽ phục vụ như Tổ chức Đăng ký JTC 1 cho IPMPS_Type như định nghĩa trong mục con này. Tổ chức đăng ký thực hiện nhiệm vụ tuân theo những quy định trong Phụ lục E của Chỉ thị JTC 1. IPMPS_Type đã được đăng ký gọi tắt là định danh đăng ký (RID).
Nhóm quản lý đăng ký (RMG) sẽ xem xét khiếu nại (khiếu nại này đã bị Tổ chức đăng ký từ chối) của các tổ chức về một RID trong mỗi gắn kết với bộ tiêu chuẩn TCVN 11795.
Phụ lục B cung cấp thông tin về thủ tục đăng ký một giá trị IPMPS_Type đơn nhất.
7.2.6.15 QoS_Description (Mô tả chất lượng dịch vụ)
7.2.6.15.1 Cú pháp
7.2.6.15.2 Ngữ nghĩa
Bộ mô tả chất lượng dịch vụ (QoS_descriptor) chứa các yêu cầu của ES trên kênh truyền tải và mô tả lưu lượng mà ES này sẽ tạo ra. Các giá trị định nghĩa trước được xác định; các giá trị tùy chỉnh có thể được sử dụng để thiết lập trường predefined về giá trị 0. predefined - là một giá trị khác 0 cho biết profile QoS định nghĩa như Bảng 10 sau đây.
Bảng 10 - Profile QoS định nghĩa trước
Giá trị định nghĩa trước | Mô tả |
0x00 | Tùy thích |
0x01 - 0xff | Dành riêng |
qualifier - là một mảng bao gồm một hoặc một số QoS_Qualifiers.
7.2.6.15.3 QoS_Qualifier (Bộ định tính chất lượng dịch vụ)
7.2.6.15.3.1 Cú pháp
7.2.6.15.3.2 Ngữ nghĩa
Các bộ định tính QoS được định nghĩa như các lớp dẫn xuất từ lớp QoS_Qualifier trừu tượng. Chúng được định danh bởi các thẻ lớp. Các giá trị cờ không sử dụng (0; 0x7F] bao gồm cả 0x7F) Được dành riêng cho ISO. Các thẻ có giá trị trong nửa khoảng (0x80, 0xFE] dành cho cá nhân sử dụng. Các giá trị 0x00 và 0xFF bị cấm.
MAX_DELAY - trễ tối đa từ đầu cuối tới đầu cuối đối với dòng, đơn vị là micro giây.
PREF_MAX_DELAY - trễ đầu cuối tới đầu cuối được ưu tiên cho dòng mã, đơn vị micro giây.
LOSS_PROB - xác suất được phép mất một AU đơn, có giá trị trong khoảng từ 0.0 đến 1.0.
MAX_GAP_LOSS - là số lượng các AU liên tiếp tối đa được phép mất.
MAX_AU_SIZE - kích thước tối đa của một AU, đơn vị byte.
AVG_AU_SIZE - kích thước trung bình của một AU, đơn vị byte.
MAX_AU_RATE - tốc độ đến tối đa của các khối AU, đơn vị AU/s
REBUFFERING_RATIO - tỷ lệ đầy của bộ đệm giải mã trong trường hợp tiền đệm hoặc tái đệm. Tỷ lệ này được biểu diễn dưới dạng %, với giá trị nguyên dương từ 0 đến 100.
7.2.6.15.3.2.1 Tái đệm
Trong trường hợp mô hình bộ giải mã hệ thống không thể được giám sát chặt chẽ. Ví dụ như trong trường hợp phục hồi tệp tin, khi đó dữ liệu được đẩy vào từ máy chủ từ xa qua mạng với hiệu năng không đoán được. Trong những trường hợp như thế thì tiền đệm và/hoặc tái đệm có thể được yêu cầu để có thể đạt chất lượng tốt hơn cho người sử dụng. Các trường hợp liên quan tới các máy chủ tạo dòng thời gian thực không thuộc loại này, do máy chủ tạo dòng có thể cung cấp nội dung theo lịch trình thích hợp.
Dòng cơ sở được tiền đệm khi bộ giải mã chờ bộ đệm giải mã được điền đầy đến ngưỡng trước khi bắt đầu tìm nạp dữ liệu từ dòng cơ sở đó.
Dòng cơ sở được tái đệm khi bộ giải mã ngừng tìm nạp dữ liệu từ bộ đệm giải mã và trước khi tiếp tục tìm nạp dữ liệu, trong khoảng thời gian chờ bộ đệm được điền đầy tới ngưỡng cho trước.
Để thông báo cho bộ thu về việc dòng cơ sở hiện tại yêu cầu tiền đệm và/hoặc tái đệm thì bộ định tính QoS_Qualifier_REBUFFERING_RATIO có thể được chứa trong bộ mô tả dòng cơ sở (xem 7.2.6.15.3.1). Nếu không có bộ định tính này thì mặc định là dòng cơ sở không yêu cầu tiền đệm hay tái đệm.
7.2.6.16 ExtensionDescriptor (Bộ mô tả mở rộng)
7.2.6.16.1 Cú pháp
7.2.6.16.2 Ngữ nghĩa
Lớp này là một lớp cơ sở trừu tượng, có thể được mở rộng để xác định các bộ mô tả bổ sung trong tương lai. Khoảng giá trị cờ lớp sẵn có cho phép ISO định nghĩa các mở rộng cũng như các mở rộng dành riêng. Bộ mô tả cho phép kết tập các lớp ExtensionDescriptor thì có thể kết tập bất kỳ một lớp nào là mở rộng ExtensionDescriptor. Các bộ mô tả mở rộng có thể bị đầu cuối bỏ qua nhưng vẫn phù hợp với tiêu chuẩn này.
7.2.6.17 Bộ mô tả việc đăng ký
Bộ mô tả việc đăng ký cung cấp một phương pháp duy nhất và rõ ràng để xác định các định dạng dòng dữ liệu riêng.
7.2.6.17.1 Cú pháp
7.2.6.17.2 Ngữ nghĩa
formatIdentifier - là một giá trị được Tổ chức Đăng ký cấp, ISO đã chỉ ra.
additionalIdentificationInfo - trường này (nếu có) được người thụ quyền formatIdentifier định nghĩa và khi đã được định nghĩa thì sẽ không thay đổi.
Bộ mô tả việc đăng ký được cung cấp dể cho phép người sử dụng tiêu chuẩn ISO/IEC 14496-1 sử dụng các luồng cơ sở với dữ liệu không phù hợp với chính tiêu chuẩn này. Quy định này cho phép ISO/IEC 14496-1 thực hiện các kiểu dòng dữ liệu trong khi vẫn cung cấp được cho công tác định danh các ký tự dòng dữ liệu cá nhân tầng dưới một cách rõ ràng.
Các mục con sau và Phụ lục B không bao gồm lợi ích và trách nhiệm của các bên đối với tổ chức đăng ký.
7.2.6.17.2.1 Quá trình thực hiện của tổ chức đăng ký (RA)
ISO/IEC JTC 1/SC 29 thông báo cho tất cả các tổ chức thành viên của ISO hoặc IEC để xác định tổ chức thích hợp có chức năng như một Tổ chức Đăng ký cho định danh định dạng sẽ được định nghĩa trong mục này. Tổ chức này sẽ có trách nhiệm thực hiện nhiệm vụ của mình tuân theo Phụ lục E của chỉ thị JTC 1. Định danh định dạng dữ liệu cá nhân được đăng ký sau đây gọi tắt là định danh đăng ký (RID).
Khi lựa chọn Tổ chức đăng ký, JTC 1 phải yêu cầu tạo nhóm quản lý đăng ký (RMG) để xem xét các khiếu nại (đã bị Tổ chức đăng ký từ chối) gửi từ các tổ chức về một RID được sử dụng trong mối liên kết với tiêu chuẩn ISO/IEC 14496-1.
Phụ lục B cung cấp thông tin về thủ tục đăng ký một định danh định dạng đơn nhất.
7.2.6.18 Bộ mô tả thông tin nội dung đối tượng
7.2.6.18.1 Tổng quan
Mục con này định nghĩa các bộ mô tả cấu thành thông tin nội dung đối tượng. Những bộ mô tả này có thể nằm trong một OCI_Event thuộc dòng OCI hoặc là một phần của bộ mô tả đối tượng hoặc ES_Descriptor như định nghĩa trong 7.2.6.
7.2.6.18.2 Lớp OCI_Descriptor
7.2.6.18.2.1 Cú pháp
7.2.6.18.2.2 Ngữ nghĩa
Lớp này là một lớp cơ sở trừu tượng, nó được mở rộng bởi các lớp được quy định trong các mục tiếp theo. Bộ mô tả hoặc OCI_Event cho phép kết tập các lớp kiểu OCI_Descriptor thì có thể kết tập bất kỳ một lớp nào là OCI_Descriptor mở rộng.
7.2.6.18.3 Bộ mô tả việc phân lớp nội dung
7.2.6.18.3.1 Cú pháp
7.2.6.18.3.2 Ngữ nghĩa
Bộ mô tả phân lớp nội dung cung cấp một hoặc một số lớp thông tin sự kiện. Trường classificationEntity cho biết việc tổ chức phân loại nội dung. Các giá trị có thể có phải được đăng ký với một Tổ chức quan đăng ký xác định.
classificationEntity - cho biết thực thể phân loại nội dung. Các giá trị của trường này do tổ chức đăng ký định nghĩa và được định danh.
classificationTable - cho biết bảng phân lớp được sử dụng. Việc phân lớp được định nghĩa bởi thực thể phân lớp tương ứng. 0x00 là giá trị dành riêng,
contentClassificationData [ ] - là mảng chứa tập dữ liệu phân lớp bằng cách sử dụng bảng phân lớp.
7.2.6.18.4 Bộ mô tả từ khóa
7.2.6.18.4.1 Cú pháp
7.2.6.18.4.2 Ngữ nghĩa
Bộ mô tả từ khóa cho phép bên tạo/cung cấp OCI đưa ra tập các từ khóa điển hình cho nội dung. Lựa chọn từ khóa là hoàn toàn tự do nhưng mỗi lần bộ mô tả từ khóa xuất hiện thì tất cả các từ khóa đều xuất hiện đối với một ngôn ngữ được chỉ ra trong trường languageCode. Tức là, với sự kiện đang xảy ra, bộ mô tả từ khóa phải xuất hiện với số lần bằng với số ngôn ngữ mà những từ khóa đó được cung cấp.
languageCode - chứa chữ cái đại diện cho ngôn ngữ theo tiêu chuẩn ISO 639-2:1998.
isUTF8_string - cho biết chuỗi tiếp theo được mã hóa với một byte/ký tự (UTF-8). Nếu không thì 2byte/ký tự. keyWordCount - cho biết số từ khóa được cung cấp. keyWordLength - quy định chiều dài mỗi từ khóa, đơn vị ký tự. keyword [ ] - chuỗi được mã hóa bằng mã thống nhất theo tiêu chuẩn ISO/IEC 10646-1, chuỗi này quy định từ khóa.
7.2.6.18.5 Bộ mô tả phân loại
7.2.6.18.5.1 Cú pháp
7.2.6.18.5.2 Ngữ nghĩa
Bộ mô tả này đưa ra một hoặc một số loại, bắt đầu từ các thực thể xếp loại tương ứng, có hiệu lực trong phạm vi quốc gia. Trường ratingEntity cho biết tổ chức phân loại nội dung. Các giá trị có thể có phải được đăng ký với một tổ chức đăng ký có thẩm quyền. Tổ chức này phải công bố Ngữ nghĩa của bộ mô tả cấp bậc này.
ratingEntity - cho biết bộ phận xếp loại. Giá trị của trường này phải được định nghĩa bởi tổ chức đăng ký có thẩm quyền.
ratingCriteria - cho biết tiêu chí phân loại được sử dụng để phân loại đối tượng tương ứng. Giá trị 0x00 Được dành riêng, ratingInfo [ ] - mảng này chứa thông tin phân loại.
7.2.6.18.6 Bộ mô tả ngôn ngữ
7.2.6.18.6.1 Cú pháp
7.2.6.18.6.2 Ngữ nghĩa
Bộ mô tả này xác định ngôn ngữ của đối tượng là thoại/âm thanh hoặc văn bản sẽ được mô tả.
languageCode - chứa ba chữ cái đại diện cho ngôn ngữ theo tiêu chuẩn ISO 639-2:1998 tương ứng với các đối tượng là văn bản/thoại/audio sẽ được mô tả.
7.2.6.18.7 Bộ mô tả văn bản ngắn
7.2.6.18.7.1 Cú pháp
7.2.6.18.7.2 Ngữ nghĩa
Bộ mô tả văn bản ngắn cung cấp tên của sự kiện và mô tả ngắn gọn về sự kiện dưới dạng văn bản.
languageCode - chứa ba chữ cái đại diện cho ngôn ngữ theo tiêu chuẩn ISO 639-2:1998 của các trường văn bản dưới đây.
isUTF8_string - cho biết chuỗi tiếp theo được mã hóa với một byte/ký tự (UTF-8). Nếu không thì sẽ được mã hóa bằng hai byte/ký tự. nameLength - quy định độ dài của tên sự kiện (đơn vị ký tự). textLength - quy định chiều dài văn bản mô tả sự kiện trong trường tiếp theo đây (đơn vị ký tự). eventText [ ] - chuỗi được mã hóa bằng mã thống nhất theo tiêu chuẩn ISO/IEC 10646-1, chuỗi này quy định việc mô tả bằng văn bản cho sự kiện.
7.2.6.18.8 Bộ mô tả văn bản mở rộng
7.2.6.18.8.1 Cú pháp
7.2.6.18.8.2 Ngữ nghĩa
Bộ mô tả văn bản mở rộng mô tả chi tiết một sự kiện, có thể được sử dụng bổ sung hoặc độc lập với bộ mô tả sự kiện ngắn. Ngoài văn bản trực tiếp, thông tin có cấu trúc từng cặp (mô tả và văn bản) có thể được cung cấp. Ví dụ: có một danh sách “bị loại”, trường mô tả hạng mục có thể là “nhà sản xuất” và trường hạng mục là tên của “nhà sản xuất” đó.
languageCode - chứa ba chữ cái đại diện cho ngôn ngữ của các trường văn bản sau đây, ba chữ cái tuân theo tiêu chuẩn ISO 639-2:1998.
isUTF8_string - cho biết chuỗi tiếp theo được mã hóa với 1 byte/ký tự (UTF-8). Nếu không thì được mã hóa bằng 2 byte/ký tự.
itemCount - quy định số hạng mục theo sau (văn bản theo hạng mục - itemised text).
itemDescriptionLength - quy định chiều dài của mô tả hạng mục (đơn vị ký tự). itemDescription [ ] - chuỗi được mã hóa bằng mã thống nhất theo tiêu chuẩn ISO/IEC 10646-1, quy định mô tả hạng mục. itemLength - quy định chiều dài của văn bản hạng mục (đơn vị là ký tự). itemText [ ] - là chuỗi được mã hóa bằng mã thống nhất theo tiêu chuẩn ISO/IEC 10646-1, quy định văn bản hạng mục. textLength - quy định chiều dài của văn bản mở rộng không theo hạng mục. Giá trị 255 được sử dụng như là một mã thoát và theo sau bởi một trường textLength khác, trường này quy định chiều dài (đơn vị byte) lớn hơn 255. Với những chiều dài lớn hơn 511, trường thứ ba được sử dụng và cứ như thế.
nonItemText [ ] - chuỗi được mã hóa bằng mã thống nhất theo tiêu chuẩn ISO/IEC 10646-1, quy định phần văn bản mở rộng không theo hạng mục.
7.2.6.18.9 Bộ mô tả tên bộ tạo nội dung
7.2.6.18.9.1 Cú pháp
7.2.6.18.9.2 Ngữ nghĩa
Bộ mô tả tên bộ tạo nội dung cho biết tên của một hoặc một số bộ tạo nội dung. Mỗi tên bộ tạo nội dung có thể ở các dạng ngôn ngữ khác nhau. contentCreatorCount - cho biết số lượng tên bộ tạo nội dung được cung cấp.
languageCode - chứa ba chữ cái đại diện cho ngôn ngữ của các trường tuân theo tiêu chuẩn ISO 639-2:1998,. Chú ý, các ngôn ngữ chỉ sử dụng ký tự la-tinh, chỉ cần một byte cho một ký tự (mã thống nhất (O/IEC 10646-1).
isUTF8_string - cho biết chuỗi tiếp theo được mã hóa với một byte/1 ký tự. Nếu không thì sẽ là 2byte/ký tự. contentCreatorLength [ [i] ] - quy định chiều dài của mỗi tên bộ tạo nội dung (đơn vị là ký tự).
7.2.6.18.10 Bộ mô tả ngày tạo nội dung
7.2.6.18.10.1 Cú pháp
7.2.6.18.10.2 Ngữ nghĩa
Bộ mô tả này xác định ngày tạo ra nội dung.
contentCreationDate - chứa ngày tạo nội dung dữ liệu tương ứng với sự kiện đang nghi vấn, giờ quốc tế, theo thời gian phối hợp quốc tế (UTC) và thời gian Julian điều chỉnh (MJD) (Xem phụ lục A). Trường này được mã hóa như sau: 16 bit ít quan trọng là mã hóa MJD, tiếp theo là 24 bit, cứ 6 thì được mã hóa bằng 4 bít BCD. Nếu ngày tạo nội dung không được định nghĩa thì tất cả các bít được thiết lập là 1.
7.2.6.18.11 Bộ mô tả tên bộ tạo OCI
7.2.6.18.11.1 Cú pháp
7.2.6.18.11.2 Ngữ nghĩa
Tên của bộ mô tả bộ tạo OCI là tên của các bộ tạo việc mô tả OCI. Tên của các bộ tạo có thể sử dụng ngôn ngữ khác nhau.
OCICreatorCount - cho biết số bộ tạo OCI.
languageCode [ [i] ] - chứa ba chữ cái đại diện cho ngôn ngữ của các trường văn bản tuân theo tiêu chuẩn ISO 639-2:1998.
isUTF8_string - cho biết chuỗi tiếp theo được mã hóa với một bit/ký tự (UTF-8). Nếu không sẽ là 2 bit/ký tự.
OCICreatorLength [ [i] ] - quy định chiều dài tên của mỗi bộ tạo OCI (đơn vị là ký tự)
OCICreatorName [ [i] ] - chuỗi được mã hóa bằng mã thống nhất theo tiêu chuẩn ISO/IEC 10646-1, quy định tên bộ tạo OCI.
7.2.6.18.12 Bộ mô tả ngày tạo OCI
7.2.6.18.12.1 Cú pháp
7.2.6.18.12.2 Ngữ nghĩa
Bộ mô tả này xác định ngày tạo mô tả OCI.
OCICreationDate - trường 40 bit chứa ngày tạo OCI đối với dữ liệu OCI tương ứng với sự kiện đang quan tâm, theo thời gian phối hợp quốc tế (UTC) và thời gian Julian điều chỉnh (MJD) (Xem phụ lục A). Trường này được mã hóa như sau: 16 bit ít quan trọng là mã hóa MJD, tiếp theo là 24 bit, cứ 6 thì được mã hóa bằng 4 bít BCD. Nếu ngày tạo OCI không được định nghĩa thì tất cả các bít của trường này được thiết lập là 1.
7.2.6.18.13 Bộ mô tả vị trí máy quay SMPTE
7.2.6.18.13.1 Cú pháp
7.2.6.18.13.2 Ngữ nghĩa
Bộ mô tả siêu dữ liệu SMPTE cung cấp siêu dữ liệu được định nghĩa bởi chuẩn SMPTE 315M “thông tin vị trí camera được truyền tải trong các gói dữ liệu phụ trợ”. SMPTE 315M định nghĩa các ID và định dạng dữ liệu cho các tham số sau:
- Vị trí tương đối của camera;
- Chuyển động quay quanh trục đứng của camera;
- Độ nghiêng của camera;
- Quay tròn của camera;
- Gốc của kinh độ;
- Gốc vĩ độ;
- Gốc chiều cao;
- Góc nhìn thẳng đứng;
- Khoảng cách lấy nét;
- Độ mở của ống kính (màn sập hoặc giá trị F);
- Thông tin địa chỉ thời gian;
- Vị trí tương đối của đối tượng;
- cameraID - chứa b(0-7) của C-ID của UDW trong Hình 6 -;
- parameterCount - quy định số tham số và bằng (đếm dữ liệu (DC) - 18)/5;
- parameterID - chứa b(0-7) ID thứ n của UDW;
- parameter - chứa tham số thứ n của UDW ((b(0-7) của mỗi từ).
7.2.6.18.13.3 Cấu trúc gói được định nghĩa bởi SMPTE 315M
Gói dữ liệu phụ trợ và định dạng khoảng trống được định nghĩa bởi ANSI/SMPTE 291M. SMPTE 315M là một định dạng đăng ký cho ứng dụng điển hình của không gian dữ liệu người dùng được 291M định nghĩa. Cấu trúc nhị phân của các gói dữ liệu về vị trí camera được mô tả trong SMPTE 315M, như Hình 6 -.
Hình 6 - Các gói dữ liệu chỉ vị trí camera ở dạng nhị phân (SMPTE 315M)
Dữ liệu phụ trợ được định nghĩa bởi các từ 10 bit. B (0-7), b8, b9 biểu diễn dữ liệu thực, thậm chí chẵn lẻ đối với các bít từ 0-7 và ngoại trừ ADF tương ứng bit 8 không chẵn lẻ.
ADF | Cờ dữ liệu phụ trợ (000 h, 3ff h, 3ff h) |
DID | Từ định danh dữ liệu (2f0 h) |
DBN | Từ chỉ số khối dữ liệu |
DC | Từ đếm dữ liệu |
UDW | Các từ dữ liệu người sử dụng (lên tới 255 từ) |
LABEL | Nhãn SMPTE cho siêu dữ liệu của lớp “thông tin vị trí camera” (16 từ) |
FORM | Từ cờ chỉ báo kiểu dữ liệu (1 từ) |
C-ID: | Từ chỉ báo camera (1 từ) |
IDn | Từ chỉ báo tham số (1 từ cho mỗi tham số) |
Tham số n | Các từ chỉ báo tham số (4 từ cho mỗi tham số) |
CS | Kiểm tra tổng |
4 từ nhãn LABEL(8-11) của LABEL(0-15) sẽ được thiết lập ‘C’, ‘A’, ‘P’, ‘O’. Từ cờ chỉ báo kiểu dữ liệu (FORM) cho biết kiểu dữ liệu của từ chỉ báo camera (C-ID), từ chỉ báo tham số (Idn) và từ dữ liệu tham số (tham số n) thuộc gói này. Trong trường hợp dữ liệu vị trí camera kiểu nhị phân FORM (0-1) sẽ được thiết lập 0 h.
7.2.6.18.14 Bộ mô tả phân đoạn
7.2.6.18.14.1 Cú pháp
7.2.6.18.14.2 Ngữ nghĩa
Bộ mô tả phân đoạn định nghĩa các đoạn được gán nhãn trong dòng đa phương tiện có chú ý đến các mốc thời gian đa phương tiện. Một phân đoạn đối với một dòng đa phương tiện cho trước được khai báo bằng cách truyền tải bộ mô tả đoạn với các giá trị thích hợp như là một phần của bộ mô tả đối tượng khai báo dòng đa phương tiện này. Ngược lại, khi bộ mô tả phân đoạn còn thuộc trong bộ mô tả đối tượng thì nó tham chiếu tới tất cả các dòng đa phương tiện trong bộ mô tả đối tượng đó. Các đoạn có thể được tham chiếu từ mô tả cảnh thông qua các trường url của các nút đa phương tiện.
Để sử dụng các bộ mô tả phân đoạn cho việc khai báo các đoạn trong một dòng đa phương tiện thì cần phải thiết lập các mốc thời gian. Mốc thời gian đa phương tiện của dòng đa phương tiện có thể được định nghĩa thông qua sử dụng bộ mô tả thời gian đa phương tiện (xem 7.2.6.18.15.1). Nếu không được định nghĩa rõ ràng thì thời gian đa phương tiện của đơn vị tổng hợp đầu tiên của dòng đa phương tiện được giả định là 0. Trong các ứng dụng có hỗ trợ truy cập ngẫu nhiên tới dòng đa phương tiện thì mốc thời gian đa phương tiện không được định nghĩa trừ khi cơ chế bộ mô tả thời gian đa phương tiện được sử dụng.
start - quy định thời gian (đơn vị s) bắt đầu phân đoạn trong dòng đa phương tiện.
duration - quy định độ dài phân đoạn (đơn vị s). Giá trị âm biểu thị khoảng vô hạn.
SegmentNameLength - chiều dài của trường segmentName (đơn vị là ký tự).
segmentName - chuỗi được mã hóa kiểu Unicode, chuỗi này gán nhãn phân đoạn. Ký tự đầu tiên của segmentName phải là ký tự thuộc bảng chữ cái, các ký tự sau có thể khác như _,-, hoặc ký tự khoảng cách.
7.2.6.18.15 MediaTimeDescriptor
7.2.6.18.15.1 Cú pháp
7.2.6.18.15.2 Ngữ nghĩa
Bộ mô tả thời gian đa phương tiện truyền tải nhãn thời gian đa phương tiện. Bộ mô tả này thiết lập liên kết giữa gốc thời gian đối tượng và mốc thời gian đa phương tiện của dòng đa phương tiện. Bộ mô tả này sẽ chỉ được truyền tải trong dòng OCI. Các trường startingTime, absoluteTimeFlag và duration của sự kiện OCI mang bộ mô tả này sẽ được thiết lập là 0. Sự liên kết giữa dòng OCI và dòng đa phương tiện tương ứng được định nghĩa bởi một bộ mô tả đối tượng, nó kết tập tất cả các bộ mô tả ES cho cả hai dòng (xem 7.2).
mediaTimeStamp - nhãn thời gian cho biết thời gian đa phương tiện (MT, s) của dòng đa phương tiện liên kết tương ứng với thời gian tổng hợp(CT) của đơn vị truy cập truyền tải bộ mô tả thời gian đa phương tiện. Các giá trị thời gian đa phương tiện MT(AUn) của các đơn vị truy cập khác thuộc dòng đa phương tiện này có thể được tính toán từ thời gian sắp xếp CT(Aun) cho đơn vị truy cập đó, tính toán theo công thức sau:
MT(AUn) = CT(AUn) - CT + MT
Trong đó, MT và CT tương ứng là giá trị mediaTimeStamp và compositionTimeStamp (đơn vị s), đối với đơn vị truy cập chứa bộ mô tả thời gian đa phương tiện.
CHÚ THÍCH: khi bộ mô tả thời gian đa phương tiện được sử dụng để liên kết mốc thời gian đa phương tiện với dòng đa phương tiện, khái niệm “thời gian đa phương tiện 0” không nhất thiết tương ứng với “phần đầu của dòng mã”.
7.2.6.19 Bộ mô tả mức Profile mở rộng
7.2.6.19.1 Cú pháp
7.2.6.19.2 Ngữ nghĩa
ExtensionProfileLevelDescriptor truyền tải thông tin mở rộng về profile và mức. Bộ mô tả này được sử dụng để báo hiệu tập chỉ báo profile và mức và chỉ số đơn nhất của nó và có thể được mở rộng bởi ISO để báo hiệu tập các mức và profile trong tương lai.
profileLevelIndicationIndex - là định danh đơn nhất cho tập các chỉ báo về profile và mức trong bộ mô tả này trong phạm vi tên được định nghĩa bởi IOD.
ODProfileLevelIndication - là một chỉ báo về profile và mức được yêu cầu để xử lý các dòng bộ mô tả đối tượng có liên kết với InitialObjectDescriptor chứa bộ mô tả về mức và Profile Mở rộng.
sceneProfileLevelIndication - là chỉ báo về mức và profile được yêu cầu để xử lý các nút đồ họa cảnh trong các dòng mô tả cảnh có liên kết với InitiaiobjectDescriptor chứa bộ mô tả mức và profile mở rộng này.
audioProfileLevelIndication - là chỉ báo của mức và tập hợp tích được yêu cầu để xử lý các dòng audio liên kết với InitiaiobjectDescriptor chứa bộ mô tả Mức và Profile Mở rộng này.
visualProfileLevelIndication - là chỉ báo về mức và tập hợp tích được yêu cầu để xử lý các dòng ảnh liên kết với InitialObjectDescriptor chứa bộ mô tả Mức và Profile Mở rộng này.
graphicsProfileLevelIndication - là chỉ báo của mức và tập hợp tích được yêu cầu để xử lý các nút đồ họa trong các dòng mô tả cảnh liên kết với InitialObjectDescriptor chứa bộ mô tả Mức và Profile Mở rộng này.
MPEGJProfileLevelIndication - là chỉ báo được định nghĩa trong Bảng 11 của mức và profile MPEG-J được yêu cầu để xử lý nội dung liên kết với InitialObjectDescriptor chứa bộ mô tả profile và mức mở rộng này.
Bảng 11 - Các giá trị định danh mức profile MPEGJ
Giá trị | Profile | Mức |
0x00 | Dành riêng cho ISO sử dụng | - |
0x01 | Thuộc tính cá nhân | L1 |
0x02 | Thuộc tính chính | L1 |
0x03-0x7F | Dành riêng cho ISO sử dụng | - |
0x80-0xFD | Cá nhân sử dụng | - |
0xFE | Không yêu cầu thuộc tính của MPEG-J | - |
0xFF | Không yêu cầu khả năng của MPEG-J | - |
CHÚ THÍCH: việc sử dụng giá trị 0xFE có thể cho biết nội dung được mô tả bởi InitialObjectDescriptor này không tuân thủ quy định của ISO/IEC 14496-1. |
TextProfileLevelIndication - là chỉ báo được định nghĩa trong Bảng 12 về mức và Profile văn bản được quy định trong ISO/IEC 14496-18, được yêu cầu để xử lý nội dung có liên kết với InitialObjectDescriptor chứa bộ mô tả mức và Profile văn bản này.
Bảng 12 - Các giá trị định danh mức profile TextProfileLevelIndication
Giá trị | Profile | Mức |
0x00 | Được dành riêng cho ISO sử dụng | - |
0x01 | Tập hợp văn bản mẫu | L1 |
0x02 | Tập hợp văn bản mẫu | L2 |
0x03 | Tập hợp văn bản mẫu | L3 |
0x04 | Tập hợp văn bản mẫu được tăng cường | L1 |
0x05 | Tập hợp văn bản mẫu được tăng cường | L2 |
0x06 | Tập hợp văn bản mẫu được tăng cường | L3 |
0x07 | Profile văn bản chính | L1 |
0x08 | Profile văn bản chính | L2 |
0x09 | Profile văn bản chính | L3 |
0x0A-0x7F | Được dành riêng cho ISO sử dụng | - |
0x80-0xFD | Người dùng riêng | - |
0xFE | Không có profile văn bản nào được quy định | - |
0xFF | Khả năng chẻ nhỏ văn bản không được yêu cầu | - |
CHÚ THÍCH: việc sử dụng giá trị 0xFE có thể cho biết nội dung được mô tả bởi InitiafObjectDescriptor này không tuân thủ quy định của ISO/IEC 14496-1. |
3DCProfileLevelIndication - chỉ báo mức và profile nén 3D quy định trong in ISO/IEC 14496-16 và được yêu cầu để xử lý nội dung liên kết với InitialObjectDescriptor chứa bộ mô tả profile và mức nén 3D này.
7.2.6.20 Bộ mô tả chỉ số chỉ báo mức Profile
7.2.6.20.1 Cú pháp
7.2.6.20.2 Ngữ nghĩa
profileLevelIndicationIndex - một định danh đơn nhất cho tập các chỉ báo mức và profile mà bộ mô tả này miêu tả, trong trong phạm vi tên được xác định bởi IOD.
7.2.7 Các quy tắc sử dụng cấu trúc mô tả đối tượng
7.2.7.1 Thỏa thuận của các Bộ mô tả dòng cơ bản trong một Bộ mô tả đối tượng đơn
7.2.7.1.1 Tổng quan
Bộ mô tả đối tượng phải kết tập các bộ mô tả cho tập các dòng cơ sở được dự kiến liên kết với một nút đơn của mô tả cảnh và nó thường có liên quan tới đối tượng âm thanh, hình ảnh đơn. Tập các dòng có thể truyền tải trình diễn nội dung có thể co giãn cũng như các trình diễn nội dung thay thế khác, ví dụ như đa thuộc tính hoặc đa ngôn ngữ. Các dòng bổ sung cùng với IPMP và thông tin nội dung đối tượng có thể được đính kèm.
Những tùy chọn này được mô tả bởi các phần tử cú pháp trong bộ mô tả ES: streamDependenceFlag, dependsOn_ES_ID, cũng như streamType. Quy tắc Ngữ nghĩa cho việc kết tập các bộ mô tả dòng cơ sở trong một bộ mô tả đối tượng được quy định trong mục này.
7.2.7.1.2 Việc kết tập các dòng cơ sở có kiểu dòng giống nhau
Một OD có thể kết tập nhiều bộ mô tả ES có cùng trường streamType là visualStream, audioStream hoặc SceneDescriptionStream. Tuy nhiên, các bộ mô tả cho các dòng có kiểu dòng là hai trong ba kiểu nêu trên thì không được kết tập trong một OD.
7.2.7.1.3 Việc kết tập các dòng cơ sở có kiểu dòng khác nhau
Trong các trường hợp, những ES có streamType khác nhau cũng có thể được kết tập:
- Một OD có thể kết tập một bộ mô tả ES có trường streamType = ObjectContentInfoStream (xem 7.2.4.2). ObjectContentInfoStream này sẽ có hiệu lực đối với nội dung được truyền tải qua các dòng mô tả âm thanh, hình ảnh hoặc cảnh khác. Các bộ mô tả đó được kết tập trong một OD.
- Một OD có thể kết tập thêm một bộ mô tả ES với trường streamType = ClockReferenceStream (xem 7.3.2.5). ClockReferenceStream này sẽ có hiệu lực đối với ES trong không gian tên tham chiếu đến ES_ID của nó trong Bộ mô tả cấu hình SL.
- Một OD có thể kết tập thêm một số Bộ mô tả ES có trường streamType = IPMPStream (xem 7.2.3.2). IPMPStream có hiệu lực đối với nội dung được truyền tải qua các dòng (dòng mô tả âm thanh, hình ảnh hoặc cảnh), các dòng này có bộ mô tả được tập hợp trong OD này.
7.2.7.1.4 Sự kết tập dòng mô tả cảnh và dòng bộ mô tả đối tượng
Một bộ mô trả đối tượng kết tập một số Bộ mô tả ES có trường streamType = SceneDescriptionStream thì có thể kết tập thêm các bộ mô tả ES có trường streamType = ObjectDescriptorStream, nếu trường streamType có giá trị khác thì sẽ không được kết tập.
Điều đó có nghĩa là các dòng mô tả cảnh và các dòng bộ mô tả đối tượng luôn được kết hợp trong một bộ mô tả đối tượng. Sự phụ thuộc giữa những dòng này được định nghĩa trong 7.2.7.1.5.2.
7.2.7.1.5 Những lệ thuộc của dòng cơ sở
7.2.7.1.5.1 Dòng cơ sở độc lập
Các bộ mô tả ES trong một OD với trường streamType giống nhau, là audioStream, visualStream hoặc SceneDescriptionStream và cờ streamDependenceFlag=0 tham chiếu đến các dòng cơ sở độc lập. Những dòng cơ sở độc lập này phải truyền tải các trình diễn thay thế cho cùng một nội dung. Chỉ một trong những trình diễn này được lựa chọn sử dụng trong cảnh.
CHÚ THÍCH: các ES độc lập nên được sắp xếp trong một OD tuân theo sự xuất hiện của bộ tạo nội dung. ES xuất hiện đầu tiên trong danh sách ES được kết tập trong một bộ mô tả đối tượng thì được ưa chuộng hơn các ES sau đó. Tuy nhiên trong các dòng âm thanh việc lựa chọn nên dựa theo ngôn ngữ phù hơn cho đầu cuối thu.
7.2.7.1.5.2 Dòng cơ sở phụ thuộc
Các bộ mô tả ES trong một OD có trường kiểu dòng giống nhau, là audioStream, visualStream, SceneDescriptionStream hoặc ObjectDescriptorStream và có streamDependenceFlag=1 tham chiếu tới các dòng cơ sở phụ thuộc. ES_ID của dòng mà các dòng cơ sở khác phụ thuộc được chỉ ra bởi trường dependsOn_ES_ID. Bộ mô tả ES có ES_ID này nên được kết tập vào cùng một OD. Một dòng cơ sở độc lập sử dụng một bộ mô tả đối tượng, tất cả các dòng cơ sở phụ thuộc vào nó có thể được lựa chọn sử dụng đồng thời trong một cảnh.
Tính phụ thuộc của dòng bị chi phối bởi các quy tắc sau:
- Nếu ES phụ thuộc có trường streamType là dòng âm thanh hoặc dòng hình ảnh thì ES đó phải có cùng một streamType với ES mà nó phụ thuộc. Tức là dòng phụ thuộc chứa thông tin tăng cường cho dòng mà nó phụ thuộc. Từ phụ thuộc trong lớp này có nghĩa không rõ ràng.
- Nếu ES có trường streamType là dòng mô tả cảnh chỉ phụ thuộc vào một ES có trường streamType là SceneDescriptionStream hoặc ObjectDescriptorStream.
+ Lệ thuộc vào một ObjectDescriptorStream có nghĩa là ObjectDescriptorStream chứa các bộ mô tả đối tượng mà SceneDescriptionStream tham chiếu tới.
+ Lệ thuộc vào SceneDescriptionStream có nghĩa là dòng phụ thuộc chứa thông tin tăng cường cho dòng mà nó phụ thuộc. SceneDescriptionStream phụ thuộc phải phụ thuộc vào cùng một ObjectDescriptorStream mà SceneDescriptionStream khác phụ thuộc.
- Một ES với trường streamType là ObjectDescriptionStream thì sẽ chỉ phụ thuộc vào một ES với streamType là SceneDescriptionStream hoặc ObjectDescriptorStream.
+ Phụ thuộc vào SceneDescriptorStream tức là phải có một hoặc một số ES có streamType là SceneDescriptionStream và nó phụ thuộc vào ObjectDescriptorStream này.
+ Phụ thuộc vào ObjectDescriptionStream có nghĩa là dòng phụ thuộc chứa các bộ mô tả đối tượng bổ sung, các bộ mô tả này có thành phần cấu thành là trình diễn mà các luồng mô tả cảnh mô tả, các luồng này lại được kết tập trong cùng một bộ mô tả đối tượng.
- Một ES ở dòng lên (trường DecoderConfigDescriptor.upStream = 1) phải luôn phụ thuộc vào một ES khác có cờ upStream thiết lập là 0. Tức là dòng lên này được liên kết với một dòng xuống mà nó phụ thuộc. Nếu dòng xuống là một ObjectDescriptorStream hoặc SceneDescriptionStream thì dòng lên phải được liên kết với tất cả các dòng xuống kiểu ObjectDescriptorStream hoặc SceneDescriptionStream.
- Nếu không sẵn có bộ mô tả ES của dòng mà nó phụ thuộc thì tính sẵn có luồng phụ thuộc cũng không xác định được.
7.2.7.2 Liên kết việc mô tả cảnh và các bộ mô tả đối tượng
7.2.7.2.3 Tính gắn kết các bộ mô tả đối tượng với các điểm BIFS
Một số nút BIFS chứa một trường url. Những nút được liên kết tới các nguồn dòng cơ sở của chúng thông qua bộ mô tả đối tượng. Liên kết này được thiết lập bởi objectDescriptorID như được quy định trong ISO/IEC 14496-11. Phạm vi tên đối với ID này được quy định trong 7.2.7.2.4.
Mỗi nút BIFS yêu cầu một kiểu dòng (âm thanh, hình ảnh, mô tả cảnh trực tiếp,...) cho các dòng cơ sở liên kết. Bộ mô tả đối tượng liên kết phải chứa các bộ mô tả ES với kiểu dòng này. Hành vi của đầu cuối không được xác định nếu bộ mô tả đối tượng chứa các bộ mô tả ES với kiểu dòng không phù hợp với nút BIFS liên kết đó. Chú ý rằng các câu lệnh được thêm vào hoặc bị gỡ bỏ khỏi các bộ mô tả đối tượng không cần cùng một thời gian với việc thêm hoặc gỡ bỏ các nút BIFS trong mô tả cảnh có tham chiếu đến các bộ mô tả đối tượng đó. Tuy nhiên, hành vi của đầu cuối xác định được nếu nút BIFS trong mô tả cảnh tham chiếu đến bộ mô tả đối tượng không còn hiệu lực.
Tại các thời điểm bộ mô tả đối tượng không sẵn có ở đầu cuối thì đầu cuối phải vận hành như là URL đang tham chiếu tới bộ mô tả đối tượng trống. Trong trường hợp các dòng hình ảnh mà bộ mô tả đối tượng đã bị xóa, đầu cuối phải trả về đơn vị tổng hợp sau cùng trong cảnh.
7.2.7.2.4 Mô tả đa cảnh và các dòng mô tả đối tượng
Một bộ mô tả đối tượng được liên kết với một nút inline của mô tả cảnh hoặc biểu diễn truy nhập nội dung phù hợp với bộ tiêu chuẩn TCVN 11795 (bộ mô tả đối tượng đầu tiên), thì tối thiểu phải kết tập một dòng mô tả cảnh và dòng bộ mô tả đối tượng tương ứng (nếu các dòng bổ sung cần được tham chiếu).
Tuy nhiên, cho phép chia cả mô tả cảnh và bộ mô tả đối tượng thành nhiều dòng. Cho phép băng thông co giãn giải mã mô tả cảnh. Mỗi dòng phải chứa chuỗi các đơn vị truy cập có hiệu lực như định nghĩa trong ISO/IEC 14496-11 và 7.2.5.2. Tất cả các dòng mô tả cảnh và dòng bộ mô tả đối tượng thu được phải duy trì tập hợp trong một bộ mô tả đối tượng đơn. Cơ chế độc lập phải được sử dụng để cho biết các dòng đó phụ thuộc lẫn nhau như thế nào.
Tất cả các dòng phải tiếp tục được xử lý bởi tiến trình giải mã bộ mô tả đối tượng và mô tả cảnh đơn. Các nhãn thời gian của các đơn vị truy cập trong các dòng khác nhau phải được sử dụng để thiết lập lại thứ tự các đơn vị truy cập như ban đầu.
CHÚ THÍCH: Hình thức phân vùng của các dòng mô tả cảnh và bộ mô tả đối tượng thành nhiều dòng bị mở trong bản thân mô tả cảnh.
7.2.7.2.5 Cảnh và mô tả đối tượng trong các trường hợp các điểm trực tiếp (các điểm thẳng hàng)
Mô tả cảnh BIFS cho phép phân vùng đệ quy một cảnh thông qua việc sử dụng các nút inline (xem ISO/IEC 14496-11). Mỗi nút inline được liên kết tới một bộ mô tả đối tượng, nó trỏ đến ít nhất một dòng mô tả cảnh bổ sung cũng như dòng bộ mô tả đối tượng khác (nếu các dòng cơ sở bổ sung cần được tham chiếu). Ví dụ về mô tả cảnh có phân cấp trong 7.2.7.3.8.2.
7.2.7.2.6 Phạm vi tên của các định danh
Phạm vi của các định danh objectDescriptorID, ES_ID và IPMP_DescriptorID tương ứng gán nhãn các bộ mô tả đối tượng, bộ mô tả dòng cơ sở và bộ mô tả IPMP tương ứng như được định nghĩa trong phần sau. Định nghĩa này dựa trên việc hạn chế mô tả cảnh liên quan và các dòng bộ mô tả đối tượng phải luôn được kết tập trong một bộ mô tả đối tượng đơn, quy định trong 7.2.7.1.4. Những quy tắc xác định phạm vi tên như sau:
- Hai định danh liên quan cảnh (objectDescriptorID, nodeID , ROUTEID or protoID) thuộc cùng một phạm vi tên nếu và chỉ nếu những định danh này xuất hiện trong những dòng cơ sở với kiểu luồng streamType là ObjectDescriptorStream hoặc SceneDescriptionStream và được kết hợp trong một bộ mô tả đối tượng khởi đầu hoặc trong một bộ mô tả đối tượng đơn liên kết với một nút inline.
- Hai định danh có liên quan đến dòng (ES_ID or IPMP_DescriptorID) thuộc cùng một phạm vi tên nếu và chỉ nếu những định danh này liên quan tới các dòng được đính kèm với cùng một phiên truyền thông được thiết lập trong 7.2.7.3.6.
CHÚ THÍCH 1: do đó, sự khác biệt giữa hai phương pháp quy định trong 7.2.7.2.2 và 7.2.7.2.3 ở trên về phân vùng mô tả cảnh trong nhiều dòng là phương pháp đầu tiên cho phép nhiều dòng mô tả cảnh tham chiếu đến cùng một phạm vi tên trong khi nút Inline mở ra một không gian tên mới.
CHÚ THÍCH 2: Điều này có nghĩa là URL trong bộ mô tả đối tượng mở ra một không gian tên, từ đó trỏ tới bộ mô tả đối tượng không được truyền tải trong cùng luồng bộ mô tả đối tượng ObjectDescriptorStream.
7.2.7.2.7 Tái sử dụng định danh
Trong một không gian tên đơn, một định danh ES_ID phải luôn tham chiếu tới một thực thể đơn của một dòng cơ sở.
CHÚ THÍCH: nếu hai bộ mô tả ES trong hai bộ mô tả đối tượng tham chiếu tới một ES_ID cho trước, thì tham chiếu thứ hai có thể không nhận được nội dung dòng ngay từ khi bắt đầu nếu tham chiếu đầu tiên đã bắt đầu nhận nội dung dòng mã.
Vì có lỗi dư nên khuyến nghị không tái sử dụng định danh objectDescriptorID và ES_ID để định danh nhiều hơn tương ứng một đối tượng hoặc một dòng cơ sở trong một trình diễn. Có nghĩa là, nếu một bộ mô tả đối tượng hoặc bộ mô tả dòng cơ sở bị gỡ bỏ bởi lệnh OD và sau đó được cài đặt lại với một lệnh OD khác thì nó vẫn phải trỏ đến cùng một thành phần nội dung như trước đó.
7.2.7.3 Truy cập nội dung phù hợp bộ tiêu chuẩn TCVN 11795
7.2.7.3.1 Giới thiệu
Để truy nhập tới nội dung phù hợp với bộ tiêu chuẩn TCVN 11795 thì điều kiện đầu tiên là bộ mô tả đối tượng khởi đầu không thuộc phạm vi quy định của bộ tiêu chuẩn TCVN 11795. Sau đó thì thủ tục truy nhập nội dung được quy định theo một số cách. Việc định nghĩa chính xác thủ tục đó phụ thuộc vào tầng phân phối được chọn.
Đối với các ứng dụng thực thi giao diện ứng dụng DMIF (DAI) được quy định trong ISO/IEC 14496-6, mô tả ngắn gọn tầng phân phối, ánh xạ thủ tục truy nhập nội dung tới các phiên DAI được quy định trong 7.2.7.3.7.9.
Thủ tục này xác định tập các dòng cơ sở được yêu cầu, yêu cầu việc phân phối các dòng đó và liên kết chúng với mô tả cảnh. Việc lựa chọn tập con các dòng phù hợp với đầu cuối tuân thủ bộ tiêu chuẩn TCVN 11795 là có khả năng thực hiện được hoặc là dựa trên các profile hoặc kiểm duyệt tập các bộ mô tả đối tượng.
7.2.7.3.2 Bộ mô tả đối tượng khởi đầu
Các bộ mô tả đối tượng khởi đầu chứa thông tin thuộc tính mà đầu cuối theo bộ tiêu chuẩn TCVN 11795 yêu cầu để xử lý nội dung được mô tả. Thông tin thuộc tính tóm tắt sự phức tạp của nội dung được tham chiếu trực tiếp hoặc gián tiếp thông qua bộ mô tả đối tượng khởi đầu này, tức là cho biết tổng quan về năng lực đầu cuối được yêu cầu để giải mã và biển diễn nội dung này. Do đó các bộ mô tả đối tượng khởi đầu thiết lập các điểm truy nhập trong nó để truy cập nội dung tuân theo bộ tiêu chuẩn TCVN 11795.
Tuy nhiên có hai ràng buộc:
- Nếu includeInlineProfileLevelFlag của bộ mô tả đối tượng khởi đầu không được thiết lập thì độ phức tạp nội dung không có trong các chỉ báo thuộc tính này.
- Ngoài việc các dòng cơ sở có khả năng được giải mã bởi đầu cuối có cấu hình phù hợp, thì phải có sẵn những trình diễn thay thế. Điều này được trình bày cụ thể hơn trong 7.2.7.3.4.
Bộ mô tả đối tượng khởi đầu có thể được truyền tải theo một cách nào đó mà bộ tiêu chuẩn TCVN 11795 không định nghĩa. Nội dung có khả năng truy nhập bắt đầu từ các dòng cơ sở mà bộ mô tả đối tượng khởi đầu này mô tả, thông thường, đó là một hoặc một số dòng mô tả cảnh và dòng bộ mô tả đối tượng (nếu có).
Nội dung mà bộ mô tả đối tượng khởi đầu tham chiếu có thể cũng được tham chiếu từ một thành phần nội dung khác của bộ tiêu chuẩn TCVN 11795. Trong trường hợp này, bộ mô tả đối tượng khởi đầu sẽ được truyền tải trong dòng mô tả đối tượng và các OD_ID của bộ mô tả đối tượng khởi đầu và bộ mô tả đối tượng thông thường thuộc cùng một không gian tên.
Các bộ mô tả đối tượng thông thường cũng có thể được sử dụng để mô tả việc mô tả cảnh và các dòng bộ mô tả đối tượng. Tuy nhiên, do chúng không mang thông tin thuộc tính, nên chỉ có thể được sử dụng để truy nhập nội dung nếu đầu cuối không yêu cầu thông tin thuộc tính hoặc đầu cuối đã có thông tin thuộc tính theo một cách nào đó.
7.2.7.3.3 Sử dụng URL trong khung chương trình bộ mô tả đối tượng
Các URL trong khung chương trình mô tả đối tượng được cung cấp để xác định vị trí nội dung tuân thủ bộ tiêu chuẩn TCVN 11795 nội tuyến hoặc dữ liệu dòng cơ sở liên kết với các đối tượng âm thanh hình ảnh riêng biệt.
Các URL trong bộ mô tả ES xác định vị trí dữ liệu dòng cơ sở, dữ liệu đó phải được phân phối như dòng đóng gói SL bởi thực thể phân phối có liên kết với phạm vi tên đang xét. Mô tả hoàn chỉnh của dòng (ES_Descriptor) sẵn có.
Các URL trong các bộ mô tả đối tượng xác định vị trí bộ mô tả đối tượng ở vị trí từ xa. Chủ nội dung của bộ mô tả đối tượng này phải được thực thể phân phối trả về bằng cách truy nhập vào URL này. Điều này có nghĩa là mô tả tài nguyên đối với nút BIFS liên kết hoặc nội dung trực tiếp chỉ sẵn có ở vị trí đầu xa. Tuy nhiên, chú ý, nó phụ thuộc vào giá trị của includeInlineProfileLevelFlag trong bộ mô tả đối tượng khởi đầu, các tài nguyên có tính chất toàn cầu như remote hoặc các phần trực tiếp có thể được biết.
7.2.7.3.4 Lựa chọn các dòng cơ sở cho các đối tượng âm thanh hình ảnh
Các dòng cơ sở được đính kèm thông qua bộ mô tả đối tượng của chúng tới các nút thích hợp, trong tất cả các trường hợp, tạo thành trình diễn đối tượng âm thanh hình ảnh trong cảnh. Việc lựa chọn một hoặc một số ES cho mỗi nút BIFS có thể bị chi phối bởi các chỉ báo thuộc tính trong bộ mô tả đối tượng khởi đầu. Tất cả các bộ mô tả đối tượng phải chứa ít nhất một dòng cơ sở với kiểu đối tượng thích hợp để đáp ứng thuộc tính được chỉ ra ban đầu.
Ngoài ra, các bộ mô tả đối tượng có thể tập hợp các bộ mô tả ES cho các dòng cơ sở, điều đó yêu cầu nhiều băng thông và tính toán nhiều hơn. Những dòng cơ sở đó có thể được sử dụng bởi đầu cuối thu nếu nó có khả năng xử lý chúng.
Trong trường hợp các bộ mô tả đối tượng khởi đầu không cho biết bất kỳ một thuộc tính và mức hoặc nếu các chỉ báo thuộc tính và mức bị bỏ qua thì sẽ có sự thay thế cho việc lựa chọn thuộc tính của các dòng hiện có. Đầu cuối thu có thể đánh giá các bộ mô tả ES của tất cá các dòng cơ sở sẵn có cho mỗi nút BIFS và lựa chọn (theo cách không được chuẩn hóa) sao cho tập con các bộ mô tả được chọn đó có có đủ khả năng để giải mã chúng có tính đến những hạn chế được quy định trong mục này.
CHÚ THÍCH: có một số hạn chế trong việc lựa chọn và truy nhập tới các dòng cơ sở nếu tập các dòng cơ sở chia sẻ cùng một gốc thời gian đối tượng đơn.
7.2.7.3.5 Truy cập nội dung trong các ngữ cảnh “đẩy” và “kéo” ("Push" và "pull")
Trong một tương tác, ngữ cảnh "pull", đầu cuối phía thu chủ động yêu cầu thiết lập phiên và phân phối nội dung, tức là các dòng. Nó thường liên quan đến một phiên và giao thức thiết lập kênh giữa bên gửi và bên nhận. Giao thức này không được quy định ở đây. Tuy nhiên, các bước được thực hiện giống với tất cả các trường hợp và được quy định trong các mục nhỏ tiếp theo.
Trong quảng bá, ngữ cảnh “push", đầu cuối phía thu xử lý bị động những thông tin thu được. Thay vì đưa ra các yêu cầu thiết lập phiên hoặc kênh, đầu cuối thu sẽ đánh giá thông tin mô tả liên quan, thông tin này liên kết các ES_ID tới các kênh truyền tải của nó. Cú pháp và Ngữ nghĩa của thông tin này không thuộc phạm vi của bộ tiêu chuẩn TCVN 11795, tuy nhiên, phải xuất hiện trong việc thực thi tầng phân phối. Điều đó cho phép đầu cuối có thể tiếp tục truy nhập các dòng cơ sở tạo nên nội dung đó.
7.2.7.3.6 Truy cập nội dung thông qua một bộ mô tả đối tượng biết trước
7.2.7.3.6.1 Điều kiện tiên quyết
- Một bộ mô tả đối tượng đã thu được có thể là bộ mô tả đối tượng khởi đầu.
- Bộ mô tả đối tượng chứa các bộ mô tả ES trỏ tới các dòng bộ mô tả đối tượng và các dòng mô tả cảnh sử dụng các ES_ID.
- Phiên truyền thông tới nguồn của những dòng này được thiết lập
Cơ chế để mở một kênh sử dụng dữ liệu người dùng như là đầu vào và đầu ra là các giá trị trả về.
7.2.7.3.6.2 Thủ tục truy nhập nội dung
Thủ tục truy nhập nội dung như sau:
1. Bộ mô tả đối tượng được đánh giá và ES_ID cho các dòng mã được mở ra và xác định.
2. Các yêu cầu cho việc mở các ES được chọn được tạo ra bằng cách sử dụng cơ chế thiết lập kênh phù hợp với các ES_ID, như tham số.
3. Cơ chế thiết lập kênh phải trả về điều khiển cho những dòng tương ứng với danh sách yêu cầu của ES.
4. Yêu cầu phân phối các ES đã chọn được thiết lập.
5. Các ngữ cảnh thay thế: phân phối các điểm khởi đầu của các dòng mã. Khi đó, trong tất cả các ngữ cảnh thì có thể truy cập các dòng mã.
6. Đánh giá mô tả cảnh và dòng bộ mô tả đối tượng.
7. Khi cần thiết, sử dụng thủ tục này (từ bước 1) để mở các dòng.
7.2.7.3.7 Truy cập nội dung thông qua URL trong một bộ mô tả đối tượng
7.2.7.3.7.1 Điều kiện tiên quyết
- Một URL đến một bộ mô tả đối tượng hoặc là bộ mô tả đối tượng khởi đầu được thiết lập.
- Cơ chế mở một phiên truyền thông xem URL như là đầu vào và trả về ở đầu ra là dữ liệu.
7.2.7.3.7.2 Thủ tục truy cập nội dung
Thủ tục truy nhập nội dung phải được đánh giá như sau:
- Tạo kết nối tới nguồn URL bằng cách sử dụng cuộc gọi thiết lập thích hợp.
- Cuộc gọi đó phải trả về dữ liệu là bộ mô tả đối tượng đơn.
- Tiếp tục từ bước 1 trong 7.2.7.3.6.2.
7.2.7.3.8 Truy cập nội dung thông qua URL trong bộ mô tả dòng cơ sở
7.2.7.3.8.1 Điều kiện tiên quyết
- Một bộ mô tả ES trỏ đến một dòng thông qua một URL. (chú ý rằng bộ mô tả ES quy định đầy đủ cấu hình của dòng).
- Cơ chế mở một phiên truyền thông xem URL là đầu vào đầu ra trả về là dữ liệu.
- Cơ chế mở một kênh xem dữ liệu người sử dụng như là đầu vào và trả về ở phía đầu ra là dữ liệu.
7.2.7.3.8.2 Thủ tục truy cập nội dung
Thủ tục truy cập nội dung:
1. Sử dụng cơ chế thiết lập phiên thích hợp cùng với URL (như tham số) để mở phiên truyền thông.
2. Cơ chế thiết lập phiên phải trả về điều khiển (handle) phiên, tương ứng với URL được yêu cầu.
3. Sử dụng cơ chế thiết lập kênh thích hợp để yêu cầu mở dòng.
4. Cơ chế thiết lập kênh phải trả về điều khiển dòng tương ứng với URL được yêu cầu đầu tiên.
5. Tạo yêu cầu phân phối dòng đã chọn.
6. Các ngữ cảnh tương tác: phân phối các điểm khởi đầu của dòng mã. Khi đó trong tất cả các ngữ cảnh, có thể truy cập dòng.
Ví dụ: Truy cập tới nội dung phức hợp
Ví dụ trong Hình 6 đưa ra một phần nhỏ thông tin phức hợp trong nội dung mã hóa theo bộ tiêu chuẩn TCVN 11795, bao gồm ba phần. Phần trên cùng là một cảnh được truy nhập thông qua bộ mô tả khởi đầu của nó. Cảnh này chứa một dòng âm thanh và một dòng hình ảnh bên cạnh các thông tin khác.
Phần thứ hai là một cảnh được truy nhập và liên kết tức thời thông qua bộ truy cập đối tượng khởi đầu của nó, nó được trỏ tới (thông qua URL) trong dòng bộ mô tả đối tượng của cảnh đầu tiên. Sử dụng bộ mô tả đối tượng khởi đầu cho phép báo hiệu thông tin thuộc tính cảnh thứ hai. Vì thế cảnh này cũng có thể được sử dụng mà không có cảnh đầu tiên. Cảnh thứ hai, ngoài các thông tin khác thì nó chứa một đối tượng âm thanh và một đối tượng hình ảnh được mã hóa co giãn. Cảnh thứ ba được truy nhập và liên kết tức thời thông qua các ES_ID của các dòng bộ mô tả đối tượng và mô tả cạnh của nó. Những ES_ID này được biết từ một bộ mô tả đối tượng được truyền trong dòng bộ mô tả đối tượng của cảnh thứ hai. Chú ý rằng, cảnh thứ ba không được truy nhập thông qua một bộ mô tả đối tượng khởi đầu. Vì thế thông tin thuộc tính cho cảnh này cần được bao hàm trong thông tin thuộc tính của cảnh thứ hai.
Hình 7 - Ví dụ về một nội dung phức hợp
7.2.7.3.9 Ánh xạ các thủ tục truy cập nội dung với các cuộc gọi DAI
Hai DAI nguyên thủy sau đây, được xác định từ mục 10.4 của ISO/IEC 14496-6, được yêu cầu để thực thi thủ tục truy cập nội dung như mô tả trong 7.2.7.3.6 đến 7.2.7.3 8:
DA_ServiceAttach (IN: URL, uuDatalnBuffer, uuDatalnLen;
OUT: response, serviceSessionld, uuDataOutBuffer, uuDataOutLen)
DA_ChannelAdd (IN: serviceSessionld, loop(qosDescriptor, direction, uuDatalnBuffer, uuDatalnLen);
OUT: loop(response, channelHandle, uuDataOutBuffer, uuDataOutLen))
DA_ServiceAttach được sử dụng để thực thi các bước 1 và 2 trong 7.2.7.3.7.2. URL phải được chuyển qua IN: tham số URL. UuDatalnBuffer phải duy trì rỗng. serviceSessionld trả về phải được dự trữ cho tương lai có tham chiếu tới URL này. UuDataOutBuffer phải chứa một bộ mô tả đối tượng đơn.
DA_ChannelAdd được sử dụng để thực thi các bước 0 và 3 của 7.2.7.3.6.2. serviceSessionld phải là định danh cho phiên dịch vụ đã được cung cấp bộ mô tả đối tượng chứa bộ mô tả ES đang được xử lý. QosDescriptor là bộ mô tả QoS của bộ mô tả ES, hướng cho biết kênh lên hay kênh xuống tùy theo cờ DecoderConfigDescriptor.upstream. UuDatalnBuffer chứa ES_ID của bộ mô tả ES. Khi trả về thành công, channelHandle hợp lệ, đối với dòng truy cập được thì không yêu cầu điều kiện này.
DA_ChannelAdd được sử dụng để thực thi bước 1 và 2 của 7.2.7.3.8.2. serviceSessionld là định danh cho phiên dịch vụ đã được cung cấp bộ mô tả đối tượng chứa bộ mô tả ES đang được xử lý. QosDescriptor phải là bộ mô tả QoS của bộ mô tả ES, hướng cho biết các kênh lên, kênh xuống tùy theo cờ DecoderConfigDescriptor.upstream. UuDatalnBuffer phải chứa URL của bộ mô tả ES. Khi trả về thành công, channelHandle phải hợp lệ, đối với dòng truy cập được thì không yêu cầu điều kiện này.
CHÚ THÍCH 1: đây là chế độ của một dịch vụ để phân biệt giữa hai trường hợp ES_ID hoặc URL đến uuDatalnBuffer trong DA_ChannelAdd.
CHÚ THÍCH 2: Bước 4 trong 7.2.7.3.6.2 và bước 3 trong 7.2.7.3.8.2 hiện tại không được ánh xạ tới cuộc gọi DAI theo cách thông thường. Nó phải được thực thi bằng cách sử dụng gốc DA_UserCommand().
Ví dụ thiết lập trong hình dưới dây truyền tải một bộ mô tả đối tượng khởi đầu, trỏ tới dòng mô tả cảnh và dòng bộ mô tả đối tượng tùy chọn và SceneDescriptionStreams tùy chọn bổ sung hoặc ObjectDescriptorStreams. Yêu cầu đầu tiên tới DAI sẽ là một DA_ServiceAttach() cùng với địa chỉ nội dung. Cuộc gọi này sẽ trả về một bộ mô tả đối tượng khởi đầu. Các ES_ID trong một bộ mô tả đối tượng được sẽ được sử dụng như các tham số tới DA_ChannelAdd(), nó sẽ trả về các điều khiển cho các kênh tương ứng.
Các dòng bổ sung (nếu có), được định danh khi xử lý nội dung của dòng bộ mô tả đối tượng, sau đó sử dụng thủ tục đó để mở. Không yêu cầu phải có dòng bộ mô tả đối tượng nếu không có thêm dòng âm thanh/hình ảnh hoặc dòng mô tả cảnh nội tuyến tạo nên nội dung này.
Hình 8 - Việc yêu cầu phân phối dòng thông qua DAI
7.2.8 Sử dụng giao diện hệ thống IPMP
7.2.8.1 Tổng quan
Các dòng cơ sở IPMP và các bộ mô tả đối tượng có thể được sử dụng theo nhiều cách khác nhau. Ví dụ, các dòng cơ sở IPMP có thể truyền tải thông tin IPMP thay đổi theo thời gian như các khóa theo định kỳ. Dòng cơ sở IPMP có thể được liên kết với một hoặc một số dòng cơ sở cho trước. Tương tự các bộ mô tả IPMP có thể được sử dụng để truyền tải thông tin thay đổi theo thời gian hoặc thông tin về IPMP (có thay đổi nhưng thay đổi chậm) liên kết với một hoặc một tập dòng cơ sở cho trước. Mục này quy định các phương pháp liên kết hệ thống IPMP với một dòng cơ sở hoặc một tập dòng cơ sở. ISO/IEC 14496-13 quy định các công cụ IPMP liên quan đến các phương pháp:
a. Chỉ báo các công cụ IPMP được yêu cầu để xử lý một trình diễn MPEG -4 cho trước
b. Liên kết một công cụ IPMP với một Điểm Điều khiển cụ thể của một dòng cơ sở hoặc tập các dòng cơ sở.
c. Thực hiện xác thực lẫn nhau giữa các công cụ IPMP và giữa các công cụ IPMP và đầu cuối.
d. Yêu cầu thuyết minh (instantiation) một hoặc nhiều hơn một công cụ IPMP bằng một công cụ IPMP khác
e. Yêu cầu và nhận thông báo của thuyết minh công cụ IPMP.
f. Cung cấp kênh thông tin giữa các công cụ IPMP và người sử dụng
7.2.8.2 Liên kết hệ thống IPMP với nội dung tuân thủ bộ tiêu chuẩn TCVN 11795
7.2.8.2.1 Liên kết trong mô tả đối tượng ban đầu
Một hệ thống IPMP có thể được liên kết với nội dung tuân thủ bộ tiêu chuẩn TCVN 11795 trong bộ mô tả đối tượng khởi đầu. Trong trường hợp đó, bộ mô tả đối tượng khởi đầu phải kết tập thêm các bộ mô tả ES cho các dòng mô tả cảnh và dòng bộ mô tả đối tượng, một hoặc một số bộ mô tả ES tham chiếu tới một hoặc một số dòng cơ sở IPMP. Tức là tất cả các dòng cơ sở được mô tả thông qua bộ mô tả đối tượng khởi đầu này đều được quản lý bởi một hoặc một số hệ thống IPMP được định danh trong một hoặc một số dòng IPMP.
7.2.8.2.2 Liên kết trong các bộ mô tả đối tượng khác
Một hệ thống IPMP có thể được liên kết với nội dung tuân thủ bộ ISO/IEC 14496 trong một bộ mô tả đối tượng theo ba cách:
Cách thứ nhất, ngoài các bộ mô tả ES cho các dòng cơ sở nội dung thì bộ mô tả đối tượng kết hợp một hoặc một số bộ mô tả ES mà tham chiếu tới một hoặc một số dòng cơ sở IPMP. Nghĩa là tất cả các dòng cơ sở nội dung được mô tả thông qua bộ mô tả đối tượng này thì được quản lý bởi một hoặc một số hệ thống IPMP, các hệ thống này được định danh trong một hoặc một số dòng IPMP. Chú ý rằng bộ mô tả ES mô tả dòng IPMP có thể chứa tham chiếu tới các bộ mô tả IPMP.
Cách thứ hai gồm có một hoặc một số IPMP_DescriptorPointers trong bộ mô tả đối tượng. Tức là tất cả các dòng cơ sở được mô tả mà bộ mô tả đối tượng này miêu tả thì các hệ thống IPMP sẽ quản lý, hệ thống nay được định danh trong bộ mô tả IPMP được tham chiếu.
Cách thứ ba: các con trỏ bộ mô tả IPMP (IPMP_DescriptorPointer) trong các bộ mô tả ES được nhúng trong bộ mô tả đối tượng. Nghĩa là hệ thống IPMP giám sát bộ mô tả ES tham chiếu dòng cơ sở nội dung.
7.2.8.3 IPMP của các dòng bộ mô tả đối tượng
Dòng bộ mô tả đối tượng không chịu sự quản lý của hệ thống IPMP, tức chúng xuất hiện không có sự bảo vệ của hệ thống IPMP. Tuy nhiên, có thể sử dụng công cụ IPMP để quản lý.
Các bộ mô tả IPMP tham chiếu một hoặc một số công cụ IPMP trực tiếp thuộc bộ mô tả đối tượng. Các dòng cơ sở được tham chiếu bên trong cùng một bộ mô tả đối tượng sẽ sử dụng các bộ mô tả IPMP này.
Phạm vi sử dụng của bộ mô tả IPMP này chỉ cho bản thân Bộ mô tả Đối tượng đó và các dòng được xác định bằng tham chiếu bên trong bộ mô tả đối tượng đó và không được tham chiếu bởi bất kỳ một bộ mô tả nào sau đó, mặc dù các bộ mô tả này thuộc các dòng được tham chiếu trong Bộ mô tả đối tượng ở trên.
Ngoài ra, các công cụ IPMP này không nhận các cập nhật bởi dòng IPMP hoặc bộ mô tả IPMP.
7.2.8.4 IPMP của các dòng mô tả cảnh
Dòng mô tả cảnh được xử lý như các dòng đa phương tiện, tức là chúng được quản lý bởi hệ thống IPMP.
Một bộ mô tả IPMP liên kết với dòng mô tả cảnh nghĩa là hệ thống IPMP điều khiển dòng mô tả cảnh.
Có hai cách để bảo vệ mô tả cảnh (hoặc áp dụng các hệ thống IPMP khác nhau cho các thành phần khác nhau của cảnh):
Thứ nhất, sử dụng thuộc tính: cho phép nhiều hơn một dòng mô tả cảnh liên kết với một bộ mô tả đối tượng (xem 7.2.7.2.2). Việc chia mô tả cảnh có thể được người thiết kế nội dung tự do thiết kế. Ví dụ, đặt mô tả cảnh cơ sở vào trong dòng đầu tiên và thêm một hoặc một số dòng mô tả cảnh bổ sung tăng cường cho cảnh cơ bản bằng cách sử dụng cập nhật BIFS.
Thứ hai, xây dựng cảnh sử dụng một hoặc một số nút inline (xem Phần 11). Mỗi nút tham chiếu một hoặc một số dòng mô tả cảnh bổ sung, mỗi dòng phải sử dụng một hệ thống IPMP khác nhau.
7.2.8.5 Sử dụng URL trong việc quản lý và bảo vệ nội dung
7.2.8.5.1 URL trong mô tả cảnh BIFS
Bộ tiêu chuẩn TCVN 11795 không quy định sử dụng các BIFS URL mà không trỏ tới bộ mô tả đối tượng. Hay nói cách khác, không chuẩn tắc việc áp dụng một hệ thống IPMP cho những liên kết đó. Đầu cuối được kích hoạt IPMP có thể gặp phải những liên kết không được định nghĩa đó.
7.2.8.5.2 URL trong các bộ mô tả đối tượng
URL trong bộ mô tả đối tượng trỏ tới một bộ mô tả đối tượng từ xa khác. Đây là trường hợp gián tiếp và sẽ không ảnh hưởng xấu đến hành vi của hệ thống IPMP, hệ thống này phải được gọi thông qua bộ mô tả đối tượng từ xa.
CHÚ THÍCH: chỉ khác là vị trí đầu tiên phải được tin cậy, vị trí tham chiếu thì không. Việc khắc phục điều đó không thuộc phạm vi của bộ tiêu chuẩn TCVN 11795.
7.2.8.5.3 URL trong các bộ mô tả ES
URL trong bộ mô tả ES được sử dụng để truy cập dòng cơ sở từ xa. Đây là trường hợp gián tiếp, do đó không ảnh hưởng tới hành vi của hệ thống IPMP được gọi thông qua bộ mô tả đối tượng từ xa này.
CHÚ THÍCH: chỉ khác là vị trí đầu tiên phải được tin cậy, vị trí tham chiếu thì không. Hơn nữa hành động khắc phục điều đó không thuộc phạm vi của bộ tiêu chuẩn TCVN 11795.
7.2.8.6 Quá trình giải mã IPMP
Hình 9 - Hệ thống IPMP trong cấu trúc đầu cuối theo bộ tiêu chuẩn TCVN 11795
Hình 9 miêu tả phép nội xạ đơn ánh của hệ thống hoặc công cụ IPMP trong sự xem xét tới một đầu cuối MPEG 4. IPMP quy định dữ liệu được cung cấp đến hệ thống/công cụ IPMP thông qua các dòng IPMP và/hoặc bộ mô tả IPMP và các hệ thống hoặc phát hành của công cụ IPMP bảo vệ nội dung sau tầng đồng bộ.
Mỗi dòng cơ sở dưới sự điều khiển của hệ thống/công cụ IPMP có thành phần được gọi là bộ điều khiển luồng dòng. Điều khiển luồng dòng có thể thực hiện giữa bộ giải mã tầng đồng bộ và bộ đệm giải mã. Như hình trên đã minh họa, các phần tử điều khiển IPMP có thể thực hiện ở các điểm khác trong đầu cuối (sau giải mã (như với vài hệ thống thủy vân) hoặc trong dòng BIFS đã giải mã, hoặc sau các bộ đệm sắp xếp hoặc trong sơ đồ hình cây của cảnh (scene tree). Các bộ điều khiển dòng có thể cho phép xử lý một dòng cơ sở theo cách không quy chuẩn, tùy vào thông tin trạng thái mà công cụ/hệ thống IPMP cũng cấp.
Cuối cùng, hệ thống/công cụ IPMP phải đáp ứng tối thiểu các điều kiện:
1. Xử lý dòng IPMP và bộ mô tả
2. Quản lý (mật mã hóa và phát hành) các dòng cơ sở được bảo vệ.
Điều kiện đầu tiên không được quy định trừ trường hợp không làm trì hoãn quá mức xử lý truy cập nội dung như quy định trong 7.2.7.3.
7.3 Đồng bộ các dòng cơ sở
7.3.1 Giới thiệu
Mục này định nghĩa các công cụ để duy trì việc đồng bộ thời gian trong và giữa các dòng cơ sở. Các phần tử được yêu cầu cho mục đích này là nhãn thời gian và thông tin tham chiếu đồng hồ (được giới thiệu trong mục 7.1). Cú pháp và Ngữ nghĩa để truyền tải những phần tử này tới đầu cuối phía thu được thể hiện trong các tầng đồng bộ, quy định trong 7.3.2. Cú pháp này được thiết lập để đáp ứng nhu cầu của nhiều kiểu dòng cơ sở khác nhau. Thông tin cấu hình yêu cầu được quy định trong 7.3.2.3.
Trên tầng đồng bộ, dòng cơ sở được ánh xạ vào một chuỗi các gói, gọi là dòng gói SL (SPS). Thông tin gói được trao đổi giữa thực thể tạo nên dòng cơ sở và lớp đồng bộ. Tương quan này có thể được mô tả bởi giao diện dòng cơ sở (ESI) giữa cả hai lớp (xem Phụ lục G). ESI là một khái niệm để giải thích dòng thông tin giữa các lớp, tuy nhiên không cần có khả năng truy cập trong một thực thi.
Các dòng gói SL được truyền tải thông qua một cơ chế phân phối, nó không thuộc phạm vi của tiêu chuẩn này. Cơ chế phân phối chỉ được mô tả về giao diện ứng dụng DMIF (DAI), Ngữ nghĩa của nó được quy định trong ISO/IEC 14496-6. Giao diện quy định thông tin cần thiết được trao đổi giữa tầng đồng bộ và cơ chế phản phối. Thuộc tính truyền tải dữ liệu cơ sở mà cơ chế phân phối này phải cung cấp là phân khung các gói dữ liệu được tạo bởi tầng đồng bộ. DAI là một điểm tham chiếu, nó không cần có khả năng truy nhập trong một thực thi. Thuộc tính yêu cầu của DAI được mô tả trong 7.3.3.
Dòng cơ sở Giao diện dòng cơ sở
Các phần tử được quy định trong mục này được mô tả dưới Hình 10
7.3.2 Tầng đồng bộ
7.3.2.1 Tổng quan
Tầng đồng bộ (SL) quy định cú pháp cho việc đóng gói các dòng cơ sở vào các đơn vị truy cập hoặc các các phần của gói truy cập. Gói đó được gọi là gói SL. Chuỗi các gói SL tạo thành từ một dòng cơ sở được gọi là một dòng gói SL (SPS). Các đơn vị truy cập chỉ là các thực thể Ngữ nghĩa ở lớp này và nó cần được bảo toàn từ đầu cuối đến đầu cuối. Nội dung của các gói không trong suốt. Các đơn vị truy cập được sử dụng như là các khối cơ bản cho việc đồng bộ.
Một gói SL bao gồm tiêu đề gói SL và tải trọng gói SL. Tiêu đề gói SL là để kiểm tra tính liên tục trong trường hợp mất dữ liệu, mang thông tin mã hóa của các nhãn thời gian và mang các thông tin liên kết. Ngữ nghĩa chi tiết của nhãn thời gian được quy định trong mục 7.1.3. Tiêu đề gói SL có thể được cấu hình như quy định trong 7.3.2.3. Tiêu đề gói SL được quy định trong mục 7.3.2.4.
Một gói SL không chứa chỉ báo về chiều dài của nó. Vì thế, các gói SL phải được phân khung nhờ sử dụng giao thức lớp thấp hơn, ví dụ, công cụ M4Mux được quy định trong 7.4. Do đó, một dòng gói SL không phải là một dòng dữ liệu tự chứa, nó có thể được lưu hoặc mã hóa mà không cần phân khung.
Dòng gói SL không cung cấp chỉ báo ES_ID liên kết với dòng cơ sở (xem 7.2.6.5) trong tiêu đề gói SL. Việc liên kết phải được truyền tải thông qua bảng ánh xạ dòng bằng cách sử dụng công cụ báo hiệu thích hợp của cơ chế phân phối.
7.3.2.2 Quy định gói SL
7.3.2.2.1 Cú pháp
7.3.2.2.2 Ngữ nghĩa
Để phân tích đúng một gói SL (SL_Packet), yêu cầu biết trường SLConfigDescriptor cho dòng cơ sở chứa gói SL đó, do SLConfigDescriptor chứa cấu hình cú pháp tiêu đề gói SL. slPacketHeader -thành phần SL_PacketHeader được quy định trong 7.3.2.4. slPacket Payload - là SL_PacketPayload chứa tải trọng không trong suốt.
7.3.2.3 Cấu hình tiêu đề gói SL
7.3.2.3.1 Cú pháp
7.3.2.3.2 Ngữ nghĩa
Tiêu đề gói sL phải được cấu hình theo nhu cầu mỗi dòng cơ sở riêng biệt. Các tham số có thể được lựa chọn bao gồm sự hiện diện, độ phân giải và độ chính xác của nhãn thời gian và tham chiếu đồng hồ. Sự linh hoạt này cho phép dòng cơ sở tốc độ thấp sử dụng mào đầu rất nhỏ trên các tiêu đề gói.
Đối với mỗi dòng cơ sở, cấu hình được truyền tải trong SLConfigDescriptor, là một phần của ES_Descriptor được liên kết trong bộ mô tả đối tượng.
Các tham số có thể cấu hình trong tiêu đề gói SL có thể được chia làm hai lớp: một lớp áp dụng cho mỗi gói SL (ví dụ như OCR, số thứ tự sequenceNumber) và một lớp liên quan chặt chẽ với các đơn vị truy cập (ví dụ như các nhãn thời gian, accessUnitLength, instantBitrate, degradationPriority). predefined - cho phép mặc định các giá trị từ bộ thông số định nghĩa trước như chi tiết dưới đây.
CHÚ THÍCH: Bảng này sẽ được cập nhật bởi các bản sửa đổi, bổ sung cho bộ tiêu chuẩn TCVN 11795, bao gồm cấu hình được xác định trước như được yêu cầu bởi các thuộc tính trong tương lai.
Bảng 13 - Tổng quan các giá trị SLConfigDescriptor xác định trước
Giá trị trường được định nghĩa trước | Mô tả |
0x00 | Tùy chỉnh |
0x01 | Tiêu đề gói SL null |
0x02 | Được dành riêng để sử dụng trong các tệp MP4 |
0x03 - 0x7B | Được dành riêng cho tổ chức đăng ký1 |
0x7C - 0xFF | Được dành riêng cho ISO sử dụng1 |
1 Các giá trị cờ và tên cờ tương ứng được thay thế, bổ sung theo phiên bản sửa đổi lần 1 [2] |
Bảng 14 - Chi tiết các giá trị SLConfigDescriptor được định nghĩa trước
Giá thị trường Predefined | 0x01 | 0x02 |
UseAccessUnitStartFlag | 0 | 0 |
UseAccessUnitEndFlag | 0 | 0 |
UseRandomAccessPointFlag | 0 | 0 |
UsePaddingFlag | 0 | 0 |
UseTimeStampsFlag | 0 | 1 |
UseldleFlag | 0 | 0 |
DurationFlag | 0 | 0 |
TimeStampResolution | 1000 | - |
OCRResolution | - | - |
TimeStampLength | 32 | 0 |
OCRIength | - | 0 |
AU_length | 0 | 0 |
InstantBitrateLength | - | 0 |
DegradationPriorityLength | 0 | 0 |
AU_seqNuml_ength | 0 | 0 |
PacketSeqNumLength | 0 | 0 |
useAccessUnitStartFlag - cho biết accessUnitStartFlag xuất hiện trong mỗi tiêu đề gói SL của dòng cơ sở này.
useAccessUnitEndFlag - cho biết accessUnitEndFlag xuất hiện trong mỗi tiêu đề gói SL của dòng cơ sở này.
Nếu cả useAccessUnitStartFlag và useAccessUnitEndFlag không được thiết lập thì có nghĩa là mỗi gói SL tương ứng với toàn bộ một đơn vị truy nhập.
useRandomAccessPointFlag - cho biết rằng RandomAccessPointFlag xuất hiện trong mỗi tiêu đề gói của dòng cơ sở này.
hasRandomAccessUnitsOnlyFlag - cho biết mỗi gói SL tương ứng với một điểm truy cập ngẫu nhiên. Trong trường hợp đó, randomAccessPointFlag cần phải được sử dụng.
usePaddingFlag - cho biết paddingFlag xuất hiện trong mỗi tiêu đề gói SL của dòng cơ sở này.
UseTimeStampsFlag: cho biết các nhãn thời gian được sử dụng cho đồng bộ dòng cơ sở này. Chúng được truyền tải trong các tiêu đề gói SL. Nếu không, các tham số accessUnitDuration, compositionUnitDuration, startDecodingTimeStamp và startCompositionTime-Stamp được truyền tải trong cấu hình tiêu đề gói SL sẽ được sử dụng cho đồng bộ.
CHÚ THÍCH: sử dụng các nhãn thời gian bắt đầu và các khoảng (useTimeStampsFlag=0) có thể chỉ khả thi trong một số trường hợp, bao gồm môi trường lỗi tự do. Truy cập ngẫu nhiên không dễ dàng. useIdleFlag -cho biết idleFlag được sử dụng trong dòng cơ sở này.
durationFlag - cho biết một khoảng các đơn vị truy cập cố định và các đơn vị truy cập tổng hợp đối với dòng cơ sở này sẽ được báo hiệu sau đó. timeStampResolution -là độ chính xác của các nhãn thời gian, đơn vị (khai báo/giây).
OCRResolution - là độ chính xác của gốc thời gian đối tượng, đơn vị là chu kỳ/giây.
timeStampLength -là chiều dài của trường nhãn thời gian trong các tiêu đề gói SL. timeStampLength có giá trị trong khoảng 0 đến 64 bít.
OCRlength - là chiều dài của trường objectClockReference trong các tiêu đề gói SL. Chiều dài là 0 cho biết không có objectciockReferences xuất hiện trong dòng cơ sở này. Nếu OCRstreamFlag được thiết lập thì OCRLength là 0. Ngược lại thì OCRLength có giá trị trong khoảng 0 đến 64 bít.
AU_Length - là chiều dài của trường accessUnitLength trong tiêu đề gói SL đối với dòng cơ sở này. AU_Length sẽ có giá trị trong khoảng 0 đến 32 bít.
instantBitrateLength - là chiều dài của trường instantBitrate trong tiêu đề gói SL đối với dòng cơ sở này.
degradationPriorityLength -là chiều dài của trường degradationPriority trong tiêu đề gói SL đối với dòng cơ sở này.
AU_seqNumLength - là chiều dài của trường AU_sequenceNumber trong tiêu đề gói SL đối với dòng cơ sở này.
packetSeqNumLength - là chiều dài của trường packetSequenceNumber trong tiêu đề gói SL đối với dòng cơ sở này.
timeScale - được sử dụng để diễn tả khoảng các đơn vị truy cập và các đơn vị tổng hợp. Trong trường là các đơn vị tổng hợp thì được chia đều thành các phần timescale. accessUnitDuration - là khoảng đơn vị truy cập, có giá trị accessUnitDuration * 1/timeScale giây.
compositionUnitDuration - là khoảng thời gian của một đơn vị tổng hợp, có giá trị compositionUnitDuration * 1/timeScale giây.
startDecodingTimeStamp - truyền tải thời gian mà tại thời điểm đó đơn vị tổng hợp tương ứng với đơn vị truy cập đầu tiên của dòng cơ sở này được mã hóa. Trường này được truyền tải ở độ chính xác được quy định bởi trường timeStampResolution.
slextDescr - là mảng các Bộ mô tả mở rộng được định nghĩa cho ExtendedSLConfigDescriptor như quy định trong 7.3.2.3.1.
7.3.2.3.3 Cú pháp SLExtentionDescriptor
7.3.2.3.4 Ngữ nghĩa Bộ mô tả mở rộng SL (SLExtentionDescriptor)
SLExtensionDescriptor là một lớp trừu tượng được quy định như là lớp cơ sở của các mở rộng SL.
7.3.2.3.4.1 Ngữ nghĩa con trỏ phụ thuộc (DependencyPointer)
DependencyPointer mở rộng SLExtensionDescriptor và quy định các đơn vị truy cập từ dòng này phụ thuộc vào một dòng khác.
Nếu bằng 0 thì dòng sau đó có thể được nhận ra thông qua trường ESID hoặc nếu ESID không xuất hiện thì sử dụng dependsOn_ES_lD ESID và các đơn vị truy cập từ dòng này sẽ trỏ tới các nhãn thời gian giải mã của dòng mã.
Nếu là 1 thì các đơn vị truy cập từ dòng này sẽ truyền tải các định danh, mà từ đó hệ thống (ví dụ các công cụ IPMP) biết được liệu các nguồn phụ thuộc (như các khóa) có sẵn có hay không.
Trong cả hai trường hợp thì chiều dài của con trỏ hoặc định danh này là dependencyLength.
Nếu là 0 thì dependencyLength sẽ là chiều dài của decodingTimeStamp.
7.3.2.3.4.2 Ngữ nghĩa MarkerDescriotor
MarkerDescriptor mở rộng SLExtensionDescriptor và cho phép đánh dấu các đơn vị truy cập để tham chiếu tới chúng mà không phụ thuộc nhãn thời gian mã hóa của chúng. markerLength - là chiều dài các định danh đánh dấu các đơn vị truy cập.
7.3.2.4 Quy định tiêu đề gói SL
7.3.2.4.1 Cú pháp
7.3.2.4.2 Ngữ nghĩa
accessUnitStartFlag - khi thiết lập là 1 thì cho biết byte đầu tiên của tải trọng gói SL này là byte bắt đầu của đơn vị truy cập. Nếu thành phần cú pháp này bị bỏ qua từ cấu hình tiêu đề gói SL thì giá trị mặc định của nó được biết từ gói SL trước đó với quy tắc: accessUnitStartFlag = (previous-SL packet has accessUnitEndFlag==1) ? 1 : 0.
accessUnitEndFlag - khi thiết lập là 1 cho biết byte sau cùng của tải trọng gói SL là byte sau cùng của đơn vị truy cập đang xét. Nếu thành phần cú pháp này bị bỏ qua từ cấu hình tiêu đề gói SL thì giá trị mặc định của nó chỉ được biết sau tiếp nhận gói SL tiếp theo với quy tắc: accessUnitEndFlag = (subsequent-SL packet has accessUnitStartFlag==1) ? 1:0.
Nếu cả AccessUnitStartFlag và AccessUnitEndFlag đều không được cấu hình trong tiêu đề gói SL, tức là mỗi gói SL tương ứng với một đơn vị truy cập đơn thì accessUnitStartFlag =
accessUnitEndFlag = 1.
CHÚ THÍCH: khi tiêu đề gói SL được cấu hình để sử dụng accessUnitstartFlag nhưng không có accessUnitEndFlag và accessUnitLength, thì không đảm bảo được rằng đầu cuối có thể xác định kiểm kết thúc của đơn vị truy cập trước khi khối tiếp theo được nhận.
OCRflag - khi thiết lập là 1 cho biết một objectClockReference theo sau. Giá trị mặc định cho OCRf lag là 0.
idleFlag - cho biết dòng cơ sở này sẽ là rỗi (tức là không sản sinh ra dữ liệu) trong một khoảng thời gian không xác định. Cờ này có thể được sử dụng bởi bộ giải mã để phân biệt giữa chủ ý và có lỗi báo vắng mặt các gói SL tiếp theo.
paddingFlag - cho biết có đệm trong gói SL. Giá trị mặc định cho paddingFlag là 0.
paddingBits - cho biết chế độ đệm được sử dụng trong gói SL này. Giá trị mặc định là 0.
Nếu paddingFlag được thiết lập và paddingBits là 0 thì phần tải trọng tiếp theo của gói SL chỉ chứa các byte đệm. accessUnitStartFlag, randomAccessPointFlag và
OCRf lag không được thiết lập nếu paddingFlag được thiết lập và paddingBits là 0.
Nếu paddingFlag được thiết lập và paddingBits lớn hơn 0 thì tải trọng của gói SL được theo sau bởi paddingBits có giá trị là 0 cho căn chỉnh byte của tải trọng.
packetSequenceNumber - nếu xuất hiện thì sẽ liên tục được tăng cho mỗi gói SL như một bộ đếm mô-đun. Gián đoạn ở bộ giải mã tương ứng với một hoặc một số gói SL bị mất. Trong trường hợp này, lỗi sẽ được báo hiệu tới người dùng tầng đồng bộ. Nếu thành phần cú pháp này bị cấu hình tiêu đề gói SL bỏ qua thì kiểm tra liên tục bởi tầng đồng bộ này không được thực hiện cho dòng cơ sở này.
Sao chép gói SL: dòng cơ sở có trường sequenceNumber trong các tiêu đề gói SL có thể sử dụng sao chép gói SL cho lỗi dư. Sao chép gói SL sẽ được thực hiện từ thì sau gói đầu tiên. SequenceNumber gói của bộ đôi gói sL có cùng giá trị và mỗi byte hoặc gói gốc SL phải được nhân đôi, với sự ngoại lệ của trường objectciockReference, nếu xuất hiện thì sẽ mã hóa giá trị có hiệu lực cho cặp gói SL. degPrioFlag - khi thiết lập lá 1 thì degradationPriority xuất hiện trong gói. degradationPriority - cho biết tầm quan trọng của tải tin gói SL. streamPriority xác định các ưu tiên cơ bản của ES. degradationPriority cho biết mức độ ưu tiên của gói SL giảm so với các ưu tiên cơ sở, ưu tiên cho gói SL được cho bởi:
SL_PacketPriority = streamPriority - degradationPriority
degradationPriority duy trì ở giá trị này cho đến khi có sự xuất hiện tiếp theo. Chỉ báo này có thể cho sự suy giảm từ từ bởi bộ giải mã của dòng cơ sở cũng như bởi bộ tương thích với tầng phân phối. Mức độ suy giảm tương đối giữa các gói SL của các dòng cơ sở khác nhau sẽ tăng vì SL_PacketPriority giảm.
objectClockReference - chứa một nhãn thời gian tham chiếu đồng hồ đối tượng. Giá trị t của thời gian OTB được thiết lập lạ từ nhãn thời gian OCR theo công thức:
t = (obj ectClockReference/SL. OCRResolution)+ k*(2SL-OCRLegnth/SL. OCRResolution)
Trong đó k là số lần mà bộ đếm objectClockReference quay vòng quanh.
objectClockReference chỉ xuất hiện trong tiêu đề gói SL nếu OCRflag được thiết lập.
CHÚ THÍCH: chỉ thích hợp để truyền tải một giá trị OCR và không có tải trọng trong gói SL
Sau đây là Ngữ nghĩa của các thành phần cú pháp chỉ xuất hiện ở điểm đầu của đơn vị truy cập khi được báo hiệu rõ ràng bởi cờ accessUnitStartFlag trong dòng bit.
randomAccessPointFlag - khi thiết lập là 1 cho biết thích hợp để truy cập ngẫu nhiên tới nội dung dòng cơ sở này. randomAccessPointFlag sẽ chỉ được thiết lập nếu accessUnitStartFlag được thiết lập. Nếu thành phần cú pháp này bị bỏ qua khỏi cấu hình tiêu đề gói SL thì giá trị mặc định của nó là giá trị SLConfigDescriptor.hasRandomAccessUnitsOnlyFlag cho dòng cơ sở này.
AU_sequenceNumber - nếu xuất hiện, các đơn vị truy cập tiếp theo sẽ hoặc là có cùng số thứ tự hoặc giá trị đó tiếp tục được tăng như bộ đếm mô-đun. Gián đoạn ở bộ giải mã tức là sẽ mất một hoặc nhiều hơn một đơn vị truy cập. Trong trường hợp đó, lỗi sẽ được báo hiệu cho người sử dụng tầng đồng bộ.
Sao chép đơn vị truy cập: các đơn vị truy cập được gửi bằng cách sử dụng cùng một số thứ tự như AU ngày trước đó sẽ được bỏ qua nếu và chỉ nếu đơn vị truy cập thứ hai là điểm truy cập ngẫu nhiên. Một đơn vị truy cập được lặp lại như thế, tức là khối đầu tiên không có RAP thiết lập những khối lặp lại sẽ có RAP thiết lập, cho phép các điểm truy cập ngẫu nhiên được thêm vào dòng quảng bá, cho phép các client nhập dòng tại một điểm xác định trong quá trình truyền mà không làm gián đoạn các Client đang nhận dòng. Mặt khác, sự thu nhập hai đơn vị truy cập với cùng một số thứ tự, khi khối thứ hai không phải là một RAP, có nghĩa là hai đơn vị truy cập tham chiếu tới cùng một trạng thái khóa (key) của cảnh. Tức là đơn vị truy cập thứ hai có thể được xử lý an toàn bởi bộ giải mã thậm chí nếu biết một hoặc một số đơn vị truy cập trước đó bị mất trên mạng. decodingTimeStampFlag - cho biết nhãn thời gian giải mã xuất hiện trong gói. compositionTimeStampFlag - cho biết nhãn thời gian sắp xếp xuất hiện trong gói. accessUnitLengthFlag - cho biết chiều dải của đơn vị truy cập này xuất hiện trong gói. instantBitrateFlag - cho biết một instantBitrate xuất hiện trong gói. decodingTimeStamp - là nhãn thời gian giải mã như cấu hình trong SLConfigDescriptor được liên kết. Thời gian giải mã td của đơn vị truy cập này được thiết lập lại từ nhãn thời gian giải mã này theo công thức:
td = (decodingTimeStamp/SL. timeStampResolution + k*
2SL. timeStampLength/SL. timeStampResolution
trong đó, k là số lần bộ đếm decodingTimeStamp quay vòng.
decodingTimeStamp sẽ chỉ xuất hiện nếu thời gian giải mã khác với thời gian sắp xếp cho đơn vị truy cập này.
compositionTimeStamp - là nhãn thời gian sắp xếp như được cấu hình trong SLConfigDescriptor liên kết. Thời gian sắp xếp tc của đơn vị tổng hợp đầu tiên là kết quả của đơn vị truy cập này được thiết lập lại từ nhãn thời gian sắp xếp này theo công thức:
td = (compositionTimeStamp/SL.timeStampResolution + k*
2SL.timeStampLength/SL .timeStampResolution
k là số lần bộ đếm compositionTimeStamp quay vòng.
accessUnitLength - là chiều dài của đơn vị truy cập, đơn vị byte. Nếu thành phần cú pháp này không xuất hiện hoặc có giá trị là 0 thì chiều dài của đơn vị truy cập không được biết.
instantBitrate - là tốc độ bít tức thời (đơn vị bít/s) của dòng cơ sở đến khi trường instantBitrate được tìm thấy.
Nếu SLConfigDescriptor là một ExtendedSLConfigDescriptor (tức là các cờ của nó là ExtSLConfigDescrTag), thì các bộ mô tả liên kết với mảng các SLExtensionDescriptors được thêm vào cuối tiêu đề gói SL.
CHÚ THÍCH: do các bộ mô tả đó truyền tải thông tin SL mở rộng (kích thước) nên chúng có thể bị bộ giải mã bỏ qua.
DependencyPointerDescriptor và MarkerDescriptor xác định các bộ mô tả liên kết của nó như sau:
Đối với DependencyPointerDescriptor một đánh dấu của chiều dài dependencyLength sẽ được mã hóa. Nó sẽ giải quyết hoặc là bộ định dan hoặc nhãn thời gian giải mã như quy định trong 7.3.2.3.4.1.
Đối với MarkerDescriptor đánh dấu chiều dài markerLength được giải mã.
7.3.2.5 Dòng tham chiếu đồng hồ
Là một dòng cơ sở có trường streamType = ClockReferenceStream, kiểu dòng này có thể được công khai bằng bộ mô tả đối tượng. Nó được sử dụng cho mục đích duy nhất là truyền tải các nhãn thời gian tham chiếu đồng hồ đối tượng. Nhiều dòng cơ sở trong một phạm vi tên có thể tham chiếu tới CiockReferenceStream đó bằng thành phần cú pháp OCR_ES_ID trong SLConfigDescriptor để tránh truyền thừa thông tin tham chiếu đồng hồ. Tuy nhiên, chú ý rằng tham chiếu vòng giữa các dòng cơ sở sử dụng OCR_ES_ID không được phép.
Ở tầng đồng bộ Dòng tham chiếu đồng hồ được thực hiện bằng cách cấu hình cú pháp tiêu đề gói SL cho dòng gói SL, vì thế chỉ các giá trị OCR của OCRresolution và OCRlength được yêu cầu xuất hiện trong tiêu đề gói SL.
Sẽ không có bất kỳ tải trọng gói SL nào trong dòng gói SL có streamType = ClockReferenceStream. Trong Bộ mô tả cấu hình bộ giải mã cho dòng tham chiếu đồng hồ, trường ObjectTypelndication được thiết lập '0xFF', cờ hasRandomAccessUnitsOnlyFlag thiết lập là 1 và buf ferSizeDB là '0'.
Bảng sau cho biết các giá trị khuyến nghị cho trường SLConfigDescriptor của một dòng tham chiếu đồng hồ.
Bảng 15 - Giá trị tham số SLConfigDescriptor cho dòng tham chiếu đồng hồ
useAccessUnitStartFlag | 0 |
useAccessUnitEndFlag | 0 |
useRandomAccessPointFlag | 0 |
usePaddingFlag | 0 |
useTimeStampsFlag | 0 |
useldleFlag | 0 |
durationFlag | 0 |
timeStampResolution | 0 |
timeStampLength | 0 |
AU_length | 0 |
degradationPriorityLength | 0 |
AU_seqNumLength | 0 |
7.3.2.6 Những giới hạn đối với các dòng cơ sở trong việc chia sẻ một gốc thời gian đối tượng
Với khả năng chia sẻ gốc thời gian đối tượng giữa các dòng cơ sở thông qua OCR_ES_ID, thì nó có một số hạn chế trong truy nhập và xử lý dòng cơ sở đó như sau:
1. Trong trường hợp có một số dòng cơ sở chia sẻ gốc thời gian đối tượng đơn thì những dòng cơ sở không có thông tin tham chiếu đồng hồ chuẩn thì sẽ không được bộ đọc nào sử dụng (kể cả trường hợp có khả năng truy cập dòng) cho đến khi nó mang thông tin thời gian tham chiếu đối tượng có khả năng truy cập được (xem 7.2.7.3 cho thủ tục truy cập dòng).
2. Nếu dòng cơ sở không mang thông tin tham chiếu đồng hồ đối tượng thì dòng đó sẵn có tại đầu cuối muộn hơn so với trường hợp có mang thông tin. Trường hợp mang thông tin tham chiếu được phân phối đồng bộ với các dòng khác. Chú ý trường hợp này chỉ áp dụng cho các dòng không phải bắt đầu đọc từ phần đầu của dòng mà tùy thuộc vào giá trị của gốc thời gian đối tượng.
3. Khi một dòng cơ sở mang thông tin tham chiếu đồng hồ đối tượng không sẵn có hoặc được điều khiển khác với cơ chế phân phối (Ví dụ bị dừng) thì tất cả các dòng cơ sở khác sử dụng cùng một gốc thời gian đối tượng nêu trên thì cũng sẽ bị như thế.
4. Một dòng cơ sở không được nhúng thông tin tham chiếu đồng hồ đối tượng nếu không sẵn có thì cũng không ảnh hưởng tới các dòng cơ sở khác chia sẻ cùng một gốc thời gian đối tượng.
7.3.2.7 Sử dụng các tùy chọn cấu hình cho giá trị tham chiếu đồng hồ đối tượng và nhãn thời gian
7.3.2.7.1 Giải quyết sự không rõ ràng trong việc phục hồi gốc thời gian đối tượng
Do chiều dài của các giá trị objectClockReference bị giới hạn nên rất khó xác định nhãn thời gian. Giá trị thời gian OTB có thể được thiết lập lại mỗi lần objectciockReference được truyền trong các tiêu đề cói SL theo công thức sau:
tOTB_reconstructed=(objectClockReference/SL . OCRResolution)+k*(2SL.OCRLength/SL.OCRResolution)
trong đó k là số nguyên là số lần lặp. Gốc thời gian tOTB_reconstructed được tính bằng đơn vị s.
khi objectClockReference đầu tiên cho một dòng cơ sở bị khó xác định thì giá trị k phải được thiết lập là 1. Đối với mỗi lần xảy ra sau hiện tượng khó xác định objectClockReference sau đó thì giá trị k phải được ước lượng như sau:
Đầu cuối phải thực thi cơ chế ước lượng giá trị của gốc thời gian đối tượng ở bất kỳ thời điểm nào. Mỗi khi objectClockReference thu được, giá trị ước lượng của OTB tOTB_estlmated phải được lấy mẫu. Sau đó, tOTB_rec(k) được tính toán cho các giá trị k khác nhau. Giá trị k mà I tOTB_estlmated - tOTB_rec(k)| đạt giá trị nhỏ nhất sẽ được giả định là giá trị sẽ cho tOTB_reconstructed chính xác. Giá trị này có thể được sử dụng làm đầu vào cho cơ chế ước lượng gốc thời gian đối tượng.
Ứng dụng đảm bảo cho phép tính ra giá trị k rõ ràng bằng cách lựa chọn chiều dài và sự giải quyết phần từ objectClockReference và chèn liên tục các giá trị objectClockReference vào trong dòng cơ sở một cách hiệu quả. Những lựa chọn cho các giá trị này tùy thuộc vào jitter phân phối các gói SL cũng như giá trị trôi tối đa mong đợi giữa các đồng hồ đầu cuối thu và phát.
7.3.2.7.2 Giải quyết sự không rõ ràng trong khôi phục nhãn thời gian
Do các giá trị decodingTimeStamp và compositionTimeStamp bị giới hạn về chiều dài nên các nhãn thời gian có thể bị khó xác định theo công thức:
tts(m)=(TimeStamp/SL . timeStampResolution)+m*(2SL,timeStampLength/SL. timeStampResolution)
với nhãn thời gian Timestamp là decodingTimeStamp hoặc compositionTimeStamp và m là giá trị nguyên biểu thị số lần lặp.
Giá trị chính xác ttimestamp của nhãn thời gian có thể được ước lượng theo phương pháp sau:
Mỗi lần thu được TimeStamp, giá trị OTB tOTB_estimated ước lượng phải được lấy mẫu. tts(m) được tính toán cho các giá trị khác nhau của m. Giá trị m mà I tOTB_estlmated - tts(m)| nhỏ nhất được giả định là giá trị sử dụng để tính toán chính xác ttimestamp.
Đối với từng dòng cơ sở riêng, ứng dụng này có thể chọn chiều dài và giải quyết các nhãn thời gian để đáp ứng các yêu cầu cho từng thời điểm không rõ ràng. Lựa chọn này tùy thuộc vào thời gian tối đa mà một gói SL với một TimeStamp có thể được gửi trước thời điểm mà TimeStamp chỉ ra cũng như mức độ chính xác về thời gian được yêu cầu.
7.3.2.7.3 Những xem xét cho tham chiếu đồng hồ đối tượng và nhãn thời gian
Lịch trình của một gốc thời gian đối tượng cho phép tách hai thời điểm tức thời bởi một khoảng lớp hơn 1/SL.OCRResolution. OCRResolution nên được chọn đủ lớn để phù hợp với độ chính xác của các ứng dụng đồng bộ tập các dòng cơ sở.
Nhãn thời gian giải mã và tổng hợp cho phép tách hai thời điểm tức thời bởi một khoảng lớn hơn 1/SL. timeStampResolution. timeStampResolution nên được chọn đủ lớn để phù hợp với độ chính xác về vị trí các đơn vị truy cập của ứng dụng cho một dòng cho trước.
TimeStampResolution cao hơn OCRResolution thì khả năng phân biệt giữa các sự kiện sẽ kém hơn. Nếu TimeStampResolution thấp hơn OCRResolution, thì các sự kiện trong dòng mã không thể được xác định với độ chính xác tối đa với một OCRResolution cho trước.
Tham số OCRLength được báo hiệu trong cấu hình tiêu đề SL. 2SL-OCRLength/SL.OCRResolution là khoảng thời gian thuộc bộ đếm objectClockReference trước khi quay vòng. OCRLength nên được chọn đủ lớn để phù hợp với ứng dụng trong việc xác định rõ ràng các thời điểm của sự kiện từ một tập các dòng cơ sở.
Khi một ứng dụng biết giá trị k (được xác định trong 7.3.2.7.1) thì lịch trình của OTB rõ ràng cho từng giá trị thời gian. Khi ứng dụng không thể thiết lập lại hệ số k, ví dụ trường hợp ứng dụng cho phép truy cập ngẫu nhiên mà không có thông tin bổ sung, thì lịch trình thời gian OTB 2SL.OCRLength/SL.OCRResolution không rõ ràng. Vì thế, các nhãn thời gian tham chiếu tới OTB này cũng sẽ không rõ ràng. Tuy nhiên, có thể xem là rõ ràng trong một ứng dụng nếu biết jitter phân phối tối đa dự kiến và những hạn chế về thời gian mà một đơn vị truy cập có thể gửi trước thời điểm mã hóa.
Chú ý, các dòng cơ sở chọn 2SL-timeStampLength/SL.timeStampResolution lớn hơn 2SL.OCRLength/SL.OCRResolution thì vẫn có thể xác định các thời điểm sự kiện rõ ràng trong giá trị bé của hai giá trị đã nêu.
Trong trường hợp m và k không thể được ước lượng chính xác, mô hình bộ đệm có thể bị vi phạm, do đó hiệu năng của bộ giải mã không đoán trước được.
Ví dụ - giả sử một ứng dụng muốn đồng bộ các dòng cơ sở với độ chính xác là 1 ms. OCRResolution nên được chọn lớn hơn hoặc bằng 1000 (tức là thời gian giữa hai giao nhận OCR thành công bằng 1 ms). Giả định OCRResolution=2000,
Một ứng dụng với giả định trôi giữa STB và OTB là 0,1 % (tức là 1 ms mỗi s) thì các đồng hồ cần phải được hiệu chỉnh ít nhất mỗi giây (tức là trường hợp tồi tệ nhất, các đồng hồ sẽ bị trôi 1 ms). Giả định objectClockReference được gửi mỗi giây.
Ứng dụng muốn có time line OTB rõ ràng trong 24h mà không cần thiết lập lại hệ số k thì OCRLength phải được lựa chọn sao cho 2SL.OCRLength/SL.OCRResolution=2 4h.
Giả định ứng dụng muốn đồng bộ các sự kiện trong dòng cơ sở đơn với độ chính xác 10 ms. TimeStampResolution nên được chọn bằng hoặc lớn hơn 100 (thời gian giữa hai giao nhận TimeStamp thành công bằng 10ms). Giả định TimeStampResolution=200 .
Giả định ứng dụng muốn gửi đơn vị truy cập trước thời gian giải mã và sắp xếp tối đa là 1 phút thì timeStampLength phải được chọn sao cho 2SL.timeStampLength/SL. timeStampResolution = 2 phút.
7.3.3 Giao diện ứng dụng DMIF
Giao diện ứng dụng DMIF là một giao diện quy định dữ liệu cần được trao đổi giữa tầng đồng bộ và cơ chế phân phối. Truyền thông giữa tầng đồng bộ và cơ chế phân phối bao gồm dữ liệu gói SL cũng như các thông tin bổ sung để truyền tải chiều dài của mỗi gói SL.
Thực hiện chuẩn này không phải trình bày giao diện ứng dụng DMIF. Tuy nhiên đầu cuối tuân thủ chuẩn này phải có chức năng như được mô tả bởi DAI để có thể nhận các gói SL tạo nên dòng gói SL. Cụ thể, cơ chế phân phối dưới lớp đồng phổ phải cung cấp phương pháp phân khung hoặc mã hóa chiều dài gói SL được truyền tải qua nó.
Giao diện ứng dụng DMIF được quy định trong ISO/IEC 14496-6 bao gồm rất nhiều chức năng phân phối dữ liệu yêu cầu. DAI có nguyên hàm (primitives) dữ liệu để nhận và gửi dữ liệu, bao gồm các chỉ báo về kích thước dữ liệu. Với giao diện này, mỗi lần gọi DA_Data hoặc DA_DataCallback phải truyền một gói SL giữa tầng đồng bộ và cơ chế truy nhập bên dưới.
7.4 Ghép các dòng cơ sở
7.4.1 Giới thiệu
Dữ liệu dòng cơ sở được đóng gói trong các dòng gói SL được gửi/nhận thông qua giao diện ứnq dụng DMIF, như quy định trong mục 7.3. Thủ tục ghép và kiến trúc của các lớp giao thức phân phối không thuộc phạm vi của tiêu chuẩn này. Tuy nhiên, cú pháp và Ngữ nghĩa tầng đồng bộ đã được định nghĩa, do đó các dòng gói SL có thể dễ dàng được nhúng trong các ngăn giao thức truyền tải khác nhau.
Phân tích ngăn giao thức truyền tải cho thấy, đối với ngăn các gói có chiều dài không đổi (như dòng truyền trải MPEG 2) hoặc mào đầu ghép cao (như RTP/UDP/IP) thì có thể có ưu điểm chung đó là công cụ ghép có độ phức tạp thấp, nên cho phép đan xen dữ liệu với mào đầu thấp và trễ thấp. Điều này rất quan trọng trong trường hợp các ứng dụng có tốc độ bit thấp. Mục này quy định công cụ ghép đó và chúng ta có thể sử dụng công cụ đó như một tùy chọn.
7.4.2 Công cụ M4Mux
7.4.2.1 Tổng quan
Công cụ M4Mux là một bộ ghép linh hoạt, nó điều tiết việc đan xen các dòng gói SL với tốc độ bít tức thời thay đổi. Thực thể dữ liệu cơ bản của M4Mux là gói M4Mux, gói này có chiều dài thay đổi. Một hoặc một số gói SL được nhúng trong gói M4Mux như quy định chi tiết trong phần sau của mục này. Công cụ M4Mux cung cấp định danh cho các gói SL có nguồn gốc từ các dòng cơ sở khác nhau bởi số kênh M4Mux. Mỗi dòng gói SL được ánh xạ vào trong một kênh M4Mux. Các gói M4Mux với dữ liệu từ các dòng gói SL khác nhau có thể được đan xen một cách tùy ý. Chuỗi các gói M4MUX được đan xen trong một dòng được gọi là một dòng M4Mux.
Dòng M4Mux được lấy từ bộ nhớ hoặc một phiên truyền dẫn có thể được phân tích như một dòng dữ liệu đơn. Tuy nhiên, phân khung các gói M4MUX bởi các lớp tầng dưới được yêu cầu để truy cập ngẫu nhiên hoặc phục hồi lỗi. Không yêu cầu phân khung mỗi gói M4Mux riêng biệt. M4Mux cũng yêu cầu phát hiện lỗi bởi các lớp dưới. Thiết kế này đã được chọn với điều kiện biết việc phân khung và cơ chế phát hiện lỗi trong nhiều trường hợp được cung cấp bởi ngăn giao thức truyền tải dưới M4Mux.
Hai chế độ hoạt động khác nhau của M4Mux cung cấp các thuộc tính và độ phức tạp tính khác nhau. Gọi là chế độ đơn giản và chế độ MuxCode. Dòng M4Mux có thể là các gói M4Mux được sắp xếp tùy ý sử dụng một trong hai chế độ đó. Cú pháp và Ngữ nghĩa của hai chế độ được định nghĩa dưới đây.
Việc phân phối định thời dòng M4Mux có thể được truyền tải bởi các nhãn thời gian tham chiếu đồng hồ M4Mux. Chức năng này có thể được sử dụng để thiết lập mô hình bộ đệm ghép trên tầng phân phối. Cả nhãn thời gian và chế độ MuxCode yêu cầu cấu hình ngoài băng trước để sử dụng.
7.4.2.2 Chế độ đơn
Trong chế độ đơn, một gói SL được bọc trong một gói M4Mux và gán nhãn bởi một index bằng với số kênh M4Mux được chỉ ra trong Hình 10. Chế độ này không yêu cầu đầu cuối cấu hình hoặc duy trì trạng thái.
Gói M4Mux | ||
Chỉ số | Chiều dài | Gói SL |
Tiêu đề | Tải trọng |
Hình 11 - Cấu trúc của gói M4Mux trong chế độ đơn.
7.4.2.3 Chế độ ghép mã (MuxCode)
Trong chế độ ghép mã MuxCode, một hoặc một vài gói SL có thể được bọc trong một gói M4Mux như chỉ ra trong Hình 12. Chế độ này, đầu cuối thu phải yêu cầu cấu hình và duy trì trạng thái. Cấu hình này mô tả các gói M4Mux được chia sẻ giữa nhiều gói SL. Trong chế độ này giá trị chỉ số (index) được sử dụng truy nhập vào thông tin cấu hình xác định quá trình phân phối tải trọng gói M4Mux cho các kênh M4Mux khác nhau.
Gói M4Mux (M4Mux - packet) | ||||||
Chỉ số | Độ dài | Phiên bản | Gói SL | Gói SL | .... | Gói SL |
H | Tải trọng | H | Tải trọng | .... | H | Tải trọng |
Hình 12 - Cấu trúc của gói M4Mux trong chế độ MuxCode
7.4.2.4 Quy định gói M4Mux
7.4.2.4.1 Cú pháp
7.4.2.4.2 Ngữ nghĩa
length -là chiều dài của tải tin payload gói M4Mux, đơn vị byte. Bằng với chiều dài của gói SL đơn được gói trong chế độ đơn và tổng chiều dài các gói SL được gói trong chế độ MuxCode. Nếu M4MuxlDDescriptor không được sử dụng, hoặc được sử dụng và nếu Muxtype đang thiết kế công cụ M4Mux đầu tiên thì trường chiều dài là 1 byte. Nếu M4MuxlDDescriptor được sử dụng và nếu Muxtype đang thiết kế công cụ M4Mux thứ hai thì tính toán chiều dài phải kết hợp cả hai trường nextByte và sizeByte, nó có thể trải dài trên vài byte. Trong chế độ đơn, khi chiều dài bằng 0 thì gói M4Mux mang một byte chứa trường FMC_version_number. Trong chế độ đơn, các gói M4MUX với chiều dài bằng không (mỗi gói mang FMC_version_number) có thể được nhân đôi.
FMC_version_number -là trường 5 bit cho biết phiên bản hiện tại của M4MuxChannelDescriptor. FMC_version_number được sử dụng cho các mục đích lỗi dư. Nếu sổ phiên bản này không phù hợp với phiên bản của M4MuxChannelDescriptor thu được mới nhất được tham chiếu vừa thu được thì các gói M4Mux sau thuộc về cùng một kênh M4Mux và không được phân tích. Thực thi tự do để hoặc là đợi cho đến khi có phiên bản yêu cầu M4MuxChannelDescriptor hoặc loại bỏ các gói thuộc cùng một kênh M4Mux theo sau. Trong chế độ đơn, giá trị trường FMC_version_number giống hệt nhau cho gói M4Mux nhân bản tiếp theo với chiều dài bằng 0.
7.4.2.5 Cấu hình và sử dụng chế độ ghép mã (Muxcode)
7.4.2.5.1 Cú pháp
7.4.2.5.2 Ngữ nghĩa
Cấu hình cho chế độ MuxCode được báo hiệu bởi các bản tin MuxCodeTableEntry. Truyền tải MuxCodeTableEntry phải được xác định trong khi thiết kế ngăn xếp giao thức truyền tải sử dụng công cụ M4Mux. Phần 6 của bản bản dự thảo cuối cùng của tiêu chuẩn quốc tế định nghĩa một phương pháp truyền tải thông tin sử dụng DN_TransmuxConfig ban đầu.
Yâu cầu cơ bản cho việc truyền tải thông tin cấu hình là dữ liệu đến tin cậy và kịp thời. Tuy nhiên, giới hạn hoạt động cụ thể thì không yêu cầu cho kênh điều khiển này vì số phiên bản cho phép phát hiện các gói M4Mux không thể được giải mã và do đó kích hoạt các hành động hợp lý ở đầu cuối thu. length - là chiều dài (đơn vị byte) phần còn lại của MuxCodeTableEntry sau thành phần length.
MuxCode - là số mà qua đó bảng MuxCode được tham chiếu.
version - cho biết phiên bản của MuxCodeTableEntry. Chỉ phiên bản MuxCodeTableEntry nhận được sau cùng mới có hiệu lực.
substructureCount - là số cấu trúc con của MuxCodeTableEntry này.
slotCount - là số khe với dữ liệu từ các kênh M4Mux khác nhau, được mô tả bởi cấu trúc con này.
repetitionCount - cho biết tần suất cấu trúc con này được lặp lại. repetitionCount zero cho biết cấu trúc con này được lặp lại vô tận. repetitionCount zero chỉ được phép trong cấu trúc con sau cùng của MuxCodeTableEntry.
M4MuxChannel[i] [k] - là kênh M4Mux mà dữ liệu trong khe đó thuộc về.
numberOfBytes [i] [k] - số byte dữ liệu trong khe được liên kết với m4MuxChannel [i] [k]. Số byte tương ứng với một gói SL.
7.4.2.5.3 Sử dụng
MuxCodeTableEntry miêu tả một gói M4Mux được phân thành các khe mang dữ liệu từ các kênh M4Mux khác nhau. Nó được sử dụng như mà một mẫu để phân tinh các gói M4Mux. Nếu một gói M4Mux dài hơn mẫu, thì việc phân tích sẽ được tiếp tục từ phần đầu của mẫu. Nếu gói M4Mux ngắn hơn mẫu, thì phần còn lại của mẫu bị bỏ qua.
Chú ý, sử dụng chế độ MuxCode có thể không hiệu quả nếu các gói SL đối với dòng cơ sở cho trước không có chiều dài hạn chế. Xác định mào đầu cho một cập nhật của MuxCodeTableEntry liên kết, sử dụng chế độ đơn có thể hiệu quả hơn.
Hơn nữa, dữ liệu cho kênh M4Mux đơn có thể được truyền tải qua một chuỗi các gói M4Mux với cả hai chế độ
Ví dụ:
Giả định biểu diễn ba cấu trúc con. Mỗi một cấu trúc con có đếm khe cũng như đếm lặp. Các tham số chính xác như sau:
substructureCount = 3
slotcountfl] * 2, 3, 2 (đối với cấu trúc con tương ứng) repetitionCount[i] = 3, 2,1 (đối với cấu trúc con tương ứng).
chúng ta giả định mỗi khe cấu hình số kênh FMCn (m4MuxChannel) với số byte (m4MuxChanne10. Cấu hình này cho kết quả là sự phân tách tải trọng gói M4Mux thành:
FMC1 (Bytes-1), FMC2 (Bytes2) lặp lại 3 lần, sau đó
FMC3 (Bytes3), FMC4 (Bytes4), FMC5 (Bytes5) lặp lại 2 lần, sau đó
FMC6 (Bytes6), FMC7 (Bytes7) lặp lại một lần
Việc bố trí các gói M4Mux tương ứng sẽ được đưa ra trong Hình 13.
Hình 13 - Ví dụ gói M4Mux trong chế độ MuxCode
7.4.2.6 Cấu hình và sử dụng tham chiếu đồng hồ M4Mux
7.4.2.6.1 Cú pháp
7.4.2.6.2 Ngữ nghĩa
Chuỗi các nhãn thời gian fmxClockReference trong dòng M4Mux tạo thành dòng tham chiếu thời gian, mặc dù với một cú pháp khác được quy định trong mục 7.3. Các dòng cơ sở phải được liên kết với gốc thời gian được thiết lập bởi tham chiếu đồng hồ này bằng cách tham chiếu FCR_ES_ID như OCR_ES_ID của nó trong SLConfigDescriptor. Việc truyền tải M4MuxTimingDescriptor phải được định nghĩa trong quá trình thiết kế ngăn giao thức truyền tải sử dụng công cụ M4Mux.
7.4.2.6.3 Sử dụng
Các nhãn thời gian tham chiếu đồng hồ M4MUX có thể được sử dụng để thiết lập và xác minh một mô hình bộ đệm ghép. Thông tin fmxClockReference xác định thời gian đến t(i) của các byte (i) riêng biệt của dòng M4Mux theo cách sau:
Trong đó:
i là chỉ số của byte trong dòng M4Mux, i"<i<i'
i” là chỉ số của byte chứa bít sau cùng của trường fmxClockReference gần nhất trong dòng M4Mux.
FCR(i") là thời gian được mã hóa trong fmxClockReference trong các khối của FCRResolution
fmxRate(i) cho biết tốc độ quy định bởi trường fmxRate cho byte i
7.4.2.7 Mô tả bộ đệm M4Mux
7.4.2.7.1 Cú pháp
7.4.2.7.2 Ngữ nghĩa
Kích thước của bộ đệm ghép cho mỗi kênh M4Mux được báo hiệu bởi M4MuxBufferDescriptors. Một bộ mô tả/kênh M4Mux được yêu cầu trừ khi DefaultM4MuxBuf ferDescriptor được sử dụng. Truyền tải M4MuxBufferDescriptors phải được định nghĩa trong khi thiết kế ngăn xếp giao thức truyền tải sử dụng công cụ M4Mux.
m4MuxChannel - là số kênh M4Mux.
FB_BufferSize - là kích thước bộ đệm M4Mux cho kênh M4Mux (đơn vị byte).
7.4.2.8 Bộ mô tả bộ đệm M4Mux mặc định
7.4.2.8.1 Cú pháp
7.4.2.8.2 Ngữ nghĩa
Kích thước mặc định của bộ đệm ghép cho mỗi kênh riêng biệt trong một dòng M4Mux được báo hiệu bởi DefaultM4MuxBufferDescriptor. Các kênh M4Mux sử dụng kích thước bộ đệm khác nhau có thể được báo hiệu nhờ sử dụng M4MuxBufferDescriptor. Truyền tải DefaultM4MuxBuf ferDescriptor phải được định nghĩa trong quá trình thiết kế ngăn xếp giao thức truyền tải sử dụng công cụ M4Mux.
FB_DefaultBufferSize - kích thước mặc định của bộ đệm M4Mux đối với dòng M4Mux, đơn vị byte.
7.4.2.9 Mô hình bộ đệm M4Mux
FBn là bộ đệm M4Mux cho dòng cơ sở trong kênh M4Mux thứ n,
Rbx là tốc độ dữ liệu vào bộ đệm M4Mux.
Mô hình bộ đệm M4Mux áp dụng cho các dòng M4Mux sử dụng các gói kênh tham chiếu đồng hồ M4Mux để xác định thời gian phân phối dòng M4Mux. Dòng M4Mux đi vào mô hình bộ đệm M4Mux ở tốc độ và thời gian như được định nghĩa bởi các trường fmxClockReference and fmxRate. Có thể một vài thời điểm mà trong suốt thời điểm đó không có byte nào ở đầu vào mô hình bộ đệm M4Mux, nhưng các byte của tất cả các gói M4MUX được đặt trước gói kênh tham chiếu đồng hồ M4Mux kế tiếp phải được phân phối tới mô hình bộ đệm M4Mux trước khi phân phối byte của gói kênh tham chiếu đồng hồ M4Mux tiếp theo.
Mỗi kênh M4Mux (kênh i), gói M4Mux được lưu trong bộ đệm M4Mux FBi. Các byte trong bộ đệm FBj bị gỡ khỏi ở tốc độ quy định bởi trường InstantRate trong tiêu đề SL của dòng gói SL được chứa. Sau khi loại bỏ từng byte vào bộ đệm dòng DBi thì dòng M4Mux phải được thiết lập đáp ứng các điều kiện: Bộ đệm FBi phải không bị tràn.
7.4.2.10 Bộ mô tả M4MuxlD
7.4.2.10.1 Cú pháp
7.4.2.10.2 Ngữ nghĩa
MuxiD - là ID của dòng M4Mux.
Mux type - là kiểu công cụ ghép được sử dụng để tạo ra dòng M4Mux. Giá trị byte được chỉ ra phải phù hợp với Bảng 16.
Muxmanagement - chế độ quản lý được sử dụng bởi công cụ ghép, để tạo ra dòng M4Mux. Giá trị chế độ đó phải phù hợp với Bảng 17.
Bảng 16 - Kiểu ghép
Kiểu | Công cụ ghép |
0 | Công cụ M4Mux |
1 | Công cụ M4Mux_2 |
2-7 | ISO/IEC 14496-1 Được dành riêng |
8-15 | Người dùng riêng |
Bảng 17 - Chế độ quản lý ghép
Kiểu | Chế độ quản lý |
0 | Tĩnh |
1 | Động |
2-7 | ISO/IEC 14496-1 Được dành riêng |
8-15 | Người dùng riêng |
7.4.3 Bộ mô tả M4Mux
Được rút ra trực tiếp từ các lớp mô tả M4Mux, sau đây định nghĩa các bộ mô tả M4Mux được trỏ tới bởi bảng “danh sach các Dấu Lớp của bộ mô tả”
7.4.3.1 M4MuxChannelDescriptor
7.4.3.1.1 Cú pháp
7.4.3.1.2 Ngữ nghĩa
version_number - trường 5 bit là số phiên bản của một M4MuxChannelDescriptor hoàn chỉnh. Số phiên bản phải được tăng lên 1 khi định nghĩa M4MuxChannelDescriptor thay đổi. Khi đạt giá trị 31, thì nó sẽ quay trở về 0. Khi current_next_indicator được thiết lập là 1 thì version_number phải là số phiên bản của M4MuxChannelDescriptor đang áp dụng. Khi current_next_indicator thiết lập là '0' thì version_number phải là số phiên bản của current_next_indicator áp dụng tiếp theo.
current_next_indicator - là chỉ báo 1 bit, khi thiết lập là 1 cho biết M4MuxChannelDescriptor đã thu đang được áp dụng. Khi thiết lập là 1 cho biết M4MuxChannelDescriptor đã thu chưa được áp dụng và phải là M4MuxChannelDescriptor tiếp theo có hiệu lực.
khoảng thời gian hiệu lực được liên kết với mỗi version_nuntber của M4MuxChannelDescriptor. Chỉ trong khoảng thời gian hiệu lực, các gói M4Mux tham chiếu tới phiên bản được chỉ ra bởi version_number. Khoảng thời gian hiệu lực của một phiên bản bắt đầu ngay khi M4MuxChannelDescriptor được gửi đi với current_next_indicator == 1.
Khoảng thời gian có hiệu lực của một phiên bản kết thúc ngay khi M4MuxChannelDescriptor trống được gửi với current_next_indicator == 1, tức là việc gán phiên bản M4MuxChannelDescriptor không áp dụng nữa.
Một M4MuxChannelDescriptor trống là một M4MuxChannelDescriptor được gửi với sizeOfInstance == 1, vì thế không có dòng cơ sở nào được mô tả.
ES_ID - là trường 16 bít quy định định danh của một dòng gói SL theo tiêu chuẩn này.
M4MuxChannel - là trường 8 bit quy định số kênh M4Mux được sử dụng cho dòng gói SL này.
7.4.3.2 Bộ mô tả kích thước bộ đệm M4Mux
7.4.3.2.1 Cú pháp
7.4.3.2.2 Ngữ nghĩa
DefaultM4MuxBufferDescriptor - kích thước mặc định của bộ đệm ghép đối với mỗi kênh riêng biệt trong dòng M4Mux được báo hiệu bởi lớp DefaultM4MuxBuf ferDescriptor .
M4MuxBuf ferDescriptor - là kích thước chính xác của các bộ đệm ghép cho mỗi kênh trong dòng M4Mux có thể được báo hiệu bởi lớp M4MuxBufferDescriptor.
7.4.3.3 M4MuxTiming Decriptor (Bộ mô tả định thời M4Mux)
7.4.3.3.1 Cú pháp
7.4.3.3.2 Ngữ nghĩa
M4MuxTimingDescriptor - lớp bộ mô tả này định nghĩa FCR_ES_ID, FCRResolution, FCRLength, FmxRateLength.
7.4.3.4 Bộ mô tả M4MuxCodeTable
7.4.3.4.1 Cú pháp
7.4.3.4.2 Ngữ nghĩa
MuxCodeTableEntry () - lớp này định nghĩa cấu hình M4Mux của một kênh M4Mux.
Một vài M4MuxCodeTableDescriptor có thể được sử dụng với các lớp đối tượng MuxCodeTableEntry khác nhau.
7.4.3.5 Bộ mô tả M4Muxldent
7.4.3.5.1 Cú pháp
7.4.3.5.2 Ngữ nghĩa
M4MuxlDDescriptor - lớp này định nghĩa MuxID, Muxtype, Muxmanageraent.
8 Ngôn ngữ mô tả cú pháp
8.1 Giới thiệu
Mục này mô tả cơ chế với cú pháp dòng bít được ghi chép trong bộ tiêu chuẩn TCVN 11795. Cơ chế này dựa trên ngôn ngữ mô tả cú pháp (SDL), được ghi chép ở đây theo định dạng các quy tắc mô tả củ pháp. Nó trực tiếp mở rộng cú pháp C-like được sử dụng trong ISO/IEC 11172-1:1993 và ISO/IEC 13818-1:2007 vào khuôn dạng rõ ràng hướng tới trình diễn dữ liệu hướng đối tượng. Cụ thể SDL giả định các khuôn dạng sau hướng đối tượng, trong đó các khối dòng bít bao gồm các “clause”. Khuôn dạng này dựa trên hệ thống gõ C++ và ngôn ngữ lập trình Java. SDL mở rộng hệ thống gõ bằng cách cung cấp tiện nghi cho việc xác định số lượng mức dòng bít và cách mà nó được phân tích.
Các cấu trúc cơ sở được mô tả đầu tiên, theo sau bởi cấu trúc cú pháp sắp xếp, thuật toán và biểu diễn logic. Cuối cùng, cú pháp điều khiển dòng và xây dựng các chức năng được giải quyết. Cú pháp điều khiển dòng cần bao gồm cả dữ liệu theo ngữ cảnh. Một vài ví dụ được sử dụng để minh họa cho cấu trúc này.
8.2 Loại dữ liệu cơ sở
8.2.1 Giới thiệu
SDL sử dụng các kiểu dữ liệu cơ sở sau:
1. Các trường bít biểu diễn trực tiếp độ dài không đổi hay Mã chiều dài cố định -FLC. Những kiểu này mô tả giá trị mã mã hóa một cách chính xác do đó nó được sử dụng bởi tiến trình giải mã thích hợp.
2. Trường bít biểu diễn trực tiếp chiều dài thay đổi hay là FLC tham số. Những kiểu này là các FLC mà chiều dài thực được xác định bởi nội dung của dòng bít (ví dụ giá trị của một tham số khác)
3. Trường bit biểu diễn gián tiếp chiều dài không đổi. Những trường này yêu cầu một tìm kiếm thêm trong bảng hoặc biến số phù hợp để có được giá trị, hoặc tập giá trị mong muốn.
4. Trường bít biểu diễn gián tiếp chiều dài biến đổi (ví dụ như mã Huffman)
Những kiểu dữ liệu cơ sở này được mô tả chi tiết hợp trong các mục dưới đây.
Tất cả số lượng sẽ được biểu diễn trong dòng bit với byte đầu tiên quan trọng nhất và cũng có bit đầu tiên quan trọng nhất.
8.2.2 Các trường bit biểu diễn trực tiếp có độ dài cố định
Trường bit biểu diễn trực tiếp chiều dài không đổi sẽ được trình diễn như sau:
type có thể là: int cho số nguyên có dấu, unsigned int số nguyên không dấu, double cho dấu phẩy động và bit cho dữ liệu nhị phân thô. Thuộc tính length cho biết chiều dài của phần tử (bit) vì thế nó được lưu trong dòng bit. Chú ý nếu kiểu dữ liệu type là double phải chỉ sử dụng 32 hoặc 64 bit. Value chỉ được biểu diễn khi giá trị cố định (ví dụ các mã mở đầu hoặc các ID đối tượng) và nó cũng cho biết khoảng giá trị (tức là ‘0x01..0xAF’). type và các thuộc tính length tùy chọn cũng được biểu diễn, ngoại trừ nếu dữ liệu không phân tích được, tức là nó không được bao hàm trong dòng bít. Từ khóa aligned cho biết dữ liệu được căn chỉnh trên một ranh giới byte. Ví dụ, mã khởi đầu sẽ được biểu diễn như sau:
aligned bit(32) picture_start_code=0x00000100;
Một bộ hiệu chỉnh số tùy chọn, như trong aligned (32), có thể được sử dụng để biểu thị sư căn chỉnh ngoài ranh giới byte. Các giá trị cho phép là 8, 16, 32, 64 và 128. Bất kỳ một bit nào bị bỏ qua do căn chỉnh thì phải có giá trị 0. Một phần tử như thế thì tham chiếu thời gian sẽ được biểu diễn:
unsigned int(5) temporal_reference;
Trong đó unsigned int(5) cho biết phần tử đó được hiểu như là số nguyên không dấu 5 bít. Theo mặc định thì dữ liệu này sẽ được biểu diễn với bit đầu tiên quan trọng nhất và byte đầu tiên quan trọng nhất.
Giá trị của các biến phân tích được với các khai báo nằm ngoài dòng khai báo sẽ được thiết lập là 0.
Các hằng số sẽ được định nghĩa sử dụng từ khóa const,
VÍ DỤ -
Để xác định các giá trị nhị phân, tiền tố 0b phải được sử dụng, tương tự với tiền tố 0x đổi với các số hệ thập lục phân. Khoảng có thể tùy chọn đặt sau mỗi bốn chữ số cho dễ đọc. Vì thế 0x0F tương đương với 0b0000. 1111.
Trong một số ví dụ, mong muốn kiểm tra các bit kế tiếp trong dòng bít mà không cần sử dụng các bit. Để hỗ trợ khả năng này, ký tự phải được đặt sau dấu ngoặc đơn kích thước phân tích để hiệu chỉnh Ngữ nghĩa kích thước phân tích.
Ví dụ, giá trị của 32 bít tiếp theo trong dòng bít có thể được kiểm tra là một số nguyên không dấu mà không cần dịch chuyển vị trí hiện tại lên trước trong dòng bít sử dụng biểu diễn sau:
aligned unsigned int (32)* next_code;
8.2.3 Các trường bit biểu diễn trực tiếp có độ dài thay đổi
Trường hợp này thuộc quy tắc E.1, bằng cách cho phép thuộc tính length là một biến trong dòng bít, biến không phân tích được, hoặc một biểu thức có các biến đó.
Ví dụ:
8.2.4 Các trường bit biểu diễn gián tiếp có độ dài cố định
Biểu diễn gián tiếp cho biết giá trị thực của phần tử theo cách này không được quy định trực tiếp bởi dòng bít thông qua sử dụng bảng hoặc bản đồ. Nói cách khác, giá trị được trích xuất từ dòng bít là một chỉ số cho đến 1 bảng, từ đó giá trị cuối cùng mong muốn được trích xuất. Biểu diễn gián tiếp này có thể được biểu diễn bằng cách định nghĩa bản đồ:
Những bảng này được sử dụng để thông dịch hoặc ánh xạ bít từ dòng bít vào tập một hoặc một số giá trị. Kiểu đầu vào của một map (chỉ số được quy định trong cột đầu tiên) luôn phải là bit. Thực thể đầu ra phải hoặc là kiểu được định nghĩa trước hoặc lớp đã xác định (các lớp được xác định trong 8.3.1). map được định nghĩa như một tập các cặp chỉ số và giá trị như thế. Các khóa là hằng số chuỗi nhị phân trong khi các giá trị là hằng số output_type. Các giá trị phải được quy định là tập các giá trị nằm trong dấu {}, tương tự với cấu trúc C hoặc C++.
VÍ DỤ -
8.2.5 Các trường bit biểu diễn gián tiếp có độ dài thay đổi
Đối với thành phần chiều dài biến đổi sử dụng Huffman hoặc bảng mã chiều dài biến đổi, thông số đồng nhất đến trường hợp chiều dài cố định phải được sử dụng:
Chỉ khác là các chỉ số của map bây giờ có chiều dài biến đổi. Các từ mã chiều dài biến đổi là các chuỗi nhị phân, được biểu diễn mặc định ở định dạng ‘0b’ or '0x’, tùy chọn sử dụng ('.') cho mỗi khoảng bốn số nhằm mục đích dễ đọc.
Các bảng mã chiều dài thay đổi thường xuyên được định nghĩa từng phần. Do một số lớp các thực thể có thể không hiệu quả trong việc tiếp tục sử dụng các từ mã chiều dài thay đổi cho các giá trị có thể có. Do đó cần sử dụng các mã thoát, nó thông báo tiếp đến sử dụng trình diễn chiều dài cố định (hoặc thậm chí là chiều dài thay đổi). Để cho phép các ngoại lệ đó, thì các khai báo kiểu có thể phân tích được phép đối với các giá trị map.
Ví dụ: ví dụ này sử dụng kiểu lớp ‘val’ như định nghĩa ở trên.
Khi gặp phải từ mã 0b0000.0000.1 trong dòng bít, thì giá trị ‘5’ được gán cho phần tử đầu tiên (val. foo). 32 bít tiếp theo được phân tích và gán giá trị của thành phần thứ hai (val.bar). Chú ý, trong trường hợp nhiều hơn một phần tử sử dụng khai báo kiểu phân tích được, thì thứ tự là rất quan trọng và là thứ tự mà các phần tử được phân tích. Hơn nữa, kiểu trong khai báo map phải kết nối kiểu được sử dụng trong khai báo lớp có liên kết với kiểu trả về của map.
8.3 Kiểu dữ liệu phức hợp
8.3.1 Phân loại
Các lớp là cơ chế mà các định nghĩa kiểu sắp xếp hoặc đối tượng được thực hiện. Các định nghĩa như sau:
Các phần tử khác nhau trong dấu móc nhọn là các định nghĩa phần tử dòng bít cơ sở như mô tả trong 12.2 hoặc các phần tử điều khiển dòng sẽ được mô tả trong mục tiếp theo.
Từ khóa tùy chọn extends quy định class được “suy ra” từ một class khác. Suy ra tức là tất cả thông tin được xuất hiện trong class cơ sở cũng xuất hiện trong class suy ra và trong dòng bít, tất cả thông tin đó đứng trước bất kỳ khai báo cú pháp dòng bit bổ sung như quy định trong lớp mới.
Thuộc tính tùy chọn id_name cho phép gán object_id và nếu xuất hiện thì thực thể giải ghép cơ bản cho phép sự khác nhau giữa đối tượng gốc và đối tượng được dẫn xuất. Nó cũng phù hợp để có một dải các giá trị có thể: id_range được quy định như start_id.. end_id, bao gồm cả các giới hạn. Nó cũng có thể có sự kết hợp id_range và object_id: extended_id_range được quy định như danh sách object_id và range_id được ngăn cách bởi dấu phẩy; ví dụ, id_name = object_id1, object_id2, start_id.. end_id.
Nếu thuộc tính id_name được sử dụng, class suy ra có thể xuất hiện ở bất kỳ điểm nào trong dòng bít, nơi class cơ sở được quy định trong cú pháp. Cho phép biểu diễn tính đa dạng trong mô tả cú pháp SDL. class thực tế được phân tích như sau:
Khai báo class sẽ gán giá trị hằng số hoặc khoảng giá trị cho object_id. Giá trị hoặc tập giá trị này phải tương ứng với các giá trị object_id khả chấp cho class cơ sở.
CHÚ THÍCH 1 - sự suy ra các lớp có thể thậm chí khi các object_id không được sử dụng. Tuy nhiên, trong trường hợp đó, các lớp suy ra có thể không thay thế lớp cơ sở trong dòng bít.
CHÚ THÍCH 2 - các lớp suy ra có thể sử dụng cùng một giá trị object_id như lớp cơ sở. Trong trường hợp đó chỉ có thể được phân biệt thông qua thông tin nội dung.
Ví dụ:
Thứ tự khai báo các thành phần dòng mã rất quan trọng: có cùng thứ tự với thứ tự xuất hiện các phần tử trong dòng mã. Trong ví dụ trên bar. b xuất hiện ngay trước bar.c trong dòng bít.
Các đối tượng cũng có thể được bao bọc trong các đối tượng khác. Trong trường hợp đó, phần tử theo quy tắc C.1 chính là bản thân đối tượng.
8.3.2 Lớp trừu tượng
Khi từ khóa abstract được sử dụng trong khai báo class, cho biết chỉ những lớp dẫn xuất của lớp này xuất hiện trong dòng bít. Có nghĩa là các lớp suy ra có thể sử dụng khoảng các ID sẵn có. Khai báo lớp trừu tượng yêu cầu khai báo một ID với giá trị 0.
8.3.3 Lớp mở rộng
Khi từ khóa expandable được sử dụng trong khai báo class, cho biết class đó có thể chứa mảng ngầm định hoặc dữ liệu kế tiếp không xác định, gọi là “mở rộng”. Trong trường hợp này class mã hóa kích thước của theo byte. Nó có thể được sử dụng cho các lớp yêu cầu có mở rộng tương thích trong tương lai hoặc có thể bao gồm dữ cá nhân. Thiết bị có thể giải mã một lớp có khả năng mở rộng đến biến sau cùng đã được định nghĩa cho một phiên bản cho trước của lớp này. Sử dụng thông tin kích thước, bộ phân tích sẽ bỏ qua dữ liệu class theo sau thành phần cú pháp đã biết sau cùng. Bất kỳ vị trí nào trong cú pháp nơi một tập các lớp có khả năng mở rộng với object_id được dự kiến cho phép đặt rải rác các lớp có khả năng mở rộng với các giá trị object_id chưa biết. Những lớp này phải được bỏ qua bằng cách sử dụng thông tin kích thước.
Việc mã hóa kích thước thực hiện trước biến class phân tích được. Nếu class có một object_id, việc mã hóa object_id phải trước mã hóa kích thước. Thông tin kích thước phải không bao gồm số byte cần thiết cho mã hóa kích thước và mã hóa object_id. Trường hợp các lớp có khả năng mở rộng được phải luôn có kích thước tương ứng với số nguyên byte. Thông tin kích thước có khả năng truy nhập trong lớp.
Nếu từ khóa expandable có thuộc tính maxClassSize, thì thuộc tính này cho biết kích thước tối đa cho phép của lớp (tính bằng byte), bao gồm các mở rộng.
Việc mã hóa chiều dài tự định nghĩa trong SDL như sau:
int sizeOflnstance = 0;
8.3.4 Kiểu tham số
Kiểu tham số xác định một lớp với các tham số. Kiểu này giải quyết các trường hợp cấu trúc dữ liệu lớp phụ thuộc vào các biển của một hoặc một số đối tượng khác. Do SDL theo sau một tiếp cận khai báo, tham chiếu tới các đối tượng khác, trong các trường hợp như thế, không thể thực hiện trực tiếp (không được khởi tạo). Kiểu tham số cung cấp phần giữ chỗ cho những tham chiếu, giống với các đổi số trong khai báo hàm C. Cú pháp định nghĩa lớp với các tham số như sau:
Danh sách tham số là một danh sách cặp tên type và tên biến, cách nhau dấu phẩy. Bất kỳ thành phần nào của dòng bít, hoặc giá trị suy ra từ dòng bít với từ khóa chiều dài biến đổi, hoặc là hằng số thì đều có thể được xem như là tham số.
class sử dụng các kiểu tham số phụ thuộc vào các đối tượng trong danh sách các tham số của nó, mặc dù đó là các đối tượng class hoặc là các biến đơn. Khi tạo nấc class trong một đối tượng, các tham số phải được khởi tạo đối tượng của lớp hoặc kiểu tương ứng với tham số.
8.3.5 Mảng
Mảng được định nghĩa tương tự như trong C/C++, tức là sử dụng dấu móc vuông. Tuy nhiên chiều dài có thể phụ thuộc vào tham số chạy thời gian như các giá trị dòng bít khác hoặc các mở rộng liên quan đến giá trị này. Khai báo mảng có thể áp dụng cho cả phần tử cũng như các đối tượng sắp xếp.
typespec là chi tiết kỹ thuật của type (bao gồm thông tin biểu diễn dòng bít, ví dụ e.g. ‘int(2)’). Thuộc tính name là tên của mảng và length là chiều dài của nó.
ở đây ‘a’ là một mảng 5 phần tử, mỗi phần tử được biểu diễn bằng 4 bít trong dòng bít và được biểu diễn bởi số nguyên không dấu. Còn mảng ‘c’ có chiều dài phụ thuộc vào giá trị của 'b'. Mảng nhiều chiều cũng có thể định nghĩa được. Trình tự phân tích từ dòng bít tương ứng với việc quét mảng từ vị trí bên phải sang, phần tư thứ nhất, thứ hai,...
8.3.6 Mảng cục bộ
Trong một số trường hợp, muốn tải từng giá trị của mảng để kiểm tra thì khai báo mảng mở rộng được phép, các phần tử riêng biệt của mảng có thể truy cập được.
Ở đây, index là phần tử của mảng được định nghĩa. Một số định nghĩa thành phần như vậy có thể được đưa ra, nhưng tất cả chúng phải phù hợp với chi tiết kỹ thuật type. Những quy định này cũng đúng cho mảng nhiều chiều.
là hàng thứ sáu của mảng và
CHÚ THÍCH -a[5] là mảng 5 phần tử, a[[5]] có nghĩa là mảng có ít nhất 6 phần tử.
8.3.7 Mảng ngầm
Khi một chuỗi các lớp đa hình xuất hiện trong dòng bít, nó có thể được biểu diễn dạng mảng cùng kiểu như lớp cơ sở. Giả định rằng tập các lớp đa hình được định nghĩa, suy ra từ lớp cơ sở Foo.
Mảng các đối tượng như thể thích hợp để ngầm định xác định chiều dài bằng cách kiểm tra tính hợp lệ của ID class. Các đối tượng được chèn trong màng miễn là ID có thể chuyển thành một trong các ID được định nghĩa trong lớp cơ sở hoặc lớp suy ra từ lớp cơ sở đó. Hành vi này được chỉ ra bởi một khai báo mảng không có thông số về chiều dài.
Trong ví dụ này, f có thể ít nhất là 1 và nhiều nhất là 255 phần tử.
8.4 Biểu diễn số học và logic
Tất cả các toán tử logic và số học chuẩn của C++ đều được phép, bao gồm các quy tắc ưu tiên của nó.
8.5 Biến non-Parsable (biến không phân tách được)
Để thích ứng với các cấu trúc cú pháp phức tạp, ở đó nội dung thông tin không lấy được trực tiếp từ dòng bít nhưng chỉ như là kết quả của phép tính không tầm thường, các biến non-parsable được phép. Những biến này chặt chẽ trong phạm vi nội bộ class mà chúng được định nghĩa trong đó. Chúng có thể được sử dụng trong các biểu thức và điều kiện như các biến ở mức dòng bít. Trong những ví dụ sau, số phần tử khác 0 của mạng phải được tính toán.
8.6 Cú pháp điều khiển dòng
Cú pháp điều khiển dòng là cấu trúc cho phép phân tích có điều kiện hoặc phân tích lặp đi lặp lại (tùy vào ngữ cảnh). Trong C/C++ cấu trúc if-then-else được sử dụng để kiểm tra điều kiện, tương tự với C/C++, 0 có nghĩa là sai, khác không có nghĩa là đúng.
Cho phép hai đại diện khác nhau cho phần tử ‘bar’, tùy thuộc vào giá trị của ‘bar_flag’. Có thể có một thực thể khác như thế thay thế cho phiên bản hai (phiên bản chiều dài thay đổi) của 'bar' (đối tượng khác hoặc biển khác). Chú ý việc sử dụng cờ, phải khai báo trước khi sử dụng. Ngoài ra, nếu một biến xuất hiện hai lần (như ví dụ ở trên), thì kiểu của nó phải giống nhau.
Để tạo thuận lợi cho cấu trúc if-then-else thì câu lệnh 'switch' cũng được sử dụng.
Giống với các đối tượng theo ngữ cảnh cũng bao gồm các định nghĩa lặp đối tượng. Tức là sử dụng lặp lại cú pháp giống nhau để phân tích dòng bít, đến khi đáp ứng điều kiện (đó là trong trường hợp vòng lặp có điều kiện, còn lặp cố định thì được thực hiện như nhau). Các cấu trúc vòng lặp như 'for’, 'while' và 'do' có thể được sử dụng cho mục đích này.
expression1 được thực hiện trước khi bắt đầu lặp, expression2 được đánh giá, nếu không phải 0 (đúng) thì các khai báo trong dấu ngoặc được thực hiện, tiếp theo là thực hiện expression3. Thực hiện lặp cho đến khi expression2 được đánh giá là 0 (tức là sai).
Chú ý, nếu không được phép khai báo biển trong expression1, (khác với C++)
Quy tắc FC.4: điều khiển dòng sử dụng Do |
Khối lệnh trên được thực hiện cho đến khi điều kiện trên là false. Chú ý, khối lệnh được thực hiện ít nhất một lần. |
Quy tắc FC.5. Điều khiển dòng sử dụng While |
Khối lệnh được thực hiện có thể 0 hoặc một số lần, miễn là điều kiện được đánh giá là khác 0 (đúng).
8.7 Toán tử có sẵn
Các toán tử có sẵn được định nghĩa như sau:
Quy tắc O.1: lengthof() Operator lengthof (variable)
Toán tử này trả chiều dài con số trong dấu ngoặc đơn (đơn vị bit). Là số bít vừa sử dụng để phân tích con số. Giá trị trả về là 0 nghĩa là không có bít nào được phân tích cho biến này.
8.8 Các quy tắc giới hạn
Tất cả các biến có khả năng phân tích thuộc phạm vi lớp, tức là biến đó xuất hiện như là các biến thuộc lớp. Đối với các biến không phân tích được, thông thường quy tắc giới hạn C++/java được phép (phạm vi mới được giới thiệu trong ‘{'and'}’). Cụ thể, chỉ các biển được khai báo trong phạm vi lớp mới được xem như là các biến thành phần của lớp và vì thế nó có sẵn trong các đối tượng của một kiểu cụ thể.
9 Profile
9.1 Giới thiệu
Chuẩn MPEG gồm các bộ phận khác nhau. Mỗi bộ phận lại bao gồm một đặc điểm kỹ thuật nhất định. Các tiêu chuẩn cũng xác định Profile (cơ cấu) và cấp độ (Levels). Profile nhằm xác định một tập hợp các công cụ có sẵn và cấp độ xác định phạm vi của những giá trị thích hợp cho những thuộc tính liên quan đến chúng.
Mục này định nghĩa profile và cấp độ cho việc sử dụng các công cụ được xác định trong tiêu chuẩn này. Mỗi profile ở một cấp độ cho trước tạo thành một tập con của tiêu chuẩn này, theo đó các cơ sở sản xuất hệ thống và bộ phận tạo nội dung có thể khẳng định sự phù hợp để đảm bảo tính tương thích.
Profile bộ mô tả đối tượng (profile OD) quy định các cấu hình được phép của công cụ bộ mô tả đối tượng và công cụ tầng đồng bộ.
Các định nghĩa về profile, bản thân nó không cung cấp đầy đủ các tính năng của đầu cuối thu và nguồn lực cần thiết cho một trình diễn. Với lý do đó, các cấp độ được định nghĩa trong mỗi profile. Các cấp độ hạn chế giá trị tham số trong một profile cho trước để quy định một ràng buộc có tính phức tạp hơn.
9.2 Định nghĩa profile OD
9.2.1 Tổng quan
Profile mô tả đối tượng (profile OD) quy định cấu hình của công cụ mô tả đối tượng và công cụ tầng đồng bộ được phép. Công cụ bộ mô tả đối tượng cung cấp cấu trúc cho tất cả thông tin mô tả. Công cụ tầng đồng bộ cung cấp cú pháp để truyền tải thông tin thời gian cho các dòng cơ sở. Profile OD được sử dụng để giảm khối lượng hoạt động không đồng bộ cũng như khối lượng lưu thường xuyên.
9.2.2 Các công cụ profile OD
Các công cụ sau sẵn có cho việc xây dựng profile OD:
- Công cụ bộ mô tả đối tượng (OD) được định nghĩa trong 7.2.5
- Công cụ tầng đồng bộ (SL) được quy định trong 7.3.2.
- Công cụ thông tin nội dung đối tượng (OCI) được quy định trong 7.2.4
- Bảo vệ và quản lý sở hữu trí tuệ (IPMP) được định nghĩa trong 7.2.3
9.2.3 Profile OD
Profile OD được định nghĩa trong bảng sau. Hiện tại, chỉ một profile được định nghĩa, bao gồm tất cả các công cụ. Tại thời điểm này, chưa có profile nào dự kiến bổ sung nhưng khả năng bổ sung các profile thông qua sửa đổi, bổ sung cũng đang bỏ ngỏ.
Bảng 18 - Các profile OD
| Các profile OD |
Các công cụ OD | Lõi |
SL | X |
OD | X |
OCI | X |
IPMP | X |
Các bộ giải mã yêu cầu tuân thủ profile cho trước, tức là phải thi hành tất cả các công cụ được đánh dấu “x” đối với profile đó.
9.2.4 Các cấp độ profile OD
9.2.4.1 Các cấp độ đối với profile lõi
Chưa có cấp độ nào được xác định cho profile lõi OD. Tương lai, định nghĩa về các cấp độ này được dự kiến và sẽ xuất hiện trong các bản sửa đổi, bổ sung của tiêu chuẩn này.
PHỤ LỤC A
(tham khảo)
Thiết lập lại gốc thời gian
A.1. Thiết lập lại gốc thời gian
Các nhãn thời gian xuất hiện trong tầng đồng bộ là phương tiện để đồng bộ các sự kiện liên quan đến việc giải mã, tổng hợp và quản lý bộ đệm nói chung. Đặc biệt, các tham chiếu đồng hồ là phương tiện duy nhất để tái thiết lập đồng hồ đầu cuối gửi ở đầu cuối thu (ví dụ, đối với các ứng dụng quảng bá). Phương pháp chuẩn đề thiết lập lại không được quy định. Sau đây mô tả quá trình thiết lập ở mức khái niệm.
A.1.1 Điều chỉnh OTB của đầu cuối thu
Mỗi dòng cơ sở có thể được tạo ra bởi một bộ mã hóa ở đầu cuối gửi với một gốc thời gian đối tượng (OTB) khác nhau. Đối với mỗi dòng truyền tải thông tin OCR, thì đầu cuối thu thích hợp để điều chỉnh OTB cục bộ đến OTB của đầu cuối gửi. Điều đó được thực hiện nhờ sử dụng các kỹ thuật PLL phổ biến. Do đó, thời gian đối với mỗi dòng cơ sở có thể được phục hồi ở đầu cuối thu.
A.1.2 Ánh xạ nhãn thời gian tới STB
OTB của tất cả dòng dữ liệu có thể chạy với tốc độ khác so với STB của đầu cuối thu. Vì thế, cần phải có phương pháp để ánh xạ giá trị các nhãn thời gian được diễn tả trong bất kỳ OTB nào tới STB của đầu cuối thu. Bước này có thể được thực hiện cùng với việc phục hồi các nhãn thời gian riêng biệt như định nghĩa trong mục trước.
Lưu ý, gốc thời gian hệ thống của đầu cuối thu phải không cần phải gắn vào bất kỳ gốc thời gian đối tượng nào.
Thời gian tổng hợp tSCT của đơn vị tổng hợp, ở đây được xem là STB của đầu cuối thu, có thể được tính toán từ giá trị nhãn thời gian sắp xếp tOCT, là OTB của đầu cuối gửi liên quan, bởi biến đổi tuyến tính sau:
tSCT thời gian sắp xếp của đơn vị tổng hợp được đo bằng đơn vị tSTB
tSTB thời gian hiện thời trong STB của đầu cuối thu
tSTB thời gian nén của khối nén được đo bằng đơn vị tOTB
tOTB thời gian hiện thời trong OTB của dòng dữ liệu, được truyền tải bởi OCR
t STB-START giá trị STB đầu cuối thu khi gặp byte đầu tiên của nhãn thời gian OCR của dòng dữ liệu
t OTB-START giá trị của nhãn thời gian đầu tiên trong dòng dữ liệu.
∆tOTB =tOTB - tOTB-START
∆tSTB = tSTB - tSTB-START
Tỷ số ∆tSTB /∆tOTB là thành phần co giãn tức thời giữa hai gốc thời gian. Trong các trường hợp có tốc độ đồng hồ và độ phân giải (xử lý) của đầu cuối gửi và của đầu cuối thu giống hệt nhau, thì tỷ số này gần bằng 1. Để tránh lỗi làm tràn, tỷ số này phải được tính toán lại bất kỳ khi nào công thức được áp dụng cho nhãn thời gian sắp xếp mới nhất thu được. Tỷ số này có thể được cập nhật mỗi khi gặp nhãn thời gian OCR.
Công thức tương tự có thể được suy ra cho các lần giải mã bằng cách thay thế các nhãn thời gian sắp xếp bằng các nhãn thời gian giải mã. Nếu nhãn thời gian đối với một số đơn vị truy cập hoặc đơn vị tổng hợp được ngầm định, ví dụ, được đưa ra bởi tốc độ cập nhật đã biết, những nhãn thời gian này phải được ánh xạ với cùng một cơ chế.
Với mục tiêu này, phải đồng bộ STB ở đầu cuối thu với một vài OTB để việc giải mã và sắp xếp chính xác từ các dòng dữ liệu.
A.1.3 Điều chỉnh STB tới một OTB
Khi tất cả các dòng dữ liệu trong một trinh diễn sử dụng cùng một OTB, thì khóa STB ở đầu cuối thu với OTB này bằng cách sử dụng các kỹ thuật TLL phổ biến. Trong trường hợp này việc ánh xạ được mô tả trong mục trước là không cần thiết và ánh xạ sau đây có thể được sử dụng.
A.1.4 Hoạt động của hệ thống không có OTB
Nếu gốc thời gian đối với dòng cơ sở không được được truyền tải bởi thông tin OCR và cũng không được suy ra từ dòng cơ sở khác thì các nhãn thời gian cần phải tiếp tục được sử dụng bởi đầu cuối thu nhưng không phải trong các ứng dụng yêu cầu có điều khiển dòng. Ví dụ, đọc lại tệp có thể không yêu cầu thiết lập lại gốc thời gian: một mình nhãn thời gian hiệu quả cho việc đồng bộ nếu một gốc thời gian đơn được giải định cho tất cả các dòng dữ liệu.
Trong trường hợp vắng mặt các nhãn thời gian thì đầu cuối thu có thể chỉ hoạt động theo giả định rằng mỗi đơn vị truy cập được giải mã và biểu diễn ngay khi thu được. Trong trường hợp này mô hình bộ giải mã các hệ thống không áp dụng và không thể được sử dụng như một mô hình cho hành vi đầu cuối.
Trong trường hợp đồng hồ toàn cầu sẵn có thì nó có thể được chia sẻ giữa các đầu cuối và được sử dụng như gốc thời gian chung. Sau đó sử dụng bộ giải mã các hệ thống mà không cần truyền OCR hoàn hảo. Thủ tục thực hiện là ứng dụng phụ thuộc và không được định nghĩa trong tiêu chuẩn này.
A.2. Sai số lấy mẫu thời gian và lấy mẫu lại audio
Đầu cuối nhận tuân thủ bộ tiêu chuẩn TCVN 11795 không yêu cầu đồng bộ việc giải mã các khối AU và tổng hợp các CU. Nói theo cách khác, STB của nó không giống với bất kỳ OTB của dòng mã thu được. Số AU được giải mã và trình diễn thực sự trong một giây có thể khác nhau. Tiếp đó sai số lấy mẫu thời gian có thể tự biểu hiện như các đơn vị tổng hợp hoặc là được biểu diễn nhiều lần hoặc là bị bỏ qua. Nếu tín hiệu âm thanh đã mã hóa trên một hệ thống với OTB khác với STB của đầu cuối thu, thậm chí tốc độ lấy mẫu giống y hệt cũng không thể kết hợp chính xác, vì thế các mẫu audio có thể bị giảm hoặc lặp lại.
Kỹ thuật lấy mẫu lại có thể được áp dụng cho cả hai trường hợp ở đầu cuối phía thu.
A.3. Thiết lập lại cảnh âm thanh, hình ảnh đã được đồng bộ: một hướng
Các bước khác nhau để thiết lập lại cảnh đã được đồng bộ như sau:
1. Gốc thời gian cho mỗi dòng dữ liệu được phục hồi từ OCR được truyền tải với dòng cơ sở gói SL của dòng dữ liệu đó hoặc từ một dòng dữ liệu khác xuất hiện trong trình diễn.
2. Các nhãn thời gian đối tượng được ánh xạ tới STB của đầu cuối thu tuân theo một thuật toán thích hợp.
3. Các đơn vị truy cập thu được được đặt trong bộ đệm giải mã
4. Mỗi đơn vị truy cập được bộ giải mã tức thì tại thời điểm tương ứng với DTS ngầm định hoặc rõ ràng của nó và kết quả là một hoặc một số đơn vị tổng hợp được đặt ở bộ nhớ tổng hợp.
Bộ tổng hợp có thể truy nhập mỗi CU trong khoảng giữa thời điểm tương ứng với CTS của nó và thời điểm tương ứng với CTS của CU tiếp theo.
PHỤ LỤC B
(tham khảo)
Thủ tục đăng ký
B.1. Thủ tục yêu cầu một ID đăng ký (RID)
Bộ phận yêu cầu RID được áp dụng cho một tổ chức đăng ký. Mẫu đăng ký, tổ chức đăng ký phải cung cấp. Người đăng ký phải cung cấp thông tin theo quy định trong B.3. Các công ty, tổ chức có đủ tư cách áp dụng.
B.2. Trách nhiệm của tổ chức đăng ký
Trách nhiệm chính của tổ chức đăng ký là quản lý việc đăng ký định danh dạng dữ liệu cá nhân hoặc các giá trị kiểu hệ thống IPMP được nêu trong phụ lục này, các trách nhiệm khác có thể xem trong chỉ thị JTC 1. Cơ quan đăng ký phải:
a) Thực hiện thủ tục đăng ký cho một ứng dụng với RID đơn, phù hợp với chỉ thị JTC1:
b) Nhận và xử lý các đơn đăng ký đối với việc phân bổ một định danh từ nhà cung cấp ứng dụng;
c) Xác định đơn nào tuân thủ đúng thủ tục và thông báo cho người yêu cầu trong vòng 30 ngày kể từ ngày nhận được đơn;
d) Thông báo cho các nhà cung cấp có đơn bị từ chối bằng văn bản trong vòng 30 ngày kể từ ngày nhận được đơn và xem xét gửi lại đơn một cách kịp thời;
e) Duy trì hồ sơ của các định định danh được phân bổ một cách chính xác. Sửa đổi các thông số định dạng có thể được cơ quan đăng ký chấp nhận.
f) Đảm bảo nội dung của hồ sơ sẵn sàng khi các cơ quan quốc gia của JTC 1 yêu cầu, cơ quan đó là thành viên của ISO hoặc IEC, cơ quan liên lạc của ISO, IEC...
g) Duy trì cơ sở dữ liệu về các dạng yêu cầu RID, được cấp và bị từ chối.
h) Báo cáo hoạt động hàng năm cho JTC 1, ITTF và Ban thư ký SC 29 hoặc chuyên gia thiết kế riêng của họ;
i) Hỗ trợ sử dụng các RID hiện có bất cứ khi nào có thể.
B.3. Thông tin liên hệ đối với Tổ chức đăng ký
CISAC
20-26 boulevard du Parc
92200 Neuilly sur Seine
FRANCE
Tel: +33 1 55 62 08 50
Fax: +33 1 55 62 08 60
E-mail: [email protected]
Web: http://www.mpegra.org
B.4. Trách nhiệm của các bên trong việc yêu cầu một RID
Bên yêu cầu định danh định dạng hoặc một định danh kiểu hệ thống IPMP phải:
a) Áp dụng mẫu và thủ tục mà Tổ chức đăng ký cung cấp;
b) Mô tả mục đích dòng bít đăng ký và chi tiết kỹ thuật yêu cầu như quy định trong mẫu đơn;
c) Cung cấp thông tin liên hệ;
d) Đồng ý thiết lập chủ đích của RID được cấp trong khung thời gian hợp lý; và
e) Duy trì hồ sơ gồm mẫu đơn và các thông báo nhận được từ Cơ quan đăng ký với một RID được cấp
B.5. Thủ tục khiếu nại đối với các đơn bị từ chối
Nhóm quản lý đăng ký được thành lập có thẩm quyền giải quyết các khiếu nại về yêu cầu RID bị từ chối. RMG phải có các thành viên được các thành viên P và L của Ủy ban kỹ thuật ISO chịu trách nhiệm về bộ tiêu chuẩn TCVN 11795. Nhóm này phải có ban tổ chức và ban thư ký. Tổ chức đăng ký được đề cử một thành viên quan sát mà không cần bỏ phiếu.
Trách nhiệm của nhóm quản lý đăng ký:
a) Xem xét và thi hành tất cả các khiếu nại trong khoảng thời gian phù hợp;
b) Thông báo bằng văn bản cho các tổ chức khiếu nại để xem xét lại các kiến nghị của họ theo sự sắp đặt vấn đề của các RMG;
c) Xem xét báo cáo thường niên của Tổ chức đăng ký về các hành động;
d) Cung cấp cho các cơ quan thành viên của ISO và Ủy ban quốc gia của IEC các thông tin liên quan tới phạm vi hoạt động của tổ chức đăng ký.
B.6. Mẫu đơn đăng ký
B.6.1 Thông tin liên hệ của tổ chức yêu cầu RID
Tên tổ chức:
Địa chỉ:
Điện thoại:
Fax:
E-mail:
Điện báo thuê bao:
B.6.2 Yêu cầu một RID đặc thù
CHÚ THÍCH: nếu một hệ thống vừa thực thi và vừa đang được sử dụng thì điền vào mục này và mục B.6.3 và bỏ qua cho đến mục B.6.5, nếu không để khoảng trống và nhảy tới B.6.3
B.6.3 Mô tả ngắn gọn về RID đang sử dụng và ngày hệ thống được thực thi
B.6.4 Tuyên bố mục đích áp dụng RID được gán
B.6.5 Ngày dự kiến thực thi RID 120
B.6.6 Đại diện cho tổ chức
Tên:
Chức vụ:
Địa chỉ:
Email:
Chữ ký _____________________________
B.6.7 Cho Cơ quan sử dụng Tổ chức đăng ký
|
Đăng ký bị từ chối _________ |
|
Lý do từ chối đơn: |
|
Công nhận đăng ký _________ giá trị đăng ký ___________________ |
|
Đính kèm 1 - Đính kèm chi tiết kỹ thuật của định dạng dữ liệu đăng ký.
Đính kèm 2 - Đính kèm thông báo về việc giải quyết các đơn bị từ chối.
PHỤ LỤC C
(tham khảo)
Mô hình quản lý QoS nội dung mã hóa theo bộ tiêu chuẩn TCVN 11795
Các khía cạnh về chất lượng dịch vụ là các vấn đề quan trọng trong bộ tiêu chuẩn TCVN 11795. Các kỹ thuật phục hồi lỗi hiện nay có hiệu quả nhưng không thể đáp ứng tất cả các yêu cầu có thể có.
Nhìn chung, mức độ chấp nhận dịch vụ của người dùng cuối là khác nhau, tùy thuộc vào loại dịch vụ. Tuy nhiên, truyền hình quảng bá với chất lượng video và âm thanh tốt hơn có thể chấp nhận được tùy thuộc vào chương trình đang được phát. Sự chấp nhận dịch vụ tùy thuộc nhiều vào loại dịch vụ. Không thể xác định các mức chất lượng dịch vụ toàn cầu phù hợp cho mọi tình huống. Vì thế, giải pháp thích hợp nhất là để cho bộ phận tạo nội dung quyết định QoS người dùng cuối có thể đạt được cho mỗi một dòng cơ sở cụ thể: tác giả nội dung phải có kiến thức tốt về QoS.
Do đó, QoS được định nghĩa đại diện cho QoS được cung cấp cho người dùng cuối, tức là QoS ở đầu ra của đầu cuối thu. Có thể là đầu ra của bộ giải mã, nhưng cũng bao gồm cả bộ tổng hợp và bộ kết xuất nếu chúng có ảnh hưởng mạnh tới chất lượng trình diễn mà người dùng cuối trực tiếp xem và nếu khả năng xử lý một dòng cụ thể có thể định lượng được. Chú ý, thông tin QoS không bắt buộc. Trong trường hợp không có các yêu cầu QoS, thì nên thực hiện tốt nhất có thể. Nội dung QoS này được xác định như là QoS tổng.
Trong tiêu chuẩn này, thông tin liên quan đến QoS tổng của một dòng cơ sở cụ thể được mang trong một bộ mô tả, nó như là một phần của bộ mô tả dòng cơ sở của dịch vụ đó(Bộ mô tả ES). Đâu cuối thu, sau khi nhận được bộ mô tả ES, thì sẽ biết được các thuộc tính của dòng cơ sở và của QoS tổng được cung cấp cho người dùng cuối. Hơn nữa, đầu cuối thu biết được về khả năng hoạt động của nó. Vì thế mà chỉ những thực thể phù hợp mới có thể tính toán QoS được yêu cầu tới tầng phân phối cho phù hợp với yêu cầu của người sử dụng. Chú ý, tính toán này có thể bỏ qua hoặc ghi đè các tham số QoS tổng.
QoS được yêu cầu cho tầng phân phối gọi là QoS phương tiện, do đó nó được biểu diễn với một Ngữ nghĩa là hướng phương tiện. Tầng phân phối sẽ xử lý các yêu cầu để xác định liệu có phải bỏ các dòng cơ sở vào một kết nối mạng đơn (TransMux) và tính toán QoS cho kết nối mạng này bằng cách sử dụng các tham số QoS như đã được xác định bởi hạ tầng mạng hay không. QoS này gọi là QoS mạng, nó đặc trưng cho một công nghệ mạng cụ thể.
Việc phân loại QoS được quản lý bởi bộ tiêu chuẩn TCVN 11795 như trên có thể cho biết vấn đề này chỉ liên quan khi hoạt động trong một môi trường mạng. Tuy nhiên, các khái niệm này là các giá trị chung chung và có khả năng áp dụng cho các hệ thống hoạt động trong các tệp cục bộ cũng như khi hoạt động ở mức hệ thống.
PHỤ LỤC D
(tham khảo)
Quy đổi giữa các quy ước thời gian và ngày
D.1. Quy đổi giữa các quy ước thời gian ngày và giờ
Mục này là bắt buộc áp dụng. Các kiểu quy đổi có thể được yêu cầu được tổng quát hóa trong sơ đồ khối sau:
Sai số điều chỉnh là dương đối với kinh độ đông của Greenwich và có giá trị âm đối với kinh độ tây của Greenwich.
Hình D.1 - Quy đổi giữa ngày Julieng biến đổi và thời gian phối hợp quốc tế
Quy đổi giữa MJD + UTC và (MJD (địa phương) + thời gian địa phương chỉ đơn giản là cộng hoặc trừ sai số điều chỉnh cục bộ. Dĩ nhiên, tiến trình này có thể liên quan đến một giá trị “nhớ” hoặc “mượn” từ UCT ảnh hưởng tới MJD.
Năm phép quy đổi trên sơ đồ được miêu tả chi tiết như dưới đây, trong đó sử dụng các ký tự:
MJD: Ngày Julian điều chỉnh
UTC: Thời gian phối hợp quốc tế
Y: Năm từ 1900 (ví dụ 2003, Y = 103)
M: Tháng từ tháng 1 đến tháng 12
D: Ngày, có giá trị từ 1 đến 31
WY: "số tuần" Năm từ 1900
MN: Số tuần tuân theo ISO 2015
WD: Ngày trong tuần, từ 1 đến 7
K, L ,M', W, Y': các biến trung gian
x: Phép nhân
int: là phần nguyên của phép chia cho 7
a) Để tìm Y, M, D từ MJD
Y' = int [ (MJD - 15 078,2) / 365,25 ]
M’ = int {[ MJD - 14 956,1 - int (Y’ x 365,25) ] / 30,6001 }
D = MJD - 14 956 - int (Y' x 365,25) - int (M' x 30,6001 )
If M' = 14 or M' = 15, then K = 1; else K = 0
Y = Y' + K
M = (M' - 1 - K)mod12
b) Tìm MJD từ Y, M, D
If M = 1 or M = 2, then L = 1; else L = 0
MJD = 14 956 + D + int [ (Y - L) x 365,25] + int [ (M + 1 + L x 12) x 30,6001 ]
c) Tìm WD từ WJD
WD = [ (MJD + 2) mod 7 ] + 1
d) Tìm MJD từ WY, WN, WD
MJD = 15 012 + WD + 7 x { WN + int [ (WY x 1 461 / 28) + 0,41]}
e) Tìm WY, WN từ MJD
w = int [ (MJD / 7) - 2 144,64 ]
WY = int [ (W x 28 / 1 461) - 0,0079]
WN = w - int [ (WY X 1 461 / 28) + 0,41]
Ví dụ -
MJD = 45 218 | W=4 315 |
Y = (19)82 | WY =(19)82 |
M = 9 (tháng chín) | WN = 36 |
D = 6 | WD = 1 (thứ 2) |
CHÚ THÍCH: những công thức này có thể áp dụng giữa khoảng thời gian từ ngày 01 tháng 3 năm 1900 đến ngáy 28 tháng 02 năm 2100.
PHỤ LỤC E
(tham khảo)
Phép biểu diễn đồ họa của Bộ mô tả đối tượng và cú pháp tầng đồng bộ
E.1. Chiều dài mã hóa của các bộ mô tả đối tượng và câu lệnh
E.2. Dòng bộ mô tả đối tượng và các câu lệnh OD
E.3. Dòng OCI
OCI_Descr có thể là bất kỳ một bộ mô tả nào trong các bộ mô tả OCI như mô tả chi tiết trong 7.2.6.18: ContentClassification, Keyword, Rating; Language, ShorttTextual, ExpandedTextual, ContentCreationDate, ContentCreationName, OCICreationName, OCICreationDate và 22 bộ mô tả dành riêng cho ISO khác.
E.4. Bộ mô tả đối tượng và các thành phần của nó
Một bộ mô tả đối tượng xuất hiện một số lần: Bộ mô tả mở rộng (extDescr), cờ nằm trong khoảng giá trị bắt đầu từ 0x60 và kết thúc là 0xFE.
Khi xuất hiện, bộ mô tả decSpecificInfo là một bộ mô tả không trong suốt (cờ = 0x05) và được cấu hình tuân theo ObjectDescriptorlD và kiểu dòng.
E.5. Bộ mô tả OCI
E.6. Cú pháp và cấu hình tầng đồng bộ
Tải trọng gói SL:
PHỤ LỤC F
(tham khảo)
Giao diện dòng cơ sở
Giao diện dòng cơ sở (ESI) là một giao diện quy định dữ liệu nào cần được trao đổi giữa thực thể tạo dòng cơ sở và tầng đồng bộ. Truyền thông giữa lớp mã hóa và đồng bộ không thể chỉ có phương tiện nén mà còn yêu cầu thông tin bổ sung như mã thời gian, chiều dài các đơn vị truy cập...
Tuy nhiên một thực thi theo bộ tiêu chuẩn TCVN 11795, không phải thực thi giao diện dòng cơ sở. Thích hợp cho việc tích hợp việc phân tích dòng gói SL và việc giải nén dữ liệu phương tiện trong một thực thể bộ giải mã. Chú ý, thậm chí trong trường hợp này bộ giải mã nhận được một chuỗi gói ở đầu vào thông qua giao diện ứng dụng DMIF hơn là dòng dữ liệu.
Giao diện này nhận dữ liệu dòng cơ sở từ tầng đồng bộ có số tham số phản ánh thông tin đó đã được kết xuất trong khi phân tích dòng sói SL đang tới.
ESI.receiveData (ESdata, dataLength, idleFlag, objectClockReference, decodingTimeStamp, compositionTimeStamp, accessUnitStartFlag, randomAccessFlag, accessUnitEndFlag, accessUnitLength, AU_sequenceNumber, degradationPriority, instantBitrate, errorStatus) ESdata - số byte dữ liệu dataLength đối với dòng cơ sở này, dataLength - là chiều dài của Esdata, đơn vị byte.
idleFlag - nếu thiết lập là 1, cho biết dòng cơ sở này sẽ không tiếp tục tạo ra dữ liệu trong một khoảng thời gian không xác định. Cờ này có thể được bộ giải mã sử dụng để phân biệt giữa sự vắng mặt các gói SL tiếp theo một cách chủ ý hay do sai sót.
objectClockReference - bao gồm việc đọc giá trị gốc thời gian đối tượng tại thời điểm byte đầu tiên của Esdata đi vào bộ đệm giải mã.
decodingTimeStamp - thời gian giải mã đơn vị truy cập chứa Esdata này
compositionTimeStamp - thời gian tổng hợp đơn vị truy cập chứa Esdata này.
accessUnitStartFlag - cho biết byte đầu tiên của Esdata là khởi đầu của đơn vị truy cập
randomAccessFlag - cho biết byte đầu tiên của Esdata là khởi đầu đơn vị truy cập cho phép truy cập ngẫu nhiên.
accessUnitEndFlag - cho biết byte sau cùng của Esdata là điểm kết thúc của đơn vị truy cập.
accessUnitLength - chiều dài của đơn vị truy cập chứa Esdata này, đơn vị byte.
AU_sequenceNumber - nếu xuất hiện, thì sẽ tiếp tục tăng cho mỗi AU, nó như là một bộ đếm. Và sẽ bị gián đoạn nếu bộ giải mã bị mất một vài AU. Trong trường hợp đó, sẽ có thông báo lỗi bởi errorStatus. Nếu thành phần cú pháp này không xuất hiện, thì việc tiếp tục kiểm tra AU không được thực hiện cho dòng cơ sở này.
degradationPriority - cho biết mức độ quan trọng của các byte Esdata. stream Priority định nghĩa mức ưu tiên cơ bản của một ES. degradationPriority xác định việc giảm ưu tiên đối với các byte Esdata trong mỗi tương quan với mức ưu tiên cơ bản. Ưu tiên đối với các byte Esdata như sau:
Ưu tiên của các byte ESdata = streamPriority - degradationPriority
degradationPriority duy trì giá trị này cho đến lần xuất hiện sau. Nó cho biết có sự suy giảm nhẹ do bộ giải mã dòng cơ sở này cũng như do bộ tương thích của tầng phân phối cụ thể. Mức độ suy giảm giữa các byte trong các dòng cơ sở khác nhau sẽ khác nhau nhiều.
instantBitrate) cho biết tốc độ bít (bít/s) tức thời của dòng cơ sở này cho đến khi trường instantBitrate tiếp theo được tìm thấy.
errorStatus - cho biết liệu Esdata là không có lỗi, có thể có sai sót hoặc thậm chí là dữ liệu đã bị mất ở thời điểm trước các byte Esdata hiện tại.
Một giao diện tương tự gửi dữ liệu dòng cơ sở tới tầng đồng bộ, yêu cầu các tham số sau tiếp theo được mã hóa ở tầng đồng bộ:
ESI.sendData (ESdata, dataLength, idleFlag, objectClockReference, decodingTimeStamp, compositionTimeStamp, accessUnitStartFlag, randomAccessFlag, accessUnitEndFlag, accessUnitLength, AU_sequenceNumber, instantBitrate , degradationPriority)
ESdata - là số byte dữ liệu dataLength cho dòng cơ sở này
dataLength - là chiều dài của ESdata , đơn vị byte.
idleFIag - nếu được thiết lập là 1 thì dòng cơ sở này sẽ không tiếp tục tạo ra dữ liệu trong một khoảng thời gian. Cờ này có thể được sử dụng bởi bộ giải mã để phân biệt sự vắng mặt các gói SL tiếp theo là chủ ý hay do sai sót.
objectClockReference - bao gồm việc đọc giá trị gốc thời gian đối tượng tại thời điểm byte đầu tiên của Esdata vào bộ đệm giải mã.
decodingTimeStamp - thời gian giải mã đối với AU chứa Esdata này.
compositionTimeStamp - thời gian nén đối với AU chứa Esdata này.
accessUnitStartFlag - cho biết byte đầu tiên của Esdata là khởi đầu của một AU.
randomAccessFlag - cho biết byte đầu tiên của Esdata là khởi đầu của một AU cho phép truy cập ngẫu nhiên.
accessUnitEndFlag - byte sau cùng của ESdata là điểm kết thúc của AU
accessUnitLength - chiều dài của AU chứa Esdata này, đơn vị byte.
AU_sequenceNumber - nếu xuất hiện, thì sẽ tiếp tục tăng cho mỗi AU, nó như là một bộ đếm. Và sẽ bị gián đoạn nếu bộ giải mã bị mất một vài AU. Trong trường hợp đó, sẽ có thông báo lỗi bởi errorStatus. Nếu thành phần cú pháp này không xuất hiện, thì việc tiếp tục kiểm tra AU không được thực hiện cho dòng cơ sở này.
degradationPriority - cho biết mức độ quan trọng của các byte Esdata. streamPriority định nghĩa mức ưu tiên cơ bản của một ES. degradationPriority xác định việc giảm ưu tiên đối với các byte Esdata trong mỗi tương quan với mức ưu tiên cơ bản. Ưu tiên đối với các byte Esdata như sau:
Ưu tiên của các byte ESdata = streamPriority - degradationPriority
degradationPriority duy trì giá trị này cho đến lần xuất hiện sau. Nó cho biết có sự suy giảm nhẹ do bộ giải mã dòng cơ sở này cũng như do bộ tương thích của tầng phân phối cụ thể. Mức độ suy giảm giữa các byte trong các dòng cơ sở khác nhau sẽ khác nhau nhiều.
PHỤ LỤC G
(tham khảo)
Dòng hướng lên
G.1. Giới thiệu
Các bản tin dòng lên từ đầu cuối khách đến đầu cuối máy chủ được phân làm hai loại, các bản tin câu lệnh ứng dụng và các bản tin dòng phương tiện. Các bản tin câu lệnh ứng dụng là các bản tin chung áp dụng cho tập các dòng phương tiện khác nhau, ví dụ các bản tin điều khiển dòng. Những bản tin này có thể được định nghĩa dựa trên nút lệnh máy chủ BIFS. Các bản tin dòng phương tiện được sử dụng để thiết lập truyền thông giữa bộ giải mã dòng phương tiện và bộ mã hóa của nó. Truyền thông này có thể được sử dụng để điều khiển từ xa bộ giải mã từ phía đầu cuối khách hàng như tiến trình giải mã hoặc tương tác người dùng. Cú pháp và Ngữ nghĩa của các bản tin dòng phương tiện được định nghĩa trong các phần của bộ tiêu chuẩn. Ví dụ, cú pháp và Ngữ nghĩa của các bản tin công cụ NEWPRED ảnh được định nghĩa trong ISO/IEC 14496-2.
Kênh dòng lên cần được báo hiệu cho đầu cuối khách hàng bằng cách cung cấp một bộ mô tả dòng cơ sở thích hợp để khai báo các tham số dòng mã. Đầu cuối khách mở kênh dòng lên này giống với cách mở các kênh dòng xuống. Các thực thể (Ví dụ bộ mã hóa và giải mã phương tiện) được kết nối thông qua kênh dòng lên đều được biết thông qua các tham số trong bộ mô tả dòng cơ sở của nó và từ các liên kết của bộ mô tả dòng cơ sở tới bộ mô tả đối tượng cụ thể.
Việc đóng gói các bản tin dòng lên để truyền dẫn và đồng bộ với dữ liệu kênh đường xuống được thực hiện bởi tầng đồng bộ. Cấu hình của tiêu đề gói SL đối với các dòng lên phải được lựa chọn phù hợp. Tất cả các bản tin liên quan tới thời điểm đơn phải được đóng gói vào các AU đơn.
G.2. Cấu hình
Một dòng lên có thể được liên kết với một dòng xuống đơn hoặc một nhóm dòng xuống. Phạm vi của dòng lên được định nghĩa bởi kiểu dòng của dòng xuống mà dòng lên đó liên kết. Khi dòng lên được liên kết với một dòng xuống đơn thì nó mang bản tin về dòng xuống mà nó liên kết. Nếu dòng lên mang các bản tin liên quan đến một nhóm dòng xuống thì bộ mô tả dòng cơ sở của nó được liên kết với ObjectDescriptorStream chứa các bộ mô tả đối tượng hoặc SceneDescriptionStream mô tả cảnh, quy định ở 7.2.7.15.2.
Trong trường hợp đó, dòng lên được đính kèm với ObjectDescriptorStream, chỉ các bộ mô tả đối tượng được nhóm lại với nhau cho dòng lên đơn này mới được mang. Các bộ mô tả đối tượng khác không thuộc phạm vi dòng lên này sẽ được mang bởi ObjectDescriptorStream khác. Nếu dòng lên phụ thuộc vào SceneDescriptorStream, thì tất cả các đối tượng trong cảnh sẽ nhận được các bản tin dòng lên từ dòng lên này.
Các quy tắc cấu hình chi tiết cho mỗi trường hợp được quy định bên dưới.
G.2.1 Dòng lên đối với các ES đơn
Trong trường hợp này dòng lên được đính kèm với một ES độc lập đơn và sẽ mang thông tin đặc thù phương tiện có hiệu lực đối với dòng lên đơn mà nó phụ thuộc vào. Vì chỉ có một dòng cơ sở độc lập được định nghĩa trong cùng một OD có thể được lựa chọn sử dụng trong cảnh, nên dòng lên không liên quan tới bản thân ES nhưng liên quan đến đối tượng được biểu diễn bởi OD này.
a) Bộ mô tả đối tượng có một hoặc một số bộ mô tả ES bổ sung xác định cấu hình dòng lên cho mỗi ES cần cho kênh quay về
b) Bộ mô tả ES của dòng lên phải được định nghĩa như sau:
- streamDependenceFlag phải được thiết lập là '1' cho biết dòng này phụ thuộc vào một dòng xuống.
- dependsOn_ES_ID phải được thiết lập tới giá trị ESJD của dòng xuống.
c) DecoderConfigDescriptor trong ES_Descriptor của dòng lên phải được xác định như sau:
- objectTypelndication và streamType phải được thiết lập cùng một giá trị với dòng xuống, cờ upstream phải được thiết lập ‘1’ cho biết đây là dòng kênh trở về.
- bufferSizeDB, maxBitrate, avgBitrate và DecoderSpecificInfor phải được thiết lập phù hợp.
G.2.2 Dòng lên đối với nhóm ES
a) Trong trường hợp này, dòng lên được đính kèm với một ObjectDescriptorStream hoặc một SceneDescriptionStream được sử dụng như một dòng lên cho một nhóm các dòng cơ sở. Quy tắc cấu hình cơ bản cho bộ mô tả đối tượng giống với trường hợp dòng lên cho một ES đơn. Phạm vi và kiểu bản tin được mang trong dòng lên được quyết định bởi các quy tắc sau:
b) Nếu một dòng lên được cấu hình phụ thuộc vào ObjectDescriptorStream hiện tại và kiểu dòng là dòng ảnh hoặc dòng âm thanh, thì nó mang thông tin đặc thù dòng phương tiện, có thể liên quan đến một hoặc một số dòng xuống được mô tả bởi các bộ mô tả đối tượng đã được truyền trong ObjectDescriptorStream mà dòng lên đó phụ thuộc. Tất cả các bộ giải mã đối với những dòng (có sự kết hợp kiểu dòng trong tập các dòng đó) có thể sử dụng dòng lên để gửi bản tin.
c) Nếu một dòng lên được cấu hình phụ thuộc vào SceneDescriptionStream hiện tại và kiểu dòng của nó là SceneDescriptionStream, thì nó sẽ mang các bản tin liên quan tới cảnh BIFS hoặc tới báo hiệu ứng dụng (ví dụ dựa trên chi tiết kỹ thuật câu lệnh máy chủ).
G.3. Thủ tục truy nhập nội dung với DAI
Khi đầu cuối thu nhận được DecoderConfigDescriptor có cờ dòng lên được thiết lập là 1, thì nó mở el: kênh logic cho ES dòng lên bằng cách thiết lập trường ‘hướng’ (‘direction’) của DA_ChannelAdd là UPSTREAM. Các thủ tục và quy tắc khác để truy nhập và quản lý nội dung ở đầu CU& khách cơ bản giống với trường hợp dòng xuống. Cú pháp và Ngữ nghĩa của bản tin dòng lên (xác định chức năng của chúng và các tương tác mong đợi giữa bộ mã hóa và giải mã) được định nghĩa trong phần thích hợp của bộ tiêu chuẩn TCVN 11795. Các bản tin liên quan đến các dòng với kiểu dòng SceneDescriptionStream và ObjectDescriptorStream được định nghĩa trong phần này. Tiêu chuẩn này không quy định thủ tục hay quy tắc liên quan tới quản lý dòng lên ở đầu cuối gửi.
G.4. Ví dụ
Phần này mô tả ví dụ về việc thiết lập và sử dụng các luồng lên MPEG 4, tuân theo các quy tắc đã được nêu ở các phần trên.
G.4.1 Ví dụ về cảnh có các đối tượng với dòng lên
Hình G.1 đưa ra một cảnh đơn giản với ba đối tượng (một video tự nhiên và 2 đối tượng tổng hợp), mà thông tin được lấy lại qua các dòng lên khác nhau:
- ServerCommand dòng lên được sử dụng để điều khiển hoạt ảnh (bắt đầu, kết thúc...) của tất cả các đối tượng (video tự nhiên và SNHC) trong cảnh này (cũng có thể phù hợp với các đối tượng âm thanh).
- NewPred luồng lên được sử dụng để hiệu chỉnh lỗi của đối tượng là video tự nhiên đơn.
- SNHC_QoS luồng lên truyền tải thông tin của đầu cuối khách có liên quan tới việc giải mã và khả năng cấu tạo nên hình ảnh cho tất cả các đối tượng ba chiều (SNHC).
Ví dụ về cảnh trong Hình G.1 được mô tả thông qua toàn cảnh bộ mô tả đối tượng, trỏ tới các dòng khác nhau:
Hình G.1 - Thông tin phản hồi truyền tải trong một cảnh âm thanh, hình ảnh đơn
G.4.2 Cấu hình dòng
Đồ họa tổng quát của cấu hình dòng cho ví dụ trên được đưa ra trong Hình G.2 đến G.4. Trong những hình này, quy tắc cấu hình của các trường quan trọng và các phụ thuộc dòng được mô tả chi tiết.
Hình G.2 - Cú pháp luồng mô tả cảnh
Figure G.3 - Cú pháp luồng bộ mô tả đối tượng
Trong Hình G.2, Những phụ thuộc và cấu hình của hai luồng mô tả cảnh được đưa ra. Luồng lên SceneDescriptionStream_Scene_1_up phụ thuộc vào SceneDescriptionStream_Scene_1_down luồng xuống (xem các dòng 1 và 2 trong hình). Kiểu luồng streamType được thiết lập là SceneDescriptionStream do nó mang các bản tin ServerCommand (xem dòng 3 và dòng 4 trong hình).
Trong Hình G.3, những phụ thuộc và cấu hình của hai dòng ObjectDescriptionStream được đưa ra.
ObjectDescriptionStream_Scene_1_up luồng lên phụ thuộc vào ObjectDescriptionStream_Scene_1_down trong luồng xuống (xem dòng 5 và dòng 6 trong hình). Trường kiểu luồng streamType được thiết lập là Visualstream do nó mang các bản tin SNHC_QoS cho đối tượng 2 và đối tượng 3 trong ví dụ này (xem dòng 7 và dòng 8 trong hình). ObjectDescriptorStream_Scene_1_up truyền tải thông tin SNHC_QoS liên quan đến tất cả các đối tượng SNHC của nhóm các đối tượng được gạch chân (có thể phù hợp cho đối tượng đơn). Thông tin SNHC QoS này được đính kèm với tất cả các đối tượng ảnh (xem khối có nét gạch) trong Hình G.1), nhưng định nghĩa về những ràng buộc SNHC_QoS chỉ ứng dụng cho các đối tượng SNHC. Nếu các đối tượng hình ảnh là kiểu SNHC hoặc tự nhiên không được xác định ở mức hệ thống thì nó sẽ được xác định ở mức cú pháp cảnh bởi visual_object_type, tuân theo Bảng 6-5 của ISO/IEC 14496-2.
Hình G.4 - Cú pháp các luồng cho đối tượng 1
Trong Hình G.4, những phụ thuộc và cấu hình của hai luồng cơ sở được đưa ra. Object_1_up luồng lên phụ thuộc vào Object_1_down luồng xuống (xem dòng 9 và 10 trong hình). Kiểu dòng streamType được thiết lập là visuaistream do đó nó sẽ mang các bản tin NewPred cho đối tượng 1 trong ví dụ này (xem dòng 11 và 12 trong hình). Object_1_up truyền tải thông tin NewPred cho đối tượng video tự nhiên tương ứng. Xác định hạn chế tự động của NewPred là các ứng dụng với đối tượng video tự nhiên đơn, tức là khả năng của hệ thống máy chủ-máy khách không được định nghĩa nếu lệnh NewPred được liên kết với nhóm các đối tượng và/hoặc đối tượng video không tự nhiên.
PHỤ LỤC H
(tham khảo)
Dây chuyền mô tả đối tượng và mô tả cảnh
Dây chuyền cảnh, cũng được gọi là “dây chuyền BIFS”, là một cơ chế cho phép sử dụng cảnh động trong môi trường quảng bá. Trong các ngữ cảnh quảng bá, cần cung cấp mô tả cảnh đầy đủ theo định kỳ, vì thế mà các đầu cuối điều chỉnh vào giữa phiên sẽ có khả năng thiết lập trình diễn. Mặc khác, thiết bị đầu cuối điều chỉnh sẽ chỉ nhận những cập nhật cảnh. Thỉnh thoảng người sử dụng ở đầu cuối thu tương tác với cảnh và thay đổi nó trong nội bộ, thay đổi đó có thể bị mất nếu như toàn bộ cảnh được làm tươi. Sử dụng dây chuyền cảnh trong trường hợp dữ liệu được truyền qua kênh không tin cậy. Trong trường hợp đó, dữ liệu (bao gồm cả cập nhật cảnh) có thể bị mất và vì thế việc làm tươi toàn bộ cảnh là cần thiết để phục hồi những dữ liệu bị mất đó.
Dây chuyền cảnh được thiết lập bằng cách sử dụng công cụ thuộc tầng đồng bộ. Tiêu đề gói SL có thể chứa trường AU_sequenceNumber. Trường này được xem là số thứ tự AU. Khi thiết bị đầu cuối gặp hai AU liên tiếp với cùng một số thứ tự thì nó sẽ hiểu là AU thứ hai mang thông tin giống với thông tin của AU thứ nhất, nên AU thứ hai có thể bị bỏ qua. Trong một dây chuyền cảnh, sau các cập nhật cảnh sẽ là câu lệnh thay thế cảnh, câu lệnh này truyền tải đầy đủ mô tả cảnh. Cảnh được mô tả bởi câu lệnh thay thế cảnh giống hệt với cảnh được mô tả bởi cập nhật lũy kế trước đó, vì thế câu lệnh được phân phối như một AU với số thứ tự như AU trước đó. Các đầu cuối xử lý thành công câu lệnh cập nhật sẽ bỏ qua câu lệnh thay thế cảnh, trong khi các đầu cuối cần làm tươi toàn bộ cảnh vì nó có thể bị điều chỉnh hoặc mất dữ liệu trong mạng, bỏ qua các cập nhật và xử lý câu lệnh thay thế cảnh.
Mô tả trên có đề cập đến tình huống khi hai đơn vị truy cập liên tiếp có trường AU_sequenceNumber giống nhau và AU thứ hai là một điểm truy cập ngẫu nhiên. Bộ giải mã phải có cách xử lý khác nhau nếu AU thử hai không phải là điểm truy cập ngẫu nhiên. Trong trường hợp số thứ tự trong hai AU giống nhau thì hai AU đó tham chiếu đến cùng một trạng thái khóa của cảnh, tức là đơn vị truy cập thứ hai sẽ được bổ giải mã xử lý an toàn ngay cả khi một khối truy cập giữa hai khối truy cập đó bị mất khi truyền tải trên mạng. Cơ chế này gọi là “dây chuyền BIFS” vì nó sử dụng chung cho BIFS và các dòng động, nhưng vì SL là công cụ trong MPEG 4, nên nó có thể được sử dụng cho bất kỳ loại dòng nào.
Các ví dụ sau minh họa sử dụng dây chuyền cảnh và trưởng AU_sequenceNumber
Số thứ tự AU | RAP | Khả năng đầu cuối thu |
0 | Có |
|
1 | Không |
|
2 | Không | Bộ đọc điều chỉnh sóng, chờ RAP |
3 | Không |
|
3 | Có | RAP đến, bộ đọc bắt đầu xử lý các AU |
4 | Không | Xử lý cập nhật |
4 | Không | Xử lý cập nhật (mặc dù cùng một số như AU trước) |
4 | Có | Đây là điểm đồng bộ dây chuyền, bộ đọc bỏ qua |
4 | Không | mất gói |
4 | Không | Xử lý cập nhật, mặc dù AU trước đó bị mất |
5 | Không | mất gói |
5 | Không | Không xử lý cập nhật vi phụ thuộc vào mất gói |
6 | Không | Bỏ qua, cần một RAP |
6 | Có | Phục hồi, tiếp tục xử lý |
PHỤ LỤC I
(quy định)
Sử dụng khuyến nghị của ITU-T về H.264|ISO/IEC 14496-10 AVC
I.1. Đóng gói đơn vị truy cập AVC theo kiểu gói SL
Định nghĩa AVC AU được quy định trong 7.4.1.2 of ITU-T H.264 | ISO/IEC 14496-10. Những hạn chế và khuyến khi sau được áp dụng khi nó được đóng gói như gói SL.
- Các mã khởi đầu sẽ không xuất hiện trong dòng. Trường cho biết kích thước của khối NAL theo sau thì sẽ được thêm vào trước khối NAL. Kích thước của trường này được xác định trong DecoderSpecificInfo.
- Gói SL có randomAccessPointFlag trong tiêu đề được thiết lập là 1 và các gói SL tiếp theo phải mang các đơn vị truy cập mà bộ tham số để giải mã được cung cấp trước khi sử dụng chúng.
- Bản tin SEI định thời ảnh xác định thông tin định thời có thể xuất hiện trong dòng cơ sở video, ngoài thông tin định thời, bản tin còn chứa các thông tin khác và có thể được yêu cầu để kiểm tra sự phù hợp của bộ giải mã. Tuy nhiên, khi được đóng gói như là các gói SL, thông tin về thời gian trong các bản tin SEI định thời ảnh phải không được sử dụng để quyết định thời gian giải mã hoặc thời gian sắp xếp đơn vị truy cập. Thông tin định thời cho việc giải mã và sắp xếp được cung cấp trong tiêu đề gói SL.
- Việc đóng gói một khối NAL trong một sói SL nên được thực hiện khi nó được phân phối trong môi trường dễ mất mát thông tin.
I.2. Xử lý các bộ thông số
I.2.1 Sử dụng thông tin thông số bộ giải mã (DecoderSpecificInfo)
Các bộ thông số nội dung AVC có thể được cập nhật động. Tuy nhiên, DecoderSpecificInfo mang các bộ thông số không được thay đổi qua phiên. Các bộ thông số trong DecoderSpecificInfo phải được cập nhật bằng một trong hai cách sau:
- Chuỗi hoặc bộ thông số ảnh của đơn vị truy cập có thể được chèn vào trong dòng video;
- Dòng cơ sở bộ thông số chỉ chứa các đơn vị truy cập bộ thông số có thể được sử dụng để mang các bộ thông số tách biệt với dòng cơ sở video AVC. Khi dòng cơ sở bộ thông số này được sử dụng thì các đơn vị truy cập trong dòng cơ ở video AVC sẽ không mang các bộ thông số. Các bộ thông so được cập nhật khi có được thời gian giải mã trong tiêu đề gói SL mang các bộ thông số này.
I.2.1.1. Thông tin chi tiết bộ giải mã
Mục này định nghĩa bộ mô tả DecoderSpecificlnfo cho dòng cơ sở AVC.
I.2.1.1.1. Cú pháp
I.2.1.1.2. Ngữ nghĩa
Thông tin chi tiết bộ giải mã đối với một dòng AVC chứa bản ghi cấu hình bộ giải mã dòng video AVC, được định nghĩa trong 5.2.4 của ISO/IEC 14496-15:2004.
config chứa bản ghi cấu hình bộ giải mã cho cấu hình bộ giải mã dòng cơ sở AVC.
I.2.1.2. Chỉ báo kiểu đối tượng
DecoderConfigDescriptor sẽ thiết lập giá trị streamtype bằng với 0x04 cho cả dòng cơ sở video AVC và các dòng cơ sở bộ thông số AVC.
DecoderConfigDescriptor cho một dòng cơ sở video AVC, có thể bao gồm chuỗi nối tiếp hoặc bộ thông số ảnh, sẽ thiết lập objectTypelndication là 0x21 (Khuyến nghị ITU-T H.264 | ISO/IEC 14496-10). Đối với dòng cơ sở bộ thông số AVC, giá trị objectTypeindication phải bằng 0x22 (các bộ thông số từ Khuyến nghị ITU-T H.264 | ISO/IEC 14496-10).
I.2.1.3. Dòng phụ thuộc
Nếu dòng cơ sở bộ thông số xuất hiện, các bộ mô tả dòng cơ sở cho hai dòng phải đáp ứng các điều kiện sau:
(1) Dòng cơ sở video phụ thuộc vào dòng cơ sở bộ thông số và ES_Descriptor đối với dòng cơ sở video phải có streamDependenceFlag có giá trị "true" và cho biết ESID của dòng cơ sở bộ thông số trong trường dependsOnESID. streamDependenceFlag trong ES_Descriptor đối với dòng cơ sở bộ thông số phải là “false”.
(2) Đồng hồ dòng cơ sở đối với dòng cơ sở bộ thông số và dòng cơ sở video phải giống nhau và được đồng bộ hóa. Các trường OCRstreamflag và OCR_ES_ld trong ESDescriptor đối với dòng cơ sở video và dòng cơ sở bộ thông số phải được sử dụng để cho biết cả hai dòng chia sẻ cùng một OCR.
I.3. Sử dụng định dạng tệp TCVN 11795-14:2017 AVC trong các hệ thống MPEG - 4
Mục này quy định cách thức định dạng tệp AVC được sử dụng khi tệp đó được đánh dấu tương thích với định dạng tệp MPEG 4 như quy định trong tiêu chuẩn TCVN 11795-14:2017. Mục này áp dụng khi tệp được đánh nhãn với việc đánh nhãn định dạng tệp MPEG -4 là 'mp41' hoặc 'mp42' và dữ liệu video AVC phải được sử dụng trong nội dung các hệ thống MPEG - 4.
I.3.1 Bộ mô tả dòng cơ sở
Thông thường trong các dòng MPEG-4, TracklD liên kết với ElementaryStreamlD và SLConfigDescriptor được tạo ra theo các quy tắc cho dòng MPEG-4. Định dạng bộ mô tả ES được quy định trong 7.2.6.5.
Nếu bộ mô tả ES chứa bất kỳ một bộ mô tà khác ngoài bộ mô tả cấu hình SL và bộ mô tả cấu hình bộ giải mã thì các bộ giải mã đó được lưu trong Mô tả Mẫu như quy định trong 5.3.4.1 của tiêu chuẩn ISO/IEC 14496-15:2004.
Sử dụng các bộ mô tả ES độc lập cũng có thể được chỉ báo bằng sự hiện diện của nhiều hơn một bộ mô tả ES AVC độc lập trong một bộ mô tả đối tượng.
I.3.2 Cấu tạo bộ mô tả cấu hình bộ giải mã
Các trường buffersizeDB, maxBitrate và avgBitrate có thể được làm đầy bởi việc kiểm duyệt các Tham số liên tiếp VUI, nếu chúng xuất hiện trong bộ thông số liên tiếp đối với dòng AVC. DecoderSpecificInfo được tạo thành bằng cách sử dụng các nội dung của AVCConfigurationBox.
I.3.3 Các track hình ảnh chuyển mạch
Các track ảnh chuyển mạch không phải là các dòng cơ sở MPEG - 4 và phải thuộc bộ mô tả đối tượng MPEG 4.
PHỤ LỤC J
(tham khảo)
Tuyên bố sáng chế
J.1. Giới thiệu chung
Tổ chức Tiêu chuẩn Quốc tế (ISO) và Ủy ban Điện tử Quốc tế (IEC) cho biết việc tuân thủ tiêu chuẩn này cũng liên quan đến việc sử dụng quyền sáng chế.
ISO và IEC không đưa ra bằng chứng, tính hợp lệ và phạm vi của những quyền sáng chế này.
Chủ sở hữu các sáng chế đã cam kết với ISO và IEC rằng họ sẵn sàng đàm phán về giấy phép theo các điều khoản hợp lý, các điều kiện của các ứng viên trên toàn thế giới. Các tuyên bố của chủ sở hữu sáng chế được đăng ký với ISO và IEC. Các thông tin về các công ty là chủ của các sáng chế được liệt kê ở phần sau.
Chú ý, một số phần tử trong tiêu chuẩn này có thể là đối tượng quyền sáng chế ngoài những thành phần được liệt kê trong phụ lục này. ISO và IEC không chịu trách nhiệm xác định bất kỳ một quyền sáng chế nào như thế.
J.2. Công bố sáng chế đối với phiên bản 1
Bảng J.2 là tổng hợp các tuyên bố sáng chế chính thức đã nhận được và các phần tương ứng của bộ tiêu chuẩn mà sáng chế này áp dụng. (S: là phần hệ thống, V: là phần video, A là phần âm thanh, R là phần mềm tham chiếu, D là DMIF). Danh sách này bao gồm các tổ chức đã nộp tuyên bố sáng chế chính thức. Tuy nhiên nếu được đanh dấu “X” thì chưa nhận được tuyên bố sáng chế chính thức từ tổ chức đó.
Bảng J.2- Các công bố sáng chế đối với phiên bản 1
STT | Công ty | S | V | A | R | D |
1 | Alcatel | x | x | x | x | x |
2 | AT&T |
|
|
|
|
|
3 | BBC | x | x | x | x | x |
4 | Bosch |
| x | x | x |
|
5 | British Telecommunications | x | x | x | x | x |
6 | Canon | x | x | x | x | x |
7 | CCETT | x | x | x | x | x |
8 | Columbia University | x | x | x | x | x |
9 | Creative | x |
| x | x |
|
10 | CSELT |
|
| x |
|
|
11 | DEmoGraFX |
| x |
| x |
|
12 | DirecTV | x | x | x |
|
|
13 | Dolby | x | x | x | x | x |
14 | EPFL | x | x | x |
|
|
15 | ETRI | x | x | x | x | x |
16 | FhG | x | x | x | x | x |
17 | France Telecom | x | x | x | x | x |
18 | Fujitsu Limited | x | x | x | x | x |
19 | GC Technology Corporation | x | x | x |
|
|
20 | General Instrument |
| x |
| x |
|
21 | Hitachi | x | x | x | x | x |
22 | Hyundai | x | x | x | x | x |
23 | IBM |
|
|
|
|
|
24 | Institut fur Rundfunktechnik | x | x | x |
| x |
25 | InterTrust |
|
|
|
|
|
26 | JVC | x | x | x | x | x |
27 | KDD Corporation | x | x |
|
|
|
28 | KPN | x | x | x | x | x |
29 | LG Semicon |
|
|
|
|
|
30 | Lucent |
|
|
|
|
|
31 | Matsushita | x | x | x | x | x |
32 | Microsoft | x | x | x | x | x |
33 | MIT |
|
|
|
|
|
34 | Mitsubishi | x | x | x | x |
|
35 | Motorola |
| x |
| x |
|
36 | NEC Corporation | x | x | x | x | x |
37 | NHK | x | x | x | x | x |
38 | Nokia |
| x | x | x |
|
39 | NTT | x | x | x | x | x |
40 | OKI | x | x | x | x | x |
41 | Philips | x | x | x | x | x |
42 | PictureTel Corporation |
| x |
| x |
|
43 | Rockwell | x | x | x | x | x |
44 | Samsung | x | x | x |
|
|
45 | Sarnoff | x | x | x | x | x |
46 | Scientific Atlanta | x | x | x | x | x |
47 | Sharp | x | x | x | x | x |
48 | Siemens | x | x | x |
|
|
49 | Sony | x | x | x | x | x |
50 | Telenor | x | x | x | x | x |
51 | Teltec DCU |
| x |
| x |
|
52 | Texas Instruments |
|
|
|
|
|
53 | Thomson | x | x | x |
|
|
54 | Toshiba |
| x |
|
|
|
55 | Unisearch Ltd. |
| x |
| x |
|
56 | Vector Vision |
| x |
|
|
|
J.3. Công bố sáng chế cho phiên bản 2
Bảng J.3 là tổng hợp các sáng chế đã nhận được cho phiên bản 2 và cho biết các phần của phiên bản 2 thuộc mà các sáng chế áp dụng, có một số ghi chú như sau:
Những công ty có tên trong bảng sau cho biết công bố sáng chế đã nhận được từ công ty đó
Dấu X cho biết phần tương ứng của bộ tiêu chuẩn TCVN 11795, phiên bản 2, mà sáng chế đó áp dụng
Không có dấu X có nghĩa là sáng chế không xác định tiêu chuẩn thành phần trong bộ tiêu chuẩn mà sáng chế áp dụng.
Bảng J.3 - Các công bố sáng chế đối với phiên bản 2
STT | Công ty | S | V | A | R | D |
1 | Apple | x |
|
| x |
|
2 | British Telecommunications |
|
|
|
|
|
3 | Bosch | x | x | x | x | x |
4 | CCETT | x | x | x | x | x |
5 | Columbia Innovation Enterprise | x | x | x | x | x |
6 | DemoGraFX | x | x | x | x | x |
7 | DirecTV | x | x | x |
|
|
8 | Dolby | x | x | x | x | x |
9 | EPFL | x | x |
| x |
|
10 | France Telecom | x | x | x | x | x |
11 | Fraunhofer |
|
| x | x |
|
12 | Fujitsu |
| x |
| x |
|
13 | Hitachi | x | x | x | x | x |
14 | Hyundai | x | x | x | x | x |
15 | IBM | x | x | x | x | x |
16 | Intertrust |
|
|
|
|
|
17 | JVC | x | x | x | x | x |
18 | KPN |
| x |
|
|
|
19 | Lucent |
|
|
|
|
|
20 | Matsushita Electric Industrial Co., Ltd. | x | x | x | x | x |
21 | Microsoft | x | x | x | x | x |
22 | Mitsubishi | x | x | x | x | x |
23 | NEC . | x | x | x | x | x |
24 | NHK | x | x | x | x | x |
25 | Nokia | x | x | x | x | x |
26 | NTT |
| x |
|
|
|
27 | NTT Mobile Communication Networks |
|
| x |
|
|
28 | OKI | x | x |
| x |
|
29 | Optibase | x |
|
| x |
|
30 | Philips |
|
|
|
|
|
31 | Samsung | x | x | x | x |
|
32 | Sarnoff | x | x | x | x | x |
33 | Sharp | x | x | x | x | x |
34 | Siemens | x | x | x | x | x |
35 | Sony | x | x | x | x | x |
36 | Sun | x |
|
|
|
|
37 | Thomson | x | x | x | x | x |
38 | Toshiba |
| x |
|
|
|
PHỤ LỤC K
(tham khảo)
Tổ chức đăng ký cho các hệ thống MPEG -41
K.1. Các điểm mã được đăng ký
Các điểm mã có thể được đăng ký là:
1) Các cờ bộ mô tả trong khung chương trình bộ mô tả đối tượng, như định nghĩa trong Bảng 1.
2) Các cờ lệnh trong khung chương trình bộ mô tả đối tượng, như quy định trong Bảng 2.
3) Các giá trị định danh kiểu đối tượng, như định nghĩa trong Bảng 5
4) Các giá trị kiểu dòng, như định nghĩa trong Bảng 6.
5) Các giá trị được định nghĩa trước Bộ mô tả cấu hình SL, như được định nghĩa trong Bảng 13
Những điểm mã này được tham chiếu tới trong phần còn lại của Phụ lục này như là các định danh đã đăng ký, viết tắt là RIDs.
K.2. Thủ tục yêu cầu một giá trị định danh đăng ký MPEG 4
Người yêu cầu một điểm mã MPEG 4 như được chi tiết hóa ở trên để xác định một định dạng dữ liệu riêng phải hỏi Tổ chức đăng ký. Tổ chức đăng ký phải có sẵn các mẫu đơn đăng ký. Bên yêu cầu phải cung cấp thông tin quy định trong J.4. Các công ty, tổ chức đủ tư cách áp dụng.
Những đáp ứng của Tổ chức đăng ký trong việc quản lý đăng ký định danh định dạng dữ liệu cá nhân được phác thảo trong phụ lục này, những đáp ứng khác có thể có trong chỉ dẫn JTC 1. Tổ chức đăng ký phải:
a) Thực hiện thủ tục đăng ký cho đơn đăng ký một RID đơn tuân theo Chỉ dẫn JTC1
b) Nhận và xử lý các đơn cho việc phân bổ một định danh từ các nhà cung cấp đơn;
c) Xác định đơn nào trong các đơn đã nhận tuân thủ thủ tục đăng ký và thông báo cho bên yêu cầu trong vòng 30 ngày kể từ ngày nhận được đơn.
d) Thông báo bằng văn bản cho người cung cấp đơn biết yêu cầu nào bị từ chối trong khoảng thời gian 30 ngày kể từ ngày nhận đơn và xem xét việc đệ trình lại đơn một cách kịp thời;
e) Xác nhận đăng ký chính xác các định danh được phân bổ. Kiểm tra quy định về định dạng phải phù hợp với Tổ chức đăng ký;
f) Những nội dung đăng ký phải sẵn sàng khi yêu cầu tới các cơ quan quốc gia của JTC 1 là thành viên của ISO hoặc IEC, tới các tổ chức liên lạc của ISO, IEC và bất kỳ các bên quan tâm khác;
g) Duy trì cơ sở dữ liệu các dạng yêu cầu RID, thành công hoặc bị từ chối. Các bên tìm kiếm thông tin kỹ thuật theo định dạng dữ liệu riêng, định dạng này có một RID phải truy nhập tới được phần thông tin của cơ sở dữ liệu mà Tổ chức đăng ký duy trì;
h) Báo cáo các hoạt động hàng năm cho JTC 1, IETF và ban thư ký SC 29, hoặc những kế hoạch hoạt động của họ; và
i) Điều tiết việc sử dụng các RID khi thích hợp.
K.3. Thông tin liên hệ cho các tổ chức đăng ký
http://www.mp4ra.org/
K.4. Trách nhiệm của bên yêu cầu RID
Bên yêu cầu một định danh định dạng phải:
a) Sử dụng định dạng và thủ tục mà Tổ chức đăng ký cung cấp;
b) Mô tả mục đích của định danh đăng ký và các chi tiết kỹ thuật được yêu cầu như quy định trong mẫu đơn;
c) Cung cấp thông tin liên hệ;
d) Đồng ý tổ chức sử dụng RID dự kiến trong khoảng thời gian thích hợp; và
e) Duy trì ghi chép thường xuyên mẫu đơn và ghi chú nhận được từ Tổ chức đăng ký RID
K.5. Thủ tục phúc thẩm đối với các đơn bị từ chối
Nhóm quản lý có quyền trong việc phúc thẩm đối với một yêu cầu RID đã bị từ chối. RMG phải có một thành viên thường trực bởi các thành viên P và L của Ủy ban kỹ thuật ISO phù hợp với bộ tiêu chuẩn TCVN 11795. Bộ phận tổ chức và thư ký được các thành viên đề cử. Tổ chức đăng ký có quyền giới thiệu một thành viên quan sát mà không cần phải bỏ phiếu bầu.
Trách nhiệm của RMG sẽ là:
a) Xem xét và xử lý tất cả các phúc thẩm trong thời gian phù hợp;
b) Thông báo bằng văn bản cho các tổ chức đã phúc thẩm về việc xem xét của Tổ chức đăng ký đối với những kiến nghị của họ;
c) Xem xét và báo cáo thường niên tổng quát các hoạt động của các Tổ chức đăng ký;
d) Cung cấp các cơ quan thành viên của ISO và các Ủy ban quốc gia của IEC với các thông tin liên quan đến phạm vi hoạt động của Tổ chức Đăng ký.
Thư mục tài liệu tham khảo
[1] TCVN 7217-1:2002 Mã thể hiện tên nước và vùng lãnh thổ của chúng - Phần 1: Mã nước).
[2] ISO 9613-1:1993, Acoustics - Attenuation of sound during propagation outdoors - Part 1: Calculation of the absorption of sound by the atmosphere (Âm học - sự suy giảm âm thanh trong quá trình truyền dẫn ngoài trời - Phần 1: Tính toán sự hấp thụ âm thanh của không khí).
[3] ISO/IEC 13818-1:2007, Information technology - Generic coding of moving pictures and associated audio information: Systems (Công nghệ thông tin - Mã hóa ảnh động và các thông tin âm thanh liên quan: Các hệ thống).
[4] ISO/IEC 13522-6:1998, Information technology - Coding of multimedia and hypermedia information - Part 6: Support for enhanced interactive applications (Công nghệ thông tin - Mã hóa thông tin siêu phương tiện và đa phương tiện - Phần 6: Hỗ trợ cho cac ứng dụng tương tác tiên tiến).
[5] ISO/IEC 14772-1:1997, Information technology - Computer graphics and image processing - The Virtual Reality Modeling Language - Part 1: Functional specification and UTF-8 encoding (Công nghệ thông tin - Đồ họa máy tính và xử lý ảnh - Ngôn ngữ mô hình hóa thực tế ảo) -361556
[6] ISO/IEC 16262: 2002, Information technology - ECMAScript language specification (Công nghệ thông tin - đặc tả ngôn ngữ chữ viết ECMA).
MỤC LỤC
1 Phạm vi áp dụng
2 Tài liệu viện dẫn
3 Tài liệu viện dẫn bổ sung
4 Thuật ngữ và định nghĩa
5 Ký hiệu và thuật ngữ viết tắt
6 Các quy ước
7 Cấu trúc tạo dòng
7.1 Mô hình bộ giải mã các hệ thống
7.1.1 Giới thiệu
7.1.2 Các nội dung của mô hình bộ giải mã các hệ thống
7.1.3 Quy định kỹ thuật mô hình định thời
7.1.4 Quy định mô hình bộ đệm
7.2 Khung chương trình mô tả đối tượng
7.2.1 Giới thiệu
7.2.2 Cấu trúc dữ liệu chung
7.2.3 Quản lý và bảo vệ sở hữu trí tuệ (IPMP)
7.2.4 Thông tin nội dung đối tượng (OCI)
7.2.5 Dòng bộ mô tả đối tượng
7.2.6 Các thành phần của bộ mô tả đối tượng
7.2.7 Các quy tắc sử dụng cấu trúc mô tả đối tượng
7.2.8 Sử dụng giao diện hệ thống IPMP
7.3 Đồng bộ các dòng cơ sở
7.3.1 Giới thiệu
7.3.2 Tầng đồng bộ
7.3.3 Giao diện ứng dụng DMIF
7.4 Ghép các dòng cơ sở
7.4.1 Giới thiệu
7.4.2 Công cụ M4Mux
7.4.3 Bộ mô tả M4Mux
8 Ngôn ngữ mô tả cú pháp
8.1 Giới thiệu
8.2 Loại dữ liệu cơ sở
8.2.1 Giới thiệu
8.2.2 Các trường bit biểu diễn trực tiếp có độ dài cố định
8.2.3 Các trường bit biểu diễn trực tiếp có độ dài thay đổi
8.2.4 Các trường bit biểu diễn gián tiếp có độ dài cố định
8.2.5 Các trường bit biểu diễn gián tiếp có độ dài thay đổi
8.3 Kiểu dữ liệu phức hợp
8.3.1 Phân loại
8.3.2 Lớp trừu tượng
8.3.3 Lớp mở rộng
8.3.4 Kiểu tham số
8.3.5 Mảng
8.3.6 Mảng cục bộ
8.4 Biểu diễn số học và logic
8.5 Biến non-Parsable
8.6 Cú pháp điều khiển dòng
8.7 Toán tử có sẵn
8.8 Các quy tắc giới hạn
9 Profile
9.1 Giới thiệu
9.2 Định nghĩa profile OD
9.2.1 Tổng quan
9.2.2 Các công cụ profile OD
9.2.3 Profile OD
9.2.4 Các mức profile OD
PHỤ LỤC A (tham khảo) Thiết lập lại gốc thời gian
PHỤ LỤC B (tham khảo) Thủ tục đăng ký
PHỤ LỤC C (tham khảo) Mô hình quản lý QoS nội dung mã hóa theo bộ tiêu chuẩn TCVN 11795
PHỤ LỤC D (tham khảo) Quy đổi giữa các quy ước thời gian và ngày
PHỤ LỤC E (tham khảo) Phép biểu diễn đồ họa của Bộ mô tả đối tượng và cú pháp tầng đồng bộ
PHỤ LỤC F (tham khảo) Giao diện dòng cơ sở
PHỤ LỤC G (tham khảo) Dòng hướng lên
PHỤ LỤC H (tham khảo) Dây chuyền mô tả đối tượng và mô tả cảnh
PHỤ LỤC I (quy định) Sử dụng khuyến nghị của ITU-T về H.264|ISO/IEC 14496-10 AVC
PHỤ LỤC J (tham khảo) Tuyên bố sáng chế
PHỤ LỤC K (tham khảo) Tổ chức đăng ký cho các hệ thống MPEG-4
1 Nội dung đoạn văn bản này được bổ sung theo bản sửa đổi bổ sung lần 1 [2].
2 Thông tin quy định bộ giải mã video thô, từ nội dung này cho đến hết Error! Reference source not found, được bổ sung theo bản sửa đổi bổ sung lần 2 [3].
Click Tải về để xem toàn văn Tiêu chuẩn Việt Nam nói trên.