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

申请号 : CN201480066810.5

文献号 : CN105830450B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 井口贺敬远间正真加藤久也

申请人 : 松下电器(美国)知识产权公司

摘要 :

本申请的一个方式所涉及的发送方法对影像信号进行编码来生成包含多个访问单元的编码数据,以访问单元单位或分割访问单元而成的单位将所述多个访问单元保存在包中来生成包组,将生成的所述包组作为数据进行发送,生成表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息以及用于算出所述多个访问单元的解码时刻的第二信息,将生成的所述第一信息以及所述第二信息作为控制信息进行发送。

权利要求 :

1.一种发送方法,

对影像信号进行编码来生成包含多个访问单元的编码数据,以访问单元单位或分割访问单元而成的单位将所述多个访问单元保存在包中来生成包组,将生成的所述包组作为数据进行发送,

生成表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息、用于算出所述多个访问单元的解码时刻的第二信息、以及第三信息,该第三信息是相对于在所述访问单元的提示顺序中前一个被提示的访问单元的提示时刻的相对值,将生成的所述第一信息、所述第二信息以及所述第三信息作为控制信息进行发送,所述控制信息被存放在与所述数据被存放的包不同的包中并被发送,所述第一信息、所述第二信息及所述数据以规定的顺序被发送,所述第一信息先于所述数据被发送。

2.如权利要求1所述的发送方法,

所述第二信息为用于算出所述多个访问单元之中的一部分的解码时刻的信息。

3.一种接收方法,

接收以访问单元单位或分割访问单元而成的单位对包含多个访问单元的编码数据进行打包而得的包组,接收控制信息,该控制信息包含表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息、用于算出所述多个访问单元的解码时刻的第二信息、以及第三信息,该第三信息是相对于在所述访问单元的提示顺序中前一个被提示的访问单元的提示时刻的相对值,基于所述第一信息以及所述第二信息对接收到的包组所包含的所述访问单元进行解码,所述控制信息被存放在与所述数据被存放的包不同的包中并被接收,所述第一信息、所述第二信息及所述数据以规定的顺序被接收,所述第一信息先于所述数据被接收。

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

编码部,对影像信号进行编码来生成包含多个访问单元的编码数据;

包生成部,以访问单元单位或分割访问单元而成的单位将所述多个访问单元保存在包中来生成包组;

第一发送部,将生成的所述包组作为数据进行发送;

信息生成部,生成表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息、用于算出所述多个访问单元的解码时刻的第二信息、以及第三信息,该第三信息是相对于在所述访问单元的提示顺序中前一个被提示的访问单元的提示时刻的相对值;以及第二发送部,将生成的所述第一信息、所述第二信息以及所述第三信息作为控制信息进行发送,所述控制信息被存放在与所述数据被存放的包不同的包中并被发送,所述第一信息、所述第二信息及所述数据以规定的顺序被发送,所述第一信息先于所述数据被发送。

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

第一接收部,接收以访问单元单位或分割访问单元而成的单位对包含多个访问单元的编码数据进行打包而得的包组;

第二接收部,接收控制信息,该控制信息包含表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息、用于算出所述多个访问单元的解码时刻的第二信息、以及第三信息,该第三信息是相对于在所述访问单元的提示顺序中前一个被提示的访问单元的提示时刻的相对值;以及解码部,基于所述第一信息以及所述第二信息对接收到的包组所包含的所述访问单元进行解码,所述控制信息被存放在与所述数据被存放的包不同的包中并被接收,所述第一信息、所述第二信息及所述数据以规定的顺序被接收,所述第一信息先于所述数据被接收。

说明书 :

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

技术领域

[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] 本申请的一个方式所涉及的发送方法对影像信号进行编码来生成包含多个访问单元的编码数据,以访问单元单位或分割访问单元而成的单位将所述多个访问单元保存在包中来生成包组,将生成的所述包组作为数据进行发送,生成表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息以及用于算出所述多个访问单元的解码时刻的第二信息,将生成的所述第一信息以及所述第二信息作为控制信息进行发送。
[0008] 此外,本申请的一个方式所涉及的接收方法接收以访问单元单位或分割访问单元而成的单位对包含多个访问单元的编码数据进行打包而得的包组,接收控制信息,该控制信息包含表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息以及用于算出所述多个访问单元的解码时刻的第二信息,基于所述第一信息以及所述第二信息对接收到的包组所包含的所述访问单元进行解码。
[0009] 另外,这些整体性或者具体性的方式可通过系统、方法、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质来实现,也可通过系统、方法、集成电路、计算机程序以及记录介质的任意组合来实现。

附图说明

[0010] 图1为表示将图片分割成切片段(slice segment)的例子的图。
[0011] 图2为表示保存有图片的数据的PES包列的一例的图。
[0012] 图3为表示实施方式1所涉及的图片的分割例的图。
[0013] 图4为表示实施方式1的比较例所涉及的图片的分割例的图。
[0014] 图5为表示实施方式1所涉及的访问单元的数据的一例的图。
[0015] 图6为实施方式1所涉及的发送装置的框图。
[0016] 图7为实施方式1所涉及的接收装置的框图。
[0017] 图8为表示实施方式1所涉及的MMT包的一例的图。
[0018] 图9为表示实施方式1所涉及的MMT包的另一例的图。
[0019] 图10为表示实施方式1所涉及的输入至各解码部的数据的一例的图。
[0020] 图11为表示实施方式1所涉及的MMT包以及头信息的一例的图。
[0021] 图12为表示实施方式1所涉及的输入至各解码部的数据的另一例的图。
[0022] 图13为表示实施方式1所涉及的图片的分割例的图。
[0023] 图14为实施方式1所涉及的发送方法的流程图。
[0024] 图15为实施方式1所涉及的接收装置的框图。
[0025] 图16为实施方式1所涉及的接收方法的流程图。
[0026] 图17为表示实施方式1所涉及的MMT包以及头信息的一例的图。
[0027] 图18为表示实施方式1所涉及的MMT包以及头信息的一例的图。
[0028] 图19为表示MPU的构成的图。
[0029] 图20为表示MF元数据的构成的图。
[0030] 图21为用于说明数据的发送顺序的图。
[0031] 图22为表示不利用头信息进行解码的方法的例子的图。
[0032] 图23为实施方式2所涉及的发送装置的框图。
[0033] 图24为实施方式2所涉及的发送方法的流程图。
[0034] 图25为实施方式2所涉及的接收装置的框图。
[0035] 图26为用于确定MPU开头位置以及NAL单元位置的动作的流程图。
[0036] 图27为基于发送顺序类型取得初始化信息,并基于初始化信息解码媒体数据的动作的流程图。
[0037] 图28为设定低延迟提示模式时的接收装置的动作的流程图。
[0038] 图29为表示发送辅助数据时的MMT包的发送顺序的一例的图。
[0039] 图30为用于说明发送装置基于moof的构成生成辅助数据的例子的图。
[0040] 图31为用于说明辅助数据的接收的图。
[0041] 图32为利用辅助数据的接收动作的流程图。
[0042] 图33为表示由多个电影分片构成的MPU的构成的图。
[0043] 图34为用于说明传送图33的构成的MPU时的MMT包的发送顺序的图。
[0044] 图35为用于说明由多个电影分片构成1个MPU时的接收装置的动作例的第1图。
[0045] 图36为用于说明由多个电影分片构成1个MPU时的接收装置的动作例的第2图。
[0046] 图37为通过图35以及图36说明了的接收方法的动作的流程图。
[0047] 图38为表示将非VCL NAL单元个别地作为data unit并进行聚合的情况的图。
[0048] 图39为表示将非VCL NAL单元汇总地作为data unit的情况的图。
[0049] 图40为发生丢包时的接收装置的动作的流程图。
[0050] 图41为将MPU分割为多个电影分片时的接收动作的流程图。
[0051] 图42为表示实现时间可适性时的各TemporalId下的图片的预测结构的例子的图。
[0052] 图43为表示图42的各图片的解码时刻(DTS)与显示时刻(PTS)的关系的图。
[0053] 图44为表示需要图片的延迟处理以及重新排序处理的图片的预测结构的一例的图。
[0054] 图45为表示将以MP4形式构成的MPU分割为多个电影分片并保存到MMTP有效载荷、MMTP包中的例子的图。
[0055] 图46为用于说明PTS以及DTS的算出方法与问题的图。
[0056] 图47为利用用于算出DTS的信息算出DTS时的接收动作的流程图。
[0057] 图48为表示发送装置的构成的另一例子的图。
[0058] 图49为表示接收装置的构成的另一例子的图。

具体实施方式

