Các tập thích ứng (Adaptation Sets)

Một phần của tài liệu đồ án mpeg dash – chuẩn công nghệ mới nhất hỗ trợ streaming thích ứng động qua http (Trang 25 - 34)

Mỗi Period bao gồm một hoặc nhiều AdaptationSet. Một AdaptationSet được mô tả bằng một yếu tố AdaptationSet. Các yếu tố AdaptationSet chứa trong một yếu tố Period.

Một Adaptation Set chứa các trình diễn thay thế, tức là chỉ một trình diễn trong một Adaptation Set dự kiến sẽ xuất hiện cùng lúc. Tất cả các trình diễn trong một Adaptation Set cho các thành phần nội dung phương tiện giống nhau do đó chứa các luồng phương tiện, các luồng này được xem là tương đương nhau.

• Loại thành phần phương tiện được mô tả bằng đặc tính là @contentType, • Phương diện hình ảnh được mô tả bằng đặc tính là @par,

• Thuộc tính vai trò được mô tả bằng các yếu tố Role,

• Thuộc tính khả năng truy cập được mô tả bằng các yếu tố Accessibility, • Thuộc tính điểm quan sát được mô tả bằng các yếu tố Viewpoint, • Thuộc tính đánh giá được mô tả bằng các yếu tố Rating.

Các trình diễn xuất hiện trong cùng một Adaptation Set chỉ khi chúng có giá trị giống nhau cho tất cả thuộc tính thành phần nội dung phương tiện này cho từng thành phần nội dung phương tiện.

Các giá trị đối với các yếu tố Role, Accessibility, Viewpoint và Rating nói chung không được cung cấp trong phạm vi phần này của tiêu chuẩn Mpeg DASH.

Nếu tồn tại các thành phần nội dung đa phương tiện thì các thuộc tính của mỗi thành phần nội dung phương tiện được mô tả bằng một yếu tố ContentComponent riêng biệt. Các yếu tố ContentComponent chia sẻ các yếu tố và thuộc tính phổ biến với yếu tố AdaptationSet, giá trị mặc định hoặc các giá trị áp dụng cho tất cả các thành phần nội dung phương tiện có thể được cung cấp trực tiếp trong các yếu tố trong AdaptationSet. Các thuộc tính có trong AdaptationSet sẽ không được lặp lại trong yếu tố ContentComponent.

Yếu tố AdaptationSet có thể chứa các giá trị mặc định cho các yếu tố và thuộc tính liên quan được chứa trong các trình diễn. Bất kỳ đặc tính phổ biến nào chỉ được có trong yếu tố AdaptationSet hoặc trong yếu tố trình diễn chứ không có trong cả hai.

Yếu tố AdaptationSet cũng hỗ trợ việc mô tả các phạm vi đối với các thuộc tính @băngthông, @chiều rộng, @chiềucao, @tốcđộkhung liên quan được chứa trong các trình diễn, cung cấp một bản tóm tắt tất cả các giá trị cho tất cả các trình diễn trong một AdaptationSet này. Các trình diễn chứa trong một AdaptationSet sẽ không chứa các giá trị bên ngoài phạm vi tài liệu được ghi nhận đối với AdaptationSet đó.

Các AdaptationSet có thể được sắp xếp thêm thành các nhóm bằng cách sử dụng thuộc tính @group. Các ngữ nghĩa của nhóm này là nội dung phương tiện trong một Period được trình diễn bởi:

1) hoặc trình diễn từ nhóm 0, nếu có

2) hoặc sự kết hợp của nhiều nhất một trình diễn từ mỗi nhóm khác 0.

Nếu thuộc tính AdaptationSet@group không có thì tất cả trình diễn trong Adaptation Set này được chuyển đến một nhóm Adaptation Set khác không.

Bảng 2.2. Semantics of AdaptationSet element

hoặc thuộc tính

AdaptationSet Mô tả Adaptation Set.

@xlink:href O Xác định một sự tham khảo đến yếu tố

AdaptationSet bên ngoài.

@xlink:actuate OD Mặc định: 'onRequest ' Xác định các hướng dẫn xử lý, có thể là "onLoad" hoặc "onRequest".

@id

O

Xác định một mã định dạng duy nhất cho Adaptation Set này trong phạm vi Period. Đặc tính phải là duy nhất trong phạm vi có chứa Period.

Đặc tính sẽ không có trong một yếu tố điều khiển từ xa.

Nếu không có thì không có mã nhận dạng cho Adaptation Set.

@group O Xác định một mã nhận dạng cho nhóm mà có duy nhất trong phạm vi có chứa Period.

CommonAttribu tesElements

- Xác định các thuộc tính và yếu tố phổ biến (thuộc tính và yếu tố từ loại cơ sở

RepresentationBaseType).

@lang O Biểu thị mã ngôn ngữ cho Adaptation Set này. Sẽ sử dụng cú pháp và ngữ nghĩa theo IETF RFC 5646.

Nếu không có, mã ngôn ngữ có thể được xác định cho từng thành phần phương tiện hoặc có thể không xác định. (adsbygoogle = window.adsbygoogle || []).push({});

@contentType O Xác định loại thành phần nội dung phương tiện cho Adaptation Set này. Một giá trị của loại nội dung mức cao được xác định trong RFC1521, khoản 4 sẽ được thực hiện.

Nếu không có mặt, nội dung loại thành phần truyền thông có thể được định nghĩa cho mỗi thành phần truyền thông hoặc có thể không biết. @par O Xác định khía cạnh hình ảnh của loại thành

phần phương tiện video trong hình thức một chuỗi bao gồm hai số nguyên được tách riêng bằng ‘:’,ví dụ "16:9"khi có thuộc tính này và các thuộc tính @width và @height.

Việc thiết lập các Representation cũng được trình bày, về khía cạnh hình ảnh của thuộc tính này là giống nhau theo giá trị của

@width, @height, và @sar,.. tức là nó phải thể

hiện cùng một tỷ lệ (@width * sarx):

(@height * sary), với sarx là số đầu tiên trong

@sar và Sary là số thứ hai.

Nếu không có, tỷ lệ khía cạnh hình ảnh có thể được xác định cho từng thành phần phương tiện hoặc là không xác định.

@minBandwidt h

O Xác định giá trị @bandwidth tối thiểu trong tất cả các Representation của Adaptation Set này. Giá trị này có cùng đơn vị như thuộc tính

@bandwidth.

Nếu không có, giá trị là không xác định. @maxBandwidt

h

O Xác định giá trị @bandwidth tối đa trong tất cả các Representation của Adaptation Set này. Giá trị này có cùng đơn vị như thuộc tính

@bandwidth.

Nếu không có, giá trị là không xác định.

@minWidth O Xác định giá trị @width tối thiểu trong tất cả các Representation trong Adaptation Set này. Giá trị này có cùng các đơn vị như thuộc tính

@width.

Nếu không có thì giá trị không xác định.

@maxWidth O Xác định giá trị @width tối đa trong tất cả các Representation của Adaptation Set này. Giá trị này có cùng các đơn vị như thuộc tính @width. Nếu không có thì giá trị không xác định.

@minHeight O Xác định giá trị @height tối thiểu trong tất cả các Representation của Adaptation Set này. Giá trị này có cùng các đơn vị như thuộc tính

@height.

Nếu không có thì giá trị không xác định. @maxHeight O Xác định giá trị @widthtối đa trong tất cả

cácRepresentation trong Adaptation Set này. Giá trị này có cùng các đơn vị như thuộc tính

@width.

Nếu không có thì giá trị không xác định. @minFrame

Rate

O Xác định giá trị @frameRate tối thiểu trong tất cả các Representation trong Adaptation Set này. Giá trị này được mã hóa trong cùng định dạng như thuộc tính @frameRate.

Nếu không có thì giá trị không xác định. @maxFrame (adsbygoogle = window.adsbygoogle || []).push({});

Rate

O Xác định giá trị @frameRate tối đa trong tất cả các Representation trong Adaptation Set này. Giá trị này được mã hóa trong cùng định dạng như thuộc tính @frameRate.

Nếu không có thì giá trị không xác định. @segment

Alignment

OD mặc định:

false

Khi không cài ‘false’, quy định này dành cho bất kỳ hai Representation X và Y trong cùng Adaptation Set, Bất cứ khi nào m không bằng với n thì Segment m-th của X và Segment n- th của Y không chồng chéo nhau. Không bao giờ m bằng với n.

Đối với các Adaptation Set có chứa các

Representation với các thành phần nội dung đa phương tiện thì, giá trị thuộc tính này phải là 'true' hoặc 'false'.

