CN110650337A - 一种图像编码方法、解码方法、编码器、解码器及存储介质 - Google Patents

一种图像编码方法、解码方法、编码器、解码器及存储介质 Download PDF

Info

Publication number
CN110650337A
CN110650337A CN201810671512.9A CN201810671512A CN110650337A CN 110650337 A CN110650337 A CN 110650337A CN 201810671512 A CN201810671512 A CN 201810671512A CN 110650337 A CN110650337 A CN 110650337A
Authority
CN
China
Prior art keywords
reference sample
block
value
intra
sample
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810671512.9A
Other languages
English (en)
Other versions
CN110650337B (zh
Inventor
李明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201810671512.9A priority Critical patent/CN110650337B/zh
Priority to US17/255,018 priority patent/US11343513B2/en
Priority to KR1020217002646A priority patent/KR102513756B1/ko
Priority to JP2020572841A priority patent/JP7393366B2/ja
Priority to EP19824813.0A priority patent/EP3817383A4/en
Priority to PCT/CN2019/086046 priority patent/WO2020001170A1/zh
Publication of CN110650337A publication Critical patent/CN110650337A/zh
Application granted granted Critical
Publication of CN110650337B publication Critical patent/CN110650337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例提供了一种图像编码方法,包括:根据编码块中的像素样值,确定编码块的第一参考样值;根据第一参考样值,确定编码块的帧内预测模式,并计算编码块的帧内预测值;根据编码块的原始值与帧内预测值,获得预测差参数;对第一参考样值、帧内预测模式、和预测差参数进行编码,将编码比特写入码流。另外,本发明还提供一种图像解码方法、编码器、解码器以及计算机存储介质。

Description

一种图像编码方法、解码方法、编码器、解码器及存储介质
技术领域
本发明涉及通讯技术领域,尤其涉及一种图像编码方法、解码方法、编码器、解码器及存储介质。
背景技术
数字视频和图像的压缩编码技术利用视频和图像中像素点样值之间的相关性来去除视频和图像中存在的冗余。其中,压缩编码技术包括帧内预测(Intra Prediction)和帧间预测(Inter Prediction)。具体的,帧内预测是利用图像中相邻像素点样值之间的空间域相关性,通过使用相邻已编码像素点预测待编码像素点,从而降低了空间域相邻像素点之间的冗余。帧间预测不但利用单帧图像中空间域相邻像素点之间相关性,还利用了时域相邻图像之间的相关性,例如,使用运动估计(Motion Estimation,ME)和运动补偿(Motion Compensation,MC),使用已编码图像作为参考对当前编码图像进行预测。
目前,现有的视频和图像编码标准使用的帧内预测方法是使用当前编码块的左相邻和上相邻位置上已编码像素点(即参考像素点)来构造当前编码块中像素点的预测值。帧内预测模式指示了使用编码块相邻像素点构造编码块像素点预测值的方法,例如,直流(DC)模式、帧内预测方向等。
然而,现有的视频和图像编码方法在帧内预测参考像素均不可用,以及帧内参考像素部分可用的情况下,存在较大的帧内预测误差,且编码比特开销较大。
发明内容
为解决上述技术问题,本发明期望提供一种图像编码方法、解码方法、编码器、解码器及存储介质,能够减少视频图像编码中的帧内预测误差。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种图像编码方法,包括:
根据编码块中的像素样值,确定编码块的第一参考样值;
根据第一参考样值,确定编码块的帧内预测模式,并计算编码块的帧内预测值;
根据编码块的原始值与帧内预测值,获得预测差参数;
对第一参考样值、帧内预测模式、和预测差参数进行编码,将编码比特写入码流。
可选的,根据编码块的原始值与帧内预测值,获得预测差参数,具体包括:
计算编码块的原始值与帧内预测值的差值,得到编码块的预测差值;
对预测差值进行变换和量化处理,得到预测差参数。
可选的,根据编码块中的像素样值确定编码块的第一参考样值,包括:
判断编码块的参考样值是否存在,参考样值为编码块相邻的一个或多个像素点的已恢复像素样值;
若编码块的部分或全部参考样值不存在,则根据编码块中的像素样值确定编码块的第一参考样值;
或者,判断编码块的匹配块中的参考样值是否均存在;
若编码块的匹配块中的部分或全部参考样值不存在,则判断为编码块的部分或全部参考样值不存在,根据编码块中的像素样值确定编码块的第一参考样值。
可选的,编码块的匹配块位于编码块所在图像中并且与编码块大小相同的区域。
可选的,判断参考样值是否存在的方法,包括以下至少一种:
若参考样值对应的参考像素点位置位于编码块所在图像中尚未编码的图像区域,则将参考样值判断为不存在;
若参考样值对应的参考像素点位置位于编码块所在图像的边界之外,则将参考样值判断为不存在;
在编码块所在图像中,若参考样值对应的参考像素点位置位于编码块所在分片之外,则将参考样值判断为不存在;
在编码块所在图像中,若参考样值对应的参考像素点位置位于编码块所在瓦片之外,则将参考样值判断为不存在;
若使用帧内预测受限模式,在编码块所在图像中,若参考样值对应的参考像素点位置位于非帧内预测模式的编码块中,则将参考样值判断为不存在。
可选的,根据编码块中的像素样值确定编码块的第一参考样值,包括:
根据编码块中的像素样值,使用软判决方法确定第一参考样值。
可选的,根据编码块中的像素样值,使用软判决方法确定第一参考样值,具体包括:
使用约束最优化方法计算第一参考样值,约束最优化计算公式为:
min D=∑kd(xk,pk)s.t.R≤RC
其中,D是编码块的编码失真;k是遍历范围,包括编码块中的一个或多个像素;d(a,b)是a和b之间的误差值;xk是编码块中待编码像素样值;pk是使用第一参考样值根据帧内预测模式计算得到的xk的预测值;R是编码块的编码比特开销;RC是编码块编码比特开销的上限值。
可选的,根据编码块中的像素样值,使用软判决方法确定第一参考样值,具体包括:
使用无约束最优化方法计算第一参考样值,无约束最优化计算公式为:
(r,m)opt=arg min(D+λ·R)
其中,r是第一参考样值;m是编码块的帧内预测模式,D是编码块的编码失真,R是编码块的编码比特开销,λ是拉格朗日因子。
可选的,根据编码块中的像素样值确定编码块的第一参考样值,具体包括:
若判断编码块的全部参考样值不存在,则将第一参考样值设置为编码块原始值的平均值;
若判断编码块的部分参考样值不存在,则将第一参考样值设置为编码块原始值的平均值与部分存在的参考样值均值的差值。
可选的,第一参考样值包括至少两个样值,以及使用方式指示参数,其中,样值使用方式参数用于指示第一参考样值中包含的至少两个样值在设置编码块的参考样值过程中的使用方式。
可选的,第一参考样值包括两个样值,根据编码块中的像素样值确定编码块的第一参考样值,包括:
根据两个样值分别设置编码块左相邻参考像素点位置中不存在的参考样值的取值,和上相邻参考像素点位置中不存在的参考样值的取值。
可选的,根据第一参考样值,确定编码块的帧内预测模式,计算编码块的帧内预测值,包括:
使用第一参考样值设置编码块的不存在的参考样值;
根据编码块的参考样值,使用率失真优化方法确定编码块的帧内预测模式,使用帧内预测模式计算得到编码块的帧内预测值。
可选的,根据第一参考样值,确定编码块的帧内预测模式,计算编码块的帧内预测值,还包括:
使用第一参考样值设置编码块的不存在的参考样值;
对编码块的参考样值进行滤波,得到经滤波处理的参考样值;
根据经滤波处理的参考样值,使用率失真优化方法确定编码块的帧内预测模式,使用帧内预测模式计算得到编码块的帧内预测值。
可选的,对编码块的参考样值进行滤波,得到经滤波处理的参考样值,包括:
使用率失真优化方法确定滤波控制参数,滤波控制参数用于指示是否对参考样值进行滤波;
若滤波控制参数指示对参考样值进行滤波,则对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
可选的,对编码块的参考样值进行滤波,得到经滤波处理的参考样值,包括:
若编码块的大小等于预设值时,则使用率失真优化方法确定滤波控制参数,滤波控制参数用于指示是否对参考样值进行滤波;
当滤波控制参数指示对参考样值进行滤波时,对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
可选的,对编码块的参考样值进行滤波,得到经滤波处理的参考样值,包括:
若编码块的大小等于预设值时,对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
可选的,对编码块的参考样值进行滤波,得到经滤波处理的参考样值,包括:
当编码块的帧内预测模式是预设的模式时,使用率失真优化方法确定滤波控制参数,滤波控制参数用于指示是否对参考样值进行滤波;
当滤波控制参数指示对参考样值进行滤波时,对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
可选的,对编码块的参考样值进行滤波,得到经滤波处理的参考样值,包括:
当编码块的帧内预测模式是预设的模式时,对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
可选的,对编码块的参考样值进行滤波,得到经滤波处理的参考样值,包括:
当编码块的大小等于预设值时,并且编码块的帧内预测模式是预设的模式时,使用率失真优化方法确定滤波控制参数,滤波控制参数用于指示是否对参考样值进行滤波;
当滤波控制参数指示对参考样值进行滤波时,对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
可选的,对编码块的参考样值进行滤波,得到经滤波处理的参考样值,包括:
当编码块的大小等于预设值时、并且编码块的帧内预测模式是预设的模式时,对编码块参考样值进行滤波,得到经滤波处理的参考样值。
可选的,对编码块的参考样值进行滤波,得到经滤波处理的参考样值,方法还包括:
对编码块的滤波控制参数进行编码,将编码比特写入码流。
可选的,对第一参考样值进行编码,包括:
通过对第一参考样值进行编码获得第一参考样值的编码比特;
将编码比特写入码流中的数据单元,其中,码流中的数据单元包含以下至少之一:一个或多个参数集,分片头,块层数据单元。
可选的,对第一参考样值进行编码,包括:
第一参考样值包括一个或多个样值;
对第一参考样值的一个或多个样值进行编码,获得第一参考样值的一个或多个样值的编码比特,将编码比特写入码流中的数据单元。
可选的,对第一参考样值的一个或多个样值进行编码,获得第一参考样值的一个或多个样值的编码比特,还包括:
编码样值使用方式参数,将样值使用方式参数的编码比特写入码流中的数据单元。
可选的,第一参考样值包括样值控制参数,样值控制参数包括以下至少之一的控制参数:序列层样值控制参数,图像层样值控制参数,分片层样值控制参数,块层样值控制参数。
第二方面,本发明实施例提供了一种图像解码方法,包括:
解析码流,获得解码块的第一参考样值、帧内预测模式和预测差参数;
根据第一参考样值确定解码块的帧内预测参考样值;
根据帧内预测参考样值以及帧内预测模式构造解码块的帧内预测值;
使用预测差参数计算解码块的预测差;
计算帧内预测值和预测差的和值,获得解码块的恢复值。
可选的,根据第一参考样值确定解码块的帧内预测参考样值,包括:
判断解码块的参考样值是否存在,参考样值为解码块相邻的一个或多个像素点的已恢复像素样值;
若解码块的部分或全部参考样值不存在,则根据第一参考样值确定解码块的不存在的参考样值,获得帧内预测参考样值。
或者,判断解码块的匹配块中的参考样值是否均存在;
若解码块的匹配块中的部分或全部参考样值不存在,则判断为解码块的部分或全部参考样值不存在,根据第一参考样值确定解码块的不存在的参考样值,获得帧内预测参考样值。
可选的,解码块的匹配块位于解码块所在图像中并且与解码块大小相同的区域。
可选的,判断参考样值是否存在的方法,包括以下至少一种:
若参考样值对应的参考像素点位置位于解码块所在图像中尚未解码的图像区域,则将参考样值判断为不存在;
若参考样值对应的参考像素点位置位于解码块所在图像的边界之外,则将参考样值判断为不存在;
在解码块所在图像中,若参考样值对应的参考像素点位置位于解码块所在分片之外,则将参考样值判断为不存在;
在解码块所在图像中,若参考样值对应的参考像素点位置位于解码块所在瓦片之外,则将参考样值判断为不存在;
若使用帧内预测受限模式,在解码块所在图像中,若参考样值对应的参考像素点位置位于非帧内预测模式的解码块中,则将参考样值判断为不存在。
可选的,解析码流获得解码块的第一参考样值,包括:
解析码流中的一个或多个数据单元,获得第一参考样值,其中,数据单元包括以下至少之一:一个或多个参数集,分片头,块层数据单元。
可选的,解析码流获得解码块的第一参考样值,包括:
解析码流中的一个或多个数据单元,获得样值使用方式参数,其中,样值使用方式参数用于指示第一参考样值中包含的样值在设置解码块的参考样值过程中的使用方式。
可选的,第一参考样值包括样值控制参数,样值控制参数包括以下至少之一的控制参数:序列层样值控制参数,图像层样值控制参数,分片层样值控制参数,块层样值控制参数。
可选的,根据第一参考样值确定解码块的不存在的参考样值,包括:
使用第一参考样值设置解码块的不存在的参考样值。
可选的,第一参考样值中包含样值控制参数,根据第一参考样值确定解码块的不存在的参考样值,包括:
若样值控制参数指示使用第一参考样值构造不存在的参考样值,则使用第一参考样值设置解码块的不存在的参考样值。
可选的,第一参考样值中包含样值使用方式参数,根据第一参考样值确定解码块的不存在的参考样值,包括:
若第一参考样值包含至少两个样值,则根据样值使用方式参数,使用第一参考样值中包含的样值对应设置解码块的不存在的参考样值。
可选的,第一参考样值包括两个样值,根据样值使用方式参数,使用第一参考样值中包含的样值对应设置解码块的不存在的参考样值,包括:
按照预设规则使用第一参考样值中的两个样值分别设置解码块左相邻参考像素点位置中不存在的参考样值,和上相邻参考像素点位置中不存在的参考样值。
可选的,根据帧内预测参考样值以及帧内预测模式构造解码块的帧内预测值,方法还包括:
对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值;
使用经滤波处理的参考样值,按帧内预测模式计算得到解码块的帧内预测值。
可选的,对帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
解析码流,获得滤波控制参数,其中,滤波控制参数用于指示是否对帧内预测参考样值进行滤波;
若滤波控制参数指示对帧内预测参考样值进行滤波,则对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
可选的,对帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若解码块的大小等于预设值,则解析码流,获得滤波控制参数;
当滤波控制参数指示对帧内预测参考样值进行滤波时,对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
可选的,对帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若解码块的大小等于预设值时,对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
可选的,对帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若解码块的帧内预测模式是预设的模式,则解析码流,获得滤波控制参数;
当滤波控制参数指示对帧内预测参考样值进行滤波时,对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
可选的,对帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若解码块的帧内预测模式是预设的模式,则对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
可选的,对帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若解码块的大小等于预设值,并且解码块的帧内预测模式是预设的模式,则解析码流,获得滤波控制参数;
当滤波控制参数指示对帧内预测参考样值进行滤波时,对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
可选的,对帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若解码块的大小等于预设值,并且解码块的帧内预测模式是预设的模式时,对帧内预测参考样值进行滤处理,得到经过滤波处理的参考样值。
可选的,使用预测差参数计算解码块的预测差,包括:
对预测差参数进行伸缩和变换处理,得到解码块的预测差。
可选的,在将帧内预测值和预测差的和值设置为解码块的恢复值之后,方法还包括:
对解码块的恢复值进行环路滤波处理得到解码值。
第三方面,本发明实施例提供了一种图像编码装置,图像编码装置包括第一参考样值确定单元、帧内预测值确定单元、预测差参数获得单元和编码单元,其中:
第一参考样值确定单元,用于根据编码块中的像素样值,确定编码块的第一参考样值;
帧内预测值确定单元,用于根据第一参考样值确定单元确定的第一参考样值,确定编码块的帧内预测模式,并计算编码块的帧内预测值;
预测差参数获得单元,用于根据编码块的原始值与帧内预测值确定单元计算的帧内预测值,获得预测差参数;
编码单元,用于对第一参考样值确定单元确定的第一参考样值、帧内预测值确定单元确定的帧内预测模式、和预测差参数获得单元获得的预测差参数进行编码,将编码比特写入码流。
可选的,预测差参数获得单元,具体用于:
计算编码块的原始值与帧内预测值的差值,得到编码块的预测差值;
对预测差值进行变换和量化处理,得到预测差参数。
可选的,第一参考样值确定单元,具体用于:
判断编码块的参考样值是否存在,参考样值为编码块相邻的一个或多个像素点的已恢复像素样值;
若编码块的部分或全部参考样值不存在,则根据编码块中的像素样值确定编码块的第一参考样值;
或者,判断编码块的匹配块中的参考样值是否均存在;
若编码块的匹配块中的部分或全部参考样值不存在,则判断为编码块的部分或全部参考样值不存在,根据编码块中的像素样值确定编码块的第一参考样值。
可选的,第一参考样值确定单元,具体用于:
根据编码块中的像素样值,使用软判决方法确定第一参考样值。
可选的,第一参考样值确定单元,具体用于:
若判断编码块的全部参考样值不存在,则将第一参考样值设置为编码块原始值的平均值;
若判断编码块的部分参考样值不存在,则将第一参考样值设置为编码块原始值的平均值与部分存在的参考样值均值的差值。
可选的,帧内预测值确定单元,具体用于:
使用第一参考样值设置编码块的不存在的参考样值;
根据编码块的参考样值,使用率失真优化方法确定编码块的帧内预测模式,使用帧内预测模式计算得到编码块的帧内预测值。
可选的,帧内预测值确定单元,具体用于:
使用第一参考样值设置编码块的不存在的参考样值;
对编码块的参考样值进行滤波,得到经滤波处理的参考样值;
根据经滤波处理的参考样值,使用率失真优化方法确定编码块的帧内预测模式,使用帧内预测模式计算得到编码块的帧内预测值。
可选的,编码单元,具体用于:
通过对第一参考样值进行编码获得第一参考样值的编码比特;
将编码比特写入码流中的数据单元,其中,码流中的数据单元包含以下至少之一:一个或多个参数集,分片头,块层数据单元。
第四方面,本发明实施例提供了一种图像解码装置,图像解码装置包括解析单元、帧内预测参考样值确定单元、帧内预测值确定单元、预测差确定单元和恢复值获得单元,其中:
解析单元,用于解析码流获得解码块的第一参考样值、帧内预测模式和预测差参数;
帧内预测参考样值确定单元,用于根据解析单元解析的第一参考样值确定解码块的帧内预测参考样值;
帧内预测值确定单元,用于根据帧内预测参考样值确定单元确定的帧内预测参考样值以及解析单元解析的帧内预测模式构造解码块的帧内预测值;
预测差确定单元,用于使用解析单元解析的预测差参数计算解码块的预测差;
恢复值获得单元,用于计算帧内预测值确定单元构造的帧内预测值,和预测差确定单元计算的预测差的和值,获得解码块的恢复值。
可选的,解析单元,具体用于:
解析码流中的一个或多个数据单元,获得第一参考样值,其中,数据单元包括以下至少之一:一个或多个参数集,分片头,块层数据单元。
可选的,帧内预测值确定单元,具体用于:
对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值;
使用经滤波处理的参考样值,按帧内预测模式计算得到解码块的帧内预测值。
可选的,帧内预测参考样值确定单元,具体用于:
判断解码块的参考样值是否存在,参考样值为解码块相邻的一个或多个像素点的已恢复像素样值;
若解码块的部分或全部参考样值不存在,则根据第一参考样值确定解码块的不存在的参考样值,获得帧内预测参考样值。
或者,判断解码块的匹配块中的参考样值是否均存在;
若解码块的匹配块中的部分或全部参考样值不存在,则判断为解码块的部分或全部参考样值不存在,根据第一参考样值确定解码块的不存在的参考样值,获得帧内预测参考样值。
可选的,预测差确定单元,具体用于:
对预测差参数进行伸缩和变换处理,得到解码块的预测差。
可选的,恢复值获得单元,具体用于:
对解码块的恢复值进行环路滤波处理得到解码值。
第五方面,本发明实施例提供了一种编码器,包括:第一处理器、第一存储介质、第一通信总线,其中,第一处理器和第一存储介质通过第一通信总线连接;
第一处理器,调用第一存储介质存储的图像编码相关程序,并执行如下步骤:
根据编码块中的像素样值,确定编码块的第一参考样值;
根据第一参考样值,确定编码块的帧内预测模式,并计算编码块的帧内预测值;
根据编码块的原始值与帧内预测值,获得预测差参数;
对第一参考样值、帧内预测模式、和预测差参数进行编码,将编码比特写入码流。
第六方面,本发明实施例提供了一种解码器,包括:第二处理器、第二存储介质、第二通信总线,其中,第二处理器和第二存储介质通过第二通信总线连接;
第二处理器,调用第二存储介质存储的图像解码相关程序,并执行如下步骤:
解析码流,获得解码块的第一参考样值、帧内预测模式和预测差参数;
根据第一参考样值确定解码块的帧内预测参考样值;
根据帧内预测参考样值以及帧内预测模式构造解码块的帧内预测值;
使用预测差参数计算解码块的预测差;
计算帧内预测值和预测差的和值,获得解码块的恢复值。
第七方面,本发明实施例提供了一种计算机存储介质,应用于编码器中,计算机可读处处介质存储有一个或多个图像编码相关程序,一个或者多个图像编码相关程序可被一个或者多个第一处理器执行,以实现上述图像编码方法。
第八方面,本发明实施例提供了一种计算机存储介质,应用于解码器中,计算机可读处处介质存储有一个或多个图像解码相关程序,一个或者多个图像解码相关程序可被一个或者多个第二处理器执行,以实现上述图像解码方法。
综上所述,本发明实施例提供了一种图像编码方法、解码方法、编码器、解码器及存储介质。其中,图像编码方法包括:根据编码块中的像素样值,确定编码块的第一参考样值;根据第一参考样值,确定编码块的帧内预测模式,并计算编码块的帧内预测值;根据编码块的原始值与帧内预测值,获得预测差参数;对第一参考样值、帧内预测模式、和预测差参数进行编码,将编码比特写入码流。采用上述技术方案,由于第一参考样值是根据编码块的待编码像素样值计算确定的,并且第一样值将进一步用于构造编码块的帧内预测参考样值。因此,在编码块相邻块的样值均不可用或者部分不可用的情况下,有效降低了帧内预测的预测值与编码块之间的预测差值,提高了帧内预测模式的编码效率。
附图说明
图1为本发明实施例提供的一种图像编码方法的流程示意图;
图2为本发明实施例提供的一种图像解码方法的流程示意图;
图3为本发明实施例提供的一种编码装置的结构示意图;
图4为本发明实施例提供的一种解码装置的结构示意图;
图5为本发明实施例提供的一种编码器的系统架构示意图;
图6为本发明实施例提供的一种解码器的系统架构示意图;
图7为本发明实施例提供的一种编码器的帧内预测单元的结构示意图;
图8为本发明实施例提供的一种帧内预测方法的示意图;
图9为本发明实施例提供的另一种帧内预测方法的示意图;
图10为本发明实施例提供的一种编码器的熵编码单元对帧内预测单元输出参数进行编码的数据处理的流程示意图;
图11为本发明实施例提供的一种解码器的帧内预测单元的结构示意图;
图12为本发明实施例提供的一种解码器的解析单元对解码块码流中的帧内预测模式和滤波参数进行解析的数据处理的流程示意图;
图13为本发明实施例提供的包含编码器的电子设备的结构示意图;
图14为本发明实施例提供的包含解码器的电子设备的结构示意图;
图15为本发明实施例提供的电子系统的系统架构示意图。
具体实施方式
现有技术中,视频和图像编码标准使用的帧内预测方法是使用当前编码块的左相邻和上相邻位置上已编码像素点来构造当前编码块中像素点的预测值。帧内预测模式指示了使用编码块相邻像素点构造编码块像素点预测值的方法,例如,直流(DC)模式、帧内预测方向等。现有标准设计了多种帧内预测模式。例如,H.264/AVC标准使用9种帧内预测模式,包括DC模式和8个不同帧内预测方向的预测模式;H.265/HEVC标准使用平面模式、DC模式和33个不同帧内预测方向的预测模式。
在现有的帧内预测方法中,首先需要参考像素点是否“可用”。当参考像素点不存在(例如当前编码块位于图像边界)或者不能被当前编码块使用(例如当前块位于分片的边界)时,参考像素点被认为“不存在”。当参考像素点“不存在”时,在H.264/AVC标准中,这些参考像素点被标记为“不可用”,使用这些参考像素点的帧内预测模式也是不可用的;在H.265/HEVC标准中,按照指定的规则对“不存在”的参考像素点进行填充,将填充后的参考像素点标记为“可用”。
在H.264/AVC标准中,DC模式是始终可以使用的帧内预测模式。当编码块的参考像素点都“不可用”时,DC模式的帧内预测值设置为1<<(BitDepth–1)。其中,“<<”是标准中定义的算术左移位(Arithmetic Left Shift)比特位运算符,BitDepth表示分量的比特深度。比特深度(Bit Depth)指的是物理量的数字化表示所使用的比特位数。在该标准中,例如对于亮度分量BitDepth等于BitDepthY,BitDepthY是亮度分量的比特深度。目前消费电子产品上常用的比特深度是8比特,这种情况下,当参考像素都“不可用”时,DC模式预测值是128。当部分参考像素“可用”时,DC模式使用“可用”参考像素样值的均值作为帧内预测值。该标准中,未编码的像素,参考像素“不可用”的情况主要包括:图像边界外的像素点,分片边界外的像素点,constrained_intra_pred_flag取值等于1时相邻宏块(Macroblock)使用帧间(Inter)编码。
在H.265/HEVC标准中,当编码块的参考像素点位置上有“不存在”的参考像素点时,使用“存在”的参考像素点对“不存在”的参考像素点进行填充;当编码块的参考像素点都不存在时,使用参考像素点的取值均填充为1<<(BitDepth–1)。在该标准的帧内预测参考像素填充方法中,左相邻参考像素点可被用来填充上相邻“不存在”的像素点。该标准中,参考像素“不存在”的情况主要包括:未编码的像素,图像边界外的像素点,分片边界外的像素点,瓦片(Tile)边界外的像素点,constrained_intra_pred_flag取值等于1时相块使用帧间编码。
然而,现有的视频和图像编码标准存在以下缺陷:
(1)在帧内预测参考像素均不可用的情况下,现有方法等价于将帧内预测的预测值设置为“1<<(BitDepth–1)”。如果编码块的像素样值与“1<<(BitDepth–1)”存在较大偏差的情况下,帧内预测的预测差较大,带来大的编码比特开销。
(2)在帧内参考像素部分可用的情况下,限制可用的帧内预测模式、仅使用可用参考像素样值计算预测值(例如DC预测值)、使用可用参考像素样值进行填充的方法,由于这些方法的执行过程都根据参考像素样值而没有涉及编码块中像素样值,会带来较大的帧内预测误差。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
下述实施例中,视频指的是由图像组成的图像序列。码流指的是视频编码器对视频进行编码产生的码流,也指对视频编码器编码视频产生的码流经过系统层处理后得到的包含视频编码器编码视频产生的码流的传输流和/或媒体文件,对码流进行解码可以获得视频。系统层处理是对视频码流进行的封装操作,例如,将视频码流作为数据载荷封装成传输流,或将视频码流作为载荷封装成媒体文件。系统层处理也包括将包含视频码流的传输流或媒体文件作为数据载荷封装成用于传输的流或者用于存储的文件。系统层处理生成的数据单元也称为系统层数据单元,在系统层处理封装数据载荷过程中在系统层数据单元中添加的信息(例如系统层数据单元的头信息等)称为系统层信息。子码流指的是从码流中进行抽取操作得到的部分码流,对子码流进行解码可以获得视频图像,该视频图像可以是比解码码流获得的视频图像的分辨率低的图像,也可以是比解码码流获得视频的帧率低的图像,该视频图像包含的可以是解码码流获得的视频图像中的部分内容。
实施例一
参见图1,本公开的实施例提出了一种图像编码方法,包括:
步骤101:根据编码块中的像素样值,确定编码块的第一参考样值;
可选的,步骤101,具体包括:判断编码块的参考样值是否存在,参考样值为编码块相邻的一个或多个像素点的已恢复像素样值;若编码块的部分或全部参考样值不存在,则根据编码块中的像素样值确定编码块的第一参考样值;
或者,判断编码块的匹配块中的参考样值是否均存在;若编码块的匹配块中的部分或全部参考样值不存在,则判断为编码块的部分或全部参考样值不存在,根据编码块中的像素样值确定编码块的第一参考样值。
其中,编码块的匹配块位于编码块所在图像中并且与编码块大小相同的区域。
示例性的,判断参考样值是否存在的方法,包括以下至少一种:
若参考样值对应的参考像素点位置位于编码块所在图像中尚未编码的图像区域,则将参考样值判断为不存在;
若参考样值对应的参考像素点位置位于编码块所在图像的边界之外,则将参考样值判断为不存在;
在编码块所在图像中,若参考样值对应的参考像素点位置位于编码块所在分片之外,则将参考样值判断为不存在;
在编码块所在图像中,若参考样值对应的参考像素点位置位于编码块所在瓦片之外,则将参考样值判断为不存在;
若使用帧内预测受限模式,在编码块所在图像中,若参考样值对应的参考像素点位置位于非帧内预测模式的编码块中,则将参考样值判断为不存在。
可选的,根据编码块中的像素样值,使用软判决方法确定第一参考样值。
示例性的,根据编码块中的像素样值,使用软判决方法确定编码块的第一参考样值,具体包括:使用约束最优化方法计算第一参考样值,约束最优化计算公式为:
min D=∑kd(xk,pk)s.t.R≤RC
其中,D是编码块的编码失真;k是遍历范围,包括编码块中的一个或多个像素;d(a,b)是a和b之间的误差值;xk是编码块中待编码像素样值;pk是使用第一参考样值根据帧内预测模式计算得到的xk的预测值;R是编码块的编码比特开销;RC是编码块编码比特开销的上限值。
示例性的,根据编码块中的像素样值,使用软判决方法确定编码块的第一参考样值,具体包括:使用无约束最优化方法计算第一参考样值,无约束最优化计算公式为:
(r,m)opt=arg min(D+λ·R)
其中,r是第一参考样值;m是编码块的帧内预测模式,D是编码块的编码失真,R是编码块的编码比特开销,λ是拉格朗日因子。
可选的,步骤101,具体包括:若判断编码块的全部参考样值不存在,则将第一参考样值设置为编码块原始值的平均值;若判断编码块的部分参考样值不存在,则将第一参考样值设置为编码块原始值的平均值与部分存在的参考样值均值的差值。
具体的,第一参考样值包括至少两个样值,以及使用方式指示参数,其中,样值使用方式参数用于指示第一参考样值中包含的至少两个样值在设置编码块的参考样值过程中的使用方式。
示例性的,第一参考样值包括两个样值,根据编码块中的像素样值确定编码块的第一参考样值,包括:根据两个样值分别设置编码块左相邻参考像素点位置中不存在的参考样值的取值,和上相邻参考像素点位置中不存在的参考样值的取值。
步骤102:根据第一参考样值,确定编码块的帧内预测模式,并计算编码块的帧内预测值;
可选的,步骤102,包括:使用第一参考样值设置编码块的不存在的参考样值;根据编码块的参考样值,使用率失真优化方法确定编码块的帧内预测模式,使用帧内预测模式计算得到编码块的帧内预测值。
可选的,步骤102,还包括:使用第一参考样值设置编码块的不存在的参考样值;对编码块的参考样值进行滤波,得到经滤波处理的参考样值;根据经滤波处理的参考样值,使用率失真优化方法确定编码块的帧内预测模式,使用帧内预测模式计算得到编码块的帧内预测值。
其中,对编码块的参考样值进行滤波,得到经滤波处理的参考样值,包括以下方法:
方法一:使用率失真优化方法确定滤波控制参数,滤波控制参数用于指示是否对参考样值进行滤波;若滤波控制参数指示对参考样值进行滤波,则对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
方法二:若编码块的大小等于预设值时,则使用率失真优化方法确定滤波控制参数,滤波控制参数用于指示是否对参考样值进行滤波;当滤波控制参数指示对参考样值进行滤波时,对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
其中,预设值包括先设定的一个值或者预先设定的多个值之一。
方法三:若编码块的大小等于预设值时,对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
方法四:当编码块的帧内预测模式是预设的模式时,使用率失真优化方法确定滤波控制参数,滤波控制参数用于指示是否对参考样值进行滤波;当滤波控制参数指示对参考样值进行滤波时,对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
其中,预设的模式包括预先设定的一个模式或者预先设定的多个模式之一。
方法五:当编码块的帧内预测模式是预设的模式时,对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
方法六:当编码块的大小等于预设值时,并且编码块的帧内预测模式是预设的模式时,使用率失真优化方法确定滤波控制参数,滤波控制参数用于指示是否对参考样值进行滤波;当滤波控制参数指示对参考样值进行滤波时,对编码块的参考样值进行滤波,得到经滤波处理的参考样值。
方法七:当编码块的大小等于预设值时、并且编码块的帧内预测模式是预设的模式时,对编码块参考样值进行滤波,得到经滤波处理的参考样值。
进一步的,对编码块的参考样值进行滤波,得到经滤波处理的参考样值,方法还包括:对编码块的滤波控制参数进行编码,将编码比特写入码流。
步骤103:根据编码块的原始值与帧内预测值,获得预测差参数;
具体的,计算编码块的原始值与帧内预测值的差值,得到编码块的预测差值;对预测差值进行变换和量化处理,得到预测差参数。
步骤104:对第一参考样值、帧内预测模式、和预测差参数进行编码,将编码比特写入码流。
可选的,步骤104中,对第一参考样值进行编码,包括:通过对第一参考样值进行编码获得第一参考样值的编码比特;将编码比特写入码流中的数据单元,其中,码流中的数据单元包含以下至少之一:一个或多个参数集,分片头,块层数据单元。
可选的,步骤104中,对第一参考样值进行编码,包括:第一参考样值包括一个或多个样值;对第一参考样值的一个或多个样值进行编码,获得第一参考样值的一个或多个样值的编码比特,将编码比特写入码流中的数据单元。
进一步的,对第一参考样值的一个或多个样值进行编码,获得第一参考样值的一个或多个样值的编码比特,还包括:编码样值使用方式参数,将样值使用方式参数的编码比特写入码流中的数据单元。
在本公开实施例中,第一参考样值包括样值控制参数,样值控制参数包括以下至少之一的控制参数:序列层样值控制参数,图像层样值控制参数,分片层样值控制参数,块层样值控制参数。
实施例二
参见图2,本公开的实施例提出了一种图像解码方法,包括:
步骤201:解析码流,获得解码块的第一参考样值、帧内预测模式和预测差参数;
可选的,步骤201中,解析码流获得解码块的第一参考样值,包括:
解析码流中的一个或多个数据单元,获得第一参考样值,其中,数据单元包括以下至少之一:一个或多个参数集,分片头,块层数据单元。
进一步的,解析码流获得解码块的第一参考样值,包括:
解析码流中的一个或多个数据单元,获得样值使用方式参数,其中,样值使用方式参数用于指示第一参考样值中包含的多个样值在设置解码块的参考样值过程中的使用方式。
其中,第一参考样值包括样值控制参数,样值控制参数包括以下至少之一的控制参数:序列层样值控制参数,图像层样值控制参数,分片层样值控制参数,块层样值控制参数。
步骤202:根据第一参考样值确定解码块的帧内预测参考样值;
可选的,步骤202包括:判断解码块的参考样值是否存在,参考样值为解码块相邻的一个或多个像素点的已恢复像素样值;若解码块的部分或全部参考样值不存在,则根据第一参考样值确定解码块的不存在的参考样值,获得帧内预测参考样值。
或者,判断解码块的匹配块中的参考样值是否均存在;若解码块的匹配块中的部分或全部参考样值不存在,则判断为解码块的部分或全部参考样值不存在,根据第一参考样值确定解码块的不存在的参考样值,获得帧内预测参考样值。
需要说明的是,解码块的匹配块位于解码块所在图像中并且与解码块大小相同的区域。
可以理解的是,在根据第一参考样值确定解码块的不存在的参考样值之后,解码块的参考样值均存在。
实际应用中,判断参考样值是否存在的方法,包括以下至少一种:
若参考样值对应的参考像素点位置位于解码块所在图像中尚未解码的图像区域,则将参考样值判断为不存在;
若参考样值对应的参考像素点位置位于解码块所在图像的边界之外,则将参考样值判断为不存在;
在解码块所在图像中,若参考样值对应的参考像素点位置位于解码块所在分片之外,则将参考样值判断为不存在;
在解码块所在图像中,若参考样值对应的参考像素点位置位于解码块所在瓦片之外,则将参考样值判断为不存在;
若使用帧内预测受限模式,在解码块所在图像中,若参考样值对应的参考像素点位置位于非帧内预测模式的解码块中,则将参考样值判断为不存在。
进一步的,根据第一参考样值确定解码块的不存在的参考样值,包括:使用第一参考样值设置解码块的不存在的参考样值。
进一步的,第一参考样值中包含样值控制参数,根据第一参考样值确定解码块的不存在的参考样值,包括:若样值控制参数指示使用第一参考样值构造不存在的参考样值,则使用第一参考样值设置解码块的不存在的参考样值。
进一步的,第一参考样值中包含样值使用方式参数,根据第一参考样值确定解码块的不存在的参考样值,包括:若第一参考样值包含至少两个样值,则根据样值使用方式参数,使用第一参考样值中包含的样值对应设置解码块的不存在的参考样值。
示例性的,第一参考样值包括两个样值,根据样值使用方式参数或使用预先设定的规则,使用第一参考样值中包含的样值对应设置解码块的不存在的参考样值,包括:按照预设规则使用第一参考样值中的两个样值分别设置解码块左相邻参考像素点位置中不存在的参考样值,和上相邻参考像素点位置中不存在的参考样值。
可选的,根据帧内预测参考样值以及帧内预测模式构造解码块的帧内预测值,方法还包括:对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值;使用经滤波处理的参考样值,按帧内预测模式计算得到解码块的帧内预测值。
示例性的,对帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括至少以下方法:
方法一:解析码流,获得滤波控制参数,其中,滤波控制参数用于指示是否对帧内预测参考样值进行滤波;若滤波控制参数指示对帧内预测参考样值进行滤波,则对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
方法二:若解码块的大小等于预设值,则解析码流,获得滤波控制参数;当滤波控制参数指示对帧内预测参考样值进行滤波时,对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
方法三:若解码块的大小等于预设值时,对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
方法四:若解码块的帧内预测模式是预设的模式,则解析码流,获得滤波控制参数;当滤波控制参数指示对帧内预测参考样值进行滤波时,对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
方法五:若解码块的帧内预测模式是预设的模式,则对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
方法六:若解码块的大小等于预设值,并且解码块的帧内预测模式是预设的模式,则解析码流,获得滤波控制参数;当滤波控制参数指示对帧内预测参考样值进行滤波时,对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值。
方法七:若解码块的大小等于预设值,并且解码块的帧内预测模式是预设的模式时,对帧内预测参考样值进行滤处理,得到经过滤波处理的参考样值。
步骤203:根据帧内预测参考样值以及帧内预测模式构造解码块的帧内预测值;
步骤204:使用预测差参数计算解码块的预测差;
可选的,步骤204,包括:对预测差参数进行伸缩和变换处理,得到解码块的预测差。
步骤205:计算帧内预测值和预测差的和值,获得解码块的恢复值。
在实际应用中,在获得解码块的恢复值之后,方法还包括:对解码块的恢复值进行环路滤波处理得到解码值。
实施例三
参见图3,本公开的实施例提出了一种图像编码装置,包括第一参考样值确定单元3001、帧内预测值确定单元3002、预测差参数获得单元3003和编码单元3004,其中:
第一参考样值确定单元3001,用于根据编码块中的像素样值,确定编码块的第一参考样值;
帧内预测值确定单元3002,用于根据第一参考样值确定单元3001确定的第一参考样值,确定编码块的帧内预测模式,并计算编码块的帧内预测值;
预测差参数获得单元3003,用于根据编码块的原始值与帧内预测值确定单元3002计算的帧内预测值,获得预测差参数;
编码单元3004,用于对第一参考样值确定单元3001确定的第一参考样值、帧内预测值确定单元3002确定的帧内预测模式、和预测差参数获得单元3003获得的预测差参数进行编码,将编码比特写入码流。
可选的,预测差参数获得单元3003,具体用于:计算编码块的原始值与帧内预测值的差值,得到编码块的预测差值;对预测差值进行变换和量化处理,得到预测差参数。
可选的,第一参考样值确定单元3001,具体用于:判断编码块的参考样值是否存在,参考样值为编码块相邻的一个或多个像素点的已恢复像素样值;若编码块的部分或全部参考样值不存在,则根据编码块中的像素样值确定编码块的第一参考样值;
或者,判断编码块的匹配块中的参考样值是否均存在;若编码块的匹配块中的部分或全部参考样值不存在,则判断为编码块的部分或全部参考样值不存在,根据编码块中的像素样值确定编码块的第一参考样值。
可选的,第一参考样值确定单元3001,具体用于:根据编码块中的像素样值,使用软判决方法确定第一参考样值。
可选的,第一参考样值确定单元3001,具体用于:若判断编码块的全部参考样值不存在,则将第一参考样值设置为编码块原始值的平均值;若判断编码块的部分参考样值不存在,则将第一参考样值设置为编码块原始值的平均值与部分存在的参考样值均值的差值。
可选的,帧内预测值确定单元3002,具体用于:使用第一参考样值设置编码块的不存在的参考样值;根据编码块的参考样值,使用率失真优化方法确定编码块的帧内预测模式,使用帧内预测模式计算得到编码块的帧内预测值。
可选的,帧内预测值确定单元3002,具体用于:使用第一参考样值设置编码块的不存在的参考样值;对编码块的参考样值进行滤波,得到经滤波处理的参考样值;根据经滤波处理的参考样值,使用率失真优化方法确定编码块的帧内预测模式,使用帧内预测模式计算得到编码块的帧内预测值。
可选的,编码单元3004,具体用于:通过对第一参考样值进行编码获得第一参考样值的编码比特;将编码比特写入码流中的数据单元,其中,码流中的数据单元包含以下至少之一:一个或多个参数集,分片头,块层数据单元。
实施例四
参见图4,本公开的实施例提出了一种图像解码装置,包括解析单元4001、帧内预测参考样值确定单元4002、帧内预测值确定单元4003、预测差确定单元4004和恢复值获得单元4005,其中:
解析单元4001,用于解析码流获得解码块的第一参考样值、帧内预测模式和预测差参数;
帧内预测参考样值确定单元4002,用于根据解析单元4001解析的第一参考样值确定解码块的帧内预测参考样值;
帧内预测值确定单元4003,用于根据帧内预测参考样值确定单元4002确定的帧内预测参考样值以及解析单元4001解析的帧内预测模式构造解码块的帧内预测值;
预测差确定单元4004,用于使用解析单元4001解析的预测差参数计算解码块的预测差;
恢复值获得单元4005,用于计算帧内预测值确定单元4003构造的帧内预测值,和预测差确定单元4004计算的预测差的和值,获得解码块的恢复值。
可选的,解析单元4001,具体用于:解析码流中的一个或多个数据单元,获得第一参考样值,其中,数据单元包括以下至少之一:一个或多个参数集,分片头,块层数据单元。
可选的,帧内预测值确定单元4003,具体用于:对帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值;使用经滤波处理的参考样值,按帧内预测模式计算得到解码块的帧内预测值。
可选的,帧内预测参考样值确定单元4002,具体用于:判断解码块的参考样值是否存在,参考样值为解码块相邻的一个或多个像素点的已恢复像素样值;若解码块的部分或全部参考样值不存在,则根据第一参考样值确定解码块的不存在的参考样值,获得帧内预测参考样值。
或者,判断解码块的匹配块中的参考样值是否均存在;若解码块的匹配块中的部分或全部参考样值不存在,则判断为解码块的部分或全部参考样值不存在,根据第一参考样值确定解码块的不存在的参考样值,获得帧内预测参考样值。
可选的,预测差确定单元4004,具体用于:对预测差参数进行伸缩和变换处理,得到解码块的预测差。
可选的,恢复值获得单元4005,具体用于:对解码块的恢复值进行环路滤波处理得到解码值。
实施例五
参见图5,本公开的实施例提出了一种编码器的结构示意图。具体的,编码器包括划分单元201、预测单元202、第一加法器207、变换单元208、量化单元209、反量化单元210、反变换单元211、第二加法器212、滤波单元213、解码图像缓冲区214,以及熵编码单元215。其中,预测单元202包括块划分单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。
需要说明的是,编码器的输入是视频,编码器的输出是对输入视频进行编码后产生的码流。由于视频是由图像组成的图像序列,因此编码器的编码过程是对输入视频中的图像按照编码顺序依次进行编码。其中,编码顺序由编码器配置文件中设置的预测结构等参数来决定。视频中图像的编码顺序(对应于解码端的解码顺序)与图像的播放顺序可以是相同的,也可以是不同的。
划分单元201,用于接收视频图像,并按照预设配置对视频中的图像进行划分,输出最大编码单元以及该最大编码单元相关属性信息。
可以理解的是,图像可以划分成一个或多个分片,每个分片中可以包含整数个最大编码单元,也可以包含非整数个最大编码单元。其中,最大编码单元是一个正方形的图像区域。当然,图像还可以划分成一个或多个瓦片,每个瓦片中可以包含整数个最大编码单元,也可以包含非整数个最大编码单元。
需要说明的是,划分单元201可以被配置为按照固定的方式对图像进行划分,也可以被配置为动态调整图像的划分方式。例如,为了适配网络的最大传输单元(MaximumTransmission Unit,MTU),采用动态分片划分的方法,保证每个分片的编码比特数不超过MTU的限制。
预测单元202,用于将划分单元201划分的最大编码单元再划分为一个或多个编码块,并确定该编码块的预测值。
可以理解的是,预测单元202的输入包括划分单元201输出的最大编码单元以及该最大编码单元相关属性信息。其中,最大编码单元相关属性信息包括最大编码单元在图像中的位置、在分片、瓦片中的位置等。实际应用中,对最大编码单元划分的方式包括四叉树划分、二叉树划分、三叉树划分等。
需要补充的是,预测单元202还可以对划分得到的编码块进一步进行划分成更多的编码块。还可以进一步将编码块划分成一个或多个预测块来确定预测值。
可选的,预测单元202确定编码块的预测值,具体包括:根据解码图像缓冲区214中的已解码图像,确定编码块的帧间预测值;或者,根据第二加法器212输出的当前编码图像中已恢复部分(未经过滤波单元213处理),确定编码块的帧内预测值。
示例性的,预测单元202确定编码块的预测值,还包括:使用率失真优化(Rate-Distortion Optimization,RDO)方法确定编码块的预测值,并得到该预测值使用的帧间预测、帧内预测相关的输出参数。
具体的,预测单元202包括块划分单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。下面对预测单元202中的四个子单元分别进行说明:
块划分单元203,用于在最大编码单元在编码过程中,确定编码块的块划分方式。
实际应用中,划分方式可以采用四叉树划分、二叉树划分、三叉树划分中的一种或多种。
需要补充的是,块划分单元203可以将编码块划分成一个或多个编码块,划分得到的编码块可以进一步进行划分成更多的编码块。还可以将编码块划分成一个或多个预测块。
示例性的,块划分单元203使用RDO方法确定编码块的划分方式。
其中,块划分单元输出参数包括编码块的划分方式参数,这些参数用于指示编码块的划分方式。
运动预测单元204,用于将解码图像缓冲区214中的一个或多个已解码图像作为参考图像,并根据参考图像构造一个或多个参考图像列表,确定编码块在参考图像中的匹配块。
其中,每个参考图像列表中包含一个或多个参考图像。
实际中,运动预测单元204的输出用于指示匹配块位置的参数,可以包括参考图像列表指示、参考图像索引(Reference Index)、运动矢量(Motion Vector,MV)等。其中,参考图像列表指示用于指示包含匹配块的参考图像所在的参考图像列表,参考图像索引用于指示参考图像列表中包含匹配块的参考图像,MV用于指示编码块与匹配块在同一个图像像素点坐标系下相互之间的相对位置偏移量。
运动补偿单元205,用于根据匹配块构造编码块的预测值,并且计算编码块与预测值之间的差值。
实际中,运动补偿单元205的输出还包括构造编码块预测值的参数,例如对匹配块的加权值、对匹配块进行滤波处理的滤波器类型和参数等。
示例性的,运动估计单元204和运动补偿单元205联合使用RDO方法,为编码块确定率失真性能最优的匹配块以及两个单元的输出参数。
可选择地,运动估计单元204和运动补偿单元205可以使用编码块所在的当前编码图像作为参考图像,获得编码块的帧内预测值。
需要说明的是,帧内预测指的是仅使用编码块所在图像中的数据作为参考得到的预测值。在这种情况下,运动估计单元204和运动补偿单元205使用的是当前编码图像中已经部分恢复的部分,即未经过滤波单元213处理的部分,输入数据可以来自于第二加法器212的输出,例如使用一个图像缓冲区存储第二加法器212的输出数据。可选择地,这个图像缓冲区是解码图像缓冲区214中的一个特殊的图像缓冲区。
帧内预测单元206,用于确定编码块的帧内预测值。
实际应用中,帧内预测单元206根据编码块所在图像中已经部分恢复的部分,为编码块确定帧内预测参考样值,将帧内预测参考样值作为滤波器的输入值来计算编码块的帧内预测值。这里,滤波器可以是插值滤波器,也可以是低通滤波器(例如用于计算DC值的滤波器)。可选择的,帧内预测单元206使用RDO的方法确定用于计算编码块帧内预测值的方法(即帧内预测模式)以及帧内预测值。
帧内预测单元206确定编码块相邻已经部分恢复像素样值是否存在。当帧内预测单元206判断编码块的相邻样值均存在时,帧内预测单元206将相邻样值或相邻样值经过滤波处理的值设置为帧内预测参考样值。反之,当帧内预测单元206判断编码块的全部或部分样值不存在时,帧内预测单元206确定第一参考样值,并使用第一参考样值确定编码块的帧内预测参考样值。
其中,帧内预测单元206根据帧内预测模式使用的参考样值对应的相邻像素点的位置,判断相邻像素点位置上的相邻样值是否存在。通常情况下,帧内预测单元206通过以下方式判断编码块的相邻样值是否存在:
1、编码块的参考像素点位置上的像素尚未编码时,对应相邻样值不存在;
2、编码块位于图像的边界位置时,图像边界外的参考像素点位置上不存在相邻样值。例如,编码块位于图像的上边界时,编码块上相邻样值不存在;
3、位于不同于编码块所在分片的相邻样值不存在;
4、位于不同于编码块所在瓦片的相邻样值不存在。
5、在使用帧内预测受限的情况下,位于非帧内预测编码的编码块中的相邻样值不存在。
需要说明的是,帧内预测单元206确定第一参考样值的方法包括多种,一种是,帧内预测单元206将第一参考样值的取值设置为编码块的不存在的相邻样值(例如,当编码块位于分片边界时,使用编码块的位于不同分片中的相邻样值设置第一参考样值)。另一种是,帧内预测单元206根据编码块中待编码的像素样值确定第一参考样值。再一种是,帧内预测单元206使用软判决(Soft Decision)的方法,在RDO的过程中计算第一参考样值。
其中,软判决可以使用如下的约束最优化问题进行表述:
约束最优化1:min D=∑kd(xk,pk)s.t.R≤RC
其中,D表示编码块的编码失真;k的遍历范围是编码块中的全部像素;d(a,b)表示a和b之间的误差值,可采用的误差准则包括均方误差准则(Mean Square Error,MSE)、绝对误差和(Sum of Absolute Value,SAD)、也可以是与人眼视觉系统(Human Visual System,HVS)相关的感知误差准则;xk是编码块中待编码像素样值;pk是xk的预测值,在帧内预测过程中,帧内预测单元206使用帧内预测参考样值根据帧内预测模式计算pk取值;R表示编码块的编码比特开销,包括编码块的编码模式信息的开销、第一参考样值的开销、预测差编码开销等,R的值可以根据编码块的模式、预测差、量化参数等估计得到(例如使用率失真(Rate-Distortion,RD)模型估计得到),也可以对编码块进行实际编码得到;RC是编码块编码比特开销的上限值,编码器可以使用码率控制(Rate Control,RC)单元中对编码块的比特分配(Bit Allocation)过程确定。
需要说明的是,约束最优化1中,根据帧内预测计算过程,pk的值根据帧内预测参考样值和帧内预测模式确定,而帧内预测参考样值由第一参考样值确定。因此,帧内预测单元206对约束最优化1进行求解,可以同时确定最优的第一参考样值和帧内预测模式。帧内预测单元206可使用现有算法求解约束最优化1。
可以理解的是,为降低计算复杂度,使用Lagrange因子法,约束最优化1可以转换为无约束最优化问题:
无约束最优化1:(r,m)opt=arg min(D+λ·R)
其中,r是第一参考样值;m是编码块的帧内预测模式;D和R与约束最优化1中的D和R相同;λ是Lagrange因子,一种常用的方法是,编码器可使用λ与量化参数(QuantizationParameter,QP)之间的函数关系确定λ的取值。编码器在RC单元中可以确定QP的取值。帧内预测单元206对无约束最优化1进行求解,可以同时确定最优的第一参考样值和帧内预测模式。帧内预测单元206可使用现有算法求解无约束最优化1。
通常情况下,与求解约束最优化1相比,帧内预测单元206求解无约束最优化1所需的计算复杂度较低。尽管如此,在无约束最优化1的基础上,帧内预测单元206可以根据编码块的相邻像素的位置和所使用的帧内预测模式,使用近似的方法求解无约束最优化1,从而进一步降低计算复杂度。
具体的,帧内预测单元206可以为解码块确定一个或多个第一参考样值,对于第一参考样值中包含多个样值的情况,进一步确定第一参考样值中样值的使用方式指示参数,用于指示在确定不同位置的帧内预测参考样值过程中使用的第一参考样值中的样值。例如,对编码块左相邻样值和上相邻样值使用取值不同的第一参考样值。这里,指示参数也包含在第一参考样值中。
可选择地,帧内预测单元206可以根据预先设定的规则推导指示参数。例如,当第一参考样值中包含两个参考样值时,帧内预测单元206使用的预先设定的规则是:按照将第一参考样值中的样值写入码流的顺序,第一个样值用于构造编码块的左相邻帧内预测参考样值,第二个样值用于构造编码块的上相邻帧内参考样值。
可选择地,帧内预测单元206还可以根据编码块在图像中的位置、编码块的帧内预测模式推导指示参数。
例如,当第一参考样值中包含两个参考样值时,帧内预测单元206使用的预先设定的规则是:按照将第一参考样值中的样值写入码流的顺序,第一个样值用于构造编码块的左相邻帧内预测参考样值,第二个样值用于构造编码块的上相邻帧内参考样值,当编码块位于图像左边界(编码块的左相邻样值在图像中不存在)且不是图像上边界(编码块的上相邻样值在图像中存在)时,如果编码块的上边界是分片或瓦片的边界(编码块的上相邻样值不能作为帧内预测参考样值),在编码块使用DC模式时,使用第二个样值作为该模式下编码块的左相邻样值和上相邻样值。
可选择地,帧内预测单元206在编码块所在图像中已经部分恢复的部分中搜索编码块的匹配块,将匹配块作为编码块的帧内预测值。
这种情况下,帧内预测单元206的输出参数还包括用于指示匹配块位置的信息,例如,在同一个图像坐标系下,编码块与匹配块在图像中位置的相对偏移量。需要说明的是,帧内预测单元206的输出参数包括第一参考样值、用于指示帧内预测模式的参数。
第一加法器207,用于计算编码块的原始值与预测值之间的预测差值。其中,预测差值是变换单元208的输入值。
变换单元208,用于对预测差值进行变换,输出预测差值进行变换后得到的变换系数。
实际应用中,变换单元208可以使用一种或多种变换方法对预测差值进行变换。从信号处理的角度,每一种变换方法都可以用一个变换矩阵来表示。变换单元208可以使用与编码块大小和形状相同的矩形块(这里,正方形是矩形的特例)作为预测差值的变换块,也可以将预测差值划分成多个矩形块(包括高度为一个像素的情况)并分别对矩形块依次进行变换处理。
可选择地,变换单元208可以对预测差值进行多次变换。在可以使用多种变换方法、对预测差值划分成多个矩形块进行变换、对预测差进行多次变换的情况下,变换单元208使用RDO的方法确定用于预测差值的变换参数,变换参数与用于指示变换过程的执行方式。变换单元208将变换参数作为输出参数。
量化单元209,用于对变换单元208输出的是预测差值进行变换后得到的变换系数进行量化处理,输出变换系数的量化值。
通常,量化单元可以使用的量化器包括标量量化器和矢量量化器。在视频编码器中,量化单元209使用标量量化器对变换系数进行量化,量化器的量化参数由编码器控制(Code Control)单元确定。例如,编码器控制单元可以使用已有的码率控制方法,确定量化器的量化步长,并根据编码器中量化步长与QP的对应关系确定QP。量化单元209的相关参数是QP。
反量化单元210,用于使用与量化单元209相同的QP,对变换系数的量化值进行缩放(Scaling)操作,得到变换系数的恢复值。
反变换单元211,用于使用与变换单元208中使用的变换的逆变换对变换系数的恢复值进行处理,得到预测差的恢复值。
第二加法器212,用于根据预测差的恢复值和预测单元202输出的编码块的预测值,计算编码块的恢复值,并将编码块的恢复值存储至图像缓冲区。
其中,图像缓冲区可以是对图像编码过程中单独分配的一段存储空间,也可以是解码图像缓冲区214中的一个的图像缓冲区。
滤波单元213,用于对图像缓冲区中的数据进行滤波处理,得到图像的解码图像。
实际中,滤波单元213可以是一种或多种滤波器级联构成。例如,在H.265/HEVC标准中,滤波单元213由去方块滤波和采样值自适应加性偏移量补偿滤波器(SampleAdaptive Offset,SAO)两个滤波器级联构成。滤波单元213也可以包括神经网络滤波器。
可选择地,滤波单元213对图像缓冲区中的数据进行滤波的操作可以在图像层进行操作,即等待图像中的全部编码块的恢复值均写入了图像缓冲区后,对图像缓冲区中的数据进行滤波处理。
可选择地,滤波单元213对图像缓冲区中的数据进行滤波的操作可以在块层进行操作,即当某个编码块的恢复数据不再用做后续编码块的参考数据时,对该编码块的恢复数据进行滤波处理。
滤波单元213使用现有RDO方法确定滤波器参数,并将其作为滤波单元213的输出参数。滤波器参数包括所使用的滤波器的指示信息、滤波器系数、滤波器的控制参数。
解码图像缓冲区214,用于存储滤波单元213输出的解码图像。
解码图像缓冲区214确定解码图像管理相关的参数指令,用于控制解码图像在解码图像缓冲区214中的存储时长和输出等操作。在本实施例中,这些参数指令可作为解码图像缓冲区214的输出参数。
熵编码单元215,用于对图像的编码数据进行二值化和熵编码,将参数转换为符合标准的由一个或多个“0”、“1”比特组成的字段,并根据标准中码流语法结构(SyntaxStructure)将字段组织成码流。
其中,熵编码数据包括图像的纹理数据和非纹理数据。其中,纹理数据主要是编码块的变换系数的量化值;非纹理数据包括除纹理数据外的其他所有数据,包括前述编码器中各单元的输出参数、以及参数集、头信息、辅助信息等参数。熵编码单元215根据视频编码标准的码流组织形式生成码流。
实施例六
参见图6,本公开的实施例提出了一种解码器的系统架构示意图,用于解码前述编码器所产生的码流。解码器包括解析单元301、预测单元302、反量化单元305、反变换单元306、加法器307、滤波单元308,以及解码图像缓冲区309。其中,预测单元302包括运动补偿单元303和帧内预测单元304。
需要说明的是,解码器的输入是码流,输出是对输入码流进行解码后产生的解码视频。
解析单元301,用于对输入码流进行解析,使用标准中规定的熵解码方法和二值化方法,将码流中各字段对应的一个或多个“0”、“1”比特串转换成对应参数的取值。解析单元301根据参数的取值,推导得到其他参数的取值,例如,当码流中的标志位取值指示解码块是图像中的第一个解码块时,将用于指示解码块所在分片中第一个解码块在图像中的地址参数设置为0。
进一步的,解析单元301将用于构造解码块预测值的参数传递给预测单元302。这里,用于构造解码块预测值的参数包括前述编码器中划分单元201、预测单元202的输出参数。
进一步的,解析单元301将用于构造解码块预测差恢复值的参数传递给反量化单元305、反变换单元306。这里,用于构造解码块预测差恢复值的参数包括前述编码器中变换单元208、量化单元209的输出参数,以及前述编码器中量化参数209输出的变换系数的量化值。
预测单元302,用于根据用于构造解码块预测值的参数构造解码块的预测值。
需要说明的是,预测单元302的输入还包括加法器307输出的当前解码图像中已经部分恢复的部分(未经过滤波单元308处理)、解码图像缓冲区309中存储的已解码图像。
示例性的,当参数指示解码块使用帧间预测时,预测单元302使用与前述编码器中运动预测单元204相同的方法,构造一个或多个参考图像列表,每个参考图像列表中包含一个或多个参考图像,参考图像来自于解码图像缓冲区309。运动补偿单元303根据解析单元301所传递的参考图像列表指示、参考图像索引、运动矢量,在参考图像中确定解码块的一个或多个匹配块,使用与前述编码器中运动补偿单元205相同的方法确定帧间预测值。预测单元302将运动补偿单元303输出的帧间预测值作为解码块的预测值。
可选择地,运动补偿单元303可以使用解码块所在的当前解码图像作为参考图像,获得解码块的帧内预测值。
这里,帧内预测指的是仅使用解码块所在图像中的数据作为参考得到的预测值。在这种情况下,运动补偿单元303使用的是当前解码图像中已经部分恢复的部分(未经过滤波单元308处理),输入数据可以来自于加法器307的输出,例如使用一个图像缓冲区存储加法器307的输出数据,可选择地,这个图像缓冲区是解码图像缓冲区309中的一个特殊的图像缓冲区。
示例性的,当参数指示解码块使用帧内预测时,预测单元302根据用于构造解码块预测值的参数构造解码块的预测值。帧内预测单元304获得用于构造解码块预测值的参数中的第一参考样值。当帧内预测单元304判断解码块的相邻样值均存在时,帧内预测单元304将相邻样值或相邻样值经过滤波处理的值设置为帧内预测参考样值。反之,当帧内预测单元304判断解码块的全部或部分样值不存在时,帧内预测单元304使用第一参考样值确定解码块的帧内预测参考样值。
其中,帧内预测单元304使用以下条件判断解码块的相邻样值是否存在:
-解码块的参考像素点位置上的像素尚未解码时,对应相邻样值不存在;
-解码块位于图像的边界位置时,图像边界外的参考像素点位置上不存在相邻样值。例如,解码块位于图像的上边界时,解码块上相邻样值不存在;
-位于不同于解码块所在分片的相邻样值不存在;
-位于不同于解码块所在瓦片的相邻样值不存在;
-在使用帧内预测受限的情况下,位于非帧内预测解码的解码块中的相邻样值不存在。
具体的,帧内预测单元304设置第一参考样值的方法包括多种,一种方法是,帧内预测单元304将解码块的帧内预测参考像素点位置上不存在的像素样值设置为第一参考样值的取值。如果第一参考样值中仅包含一个样值,当解码块的相邻样值全部或部分不存在时,帧内预测单元304将解码块的相邻样值设置为第一参考样值的取值。
可选择地,如果第一参考样值中包含多个样值时,帧内预测单元304可以根据第一参考样值中的参考样值的使用方式指示参数,确定不同位置的帧内预测参考样值过程中使用的第一参考样值中的样值,例如,对解码块左相邻样值和上相邻样值使用取值不同的第一参考样值。
可选择地,帧内预测单元304可以根据预先设定的规则推导指示参数。例如,当第一参考样值中包含两个参考样值时,帧内预测单元304使用的预先设定的规则是:按照将第一参考样值中的样值在码流中的先后顺序(即两个样值的解析顺序),将第一个样值用于构造解码块的左相邻帧内预测参考样值,将第二个样值用于构造解码块的上相邻帧内参考样值。
可选择地,帧内预测单元304可以根据解码块在图像中的位置、解码块的帧内预测模式推导指示参数。例如,当第一参考样值中包含两个参考样值时,帧内预测单元304使用的预先设定的规则是:按照第一参考样值中的样值在码流中的先后顺序(即两个样值的解析顺序),将第一个样值用于构造解码块的左相邻帧内预测参考样值,将第二个样值用于构造解码块的上相邻帧内参考样值,当解码块位于图像左边界(解码块的左相邻样值在图像中不存在)且不是图像上边界(解码块的上相邻样值在图像中存在)时,如果解码块的上边界是分片或瓦片的边界(解码块的上相邻样值不能作为帧内预测参考样值),在解码块使用DC模式时,将第二个样值作为该模式下解码块的左相邻样值和上相邻样值。
帧内预测单元304根据用于构造解码块预测值的参数,确定帧内预测模式,使用与前述编码器中帧内预测单元206相同的方法,使用帧内预测参考样值计算解码块的帧内预测值。可选择地,当用于构造解码块预测值的参数指示使用匹配块构造解码块的预测值时,帧内预测单元304从用于构造解码块预测值的参数中获得解码块与匹配块之间位置偏移量,在解码块所在的当前部分解码图像中获得匹配块,将匹配块设置为解码块的帧内预测值。预测单元302将帧内预测单元304输出的帧内预测值作为解码块的预测值。
反量化单元305,用于接收用于构造解码块预测差恢复值的参数中QP和变换系数的量化值。反量化单元305使用QP,对变换系数的量化值进行缩放操作,得到变换系数的恢复值。因此,解码器中的反量化单元也可以称为缩放(Scaling)单元。
反量化单元305,向反变换单元306输出变换系数的恢复值、用于构造解码块预测差恢复值的参数中前述编码器中变换单元208所输出的变换参数。
反变换单元306,使用与前述编码器中反变换单元211相同的方法计算得到解码块的预测差的恢复值。
这里需要说明的是,这里的“反变换”是相对于编码器中的“变换”来说的。在视频编码标准中,规定的是反变换单元306所使用的变换方法,即解码器将变换系数的恢复值转换为预测差的恢复值所使用的变换方法。
加法器307,根据反变换单元306输出的预测差的恢复值和预测单元302输出的解码块的预测值,计算解码块的恢复值,并将解码块的恢复值存储至图像缓冲区。
其中,图像缓冲区可以是对图像解码过程中单独分配的一段存储空间,也可以是解码图像缓冲区309中的一个的图像缓冲区。
滤波单元308,用于接收解析单元301输出的滤波器参数,并根据滤波器参数对图像缓冲区中的数据进行滤波处理,得到图像的解码图像。
其中,滤波器参数是前述编码器中滤波单元213的输出参数,包括所使用的滤波器的指示信息、滤波器系数、滤波器的控制参数。
实际中,滤波单元308可以是一种或多种滤波器级联构成。例如,在H.265/HEVC标准中,滤波单元308由去方块滤波和采样值自适应加性偏移量补偿滤波器两个滤波器级联构成。滤波单元308也可以包括神经网络滤波器。可选择地,滤波单元308对图像缓冲区中的数据进行滤波的操作可以在图像层进行操作,即等待图像中的全部解码块的恢复值均写入了图像缓冲区后,对图像缓冲区中的数据进行滤波处理。可选择地,滤波单元308对图像缓冲区中的数据进行滤波的操作可以在块层进行操作,即当某个解码块的恢复数据不再用做后续解码块的参考数据时,对该解码块的恢复数据进行滤波处理。
解码图像缓冲区309,用于存储滤波单元308输出的解码图像。
进一步地,解码器使用解析单元301输出的解码图像管理相关的参数指令(即前述编码器中解码图像缓冲区214的输出参数),控制解码图像在解码图像缓冲区309中的存储时长和输出等操作。
实施例七
参见图7,本公开的实施例提出了一种编码器的帧内预测单元的结构示意图。帧内预测单元206包含相邻样值检测单元401、相邻样值处理单元402、帧内预测模式选择单元403和帧内预测计算单元404。
需要说明的是,数据流指的是软件实现上函数的入口参数和返回参数,硬件实现上总线上传递的数据、存储单元之间共享的数据(包括寄存器共享数据)等。
相邻样值检测单元401,用于接收当前编码图像中已经部分恢复的部分数据,并生成编码块的相邻样值信息。
可选的,编码块的相邻样值信息包括相邻样值所在相邻像素点的位置、相邻样值是否存在、相邻样值的取值(若相邻样值存在)。
可选的,当前编码图像中已经部分恢复的部分数据包括码块在图像中的位置信息、以及编码块在图像划分(例如分片)中的位置信息。
具体的,输入数据包括数据流40,输出数据是数据流41。数据流40是前述编码器在编码编码块之前,第二加法器212输出数据,是当前编码图像中已经部分恢复的部分数据(未经过前述编码器中滤波单元213处理)。数据流40中也包括编码块在图像中的位置信息、以及编码块在图像划分(例如分片)中的位置信息,这些位置信息的来源包括前述编码器中块划分单元201、块划分单元203的输出数据。数据流41是相邻样值检测单元401的输出数据,是编码块的相邻样值信息,包括相邻样值所在相邻像素点的位置、相邻样值是否存在、相邻样值的取值(若相邻样值存在)。
相邻样值处理单元402,用于接收编码块的相邻样值信息、帧内预测模式指示信息以及编码块的原始值,并生成帧内预测参考样值。
具体的,相邻样值处理单元402的输入是数据流41、数据流43和数据流44,输出是数据流42。数据流41是相邻样值检测单元401的输出。数据流43是帧内预测模式选择单元403提供的,包含的是帧内预测模式指示信息。数据流44是前述编码器中块划分单元201输出数据,是编码块的原始值。相邻样值处理单元402的输出数据流42是帧内预测参考样值。
帧内预测模式选择单元403,用于接收帧内预测参考样值和编码块的原始值,生成帧内预测模式指示信息。
具体的,帧内预测模式选择单元403的输入是数据流42、数据流44,输出是数据流45。数据流42是相邻样值处理单元402的输出数据。数据流44是前述编码器中块划分单元201的输出数据,是编码块的原始值。数据流45是帧内预测模式指示信息(即帧内预测模式的模式索引),指示对编码块进行编码使用的帧内预测模式,用于计算编码块的帧内预测值。数据流45也包含数据流42中的帧内预测参考样值。
帧内预测计算单元404,用于根据帧内预测参考样值和帧内预测模式指示信息,计算得到编码块的帧内预测值。
帧内预测计算单元404的输入是数据流45,输出是数据流46。数据流45是帧内预测模式选择单元403的输出数据。数据流46是帧内预测计算单元404使用数据流45中的帧内预测参考样值,按照数据流45中帧内预测模式指示信息所指示的帧内预测模式,计算得到编码块的帧内预测值。
可选择地,在编码器中可以不存在帧内预测计算单元404。帧内预测模式选择单元403在为编码块选择最优编码模式的过程中,对部分或全部候选帧内预测模式进行遍历,分别计算候选模式下编码块的帧内预测值,选择可最小化编码块的编码失真与编码比特加权和的帧内预测模式作为编码块的最优帧内预测模式,同时输出该最优帧内预测模式的指示信息和对应的帧内预测值,即帧内预测模式选择单元403输出的数据流45中,包含编码块的最优帧内预测模式的指示信息和帧内预测值。
帧内预测单元206可使用帧内预测方法1和帧内预测方法2计算编码块的帧内预测值。帧内预测方法帧内预测方法1,其中,“Curr”表示的是编码块,其相邻已解码像素点使用灰色表示。图8为本发明实施例提供的一种帧内预测方法的示意图,图8中,示例性地标示出编码块的上相邻和左相邻已解码像素点。在多种不同的编码顺序下,编码块的右相邻或下相邻也可能存在已解码像素点。帧内预测方法1包含一种或多种帧内预测模式,例如,直流预测模式、平面预测模式、方向性插值预测模式等。在使用帧内预测方法1时,帧内预测单元206中的帧内预测模式选择单元403输出的是指示所使用的帧内预测模式的参数。
图9为本发明实施例提供的另一种帧内预测方法的示意图,其中,“Curr”表示的是编码块,灰色区域表示对编码块进行编码前,编码块所在图像中已经部分恢复的部分数据,“Ref”表示编码块的匹配块。在使用帧内预测方法2时,帧内预测模式选择单元403输出的是指示构造匹配块的参数,例如,匹配块在图像中的位置参数。帧内预测方法2也可以包含一种或多种帧内预测模式,例如,块匹配模式、串匹配模式等。
通常情况下,帧内预测单元206使用帧内预测方法1。在允许使用帧内预测方法2的编码器中,帧内预测单元206中的帧内预测模式选择单元403的输出数据流45中还包含帧内预测方法的指示信息,指示使用帧内预测方法1还是帧内预测方法2计算编码块的帧内测值。
相邻样值检测单元401根据数据流40中编码块的位置信息,确定编码块在图像中的位置。对于帧内预测方法1,相邻样值检测单元401判断在数据流40的图像中已经部分恢复的部分数据中与编码块相邻的像素点位置的像素样值是否存在。相邻样值检测单元401使用的判断方法如下。相邻样值检测单元401将帧内预测方法1相关的相邻样值信息包含进入数据流41。
-编码块的参考像素点位置上的像素尚未编码时,对应相邻样值不存在。
-编码块位于图像的边界位置时,图像边界外的参考像素点位置上不存在相邻样值。例如,编码块位于图像的上边界时,编码块上相邻样值不存在。
-位于不同于编码块所在分片的相邻样值不存在。
-位于不同于编码块所在瓦片的相邻样值不存在。
-在使用帧内预测受限的情况下,位于非帧内预测编码的编码块中的相邻样值不存在。
可选择地,当编码器允许使用帧内预测方法2时,相邻样值检测单元401判断图9中“Ref”块中所有样值均存在的范围,当“Ref”块位于范围内时,“Ref”块中所有样值均存在;反之,“Ref”块中的部分或全部样值均不存在。相邻样值检测单元401使用与上述用于帧内预测方法1相同的判断方法,确定“Ref”块中所有样值均存在的范围。相邻样值检测单元401将帧内预测方法2相关的相邻样值信息包含进入数据流41。
相邻样值处理单元402对数据流41的数据进行处理。对于帧内预测方法1相关数据,当数据流41中的相邻样值均存在时,相邻样值处理单元402可选择地对数据流41中的相邻样值进行滤波处理。
可选择地,一种滤波处理方法是,相邻样值处理单元402可以使用已有RDO方法确定是否对相邻样值进行滤波,并产生标志信息指示是否对相邻样值进行滤波。
可选择地,为降低相邻样值处理单元402的计算复杂度,一种方法是对特定大小的块判断是否使用滤波。具体的,当编码块的大小等于预先设定的值或者预先设定的多个值之一时,相邻样值处理单元402使用已有RDO方法确定是否对编码块的相邻样值进行滤波,并产生标志信息指示是否对相邻样值进行滤波。可选择地,为降低相邻样值处理单元402的计算复杂度,一种方法是,当编码块的大小等于预先设定的值或者预先设定的多个值之一时,相邻样值处理单元402对编码块的相邻样值进行滤波。
可选择地,为降低相邻样值处理单元402的计算复杂度,一种方法是对特定帧内预测模式判断是否使用滤波。具体的,如果数据流43中的帧内预测模式是预先设定的模式或预先设定的多个模式之一时,相邻样值处理单元402使用已有RDO方法确定是否对编码块的相邻样值进行滤波,并产生标志信息指示是否对相邻样值进行滤波。可选择地,为降低相邻样值处理单元402的计算复杂度,一种方法是,如果数据流43中的帧内预测模式是预先设定的模式或预先设定的多个模式之一时,相邻样值处理单元402对编码块的相邻样值进行滤波。
可选择地,为降低相邻样值处理单元402的计算复杂度,一种方法是对特定大小的块、特定帧内预测模式判断是否使用滤波。具体的,当编码块的大小等于预先设定的值或者预先设定的多个值之一、并且数据流43中的帧内预测模式是预先设定的模式或预先设定的多个模式之一时,相邻样值处理单元402使用已有RDO方法确定是否对编码块的相邻样值进行滤波,并产生标志信息指示是否对相邻样值进行滤波。可选择地,为降低相邻样值处理单元402的计算复杂度,一种方法是,当编码块的大小等于预先设定的值或者预先设定的多个值之一、并且数据流43中的帧内预测模式是预先设定的模式或预先设定的多个模式之一时,相邻样值处理单元402对编码块的相邻样值进行滤波。相邻样值处理单元402将编码块的相邻样值包含进数据流42。
对于帧内预测方法1相关数据,当数据流41中的相邻样值中部分存在或全部都不存在时,相邻样值处理单元402确定第一参考样值。相邻样值处理单元402确定第一参考样值的输入数据是数据流41中的相邻样值(若相邻样值部分存在)和相邻样值对应的相邻像素点位置、数据流43中的候选帧内预测模式和数据流44中的编码块原始值。相邻样值处理单元402使用前述实施例中约束最优化1或无约束最优化1的方法,计算第一参考样值。需要说明的是,约束最优化1或无约束最优化2的方法中,使用的第一参考样值可以是一个也可以是多个。在第一参考样值是多个的情况下,相邻样值处理单元402需要记录不同第一参考样值的使用方式参数,参数用于指示不同第一参考样值在设置相邻样值中的使用方式。相邻样值处理单元402将不存在的相邻样值的取值设置为第一参考样值的取值,将输入数据流41中相邻样值均设置为“存在”或“可用”。可选择地,相邻样值处理单元402可使用前述滤波方法,对相邻样值进行滤波处理。相邻样值处理单元402将经过滤波处理或不经过滤波处理的数据包含进数据流42。
为降低计算复杂度,相邻样值处理单元402可使用简化的方法确定第一参考样值。一种方法是,若数据流41指示编码块的相邻样值均不存在,相邻样值处理单元402将第一参考样值设置为数据流44中编码块原始值的平均值。一种方法是,当数据流43中的帧内预测模式信息指示DC模式时,相邻样值处理单元402将第一预参考的取值设置为数据流44中编码块原始值的平均值与数据流41中部分存在的相邻样值(若有)均值的差值。一种方法是,相邻样值处理单元402将第一预参考的取值设置为数据流44中编码块原始值的平均值与数据流41中部分存在的相邻样值(若有)均值的差值。
帧内预测模式选择单元403为编码块确定帧内预测模式。帧内预测模式选择单元403可使用已有RDO方法确定编码块的帧内预测模式。在实现方法上,帧内预测模式选择单元403可以与相邻样值处理单元402一起使用联合优化的方法确定帧内预测模式和第一参考样值。例如,帧内预测模式选择单元403将候选帧内预测模式通过数据流43传递给相邻样值处理单元402;相邻样值处理单元402确定该候选帧内预测模式下的第一参考样值,使用该第一参考样值设置相邻样值,并将处理后的相邻样值通过数据流42传递给帧内预测模式选择单元403;帧内预测模式选择单元403使用数据流42中的相邻样值计算候选帧内预测模式的代价函数值。在上述联合优化过程中,如果相邻样值处理单元402使用约束最优化1或者无约束最优化2的方法确定第一参考样值,则相邻样值处理单元402也同时确定了候选帧内预测模式的代价函数值,在这种情况下,相邻样值处理单元402也将代价函数值通过数据流42传递给帧内预测模式选择单元403。帧内预测模式选择单元403比较各候选帧内预测模式的代价函数值,选择代价函数值最小的候选帧内预测模式,作为编码块的帧内预测模式。
对于帧内预测方法2相关数据,相邻样值处理单元402确定第一参考样值的方法与上述用于帧内预测方法1的方法相似。不同之处在于,当允许使用帧内预测方法2时,帧内预测模式选择单元403包含在数据流43中的是图9中“Ref”块在图像中的位置。当相邻样值处理单元402判断“Ref”块中样值不是全部位于数据流41中指示的“Ref”块中所有样值均存在的范围内时,相邻样值处理单元402可使用约束最优化1或无约束最优化2的方法确定第一参考样值,将“Ref”块中不存在的样值设置为第一参考样值。与前述用于帧内预测方法1的方法类似,约束最优化1或无约束最优化2的方法中,使用的第一参考样值可以是一个也可以是多个。在第一参考样值是多个的情况下,相邻样值处理单元402需要记录不同第一参考样值的使用方式参数,参数用于指示不同第一参考样值在设置相邻样值中的使用方式。
与前述用于帧内预测方法1的方法类似,对于帧内预测方法2相关数据,为降低计算复杂度,相邻样值处理单元402可使用简化的方法确定第一参考样值。例如,一种方法是,相邻样值处理单元402将第一预参考的取值设置为数据流44中编码块原始值的平均值与数据流41中部分存在的相邻样值(若有)均值的差值,特殊地,若数据流41指示编码块的相邻样值均不存在,相邻样值处理单元402将第一参考样值设置为数据流44中编码块原始值的平均值。
与前述用于帧内预测方法1的方法类似,对于帧内预测方法2相关数据,帧内预测模式选择单元403为编码块确定“Ref”块的位置。帧内预测模式选择单元403可使用已有RDO方法确定编码块的“Ref”块的位置。在实现方法上,帧内预测模式选择单元403可以与相邻样值处理单元402一起使用联合优化的方法确定“Ref”块的位置和第一参考样值。例如,帧内预测模式选择单元403将候选“Ref”块的位置通过数据流43传递给相邻样值处理单元402;相邻样值处理单元402确定该候选“Ref”块的位置的第一参考样值,使用该第一参考样值设置“Ref”块中样值,并将处理后的“Ref”块中样值通过数据流42传递给帧内预测模式选择单元403;帧内预测模式选择单元403使用数据流42中的“Ref”块中样值计算候选“Ref”块的位置的代价函数值。在上述联合优化过程中,如果相邻样值处理单元402使用约束最优化1或者无约束最优化2的方法确定第一参考样值,则相邻样值处理单元402也同时确定了候选“Ref”块的位置的代价函数值,在这种情况下,相邻样值处理单元402也将代价函数值通过数据流42传递给帧内预测模式选择单元403。帧内预测模式选择单元403比较各候选“Ref”块的位置的代价函数值,选择代价函数值最小的候选“Ref”块的位置,作为编码块的“Ref”块的位置,并通过数据流45输出用于指示“Ref”块的位置的参数,参数表示为在同一图像坐标系下编码块与“Ref”块之间的位置偏移量。
需要说明的是,可选择地,当数据流41中的相邻样值中部分存在或全部都不存在时,相邻样值处理单元402可以将不存在的相邻样值或“Ref”块中不存在的样值设置为默认值(例如背景技术介绍部分的“1<<(BitDepth–1)”)。前述相邻样值处理单元402和帧内预测模式选择单元403的联合优化方法将默认值作为前述一个候选第一参考样值。当使用默认值时,相邻样值处理单元402在数据流42中增加一个用于指示使用默认值的标志位。
实施例八
图10为本发明实施例提供的一种编码器的熵编码单元对帧内预测单元输出参数进行编码的数据处理的流程示意图。处理流程的输入是帧内预测单元206输出参数,处理流程的输出是帧内预测模式和第一参考样值对应的码流。
步骤501,编码第一参考样值。
除样值外,可选择地,第一参考样值还可以包含样值控制参数,样值控制参数指示使用第一参考样值还是默认值确定使用帧内预测模式对编码块进行编码过程中的不存在的相邻样值。样值控制参数包括以下至少之一的控制参数:序列层样值控制参数,图像层样值控制参数,分片层样值控制参数,块层样值控制参数。
序列层样值控制参数用于指示是否需要对整个视频中的图像使用第一参考样值确定使用帧内预测模式对编码块进行编码过程中的不存在的相邻样值。当序列层样值控制参数的取值指示为“是”时,帧内预测单元206在编码块的部分或全部相邻样值不存在的情况下,确定编码块的第一参考样值;反之,当序列层样值控制参数的取值指示为“否”时,帧内预测单元206将不存在的相邻样值设置为默认值。熵编码单元215在有效范围可以是整个视频的参数集中编码序列层样值控制参数。可选择地,当序列层样值控制参数的取值指示为“是”时,熵编码单元215可以在有效范围可以是整个视频的参数集中编码第一参考样值的样值取值,该样值取值可用于整个视频中使用帧内预测模式的编码块。
图像层样值控制参数用于指示是否需要对一个图像使用第一参考样值确定使用帧内预测模式对编码块进行编码过程中的不存在的相邻样值。当图像层样值控制参数的取值指示为“是”时,帧内预测单元206在编码块的部分或全部相邻样值不存在的情况下,确定编码块的第一参考样值;反之,当图像层样值控制参数的取值指示为“否”时,帧内预测单元206将不存在的相邻样值设置为默认值。熵编码单元215在有效范围可以是一个图像的参数集中编码图像层样值控制参数。可选择地,当图像层样值控制参数的取值指示为“是”时,熵编码单元215可以在有效范围可以是一个图像的参数集中编码第一参考样值的样值取值,该样值取值可用于一个图像中使用帧内预测模式的编码块。
分片层样值控制参数用于指示是否需要对一个分片使用第一参考样值确定使用帧内预测模式对编码块进行编码过程中的不存在的相邻样值。当分片层样值控制参数的取值指示为“是”时,帧内预测单元206在编码块的部分或全部相邻样值不存在的情况下,确定编码块的第一参考样值;反之,当分片层样值控制参数的取值指示为“否”时,帧内预测单元206将不存在的相邻样值设置为默认值。熵编码单元215在分片头中编码分片层样值控制参数。可选择地,当分片层样值控制参数的取值指示为“是”时,熵编码单元215可以在分片头中编码第一参考样值的样值取值,该样值取值可用于一个分片中使用帧内预测模式的编码块。
块层样值控制参数用于指示是否需要对一个编码块使用第一参考样值确定使用帧内预测模式对编码块进行编码过程中的不存在的相邻样值。当块层样值控制参数的取值指示为“是”时,帧内预测单元206在编码块的部分或全部相邻样值不存在的情况下,确定编码块的第一参考样值;反之,当块层样值控制参数的取值指示为“否”时,帧内预测单元206将不存在的相邻样值设置为默认值。熵编码单元215在编码块的数据单元中编码块层样值控制参数。可选择地,当块层样值控制参数的取值指示为“是”时,熵编码单元215可以在编码块的数据单元中编码第一参考样值的样值取值,该样值取值可用于一个编码块的数据单元中使用帧内预测模式的编码块或该编码块的划分。
可选择地,编码器可以将块层样值控制参数以及对应的第一参考样值有效范围设置为一个分片。一种实施方法是,编码器在分片中第一个使用帧内预测模式、并且使用第一参考样值构造编码块的相邻样值时,熵编码单元215在该编码块的数据单元中编码块层样值控制参数以及第一参考样值。编码器对分片中后续使用帧内预测模式的编码块使用相同的编码块层样值控制参数、第一参考样值,熵编码单元215不再为这些编码块编码块层样值控制参数、第一参考样值。
可选择地,编码器可以将块层样值控制参数以及对应的第一参考样值有效范围设置为一个分片。一种实施方法是,编码器在分片中第一个使用帧内预测模式、并且使用第一参考样值构造编码块的相邻样值时,熵编码单元215在该编码块的数据单元中编码块层样值控制参数(记为“控制参数1”)以及第一参考样值(记为“样值1”)。如果编码器在对分片中后续使用帧内预测模式的编码块编码过程中使用了控制参数1和样值1,熵编码单元215不再为该编码块编码块层样值控制参数、第一参考样值。如果编码器在对分片中后续某个使用帧内预测模式的编码块编码过程中使用了与控制参数1或样值1不同的块层样值控制参数(记为“控制参数2”、“样值2”),熵编码单元215在该编码块的数据单元中编码“控制参数2”和“样值2”。
特殊地,如果编码器将图7中相邻样值处理单元402设置为以编码块大小来作为是否使用第一参考样值构造编码块的帧内预测相邻样值的判断条件,则熵编码单元215不为块大小符合“不使用”条件的编码块编码块层样值控制参数和第一参考样值,在编码器将块大小符合“可使用”条件的编码块设置为“必然使用”时,熵编码单元215不为块大小符合“必然使用”条件的编码块编码块层样值控制参数,只编码第一参考样值。
特殊地,如果编码器将图7中相邻样值处理单元402设置为以编码块的帧内预测模式来作为是否使用第一参考样值构造编码块的帧内预测相邻样值的判断条件,则熵编码单元215不为帧内预测模式符合“不使用”条件的编码块编码块层样值控制参数和第一参考样值,在编码器将帧内预测模式符合“可使用”条件的编码块设置为“必然使用”时,熵编码单元215不为帧内预测模式符合“必然使用”条件的编码块编码块层样值控制参数,只编码第一参考样值。
特殊地,编码器可以组合使用上述两种特殊情况。
需要说明的是,熵编码单元215执行步骤501完成的是对块层样值控制参数的编码。如果编码器使用了序列层样值控制参数、图像层样值控制参数、分片层样值控制参数中的一种或多种,熵编码单元215需要在生成对应参数集的过程中编码序列层样值控制参数、图像层样值控制参数,熵编码单元215需要在编码分片头的过程中编码分片层样值控制参数,也可以使用前述的可选择方法在块层编码用于分片层控制的块层样值控制参数。编码器可以根据配置文件来设置序列层、图像层、分片层样值控制参数,也可以使用RDO的方法动态确定上述控制参数的取值。其中,配置文件中记载的是用于对编码器进行初始化过程中的参数设置。
需要说明的是,从控制参数的有效控制范围来说,序列层的范围大于图像层,图像层的范围大于分片层,分片层的范围大于块层。通常情况下,控制参数的控制机制是:控制范围大的控制参数指示“可以使用”时,编码控制范围小的控制参数,用于在这个较小的控制范围内指示“是否可以使用”。特别地,对于块层滤波控制参数,如果一个编码块划分成了多个子块,那么这个编码块的块层滤波控制参数的控制范围大于子块,即当这个编码块的块层样值控制参数指示“不使用”的时候,子块不使用第一参考样值确定帧内预测的参考样值,熵编码单元215不需要编码子块的块层样值控制参数。
需要说明的是,在控制参数指示“可以使用”时,熵编码单元215可以为该控制参数对应编码或推导第一参考样值。通常情况下,有效控制范围小的控制参数对应的第一参考样值覆盖控制范围更大的控制参数对应的第一参考样值。例如,如果熵编码单元215为编码块编码了第一参考样值,那么该编码块在构造帧内预测模式的相邻样值过程中,使用的是块层第一参考样值,而不是分片层第一参考样值。
步骤502,编码帧内预测模式。熵编码单元215对编码块的帧内预测模式进行编码。
情况1:编码器的帧内预测单元206仅使用图7中所示帧内预测方法1。
熵编码单元215首先根据编码块相邻已编码块的帧内预测模式,推导编码块可能使用的一种或多种最可能使用的帧内预测模式。
如果编码块使用的帧内预测模式是最可能使用的帧内预测模式中的一种帧内预测模式,熵编码单元215编码标志位,标志位的取值设置为指示“编码块使用的帧内预测模式是最可能使用的帧内预测模式中的模式”;如果最可能使用的帧内预测模式中包含的模式多于一种,熵编码单元215编码编码块使用的帧内预测模式在最可能使用的帧内预测模式中的索引序号。
如果编码块使用的帧内预测模式是最可能使用的帧内预测模式中的一种帧内预测模式,编码编码块使用的帧内预测模式在除最可能使用的帧内预测模式中的帧内预测模式外的其他帧内预测模式中的索引序号。
情况2:编码器的帧内预测单元206使用图8中帧内预测方法1和图9中帧内预测方法2。
编码用于指示编码块的帧内预测模式属于帧内预测方法1还是帧内预测方法2的标识信息。一种可选择的使用方法是,熵编码单元215编码一个标志位指示上述信息。一种可选择使用的方法是,编码块的帧内预测标记仅用于指示编码块使用的是帧内预测方法1中的帧内预测模式;当编码块使用帧内预测方法2时,熵编码单元215将编码块的帧内预测标记编码为“否”,将编码块的参考图像索引编码为指示“编码块使用的参考图像是编码块所在图像”对应的取值。可选择地,熵编码单元215可进一步编码与帧内预测方法2相关的字段,用于指示编码块使用的帧内预测模式,帧内预测方法2中可包括的帧内预测模式有块匹配模式、串匹配模式等,熵编码单元215继续编码用于确定匹配块、匹配串相关的参数,参数用于确定匹配块、匹配串在编码块所在图像中的位置。
步骤503,熵编码单元215将该编码过程中生成编码比特写入输出码流。
实施例九
图11为本发明实施例提供的一种解码器的帧内预测单元的结构示意图。帧内预测单元304包含相邻样值检测单元601、相邻样值处理单元602和帧内预测计算单元603。
相邻样值检测单元601的输入数据是当前解码图像中已经部分恢复的部分数据、解码块的帧内预测模式指示信息;输出数据是解码块的相邻样值信息。
具体的,相邻样值检测单元601的输入数据是数据流60、数据流64,输出数据是数据流61。数据流60是前述解码器在解码解码块之前,加法器307的输出数据,是当前解码图像中已经部分恢复的部分数据(未经过前述解码器中滤波单元308处理)。数据流60中也包括解码块在图像中的位置信息、以及解码块在图像划分(例如分片)中的位置信息,这些位置信息的来源是前述解码器中解析单元301的输出数据。数据流64是解析单元301输出的解码块的帧内预测模式指示信息,用于指示解码块使用的帧内预测模式。数据流61是相邻样值检测单元601的输出数据,是解码块的相邻样值信息,包括相邻样值所在相邻像素点的位置、相邻样值是否存在、相邻样值的取值(若相邻样值存在)。数据流61中也包括解码块大小。
相邻样值处理单元602的输入是解码块的相邻样值信息、第一参考样值,输出是帧内预测参考样值。
具体的,相邻样值处理单元602的输入是数据流61、数据流62和数据流64,输出是数据流63。数据流61是相邻样值检测单元601的输出。数据流62是解析单元301输出的第一参考样值,包括样值控制参数和第一参考样值的取值。可选择地,解码器将数据流64输入给相邻样值处理单元602。数据流64是解析单元301输出的解码块的帧内预测模式指示信息,用于指示解码块使用的帧内预测模式。相邻样值处理单元602的输出数据流63是帧内预测参考样值。
帧内预测计算单元603的输入是帧内预测参考样值和数据流64,输出是解码块的帧内预测值。
具体的,帧内预测计算单元603的输入是数据流63和解码块的帧内预测模式指示信息,输出是数据流65。数据流63是相邻样值处理单元602的输出数据。数据流64是解析单元301输出的解码块的帧内预测模式指示信息,用于指示解码块使用的帧内预测模式。帧内预测计算单元603按照数据流64中帧内预测模式指示信息所指示的帧内预测模式,使用数据流63中帧内预测参考样值,计算得到解码块的帧内预测值,作为输出数据流65。
与前述编码器中帧内预测单元206相似,前述解码器中帧内预测单元304可使用图8所示帧内预测方法1、图9所示帧内预测方法2计算解码块的帧内预测值,输出数据流65。图8所示的帧内预测方法1中,“Curr”表示的是解码块,其相邻已解码像素点使用灰色表示。图8中,示例性地标示出解码块的上相邻和左相邻已解码像素点。在多种不同的解码顺序下,解码块的右相邻或下相邻也可能存在已解码像素点。帧内预测方法1包含一种或多种帧内预测模式,例如,直流预测模式、平面预测模式、方向性插值预测模式等。在使用帧内预测方法1时,解码器输入帧内预测计算单元603的数据流64是帧内预测模式的索引,输出数据流65是使用数据流64指示的帧内预测模式获得的解码块的帧内预测值。
图9所示的帧内预测方法2中,“Curr”表示的是解码块,灰色区域表示对解码块进行解码前,解码块所在图像中已经部分恢复的部分数据,“Ref”表示解码块的匹配块。在使用帧内预测方法2时,解码器输入帧内预测计算单元603的数据流64是用于指示“Ref”的位置信息,例如在同一个图像坐标系下“Curr”与“Ref”之间的位置偏移量,输出数据流65是使用数据流64指示的“Ref”位置信息获得“Ref”,使用“Ref”构造解码块的帧内预测值,例如将解码块的帧内预测值设置为“Ref”中的样值或者对“Ref”中样值进行滤波处理后的值。帧内预测方法2也可以包含一种或多种帧内预测模式,例如,块匹配模式、串匹配模式等。
通常情况下,帧内预测单元304使用帧内预测方法1。在允许使用帧内预测方法2的解码器中,数据流64中包含帧内预测方法的指示信息,确定在解码解码块的过程中使用帧内预测方法1还是帧内预测方法2计算解码块的第一预测值。
相邻样值检测单元601根据数据流60中解码块的位置信息,确定解码块在图像中的位置。当数据流64中的帧内预测模式指示信息指示解码块使用帧内预测方法1时,相邻样值检测单元601判断在数据流60的图像中已经部分恢复的部分数据中与解码块相邻的像素点位置的像素样值是否存在。相邻样值检测单元601使用的判断方法如下。相邻样值检测单元601将帧内预测方法1相关的相邻样值信息包含进入数据流61。数据流61中还包括解码块大小的信息。
-解码块的参考像素点位置上的像素尚未解码时,对应相邻样值不存在;
-解码块位于图像的边界位置时,图像边界外的参考像素点位置上不存在相邻样值。例如,解码块位于图像的上边界时,解码块上相邻样值不存在;
-位于不同于解码块所在分片的相邻样值不存在;
-位于不同于解码块所在瓦片的相邻样值不存在;
-在使用帧内预测受限的情况下,位于非帧内预测解码的解码块中的相邻样值不存在。
当数据流64中的帧内预测模式指示信息指示解码块使用帧内预测方法2时,相邻样值检测单元601判断图9中“Ref”块中所有样值是否均存在。相邻样值检测单元601根据数据流64中“Ref”的位置信息和解码块在图像中的位置,确定“Ref”在图像中的位置。相邻样值检测单元601使用与上述用于帧内预测方法1相同的判断方法,确定“Ref”块中所有样值是否均存在的范围。相邻样值检测单元601将帧内预测方法2相关的相邻样值信息包含进入数据流61。数据流61中还包括解码块大小的信息。
相邻样值处理单元602对数据流61的数据进行处理。当数据流64中的帧内预测模式指示信息指示解码块使用帧内预测方法1时,当数据流61中的相邻样值均存在时,根据数据流64中的指示信息,相邻样值处理单元602对数据流61中的相邻样值进行滤波处理。
可选择地,一种方法是,相邻样值处理单元602根据数据流64中包含的标志信息,确定是否对相邻样值进行滤波。
可选择地,一种方法是仅对特定大小的块使用滤波。具体的,如果数据流61中解码块的大小等于预先设定的值或者预先设定的多个值之一时,相邻样值处理单元602根据数据流64中包含的标志信息,确定是否对解码块的相邻样值进行滤波。一种方法是,如果数据流61中解码块的大小等于预先设定的值或者预先设定的多个值之一时,相邻样值处理单元602对解码块的相邻样值进行滤波。
可选择地,一种方法是仅对特定帧内预测模式使用滤波。具体的,如果数据流64中的帧内预测模式是预先设定的模式或预先设定的多个模式之一,相邻样值处理单元602根据数据流64中包含的标志信息,确定是否对解码块的相邻样值进行滤波。可选择地,一种方法是,如果数据流64中的帧内预测模式是预先设定的模式或预先设定的多个模式之一,相邻样值处理单元602对解码块的相邻样值进行滤波。
可选择地,一种方法是对特定大小的块、特定帧内预测模式使用滤波。具体的,如果数据流61中解码块的大小等于预先设定的值或者预先设定的多个值之一、并且数据流64中的帧内预测模式是预先设定的模式或预先设定的多个模式之一时,相邻样值处理单元602根据数据流64中包含的标志信息,确定是否对解码块的相邻样值进行滤波。可选择地,一种方法是,如果数据流61中解码块的大小等于预先设定的值或者预先设定的多个值之一、并且数据流64中的帧内预测模式是预先设定的模式或预先设定的多个模式之一时,相邻样值处理单元602对解码块的相邻样值进行滤波。相邻样值处理单元602将解码块的相邻样值包含进数据流63。
数据流64中的帧内预测模式指示信息指示解码块使用帧内预测方法1的情况下,当数据流61中的相邻样值中部分存在或全部都不存在时,相邻样值处理单元602从数据流62中获得第一参考样值,包括样值控制参数和第一参考样值的取值。当样值控制参数指示使用第一参考样值构造不存在的相邻样值时,相邻样值处理单元602将不存在的相邻样值的取值设置为第一参考样值的取值,将解码块的相邻样值均设置为“存在”或“可用”。
可选择地,当第一参考样值是多个的情况下,相邻样值处理单元602根据数据流62中不同第一参考样值的使用方式参数,将不存在的相邻样值的取值设置为对应的第一参考样值的取值,将解码块的相邻样值均设置为“存在”或“可用”。当样值控制参数指示不使用第一参考样值构造不存在的相邻样值时,相邻样值处理单元602使用默认值(例如背景技术介绍部分的“1<<(BitDepth–1)”)设置不存在的相邻样值,将解码块的相邻样值均设置为“存在”或“可用”。
可选择地,相邻样值处理单元602可使用前述滤波方法,对相邻样值进行滤波处理。相邻样值处理单元602将解码块的相邻样值包含进数据流63。
数据流64中的帧内预测模式指示信息指示解码块使用帧内预测方法2的情况下,当样值控制参数指示使用第一参考样值构造“Ref”中不存在的样值时,相邻样值处理单元602将“Ref”中不存在的样值的取值设置为第一参考样值的取值。
可选择地,当第一参考样值是多个的情况下,相邻样值处理单元602根据数据流62中不同第一参考样值的使用方式参数,将“Ref”中不存在的样值的取值设置为对应的第一参考样值的取值。当样值控制参数指示不使用第一参考样值构造“Ref”中不存在的样值时,相邻样值处理单元602使用默认值(例如使用图像或分片边界像素点位置的样值进行图像填充的方法)设置不存在的相邻样值,将解码块的相邻样值均设置为“存在”或“可用”。相邻样值处理单元602将“Ref”中的样值包含进数据流63。
帧内预测计算单元603按照数据流64中帧内预测模式指示信息所指示的帧内预测模式,使用数据流63中帧内预测参考样值,计算得到解码块的帧内预测值,作为输出数据流65。
实施例十
图12为本发明实施例提供的一种解码器的解析单元对解码块码流中的帧内预测模式和滤波参数进行解析的数据处理的流程示意图。处理流程的输入是输入码流中第一参考样值和帧内预测模式对应的码流,输出是第一参考样值和帧内预测模式。前述解码器将第一参考样值设置为帧内预测单元304中相邻样值处理单元602的输入数据流62。前述解码器将帧内预测模式是作为帧内预测单元304中使用的数据流64。
步骤701,解析第一参考样值。
除样值外,可选择地,第一参考样值还可以包含样值控制参数,样值控制参数指示使用第一参考样值还是默认值确定使用帧内预测模式对解码块进行解码过程中的不存在的相邻样值。样值控制参数包括以下至少之一的控制参数:序列层样值控制参数,图像层样值控制参数,分片层样值控制参数,块层样值控制参数。
序列层样值控制参数用于指示是否需要对整个视频中的图像使用第一参考样值确定使用帧内预测模式对解码块进行解码过程中的不存在的相邻样值。当序列层样值控制参数的取值指示为“是”时,帧内预测单元304在解码块的部分或全部相邻样值不存在的情况下,使用第一参考样值设置解码块的相邻样值;反之,当序列层样值控制参数的取值指示为“否”时,帧内预测单元304将使用默认值设置不存在的相邻样值。解析单元301在有效范围可以是整个视频的参数集中获得序列层样值控制参数。可选择地,当序列层样值控制参数的取值指示为“是”时,解析单元301可以在有效范围可以是整个视频的参数集中获得第一参考样值的样值取值,该样值取值可用于整个视频中使用帧内预测模式的解码块。
图像层样值控制参数用于指示是否需要对一个图像使用第一参考样值确定使用帧内预测模式对解码块进行解码过程中的不存在的相邻样值。当图像层样值控制参数的取值指示为“是”时,帧内预测单元304在解码块的部分或全部相邻样值不存在的情况下,使用第一参考样值设置解码块的相邻样值;反之,当图像层样值控制参数的取值指示为“否”时,帧内预测单元304使用默认值设置解码块的相邻样值。解析单元301在有效范围可以是一个图像的参数集中获得图像层样值控制参数。可选择地,当图像层样值控制参数的取值指示为“是”时,解析单元301可以在有效范围可以是一个图像的参数集中获得第一参考样值的样值取值,该样值取值可用于一个图像中使用帧内预测模式的解码块。
分片层样值控制参数用于指示是否需要对一个分片使用第一参考样值确定使用帧内预测模式对解码块进行解码过程中不存在的相邻样值。当分片层样值控制参数的取值指示为“是”时,帧内预测单元304在解码块的部分或全部相邻样值不存在的情况下,使用解码块的第一参考样值设置相邻样值;反之,当分片层样值控制参数的取值指示为“否”时,帧内预测单元304使用默认值设置解码块的相邻样值。解析单元301在分片头中获得分片层样值控制参数。可选择地,当分片层样值控制参数的取值指示为“是”时,解析单元301可以在分片头中获得第一参考样值的样值取值,该样值取值可用于一个分片中使用帧内预测模式的解码块。
块层样值控制参数用于指示是否需要对一个解码块使用第一参考样值确定使用帧内预测模式对解码块进行解码过程中的不存在的相邻样值。当块层样值控制参数的取值指示为“是”时,帧内预测单元304在解码块的部分或全部相邻样值不存在的情况下,使用第一参考样值设置解码块的相邻样值;反之,当块层样值控制参数的取值指示为“否”时,帧内预测单元304使用默认值设置解码块的相邻样值。解析单元301在解码块的数据单元中获得块层样值控制参数。可选择地,当块层样值控制参数的取值指示为“是”时,解析单元301可以在解码块的数据单元中获得第一参考样值的样值取值,该样值取值可用于一个解码块的数据单元中使用帧内预测模式的解码块或该解码块的划分。
可选择地,解码器可以将块层样值控制参数以及对应的第一参考样值有效范围配置为一个分片。一种实施方法是,对于分片中第一个使用帧内预测模式、并且使用第一参考样值构造解码块的相邻样值时,解析单元301在该解码块的数据单元中获得块层样值控制参数以及第一参考样值。解码器对分片中后续使用帧内预测模式的解码块使用相同的解码块层样值控制参数、第一参考样值。
可选择地,解码器可以将块层样值控制参数以及对应的第一参考样值有效范围配置为一个分片。一种实施方法是,对于分片中第一个使用帧内预测模式、并且使用第一参考样值构造解码块的相邻样值时,解析单元301在该解码块的数据单元中获得块层样值控制参数(记为“控制参数1”)以及第一参考样值(记为“样值1”)。如果分片中后续使用帧内预测模式的解码块数据单元中没有新的第一参考样值,解析单元301将解码块的第一参考样值设置为控制参数1和样值1,并作为数据流62传递给相邻样值处理单元602。如果分片中后续使用帧内预测模式的解码块数据单元中存在新的第一参考样值(记为“控制参数2”、“样值2”),解析单元301获得新的第一参考样值,并作为数据流62传递给相邻样值处理单元602。
上述解码器将块层样值控制参数以及对应的第一参考样值有效范围配置为一个分片的处理过程可以归纳为解析单元301始终使用从分片包含的解码块中最后一次获得的第一参考样值设置数据流62。
特殊地,参见图10,本公开的实施例提出了一种。如果解码器将图10中相邻样值处理单元602配置为以解码块大小来作为是否使用第一参考样值构造解码块的帧内预测相邻样值的判断条件,则解析单元301可不解析解码块的码流而直接将块大小符合“不使用”条件的解码块的块层样值控制参数设置为“否”,在解码器将块大小符合“可使用”条件的解码块配置为“必然使用”时,解析单元301可不需要解析解码块的码流而直接将块大小符合“必然使用”条件的解码块的块层样值控制参数设置为“是”,解析单元301解析解码块的码流获得块层第一参考样值的取值。这里,的“配置”,指的是解码器根据参数集指示信息或预设规则对解码过程进行的配置。
特殊地,如果解码器将图7中相邻样值处理单元602配置为以解码块的帧内预测模式来作为是否使用第一参考样值构造解码块的帧内预测相邻样值的判断条件,则解析单元301不解析帧内预测模式符合“不使用”条件的解码块的数据单元,将解码块层样值控制参数设置为“否”。如果解码器将帧内预测模式符合“可使用”条件的解码块配置为“必然使用”时,解析单元301不解析帧内预测模式符合“必然使用”条件的解码块数据单元,将解码块的块层样值控制参数设置为“是”,解析单元301解析解码块的码流获得块层第一参考样值的取值。这里,的“配置”,指的是解码器根据参数集指示信息或预设规则对解码过程进行的配置。
特殊地,解码器可以组合使用上述两种特殊情况。
需要说明的是,解析单元301执行步骤701完成的是对块层样值控制参数和第一参考样值的取值的解码。如果解析单元301通过解析码流获得了序列层样值控制参数、图像层样值控制参数、分片层样值控制参数中的一种或多种,需要说明的是,从控制参数的有效控制范围来说,序列层的范围大于图像层,图像层的范围大于分片层,分片层的范围大于块层。通常情况下,控制参数的控制机制是:控制范围大的控制参数指示“可以使用”时,解析控制范围小的控制参数获得用于在这个较小的控制范围内指示“是否可以使用”的信息。特别地,对于块层滤波控制参数,如果一个解码块划分成了多个子块,那么这个解码块的块层滤波控制参数的控制范围大于子块,即当这个解码块的块层滤波控制参数指示“不使用”的时候,子块不使用自适应滤波,解析单元301不再需要解析子块的数据单元以获得子块的块层滤波控制参数。
需要说明的是,在控制参数指示“可以使用”时,解析单元301可以为解析或推导该控制参数对应的第一参考样值的取值。通常情况下,有效控制范围小的控制参数对应的第一参考样值的取值覆盖控制范围更大的控制参数对应的第一参考样值的取值。例如,如果解析单元301获得了解码块的块层第一参考样值,那么解码器为该解码块在确定帧内预测模式的相邻样值过程中,使用的是块层第一参考样值,而不是分片层第一参考样值。
步骤702,解析单元301解析码流,获得解码块的帧内预测模式。
情况1:解码器仅使用帧内预测单元304的图8中帧内预测方法1。
解析单元301首先根据解码块相邻已解码块的帧内预测模式,推导解码块可能使用的一种或多种最可能使用的帧内预测模式。
解析单元301解析标志位,标志位的取值指示“解码块使用的帧内预测模式是否是最可能使用的帧内预测模式中的模式”。若“是”,如果最可能使用的帧内预测模式中只包含一种帧内预测模式,解析单元301将该帧内预测模式设置为解码块的帧内预测模式;如果最可能使用的帧内预测模式中只包含多种帧内预测模式,解析单元301解析索引序号,将最可能使用的帧内预测模式中对应于该索引序号的帧内预测模式设置为解码块的帧内预测模式。反之,若标志位的取值指示为“否”,解析单元301解析索引序号,将解码块使用的帧内预测模式设置为在除最可能使用的帧内预测模式中的帧内预测模式外的其他帧内预测模式中该索引序号对应的帧内预测模式。
情况2:解码器使用帧内预测单元304的图8中帧内预测方法1和帧内预测方法2。
解析单元301解析用于指示解码块的帧内预测模式属于帧内预测方法1还是帧内预测方法2的标识信息。一种可选择的使用方法是,解析单元301解析一个指示上述信息的标志位。一种可选择使用的方法是,解析单元301解析解码块的帧内预测标记为“否”且解码块的参考图像索引指示“解码块使用的参考图像是解码块所在图像”时,将解码块的帧内预测模式设置为帧内预测方法2。可选择地,解析单元301可进一步解析码流中与帧内预测方法2相关的字段,确定解码块使用的帧内预测模式,帧内预测方法2中可包括的帧内预测模式有块匹配模式、串匹配模式等,解析单元301继续解析码流,获得确定匹配块、匹配串相关的参数用于确定匹配块、匹配串在解码块所在图像中的位置。例如,解析单元301解析码流获得同一个图像坐标系下解码块与图8中“Ref”块之间的位置偏移量。
步骤703,解析单元301解析解码块的帧内预测模式及滤波参数的过程结束。
前述解码器将第一参考样值设置为帧内预测单元304中相邻样值处理单元602的输入数据流62。前述解码器将帧内预测模式是作为帧内预测单元304中使用的数据流64。
实施例十一
参见图13,本公开的实施例提出了一种包含编码器的编码设备。编码设备包括采集单元801、编码器802和发送单元803。其中:
采集单元801,用于采集视频或图像。
实际中,采集单元801可以是包含至少一个摄像头用于采集自然视频或自然图像;可选择地,采集单元801还可以配置用于采集深度视频或深度图像的摄像头;可选择地,采集单元还可以配置红外摄像头;可选择地,采集单元还可以配置遥感摄像头。采集单元801可以是包含通过放射线透射或扫描产生视频或图像的装置或设备。
可选择地,采集单元801中可以对输入视频或图像进行前处理,例如,自动聚焦、自动白平衡、自动曝光、背光补偿、降噪、锐化、拼接、提升或降低图像分辨率、提升或降低视频帧率、虚拟视图合成等。
采集单元801也可以接收其它设备或单元输出的视频或图像,例如,采集单元801可以是转码器中的一个组成单元,转码器将部分解码的图像输入采集单元801。例如,采集单元801接收通过数据连接从其他设备传递过来的视频或图像。
需要说明的是,除视频或图像外,采集单元801也可以采集其他媒体信息,例如音频。采集单元801也可以接收人工产生的信息,例如文字、字幕、计算机产生的图片或视频等。
编码器802,用于接收采集单元801输出的视频或图像,并对视频或图像进行编码,输出视频或图像码流。
存储或发送单元803,用于接收编码器802输出的视频或图像码流,对视频或图像码流进行系统层处理。
具体的,存储或发送单元803对视频或图像码流进行系统层处理包括:按照传输协议、媒体文件格式等标准进行打包。存储或发送单元803将系统层处理后的得到的传输流或媒体文件存储至电子设备的存储器中,或者通过有线、无线网络进行发送。
需要说明的是,除编码器802输出的视频或图像码流外,存储或发送单元803的输入还可以包括音频码流、文字、字幕、图片等。存储或发送单元803按照媒体文件格式、传输协议等标准将这些输入与编码器802输出的码流打包在传输流或媒体文件中。
本实施例的电子设备可以是视频通信应用中能够生成或处理视频或图像码流的设备,例如,手机、计算机、媒体服务器、便携式移动终端、数字摄像机、数字照相机、电视广播系统设备、内容分发网络设备、监控摄像头、会议电视系统设备等。
实施例十二
参见图14,本公开的实施例提出了一种包含解码器的结构示意图。解码设备包括接收单元901、解码器902和呈现单元903。其中:
接收单元901,用于接收视频或图像码流。
具体的,接收单元901从有线、无线网络接收视频或图像码流,或者读取电子设备存储器获得视频或图像码流,或者接收通过数据连接从其他设备传递过来的视频或图像码流。
接收单元901的输入还可以是包含视频或图像码流的传输流或媒体文件。接收单元901根据传输协议、媒体文件格式等标准从接收到的传输流或媒体文件中提取视频或图像码流。
需要说明的是,除视频或图像码流外,接收单元901的输出还可以包括音频码流、文字、字幕、图片等。接收单元901将这些输出传递给电子设备中对应的处理单元。例如,接收单元901将音频码流输出给电子设备中包含的音频解码器。
解码器902,用于对接收的接收单元901输出的视频或图像码流进行解码,输出解码恢复的视频或图像。
呈现单元903,用于接收解码器902输出的解码恢复的视频或图像进行呈现操作。
需要说明的是,呈现单元903可以是电子设备的一个组成部分,例如显示屏;也可以是通过数据连接与电子设备连接的独立设备,例如投影机、显示器等。可选择地,呈现单元903可以对解码恢复的视频或图像进行后处理,例如自动调焦、自动白平衡、自动曝光调整、背光补偿、降噪、锐化、拼接、提升或降低图像分辨率、提升或降低视频帧率、虚拟视图合成等。
需要说明的是,除解码恢复的视频或图像外,呈现单元903的输入还可以包括来自电子设备其他单元输出的媒体数据,例如音频、文字、字幕、图片,等。呈现单元903的输入还包括人工产生的数据,例如远程教育应用中本地授课者对重点内容的划线等标注数据。呈现单元903将输入的媒体数据进行叠合后显示给观看者。
本实施例的电子设备可以是视频通信应用中能够解码或处理视频或图像码流的设备,例如,手机、计算机、机顶盒、电视机、播放器、媒体服务器、便携式移动终端、数字摄像机、数字照相机、电视广播系统设备、内容分发网络设备、会议电视系统设备等。
实施例十三
参见图15,本公开的实施例提出了一种包含编码设备和解码设备的电子系统。
信源设备1001包括图13所示的编码设备。
存储或传输网络1002,可以包括设备或电子系统的存储器、通过数据连接进行数据读写操作的外部存储器;也可以包括有线网络、无线网络组成的数据传输网络。存储或传输网络1002为信源设备1001中存储或发送单元803提供了存储器或数据传输网络。
信宿设备1003包括图14所示的解码设备。信宿设备1003中接收单元901接收存储或传输网络1002提供视频或图像码流、包含视频或图像码流的传输流或者包含视频或图像码流的媒体文件。
实施例十四
本公开一个实施例提出了一种编码器,包括:第一处理器、第一存储介质、第一通信总线,其中,第一处理器和第一存储介质通过第一通信总线连接;
第一处理器,调用第一存储介质存储的图像编码相关程序,并执行如下步骤:
根据编码块中的像素样值,确定编码块的第一参考样值;
根据第一参考样值,确定编码块的帧内预测模式,并计算编码块的帧内预测值;
根据编码块的原始值与帧内预测值,获得预测差参数;
对第一参考样值、帧内预测模式、和预测差参数进行编码,将编码比特写入码流。
实施例十五
本公开一个实施例提出了一种解码器,包括:第二处理器、第二存储介质、第二通信总线,其中,第二处理器和第二存储介质通过第二通信总线连接;
第二处理器,调用第二存储介质存储的图像解码相关程序,并执行如下步骤:
解析码流,获得解码块的第一参考样值、帧内预测模式和预测差参数;
根据第一参考样值确定解码块的帧内预测参考样值;
根据帧内预测参考样值以及帧内预测模式构造解码块的帧内预测值;
使用预测差参数计算解码块的预测差;
计算帧内预测值和预测差的和值,获得解码块的恢复值。
另一方面,本公开一个实施例提出了一种计算机存储介质,应用于编码器中,计算机可读处处介质存储有一个或多个图像编码相关程序,一个或者多个图像编码相关程序可被一个或者多个第一处理器执行,以实现如上述任一一种图像编码的方法。
再一方面,本公开一个实施例提出了一种计算机存储介质,应用于解码器中,计算机可读处处介质存储有一个或多个图像解码相关程序,一个或者多个图像解码相关程序可被一个或者多个第二处理器执行,以实现如上述任一一种图像解码方法。
本实施例的电子系统可以是视频通信应用中能够生成、存储或传输和解码视频或图像码流的系统或设备,例如,手机、计算机、IPTV系统、OTT系统、互联网多媒体系统、数字电视广播系统、监控系统、便携式移动终端、数字摄像机、数字照相机、会议电视系统设备等。
本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都属于本发明所附的权利要求的保护范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

Claims (64)

1.一种图像编码方法,其特征在于,包括:
根据编码块中的像素样值,确定所述编码块的第一参考样值;
根据所述第一参考样值,确定所述编码块的帧内预测模式,并计算所述编码块的帧内预测值;
根据所述编码块的原始值与所述帧内预测值,获得预测差参数;
对所述第一参考样值、所述帧内预测模式、和所述预测差参数进行编码,将编码比特写入码流。
2.根据权利要求1所述的方法,其特征在于,所述根据编码块的原始值与帧内预测值,获得预测差参数,具体包括:
计算所述编码块的原始值与所述帧内预测值的差值,得到所述编码块的预测差值;
对所述预测差值进行变换和量化处理,得到所述预测差参数。
3.根据权利要求1所述的方法,其特征在于,所述根据编码块中的像素样值确定编码块的第一参考样值,包括:
判断所述编码块的参考样值是否存在,所述参考样值为所述编码块相邻的一个或多个像素点的已恢复像素样值;
若所述编码块的部分或全部参考样值不存在,则根据所述编码块中的像素样值确定所述编码块的第一参考样值;
或者,判断所述编码块的匹配块中的参考样值是否均存在;
若所述编码块的匹配块中的部分或全部参考样值不存在,则判断为所述编码块的部分或全部参考样值不存在,根据所述编码块中的像素样值确定所述编码块的第一参考样值。
4.根据权利要求3所述的方法,其特征在于,所述编码块的匹配块位于所述编码块所在图像中并且与所述编码块大小相同的区域。
5.根据权利要求3所述的方法,其特征在于,所述判断所述参考样值是否存在的方法,包括以下至少一种:
若所述参考样值对应的参考像素点位置位于所述编码块所在图像中尚未编码的图像区域,则将所述参考样值判断为不存在;
若所述参考样值对应的参考像素点位置位于所述编码块所在图像的边界之外,则将所述参考样值判断为不存在;
在所述编码块所在图像中,若所述参考样值对应的参考像素点位置位于所述编码块所在分片之外,则将所述参考样值判断为不存在;
在所述编码块所在图像中,若所述参考样值对应的参考像素点位置位于所述编码块所在瓦片之外,则将所述参考样值判断为不存在;
若使用帧内预测受限模式,在所述编码块所在图像中,若所述参考样值对应的参考像素点位置位于非帧内预测模式的编码块中,则将所述参考样值判断为不存在。
6.根据权利要求3所述的方法,其特征在于,所述根据编码块中的像素样值确定所述编码块的第一参考样值,包括:
根据所述编码块中的像素样值,使用软判决方法确定所述第一参考样值。
7.根据权利要求6所述的方法,其特征在于,所述根据编码块中的像素样值,使用软判决方法确定所述第一参考样值,具体包括:
使用约束最优化方法计算所述第一参考样值,所述约束最优化计算公式为:
min D=∑kd(xk,pk)s.t.R≤RC
其中,D是所述编码块的编码失真;k是遍历范围,包括所述编码块中的一个或多个像素;d(a,b)是a和b之间的误差值;xk是所述编码块中待编码像素样值;pk是使用第一参考样值根据帧内预测模式计算得到的xk的预测值;R是所述编码块的编码比特开销;RC是所述编码块编码比特开销的上限值。
8.根据权利要求6所述的方法,其特征在于,所述根据编码块中的像素样值,使用软判决方法确定所述第一参考样值,具体包括:
使用无约束最优化方法计算所述第一参考样值,所述无约束最优化计算公式为:
(r,m)opt=arg min(D+λ·R)
其中,r是所述第一参考样值;m是所述编码块的帧内预测模式,D是所述编码块的编码失真,R是所述编码块的编码比特开销,λ是拉格朗日因子。
9.根据权利要求3所述的方法,其特征在于,所述根据所述编码块中的像素样值确定所述编码块的第一参考样值,具体包括:
若判断所述编码块的全部参考样值不存在,则将所述第一参考样值设置为所述编码块原始值的平均值;
若判断所述编码块的部分参考样值不存在,则将所述第一参考样值设置为所述编码块原始值的平均值与所述部分存在的参考样值均值的差值。
10.根据权利要求3所述的方法,其特征在于,所述第一参考样值包括至少两个样值,以及使用方式指示参数,其中,所述样值使用方式参数用于指示所述第一参考样值中包含的至少两个样值在设置所述编码块的参考样值过程中的使用方式。
11.根据权利要求10所述的方法,其特征在于,所述第一参考样值包括两个样值,所述根据编码块中的像素样值确定所述编码块的第一参考样值,包括:
根据所述两个样值分别设置所述编码块左相邻参考像素点位置中不存在的参考样值的取值,和上相邻参考像素点位置中不存在的参考样值的取值。
12.根据权利要求1所述的方法,其特征在于,根据所述第一参考样值,确定所述编码块的帧内预测模式,计算所述编码块的帧内预测值,包括:
使用所述第一参考样值设置所述编码块的不存在的参考样值;
根据所述编码块的参考样值,使用率失真优化方法确定所述编码块的帧内预测模式,使用所述帧内预测模式计算得到所述编码块的帧内预测值。
13.根据权利要求1所述的方法,其特征在于,根据所述第一参考样值,确定所述编码块的帧内预测模式,计算所述编码块的帧内预测值,还包括:
使用所述第一参考样值设置所述编码块的不存在的参考样值;
对所述编码块的参考样值进行滤波,得到经滤波处理的参考样值;
根据所述经滤波处理的参考样值,使用率失真优化方法确定所述编码块的帧内预测模式,使用所述帧内预测模式计算得到所述编码块的帧内预测值。
14.根据权利要求13所述的方法,其特征在于,所述对所述编码块的参考样值进行滤波,得到经滤波处理的参考样值,包括:
使用率失真优化方法确定滤波控制参数,所述滤波控制参数用于指示是否对所述参考样值进行滤波;
若所述滤波控制参数指示对所述参考样值进行滤波,则对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值。
15.根据权利要求13所述的方法,其特征在于,所述对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值,包括:
若所述编码块的大小等于预设值时,则使用率失真优化方法确定滤波控制参数,所述滤波控制参数用于指示是否对所述参考样值进行滤波;
当所述滤波控制参数指示对所述参考样值进行滤波时,对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值。
16.根据权利要求13所述的方法,其特征在于,所述对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值,包括:
若所述编码块的大小等于预设值时,对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值。
17.根据权利要求13所述的方法,其特征在于,对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值,包括:
当所述编码块的帧内预测模式是预设的模式时,使用率失真优化方法确定滤波控制参数,所述滤波控制参数用于指示是否对所述参考样值进行滤波;
当所述滤波控制参数指示对所述参考样值进行滤波时,对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值。
18.根据权利要求13所述的方法,其特征在于,对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值,包括:
当所述编码块的帧内预测模式是预设的模式时,对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值。
19.根据权利要求13所述的方法,其特征在于,对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值,包括:
当所述编码块的大小等于预设值时,并且所述编码块的帧内预测模式是预设的模式时,使用率失真优化方法确定滤波控制参数,所述滤波控制参数用于指示是否对所述参考样值进行滤波;
当所述滤波控制参数指示对所述参考样值进行滤波时,对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值。
20.根据权利要求13所述的方法,其特征在于,对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值,包括:
当所述编码块的大小等于预设值时、并且所述编码块的帧内预测模式是预设的模式时,对所述编码块参考样值进行滤波,得到所述经滤波处理的参考样值。
21.根据权利要求14、15、17或19所述的方法,其特征在于,对所述编码块的参考样值进行滤波,得到所述经滤波处理的参考样值,方法还包括:
对所述编码块的滤波控制参数进行编码,将编码比特写入所述码流。
22.根据权利要求1所述的方法,其特征在于,所述对所述第一参考样值进行编码,包括:
通过对所述第一参考样值进行编码获得所述第一参考样值的编码比特;
将所述编码比特写入所述码流中的数据单元,其中,所述码流中的数据单元包含以下至少之一:一个或多个参数集,分片头,块层数据单元。
23.根据权利要求1所述的方法,其特征在于,所述对所述第一参考样值进行编码,包括:
所述第一参考样值包括一个或多个样值;
对所述第一参考样值的一个或多个样值进行编码,获得所述第一参考样值的一个或多个样值的编码比特,将所述编码比特写入所述码流中的数据单元。
24.根据权利要求23所述的方法,其特征在于,所述对所述第一参考样值的一个或多个样值进行编码,获得所述第一参考样值的一个或多个样值的编码比特,还包括:
编码样值使用方式参数,将所述样值使用方式参数的编码比特写入所述码流中的数据单元。
25.根据权利要求1所述的方法,其特征在于,所述第一参考样值包括样值控制参数,所述样值控制参数包括以下至少之一的控制参数:序列层样值控制参数,图像层样值控制参数,分片层样值控制参数,块层样值控制参数。
26.一种图像解码方法,其特征在于,包括:
解析码流,获得解码块的第一参考样值、帧内预测模式和预测差参数;
根据所述第一参考样值确定所述解码块的帧内预测参考样值;
根据所述帧内预测参考样值以及所述帧内预测模式构造所述解码块的帧内预测值;
使用预测差参数计算所述解码块的预测差;
计算所述帧内预测值和所述预测差的和值,获得所述解码块的恢复值。
27.根据权利要求26所述的方法,其特征在于,所述根据所述第一参考样值确定所述解码块的帧内预测参考样值,包括:
判断所述解码块的参考样值是否存在,所述参考样值为所述解码块相邻的一个或多个像素点的已恢复像素样值;
若所述解码块的部分或全部参考样值不存在,则根据所述第一参考样值确定所述解码块的不存在的参考样值,获得帧内预测参考样值;
或者,判断所述解码块的匹配块中的参考样值是否均存在;
若所述解码块的匹配块中的部分或全部参考样值不存在,则判断为所述解码块的部分或全部参考样值不存在,根据所述第一参考样值确定所述解码块的不存在的参考样值,获得帧内预测参考样值。
28.根据权利要求27所述的方法,其特征在于,所述解码块的匹配块位于所述解码块所在图像中并且与所述解码块大小相同的区域。
29.根据权利要求27所述的方法,其特征在于,所述判断所述参考样值是否存在的方法,包括以下至少一种:
若所述参考样值对应的参考像素点位置位于所述解码块所在图像中尚未解码的图像区域,则将所述参考样值判断为不存在;
若参考样值对应的参考像素点位置位于所述解码块所在图像的边界之外,则将所述参考样值判断为不存在;
在所述解码块所在图像中,若所述参考样值对应的参考像素点位置位于所述解码块所在分片之外,则将所述参考样值判断为不存在;
在所述解码块所在图像中,若所述参考样值对应的参考像素点位置位于所述解码块所在瓦片之外,则将所述参考样值判断为不存在;
若使用帧内预测受限模式,在所述解码块所在图像中,若所述参考样值对应的参考像素点位置位于非帧内预测模式的解码块中,则将所述参考样值判断为不存在。
30.根据权利要求26所述的方法,其特征在于,所述解析码流获得解码块的第一参考样值,包括:
解析所述码流中的一个或多个数据单元,获得所述第一参考样值,其中,所述数据单元包括以下至少之一:一个或多个参数集,分片头,块层数据单元。
31.根据权利要求26所述的方法,其特征在于,所述解析码流获得解码块的第一参考样值,包括:
解析所述码流中的一个或多个数据单元,获得样值使用方式参数,其中,所述样值使用方式参数用于指示所述第一参考样值中包含的样值在设置所述解码块的参考样值过程中的使用方式。
32.根据权利要求26所述的方法,其特征在于,所述第一参考样值包括样值控制参数,所述样值控制参数包括以下至少之一的控制参数:序列层样值控制参数,图像层样值控制参数,分片层样值控制参数,块层样值控制参数。
33.根据权利要求27的方法,其特征在于,所述根据第一参考样值确定所述解码块的不存在的参考样值,包括:
使用所述第一参考样值设置所述解码块的不存在的参考样值。
34.根据权利要求27所述的方法,其特征在于,所述第一参考样值中包含样值控制参数,所述根据第一参考样值确定所述解码块的不存在的参考样值,包括:
若所述样值控制参数指示使用所述第一参考样值构造所述不存在的参考样值,则使用所述第一参考样值设置所述解码块的不存在的参考样值。
35.根据权利要求27所述的方法,其特征在于,所述第一参考样值中包含样值使用方式参数,所述根据第一参考样值确定所述解码块的不存在的参考样值,包括:
若所述第一参考样值包含至少两个样值,则根据所述样值使用方式参数,使用所述第一参考样值中包含的样值对应设置所述解码块的不存在的参考样值。
36.根据权利要求35所述的方法,其特征在于,所述第一参考样值包括两个样值,所述根据所述样值使用方式参数,使用所述第一参考样值中包含的样值对应设置所述解码块的不存在的参考样值,包括:
按照预设规则使用所述第一参考样值中的两个样值分别设置所述解码块左相邻参考像素点位置中不存在的参考样值,和上相邻参考像素点位置中不存在的参考样值。
37.根据权利要求26所述的方法,其特征在于,根据所述帧内预测参考样值以及所述帧内预测模式构造所述解码块的帧内预测值,方法还包括:
对所述帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值;
使用所述经滤波处理的参考样值,按所述帧内预测模式计算得到所述解码块的帧内预测值。
38.根据权利要求37所述的方法,其特征在于,对所述帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
解析所述码流,获得滤波控制参数,其中,所述滤波控制参数用于指示是否对所述帧内预测参考样值进行滤波;
若所述滤波控制参数指示对所述帧内预测参考样值进行滤波,则对所述帧内预测参考样值进行滤波处理,得到所述经过滤波处理的参考样值。
39.根据权利要求37所述的方法,其特征在于,对所述帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若所述解码块的大小等于预设值,则解析所述码流,获得滤波控制参数;
当所述滤波控制参数指示对所述帧内预测参考样值进行滤波时,对所述帧内预测参考样值进行滤波处理,得到所述经过滤波处理的参考样值。
40.根据权利要求37所述的方法,其特征在于,对所述帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若所述解码块的大小等于预设值时,对所述帧内预测参考样值进行滤波处理,得到所述经过滤波处理的参考样值。
41.根据权利要求37所述的方法,其特征在于,对所述帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若所述解码块的帧内预测模式是预设的模式,则解析所述码流,获得滤波控制参数;
当所述滤波控制参数指示对所述帧内预测参考样值进行滤波时,对所述帧内预测参考样值进行滤波处理,得到所述经过滤波处理的参考样值。
42.根据权利要求37所述的方法,其特征在于,对所述帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若所述解码块的帧内预测模式是预设的模式,则对所述帧内预测参考样值进行滤波处理,得到所述经过滤波处理的参考样值。
43.根据权利要求37所述的方法,其特征在于,对所述帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若所述解码块的大小等于预设值,并且所述解码块的帧内预测模式是预设的模式,则解析所述码流,获得滤波控制参数;
当所述滤波控制参数指示对所述帧内预测参考样值进行滤波时,对所述帧内预测参考样值进行滤波处理,得到所述经过滤波处理的参考样值。
44.根据权利要求37所述的方法,其特征在于,对所述帧内预测参考样值进行滤波处理得到经过滤波处理的参考样值,包括:
若所述解码块的大小等于预设值,并且所述解码块的帧内预测模式是预设的模式时,对所述帧内预测参考样值进行滤处理,得到所述经过滤波处理的参考样值。
45.根据权利要求26所述的方法,其特征在于,所述使用预测差参数计算所述解码块的预测差,包括:
对所述预测差参数进行伸缩和变换处理,得到所述解码块的预测差。
46.根据权利要求26所述的方法,其特征在于,在所述将所述帧内预测值和所述预测差的和值设置为所述解码块的恢复值之后,方法还包括:
对所述解码块的恢复值进行环路滤波处理得到解码值。
47.一种图像编码装置,其特征在于,所述图像编码装置包括第一参考样值确定单元、帧内预测值确定单元、预测差参数获得单元和编码单元,其中:
所述第一参考样值确定单元,用于根据编码块中的像素样值,确定所述编码块的第一参考样值;
所述帧内预测值确定单元,用于根据所述第一参考样值确定单元确定的所述第一参考样值,确定所述编码块的帧内预测模式,并计算所述编码块的帧内预测值;
所述预测差参数获得单元,用于根据所述编码块的原始值与所述帧内预测值确定单元计算的所述帧内预测值,获得预测差参数;
所述编码单元,用于对所述第一参考样值确定单元确定的所述第一参考样值、所述帧内预测值确定单元确定的所述帧内预测模式、和所述预测差参数获得单元获得的所述预测差参数进行编码,将编码比特写入码流。
48.根据权利要求47所述的装置,其特征在于,所述预测差参数获得单元,具体用于:
计算所述编码块的原始值与所述帧内预测值的差值,得到所述编码块的预测差值;
对所述预测差值进行变换和量化处理,得到所述预测差参数。
49.根据权利要求47所述的装置,其特征在于,所述第一参考样值确定单元,具体用于:
判断所述编码块的参考样值是否存在,所述参考样值为所述编码块相邻的一个或多个像素点的已恢复像素样值;
若所述编码块的部分或全部参考样值不存在,则根据所述编码块中的像素样值确定所述编码块的第一参考样值;
或者,判断所述编码块的匹配块中的参考样值是否均存在;
若所述编码块的匹配块中的部分或全部参考样值不存在,则判断为所述编码块的部分或全部参考样值不存在,根据所述编码块中的像素样值确定所述编码块的第一参考样值。
50.根据权利要求49所述的装置,其特征在于,所述第一参考样值确定单元,具体用于:
根据所述编码块中的像素样值,使用软判决方法确定所述第一参考样值。
51.根据权利要求49所述的装置,其特征在于,所述第一参考样值确定单元,具体用于:
若判断所述编码块的全部参考样值不存在,则将所述第一参考样值设置为所述编码块原始值的平均值;
若判断所述编码块的部分参考样值不存在,则将所述第一参考样值设置为所述编码块原始值的平均值与所述部分存在的参考样值均值的差值。
52.根据权利要求47所述的装置,其特征在于,所述帧内预测值确定单元,具体用于:
使用所述第一参考样值设置所述编码块的不存在的参考样值;
根据所述编码块的参考样值,使用率失真优化方法确定所述编码块的帧内预测模式,使用所述帧内预测模式计算得到所述编码块的帧内预测值。
53.根据权利要求47所述的装置,其特征在于,所述帧内预测值确定单元,具体用于:
使用所述第一参考样值设置所述编码块的不存在的参考样值;
对所述编码块的参考样值进行滤波,得到经滤波处理的参考样值;
根据所述经滤波处理的参考样值,使用率失真优化方法确定所述编码块的帧内预测模式,使用所述帧内预测模式计算得到所述编码块的帧内预测值。
54.根据权利要求47所述的装置,其特征在于,所述编码单元,具体用于:
通过对所述第一参考样值进行编码获得所述第一参考样值的编码比特;
将所述编码比特写入所述码流中的数据单元,其中,所述码流中的数据单元包含以下至少之一:一个或多个参数集,分片头,块层数据单元。
55.一种图像解码装置,其特征在于,所述图像解码装置包括解析单元、帧内预测参考样值确定单元、帧内预测值确定单元、预测差确定单元和恢复值获得单元,其中:
所述解析单元,用于解析码流获得解码块的第一参考样值、帧内预测模式和预测差参数;
所述帧内预测参考样值确定单元,用于根据所述解析单元解析的所述第一参考样值确定所述解码块的帧内预测参考样值;
所述帧内预测值确定单元,用于根据所述帧内预测参考样值确定单元确定的所述帧内预测参考样值以及所述解析单元解析的所述帧内预测模式构造所述解码块的帧内预测值;
所述预测差确定单元,用于使用所述解析单元解析的所述预测差参数计算所述解码块的预测差;
所述恢复值获得单元,用于计算所述帧内预测值确定单元构造的所述帧内预测值,和所述预测差确定单元计算的所述预测差的和值,获得所述解码块的恢复值。
56.根据权利要求55所述的装置,其特征在于,所述解析单元,具体用于:
解析所述码流中的一个或多个数据单元,获得所述第一参考样值,其中,所述数据单元包括以下至少之一:一个或多个参数集,分片头,块层数据单元。
57.根据权利要求55所述的装置,其特征在于,所述帧内预测值确定单元,具体用于:
对所述帧内预测参考样值进行滤波处理,得到经过滤波处理的参考样值;
使用所述经滤波处理的参考样值,按所述帧内预测模式计算得到所述解码块的帧内预测值。
58.根据权利要求55所述的装置,其特征在于,所述帧内预测参考样值确定单元,具体用于:
判断所述解码块的参考样值是否存在,所述参考样值为所述解码块相邻的一个或多个像素点的已恢复像素样值;
若所述解码块的部分或全部参考样值不存在,则根据所述第一参考样值确定所述解码块的不存在的参考样值,获得帧内预测参考样值;
或者,判断所述解码块的匹配块中的参考样值是否均存在;
若所述解码块的匹配块中的部分或全部参考样值不存在,则判断为所述解码块的部分或全部参考样值不存在,根据所述第一参考样值确定所述解码块的不存在的参考样值,获得帧内预测参考样值。
59.根据权利要求55所述的装置,其特征在于,所述预测差确定单元,具体用于:
对所述预测差参数进行伸缩和变换处理,得到所述解码块的预测差。
60.根据权利要求55所述的装置,其特征在于,所述恢复值获得单元,具体用于:
对所述解码块的恢复值进行环路滤波处理得到解码值。
61.一种编码器,其特征在于,包括:第一处理器、第一存储介质、第一通信总线,其中,所述第一处理器和所述第一存储介质通过所述第一通信总线连接;
第一处理器,调用第一存储介质存储的图像编码相关程序,并执行如下步骤:
根据编码块中的像素样值,确定所述编码块的第一参考样值;
根据所述第一参考样值,确定所述编码块的帧内预测模式,并计算所述编码块的帧内预测值;
根据所述编码块的原始值与所述帧内预测值,获得预测差参数;
对所述第一参考样值、所述帧内预测模式、和所述预测差参数进行编码,将编码比特写入码流。
62.一种解码器,其特征在于,包括:第二处理器、第二存储介质、第二通信总线,其中,所述第二处理器和所述第二存储介质通过所述第二通信总线连接;
第二处理器,调用第二存储介质存储的图像解码相关程序,并执行如下步骤:
解析码流,获得解码块的第一参考样值、帧内预测模式和预测差参数;
根据所述第一参考样值确定所述解码块的帧内预测参考样值;
根据所述帧内预测参考样值以及所述帧内预测模式构造所述解码块的帧内预测值;
使用预测差参数计算所述解码块的预测差;
计算所述帧内预测值和所述预测差的和值,获得所述解码块的恢复值。
63.一种计算机存储介质,其特征在于,应用于编码器中,计算机可读处处介质存储有一个或多个图像编码相关程序,一个或者多个图像编码相关程序可被一个或者多个第一处理器执行,以实现如权利要求1至25的方法。
64.一种计算机存储介质,其特征在于,应用于解码器中,计算机可读处处介质存储有一个或多个图像解码相关程序,一个或者多个图像解码相关程序可被一个或者多个第二处理器执行,以实现如权利要求26至46的方法。
CN201810671512.9A 2018-06-26 2018-06-26 一种图像编码方法、解码方法、编码器、解码器及存储介质 Active CN110650337B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201810671512.9A CN110650337B (zh) 2018-06-26 2018-06-26 一种图像编码方法、解码方法、编码器、解码器及存储介质
US17/255,018 US11343513B2 (en) 2018-06-26 2019-05-08 Image encoding method and decoding method, encoder, decoder, and storage medium
KR1020217002646A KR102513756B1 (ko) 2018-06-26 2019-05-08 이미지 인코딩 방법, 디코딩 방법, 인코더, 디코더 및 저장매체
JP2020572841A JP7393366B2 (ja) 2018-06-26 2019-05-08 画像の符号化方法、復号化方法、エンコーダおよびデコーダ
EP19824813.0A EP3817383A4 (en) 2018-06-26 2019-05-08 Image encoding method and decoding method, encoder, decoder, and storage medium
PCT/CN2019/086046 WO2020001170A1 (zh) 2018-06-26 2019-05-08 一种图像编码方法、解码方法、编码器、解码器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810671512.9A CN110650337B (zh) 2018-06-26 2018-06-26 一种图像编码方法、解码方法、编码器、解码器及存储介质

Publications (2)

Publication Number Publication Date
CN110650337A true CN110650337A (zh) 2020-01-03
CN110650337B CN110650337B (zh) 2022-04-01

Family

ID=68986043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810671512.9A Active CN110650337B (zh) 2018-06-26 2018-06-26 一种图像编码方法、解码方法、编码器、解码器及存储介质

Country Status (6)

Country Link
US (1) US11343513B2 (zh)
EP (1) EP3817383A4 (zh)
JP (1) JP7393366B2 (zh)
KR (1) KR102513756B1 (zh)
CN (1) CN110650337B (zh)
WO (1) WO2020001170A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116578273A (zh) * 2023-02-28 2023-08-11 中国长江三峡集团有限公司 一种编码结构设计方法、装置、存储介质及电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109889827B (zh) * 2019-04-11 2021-01-29 腾讯科技(深圳)有限公司 帧内预测编码方法、装置、电子设备及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090141798A1 (en) * 2005-04-01 2009-06-04 Panasonic Corporation Image Decoding Apparatus and Image Decoding Method
CN101483780A (zh) * 2008-01-07 2009-07-15 华为技术有限公司 一种帧内预测的方法及装置
CN103168472A (zh) * 2010-08-17 2013-06-19 吴秀美 帧内预测的解码方法
CN103460700A (zh) * 2011-04-01 2013-12-18 苗太平洋控股有限公司 以帧内预测模式解码图像的方法
CN104025588A (zh) * 2011-10-28 2014-09-03 三星电子株式会社 用于视频的帧内预测的方法和设备
CN107105241A (zh) * 2010-07-31 2017-08-29 M&K控股株式会社 图像编码装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006304102A (ja) 2005-04-22 2006-11-02 Renesas Technology Corp 画像符号化ユニットと画像符号化方法
KR101591825B1 (ko) * 2008-03-27 2016-02-18 엘지전자 주식회사 비디오 신호의 인코딩 또는 디코딩 방법 및 장치
KR20110113561A (ko) * 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
CN103067699B (zh) 2011-10-20 2018-02-16 中兴通讯股份有限公司 一种帧内预测模式编码器、解码器及其方法和电子设备
WO2015053001A1 (ja) * 2013-10-11 2015-04-16 ソニー株式会社 画像処理装置及び画像処理方法
US10869031B2 (en) 2014-07-07 2020-12-15 Hfi Innovation Inc. Method of intra block copy search and compensation range
US10455249B2 (en) 2015-03-20 2019-10-22 Qualcomm Incorporated Downsampling process for linear model prediction mode
US10200713B2 (en) * 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
KR20180059482A (ko) * 2015-10-22 2018-06-04 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
US10194170B2 (en) * 2015-11-20 2019-01-29 Mediatek Inc. Method and apparatus for video coding using filter coefficients determined based on pixel projection phase
EP3361726A1 (en) * 2015-11-24 2018-08-15 Samsung Electronics Co., Ltd. Method and device for video decoding and method and device for video encoding
CN109076241B (zh) * 2016-05-04 2023-06-23 微软技术许可有限责任公司 利用样本值的非相邻参考线进行帧内图片预测
CN116527887A (zh) * 2016-08-01 2023-08-01 韩国电子通信研究院 图像编码/解码方法和设备以及存储比特流的记录介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090141798A1 (en) * 2005-04-01 2009-06-04 Panasonic Corporation Image Decoding Apparatus and Image Decoding Method
CN101483780A (zh) * 2008-01-07 2009-07-15 华为技术有限公司 一种帧内预测的方法及装置
CN107105241A (zh) * 2010-07-31 2017-08-29 M&K控股株式会社 图像编码装置
CN103168472A (zh) * 2010-08-17 2013-06-19 吴秀美 帧内预测的解码方法
CN103460700A (zh) * 2011-04-01 2013-12-18 苗太平洋控股有限公司 以帧内预测模式解码图像的方法
EP3852364A1 (en) * 2011-04-01 2021-07-21 IBEX PT Holdings Co., Ltd. Method for decoding image in intra prediction mode
CN104025588A (zh) * 2011-10-28 2014-09-03 三星电子株式会社 用于视频的帧内预测的方法和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱昌秀: "《H.265/HEVC-视频编码新标准及其扩展》", 31 July 2016 *
毕厚杰等: "《新一代视频压缩编码标准-H.264/AVC》", 30 November 2009 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116578273A (zh) * 2023-02-28 2023-08-11 中国长江三峡集团有限公司 一种编码结构设计方法、装置、存储介质及电子设备
CN116578273B (zh) * 2023-02-28 2024-02-09 中国长江三峡集团有限公司 一种编码结构设计方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
US20210274193A1 (en) 2021-09-02
CN110650337B (zh) 2022-04-01
KR102513756B1 (ko) 2023-03-24
EP3817383A1 (en) 2021-05-05
US11343513B2 (en) 2022-05-24
JP2021529473A (ja) 2021-10-28
EP3817383A4 (en) 2022-06-29
JP7393366B2 (ja) 2023-12-06
WO2020001170A1 (zh) 2020-01-02
KR20210028212A (ko) 2021-03-11

Similar Documents

Publication Publication Date Title
KR102628895B1 (ko) 조인트 크로마 코딩을 사용하는 블록에 대해 크로마 디블로킹을 수행하기 위한 인코더, 디코더 및 대응 방법
JP7271683B2 (ja) エンコーダ、デコーダ、および対応するイントラ予測方法
CN106170092B (zh) 用于无损编码的快速编码方法
KR102518627B1 (ko) 이미지 인코딩 방법, 디코딩방법, 인코더 및 디코더
US11153591B2 (en) Method and apparatus for color transform in VVC
CN110754091B (zh) 用于360度视频编码的解块滤波
US11902545B2 (en) Color transform for video coding
CN113508592A (zh) 编码器、解码器及相应的帧间预测方法
CN115023953A (zh) 指示高级语法的编码器、解码器以及对应方法
CN110650337B (zh) 一种图像编码方法、解码方法、编码器、解码器及存储介质
KR20220065880A (ko) 아핀 모션 보상에서 dct 기반 보간 필터 및 향상된 쌍선형 보간 필터의 사용
CN114679583A (zh) 视频编码器、视频解码器及对应方法
US10742979B2 (en) Nonlinear local activity for adaptive quantization
US20230336748A1 (en) Chroma from luma prediction using mapping and different types
US20230370601A1 (en) Chroma from luma prediction based on merged chroma blocks
US20230345015A1 (en) Chroma from luma prediction using neighbor luma samples
AU2022442102A1 (en) Chroma from luma prediction using neighbor luma samples

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