1 N Xác định thời gian bắtđầu egment và thời gian cho một chuỗi gần kề của các egment những

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 58 - 63)

cho một chuỗi gần kề của các Segment những khoảng thời gian giống hệt nhau.

Trình tự, văn bản của các phần tử S phải phù hợp với thứ tự (và thời gian đó) lập chỉ mục của các Media Segment tương ứng.

@t O Xác định thời gian bắt đầu MPD trong đơn vị @timescale, cho Segment đầu tiên trong dãy liên tiếp bắt đầu tương đối so với Period. Giá trị của thuộc tính này phải bằng hoặc lớn hơn tổng của thời gian yếu tố S trình bày sớm nhất và tổng thời gian Segment tiếp giáp.

Nếu giá trị của thuộc tính là lớn hơn so với những gì được thể hiện bởi các yếu tố S trước đó, nó thể hiện sự gián đoạn trong thời gian này. Nếu không có mặt thì giá trị sẽ được giả định để là không cho yếu tố của S đầu tiên và các yếu tố S tiếp theo, giá trị sẽ được giả định là tổng thời gian trình bày các S trước yếu tố của đầu tiên và thời gian tiếp giáp (tức là trước S@t + @d * (@r + 1)).

@d M Quy định cụ thể thời gian Segment, trong các đơn vị của giá trị của @timescale.

@r OD

default: 0

Xác định số lần lặp lại của số lượng theo các Segment tiếp giáp với cùng thời gian thể hiện bằng giá trị của @d. Giá trị này là số không dựa trên (ví dụ một giá trị của ba có nghĩa là bốn Segment trong dãy tiếp giáp).

Chú thích:

Đối với các thuộc tính: M=Mandatory O=Optional, OD=Optional với Giá trị mặc định, CM = Conditionally Mandatory (điều kiện bắt buộc)

Đối với yếu tố: <minOccurs>...<maxOccurs> (N=unbounded)

Các yếu tố được tô đậm, thuộc tính là không tô đậm và đi trước với @.

XML syntax

<!-- Segment Timeline -->

<xs:complexType name="SegmentTimelineType">

<xs:sequence>

<xs:element name="S" minOccurs="1" maxOccurs="unbounded" >

<xs:complexType>

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

<xs:attribute name="d" type="xs:unsignedInt" use="required"/>

<xs:attribute name="r" type="xs:unsignedInt" use="optional" defaul t="0"/>

<xs:anyAttribute namespace="##other" processContents="lax"/>

</xs:complexType> </xs:element>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:anyAttribute namespace="##other" processContents="lax"/>

</xs:complexType>

2.3.6. Trình diễn phương tiện trên MPEG-2 TS

Trong mục này, một trình diễn phương tiên dựa trên định dạng Media Segment bằng cách sử dụng MPEG-2 TS được trình bày (ISO/IEC 13818-1).

Thuộc tính @mimeType của mỗi Representation sẽ là "video/mp2t". Các loại Segment và các định dạng sau đây có thể được sử dụng:

• Khởi tạo Segment. • Media Segment. (adsbygoogle = window.adsbygoogle || []).push({});

• Bitstream Switching Segment. • Index Segment.

Thuộc tính @segmentProfiles có thể vắng mặt. Nếu có, nó sẽ được bỏ qua.

Thời gian trình bày nội bộ TP trong các phương tiện truyền thông mà các bản đồ các phương tiện truyền thông thời gian trình diễn phương tiện có trách nhiệm là một trong những định nghĩa của PTS trong MPEG-2 TS.th

Hơn nữa, chúng ta hãy PTSA(i) là PTS (i) điều chỉnh hiệu ứng rollover cho 33-bit, tức là tính toán như nếu PTS đã có một số lượng vô hạn của các bit.

Tính toán TP được dựa trên sự khác biệt giữa PTS (i) và PTS (0), và do đó TP(i) = (PTSA(i) – PTS0)*S/90000 với PTS0 thường PTS (0). Với tỉ lệ thích hợp, PTS0 được bắt nguồn từ giá trị của thuộc tính @presentationTimeOffset.

Nếu một luồng phương tiện truyền thông có chứa một gián đoạn, PTSA (i) tính toán giả định thời gian tương đối được duy trì. Vì vậy, PTSA (i) sẽ được điều chỉnh bởi sự khác biệt giữa giá trị của PCR của các gói tin có chứa PCR-đầu tiên sau khi sự gián đoạn và giá trị nội suy PCR của nó (tính bằng tiền tỷ lệ gián đoạn PCR).

Trong trường hợp không liên tục, nó được khuyến khích để thêm một thời kỳ mới để thiết lập lại giá trị của @presentationTimeOffset.