Đối với các Adaptation Set có chứa các Representation với các thành phần nội dung phương tiện duy nhất khi hai yếu tố Adaptation Set trong một Period chia sẽ giá trị số nguyên giống nhau cho đặc tính này thì đối với bất kỳ hai Representation X và Y trong sự liên kết của hai Adaptation Set. Bất cứ khi nào m không bằng với n thì Segment m-th của X và Segment

giờ m bằng với n. @bitstream

Switching

O Khi cài ‘true’ thì áp dụng như sau:

- Tất cả các Representation trong Adaptation Set phải có cùng số M Media Segment; - Để R1, R2, ..., RN là tất cả Representation

trong Adaptation Set. - Let.

- Trình tự của

o bất kỳ Segment khởi tạo nào, nếu có, trong Adaptation Set, với

o nếu có các Segment chuyển đổ dòng bit,

Bi(1), Si(1),1, Bi(2), Si(2),2, ..., Bi(k), Si(k),k, ..., Bi(M), Si(M),M

o khác

Si(1),1, Si(2),2, ..., Si(k),k, ..., Si(M),M,

trong đó bất kỳ i(k) đối với tất cả các giá trị k trong phạm vi từ 1 đến M tương ứng là một giá trị số nguyên trong phạm vi từ 1 đến N.

Các kết quả trong một "chuỗi Segment phù hợp" với định dạng phương tiện được xác định trong thuộc tính @mimeType.

Các quy tắc chi tiết hơn có thể được quy định cho các định dạng phương tiện cụ thể.

@subsegment Alignment

OD mặc định:

false

Nếu căn chỉnh @subsegmentAlignment cho một Adaptation Set cài khác ‘false’ thì tất cả các điều kiện sau đây được thỏa mãn:

 Mỗi Media Segment sẽ được lập chỉ mục (tức là chứa một chỉ số Segment hoặc có một Index Segment cung cấp một chỉ số cho Media Segment).

 Đối với bất kỳ hai Representation X và Y trong cùng Adaptation Set, bất cứ khi nào m không bằng với n thì Subsegment m-th của X và (adsbygoogle = window.adsbygoogle || []).push({});

Subsegment n-th của Y không chồng chéo nhau, không bao giờ m bằng với n.

 Đối với các Adaptation Set có chứa các Representation với một thành phần nội dung phương tiện duy nhất, khi hai yếu tố AdaptationSet trong một Period chia sẽ giá trị số nguyên giống nhau cho đặc tính này thì đối với bất kỳ hai

Representation X và Y trong sự liên kết của hai Adaptation Set, bất cứ khi nào m không bằng với n thì Subsegment m-th của X và

Subsegment n-th của Y không chồng chéo nhau, không bao giờ m bằng với n. @subsegment StartsWithSAP OD mặc định: 0

Khi lớn hơn 0, quy định mỗi Subsegment với loại SAP lớn hơn 0 bắt đầu với một SAP_type nhỏ hơn hoặc bằng với giá trị của

@subsegmentStartsWithSAP.

Các ngữ nghĩa của @subsegmentStartsWithSAP bằng 0 là không xác định.

Accessibility 0…N Xác định thông tin về sơ đồ khả năng truy cập.

Role 0…N Xác định định thông tin về sơ đồ chú thích vai trò.

Rating 0…N Xác định thông tin về sơ đồ đánh giá.

Viewpoint 0…N Xác định thông tin về sơ đồ chú thích điểm

quan sát.

ContentCompo nent

0…N Xác định các thuộc tính của một thành phần nội dung phương tiện chứa trong Adaptation Set này.

BaseURL 0…N Xác định một URL cơ sở có thể được sử dụng

để tham chiếu độ phân giải và lựa chọn URL thay thế.

Thông tin trong yếu tố này bị xóa bỏ bởi thông tin trong Representation.SegmentBase, nếu có.

SegmentList 0...1 Xác định thông tin Segment List mặc định.

Thông tin trong yếu tố này bị xóa bỏ bởi thông tin trong Representation.SegmentList, nếu có.

SegmentTempl ate

0...1 Xác định thông tin Segment Template mặc định. Thông tin trong yếu tố này bị xóa bỏ bởi thông tin trong

Representation.SegmentTemplate, nếu có..

Representation 0…N Xác định một Representation. Ít nhất một yếu

tố Representation phải có trong mỗi Adaptation Set. Tuy nhiên, yếu tố thực tế có thể là một phần của một yếu tố điều khiển từ xa.

Chú thích:

Đối với đặc tính: M=Bắt buộc, O=Lựa chọn, OD=Lựa chọn với giá trị mặc định, CM=Điều kiện bắt buộc, F=Cố định.

Đối với yếu tố: <minOccurs>...<maxOccurs> (N=không giới hạn)

Lưu ý rằng những điều kiện duy nhất có giá trị mà không cần sử dụng xlink: href. Nếu liên kết được sử dụng thì tất cả các đặc tính là "tùy chọn" và <minOccurs=0>

Các yếu tố là tô đậm, thuộc tính là không tô đậm và trước đó với @, Danh sách các yếu tố và thuộc tính in nghiêng đậm đề cập đến việc giảm bớt loại Cơ sở đã được mở rộng bằng loại này.

Cú pháp XML (adsbygoogle = window.adsbygoogle || []).push({});

<!-- Adaptation Set -->

<xs:complexType name="AdaptationSetType">

<xs:complexContent>

<xs:extension base="RepresentationBaseType">

<xs:sequence>

<xs:element name="Accessibility" type="DescriptorType" minOccurs="0"

maxOccurs="unbounded"/>

<xs:element name="Role" type="DescriptorType" minOccurs="0" maxO ccurs="unbounded"/>

Occurs="unbounded"/>

<xs:element name="Viewpoint" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="ContentComponent" type="ContentComponentType" minOccurs="0"

maxOccurs="unbounded"/>

<xs:element name="BaseURL" type="BaseURLType" minOccurs="0" m axOccurs="unbounded"/>

<xs:element name="SegmentBase" type="SegmentBaseType" minOccurs ="0"/>

<xs:element name="SegmentList" type="SegmentListType" minOccurs=" 0"/>

<xs:element name="SegmentTemplate" type="SegmentTemplateType" mi nOccurs="0"/>

<xs:element name="Representation" type="RepresentationType" minOccu rs="0"

maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute ref="xlink:href"/>

<xs:attribute ref="xlink:actuate" default="onRequest"/>

<xs:attribute name="id" type="xs:unsignedInt"/>

<xs:attribute name="group" type="xs:unsignedInt"/>

<xs:attribute name="lang" type="xs:language"/>

<xs:attribute name="contentType" type="xs:string"/>

<xs:attribute name="par" type="RatioType"/>

<xs:attribute name="minBandwidth" type="xs:unsignedInt"/>

<xs:attribute name="maxBandwidth" type="xs:unsignedInt"/>

<xs:attribute name="minWidth" type="xs:unsignedInt"/>

<xs:attribute name="maxWidth" type="xs:unsignedInt"/> (adsbygoogle = window.adsbygoogle || []).push({});

<xs:attribute name="minHeight" type="xs:unsignedInt"/>

<xs:attribute name="maxHeight" type="xs:unsignedInt"/>

<xs:attribute name="minFrameRate" type="FrameRateType"/>

<xs:attribute name="maxFrameRate" type="FrameRateType"/>

<xs:attribute name="segmentAlignment" type="ConditionalUintType" def ault="false"/>

<xs:attribute name="subsegmentAlignment" type="ConditionalUintType" default="false"/>

<xs:attribute name="subsegmentStartsWithSAP" type="SAPType" default ="0"/>

<xs:attribute name="bitstreamSwitching" type="xs:boolean"/>

</xs:extension>

</xs:complexContent> </xs:complexType>

<!-- Ratio Type for sar and par --> <xs:simpleType name="RatioType">

<xs:restriction base="xs:string">

<xs:pattern value="[0-9]*:[0-9]*"/>

</xs:restriction> </xs:simpleType>

<!-- Type for Frame Rate -->

<xs:simpleType name="FrameRateType">

<xs:restriction base="xs:string">

<xs:pattern value="[0-9]*[0-9](/[0-9]*[0-9])?"/>

</xs:restriction> </xs:simpleType>

<!-- Conditional Unsigned Integer (unsignedInt or boolean) --> <xs:simpleType name="ConditionalUintType">

<xs:union memberTypes="xs:unsignedInt xs:boolean"/>

</xs:simpleType>

Một phần của tài liệu đồ án mpeg dash – chuẩn công nghệ mới nhất hỗ trợ streaming thích ứng động qua http (Trang 25 - 34)