CN104702962B - 帧内编解码方法、编码器和解码器 - Google Patents
帧内编解码方法、编码器和解码器 Download PDFInfo
- Publication number
- CN104702962B CN104702962B CN201510094314.7A CN201510094314A CN104702962B CN 104702962 B CN104702962 B CN 104702962B CN 201510094314 A CN201510094314 A CN 201510094314A CN 104702962 B CN104702962 B CN 104702962B
- Authority
- CN
- China
- Prior art keywords
- type
- pixels
- pixel
- value
- image block
- 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 310
- 230000009466 transformation Effects 0.000 claims abstract description 123
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 80
- 238000013139 quantization Methods 0.000 claims abstract description 71
- 239000011159 matrix material Substances 0.000 claims description 83
- 230000001131 transforming effect Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 19
- 238000012937 correction Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000003672 processing method Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/18—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 set of transform coefficients
-
- 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/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例提供一种帧内编解码的方法、编码器和解码器,帧内编码的方法包括获取当前图像块的参考像素值;根据该当前图像块的参考像素值,采用帧内预测算法得到当前图像块中第一类像素的预测值,当前图像块包括第一类像素和第二类像素,第二类像素为当前图像块中除第一类像素之外的像素;根据第一类像素的预测值和第一类像素的原始像素值得到第一类像素的残差值;根据第一类像素的残差值,得到变换系数;量化变换系数,得到量化变换系数;根据量化变换系数和第一类像素的预测值,对第一类像素进行重建,得到第一类像素的重建值;根据第一类像素的重建值,采用插值法得到第二类像素的重建值。本发明实施例能够灵活编码,提高编码效率。
Description
技术领域
本发明涉及视频编解码领域,特别涉及一种帧内编解码方法、编码器和解码器。
背景技术
视频信号由于信息量很大,对传输网络带宽或者介质存储空间要求高。因此,在传输视频信号之前要先进行压缩编码,然后再传输以便节省传输的网络带宽或者介质的存储空间。视频压缩编码主要目标为,在一定的码率(rate/bitrate)下使压缩重建的图像失真(distortion)尽量小。
传统的帧内编码,通常包括预测(prediction)、变换(transform)、量化(quantization)、熵编码(entropy coding)等多个环节具体地,首先,对一个图像块,根据图像块周围已经重建的参考像素,进行帧内预测(Intra prediction)。帧内预测方式例如视频压缩标准(High Efficiency Video Coding,HEVC)中的33种方向性预测,直流(DirectCurrent,DC)预测,平面(Planar)预测,或者基于模版匹配(template matching)的预测。然后,将图像块的原始像素值(original pixel value,也就是图像块中像素未经压缩的原始值)与预测像素值(predicted pixel value,也就是图像块中像素通过预测得到的预测值)相减,得到整个图像块的残差值(residual)。对残差值做变换得到变换系数(transformcoefficient)。之后,对变换系数进行量化得到量化变换系数(quantized transformcoefficient)。最后,将预测模式信息和由量化变换系数表示的残差值信息通过熵编码方法编码为码流。
相应地,视频解码是将码流转换为视频图像的过程,传统的帧内解码包括熵解码(entropy decoding)、预测、反量化(dequantization)、反变换(inverse transform)等主要环节。首先,将码流通过熵解码处理解析出编码模式信息和量化变换系数。然后,一方面由帧内预测模式信息和已经解码的重建像素得出预测像素;另一方面将量化变换系数通过反量化得到重建的变换系数,再对重建的变换系数进行反变换,得到重建的残差值信息。之后,将重建的 残差值信息和预测像素相加,得到重建像素,从而恢复出视频图像。
因此,现有编码方法不够灵活,编码效率低。
发明内容
本发明实施例提供一种帧内编解码的方法、编码器和解码器,该帧内编码的方法能够灵活编码,提高编码效率。
第一方面,提供了一种帧内编码的方法,包括:获取当前图像块的参考像素值;根据该当前图像块的参考像素值,采用帧内预测算法得到该当前图像块中第一类像素的预测值,该当前图像块包括第一类像素和第二类像素,该第二类像素为该当前图像块中除该第一类像素之外的像素;根据该第一类像素的预测值和该第一类像素的原始像素值确定该第一类像素的残差值;根据该第一类像素的残差值,得到变换系数;量化该变换系数,得到量化变换系数;根据该量化变换系数和该第一类像素的预测值,对该第一类像素进行重建,得到该第一类像素的重建值;根据该第一类像素的重建值,采用插值法得到该第二类像素的重建值。
结合第一方面,在第一种可能的实现方式中,在根据该第一类像素的重建值,采用插值法得到该第二类像素的重建值之前,该方法还包括:根据该帧内预测算法确定该插值法,其中,该插值法中的插值方式与该帧内预测算法包括的插值方式相同。
结合第一方面、第一种可能的实现方式中的任一种可能的实现方式,在第二种可能的实现方式中,该根据该第一类像素的残差值,得到变换系数,包括:根据该第一类像素的残差值得到该第二类像素中的B个像素的残差值,B为不小于1的正整数,对该第一类像素的残差值和该B个像素的残差值进行变换,得到该变换系数,其中,该变换系数中固定0系数的数量等于B。
结合第二种可能的实现方式,在第三种可能的实现方式中,该第一类像素的残差值的数量为A个,该第二类像素中的B个像素对应B个残差值,其中,该A个残差值与该第一类像素中的像素一一对应,该B个残差值与该B个像素一一对应,该根据该第一类像素的残差值得到该第二类像素中的B个像素的残差值,包括:确定与该第一类像素的残差值的数量A和该第二类像素中的B个像素的残差值的数量B对应的B×A矩阵;将该B×A矩阵 与该A个第一类像素的残差值组成的列向量相乘,得到该第二类像素中的B个像素的残差值所构成的列向量;根据该第二类像素中的B个像素的残差值所构成的列向量,得到该第二类像素中的B个像素的残差值。
结合第一方面、第一种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该根据该第一类像素的残差值,得到变换系数,包括:将该第二类像素中的至少一个像素中每一个像素的原始值减去该每一个像素的预测值,得到该每一个像素的残差值,其中,该每一个像素的预测值是采用帧内预测算法得到的;对该第一类像素的残差值和该第二类像素中的至少一个像素的残差值进行变换,得到该变换系数。
结合第一方面、第一至第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该对该变换系数进行量化,得到量化变换系数,包括按照变换系数的扫描顺序对该变换系数进行量化,得到量化变换系数。
结合第五种可能的实现方式,在第六种可能的实现方式中,该按照变换系数的扫描顺序对该变换系数进行量化,得到量化变换系数,包括:根据以下公式得到该量化变换系数:
其中,
Cm为扫描顺序上除去固定0系数的第m个变换系数,为Cm的量化变换系数,Q(*)为量化处理函数;Δm为一个由Cm之后变换系数的量化误差决定的修正项,bm,j为加权系数,由变换矩阵和扫描顺序上第一类像素的位置决定,m=1,2,…,M,M为第一类像素的数目,N为第一类像素和第二类像素的数目总和。
结合第一方面、第一至第六种可能的实现方式中的任一种可能的实现方式,在第七种可能的实现方式中,该根据该第一类像素的预测值和该第一类像素的原始像素值得到该第一类像素的残差值,包括:将该第一类像素的原始值减去该第一类像素的预测值,得到该第一类像素的残差值。
结合第一方面、第一至第七种可能的实现方式中的任一种可能的实现方式,在第八种可能的实现方式中,还包括:根据该量化变换系数生成码流,以便解码设备根据该码流重建该当前图像块。
结合第八种可能的实现方式,在第九种可能的实现方式中,该根据该量化变换系数生成码流,包括:采用熵编码方法,对该帧内预测算法的信息和该量化变换系数进行编码,得到该码流。
结合第八种可能的实现方式,在第十种可能的实现方式中,该根据该量化变换系数生成码流,包括:采用熵编码方法,对该帧内预测算法的信息、该量化变换系数和该插值法的信息进行编码,得到该码流。
第二方面,提供了一种帧内解码的方法,包括:获取当前图像块的参考像素值;根据该当前图像块的参考像素值,采用帧内预测算法得到该当前图像块中第一类像素的预测值,该当前图像块包括第一类像素和第二类像素,该第二类像素为该当前图像块中除第一类像素之外的像素;对当前图像块的量化变换系数进行反量化,得到变换系数;对该变换系数进行反变换,得到该第一类像素的重建残差值;将该第一类像素的重建残差值与该第一类像素的预测值相加,得到该第一类像素的重建值;根据该第一类像素的重建值,采用插值法得到该第二类像素的重建值。
结合第二方面,在第一种可能的实现方式中,在对该变换系数进行反变换之前,还包括:按照变换系数的扫描顺序将该变换系数放置在变换系数矩阵中的第一类预设位置,其中,该变换系数矩阵中的第二类预设位置的变换系数设为预设值,该第二类预设位置的数目与该第一类预设位置的数目之和等于该变换系数矩阵中变换系数的总数目。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,在根据该第一类像素的重建值,通过插值法得到该第二类像素的重建值之前,还包括:根据该帧内预测算法确定该插值法,该插值法中的插值方式与该帧内预测算法包括的插值方式相同。
结合第二方面或第二方面的第一种可能的实现方式,在第三种可能的实现方式中,在根据该第一类像素的重建值,通过插值法得到该第二类像素的重建值之前,还包括:根据该图像块的码流确定该插值法。
第三方面,提供了一种编码器,包括:第一获取单元,用于获取当前图像块的参考像素值;第二获取单元,用于根据该当前图像块的参考像素值,采用帧内预测算法得到该当前图像块中第一类像素的预测值,该当前图像块包括第一类像素和第二类像素,该第二类像素为该当前图像块中除第一类像素之外的像素;第一确定单元,用于根据该第一类像素的预测值和该第一类 像素的原始像素值得到该第一类像素的残差值;变换单元,用于根据该第一类像素的残差值,得到变换系数;量化单元,用于量化该变换系数,得到量化变换系数;第一重建单元,用于根据该量化变换系数和该第一类像素的预测值,对该第一类像素进行重建,得到该第一类像素的重建值;第二重建单元,用于根据该第一类像素的重建值,采用插值法得到该第二类像素的重建值。
结合第三方面,在第一种可能的实现方式中,还包括:第二确定单元,用于根据该帧内预测算法确定该插值法,其中,该插值法中的插值方式与该帧内预测算法包括的插值方式相同。
结合第三方面、第三方面的第一种可能的实现方式中的任一种可能的实现方式,在第二种可能的实现方式中,该变换单元具体用于根据该第一类像素的残差值得到该第二类像素中的B个像素的残差值,B为不小于1的正整数,对该第一类像素的残差值和该B个像素的残差值进行变换,得到该变换系数,其中,该变换系数中固定0系数的数量等于B。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,该第一类像素的残差值的数量为A个,该第二类像素中的B个像素对应B个残差值,其中,该A个残差值与该第一类像素中的像素一一对应,该B个残差值与该B个像素一一对应,该第三获取单元具体用于确定与该第一类像素的残差值的数量A和该第二类像素中的B个像素的残差值的数量B对应的B×A矩阵;将该B×A矩阵与该A个第一类像素的残差值组成的列向量相乘,得到该第二类像素中的B个像素的残差值所构成的列向量;根据该第二类像素中的B个像素的残差值所构成的列向量,得到该第二类像素中的B个像素的残差值。
结合第三方面、第三方面的第一种可能的实现方式中的任一种可能的实现方式,在第四种可能的实现方式中,该变换单元具体用于将该第二类像素中的至少一个像素中每一个像素的原始值减去该每一个像素的预测值,得到该每一个像素的残差值,其中,该每一个像素的预测值是采用帧内预测算法得到的;对该第一类像素的残差值和该第二类像素中的至少一个像素的残差值进行变换,得到该变换系数。
结合第三方面、第三方面的第一至第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,该量化单元具体用于按照变换 系数的扫描顺序对该变换系数进行量化,得到量化变换系数。
结合第三方面的第五种可能的实现方式,在第六种可能的实现方式中,该量化单元具体用于根据以下公式得到该量化变换系数:
其中,
Cm为扫描顺序上除去固定0系数的第m个变换系数,为Cm的量化变换系数,Q(*)为量化处理函数;Δm为一个由Cm之后变换系数的量化误差决定的修正项,bm,j为加权系数,由变换矩阵和扫描顺序上第一类像素的位置决定,m=1,2,…,M,M为第一类像素的数目,N为第一类像素和第二类像素的数目总和。
结合第三方面、第三方面的第一至第六种可能的实现方式中的任一种可能的实现方式,在第七种可能的实现方式中,该第一确定单元具体用于将该第一类像素的原始值和该第一类像素的预测值相减,得到该第一类像素的残差值。
结合第三方面、第三方面的第一至第七种可能的实现方式中的任一种可能的实现方式,在第八种可能的实现方式中,还包括:生成单元,用于根据该量化变换系数生成码流,以便解码设备根据该码流重建该当前图像块。
结合第三方面的第八种可能的实现方式,在第九种可能的实现方式中,该生成单元具体用于采用熵编码方法,对该帧内预测算法的信息和该量化变换系数进行编码,得到该码流。
结合第三方面的第八种可能的实现方式,在第十种可能的实现方式中,该生成单元具体用于采用熵编码方法,对该帧内预测算法的信息、该量化变换系数和该插值法的信息进行编码,得到该码流。
第四方面,提供了一种解码器,包括:第一获取单元,用于获取当前图像块的参考像素值;第二获取单元,用于根据该当前图像块的参考像素值,采用帧内预测算法得到该当前图像块中第一类像素的预测值,该当前图像块包括第一类像素和第二类像素该第二类像素为该当前图像块中除第一类像素之外的像素;反量化单元,用于对当前图像块的量化变换系数进行反量化,得到变换系数;反变换单元,用于对该变换系数进行反变换,得到该第一类像素的重建残差值;第一重建单元,用于将该第一类像素的重建残差值与该 第一类像素的预测值相加,得到该第一类像素的重建值;第二重建单元,用于根据该第一类像素的重建值,采用插值法得到该第二类像素的重建值。
结合第四方面,在第一种可能的实现方式中,还包括:放置单元,用于按照变换系数的扫描顺序将该变换系数放置在变换系数矩阵中的第一类预设位置,其中,该变换系数矩阵中的第二类预设位置的变换系数设为预设值,该第二类预设位置的数目与该第一类预设位置的数目之和等于该变换系数矩阵中变换系数的总数目。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:第一确定单元,用于根据该帧内预测算法确定该插值法,该插值法中的插值方式与该帧内预测算法包括的插值方式相同。
结合第四方面或第四方面的第一种可能的实现方式,在第三种可能的实现方式中还包括:第二确定单元,用于根据该图像块的码流确定该插值法。
基于上述技术方案,本发明实施例通过仅对第一类像素的残差值进行变换、量化处理后得到码流,无需对整个图像块的残差值进行编码,能够灵活编码,提高编码效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一个实施例的帧内编码的方法的示意性流程图。
图2是根据本发明一个实施例的4×4的图像块的第一类像素和第二类像素的分类示意图。
图3是根据本发明一个实施例的8×8的图像块的第一类像素和第二类像素的分类示意图。
图4是根据本发明一个实施例的变换示意图。
图5是根据本发明一个实施例的扫描顺序示意图。
图6是根据本发明一个实施例的帧内解码的方法的示意性流程图。
图7是根据本发明一个实施例的编码器的示意性框图。
图8是根据本发明一个实施例的解码器的示意性框图。
图9是是根据本发明另一实施例的编码器的示意性框图。
图10是根据本发明一个实施例的解码器的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,本发明中的像素值可以为像素的亮度分量值,也可以为像素的色度分量值(如Cb、Cr分量之一),也可以为R、G、B分量值之一;当像素由其它色彩空间如Lab(颜色模型)、HSV(色调、饱和度和亮度)表示时,也可以为这些色彩分量(color component)之一。相应的,变换系数和残差值也对应于这个色彩分量。
图1是根据本发明一个实施例的帧内编码的方法的示意性流程图。图1所示的方法可以由编码器执行,具体地,如图1所示的方法包括:
110,获取当前图像块的参考像素值。
120,根据当前图像块的参考像素值,采用帧内预测算法得到当前图像块中第一类像素的预测值,当前图像块包括第一类像素和第二类像素,第二类像素为当前图像块中除第一类像素之外的像素。
130,根据第一类像素的预测值和第一类像素的原始像素值确定第一类像素的残差值。
140,根据第一类像素的残差值,得到变换系数。
150,对变换系数进行量化,得到量化变换系数。
160,根据量化变换系数和第一类像素的预测值,对第一类像素进行重建,得到第一类像素的重建值。
170,根据第一类像素的重建值,采用插值法得到第二类像素的重建值。
因此,本发明实施例通过仅对第一类像素的残差值进行变换、量化处理后得到码流,无需对整个图像块的残差值进行编码,能够灵活编码,提高了编码效率。
进一步地,本发明实施例根据量化变换系数和第一类像素(一部分像素)的预测值,对第一类像素进行重建,得到第一类像素的重建值;同时将第二 类像素(另一部分像素)直接使用基于一部分已重建像素的插值方法进行重建。通过这种将一个编码块分解为两类像素分别采用不同方式编码和重建的方法,能够节省码率,提高了编码效率。
应理解,当前图像块可以为当前帧中的任意一个或一种图像块。本发明实施例中的图像块可以为多种大小的图像块,例如可以为大小为3×3、4×4、8×8、16×16、32×32、64×64、8×4、4×8、16×12或9×9的图像块等,本发明实施例并不限于此。
应注意,当前图像块中的像素包括两类像素,分别为第一类像素和第二类像素,其中,第一类像素可以为位于当前图像块中的任意位置的像素,例如,第一类像素可以位于当前图像块的右边界、下边界、中心、左下对角线、右下对角线等位置,也可以位于其它位置;第一类像素的数目大于0且小于整个当前图像块的像素数目,例如第一类像素的个数为整个当前图像块像素数目的1/2、7/16、15/32、3/4或1/4等。第二类像素为图像块中除了第一类像素外的像素。
图2为本发明实施例的4×4的图像块的第一类像素和第二类像素的分类示例,图2中给出了8种示例,图2(a)-图2(h)其中,可以采用图2(a)中第一类像素和第二类像素的分类情形。
应理解,较大的图像块中的第一类像素和第二类像素的分类可以看成由多个小的图像块的组合,例如,8×8的图像块或更大图像块的像素分类可以使用4个或更多的小于该图像块大小的图像块的像素分类组合,例如图3(a)示例中8×8块的像素分类由图2(a)示例4×4块的像素分类重复得到,即8×8块中的4个4×4块的像素分类均为图2(a)示例的4×4块的像素分类方法;8×8块或更大块的像素分类也可以采用其它方式,例如图2中的图2b、图2c和图2d。所有帧内预测模式可以采用相同的像素分类;也可以每一种帧内预测模式采用不同的像素分类;也可以若干个帧内预测模式使用同一种像素分类。为了描述简洁,以下实施例方式中主要以4×4图像块采用图2(a)中的像素分类方法为例,介绍具体的处理方法。
应理解,在120中,帧内预测算法可以包括H.265/HEVC或H.264/AVC(AdvancedVideo Coding高级视频编码)中的方向性预测、DC预测或Planar预测,也可以为基于模版匹配的帧内预测等,本发明实施例并不对此做限定。
应理解,采用帧内预测算法在生成第一类像素的预测值时,还可能生成 第二类像素的预测值。
还应理解,根据本发明实施例,解码器与编码器可以为同一设备,解码器与编码器也可以为不同的设备,本发明实施例并不对此做限定。
可选地,作为另一实施例,在130中,可以将第一类像素的原始值与第一类像素的预测值相减,得到第一类像素的残差值。也可以将第一类像素的预测值与第一类像素的原始值相减,得到第一类像素的残差值。第一种方式得到的第一类像素的残差值与第二种方式得到的第一类像素的残差值为相反数。在较优选的实施例中可以采用第一种方式得到第一类像素的残差值。
应理解,在第一种方式中,第一类像素的残差值中的第一残差值为第一像素的原始值与预测值的差值,换句话说,第一类像素的残差值的每一个残差值为同一个第一类像素的原始值与预测值的差值。
相似的,可以将第二类像素的原始值与第二类像素的预测值相减,得到第二类像素的残差值。
在140中,可以采用多种形式对第一类像素的残差值进行变换,例如,可以进行一维变换也可以进行二维变换等,其中,二维变换可以为二维离散余弦变换(DCT)或二维离散正弦变换(DST)等,本发明实施例并不限于此。
例如,对正方形的变换,可以采用以下公式进行变换
C=H·E·HT
其中C为变换系数矩阵,其中包括多个变换系数;E为残差值矩阵,残差值矩阵至少包括所有第一类像素的残差值,还可能包括至少一个第二类像素的残差值;H为变换矩阵,HT为变换矩阵H的转置矩阵,例如H为4×4的DST变换矩阵时
又例如8×8的DCT矩阵可使用HEVC标准中规定的DCT矩阵。
应理解,变换系数中非0变换系数的个数小于或者等于第一类像素的个数。
在150中,可以采用多种形式对变换系数进行量化,例如,一种方法,可以将变换系数除以量化步长(quantization step)并舍入(rounding)为整 数,称为普通量化处理。另一种方法,可以使用率失真优化的量化(Rate-distortion optimized quantization,RDOQ)方法进行量化。本发明实施例并不限于此。
可选地,作为另一实施例,在160中,对量化变换系数进行反量化得到重建变换系数;对重建变换系数进行反变换得到第一类像素的重建残差值;将第一类像素的重建残差值与第一类像素的预测值相加,得到第一类像素的重建值。
应理解,反量化处理可以为对量化变换系数乘以量化步长得到重建的变换系数;其中乘以量化步长的操作通常还可以使用整数乘法加移位的方式完成,例如H.265/HEVC将反量化过程为:
R(i)=sign{Q(i)}·(Q(i)·Qs'(i)+(1<<(bdshift-1)))>>bdshift
其中,sign{X}表示取X的符号,Q(i)为第i个量化变换系数,R(i)为重建的变换系数,bdshift为移位参数,Qs'(i)为整数,Qs'(i)/2bdshift近似于量化步长。Qs'(i)由电平尺度(levelScale)和缩放因子(scaling factor)共同决定。
反量化之后,得到变换系数,可以按照扫描顺序将变换系数放置在与变换系数矩阵中的第一类预设位置,其中,变换系数矩阵中的第二类预设位置的变换系数设为预设值,第二类预设位置的数目大于等于0且小于变换系数矩阵中变换系数的总数目,例如预设值可以为0;变换系数矩阵分为两部分,即第一类预设位置和第二类预设位置。进一步地,扫描顺序可以包括竖直扫描、水平扫描或对角扫描。例如,如图5所示的三种扫描顺序,分别为图5(a)竖直扫描、图5(b)水平扫描和图5(c)对角扫描。
本发明实施例中,具有多种形式的反变换形式,例如,可采用DCT反变换或DST反变换等二维可分离变换,当变换为正方形时,如以下计算式所示:
其中为反量化后重建的变换系数矩阵,其中包括多个重建的变换系数;为重建残差值矩阵,其中包括多个重建残差值;H为变换矩阵(transform matrix);HT为变换矩阵H的转置矩阵;反变换得到的残差值中至少包括所有第一类像素的残差值;还可以包括至少一个第二类像素的残差值。反变换的大小可以与图像块的大小相同,此时反变换产生的残差值的数量等于图像块中像素的数量;对于二维DST、二维DCT这些二维可分离变 换,满足变换矩阵的大小等于图像块的大小。反变换的大小也可以小于图像块的大小。例如对图2(f)示例中的4×4块,右下角3×3块包含所有第一类像素,此时用3×3的反变换对重建的变换系数进行反变换,得到这个3×3块的残差值;又例如对图3(a)示例中的8×8块,可以对其中4个4×4块分别采用4×4反变换得到4个4×4块的残差值。反变换可以同时产生图像块中第一类像素和第二类像素的残差值;为节省计算,也可以只产生第一类像素的残差值而不产生第二类像素的残差值。
应理解,由于残差值和预测值相加可能会超出像素的动态范围,例如8比特像素的动态范围为0到255,因此,在本发明实施例中,当残差值和预测值相加得出的预测值超出像素的动态范围上限或下限时,将该预测值设置为动态范围的最大值或最小值,例如为255或0。
应注意,重建第一类像素的过程可以与图6所示的解码方法中涉及重建第一类像素的过程相同,本发明实施例中重建第一类像素的具体过程可参见图6所示的解码方法中涉及重建第一类像素的过程,为避免重复,此处不在详述。
可选地,作为另一实施例,在170之前,本发明实施例方法还包括根据帧内预测算法确定插值法,其中,插值法中的插值方式与帧内预测算法包括的插值方式相同。
换句话说,插值法可以由120中的帧内预测算法确定,进而可以根据图像块的参考像素或/和第一类像素的重建值,通过插值法得到第二类像素的重建值。
具体地,插值法具有多种形式,下面介绍几种重建第二像素的方法。
方法一:基于周围像素平均的插值方法。获取第二类像素周围的参考像素或/和已重建的第一类像素,对这些像素进行加权平均,从而插值得到第二类像素的重建值。例如对图7中属于第二类像素的像素P1,1,可以使用其周围的参考像素R0,0、R0,1、R0,2、R1,0、R2,0以及已重建的第一类像素R2,2的加权平均得到P1,1,可采用的加权平均方法例如以下之一:
P1,1=(R0,0+R2,2+R0,2+R2,0)/4
P1,1=(R0,1×1.5+R1,0×1.5+R0,0+R2,2+R0,2+R2,0)/7
P1,1=(R0,1×2+R1,0×2+R0,0+R2,2+R0,2+R2,0+4)>>3
需要说明的是,由于像素值通常为整数,所以还可能需要对加权平均值 进行取整操作。
方法二:基于方向性的插值方法。根据一个预定的插值方向,获取第二类像素在这个方向上的参考像素或/和已重建的第一类像素,使用一个插值滤波器得到第二类像素的重建值。例如,插值方向为竖直方向(竖直向下)时,对图7中属于第二类像素的像素P1,2,可以根据R0,2和R2,2根据线性插值滤波器得到P1,2,例如P1,2=(2R0,2+2R2,2+2)>>2;或者根据R0,2、R2,2和R4,2经过一个三抽头滤波器得到P1,2,例如P1,2=(5R0,2-R2,2+4R4,2)>>3;还可以根据R0,1、R0,2、R0,3、R2,2、R4,1、R4,2和R4,3经过一个七抽头滤波器得到P1,2,例如P1,2=(2R0,1+4R0,2+2R0,3+5R2,2-2R4,1+R4,2-2R4,3)/10。
方法三:混合插值方法。对预定位置上的第二像素,获取它们周围的参考像素或/和已重建的第一类像素,通过线性插值得到这些第二类像素的重建值;然后,对其余位置的第二类像素,根据一个预定的方向,获取第二类像素在这个方向上的参考像素或/和已重建的第一类像素以及已重建的第二类像素,通过插值滤波器得到这些第二类像素的重建值。
方法四:基于变换的插值方法。将第二类像素位置填充为一预设值,例如0或128;对参考像素、已重建的第一类像素、已填充的第二类像素构成的像素块进行变换,去掉变换系数中预设位置的变换系数再进行反变换,得到第二类像素的重建值。
方法五:将一种HEVC的帧内预测模式作为第二类像素的插值方法。此时,第一类像素的帧内预测模式和第二类像素的帧内预测模式可以相同,也可以不同。
应理解,可以采用上述一种方法重建第二像素,也可以采用上述几种方法的组合重建第二像素,本发明实施例并不对此做限定。
可选地,作为另一实施例,在140中,根据第一类像素的残差值得到第二类像素中的B个像素的残差值,B为不小于1的正整数,
对第一类像素的残差值和B个像素的残差值进行变换,得到变换系数,其中,变换系数中固定0系数的数量等于B。
应理解,上文中进行变换的可以仅是所有第一类像素的残差值,例如,第一类像素为当前图像块中的一个小正方形块时,进行变换的可以仅是所有第一类像素的残差值,例如,所有第一类像素为8×8当前块图像块中的一个4×4块。另外,进行变换的还可以是所有第一类像素的残差值和至少一 个(B个)第二类像素的残差值,此种情况下变换的大小可以与图像块的大小相同,即用于变换的残差值的数量等于图像块中像素的数量,变换的大小也可以小于图像块的大小。特别的,对于二维DST、二维DCT这些二维可分离变换,当图像块为正方形时,在变换矩阵的大小等于图像块的大小时,这种情况下所有第一类像素的残差值和所有第二类像素的残差值都包含在变换单元内;当变换的大小小于图像块的大小时,所有第一类像素的残差值和部分第二类像素的残差值包含在变换单元内,例如对图2(f)示例中的4×4块,右下角3×3块包含所有第一类像素,此时可以仅对这个3×3块的残差值进行变换;又例如对图3(a)示例中的8×8块,可以对其中4个4×4块分别采用4×4的变换。
进一步地,作为另一实施例,第一类像素的残差值的数量为A个,第二类像素中的B个像素对应B个残差值,其中,A个残差值与第一类像素中的像素一一对应,B个残差值与B个像素一一对应,根据第一类像素的残差值得到第二类像素中的B个像素的残差值,包括:确定与第一类像素的残差值的数量A和第二类像素中的B个像素的残差值的数量B对应的B×A矩阵;将B×A矩阵与A个第一类像素的残差值组成的列向量相乘,得到第二类像素中的B个像素的残差值所构成的列向量;根据第二类像素中的B个像素的残差值所构成的列向量,得到第二类像素中的B个像素的残差值。
具体地,文献《A new padding technique for coding of arbitrarily-shapedimage/video segments》(ICIP 1999)中阐述了一种智能填充(smart padding)方法,即根据A个已知像素值(第一类像素的残差值)组成的矢量(列向量),通过一个导出的B×A矩阵与该矢量(列向量)相乘,得到另外B个像素值(第二类像素的残差值)所构成的列向量,进而得出B个像素值;这A+B个像素值经过DCT变换得到的变换系数中有B个固定位置的系数始终为0(或者由于运算精度不足而接近于0),这B个系数简称为固定0系数。通过这种方法,可以使图像块残差值的变换系数中部分系数为固定0系数,从而减少需要编码的非0系数个数。
通过smart padding方法,用第一类像素残差值的加权平均作为至少一个第二类像素的残差值,可以使产生的残差值经过变换后的变换系数中有多个固定0系数,其个数等于或大于这些产生残差值的第二类像素的个数B,因而减少需要编码的非0系数;固定0系数可以设置在变换系数矩阵中的任意 位置,本发明实施例并不对此做限定。在较佳实施例中,固定0系数可以设置在变换系数矩阵中的高频系数位置,例如右下角的系数位置,或者设置在按照系数扫描序列靠后的系数位置上等。
举例而言,对图2(a)示例的像素划分方法,由8个第一类像素残差值(如图4中的x14,x22,...,x44)得出所有8个第二类像素残差值(如图4中的p11,p12,...,p33),这个过程可以通过对第一类像素残差值构成的矢量左乘一个8×8矩阵得到第二类像素残差值,如以下公式所示:
经过二维4×4DST变换后,相应的4×4变换系数矩阵中将会出现8个固定0系数(如图4中除y14,y12,...,y41以外的8个系数);其中8×8矩阵的计算方式可由smart padding方法得出。又例如,图2(f)示例中4×4块的右下3×3块包含所有第一类像素,此时可以使用smart padding方法仅得到这3×3块中的第二类像素的残差值。需要说明的是,之后的处理中可以用3×3变换对右下3×3块的残差值进行变换和量化。
可替代地,作为另一实施例,在140中,将第二类像素中的至少一个像素中每一个像素的原始值减去该每一个像素的预测值,得到该每一个像素的残差值,其中,该每一个像素的预测值是采用帧内预测算法得到的;对第一类像素的残差值和第二类像素中的至少一个像素的残差值进行变换,得到变换系数。
换句话说,第二类像素中的至少一个像素的残差值中的每一个残差值为同一个第二类像素的原始值与预测值的差值。
可选地,作为另一实施例,在150中,按照变换系数的扫描顺序对变换系数进行量化,得到量化变换系数。
具体地,对变换系数进行量化得到量化变换系数(quantized transformcoefficient)。量化方法通常为标量量化,也可以为矢量量化等其它方式。可 以采用文献《Constrained Quantization in the Transform Domain with Applications inArbitrarily-Shaped Object Coding》(IEEE TCSVT,vol.20,no.11,2010)中阐述的一种smart quantization方法:按照变换系数扫描顺序从后向前依次确定量化变换系数,使得一个编码块中目标像素点的重建残差值的失真最小。
具体地,本发明实施例通过按照变换系数扫描顺序从后向前依次确定量化变换系数,使得第一类像素的重建残差值失真最小。
具体地,作为另一实施例,在150中,根据下公式得到量化变换系数:
其中,
Cm为扫描顺序上除去固定0系数的第m个变换系数,为Cm的量化变换系数,Q(*)为量化处理函数;Δm为一个由按照扫描顺序位于Cm之后的变换系数的量化误差决定的修正项,为按照扫描顺序在量化变换系数之后的变换系数的量化误差的加权平均值;bm,j为加权系数,它的数值由变换矩阵和扫描顺序上第一类像素的位置决定,m=1,2,…,M,M为第一类像素的数目,N为第一类像素和第二类像素的数目总和。
进一步地,作为另一实施例,变换系数的扫描顺序包括竖直扫描、水平扫描或对角扫描。
例如,对图4中使用smart padding方法形成的残差值经过变换得到的变换系数矩阵,在以图5所示的三种扫描顺序,分别为图5(a)竖直扫描、图5(b)水平扫描和图5(c)对角扫描。在这这三种扫描顺序下,由bm,n(m=1,2,…,M,n=1,2,…,N)作为元素构成的三种B矩阵Bver、Bhor、Bdiag如下。需要说明的是,此时扫描顺序上存在固定0系数,因此Cm的排列顺序上,这些固定0系数不计在内。例如,第1行第3列的系数C1,3在竖直扫描顺序上为第9个系数,但是由于C3,2和C3,3为固定0系数,所以C1,3的实际序号为7,即C1,3为C7;相似的,C1,4为C8。
需要说明的是,上述获取残差值中的两种方法与获得量化变换系数中的三种方法可以两两组合使用。其中,将基于smart padding方法的残差值处理和基于smartquantization方法的量化技术组合使用时,得到较好的编码效率。另外,当使用smartpadding方法时,变换系数中会出现固定0系数,这些固定0系数可能在扫描序列上位于两个非0系数之间,变换系数编码时可以跳过对这些固定位置的非0系数的扫描。
可选地,作为另一实施例,在150之后,本发明实施例方法还包括,根据量化变换系数生成码流,以便解码设备根据码流重建当前图像块。
进一步地,作为另一实施例,根据量化变换系数生成码流包括:采用熵编码方法,将帧内预测算法信息和量化变换系数编码为码流;帧内预测算法信息例如帧内预测模式信息。
可替代地,作为另一实施例,根据量化变换系数生成码流包括:采用熵编码方法,将帧内预测算法信息、量化变换系数和插值法的信息编码为码流。
换句话说,插值方法信息可以显式地在码流里传输。也可以根据第一类像素的帧内预测模式隐式地映射一个预设的第二类像素插值方式,此时插值方法信息不需要传输在码流中,例如第一类像素的帧内预测模式为DC模式时,第二类像素插值方式为基于周围像素平均的方法,当第一类像素的帧内预测模式为方向性预测时,第二类像素插值方式为基于相同方向的方向性插值。还可以对某几种第一类像素的帧内预测模式默认采用与之对应的预设的第二类像素插值方式,对其余的第一类像素的帧内预测模式在码流里传输第二类像素的插值方法信息。
本发明的帧内编码方法可以作为传统帧内编码方法的补充,例如在HEVC的35种帧内预测编码模式之外,加入本发明的帧内编码方法;也可以用来替换传统的帧内编码方法,例如将HEVC的DC预测模式替换为本发 明的帧内编码方法,其中第一类像素的帧内预测模式使用DC预测模式或Planar预测模式。图像块的实际帧内编码模式可以通过常用的率失真优化得到,即对图像块使用多种候选帧内编码模式进行预编码,判断每种模式的率失真代价,以率失真代价最小的模式作为这个图像块实际的编码模式。
应注意,图1至图5的例子仅仅是为了帮助本领域技术人员理解本发明实施例,而非要将本发明实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图1至图5的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上文中,结合图1至图5详细描述了本发明实施例的编码的方法,下面结合图6至图9详细描述本发明实施例的解码的方法。
图6是根据本发明一个实施例的帧内解码的方法的示意性流程图。图6所示的方法可以由解码器执行,图6所示的帧内解码方法与图1所示的帧内编码方法相对应,图6所示的方法可以为图1所示方法的逆过程。具体地,如图6所示的方法包括:
610,获取当前图像块的参考像素值。
620,根据当前图像块的参考像素值,采用帧内预测算法得到当前图像块中第一类像素的预测值,当前图像块包括第一类像素和第二类像素,第二类像素为当前图像块中除第一类像素之外的像素。
630,对当前图像块的量化变换系数进行反量化,得到变换系数。
640,对变换系数进行反变换,得到第一类像素的重建残差值。
650,将第一类像素的重建残差值与第一类像素的预测值相加,得到第一类像素的重建值。
660,根据第一类像素的重建值,采用插值法得到第二类像素的重建值。
因此,本发明实施例通过根据量化变换系数和第一类像素(一部分像素)的预测值,对第一类像素进行重建,得到第一类像素的重建值;同时将第二像素(另一部分像素)直接使用基于参考像素和/或一部分已重建像素的插值方法进行重建,节省码率。通过这种将一个编码块分解为两类像素分别采用不同方式解码的方法,能够灵活解码,提高了解码效率。
应理解,本发明实施例中的图像块可以为多种大小的图像块,例如可以为大小为3×3、4×4、8×8、16×16、32×32、64×64、8×4、4×8、16×12或9×9的图像块等,本发明实施例并不限于此。
应注意,第一类像素可以为位于当前图像块中的任意位置的像素,例如,第一类像素可以位于当前图像块的右边界、下边界、中心、左下对角线、右下对角线等位置,也可以位于其它位置;第一类像素的数目大于0且小于整个当前图像块的像素数目,例如第一类像素的个数为整个当前图像块像素数目的1/2、7/16、15/32、3/4或1/4等。第二类像素为当前图像块中除了第一类像素外的像素。
图2为本发明实施例的4×4的图像块的第一类像素和第二类像素的分类示例,图2中给出了8种示例,图2(a)-图2(h)其中,在较佳实施例中,可以采用图2(a)中第一类像素和第二类像素的分类情形。
应理解,较大的图像块中的第一类像素和第二类像素的分类可以看成由多个小的图像块的组合,例如,8×8的图像块或更大图像块的像素分类可以使用4个或更多的小于该图像块大小的图像块的像素分类组合,例如图3(a)示例中8×8块的像素分类由图2(a)示例4×4块的像素分类重复得到,即8×8块中的4个4×4块的像素分类均为图2(a)示例的4×4块的像素分类方法;8×8块或更大块的像素分类也可以采用其它方式,例如图2中的图2b、图2c和图2d。所有帧内预测模式可以采用相同的像素分类;也可以每一种帧内预测模式采用不同的像素分类;也可以若干个帧内预测模式使用同一种像素分类。为了描述简洁,以下实施例方式中主要以4×4图像块采用图2(a)中的像素分类方法为例,介绍具体的处理方法。
应理解,在620中,帧内预测算法信息可以从码流中解析得到,帧内预测算法可以包括H.265/HEVC或H.264/AVC中的方向性预测、DC预测或Planar预测,也可以为基于模版匹配的帧内预测等,本发明实施例并不对此做限定。
可选地,作为另一实施例,在640之前,本发明实施例方法还包括,按照变换系数的扫描顺序将变换系数放置在变换系数矩阵中的第一类预设位置,其中,变换系数矩阵中的第二类预设位置的变换系数设为预设值,第二类预设位置的数目与第一类预设位置的数目之和等于变换系数矩阵中变换系数的总数目。
应理解,量化变换系数可以从码流中解析得到。例如,反量化处理可以为对量化变换系数乘以量化步长得到重建的变换系数;其中乘以量化步长的操作通常还可以使用整数乘法加移位的方式完成,例如H.265/HEVC将反量化过程为:
R(i)=sign{Q(i)}·(Q(i)·Qs'(i)+(1<<(bdshift-1)))>>bdshift
其中,sign{X}表示取X的符号,Q(i)为第i个量化变换系数,R(i)为重建的变换系数,bdshift为移位参数,Qs'(i)为整数,Qs'(i)/2bdshift近似于量化步长。Qs'(i)由电平尺度(levelScale)和缩放因子(scaling factor)共同决定。
反量化之后,得到变换系数,可以按照变换系数的扫描顺序将变换系数放置在与变换系数矩阵中的第一类预设位置,其中,变换系数矩阵中的第二类预设位置的变换系数设为预设值,第二类预设位置的数目小于变换系数矩阵中变换系数的总数目,例如预设值可以为0。
进一步地,作为另一实施例,扫描顺序包括竖直扫描、水平扫描或对角扫描。
应理解,扫描顺序可以由第一类像素帧内预测模式决定,也可以在码流中传输。
例如,如图5所示的三种扫描顺序,分别为图5(a)竖直扫描、图5(b)水平扫描和图5(c)对角扫描。
可选地,在630中,具有多种形式的反变换,例如,
可采用DCT反变换或DST反变换等二维可分离变换,当变换为正方形时,如以下计算式所示:
其中为反量化后重建的变换系数矩阵,其中包括多个重建的变换系数;为重建的残差值矩阵,其中包括多个重建的残差值;H为变换矩阵(transform matrix)。反变换得到的残差值中至少包括所有第一类像素的残差值;还可以包括至少一个第二类像素的残差值。反变换的大小可以与图像块的大小相同,此时反变换产生的残差值的数量等于图像块中像素的数量;对于二维DST、二维DCT这些二维可分离变换,满足变换矩阵的大小等于图像块的大小。反变换的大小也可以小于图像块的大小。例如对图2(f)示例中的4×4块,右下角3×3块包含所有第一类像素,此时用3×3的反变换对重建的变换系数进行反变换,得到这个3×3块的残差值;又例如对图3(a)示例中的8×8块,可以对其中4个4×4块分别采用4×4反变换得到4个4×4块的残差值。反变换可以同时产生图像块中第一类像素和第二类像素的残差值;为节省计算,也可以只产生第一类像素的残差值而不产生第二类像素的残差值。
应理解,由于残差值和预测值相加可能会超出像素的动态范围,例如8比特像素的动态范围为0到255,因此,在本发明实施例中,当残差值和预测值相加得出的预测值超出像素的动态范围上限或下限时,将该预测值设置为动态范围的最大值或最小值,例如为255或0。
可选地,作为另一实施例,在660之前,本发明实施例方法还包括:根据帧内预测算法确定插值法,插值法中的插值方式与帧内预测算法包括的插值方式相同。
可替代地,作为另一实施例,在660之前,本发明实施例方法还包括:根据图像的码流确定插值法。
换句话说,插值法可以由620中的帧内预测算法确定,进而可以根据第一类像素的重建值,通过插值法得到第二类像素的重建值。
具体地,插值法具有多种形式,下面介绍几种重建第二像素的方法。
方法一:基于周围像素平均的插值方法。获取第二类像素周围的参考像素或/和已重建的第一类像素,对这些像素进行加权平均,从而插值得到第二类像素的重建值。
方法二:基于方向性的插值方法。根据一个预定的插值方向,获取第二类像素在这个方向上的参考像素或/和已重建的第一类像素,使用一个插值滤波器得到第二类像素的重建值。
方法三:混合插值方法。对预定位置上的第二像素,获取它们周围的参考像素或/和已重建的第一类像素,通过线性插值得到这些第二类像素的重建值;对其余位置的第二类像素,根据一个预定的方向,获取第二类像素在这个方向上的参考像素或/和已重建的第一类像素,以及已重建的第二类像素,通过线性插值得到这些第二类像素的重建值。
方法四:基于变换的插值方法。将第二类像素位置填充为一预设值,例如0或128;对参考像素、已重建的第一类像素、已填充的第二类像素构成的像素块进行变换,去掉预设位置的变换系数再进行反变换,得到第二类像素的重建值。
方法五:将一种HEVC的帧内预测模式作为第二类像素的插值方法。此时,第一类像素的帧内预测模式和第二类像素插值使用的帧内预测模式可以相同,也可以不同。
应理解,可以采用上述一种方法重建第二像素,也可以采用上述几种方法的组合重建第二像素,本发明实施例并不对此做限定。
第二类像素的插值方法信息可以从码流中解析得到;也可以根据第一类像素帧内预测模式映射得到,例如第一类像素帧内预测模式为方向性预测模式(例如HEVC规定的第2号到第34号预测模式中的至少一种)时,第二类像素采用基于相同方向的方向性插值方法;还可以对某几种第一类像素帧内预测模式采用与之对应的预设的第二类像素插值方法,对其余的第一类像素帧内预测模式从码流中解析得到第二类像素插值方法。
需要说明的是,不同的第一类像素帧内预测模式下,第一类像素和第二类像素的像素分类可以相同,也可以不同。例如,某几种第一类像素帧内预测模式下使用相同的像素分类方式;或者在每一种第一类像素帧内预测模式下使用不同的像素分类方式,更具体的以4×4块为例,当第一类像素帧内预测模式为DC模式时,使用图2(a)中的像素分类方式,当第一类像素帧内预测模式为竖直模式时,使用图2(d)中的像素分类方式。
通常,解码方法中的部分处理应当与编码方法中的处理相同或匹配,此时才能得到编码重建图像与解码重建图像相同的结果。例如,解码方法中的像素分类、第一类像素的帧内预测方法、系数扫描方法、第二类像素的插值方法应当与编码端相应的方法相同;解码方法中的反变换、熵解码等处理应当与编码方法中的变换、熵编码匹配,也就是说,它们是编码方法中对应方法的逆处理。另外,编码中也包括对像素的重建处理,这些重建处理也应当与解码中的重建处理相同,例如编码中对量化变换系数的反量化、反变换应当于解码中对量化变换系数的反量化、反变换相同。
应注意图6的帧内解码的方法与图1至图5的帧内编码的方法相对应,执行图6的解码器能够实现图1至图5的方法实施例中的各个过程的逆过程,根据图1至图5的帧内编码的方法对应的逆过程能够得出图6的帧内解码的方法,为避免重复,此处不再详述。
上文中,结合图1至图6详细描述了本发明实施例的帧内编码方法和帧内解码方法,下面结合图7至图10描述本发明实施例的编码器和解码器。
图7是根据本发明一个实施例的编码器的示意性框图。如图7所示的设备700包括:第一获取单元710、第二获取单元720、第一确定单元730、变换单元740、量化单元750、第一重建单元760和第二重建单元770。
具体地,第一获取单元710用于获取当前图像块的参考像素值;第一获取单元720用于根据当前图像块的参考像素值,采用帧内预测算法得到当前图像块中第一类像素的预测值,当前图像块包括第一类像素和第二类像素,第二类像素为当前图像块中除第一类像素之外的像素;第一确定单元730用于根据第一类像素的预测值和第一类像素的原始像素值得到第一类像素的残差值;变换单元740用于根据第一类像素的残差值,得到变换系数;量化单元750用于对变换系数进行量化,得到量化变换系数;第一重建单元760用于根据量化变换系数和第一类像素的预测值,对第一类像素进行重建,得到第一类像素的重建值;第二重建单元770用于根据图像块的参考像素或/和第一类像素的重建值,采用插值法得到第二类像素的重建值。
因此,本发明实施例通过仅对第一类像素的残差值进行变换、量化处理后得到码流,无需对整个图像块的残差值进行编码,能够灵活编码,提高了编码效率。
进一步地,本发明实施例根据量化变换系数和第一类像素(一部分像素)的预测值,对第一类像素进行重建,得到第一类像素的重建值;同时将第二类像素(另一部分像素)直接使用基于参考像素和/或一部分已重建像素的插值方法进行重建。通过这种将一个编码块分解为两类像素分别采用不同方式编码和重建的方法,能够节省码率,提高了编码效率。
应理解,当前图像块可以为当前帧中的任意一个或一种图像块。本发明实施例中的图像块可以为多种大小的图像块,例如可以为大小为3×3、4×4、8×8、16×16、32×32、64×64、8×4、4×8、16×12或9×9的图像块等,本发明实施例并不限于此。
应注意,第一类像素可以为位于当前图像块中的任意位置的像素,例如,第一类像素可以位于当前图像块的右边界、下边界、中心、左下对角线、右下对角线等位置,也可以位于其它位置;第一类像素的数目大于0且小于整个当前图像块的像素数目,例如第一类像素的个数为整个当前图像块像素数目的1/2、7/16、15/32、3/4或1/4等。第二类像素为图像块中除了第一类像素外的像素。
图2为本发明实施例的4×4的图像块的第一类像素和第二类像素的分类示例,图2中给出了8种示例,图2(a)-图2(h)其中,在较佳实施例中,可以采用图2(a)中第一类像素和第二类像素的分类情形。
应理解,较大的图像块中的第一类像素和第二类像素的分类可以看成由多个小的图像块的组合,例如,8×8的图像块或更大图像块的像素分类可以使用4个或更多的小于该图像块大小的图像块的像素分类组合,例如图3(a)示例中8×8块的像素分类由图2(a)示例4×4块的像素分类重复得到,即8×8块中的4个4×4块的像素分类均为图2(a)示例的4×4块的像素分类方法;8×8块或更大块的像素分类也可以采用其它方式,例如图2中的图2b、图2c和图2d。所有帧内预测模式可以采用相同的像素分类;也可以每一种帧内预测模式采用不同的像素分类;也可以若干个帧内预测模式使用同一种像素分类。为了描述简洁,以下实施例方式中主要以4×4图像块采用图2(a)中的像素分类方法为例,介绍具体的处理方法。
应理解,帧内预测算法可以包括H.265/HEVC或H.264/AVC(Advanced VideoCoding高级视频编码)中的方向性预测、DC预测或Planar预测,也可以为基于模版匹配的帧内预测等,本发明实施例并不对此做限定。
应理解,帧内预测算法在生成第一类像素的预测值时,还可能生成第二类像素的预测值。
还应理解,根据本发明实施例,解码设备与编码设备可以为同一设备,解码设备与编码设备也可以为不同的设备,本发明实施例并不对此做限定。
可选地,作为另一实施例,编码器700还包括第二确定单元;具体地,第二确定单元用于根据帧内预测算法确定插值法,其中,插值法中的插值方式与帧内预测算法包括的插值方式相同。
可选地,作为另一实施例,第一确定单元730具体用于将第一类像素的原始值和第一类像素的预测值相减,得到第一类像素的残差值。
可选地,作为另一实施例,变换单元740具体用于根据第一类像素的残差值得到第二类像素中的B个像素的残差值,B为不小于1的正整数,对第一类像素的残差值和B个像素的残差值进行变换,得到变换系数,其中,变换系数中固定0系数的数量等于B。
进一步地,作为另一实施例,第一类像素的残差值的数量为A个,第二类像素中的B个像素对应B个残差值,其中,A个残差值与第一类像素中 的像素一一对应,B个残差值与B个像素一一对应,第三获取单元具体用于确定与第一类像素的残差值的数量A和第二类像素中的B个像素的残差值的数量B对应的B×A矩阵;将B×A矩阵与A个第一类像素的残差值组成的列向量相乘,得到第二类像素中的B个像素的残差值所构成的列向量;根据第二类像素中的B个像素的残差值所构成的列向量,得到第二类像素中的B个像素的残差值。
可替代地,作为另一实施例,变换单元740具体用于将第二类像素中的至少一个像素中每一个像素的原始值减去该每一个像素的预测值,得到该每一个像素的残差值,其中,该每一个像素的预测值是采用帧内预测算法得到的;对第一类像素的残差值和第二类像素中的至少一个像素的残差值进行变换,得到变换系数。
可选地,作为另一实施例,量化单元750具体用于按照变换系数的扫描顺序对变换系数进行量化,得到量化变换系数。
进一步地,作为另一实施例,量化单元750具体用于根据以下公式得到量化变换系数:
其中,
Cm为扫描顺序上除去固定0系数的第m个变换系数,为Cm的量化变换系数,Q(*)为量化处理函数;Δm为一个由Cm之后变换系数的量化误差决定的修正项,bm,j为加权系数,由变换矩阵和扫描顺序上第一类像素的位置决定,m=1,2,…,M,M为第一类像素的数目,N为第一类像素和第二类像素的数目总和。
可选地,作为另一实施例,第二重建单元770对量化变换系数进行反量化得到重建变换系数;对重建变换系数进行反变换得到第一类像素的重建残差值;将第一类像素的重建残差值与第一类像素的预测值相加,得到第一类像素的重建值。
可选地,作为另一实施例,编码器700还包括生成单元。具体地,生成单元用于根据量化变换系数生成码流,以便解码设备根据码流重建当前图像块。
具体地,作为另一实施例,生成单元具体用于采用熵编码方法,对帧内 预测算法的信息和量化变换系数进行编码,得到码流。
可替代地,作为另一实施例,生成单元具体用于采用熵编码方法,对帧内预测算法的信息、量化变换系数和插值法的信息进行编码,得到码流。
应理解,图7所示的编码器700能够实现图1-图5的方法实施例中由编码器完成的各个过程。编码器700的其他功能和操作可以参考图1和图5的方法实施例中涉及编码器的过程。为避免重复,此处不再详述。
图8是根据本发明一个实施例的解码器的示意性框图。如图8所示的设备800包括:第一获取单元810,第二获取单元820、反量化单元830、反变换单元840、第一重建单元850和第二重建单元860。
具体地,:第一获取单元810用于获取当前图像块的参考像素值;第二获取单元820用于根据当前图像块的参考像素值,采用帧内预测算法获取当前图像块中第一类像素的预测值,当前图像块包括第一类像素和第二类像素,第二类像素为当前图像块中除第一类像素之外的像素;反量化单元830用于对当前图像块的量化变换系数进行反量化,得到变换系数;反变换单元840用于对变换系数进行反变换,得到第一类像素的重建残差值;第一重建单元850用于将第一类像素的重建残差值与第一类像素的预测值相加,得到第一类像素的重建值;第二重建单元860用于根据图像块的参考像素和/或第一类像素的重建值,采用插值法得到第二类像素的重建值。
因此,本发明实施例通过根据量化变换系数和第一类像素(一部分像素)的预测值,对第一类像素进行重建,得到第一类像素的重建值;同时将第二像素(另一部分像素)直接使用基于参考像素和/或一部分已重建像素的插值方法进行重建,节省码率。通过这种将一个编码块分解为两类像素分别采用不同方式解码的方法,能够灵活解码,提高了解码效率。
应理解,当前图像块可以为当前帧中的任意一个或一种图像块。本发明实施例中的图像块可以为多种大小的图像块,例如可以为大小为3×3、4×4、8×8、16×16、32×32、64×64、8×4、4×8、16×12或9×9的图像块等,本发明实施例并不限于此。
应注意,第一类像素可以为位于当前图像块中的任意位置的像素,例如,第一类像素可以位于当前图像块的右边界、下边界、中心、左下对角线、右下对角线等位置,也可以位于其它位置;第一类像素的数目大于0且小于整个当前图像块的像素数目,例如第一类像素的个数为整个当前图像块像素数 目的1/2、7/16、15/32、3/4或1/4等。第二类像素为图像块中除了第一类像素外的像素。
图2为本发明实施例的4×4的图像块的第一类像素和第二类像素的分类示例,图2中给出了8种示例,图2(a)-图2(h)其中,在较佳实施例中,可以采用图2(a)中第一类像素和第二类像素的分类情形。
应理解,较大的图像块中的第一类像素和第二类像素的分类可以看成由多个小的图像块的组合,例如,8×8的图像块或更大图像块的像素分类可以使用4个或更多的小于该图像块大小的图像块的像素分类组合,例如图3(a)示例中8×8块的像素分类由图2(a)示例4×4块的像素分类重复得到,即8×8块中的4个4×4块的像素分类均为图2(a)示例的4×4块的像素分类方法;8×8块或更大块的像素分类也可以采用其它方式,例如图2中的图2b、图2c和图2d。所有帧内预测模式可以采用相同的像素分类;也可以每一种帧内预测模式采用不同的像素分类;也可以若干个帧内预测模式使用同一种像素分类。为了描述简洁,以下实施例方式中主要以4×4图像块采用图2(a)中的像素分类方法为例,介绍具体的处理方法。
应理解,帧内预测算法可以包括H.265/HEVC或H.264/AVC(Advanced VideoCoding高级视频编码)中的方向性预测、DC预测或Planar预测,也可以为基于模版匹配的帧内预测等,本发明实施例并不对此做限定。
应理解,帧内预测算法在生成第一类像素的预测值时,还可能生成第二类像素的预测值。
还应理解,根据本发明实施例,解码设备与编码设备可以为同一设备,解码设备与编码设备也可以为不同的设备,本发明实施例并不对此做限定。
可选地,作为另一实施例,解码器800还包括放置单元,具体地,放置单元用于按照变换系数的扫描顺序将变换系数放置在变换系数矩阵中的第一类预设位置,其中,变换系数矩阵中的第二类预设位置的变换系数设为预设值,第二类预设位置的数目与第一类预设位置的数目之和等于变换系数矩阵中变换系数的总数目。
可选地,作为另一实施例,解码器800还包括第一确定单元;具体地第一确定单元用于根据帧内预测算法确定插值法,插值法中的插值方式与帧内预测算法包括的插值方式相同。
可替代地,作为另一实施例,解码器800还包括第二确定单元;具体地 第二确定单元用于根据图像的码流确定插值法。
应理解,图8所示的解码器800能够实现图6的方法实施例中由解码器完成的各个过程。解码器800的其他功能和操作可以参考图6的方法实施例中涉及解码器的过程。为避免重复,此处不再详述。
图9是是根据本发明另一实施例的编码器的示意性框图。如图9所示的编码器900包括:包括处理器910、存储器920和总线系统930。
具体地,处理器910通过总线系统930调用存储在存储器920中的代码,获取当前图像块的参考像素值;根据当前图像块的参考像素值,采用帧内预测算法得到当前图像块中第一类像素的预测值,当前图像块包括第一类像素和第二类像素,第二类像素为当前图像块中除第一类像素之外的像素;根据第一类像素的预测值和第一类像素的原始像素值得到第一类像素的残差值;根据第一类像素的残差值,得到变换系数;量化变换系数,得到量化变换系数;根据量化变换系数和第一类像素的预测值,对第一类像素进行重建,得到第一类像素的重建值;根据第一类像素的重建值,采用插值法得到第二类像素的重建值。
因此,本发明实施例通过仅对第一类像素的残差值进行变换、量化处理后得到码流,无需对整个图像块的残差值进行编码,能够灵活编码,提高了编码效率。
进一步地,本发明实施例根据量化变换系数和第一类像素(一部分像素)的预测值,对第一类像素进行重建,得到第一类像素的重建值;同时将第二类像素(另一部分像素)直接使用基于参考像素和/或一部分已重建像素的插值方法进行重建。通过这种将一个编码块分解为两类像素分别采用不同方式编码和重建的方法,能够节省码率,提高了编码效率。
上述本发明实施例揭示的方法可以应用于处理器910中,或者由处理器910实现。处理器910可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器910中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器910可以是通用处理器、数字信号处理器(英文Digital Signal Processor,简称DSP)、专用集成电路(英文Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(英文Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施 例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(英文Random Access Memory,简称RAM)、闪存、只读存储器(英文Read-Only Memory,简称ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器920,处理器910读取存储器920中的信息,结合其硬件完成上述方法的步骤,该总线系统930除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统930。
应理解,当前图像块可以为当前帧中的任意一个或一种图像块。本发明实施例中的图像块可以为多种大小的图像块,例如可以为大小为3×3、4×4、8×8、16×16、32×32、64×64、8×4、4×8、16×12或9×9的图像块等,本发明实施例并不限于此。
应注意,第一类像素可以为位于当前图像块中的任意位置的像素,例如,第一类像素可以位于当前图像块的右边界、下边界、中心、左下对角线、右下对角线等位置,也可以位于其它位置;第一类像素的数目大于0且小于整个当前图像块的像素数目,例如第一类像素的个数为整个当前图像块像素数目的1/2、7/16、15/32、3/4或1/4等。第二类像素为图像块中除了第一类像素外的像素。
图2为本发明实施例的4×4的图像块的第一类像素和第二类像素的分类示例,图2中给出了8种示例,图2(a)-图2(h)其中,在较佳实施例中,可以采用图2(a)中第一类像素和第二类像素的分类情形。
应理解,较大的图像块中的第一类像素和第二类像素的分类可以看成由多个小的图像块的组合,例如,8×8的图像块或更大图像块的像素分类可以使用4个或更多的小于该图像块大小的图像块的像素分类组合,例如图3(a)示例中8×8块的像素分类由图2(a)示例4×4块的像素分类重复得到,即8×8块中的4个4×4块的像素分类均为图2(a)示例的4×4块的像素分类方法;8×8块或更大块的像素分类也可以采用其它方式,例如图2中的图2b、图2c和图2d。所有帧内预测模式可以采用相同的像素分类;也可以每一种帧内预测模式采用不同的像素分类;也可以若干个帧内预测模式使用同 一种像素分类。为了描述简洁,以下实施例方式中主要以4×4图像块采用图2(a)中的像素分类方法为例,介绍具体的处理方法。
应理解,帧内预测算法可以包括H.265/HEVC或H.264/AVC(Advanced VideoCoding高级视频编码)中的方向性预测、DC预测或Planar预测,也可以为基于模版匹配的帧内预测等,本发明实施例并不对此做限定。
应理解,帧内预测算法在生成第一类像素的预测值时,还可能生成第二类像素的预测值。
还应理解,根据本发明实施例,解码设备与编码设备可以为同一设备,解码设备与编码设备也可以为不同的设备,本发明实施例并不对此做限定。
进一步地,作为另一实施例,处理器910还用于根据帧内预测算法确定插值法,其中,插值法中的插值方式与帧内预测算法包括的插值方式相同。
可选地,作为另一实施例,处理器910具体用于将第一类像素的原始值和第一类像素的预测值相减,得到第一类像素的残差值。
可选地,作为另一实施例,处理器910具体用于根据第一类像素的残差值得到第二类像素中的B个像素的残差值,B为不小于1的正整数,对第一类像素的残差值和B个像素的残差值进行变换,得到变换系数,其中,变换系数中固定0系数的数量等于B。
进一步地,作为另一实施例第一类像素的残差值的数量为A个,第二类像素中的B个像素对应B个残差值,其中,A个残差值与第一类像素中的像素一一对应,B个残差值与B个像素一一对应,处理器910具体用于确定与第一类像素的残差值的数量A和第二类像素中的B个像素的残差值的数量B对应的B×A矩阵;将B×A矩阵与A个第一类像素的残差值组成的列向量相乘,得到第二类像素中的B个像素的残差值所构成的列向量;根据第二类像素中的B个像素的残差值所构成的列向量,得到第二类像素中的B个像素的残差值。
可替代,作为另一实施例,处理器910具体用于将第二类像素中的至少一个像素中每一个像素的原始值减去该每一个像素的预测值,得到该每一个像素的残差值,其中,该每一个像素的预测值是采用帧内预测算法得到的;对第一类像素的残差值和第二类像素中的至少一个像素的残差值进行变换,得到变换系数。
可选地,作为另一实施例,处理器910具体用于按照变换系数的扫描顺 序对变换系数进行量化,得到量化变换系数。
进一步地,作为另一实施例,处理器910具体用于根据以下公式得到量化变换系数:
其中,
Cm为扫描顺序上除去固定0系数的第m个变换系数,为Cm的量化变换系数,Q(*)为量化处理函数;Δm为一个由Cm之后变换系数的量化误差决定的修正项,bm,j为加权系数,由变换矩阵和扫描顺序上第一类像素的位置决定,m=1,2,…,M,M为第一类像素的数目,N为第一类像素和第二类像素的数目总和。
可选地,作为另一实施例,处理器910具体用于对量化变换系数进行反量化得到重建变换系数;对重建变换系数进行反变换得到第一类像素的重建残差值;将第一类像素的重建残差值与第一类像素的预测值相加,得到第一类像素的重建值。
可选地,作为另一实施例,处理器910还用于根据量化变换系数生成码流,以便解码设备根据码流重建当前图像块。
可选地,作为另一实施例,处理器910具体用于采用熵编码方法,对帧内预测算法的信息和量化变换系数进行编码,得到码流。
可替代地,作为另一实施例,处理器910具体用于采用熵编码方法,对帧内预测算法的信息、量化变换系数和插值法的信息进行编码,得到码流。
应理解,图9所示的编码器900与图7所示的编码器700相对应,能够实现图1-图5的方法实施例中由编码器完成的各个过程。编码器900的其他功能和操作可以参考图1和图5的方法实施例中涉及编码器的过程。为避免重复,此处不再详述。
图10是根据本发明一个实施例的解码器的示意性框图。如图10所示的解码器1000包括:处理器1010、存储器1020和总线系统1030。
具体地,处理器1010通过总线系统1030调用存储在存储器1020中的代码,获取当前图像块的参考像素值;根据当前图像块的参考像素值,采用帧内预测算法获取当前图像块中第一类像素的预测值,当前图像块包括第一类像素和第二类像素,第二类像素为当前图像块中除第一类像素之外的像 素;对当前图像块的量化变换系数进行反量化,得到变换系数;对变换系数进行反变换,得到第一类像素的重建残差值;将第一类像素的重建残差值与第一类像素的预测值相加,得到第一类像素的重建值;根据第一类像素的重建值,采用插值法得到第二类像素的重建值。
因此,本发明实施例通过根据量化变换系数和第一类像素(一部分像素)的预测值,对第一类像素进行重建,得到第一类像素的重建值;同时将第二像素(另一部分像素)直接使用基于参考像素和/或一部分已重建像素的插值方法进行重建,节省码率。通过这种将一个编码块分解为两类像素分别采用不同方式解码的方法,能够灵活解码,提高了解码效率。
上述本发明实施例揭示的方法可以应用于处理器1010中,或者由处理器1010实现。处理器1010可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1010中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1010可以是通用处理器、数字信号处理器(英文Digital Signal Processor,简称DSP)、专用集成电路(英文Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(英文Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(英文Random Access Memory,简称RAM)、闪存、只读存储器(英文Read-OnlyMemory,简称ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1020,处理器1010读取存储器1020中的信息,结合其硬件完成上述方法的步骤,该总线系统1030除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1030。
应理解,当前图像块可以为当前帧中的任意一个或一种图像块。本发明实施例中的图像块可以为多种大小的图像块,例如可以为大小为3×3、4×4、8×8、16×16、32×32、64×64、8×4、4×8、16×12或9×9的图像块等,本发明实施例并不限于此。
应注意,第一类像素可以为位于当前图像块中的任意位置的像素,例如,第一类像素可以位于当前图像块的右边界、下边界、中心、左下对角线、右下对角线等位置,也可以位于其它位置;第一类像素的数目大于0且小于整个当前图像块的像素数目,例如第一类像素的个数为整个当前图像块像素数目的1/2、7/16、15/32、3/4或1/4等。第二类像素为图像块中除了第一类像素外的像素。
图2为本发明实施例的4×4的图像块的第一类像素和第二类像素的分类示例,图2中给出了8种示例,图2(a)-图2(h)其中,在较佳实施例中,可以采用图2(a)中第一类像素和第二类像素的分类情形。
应理解,较大的图像块中的第一类像素和第二类像素的分类可以看成由多个小的图像块的组合,例如,8×8的图像块或更大图像块的像素分类可以使用4个或更多的小于该图像块大小的图像块的像素分类组合,例如图3(a)示例中8×8块的像素分类由图2(a)示例4×4块的像素分类重复得到,即8×8块中的4个4×4块的像素分类均为图2(a)示例的4×4块的像素分类方法;8×8块或更大块的像素分类也可以采用其它方式,例如图2中的图2b、图2c和图2d。所有帧内预测模式可以采用相同的像素分类;也可以每一种帧内预测模式采用不同的像素分类;也可以若干个帧内预测模式使用同一种像素分类。为了描述简洁,以下实施例方式中主要以4×4图像块采用图2(a)中的像素分类方法为例,介绍具体的处理方法。
应理解,帧内预测算法可以包括H.265/HEVC或H.264/AVC(Advanced VideoCoding高级视频编码)中的方向性预测、DC预测或Planar预测,也可以为基于模版匹配的帧内预测等,本发明实施例并不对此做限定。
应理解,帧内预测算法在生成第一类像素的预测值时,还可能生成第二类像素的预测值。
还应理解,根据本发明实施例,解码设备与编码设备可以为同一设备,解码设备与编码设备也可以为不同的设备,本发明实施例并不对此做限定。
可选地,作为另一实施例,处理器1010还用于按照变换系数的扫描顺序将变换系数放置在变换系数矩阵中的第一类预设位置,其中,变换系数矩阵中的第二类预设位置的变换系数设为预设值,第二类预设位置的数目与第一类预设位置的数目之和等于变换系数矩阵中变换系数的总数目。
可选地,作为另一实施例,处理器1010还用于根据帧内预测算法确定 插值法,插值法中的插值方式与帧内预测算法包括的插值方式相同。
可替代地,作为另一实施例,处理器1010还用于根据图像块的码流确定插值法。
应理解,图10所示的解码器1000与图8所示的解码器800相对应,能够实现图6的方法实施例中由解码器完成的各个过程。解码器1000的其他功能和操作可以参考图6的方法实施例中涉及解码器的过程。为避免重复,此处不再详述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对 应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光 光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (30)
1.一种帧内编码的方法,其特征在于,包括:
获取当前图像块的参考像素值;
根据所述当前图像块的参考像素值,采用帧内预测算法得到所述当前图像块中第一类像素的预测值,所述当前图像块包括第一类像素和第二类像素,所述第二类像素为所述当前图像块中除所述第一类像素之外的像素;
根据所述第一类像素的预测值和所述第一类像素的原始像素值得到所述第一类像素的残差值;
根据所述第一类像素的残差值,得到变换系数,其中,变换矩阵的大小小于或者等于所述当前图像块的大小,且所有第一类像素的残差值都包含在变换单元内;
量化所述变换系数,得到量化变换系数;
根据所述量化变换系数和所述第一类像素的预测值,对所述第一类像素进行重建,得到所述第一类像素的重建值;
根据所述第一类像素的重建值,采用插值法得到所述第二类像素的重建值。
2.根据权利要求1所述的方法,其特征在于,在根据所述第一类像素的重建值,采用插值法得到所述第二类像素的重建值之前,所述方法还包括:
根据所述帧内预测算法确定所述插值法,其中,所述插值法的插值方式与所述帧内预测算法的插值方式相同。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一类像素的残差值,得到变换系数,包括:
根据所述第一类像素的残差值得到所述第二类像素中的B个像素的残差值,B为不小于1的正整数,
对所述第一类像素的残差值和所述B个像素的残差值进行变换,得到所述变换系数,其中,所述变换系数中固定0系数的数量等于B。
4.根据权利要求3所述的方法,其特征在于,所述第一类像素的残差值的数量为A个,所述第二类像素中的B个像素对应B个残差值,其中,所述A个残差值与所述第一类像素中的像素一一对应,所述B个残差值与所述B个像素一一对应,所述根据所述第一类像素的残差值得到所述第二类像素中的B个像素的残差值,包括:
确定与所述第一类像素的残差值的数量A和所述第二类像素中的B个像素的残差值的数量B对应的B×A矩阵;
将所述B×A矩阵与所述A个第一类像素的残差值组成的列向量相乘,得到所述第二类像素中的B个像素的残差值所构成的列向量;
根据所述第二类像素中的B个像素的残差值所构成的列向量,得到所述第二类像素中的B个像素的残差值。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一类像素的残差值,得到变换系数,包括:
将所述第二类像素中的至少一个像素中每一个像素的原始值减去所述每一个像素的预测值,得到所述每一个像素的残差值,其中,所述每一个像素的预测值是采用帧内预测算法得到的;
对所述第一类像素的残差值和所述第二类像素中的至少一个像素的残差值进行变换,得到所述变换系数。
6.根据权利要求1或2所述的方法,其特征在于,所述对所述变换系数进行量化,得到量化变换系数,包括:
按照变换系数的扫描顺序对所述变换系数进行量化,得到量化变换系数。
7.根据权利要求6所述的方法,其特征在于,所述按照变换系数的扫描顺序对所述变换系数进行量化,得到量化变换系数,包括:
根据以下公式得到所述量化变换系数:
其中,
Cm为扫描顺序上除去固定0系数的第m个变换系数,为Cm的量化变换系数,Q(*)为量化处理函数;Δm为一个由Cm之后变换系数的量化误差决定的修正项,bm,j为加权系数,由变换矩阵和扫描顺序上第一类像素的位置决定,m=1,2,…,M,M为第一类像素的数目,N为第一类像素和第二类像素的数目总和。
8.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一类像素的预测值和所述第一类像素的原始像素值得到所述第一类像素的残差值,包括:
将所述第一类像素的原始值减去所述第一类像素的预测值,得到所述第一类像素的残差值。
9.根据权利要求1或2所述的方法,其特征在于,还包括:
根据所述量化变换系数生成码流,以便解码设备根据所述码流重建所述当前图像块。
10.根据权利要求9所述的方法,其特征在于,所述根据所述量化变换系数生成码流,包括:
采用熵编码方法,对所述帧内预测算法的信息和所述量化变换系数进行编码,得到所述码流。
11.根据权利要求9所述的方法,其特征在于,所述根据所述量化变换系数生成码流,包括:
采用熵编码方法,对所述帧内预测算法的信息、所述量化变换系数和所述插值法的信息进行编码,得到所述码流。
12.一种帧内解码的方法,其特征在于,包括:
获取当前图像块的参考像素值;
根据所述当前图像块的参考像素值,采用帧内预测算法得到所述当前图像块中第一类像素的预测值,所述当前图像块包括第一类像素和第二类像素,所述第二类像素为所述当前图像块中除第一类像素之外的像素;
对当前图像块的量化变换系数进行反量化,得到变换系数;
对所述变换系数进行反变换,得到所述第一类像素的重建残差值,其中,变换矩阵的大小小于或者等于所述当前图像块的大小,且所有第一类像素的残差值都包含在变换单元内;
将所述第一类像素的重建残差值与所述第一类像素的预测值相加,得到所述第一类像素的重建值;
根据所述第一类像素的重建值,采用插值法得到所述第二类像素的重建值。
13.根据权利要求12所述的方法,其特征在于,在对所述变换系数进行反变换之前,所述方法还包括:
按照变换系数的扫描顺序将所述变换系数放置在变换系数矩阵中的第一类预设位置,其中,所述变换系数矩阵中的第二类预设位置的变换系数设为预设值,所述第二类预设位置的数目与所述第一类预设位置的数目之和等于所述变换系数矩阵中变换系数的总数目。
14.根据权利要求12或13所述的方法,其特征在于,在根据所述第一类像素的重建值,通过插值法得到所述第二类像素的重建值之前,还包括:
根据所述帧内预测算法确定所述插值法,所述插值法中的插值方式与所述帧内预测算法包括的插值方式相同。
15.根据权利要求12或13所述的方法,其特征在于,在根据所述第一类像素的重建值,通过插值法得到所述第二类像素的重建值之前,还包括:
根据所述图像块的码流确定所述插值法。
16.一种编码器,其特征在于,包括:
第一获取单元,用于获取当前图像块的参考像素值;
第二获取单元,用于根据所述当前图像块的参考像素值,采用帧内预测算法得到所述当前图像块中第一类像素的预测值,所述当前图像块包括第一类像素和第二类像素,所述第二类像素为所述当前图像块中除所述第一类像素之外的像素;
第一确定单元,用于根据所述第一类像素的预测值和所述第一类像素的原始像素值得到所述第一类像素的残差值;
变换单元,用于根据所述第一类像素的残差值,得到变换系数,其中,变换矩阵的大小小于或者等于所述当前图像块的大小,且所有第一类像素的残差值都包含在变换单元内;
量化单元,用于量化所述变换系数,得到量化变换系数;
第一重建单元,用于根据所述量化变换系数和所述第一类像素的预测值,对所述第一类像素进行重建,得到所述第一类像素的重建值;
第二重建单元,用于根据所述第一类像素的重建值,采用插值法得到所述第二类像素的重建值。
17.根据权利要求16所述的编码器,其特征在于,还包括:
第二确定单元,用于根据所述帧内预测算法确定所述插值法,其中,所述插值法中的插值方式与所述帧内预测算法包括的插值方式相同。
18.根据权利要求16或17所述的编码器,其特征在于,所述变换单元具体用于根据所述第一类像素的残差值得到所述第二类像素中的B个像素的残差值,B为不小于1的正整数,对所述第一类像素的残差值和所述B个像素的残差值进行变换,得到所述变换系数,其中,所述变换系数中固定0系数的数量等于B。
19.根据权利要求18所述的编码器,其特征在于,所述第一类像素的残差值的数量为A个,所述第二类像素中的B个像素对应B个残差值,其中,所述A个残差值与所述第一类像素中的像素一一对应,所述B个残差值与所述B个像素一一对应,所述变换单元具体用于确定与所述第一类像素的残差值的数量A和所述第二类像素中的B个像素的残差值的数量B对应的B×A矩阵;将所述B×A矩阵与所述A个第一类像素的残差值组成的列向量相乘,得到所述第二类像素中的B个像素的残差值所构成的列向量;根据所述第二类像素中的B个像素的残差值所构成的列向量,得到所述第二类像素中的B个像素的残差值。
20.根据权利要求16或17所述的编码器,其特征在于,所述变换单元具体用于将所述第二类像素中的至少一个像素中每一个像素的原始值减去所述每一个像素的预测值,得到所述每一个像素的残差值,其中,所述每一个像素的预测值是采用帧内预测算法得到的;对所述第一类像素的残差值和所述第二类像素中的至少一个像素的残差值进行变换,得到所述变换系数。
21.根据权利要求16或17所述的编码器,其特征在于,所述量化单元具体用于按照变换系数的扫描顺序对所述变换系数进行量化,得到量化变换系数。
22.根据权利要求21所述的编码器,其特征在于,所述量化单元具体用于根据以下公式得到所述量化变换系数:
其中,
Cm为扫描顺序上除去固定0系数的第m个变换系数,为Cm的量化变换系数,Q(*)为量化处理函数;Δm为一个由Cm之后变换系数的量化误差决定的修正项,bm,j为加权系数,由变换矩阵和扫描顺序上第一类像素的位置决定,m=1,2,…,M,M为第一类像素的数目,N为第一类像素和第二类像素的数目总和。
23.根据权利要求16或17所述的编码器,其特征在于,所述第一确定单元具体用于将所述第一类像素的原始值和所述第一类像素的预测值相减,得到所述第一类像素的残差值。
24.根据权利要求16或17所述的编码器,其特征在于,还包括:
生成单元,用于根据所述量化变换系数生成码流,以便解码设备根据所述码流重建所述当前图像块。
25.根据权利要求24所述的编码器,其特征在于,所述生成单元具体用于采用熵编码方法,对所述帧内预测算法的信息和所述量化变换系数进行编码,得到所述码流。
26.根据权利要求24所述的编码器,其特征在于,所述生成单元具体用于采用熵编码方法,对所述帧内预测算法的信息、所述量化变换系数和所述插值法的信息进行编码,得到所述码流。
27.一种解码器,其特征在于,包括:
第一获取单元,用于获取当前图像块的参考像素值;
第二获取单元,用于根据所述当前图像块的参考像素值,采用帧内预测算法得到所述当前图像块中第一类像素的预测值,所述当前图像块包括第一类像素和第二类像素,所述第二类像素为所述当前图像块中除所述第一类像素之外的像素;
反量化单元,用于对当前图像块的量化变换系数进行反量化,得到变换系数,其中,变换矩阵的大小小于或者等于所述当前图像块的大小,且所有第一类像素的残差值都包含在变换单元内;
反变换单元,用于对所述变换系数进行反变换,得到所述第一类像素的重建残差值;
第一重建单元,用于将所述第一类像素的重建残差值与所述第一类像素的预测值相加,得到所述第一类像素的重建值;
第二重建单元,用于根据所述第一类像素的重建值,采用插值法得到所述第二类像素的重建值。
28.如权利要求27所述的解码器,其特征在于,还包括:
放置单元,用于按照变换系数的扫描顺序将所述变换系数放置在变换系数矩阵中的第一类预设位置,其中,所述变换系数矩阵中的第二类预设位置的变换系数设为预设值,所述第二类预设位置的数目与所述第一类预设位置的数目之和等于所述变换系数矩阵中变换系数的总数目。
29.根据权利要求27或28所述的解码器,其特征在于,还包括:
第一确定单元,用于根据所述帧内预测算法确定所述插值法,所述插值法中的插值方式与所述帧内预测算法包括的插值方式相同。
30.根据权利要求27或28所述的解码器,其特征在于,还包括:
第二确定单元,用于根据所述图像块的码流确定所述插值法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510094314.7A CN104702962B (zh) | 2015-03-03 | 2015-03-03 | 帧内编解码方法、编码器和解码器 |
JP2017546177A JP2018511227A (ja) | 2015-03-03 | 2015-11-30 | フレーム内符号化方法、フレーム内復号化方法、エンコーダ、及びデコーダ |
EP15883829.2A EP3258694A4 (en) | 2015-03-03 | 2015-11-30 | Intra-frame codec method, coder and decoder |
KR1020177027290A KR20170122796A (ko) | 2015-03-03 | 2015-11-30 | 인트라 프레임 인코딩 방법, 인트라 프레임 디코딩 방법, 인코더, 및 디코더 |
PCT/CN2015/096021 WO2016138779A1 (zh) | 2015-03-03 | 2015-11-30 | 帧内编解码方法、编码器和解码器 |
US15/694,440 US10412393B2 (en) | 2015-03-03 | 2017-09-01 | Intra-frame encoding method, intra-frame decoding method, encoder, and decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510094314.7A CN104702962B (zh) | 2015-03-03 | 2015-03-03 | 帧内编解码方法、编码器和解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702962A CN104702962A (zh) | 2015-06-10 |
CN104702962B true CN104702962B (zh) | 2019-04-16 |
Family
ID=53349673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510094314.7A Active CN104702962B (zh) | 2015-03-03 | 2015-03-03 | 帧内编解码方法、编码器和解码器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10412393B2 (zh) |
EP (1) | EP3258694A4 (zh) |
JP (1) | JP2018511227A (zh) |
KR (1) | KR20170122796A (zh) |
CN (1) | CN104702962B (zh) |
WO (1) | WO2016138779A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702962B (zh) * | 2015-03-03 | 2019-04-16 | 华为技术有限公司 | 帧内编解码方法、编码器和解码器 |
US20160373770A1 (en) * | 2015-06-18 | 2016-12-22 | Qualcomm Incorporated | Intra prediction and intra mode coding |
US11463689B2 (en) | 2015-06-18 | 2022-10-04 | Qualcomm Incorporated | Intra prediction and intra mode coding |
US10841593B2 (en) | 2015-06-18 | 2020-11-17 | Qualcomm Incorporated | Intra prediction and intra mode coding |
BR112018007925A2 (zh) | 2015-11-06 | 2018-10-30 | Huawei Technologies Co., Ltd. | A method, a device and a decoding device for inverse quantizing transform coefficients |
US20190037217A1 (en) * | 2016-02-16 | 2019-01-31 | Samsung Electronics Co., Ltd. | Video encoding method and apparatus, and decoding method and apparatus therefor |
CN109891882B (zh) * | 2016-12-26 | 2021-05-11 | 华为技术有限公司 | 一种基于模板匹配的编解码方法及装置 |
CN106713816A (zh) * | 2017-01-09 | 2017-05-24 | 宇龙计算机通信科技(深圳)有限公司 | 图像传输的方法及装置 |
WO2018141385A1 (en) | 2017-02-02 | 2018-08-09 | Huawei Technologies Co., Ltd. | Image and video processing apparatuses and methods |
US10241481B2 (en) * | 2017-03-17 | 2019-03-26 | Fisher Controls International Llc | Methods and apparatus for controlling multiple valves as a single valve based on a coordinated control signal |
CN107181963B (zh) * | 2017-03-31 | 2019-10-22 | 武汉斗鱼网络科技有限公司 | 一种视频压缩方法及装置 |
CN109922340B (zh) * | 2017-12-13 | 2021-10-15 | 华为技术有限公司 | 图像编解码方法、装置、系统及存储介质 |
WO2019157717A1 (zh) * | 2018-02-14 | 2019-08-22 | 北京大学 | 运动补偿的方法、装置和计算机系统 |
CN108600750A (zh) * | 2018-04-10 | 2018-09-28 | 山东师范大学 | 基于ksvd的多描述编码、解码方法及系统 |
EP3777189A1 (en) | 2018-04-13 | 2021-02-17 | Koninklijke KPN N.V. | Block-level super-resolution based video coding |
CN108737836A (zh) * | 2018-06-13 | 2018-11-02 | 北京奇艺世纪科技有限公司 | 一种帧间预测编码方法、装置及电子设备 |
US11277644B2 (en) | 2018-07-02 | 2022-03-15 | Qualcomm Incorporated | Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching |
CN111050176B (zh) * | 2018-10-15 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 视频编码、视频解码方法、装置、计算机设备和存储介质 |
US11303885B2 (en) | 2018-10-25 | 2022-04-12 | Qualcomm Incorporated | Wide-angle intra prediction smoothing and interpolation |
CN109495745B (zh) * | 2018-11-20 | 2021-03-30 | 北京工业大学 | 一种基于逆量化/逆变换的无损压缩解码方法 |
CN113170197B (zh) * | 2018-12-06 | 2023-07-18 | Lg电子株式会社 | 基于二次变换的图像编码方法及其装置 |
WO2020250693A1 (ja) * | 2019-06-11 | 2020-12-17 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
WO2021056212A1 (zh) * | 2019-09-24 | 2021-04-01 | 深圳市大疆创新科技有限公司 | 视频编解码方法和装置 |
KR20220061908A (ko) | 2019-09-24 | 2022-05-13 | 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 | 예측값의 확정 방법, 인코더, 디코더 및 컴퓨터 저장 매체 |
CN111050183B (zh) * | 2019-12-13 | 2022-04-19 | 浙江大华技术股份有限公司 | 一种帧内预测方法、编码器及存储介质 |
CN117689556B (zh) * | 2024-02-02 | 2024-05-07 | 深圳市欧冶半导体有限公司 | 直方图编码方法、直方图解码方法、装置、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101783957A (zh) * | 2010-03-12 | 2010-07-21 | 清华大学 | 一种视频预测编码方法和装置 |
CN102917226A (zh) * | 2012-10-29 | 2013-02-06 | 电子科技大学 | 一种基于自适应下采样与插值的帧内帧视频编码方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100750128B1 (ko) | 2005-09-06 | 2007-08-21 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
KR101246294B1 (ko) | 2006-03-03 | 2013-03-21 | 삼성전자주식회사 | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 |
US8630346B2 (en) * | 2007-02-20 | 2014-01-14 | Samsung Electronics Co., Ltd | System and method for introducing virtual zero motion vector candidates in areas of a video sequence involving overlays |
KR101302660B1 (ko) * | 2009-09-14 | 2013-09-03 | 에스케이텔레콤 주식회사 | 고해상도 동영상의 부호화/복호화 방법 및 장치 |
US8588303B2 (en) * | 2010-03-31 | 2013-11-19 | Futurewei Technologies, Inc. | Multiple predictor sets for intra-frame coding |
RU2595515C2 (ru) * | 2010-05-14 | 2016-08-27 | Томсон Лайсенсинг | Способы и устройство для внутреннего кодирования блока, имеющего пиксели, распределенные по группам |
US9497472B2 (en) * | 2010-11-16 | 2016-11-15 | Qualcomm Incorporated | Parallel context calculation in video coding |
US9106913B2 (en) * | 2011-03-08 | 2015-08-11 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
CA2772894A1 (en) * | 2011-05-17 | 2012-11-17 | Her Majesty The Queen In Right Of Canada, As Represented By The Ministerof Industry, Through The Communications Research Centre Canada | Image and video encoding and decoding |
WO2013040287A1 (en) * | 2011-09-15 | 2013-03-21 | Vid Scale, Inc. | Systems and methods for spatial prediction |
CN104702962B (zh) * | 2015-03-03 | 2019-04-16 | 华为技术有限公司 | 帧内编解码方法、编码器和解码器 |
-
2015
- 2015-03-03 CN CN201510094314.7A patent/CN104702962B/zh active Active
- 2015-11-30 KR KR1020177027290A patent/KR20170122796A/ko not_active Application Discontinuation
- 2015-11-30 WO PCT/CN2015/096021 patent/WO2016138779A1/zh active Application Filing
- 2015-11-30 EP EP15883829.2A patent/EP3258694A4/en not_active Ceased
- 2015-11-30 JP JP2017546177A patent/JP2018511227A/ja active Pending
-
2017
- 2017-09-01 US US15/694,440 patent/US10412393B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101783957A (zh) * | 2010-03-12 | 2010-07-21 | 清华大学 | 一种视频预测编码方法和装置 |
CN102917226A (zh) * | 2012-10-29 | 2013-02-06 | 电子科技大学 | 一种基于自适应下采样与插值的帧内帧视频编码方法 |
Non-Patent Citations (2)
Title |
---|
Constrained Quantization in the Transform Domain with Applications in Arbitrarily-Shaped Object Coding;Shuyuan Zhu;《IEEE Transactions on Circuits and Systems for Video Technology》;20101105;第2节 |
New Padding Technique for Coding of Arbitrarily-Shaped Image/Video Segments;Guobin Shen等;《Proceedings.1999 International Conference》;19991028;第4节;附图1 |
Also Published As
Publication number | Publication date |
---|---|
EP3258694A1 (en) | 2017-12-20 |
US10412393B2 (en) | 2019-09-10 |
EP3258694A4 (en) | 2018-02-21 |
CN104702962A (zh) | 2015-06-10 |
KR20170122796A (ko) | 2017-11-06 |
JP2018511227A (ja) | 2018-04-19 |
WO2016138779A1 (zh) | 2016-09-09 |
US20180007367A1 (en) | 2018-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104702962B (zh) | 帧内编解码方法、编码器和解码器 | |
KR101261526B1 (ko) | 영상의 부호화 방법 및 장치, 복호화 방법 및 장치 | |
EP2744210A1 (en) | Adaptive transformation of residual blocks depending on the intra prediction mode | |
US11425380B2 (en) | Context modeling for residual coding | |
CN103782598A (zh) | 用于无损编码的快速编码方法 | |
CN115379241A (zh) | 用于对最后有效系数标志进行代码化的方法和设备 | |
KR101912769B1 (ko) | 그래프 템플릿으로부터 유도된 변환을 이용하여 비디오 신호를 디코딩/인코딩하는 방법 및 장치 | |
CN110944179B (zh) | 一种视频数据解码方法及装置 | |
WO2017046750A1 (en) | Methods and apparatuses for encoding and decoding digital images or video streams | |
WO2021134635A1 (zh) | 变换方法、编码器、解码器以及存储介质 | |
CN112425164A (zh) | 多个可分离变换选择的变换变体 | |
CN108353175A (zh) | 使用系数引起的预测处理视频信号的方法和装置 | |
CN116746148A (zh) | 用于视频编解码的残差和系数编解码 | |
JP2022539937A (ja) | 画像成分予測方法、符号化器、復号化器、並びに記憶媒体 | |
CN112543337B (zh) | 视频解码方法、装置、计算机可读介质及电子设备 | |
KR20180031710A (ko) | 다중 그래프 기반 모델에 따라 최적화된 변환을 이용하여 비디오 신호를 인코딩/디코딩하는 방법 및 장치 | |
WO2017135661A1 (ko) | 그래프 기반 분리 가능한 변환 (graph-based separable transform)을 이용하여 비디오 신호를 인코딩 / 디코딩하는 방법 및 장치 | |
CN116982262A (zh) | 视频编码中依赖性量化的状态转换 | |
WO2021134637A1 (zh) | 变换方法、编码器、解码器以及存储介质 | |
JP6992825B2 (ja) | 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム | |
CN114449277B (zh) | 用于系数代码化的上下文推导的方法和设备 | |
CN114286095B (zh) | 视频解码方法、装置及设备 | |
WO2024163447A1 (en) | System and method for filtered intra block copy prediction | |
CN116830575A (zh) | 用于对具有不同位深度的视频信号进行哈达玛变换域滤波的方法和装置 | |
US20200329232A1 (en) | Method and device for encoding or decoding video signal by using correlation of respective frequency components in original block and prediction block |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |