Tiêu chuẩn (.qt) – Định dạng Apple Quicktime 

Tiêu chuẩn (.qt) – Định dạng tập tin QuickTime (QuickTime File Format) trong “Đặc tả kỹ thuật Định dạng QuickTime“, được Apple phát triển để mô tả các đặc tính của các tập tin phim ảnh (movies) QuickTime...

Giới thiệu

Tiêu chuẩn (.qt) – Định dạng tập tin QuickTime (QuickTime File Format) trong “Đặc tả kỹ thuật Định dạng QuickTime“, được Apple phát triển để mô tả các đặc tính của các tập tin phim ảnh (movies) QuickTime. Định dạng (.qt) không giới hạn chỉ là tập tin video (phim), audio (âm thanh) mà nó có thể sử dụng bất kỳ tập thành phần hay kết hợp các loại phương tiện mà QuickTime hỗ trợ, bao gồm video, âm thanh, hình ảnh, văn bản, Flash, các mô hình 3 chiều và cảnh thực tế. Nó cũng hỗ trợ các phương tiện truyền thông tương tác theo thời gian và phi tuyến.

Đặc tả kỹ thuật Định dạng QuickTime đầu tiên được Apple công bố ngày 01/3/2001. Sau đó, đặc tả kỹ thuật Định dạng QuickTime được cập nhật liên tục rất nhiều lần. Phiên bản hiện tại của Đặc tả kỹ thuật Định dạng QuickTime được Apple công bố ngày 13/9/2016 trên trang developer.apple.com.

Các nội dung chính về (.qt)

Định dạng tập tin (.qt) có tính định hướng đối tượng bao gồm một tập các đối tượng linh hoạt dễ dàng cho việc phân tích cú pháp và mở rộng. Các đối tượng không xác định được có thể bỏ qua một cách đơn giản và cho phép tính tương thích khi các kiểu đối tượng mới được thêm vào.

Phim ảnh QuickTime được lưu trữ trên đĩa sử dụng 2 cấu trúc cơ bản để lưu trữ thông tin gồm: nguyên tử (atom - còn gọi là nguyên tử đơn giản (simple atom) hay nguyên tử cổ điển (classic atom)) và nguyên tử QT (QT atom). Hầu hết các atom trong định dạng tập tin QuickTime là dạng đơn giản hoặc cổ điển, tuy nhiên, cả atom dạng đơn giản hay QT đều cho phép xây dựng các cấu trúc dữ liệu phức tạp và cho phép ứng dụng bỏ qua dữ liệu nếu chúng không thể đọc.

Atom

Atom là đơn vị dữ liệu cơ bản trong một tập tin QuickTime. Mỗi atom đều chứa trường kích thước (size) và kiểu (type) đứng trước tất cả các dữ liệu khác. Trong đó, trường kích thước cho biết tổng số byte trong atom bao gồm cả trường kích thước và kiểu, trường kiểu xác định kiểu dữ liệu được lưu trữ trong atom và định dạng của dữ liệu đó. Trong một số trường hợp, có thêm trường phiên bản (version field) và trường cờ báo hiệu (Flags field) sau trường kích thước và trường kiểu. Một atom có các trường phiên bản và trường cờ báo hiệu đôi khi được gọi là một atom đầy đủ (full atom).

Các kiểu atom được đặc tả bởi một số nguyên không dấu 32 bít, thường được giải thích dạng mã ASCII 4 ký tự. Apple để riêng tất cả các mã 4 ký tự bao gồm toàn bộ chữ cái thường, tất cả dữ liệu trong một tập phim QuickTime được lưu trữ theo thứ tự big-endian (byte có trọng số thấp nhất được lưu ở ô nhớ có địa chỉ lớn nhất (ô cuối cùng) và byte có trọng số lớn nhất được lưu trữ ở ô nhớ có địa chỉ nhỏ nhất (ô đầu tiên)), do đó, các byte có trọng số lớn nhất được lưu trữ và truyền đi trước tiên.

Về bản chất, atom có tính phân cấp, nghĩa là một atom có thể chứa các atom khác. Tính kế thừa đôi khi được mô tả dưới dạng cha, mẹ, con cái, anh, chị, em,...Một atom chứa các atom khác được gọi là atom phức hợp (container atom), do vậy, atom cha luôn là atom phức hợp. Một atom không chứa các atom khác được gọi là lá (leaf atom), atom này thường chỉ chứa một hoặc nhiều trường dữ liệu hoặc một bảng dữ liệu. Một vài leaf atom có thể là cờ báo hoặc thành phần chứa dữ liệu nhưng không vượt quá trường kích thước và kiểu của chúng.

Hình 1: Atom

Hình 1 cho thấy một atom điển hình, trong đó, atom phức hợp có thể chứa atom phức hợp khác và/hoặc chứa atom lá, còn atom lá không chứa atom nào mà chỉ chứa dữ liệu.

Cấu trúc của Atom

