首页 / 专利库 / 图形技术 / HSL色彩模式 / 亮度 / 编码装置、解码装置、编码方法和解码方法

编码装置、解码装置、编码方法和解码方法

阅读:0发布:2020-10-30

专利汇可以提供编码装置、解码装置、编码方法和解码方法专利检索,专利查询,专利分析的服务。并且编码装置(100)具备 存储器 (162)和 电路 (160);电路(160)使用存储器(162),在第1动作模式中,以分割了运动图像中包含的图像的预测 块 单位导出第1 运动矢量 (S112),以预测块单位进行第1 运动补偿 处理,该第1运动补偿处理参照通过使用了导出的第1运动矢量的运动补偿而生成的图像中的 亮度 的空间梯度来生成预测图像(S113),在第2动作模式中,以分割了预测块的子块单位导出第2运动矢量(S114),以子块单位进行第2运动补偿处理,该第2运动补偿处理不参照通过使用了第2运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像(S115)。,下面是编码装置、解码装置、编码方法和解码方法专利的具体信息内容。

1.一种编码装置,其特征在于,具备:
电路;以及
存储器
上述电路使用上述存储器进行如下处理,
在第1动作模式中,
以分割了运动图像中包含的图像的预测单位导出第1运动矢量
以上述预测块单位进行第1运动补偿处理,该第1运动补偿处理参照通过使用了导出的上述第1运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像,在第2动作模式中,
以分割了上述预测块的子块单位导出第2运动矢量,
以上述子块单位进行第2运动补偿处理,该第2运动补偿处理不参照通过使用了上述第
2运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像。
2.如权利要求1所述的编码装置,其特征在于,
上述电路,
在上述第1动作模式中,通过第1画面间预测方式,以上述预测块单位导出上述第1运动矢量,
在上述第2动作模式中,通过与上述第1画面间预测方式不同的第2画面间预测方式,以上述子块单位导出上述第2运动矢量。
3.如权利要求2所述的编码装置,其特征在于,
上述第2画面间预测方式是使用相互不同的2个图片内的2个区域的2个重构图像的适合程度的画面间预测方式。
4.如权利要求3所述的编码装置,其特征在于,
上述第1画面间预测方式是(1)使用与对象预测块相邻的对象图片内的区域的重构图像和参照图片内的区域的重构图像的适合程度的第3画面间预测方式、和(2)使用相互不同的2个参照图片内的2个区域的2个重构图像的适合程度的第4画面间预测方式中的一个,上述第2画面间预测方式是上述第3画面间预测方式和上述第4画面间预测方式中的另一个。
5.如权利要求4所述的编码装置,其特征在于,
上述第1画面间预测方式是上述第3画面间预测方式,
上述第2画面间预测方式是上述第4画面间预测方式。
6.如权利要求3所述的编码装置,其特征在于,
上述第1画面间预测方式是使用对象预测块和参照图片中包含的区域的重构图像的适合程度的画面间预测方式,包含用于确定导出的上述第1运动矢量的信息的编码比特流被生成。
7.一种解码装置,其特征在于,具备:
电路;以及
存储器;
上述电路使用上述存储器进行如下处理,
在第1动作模式中,
以分割了运动图像中包含的图像的预测块单位导出第1运动矢量,
以上述预测块单位进行第1运动补偿处理,该第1运动补偿处理参照通过使用了导出的上述第1运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像,在第2动作模式中,
以分割了上述预测块的子块单位导出第2运动矢量,
以上述子块单位进行第2运动补偿处理,该第2运动补偿处理不参照通过使用了上述第
2运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像。
8.如权利要求7所述的解码装置,其特征在于,
上述电路,
在上述第1动作模式中,通过第1画面间预测方式,以上述预测块单位导出上述第1运动矢量,
在上述第2动作模式中,通过与上述第1画面间预测方式不同的第2画面间预测方式,以上述子块单位导出上述第2运动矢量。
9.如权利要求8所述的解码装置,其特征在于,
上述第2画面间预测方式是使用相互不同的2个图片内的2个区域的2个重构图像的适合程度的画面间预测方式。
10.如权利要求9所述的解码装置,其特征在于,
上述第1画面间预测方式是(1)使用与对象预测块相邻的对象图片内的区域的重构图像和参照图片内的区域的重构图像的适合程度的第3画面间预测方式、和(2)使用相互不同的2个参照图片内的2个区域的2个重构图像的适合程度的第4画面间预测方式中的一个,上述第2画面间预测方式是上述第3画面间预测方式和上述第4画面间预测方式中的另一个。
11.如权利要求10所述的解码装置,其特征在于,
上述第1画面间预测方式是上述第3画面间预测方式,
上述第2画面间预测方式是上述第4画面间预测方式。
12.如权利要求9所述的解码装置,其特征在于,
在上述第1画面间预测方式中,从编码比特流取得用于以上述预测块单位确定上述第1运动矢量的信息,使用上述信息导出上述第1运动矢量。
13.一种编码方法,其特征在于,
在第1动作模式中,
以分割了运动图像中包含的图像的预测块单位导出第1运动矢量,
以上述预测块单位进行第1运动补偿处理,该第1运动补偿处理参照通过使用了导出的上述第1运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像,在第2动作模式中,
以分割了上述预测块的子块单位导出第2运动矢量,
以上述子块单位进行第2运动补偿处理,该第2运动补偿处理不参照通过使用了上述第
2运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像。
14.一种解码方法,其特征在于,
在第1动作模式中,
以分割了运动图像中包含的图像的预测块单位导出第1运动矢量,
以上述预测块单位进行第1运动补偿处理,该第1运动补偿处理参照通过使用了导出的上述第1运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像,在第2动作模式中,
以分割了上述预测块的子块单位导出第2运动矢量,
以上述子块单位进行第2运动补偿处理,该第2运动补偿处理不参照通过使用了上述第
2运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像。

说明书全文

编码装置、解码装置、编码方法和解码方法

技术领域

[0001] 本发明涉及编码装置、解码装置、编码方法和解码方法。

背景技术

[0002] 以往,作为用于对运动图像进行编码的规格,存在H.265。H.265也被称为HEVC(High Efficiency Video Coding,高效视频编码)。
[0003] 现有技术文献
[0004] 非专利文献
[0005] 非专利文献1:H.265(ISO/IEC 23008-2HEVC(High Efficiency Video Coding))发明内容
[0006] 发明要解决的课题
[0007] 在这样的编码方法和解码方法中,期望能够减少处理量。
[0008] 本发明的目的在于提供一种能够减少处理量的解码装置、编码装置、解码方法或编码方法。
[0009] 用来解决课题的手段
[0010] 有关本发明的一技术方案的编码装置,具备电路存储器;上述电路使用上述存储器,在第1动作模式中,以分割了运动图像中包含的图像的预测单位导出第1运动矢量,并以上述预测块单位进行第1运动补偿处理,该第1运动补偿处理参照由使用了导出的上述第1运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像,在第2动作模式中,以分割了上述预测块的子块单位导出第2运动矢量,并以上述子块单位进行第2运动补偿处理,该第2运动补偿处理不参照由使用了上述第2运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0011] 有关本发明的一技术方案的解码装置,具备电路和存储器;上述电路使用上述存储器,在第1动作模式中,以分割了运动图像中包含的图像的预测块单位导出第1运动矢量,并以上述预测块单位进行第1运动补偿处理,该第1运动补偿处理参照由使用了导出的上述第1运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像,在第2动作模式中,以分割了上述预测块的子块单位导出第2运动矢量,并以上述子块单位进行第2运动补偿处理,该第2运动补偿处理不参照由使用了上述第2运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0012] 另外,这些包含性或具体的技术方案也可以由系统、装置、方法、集成电路、计算机程序或计算机可读取的CD-ROM等的非暂时性记录介质实现,也可以由系统、装置、方法、集成电路、计算机程序及记录介质的任意的组合来实现。
[0013] 发明效果
[0014] 本发明能够提供能够减少处理量的解码装置、编码装置、解码方法或编码方法。附图说明
[0015] 图1是表示有关实施方式1的编码装置的功能结构的框图
[0016] 图2是表示实施方式1的块分割的一例的图。
[0017] 图3是表示与各变换类型对应的变换基函数的表。
[0018] 图4A是表示ALF中使用的滤波器的形状的一例的图。
[0019] 图4B是表示ALF中使用的滤波器的形状的另一例的图。
[0020] 图4C是表示ALF中使用的滤波器的形状的另一例的图。
[0021] 图5A是表示内预测的67个帧内预测模式的图。
[0022] 图5B是用来说明基于OBMC处理进行的预测图像修正处理的概要的流程图
[0023] 图5C是用来说明基于OBMC处理进行的预测图像修正处理的概要的概念图
[0024] 图5D是表示FRUC的一例的图。
[0025] 图6是用来说明沿着运动轨迹的2个块之间的图案匹配(双向匹配)的图。
[0026] 图7是用来说明当前图片内的模板与参照图片内的块之间的图案匹配(模板匹配)的图。
[0027] 图8是用来说明假定了等速直线运动的模型的图。
[0028] 图9A是用来说明基于多个相邻块的运动矢量进行的子块单位的运动矢量的导出的图。
[0029] 图9B是用来说明基于合并模式的运动矢量导出处理的概要的图。
[0030] 图9C是用来说明DMVR处理的概要的概念图。
[0031] 图9D是用来说明采用基于LIC处理的亮度修正处理的预测图像生成方法的概要的图。
[0032] 图10是表示有关实施方式1的解码装置的功能结构的框图。
[0033] 图11是有关比较例1的画面间预测处理的流程图。
[0034] 图12是有关比较例2的画面间预测处理的流程图。
[0035] 图13是有关实施方式1的画面间预测处理的流程图。
[0036] 图14是有关实施方式1的变形例的画面间预测处理的流程图。
[0037] 图15是有关实施方式1的变形例的编码处理及解码处理的流程图。
[0038] 图16是表示有关实施方式1的模板FRUC方式的概念图。
[0039] 图17是表示有关实施方式1的双向FRUC方式的概念图。
[0040] 图18是表示以有关实施方式1的FRUC方式导出运动矢量的动作的流程图。
[0041] 图19是表示有关实施方式1的BIO处理的概念图。
[0042] 图20是表示有关实施方式1的BIO处理的流程图。
[0043] 图21是表示有关实施方式1的编码装置的安装例的框图。
[0044] 图22是表示有关实施方式1的解码装置的安装例的框图。
[0045] 图23是实现内容分发服务的内容供给系统的整体结构图。
[0046] 图24是表示可分级编码时的编码构造的一例的图。
[0047] 图25是表示可分级编码时的编码构造的一例的图。
[0048] 图26是表示web页的显示画面例的图。
[0049] 图27是表示web页的显示画面例的图。
[0050] 图28是表示智能电话的一例的图。
[0051] 图29是表示智能电话的结构例的框图。

具体实施方式

