发送装置、接收装置、发送方法以及接收方法转让专利

申请号 : CN201580047734.8

文献号 : CN106605409B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 井口贺敬远间正真

申请人 : 松下知识产权经营株式会社

摘要 :

具备生成部和发送部,生成部进行码率控制以便满足接收缓冲器模型的规定,由此生成编码流,发送部发送通过对编码流进行打包而得到的传送包,接收缓冲器模型具备:第一缓冲器,将接收的传送包中存放的具有可变长度的包头的包,转换为具有通过头扩张而成的固定长度的包头的第一包;第二缓冲器,将第一包转换为具有可变长度的有效载荷的第二包;第三缓冲器,将第二包转换为NAL单元;以及第四缓冲器,将根据蓄积的多个NAL单元生成的访问单元在与该访问单元对应的解码时刻的定时输出至解码器。

权利要求 :

1.一种发送装置,具备:

生成部,利用满足规定的码率控制生成编码流,该规定是为了保证接收装置的缓冲动作而预先决定的规定;以及发送部,依次发送对所述编码流进行打包而成的传送包;

所述传送包包含固定长度的包头以及可变长度的有效载荷,所述预先决定的规定由以下的缓冲器决定:

第一缓冲器,将所述接收装置所依次接收的所述传送包中存放的、包含可变长度的包头以及可变长度的有效载荷的包,转换为具有通过头扩张而成的固定长度的包头的第一包,将所述第一包以固定的第一比特率输出;

第二缓冲器,将所述第一包转换为包含包头以及可变长度的有效载荷的第二包,将所述第二包以固定的第二比特率输出;

第三缓冲器,将所述第二包转换为NAL单元即网络适配层单元,将所述NAL单元以固定的第三比特率输出;以及第四缓冲器,依次蓄积所述NAL单元,根据蓄积的多个所述NAL单元生成访问单元,将所述访问单元在与所述访问单元对应的解码时刻的定时输出至接收装置的解码器,所述第一缓冲器的提取率是所述第一包的最大传送速率以下,该第一包具有将所述可变长度的包头进行了头扩张而成的所述固定长度的包头。

2.如权利要求1所述的发送装置,

所述接收装置所具有的接收缓冲器模型中的所述第一比特率,与将所述第一包的包头扩张后的传送率相应地被设定。

3.如权利要求1或2所述的发送装置,

所述编码流是通过以NAL尺寸格式将NAL单元存放至复用层而得到的流,该NAL尺寸格式是在开头附加了4字节的尺寸区域的格式。

4.一种接收装置,具备:

接收部,依次接收包含固定长度的包头以及可变长度的有效载荷的传送包;

第一缓冲器,将所述传送包中存放的、包含可变长度的包头以及可变长度的有效载荷的包,转换为具有通过头扩张而成的固定长度的包头的第一包,将所述第一包以固定的第一比特率输出;

第二缓冲器,将所述第一包转换为包含包头以及可变长度的有效载荷的第二包,将所述第二包以固定的第二比特率输出;

第三缓冲器,将所述第二包转换为NAL单元即网络适配层单元,将所述NAL单元以固定的第三比特率输出;

第四缓冲器,依次蓄积所述NAL单元,根据蓄积的多个所述NAL单元生成访问单元,将所述访问单元在与所述访问单元对应的解码时刻的定时输出;

以及解码器,对所述访问单元进行解码,

所述第一缓冲器的提取率是所述第一包的最大传送速率以下,该第一包具有将所述可变长度的包头进行了头扩张而成的所述固定长度的包头。

5.一种发送方法,

利用满足规定的码率控制生成编码流,该规定是为了保证接收装置的缓冲动作而预先决定的规定;

依次发送对所述编码流进行打包而成的传送包;

所述传送包包含固定长度的包头以及可变长度的有效载荷,所述预先决定的规定由以下的缓冲器决定:

第一缓冲器,将所述接收装置所依次接收的所述传送包中存放的、包含可变长度的包头以及可变长度的有效载荷的包,转换为具有通过头扩张而成的固定长度的包头的第一包,将所述第一包以固定的第一比特率输出;

第二缓冲器,将所述第一包转换为包含包头以及可变长度的有效载荷的第二包,将所述第二包以固定的第二比特率输出;

第三缓冲器,将所述第二包转换为NAL单元即网络适配层单元,将所述NAL单元以固定的第三比特率输出;以及第四缓冲器,依次蓄积所述NAL单元,根据蓄积的多个所述NAL单元生成访问单元,将所述访问单元在与所述访问单元对应的解码时刻的定时输出至接收装置的解码器,所述第一缓冲器的提取率是所述第一包的最大传送速率以下,该第一包具有将所述可变长度的包头进行了头扩张而成的所述固定长度的包头。

6.一种接收方法,

依次接收包含固定长度的包头以及可变长度的有效载荷的传送包;

将所述传送包中存放的、包含可变长度的包头以及可变长度的有效载荷的包,转换为具有通过头扩张而成的固定长度的包头的第一包,将所述第一包以固定的第一比特率输出,并且在该步骤中,提取率是所述第一包的最大传送速率以下,该第一包具有将所述可变长度的包头进行了头扩张而成的所述固定长度的包头;

将所述第一包转换为包含固定长度的包头以及可变长度的有效载荷的第二包,将所述第二包以固定的第二比特率输出;

将所述第二包转换为NAL单元即网络适配层单元,将所述NAL单元以固定的第三比特率输出;

依次蓄积所述NAL单元,根据蓄积的多个所述NAL单元生成访问单元,将所述访问单元在与所述访问单元对应的解码时刻的定时输出;

对所述访问单元进行解码。

说明书 :

发送装置、接收装置、发送方法以及接收方法

技术领域

[0001] 本申请涉及一种发送装置、接收装置、发送方法以及接收方法。

背景技术

[0002] 伴随广播以及通信服务的高度发展,研究导入8K(7680×4320像素:以下也称作“8K4K”)以及4K(3840×2160像素:以下也称作“4K2K”)等超高清的运动图像内容。接收装置需要实时解码所接收到的超高清的运动图像的编码数据并显示,尤其是,8K等的分辨率的运动图像解码时的处理负荷大,通过1个解码器实时解码这样的运动图像是困难的。因此,正在研究利用多个解码器来并行进行解码处理,由此减低每1个解码器的处理负荷并达成实时处理的方法。
[0003] 此外,编码数据在基于MPEG-2TS(Transport Stream:传送流)或MMT(MPEG Media Transport:运动图像专家组媒体传送)等复用方式进行复用之后被发送。例如,在非专利文献1中,公开了按照MMT按每个包发送编码的媒体数据的技术。
[0004] 在先技术文献
[0005] 非专利文献
[0006] 非专利文献1:Information technology-High efficiency coding and media delivery in heterogeneous environment-Part1:MPEG media transport(MMT)、ISO/IEC DIS 23008-1

发明内容

[0007] 本申请的一个方式所涉及的发送装置具备:生成部,进行码率控制以便满足为了保证接收装置的缓冲动作而预先决定的接收缓冲器模型的规定,由此生成编码流;以及发送部,对生成的所述编码流进行打包,发送通过打包而得到的传送包;所述传送包由固定长度的包头以及可变长度的有效载荷构成,所述接收缓冲器模型具备:第一缓冲器,接收所述传送包,将接收的所述传送包中存放的由可变长度的包头以及可变长度的有效载荷构成的包,转换为具有通过头扩张而成的固定长度的包头的第一包,将通过转换而得到的所述第一包以固定的比特率输出;第二缓冲器,将被输出的所述第一包转换为由包头以及可变长度的有效载荷构成的第二包,将通过转换而得到的所述第二包以固定的比特率输出;第三缓冲器,将被输出的所述第二包转换为NAL单元,将通过转换而得到的所述NAL单元以固定的比特率输出;以及第四缓冲器,依次蓄积被输出的所述NAL单元,根据蓄积的多个所述NAL单元生成访问单元,将生成的所述访问单元在与该访问单元对应的解码时刻的定时输出至解码器。
[0008] 另外,这些整体性或者具体性的方式可通过系统、装置、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质来实现,也可通过系统、装置、集成电路、计算机程序以及记录介质的任意组合来实现。

附图说明

[0009] 图1为表示将图片分割成切片段(slice segment)的例子的图。
[0010] 图2为表示保存有图片的数据的PES包列的一例的图。
[0011] 图3为表示实施方式1所涉及的图片的分割例的图。
[0012] 图4为表示实施方式1的比较例所涉及的图片的分割例的图。
[0013] 图5为表示实施方式1所涉及的访问单元的数据的一例的图。
[0014] 图6为实施方式1所涉及的发送装置的框图。
[0015] 图7为实施方式1所涉及的接收装置的框图。
[0016] 图8为表示实施方式1所涉及的MMT包的一例的图。
[0017] 图9为表示实施方式1所涉及的MMT包的另一例的图。
[0018] 图10为表示实施方式1所涉及的输入至各解码部的数据的一例的图。
[0019] 图11为表示实施方式1所涉及的MMT包以及头信息的一例的图。
[0020] 图12为表示实施方式1所涉及的输入至各解码部的数据的另一例的图。
[0021] 图13为表示实施方式1所涉及的图片的分割例的图。
[0022] 图14为实施方式1所涉及的发送方法的流程图。
[0023] 图15为实施方式1所涉及的接收装置的框图。
[0024] 图16为实施方式1所涉及的接收方法的流程图。
[0025] 图17为表示实施方式1所涉及的MMT包以及头信息的一例的图。
[0026] 图18为表示实施方式1所涉及的MMT包以及头信息的一例的图。
[0027] 图19为表示MPU的构成的图。
[0028] 图20为表示MF元数据的构成的图。
[0029] 图21为用于说明数据的发送顺序的图。
[0030] 图22为表示不利用头信息进行解码的方法的例子的图。
[0031] 图23为实施方式2所涉及的发送装置的框图。
[0032] 图24为实施方式2所涉及的发送方法的流程图。
[0033] 图25为实施方式2所涉及的接收装置的框图。
[0034] 图26为用于确定MPU开头位置以及NAL单元位置的动作的流程图。
[0035] 图27为基于发送顺序类型取得初始化信息,并基于初始化信息解码媒体数据的动作的流程图。
[0036] 图28为设定低延迟提示模式时的接收装置的动作的流程图。
[0037] 图29为表示发送辅助数据时的MMT包的发送顺序的一例的图。
[0038] 图30为用于说明发送装置基于moof的构成生成辅助数据的例子的图。
[0039] 图31为用于说明辅助数据的接收的图。
[0040] 图32为利用辅助数据的接收动作的流程图。
[0041] 图33为表示由多个电影分片构成的MPU的构成的图。
[0042] 图34为用于说明传送图33的构成的MPU时的MMT包的发送顺序的图。
[0043] 图35为用于说明由多个电影分片构成1个MPU时的接收装置的动作例的第1图。
[0044] 图36为用于说明由多个电影分片构成1个MPU时的接收装置的动作例的第2图。
[0045] 图37为通过图35以及图36说明了的接收方法的动作的流程图。
[0046] 图38为表示将非VCL NAL单元个别地作为data unit并进行聚合的情况的图。
[0047] 图39为表示将非VCL NAL单元汇总地作为data unit的情况的图。
[0048] 图40为发生丢包时的接收装置的动作的流程图。
[0049] 图41为将MPU分割为多个电影分片时的接收动作的流程图。
[0050] 图42为表示实现时间可适性时的各TemporalId下的图片的预测结构的例子的图。
[0051] 图43为表示图42的各图片的解码时刻(DTS)与显示时刻(PTS)的关系的图。
[0052] 图44为表示需要图片的延迟处理以及重新排序处理的图片的预测结构的一例的图。
[0053] 图45为表示将以MP4形式构成的MPU分割为多个电影分片并保存到MMTP有效载荷、MMTP包中的例子的图。
[0054] 图46为用于说明PTS以及DTS的算出方法与问题的图。
[0055] 图47为利用用于算出DTS的信息算出DTS时的接收动作的流程图。
[0056] 图48为用于说明MMT中的数据单元向有效载荷的存放方法的图。
[0057] 图49为实施方式3所涉及的发送装置的动作的流程图。
[0058] 图50为实施方式3所涉及的接收装置的动作的流程图。
[0059] 图51为表示实施方式3所涉及的发送装置的具体结构的例子的图。
[0060] 图52为表示实施方式3所涉及的接收装置的具体结构的例子的图。
[0061] 图53是表示non-timed媒体向MPU的存放方法、以及在MMTP包中的传送方法的图。
[0062] 图54是表示按通过将文件分割而得到的多个分割数据中的每个分割数据打包并传送的例子的图。
[0063] 图55是表示按通过将文件分割而得到的多个分割数据中的每个分割数据打包并传送的其他例子的图。
[0064] 图56是表示资源管理表中的每个文件的循环的语法的图。
[0065] 图57是接收装置中确定分割数据号的动作的流程图。
[0066] 图58是接收装置中确定分割数据数量的动作的流程图。
[0067] 图59是发送装置中用于决定是否运用分片计数器的动作的流程图。
[0068] 图60是用于说明确定分割数据数量、分割数据号的方法(利用分片计数器的情况)的图。
[0069] 图61是利用分片计数器的情况下的发送装置的动作的流程图。
[0070] 图62是利用分片计数器的情况下的接收装置的动作的流程图。
[0071] 图63是表示以多个IP数据流发送同一节目的情况下的服务构成的图。
[0072] 图64是表示发送装置的具体结构的例子的图。
[0073] 图65是表示接收装置的具体结构的例子的图。
[0074] 图66是发送装置的动作的流程图。
[0075] 图67是接收装置的动作的流程图。
[0076] 图68是表示基于ARIB STD B-60所规定的接收缓冲器模型,特别是仅使用广播传送路径的情况下的接收缓冲器模型的图。
[0077] 图69是表示将多个数据单元汇总地存放在一个有效载荷中的例子的图。
[0078] 图70是表示将多个数据单元汇总地存放在一个有效载荷中、且将NAL尺寸格式的影像信号作为一个数据单元的情况下的例子的图。
[0079] 图71是表示数据单元长度未被表示的MMTP包的有效载荷的构成的图。
[0080] 图72是表示对包单位赋予的extend区域的图。
[0081] 图73是表示接收装置的动作流程的图。
[0082] 图74是表示发送装置的具体结构的例子的图。
[0083] 图75是表示接收装置的具体结构的例子的图。
[0084] 图76是表示发送装置的动作流程的图。
[0085] 图77是表示接收装置的动作流程的图。

具体实施方式

[0086] 本申请的一个方式所涉及的发送装置具备:生成部,进行码率控制以便满足为了保证接收装置的缓冲动作而预先决定的接收缓冲器模型的规定,由此生成编码流;以及发送部,对生成的所述编码流进行打包,发送通过打包而得到的传送包;所述传送包由固定长度的包头以及可变长度的有效载荷构成,所述接收缓冲器模型具备:第一缓冲器,接收所述传送包,将接收的所述传送包中存放的由可变长度的包头以及可变长度的有效载荷构成的包,转换为具有通过头扩张而成的固定长度的包头的第一包,将通过转换而得到的所述第一包以固定的比特率输出;第二缓冲器,将被输出的所述第一包转换为由包头以及可变长度的有效载荷构成的第二包,将通过转换而得到的所述第二包以固定的比特率输出;第三缓冲器,将被输出的所述第二包转换为NAL单元,将通过转换而得到的所述NAL单元以固定的比特率输出;以及第四缓冲器,依次蓄积被输出的所述NAL单元,根据蓄积的多个所述NAL单元生成访问单元,将生成的所述访问单元在与该访问单元对应的解码时刻的定时输出至解码器。
[0087] 这种发送装置在使用像MMT那样的方式进行数据传送的情况下,能够保证接收装置的缓冲动作。
[0088] 另外,例如,所述接收缓冲器模型中的所述第一缓冲器在输出所述第一包时的比特率,也可以与将所述第一包的包头扩张后的传送率相应地设定。
[0089] 另外,例如,所述编码流也可以是通过以NAL尺寸格式将NAL单元存放至复用层而得到的流,该NAL尺寸格式是在开头附加了4字节的尺寸区域的格式。
[0090] 另外,本申请的一个方式所涉及的接收装置具备:接收部,接收由固定长度的包头以及可变长度的有效载荷构成的传送包;第一缓冲器,将接收的所述传送包中存放的由可变长度的包头以及可变长度的有效载荷构成的包,转换为具有通过头扩张而成的固定长度的包头的第一包,将通过转换而得到的所述第一包以固定的比特率输出;第二缓冲器,将被输出的所述第一包转换为由包头以及可变长度的有效载荷构成的第二包,将通过转换而得到的所述第二包以固定的比特率输出;第三缓冲器,将被输出的所述第二包转换为NAL单元,将通过转换而得到的所述NAL单元以固定的比特率输出;第四缓冲器,依次蓄积被输出的所述NAL单元,根据蓄积的多个所述NAL单元生成访问单元,将生成的所述访问单元在与该访问单元对应的解码时刻的定时输出;以及解码器,对由所述第四缓冲器输出的访问单元进行解码。
[0091] 这种接收装置能够无下溢、上溢地进行解码动作。
[0092] 本申请的一个方式所涉及的发送方法包括:生成步骤,进行码率控制以便满足为了保证接收装置的缓冲动作而预先决定的接收缓冲器模型的规定,由此生成编码流;以及发送步骤,对生成的所述编码流进行打包,发送通过打包而得到的传送包;所述传送包由固定长度的包头以及可变长度的有效载荷构成,所述接收缓冲器模型具备:第一缓冲器,接收所述传送包,将接收的所述传送包中存放的由可变长度的包头以及可变长度的有效载荷构成的包,转换为具有通过头扩张而成的固定长度的包头的第一包,将通过转换而得到的所述第一包以固定的比特率输出;第二缓冲器,将被输出的所述第一包转换为由包头以及可变长度的有效载荷构成的第二包,将通过转换而得到的所述第二包以固定的比特率输出;第三缓冲器,将被输出的所述第二包转换为NAL单元,将通过转换而得到的所述NAL单元以固定的比特率输出;以及第四缓冲器,依次蓄积被输出的所述NAL单元,根据蓄积的多个所述NAL单元生成访问单元,将生成的所述访问单元在与该访问单元对应的解码时刻的定时输出至解码器。
[0093] 本申请的一个方式所涉及的接收方法包括:接收步骤,接收由固定长度的包头以及可变长度的有效载荷构成的传送包;第一转换步骤,将接收的所述传送包中存放的由可变长度的包头以及可变长度的有效载荷构成的包,转换为具有通过头扩张而成的固定长度的包头的第一包,将通过转换而得到的所述第一包以固定的比特率输出;第二转换步骤,将被输出的所述第一包转换为由固定长度的包头以及可变长度的有效载荷构成的第二包,将通过转换而得到的所述第二包以固定的比特率输出;第三转换步骤,将被输出的所述第二包转换为NAL单元,将通过转换而得到的所述NAL单元以固定的比特率输出;生成步骤,依次蓄积被输出的所述NAL单元,根据蓄积的多个所述NAL单元生成访问单元,将生成的所述访问单元在与该访问单元对应的解码时刻的定时输出至解码器;以及解码步骤,对由所述第四缓冲器输出的访问单元进行解码。
[0094] 另外,这些整体性或者具体性的方式可以通过系统、装置、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质来实现,也可以通过系统、装置、集成电路、计算机程序或者记录介质的任意组合来实现。
[0095] 以下,参照附图具体说明实施方式。
[0096] 另外,以下说明的实施方式均表示总体或具体的例子。在以下的实施方式所示的数值、形状、材料、构成要素、构成要素的配置位置以及连接方式、步骤、步骤的顺序等仅为一例,并非意在对本申请进行限定。另外,在以下实施方式的构成要素中,关于表示最上位概念的独立权利要求中没有记载的构成要素,作为任意的构成要素进行说明。
[0097] (成为本申请的基础的知识)
[0098] 最近,电视机、智能移动电话或平板电脑终端等的显示器的高分辨率日益进步。尤其是,日本国内的广播预定在2020年进行8K4K(分辨率8K×4K)的服务。由于在8K4K等超高分辨率的运动图像下,难以通过单一的解码器实时进行解码,因此研究利用多个解码器并行地进行解码处理的方法。
[0099] 由于编码数据基于MPEG-2TS或MMT等复用方式进行复用并被发送,因此接收装置在解码之前需要从复用数据中分离运动图像的编码数据。以下,将从复用数据中分离编码数据的处理称作“逆复用”。
[0100] 在并行进行解码处理时,需要针对各解码器分别分配作为解码对象的编码数据。在分配编码数据时,需要解析编码数据本身,尤其是,在8K等的内容中,因为比特率非常高,所以解析所致的处理负荷重。因此,存在逆复用的部分成为瓶颈而无法进行实时再现的问题。
[0101] 可是,在由MPEG和ITU标准化而得的H.264以及H.265等的运动图像编码方式中,发送装置以将图片分割成称作“切片(slice)”或“切片段(slice segment)”的多个区域并能够对分割而得的各个区域独立解码的方式进行编码。因此,例如在H.265时,接收广播的接收装置通过从接收数据中分离每个切片段的数据,将各切片段的数据输出至各个解码器,能够实现解码处理的并行。
[0102] 图1为表示在HEVC中将1个图片分割为4个切片段的例子的图。例如,接收装置具备4个解码器,各解码器对4个切片段之中的任一个进行解码。
[0103] 在以往的广播中,发送装置将1张图片(MPEG系统标准中的访问单元)保存到1个PES包中,将PES包复用成TS包列。因此,接收装置需要在分离出PES包的有效载荷之后,解析在有效载荷中保存的访问单元的数据,由此分离各切片段,将分离而得的各切片段的数据输出至解码器。
[0104] 可是,本发明人发现,由于在解析访问单元的数据来分离切片段时的处理量大,因此存在难以实时进行该处理的问题。
[0105] 图2为表示分割成切片段的图片的数据被保存到PES包的有效载荷中的例子的图。
[0106] 如图2所示,例如,多个切片段(切片段1~4)的数据被保存到1个PES包的有效载荷中。此外,PES包被复用成TS包列。
[0107] (实施方式1)
[0108] 在以下,作为运动图像的编码方式利用H.265的情况为例加以说明,但在利用H.264等其他编码方式的情况中也能够适用本实施方式。
[0109] 图3为表示本实施方式中的按照分割单位分割访问单元(图片)的例子的图。访问单元通过由H.265导入的称作“瓦片(tile)”的功能,在水平以及垂直方向上分别2等分,总计分割成4个瓦片。此外,切片段与瓦片一一对应地创建关联。
[0110] 说明如此地在水平以及垂直方向上2等分的理由。首先,在解码时,一般而言,需要保存水平1线的数据的线存储器,但若成为8K4K等超高分辨率,则由于水平方向的尺寸变大,因此线存储器的尺寸会增加。在接收装置的安装中,优选的是能够减小线存储器的尺寸。为了减小线存储器的尺寸而需要进行垂直方向的分割。在垂直方向的分割中需要瓦片这样的数据结构。由于这些理由而利用瓦片。
[0111] 另一方面,图像一般而言水平方向的相关高,因此如果能够参照在水平方向上大的范围则编码效率进一步提高。因此,从编码效率的观点出发,优选的是沿水平方向分割访问单元。
[0112] 通过将访问单元在水平以及垂直方向上2等分,来兼顾这2个特性,能够顾及安装方面以及编码效率这两方面。在单一的解码器能够对4K2K的运动图像进行实时的解码时,通过以将8K4K的图像4等分而各个切片段变为4K2K的方式进行分割,接收装置能够实时解码8K4K的图像。
[0113] 接着,说明将在水平以及垂直方向上分割访问单元而得到的瓦片与切片段一一对应地创建关联的理由。在H.265中,访问单元由多个称作“NAL(Network Adaptation Layer:网络适配层)单元”的单位构成。
[0114] NAL单元的有效载荷保存表示访问单元的开始位置的访问单元定界符、作为在序列单位下共通使用的解码时的初始化信息的SPS(Sequence Parameter Set:序列参数集)、作为在图片内共通使用的解码时的初始化信息的PPS(Picture Parameter Set:图片参数集)、解码处理本身不需要但在解码结果的处理以及显示等中需要的SEI(Supplemental Enhancement Information:辅助增强信息)、以及切片段的编码数据等中的任一个。NAL单元的头包含用于识别在有效载荷中保存的数据的类型信息。
[0115] 在此,发送装置在通过MPEG-2TS、MMT(MPEG Media Transport:运动图像专家组媒体传送)、MPEG DASH(Dynamic Adaptive Streaming over HTTP:HTTP上的动态自适应成流)、或RTP(Real-time Transport Protocol:实时传送协议)等复用格式对编码数据进行复用时,能够将基本单位设定为NAL单元。为了将1个切片段保存到1个NAL单元中,优选的是,在将访问单元分割为区域时,按照切片段单位进行分割。根据这样的理由,发送装置将瓦片与切片段一一对应地创建关联。
[0116] 另外,如图4所示,发送装置也能够将瓦片1至瓦片4汇总地设定为1个切片段。但是,在该情况下,由于在1个NAL单元中保存全部瓦片,因此接收装置难以从复用层中分离瓦片。
[0117] 另外,在切片段中存在可独立解码的独立切片段以及参照独立切片段的参照切片段,但在此说明利用独立切片段的情况。
[0118] 图5为表示如图3所示以瓦片与切片段的边界一致的方式分割的访问单元的数据的例子的图。访问单元的数据包括配置在开头的保存有访问单元定界符的NAL单元、配置在其后的SPS、PPS以及SEI的NAL单元、以及配置在其后的保存有瓦片1至瓦片4的数据的切片段的数据。另外,访问单元的数据也可以不含有SPS、PPS以及SEI的NAL单元的一部分或全部。
[0119] 接着,说明本实施方式所涉及的发送装置100的构成。图6为表示本实施方式所涉及的发送装置100的构成例的框图。该发送装置100具备编码部101、复用部102、调制部103以及发送部104。
[0120] 编码部101通过对输入图像例如按照H.265进行编码来生成编码数据。此外,例如,如图3所示,编码部101将访问单元分割成4个切片段(瓦片),对各切片段进行编码。
[0121] 复用部102对由编码部101生成的编码数据进行复用。调制部103对通过复用而得的数据进行调制。发送部104将调制后的数据作为广播信号来发送。
[0122] 接着,说明本实施方式所涉及的接收装置200的构成。图7为表示本实施方式所涉及的接收装置200的构成例的框图。该接收装置200具备调谐器201、解调部202、逆复用部203、多个解码部204A~204D、以及显示部205。
[0123] 调谐器201接收广播信号。解调部202对所接收到的广播信号进行解调。解调后的数据输入至逆复用部203。
[0124] 逆复用部203将解调后的数据按照分割单位分离,将每个分割单位的数据输出至解码部204A~204D。在此,分割单位意指通过分割访问单元而得的分割区域,例如为H.265中的切片段。此外,在此,8K4K的图像分割为4个4K2K的图像。因此,存在4个解码部204A~204D。
[0125] 多个解码部204A~204D基于规定的基准时钟相互同步地进行动作。各解码部按照访问单元的DTS(Decoding Time Stamp:解码时间戳)对分割单位的编码数据进行解码,将解码结果输出至显示部205。
[0126] 显示部205通过合并从多个解码部204A~204D输出的多个解码结果从而生成8K4K的输出图像。显示部205按照另行取得的访问单元的PTS(Presentation Time Stamp:显示时间戳)显示所生成的输出图像。另外,显示部205在合并解码结果时,也可以在瓦片的边界等、相互相邻的分割单位的边界区域进行解块滤波等滤波处理,以使该边界在视觉上不醒目。
[0127] 另外,在上述中,以进行广播的发送或接收的发送装置100以及接收装置200为例进行说明,但内容也可以经由通信网络进行发送以及接收。若接收装置200经由通信网络接收内容,则接收装置200从经以太网等网络接收到的IP包中分离复用数据。
[0128] 在广播中,从发送广播信号至到达接收装置200为止的期间的传送路径延迟固定。另一方面,在互联网等通信网络中,因拥堵的影响,从服务器发送的数据直到到达接收装置
200为止的传送路径延迟不固定。因此,接收装置200大多不进行如广播的MPEG-2TS中的基于PCR那样的基准时钟的严密的同步再现。因此,接收装置200也可以不使各解码部严密地同步,而按照PTS在显示部上显示8K4K的输出图像。
[0129] 此外,有时因通信网络的拥堵等,全部分割单位的解码处理在由访问单元的PTS所示的时刻未完成。在该情况下,接收装置200跳过访问单元的显示,或者,使显示延迟直到至少4个分割单位的解码结束且8K4K的图像的生成完成为止。
[0130] 另外,也可以并用广播与通信来发送以及接收内容。此外,在再现保存在硬盘或存储器等记录介质中的复用数据时,也能够适用本方法。
[0131] 接着,说明利用MMT作为复用方式时的分割成切片段的访问单元的复用方法。
[0132] 图8为表示在将HEVC的访问单元的数据打包成MMT时的例子的图。SPS、PPS以及SEI等并非一定要包含到访问单元中,但在此例示出其存在的情况。
[0133] 访问单元定界符、SPS、PPS以及SEI等在访问单元内配置在开头的切片段之前的NAL单元汇总到一起保存到MMT包#1中。后续的切片段按每个切片段地保存到不同的MMT包中。
[0134] 另外,如图9所示,在访问单元内配置在开头的切片段之前的NAL单元也可以与开头的切片段保存在同一MMT包中。
[0135] 此外,若表示序列或流的末端的End-of-Sequence或End-of-Bitstream等的NAL单元被附加在最后切片段之后,则将这些与最后切片段保存在同一MMT包中。但是,有时由于End-of-Sequence或End-of-Bitstream等的NAL单元插入到解码处理的结束点、或2条流的连接点等中,因此优选的是,接收装置200能够从复用层中容易地取得这些NAL单元。该情况下,这些NAL单元也可以保存到与切片段不同的MMT包中。据此,接收装置200能够从复用层中容易地分离出这些NAL单元。
[0136] 另外,也可以利用TS、DASH或RTP等作为复用方式。在这些方式中,发送装置100也将不同的切片段分别保存到不同的包中。据此,能够保证接收装置200能够从复用层中分离出切片段。
[0137] 例如,在采用TS时,按照切片段单位对编码数据进行PES打包。在采用RTP时,按照切片段单位对编码数据进行RTP打包。在这些情况下,也可以如图8所示的MMT包#1那样地,对配置在切片段之前的NAL单元与切片段分别进行打包。
[0138] 在采用TS时,发送装置100通过利用data alignment(数据对齐)描述符等,表示保存在PES包中的数据的单位。此外,由于DASH为通过HTTP等下载称作“段(segment)”的MP4形式的数据单位的方式,因此发送装置100在发送时不进行编码数据的打包。因此,发送装置100也可以按照切片段单位制作子样本,将表示子样本的保存位置的信息保存到MP4的头中,以便接收装置200能够在MP4下在复用层中检测切片段。
[0139] 以下,详细说明切片段的MMT打包。
[0140] 如图8所示,通过打包编码数据,SPS以及PPS等的访问单元内的所有切片段的解码时共通地参照的数据保存在MMT包#1中。该情况下,接收装置200连结MMT包#1的有效载荷数据与各切片段的数据,并将得到的数据输出至解码部。如此地,接收装置200通过连结多个MMT包的有效载荷,能够容易地生成向解码部的输入数据。
[0141] 图10为表示根据图8所示的MMT包生成向解码部204A~204D的输入数据的例子的图。逆复用部203通过使MMT包#1与MMT包#2的有效载荷数据连结,生成解码部204A解码切片段1所需的数据。逆复用部203针对解码部204B~解码部204D同样地生成输入数据。即、逆复用部203通过使MMT包#1与MMT包#3的有效载荷数据连结,生成解码部204B的输入数据。逆复用部203通过使MMT包#1与MMT包#4的有效载荷数据连结,生成解码部204C的输入数据。逆复用部203通过使MMT包#1与MMT包#5的有效载荷数据连结,生成解码部204D的输入数据。
[0142] 另外,逆复用部203也可以从MMT包#1的有效载荷数据中除去访问单元定界符以及SEI等非解码处理所需的NAL单元,而只分离出解码处理所需的SPS以及PPS的NAL单元并附加到切片段的数据。
[0143] 在如图9所示对编码数据进行打包的情况下,逆复用部203将在复用层中含有访问单元的开头数据的MMT包#1输出至第1个解码部204A。此外,逆复用部203解析在复用层中含有访问单元的开头数据的MMT包,分离SPS以及PPS的NAL单元,将分离出的SPS以及PPS的NAL单元附加到第2个以后的切片段的各个数据,据此生成针对第2个以后的各个解码部的输入数据。
[0144] 再有,优选的是,接收装置200利用MMT包的头所包含的信息,能够识别MMT有效载荷所保存的数据的类型、以及在有效载荷中保存有切片段时该切片段在访问单元内的索引号。在此,数据的类型意指切片段前数据(将在访问单元内配置在开头切片段之前的NAL单元总称为此)以及切片段的数据中的任一个。在MMT包中保存对切片段等的MPU分片而成的单位的情况下,采用用于保存MFU(Media Fragment Unit:媒体分片单元)的模式。发送装置100在采用本模式时,例如,能够将MFU中的数据的基本单位即data unit(数据单元)设定为样本(为MMT中的数据单位,与访问单元相当)、或子样本(分割样本而成的单位)。
[0145] 此时,MMT包的头含有称作“Fragmentation indicator(分片标识符)”的字段以及称作“Fragment counter(分片计数器)”的字段。
[0146] Fragmentation indicator表示保存在MMT包的有效载荷中的数据是否是对data unit进行分片而得的数据,在是进行分片而得的数据时,表示该分片是data unit中的开头或最后的分片、或者既不是开头也不是最后的分片。换言之,某一包的头所包含的Fragmentation indicator是表示(1)在作为基本数据单位的data unit中只包含有该包;(2)data unit分割成多个包进行保存,并且该包为data unit的开头的包;(3)data unit分割成多个包进行保存,并且该包为data unit的开头及最后以外的包;以及(4)data unit分割成多个包进行保存,并且该包为data unit的最后的包这4项中任一项的识别信息。
[0147] Fragment counter为表示MMT包所保存的数据在data unit中与第几个分片相当的索引号。
[0148] 因此,通过发送装置100将MMT下的样本设定为data unit,将切片段前数据以及各切片段分别设定为data unit的分片单位,接收装置200能够利用MMT包的头所包含的信息识别在有效载荷中保存的数据的类型。即、逆复用部203能够参照MMT包的头,生成向各解码部204A~204D的输入数据。
[0149] 图11为表示样本被设定成data unit、且切片段前数据以及切片段被作为data unit的分片打包时的例子的图。
[0150] 将切片段前数据以及切片段分割成分片#1至分片#5的5个分片。各分片保存到个别的MMT包中。此时,MMT包的头所包含的Fragmentation indicator以及Fragment counter的值如图示。
[0151] 例如,Fragment indicator(分片标识符)为二进制的2比特值。data unit的开头即MMT包#1的Fragment indicator、最后即MMT包#5的Fragment indicator、以及其间的包即MMT包#2至MMT包#4的Fragment indicator分别设定为不同的值。具体而言,data unit的开头即MMT包#1的Fragment indicator设定为01,最后即MMT包#5的Fragment indicator设定为11,其间的包即MMT包#2至MMT包#4的Fragment indicator设定为10。另外,在data unit中只包含有1个MMT包时,Fragment indicator设定为00。
[0152] 此外,Fragment counter在MMT包#1中是从分片的总数即5减去1而得的值即4,在后续包中,顺次逐一减少,在最后即MMT包#5中为0。
[0153] 因此,接收装置200能够利用Fragment indicator以及Fragment counter中的任一个识别保存切片段前数据的MMT包。此外,接收装置200通过参照Fragment counter,能够识别保存第N个切片段的MMT包。
[0154] MMT包的头另行含有data unit所属的Movie Fragment(电影分片)在MPU内的序列号、MPU自身的序列号、data unit所属的样本在Movie Fragment内的序列号。逆复用部203通过参照这些,能够唯一地决定data unit所属的样本。
[0155] 再有,由于逆复用部203能够根据Fragment counter等决定data unit内的分片的索引号,因此在发生丢包时,也能够唯一地确定在分片中保存的切片段。例如,逆复用部203在因丢包而无法取得图11所示的分片#4时,也由于知晓分片#3的紧后所接收的分片是分片#5,因此能够将在分片#5中保存的切片段4正确地输出至解码部204D而非解码部204C。
[0156] 另外,在使用保证不发生丢包的传送路径时,逆复用部203不参照MMT包的头决定在MMT包中保存的数据的类型、或切片段的索引号,而周期性地处理到达的包即可。例如,在将访问单元通过切片前数据以及4个切片段共计5个MMT包发送时,接收装置200通过在决定开始解码的访问单元的切片前数据之后,顺次处理所接收到的MMT包,能够顺次取得切片前数据以及4个切片段的数据。
[0157] 以下,说明打包的变形例。
[0158] 切片段未必需要在访问单元的面内沿水平方向与垂直方向这两方向分割,如图1所示,既可以将访问单元只沿水平方向分割,也可以只沿垂直方向分割。
[0159] 此外,在只沿水平方向分割访问单元时,无需采用瓦片。
[0160] 此外,访问单元的面内的分割数是任意的,不限于4个。但是,切片段以及瓦片的区域尺寸需要为H.265等编码标准的下限以上。
[0161] 发送装置100也可以将表示访问单元的面内的分割方法的识别信息保存到MMT消息、或TS的描述符等中。例如,也可以保存有分别表示面内的水平方向与垂直方向的分割数的信息。或者,也可以针对如图3所示那样地分别沿水平方向以及垂直方向2等分,或如图1所示那样地沿水平方向4等分等分割方法分配固有的识别信息。例如,在如图3所示那样地分割访问单元时,识别信息表示模式1,在如图1所示那样地分割访问单元时,识别信息表示模式1。
[0162] 此外,表示与面内的分割方法关联的编码条件的制约的信息也可以被包含在复用层中。例如,也可以利用表示1个切片段由1个瓦片构成的信息。或者,也可以利用表示切片段或瓦片的解码时进行运动补偿的情况下的参照块被限制为画面内的同一位置的切片段或瓦片、或者被限制为相邻的切片段中的规定范围内的块等的信息。
[0163] 此外,发送装置100也可以根据运动图像的分辨率,切换是否将访问单元分割成多个切片段。例如,发送装置100也可以在处理对象的运动图像为8K4K时将访问单元分割成4个,而在处理对象的运动图像为4K2K的分辨率时不进行面内的分割。通过事先规定在8K4K的运动图像的情况下的分割方法,接收装置200通过取得所接收的运动图像的分辨率,能够决定有无面内的分割以及分割方法,切换解码动作。
[0164] 此外,接收装置200能够通过参照MMT包的头来检测有无面内的分割。例如,在未分割访问单元时,若将MMT的data unit设定为样本,则不进行data unit的分片。因此,接收装置200在MMT包的头所包含的Fragment counter的值总是为零时,能够判定为未分割访问单元。或者,接收装置200也可以检测Fragmentation indicator的值是否总是01。接收装置200在Fragmentation indicator的值总是01时,也能够判定为未分割访问单元。
[0165] 此外,接收装置200也能够应对访问单元的面内的分割数与解码部数量不一致的情况。例如,在接收装置200具备能够实时解码8K2K的编码数据的2个解码部204A以及204B时,逆复用部203针对解码部204A,输出构成8K4K的编码数据的4个切片段之中的2个。
[0166] 图12为表示如图8所示那样地进行MMT打包后的数据输入至2个解码部204A以及204B时的动作例的图。在此,优选的是,接收装置200能够将解码部204A以及204B的解码结果直接合并并输出。因此,逆复用部203以解码部204A以及204B各自的解码结果在空间上连续的方式,选择输出至解码部204A以及204B的每一个解码部的切片段。
[0167] 此外,逆复用部203也可以根据运动图像的编码数据的分辨率或帧速率等,选择所使用的解码部。例如,在接收装置200具备4个4K2K的解码部时,若输入图像的分辨率为8K4K,则接收装置200利用全部4个解码部进行解码处理。此外,只要输入图像的分辨率是
4K2K,则接收装置200只利用1个解码部进行解码处理。或者,即使面内被分割成4个,在能够通过单一的解码部实时解码8K4K时,逆复用部203也合并全部分割单位并输出至1个解码部。
[0168] 再有,接收装置200也可以考虑帧速率来决定所使用的解码部。例如,存在如下情况:在接收装置200具备2台在分辨率为8K4K时能够实时解码的帧速率的上限为60fps的解码部的情况下,在8K4K下输入120fps的编码数据。此时,若设面内由4个分割单位构成,则与图12的例子同样地,切片段1与切片段2输入至解码部204A,切片段3与切片段4输入至解码部204B。由于各个解码部204A以及204B只要是8K2K(分辨率为8K4K的一半)就能够连120fps也实时解码,因此能通过这2台解码部204A以及204B进行解码处理。
[0169] 此外,即使分辨率以及帧速率相同,若编码方式中的档次(profile)、或者级别(level)、或者H.264或H.265等编码方式本身不同则处理量不同。因此,接收装置200也可以基于这些信息选择所使用的解码部。另外,接收装置200在无法对经广播或通信接收到的全部编码数据进行解码时,或在构成用户所选择的区域的全部切片段或瓦片无法解码时,也可以自动决定在解码部的处理范围内可解码的切片段或瓦片。或者,接收装置200也可以提供用于用户选择解码的区域的用户界面。此时,接收装置200既可以显示表示无法对全部区域进行解码的警告消息,也可以显示表示可解码的区域、切片段或瓦片的个数的信息。
[0170] 此外,上述方法也能够适用于利用广播以及通信等多个传送路径发送以及接收保存同一编码数据的切片段的MMT包的情况。
[0171] 此外,发送装置100为了使分割单位的边界不醒目,也可以以各切片段的区域重叠的方式进行编码。在图13所示的例子中,8K4K的图片分割成4个切片段1~4。切片段1~3分别例如为8K×1.1K,切片段4为8K×1K。此外,相邻的切片段相互重叠。通过如此,能够在以虚线所示的4分割时的边界上,有效地执行编码时的运动补偿,因此边界部分的画质得以提高。如此地,降低边界部分的画质恶化。
[0172] 该情况下,显示部205从8K×1.1K的区域之中切出8K×1K的区域,并合并所得到的区域。另外,发送装置100也可以将表示切片段是否被重叠地进行编码以及重叠的范围的信息包含在复用层或编码数据内另行发送。
[0173] 另外,在使用瓦片时,也能够适用同样的方法。
[0174] 以下,说明发送装置100的动作的流程。图14为表示发送装置100的动作例的流程图。
[0175] 首先,编码部101将图片(访问单元)分割成多个区域即多个切片段(瓦片)(S101)。接着,编码部101以能够对多个切片段中的每一个切片段独立解码的方式进行编码,由此生成与多个切片段中的每一个切片段对应的编码数据(S102)。另外,编码部101既可以通过单一编码部对多个切片段进行编码,也可以通过多个编码部进行并行处理。
[0176] 接着,复用部102将由编码部101生成的多个编码数据保存到多个MMT包中,由此对多个编码数据进行复用(S103)。具体而言,如图8以及图9所示,复用部102以在1个MMT包中不保存与不同的切片段对应的编码数据的方式,将多个编码数据保存到多个MMT包中。此外,如图8所示,复用部102将针对图片内的全部解码单位共通使用的控制信息保存到与保存有多个编码数据的多个MMT包#2~#5不同的MMT包#1中。在此,控制信息包括访问单元定界符、SPS、PPS以及SEI中的至少一个。
[0177] 另外,复用部102也可以将控制信息保存到与保存有多个编码数据的多个MMT包中的任一个相同的MMT包内。例如,如图9所示,复用部102也可以将控制信息保存到保存有多个编码数据的多个MMT包中的开头的MMT包(图9的MMT包#1)内。
[0178] 最后,发送装置100发送多个MMT包。具体而言,调制部103对经复用而得的数据进行调制,发送部104发送调制后的数据(S104)。
[0179] 图15为表示接收装置200的构成例的框图,为详细表示图7所示的逆复用部203以及其后级的构成的图。如图15所示,接收装置200还具备解码命令部206。此外,逆复用部203具备类型判别部211、控制信息取得部212、切片信息取得部213以及解码数据生成部214。
[0180] 以下,说明接收装置200的动作的流程。图16为表示接收装置200的动作例的流程图。在此,表示针对1个访问单元的动作。在执行多个访问单元的解码处理时,反复进行本流程图的处理。
[0181] 首先,接收装置200例如接收由发送装置100生成的多个包(MMT包)(S201)。
[0182] 接着,类型判别部211通过解析接收包的头,取得在接收包中保存的编码数据的类型(S202)。
[0183] 接着,类型判别部211基于所取得的编码数据的类型,判定在接收包中保存的数据是切片段前数据,还是切片段的数据(S203)。
[0184] 若在接收包中保存的数据是切片段前数据(S203的“是”),则控制信息取得部212从接收包的有效载荷中取得处理对象的访问单元的切片段前数据,将该切片段前数据保存到存储器中(S204)。
[0185] 另一方面,若在接收包中保存的数据是切片段的数据(S203的“否”),则接收装置200利用接收包的头信息,判定在该接收包中保存的数据是否是多个区域中的某一个区域的编码数据。具体而言,切片信息取得部213通过解析接收包的头,取得在接收包中保存的切片段的索引号Idx(S205)。具体而言,索引号Idx为访问单元(MMT中的样本)的Movie Fragment(电影分片)内的索引号。
[0186] 另外,该步骤S205的处理也可以在步骤S202中一并进行。
[0187] 接着,解码数据生成部214决定对该切片段进行解码的解码部(S206)。具体而言,索引号Idx与多个解码部事先创建关联,解码数据生成部214决定与在步骤S205中取得的索引号Idx对应的解码部作为对该切片段进行解码的解码部。
[0188] 另外,解码数据生成部214也可以如在图12的例子中说明地,基于访问单元(图片)的分辨率、访问单元向多个切片段(瓦片)的分割方法、以及接收装置200所具备的多个解码部的处理能力中的至少一项,决定对该切片段进行解码的解码部。例如,解码数据生成部214基于MMT的消息、或TS的节(section)等的描述符中的识别信息,判别访问单元的分割方法。
[0189] 接着,解码数据生成部214使多个包中的任一个包所包含的、针对图片内的全部解码单位共通使用的控制信息与多个切片段的多个编码数据中的各个编码数据结合,由此生成向多个解码部输入的多个输入数据(结合数据)。具体而言,解码数据生成部214从接收包的有效载荷中取得切片段的数据。解码数据生成部214通过使经步骤S204保存到存储器中的切片段前数据、与所取得的切片段的数据结合,生成向经步骤S206决定的解码部的输入数据(S207)。
[0190] 在步骤S204或S207之后,在接收包的数据并非访问单元的最终数据时(S208的“否”),再次进行步骤S201以后的处理。即、反复进行上述处理,直到生成与访问单元所包含的全部切片段对应的向多个解码部204A~204D的输入数据为止。
[0191] 另外,包被接收的定时不限于图16所示的定时,也可以事先或顺次接收多个包,并保存到存储器等中。
[0192] 另一方面,若接收包的数据为访问单元的最终数据(S208的“是”),则解码命令部206将经步骤S207生成的多个输入数据向所对应的解码部204A~204D输出(S209)。
[0193] 接着,多个解码部204A~204D按照访问单元的DTS,对多个输入数据并行地进行解码,由此生成多个解码图像(S210)。
[0194] 最后,显示部205通过使经多个解码部204A~204D生成的多个解码图像结合来生成显示图像,按照访问单元的PTS显示该显示图像(S211)。
[0195] 另外,接收装置200通过解析保存MPU的头信息或Movie Fragment的头信息的MMT包的有效载荷数据,取得访问单元的DTS以及PTS。此外,接收装置200在使用TS作为复用方式时,从PES包的头中取得访问单元的DTS以及PTS。接收装置200在使用RTP作为复用方式时,从RTP包的头中取得访问单元的DTS以及PTS。
[0196] 此外,显示部205在合并多个解码部的解码结果时,也可以在相邻的分割单位的边界上进行解块滤波等滤波处理。另外,由于在显示单一解码部的解码结果时不需要进行滤波处理,因此显示部205也可以根据是否对多个解码部的解码结果的边界进行滤波处理来切换处理。是否需要进行滤波处理也可以根据有无分割等事先规定。或者,也可以将表示是否需要进行滤波处理的信息另行保存到复用层中。此外,滤波系数等滤波处理所需的信息有时保存在SPS、PPS、SEI或切片段内。解码部204A~204D、或逆复用部203通过解析SEI来取得这些信息,将所取得的信息输出至显示部205。显示部205利用这些信息进行滤波处理。另外,在这些信息保存在切片段内时,优选解码部204A~204D取得这些信息。
[0197] 另外,在上述说明中,示出了保存到分片中的数据的种类为切片段前数据与切片段这2种的情况的例子,但数据的种类也可以为3种以上。该情况下,在步骤S203中进行与类型相应的区分。
[0198] 此外,发送装置100在切片段的数据尺寸大时,也可以对切片段进行分片并保存到MMT包中。即、发送装置100也可以对切片段前数据以及切片段进行分片。该情况下,若如图11所示的打包的例子那样地设定为访问单元与data unit相等,则会产生以下的问题。
[0199] 例如在切片段1被分割成3个分片时,通过将切片段1分割成Fragment counter值1至3这3个包来进行发送。此外,在切片段2以后,Fragment counter值变为4以上,无法取得Fragment counter的值与在有效载荷保存的数据的关联。因此,接收装置200无法根据MMT包的头的信息,确定保存切片段的开头数据的包。
[0200] 该情况下,接收装置200也可以解析MMT包的有效载荷的数据,并确定切片段的开始位置。在此,在H.264或H.265中作为将NAL单元保存到复用层中的形式,有在NAL单元头的紧前附加由特定的比特串构成的起始码的称作“字节流格式”的形式、以及附加表示NAL单元的尺寸的字段的称作“NAL尺寸格式”的形式这2种。
[0201] 字节流格式在MPEG-2系统以及RTP等中被利用。NAL尺寸格式在MP4、以及使用MP4的DASH以及MMT等中被利用。
[0202] 在利用字节流格式时,接收装置200解析包的开头数据是否与起始码一致。只要包的开头数据与起始码一致,则接收装置200通过从紧随其后的NAL单元头中取得NAL单元的类型,能够检测该包所包含的数据是否为切片段的数据。
[0203] 另一方面,在NAL尺寸格式时,接收装置200不能基于比特串检测NAL单元的开始位置。因此,接收装置200为了取得NAL单元的开始位置,需要通过从访问单元的开头NAL单元起顺次读出相对于NAL单元的尺寸量的数据来使指针移位。
[0204] 其中,若在MMT的MPU或Movie Fragment的头中,表示有子样本单位的尺寸,且子样本与切片前数据或切片段对应,则接收装置200能够基于子样本的尺寸信息确定各NAL单元的开始位置。因此,发送装置100也可以将表示子样本单位的信息是否存在于MPU或Movie Fragment中的信息,包含到MMT中的MPT等、接收装置200在开始接收数据时取得的信息内。
[0205] 另外,MPU的数据为以MP4格式为基础扩展而得的数据。在MP4中,有能够将H.264或H.265的SPS以及PPS等的参数集作为样本数据进行保存的模式以及不能保存的模式。此外,用于确定该模式的信息作为SampleEntry(样本入口)的入口名来表示。在利用能够保存的模式,且参数集被包含在样本中时,接收装置200通过上述的方法取得参数集。
[0206] 另一方面,在利用不能保存的模式时,参数集作为SampleEntry内的Decoder Specific Information(解码器特性信息)进行保存、或者利用参数集用的流来进行保存。在此,一般不使用参数集用的流,所以优选的是,发送装置100在Decoder Specific Information中保存参数集。该情况下,接收装置200解析在MMT包中作为MPU的元数据、或者Movie Fragment的元数据发送的SampleEntry,取得访问单元所参照的参数集。
[0207] 在参数集作为样本数据进行保存时,接收装置200能够只参照样本数据取得解码所需的参数集,而不参考SampleEntry。此时,发送装置100也可以不将参数集保存到SampleEntry中。通过如此,发送装置100能够在不同的MPU中利用同一SampleEntry,因此能够降低MPU生成时的发送装置100的处理负荷。再有,存在接收装置200无需参照SampleEntry内的参数集的优点。
[0208] 或者,发送装置100也可以将1个默认的参数集保存到SampleEntry中,将访问单元所参照的参数集保存到样本数据中。在以往的MP4中,一般在SampleEntry中保存参数集,因此在SampleEntry中不存在参数集时有的接收装置有可能停止再现。通过利用上述的方法,能够解决该问题。
[0209] 或者,发送装置100也可以只在使用不同于默认的参数集的参数集时,将参数集保存到样本数据中。
[0210] 另外,由于两种模式皆能将参数集保存到SampleEntry中,因此发送装置100也可以总是将参数集保存到VisualSampleEntry(视觉样本入口)中,接收装置200总是从VisualSampleEntry中取得参数集。
[0211] 另外,在MMT标准中,Moov以及Moof等MP4的头信息作为MPU元数据、或电影分片元数据来传送,但发送装置100也可以不一定发送MPU元数据以及电影分片元数据。再有,接收装置200也能够基于ARIB(Association of Radio Industries and Businesses:无线电工商业协会)标准的服务、资源的类型、或有无MPU元的传送等,判定是否在样本数据内保存有SPS以及PPS。
[0212] 图17为表示切片段前数据以及各切片段分别设定为不同的data unit时的例子的图。
[0213] 在图17所示的例子中,切片段前数据、以及切片段1至切片段4的数据尺寸分别为Length(长度)#1至Length#5。MMT包的头所包含的Fragmentation indicator、Fragment counter以及Offset(偏移)的各字段值如图中所示。
[0214] 在此,Offset为表示从有效载荷数据所属的样本(访问单元或图片)的编码数据的开头起,到该MMT包所包含的有效载荷数据(编码数据)的开头字节的比特长(偏移)的偏移信息。另外,Fragment counter的值作为从分片的总数减去1而得的值开始来说明,但也可以从其他值开始。
[0215] 图18为表示对data unit进行分片时的例子的图。在图18所示的例子中,切片段1分割成3个分片,分别保存到MMT包#2至MMT包#4中。此时,将各分片的数据尺寸分别设为Length#2_1至Length#2_3,各字段的值如图中所示。
[0216] 如此地,在切片段等的数据单位设定成data unit时,访问单元的开头以及切片段的开头能够基于MMT包头的字段值如以下那样地决定。
[0217] Offset的值为0的包中的有效载荷的开头为访问单元的开头。
[0218] Offset的值为不同于0的值,且Fragmentation indcatorno值为00或01的包的有效载荷的开头为切片段的开头。
[0219] 此外,在不发生data unit的分片,也不发生丢包时,接收装置200能够基于在检测到访问单元的开头之后所取得的切片段的个数,确定在MMT包中保存的切片段的索引号。
[0220] 此外,在对切片段前数据的data unit进行分片的情况下,也同样地,接收装置200能够检测访问单元以及切片段的开头。
[0221] 此外,在发生丢包时,或者在切片段前数据所包含的SPS、PPS以及SEI设定成不同的data unit时,接收装置200通过基于MMT头的解析结果确定保存切片段的开头数据的MMT包,随后解析切片段的头,也能够确定图片(访问单元)内的切片段或瓦片的开始位置。切片头的解析所涉及的处理量小,处理负荷不会成为问题。
[0222] 如此地,多个切片段的多个编码数据中的各个编码数据与在1个以上的包中保存的数据的单位即基本数据单位(data unit)一对一地创建关联。此外,多个编码数据中的各个编码数据被保存到1个以上的MMT包中。
[0223] 各MMT包的头信息包括Fragmentation indicator(识别信息)以及Offset(偏移信息)。
[0224] 接收装置200将下述包所包含的有效载荷数据的开头判定为各切片段的编码数据的开头,该包具有包含有值为00或01的Fragmentation indicator的头信息。具体而言,接收装置200将下述包所包含的有效载荷数据的开头判定为各切片段的编码数据的开头,该包具有包含有值不为0的Offset、值为00或01的Fragmentation indicator的头信息。
[0225] 此外,在图17的例中,data unit的开头为访问单元的开头或者切片段的开头的任一个,Fragmentation indicator的值为00或01。再有,接收装置200通过参照NAL单元的类型,判定data unit的开头为访问单元定界符或者切片段中的哪一个,也能够不参考Offset地检测访问单元的开头或者切片段的开头。
[0226] 如此地,发送装置100通过以NAL单元的开头必须从MMT包的有效载荷的开头开始的方式进行打包,从而将切片段前数据分割成多个data unit的情况也包含在内的情况下,接收装置200通过解析Fragmentation indicator以及NAL单元头,能够检测访问单元或者切片段的开头。NAL单元的类型存在于NAL单元头的开头字节。因此,接收装置200通过在解析MMT包的头部时,追加地解析1字节量的数据,能够取得NAL单元的类型。在为音频时,接收装置200能检测访问单元的开头即可,基于Fragmentation indicator的值是否为00或01来判定即可。
[0227] 此外,如上述,若将以可进行分割解码的方式进行编码而得的编码数据保存到MPEG-2TS的PES包中,则发送装置100能够利用data alignment(数据对齐)描述符。以下,详细说明编码数据向PES包的保存方法的例子。
[0228] 例如,在HEVC中,发送装置100通过利用data alignment描述符,能够表示在PES包中保存的数据是访问单元、切片段以及瓦片中的哪一个。HEVC中的对齐的类型如下规定。
[0229] 对齐的类型=8表示HEVC的切片段。对齐的类型=9表示HEVC的切片段或访问单元。对齐的类型=12表示HEVC的切片段或瓦片。
[0230] 因此,发送装置100例如通过利用类型9,能够表示PES包的数据是切片段或切片段前数据中的某一个。由于还另行规定了表示是切片而不是切片段的类型,因此发送装置100也可以使用表示是切片而不是切片段的类型。
[0231] 此外,PES包的头所包含的DTS以及PTS只设定在包括访问单元的开头数据的PES包中。因此,只要类型为9,并且在PES包中存在DTS或PTS的字段,接收装置200就能够判定在PES包中保存有访问单元整体、或者访问单元中的开头的分割单位。
[0232] 此外,发送装置100也可以利用表示保存含有访问单元的开头数据的PES包的TS包的优先级的transport_priority等字段,使得接收装置200能够区别包所包含的数据。此外,接收装置200也可以通过解析PES包的有效载荷是否为访问单元定界符,来判定包所包含的数据。此外,PES包头的data_alignment_indicator表示数据是否按照这些类型保存在PES包中。只要该标志(data_alignment_indicator)设置为1,就保证在PES包中保存的数据按照data alignment描述符所示的类型。
[0233] 此外,发送装置100也可以只在按照切片段等可分割解码的单位进行PES打包时,使用data alignment描述符。据此,接收装置200在存在data alignment描述符时,能够判断为编码数据按照可分割解码的单位被进行了PES打包,在不存在data alignment描述符时,能够判断为编码数据以访问单元单位被进行了PES打包。另外,在将data_alignment_indicator设置为1,且不存在data alignment描述符时,PES打包的单位为访问单元的内容在MPEG-2TS标准中规定。
[0234] 只要在PMT内包含有data alignment描述符,接收装置200就能够判定为按照可分割解码的单位进行了PES打包,并基于打包后的单位,生成向各解码部的输入数据。此外,接收装置200在PMT内不含有data alignment描述符,而基于节目信息、或该其他描述符的信息判定为需要进行编码数据的并行解码时,通过解析切片段的切片头等,生成向各解码部的输入数据。此外,在能够通过单一解码部解码编码数据时,接收装置200通过该解码部解码访问单元整体的数据。另外,在表示编码数据是否由切片段或瓦片等可分割解码的单位构成的信息通过PMT的描述符等另行表示时,接收装置200也可以基于该描述符的解析结果判定是否能够对编码数据进行并行解码。
[0235] 此外,由于PES包的头所包含的DTS以及PTS只设定在包括访问单元的开头数据的PES包中,因此在分割访问单元进行PES打包时,在第2个以后的PES包中不含表示访问单元的DTS以及PTS的信息。因此,在并行进行解码处理时,各解码部204A~204D以及显示部205使用包含访问单元的开头数据的PES包的头中保存的DTS以及PTS。
[0236] (实施方式2)
[0237] 在实施方式2中,说明在MMT下将NAL尺寸格式的数据保存到基于MP4格式的MPU中的方法。另外,在以下作为一例,说明向用于MMT的MPU的保存方法,但这样的保存方法也能够适用于作为相同的基于MP4格式的DASH。
[0238] [向MPU的保存方法]
[0239] 在MP4格式中,将多个访问单元汇总地保存到1个MP4文件中。用于MMT的MPU能够将每个媒体的数据保存到1个MP4文件中,在数据中包含任意个数的访问单元。由于MPU是可单独地进行解码的单位,因此例如在MPU中保存有GOP单位的访问单元。
[0240] 图19为表示MPU的构成的图。MPU的开头为ftyp、mmpu以及moov,这些总括地定义为MPU元数据。在moov中,保存有在文件中共通的初始化信息以及MMT提示轨道(hint track)。
[0241] 此外,在moof中,保存有每个样本或子样本的初始化信息以及尺寸、能够确定提示时刻(PTS)以及解码时刻(DTS)的信息(sample_duration、sample_size、sample_composition_time_offset)、以及表示数据的位置的data_offset等。
[0242] 此外,多个访问单元分别作为样本保存到mdat(mdat框(box))中。moof以及mdat之中的除了样本以外的数据定义为电影分片元数据(以后记作MF元数据),mdat的样本数据定义为媒体数据。
[0243] 图20为表示MF元数据的构成的图。如图20所示,MF元数据更详细而言,由moof框(moof)的type(类型)、length(长度)及data(数据)、以及mdat框(mdat)的type(类型)以及length(长度)构成。
[0244] 在将访问单元保存到MP4数据中时,有能够将H.264或H.265的SPS以及PPS等的参数集作为样本数据保存的模式、以及不能保存的模式。
[0245] 在此,在上述不能保存的模式中,参数集保存到moov的SampleEntry的Decoder Specific Information中。此外,在上述能够保存的模式中,参数集包含于样本内。
[0246] MPU元数据、MF元数据以及媒体数据分别保存到MMT有效载荷中,作为可识别这些数据的识别符,在MMT有效载荷的头中,保存有分片类型(FT)。FT=0表示为MPU元数据,FT=1表示为MF元数据,FT=2表示为媒体数据。
[0247] 另外,在图19中,图示出了MPU元数据单位以及MF元数据单位作为data unit保存到MMT有效载荷中的例子,但也可以是ftyp、mmpu、moov以及moof等单位作为data unit,按照data unit单位保存到MMT有效载荷中。同样地,在图19中,图示出了样本单位作为data unit保存到MMT有效载荷中的例子。可是,也可以按照样本单位或NAL单元单位构成data unit,并将这样的data unit按照data unit单位保存到MMT有效载荷中。这样的data unit也可以进一步按照分片后的单位保存到MMT有效载荷中。
[0248] [以往的发送方法与问题]
[0249] 以往,在将多个访问单元封装成MP4格式时,在保存到MP4中的样本全部齐备的时刻制作moov以及moof。
[0250] 在利用广播等实时传送MP4格式时,例如若设在1个MP4文件中保存的样本为GOP单位,则在蓄积GOP单位的时间样本之后制作moov以及moof,因此产生伴随封装的延迟。由于这样的发送侧的封装,端到端延迟总是延长GOP单位时间量。据此,难以实时进行服务的提供,尤其在传送实况内容时,导致针对观众的服务的恶化。
[0251] 图21为用于说明数据的发送顺序的图。在将MMT适用到广播中时,如图21的(a)所示,若按照MPU的构成顺序载置到MMT包中发送(按照MMT包#1、#2、#3、#4、#5、#6的顺序发送),则在MMT包的发送中产生封装所致的延迟。
[0252] 为了防止该封装所致的延迟,提出了如下方法,即如图21的(b)所示,不发送MPU元数据以及MF元数据等MPU头信息(不发送包#1以及#2,将包#3-#6按照此顺序发送)。此外,考虑到如下方法:如图20的(c)所示,不等待MPU头信息的制作地先发送媒体数据,在发送媒体数据之后发送MPU头信息(按照#3-#6、#1、#2的顺序进行发送)。
[0253] 在未发送MPU头信息的情况下,接收装置不利用MPU头信息进行解码,此外,在与媒体数据相比后发送MPU头信息的情况下,接收装置等待取得MPU头信息之后进行解码。
[0254] 可是,在以往的遵循MP4的接收装置中,不用MPU头信息进行解码无法得到保证。此外,在接收装置通过特殊的处理不利用MPU头进行解码时,若利用以往的发送方法则解码处理会变得复杂,实时解码变得困难的可能性高。此外,在接收装置等待进行MPU头信息的取得之后进行解码时,直到接收装置取得头信息为止的期间需要进行媒体数据的缓冲,但缓冲器模型未被规定,无法保证解码。
[0255] 于是,实施方式2所涉及的发送装置如图20的(d)所示,通过在MPU元数据中只保存共通的信息,使MPU元数据先于媒体数据发送。并且,实施方式2所涉及的发送装置使在生成中产生延迟的MF元数据后于媒体数据发送。据此,提供一种能够保证媒体数据的解码的发送方法或接收方法。
[0256] 以下,说明利用图21的(a)-(d)的各发送方法时的接收方法。
[0257] 在图21所示的各发送方法中,首先,按照MPU元数据、MFU元数据、媒体数据的顺序构成MPU数据。
[0258] 在构成MPU数据之后,发送装置如图21的(a)所示,按照MPU元数据、MF元数据、媒体数据的顺序发送数据时,接收装置能够通过下记的(A-1)以及(A-2)中的任一方法进行解码。
[0259] (A-1)接收装置在取得MPU头信息(MPU元数据以及MF元数据)之后,利用MPU头信息对媒体数据进行解码。
[0260] (A-2)接收装置不利用MPU头信息地对媒体数据进行解码。
[0261] 这样的方法均存在如下优点,即虽然在发送侧发生封装所致的延迟,但在接收装置中,无需为了取得MPU头而对媒体数据进行缓冲。在不进行缓冲时,不需要搭载用于缓冲的存储器,更不会发生缓冲延迟。此外,由于(A-1)的方法利用MPU头信息进行解码,因此也能够适用于以往的接收装置。
[0262] 在发送装置如图21的(b)所示,只发送媒体数据时,接收装置能够通过下记的(B-1)的方法进行解码。
[0263] (B-1)接收装置不利用MPU头信息地对媒体数据进行解码。
[0264] 此外,虽未图示,但在先于发送图21的(b)的媒体数据而发送MPU元数据时,能够通过下记的(B-2)的方法进行解码。
[0265] (B-2)接收装置利用MPU元数据对媒体数据进行解码。
[0266] 上述(B-1)以及(B-2)的方法均存在如下优点,即、在发送侧不发生封装所致的延迟,并且无需为了取得MPU头而对媒体数据进行缓冲。可是,由于(B-1)以及(B-2)的方法均未进行利用MPU头信息的解码,因此存在解码需要特殊的处理的可能性。
[0267] 在发送装置如图21的(c)所示,按照媒体数据、MPU元数据、MF元数据的顺序发送数据时,接收装置能够通过下记的(C-1)以及(C-2)的任一方法进行解码。
[0268] (C-1)接收装置在取得MPU头信息(MPU元数据以及MF元数据)之后,对媒体数据进行解码。
[0269] (C-2)接收装置不利用MPU头信息地对媒体数据进行解码。
[0270] 在利用上述(C-1)的方法时,为了取得MPU头信息需要对媒体数据进行缓冲。与之相对,在利用上述(C-2)的方法时,无需进行用于取得MPU头信息的缓冲。
[0271] 此外,上述(C-1)以及(C-2)的任一方法在发送侧都不产生封装所致的延迟。此外,由于(C-2)的方法不利用MPU头信息,因此存在需要特殊的处理的可能性。
[0272] 在发送装置如图21的(d)所示,按照MPU元数据、媒体数据、MF元数据的顺序发送数据时,接收装置能够通过下记的(D-1)以及(D-2)的任一方法进行解码。
[0273] (D-1)接收装置在取得MPU元数据之后,再取得MF元数据,随后,对媒体数据进行解码。
[0274] (D-2)接收装置在取得MPU元数据之后,不利用MF元数据地对媒体数据进行解码。
[0275] 在利用上述(D-1)的方法时,为了取得MF元数据需要对媒体数据进行缓冲,在上述(D-2)的方法时,无需进行用于取得MF元数据的缓冲。
[0276] 由于上述(D-2)的方法不进行利用MF元数据的解码,因此存在需要进行特殊的处理的可能性。
[0277] 如上述,在能够利用MPU元数据以及MF元数据进行解码时,有在以往的MP4接收装置中也能够解码的优点。
[0278] 另外,在图21中,MPU数据按照MPU元数据、MFU元数据、媒体数据的顺序构成,在moof中,基于该构成决定每个样本或子样本的位置信息(偏移)。此外,在MF元数据中也包含有mdat框中的媒体数据以外的数据(框的尺寸或类型)。
[0279] 因此,在接收装置基于MF元数据确定媒体数据时,接收装置在与发送数据的次序无关地按照构成MPU数据时的次序重构数据之后,利用MPU元数据的moov或MF元数据的moof进行解码。
[0280] 另外,在图21中,MPU数据按照MPU元数据、MFU元数据、媒体数据的顺序构成,但也可以按照不同于图21的次序构成MPU数据,并决定位置信息(偏移)。
[0281] 例如,MPU数据也可以按照MPU元数据、媒体数据、MF元数据的顺序构成,在MF元数据中表示有负的位置信息(偏移)。该情况下,也与发送数据的次序无关地,接收装置在按照在发送侧构成MPU数据时的次序重构数据之后,利用moov或moof进行解码。
[0282] 另外也可以是,发送装置作为信令传输表示构成MPU数据时的次序的信息,接收装置基于被作为信令传输的信息重构数据。
[0283] 如上述,接收装置如图21的(d)所示,将打包而得的MPU元数据、打包而得的媒体数据(样本数据)、打包而得的MF元数据按照此顺序进行接收。在此,MPU元数据为第一元数据的一例,MF元数据为第二元数据的一例。
[0284] 接着,接收装置重构包含所接收的MPU元数据、所接收的MF元数据以及所接收的样本数据的MPU数据(MP4格式的文件)。并且,利用MPU元数据以及MF元数据对重构的MPU数据所包含的样本数据进行解码。MF元数据是包含在发送侧仅能在样本数据生成后生成的数据(例如,在mbox中保存的length)的元数据。
[0285] 另外,更详细而言,上述接收装置的动作通过构成接收装置的各构成要素进行。例如,接收装置具备进行上述数据的接收的接收部、进行上述MPU数据的重构的重构部、以及进行上述MPU数据的解码的解码部。另外,接收部、生成部以及解码部分别通过微型计算机、处理器、专用电路等来实现。
[0286] [不利用头信息地进行解码的方法]
[0287] 接着,说明不利用头信息地进行解码的方法。在此,说明与在发送侧是否发送头信息无关地,在接收装置不利用头信息地进行解码的方法。也就是说,该方法在利用参照图21说明的任一发送方法时都能够适用。但是,一部分的解码方法为仅能适用于特定的发送方法时的解码方法。
[0288] 图22为表示不利用头信息地进行解码的方法的例子的图。在图22中,只图示出了只包含有媒体数据的MMT有效载荷以及MMT包,而未图示出包含有MPU元数据或MF元数据的MMT有效载荷以及MMT包。此外,在以下的图22的说明中,设连续传送属于相同的MPU的媒体数据。此外,以在有效载荷中保存有样本作为媒体数据的情况为例进行说明,但在以下的图22的说明中,当然既可以保存有NAL单元,也可以保存有被分片的NAL单元。
[0289] 为了解码媒体数据,接收装置首先必须取得解码所需的初始化信息。此外,若媒体为视频,则接收装置必须取得每个样本的初始化信息,确定随机访问单位即MPU的开始位置,取得样本以及NAL单元的开始位置。此外,接收装置需要分别确定样本的解码时刻(DTS)、提示时刻(PTS)。
[0290] 于是,接收装置能够例如利用下记的方法,不利用头信息地进行解码。另外,在有效载荷中保存NAL单元单位或对NAL单元分片而成的单位时,在下记说明中将“样本”替换为“样本的NAL单元”即可。
[0291] <随机访问(=特定MPU的开头样本)>
[0292] 在不发送头信息时,接收装置为了确定MPU的开头样本,有下记方法1与方法2。另外,在发送头信息时,能够利用方法3。
[0293] [方法1]接收装置在MMT包头中取得‘RAP_flag=1’的MMT包所包含的样本。
[0294] [方法2]接收装置在MMT有效载荷头中取得‘sample number=0’的样本。
[0295] [方法3]在媒体数据之前以及之后中的至少任意一方发送了MPU元数据以及MF元数据的至少任意一方时,接收装置取得MMT有效载荷头中的分片类型(FT)已向媒体数据切换的MMT有效载荷所包含的样本。
[0296] 另外,在方法1以及方法2中,若在1个有效载荷中混有属于不同的MPU的多个样本,则无法判定哪一NAL单元为随机访问点(RAP_flag=1或sample number(样本号)=0)。因此,需要限制为在1个有效载荷中不使不同的MPU的样本混杂存在,或者在1个有效载荷中不同的MPU的样本混杂存在时,限制为在最后(或最初)的样本为随机访问点时设RAP_flag为1等。
[0297] 此外,为了由接收装置取得NAL单元的开始位置,需要从样本的开头NAL单元起顺次使数据的读出指针移位NAL单元的尺寸量。
[0298] 在数据被分片的情况下,接收装置通过参照fragment_indicator或fragment_number,能够确定data unit。
[0299] <样本的DTS的决定>
[0300] 样本的DTS的决定方法有下记方法1与方法2。
[0301] [方法1]接收装置基于预测结构决定开头样本的DTS。但是,由于该方法需要进行编码数据的解析,存在难以实时解码的可能性,因此优选以下的方法2。
[0302] [方法2]另行发送开头样本的DTS,接收装置取得被发送的开头样本的DTS。开头样本的DTS的发送方法例如有利用MMT-SI发送MPU开头样本的DTS的方法或利用MMT包头扩展区域发送每个样本的DTS的方法等。另外,DTS既可以为绝对值,也可以为相对于PTS的相对值。此外,也可以在发送侧作为信令传输是否包含有开头样本的DTS。
[0303] 另外,无论是方法1还是方法2,以后的样本的DTS作为固定帧速率来算出。
[0304] 作为将每个样本的DTS保存到包头中的方法,除了利用扩展区域以外,有将该MMT包所包含的样本的DTS保存到MMT包头中的32bit的NTP时间戳字段中的方法。在不能以1个包头的比特数(32bit)表现DTS时,也可以利用多个包头来表现DTS,此外也可以组合包头的NTP时间戳字段与扩展区域来表现DTS。在不包含DTS信息时,视为已知的值(例如ALL0)。
[0305] <样本的PTS的决定>
[0306] 接收装置从MPU所包含的每个资源的MPU时间戳描述符中取得开头样本的PTS。接收装置针对以后的样本PTS,作为固定帧速率,通过POC等表示样本的显示顺序的参数等算出。如此地,为了不利用头信息地算出DTS以及PTS,必须基于固定帧速率进行发送。
[0307] 此外,在发送了MF元数据的情况下,接收装置能够根据相对于MF元数据所示的开头样本的DTS或PTS的相对时刻信息、以及MPU时间戳描述符所示的MPU开头样本的时间戳的绝对值,算出DTS以及PTS的绝对值。
[0308] 另外,在通过编码数据解析算出DTS以及PTS时,接收装置也可以利用访问单元所包含的SEI信息来算出。
[0309] <初始化信息(参数集)>
[0310] [视频的情况]
[0311] 在视频的情况下,参数集被保存到样本数据中。此外,在未发送MPU元数据以及MF元数据时,保证只通过参照样本数据便能取得解码所需的参数集。
[0312] 此外,如图21的(a)以及(d),在先于媒体数据发送MPU元数据时,也可以规定为在SampleEntry中不保存参数集。该情况下,接收装置不参考SampleEntry的参数集而只参考样本内的参数集。
[0313] 此外,在先于媒体数据发送MPU元数据时,也可以在SampleEntry中保存有针对MPU共通的参数集或默认的参数集,接收装置参考SampleEntry的参数集以及样本内的参数集。通过将参数集保存到在SampleEntry中,若在SampleEntry中不存在参数集则无法再现的以往的接收装置也能够进行解码。
[0314] [音频的情况]
[0315] 在音频的情况下,解码需要LATM头,在MP4中,必须在样本入口(Sample Entry)包含有LATM头。但是,在未发送头信息时,接收装置难以取得LATM头,因此另行在SI等控制信息中包含有LATM头。另外,LATM头也可以被包含到消息、表或描述符中。另外,有时LATM头也被包含到样本内。
[0316] 接收装置在解码开始前从SI等中取得LATM头,开始音频的解码。或者,如图21的(a)以及图21的(d)所示,在先于媒体数据发送MPU元数据时,接收装置能够先于媒体数据接收LATM头。因此,在先于媒体数据发送MPU元数据时,利用以往的接收装置也能够进行解码。
[0317] <其他>
[0318] 发送顺序或发送顺序的类型也可以作为MMT包头或有效载荷头、或者MPT或其他表、消息、描述符等的控制信息来进行通知。另外,在此的发送顺序的类型例如是图21的(a)~(d)的4个类型的发送顺序,用于识别各个类型的识别符被保存到在解码开始前能取得的位置即可。
[0319] 此外,发送顺序的类型既可以在音频与视频中利用不同的类型,也可以在音频与视频中利用共通的类型。具体而言,例如也可以是,音频如图21的(a)所示按照MPU元数据、MF元数据、媒体数据的次序发送,视频如图21的(d)所示按照MPU元数据、媒体数据、MF元数据的次序发送。
[0320] 通过如上述的方法,接收装置能够不利用头信息地进行解码。此外,在先于媒体数据发送MPU元数据(图21的(a)以及图21的(d))时,即使以往的接收装置也能够进行解码。
[0321] 尤其,通过后于媒体数据发送MF元数据(图21的(d)),不产生封装所致的延迟,并且即使以往的接收装置也能够进行解码。
[0322] [发送装置的构成以及动作]
[0323] 接着,说明发送装置的构成以及动作。图23为实施方式2所涉及的发送装置的框图,图24为实施方式2所涉及的发送方法的流程图。
[0324] 如图23所示,发送装置15具备编码部16、复用部17以及发送部18。
[0325] 编码部16通过将编码对象的视频或音频例如按照H.265进行编码来生成编码数据(S10)。
[0326] 复用部17对由编码部16生成的编码数据进行复用(打包)(S11)。具体而言,复用部17对构成MP4格式的文件的、样本数据、MPU元数据以及MF元数据分别进行打包。样本数据为对影像信号或声音信号进行编码而得的数据,MPU元数据为第一元数据的一例,MF元数据为第二元数据的一例。第一元数据与第二元数据均为用于样本数据的解码的元数据,但其差异在于,第二元数据包含仅能在样本数据生成后生成的数据。
[0327] 在此,仅能在样本数据生成后生成的数据例如为在MP4格式的mdat中保存的样本数据以外的数据(mdat的头内的数据。即图20所示的type以及length)。在此,在第二元数据中,包含有作为该数据中的至少一部分的length即可。
[0328] 发送部18发送打包后的MP4格式的文件(S12)。发送部18例如通过图21的(d)所示的方法发送MP4格式的文件。即、将打包后的MPU元数据、打包而得的样本数据、打包而得的MF元数据按照此顺序进行发送。
[0329] 另外,编码部16、复用部17以及发送部18分别通过微型计算机、处理器或专用电路等来实现。
[0330] [接收装置的构成]
[0331] 接着,说明接收装置的构成以及动作。图25为实施方式2所涉及的接收装置的框图。
[0332] 如图25所示,接收装置20具备包过滤部21、发送顺序类型判别部22、随机访问部23、控制信息取得部24、数据取得部25、PTS/DTS算出部26、初始化信息取得部27、解码命令部28、解码部29以及提示部30。
[0333] [接收装置的动作1]
[0334] 首先,说明在媒体为视频时,接收装置20用于确定MPU开头位置以及NAL单元位置的动作。图26为接收装置20的这样的动作的流程图。另外,在此设MPU数据的发送顺序类型由发送装置15(复用部17)保存到SI信息中。
[0335] 首先,包过滤部21针对所接收的文件进行包过滤。发送顺序类型判别部22解析经包过滤而得的SI信息,并取得MPU数据的发送顺序类型(S21)。
[0336] 接着,发送顺序类型判别部22判定(判别)在包过滤后的数据中是否包含MPU头信息(MPU元数据或MF元数据中的至少一方)(S22)。在包含有MPU头信息时(S22的“是”),随机访问部23通过检测MMT有效载荷头的分片类型向媒体数据切换,确定MPU开头样本(S23)。
[0337] 另一方面,在未包含MPU头信息(S22的“否”)时,随机访问部23基于MMT包头的RAP_flag或MMT有效载荷头的sample number(样本号)指定MPU开头样本(S24)。
[0338] 此外,发送顺序类型判别部22判定在进行了包过滤后的数据中是否包含MF元数据(S25)。在判定为包含MF元数据(S25的“是”)时,数据取得部25基于MF元数据所包含的样本、子样本的偏移、以及尺寸信息读出NAL单元,由此取得NAL单元(S26)。另一方面,在判定为不包含MF元数据(S25的“否”)时,数据取得部25通过从样本的开头NAL单元起顺次读出NAL单元的尺寸的数据来取得NAL单元(S27)。
[0339] 另外,接收装置20在步骤S22中判定为包含有MPU头信息时,也可以利用步骤S24的处理而非步骤S23来确定MPU开头样本。此外,在判别为包含有MPU头信息时,也可以并用步骤S23的处理与步骤S24的处理。
[0340] 此外,接收装置20在步骤S25中判定为包含有MF元数据时,也可以不利用步骤S26的处理而利用步骤S27的处理取得NAL单元。此外,在判定为包含有MF元数据时,也可以并用步骤S23的处理与步骤S24的处理。
[0341] 此外,设想在步骤S25中判定为包含有MF元数据、且后于媒体数据发送MF数据的情况。该情况下,接收装置20既可以对媒体数据进行缓冲,等待到取得MF元数据之后进行步骤S26的处理,接收装置20也可以判定是否不等待MF元数据的取得而进行步骤S27的处理。
[0342] 例如,接收装置20也可以基于是否保有能够对媒体数据进行缓冲的缓冲尺寸的缓冲器,判定是否等待MF元数据的取得。此外,接收装置20也可以基于端到端延迟是否变小,判定是否等待MF元数据的取得。此外,接收装置20也可以主要利用步骤S26的处理实施解码处理,在发生丢包等时的处理模式的情况下利用步骤S27的处理。
[0343] 另外,在事先决定了发送顺序类型时,也可以省略步骤S22以及步骤S26,该情况下,接收装置20也可以考虑缓冲器尺寸或端到端延迟,决定MPU开头样本的确定方法以及NAL单元的确定方法。
[0344] 另外,在发送顺序类型事先已知时,在接收装置20中不需要发送顺序类型判别部22。
[0345] 此外,虽未在上述图26中说明,但解码命令部28基于由PTS/DTS算出部26算出的PTS以及DTS、由初始化信息取得部27取得的初始化信息,将由数据取得部取得的数据输出至解码部29。解码部29解码数据,提示部30提示解码后的数据。
[0346] [接收装置的动作2]
[0347] 接着,说明接收装置20基于发送顺序类型取得初始化信息,基于初始化信息对媒体数据进行解码的动作。图27为这样的动作的流程图。
[0348] 首先,包过滤部21针对所接收的文件进行包过滤。发送顺序类型判别部22解析经包过滤而得的SI信息,取得发送顺序类型(S301)。
[0349] 接着,发送顺序类型判别部22判定是否发送了MPU元数据(S302)。在判定为发送了MPU元数据(S302的“是”)时,发送顺序类型判别部22基于步骤S301的解析的结果判定MPU元数据是否先于媒体数据发送(S303)。在MPU元数据先于媒体数据发送(S303的“是”)时,初始化信息取得部27基于MPU元数据所包含的共通的初始化信息、以及样本数据的初始化信息,对媒体数据进行解码(S304)。
[0350] 另一方面,在判定为MPU元数据后于媒体数据发送(S303的“否”)时,数据取得部25对媒体数据进行缓冲直到取得MPU元数据为止(S305),在取得MPU元数据之后实施步骤S304的处理。
[0351] 此外,在步骤S302中判定为未发送MPU元数据(S302的“否”)时,初始化信息取得部27只基于样本数据的初始化信息对媒体数据进行解码(S306)。
[0352] 另外,媒体数据的解码仅在发送侧基于样本数据的初始化信息时得以保证的情况下,不进行基于步骤S302以及步骤S303的判定的处理,而利用步骤S306的处理。
[0353] 此外,接收装置20也可以在步骤S305之前,进行是否对媒体数据进行缓冲的判定。该情况下,接收装置20在判定为对媒体数据进行缓冲时向步骤S305的处理过渡,在判定为不对媒体数据进行缓冲时向步骤S306的处理过渡。是否对媒体数据进行缓冲的判定,既可以基于接收装置20的缓冲器尺寸、占有量来进行,例如也可以选择端到端延迟较小等,考虑端到端延迟来进行判定。
[0354] [接收装置的动作3]
[0355] 在此,说明在后于媒体数据发送MF元数据时(图21的(c)、以及图21的(d))的发送方法或接收方法的细节。在以下,以图21的(d)的情况为例子进行说明。另外,设为在发送中只利用图21的(d)的方法,而不进行发送顺序类型的信令。
[0356] 如前述,如图21的(d)所示,按照MPU元数据、媒体数据、MF元数据的顺序发送数据时,能够进行如下2种解码方法:
[0357] (D-1)接收装置20在取得MPU元数据之后,又取得MF元数据,随后对媒体数据进行解码。
[0358] (D-2)接收装置20在取得MPU元数据之后,不利用MF元数据地对媒体数据进行解码。
[0359] 在此,在D-1中,需要进行用于取得MF元数据的媒体数据的缓冲,但由于能够利用MPU头信息进行解码,因此能够通过以往的遵循MP4的接收装置进行解码。此外,在D-2中,不需要进行用于取得MF元数据的媒体数据的缓冲,但由于不能利用MF元数据进行解码,因此解码需要特殊的处理。
[0360] 此外,在图21的(d)的方法中,后于媒体数据发送MF元数据,因此具有能够不发生封装所致的延迟,从而降低端到端延迟的优点。
[0361] 接收装置20能够根据接收装置20的能力、接收装置20所提供的服务品质,对如上2种解码方法进行选择。
[0362] 发送装置15必须保证在接收装置20的解码动作中能够降低缓冲器的上溢或下溢的产生并进行解码。作为用于规定在利用D-1的方法进行解码时的解码器模型的要素,例如能够利用下记的参数。
[0363] ·用于重构MPU的缓冲器尺寸(MPU缓冲器)
[0364] 例如,为缓冲器尺寸=最大速率×最大MPU时间×α,最大速率(rate)意指编码数据的档次、级别的上限速率+MPU头的开销。此外,最大MPU时间是设为1MPU=1GOP(视频)时的GOP的最大时长。
[0365] 在此,音频既可以设为与上述视频共通的GOP单位,也可以为其他的单位。α为用于不引起上溢的富余量,既可以与最大速率×最大MPU时间相乘,也可以相加。在相乘时,α≥1,在相加时,α≥0。
[0366] ·从向MPU缓冲器输入数据起直到进行解码为止的解码延迟时间的上限。(MPEG-TS的STD中的TSTD_delay)
[0367] 例如,在发送时,考虑最大MPU时间以及解码延迟时间的上限值,以接收机的MPU数据的取得完成时刻≤DTS的方式设定DTS。
[0368] 此外,发送装置15也可以按照利用D-1的方法进行解码时的解码器模型,赋予DTS以及PTS。据此,发送装置15也可以在保证利用D-1的方法进行解码的接收装置进行该解码的同时,发送利用D-2的方法进行解码时所需的辅助信息。
[0369] 例如,发送装置15通过作为信令传输在利用D-2的方法进行解码时的解码器缓冲器的预缓冲时间,能够保证利用D-2的方法进行解码的接收装置的动作。
[0370] 预缓冲时间既可以被包含在消息、表、描述符等SI控制信息中,也可以被包含在MMT包、MMT有效载荷的头中。此外,也可以覆盖编码数据内的SEI。也可以是,用于利用D-1的方法进行解码的DTS以及PTS保存到MPU时间戳描述符、SamplleEntry中,用于利用D-2的方法进行解码的DTS以及PTS、或预缓冲时间记述在SEI中。
[0371] 接收装置20也可以在该接收装置20只对应于利用MPU头的遵循MP4的解码动作时选择解码方法D-1,在对应于D-1以及D-2的双方时选择任意一方。
[0372] 发送装置15也可以按照能够保证一方(在本说明中为D-1)的解码动作的方式赋予DTS以及PTS,再发送用于辅助一方的解码动作的辅助信息。
[0373] 此外,比较利用D-2的方法的情况与利用D-1的方法的情况,由于起因于MF元数据的预缓冲的延迟,端到端延迟变大的可能性高。因此,接收装置20在希望减小端到端延迟时,也可以选择D-2的方法进行解码。例如,接收装置20在总是希望减少端到端延迟时,也可以总是利用D-2的方法。此外,接收装置20也可以只在以实况内容、选台、切换频道(zapping)等以低延迟进行提示的低延迟提示模式进行动作时利用D-2的方法。
[0374] 图28为这样的接收方法的流程图。
[0375] 首先,接收装置20接收MMT包,取得MPU数据(S401)。并且,接收装置20(发送顺序类型判别部22)进行是否以低延迟提示模式提示该节目的判定(S402)。
[0376] 在不以低延迟提示模式提示节目(S402的“否”)时,接收装置20(随机访问部23以及初始化信息取得部27)利用头信息取得随机访问、初始化信息(S405)。此外,接收装置20(PTS/DTS算出部26、解码命令部28、解码部29、提示部30)基于由发送侧赋予的PTS、DTS进行解码以及提示处理(S406)。
[0377] 另一方面,在以低延迟提示模式提示节目(S402的“是“)时,接收装置20(随机访问部23以及初始化信息取得部27)利用不使用头信息的解码方法取得随机访问、初始化信息(S403)。此外,接收装置20基于用于不利用由发送侧赋予的PTS、DTS以及头信息地进行解码的辅助信息进行解码以及提示处理(S404)。另外,在步骤S403以及步骤S404中,也可以利用MPU元数据进行处理。
[0378] [利用辅助数据的收发方法]
[0379] 以上,说明了在后于媒体数据发送MF元数据(图21的(c)、以及图21的(d))时的收发动作。接着,说明通过发送装置15发送具有MF元数据的一部分功能的辅助数据,能够更早开始解码,能够减少端到端延迟的方法。在此,说明基于图21的(d)所示的发送方法进一步发送辅助数据的例子,但利用辅助数据的方法也能够适用于图21的(a)~(c)所示的发送方法。
[0380] 图29的(a)为表示利用图21的(d)所示的方法发送的MMT包的图。即、数据按照MPU元数据、媒体数据、MF元数据的顺序进行发送。
[0381] 在此,样本#1、样本#2、样本#3、样本#4为媒体数据所包含的样本。另外,在此媒体数据以按照样本单位保存到MMT包中的例子进行说明,但媒体数据既可以按照NAL单元单位保存到MMT包中,也可以按照分割NAL单元而成的单位保存。另外,有时聚合多个NAL单元并保存到MMT包中。
[0382] 如在前述的D-1中所说明地,在图21的(d)所示的方法时,即按照MPU元数据、媒体数据、MF元数据的顺序发送数据时,存在取得MPU元数据之后,再取得MF元数据,随后对媒体数据进行解码的方法。这样的D-1的方法中,需要进行用于取得MF元数据的媒体数据的缓冲,但由于利用MPU头信息进行解码,具有D-1的方法也能够适用于以往的遵循MP4的接收装置的优点。另一方面,存在接收装置20必须等待到取得MF元数据为止再开始解码的缺点。
[0383] 对此,如图29的(b)所示,在利用辅助数据的方法中,先于MF元数据发送辅助数据。
[0384] 在MF元数据中,包含有表示电影分片所包含的全部的样本的DTS、PTS、偏移、尺寸的信息。与之相对,在辅助数据中,包含有表示电影分片所包含的样本中的一部分的样本的DTS、PTS、偏移、尺寸的信息。
[0385] 例如,在MF元数据中,包含有所有样本(样本#1-样本#4)的信息,与之相对,在辅助数据中包含有一部分的样本(样本#1-#2)的信息。
[0386] 在如图29的(b)所示的情况下,由于能够通过利用辅助数据进行样本#1以及样本#2的解码,因此相对于D-1的发送方法,End-to-Ent延迟变小。另外,在辅助数据中,无论如何组合样本的信息来包含皆可,也可以反复发送辅助数据。
[0387] 例如,在图29的(c)中,发送装置15若在A的定时发送辅助信息,则在辅助信息中包含样本#1的信息,若在B的定时发送辅助信息,则在辅助信息中包含样本#1以及样本#2的信息。发送装置15若在C的定时发送辅助信息,则在辅助信息中包含样本#1、样本#2以及样本#3的信息。
[0388] 另外,在MF元数据中,包含有样本#1、样本#2、样本#3以及样本#4的信息(电影分片之中的全部样本的信息)。
[0389] 辅助数据未必需要在生成之后立即发送。
[0390] 另外,在MMT包或MMT有效载荷的头中,指定表示保存有辅助数据的类型。
[0391] 例如,在辅助数据利用MPU模式保存在MMT有效载荷中时,作为fragment_type字段值(例如,FT=3),指定表示是辅助数据的数据类型。辅助数据既可以为基于moof的构成的数据,也可以为其他构成。
[0392] 在辅助数据作为控制信号(描述符、表、消息)保存到MMT有效载荷中时,指定表示是辅助数据的描述符标签、表ID以及消息ID等。
[0393] 此外,也可以在MMT包或MMT有效载荷的头中保存有PTS或DTS。
[0394] [辅助数据的生成例]
[0395] 以下,说明发送装置基于moof的构成生成辅助数据的例子。图30为用于说明发送装置基于moof的构成生成辅助数据的例子的图。
[0396] 在通常的MP4中,如图20所示,针对电影分片制作moof。在moof中,包含有表示电影分片所包含的样本的DTS、PTS、偏移、尺寸的信息。
[0397] 在此,发送装置15只利用构成MPU的样本数据中的一部分的样本数据构成MP4(MP4文件),生成辅助数据。
[0398] 例如,如图30的(a)所示,发送装置15只利用构成MPU的样本#1-#4之中的样本#1生成MP4,其中,将moof+mdat的头设为辅助数据。
[0399] 接着,如图30的(b)所示,发送装置15利用构成MPU的样本#1-#4之中的样本#1以及样本#2生成MP4,其中,将moof+mdat的头设为下一辅助数据。
[0400] 接着,如图30的(c)所示,发送装置15利用构成MPU的样本#1-#4之中的样本#1、样本#2以及样本#3生成MP4,其中,将moof+mdat的头设为下一辅助数据。
[0401] 接着,如图30的(d)所示,发送装置15生成构成MPU的样本#1-#4之中的所有MP4,其中,将moof+mdat的头设为电影分片元数据。
[0402] 另外,在此,发送装置15按每个样本生成辅助数据,但也可以按每N个样本生成辅助数据。N的值为任意的数字,例如,在发送1个MPU时发送M次辅助数据的情况下,也可以设为N=全样本/M。
[0403] 另外,moof中的表示样本的偏移的信息也可以是在确保后续的样本数的样本入口区域为NULL区域之后的偏移值。
[0404] 另外,也可以生成辅助数据以成为对MF元数据进行分片的构成。
[0405] [利用辅助数据的接收动作例]
[0406] 说明如图30说明那样生成的辅助数据的接收。图31为用于说明辅助数据的接收的图。另外,在图31的(a)中,设构成MPU的样本数为30,按每10个样本生成辅助数据并发送。
[0407] 在图30的(a)中,在辅助数据#1中包含有样本#1-#10的样本信息,在辅助数据#2中包含有样本#1-#20的样本信息,在MF元数据中包含有样本#1-#30的样本信息。
[0408] 另外,样本#1-#10、样本#11-#20以及样本#21-#30保存在1个MMT有效载荷中,但既可以按照样本单位或NAL单位进行保存,也可以按照分片或聚合的单位进行保存。
[0409] 接收装置20分别接收MPU元、样本、MF元以及辅助数据的包。
[0410] 接收装置20按照接收顺序(向后)连结样本数据,在接收最新的辅助数据之后,更新迄今为止的辅助数据。此外,接收装置20通过在最后将辅助数据置换为MF元数据,能够构成完整的MPU。
[0411] 接收装置20在接收到辅助数据#1的时刻,如图31的(b)的上段那样地连结数据,构成MP4。据此,接收装置20能够利用MPU元数据以及辅助数据#1的信息分析样本#1-#10,能够基于辅助数据所包含的PTS、DTS、偏移以及尺寸的信息进行解码。
[0412] 此外,接收装置20在接收到辅助数据#2的时刻,如图31的(b)的中段那样地连结数据,构成MP4。据此,接收装置20能够利用MPU元数据以及辅助数据#2的信息分析样本#1-#20,能够基于辅助数据所包含的PTS、DTS、偏移、尺寸的信息进行解码。
[0413] 此外,接收装置20在接收到MF元数据的时刻,如图31的(b)的下段那样地连结数据,构成MP4。据此,接收装置20能够利用MPU元数据以及MF元数据分析样本#1-#30,能够基于MF元数据所包含的PTS、DTS、偏移以及尺寸的信息进行解码。
[0414] 在没有辅助数据时,接收装置20在接收到MF元数据后才能够开始取得样本的信息,因此需要在接收到MF元数据后开始解码。可是,通过发送装置15生成辅助数据并发送,接收装置20能够不等待MF元数据的接收而利用辅助数据取得样本的信息,因此能够使解码开始时间提前。再有,通过发送装置15生成利用图30说明的基于moof的辅助数据,接收装置20能够直接利用以往的MP4的分析器(parser)进行分析。
[0415] 此外,新生成的辅助数据或MF元数据包含与过去发送的辅助数据重复的样本的信息。因此,即使在因丢包等而不能取得过去的辅助数据时,通过利用新取得的辅助数据或MF元数据,也能够重构MP4,取得样本的信息(PTS、DTS、尺寸以及偏移)。
[0416] 另外,辅助数据不一定需要包括过去的样本数据的信息。例如也可以是,辅助数据#1与样本数据#1-#10对应,辅助数据#2与样本数据#11-#20对应。例如,也可以如图31的(c)所示,发送装置15将完整的MF元数据作为data unit,将对data unit分片而成的单位作为辅助数据顺次发送。
[0417] 此外,发送装置15为了应对丢包,既可以反复传送辅助数据,也可以反复传送MF元数据。
[0418] 另外,在保存有辅助数据的MMT包以及MMT有效载荷中,与MPU元数据、MF元数据以及样本数据同样地,包含有MPU序列号以及资源ID。
[0419] 利用图32的流程图说明利用如以上那样的辅助数据的接收动作。图32为利用辅助数据的接收动作的流程图。
[0420] 首先,接收装置20接收MMT包,解析包头或有效载荷头(S501)。接着,接收装置20解析分片类型是辅助数据还是MF元数据(S502),若分片类型为辅助数据,则覆盖过去的辅助数据进行更新(S503)。此时,若没有同一MPU的过去的辅助数据,则接收装置20直接将所接收的辅助数据设为新的辅助数据。并且,接收装置20基于MPU元数据、辅助数据以及样本数据,取得样本,进行解码(S507)。
[0421] 另一方面,若分片类型为MF元数据,则接收装置20在步骤S505中,用MF元数据覆盖过去的辅助数据(S505)。并且,接收装置20基于MPU元数据、MF元数据以及样本数据,以完整的MPU的形式取得样本,进行解码(S506)。
[0422] 另外,虽在图32未图示,但在步骤S502中,接收装置20在分片类型为MPU元数据时,将数据保存到缓冲器中,在为样本数据时,将按每个样本向后连结而成的数据保存到缓冲器中。
[0423] 在因丢包而不能取得辅助数据时,接收装置20通过用最新的辅助数据进行覆盖,或者利用过去的辅助数据,能够对样本进行解码。
[0424] 另外,辅助数据的送出周期以及送出次数也可以为事先决定的值。送出周期或次数(计数、倒计数)的信息也可以与数据一起发送。例如,在data unit头中,也可以保存有送出周期、送出次数以及initial_cpb_removal_delay等的时间戳。
[0425] 通过将包含MPU的最初的样本的信息的辅助数据先于initial_cpb_removal_delay发送1次以上,能够符合CPB缓冲器模型。此时,在MPU时间戳描述符中,保存基于picture timing(图片定时)SEI的值。
[0426] 另外,使用这样的辅助数据的接收动作的传送方式不限于MMT方式,能够适用于MPEG-DASH等将由ISOBMFF文件格式构成的包进行流传送的情况等。
[0427] [由多个电影分片构成1个MPU时的发送方法]
[0428] 在上述图19以后的说明中,由1个电影分片构成1个MPU,而在此,说明由多个电影分片构成1个MPU的情况。图33为表示由多个电影分片构成的MPU的构成的图。
[0429] 在图33中,在1个MPU中保存的样本(#1-#6)分成2个电影分片地进行保存。第1电影分片基于样本#1-#3生成,生成所对应的moof框。第2电影分片基于样本#4-#6生成,生成所对应的moof框。
[0430] 第1电影分片中的moof框以及mdat框的头作为电影分片元数据#1保存到MMT有效载荷以及MMT包中。另一方面,第2电影分片中的moof框以及mdat框的头作为电影分片元数据#2保存到MMT有效载荷以及MMT包中。另外,在图33中,对保存有电影分片元数据的MMT有效载荷施以阴影。
[0431] 另外,构成MPU的样本数或者构成电影分片的样本数任意。例如,也可以将构成MPU的样本数设为GOP单位的样本数,且将GOP单位的二分之一的样本数作为电影分片,来构成2个电影分片。
[0432] 另外,在此表示以在1个MPU中包含2个电影分片(moof框以及mdat框)的例子,但1个MPU所包含的电影分片也可以不是2个,而为3个以上。此外,保存在电影分片中的样本也可以并非等分的样本数,而分割成任意的样本数。
[0433] 另外,在图33中,将MPU元数据单位以及MF元数据单位分别作为data unit保存到MMT有效载荷中。可是,发送装置15既可以将ftyp、mmpu、moov以及moof等的单位作为data unit,按照data unit单位保存到MMT有效载荷中,也可以按照对data unit分片而成的单位保存到MMT有效载荷中。此外,发送装置15也可以按照聚合data unit而成的单位保存到MMT有效载荷中。
[0434] 此外,在图33中,样本按照样本单位保存在MMT有效载荷中。可是,发送装置15也可以不是按照样本单位,而是按照NAL单元单位或合并多个NAL单元而成的单位构成data unit,按照data unit单位保存到MMT有效载荷中。此外,发送装置15既可以按照对data unit分片而成的单位保存到MMT有效载荷中,也可以按照聚合data unit而成的单位保存到MMT有效载荷中。
[0435] 另外,在图33中,按照moof#1、mdat#1、moof#2、mdat#2的顺序构成MPU,针对moof#1,作为其后附有对应的mdat#1而被赋予offset。但是,也可以作为mdat#1附于比moof#1更前而赋予offset。但是,该情况下,不能以moof+mdat的形式生成电影分片元数据,moof以及mdat的头分别分开进行传送。
[0436] 接着,说明传送在图33中说明的构成的MPU时的MMT包的发送顺序。图34为用于说明MMT包的发送顺序的图。
[0437] 图34的(a)表示按照图33所示的MPU的构成顺序发送MMT包时的发送顺序。图34的(a)具体而言,表示按照MPU元、MF元#1、媒体数据#1(样本#1-#3)、MF元#2、媒体数据#2(样本#4-#6)的顺序进行发送的例子。
[0438] 图34的(b)表示按照MPU元、媒体数据#1(样本#1-#3)、MF元#1、媒体数据#2(样本#4-#6)、MF元#2的顺序进行发送的例子。
[0439] 图34的(c)表示按照媒体数据#1(样本#1-#3)、MPU元、MF元#1、媒体数据#2(样本#4-#6)、MF元#2的顺序进行发送的例子。
[0440] MF元#1利用样本#1-#3来生成,MF元#2利用样本#4-#6来生成。因此,在利用图34的(a)的发送方法时,在样本数据的发送中会产生封装所致的延迟。
[0441] 与之相对,在利用图34的(b)以及图34的(c)的发送方法时,由于能够不等待生成MF元而发送样本,因此能够不产生封装所致的延迟,而降低端到端延迟。
[0442] 此外,在图34的(a)的发送顺序中,由于将1个MPU分割成多个电影分片,保存在MF元的样本数相对于图19的情况变少,因此与图19的情况相比能够减小封装所致的延迟量。
[0443] 另外,除了在此所示的方法以外,例如也可以是,发送装置15连结MF元#1以及MF元#2,在MPU的最后汇总进行发送。该情况下,也可以聚合不同的电影分片的MF元,并保存到1个MMT有效载荷中。此外,也可以汇总不同的MPU的MF元来聚合并保存到MMT有效载荷中。
[0444] [由多个电影分片构成1个MPU时的接收方法]
[0445] 在此,说明接收按照图34的(b)说明的发送顺序发送的MMT包并进行解码的接收装置20的动作例。图35以及图36为用于说明这样的动作例的图。
[0446] 接收装置20分别接收按照图35所示的发送顺序发送的包含MPU元、样本以及MF元的MMT包。样本数据按照接收顺序被连结。
[0447] 接收装置20在接收到MF元#1的时刻即T1,如图36的(1)所示连结数据,构成MP4。据此,接收装置20能够基于MPU元数据以及MF元#1的信息取得样本#1-#3,能够基于MF元所包含的PTS、DTS、偏移以及尺寸的信息进行解码。
[0448] 此外,接收装置20在接收到MF元#2的时刻即T2,如图36的(2)所示连结数据,构成MP4。据此,接收装置20能够基于MPU元数据以及MF元#2的信息取得样本#4-#6,能够基于MF元的PTS、DTS、偏移以及尺寸的信息进行解码。此外,接收装置20也可以如图36的(3)所示连结数据,构成MP4,由此基于MF元#1以及MF元#2的信息取得样本#1-#6。
[0449] 通过将1个MPU分割成多个电影分片,缩短了直到取得MPU之中最初的MF元为止的时间,因此能够将解码开始时间提前。此外,能够减少用于蓄积解码前的样本的缓冲器尺寸。
[0450] 另外,发送装置15也可以按照从发送(或接收)电影分片中的最初的样本起直到发送(或接收)与电影分片对应的MF元为止的时间短于由编码器指定的initial_cpb_removal_delay的时间的方式,设定电影分片的分割单位。通过如此地设定,接收缓冲器能够符合cpb缓冲器,能够实现低延迟的解码。该情况下,能够在PTS以及DTS利用基于initial_cpb_removal_delay的绝对时刻。
[0451] 此外,发送装置15也可以等间隔地进行电影分片的分割,或者按照短于之前的电影分片的间隔来分割后续的电影分片。据此,接收装置20必定能够在样本解码前接收到包含该样本的信息的MF元,能够进行连续的解码。
[0452] PTS以及DTS的绝对时刻的算出方法能够利用如下记2种方法。
[0453] (1)PTS以及DTS的绝对时刻基于MF元#1或MF元#2的接收时刻(T1或T2)、以及MF元所包含的PTS以及DTS的相对时刻来决定。
[0454] (2)PTS以及DTS的绝对时刻基于MPU时间戳描述符等从发送侧作为信令传输的绝对时刻、以及MF元所包含的PTS以及DTS的相对时刻来决定。
[0455] 此外,(2-A)发送装置15作为信令传输的绝对时刻也可以为基于由编码器指定的initial_cpb_removal_delay算出的绝对时刻。
[0456] 此外,(2-B)发送装置15作为信令传输的绝对时刻也可以为基于MF元的接收时刻的预测值算出的绝对时刻。
[0457] 另外,也可以反复传送MF元#1以及MF元#2。通过反复传送MF元#1以及MF元#2,接收装置20即使在因丢包等而不能取得MF元时也能够再一次取得。
[0458] 能够在包含构成电影分片的样本的MFU的有效载荷头中保存表示电影分片的次序的识别符。另一方面,表示构成电影分片的MF元的次序的识别符不被包含到MMT有效载荷中。因此,接收装置20通过packet_sequence_number识别MF元的次序。或者,发送装置15也可以将表示MF元属于第几个电影分片的识别符保存到控制信息(消息、表、描述符)、MMT头、MMT有效载荷头、或data unit头中作为信令传输。
[0459] 另外也可以是,发送装置15按照事先决定的规定发送顺序发送MPU元、MF元以及样本,接收装置20基于事先决定的规定发送顺序实施接收处理。此外也可以是,发送装置15将发送顺序作为信令传输,接收装置20基于信令信息选择(判断)接收处理。
[0460] 利用图37说明如上述的接收方法。图37为通过图35以及图36说明了的接收方法的动作的流程图。
[0461] 首先,接收装置20根据MMT有效载荷所示的分片类型,判别(识别)有效载荷所包含的数据是MPU元数据、MF元数据,还是样本数据(MFU)(S601、S602)。在数据为样本数据时,接收装置20对样本进行缓冲,等待进行与该样本对应的MF元数据的接收以及开始解码(S603)。
[0462] 另一方面,在步骤S602中数据为MF元数据时,接收装置20从MF元数据中取得样本的信息(PTS、DTS、位置信息以及尺寸),基于所取得的样本的信息取得样本,基于PTS以及DTS对样本进行解码、提示(S604)。
[0463] 另外,虽未图示,但在数据为MPU元数据时,在MPU元数据中,含有解码所需的初始化信息。因此,接收装置20蓄积该初始化信息,在步骤S604中用于样本数据的解码。
[0464] 另外,接收装置20在将所接收的MPU的数据(MPU元数据、MF元数据以及样本数据)蓄积到蓄积装置中时,在重排成图19或图33说明的MPU的构成之后,进行蓄积。
[0465] 另外,在发送侧中,在MMT包中,针对拥有同一包ID的包,赋予包序列号。此时,既可以在包含MPU元数据、MF元数据、样本数据的MMT包按照发送顺序重排之后赋予包序列号,也可以按照重排前的顺序赋予包序列号。
[0466] 在按照重排前的顺序赋予包序列号时,在接收装置20中,能够基于包序列号,将数据重排成MPU的构成顺序,蓄积变得容易。
[0467] [检测访问单元的开头以及切片段的开头的方法]
[0468] 说明基于MMT包头以及MMT有效载荷头的信息对访问单元的开头或切片段的开头进行检测的方法。
[0469] 在此,表示在将非VCL NAL单元(访问单元定界符、VPS、SPS、PPS以及SEI等)汇总地作为data unit保存到MMT有效载荷中的情况,以及将非VCL NAL单元分别作为data unit并聚合data unit来保存到1个MMT有效载荷中的情况这2个例子。
[0470] 图38为表示将非VCL NAL单元个别地作为data unit并进行聚合的情况的图。
[0471] 在图38的情况下,访问单元的开头是fragment_type值为MFU的MMT包,并且是包含aggregation_flag值为1、且offset值为0的data unit的MMT有效载荷的开头数据。此时,Fragmentation_indicator值为0。
[0472] 此外,在图38的情况下,切片段的开头是fragment_type值为MFU的MMT包,并且是aggregation_flag值为0、且fragmentation_indicator值为00或01的MMT有效载荷的开头数据。
[0473] 图39为表示将非VCL NAL单元汇总作为data unit的情况的图。另外,包头的字段值如图17(或图18)所示。
[0474] 在图39的情况下,关于访问单元的开头,Offset值为0的包中的有效载荷的开头数据为访问单元的开头。
[0475] 此外,在图39的情况下,关于切片段的开头,Offset值为不同于0的值、且Fragmentation indicator值为00或01的包的有效载荷的开头数据为切片段的开头。
[0476] [发生丢包时的接收处理]
[0477] 通常,在产生丢包的环境中传送MP4形式的数据时,接收装置20通过ALFEC(Application Layer FEC:应用层FEC)或者包再送控制等复原包。
[0478] 但是,在如广播那样的流中不利用AL-FEC时发生丢包的情况下,不能复原包。
[0479] 接收装置20需要在数据因丢包而丢失之后使影像或声音的解码再次开始。为此,接收装置20需要检测访问单元或NAL单元的开头,从访问单元或NAL单元的开头起开始进行解码。
[0480] 但是,由于在MP4形式的NAL单元的开头未带有起始码,因此即使接收装置20解析流,也不能检测访问单元或NAL单元的开头。
[0481] 图40为发生丢包时的接收装置20的动作的流程图。
[0482] 接收装置20通过MMT包或MMT有效载荷的头的Packetsequence number(包序列号)、packet counter(包计数器)或Fragment counter(分片计数器)等检测丢包(S701),根据前后的关系,判定哪一包丢失了(S702)。
[0483] 接收装置20在判定为未发生丢包(S702的“否”)时,构成MP4文件,对访问单元或NAL单元进行解码(S703)。
[0484] 接收装置20在判定为发生丢包(S702的“是”)时,通过虚拟(dummy)数据来生成与丢包的NAL单元相当的NAL单元,构成MP4文件(S704)。接收装置20若将虚拟数据加入NAL单元,则在NAL单元的类型中表示为虚拟数据。
[0485] 此外,接收装置20通过基于图17、图18、图38以及图39说明的方法,检测下一访问单元或NAL单元的开头,从开头数据起输入至解码器,能够再次开始解码(S705)。
[0486] 另外,在发生丢包时,接收装置20既可以基于根据包头检测出的信息从访问单元以及NAL单元的开头起再次开始解码,也可以基于包含虚拟数据的NAL单元的、重构的MP4文件的头信息从访问单元以及NAL单元的开头起再次开始解码。
[0487] 接收装置20在蓄积MP4文件(MPU)时,因丢包而丢失的包数据(NAL单元等)也可以通过广播或通信另行取得并蓄积(置换)。
[0488] 此时,接收装置20若通过通信取得丢失的包,则将丢失的包的信息(包ID、MPU序列号、包序列号、IP数据流号以及IP地址等)通知服务器,并取得该包。接收装置20也可以不限于丢失的包,而是同时取得丢失的包前后的包组。
[0489] [电影分片的构成方法]
[0490] 在此,详细说明电影分片的构成方法。
[0491] 如通过图33所说明地,构成电影分片的样本数以及构成1个MPU的电影分片数是任意的。例如,构成电影分片的样本数以及构成1个MPU的电影分片数既可以被固定地决定为规定数,也可以动态地决定。
[0492] 在此,通过在发送侧(发送装置15)以满足下记条件的方式构成电影分片,能够保证接收装置20的低延迟的解码。
[0493] 该条件如下。
[0494] 发送装置15以接收装置20必定能够先于任意的样本(Sample(i))的解码时刻(DTS(i))接收包含该样本的信息的MF元的方式,将分割样本数据而成的单位作为电影分片来生成并发送MF元。
[0495] 具体而言,发送装置15利用先于DTS(i)已完成编码的样本(包括第i个样本)构成电影分片。
[0496] 为了保证低延迟的解码,动态地决定构成电影分片的样本数或构成1个MPU的电影分片数的方法,例如利用下记的方法。
[0497] (1)在开始解码时,GOP开头的样本Sample(0)的解码时刻DTS(0)为基于initial_cpb_removal_delay的时刻。发送装置在先于DTS(0)的时刻,利用已完成编码的样本构成第1电影分片。此外,发送装置15生成与第1电影分片对应的MF元数据,在先于DTS(0)的时刻进行发送。
[0498] (2)发送装置15在以后的样本中也以满足上述的条件的方式构成电影分片。
[0499] 例如,在设电影分片的开头的样本为第k个样本时,在第k个样本的解码时刻DTS(k)之前发送包含第k个样本的电影分片的MF元。发送装置15在第I个样本的编码完成时刻先于DTS(k),且第(I+1)个样本的编码完成时刻后于DTS(k)时,利用第k个样本到第I个样本构成电影分片。
[0500] 另外,发送装置15也可以利用第k个样本至不到第I个样本构成电影分片。
[0501] (3)发送装置15在MPU最后的样本的编码完成后,利用剩余的样本构成电影分片,生成并发送与该电影分片对应的MF元数据。
[0502] 另外,发送装置15也可以不利用已完成编码的所有样本构成电影分片,而利用已完成编码的一部分的样本构成电影分片。
[0503] 另外,在上述中,示出了为了保证低延迟的解码而基于上述条件动态地决定构成电影分片的样本数以及构成1个MPU的电影分片数的例子。可是,样本数以及电影分片数的决定方法不限于这样的方法。例如也可以是,构成1个MPU的电影分片数固定为规定值,并以满足上述条件的方式决定样本数。此外也可以是,构成1个MPU的电影分片数以及分割电影分片的时刻(或电影分片的码量)固定为规定值,并以满足上述条件的方式决定样本数。
[0504] 此外,在将MPU分割成多个电影分片的情况下,也可以发送表示是否将MPU分割成多个电影分片的信息、分割而得的电影分片的属性、或与分割而得的电影分片对应的MF元的属性。
[0505] 在此,电影分片的属性为表示电影分片是MPU的开头的电影分片,还是MPU的最后的电影分片,或是除此之外的电影分片等的信息。
[0506] 此外,MF元的属性为表示MF元是与MPU的开头的电影分片对应的MF元,还是与MPU的最后的电影分片对应的MF元,或是与除此之外的电影分片对应的MF元等的信息。
[0507] 另外,发送装置15也可以将构成电影分片的样本数以及构成1个MPU的电影分片数作为控制信息来保存并发送。
[0508] [接收装置的动作]
[0509] 说明基于如上述构成的电影分片的接收装置20的动作。
[0510] 接收装置20基于MPU时间戳描述符等从发送侧作为信令传输的绝对时刻、以及MF元所包含的PTS以及DTS的相对时刻,决定PTS以及DTS各自的绝对时刻。
[0511] 在基于MPU是否被分割成多个电影分片的信息而MPU被分割的情况下,接收装置20基于分割而得的电影分片的属性,如下记进行处理。
[0512] (1)接收装置20在电影分片为MPU的开头的电影分片时,利用MPU时间戳描述符所包含的开头样本的PTS的绝对时刻、以及MF元所包含的PTS以及DTS的相对时刻,生成PTS以及DTS的绝对时刻。
[0513] (2)接收装置20在电影分片并非MPU的开头的电影分片时,不利用MPU时间戳描述符的信息,而利用MF元所包含的PTS以及DTS的相对时刻,生成PTS以及DTS的绝对时刻。
[0514] (3)接收装置20在电影分片为MPU的最后的电影分片时,在算出所有的样本的PTS以及DTS的绝对时刻之后,复位PTS以及DTS的计算处理(相对时刻的相加处理)。另外,复位处理也可以在MPU开头的电影分片中实施。
[0515] 接收装置20也可以如下记针对电影分片是否被分割进行判定。此外,接收装置20也可以如下记取得电影分片的属性信息。
[0516] 例如,接收装置20也可以基于MMTP有效载荷头所示的表示电影分片的次序的识别符movie_fragment_sequence_number字段值判定是否被分割。
[0517] 具体而言,接收装置20也可以在1个MPU所包含的电影分片的数为1,并且,movie_fragment_sequence_number字段值为1,并且,该字段值存在2以上的值时,判定为该MPU被分割成多个电影分片。
[0518] 此外,接收装置20也可以在1个MPU所包含的电影分片的数为1,并且,movie_fragment_sequence_number字段值为0,并且,该字段值存在0以外的值时,判定为该MPU分割成多个电影分片。
[0519] 电影分片的属性信息也可以同样地基于movie_fragment_sequence_number判定。
[0520] 另外,也可以不利用movie_freagment_sequence_number,而通过对1个MPU所包含的电影分片或MF元的发送进行计数,判定电影分片是否被分割、或者电影分片的属性信息。
[0521] 通过如以上说明的发送装置15以及接收装置20的构成,接收装置20能够以短于MPU的间隔接收电影分片元数据,能够在低延迟下开始解码。此外,利用基于MP4分析的方法的解码处理,能够进行低延迟下的解码。
[0522] 利用流程图说明如以上说明那样地将MPU分割成多个电影分片时的接收动作。图41为将MPU分割成多个电影分片时的接收动作的流程图。另外,该流程图更为详细地图示出了图37的步骤S604的动作。
[0523] 首先,接收装置20基于MMTP有效载荷头所示的数据类别,在数据类别为MF元时,取得MF元数据(S801)。
[0524] 接着,接收装置20判定MPU是否被分割成多个电影分片(S802),在MPU分割成多个电影分片(S802的“是”)时,判定所接收的MF元数据是否是MPU开头的元数据(S803)。接收装置20在所接收的MF元数据为MPU开头的MF元数据(S803的“是”)时,通过MPU时间戳描述符所示的PTS的绝对时刻以及MF元数据所示的PTS以及DTS的相对时刻算出PTS以及DTS的绝对时刻(S804),并判定是否是MPU的最后的元数据(S805)。
[0525] 另一方面,接收装置20在所接收的MF元数据并非MPU开头的MF元数据(S803的“否”)时,不利用MPU时间戳描述符的信息而利用MF元数据所示的PTS以及DTS的相对时刻算出PTS以及DTS的绝对时刻(S808),过渡到步骤S805的处理。
[0526] 在步骤S805中,在判定为是MPU最后的MF元数据(S805的“是”)时,接收装置20在算出所有样本的PTS以及DTS的绝对时刻之后,复位PTS以及DTS的计算处理。在步骤S805中判定为并非MPU最后的MF元数据(S805的“否”)时,接收装置20结束处理。
[0527] 此外,在经步骤S802判定为MPU未被分割成多个电影分片(S802的“否”)时,接收装置20基于在MPU之后发送的MF元数据,取得样本数据,决定PTS以及DTS(S807)。
[0528] 并且,虽未图示,但接收装置20最后基于决定的PTS以及DTS实施解码处理、提示处理。
[0529] [分割电影分片时产生的问题及其解决策略]
[0530] 至此,说明了通过分割电影分片缩短端到端延迟的方法。此后说明分割电影分片时新产生的问题及其解决策略。
[0531] 首先,作为背景,说明编码数据中的图片结构。图42为实现时间可适性时的各TemporalId(时间ID)的图片的预测结构的例子的图。
[0532] 在MPEG-4AVC或HEVC(High Efficiency Video Coding:高效率视频解码)等编码方式中,通过利用能够从其他图片参照的B图片(双向参照预测图片),能够实现时间方向的可适性(时间可适性)。
[0533] 图42的(a)所示的TemporalId为编码结构的阶层的识别符,TemporalId的值越变大表示阶层越深。四方形的块表示图片,块内的Ix表示I图片(画面内预测图片),Px表示P图片(前方参照预测图片),Bx以及bx表示B图片(双向参照预测图片)。Ix/Px/Bx中的x示出显示顺序,表现显示图片的次序。图片之间的箭头表示参照关系,例如,表示B4的图片将I0、B8作为参照图像生成预测图像。在此,禁止一个图片使用具有大于自身的TemporalId的TemporalId的其他图片作为参照图像。规定le阶层是为了拥有时间可适性,例如,在图42中若对全部图片进行解码则得到120fps(frame per second:帧/秒)的影像,而若只对TemporalId为0至3的阶层进行解码则得到60fps的影像。
[0534] 图43为表示图42的各图片的解码时刻(DTS)与显示时刻(PTS)的关系的图。例如,图43所示的图片I0在B4的解码完成后进行显示,以便在解码以及显示中不产生间隙。
[0535] 如图43所示,在预测结构中包含有B图片时等,由于解码顺序与显示顺序不同,需要在接收装置20中对图片进行解码后进行图片的延迟处理以及图片的重排(重新排序)处理。
[0536] 以上,说明了时间方向的可适性下的图片的预测结构的例子,但有时在不利用时间方向的可适性时,也需要通过预测结构进行图片的延迟处理以及重新排序处理。图44为表示需要图片的延迟处理以及重新排序处理的图片的预测结构的一例的图。另外,图44中的数字表示解码顺序。
[0537] 如图44所示,根据预测结构,在解码顺序中为开头的样本与在提示顺序中为开头的样本有时不同,在图44中,在提示顺序中为开头的样本在解码顺序中为第4个样本。另外,图44表示预测结构的一例,预测结构不限于这样的结构。在其他预测结构中,在解码顺序中为开头的样本与在提示顺序中为开头的样本有时也不同。
[0538] 图45与图33同样地,为表示将以MP4形式构成的MPU分割为多个电影分片,并保存到MMTP有效载荷、MMTP包中的例子的图。另外,构成MPU的样本数或者构成电影分片的样本数是任意的。例如,也可以将构成MPU的样本数设为GOP单位的样本数,将GOP单位的二分之一的样本数作为电影分片,来构成2个电影分片。既可以将1个样本作为1个电影分片,也可以不分割构成MPU的样本。
[0539] 在图45中,示出了在1个MPU中包含有2个电影分片(moof框以及mdat框)的例子,但1个MPU所包含的电影分片也可以不为2个。1个MPU所包含的电影分片既可以为3个以上,也可以为MPU所包含的样本数。此外,在电影分片中保存的样本也可以并非等分的样本数,而是分割成任意的样本数。
[0540] 在电影分片元数据(MF元数据)中,包含有电影分片所包含的样本的PTS、DTS、偏移以及尺寸的信息,接收装置20在对样本进行解码时,从包含该样本的信息的MF元中提取PTS以及DTS,决定解码定时或提示定时。
[0541] 此后为便于详细说明,将i样本的解码时刻的绝对值记载为DTS(i),将提示时刻的绝对值记载为PTS(i)。
[0542] 在MF元的moof内保存的时间戳信息之中的第i个样本的信息具体而言,为第i个样本与第(i+1)个样本的解码时刻的相对值、以及第i个样本的解码时刻与提示时刻的相对值,以后将这些记载为DT(i)以及CT(i)。
[0543] 在电影分片元数据#1中,包含有样本#1-#3的DT(i)以及CT(i),在电影分片元数据#2中,包含有样本#4-#6的DT(i)以及CT(i)。
[0544] 此外,MPU开头的访问单元的PTS绝对值被保存到MPU时间戳描述符等中,接收装置20基于MPU开头的访问单元的PTS_MPU、CT以及DT算出PTS以及DTS。
[0545] 图46为用于说明在由#1-#10的样本构成MPU时的PTS以及DTS的算出方法以及问题的图。
[0546] 图46的(a)表示MPU未被分割成电影分片的例子,图46的(b)表示MPU被分割成5样本单位的2个电影分片的例子,图46的(c)表示MPU被按照样本单位分割成10个电影分片的例子。
[0547] 如通过图45所说明地,在利用MPU时间戳描述符与MP4内的时间戳信息(CT以及DT)算出PTS以及DTS时,在图44的提示顺序中为开头的样本在解码顺序中为第4个。因此,在MPU时间戳描述符中保存的PTS是在解码顺序中为第4个的样本的PTS(绝对值)。另外,在以后,将该样本称作“A样本”。此外,将在解码顺序为开头的样本称作“B样本”。
[0548] 由于时间戳所涉及的绝对时刻信息只是MPU时间戳描述符的信息,因此接收装置20直到A样本到达为止不能算出其他样本的PTS(绝对时刻)以及DTS(绝对时刻)。接收装置
20也不能算出B样本的PTS以及DTS。
[0549] 在图46的(a)的例子中,A样本包含于与B样本相同的电影分片内,被保存到1个MF元中。因此,接收装置20能够在接收到该MF元后,立即决定B样本的DTS。
[0550] 在图46的(b)的例子中,A样本包含于与B样本相同的电影分片内,并被保存到1个MF元中。因此,接收装置20能够在接收到该MF元后,立即决定B样本的DTS。
[0551] 在图46的(c)的例子中,A样本包含于与B样本不同的电影分片内。因此,接收装置20除非是在接收到含有包括A样本的电影分片的CT以及DT的MF元之后,就不能决定B样本的DTS。
[0552] 因此,在图46的(c)的例子的情况下,接收装置20在B样本到达后,不能立即开始解码。
[0553] 如此地,若在包含B样本的电影分片中未包含A样本,则接收装置20除非是在接收到包括A样本的电影分片所涉及的MF元之后,就不能开始B样本的解码。
[0554] 在提示顺序中的开头的样本与在解码顺序中的开头的样本不一致的情况下,由于电影分片被分割到A样本与B样本不被保存到同一电影分片中的程度,就会产生该问题。此外,与MF元后送还是先送无关地产生该问题。
[0555] 如此地,在提示顺序中的开头的样本与在解码顺序中的开头的样本不一致时,若A样本与B样本未保存到同一电影分片中,则在接收到B样本后,不能立即决定DTS。于是,发送装置15另行发送在接收侧可算出B样本的DTS(绝对值)或B样本的DTS(绝对值)的信息。这样的信息也可以利用控制信息或包头等发送。
[0556] 接收装置20利用这样的信息算出B样本的DTS(绝对值)。图47为在利用这样的信息算出DTS时的接收动作的流程图。
[0557] 接收装置20接收MPU开头的电影分片(S901),判定A样本与B样本是否保存在同一电影分片中(S902)。在保存在同一电影分片中(S902的“是”)时,接收装置20不利用B样本的DTS(绝对时刻)而只利用MF元的信息算出DTS,开始解码(S904)。另外,在步骤S904中,接收装置20也可以利用B样本的DTS决定DTS。
[0558] 另一方面,在步骤S902中A样本与B样本未保存在同一电影分片中(S902的“否”)时,接收装置20取得B样本的DTS(绝对时刻),决定DTS,开始解码(S903)。
[0559] 另外,在以上的说明中,说明了利用MMT标准中的MF元(在MP4形式的moof内保存的时间戳信息),算出各样本的解码时刻的绝对值与提示时刻的绝对值的例子,但不言自明的是,也可以将MF元置换成能够用于算出各样本的解码时刻的绝对值与提示时刻的绝对值的任意的控制信息进行实施。作为这样的控制信息的例子,存在将上述的第i个样本与第(i+1)个样本的解码时刻的相对值CT(i)置换成第i个样本与(i+1)个样本的提示时刻的相对值的控制信息、或者包含第i个样本与第(i+1)个样本的解码时刻的相对值CT(i)以及第i个样本第(i+1)个样本的提示时刻的相对值这双方的控制信息等。
[0560] (实施方式3)
[0561] [概要]
[0562] 在实施方式3中,说明在通过广播传送影像、声音、字幕以及数据广播等的内容的情况下的内容的发送方法以及数据构造。即,说明为了广播流的再现而特殊化的内容的发送方法以及数据构造。
[0563] 另外,在实施方式3中,说明使用MMT方式(以下也仅记作MMT)作为复用方式的例子,但也可以使用MPEG-DASH或RTP等其他复用方式。
[0564] 首先,说明MMT中的数据单元(DU:Data Unit)向有效载荷的存放方法的详细情况。图48是用于说明MMT中的数据单元向有效载荷的存放方法的图。
[0565] 在MMT中,发送装置将构成MPU的数据的一部分作为数据单元存放在MMTP有效载荷中,附加头并传送。在头中包含MMTP有效载荷头以及MMTP包头。另外,数据单元的单位既可以是NAL单元单位,也可以是样本单位。在MMTP包被搅乱的情况下,有效载荷成为搅乱的对象。
[0566] 图48的(a)表示发送装置将多个数据单元汇总地存放至一个有效载荷的例子。在图48的(a)的例子中,对多个数据单元各自的开头赋予数据单元头(DUH:Data Unit Header)以及数据单元长度(DUL:Data Unit Length),被赋予了数据单元头和数据单元长度的数据单元被汇总多个并存放至有效载荷。
[0567] 图48的(b)表示将一个数据单元存放至一个有效载荷的例子。在图48的(b)的例子中,对数据单元的开头赋予数据单元头并存放至有效载荷。图48的(c)表示对一个数据单元进行分割,对分割后的数据单元赋予数据单元头并存放至有效载荷的例子。
[0568] 数据单元存在如下等种类:作为包含与影像、声音或字幕等的同步相关的信息在内的媒体的timed-MFU、作为文件等不包含与同步相关的信息的媒体的non-timed-MFU、MPU元数据、MF元数据等,根据数据单元的种类来决定数据单元头。另外,MPU元数据以及MF元数据中不存在数据单元头。
[0569] 另外,发送装置作为原则不能将不同种类的数据单元汇总,但也可以规定为能够将不同种类的数据单元汇总。例如,在按每个样本分割至电影分片的情况等MF元数据的尺寸小的情况下,通过将MF元数据与媒体数据汇总,能够减少包数,进而还能够减少传送容量。
[0570] 在数据单元是MFU的情况下,用于构成MPU(MP4)的信息等MPU的一部分信息被作为头存放。
[0571] 例如,在timed-MFU的头中,包含movie_fragment_sequence_number、sample_number、offset、priority及dependency_counter等,在non-timed-MFU的头中包含item_iD。各字段的含义在ISO/IEC23008-1或ARIB STD-B60等标准中被示出。以下,说明在这样的标准中规定的各字段的含义。
[0572] movie_fragment_sequence_number表示MFU所属的电影分片的序列号,在ISO/IEC14496-12中也被示出。
[0573] sample_number表示该MFU所属的样本号,在ISO/IEC14496-12中也被示出。
[0574] offset以字节单位表示该MFU所属的样本中的MFU的偏移量。
[0575] priority表示该MFU所属的MPU中的MFU的相对重要度,表示priority的数字大的MFU比priority的数字小的MFU重要。
[0576] dependency_counter表示解码处理依赖于该MFU的MFU数量(即,如果不对该MFU进行解码处理,则无法进行该解码处理的MFU的数量)。例如,在MFU为HEVC时B图片或P图片参照I图片的情况下,如果不对I图片进行解码处理,则该B图片或P图片无法进行解码处理。
[0577] 因此,在MFU为样本单位的情况下,在I图片的MFU中的dependency_counter中,示出参照该I图片的图片数量。在MFU为NAL单元单位的情况下,在属于I图片的MFU中的dependency_counter中,示出属于参照该I图片的图片的NAL单元数量。进而,在被进行了时间方向阶层编码的影像信号的情况下,扩展层的MFU由于依赖于基础层的MFU,因此在基础层的MFU中的dependency_counter中,示出扩展层的MFU的数量。如果不是在决定了依赖的MFU数量之后,则无法生成本字段。
[0578] item_iD表示唯一地确定项目的识别符。
[0579] [MP4非支持模式]
[0580] 如在图19以及图21中说明的那样,作为发送装置传送MMT中的MPU的方法,存在将MPU元数据或MF元数据在媒体数据之前或之后发送的方法、以及仅发送媒体数据的方法。另外,在接收装置中,存在使用遵循MP4的接收装置或接收方法来进行解码的方法、以及不使用头地进行解码的方法。
[0581] 作为针对广播流再现而特殊化的数据的发送方法,例如存在不支持接收装置中的MP4重构的发送方法。
[0582] 作为不支持接收装置中的MP4重构的发送方法,例如图21的(b)所示,是不发送元数据(MPU元数据及MF元数据)的方法。该情况下,MMTP包中包含的分片类型(表示数据单元的种类的信息)的字段值固定为2(=MFU)。
[0583] 在不发送元数据的情况下,如此前说明,在遵循MP4的接收装置等中,无法将接收的数据解码为MP4,但能够不使用元数据(头)地进行解码。
[0584] 因此,元数据并不是广播流解码及再现所一定需要的信息。同样,图48中说明的timed-MFU中的数据单元头的信息是用于在接收装置中重构MP4的信息。由于在广播流再现中不需要重构MP4,timed-MFU中的数据单元头(以下也记作timed-MFU头)的信息不是广播流再现所一定需要的信息。
[0585] 接收装置通过使用元数据以及数据单元头中的用于重构MP4的信息(以下也记作MP4构成信息),能够容易地重构MP4。但是,接收装置即使被传送了元数据以及数据单元头中的MP4构成信息中的仅某一方,也无法容易地重构MP4。传送元数据以及用于重构MP4的信息中的仅某一方所带来的优点少,生成及传送不需要的信息导致处理增多或传送效率降低。
[0586] 因此,发送装置使用下述方法控制MP4构成信息的数据构造、传送。发送装置基于元数据是否被传送,决定在数据单元头中是否表示MP4构成信息。具体而言,发送装置在传送元数据的情况下,在数据单元头中表示MP4构成信息,在不传送元数据的情况下,在数据单元头中不表示MP4构成信息。
[0587] 作为在数据单元头中不表示MP4构成信息的方法,例如能够使用下述方法。
[0588] 1.发送装置将MP4构成信息设为保留(reserved),不进行运用。由此,能够减少生成MP4构成信息的送出侧的处理量(发送装置的处理量)。
[0589] 2.发送装置删除MP4构成信息,并进行头压缩。由此,能够减少生成MP4构成信息的送出侧的处理量,并且能够减少传送容量。
[0590] 另外,发送装置在删除MP4构成信息并进行头压缩的情况下,也可以示出表示删除(压缩)了MP4构成信息的标志。标志在头(MMTP包头、MMTP有效载荷头、数据单元头)或控制信息等中被示出。
[0591] 另外,作为表示是否传送元数据的信息,既可以预先决定,也可以另行在头或控制信息中进行信令传输(signaling),并传送至接收装置。
[0592] 例如,也可以在MFU头中存放表示是否传送与该MFU对应的元数据的信息。
[0593] 另一方面,接收装置基于是否被传送了元数据,能够判定MP4构成信息是否被表示。
[0594] 在此,在数据的发送顺序(例如MPU元数据、MF元数据、媒体数据这样的顺序)被决定的情况下,接收装置也可以基于是否在媒体数据之前接收了元数据来进行判定。
[0595] 在MP4构成信息被表示的情况下,接收装置将MP4构成信息用于MP4的重构。或者,接收装置能够在检测其他的访问单元或NAL单元的开头等时使用MP4构成信息。
[0596] 另外,MP4构成信息既可以是timed-MFU头的全部,也可以是其一部分。
[0597] 另外,发送装置在non-timed-MFU头中也可以同样地,基于是否传送元数据,决定在non-timed-MFU头中是否表示item id。
[0598] 发送装置也可以仅在timed-MFU和non-timed-MFU的某一方中表示MP4构成信息。在仅在某一方中表示MP4构成信息的情况下,发送装置不仅基于是否传送元数据,还基于是timed-MFU还是non-timed-MFU来决定是否表示MP4构成信息。在接收装置中,基于是否传送元数据、以及timed/non-timed标志,能够判定MP4构成信息是否被表示。
[0599] 另外,在以上的说明中,发送装置基于是否传送元数据(MPU元数据及MF元数据双方)来决定是否表示MP4构成信息。但是,发送装置也可以设为:在未发送元数据的一部分(MPU元数据、MF元数据中的某一方)的情况下,不表示MP4构成信息。
[0600] 另外,发送装置也可以基于元数据以外的其他信息决定是否表示MP4构成信息。
[0601] 例如,也可以设为:定义像MP4支持模式/MP4非支持模式那样的模式,发送装置在MP4支持模式的情况下,在数据单元头中表示MP4构成信息,在MP4非支持模式的情况下,在数据单元头中不表示MP4构成信息。另外,也可以设为:发送装置在MP4支持模式的情况下,传送元数据,且在数据单元头中表示MP4构成信息,在MP4非支持模式的情况下,不传送元数据,在数据单元头中也不表示MP4构成信息。
[0602] [发送装置的动作流程]
[0603] 接下来,说明发送装置的动作流程。图49是发送装置的动作流程。
[0604] 发送装置首先判定是否传送元数据(S1001)。发送装置在判定为传送元数据的情况下(S1002中是),转移至步骤S1003,生成MP4构成信息,且存放在头中并传送(S1003)。该情况下,发送装置也生成元数据且传送。
[0605] 另一方面,发送装置在判定为不传送元数据的情况下(S1002中否),不生成MP4构成信息,且也不存放在头中地传送(S1004)。该情况下,发送装置不生成元数据,不传送。
[0606] 另外,在步骤S1001中是否传送元数据,既可以预先决定,也可以基于在发送装置的内部是否生成了元数据、在发送装置的内部元数据是否被传送来判定。
[0607] [接收装置的动作流程]
[0608] 接下来,说明接收装置的动作流程。图50是接收装置的动作流程。
[0609] 接收装置首先判定元数据是否被传送(S1101)。通过监视MMTP包有效载荷中的分片类型,能够判定元数据是否被传送。另外,也可以预先决定是否传送。
[0610] 接收装置在判定为元数据被传送的情况下(S1102中是),重构MP4,且执行使用MP4构成信息的解码处理(S1103)。另一方面,在判定为元数据未被传送的情况下(S1102中否),不进行MP4的重构处理,且不使用MP4构成信息地执行解码处理(S1104)。
[0611] 另外,接收装置使用此前说明的方法,能够不使用MP4构成信息地进行随机访问点的检测、访问单元开头的检测、NAL单元开头的检测等,能够进行解码处理、丢包的检测以及从丢包的恢复处理。
[0612] 例如,在如图38所示将非VCL NAL单元个别地作为数据单元并进行汇总的情况下,访问单元开头是aggregation_flag值为1的MMT有效载荷的开头数据。此时,Fragmentation_indicator值为0。
[0613] 另外,切片段的开头是aggregation_flag值为0、fragmentation_indicator值为00或01的MMT有效载荷的开头数据。
[0614] 接收装置基于如上信息,能够进行访问单元开头的检测以及切片段的检测。
[0615] 另外,接收装置也可以在包含fragmentation_indicator值为00或01的数据单元的开头的包中,解析NAL单元头,对NAL单元的种类是AU定界符以及NAL单元的种类是切片段进行检测。
[0616] [广播简单模式]
[0617] 此前,作为针对广播流再现而特殊化的数据的发送方法,说明了不支持接收装置中的MP4构成信息的方法,但针对广播流再现而特殊化的数据的发送方法不限于此。
[0618] 作为针对广播流再现而特殊化的数据的发送方法,例如也可以使用下述方法。
[0619] ·发送装置在广播的固定接收环境下也可以不使用AL-FEC。在不使用AL-FEC的情况下,MMTP包头中的FEC_type总是固定为0。
[0620] ·发送装置在广播的移动接收环境以及通信UDP传送模式下,也可以总是使用AL-FEC。在使用AL-FEC的情况下,MMTP包头中的FEC_type总是为0或1。
[0621] ·发送装置也可以不进行资源的批量传送。在不进行资源的批量传送的情况下,表示MPT内部的资源的传送位置数量的location_infolocation固定为1即可。
[0622] ·发送装置也可以不进行资源、程序以及消息的混合传送。
[0623] 另外,例如也可以规定广播简单模式,发送装置在广播简单模式的情况下设为MP4非支持模式,或者使用上述示出的针对广播流再现而特殊化的数据的发送方法。是否为广播简单模式既可以预先决定,发送装置也可以将表示是广播简单模式的标志作为控制信息存放,并传送至接收装置。
[0624] 另外,发送装置也可以基于图49中说明的是否为MP4非支持模式(是否传送元数据),在MP4非支持模式的情况下,作为广播简单模式,使用上述示出的针对广播流再现而特殊化的数据的发送方法。
[0625] 接收装置在广播简单模式的情况下,设为MP4非支持模式,能够不重构MP4地进行解码处理。
[0626] 另外,接收装置在广播简单模式的情况下,判定为针对广播而特殊化的功能,能够针对广播而特殊化地进行接收处理。
[0627] 由此,在广播简单模式的情况下,通过仅使用针对广播而特殊化的功能,不仅能够减少对发送装置及接收装置而言无用的处理,而且通过压缩无用的信息而不进行传送,还能够减少传送花销。
[0628] 另外,在使用MP4非支持模式的情况下,也可以示出支持MP4构成以外的蓄积方法的提示信息。
[0629] 作为MP4构成以外的蓄积方法,例如存在将MMT包或IP包直接蓄积的方法、将MMT包转换为MPEG-2TS包的方法等。
[0630] 另外,在MP4非支持模式的情况下,也可以使用不遵循MP4构成的格式。
[0631] 例如,作为MFU中存放的数据,在MP4非支持模式的情况下,也可以不是在作为MP4形式的NAL单元的开头附加了NAL单元的尺寸的形式,而设为附加了字节开头码的形式。
[0632] 在MMT中,表示资源的类型的资源类型被记载在MP4REG(http://www.mp4ra.org)中注册的4CC中,在使用HEVC作为影像信号的情况下,使用“HEV1”或“HVC1”。“HVC1”是在样本之中也可以包含参数集的形式,“HEV1”是在样本之中不包含参数集、而在MPU元数据中的样本入口中包含参数集的形式。
[0633] 在广播简单模式或MP4非支持模式的情况下也可以规定为,在不传送MPU元数据及MF元数据的情况下,必须在样本之中包含参数集。另外,也可以规定为:无论资源类型表示“HEV1”和“HVC1”中的哪一个,都必须采取“HVC1”的形式。
[0634] [补充1:发送装置]
[0635] 如以上那样地,也能够如图51那样构成在不发送元数据的情况下将MP4构成信息设为保留(reserved)而不进行运用的发送装置。图51是表示发送装置的具体结构的例子的图。
[0636] 发送装置300具备编码部301、赋予部302和发送部303。编码部301、赋予部302及发送部303分别例如由微型计算机、处理器或专用电路等实现。
[0637] 编码部301对影像信号或声音信号进行编码来生成样本数据。样本数据具体而言是数据单元。
[0638] 赋予部302对作为影像信号或声音信号被编码而成的数据的样本数据,赋予包含MP4构成信息的头信息。MP4构成信息是用于在接收侧将该样本数据重构为MP4格式的文件的信息,且是内容根据样本数据的提示时刻是否被决定而不同的信息。
[0639] 如上所述,赋予部302在作为提示时刻被决定的样本数据(包含与同步相关的信息的样本数据)的一例的timed-MFU的头(头信息)中,包含movie_fragment_sequence_number、sample_number、offset、priority及dependency_counter等MP4构成信息。
[0640] 另一方面,赋予部302在作为提示时刻未被决定的样本数据(不包含与同步相关的信息的样本数据)的一例的timed-MFU的头(头信息)中,包含item_id等MP4构成信息。
[0641] 另外,在由发送部303没有发送与样本数据对应的元数据的情况(例如图21的(b)的情况)下,赋予部302根据样本数据的提示时刻是否被决定,将不包含MP4构成信息的头信息赋予给样本数据。
[0642] 赋予部302具体而言,在样本数据的提示时刻被决定的情况下,将不包含第一MP4构成信息的头信息赋予给样本数据,在样本数据的提示时刻未被决定的情况下,将包含第二MP4构成信息的头信息赋予给上述样本数据。
[0643] 例如,赋予部302如图49的步骤S1004所示,在由发送部303未发送与样本数据对应的元数据的情况下,将MP4构成信息设为保留(固定值),由此在实质上不生成MP4构成信息,且在实质上不存放在头(头信息)中。另外,在元数据中包含MPU元数据以及电影分片元数据。
[0644] 发送部303发送被赋予了头信息的样本数据。发送部303更具体而言,以MMT方式对被赋予了头信息的样本数据进行打包并发送。
[0645] 如上所述,在针对广播流的再现而特殊化的发送方法以及接收方法中,接收装置侧不需要将数据单元重构为MP4。在接收装置不需要重构为MP4的情况下,通过不生成MP4构成信息等无用的信息,减少了发送装置的处理。
[0646] 另一方面,发送装置需要保持与标准的匹配性,以便必须发送需要的信息,但不用另行发送多余的追加信息等即可。
[0647] 根据像发送装置300那样的结构,将MP4构成信息被存放的区域设为固定值等,由此不发送MP4构成信息,而基于标准仅发送需要的信息,能够得到不发送多余的追加信息即可的效果。即,能够减少发送装置的结构以及接收装置的处理量。另外,由于不发送无用的数据,能够提高传送效率。
[0648] [补充2:接收装置]
[0649] 另外,与发送装置300对应的接收装置例如也可以如图52那样构成。图52是表示接收装置的构成的其他例子的图。
[0650] 接收装置400具备接收部401和解码部402。接收部401以及解码部402例如通过微型计算机、处理器或专用电路等实现。
[0651] 接收部401接收样本数据,该样本数据是影像信号或声音信号被编码而成的数据,且被赋予了包含MP4构成信息的头数据,该MP4构成信息用于将该样本数据重构为MP4格式的文件。
[0652] 解码部402在由接收部未接收到与样本数据对应的元数据,且样本数据的提示时刻被决定的情况下,不使用MP4构成信息地对样本数据进行解码。
[0653] 例如,解码部402如图50的步骤S1104所示,在由接收部401未接收到与样本数据对应的元数据的情况下,不使用MP4构成信息地执行解码处理。
[0654] 由此,能够减少接收装置400的结构以及接收装置400中的处理量。
[0655] (实施方式4)
[0656] [概要]
[0657] 在实施方式4中,说明文件等不包含与同步相关的信息的非同步(non-timed)媒体向MPU的存放方法、以及在MMTP包中的传送方法。另外,在实施方式4中,以MMT中的MPU为例进行说明,但在同样基于MP4的DASH中也能够适用。
[0658] 首先,利用图53说明non-timed媒体(以下也称为“非同步媒体数据”)向MPU的存放方法的详细内容。图53是表示non-timed媒体向MPU的存放方法、以及在MMT包中的传送方法的图。
[0659] 存放non-timed媒体的MPU由ftyp、mmpu、moov、meta等框(box)构成,存放与MPU中存放的文件相关的信息。在meta框内能够存放多个idat框,在idat框中一个文件作为item(项目)被存放。
[0660] ftyp、mmpu、moov、meta框的一部分作为MPU元数据构成一个数据单元,item或idat框作为MFU构成数据单元。
[0661] 数据单元在被汇总或分片之后,被赋予数据单元头、MMTP有效载荷头以及MMTP包头并作为MMTP包传送。
[0662] 另外,在图53中,示出了File#1和File#2被存放在一个MPU中的例子。MPU元数据不被分割,另外,MFU被分割并存放在MMTP包中,但不限于此,也可以根据数据单元的尺寸被汇总或分片。另外,MPU元数据也可以不被传送,该情况下仅传送MFU。
[0663] 在数据单元头等头信息中,示出itemID(唯一地确定项目的识别符),在MMTP有效载荷头或MMTP包头中,包含包序列号(每个包的序列号)以及MPU序列号(MPU的序列号、在资源内唯一的编号)。
[0664] 另外,数据单元头以外的MMTP有效载荷头或MMTP包头的数据构造与此前说明的timed媒体(以下也称为“同步媒体数据”)同样,包含aggregation_flag、fragmentation_indicator、fragment_counter等。
[0665] 接下来,利用图54及图55说明对文件(=Item=MFU)进行分割并打包的情况下的头信息的具体例。
[0666] 图54及图55是表示按通过将文件分割而得到的多个分割数据中的每个分割数据打包并传送的例子的图。图54及图55具体而言,表示作为分割后的每个MMTP包的头信息的数据单元头、MMTP有效载荷头、MMTP包头中的某一个所包含的信息(包序列号、分片计数器、分片标识符、MPU序列号、项目ID)。另外,图54是表示File#1被分割为M个(M<=256)的例子的图,图55是表示File#2被分割为N个(256
[0667] 分割数据号表示分割数据相对于文件开头的索引,该信息不被传送。即,分割数据号不被包含在头信息中。另外,分割数据号是对与通过将文件分割而得到的多个分割数据分别对应的包附加的编号,是从开头的包以升序逐个加1来赋予的编号。
[0668] 包序列号是具有相同的包ID的包的序列号,在图54及图55中,将文件开头的分割数据作为A,直到文件最后的分割数据赋予连续的编号。包序列号是从文件开头的分割数据以升序逐个加1来赋予的编号,是与分割数据号对应的编号。
[0669] 分片计数器表示通过将一个文件分割而得到的多个分割数据之中比该分割数据靠后的多个分割数据的数量。另外,在通过将一个文件分割而得到的多个分割数据的数量即分割数据数量超过256的情况下,分片计数器表示用分割数据数量除以256所得到的余数。在图54的例子中,由于分割数据数量为256以下,所以分片计数器的字段值为(M-分割数据号)。另一方面,在图55的例子中,由于分割数据数量超过256,所以成为用(N-分割数据号)除以256而得到的值((N-分割数据号)%256)。
[0670] 另外,分片标识符表示MMTP包中存放的数据的分割的状态,是表示是分割后的数据单元中开头的分割数据、是最后的分割数据、是此外的分割数据、或者是未被分割的一个以上的数据单元的值。具体而言,分片标识符在开头的分割数据时为“01”,在最后的分割数据时为“11”,在其余分割数据时为“10”,在未分割的数据单元时为“00”。
[0671] 在本实施方式中,说明了在分割数据数量超过256的情况下表示用分割数据数量除以256而得到的余数,但分割数据数量不限于256,也可以是其他数量(规定数量)。
[0672] 在如图54及图55所示将文件分割,对通过将文件分割而得到的多个分割数据分别赋予以往的头信息并传送的情况下,在接收装置中不存在如下信息:接收的MMTP包中存放的数据在原文件中是第几个分割数据(分割数据号)、以及文件的分割数据数量、或者能够导出分割数据号及分割数据数量的信息。因此,在以往的传送方法中,即使接收了MMTP包,也无法唯一地检测出所接收的MMTP包中存放的数据的分割数据号或分割数据数量。
[0673] 例如,如图54那样分割数据数量为256以下,分割数据数量预先已知为256以下的情况下,通过参照分片计数器,能够确定分割数据号或分割数据数量。但是,在分割数据数量为256以上的情况下,无法确定分割数据号或分割数据数量。
[0674] 另外,在将文件的分割数据数量限制为256以下的情况下,在将以一个包能够传送的数据尺寸作为x字节时,能够传送的文件的最大尺寸被限制为x*256字节。例如,在广播中假设x=4k字节,该情况下,能够传输的文件的最大尺寸被限制为4k*256=1M字节。因此,在希望传送超过1M字节的文件的情况下,无法将文件的分割数据数量限制为256以下。
[0675] 另外,例如通过参照分片标识符能够检测出文件的开头的分割数据或最后的分割数据,因此直到接收到包括文件的最后的分割数据的MMTP包为止对MMTP包数量进行计数,或者在接收到包括文件的最后的分割数据的MMTP包之后,与包序列号组合,从而能够计算分割数据号或分割数据数量,所以也可以通过组合分片标识符和包序列号来对分割数据号及分割数据数量进行信令传输。但是,在从包括文件的中途的分割数据(即,既不是文件的开头的分割数据也不是文件的最后的分割数据的分割数据)的MMTP包开始接收的情况下,无法确定该分割数据的分割数据号或分割数据数量。该分割数据的分割数据号或分割数据数量在接收到包括文件最后的分割数据的MMTP包之后才能确定。
[0676] 图54及图55中说明的课题,即为了在从中途开始接收包括文件的分割数据的包的时刻,唯一地确定文件的分割数据的分割数据号及分割数据数量,而使用如下方法。
[0677] 首先,说明分割数据号。
[0678] 关于分割数据号,对文件(item)的开头的分割数据中的包序列号进行信令传输。
[0679] 作为信令传输的方法,存放在管理文件的控制信息中。具体而言,将图54及图55中文件的开头的分割数据的包序列号A存放在控制信息中。在接收装置中,根据控制信息取得A的值,根据包头中表示的包序列号计算分割数据号。
[0680] 分割数据的分割数据号通过从该分割数据的包序列号减去开头的分割数据的包序列号A来求出。
[0681] 作为管理文件的控制信息,例如有ARIB STD-B60中规定的资源管理表。在资源管理表中,按每个文件,示出文件尺寸或版本信息等,存放在数据传送消息中并传送。图56是表示资源管理表中的每个文件的循环的语法的图。
[0682] 在无法扩展现有的文件管理表的区域的情况下,也可以使用表示项目的信息的item_info_byte字段的一部分的32比特的区域来进行信令传输。在item_info_byte的一部分区域中,也可以将表示文件(item)的开头的分割数据中的包序列号是否被表示的标志,表示在控制信息的例如reserved_future_use字段中。
[0683] 在数据轮播等反复传送文件的情况下,既可以表示多个包序列号,也可以表示紧后传送的文件的开头的包序列号。
[0684] 不限于文件开头的分割数据的包序列号,只要是将文件的分割数据号与包序列号建立关联的信息即可。
[0685] 接下来,说明分割数据数量。
[0686] 也可以将资源管理表中包含的每个文件的循环的顺序,规定为文件的传送顺序。由此,可知在传送顺序中连续的两个文件的开头的包序列号,因此通过从之后传送的文件的开头包序列号减去之前传送的文件的开头包序列号,能够确定之前传送的文件的分割数据数量。即,例如,在图54所示的File#1与图55所示的File#2是以该顺序连续的文件的情况下,File#1的最后的包序列号与File#2的开头的包序列号被赋予连续的编号。
[0687] 另外,也可以通过规定文件的分割方法,来规定为能够确定文件的分割数据数量。例如,在分割数据数量为N的情况下,通过将第1~(N-1)个分割数据各自的尺寸设为L,并将第N个分割数据的尺寸规定为尾数(item_size-L*(N-1)),能够根据资源管理表中表示的item_size逆算出分割数据数量。该情况下,针对(item_size/L)将尾数进位而得到的整数值成为分割数据数量。另外,文件的分割方法不限于此。
[0688] 另外,也可以将分割数据数量直接存放在资源管理表中。
[0689] 在接收装置中,通过使用上述方法,接收控制信息,并基于控制信息计算分割数据数量。另外,能够基于控制信息计算与文件的分割数据号对应的包序列号。另外,在分割数据的包的接收定时比控制信息的接收定时早的情况下,也可以在接收到控制信息的定时计算分割数据号或分割数据数量。
[0690] 另外,在使用上述方法对分割数据号或分割数据数量进行信令传输的情况下,不基于分片计数器确定分割数据号或分割数据数量,分片计数器成为无用的数据。因此,在非同步媒体的传送中,在使用上述方法等对能够确定分割数据号及分割数据数量的信息进行了信令传输的情况下,也可以不运用分片计数器,或者进行头压缩。由此,能够减少发送装置、接收装置的处理量,还能够提高传送效率。即,在发送非同步媒体的情况下,也可以将分片计数器设为保留(无效化)。具体而言,也可以将分片计数器的值设为例如“0”这样的固定值。另外,在接收非同步媒体的情况下,也可以忽视分片计数器。
[0691] 在存放影像或声音等同步媒体的情况下,送出装置中的MMTP包的发送顺序与接收装置中的MMTP包的到达顺序一致,且不重发包。在这种情况下,如果不需要检测丢包并重构,则也可以设为不运用分片计数器。换言之,在该情况下,也可以将分片计数器设为保留(无效化)。
[0692] 另外,即使不使用分片计数器,也能够进行随机访问点的检测、访问单元开头的检测、NAL单元开头的检测等,能够进行解码处理、丢包的检测、从丢包的恢复处理。
[0693] 另外,在实况广播等实时的内容的传送中,要求更低延迟的传送,要求从编码完成的数据依次打包并送出。但是,在实时的内容的传送中,以往的分片计数器无法在送出开头的分割数据时决定分割数据数量,因此开头的分割数据的送出要等到数据单元的编码全部完成并决定了分割数据数量之后,产生延迟。在这种情况下,通过使用上述方法不运用分片计数器,该能够减少该延迟。
[0694] 图57是接收装置中的确定分割数据号的动作流程。
[0695] 接收装置取得记载了文件的信息的控制信息(S1201)。接收装置判定控制信息中是否表示了文件开头的包序列号(S1202),在控制信息中表示了文件开头的包序列号的情况下(S1202中是),计算与文件的分割数据的分割数据号对应的包序列号(S1203)。然后,接收装置在取得了存放分割数据的MMTP包之后,根据取得的MMTP包的包头中存放的包序列号,确定文件的分割数据号(S1204)。另一方面,接收装置在控制信息中没有表示文件开头的包序列号的情况下(S1202中否),在取得了包含文件最后的分割数据的MMTP包之后,使用取得的MMTP包的包头中存放的分片标识符、以及包序列号,确定分割数据号(S1205)。
[0696] 图58是接收装置中确定分割数据数量的动作流程。
[0697] 接收装置取得记载了文件的信息的控制信息(S1301)。接收装置判定控制信息中是否包含能够计算出文件的分割数据数量的信息(S1302),在判定为包含能够计算出分割数据数量的信息的情况下(S1302中是),基于控制信息所包含的信息计算分割数据数量(S1303)。另一方面,接收装置在判定为不能够计算出分割数据数量的情况下(S1302中否),在取得了包含文件最后的分割数据的MMTP包之后,使用取得的MMTP包的包头中存放的分片标识符、以及包序列号,确定分割数据数量(S1304)。
[0698] 图59是发送装置中用于决定是否运用分片计数器的动作流程。
[0699] 首先,发送装置判定要传送的媒体(以下也称为“媒体数据”)是同步媒体还是非同步媒体(S1401)。
[0700] 在步骤S1401中的判定的结果是同步媒体的情况下(S1402中同步媒体),发送装置判定是否在传送同步媒体的环境中收发的MMTP包顺序一致、且丢包时不需要重构包(S1403)。发送装置在判定为不需要的情况下(S1403中是),不运用分片计数器(S1404)。另一方面,发送装置在判定为不是不需要的情况下(S1403中否),运用分片计数器(S1405)。
[0701] 在步骤S1401中的判定的结果是非同步媒体的情况下(S1402中非同步媒体),发送装置基于是否使用上述说明的方法对分割数据号、分割数据数量进行了信令传输,决定是否运用分片计数器。具体而言,发送装置在对分割数据号、分割数据数量进行信令传输的情况下(S1406中是),不运用分片计数器(S1404)。另一方面,发送装置在不对分割数据号、分割数据数量进行信令传输的情况下(S1406中否),运用分片计数器(S1405)。
[0702] 另外,发送装置在不运用分片计数器的情况下,也可以将分片计数器的值作为保留,也可以进行头压缩。
[0703] 另外,发送装置也可以基于是否运用分片计数器,决定是否对上述分割数据号、分割数据数量进行信令传输。
[0704] 另外,发送装置在同步媒体不运用分片计数器的情况下,也可以在非同步媒体中使用上述方法对分割数据号、分割数据数量进行信令传输。反之,也可以基于非同步媒体是否运用分片计数器,决定同步媒体的运用。该情况下,在同步媒体和非同步媒体中,能够将是否运用分片设为相同的运用。
[0705] 接下来,说明确定分割数据数量、分割数据号的方法(利用分片计数器的情况)。图60是用于说明确定分割数据数量、分割数据号的方法(利用分片计数器的情况)的图。
[0706] 如利用图54说明的那样,在分割数据数量为256以下,且分割数据数量预先已知为256以下的情况下,通过参照分片计数器,能够确定分割数据号或分割数据数量。
[0707] 在将文件的分割数据数量限制为256以下的情况下,在将以一个包能够传送的数据尺寸作为x字节时,能够传送的文件的最大尺寸被限制为x*256字节。例如,在广播中假设x=4k字节,该情况下,能够传输的文件的最大尺寸被限制为4k*256=1M字节。
[0708] 在文件尺寸超过能够传送的文件的最大尺寸的情况下,预先对文件进行分割,以使分割文件的尺寸成为x*256字节以下。通过将文件分割而得到的多个分割文件分别被作为一个文件(item)处理,进一步被分割为256以内,通过进一步分割而得到的分割数据分别被存放在MMTP包中并传送。
[0709] 另外,也可以将表示项目是分割文件的信息、分割文件数量、分割文件的序列号存放在控制信息中,并发送给接收装置。另外,也可以将这些信息存放在资源管理表中,也可以使用现有的字段item_info_byte的一部分表示。
[0710] 接收装置在项目是将一个文件分割而得到的多个分割文件之中的一个分割文件的情况下,确定其他分割文件,能够重构原文件。另外,在接收装置中,通过使用控制信息中的分割文件的分割文件数量、分割文件的索引、以及分片计数器,能够唯一地确定分割数据数量、分割数据号。另外,能够不使用包序列号等地唯一确定分割数据数量、分割数据号。
[0711] 在此,通过将一个文件分割而得到的多个分割文件各自的item_id优选相互相同。另外,在赋予其他item_id的情况下,为了根据其他控制信息等唯一地参照文件,也可以表示开头的分割文件的item_id。
[0712] 另外,多个分割文件也可以必须属于相同的MPU。在MPU中存放多个文件的情况下,也可以不存放多个种类的文件,而必须存放分割一个文件而得到的文件。接收装置即使不确认每个项目的版本信息,通过确认每个MPU的版本信息,也能够检测文件的更新。
[0713] 图61是利用分片计数器的情况下的发送装置的动作流程。
[0714] 首先,发送装置确认要传送的文件的尺寸(S1501)。接着,发送装置判定文件尺寸是否超过x*256字节(x是以一个包能够传送的数据尺寸。例如MTU尺寸)(S1502),在文件尺寸超过x*256字节的情况下(S1502中是),对文件进行分割,以使分割文件的尺寸小于x*256字节(S1503)。然后,将分割文件作为项目传送,将与分割文件相关的信息(例如,是分割文件、分割文件中的序列号等)存放在控制信息中并传送(S1504)。另一方面,在文件尺寸小于x*256字节的情况下(S1502中否),与通常一样地将文件作为项目传送(S1505)。
[0715] 图62是利用分片计数器的情况下的接收装置的动作流程。
[0716] 首先,接收装置取得并解析资源管理表等与文件的传送相关的控制信息(S1601)。接着,接收装置判定期望的项目是否为分割文件(S1602)。接收装置在判定为期望的文件是分割文件的情况下(S1602中是),从控制信息取得分割文件或分割文件的索引等用于重构文件的信息(S1603)。然后,接收装置取得构成分割文件的项目,重构原文件(S1604)。另一方面,接收装置在判定为期望的文件不是分割文件的情况下(S1602中否),与通常一样地取得文件(S1605)。
[0717] 总之,发送装置对文件开头的分割数据的包序列号进行信令传输。另外,发送装置对能够确定分割数据数量的信息进行信令传输。或者,发送装置规定能够确定分割数据数量的分割规则。另外,发送装置不运用分片计数器,进行保留或者进行头压缩。
[0718] 接收装置在文件开头的数据的包序列号被进行了信令传输的情况下,根据文件开头的分割数据的包序列号和MMTP包的包序列号,确定分割数据号、分割数据数量。
[0719] 基于其他观点,发送装置将文件分割,按每个分割文件将数据分割并发送。对关联分割文件的信息(序列号、分割数量等)进行信令传输。
[0720] 接收装置根据分片计数器以及分割文件的序列号,确定分割数据号、分割数据数量。
[0721] 由此,能够唯一地确定分割数据号、分割数据。另外,在接收到中途的分割数据的时刻就能够确定该分割数据的分割数据号,因此能够减少等待时间,还减小存储器。
[0722] 另外,通过不运用分片计数器,收发装置的结构能够减少处理量,另外能够提高传送效率。
[0723] 图63是表示以多个IP数据流发送同一节目的情况下的服务构成的图。在此示出如下例子:服务ID=2的节目的一部分(影像/声音)的数据通过使用MMT方式的IP数据流发送,服务ID相同但与该一部分数据不同的数据通过使用高度BS数据传送方式的IP数据流(在该例中文件传送协议不同,但也可以是相同的协议)发送。
[0724] 发送装置进行IP数据的复用,以使在接收装置中能够保证由多个IP数据流构成的数据在解码时刻之前备齐。
[0725] 接收装置使用由多个IP数据流构成的数据,基于解码时刻进行处理,从而能够实现有保证的接收机动作。
[0726] [补充:发送装置及接收装置]
[0727] 如以上那样,不运用分片计数器地进行数据发送的发送装置还能够如图64那样构成。另外,不运用分片计数器地进行数据接收的接收装置还能够如图65那样构成。图64是表示发送装置的具体构成的例子的图。图65是表示接收装置的具体构成的例子的图。
[0728] 发送装置500具备分割部501、构成部502和发送部503。分割部501、构成部502及发送部503分别例如通过微型计算机、处理器或专用电路等实现。
[0729] 接收装置600具备接收部601、判定部602和构成部603。接收部601、判定部602及构成部603分别例如通过微型计算机、处理器或专用电路等实现。
[0730] 关于发送装置500及接收装置600的各结构要素的详细说明,分别在发送方法及接收方法的说明中进行。
[0731] 首先,利用图66说明发送方法。图66是发送装置的动作流程(发送方法)。
[0732] 首先,发送装置500的分割部501将数据分割为多个分割数据(S1701)。
[0733] 接着,发送装置500的构成部502通过对多个分割数据分别赋予头信息并打包,来构成多个包(S1702)。
[0734] 然后,发送装置500的发送部503发送被构成的上述多个包(S1703)。发送部503发送分割数据信息、以及被无效的分片计数器的值。另外,分割数据信息是用于确定分割数据号和分割数据数量的信息。另外,分割数据号是表示该分割数据是多个分割数据之中的第几个分割数据的编号。分割数据数量是多个分割数据的数量。
[0735] 由此,能够减少发送装置500的处理量。
[0736] 接下来,利用图67说明接收方法。图67是接收装置的动作流程(接收方法)。
[0737] 首先,接收装置600的接收部601接收多个包(S1801)。
[0738] 接下来,接收装置600的判定部602判定从接收的多个包中是否取得了分割数据信息(S1802)。
[0739] 然后,接收装置600的构成部603在由判定部602判定为取得了分割数据信息的情况下(S1802中是),不使用该头信息所包含的分片计数器的值,而根据接收的多个包构成数据(S1803)。
[0740] 另一方面,构成部603在由判定部602判定为没有取得分割数据信息的情况下(S1802中否),也可以使用该头信息所包含的分片计数器,根据接收的多个包构成数据(S1804)。
[0741] 由此,能够减少接收装置600的处理量。
[0742] (实施方式5)
[0743] [概要]
[0744] 在实施方式5中,说明以NAL尺寸格式将NAL单元存放至复用层的情况下的传送包(TLV包)的发送方法。
[0745] 如实施方式1中说明的那样,在将H.264、H.265的NAL单元存放至复用层时,有如下两种形式。其一是在NAL单元头的紧前附加由特定的比特串构成的起始码的称作“字节流格式”的形式。另一个是附加表示NAL单元的尺寸的字段的称作“NAL尺寸格式”的形式。字节流格式在MPEG-2系统以及RTP等中被利用,NAL尺寸格式在MP4、或者使用MP4的DASH、MMT等中被利用。
[0746] 在字节流格式中,起始码由3字节构成,也能够进一步附加任意的字节(值为0的字节)。
[0747] 另一方面,在一般的MP4中的NAL尺寸格式中,尺寸信息由1字节、2字节及4字节中的任一个表示。该尺寸信息由HEVC样本入口中的lengthSizeMinusOne字段表示。该字段的值为“0”的情况表示1字节,该字段的值为“1”的情况表示2字节,该字段的值为“3”的情况表示4字节。
[0748] 在此,在2014年7月标准化的ARIB STD-B60“数字广播中的基于MMT的媒体传送流方式”中,在将NAL单元存放至复用层时,在HEVC编码器的输出是字节流的情况下,去除字节起始码,将由32比特(无符号整数)表示的字节单位的NAL单元的尺寸作为长度信息附加在NAL单元的紧前。其中,不传送包含HEVC样本入口的MPU元数据,尺寸信息固定为32比特(4字节)。
[0749] 另外,在ARIB STD-B60“数字广播中的基于MMT的媒体传送流方式”中,在发送装置为了保证接收装置中的缓冲动作而在发送时考虑的接收缓冲器模型中,影像信号的解码前缓冲器被规定为CPB。
[0750] 但是,存在如下课题。在MPEG-2系统中的CPB、HEVC中的HRD中,将影像信号是字节流格式作为前提规定。因此,例如,在以附加了3字节的起始码的字节流格式作为前提进行传送包的码率控制的情况下,接收了附加4字节的尺寸区域而成的NAL尺寸格式的传送包的接收装置有可能无法满足ARIB STD-B60中的接收缓冲器模型。另外,在ARIB STD-B60中的接收缓冲器模型中,没有表示具体的缓冲器尺寸、以及提取率,因此难以保证接收装置中的缓冲动作。
[0751] 因此,为了解决上述课题,如下规定用于保证接收机中的缓冲动作的接收缓冲器模型。
[0752] 图68表示基于ARIB STD B-60所规定的接收缓冲器模型,特别是仅使用广播传送路径的情况下的接收缓冲器模型。
[0753] 接收缓冲器模型具备TLV包缓冲器(第一缓冲器)、IP包缓冲器(第二缓冲器)、MMTP缓冲器(第三缓冲器)以及解码前缓冲器(第四缓冲器)。其中,在广播传送路径中,不需要抖动消除缓冲器或用于FEC的缓冲器,因此省略。
[0754] TLV包缓冲器从广播传送路径接收TLV包(传送包),将接收的TLV包中存放的由可变长度的包头(IP包头、IP包压缩时的完整头、IP包压缩时的压缩头)以及可变长度的有效载荷构成的IP包,转换为具有通过头扩张而成的固定长度的IP包头的IP包(第一包),将通过转换而得到的IP包以固定的比特率输出。
[0755] IP包缓冲器将IP包转换为具有包头以及可变长度的有效载荷的MMTP包(第二包),将通过转换而得到的MMTP包以固定的比特率输出。其中,IP包缓冲器也可以与MMTP缓冲器合并。
[0756] MMTP缓冲器将被输出的MMTP包转换为NAL单元,将通过转换而得到的NAL单元以固定的比特率输出。
[0757] 解码前缓冲器依次蓄积被输出的NAL单元,根据蓄积的多个NAL单元生成访问单元,将生成的访问单元在与该访问单元对应的解码时刻的定时输出至解码器。
[0758] 在图68所示的接收缓冲器模型中,前级的TLV包缓冲器以及IP包缓冲器以外的缓冲器即MMTP缓冲器以及解码前缓冲器的特征在于,沿袭MPEG-2TS中的接收缓冲器模型。
[0759] 例如,影像的MMTP缓冲器(MMTP B1)由相当于MPEG-2TS中的传送缓冲器(TB)以及复用缓冲器(MB)的缓冲器构成。另外,声音的MMTP缓冲器(MMTP Bn)由相当于MPEG-2TS中的传送缓冲器(TB)的缓冲器构成。
[0760] 传送缓冲器的缓冲器尺寸与MPEG-2TS同样地设为固定值。例如,设为MTU尺寸的n倍(n既可以是小数也可以是整数,设为1以上)。
[0761] 另外,以MMTP包头的开销率小于PES包头的开销率的方式,规定MMTP包尺寸。由此,从传送缓冲器的提取率能够原样应用MPEG-2TS中的传送缓冲器的提取率RX1、RXn、RXs。
[0762] 另外,复用缓冲器的尺寸以及提取率分别设为MPEG-2TS中的MB尺寸以及RBX1。
[0763] 在以上的接收缓冲器模型的基础上,为了解决课题,还设置下述限制。
[0764] HEVC的HRD规定以字节流形式作为前提,MMT是在NAL单元的开头附加4字节的尺寸区域的NAL尺寸形式。因此,在编码时在NAL尺寸形式中,进行码率控制以满足HDR。
[0765] 即,在发送装置中,基于上述接收缓冲器模型以及限制,进行传送包的码率控制。
[0766] 在接收装置中,通过使用上述信号进行接收处理,能够无下溢、上溢地进行解码动作。
[0767] 其中,NAL单元的开头的尺寸区域即使不是4字节,也考虑NAL单元的开头的尺寸区域,进行码率控制以满足HRD。
[0768] 其中,考虑IP头扩张后的传送率来设定TLV包缓冲器的提取率(TLV包缓冲器输出IP包时的比特率)。
[0769] 即,输入数据尺寸为可变长度的TLV包,实施了TLV头的去除以及IP头的扩张(复原)之后,考虑被输出的IP包的传送率。换言之,针对输入的传送率考虑头的增减量。
[0770] 具体而言,由于数据尺寸为可变长度,被进行IP头压缩的包与未被进行IP头压缩的包混杂存在,IP头的尺寸根据IPv4、IPv6等包类别而不同,因此被输出的IP包的传送率不唯一。因此,决定可变长度的数据尺寸的平均包长度,并决定根据TLV包输出的IP包的传送率。
[0771] 在此,为了规定IP头扩张后的最大传送速率,设想为IP头总是被压缩的情况来决定传送率。
[0772] 另外,在IPv4、IPv6的包类别混杂存在的情况、或者不区分包类别地规定的情况下,设想为头尺寸大、且头扩张后的增加率大的IPv6包来决定传送率。
[0773] 例如,在设为向TLV包缓冲器输入的TLV包的平均包长度为S、TLV包中存放的IP包全是IPv6包、且被进行头压缩的情况下的TLV头的去除以及IP头的扩张后的最大输出传送率为:
[0774] 输入率×{S/(S+IPv6头压缩量)}。
[0775] 更具体而言,在以S=0.75×1500(1500设想为最大MTU尺寸)作为基准来设定TLV包的平均包长度S、且设为
[0776] IPv6头压缩量=TLV头长度-IPv6头长度-UDP头长度
[0777]             =3-40-8
[0778] 的情况下的TLV头的去除以及IP头的扩张后的最大输出传送率为:
[0779] 输入率×1.0417≒输入率×1.05。
[0780] 图69是表示将多个数据单元汇总地存放在一个有效载荷中的例子的图。
[0781] 在MMT方式中,在将数据单元汇总时,如图69所示,在数据单元之前,附加数据单元长度以及数据单元头。
[0782] 但是,例如,在将NAL尺寸格式的影像信号作为一个数据单元存放的情况下,如图70所示,针对一个数据单元,表示尺寸的字段有2个,作为信息是重复的。图70是表示将多个数据单元汇总地存放在一个有效载荷中、且将NAL尺寸格式的影像信号作为一个数据单元的情况下的例子的图。具体而言,NAL尺寸格式中的开头的尺寸区域(在以后的说明中称为“size区域(尺寸区域)”)、以及MMTP有效载荷头中的位于数据单元头之前的数据单元长度字段都是表示尺寸的字段,作为信息是重复的。例如,在NAL单元的长度是L字节的情况下,在尺寸区域中表示L字节,在数据单元长度字段中表示L字节+“尺寸区域的长度”(字节)。在尺寸区域与数据单元长度字段中表示的值虽然不完全一致,但根据一方的值能够容易地算出另一方的值,因此可以说是重复的。
[0783] 像这样,在将内部包含数据的尺寸信息的数据作为数据单元存放、且将多个该数据单元汇总地存放在一个有效载荷中的情况下,尺寸信息重复,因此存在开销率大、传送效率差的课题。
[0784] 因此,在发送装置中,在将内部包含数据的尺寸信息的数据作为数据单元存放、且将多个该数据单元汇总地存放在一个有效载荷中的情况下,可以考虑如图71、图72所示地进行存放。
[0785] 如图71所示,可以考虑将包含尺寸区域的NAL单元作为数据单元存放,并在MMTP有效载荷头中不表示以往被包含的数据单元长度。图71是表示数据单元长度未被表示的MMTP包的有效载荷的构成的图。
[0786] 另外,也可以如图72所示,将表示数据单元长度是否被表示的标志、表示尺寸区域的长度的信息,新存放在头中。对标志、表示尺寸区域的长度的信息进行存放的位置既可以由数据单元头等以数据单元为单位表示,也可以按将多个数据单元汇总而成的单位(包单位)表示。图72是表示对包单位赋予的extend(扩展)区域的例子。其中,上述新表示的信息的存放位置不限于此,也可以是MMTP有效载荷头、MMTP包头、控制信息。
[0787] 在接收侧,在表示数据单元长度是否被压缩的标志表示数据单元长度被压缩的情况下,取得数据单元内部的尺寸区域的长度信息,基于尺寸区域的长度信息,取得尺寸区域,由此能够使用所取得的尺寸区域的长度信息以及尺寸区域算出数据单元长度。
[0788] 通过以上方法,能够在发送侧削减数据量,能够提高传送效率。
[0789] 其中,也可以不削减数据单元长度,而通过削减尺寸区域来削减开销。在削减尺寸区域的情况下,也可以存放表示尺寸区域是否被削减的信息、表示数据单元长度字段的长度的信息。
[0790] 其中,在MMTP有效载荷头中也包含长度信息。
[0791] 在将包含尺寸区域的NAL单元作为数据单元存放的情况下,也可以无论是否汇总,都削减MMTP有效载荷头中的有效载荷尺寸区域。
[0792] 另外,在将不包含尺寸区域的数据作为数据单元存放的情况下,如果被汇总且数据单元长度被表示,则也可以削减MMTP有效载荷头中的有效载荷尺寸区域。
[0793] 在削减有效载荷尺寸区域的情况下,也可以与上述同样地,对表示是否削减的标志、削减的尺寸字段的长度信息或未削减的尺寸字段的长度信息进行表示。
[0794] 图73表示接收装置的动作流程。
[0795] 在发送装置中,如上所述,设为将包含尺寸区域的NAL单元作为数据单元存放,MMTP有效载荷头中包含的数据单元长度在MMTP包中不表示。
[0796] 以下,以表示数据单元长度是否被表示的标志、尺寸区域的长度信息在MMTP包中被表示的情况为例进行说明。
[0797] 接收装置基于从发送侧发送的信息,判定是否为数据单元包含尺寸区域、且数据单元长度被削减(S1901)。
[0798] 在判定为数据单元长度被削减的情况下(S1902中是),取得数据单元内部的尺寸区域的长度信息,然后,解析数据单元内部的尺寸区域,通过计算来取得数据单元长度(S1903)。
[0799] 另一方面,在判定为数据单元长度未被削减的情况下(S1902中否),像通常那样,根据数据单元长度、以及数据单元内部的尺寸区域中的任一方算出数据单元长度(S1904)。
[0800] 其中,在表示数据单元长度是否被削减的标志、尺寸区域的长度信息由接收装置预先得知的情况下,也可以不发送。该情况下,接收装置基于预定的信息进行在图73中表示的处理。
[0801] [补充:发送装置及接收装置]
[0802] 如以上那样,在编码时进行码率控制以满足接收缓冲器模型的规定的发送装置还能够如图74那样构成。另外,接收从发送装置发送的传送包并进行解码的接收装置还能够如图75那样构成。图74是表示发送装置的具体结构的例子的图。图75是表示接收装置的具体结构的例子的图。
[0803] 发送装置700具备生成部701和发送部702。生成部701以及发送部702分别例如通过微型计算机、处理器或专用电路等实现。
[0804] 接收装置800具备接收部801、第一缓冲器802、第二缓冲器803、第三缓冲器804、第四缓冲器805和解码部806。接收部801、第一缓冲器802、第二缓冲器803、第三缓冲器804、第四缓冲器805和解码部806分别例如通过微型计算机、处理器或专用电路等实现。
[0805] 关于发送装置700及接收装置800的各结构要素的详细说明,分别在发送方法及接收方法的说明中进行。
[0806] 首先,使用图76说明发送方法。图76是发送装置的动作流程(发送方法)。
[0807] 首先,发送装置700的生成部701进行码率控制以便满足为了保证接收装置的缓冲动作而预先决定的接收缓冲器模型的规定,由此生成编码流(S2001)。
[0808] 接下来,发送装置700的发送部702对生成的编码流进行打包,发送通过打包而得到的传送包(S2002)。
[0809] 其中,在发送装置700中使用的接收缓冲器模型是具备接收装置800的结构的第一~第四缓冲器802~805的结构,因此省略说明。
[0810] 由此,发送装置700在使用像MMT那样的方式进行数据传送的情况下,能够保证接收装置800的缓冲动作。
[0811] 接下来,使用图77说明接收方法。图77是接收装置的动作流程(接收方法)。
[0812] 首先,接收装置800的接收部801接收由固定长度的包头以及可变长度的有效载荷构成的传送包(S2101)。
[0813] 接下来,接收装置800的第一缓冲器802将接收的传送包中存放的由可变长度的包头以及可变长度的有效载荷构成的包,转换为具有通过头扩张而成的固定长度的包头的第一包,将通过转换而得到的所述第一包以固定的比特率输出(S2102)。
[0814] 接下来,接收装置800的第二缓冲器803将通过转换而得到的第一包转换为由包头以及可变长度的有效载荷构成的第二包,将通过转换而得到的第二包以固定的比特率输出(S2103)。
[0815] 接下来,接收装置800的第三缓冲器804将被输出的第二包转换为NAL单元,将通过转换而得到的NAL单元以固定的比特率输出(S2104)。
[0816] 接下来,接收装置800的第四缓冲器805依次蓄积被输出的NAL单元,根据蓄积的多个NAL单元生成访问单元,将生成的访问单元在与该访问单元对应的解码时刻的定时输出至解码器(S2105)。
[0817] 然后,接收装置800的解码部806对由第四缓冲器输出的访问单元进行解码(S2106)。
[0818] 由此,接收装置800能够无下溢、上溢地进行解码动作。
[0819] (其他实施方式)
[0820] 以上,说明了实施方式所涉及的发送装置、接收装置、发送方法以及接收方法,但本申请不限于该实施方式。
[0821] 此外,上述实施方式所涉及的发送装置以及接收装置中包含的各处理部典型地以作为集成电路的LSI(大规模集成电路)实现。它们既可以独立地被单芯片化,也可以包含一部分或全部地被单芯片化。
[0822] 此外,集成电路化不限于LSI,也可以通过专用电路或通用处理器实现。也可以利用能够在LSI制造后进行编程的FPGA(Field Programmable Gate Array:现场可编程门阵列)、或能够对LSI内部的电路单元的连接或设定进行重构的可重构处理器。
[0823] 在上述各实施方式中,各构成要素既可以由专用的硬件构成,也可以通过执行适合各构成要素的软件程序来实现。各构成要素也可以通过CPU或处理器等程序执行部读出并执行在硬盘或半导体存储器等记录介质中记录的软件程序来实现。
[0824] 换言之,发送装置以及接收装置具备处理电路(processing circuitry)、与该处理电路电连接的(能够从该控制电路访问的)存储装置(storage)。处理电路包含专用的硬件以及程序执行部的至少一方。此外,在处理电路包含程序执行部的情况下,存储装置存储由该程序执行部执行的软件程序。处理电路使用存储装置来执行上述实施方式所涉及的发送方法或接收方法。
[0825] 进而,本申请既可以是上述软件程序,也可以是记录有上述程序的非易失性的计算机可读取的记录介质。此外,上述程序显然能够经由互联网等传送介质流通。
[0826] 此外,在上述中使用的数字是都是为了具体说明本申请而例示的数字,本申请不限制于所例示的数字。
[0827] 此外,框图中的功能块的分割为一例,也可以将多个功能块作为1个功能块来实现,或将1个功能块分割成多个,或者将一部分的功能转移到其他功能块。此外,也可以由单一的硬件或软件并行或分时地处理具有类似的功能的多个功能块的功能。
[0828] 此外,执行上述的发送方法或接收方法包含的步骤的顺序是为了具体说明本申请而例示的顺序,也可以是上述以外的顺序。此外,也可以是上述步骤的一部分与其他步骤同时(并行)执行。
[0829] 以上,基于实施方式说明了本申请的一个或多个方式所涉及的发送装置、接收装置、发送方法以及接收方法,但本申请并不限于该实施方式。只要不脱离本申请的主旨,将本领域技术人员所想到的各种变形施行于本实施方式而得到的方式,或者组合不同实施方式的构成要素来构筑的方式也包含于本申请的一个或者多个方式的范围内。
[0830] 工业实用性
[0831] 本申请能够适用于进行视频数据以及音频数据等的媒体传送的装置或设备。
[0832] 标号说明:
[0833] 15、100、300、500、700 发送装置
[0834] 16、101、301 编码部
[0835] 17、102 复用部
[0836] 18、104 发送部
[0837] 20、200、400、600、800 接收装置
[0838] 21 包过滤部
[0839] 22 发送顺序类型判别部
[0840] 23 随机访问部
[0841] 24、212 控制信息取得部
[0842] 25 数据取得部
[0843] 26 算出部
[0844] 27 初始化信息取得部
[0845] 28、206 解码命令部
[0846] 29、204A、204B、204C、204D、402 解码部
[0847] 30 提示部
[0848] 201 调谐器
[0849] 202 解调部
[0850] 203 逆复用部
[0851] 205 显示部
[0852] 211 类型判别部
[0853] 213 切片信息取得部
[0854] 214 解码数据生成部
[0855] 302 赋予部
[0856] 303、503、702 发送部
[0857] 401、601、801 接收部
[0858] 501 分割部
[0859] 502、603 构成部
[0860] 602 判定部
[0861] 701 生成部
[0862] 802 第一缓冲器
[0863] 803 第二缓冲器
[0864] 804 第三缓冲器
[0865] 805 第四缓冲器
[0866] 806 解码部