Atom bao gồm một tiêu đề (header) và tiếp theo là dữ liệu của atom đó. Phần tiêu đề chứa các trường kích thước và kiểu chỉ ra kích thước của atom theo byte và kiểu của nó. Phần tiêu đề cũng có thể chứa thêm một trường kích thước mở rộng, chỉ ra kích thước của một atom lớn là một số nguyên 64 bít. Nếu có trường kích thước mở rộng, trường kích thước được thiết lập là 1. Kích thước thực tế của một atom không thể nhỏ hơn 8 byte (kích thước nhỏ nhất của trường kích thước và kiểu).

Một vài atom cũng chứa trường phiên bản và trường cờ báo. Trường cờ báo và phiên bản không được coi là thành phần thuộc tiêu đề của atom, chúng chỉ được coi là trường dữ liệu cụ thể cho từng kiểu atom có chứa chúng. Các trường như vậy phải luôn có giá trị là 0 trừ các trường hợp đặc biệt khác.

Phần tiêu đề của atom

Phần tiêu đề của atom chứa các trường sau đây:

- Kích thước atom (Atom size): một số nguyên 32 bit chỉ ra kích thước của atom, bao gồm cả tiêu đề và nội dung của atom. Thông thường, trường kích thước chứa kích thước thực tế của atom theo byte, được biểu diễn bằng một số nguyên không dấu 32 bit. Tuy nhiên, trường kích thước có thể chứa các giá trị đặc biệt chỉ ra một phương pháp xác định kích thước atom đó. Các giá trị đặc biệt có ý nghĩa đối với trường kích thước là 0 (chỉ cho phép đối với atom mức cao nhất, chỉ định atom cuối cùng trong tập tin và cho biết rằng atom này kéo dài đến cuối tập tin) và 1 (có nghĩa là kích thước thực tế được đưa ra trong trường kích thước mở rộng là một trường 64 bít và theo sau trường kiểu).

- Kiểu (type): một số nguyên 32 bít chứa kiểu của atom. Kiểu của một atom cho phép diễn giải dữ liệu của nó. Dữ liệu của atom có thể được sắp xếp là một tập tùy ý các trường, các bảng hay các atom khác. Cấu trúc dữ liệu cụ thể cho kiểu atom. Một atom thuộc kiểu dữ liệu sẽ có một cấu trúc dữ liệu xác định. Nếu một ứng dụng gặp phải một atom có kiểu không xác định, có thể sử dụng trường kích thước để bỏ qua atom này và tất cả các nội dung thuộc về nó. Đây chính là một yếu tố để tăng mức độ tương thích khi chuyển tiếp các phần mở rộng sang định dạng tập tin QuickTime.

- Kích thước mở rộng (Extended Size): Nếu trường kích thước của một atom có giá trị là 1 thì trường kiểu sẽ được theo sau bởi một trường kích thước mở rộng 64 bít, trường kích thước mở rộng này chứa kích thước thực tế của atom (một số nguyên không dấu 64 bít). Nếu trường kích thước chứa kích thước thực tế của một atom thì sẽ không có trường kích thước mở rộng. Điều này có nghĩa là khi một atom QuickTime được chỉnh sửa bằng cách thêm dữ liệu và nếu kích thước vượt quá giới hạn 232 byte thì sẽ không có trường kích thước mở rộng để ghi kích thước của atom mới. Kết quả là sẽ không thể mở rộng atom ra ngoài giới hạn232 byte nếu không sao chép nội dung của nó sang một atom mới.

QT Atom

QT Atom là một cấu trúc dữ liệu mở rộng cung cấp một định dạng lưu trữ đa mục đích và loại bỏ một số điểm không rõ ràng khi sử dụng atom đơn giản. Một QT atom có một tiêu đề mở rộng, sẽ có các trường định dạng và trường số lượng các atom con ngay sau các trường kích thước và kiểu.

Điều này cho phép các atom con cùng kiểu được xác định thông qua số định danh (identification numbers). Cũng có thể dễ dàng phân tích nội dung của một atom QT không có kiểu rõ ràng bằng việc lướt qua toàn bộ các atom con của nó.

QT atom thường được chứa trong một vật chứa atom (atom container), một cấu trúc dữ liệu với một phần tiêu đề có chứa một bộ đếm khóa (lock count). Mỗi vật chứa atom chỉ bao gồm một atom gốc (chính là QT atom). Vật chứa atom không phải là atom và không nằm trong hệ thống phân cấp các atom tạo nên một tập tin phim QuickTime.

QT atom bắt đầu bằng một tiêu đề vật chứa QT atom, tiếp theo là atom gốc. Kiểu của atom gốc là kiểu của QT atom. Atom gốc có thể chứa atom bất kỳ thuộc thành phần của cấu trúc. Mỗi atom phức hợp bắt đầu bằng một tiêu đề QT atom và tiếp theo là nội dung của atom. Nội dung có thể là các atom con hoặc dữ liệu nhưng không bao giờ chứa cả atom con và cả dữ liệu. Nếu một atom có chứa các atom con thì nó cũng chứa tất cả các dữ liệu của atom con và cháu của nó.

