CN102651814A - 视频解码方法、编码方法及终端 - Google Patents
视频解码方法、编码方法及终端 Download PDFInfo
- Publication number
- CN102651814A CN102651814A CN2011100462702A CN201110046270A CN102651814A CN 102651814 A CN102651814 A CN 102651814A CN 2011100462702 A CN2011100462702 A CN 2011100462702A CN 201110046270 A CN201110046270 A CN 201110046270A CN 102651814 A CN102651814 A CN 102651814A
- Authority
- CN
- China
- Prior art keywords
- candidate motion
- motion vector
- vector
- initial
- reference point
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频解码方法、编码方法及终端,该解码方法包括:获取当前解码块的初始候选运动矢量集合;从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;根据所述新的候选运动矢量集合进行解码。本发明实施例,可以根据预设条件从候选运动矢量集合中去除一些运动矢量,在候选运动矢量数量减少的情况下,根据每个候选运动矢量得到参考帧中重建像素信息的数量也相应减少,同时由于这些候选运动矢量比较靠近,所取的参考块相互重叠,使得参考块可以重复使用,因此降低了对内存读取的频繁程度,简化了硬件设计,同时提高了编解码性能。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种视频解码方法、编码方法及终端。
背景技术
运动预测和运动补偿是视频压缩中的重要技术,视频压缩码流中的一部分比特用于传输运动矢量信息,特别在低码率情况下,对于高清视频来说,用于传输运动矢量信息所耗费的比特通常超过码流总比特数的百分之五十。针对连续动态图像的视频编码,将连续若干幅图像分成P、B、I三种类型,以B帧为例,其是根据相邻的前一帧、本帧以及后一帧数据的不同点来压缩本帧,即B帧可以根据其前一帧和后一帧获得运动矢量集合。因此,为了提高编码效率,现有技术中在编码或解码的码流中不写入某些编码块或解码块的运动矢量信息,而是通过一定的搜索/推导方法将这些运动矢量信息恢复出来。
仍然以B帧为例,现有技术中一种解码端运动矢量搜索推导方案为:假设当前待解码B帧为fn,fn的前一帧和后一帧作为其参考帧,分别为fn-1和fn+1。对于B帧中的当前编码块,获得其候选运动矢量集合,根据候选运动矢量集合中的每个候选运动矢量得到参考帧中的重建像素信息,通过推导重建像素信息获得当前编码块的若干参考块,然后根据前后参考块之间的匹配误差计算,将匹配误差最小的候选运动矢量作为当前编码块的运动矢量,或者作为供当前编码块参考的预测运动矢量。
现有技术中,当候选运动矢量集合中的候选运动矢量数量较多时,在根据每个候选运动矢量得到参考帧中重建像素信息后,需要频繁读取内存得到重建像素信息,以便推导出相应的参考块,读取的次数与所包含的候选运动矢量数量一致。由此可知,候选运动矢量集合中的候选运动矢量越多,则对内存的读取越频繁,由此提高了硬件设计难度,降低了编解码的性能。
发明内容
本申请实施例提供了一种视频解码方法、编码方法及终端,以解决现有候选运动矢量数量较多,导致对内存的读取频繁,降低编解码性能的问题。
本申请实施例公开了如下技术方案:
一种视频解码方法,包括:
获取当前解码块的初始候选运动矢量集合;
从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;
根据所述新的候选运动矢量集合进行解码。
一种视频解码终端,包括:
获取单元,用于获取当前解码块的初始候选运动矢量集合;
筛选单元,用于从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;
解码单元,用于根据所述新的候选运动矢量集合进行解码。
一种视频编码方法,包括:
获取当前编码块的初始候选运动矢量集合;
从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;
根据所述新的候选运动矢量集合进行编码。
一种视频编码终端,包括:
获取单元,用于获取当前编码块的初始候选运动矢量集合;
筛选单元,用于从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;
编码单元,用于根据所述新的候选运动矢量集合进行编码。
由上述实施例可以看出,本申请实施例中编码和解码过程中,获取当前编码块或解码块的初始候选运动矢量集合,从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合,根据新的候选运动矢量集合进行编码或解码。应用本申请实施例,可以根据预设条件从候选运动矢量集合中去除一些运动矢量,在候选运动矢量数量减少的情况下,根据每个候选运动矢量得到参考帧中重建像素信息的数量也相应减少,同时由于这些候选运动矢量比较靠近,所取的参考块相互重叠,使得参考块可以重复使用,因此降低了对内存读取的频繁程度,简化了硬件设计,同时提高了编解码性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请视频解码方法的第一实施例流程图;
图1B为具有双向运动补偿特性的B帧中解码块的运动矢量选择示意图;
图2A为本申请视频解码方法的第二实施例流程图;
图2B为本申请实施例中确定中心点的示意图;
图2C为本申请实施例中候选运动矢量的示意图;
图2D为本申请实施例中增加过滤窗的示意图;
图3为本申请视频解码方法的第三实施例流程图;
图4为本申请视频解码方法的第四实施例流程图;
图5为本申请视频解码方法的第五实施例流程图;
图6为本申请视频编码方法的实施例流程图;
图7A本申请视频解码终端的实施例框图;
图7B为图7A中一种筛选单元的实施例框图;
图7C为图7A中另一种筛选单元的实施例框图;
图7D为图7A中另一种筛选单元的实施例框图;
图7E为图7A中另一种筛选单元的实施例框图;
图8为本申请视频编码终端的实施例框图。
具体实施方式
本发明如下实施例提供了一种视频解码方法、编码方法及终端。
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图1A,为本申请视频解码方法的第一实施例流程图:
步骤101:获取当前解码块的初始候选运动矢量集合。
具体的,可以根据当前解码块的周边解码块得到空域候选运动矢量,根据参考帧得到当前解码块的时域候选运动矢量,参考帧为当前解码块所在的当前帧的前一帧,或后一帧,或前一帧和后一帧,将空域候选运动矢量和时域候选运动矢量组成初始候选运动矢量集合。
参见图1B,为具有双向运动补偿特性的B帧中解码块的运动矢量选择示意图。假设当前帧中的解码块mv为当前解码块,则当前解码块mv的周边解码块通常指图1B中示出的mv的左侧解码块mva、上方解码块mvb、右上方解码块mvc、左上方解码块mvd,根据上述解码块mva、mvb、mvc、mvd获得当前解码块mv的空域候选运动矢量;假设以参考帧为当前帧中的前一帧为例,则当前解码块mv在前一帧中对应位置处的解码块为mvcol,相应的mvcol的四邻域及八邻域解码块分别为mv0至mv7,根据上述mvcol和mv0至mv7获得mv的时域候选运动矢量,同理,也可以根据当前解码块mv在后一帧中对应位置处的解码块mvcol’及其四邻域及八邻域解码块mv0’至mv7’获得时域候选运动矢量。
步骤102:从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合。
其中,根据预设条件去除候选运动矢量的方式可以有多种,包括:
根据初始候选运动矢量集合中的候选运动矢量计算参考点,以参考点为中心设置用于对候选运动矢量进行选择的过滤窗,去除未包含在过滤窗内的候选运动矢量。
或者,根据初始候选运动矢量集合中的候选运动矢量计算参考点,比较每个候选运动矢量与参考点之间的距离,去除距离大于预设阈值的候选运动矢量。
或者,获取当前解码块的起始点位置,将起始点位置作为参考点,比较每个候选运动矢量与参考点之间的距离,去除距离大于预设阈值的候选运动矢量。
或者,分别计算每个候选运动矢量的分量矢量和,每个分量矢量和为每个候选运动矢量的水平运动矢量与垂直运动矢量的绝对值的和,从最大的分量矢量和开始,按照分量矢量和从大到小的顺序,提取预设数量的分量矢量和,去除提取的分量矢量和所对应的候选运动矢量。
上述列举了本申请实施例中优选的几种去除候选运动矢量的方式,需要说明的是,本申请实施例不限于上述几种方式,无论设置何种预设条件,其目的都在于从候选运动矢量集合中去除一定数量的候选运动矢量,以达到减小内存读取的目的。
步骤103:根据新的候选运动矢量集合进行解码。
在得到新的候选运动矢量集合后,可以采用现有的解码端推导技术,例如,利用新的候选运动矢量集合中的候选运动矢量,在前后参考帧中分别得到当前解码块的参考解码块,计算前后参考解码块之间的匹配误差,比如该匹配误差可以为两个参考解码块之间每个对应象素的绝对误差和,把匹配误差最小的运动矢量作为当前解码块的运动矢量,或者作为供当前解码块参考的预测运动矢量。根据得到的运动矢量或者预测运动矢量得到当前解码块的参考解码块,在解码端完成运动补偿,得到当前解码块的重建值。
相应的,在视频编码终端采用与视频解码终端一致生成新的候选运动矢量集合以及从中选择运动矢量作为当前编码块的运动矢量,或者作为供当前编码块参考的预测运动矢量的过程。视频编码终端可以将该选择的运动矢量与真实运动矢量之间的差值编入码流,并将码流传输到视频解码终端。因此视频解码终端分析该码流后,可以从中获取到选择的运动矢量与真实运动矢量之间的差值,将选择的运动矢量与差值相加即可得到编码终端真实编码运动矢量。
参见图2A,为本申请视频解码方法的第二实施例流程图,该实施例示出了通过设置过滤窗去除候选运动矢量的过程:
步骤201:获取当前解码块的初始候选运动矢量集合。
具体的,可以根据当前解码块的周边解码块得到空域候选运动矢量,根据参考帧得到当前解码块的时域候选运动矢量,参考帧为当前解码块所在的当前帧的前一帧,或后一帧,或前一帧和后一帧,将空域候选运动矢量和时域候选运动矢量组成初始候选运动矢量集合。
步骤202:根据初始候选运动矢量集合中的候选运动矢量计算参考点。
其中,参考点可以为候选运动矢量集合中所有候选运动矢量的中心点,或者候选运动矢量集合中所有候选运动矢量的重心点,或者候选运动矢量集合中所有候选运动矢量的中值点。下面分别介绍每种参考点的获得方式:
以参考点是中心为例,计算所有候选运动矢量的水平运动矢量的平均值,以及所有候选运动矢量的垂直运动矢量的平均值,将上述水平运动矢量的平均值和垂直运动矢量的平均值组成的运动矢量所表示的点作为中心。本申请实施例中,可以以当前解码块所组成矩形的左上角的点作为矢量坐标系的原点。参见图2B,为本申请实施例中确定中心点的示意图,参见图2C,为本申请实施例中候选运动矢量的示意图,其中MV1至MV7为候选运动矢量集合中的七个候选运动矢量。
以参考点为重心为例,将候选运动矢量中的所有候选运动矢量按照从大到小的顺序排序,然后以最大的候选运动矢量为起点,按照从大到小的顺序累加候选运动矢量,同时以最小的候选运动矢量为起点,按照从小到大的顺序累加候选运动矢量,两个方向上的累加不能有重叠的候选运动矢量,直到根据两个方向所累加出来的结果差值最小,选取此时两个方向上累加结果值较大的一方中,最后累加的运动矢量所对应的点作为重心。
以参考点为中值点为例,将候选运动矢量中的所有候选运动矢量按照从大到小的顺序排序,然后从中选取排在中间的候选运动矢量所对应的点作为中值点。
上述本实施例中的候选运动矢量通常为二维候选运动矢量,因此中心、重心、或者中值通常可以根据两个维度单独进行获取。
步骤203:以参考点为中心设置用于对候选运动矢量进行选择的过滤窗。
以步骤202中确定的参考点为中心,设置一个过滤窗,该过滤窗的大小可以根据当前解码块的大小进行自适应调整。
以参考点为中心为例,将该中心作为原点,设置一个与解码块的长和宽一致的过滤窗。参见图2D,为本申请实施例中增加过滤窗的示意图。
步骤204:去除未包含在过滤窗内的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合。
仍然结合图2D进行描述,在设置了过滤窗后,其中候选运动矢量MV1至MV6仍然位于过滤窗内,而MV7则位于过滤窗外,表示MV7不属于所设定的候选运动矢量的选择范围内,因此将MV7从候选运动矢量集合中去除。
步骤205:根据新的候选运动矢量集合进行解码。
具体根据新的候选运动矢量集合进行解码的过程与现有技术一致,其一般性描述可参见前述步骤103,在此不再赘述。
参见图3,为本申请视频解码方法的第三实施例流程图,该实施例示出了一种通过比较与参考点之间距离去除候选运动矢量的过程:
步骤301:获取当前解码块的初始候选运动矢量集合。
具体的,可以根据当前解码块的周边解码块得到空域候选运动矢量,根据参考帧得到当前解码块的时域候选运动矢量,参考帧为当前解码块所在的当前帧的前一帧,或后一帧,或前一帧和后一帧,将空域候选运动矢量和时域候选运动矢量组成初始候选运动矢量集合。
步骤302:根据初始候选运动矢量集合中的候选运动矢量计算参考点。
本步骤中计算参考点的过程与步骤202一致,在此不再赘述。
步骤303:比较每个候选运动矢量与参考点之间的距离。
以参考点为中心为例,分别计算每个候选运动矢量到该中心之间的距离,将计算出来的距离按照从大到小的顺序排列,后续可以选择去除距离大于阈值的候选运动矢量。
步骤304:去除距离大于预设阈值的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合。
步骤305:根据新的候选运动矢量集合进行解码。
具体根据新的候选运动矢量集合进行解码的过程与现有技术一致,其一般性描述可参见前述步骤103,在此不再赘述。
参见图4,为本申请视频解码方法的第四实施例流程图,该实施例示出了另一种通过比较与参考点之间距离去除候选运动矢量的过程:
步骤401:获取当前解码块的初始候选运动矢量集合。
具体的,可以根据当前解码块的周边解码块得到空域候选运动矢量,根据参考帧得到当前解码块的时域候选运动矢量,参考帧为当前解码块所在的当前帧的前一帧,或后一帧,或前一帧和后一帧,将空域候选运动矢量和时域候选运动矢量组成初始候选运动矢量集合。
步骤402:获取当前解码块的起始点位置,将该起始点位置作为参考点。
本实施例以当前解码块的起始点位置作为参考点,起始点位置通常指当前解码块左上角的点所在的位置。与前述实施例相比,直接确定参考点的方式避免了对参考点的计算,可以相应提高筛选候选运动矢量的速度。
步骤403:比较每个候选运动矢量与参考点之间的距离。
分别计算每个候选运动矢量到该当前解码块的起始点之间的距离,将计算出来的距离按照从大到小的顺序排列,后续可以选择去除距离大于阈值的候选运动矢量。
步骤404:去除距离大于预设阈值的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合。
步骤405:根据新的候选运动矢量集合进行解码。
具体根据新的候选运动矢量集合进行解码的过程与现有技术一致,其一般性描述可参见前述步骤103,在此不再赘述。
参见图5,为本申请视频解码方法的第五实施例流程图,该实施例示出了通过计算分量矢量和去除候选运动矢量的过程:
步骤501:获取当前解码块的初始候选运动矢量集合。
具体的,可以根据当前解码块的周边解码块得到空域候选运动矢量,根据参考帧得到当前解码块的时域候选运动矢量,参考帧为当前解码块所在的当前帧的前一帧,或后一帧,或前一帧和后一帧,将空域候选运动矢量和时域候选运动矢量组成初始候选运动矢量集合。
步骤502:分别计算每个候选运动矢量的分量矢量和,每个分量矢量和为每个候选运动矢量的水平运动矢量与垂直运动矢量的绝对值的和。
假设有两个候选运动矢量,分别为mv0和mv1,则它们的水平运动矢量分别是mv0_x和mv1_x,垂直运动矢量分别是mv0_y和mv1_y,然后按照如下公式计算各个候选运动矢量的分量矢量和:
mv_sadi=|mvi_x|+||mvi_y|
上式中,mv_sadi为第i个候选运动矢量的分量矢量和,mvi_x为第i个候选运动矢量的水平运动矢量,mvi_y为第i个候选运动矢量的垂直运动矢量。然后根据计算出的mv_sadi进行排序,例如,从大到小进行排序。
步骤503:从最大的分量矢量和开始,按照分量矢量和从大到小的顺序,提取预设数量的分量矢量和。
步骤504:去除提取的分量矢量和所对应的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合。
步骤505:根据新的候选运动矢量集合进行解码。
具体根据新的候选运动矢量集合进行解码的过程与现有技术一致,其一般性描述可参见前述步骤103,在此不再赘述。
采用上述本申请实施例中的解码方法,可以根据预设条件从候选运动矢量集合中去除一些运动矢量,在候选运动矢量数量减少的情况下,根据每个候选运动矢量得到参考帧中重建像素信息的数量也相应减少,因此降低了对内存读取的频繁程度,简化了硬件设计,同时提高了解码性能。
与前述本申请视频解码方法实施例相对应,本申请还提供了视频编码方法的实施例。本申请视频编码过程中生成候选运动矢量集合的方式与视频解码过程一致,不同在于视频编码过程根据所生成的新的候选运动矢量集合完成视频编码。
参见图6,为本申请视频编码方法的实施例流程图:
步骤601:获取当前编码块的初始候选运动矢量集合。
具体的,可以根据当前编码块的周边编码块得到空域候选运动矢量,根据参考帧得到当前编码块的时域候选运动矢量,参考帧为当前编码块所在的当前帧的前一帧,或后一帧,或前一帧和后一帧,将空域候选运动矢量和时域候选运动矢量组成初始候选运动矢量集合。
步骤602:从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合。
其中,根据预设条件去除候选运动矢量的方式可以有多种,包括:
根据初始候选运动矢量集合中的候选运动矢量计算参考点,以参考点为中心设置用于对候选运动矢量进行选择的过滤窗,去除未包含在过滤窗内的候选运动矢量。
或者,根据初始候选运动矢量集合中的候选运动矢量计算参考点,比较每个候选运动矢量与参考点之间的距离,去除距离大于预设阈值的候选运动矢量。
或者,获取当前编码块的起始点位置,将起始点位置作为参考点,比较每个候选运动矢量与参考点之间的距离,去除距离大于预设阈值的候选运动矢量。
或者,分别计算每个候选运动矢量的分量矢量和,每个分量矢量和为每个候选运动矢量的水平运动矢量与垂直运动矢量的绝对值的和,从最大的分量矢量和开始,按照分量矢量和从大到小的顺序,提取预设数量的分量矢量和,去除提取的分量矢量和所对应的候选运动矢量。
上述列举了本申请实施例中优选的几种去除候选运动矢量的方式,需要说明的是,本申请实施例不限于上述几种方式,无论设置何种预设条件,其目的都在于从候选运动矢量集合中去除一定数量的候选运动矢量,以达到减小内存读取的目的。
步骤603:根据新的候选运动矢量集合进行编码。
在得到新的候选运动矢量集合后,可以采用现有的解码端推导技术,例如,利用新的候选运动矢量集合中的候选运动矢量,在前后参考帧中分别得到当前编码块的参考编码块,计算前后参考编码块之间的匹配误差,比如该匹配误差可以为两个参考编码块之间每个对应象素的绝对误差和,把匹配误差最小的运动矢量作为当前编码块的运动矢量,或者作为供当前编码块参考的预测运动矢量。将当前编码块的原始值减去参考编码块对应的预测值得到残差值,对残差值进行编码,并传输到解码端。
上述编码过程中构建新的候选运动矢量集合的过程与前述解码方法的第二至第五实施例一致,在此不再赘述。采用上述本申请实施例中的编码方法,可以根据预设条件从候选运动矢量集合中去除一些运动矢量,在候选运动矢量数量减少的情况下,根据每个候选运动矢量得到参考帧中重建像素信息的数量也相应减少,同时由于这些候选运动矢量比较靠近,所取的参考块相互重叠,使得参考块可以重复使用,因此降低了对内存读取的频繁程度,简化了硬件设计,同时提高了编码性能。
与前述本申请视频解码方法和视频编码方法的实施例相对应,本申请还提供了视频解码终端和视频编码终端的实施例框图。
参见图7A,为本申请视频解码终端的实施例框图:
该视频解码终端包括:获取单元710、筛选单元720和解码单元730。
其中,获取单元710,用于获取当前解码块的初始候选运动矢量集合;
筛选单元720,用于从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;
解码单元730,用于根据所述新的候选运动矢量集合进行解码。
参见图7B,为图7A中一种筛选单元的实施例框图:
该筛选单元720可以包括:
第一参考点计算单元7211,用于根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;其中,参考点可以具体为所述候选运动矢量集合中所有候选运动矢量的中心点;或者所述候选运动矢量集合中所有候选运动矢量的重心点;或者,所述候选运动矢量集合中所有候选运动矢量的中值点;
过滤窗设定单元7212,用于以所述参考点为中心设置用于对候选运动矢量进行选择的过滤窗;
第一运动矢量去除单元7213,用于去除未包含在所述过滤窗内的候选运动矢量。
参见图7C,为图7A中另一种筛选单元的实施例框图:
该筛选单元720可以包括:
第二参考点计算单元7221,用于根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;其中,参考点可以具体为所述候选运动矢量集合中所有候选运动矢量的中心点;或者所述候选运动矢量集合中所有候选运动矢量的重心点;或者,所述候选运动矢量集合中所有候选运动矢量的中值点;
第一距离比较单元7222,用于比较每个候选运动矢量与所述参考点之间的距离;
第二运动矢量去除单元7223,用于去除所述距离大于预设阈值的候选运动矢量。
参见图7D,为图7A中另一种筛选单元的实施例框图:
该筛选单元720可以包括:
参考点获取单元7231,用于获取所述当前解码块的起始点位置,将所述起始点位置作为参考点;
第二距离比较单元7232,用于比较每个候选运动矢量与所述参考点之间的距离;
第三运动矢量去除单元7233,用于去除所述距离大于预设阈值的候选运动矢量。
参见图7E,为图7A中另一种筛选单元的实施例框图:
该筛选单元720可以包括:
分量矢量和计算单元7241,用于分别计算每个候选运动矢量的分量矢量和,每个分量矢量和为每个候选运动矢量的水平运动矢量与垂直运动矢量的绝对值的和;
分量矢量和提取单元7242,用于从最大的分量矢量和开始,按照所述分量矢量和从大到小的顺序,提取预设数量的分量矢量和;
第四运动矢量去除单元7243,用于去除所述提取的分量矢量和所对应的候选运动矢量。
参见图8,为本申请视频编码终端的实施例框图:
该视频编码终端包括:获取单元810、筛选单元820和编码单元830。
其中,获取单元810,用于获取当前编码块的初始候选运动矢量集合;
筛选单元820,用于从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;
编码单元830,用于根据所述新的候选运动矢量集合进行编码。
具体的,筛选单元820可以包括(图8中未示出):
第一参考点计算单元,用于根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;过滤窗设定单元,用于以所述参考点为中心设置用于对候选运动矢量进行选择的过滤窗;第一运动矢量去除单元,用于去除未包含在所述过滤窗内的候选运动矢量;其中,参考点可以具体为所述候选运动矢量集合中所有候选运动矢量的中心点;或者所述候选运动矢量集合中所有候选运动矢量的重心点;或者所述候选运动矢量集合中所有候选运动矢量的中值点;或者,
第二参考点计算单元,用于根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;第一距离比较单元,用于比较每个候选运动矢量与所述参考点之间的距离;第二运动矢量去除单元,用于去除所述距离大于预设阈值的候选运动矢量;其中,参考点可以具体为所述候选运动矢量集合中所有候选运动矢量的中心点;或者所述候选运动矢量集合中所有候选运动矢量的重心点;或者所述候选运动矢量集合中所有候选运动矢量的中值点;或者,
参考点获取单元,用于获取所述当前编码块的起始点位置,将所述起始点位置作为参考点;第二距离比较单元,用于比较每个候选运动矢量与所述参考点之间的距离;第三运动矢量去除单元,用于去除所述距离大于预设阈值的候选运动矢量;或者,
分量矢量和计算单元,用于分别计算每个候选运动矢量的分量矢量和,每个分量矢量和为每个候选运动矢量的水平运动矢量与垂直运动矢量的绝对值的和;分量矢量和提取单元,用于从最大的分量矢量和开始,按照所述分量矢量和从大到小的顺序,提取预设数量的分量矢量和;第四运动矢量去除单元,用于去除所述提取的分量矢量和所对应的候选运动矢量。
通过对以上实施方式的描述可知,本申请实施例中编码和解码过程中,获取当前编码块或解码块的初始候选运动矢量集合,从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合,根据新的候选运动矢量集合进行编码或解码。应用本申请实施例,可以根据预设条件从候选运动矢量集合中去除一些运动矢量,在候选运动矢量数量减少的情况下,根据每个候选运动矢量得到参考帧中重建像素信息的数量也相应减少,同时由于这些候选运动矢量比较靠近,所取的参考块相互重叠,使得参考块可以重复使用,因此降低了对内存读取的频繁程度,简化了硬件设计,同时提高了编解码性能。
进一步,由于物体的运动存在规律性和时空相关性,因此相邻编码块的运动矢量往往局限于一个较小的范围,所以通过本申请实施例的方法可以在保证编码性能的前提下限定读取内存的大小。由于候选运动矢量有可能减少,且大部分候选运动矢量距离很近,因此可以限定候选运动矢量的选择区域,从而对限定区域进行读取。例如,现在有8个候选运动矢量,其相互之间距离很近,则根据运动矢量通过运动补偿得到的参考帧重建像素就有可能发生重叠,根据限定的区域从内存中调入缓存中的参考帧重建像素就会减少;并且由于所限定的区域连在一起,因此可以便于进行一次性读取,而不需要根据候选运动矢量的数量进行分次读取的,从而可以进一步简化硬件的设计,提高编解码性能。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本发明实施例提供的技术可以应用在数字信号处理领域中,通过视频编码器,解码器实现。视频编码器,解码器广泛应用于各种通讯设备或电子设备中,例如:数字电视、机顶盒、媒体网关,移动电话,无线装置,个人数据助理(PDA),手持式或便携式计算机,GPS接收机/导航器,照相机,视频播放器,摄像机,录像机,监控设备,视频会议和可视电话设备等等。这类设备中包括处理器,存储器,以及传输数据的接口。视频编解码器可以直接由数字电路或芯片例如DSP(Digital Signal Processor)实现,或者由软件代码驱动一处理器执行软件代码中的流程而实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种视频解码方法,其特征在于,包括:
获取当前解码块的初始候选运动矢量集合;
从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;
根据所述新的候选运动矢量集合进行解码。
2.根据权利要求1所述的方法,其特征在于,所述从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量包括:
根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;
以所述参考点为中心设置用于对候选运动矢量进行选择的过滤窗;
去除未包含在所述过滤窗内的候选运动矢量。
3.根据权利要求1所述的方法,其特征在于,所述从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量包括:
根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;
比较每个候选运动矢量与所述参考点之间的距离;
去除所述距离大于预设阈值的候选运动矢量。
4.根据权利要求2或3所述的方法,其特征在于,所述参考点包括:
所述候选运动矢量集合中所有候选运动矢量的中心点;或者
所述候选运动矢量集合中所有候选运动矢量的重心点;或者,
所述候选运动矢量集合中所有候选运动矢量的中值点。
5.根据权利要求1所述的方法,其特征在于,所述从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量包括:
获取所述当前解码块的起始点位置,将所述起始点位置作为参考点;
比较每个候选运动矢量与所述参考点之间的距离;
去除所述距离大于预设阈值的候选运动矢量。
6.根据权利要求1所述的方法,其特征在于,所述从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量包括:
分别计算每个候选运动矢量的分量矢量和,每个分量矢量和为每个候选运动矢量的水平运动矢量与垂直运动矢量的绝对值的和;
从最大的分量矢量和开始,按照所述分量矢量和从大到小的顺序,提取预设数量的分量矢量和;
去除所述提取的分量矢量和所对应的候选运动矢量。
7.一种视频解码终端,其特征在于,包括:
获取单元,用于获取当前解码块的初始候选运动矢量集合;
筛选单元,用于从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;
解码单元,用于根据所述新的候选运动矢量集合进行解码。
8.根据权利要求7所述的终端,其特征在于,所述筛选单元包括:
第一参考点计算单元,用于根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;
过滤窗设定单元,用于以所述参考点为中心设置用于对候选运动矢量进行选择的过滤窗;
第一运动矢量去除单元,用于去除未包含在所述过滤窗内的候选运动矢量。
9.根据权利要求7所述的终端,其特征在于,所述筛选单元包括:
第二参考点计算单元,用于根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;
第一距离比较单元,用于比较每个候选运动矢量与所述参考点之间的距离;
第二运动矢量去除单元,用于去除所述距离大于预设阈值的候选运动矢量。
10.根据权利要求7所述的终端,其特征在于,所述筛选单元包括:
参考点获取单元,用于获取所述当前解码块的起始点位置,将所述起始点位置作为参考点;
第二距离比较单元,用于比较每个候选运动矢量与所述参考点之间的距离;
第三运动矢量去除单元,用于去除所述距离大于预设阈值的候选运动矢量。
11.根据权利要求7所述的终端,其特征在于,所述筛选单元包括:
分量矢量和计算单元,用于分别计算每个候选运动矢量的分量矢量和,每个分量矢量和为每个候选运动矢量的水平运动矢量与垂直运动矢量的绝对值的和;
分量矢量和提取单元,用于从最大的分量矢量和开始,按照所述分量矢量和从大到小的顺序,提取预设数量的分量矢量和;
第四运动矢量去除单元,用于去除所述提取的分量矢量和所对应的候选运动矢量。
12.一种视频编码方法,其特征在于,包括:
获取当前编码块的初始候选运动矢量集合;
从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;
根据所述新的候选运动矢量集合进行编码。
13.根据权利要求12所述的方法,其特征在于,所述从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量包括:
根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;
以所述参考点为中心设置用于对候选运动矢量进行选择的过滤窗;
去除未包含在所述过滤窗内的候选运动矢量。
14.根据权利要求12所述的方法,其特征在于,所述从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量包括:
根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;
比较每个候选运动矢量与所述参考点之间的距离;
去除所述距离大于预设阈值的候选运动矢量。
15.根据权利要求13或14所述的方法,其特征在于,所述参考点包括:
所述候选运动矢量集合中所有候选运动矢量的中心点;或者
所述候选运动矢量集合中所有候选运动矢量的重心点;或者,
所述候选运动矢量集合中所有候选运动矢量的中值点。
16.根据权利要求12所述的方法,其特征在于,所述从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量包括:
获取所述当前编码块的起始点位置,将所述起始点位置作为参考点;
比较每个候选运动矢量与所述参考点之间的距离;
去除所述距离大于预设阈值的候选运动矢量。
17.根据权利要求12所述的方法,其特征在于,所述从初始候选运动矢量集合中去除不符合预设条件的候选运动矢量包括:
分别计算每个候选运动矢量的分量矢量和,每个分量矢量和为每个候选运动矢量的水平运动矢量与垂直运动矢量的绝对值的和;
从最大的分量矢量和开始,按照所述分量矢量和从大到小的顺序,提取预设数量的分量矢量和;
去除所述提取的分量矢量和所对应的候选运动矢量。
18.一种视频编码终端,其特征在于,包括:
获取单元,用于获取当前编码块的初始候选运动矢量集合;
筛选单元,用于从所述初始候选运动矢量集合中去除不符合预设条件的候选运动矢量,剩余的候选运动矢量组成新的候选运动矢量集合;
编码单元,用于根据所述新的候选运动矢量集合进行编码。
19.根据权利要求18所述的终端,其特征在于,所述筛选单元包括:
第一参考点计算单元,用于根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;
过滤窗设定单元,用于以所述参考点为中心设置用于对候选运动矢量进行选择的过滤窗;
第一运动矢量去除单元,用于去除未包含在所述过滤窗内的候选运动矢量。
20.根据权利要求18所述的终端,其特征在于,所述筛选单元包括:
第二参考点计算单元,用于根据所述初始候选运动矢量集合中的候选运动矢量计算参考点;
第一距离比较单元,用于比较每个候选运动矢量与所述参考点之间的距离;
第二运动矢量去除单元,用于去除所述距离大于预设阈值的候选运动矢量。
21.根据权利要求18所述的终端,其特征在于,所述筛选单元包括:
参考点获取单元,用于获取所述当前编码块的起始点位置,将所述起始点位置作为参考点;
第二距离比较单元,用于比较每个候选运动矢量与所述参考点之间的距离;
第三运动矢量去除单元,用于去除所述距离大于预设阈值的候选运动矢量。
22.根据权利要求17所述的终端,其特征在于,所述筛选单元包括:
分量矢量和计算单元,用于分别计算每个候选运动矢量的分量矢量和,每个分量矢量和为每个候选运动矢量的水平运动矢量与垂直运动矢量的绝对值的和;
分量矢量和提取单元,用于从最大的分量矢量和开始,按照所述分量矢量和从大到小的顺序,提取预设数量的分量矢量和;
第四运动矢量去除单元,用于去除所述提取的分量矢量和所对应的候选运动矢量。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110046270.2A CN102651814B (zh) | 2011-02-25 | 2011-02-25 | 视频解码方法、编码方法及终端 |
PCT/CN2012/070505 WO2012113276A1 (zh) | 2011-02-25 | 2012-01-18 | 视频解码方法、编码方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110046270.2A CN102651814B (zh) | 2011-02-25 | 2011-02-25 | 视频解码方法、编码方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102651814A true CN102651814A (zh) | 2012-08-29 |
CN102651814B CN102651814B (zh) | 2015-11-25 |
Family
ID=46693698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110046270.2A Active CN102651814B (zh) | 2011-02-25 | 2011-02-25 | 视频解码方法、编码方法及终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102651814B (zh) |
WO (1) | WO2012113276A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110495175A (zh) * | 2017-03-31 | 2019-11-22 | 明达半导体股份有限公司 | 用于对用于并行处理的运动信息进行处理的图像处理方法、用于使用该图像处理方法进行解码和编码的方法、以及用于该方法的设备 |
CN110896485A (zh) * | 2018-09-13 | 2020-03-20 | 华为技术有限公司 | 一种预测运动信息的解码方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123728A (zh) * | 2006-08-08 | 2008-02-13 | 佳能株式会社 | 运动矢量检测设备及运动矢量检测方法 |
CN101860754A (zh) * | 2009-12-16 | 2010-10-13 | 香港应用科技研究院有限公司 | 运动矢量编码和解码的方法和装置 |
CN101959067A (zh) * | 2010-09-26 | 2011-01-26 | 北京大学 | 基于外极线约束的快速编码模式决策方法和系统 |
-
2011
- 2011-02-25 CN CN201110046270.2A patent/CN102651814B/zh active Active
-
2012
- 2012-01-18 WO PCT/CN2012/070505 patent/WO2012113276A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123728A (zh) * | 2006-08-08 | 2008-02-13 | 佳能株式会社 | 运动矢量检测设备及运动矢量检测方法 |
CN101860754A (zh) * | 2009-12-16 | 2010-10-13 | 香港应用科技研究院有限公司 | 运动矢量编码和解码的方法和装置 |
CN101959067A (zh) * | 2010-09-26 | 2011-01-26 | 北京大学 | 基于外极线约束的快速编码模式决策方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110495175A (zh) * | 2017-03-31 | 2019-11-22 | 明达半导体股份有限公司 | 用于对用于并行处理的运动信息进行处理的图像处理方法、用于使用该图像处理方法进行解码和编码的方法、以及用于该方法的设备 |
CN110495175B (zh) * | 2017-03-31 | 2022-10-18 | 明达半导体股份有限公司 | 图像解码方法和图像编码方法 |
CN110896485A (zh) * | 2018-09-13 | 2020-03-20 | 华为技术有限公司 | 一种预测运动信息的解码方法及装置 |
CN110896485B (zh) * | 2018-09-13 | 2021-10-15 | 华为技术有限公司 | 一种预测运动信息的解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102651814B (zh) | 2015-11-25 |
WO2012113276A1 (zh) | 2012-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10659791B2 (en) | Hierarchy of motion prediction video blocks | |
CN110326295B (zh) | 获取视频图像运动矢量的方法与装置、存储介质 | |
US10873744B2 (en) | Method and device for processing video signal by means of affine prediction | |
CN111316647B (zh) | 统一合并候选列表使用 | |
CN110870314B (zh) | 用于运动补偿的多个预测器候选 | |
CN109089119B (zh) | 一种运动矢量预测的方法及设备 | |
KR101590511B1 (ko) | 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법 | |
KR20200069303A (ko) | Fruc 템플릿 매칭에 대한 다양한 개선들 | |
CN107318025B (zh) | 图像处理设备和方法 | |
CN110326296B (zh) | 用于对运动信息进行编码和解码的方法和装置 | |
JP2019519980A5 (zh) | ||
US20120275522A1 (en) | Method and apparatus for motion vector encoding/decoding using spatial division, and method and apparatus for image encoding/decoding using same | |
US20090220005A1 (en) | Method and apparatus for encoding and decoding image by using multiple reference-based motion prediction | |
CN109922336B (zh) | 视频数据的帧间预测方法和装置 | |
JP2021523604A (ja) | ビデオ符号化及び復号化の動き補償 | |
EP3364656A1 (en) | Method for sample adaptive offset coding | |
US11812050B2 (en) | Motion vector obtaining method and apparatus | |
CN103155560A (zh) | 对差分运动矢量编码/解码的设备和方法以及利用该设备和方法对视频编码/解码的设备和方法 | |
CN111343461B (zh) | 视频解码方法、视频编码方法及装置 | |
CN102651814A (zh) | 视频解码方法、编码方法及终端 | |
CN110557642A (zh) | 一种视频帧编码运动搜索方法及图像编码器 | |
KR101510585B1 (ko) | 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법 | |
CN112261409A (zh) | 残差编码、解码方法及装置、存储介质及电子装置 | |
US10523945B2 (en) | Method for encoding and decoding video signal | |
KR101582493B1 (ko) | 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법 |
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 |