CN110769255B - 一种图像编码方法及装置 - Google Patents
一种图像编码方法及装置 Download PDFInfo
- Publication number
- CN110769255B CN110769255B CN201911061664.8A CN201911061664A CN110769255B CN 110769255 B CN110769255 B CN 110769255B CN 201911061664 A CN201911061664 A CN 201911061664A CN 110769255 B CN110769255 B CN 110769255B
- Authority
- CN
- China
- Prior art keywords
- macro block
- frame image
- current
- occlusion
- quantization parameter
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000013139 quantization Methods 0.000 claims abstract description 115
- 208000006440 Open Bite Diseases 0.000 claims abstract description 28
- 238000010845 search algorithm Methods 0.000 claims description 14
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/81—Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请涉及一种图像编码方法及装置。该方法包括:读取当前帧图像的当前宏块,确定该当前帧图像的当前宏块是否属于遮挡区域;如果该当前帧图像的当前宏块属于非遮挡区域,并且该当前帧图像的前一帧图像的相应宏块属于遮挡区域,则使用第一量化参数对该当前帧图像的当前宏块进行编码;否则,使用第二量化参数对该当前帧图像的当前宏块进行编码;其中,该第一量化参数小于该第二量化参数。本申请通过动态分配量化参数,改善了图像质量。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及图像编码技术及装置。
背景技术
视频编码器的压缩性能由视频压缩算法决定。视频压缩即要取得一定的压缩率,又要达到良好的图像质量,这是一对矛盾体。好的视频压缩算法,就是要在同等图像质量的情况下,使用更低的码率。
量化参数(quantization parameter,英文简称QP)是视频压缩最重要的参数之一。在视频编码器中,QP定义了残差变换后的量化步长。QP越大,量化步长越大,图像质量越差,但压缩率越高,码率越低;反之,QP越小,量化步长越小,图像质量越好,但压缩率越低,码率越高。如何确定QP的大小,是视频编码器控制码率的重要手段,也是提高图像质量的重要手段。
在现有技术中,通常会对I帧(关键帧,属于帧内压缩)使用较小的QP,以保证较好的图像质量,对P帧(差别帧,指示当前帧与前一帧的差别)使用较大的QP,以保证较低的码率。这样,对于静止的区域或者可运动补偿的区域,对P帧使用跳过模式(SKIP MODE),这样I帧的较高图像质量的区域就会延续到P帧,从而使整个序列的平均图像质量得到提高。
此种方法的一个负作用是,如果在P帧,局部地方不能做到有效的运动补偿,有残差需要编码时,由于所用了较大的QP,这些地方重构的图像质量会很低,甚至产生运动拖尾等现象的发生。因此,此种方法不适用于包含遮挡区域(uncovering region)的情况。遮挡区域是指在前一帧被遮挡看不到,而在当前帧显露出来的区域。对于uncovering region,由于当前显露出来的区域在前一帧找不到参考,因此若采用上述现有技术,对P帧使用较大QP,那么这个在前一帧被遮挡而在当前帧显露出来的区域的图像质量会很差,很可能会产生运动拖尾现象。
发明内容
本申请提供了一种图像编码方法及装置,本申请提高了图像质量,避免了运动拖尾现象的发生。
一方面,本申请实施例提供了一种图像编码方法,包括:读取当前帧图像的当前宏块,确定该当前帧图像的当前宏块是否属于遮挡区域;如果该当前帧图像的当前宏块属于非遮挡区域,并且该当前帧图像的前一帧图像的相应宏块属于遮挡区域,则使用第一量化参数对该当前帧图像的当前宏块进行编码;否则,使用第二量化参数对该当前帧图像的当前宏块进行编码;其中,该第一量化参数小于该第二量化参数。
本申请实施例通过对在当前帧图像中属于非遮挡区域且在前一帧图像中属于遮挡区域的宏块,使用较小的量化参数,而对其它宏块使用较大的量化参数的方式,提高了图像质量,改善了运动拖尾现象,并且只需要增加少量的码流。
在本申请的一个设计中,在该读取当前帧图像的当前宏块之前,包括:读取该当前帧图像的前一帧图像的相应宏块,确定该前一帧图像的相应宏块是否属于遮挡区域;将该前一帧图像的相应宏块的遮挡标识与该相应宏块的宏块标识相对应地存储起来,以便根据该当前帧图像的当前宏块的宏块标识确定该前一帧图像的相应宏块的遮挡标识。
在本申请的一个设计中,在该读取当前帧图像的当前宏块之前,包括:顺序读取该当前帧图像的前一帧图像的各宏块,并按照该读取顺序,存储该各宏块的遮挡标识;且该读取当前帧图像的当前宏块,包括:按照读取该前一帧图像各宏块的顺序,读取该当前帧图像的各宏块,以便根据该顺序,确定该当前帧图像的前一帧图像的相应宏块的遮挡标识,从而确定该前一帧图像的相应宏块是否属于遮挡区域。
在本申请的一个设计中,该确定该当前帧图像的当前宏块是否属于遮挡区域,包括:通过运动估计搜索算法,得到最小代价值;在该最小代价值小于等于第一阈值情况下,确定该当前宏块属于非遮挡区域;在该最小代价值大于等于第二阈值情况下,确定该当前宏块属于遮挡区域;其中,该第一阈值小于该第二阈值。
在本申请的一个设计中,该通过运动估计搜索算法,得到最小代价值,具体为:将该当前帧图像的当前宏块的各像素点的像素值与前一帧图像一个宏块对应像素点的像素值,做绝对误差和运算;遍历前一帧图像的所有宏块,确定最小的该绝对误差和为该最小代价值。
在本申请的一个设计中,该当前帧图像为非首帧图像,且在读取该当前帧图像之前包括:读取首帧图像的相应宏块,设置该首帧图像的相应宏块属于遮挡区域或者非遮挡区域,且使用第三量化参数对该首帧图像中的相应宏块进行编码,并且该第三量化参数小于该第一量化参数。
另一方面,本申请实施例提供了一种图像编码装置,包括:读取模块,用于读取当前帧图像的当前宏块;遮挡确定模块,用于确定该当前帧图像的当前宏块是否属于遮挡区域;宏块编码模块,用于如果该当前帧图像的当前宏块属于非遮挡区域,并且该当前帧图像的前一帧图像的相应宏块属于遮挡区域,则使用第一量化参数对该当前帧图像的当前宏块进行编码;否则,使用第二量化参数对该当前帧图像的当前宏块进行编码;其中,该第一量化参数小于该第二量化参数。
又一方面,本申请实施例提供了一种图像编码方法,包括:读取当前帧图像的当前宏块;确定该当前宏块是否属于遮挡区域;如果该当前宏块属于遮挡区域,则使用第一量化参数对该当前宏块进行编码;如果该当前宏块属于非遮挡区域,则使用第二量化参数对该当前宏块进行编码;其中,该第一量化参数小于该第二量化参数。
本申请实施例通过对属于遮挡区域的宏块使用较小的量化参数,对属于非遮挡区域的宏块使用较大的量化参数,解决了运动拖尾的问题,提高了图像质量,只是需要增加较大的码率。
在本申请的一个设计中,该确定该当前宏块是否属于遮挡区域,包括:通过运动估计搜索算法,得到最小代价值;在该最小代价值小于等于第一阈值情况下,确定该当前宏块属于非遮挡区域;在该最小代价值大于等于第二阈值情况下,确定该当前宏块属于遮挡区域;其中,该第一阈值小于该第二阈值。
在本申请的一个设计中,该通过运动估计搜索算法,得到最小代价值,具体为:将该当前帧图像的当前宏块的各像素点的像素值与前一帧图像一个宏块对应像素点的各像素值,做绝对误差和运算;遍历前一帧图像的所有宏块,确定最小的该绝对误差和为该最小代价值。
再一方面,本申请实施例提供了一种图像编码装置,包括:读取模块,用于读取当前帧图像的当前宏块;遮挡确定模块,用于确定该当前宏块是否属于遮挡区域;宏块编码模块,用于如果该当前宏块属于遮挡区域,则使用第一量化参数对该当前宏块进行编码;如果该当前宏块属于非遮挡区域,则使用第二量化参数对该当前宏块进行编码;其中,该第一量化参数小于该第二量化参数。
本申请通过确定视频图像的遮挡区域,并根据图像中各宏块是否为遮挡区域,动态地为各宏块分配量化参数,再根据该不同的量化参数对相应宏块进行编码。由于本申请是动态分配量化参数,因此本申请在增加较小码率的基础上,极大地改善了图像质量,解决了视频图像中运动拖尾的问题。
附图说明
图1为本申请一个实施例提供的图像编码方法流程图;
图2为本申请另一个实施例提供的图像编码方法流程图;
图3为本申请一个实施例提供的图像编码装置框图;
图4为本申请另一个实施例提供的图像编码装置框图。
具体实施方式
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
本申请通过确定视频图像中的各宏块是否属于遮挡区域,进而动态地调整各宏块的量化参数值,根据不同的量化参数值对相应宏块进行编码。因此,本申请提高了视频图像质量,解决了运动拖尾的问题,且码流增加幅度很小。
本申请适用于所有视频编码协议,例如HEVC(High Efficiency Video Coding,高效视频编码)、AVC(Advanced Video Coding,高级视频编码)、AVS(Audio Video codingStandard,音视频编码标准)等。
图1是本申请一个实施例提供的图像编码方法流程图。
步骤101,获取视频图像,例如由监控摄像头、手机摄像头、平板电脑摄像头等采集视频图像。
步骤102,读取该视频图像中当前帧图像的一个宏块。
在视频编码中,一个编码图像通常被划分成若干宏块,一个宏块由一个亮度像素块和两个色度像素块组成。一般来说,亮度像素块为16*16大小的像素块,而色度像素块的大小依据其图像的采样格式而定。在每个编码图像中,若干宏块被排列成片的形式,视频编码算法以宏块为单位,逐个宏块进行编码,组成连续的视频码流。本申请实施例提供的图像编码方式适用于64*64、32*32、16*16、8*8等大小的宏块。
步骤103,判断该当前帧图像的该宏块是否属于遮挡区域。
在一个示例中,通过运动估计搜索算法确定该当前帧图像中各宏块是否属于遮挡区域。
具体地,将该当前帧图像的该宏块的各像素点的像素值与前一帧图像各宏块相应像素点的像素值做数学运算,例如,做绝对差值和(sum of absolute difference,SAD)或均方误差和(sum of square error,SSE)或结构相似(strucural similarity,SSIM)等运算,得到最小SAD或最小SSE或最小SSIN等,将该最小SAD或最小SSE或最小SSIN等作为最小代价值mincost,通过该最小代价值mincost能够在该前一帧图像的所有宏块中得到与该当前帧图像的该宏块差别最小的宏块,该差别最小的宏块即为最佳相似块。该最小代价值mincost指示了前一帧图像所有宏块中与该当前帧图像的该宏块相似度最高的宏块,也既最佳相似块。
下面以将最小SAD作为最小代价值mincost为例,详述如何得到SAD,以及如何根据最小SAD,确定该当前帧图像中的该宏块是否属于遮挡区域。
首先获取该当前帧图像的该宏块的各像素点的像素值,将该当前帧图像的该宏块的各像素点的像素值与前一帧图像一个宏块的对应像素点的像素值,做差后再求绝对值(既差值绝对值),再将该宏块所有像素点的像素值所对应的差值绝对值求和,从而得到该当前帧图像的该宏块与前一帧图像的一个宏块的像素值的差值绝对值之和,即得到SAD。然后,遍历前一帧图像的所有宏块,也就是说,将该当前帧图像的该宏块与前一帧图像所有宏块,均做像素值的差值绝对值运算,然后确定最小的差值绝对值,即最小的SAD。其中,该当前帧图像的宏块大小与该前一帧图像的宏块大小相同。因此,本发明实施例通过计算SAD,得到两个宏块之间的相似度,通过确定最小的SAD,得到最佳相似块,并且通过该最小SAD,能够获知该当前帧图像的该宏块是否属于遮挡区域。
进一步地,本发明实施例通过以下方式确定该当前帧图像的该宏块是否属于遮挡区域:判定该最小SAD与第一阈值的大小关系,如果该最小SAD小于等于第一阈值,则确定该当前帧图像的该宏块属于非遮挡区域,原因是该当前帧图像的该宏块与其相应最佳相似块的差别很小;如果该最小SAD大于等于第二阈值,且该第一阈值小于该第二阈值,则确定该当前帧图像的该宏块属于遮挡区域,原因是该当前帧图像的该宏块与其相应最佳相似块的差别很大。例如,该视频图像被分成若干16*16像素的宏块,设置第一阈值为800,第二阈值为3000。
步骤104,存储该当前帧图像的该宏块的遮挡标识,例如,若该宏块属于遮挡区域,则该宏块的遮挡标识为1,若该宏块属于非遮挡区域,则该宏块的遮挡标识为0。
需要说明的是,步骤104存储该当前帧图像的该宏块的遮挡标识,目的是为了下一帧图像做图像编码使用;并且,以同样方式,已存储了前一帧图像的所有宏块的遮挡标识。
在一个示例中,将视频图像的各宏块的遮挡标识与相应宏块的标识相对应地存储起来。例如,宏块标识1001010,其遮挡标识1。
在另一个示例中,顺序存储视频图像中各宏块的遮挡标识。例如,对于该视频图像的每帧图像,存储各宏块的遮挡标识的顺序均为:从左到右、从上到下。
步骤105,若步骤103判定出该当前帧图像的该宏块属于遮挡区域,则使用第一量化参数QP对该当前帧图像的该宏块进行编码。
量化参数QP是指残差变化后的量化步长,量化参数QP越大,量化步长越大,压缩等级越高,编码后的数据量越小,编码后图像质量越差。
在一个示例中,该第一量化参数QP为现有的量化参数值。例如,对于大小为16*16宏块的视频图像,通常现有的量化参数值为30,则该第一量化参数值为30。
需要说明的是,在步骤103判定出该当前帧图像的该宏块属于遮挡区域之后,即可以先存储该当前帧图像的该宏块的遮挡标识,再对该当前帧图像的该宏块进行编码,也可以先对该当前帧图像的该宏块编码,再存储该当前帧图像的该宏块的遮挡标识,也就是说,既可以先执行步骤104再执行步骤105,也可以先执行步骤105再执行步骤104。
步骤106,若步骤103判定出该当前帧图像的该宏块属于非遮挡区域,则获取前一帧图像的对应宏块的遮挡标识;其中,该前一帧图像的对应宏块是指前一帧图像中与该当前帧图像的该宏块处于同一位置上的宏块。
在一个示例中,该视频图像的各宏块的遮挡标识存储方式是,宏块标识与该宏块的遮挡标识相对应地存储。具体地,将视频图像中任意帧图像,包括前一帧图像、当前帧图像、下一帧图像等,按照各宏块所处位置对各宏块进行标识,得到相应宏块标识。因此,处于同一位置处的任意帧图像,其宏块标识相同,因此,通过该当前帧图像的宏块标识就能够得到前一帧图像中处于同一位置的相应宏块的宏块标识。本发明实施例将视频图像的各宏块的宏块标识与遮挡标识相对应存储,前一帧图像各宏块的宏块标识与遮挡标识已经相对应存储,因此通过该当前帧图像的该宏块的宏块标识能够得到前一帧图像的相应宏块的宏块标识,通过该前一帧图像的相应宏块的宏块标识,能够得到该前一帧图像的相应宏块的遮挡标识。
在另一个示例中,该视频图像的各宏块的遮挡标识存储方式是,顺序存储该视频图像中各宏块的遮挡标识,则根据在当前帧图像中读取该宏块的顺序,获得前一帧图像的相应宏块的遮挡标识。
步骤107,判定该前一帧图像的相应宏块是否属于遮挡区域。也就是说,确定是否该当前帧图像的该宏块属于非遮挡区域,且前一帧图像的相应宏块属于遮挡区域。
具体地,根据获取到的该前一帧图像的相应宏块的遮挡标识,确定该前一帧图像的相应宏块是否属于遮挡区域。
步骤108,如果该前一帧图像的相应宏块属于非遮挡区域,则使用第一量化参数对该当前帧图像的该宏块进行编码。
量化参数QP是指残差变化后的量化步长,量化参数QP越大,量化步长越大,压缩等级越高,编码后的数据量越小,编码后图像质量越差。
在一个示例中,该第一量化参数QP为现有的量化参数值。例如,对于大小为16*16宏块的视频图像,通常现有的量化参数值为30,则该第一量化参数值为30。
步骤109,如果该前一帧图像的相应宏块属于遮挡区域,则使用第二量化参数对该当前帧图像的该宏块进行编码,且该第二量化参数小于该第一量化参数值。
也就是说,如果满足“当前帧图像的该宏块属于非遮挡区域,且前一帧图像的相应宏块属于遮挡区域”条件时,使用第二量化参数对该当前帧图像的该宏块进行编码,且该第二量化参数小于第一量化参数。
步骤110,遍历该当前帧图像中的所有宏块,并且对于任意宏块,仅在当前帧图像的该宏块属于非遮挡区域且在前一帧图像的相应宏块属于遮挡区域时,使用第二量化参数对该当前帧图像的该宏块进行编码,否则使用第一量化参数对该当前帧图像的该宏块进行编码,其中,该第二量化参数小于第一量化参数。
具体地,在当前帧图像的该宏块属于遮挡区域情况下,使用第一量化参数对该当前帧图像的该宏块进行编码;在当前帧图像的该宏块属于非遮挡区域,且前一帧图像的相应宏块属于非遮挡区域情况下,使用第一量化参数对该当前帧图像的该宏块进行编码;在当前帧图像的该宏块属于非遮挡区域,且前一帧图像的相应宏块属于遮挡区域情况下,使用第二量化参数对该当前帧图像的该宏块进行编码;且该第二量化参数小于第一量化参数。
此外,对于当前帧图像是首帧图像的情况,由于不存在前一帧图像,因此无法根据运动搜索算法获知该首帧图像的遮挡区域,因此,直接设置该首帧图像中的任意宏块为非遮挡区域或者遮挡区域,并且可以使用比第一量化参数值更小的量化参数值对该首帧图像的各宏块进行编码。
综上,在一帧图像中,一个遮挡区域可以包含一个或多个宏块,对于遮挡区域来说,如果前一帧被遮挡,而在当前帧又显露出来的话,那么如果使用现有技术的量化参数值(即第一量化参数)对该遮挡区域的宏块进行编码,则会产生较大的残差,影响视频图像的质量,如产生运动拖尾等现象。本申请实施例通过对前一帧图像中被遮挡而在当前帧图像中又显露出来的宏块,在当前帧使用比现有量化参数值更小的第二量化参数进行编码,而其它宏块则使用现有的量化参数即第一量化参数进行编码,在提高图像质量的同时,节省了码率。
上述图像编码方法是,在检测到图像中的宏块属于遮挡区域时,延迟一帧来调整量化参数,也就是说,当检测到当前帧图像中的宏块属于遮挡区域时,使用现有的量化参数对该宏块进行编码;当检测到当前帧图像的该宏块属于非遮挡区域且下一帧图像的相应宏块属于非遮挡区域时,使用比现有量化参数更小的量化参数对该宏块进行编码,这样,在增加少量码流的情况下,提高了视频图像质量。实际上,也可以在检测到当前帧图像中的宏块属于遮挡区域时,就采用比现有量化参数值更小的量化参数对该宏块进行编码,下面详述。
图2是本申请另一个实施例提供的视频编码方法流程图。
步骤201,获取视频图像,例如由监控摄像头、手机摄像头、平板电脑摄像头等采集视频图像。
步骤202,读取该视频图像中当前帧图像的一个宏块。
在视频编码中,视频编码算法以宏块为单位,逐个宏块进行编码,组成连续的视频码流。
步骤203,判断该当前帧图像的该宏块是否属于遮挡区域。
在一个示例中,通过运动估计搜索算法确定该当前帧图像中的该宏块是否属于遮挡区域。
在一个示例中,通过运动估计搜索算法确定该当前帧图像中各宏块是否属于遮挡区域。
具体地,将该当前帧图像的该宏块的各像素点的像素值与前一帧图像各宏块相应像素点的像素值做数学运算,例如,做绝对差值和(sum of absolute difference,SAD)或均方误差和(sum of square error,SSE)或结构相似(strucural similarity,SSIM)等运算,得到最小SAD或最小SSE或最小SSIN等,将该最小SAD或最小SSE或最小SSIN等作为最小代价值mincost,通过该最小代价值mincost能够在该前一帧图像的所有宏块中得到与该当前帧图像的该宏块差别最小的宏块,该差别最小的宏块即为最佳相似块。该最小代价值mincost指示了前一帧图像所有宏块中与该当前帧图像的该宏块相似度最高的宏块,也既最佳相似块。
下面以将最小SAD作为最小代价值mincost为例,详述如何得到SAD,以及如何根据最小SAD,确定该当前帧图像中的该宏块是否属于遮挡区域。
首先获取该当前帧图像的该宏块的各像素点的像素值,将该当前帧图像的该宏块的各像素点的像素值与前一帧图像一个宏块的对应像素点的像素值,做差后再求绝对值(既差值绝对值),再将该宏块所有像素点的像素值所对应的差值绝对值求和,从而得到该当前帧图像的该宏块与前一帧图像的一个宏块的像素值的差值绝对值之和,即得到SAD。然后,遍历前一帧图像的所有宏块,也就是说,将该当前帧图像的该宏块与前一帧图像所有宏块,均做像素值的差值绝对值运算,然后确定最小的差值绝对值,即最小的SAD。其中,该当前帧图像的宏块大小与该前一帧图像的宏块大小相同。因此,本发明实施例通过计算SAD,得到两个宏块之间的相似度,通过确定最小的SAD,得到最佳相似块,并且通过该最小SAD,能够获知该当前帧图像的该宏块是否属于遮挡区域。
进一步地,本发明实施例通过以下方式确定该当前帧图像的该宏块是否属于遮挡区域:判定该最小SAD与第一阈值的大小关系,如果该最小SAD小于等于第一阈值,则确定该当前帧图像的该宏块属于非遮挡区域,原因是该当前帧图像的该宏块与其相应最佳相似块的差别很小;如果该最小SAD大于等于第二阈值,且该第一阈值小于该第二阈值,则确定该当前帧图像的该宏块属于遮挡区域,原因是该当前帧图像的该宏块与其相应最佳相似块的差别很大。例如,该视频图像被分成若干16*16像素的宏块,设置第一阈值为800,第二阈值为3000。
步骤204,如果该宏块属于非遮挡区域,则使用第一量化参数对该当前帧图像的该宏块进行编码,该第一量化参数可以是现有的一种量化参数值。例如,对于大小为16*16宏块的图像,设置该现有的量化参数值为30,则该第一量化参数值为30。
步骤205,如果该宏块属于遮挡区域,则使用第二量化参数对该当前帧图像的该宏块进行编码,且该第二量化参数小于该第一量化参数值。
步骤206,遍历该当前帧图像中的所有宏块,对于该当前帧图像中的任意宏块来说,若其属于非遮挡区域,则使用第一量化参数对该当前帧图像的该宏块进行编码,若其属于遮挡区域,则使用第二量化参数对该当前帧图像的该宏块进行编码,其中,该第二量化参数小于第一量化参数。
图3为本申请一个实施例提供的图像编码装置框图。该图像编码装置包括读取模块310、遮挡确定模块320、宏块编码模块330;进一步地,该图像编码装置还包括处理模块340。
图3中,读取模块310用于读取当前帧图像的当前宏块。
遮挡确定模块320用于确定该当前帧图像的当前宏块是否属于遮挡区域。
宏块编码模块330用于如果该当前帧图像的当前宏块属于非遮挡区域,并且该当前帧图像的前一帧图像的相应宏块属于遮挡区域,则使用第一量化参数对该当前帧图像的当前宏块进行编码;否则,使用第二量化参数对该当前帧图像的当前宏块进行编码;其中,该第一量化参数小于该第二量化参数。
在一个示例中,读取模块310还用于读取该当前帧图像的前一帧图像的相应宏块;遮挡确定模块320还用于确定该前一帧图像的相应宏块是否属于遮挡区域;处理模块340还用于将该前一帧图像的相应宏块的遮挡标识与该相应宏块的宏块标识相对应地存储起来,以便遮挡确定模块320根据该当前帧图像的当前宏块的宏块标识确定该前一帧图像的相应宏块的遮挡标识。
在一个示例中,取模块310具体用于顺序读取该当前帧图像的前一帧图像的各宏块;处理模块340具体用于按照该读取顺序,存储该各宏块的遮挡标识;读取模块310具体用于按照读取该前一帧图像各宏块的顺序,读取该当前帧图像的各宏块,以便处理模块340根据该顺序确定该当前帧图像的前一帧图像的相应宏块的遮挡标识,从而遮挡确定模块320能够确定该前一帧图像的相应宏块是否属于遮挡区域。
在一个示例中,遮挡确定模块320具体用于:通过运动估计搜索算法,得到最小代价值;在该最小代价值小于等于第一阈值情况下,确定该宏块属于非遮挡区域;在该最小代价值大于等于第二阈值情况下,确定该宏块属于遮挡区域;其中,该第一阈值小于该第二阈值。
在一个示例中,遮挡确定模块320具体用于,将该当前帧图像的当前宏块的各像素点的像素值与前一帧图像一个宏块对应像素点的各像素值,做绝对误差和运算;遍历前一帧图像的所有宏块,确定最小的该绝对误差和为该最小代价值。
在一个示例中,当前帧图像为非首帧图像,读取模块310还用于读取首帧图像的相应宏块;处理模块340还用于设置该首帧图像的相应宏块属于遮挡区域或者非遮挡区域;宏块编码模块330还用于使用第三量化参数对该首帧图像中的相应宏块进行编码,并且该第三量化参数小于该第一量化参数。
图4为本申请另一个实施例提供的图像编码装置框图。该图像编码装置包括读取模块410、遮挡确定模块420、宏块编码模块430。
读取模块410用于读取当前帧图像的当前宏块。
遮挡确定模块420用于确定该当前宏块是否属于遮挡区域。
宏块编码模块430用于如果该当前宏块属于遮挡区域,则使用第一量化参数对该当前宏块进行编码;如果该当前宏块属于非遮挡区域,则使用第二量化参数对该当前宏块进行编码;其中,该第一量化参数小于该第二量化参数。
在一个示例中,遮挡确定模块420具体用于,通过运动估计搜索算法,得到最小代价值;若该最小代价值小于等于第一阈值,确定该当前宏块属于遮挡区域;若该最小代价值大于等于第二阈值,确定该当前宏块属于非遮挡区域;其中,该第一阈值小于该第二阈值。
进一步地,遮挡确定模块420具体用于,将当前帧图像的该当前宏块的各像素值与前一帧图像一个宏块的各像素值,做绝对误差和运算;遍历前一帧图像的所有宏块,确定最小的该绝对误差和为该最小代价值。
前文描述了本申请实施例的数据发送方法。本领域的技术人员意识到,所述方法实施例以及各步骤过程,能够以硬件方式来实现。本领域技术人员根据上述方法实施例,能够构建相应模块及变形,这些模块以及变形应归于本申请保护范围,在此不再赘述。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种图像编码方法,其特征在于,包括:
读取当前帧图像的当前宏块;
确定所述当前宏块是否属于遮挡区域,所述遮挡区域为在前一帧被遮挡,而在当前帧显露出来的区域;
如果所述当前宏块属于遮挡区域,则使用第一量化参数对所述当前宏块进行编码;
如果所述当前宏块属于非遮挡区域,则使用第二量化参数对所述当前宏块进行编码;
其中,所述第一量化参数小于所述第二量化参数。
2.根据权利要求1所述的方法,其特征在于,所述确定所述当前宏块是否属于遮挡区域,包括:
通过运动估计搜索算法,得到最小代价值;
在所述最小代价值小于等于第一阈值情况下,确定所述当前宏块属于非遮挡区域;
在所述最小代价值大于等于第二阈值情况下,确定所述当前宏块属于遮挡区域;
其中,所述第一阈值小于所述第二阈值。
3.根据权利要求2所述的方法,其特征在于,所述通过运动估计搜索算法,得到最小代价值,具体为:
将所述当前帧图像的当前宏块的各像素点的像素值与前一帧图像一个宏块对应像素点的各像素值,做绝对误差和运算;
遍历前一帧图像的所有宏块,确定最小的所述绝对误差和为所述最小代价值。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
按照读取所述当前帧各宏块的顺序存储所述各宏块对应的遮挡标识;或者,
将所述当前帧各宏块的所述遮挡标识与相应宏块标识对应存储;
其中,所述宏块标识用于指示宏块,所述遮挡标识用于指示宏块是否属于遮挡区域。
5.一种图像编码装置,其特征在于,包括:
读取模块,用于读取当前帧图像的当前宏块;
遮挡确定模块,用于确定所述当前宏块是否属于遮挡区域,所述遮挡区域为在前一帧被遮挡,而在当前帧显露出来的区域;
宏块编码模块,用于如果所述当前宏块属于遮挡区域,则使用第一量化参数对所述当前宏块进行编码;如果所述当前宏块属于非遮挡区域,则使用第二量化参数对所述当前宏块进行编码;
其中,所述第一量化参数小于所述第二量化参数。
6.根据权利要求5所述的装置,其特征在于,所述遮挡确定模块,具体用于:
通过运动估计搜索算法,得到最小代价值;
在所述最小代价值小于等于第一阈值情况下,确定所述当前宏块属于非遮挡区域;
在所述最小代价值大于等于第二阈值情况下,确定所述当前宏块属于遮挡区域;
其中,所述第一阈值小于所述第二阈值。
7.根据权利要求6所述的装置,其特征在于,所述遮挡确定模块通过运动估计搜索算法,得到最小代价值,具体为:
将所述当前帧图像的当前宏块的各像素点的像素值与前一帧图像一个宏块对应像素点的各像素值,做绝对误差和运算;
遍历前一帧图像的所有宏块,确定最小的所述绝对误差和为所述最小代价值。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述装置还包括:存储模块,用于:
按照读取所述当前帧各宏块的顺序存储所述各宏块对应的遮挡标识;或者,
将所述当前帧各宏块的所述遮挡标识与相应宏块标识对应存储;
其中,所述宏块标识用于指示宏块,所述遮挡标识用于指示宏块是否属于遮挡区域。
9.一种图像编码装置,其特征在于,包括:处理器和存储器,所述处理器被配置为读取存储在所述存储器中的程序指令,以执行如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机或处理器上运行时,使得所述计算机或处理器执行如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911061664.8A CN110769255B (zh) | 2016-06-30 | 2016-06-30 | 一种图像编码方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911061664.8A CN110769255B (zh) | 2016-06-30 | 2016-06-30 | 一种图像编码方法及装置 |
CN201610512351.XA CN106101706B (zh) | 2016-06-30 | 2016-06-30 | 一种图像编码方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610512351.XA Division CN106101706B (zh) | 2016-06-30 | 2016-06-30 | 一种图像编码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110769255A CN110769255A (zh) | 2020-02-07 |
CN110769255B true CN110769255B (zh) | 2022-04-22 |
Family
ID=57211699
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911061664.8A Active CN110769255B (zh) | 2016-06-30 | 2016-06-30 | 一种图像编码方法及装置 |
CN201610512351.XA Active CN106101706B (zh) | 2016-06-30 | 2016-06-30 | 一种图像编码方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610512351.XA Active CN106101706B (zh) | 2016-06-30 | 2016-06-30 | 一种图像编码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110769255B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3340623B1 (en) * | 2016-12-20 | 2023-04-12 | Axis AB | Method of encoding an image including a privacy mask |
CN111405279B (zh) * | 2019-01-03 | 2021-06-29 | 华为技术有限公司 | 量化、反量化方法及装置 |
CN111654699B (zh) * | 2020-05-29 | 2024-05-17 | 西安万像电子科技有限公司 | 图像传输方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009835A (zh) * | 2007-01-26 | 2007-08-01 | 清华大学 | 基于背景的运动估计编码方法 |
CN101252687A (zh) * | 2008-03-20 | 2008-08-27 | 上海交通大学 | 实现多通道联合的感兴趣区域视频编码及传输的方法 |
CN101677398A (zh) * | 2008-09-19 | 2010-03-24 | 三星电子株式会社 | 场景切换码率控制方法 |
CN101855911A (zh) * | 2007-09-28 | 2010-10-06 | 杜比实验室特许公司 | 处理视频信息 |
CN102263955A (zh) * | 2011-07-21 | 2011-11-30 | 福建星网视易信息系统有限公司 | 基于运动矢量检测视频遮挡的方法 |
KR20130084850A (ko) * | 2012-01-18 | 2013-07-26 | 삼성전자주식회사 | 시차 값을 생성하는 영상 처리 방법 및 장치 |
CN104038666A (zh) * | 2014-04-22 | 2014-09-10 | 深圳英飞拓科技股份有限公司 | 一种视频遮挡检测方法和装置 |
CN104754361A (zh) * | 2013-12-28 | 2015-07-01 | 同济大学 | 图像编码、解码方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030123539A1 (en) * | 2001-12-28 | 2003-07-03 | Hyung-Suk Kim | Method and apparatus for video bit-rate control |
US7095786B1 (en) * | 2003-01-11 | 2006-08-22 | Neo Magic Corp. | Object tracking using adaptive block-size matching along object boundary and frame-skipping when object motion is low |
CN100366091C (zh) * | 2004-06-24 | 2008-01-30 | 华为技术有限公司 | 一种视频压缩方法 |
CN101262603B (zh) * | 2008-03-27 | 2011-08-31 | 方春 | 一种自适应码率控制方法 |
ES2586333T3 (es) * | 2009-03-30 | 2016-10-13 | Vestel Elektronik Sanayi Ve Ticaret A.S. | Estimación de movimiento de fondo basada en reducción del halo |
CN103828369B (zh) * | 2011-06-10 | 2018-09-07 | 茨特里克斯系统公司 | 质量感知视频优化中的宏块级自适应量化 |
ITTO20120413A1 (it) * | 2012-05-08 | 2013-11-09 | Sisvel Technology Srl | Metodo per la generazione e ricostruzione di un flusso video tridimensionale, basato sull'utilizzo della mappa delle occlusioni, e corrispondente dispositivo di generazione e ricostruzione. |
CN104253995B (zh) * | 2013-06-26 | 2017-10-20 | 中国电信股份有限公司 | 自适应量化参数控制方法和装置 |
US9917988B2 (en) * | 2014-04-09 | 2018-03-13 | Mediatek Inc. | Method for detecting occlusion areas |
CN105516720B (zh) * | 2015-12-23 | 2019-01-29 | 天地伟业技术有限公司 | 一种监控摄像机码流的自适应控制方法 |
-
2016
- 2016-06-30 CN CN201911061664.8A patent/CN110769255B/zh active Active
- 2016-06-30 CN CN201610512351.XA patent/CN106101706B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009835A (zh) * | 2007-01-26 | 2007-08-01 | 清华大学 | 基于背景的运动估计编码方法 |
CN101855911A (zh) * | 2007-09-28 | 2010-10-06 | 杜比实验室特许公司 | 处理视频信息 |
CN101252687A (zh) * | 2008-03-20 | 2008-08-27 | 上海交通大学 | 实现多通道联合的感兴趣区域视频编码及传输的方法 |
CN101677398A (zh) * | 2008-09-19 | 2010-03-24 | 三星电子株式会社 | 场景切换码率控制方法 |
CN102263955A (zh) * | 2011-07-21 | 2011-11-30 | 福建星网视易信息系统有限公司 | 基于运动矢量检测视频遮挡的方法 |
KR20130084850A (ko) * | 2012-01-18 | 2013-07-26 | 삼성전자주식회사 | 시차 값을 생성하는 영상 처리 방법 및 장치 |
CN104754361A (zh) * | 2013-12-28 | 2015-07-01 | 同济大学 | 图像编码、解码方法及装置 |
CN104038666A (zh) * | 2014-04-22 | 2014-09-10 | 深圳英飞拓科技股份有限公司 | 一种视频遮挡检测方法和装置 |
Non-Patent Citations (2)
Title |
---|
A novel tracking-by-encoding scheme based on linear programming matching;Yang Wang;《2011 IEEE International Symposium of Circuits and Systems (ISCAS)》;20110705;全文 * |
一种利用视觉掩蔽效应的感兴趣区域视频编码方法;刘琼;《中国图象图形学报》;20100616;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110769255A (zh) | 2020-02-07 |
CN106101706B (zh) | 2019-11-19 |
CN106101706A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10887587B2 (en) | Distance weighted bi-directional intra prediction | |
KR102287594B1 (ko) | 미리 결정된 방향성 인트라 예측 모드들의 세트를 확장하기 위한 인트라 예측 장치 | |
CA3028469A1 (en) | Geometry transformation-based adaptive loop filtering | |
KR102228474B1 (ko) | 비디오 코딩을 위한 디바이스들 및 방법들 | |
KR20170021337A (ko) | 해시 기반의 블록 매칭의 결과에 기초한 인코더 결정 | |
CN115802033A (zh) | 一种用于处理矩形视频编码块的比特流的系统及方法 | |
EP2668780A1 (en) | Pixel level adaptive intra-smoothing | |
WO2021049126A1 (en) | Systems and methods for reducing a reconstruction error in video coding based on a cross-component correlation | |
KR20150036161A (ko) | 비디오 코딩을 위한 제한된 인트라 디블록킹 필터링 | |
CN115243048B (zh) | 视频图像解码、编码方法及装置 | |
CN116456101A (zh) | 图像编码方法、图像解码方法及相关装置 | |
CN111385572B (zh) | 预测模式确定方法、装置及编码设备和解码设备 | |
EP3997884A1 (en) | Adaptive loop filtering across raster-scan slices | |
CN110769255B (zh) | 一种图像编码方法及装置 | |
WO2021070427A1 (en) | Systems and methods for reducing a reconstruction error in video coding based on a cross-component correlation | |
WO2019200277A1 (en) | Hardware-friendly sample adaptive offset (sao) and adaptive loop filter (alf) for video coding | |
CN117546469A (zh) | 用于视频编解码的残差和系数编解码 | |
CN111355959B (zh) | 一种图像块划分方法及装置 | |
CN111416977A (zh) | 视频编码器、视频解码器及相应方法 | |
CN110741642B (zh) | 使用拟合平面和参考样本进行定向帧内预测的装置和方法 | |
CN111435993A (zh) | 视频编码器、视频解码器及相应方法 | |
WO2024039803A1 (en) | Methods and devices for adaptive loop filter | |
CN118646898A (zh) | 用于视频编码的方法、装置、存储介质和程序产品 | |
CN117378201A (zh) | 用于视频编解码的残差和系数编解码 | |
CN116647683A (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 |