Hình 2: QT atom

Hình 2 cho thấy một QT atom điển hình bao gồm:

- Một tiêu đề vật chứa QT atom bao gồm những thành phần sau:

+ Dự phòng (Reserved): là một phần tử 10 byte.

+ Bộ đếm khóa (lock count): là một số nguyên 16 bit.

- Một tiêu đề QT atom bao gồm các dữ liệu sau đây:

+ Kích thước (size): là một số nguyên 32 bít chỉ rõ kích thước của atom theo byte, bao gồm cả tiêu đề của QT atom và nội dung của nó. Nếu atom là một lá, thì trường này chứa kích thước của atom đơn giản. Nếu atom là một atom phức hợp, thì kích thước bao gồm tất cả các atom trong nó.

+ Kiểu (type): là một số nguyên 32 bít chứa kiểu của atom.

+ Định danh atom (Atom ID): là một số nguyên 32 bít có chứa giá trị định danh của atom, giá trị này phải là giá trị duy nhất và atom gốc luôn có giá trị định danh là 1.

+ Dự phòng (Reserved): là số nguyên 16 bit.

+ Bộ đếm các atom con (Child count): là một số nguyên 16 bít xác định số lượng các atom con trong một atom phức hợp. Bộ đếm này chỉ bao gồm các atom con trực tiếp. Nếu trường này được thiết lập bằng 0 thì atom là một lá và chỉ chứa dữ liệu

+ Dự phòng (Reserved): là một số nguyên 32 bít.

- Một hoặc nhiều atom con.

QT atom container

Cần phân biệt rõ sự khác biệt giữa atom phức hợp (container atom) với vật chứa atom (atom container). Trong khi atom phức hợp là một atom (như trình bày ở trên) thì vật chứa atom không phải là atom mà là một cấu trúc cơ bản để lưu trữ thông tin trong QuickTime.

Hình 3: Vật chứa QT atom

Một vật chứa atom là một hệ thống các QT atom theo cấu trúc hình cây. Nó có một trường dự phòng và một bộ đếm khóa trong phần tiêu đề, không có trường kích thước hay kiểu. Các vật chứa atom này không tồn tại trong hệ thống atom phân cấp của một tập tin phim QuickTime mà chúng chỉ được coi là dữ liệu bên trong một số atom. Một vật chứa QT atom bao gồm các QT atom như trong Hình 3. Mỗi QT atom có chứa dữ liệu hoặc các atom khác. Nếu QT atom chứa các atom khác thì nó là một atom cha và các atom con của nó được định dạng bởi kiểu và ID của chính nó. Nếu QT atom chỉ chứa dữ liệu thì nó là một lá.

Ứng dụng

Định dạng (.qt) được phát triển với mục đích tạo, chỉnh sửa, xuất bản và xem các tập tin đa phương tiện cho ứng dụng QuickTime Player của Apple, một ứng dụng phát đa phương tiện được sử dụng để xem phim, xem video clip và chạy các tập tin đa phương tiện khác. Các tập tin (.qt) có thể chứa phim, video, hoạt ảnh, đồ họa và các nội dung khác... Định dạng (.qt) là định dạng lý tưởng để trao đổi giữa các thiết bị số, các ứng dụng và các hệ điều hành bởi vì nó được sử dụng để mô tả hầu hết các cấu trúc truyền thông hiện nay. Thông thường, tập tin (.qt) được nén để hỗ trợ cho việc tải xuống và phân phối dễ dàng các tập tin này trên Internet. Nén cũng làm cho việc truyền trực tuyến trở nên dễ dàng hơn. Định dạng tập tin (.qt) được cả 2 hệ điều hành Mac và Windows hỗ trợ.

Trong Thông tư số 22/2013/TT-BTTTT ngày 23/12/2013 của Bộ trưởng Bộ Thông tin và Truyền thông Công bố Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nước quy định Khuyến nghị áp dụng (.qt) và được xếp vào nhóm Tiêu chuẩn về truy cập thông tin (Luồng phim ảnh, âm thanh và Hoạt họa).

Tài liệu tham khảo

[1] QuickTime File Format, Apple Computer Inc, 2001.

[2] https://documentation.apple.com

[3] Thông tư số 22/2013/TT-BTTTT ngày 23/12/2013 của Bộ trưởng Bộ Thông tin và Truyền thông

Đặng Thị Thu Hương 

591 Go top

Ý kiến về Trang thông tin điện tử Cục Tin học hóa?



THÔNG KÊ TRUY CẬP
  • Người trực tuyến Người trực tuyến
    • Khách Khách 129
    • Thành viên Thành viên 0
    • Tổng Tổng 129
    • Tổng lượt truy cập: Tổng lượt truy cập: 9944364