ImageVerifierCode 换一换
格式:PDF , 页数:32 ,大小:678.78KB ,
资源ID:1046338      下载积分:10000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1046338.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SMPTE RDD 43-2016 MDA Bitstream Specification.pdf)为本站会员(lawfemale396)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

SMPTE RDD 43-2016 MDA Bitstream Specification.pdf

1、 Copyright 2016 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 Approved August 23, 2016 The attached document is a Registered Disclosure Document prepared by the proponent identified below. It has been examined by the appropriate SMPT

2、E Technology Committee and is believed to contain adequate information to satisfy the objectives defined in the Scope, and to be technically consistent. This document is NOT a Standard, Recommended Practice or Engineering Guideline, and does NOT imply a finding or representation of the Society. Ever

3、y attempt has been made to ensure that the information contained in this document is accurate. Errors in this document should be reported to the proponent identified below, with a copy to engsmpte.org. All other inquiries in respect of this document, including inquiries as to intellectual property r

4、equirements that may be attached to use of the disclosed technology, should be addressed to the proponent identified below. Proponent contact information: Scott Smyers DTS, Inc. 130 Knowles Drive, Suite B Los Gatos, CA 95032 Email: Page 1 of 32 pages SMPTE REGISTERED DISCLOSURE DOCUMENT MDA Bitstre

5、am Specification SMPTE RDD 43:2016 SMPTE RDD 41:2016 Page 2 of 32 pages Table of Contents Page Conventions 4 Introduction (Informative) . 4 1 Scope . 6 2 Normative References 6 3 Structures 6 3.1 Bitstream .6 3.2 Frames .7 3.3 Slice 9 3.4 Entity 10 3.5 LFEFragment . 12 3.6 ObjectFragment 12 3.7 Grou

6、p 13 3.8 Switch . 14 3.9 NormalizedGroup . 15 4 Packets . 16 4.1 General . 16 4.2 FrameHeaderPacket . 16 4.3 AssetFramePacket 18 4.4 Frame End Packet . 19 4.5 Slice Header Packet 19 4.6 ObjectFragmentPacket . 20 4.7 LFEFragmentPacket 20 4.8 Group Start Packet . 20 4.9 Group End Packet . 21 4.10 Swit

7、chStartPacket . 21 4.11 SwitchEndPacket 21 4.12 EntityPacket 21 4.13 FragmentPacket . 22 4.14 MonoSourceFragmentPacket . 22 4.15 UnknownPacket . 22 5 Common Data Structures 23 5.1 PacketHeader . 23 5.2 ChannelGain . 23 5.3 RenderingException . 23 5.4 Label . 24 5.5 PackedLength . 25 5.6 Extension 25

8、 SMPTE RDD 41:2016 Page 3 of 32 pages 5.7 FixedArray 26 5.8 Position 26 5.9 ByteArray . 27 5.10 PackedUInt64 . 27 5.11 PackedUInt32 . 27 5.12 OptionalItem 27 5.13 UTF8String 27 6 Common Functions 28 6.1 RadiusQToF 28 6.2 RadiusFToQ 28 6.3 PhiQToF . 28 6.4 PhiFToQ . 28 6.5 ThetaQToF . 28 6.6 ThetaFTo

9、Q . 28 6.7 ApertureQToF 28 6.8 ApertureFToQ 28 6.9 DivergenceQToF 28 6.10 DivergenceFToQ 28 6.11 GainQToF . 28 6.12 GainFToQ . 28 6.13 ChannelGainQToF 29 6.14 ChannelGainFToQ 29 7 Constants . 29 7.1 Packet Kind Labels . 29 7.2 Bitstream Version 29 7.3 Normalized Group Label 29 8 Extensibility 29 9 A

10、uthoring Guidelines 30 10 Structure Specification Language . 30 10.1 Macro . 30 10.2 Structure . 30 10.3 Basic Type . 31 10.4 Type Aliasing . 31 10.5 Control Statements 31 10.6 Fields . 31 10.7 Variables 32 10.8 Constants 32 SMPTE RDD 41:2016 Page 4 of 32 pages Conventions All sections are normative

11、 unless otherwise indicated. Pseudo-code and property names use font style courier new. The expressions MAY, NEED NOT, SHALL, SHALL NOT, SHOULD, and SHOULD NOT indicate normative behavior as specified in ISO/EIC Directives, Part 2. Edition 6.0, 2011-04. VERBAL FORM SEMANTICS MAY It is allowed NEED

12、NOT It is not required that SHALL Is required that SHALL NOT Is required to be not SHOULD It is recommended that SHOULD NOT It is not recommended that Introduction (Informative) The Bitstream consists of an ordered sequence of Packets. As illustrated in Figure 1, each Packet consists of a payload pr

13、eceded by a Label field identifying the nature of the payload and a length field indicating the size of the payload. Packet are byte-aligned, but information within their payloads not necessarily so. Implementations can skip over Packets without knowledge of their payload, enabling straightforward e

14、xtensibility. Figure 1 Packet Packets are logically grouped into hierarchical structures. Specifically, as depicted in Figure 2, a Bitstream consists of a sequence of Frame structures, each containing the metadata and audio samples required to completely reproduce a Program for a specified interval

15、within its timeline. In particular, each Frame structure contains a complete copy of the Program header information, thereby allowing playback to start on any Frame structure boundary without requiring access to prior or future Frames. K indLengthP ayloadP acke tSMPTE RDD 41:2016 Page 5 of 32 pages

16、Figure 2 Mapping Program to Bitstream Frame Structures As illustrated in Figure 3, Frame structures are further segmented, with Program header information followed by Fragment structures, each containing Entity metadata for a specified time interval within the timeline of the Frame. The audio sample

17、s associated with the Frame are contained in a sequence of Asset Frame Packets. Figure 3 Frame Structure The Program object model makes extensive use of URI as unique identifiers. To reduce overhead, this specification defines mappings between common URI values and shorter Label values. F r ame F r

18、ame F r ame F r ameP rogram Entiti e s ( ti me li n e )P rogramHe ad e rFrameHeaderPacketAssetFramePacketAssetFramePacketSliceHeaderPacketFrameEndPacketUnknownPacketSliceHeaderPacketGroupStartPacketGroupEndPacketObjectFragmentObjectFragmentObjectFragmentObjectFragmentframesl ice sl iceSMPTE RDD 41:2

19、016 Page 6 of 32 pages 1 Scope This specification maps the MDA Program specified in the MDA Program Specification, including audio samples, to a single binary structure the Bitstream. The Bitstream is partitioned into Frames such that reproduction can start at any Frame boundary, without knowledge o

20、f earlier or future Frames. 2 Normative References MDA Program Specification 1.03 Internet Engineering Task Force (IETF) (January 2005). RFC 3986 Uniform Resource Identifier (URI): Generic Syntax ISO/EIC Directives, Part 2. Edition 6.0, 2011-04 Internet Engineering Task Force (IETF) (January 2003).

21、RFC 3629 UTF-8, A Transformation Format of ISO 10646 3 Structures The Bitstream syntax is expressed using the operation of a hypothetical parser using the structure specification language described in Section 10. For extensibility, the Bitstream syntax allows the presence of unknown Packets captured

22、 by fields of type UnknownPacket. Implementations MAY ignore these unknown Packets. 3.1 Bitstream A Bitstream consists of an ordered sequence of Frames, as specified in Table 1. Each Frame is an item of the fFrame collection. The number of Frames in an MDA Bitstream for a given MDA Program SHALL be

23、less than or equal to 264. Table 1 Bitstream Structure aligned struct Bitstream var long unsigned int i = 0; while(!eof) peek PacketHeader fUnknownHeader; / Frames if (fUnknownHeader.fKind = FrameHeaderPacket.fKind) Frame fFramei+; / Unknown packets SMPTE RDD 41:2016 Page 7 of 32 pages else UnknownP

24、acket fUnknownPacket; 3.2 Frames A Frame SHALL correspond to an interval within a Program timeline, with the Program uniquely identified by the fFrameHeaderPacket.fProgramURI field. The MDA:Program.header object is specified by the fFrameHeaderPacket field. The audio samples required for the reprodu

25、ction of the Frame MAY be contained in the fAssetFramePacket field. Figure 4 Frame and Slice Structure Intervals The Entity instances associated with the Frame are contained in the fSlice field. Each item of fSlice is a Slice corresponding to a time interval within the time interval of the Frame. Th

26、e absolute offset of the Frame timeline within the Program timeline is equal to the value of the fFrameHeaderPacket.fOffset field. The duration of the Frame shall be equal to the sum of the duration of the Slices. Constraints on Frame duration are not specified by this specification and left to appl

27、ications. P rogr am Ti mel i neSl i ce Sl i ce Sl i ceFram eSl i ce Du rat i on = f SliceHeaderPac ket.fD uratio n Fram e Du rat i on = S Sl i ce Du rat i on sSl i ce Off set = F ram e Off set + S Pr e ce ding Sli ce Du rat i on sFram e Off set = fFrame Header Packet .fOffs et SMPTE RDD 41:2016 Page

28、 8 of 32 pages Two successive Frames do not necessarily belong to the same Program, i.e. a Bitstream may hold multiple Programs. The total number of Slices in a Frame SHALL be in the range 0,232. The total number of Asset Frame Packets in Frame SHALL be in the range 0,232. Table 2 Frame Structure al

29、igned struct Frame / process Frame Header packet FrameHeaderPacket fFrameHeaderPacket; / process asset frame packets var unsigned int i = 0; while(!eof) peek PacketHeader fUnknownHeader; if (fUnknownHeader.fKind = AssetFramePacket.fKind) / Asset Packets AssetFramePacket fAssetFramePacketi+; else if

30、fUnknownHeader.fKind = SliceHeaderPacket.fKind) / End of assets, start of slices break; else / Unknown packet UnknownPacket fUnknownPacket; /* process Slices */ var unsigned int j = 0; while(!eof) peek PacketHeader fUnknownHeader; / Slices if (fUnknownHeader.fKind = SliceHeaderPacket.fKind) SMPTE R

31、DD 41:2016 Page 9 of 32 pages Slice fSlicej+; / End of frame/Slices else if (fUnknownHeader.fKind = FrameEndPacket.fKind) break; / Unknown packet else UnknownPacket fUnknownPacket; 3.3 Slice The number of Entities in a Slice SHALL be less than or equal to 232. The offset and duration of each Entity

32、SHALL be equal to the offset and duration of the Slice, respectively. The duration of the Slice SHALL be equal to the fSliceHeaderPacket.fDuration field. The start offset of a Slice SHALL be equal to the offset of the Frame plus the sum of the durations of the Slices preceding it. Note: The Slice is

33、 bitstream-specific structure that does not have a corresponding concept in the MDA Program object model. Table 3 Slice Structure aligned struct Slice SliceHeaderPacket fSliceHeaderPacket; / process entities var unsigned int i = 0; while(! eof) peek PacketHeader fUnknownHeader; if (fUnknownHeader.fK

34、ind = SliceHeaderPacket.fKind) / SliceHeader, new Slice SMPTE RDD 41:2016 Page 10 of 32 pages break; else if (fUnknownHeader.fKind = FrameEndPacket.fKind) / FrameEnd break; else if (mIsEntityKind(fUnknownHeader.fKind) / Entity Entity fEntityi+; else / Unknown packet UnknownPacket fUnknownPacket; 3.4

35、 Entity The fields of the Entity structure are mapped to concrete derived classes of the MDA:Entity abstract class, as summarized in Table 4. Table 4 Entity Fields to MDA Object Classes Entity Field MDA Object Class Entity.fObjectFragment MDA:ObjectFragment Entity.fNormalizedGroup MDA:ObjectFragment

36、 Entity.fLFEFragment MDA:LFEFragment Entity.fGroup MDA:Group Entity.fSwitch MDA:Switch Table 5 defines a function that returns whether a Packet corresponds to an entity defined. Table 5 mIsEntityKind() Definition #define mIsEntityKind(pKind) ( pKind = ObjectFragmentPacket.fKind | pKind = LFEFragment

37、Packet.fKind | pKind = GroupStartPacket.fKind | pKind = SwitchStartPacket.fKind) SMPTE RDD 41:2016 Page 11 of 32 pages Table 6 Entity Structure aligned struct Entity peek PacketHeader fUnknownHeader; if (fUnknownHeader.fKind = ObjectFragmentPacket.fKind) / ObjectFragment ObjectFragment fObjectFragme

38、nt; else if (fUnknownHeader.fKind = LFEFragmentPacket.fKind) / LFEFragment LFEFragment fLFEFragment; else if (fUnknownHeader.fKind = GroupStartPacket.fKind) / Group peek GroupStartPacket fGroupStart; if (gGroupStart.fExtensions.fPresent) var uint32 i; for(i = 0; i fExtensions; / Frame parameters Pac

39、kedUInt64 fOffset; unsigned int(16) fDuration; OptionalItem fCRC; 4.2.1 fBitstreamVersion The fBitstreamVersion field SHALL be equal to kBitstreamVersion3 for a Bitstream conforming to this version of the MDA Bitstream Specification. 4.2.2 fProgramNamespace For this version of the Bitstream Specific

40、ation, the fProgramNamespace field SHALL be equal to as specified in MDA Program Specification. 4.2.3 fProgramURI The fProgramURI field SHALL be equal to MDA:Program.header.programURI. 4.2.4 fSampleRate The fSampleRate field SHALL be equal to MDA:Program.header.sampleRate. Implementations SHALL supp

41、ort the values and as defined in MDA Program Specification. 4.2.5 fExtensions Each item of fExtensions field SHALL correspond to an item of the MDA:Program.header.extensions collection. 4.2.6 fOffset The fOffset field SHALL be equal to the offset (in samples) of the first sample of the Frame within

42、the Program timeline. SMPTE RDD 41:2016 Page 18 of 32 pages 4.2.7 fDuration The fDuration field SHALL be equal to the duration of the time interval represented by the Frame, defined as the sum of all SliceHeaderPacket.fDuration values for the Slices within the Frame. 4.2.8 fCRC The fCRC field SHALL

43、be computed over all fields starting with fBitstreamVersion and ending with fDuration using the 16-bit CRC specified in Figure 5, with all bits initialized to 1. The generating polynomial is x16 + x12 + x5 + 1. Figure 5 CRC-16 Algorithm The fCRC field can be used by implementations to reliably locat

44、e the start of a Frame in a Bitstream. Figure 6 Relationship between Asset Frame Packets and Object Fragment Packets 4.3 AssetFramePacket Each AssetFramePacket contains a sequence of audio samples associated with the Frame. As illustrated in Figure 6, multiple Entities may reference audio samples wi

45、thin the same AssetFramePacket. Note: The AssetFramePacket is bitstream-specific structure that does not have a corresponding concept in the MDA Program object model. Asse tF r ameP ack et( fId = 2 )S l i ceAsse tF r ameP ack et ( fId = 1 )Obj e ctF r agme ntP acke t ( fId = 9 )Audio S am p l esS l

46、i ceObj e ct F r agme nt P acke t( fId = 9 )Audio S am p l esObj e ctF r agme ntP a c ke t ( fId = 3 2)fAsset URI = urn :x-mda:bitstr eam:afid:1fAsset Offset = 0fAsset URI = urn :x-mda:bitstr eam:afid:2fAsset Offset = 0fAsset URI = urn :x-mda:bitstr eam:afid:2fAsset FrameOffset = 60SMPTE RDD 41:2016

47、 Page 19 of 32 pages Table 16 Asset Frame Packet Structure aligned struct AssetFramePacket : PacketHeader fKind = ESASSETFRAME_LOCALLABEL; PackedUInt32 fId; Label fAssetEncoding; ByteArray fAssetBytes; 4.3.1 fId The fId field identifies the AssetFramePacket and shall be unique within the Frame. 4.3.

48、2 fAssetEncoding The fAssetEncoding field shall identify the format of data contained in the fAssetBytes field. Implementations SHALL support the format and listed in Table 17. Table 17 Audio Encoding Constant URI Definition PCM24BE /labels/essence-encoding/PCM24 Sequence of 24-bit PCM audio samples

49、 each packed in MSB order. PCM32BE /labels/essence-encoding/PCM32 Sequence of 32-bit PCM audio samples, each packed in MSB order. 4.3.3 fAssetBytes The fAssetBytes field SHALL contain a representation of the audio samples. A value of fAssetBytes.fCount equal to 0 shall be interpreted an all 0 (zero) array of audio samples with

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1