CN112911301B - 一种局部亮度补偿方法、装置及计算机可读存储介质 - Google Patents
一种局部亮度补偿方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112911301B CN112911301B CN201911222227.XA CN201911222227A CN112911301B CN 112911301 B CN112911301 B CN 112911301B CN 201911222227 A CN201911222227 A CN 201911222227A CN 112911301 B CN112911301 B CN 112911301B
- Authority
- CN
- China
- Prior art keywords
- pixel
- pixel point
- point set
- target
- brightness compensation
- 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 103
- 238000004590 computer program Methods 0.000 claims description 29
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 claims description 28
- 101100083446 Danio rerio plekhh1 gene Proteins 0.000 claims description 28
- 238000012216 screening Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 13
- 241000023320 Luma <angiosperm> Species 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 238000005286 illumination Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 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/186—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 a colour or a chrominance component
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/182—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 a pixel
-
- 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
- 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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种局部亮度补偿方法、装置及计算机可读存储介质,属于数字信号处理技术领域,其中应用于编码装置的方法包括:在确定需要对当前帧进行亮度补偿的情况下,从当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,第一像素点集合和第二像素点集合所包括的像素点的个数相同;根据像素点的个数和预设规则,从第一像素点集合中确定第一目标像素点集合,以及从第二像素点集合中确定第二目标像素点集合;根据第一目标像素点集合和第二目标像素点集合计算亮度补偿参数;按照亮度补偿参数,对当前编码块进行亮度补偿。本发明能够有效对局部亮度差异进行补偿,而且还能降低码率开销。
Description
技术领域
本发明实施例涉及数字信号处理技术领域,尤其涉及一种局部亮度补偿方法、装置及计算机可读存储介质。
背景技术
在视频编解码中,很多视频经常出现这样一类情况:由于在自然环境下拍摄或者人为添加的因素,帧与帧之间内容相似但是视频亮度变化很大。因此,为了提高帧间编码的效率,需要在帧间编码过程中通过对视频帧与帧之间的亮度差异进行加权预测补偿,也即亮度补偿,或称为光照补偿。但,目前的亮度补偿方法,对于局部的亮度变化不友好,而且需要在码流中传递很多与亮度补偿有关的参数,码率开销大。
发明内容
本发明实施例提供一种局部亮度补偿方法、装置及计算机可读存储介质,以解决目前的亮度补偿方法存在的以下问题:对于局部的亮度变化不友好,而且需要在码流中传递很多与亮度补偿有关的参数,码率开销大。
为解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种局部亮度补偿,应用于编码装置,包括:
在确定需要对当前帧进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,所述第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数;
按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
可选的,若所述像素点的个数大于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
可选的,若所述像素点的个数等于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
可选的,所述从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合之前,还包括:
获取所述当前帧与每一参考帧的亮度直方图的绝对误差和;
若存在大于预设阈值的绝对误差和,则确定需要对所述当前帧进行亮度补偿。
可选的,所述预设阈值为所述当前帧的宽度w、高度h以及预设系数c的乘积,其中,0.01≤c≤0.1。
可选的,所述根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数包括:
分别计算所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin;分别计算所述第二目标像素点集合中两个第三像素点的像素值平均值ymin以及两个第四像素点的像素值平均值xmin;其中,所述第一像素点的像素值大于所述第二像素点的像素值,所述第三像素点的像素值大于所述第四像素点的像素值;
根据所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin、所述第二目标像素点集合中两个第三像素点的像素值平均值xmax以及两个第四像素点的像素值平均值xmin,计算所述亮度补偿参数。
可选的,分别按照以下方式计算ymax、ymin、ymin和xmin:
ymax=(Recmax1+Recmax2+1)>>1;
ymin=(Recmin1+Recmin2+1)>>1;
xmax=(Refmax1+Refmax2+1)>>1;
xmin=(Refmin1+Refmin2+1)>>1;
其中,Recmax1和Recmax2分别为所述第一目标像素点集合中两个第一像素点的像素值;Recmin1和Recmin2分别为所述第一目标像素点集合中两个第二像素点的像素值;Refmax1和Refmax2分别为所述第二目标像素点集合中两个第三像素点的像素值;Refmin1和Refmin2分别为所述第二目标像素点集合中两个第四像素点的像素值。
可选的,所述亮度补偿参数包括缩放系数a和偏移量b;按照以下方式计算所述亮度补偿参数:
b=ymax-a*xmax,或b=ymin-a*xmin,或b=ymean-a*xmean;
其中,ymean为ymax和ymin的平均值,xmean为xmax和xmin的平均值。
可选的,还包括:
在确定需要对当前帧进行亮度补偿的情况下,将所述当前帧的亮度补偿标志位设置为用于表示需要进行亮度补偿的值。
可选的,所述按照所述亮度补偿参数,对所述当前编码块进行亮度补偿包括:
获取所述当前编码块进行亮度补偿之后的像素值对应的第一率失真代价,和所述当前编码块进行亮度补偿之前的像素值对应的第二率失真代价;
在所述第一率失真代价小于所述第二率失真代价时,对所述当前编码块进行亮度补偿。
可选的,所述方法还包括:
在所述当前编码块为非Merge模式时,对所述当前编码块的亮度补偿标志位的值进行编码。
第二方面,本发明实施例还提供了一种局部亮度补偿方法,应用于解码装置,包括:
在确定需要对当前帧的当前编码块进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数;
按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
可选的,若所述像素点的个数大于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素值组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
可选的,若所述像素点的个数等于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
可选的,所述从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合之前,还包括:
解码所述当前帧的亮度补偿标志位的值;
在所述当前帧的亮度补偿标志位的值表示所述当前帧需要进行亮度补偿的情况下,则获取所述当前编码块的亮度补偿标志位的值;
根据所述当前编码块的亮度补偿标志位的值,确定所述当前编码块是否需要进行亮度补偿。
可选的,所述获取所述当前编码块的亮度补偿标志位的值包括:
当所述当前编码块为Merge模式时,从Merge候选编码块获取所述当前编码块的亮度补偿标志位的值;
当所述当前编码块为非Merge模式时,解码所述当前编码块的亮度补偿标志位的值。
可选的,所述当所述当前编码块为Merge模式时,从Merge候选编码块获取所述当前编码块的亮度补偿标志位的值包括:
当所述当前编码块为空域Merge双向预测模式,且存在亮度补偿标志位表示需要亮度补偿的目标空域Merge候选编码块时,获取所述目标空域Merge候选编码块的亮度补偿标志位的值。
第三方面,本发明实施例还提供了一种编码装置,包括:
获取模块,用于在确定需要对当前帧进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,所述第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
筛选模块,用于根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
计算模块,用于根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数;
亮度补偿模块,用于按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
可选的,所述筛选模块包括:
第一筛选单元,用于若所述像素点的个数大于4,选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
第二筛选单元,用于若所述像素点的个数大于4,选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
可选的,所述筛选模块包括:
第三筛选单元,用于若所述像素点的个数等于4,将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
可选的,所述编码装置还包括:
绝对误差和获取模块,用于获取所述当前帧与每一参考帧的亮度直方图的绝对误差和;
判断模块,用于若存在大于预设阈值的绝对误差和,则确定需要对所述当前帧进行亮度补偿。
可选的,所述预设阈值为所述当前帧的宽度w、高度h以及预设系数c的乘积,其中,0.01≤c≤0.1。
可选的,所述计算模块包括:
平均值计算单元,用于分别计算所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin;分别计算所述第二目标像素点集合中两个第三像素点的像素值平均值ymin以及两个第四像素点的像素值平均值xmin;其中,所述第一像素点的像素值大于所述第二像素点的像素值,所述第三像素点的像素值大于所述第四像素点的像素值;
参数计算单元,用于根据所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin、所述第二目标像素点集合中两个第三像素点的像素值平均值xmax以及两个第四像素点的像素值平均值xmin,计算所述亮度补偿参数。
可选的,所述平均值计算单元,用于分别按照以下方式计算ymax、ymin、ymin和xmin:
ymax=(Recmax1+Recmax2+1)>>1;
ymin=(Recmin1+Recmin2+1)>>1;
xmax=(Refmax1+Refmax2+1)>>1;
xmin=(Refmin1+Refmin2+1)>>1;
其中,Recmax1和Recmax2分别为所述第一目标像素点集合中两个第一像素点的像素值;Recmin1和Recmin2分别为所述第一目标像素点集合中两个第二像素点的像素值;Refmax1和Refmax2分别为所述第二目标像素点集合中两个第三像素点的像素值;Refmin1和Refmin2分别为所述第二目标像素点集合中两个第四像素点的像素值。
可选的,所述亮度补偿参数包括缩放系数a和偏移量b;所述参数计算单元,用于按照以下方式计算所述亮度补偿参数:
b=ymax-a*xmax,或b=ymin-a*xmin,或b=ymean-a*xmean;
其中,ymean为ymax和ymin的平均值,xmean为xmax和xmin的平均值。
可选的,所述编码装置还包括:
赋值模块,用于在确定需要对当前帧进行亮度补偿的情况下,将所述当前帧的亮度补偿标志位设置为用于表示需要进行亮度补偿的值。
可选的,所述亮度补偿模块包括:
率失真代价获取单元,用于获取所述当前编码块进行亮度补偿之后的像素值对应的第一率失真代价,和所述当前编码块进行亮度补偿之前的像素值对应的第二率失真代价;
亮度补偿单元,用于在所述第一率失真代价小于所述第二率失真代价时,对所述当前编码块进行亮度补偿。
可选的,所述编码装置还包括:
编码模块,用于在所述当前编码块为非Merge模式时,对所述当前编码块的亮度补偿标志位的值进行编码。
第四方面,本发明实施例还提供了一种解码装置,包括:
周围像素点获取模块,用于在确定需要对当前帧的当前编码块进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
像素点筛选模块,用于根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
亮度补偿参数计算模块,用于根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数;
补偿模块,用于按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
可选的,所述像素点筛选模块包括:
第一像素点筛选单元,用于若所述像素点的个数大于4,选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
第二像素点筛选单元,用于若所述像素点的个数大于4,选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素值组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
可选的,所述像素点筛选模块包括:
第三像素点筛选单元,用于若所述像素点的个数等于4,将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
可选的,所述解码装置还包括:
解码单元,用于解码所述当前帧的亮度补偿标志位的值;
亮度补偿标志位获取单元,用于在所述当前帧的亮度补偿标志位的值表示所述当前帧需要进行亮度补偿的情况下,则获取所述当前编码块的亮度补偿标志位的值;
补偿确定单元,用于根据所述当前编码块的亮度补偿标志位的值,确定所述当前编码块是否需要进行亮度补偿。
可选的,所述亮度补偿标志位获取单元包括:
拷贝子单元,用于当所述当前编码块为Merge模式时,从Merge候选编码块获取所述当前编码块的亮度补偿标志位的值;
解码子单元,用于当所述当前编码块为非Merge模式时,解码所述当前编码块的亮度补偿标志位的值。
可选的,所述拷贝子单元用于当所述当前编码块为空域Merge双向预测模式,且存在亮度补偿标志位表示需要亮度补偿的目标空域Merge候选编码块时,获取所述目标空域Merge候选编码块的亮度补偿标志位的值。
第五方面,本发明实施例还提供了一种编码装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一种应用于编码装置的局部亮度补偿方法的步骤。
第六方面,本发明实施例还提供了一种解码装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一种应用于解码装置的局部亮度补偿方法的步骤。
第七方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述任一种局部亮度补偿方法的步骤。
本发明实施例中,是针对编码块进行亮度补偿,因此能够有效对局部亮度差异进行补偿。另外,在编码过程中,根据当前帧中的当前编码块周围的像素点以及对应的目标参考帧的参考块周围的像素点,计算亮度补偿参数,因此解码过程中也可以根据当前帧中的当前编码块周围的像素点以及对应的目标参考帧的参考块周围的像素点,计算亮度补偿参数,从而不需要在码流中传输亮度补偿参数,降低码率开销。本发明实施例可以应用于帧间编码时的亮度和色度预测过程中。
附图说明
图1为本发明实施例一中的一种局部亮度补偿方法的流程示意图;
图2为本发明实施例中第一像素点集合中的像素点位置示意图;
图3为本发明实施例中第二像素点集合中的像素点位置示意图;
图4为本发明实施例可适用的一种网络架构的结构示意图;
图5为亮度补偿示意图;
图6为本发明实施例二中的一种局部亮度补偿方法的流程示意图;
图7为本发明实施例三中的一种编码装置的结构示意图;
图8为本发明实施例四中的一种解码装置的结构示意图;
图9为本发明实施例五中的一种编码装置的结构示意图;
图10为本发明实施例六中的一种解码装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明实施例一提供的一种局部亮度补偿方法的流程示意图,该方法应用于编码装置,包括:
步骤101:在确定需要对当前帧进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,所述第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
具体的,所述第一像素点集合中的像素点是所述当前编码块周围的像素点,同样的,所述第二像素点集合中的像素点是所述参考块周围的像素点。另外,所述第一像素点集合中的像素点和所述当前编码块的相对位置关系,与所述第二像素点集合中的像素点和所述参考块的相对位置关系可以一致。例如,如图2所示,所述第一像素点集合中的像素点是所述当前编码块左边一列和上边一行的像素点(记为Recneig),同样的,如图3所示,所述第二像素点集合中的像素点是所述参考块左边一列和上边一行的像素点(记为Recrefneig)。所述第一像素点集合和所述第二像素点集合所包括的像素点的个数N一般为大于或等于4的偶数。所述目标参考帧为全部参考帧中参考块与所述当前编码块最接近(相似度最高)的参考帧。
步骤102:根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
也即,从所述第一像素点集合中选取部分或全部像素点组成所述第一目标像素点集合,从所述第二像素点集合中选取部分或全部像素点组成所述第二目标像素点集合。
步骤103:根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数;
步骤104:按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
本发明实施例中,是针对编码块进行亮度补偿,因此能够有效对局部亮度差异进行补偿。另外,在编码过程中,根据当前帧中的当前编码块周围的像素点以及对应的目标参考帧的参考块周围的像素点,计算亮度补偿参数,因此解码过程中也可以根据当前帧中的当前编码块周围的像素点以及对应的目标参考帧的参考块周围的像素点,计算亮度补偿参数,从而不需要在码流中传输亮度补偿参数,降低码率开销。
下面举例说明上述局部亮度补偿方法。
具体的,所述从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合包括:
进行目标参考帧中运动估计,获取所述当前编码块的运动信息,该运动信息主要包括运动矢量(MotionVector,MV);
根据运动信息确定所述当前编码块在目标参考帧中对应的参考块;
获取所述当前编码块周围的像素点组成所述第一像素点集合,获取所述参考块周围的像素点组成所述第二像素点集合。
作为其中一种可选的具体实施方式,若所述像素点的个数大于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列。
也就是说,所述第一目标像素点集合中的像素点是:第一像素点集合中除像素值最大和像素值最小的两个像素点以外的两个像素值较大的像素点和两个像素值较小的像素点;所述第二目标像素点集合中的像素点是:第二像素点集合中除像素值最大和像素值最小的两个像素点以外的两个像素值较大的像素点和两个像素值较小的像素点。当然,选择所述第一目标像素点集合中的像素点和选择所述第二目标像素点集合中的像素点的具体过程有多种,下面举例说明。
第一种、首先去掉所述第一像素点集合中的像素值最大的像素点和像素值最小的像素点得到第五像素点集合,去掉所述第二像素点集合中的像素值最大的像素点和像素值最小的像素点得到第六像素点集合;然后,选择所述第五像素点集合中两个像素值较大的像素点(像素值最大的和次大的像素点)和两个像素值较小的像素点(像素值最小的和次小的像素点)组成所述第一目标像素点集合,选择所述第六像素点集合中两个像素值较大的像素点和两个像素值较小的像素点组成第二目标像素点集合。
第二种、首先分别对所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,具体可以是按像素值从大到小排序或者从小到大排序;然后分别去掉所述第一像素点集合和所述第二像素点集合中最左边的像素点和最右边的像素点,也即分别去掉像素值最大的像素点和像素值最小的像素点,得到第五像素点集合和第六像素点集合;再然后,分别对所述第五像素点集合和所述第六像素点集合中剩余的像素点按顺序编号(0~(N-3));最后选择所述第五像素点集合中编号为0和1的像素点(若是按像素值从小到大排序,则是像素值较小的两个像素点)以及编号为(N-4)和(N-3)的像素点(若是按像素值从小到大排序,则是像素值较大的两个像素点)组成所述第一目标像素点集合,选择所述第六像素点集合中编号为0和1的像素点以及编号为(N-4)和(N-3)的像素点组成所述第二目标像素点集合。
需要说明的是,考虑到存在异常干扰点的影响,因此本发明实施例中,如果所述第一像素点集合和所述第二像素点集合中的像素点个数大于4,就会在选点过程中剔除掉像素值最大和最小的两个像素点。
本发明实施例中,选择用来计算亮度补偿参数的像素点的方式简单,计算复杂度低,从而可以在视频编码过程中高效地处理局部亮度补偿,进而明显提升亮度差异较大的视频序列的编码效率,而且硬件要求低。
另一种可选的具体实施方式中,若所述像素点的个数大于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第二目标像素点集合;
也就是说,所述第一目标像素点集合中的像素点是:第一像素点集合中除像素值最大和像素值最小的两个像素点以外的一个像素值最大的像素点和一个像素值最小的像素点、以及所述第一像素点集合中按像素值的大小排序的第l个像素点和第m个像素点;所述第二目标像素点集合中的像素点是:第二像素点集合中除像素值最大和像素值最小的两个像素点以外的一个像素值最大的像素点和一个像素值最小的像素点、以及第二像素点集合中按像素值的大小排序的第l个像素点和第m个像素点。当然,选择所述第一目标像素点集合中的像素点和选择所述第二目标像素点集合中的像素点的具体过程有多种,例如,首先分别对所述第一像素点集合和所述第二像素点集合中的像素点按像素值从小到大顺序排列;然后,分别去掉所述第一像素点集合和所述第二像素点集合中最左边的像素点(也即像素值最小的像素点)和最右边的像素点(像素点最大的像素点);接着,选择更新之后的第一像素点集合中最左边的像素点和最右边的像素点作为所述第一目标像素点集合中的两个像素点,选择更新之后的第二像素点集合中最左边的像素点和最右边的像素点作为所述第二目标像素点集合中的两个像素点;最后,在未更新但已排序的第一像素点集合中选择第l个像素点和第m个像素点作为所述第一目标像素点集合中的另外两个像素点,在未更新但已排序的第二像素点集合中选择第l个像素点和第m个像素点作为所述第二目标像素点集合中的另外两个像素点,或者,对未更新但已排序的第一像素点集合中的像素点进行编号(编号范围为0~(N-1)),并选择其中编号为(N-2)>>2+1的像素点(也即距离所述第一像素点集合左边界(N-2)>>2+1个像素点的像素点)和编号为N-(N-2)>>2-2的像素点(也即距离所述第一像素点集合右边界(N-2)>>2+1个像素点的像素点)作为所述第一目标像素点集合中的另外两个像素点,同样的对未更新但已排序的第二像素点集合中的像素点进行编号(编号范围为0~(N-1)),并选择其中编号为(N-2)>>2+1的像素点(也即距离所述第二像素点集合左边界(N-2)>>2+1个像素点的像素点)和编号为N-(N-2)>>2-2的像素点(也即距离所述第二像素点集合右边界(N-2)>>2+1个像素点的像素点)作为所述第二目标像素点集合中的另外两个像素点。
需要说明的是,考虑到存在异常干扰点的影响,因此本发明实施例中,如果所述第一像素点集合和所述第二像素点集合中的像素点个数大于4,就会在选点过程中剔除掉像素值最大和最小的两个像素点。
本发明实施例中,选择用来计算亮度补偿参数的像素点的方式简单,计算复杂度低,从而可以在视频编码过程中高效地处理局部亮度补偿,进而明显提升亮度差异较大的视频序列的编码效率,而且硬件要求低。
可选的,若所述像素点的个数等于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
也就是说,如果所述第一像素点集合和所述第二像素点集合所包括的像素点的个数等于4,那么就不需要进行筛选,利用全部的像素点来计算亮度补偿参数。
综上,本发明实施例中,选择用来计算亮度补偿参数的像素点的过程可以采用以下公式表达:
对于较小的两个像素点:
minIndex1=(N==4)?0:1(N是否等于4,如果是minIndex1为0,否则minIndex1为1);
Recmin1=CountRec[minIndex1](从第一像素点集合中选择编号为minIndex1的像素点作为第一目标像素点集合中的一个像素值较小的像素点);
Refmin1=CountRef[minIndex1](从第二像素点集合中选择编号为minIndex1的像素点作为第二目标像素点集合中的一个像素值较小的像素点);
minIndex2=(N-2)>>2+1;
Recmin2=CountRec[minIndex2](从第一像素点集合中选择编号为minIndex2的像素点作为第一目标像素点集合中的另一个像素值较小的像素点);
Refmin2=CountRef[minIndex2](从第二像素点集合中选择编号为minIndex2的像素点作为第二目标像素点集合中的另一个像素值较小的像素点);
对于较大的两个像素点:
maxIndex1=(N==4)?N-1:N-2(N是否等于4,如果是maxIndex1为N-1,否则maxIndex1为N-2);
Recmax1=CountRec[maxIndex1](从第一像素点集合中选择编号为maxIndex1的像素点作为第一目标像素点集合中的一个像素值较大的像素点);
Refmax1=CountRef[maxIndex1](从第二像素点集合中选择编号为maxIndex1的像素点作为第二目标像素点集合中的一个像素值较大的像素点);
minIndex2=N-(N-2)>>2-2;
Recmax2=CountRec[maxIndex2](从第一像素点集合中选择编号为maxIndex2的像素点作为第一目标像素点集合中的另一个像素值较大的像素点);
Refmax2=CountRef[maxIndex2](从第二像素点集合中选择编号为maxIndex2的像素点作为第二目标像素点集合中的另一个像素值较大的像素点);
其中,所述第一像素点集合和所述第二像素点集合中的像素点个数均为N,且均按照像素值从小到大顺序排列,排序后的所述第一像素点集合(记为CountRec[N])和所述第二像素点集合(记为CountRef[N])中的像素点分别从0开始编号。也即,从第一像素点集合中选择两个像素值较大的像素点和两个像素值较小的像素点,再从第二像素点集合中选择两个像素值较大的像素点和两个像素值较小的像素点,然后根据选择出来的像素点的像素值计算亮度补偿参数。
可选的,所述从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合之前,还包括:
获取所述当前帧与每一参考帧的亮度直方图(Luminance Histogram)的绝对误差和(SAD);
若存在大于预设阈值的绝对误差和,则确定需要对所述当前帧进行亮度补偿。
也就是说,对于当前帧(或称为当前编码帧),在编码之前会判断是否需要进行亮度补偿处理。具体可以根据当前帧与参考帧之间是否存在亮度变化较大的情况来判断是否需要对当前帧进行亮度补偿。本发明实施例中,请参阅图4(以只有一个参考帧为例),可以通过当前帧和每一参考帧的亮度直方图的SAD来判断是否需要对所述当前帧进行亮度补偿。具体的,只要参考帧中存在一个参考帧和当前帧的SAD超过阈值,说明当前帧和参考帧之间存在亮度差异(或者说光照差异),此时应该采用亮度补偿。如果每一参考帧和当前帧的SAD均不超过阈值,说明当前帧和参考帧之间的亮度差异(或者说光照变化)不明显,因此不采用亮度补偿,也即若不存在大于预设阈值的SAD,则确定不需要对所述当前帧进行亮度补偿。
可选的,所述方法还包括:
在确定需要对当前帧进行亮度补偿的情况下,将所述当前帧的亮度补偿标志位设置为用于表示需要进行亮度补偿的值。
也就是说,对于当前帧会有一个对应的帧级亮度补偿标志位(IC flag),来对亮度补偿开关状态进行表示。具体的,如果确定需要对当前帧进行亮度补偿,则将对应的亮度补偿标志位置为真(true)或者置为1,也即当前帧的帧级亮度补偿开关打开,否则置为假(false)或者置为0,也即当前帧的帧级亮度补偿开关关闭。
具体的,每一个B帧或者P帧都有一个帧级亮度补偿标志位,帧级亮度补偿标志位编码在图像头(picture header)中。对于帧间预测,当帧级亮度补偿标志位为假时,当前帧的所有编码块都不进行亮度补偿,同时也不需要编码块级的亮度补偿标志位,亮度补偿标志位也可以默认为假,无需写进码流。当帧级亮度补偿标志位为真时,当前帧中存在需要进行亮度补偿处理的编码块,需要编码块级的亮度补偿标志位。
本发明实施例中,帧级的亮度补偿标志位的值和编码块级的亮度补偿标志位的值都可以使用自动编码器(Auto-Encoders,AE)高级编码或者绕过(bypass)编码ep。
进一步可选的,所述预设阈值为所述当前帧的宽度w、高度h以及预设系数c的乘积,其中,0.01≤c≤0.1。具体的,所述c可以是0.055。
可选的,所述根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数包括:
分别计算所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin;分别计算所述第二目标像素点集合中两个第三像素点的像素值平均值ymin以及两个第四像素点的像素值平均值xmin;其中,所述第一像素点的像素值大于所述第二像素点的像素值,所述第三像素点的像素值大于所述第四像素点的像素值;
根据所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin、所述第二目标像素点集合中两个第三像素点的像素值平均值xmax以及两个第四像素点的像素值平均值xmin,计算所述亮度补偿参数。
进一步可选的,分别按照以下方式计算ymax、ymin、ymin和xmin:
ymax=(Recmax1+Recmax2+1)>>1;
ymin=(Recmin1+Recmin2+1)>>1;
xmax=(Refmax1+Refmax2+1)>>1;
xmin=(Refmin1+Refmin2+1)>>1;
其中,Recmax1和Recmax2分别为所述第一目标像素点集合中两个第一像素点的像素值;Recmin1和Recmin2分别为所述第一目标像素点集合中两个第二像素点的像素值;Refmax1和Refmax2分别为所述第二目标像素点集合中两个第三像素点的像素值;Refmin1和Refmin2分别为所述第二目标像素点集合中两个第四像素点的像素值。
可选的,所述亮度补偿参数包括缩放系数a和偏移量b;按照以下方式计算所述亮度补偿参数:
b=ymax-a*xmax,或b=ymin-a*xmin,或b=ymean-a*xmean;
其中,ymean为ymax和ymin的平均值,xmean为xmax和xmin的平均值。
具体的,线性亮度补偿模型如下公式(1)所示:
CU′(x,y)=a*CU(x,y)+b (1)
其中,(x,y)为在图像中的位置,CU(x,y)为编码块在运动补偿之后(x,y)位置的像素值,CU′(x,y)为经过亮度补偿之后的对应的像素值。
综上所述,本发明实施例利用当前编码块(CU)周围的已重建像素(Recneig)和参考块周围的已重建像素(Recrefneig)推导出参数a和b,也即然后请参阅图5,将参数a和b代入公式(1)得到当前编码块经过亮度补偿之后对应的像素值。
本发明实施例中,参数a和b不需要写进码流,在解码中,如果当前编码块对应的亮度补偿标志位为真,按照上述同样的方式计算参数a和b。
另外,对于B帧,可以计算出两套参数a和b,然后分别采用这两套参数计算当前编码块经过亮度补偿之后对应的像素值,再求两个像素值的平均值作为所述当前编码块经过亮度补偿之后对应的像素值。
可选的,所述按照所述亮度补偿参数,对所述当前编码块进行亮度补偿包括:
获取所述当前编码块进行亮度补偿之后的像素值对应的第一率失真代价,和所述当前编码块进行亮度补偿之前的像素值对应的第二率失真代价;
在所述第一率失真代价小于所述第二率失真代价的情况下,对所述当前编码块进行亮度补偿。
也就是说,针对当前编码块,会计算一次亮度补偿打开和关闭情况下的率失真代价(RDCost),然后从中选择最优情况。如果对所述当前编码块进行亮度补偿,则当前编码块对应的编码块级亮度补偿标志位为真,否则为假。
具体的,针对当前编码块,在得到所述当前编码块的亮度补偿参数之后,会使用得到的亮度补偿参数对当前编码块运动补偿之后的像素进行线性拟合,得到进行亮度补偿之后的像素值,并利用该进行亮度补偿之后的像素值计算率失真代价,和未进行亮度补偿的像素值的率失真代价进行对比,如果进行亮度补偿之后计算得到的率失真代价更小,则对该当前编码块进行亮度补偿,对应的亮度补偿标志位置为真(具体可以是1),否则置为假(具体可以是0)。
可选的,所述方法还包括:
在所述当前编码块为非融合(Merge)模式时,对所述当前编码块的亮度补偿标志位的值进行编码。
也就是说,如果当前编码块为非Merge模式,就需要将所述当前编码块的亮度补偿标志位的值进行编码,写进码流,而如果当前编码块为Merge模式,则不需要将所述当前编码块的亮度补偿标志位的值进行编码。这是因为,Merge模式的编码块的亮度补偿标志位的值可以从周围块拷贝,具体的拷贝方式和Merge模式运动信息类似。
另外,考虑编码性能增益,对于时域Merge候选,可以将其编码块级的亮度补偿标志位都设置为假,也即默认为假;对于HMVP模式,也可以将编码块级的亮度补偿标志位全部置为假。对于空域Merge候选,其编码块级的亮度补偿标志位的值从对应的空域相邻块拷贝。在AVS3中,对于UMVE模式,编码块级的亮度补偿标志位的值导出方式和UMVE的其他运动模式拷贝方式相同。
请参阅图6,图6是本发明实施例二提供的一种局部亮度补偿方法的流程示意图,应用于解码装置,包括:
步骤601:在确定需要对当前帧的当前编码块进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
步骤602:根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
步骤603:根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数;
步骤604:按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
具体的,所述第一像素点集合中的像素点是所述当前编码块周围的像素点,同样的,所述第二像素点集合中的像素点是所述参考块周围的像素点。另外,所述第一像素点集合中的像素点和所述当前编码块的相对位置关系,与所述第二像素点集合中的像素点和所述参考块的相对位置关系可以一致。例如,如图2所示,所述第一像素点集合中的像素点是所述当前编码块左边一列和上边一行的像素点(记为Recneig),同样的,如图3所示,所述第二像素点集合中的像素点是所述参考块左边一列和上边一行的像素点(记为Recrefneig)。所述第一像素点集合和所述第二像素点集合所包括的像素点的个数N一般为大于或等于4的偶数。所述目标参考帧为全部参考帧中参考块与所述当前编码块最接近(相似度最高)的参考帧。
本发明实施例中,是针对编码块进行亮度补偿,因此能够有效对局部亮度差异进行补偿。另外,在解码过程中,可以与编码过程一样,根据当前帧中的当前编码块周围的像素点以及对应的目标参考帧的参考块周围的像素点,计算亮度补偿参数,因此码流中可以不用传输亮度补偿参数,降低了码率开销。
可选的,若所述像素点的个数大于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素值组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
可选的,若所述像素点的个数等于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
本发明实施例中,选择用来计算亮度补偿参数的像素点的方式简单,计算复杂度低,从而不仅可以在视频编码过程中高效地处理局部亮度补偿,进而明显提升亮度差异较大的视频序列的编码效率,还可以省去在码流中传输亮度补偿参数的开销,这是因为解码端可以按照同样的方式计算亮度补偿参数。另外,硬件要求也低。
可选的,所述从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合之前,还包括:
解码所述当前帧的亮度补偿标志位的值;
在所述当前帧的亮度补偿标志位的值表示所述当前帧需要进行亮度补偿的情况下,则获取所述当前编码块的亮度补偿标志位的值;
根据所述当前编码块的亮度补偿标志位,确定所述当前编码块是否需要进行亮度补偿。
具体的,首先在图像头(picture header)中解码帧级亮度补偿标志位。若当前帧的帧级亮度补偿标志位为真,说明当前帧有采用亮度补偿,因此需要获取当前帧的每一编码块的亮度补偿标志位。若当前帧的帧级亮度补偿标志位为假,说明当前帧未采用亮度补偿,不需要获取编码块级的亮度补偿标志位。
可选的,所述获取所述当前编码块的亮度补偿标志位的值包括:
当所述当前编码块为Merge模式时,从Merge候选编码块获取所述当前编码块的亮度补偿标志位的值;也即从Merge候选编码块拷贝亮度补偿标志位的值;
当所述当前编码块为非Merge模式时,解码所述当前编码块的亮度补偿标志位的值。
进一步可选的,所述当所述当前编码块为Merge模式时,从Merge候选编码块获取所述当前编码块的亮度补偿标志位的值包括:
当所述当前编码块为空域Merge双向预测模式,且存在亮度补偿标志位表示需要亮度补偿的目标空域Merge候选编码块时,获取所述目标空域Merge候选编码块的亮度补偿标志位,作为所述当前编码块的亮度补偿标志位的值。
具体的,对于空域Merge双向预测模式的编码块,块级亮度补偿标志位的值从两个空域Merge候选中产生只要两个候选中任何一个块级亮度补偿标志位为真,则该编码块的亮度补偿标志位为真,否则为假。
请参阅图7,图7是本发明实施例三提供的一种编码装置的结构示意图,该编码装置包括:
获取模块701,用于在确定需要对当前帧进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,所述第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
筛选模块702,用于根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
计算模块703,用于根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数;
亮度补偿模块704,用于按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
可选的,所述筛选模块702包括:
第一筛选单元,用于若所述像素点的个数大于4,选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
第二筛选单元,用于若所述像素点的个数大于4,选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
可选的,所述筛选模块702包括:
第三筛选单元,用于若所述像素点的个数等于4,将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
可选的,所述编码装置还包括:
绝对误差和获取模块,用于获取所述当前帧与每一参考帧的亮度直方图的绝对误差和;
判断模块,用于若存在大于预设阈值的绝对误差和,则确定需要对所述当前帧进行亮度补偿。
可选的,所述预设阈值为所述当前帧的宽度w、高度h以及预设系数c的乘积,其中,0.01≤c≤0.1。
可选的,所述计算模块703包括:
平均值计算单元,用于分别计算所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin;分别计算所述第二目标像素点集合中两个第三像素点的像素值平均值ymin以及两个第四像素点的像素值平均值xmin;其中,所述第一像素点的像素值大于所述第二像素点的像素值,所述第三像素点的像素值大于所述第四像素点的像素值;
参数计算单元,用于根据所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin、所述第二目标像素点集合中两个第三像素点的像素值平均值xmax以及两个第四像素点的像素值平均值xmin,计算所述亮度补偿参数。
可选的,所述平均值计算单元,用于分别按照以下方式计算ymax、ymin、ymin和xmin:
ymax=(Recmax1+Recmax2+1)>>1;
ymin=(Recmin1+Recmin2+1)>>1;
xmax=(Refmax1+Refmax2+1)>>1;
xmin=(Refmin1+Refmin2+1)>>1;
其中,Recmax1和Recmax2分别为所述第一目标像素点集合中两个第一像素点的像素值;Recmin1和Recmin2分别为所述第一目标像素点集合中两个第二像素点的像素值;Refmax1和Refmax2分别为所述第二目标像素点集合中两个第三像素点的像素值;Refmin1和Refmin2分别为所述第二目标像素点集合中两个第四像素点的像素值。
可选的,所述亮度补偿参数包括缩放系数a和偏移量b;所述参数计算单元,用于按照以下方式计算所述亮度补偿参数:
b=ymax-a*xmax,或b=ymin-a*xmin,或b=ymean-a*xmean;
其中,ymean为ymax和ymin的平均值,xmean为xmax和xmin的平均值。
可选的,所述编码装置还包括:
赋值模块,用于在确定需要对当前帧进行亮度补偿的情况下,将所述当前帧的亮度补偿标志位设置为用于表示需要进行亮度补偿的值。
可选的,所述亮度补偿模块704包括:
率失真代价获取单元,用于获取所述当前编码块进行亮度补偿之后的像素值对应的第一率失真代价,和所述当前编码块进行亮度补偿之前的像素值对应的第二率失真代价;
亮度补偿确定单元,用于在所述第一率失真代价小于所述第二率失真代价时,对所述当前编码块进行亮度补偿。
可选的,所述编码装置还包括:
编码模块,用于在所述当前编码块为非Merge模式时,对所述当前编码块的亮度补偿标志位的值进行编码。
本发明实施例是与上述方法实施例一对应的产品实施例,且能够实现同样的技术效果,为避免重复,这里不再赘述,详细请参阅上述方法实施例一。
请参阅图8,图8是本发明实施例四提供的一种解码装置的结构示意图,该解码装置包括:
周围像素点获取模块801,用于在确定需要对当前帧的当前编码块进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
像素点筛选模块802,用于根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
亮度补偿参数计算模块803,用于根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数;
补偿模块804,用于按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
可选的,所述像素点筛选模块802包括:
第一像素点筛选单元,用于若所述像素点的个数大于4,选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
第二像素点筛选单元,用于若所述像素点的个数大于4,选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素值组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
可选的,所述像素点筛选模块802包括:
第三像素点筛选单元,用于若所述像素点的个数等于4,将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
可选的,所述解码装置还包括:
解码单元,用于解码所述当前帧的亮度补偿标志位的值;
亮度补偿标志位获取单元,用于在所述当前帧的亮度补偿标志位的值表示所述当前帧需要进行亮度补偿的情况下,则获取所述当前编码块的亮度补偿标志位的值;
补偿确定单元,用于根据所述当前编码块的亮度补偿标志位,确定所述当前编码块是否需要进行亮度补偿。
可选的,所述亮度补偿标志位获取单元包括:
拷贝子单元,用于当所述当前编码块为Merge模式时,从Merge候选编码块获取所述当前编码块的亮度补偿标志位的值;
解码子单元,用于当所述当前编码块为非Merge模式时,解码所述当前编码块的亮度补偿标志位的值。
可选的,所述拷贝子单元用于当所述当前编码块为空域Merge双向预测模式,且存在亮度补偿标志位表示需要亮度补偿的目标空域Merge候选编码块时,获取所述目标空域Merge候选编码块的亮度补偿标志位的值。
本发明实施例是与上述方法实施例二对应的产品实施例,且能够实现同样的技术效果,为避免重复,这里不再赘述,详细请参阅上述方法实施例二。
请参考图9,图9为本发明实施例五提供的一种编码装置的结构示意图,该编码装置900包括处理器901、存储器902以及存储在存储器902上并可在所述处理器901上运行的计算机程序,该计算机程序被处理器901执行时实现如下步骤:
在确定需要对当前帧进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,所述第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数;
按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
可选的,计算机程序被处理器901执行时还可实现如下步骤:
若所述像素点的个数大于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
可选的,计算机程序被处理器901执行时还可实现如下步骤:
若所述像素点的个数等于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
可选的,计算机程序被处理器901执行时还可实现如下步骤:
所述从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合之前,还包括:
获取所述当前帧与每一参考帧的亮度直方图的绝对误差和;
若存在大于预设阈值的绝对误差和,则确定需要对所述当前帧进行亮度补偿。
可选的,所述预设阈值为所述当前帧的宽度w、高度h以及预设系数c的乘积,其中,0.01≤c≤0.1。
可选的,计算机程序被处理器901执行时还可实现如下步骤:
所述根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数包括:
分别计算所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin;分别计算所述第二目标像素点集合中两个第三像素点的像素值平均值ymin以及两个第四像素点的像素值平均值xmin;其中,所述第一像素点的像素值大于所述第二像素点的像素值,所述第三像素点的像素值大于所述第四像素点的像素值;
根据所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin、所述第二目标像素点集合中两个第三像素点的像素值平均值xmax以及两个第四像素点的像素值平均值xmin,计算所述亮度补偿参数。
可选的,计算机程序被处理器901执行时还可实现如下步骤:
分别按照以下方式计算ymax、ymin、ymin和xmin:
ymax=(Recmax1+Recmax2+1)>>1;
ymin=(Recmin1+Recmin2+1)>>1;
xmax=(Refmax1+Refmax2+1)>>1;
xmin=(Refmin1+Refmin2+1)>>1;
其中,Recmax1和Recmax2分别为所述第一目标像素点集合中两个第一像素点的像素值;Recmin1和Recmin2分别为所述第一目标像素点集合中两个第二像素点的像素值;Refmax1和Refmax2分别为所述第二目标像素点集合中两个第三像素点的像素值;Refmin1和Refmin2分别为所述第二目标像素点集合中两个第四像素点的像素值。
可选的,所述亮度补偿参数包括缩放系数a和偏移量b;计算机程序被处理器901执行时还可实现如下步骤:
按照以下方式计算所述亮度补偿参数:
b=ymax-a*xmax,或b=ymin-a*xmin,或b=ymean-a*xmean;
其中,ymean为ymax和ymin的平均值,xmean为xmax和xmin的平均值。
可选的,计算机程序被处理器901执行时还可实现如下步骤:
在确定需要对当前帧进行亮度补偿的情况下,将所述当前帧的亮度补偿标志位设置为用于表示需要进行亮度补偿的值。
可选的,计算机程序被处理器901执行时还可实现如下步骤:
所述按照所述亮度补偿参数,对所述当前编码块进行亮度补偿包括:
获取所述当前编码块进行亮度补偿之后的像素值对应的第一率失真代价,和所述当前编码块进行亮度补偿之前的像素值对应的第二率失真代价;
在所述第一率失真代价小于所述第二率失真代价时,对所述当前编码块进行亮度补偿。
可选的,计算机程序被处理器901执行时还可实现如下步骤:
在所述当前编码块为非Merge模式时,对所述当前编码块的亮度补偿标志位的值进行编码。
该编码装置能够实现上述方法实施例一的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述,详细请参阅上述实施例一。
请参考图10,图10为本发明实施例六提供的一种解码装置的结构示意图,该解码装置1000包括处理器1001、存储器1002以及存储在存储器1002上并可在所述处理器1001上运行的计算机程序,该计算机程序被处理器1001执行时实现如下步骤:
在确定需要对当前帧的当前编码块进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
根据所述第一目标像素点集合和所述第二目标像素点集合计算亮度补偿参数;
按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
可选的,计算机程序被处理器1001执行时还可实现如下步骤:
若所述像素点的个数大于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素值组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
可选的,计算机程序被处理器1001执行时还可实现如下步骤:
若所述像素点的个数等于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
可选的,计算机程序被处理器1001执行时还可实现如下步骤:
所述从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合之前,还包括:
解码所述当前帧的亮度补偿标志位的值;
在所述当前帧的亮度补偿标志位的值表示所述当前帧需要进行亮度补偿的情况下,则获取所述当前编码块的亮度补偿标志位的值;
根据所述当前编码块的亮度补偿标志位的值,确定所述当前编码块是否需要进行亮度补偿。
可选的,计算机程序被处理器1001执行时还可实现如下步骤:
所述获取所述当前编码块的亮度补偿标志位的值包括:
当所述当前编码块为Merge模式时,从Merge候选编码块获取所述当前编码块的亮度补偿标志位的值;
当所述当前编码块为非Merge模式时,解码所述当前编码块的亮度补偿标志位的值。
可选的,计算机程序被处理器1001执行时还可实现如下步骤:
所述当所述当前编码块为Merge模式时,从Merge候选编码块获取所述当前编码块的亮度补偿标志位的值包括:
当所述当前编码块为空域Merge双向预测模式,且存在亮度补偿标志位表示需要亮度补偿的目标空域Merge候选编码块时,获取所述目标空域Merge候选编码块的亮度补偿标志位的值。
该解码装置能够实现上述方法实施例二中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述,详细请参阅上述实施例二。
本发明实施例七还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例一或上述方法实施例二中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些具体实施方式仅是举例说明,本领域的技术人员在不脱离本发明的原理和实质的情况下,可以对上述方法和系统的细节进行各种省略、替换和改变。例如,合并上述方法步骤,从而按照实质相同的方法执行实质相同的功能以实现实质相同的结果则属于本发明的范围。
Claims (21)
1.一种局部亮度补偿方法,应用于编码装置,其特征在于,包括:
在确定需要对当前帧进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,所述第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
根据所述第一目标像素点集合和所述第二目标像素点集合计算出亮度补偿参数,包括:分别计算所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin;分别计算所述第二目标像素点集合中两个第三像素点的像素值平均值ymin以及两个第四像素点的像素值平均值xmin;其中,所述第一像素点的像素值大于所述第二像素点的像素值,所述第三像素点的像素值大于所述第四像素点的像素值;根据所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin、所述第二目标像素点集合中两个第三像素点的像素值平均值xmax以及两个第四像素点的像素值平均值xmin,计算所述亮度补偿参数;
按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
2.根据权利要求1所述的方法,其特征在于,若所述像素点的个数大于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
3.根据权利要求1所述的方法,其特征在于,若所述像素点的个数等于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
4.根据权利要求1所述的方法,其特征在于,所述从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合之前,还包括:
获取所述当前帧与每一参考帧的亮度直方图的绝对误差和;
若存在大于预设阈值的绝对误差和,则确定需要对所述当前帧进行亮度补偿。
5.根据权利要求4所述的方法,其特征在于,所述预设阈值为所述当前帧的宽度w、高度h以及预设系数c的乘积,其中,0.01≤c≤0.1。
6.根据权利要求1所述的方法,其特征在于,分别按照以下方式计算ymax、ymin、ymin和xmin:
ymax=(Recmax1+Recmax2+1)>>1;
ymin=(Recmin1+Recmin2+1)>>1;
xmax=(Refmax1+Refmax2+1)>>1;
xmin=(Refmin1+Refmin2+1)>>1;
其中,Recmax1和Recmax2分别为所述第一目标像素点集合中两个第一像素点的像素值;Recmin1和Recmin2分别为所述第一目标像素点集合中两个第二像素点的像素值;Refmax1和Refmax2分别为所述第二目标像素点集合中两个第三像素点的像素值;Refmin1和Refmin2分别为所述第二目标像素点集合中两个第四像素点的像素值。
8.根据权利要求1所述的方法,其特征在于,还包括:
在确定需要对当前帧进行亮度补偿的情况下,将所述当前帧的亮度补偿标志位设置为用于表示需要进行亮度补偿的值。
9.根据权利要求1所述的方法,其特征在于,所述按照所述亮度补偿参数,对所述当前编码块进行亮度补偿包括:
获取所述当前编码块进行亮度补偿之后的像素值对应的第一率失真代价,和所述当前编码块进行亮度补偿之前的像素值对应的第二率失真代价;
在所述第一率失真代价小于所述第二率失真代价时,对所述当前编码块进行亮度补偿。
10.根据权利要求1所述的方法,其特征在于,还包括:
在所述当前编码块为非Merge模式时,对所述当前编码块的亮度补偿标志位的值进行编码。
11.一种局部亮度补偿方法,应用于解码装置,其特征在于,包括:
在确定需要对当前帧的当前编码块进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
根据所述第一目标像素点集合和所述第二目标像素点集合计算出亮度补偿参数;其中,分别计算所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin;分别计算所述第二目标像素点集合中两个第三像素点的像素值平均值ymin以及两个第四像素点的像素值平均值xmin;其中,所述第一像素点的像素值大于所述第二像素点的像素值,所述第三像素点的像素值大于所述第四像素点的像素值;根据所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin、所述第二目标像素点集合中两个第三像素点的像素值平均值xmax以及两个第四像素点的像素值平均值xmin,计算所述亮度补偿参数;
按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
12.根据权利要求11所述的方法,其特征在于,若所述像素点的个数大于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
选择所述第一像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第3个、第N-2个、第N-1个像素点组成所述第二目标像素点集合;
或者,
选择所述第一像素点集合中第2个、第l个、第m个和第N-1个像素点组成所述第一目标像素点集合,选择所述第二像素点集合中第2个、第l个、第m个和第N-1个像素值组成所述第二目标像素点集合;
其中,所述第一像素点集合和所述第二像素点集合中的像素点按像素值的大小顺序排列,l=(N-2)>>2+2,m=N-(N-2)>>2-1,N为所述像素点的个数。
13.根据权利要求11所述的方法,其特征在于,若所述像素点的个数等于4,所述根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合包括:
将所述第一像素点集合作为所述第一目标像素点集合,将所述第二像素点集合作为所述第二目标像素点集合。
14.根据权利要求11所述的方法,其特征在于,所述从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合之前,还包括:
解码所述当前帧的亮度补偿标志位的值;
在所述当前帧的亮度补偿标志位的值表示所述当前帧需要进行亮度补偿的情况下,则获取所述当前编码块的亮度补偿标志位的值;
根据所述当前编码块的亮度补偿标志位的值,确定所述当前编码块是否需要进行亮度补偿。
15.根据权利要求14所述的方法,其特征在于,所述获取所述当前编码块的亮度补偿标志位的值包括:
当所述当前编码块为Merge模式时,从Merge候选编码块获取所述当前编码块的亮度补偿标志位的值;
当所述当前编码块为非Merge模式时,解码所述当前编码块的亮度补偿标志位的值。
16.根据权利要求15所述的方法,其特征在于,所述当所述当前编码块为Merge模式时,从Merge候选编码块获取所述当前编码块的亮度补偿标志位的值包括:
当所述当前编码块为空域Merge双向预测模式,且存在亮度补偿标志位表示需要亮度补偿的目标空域Merge候选编码块时,获取所述目标空域Merge候选编码块的亮度补偿标志位的值。
17.一种编码装置,其特征在于,包括:
获取模块,用于在确定需要对当前帧进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,所述第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
筛选模块,用于根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
计算模块,用于根据所述第一目标像素点集合和所述第二目标像素点集合计算出亮度补偿参数;
亮度补偿模块,用于按照所述亮度补偿参数,对所述当前编码块进行亮度补偿;
所述计算模块包括:
平均值计算单元,用于分别计算所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin;分别计算所述第二目标像素点集合中两个第三像素点的像素值平均值ymin以及两个第四像素点的像素值平均值xmin;其中,所述第一像素点的像素值大于所述第二像素点的像素值,所述第三像素点的像素值大于所述第四像素点的像素值;
参数计算单元,用于根据所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin、所述第二目标像素点集合中两个第三像素点的像素值平均值xmax以及两个第四像素点的像素值平均值xmin,计算所述亮度补偿参数。
18.一种解码装置,其特征在于,包括:
周围像素点获取模块,用于在确定需要对当前帧的当前编码块进行亮度补偿的情况下,从所述当前帧中获取当前编码块对应的第一像素点集合,以及从目标参考帧中获取参考块对应的第二像素点集合,其中,第一像素点集合和所述第二像素点集合所包括的像素点的个数相同;
像素点筛选模块,用于根据所述像素点的个数和预设规则,从所述第一像素点集合中确定第一目标像素点集合,以及从所述第二像素点集合中确定第二目标像素点集合;
亮度补偿参数计算模块,用于根据所述第一目标像素点集合和所述第二目标像素点集合计算出亮度补偿参数;其中,分别计算所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin;分别计算所述第二目标像素点集合中两个第三像素点的像素值平均值ymin以及两个第四像素点的像素值平均值xmin;其中,所述第一像素点的像素值大于所述第二像素点的像素值,所述第三像素点的像素值大于所述第四像素点的像素值;根据所述第一目标像素点集合中两个第一像素点的像素值平均值ymax以及两个第二像素点的像素值平均值ymin、所述第二目标像素点集合中两个第三像素点的像素值平均值xmax以及两个第四像素点的像素值平均值xmin,计算所述亮度补偿参数;
补偿模块,用于按照所述亮度补偿参数,对所述当前编码块进行亮度补偿。
19.一种编码装置,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至10中任一项所述的局部亮度补偿方法的步骤。
20.一种解码装置,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求11或16所述的局部亮度补偿方法的步骤。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至16中任一项所述的局部亮度补偿方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911222227.XA CN112911301B (zh) | 2019-12-03 | 2019-12-03 | 一种局部亮度补偿方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911222227.XA CN112911301B (zh) | 2019-12-03 | 2019-12-03 | 一种局部亮度补偿方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112911301A CN112911301A (zh) | 2021-06-04 |
CN112911301B true CN112911301B (zh) | 2023-04-28 |
Family
ID=76104088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911222227.XA Active CN112911301B (zh) | 2019-12-03 | 2019-12-03 | 一种局部亮度补偿方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112911301B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598876B (zh) * | 2022-03-03 | 2024-05-14 | 深圳创维-Rgb电子有限公司 | 动态图像的运动补偿方法、装置、终端设备以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107147911A (zh) * | 2017-07-05 | 2017-09-08 | 中南大学 | 基于局部亮度补偿lic的快速帧间编码模式选择方法及装置 |
CN109792538A (zh) * | 2016-08-26 | 2019-05-21 | 高通股份有限公司 | 用于局部照明补偿和跨分量线性模型预测的参数推导程序的统一 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2510944C2 (ru) * | 2012-07-03 | 2014-04-10 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ кодирования/декодирования многоракурсной видео последовательности на основе адаптивной локальной коррекции яркости опорных кадров без передачи дополнительных параметров (варианты) |
US10834409B2 (en) * | 2018-04-06 | 2020-11-10 | Arris Enterprises Llc | System and method of implementing multiple prediction models for local illumination compensation |
-
2019
- 2019-12-03 CN CN201911222227.XA patent/CN112911301B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109792538A (zh) * | 2016-08-26 | 2019-05-21 | 高通股份有限公司 | 用于局部照明补偿和跨分量线性模型预测的参数推导程序的统一 |
CN107147911A (zh) * | 2017-07-05 | 2017-09-08 | 中南大学 | 基于局部亮度补偿lic的快速帧间编码模式选择方法及装置 |
Non-Patent Citations (3)
Title |
---|
CE10-related: Local illumination compensation simplifications,JVET-M0224-v2;Saurav Bandyopadhyay;《Joint Video Experts Team (JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》;20190110;全文 * |
CE1-related: Simplified and robust LIC parameter derivation unified with CCLM,JVET-N0716-v32;Alexey Filippov;《Joint Video Experts Team (JVET)Joint Video Experts Team (JVET)Joint Video Experts Team (JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》;20190323;正文第1节 * |
Local Illumination Compensation,VCEG-AZ06;H. Liu 等;《ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6》;20150626;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112911301A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210385482A1 (en) | Bidirectional optical flow based video coding and decoding | |
CN110036637B (zh) | 去噪声化已重构图像的方法及装置 | |
CN112997500B (zh) | 对基于区域的自适应环路滤波器的改进 | |
JP2011509536A (ja) | レイヤー間(inter−layer)画像予測パラメータを決定するための方法及び装置 | |
CN113068028B (zh) | 视频图像分量的预测方法、装置及计算机存储介质 | |
KR20180078310A (ko) | 코딩 프로세스에서의 실시간 비디오 노이즈를 감소시키는 방법, 단말기, 및 컴퓨터로 판독할 수 있는 비휘발성 저장 매체 | |
CN116472707A (zh) | 图像预测方法、编码器、解码器以及计算机存储介质 | |
CN112911301B (zh) | 一种局部亮度补偿方法、装置及计算机可读存储介质 | |
CN113068026B (zh) | 编码预测方法、装置及计算机存储介质 | |
WO2022116119A1 (zh) | 一种帧间预测方法、编码器、解码器及存储介质 | |
JP5178616B2 (ja) | シーンチェンジ検出装置および映像記録装置 | |
US10666970B2 (en) | Encoding apparatus, encoding method, and storage medium | |
CN116569554A (zh) | 帧间预测方法、视频编解码方法、装置及介质 | |
JP6253406B2 (ja) | 画像符号化装置、撮像装置、画像符号化方法、及びプログラム | |
CN113542769B (zh) | 一种视频图像编码方法、系统、设备以及介质 | |
EP2687011A1 (en) | Method for reconstructing and coding an image block | |
CN116762339A (zh) | 一种光照补偿方法、编码器、解码器及存储介质 | |
CN116325727A (zh) | 一种帧内预测方法、编码器、解码器及存储介质 | |
CN116634153A (zh) | 图像预测方法、编码器、解码器以及存储介质 | |
JP2007221208A (ja) | 動画像符号化方法および装置 | |
CN113196762A (zh) | 图像分量预测方法、装置及计算机存储介质 | |
JP4196929B2 (ja) | ノイズ検出装置及びノイズ検出プログラム | |
JP2897669B2 (ja) | 動きベクトル検出装置 | |
WO2024074129A1 (en) | Method and apparatus of inheriting temporal neighbouring model parameters in video coding system | |
CN101841701A (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 |