Tcvn XXXX: 2016 Xuất bản lần 1 MÃ HÓa cáC ĐỐi tưỢng hình ảnh âm thanh – ĐỊnh dạng chuỗi văn bảN



tải về 218.96 Kb.
Chuyển đổi dữ liệu15.08.2016
Kích218.96 Kb.
#20187




T I Ê U C H U Ẩ N Q U Ố C G I A



TCVN xxxx:2016

Xuất bản lần 1


MÃ HÓA CÁC ĐỐI TƯỢNG HÌNH ẢNH ÂM THANH – ĐỊNH DẠNG CHUỖI VĂN BẢN

Information Technology - Coding of audio - visual objects - Streaming text format

HÀ NỘI - 2016







Mục lục

1 Phạm vi áp dụng 7

2 Tài liệu viện dẫn 7

3 Thuật ngữ và định nghĩa 7

4 Ký hiệu và thuật ngữ 9

3GPP: Dự án hợp tác thế hệ sau 9

5 Các khối truy cập văn bản 9

a) Định thời và giải mã các Khối truy cập văn bản 9

b) Định dạng Khối truy cập văn bản 9

c) Cấu hình văn bản 9

d) Ngữ nghĩa 10

6 Dòng văn bản trong hệ thống MPEG-4 10

7 Định dạng dữ liệu văn bản cho các dòng văn bản 3GPP 10

5.2.1 Những ràng buộc đối với việc phân đoạn 15

5.2.2 Cấu trúc TTU 15

1.2.1.1. Tín hiệu TTU[1] 15

1.2.1.2. Báo hiệu TTU[2] 16

1.2.1.3. Báo hiệu TTU[3] và TTU[4] 16

1.2.1.4. Ký hiệu TTU[5] 17

5.2.3 Hạn chế đối với việc sử dụng các mô tả mẫu 17


Phụ lục A Tham chiếu phông chữ…………………………………………………….29

Phụ lục B Truyền tải dòng văn bản……………………………………………………30




L
TCVN xxxx:2016 được xây dựng trên cơ sở tham khảo tiêu chuẩn quốc tế ISO/IEC 14496-17.

TCVN xxxx:2016 do Học viện Công nghệ Bưu chính Viễn thông, 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ố.


ời nói đầu


C

T I T I Ê U C H U Ẩ N Q U Ố C G I A

TCVN xxxx:2016




ông nghệ thông tin - Mã hóa các đối tượng hình ảnh, âm thanh - Định dạng dòng văn bản



Coding of audio-visual objects - Streaming text format

1 Phạm vi áp dụng


Tiêu chuẩn này quy định việc hiển thị được mã hóa những thông tin văn bản để hiển thị theo thời gian trên màn hình. Các dữ liệu văn bản có thể được xem trực tiếp kết hợp với âm thanh và hình ảnh, đó là trong trường hợp thông tin văn bản được hiển thị dạng phụ đề, ví dụ là bản dịch của âm thanh trong video dưới dạng một ngôn ngữ khác hoặc phụ đề trợ giúp trong trường hợp âm thanh khó nghe, một ví dụ khác là phụ đề nội dung bài hát trong một ứng dụng Karaoke. Tuy nhiên, dữ liệu văn bản cũng có thể được xem trực tiếp như một ứng dụng độc lập mà không cần kết hợp bất kỳ âm thanh hay hình ảnh nào liên quan. Định dạng dòng văn bản được quy định theo cách thức không phụ thuộc lớp truyền tải, tức là cho phép truyền tải theo nhiều cách khác nhau, trong khi vẫn cung cấp một mức độ truy cập ngẫu nhiên hợp lý và sự kháng lỗi.

Tiêu chuẩn này được sử dụng cho các hãng sản xuất thiết bị, các nhà sản xuất nội dung đa phương tiện, các đơn vị hoạt động trong lĩnh vực phát thanh và truyền hình trong việc mã hóa, truyền dẫn nội dung đa phương tiện theo chuẩn MPEG-4.

Tiêu chuẩn được áp dụng nhằm bảo đảm kết nối thông suốt, đồng bộ và gia tăng khả năng chia sẻ, trao đổi thông tin an toàn giữa các cơ quan nhà nước và giữa cơ quan nhà nước với tổ chức, cá nhân.

2 Tài liệu viện dẫn


Các tài liệu viện dẫn rất cần thiết cho việc áp dụng tiêu chuẩn. Đối với các tài liệu ghi năm công bố thì áp dụng 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.

  • 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 và sắp xếp font).

  • 3GPP TS 26.245 – 2003, Timed text format, Release 6 (Định dạng văn bản định thời, phiên bản thứ 6).

  • [2] IETF RFC 3550, RTP, A Transport Protocol for Real Time Applications (Giao thức truyền tải cho các ứng dụng thời gian thực).

  • [3] IETF RFC 3640, RTP payload for transport of generic MPEG-4 content (Tải tin RTP cho truyền tải nội dung MPEG-4).

3 Thuật ngữ và định nghĩa




Dòng văn bản (Text stream)

Dòng byte có khả năng mang các Khối truy cập văn bản của một định dạng cụ thể, có thể xen kẽ với các dữ liệu cần thiết cho việc giải mã dòng văn bản đó.





Khối truy cập văn bản (Text access unit)

Các phần truy cập riêng biệt của văn bản trong mỗi dòng văn bản.

CHÚ THÍCH: Mỗi Khối truy cập văn bản bao gồm cả hiển thị được mã hóa của dữ liệu văn bản. Để hiển thị thì Khối truy cập văn bản có thể kết hợp với một dấu thời gian riêng.




Dòng văn bản 3GPP (3GPP text stream)

Là dòng văn bản mang các Khối truy cập văn bản 3GPP.





Khối truy cập văn bản 3GPP (3GPP text access unit)

Khối truy cập văn bản mang các dữ liệu từ các mẫu văn bản mà 3GPP quy định.





Mẫu văn bản (Text sample)

Khi sử dụng một dòng văn bản 3GPP, theo quy định của 3GPP TS 26.245 một mẫu văn bản bao gồm một chuỗi văn bản, có thể có một hoặc nhiều chuỗi điều chỉnh.





Chuỗi văn bản (Text string)

Khi sử dụng dòng văn bản 3GPP, dữ liệu chứa trong mẫu văn bản, là một chuỗi các ký tự được mã hóa ở định dạng UTF-8 hoặc UTF-16 như quy định trong 3GPP TS 26.245.





Chuỗi điều chỉnh (text modifier)

Khi sử dụng dòng văn bản 3GPP, một hoặc nhiều chuỗi điều chỉnh được kèm theo để xác định cách thức hiển thị chuỗi văn bản trong mẫu văn bản theo quy định trong 3GPP TS 26.245





Mô tả mẫu (sample description)

Khi sử dụng trong dòng văn bản 3GPP, các dữ liệu mô tả sẽ cung cấp các thông tin chung về một hay nhiều mẫu văn bản, ví dụ như các loại font được sử dụng hay định vị văn bản theo quy định của 3GPP TS 26.245.





Khối văn bản định thời TTU (Timed Text Unit)

Cấu trúc cú pháp trong một dòng văn bản 3GPP mang các Khối truy cập văn bản theo đó chỉ số j chỉ loại dữ liệu (như một phần, một Khối truy cập văn bản hoàn chỉnh hay một mô tả văn bản) được mang.





Định dạng dòng văn bản (text stream format)

Dòng văn bản được xác định là luồng byte có khả năng chứa các khối truy cập văn bản của một định dạng cụ thể, tùy chọn xen kẽ với các dữ liệu cần thiết cho việc giải mã dòng văn bản. Các định dạng dòng văn bản được định nghĩa một cách thuận tiện cho việc vận chuyển trong gói truyền tải và các tập tin. Tuy nhiên, bản thân việc vận chuyển đó phụ thuộc vào định dạng cụ thể cho lưu trữ và truyền tải tập tin, điều đó nằm ngoài phạm vi của tiêu chuẩn này.





Khung hiển thị văn bản (Text Track)

Là phần khung hình chữ nhật dưới cùng của màn hình để hiển thị văn bản trong các video, có độ rộng và độ dài được xác định cụ thể.





Hộp văn bản (Text Box)

Là phần khung hình chữ nhật được định vị trong phạm vi Text Track để hiển thị văn bản trong các video, có độ rộng và độ dài được xác định cụ thể.


4 Ký hiệu và thuật ngữ

3GPP: Dự án hợp tác thế hệ sau


TTU: Khối văn bản định thời.

HTD: Lý thuyết giải mã văn bản


5 Các khối truy cập văn bản

    1. Định thời và giải mã các Khối truy cập văn bản


Mỗi Khối truy cập văn bản có chứa dữ liệu văn bản ở một định dạng xác định, sử dụng nhãn thời gian. Nhãn thời gian xác định thời gian Khối truy cập văn bản được hiển thị trên màn hình. Bộ thu cần các thông tin của TextConfig để giải mã một dòng văn bản. TextConfig có thể cung cấp thông tin xác định định dạng dữ liệu văn bản.
    1. Định dạng Khối truy cập văn bản


Text access unit{

textData ; //Định dạng của textData là một dạng cụ thể của textFormat

}
    1. Cấu hình văn bản


TextConfic ( ) {

bit (8) textFormat;

bit (16) textConfigLength;

formatSpecificTextConfig ( ) ;

}
    1. Ngữ nghĩa


textFormat” - một byte báo hiệu định dạng dữ liệu văn bản. Giá trị 0x01 báo hiệu rằng các dữ liệu văn bản được định thời theo quy định của 3GPP TS 26.245 theo cách thức quy định ở khoản 7.

Bảng 1: Các định dạng dữ liệu văn bản trong textformat

0x00

Dự trữ

0x01

Văn bản được xác định thời gian theo quy định của 3GPP TS 26.245

0x02- 0xEF

Dự trữ

0xF0- 0xFE

Định dạng riêng của người sử dụng

0xFF

Dự trữ

textConfigLength” - số nguyên không dấu xác định số lượng byte trong “formatSpecificTextConfig ( )”


6 Dòng văn bản trong hệ thống MPEG-4


    1. Báo hiệu một dòng văn bản

Khi sử dụng hệ thống MPEG-4, một dòng văn bản phải được báo hiệu bởi một Giá trị định dạng dòng 0x0D và một Giá trị định danh loại đối tượng 0x08.

    1. Sử dụng trong việc mô tả cảnh

Khi được sử dụng trong một mô tả cảnh MPEG-4, đối tượng dòng văn bản được sử dụng như sau:

  • Nếu đối tượng dòng văn bản được sử dụng bởi một nút “AnimationStream”, nó phải được hiển thị, bất kể việc nút “AnimationStream” được kích hoạt hay không;

  • Nếu đối tượng dòng văn bản không được sử dụng bởi bất kỳ nút “AnimationStream” nào, nó sẽ không được hiển thị trong cảnh.

Việc hiển thị văn bản theo không gian của dữ liệu văn bản được xác định bởi các định dạng văn bản cơ bản. Trong trường hợp mô tả ảnh có chỉ số kích thước màn hình, các kết quả sẽ không được xác định nếu việc định vị các dữ liệu văn bản ra ngoài màn hình.

Tất cả các quy tắc chung liên quan đến việc điều khiển thời gian và phân đoạn dòng đều được áp dụng cho các đối tượng dòng văn bản.


7 Định dạng dữ liệu văn bản cho các dòng văn bản 3GPP


    1. Giới thiệu

Phần này xác định định dạng dữ liệu văn bản trong dòng văn bản 3GPP.

    1. Các mẫu văn bản và các mô tả mẫu trong các Khối truy cập văn bản 3GPP

Chuẩn 3GPP TS 26.245 định dạng dữ liệu văn bản theo thời gian bao gồm các mẫu văn bản và mô tả mẫu, mỗi mẫu văn bản bao gồm một chuỗi văn bản, được theo sau bởi một hoặc nhiều chuỗi điều chỉnh. Mỗi chuỗi văn bản bao gồm các ký tự tạo thành các văn bản được hiển thị, trong khi các chuỗi điều chỉnh mang những thay đổi sẽ được áp dụng cho các dòng văn bản trong suốt thời gian mà văn bản đó được hiển thị trong hộp văn bản. Ví dụ trong một ứng dụng Karaoke, các chuỗi điều chỉnh cho phép dòng văn bản được thay đổi màu sắc đồng bộ với bài hát.

Một mô tả mẫu cung cấp thông tin tổng quát về một mẫu văn bản, ví dụ về phông chữ sẽ được sử dụng, về vị trí của văn bản khi hiển thị trong hộp văn bản, màu nền hiển thị v.v... Có thể có nhiều mô tả mẫu; một chỉ số được gán cho mỗi mô tả mẫu văn bản (SD) và mỗi mẫu văn bản được kết hợp với các chỉ số của mô tả mẫu. Một mô tả mẫu có thể sử dụng cho nhiều mẫu văn bản, trong khi một mẫu văn bản chỉ áp dụng duy nhất một mô tả mẫu.

Mối quan hệ giữa các mô tả mẫu, các mẫu văn bản, chuỗi văn bản và các chuỗi điều chỉnh được mô tả trong Hình 1



Hình 1- Các mô tả mẫu, mẫu văn bản, chuỗi văn bản và các chuỗi điều chỉnh trong các dòng văn bản 3GPP

Một Khối truy cập văn bản 3GPP bao gồm các dữ liệu từ một mẫu văn bản. Do đó, một Khối truy cập văn bản 3GPP không cho phép bao gồm dữ liệu từ nhiều mẫu văn bản. Mỗi Khối truy cập văn bản 3GPP được hiển thị trong khoảng thời gian nhất định, xác định bởi các thông tin về thời gian. Ngoài một mẫu văn bản, Khối truy cập văn bản có thể chứa nhiều mô tả mẫu hoàn chỉnh. Bằng việc cho phép xen kẽ các mẫu văn bản và các mô tả mẫu trong các Khối truy cập văn bản 3GPP, các dòng văn bản 3GPP có khả năng chứa các mô tả mẫu trong băng.



    1. Truyền tải các Khối truy cập văn bản 3GPP trong các TTU

Thông thường, một Khối truy cập văn bản 3GPP có kích thước nhỏ, khoảng 100 - 200 byte, và thường nhỏ hơn nhiều so với kích thước của gói tin mang dữ liệu văn bản trên một mạng truyền tải. Do đó ​​hệ thống truyền tải sẽ tập hợp nhiều Khối truy cập văn bản 3GPP vào một gói tin để truyền tải. Tuy nhiên, có thể đôi khi Khối truy cập văn bản 3GPP có kích thước lớn, ví dụ như khi di chuyển văn bản theo hướng ngang ở phía dưới của màn hình, trong trường hợp đó cần phải phân mảnh Khối truy cập văn bản 3GPP trước khi truyền tải. Tóm lại, truyền tải Khối truy cập văn bản 3GPP thường phải tập hợp các Khối truy cập văn bản nhưng đôi khi cũng có yêu cầu phân đoạn. Vì vậy, để thuận tiện cho việc tổng hợp và phân đoạn các Khối truy cập văn bản theo một cách độc lập, tiêu chuẩn này quy định một cấu trúc khung linh hoạt bao gồm các yếu tố định giờ văn bản, còn được gọi là TTU.

Có 5 loại TTU, một loại mang các Khối truy cập văn bản 3GPP hoàn chỉnh, ba loại chứa các phân đoạn mẫu văn bản và một loại mang các mô tả mẫu hoàn chỉnh với ba loại được dự trữ để dùng trong tương lai. Do các mô tả mẫu nhỏ nên không cần phương thức hỗ trợ truyền tải các phân đoạn mô tả mẫu.

