一种双帧参考的立体视频编码方法及装置转让专利

申请号 : CN201110077691.1

文献号 : CN102111619B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 戴琼海刘琼

申请人 : 清华大学

摘要 :

本发明提出一种双帧参考的立体视频编码方法,包括如下步骤:输入第一路视频并判断第一路视频的当前帧的编码类型,根据当前帧的编码类型选取第一路视频的当前帧的参考帧,并对第一路视频进行编码;输入第二路视频并判断第二路视频的当前帧的编码类型,根据当前帧的编码类型选取第二路视频的当前帧的参考帧,并对第二路视频进行编码。本发明还提出一种双帧参考的立体视频编码装置。本发明对双路视频流的当前帧选取合适的参考帧,根据参考帧对当前帧进行编码,可以较大幅度地提高编码效率。并且,选取两帧作为参考帧,省去了多参考帧选择的复杂度和缓存开销,硬件实现的复杂度低。

权利要求 :

1.一种双帧参考的立体视频编码方法,其特征在于,包括如下步骤:

输入第一路视频并判断所述第一路视频的当前帧的编码类型,根据所述当前帧的编码类型选取所述第一路视频的当前帧的参考帧,并对所述第一路视频进行编码,其中,所述第一路视频中的当前帧的参考帧为一个或两个时域参考帧,输入第二路视频并判断所述第二路视频的当前帧的编码类型,根据所述第二路视频的当前帧的编码类型选取所述第二路视频的当前帧的参考帧,并对所述第二路视频进行编码,其中,所述第二路视频中的当前帧的参考帧为两个时域参考帧,或者所述第二路视频中的当前帧的参考帧为一个时域参考帧和一个视间参考帧,其中,所述第一路视频和第二路视频中的当前帧的编码类型可以为以下三种之一:I帧、P帧、B帧,所述根据所述第二路视频的当前帧的编码类型选取所述第二路视频中的当前帧的参考帧,包括如下步骤:

当判断所述第二路视频中的当前帧为I帧时,则选取所述第一路视频中的视间参考帧作为参考帧;

当判断所述第二路视频中的当前帧为P帧时,则判断所述当前帧是否为所述第二路视频的第一个P帧,如果所述当前帧为所述第二路视频的第一个P帧,则选取所述第二路视频的前一个I帧和所述第一路视频中的视间参考帧作为所述当前帧的参考帧,否则通过视间自适应参考帧选择方法选取参考帧,其中,当判断所述第二路视频中的当前帧为P帧且所述当前帧不为所述第二路视频的第一个P帧时,选取所述当前帧的参考帧,包括如下步骤:将所述第二路视频的时域上前向邻近的两个时域参考帧作为所述当前帧的参考帧,并计算第一率失真代价;

将所述第二路视频的时域上前向邻近的一个时域参考帧和所述第一路视频中的视间参考帧作为所述当前帧的参考帧,并计算第二率失真代价;

对所述第一率失真代价和第二率失真代价进行比较,当所述第一率失真代价大于所述第二率失真代价时,则选取所述第二路视频的时域上前向邻近的一个时域参考帧和所述第一路视频中的视间参考帧作为所述当前帧的参考帧,否则选取所述第二路视频的时域上前向邻近的两个时域参考帧作为所述当前帧的参考帧;

当判断所述第二路视频中的当前帧为B帧时,则选取所述第二路视频的时域上前向邻近的时域参考帧和后向邻近的时域参考帧作为所述当前帧的参考帧。

2.如权利要求1所述的立体视频编码方法,其特征在于,所述时域参考帧为与所述当前帧来自于同一路视频流的参考帧。

3.如权利要求1所述的立体视频编码方法,其特征在于,所述视间参考帧为来自于与所述当前帧不同路视频的参考帧,且所述视间参考帧与对应的所述当前帧位于同一时刻。

4.如权利要求1所述的立体视频编码方法,其特征在于,根据所述当前帧的编码类型选取所述第一路视频中的当前帧的参考帧,包括如下步骤:当判断所述第一路视频中的当前帧为I帧时,则所述当前帧不存在参考帧;

当判断所述第一路视频中的当前帧为P帧时,则判断所述当前帧是否为所述第一路视频的第一个P帧,如果所述当前帧为所述第一路视频的第一个P帧,则选取所述第一路视频的前一个I帧作为所述当前帧的参考帧,否则选取所述第一路视频的时域上前向邻近的两个时域参考帧作为参考帧;

当判断所述第一路视频流中的当前帧为B帧时,则选取时域上前向邻近的时域参考帧和后向邻近的时域参考帧作为参考帧。

5.一种双帧参考的立体视频编码装置,其特征在于,包括:

输入模块,所述输入模块用于分别输入第一路视频和第二路视频,其中,所述第一路视频和第二路视频中的当前帧的编码类型可以为以下三种之一:I帧、P帧、B帧;

参考帧选取模块,所述参考帧选取模块根据所述第一路视频中当前帧的编码类型选取参考帧,以及根据所述第二路视频中当前帧的编码类型选取参考帧,其中,所述参考帧选取模块选取一个或两个时域参考帧作为所述第一路视频中的当前帧的参考帧,所述参考帧选取模块选取两个时域参考帧,或者所述参考帧选取模块选取一个时域参考帧和一个视间参考帧作为所述第二路视频的当前帧的参考帧;

判断模块,所述判断模块用于分别判断所述第一路视频和第二路视频中当前帧的编码类型,当所述判断模块判断所述第二路视频中的当前帧为I帧时,则所述参考帧选取模块选取所述第一路视频中的视间参考帧作为参考帧;

当所述判断模块判断所述第二路视频中的当前帧为P帧时,则进一步判断所述当前帧是否为所述第二路视频的第一个P帧,如果所述当前帧为所述第二路视频的第一个P帧,则所述参考帧选取模块选取所述第二路视频的前一个I帧和所述第一路视频中的视间参考帧作为所述当前帧的参考帧,否则通过视间自适应参考帧选择方法选取参考帧,当所述判断模块判断所述第二路视频中的当前帧为P帧且所述当前帧不为所述第二路视频的第一个P帧时,所述参考帧选取模块分别计算第一率失真代价和第二率失真代价,并对所述第一率失真代价和第二率失真代价进行比较,当所述第一率失真代价大于所述第二率失真代价时,则选取所述第二路视频的时域上前向邻近的一个时域参考帧和所述第一路视频中的视间参考帧作为所述当前帧的参考帧,否则所述参考帧选取模块选取所述第二路视频的时域上前向邻近的两个时域参考帧作为所述当前帧的参考帧,其中,所述第一率失真代价为将所述第二路视频的时域上前向邻近的两个时域参考帧作为所述当前帧的参考帧时的率失真代价,所述第二率失真代价为将所述第二路视频的时域上前向邻近一个时域参考帧和所述第一路视频中的视间参考帧作为所述当前帧的参考帧的率失真代价;当所述判断模块判断所述第二路视频中的当前帧为B帧时,则所述参考帧选取模块选取所述第二路视频的时域上前向邻近的时域参考帧和后向邻近的时域参考帧作为所述当前帧的参考帧;

编码模块,所述编码模块用于根据所述第一路视频的当前帧的参考帧对所述第一路视频进行编码,以及根据所述第二路视频的当前帧的参考帧对所述第二路视频进行编码。

6.如权利要求5所述的双帧参考的立体视频编码装置,其特征在于,所述时域参考帧为与所述当前帧来自于同一路视频流的参考帧。

7.如权利要求5所述的双帧参考的立体视频编码装置,其特征在于,所述视间参考帧为来自于与所述当前帧不同路视频的参考帧,且所述视间参考帧与对应的所述当前帧位于同一时刻。

8.如权利要求5所述的双帧参考的立体视频编码装置,其特征在于,

当所述判断模块判断所述第一路视频中的当前帧为I帧时,则所述当前帧不存在参考帧;

当所述判断模块判断所述第一路视频中的当前帧为P帧时,则所述判断模块进一步判断所述当前帧是否为所述第一路视频的第一个P帧,如果所述当前帧为所述第一路视频的第一个P帧,则所述参考帧选取模块选取所述第一路视频的前一个I帧作为所述当前帧的参考帧,否则选取所述第一路视频的时域上前向邻近的两个时域参考帧作为参考帧;

