CN112740690B - 用于编码和解码代表至少一个图像的数据流的方法和设备 - Google Patents
用于编码和解码代表至少一个图像的数据流的方法和设备 Download PDFInfo
- Publication number
- CN112740690B CN112740690B CN201980061930.9A CN201980061930A CN112740690B CN 112740690 B CN112740690 B CN 112740690B CN 201980061930 A CN201980061930 A CN 201980061930A CN 112740690 B CN112740690 B CN 112740690B
- Authority
- CN
- China
- Prior art keywords
- current block
- coding mode
- pixel
- block
- reconstructed
- 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 96
- 238000003672 processing method Methods 0.000 claims abstract description 29
- 238000001914 filtration Methods 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012937 correction Methods 0.000 claims description 3
- 238000013139 quantization Methods 0.000 description 42
- 238000012805 post-processing Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 19
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000004306 orthophenyl phenol Substances 0.000 description 3
- 235000010292 orthophenyl phenol Nutrition 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000004299 sodium benzoate Substances 0.000 description 3
- 235000010234 sodium benzoate Nutrition 0.000 description 3
- 239000001797 sucrose acetate isobutyrate Substances 0.000 description 3
- 239000005711 Benzoic acid Substances 0.000 description 2
- 235000010233 benzoic acid Nutrition 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000004301 calcium benzoate Substances 0.000 description 2
- 235000010237 calcium benzoate Nutrition 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000004403 ethyl p-hydroxybenzoate Substances 0.000 description 2
- 235000010228 ethyl p-hydroxybenzoate Nutrition 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000001814 pectin Substances 0.000 description 2
- 235000010987 pectin Nutrition 0.000 description 2
- 239000000256 polyoxyethylene sorbitan monolaurate Substances 0.000 description 2
- 235000010486 polyoxyethylene sorbitan monolaurate Nutrition 0.000 description 2
- 239000001818 polyoxyethylene sorbitan monostearate Substances 0.000 description 2
- 235000010989 polyoxyethylene sorbitan monostearate Nutrition 0.000 description 2
- 239000004300 potassium benzoate Substances 0.000 description 2
- 235000010235 potassium benzoate Nutrition 0.000 description 2
- 239000004289 sodium hydrogen sulphite Substances 0.000 description 2
- 235000010267 sodium hydrogen sulphite Nutrition 0.000 description 2
- 239000004296 sodium metabisulphite Substances 0.000 description 2
- 235000010262 sodium metabisulphite Nutrition 0.000 description 2
- 239000004291 sulphur dioxide Substances 0.000 description 2
- 235000010269 sulphur dioxide Nutrition 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000001226 triphosphate Substances 0.000 description 2
- 235000011178 triphosphate Nutrition 0.000 description 2
- 239000001842 Brominated vegetable oil Substances 0.000 description 1
- 239000001828 Gelatine Substances 0.000 description 1
- 206010028980 Neoplasm Diseases 0.000 description 1
- 239000001825 Polyoxyethene (8) stearate Substances 0.000 description 1
- 239000004285 Potassium sulphite Substances 0.000 description 1
- 239000001852 Succistearin Substances 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000001809 ammonium phosphatide Substances 0.000 description 1
- 235000010986 ammonium phosphatide Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000004294 calcium hydrogen sulphite Substances 0.000 description 1
- 235000010260 calcium hydrogen sulphite Nutrition 0.000 description 1
- 239000004295 calcium sulphite Substances 0.000 description 1
- 235000010261 calcium sulphite Nutrition 0.000 description 1
- 201000011510 cancer Diseases 0.000 description 1
- 239000001806 glycerol esters of wood rosin Substances 0.000 description 1
- 235000010985 glycerol esters of wood rosin Nutrition 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 239000001194 polyoxyethylene (40) stearate Substances 0.000 description 1
- 235000011185 polyoxyethylene (40) stearate Nutrition 0.000 description 1
- 239000000244 polyoxyethylene sorbitan monooleate Substances 0.000 description 1
- 235000010482 polyoxyethylene sorbitan monooleate Nutrition 0.000 description 1
- 239000000249 polyoxyethylene sorbitan monopalmitate Substances 0.000 description 1
- 235000010483 polyoxyethylene sorbitan monopalmitate Nutrition 0.000 description 1
- 239000001816 polyoxyethylene sorbitan tristearate Substances 0.000 description 1
- 235000010988 polyoxyethylene sorbitan tristearate Nutrition 0.000 description 1
- 239000004297 potassium metabisulphite Substances 0.000 description 1
- 235000010263 potassium metabisulphite Nutrition 0.000 description 1
- 239000004405 propyl p-hydroxybenzoate Substances 0.000 description 1
- 239000000661 sodium alginate Substances 0.000 description 1
- 235000010413 sodium alginate Nutrition 0.000 description 1
- 239000004402 sodium ethyl p-hydroxybenzoate Substances 0.000 description 1
- 235000010226 sodium ethyl p-hydroxybenzoate Nutrition 0.000 description 1
- GEHJYWRUCIMESM-UHFFFAOYSA-L sodium sulphite Substances [Na+].[Na+].[O-]S([O-])=O GEHJYWRUCIMESM-UHFFFAOYSA-L 0.000 description 1
- 235000010265 sodium sulphite Nutrition 0.000 description 1
- 239000013598 vector Substances 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/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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/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/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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种用于解码代表至少一个被分成块的图像的编码数据流的方法。对于图像的至少一个块(称为当前块),从数据流中解码(E42)指示第一和第二编码模式之中的当前块的编码模式的信息,并且基于该信息解码当前块。当当前块的编码模式对应于第二编码模式时,基于对于每个像素从属于当前块或属于图像的先前解码块的另一先前解码的像素所获得的预测、和与所述像素关联的解码残差,来重构当前块。取决于当前块的编码模式和/或相邻块的编码模式,对于当前块的至少一个像素,将至少一种处理方法应用于重构的当前块。
Description
技术领域
本发明的领域是编码和解码图像或图像序列,特别是视频流。
更具体地,本发明涉及使用代表图像的块来压缩图像或图像序列。
本发明尤其可以应用于在当前或未来编码器(JPEG、MPEG、H.264、HEVC等及其修改)中实施的图像或视频编码、以及对应的解码。
背景技术
数字图像和图像序列在内存方面占据大量空间,这需要在传送这些图像时对它们进行压缩,以避免在用于该传送的网络上出现拥塞问题。
用于压缩视频数据的许多技术是已知的。其中,HEVC压缩标准(“High EfficiencyVideo Coding,Coding Tools and Specification”,Matthias Wien,Signals andCommunication Technology,2015)提出实施当前图像的像素相对于属于相同图像(帧内预测)或者先前或后续图像(帧间预测)的其它像素的预测。
更具体地,帧内预测使用图像内的空间冗余。为此,将图像拆分为像素块。然后根据图像中的块的扫描顺序,使用对应于当前图像中的先前编码/解码的块的已经重构的信息,来预测像素的块。
此外,以标准方式,使用当前块的预测(被称为预测器块)以及与当前块和预测器块之间的差对应的预测残差或“残差块”,来执行当前块的编码。然后例如使用DCT(离散余弦变换)类型变换来变换所得到的残差块。然后变换的残差块的系数被量化,通过熵编码被编码,并被传送到解码器,解码器可以通过将该残差块添加到预测器块来重构当前块。
解码是逐图像进行的,并且对于每个图像,是逐块进行的。对于每个块,读取流的对应元素。执行残差块的系数的反量化和逆变换。然后,计算块预测以获得预测器块,并且通过将预测(即,预测器块)添加到解码的残差块来重构当前块。
在US9253508中,用于以帧内模式编码块的DPCM(差分脉冲编码调制)编码技术被集成到HEVC编码器中。这样的技术在于通过先前已经重构的帧内块的另一像素集合来预测同一块的像素集合。在US9253508中,要编码的帧内块的像素集合对应于该块的行、或列、或者行和列,并且用于预测像素集合的帧内预测是HEVC标准中定义的定向帧内预测之一。
但是,这种技术不是最佳的。实际上,帧内块的像素集合的重构对应于在无损编码的情况下的预测残差的添加,从而提供相当低的压缩率,或者对应于充当预测的所述另一像素集合的逆变换和/或反量化之后的预测残差的添加。因此,这样的技术不能使用本地预测功能来预测帧内块的每个像素,并且不能在预测后续像素之前重构所预测的像素。实际上,该技术需要重构像素集合(例如,块的行/列)以预测另一像素集合。换句话说,通过块的一部分的每次预测和重构,块的几个像素被预测和重构。
此外,在US9253508中,没有描述如何使例如HEVC标准中定义的常规帧内预测模式与DPCM预测模式共存。
因此,需要一种新的编码和解码方法来改进图像或视频数据的压缩。
发明内容
本发明改进了现有技术。为此目的,本发明涉及一种用于解码至少一个图像的编码数据流的方法,所述图像被分成块。这样的解码方法包括,对于称为当前块的所述图像的至少一个块:
-对指示至少第一编码模式和第二编码模式之中的当前块的编码模式的信息项进行解码,所述第二编码模式是根据其解码当前块的编码模式,对于所述当前块的每个像素:
-从另一先前解码的像素获得对所述像素的预测,所述另一先前解码的像素属于所述当前块或所述图像的先前解码的块,
-解码与所述像素相关联的预测残差,
-根据所获得的所述像素的预测、以及与所述像素相关联的解码后的预测残差,来重构所述像素,
-根据解码的信息项所指示的编码模式,对所述当前块进行解码,
-当所述当前块的编码模式对应于不同于所述第二编码模式的编码模式时,将至少一种处理方法应用于重构的当前块,
-当所述当前块的编码模式对应于所述第二编码模式时,对于所述当前块的至少一个像素,禁止将所述至少一种处理方法应用于重构的当前块。
因此,根据本发明,在根据使用来自相同块的先前重构像素的像素预测的编码模式解码的块的情况下,不执行对重构块的处理操作的应用。根据该编码模式,与每个像素相关联的预测残差不被变换。该处理方法旨在例如通过减少由于利用变换(解块滤波器)的预测残差编码而导致的块之间的不连续性的影响,或者通过校正每个像素的个别值(还已知为样本自适应偏移或SAO),来改进像素的重构块的质量。
根据本发明,第二编码模式不使用预测残差变换,因为与每个像素相关联的预测残差必须立即可用于像素重构,因此其可以用于预测当前块的后续像素。因此,当根据第二编码模式对当前块进行解码时,不必减小该当前块的边界处的不连续性。类似地,当使用第二编码模式对当前块进行解码时,使用与每个像素相关联的预测残差对每个像素的值进行个别编码。因此,没有必要校正每个像素的值。
应用于重构块的处理方法通常需要在块级别传输参数。因此,对于根据第二编码模式编码的块禁止这些处理方法使能速率增长。此外,由于这些处理方法未应用于这些块,因此可以实质上加速解码处理。
本发明还涉及一种用于编码代表至少一个图像的数据流的方法,所述图像被分成块。这样的编码方法包括:对于称为当前块的所述图像的至少一个块:
-对指示至少第一编码模式和第二编码模式之中的当前块的编码模式的信息项进行编码,所述第二编码模式是根据其编码当前块的编码模式,对于所述当前块的每个像素:
-从另一先前解码的像素获得所述像素的预测,所述另一先前解码的像素属于所述当前块或所述图像的先前解码的块,
-编码从所述像素的预测获得的与所述像素相关联的预测残差,
-根据与所述像素相关联的解码的预测残差、和所述像素的预测,重构所述像素,
-根据编码的信息项所指示的编码模式,对所述当前块进行编码,
-当所述当前块的编码模式对应于不同于所述第二编码模式的编码模式时,将至少一种处理方法应用于重构的当前块,
-当所述当前块的编码模式对应于所述第二编码模式时,对于所述当前块的至少一个像素,禁止将所述至少一种处理方法应用于重构的当前块。
根据本发明的特定实施例,所述处理方法是解块滤波,所述解块滤波被应用于位于所述重构的当前块与所述图像中的重构的相邻块的边界处的所述重构的当前块的像素。根据本发明的该特定实施例,该处理方法对应于通常应用于块边界处以减小块之间的不连续性影响的“解块”滤波器。
根据本发明的特定实施例:
-当根据所述第二编码模式对当前块进行解码或编码时:
-对于重构的当前块的所有像素,禁止将解块滤波应用于重构的当前块,
-当根据不同于所述第二编码模式的编码模式对当前块进行解码或编码时:
-如果所述像素位于所述重构的当前块与所述图像中的相邻重构块的边界上并且如果根据不同于所述第二编码模式的编码模式对所述相邻块进行解码或编码,则将解块滤波应用于重构的当前块的像素。
根据本发明的该特定实施例,解块滤波仅应用于在根据与第二编码模式不同的编码模式所编码或解码的两个块的边界处的像素。换句话说,对于根据不同于第二编码模式的编码模式所编码或解码的当前块,对于位于与根据第二编码模式所编码或解码的相邻块的边界处的重构的当前块的像素,禁止所述解块滤波。
根据本发明的另一特定实施例,当根据所述第二编码模式对当前块进行解码或编码时:
-如果所述像素位于所述重构的当前块与所述图像中的相邻块的边界上并且如果根据所述第二编码模式对所述相邻块进行解码或编码,则对于重构的当前块的像素,禁止将解块滤波应用于重构的当前块,以及
-如果所述像素位于所述重构的当前块与所述图像中的重构的相邻块的边界上并且如果根据不同于所述第二编码模式的编码模式对所述相邻块进行解码或编码,则将解块滤波应用于重构的当前块的像素。
根据本发明的该另一特定实施例,将解块滤波应用于位于两个块的边界处的像素,根据与第二编码模式不同的编码模式,对所述两个块中的至少一个块进行编码或解码。然而,对于位于根据第二编码模式所编码或解码的两个块的边界处的像素,禁止所述解块滤波。
本发明的该特定实施例平滑了根据第一编码模式或不同于第二编码模式的任何其他编码模式所编码或解码的块的块效应,即使当这些块是根据第二编码模式所编码或解码的重构块的邻居。
根据本发明的另一特定实施例,所述处理方法是用于通过将从在数据流中编码或从数据流解码的信息项中获得的值添加到所述像素的重构值、来校正所述重构的当前块的至少一个像素的方法。根据本发明的该特定实施例,该处理方法对应于已经被集成到HEVC压缩标准的SAO方法。
根据本发明的特定实施例,当根据所述第二编码模式对所述当前块进行解码或编码时,对于所述重构的当前块的所有像素,禁止将所述校正方法应用于所述重构的当前块。
本发明还涉及一种解码设备,该解码设备被配置为实现根据以上定义的任何一个特定实施例的解码方法。当然,该解码设备可以包括与根据本发明的解码方法有关的不同特性。因此,该解码设备的特性和优点与该解码方法的特性和优点相同,因此不再赘述。
所述解码设备特别包括处理器,所述处理器被配置为,对于称为当前块的所述图像的至少一个块:
-对指示至少第一编码模式和第二编码模式之中的当前块的编码模式的信息项进行解码,所述第二编码模式是根据其解码当前块的编码模式,对于所述当前块的每个像素:
-从另一先前解码的像素获得对所述像素的预测,所述另一先前解码的像素属于所述当前块或所述图像的先前解码的块,
-解码与所述像素相关联的预测残差,
-根据所获得的所述像素的预测、以及与所述像素相关联的解码后的预测残差,来重构所述像素,
-根据解码的信息项所指示的编码模式,对所述当前块进行解码,
-当所述当前块的编码模式对应于不同于所述第二编码模式的编码模式时,将至少一种处理方法应用于重构的当前块,
-当所述当前块的编码模式对应于所述第二编码模式时,对于所述当前块的至少一个像素,禁止将所述至少一种处理方法应用于重构的当前块。
根据本发明的特定实施例,这种解码设备被包括在终端中。
本发明还涉及一种编码设备,该编码设备被配置为实现根据以上定义的任何一个特定实施例的编码方法。当然,该编码设备可以包括与根据本发明的编码方法有关的不同特性。因此,该编码设备的特性和优点与该编码方法的特性和优点相同,因此不再赘述。
所述编码设备包括处理器,所述处理器被配置为,对于称为当前块的所述图像的至少一个块:
-对指示至少第一编码模式和第二编码模式之中的当前块的编码模式的信息项进行编码,所述第二编码模式是根据其编码当前块的编码模式,对于所述当前块的每个像素:
-从另一先前解码的像素获得所述像素的预测,所述另一先前解码的像素属于所述当前块或所述图像的先前解码的块,
-编码(E223)从所述像素的预测获得的与所述像素相关联的预测残差,
-根据与所述像素相关联的解码的预测残差、和所述像素的预测,重构所述像素,
-根据编码的信息项所指示的编码模式,对所述当前块进行编码,
-当所述当前块的编码模式对应于不同于所述第二编码模式的编码模式时,将至少一种处理方法应用于重构的当前块,
-当所述当前块的编码模式对应于所述第二编码模式时,对于所述当前块的至少一个像素,禁止将所述至少一种处理方法应用于重构的当前块。
根据本发明的特定实施例,这种编码设备被包括在终端或服务器中。
根据本发明的解码方法(相应地编码方法)可以以各种方式实现,特别是有线形式或软件形式。根据本发明的特定实施例,通过计算机程序来实现解码方法(相应地编码方法)。本发明还涉及一种计算机程序,该计算机程序包括指令,当所述程序由处理器执行时,该指令用于实现根据前述任一特定实施例的解码方法或编码方法。这样的程序可以使用任何编程语言。可以将其从通信网络下载和/或将其记录在计算机可读介质上。
该程序可以使用任何编程语言,并且可以采用源代码、目标代码或源代码与目标代码之间的中间代码的形式,例如部分编译的形式或任何其他期望的形式。
本发明还涉及包括上述计算机程序的指令的计算机可读存储介质或数据介质。上述记录介质可以是能够存储程序的任何实体或设备。例如,介质可以包括诸如存储器的存储装置。另一方面,记录介质可以对应于诸如电信号或光信号之类的可传输介质,其可以经由电缆或光缆、通过无线电或其他方式来承载。根据本发明的程序可以特别地在因特网类型的网络上下载。
替代地,记录介质可以对应于其中嵌入程序的集成电路,该电路适于执行所讨论的方法或在所讨论的方法的执行中使用。
附图说明
在阅读作为简单说明性非限制性示例而提供的特定实施例的以下描述和附图时,本发明的其它特性和优点将更清楚地显现,其中:
-图1示出了根据本发明的特定实施例的编码方法的步骤,
-图2示出了根据本发明的特定实施例的用于确定帧内预测模式的当前块的相邻块的位置示例,
-图3示出了根据本发明的特定实施例的用于预测当前块的像素的参考像素的位置示例,
-图4示出了根据本发明的特定实施例的解码方法的步骤,
-图5A和图5B示出了根据本发明的特定实施例的根据像素所属的块的编码模式对像素应用或不应用后处理操作的像素的重构块,
-图6示出了适合于实施根据本发明的任何一个特定实施例的编码方法的编码设备的简化结构,
-图7示出了适合于实施根据本发明的任何一个特定实施例的解码方法的解码设备的简化结构。
具体实施方式
5.1一般原理
在解码图像之后执行的处理操作(也称为后处理操作)被集成到视频编码标准中,易癌变改进重构图像的质量。例如,这样的后处理操作可以包括解块滤波的应用或SAO(样本自适应偏移)后处理操作。
解块滤波允许在解码每个块之后擦除存在于每个块之间并且人眼非常敏感的不连续性。另一方面,SAO处理操作允许对解码块的每个像素的值进行个别修改。
例如,这两种后处理方法已集成到HEVC压缩标准中,并提供了压缩和质量方面的收益。
然而,根据本发明,已知为ILR(环路内残差)编码的用于图像的块的新编码模式允许有利地免除这两种后处理方法。
关于块之间的不连续性的影响,它们主要是由于以变换形式对常规残差的编码。变换的基本向量是块宽度(block-wide)的,它们不允许沿块边界个别控制像素值。但是,ILR编码模式允许每个像素的强度独立于其他像素进行编码。因此没有观察到块效应,并且滤波是无用的。
类似地,SAO处理操作旨在在常规编码之后校正某些像素的个别值。然而,稍后将描述的ILR编码模式已经允许对每个像素的值进行个别编码。因此,这些像素不需要SAO处理操作。
然而,编码器必须能够对于每个要编码的块在常规编码模式和ILR编码模式之间进行选择,以便优化视频序列的编码成本。
因此,本发明的一般原理是取决于是否根据ILR编码模式对块进行了编码/解码,来激活或不激活对重构块的后处理方法的应用。
仅对通过常规编码方法(即,除ILR之外的编码模式)编码的块启用解块和/或SAO处理操作具有几个优点。实际上,这降低了要传送的速率,因为对于根据ILR编码模式编码/解码的块,不传送与解块滤波器或SAO处理操作有关的语法元素。由于根据ILR编码模式编码/解码的块不需要应用在计算和存储资源方面很难实现的解块和/或SAO处理步骤,因此这也大大加快了解码。
5.2实施例
图1示出了根据本发明的特定实施例的编码方法的步骤。例如,根据本发明的特定实施例,图像序列I1、I2、……、INb以编码数据流STR的形式被编码。例如,这样的编码方法由如稍后关于图6描述的编码设备来实现。
提供图像序列I1、I2、……、INb(Nb是要编码的序列的图像的数目),作为编码方法的输入。编码方法输出代表作为输入提供的图像序列的编码的数据流STR。
以已知的方式,图像序列I1、I2、……、INb的编码根据先前建立并且编码器已知的编码顺序逐个图像地完成。例如,可以按照时间顺序I1、I2、……、INb或其他顺序(例如I1、I3、I2、……、INb)对图像进行编码。
在步骤E0中,将图像I1、I2、……、INb的序列中待编码的图像Ij划分为块,例如,划分为大小为32×32或64×64像素或更大的块。这样的块可以细分为正方形或矩形子块,例如16x16、8x8、4x4、16x8、8x16……
在步骤E1中,根据图像Ij的预定扫描顺序来选择图像Ij的待编码的第一块或子块Xb。例如,它可以是图像的字典扫描顺序中的第一块。
在步骤E2中,编码器将选择编码模式以对当前块Xb进行编码。
根据这里描述的特定实施例,编码器从第一编码模式M1和第二编码模式M2中选择编码模式以对当前块Xb进行编码。可以使用附加编码模式(此处未描述)。
根据此处描述的特定实施例,第一编码模式M1对应于通过常规的帧内预测(例如,根据HEVC标准定义的)的当前块的编码,并且第二编码模式M2对应于环路内残差(ILR)预测编码。
对于第一编码模式M1,本发明的原理可以扩展到其他类型的编码模式。例如,使用预测残差的变换(图像间预测编码、具有模板匹配编码的空间预测等),第一编码模式可以对应于任何类型的编码模式。
在步骤E2中,编码器可以执行速率/失真优化以确定最佳编码模式以对当前块进行编码。在该速率/失真优化期间,可以测试不同于第一和第二编码模式的附加编码模式,例如帧间模式编码模式。在此速率/失真优化期间,编码器根据不同的可用编码模式模拟当前块Xb的编码,以便确定与每个编码模式相关联的速率和失真,并选择提供最佳速率/失真折衷的编码模式,例如根据D+λ.R函数,其中R是根据评估的编码模式对当前块进行编码所需的速率,D是在解码块和原始当前块之间测量的失真,而λ是a拉格朗日乘数,例如由用户键入或在编码器处定义。
在步骤E20中,指示对于当前块选择的编码模式的信息项被编码在数据流STR中。
如果根据第一编码模式M1对当前块Xb进行编码,则该方法前进到步骤E21,用于根据M1对块进行编码。如果根据第二编码模式M2对当前块Xb进行编码,则该方法前进到步骤E22,用于根据M2对块进行编码。
下面描述根据本发明的特定实施例的用于根据第一编码模式M1对块进行编码的步骤E21。根据这里描述的特定模式,第一编码模式对应于常规的帧内预测,诸如在HEVC标准中定义的帧内预测。
在步骤E210中,确定量化步长δ1。例如,量化步长δ1可以由用户设置,或者使用量化参数来计算,该量化参数设置了压缩和质量之间的折衷,并且由用户键入或由编码器定义。因此,这样的量化参数可以是在率失真成本函数D+λ.R中使用的参数λ,其中D代表由编码引入的失真,R代表用于编码的速率。此功能用于进行编码选择。通常,寻求一种使得该函数最小化的编码图像的方式。
作为变体,量化参数可以是QP,其对应于AVC或HEVC标准中常规使用的量化参数。因此,在HEVC标准中,量化步长δ1由等式δ1=levelScale[QP%6]<<(QP/6))确定,其中levelScale[k]={40,45,51,57,64,72},其中k=0……5。
在步骤E211中,使用常规帧内预测模式来确定当前块的预测。根据该常规帧内预测,仅根据源自位于当前块上方且在当前块的左侧的相邻块的解码像素(参考像素)来计算每个预测像素。从参考像素预测像素的方式取决于向解码器传送的并且由编码器从编码器和解码器已知的预定模式集合中选择的预测模式。
因此,在HEVC中,存在35种可能的预测模式:在33个不同角度方向上内插参考像素的33种模式,以及其他2种模式:DC模式,其中从参考像素的平均值产生预测块的每个像素,以及PLANAR(平面)模式,该模式执行平面和无方向内插。这种“常规帧内预测”是公知的,并且也用于ITU-T H.264标准(只有9种不同的模式)、以及因特网地址(https:// jvet.hhi.fraunhofer.de/)上可用的实验性JEM软件,这里有67种不同的预测模式。在所有情况下,常规帧内预测遵守上述两个方面(对来自相邻块的像素进行预测、以及将最优预测模式传输至解码器)。
在步骤E211中,编码器因此从预定的预测模式列表中选择可用的预测模式之一。一种选择的方式包括例如评估所有预测模式并保持使成本函数最小化的预测模式,所述成本函数例如经典地是率失真成本。
在步骤E212中,从当前块的相邻块对为当前块选择的预测模式进行编码。图2示出了当前块Xb的相邻块Ab和Bb的位置示例,以对当前块Xb的预测模式进行编码。
在步骤E212中,使用与相邻块关联的帧内预测模式,来对为当前块选择的帧内预测模式进行编码。
例如,可以使用在HEVC标准中描述的用于对当前块的预测模式进行编码的方案。在图2的示例中,这种方案在于识别与位于当前块上方的块Ab相关联的帧内预测模式mA、以及与位于紧靠当前块的左侧的块Bb相关联的帧内预测模式mB。取决于mA和mB的值,将创建包含3种帧内预测模式的称为MPM(最可能模式)的列表、以及包含32种其他预测模式的称为非MPM的列表。
根据HEVC标准,为了对当前块的帧内预测模式进行编码,传送语法元素:
-二进制指示符,指示要为当前块编码的预测模式是否在MPM列表中,
-如果当前块的预测模式属于MPM列表,则对MPM列表中与当前块的预测模式相对应的索引进行编码,
-如果当前块的预测模式不属于MPM列表,则对非MPM列表中与当前块的预测模式相对应的索引进行编码。
在步骤E213中,构造用于当前块的预测残差R。
在步骤E213中,以标准方式,根据在步骤E211中选择的预测模式来构造预测块P。然后,通过计算预测块P和原始当前块之间的每个像素的差,来获得预测残差R。
在步骤E214中,将预测残差R变换为RT。
在步骤E214中,将频率变换应用于残差块R,以便产生包括变换系数的块RT。例如,该变换可以是DCT类型的变换。可以从变换ET的预定集合中选择要使用的变换,并将所使用的变换通知解码器。
在步骤E215中,使用例如量化步长δ1的标量量化来对变换后的残差块RT进行量化。这产生了量化的变换的预测残差块RTQ。
在步骤E216中,通过熵编码器对量化块RTQ的系数进行编码。例如,可以使用HEVC标准中规定的熵编码。
以已知的方式,通过对量化块RTQ的系数进行反量化来对当前块进行解码,然后对反量化后的系数应用逆变换以获得解码后的预测残差。然后将预测添加到解码的预测残差中,以便重构当前块并获得其解码版本。然后,当前块的解码版本随后可以用于在空间上预测图像的其他相邻块,或者通过图像间预测来预测其他图像的块。
下面描述根据本发明的特定实施例的用于根据第二编码模式M2对块进行编码的步骤E22。根据这里描述的特定实施例,第二编码模式对应于ILR预测编码。
在步骤E220中,确定当前块的本地预测器PL。根据这里描述的编码模式,通过当前块的相邻块或当前块本身的先前重构的像素,来预测当前块的像素。
优选地,对于预测,选择尽可能接近要预测的像素的像素。这就是为什么将其称为本地预测器的原因。本地预测器PL也可以被比作与第二编码模式M2相关联的当前块的预测模式。根据该解释,在这里描述的特定实施例中,第一编码模式使用第一组帧内预测模式,例如,由HEVC标准定义的帧内预测模式,而第二编码模式(在这里是ILR模式)使用不同于第一组帧内预测模式的第二组预测模式。
本地预测器PL可以是唯一的,或者其可以从预定本地预测器的集合中选择(第二组预测模式)。
根据实施例变型,定义了4个本地预测器。因此,如果我们称X为要从当前块预测的当前像素,则A为位于紧靠X左侧的像素,B为位于紧靠X左侧和上方的像素,C为位于紧靠X上方的像素,如在示出当前块Xb的图3中所示,可以如下定义4个本地预测器PL1、PL2、PL3、PL4:
PL1(X)=min(A,B)如果C≥max(A,B)
max(A,B)如果C≤min(A,B)
A+B-C否则
PL2(X)=A
PL3(X)=B
PL4(X)=C
其中min(A,B)对应于返回A的值和B的值之间的最小值的函数,而max(A,B)对应于返回A的值和B的值之间的最大值的函数。
在步骤E220中,确定用于当前块的本地预测器PL。换句话说,相同的本地预测器将用于当前块的所有像素,即,相同的预测函数。为此目的,几个实施变型是可能的。
可以模拟利用每个预测器对当前块的编码(类似于为当前块选择编码模式的优化),以及选择优化成本函数(例如,使得D+λ.R函数最小化,其中R是用于对块进行编码的速率,D是解码后的块相对于原始块的失真,而λ是用户设置的参数)。
或者,为了限制为当前块选择本地预测器的复杂度,分析先前编码的像素的纹理的取向。例如,使用Sobel型运算符来分析位于当前块上方或左侧的块中的先前编码的像素。如果确定:
-取向为水平,选择本地预测器PL2,
-取向为垂直,选择本地预测器PL3,
-取向为对角线,选择本地预测器PL4,
-如果没有取向出现,则选择本地预测器PL1。
在数据流STR中编码语法元素,以向解码器指示使用哪个本地预测器来预测当前块。
在步骤E221中,确定量化步长δ2。例如,如果当前块是根据第一编码模式编码的,则量化步长δ2取决于与在步骤E210中确定的量化步长δ1相同的量化参数。
在步骤E222中,对于当前块计算预测残差R1。为此目的,一旦选择了本地预测器,就针对当前块的每个当前像素:
-使用该块之外并已重构(因此其解码值可用)的像素、或在当前块中先前重构的像素、或使用这两个像素,通过选择的本地预测器PL来预测当前块的当前像素X,以便获得预测值PRED。在所有情况下,预测器PL都使用先前重构的像素。在图3中,可以看出位于当前块的第一行和/或第一列上的当前块的像素将使用在该块之外并且已经被重构的像素(图3中的灰色像素)以及当前块的可能已经重构的像素作为参考像素(以构造预测值PRED)。对于当前块的其他像素,用于构造预测值PRED的参考像素位于当前块内部;
-通过δ2量化步长标量量化器,通过Q(X)=ScalarQuant(DIFF)=ScalarQuant(δ2,X-PRED)将PRED和X之间的差DIFF量化为值Q(X),例如标量量化器是最近邻的标量量化器,例如:
Q(X)是与X关联的量化残差。它是在空间域中计算的,即根据像素X的预测值PRED与X的原始值之间的差来直接计算。像素X的这样的量化残差Q(X)被存储在量化的预测残差块R1Q中,稍后将对其进行编码;
-通过将量化残差Q(X)的反量化值添加到预测值PRED,来计算X的解码预测值P1(X)。因此,通过P1(X)=PRED+ScalarDequant(δ2,Q(X))获得X的解码预测值P1(X)。例如,最接近的标量量化反函数由下式给出:ScalarDequant(Δ,x)=Δ×x。
因此,解码的预测值P1(X)使得可能预测在当前块中保持待处理的像素。此外,包括当前块的像素的解码/重构的值的块P1是当前块的ILR预测器(与常规帧内预测器相反)。
按照确保从PL1、……、PL4中选择的用于预测的像素可用的扫描顺序,对当前块的所有像素执行上述子步骤。
根据实施例变型,当前块的扫描顺序是字典顺序,即,从左到右,从上到下。
根据另一实施例变型,可以使用当前块的几个扫描顺序,例如:
-字典顺序,或
-从上到下扫描第一列,然后扫描紧靠该列右边的列,依此类推,或者,
-一个接一个地扫描对角线。
根据该另一变型,可能模拟与每个扫描顺序相关联的编码成本,并且可能在速率/失真方面为当前块选择最佳扫描顺序,然后为当前块编码代表选择的扫描顺序的信息项。
在步骤E222结束时,确定量化残差块R1Q。该量化残差块R1Q必须被编码以传输到解码器。还确定了当前块的预测器P1。
在步骤E223中,对量化残差块R1Q进行编码,以传输到解码器。诸如HEVC中描述的方法之类的任何已知方案都可以用于对常规预测残差的量化系数进行编码。
根据这里描述的本发明的特定实施例,使用来自数据流STR的熵编码器对量化残差块R1Q的值进行编码。
根据本发明的特定实施例,可能从为当前块获得的ILR预测器确定和编码附加预测残差R2。但是,附加预测残差R2的编码是可选的。实际上,可能通过其预测版本P1和量化后的残差R1Q对当前块进行简单地编码。
为了编码当前块的附加预测残差R2,实施以下步骤。
在步骤E224中,计算预测器P1和原始当前块Xb之间的差R2以形成附加残差R2:R2=Xb-P1。以下步骤对应于该残差R2的常规编码步骤。
在步骤E225中,使用频率变换来对残差R2进行变换,以便产生系数R2T的块。
例如,该变换可以是DCT类型的变换。可能从变换ET2的预定集合中选择要使用的变换,并向解码器通知所使用的变换。在这种情况下,集合ET2可以与集合ET不同,以便适应残差R2的特定统计。
在步骤E226中,例如使用量化步长标量量化δ来量化系数R2T的块。这产生块R2TQ。
量化步长δ可由用户设置。其也可以使用另一参数λ来计算,该参数设置压缩和质量之间的折衷,并由用户或编码器键入。例如,量化步长δ可以对应于量化步长δ1或与其类似地被确定。
在步骤E227中,然后以编码方式传送量化块R2TQ的系数。例如,可以使用HEVC标准中指定的编码。
以已知的方式,通过对量化块R2TQ的系数进行反量化,来对当前块进行解码,然后对反量化后的系数应用逆变换以获得解码后的预测残差。然后将预测P1添加到解码的预测残差,以便重构当前块并获得其解码版本Xrec。然后,当前块的解码版本Xrec可随后用于通过图像间预测在空间上预测图像的其他相邻块或预测其他图像的块。
在步骤E23中,考虑到先前定义的扫描顺序,检查当前块是否是要通过编码方法处理的图像的最后块。如果当前块不是要处理的图像的最后块,则在步骤E24中,根据先前定义的图像扫描顺序选择要处理的图像的后续块,并且编码方法进行到步骤E2,其中所选块成为要处理的当前块。
如果已经对图像的所有块进行了编码,则在步骤E231中,处理进行到要向重构图像应用的后处理方法的应用。如上所述,这些后处理方法可以是解块滤波和/或SAO方法。由于后处理操作的应用类似地在编码器和解码器处完成,因此稍后将描述步骤E231。
在应用了至少一种后处理方法之后,该方法继续对视频的下一图像(如果有的话)进行编码(步骤E25)。
图4示出了根据本发明的特定实施例的用于对代表待解码的图像I1、I2、……、INb的序列的编码数据的流STR进行解码的方法的步骤。
例如,数据流STR是经由关于图1所示的编码方法生成的。数据流STR作为输入提供给解码设备DEC,如关于图7所述。
该解码方法逐个图像地对流进行解码,并且逐块地对每个图像进行解码。
在步骤E40中,将要解码的图像Ij细分为块。每个块将经历解码操作,该解码操作包括以下详细描述的一系列步骤。块可以具有相同尺寸或不同尺寸。
在步骤E41中,根据图像Ij的预定扫描顺序,将图像Ij的要解码的第一块或子块Xb选择为当前块。例如,它可以是按图像的字典扫描顺序排列的第一块。
在步骤E42中,从数据流STR中读取指示当前块的编码模式的信息项。根据这里描述的特定实施例,该信息项指示当前块是根据第一编码模式M1还是根据第二编码模式M2编码的。根据这里描述的特定实施例,第一编码模式M1对应于当前块的常规帧内预测编码,例如根据HEVC标准定义,并且第二编码模式M2对应于环路内残差(ILR)预测编码。
在其他特定实施例中,从流STR读取的信息项还可以指示使用其他编码模式来对当前块进行编码(这里未描述)。
下面描述当根据第一编码模式M1对当前块进行编码时、用于对当前块进行解码的步骤E43。
在步骤E430中,确定量化步长δ1。例如,根据在步骤E401中读取的量化参数QP来确定量化步长δ1,或者与在编码器处进行的动作类似地确定量化步长δ1。例如,可以使用在步骤E401中读取的量化参数QP来计算量化步长δ1。例如,量化参数QP可以是在AVC或HEVC标准中常规使用的量化参数。因此,在HEVC标准中,量化步长δ1由等式δ1=levelScale[QP%6]<<(QP/6))确定,其中levelScale[k]={40,45,51,57,64,72},其中k=0……5。
在步骤E431中,从相邻块中解码被选择为对当前块进行编码的预测模式。为此,如在编码器处所做的那样,使用与当前块的相邻块相关联的帧内预测模式,对为当前块选择的帧内预测模式进行编码。
MPM和非MPM列表的构造都与编码期间进行的构造严格相似。根据HEVC标准,以下类型的语法元素被解码:
-二进制指示符,指示要为当前块编码的预测模式是否在MPM列表中,
-如果当前块的预测模式属于MPM列表,则在MPM列表中与已编码的当前块的预测模式相对应的索引,
-如果当前块的预测模式不属于MPM列表,则非MPM列表中与编码的当前块的预测模式相对应的索引。
因此,从数据流STR中为当前块读取二进制指示符和预测模式索引,以解码当前块的帧内预测模式。
在步骤E432中,解码器根据解码的预测模式为当前块构造预测块P。
在步骤E433中,解码器例如使用HEVC标准中指定的解码,来从数据流STR解码量化块RTQ的系数。
在步骤E434中,例如使用δ1量化步长标量反量化来对解码块RTQ进行反量化。这产生反量化系数块RTQD。
在步骤E435中,对反量化系数块RTQD应用逆频率变换,以便产生解码的预测残差块RTQDI。例如,该变换可以是逆DCT类型的变换。通过从数据流STR中解码指示符,可能从变换ETI的预定集合中选择要使用的变换。
在步骤E436中,从步骤E432中获得的预测块P和步骤E435中获得的解码残差块RTQDI重构当前块,以便通过Xrec=P+RTQDI产生解码的当前块Xrec。
下面描述当根据第二编码模式M2对当前块进行编码时、用于对当前块进行解码的步骤E44。
在步骤E440中,确定用于预测当前块的像素的本地预测器PL。在仅一个预测器可用的情况下,例如,本地预测器默认在解码器级别设置,并且不需要从流STR中读取语法元素来确定它。
在几个本地预测器(例如上述预测器PL1-PL4)可用的情况下,从数据流STR中解码语法元素,以识别使用哪个本地预测器来预测当前块。因此,从该解码的语法元素中确定本地预测器。
在步骤E441中,类似于在编码器处所做的那样,确定量化步长δ2。
在步骤E442中,从数据流STR中解码量化后的残差R1Q。诸如HEVC中描述的方法之类的任何已知方案都可以用于解码常规预测残差的量化系数。
在步骤E443中,使用量化步长δ2对量化的残差块R1Q进行反量化,以便产生反量化的残差块R1QD。
在步骤E444中,当获得反量化的残差块R1QD时,使用在步骤E440中确定的本地预测器PL来构造预测块P1。
在步骤E444中,如下预测和重构当前块的每个像素:
-使用该块之外并已重构的像素、或在当前块中先前重构的像素、或使用这两个像素,通过选择的本地预测器PL来预测当前块的当前像素X,以便获得预测值PRED。在所有情况下,预测器PL都使用先前解码的像素。
-通过将预测残差R1QD的反量化值添加到预测值PRED,来计算当前像素X的解码的预测值P1(X),使得P1(X)=PRED+R1QD(X)。
按照确保从PL1、……、PL4中选择的用于预测的像素可用的扫描顺序,对当前块的所有像素实施这些步骤。
例如,扫描顺序是字典顺序(从左到右,然后是从上到下的行)。
根据本发明的特定实施例,包括当前块的每个像素的解码的预测值P1(X)的预测块P1在这里形成解码的当前块Xrec。
根据本发明的另一特定实施例,在此认为对于当前块编码附加预测残差。因此,必须对该附加预测残差进行解码,以便重构当前块Xrec的解码版本。
例如,所述另一特定实施例可以默认在编码器和解码器级别被激活或不被激活。或者,可以将指示符与块级别信息一起编码在数据流中,以指示对于根据ILR编码模式所编码的每个块,是否编码附加预测残差。或进一步,可以将指示符与图像或图像序列级别信息一起编码在数据流中,以指示对于根据ILR编码模式编码的图像或图像序列的所有块,是否编码附加预测残差。
当对于当前块编码附加预测残差时,在步骤E445中,使用适合于在编码器处实现的那些手段(例如在HEVC解码器中实现的手段),从数据流STR中解码量化的预测残差R2TQ的系数。
在步骤E446中,例如,使用量化步长δ1的标量反量化,对量化系数R2TQ的块进行反量化。这产生了反量化系数块R2TQD。
在步骤E447中,将逆频率变换应用于块R2TQD,以便产生解码的预测残差块R2TQDI。
逆变换可以是例如逆DCT型变换。
可能从变换ET2的预定集合中选择要使用的变换,并且可以对向解码器通知要使用的变换的信息项进行解码。在这种情况下,集合ET2不同于集合ET,以便适应残差R2的特定统计。
在步骤E448中,通过将在步骤E444中获得的预测块P1添加到解码后的预测残差R2TQDI,来重构当前块。
在步骤E45中,考虑到先前定义的扫描顺序,检查当前块是否是要通过解码方法处理的图像的最后块。如果当前块不是要处理的图像的最后块,则在步骤E46中,根据先前定义的图像扫描顺序选择要处理的图像的后续块,并且解码方法进行到步骤E42,所选块成为要处理的当前块。
如果图像的所有块均已被解码,则在步骤E451中,处理进行到要应用于重构图像的至少一种后处理方法的应用。如上所述,这些后处理方法可以是解块滤波和/或SAO方法。
在应用至少一种后处理方法之后,该方法继续解码(步骤E47)视频的下一图像(如果有的话)。
下面描述根据本发明的分别在编码器和解码器处应用至少一种后处理方法的步骤E231和E451。
后处理操作通常需要根据编码器和解码器处使用的图像中的块的扫描顺序,访问要处理的当前块的相邻块中包含的数据,包括“将来”或尚未重构的块。因此,通常通过组成图像的所有重构块上的第二完整环路,来执行后处理操作。因此,在编码器和解码器处,图像的所有块上的第一环路根据块的编码信息构造块的重构版本,然后后处理环路再次贯穿重构的块以改进其重构。上面给出了两个增强示例,本发明的一般原理当然也适用于其他后处理方法。
解块滤波
在该处理操作期间,将“解块”滤波应用于图像的重构块。该滤波通常包括将低通滤波器应用于在重构块的边界处的像素。这样的滤波器在一般方面在以下文章中进行了描述,Andrey Norkin et al,"HEVC deblocking filter",IEEE Transactions on Circuitsand Systems for Video Technology(Volume:22,Issue:12,Dec.2012),page(s):1746–1754,05October 2012。
根据本发明的特定实施例,解块滤波仅被应用于先前通过常规编码模式(即,除了ILR之外)所编码的两个重构块的边界处。
本发明的该特定实施例例如在图5A中示出,其示出:
-根据编码模式M2(ILR)解码的像素80的重构块,
-与块80邻近的根据编码模式M1(非ILR)解码的像素81的重构块,
-与像素81邻近的根据编码模式M1(非ILR)解码的像素82的重构块。
在图5A中:
-阴影像素对应于禁止应用解块滤波的像素,
-填充点的像素是由于其在重构块中的位置而不受解块滤波影响的像素,
-并且白色像素是对其应用解块滤波的像素。
因此,根据所描述的本发明的特定实施例,当根据编码模式M2对当前块(例如,块80)进行解码或编码时,对于当前块的所有像素,禁止对重构的当前块应用解块滤波。这在图5A中示出,其中在框80的边界处的所有像素都用阴影标出。
此外,当根据常规或非ILR编码模式对当前块(例如,块81)进行解码或编码时,如果像素位于重构的当前块与相邻块的边界上并且如果根据常规(即非ILR)编码模式对相邻块进行了解码或编码,则解块滤波被应用于重构的当前块的像素,这在图5A中示出,其中位于与块80的边界处的块81的所有像素都用阴影标出,并且位于与块82的边界处的块81的所有像素为白色。
根据本发明的特定实施例,仅在两个块的边界处应用解块滤波,其中两个块中的至少一个是根据常规编码模式所编码/解码的块(例如,在关于图2和图4所描述的示例中为M1)。
本发明的该特定实施例例如在图5B中示出,其示出:
-根据编码模式M1(非ILR)解码的像素83的重构块,
-与块83邻近的根据编码模式M2(ILR)解码的像素84的重构块,
-与块84邻近的根据编码模式M2(ILR)解码的像素85的重构块。
在图5B中:
-阴影像素对应于禁止应用解块滤波的像素,
-填充点的像素是由于其在块中的位置而不受解块滤波影响的像素,
-白色像素是对其应用解块滤波的像素。
因此,根据所描述的本发明的特定实施例,当根据编码模式M2(ILR)对当前块(例如,块84)进行解码或编码时,如果像素位于重构的当前块84与相邻块的边界上并且如果根据编码模式M2(ILR)对所述相邻块进行了解码或编码,则对于重构的当前块84的像素禁止应用解块滤波。这在图5B中示出,其中位于与块85的边界处的块84的所有像素都用阴影标出。
此外,根据本发明的该特定实施例,如果像素位于重构的当前块与相邻块的边界上并且如果根据不同于编码模式M2的编码模式对相邻块进行了解码或编码,则解块滤波被应用于重构的当前块(84)的像素。这在图5B中示出,其中位于与块83的边界处的块84的所有像素为白色。
SAO处理操作
通常,将SAO处理操作应用于重构块的所有像素。这样的SAO处理操作包括:取决于块的每个像素的环境,将所述像素的解码值移位向解码器显式传送的值。SAO处理操作在以下文章中进行了描述:Chih-Ming Fu,Elena Alshina,Alexander Alshin,Yu-Wen Huang,Ching-Yeh Chen,and Chia-Yang Tsai,Chih-Wei Hsu,Shaw-Min Lei,Jeong-Hoon Park,and Woo-Jin Han,"Sample Adaptive Offset in the HEVC Standard"IEEETRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,VOL.22,No.12,DECEMBER 2012,1755。
根据本发明的特定实施例,SAO处理操作仅应用于通过常规(即,非ILR)编码模式编码的重构块。换句话说,当根据ILR编码模式(在先前描述的示例中为M2)对当前块进行解码或编码时,对于重构的当前块的所有像素,禁止将SAO方法应用于重构的当前块。
图6示出了适于实现根据本发明的任一特定实施例的编码方法的编码设备COD的简化结构。
根据本发明的特定实施例,通过计算机程序指令来实现编码方法的步骤。为此目的,编码设备COD具有计算机的标准架构,并且特别地包括存储器MEM、处理单元UT,该处理单元例如配备有处理器PROC,并且由存储在存储器MEM中的计算机程序PG驱动。当由处理器PROC执行程序时,计算机程序PG包括用于实现如上所述的编码方法的步骤的指令。
在初始化时,计算机程序PG的代码指令例如在被处理器PROC执行之前被加载到RAM存储器(未示出)中。特别地,处理单元UT的处理器PROC根据计算机程序PG的指令实现上述编码方法的步骤。
图7示出了适于实现根据本发明的任一特定实施例的解码方法的解码设备DEC的简化结构。
根据本发明的特定实施例,解码设备DEC具有计算机的标准架构,并且特别地包括存储器MEM0、处理单元UT0,处理单元UT0例如配备有处理器PROC0,并且由存储在存储器MEM0中的计算机程序PG0驱动。当由处理器PROC0执行程序时,计算机程序PG0包括用于实现如上所述的解码方法的步骤的指令。
在初始化时,计算机程序PG0的代码指令例如在被处理器PROC0执行之前被加载到RAM存储器(未示出)中。特别地,处理单元UT0的处理器PROC0根据计算机程序PG0的指令实现上述解码方法的步骤。
Claims (15)
1.一种用于解码代表至少一个图像的编码数据流的方法,所述图像被分成块,该解码方法包括,对于称为当前块的所述图像的至少一个块:
-对指示至少第一编码模式和第二编码模式之中的当前块的编码模式的信息项进行解码,所述第二编码模式是不通过使用当前块的变换预测残差的逆变换来解码当前块,而根据以下方式来解码当前块的编码模式,对于所述当前块的每个像素:
-从另一先前解码的像素获得对所述像素的预测,所述另一先前解码的像素属于所述当前块或所述图像的先前解码的块,
-解码与所述像素相关联的预测残差,
-根据所获得的所述像素的预测、以及与所述像素相关联的解码后的预测残差,来重构所述像素,
-根据解码的信息项所指示的编码模式,对所述当前块进行解码,
-当所述当前块的编码模式对应于不同于所述第二编码模式的编码模式时,将至少一种处理方法应用于重构的当前块,
-当所述当前块的编码模式对应于所述第二编码模式时,对于所述当前块的至少一个像素,禁止将所述至少一种处理方法应用于重构的当前块。
2.根据权利要求1所述的方法,其中,所述处理方法是解块滤波,所述解块滤波被应用于位于所述重构的当前块与所述图像中的重构的相邻块的边界处的所述重构的当前块的像素。
3.根据权利要求2所述的方法,其中:
-当根据所述第二编码模式对当前块进行解码时:
-对于重构的当前块的所有像素,禁止将解块滤波应用于重构的当前块,
-当根据不同于所述第二编码模式的编码模式对当前块进行解码时:
-如果所述像素位于所述重构的当前块与所述图像中的相邻重构块的边界上并且如果根据不同于所述第二编码模式的编码模式对所述相邻块进行解码,则将解块滤波应用于重构的当前块的像素。
4.根据权利要求2所述的方法,其中:
-当根据所述第二编码模式对当前块进行解码时:
-如果所述像素位于所述重构的当前块与所述图像中的相邻重构块的边界上并且如果根据所述第二编码模式对所述相邻块进行解码,则对于重构的当前块的像素,禁止将解块滤波应用于重构的当前块,以及
-如果所述像素位于所述重构的当前块与所述图像中的重构的相邻块的边界上并且如果根据不同于所述第二编码模式的编码模式对所述相邻块进行解码,则将解块滤波应用于重构的当前块的像素。
5.根据权利要求1所述的方法,其中,所述处理方法是用于通过将从数据流解码的信息项中获得的值添加到所述像素的重构值、来校正所述重构的当前块的至少一个像素的方法。
6.根据权利要求5所述的方法,其中,当根据所述第二编码模式对所述当前块进行解码时,对于所述重构的当前块的所有像素,禁止将所述校正方法应用于所述重构的当前块。
7.一种用于编码代表至少一个图像的数据流的方法,所述图像被分成块,所述编码方法包括:对于称为当前块的所述图像的至少一个块:
-对指示至少第一编码模式和第二编码模式之中的当前块的编码模式的信息项进行编码,所述第二编码模式是不通过使用当前块的预测残差的变换来编码当前块,而根据以下方式来编码当前块的编码模式,对于所述当前块的每个像素:
-从另一先前解码的像素获得所述像素的预测,所述另一先前解码的像素属于所述当前块或所述图像的先前解码的块,
-编码从所述像素的预测获得的与所述像素相关联的预测残差,
-根据与所述像素相关联的解码的预测残差、和所述像素的预测,重构所述像素,
-根据编码的信息项所指示的编码模式,对所述当前块进行编码,
-当所述当前块的编码模式对应于不同于所述第二编码模式的编码模式时,将至少一种处理方法应用于重构的当前块,
-当所述当前块的编码模式对应于所述第二编码模式时,对于所述当前块的至少一个像素,禁止将所述至少一种处理方法应用于重构的当前块。
8.根据权利要求7所述的方法,其中,所述处理方法是解块滤波,所述解块滤波被应用于位于所述重构的当前块与所述图像中的重构的相邻块的边界处的所述重构的当前块的像素。
9.根据权利要求8所述的方法,其中:
-当根据所述第二编码模式对当前块进行编码时:
-对于重构的当前块的所有像素,禁止将解块滤波应用于重构的当前块,
-当根据不同于所述第二编码模式的编码模式对当前块进行编码时:
-如果所述像素位于所述重构的当前块与所述图像中的相邻重构块的边界上并且如果根据不同于所述第二编码模式的编码模式对所述相邻块进行编码,则将解块滤波应用于重构的当前块的像素。
10.根据权利要求8所述的方法,其中:
-当根据所述第二编码模式对当前块进行编码时:
-如果所述像素位于所述重构的当前块与所述图像中的相邻重构块的边界上并且如果根据所述第二编码模式对所述相邻块进行编码,则对于重构的当前块的像素,禁止将解块滤波应用于重构的当前块,以及
-如果所述像素位于所述重构的当前块与所述图像中的重构的相邻块的边界上并且如果根据不同于所述第二编码模式的编码模式对所述相邻块进行编码,则将解块滤波应用于重构的当前块的像素。
11.根据权利要求7所述的方法,其中,所述处理方法是用于通过将从在数据流中编码的信息项中获得的值添加到所述像素的重构值、来校正所述重构的当前块的至少一个像素的方法。
12.根据权利要求11所述的方法,其中,当根据所述第二编码模式对所述当前块进行编码时,对于所述重构的当前块的所有像素,禁止将所述校正方法应用于所述重构的当前块。
13.一种用于解码代表至少一个图像的编码数据流的设备,所述图像被分成块,所述设备包括处理器,所述处理器被配置为,对于称为当前块的所述图像的至少一个块:
-对指示至少第一编码模式和第二编码模式之中的当前块的编码模式的信息项进行解码,所述第二编码模式是不通过使用当前块的变换预测残差的逆变换来解码当前块,而根据以下方式来解码当前块的编码模式,对于所述当前块的每个像素:
-从另一先前解码的像素获得对所述像素的预测,所述另一先前解码的像素属于所述当前块或所述图像的先前解码的块,
-解码与所述像素相关联的预测残差,
-根据所获得的所述像素的预测、以及与所述像素相关联的解码后的预测残差,来重构所述像素,
-根据解码的信息项所指示的编码模式,对所述当前块进行解码,
-当所述当前块的编码模式对应于不同于所述第二编码模式的编码模式时,将至少一种处理方法应用于重构的当前块,
-当所述当前块的编码模式对应于所述第二编码模式时,对于所述当前块的至少一个像素,禁止将所述至少一种处理方法应用于重构的当前块。
14.一种用于编码代表至少一个图像的数据流的设备,所述图像被分成块,所述设备包括处理器,所述处理器被配置为,对于称为当前块的所述图像的至少一个块:
-对指示至少第一编码模式和第二编码模式之中的当前块的编码模式的信息项进行编码,所述第二编码模式是不通过使用当前块的预测残差的变换来编码当前块,而根据以下方式来编码当前块的编码模式,对于所述当前块的每个像素:
-从另一先前解码的像素获得所述像素的预测,所述另一先前解码的像素属于所述当前块或所述图像的先前解码的块,
-编码从所述像素的预测获得的与所述像素相关联的预测残差,
-根据与所述像素相关联的解码的预测残差、和所述像素的预测,重构所述像素,
-根据编码的信息项所指示的编码模式,对所述当前块进行编码,
-当所述当前块的编码模式对应于不同于所述第二编码模式的编码模式时,将至少一种处理方法应用于重构的当前块,
-当所述当前块的编码模式对应于所述第二编码模式时,对于所述当前块的至少一个像素,禁止将所述至少一种处理方法应用于重构的当前块。
15.一种计算机可读数据介质,包括计算机程序的指令,当所述计算机程序由处理器执行时,用于实现根据权利要求1-6中任一项所述的方法或根据权利要求7-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410401679.9A CN118175323A (zh) | 2018-09-21 | 2019-09-03 | 用于编码和解码代表至少一个图像的数据流的方法和设备 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1858573A FR3086487A1 (fr) | 2018-09-21 | 2018-09-21 | Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image. |
FR1858573 | 2018-09-21 | ||
PCT/FR2019/052029 WO2020058595A1 (fr) | 2018-09-21 | 2019-09-03 | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410401679.9A Division CN118175323A (zh) | 2018-09-21 | 2019-09-03 | 用于编码和解码代表至少一个图像的数据流的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112740690A CN112740690A (zh) | 2021-04-30 |
CN112740690B true CN112740690B (zh) | 2024-04-09 |
Family
ID=65494291
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980061930.9A Active CN112740690B (zh) | 2018-09-21 | 2019-09-03 | 用于编码和解码代表至少一个图像的数据流的方法和设备 |
CN202410401679.9A Pending CN118175323A (zh) | 2018-09-21 | 2019-09-03 | 用于编码和解码代表至少一个图像的数据流的方法和设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410401679.9A Pending CN118175323A (zh) | 2018-09-21 | 2019-09-03 | 用于编码和解码代表至少一个图像的数据流的方法和设备 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11516465B2 (zh) |
EP (1) | EP3854085A1 (zh) |
JP (2) | JP7487185B2 (zh) |
KR (1) | KR20210062048A (zh) |
CN (2) | CN112740690B (zh) |
BR (1) | BR112021003486A2 (zh) |
FR (1) | FR3086487A1 (zh) |
WO (1) | WO2020058595A1 (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103460700A (zh) * | 2011-04-01 | 2013-12-18 | 苗太平洋控股有限公司 | 以帧内预测模式解码图像的方法 |
CN105723709A (zh) * | 2013-10-25 | 2016-06-29 | 奥兰治 | 用于编码和解码图像的方法、用于编码和解码图像的装置及对应计算机程序 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9338476B2 (en) * | 2011-05-12 | 2016-05-10 | Qualcomm Incorporated | Filtering blockiness artifacts for video coding |
US9510020B2 (en) * | 2011-10-20 | 2016-11-29 | Qualcomm Incorporated | Intra pulse code modulation (IPCM) and lossless coding mode deblocking for video coding |
WO2013067435A1 (en) | 2011-11-04 | 2013-05-10 | Huawei Technologies Co., Ltd. | Differential pulse code modulation intra prediction for high efficiency video coding |
RU2654129C2 (ru) * | 2013-10-14 | 2018-05-16 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений |
AU2014202921B2 (en) * | 2014-05-29 | 2017-02-02 | Canon Kabushiki Kaisha | Method, apparatus and system for de-blocking a block of video samples |
US9924175B2 (en) * | 2014-06-11 | 2018-03-20 | Qualcomm Incorporated | Determining application of deblocking filtering to palette coded blocks in video coding |
US10924744B2 (en) * | 2017-11-17 | 2021-02-16 | Intel Corporation | Selective coding |
US11470329B2 (en) | 2018-12-26 | 2022-10-11 | Tencent America LLC | Method and apparatus for video coding |
-
2018
- 2018-09-21 FR FR1858573A patent/FR3086487A1/fr not_active Withdrawn
-
2019
- 2019-09-03 JP JP2021515568A patent/JP7487185B2/ja active Active
- 2019-09-03 WO PCT/FR2019/052029 patent/WO2020058595A1/fr active Application Filing
- 2019-09-03 BR BR112021003486-2A patent/BR112021003486A2/pt unknown
- 2019-09-03 EP EP19783583.8A patent/EP3854085A1/fr active Pending
- 2019-09-03 KR KR1020217011404A patent/KR20210062048A/ko active Search and Examination
- 2019-09-03 US US17/277,945 patent/US11516465B2/en active Active
- 2019-09-03 CN CN201980061930.9A patent/CN112740690B/zh active Active
- 2019-09-03 CN CN202410401679.9A patent/CN118175323A/zh active Pending
-
2022
- 2022-10-26 US US17/973,966 patent/US11962761B2/en active Active
-
2024
- 2024-05-07 JP JP2024075259A patent/JP2024092045A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103460700A (zh) * | 2011-04-01 | 2013-12-18 | 苗太平洋控股有限公司 | 以帧内预测模式解码图像的方法 |
CN105723709A (zh) * | 2013-10-25 | 2016-06-29 | 奥兰治 | 用于编码和解码图像的方法、用于编码和解码图像的装置及对应计算机程序 |
Also Published As
Publication number | Publication date |
---|---|
US11516465B2 (en) | 2022-11-29 |
WO2020058595A1 (fr) | 2020-03-26 |
KR20210062048A (ko) | 2021-05-28 |
US20210352272A1 (en) | 2021-11-11 |
EP3854085A1 (fr) | 2021-07-28 |
JP2024092045A (ja) | 2024-07-05 |
FR3086487A1 (fr) | 2020-03-27 |
BR112021003486A2 (pt) | 2021-05-18 |
US20230050410A1 (en) | 2023-02-16 |
JP2022501910A (ja) | 2022-01-06 |
JP7487185B2 (ja) | 2024-05-20 |
CN118175323A (zh) | 2024-06-11 |
CN112740690A (zh) | 2021-04-30 |
US11962761B2 (en) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102292590B1 (ko) | 영상 복호화 방법 및 장치 | |
KR101947657B1 (ko) | 인트라 예측 정보 부호화 방법 및 장치 | |
KR102393180B1 (ko) | 복원 블록을 생성하는 방법 및 장치 | |
US20230199193A1 (en) | Methods and devices for coding and decoding a data stream representing at least one image | |
JP2024056766A (ja) | 少なくとも1つの画像を表すデータストリームをコーディングおよびデコーディングするための方法および装置 | |
CN112740690B (zh) | 用于编码和解码代表至少一个图像的数据流的方法和设备 | |
CN112740691B (zh) | 用于编码和解码表示至少一个图像的数据流的方法和设备 | |
CN112292858B (zh) | 用于编码和解码表示至少一个图像的数据流的方法和装置 | |
CN113412618B (zh) | 用于编码和解码表示至少一个图像的数据流的方法和设备 | |
CN112740692B (zh) | 用于编码和解码表示至少一个图像的数据流的方法和设备 | |
JP7466469B2 (ja) | 少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス |
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 |