Cấu trúc khung linh hoạt mà TTU cung cấp cho phép tiếp cận với các lớp vận chuyển khác nhau một cách dễ dàng và thuận tiện khi thực hiện việc sắp xếp TTU cùng với các gói vận chuyển. Mỗi lớp vận chuyển có thể chọn cấu trúc TTU phù hợp nhất. Bằng việc sử dụng các TTU, các mẫu văn bản nhỏ có thể được tổng hợp vào một gói vận chuyển nhưng các TTU cũng có thể được sử dụng để phân đoạn các mẫu văn bản qua nhiều gói vận chuyển khi đưa ra mức độ kháng lỗi phù hợp trong trường hợp mất các gói vận chuyển hoặc các lỗi không thể phục hồi. Để làm được điều đó, dữ liệu văn bản trong một Khối truy cập văn bản có thể tái phân vùng thành các TTU để tiếp cận các hệ thống vận chuyển hiệu quả nhất. Tiêu chuẩn này dừng lại ở mức xác định các TTU cho các dòng văn bản 3GPP.



Hình 2- Các mẫu văn bản và các mô tả mẫu trong các khối truy cập 3GPP và việc sử dụng các TTU để tạo các dòng văn bản 3GPP

Mỗi Khối truy cập văn bản trong một dòng văn bản 3GPP được xác định bao gồm một hoặc nhiều TTU. Mỗi loại TTU được xác định bởi chỉ số j của nó và được gọi là TTU[j]. Có các loại TTU được xác định như sau:



  • TTU[0]: loại TTU được dự trữ sử dụng trong tương lai

  • TTU[1]: loại TTU này có khả năng mang các Khối truy cập văn bản 3GPP hoàn chỉnh;

  • TTU[2]: loại TTU này có khả năng mang một đoạn của một chuỗi văn bản (text string) trong một mẫu văn bản;

  • TTU[3]: loại TTU này có khả năng mang phân đoạn đầu tiên của một chuỗi điều chỉnh từ một mẫu văn bản;

  • TTU[4]: loại TTU này có khả năng mang một phân đoạn của một chuỗi điều chỉnh trong một mẫu văn bản, trừ phân đoạn đầu tiên;

  • TTU[5]: loại TTU này có khả năng mang một mô tả mẫu hoàn chỉnh;

  • TTU[6] và TTU[7]: loại TTU này được dự trữ để sử dụng trong tương lai.

Hình 3 mô tả các phương thức tạo ra các TTU từ các mẫu văn bản và các mô tả mẫu. Một TTU[5] chứa một mô tả mẫu hoàn chỉnh. Một TTU[1] chứa một mẫu văn bản không phân đoạn. Khi một mẫu văn bản bị phân đoạn, các phân đoạn sẽ được tách ra và được chứa trong các TTU. Mỗi phân đoạn văn bản được bao gồm trong một TTU[2], số lượng TTU[2] tương ứng với số phân đoạn của văn bản. Tuy nhiên, đôi khi các đoạn văn bản có thể không bị phân đoạn, trong trường hợp này chỉ có một TTU[2] chứa một phân đoạn văn bản duy nhất. Một TTU[3] chứa một phân đoạn đầu tiên trong chuỗi điều chỉnh, vì thế TTU[3] chỉ sự bắt đầu của chuỗi điều chỉnh. Mỗi một TTU[4] chứa một phân đoạn của chuỗi điều chỉnh (nếu có).

Hình 3- Các mô tả mẫu và các mẫu văn bản trong các

TTU và cấu tạo các Khối truy cập văn bản bằng các TTU

Trong hình 3 cũng mô tả các phương thức xây dựng các Khối truy cập văn bản bằng các TTU. Nếu một mẫu văn bản không bị phân đoạn, thì một Khối truy cập văn bản bao gồm TTU[1] chứa toàn văn bản. Nếu mẫu văn bản bị phân đoạn thì các Khối truy cập văn bản chưa một hoặc nhiều TTU[2], tương ứng với số phân đoạn văn bản. Nếu mẫu văn bản chứa các chuỗi điều chỉnh thì các Khối truy cập văn bản chứa một TTU[3] và phụ thuộc vào kích thước chuỗi điều chỉnh sẽ không có hoặc có nhiều TTU[4]. Ngoài ra, mỗi Khối truy cập văn bản chứa một hay nhiều TTU[5], mỗi TTU[5] chứa một mô tả mẫu cho một hoặc nhiều mẫu văn bản trong dòng văn bản.

Một mẫu văn bản trống là một mẫu văn bản không có dữ liệu (do đó không có các chuỗi văn bản và các chuỗi điều chỉnh) có thể được sử dụng để xác định việc hiển thị một chuỗi văn bản trước khi bắt đầu hiển thị mẫu văn bản tiếp theo trong dòng văn bản. Các mẫu văn bản trống này phải được chứa trong một TTU[1] như là một đơn vị truy cập riêng.

Thứ tự của các TTU trong một Khối truy cập văn bản là ngẫu nhiên với một số ràng buộc. Khi các mẫu văn bản bị phân đoạn, nó cho phép lặp lại một phân đoạn được xem là quan trọng hơn những phân đoạn khác và ưu tiên các chuỗi điều chỉnh trước các phân đoạn văn bản cho các dòng văn bản lớn. TTU[5] có thể xen kẽ ngẫu nhiên với các TTU khác. Để sắp xếp các TTU trong một khối truy cập văn bản, chỉ áp dụng các giới hạn sau:

Khi một mô tả mẫu được cung cấp trong băng thì một mô tả mẫu phải bao gồm trong một dòng văn bản trước bất kỳ mẫu văn bản nào sử dụng mô tả mẫu đó. Điều này có nghĩa là một mô tả mẫu trong băng được chứa trong một TTU[5] phải đặt trước bất kỳ TTU[1], TTU[2], TTU[3] và TTU[4] nào liên quan đến mô tả mẫu đó. Chú ý rằng các TTU[5] này có thể được chứa trong cùng một Khối truy cập văn bản hoặc trong một hay nhiều Khối truy cập văn bản trước đó.

      1. Những ràng buộc đối với việc phân đoạn


Một số ràng buộc phải được áp dụng khi phân đoạn các mẫu văn bản trong TTU[2], TTU[3] và TTU[4]. Áp dụng các hạn chế sau đây:

Mỗi chuỗi văn bản phải được phân đoạn trên giới hạn ký tự vì vậy mỗi đoạn chỉ chứa các mã ký tự hoàn chỉnh để đảm bảo rằng mỗi đoạn văn bản nhận được có thể được giải mã ngay cả trong trường hợp mất đoạn văn bản trước đó. Do đó, việc phân đoạn dòng văn bản yêu cầu phải dựa trên định dạng UTF-8/-16 để xác định các ranh giới phân đoạn.

Nếu không yêu cầu phân đoạn chuỗi điều chỉnh theo các giới hạn chuỗi điều chỉnh thì khi một phân đoạn chuỗi điều chỉnh bị mất, bộ thu sẽ không thể giải mã được các phân đoạn còn lại.

      1. Cấu trúc TTU


Mỗi TTU bắt đầu bằng một phần mào đầu 8 bit, phần mào đầu này chứa định dạng TTU và các ký hiệu cho biết các ký tự trong dòng văn bản của mẫu văn bản có được mã hóa với định dạng UTF-8/ -16 hay không đồng thời báo hiệu độ dài (kích thước) của các TTU, đơn vị tính là byte. Các phần còn lại sau phần mào đầu của TTU là thông tin cụ thể về loại TTU được mô tả cụ thể trong các mục sau đây.
        1. Tín hiệu TTU[1]


Một TTU[1] chứa môt mẫu văn bản hoàn chỉnh; phần mào đầu TTU và trường độ dài dữ liệu TTU được xác định theo các phần cung cấp các thông tin sau:

  • Chỉ số mô tả mẫu;

  • Độ dài của mẫu văn bản;

  • Độ dài của chuỗi văn bản trong mẫu văn bản (tính theo byte). Độ dài của chuỗi văn bản không đưa ra số đếm ký tự vì một ký tự có thể thay đổi độ dài từ 1 đến 6 byte.

