一种视频编解码方法和装置与流程

文档序号:12279703阅读:221来源:国知局
一种视频编解码方法和装置与流程

本发明涉及视频处理技术领域,尤其涉及一种视频编解码方法和装置。



背景技术:

VoLTE即Voice over LTE是通过LTE(Long Time Evolution,长期演进)网络作为业务接入、IMS(IP Multimedia Subsystem,IP多媒体子系统)网络实现业务控制的语音解决方案,它支持高清语音、高清视频等通信业务,也可实现与现网2G/3G的语音兼容互通。VoLTE能提供高清语音、低延迟视频通话。目前,VoLTE视频通话的部分参数可如表1设置:

表1

对于不同的视频分辨率和帧率,终端均向网络侧申请网络带宽。在终端申请带宽后,网络侧应尽量保证提供给终端无线、传输及核心网资源,保证视频通话正常进行。

终端则对采集到的视频进行编码,具体编码的算法会采用H.264,将输入视频按图像帧进行帧内或者帧间编码,然后把编码生成的码流通过网络发送给对方;同时接受对方发送过来的码流进行解码,最终呈现在手机屏幕上。

现有的VoLTE通话中采用的视频编解码方法主要存在的问题如下:当网络带宽不满足终端申请的带宽时,编码帧率和质量出现波动。比如,当终端申请带宽为1216Kbps时,但是网络侧保障带宽仅有500Kbps,这种情况下,终端可以通过降低帧率的方式来降低码率,适应网络的实际带宽。

当时,在降低码率时,将会出现运动图像不连续问题,降低了视频通话质量和用户体验。如表2所示,其为终端VoLTE通话视频编码的帧率调整情况:

表2

由表2可知,终端在进行VoLTE视频通话过程中,如果网络带宽不能达到申请的带宽,终端在视频编码时降低了编码的帧率,这样虽然满足了网络带宽,但是对于运动图像会产生不连续的情况,降低了视频通话质量以及用户体验。



技术实现要素:

本发明实施例提供一种视频编解码方法和装置,用以提高视频图像质量。

本发明实施例提供一种视频编码方法,包括:

比较待编码图像与对比图像得到第一活动区域,所述对比图像为与所述待编码图像相邻的前一帧图像;

根据第一活动区域和第二活动区域确定修正活动区域,所述第二活动区域为根据所述对比图像以及与所述对比图像相邻的前一帧图像的比较结果确定出的;

利用第一视频编码单元对所述修正活动区域图像进行编码;以及利用第二视频编码单元对除所述修正活动区域以外的非活动区域图像进行编码。

其中,比较对比图像与待编码图像得到第一活动区域,具体包括:

确定所述对比图像与所述待编码图像的差值图像;

将所述差值图像划分为预设数量的子差值图像;

根据各子差值图像包含的像素值之和确定第一活动区域。

较佳的,根据各子差值图像包含的像素点差值之和确定第一活动区域,具体包括:

记录像素值之和大于预设阈值的子差值图像包含的所有像素点的坐标值,所述坐标值包括横坐标值和纵坐标值;

分别确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点;

确定以第一像素点的坐标为起始点坐标以及以第一像素点和第二像素点的横坐标值的差值绝对值为宽、以第一像素点和第二像素点的纵坐标值的差值绝对值为高的矩形区域为所述第一活动区域。

较佳的,根据各子差值图像包含的像素点差值之和确定第一活动区域,具体包括:

记录像素值之和大于预设阈值的子差值图像包含的所有像素点的坐标值,所述坐标值包括横坐标值和纵坐标值;

分别确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵 坐标值之和最大的第二像素点;

根据第一像素点坐标值和第二像素点坐标值确定所述第一像素点和第二像素点的中心点坐标值;

确定以所述中心点为圆心,以所述中心点与所述第一像素点或者第二像素点之间的距离为半径的圆形区域为所述第一活动区域。

较佳的,利用第一视频编码单元对所述修正活动区域图像进行编码,具体包括:

将所述待编码图像中除所述修正活动区域图像以外的非活动区域图像像素值置为零得到第一待编码图像;

利用第一视频编码单元对所述第一待编码图像进行编码。

较佳的,利用第二视频编码单元对除所述修正活动区域以外的非活动区域图像进行编码,具体包括:

将所述待编码图像中所述修正活动区域图像像素值置为零得到第二待编码图像;

利用第二视频编码单元对所述第二待编码图像进行编码。

较佳的,根据第一活动区域与第二活动区域得到修正活动区域,具体包括:

比较所述第一活动区域和所述第二活动区域;

如果所述第一活动区域小于所述第二活动区域,确定所述修正活动区域为所述第二活动区域;

如果所述第一活动区域大于所述第二活动区域,分别统计所述第一活动区域和所述第二活动区域内包含的像素数量;

若所述第一活动区域包含的像素数量不大于所述第二活动区域内包含的像素数量的预设倍数,则确定所述修正活动区域为所述第二活动区域,否则,确定所述第一活动区域为所述修正活动区域。

较佳的,在利用第一视频编码单元对所述修正活动区域图像进行编码之前,还包括:

判断所述修正活动区域与所述第二活动区域是否相同;

在判断结果为否时,利用第一视频编码单元对所述修正活动区域图像进行编码;以及利用第二视频编码单元对除所述修正活动区域以外的非活动区域图像进行编码;在判断结果为是时,仅利用第一视频编码单元对所述修正活动区域图像进行编码。

本发明实施例提供的视频编码方法,还可以包括:

分别将第一视频编码单元和第二视频编码单元编码后的图像进行量化并组织为码流发送给解码端,其中,第一视频编码单元输出的码流中包含有用于标识修正活动区域的标识位。

本发明实施例提供一种视频解码方法,包括:

接收编码端发送的、包含有用于标识修正活动区域的标识位的第一路编码码流;

利用第一视频解码单元对所述第一路编码码流进行解码;

根据所述修正活动区域的标识位将解码得到的视频图像叠加到屏幕显示的视频图像的对应位置上。

较佳的,在接收所述第一路编码码流的同时,还包括:

接收所述编码端发送的第二路编码码流;

利用第二视频解码单元对所述第二路编码码流进行解码并输出至屏幕进行显示。

本发明实施例提供一种视频编码装置,包括:

初始化单元,用于同时初始化两个视频编码单元,其中,第一视频编码单元用于对活动区域图像进行编码,第二视频编码单元用于对非活动区域图像进行编码;

第一比较单元,用于比较待编码图像与对比图像得到第一活动区域,所述对比图像为与所述待编码图像相邻的前一帧图像;

第二比较单元,用于根据第一活动区域和第二活动区域确定修正活动区 域,所述第二活动区域为根据所述对比图像以及与所述对比图像相邻的前一帧图像的比较结果确定出的;

第一视频编码单元,用于对所述修正活动区域图像进行编码;

第二视频编码单元,用于对除所述修正活动区域以外的非活动区域图像进行编码。

所述第一比较单元,具体包括:

第一确定子单元,用于确定所述对比图像与所述待编码图像的差值图像;

图像划分子单元,用于将所述差值图像划分为预设数量的子差值图像;

第二确定子单元,用于根据各子差值图像包含的像素值之和确定第一活动区域。

所述第二确定子单元,具体用于记录像素值之和大于预设阈值的子差值图像包含的所有像素点的坐标值,所述坐标值包括横坐标值和纵坐标值;分别确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点;确定以第一像素点的坐标为起始点坐标以及以第一像素点和第二像素点的横坐标值的差值绝对值为宽、以第一像素点和第二像素点的纵坐标值的差值绝对值为高的矩形区域为所述第一活动区域;或者

所述第二确定子单元,具体用于记录像素值之和大于预设阈值的子差值图像包含的所有像素点的坐标值,所述坐标值包括横坐标值和纵坐标值;分别确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点;根据第一像素点坐标值和第二像素点坐标值确定所述第一像素点和第二像素点的中心点坐标值;确定以所述中心点为圆心,以所述中心点与所述第一像素点或者第二像素点之间的距离为半径的圆形区域为所述第一活动区域。

所述第二比较单元,包括:

比较子单元,用于比较所述第一活动区域和所述第二活动区域;

第三确定子单元,用于如果所述第一活动区域小于所述第二活动区域,确 定所述修正活动区域为所述第二活动区域;以及根据统计单元的统计结果,在所述第一活动区域包含的像素数量不大于所述第二活动区域内包含的像素数量的预设倍数时,确定所述修正活动区域为所述第二活动区域,否则,确定所述第一活动区域为所述修正活动区域;

统计子单元,用于在所述第一活动区域大于所述第二活动区域,分别统计所述第一活动区域和所述第二活动区域内包含的像素数量。

较佳的,本发明实施例提供的视频解码装置,还包括判断单元,其中:

所述判断单元,用于在所述第一视频编码单元对所述修正活动区域图像进行编码之前,判断所述修正活动区域与所述第二活动区域是否相同;

所述第一视频编码单元,用于在所述判断单元的判断结果为否时,对所述修正活动区域图像进行编码;以及在所述判断单元的判断结果为是时,对所述修正活动区域图像进行编码;

第二视频编码单元,用于在所述判断单元的判断结果为否时,对除所述修正活动区域以外的非活动区域图像进行编码。

本发明实施例提供一种视频解码装置,包括:

接收单元,用于接收编码端发送的、包含有用于标识修正活动区域的标识位的第一路编码码流;

第一视频解码单元,用于对所述第一路编码码流进行解码;以及根据所述修正活动区域的标识位将解码得到的视频图像叠加到屏幕显示的视频图像的对应位置上。

所述视频解码装置,还包括第二视频解码单元,其中:

所述接收单元,还用于在接收所述第一路编码码流的同时,接收所述编码端发送的第二路编码码流;

所述第二视频解码单元,用于对所述第二路编码码流进行解码并输出至屏幕进行显示。

本发明实施例提供的视频编解码方法和装置,在对图像进行编码时,利用 第一视频解码单元对活动区域进行编码,以及利用第二视频编码单元对非活动区域进行编码,由于将视频图像中的活动区域和非活动区域分别进行编码,这样,如果需要降低编码帧率时,可以仅降低非活动区域编码帧率,以保证运动图像的高编码帧率,提高了视频图像质量。相应的,在解码端,利用第一视频解码单元和第二视频解码单元分别对活动区域图像编码得到的码流和非活动区域图像编码得到的码流进行解码,以保证解码端解码的准确性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例中,视频编码方法的实施流程示意图;

图2为本发明实施例中,第一活动区域确定方法实施例示意图;

图3为本发明实施例中,差值图像划分示意图;

图4a为本发明实施例中,第一活动区域为矩形区域时的确定方法实施例示意图;

图4b为本发明实施例中,为根据第一像素点和第二像素点确定出矩形第一活动区域的示意图;

图5a为本发明实施例中,第一活动区域为圆形区域时的确定方法实施例示意图;

图5b为本发明实施例中,为根据第一像素点和第二像素点确定出圆形第一活动区域的示意图;

图6为本发明实施例中,确定修正活动区域的实施例流程图;

图7为本发明实施例中,VoLTE终端实施本发明实施例提供的视频编码方法的实施流程示意图;

图8为本发明实施例中,视频解码方法实施流程示意图;

图9为本发明实施例中,视频编码装置的结构示意图;

图10为本发明实施例中,视频解码装置的结构示意图。

具体实施方式

为了提高视频图像质量,本发明实施例提供了一种视频编解码方法和装置。

以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

本发明实施例提供的视频编码方法中,对于视频图像分区域进行异步帧率并行编码,区别对待视频图像中运动部分和静止部分,这样,如果需要降低编码帧率时,可以仅降低静止部分的编码帧率,尽量保证运动部分的编码帧率,以保证视频图像质量。

为了便于描述,本发明实施例中,将静止部分图像所在区域称为非活动区域,将静止部分区域图像称为非活动区域图像,将运动部分所在区域称为活动区域,将运动部分区域图像称为活动区域图像。

对于视频图像来说,视频拍摄场景可以分为活动区域和非活动区域,活动区域是指拍摄的多帧视频图像中人物、物品和车辆等的变化,非活动区域是指拍摄的多帧视频图像中不变化的背景或者静止的人物、物品等。本发明实施例中,通过对视频图像不同区域进行识别,对活动区域采用高帧率编码,对非活动区域采用低帧率编码,两个区域在编码端进行并行编码,在解码端并行解码,实现对不同区域视频图像分别进行编码并传输,这样,在需要编码端降低编码帧率时,可以仅降低非活动区域编码帧率,不降低活动区域编码帧率,以提高 视频图像质量。

本发明实施例中,在编码端需要同时初始化两个视频编码单元,一个用于对活动区域视频图像进行编码,一个用于对非活动区域视频图像进行编码。为了便于描述,本发明实施例中分别称之为第一视频编码单元和第二视频编码单元。其中,第一视频编码单元和第二视频编码单元的编码帧率可以相同,也可以不同,其中,第一视频编码单元的编码帧率不低于第二视频编码单元的编码帧率。

具体实施时,两个视频编码单元的编码分辨率可以是相同的分辨率,也可以是不同的分辨率。通常来说,第二视频编码单元的编码分辨率大于等于第一视频编码单元的编码分辨率。基于初始化的两个视频编码单元,在对视频图像进行编码时,可以按照图1所示的流程进行:

S11、比较待编码图像与对比图像得到第一活动区域。

其中,对比图像为与待编码图像相邻的前一帧图像,即与待编码图像相邻且拍摄时间在待编码图像之前的一帧图像。