[0052] 有关本发明的一技术方案的编码装置,具备电路和存储器;上述电路使用上述存储器,以分割了运动图像中包含的图像的预测块单位,通过第1画面间预测方式导出第1运动矢量,并以上述预测块单位进行第1运动补偿处理,该第1画面间预测方式使用相互不同的2个图片内的2个区域的2个重构图像的适合程度,该第1运动补偿处理参照由使用了导出的上述第1运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0053] 由此,该编码装置通过以预测块单位进行基于第1画面间预测方式的运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。因此,该编码装置能够在抑制编码效率的降低的同时减少处理量。
[0054] 例如,也可以是,上述电路还使用上述存储器,以上述预测块单位,通过第2画面间预测方式导出第2运动矢量,并以上述预测块单位进行第2运动补偿处理,生成包含用于确定上述第2运动矢量的信息的编码比特流,该第2运动矢量使用对象预测块和参照图片中包含的区域的重构图像的适合程度,该第2运动补偿处理参照通过使用了上述第2运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0055] 由此,在使用第1画面间预测方式的情况和使用第2画面间预测方式的情况下,能够使运动补偿处理的处理单位相同。由此,能够使运动补偿处理的安装容易化。
[0056] 例如,上述第1画面间预测方式中的上述2个区域也可以是(1)与对象预测块相邻的对象图片内的区域和参照图片内的区域、或者(2)相互不同的2个参照图片内的2个区域。
[0057] 有关本发明的一技术方案的解码装置,具备电路和存储器;上述电路使用上述存储器,以分割了运动图像中包含的图像的预测块单位,通过第1画面间预测方式导出第1运动矢量,并以上述预测块单位进行第1运动补偿处理,该第1画面间预测方式使用相互不同的2个图片内的2个区域的2个重构图像的适合程度,该第1运动补偿处理参照由使用了导出的上述第1运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0058] 由此,该解码装置通过以预测块单位进行基于第1画面间预测方式的运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。因此,该解码装置能够在抑制编码效率的降低的同时减少处理量。
[0059] 例如,也可以是,上述电路还使用上述存储器,从编码比特流取得用于以上述预测块单位确定第2运动矢量的信息,以上述预测块单位,通过使用了上述信息的第2画面间预测方式导出上述第2运动矢量,并以上述预测块单位进行第2运动补偿处理,该第2运动补偿处理参照通过使用了导出的上述第2运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像。
[0060] 由此,在使用第1画面间预测方式的情况和使用第2画面间预测方式的情况下,能够使运动补偿处理的处理单位相同。由此,能够使运动补偿处理的安装容易化。
[0061] 例如,上述第1画面间预测方式中的上述2个区域也可以是(1)与对象预测块相邻的对象图片内的区域和参照图片内的区域、或者(2)相互不同的2个参照图片内的2个区域。
[0062] 有关本发明的一技术方案的编码方法,以分割了运动图像中包含的图像的预测块单位,通过第1画面间预测方式导出第1运动矢量,并以上述预测块单位进行运动补偿处理,该第1画面间预测方式使用相互不同的2个图片内的2个区域的2个重构图像的适合程度,该运动补偿处理参照由使用了导出的上述第1运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0063] 由此,该编码方法通过以预测块单位进行基于第1画面间预测方式的运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。因此,该编码方法能够在抑制编码效率的降低的同时减少处理量。
[0064] 有关本发明的一技术方案的解码方法,以分割了运动图像中包含的图像的预测块单位,通过第1画面间预测方式导出第1运动矢量,并以上述预测块单位进行运动补偿处理,该第1画面间预测方式使用相互不同的2个图片内的2个区域的2个重构图像的适合程度,该运动补偿处理参照由使用了导出的上述第1运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0065] 由此,该解码方法通过以预测块单位进行基于第1画面间预测方式的运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。因此,该解码方法能够在抑制编码效率的降低的同时减少处理量。
[0066] 有关本发明的一技术方案的编码装置,具备电路和存储器;上述电路使用上述存储器,在第1动作模式中,以分割了运动图像中包含的图像的预测块单位导出第1运动矢量,并以上述预测块单位进行第1运动补偿处理,该第1运动补偿处理参照由使用了导出的上述第1运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像,在第2动作模式中,以分割了上述预测块的子块单位导出第2运动矢量,并以上述子块单位进行第2运动补偿处理,该第2运动补偿处理不参照由使用了上述第2运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0067] 由此,该编码装置在第1动作模式中,通过以预测块单位进行运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。此外,该编码装置在第2动作模式中,以子块单位进行运动矢量的导出处理以及第2运动补偿处理。这里,第2运动补偿处理由于不参照亮度的空间梯度,与第1运动补偿处理相比,处理量少。进而,该编码装置通过具有这样的2个动作模式,能够提高编码效率。这样,该编码装置能够在抑制编码效率的降低的同时减少处理量。
[0068] 例如,也可以是,上述电路在上述第1动作模式中,通过第1画面间预测方式,以上述预测块单位导出上述第1运动矢量,在上述第2动作模式中,通过与上述第1画面间预测方式不同的第2画面间预测方式,以上述子块单位导出上述第2运动矢量。
[0069] 例如,上述第2画面间预测方式也可以是使用相互不同的2个图片内的2个区域的2个重构图像的适合程度的画面间预测方式。
[0070] 由此,能够以子块单位进行基于子块单位的运动矢量的计算的编码效率的提高效果大的画面间预测方式。因此,能够提高编码效率。
[0071] 例如,也可以是,上述第1画面间预测方式是(1)使用与对象预测块相邻的对象图片内的区域的重构图像和参照图片内的区域的重构图像的适合程度的第3画面间预测方式、和(2)使用相互不同的2个参照图片内的2个区域的2个重构图像的适合程度的第4画面间预测方式中的一个,上述第2画面间预测方式是上述第3画面间预测方式和上述第4画面间预测方式中的另一个。
[0072] 例如,也可以是,上述第1画面间预测方式是上述第3画面间预测方式,上述第2画面间预测方式是上述第4画面间预测方式。
[0073] 由此,能够以子块单位进行基于子块单位的运动矢量的计算的编码效率的提高效果大的画面间预测方式。因此,能够提高编码效率。
[0074] 例如,上述第1画面间预测方式也可以是使用对象预测块和参照图片中包含的区域的重构图像的适合程度的画面间预测方式,包含用于确定导出的上述第1运动矢量的信息的编码比特流被生成。
[0075] 有关本发明的一技术方案的解码装置,具备电路和存储器;上述电路使用上述存储器,在第1动作模式中,以分割了运动图像中包含的图像的预测块单位导出第1运动矢量,并以上述预测块单位进行第1运动补偿处理,该第1运动补偿处理参照由使用了导出的上述第1运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像,在第2动作模式中,以分割了上述预测块的子块单位导出第2运动矢量,并以上述子块单位进行第2运动补偿处理,该第2运动补偿处理不参照由使用了上述第2运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0076] 由此,该解码装置在第1动作模式中,通过以预测块单位进行运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。此外,该解码装置在第2动作模式中,以子块单位进行运动矢量的导出处理以及第2运动补偿处理。这里,第2运动补偿处理由于不参照亮度的空间梯度,与第1运动补偿处理相比,处理量少。进而,该解码装置通过具有这样的2个动作模式,能够提高编码效率。这样,该编码装置能够在抑制编码效率的降低的同时减少处理量。
[0077] 例如,也可以是,上述电路在上述第1动作模式中,通过第1画面间预测方式,以上述预测块单位导出上述第1运动矢量,在上述第2动作模式中,通过与上述第1画面间预测方式不同的第2画面间预测方式,以上述子块单位导出上述第2运动矢量。
[0078] 例如,上述第2画面间预测方式也可以是使用相互不同的2个图片内的2个区域这2个重构图像的适合程度的画面间预测方式。
[0079] 由此,能够以子块单位进行基于子块单位的运动矢量的计算的编码效率的提高效果大的画面间预测方式。因此,能够提高编码效率。
[0080] 例如,也可以是,上述第1画面间预测方式是(1)使用与对象预测块相邻的对象图片内的区域的重构图像和参照图片内的区域的重构图像的适合程度的第3画面间预测方式、和(2)使用相互不同的2个参照图片内的2个区域的2个重构图像的适合程度的第4画面间预测方式中的一个,上述第2画面间预测方式是上述第3画面间预测方式和上述第4画面间预测方式中的另一个。
[0081] 例如,也可以是,上述第1画面间预测方式是上述第3画面间预测方式,上述第2画面间预测方式是上述第4画面间预测方式。
[0082] 由此,能够以子块单位进行基于子块单位的运动矢量的计算的编码效率的提高效果大的画面间预测方式。因此,能够提高编码效率。
[0083] 例如,也可以是,在上述第1画面间预测方式中,从编码比特流取得用于以上述预测块单位确定上述第1运动矢量的信息,使用上述信息导出上述第1运动矢量。
[0084] 有关本发明的一技术方案的编码方法,在第1动作模式中,以分割了运动图像中包含的图像的预测块单位导出第1运动矢量,并以上述预测块单位进行第1运动补偿处理,该第1运动补偿处理参照由使用了导出的上述第1运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像,在第2动作模式中,以分割了上述预测块的子块单位导出第2运动矢量,并以上述子块单位进行第2运动补偿处理,该第2运动补偿处理不参照由使用了上述第2运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0085] 由此,该编码方法在第1动作模式中,通过以预测块单位进行运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。此外,该编码方法在第2动作模式中,以子块单位进行运动矢量的导出处理以及第2运动补偿处理。这里,第2运动补偿处理由于不参照亮度的空间梯度,与第1运动补偿处理相比,处理量少。进而,该编码方法通过具有这样的2个动作模式,能够提高编码效率。这样,该编码方法能够在抑制编码效率的降低的同时减少处理量。
[0086] 有关本发明的一技术方案的解码方法,在第1动作模式中,以分割了运动图像中包含的图像的预测块单位导出第1运动矢量,并以上述预测块单位进行第1运动补偿处理,该第1运动补偿处理参照由使用了导出的上述第1运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像,在第2动作模式中,以分割了上述预测块的子块单位导出第2运动矢量,并以上述子块单位进行第2运动补偿处理,该第2运动补偿处理不参照由使用了上述第2运动矢量的运动补偿所生成的图像中的亮度的空间梯度来生成预测图像。
[0087] 由此,该解码方法在第1动作模式中,通过以预测块单位进行运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。此外,该解码方法在第2动作模式中,以子块单位进行运动矢量的导出处理以及第2运动补偿处理。这里,第2运动补偿处理由于不参照亮度的空间梯度,与第1运动补偿处理相比,处理量少。进而,该解码方法通过具有这样的2个动作模式,能够提高编码效率。这样,该编码方法能够在抑制编码效率的降低的同时减少处理量。
[0088] 另外,这些包含性或具体的技术方案也可以由系统、装置、方法、集成电路、计算机程序或计算机可读取的CD-ROM等的非暂时性记录介质实现,也可以由系统、装置、方法、集成电路、计算机程序及记录介质的任意的组合来实现。
[0089] 以下,参照附图具体地说明实施方式。
[0090] 另外,以下说明的实施方式都表示包含性或具体的例子。在以下的实施方式中表示的数值、形状、材料、构成要素、构成要素的配置及连接形态、步骤、步骤的顺序等是一例,不是限定权利要求的意思。此外,关于以下的实施方式的构成要素中的、在表示最上位概念的独立权利要求中没有记载的构成要素,设为任意的构成要素而进行说明。
[0091] (实施方式1)
[0092] 首先,作为能够应用在后述的本发明的各形态中说明的处理及/或结构的编码装置及解码装置的一例,说明实施方式1的概要。但是,实施方式1只不过是能够应用在本发明的各形态中说明的处理及/或结构的编码装置及解码装置的一例,在本发明的各形态中说明的处理及/或结构在与实施方式1不同的编码装置及解码装置中也能够实施。
[0093] 在对于实施方式1应用在本发明的各形态中说明的处理及/或结构的情况下,例如也可以进行以下中的某个。
[0094] (1)对于实施方式1的编码装置或解码装置,将构成该编码装置或解码装置的多个构成要素中的、与在本发明的各形态中说明的构成要素对应的构成要素,替换为在本发明的各形态中说明的构成要素;
[0095] (2)对于实施方式1的编码装置或解码装置,在对构成该编码装置或解码装置的多个构成要素中的一部分构成要素施以功能或实施的处理的追加、替换、删除等的任意的变更后,将与在本发明的各形态中说明的构成要素对应的构成要素替换为在本发明的各形态中说明的构成要素;
[0096] (3)对于实施方式1的编码装置或解码装置实施的方法,施以处理的追加、及/或对于该方法中包含的多个处理中的一部分处理施以替换、删除等的任意的变更后,将与在本发明的各形态中说明的处理对应的处理替换为在本发明的各形态中说明的处理;
[0097] (4)将构成实施方式1的编码装置或解码装置的多个构成要素中的一部分构成要素,与在本发明的各形态中说明的构成要素、具备在本发明的各形态中说明的构成要素所具备的功能的一部分的构成要素、或实施在本发明的各形态中说明的构成要素所实施的处理的一部分的构成要素组合而实施;
[0098] (5)将具备构成实施方式1的编码装置或解码装置的多个构成要素中的一部分构成要素所具备的功能的一部分的构成要素、或实施构成实施方式1的编码装置或解码装置的多个构成要素中的一部分构成要素所实施的处理的一部分的构成要素,与在本发明的各形态中说明的构成要素、具备在本发明的各形态中说明的构成要素所具备的功能的一部分的构成要素、或实施在本发明的各形态中说明的构成要素所实施的处理的一部分的构成要素组合而实施;
[0099] (6)对于实施方式1的编码装置或解码装置所实施的方法,将该方法中包含的多个处理中的与在本发明的各形态中说明的处理对应的处理,替换为在本发明的各形态中说明的处理;
[0100] (7)将在实施方式1的编码装置或解码装置所实施的方法中包含的多个处理中的一部分的处理与在本发明的各形态中说明的处理组合而实施。
[0101] 另外,在本发明的各形态中说明的处理及/或结构的实施的方式并不限定于上述的例子。例如,也可以在以与实施方式1中公开的运动图像/图像编码装置或运动图像/图像解码装置不同的目的使用的装置中实施,也可以将在各形态中说明的处理及/或结构单独地实施。此外,也可以将在不同的形态中说明的处理及/或结构组合而实施。
[0102] [编码装置的概要]
[0103] 首先,说明有关实施方式1的编码装置的概要。图1是表示有关实施方式1的编码装置100的功能结构的框图。编码装置100是将运动图像/图像以块单位进行编码的运动图像/图像编码装置。
[0104] 如图1所示,编码装置100是将图像以块单位进行编码的装置,具备分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、块存储器118、循环滤波部120、帧存储器122、帧内预测部124、帧间预测部126和预测控制部128。
[0105] 编码装置100例如由通用处理器及存储器实现。在此情况下,当保存在存储器中的软件程序被处理器执行时,处理器作为分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、循环滤波部120、帧内预测部124、帧间预测部126及预测控制部128发挥功能。此外,编码装置100也可以作为与分割部102、减法部104、变换部106、量化部108、熵编码部110、逆量化部112、逆变换部114、加法部116、循环滤波部120、帧内预测部124、帧间预测部126及预测控制部128对应的专用的1个以上的电子电路实现。
[0106] 以下,对编码装置100中包含的各构成要素进行说明。
[0107] [分割部]
[0108] 分割部102将输入运动图像中包含的各图片分割为多个块,将各块向减法部104输出。例如,分割部102首先将图片分割为固定尺寸(例如128×128)的块。该固定尺寸的块有被称作编码树单元(CTU)的情况。并且,分割部102基于递归性的四叉树(quadtree)及/或二叉树(binary tree)块分割,将固定尺寸的各个块分割为可变尺寸(例如64×64以下)的块。该可变尺寸的块有被称作编码单元(CU)、预测单元(PU)或变换单元(TU)的情况。另外,在本实施方式中,不需要将CU、PU及TU区分,而也可以将图片内的一部分或全部的块作为CU、PU、TU的处理单位。
[0109] 图2是表示实施方式1的块分割的一例的图。在图2中,实线表示基于四叉树块分割的块边界,虚线表示基于二叉树块分割的块边界。
[0110] 这里,块10是128×128像素的正方形块(128×128块)。该128×128块10首先被分割为4个正方形的64×64块(四叉树块分割)。
[0111] 左上方的64×64块再被垂直地分割为2个矩形的32×64块,左方的32×64块再被垂直地分割为2个矩形的16×64块(二叉树块分割)。结果,左上方的64×64块被分割为2个16×64块11、12和32×64块13。
[0112] 右上方的64×64块被平地分割为2个矩形的64×32块14、15(二叉树块分割)。
[0113] 左下方的64×64块被分割为4个正方形的32×32块(四叉树块分割)。4个32×32块中的左上方的块及右下方的块进一步被分割。左上方的32×32块被垂直地分割为2个矩形的16×32块,右方的16×32块再被水平地分割为2个16×16块(二叉树块分割)。右下方的32×32块被水平地分割为2个32×16块(二叉树块分割)。结果,左下方的64×64块被分割为16×32块16、2个16×16块17、18、2个32×32块19、20、以及2个32×16块21、22。
[0114] 右下方的64×64块23不被分割。
[0115] 如以上这样,在图2中,块10基于递归性的四叉树及二叉树块分割而被分割为13个可变尺寸的块11~23。这样的分割有被称作QTBT(quad-tree plus binary tree,四叉树加二叉树)分割的情况。
[0116] 另外,在图2中,1个块被分割为4个或2个块(四叉树或二叉树块分割),但分割并不限定于此。例如,也可以是1个块被分割为3个块(三叉树分割)。包括这样的三叉树分割在内的分割有被称作MBT(multi type tree,多类型树)分割的情况。
[0117] [减法部]
[0118] 减法部104以由分割部102分割的块单位从原信号(原样本)减去预测信号(预测样本)。即,减法部104计算编码对象块(以下称作当前块)的预测误差(也称作残差)。并且,减法部104将计算出的预测误差向变换部106输出。
[0119] 原信号是编码装置100的输入信号,是表示构成运动图像的各图片的图像的信号(例如亮度(luma)信号及2个色差(chroma)信号)。以下,也有将表示图像的信号也称作样本的情况。
[0120] [变换部]
[0121] 变换部106将空间域的预测误差变换为频域的变换系数,将变换系数向量化部108输出。具体而言,变换部106例如对空间域的预测误差进行预先设定的离散余弦变换(DCT)或离散正弦变换(DST)。
[0122] 另外,变换部106也可以从多个变换类型之中适应性地选择变换类型,使用与所选择的变换类型对应的变换基函数(transform basis function),将预测误差变换为变换系数。这样的变换有被称作EMT(explicit multiple core transform,多核变换)或AMT(adaptive multiple transform,自适应多变换)的情况。
[0123] 多个变换类型例如包括DCT-II、DCT-V、DCT-VIII、DST-I及DST-VII。图3是表示与各变换类型对应的变换基函数的表。在图3中,N表示输入像素的数量。从这些多个变换类型之中的变换类型的选择,例如既可以依赖于预测的种类(帧内预测及帧间预测),也可以依赖于帧内预测模式。
[0124] 表示是否应用这样的EMT或AMT的信息(例如称作AMT标志)及表示所选择的变换类型的信息以CU级被信号化。另外,这些信息的信号化并不需要限定于CU级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级或CTU级)。
[0125] 此外,变换部106也可以对变换系数(变换结果)进行再变换。这样的再变换有被称作AST(adaptive secondary transform,自适应二次变换)或NSST(non-separable secondary transform,不可分二次变换)的情况。例如,变换部106按与帧内预测误差对应的变换系数的块中包含的每个子块(例如4×4子块)进行再变换。表示是否应用NSST的信息及与NSST中使用的变换矩阵有关的信息以CU级被进行信号化。另外,这些信息的信号化并不需要限定于CU级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级或CTU级)。
[0126] 这里,Separable(可分离)的变换是指与输入的维度数相当地按每个方向分离而进行多次变换的方式,Non-Separable(不可分)的变换是指当输入是多维时将2个以上的维度合起来看作1个维度而一起进行变换的方式。
[0127] 例如,作为Non-Separable的变换的1例,可以举出在输入是4×4的块的情况下将其看作具有16个元素的一个排列,对该排列以16×16的变换矩阵进行变换处理的方式。
[0128] 此外,同样,在将4×4的输入块看作具有16个元素的一个排列后对该排列多次进行Givens旋转的方式(Hypercube Givens Transform),也是Non-Separable的变换的例子。
[0129] [量化部]
[0130] 量化部108对从变换部106输出的变换系数进行量化。具体而言,量化部108对当前块的变换系数以规定的扫描顺序进行扫描,基于与被扫描的变换系数对应的量化参数(QP)对该变换系数进行量化。并且,量化部108将当前块的量化后的变换系数(以下称作量化系数)向熵编码部110及逆量化部112输出。
[0131] 规定的顺序是用于变换系数的量化/逆量化的顺序。例如,用频率的升序(从低频向高频的顺序)或降序(从高频向低频的顺序)定义规定的扫描顺序。
[0132] 量化参数是指定义量化步长(量化宽度)的参数。例如,如果量化参数的值增加,则量化步长也增加。即,如果量化参数的值增加,则量化误差增大。
[0133] [熵编码部]
[0134] 熵编码部110通过对作为来自量化部108的输入的量化系数进行可变长编码,生成编码信号(编码比特流)。具体而言,熵编码部110例如将量化系数进行二值化,对二值信号进行算术编码。
[0135] [逆量化部]
[0136] 逆量化部112对作为来自量化部108的输入的量化系数进行逆量化。具体而言,逆量化部112对当前块的量化系数以规定的扫描顺序进行逆量化。并且,逆量化部112将当前块的逆量化后的变换系数向逆变换部114输出。
[0137] [逆变换部]
[0138] 逆变换部114通过对作为来自逆量化部112的输入的变换系数进行逆变换,复原预测误差。具体而言,逆变换部114通过对变换系数进行与变换部106的变换对应的逆变换,复原当前块的预测误差。并且,逆变换部114将复原后的预测误差向加法部116输出。
[0139] 另外,复原后的预测误差由于通过量化丢失了信息,所以与减法部104计算出的预测误差不一致。即,复原后的预测误差中包含量化误差。
[0140] [加法部]
[0141] 加法部116通过将作为来自逆变换部114的输入的预测误差与作为来自预测控制部128的输入的预测样本相加,重构当前块。并且,加法部116将重构的块向块存储器118及循环滤波部120输出。重构块有被称作本地解码块的情况。
[0142] [块存储器]
[0143] 块存储器118是用来将在帧内预测中参照的、编码对象图片(以下称作当前图片)内的块进行保存的存储部。具体而言,块存储器118保存从加法部116输出的重构块保存。
[0144] [循环滤波部]
[0145] 循环滤波部120对由加法部116重构的块施以循环滤波,将滤波后的重构块向帧存储器122输出。循环滤波是指在编码循环内使用的滤波(环内滤波),例如包括解块滤波(DF)、样本自适应偏移(SAO)及自适应循环滤波(ALF)等。
[0146] 在ALF中,采用用来除去编码失真的最小二乘误差滤波器,例如按当前块内的每个2×2子块,采用基于局部性的梯度(gradient)的方向及活性度(activity)从多个滤波器中选择的1个滤波器。
[0147] 具体而言,首先将子块(例如2×2子块)分类为多个类(例如15或25类)。子块的分类基于梯度的方向及活性度来进行。例如,使用梯度的方向值D(例如0~2或0~4)和梯度的活性值A(例如0~4),计算分类值C(例如C=5D+A)。并且,基于分类值C,将子块分类为多个类(例如15或25类)。
[0148] 梯度的方向值D例如通过将多个方向(例如水平、垂直及2个对方向)的梯度进行比较而导出。此外,梯度的活性值A例如通过将多个方向的梯度相加、并对相加结果进行量化来导出。
[0149] 基于这样的分类的结果,从多个滤波器之中决定用于子块的滤波器。
[0150] 作为在ALF中使用的滤波器的形状,例如使用圆对称形状。图4A~图4C是表示在ALF中使用的滤波器的形状的多个例子的图。图4A表示5×5钻石形状滤波器,图4B表示7×7钻石形状滤波器,图4C表示9×9钻石形状滤波器。表示滤波器的形状的信息以图片级被进行信号化。另外,表示滤波器的形状的信息的信号化不需要限定于图片级,也可以是其他级(例如,序列级、切片级、瓦片级、CTU级或CU级)。
[0151] ALF的开启/关闭例如以图片级或CU级决定。例如,关于亮度,以CU级决定是否采用ALF,关于色差,以图片级决定是否采用ALF。表示ALF的开启/关闭的信息以图片级或CU级被进行信号化。另外,表示ALF的开启/关闭的信息的信号化并不需要限定于图片级或CU级,也可以是其他级(例如,序列级、切片级、瓦片级或CTU级)。
[0152] 可选择的多个滤波器(例如到15个或25个为止的滤波器)的系数集以图片级被进行信号化。另外,系数集的信号化并不需要限定于图片级,也可以是其他级(例如,序列级、切片级、瓦片级、CTU级、CU级或子块级)。
[0153] [帧存储器]
[0154] 帧存储器122是用来将在帧间预测中使用的参照图片进行保存的存储部,也有被称作帧缓冲器的情况。具体而言,帧存储器122保存由循环滤波部120滤波后的重构块。
[0155] [帧内预测部]
[0156] 帧内预测部124参照保存在块存储器118中的当前图片内的块而进行当前块的帧内预测(也称作画面内预测),从而生成预测信号(帧内预测信号)。具体而言,帧内预测部124通过参照与当前块相邻的块的样本(例如亮度值、色差值)进行帧内预测而生成帧内预测信号,并将帧内预测信号向预测控制部128输出。
[0157] 例如,帧内预测部124使用预先规定的多个帧内预测模式中的1个进行帧内预测。多个帧内预测模式包括1个以上的非方向性预测模式和多个方向性预测模式。
[0158] 1个以上的非方向性预测模式例如包括由H.265/HEVC(High-Efficiency Video Coding)规格(非专利文献1)规定的Planar(平面)预测模式及DC预测模式。
[0159] 多个方向性预测模式例如包括由H.265/HEVC规格规定的33个方向的预测模式。另外,多个方向性预测模式也可以除了33个方向以外还包括32个方向的预测模式(合计65个方向性预测模式)。图5A是表示帧内预测中的67个帧内预测模式(2个非方向性预测模式及65个方向性预测模式)的图。实线箭头表示由H.265/HEVC规格规定的33个方向,虚线箭头表示追加的32个方向。
[0160] 另外,在色差块的帧内预测中,也可以参照亮度块。即,也可以基于当前块的亮度成分来预测当前块的色差成分。这样的帧内预测有被称作CCLM(cross-component linear model,跨组件的线性模型)预测的情况。也可以将这样的参照亮度块的色差块的帧内预测模式(例如称作CCLM模式)作为色差块的帧内预测模式的1个来添加。
[0161] 帧内预测部124也可以基于水平/垂直方向的参照像素的梯度,将帧内预测后的像素值进行修正。伴随着这样的修正的帧内预测有被称作PDPC(position dependent intra prediction combination,位置决定的帧内预测组合)的情况。表示有没有采用PDPC的信息(例如称作PDPC标志)例如以CU级被进行信号化。另外,该信息的信号化并不需要限定于CU级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级或CTU级)。
[0162] [帧间预测部]
[0163] 帧间预测部126参照保存在帧存储器122中的与当前图片不同的参照图片进行当前块的帧间预测(也称作画面间预测),从而生成预测信号(帧间预测信号)。帧间预测以当前块或当前块内的子块(例如4×4块)的单位进行。例如,帧间预测部126对于当前块或子块,在参照图片内进行运动估计(motion estimation)。并且,帧间预测部126使用通过运动估计得到的运动信息(例如运动矢量)进行运动补偿,从而生成当前块或子块的帧间预测信号。并且,帧间预测部126将所生成的帧间预测信号向预测控制部128输出。
[0164] 在运动补偿中使用的运动信息被信号化。在运动矢量的信号化中也可以使用预测运动矢量(motion vector predictor)。即,也可以是运动矢量与预测运动矢量之间的差被信号化。
[0165] 另外,也可以是,不仅使用通过运动估计得到的当前块的运动信息,还使用相邻块的运动信息来生成帧间预测信号。具体而言,也可以将基于通过运动估计得到的运动信息的预测信号、与基于相邻块的运动信息的预测信号进行加权相加,由此以当前块内的子块单位生成帧间预测信号。这样的帧间预测(运动补偿)有被称作OBMC(overlapped block motion compensation,重叠块运动补偿)的情况。
[0166] 在这样的OBMC模式中,对表示用于OBMC的子块的尺寸的信息(例如称作OBMC块尺寸)以序列级进行信号化。此外,对表示是否采用OBMC模式的信息(例如称作OBMC标志)以CU级进行信号化。另外,这些信息的信号化的级别并不需要限定于序列级及CU级,也可以是其他级(例如图片级、切片级、瓦片级、CTU级或子块级)。
[0167] 对于OBMC模式更具体地进行说明。图5B及图5C是用来说明基于OBMC处理进行的预测图像修正处理的概要的流程图及概念图。
[0168] 首先,使用被分配给编码对象块的运动矢量(MV),取得通过通常的运动补偿得到的预测图像(Pred)。
[0169] 接着,对编码对象块采用已编码的左相邻块的运动矢量(MV_L)而取得预测图像(Pred_L),通过将上述预测图像和Pred_L加权叠加,进行预测图像的第1次修正。
[0170] 同样,对编码对象块采用已编码的上相邻块的运动矢量(MV_U)而取得预测图像(Pred_U),通过对进行上述第1次修正后的预测图像和Pred_U加权叠加,进行预测图像的第2次修正,将其作为最终的预测图像。
[0171] 另外,这里说明了使用左相邻块和上相邻块的两阶段的修正的方法,但也可以构成为使用右相邻块及下相邻块进行比两阶段多的次数的修正。
[0172] 另外,进行叠加的区域也可以不是块整体的像素区域,而仅是块边界附近的一部分区域。
[0173] 另外,这里对根据1张参照图片的预测图像修正处理进行了说明,但在根据多张参照图片对预测图像进行修正的情况下也是同样的,在根据各个参照图片取得修正后的预测图像后,将得到的预测图像进一步叠加,由此作为最终的预测图像。
[0174] 另外,上述处理对象块也可以是预测块单位,也可以是将预测块进一步分割的子块单位。
[0175] 作为是否采用OBMC处理的判定的方法,例如有使用表示是否采用OBMC处理的信号即obmc_flag的方法。作为具体的一例,在编码装置中,判定编码对象块是否属于运动复杂的区域,在属于运动复杂的区域的情况下,作为obmc_flag而设定值1并采用OBMC处理进行编码,在不属于运动复杂的区域的情况下,作为obmc_flag而设定值0,不采用OBMC处理而进行编码。另一方面,在解码装置中,通过将流中记述的obmc_flag解码,根据其值切换是否采用OBMC处理,来进行解码。
[0176] 另外,也可以不将运动信息进行信号化,而在解码装置侧导出。例如,也可以使用由H.265/HEVC规格规定的合并模式。此外,例如也可以通过在解码装置侧进行运动估计来导出运动信息。在此情况下,不使用当前块的像素值而进行运动估计。
[0177] 这里,对在解码装置侧进行运动估计的模式进行说明。该在解码装置侧进行运动估计的模式有被称作PMMVD(pattern matched motion vector derivation,图案匹配的运动矢量推导)模式或FRUC(frame rate up-conversion,帧速率上转换)模式的情况。
[0178] 在图5D中表示FRUC处理的一例。首先,参照与当前块在空间或时间上相邻的已编码块的运动矢量,生成分别具有预测运动矢量的多个候选的列表(也可以与合并列表共用)。接着,从登记在候选列表中的多个候选MV之中选择最佳候选MV。例如,计算候选列表中包含的各候选的评价值,基于评价值选择1个候选。
[0179] 并且,基于所选择的候选的运动矢量,导出用于当前块的运动矢量。具体而言,例如将所选择的候选的运动矢量(最佳候选MV)原样作为用于当前块的运动矢量来导出。此外,例如也可以通过在与所选择的候选的运动矢量对应的参照图片内的位置的周边区域中进行图案匹配,来导出用于当前块的运动矢量。即,也可以对最佳候选MV的周边区域通过同样的方法进行搜索,在有评价值为更好的值的MV的情况下,将最佳候选MV更新为上述MV,将其作为当前块的最终的MV。另外,也可以做成不实施该处理的结构。
[0180] 也可以在以子块单位进行处理的情况下也进行完全同样的处理。
[0181] 另外,关于评价值,通过与运动矢量对应的参照图片内的区域和规定区域之间的图案匹配求出重构图像的差分值来计算。另外,也可以是,除了差分值以外还使用其以外的信息来计算评价值。
[0182] 作为图案匹配,使用第1图案匹配或第2图案匹配。第1图案匹配及第2图案匹配有分别被称作双向匹配(bilateral matching)及模板匹配(template matching)的情况。
[0183] 在第1图案匹配中,在不同的2个参照图片内的、沿着当前块的运动轨迹(motion trajectory)的2个块之间进行图案匹配。因而,在第1图案匹配中,作为上述的用于候选的评价值的计算的规定区域,使用沿着当前块的运动轨迹的其他参照图片内的区域。
[0184] 图6是用来说明沿着运动轨迹的2个块间的图案匹配(双向匹配)的一例的图。如图6所示,在第1图案匹配中,通过在沿着当前块(Cur block)的运动轨迹的2个块、且不同的2个参照图片(Ref0,Ref1)内的2个块的对之中搜索最匹配的对,导出2个运动矢量(MV0,MV1)。具体而言,对于当前块,导出由候选MV指定的第1已编码参照图片(Ref0)内的指定位置处的重构图像、与由将上述候选MV以显示时间间隔进行缩放后的对称MV指定的第2已编码参照图片(Ref1)内的指定位置处的重构图像的差分,使用所得到的差分值计算评价值。
可以在多个候选MV之中选择评价值为最好的值的候选MV作为最终MV。
[0185] 在连续性的运动轨迹的假定下,指示2个参照块的运动矢量(MV0,MV1)相对于当前图片(Cur Pic)与2个参照图片(Ref0,Ref1)之间的时间上的距离(TD0,TD1)成比例。例如,在当前图片在时间上位于2个参照图片之间、从当前图片向2个参照图片的时间上的距离相等的情况下,在第1图案匹配中,导出镜像对称的双方向的运动矢量。
[0186] 在第2图案匹配中,在当前图片内的模板(在当前图片内与当前块相邻的块(例如上及/或左相邻块))与参照图片内的块之间进行图案匹配。因而,在第2图案匹配中,作为上述的用于候选的评价值的计算的规定区域,使用当前图片内的与当前块相邻的块。
[0187] 图7是用来说明当前图片内的模板与参照图片内的块之间的图案匹配(模板匹配)的一例的图。如图7所示,在第2图案匹配中,通过在参照图片(Ref0)内搜索与在当前图片(Cur Pic)内相邻于当前块(Cur block)的块最匹配的块,导出当前块的运动矢量。具体而言,对于当前块,导出左相邻及上相邻的双方或某一方的已编码区域的重构图像与由候选MV指定的已编码参照图片(Ref0)内的同等位置处的重构图像的差分,使用所得到的差分值计算评价值,在多个候选MV之中选择评价值为最好的值的候选MV作为最佳候选MV。
[0188] 这样的表示是否采用FRUC模式的信息(例如称作FRUC标志)以CU级被信号化。此外,在采用FRUC模式的情况下(例如FRUC标志为真的情况下),表示图案匹配的方法(第1图案匹配或第2图案匹配)的信息(例如称作FRUC模式标志)以CU级被信号化。另外,这些信息的信号化并不需要限定于CU级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级、CTU级或子块级)。
[0189] 这里,说明基于假定了等速直线运动的模型来导出运动矢量的模式。该模式有被称作BIO(bi-directional optical flow,双向光流)的情况。
[0190] 图8是用来说明假定了等速直线运动的模型的图。在图8中,(vx,vy)表示速度矢量,τ0、τ1分别表示当前图片(Cur Pic)与2个参照图片(Ref0,Ref1)之间的时间上的距离。(MVx0,MVy0)表示与参照图片Ref0对应的运动矢量,(MVx1,MVy1)表示与参照图片Ref1对应的运动矢量。
[0191] 此时,在速度矢量(vx,vy)的等速直线运动的假定下,(MVx0,MVy0)及(MVx1,MVy1)分别被表示为(vxτ0,vyτ0)及(-vxτ1,-vyτ1),以下的光流(optical flow)等式(1)成立。
[0192] [数式1]
[0193]
[0194] 这里,I(k)表示运动补偿后的参照图像k(k=0、1)的亮度值。该光流等式表示(i)亮度值的时间微分、(ii)水平方向的速度及参照图像的空间梯度的水平成分的积、以及(iii)垂直方向的速度及参照图像的空间梯度的垂直成分的积的和等于零。基于该光流等式与埃尔米特内插值(Hermite interpolation)的组合,对从合并列表等得到的块单位的运动矢量以像素单位进行修正。
[0195] 另外,也可以通过与基于假定了等速直线运动的模型的运动矢量的导出不同的方法,在解码装置侧导出运动矢量。例如,也可以基于多个相邻块的运动矢量,以子块单位导出运动矢量。
[0196] 这里,对基于多个相邻块的运动矢量以子块单位导出运动矢量的模式进行说明。该模式有被称作仿射运动补偿预测(affine motion compensation prediction)模式的情况。
[0197] 图9A是用来说明基于多个相邻块的运动矢量进行的子块单位的运动矢量的导出的图。在图9A中,当前块包括16个4×4子块。这里,基于相邻块的运动矢量,导出当前块的左上角控制点的运动矢量v0,基于相邻子块的运动矢量,导出当前块的右上角控制点的运动矢量v1。并且,使用2个运动矢量v0及v1,通过以下的式(2),导出当前块内的各子块的运动矢量(vx,vy)。
[0198] [数式2]
[0199]
[0200] 这里,x及y分别表示子块的水平位置及垂直位置,w表示预先设定的权重系数。
[0201] 在这样的仿射运动补偿预测模式中,也可以包括左上及右上角控制点的运动矢量的导出方法不同的若干模式。表示这样的仿射运动补偿预测模式的信息(例如称作仿射标志)以CU级被信号化。另外,表示该仿射运动补偿预测模式的信息的信号化并不需要限定于CU级,也可以是其他级(例如,序列级、图片级、切片级、瓦片级、CTU级或子块级)。
[0202] [预测控制部]
[0203] 预测控制部128选择帧内预测信号及帧间预测信号中的某一个,将所选择的信号作为预测信号,向减法部104及加法部116输出。
[0204] 这里,说明通过合并模式导出编码对象图片的运动矢量的例子。图9B是用来说明基于合并模式的运动矢量导出处理的概要的图。
[0205] 首先,生成登记有预测MV的候选的预测MV列表。作为预测MV的候选,有在空间上位于编码对象块的周边的多个已编码块所具有的MV即空间相邻预测MV、将已编码参照图片中的编码对象块的位置投影的近旁的块所具有的MV即时间相邻预测MV、将空间相邻预测MV与时间相邻预测MV的MV值组合而生成的MV即结合预测MV、以及值为零的MV即零预测MV等。
[0206] 接着,通过从登记在预测MV列表中的多个预测MV之中选择1个预测MV,决定为编码对象块的MV。
[0207] 进而,在可变长编码部中,将作为表示选择了哪个预测MV的信号的merge_idx记述在流中并编码。
[0208] 另外,在图9B中说明的预测MV列表中登记的预测MV是一例,也可以是与图中的个数不同的个数、或者是不包含图中的预测MV的一部分种类的结构、或者是追加了图中的预测MV的种类以外的预测MV的结构。
[0209] 另外,也可以使用通过合并模式导出的编码对象块的MV进行后述的DMVR处理,从而决定最终的MV。
[0210] 这里,对使用DMVR处理决定MV的例子进行说明。
[0211] 图9C是用来说明DMVR处理的概要的概念图。
[0212] 首先,将对处理对象块设定的最优MVP作为候选MV,按照上述候选MV,从作为L0方向的已处理图片的第1参照图片及作为L1方向的已处理图片的第2参照图片分别取得参照像素,通过取各参照像素的平均来生成模板。
[0213] 接着,使用上述模板,分别搜索第1参照图片及第2参照图片的候选MV的周边区域,将成本最小的MV决定为最终的MV。另外,关于成本值,使用模板的各像素值与搜索区域的各像素值的差分值及MV值等来计算。
[0214] 另外,在编码装置及解码装置中,这里说明的处理的概要基本上是共通的。
[0215] 另外,即使不是这里说明的处理本身,只要是能够搜索候选MV的周边并导出最终的MV的处理,也可以使用其他处理。
[0216] 这里,对使用LIC处理生成预测图像的模式进行说明。
[0217] 图9D是用来说明使用基于LIC处理的亮度修正处理的预测图像生成方法的概要的图。
[0218] 首先,导出用来从作为已编码图片的参照图片取得与编码对象块对应的参照图像的MV。
[0219] 接着,对于编码对象块,使用左相邻及上相邻的已编码周边参照区域的亮度像素值和由MV指定的参照图片内的同等位置处的亮度像素值,提取表示在参照图片和编码对象图片中亮度值怎样变化的信息,计算亮度修正参数。
[0220] 通过使用上述亮度修正参数对由MV指定的参照图片内的参照图像进行亮度修正处理,生成对于编码对象块的预测图像。
[0221] 另外,图9D中的上述周边参照区域的形状是一例,也可以使用其以外的形状。
[0222] 此外,这里对根据1张参照图片生成预测图像的处理进行了说明,但在根据多张参照图片生成预测图像的情况下也是同样的,在对从各个参照图片取得的参照图像以同样的方法进行亮度修正处理后生成预测图像。
[0223] 作为是否采用LIC处理的判定的方法,例如有使用作为表示是否采用LIC处理的信号的lic_flag的方法。作为具体的一例,在编码装置中,判定编码对象块是否属于发生了亮度变化的区域,在属于发生了亮度变化的区域的情况下,作为lic_flag而设定值1,采用LIC处理进行编码,在不属于发生了亮度变化的区域的情况下,作为lic_flag而设定值0,不采用LIC处理而进行编码。另一方面,在解码装置中,通过将记述在流中的lic_flag解码,根据其值切换是否采用LIC处理而进行解码。
[0224] 作为是否采用LIC处理的判定的其他方法,例如还有按照在周边块是否采用了LIC处理来判定的方法。作为具体的一例,在编码对象块是合并模式的情况下,判定在合并模式处理中的MV的导出时所选择的周边的已编码块是否采用LIC处理进行了编码,根据其结果,切换是否采用LIC处理而进行编码。另外,在该例的情况下,解码中的处理也完全同样。
[0225] [解码装置的概要]
[0226] 接着,对能够将从上述编码装置100输出的编码信号(编码比特流)进行解码的解码装置的概要进行说明。图10是表示有关实施方式1的解码装置200的功能结构的框图。解码装置200是将运动图像/图像以块单位进行解码的运动图像/图像解码装置。
[0227] 如图10所示,解码装置200具备熵解码部202、逆量化部204、逆变换部206、加法部208、块存储器210、循环滤波部212、帧存储器214、帧内预测部216、帧间预测部218和预测控制部220。
[0228] 解码装置200例如由通用处理器及存储器实现。在此情况下,当由处理器执行了保存在存储器中的软件程序时,处理器作为熵解码部202、逆量化部204、逆变换部206、加法部208、循环滤波部212、帧内预测部216、帧间预测部218及预测控制部220发挥功能。此外,解码装置200也可以作为与熵解码部202、逆量化部204、逆变换部206、加法部208、循环滤波部
212、帧内预测部216、帧间预测部218及预测控制部220对应的专用的1个以上的电子电路实现。
[0229] 以下,对解码装置200中包含的各构成要素进行说明。
[0230] [熵解码部]
[0231] 熵解码部202对编码比特流进行熵解码。具体而言,熵解码部202例如从编码比特流算数解码为二值信号。接着,熵解码部202将二值信号进行多值化(debinarize)。由此,熵解码部202以块单位将量化系数向逆量化部204输出。
[0232] [逆量化部]
[0233] 逆量化部204对作为来自熵解码部202的输入的解码对象块(以下称作当前块)的量化系数进行逆量化。具体而言,逆量化部204对于当前块的量化系数,分别基于与该量化系数对应的量化参数,对该量化系数进行逆量化。并且,逆量化部204将当前块的逆量化后的量化系数(即变换系数)向逆变换部206输出。
[0234] [逆变换部]
[0235] 逆变换部206通过对作为来自逆量化部204的输入的变换系数进行逆变换,将预测误差复原。
[0236] 例如在从编码比特流读解出的信息表示采用EMT或AMT的情况下(例如AMT标志是真),逆变换部206基于读解出的表示变换类型的信息,对当前块的变换系数进行逆变换。
[0237] 此外,例如在从编码比特流读解出的信息表示采用NSST的情况下,逆变换部206对变换系数应用逆再变换。
[0238] [加法部]
[0239] 加法部208通过将作为来自逆变换部206的输入的预测误差与作为来自预测控制部220的输入的预测样本相加,重构当前块。并且,加法部208将重构的块向块存储器210及循环滤波部212输出。
[0240] [块存储器]
[0241] 块存储器210是用来将作为在帧内预测中参照的、解码对象图片(以下称作当前图片)内的块进行保存的存储部。具体而言,块存储器210保存从加法部208输出的重构块。
[0242] [循环滤波部]
[0243] 循环滤波部212对由加法部208重构的块施以循环滤波,将滤波后的重构块向帧存储器214及显示装置等输出。
[0244] 在从编码比特流读解出的表示ALF的开启/关闭的信息表示ALF的开启的情况下,基于局部性的梯度的方向及活性度从多个滤波器之中选择1个滤波器,对所重构块应用选择的滤波器。
[0245] [帧存储器]
[0246] 帧存储器214是用来将在帧间预测中使用的参照图片进行保存的存储部,也有称作帧缓冲器的情况。具体而言,帧存储器214保存由循环滤波部212滤波后的重构块。
[0247] [帧内预测部]
[0248] 帧内预测部216基于从编码比特流读解出的帧内预测模式,参照保存在块存储器210中的当前图片内的块进行帧内预测,由此生成预测信号(帧内预测信号)。具体而言,帧内预测部216通过参照与当前块相邻的块的样本(例如亮度值、色差值)进行帧内预测,由此生成帧内预测信号,将帧内预测信号向预测控制部220输出。
[0249] 另外,在色差块的帧内预测中选择了参照亮度块的帧内预测模式的情况下,帧内预测部216也可以基于当前块的亮度成分来预测当前块的色差成分。
[0250] 此外,在从编码比特流读解出的信息表示PDPC的采用的情况下,帧内预测部216基于水平/垂直方向的参照像素的梯度,对帧内预测后的像素值进行修正。
[0251] [帧间预测部]
[0252] 帧间预测部218参照保存在帧存储器214中的参照图片,预测当前块。预测以当前块或当前块内的子块(例如4×4块)的单位进行。例如,帧间预测部218使用从编码比特流读解出的运动信息(例如运动矢量)进行运动补偿,由此生成当前块或子块的帧间预测信号,将帧间预测信号向预测控制部220输出。
[0253] 另外,在从编码比特流读解出的信息表示采用OBMC模式的情况下,帧间预测部218不仅使用通过运动估计得到的当前块的运动信息,还使用相邻块的运动信息来生成帧间预测信号。
[0254] 此外,在从编码比特流读解出的信息表示采用FRUC模式的情况下,帧间预测部218按照从编码流读解出的图案匹配的方法(双向匹配或模板匹配)进行运动估计,由此导出运动信息。并且,帧间预测部218使用所导出的运动信息进行运动补偿。
[0255] 此外,帧间预测部218在应用BIO模式的情况下,基于假定了等速直线运动的模型导出运动矢量。此外,在从编码比特流读解出的信息表示采用仿射运动补偿预测模式的情况下,帧间预测部218基于多个相邻块的运动矢量以子块单位导出运动矢量。
[0256] [预测控制部]
[0257] 预测控制部220选择帧内预测信号及帧间预测信号中的任一个,将所选择的信号作为预测信号,向加法部208输出。
[0258] [比较例]
[0259] 在说明有关本实施方式的画面间预测处理之前,说明不使用本实施方式的方法的情况下的画面间预测处理的例子。
[0260] 首先,对比较例1进行说明。图11是有关比较例1的运动图像编码方法以及运动图像解码方法中的预测块单位的画面间预测处理的流程图。图11所示的处理以画面间预测处理的处理单位即预测块单位反复进行。另外,以下,主要说明编码装置100中包含的帧间预测部126的动作,但解码装置200中包含的帧间预测部218的动作也同样。
[0261] 在FRUC控制信息表示0的情况下(S101:0),帧间预测部126按照通常画面间预测方式以预测块单位导出运动矢量(MV)(S102)。这里,通常画面间预测方式是指不使用FRUC方式的以往的方式,例如是在编码侧导出运动矢量,将表示所导出的运动矢量的信息从编码侧向解码侧传送的方式。
[0262] 接着,帧间预测部126使用预测块单位的运动矢量以预测块单位进行运动补偿,由此取得画面间预测图像(S103)。
[0263] 另一方面,在FRUC控制信息表示1的情况下(S101:1),帧间预测部126按照模板FRUC方式以预测块单位导出运动矢量(S104)。然后,帧间预测部126以分割了预测块的子块单位,按照模板FRUC方式导出运动矢量(S105)。
[0264] 另一方面,在FRUC控制信息表示2的情况下(S101:2),帧间预测部126按照双向FRUC方式以预测块单位导出运动矢量(S106)。然后,帧间预测部126以分割了预测块的子块单位,按照双向FRUC方式导出运动矢量(S107)。
[0265] 然后,帧间预测部126按照模板FRUC方式或双向FRUC方式导出子块单位的运动矢量后,使用所导出的子块单位的运动矢量,以子块单位进行运动补偿,由此取得画面间预测图像(S108)。
[0266] 这样,在FRUC处理中,通过在以块单位导出运动矢量后,以子块单位进行运动矢量的修正,能够追踪细微的运动。由此,能够实现编码效率的提高。另一方面,存在不能以像素单位充分地应对发生变形的块的可能性。
[0267] 接着,对比较例2进行说明。图12是有关比较例2的运动图像编码方法以及运动图像解码方法中的预测块单位的画面间预测处理的流程图。在比较例2中,使用BIO处理作为运动补偿处理。即,图12所示的处理相对于图11所示的处理,步骤S103以及S108变更为步骤S103A以及S108A。
[0268] 在FRUC控制信息表示0的情况下(S101:0),帧间预测部126按照通常画面间预测方式以预测块单位导出运动矢量(S102)。接着,帧间预测部126使用预测块单位的运动矢量,进行基于预测块单位的BIO处理的运动补偿,由此取得画面间预测图像(S103A)。
[0269] 另一方面,在FRUC控制信息表示1的情况下(S101:1),帧间预测部126按照模板FRUC方式以预测块单位导出运动矢量(S104)。然后,帧间预测部126以分割了预测块的子块单位,按照模板FRUC方式导出运动矢量(S105)。
[0270] 另一方面,在FRUC控制信息表示2的情况下(S101:2),帧间预测部126按照双向FRUC方式以预测块单位导出运动矢量(S106)。然后,帧间预测部126以分割了预测块的子块单位,按照双向FRUC方式导出运动矢量(S107)。
[0271] 然后,帧间预测部126按照模板FRUC方式或双向FRUC方式导出子块单位的运动矢量后,使用所导出的子块单位的运动矢量,进行基于子块单位的BIO处理的运动补偿,由此取得画面间预测图像(S108A)。
[0272] 这样,在比较例2中,帧间预测部126通过在FRUC处理之后进行BIO处理,能够以像素单位进行预测图像的修正。由此,对于发生变形的块,也有可能提高编码效率。
[0273] 另一方面,由于进行FRUC处理和BIO处理这两者,因此存在处理量增加的问题。
[0274] 另外,在通常画面间预测方式中以预测块单位进行BIO处理,在FRUC方式中以子块单位进行BIO处理。这样,由于在通常画面间预测方式和FRUC方式中成为BIO处理的输入的运动矢量的单位不同,还存在需要安装2种BIO处理的功能的问题。
[0275] [画面间预测处理]
[0276] 说明有关本实施方式的帧间预测部126的画面间预测处理。帧间预测部126在画面间预测处理中,能够执行通常画面间预测方式和FRUC方式中的至少2种运动矢量导出方式。在通常画面间预测方式中,关于处理对象块的运动矢量的信息被编码为流。在FRUC方式中,关于处理对象块的运动矢量的信息不被编码为流,在编码侧和解码侧以共用的方法,使用已处理区域的重构图像以及已处理参照图片来导出运动矢量。
[0277] 帧间预测部126还对已处理参照图片按每个预测块使用运动矢量进行运动补偿来取得预测图像,并且通过取得亮度的梯度值来导出局部运动估计值,进行使用所导出的局部运动估计值来生成修正后的预测图像的BIO处理。帧间预测部126在FRUC方式中进行预测块单位的处理,导出预测块单位的运动矢量。另外,帧间预测部126在BIO处理中,在使用了任一个运动矢量导出方式的情况下都始终将预测块单位的运动矢量作为输入,使用预测块单位的共用的处理来生成预测图像。
[0278] 以下,说明有关本实施方式的基于帧间预测部126的画面间预测处理。图13是有关本实施方式的运动图像编码方法以及运动图像解码方法中的预测块单位的画面间预测处理的流程图。图13所示的处理以画面间预测处理的处理单位即预测块单位反复进行。另外,以下,主要说明编码装置100中包含的帧间预测部126的动作,但解码装置200中包含的帧间预测部218的动作也同样。
[0279] 在FRUC控制信息表示0的情况下(S101:0),与图12所示的处理同样,帧间预测部126按照通常画面间预测方式以预测块单位导出运动矢量(S102)。接着,帧间预测部126使用预测块单位的运动矢量,进行基于预测块单位的BIO处理的运动补偿,由此取得画面间预测图像(S103A)。
[0280] 另一方面,在FRUC控制信息表示1的情况下(S101:1),帧间预测部126按照模板FRUC方式以预测块单位导出运动矢量(S104)。另外,在FRUC控制信息表示2的情况下(S101:2),帧间预测部126按照双向FRUC方式以预测块单位导出运动矢量(S106)。此外,在图13所示的处理中,与图12所示的处理不同,帧间预测部126在使用FRUC方式的情况下不进行子块单位的运动矢量的导出。
[0281] 然后,帧间预测部126按照模板FRUC方式或双向FRUC方式导出预测块单位的运动矢量后,使用所导出的预测块单位的运动矢量,进行基于预测块单位的BIO处理的运动补偿,由此取得画面间预测图像(S103A)。
[0282] 这样,在本实施方式中,帧间预测部126在FRUC控制信息表示通常画面间预测方式、模板FRUC方式以及双向FRUC方式中的任一个的情况下,帧间预测部126都导出预测块单位的运动矢量。然后,帧间预测部126进行预测块单位的BIO处理。即,无论在哪种情况下,处理单位都是预测块单位,处理单位相同。
[0283] 此外,上述所示的FRUC控制信息的编号是一例,也可以使用除此以外的编号。另外,也可以仅使用模板FRUC方式以及双向FRUC方式中的一方。此外,能够在编码时和解码时使用共用的处理。
[0284] 这里,在图12所示的比较例2中,进行以子块单位进行运动矢量的修正的子块单位的FRUC处理和以像素单位进行预测图像的修正的BIO处理这两者。子块单位的FRUC处理和BIO处理都是以比预测块细小的单位进行修正的处理,具有同样的性质,其效果相似。在图13所示的处理中,将这些处理集约为BIO处理。另外,在图13所示的处理中,通过不进行处理量多的子块单位的FRUC处理,能够减少处理量。另外,对使用FRUC方式的情况下的BIO处理也从子块单位变更为预测块单位,能够减少处理量。
[0285] 这样,与图12所示的比较例2相比,图13所示的有关本实施方式的处理有可能抑制处理量的增加并且对发生变形的块也提高编码效率。
[0286] 此外,在图13所示的本实施方式的处理中,在FRUC控制信息为任一个值的情况下,都进行以预测块单位的运动矢量为输入的BIO处理,因此与图12所示的比较例2相比,不需要以子块单位的运动矢量作为输入的BIO处理。由此,能够实现安装的简化。
[0287] 另外,步骤S103A的BIO处理在多个运动矢量导出方式中不需要完全相同。即,在使用通常画面间预测方式的情况、使用模板FRUC方式的情况以及使用双向FRUC方式的情况中的任一个或者各自中,所使用的BIO处理也可以不同。
[0288] 另外,关于多个运动矢量导出方式中的至少任一个,也可以将步骤S103A的BIO处理置换为一边以像素单位或小于预测块的单位进行预测图像的修正一边生成预测图像的其他处理(包括BIO处理的变形例)。在该情况下,也能够将具有上述同样的性质的2个处理集约在1个处理中,因此,与比较例2相比,有可能在抑制处理量的增加的同时对发生变形的块也提高编码效率。
[0289] 另外,关于多个运动矢量导出方式中的至少一个,也可以将步骤S103A的BIO处理置换成一边将预测块单位的运动矢量作为输入进行预测图像的修正,一边生成预测图像的其他处理。在该情况下,也不需要上述以子块单位的运动矢量作为输入的处理,能够实现安装的简化。
[0290] 另外,也可以切换是否进行BIO处理。例如,也可以是,帧间预测部126在进行BIO处理的情况下,进行图13所示的处理,在不进行BIO处理的情况下,进行图11所示的处理。或者,帧间预测部126在不进行BIO处理的情况下,也可以与图13同样地不进行子块单位的运动矢量导出处理。即,帧间预测部126也可以进行将图13所示的步骤S108A的处理置换为不包含BIO处理的预测块单位的运动补偿处理的处理。
[0291] [画面间预测处理的变形例]
[0292] 以下,说明有关本实施方式的画面间预测处理的变形例。图14是有关本实施方式的变形例的运动图像编码方法以及运动图像解码方法中的画面间预测处理的流程图。图14所示的处理以画面间预测处理的处理单位即预测块单位反复进行。
[0293] 在FRUC控制信息表示0的情况下(S101:0),与图13所示的处理同样,帧间预测部126按照通常画面间预测方式以预测块单位导出运动矢量(S102)。接着,帧间预测部126使用预测块单位的运动矢量,进行基于预测块单位的BIO处理的运动补偿,由此取得画面间预测图像(S103A)。
[0294] 另外,在FRUC控制信息表示1的情况下(S101:1),与图13所示的处理同样,帧间预测部126按照模板FRUC方式以预测块单位导出运动矢量(S104)。接着,帧间预测部126使用预测块单位的运动矢量,进行基于预测块单位的BIO处理的运动补偿,由此取得画面间预测图像(S103A)。
[0295] 另一方面,在FRUC控制信息表示2的情况下(S101:2),帧间预测部126按照双向FRUC方式以预测块单位导出运动矢量(S106)。然后,帧间预测部126以分割了预测块的子块单位,按照双向FRUC方式导出运动矢量(S107)。
[0296] 接着,帧间预测部126使用所导出的子块单位的运动矢量,以子块单位进行运动补偿,由此取得画面间预测图像(S108)。另外,这里的运动补偿不是BIO处理而是通常的运动补偿。
[0297] 这样,在使用通常画面间预测方式的情况下(S101:0)和在使用模板FRUC方式的情况下(S101:1),帧间预测部126使用所导出的预测块单位的运动矢量,进行基于预测块单位的BIO处理的运动补偿,由此取得画面间预测图像。另一方面,在使用双向FRUC方式的情况下(S101:2),帧间预测部126通过进行使用了子块单位的运动矢量的、不应用BIO处理的通常的运动补偿,来取得画面间预测图像。
[0298] 此外,FRUC控制信息的编号是一例,也可以使用除此以外的编号。此外,在解码装置200中包含的帧间预测部218中,也进行与编码装置100中包含的帧间预测部126同样的处理。
[0299] 另外,这里,帧间预测部126在使用模板FRUC方式的情况下,以预测块单位导出运动矢量,进行预测块单位的BIO处理,在使用双向FRUC方式的情况下,以子块单位导出运动矢量,进行子块单位的通常的运动补偿处理,但也可以在使用双向FRUC方式的情况下,以预测块单位导出运动矢量,进行预测块单位的BIO处理,在使用模板FRUC方式的情况下,以子块单位导出运动矢量,进行子块单位的通常的运动补偿处理。
[0300] 另外,在模板FRUC方式和双向FRUC方式中,基于子块单位导出运动矢量的编码效率的改善效果,双向FRUC方式更大。因此,如图14所示,优选在双向FRUC方式中以子块单位导出运动矢量。
[0301] 另外,在图14中使用了模板FRUC方式和双向FRUC方式这两者,但也可以仅使用任一方。在该情况下,在使用该FRUC方式的情况下,帧间预测部126以子块单位导出运动矢量,进行通常的运动补偿处理。
[0302] 此外,步骤S103A的BIO处理在多个运动矢量导出方式中不需要完全相同。即,在使用通常画面间预测方式的情况和使用模板FRUC方式的情况下,所使用的BIO处理也可以不同。
[0303] 另外,关于多个运动矢量导出方式中的至少任一个,也可以将步骤S103A的BIO处理置换为以像素单位或小于预测块的单位进行预测图像的修正并生成预测图像的其他处理(包括BIO处理的变形例)。
[0304] 另外,关于多个运动矢量导出方式中的至少一个,也可以将步骤S103A的BIO处理置换成一边将预测块单位的运动矢量作为输入进行预测图像的修正,一边生成预测图像的其他处理。
[0305] 图14所示的处理在FRUC方式中,仅应用以子块单位进行运动矢量的修正的子块单位的FRUC处理和以像素单位进行预测图像的修正的BIO处理中的某一方。由此,图14所示的处理与图13所示的处理相比为大致同等的处理量,并且对于各FRUC方式而言能够使用相乘效果大的方法。因此,能够提高编码效率。
[0306] 如上所述,编码装置100进行图15所示的处理。另外,解码装置200中的处理也同样。编码装置100在第1动作模式中(S111中第1动作模式),通过第1画面间预测方式,以分割了运动图像中包含的图像的预测块单位导出第1运动矢量(S112),以预测块单位进行使用了导出的第1运动矢量的第1运动补偿处理(S113)。这里,第1运动补偿处理例如是BIO处理,是参照通过使用了导出的第1运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像的运动补偿处理。
[0307] 另外,编码装置100在第2动作模式中(S111中第2动作模式),通过第2画面间预测方式,以分割了预测块的子块单位导出第2运动矢量(S114),以子块单位进行使用了第2运动矢量的第2运动补偿处理(S115)。这里,第2运动补偿处理是指例如不应用BIO处理的运动补偿处理,是不参照通过使用了第2运动矢量的运动补偿而生成的图像中的亮度的空间梯度而生成预测图像的运动补偿处理。
[0308] 由此,编码装置100在第1动作模式中,通过以预测块单位进行运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。另外,编码装置100在第2动作模式中,以子块单位进行运动矢量的导出处理以及第2运动补偿处理。这里,第2运动补偿处理由于不参照亮度的空间梯度,与第1运动补偿处理相比,处理量少。进而,编码装置100通过具有这样的2个动作模式,能够提高编码效率。这样,编码装置100能够在抑制编码效率的降低的同时减少处理量。
[0309] 例如,第1画面间预测方式与第2画面间预测方式不同。具体而言,第2画面间预测方式是使用相互不同的2个图片内的2个区域的2个重构图像的适合程度的画面间预测方式,例如是FRUC方式。
[0310] 由此,能够以子块单位进行基于子块单位的运动矢量的计算的编码效率的提高效果大的画面间预测方式。因此,能够提高编码效率。
[0311] 例如,第1画面间预测方式是(1)使用与对象预测块相邻的对象图片内的区域的重构图像和参照图片内的区域的重构图像的适合程度的第3画面间预测方式(例如,模板FRUC方式)、和(2)使用相互不同的2个参照图片内的2个区域的2个重构图像的适合程度的第4画面间预测方式(例如,双向FRUC方式)中的一个,第2画面间预测方式是第3画面间预测方式和第4画面间预测方式中的另一个。
[0312] 例如,第1画面间预测方式是第3画面间预测方式(例如,模板FRUC方式),第2画面间预测方式是第4画面间预测方式(例如,双向FRUC方式)。
[0313] 由此,能够以子块单位进行基于子块单位的运动矢量的计算的编码效率的提高效果大的画面间预测方式。因此,能够提高编码效率。
[0314] 例如,第1画面间预测方式是使用对象预测块和参照图片中包含的区域的重构图像的适合程度的画面间预测方式(通常画面间预测方式),编码装置100生成包含用于确定导出的第1运动矢量的信息的编码比特流。此外,解码装置200在第1画面间预测方式中,从编码比特流取得用于以预测块单位确定第1运动矢量的信息,使用该信息导出第1运动矢量。
[0315] [模板FRUC方式以及双向FRUC方式]
[0316] 以下,说明按照模板FRUC方式或双向FRUC方式导出运动矢量的方法。导出块单位的运动矢量的方法和导出子块单位的运动矢量的方法基本相同。在下面的说明中,将导出块的运动矢量的方法以及导出子块的运动矢量的方法作为导出处理对象区域的运动矢量的方法进行说明。
[0317] 图16是表示在编码装置100及解码装置200中用于导出处理对象区域的运动矢量的模板FRUC方式的概念图。在模板FRUC方式中,不进行处理对象区域的运动矢量的信息的编码及解码,而在编码装置100与解码装置200之间使用共同的方法导出运动矢量。
[0318] 另外,在模板FRUC方式中,使用作为与处理对象区域相邻的区域的相邻区域的重构图像和作为参照图片中的区域的对应相邻区域的重构图像来导出运动矢量。
[0319] 这里,相邻区域是相对于处理对象区域而在左侧相邻的区域、以及在上方相邻的区域中的一方或者双方的区域。
[0320] 另外,对应相邻区域是使用作为处理对象区域的运动矢量的候选的候选运动矢量来指定的区域。具体而言,对应相邻区域是从相邻区域由候选运动矢量指示的区域。另外,对应相邻区域相对于从处理对象区域由候选运动矢量指示的对应区域的相对位置,与相邻区域相对于处理对象区域的相对位置相等。
[0321] 图17是表示在编码装置100以及解码装置200中用于导出处理对象区域的运动矢量的双向FRUC方式的概念图。在双向FRUC方式中,与模板FRUC方式同样,不进行处理对象区域的运动矢量的信息的编码及解码,而在编码装置100与解码装置200之间使用共通的方法导出运动矢量。
[0322] 另外,在双向FRUC方式中,使用2个参照图片中的2个区域的2个重构图像来导出运动矢量。例如,如图17所示,使用第1参照图片中的对应区域的重构图像和第2参照图片中的对称区域的重构图像来导出运动矢量。
[0323] 这里,对应区域以及对称区域分别是使用作为处理对象区域的运动矢量的候选的候选运动矢量来指定的区域。具体而言,对应区域是从处理对象区域由候选运动矢量指示的区域。对称区域是从处理对象区域由对称运动矢量指示的区域。对称运动矢量是构成双向预测的候选运动矢量的组的运动矢量。对称运动矢量也可以是通过对候选运动矢量进行缩放(scaling)而导出的运动矢量。
[0324] 图18是表示编码装置100的帧间预测部126按照模板FRUC方式或双向FRUC方式导出运动矢量的动作的流程图。解码装置200的帧间预测部218与编码装置100的帧间预测部126同样地动作。
[0325] 首先,帧间预测部126参照相对于处理对象区域在时间上或空间上的周边的1个以上的已处理区域各自的运动矢量,导出候选运动矢量。
[0326] 在双向FRUC方式中,这里,帧间预测部126导出双向预测的候选运动矢量。即,帧间预测部126导出候选运动矢量作为2个运动矢量的集合。
[0327] 具体而言,在双向FRUC方式中,在已处理区域的运动矢量是双向预测的运动矢量的情况下,帧间预测部126将双向预测的运动矢量直接作为双向预测的候选运动矢量导出。在已处理区域的运动矢量是单向预测的运动矢量的情况下,帧间预测部126也可以从单向预测的运动矢量由缩放等导出双向预测的运动矢量,由此导出双向预测的候选运动矢量。
[0328] 更具体而言,帧间预测部126在双向FRUC方式中,按照显示时间间隔对参照第1参照图片的运动矢量进行缩放,由此导出参照第2参照图片的运动矢量。由此,帧间预测部126将构成单向预测的运动矢量和缩放后的运动矢量的组的候选运动矢量作为双向预测的候选运动矢量导出。
[0329] 或者,在双向FRUC方式中,帧间预测部126也可以在已处理区域的运动矢量是双向预测的运动矢量的情况下,将已处理区域的运动矢量作为候选运动矢量导出。然后,在已处理区域的运动矢量是单向预测的运动矢量的情况下,帧间预测部126也可以不将已处理区域的运动矢量作为候选运动矢量导出。
[0330] 在模板FRUC方式中,无论已处理区域的运动矢量是双向预测的运动矢量还是单向预测的运动矢量,帧间预测部126都将已处理区域的运动矢量作为候选运动矢量导出。
[0331] 然后,帧间预测部126生成由候选运动矢量构成的候选运动矢量列表(S201)。这里,帧间预测部126在处理对象区域是子块的情况下,即导出子块单位的运动矢量的情况下,也可以将块单位的运动矢量作为候选运动矢量包含在候选运动矢量列表中。此时,帧间预测部126也可以将块单位的运动矢量作为最优先的候选运动矢量包含在候选运动矢量列表中。
[0332] 另外,在双向FRUC方式中,在块单位的运动矢量是单向预测的运动矢量的情况下,帧间预测部126也可以通过缩放等从单向预测的运动矢量导出双向预测的候选运动矢量。例如,帧间预测部126也可以与周边的运动矢量是单向预测的运动矢量的情况同样,通过缩放等从单向预测的运动矢量导出双向预测的候选运动矢量。
[0333] 然后,帧间预测部126也可以将从单向预测的运动矢量作为双向预测的候选运动矢量而导出的候选运动矢量包含在候选运动矢量列表中。
[0334] 或者,在双向FRUC方式中,帧间预测部126也可以在块单位的运动矢量是双向预测的运动矢量的情况下,将块单位的运动矢量作为候选运动矢量包含在候选运动矢量列表中。然后,帧间预测部126也可以在块单位的运动矢量是单向预测的运动矢量的情况下,不将块单位的运动矢量作为候选运动矢量包含在候选运动矢量列表中。
[0335] 然后,帧间预测部126从候选运动矢量列表中包含的1个以上的候选运动矢量中选择最佳候选运动矢量(S202)。此时,帧间预测部126对1个以上的候选运动矢量的每一个,按照2个评价对象区域的2个重构图像的适合程度,计算评价值。
[0336] 具体而言,在模板FRUC方式中,2个评价对象区域是图16那样的相邻区域以及对应相邻区域,在双向FRUC方式中,2个评价对象区域是图17那样的对应区域以及对称区域。如上所述,在模板FRUC方式中使用的对应相邻区域以及在双向FRUC方式中使用的对应区域和对称区域按照候选运动矢量来确定。
[0337] 例如,2个评价对象区域的2个重构图像的适合程度越高,帧间预测部126计算出越好的评价值。具体而言,帧间预测部126导出2个评价对象区域的2个重构图像的差分值。然后,帧间预测部126使用差分值来计算评价值。例如,差分值越小,帧间预测部126计算越好的评价值。
[0338] 另外,在评价值的计算中,不仅可以使用差分值,也可以使用其他信息。即,帧间预测部126可以使用差分值以及其他信息来计算评价值。例如,1个以上的候选运动矢量的优先顺序、以及基于优先顺序的编码量等也可以给评价值带来影响。
[0339] 然后,帧间预测部126从1个以上的候选运动矢量中选择评价值最高的候选运动矢量作为最佳候选运动矢量。
[0340] 然后,帧间预测部126通过搜索最佳候选运动矢量的周边,导出处理对象区域的运动矢量(S203)。
[0341] 即,帧间预测部126对指示由最佳候补运动矢量指示的区域的周边的区域的运动矢量,同样地计算评价值。然后,帧间预测部126在存在评价值比最佳候选运动矢量好的运动矢量的情况下,利用评价值比最佳候选运动矢量好的运动矢量来更新最佳候选运动矢量。然后,帧间预测部126导出更新后的最佳候选运动矢量作为处理对象区域的最终的运动矢量。
[0342] 此外,帧间预测部126也可以不进行搜索最佳候选运动矢量的周边的处理(S203),导出最佳候选运动矢量作为处理对象区域的最终的运动矢量。另外,最佳候选运动矢量不限于评价值最好的候选运动矢量。也可以将评价值为基准以上的1个以上的候选运动矢量中的1个按照规定的优先顺序选择为最佳候选运动矢量。
[0343] 另外,这里,与处理对象区域以及已处理区域关联的处理例如是编码或解码的处理。更具体而言,与处理对象区域以及已处理区域关联的处理也可以是导出运动矢量的处理。或者,与处理对象区域以及已处理区域关联的处理也可以是重构的处理。
[0344] [BIO处理]
[0345] 图19是表示编码装置100及解码装置200中的BIO处理的概念图。在BIO处理中,参照通过使用处理对象块的运动矢量进行处理对象块的运动补偿而得到的图像中的亮度的空间梯度来生成处理对象块的预测图像。
[0346] 在BIO处理之前,导出作为处理对象块的2个运动矢量的L0运动矢量(MV_L0)及L1运动矢量(MV_L1)。L0运动矢量(MV_L0)是用于参照作为已处理图片的L0参照图片的运动矢量,并且L1运动矢量(MV_L1)是用于参照作为已处理图片的L1参照图片的运动矢量。L0参照图片及L1参照图片是在处理对象块的双预测处理中同时参照的2个参照图片。
[0347] 作为用于导出L0运动矢量(MV_L0)及L1运动矢量(MV_L1)的方法,可以使用通常画面间预测模式、合并模式或FRUC模式等。例如,在通常画面间预测模式中,在编码装置100中,通过使用处理对象块的图像进行运动检测来导出运动矢量,对运动矢量的信息进行编码。此外,在通常画面间预测模式中,在解码装置200中,通过对运动矢量的信息进行解码来导出运动矢量。
[0348] 然后,在BIO处理中,参照L0参照图片,使用L0运动矢量(MV_L0)进行处理对象块的运动补偿,由此取得L0预测图像。例如,也可以通过对L0参照像素范围的图像应用运动补偿滤波来取得L0预测图像,该L0参照像素范围包含通过L0运动矢量(MV_L0)从处理对象块在L0参照图片中指示的块及其周边。
[0349] 另外,取得表示L0预测图像的各像素中的亮度的空间梯度的L0梯度图像。例如,参照L0参照像素范围中的各像素的亮度来取得L0梯度图像,该L0参照像素范围包含通过L0运动矢量(MV_L0)从处理对象块在L0参照图片中指示的块及其周边。
[0350] 另外,参照L1参照图片,使用L1运动矢量(MV_L1)进行处理对象块的运动补偿,由此取得L1预测图像。例如,可以通过对L1参照像素范围的图像应用运动补偿滤波来取得L1预测图像,该L1参照像素范围包含通过L1运动矢量(MV_L1)从处理对象块在L1参照图片中指示的块及其周边。
[0351] 另外,取得表示L1预测图像的各像素中的亮度的空间梯度的L1梯度图像。例如,参照L1参照像素范围中的各像素的亮度来取得L1梯度图像,该L1参照像素范围包含通过L1运动矢量(MV_L1)从处理对象块在L1参照图片中指示的块及其周边。
[0352] 然后,对于处理对象块的各像素导出局部运动估计值。具体而言,此时,使用在L0预测图像中对应的像素位置的像素值、在L0梯度图像中对应的像素位置的梯度值、在L1预测图像中对应的像素位置的像素值、以及在L1梯度图像中对应的像素位置的梯度值。局部运动估计值也可以被称为修正运动矢量(修正MV)。
[0353] 然后,对于处理对象块的各像素,使用在L0梯度图像中对应的像素位置的梯度值、在L1梯度图像中对应的像素位置的梯度值、以及局部运动估计值,导出像素修正值。然后,对于处理对象块的各像素,使用L0预测图像中对应的像素位置的像素值、L1预测图像中对应的像素位置的像素值、以及像素修正值,导出预测像素值。由此,导出应用了BIO处理的预测图像。
[0354] 即,通过像素修正值修正由在L0预测图像中对应的像素位置的像素值及在L1预测图像中对应的像素位置的像素值得到的预测像素值。换言之,使用L0预测图像及L1预测图像中的亮度的空间梯度修正由L0预测图像和L1预测图像取得的预测图像。
[0355] 图20是表示编码装置100的画面间预测部126作为BIO处理进行的动作的流程图。解码装置200的画面间预测部218与编码装置100的画面间预测部126同样地动作。
[0356] 首先,画面间预测部126由L0运动矢量(MV_L0)参照L0参照图片,取得L0预测图像(S401)。然后,画面间预测部126由L0运动矢量参照L0参照图片,取得L0梯度图像(S402)。
[0357] 同样地,画面间预测部126通过L1运动矢量(MV_L1)参照L1参照图片,取得L1预测图像(S401)。然后,画面间预测部126通过L1运动矢量参照L1参照图片,取得L1梯度图像(S402)。
[0358] 接着,对于处理对象块的各像素,画面间预测部126导出局部运动估计值(S411)。此时,使用在L0预测图像中对应的像素位置的像素值、在L0梯度图像中对应的像素位置的梯度值、在L1预测图像中对应的像素位置的像素值、以及在L1梯度图像中对应的像素位置的梯度值。
[0359] 然后,对于处理对象块的各像素,画面间预测部126使用在L0梯度图像中对应的像素位置的梯度值、在L1梯度图像中对应的像素位置的梯度值、以及局部运动估计值,导出像素修正值。然后,对于处理对象块的各像素,画面间预测部126使用L0预测图像中对应的像素位置的像素值、L1预测图像中对应的像素位置的像素值、以及像素修正值,导出预测像素值(S412)。
[0360] 通过上述动作,画面间预测部126生成应用了BIO处理的预测图像。
[0361] 另外,在局部运动估计值及像素修正值的导出中,具体而言,也可以使用以下的式(3)。
[0362] 【数式3】
[0363]
[0364] 在式(3)中,Ix0[x,y]是L0梯度图像的像素位置[x,y]中的水平方向的梯度值。Ix1[x,y]是在L1梯度图像的像素位置[x,y]中的水平方向的梯度值。Iy0[x,y]是L0梯度图像的像素位置[x,y]中的垂直方向的梯度值。Iy1[x,y]是在L1梯度图像的像素位置[x,y]中的垂直方向的梯度值。
[0365] 另外,在式(3)中,I0[x,y]是L0预测图像的像素位置[x,y]中的像素值。I1[x,y]是L1预测图像的像素位置[x,y]中的像素值。ΔI[x,y]是L0预测图像的像素位置[x,y]中的像素值与L1预测图像的像素位置[x,y]中的像素值的差分。
[0366] 另外,在式(3)中,Ω例如是在中心具有像素位置[x,y]的区域中包含的像素位置的集合。w[i,j]是相对于像素位置[i,j]的权重系数。w[i,j]可以使用相同的值。Gx[x,y]、Gy[x,y]、GxGy[x,y]、sGxGy[x,y]、sGx2[x,y]、sGy2[x,y]、sGxdI[x,y]及sGydI[x,y]等是辅助计算值。
[0367] 另外,在式(3)中,u[x,y]是构成像素位置[x,y]中的局部运动估计值的水平方向的值。v[x,y]是构成像素位置[x,y]中的局部运动估计值的垂直方向的值。b[x,y]是像素位置[x,y]中的像素修正值。p[x,y]是像素位置[x,y]中的预测像素值。
[0368] 另外,在上述的说明中,画面间预测部126按每个像素导出局部运动估计值,但也可以按比像素粗大且比处理对象块精细的图像数据单位即子块导出局部运动估计值。
[0369] 例如,在上述的式(3)中,Ω也可以是子块所包含的像素位置的集合。并且,也可以不是按每个像素而是按每个子块计算sGxGy[x,y]、sGx2[x,y]、sGy2[x,y]、sGxdI[x,y]、sGydI[x,y]、u[x,y]及v[x,y]。
[0370] 另外,编码装置100及解码装置200能够应用共用的BIO处理。即,编码装置100及解码装置200能够以相同的方法应用BIO处理。
[0371] [编码装置的安装例]
[0372] 图21是表示有关实施方式1的编码装置100的安装例的框图。编码装置100具备电路160及存储器162。例如,图1及图11所示的编码装置100的多个构成要素由图21所示的电路160及存储器162实现。
[0373] 电路160是进行信息处理的电路,是可访问存储器162的电路。例如,电路160是对运动图像进行编码的专用或通用的电子电路。电路160也可以是CPU那样的处理器。另外,电路160也可以是多个电子电路的集合体。另外,例如,电路160也可以起到图1等所示的编码装置100的多个构成要素中除了用于存储信息的构成要素以外的多个构成要素的作用。
[0374] 存储器162是存储电路160对运动图像进行编码用的信息的专用或通用的存储器。存储器162既可以是电子电路,也可以与电路160连接。另外,存储器162也可以包含在电路
160中。另外,存储器162也可以是多个电子电路的集合体。另外,存储器162既可以是磁盘或者光盘等,也可以表现为存储器(storage)或者记录介质等。另外,存储器162既可以是非易失性存储器,也可以是易失性存储器。
[0375] 例如,存储器162可以存储被编码的运动图像,也可以存储与被编码后的运动图像对应的比特串。另外,在存储器162中也可以存储电路160对运动图像进行编码用的程序。
[0376] 另外,例如,存储器162也可以起到图1等所示的编码装置100的多个构成要素中用于存储信息的构成要素的作用。具体而言,存储器162可以起到图1所示的块存储器118及帧存储器122的作用。更具体而言,存储器162可以存储已重构的块及已重构的图片等。
[0377] 另外,在编码装置100中,可以不安装图1等所示的多个构成要素的全部,也可以不进行上述的多个处理的全部。图1等所示的多个构成要素的一部分可以包含于其他装置,也可以由其他装置执行上述的多个处理的一部分。并且,在编码装置100中,安装图1等所示的多个构成要素中的一部分,通过进行上述的多个处理的一部分,高效地进行运动补偿。
[0378] 具体而言,编码装置100以分割了运动图像中包含的图像的预测块单位,通过使用相互不同的2个图片内的2个区域的2个重构图像的适合程度的第1画面间预测方式导出第1运动矢量(图13的S104或S106)。这里,第1画面间预测方式是指例如上述的FRUC方式。具体而言,第1画面间预测方式包括模板FRCU方式以及双向FRUC方式中的至少一方。即,第1画面间预测方式中的上述2个区域是(1)与对象预测块相邻的对象图片内的区域和参照图片内的区域、或者(2)相互不同的2个参照图片内的2个区域。
[0379] 换言之,第1画面间预测方式是指在编码侧和解码侧通过相同的方法导出运动矢量的方式。此外,在第1画面间预测方式中,表示运动矢量的信息不被发信号(singalling)给编码流,不从编码侧传送到解码侧。此外,在第1画面间预测方式中,编码装置100使用已编码的预测块的像素值,且不使用对象预测块的像素值来导出运动矢量。
[0380] 接着,编码装置100进行第1运动补偿处理,该第1运动补偿处理以预测块为单位,参照通过使用了导出的第1运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像(图13的S103A)。这里,第1运动补偿处理是指例如上述的BIO处理,包括使用了亮度梯度的修正。此外,在第1运动补偿处理中,以比预测块细小的单位(例如,像素单位或块单位)进行预测图像的修正。另外,在第1运动补偿处理中,使用由运动矢量表示的参照图片内的区域和该区域的周边的像素来生成预测图像。
[0381] 由此,编码装置100通过以预测块单位进行基于第1画面间预测方式的运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于包括使用了亮度梯度的修正的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。因此,编码装置100能够在抑制编码效率的降低的同时减少处理量。
[0382] 另外,编码装置100以预测块单位,通过使用对象预测块和参照图片中包含的区域的重构图像的适合程度的第2画面间预测方式导出第2运动矢量(图13的S102)。然后,编码装置100生成包含用于确定第2运动矢量的信息的编码比特流。
[0383] 这里,第2画面间预测方式是指例如上述的通常画面间预测方式。换言之,第2画面间预测方式是指在编码侧和解码侧通过不同的方法导出运动矢量的方式。具体而言,编码装置100使用已编码的预测块的像素值和对象预测块的像素值来导出运动矢量。然后,编码装置100将表示导出的运动矢量的信息发信号给编码流。由此,表示由编码装置100导出的运动矢量的信息从编码装置100传送到解码装置200。解码装置200使用编码流中包含的该信息导出运动矢量。
[0384] 接着,编码装置100进行第2运动补偿处理,该第2运动补偿处理以预测块单位,参照通过使用了导出的第2运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像(图13的S103A)。这里,第2运动补偿处理是指例如上述的BIO处理,包括使用了亮度梯度的修正。此外,在第2运动补偿处理中,以比预测块细小的单位(例如,像素单位或块单位)进行预测图像的修正。另外,在第2运动补偿处理中,使用由运动矢量表示的参照图片内的区域和该区域的周边的像素来生成预测图像。
[0385] 另外,第2运动补偿处理可以是与第1运动补偿处理相同的处理,也可以是一部分不同的处理。
[0386] 由此,在使用第1画面间预测方式的情况和使用第2画面间预测方式的情况下,能够使运动补偿处理的处理单位相同。由此,能够使运动补偿处理的安装容易化。
[0387] 另外,编码装置100在第1动作模式中(S111中第1动作模式)、通过第1画面间预测方式,以分割了运动图像中包含的图像的预测块单位导出第1运动矢量(S112),以预测块单位进行使用了导出的第1运动矢量的第1运动补偿处理(S113)。这里,第1运动补偿处理例如是BIO处理,是参照通过使用了导出的第1运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像的运动补偿处理。
[0388] 另外,编码装置100在第2动作模式中(S111中第2动作模式),通过第2画面间预测方式,以分割了预测块的子块单位导出第2运动矢量(S114),以子块单位进行使用了第2运动矢量的第2运动补偿处理(S115)。这里,第2运动补偿处理是指例如不应用BIO处理的运动补偿处理,是不参照通过使用了第2运动矢量的运动补偿而生成的图像中的亮度的空间梯度而生成预测图像的运动补偿处理。
[0389] 由此,编码装置100在第1动作模式中,通过以预测块单位进行运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。另外,编码装置100在第2动作模式中,以子块单位进行运动矢量的导出处理以及第2运动补偿处理。这里,第2运动补偿处理由于不参照亮度的空间梯度,与第1运动补偿处理相比,处理量少。进而,编码装置100通过具有这样的2个动作模式,能够提高编码效率。这样,编码装置100能够在抑制编码效率的降低的同时减少处理量。
[0390] 例如,第1画面间预测方式与第2画面间预测方式不同。具体而言,第2画面间预测方式是使用相互不同的2个图片内的2个区域的2个重构图像的适合程度的画面间预测方式,例如是FRUC方式。
[0391] 由此,能够以子块单位进行基于子块单位的运动矢量的计算的编码效率的提高效果大的画面间预测方式。因此,能够提高编码效率。
[0392] 例如,第1画面间预测方式是(1)使用与对象预测块相邻的对象图片内的区域的重构图像和参照图片内的区域的重构图像的适合程度的第3画面间预测方式(例如,模板FRUC方式)、和(2)使用相互不同的2个参照图片内的2个区域的2个重构图像的适合程度的第4画面间预测方式(例如,双向FRUC方式)中的一个,第2画面间预测方式是第3画面间预测方式和第4画面间预测方式中的另一个。
[0393] 例如,第1画面间预测方式是第3画面间预测方式(例如,模板FRUC方式),第2画面间预测方式是第4画面间预测方式(例如,双向FRUC方式)。
[0394] 由此,能够以子块单位进行基于子块单位的运动矢量的计算的编码效率的提高效果大的画面间预测方式。因此,能够提高编码效率。
[0395] 例如,第1画面间预测方式是使用对象预测块和参照图片中包含的区域的重构图像的适合程度的画面间预测方式(通常画面间预测方式),编码装置100生成包含用于确定导出的第1运动矢量的信息的编码比特流。
[0396] [解码装置的安装例]
[0397] 图22是表示有关实施方式1的解码装置200的安装例的框图。解码装置200具备电路260以及存储器262。例如,图10及图12所示的解码装置200的多个构成要素由图22所示的电路260及存储器262实现。
[0398] 电路260是进行信息处理的电路,是可访问存储器262的电路。例如,电路260是对运动图像进行解码的专用或通用的电子电路。电路260也可以是CPU那样的处理器。另外,电路260也可以是多个电子电路的集合体。另外,例如,电路260也可以起到图10等所示的解码装置200的多个构成要素中除了用于存储信息的构成要素以外的多个构成要素的作用。
[0399] 存储器262是存储用于电路260对运动图像进行解码的信息的专用或通用的存储器。存储器262可以是电子电路,也可以与电路260连接。另外,存储器262也可以包含在电路260中。另外,存储器262也可以是多个电子电路的集合体。另外,存储器262可以是磁盘或光盘等,也可以表现为存储器或记录介质等。另外,存储器262既可以是非易失性存储器,也可以是易失性存储器。
[0400] 例如,存储器262可以存储与被编码化后的运动图像对应的比特串,也可以存储与解码后的比特串对应的运动图像。另外,在存储器262中也可以存储有用于电路260对运动图像进行解码的程序。
[0401] 另外,例如,存储器262可以起到图10等所示的解码装置200的多个构成要素中用于存储信息的构成要素的作用。具体而言,存储器262可以起到图10所示的块存储器210及帧存储器214的作用。更具体而言,存储器262可以存储已重构的块及已重构的图片等。
[0402] 另外,在解码装置200中,既可以不安装图10等所示的多个构成要素的全部,也可以不进行上述的多个处理的全部。图10等所示的多个构成要素的一部分可以包含于其他装置,也可以由其他装置执行上述的多个处理的一部分。然后,在解码装置200中,安装图10等所示的多个构成要素中的一部分,通过进行上述的多个处理的一部分,高效地进行运动补偿。
[0403] 具体而言,解码装置200以分割了运动图像中包含的图像的预测块单位,通过使用相互不同的2个图片内的2个区域的2个重构图像的适合程度的第1画面间预测方式导出第1运动矢量(图13的S104或S106)。这里,第1画面间预测方式例如是上述的FRUC方式。具体而言,第1画面间预测方式包括模板FRCU方式以及双向FRUC方式中的至少一方。即,第1画面间预测方式中的上述2个区域是(1)与对象预测块相邻的对象图片内的区域和参照图片内的区域、或者(2)相互不同的2个参照图片内的2个区域。
[0404] 换言之,第1画面间预测方式是指在编码侧和解码侧通过相同的方法导出运动矢量的方式。此外,在第1画面间预测方式中,表示运动矢量的信息不被发信号给编码流,不从编码侧传送到解码侧。此外,在第1画面间预测方式中,解码装置200使用已解码的预测块的像素值,且不使用对象预测块的像素值来导出运动矢量。
[0405] 接着,解码装置200进行第1运动补偿处理,该第1运动补偿处理以预测块为单位,参照通过使用了导出的第1运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像(图13的S103A)。这里,第1运动补偿处理是指例如上述的BIO处理,包括使用了亮度梯度的修正。此外,在第1运动补偿处理中,以比预测块细小的单位(例如,像素单位或块单位)进行预测图像的修正。另外,在第1运动补偿处理中,使用由运动矢量表示的参照图片内的区域和该区域的周边的像素来生成预测图像。
[0406] 由此,解码装置200通过以预测块单位进行基于第1画面间预测方式的运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于包括使用了亮度梯度的修正的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。因此,解码装置200能够在抑制编码效率的降低的同时减少处理量。
[0407] 此外,解码装置200从编码比特流取得用于以预测块单位确定第2运动矢量的信息。解码装置200以预测块单位通过使用了上述信息的第2画面间预测方式导出第2运动矢量(图13的S102)。
[0408] 这里,第2画面间预测方式是指例如上述的通常画面间预测方式。换言之,第2画面间预测方式是指在编码侧和解码侧通过不同的方法导出运动矢量的方式。具体而言,编码装置100使用已编码的预测块的像素值和对象预测块的像素值来导出运动矢量。然后,编码装置100将表示导出的运动矢量的信息发信号给编码流。由此,表示由编码装置100导出的运动矢量的信息从编码装置100传送到解码装置200。解码装置200使用编码流中包含的该信息导出运动矢量。
[0409] 接着,解码装置200进行第2运动补偿处理,该第2运动补偿处理以预测块单位,参照通过使用了导出的第2运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像(图13的S103A)。这里,第2运动补偿处理是指例如上述的BIO处理,包括使用了亮度梯度的修正。此外,在第2运动补偿处理中,以比预测块细小的单位(例如,像素单位或块单位)进行预测图像的修正。另外,在第2运动补偿处理中,使用由运动矢量表示的参照图片内的区域和该区域的周边的像素来生成预测图像。
[0410] 另外,第2运动补偿处理可以是与第1运动补偿处理相同的处理,也可以是一部分不同的处理。
[0411] 由此,在使用第1画面间预测方式的情况和使用第2画面间预测方式的情况下,能够使运动补偿处理的处理单位相同。由此,能够使运动补偿处理的安装容易化。
[0412] 另外,解码装置200在第1动作模式中(S111中第1动作模式)、通过第1画面间预测方式,以分割了运动图像中包含的图像的预测块单位导出第1运动矢量(S112),以预测块单位进行使用了导出的第1运动矢量的第1运动补偿处理(S113)。这里,第1运动补偿处理例如是BIO处理,是参照通过使用了导出的第1运动矢量的运动补偿而生成的图像中的亮度的空间梯度来生成预测图像的运动补偿处理。
[0413] 另外,解码装置200在第2动作模式中(S111中第2动作模式),通过第2画面间预测方式,以分割了预测块的子块单位导出第2运动矢量(S114),以子块单位进行使用了第2运动矢量的第2运动补偿处理(S115)。这里,第2运动补偿处理是指例如不应用BIO处理的运动补偿处理,是不参照通过使用了第2运动矢量的运动补偿而生成的图像中的亮度的空间梯度而生成预测图像的运动补偿处理。
[0414] 由此,解码装置200在第1动作模式中,通过以预测块单位进行运动矢量的导出处理以及第1运动补偿处理,与例如以子块单位进行这些处理的情况相比,能够减少处理量。此外,由于参照亮度的空间梯度来生成预测图像的第1运动补偿处理能够以小于预测块单位的单位来实现修正,因此能够抑制在不以子块单位进行处理的情况下的编码效率的降低。另外,解码装置200在第2动作模式中,以子块单位进行运动矢量的导出处理以及第2运动补偿处理。这里,第2运动补偿处理由于不参照亮度的空间梯度,与第1运动补偿处理相比,处理量少。进而,解码装置200通过具有这样的2个动作模式,能够提高编码效率。这样,解码装置200能够在抑制编码效率的降低的同时减少处理量。
[0415] 例如,第1画面间预测方式与第2画面间预测方式不同。具体而言,第2画面间预测方式是使用相互不同的2个图片内的2个区域的2个重构图像的适合程度的画面间预测方式,例如是FRUC方式。
[0416] 由此,能够以子块单位进行基于子块单位的运动矢量的计算的编码效率的提高效果大的画面间预测方式。因此,能够提高编码效率。
[0417] 例如,第1画面间预测方式是(1)使用与对象预测块相邻的对象图片内的区域的重构图像和参照图片内的区域的重构图像的适合程度的第3画面间预测方式(例如,模板FRUC方式)、和(2)使用相互不同的2个参照图片内的2个区域的2个重构图像的适合程度的第4画面间预测方式(例如,双向FRUC方式)中的一个,第2画面间预测方式是第3画面间预测方式和第4画面间预测方式中的另一个。
[0418] 例如,第1画面间预测方式是第3画面间预测方式(例如,模板FRUC方式),第2画面间预测方式是第4画面间预测方式(例如,双向FRUC方式)。
[0419] 由此,能够以子块单位进行基于子块单位的运动矢量的计算的编码效率的提高效果大的画面间预测方式。因此,能够提高编码效率。
[0420] 例如,解码装置200在第1画面间预测方式中,从编码比特流取得用于以子块单位确定第2运动矢量的信息,使用该信息导出第2运动矢量。
[0421] [补充说明]
[0422] 此外,有关本实施方式的编码装置100和解码装置200可以分别用作图像编码装置和图像解码装置,也可以用作运动图像编码装置和运动图像解码装置。或者,编码装置100和解码装置200可以分别用作帧间预测装置(画面间预测装置)。
[0423] 即,编码装置100和解码装置200可以分别仅与帧间预测部(画面间预测部)126和帧间预测部(画面间预测部)218对应。并且,变换部106以及逆变换部206等其他构成要素也可以包含于其他装置。
[0424] 另外,在本实施方式中,各构成要素可以由专用的硬件构成,也可以通过执行适合于各构成要素的软件程序来实现。各构成要素也可以通过CPU或处理器等程序执行部读出并执行硬盘半导体存储器等记录介质中记录的软件程序来实现。
[0425] 具体地,编码装置100和解码装置200中分别可以具备处理电路(Processing Circuitry)和电连接到该处理电路的可从该处理电路访问的存储装置(Storage)。例如,处理电路与电路160或260对应,存储装置与存储器162或262对应。
[0426] 处理电路包括专用的硬件和程序执行部中的至少一方,使用存储装置来执行处理。另外,存储装置在处理电路包含程序执行部的情况下,存储由该程序执行部执行的软件程序。
[0427] 这里,实现本实施方式的编码装置100或解码装置200等的软件是如下的程序。
[0428] 另外,如上所述,各构成要素也可以是电路。这些电路既可以作为整体构成一个电路,也可以分别是不同的电路。另外,各构成要素既可以通过通用的处理器来实现,也可以通过专用的处理器来实现。
[0429] 另外,也可以由其他构成要素执行特定的构成要素所执行的处理。另外,执行处理的顺序可以变更,也可以同时执行多个处理。另外,也可以是,编码解码装置具备编码装置100及解码装置200。
[0430] 以上,基于实施方式说明了编码装置100及解码装置200的形态,但编码装置100及解码装置200的形态并不限定于该实施方式。只要不脱离本发明的主旨,对本实施方式实施了本领域技术人员能想到的各种变形的形态、将不同的实施方式中的构成要素组合而构建的形态也可以包含在编码装置100及解码装置200的形态的范围内。
[0431] 也可以将本方式与本发明中的其他方式的至少一部分组合来实施。此外,也可以将本方式的流程图所记载的一部分处理、装置的一部分结构、语法的一部分等与其他方式组合来实施。
[0432] (实施方式2)
[0433] 在以上的各实施方式中,各个功能块通常可以通过MPU及存储器等实现。此外,各个功能块的处理通常通过由处理器等程序执行部将记录在ROM等记录介质中的软件(程序)读出并执行来实现。该软件既可以通过下载等来分发,也可以记录到半导体存储器等记录介质中来分发。另外,当然也能够通过硬件(专用电路)实现各功能块。
[0434] 此外,在各实施方式中说明的处理既可以通过使用单一的装置(系统)集中处理来实现,或者也可以通过使用多个装置进行分散处理来实现。此外,执行上述程序的处理器既可以是单个,也可以是多个。即,既可以进行集中处理,也可以进行分散处理。
[0435] 本发明的形态并不限定于以上的实施例,能够进行各种各样的变更,它们也包含在本发明的形态的范围内。
[0436] 进而,这里说明在上述各实施方式中表示的运动图像编码方法(图像编码方法)或运动图像解码方法(图像解码方法)的应用例和使用它的系统。该系统的特征在于,具有使用图像编码方法的图像编码装置、使用图像解码方法的图像解码装置、以及具备两者的图像编码解码装置。关于系统中的其他结构,根据情况能够适当地变更。
[0437] [使用例]
[0438] 图23是表示实现内容分发服务的内容供给系统ex100的整体结构的图。将通信服务的提供区分割为希望的尺寸,在各单元内分别设有作为固定无线站的基站ex106、ex107、ex108、ex109、ex110。
[0439] 在该内容供给系统ex100中,在因特网ex101上经由因特网服务提供商ex102或通信网ex104、以及基站ex106~ex110连接着计算机ex111、游戏机ex112、相机ex113、家电ex114以及智能电话ex115等各设备。该内容供给系统ex100也可以将上述的某些要素组合而连接。也可以不经由作为固定无线站的基站ex106~ex110而将各设备经由电话网或近距离无线等直接或间接地相互连接。此外,流媒体服务器ex103经由因特网ex101等而与计算机ex111、游戏机ex112、相机ex113、家电ex114及智能电话ex115等各设备连接。此外,流媒体服务器ex103经由卫星ex116而与飞机ex117内的热点内的终端等连接。
[0440] 另外,也可以代替基站ex106~ex110而使用无线接入点或热点等。此外,流媒体服务器ex103既可以不经由因特网ex101或因特网服务提供商ex102而直接与通信网ex104连接,也可以不经由卫星ex116而直接与飞机ex117连接。
[0441] 相机ex113是数字相机等能够进行静止图像摄影及运动图像摄影的设备。此外,智能电话ex115是与通常被称作2G、3G、3.9G、4G、及今后被称作5G的移动通信系统的方式对应的智能电话机、便携电话机或PHS(Personal Handyphone System)等。
[0442] 家电ex118是电箱或在家庭用燃料电池热电联供系统中包含的设备等。
[0443] 在内容供给系统ex100中,具有摄影功能的终端经由基站ex106等连接到流媒体服务器ex103上,由此能够进行现场分发等。在现场分发中,终端(计算机ex111、游戏机ex112、相机ex113、家电ex114、智能电话ex115及飞机ex117内的终端等)对由用户使用该终端拍摄的静止图像或运动图像内容进行在上述各实施方式中说明的编码处理,将通过编码得到的影像数据和将与影像对应的声音进行编码而得到的声音数据复用,将得到的数据向流媒体服务器ex103发送。即,各终端作为有关本发明的一形态的图像编码装置发挥功能。
[0444] 另一方面,流媒体服务器ex103将对有请求的客户端发送的内容数据进行流分发。客户端是能够将上述编码处理后的数据进行解码的计算机ex111、游戏机ex112、相机ex113、家电ex114、智能电话ex115或飞机ex117内的终端等。接收到被分发的数据的各设备对接收到的数据进行解码处理并再现。即,各设备作为有关本发明的一形态的图像解码装置发挥功能。
[0445] [分散处理]
[0446] 此外,流媒体服务器ex103也可以是多个服务器或多个计算机,将数据分散处理或记录而分发。例如,流媒体服务器ex103也可以由CDN(Contents Delivery Network)实现,通过将分散在世界中的许多边缘服务器与边缘服务器之间相连的网络来实现内容分发。在CDN中,根据客户端而动态地分配在物理上较近的边缘服务器。并且,通过向该边缘服务器高速缓存及分发内容,能够减少延迟。此外,在发生了某种错误的情况下或因通信量的增加等而通信状态变化的情况下,能够用多个边缘服务器将处理分散、或将分发主体切换为其他边缘服务器、或绕过发生故障的网络的部分而继续分发,所以能够实现高速且稳定的分发。
[0447] 此外,不限于分发自身的分散处理,所拍摄的数据的编码处理既可以由各终端进行,也可以在服务器侧进行,也可以相互分担而进行。作为一例,通常在编码处理中进行2次处理循环。在第1次的循环中对帧或场景单位的图像的复杂度或代码量进行检测。此外,在第2次的循环中进行维持画质而使编码效率提高的处理。例如,通过由终端进行第1次的编码处理、由接收到内容的服务器侧进行第2次的编码处理,能够在减少各终端中的处理负荷的同时使内容的质和效率提高。在此情况下,如果有几乎实时地接收并解码的请求,则也可以将终端进行的第一次编码完成的数据由其他终端接收并再现,所以也能够进行更灵活的实时分发。
[0448] 作为其他例子,相机ex113等从图像进行特征量提取,将关于特征量的数据作为元数据压缩并向服务器发送。服务器例如根据特征量来判断目标的重要性而切换量化精度等,进行与图像的意义对应的压缩。特征量数据对于服务器中的再次压缩时的运动矢量预测的精度及效率提高特别有效。此外,也可以由终端进行VLC(可变长编码)等简单的编码,由服务器进行CABAC(上下文自适应二值算术编码方式)等处理负荷大的编码。
[0449] 作为其他例子,在体育场、购物中心或工厂等中,有存在由多个终端拍摄大致相同的场景而得到的多个影像数据的情况。在此情况下,使用进行了拍摄的多个终端、以及根据需要而使用没有进行摄影的其他终端及服务器,例如以GOP(Group of Picture)单位、图片单位或将图片分割而得到的瓦片单位等分别分配编码处理而进行分散处理。由此,能够减少延迟而更好地实现实时性。
[0450] 此外,由于多个影像数据是大致相同场景,所以也可以由服务器进行管理及/或指示,以将由各终端拍摄的影像数据相互参照。或者,也可以是服务器接收来自各终端的已编码数据并在多个数据间变更参照关系,或将图片自身进行修正或替换而重新编码。由此,能够生成提高了一个个数据的质和效率的流。
[0451] 此外,服务器也可以进行将影像数据的编码方式变更的转码后将影像数据分发。例如,服务器也可以将MPEG类的编码方式变换为VP类,也可以将H.264变换为H.265。
[0452] 这样,编码处理能够由终端或1个以上的服务器进行。因此,以下作为进行处理的主体而使用“服务器”或“终端”等的记载,但也可以将由服务器进行的处理的一部分或全部用终端进行,也可以将由终端进行的处理的一部分或全部用服务器进行。此外,关于这些,对于解码处理也是同样的。
[0453] [3D、多角度]
[0454] 近年来,将由相互大致同步的多个相机ex113及/或智能电话ex115等终端拍摄的不同场景、或从不同的角度拍摄了相同场景的图像或影像合并而利用的情况增加。将由各终端拍摄的影像基于另取得的终端间的相对位置关系、或影像中包含的特征点一致的区域等来合并。
[0455] 服务器不仅是将二维的运动图像进行编码,也可以基于运动图像的场景解析等自动地或在用户指定的时刻将静止图像进行编码并向接收终端发送。服务器还在能够取得拍摄终端间的相对位置关系的情况下,不仅是二维的运动图像,还能够基于从不同的角度拍摄了相同场景的影像,生成该场景的三维形状。另外,服务器也可以将由点(point cloud)等生成的三维的数据另行编码,也可以基于使用三维数据将人物或目标进行识别或跟踪的结果,从由多个终端拍摄的影像中选择或重构而生成向接收终端发送的影像。
[0456] 这样,用户既能够任意地选择与各拍摄终端对应的各影像而欣赏场景,也能够欣赏从使用多个图像或影像重构的三维数据中切取了任意视点的影像的内容。进而,与影像同样,声音也可以从多个不同的角度集音,由服务器匹配于影像而将来自特定的角度或空间的声音与影像复用并发送。
[0457] 此外,近年来,Virtual Reality(VR:虚拟现实)及Augmented Reality(AR:增强现实)等将现实世界与虚拟世界建立对应的内容也正在普及。在VR图像的情况下,服务器分别制作右眼用及左眼用的视点图像,既可以通过Multi-View Coding(MVC:多视点编码)等进行在各视点影像间容许参照的编码,也可以相互不参照而作为不同的流进行编码。在不同的流的解码时,可以根据用户的视点相互同步地再现,以再现虚拟的三维空间。
[0458] 在AR图像的情况下,也可以是,服务器基于三维的位置或用户的视点的移动,对现实空间的相机信息重叠虚拟空间上的虚拟物体信息。解码装置取得或保持虚拟物体信息及三维数据,根据用户的视点的移动而生成二维图像,通过平滑地相连来制作重叠数据。或者,也可以是,解码装置除了虚拟物体信息的委托以外还将用户的视点的移动发送给服务器,服务器根据保持在服务器中的三维数据,匹配于接收到的视点的移动而制作重叠数据,将重叠数据进行编码并向解码装置分发。另外,重叠数据在RGB以外具有表示透射度的α值,服务器将根据三维数据制作出的目标以外的部分的α值设定为0等,在该部分透射的状态下进行编码。或者,服务器也可以如色度键那样将规定值的RGB值设定为背景,生成将目标以外的部分设为背景色的数据。
[0459] 同样,分发的数据的解码处理既可以由作为客户端的各终端进行,也可以在服务器侧进行,也可以相互分担而进行。作为一例,也可以是某个终端先向服务器发送接收请求,由其他终端接收与该请求对应的内容并进行解码处理,将已解码的信号向具有显示器的装置发送。通过与可通信的终端自身的性能无关地都将处理分散而选择适当的内容,能够再现画质较好的数据。此外,作为其他例子,也可以由TV等接收大尺寸的图像数据,并且由欣赏者的个人终端将图片被分割后的瓦片等一部分区域进行解码并显示。由此,能够在使整体像共有化的同时,在手边确认自己的负责领域或想要更详细地确认的区域。
[0460] 此外,预想今后在不论室内外都能够使用近距离、中距离或长距离的多个无线通信的状况下,利用MPEG-DASH等的分发系统标准,一边对连接中的通信切换适当的数据一边无缝接收内容。由此,用户不仅用自身的终端,还能够自由地选择设置在室内外的显示器等解码装置或显示装置来实时地切换。此外,能够基于自身的位置信息等,切换解码的终端及显示的终端来进行解码。由此,还能够在向目的地的移动中一边在埋入有可显示的设备的旁边的建筑物的墙面或地面的一部分上显示地图信息一边移动。此外,还能够基于在能够从接收终端以短时间访问的服务器中高速缓存有编码数据、或在内容分发服务的边缘服务器中复制有编码数据等的向网络上的编码数据的访问容易性,来切换接收数据的比特率。
[0461] [可分级编码]
[0462] 关于内容的切换,使用图24所示的、使用应用在上述各实施方式中表示的运动图像编码方法进行压缩编码的可分级(scalable)的流进行说明。对服务器而言,作为单独的流也可以具有内容相同而品质不同的多个流,也可以是如图示那样利用通过分层进行编码而实现的时间/空间上的可分级的流的特征来切换内容的结构。即,通过由解码侧根据性能这样的内在因素和通信频带的状态等外在因素来决定解码到哪个层,解码侧能够自由地切换低分辨率的内容和高分辨率的内容来解码。例如在想要将在移动中用智能电话ex115视听的影像的后续在回家后用因特网TV等设备视听的情况下,该设备只要将相同的流解码到不同的层就可以,所以能够减轻服务器侧的负担。
[0463] 进而,在如上述那样按每个层将图片编码、实现在基本层的上位存在增强层的分级性的结构以外,也可以是增强层(enhancement layer)包含基于图像的统计信息等的元信息,解码侧通过基于元信息将基本层的图片进行超析像来生成高画质化的内容。超析像可以是相同分辨率下的SN比的提高及分辨率的扩大中的任意一种。元信息包括用来确定在超析像处理中使用的线性或非线性的滤波系数的信息、或确定在超析像处理中使用的滤波处理、机器学习或最小2乘运算中的参数值的信息等。
[0464] 或者,也可以是根据图像内的目标等的意义将图片分割为瓦片等,解码侧通过选择进行解码的瓦片而仅将一部分区域解码的结构。此外,通过将目标的属性(人物、车、球等)和影像内的位置(同一图像中的坐标位置等)作为元信息保存,解码侧能够基于元信息确定希望的目标的位置,决定包括该目标的瓦片。例如,如图25所示,使用HEVC中的SEI消息等与像素数据不同的数据保存构造来保存元信息。该元信息例如表示主目标的位置、尺寸或色彩等。
[0465] 此外,也可以以流、序列或随机访问单位等由多个图片构成的单位保存元信息。由此,解码侧能够取得特定人物在影像内出现的时刻等,通过与图片单位的信息匹配,能够确定目标存在的图片、以及图片内的目标的位置。
[0466] [Web页的优化]
[0467] 图26是表示计算机ex111等中的web页的显示画面例的图。图27是表示智能电话ex115等中的web页的显示画面例的图。如图26及图27所示,有web页包含多个作为向图像内容的链接的链接图像的情况,根据阅览的设备而其可见方式不同。在画面上能看到多个链接图像的情况下,在用户明示地选择链接图像之前、或链接图像接近于画面的中央附近或链接图像的整体进入到画面内之前,显示装置(解码装置)中作为链接图像而显示各内容所具有的静止图像或I图片,或用多个静止图像或I图片等显示gif动画那样的影像,或仅接收基本层而将影像解码及显示。
[0468] 在由用户选择了链接图像的情况下,显示装置将基本层最优先地解码。另外,如果在构成web页的HTML中有表示是可分级的内容的信息,则显示装置也可以解码到增强层。此外,在为了确保实时性而在选择之前或通信频带非常紧张的情况下,显示装置可以通过仅将前方参照的图片(I图片、P图片、仅进行前方参照的B图片)解码及显示,来减少开头图片的解码时刻与显示时刻之间的延迟(从内容的解码开始到显示开始的延迟)。此外,显示装置也可以将图片的参照关系强行地忽视而将全部的B图片及P图片设为前方参照而粗略地解码,随着时间经过而接收到的图片增加,进行正常的解码。
[0469] [自动行驶]
[0470] 此外,在为了车的自动行驶或行驶辅助而收发二维或三维的地图信息等的静止图像或影像数据的情况下,接收终端也可以除了属于1个以上的层的图像数据以外,还作为元信息而接收天气或施工的信息等,将它们建立对应而解码。另外,元信息既可以属于层,也可以只与图像数据复用。
[0471] 在此情况下,由于包含接收终端的车、无人机或飞机等在移动,所以接收终端通过在接收请求时发送该接收终端的位置信息,能够切换基站ex106~ex110来进行无缝接收及解码。此外,接收终端根据用户的选择、用户的状况或通信频带的状态,能够动态地切换将元信息以何种程度接收、或将地图信息以何种程度更新。
[0472] 如以上这样,在内容供给系统ex100中,客户端能够将用户发送的已编码的信息实时地接收并解码、再现。
[0473] [个人内容的分发]
[0474] 此外,在内容供给系统ex100中,不仅是由影像分发业者提供的高画质、长时间的内容,还能够进行由个人提供的低画质、短时间的内容的单播或多播分发。此外,可以想到这样的个人内容今后也会增加。为了使个人内容成为更好的内容,服务器也可以在进行编辑处理后进行编码处理。这例如可以通过以下这样的结构实现。
[0475] 在拍摄时实时地或累积下来拍摄后,服务器根据原图像或已编码数据,进行拍摄错误、场景搜索、意义的解析及目标检测等的识别处理。并且,服务器基于识别结果,手动或自动地进行将焦点偏差或手抖动等修正、或将明亮度比其他图片低或焦点没有对上的场景等的重要性低的场景删除、或将目标的边缘强调、或使色调变化等的编辑。服务器基于编辑结果,将编辑后的数据进行编码。此外,已知如果拍摄时刻过长则视听率会下降,服务器也可以根据拍摄时间,不仅将如上述那样重要性低的场景,还将运动少的场景等基于图像处理结果自动地限制,以成为特定的时间范围内的内容。或者,服务器也可以基于场景的意义解析的结果而生成摘要并编码。
[0476] 另外,个人内容在原状态下有被写入侵害著作权、著作者人格权或肖像权等的内容的情形,也有共享的范围超过了想要的范围等对于个人而言不便的情况。因此,例如服务器也可以将画面的周边部的人的脸、或家中等强行地变更为不对焦的图像而进行编码。此外,服务器也可以识别在编码对象图像内是否拍摄到与预先登记的人物不同的人物的脸,在拍摄到的情况下,进行对脸部分施加赛克等的处理。或者,作为编码的前处理或后处理,也可以从著作权等的观点出发,用户指定想要将图像加工的人物或背景区域,服务器进行将所指定的区域替换为别的影像、或将焦点模糊化等的处理。如果是人物,则能够在运动图像中跟踪人物的同时,将脸部分的影像替换。
[0477] 此外,数据量小的个人内容的视听其实时性要求较强,所以虽然也取决于带宽,但解码装置首先将基本层最优先地接收并进行解码及再现。解码装置也可以在此期间中接收增强层,在再现被循环的情况等2次以上被再现的情况下,将增强层也包括在内再现高画质的影像。这样,如果是进行了可分级编码的流,则能够提供在未选择时或刚开始看的阶段是虽然较粗糙的运动图像但流逐渐变得流畅而图像变好的体验。除了可分级编码以外,在第1次被再现的较粗糙的流和参照第1次的运动图像而被编码的第2次的流构成为1个流的情况下也能够提供同样的体验。
[0478] [其他使用例]
[0479] 此外,这些编码或解码处理通常在各终端所具有的LSIex500中处理。LSIex500既可以是单芯片也可以是由多芯片构成的结构。另外,也可以将运动图像编码或解码用的软件装入到能够由计算机ex111等读取的某种记录介质(CD-ROM、软盘、硬盘等)中、使用该软件进行编码处理及解码处理。进而,在智能电话ex115带有相机的情况下,也可以发送由该相机取得的运动图像数据。此时的运动图像数据是用智能电话ex115所具有的LSIex500进行编码处理后的数据。
[0480] 另外,LSIex500也可以是将应用软件下载并将其激活的结构。在此情况下,终端首先判定该终端是否与内容的编码方式对应、或是否具有特定服务的执行能。在终端不与内容的编码方式对应的情况下、或不具有特定服务的执行能力的情况下,终端下载编解码器或应用软件,然后进行内容取得及再现。
[0481] 此外,并不限于经由因特网ex101的内容供给系统ex100,也能够在数字广播用系统中组装上述各实施方式的至少运动图像编码装置(图像编码装置)或运动图像解码装置(图像解码装置)中的某一种。由于利用卫星等使广播用的电波承载将影像与声音复用的复用数据而收发,所以相对于内容供给系统ex100的容易单播的结构,有适合多播的差异,但关于编码处理及解码处理能够进行同样的应用。
[0482] [硬件结构]
[0483] 图28是表示智能电话ex115的图。此外,图29是表示智能电话ex115的结构例的图。智能电话ex115具有用来在与基站ex110之间收发电波的天线ex450、能够拍摄影像及静止图像的相机部ex465、显示由相机部ex465拍摄的影像及将由天线ex450接收到的影像等解码后的数据的显示部ex458。智能电话ex115还具备作为触摸面板等的操作部ex466、用来输出声音或音响的作为扬声器等的声音输出部ex457、用来输入声音的作为麦克等的声音输入部ex456、能够保存所拍摄的影像或静止图像、录音的声音、接收到的影像或静止图像、邮件等的编码后的数据或解码后的数据的存储器部ex467、或者作为与SIMex468的接口部的插槽部ex464,所述SIMex468用来确定用户,进行以网络为代表向各种数据的访问的认证。此外,也可以代替存储器部ex467而使用外置存储器。
[0484] 此外,对显示部ex458及操作部ex466等进行综合控制的主控制部ex460与电源电路部ex461、操作输入控制部ex462、影像信号处理部ex455、相机接口部ex463、显示器控制部ex459、调制/解调部ex452、复用/分离部ex453、声音信号处理部ex454、插槽部ex464及存储器部ex467经由总线ex470相互连接。
[0485] 电源电路部ex461如果通过用户的操作使电源键成为开启状态,则通过从电池组对各部供给电力,将智能电话ex115启动为能够动作的状态。
[0486] 智能电话ex115基于具有CPU、ROM及RAM等的主控制部ex460的控制,进行通话及数据通信等处理。在通话时,通过声音信号处理部ex454将由声音输入部ex456集音的声音信号变换为数字声音信号,将其用调制/解调部ex452进行波谱扩散处理,由发送/接收部ex451实施数字模拟变换处理及频率变换处理之后经由天线ex450发送。此外,将接收数据放大并实施频率变换处理及模拟数字变换处理,由调制/解调部ex452进行波谱逆扩散处理,由声音信号处理部ex454变换为模拟声音信号后,将其从声音输出部ex457输出。在数据通信时,通过主体部的操作部ex466等的操作将文本、静止图像或影像数据经由操作输入控制部ex462向主控制部ex460送出,同样进行收发处理。在数据通信模式时,在发送影像、静止图像或影像和声音的情况下,影像信号处理部ex455将保存在存储器部ex467中的影像信号或从相机部ex465输入的影像信号通过在上述各实施方式中表示的运动图像编码方法进行压缩编码,将编码后的影像数据向复用/分离部ex453送出。此外,声音信号处理部ex454将在由相机部ex465拍摄影像、静止图像等的过程中由声音输入部ex456集音的声音信号编码,将编码后的声音数据向复用/分离部ex453送出。复用/分离部ex453将已编码影像数据和已编码声音数据以规定的方式复用,由调制/解调部(调制/解调电路部)ex452及发送/接收部ex451实施调制处理及变换处理,经由天线ex450发送。
[0487] 在接收到添附在电子邮件或聊天工具中的影像、或链接在网页等上的影像的情况下,为了将经由天线ex450接收到的复用数据进行解码,复用/分离部ex453通过将复用数据分离而将复用数据分为影像数据的比特流和声音数据的比特流,经由同步总线ex470将编码后的影像数据向影像信号处理部ex455供给,并将编码后的声音数据向声音信号处理部ex454供给。影像信号处理部ex455通过与在上述各实施方式中表示的运动图像编码方法对应的运动图像解码方法将影像信号进行解码,经由显示器控制部ex459从显示部ex458显示被链接的运动图像文件中包含的影像或静止图像。此外,声音信号处理部ex454将声音信号进行解码,从声音输出部ex457输出声音。另外,由于实时流媒体正在普及,所以根据用户的状况,也可能发生声音的再现在社会上不适合的场合。因此,作为初始值,优选的是不将声音信号再现而仅将影像数据再现的结构。也可以仅在用户进行了将影像数据点击等操作的情况下将声音同步地再现。
[0488] 此外,这里以智能电话ex115为例进行了说明,但作为终端,可以考虑除了拥有编码器及解码器双方的收发型终端以外,还有仅具有编码器的发送终端、仅具有解码器的接收终端这3种安装形式。进而,在数字广播用系统中,假设将在影像数据中复用了声音数据等的复用数据接收、发送而进行了说明,但在复用数据中除了声音数据以外还可以复用与影像关联的字符数据等,也可以不是将复用数据而是将影像数据自身接收或发送。
[0489] 另外,假设包括CPU的主控制部ex460控制编码或解码处理而进行了说明,但终端具备GPU的情况也较多。因此,也可以做成通过由CPU和GPU共用的存储器、或以能够共同使用的方式管理地址的存储器,来利用GPU的性能将较大的区域一起处理的结构。由此,能够缩短编码时间,确保实时性,实现低延迟。特别是,如果将运动估计、解块滤波、SAO(Sample Adaptive Offset)及变换/量化的处理不是用CPU进行而是用GPU以图片等单位一起进行,则更有效。
[0490] 也可以将本方式与本发明中的其他方式的至少一部分组合来实施。此外,也可以将本方式的流程图所记载的一部分处理、装置的一部分结构、语法的一部分等与其他方式组合来实施。
[0491] 产业上的可利用性
[0492] 本发明能够利用于例如电视接收机、数字视频记录器、汽车导航系统移动电话、数字相机、数字摄像机、电视会议系统或电子镜等。
[0493] 标号说明
[0494] 100 编码装置
[0495] 102 分割部
[0496] 104 减法部
[0497] 106 变换部
[0498] 108 量化部
[0499] 110 熵编码部
[0500] 112、204 逆量化部
[0501] 114、206 逆变换部
[0502] 116、208 加法部
[0503] 118、210 块存储器
[0504] 120、212 循环滤波部
[0505] 122、214 帧存储器
[0506] 124、216 帧内预测部
[0507] 126、218 帧间预测部
[0508] 128、220 预测控制部
[0509] 160、260 电路
[0510] 162、262 存储器
[0511] 200 解码装置
[0512] 202 熵解码部
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