Không quy định chiều dài của chuỗi điều chỉnh, vì nó được giả định rằng thông tin này có nguồn gốc từ tổng chiều dài mẫu văn bản cũng được cung cấp bởi các tiêu đề của TTU.

Việc một TTU[1] chứa một mẫu văn bản trống được ký hiệu bằng sự xuất hiện của trường chiều dài dữ liệu TTU được mã hóa với một giá trị cụ thể (xem phần 5.2.2)

CHÚ THÍCH 1: Khi chuỗi văn bản truyền tải được lưu ở file 3GP, điều đó đảm đảm bảo rằng các giá trị của hai trường chuỗi văn bản trong một file 3GP, trường chiều dài chuỗi 16 bít và phần đánh dấu thứ tự byte được mã hóa chính xác trong các phần tương ứng của phần mào đầu TTU.

CHÚ THÍCH 2: Nếu một dòng văn bản được định giờ được lưu trong một file 3GP, thì phần đánh dấu thứ tự byte và chiều dài của chuỗi văn bản cần được phục hồi từ các phần mào đầu TTU để lưu giữ dòng văn bản chính xác trong file 3GP.


        1. Báo hiệu TTU[2]


Một TTU[2] chứa một phân đoạn văn bản từ một mẫu văn bản. Phần mào đầu TTU và trường độ dài dữ liệu TTU xác định dựa trên:

  • Tổng số phân đoạn mẫu văn bản; bao gồm phân đoạn chuỗi văn bản và một phân đoạn chuỗi điều chỉnh.

  • Số thứ tự của phân đoạn trong TTU[2] này; Số thứ tự của phân đoạn mẫu văn bản đầu tiên là 0 và với mỗi phân đoạn thì số thứ tự sẽ tăng lên 1 vì vậy trong trường hợp có N phân đoạn, số thứ tự của phân đoạn lớn nhất là N-1. Một mẫu văn bản có thể được phân đoạn thành nhiều nhất là 16 phân đoạn khác nhau;

  • Độ dài của mẫu văn bản;

  • Chỉ số của các mô tả mẫu;

  • Tổng chiều dài mẫu văn bản gốc không phân đoạn; thông tin này cho phép bộ thu phân bổ không gian cho việc giải mã mẫu văn bản; Thông tin này được cung cấp cho mỗi phân đoạn của dòng văn bản cũng để cho phép việc phân bổ không gian bộ đệm sau khi mất một hay nhiều phân đoạn chuỗi văn bản.
        1. Báo hiệu TTU[3] và TTU[4]


Trong một TTU[3] và TTU[4] chứa tương ứng phân đoạn đầu tiên và các phân đoạn còn lại của chuỗi điều chỉnh; phần đầu TTU và độ dài dữ liệu tuân theo các yếu tố:

  • Tổng số phân đoạn của mẫu văn bản;

  • Số thứ tự của phân đoạn trong TTU[2];

  • Độ dài của mẫu văn bản.

CHÚ THÍCH: Các chỉ số của mô tả mẫu, khoảng thời gian mẫu văn bản và tổng chiều dài của các mẫu văn bản được phân đoạn không được ký hiệu nếu đã có các thông tin về các phân đoạn chuỗi điều chỉnh áp dụng cho các chuỗi văn bản.
        1. Ký hiệu TTU[5]


Một TTU[5] chứa một mô tả mẫu. Trong TTU[5], phần mào đầu TTU và trường độ dài dữ liệu TTU xác định theo:

  • Chỉ số của mô tả mẫu.
      1. Hạn chế đối với việc sử dụng các mô tả mẫu


Có 256 giá trị chỉ số có sẵn để xác định một mô tả mẫu. Giá trị 255 được dự trữ. Các mô tả mẫu có thể được cung cấp trong băng hoặc ngoài băng. Các giá trị chỉ số trong phạm từ 0 và 127 có sẵn để sử dụng trong băng, giá trị chỉ số từ 128 đến 254 có thể được sử dụng để cung cấp cho các mô tả mẫu ngoài băng. Xem Bảng 2.

Bảng 2- Giá trị chỉ số cho các mô tả mẫu

Giá trị chỉ số

Phân bổ

  1. 127

Sẵn có để sử dụng trong băng

128- 254

Sẵn có để sử dụng ngoài băng

255

Dự trữ

Khi các mô tả mẫu được cung cấp trong băng, có thể cần thường xuyên cập nhật các mô tả mẫu. Với mục đích này, một cơ chế đóng gói được xác định cho các mô tả mẫu trong băng, cho phép liên tục cập nhật các mô tả mẫu đó trong phạm vi 64 giá trị chỉ số. Do đó, tại bất kỳ điểm nào, tối đa 64 mô tả mẫu trong băng có thể được sử dụng cùng một lúc. Mỗi mô tả mẫu với giá trị chỉ số không trong phạm vi hợp lệ sẽ không được sử dụng nữa. Các mô tả mẫu hợp lệ có thể được truyền trong băng thường xuyên để truy cập ngẫu nhiên, mà không có bất kỳ tác động nào trên phạm vi giá trị số không hợp lệ. Tuy nhiên, khi đang nhận được một mô tả mẫu với một giá trị chỉ số thuộc phạm vi không hợp lệ, khi đó phạm vi hợp lệ được thay đổi và mô tả mẫu nhận được sẽ trở thành có hiệu lực. Khi mô tả mẫu nhận được giá trị chỉ số i không thuộc phạm vi hợp lệ, thì bộ thu phải loại bỏ từng mô tả mẫu với một giá trị chỉ số trong khoảng giữa (i + 1) mod 128 và (i + 64) mod128. Ví dụ, giả định rằng phạm vi hợp lệ là giữa 41 và 104, và do đó, các giá trị 105 -127 và 1-40 là các giá trị không hợp lệ. Thời điểm đó bộ thu nhận được mô tả mẫu với giá trị chỉ số 114, bộ thu phải làm vô hiệu giá trị chỉ số 115-127 và từ 0 đến 50, để thay đổi phạm vi hợp lệ cho các giá trị giữa 51 và 114.



    1. Cú pháp và ngữ nghĩa của các TTU

      1. TextData ()

TextData () bao gồm một chuỗi các TTU mang dữ liệu từ các khối truy cập văn bản. Các TTU sẽ mang các Khối truy cập văn bản trong thứ tự hiển thị. Các TTU cùng với dữ liệu thuộc về một Khối truy cập văn bản phải không được xen kẻ với các TTU có dữ liệu của một Khối truy cập văn bản khác.

textData ( ) {

for ( i=0; i < N; i++ ) {

TTU [j] ( )

}

}

      1. TTU [j]( )

TTU [j] ( ) {

UTF_16_flag

reserved

TTU_type

TTU_ data_length

TTU_data[j] ( )

}

UTF_16_flag: 1 bit xác định định dạng mã hóa các ký tự chuỗi văn bản trong TTU [1] và TTU [2], khi thiết lập về 1, thì áp dụng UTF-16 còn khi thiết lập về 0, thì áp dụng UTF-8. Đối với TTU [3], TTU[4] và TTU [5] bit này không có ý nghĩa và sẽ được bỏ qua. Dòng văn bản được mã hóa UTF-16 sẽ được sắp xếp theo thứ tự lớn dần, còn được gọi là thứ tự byte mạng. Bộ thu dòng văn bản 3GPP có thể giải mã dòng văn bản được mã hóa UTF-8 cũng như dòng văn bản được mã hóa UTF-16 theo thứ tự lớn dần. Hỗ trợ nhỏ dần trong bộ thu là tùy chọn.

CHÚ Ý: 3GPP TS 26.245 yêu cầu có một byte đánh dấu thứ tự - Byte Order Mark (BOM) ở đầu mỗi dòng văn bản mã hóa UTF-16 trong một mẫu văn bản. Đối với bộ thu, 3GPP 26.245 có nhiệm vụ hỗ trợ thứ tự lớn dần, trong khi UTF-16 thứ tự nhỏ dần là tùy chọn.



TTU_type – 3 bit quy định loại của TTU; Loại TTU được mã hóa với một giá trị bằng với chỉ số j trong TTU[j] theo bảng sau đây:

Bảng 3- Loại TTU

Giá trị loại TTU

Loại TTU

Cách dùng TTU

0

TTU[0]

Dự trữ

1

TTU[1]

Chứa Khối truy cập văn bản 3GPP hoàn chỉnh

2

TTU[2]

Chứa một phân đoạn văn bản trong chuỗi văn bản

3

TTU[3]

Chứa phân đoạn đầu tiên trong chuỗi điều chỉnh

4

TTU[4]

Chứa phân đoạn không phải đoạn đầu tiên của chuỗi điều chỉnh

5

TTU[5]

Chứa một mô tả mẫu hoàn chỉnh

6

TTU[6]

Dự trữ

7

TTU[7]

Dự trữ


TTU_data_length - 16 bít quy định tổng số byte của phần TTU_data_length và TTU_data[j]. Trong một TTU[1], việc chứa một mẫu văn bản trống được đánh dấu bởi giá trị của độ dài dữ liệu TTU là 8.

      1. TTU_data[0]( )

TTU_data [0] ( ) {

for ( i=0; i

reserved 8 bslbf

}

}

      1. TTU_data [1] ()

TTU_data [1] ( ) {

sample_index 8 uimsbf

sample_duration 24 uimsbf

text_string_length 16 uimsbf

whole_text_sample ( )

}

Sample_index – số nguyên không dấu 8 bit xác định các chỉ số của mô tả mẫu được áp dụng cho các mẫu văn bản có trong TTU này. Giá trị sample_index sẽ chỉ đến một mô tả mẫu cụ thể có trong dòng văn bản trước khi sử dụng nó. Các sample_index có giá trị 0 và 255 được dự trữ.

Sample_duration - số nguyên không dấu 24 bit xác định khoảng thời gian hiển thị dự kiến của các mẫu văn bản trong TTU này theo đơn vị thời gian được quy định tại textConfig; xem Mục 1.8. Sample_duration luôn xác định một giá trị thời gian. Một mẫu văn bản với một sample_duration có giá trị 0 sẽ được hiển thị cho đến khi mẫu văn bản tiếp theo được hiển thị. Một mẫu văn bản với sample_duration có giá trị 0 không được là mẫu văn bản cuối cùng của một dòng văn bản 3GPP. Một mẫu văn bản với một sample_duration có giá trị 0 có thể được theo sau bởi một mẫu văn bản trống;

CHÚ Ý: nếu một dòng văn bản 3GPP được lưu trữ trong một tập tin 3GP thì đối với mỗi mẫu văn bản có sample_duration bằng 0, khoảng thời gian này phải được thay đổi bằng khoảng thời hạn hiệu lực của mẫu văn bản, giống như định dạng tập tin ISO cấm một khoảng thời gian mẫu bằng không. Thời hạn hiệu lực là sự khác biệt về thời gian không xác định giữa các mẫu hiện tại với và các mẫu văn bản tiếp theo trong dòng văn bản.



Text_string_length - số nguyên không dấu 16 bit quy định số byte của chuỗi văn bản trong TTU.

Whole_text_sample() - Mẫu văn bản được xác định bởi 3GPP trong 3GPP TS 26.245 hoặc một phần mở rộng được quy định trong textConfig (xem mục d và 1.8)

      1. TTU_data[2]()

TTU_data [2]( ) {

total_number_of_sample_fragments 4 uimsbf

number_of_this_sample_fragments 4 uimsbf

sample_duration 24 uimsbf

sample_index 8 uimsbf

sample_length 16 uimsbf

text_string_fragment ( )

}

Total_number_of_sample_fragements - một số nguyên 4 bit xác định tổng số phân đoạn của mẫu văn bản mà TTU này có chứa một phân đoạn của mẫu đó.

Number_of_this_sample_fragment - một số nguyên không dấu 4 bit xác định thứ tự của các phân đoạn mẫu văn bản chứa trong TTU này. Khi một mẫu văn bản được chia ra thành N phân đoạn thì số thứ tự phản ánh số thứ tự theo logic của các phân đoạn, với phân đoạn thứ nhất có số thứ tự là 0 và phân đoạn cuối có số thứ tự là N-1 trong đó mỗi phân đoạn thì số thứ tự sẽ tăng lên 1.

Sample_duration – xem phần ý nghĩa của sample_duration ở mục 6.2.

Sample_index - xem phần sample_index ở mục 6.2.

Sample_length – một số nguyên không dấu 16 bit xác định tổng số byte trong mẫu văn bản mà TTU này có chứa một phân đoạn của mẫu văn bản đó.

Text_string_fragment () - một phân đoạn của chuỗi văn bản từ mẫu văn bản theo quy định của 3GPP trong 3GPP TS 26.245 hoặc phần mở rộng của nó quy định trong textConfig (xem mục d và 1.8)

      1. TTU_data[3]( )

TTU_data [3] ( ) {

total_number_of_sample_fragments 4 uimsbf

number_of_this_sample_fragments 4 uimsbf

sample_duration 24 uimsbf

first_modifier_box_fragment ( )

}

Total_number_of_sample_fragements- xem phần Total_number_of_sample_fragements ở mục 6.3.

Number_of_this_sample_fragment-Xem phần Number_of_this_sample_fragment- ở mục 6.3.

Sample_duration- Xem phần ý nghĩa của Sample_duration ở mục 6.2.

First_modifier_box_fragment()- là phân đoạn chuỗi điều chỉnh đầu tiên trong mẫu văn bản được định nghĩa theo 3GPP trong 3GPP TS 26.245 hoặc phần mở rộng của nó được quy định trong textConfig (xem mục Error: Reference source not foundd và 1.8)

      1. TTU_data[4]()

TTU_data [4] ( ) {

total_number_of_sample_fragments 4 uimsbf

number_of_this_sample_fragments 4 uimsbf

sample_duration 24 uimsbf

non_first_modifier_box_fragment ( )

}

total_number_of_sample_fragments - xem phần Total_number_of_sample_fragements ở mục 6.3

Number_of_this_sample_fragment - Xem phần Number_of_this_sample_fragment- ở mục 6.3.

Sample_duration- Xem phần ý nghĩa của Sample_duration ở mục 6.2.

non_first_modifier_box_fragment - một phân đoạn (không phải là phân đoạn đầu tiên) của chuỗi văn bản bổ sung trong mẫu văn bản, theo quy định của 3GPP TS 26.245 hoặc phần mở rộng của nó được quy định trong textConfig (xem tại mục d và 1.8).

      1. TTU_data[5]( )

TTU_data [5] ( ) {

sample_index 8 uimsbf

sample_description ( )

}

Sample_index - chỉ số của mô tả mẫu văn bản chứa trong TTU. Giá trị sample_index phải chỉ một mô tả mẫu cụ thể sẽ được hiển thị trong dòng văn bản trước khi sử dụng. Giá trị sample_index 0 và 255 được dự trữ. Giá trị sample_index từ 128 và 254 được sắp xếp cho các mô tả mẫu ngoài băng và sẽ không được sử dụng cho các mô tả mẫu trong băng. Tương tự các giá trị sample_index từ 1 đến 127 được sử dụng cho các mô tả mẫu trong băng và không được sử dụng cho các mô tả mẫu ngoài băng.

Thông tin sau đây sẽ được áp dụng cho các mô tả mẫu trong băng. Trong những khoảng thời gian xác định, nhiều nhất 64 giá trị sample_index được sử dụng cho các mô tả mẫu trong băng tần được xác định bởi phạm vi giá trị sample_index hợp lệ. Khi bộ thu bắt đầu giải mã một dòng văn bản, bộ thu không biết về phạm vi hợp lệ nhưng sau khi nhận mô tả mẫu đầu tiên, bộ thu sẽ xác định phạm vi giá trị sample_index hợp lệ. Nếu mẫu đầu tiên nhận được có Giá trị sample_index j, thì bộ thu sẽ xác định Giá trị sample_index trong phạm vị giữa (j+1) mod128 và (j+64) mod128 là không hợp lệ và xem tất cả các giá trị sample_index còn lại trong khoảng 1 đến 127 là hợp lệ. Khi mô tả mẫu được nhận cùng với giá trị sample_index hợp lệ thì giá trị hợp lệ sẽ không bị thay đổi. Tuy nhiên, khi nhận được một mô tả mẫu có giá trị chỉ số i không hợp lệ thì bộ thu sẽ thay đổi hiệu lực giá trị sample_index trong phạm vi giữa (i+1)mod128 và (i+64)mod128. Mỗi mô tả mẫu có giá trị sample_index không hợp lệ sẽ bị loại bỏ. Xem bảng 4. Các mẫu văn bản trong dòng văn bản sẽ không liên quan đến các mô tả mẫu không hợp lệ. Một mô tả mẫu sẽ hợp lệ cho các mẫu văn bản thuộc trong dòng văn bản cho đến khi bị thay đổi hiệu lực hợp lệ bởi một mô tả mẫu khác.



Bảng 4 – Các mô tả mẫu không hợp lệ theo Mô tả mẫu với chỉ số giá trị i

Chỉ số giá trị i mẫu nhận được trong khoảng không hợp lệ hiện tại

Khoảng không hợp lệ mới

Khoảng hợp lệ mới

1

(i+1) - (i+64)

1 – i

(i+65) - (127)



64

(i+1) - 127

1 - (i-64)



(i-63) - i

sample_ description { } – một mô tả mẫu cho một mẫu văn bản, tham chiếu đến mô tả văn bản (TextDescription) như đã định nghĩa theo 3GPP trong 3 GPP TS 26.245 hoặc một phần mở rộng trong đó, được mô tả cụ thể trong textConfig. (Xem 5.3, 5.4 và 7.6)



      1. TTU_data [6] ( )

TTU_data [6] ( ) {

for ( i=0; i

reserved 8 bslbf

}

}


      1. TTU_data [7] ( )

TTU_data [7] ( ) {

for ( i=0; i

reserved 8 bslbf

}

}

    1. Định vị dòng văn bản 3GPP

Văn bản từ bộ giải mã dòng văn bản được kết xuất trong hộp văn bản Text Box. Text Box có thể được định vị trong một Text Track (xem 3 GPP TS 26.245). Cách thức kiết xuất văn bản trong Text Box và định vị Text Box trong Text Track được xác định cụ thể trong dòng văn bản bởi các mô tả mẫu và/hoặc các chuỗi điều chỉnh. Độ dài, rộng của Text Track phải được xác định bằng các điểm ảnh hình vuông được quy định trong SpecificTextConfig(), mô tả cụ thể trong phần 1.8.

Text Track có thể được định vị tương ứng với một khung hình (khung hình). Khung hình có thể chỉ chứa một hình ảnh video; trong trường hợp đó, kích thước của khung hình phụ thuộc vào kích thước của hình ảnh video. TextConfig mô tả cụ thể nhằm xác định Text Track được định hướng để định vị theo một khung hình hay không. Chú ý rằng tuy vậy, một Text Track vẫn có thể được định vị tương ứng với một khung hình hay một hình ảnh video bởi các thông tin được cung cấp thêm, như thông tin có trong một file MP4 hoặc một ứng dụng. Thông tin bên ngoài cung cấp thêm, nếu có, sẽ được ưu tiên so với thông tin được cung cấp trong textConfig.

Nếu Text Track được định vị theo một khung hình, khi đó textConfig mô tả cụ thể độ rộng và độ dài của khung hình đó. Độ rộng và độ cao của khung hình cũng như vị trí của Text Track tương ứng theo nguồn gốc của khung hình được đo theo đơn vị của các điểm ảnh hình vuông giống như độ rộng và độ dài của Text Track, cho phép xác định phạm vi và định vị văn bản độc lập với độ phân giải của khung hình. Điều này cho phép sử dụng chung dòng văn bản cho các khung hình có độ phân giải khác nhau. Ví dụ, dối với một khung hình mà chỉ bao gồm một hình ảnh video, kích thước của khung hình và vị trí tương đối của Text Track trong khung hình đó sẽ thường có một kích thước khác so với các điểm ảnh video được mã hóa trên thực tế. Do đó, nếu độ dài và độ rộng của khung hình xác định một hình ảnh có kích thước là 640*480 thì khi đó hình ảnh video có thể được mã hóa trên thực tế với kích thước là 720*480, 540*480, 360*240 hoặc bất kỳ độ phân giải nào khác.

Vị trí tương đối của Text Track theo khung hình gốc được xác đinh bởi hệ số lệch theo chiều ngang và chiều dọc, nêu rõ khoảng cách chiều dọc và ngang trong các điểm ảnh giữa khung hình gốc và điểm ảnh trên đỉnh trái của Text Box tương ứng; Hình 4 sau đây mô tả một ví dụ trong đó khung hình chỉ bao gồm một hình ảnh video. Nếu hệ số lệch chiều dọc và ngang đạt giá trị dương, điều này cho thấy điểm ảnh trên đỉnh trái của Text Track là ở bên phải và ở dưới của khung hình gốc. Ví dụ, trong hình 4, cả hệ số lệch chiều dọc và ngang đều cho thấy giá trị dương. Theo đó, nếu hệ số lệch chiều dọc và ngang đạt giá trị âm sẽ cho thấy điểm ảnh trên đỉnh trái của Text Box là ở bên trái và ở trên khung hình gốc hoặc trên điểm ảnh đỉnh trái của hình ảnh video. Nó cho phép định vị Text Box một phần hoặc hoàn toàn bên ngoài của khung hình.




Độ lệch ngang

Độ lệch dọc


Hình 4 - Kích thước và vị trí của Text Track

    1. Cấu hình giải mã định dạng cho các dòng văn bản 3PPP.

Để giải mã một dòng văn bản 3PPP, bộ giải mã cần phải truy cập đến cấu hình thiết bị giải mã cụ thể theo định dạng cho dòng văn bản 3PPP như đã nêu cụ thể trong formatSpecificTextConfig. FormatSpecificTextConfig cung cấp các thông tin như sau:

  • Định dạng 3PPP mà dòng văn bản tương thích;

  • Cấp độ và thông tin tổng quát của dòng 3PPP;

  • Đơn vị thời gian sử dụng để mã hóa khoảng thời gian hiển thị của mẫu văn bản;

  • Cho biết có hay không việc sử dụng các mô tả mẫu trong băng;

  • Cho biết có hay không việc sử dụng các mô tả mẫu ngoài băng;

  • Cho biết mô tả mẫu có được chứa trong formatSpecificTextConfig hay không;

  • Thông tin tùy chọn về định vị Text Track liên quan đến khung hình gốc hoặc một hình ảnh video.

      1. Cú pháp

formatSpecificTextConfig ( ) {

bit (8) 3GPPBaseFormat;

bit (8) profileLevel;

bit ( 24) duretionClock;

bit (1) contains-list-of-compatible-3GPPFormats-flag;

bit (2) sampleDescriptionFlags;

bit (1) SampleDescription-carriage-flag;

bit (1) positioning-information-flag;

bit (3) reserved;

bit (8) layer;

bit (16) text-track-width;

bit (16) text-track-height;

if (contains-list-of-compatible-3GPPFormats-flag) {

bit (8) number-of-formats;

bit (8) Compatible-3GPPFormat (number-of-formats) ;

}

if (SampleDescription-carriage-flag) {

bit (8) number-of-SampleDescriptions ;

Sample_index_and_description ( ) (number-of-SampleDescriptions ) ;

//as many Sample_ index_and_description ( )

// as number-of-SampleDescriptions

}

If ( positioning-information-flag) {

Bit (16) scene-width ;

Bit (16) scene-height ;

Bit (16) horizontal-scene-offset ;

Bit (16) vertical-scene-offset ;

}

}

Sample_index_and_description ( ) {

Bit (8) sample_index ;

SampleDescriptions ( ) ;

}

      1. Ngữ nghĩa

3PPBaseFormat – một byte cho biết định dạng 3GPP mới nhất mà luồng văn bản đảm bảo tương thích, được mã hóa như trong Bảng 5. Nếu dòng văn bản cũng tương thích với các phiên bản cũ của 3GPP thì các định dạng này sẽ được liệt kê trong cấu hình văn bản textConfig bằng cách thiết lập cờ contains-list-of-compatible–3GPPPFormats-flag.

Bảng 5 – Các loại định dạng trong 3GPPBaseFormat

0x00 - 0x0F

Dự trữ

0x10

Văn bản định thời được xác định theo 3GPP TS 26.245

0x11 -0xFF

Dự trữ


ProfileLevel - số nguyên không dấu 8 bit, xác định cấu hình và mức độ của các dòng văn bản được mã hóa theo quy định tại Bảng 6.

Bảng 6 – Định dạng profileLevel

0x00 - 0x0F

Dự trữ

0x10

Cấu hình chuẩn, mức độ cơ bản.

0x11 -0xFF

Dự trữ

DurationClock - số nguyên không dấu 24 bit, xác định tần số đồng hồ được sử dụng để mã hóa các trường sample-duration trong TTU [1] và TTU [2], tính theo đơn vị Hz. Một giá trị bằng 1000 báo hiệu một xung nhịp 1kHz, và trường sample-duration được mã hóa trong các đơn vị của 1ms. Hệ thống truyền tải nên gán Nhãn thời gian cho các Khối truy cập văn bản bằng cách sử dụng tần số như được báo hiệu trong durationClock hoặc là bội số của nó.

Contains-list-of-compatible-3GPPFormat-flag - Một bit báo hiệu cho biết sự hiện diện của một danh sách một hoặc nhiều định dạng 3GPP cũ hơn định dạng được báo hiệu trong 3GPPBaseFormat, nhưng vẫn tương thích với dòng văn bản.

SampleDescriptionFlags - Hai bit báo hiệu mô tả mẫu được cung cấp trong băng hay ngoài băng hoặc cả hai, theo quy định tại Bảng 7. Mô tả mẫu được cung cấp trong formatSpecificTextConfig được coi là cung cấp băng tần ngoài. Các loại mô tả mẫu này này ngoài phạm vi của tiêu chuẩn.

Bảng 7 - Định dạng cờ SampleDescriptionFlags

00

Cấm

01

Không có trong băng tần, chỉ có ngoài băng tần

10

Chỉ có trong băng tần,không có ngoài băng tần

11

Có cả trong băng tần và ngoài băng tần


sampleDescription-cariage-flag – Một bit báo hiệu cho biết sự hiện diện của một danh sách các mô tả mẫu trong formatSpecificConfig. Bit này được thiết lập là "0" nếu sampleDescriptionFlags được mã hóa với giá trị '10'.

positioning-information-flag – Một bit báo hiệu sự hiện diện của các trường scene-width, scene-height, horizontal-scene-offset, vertical-scene-offset fields trong formatSpecificTextConfig.

layer - số nguyên không dấu xác định vùng lân cận của Text Track khi hiển thị. Một giá trị cao hơn có nghĩa là gần hơn với người sử dụng. Một giá trị "0" cho thấy một khoảng cách không xác định. Nếu vùng lân cận cũng được cung cấp bởi các phương tiện bên ngoài, sau đó các thông tin bên ngoài cung cấp được ưu tiên.

text-track-width - số nguyên không dấu xác định chiều rộng của Text Track trong các điểm ảnh hình vuông.

text-track-height - số nguyên không dấu xác định chiều cao của Text Track trong các điểm ảnh hình vuông.

number-of-formats - số nguyên không dấu xác định số lượng trường Compatible-3GPPFormat theo sau. Giá trị "0" không được phép dùng.

Compatible-3GPPFormat - một byte chỉ ra rằng một định dạng 3GPP cũ hơn định dạng xác định trong 3GPPFormat, mà vẫn tương thích với dòng văn bản, có phương thức mã hóa giống như trong trường 3GPPFormat, cụ thể như trong Bảng 5.

number-of-SampleDescriptions – số nguyên không dấu xác định số lượng TTU[5] theo sau.

TTU [5] () – một TTU[5] được quy định trong 1.2 và 6.6, chứa một mô tả mẫu.



Scene-width – số nguyên không dấu xác định độ rộng của màn hình, đơn vị tính là pixel. Nếu màn hình này chỉ chứa một hình ảnh video, thì scene-width sẽ cho biết độ rộng của hình ảnh video đó. Nếu độ rộng của màn hình còn được xác định bởi các thiết bị ngoại vi, thì giá trị kích thước độ rộng được cung cấp bởi các thiết bị này sẽ được ưu tiên.

Scene-height – số nguyên không dấu xác định chiều cao của màn hình, đơn vị tính là pixel. Nếu màn hình này chỉ chứa một hình ảnh video, thì scene-height sẽ cho biết chiều cao của hình ảnh video đó. Nếu chiều cao của màn hình còn được xác định bởi các thiết bị ngoại vi, thì giá trị kích thước chiều cao được cung cấp bởi các thiết bị này sẽ được ưu tiên.

Horizontal-scene-offset – số nguyên xác định độ lệch màn hình theo chiều ngang, đơn vị tính là pixel; một giá trị dương có nghĩa là đường viền trái của Text Track nằm bên phải đường viền trái của màn hình hay hình ảnh video. Nếu giá trị khoảng cách này còn được cung cấp bởi các thiết bị ngoại vi, thì giá trị được cung cấp bởi các thiết bị này sẽ được ưu tiên.

Vertical-scene-offset – số nguyên xác định độ lệch màn hình theo chiều dọc, đơn vị tính là pixel; một giá trị dương có nghĩa là đường viền trên của Text Track nằm dưới đường viền trên của màn hình hay hình ảnh video. Nếu giá trị khoảng cách này còn được cung cấp bởi các thiết bị ngoại vi, thì giá trị được cung cấp bởi các thiết bị này sẽ được ưu tiên.

Remaining-config-data-length – số nguyên không dấu xác định số lượng byte reserved trong formatSpecificTextConfig.

Sample_index – một chỉ số được gán cho mô tả mẫu chứa trong sample_discription (). Giá trị của sample_index phải chỉ định chính xác một mô tả mẫu cụ thể, giá trị này nằm trong khoảng từ 128 đến 254, và được gán cho những mô tả mẫu ngoài băng như trong Bảng 2.

Sample_description () – một mô tả mẫu cho một mẫu văn bản, được xác định trong 3GPP TS 26.245 hoặc một sự mở rộng trong TextConfig (Xem 5.3 và 5.4)

    1. Bộ giải mã văn bản cho định dạng dòng văn bản 3GPP

Phần này xác định lý thuyết giải mã dòng văn bản 3GPP đã được mã hóa, còn gọi là lý thuyết giải mã văn bản (HTD). Lý thuyết HTD bao gồm một bộ giải mã TTU, một Bộ Đệm mẫu văn bản, một Bộ Đệm mô tả Mẫu và một Bộ giải mã văn bản; xem Hình 5. Đầu vào của HTD là một dòng văn bản 3GPP với tốc độ truyền dữ liệu lớn nhất là R kb/s. Giá trị của R, cũng như kích cỡ bộ đệm mẫu văn bản và Bộ đệm mô Tả mẫu được xác định đối với mỗi dòng văn bản 3GPP cho mỗi cấu hình và cấp độ, được xác định trong textConfig.

Ở đầu vào của HTD, bộ giải mã TTU nhận các byte của dòng văn bản 3GPP; mỗi byte của mẫu văn bản trong dòng văn bản 3GPP được đẩy tới Bộ Đệm mẫu văn bản, và mỗi byte của mô tả mẫu được đưa tới Bộ đệm mô tả mẫu. Bất kỳ thời điểm nào, tổng kích thước dữ liệu được mô tả hợp lệ sẽ không vượt quá kích cỡ tiêu chuẩn của Bộ đệm mô tả mẫu. Dòng văn bản 3GPP được cấu trúc để mỗi mô tả mẫu được hiển thị hoàn toàn trong Bộ Đệm mô tả mẫu khi giải mã một mẫu văn bản có yêu cầu dữ liệu từ mô tả mẫu đó.

Nếu Bộ Đệm mẫu văn bản không đầy, các byte dữ liệu của dòng văn bản 3GPP đi vào bộ giải mã TTU với tốc độ R kb/s; không có byte dữ liệu nào đi vào bộ giải mã TTU nếu Bộ Đệm mẫu văn bản vẫn đầy,. Những dữ liệu trong dòng văn bản 3GP xếp sau những dữ liệu đã làm cho Bộ Đệm mẫu văn bản bị đầy thì sẽ không đi vào bộ giải mã TTU. Khi việc hiển thị mẫu văn bản được bắt đầu, ngay lập tức đoạn mẫu văn bản được di chuyển ra khỏi Bộ đệm mẫu văn bản, được giải mã và hiển thị. Việc chạy ngầm của Bộ đệm mẫu văn bản sẽ xảy ra nếu như một văn bản mẫu vẫn chưa hoàn toàn chuyển hết vào Bộ đệm mẫu văn bản trong khi mà đoạn văn bản mẫu đó đang được hiển thị. Lý thuyết HTD đảm bảo không xảy ra việc chạy ngầm bằng cách đưa ra các yêu cầu sau:


  • Kích cỡ của mỗi đoạn mẫu văn bản sẽ phải nhỏ hơn hoặc bằng kích cỡ tiêu chuẩn của Bộ đệm mẫu văn bản;

  • Tính đến khi Bộ đệm mẫu văn bản đầy, phải có đủ thời gian để đưa toàn bộ mẫu văn bản tới Bộ đệm mẫu văn bản với tốc độ ưu tiên hơn trước khi giải mã.




Hình 5 – Giải mã văn bản cho những dòng văn bản 3GP

CHÚ THÍCH: Trong trường hợp cực đoan khi kích cỡ của đoạn mẫu văn bản trước bằng với kích cỡ của Bộ đệm mẫu văn bản, thì đoạn mẫu văn bản tiếp theo sẽ được đưa tới trong khoảng thời gian của đoạn cũ. Để tránh việc chạy ngầm trong trường hợp này, bộ giải mã phải chắc chắn rằng khoảng thời gian giữa mẫu N có trước và sau (nhớ rằng có thể có một hay nhiều mẫu “rỗng” ở giữa) lớn hơn kích cỡ của mẫu N được chia theo vận tốc R thích hợp.



    1. Tham số cấp độ và cấu hình cho các dòng văn bản 3GPP

Trong mỗi dòng văn bản 3GPP có cấu hình cơ bản, các đặc tính kỹ thuật được chuẩn hóa trong 3GP TS26.245 có thể được sử dụng. Trong mỗi dòng văn bản 3GPP ở mức độ cơ bản, những giá trị tham số HTD được xác định trong Bảng 8. Mỗi bộ giải mã với mức độ và cấu hình cơ bản sẽ có khả năng giải mã mỗi đoạn văn bản được hình thành từ mức độ và cấu hình cơ bản.

Bảng 8 – Những giá trị tham số HTD cho Mức Độ Cơ Bản


Thông số HTD


Giá trị

Tốc độ bit R


10kb/s

Kích thước của Bộ đệm mẫu văn bản

8192 byte


Kích thước của Bộ đệm mô tả mẫu trong băng


4096 byte


Kích thước của Bộ đệm mô tả mẫ ngoài băng


4096 byte




Phụ lục A

(Quy định)

Tham chiếu phông chữ.

A.1 Tham chiếu phông chữ trong dòng văn bản

Dòng văn bản có thể tra cứu các phông chữ trong bộ thu. Những phông chữ có thể được lưu trữ sẵn trong bộ thu, hoặc sẽ được tải về hoặc tạo dòng tới bộ thu . Để đảm bảo rằng các phông chữ mong muốn trong bộ thu được tham chiếu một cách chính xác, việc xác định tên phông chữ trong textData () phải tham chiếu duy nhất tên của phông chữ mong muốn trong bộ thu.

Trong một ngữ cảnh hệ thống MPEG-4, khi một dòng phông chữ được sử dụng để cung cấp các phông chữ cho một dòng văn bản, dòng văn bản đó phải cho thấy sự phụ thuộc bằng cách sử dụng trường dependsonES_ID trong bộ mô tả dòng cơ sở ES_Descriptor của dòng văn bản, có chứa các ES_ID của dòng phông chữ. Các ngữ cảnh của các hệ thống khác sẽ chỉ ra sự phụ thuộc bằng một cách thích hợp.

Trong dòng văn bản tương ứng với dòng phông chữ, khi một phông chữ cụ thể trong dòng phông chữ được sử dụng cho một khối truy cập văn bản, tên phông chữ được sử dụng cấu trúc đặt tên thích hợp. Đối với dòng phông chữ MPEG-4, cấu trúc đặt tên được xác định trong mục 5.5, ISO.IEC 14.496-18.


Phụ lục B
(Tham khảo)

Truyền tải dòng văn bản

B.1 Các công cụ truyền tải cho văn bản định thời 3GPP

Trong tiêu chuẩn này xác định một cấu trúc khung chung linh hoạt để truyền tải các dòng văn bản qua các lớp truyền tải khác nhau, như là hệ thống MPEG-2 sử dụng cho các dữ liệu đa phương tiện như truyền hình quảng bá, đĩa quang và RTP cho truyền tải qua IP. Đối với truyền tải qua IP, IETF định nghĩa một định dạng tải tin RTP để truyền tải nội dung MPEG-4, định dạng này cũng phù hợp để truyền tải dòng văn bản được định dạng theo tiêu chuẩn này. Mặt khác, trong IETF một định dạng tải tin RTP cho văn bản định thời 3GPP cũng được xác định, định dạng này đóng gói trực tiếp dữ liệu văn bản định thời 3GPP trực tiếp, mà không cần xây dựng một dòng văn bản tiêu chuẩn ISO / IEC 14.496-17; xem thêm Hình B.1.

Để đảm bảo khả năng liên thông tối đa, định dạng tải tin RTP cho văn bản định thời 3GPP đã được phát triển với sự hợp tác chặt chẽ của các tác giả tiêu chuẩn này; kết quả là, tiêu chuẩn này sử dụng chính xác các cấu trúc gần truyền tải dữ liệu văn bản định thời 3GPP tương tự như trong các tiêu chuẩn RFC, do đó các tải gói tin RTP của RFC 3640 và RFC xxxx gần như giống nhau, chỉ khác nhau về mặt báo hiệu. Tuy nhiên, nhằm mục đích để cho tải tin của RFC xxxx và RFC 3640 hoàn toàn giống hệt nhau, một số quy tắc đóng gói cho dữ liệu văn bản định thời 3GPP theo quy định trong RFC xxxx được sử dụng trong RFC 3640.

Việc sử dụng các cấu trúc truyền tải giống nhau cho dữ liệu văn bản định thời 3GPP trong RFC xxxx và ISO / IEC 14.496-17 sẽ đảm bảo rằng tùy chọn các định dạng tải tin giống hệt nhau cho [2] và [3] được duy trì trong tương lai. Tuy nhiên, cần lưu ý rằng các định dạng có thể sẽ khác nhau trong trường hợp tiêu chuẩn ISO / IEC 14.496-17 và RFC xxxx có những thay đổi khác nhau trong tương lai.



Tải tin RFC 3640 và RFC xxxx có thể giống nhau, chỉ khi các quy tắc đóng gói dữ liệu được sử dụng giống nhau trong RFC 3640 và RFC xxxx.



Hình B.1 - ISO/IEC 14496-17 và truyền tải văn bản định thời 3GPP

Thư mục tài liệu tham khảo

  • ISO/IEC 14496-17:2006: Information technology -- Coding of audio-visual objects -- Part 17: Streaming text format - Mã hóa các đối tượng âm thanh-hình ảnh - Phần 17: Định dạng dòng văn bản.





tải về 218.96 Kb.

Chia sẻ với bạn bè của bạn:




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương