数据解码方法、数据解码装置及数据发送方法_2

文档序号:9355731阅读:来源:国知局
[0108]MMT流200是构成一个MMT封装包的I个以上的流中的一个。MMT封装包相当于一个编码数据。例如,MMT封装包相当于一个广播节目内容。一个MMT封装包被分割为多个MMT流200,经由多个传送路径进行传送。
[0109]编码数据例如是基于HEVC等运动图像编码标准进行编码而得到的AV数据。具体而言,编码数据包含影像数据、声音数据、以及这些所附带的元数据、静止图像以及文件等。
[0110]编码数据按照作为系统复用标准之一的MP4文件格式被变换为MP4数据。并且,通过将MP4数据打包,生成MMT包。MMT流200通过将多个MMT包进行复用而生成。另外,MP4数据并不一定是完整的形式,只要至少包含MP4的编码数据的存放单位即样本的数据即可。
[0111]如图2所示,MMT流200包含多个MMT包210。换言之,MMT流200是多个MMT包210的包序列。
[0112]MMT包210是将I个以上的MPU (Media Processing Unit)打包而得到的数据。本实施方式中,一个MPU或将MPU分割而得到的单位构成一个MMT包210。另外,MPU是在MMT标准中定义的数据单位,例如是MP4数据。
[0113]MMT包210与构成编码数据的I个以上的资源建立对应。资源例如是影像数据、声音数据或元数据等。
[0114]如图2所示,MMT包210包含头220和有效载荷230。此外,有效载荷230包含I个以上的访问单元231。
[0115]头220是与有效载荷230有关的附属信息。例如,头220包含包识别符221和时刻信息222。
[0116]包识别符221是表示构成编码数据的I个以上的资源之中的与该包对应的资源的识别号(packet_id)。具体而言,包识别符221表示与有效载荷230对应的资源。例如,图2中将包识别符221用“ID1”以及“ID2”表示。另外,packet_id是构成MMT封装包的每个资源所固有的识别信息。
[0117]时刻信息222是用于决定访问单元231的提示时刻(PTS)或解码时刻(DTS)的时刻信息。例如,时刻信息222是相对于规定时刻的PTS或DTS的相对值。关于使用时刻信息222决定访问单元231的PTS或DTS的具体的方法,在后面进行说明。
[0118]有效载荷230包含I个以上的资源之中的对应的资源所包含的I个以上的访问单元231。访问单元231例如包含I个以上的NAL单元。
[0119]例如,有效载荷230包含一个GOP(Group Of Pictures)所包含的多个访问单元231。或者,有效载荷230也可以仅包含一个NAL单元或将NAL单元分割而得到的单位。
[0120]此外,如图2所示,MMT流200包含对应信息240和时刻偏移信息250,作为服务信息。
[0121]对应信息240包含表示例如广播及通信等多个传送路径与多个封装包的对应关系的信息(例如MPT (MMT Package Table))。此外,对应信息240包含表示影像数据及声音数据等多个资源与识别号(packet_id)的对应关系的信息。
[0122]时刻偏移信息250是用于决定访问单元231的PTS或DTS的时刻信息。例如,时刻偏移信息250表示规定的访问单元的绝对的PTS或DTS。
[0123][MPU的数据构造]
[0124]接下来,对本实施方式的MPU进行说明。图3是表示本实施方式的MPU的数据构造的图。另外,如上所述,本实施方式中一个MPU构成一个MMT包。
[0125]如图3所示,MPU300由多个框构成。具体而言,MPU300包含ftyp/styp框310、mmpu框320以及N(N为I以上的整数)个框组330。N个框组330分别包含moof框331以及 mdat 框 332。
[0126]ftyp/styp框310例如包含表示MPU300的文件类型的信息。
[0127]mmpu框320包含MPU300的序列号以及packet_id等。
[0128]moof框331包含MP4的头信息。例如,moof框331包含mdat框332中包含的样本等的提示时刻或解码时刻等时刻信息。moof框331包括未图示的traf框以及tfdt框等。
[0129]mdat框332包含影像以及声音等内容数据。例如,mdat框332包含样本或子样本,具体而言包含访问单元或NAL单元等。
[0130][MMT包的数据流]
[0131]接下来,使用图4说明使用多个传送路径传送一个MMT封装包的情况下的MMT包的数据流。图4是表示本实施方式的MMT包的数据的流向的一例的图。
[0132]多个传送路径是物理上相互不同的传送路径。具体而言,多个传送路径是数据解码装置100所具备的接口,例如与相互不同的连接器或连接口等接口连接。多个传送路径例如包括广播和通信。广播包括地面波广播、卫星广播以及CATV等。通信包括互联网等无线通信、以及光纤通信等有线通信。
[0133]例如,本实施方式中,将一个电视节目内容使用地面波广播和互联网通信这两个传送路径来传送。例如,将60fps的基本层的数据经由地面波广播传送,将60fps的扩展层的数据经由互联网通信传送。
[0134]此时,在接收侧,在接受到仅地面波广播的数据的情况下,能够以60fps的帧速率再现电视节目内容。此外,在接受到地面波广播和互联网通信双方的数据的情况下,能够以120fps的帧速率再现、即能够再现更高精细的电视节目内容。
[0135]例如,图4所示的例中,第s个传送路径是广播,第t个传送路径是通信。图4表示第s个MMT流的第i个MMT包(MMTs⑴)到达的情况下的数据流。
[0136]过滤部110基于packet_id将MMT流按每个MMT包进行过滤。具体而言,在接收部111接收到MMT包时,过滤部110从该MMT包的头取得packet_id。并且,存放部112基于取得的packet_id,向对应的资源分配MMT包。例如,在接收到的MMT包的packet_id为“m”的情况下,存放部112在MMTBml21中存放MMT包。
[0137]另外,图4 ψ, MMTBml21是与packet_id为“m”的资源对应的第I缓冲器。此外,MMTBn122是与packet_id为“η”的资源对应的第I缓冲器。MMTBml21和MMTBnl22分别是MMT有效载荷数据的存放用的缓冲器,是图1所示的MMT缓冲部120所具备的I个以上的第I缓冲器120a (MMTB)的一例。
[0138]在此,以及“k”分别表示第m个、第η个以及第k个资源。具体而言,“m”
表示影像数据,“η”表示声音数据,“k”表示元数据等其他数据。其他数据例如还包含构成信息等。
[0139]存放在MMTBml21或MMTBnl22中的多个MMT包按解码顺序被排序并输出至图片缓冲器161或音频缓冲器162。图片缓冲器161以及音频缓冲器162分别是图1所示的第2缓冲器160a的一例。
[0140]图片缓冲器161是视频流的存放用缓冲器(EB:Elementary stream Buffer)。例如,图片缓冲器161是]\0^6-44¥(:或冊¥(:中的0?8((:0(^(1 Picture Buffer)。或者,图片缓冲器 161 是 MPEG-2 Video 中的 VBV(Video Buffer Verifier)缓冲器。
[0141]音频缓冲器162是音频流的存放用缓冲器。
[0142]图片缓冲器161中,构成相同资源的多个访问单元以解码顺序输入并以解码顺序输出。具体而言,图片缓冲器161中,构成相同影像数据的多个访问单元以解码顺序输入并以解码顺序输出。例如,图片缓冲器161基于DTS将所存放的访问单元输出给图像解码部171。图4中表示输出与第m个资源对应的第j个访问单元AUm(j)的例子。关于音频缓冲器162也同样。
[0143]图像解码部171将从图片缓冲器161输入的访问单元解码。例如,图像解码部171基于HEVC等运动图像编码标准将访问单元解码,将解码后的视频数据存放到参照缓冲器181。此外,图像解码部171输出基于PTS解码后的视频数据。
[0144]在此,参照缓冲器181是影像数据中的参照用图片、即已解码图片的保存用缓冲器。例如,参照缓冲器 181 是 MPEG-4 AVC、HEVC 中的 DPB (Decoded Picture Buffer)。或者,参照缓冲器181是MPEG-2 Video中的re-order缓冲器。
[0145]声音解码部172将从音频缓冲器162输入的访问单元解码。例如,声音解码部172基于MPEG-2 AAC、MPEG-4 AAC等声音编码标准将访问单元解码,将解码后的音频数据与视频数据同步地输出。
[0146]另外,图像解码部171以及声音解码部172分别包含于图1所示的解码部170。
[0147]如以上那样,在输入了第m个资源、具体而言与影像数据对应的MMT包的情况下,该MMT包依次经过MMTBml21、图片缓冲器161、图像解码部171以及参照缓冲器181,作为视频数据而被输出。此外,在输入了第η个资源、具体而言与声音数据对应的MMT包的情况下,该MMT包依次经过ΜΜΤΒη122、音频缓冲器162以及声音解码部172,作为音频数据而被输出。此外,在输入了第k个资源、具体而言与元数据等对应的MMT包的情况下,对该MMT包实施必要的处理。
[0148][MMT包的过滤以及排序]
[0149]接下来,使用图5及图6对本实施方式的MMT包的排序的具体例进行说明。图5是表示本实施方式的多个传送路径中的各个传送路径上传送的MMT流的一例的图。图6是表示本实施方式的将多个MMT包排序的情形的一例的图。
[0150]另外,在图5及图6中,“MPUxy”的“x”表示packet_id,“y”表示相同资源中的MPU的序列号。例如,“MPU10”表示packet_id为“1”、序列号为“O”的MPU。序列号的升序相当于解码顺序。
[0151]如图5所示,在传送路径#0上传送包含多个资源的MMT包的MMT流。具体而言,在传送路径#0上传送的MMT流包含packet_id为“ I ”的MMT包(MPU10等)和packet_id为“2”的MMT包(MPU20等)。此外,在传送路径#1上传送的MMT流包含packet_id为“ I ”的 MMT 包(MPU12 等)。
[0152]将构成MMT封装包的多个MMT包在多个传送路径中的某一个上发送。换言之,本实施方式中,将MMT包仅在多个传送路径中的某一个上发送,而不会在两个以上的传送路径上发送。图5所示的例中,例如,将MPUlO仅在传送路径#0上发送,而在传送路径#1及其他传送路径上不进行传送。
[0153]此外,将传送路径内的包以解码顺序发送。例如,将MMT包在传送路径内按每个packet_id以序列号的升序传送。具体而言,若关注图5所示的packet_id为“ I”的MMT,则成为MPU1、MPU11、MPU14、MPU15,以序列号的升序传送。
[0154]因此,对于在传送路径上传送的MMT流,能够与在其他传送路径上传送的其他MMT流独立地解码。
[0155]过滤部110例如仅对packet_id为“I”的包进行过滤。由此,如图6的(a)所示,在MMTB中只有packet_id为“I”的包以到达的顺序被存放。
[0156]在此,如图5所示,将构成相同资源的MMT包、即packet_id相同的MMT包分多个传送路径传送。因而,即使是相同资源的MMT包,向系统解码器的到达顺序也不一定与解码顺序一致。例如,如图6的(a)所示,序列号大的MPU14比序列号小的MPU14先到达。
[0157]因此,需要将MMT包重新排序。因此,如图6的(b)所示,排序部150对MMT包进行排序,以使得成为解码顺序即序列号的升序。
[0158]另外,实际上存放到MMTB的不是MPU本身,而是从MPU分离的访问单元的数据。
[0159][数据解码装置的动作]
[0160]接下来,使用图7对本实施方式的数据解码装置100(系统解码器)的动作的一例进行说明。图7是表示本实施方式的数据解码装置100的动作的一例的流程图。
[0161]另外,本实施方式的数据解码装置100中,MMT的基准时钟为NTP(Network TimeProtocol),DTS以及PTS也基于NTP来设定。但是,NTP也可以不是从NTP服务器取得的值,例如可以用广播站独自设定的值代替。
[0162]首先,本实施方式的数据解码装置100取得构成信息(S100)。具体而言,数据解码装置100通过取得及解析传送MMT封装包的多个传送路径的构成信息,将从各传送路径的接收所需的信息、以及表示资源与包识别符的对应关系的信息等作为构成信息来取得。例如,在广播的情况下,接收所需的信息为网络ID,在通信的情况下,接收所需的信息为URL(Uniform Resorce Locator)。
[0163]构成信息例如包含于多个MMT流的开头的头等。具体而言,构成信息是图2所示的对应信息240以及时刻偏移信息250等。例如,图1中,时刻取得部140取得构成信息中包含的时刻偏移信息250。接收到构成信息之后,开始接收MMT的资源。
[0164]接着,接收部111从多个传送路径的一个接收MMT包(S110)。具体而言,接收部111将在多个传送路径上分别传送的MMT包以到达的顺序取得。
[0165]接着,存放部112将接收到的MMT包基于packet_id进行分配并存放到MMTB (SI20)。换言之,存放部112通过对MMT包进行过滤,按每个资源进行分配,并存放到与分配的资源对应的MMTB。
[0166]接着,解码顺序取得部130通过对MMT包的头信息进行解析,取得访问单元的解码顺序(S130)。具体而言,解码顺序取得部130基于表示向MMT包的头存放的MPU的序列号的参数,决定MPU的解码顺序。或者,解码顺序取得部130也可以取得将访问单元分割而得到的单位(子样本)的解码顺序。
[0167]接着,排序部150计算每个访问单元的DTS(SHO)。另外,排序部150在将访问单元以子样本单位解码时,计算每个子样本的DTS。关于DTS的计算方法的具体例,使用图8在后面进行说明。
[0168]接着,排序部150进行排序以使接收到的MMT包的有效载荷数据成为解码顺序,并以访问单元单位进行分离并存放到第2缓冲器160a(例如图片缓冲器)(S150)。此时,从第I缓冲器120a(MMTB)向第2缓冲器160a的访问单元的读出(抽出)定时由预先定义的多个模式中的一个(选择模式)定义。
[0169]接着,解码部170基于DTS将访问单元进行解码(S160)。具体而言,编码数据存储部160基于访问单元的DTS,从第2缓冲器160a抽出对象访问单元向解码部170输出。例如,编码数据存储部160按照由排序部150计算出的访问单元或子样本的解码时刻,将访问单元或子样本从第2缓冲器160a抽出并向解码部170输出。并且,解码部170将所输入的对象访问单元进行解码。
[0170]另外,关于是否以子样本单位将访问单元进行解码,既可以由数据解码装置100设定,也可以根据MMT的构成信息或MMT消息中包含的信息来设定。
[0171]在没有新的MMT包输入的情况下(S170中是),数据解码装置100结束解码处理。在包的接收没有结束的情况下(S170中否),重复从包的接收(SllO)起的处理。
[0172][PTS以及DTS的决定方法]
[0173]接下来,对决定访问单元的PTS (提示时刻)以及DTS (解码时刻)的方法(图7的S140)的一例进行说明。
[0174]第m个MPU (MMT包)中的在显示顺序上为第i个的访问单元的提示时刻即PTSm (i)可用以下的(式I)计算。
[0175](式 I) PTSm (i) = PTSm (O) +deItaPTS ⑴
[0176]PTSm(O)为第m个MPU的在显示顺序上为开头的访问单元的提示时刻。此外,deltaPTS(i)为 PTSm(i)与 PTSm(O)的差分值。
[0177]此外,第m个MPU(MMT包)中的在解码顺序上为第i个的访问单元的解码时刻即DTSm⑴可用以下的(式2)计算。
[0178](式 2) DTSm (i) = DTSm (O) +deItaDTS ⑴
[0179]DTSm(O)为第m个MPU的在解码顺序上为开头的访问单元的解码时刻。此外,deltaDTS(i)为 DTSm(i)与 DTSm(O)的差分值。
[0180]另外,开头访问单元的提示时刻PTSm(O)以及解码时刻DTSm(O)是与影像数据以及声音数据等另行取得的构成信息(Cl)中包含的第I时刻信息的一例。例如,PTSm(O)以及DTSm(O)相当于图2所示的时刻偏移信息250。此外,deltaPTS (i)以及deltaDTS (i)通过对作为MP4的头信息的moof框中包含的traf框进行解析来取得。例如,deltaPTS (i)以及deltaDTS(i)相当于图2所示的时刻信息222。
[0181]以下,PTS的决定方法与DTS的决定方法大致相同,因此使用图8主要对DTS的决定方法进行说明。图8是表示本实施方式的数据解码装置中的DTS的决定方法的一例的流程图。
[0182]为了使用(式2)进行计算,如图8所示,排序部150取得MPU内的在解码顺序上为开头的访问单元的DTS(SHl)。例如,排序部150通过取得由时刻取得部140从构成信息提取的第I时刻信息,取得DTSm(O)。
[0183]接着,排序部150从对象访问单元的头取得差分信息(deltaDTS(i)) (S142)。例如,排序部150对MP4的头信息即moof框内的traf框进行解析而取得差分信息。另外,在MPU不包含moof框的情况下,也可以基于MMT包或MMT有效载荷的头信息、通过MMT消息发送的时刻信息等,决定每个访问单元的DTS或PTS。
[0184]接着,排序部150计算对象访问单元的DTS(S143)。具体而言,排序部150通过将取得的DTSm(O)与deltaDTS⑴相加,如(式2)所示计算DTSm⑴。
[0185]在对全部的访问单元完成了 DTS的计算的情况下(S144中是),结束DTS的计算处理,进行访问单元向第2缓冲器160a的存放处理(S150)。在没有完成全部的DTS的计算的情况下(S144中否),从差分信息的取得处理(S142)开始重复。
[0186]另外,在将MMT有效载荷通过RTP (Real-time Transport Protocol)等传送的情况下,也可以在RTP包的头中传递(signaling)每个访问单元的PTS以及DTS。在MMT包中,也能够取得与RTP同样的包构造,因此也能够作为MMT包的头或MMT有效载荷的头信息来传递。同样,在将MMT有效载荷通过MPEG-2 TS传送的情况下,也可以在PES (PacketizedElemen
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1