... 1... 1... 1... 1... 4... 4... 4... 4... 5... 5... 5... 7... 7... 11... 16... 18... 19... 20... 20... 20... 21... 23... 24... 37
DAB
Transport_packet(){ sync_byte transport_error_indicator payload_unit_start_indicator transport_priority PID transport_scrambling_control adaptation_field_control continuity_counter if(adaptation_field_control = = '10' adaptation_field_control = = '11'){ adaptation_field() } if(adaptation_field_control = = '01' adaptation_field_control = = '11') { for (i=0; i<n; i++){ data_byte } } } adaptation_field() { adaptation_field_length if (adaptation_field_length>0) { discontinuity_indicator random_access_indicator elementary_stream_priority_indicator PCR_flag OPCR_flag splicing_point_flag transport_private_data_flag adaptation_field_extension_flag if (PCR_flag = = '1') { program_clock_reference_base reserved
program_clock_reference_extension } if (OPCR_flag = = '1') { } if (splicing_point_flag = = '1') { splice_countdown } if (transport_private_data_flag = = '1') { transport_private_data_length for (i=0; i<transport_private_data_length; i++) { private_data_byte } } if (adaptation_field_extension_flag = = '1') { } for (i=0; i<n; i++) { stuffing_byte } } } PES_packet() { packet_start_code_prefix stream_id PES_packet_length if (stream_id!=program_stream_map && stream_id!=padding_stream && stream_id!=private_stream_2 && stream_id!=ecm && stream_id!=emm && stream_id!=program_stream_directory && stream_id!=dsmcc_stream && stream_id!=itu-t Rec. H.222.1 type E stream) { '10' PES_scrambling_control PES_priority data_alignment_indicator copyright original_or_copy PTS_DTS_flags ESCR_flag ES_rate_flag DSM_trick_mode_flag additional_copy_info_flag
PES_CRC_flag PES_extension_flag PES_header_data_length if (PTS_DTS_flags = = '10') { '0010' PTS [32..30] 3 marker_bit PTS [29..15] marker_bit PTS [14..0] marker_bit } if ( PES_extension_flag = = '1') { } for (i=0; i<n1; i++) { stuffing_byte } for (i=0; i<n2; i++) { PES_packet_data_byte } } }
TS_program_map_section() { table_id section_syntax_indicator '0' reserved section_length program_number reserved version_number
current_next_indicator section_number last_section_number reserved PCR_PID reserved program_info_length for (i=0; i<n; i++) { descriptor() } for (i=0; i<n1; i++) { stream_type Reserved elementary_pid Reserved ES_info_length for (i=0; i<n2; i++) { descriptor() } } CRC_32 }
ObjectTypeIndication 0x02 Systems ISO/IEC 14496-1 0x21 Visual ISO/IEC 14496-10 0x40 Audio ISO/IEC 14496-3 0x6C Visual ISO/IEC 10918-1 (JPEG) 0xC0 0xFE user private streamtype value 0x01 0x02 0x03 0x04 0x05 0x20-0x3F ObjectDescriptorStream ClockReferenceStream SceneDescriptionStream VisualStream AudioStream user private
λ λ λ λ λ
......
A [kbps] CU [CUs] [kbps] [kbps] 1-A 2-A 3-A 4-A 1-A 2-A 3-A 4-A (RS TS ) (TS ) 1/4 3/8 1/2 3/4 1/4 3/8 1/2 3/4 8 7.37 1 8 8 8 8 12 8 6 4 16 14.75 2 16 16 16 16 24 16 12 8 : : : : : : : : : : : : : : : : : : : : : : 8n 8n*188/204 n 8n 8n 8n 8n 12n 8n 6n 4n : : : : : : : : : : : 576 530.82 72 576 : : : 864 : : : : : : : : : : : : 864 796.24 108 864 : : 864 : : : : : : : : : 1152 1061.65 144 1152 : 864 : : : : : : 1728 1592.47 216 1728 864 B [kbps] CU [CUs] [kbps] [kbps] 1-B 2-B 3-B 4-B 1-B 2-B 3-B 4-B (RS TS ) (TS ) 4/9 4/7 2/3 4/5 4/9 4/7 2/3 4/5 32 29.49 1 32 32 32 32 27 21 18 15 64 58.98 2 64 64 64 64 54 42 36 30 : : : : : : : : : : : : : : : : : : : : : : 32n 32n*188/204 n 32n 32n 32n 32n 27n 21n 18n 15n : : : : : : : : : : : 1024 943.69 32 1024 : : : 864 : : : : : : : : : : : : 1312 1209.10 41 1312 : : 861 : : : : : : : : : 1536 1415.53 48 1536 : 864 : : : : : : 1824 1680.94 57 1824 855
InitialObjectDescriptor 8 InitialObjectDescriptor tag 0x02 16 descriptor size --- 10 ObjectDescriptorID 0 1 URL_Flag 0 1 includeinlineprofilesflag 0 4 Reserved 15 8 ODProfileLevelIndication 1 0x01 8 sceneprofilelevelindication 0x0C 8 audioprofilelevelindication 0x23 8 visualprofilelevelindication 8 graphicsprofilelevelindication 0x04 ES_Descriptor(OD) 8 ES_Descriptor tag 0x03 16 ES_ID 1 1 streamdependenceflag 0 1 URL_Flag 0
1 OCRstreamFlag 0 5 streampriority 0 DecoderConfigDescriptor(OD) 8 DecoderConfigDescriptor tag 0x04 8 objecttypeindication 1 6 streamtype 1 1 upstream 0 1 Reserved 1 24 buffersizedb 250 32 maxbitrate 0 32 avgbitrate 0 SLConfigDescriptor(OD) 8 SLConfigDescriptor tag 0x06 8 predefined 0 1 useaccessunitstartflag 1 1 useaccessunitendflag 1 1 userandomaccesspointflag 0 1 hasrandomaccessunitsonlyflag 0 1 usepaddingflag 0 1 usetimestampsflag 1 1 useidleflag 1 1 durationflag 0 32 timestampresolution 90000 32 OCRResolution 90000 8 timestamplength 33 8 OCRLength 33 8 AU_Length 0 8 instantbitratelength --- 4 degradationprioritylength 0 5 AU_seqNumLength 0 5 Packet_SeqNumLength 0 2 reserved 3(0b11) ES_Descriptor(BIFS) 8 ES_Descriptor tag 0x03 16 ES_ID 2 1 streamdependenceflag 0
1 URL_Flag 0 1 OCRstreamFlag 0 5 streampriority 0 DecoderConfigDescriptor(BIFS) 8 DecoderConfigDescriptor tag 0x04 8 objecttypeindication 2 6 streamtype 3 1 upstream 0 1 Reserved 1 24 buffersizedb 22 32 maxbitrate 0 32 avgbitrate 0 SLConfigDescriptor(BIFS) 8 SLConfigDescriptor tag 0x06 8 predefined 0 1 useaccessunitstartflag 1 1 useaccessunitendflag 1 1 userandomaccesspointflag 0 1 hasrandomaccessunitsonlyflag 0 1 usepaddingflag 0 1 usetimestampsflag 1 1 useidleflag 1 1 durationflag 0 32 timestampresolution 90000 32 OCRResolution 90000 8 timestamplength 33 8 OCRLength 33 8 AU_Length 0 8 instantbitratelength --- 4 degradationprioritylength 0 5 AU_seqNumLength 0 5 Packet_SeqNumLength 0 2 reserved 3(0b11)
ObjectDescriptorUpdate 8 ObjectDescriptorUpdate tag 0x01 ObjectDescriptor(audio) 8 ObjectDescriptor tag 0x01 10 ObjectDescriptorID 10 1 URL_Flag 0 5 reserved 31 ES_Descriptor(audio) 8 ES_Descriptor tag 0x03 16 ES_ID 101 1 streamdependenceflag 0 1 URL_Flag 0 1 OCRstreamFlag 0 5 streampriority 5 DecoderConfigDescriptor(audio) 8 DecoderConfigDescriptor tag 0x04 8 objecttypeindication 0x40 6 streamtype 5 1 upstream 0 1 Reserved 1 24 buffersizedb --- 32 maxbitrate --- 32 avgbitrate --- DecoderSpecificInfo(audio) 8 DecoderSpecificInfo tag 0x05 8* DecoderSpecificInfo data --- SLConfigDescriptor(audio) 8 SLConfigDescriptor tag 0x06
8 predefined 0 1 useaccessunitstartflag 1 1 useaccessunitendflag 1 1 userandomaccesspointflag 0 1 hasrandomaccessunitsonlyflag 0 1 usepaddingflag 0 1 usetimestampsflag 1 1 useidleflag 1 1 durationflag 0 32 timestampresolution 90000 32 OCRResolution 90000 8 timestamplength 33 8 OCRLength 33 8 AU_Length 0 8 instantbitratelength --- 4 degradationprioritylength 0 5 AU_seqNumLength 0 5 Packet_SeqNumLength 0 2 reserved 3(0b11)
ObjectDescriptorUpdate 8 ObjectDescriptorUpdate tag 0x01 ObjectDescriptor(video) 8 ObjectDescriptor tag 0x01 10 ObjectDescriptorID 20 1 URL_Flag 0 5 reserved 31 ES_Descriptor(video) 8 ES_Descriptor tag 0x03 16 ES_ID 201 1 streamdependenceflag 0 1 URL_Flag 0 1 OCRstreamFlag 1 5 streampriority 4 16 OCR_ES_ID 101 DecoderConfigDescriptor(video) 8 DecoderConfigDescriptor tag 0x04 8 objecttypeindication 0x21 6 streamtype 4 1 upstream 0 1 Reserved 1 24 buffersizedb --- 32 maxbitrate --- 32 avgbitrate --- DecoderSpecificInfo(video) 8 DecoderSpecificInfo tag 0x05 8* DecoderSpecificInfo data --- SLConfigDescriptor(video) 8 SLConfigDescriptor tag 0x06
8 predefined 0 1 useaccessunitstartflag 1 1 useaccessunitendflag 1 1 userandomaccesspointflag 0 1 hasrandomaccessunitsonlyflag 0 1 usepaddingflag 0 1 usetimestampsflag 1 1 useidleflag 1 1 durationflag 0 32 timestampresolution 90000 32 OCRResolution 90000 8 timestamplength 33 8 OCRLength 33 8 AU_Length 0 8 instantbitratelength --- 4 degradationprioritylength 0 5 AU_seqNumLength 0 5 Packet_SeqNumLength 0 2 reserved 3(0b11) ObjectDescriptor(audio) 8 ObjectDescriptor tag 0x01 10 ObjectDescriptorID 10 1 URL_Flag 0 5 reserved 31 ES_Descriptor(audio) 8 ES_Descriptor tag 0x03 16 ES_ID 101 1 streamdependenceflag 0 1 URL_Flag 0 1 OCRstreamFlag 0 5 streampriority 5 DecoderConfigDescriptor(audio) 8 DecoderConfigDescriptor tag 0x04 8 objecttypeindication 0x40 6 streamtype 5 1 upstream 0
1 Reserved 1 24 buffersizedb --- 32 maxbitrate --- 32 avgbitrate --- DecoderSpecificInfo(audio) 8 DecoderSpecificInfo tag 0x05 8* DecoderSpecificInfo data --- SLConfigDescriptor(audio) 8 SLConfigDescriptor tag 0x06 8 predefined 0 1 useaccessunitstartflag 1 1 useaccessunitendflag 1 1 userandomaccesspointflag 0 1 hasrandomaccessunitsonlyflag 0 1 usepaddingflag 0 1 usetimestampsflag 1 1 useidleflag 1 1 durationflag 0 32 timestampresolution 90000 32 OCRResolution 90000 8 timestamplength 33 8 OCRLength 33 8 AU_Length 0 8 instantbitratelength --- 4 degradationprioritylength 0 5 AU_seqNumLength 0 5 Packet_SeqNumLength 0 2 reserved 3(0b11) ObjectDescriptorUpdate 8 ObjectDescriptorUpdate tag 0x01 ObjectDescriptor(video)
8 ObjectDescriptor tag 0x01 10 ObjectDescriptorID 20 1 URL_Flag 0 5 reserved 31 ES_Descriptor(video) 8 ES_Descriptor tag 0x03 16 ES_ID 201 1 streamdependenceflag 0 1 URL_Flag 0 1 OCRstreamFlag 1 5 streampriority 4 16 OCR_ES_ID 101 DecoderConfigDescriptor(video) 8 DecoderConfigDescriptor tag 0x04 8 objecttypeindication 0x21 6 streamtype 4 1 upstream 0 1 Reserved 1 24 buffersizedb --- 32 maxbitrate --- 32 avgbitrate --- DecoderSpecificInfo(video) 8 DecoderSpecificInfo tag 0x05 8* DecoderSpecificInfo data --- SLConfigDescriptor(video) 8 SLConfigDescriptor tag 0x06 8 predefined 0 1 useaccessunitstartflag 1 1 useaccessunitendflag 1 1 userandomaccesspointflag 0 1 hasrandomaccessunitsonlyflag 0 1 usepaddingflag 0 1 usetimestampsflag 1 1 useidleflag 1
1 durationflag 0 32 timestampresolution 90000 32 OCRResolution 90000 8 timestamplength 33 8 OCRLength 33 8 AU_Length 0 8 instantbitratelength --- 4 degradationprioritylength 0 5 AU_seqNumLength 0 5 Packet_SeqNumLength 0 2 reserved 3(0b11) ObjectDescriptor(audio1) 8 ObjectDescriptor tag 0x01 10 ObjectDescriptorID 10 1 URL_Flag 0 5 reserved 31 ES_Descriptor(audio1) 8 ES_Descriptor tag 0x03 16 ES_ID 101 1 streamdependenceflag 0 1 URL_Flag 0 1 OCRstreamFlag 0 5 streampriority 5 DecoderConfigDescriptor(audio1) 8 DecoderConfigDescriptor tag 0x04 8 objecttypeindication 0x40 6 streamtype 5 1 upstream 0 1 Reserved 1 24 buffersizedb --- 32 maxbitrate --- 32 avgbitrate --- DecoderSpecificInfo(audio1) 8 DecoderSpecificInfo tag 0x05 8* DecoderSpecificInfo data ---
SLConfigDescriptor(audio1) 8 SLConfigDescriptor tag 0x06 8 predefined 0 1 useaccessunitstartflag 1 1 useaccessunitendflag 1 1 userandomaccesspointflag 0 1 hasrandomaccessunitsonlyflag 0 1 usepaddingflag 0 1 usetimestampsflag 1 1 useidleflag 1 1 durationflag 0 32 timestampresolution 90000 32 OCRResolution 90000 8 timestamplength 33 8 OCRLength 33 8 AU_Length 0 8 instantbitratelength --- 4 degradationprioritylength 0 5 AU_seqNumLength 0 5 Packet_SeqNumLength 0 2 reserved 3(0b11) ObjectDescriptor(audio2) 8 ObjectDescriptor tag 0x01 10 ObjectDescriptorID 12 1 URL_Flag 0 5 reserved 31 ES_Descriptor(audio2) 8 ES_Descriptor tag 0x03 16 ES_ID 102 1 streamdependenceflag 0 1 URL_Flag 0 1 OCRstreamFlag 0 5 streampriority 5 DecoderConfigDescriptor(audio2) 8 DecoderConfigDescriptor tag 0x04
8 objecttypeindication 0x40 6 streamtype 5 1 upstream 0 1 Reserved 1 24 buffersizedb --- 32 maxbitrate --- 32 avgbitrate --- DecoderSpecificInfo(audio2) 8 DecoderSpecificInfo tag 0x05 8* DecoderSpecificInfo data --- SLConfigDescriptor(audio2) 8 SLConfigDescriptor tag 0x06 8 predefined 0 1 useaccessunitstartflag 1 1 useaccessunitendflag 1 1 userandomaccesspointflag 0 1 hasrandomaccessunitsonlyflag 0 1 usepaddingflag 0 1 usetimestampsflag 1 1 useidleflag 1 1 durationflag 0 32 timestampresolution 90000 32 OCRResolution 90000 8 timestamplength 33 8 OCRLength 33 8 AU_Length 0 8 instantbitratelength --- 4 degradationprioritylength 0 5 AU_seqNumLength 0 5 Packet_SeqNumLength 0 2 reserved 3(0b11) LanguageDescriptor(audio2) 8 LanguageDescriptor tag 0x47 24 languagecode ---
OrderedGroup { } children [ ] Sound2D {source AudioSource {url 10}} C0 10 12 81 30 2A 05 7C OrderedGroup { } children [ ] Sound2D {source AudioSource {url 10}} Shape { } geometry Bitmap {} appearance Appearance {texture MovieTexture {url 20}} C0 10 12 81 30 2A 05 72 61 04 88 50 45 05 3F 00
Program Association Section... {... program_number = 0x0001 program_map_pid = 0x0100... } CRC_32 TS Packet : PID = 0x0000 1 ISO_IEC_14496_Section BIFS-Command Stream 6 TS Packet : PID = 0x0111 TS Packet : PID = 0x0100 MPEG-2 Transport Stream ISO_IEC_14496_Section OD Stream TS Packet : PID = 0x0112 0 5 5 7 Object Descriptor Stream ObjectDescriptor { ES_Descriptor { ES_ID = 0x0013 streamtype = SD stream specificinfo = BIFS-Anim } } ObjectDescriptor { ES_Descriptor { ES_ID = 0x0014 streamtype = IPMP stream } } 5 TS Packet : PID = 0x0113 Initial Object Descriptor... ES_Descriptor { ES_ID = 0x0011 streamtype = SD stream specificinfo = BIFS-com } ES_Descriptor { ES_ID = 0x0012 3 streamtype = OD stream }..... program_stream_info_length 1st_descriptor_loop { IOD_descriptor{ } } { TS Program Map Section stream_type = 0x13 elementary_pid = 0x0111 2nd_descriptor_loop { SL_descriptor{ ES_ID = 0x0011 } } stream_type = 0x13 elementary_pid = 0x0112 2nd_descriptor_loop { SL_descriptor{ ES_ID = 0x0012 } }. 2 4. stream_type = 0x12 elementary_pid = 0x0113 2nd_descriptor_loop { SL_descriptor{ ES_ID = 0x0013 } } stream_type = 0x12 elementary_pid = 0x0114 2nd_descriptor_loop { SL_descriptor{ ES_ID = 0x0014 } }... PES Packet : stream_id = 1111 1010 BIFS-Anim Stream 8 0 1 2 3 43 54 67 5
8