CN110213593A - 一种运动矢量的确定方法、编码压缩方法和相关装置 - Google Patents
一种运动矢量的确定方法、编码压缩方法和相关装置 Download PDFInfo
- Publication number
- CN110213593A CN110213593A CN201810516252.8A CN201810516252A CN110213593A CN 110213593 A CN110213593 A CN 110213593A CN 201810516252 A CN201810516252 A CN 201810516252A CN 110213593 A CN110213593 A CN 110213593A
- Authority
- CN
- China
- Prior art keywords
- block
- target
- target block
- candidate
- preset condition
- 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
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种运动矢量的确定方法,在计算图像帧中一个目标区块的MV之前,可以先确定出图像帧中与目标区块的位置相关度较高例如满足第一预设条件的参考区块。从参考区块中确定出一个参考区块作为候选区块,若候选区块的MV符合第二预设条件,则表示候选区块在图像帧上距离目标区块较近,候选区块的MV可以很大程度上与目标区块的MV相似,若将候选区块的MV作为目标区块的MV,并以此进行视频数据压缩,不仅不会对视频数据的压缩质量造成多少影响,而且还可以因此不必再对目标区块进行获取MV的计算,减少了计算量,提高了编码效率,以便满足目前对高质量视频所对应视频数据的数据压缩需求。本申请实施例还公开了一种编码压缩方法和相关装置。
Description
技术领域
本申请涉及数据处理领域,特别是涉及一种运动矢量的确定方法、编码压缩方法和相关装置。
背景技术
随着视频技术的发展,用户可以使用终端上网获取各类视频服务,例如进行直播、观看直播、观看视频、上传视频等。在通过终端获取视频服务时,需要将视频服务中的视频数据在两方或多方之间进行传输,例如用户在使用终端观看直播时,服务器需要将直播的视频数据传给终端。
随着用户观看视频的需求提高,视频服务的发展趋势是提高视频质量,例如提高视频的清晰度、帧率等。而高质量视频所对应视频数据的容量相对较大,需要在传输视频数据时对视频数据进行有效压缩,通过降低数据量以减轻传输负担。一个视频中包含一定数量的连续图像帧(frame)。由于视频中图像一般具有连续性,故相邻或邻近图像帧间通常很相似,也就是说,实际上视频数据包含了很多冗余数据,故可以通过消除视频数据中这类冗余数据的方式对视频数据进行编码压缩,而且不会对视频质量带来太多影响。
在通过传统方式例如H.264等方式对视频数据进行编码压缩过程中,需要通过帧间预测计算当前所处理图像帧中的运动矢量(Motion Vector,MV),图像帧中一个像素区块的MV可以体现出该像素区块与参考帧中对应像素区块间的相对位移。通过计算图像帧中的MV可以命定出图像帧中哪些数据属于可以消除的冗余数据。然而,由于传统方式原理上的局限性,在对容量较大的视频数据进行视频数据压缩所需的计算复杂度很高,其中大量计算资源会消耗在计算图像帧中的MV的过程中,大计算量带来的延迟导致传统方式难以达到实时编码压缩,也就是说,有可能一分钟压缩传输出的视频数据只能提供半分钟的播放时长,由此造成接收设备获得的视频数据难以支持正常播放,造成播放卡顿。可见,传统方式无法满足目前对高质量视频所对应视频数据的数据压缩需求。
发明内容
为了解决上述技术问题,本申请提供了一种运动矢量的确定方法、编码压缩方法和相关装置,该运动矢量的确定方法可以将已计算出的候选区块的MV作为该目标区块的MV,并以此进行视频数据压缩,不仅不会对视频数据的压缩质量造成多少影响,而且还可以因此不必对目标区块进行获取MV的计算,减少了计算量,提高了编码效率,以便满足目前对高质量视频所对应视频数据的数据压缩需求。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供了一种运动矢量的确定方法,所述方法包括:
确定所述目标区块对应的参考区块;其中,所述目标区块为图像帧中的一个像素区块;所述参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV;
从所述参考区块中确定出一个参考区块作为候选区块;
若所述候选区块的MV符合第二预设条件,将所述候选区块的MV作为所述目标区块的MV。
第二方面,本申请实施例提供了一种运动矢量的确定装置,所述装置包括参考区块确定模块、候选区块确定模块和MV确定模块:
所述参考区块确定模块,用于确定所述目标区块对应的参考区块;其中,所述目标区块为图像帧中的一个像素区块;所述参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV;
所述候选区块确定模块,用于从所述参考区块中确定出一个参考区块作为候选区块;
所述MV确定模块,用于若所述候选区块的MV符合第二预设条件,将所述候选区块的MV作为所述目标区块的MV。
第三方面,本申请实施例提供了一种运动矢量的确定设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面中任一项所述的运动矢量的确定方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面中任一项所述的运动矢量的确定方法。
第五方面,本申请实施例提供了一种编码压缩方法,所述方法包括:
确定图像帧中包括的运动矢量MV,其中,将符合第二预设条件的候选区块的MV作为目标区块的MV;所述目标区块为图像帧中的一个像素区块,所述目标区块对应的参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV,所述候选区块为从所述参考区块中确定出的一个参考区块;
根据所确定的MV对所述图像帧进行编码压缩。
第六方面,本申请实施例提供了一种编码压缩装置,所述装置包括确定模块和编码模块:
所述确定模块,用于确定图像帧中包括的运动矢量MV,其中,将符合第二预设条件的候选区块的MV作为目标区块的MV;所述目标区块为图像帧中的一个像素区块,所述目标区块对应的参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV,所述候选区块为从所述参考区块中确定出的一个参考区块;
所述编码模块,用于根据所确定的MV对所述图像帧进行编码压缩。
由上述技术方案可以看出,当计算图像帧中一个目标区块的MV时,可以在计算之前先确定出该图像帧中与该目标区块的位置相关度较高例如满足第一预设条件的参考区块。从参考区块中可以确定出一个参考区块作为候选区块,若该候选区块的MV可以符合第二预设条件,由于该候选区块与目标区块间的位置相关度较高,即候选区块在图像帧上距离目标区块较近,故该候选区块的MV可以很大程度上与该目标区块的MV相似,所以,若将该候选区块的MV作为该目标区块的MV,并以此进行视频数据压缩,不仅不会对视频数据的压缩质量造成多少影响,而且还可以因此不必再对目标区块进行获取MV的计算,减少了计算量,提高了编码效率,以便满足目前对高质量视频所对应视频数据的数据压缩需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的一种运动矢量的确定方法的应用场景示例图;
图1b为本申请实施例提供的一种MV的示例图;
图2为本申请实施例提供的一种运动矢量的确定方法的流程图;
图3为本申请实施例提供的一种对目标CU进行帧间预测的流程图;
图4为本申请实施例提供的针对目标CU的7种分割模式示例图;
图5为本申请实施例提供的针对7种帧间预测种类的预测顺序示例图;
图6为本申请实施例提供的与目标区块所在CU的相邻CU示例图;
图7为本申请实施例提供的与目标区块所在CU的相邻CU中的PU示例图;
图8a为本申请实施例提供的一种运动矢量的确定方法的流程图;
图8b为本申请实施例提供的一种编码压缩方法的流程图;
图9为本申请实施例提供的一种运动矢量的确定装置的结构框图;
图10a为本申请实施例提供的一种用于确定运动矢量的服务器的结构图;
图10b为本申请实施例提供的一种用于确定运动矢量的终端设备的结构图;
图11为本申请实施例提供的一种编码压缩装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
传统的压缩方式,由于计算复杂度很高,大量计算资源会消耗在计算图像帧中的MV的过程中,因此,传统方式难以达到实时编码压缩,进而无法满足目前对高质量视频所对应视频数据的数据压缩需求。
为此,本申请实施例提供了一种运动矢量的确定方法、编码压缩方法,可以适当地跳过对目标区块进行获取MV的计算,直接将候选区块的MV作为目标区块的MV,减少了获取图像帧的MV的计算量,进而减少视频数据压缩的计算量,提高了编码效率。
该方法可以应用于图1a所示的场景中,该场景中包括发送设备101和接收设备102,发送设备101可以通过网络向接收设备102发送视频数据。其中,发送设备101可以是终端设备、服务器等,接收设备102可以是终端设备、服务器等。图1a以发送设备101为服务器,接收设备102为终端设备为例进行介绍,该场景仅是一种示例,并不构成对本申请实施例提供的运动矢量的确定方法、编码压缩方法的应用场景的限定。
在图1a中,在发送设备101向接收设备102发送视频数据前,发送设备101可以先对视频数据进行视频压缩得到压缩后的视频数据,并向接收设备102传输压缩后的视频数据,接收设备102接收到压缩后的视频数据后,可以对压缩后的视频数据进行解压缩,得到对应的视频数据。视频压缩的一个重要过程是计算视频数据中图像帧的MV,在本申请实施例中,计算视频数据中图像帧的MV的方式是:针对图像帧中的每个像素区块,在计算该像素区块的MV之前,发送设备101可以先判断已经计算出的MV中是否具有可以作为该像素区块MV的可能,从而确定是否需要计算该像素区块的MV。例如,可以将该像素区块作为目标区块,先确定出图像帧中该目标区块对应的参考区块,其中,参考区块与目标区块的位置相关度较高例如满足第一预设条件。然后,从参考区块中确定出一个参考区块作为候选区块,并确定该候选区块的MV是否与该目标区块的MV相似,如果参考区块中存在候选区块,且候选区块的MV满足第二预设条件,则说明该候选区块的MV与该目标区块的MV相似,此时,无需计算目标区块的MV,可以直接将该候选区块的MV作为目标区块的MV,并以此进行视频数据压缩。
由此可见,无论使用哪种视频压缩方式进行视频压缩,在计算视频数据中图像帧的MV时,采用本申请实施例提供的运动矢量的确定方法不仅不会对视频数据的压缩质量造成多少影响,而且还可以不必对目标区块进行获取MV的计算,减少了计算量,提高了编码效率,以便满足目前对高质量视频所对应视频数据的数据压缩需求。
本申请实施例所提到的MV体现的是图像帧中的像素区块与参考帧中对应像素区块间的相对位移,MV的示例图可以如图1b所示,图1b中包括了图像帧和参考帧,对于图像帧中的像素区块A,其坐标可以用该像素区块的中心像素坐标(x,y)表示,像素区块A在参考帧中的匹配像素区块为Ar,Ar的坐标可以用该像素区块的中心像素坐标(x+dx,y+dy),在参考帧中与像素区块A位置相同的像素区块为A’,其坐标为该像素区块的中心像素坐标(x,y),则图像帧中的像素区块A的MV为Ar的坐标减去A’的坐标,即像素区块A的MV为(dx,dy)。
下面结合附图,对本申请实施例提供一种运动矢量的确定方法进行详细介绍,为了便于理解,请参见图2,图2为本申请实施例一种运动矢量的确定方法的流程图,该方法包括:
S201、确定所述目标区块对应的参考区块。
其中,所述目标区块为图像帧中的一个像素区块;所述参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV。
一个视频中包含一定数量的连续图像帧,每个图像帧可以为视频中一幅静止的画面,通过顺序的播放图像帧从而形成动态的视频。在对视频进行处理时,可以以图像帧为单位进行处理。
图像帧中可以包括多个像素,在计算MV时,可以将图像帧划分为多个像素区块,例如32x32像素的像素区块等,每个像素区块中包括了一定数量的像素。针对每个像素区块,可以认为在该像素区块中所包含的像素具有相同的MV。
在计算图像帧中一个目标区块的MV之前,可以先判断已经计算出的MV中是否具有可以作为该目标区块MV的能力,进而确定出是否需要计算该目标区块的MV。
为此,首先可以确定出该图像帧中与该目标区块的位置相关度较高的参考区块,例如选择该图像帧中与该目标区块的位置相关度满足第一预设条件,且已计算得到对应的MV的像素区块作为参考区块。
可以理解的是,位置相关度反映的是目标区块与参考区块运动的相似程度,一般情况下,参考区块在图像帧中与目标区块所在位置距离越近,可以表示该参考区块与目标区块的位置相关度越高,该参考区块与目标区块运动越相似,具有相似MV的可能性就越高。
当图像帧中的像素区块与该目标区块的位置相关度满足第一预设条件,可以认为该像素区块与目标区块所在位置之间的距离比较近,该像素区块与目标区块可能具有较大的关联,二者相对于参考帧中匹配像素区块的运动比较相似,从而确定出所需要的像素区块作为参考区块。
在本申请实施例中,第一预设条件可以包括位置相关度为相邻或重叠。既然参考区块与目标区块相邻或重叠,那么,说明参考区块与目标区块之间的距离比较近,二者的位置相关度比较高,与目标区块相邻或重叠的参考区块可以用来确定出所需要的与目标区块运动相似的像素区块。
S202、从所述参考区块中确定出一个参考区块作为候选区块。
在本实施例中,参考区块距离目标区块都比较近,可以从参考区块中确定出一个候选区块,该候选区块的MV可能被用来替代目标区块的MV。
一般情况下,确定出来的候选区块的MV应该是参考区块的MV中失真比较小的,能够较好的体现出该图像帧与参考帧之间的位置关系的,这样,该候选区块的MV才能是可信任的,更有可能被用来替代目标区块的MV。
可以理解的是,率失真代价可以反映参考区块与参考帧中对应的像素区块之间的位置匹配度,率失真代价越小,该参考区块与参考帧中对应的匹配像素区块之间的位置匹配度越高,失真就越小,越能够较好的体现出该图像帧与参考帧之间的位置关系。率失真代价的这种特性使得可以利用率失真代价作为确定候选区块的依据,即在本实施例中,可以将参考区块中率失真代价满足第三预设条件的参考区块确定为所述候选区块。
当参考区块的率失真代价满足第三预设条件,可以认为该参考区块的率失真代价比较小,该参考区块与参考帧中对应的匹配像素区块之间的位置匹配度越高,越能够较好的体现出该图像帧与参考帧之间的位置关系,该参考区块可以作为候选区块。在本实施例中,参考区块对应的率失真代价(rate distortion cost,简称rdcost)可以通过下列公式进行计算:
rdcost=distortion+lamda*bit
其中,rdcost表示参考区块对应的率失真代价;distortion表示失真度,可以用绝对差分和(Sum of Absolute Differences,简称sad)或者绝对变换差(Sum of AbsoluteTransformed Difference,简称satd)来计算,表示目标区块和参考区块之间的残差;bit表示需要编码的码子个数;lamda为拉格朗日系数。可以理解的是,为了有效的降低需要编码的码子个数,一般情况下,编码时可以对运动矢量偏移(Motion Vector Difference,简称MVD)进行编码,因此,bit可以使用MVD表示,MVD=MV-MVP,MV为参考区块MV的实际值,预测运动矢量(Motion Vector Prediction,简称MVP)为进行编码时,使用与参考区块相邻的已编码区块MV对参考区块MV进行帧间预测得到的预测值。
可以理解的是,位置匹配度的大小可以反映的参考区块的MV的可信任程度。如果率失真代价比较大,说明该参考区块与参考帧中对应的像素区块之间的位置匹配度比较小,利用该参考区块的MV得到的视频数据相对于原始视频数据的失真度高,该参考区块的MV的可信任度低。此时,即使该参考区块与目标区块的位置相关程度比较高,但是,由于其可信程度低,难以较好的体现出该图像帧与参考帧之间的位置关系,该参考区块也不能作为候选区块。相反,率失真代价越小,说明该参考区块的MV的可信任度高,该参考区块可以作为候选区块。
例如,某个参考区块的MV反映出图像帧相对于参考帧向右运动,但实际上图像帧相对于参考帧是向左运动的,在这种情况下,针对该参考区块计算得到的率失真代价会非常大。也就是说,若参考区块的率失真代价比较大,那么,该参考区块的MV可能是不可信任的,不能将率失真代价较大的参考区块作为候选区块,而应该将率失真代价较小的参考区块作为候选区块。
因此,为了确定出与参考帧中对应的匹配像素区块之间的位置匹配度最高的参考区块,最为准确的利用参考区块的MV体现出该图像帧与参考帧之间的位置关系,在一种实施例方式中,可以将参考区块中率失真代价最小的参考区块作为候选区块。在得到候选区块后,可以记录该候选区块的率失真代价rdcost和该候选区块的MV,并分别用initbestmv和initbestcost表示。
S203、若所述候选区块的MV符合第二预设条件,将所述候选区块的MV作为所述目标区块的MV。
在确定出候选区块后,虽然该候选区块距离目标区块比较近,率失真代价比较小,该候选区块的MV是可信任的,该候选区块的MV可能被用来替代目标区块的MV。但是,还是要进一步判断该候选区块的MV是否具有作为目标区块的MV的能力。
为此,可以判断该候选区块的MV是否与该目标区块的MV相似,即判断该候选区块与该目标区块是否具有相同的运动趋势,从而确定该候选区块的MV是否能够作为该目标区块的MV,从而确定是否可以不必对目标区块进行获取MV的计算。
例如,可以通过判断该候选区块的MV是否符合第二预设条件来进行确定,将第二预设条件作为衡量候选区块的MV能否作为目标区块的MV的一个标准。若符合,则可以认为该候选区块的MV与该目标区块的MV相似,该候选区块与该目标区块具有相同的运动趋势,该候选区块的MV能够替代该目标区块的MV的可能性足够大,此时,可以认为该候选区块的MV具有作为目标区块的MV的能力,将该候选区块的MV直接作为该目标区块的MV,并以该目标区块的MV进行视频数据压缩,而不会对视频数据的压缩质量造成多少影响。
在本实施例中,视频数据包括了一定数量的连续图像帧,如果视频中包括了一个足球在滚动,那么,表示该足球的同一像素区块在构成该视频的两个相邻图像帧上的位置是有区别的,此时,“足球”可以作为图像帧上的运动对象,需要说明的是,运动对象可以是人也可以是物体等;如果视频中存在一枝花,这枝花是静止的,那么,表示这枝花的同一像素区块在构成视频的两个相邻图像帧上的位置是相同的,此时,“花”可以作为图像帧上的静止对象。
基于视频中包括的对象的不同,在本实施例中,判断候选区块的MV是否与目标区块的MV相似可以包括不同的情况。其中,第一种情况可以是候选区块位于静止对象上。
由于候选区块与目标区块距离很近,如果候选区块静止不动,那么,目标区块有很大的可能也是保持静止不动的。这种情况下,候选区块的MV与目标区块的MV相似,候选区块的MV具备替代目标区块的MV的能力。也就是说,第二预设条件可以包括候选区块的MV的水平方向和垂直方向的矢量为0,若候选区块的MV符合第二预设条件,则说明候选区块静止不动,此时,候选区块位于静止对象上,由于候选区块与目标区块距离很近,那么,目标区块有很大可能也位于该静止对象上,则可以认为目标区块的MV也为0,不必对目标区块进行获取MV的计算。
第二种情况可以是候选区块与目标区块位于图像帧中同一个运动对象上。如果候选区块与目标区块位于同一个运动对象上,那么,候选区块与目标区块具有相同的运动趋势,则候选区块的MV能够替代目标区块的MV的可能性很大,可以认为候选区块的MV具备替代目标区块的MV的能力。
例如,图像帧中包括了一个运动对象,该运动对象为“足球”,候选区块与目标区块都位于“足球”上,则候选区块与目标区块都与“足球”的运动保持同步,候选区块与目标区块具有相同的运动趋势,此时,候选区块的MV与目标区块的MV相似。也就是说,第二预设条件可以包括参考区块的MV中有多个MV与所述候选区块的MV相同。若候选区块的MV符合第二预设条件,则说明候选区块与该多个参考区块有很大可能位于同一个运动对象上,而无论候选区块还是该多个参考区块都与该目标区块的位置相关度较高,则说明该目标区块、候选区块与该多个参考区块有很大可能位于同一个运动对象上,该候选区块的MV与目标区块的MV相似,该候选区块的MV能够作为该目标区块的MV,不必对目标区块进行获取MV的计算。
在上述第二种情况下,第二预设条件可以包括参考区块的MV中有多个MV与所述候选区块的MV相同,此时的第二预设条件可以理解为参考区块的MV中有至少N个MV与所述候选区块的MV相同,其中,N为阈值,N可以为不少于2的正整数。一般情况下,N的具体数值可以根据经验或具体的计算精度需求进行设定。
例如,在有些情况下,与候选区块的MV相同的参考区块的MV的个数达到3个,就可以认为候选区块与参考区块位于同一个运动对象上,即目标区块与候选区块位于同一个运动对象上,那么,N可以取值为3;而在有些情况下,与候选区块的MV相同的参考区块的MV的个数需要达到6个,才可以认为候选区块与参考区块位于同一个运动对象上,即目标区块与候选区块位于同一个运动对象上,那么,N可以取值为6。
一般情况下,由于参考区块的MV中与所述候选区块的MV相同的MV个数越多,表示候选区块与目标区块位于图像帧中同一个运动对象上的可能性越大,候选区块的MV与目标区块的MV越相似。因此,为了保证判断的准确性,第二预设条件中要求的参考区块的MV中与候选区块的MV相同的MV的个数不能过少。在本实施例中,例如,N可以为3,即参考区块的MV中有3个或3个以上MV与所述候选区块的MV相同时,可以将该候选区块的MV作为目标区块的MV。
需要说明的是,在得到目标区块的MV后,可以根据目标区块的MV进行MC得到预测误差,并根据目标区块的MV和预测误差一起进行编码得到压缩后的视频数据,以对压缩后的视频数据进行传输。
由上述技术方案可以看出,当计算图像帧中一个目标区块的MV时,可以在计算之前先确定出该图像帧中与该目标区块的位置相关度较高例如满足第一预设条件的参考区块。从参考区块中可以确定出一个参考区块作为候选区块,若该候选区块的MV可以符合第二预设条件,由于该候选区块与目标区块间的位置相关度较高,即候选区块在图像帧上距离目标区块较近,故该候选区块的MV可以很大程度上与该目标区块的MV相似,所以,若将该候选区块的MV作为该目标区块的MV,并以此进行视频数据压缩,不仅不会对视频数据的压缩质量造成多少影响,而且还可以因此不必再对目标区块进行获取MV的计算,减少了计算量,提高了编码效率,以便满足目前对高质量视频所对应视频数据的数据压缩需求。
在图2所对应的实施例中,S201中需要确定出与目标区块位置相关度较高,且已计算得到MV的像素区块作为参考区块,在本实施例中,若目标区块为一个预测单元(PredictUnit,简称PU),则参考区块可以为与目标区块的位置相关度越高的PU。在这种情况下,目标区块对应的参考区块包括以下任意一种或多种的组合:目标区块的父区块或子区块,其中,目标区块的父区块或子区块是根据针对目标编码单元(Code Unit,简称CU)进行帧间预测的过程所确定的,所述目标CU为所述目标区块所处的CU;与所述目标区块所在CU的相邻CU中的PU;所述目标区块所在CU中的PU。
其中,参考区块为目标区块的父区块或子区块可以认为是目标区块所在CU中的PU位置相关度为重叠的情况;目标CU为所述目标区块所处的CU,以及与所述目标区块所在CU的相邻CU中的PU可以认为是目标区块所在CU中的PU位置相关度为相邻的情况。
本实施例所提到的CU可以是由编码树单元(Coding Tree Unit,简称CTU)且切割得到的,一系列的CTU可以构成视频。CU可以与CTU尺寸相同,也可以是由CTU切割成得到的多个较小的CU,一般情况下,对CTU进行一次切割可以将CTU切割成四个CU。
例如,CTU的尺寸为64×64像素,那么,可以将该CTU作为CU,则CU的尺寸可以是64×64像素,也可以是将该CTU切割成四个CU,每个CU的大小为32×32像素。
需要说明的是,CU是决策帧间、帧内、PRED_Skip、PRED_Merge模式的基本单元。
PU是进行帧间预测时,根据一定的分割模式对CU进行分割得到的,一个CU可能包括一个PU,也可能包括两个PU。PU是进行帧间预测的基本单元,通过对PU进行帧间预测可以得到该PU的MV。
下面将结合附图,对每种参考区块进行介绍。
当参考区块为目标区块的父区块或子区块时,由于目标区块的父区块或子区块是根据针对目标CU进行帧间预测的过程确定的,首先可以先针对目标CU进行帧间预测的过程进行介绍,在该过程中介绍目标区块的父块或子块。参见图3,示出了对目标CU进行帧间预测的流程图,包括:
S301、开始对当前depth下的目标CU进行帧间预测。
在本实施例中,在进行帧间预测时,可以利用递归划分的方式对CU进行划分,例如,可以通过SubCU递归对CU进行划分,每划分一次就是将目标CU一分为四,该目标CU可以为某个深度depth下的CU,同时深度depth加1,直至达到最大depth。
其中,最大depth可以是根据帧间预测的精度进行确定的,最大depth越大,帧间预测的精度越高。本实施例中,可以以最大depth为4为例进行介绍。
当最大depth为4时,即depth=(0,1,2,3),若目标CU的尺寸为64×64像素,当depth=0时,目标CU只包括了一个CU,该CU的尺寸为64×64像素;当depth=1时,可以将目标CU一分为四,得到四个子CU,每个子CU的尺寸为32×32像素;当depth=2时,将depth=1划分得到的子CU作为目标CU,将该目标CU一分为四,再次得到四个子CU,每个子CU的尺寸为16×16像素;当depth=3时,将depth=2划分得到的子CU作为目标CU,将该目标CU一分为四,再次得到四个子CU,每个子CU的尺寸为8×8像素。
S302、对目标CU做PRED_MERGE和PRED_SKIP预测。
其中,PRED_MERGE和PRED_SKIP预测是两种常用的预测模式。
S303、PU 2N×2N帧间预测。
在进行帧间预测时,针对目标CU存在7种帧间预测种类,例如,S303中的PU 2N×2N帧间预测、S307中的PU N×2N和2N×N帧间预测、以及S308中的PU 2N×nU、2N×nD、nL×2N和nR×2N帧间预测。不同帧间预测种类可以对应不同的分割模式,也就是说,在本实施例中,针对目标CU进行分割时,可以存在7种分割模式,针对每种分割模式得到的PU可以采用相应的帧间预测种类进行预测。
假设目标CU的大小为2N×2N,那么,针对目标CU的7种分割模式可以参见图4所示。
在图4中,7种分割模式分别是2N×2N(不分割模式)、2N×N(长度是宽度的2倍的分割模式)、N×2N(宽度是长度的2倍的分割模式)、2N×nU(该模式以上方长度是宽度的4倍、下方宽度是长度的3/4来划分)、2N×nD(该模式以上方宽度是长度的3/4、下方长度是宽度的4倍来划分)、nL×2N(该模式以左侧宽度是长度的4倍、右侧长度是宽度的3/4来划分)、nR×2N(该模式以左侧长度是宽度的3/4、右侧宽度是长度的4倍来划分)。其中,2N×2N、2N×N、N×2N三种分割模式属于对称分割,其余四种分割模式输入非对称分割。另外,除了2N×2N,每种分割模式可以将目标CU分割成2个PU,并将得到的2个PU分别用不同的标识进行区分,例如将其中一个PU用0标识,将另一个PU用1标识。
在进行帧间预测时,针对目标CU,采用2N×2N分割模式得到的PU,则使用PU 2N×2N帧间预测,采用2N×N分割模式得到的PU,则使用PU 2N×N帧间预测,采用N×2N分割模式得到的PU,则使用PU N×2N帧间预测,采用2N×nU分割模式得到的PU,则使用PU 2N×nU帧间预测,采用2N×nD分割模式得到的PU,则使用PU 2N×nD帧间预测,采用nL×2N分割模式得到的PU,则使用PU nL×2N帧间预测,采用nR×2N分割模式得到的PU,则使用PU nR×2N帧间预测。根据这7种不同的帧间预测种类可以按照图5所示的顺序,逐个去做帧间预测。
S303则是执行对按照2N×2N分割模式得到的PU进行PU 2N×2N帧间预测。
S304、判断depth是否小于3,若是,则执行S305,若否则执行S307。
S305、SubCU递归。
S306、depth=depth+1。
其中,SubCU是指将一个CU一分为四,得到该CU的4个子CU,然后以每个子CU作为目标CU,再执行图4所示的流程。此时,对于子CU中作为目标区块的PU来说,被一分为四的CU可以作为该目标区块的父区块;对于被一分为四的CU中作为目标区块的PU来说,得到的子CU可以作为该目标区块的子区块。
S307、PU N×2N和2N×N帧间预测。
N×2N分割模式得到两个PU,2N×N分割模式得到两个PU,S307则是执行对N×2N分割模式得到的PU依次进行PU N×2N帧间预测,以及对2N×N分割模式得到的PU依次进行PU2N×N帧间预测。
S308、PU 2N×nU、2N×nD、nL×2N和nR×2N帧间预测。
2N×nU分割模式得到两个PU,2N×nD分割模式得到两个PU,nL×2N分割模式得到两个PU,nR×2N分割模式得到两个PU,S307则是执行对2N×nU分割模式得到的PU依次进行PU 2N×nU帧间预测、对2N×nD分割模式得到的PU依次进行PU 2N×nD帧间预测、对nL×2N分割模式得到的PU依次进行PU nL×2N帧间预测,以及对nR×2N分割模式得到的PU依次进行nR×2N帧间预测。
S309、帧内预测。
S310、返回,供depth-1层使用。
在图3中,若当前depth=2,目标区块为PU 2N×2N,对于该目标区块PU 2N×2N来说,此时,还没有执行S305,没有得到PU 2N×2N的子区块,因此,PU 2N×2N的参考区块为该PU的父区块;在depth不小于3时,执行其余分割模式的帧间预测,得到的帧间预测结果可以返回供depth=2层使用,这样,再次对depth=2层进行PU 2N×2N的帧间预测时,PU 2N×2N的参考区块为该PU的子区块。
需要注意,本实施例中的S304可以位于S307之后或者S303之前,或者其他位置,图3只是一种示例,并不构成对S304执行顺序的限定。
当参考区块为与所述目标区块所在CU的相邻CU中的PU时,在确定目标区块的参考区块时,可以首先确定出与目标区块所在CU的相邻CU,由于一般情况下,对于图像帧进行编码的顺序可以为从左至右,从上至下依次进行编码,相应的,MV也可以为从左至右,从上至下依次进行计算,并且参考区块应该是图像帧中已计算得到对应MV的像素区块,因此,能够用于确定参考区块、与目标区块所在CU的相邻CU可以是位于目标区块所在CU的上边、左上角、左边,则与目标区块所在CU的相邻CU可以如图6所示。
在图6中,位于目标区块所在CU的上边、左上角、左边的CU中的PU已计算得到MV,可以将与目标区块所在CU相邻的三个CU中的PU作为参考区块。
在一些情况下,由于CU存在不同的分割模式,与目标区块所在CU相邻的CU中可能包括两个PU,而这两个PU由于分割模式的不同,与目标区块的位置相关度可能有所不同。在这种情况下,为了后续可以更为准确地确定目标区块的MV,可以从与目标区块所在CU相邻CU中的PU中选择部分PU作为参考区块,该部分PU为其中与目标区块位置相关度较高的PU。
例如图7所示,其中,右下角的CU为目标区块所在的CU,位于目标区块所在CU的上边、左上角、左边的CU为与目标区块所在CU相邻的CU,每个与目标区块所在CU相邻的CU中包括了两个PU。若以右下角的CU中标识为0的像素区块为目标区块,从图7中可以看出,位于目标区块所在CU上边的CU中的两个PU都与该目标区块相邻,则可以认为这两个PU与目标区块的位置相关度较高;位于目标区块所在CU左上角的CU中的两个PU,其中,标识为1的PU与该目标区块相邻,而标识为0的PU与该目标区块不相邻,则可以认为标识为1的PU与该目标区块的位置相关度较高,而标识为0的PU与该目标区块的位置相关度较低;位于目标区块所在CU左边的CU中的两个PU,其中,标识为1的PU与该目标区块相邻,而标识为0的PU与该目标区块不相邻,则可以认为标识为1的PU与该目标区块的位置相关度较高,而标识为0的PU与该目标区块的位置相关度较低。由此可见,在与目标区块所在CU相邻CU的所有PU中,位于目标区块所在CU上边的CU中的两个PU、位于目标区块所在CU左上角的CU中标识为1的PU,以及位于目标区块所在CU左边的CU中标识为1的PU与目标区块的位置相关度较高,则可以将其作为目标区块对应的参考区块。
若以右下角的CU中标识为1的像素区块为目标区块,从图7中可以看出,在与目标区块所在CU相邻CU的所有PU中,仅有位于目标区块所在CU上边的CU中标识为1的PU与目标区块相邻,那么,可以将位于目标区块所在CU上边的CU中标识为1的PU作为目标区块对应的参考区块。
当参考区块为所述目标区块所在CU中的PU时,那么,参考区块为目标区块所在CU中已完成计算得到MV的PU。参见图4和图5,由于针对一个CU,该CU会存在图4所示的7种分割模式,并且可以按照图5所示的顺序依次执行不同种类的帧间预测,从而利用该种类帧间预测得到对应分割模式下PU的MV。在对某个PU(目标区块)进行帧间预测时,可能之前已有PU完成过帧间预测,并得到了相应的MV,而这些已得到MV的PU与目标区块都是同一个CU的PU,因此,这些已得到MV的PU与目标区块位置相关度较高,可以作为目标区块对应的参考区块。
例如,目标区块为图4中N×2N分割模式下标识为0的PU,那么,已得到MV的PU包括2N×2N分割模式下的一个PU,以及2N×N分割模式下的两个PU,即目标区块对应的参考区块为2N×2N分割模式下的一个PU,以及2N×N分割模式下的两个PU。
基于图1a-图7对应的实施例,下面结合应用场景介绍一种运动矢量的确定方法。在该场景中,目标区块为一个PU,参见图8a,所述方法包括:
S801、在计算该PU的运动矢量MV之前,将该PU的父块或子块、该PU所在CU的相邻CU中的PU、该PU所在CU中的PU确定为该PU对应的参考区块。
其中,该PU的父块或子块、该PU所在CU的相邻CU中的PU、该PU所在CU中的PU已计算得到对应的MV。
S802、计算所述参考区块分别对应的率失真代价,并将率失真代价中最小的参考区块作为候选区块。
S803、判断该候选区域的MV的水平方向和垂直方向的矢量是否为0;或者,判断参考区块的MV中与候选区块的MV相同的MV的个数是否大于N,若其中一个为是,则执行S804,若都为否,则执行S805。
其中,N为不小于2的正整数,可以根据实际编码的加速比来调整,在本实施例中,N=3。
S804、将所述候选区块的MV作为该PU的MV。
S805、对该PU进行帧间预测,以计算得到该PU的MV。
由上述技术方案可以看出,当计算图像帧中一个目标区块的MV时,可以在计算之前先确定出该图像帧中与该目标区块的位置相关度较高例如满足第一预设条件的参考区块。从参考区块中可以确定出一个参考区块作为候选区块,若该候选区块的MV可以符合第二预设条件,由于该候选区块与目标区块间的位置相关度较高,即候选区块在图像帧上距离目标区块较近,故该候选区块的MV可以很大程度上与该目标区块的MV相似,所以,若将该候选区块的MV作为该目标区块的MV,并以此进行视频数据压缩,不仅不会对视频数据的压缩质量造成多少影响,而且还可以因此不必再对目标区块进行获取MV的计算,减少了计算量,提高了编码效率,以便满足目前对高质量视频所对应视频数据的数据压缩需求。
基于图1a-图8a对应的实施例提供的运动矢量的确定方法,可以得到目标区块的MV,并以此进行视频数据压缩。本实施例提供一种编码压缩方法,参见图8b,该方法包括:
S801、确定图像帧中包括的运动矢量MV。
其中,将符合第二预设条件的候选区块的MV作为目标区块的MV,该目标区块为图像帧中的一个像素区块,该目标区块对应的参考区块为在该图像帧中与该目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV,该候选区块为从所述参考区块中确定出的一个参考区块。
依据图1a-图8a对应的实施例提供的运动矢量的确定方法,可以得到图像帧中每个像素区块的MV,进而确定图像帧中包括的MV,然后便可以利用该图像帧包括的MV对该图像帧进行编码压缩。
S802、根据所确定的MV对所述图像帧进行编码压缩。
由上述技术方案可以看出,在对图像帧进行编码压缩时,可以将满足第二预设条件的候选区块的MV作为目标区块的MV,从而确定出图像帧包括的MV,并以此进行视频数据压缩,不仅不会对视频数据的压缩质量造成多少影响,而且还可以因此不必再对目标区块进行获取MV的计算,减少了计算量,提高了编码压缩效率,以便满足目前对高质量视频所对应视频数据的数据压缩需求。
为便于更好的实施本申请实施例的上述技术方案,下面还提供用于实施上述方案的相关装置。
请参见图9所示,本申请实施例提供的一种运动矢量的确定装置900,包括参考区块确定模块901、候选区块确定模块902和MV确定模块903;
所述参考区块确定模块901,用于确定所述目标区块对应的参考区块;其中,所述目标区块为图像帧中的一个像素区块;所述参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV;
所述候选区块确定模块902,用于从所述参考区块中确定出一个参考区块作为候选区块;
所述MV确定模块903,用于若所述候选区块的MV符合第二预设条件,将所述候选区块的MV作为所述目标区块的MV。
在一些实施例中,所述第一预设条件包括位置相关度为相邻或重叠。
在一些实施例中,若所述目标区块为一个预测单元PU,所述目标区块对应的参考区块包括以下任意一种或多种的组合:
所述目标区块的父区块或子区块;所述目标区块的父区块或子区块是根据针对目标编码单元CU进行帧间预测的过程所确定的,所述目标CU为所述目标区块所处的CU;
与所述目标区块所在CU的相邻CU中的PU;
所述目标区块所在CU中的PU。
在一些实施例中,所述候选区块确定模块902,用于将参考区块中率失真代价满足第三预设条件的参考区块确定为所述候选区块。
在一些实施例中,所述第二预设条件包括候选区块的MV的水平方向和垂直方向的矢量为0;或者,所述参考区块的MV中有多个MV与所述候选区块的MV相同。
由上述技术方案可以看出,当计算图像帧中一个目标区块的MV时,可以在计算之前先由参考区块确定模块901确定出该图像帧中与该目标区块的位置相关度较高例如满足第一预设条件的参考区块。接着,候选区块确定模块902可以从参考区块中可以确定出一个参考区块作为候选区块,若该候选区块的MV可以符合第二预设条件,由于该候选区块与目标区块间的位置相关度较高,即候选区块在图像帧上距离目标区块较近,故该候选区块的MV可以很大程度上与该目标区块的MV相似,所以,若MV确定模块903将该候选区块的MV作为该目标区块的MV,并以此进行视频数据压缩,不仅不会对视频数据的压缩质量造成多少影响,而且还可以因此不必再对目标区块进行获取MV的计算,减少了计算量,提高了编码效率,以便满足目前对高质量视频所对应视频数据的数据压缩需求。
本申请实施例还提供了一种运动矢量的确定设备,该设备可以是服务器,也可以是终端设备,下面结合附图分别对运动矢量的确定设备进行介绍。请参见图10a所示,本申请实施例提供的一种运动矢量的确定设备1000,该设备1000可以是服务器,可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1022(例如,一个或一个以上处理器)和存储器1032,一个或一个以上存储应用程序1042或数据1044的存储介质1030(例如一个或一个以上海量存储设备)。其中,存储器1032和存储介质1030可以是短暂存储或持久存储。存储在存储介质1030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1022可以设置为与存储介质1030通信,在运动矢量的确定设备1000上执行存储介质1030中的一系列指令操作。
运动矢量的确定设备1000还可以包括一个或一个以上电源1026,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1058,和/或,一个或一个以上操作系统1041,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图10a所示的服务器结构。
其中,CPU 1022用于执行如下步骤:
确定所述目标区块对应的参考区块;其中,所述目标区块为图像帧中的一个像素区块;所述参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV;
从所述参考区块中确定出一个参考区块作为候选区块;
若所述候选区块的MV符合第二预设条件,将所述候选区块的MV作为所述目标区块的MV。
请参见图10b所示,本申请实施例提供的一种运动矢量的确定设备1000,该设备1000还可以是终端设备,该终端可以为包括手机、平板电脑、个人数字助理(英文全称:Personal Digital Assistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为手机为例:
图10b示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图10b,手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(英文全称:wirelessfidelity,英文缩写:WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10b中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图10b对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:LowNoise Amplifier,英文缩写:LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:Global System of Mobile communication,英文缩写:GSM)、通用分组无线服务(英文全称:General Packet Radio Service,GPRS)、码分多址(英文全称:CodeDivision Multiple Access,英文缩写:CDMA)、宽带码分多址(英文全称:Wideband CodeDivision Multiple Access,英文缩写:WCDMA)、长期演进(英文全称:Long TermEvolution,英文缩写:LTE)、电子邮件、短消息服务(英文全称:Short Messaging Service,SMS)等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(英文全称:Liquid Crystal Display,英文缩写:LCD)、有机发光二极管(英文全称:Organic Light-Emitting Diode,英文缩写:OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10b中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10b示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1080还具有以下功能:
确定所述目标区块对应的参考区块;其中,所述目标区块为图像帧中的一个像素区块;所述参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV;
从所述参考区块中确定出一个参考区块作为候选区块;
若所述候选区块的MV符合第二预设条件,将所述候选区块的MV作为所述目标区块的MV。
本申请实施例还提供了一种编码压缩装置,参见图11,示出了一种编码压缩装置1100的结构图,装置1100包括确定模块1101和编码模块1102:
所述确定模块1101,用于确定图像帧中包括的运动矢量MV,其中,将符合第二预设条件的候选区块的MV作为目标区块的MV;所述目标区块为图像帧中的一个像素区块,所述目标区块对应的参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV,所述候选区块为从所述参考区块中确定出的一个参考区块;
所述编码模块1102,用于根据所确定的MV对所述图像帧进行编码压缩。
由上述技术方案可以看出,在对图像帧进行编码压缩时,确定模块1101可以将满足第二预设条件的候选区块的MV作为目标区块的MV,从而确定出图像帧包括的MV。编码模块1102可以以此进行视频数据压缩,不仅不会对视频数据的压缩质量造成多少影响,而且还可以因此不必再对目标区块进行获取MV的计算,减少了计算量,提高了编码压缩效率,以便满足目前对高质量视频所对应视频数据的数据压缩需求。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种运动矢量的确定方法,其特征在于,所述方法包括:
确定所述目标区块对应的参考区块;其中,所述目标区块为图像帧中的一个像素区块;所述参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV;
从所述参考区块中确定出一个参考区块作为候选区块;
若所述候选区块的MV符合第二预设条件,将所述候选区块的MV作为所述目标区块的MV。
2.根据权利要求1所述的方法,其特征在于,所述第一预设条件包括位置相关度为相邻或重叠。
3.根据权利要求2所述的方法,其特征在于,若所述目标区块为一个预测单元PU,所述目标区块对应的参考区块包括以下任意一种或多种的组合:
所述目标区块的父区块或子区块;所述目标区块的父区块或子区块是根据针对目标编码单元CU进行帧间预测的过程所确定的,所述目标CU为所述目标区块所处的CU;
与所述目标区块所在CU的相邻CU中的PU;
所述目标区块所在CU中的PU。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述从所述参考区块中确定出一个参考区块作为候选区块,包括:
将参考区块中率失真代价满足第三预设条件的参考区块确定为所述候选区块。
5.根据权利要求1-3任意一项所述的方法,其特征在于,所述第二预设条件包括候选区块的MV的水平方向和垂直方向的矢量为0;或者,所述参考区块的MV中有多个MV与所述候选区块的MV相同。
6.一种运动矢量的确定装置,其特征在于,所述装置包括参考区块确定模块、候选区块确定模块和MV确定模块:
所述参考区块确定模块,用于确定所述目标区块对应的参考区块;其中,所述目标区块为图像帧中的一个像素区块;所述参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV;
所述候选区块确定模块,用于从所述参考区块中确定出一个参考区块作为候选区块;
所述MV确定模块,用于若所述候选区块的MV符合第二预设条件,将所述候选区块的MV作为所述目标区块的MV。
7.根据权利要求6所述的装置,其特征在于,所述第一预设条件包括位置相关度为相邻或重叠。
8.根据权利要求7所述的装置,其特征在于,若所述目标区块为一个预测单元PU,所述目标区块对应的参考区块包括以下任意一种或多种的组合:
所述目标区块的父区块或子区块;所述目标区块的父区块或子区块是根据针对目标编码单元CU进行帧间预测的过程所确定的,所述目标CU为所述目标区块所处的CU;
与所述目标区块所在CU的相邻CU中的PU;
所述目标区块所在CU中的PU。
9.根据权利要求6-8任意一项所述的装置,其特征在于,所述候选区块确定模块,用于将参考区块中率失真代价满足第三预设条件的参考区块确定为所述候选区块。
10.根据权利要求6-8任意一项所述的装置,其特征在于,所述第二预设条件包括候选区块的MV的水平方向和垂直方向的矢量为0;或者,所述参考区块的MV中有多个MV与所述候选区块的MV相同。
11.一种运动矢量的确定设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-5任一项所述的运动矢量的确定方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-5任一项所述的运动矢量的确定方法。
13.一种编码压缩方法,其特征在于,所述方法包括:
确定图像帧中包括的运动矢量MV,其中,将符合第二预设条件的候选区块的MV作为目标区块的MV;所述目标区块为图像帧中的一个像素区块,所述目标区块对应的参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV,所述候选区块为从所述参考区块中确定出的一个参考区块;
根据所确定的MV对所述图像帧进行编码压缩。
14.一种编码压缩装置,其特征在于,所述装置包括确定模块和编码模块:
所述确定模块,用于确定图像帧中包括的运动矢量MV,其中,将符合第二预设条件的候选区块的MV作为目标区块的MV;所述目标区块为图像帧中的一个像素区块,所述目标区块对应的参考区块为在所述图像帧中与所述目标区块的位置相关度满足第一预设条件的像素区块,且已计算得到对应的MV,所述候选区块为从所述参考区块中确定出的一个参考区块;
所述编码模块,用于根据所确定的MV对所述图像帧进行编码压缩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810516252.8A CN110213593B (zh) | 2018-05-25 | 2018-05-25 | 一种运动矢量的确定方法、编码压缩方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810516252.8A CN110213593B (zh) | 2018-05-25 | 2018-05-25 | 一种运动矢量的确定方法、编码压缩方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213593A true CN110213593A (zh) | 2019-09-06 |
CN110213593B CN110213593B (zh) | 2023-01-24 |
Family
ID=67778842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810516252.8A Active CN110213593B (zh) | 2018-05-25 | 2018-05-25 | 一种运动矢量的确定方法、编码压缩方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213593B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040008899A1 (en) * | 2002-07-05 | 2004-01-15 | Alexandros Tourapis | Optimization techniques for data compression |
US20080159401A1 (en) * | 2007-01-03 | 2008-07-03 | Samsung Electronics Co., Ltd. | Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method |
CN101827269A (zh) * | 2010-01-15 | 2010-09-08 | 香港应用科技研究院有限公司 | 视频编码方法和装置 |
CN102823247A (zh) * | 2010-03-30 | 2012-12-12 | 富士通株式会社 | 图像处理装置和图像处理方法 |
US20130251024A1 (en) * | 2012-03-21 | 2013-09-26 | Vixs Systems, Inc. | Method and device to identify motion vector candidates using a scaled motion search |
WO2015006884A1 (en) * | 2013-07-19 | 2015-01-22 | Qualcomm Incorporated | 3d video coding with partition-based depth inter coding |
-
2018
- 2018-05-25 CN CN201810516252.8A patent/CN110213593B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040008899A1 (en) * | 2002-07-05 | 2004-01-15 | Alexandros Tourapis | Optimization techniques for data compression |
US20080159401A1 (en) * | 2007-01-03 | 2008-07-03 | Samsung Electronics Co., Ltd. | Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method |
CN101827269A (zh) * | 2010-01-15 | 2010-09-08 | 香港应用科技研究院有限公司 | 视频编码方法和装置 |
CN102823247A (zh) * | 2010-03-30 | 2012-12-12 | 富士通株式会社 | 图像处理装置和图像处理方法 |
US20130251024A1 (en) * | 2012-03-21 | 2013-09-26 | Vixs Systems, Inc. | Method and device to identify motion vector candidates using a scaled motion search |
WO2015006884A1 (en) * | 2013-07-19 | 2015-01-22 | Qualcomm Incorporated | 3d video coding with partition-based depth inter coding |
Also Published As
Publication number | Publication date |
---|---|
CN110213593B (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120926B (zh) | 预测模式选择方法、装置及介质 | |
CN104618794B (zh) | 播放视频的方法和装置 | |
CN110278449A (zh) | 一种视频检测方法、装置、设备及介质 | |
CN111161316A (zh) | 目标物体跟踪方法、装置及终端设备 | |
WO2015039601A1 (en) | Methods, devices, terminal device and systems for pattern recognition | |
CN106911848B (zh) | 输出提示消息的方法与终端设备 | |
JP7024099B2 (ja) | ビデオ動き推定方法、装置、端末、及び記憶媒体 | |
CN108513671B (zh) | 一种2d应用在vr设备中的显示方法及终端 | |
WO2024012054A1 (zh) | 图像处理方法、智能终端及存储介质 | |
CN109189300A (zh) | 一种视图循环展示方法和装置 | |
CN110083742B (zh) | 一种视频查询方法和装置 | |
US10887586B2 (en) | Picture encoding method and terminal | |
CN105992001A (zh) | 一种对图片进行量化处理的方法及装置 | |
CN116668704B (zh) | 处理方法、处理设备及存储介质 | |
CN110209449B (zh) | 一种游戏中光标定位方法和装置 | |
CN111385513B (zh) | 通话方法以及相关设备 | |
CN110213593A (zh) | 一种运动矢量的确定方法、编码压缩方法和相关装置 | |
CN109358796A (zh) | 一种游戏视野共享方法、终端及可读存储介质 | |
CN111372127B (zh) | 一种数据传输方法和相关装置 | |
CN112866710B (zh) | 一种编码单元处理方法和相关装置 | |
CN115955565B (zh) | 处理方法、处理设备及存储介质 | |
CN110503084A (zh) | 一种图像中的文字区域识别方法和装置 | |
CN112752145B (zh) | 一种视频识别方法及相关设备 | |
CN109003313B (zh) | 一种传输网页图片的方法、装置和系统 | |
CN105208392B (zh) | 一种对图像进行压缩的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |