CN102984524A - 一种基于图层分解的视频编解码方法 - Google Patents

一种基于图层分解的视频编解码方法 Download PDF

Info

Publication number
CN102984524A
CN102984524A CN2012105519379A CN201210551937A CN102984524A CN 102984524 A CN102984524 A CN 102984524A CN 2012105519379 A CN2012105519379 A CN 2012105519379A CN 201210551937 A CN201210551937 A CN 201210551937A CN 102984524 A CN102984524 A CN 102984524A
Authority
CN
China
Prior art keywords
layer
rectangular area
execution
block
motion vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012105519379A
Other languages
English (en)
Other versions
CN102984524B (zh
Inventor
唐慧明
陈珊莎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hua Yanyun state information technology Co. Ltd.
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201210551937.9A priority Critical patent/CN102984524B/zh
Publication of CN102984524A publication Critical patent/CN102984524A/zh
Application granted granted Critical
Publication of CN102984524B publication Critical patent/CN102984524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于图层分解的视频编解码方法,其中编码过程包括如下步骤:步骤101:将当前输入图像分为静止图层区域和运动图层区域;步骤102:用一个或者多个矩形区域子图分别包含所有运动图层宏块;步骤103:将各矩形区域子图用四分法分为更小的矩形区域子图,对每个矩形区域子图用四分树描述其属于静止图层还是运动图层,并用图层标识进行标记;步骤104:宏块的宏块层标识(mb_layer_flag)取值为宏块所属矩形区域子图的图层标识值,对每个宏块进行编码。本发明对当前图像中的静止图层和运动图层区域采用四分树的结构进行描述,采用同一图层的已编码块对当前块的运动矢量进行预测,对静止图层区域和运动图层区域采用更加准确的描述方式,并且提高了运动矢量预测的准确性,从而提高了编解码效率。

Description

一种基于图层分解的视频编解码方法
技术领域
本发明属于数字视频压缩编解码技术领域,涉及一种基于图层分解的视频编解码方法。
背景技术
视频序列的不同区域具有不同性质、重要性也不同,如视频监控的背景区域和运动目标区域,视频会议往往是在一个固定的背景环境中人物的头肩像的运动,还有一些电影片段或演播室中录制视频,往往具有长期或短期不变的背景区域和更受关注运动区域,而且还存在场景循环切换的情况,采用不同的编码策略,如分辨率、帧率、量化系数等,有助于提高编码性能。
现有的视频编码框架是针对一系列矩形图像的视频序列的编码,不能实现对不同区域采用不同编码策略,虽然MPEG-4的面向对象的视频编码技术也可实现对一个或多个视频对象编码,但不同对象间不能相互参考,因而压缩效率较低,且对对象分割的要求较高,实用性较差。
中国专利申请201010039620.8中公开了一种基于图层分解的视频编码、解码方法及装置,该方法中将输入的每一帧图像分解为静止图层和运动图层进行编码,运动图层是包含运动目标区域像素的图像区域,静止图层是利用当前帧图像和以前帧图像检测得到的,静止图层和运动图层的编码方法包括层间帧内预测,层内帧内预测,层间帧间预测,层内帧间预测,这种编解码方法尤其对监控应用的视频序列有很好的编码效果,可以大幅降低码率,但该发明专利对图层区域采用矩形的描述方法,这种方法对运动目标较少或者运动简单的序列是有效的,但是一般的视频序列并不满足上述条件,如果运动目标较多且分布于整个图像,则不能对运动图层和静止图层进行有效的描述,若将整个图像都作为运动图层区域,并不能实现分图层编码;并且由于不同的运动目标的运动特性往往是不相同的,如果采用一个矩形对运动图层区域描述就不能很好的利用运动目标的运动特性对帧间编码图像进行运动估计。
故,针对上述现有技术存在的缺陷,有必要进行研究开发,以提供一种高效的图像区域描述方法,实现基于图层分解的视频编、解码,对静止图层和运动图层进行编码。
发明内容
为解决上述问题,本发明的目的在于提供一种基于图层分解的视频编解码方法,实现基于图层分解的视频编、解码,对静止图层和运动图层进行编码,提高了运动矢量预测的准确性,从而提高了编解码效率。
为实现上述目的,本发明的技术方案为:
一种基于图层分解的视频编解码方法,其中编码过程包括如下步骤:
步骤101:将当前输入图像分为静止图层区域和运动图层区域;
步骤102:用一个或者多个矩形区域子图分别包含所有运动图层宏块;
步骤103:将各矩形区域子图用四分法分为更小的矩形区域子图,对每个矩形区域子图用四分树描述其属于静止图层还是运动图层,并用图层标识(block_layer_flag)进行标记;
步骤104:宏块的宏块层标识(mb_layer_flag)取值为宏块所属矩形区域子图的图层标识值,对每个宏块进行编码
本发明基于图层分解的视频编解码方法对当前图像中的静止图层和运动图层区域采用四分树的结构进行描述,采用同一图层的已编码块对当前块的运动矢量进行预测,对静止图层区域和运动图层区域采用更加准确的描述方式,并且提高了运动矢量预测的准确性,从而提高了编解码效率。
附图说明
图1是本发明视频编码方法的流程图示。
图2是本发明获得矩形区域子图的流程图示。
图3是本发明四分法描述方法的流程图示。
图4是本发明对每个矩形区域子图用四分树描述其属于静止图层还是运动图层,并用block_layer_flag进行标记的流程图示。
图5是本发明当前块的当前帧中已编码的相邻块的位置示意图。
图6是本发明当前块的已编码帧中的八邻域内的块的位置示意图。
图7是本发明运动矢量的预测方法的流程图。
图8是本发明运动矢量预测值的计算方法的流程图。
图9是本发明视频解码的流程图。
图10是本发明视频解码对每个宏块进行解码的方法的流程图。
图11是本发明解码中运动矢量预测值的计算方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明基于图层分解的视频编解码方法将当前输入图像分为静止图层区域和运动图层区域,包含运动图像像素的宏块为运动图层宏块,其它宏块为静止图层宏块。对静止图层和运动图层区域采用四分树的描述方法,用若干个矩形区域子图包含所有的运动图层宏块,并用四分法将各矩形区域子图分为更小的矩形区域子图,对每个矩形区域子图用四分树描述其属于运动图层还是静止图层并用图层标识(block_layer_flag)进行标记,并获得每一个宏块的图层属性。采用四分树的图层区域描述方法,减少了运动图层区域中的背景图像内容,解决了序列中有多个运动目标分布于图像中的图层区域描述问题。如果视频序列中有多个运动目标,则可以用一个矩形区域子图包含单独一个运动目标,也可以将空间上相邻的矩形区域子图合并为一个较大的矩形区域子图后再采用四分法描述,以降低编解码器实现的复杂度。如果图像分割到的一个运动目标区域包含了多个运动物体,则其中可能包括了较多的背景图像内容,对这样的区域进行分裂再采用四分法描述,可减少运动目标区域中的背景图像内容比例,从而提高编码效率。
请参照图1所示,本发明基于图层分解的视频编解码方法包括如下步骤:
步骤101:将当前输入图像分为静止图层区域和运动图层区域;
在步骤101中,对输入图像进行运动目标检测,根据运动目标检测的结果,包含运动图层像素的宏块为运动图层宏块,其他宏块为静止图层宏块,运动图层宏块组成运动图层区域,静止图层宏块组成静止图层区域,运动图层是当前帧中的运动图层区域,静止图层包括当前帧中的静止图层区域以及以前帧中的静止图层区域。本实施例中,可以用常用的运动检测算法,例如混合高斯模型,帧差法等;还可以对运动检测算法得到的运动区域进行处理,以减少噪声等干扰,如采用形态学操作、帧间连续性分析等。
步骤102:用一个或者多个矩形区域子图分别包含所有运动图层宏块;
在步骤102中,可以用一个矩形区域子图包含所有的运动图层宏块,也可以根据运动目标检测的结果,用一个矩形区域子图包含一个运动目标区域,另外矩形区域子图也可以包含整帧图像。本实施例中,编码器可以预先设定允许的最大矩形区域子图数,如果矩形区域子图数超过了编码器允许的最大数目,则可将小的矩形区域子图合并为一个大的矩形区域子图。
步骤103:将各矩形区域子图用四分法分为更小的矩形区域子图,对每个矩形区域子图用四分树描述其属于静止图层还是运动图层并用block_layer_flag进行标记。
步骤104:宏块的(宏块层标识)mb_layer_flag取值为宏块所属矩形区域子图的block_layer_flag,对每个宏块进行编码。
在本发明实施例中,对静止图层和运动图层区域的编码方法是对静止图层和运动图层区域采用四分树的描述方法,用若干矩形区域子图分别包含所有运动图层宏块,并对每个矩形区域子图用四分树描述其属于静止图层还是运动图层,每个宏块的mb_layer_flag取值为宏块所属矩形区域子图的block_layer_flag。编码器对各矩形区域子图的block_layer_flag进行编码传输,解码端从码流中解析得到各矩形区域子图的block_layer_flag,进一步得到每个宏块的mb_layer_flag。block_layer_flag可以直接传输也可以采用熵编码,例如采用霍夫曼编码。除了采用本实施例中的区域描述方法外,还可以用其他方法,例如基于宏块的游程码或链码,或者用一个矩形包含所有的运动图层宏块。
图2为本发明获得运动图层和静止图层矩形区域子图的流程图。如图2所示,其包括如下步骤:
步骤201:用若干个矩形区域子图分别包含所有运动图层宏块;
步骤202:合并矩形区域子图,计算矩形区域子图与周围其他矩形区域子图的两两之间的宏块距离,如果两个矩形区域子图的距离小于预设的阈值TH3,而且两个矩形区域子图合并后运动图层宏块数占合并后的大矩形区域总宏块数的比例大于预设的阈值TH4,则将这两个矩形区域子图合并成一个大的矩形区域子图,继续合并矩形区域子图直至合并后的矩形区域子图数目不大于预设的阈值TH5;在此,由于合并后的矩形区域包含原被合并的矩形区域,因此可能会有原属于静止图层的宏块被包含进来。
此外,还可检查所有矩形区域,如果某矩形区域中运动图层宏块数占该矩形区域总宏块数的比例小于某一预设阈值,且矩形区域子图数目不大于预设的阈值TH5,则可将该矩形区域子图分割成二个矩形区域子图,分割后使一些宏块被划入静止图层,使二个新矩形区域子图中的运动图层宏块数占总宏块数的比例变小,继续分割矩形区域子图直至各矩形区域子图中运动图层宏块数占总宏块数的比例小于某一预设阈值或分割后的矩形区域子图数目大于等于预设的阈值TH5。
其中,两个矩形区域子图的距离定义为这两个矩形任意顶点间的最小距离。阈值TH3和TH4由当前图像的纹理特征和运动特性决定,如果纹理特征比较丰富有较多的细节且有一定的运动,或者有较多的运动目标或者运动特性比较丰富,则常会检测到较多的运动区域,因此需要多个矩形区域子图实现对运动图层的描述,可以设定一个较小的TH3和较大的TH4。可通过统计得到合适的阈值,例如TH5设为4,而对于一般的序列,TH5设为2,用1个或2个矩形区域子图就可以实现对静止图层和运动图层的描述。
通过将邻近的矩形区域子图合并,以减少描述静止图层和运动图层所需的比特数,并且也降低了编解码器的复杂度。
图3为本发明四分法的流程图,其包括如下步骤:
步骤301:计算四分树根结点所表示矩形区域子图的宽(width)、高(height)和位置;
步骤311:如果矩形区域子图width<height/2,则执行步骤312,否则执行步骤313;
步骤312:矩形区域子图四分时宽度方向不分;
步骤313:如果width为奇数,则执行步骤314,否则执行步骤315;
步骤314:矩形区域子图四分时宽度左右相差1;
步骤315:矩形区域子图四分时宽度方向二等分;
步骤321:如果矩形区域子图height<width/2,则执行步骤322,否则执行步骤323;
步骤322:矩形区域子图四分时高度方向不分;
步骤323:如果height为奇数,则执行步骤324,否则执行步骤325;
步骤324:矩形区域子图四分时高度上下相差1;
步骤325:矩形区域子图四分时高度方向二等分。
其中,步骤311~315为执行矩形区域子图四分法时的宽度方向分割,而步骤321~325为执行矩形区域子图四分法时的高度方向分割,在对宽度或高度方向中的一个方向判断时,各个步骤之间的执行顺序如上所述。对于两个方向之间的执行顺序不做限制,可以上述两个方向的步骤同时执行,也可以按照任意的先后顺序执行上述两个方向的步骤,结果不变。
其中,对不同形状的矩形采用不同的四分法,对于宽度远小于高度的矩形(width<height/2),四分时宽度方向不分,对于高度远小于高度(height<width/2)的矩形,四分时高度方向不分,对于矩形区域子图的width或height不是偶数时,将矩形区域子图分为大小不等的四个子块,如果width为奇数,则分为宽度左右相差1的子图,此时,编解码器采用相同的四分规则,分为左边块的宽度比右边块的宽度多一个宏块或者相反的规则,如果height为奇数,则分为高度上下相差1的子图,编解码器采用相同的四分规则,分为上边块的高度比下边块的高度多一宏块或者相反的规则。编码器对四分树根结点的矩形区域子图的width,height和位置进行编码传输,而其他各级矩形区域子图的width,height和位置由上一级的矩形区域子图的width,height和位置计算得到,在每一次四分时,均对该矩形区域子图的四分法根据该矩形区域子图的width,height进行选择。除了本实施例三中所描述的方法,还可以将矩形区域扩充,使得高度和宽度均为偶数或2的幂,再进行四分。
如图4所示,对每个矩形区域子图用四分树描述其属于静止图层还是运动图层,并用block_layer_flag进行标记的具体步骤如下:
步骤401:读取一个四分树根结点表示的矩形区域子图的width,height以及位置;
步骤402:根据矩形区域子图是否包含运动图层宏块,如果否,则执行步骤403,否则执行步骤404;
步骤403:该矩形区域子图属于静止图层区域,block_layer_flag置为L1,该矩形区域子图不再继续分,执行步骤408;
步骤404:判断矩形区域子图是否包含静止图层宏块,如果否,则执行步骤405,否则执行步骤406;
步骤405:该矩形区域子图属于运动图层区域,block_layer_flag置为L2,该矩形区域子图不再继续分,执行步骤408;
步骤406:判断分割次数是否大于设定的阈值(TH1)或者矩形区域子图的大小小于设定的分割最小阈值(TH2),如果是,则执行步骤405,否则执行步骤407;
步骤407:将block_layer_flag置为L0,继续四分为更小的矩形区域子图进行判断,执行步骤402;
步骤408:判断是否已经完成四分树根结点所表示的矩形区域子图的各级矩形区域子图四分法描述并标记block_layer_flag,如果是,则结束,否则执行步骤409;
步骤409:取下一个未执行四分树描述的矩形区域子图,执行步骤402。
其中,用block_layer_flag对不同矩形区域子图进行标记,L1表示静止图层区域,L2表示运动图层区域,L0表示该矩形区域子图需要继续分块,其中,L0,L1,L2是不同的整数,例如可以设L0为0,L1为1,L2为2,如果分为多个运动图层,则每一个运动图层均赋不同的正整数用于标记,L2是这些正整数的集合。
在本发明实施例中,所述矩形区域子图也可以是整帧图像,即对整帧图像用一个四分树描述,则不需要传递四分树根结点所表示的矩形区域子图的width,height及位置,只需要在码流中将图像区域标识(pic_layer_flag)置1或者一个正整数,表示当前矩形区域子图是整帧图像。
图5为当前帧中已编码的相邻块的位置示意图,分别取当前块(Curr)的左边块(A)、上边块(B)、右上块(C)、左上块(D)。图6为当前块在已编码帧中对应相同位置及其八邻域内的块的位置示意图,即与当前块相同位置的块(E’)、左边块(A’)、上边块(B’)、右上块(C’)、左上块(D’)、右边块(F’)、左下块(G’)、下边块(H’)、右下块(I’)。具体视频编码方法中所用邻域并不限于所述的八邻域范围,还可以是根据运动方向,即运动矢量相反方向所指示的块及相邻块。
图7为本发明视频编码方法中运动矢量的预测方法的流程图,其帧间预测还包括如下步骤:
步骤701:判断当前编码块的预测编码模式,如果是层内预测编码,则执行步骤702,否则执行步骤703;
步骤702:用当前帧中已编码的相邻块,已编码帧中与当前编码块位置相同的块及其邻域内的块中的采用层内预测编码的块的运动矢量计算当前编码块的运动矢量预测值,所用的块必须存在运动矢量,并且与当前编码块属于相同的图层;
步骤703:用当前帧中已编码的相邻块,已编码帧中与当前编码块位置相同的块及其邻域内的块中的采用层间预测编码的块的运动矢量计算当前编码块的运动矢量预测值,所用的块必须存在运动矢量,并且与当前编码块属于相同的图层。
现有的视频编解码标准如H.264、AVS中,可用的块是指与当前编码块属于同一条带的有运动矢量的块,本发明实施例中,利用图层的运动特性进行预测,所用的块除了要满足上述现有的视频编解码标准中可用块的条件,还要满足与当前编码块属于同一图层的条件。因为不同的图层运动特性并不相同,若根据图层的运动特性对不同的图层采用不同的运动矢量预测策略,则可以使运动矢量的预测更加准确。在本实施例中,利用同一图层的块进行运动矢量预测,根据运动矢量的空间相关性、时间相关性,以及图层的运动特性分别计算当前编码块的层间预测编码的运动矢量预测值和层内预测编码的运动矢量预测值。
图8是本发明视频编码方法中运动矢量预测值的计算方法流程图,其包括如下步骤:
步骤801:如果当前帧已编码的相邻块A~D中有三个或以上块运动矢量可用,则执行步骤802,否则执行步骤803;
步骤802:取当前帧中三个可用的相邻块的运动矢量的中值作为当前编码块的运动矢量预测值;
在本步骤中,相邻块位置如图5所示,如果当前帧已编码相邻块A~D的运动矢量都可用,则当前块的运动矢量预测值取当前块Curr的左边块A,上边块B和右上块C的运动矢量的中值,否则取相邻块A~D中三个块的运动矢量的中值作为当前块的运动矢量预测值。
步骤803:如果当前帧已编码的相邻块A~D中只有两个或一个是块运动矢量可用,则执行步骤804,否则执行步骤805;
步骤804:取当前帧中可用的相邻块的运动矢量的平均值作为当前编码块的运动矢量预测值;
步骤805:如果已编码帧中与当前编码块位置相同的块运动矢量是可用的,则执行步骤806,否则执行步骤807;
步骤806:则取已编码帧中与当前编码块位置相同的块的运动矢量作为当前编码块的运动矢量预测值;
步骤807:如果已编码帧中与当前编码块位置相同块的邻域内块的运动矢量是可用的,执行步骤808,否则执行步骤809;
步骤808:取其邻域内块的运动矢量的平均值或者中值作为当前编码块的运动矢量预测值。
在本步骤中,如果已编码帧八邻域内有多个可用块,则运动矢量预测值取所有可用块的运动矢量的平均值或者中值。
步骤809:取零运动矢量为当前编码块的运动矢量预测值。
本发明实施例中,利用空间相关性,时间相关性,以及图层的运动特性对当前块的运动矢量预测值进行计算,在现有的视频编码标准中,如H.264、AVS,运动矢量预测值均采用中值预测,即取当前帧中的左边块A,上边块B,右上块C的运动矢量的中值,这种预测方法利用相邻块的运动相关性进行预测,但对于不同运动目标之间的块运动预测效果不佳,对于存在局部运动或者较复杂的运动的序列,中值预测效果也不理想。在本发明图8所示的实施例中,利用了图层的运动特性,首先利用当前帧中相邻块A~D中同一图层的块进行预测,如果不存在,则利用已编码帧中A’~I’中同一图层的块进行预测,结合空域和时域相关性,提高了运动矢量预测的准确性,减少了描述运动信息的比特数,提高了编解码效率。
在图7和图8所示的实施例中,已编码帧是指先于当前帧进行编码的图像帧,但是播放顺序上可以滞后于当前帧。如果当前编码块是前向预测,按照图7和图8所示步骤执行;如果当前编码块是双向预测,则已编码帧包括在播放顺序上一前一后的两帧,需要对这两帧都执行图7和图8所示的步骤。
图9是本发明的视频解码流程图,其包括如下步骤:
步骤901:从码流中提取各矩形区域子图的宽(width)、高(height)和位置,采用与视频编码时相同规则重建四分树,获得各矩形区域子图的图层标识(block_layer_flag),block_layer_flag值为L1的矩形区域子图是静止图层区域,block_layer_flag值为L2的矩形区域子图是运动图层区域;
步骤902:宏块的图层属性(mb_layer_flag)取值为宏块所属矩形区域子图的图层标识block_layer_flag;
步骤903:计算当前块的运动矢量预测值,解码当前块的运动矢量信息,得到当前块的运动矢量。
步骤904:对每个宏块进行解码。
由于对视频流的解码是视频编码的逆过程,对子图的四分树划分规则、四分树的级数、运动矢量的预测方法必须与编码时完全相同。对每个宏块的解码可采用与编码时相同的一般视频编解码标准所采用的重建图像方法。
图10为本发明视频解码方法对每个宏块进行解码的方法的流程图,其包括如下步骤:
步骤1001:解码得到当前块的预测编码模式,若采用层内预测编码,则执行步骤1002,否则执行步骤1003;
步骤1002:用当前帧中已解码的相邻块、已解码帧中与当前块位置相同的块及其邻域内的块中的采用层内预测编码的块计算运动矢量预测值,所用的块必须存在运动矢量并且与当前块属于相同的图层;
步骤1003:用当前帧中已解码的相邻块、已解码帧中与当前块位置相同的块及其邻域内的块中的采用层间预测编码的块计算运动矢量预测值,所用的块必须存在运动矢量并且与当前块属于相同的图层。
本步骤中对当前块的运动矢量的预测方法是用当前帧中已解码的相邻块A~D、已解码帧中与当前块位置相同的块E’及其邻域内的块A’~D’、F’~I’,对当前块Curr的运动矢量进行预测,可用的块必须有运动矢量并且与当前块属于相同的图层,如果可用块采用层内帧间预测编码,则可用块用于计算当前编码块层内帧间预测编码的运动矢量预测值,如果可用块采用层间帧间预测编码,则可用块用于计算当前编码块层间帧间预测编码的运动矢量预测值。
图11是本发明视频解码方法中运动矢量预测值的计算方法的流程图,其包括如下步骤:
步骤1101:如果当前帧已解码的相邻块A~D中有三个或以上是块运动矢量是可用的,则执行步骤1102,否则执行步骤1103;
步骤1102:取当前帧中三个可用的相邻块的运动矢量的中值作为当前块的运动矢量预测值;
在本步骤中,相邻块位置如图5所示,如果当前帧已解码相邻块A~D的运动矢量都可用,则当前块的运动矢量预测值取当前块Curr的左边块A,上边块B和右上块C的运动矢量的中值,否则取相邻块A~D中三个块的运动矢量的中值作为当前块的运动矢量预测值。
步骤1103:如果当前帧已编码的相邻块A~D中只有两个或一个块运动矢量是可用的,则执行步骤1104,否则执行步骤1105;
步骤1104:取当前帧中可用的相邻块的运动矢量的平均值作为当前块的运动矢量预测值;
步骤1105:如果已解码帧中与当前块位置相同的块运动矢量是可用的,则执行步骤1106,否则执行步骤1107;
步骤1106:则取已解码帧中与当前块位置相同的块的运动矢量作为当前块的运动矢量预测值;
步骤1107:如果已解码帧中与当前编码块位置相同块的邻域内块的运动矢量是可用的,执行步骤1108,否则执行步骤1109;
步骤1108:取邻域内块的运动矢量的平均值或者中值作为当前块的运动矢量预测值;
在本步骤中,如果已解码帧八邻域内有多个可用块,则运动矢量预测值取所有可用块的运动矢量的平均值或者中值。
步骤1109:取零运动矢量为当前块的运动矢量预测值。
在图10和图11所示的实施例中,已解码帧是指先于当前帧进行解码的图像帧,但在播放顺序上可以滞后于当前帧。如果当前块是前向预测,按照图10和图11所示步骤执行;如果当前块是双向预测,则已解码帧包括在播放顺序上一前一后的两帧,需要对这两帧都执行图10和图11中的步骤。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于图层分解的视频编解码方法,其特征在于,其中编码过程包括如下步骤:
步骤101:将当前输入图像分为静止图层区域和运动图层区域;
步骤102:用一个或者多个矩形区域子图分别包含所有运动图层宏块;
步骤103:将各矩形区域子图用四分法分为更小的矩形区域子图,对每个矩形区域子图用四分树描述其属于静止图层还是运动图层,并用图层标识(block_layer_flag)进行标记;
步骤104:宏块的宏块层标识(mb_layer_flag)取值为宏块所属矩形区域子图的图层标识值,对每个宏块进行编码。
2.如权利要求1所述基于图层分解的视频编解码方法,其特征在于:在步骤101中,对输入图像进行运动目标检测,根据运动目标检测的结果,将包含运动图层像素的宏块定义为运动图层宏块,其他宏块为静止图层宏块,运动图层宏块组成运动图层区域,静止图层宏块组成静止图层区域,运动图层是当前帧中的运动图层区域,静止图层包括当前帧中的静止图层区域以及以前帧中的静止图层区域。
3.如权利要求1所述基于图层分解的视频编解码方法,其特征在于:步骤102具体包括如下步骤:
步骤201:用若干个矩形区域子图分别包含所有运动图层宏块;
步骤202:合并矩形区域子图,计算矩形区域子图与周围其他矩形区域子图的两两之间的宏块距离,如果两个矩形区域子图的距离小于预设的阈值TH3,而且两个矩形区域子图合并后运动图层宏块数占合并后的大矩形区域总宏块数的比例大于预设的阈值TH4,则将这两个矩形区域子图合并成一个大的矩形区域子图,继续合并矩形区域子图直至合并后的矩形区域子图数目不大于预设的阈值TH5。
4.如权利要求1所述基于图层分解的视频编解码方法,其特征在于:所述 四分法具体其包括如下步骤:
步骤301:计算四分树根结点所表示矩形区域子图的宽(width)、高(height)和位置;
步骤311:如果矩形区域子图width<height/2,则执行步骤312,否则执行步骤313;
步骤312:矩形区域子图四分时宽度方向不分;
步骤313:如果width为奇数,则执行步骤314,否则执行步骤315;
步骤314:矩形区域子图四分时宽度左右相差1;
步骤315:矩形区域子图四分时宽度方向二等分;
步骤321:如果矩形区域子图height<width/2,则执行步骤322,否则执行步骤323;
步骤322:矩形区域子图四分时高度方向不分;
步骤323:如果height为奇数,则执行步骤324,否则执行步骤325;
步骤324:矩形区域子图四分时高度上下相差1;
步骤325:矩形区域子图四分时高度方向二等分。
5.如权利要求1所述基于图层分解的视频编解码方法,其特征在于:所述步骤103具体包括如下步骤:
步骤401:读取一个四分树根结点表示的矩形区域子图的width,height以及位置;
步骤402:根据矩形区域子图是否包含运动图层宏块,如果否,则执行步骤403,否则执行步骤404;
步骤403:该矩形区域子图属于静止图层区域,block_layer_flag置为L1,该矩形区域子图不再继续分,执行步骤408;
步骤404:判断矩形区域子图是否包含静止图层宏块,如果否,则执行步骤405,否则执行步骤406;
步骤405:该矩形区域子图属于运动图层区域,block_layer_flag置为L2, 该矩形区域子图不再继续分,执行步骤408;
步骤406:判断分割次数是否大于设定的阈值(TH1)或者矩形区域子图的大小小于设定的分割最小阈值(TH2),如果是,则执行步骤405,否则执行步骤407;
步骤407:将block_layer_flag置为L0,继续四分为更小的矩形区域子图进行判断,执行步骤402;
步骤408:判断是否已经完成四分树根结点所表示的矩形区域子图的各级矩形区域子图四分法描述并标记block_layer_flag,如果是,则结束,否则执行步骤409;
步骤409:取下一个未执行四分树描述的矩形区域子图,执行步骤402。
6.如权利要求5所述基于图层分解的视频编解码方法,其特征在于,其帧间预测还包括如下步骤:
步骤701:判断当前编码块的预测编码模式,如果是层内预测编码,则执行步骤702,否则执行步骤703;
步骤702:用当前帧中已编码的相邻块,已编码帧中与当前编码块位置相同的块及其邻域内的块中的采用层内预测编码的块的运动矢量计算当前编码块的运动矢量预测值,所用的块必须存在运动矢量,并且与当前编码块属于相同的图层;
步骤703:用当前帧中已编码的相邻块,已编码帧中与当前编码块位置相同的块及其邻域内的块中的采用层间预测编码的块的运动矢量计算当前编码块的运动矢量预测值,所用的块必须存在运动矢量,并且与当前编码块属于相同的图层。
7.如权利要求6所述基于图层分解的视频编解码方法,其特征在于,还包括如下步骤:
步骤801:如果当前帧已编码的相邻块中有三个或以上块运动矢量可用,则执行步骤802,否则执行步骤803; 
步骤802:取当前帧中三个可用的相邻块的运动矢量的中值作为当前编码块的运动矢量预测值;
步骤803:如果当前帧已编码的相邻块中只有两个或一个是块运动矢量可用,则执行步骤804,否则执行步骤805;
步骤804:取当前帧中可用的相邻块的运动矢量的平均值作为当前编码块的运动矢量预测值;
步骤805:如果已编码帧中与当前编码块位置相同的块运动矢量是可用的,则执行步骤806,否则执行步骤807;
步骤806:则取已编码帧中与当前编码块位置相同的块的运动矢量作为当前编码块的运动矢量预测值;
步骤807:如果已编码帧中与当前编码块位置相同块的邻域内块的运动矢量是可用的,执行步骤808,否则执行步骤809;
步骤808:取邻域内块的运动矢量的平均值或者中值作为当前编码块的运动矢量预测值;
步骤809:取零运动矢量为当前编码块的运动矢量预测值。
8.如权利要求1所述基于图层分解的视频编解码方法,其特征在于,对码流的解码时,包括如下步骤:
从码流中解码提取各矩形区域子图的宽(width)、高(height)和位置,采用与视频编码时相同规则重建四分树,获得各矩形区域子图的图层标识(block_layer_flag);
宏块的图层属性(mb_layer_flag)取值为宏块所属矩形区域子图的图层标识block_layer_flag;
计算当前块的运动矢量预测值,解码当前块的运动矢量信息,得到当前块的运动矢量。
对每个宏块进行解码。
9.如权利要求8所述基于图层分解的视频编解码方法,其特征在于,对每 个宏块进行解码包括如下步骤:
如果当前块采用层内预测编码,则用层内预测的已解码的块计算运动矢量预测值;
如果当前块采用层间预测编码,则用层间预测的已解码的块计算运动矢量预测值;
所述已解码的块是指当前帧中已解码的相邻块、已解码帧中与当前块位置相同的块及其邻域内的块,所用的块必须存在运动矢量并且与当前块属于相同的图层。 
CN201210551937.9A 2012-12-18 2012-12-18 一种基于图层分解的视频编解码方法 Active CN102984524B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210551937.9A CN102984524B (zh) 2012-12-18 2012-12-18 一种基于图层分解的视频编解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210551937.9A CN102984524B (zh) 2012-12-18 2012-12-18 一种基于图层分解的视频编解码方法

Publications (2)

Publication Number Publication Date
CN102984524A true CN102984524A (zh) 2013-03-20
CN102984524B CN102984524B (zh) 2015-09-30

Family

ID=47858213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210551937.9A Active CN102984524B (zh) 2012-12-18 2012-12-18 一种基于图层分解的视频编解码方法

Country Status (1)

Country Link
CN (1) CN102984524B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072481A (zh) * 2015-07-23 2015-11-18 柳州龙辉科技有限公司 一种视频数据的加载及播放方法
CN105187734A (zh) * 2015-07-23 2015-12-23 柳州永旺科技有限公司 一种动态图像与静态图像的加载方法
CN108830319A (zh) * 2018-06-12 2018-11-16 北京合众思壮科技股份有限公司 一种图像分类方法和装置
CN110460855A (zh) * 2019-07-22 2019-11-15 西安万像电子科技有限公司 图像处理方法及系统
WO2020000473A1 (zh) * 2018-06-29 2020-01-02 深圳市大疆创新科技有限公司 编码方法、解码方法、编码设备和解码设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742321A (zh) * 2010-01-12 2010-06-16 浙江大学 基于图层分解的视频编、解码方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742321A (zh) * 2010-01-12 2010-06-16 浙江大学 基于图层分解的视频编、解码方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
卢超: "面向监控的高效视频压缩技术", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, no. 8, 15 August 2010 (2010-08-15), pages 136 - 150 *
朱立华: "基于GPU的视频编码和分割的研究", 《万方数据库》, 15 June 2004 (2004-06-15), pages 25 - 32 *
郑春燕,邱国锋,张正栋等: "《地理信息系统原理、应用与工程》", 30 April 2011, article "四叉树编码", pages: 24-36 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072481A (zh) * 2015-07-23 2015-11-18 柳州龙辉科技有限公司 一种视频数据的加载及播放方法
CN105187734A (zh) * 2015-07-23 2015-12-23 柳州永旺科技有限公司 一种动态图像与静态图像的加载方法
CN108830319A (zh) * 2018-06-12 2018-11-16 北京合众思壮科技股份有限公司 一种图像分类方法和装置
CN108830319B (zh) * 2018-06-12 2022-09-16 北京合众思壮科技股份有限公司 一种图像分类方法和装置
WO2020000473A1 (zh) * 2018-06-29 2020-01-02 深圳市大疆创新科技有限公司 编码方法、解码方法、编码设备和解码设备
CN110460855A (zh) * 2019-07-22 2019-11-15 西安万像电子科技有限公司 图像处理方法及系统

Also Published As

Publication number Publication date
CN102984524B (zh) 2015-09-30

Similar Documents

Publication Publication Date Title
JP6931690B2 (ja) コンテンツをエンコードする方法及び計算装置
TWI462593B (zh) 解碼影像的方法
CN101783957B (zh) 一种视频预测编码方法和装置
Zhang et al. Low complexity HEVC INTRA coding for high-quality mobile video communication
CN107925759A (zh) 用于编码和解码帧内预测的方法和设备
KR20200125760A (ko) 픽처 예측 방법 및 픽처 예측 장치
JP2018501698A (ja) デジタル画像を処理するためのシステムおよび方法
KR100940444B1 (ko) 공간적 에지 검출을 이용한 인트라 예측 모드 구성 방법
CN107534767A (zh) 用于处理视频信号的方法及其装置
EP2382786A1 (en) Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors
CN110446039A (zh) 用于共享候选者列表的方法和装置
CN104041045A (zh) 用于视频译码的二次边界滤波
CN102598670A (zh) 参考多个帧对图像进行编码/解码的方法和设备
CN101888546B (zh) 一种运动估计的方法及装置
CN102984524B (zh) 一种基于图层分解的视频编解码方法
Jiang et al. Block-Based Parallel Intra Prediction Scheme for HEVC.
JP2018502480A (ja) デジタル画像のブロックのマスクベースの処理のためのシステムおよび方法
CN105141957A (zh) 图像和视频数据编解码的方法和设备
CN109246430B (zh) 虚拟现实360度视频快速帧内预测和cu划分提前决策
CN104519363B (zh) 视频编/解码方法、对应计算机程序及视频编/解码设备
US20150195567A1 (en) Spatial prediction method and device, coding and decoding methods and devices
KR20180024702A (ko) 영상에 대한 적응적 rdpcm 방법, 적응적 rdpcm에 기반한 인코딩 방법 및 적응적 rdpcm에 기반한 디코딩 방법
CN113422959A (zh) 视频编解码的方法、装置、电子设备及存储介质
WO2021031225A1 (zh) 一种运动矢量导出方法、装置及电子设备
Wang et al. Fast mode and depth decision algorithm for intra prediction of quality SHVC

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20161123

Address after: Hangzhou City, Zhejiang province 310005 Moganshan Road No. 1418-8 Building 1 room 315 (Shangcheng science and technology industrial base)

Patentee after: Hangzhou Hua Yanyun state information technology Co. Ltd.

Address before: 310027 Hangzhou, Zhejiang Province, Xihu District, Zhejiang Road, No. 38, No.

Patentee before: Zhejiang University

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310014 10 / F, building 4, No. 1418-50, Moganshan Road, Hangzhou City, Zhejiang Province (Shangcheng science and technology industrial base)

Patentee after: Huayan Zhike (Hangzhou) Information Technology Co., Ltd

Address before: Hangzhou City, Zhejiang province 310005 Moganshan Road No. 1418-8 Building 1 room 315 (Shangcheng science and technology industrial base)

Patentee before: HANGZHOU WHAYER YUNTAI INFORMATION TECHNOLOGY Co.,Ltd.