Chú ý thuộc tính @timescale trong MPD phù hợp với S tần số đồng hồ. Nếu chỉ số hộp Segment ('sidx') là hiện nay, sau đó nó tiếp tục khuyến cáo rằng các dòng phương tiện truyền thông mà chỉ số Segment ('sidx') hộp thoại xuất hiện đầu tiên trong Index Segment là dòng tiểu xác định giá trị của thuộc tính @timescale.

Các Segments bắt đầu với các điểm truy nhập Media stream

Segment alignment

Nếu thuộc tính @segmentAlignment không được cài đặt ‘false’, yêu cầu nêu trong Period và AdaptationSet được đáp ứng. Ngoài ra, MediaSegment phải chỉ chứa các gói tin hoàn toàn PES và chỉ có các đơn vị truy cập đầy đủ cho mỗi PID, và là người đầu tiên PES gói sẽ chứa một dấu thời gian PTS.

Subsegment alignment

Nếu cờ @subsegmentAlignment không được cài đặt 'false', ngữ nghĩa như quy định trong Semantics of Period được áp dụng. Đặc biệt, đối với một trình bày MPEG- 2TS-based Media Presentation, một phân đoạn con phải có các gói hoàn chỉnh PES cho mỗi PID, và các gói tin đầu tiên PES từ mỗi dòng tiểu phải có một PTS.

Bitstream switching

Nếu cờ @bitstreamSwitching được cài đặt 'true' cho một tập hợp của các Representation trong vòng một AdaptationSet, sau đó các điều kiện nêu trong Semantics of Period phải được thỏa mãn. Ngoài ra, các điều kiện trong Semantics of Period sẽ không chỉ giữ cho toàn bộ chuỗi từ i = 1, ..., M, nhưng đối với

bất kỳ chuỗi liên tiếp của các Segment với bất kỳ chỉ số bắt đầu = 1, ..., M và bất kỳ. Tức là chỉ số cuối =, ..., M.

Nếu cờ @bitstreamSwitching được thiết lập để 'true' cho Segment Switching Bitstream có mặt, được chỉ định bởi BitstreamSwitching trong Segment Information. Trong trường hợp này, cho bất kỳ hai Representation, X và Y, trong Adaptation Set như nhau, nối của Media Segment i X, nối Segment của Representation Y và i +1 của Representation Y Media Segment có trách nhiệm là một MPEG-2 TS phù hợp tiêu chuẩn ISO/IEC 13818-1.

Như một hệ quả của quy tắc phù hợp đã nêu trong Semantics of Adaptation Set, ít nhất là các điều kiện sau đây được thỏa mãn nếu cờ @bitstreamSwitching được cài đặt là 'true':

Các điều kiện cần thiết cho việc thiết lập các thuộc tính @startWithSAP đến 2 cho Adaptatation Set hoặc yêu cầu cho tất cả các Representation trong phần Adaptatation Set cùng giá trị của @mediaStreamStructureId và thiết lập các thuộc tính @start WithSAP của Set Adaptation 3, được đáp ứng.

Các điều kiện cần thiết để thiết lập các thuộc tính @segmentAlignment không thiết lập để 'False' Adaptatation Set được đáp ứng.

PCR được hiện diện trong Segment trước khi byte đầu tiên của một gói dữ liệu tải trọng TS có chứa các phương tiện truyền thông dữ liệu, và không được suy ra từ ô 'pcrb'.

Sub-Representations

Nếu một yếu tố SubRepresentation có mặt trong một Representation trong MPD và SubRepresentation@level có mặt, sau đó là một Index Segment có mặt và phải phù hợp với các định dạng được xác định trong Subsegment Index Segment.

Các hộp Index Subsegment phải chứa ít nhất một mục nhập cho các giá trị của SubRepresentation @level và cho mỗi giá trị được cung cấp trong SubRepresentation @dependencyLevel. Các thuộc tính còn lại của phần tử Sub-Representation nên cung cấp đầy đủ thông tin mà có thể được phân biệt với các Representation có chứa như đối với TS MPEG-2 không có phân công inband của các cấp được cung cấp các dữ liệu chứa trong các Representation.

Nếu Subsegment Index được sử dụng cho khai thác của trình tự thời gian phụ, PCR trước các byte đầu tiên của các phương tiện truyền thông trong phạm vi chỉ định trong các chỉ số Subsegment. Ngoài ra, khóa mã hóa (nếu được sử dụng) không nên thay đổi trong thời gian một Subsegment.

2.4. Kết luận chương 2

Chương 2 đã đi vào tìm hiểu tổng quan về MPEG-DASH như: mô tả hệ thống, mô hình Client DASH, mô hình dữ liệu DASH và một số các trình diễn phương tiện nhằm phục vụ cho phần nghiên cứu sâu hơn về một mô hình hệ thống MPEG-DASH trong phần chương 3.

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 58 - 63)