具体实施方式
(作为本发明的基础的认识)
本发明者关于将图片按照块编码的图像编码方法发现了问题。以下,具体地进行说明。
在图像编码处理中,一般利用图像具有的空间方向及时间方向的冗余性进行信息量的压缩。作为利用空间方向的冗余性的方法,使用向频率域的变换,作为利用时间方向的冗余性的方法,使用图片间预测(以后称作帧间预测)的编码处理。
图像编码装置在以帧间预测编码处理将编码对象图片(现图片)编码时,使用相对于编码对象图片在显示时间顺序上处于前方或后方的已编码的图片作为参照图片。并且,图像编码装置通过相对于该参照图片的编码对象图片的运动检测,导出运动矢量。
并且,图像编码装置通过取得基于运动矢量进行运动补偿而得到的预测图像数据与编码对象图片的图像数据的差分,将时间方向的冗余性去除。
此外,图像编码装置在运动检测中,计算编码对象图片内的编码对象块(现块)与参照图片内的块的差分值,确定差分值最小的参照图片内的块作为参照块。并且,图像编码装置使用编码对象块和参照块检测运动矢量。
称作H.264的图像编码方式已经被标准化(非专利文献1)。在该图像编码方式中,为了信息量的压缩而使用I图片、P图片及B图片的3种图片类型。
I图片是不进行帧间预测编码处理、即进行图片内预测(以后称作帧内预测)编码处理的图片。P图片是进行参照在显示时间顺序上处于编码对象图片的前方或后方的已经编码的1个图片的帧间预测编码的图片。B图片是进行参照在显示时间顺序上处于编码对象图片的前方或后方的已经编码的两个图片的帧间预测编码的图片。
图像编码装置在帧间预测编码中,生成用来确定参照图片的参照图片列表。参照图片列表是对在帧间预测中参照的已编码的参照图片分配了参照图片索引的列表。例如,图像编码装置为了参照两个图片将B图片编码而保持两个参照图片列表(L0,L1)。
图1表示B图片中的参照图片列表的例子。图1中的第1参照图片列表(L0)是双向预测中的第1预测方向的参照图片列表的例子。对于“0”的参照图片索引,分配了显示顺序是2的参照图片R3。对于“1”的参照图片索引分配了显示顺序是1的参照图片R2。对于“2”的参照图片索引,分配了显示顺序是0的参照图片R1。
即,对于编码对象图片,在显示顺序上,对在时间上越是接近于编码对象图片者分配越小的参照图片索引。
另一方面,第2参照图片列表(L1)是双向预测中的第2预测方向的参照图片列表的例子。对于“0”的参照图片索引,分配了显示顺序是1的参照图片R2。对于“1”的参照图片索引分配了显示顺序是2的参照图片R3。对于“2”的参照图片索引,分配了显示顺序是0的参照图片R1。
这样,在与两个预测方向对应的两个参照图片列表中,也可以对1个参照图片分配不同的参照图片索引(图1的参照图片R2及R3)。此外,在两个参照图片列表中,也可以对1个参照图片分配相同的参照图片索引(图1的参照图片R1)。关于该参照图片列表,现在讨论新的计算方法。
但是,在现在讨论的计算方法中,不考虑参照属于其他视角或其他层的图片将编码对象图片编码。例如,有关MVC(Multiview Video Coding:多视点影像编码)的图像编码装置有参照基础视角的图片将非基础视角的图片编码的情况。在现在讨论的计算方法中不考虑这样的编码。
所以,有关本发明的一技术方案的图像编码方法,是将现图片按照块编码的图像编码方法,包括:生成步骤,对在上述现图片的编码中能够参照的参照图片分配参照图片索引,生成包括被分配了上述参照图片索引的上述参照图片的参照图片列表;编码步骤,从上述参照图片列表中确定在上述现图片中包含的现块的编码中参照的参照图片,参照所确定的上述参照图片,将上述现块编码;在上述生成步骤中,在属于与上述现图片所属的现视角不同的参照视角的参照图片有可能在上述现图片的编码中被参照的情况下,将属于上述参照视角的参照图片向上述参照图片列表追加。
由此,在能够进行视角间预测的情况下,向参照图片列表追加用于视角间预测的参照图片。因而,能够从参照图片列表中选择更适当的参照图片。由此,编码效率提高。
例如,也可以是,在上述生成步骤中,使用参数生成上述参照图片列表;在上述编码步骤中,还将在上述参照图片列表的生成中使用的上述参数编码。
由此,能够在编码处理和解码处理的两者中使用相同的参数生成相同的参照图片列表。因而,能够进行参照图片列表的灵活的变更。由此,能够进行适当的编码。
此外,例如也可以是,在上述生成步骤中,还在属于上述参照视角的参照图片有可能在上述现图片的编码中被参照的情况下,通过对作为属于上述现视角的能够参照的参照图片的数量的第1数量加上作为属于上述参照视角的能够参照的参照图片的数量的第2数量,计算作为在上述现图片的编码中能够参照的参照图片的数量的第3数量;基于上述第3数量决定用来将对在上述参照图片列表中包含的上述参照图片分配的上述参照图片索引修正的修正列表的值的范围。
由此,能够以与能够参照的参照图片的数量对应的适当的范围进行参照图片索引的修正。
此外,例如也可以是,在上述生成步骤中,还基于上述现视角是否是非基础视角,判断属于上述参照视角的参照图片是否有可能在上述现图片的编码中被参照。
由此,适当地判断是否能够参照在与包括编码对象图片的视角不同的视角中的参照图片。
此外,例如也可以是,在上述生成步骤中,还基于以编码顺序对上述现视角分配的视角顺序索引,判断上述现视角是否是非基础视角。
由此,适当地判断包含编码对象图片的视角是否是非基础视角。
此外,有关本发明的一技术方案的图像解码方法,是将现图片按照块解码的图像解码方法,包括:生成步骤,对在上述现图片的解码中能够参照的参照图片分配参照图片索引,生成包括被分配了上述参照图片索引的上述参照图片的参照图片列表;解码步骤,从上述参照图片列表中确定在上述现图片中包含的现块的解码中被参照的参照图片,参照所确定的上述参照图片,将上述现块解码;在上述生成步骤中,在属于与上述现图片所属的现视角不同的参照视角的参照图片有可能在上述现图片的解码中被参照的情况下,将属于上述参照视角的参照图片向上述参照图片列表追加。
由此,在能够进行视角间预测的情况下,对参照图片列表追加用于视角间预测的参照图片。因而,能够从参照图片列表选择更适当的参照图片。因而,能够进行与高效率的编码对应的解码。
例如也可以是,在上述解码步骤中,还将在上述参照图片列表的生成中使用的参数解码;在上述生成步骤中,使用解码后的上述参数,生成上述参照图片列表。
由此,在编码处理和解码处理的两者中,能够使用相同的参数生成相同的参照图片列表。因而,能够进行参照图片列表的灵活的变更。由此,能够进行适当的解码。
此外,例如也可以是,在上述生成步骤中,还在属于上述参照视角的参照图片有可能在上述现图片的解码中被参照的情况下,通过对作为属于上述现视角的能够参照的参照图片的数量的第1数量加上作为属于上述参照视角的能够参照的参照图片的数量的第2数量,计算作为在上述现图片的编码中能够参照的参照图片的数量的第3数量;基于上述第3数量决定用来将对在上述参照图片列表中包含的上述参照图片分配的上述参照图片索引修正的修正列表的值的范围。
由此,能够在与能够参照的参照图片的数量对应的适当的范围中进行参照图片索引的修正。
此外,例如也可以是,在上述生成步骤中,还基于上述现视角是否是非基础视角,判断属于上述参照视角的参照图片是否有可能在上述现图片的解码中被参照。
由此,能够适当地判断是否能够参照在与包含解码对象图片的视角不同的视角中包含的参照图片。
此外,例如也可以是,在上述生成步骤中,还基于以解码顺序对上述现视角分配的视角顺序索引判断上述现视角是否是非基础视角。
由此,适当地判断包含解码对象图片的视角是否是非基础视角。
另外,这些全局性或具体的技术方案既可以通过***、装置、集成电路、计算机程序或计算机可读取的CD-ROM等的非暂时的记录媒体实现,也可以通过***、装置、集成电路、计算机程序或记录媒体的任意的组合实现。
以下,参照附图对本发明的实施方式进行说明。另外,以下说明的实施方式都是表示全局或具体的例子的。在以下的实施方式中表示的数值、形状、材料、构成要素、构成要素的配置位置及连接形态、步骤、步骤的顺序等是一例,并不是限定本发明的意思。此外,关于以下的实施方式的构成要素中的、在表示最上位概念的独立权利要求中没有记载的构成要素,设为任意的构成要素进行说明。
(实施方式1)
图2是表示有关本实施方式的图像编码装置的结构的块图。如图2那样,图像编码装置100具备减法部101、正交变换部102、量化部103、逆量化部105、逆正交变换部106、加法部107、块存储器108、帧存储器109、帧内预测部110、帧间预测部111、切换部112、帧间预测控制部114、参照图片列表计算部115、图片类型决定部113、预测运动矢量候选计算部116及可变长编码部104。
正交变换部102对于输入图像进行从像素域向频率域的变换。量化部103对变换为频率域的输入图像进行量化处理。逆量化部105对由量化部103量化处理后的输入图像进行逆量化处理。逆正交变换部106对逆量化处理后的输入图像进行从频率域向像素域的变换。
块存储器108将输入图像以块单位保存,帧存储器109将输入图像以帧单位保存。图片类型决定部113决定以I图片、B图片及P图片的哪个图片类型将输入图像编码,生成图片类型信息。
帧内预测部110使用保存在块存储器108中的块单位的输入图像,将编码对象块通过帧内预测编码,生成预测图像数据。帧间预测部111使用保存在帧存储器109中的帧单位的输入图像和通过运动检测等导出的运动矢量,将编码对象块通过帧间预测编码,生成预测图像数据。
预测运动矢量候选计算部116导出预测运动矢量指定模式的预测运动矢量候选。预测运动矢量候选使用编码对象块的相邻块及在已经编码的图片中包含的co-located块的运动矢量等的colPic信息导出。预测运动矢量指定模式的预测运动矢量候选是在运动矢量的编码中使用的预测运动矢量的候选。并且,预测运动矢量候选计算部116计算预测运动矢量候选数。
此外,预测运动矢量候选计算部116对导出的预测运动矢量候选分配预测运动矢量索引的值。并且,预测运动矢量候选计算部116将预测运动矢量候选和预测运动矢量索引向帧间预测控制部114发送。此外,预测运动矢量候选计算部116将计算出的预测运动矢量候选数向可变长编码部104发送。
帧间预测控制部114与帧间预测部111一起,使用通过运动检测导出的运动矢量生成帧间预测图像。并且,帧间预测控制部114与帧间预测部111一起使用帧间预测图像进行帧间预测编码。
此外,帧间预测控制部114用后述的方法选择适合于在帧间预测编码中使用的运动矢量的编码的预测运动矢量候选。并且,帧间预测控制部114将与所选择的预测运动矢量候选对应的预测运动矢量索引和预测的误差信息向可变长编码部104发送。
参照图片列表计算部115用后述的方法计算用来将编码对象图片或片段编码的参照图片列表,向帧间预测控制部114及预测运动矢量候选计算部116输出。并且,参照图片列表计算部115将用来计算在编码中使用的参照图片列表的参数作为参照图片列表信息向可变长编码部104输出。
正交变换部102对所生成的预测图像数据与输入图像的预测误差数据进行从像素域向频率域的变换。量化部103对向频率域变换后的预测误差数据进行量化处理。
可变长编码部104通过对量化处理后的预测误差数据、预测方向标志、图片类型信息及参照图片列表信息进行可变长编码处理,生成比特流。此外,可变长编码部104将预测运动矢量候选数设定为预测运动矢量候选列表的尺寸。并且,可变长编码部104对在运动矢量编码中使用的预测运动矢量索引分配根据预测运动矢量候选列表的尺寸决定的位列,进行可变长编码。
图3是有关本实施方式的图像编码方法的处理流程的概要。首先,参照图片列表计算部115用后述的方法计算编码对象图片或片段的参照图片列表(S101)。
可变长编码部104将参照图片列表信息编码,将编码后的参照图片列表信息向头附加。即,可变长编码部104将在参照图片列表的计算中使用的参数作为参照图片列表信息,向SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)或片段头等附加(S102)。
帧间预测控制部114进行运动检测,决定编码对象块的预测方向、参照图片索引及运动矢量(S103)。帧间预测控制部114在运动检测中,例如计算编码对象图片内的编码对象块与参照图片内的块的差分值,将差分值最小的参照图片内的块决定为参照块。并且,帧间预测控制部114使用根据编码对象块的位置和参照块的位置求出运动矢量的方法等。
此外,帧间预测控制部114对第1预测方向的参照图片及第2预测方向的参照图片分别进行运动检测。并且,帧间预测控制部114例如使用表示R-D最优化模型的式1等,选择第1预测方向、第2预测方向或双向预测。
(式1)Cost=D+λ×R
在式1中,D表示编码畸变。例如,在D中使用通过使用由某个运动矢量生成的预测图像对编码对象块进行编码及解码而得到的像素值与编码对象块的原来的像素值的差分绝对值和等。此外,R表示产生代码量。例如,使用通过在预测图像生成中使用的运动矢量的编码产生的代码量等。此外,λ是拉格朗日的未定乘数。
预测运动矢量候选计算部116根据图4所示那样的编码对象块的相邻块及co-located块,生成图5所示那样的预测运动矢量候选。并且,帧间预测控制部114通过图6所示那样的流程,决定在运动矢量的编码中使用的预测运动矢量的索引即预测运动矢量索引,计算差分运动矢量(S104)。这里,所谓差分运动矢量,是运动矢量与预测运动矢量的差分。
可变长编码部104将预测方向、参照图片索引、预测运动矢量索引及差分运动矢量可变长编码(S105)。
在本实施方式中,首先表示图像编码装置100在不参照别的视角的图片而将编码对象图片编码的情况下计算参照图片列表的方法。该方法例如在将仅包含基础视角的序列编码的情况下等使用。
图7是图3的S101的详细的处理流程,表示不参照别的视角的图片的情况下的参照图片列表的计算方法。以下,对图7进行说明。
参照图片列表计算部115计算显示顺序(POC:Picture Order Count)比编码对象图片靠前、并且在帧间预测中能够参照的短时图片(Short Term Picture)的显示顺序及其张数(NumPocStCurrBefore)(S301)。
接着,参照图片列表计算部115计算显示顺序比编码对象图片靠后、并且在帧间预测中能够参照的短时图片的显示顺序及其张数(NumPocStCurrAfter)(S302)。
接着,参照图片列表计算部115计算在帧间预测中能够参照的长时图片(LongTerm Picture)的显示顺序及其张数(NumPocLtCurr)(S303)。
接着,参照图片列表计算部115通过将NumPocStCurrBefore、NumPocStCurrAfter及NumPocLtCurr相加,计算在帧间预测中能够参照的参照图片的合计张数(NumPocTotalCurr)(S304)。
接着,参照图片列表计算部115通过后述的方法,计算第1预测方向的参照图片列表RefPicList0(S305)。并且,参照图片列表计算部115计算第2预测方向的参照图片列表RefPicList1(S306)。
图8是图7的S305的详细的处理流程,表示计算第1预测方向的参照图片列表RefPicList0的方法。以下,对图8进行说明。
首先,参照图片列表计算部115将与在图7的S301中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp0中追加计算出的NumPocStCurrBefore张(S401)。接着,参照图片列表计算部115将与在图7的S302中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp0中追加计算出的NumPocStCurrAfter张(S402)。
接着,参照图片列表计算部115将与在图7的S303中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp0中追加计算出的NumPocLtCurr张(S403)。
接着,参照图片列表计算部115使用在S401到S403中得到的参照图片列表RefPicListTemp0计算参照图片列表RefPicList0。计算的参照图片列表RefPicList0的参照图片的张数等于能够从编码对象图片(或片段)在第1预测方向中参照的参照图片的张数(num_ref_l0_active_minus1+1)。
参照图片列表计算部115根据标志的值计算参照图片列表RefPicList0。具体而言,参照图片列表计算部115判断表示是否将第1预测方向的参照图片列表修正的标志ref_pic_list_modification_flag_l0是否是1(S404)。
并且,如果是真(S404中是),则参照图片列表计算部115根据参照图片列表RefPicListTemp0和list_entry_l0[cIdx](cIdx是从0到num_ref_l0_active_minus1)的值,计算参照图片列表RefPicList0(S405)。
具体而言,参照图片列表计算部115对RefPicList0[cIdx]分配RefPicListTemp0[list_entry_l0[cIdx]],计算参照图片列表RefPicList0。
这里,list_entry_l0[cIdx]是为了将第1预测方向的参照图片列表修正而使用的参数(修正列表)。该参数用于将第cIdx个参照图片索引分配给第list_entry_l0[cIdx]个参照图片索引,被附加到片段头等中。
另外,list_entry_l0[cIdx]的值的范围基于NumPocTotalCurr的值,被限定为0以上且(NumPocTotalCurr-1)以下。
在假的情况下(S404中否),参照图片列表计算部115使用参照图片列表RefPicListTemp0计算参照图片列表RefPicList0(S406)。具体而言,参照图片列表计算部115对RefPicList0[cIdx]分配RefPicListTemp0[cIdx],计算参照图片列表RefPicList0。
图9是图7的S306的详细的处理流程,表示计算第2预测方向的参照图片列表RefPicList1的方法。以下,对图9进行说明。
首先,参照图片列表计算部115将与在图7的S302中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp1中追加计算出的NumPocStCurrAfter张(S501)。接着,参照图片列表计算部115将与在图7的S301中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp1中追加计算出的NumPocStCurrBefore张(S502)。
接着,参照图片列表计算部115将与在图7的S303中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp1中追加计算出的NumPocLtCurr张(S503)。
接着,参照图片列表计算部115使用在S501到S503中得到的参照图片列表RefPicListTemp1计算参照图片列表RefPicList1。计算的参照图片列表RefPicList1的参照图片的张数等于从编码对象图片(或片段)在第2预测方向中能够参照的参照图片的张数(num_ref_l1_active_minus1+1)。
参照图片列表计算部115根据标志的值计算参照图片列表RefPicList1。具体而言,参照图片列表计算部115判断表示是否将第2预测方向的参照图片列表修正的标志ref_pic_list_modification_flag_l1是否是1(S504)。
并且,如果是真(S504中是),则参照图片列表计算部115根据参照图片列表RefPicListTemp1和list_entry_l1[cIdx](cIdx是从0到num_ref_l1_active_minus1)的值,计算参照图片列表RefPicList1(S505)。
具体而言,参照图片列表计算部115对RefPicList1[cIdx]分配RefPicListTemp1[list_entry_l1[cIdx]],计算参照图片列表RefPicList1。
这里,list_entry_l1[cIdx]是用于将第2预测方向的参照图片列表修正的参数(修正列表)。该参数被用于将第cIdx个参照图片索引向第list_entry_l1[cIdx]个参照图片索引分配,被附加到片段头等中。
另外,list_entry_l1[cIdx]的值的范围基于NumPocTotalCurr的值被想定位0以上且(NumPocTotalCurr-1)以下。
在假的情况下(S504中否),参照图片列表计算部115使用参照图片列表RefPicListTemp1计算参照图片列表RefPicList1(S506)。具体而言,参照图片列表计算部115对RefPicList1[cIdx]分配RefPicListTemp1[cIdx],计算参照图片列表RefPicList1。
图10是表示不使用别的视角的图片作为参照图片的情况下的参照图片的例子的图。
在图10的例子中,显示顺序比编码对象图片靠前、并且在帧间预测中能够参照的短时图片是短时图片St1及St2,其张数NumPocStCurrBefore是2。此外,显示顺序比编码对象图片靠后、并且在帧间预测中能够参照的短时图片是短时图片St3及St4,其张数NumPocStCurrAfter是2。
此外,在帧间预测中能够参照的长时图片是长时图片Lt,其张数NumPocLtCurr是1。在此情况下,编码对象图片在帧间预测中能够参照的张数NumPocTotalCurr是5(=2+2+1)。
在图10那样的情况下,例如在(num_ref_l0_active_minus1+1)是5、并且ref_pic_list_modification_flag_l0是0的情况下,对于第1预测方向的参照图片列表RefPicList0,以St2、St1、St3、St4、Lt的顺序分配参照图片。
此外,例如在(num_ref_l1_active_minus1+1)是5、并且ref_pic_list_modification_flag_l1是0的情况下,对于第2预测方向的参照图片列表RefPicList1,以St3、St4、St2、St1、Lt的顺序分配参照图片。
此外,例如在(num_ref_l0_active_minus1+1)是5、并且ref_pic_list_modification_flag_l0是1、并且List_entry_l0的值是{4,3,2,1,0}的情况下,对于第1预测方向的参照图片列表RefPicList0,以Lt、St4、St3、St1、St2的顺序分配参照图片。
此外,例如在(num_ref_l1_active_minus1+1)是5、并且ref_pic_list_modification_flag_l1是1、List_entry_l1的值是{1,0,4,2,3}的情况下,对于第2预测方向的参照图片列表RefPicList1,以St4、St3、Lt、St2、St1的顺序分配参照图片。
图11A到图11D表示将在参照图片列表计算中使用的参数作为参照图片列表信息向SPS、PPS或片段头等附加的情况下的句法的例子。
在图11A中,Lists_modification_present_flag是表示是否存在表示是否将参照图片列表修正的标志的标志。short_term_ref_pic_set(i)是用来指定短时图片的句法。long_term_ref_pics_present_flag是表示是否存在长时图片的标志。
在图11B中,Short_term_ref_pic_set(num_short_term_ref_pic_sets)是用来指定短时图片的句法。num_long_term_pics是长时图片的张数。num_ref_idx_l0_active_minus1是能够在第1预测方向上参照的参照图片的张数。num_ref_idx_l1_active_minus1是能够在第2预测方向上参照的参照图片的张数。
在图11C中,各要素是用来指定短时图片的参数。
在图11D中,ref_pic_list_modification_flag_l0是表示是否将第1预测方向的参照图片列表修正的标志。ref_pic_list_modification_flag_l1是表示是否将第2预测方向的参照图片列表修正的标志。
此外,List_entry_l0[i]是用来将向第1预测方向的参照图片列表分配的参照图片变更的参数。list_entry_l1[i]是用来将向第2预测方向的参照图片列表分配的参照图片变更的参数。list_entry_l0[i]及list_entry_l1[i]被限定为0以上NumPocTotalCurr-1。
在将0或1用X表示的情况下,由List_entry_lX[i]确定参照图片列表LX中的参照图片的索引。list_entry_lX[i]的长度是Ceil(Log2(NumPocTotalCurr))位。list_entry_lX[i]被限定为0以上NumPocTotalCurr-1。在不存在list_entry_lX[i]的情况下,将List_entry_lX[i]作为0处置。
此外,作为参照图片列表,有RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll、RefPicSetLtCurr及RefPicSetLtFoll。NumPocTotalCurr等于NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr。在P片段或B片段的编码及解码中,NumPocTotalCurr不是0。
图12A及图12B表示参照图片列表RefPicList0的计算例。参照图片列表RefPicList0的计算在P片段或B片段的头的编码及解码中进行。NumRpsCurrTempList0是num_ref_idx_l0_active_minus1+1及NumPocTotalCurr的较大者。更具体地讲,图12A表示RefPicListTemp0的计算例,图12B表示RefPicList0的计算例。
图12C及图12D表示参照图片列表RefPicList1的计算例。参照图片列表RefPicList1的计算在B片段的头的编码及解码中进行。NumRpsCurrTempList1是num_ref_idx_l1_active_minus1+1及NumPocTotalCurr的较大者。更具体地讲,图12C表示RefPicListTemp1的计算例,图12D表示RefPicList1的计算例。
在本实施方式中,在不参照别的视角的情况下,例如在将基础视角编码的情况下,对于在帧间预测中能够参照的参照图片的张数NumPocTotalCurr,设定NumPocStCurrBefore、NumPocStCurrAfter及NumPocLtCurr的总和。并且,能够基于NumPocTotalCurr的值设定的值使用变动的list_entry_l0及list_entry_l1等的参数。
由此,能够将向参照图片列表分配的参照图片灵活地变更,编码效率提高。
接着,表示参照别的视角的情况下的参照图片列表的计算方法。例如,在图像编码装置100将包含基础视角及非基础视角的多视点影像编码的情况下等使用以下的计算方法。
图13是图3的S101的详细的处理流程,表示有可能从编码对象图片参照别的视角的图片的情况下的参照图片列表的计算方法。以下,对图13进行说明。
参照图片列表计算部115计算显示顺序(POC:Picture Order Count)比编码对象图片靠前、并且在帧间预测中能够参照的短时图片(Short Term Picture)的显示顺序及其张数(NumPocStCurrBefore)(S601)。
接着,参照图片列表计算部115计算显示顺序比编码对象图片靠后、并且在帧间预测中能够参照的短时图片的显示顺序及其张数(NumPocStCurrAfter)(S602)。
接着,参照图片列表计算部115计算在帧间预测中能够参照的长时图片(LongTerm Picture)的显示顺序及其张数(NumPocLtCurr)(S603)。
接着,参照图片列表计算部115通过将NumPocStCurrBefore、NumPocStCurrAfter及NumPocLtCurr相加,计算在帧间预测中能够参照的参照图片的合计张数(NumPocTotalCurr)(S604)。
接着,参照图片列表计算部115判断编码对象图片是否包含在非基础视角中(S605)。另外,该判断例如也可以基于对各视角的编码(解码)顺序分配的VOIdx(ViewOrder Index)、特定的nal_type或分配给各视角的view_id等进行。判断的方法是怎样的方法都可以。
在本实施方式的例子中,使用VOIdx。在VOIdx是0的情况下,参照图片列表计算部115判断为编码对象图片包含在基础视角中。另一方面,在VOIdx不是0的情况下,参照图片列表计算部115判断为编码对象图片包含在非基础视角中。
在判断结果是真的情况下(S605中是),即在编码对象图片包含在非基础视角中的情况下,参照图片列表计算部115将num_inter-view_reference[VOIdx]加到NumPocTotalCurr中(S606)。
这里,num_inter-view_reference[VOIdx]是从编码对象图片在视角间预测中能够参照的参照图片的张数。此外,所谓视角间预测,表示参照与编码对象图片属于的视角不同的视角的图片生成预测图像。
接着,参照图片列表计算部115通过后述的方法,计算第1预测方向的参照图片列表RefPicList0及第2预测方向的参照图片列表RefPicList1(S607、S608)。
图14是图13的S607的详细的处理流程,表示计算第1预测方向的参照图片列表RefPicList0的方法。以下,对图14进行说明。
首先,参照图片列表计算部115将与在图13的S601中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp0追加计算出的NumPocStCurrBefore张(S701)。接着,参照图片列表计算部115将与在图13的S602中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp0中追加计算出的NumPocStCurrAfter张(S702)。
接着,参照图片列表计算部115将与在图13的S603中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp0中追加计算出的NumPocLtCurr张(S703)。
接着,参照图片列表计算部115判断编码对象图片是否包含在非基础视角中(S704)。另外,该判断例如也可以基于对各视角的编码(解码)顺序分配的VOIdx(ViewOrder Index)、特定的nal_type或分配给各视角的view_id等进行。判断的方法是怎样的方法都可以。
在本实施方式的例子中使用VOIdx。在VOIdx是0的情况下,参照图片列表计算部115判断为编码对象图片包含在基础视角中。另一方面,在VOIdx不是0的情况下,参照图片列表计算部115判断为编码对象图片包含在非基础视角中。
在判断结果是真的情况下(S704中是),即在编码对象图片包含在非基础视角中的情况下,参照图片列表计算部115将参照图片向参照图片列表RefPicListTemp0追加(S705)。具体而言,在此情况下,参照图片列表计算部115将从编码对象图片能够使用视角间预测参照的参照图片向参照图片列表RefPicListTemp0中追加num_inter-view_reference[VOIdx]张。
接着,参照图片列表计算部115使用在S701到S705中得到的参照图片列表RefPicListTemp0计算参照图片列表RefPicList0。计算的参照图片列表RefPicList0的参照图片的张数等于从编码对象图片(或片段)在第1预测方向上能够参照的参照图片的张数(num_ref_l0_active_minus1+1)。
参照图片列表计算部115根据标志的值计算参照图片列表RefPicList0。具体而言,参照图片列表计算部115判断表示是否将第1预测方向的参照图片列表修正的标志ref_pic_list_modification_flag_l0是否是1(S706)。
并且,如果是真(S706中是),则参照图片列表计算部115根据参照图片列表RefPicListTemp0和List_entry_l0[cIdx](cIdx是从0到num_ref_l0_active_minus1)的值,计算参照图片列表RefPicList0(S707)。
具体而言,参照图片列表计算部115对RefPicList0[cIdx]分配RefPicListTemp0[list_entry_l0[cIdx]],计算参照图片列表RefPicList0。
这里、List_entry_l0[cIdx]是为了将第1预测方向的参照图片列表修正而使用的参数(修正列表)。该参数被用于将第cIdx个参照图片索引向第List_entry_l0[cIdx]个参照图片索引分配,被附加到片段头等中。
另外,List_entry_l0[cIdx]的值的范围基于NumPocTotalCurr的值,被限定为0以上且(NumPocTotalCurr-1)以下。
在假的情况下(S706中否),参照图片列表计算部115使用参照图片列表RefPicListTemp0计算参照图片列表RefPicList0(S708)。具体而言,参照图片列表计算部115对RefPicList0[cIdx]分配RefPicListTemp0[cIdx],计算参照图片列表RefPicList0。
图15是图13的S608的详细的处理流程,表示计算第2预测方向的参照图片列表RefPicList1的方法。以下,对图15进行说明。
首先,参照图片列表计算部115将与在图13的S602中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp1中追加计算出的NumPocStCurrAfter张(S801)。接着,参照图片列表计算部115将与在图13的S601中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp1中追加计算出的NumPocStCurrBefore张(S802)。
接着,参照图片列表计算部115将与在图13的S603中计算出的显示顺序对应的参照图片向参照图片列表RefPicListTemp1中追加计算出的NumPocLtCurr张(S803)。
接着,参照图片列表计算部115判断编码对象图片是否包含在非基础视角中(S804)。另外,该判断例如也可以基于对各视角的编码(解码)顺序分配的VOIdx(ViewOrder Index)、特定的nal_type或分配给各视角的view_id等进行。判断的方法是怎样的方法都可以。
在本实施方式的例子中,使用VOIdx。在VOIdx是0的情况下,参照图片列表计算部115判断为编码对象图片包含在基础视角中。另一方面,在VOIdx不是0的情况下,参照图片列表计算部115判断为编码对象图片包含在非基础视角中。
在判断结果是真的情况下(S804中是),即在编码对象图片包含在非基础视角中的情况下,参照图片列表计算部115将参照图片向参照图片列表RefPicListTemp1追加(S805)。具体而言,在此情况下,参照图片列表计算部115将从编码对象图片能够使用视角间预测参照的参照图片向参照图片列表RefPicListTemp1追加num_inter-view_reference[VOIdx]张。
接着,参照图片列表计算部115使用在S801到S805中得到的参照图片列表RefPicListTemp1计算参照图片列表RefPicList1。计算的参照图片列表RefPicList1的参照图片的张数等于从编码对象图片(或片段)在第2预测方向上能够参照的参照图片的张数(num_ref_l1_active_minus1+1)。
参照图片列表计算部115根据标志的值计算参照图片列表RefPicList1。具体而言,参照图片列表计算部115判断表示是否将第2预测方向的参照图片列表修正的标志ref_pic_list_modification_flag_l1是否是1(S806)。
并且,如果是真(S806中是),则参照图片列表计算部115根据参照图片列表RefPicListTemp1和List_entry_l1[cIdx](cIdx是从0到num_ref_l1_active_minus1)的值,计算参照图片列表RefPicList1(S807)。
具体而言,参照图片列表计算部115对RefPicList1[cIdx]分配RefPicListTemp1[list_entry_l1[cIdx]],计算参照图片列表RefPicList1。
这里,List_entry_l1[cIdx]是为了将第2预测方向的参照图片列表修正而使用的参数(修正列表)。该参数被用于将第cIdx个参照图片索引向第List_entry_l1[cIdx]个参照图片索引分配,向片段头等附加。
另外,List_entry_l1[cIdx]的值的范围基于NumPocTotalCurr的值,限定于0以上且(NumPocTotalCurr-1)以下。
在假的情况下(S806中否),参照图片列表计算部115使用参照图片列表RefPicListTemp1计算参照图片列表RefPicList1(S808)。具体而言,参照图片列表计算部115对RefPicList1[cIdx]分配RefPicListTemp1[cIdx],计算参照图片列表RefPicList1。
图16是表示使用别的视角的图片作为参照图片的情况下的参照图片的例子的图。在图16的例子中,编码对象图片属于非基础视角,VOIdx是2。
此外,显示顺序比编码对象图片靠前、并且在帧间预测中能够参照的短时图片是短时图片St1及St2,其张数NumPocStCurrBefore是2。此外,显示顺序比编码对象图片靠后且在帧间预测中能够参照的短时图片是短时图片St3及St4,其张数NumPocStCurrAfter是2。
此外,在帧间预测中能够参照的长时图片是长时图片Lt,其张数NumPocLtCurr是1。此外,在视角帧间预测中能够参照的参照图片(inter-view参照图片)是inter-view参照图片Iv1及Iv2,其张数num_inter-view_reference[VOIdx]是2。
在此情况下,编码对象图片在帧间预测中能够参照的张数NumPocTotalCurr是5(=2+2+1)。对该值加上在视角间预测中能够参照的张数num_inter-view_reference[VOIdx]。由此,NumPocTotalCurr被设定为7。
在图16那样的情况下,例如在(num_ref_l0_active_minus1+1)是5、并且ref_pic_list_modification_flag_l0是0的情况下,对于第1预测方向的参照图片列表RefPicList0,以St2、St1、St3、St4、Lt、Iv1、Iv2的顺序分配参照图片。
此外,例如在(num_ref_l1_active_minus1+1)是5、并且ref_pic_list_modification_flag_l1是0的情况下,对于第2预测方向的参照图片列表RefPicList1,以St3、St4、St2、St1、Lt、Iv1、Iv2的顺序分配参照图片。
此外,例如在(num_ref_l0_active_minus1+1)是5、并且ref_pic_list_modification_flag_l0是1、并且List_entry_l0的值是{6,5,4,3,2,1,0}的情况下,对于第1预测方向的参照图片列表RefPicList0,以Iv2、Iv1、Lt、St4、St3、St1、St2的顺序分配参照图片。
此外,例如在(num_ref_l1_active_minus1+1)是5、并且ref_pic_list_modification_flag_l1是1、并且List_entry_l1的值是{1,0,4,2,3,6,5}的情况下,对于第2预测方向的参照图片列表RefPicList1,以St4、St3、Lt、St2、St1、Iv2、Iv1的顺序分配参照图片。
在参照别的视角的情况下,也使用图11A到图11D所示的句法。
此外,如上述那样,作为参照图片列表,有RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll、RefPicSetLtCurr及RefPicSetLtFoll。NumPocTotalCurr等于NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurr。在P片段或B片段的编码及解码中,NumPocTotalCurr不是0。
除此以外,如果编码对象图片包含在非基础视角中(VOIdx!=0),则将在视角间预测中能够参照的参照图片的张数num_inter-view_reference[VOIdx]加到NumPocTotalCurr中。另外,在MVC(多视点影像编码)中,num_inter-view_reference等于num_anchor_refs_lX[i]或num_anchor_refs_lX[i]。
此外,在参照别的视角的情况下,也可以在第1预测方向的参照图片列表RefPicList0的计算中使用图12A及图12B所示的计算例。除此以外,如果编码对象图片包含在非基础视角中(VOIdx!=0),则将在视角间预测中能够参照的参照图片向参照图片列表RefPicListTemp0追加。追加的参照图片的数量等于num_inter-view_reference。
具体而言,在从0到num_inter-view_reference[VOIdx]-1的参照视角索引j中,将与Inter-view_reference[VOIdx][j]对应的参照图片向RefPicListTemp0及RefPicList0追加。
同样,在参照别的视角的情况下,也可以在第2预测方向的参照图片列表RefPicList1的计算中使用图12C及图12D所示的计算例。除此以外,如果编码对象图片包含在非基础视角中(VOIdx!=0),则将在视角间预测中能够参照的参照图片向参照图片列表RefPicListTemp1追加。追加的参照图片的数等于num_inter-view_reference。
具体而言,关于从0到num_inter-view_reference[VOIdx]-1的参照视角索引j,将与Inter-view_reference[VOIdx][j]对应的参照图片向RefPicListTemp1及RefPicList1追加。
在本实施方式中,在从编码对象图片参照别的视角的图片的情况下,例如,在将包含在非基础视角中的图片编码的情况下,将别的视角的图片作为参照图片向编码对象图片的参照图片列表追加。由此,将别的视角的图片在参照图片列表中设定为可参照,编码效率提高。
此外,在帧间预测中能够参照的参照图片的张数NumPocTotalCurr中,设定NumPocStCurrBefore、NumPocStCurrAfter及NumPocLtCurr的总和。
进而,对NumPocTotalCurr加上在视角间预测中能够参照的参照图片的张数num_inter-view_reference[VOIdx]。由此,计算NumPocTotalCurr。并且,能够基于NumPocTotalCurr的值设定的值使用变动的list_entry_l0及list_entry_l1等的参数。
由此,能够将向参照图片列表分配的参照图片灵活地变更,编码效率提高。
另外,在本实施方式中,作为例子而表示从编码对象图片参照别的视角的图片的情况,例如将包含在非基础视角中的图片编码的情况。但是,应用范围并不限定于此。例如,在从编码对象图片参照别的层的图片的情况下,也可以采用在本实施方式中表示的方法。
例如,也可以将在本实施方式中表示的方法应用到SVC(Scalable VideoCoding)等中。在此情况下,例如在能够在帧间预测中参照的张数NumPocTotalCurr中,设定NumPocStCurrBefore、NumPocStCurrAfter及NumPocLtCurr的总和。进而,也可以对NumPocTotalCurr加上在包含在别的层中的可参照的参照图片的张数。
并且,与上述同样,能够基于NumPocTotalCurr的值设定的值使用变动的list_entry_l0及list_entry_l1等的参数。由此,能够将对参照图片列表分配的参照图片灵活地变更,编码效率提高。
(实施方式2)
图17是表示有关本实施方式的图像解码装置的结构的块图。如图17那样,图像解码装置200具备可变长解码部204、逆量化部205、逆正交变换部206、加法部207、块存储器208、帧存储器209、帧内预测部210、帧间预测部211、切换部212、帧间预测控制部214、参照图片列表计算部215及预测运动矢量候选计算部216。
可变长解码部204对输入的比特流进行可变长解码处理,生成图片类型信息、预测方向标志、量化系数及参照图片列表信息。此外,可变长解码部204使用从头等解码出的预测运动矢量候选数,进行预测运动矢量索引的可变长解码处理。
逆量化部205对通过可变长解码处理得到的量化系数进行逆量化处理。逆正交变换部206将在逆量化处理中得到的正交变换系数从频率域向像素域变换,生成预测误差图像数据。块存储器208将通过预测误差图像数据和预测图像数据的相加生成的图像以块单位保存。并且,帧存储器209将图像以帧单位保存。
帧内预测部210通过使用保存在块存储器208中的块单位的图像执行帧内预测,生成解码对象块(现块)的预测误差图像数据。帧间预测部211通过使用保存在帧存储器209中的帧单位的图像执行帧间预测,生成解码对象块的预测误差图像数据。
参照图片列表计算部215通过后述的方法计算用来将解码对象图片(现图片)或片段解码的参照图片列表,向帧间预测控制部214及预测运动矢量候选计算部216输出。
预测运动矢量候选计算部216使用解码对象块的相邻块的运动矢量等的信息及保存在colPic存储器中的co-located块的运动矢量等的信息将预测运动矢量候选导出。此外,预测运动矢量候选计算部216对所导出的预测运动矢量候选分配预测运动矢量索引的值,将预测运动矢量候选向帧间预测控制部214发送。
帧间预测控制部214从预测运动矢量候选中,基于解码后的预测运动矢量索引,计算在帧间预测中使用的运动矢量,使用计算出的运动矢量生成帧间预测图像。
最后,加法部207通过将解码后的预测图像数据与预测误差图像数据相加,生成解码图像。
图18是有关本实施方式的图像解码方法的处理流程的概要。首先,可变长解码部204从SPS、PPS或片段头等中解码在参照图片列表的计算中使用的参照图片列表信息(S901)。参照图片列表计算部215用与图7或图13同样的方法计算参照图片列表(S902)。可变长解码部204将预测方向标志、参照图片索引及差分运动矢量解码(S903)。
预测运动矢量候选计算部216基于解码对象块的相邻块及co-located块生成预测运动矢量候选。此外,可变长解码部204使用通过可变长解码得到的预测运动矢量候选列表尺寸,将比特流中包含的预测运动矢量索引可变长解码(S904)。
帧间预测控制部214通过对解码后的预测运动矢量索引表示的预测运动矢量候选加上解码后的差分运动矢量,计算运动矢量。并且,帧间预测部211生成帧间预测图像(S905)。
另外,在图18的S902中,在不参照别的视角的图片而将解码对象图片解码的情况下,参照图片列表计算部215通过与图7同样的方法计算参照图片列表。并且,在参照别的视角的图片将解码对象图片解码的情况下,参照图片列表计算部215通过与图13同样的方法,计算参照图片列表。
在本实施方式中,在不参照别的视角的情况下,例如在将基础视角解码的情况下,在帧间预测中能够参照的参照图片的张数NumPocTotalCurr中设定NumPocStCurrBefore、NumPocStCurrAfter及NumPocLtCurr的总和。并且,能够基于NumPocTotalCurr的值设定的值使用变动的list_entry_l0及list_entry_l1等的参数。
由此,能够将向参照图片列表分配的参照图片灵活地变更。因而,能够进行与高效率的编码对应的解码。
此外,在本实施方式中,在从解码对象图片参照别的视角的图片的情况下,例如在将包含在非基础视角中的图片解码的情况下,将别的视角的图片作为参照图片向解码对象图片的参照图片列表追加。由此,将别的视角的图片在参照图片列表中设定为可参照。因而,能够进行与高效率的编码对应的解码。
此外,在帧间预测中能够参照的参照图片的张数NumPocTotalCurr中设定NumPocStCurrBefore、NumPocStCurrAfter及NumPocLtCurr的总和。
进而,对于NumPocTotalCurr加上在视角间预测中能够参照的参照图片的张数num_inter-view_reference[VOIdx]。并且,能够基于NumPocTotalCurr的值设定的值使用变动的list_entry_l0及list_entry_l1等的参数。
由此,将向参照图片列表分配的参照图片灵活地变更。因而,能够进行高效率的编码对应的解码。
另外,在本实施方式中,作为例子而表示从解码对象图片参照别的视角的图片的情况,例如将包含在非基础视角中的图片解码的情况。但是,应用范围并不限定于此。例如,在从解码对象图片参照别的层的图片的情况下,也可以采用在本实施方式中表示的方法。
例如,也可以将在本实施方式中表示的方法应用于SVC(Scalable VideoCoding)等。在此情况下,例如在帧间预测中能够参照的张数NumPocTotalCurr中设定NumPocStCurrBefore、NumPocStCurrAfter及NumPocLtCurr的总和。进而,也可以对NumPocTotalCurr加上包含在别的层中的能够参照的参照图片的张数。
并且,与上述同样,能够基于NumPocTotalCurr的值设定的值使用变动的list_entry_l0及list_entry_l1等的参数。由此,将向参照图片列表分配的参照图片灵活地变更,能够进行与高效率的编码对应的解码。
(实施方式3)
在本实施方式中,确认地表示在上述多个实施方式中表示的特征性的结构及特征性的次序。
图19是表示有关本实施方式的图像编码装置的结构的块图。如图19那样,图像编码装置300具备生成部301及编码部302。生成部301对应于实施方式1的参照图片列表计算部115等。编码部302对应于实施方式1的帧间预测控制部114、帧间预测部111及可变长编码部104等。
图20是表示图19所示的图像编码装置300的动作的流程图。图像编码装置300基于以下的动作,将现图片按照块编码。
首先,生成部301对在现图片的编码中能够参照的参照图片分配参照图片索引。并且,生成部301生成包括被分配参照图片索引的参照图片的参照图片列表(S1001)。此时,生成部301在属于与现图片所属的现视角不同的参照视角的参照图片有可能在现图片的编码中被参照的情况下,将属于参照视角的参照图片向参照图片列表追加。
接着,编码部302从参照图片列表中确定在现图片中包含的现块的编码中参照的参照图片。并且,编码部302参照所确定的参照图片,将现块编码(S1002)。
由此,在能够进行视角间预测的情况下,向参照图片列表追加用于视角间预测的参照图片。因而,能够从参照图片列表中选择更适当的参照图片。由此,编码效率提高。
另外,生成部301也可以使用规定的参数(修正列表等)生成参照图片列表。并且,编码部302也可以将在参照图片列表的生成中使用的参数编码。
此外,生成部301在属于参照视角的参照图片有可能在现图片的编码中被参照的情况下,也可以计算作为在现图片的编码中能够参照的参照图片的数量的数量。例如,在此情况下,生成部301通过对属于现视角的能够参照的参照图片的数量加上属于参照视角的能够参照的参照图片的数量,计算在现图片的编码中能够参照的参照图片的数量。
并且,在此情况下,生成部301也可以基于计算出的数量决定用来将对参照图片列表中包含的参照图片分配的参照图片索引修正的修正列表的值的范围。
此外,例如生成部301也可以基于现视角是否是非基础视角来判断属于参照视角的参照图片是否有可能在现图片的编码中被参照。此外,例如,生成部301也可以基于以编码顺序对现视角分配的视角顺序索引来判断现视角是否是非基础视角。
图21是表示有关本实施方式的图像解码装置的结构的块图。如图21那样,图像解码装置400具备生成部401及解码部402。生成部401对应于实施方式2的参照图片列表计算部215等。解码部402对应于实施方式2的帧间预测控制部214、帧间预测部211及可变长解码部204等。
图22是表示图21所示的图像解码装置400的动作的流程图。图像解码装置400基于以下的动作将现图片按照块解码。
首先,生成部401对在现图片的解码中能够参照的参照图片分配参照图片索引。并且,生成部401生成包括被分配参照图片索引的参照图片的参照图片列表(S1101)。此时,生成部401在属于与现图片所属的现视角不同的参照视角的参照图片有可能在现图片的解码中被参照的情况下,将属于参照视角的参照图片向参照图片列表追加。
接着,解码部402从参照图片列表中确定在包含在现图片中的现块的解码中参照的参照图片。并且,解码部402参照所确定的参照图片,将现块解码(S1102)。
由此,在能够进行视角间预测的情况下,对参照图片列表追加用于视角间预测的参照图片。因而,能够从参照图片列表中选择更适当的参照图片。因而,能够进行与高效率的编码对应的解码。
另外,解码部402也可以将在参照图片列表的生成中使用的规定的参数(修正列表等)解码。并且,生成部401也可以使用解码后的参数生成参照图片列表。
此外,生成部401在属于参照视角的参照图片有可能在现图片的解码中被参照的情况下,也可以计算在现图片的解码中能够参照的参照图片的数量。例如,在此情况下,生成部401通过对属于现视角的能够参照的参照图片的数量加上属于参照视角的能够参照的参照图片的数量,计算在现图片的解码中能够参照的参照图片的数量。
并且,在此情况下,生成部401也可以基于计算出的数量决定用来将对参照图片列表中包含的参照图片分配的参照图片索引修正的修正列表的值的范围。
此外,例如生成部401也可以基于现视角是否是非基础视角,判断属于参照视角的参照图片是否有可能在现图片的解码中被参照。此外,例如生成部401也可以基于以解码顺序对现视角分配的视角顺序索引判断现视角是否是非基础视角。
如以上那样,有关本实施方式的图像编码装置300及图像解码装置400对参照图片列表追加别的视角的参照图片。由此,能够选择更适当的参照图片。因而,编码效率提高。
另外,在上述实施方式中,各构成要素既可以由专用的硬件构成,也可以通过执行适合于各构成要素的软件程序来实现。各构成要素也可以通过CPU或处理器等的程序执行部将记录在硬盘或半导体存储器等的记录媒体中的软件程序读出并执行来实现。这里,实现上述各实施方式的图像编码装置等的软件是以下这样的程序。
即,该程序使计算机执行图像编码方法,所述图像编码方法是将现图片按照块编码的图像编码方法,包括:生成步骤,对在上述现图片的编码中能够参照的参照图片分配参照图片索引,生成包括被分配了上述参照图片索引的上述参照图片的参照图片列表;编码步骤,从上述参照图片列表中确定在上述现图片中包含的现块的编码中参照的参照图片,参照所确定的上述参照图片,将上述现块编码;在上述生成步骤中,在属于与上述现图片所属的现视角不同的参照视角的参照图片有可能在上述现图片的编码中被参照的情况下,将属于上述参照视角的参照图片向上述参照图片列表追加。
此外,该程序也可以使计算机执行图像解码方法,所述图像解码方法是将现图片按照块解码的图像解码方法,包括:生成步骤,对在上述现图片的解码中能够参照的参照图片分配参照图片索引,生成包括被分配了上述参照图片索引的上述参照图片的参照图片列表;解码步骤,从上述参照图片列表中确定在上述现图片中包含的现块的解码中被参照的参照图片,参照所确定的上述参照图片,将上述现块解码;在上述生成步骤中,在属于与上述现图片所属的现视角不同的参照视角的参照图片有可能在上述现图片的解码中被参照的情况下,将属于上述参照视角的参照图片向上述参照图片列表追加。
此外,各构成要素也可以是电路。这些电路既可以作为整体构成1个电路,也可以是分别不同的电路。此外,各构成要素既可以由通用的处理器实现,也可以由专用的处理器实现。
以上,基于实施方式对有关一个或多个技术方案的图像编码装置等进行了说明,但本发明并不限定于该实施方式。只要不脱离本发明的主旨,对于本实施方式实施了本领域的技术人员想到的各种变形的形态、将不同的实施方式的构成要素组合而构建的形态也包含在一个或多个技术方案的范围内。
例如,图像编码解码装置也可以具备图像编码装置及图像解码装置。此外,也可以将特定的处理部执行的处理由别的处理部执行。此外,也可以将执行处理的顺序变更,也可以将多个处理并行执行。
(实施方式4)
通过将用来实现上述各实施方式所示的运动图像编码方法(图像编码方法)或运动图像解码方法(图像解码方法)的结构的程序记录到存储介质中,能够将上述各实施方式所示的处理在独立的计算机***中简单地实施。存储介质是磁盘、光盘、光磁盘、IC卡、半导体存储器等,只要是能够记录程序的介质就可以。
进而,这里说明在上述各实施方式中示出的运动图像编码方法(图像编码方法)及运动图像解码方法(图像解码方法)的应用例和使用它的***。该***的特征在于,具有由使用图像编码方法的图像编码装置及使用图像解码方法的图像解码装置构成的图像编码解码装置。关于***的其他结构,可以根据情况而适当变更。
图23是表示实现内容分发服务的内容供给***ex100的整体结构的图。将通信服务的提供区划分为希望的大小,在各小区内分别设置有作为固定无线站的基站ex106、ex107、ex108、ex109、ex110。
该内容供给***ex100在因特网ex101上经由因特网服务提供商ex102及电话网ex104、及基站ex107~ex110连接着计算机ex111、PDA(Personal Digital Assistant)ex112、照相机ex113、便携电话ex114、游戏机ex115等的各设备。
但是,内容供给***ex100并不限定于图23那样的结构,也可以将某些要素组合连接。此外,也可以不经由作为固定无线站的基站ex107~ex110将各设备直接连接在电话网ex104上。此外,也可以将各设备经由近距离无线等直接相互连接。
照相机ex113是能够进行数字摄像机等的运动图像摄影的设备,照相机ex116是能够进行数字照相机等的静止图像摄影、运动图像摄影的设备。此外,便携电话ex114是GSM(Global System for Mobile Communications)方式、CDMA(Code Division MultipleAccess)方式、W-CDMA(Wideband-Code Division Multiple Access)方式、或LTE(LongTerm Evolution)方式、HSPA(High Speed Packet Access)的便携电话机、或PHS(PersonalHandyphone System)等,是哪种都可以。
在内容供给***ex100中,通过将照相机ex113等经由基站ex109、电话网ex104连接在流媒体服务器ex103上,能够进行现场转播等。在现场转播中,对用户使用照相机ex113摄影的内容(例如音乐会现场的影像等)如在上述各实施方式中说明那样进行编码处理(即,作为本发明的一个方式的图像编码装置发挥作用),向流媒体服务器ex103发送。另一方面,流媒体服务器ex103将发送来的内容数据对有请求的客户端进行流分发。作为客户端,有能够将上述编码处理后的数据解码的计算机ex111、PDAex112、照相机ex113、便携电话ex114、游戏机ex115等。在接收到分发的数据的各设备中,将接收到的数据解码处理而再现(即,作为本发明的一个方式的图像解码装置发挥作用)。
另外,摄影的数据的编码处理既可以由照相机ex113进行,也可以由进行数据的发送处理的流媒体服务器ex103进行,也可以相互分担进行。同样,分发的数据的解码处理既可以由客户端进行,也可以由流媒体服务器ex103进行,也可以相互分担进行。此外,并不限于照相机ex113,也可以将由照相机ex116摄影的静止图像及/或运动图像数据经由计算机ex111向流媒体服务器ex103发送。此情况下的编码处理由照相机ex116、计算机ex111、流媒体服务器ex103的哪个进行都可以,也可以相互分担进行。
此外,这些编码解码处理一般在计算机ex111或各设备具有的LSIex500中处理。LSIex500既可以是单芯片,也可以是由多个芯片构成的结构。另外,也可以将运动图像编码解码用的软件装入到能够由计算机ex111等读取的某些记录介质(CD-ROM、软盘、硬盘等)中、使用该软件进行编码解码处理。进而,在便携电话ex114是带有照相机的情况下,也可以将由该照相机取得的运动图像数据发送。此时的运动图像数据是由便携电话ex114具有的LSIex500编码处理的数据。
此外,也可以是,流媒体服务器ex103是多个服务器或多个计算机,是将数据分散处理、记录、及分发的。
如以上这样,在内容供给***ex100中,客户端能够接收编码的数据而再现。这样,在内容供给***ex100中,客户端能够将用户发送的信息实时地接收、解码、再现,即使是没有特别的权利或设备的用户也能够实现个人广播。
另外,并不限定于内容供给***ex100的例子,如图24所示,在数字广播用***ex200中也能够装入上述实施方式的至少运动图像编码装置(图像编码装置)或运动图像解码装置(图像解码装置)的某个。具体而言,在广播站ex201中,将对影像数据复用了音乐数据等而得到的复用数据经由电波向通信或广播卫星ex202传送。该影像数据是通过上述各实施方式中说明的运动图像编码方法编码后的数据(即,通过本发明的一个方式的图像编码装置编码后的数据)。接受到该数据的广播卫星ex202发出广播用的电波,能够对该电波进行卫星广播接收的家庭的天线ex204接收该电波,通过电视机(接收机)ex300或机顶盒(STB)ex217等的装置将接收到的复用数据解码并将其再现(即,作为本发明的一个方式的图像解码装置发挥作用)。
此外,也可以是,在将记录在DVD、BD等的记录介质ex215中的复用数据读取并解码、或将影像数据编码再根据情况与音乐信号复用而写入记录介质ex215中的读取器/记录器ex218中也能够安装上述各实施方式所示的运动图像解码装置或运动图像编码装置。在此情况下,可以将再现的影像信号显示在监视器ex219上,通过记录有复用数据的记录介质ex215在其他装置或***中能够再现影像信号。此外,也可以是,在连接在有线电视用的线缆ex203或卫星/地面波广播的天线ex204上的机顶盒ex217内安装运动图像解码装置,将其用电视机的监视器ex219显示。此时,也可以不是在机顶盒、而在电视机内装入运动图像解码装置。
图25是表示使用在上述各实施方式中说明的运动图像解码方法及运动图像编码方法的电视机(接收机)ex300的图。电视机ex300具备经由接收上述广播的天线ex204或线缆ex203等取得或者输出对影像数据复用了声音数据的复用数据的调谐器ex301、将接收到的复用数据解调或调制为向外部发送的编码数据的调制/解调部ex302、和将解调后的复用数据分离为影像数据、声音数据或将在信号处理部ex306中编码的影像数据、声音数据复用的复用/分离部ex303。
此外,电视机ex300具备:具有将声音数据、影像数据分别解码、或将各自的信息编码的声音信号处理部ex304和影像信号处理部ex305(即,作为本发明的一个方式的图像编码装置或图像解码装置发挥作用)的信号处理部ex306;具有将解码后的声音信号输出的扬声器ex307及显示解码后的影像信号的显示器等的显示部ex308的输出部ex309。进而,电视机ex300具备具有受理用户操作的输入的操作输入部ex312等的接口部ex317。进而,电视机ex300具有合并控制各部的控制部ex310、对各部供给电力的电源电路部ex311。接口部ex317也可以除了操作输入部ex312以外,还具有与读取器/记录器ex218等的外部设备连接的桥接部ex313、用来能够安装SD卡等的记录介质ex216的插槽部ex314、用来与硬盘等的外部记录介质连接的驱动器ex315、与电话网连接的调制解调器ex316等。另外,记录介质ex216是能够通过收存的非易失性/易失性的半导体存储元件电气地进行信息的记录的结构。电视机ex300的各部经由同步总线相互连接。
首先,对电视机ex300将通过天线ex204等从外部取得的复用数据解码、再现的结构进行说明。电视机ex300接受来自遥控器ex220等的用户操作,基于具有CPU等的控制部ex310的控制,将由调制/解调部ex302解调的复用数据用复用/分离部ex303分离。进而,电视机ex300将分离的声音数据用声音信号处理部ex304解码,将分离的影像数据用影像信号处理部ex305使用在上述各实施方式中说明的解码方法解码。将解码后的声音信号、影像信号分别从输出部ex309朝向外部输出。在输出时,可以暂时将这些信号储存到缓冲器ex318、ex319等中,以使声音信号和影像信号同步再现。此外,电视机ex300也可以不是从广播等、而从磁/光盘、SD卡等的记录介质ex215、ex216读出编码的复用数据。接着,对电视机ex300将声音信号或影像信号编码、向外部发送或写入到记录介质等中的结构进行说明。电视机ex300接受来自遥控器ex220等的用户操作,基于控制部ex310的控制,由声音信号处理部ex304将声音信号编码,由影像信号处理部ex305将影像信号使用在上述各实施方式中说明的编码方法编码。将编码后的声音信号、影像信号用复用/分离部ex303复用,向外部输出。在复用时,可以暂时将这些信号储存到缓冲器ex320、ex321等中,以使声音信号和影像信号同步再现。另外,缓冲器ex318、ex319、ex320、ex321既可以如图示那样具备多个,也可以是共用一个以上的缓冲器的结构。进而,在图示以外,也可以是,在例如调制/解调部ex302或复用/分离部ex303之间等也作为避免***的上溢、下溢的缓冲部而在缓冲器中储存数据。
此外,电视机ex300除了从广播等或记录介质等取得声音数据、影像数据以外,也可以具备受理麦克风或照相机的AV输入的结构,对从它们中取得的数据进行编码处理。另外,这里,将电视机ex300作为能够进行上述编码处理、复用、及外部输出的结构进行了说明,但也可以是,不能进行这些处理,而是仅能够进行上述接收、解码处理、外部输出的结构。
此外,在由读取器/记录器ex218从记录介质将复用数据读出、或写入的情况下,上述解码处理或编码处理由电视机ex300、读取器/记录器ex218的哪个进行都可以,也可以是电视机ex300和读取器/记录器ex218相互分担进行。
作为一例,将从光盘进行数据的读入或写入的情况下的信息再现/记录部ex400的结构表示在图26中。信息再现/记录部ex400具备以下说明的单元ex401、ex402、ex403、ex404、ex405、ex406、ex407。光头ex401对作为光盘的记录介质ex215的记录面照射激光斑而写入信息,检测来自记录介质ex215的记录面的反射光而读入信息。调制记录部ex402电气地驱动内置在光头ex401中的半导体激光器,根据记录数据进行激光的调制。再现解调部ex403将由内置在光头ex401中的光检测器电气地检测到来自记录面的反射光而得到的再现信号放大,将记录在记录介质ex215中的信号成分分离并解调,再现所需要的信息。缓冲器ex404将用来记录到记录介质ex215中的信息及从记录介质ex215再现的信息暂时保持。盘马达ex405使记录介质ex215旋转。伺服控制部ex406一边控制盘马达ex405的旋转驱动一边使光头ex401移动到规定的信息轨道,进行激光斑的追踪处理。***控制部ex407进行信息再现/记录部ex400整体的控制。上述的读出及写入的处理由***控制部ex407利用保持在缓冲器ex404中的各种信息、此外根据需要而进行新的信息的生成、追加、并且一边使调制记录部ex402、再现解调部ex403、伺服控制部ex406协调动作、一边通过光头ex401进行信息的记录再现来实现。***控制部ex407例如由微处理器构成,通过执行读出写入的程序来执行它们的处理。
以上,假设光头ex401照射激光斑而进行了说明,但也可以是使用近场光进行高密度的记录的结构。
在图27中表示作为光盘的记录介质ex215的示意图。在记录介质ex215的记录面上,以螺旋状形成有导引槽(沟),在信息轨道ex230中,预先通过沟的形状的变化而记录有表示盘上的绝对位置的地址信息。该地址信息包括用来确定作为记录数据的单位的记录块ex231的位置的信息,通过在进行记录及再现的装置中将信息轨道ex230再现而读取地址信息,能够确定记录块。此外,记录介质ex215包括数据记录区域ex233、内周区域ex232、外周区域ex234。为了记录用户数据而使用的区域是数据记录区域ex233,配置在比数据记录区域ex233靠内周或外周的内周区域ex232和外周区域ex234用于用户数据的记录以外的特定用途。信息再现/记录部ex400对这样的记录介质ex215的数据记录区域ex233进行编码的声音数据、影像数据或复用了这些数据的编码数据的读写。
以上,举1层的DVD、BD等的光盘为例进行了说明,但并不限定于这些,也可以是多层构造、在表面以外也能够记录的光盘。此外,也可以是在盘的相同的地方使用不同波长的颜色的光记录信息、或从各种角度记录不同的信息的层等、进行多维的记录/再现的构造的光盘。
此外,在数字广播用***ex200中,也可以由具有天线ex205的车ex210从卫星ex202等接收数据、在车ex210具有的车载导航仪ex211等的显示装置上再现运动图像。另外,车载导航仪ex211的结构可以考虑例如在图25所示的结构中添加GPS接收部的结构,在计算机ex111及便携电话ex114等中也可以考虑同样的结构。
图28A是表示使用在上述实施方式中说明的运动图像解码方法和运动图像编码方法的便携电话ex114的图。便携电话ex114具有由用来在与基站ex110之间收发电波的天线ex350、能够拍摄影像、静止图像的照相机部ex365、显示将由照相机部ex365摄影的影像、由天线ex350接收到的影像等解码后的数据的液晶显示器等的显示部ex358。便携电话ex114还具有包含操作键部ex366的主体部、用来进行声音输出的扬声器等的声音输出部ex357、用来进行声音输入的麦克风等的声音输入部ex356、保存拍摄到的影像、静止图像、录音的声音、或者接收到的影像、静止图像、邮件等的编码后的数据或者解码后的数据的存储器部ex367、或者作为与同样保存数据的记录介质之间的接口部的插槽部ex364。
进而,使用图28B对便携电话ex114的结构例进行说明。便携电话ex114对于合并控制具备显示部ex358及操作键部ex366的主体部的各部的主控制部ex360,将电源电路部ex361、操作输入控制部ex362、影像信号处理部ex355、照相机接口部ex363、LCD(LiquidCrystal Display:液晶显示器)控制部ex359、调制/解调部ex352、复用/分离部ex353、声音信号处理部ex354、插槽部ex364、存储器部ex367经由总线ex370相互连接。
电源电路部ex361如果通过用户的操作使通话结束及电源键成为开启状态,则通过从电池组对各部供给电力,便携电话ex114起动为能够动作的状态。
便携电话ex114基于具有CPU、ROM及RAM等的主控制部ex360的控制,在语音通话模式时,将由声音输入部ex356集音的声音信号通过声音信号处理部ex354变换为数字声音信号,将其用调制/解调部ex352进行波谱扩散处理,由发送/接收部ex351实施数字模拟变换处理及频率变换处理后经由天线ex350发送。此外,便携电话ex114在语音通话模式时,将由天线ex350接收到的接收数据放大并实施频率变换处理及模拟数字变换处理,用调制/解调部ex352进行波谱逆扩散处理,通过声音信号处理部ex354变换为模拟声音数据后,将其经由声音输出部ex357输出。
进而,在数据通信模式时发送电子邮件的情况下,将通过主体部的操作键部ex366等的操作输入的电子邮件的文本数据经由操作输入控制部ex362向主控制部ex360送出。主控制部ex360将文本数据用调制/解调部ex352进行波谱扩散处理,由发送/接收部ex351实施数字模拟变换处理及频率变换处理后,经由天线ex350向基站ex110发送。在接收电子邮件的情况下,对接收到的数据执行上述处理的大致逆处理,并输出到显示部ex350。
在数据通信模式时,在发送影像、静止图像、或者影像和声音的情况下,影像信号处理部ex355将从照相机部ex365供给的影像信号通过上述各实施方式所示的运动图像编码方法进行压缩编码(即,作为本发明的一个方式的图像编码装置发挥作用),将编码后的影像数据送出至复用/分离部ex353。另外,声音信号处理部ex354对通过照相机部ex365拍摄影像、静止图像等的过程中用声音输入部ex356集音的声音信号进行编码,将编码后的声音数据送出至复用/分离部ex353。
复用/分离部ex353通过规定的方式,对从影像信号处理部ex355供给的编码后的影像数据和从声音信号处理部ex354供给的编码后的声音数据进行复用,将其结果得到的复用数据用调制/解调部(调制/解调电路部)ex352进行波谱扩散处理,由发送/接收部ex351实施数字模拟变换处理及频率变换处理后,经由天线ex350发送。
在数据通信模式时接收到链接到主页等的运动图像文件的数据的情况下,或者接收到附加了影像或者声音的电子邮件的情况下,为了对经由天线ex350接收到的复用数据进行解码,复用/分离部ex353通过将复用数据分离,分为影像数据的比特流和声音数据的比特流,经由同步总线ex370将编码后的影像数据向影像信号处理部ex355供给,并将编码后的声音数据向声音信号处理部ex354供给。影像信号处理部ex355通过与上述各实施方式所示的运动图像编码方法相对应的运动图像解码方法进行解码,由此对影像信号进行解码(即,作为本发明的一个方式的图像解码装置发挥作用),经由LCD控制部ex359从显示部ex358显示例如链接到主页的运动图像文件中包含的影像、静止图像。另外,声音信号处理部ex354对声音信号进行解码,从声音输出部ex357输出声音。
此外,上述便携电话ex114等的终端与电视机ex300同样,除了具有编码器、解码器两者的收发型终端以外,还可以考虑只有编码器的发送终端、只有解码器的接收终端的3种安装形式。另外,在数字广播用***ex200中,设为发送、接收在影像数据中复用了音乐数据等得到的复用数据而进行了说明,但除声音数据之外复用了与影像关联的字符数据等的数据也可以,不是复用数据而是影像数据本身也可以。
这样,将在上述各实施方式中表示的运动图像编码方法或运动图像解码方法用在上述哪种设备、***中都可以,通过这样,能够得到在上述各实施方式中说明的效果。
此外,本发明并不限定于这样的上述实施方式,能够不脱离本发明的范围而进行各种变形或修正。
(实施方式5)
也可以通过将在上述各实施方式中示出的运动图像编码方法或装置、与依据MPEG-2、MPEG4-AVC、VC-1等不同的标准的运动图像编码方法或装置根据需要而适当切换,来生成影像数据。
这里,在生成分别依据不同的标准的多个影像数据的情况下,在解码时,需要选择对应于各个标准的解码方法。但是,由于不能识别要解码的影像数据依据哪个标准,所以产生不能选择适当的解码方法的问题。
为了解决该问题,在影像数据中复用了声音数据等的复用数据采用包含表示影像数据依据哪个标准的识别信息的结构。以下,说明包括通过在上述各实施方式中示出的运动图像编码方法或装置生成的影像数据在内的复用数据的具体的结构。复用数据是MPEG-2传输流形式的数字流。
图29是表示复用数据的结构的图。如图29所示,复用数据通过将视频流、音频流、演示图形流(PG)、交互图形流中的1个以上进行复用而得到。视频流表示电影的主影像及副影像,音频流(IG)表示电影的主声音部分和与该主声音混合的副声音,演示图形流表示电影的字幕。这里,所谓主影像,表示显示在画面上的通常的影像,所谓副影像,是在主影像中用较小的画面显示的影像。此外,交互图形流表示通过在画面上配置GUI部件而制作的对话画面。视频流通过在上述各实施方式中示出的运动图像编码方法或装置、依据以往的MPEG-2、MPEG4-AVC、VC-1等标准的运动图像编码方法或装置编码。音频流由杜比AC-3、Dolby Digital Plus、MLP、DTS、DTS-HD、或线性PCM等的方式编码。
包含在复用数据中的各流通过PID被识别。例如,对在电影的影像中使用的视频流分配0x1011,对音频流分配0x1100到0x111F,对演示图形分配0x1200到0x121F,对交互图形流分配0x1400到0x141F,对在电影的副影像中使用的视频流分配0x1B00到0x1B1F,对与主声音混合的副声音中使用的音频流分配0x1A00到0x1A1F。
图30是示意地表示复用数据怎样被复用的图。首先,将由多个视频帧构成的视频流ex235、由多个音频帧构成的音频流ex238分别变换为PES包序列ex236及ex239,并变换为TS包ex237及ex240。同样,将演示图形流ex241及交互图形ex244的数据分别变换为PES包序列ex242及ex245,再变换为TS包ex243及ex246。复用数据ex247通过将这些TS包复用到1条流中而构成。
图31更详细地表示在PES包序列中怎样保存视频流。图31的第1段表示视频流的视频帧序列。第2段表示PES包序列。如图31的箭头yy1、yy2、yy3、yy4所示,视频流中的多个作为Video Presentation Unit的I图片、B图片、P图片按每个图片被分割并保存到PES包的有效载荷中。各PES包具有PES头,在PES头中,保存有作为图片的显示时刻的PTS(Presentation Time-Stamp)及作为图片的解码时刻的DTS(Decoding Time-Stamp)。
图32表示最终写入在复用数据中的TS包的形式。TS包是由具有识别流的PID等信息的4字节的TS头和保存数据的184字节的TS有效载荷构成的188字节固定长度的包,上述PES包被分割并保存到TS有效载荷中。在BD-ROM的情况下,对于TS包赋予4字节的TP_Extra_Header,构成192字节的源包,写入到复用数据中。在TP_Extra_Header中记载有ATS(Arrival_Time_Stamp)等信息。ATS表示该TS包向解码器的PID滤波器的转送开始时刻。在复用数据中,源包如图32下段所示排列,从复用数据的开头起递增的号码被称作SPN(源包号)。
此外,在复用数据所包含的TS包中,除了影像、声音、字幕等的各流以外,还有PAT(Program Association Table)、PMT(Program Map Table)、PCR(Program ClockReference)等。PAT表示在复用数据中使用的PMT的PID是什么,PAT自身的PID被登记为0。PMT具有复用数据所包含的影像、声音、字幕等的各流的PID、以及与各PID对应的流的属性信息,还具有关于复用数据的各种描述符。在描述符中,有指示许可/不许可复用数据的拷贝的拷贝控制信息等。PCR为了取得作为ATS的时间轴的ATC(Arrival Time Clock)与作为PTS及DTS的时间轴的STC(System Time Clock)的同步,拥有与该PCR包被转送至解码器的ATS对应的STC时间的信息。
图33是详细地说明PMT的数据构造的图。在PMT的开头,配置有记述了包含在该PMT中的数据的长度等的PMT头。在其后面,配置有多个关于复用数据的描述符。上述拷贝控制信息等被记载为描述符。在描述符之后,配置有多个关于包含在复用数据中的各流的流信息。流信息由记载有用来识别流的压缩编解码器的流类型、流的PID、流的属性信息(帧速率、纵横比等)的流描述符构成。流描述符存在复用数据中存在的流的数量。
在记录到记录介质等中的情况下,将上述复用数据与复用数据信息文件一起记录。
复用数据信息文件如图34所示,是复用数据的管理信息,与复用数据一对一地对应,由复用数据信息、流属性信息以及入口映射构成。
复用数据信息如图34所示,由***速率、再现开始时刻、再现结束时刻构成。***速率表示复用数据的向后述的***目标解码器的PID滤波器的最大转送速率。包含在复用数据中的ATS的间隔设定为成为***速率以下。再现开始时刻是复用数据的开头的视频帧的PTS,再现结束时刻设定为对复用数据的末端的视频帧的PTS加上1帧量的再现间隔的值。
流属性信息如图35所示,按每个PID登记有关于包含在复用数据中的各流的属性信息。属性信息具有按视频流、音频流、演示图形流、交互图形流而不同的信息。视频流属性信息具有该视频流由怎样的压缩编解码器压缩、构成视频流的各个图片数据的分辨率是多少、纵横比是多少、帧速率是多少等的信息。音频流属性信息具有该音频流由怎样的压缩编解码器压缩、包含在该音频流中的声道数是多少、对应于哪种语言、采样频率是多少等的信息。这些信息用于在播放器再现之前的解码器的初始化等中。
在本实施方式中,使用上述复用数据中的、包含在PMT中的流类型。此外,在记录介质中记录有复用数据的情况下,使用包含在复用数据信息中的视频流属性信息。具体而言,在上述各实施方式示出的运动图像编码方法或装置中,设置如下步骤或单元,该步骤或单元对包含在PMT中的流类型、或视频流属性信息,设定表示是通过在上述各实施方式中示出的运动图像编码方法或装置生成的影像数据的固有信息。通过该结构,能够识别通过在上述各实施方式中示出的运动图像编码方法或装置生成的影像数据、和依据其他标准的影像数据。
此外,在图36中表示本实施方式的运动图像解码方法的步骤。在步骤exS100中,从复用数据中取得包含在PMT中的流类型、或包含在复用数据信息中的视频流属性信息。接着,在步骤exS101中,判断流类型、或视频流属性信息是否表示是通过在上述各实施方式中示出的运动图像编码方法或装置生成的复用数据。并且,在判断为流类型、或视频流属性信息是通过在上述各实施方式中示出的运动图像编码方法或装置生成的复用数据情况下,在步骤exS102中,通过在上述各实施方式中示出的运动图像解码方法进行解码。此外,在流类型、或视频流属性信息表示是依据以往的MPEG-2、MPEG4-AVC、VC-1等的标准的复用数据的情况下,在步骤exS103中,通过依据以往的标准的运动图像解码方法进行解码。
这样,通过在流类型、或视频流属性信息中设定新的固有值,在解码时能够判断是否能够通过在上述各实施方式中示出的运动图像解码方法或装置解码。因而,在被输入了依据不同的标准的复用数据的情况下,也能够选择适当的解码方法或装置,所以能够不发生错误地进行解码。此外,将在本实施方式中示出的运动图像编码方法或装置、或者运动图像解码方法或装置用在上述任何设备、***中。
(实施方式6)
在上述各实施方式中示出的运动图像编码方法及装置、运动图像解码方法及装置典型地可以由作为集成电路的LSI实现。作为一例,在图37中表示1芯片化的LSIex500的结构。LSIex500具备以下说明的单元ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509,各单元经由总线ex510连接。电源电路部ex505通过在电源是开启状态的情况下对各部供给电力,起动为能够动作的状态。
例如在进行编码处理的情况下,LSIex500基于具有CPUex502、存储器控制器ex503、流控制器ex504、驱动频率控制部ex512等的控制部ex501的控制,通过AV I/Oex509从麦克风ex117及照相机ex113等输入AV信号。被输入的AV信号暂时储存在SDRAM等的外部的存储器ex511中。基于控制部ex501的控制,将储存的数据根据处理量及处理速度适当地分为多次等,向信号处理部ex507发送,在信号处理部ex507中进行声音信号的编码及/或影像信号的编码。这里,影像信号的编码处理是在上述各实施方式中说明的编码处理。在信号处理部ex507中,还根据情况而进行将编码的声音数据和编码的影像数据复用等的处理,从流I/Oex506向外部输出。将该输出的比特流向基站ex107发送、或写入到记录介质ex215中。另外,在复用时,可以暂时将数据储存到缓冲器ex508中以使其同步。
另外,在上述中,设存储器ex511为LSIex500的外部的结构进行了说明,但也可以是包含在LSIex500的内部中的结构。缓冲器ex508也并不限定于一个,也可以具备多个缓冲器。此外,LSIex500既可以形成1个芯片,也可以形成多个芯片。
此外,在上述中,假设控制部ex510具有CPUex502、存储器控制器ex503、流控制器ex504、驱动频率控制部ex512等,但控制部ex510的结构并不限定于该结构。例如,也可以是信号处理部ex507还具备CPU的结构。通过在信号处理部ex507的内部中也设置CPU,能够进一步提高处理速度。此外,作为其他例,也可以是CPUex502具备信号处理部ex507、或作为信号处理部ex507的一部分的例如声音信号处理部的结构。在这样的情况下,控制部ex501为具备具有信号处理部ex507或其一部分的CPUex502的结构。
另外,这里设为LSI,但根据集成度的差异,也有称作IC、***LSI、超级(super)LSI、特级(ultra)LSI的情况。
此外,集成电路化的方法并不限定于LSI,也可以由专用电路或通用处理器实现。也可以利用在LSI制造后能够编程的FPGA(Field Programmable Gate Array)、或能够重构LSI内部的电路单元的连接及设定的可重构处理器。
进而,如果因半导体技术的进步或派生的其他技术而出现代替LSI的集成电路化的技术,则当然也可以使用该技术进行功能模块的集成化。有可能是生物技术的应用等。
(实施方式7)
在将通过在上述各实施方式中示出的运动图像编码方法或装置生成的影像数据解码的情况下,考虑到与将依据以往的MPEG-2、MPEG4-AVC、VC-1等标准的影像数据的情况相比处理量会增加。因此,在LSIex500中,需要设定为比将依据以往的标准的影像数据解码时的CPUex502的驱动频率更高的驱动频率。但是,如果将驱动频率设得高,则发生消耗电力变高的问题。
为了解决该问题,电视机ex300、LSIex500等的运动图像解码装置采用识别影像数据依据哪个标准、并根据标准切换驱动频率的结构。图38表示本实施方式的结构ex800。驱动频率切换部ex803在影像数据是通过在上述各实施方式中示出的运动图像编码方法或装置生成的情况下,将驱动频率设定得高。并且,对执行在上述各实施方式中示出的运动图像解码方法的解码处理部ex801指示将影像数据解码。另一方面,在影像数据是依据以往的标准的影像数据的情况下,与影像数据是通过在上述各实施方式中示出的运动图像编码方法或装置生成的数据的情况相比,将驱动频率设定得低。并且,对依据以往的标准的解码处理部ex802指示将影像数据解码。
更具体地讲,驱动频率切换部ex803由图37的CPUex502和驱动频率控制部ex512构成。此外,执行在上述各实施方式中示出的运动图像解码方法的解码处理部ex801、以及依据以往的标准的解码处理部ex802对应于图37的信号处理部ex507。CPUex502识别影像数据依据哪个标准。并且,基于来自CPUex502的信号,驱动频率控制部ex512设定驱动频率。此外,基于来自CPUex502的信号,信号处理部ex507进行影像数据的解码。这里,可以考虑在影像数据的识别中使用例如在实施方式5中记载的识别信息。关于识别信息,并不限定于在实施方式5中记载的信息,只要是能够识别影像数据依据哪个标准的信息就可以。例如,在基于识别影像数据利用于电视机还是利用于盘等的外部信号,来能够识别影像数据依据哪个标准的情况下,也可以基于这样的外部信号进行识别。此外,CPUex502的驱动频率的选择例如可以考虑如图40所示的将影像数据的标准与驱动频率建立对应的查找表进行。将查找表预先保存到缓冲器ex508、或LSI的内部存储器中,CPUex502通过参照该查找表,能够选择驱动频率。
图39表示实施本实施方式的方法的步骤。首先,在步骤exS200中,在信号处理部ex507中,从复用数据中取得识别信息。接着,在步骤exS201中,在CPUex502中,基于识别信息识别影像数据是否是通过在上述各实施方式中示出的编码方法或装置生成的数据。在影像数据是通过在上述各实施方式中示出的编码方法或装置生成的数据的情况下,在步骤exS202中,CPUex502向驱动频率控制部ex512发送将驱动频率设定得高的信号。并且,在驱动频率控制部ex512中设定为高的驱动频率。另一方面,在表示是依据以往的MPEG-2、MPEG4-AVC、VC-1等的标准的影像数据的情况下,在步骤exS203中,CPUex502向驱动频率控制部ex512发送将驱动频率设定得低的信号。并且,在驱动频率控制部ex512中,设定为与影像数据是通过在上述各实施方式中示出的编码方法或装置生成的数据的情况相比更低的驱动频率。
进而,通过与驱动频率的切换连动而变更对LSIex500或包括LSIex500的装置施加的电压,由此能够进一步提高节电效果。例如,在将驱动频率设定得低的情况下,随之,可以考虑与将驱动频率设定得高的情况相比,将对LSIex500或包括LSIex500的装置施加的电压设定得低。
此外,驱动频率的设定方法只要是在解码时的处理量大的情况下将驱动频率设定得高、在解码时的处理量小的情况下将驱动频率设定得低就可以,并不限定于上述的设定方法。例如,可以考虑在将依据MPEG4-AVC标准的影像数据解码的处理量大于将通过在上述各实施方式中示出的运动图像编码方法或装置生成的影像数据解码的处理量的情况下,与上述的情况相反地进行驱动频率的设定。
进而,驱动频率的设定方法并不限定于使驱动频率低的结构。例如,也可以考虑在识别信息是通过在上述各实施方式中示出的运动图像编码方法或装置生成的影像数据的情况下,将对LSIex500或包括LSIex500的装置施加的电压设定得高,在表示是依据以往的MPEG-2、MPEG4-AVC、VC-1等的标准的影像数据的情况下,将对LSIex500或包括LSIex500的装置施加的电压设定得低。此外,作为另一例,也可以考虑在识别信息表示是通过在上述各实施方式中示出的运动图像编码方法或装置生成的影像数据的情况下,不使CPUex502的驱动停止,在表示是依据以往的MPEG-2、MPEG4-AVC、VC-1等的标准的影像数据的情况下,由于在处理中有富余,所以使CPUex502的驱动暂停。也可以考虑在识别信息表示是通过在上述各实施方式中示出的运动图像编码方法或装置生成的影像数据的情况下,也只要在处理中有富余则使CPUex502的驱动暂停。在此情况下,可以考虑与表示是依据以往的MPEG-2、MPEG4-AVC、VC-1等的标准的影像数据的情况相比,将停止时间设定得短。
这样,根据影像数据所依据的标准来切换驱动频率,由此能够实现节电化。此外,在使用电池来驱动LSIex500或包括LSIex500的装置的情况下,能够随着节电而延长电池的寿命。
(实施方式8)
在电视机、便携电话等上述的设备、***中,有时被输入依据不同的标准的多个影像数据。这样,为了使得在被输入了依据不同的标准的多个影像数据的情况下也能够解码,LSIex500的信号处理部ex507需要对应于多个标准。但是,如果单独使用对应于各个标准的信号处理部ex507,则发生LSIex500的电路规模变大、此外成本增加的问题。
为了解决该问题,采用将用来执行在上述各实施方式中示出的运动图像解码方法的解码处理部、和依据以往的MPEG-2、MPEG4-AVC、VC-1等的标准的解码处理部一部分共用的结构。图41A的ex900表示该结构例。例如,在上述各实施方式中示出的运动图像解码方法和依据MPEG4-AVC标准的运动图像解码方法在熵编码、逆量化、解块滤波器、运动补偿等的处理中有一部分处理内容共通。可以考虑如下结构:关于共通的处理内容,共用对应于MPEG4-AVC标准的解码处理部ex902,关于不对应于MPEG4-AVC标准的本发明的一个方式所特有的其他的处理内容,使用专用的解码处理部ex901。特别是,本发明在运动补偿方面具有特征,因此可以考虑例如对于运动补偿使用专用的解码处理部ex901,对于除此之外的熵解码、解块/滤波、逆量化中的某一个或者全部的处理,共用解码处理部。关于解码处理部的共用,也可以是如下结构:关于共通的处理内容,共用用来执行在上述各实施方式中示出的运动图像解码方法的解码处理部,关于MPEG4-AVC标准所特有的处理内容,使用专用的解码处理部。
此外,用图41B的ex1000表示将处理一部分共用的另一例。在该例中,采用使用与本发明的一个方式所特有的处理内容对应的专用的解码处理部ex1001、和与其他的以往标准所特有的处理内容对应的专用的解码处理部ex1002、和与在本发明的一个方式的运动图像解码方法和其他的以往标准的运动图像解码方法中共通的处理内容对应的共用的解码处理部ex1003的结构。这里,专用的解码处理部ex1001、ex1002并不一定是为本发明的一个方式、或者其他的以往标准所特有的处理内容而特殊化的,可以是能够执行其他的通用处理的结构。此外,也能够由LSIex500安装本实施方式的结构。
这样,对于在本发明的一个方式的运动图像解码方法和以往的标准的运动图像解码方法中共通的处理内容,共用解码处理部,由此能够减小LSI的电路规模并且降低成本。
产业上的可利用性
本发明例如能够在电视接收机、数字视频记录机、汽车导航仪、便携电话、数字照相机或数字摄像机等中利用。
标号说明
100、300 图像编码装置
101 减法部
102 正交变换部
103 量化部
104 可变长编码部
105、205 逆量化部
106、206 逆正交变换部
107、207 加法部
108、208 块存储器
109、209 帧存储器
110、210 帧内预测部
111、211 帧间预测部
112、212 切换部
113 图片类型决定部
114、214 帧间预测控制部
115、215 参照图片列表计算部
116、216 预测运动矢量候选计算部
200、400 图像解码装置
204 可变长解码部
301、401 生成部
302 编码部
402 解码部