具体实施时,对于拍摄的视频图像序列中的第一帧图像来说,由于没有对比图像,因此,可以直接利用第二视频编码单元对其进行编码,并将该第一帧图像存储在缓存中,作为视频图像序列中第二帧图像的对比图像。

S12、根据第一活动区域和第二活动区域确定修正活动区域。

其中,第二活动区域是指根据对比图像及与对比图像相邻的前一帧图像的比较结果确定出的。

对于视频图像序列中的第二帧视频图像来说,由于其只存在第一活动区域,因此,可以直接将第一活动区域作为其修正活动区域。

S13、利用第一视频编码单元对修正活动区域图像进行编码;以及利用第二视频编码单元对除修正活动区域以外的非活动区域图像进行编码。

具体实施时,步骤S11中,可以按照图2所示的流程确定第一活动区域:

S111、确定对比图像与待编码图像的差值图像。

具体实施时,可以将待编码图像与对比图像的亮度分量进行相减,得到对比图像与待编码图像的差值图像C(i,j),其中,分别为差值图像像素点的坐标值,其中,i为横坐标值和j纵坐标值。

S112、将得到的差值图像划分为预设数量的子差值图像。

例如,可以以16*16为单位划分差值图像,得到的每一子差值图像分辨率为16*16,计算每一子差值图像内像素点的像素值之和,假设为M(k,l),其中,k,l分别为子差值图像起始点坐标的横坐标值和纵坐标值。图像的起始点坐标通常是指位于图像左上角的像素点的坐标。

S113、根据各子差值图像包含的像素值之和确定第一活动区域。

如图3所示,为差值图像划分示意图,差值图像划分得到的各子差值图像内包含若各个像素,例如,如果以16*16为单位进行划分时,则每个差值图像内包含16*16个像素。图3中以每个子图像包含的像素数量为4*4为例。每一像素点对应不同的像素值,可以表征该像素点的颜色,而每一像素点在图像内的位置可以用像素点的坐标值(x,y)来表示,x为横坐标值,y为纵坐标值。

具体实施时,步骤S113中,可以但不限于按照以下两种实施方式确定待编码图像的第一活动区域。

第一种实施方式、第一活动区域为矩形区域

以第一活动区域为矩形区域为例,可以采用如下参数来描述第一活动区域(x,y,w,h),其中,x为第一活动区域起始坐标的横坐标,y为第一活动区域起始坐标的纵坐标,w为第一活动区域的宽,h为第一活动区域的高。

如图4a所示,可以按照以下流程确定第一活动区域:

S11311、记录像素值之和大于预设阈值的子差值图像包含的所有像素点的坐标值。

具体实施时,预设阈值可以预先设置,其通常在[512,8192]之间,一般取1024。在步骤S11311中,可以搜索整个差值图像,查找M(k,l)大于预设阈值的所有子差值图像,并记录M(k,l)大于预设阈值的所有子差值图像包含的所有像 素点的坐标值(包括横坐标值和纵坐标值)。

S11312、分别确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点。

具体实施时,在M(k,l)大于预设阈值的所有子差值图像包含的所有像素点中,确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点。

S11313、确定以第一像素点的坐标为起始点坐标以及以第一像素点和第二像素点的横坐标值的差值绝对值为宽、以第一像素点和第二像素点的纵坐标值的差值绝对值为高的矩形区域为第一活动区域。

如图4b所示,为根据第一像素点和第二像素点确定出第一活动区域的示意图。即以第一像素点坐标作为起始点坐标,第二像素点横坐标值减去第一像素点横坐标值得到的数值为第一活动区域的宽,第二像素点纵坐标值减去第一像素点纵坐标值得到的数值为第一活动区域的高。

第二种实施方式,第一活动区域为圆形区域

以第一活动区域为圆形区域为例,可以采用如下参数来描述第一活动区域(x,y,r),其中,(x,y)为第一活动区域圆心坐标,r为第一活动区域的半径。

如图5a所示,可以按照以下流程确定第一活动区域:

S11321、记录像素值之和大于预设阈值的子差值图像包含的所有像素点的坐标值。

具体实施时,预设阈值可以预先设置,其通常在[512,8192]之间,一般取1024。在步骤S11311中,可以搜索整个差值图像,查找M(k,l)大于预设阈值的所有子差值图像,并记录M(k,l)大于预设阈值的所有子差值图像包含的所有像素点的坐标值(包括横坐标值和纵坐标值)。

S11322、分别确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点。

具体实施时,在M(k,l)大于预设阈值的所有子差值图像包含的所有像素点 中,确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点。

S11323、根据第一像素点坐标值和第二像素点坐标值确定第一像素点和第二像素点的中心点坐标值。

具体的,将第一像素点的横坐标值和第二像素点的横坐标值相加后求平均值并取整作为中心点坐标的横坐标值,将第一像素点的纵坐标值和第二像素点的纵坐标值相加后求平均值并取整作为中心点坐标的纵坐标值。

S11324、确定以该中心点为圆心,以该中心点与第一像素点或者第二像素点之间的距离为半径的圆形区域为第一活动区域。

如图5b所示,为根据第一像素点和第二像素点确定出第一活动区域的示意图。

具体实施时,第二活动区域的确定方法与第一活动区域的确定方法类似,指示参与计算的两帧图像不同,这里不再赘述。

具体实施时,在步骤S12中可以按照图6所示的流程得到修正活动区域:

S61、比较第一活动区域和第二活动区域。

S62、如果第一活动区域小于第二活动区域,确定修正活动区域为所述第二活动区域;如果第一活动区域大于所述第二活动区域,分别统计第一活动区域和第二活动区域内包含的像素数量。

S63、判断第一活动区域包含的像素数量是否大于第二活动区域包含的像素数量的预设倍数,如果是,执行步骤S64,否则执行步骤S65。

S64、确定第一活动区域为修正活动区域,流程结束。

S65、确定第二活动区域为修正活动区域。

根据图6所示的流程可知,修正活动区域可能为第一活动区域,也可能为第二活动区域,即修正活动区域可能与上次编码得到的活动区域相同,这种情况下,在得到修正活动区域后,可以进一步比较修正活动区域与第二活动区域,说明本次编码的活动区域没有变化,这样,对于非活动区域来说,其与上一次 编码时也相同,因此,可以不对非活动区域进行编码,以减少编码端的数据处理量,如果修正活动区域与第二活动区域不同,即修正活动区域为第一活动区域,由于与上次编码相比,活动区域发送变化,使得非活动区域也发生变化,从而需要对非活动区域重新进行编码。

基于此,本发明实施例中,在执行步骤S13之前,还可以包括以下步骤:判断修正活动区域与第二活动区域是否相同。以及在判断结果为否时,执行步骤S13;在判断结果为是时,仅利用第一视频编码单元对所述修正活动区域图像进行编码。

具体的,对于修正活动区域的图像,可以将待编码图像中除修正活动区域图像以外的非活动区域图像像素值置为零得到第一待编码图像;利用第一视频编码单元对第一待编码图像进行编码。对于非活动区域图像,可以将待编码图像中修正活动区域图像像素值置为零得到第二待编码图像;利用第二视频编码单元对第二待编码图像进行编码。

在编码端利用上述方法对视频图像序列中的每帧视频图像进行编码后,分别将第一视频编码单元和第二视频编码单元编码后的图像进行量化并组织为码流发送给解码端,其中,第一视频编码单元输出的码流中包含有用于标识修正活动区域的标识位。具体的,如果修正活动区域为矩形,则该标识位可以为(x,y,w,h),其中,x为修正活动区域起始坐标的横坐标,y为修正活动区域起始坐标的纵坐标,w为修正活动区域的宽,h为修正活动区域的高。如果修正活动区域为圆形,则该标识位可以为(x,y,r),其中,(x,y)为修正活动区域圆心坐标,r为修正活动区域的半径。

本发明实施例提供的视频编解码方法可以应用于VoLTE视频通话业务中,在视频通话过程中主叫终端和被叫终端利用本发明实施例提供的视频编解码方法进行编解码即可,这样,在主叫终端或者被叫终端在适应网络带宽需要降低编码帧率时,可以仅降低其中的非活动区域视频编码单元(即第二视频编码单元)的编码帧率,而不降低其中的活动区域视频编码单元(即第一视频编码 单元)的编码帧率,以保证运动图像的图像质量。当然,本发明实施例提供的视频编解码方法也可以应用于其他场景中。

为了更好的理解本发明实施例,以下以VoLTE视频通话过程中对视频图像进行编码的流程为例,对本发明实施例对待编码视频图像序列中的图像进行编码的流程进行说明。

如图7所示,VoLTE终端实施的视频编码方法,可以包括以下步骤:

S71、VoLTE终端发起视频通话时,初始化两个视频编码单元。

其中,初始化的两个视频编码单元分别为用于对活动区域图像进行编码的第一视频编码单元和用于对非活动区域图像进行编码的第二视频编码单元。第一视频编码单元的编码帧率不低于第二视频编码单元的编码帧率。两个编码器对编码视频的设置可以是相同分辨率,也可以是不同分辨率。通常来说非活动区域图像的编码分辨率大于等于活动区域图像的编码分辨率。

S72、在接收到视频图像序列中的第一帧图像时,由第二视频编码单元进行编码并将编码后的图像进行量化组成为码流传输给解码端,以及将接收到的图像存入缓存作为对比图像。

具体实施时,缓存接收到的图像和对接收到的图像进行编码并发送的过程可以并行执行,也可以先缓存再编码,还可以先编码再缓存。

S73、在接收到视频图像序列中的第二帧图像时,比较接收到的图像与对比图像计算得到图像中的活动区域。

具体实施时,可以采用矩形区域来表征活动区域,其对应的描述方式为(x,y,w,h),其中,x为活动区域起始坐标的横坐标,y为活动区域起始坐标的纵坐标,w为活动区域的宽,h为活动区域的高。也可以采用圆形区域来表征活动区域,其对应的描述方式为(x,y,r),其中,(x,y)为活动区域圆心坐标,r为活动区域的半径。

S74、对于活动区域图像采用第一视频编码单元进行编码,对于除活动区域图像以外的非活动区域图像采用第二视频编码单元进行编码;并将编码后的 图像进行量化组成为码流传输给解码端。

S75、将接收到的第二帧图像存入缓存,替代第一帧图像作为缓存图像。

其中,步骤S75可以与步骤S74并行执行,也可以先于步骤S74执行。

对于接收到的第n(n大于2)帧图像,均可以按照以下流程执行:

S76、比较接收到的第n帧图像与缓存中存储的对比图像得到第n帧图像的活动区域。

具体的,对于视频图像序列中的第n帧图像,比较第n帧图像与第(n-1)帧图像得到第n帧图像的活动区域。

S77、比较第n帧图像的活动区域与第(n-1)帧图像的活动区域得到修正活动区域。

具体的,可以按照图6所示流程比较第n帧图像的活动区域与第(n-1)帧图像的活动区域得到修正活动区域,这里不再赘述。

S78、判断修正活动区域与第(n-1)帧图像的活动区域是否相同,如果是,执行步骤S79,否则,执行步骤S710。

S79、仅利用第一视频编码单元对第n帧图像的修正活动区域图像进行编码并对编码后的图像量化组织为码流发送给解码端,并执行步骤S711。

S710、利用第一视频编码单元对第n帧图像的修正活动区域图像进行编码并对编码后的图像量化组织为码流发送给解码端;同时利用第二视频编码单元对第n帧图像中除修正活动区域以外的图像进行编码并对编码后的图像量化组织为码流发送给解码端。

其中,第一视频编码单元输出的码流中还包括标识活动区域的标识位,以使得解码端在对接收到的码流解码后,根据标识活动区域的标识位,正确显示解码的视频图像。具体的,如果对非活动区域进行解码(即编码端传输的码流中包含有非活动区域图像编码量化后得到的码流),则根据活动区域标识位将活动区域图像与非活动区域图像叠加后进行显示,如果不对非活动区域进行解码(即编码端传输的码流中不包含非活动区域图像编码量化后得到的码流), 则对活动区域进行解码后根据活动区域标识为将活动区域图像叠加到屏幕已显示的视频图像中。

S711、将第n帧图像存如缓存替代第(n-1)帧图像作为对比图像。

重步骤S76~步骤S711,直至视频通话结束,视频图像序列中无视频图像输入为止。

本发明实施例提供了一种视频编码方法,通过在编码端同时初始化两个视频编码单元,分别用于对待编码图像的活动区域图像和非活动区域图像进行编码,具体的,在接收到待编码图像时,首先确定待编码图像的活动区域和活动区域的变化得到修正活动区域,对于修正活动区域图像进行编码,对于非活动区域图像,如果修正活动区域有变化,则对非活动区域图像进行编码,如果修正活动区域没有变化,则不对非活动区域图像进行编码,以减少编码端的数据处理量。

相应的,在视频解码端,在进行视频解码时,需要同时初始化两个视频解码单元,一个用于对活动区域视频图像进行解码,另外一个用于对非活动区域视频图像进行解码。需要说明的是,如果编码端仅需要对修正活动区域图像编码时,则解码端接收到一路码流,如果编码端需要分别对修正活动区域图像和非活动区域图像进行编码时,解码端同时接收到两路码流,其中一路码流中携带有标识修正活动区域的标识位。基于此,本发明实施例提供的视频解码方法可以按照图8所示的流程实施:

S81、接收编码端发送的、包含有用于标识修正活动区域的标识位的第一路编码码流。

具体实施时,在编码端仅需要对修正活动区域进行编码时,向解码端发送一路码流,其中包含有用于标识活动区域的标识位(x,y,w,h)或者(x,y,r)。

S82、利用第一视频解码单元对第一路编码码流进行解码;

S83、根据修正活动区域的标识位将解码得到的视频图像叠加到屏幕显示的视频图像的对应位置上。

具体实施时,根据修正活动区域标识位(x,y,w,h)或者(x,y,r)将解码得到的图像叠加到当前屏幕显示的视频图像的对应位置上。

具体实施时,上述视频解码方法,还可以包括在接收第一路编码码流的同时,接收编码端发送的第二路编码码流;以及利用第二视频解码单元对所述第二路编码码流进行解码并输出至屏幕进行显示。

本发明实施例提供的视频解码方法中,在解码端同时初始化两个视频解码单元,一个用于对活动区域图像进行解码,一个用于对非活动区域图像进行解码,当接收到编码端发送的对活动区域图像编码得到的码流时利用活动区域视频解码单元进行解码并根据活动区域的标识位将解码得到的图像叠加到屏幕显示的视频图像的对应位置上以正确显示视频图像;如果同时接收到两路码流,一路码流为活动区域图像编码得到的码流,另一路码流为非活动区域图像编码得到的码流,则利用活动区域视频解码单元对接收到的活动区域图像码流进行解码,并利用非活动区域视频解码单元对接收到的非活动区域图像码流进行解码,根据活动区域标识位将解码得到的活动区域图像叠加到解码得到的非活动区域上并输出进行显示。

本发明实施例提供的视频解码方法应用到VoLTE视频通话业务中时,VoLTE终端在发起视频通话时,同时初始化两个视频解码单元,如果接收到一路活动区域码流,则利用其中一个视频解码单元对活动区域图像进行解码,并很据活动区域标识位将解码得到的活动区域图像叠加到屏幕当前显示的视频图像的对应位置上,非活动区域图像保持不变。如果同时接收到两路码流,则利用两个视频解码单元分别对接收到的两路码流进行解码,并根据活动区域标识位将解码后的活动区域图像叠加到解码后的非活动区域图像上并输出至屏幕进行显示。

基于同一发明构思,本发明实施例中还分别提供了相应的视频编码装置和视频解码装置,由于上述装置及设备解决问题的原理分别与视频编码方法和视频解码方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘 述。

如图9所示,为本发明实施例提供的视频编码装置的结构示意图,可以包括:

第一比较单元91,用于比较待编码图像与对比图像得到第一活动区域,所述对比图像为与所述待编码图像相邻的前一帧图像;

第二比较单元92,用于根据第一活动区域和第二活动区域确定修正活动区域,所述第二活动区域为根据所述对比图像以及与所述对比图像相邻的前一帧图像的比较结果确定出的;

第一视频编码单元93,用于对所述修正活动区域图像进行编码;

第二视频编码单元94,用于对除所述修正活动区域以外的非活动区域图像进行编码。

较佳的,第一比较单元91,可以包括:

第一确定子单元,用于确定所述对比图像与所述待编码图像的差值图像;

图像划分子单元,用于将所述差值图像划分为预设数量的子差值图像;

第二确定子单元,用于根据各子差值图像包含的像素值之和确定第一活动区域。

其中,第二确定子单元,具体用于记录像素值之和大于预设阈值的子差值图像包含的所有像素点的坐标值,所述坐标值包括横坐标值和纵坐标值;分别确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点;确定以第一像素点的坐标为起始点坐标以及以第一像素点和第二像素点的横坐标值的差值绝对值为宽、以第一像素点和第二像素点的纵坐标值的差值绝对值为高的矩形区域为所述第一活动区域;或者记录像素值之和大于预设阈值的子差值图像包含的所有像素点的坐标值,所述坐标值包括横坐标值和纵坐标值;分别确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点;根据第一像素点坐标值和第二像素点坐标值确定所述第一像素点和第二像素点的中心点坐标值;确定以所述 中心点为圆心,以所述中心点与所述第一像素点或者第二像素点之间的距离为半径的圆形区域为所述第一活动区域。

具体实施时,第二确定子单元可以包括:

第一记录模块,用于记录像素值之和大于预设阈值的子差值图像包含的所有像素点的坐标值,所述坐标值包括横坐标值和纵坐标值;

第一确定模块,用于分别确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点;

第二确定模块,用于确定以第一像素点的坐标为起始点坐标以及以第一像素点和第二像素点的横坐标值的差值绝对值为宽、以第一像素点和第二像素点的纵坐标值的差值绝对值为高的矩形区域为所述第一活动区域。

或者,第二确定子单元,可以包括:

第二记录模块,用于记录像素值之和大于预设阈值的子差值图像包含的所有像素点的坐标值,所述坐标值包括横坐标值和纵坐标值;

第三确定模块,用于分别确定横坐标值与纵坐标值之和最小的第一像素点以及横坐标值与纵坐标值之和最大的第二像素点;

第四确定模块,用于根据第一像素点坐标值和第二像素点坐标值确定所述第一像素点和第二像素点的中心点坐标值;

第五确定模块,用于确定以所述中心点为圆心,以所述中心点与所述第一像素点或者第二像素点之间的距离为半径的圆形区域为所述第一活动区域。

具体实施时,第一视频编码单元93可以用于将所述待编码图像中除所述修正活动区域图像以外的非活动区域图像像素值置为零得到第一待编码图像;并对所述第一待编码图像进行编码。

第二视频编码单元94,可以用于将所述待编码图像中所述修正活动区域图像像素值置为零得到第二待编码图像;并对所述第二待编码图像进行编码。

具体实施时,第二比较单元92,可以包括:

比较子单元,用于比较所述第一活动区域和所述第二活动区域;

第三确定子单元,用于如果所述第一活动区域小于所述第二活动区域,确定所述修正活动区域为所述第二活动区域;以及根据统计单元的统计结果,在所述第一活动区域包含的像素数量不大于所述第二活动区域内包含的像素数量的预设倍数时,确定所述修正活动区域为所述第二活动区域,否则,确定所述第一活动区域为所述修正活动区域;

统计子单元,用于在所述第一活动区域大于所述第二活动区域,分别统计所述第一活动区域和所述第二活动区域内包含的像素数量。

具体实施时,本发明实施例提供的视频编码装置,还可以包括判断单元,其中:

判断单元,可以用于在所述第一视频编码单元93对所述修正活动区域图像进行编码之前,判断所述修正活动区域与所述第二活动区域是否相同;

第一视频编码单元93,可以用于在所述判断单元的判断结果为否时,对所述修正活动区域图像进行编码;以及在所述判断单元的判断结果为是时,对所述修正活动区域图像进行编码。

第二视频编码单元94,用于在所述判断单元的判断结果为否时,对除所述修正活动区域以外的非活动区域图像进行编码。

具体实施时,本发明实施例提供的视频编码装置,还可以包括:

发送单元,用于分别将第一视频编码单元和第二视频编码单元编码后的图像进行量化并组织为码流发送给解码端,其中,第一视频编码单元输出的码流中包含有用于标识修正活动区域的标识位。

为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。

如图10所示,为本发明实施例提供的视频解码装置的结构示意图,可以包括:

接收单元101,用于接收编码端发送的、包含有用于标识修正活动区域的 标识位的第一路编码码流;

第一视频解码单元102,用于对所述第一路编码码流进行解码;以及根据所述修正活动区域的标识位将解码得到的视频图像叠加到屏幕显示的视频图像的对应位置上。

具体实施时,本发明实施例提供的视频解码装置还可以包括第二视频解码单元,其中:

接收单元101还可以用于在接收所述第一路编码码流的同时,接收所述编码端发送的第二路编码码流;

第二视频解码单元103,还可以用于对所述第二路编码码流进行解码并输出至屏幕进行显示。

为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。

本发明实施例提供的视频编解码方法和装置,在编码端同时初始化两个视频编码单元,在对视频图像进行编码时,利用第一视频解码单元对判断出的该图像中的活动区域进行编码,以及利用第二视频解码单元对判断出的该图像中的非活动区域进行编码,由于将视频图像中的活动区域和非活动区域分别进行编码,这样,如果需要降低编码帧率时,可以仅降低非活动区域编码单元(即第二视频编码单元)的编码帧率,以保证运动图像的高编码帧率,提高了视频图像质量。相应的,在解码端,同时初始化两个解码器,分别对活动区域图像编码得到的码流和非活动区域图像编码得到的码流进行解码,以保证解码端解码的准确性。

本发明实施例提供的视频编解码方法通过在编码端同时初始化两个视频编码单元,以及在解码端同时初始化两个视频解码单元,以对待编码图像的活动区域图像和非活动区域图像进行异步帧率编码,从而在需要降低编码帧率时,可以仅降低非活动区域图像的编码帧率,而不降低活动区域图像编码帧率, 从而避免了由于编码帧率下降导致运动图像不连续的问题,实现了在不替换和改造现有的终端编码器的前提下,对视频图像中的运动部分采用高编码帧率编码,对视频图像的非运动部分采用低编码帧率进行编码,保证了视频图像质量,提高了用户体验。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要 求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1