当所述判断模块判断所述第一路视频流中的当前帧为B帧时,则所述参考帧选取模块则选取时域上前向邻近的时域参考帧和后向邻近的时域参考帧作为参考帧。

说明书 :

一种双帧参考的立体视频编码方法及装置

技术领域

[0001] 本发明涉及视频技术领域,特别涉及一种双帧参考的立体视频编码方法及装置。

背景技术

[0002] 立体显示可以再现场景的三维信息,提供关于场景的更为全面、详实的描述,因此在医学、军事、广告艺术、工业设计、公共安全以及立体电视等领域有着广泛的应用前景。双目立体显示是将两路视频分别送入左眼和右眼,模拟双眼视差,从而实现视觉立体感。双目视频编解码技术为双目立体显示提供信源信号。其中,双目编码技术主要研究如何对左右两路视频进行压缩,以尽可能小的码率代价实现尽可能好重建视频质量。双目编码技术的简单的实现方式是对每一路视频分别采用现有的视频编码方法进行压缩编码,或者由于左右路视频之间存在视差冗余,利用其中一路对另外一路进行预测,称之为视差预测。这种视差预测方式可以进一步提高编码效率。
[0003] 一般视频编解码方法,例如H.264、MPEG-2和AVS等,支持I帧、P帧和B帧三种编码类型,其中I帧主要采用空间预测技术降低视频信息的冗余,P帧和B帧采用时域预测技术降低视频信息的冗余。在双目视频编码方法中,需要对左右两路视频流进行编码。但是左右两路视频流存在极大的视频信息冗余,并且采用多帧参考预测,增加了硬件的复杂度,不利于实现。

发明内容

[0004] 本发明的目的旨在至少解决上述技术缺陷之一。
[0005] 本发明的第一个目的在于提出一种有效提高立体视频的编码效率的双帧参考的立体视频编码方法。
[0006] 本发明的第二个目的在于提出一种双帧参考的立体视频编码装置。
[0007] 为此,本发明第一方面的实施例提出一种双帧参考的立体视频编码方法,包括如下步骤:
[0008] 输入第一路视频并判断所述第一路视频的当前帧的编码类型,根据所述当前帧的编码类型选取所述第一路视频的当前帧的参考帧,并对所述第一路视频进行编码,其中,所述第一路视频的中当前帧的参考帧为一个或两个时域参考帧;以及
[0009] 输入第二路视频并判断所述第二路视频的当前帧的编码类型,根据所述当前帧的编码类型选取所述第二路视频的当前帧的参考帧,并对所述第二路视频进行编码,其中,所述第二路视频中的当前帧的参考帧为两个时域参考帧或者一个时域参考帧和一个视间参考帧。
[0010] 根据本发明实施例的双帧参考的立体视频编码方法,对双路视频流的当前帧选取合适的参考帧,根据参考帧对当前帧进行编码,可以较大幅度地提高编码效率。并且,选取两帧作为参考帧,省去了多参考帧选择的复杂度和缓存开销,硬件实现的复杂度低。
[0011] 本发明第二方面的实施例提出一种双帧参考的立体视频编码装置,输入模块,所述输入模块用于分别输入第一路视频和第二路视频;判断模块,所述判断模块用于分别判断所述第一路视频和第二路视频中当前帧的编码类型;参考帧选取模块,所述参考帧选取模块根据所述第一路视频中当前帧的编码类型选取参考帧,以及根据所述第二路视频中当前帧的编码类型选取参考帧,其中,所述参考帧选取模块选取一个或两个时域参考帧作为所述第一路视频的中当前帧的参考帧,所述参考帧选取模块选取两个时域参考帧或者一个时域参考帧和一个视间参考帧作为参考帧;和编码模块,所述编码模块用于根据所述第一路视频的当前帧的参考帧对所述第一路视频进行编码,以及根据所述第二路视频的当前帧的参考帧对所述第二路视频进行编码。
[0012] 根据本发明实施例的双帧参考的立体视频编码装置,对双路视频流的当前帧选取合适的参考帧,根据参考帧对当前帧进行编码,可以较大幅度地提高编码效率。并且,选取两帧作为参考帧,省去了多参考帧选择的复杂度和缓存开销,硬件实现的复杂度低。
[0013] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0014] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0015] 图1为两帧时域与视间组合参考关系示意图;
[0016] 图2为根据本发明实施例的双帧参考的立体视频编码方法的流程图;
[0017] 图3为本发明实施例的第一路视频的当前帧的参考帧的选取流程;
[0018] 图4为两路双帧参考预测示意图;
[0019] 图5为本发明实施例的第二路视频的当前帧的参考帧的选取流程;
[0020] 图6为两帧时域参考关系示意图;
[0021] 图7为本发明实施例的双帧参考的立体视频编码方法与传统的双帧参考的立体视频编码方法的性能比较曲线图;以及
[0022] 图8为根据本发明实施例的双帧参考的立体视频编码装置的结构图。

具体实施方式

[0023] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0024] 下面参考图1至图6描述根据本发明实施例的双帧参考的立体视频编码方法。通过对第一路视频和第二路视频分别独立编码,采用图1所示的双帧参考预测方式的时域预测技术去除时间冗余,并且采用与第一路视频的相同时刻的帧对第二路视频进行预测,进一步去除第二路视频的信息冗余。
[0025] 如图2所示,根据本发明实施例的双帧参考的立体视频编码方法,包括如下步骤:
[0026] S110:输入第一路视频并判断第一路视频的当前帧的编码类型,根据当前帧的编码类型选取第一路视频的当前帧的参考帧,并对第一路视频进行编码。
[0027] 向编码器中读入一个单元长度的第一路视频,其中,单元长度可以为一个视频序列,也可以为一个图像组。在本发明的一个实施例中,第一路视频为左路视频或者右路视频中的任意一路视频。根据已读入的第一路视频判断第一路视频的当前帧的编码类型。其中,当前帧的编码类型为以下三种之一:I帧、P帧和B帧。
[0028] 首先根据第一路视频的当前帧的编码类型选取当前帧的参考帧。第一路视频的中当前帧的参考帧为一个或两个时域参考帧。其中,时域参考帧为与当前帧来自于同一路视频流的参考帧。
[0029] 如图3所示,对第一路视频的当前帧选取参考帧,包括如下步骤:
[0030] S1101:首先,判断当前帧的帧类型是否为I帧,如果是,则不存在参考帧,执行步骤S1102,对当前帧进行空间预测编码,如果不是I帧,则执行步骤S1103;
[0031] S1103:判断当前帧的帧类型是否为B帧,如果是,则执行步骤S1104,选取第一路视频时域上邻近的前向参考帧和后向参考帧进行预测,作为参考帧。在本发明的一个实施例中,选取第一路视频时域上前向邻近一帧非B帧图像和后向邻近的一帧非B帧图像作为当前帧的参考帧。如果当前帧的类型不是B帧,则执行步骤S1105。
[0032] S1105:判断当前帧的类型是否为P帧,如果不是,则执行步骤1106,表示程序出错,退出。如果当前帧的类型是P帧,则执行S1107。
[0033] S1107:判断当前帧是否为序列的第一个P帧,如果是,则执行S1108,如图4所示,选择同一路视频的前一个I帧作为参考帧,即选择第一路视频的前一个I帧作为参考帧。如果当前帧不是序列的第一个P帧,则执行S1109。
[0034] S1109:选择第一路视频的时域上邻近的两个前向参考帧作为参考帧。在本发明的一个实施例中,选取第一路视频的时域上前向邻近的两帧非B帧图像作为参考帧。
[0035] 根据选取的参考帧对当前帧进行编码压缩,对当前编码图象进行运动预测和运动补偿、离散余弦变换、量化、对残差信息以及参考帧索引和运动向量进行熵编码。具体而言,对I帧图像采用空间预测编码,对P帧和B帧图像采用来自于同一路视频流的两帧时域参考帧进行预测编码。然后将重建图像存入缓存,以便于对第二路视频的参考预测。重复上述步骤,直至读入编码器的所有图像均被编码完成。
[0036] S120:输入第二路视频并判断第二路视频的当前帧的编码类型,根据当前帧的编码类型选取第二路视频的当前帧的参考帧,并对第二路视频进行编码。
[0037] 向编码器中读入一个单元长度的第二路视频,其中,单元长度可以为一个视频序列,也可以为一个图像组。在本发明的一个实施例中,第二路视频为与第一路视频不同路的视频。例如:当第一路视频为左路视频时,第二路视频为右路视频;当第一路视频为右路视频时,第二路视频为左路视频。
[0038] 根据已读入的第二路视频判断第二路视频的当前帧的编码类型。其中,当前帧的编码类型为以下三种之一:I帧、P帧和B帧。
[0039] 根据第二路视频的当前帧的编码类型选取当前帧的参考帧。第二路视频中的当前帧的参考帧为两个时域参考帧或者一个时域参考帧和一个视间参考帧。其中,时域参考帧为与当前帧来自于同一路视频流的参考帧,视间参考帧为来自于与当前帧不同路视频的参考帧,并且视间参考帧与对应的当前帧位于同一时刻。
[0040] 如图5所示,对第二路视频的当前帧选取参考帧,包括如下步骤:
[0041] S1201:首先,判断当前帧的帧类型是否为I帧,如果是,则执行步骤S1202,选取第一路视频的视间参考帧作为参考帧。在本发明的一个实施例中,选取第一路视频的相同时刻的帧作为参考帧。如果不是I帧,则执行步骤S1203;
[0042] S1203:判断当前帧的帧类型是否为B帧,如果是,则执行步骤S1204,选取第二路视频时域上邻近的前向参考帧和后向参考帧进行预测,作为参考帧。在本发明的一个实施例中,选取第二路视频时域上前向邻近一帧非B帧图像和后向邻近的一帧非B帧图像作为当前帧的参考帧。如果当前帧的类型不是B帧,则执行步骤S1205。
[0043] S1205:判断当前帧的类型是否为P帧,如果不是,则执行步骤1206,表示程序出错,退出。如果当前帧的类型是P帧,则执行S1207。
[0044] S1207:判断当前帧是否为序列的第一个P帧,如果是,则执行S1208,如图6所示,选取第二路视频的前一个I帧和第一路视频中相同时刻的视间参考帧作为当前帧的参考帧。在本发明的一个实施例中,选取第二路视频的前一个I帧和第一路视频中的相同时刻的P帧作为当前帧的参考帧。如果当前帧不是序列的第一个P帧,则执行S1209。
[0045] S1209:通过视间自适应参考帧选择策略选取参考帧。将第二路视频的时域上前向邻近的两个时域参考帧作为当前帧的参考帧,并计算第一率失真代价RDCost-Temporal。在本发明的一个实施例中,将第二路视频的时域上前向邻近的两帧非B帧作为当前帧的参考帧。
[0046] S1210:将第二路视频的时域上前向邻近一个时域参考帧和第一路视频中的视间参考帧作为当前帧的参考帧,并计算第二率失真代价RDCost-Interview。在本发明的一个实施例中,将第二路视频的时域上前向邻近一帧非B帧和第一路视频中的相同时刻的P帧作为当前帧的参考帧;
[0047] S1211:选择率失真优化技术选择最优的一种情况作为预测参考帧。具体而言,对第一率失真代价RDCost-Temporal和第二率失真代价RDCost-Interview进行比较,当第一率失真代价RDCost-Temporal大于第二率失真代价RDCost-Interview时,则执行步骤S1213,选取时域参考和视间参考组合预测,步骤S1210中的参考帧,否则执行步骤S1212,选取步骤S1209中的参考帧。
[0048] 根据选取的参考帧对当前帧进行编码压缩,对当前编码图象进行运动预测和运动补偿、离散余弦变换、量化、对残差信息以及参考帧索引和运动向量进行熵编码。具体而言,对I帧采用第一路视频中同一时刻的图像帧作为参考帧进行预测编码,对B帧图像采用来自于同一视频的两帧时域参考帧进行预测编码,对P帧采用自适应参考帧选择策略并利用率失真技术选择时域参考帧或者视间参考帧进行预测编码。重复上述步骤,直至读入编码器的所有图像均被编码完成。
[0049] 图7示出了本发明实施例的双帧参考的立体视频编码方法与传统的双帧参考的立体视频编码方法的性能比较。其中,以book序列为例进行编码测试。如图7所示,view0为传统的双帧参考的立体视频编码方法的第一路视频的PSNR(Peak Signal to Noise Ratio,峰值信噪比),view1为传统的双帧参考的立体视频编码方法的第二路视频的PSNR,view01为本发明实施例提供的双帧参考的立体视频编码方法的PSNR。从图7中可以看出,在编码过程中,采用本发明实施例的双帧参考的立体视频编码方法提供的预测结构和参考帧的选择,能够较大幅度提高编码效率。在相同码率下,和传统的双路非立体视频编码方法相比,解码图像的PSNR可提高3DB左右。
[0050] 根据本发明实施例的双帧参考的立体视频编码方法,对双路视频流的当前帧选取合适的参考帧,根据参考帧对当前帧进行编码,可以较大幅度地提高编码效率。并且,选取两帧作为参考帧,省去了多参考帧选择的复杂度和缓存开销,硬件实现的复杂度低。
[0051] 下面参考图8描述根据本发明实施例的双帧参考的立体视频编码装置800。
[0052] 如图8所示,根据本发明实施例的双帧参考的立体视频编码装置800包括输入模块810、判断模块820、参考帧选取模块830和编码模块840。
[0053] 输入模块810向编码器中读入一个单元长度的第一路视频,其中,单元长度可以为一个视频序列,也可以为一个图像组。在本发明的一个实施例中,第一路视频为左路视频或者右路视频中的任意一路视频。判断模块820根据已读入的第一路视频判断第一路视频的当前帧的编码类型。其中,当前帧的编码类型为以下三种之一:I帧、P帧和B帧。
[0054] 首先参考帧选取模块830根据第一路视频的当前帧的编码类型选取当前帧的参考帧。第一路视频的中当前帧的参考帧为一个或两个时域参考帧。其中,时域参考帧为与当前帧来自于同一路视频流的参考帧。
[0055] 首先,判断模块820判断当前帧的帧类型是否为I帧,如果是,则不存在参考帧,对当前帧进行空间预测编码,如果不是I帧,则判断模块820继续判断当前帧的帧类型是否为B帧,如果是,则参考帧选取模块830选取第一路视频时域上邻近的前向参考帧和后向参考帧进行预测,作为参考帧。在本发明的一个实施例中,参考帧选取模块830选取第一路视频时域上前向邻近一帧非B帧图像和后向邻近的一帧非B帧图像作为当前帧的参考帧。如果判断模块820判断当前帧的类型不是B帧,则继续判断当前帧的类型是否为P帧,如果不是,则表示程序出错,退出。如果当前帧的类型是P帧,则判断模块820继续判断当前帧是否为序列的第一个P帧,如果是,则参考帧选取模块830选择同一路视频的前一个I帧作为参考帧,即选择第一路视频的前一个I帧作为参考帧。如果当前帧不是序列的第一个P帧,则参考帧选取模块830选择第一路视频的时域上邻近的两个前向参考帧作为参考帧。在本发明的一个实施例中,参考帧选取模块830选取第一路视频的时域上前向邻近的两帧非B帧图像作为参考帧。
[0056] 根据参考帧选取模块830选取的参考帧,编码模块840对当前帧进行编码压缩,对当前编码图象进行运动预测和运动补偿、离散余弦变换、量化、对残差信息以及参考帧索引和运动向量进行熵编码。具体而言,编码模块840对I帧图像采用空间预测编码,对P帧和B帧图像采用来自于同一路视频流的两帧时域参考帧进行预测编码。然后将重建图像存入缓存,以便于对第二路视频的参考预测。重复上述步骤,直至读入编码器的所有图像均被编码完成。
[0057] 输入模块810向编码器中读入一个单元长度的第二路视频,其中,单元长度可以为一个视频序列,也可以为一个图像组。在本发明的一个实施例中,第二路视频为与第一路视频不同路的视频。例如:当第一路视频为左路视频时,第二路视频为右路视频;当第一路视频为右路视频时,第二路视频为左路视频。
[0058] 判断模块820根据已读入的第二路视频判断第二路视频的当前帧的编码类型。其中,当前帧的编码类型为以下三种之一:I帧、P帧和B帧。
[0059] 参考帧选取模块830根据第二路视频的当前帧的编码类型选取当前帧的参考帧。第二路视频中的当前帧的参考帧为两个时域参考帧或者一个时域参考帧和一个视间参考帧。其中,时域参考帧为与当前帧来自于同一路视频流的参考帧,视间参考帧为来自于与当前帧不同路视频的参考帧,并且视间参考帧与对应的当前帧位于同一时刻。
[0060] 首先,判断模块820判断当前帧的帧类型是否为I帧,如果是,则参考帧选取模块830选取第一路视频的视间参考帧作为参考帧。在本发明的一个实施例中,选取第一路视频的相同时刻的帧作为参考帧。如果不是I帧,则判断模块820继续判断当前帧的帧类型是否为B帧,如果是,则参考帧选取模块830选取第二路视频时域上邻近的前向参考帧和后向参考帧进行预测,作为参考帧。在本发明的一个实施例中,参考帧选取模块830选取第二路视频时域上前向邻近一帧非B帧图像和后向邻近的一帧非B帧图像作为当前帧的参考帧。如果当前帧的类型不是B帧,则判断模块820继续判断当前帧的类型是否为P帧,如果不是,则表示程序出错,退出。如果当前帧的类型是P帧,则判断模块820继续判断当前帧是否为序列的第一个P帧,如果是,则参考帧选取模块830选取第二路视频的前一个I帧和第一路视频中的视间参考帧作为当前帧的参考帧。在本发明的一个实施例中,参考帧选取模块830选取第二路视频的前一个I帧和第一路视频中的相同时刻的P帧作为当前帧的参考帧。如果当前帧不是序列的第一个P帧,则参考帧选取模块830通过视间自适应参考帧选择策略选取参考帧。参考帧选取模块830将第二路视频的时域上前向邻近的两个时域参考帧作为当前帧的参考帧,并计算第一率失真代价RDCost-Temporal。在本发明的一个实施例中,参考帧选取模块830将第二路视频的时域上前向邻近的两帧非B帧作为当前帧的参考帧。
[0061] 参考帧选取模块830将第二路视频的时域上前向邻近一个时域参考帧和第一路视频中的视间参考帧作为当前帧的参考帧,并计算第二率失真代价RDCost-Interview。在本发明的一个实施例中,参考帧选取模块830将第二路视频的时域上前向邻近一帧非B帧和第一路视频中的相同时刻的P帧作为当前帧的参考帧;
[0062] 参考帧选取模块830选择率失真优化技术选择最优的一种情况作为预测参考帧。具体而言,对第一率失真代价RDCost-Temporal和第二率失真代价RDCost-Interview进行比较,当第一率失真代价RDCost-Temporal大于第二率失真代价RDCost-Interview时,则参考帧选取模块830选取时域参考和视间参考组合预测,将第二路视频的时域上前向邻近一个时域参考帧和第一路视频中的视间参考帧作为当前帧的参考帧,否则参考帧选取模块
830选取将第二路视频的时域上前向邻近的两个时域参考帧作为当前帧的参考帧。
[0063] 编码模块840根据选取的参考帧对当前帧进行编码压缩,对当前编码图象进行运动预测和运动补偿、离散余弦变换、量化、对残差信息以及参考帧索引和运动向量进行熵编码。具体而言,编码模块840对I帧采用第一路视频中同一时刻的图像帧作为参考帧进行预测编码,对B帧图像采用来自于同一视频的两帧时域参考帧进行预测编码,对P帧采用自适应参考帧选择策略并利用率失真技术选择时域参考帧或者视间参考帧进行预测编码。重复上述步骤,直至读入编码器的所有图像均被编码完成。
[0064] 根据本发明实施例的双帧参考的立体视频编码装置,对双路视频流的当前帧选取合适的参考帧,根据参考帧对当前帧进行编码,可以较大幅度地提高编码效率。并且,选取两帧作为参考帧,省去了多参考帧选择的复杂度和缓存开销,硬件实现的复杂度低。
[0065] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0066] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。