[0059] 本申请的一个方式所涉及的发送方法包括:打包步骤,对构成MP4格式的文件的(1)作为对影像信号或声音信号进行编码而得的数据的样本数据、(2)用于对所述样本数据进行解码的第一元数据、以及(3)包含仅能在所述样本数据生成后生成的数据且用于对所述样本数据进行解码的第二元数据分别进行打包;以及发送步骤,将打包的所述第一元数据、打包的所述样本数据以及打包的所述第二元数据按照此顺序进行发送。
[0060] 据此,能够降低MP4格式的文件的发送中的端到端(End-to-End)延迟。
[0061] 此外,仅能在所述样本数据生成后生成的数据,也可以是保存在所述MP4格式的mdat内的数据中的、所述样本数据以外的数据的至少一部分。
[0062] 此外也可以是,所述第一元数据为MPU(Media Processing Unit:媒体处理单元)元数据,所述第二元数据为电影分片元数据。
[0063] 此外,也可以在所述打包步骤中按照MMT(MPEG Media Transport:运动图像专家组媒体传送)方式进行打包。
[0064] 此外,本申请的一个方式所涉及的接收方法包括:接收步骤,将打包的第一元数据、打包的样本数据以及打包的第二元数据按照此顺序进行接收;重构步骤,对包含接收到的所述第一元数据、接收到的所述第二元数据以及接收到的所述样本数据的MP4格式的文件进行重构;以及解码步骤,利用所述第一元数据以及所述第二元数据对重构的所述MP4格式的文件所包含的所述样本数据进行解码,所述第二元数据包含:在发送侧仅能在所述样本数据生成后生成的数据。
[0065] 本申请的一个方式所涉及的发送装置具备:复用部,对构成MP4格式的文件的(1)作为对影像信号或声音信号进行编码而得的数据的样本数据、(2)用于对所述样本数据进行解码的第一元数据、以及(3)包含仅能在所述样本数据生成后生成的数据且用于对所述样本数据进行解码的第二元数据分别进行打包;以及发送部,将打包的所述第一元数据、打包的所述样本数据以及打包的所述第二元数据按照此顺序进行发送。
[0066] 本申请的一个方式所涉及的接收装置包括:接收部,将打包的第一元数据、打包的样本数据以及打包的第二元数据按照此顺序进行接收;重构部,对包含接收到的所述第一元数据、接收到的所述第二元数据以及接收到的所述样本数据的MP4格式的文件进行重构;以及解码部,利用所述第一元数据以及所述第二元数据对重构的所述MP4格式的文件所包含的所述样本数据进行解码,所述第二元数据包含:在发送侧仅能在所述样本数据生成后生成的数据。
[0067] 本申请的一个方式所涉及的发送方法对影像信号进行编码来生成包含多个访问单元的编码数据,将所述多个访问单元按照访问单元单位或分割访问单元而成的单位保存在包中来生成包组,将生成的所述包组作为数据进行发送,生成表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息以及用于算出所述多个访问单元的解码时刻的第二信息,将生成的所述第一信息以及所述第二信息作为控制信息进行发送。
[0068] 本申请的一个方式所涉及的接收方法接收以访问单元单位或分割访问单元而成的单位对包含多个访问单元的编码数据进行打包而得的包组,接收包含表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息以及用于算出所述多个访问单元的解码时刻的第二信息的控制信息,基于所述第一信息以及所述第二信息对所接收到的包组所包含的所述访问单元进行解码。
[0069] 本申请的一个方式所涉及的发送装置具备:编码部,对影像信号进行编码来生成包含多个访问单元的编码数据;包生成部,将所述多个访问单元以访问单元单位或分割访问单元而成的单位保存在包中来生成包组;第一发送部,将生成的所述包组作为数据进行发送;信息生成部,生成表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息以及用于算出所述多个访问单元的解码时刻的第二信息;以及第二发送部,将生成的所述第一信息以及所述第二信息作为控制信息进行发送。
[0070] 本申请的一个方式所涉及的接收装置具备:第一接收部,接收以访问单元单位或分割访问单元而成的单位对包含多个访问单元的编码数据进行打包而得的包组;第二接收部,接收包含表示所述多个访问单元之中最初被提示的访问单元的提示时刻的第一信息以及用于算出所述多个访问单元的解码时刻的第二信息的控制信息;以及解码部,基于所述第一信息以及所述第二信息对所接收到的包组所包含的所述访问单元进行解码。
[0071] 另外,这些整体性或者具体性的方式可以通过系统、方法、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质来实现,也可以通过系统、方法、集成电路、计算机程序或者记录介质的任意组合来实现。
[0072] 以下,参照附图具体说明实施方式。
[0073] 另外,以下说明的实施方式均表示总体或具体的例子。在以下的实施方式所示的数值、形状、材料、构成要素、构成要素的配置位置以及连接方式、步骤、步骤的顺序等仅为一例,并非意在对本申请进行限定。另外,在以下实施方式的构成要素中,关于表示最上位概念的独立权利要求中没有记载的构成要素,作为任意的构成要素进行说明。
[0074] (成为本申请的基础的知识)
[0075] 最近,电视机、智能移动电话或平板电脑终端等的显示器的高分辨率日益进步。尤其是,日本国内的广播预定在2020年进行8K4K(分辨率8K×4K)的服务。由于在8K4K等超高分辨率的运动图像下,难以通过单一的解码器实时进行解码,因此研究利用多个解码器并行地进行解码处理的方法。
[0076] 由于编码数据基于MPEG-2TS或MMT等复用方式进行复用并被发送,因此接收装置在解码之前需要从复用数据中分离运动图像的编码数据。以下,将从复用数据中分离编码数据的处理称作“逆复用”。
[0077] 在并行进行解码处理时,需要针对各解码器分别分配作为解码对象的编码数据。在分配编码数据时,需要解析编码数据本身,尤其是,在8K等的内容中,因为比特率非常高,所以解析所致的处理负荷重。因此,存在逆复用的部分成为瓶颈而无法进行实时再现的问题。
[0078] 可是,在由MPEG和ITU标准化而得的H.264以及H.265等的运动图像编码方式中,发送装置以将图片分割成称作“切片(slice)”或“切片段(slice segment)”的多个区域并能够对分割而得的各个区域独立解码的方式进行编码。因此,例如在H.265时,接收广播的接收装置通过从接收数据中分离每个切片段的数据,将各切片段的数据输出至各个解码器,能够实现解码处理的并行。
[0079] 图1为表示在HEVC中将1个图片分割为4个切片段的例子的图。例如,接收装置具备4个解码器,各解码器对4个切片段之中的任一个进行解码。
[0080] 在以往的广播中,发送装置将1张图片(MPEG系统标准中的访问单元)保存到1个PES包中,将PES包复用成TS包列。因此,接收装置需要在分离出PES包的有效载荷之后,解析在有效载荷中保存的访问单元的数据,由此分离各切片段,将分离而得的各切片段的数据输出至解码器。
[0081] 可是,本发明人发现,由于在解析访问单元的数据来分离切片段时的处理量大,因此存在难以实时进行该处理的问题。
[0082] 图2为表示分割成切片段的图片的数据被保存到PES包的有效载荷中的例子的图。
[0083] 如图2所示,例如,多个切片段(切片段1~4)的数据被保存到1个PES包的有效载荷中。此外,PES包被复用成TS包列。
[0084] (实施方式1)
[0085] 在以下,作为运动图像的编码方式利用H.265的情况为例加以说明,但在利用H.264等其他编码方式的情况中也能够适用本实施方式。
[0086] 图3为表示本实施方式中的按照分割单位分割访问单元(图片)的例子的图。访问单元通过由H.265导入的称作“瓦片(tile)”的功能,在水平以及垂直方向上分别2等分,总计分割成4个瓦片。此外,切片段与瓦片一一对应地创建关联。
[0087] 说明如此地在水平以及垂直方向上2等分的理由。首先,在解码时,一般而言,需要保存水平1线的数据的线存储器,但若成为8K4K等超高分辨率,则由于水平方向的尺寸变大,因此线存储器的尺寸会增加。在接收装置的安装中,优选的是能够减小线存储器的尺寸。为了减小线存储器的尺寸而需要进行垂直方向的分割。在垂直方向的分割中需要瓦片这样的数据结构。由于这些理由而利用瓦片。
[0088] 另一方面,图像一般而言水平方向的相关高,因此如果能够参照在水平方向上大的范围则编码效率进一步提高。因此,从编码效率的观点出发,优选的是沿水平方向分割访问单元。
[0089] 通过将访问单元在水平以及垂直方向上2等分,来兼顾这2个特性,能够顾及安装方面以及编码效率这两方面。在单一的解码器能够对4K2K的运动图像进行实时的解码时,通过以将8K4K的图像4等分而各个切片段变为4K2K的方式进行分割,接收装置能够实时解码8K4K的图像。
[0090] 接着,说明将在水平以及垂直方向上分割访问单元而得到的瓦片与切片段一一对应地创建关联的理由。在H.265中,访问单元由多个称作“NAL(Network Adaptation Layer:网络适配层)单元”的单位构成。
[0091] NAL单元的有效载荷保存表示访问单元的开始位置的访问单元定界符、作为在序列单位下共通使用的解码时的初始化信息的SPS(Sequence Parameter Set:序列参数集)、作为在图片内共通使用的解码时的初始化信息的PPS(Picture Parameter Set:图片参数集)、解码处理本身不需要但在解码结果的处理以及显示等中需要的SEI(Supplemental Enhancement Information:辅助增强信息)、以及切片段的编码数据等中的任一个。NAL单元的头包含用于识别在有效载荷中保存的数据的类型信息。
[0092] 在此,发送装置在通过MPEG-2TS、MMT(MPEG Media Transport:运动图像专家组媒体传送)、MPEG DASH(Dynamic Adaptive Streaming over HTTP:HTTP上的动态自适应成流)、或RTP(Real-time Transport Protocol:实时传送协议)等复用格式对编码数据进行复用时,能够将基本单位设定为NAL单元。为了将1个切片段保存到1个NAL单元中,优选的是,在将访问单元分割为区域时,按照切片段单位进行分割。根据这样的理由,发送装置将瓦片与切片段一一对应地创建关联。
[0093] 另外,如图4所示,发送装置也能够将瓦片1至瓦片4汇总地设定为1个切片段。但是,在该情况下,由于在1个NAL单元中保存全部瓦片,因此接收装置难以从复用层中分离瓦片。
[0094] 另外,在切片段中存在可独立解码的独立切片段以及参照独立切片段的参照切片段,但在此说明利用独立切片段的情况。
[0095] 图5为表示如图3所示以瓦片与切片段的边界一致的方式分割的访问单元的数据的例子的图。访问单元的数据包括配置在开头的保存有访问单元定界符的NAL单元、配置在其后的SPS、PPS以及SEI的NAL单元、以及配置在其后的保存有瓦片1至瓦片4的数据的切片段的数据。另外,访问单元的数据也可以不含有SPS、PPS以及SEI的NAL单元的一部分或全部。
[0096] 接着,说明本实施方式所涉及的发送装置100的构成。图6为表示本实施方式所涉及的发送装置100的构成例的框图。该发送装置100具备编码部101、复用部102、调制部103以及发送部104。
[0097] 编码部101通过对输入图像例如按照H.265进行编码来生成编码数据。此外,例如,如图3所示,编码部101将访问单元分割成4个切片段(瓦片),对各切片段进行编码。
[0098] 复用部102对由编码部101生成的编码数据进行复用。调制部103对通过复用而得的数据进行调制。发送部104将调制后的数据作为广播信号来发送。
[0099] 接着,说明本实施方式所涉及的接收装置200的构成。图7为表示本实施方式所涉及的接收装置200的构成例的框图。该接收装置200具备调谐器201、解调部202、逆复用部203、多个解码部204A~204D、以及显示部205。
[0100] 调谐器201接收广播信号。解调部202对所接收到的广播信号进行解调。解调后的数据输入至逆复用部203。
[0101] 逆复用部203将解调后的数据按照分割单位分离,将每个分割单位的数据输出至解码部204A~204D。在此,分割单位意指通过分割访问单元而得的分割区域,例如为H.265中的切片段。此外,在此,8K4K的图像分割为4个4K2K的图像。因此,存在4个解码部204A~204D。
[0102] 多个解码部204A~204D基于规定的基准时钟相互同步地进行动作。各解码部按照访问单元的DTS(Decoding Time Stamp:解码时间戳)对分割单位的编码数据进行解码,将解码结果输出至显示部205。
[0103] 显示部205通过合并从多个解码部204A~204D输出的多个解码结果从而生成8K4K的输出图像。显示部205按照另行取得的访问单元的PTS(Presentation Time Stamp:显示时间戳)显示所生成的输出图像。另外,显示部205在合并解码结果时,也可以在瓦片的边界等、相互相邻的分割单位的边界区域进行解块滤波等滤波处理,以使该边界在视觉上不醒目。
[0104] 另外,在上述中,以进行广播的发送或接收的发送装置100以及接收装置200为例进行说明,但内容也可以经由通信网络进行发送以及接收。若接收装置200经由通信网络接收内容,则接收装置200从经以太网等网络接收到的IP包中分离复用数据。
[0105] 在广播中,从发送广播信号至到达接收装置200为止的期间的传送路径延迟固定。另一方面,在互联网等通信网络中,因拥堵的影响,从服务器发送的数据直到到达接收装置
200为止的传送路径延迟不固定。因此,接收装置200大多不进行如广播的MPEG-2TS中的基于PCR那样的基准时钟的严密的同步再现。因此,接收装置200也可以不使各解码部严密地同步,而按照PTS在显示部上显示8K4K的输出图像。
[0106] 此外,有时因通信网络的拥堵等,全部分割单位的解码处理在由访问单元的PTS所示的时刻未完成。在该情况下,接收装置200跳过访问单元的显示,或者,使显示延迟直到至少4个分割单位的解码结束且8K4K的图像的生成完成为止。
[0107] 另外,也可以并用广播与通信来发送以及接收内容。此外,在再现保存在硬盘或存储器等记录介质中的复用数据时,也能够适用本方法。
[0108] 接着,说明利用MMT作为复用方式时的分割成切片段的访问单元的复用方法。
[0109] 图8为表示在将HEVC的访问单元的数据打包成MMT时的例子的图。SPS、PPS以及SEI等并非一定要包含到访问单元中,但在此例示出其存在的情况。
[0110] 访问单元定界符、SPS、PPS以及SEI等在访问单元内配置在开头的切片段之前的NAL单元汇总到一起保存到MMT包#1中。后续的切片段按每个切片段地保存到不同的MMT包中。
[0111] 另外,如图9所示,在访问单元内配置在开头的切片段之前的NAL单元也可以与开头的切片段保存在同一MMT包中。
[0112] 此外,若表示序列或流的末端的End-of-Sequence或End-of-Bitstream等的NAL单元被附加在最后切片段之后,则将这些与最后切片段保存在同一MMT包中。但是,有时由于End-of-Sequence或End-of-Bitstream等的NAL单元插入到解码处理的结束点、或2条流的连接点等中,因此优选的是,接收装置200能够从复用层中容易地取得这些NAL单元。该情况下,这些NAL单元也可以保存到与切片段不同的MMT包中。据此,接收装置200能够从复用层中容易地分离出这些NAL单元。
[0113] 另外,也可以利用TS、DASH或RTP等作为复用方式。在这些方式中,发送装置100也将不同的切片段分别保存到不同的包中。据此,能够保证接收装置200能够从复用层中分离出切片段。
[0114] 例如,在采用TS时,按照切片段单位对编码数据进行PES打包。在采用RTP时,按照切片段单位对编码数据进行RTP打包。在这些情况下,也可以如图8所示的MMT包#1那样地,对配置在切片段之前的NAL单元与切片段分别进行打包。
[0115] 在采用TS时,发送装置100通过利用data alignment(数据对齐)描述符等,表示保存在PES包中的数据的单位。此外,由于DASH为通过HTTP等下载称作“段(segment)”的MP4形式的数据单位的方式,因此发送装置100在发送时不进行编码数据的打包。因此,发送装置100也可以按照切片段单位制作子样本,将表示子样本的保存位置的信息保存到MP4的头中,以便接收装置200能够在MP4下在复用层中检测切片段。
[0116] 以下,详细说明切片段的MMT打包。
[0117] 如图8所示,通过打包编码数据,SPS以及PPS等的访问单元内的所有切片段的解码时共通地参照的数据保存在MMT包#1中。该情况下,接收装置200连结MMT包#1的有效载荷数据与各切片段的数据,并将得到的数据输出至解码部。如此地,接收装置200通过连结多个MMT包的有效载荷,能够容易地生成向解码部的输入数据。
[0118] 图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的输入数据。
[0119] 另外,逆复用部203也可以从MMT包#1的有效载荷数据中除去访问单元定界符以及SEI等非解码处理所需的NAL单元,而只分离出解码处理所需的SPS以及PPS的NAL单元并附加到切片段的数据。
[0120] 在如图9所示对编码数据进行打包的情况下,逆复用部203将在复用层中含有访问单元的开头数据的MMT包#1输出至第1个解码部204A。此外,逆复用部203解析在复用层中含有访问单元的开头数据的MMT包,分离SPS以及PPS的NAL单元,将分离出的SPS以及PPS的NAL单元附加到第2个以后的切片段的各个数据,据此生成针对第2个以后的各个解码部的输入数据。
[0121] 再有,优选的是,接收装置200利用MMT包的头所包含的信息,能够识别MMT有效载荷所保存的数据的类型、以及在有效载荷中保存有切片段时该切片段在访问单元内的索引号。在此,数据的类型意指切片段前数据(将在访问单元内配置在开头切片段之前的NAL单元总称为此)以及切片段的数据中的任一个。在MMT包中保存对切片段等的MPU分片而成的单位的情况下,采用用于保存MFU(Media Fragment Unit:媒体分片单元)的模式。发送装置100在采用本模式时,例如,能够将MFU中的数据的基本单位即data unit(数据单元)设定为样本(为MMT中的数据单位,与访问单元相当)、或子样本(分割样本而成的单位)。
[0122] 此时,MMT包的头含有称作“Fragmentation indicator(分片标识符)”的字段以及称作“Fragment counter(分片计数器)”的字段。
[0123] 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项中任一项的识别信息。
[0124] Fragment counter为表示MMT包所保存的数据在data unit中与第几个分片相当的索引号。
[0125] 因此,通过发送装置100将MMT下的样本设定为data unit,将切片段前数据以及各切片段分别设定为data unit的分片单位,接收装置200能够利用MMT包的头所包含的信息识别在有效载荷中保存的数据的类型。即、逆复用部203能够参照MMT包的头,生成向各解码部204A~204D的输入数据。
[0126] 图11为表示样本被设定成data unit、且切片段前数据以及切片段被作为data unit的分片打包时的例子的图。
[0127] 将切片段前数据以及切片段分割成分片#1至分片#5的5个分片。各分片保存到个别的MMT包中。此时,MMT包的头所包含的Fragmentation indicator以及Fragment counter的值如图示。
[0128] 例如,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。
[0129] 此外,Fragment counter在MMT包#1中是从分片的总数即5减去1而得的值即4,在后续包中,顺次逐一减少,在最后即MMT包#5中为0。
[0130] 因此,接收装置200能够利用Fragment indicator以及Fragment counter中的任一个识别保存切片段前数据的MMT包。此外,接收装置200通过参照Fragment counter,能够识别保存第N个切片段的MMT包。
[0131] MMT包的头另行含有data unit所属的Movie Fragment(电影分片)在MPU内的序列号、MPU自身的序列号、data unit所属的样本在Movie Fragment内的序列号。逆复用部203通过参照这些,能够唯一地决定data unit所属的样本。
[0132] 再有,由于逆复用部203能够根据Fragment counter等决定data unit内的分片的索引号,因此在发生丢包时,也能够唯一地确定在分片中保存的切片段。例如,逆复用部203在因丢包而无法取得图11所示的分片#4时,也由于知晓分片#3的紧后所接收的分片是分片#5,因此能够将在分片#5中保存的切片段4正确地输出至解码部204D而非解码部204C。
[0133] 另外,在使用保证不发生丢包的传送路径时,逆复用部203不参照MMT包的头决定在MMT包中保存的数据的类型、或切片段的索引号,而周期性地处理到达的包即可。例如,在将访问单元通过切片前数据以及4个切片段共计5个MMT包发送时,接收装置200通过在决定开始解码的访问单元的切片前数据之后,顺次处理所接收到的MMT包,能够顺次取得切片前数据以及4个切片段的数据。
[0134] 以下,说明打包的变形例。
[0135] 切片段未必需要在访问单元的面内沿水平方向与垂直方向这两方向分割,如图1所示,既可以将访问单元只沿水平方向分割,也可以只沿垂直方向分割。
[0136] 此外,在只沿水平方向分割访问单元时,无需采用瓦片。
[0137] 此外,访问单元的面内的分割数是任意的,不限于4个。但是,切片段以及瓦片的区域尺寸需要为H.265等编码标准的下限以上。
[0138] 发送装置100也可以将表示访问单元的面内的分割方法的识别信息保存到MMT消息、或TS的描述符等中。例如,也可以保存有分别表示面内的水平方向与垂直方向的分割数的信息。或者,也可以针对如图3所示那样地分别沿水平方向以及垂直方向2等分,或如图1所示那样地沿水平方向4等分等分割方法分配固有的识别信息。例如,在如图3所示那样地分割访问单元时,识别信息表示模式1,在如图1所示那样地分割访问单元时,识别信息表示模式2。
[0139] 此外,表示与面内的分割方法关联的编码条件的制约的信息也可以被包含在复用层中。例如,也可以利用表示1个切片段由1个瓦片构成的信息。或者,也可以利用表示切片段或瓦片的解码时进行运动补偿的情况下的参照块被限制为画面内的同一位置的切片段或瓦片、或者被限制为相邻的切片段中的规定范围内的块等的信息。
[0140] 此外,发送装置100也可以根据运动图像的分辨率,切换是否将访问单元分割成多个切片段。例如,发送装置100也可以在处理对象的运动图像为8K4K时将访问单元分割成4个,而在处理对象的运动图像为4K2K的分辨率时不进行面内的分割。通过事先规定在8K4K的运动图像的情况下的分割方法,接收装置200通过取得所接收的运动图像的分辨率,能够决定有无面内的分割以及分割方法,切换解码动作。
[0141] 此外,接收装置200能够通过参照MMT包的头来检测有无面内的分割。例如,在未分割访问单元时,若将MMT的data unit设定为样本,则不进行data unit的分片。因此,接收装置200在MMT包的头所包含的Fragment counter的值总是为零时,能够判定为未分割访问单元。或者,接收装置200也可以检测Fragmentation indicator的值是否总是01。接收装置200在Fragmentation indicator的值总是01时,也能够判定为未分割访问单元。
[0142] 此外,接收装置200也能够应对访问单元的面内的分割数与解码部数量不一致的情况。例如,在接收装置200具备能够实时解码8K2K的编码数据的2个解码部204A以及204B时,逆复用部203针对解码部204A,输出构成8K4K的编码数据的4个切片段之中的2个。
[0143] 图12为表示如图8所示那样地进行MMT打包后的数据输入至2个解码部204A以及204B时的动作例的图。在此,优选的是,接收装置200能够将解码部204A以及204B的解码结果直接合并并输出。因此,逆复用部203以解码部204A以及204B各自的解码结果在空间上连续的方式,选择输出至解码部204A以及204B的每一个解码部的切片段。
[0144] 此外,逆复用部203也可以根据运动图像的编码数据的分辨率或帧速率等,选择所使用的解码部。例如,在接收装置200具备4个4K2K的解码部时,若输入图像的分辨率为8K4K,则接收装置200利用全部4个解码部进行解码处理。此外,只要输入图像的分辨率是
4K2K,则接收装置200只利用1个解码部进行解码处理。或者,即使面内被分割成4个,在能够通过单一的解码部实时解码8K4K时,逆复用部203也合并全部分割单位并输出至1个解码部。
[0145] 再有,接收装置200也可以考虑帧速率来决定所使用的解码部。例如,存在如下情况:在接收装置200具备2台在分辨率为8K4K时能够实时解码的帧速率的上限为60fps的解码部的情况下,在8K4K下输入120fps的编码数据。此时,若设面内由4个分割单位构成,则与图12的例子同样地,切片段1与切片段2输入至解码部204A,切片段3与切片段4输入至解码部204B。由于各个解码部204A以及204B只要是8K2K(分辨率为8K4K的一半)就能够连120fps也实时解码,因此能通过这2台解码部204A以及204B进行解码处理。
[0146] 此外,即使分辨率以及帧速率相同,若编码方式中的档次(profile)、或者级别(level)、或者H.264或H.265等编码方式本身不同则处理量不同。因此,接收装置200也可以基于这些信息选择所使用的解码部。另外,接收装置200在无法对经广播或通信接收到的全部编码数据进行解码时,或在构成用户所选择的区域的全部切片段或瓦片无法解码时,也可以自动决定在解码部的处理范围内可解码的切片段或瓦片。或者,接收装置200也可以提供用于用户选择解码的区域的用户界面。此时,接收装置200既可以显示表示无法对全部区域进行解码的警告消息,也可以显示表示可解码的区域、切片段或瓦片的个数的信息。
[0147] 此外,上述方法也能够适用于利用广播以及通信等多个传送路径发送以及接收保存同一编码数据的切片段的MMT包的情况。
[0148] 此外,发送装置100为了使分割单位的边界不醒目,也可以以各切片段的区域重叠的方式进行编码。在图13所示的例子中,8K4K的图片分割成4个切片段1~4。切片段1~3分别例如为8K×1.1K,切片段4为8K×1K。此外,相邻的切片段相互重叠。通过如此,能够在以虚线所示的4分割时的边界上,有效地执行编码时的运动补偿,因此边界部分的画质得以提高。如此地,降低边界部分的画质恶化。
[0149] 该情况下,显示部205从8K×1.1K的区域之中切出8K×1K的区域,并合并所得到的区域。另外,发送装置100也可以将表示切片段是否被重叠地进行编码以及重叠的范围的信息包含在复用层或编码数据内另行发送。
[0150] 另外,在使用瓦片时,也能够适用同样的方法。
[0151] 以下,说明发送装置100的动作的流程。图14为表示发送装置100的动作例的流程图。
[0152] 首先,编码部101将图片(访问单元)分割成多个区域即多个切片段(瓦片)(S101)。接着,编码部101以能够对多个切片段中的每一个切片段独立解码的方式进行编码,由此生成与多个切片段中的每一个切片段对应的编码数据(S102)。另外,编码部101既可以通过单一编码部对多个切片段进行编码,也可以通过多个编码部进行并行处理。
[0153] 接着,复用部102将由编码部101生成的多个编码数据保存到多个MMT包中,由此对多个编码数据进行复用(S103)。具体而言,如图8以及图9所示,复用部102以在1个MMT包中不保存与不同的切片段对应的编码数据的方式,将多个编码数据保存到多个MMT包中。此外,如图8所示,复用部102将针对图片内的全部解码单位共通使用的控制信息保存到与保存有多个编码数据的多个MMT包#2~#5不同的MMT包#1中。在此,控制信息包括访问单元定界符、SPS、PPS以及SEI中的至少一个。
[0154] 另外,复用部102也可以将控制信息保存到与保存有多个编码数据的多个MMT包中的任一个相同的MMT包内。例如,如图9所示,复用部102也可以将控制信息保存到保存有多个编码数据的多个MMT包中的开头的MMT包(图9的MMT包#1)内。
[0155] 最后,发送装置100发送多个MMT包。具体而言,调制部103对经复用而得的数据进行调制,发送部104发送调制后的数据(S104)。
[0156] 图15为表示接收装置200的构成例的框图,为详细表示图7所示的逆复用部203以及其后级的构成的图。如图15所示,接收装置200还具备解码命令部206。此外,逆复用部203具备类型判别部211、控制信息取得部212、切片信息取得部213以及解码数据生成部214。
[0157] 以下,说明接收装置200的动作的流程。图16为表示接收装置200的动作例的流程图。在此,表示针对1个访问单元的动作。在执行多个访问单元的解码处理时,反复进行本流程图的处理。
[0158] 首先,接收装置200例如接收由发送装置100生成的多个包(MMT包)(S201)。
[0159] 接着,类型判别部211通过解析接收包的头,取得在接收包中保存的编码数据的类型(S202)。
[0160] 接着,类型判别部211基于所取得的编码数据的类型,判定在接收包中保存的数据是切片段前数据,还是切片段的数据(S203)。
[0161] 若在接收包中保存的数据是切片段前数据(S203的“是”),则控制信息取得部212从接收包的有效载荷中取得处理对象的访问单元的切片段前数据,将该切片段前数据保存到存储器中(S204)。
[0162] 另一方面,若在接收包中保存的数据是切片段的数据(S203的“否”),则接收装置200利用接收包的头信息,判定在该接收包中保存的数据是否是多个区域中的某一个区域的编码数据。具体而言,切片信息取得部213通过解析接收包的头,取得在接收包中保存的切片段的索引号Idx(S205)。具体而言,索引号Idx为访问单元(MMT中的样本)的Movie Fragment(电影分片)内的索引号。
[0163] 另外,该步骤S205的处理也可以在步骤S202中一并进行。
[0164] 接着,解码数据生成部214决定对该切片段进行解码的解码部(S206)。具体而言,索引号Idx与多个解码部事先创建关联,解码数据生成部214决定与在步骤S205中取得的索引号Idx对应的解码部作为对该切片段进行解码的解码部。
[0165] 另外,解码数据生成部214也可以如在图12的例子中说明地,基于访问单元(图片)的分辨率、访问单元向多个切片段(瓦片)的分割方法、以及接收装置200所具备的多个解码部的处理能力中的至少一项,决定对该切片段进行解码的解码部。例如,解码数据生成部214基于MMT的消息、或TS的节(section)等的描述符中的识别信息,判别访问单元的分割方法。
[0166] 接着,解码数据生成部214使多个包中的任一个包所包含的、针对图片内的全部解码单位共通使用的控制信息与多个切片段的多个编码数据中的各个编码数据结合,由此生成向多个解码部输入的多个输入数据(结合数据)。具体而言,解码数据生成部214从接收包的有效载荷中取得切片段的数据。解码数据生成部214通过使经步骤S204保存到存储器中的切片段前数据、与所取得的切片段的数据结合,生成向经步骤S206决定的解码部的输入数据(S207)。
[0167] 在步骤S204或S207之后,在接收包的数据并非访问单元的最终数据时(S208的“否”),再次进行步骤S201以后的处理。即、反复进行上述处理,直到生成与访问单元所包含的全部切片段对应的向多个解码部204A~204D的输入数据为止。
[0168] 另外,包被接收的定时不限于图16所示的定时,也可以事先或顺次接收多个包,并保存到存储器等中。
[0169] 另一方面,若接收包的数据为访问单元的最终数据(S208的“是”),则解码命令部206将经步骤S207生成的多个输入数据向所对应的解码部204A~204D输出(S209)。
[0170] 接着,多个解码部204A~204D按照访问单元的DTS,对多个输入数据并行地进行解码,由此生成多个解码图像(S210)。
[0171] 最后,显示部205通过使经多个解码部204A~204D生成的多个解码图像结合来生成显示图像,按照访问单元的PTS显示该显示图像(S211)。
[0172] 另外,接收装置200通过解析保存MPU的头信息或Movie Fragment的头信息的MMT包的有效载荷数据,取得访问单元的DTS以及PTS。此外,接收装置200在使用TS作为复用方式时,从PES包的头中取得访问单元的DTS以及PTS。接收装置200在使用RTP作为复用方式时,从RTP包的头中取得访问单元的DTS以及PTS。
[0173] 此外,显示部205在合并多个解码部的解码结果时,也可以在相邻的分割单位的边界上进行解块滤波等滤波处理。另外,由于在显示单一解码部的解码结果时不需要进行滤波处理,因此显示部205也可以根据是否对多个解码部的解码结果的边界进行滤波处理来切换处理。是否需要进行滤波处理也可以根据有无分割等事先规定。或者,也可以将表示是否需要进行滤波处理的信息另行保存到复用层中。此外,滤波系数等滤波处理所需的信息有时保存在SPS、PPS、SEI或切片段内。解码部204A~204D、或逆复用部203通过解析SEI来取得这些信息,将所取得的信息输出至显示部205。显示部205利用这些信息进行滤波处理。另外,在这些信息保存在切片段内时,优选解码部204A~204D取得这些信息。
[0174] 另外,在上述说明中,示出了保存到分片中的数据的种类为切片段前数据与切片段这2种的情况的例子,但数据的种类也可以为3种以上。该情况下,在步骤S203中进行与类型相应的区分。
[0175] 此外,发送装置100在切片段的数据尺寸大时,也可以对切片段进行分片并保存到MMT包中。即、发送装置100也可以对切片段前数据以及切片段进行分片。该情况下,若如图11所示的打包的例子那样地设定为访问单元与data unit相等,则会产生以下的问题。
[0176] 例如在切片段1被分割成3个分片时,通过将切片段1分割成Fragment counter值1至3这3个包来进行发送。此外,在切片段2以后,Fragment counter值变为4以上,无法取得Fragment counter的值与在有效载荷保存的数据的关联。因此,接收装置200无法根据MMT包的头的信息,确定保存切片段的开头数据的包。
[0177] 该情况下,接收装置200也可以解析MMT包的有效载荷的数据,并确定切片段的开始位置。在此,在H.264或H.265中作为将NAL单元保存到复用层中的形式,有在NAL单元头的紧前附加由特定的比特串构成的起始码的称作“字节流格式”的形式、以及附加表示NAL单元的尺寸的字段的称作“NAL尺寸格式”的形式这2种。
[0178] 字节流格式在MPEG-2系统以及RTP等中被利用。NAL尺寸格式在MP4、以及使用MP4的DASH以及MMT等中被利用。
[0179] 在利用字节流格式时,接收装置200解析包的开头数据是否与起始码一致。只要包的开头数据与起始码一致,则接收装置200通过从紧随其后的NAL单元头中取得NAL单元的类型,能够检测该包所包含的数据是否为切片段的数据。
[0180] 另一方面,在NAL尺寸格式时,接收装置200不能基于比特串检测NAL单元的开始位置。因此,接收装置200为了取得NAL单元的开始位置,需要通过从访问单元的开头NAL单元起顺次读出相对于NAL单元的尺寸量的数据来使指针移位。
[0181] 其中,若在MMT的MPU或Movie Fragment的头中,表示有子样本单位的尺寸,且子样本与切片前数据或切片段对应,则接收装置200能够基于子样本的尺寸信息确定各NAL单元的开始位置。因此,发送装置100也可以将表示子样本单位的信息是否存在于MPU或Movie Fragment中的信息,包含到MMT中的MPT等、接收装置200在开始接收数据时取得的信息内。
[0182] 另外,MPU的数据为以MP4格式为基础扩展而得的数据。在MP4中,有能够将H.264或H.265的SPS以及PPS等的参数集作为样本数据进行保存的模式以及不能保存的模式。此外,用于确定该模式的信息作为SampleEntry(样本入口)的入口名来表示。在利用能够保存的模式,且参数集被包含在样本中时,接收装置200通过上述的方法取得参数集。
[0183] 另一方面,在利用不能保存的模式时,参数集作为SampleEntry内的Decoder Specific Information(解码器特性信息)进行保存、或者利用参数集用的流来进行保存。在此,一般不使用参数集用的流,所以优选的是,发送装置100在Decoder Specific Information中保存参数集。该情况下,接收装置200解析在MMT包中作为MPU的元数据、或者Movie Fragment的元数据发送的SampleEntry,取得访问单元所参照的参数集。
[0184] 在参数集作为样本数据进行保存时,接收装置200能够只参照样本数据取得解码所需的参数集,而不参考SampleEntry。此时,发送装置100也可以不将参数集保存到SampleEntry中。通过如此,发送装置100能够在不同的MPU中利用同一SampleEntry,因此能够降低MPU生成时的发送装置100的处理负荷。再有,存在接收装置200无需参照SampleEntry内的参数集的优点。
[0185] 或者,发送装置100也可以将1个默认的参数集保存到SampleEntry中,将访问单元所参照的参数集保存到样本数据中。在以往的MP4中,一般在SampleEntry中保存参数集,因此在SampleEntry中不存在参数集时有的接收装置有可能停止再现。通过利用上述的方法,能够解决该问题。
[0186] 或者,发送装置100也可以只在使用不同于默认的参数集的参数集时,将参数集保存到样本数据中。
[0187] 另外,由于两种模式皆能将参数集保存到SampleEntry中,因此发送装置100也可以总是将参数集保存到VisualSampleEntry(视觉样本入口)中,接收装置200总是从VisualSampleEntry中取得参数集。
[0188] 另外,在MMT标准中,Moov以及Moof等MP4的头信息作为MPU元数据、或电影分片元数据来传送,但发送装置100也可以不一定发送MPU元数据以及电影分片元数据。再有,接收装置200也能够基于ARIB(Association of Radio Industries and Businesses:无线电工商业协会)标准的服务、资源的类型、或有无MPU元的传送等,判定是否在样本数据内保存有SPS以及PPS。
[0189] 图17为表示切片段前数据以及各切片段分别设定为不同的data unit时的例子的图。
[0190] 在图17所示的例子中,切片段前数据、以及切片段1至切片段4的数据尺寸分别为Length(长度)#1至Length#5。MMT包的头所包含的Fragmentation indicator、Fragment counter以及Offset(偏移)的各字段值如图中所示。
[0191] 在此,Offset为表示从有效载荷数据所属的样本(访问单元或图片)的编码数据的开头起,到该MMT包所包含的有效载荷数据(编码数据)的开头字节的比特长(偏移)的偏移信息。另外,Fragment counter的值作为从分片的总数减去1而得的值开始来说明,但也可以从其他值开始。
[0192] 图18为表示对data unit进行分片时的例子的图。在图18所示的例子中,切片段1分割成3个分片,分别保存到MMT包#2至MMT包#4中。此时,将各分片的数据尺寸分别设为Length#2_1至Length#2_3,各字段的值如图中所示。
[0193] 如此地,在切片段等的数据单位设定成data unit时,访问单元的开头以及切片段的开头能够基于MMT包头的字段值如以下那样地决定。
[0194] Offset的值为0的包中的有效载荷的开头为访问单元的开头。
[0195] Offset的值为不同于0的值,且Fragmentation indicator的值为00或01的包的有效载荷的开头为切片段的开头。
[0196] 此外,在不发生data unit的分片,也不发生丢包时,接收装置200能够基于在检测到访问单元的开头之后所取得的切片段的个数,确定在MMT包中保存的切片段的索引号。
[0197] 此外,在对切片段前数据的data unit进行分片的情况下,也同样地,接收装置200能够检测访问单元以及切片段的开头。
[0198] 此外,在发生丢包时,或者在切片段前数据所包含的SPS、PPS以及SEI设定成不同的data unit时,接收装置200通过基于MMT头的解析结果确定保存切片段的开头数据的MMT包,随后解析切片段的头,也能够确定图片(访问单元)内的切片段或瓦片的开始位置。切片头的解析所涉及的处理量小,处理负荷不会成为问题。
[0199] 如此地,多个切片段的多个编码数据中的各个编码数据与在1个以上的包中保存的数据的单位即基本数据单位(data unit)一对一地创建关联。此外,多个编码数据中的各个编码数据被保存到1个以上的MMT包中。
[0200] 各MMT包的头信息包括Fragmentation indicator(识别信息)以及Offset(偏移信息)。
[0201] 接收装置200将下述包所包含的有效载荷数据的开头判定为各切片段的编码数据的开头,该包具有包含有值为00或01的Fragmentation indicator的头信息。具体而言,接收装置200将下述包所包含的有效载荷数据的开头判定为各切片段的编码数据的开头,该包具有包含有值不为0的Offset、值为00或01的Fragmentation indicator的头信息。
[0202] 此外,在图17的例中,data unit的开头为访问单元的开头或者切片段的开头的任一个,Fragmentation indicator的值为00或01。再有,接收装置200通过参照NAL单元的类型,判定data unit的开头为访问单元定界符或者切片段中的哪一个,也能够不参考Offset地检测访问单元的开头或者切片段的开头。
[0203] 如此地,发送装置100通过以NAL单元的开头必须从MMT包的有效载荷的开头开始的方式进行打包,从而将切片段前数据分割成多个data unit的情况也包含在内的情况下,接收装置200通过解析Fragmentation indicator以及NAL单元头,能够检测访问单元或者切片段的开头。NAL单元的类型存在于NAL单元头的开头字节。因此,接收装置200通过在解析MMT包的头部时,追加地解析1字节量的数据,能够取得NAL单元的类型。在为音频时,接收装置200能检测访问单元的开头即可,基于Fragmentation indicator的值是否为00或01来判定即可。
[0204] 此外,如上述,若将以可进行分割解码的方式进行编码而得的编码数据保存到MPEG-2TS的PES包中,则发送装置100能够利用data alignment(数据对齐)描述符。以下,详细说明编码数据向PES包的保存方法的例子。
[0205] 例如,在HEVC中,发送装置100通过利用data alignment描述符,能够表示在PES包中保存的数据是访问单元、切片段以及瓦片中的哪一个。HEVC中的对齐的类型如下规定。
[0206] 对齐的类型=8表示HEVC的切片段。对齐的类型=9表示HEVC的切片段或访问单元。对齐的类型=12表示HEVC的切片段或瓦片。
[0207] 因此,发送装置100例如通过利用类型9,能够表示PES包的数据是切片段或切片段前数据中的某一个。由于还另行规定了表示是切片而不是切片段的类型,因此发送装置100也可以使用表示是切片而不是切片段的类型。
[0208] 此外,PES包的头所包含的DTS以及PTS只设定在包括访问单元的开头数据的PES包中。因此,只要类型为9,并且在PES包中存在DTS或PTS的字段,接收装置200就能够判定在PES包中保存有访问单元整体、或者访问单元中的开头的分割单位。
[0209] 此外,发送装置100也可以利用表示保存含有访问单元的开头数据的PES包的TS包的优先级的transport_priority等字段,使得接收装置200能够区别包所包含的数据。此外,接收装置200也可以通过解析PES包的有效载荷是否为访问单元定界符,来判定包所包含的数据。此外,PES包头的data_alignment_indicator表示数据是否按照这些类型保存在PES包中。只要该标志(data_alignment_indicator)设置为1,就保证在PES包中保存的数据按照data alignment描述符所示的类型。
[0210] 此外,发送装置100也可以只在按照切片段等可分割解码的单位进行PES打包时,使用data alignment描述符。据此,接收装置200在存在data alignment描述符时,能够判断为编码数据按照可分割解码的单位被进行了PES打包,在不存在data alignment描述符时,能够判断为编码数据以访问单元单位被进行了PES打包。另外,在将data_alignment_indicator设置为1,且不存在data alignment描述符时,PES打包的单位为访问单元的内容在MPEG-2TS标准中规定。
[0211] 只要在PMT内包含有data alignment描述符,接收装置200就能够判定为按照可分割解码的单位进行了PES打包,并基于打包后的单位,生成向各解码部的输入数据。此外,接收装置200在PMT内不含有data alignment描述符,而基于节目信息、或该其他描述符的信息判定为需要进行编码数据的并行解码时,通过解析切片段的切片头等,生成向各解码部的输入数据。此外,在能够通过单一解码部解码编码数据时,接收装置200通过该解码部解码访问单元整体的数据。另外,在表示编码数据是否由切片段或瓦片等可分割解码的单位构成的信息通过PMT的描述符等另行表示时,接收装置200也可以基于该描述符的解析结果判定是否能够对编码数据进行并行解码。
[0212] 此外,由于PES包的头所包含的DTS以及PTS只设定在包括访问单元的开头数据的PES包中,因此在分割访问单元进行PES打包时,在第2个以后的PES包中不含表示访问单元的DTS以及PTS的信息。因此,在并行进行解码处理时,各解码部204A~204D以及显示部205使用包含访问单元的开头数据的PES包的头中保存的DTS以及PTS。
[0213] (实施方式2)
[0214] 在实施方式2中,说明在MMT下将NAL尺寸格式的数据保存到基于MP4格式的MPU中的方法。另外,在以下作为一例,说明向用于MMT的MPU的保存方法,但这样的保存方法也能够适用于作为相同的基于MP4格式的DASH。
[0215] [向MPU的保存方法]
[0216] 在MP4格式中,将多个访问单元汇总地保存到1个MP4文件中。用于MMT的MPU能够将每个媒体的数据保存到1个MP4文件中,在数据中包含任意个数的访问单元。由于MPU是可单独地进行解码的单位,因此例如在MPU中保存有GOP单位的访问单元。
[0217] 图19为表示MPU的构成的图。MPU的开头为ftyp、mmpu以及moov,这些总括地定义为MPU元数据。在moov中,保存有在文件中共通的初始化信息以及MMT提示轨道(hint track)。
[0218] 此外,在moof中,保存有每个样本或子样本的初始化信息以及尺寸、能够确定提示时刻(PTS)以及解码时刻(DTS)的信息(sample_duration、sample_size、sample_composition_time_offset)、以及表示数据的位置的data_offset等。
[0219] 此外,多个访问单元分别作为样本保存到mdat(mdat框(box))中。moof以及mdat之中的除了样本以外的数据定义为电影分片元数据(以后记作MF元数据),mdat的样本数据定义为媒体数据。
[0220] 图20为表示MF元数据的构成的图。如图20所示,MF元数据更详细而言,由moof框(moof)的type(类型)、length(长度)及data(数据)、以及mdat框(mdat)的type(类型)以及length(长度)构成。
[0221] 在将访问单元保存到MP4数据中时,有能够将H.264或H.265的SPS以及PPS等的参数集作为样本数据保存的模式、以及不能保存的模式。
[0222] 在此,在上述不能保存的模式中,参数集保存到moov的SampleEntry的Decoder Specific Information中。此外,在上述能够保存的模式中,参数集包含于样本内。
[0223] MPU元数据、MF元数据以及媒体数据分别保存到MMT有效载荷中,作为可识别这些数据的识别符,在MMT有效载荷的头中,保存有分片类型(FT)。FT=0表示为MPU元数据,FT=1表示为MF元数据,FT=2表示为媒体数据。
[0224] 另外,在图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有效载荷中。
[0225] [以往的发送方法与问题]
[0226] 以往,在将多个访问单元封装成MP4格式时,在保存到MP4中的样本全部齐备的时刻制作moov以及moof。
[0227] 在利用广播等实时传送MP4格式时,例如若设在1个MP4文件中保存的样本为GOP单位,则在蓄积GOP单位的时间样本之后制作moov以及moof,因此产生伴随封装的延迟。由于这样的发送侧的封装,端到端延迟总是延长GOP单位时间量。据此,难以实时进行服务的提供,尤其在传送实况内容时,导致针对观众的服务的恶化。
[0228] 图21为用于说明数据的发送顺序的图。在将MMT适用到广播中时,如图21的(a)所示,若按照MPU的构成顺序载置到MMT包中发送(按照MMT包#1、#2、#3、#4、#5的顺序发送),则在MMT包的发送中产生封装所致的延迟。
[0229] 为了防止该封装所致的延迟,提出了如下方法,即如图21的(b)所示,不发送MPU元数据以及MF元数据等MPU头信息(不发送包#1以及#2,将包#3-#5按照此顺序发送)。此外,考虑到如下方法:如图20的(c)所示,不等待MPU头信息的制作地先发送媒体数据,在发送媒体数据之后发送MPU头信息(按照#3-#5、#1、#2的顺序进行发送)。
[0230] 在未发送MPU头信息的情况下,接收装置不利用MPU头信息进行解码,此外,在与媒体数据相比后发送MPU头信息的情况下,接收装置等待取得MPU头信息之后进行解码。
[0231] 可是,在以往的遵循MP4的接收装置中,不用MPU头信息进行解码无法得到保证。此外,在接收装置通过特殊的处理不利用MPU头进行解码时,若利用以往的发送方法则解码处理会变得复杂,实时解码变得困难的可能性高。此外,在接收装置等待进行MPU头信息的取得之后进行解码时,直到接收装置取得头信息为止的期间需要进行媒体数据的缓冲,但缓冲器模型未被规定,无法保证解码。
[0232] 于是,实施方式2所涉及的发送装置如图20的(d)所示,通过在MPU元数据中只保存共通的信息,使MPU元数据先于媒体数据发送。并且,实施方式2所涉及的发送装置使在生成中产生延迟的MF元数据后于媒体数据发送。据此,提供一种能够保证媒体数据的解码的发送方法或接收方法。
[0233] 以下,说明利用图21的(a)-(d)的各发送方法时的接收方法。
[0234] 在图21所示的各发送方法中,首先,按照MPU元数据、MF元数据、媒体数据的顺序构成MPU数据。
[0235] 在构成MPU数据之后,发送装置如图21的(a)所示,按照MPU元数据、MF元数据、媒体数据的顺序发送数据时,接收装置能够通过下记的(A-1)以及(A-2)中的任一方法进行解码。
[0236] (A-1)接收装置在取得MPU头信息(MPU元数据以及MF元数据)之后,利用MPU头信息对媒体数据进行解码。
[0237] (A-2)接收装置不利用MPU头信息地对媒体数据进行解码。
[0238] 这样的方法均存在如下优点,即虽然在发送侧发生封装所致的延迟,但在接收装置中,无需为了取得MPU头而对媒体数据进行缓冲。在不进行缓冲时,不需要搭载用于缓冲的存储器,更不会发生缓冲延迟。此外,由于(A-1)的方法利用MPU头信息进行解码,因此也能够适用于以往的接收装置。
[0239] 在发送装置如图21的(b)所示,只发送媒体数据时,接收装置能够通过下记的(B-1)的方法进行解码。
[0240] (B-1)接收装置不利用MPU头信息地对媒体数据进行解码。
[0241] 此外,虽未图示,但在先于发送图21的(b)的媒体数据而发送MPU元数据时,能够通过下记的(B-2)的方法进行解码。
[0242] (B-2)接收装置利用MPU元数据对媒体数据进行解码。
[0243] 上述(B-1)以及(B-2)的方法均存在如下优点,即、在发送侧不发生封装所致的延迟,并且无需为了取得MPU头而对媒体数据进行缓冲。可是,由于(B-1)以及(B-2)的方法均未进行利用MPU头信息的解码,因此存在解码需要特殊的处理的可能性。
[0244] 在发送装置如图21的(c)所示,按照媒体数据、MPU元数据、MF元数据的顺序发送数据时,接收装置能够通过下记的(C-1)以及(C-2)的任一方法进行解码。
[0245] (C-1)接收装置在取得MPU头信息(MPU元数据以及MF元数据)之后,对媒体数据进行解码。
[0246] (C-2)接收装置不利用MPU头信息地对媒体数据进行解码。
[0247] 在利用上述(C-1)的方法时,为了取得MPU头信息需要对媒体数据进行缓冲。与之相对,在利用上述(C-2)的方法时,无需进行用于取得MPU头信息的缓冲。
[0248] 此外,上述(C-1)以及(C-2)的任一方法在发送侧都不产生封装所致的延迟。此外,由于(C-2)的方法不利用MPU头信息,因此存在需要特殊的处理的可能性。
[0249] 在发送装置如图21的(d)所示,按照MPU元数据、媒体数据、MF元数据的顺序发送数据时,接收装置能够通过下记的(D-1)以及(D-2)的任一方法进行解码。
[0250] (D-1)接收装置在取得MPU元数据之后,再取得MF元数据,随后,对媒体数据进行解码。
[0251] (D-2)接收装置在取得MPU元数据之后,不利用MF元数据地对媒体数据进行解码。
[0252] 在利用上述(D-1)的方法时,为了取得MF元数据需要对媒体数据进行缓冲,在上述(D-2)的方法时,无需进行用于取得MF元数据的缓冲。
[0253] 由于上述(D-2)的方法不进行利用MF元数据的解码,因此存在需要进行特殊的处理的可能性。
[0254] 如上述,在能够利用MPU元数据以及MF元数据进行解码时,有在以往的MP4接收装置中也能够解码的优点。
[0255] 另外,在图21中,MPU数据按照MPU元数据、MF元数据、媒体数据的顺序构成,在moof中,基于该构成决定每个样本或子样本的位置信息(偏移)。此外,在MF元数据中也包含有mdat框中的媒体数据以外的数据(框的尺寸或类型)。
[0256] 因此,在接收装置基于MF元数据确定媒体数据时,接收装置在与发送数据的次序无关地按照构成MPU数据时的次序重构数据之后,利用MPU元数据的moov或MF元数据的moof进行解码。
[0257] 另外,在图21中,MPU数据按照MPU元数据、MF元数据、媒体数据的顺序构成,但也可以按照不同于图21的次序构成MPU数据,并决定位置信息(偏移)。
[0258] 例如,MPU数据也可以按照MPU元数据、媒体数据、MF元数据的顺序构成,在MF元数据中表示有负的位置信息(偏移)。该情况下,也与发送数据的次序无关地,接收装置在按照在发送侧构成MPU数据时的次序重构数据之后,利用moov或moof进行解码。
[0259] 另外也可以是,发送装置作为信令发送表示构成MPU数据时的次序的信息,接收装置基于被作为信令发送的信息重构数据。
[0260] 如上述,接收装置如图21的(d)所示,将打包而得的MPU元数据、打包而得的媒体数据(样本数据)、打包而得的MF元数据按照此顺序进行接收。在此,MPU元数据为第一元数据的一例,MF元数据为第二元数据的一例。
[0261] 接着,接收装置重构包含所接收的MPU元数据、所接收的MF元数据以及所接收的样本数据的MPU数据(MP4格式的文件)。并且,利用MPU元数据以及MF元数据对重构的MPU数据所包含的样本数据进行解码。MF元数据是包含在发送侧仅能在样本数据生成后生成的数据(例如,在mbox中保存的length)的元数据。
[0262] 另外,更详细而言,上述接收装置的动作通过构成接收装置的各构成要素进行。例如,接收装置具备进行上述数据的接收的接收部、进行上述MPU数据的重构的重构部、以及进行上述MPU数据的解码的解码部。另外,接收部、生成部以及解码部分别通过微型计算机、处理器、专用电路等来实现。
[0263] [不利用头信息地进行解码的方法]
[0264] 接着,说明不利用头信息地进行解码的方法。在此,说明与在发送侧是否发送头信息无关地,在接收装置不利用头信息地进行解码的方法。也就是说,该方法在利用参照图21说明的任一发送方法时都能够适用。但是,一部分的解码方法为仅能适用于特定的发送方法时的解码方法。
[0265] 图22为表示不利用头信息地进行解码的方法的例子的图。在图22中,只图示出了只包含有媒体数据的MMT有效载荷以及MMT包,而未图示出包含有MPU元数据或MF元数据的MMT有效载荷以及MMT包。此外,在以下的图22的说明中,设连续传送属于相同的MPU的媒体数据。此外,以在有效载荷中保存有样本作为媒体数据的情况为例进行说明,但在以下的图22的说明中,当然既可以保存有NAL单元,也可以保存有被分片的NAL单元。
[0266] 为了解码媒体数据,接收装置首先必须取得解码所需的初始化信息。此外,若媒体为视频,则接收装置必须取得每个样本的初始化信息,确定随机访问单位即MPU的开始位置,取得样本以及NAL单元的开始位置。此外,接收装置需要分别确定样本的解码时刻(DTS)、提示时刻(PTS)。
[0267] 于是,接收装置能够例如利用下记的方法,不利用头信息地进行解码。另外,在有效载荷中保存NAL单元单位或对NAL单元分片而成的单位时,在下记说明中将“样本”替换为“样本的NAL单元”即可。
[0268] <随机访问(=特定MPU的开头样本)>
[0269] 在不发送头信息时,接收装置为了确定MPU的开头样本,有下记方法1与方法2。另外,在发送头信息时,能够利用方法3。
[0270] [方法1]接收装置在MMT包头中取得‘RAP_flag=1’的MMT包所包含的样本。
[0271] [方法2]接收装置在MMT有效载荷头中取得‘sample number=0’的样本。
[0272] [方法3]在媒体数据之前以及之后中的至少任意一方发送了MPU元数据以及MF元数据的至少任意一方时,接收装置取得MMT有效载荷头中的分片类型(FT)已向媒体数据切换的MMT有效载荷所包含的样本。
[0273] 另外,在方法1以及方法2中,若在1个有效载荷中混有属于不同的MPU的多个样本,则无法判定哪一NAL单元为随机访问点(RAP_flag=1或sample number(样本号)=0)。因此,需要限制为在1个有效载荷中不使不同的MPU的样本混杂存在,或者在1个有效载荷中不同的MPU的样本混杂存在时,限制为在最后(或最初)的样本为随机访问点时设RAP_flag为1等。
[0274] 此外,为了由接收装置取得NAL单元的开始位置,需要从样本的开头NAL单元起顺次使数据的读出指针移位NAL单元的尺寸量。
[0275] 在数据被分片的情况下,接收装置通过参照fragment_indicator或fragment_number,能够确定data unit。
[0276] <样本的DTS的决定>
[0277] 样本的DTS的决定方法有下记方法1与方法2。
[0278] [方法1]接收装置基于预测结构决定开头样本的DTS。但是,由于该方法需要进行编码数据的解析,存在难以实时解码的可能性,因此优选以下的方法2。
[0279] [方法2]另行发送开头样本的DTS,接收装置取得被发送的开头样本的DTS。开头样本的DTS的发送方法例如有利用MMT-SI发送MPU开头样本的DTS的方法或利用MMT包头扩展区域发送每个样本的DTS的方法等。另外,DTS既可以为绝对值,也可以为相对于PTS的相对值。此外,也可以在发送侧作为信令发送是否包含有开头样本的DTS。
[0280] 另外,无论是方法1还是方法2,以后的样本的DTS作为固定帧速率来算出。
[0281] 作为将每个样本的DTS保存到包头中的方法,除了利用扩展区域以外,有将该MMT包所包含的样本的DTS保存到MMT包头中的32bit的NTP时间戳字段中的方法。在不能以1个包头的比特数(32bit)表现DTS时,也可以利用多个包头来表现DTS,此外也可以组合包头的NTP时间戳字段与扩展区域来表现DTS。在不包含DTS信息时,视为已知的值(例如ALL0)。
[0282] <样本的PTS的决定>
[0283] 接收装置从MPU所包含的每个资源的MPU时间戳描述符中取得开头样本的PTS。接收装置针对以后的样本PTS,作为固定帧速率,通过POC等表示样本的显示顺序的参数等算出。如此地,为了不利用头信息地算出DTS以及PTS,必须基于固定帧速率进行发送。
[0284] 此外,在发送了MF元数据的情况下,接收装置能够根据相对于MF元数据所示的开头样本的DTS或PTS的相对时刻信息、以及MPU时间戳描述符所示的MPU开头样本的时间戳的绝对值,算出DTS以及PTS的绝对值。
[0285] 另外,在通过编码数据解析算出DTS以及PTS时,接收装置也可以利用访问单元所包含的SEI信息来算出。
[0286] <初始化信息(参数集)>
[0287] [视频的情况]
[0288] 在视频的情况下,参数集被保存到样本数据中。此外,在未发送MPU元数据以及MF元数据时,保证只通过参照样本数据便能取得解码所需的参数集。
[0289] 此外,如图21的(a)以及(d),在先于媒体数据发送MPU元数据时,也可以规定为在SampleEntry中不保存参数集。该情况下,接收装置不参考SampleEntry的参数集而只参考样本内的参数集。
[0290] 此外,在先于媒体数据发送MPU元数据时,也可以在SampleEntry中保存有针对MPU共通的参数集或默认的参数集,接收装置参考SampleEntry的参数集以及样本内的参数集。通过将参数集保存到在SampleEntry中,若在SampleEntry中不存在参数集则无法再现的以往的接收装置也能够进行解码。
[0291] [音频的情况]
[0292] 在音频的情况下,解码需要LATM头,在MP4中,必须在样本入口(Sample Entry)包含有LATM头。但是,在未发送头信息时,接收装置难以取得LATM头,因此另行在SI等控制信息中包含有LATM头。另外,LATM头也可以被包含到消息、表或描述符中。另外,有时LATM头也被包含到样本内。
[0293] 接收装置在解码开始前从SI等中取得LATM头,开始音频的解码。或者,如图21的(a)以及图21的(d)所示,在先于媒体数据发送MPU元数据时,接收装置能够先于媒体数据接收LATM头。因此,在先于媒体数据发送MPU元数据时,利用以往的接收装置也能够进行解码。
[0294] <其他>
[0295] 发送顺序或发送顺序的类型也可以作为MMT包头或有效载荷头、或者MPT或其他表、消息、描述符等的控制信息来进行通知。另外,在此的发送顺序的类型例如是图21的(a)~(d)的4个类型的发送顺序,用于识别各个类型的识别符被保存到在解码开始前能取得的位置即可。
[0296] 此外,发送顺序的类型既可以在音频与视频中利用不同的类型,也可以在音频与视频中利用共通的类型。具体而言,例如也可以是,音频如图21的(a)所示按照MPU元数据、MF元数据、媒体数据的次序发送,视频如图21的(d)所示按照MPU元数据、媒体数据、MF元数据的次序发送。
[0297] 通过如上述的方法,接收装置能够不利用头信息地进行解码。此外,在先于媒体数据发送MPU元数据(图21的(a)以及图21的(d))时,即使以往的接收装置也能够进行解码。
[0298] 尤其,通过后于媒体数据发送MF元数据(图21的(d)),不产生封装所致的延迟,并且即使以往的接收装置也能够进行解码。
[0299] [发送装置的构成以及动作]
[0300] 接着,说明发送装置的构成以及动作。图23为实施方式2所涉及的发送装置的框图,图24为实施方式2所涉及的发送方法的流程图。
[0301] 如图23所示,发送装置15具备编码部16、复用部17以及发送部18。
[0302] 编码部16通过将编码对象的视频或音频例如按照H.265进行编码来生成编码数据(S10)。
[0303] 复用部17对由编码部16生成的编码数据进行复用(打包)(S11)。具体而言,复用部17对构成MP4格式的文件的、样本数据、MPU元数据以及MF元数据分别进行打包。样本数据为对影像信号或声音信号进行编码而得的数据,MPU元数据为第一元数据的一例,MF元数据为第二元数据的一例。第一元数据与第二元数据均为用于样本数据的解码的元数据,但其差异在于,第二元数据包含仅能在样本数据生成后生成的数据。
[0304] 在此,仅能在样本数据生成后生成的数据例如为在MP4格式的mdat中保存的样本数据以外的数据(mdat的头内的数据。即图20所示的type以及length)。在此,在第二元数据中,包含有作为该数据中的至少一部分的length即可。
[0305] 发送部18发送打包后的MP4格式的文件(S12)。发送部18例如通过图21的(d)所示的方法发送MP4格式的文件。即、将打包后的MPU元数据、打包而得的样本数据、打包而得的MF元数据按照此顺序进行发送。
[0306] 另外,编码部16、复用部17以及发送部18分别通过微型计算机、处理器或专用电路等来实现。
[0307] [接收装置的构成]
[0308] 接着,说明接收装置的构成以及动作。图25为实施方式2所涉及的接收装置的框图。
[0309] 如图25所示,接收装置20具备包过滤部21、发送顺序类型判别部22、随机访问部23、控制信息取得部24、数据取得部25、PTS/DTS算出部26、初始化信息取得部27、解码命令部28、解码部29以及提示部30。
[0310] [接收装置的动作1]
[0311] 首先,说明在媒体为视频时,接收装置20用于确定MPU开头位置以及NAL单元位置的动作。图26为接收装置20的这样的动作的流程图。另外,在此设MPU数据的发送顺序类型由发送装置15(复用部17)保存到SI信息中。
[0312] 首先,包过滤部21针对所接收的文件进行包过滤。发送顺序类型判别部22解析经包过滤而得的SI信息,并取得MPU数据的发送顺序类型(S21)。
[0313] 接着,发送顺序类型判别部22判定(判别)在包过滤后的数据中是否包含MPU头信息(MPU元数据或MF元数据中的至少一方)(S22)。在包含有MPU头信息时(S22的“是”),随机访问部23通过检测MMT有效载荷头的分片类型向媒体数据切换,确定MPU开头样本(S23)。
[0314] 另一方面,在未包含MPU头信息(S22的“否”)时,随机访问部23基于MMT包头的RAP_flag或MMT有效载荷头的sample number(样本号)指定MPU开头样本(S24)。
[0315] 此外,发送顺序类型判别部22判定在进行了包过滤后的数据中是否包含MF元数据(S25)。在判定为包含MF元数据(S25的“是”)时,数据取得部25基于MF元数据所包含的样本、子样本的偏移、以及尺寸信息读出NAL单元,由此取得NAL单元(S26)。另一方面,在判定为不包含MF元数据(S25的“否”)时,数据取得部25通过从样本的开头NAL单元起顺次读出NAL单元的尺寸的数据来取得NAL单元(S27)。
[0316] 另外,接收装置20在步骤S22中判定为包含有MPU头信息时,也可以利用步骤S24的处理而非步骤S23来确定MPU开头样本。此外,在判别为包含有MPU头信息时,也可以并用步骤S23的处理与步骤S24的处理。
[0317] 此外,接收装置20在步骤S25中判定为包含有MF元数据时,也可以不利用步骤S26的处理而利用步骤S27的处理取得NAL单元。此外,在判定为包含有MF元数据时,也可以并用步骤S26的处理与步骤S27的处理。
[0318] 此外,设想在步骤S25中判定为包含有MF元数据、且后于媒体数据发送MF数据的情况。该情况下,接收装置20既可以对媒体数据进行缓冲,等待到取得MF元数据之后进行步骤S26的处理,接收装置20也可以判定是否不等待MF元数据的取得而进行步骤S27的处理。
[0319] 例如,接收装置20也可以基于是否保有能够对媒体数据进行缓冲的缓冲尺寸的缓冲器,判定是否等待MF元数据的取得。此外,接收装置20也可以基于端到端延迟是否变小,判定是否等待MF元数据的取得。此外,接收装置20也可以主要利用步骤S26的处理实施解码处理,在发生丢包等时的处理模式的情况下利用步骤S27的处理。
[0320] 另外,在事先决定了发送顺序类型时,也可以省略步骤S22以及步骤S26,该情况下,接收装置20也可以考虑缓冲器尺寸或端到端延迟,决定MPU开头样本的确定方法以及NAL单元的确定方法。
[0321] 另外,在发送顺序类型事先已知时,在接收装置20中不需要发送顺序类型判别部22。
[0322] 此外,虽未在上述图26中说明,但解码命令部28基于由PTS/DTS算出部26算出的PTS以及DTS、由初始化信息取得部27取得的初始化信息,将由数据取得部取得的数据输出至解码部29。解码部29解码数据,提示部30提示解码后的数据。
[0323] [接收装置的动作2]
[0324] 接着,说明接收装置20基于发送顺序类型取得初始化信息,基于初始化信息对媒体数据进行解码的动作。图27为这样的动作的流程图。
[0325] 首先,包过滤部21针对所接收的文件进行包过滤。发送顺序类型判别部22解析经包过滤而得的SI信息,取得发送顺序类型(S301)。
[0326] 接着,发送顺序类型判别部22判定是否发送了MPU元数据(S302)。在判定为发送了MPU元数据(S302的“是”)时,发送顺序类型判别部22基于步骤S301的解析的结果判定MPU元数据是否先于媒体数据发送(S303)。在MPU元数据先于媒体数据发送(S303的“是”)时,初始化信息取得部27基于MPU元数据所包含的共通的初始化信息、以及样本数据的初始化信息,对媒体数据进行解码(S304)。
[0327] 另一方面,在判定为MPU元数据后于媒体数据发送(S303的“否”)时,数据取得部25对媒体数据进行缓冲直到取得MPU元数据为止(S305),在取得MPU元数据之后实施步骤S304的处理。
[0328] 此外,在步骤S302中判定为未发送MPU元数据(S302的“否”)时,初始化信息取得部27只基于样本数据的初始化信息对媒体数据进行解码(S306)。
[0329] 另外,媒体数据的解码仅在发送侧基于样本数据的初始化信息时得以保证的情况下,不进行基于步骤S302以及步骤S303的判定的处理,而利用步骤S306的处理。
[0330] 此外,接收装置20也可以在步骤S305之前,进行是否对媒体数据进行缓冲的判定。该情况下,接收装置20在判定为对媒体数据进行缓冲时向步骤S305的处理过渡,在判定为不对媒体数据进行缓冲时向步骤S306的处理过渡。是否对媒体数据进行缓冲的判定,既可以基于接收装置20的缓冲器尺寸、占有量来进行,例如也可以选择端到端延迟较小等,考虑端到端延迟来进行判定。
[0331] [接收装置的动作3]
[0332] 在此,说明在后于媒体数据发送MF元数据时(图21的(c)、以及图21的(d))的发送方法或接收方法的细节。在以下,以图21的(d)的情况为例子进行说明。另外,设为在发送中只利用图21的(d)的方法,而不进行发送顺序类型的信令。
[0333] 如前述,如图21的(d)所示,按照MPU元数据、媒体数据、MF元数据的顺序发送数据时,能够进行如下2种解码方法:
[0334] (D-1)接收装置20在取得MPU元数据之后,又取得MF元数据,随后对媒体数据进行解码。
[0335] (D-2)接收装置20在取得MPU元数据之后,不利用MF元数据地对媒体数据进行解码。
[0336] 在此,在D-1中,需要进行用于取得MF元数据的媒体数据的缓冲,但由于能够利用MPU头信息进行解码,因此能够通过以往的遵循MP4的接收装置进行解码。此外,在D-2中,不需要进行用于取得MF元数据的媒体数据的缓冲,但由于不能利用MF元数据进行解码,因此解码需要特殊的处理。
[0337] 此外,在图21的(d)的方法中,后于媒体数据发送MF元数据,因此具有能够不发生封装所致的延迟,从而降低端到端延迟的优点。
[0338] 接收装置20能够根据接收装置20的能力、接收装置20所提供的服务品质,对如上2种解码方法进行选择。
[0339] 发送装置15必须保证在接收装置20的解码动作中能够降低缓冲器的上溢或下溢的产生并进行解码。作为用于规定在利用D-1的方法进行解码时的解码器模型的要素,例如能够利用下记的参数。
[0340] ·用于重构MPU的缓冲器尺寸(MPU缓冲器)
[0341] 例如,为缓冲器尺寸=最大速率×最大MPU时间×α,最大速率(rate)意指编码数据的档次、级别的上限速率+MPU头的开销。此外,最大MPU时间是设为1MPU=1GOP(视频)时的GOP的最大时长。
[0342] 在此,音频既可以设为与上述视频共通的GOP单位,也可以为其他的单位。α为用于不引起上溢的富余量,既可以与最大速率×最大MPU时间相乘,也可以相加。在相乘时,α≥1,在相加时,α≥0。
[0343] ·从向MPU缓冲器输入数据起直到进行解码为止的解码延迟时间的上限。(MPEG-TS的STD中的TSTD_delay)
[0344] 例如,在发送时,考虑最大MPU时间以及解码延迟时间的上限值,以接收机的MPU数据的取得完成时刻≤DTS的方式设定DTS。
[0345] 此外,发送装置15也可以按照利用D-1的方法进行解码时的解码器模型,赋予DTS以及PTS。据此,发送装置15也可以在保证利用D-1的方法进行解码的接收装置进行该解码的同时,发送利用D-2的方法进行解码时所需的辅助信息。
[0346] 例如,发送装置15通过作为信令发送在利用D-2的方法进行解码时的解码器缓冲器的预缓冲时间,能够保证利用D-2的方法进行解码的接收装置的动作。
[0347] 预缓冲时间既可以被包含在消息、表、描述符等SI控制信息中,也可以被包含在MMT包、MMT有效载荷的头中。此外,也可以覆盖编码数据内的SEI。也可以是,用于利用D-1的方法进行解码的DTS以及PTS保存到MPU时间戳描述符、SampleEntry中,用于利用D-2的方法进行解码的DTS以及PTS、或预缓冲时间记述在SEI中。
[0348] 接收装置20也可以在该接收装置20只对应于利用MPU头的遵循MP4的解码动作时选择解码方法D-1,在对应于D-1以及D-2的双方时选择任意一方。
[0349] 发送装置15也可以按照能够保证一方(在本说明中为D-1)的解码动作的方式赋予DTS以及PTS,再发送用于辅助一方的解码动作的辅助信息。
[0350] 此外,比较利用D-2的方法的情况与利用D-1的方法的情况,由于起因于MF元数据的预缓冲的延迟,端到端延迟变大的可能性高。因此,接收装置20在希望减小端到端延迟时,也可以选择D-2的方法进行解码。例如,接收装置20在总是希望减少端到端延迟时,也可以总是利用D-2的方法。此外,接收装置20也可以只在以实况内容、选台、切换频道(zapping)等以低延迟进行提示的低延迟提示模式进行动作时利用D-2的方法。
[0351] 图28为这样的接收方法的流程图。
[0352] 首先,接收装置20接收MMT包,取得MPU数据(S401)。并且,接收装置20(发送顺序类型判别部22)进行是否以低延迟提示模式提示该节目的判定(S402)。
[0353] 在不以低延迟提示模式提示节目(S402的“否”)时,接收装置20(随机访问部23以及初始化信息取得部27)利用头信息取得随机访问、初始化信息(S405)。此外,接收装置20(PTS/DTS算出部26、解码命令部28、解码部29、提示部30)基于由发送侧赋予的PTS、DTS进行解码以及提示处理(S406)。
[0354] 另一方面,在以低延迟提示模式提示节目(S402的“是“)时,接收装置20(随机访问部23以及初始化信息取得部27)利用不使用头信息的解码方法取得随机访问、初始化信息(S403)。此外,接收装置20基于用于不利用由发送侧赋予的PTS、DTS以及头信息地进行解码的辅助信息进行解码以及提示处理(S404)。另外,在步骤S403以及步骤S404中,也可以利用MPU元数据进行处理。
[0355] [利用辅助数据的收发方法]
[0356] 以上,说明了在后于媒体数据发送MF元数据(图21的(c)、以及图21的(d))时的收发动作。接着,说明通过发送装置15发送具有MF元数据的一部分功能的辅助数据,能够更早开始解码,能够减少端到端延迟的方法。在此,说明基于图21的(d)所示的发送方法进一步发送辅助数据的例子,但利用辅助数据的方法也能够适用于图21的(a)~(c)所示的发送方法。
[0357] 图29的(a)为表示利用图21的(d)所示的方法发送的MMT包的图。即、数据按照MPU元数据、媒体数据、MF元数据的顺序进行发送。
[0358] 在此,样本#1、样本#2、样本#3、样本#4为媒体数据所包含的样本。另外,在此媒体数据以按照样本单位保存到MMT包中的例子进行说明,但媒体数据既可以按照NAL单元单位保存到MMT包中,也可以按照分割NAL单元而成的单位保存。另外,有时聚合多个NAL单元并保存到MMT包中。
[0359] 如在前述的D-1中所说明地,在图21的(d)所示的方法时,即按照MPU元数据、媒体数据、MF元数据的顺序发送数据时,存在取得MPU元数据之后,再取得MF元数据,随后对媒体数据进行解码的方法。这样的D-1的方法中,需要进行用于取得MF元数据的媒体数据的缓冲,但由于利用MPU头信息进行解码,具有D-1的方法也能够适用于以往的遵循MP4的接收装置的优点。另一方面,存在接收装置20必须等待到取得MF元数据为止再开始解码的缺点。
[0360] 对此,如图29的(b)所示,在利用辅助数据的方法中,先于MF元数据发送辅助数据。
[0361] 在MF元数据中,包含有表示电影分片所包含的全部的样本的DTS、PTS、偏移、尺寸的信息。与之相对,在辅助数据中,包含有表示电影分片所包含的样本中的一部分的样本的DTS、PTS、偏移、尺寸的信息。
[0362] 例如,在MF元数据中,包含有所有样本(样本#1-样本#4)的信息,与之相对,在辅助数据中包含有一部分的样本(样本#1-#2)的信息。
[0363] 在如图29的(b)所示的情况下,由于能够通过利用辅助数据进行样本#1以及样本#2的解码,因此相对于D-1的发送方法,End-to-Ent延迟变小。另外,在辅助数据中,无论如何组合样本的信息来包含皆可,也可以反复发送辅助数据。
[0364] 例如,在图29的(c)中,发送装置15若在A的定时发送辅助信息,则在辅助信息中包含样本#1的信息,若在B的定时发送辅助信息,则在辅助信息中包含样本#1以及样本#2的信息。发送装置15若在C的定时发送辅助信息,则在辅助信息中包含样本#1、样本#2以及样本#3的信息。
[0365] 另外,在MF元数据中,包含有样本#1、样本#2、样本#3以及样本#4的信息(电影分片之中的全部样本的信息)。
[0366] 辅助数据未必需要在生成之后立即发送。
[0367] 另外,在MMT包或MMT有效载荷的头中,指定表示保存有辅助数据的类型。
[0368] 例如,在辅助数据利用MPU模式保存在MMT有效载荷中时,作为fragment_type字段值(例如,FT=3),指定表示是辅助数据的数据类型。辅助数据既可以为基于moof的构成的数据,也可以为其他构成。
[0369] 在辅助数据作为控制信号(描述符、表、消息)保存到MMT有效载荷中时,指定表示是辅助数据的描述符标签、表ID以及消息ID等。
[0370] 此外,也可以在MMT包或MMT有效载荷的头中保存有PTS或DTS。
[0371] [辅助数据的生成例]
[0372] 以下,说明发送装置基于moof的构成生成辅助数据的例子。图30为用于说明发送装置基于moof的构成生成辅助数据的例子的图。
[0373] 在通常的MP4中,如图20所示,针对电影分片制作moof。在moof中,包含有表示电影分片所包含的样本的DTS、PTS、偏移、尺寸的信息。
[0374] 在此,发送装置15只利用构成MPU的样本数据中的一部分的样本数据构成MP4(MP4文件),生成辅助数据。
[0375] 例如,如图30的(a)所示,发送装置15只利用构成MPU的样本#1-#4之中的样本#1生成MP4,其中,将moof+mdat的头设为辅助数据。
[0376] 接着,如图30的(b)所示,发送装置15利用构成MPU的样本#1-#4之中的样本#1以及样本#2生成MP4,其中,将moof+mdat的头设为下一辅助数据。
[0377] 接着,如图30的(c)所示,发送装置15利用构成MPU的样本#1-#4之中的样本#1、样本#2以及样本#3生成MP4,其中,将moof+mdat的头设为下一辅助数据。
[0378] 接着,如图30的(d)所示,发送装置15生成构成MPU的样本#1-#4之中的所有MP4,其中,将moof+mdat的头设为电影分片元数据。
[0379] 另外,在此,发送装置15按每个样本生成辅助数据,但也可以按每N个样本生成辅助数据。N的值为任意的数字,例如,在发送1个MPU时发送M次辅助数据的情况下,也可以设为N=全样本/M。
[0380] 另外,moof中的表示样本的偏移的信息也可以是在确保后续的样本数的样本入口区域为NULL区域之后的偏移值。
[0381] 另外,也可以生成辅助数据以成为对MF元数据进行分片的构成。
[0382] [利用辅助数据的接收动作例]
[0383] 说明如图30说明那样生成的辅助数据的接收。图31为用于说明辅助数据的接收的图。另外,在图31的(a)中,设构成MPU的样本数为30,按每10个样本生成辅助数据并发送。
[0384] 在图30的(a)中,在辅助数据#1中包含有样本#1-#10的样本信息,在辅助数据#2中包含有样本#1-#20的样本信息,在MF元数据中包含有样本#1-#30的样本信息。
[0385] 另外,样本#1-#10、样本#11-#20以及样本#21-#30保存在1个MMT有效载荷中,但既可以按照样本单位或NAL单位进行保存,也可以按照分片或聚合的单位进行保存。
[0386] 接收装置20分别接收MPU元、样本、MF元以及辅助数据的包。
[0387] 接收装置20按照接收顺序(向后)连结样本数据,在接收最新的辅助数据之后,更新迄今为止的辅助数据。此外,接收装置20通过在最后将辅助数据置换为MF元数据,能够构成完整的MPU。
[0388] 接收装置20在接收到辅助数据#1的时刻,如图31的(b)的上段那样地连结数据,构成MP4。据此,接收装置20能够利用MPU元数据以及辅助数据#1的信息分析样本#1-#10,能够基于辅助数据所包含的PTS、DTS、偏移以及尺寸的信息进行解码。
[0389] 此外,接收装置20在接收到辅助数据#2的时刻,如图31的(b)的中段那样地连结数据,构成MP4。据此,接收装置20能够利用MPU元数据以及辅助数据#2的信息分析样本#1-#20,能够基于辅助数据所包含的PTS、DTS、偏移、尺寸的信息进行解码。
[0390] 此外,接收装置20在接收到MF元数据的时刻,如图31的(b)的下段那样地连结数据,构成MP4。据此,接收装置20能够利用MPU元数据以及MF元数据分析样本#1-#30,能够基于MF元数据所包含的PTS、DTS、偏移以及尺寸的信息进行解码。
[0391] 在没有辅助数据时,接收装置20在接收到MF元数据后才能够开始取得样本的信息,因此需要在接收到MF元数据后开始解码。可是,通过发送装置15生成辅助数据并发送,接收装置20能够不等待MF元数据的接收而利用辅助数据取得样本的信息,因此能够使解码开始时间提前。再有,通过发送装置15生成利用图30说明的基于moof的辅助数据,接收装置20能够直接利用以往的MP4的分析器(parser)进行分析。
[0392] 此外,新生成的辅助数据或MF元数据包含与过去发送的辅助数据重复的样本的信息。因此,即使在因丢包等而不能取得过去的辅助数据时,通过利用新取得的辅助数据或MF元数据,也能够重构MP4,取得样本的信息(PTS、DTS、尺寸以及偏移)。
[0393] 另外,辅助数据不一定需要包括过去的样本数据的信息。例如也可以是,辅助数据#1与样本数据#1-#10对应,辅助数据#2与样本数据#11-#20对应。例如,也可以如图31的(c)所示,发送装置15将完整的MF元数据作为data unit,将对data unit分片而成的单位作为辅助数据顺次发送。
[0394] 此外,发送装置15为了应对丢包,既可以反复传送辅助数据,也可以反复传送MF元数据。
[0395] 另外,在保存有辅助数据的MMT包以及MMT有效载荷中,与MPU元数据、MF元数据以及样本数据同样地,包含有MPU序列号以及资源ID。
[0396] 利用图32的流程图说明利用如以上那样的辅助数据的接收动作。图32为利用辅助数据的接收动作的流程图。
[0397] 首先,接收装置20接收MMT包,解析包头或有效载荷头(S501)。接着,接收装置20解析分片类型是辅助数据还是MF元数据(S502),若分片类型为辅助数据,则覆盖过去的辅助数据进行更新(S503)。此时,若没有同一MPU的过去的辅助数据,则接收装置20直接将所接收的辅助数据设为新的辅助数据。并且,接收装置20基于MPU元数据、辅助数据以及样本数据,取得样本,进行解码(S504)。
[0398] 另一方面,若分片类型为MF元数据,则接收装置20在步骤S505中,用MF元数据覆盖过去的辅助数据(S505)。并且,接收装置20基于MPU元数据、MF元数据以及样本数据,以完整的MPU的形式取得样本,进行解码(S506)。
[0399] 另外,虽在图32未图示,但在步骤S502中,接收装置20在分片类型为MPU元数据时,将数据保存到缓冲器中,在为样本数据时,将按每个样本向后连结而成的数据保存到缓冲器中。
[0400] 在因丢包而不能取得辅助数据时,接收装置20通过用最新的辅助数据进行覆盖,或者利用过去的辅助数据,能够对样本进行解码。
[0401] 另外,辅助数据的送出周期以及送出次数也可以为事先决定的值。送出周期或次数(计数、倒计数)的信息也可以与数据一起发送。例如,在data unit头中,也可以保存有送出周期、送出次数以及initial_cpb_removal_delay等的时间戳。
[0402] 通过将包含MPU的最初的样本的信息的辅助数据先于initial_cpb_removal_delay发送1次以上,能够符合CPB缓冲器模型。此时,在MPU时间戳描述符中,保存基于picture timing(图片定时)SEI的值。
[0403] 另外,使用这样的辅助数据的接收动作的传送方式不限于MMT方式,能够适用于MPEG-DASH等将由ISOBMFF文件格式构成的包进行流传送的情况等。
[0404] [由多个电影分片构成1个MPU时的发送方法]
[0405] 在上述图19以后的说明中,由1个电影分片构成1个MPU,而在此,说明由多个电影分片构成1个MPU的情况。图33为表示由多个电影分片构成的MPU的构成的图。
[0406] 在图33中,在1个MPU中保存的样本(#1-#6)分成2个电影分片地进行保存。第1电影分片基于样本#1-#3生成,生成所对应的moof框。第2电影分片基于样本#4-#6生成,生成所对应的moof框。
[0407] 第1电影分片中的moof框以及mdat框的头作为电影分片元数据#1保存到MMT有效载荷以及MMT包中。另一方面,第2电影分片中的moof框以及mdat框的头作为电影分片元数据#2保存到MMT有效载荷以及MMT包中。另外,在图33中,对保存有电影分片元数据的MMT有效载荷施以阴影。
[0408] 另外,构成MPU的样本数或者构成电影分片的样本数任意。例如,也可以将构成MPU的样本数设为GOP单位的样本数,且将GOP单位的二分之一的样本数作为电影分片,来构成2个电影分片。
[0409] 另外,在此表示以在1个MPU中包含2个电影分片(moof框以及mdat框)的例子,但1个MPU所包含的电影分片也可以不是2个,而为3个以上。此外,保存在电影分片中的样本也可以并非等分的样本数,而分割成任意的样本数。
[0410] 另外,在图33中,将MPU元数据单位以及MF元数据单位分别作为data unit保存到MMT有效载荷中。可是,发送装置15既可以将ftyp、mmpu、moov以及moof等的单位作为data unit,按照data unit单位保存到MMT有效载荷中,也可以按照对data unit分片而成的单位保存到MMT有效载荷中。此外,发送装置15也可以按照聚合data unit而成的单位保存到MMT有效载荷中。
[0411] 此外,在图33中,样本按照样本单位保存在MMT有效载荷中。可是,发送装置15也可以不是按照样本单位,而是按照NAL单元单位或合并多个NAL单元而成的单位构成data unit,按照data unit单位保存到MMT有效载荷中。此外,发送装置15既可以按照对data unit分片而成的单位保存到MMT有效载荷中,也可以按照聚合data unit而成的单位保存到MMT有效载荷中。
[0412] 另外,在图33中,按照moof#1、mdat#1、moof#2、mdat#2的顺序构成MPU,针对moof#1,作为其后附有对应的mdat#1而被赋予offset。但是,也可以作为mdat#1附于比moof#1更前而赋予offset。但是,该情况下,不能以moof+mdat的形式生成电影分片元数据,moof以及mdat的头分别分开进行传送。
[0413] 接着,说明传送在图33中说明的构成的MPU时的MMT包的发送顺序。图34为用于说明MMT包的发送顺序的图。
[0414] 图34的(a)表示按照图33所示的MPU的构成顺序发送MMT包时的发送顺序。图34的(a)具体而言,表示按照MPU元、MF元#1、媒体数据#1(样本#1-#3)、MF元#2、媒体数据#2(样本#4-#6)的顺序进行发送的例子。
[0415] 图34的(b)表示按照MPU元、媒体数据#1(样本#1-#3)、MF元#1、媒体数据#2(样本#4-#6)、MF元#2的顺序进行发送的例子。
[0416] 图34的(c)表示按照媒体数据#1(样本#1-#3)、MPU元、MF元#1、媒体数据#2(样本#4-#6)、MF元#2的顺序进行发送的例子。
[0417] MF元#1利用样本#1-#3来生成,MF元#2利用样本#4-#6来生成。因此,在利用图34的(a)的发送方法时,在样本数据的发送中会产生封装所致的延迟。
[0418] 与之相对,在利用图34的(b)以及图34的(c)的发送方法时,由于能够不等待生成MF元而发送样本,因此能够不产生封装所致的延迟,而降低端到端延迟。
[0419] 此外,在图34的(a)的发送顺序中,由于将1个MPU分割成多个电影分片,保存在MF元的样本数相对于图19的情况变少,因此与图19的情况相比能够减小封装所致的延迟量。
[0420] 另外,除了在此所示的方法以外,例如也可以是,发送装置15连结MF元#1以及MF元#2,在MPU的最后汇总进行发送。该情况下,也可以聚合不同的电影分片的MF元,并保存到1个MMT有效载荷中。此外,也可以汇总不同的MPU的MF元来聚合并保存到MMT有效载荷中。
[0421] [由多个电影分片构成1个MPU时的接收方法]
[0422] 在此,说明接收按照图34的(b)说明的发送顺序发送的MMT包并进行解码的接收装置20的动作例。图35以及图36为用于说明这样的动作例的图。
[0423] 接收装置20分别接收按照图35所示的发送顺序发送的包含MPU元、样本以及MF元的MMT包。样本数据按照接收顺序被连结。
[0424] 接收装置20在接收到MF元#1的时刻即T1,如图36的(1)所示连结数据,构成MP4。据此,接收装置20能够基于MPU元数据以及MF元#1的信息取得样本#1-#3,能够基于MF元所包含的PTS、DTS、偏移以及尺寸的信息进行解码。
[0425] 此外,接收装置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。
[0426] 通过将1个MPU分割成多个电影分片,缩短了直到取得MPU之中最初的MF元为止的时间,因此能够将解码开始时间提前。此外,能够减少用于蓄积解码前的样本的缓冲器尺寸。
[0427] 另外,发送装置15也可以按照从发送(或接收)电影分片中的最初的样本起直到发送(或接收)与电影分片对应的MF元为止的时间短于由编码器指定的initial_cpb_removal_delay的时间的方式,设定电影分片的分割单位。通过如此地设定,接收缓冲器能够符合cpb缓冲器,能够实现低延迟的解码。该情况下,能够在PTS以及DTS利用基于initial_cpb_removal_delay的绝对时刻。
[0428] 此外,发送装置15也可以等间隔地进行电影分片的分割,或者按照短于之前的电影分片的间隔来分割后续的电影分片。据此,接收装置20必定能够在样本解码前接收到包含该样本的信息的MF元,能够进行连续的解码。
[0429] PTS以及DTS的绝对时刻的算出方法能够利用如下记2种方法。
[0430] (1)PTS以及DTS的绝对时刻基于MF元#1或MF元#2的接收时刻(T1或T2)、以及MF元所包含的PTS以及DTS的相对时刻来决定。
[0431] (2)PTS以及DTS的绝对时刻基于MPU时间戳描述符等从发送侧作为信令发送的绝对时刻、以及MF元所包含的PTS以及DTS的相对时刻来决定。
[0432] 此外,
[0433] (2-A)发送装置15作为信令发送的绝对时刻也可以为基于由编码器指定的initial_cpb_removal_delay算出的绝对时刻。
[0434] (2-B)发送装置15作为信令发送的绝对时刻也可以为基于MF元的接收时刻的预测值算出的绝对时刻。
[0435] 另外,也可以反复传送MF元#1以及MF元#2。通过反复传送MF元#1以及MF元#2,接收装置20即使在因丢包等而不能取得MF元时也能够再一次取得。
[0436] 能够在包含构成电影分片的样本的MFU的有效载荷头中保存表示电影分片的次序的识别符。另一方面,表示构成电影分片的MF元的次序的识别符不被包含到MMT有效载荷中。因此,接收装置20通过packet_sequence_number识别MF元的次序。或者,发送装置15也可以将表示MF元属于第几个电影分片的识别符保存到控制信息(消息、表、描述符)、MMT头、MMT有效载荷头、或data unit头中作为信令发送。
[0437] 另外也可以是,发送装置15按照事先决定的规定发送顺序发送MPU元、MF元以及样本,接收装置20基于事先决定的规定发送顺序实施接收处理。此外也可以是,发送装置15将发送顺序作为信令发送,接收装置20基于信令信息选择(判断)接收处理。
[0438] 利用图37说明如上述的接收方法。图37为通过图35以及图36说明了的接收方法的动作的流程图。
[0439] 首先,接收装置20根据MMT有效载荷所示的分片类型,判别(识别)有效载荷所包含的数据是MPU元数据、MF元数据,还是样本数据(MFU)(S601、S602)。在数据为样本数据时,接收装置20对样本进行缓冲,等待进行与该样本对应的MF元数据的接收以及开始解码(S603)。
[0440] 另一方面,在步骤S602中数据为MF元数据时,接收装置20从MF元数据中取得样本的信息(PTS、DTS、位置信息以及尺寸),基于所取得的样本的信息取得样本,基于PTS以及DTS对样本进行解码、提示(S604)。
[0441] 另外,虽未图示,但在数据为MPU元数据时,在MPU元数据中,含有解码所需的初始化信息。因此,接收装置20蓄积该初始化信息,在步骤S604中用于样本数据的解码。
[0442] 另外,接收装置20在将所接收的MPU的数据(MPU元数据、MF元数据以及样本数据)蓄积到蓄积装置中时,在重排成图19或图33说明的MPU的构成之后,进行蓄积。
[0443] 另外,在发送侧中,在MMT包中,针对拥有同一包ID的包,赋予包序列号。此时,既可以在包含MPU元数据、MF元数据、样本数据的MMT包按照发送顺序重排之后赋予包序列号,也可以按照重排前的顺序赋予包序列号。
[0444] 在按照重排前的顺序赋予包序列号时,在接收装置20中,能够基于包序列号,将数据重排成MPU的构成顺序,蓄积变得容易。
[0445] [检测访问单元的开头以及切片段的开头的方法]
[0446] 说明基于MMT包头以及MMT有效载荷头的信息对访问单元的开头或切片段的开头进行检测的方法。
[0447] 在此,表示在将非VCL NAL单元(访问单元定界符、VPS、SPS、PPS以及SEI等)汇总地作为data unit保存到MMT有效载荷中的情况,以及将非VCL NAL单元分别作为data unit并聚合data unit来保存到1个MMT有效载荷中的情况这2个例子。
[0448] 图38为表示将非VCL NAL单元个别地作为data unit并进行聚合的情况的图。
[0449] 在图38的情况下,访问单元的开头是fragment_type值为MFU的MMT包,并且是包含aggregation_flag值为1、且offset值为0的data unit的MMT有效载荷的开头数据。此时,Fragmentation_indicator值为0。
[0450] 此外,在图38的情况下,切片段的开头是fragment_type值为MFU的MMT包,并且是aggregation_flag值为0、且fragmentation_indicator值为00或01的MMT有效载荷的开头数据。
[0451] 图39为表示将非VCL NAL单元汇总作为data unit的情况的图。另外,包头的字段值如图17(或图18)所示。
[0452] 在图39的情况下,关于访问单元的开头,Offset值为0的包中的有效载荷的开头数据为访问单元的开头。
[0453] 此外,在图39的情况下,关于切片段的开头,Offset值为不同于0的值、且Fragmentation indicator值为00或01的包的有效载荷的开头数据为切片段的开头。
[0454] [发生丢包时的接收处理]
[0455] 通常,在产生丢包的环境中传送MP4形式的数据时,接收装置20通过ALFEC(Application Layer FEC:应用层FEC)或者包再送控制等复原包。
[0456] 但是,在如广播那样的流中不利用AL-FEC时发生丢包的情况下,不能复原包。
[0457] 接收装置20需要在数据因丢包而丢失之后使影像或声音的解码再次开始。为此,接收装置20需要检测访问单元或NAL单元的开头,从访问单元或NAL单元的开头起开始进行解码。
[0458] 但是,由于在MP4形式的NAL单元的开头未带有起始码,因此即使接收装置20解析流,也不能检测访问单元或NAL单元的开头。
[0459] 图40为发生丢包时的接收装置20的动作的流程图。
[0460] 接收装置20通过MMT包或MMT有效载荷的头的Packetsequence number(包序列号)、packet counter(包计数器)或Fragment counter(分片计数器)等检测丢包(S701),根据前后的关系,判定哪一包丢失了(S702)。
[0461] 接收装置20在判定为未发生丢包(S702的“否”)时,构成MP4文件,对访问单元或NAL单元进行解码(S703)。
[0462] 接收装置20在判定为发生丢包(S702的“是”)时,通过虚拟(dummy)数据来生成与丢包的NAL单元相当的NAL单元,构成MP4文件(S704)。接收装置20若将虚拟数据加入NAL单元,则在NAL单元的类型中表示为虚拟数据。
[0463] 此外,接收装置20通过基于图17、图18、图38以及图39说明的方法,检测下一访问单元或NAL单元的开头,从开头数据起输入至解码器,能够再次开始解码(S705)。
[0464] 另外,在发生丢包时,接收装置20既可以基于根据包头检测出的信息从访问单元以及NAL单元的开头起再次开始解码,也可以基于包含虚拟数据的NAL单元的、重构的MP4文件的头信息从访问单元以及NAL单元的开头起再次开始解码。
[0465] 接收装置20在蓄积MP4文件(MPU)时,因丢包而丢失的包数据(NAL单元等)也可以通过广播或通信另行取得并蓄积(置换)。
[0466] 此时,接收装置20若通过通信取得丢失的包,则将丢失的包的信息(包ID、MPU序列号、包序列号、IP数据流号以及IP地址等)通知服务器,并取得该包。接收装置20也可以不限于丢失的包,而是同时取得丢失的包前后的包组。
[0467] [电影分片的构成方法]
[0468] 在此,详细说明电影分片的构成方法。
[0469] 如通过图33所说明地,构成电影分片的样本数以及构成1个MPU的电影分片数是任意的。例如,构成电影分片的样本数以及构成1个MPU的电影分片数既可以被固定地决定为规定数,也可以动态地决定。
[0470] 在此,通过在发送侧(发送装置15)以满足下记条件的方式构成电影分片,能够保证接收装置20的低延迟的解码。
[0471] 该条件如下。
[0472] 发送装置15以接收装置20必定能够先于任意的样本(Sample(i))的解码时刻(DTS(i))接收包含该样本的信息的MF元的方式,将分割样本数据而成的单位作为电影分片来生成并发送MF元。
[0473] 具体而言,发送装置15利用先于DTS(i)已完成编码的样本(包括第i个样本)构成电影分片。
[0474] 为了保证低延迟的解码,动态地决定构成电影分片的样本数或构成1个MPU的电影分片数的方法,例如利用下记的方法。
[0475] (1)在开始解码时,GOP开头的样本Sample(0)的解码时刻DTS(0)为基于initial_cpb_removal_delay的时刻。发送装置在先于DTS(0)的时刻,利用已完成编码的样本构成第1电影分片。此外,发送装置15生成与第1电影分片对应的MF元数据,在先于DTS(0)的时刻进行发送。
[0476] (2)发送装置15在以后的样本中也以满足上述的条件的方式构成电影分片。
[0477] 例如,在设电影分片的开头的样本为第k个样本时,在第k个样本的解码时刻DTS(k)之前发送包含第k个样本的电影分片的MF元。发送装置15在第I个样本的编码完成时刻先于DTS(k),且第(I+1)个样本的编码完成时刻后于DTS(k)时,利用第k个样本到第I个样本构成电影分片。
[0478] 另外,发送装置15也可以利用第k个样本至不到第I个样本构成电影分片。
[0479] (3)发送装置15在MPU最后的样本的编码完成后,利用剩余的样本构成电影分片,生成并发送与该电影分片对应的MF元数据。
[0480] 另外,发送装置15也可以不利用已完成编码的所有样本构成电影分片,而利用已完成编码的一部分的样本构成电影分片。
[0481] 另外,在上述中,示出了为了保证低延迟的解码而基于上述条件动态地决定构成电影分片的样本数以及构成1个MPU的电影分片数的例子。可是,样本数以及电影分片数的决定方法不限于这样的方法。例如也可以是,构成1个MPU的电影分片数固定为规定值,并以满足上述条件的方式决定样本数。此外也可以是,构成1个MPU的电影分片数以及分割电影分片的时刻(或电影分片的码量)固定为规定值,并以满足上述条件的方式决定样本数。
[0482] 此外,在将MPU分割成多个电影分片的情况下,也可以发送表示是否将MPU分割成多个电影分片的信息、分割而得的电影分片的属性、或与分割而得的电影分片对应的MF元的属性。
[0483] 在此,电影分片的属性为表示电影分片是MPU的开头的电影分片,还是MPU的最后的电影分片,或是除此之外的电影分片等的信息。
[0484] 此外,MF元的属性为表示MF元是与MPU的开头的电影分片对应的MF元,还是与MPU的最后的电影分片对应的MF元,或是与除此之外的电影分片对应的MF元等的信息。
[0485] 另外,发送装置15也可以将构成电影分片的样本数以及构成1个MPU的电影分片数作为控制信息来保存并发送。
[0486] [接收装置的动作]
[0487] 说明基于如上述构成的电影分片的接收装置20的动作。
[0488] 接收装置20基于MPU时间戳描述符等从发送侧作为信令发送的绝对时刻、以及MF元所包含的PTS以及DTS的相对时刻,决定PTS以及DTS各自的绝对时刻。
[0489] 在基于MPU是否被分割成多个电影分片的信息而MPU被分割的情况下,接收装置20基于分割而得的电影分片的属性,如下记进行处理。
[0490] (1)接收装置20在电影分片为MPU的开头的电影分片时,利用MPU时间戳描述符所包含的开头样本的PTS的绝对时刻、以及MF元所包含的PTS以及DTS的相对时刻,生成PTS以及DTS的绝对时刻。
[0491] (2)接收装置20在电影分片并非MPU的开头的电影分片时,不利用MPU时间戳描述符的信息,而利用MF元所包含的PTS以及DTS的相对时刻,生成PTS以及DTS的绝对时刻。
[0492] (3)接收装置20在电影分片为MPU的最后的电影分片时,在算出所有的样本的PTS以及DTS的绝对时刻之后,复位PTS以及DTS的计算处理(相对时刻的相加处理)。另外,复位处理也可以在MPU开头的电影分片中实施。
[0493] 接收装置20也可以如下记针对电影分片是否被分割进行判定。此外,接收装置20也可以如下记取得电影分片的属性信息。
[0494] 例如,接收装置20也可以基于MMTP有效载荷头所示的表示电影分片的次序的识别符movie_fragment_sequence_number字段值判定是否被分割。
[0495] 具体而言,接收装置20也可以在1个MPU所包含的电影分片的数为1,并且,movie_fragment_sequence_number字段值为1,并且,该字段值存在2以上的值时,判定为该MPU被分割成多个电影分片。
[0496] 此外,接收装置20也可以在1个MPU所包含的电影分片的数为1,并且,movie_fragment_sequence_number字段值为0,并且,该字段值存在0以外的值时,判定为该MPU分割成多个电影分片。
[0497] 电影分片的属性信息也可以同样地基于movie_fragment_sequence_number判定。
[0498] 另外,也可以不利用movie_freagment_sequence_number,而通过对1个MPU所包含的电影分片或MF元的发送进行计数,判定电影分片是否被分割、或者电影分片的属性信息。
[0499] 通过如以上说明的发送装置15以及接收装置20的构成,接收装置20能够以短于MPU的间隔接收电影分片元数据,能够在低延迟下开始解码。此外,利用基于MP4分析的方法的解码处理,能够进行低延迟下的解码。
[0500] 利用流程图说明如以上说明那样地将MPU分割成多个电影分片时的接收动作。图41为将MPU分割成多个电影分片时的接收动作的流程图。另外,该流程图更为详细地图示出了图37的步骤S604的动作。
[0501] 首先,接收装置20基于MMTP有效载荷头所示的数据类别,在数据类别为MF元时,取得MF元数据(S801)。
[0502] 接着,接收装置20判定MPU是否被分割成多个电影分片(S802),在MPU分割成多个电影分片(S802的“是”)时,判定所接收的MF元数据是否是MPU开头的元数据(S803)。接收装置20在所接收的MF元数据为MPU开头的MF元数据(S803的“是”)时,通过MPU时间戳描述符所示的PTS的绝对时刻以及MF元数据所示的PTS以及DTS的相对时刻算出PTS以及DTS的绝对时刻(S804),并判定是否是MPU的最后的元数据(S805)。
[0503] 另一方面,接收装置20在所接收的MF元数据并非MPU开头的MF元数据(S803的“否”)时,不利用MPU时间戳描述符的信息而利用MF元数据所示的PTS以及DTS的相对时刻算出PTS以及DTS的绝对时刻(S808),过渡到步骤S805的处理。
[0504] 在步骤S805中,在判定为是MPU最后的MF元数据(S805的“是”)时,接收装置20在算出所有样本的PTS以及DTS的绝对时刻之后,复位PTS以及DTS的计算处理。在步骤S805中判定为并非MPU最后的MF元数据(S805的“否”)时,接收装置20结束处理。
[0505] 此外,在经步骤S802判定为MPU未被分割成多个电影分片(S802的“否”)时,接收装置20基于在MPU之后发送的MF元数据,取得样本数据,决定PTS以及DTS(S807)。
[0506] 并且,虽未图示,但接收装置20最后基于决定的PTS以及DTS实施解码处理、提示处理。
[0507] [分割电影分片时产生的问题及其解决策略]
[0508] 至此,说明了通过分割电影分片缩短端到端延迟的方法。此后说明分割电影分片时新产生的问题及其解决策略。
[0509] 首先,作为背景,说明编码数据中的图片结构。图42为实现时间可适性时的各TemporalId(时间ID)的图片的预测结构的例子的图。
[0510] 在MPEG-4AVC或HEVC(High Efficiency Video Coding:高效率视频解码)等编码方式中,通过利用能够从其他图片参照的B图片(双向参照预测图片),能够实现时间方向的可适性(时间可适性)。
[0511] 图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的影像。
[0512] 图43为表示图42的各图片的解码时刻(DTS)与显示时刻(PTS)的关系的图。例如,图43所示的图片I0在B4的解码完成后进行显示,以便在解码以及显示中不产生间隙。
[0513] 如图43所示,在预测结构中包含有B图片时等,由于解码顺序与显示顺序不同,需要在接收装置20中对图片进行解码后进行图片的延迟处理以及图片的重排(重新排序)处理。
[0514] 以上,说明了时间方向的可适性下的图片的预测结构的例子,但有时在不利用时间方向的可适性时,也需要通过预测结构进行图片的延迟处理以及重新排序处理。图44为表示需要图片的延迟处理以及重新排序处理的图片的预测结构的一例的图。另外,图44中的数字表示解码顺序。
[0515] 如图44所示,根据预测结构,在解码顺序中为开头的样本与在提示顺序中为开头的样本有时不同,在图44中,在提示顺序中为开头的样本在解码顺序中为第4个样本。另外,图44表示预测结构的一例,预测结构不限于这样的结构。在其他预测结构中,在解码顺序中为开头的样本与在提示顺序中为开头的样本有时也不同。
[0516] 图45与图33同样地,为表示将以MP4形式构成的MPU分割为多个电影分片,并保存到MMTP有效载荷、MMTP包中的例子的图。另外,构成MPU的样本数或者构成电影分片的样本数是任意的。例如,也可以将构成MPU的样本数设为GOP单位的样本数,将GOP单位的二分之一的样本数作为电影分片,来构成2个电影分片。既可以将1个样本作为1个电影分片,也可以不分割构成MPU的样本。
[0517] 在图45中,示出了在1个MPU中包含有2个电影分片(moof框以及mdat框)的例子,但1个MPU所包含的电影分片也可以不为2个。1个MPU所包含的电影分片既可以为3个以上,也可以为MPU所包含的样本数。此外,在电影分片中保存的样本也可以并非等分的样本数,而是分割成任意的样本数。
[0518] 在电影分片元数据(MF元数据)中,包含有电影分片所包含的样本的PTS、DTS、偏移以及尺寸的信息,接收装置20在对样本进行解码时,从包含该样本的信息的MF元中提取PTS以及DTS,决定解码定时或提示定时。
[0519] 此后为便于详细说明,将i样本的解码时刻的绝对值记载为DTS(i),将提示时刻的绝对值记载为PTS(i)。
[0520] 在MF元的moof内保存的时间戳信息之中的第i个样本的信息具体而言,为第i个样本与第(i+1)个样本的解码时刻的相对值、以及第i个样本的解码时刻与提示时刻的相对值,以后将这些记载为DT(i)以及CT(i)。
[0521] 在电影分片元数据#1中,包含有样本#1-#3的DT(i)以及CT(i),在电影分片元数据#2中,包含有样本#4-#6的DT(i)以及CT(i)。
[0522] 此外,MPU开头的访问单元的PTS绝对值被保存到MPU时间戳描述符等中,接收装置20基于MPU开头的访问单元的PTS_MPU、CT以及DT算出PTS以及DTS。
[0523] 图46为用于说明在由#1-#10的样本构成MPU时的PTS以及DTS的算出方法以及问题的图。
[0524] 图46的(a)表示MPU未被分割成电影分片的例子,图46的(b)表示MPU被分割成5样本单位的2个电影分片的例子,图46的(c)表示MPU被按照样本单位分割成10个电影分片的例子。
[0525] 如通过图45所说明地,在利用MPU时间戳描述符与MP4内的时间戳信息(CT以及DT)算出PTS以及DTS时,在图44的提示顺序中为开头的样本在解码顺序中为第4个。因此,在MPU时间戳描述符中保存的PTS是在解码顺序中为第4个的样本的PTS(绝对值)。另外,在以后,将该样本称作“A样本”。此外,将在解码顺序为开头的样本称作“B样本”。
[0526] 由于时间戳所涉及的绝对时刻信息只是MPU时间戳描述符的信息,因此接收装置20直到A样本到达为止不能算出其他样本的PTS(绝对时刻)以及DTS(绝对时刻)。接收装置
20也不能算出B样本的PTS以及DTS。
[0527] 在图46的(a)的例子中,A样本包含于与B样本相同的电影分片内,被保存到1个MF元中。因此,接收装置20能够在接收到该MF元后,立即决定B样本的DTS。
[0528] 在图46的(b)的例子中,A样本包含于与B样本相同的电影分片内,并被保存到1个MF元中。因此,接收装置20能够在接收到该MF元后,立即决定B样本的DTS。
[0529] 在图46的(c)的例子中,A样本包含于与B样本不同的电影分片内。因此,接收装置20除非是在接收到含有包括A样本的电影分片的CT以及DT的MF元之后,就不能决定B样本的DTS。
[0530] 因此,在图46的(c)的例子的情况下,接收装置20在B样本到达后,不能立即开始解码。
[0531] 如此地,若在包含B样本的电影分片中未包含A样本,则接收装置20除非是在接收到包括A样本的电影分片所涉及的MF元之后,就不能开始B样本的解码。
[0532] 在提示顺序中的开头的样本与在解码顺序中的开头的样本不一致的情况下,由于电影分片被分割到A样本与B样本不被保存到同一电影分片中的程度,就会产生该问题。此外,与MF元后送还是先送无关地产生该问题。
[0533] 如此地,在提示顺序中的开头的样本与在解码顺序中的开头的样本不一致时,若A样本与B样本未保存到同一电影分片中,则在接收到B样本后,不能立即决定DTS。于是,发送装置15另行发送在接收侧可算出B样本的DTS(绝对值)或B样本的DTS(绝对值)的信息。这样的信息也可以利用控制信息或包头等发送。
[0534] 接收装置20利用这样的信息算出B样本的DTS(绝对值)。图47为在利用这样的信息算出DTS时的接收动作的流程图。
[0535] 接收装置20接收MPU开头的电影分片(S901),判定A样本与B样本是否保存在同一电影分片中(S902)。在保存在同一电影分片中(S902的“是”)时,接收装置20不利用B样本的DTS(绝对时刻)而只利用MF元的信息算出DTS,开始解码(S904)。另外,在步骤S904中,接收装置20也可以利用B样本的DTS决定DTS。
[0536] 另一方面,在步骤S902中A样本与B样本未保存在同一电影分片中(S902的“否”)时,接收装置20取得B样本的DTS(绝对时刻),决定DTS,开始解码(S903)。
[0537] 另外,在以上的说明中,说明了利用MMT标准中的MF元(在MP4形式的moof内保存的时间戳信息),算出各样本的解码时刻的绝对值与提示时刻的绝对值的例子,但不言自明的是,也可以将MF元置换成能够用于算出各样本的解码时刻的绝对值与提示时刻的绝对值的任意的控制信息进行实施。作为这样的控制信息的例子,存在将上述的第i个样本与第(i+1)个样本的解码时刻的相对值CT(i)置换成第i个样本与(i+1)个样本的提示时刻的相对值的控制信息、或者包含第i个样本与第(i+1)个样本的解码时刻的相对值CT(i)以及第i个样本第(i+1)个样本的提示时刻的相对值这双方的控制信息等。
[0538] [补充]
[0539] 如以上那样地,将B样本的DTS(绝对值)或能够在接收侧算出B样本的DTS(绝对值)的信息作为控制信息发送的发送装置也能够如图48那样地构成。图48为表示发送装置的构成的其他例子的图。
[0540] 发送装置300具备编码部301、包生成部302、第1发送部303、信息生成部304以及第2发送部305。另外,如图48所示,包生成部302以及信息生成部304也可以作为1个生成部306来实现,第1发送部303与第2发送部305也可以作为1个发送部307来实现。
[0541] 编码部301对影像信号进行编码来生成包含多个访问单元的编码数据。
[0542] 包生成部302将多个访问单元以访问单元单位或分割访问单元而成的单位保存在包中来生成包组。
[0543] 第1发送部303将生成的包组作为数据发送。
[0544] 信息生成部304生成表示多个访问单元之中最初被提示的访问单元的提示时刻的第1信息、以及用于算出多个访问单元的解码时刻的第2信息。在此,第1信息例如为MPU时间戳描述符,第二信息例如为MF元数据的时间戳信息(或者时间戳信息被修正一部分而得的信息)等的辅助信息。
[0545] 第2发送部305将生成的第1信息以及第2信息作为控制信息发送。
[0546] 此外,与发送装置300对应的接收装置例如也可以如图49那样地构成。图49为表示接收装置的构成的其他例子的图。
[0547] 接收装置400具备:第1接收部401、第2接收部402以及解码部403。另外,如图49所示,第1接收部401以及第2接收部402也可以作为1个接收部404实现。
[0548] 第1接收部401接收对包含多个访问单元的编码数据以访问单元单位或分割访问单元而成的单位进行打包而得的包组。
[0549] 第2接收部402接收包含表示多个访问单元之中最初被提示的访问单元的提示时刻的第1信息以及用于算出多个访问单元的解码时刻的第2信息的控制信息。
[0550] 解码部403基于第1信息以及第2信息对所接收到的包组所包含的访问单元进行解码。
[0551] (其他实施方式)
[0552] 以上,说明了实施方式所涉及的发送装置、接收装置、发送方法以及接收方法,但本申请不限于该实施方式。
[0553] 此外,上述实施方式所涉及的发送装置以及接收装置中包含的各处理部典型地以作为集成电路的LSI(大规模集成电路)实现。它们既可以独立地被单芯片化,也可以包含一部分或全部地被单芯片化。
[0554] 此外,集成电路化不限于LSI,也可以通过专用电路或通用处理器实现。也可以利用能够在LSI制造后进行编程的FPGA(Field Programmable Gate Array:现场可编程门阵列)、或能够对LSI内部的电路单元的连接或设定进行重构的可重构处理器。
[0555] 在上述各实施方式中,各构成要素既可以由专用的硬件构成,也可以通过执行适合各构成要素的软件程序来实现。各结构要素也可以通过CPU或处理器等程序执行部读出并执行在硬盘或半导体存储器等记录介质中记录的软件程序来实现。
[0556] 换言之,发送装置以及接收装置具备处理电路(processing circuitry)、与该处理电路电连接的(能够从该控制电路访问的)存储装置(storage)。处理电路包含专用的硬件以及程序执行部的至少一方。此外,在处理电路包含程序执行部的情况下,存储装置存储由该程序执行部执行的软件程序。处理电路使用存储装置来执行上述实施方式所涉及的发送方法或接收方法。
[0557] 进而,本申请既可以是上述软件程序,也可以是记录有上述程序的非易失性的计算机可读取的记录介质。此外,上述程序显然能够经由互联网等传送介质流通。
[0558] 此外,在上述中使用的数字是都是为了具体说明本申请而例示的数字,本申请不限制于所例示的数字。
[0559] 此外,框图中的功能块的分割为一例,也可以将多个功能块作为1个功能块来实现,或将1个功能块分割成多个,或者将一部分的功能转移到其他功能块。此外,也可以由单一的硬件或软件并行或分时地处理具有类似的功能的多个功能块的功能。
[0560] 此外,执行上述的发送方法或接收方法包含的步骤的顺序是为了具体说明本申请而例示的顺序,也可以是上述以外的顺序。此外,也可以是上述步骤的一部分与其他步骤同时(并行)执行。
[0561] 以上,基于实施方式说明了本申请的一个或多个方式所涉及的发送装置、接收装置、发送方法以及接收方法,但本申请并不限于该实施方式。只要不脱离本申请的主旨,将本领域技术人员所想到的各种变形施行于本实施方式而得到的方式,或者组合不同实施方式的构成要素来构筑的方式也包含于本申请的一个或者多个方式的范围内。
[0562] 工业实用性
[0563] 本申请能够适用于进行视频数据以及音频数据等的媒体传送的装置或设备。
[0564] 标号说明:
[0565] 15、100、300 发送装置
[0566] 16、101、301 编码部
[0567] 17、102 复用部
[0568] 18、104、307 发送部
[0569] 20、200、400 接收装置
[0570] 21 包过滤部
[0571] 22 发送顺序类型判别部
[0572] 23 随机访问部
[0573] 24、212 控制信息取得部
[0574] 25 数据取得部
[0575] 26 算出部
[0576] 27 初始化信息取得部
[0577] 28、206 解码命令部
[0578] 29、403、204A、204B、204C、204D 解码部
[0579] 30 提示部
[0580] 201 调谐器
[0581] 202 解调部
[0582] 203 逆复用部
[0583] 205 显示部
[0584] 211 类型判别部
[0585] 213 切片信息取得部
[0586] 214 解码数据生成部
[0587] 302 包生成部
[0588] 303 第1发送部
[0589] 304 信息生成部
[0590] 305 第2发送部
[0591] 306 生成部
[0592] 401 第1接收部
[0593] 402 第2接收部
[0594] 404 接收部