CN102763410B - 对使用有向变换生成的比特流进行解码的方法 - Google Patents
对使用有向变换生成的比特流进行解码的方法 Download PDFInfo
- Publication number
- CN102763410B CN102763410B CN201080047570.6A CN201080047570A CN102763410B CN 102763410 B CN102763410 B CN 102763410B CN 201080047570 A CN201080047570 A CN 201080047570A CN 102763410 B CN102763410 B CN 102763410B
- Authority
- CN
- China
- Prior art keywords
- coefficient
- conversion
- block
- path
- oriented
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 135
- 238000000034 method Methods 0.000 title claims description 38
- 230000009466 transformation Effects 0.000 claims abstract description 41
- 238000013139 quantization Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000011002 quantification Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000002203 pretreatment Methods 0.000 description 3
- YBJHBAHKTGYVGT-ZKWXMUAHSA-N (+)-Biotin Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)O)SC[C@@H]21 YBJHBAHKTGYVGT-ZKWXMUAHSA-N 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- FEPMHVLSLDOMQC-UHFFFAOYSA-N virginiamycin-S1 Natural products CC1OC(=O)C(C=2C=CC=CC=2)NC(=O)C2CC(=O)CCN2C(=O)C(CC=2C=CC=CC=2)N(C)C(=O)C2CCCN2C(=O)C(CC)NC(=O)C1NC(=O)C1=NC=CC=C1O FEPMHVLSLDOMQC-UHFFFAOYSA-N 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004576 sand 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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/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
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
比特流包括帧序列。各帧被划分为编码块。针对各个块,在根据比特流中的变换索引确定的变换角处确定路径集。从比特流中取得变换系数。变换系数包括各路径的一个DC系数。对变换系数进行逆变换以生成解码视频。
Description
技术领域
本发明总体上涉及视频编解码器,更具体地,涉及在视频帧和图像中的像素块的编码和解码中使用的有向变换(directionaltransform)。
背景技术
编解码器
数字视频编解码器对视频进行压缩和解压。编解码器可以在广播设备、电视、个人计算机、录像机和播放器、卫星以及移动设备和在线设备中找到。编解码器将视频的各帧划分为像素块,并且一次处理一个块。
在编码中,消除空间和时间冗余以减小数据率。本发明与视频编码和解码中使用的变换特别相关。最普通的变换是MPEG和H.264/AVC标准中规定的离散余弦变换(DCT)。DCT对空间域中的像素强度进行转换以对频域中的系数进行变换。然后对系数进行量化,进行熵解码,以生成压缩比特流。比特流可以存储在介质(DVD)上,或者直接传送到解码器。在解码中,这些步骤反过来。在熵解码和逆量化之后,进行逆变换以恢复原始视频。
通常,解码器的数量(例如,全世界的消费类产品)远远超过编码器的数量。因此,为了实现互通性,仅比特流和解码处理被标准化。编码处理通常不在标准中规定。
变换
DCT包括施加于块中的各像素行的水平1DDCT和施加于各像素列的垂直1DDCT。对于主要具有水平特征和垂直特征的块,2DDCT是高效的。然而,2DDCT不能高效地对包含既非水平也非垂直的特征(即,有向特征)的块进行变换,其中“有向(directional)”指水平和垂直以外的朝向。
通常,存在两种实现有向变换的方法。第一种方法沿着块内的预定路径施加2DDCT。第二种方法施加有向滤波器,之后是2DDCT。通常,扇形滤波器(fanfilter)将块划分为有向子带的集合。随后对各子带施加变换。这样实施轮廓波(contourlet)等的有向变换。轮廓波高效地对包含由曲线边界分离的平滑区域的帧进行变换。
已经使用有向变换来补充现有视频编码方法(诸如H.264/AVC)的现有2DDCT或DCT类的变换。在编码处理中,H.264/AVC编码器从变换集(诸如传统的2D变换)及有向变换集中进行选择。然后选择在编码率/失真方面产生最佳性能的一个变换,以进行编码和解码。
在变换之后,可以利用有向数据的统计来对相应数据的熵解码进行改进。在H.264/AVC中,使用上下文(context)自适应二进制算术编码器(CABAC)或上下文自适应可变长度编码器(CAVLC)对不同类型的数据进行熵编码。把输入符号映射到二进制码字并由算术编码器进行压缩。上下文用于调整算术编码器所使用的统计。各上下文存储最可能的符号(0或1)以及相应的概率。
H.264/AVC标准被设计为使用2DDCT。现有方法可以使用有向变换来扩展H.264/AVC编码器的性能。然而,这些方法仍然使用传统的H.264/AVC架构来生成与方向有关的判决以及数据并进行编码。因而,需要高效地表示有向信息,并提高编码效率。
变换的目的在于将像素值变化的块转换为大部分系数为0的系数块。在DCT的情况下,将像素的阵列集转换为表示块中的低频至高频数据的DCT系数集。最低的频率是DC系数,其与通过变换而转换的全部像素的平均值相关。下一个系数表示信号中包含的最低频余弦波的幅值。随后的系数对应于递增的频率。如果数据非常适合于DCT,则许多频率系数为零,是解码器重建视频时所不需要的。
使用并行1D变换集的现有的有向变换的一个问题在于:根据变换在块中的位置,各1D变换的长度可能发生变化。例如,为了使用朝向45度的有向变换对8×8块进行变换,沿着块的主对角线的1D变换具有8个元素,并且相邻的1D具有7个元素,等等,直至一个或两个元素的变换,这是低效的。一个元素的变换最多是一个像素值的缩放,这对提高编码效率不起多大作用。因而,需要一种方法,该方法使用这些变换对块进行变换而不会因为小的变换路径而变得低效,但仍保持原变换的有向特性。
还需要一种方法来以进一步提高编码效率但无损于性能(当数据在第二正交方向上不相关时2DDCT的性能会劣化)的方式对第一变换集的输出施加第二变换集。
此外,需要一种适合于对H.264/AVC等预测编码器中普遍存在的预测残余块进行编码的该变换的分割后的形式。
发明内容
比特流包括帧序列。各帧被划分为编码块。针对各个块,在根据比特流中的变换索引确定的变换角处确定路径集。从比特流中取得变换系数。变换系数包括各路径的一个DC系数。对变换系数施加逆变换来生成解码视频。
附图说明
图1A是根据本发明的实施方式的视频系统的框图;
图1B是根据本发明的实施方式的解码器的框图;
图1C是根据本发明的实施方式的编码器的框图;
图2是根据本发明的实施方式的子块和分区有向处理模块的框图;
图3是根据本发明的实施方式的变换类型和方向判决模块的框图;
图4是根据本发明的实施方式的方向推断模块的框图;
图5是根据本发明的实施方式的有向预测模块的框图;
图6是根据本发明的实施方式的有向索引编码器模块的框图;
图7是根据本发明的实施方式的有向索引编码器模块的第一实施方式的示意图;
图8是根据本发明的实施方式的有向索引编码器模块的第二实施方式的示意图;
图9和图10是根据本发明的实施方式的上下文生成模块的流程图;
图11A和图11B是根据本发明的实施方式的主有向变换和次有向变换的路径的示意图;
图12A至图12F是根据本发明的实施方式的8×8像素块的主有向变换的框图;以及
图13是根据本发明的实施方式的分区有向变换集的框图。
具体实施方式
编解码器
图1A示出了根据本发明的实施方式的视频系统。该系统包括编码器10和解码器20,合称为编解码器30。如所公知的,编解码器可以在包括有存储器和输入/输出接口的处理器中实现。
编码器将输入视频1压缩成比特流15。如后所述,编码器对输入视频施加变换、量化和熵编码。为了保证输出视频准确地反映输入视频,解码器20以相反的顺序执行相反的步骤。另外,编码器通常包括解码器的等同物,以提供编码处理的反馈。因为在编码器中所有编码器变量都是现成的,所以编码器中的解码器相对简单。本发明与逆有向变换25特别相关。
如下所述并且如图11B所示,变换可以包括主变换和次变换。在编码中,主变换对像素强度进行运算以确定变换系数,例如DC系数和AC系数。次变换仅对DC系数1160进行运算以生成次变换系数1170以进一步减少数据冗余。逆变换包括次逆变换26和主逆变换27,次逆变换26用于重建DC系数,主逆变换27恢复解码视频的像素强度。
为了保证编码器与解码器之间的互通性,视频编码标准通常仅规定比特流和解码处理。然而,本领域技术人员可以理解,下面详细进行的编码处理的说明足以精确地推导出相反的解码处理。
解码器
图1B示出了本发明的解码器20的相关部分。解码器接收编码比特流15和信息160。将比特流提供给CABAC熵解码器191,CABAC熵解码器191根据该信息生成量化变换系数192。对于第一块,该信息可以是初始上下文。之后,该信息与前一处理(解码)的块相关。
对系数进行逆量化24和逆变换25,从而解码块形成输出或解码视频2。变换可以是逆离散余弦变换(IDCT)。变换可以包括2D逆离散余弦变换,以及逆有向变换集。还可以施加下面详细说明的次逆变换。
将信息160提供给解码器的上下文生成模块(CGM),该上下文生成模块(CGM)将所选择的上下文921-922转发给CABAC解码器。将先前解码的块160的预测变换指示符(PTI)501提供给有向索引解码模块(DIDM)601,该有向索引解码模块(DIDM)601生成逆变换25的变换指示符602。逆变换可以使用任何逆变换,例如1D水平和1D垂直逆DCT(2DIDCT)41、逆有向变换42的集合以及任何其它已知的逆变换43。
应当注意,当前的视频编码标准仅使用一个预先规定的变换,从而不需要不同变换的索引。此外,当前的标准在逆变换中不考虑与先前解码的块相关的边信息。
编码器
图1C示出了编码器10的相关细节。根据本发明的实施方式,编码器使用有向变换。可以在编码器的处理器中执行所示方法的步骤。处理器包括公知的存储器和输入/输出接口。
编码器的输入是待编码视频的帧的块101。如本文定义的,块包括宏块、子块以及块分区,通常是像素阵列。在大部分编码应用中,优选对宏块和子块进行运算。块可以包含原始视频数据、视频数据的空间或运动补偿预测的残余或者其它待变换的与纹理相关的数据。可以通过子块分区有向处理模块(SPDPM)200将块分区为子块。在本文中,将子块作为“块”一次一个地进行处理。
使用从传统的二维离散余弦变换(2DDCT)120、有向变换130的集合或其它变换(通称为变换125)中选择的变换对各块进行变换。通过变换类型和方向判决模块(TTDDM)300来测量输出。TTDDM使用编码率/失真成本等的指标来确定哪个变换提供最佳性能。编码率/失真成本是编码率与标量乘失真的总和。选择具有最小成本的变换类型和方向进行变换。性能可以是,但不限于,编码效率的度量。其思想是选择具有最佳性能的变换进行编码,并且将所选择的变换作为比特流中的索引16传达给解码器。
TTDDM还可以接收来自方向推断模块(DIM)400的输入。DIM的输入是指示先前刚处理的块所使用的变换和方向的数据160的集合。DIM的输出是与数据160对应的值或值的集合,比如优选的方向431。TTDDM使用该信息来判决使用哪个变换和方向对块101进行编码。TTDDM还可以向SPDPM转发最终分区指示符(FPI)141,作为分割的指导。TTDDM模块生成变换块102和表示所选择的变换和方向的所选变换指示符(STI)145。
然后,使用熵编码对变换块102进行适当编码(150),以生成编码输出块17。
方向预测模块(DPM)500还从DIM接收信息,并接收与先前处理的块160相关的信息。DPM使用该信息生成预测变换指示符(PTI)501。PTI与STI145一起被输入到有向索引编码模块(DIEM)600。DIEM将该表征转换成二进制码字603,以通过上下文自适应二进制算术编码器(CABAC)190进行编码。
通过上下文生成模块(CGM)900确定供CABAC使用的上下文。CGM的输入是来自DIM的与先前刚编码的块所使用的变换和方向相关的信息,或者是来自当前块的已编码信息。CGM生成CABAC的上下文,以对二进制有向索引进行编码。CABAC输出编码后的变换索引16。
子块和分区有向处理模块
图2示出了SPDPM200的细节。输入块101中的像素可以表示与视频相关的信息,诸如视频帧数据、运动补偿预测残余以及空间预测残余。SPDPM将块划分为多个分区210,通常为像素阵列。对分区施加传统或有向变换125。由TTDDM生成的最终分区指示符141指示使用哪个分区以实现最佳性能。
变换类型和方向判决模块
图3示出了选择最佳变换和方向以用来对块210进行变换的TTDDM300。变换选择器310选择可用变换类型中的哪一个要发送到测量模块320,测量模块320确定用于选择变换的编码率/失真(R/D)成本等的指标321。
变换选择器可受DIM400的影响。DIM例如可以对相邻块进行检查以确定哪个方向对于当前块更好。然后可以把测量限于可用方向的子集,因而减少处理时间。在使用这些测量确定最佳方向或变换之后,输出所选变换指示符145以及相应的变换块102。如果TTDDM对所选择的多个分区进行工作,则还向SPDPM输出产生最佳性能的最终分区指示符141。
方向推断模块
图4示出了DIM400。块选择模块使用先前处理的块和边信息160来确定当前块的可能变换方向411。使用可能变换方向来确定优选方向431的集合。该优选方向431的集合随后供DPM使用以减少表示该信息所需的比特数,这样会提高编码器和解码器中的效率。
块选择模块(BSM)410基于所选块与当前块之间的距离等标准,从块160中进行选择。可靠性判决模块(RDM)420估计所选块的可靠性。RDM模块可以使用纹理信息、位置和其它的块数据412。各个所选块的可靠性因数421以及相应的变换方向411送至识别优选方向413的优选方向确定模块(PDDM)。
有向预测模块
图5示出了DPM500,其确定DIEM600和CGM的预测变换指示符501。第一级预测器510从优选方向431中选择候选515。第二级预测器420使用这些候选和编码边信息160来选择优选变换指示符501。
为了对变换后的纹理残余进行编码,可以将所选变换指示符145与纹理预测器(诸如在H.264/AVC中使用的帧内预测模式)关联起来。因此,送至DPM的边信息可以包括例如帧内预测模式以选择指示符501。
有向索引编码模块
图6示出了DIEM600。输入包括所选变换指示符145和预测变换指示符501,它们被映射605-606到方向的有义表示。对于所选变换指示符和预测变换指示符可以使用不同的映射605-606。确定610两个方向之差作为变换指示符差值612。因为预测是所选变换方向的合理近似,所以小的角度差应该导致可有效编码的类似码字。该差被二值化620成码字603,该码字603被CABAC190熵编码为编码变换索引16。应当理解,可以使用任何上下文自适应熵编码器以及可变长度编码(VLC)。如下所述,可以绕过611该差值计算。
图7示意地示出了DIEM600的第一实施方式。例如,存在8个可能的变换方向701和相应的预测702。由所选变换指示符145选择变换方向,并且由PTI501选择预测。变换指示符被映射到格雷(Gray)码,在格雷码中,相邻的方向只差一比特。通过异或(XOR)610运算对所选方向和预测方向的码字进行逐位比较,以取得差值611。对于精确的预测器,这样会生成大部分为零的比特流以得到低的熵。因为指示符映射605-606使用二进制表示,因此不使用二值化620。
图8示出了DIEM的第二实施方式。在该实施方式中,通过均匀连续的序号表示方向。差值610为
Δ=(IS-IP+N)modN,
其中,IS和IP分别是所选方向指示符和预测方向指示符的映射索引,N是可能方向的数量,例如是8。因为更可能是小的差值,所以二值化620采用很少的比特对接近于零(0,1,N-1,2,N-2,…)的差值进行编码。可以绕过611差值计算并且把映射后的变换指示符别直接传送到二值化模块620。在这种情况下,上下文生成模块900使用预测编码指示符来选择适当的上下文。
上下文生成模块
图9-图10示出了CGM900的实施方式。CGM选择CABAC190的上下文921-922。还可以选择两个以上的上下文。为了确定上下文,CGM可以使用优选处理块信息160、PTI501以及优选方向431。上下文A和B区分准确的预测方向和不准确的预测。图9示出了如何使用优选方向431来确定上下文。确定910最大差值并且将其与预定阈值T相比较。如果差值小于阈值,则在上下文A921中的预测是准确的,否则上下文B922是不准确的。例如,如果使用DIEM,则送至CABAC的比特大部分为0,选择上下文A以符合这种可能性。CGM900的上下文选择还可以考虑其它因素,诸如比特位置,以在两个以上的上下文当中进行判断。
图10所示的实施方式假设DIEM绕过611差值计算610。输入预测变换指示符501和位置索引i1001,位置索引i1001表示将要对索引603中的哪个比特进行编码。采用在DIEM中使用的同一指示符映射605将PTI501映射1010成二进制码字。因为码字都应该是相同的,所以CABAC的最可能比特应该与1030的当前比特CW[i]相同。因而,如果比较1030指示当前比特为1,则选择优选1的上下文A921,否则选择0为优选比特的上下文B922。
主有向变换和次有向变换
图11示出了根据本发明的实施方式的有向变换。应当理解,在解码中,变换为逆变换。对M×N像素块1100进行变换(或逆变换)。为了进行变换,与像素相关的值1101可以是强度或变换系数,这取决于编码或解码的阶段。
变换包括1D变换{T0,T1,…,TN-1}集1102,其中N为施加于块的1D变换的总数。变换Ti的长度li表示1D变换所作用于的像素数量。因而,集合中的变换{T0,T1,…,TN-1}具有对应的长度{l0,l1,…,lN-1}。
在块内沿着路径1102对各像素施加各变换。路径通常包括连续的或相邻的像素的集合。然而,也可以在路径中包括非连续的像素。
如图11B所示,如果路径上的像素的值是系数,则各路径的第一系数是DC系数,之后是AC系数。所有的第一系数1150汇集在次变换系数(STC)集1170中。该集中的第一次系数是次DC(SDC)系数。
在解码中,可以将次有向变换26施加于次变换系数集,以重建各路径的DC系数。在编码中,在形成次变换系数集1170之后丢弃各路径的第一或DC系数。
相对于垂直方向1103,各路径朝向由有向变换索引确定的变换角θ1105。如上所述,在编码中确定的变换索引是待解码比特流的一部分。
特定块和变换的路径通常朝向同一方向。生成路径的方式如下。
针对块指定变换长度的最小路径Lmin1110。变换路径通常起始于位于块1100的边缘(或角部)处的起始像素1120。如上所述,如果像素的值为系数,则起始像素的值为DC系数。
路径沿着角度θ继续,直至另一个边缘处的结束像素1121。像素中的路径长度为m。如果起始像素位于边缘或角部处,则该长度为m=1。
如果m≥Lmin,则认为路径完整。如果块仍然包含不在路径上的任何像素,则开始新的路径。新的路径可以起始于块中任何未变换的像素。通常,新的路径起始于前一路径的起点邻接或附近的像素,或者,路径可以起始于块的对角,使得块内的路径长度的分布基本上对称。处理继续步骤2,直到全部像素被变换为止。
如果m<Lmin,则路径太短,将与先前处理的像素相邻的像素包括进来而继续处理。如果有一个以上的相邻像素,则使用块内的其它路径来确定当前路径。如果未处理的像素是可用的,则使该像素成为路径的一部分,并且使路径长度m递增,并且在方向(180-θ)上继续进行步骤2,直至到达块的边缘。因此,在继续步骤2之前,把方向θ设置为(180-θ),实际上是掉头。
图12A-图12C分别示出了Lmin=3且角度为45度、30度以及90度的有向变换。图12D-图12F示出了Lmin=5的有向变换。当路径在块的内部而不是在块的边缘结束时可以有其它的实施方式。
除了使用逆变换系数之外,逆变换26沿着与上述相同的路径工作。例如,如果针对各路径使用1DDCT,则逆变换将使用1D逆DCT(IDCT)。
次有向变换
图11B示出了次有向变换26。在施加了主有向变换之后,可以沿着包含初始系数的路径将次变换自适应地施加于各块,其中初始系数来自初始变换的各路径。这些系数通常对应于DCT等1D变换的DC系数。
除了使用逆次变换系数之外,逆次变换沿着与上述相同的路径工作。在解码中,在逆有向变换之前执行逆次有向变换。
次变换进一步减少了有向变换系数的DC分量中的冗余。或者,可以使用一个有向变换的DC分量预测另一有向变换的DC分量。
分割有向变换
图13示出了分割有向变换。大致沿着相对于垂直线成分割角的线1310将M×N(8×8)像素块1300分割为两个块分区A和B。分割角垂直于变换角θ1105。
然后,按照块分区A具有朝向角度θA的路径的集合,并且分割B具有朝向角度θB的路径的集合的约束,使用上述步骤生成有向变换。认为有向变换θ的主角度与θA相同。由于在分区内生成路径,因此线1310接近于分区的边缘。因而,有向变换中的各像素在分割A或B中。角度θA和θB可以是不同的。
在本发明的一个实施方式中,次有向变换被施加于两个分区B。为了使处理反转,施加次逆变换,然后将逆有向变换独立地施加于分区A和B。在本发明的另一个实施方式中,将次变换独立地施加于各分区。
也就是说,要么可以在逆主变换之前施加两个逆次变换,要么可以将逆次变换和逆主变换独立地施加于分区。可以逐块自适应地做出这种判决。
缩放和量化顺序
在完成主变换和次变换之后,对所得到的系数进行缩放、排序和量化。
变换系数的缩放取决于各1D有向变换的路径的长度m,或者系数在块内的位置。长度m的1D变换具有缩放因数Sm。因而,可以按Sm对长度为m的路径中的全部系数进行缩放。通常,在对相同的像素值进行变换时,把缩放因数选择为DC系数的大小相同。如果长度为m=4的变换对值分别为v的四个像素进行变换,并且长度为m=5的变换对值分别为v的五个像素进行变换,则将缩放因数Sm选择为两个变换输出相同值的第一(DC)系数。
还可以有其它的缩放方法。基于长度m或方向θ,可以对更短的变换赋予更小或更大的缩放因数。缩放还可以是变换本身的一部分,以简化该处理的实现。
按扫描的顺序布置缩放系数。在一个实施方式中,独立地按顺序对变换集{T0,T1,…,TN-1}进行扫描。在各变换中,首先对第一DC系数进行扫描,之后按照与该变换的路径相同的顺序对随后的AC系数进行扫描。
在另一个实施方式中,对来自各变换的全部第一DC系数进行扫描,之后是来自各变换的全部第二系数,等等,直到最后一个变换。在第二实施方式中,对变换进行扫描的顺序可以变化。例如,可以按照它们的索引的顺序对这些变换进行扫描,即,第一扫描按照{0,1,…,N-1}的顺序使用来自变换集{T0,T1,…,TN-1}的DC系数。或者,可以按照变换的长度{l0,l1,…,lN-1}的顺序对这些变换进行扫描。可以基于系数在块内的相对位置对这些系数进行扫描。例如,可以首先对沿着块的边缘的全部系数进行扫描,之后是从边缘错开的系数。
尽管已经通过优选实施方式的示例说明了本发明,但是要理解的是,在本发明的精神和范围内,可以进行各种其它调整和变动。因此,所附权利要求旨在涵盖落入本发明的真正精神和范围内的所有这样的变化和变动。
Claims (12)
1.一种对比特流进行解码的方法,其中所述比特流对应于编码视频,所述编码视频包括帧序列,各个帧被划分为编码块,该方法针对每个编码块包括如下步骤:
确定步骤,确定所述编码块中的路径集,其中各路径相对于垂直方向朝向根据所述比特流中的变换索引确定的变换角;
取得步骤,从所述比特流取得变换系数,其中所述变换系数对于各个路径包括一个DC系数;以及
施加步骤,在各路径上对所述变换系数施加主逆变换以生成解码视频,
其中在解码器中执行所述确定步骤、取得步骤和施加步骤,
该方法还包括:
根据量化参数对所述变换系数进行逆量化;以及
根据所述变换系数在所述编码块中的位置对所述变换系数进行缩放。
2.根据权利要求1所述的方法,其中各路径具有第一系数以形成第一系数集,并且所述取得步骤还包括:
对所述第一系数集施加次逆变换以得到各路径的所述DC系数,其中,所述第一系数是DC系数,所述第一系数集是次变换系数集。
3.根据权利要求1所述的方法,其中各路径具有第一系数以形成第一系数集,并且所述取得步骤还包括:
根据所述第一系数集预测各路径的DC分量,其中,所述第一系数是DC系数,所述第一系数集是次变换系数集。
4.根据权利要求1所述的方法,还包括:
将长度与各路径关联起来。
5.根据权利要求4所述的方法,其中所述长度是不同的。
6.根据权利要求1所述的方法,其中所述主逆变换基于逆离散余弦变换。
7.根据权利要求1所述的方法,还包括:
按照分割角将所述编码块分割为一组分区。
8.根据权利要求7所述的方法,其中所述分割角垂直于所述变换角。
9.根据权利要求1所述的方法,其中所述编码块包括宏块、子块、块分区或像素阵列。
10.根据权利要求4所述的方法,还包括:
根据量化参数对所述变换系数进行逆量化;以及
根据所述长度对所述变换系数进行缩放。
11.根据权利要求1所述的方法,其中所述变换系数的扫描顺序取决于该变换系数的量化顺序。
12.根据权利要求2所述的方法,其中独立地执行主逆变换和次逆变换的扫描。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/603,100 US20110090952A1 (en) | 2009-10-21 | 2009-10-21 | Directional Transforms for Video and Image Coding |
US12/603,100 | 2009-10-21 | ||
PCT/JP2010/066621 WO2011048909A2 (en) | 2009-10-21 | 2010-09-16 | Method for decoding a bitstream |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102763410A CN102763410A (zh) | 2012-10-31 |
CN102763410B true CN102763410B (zh) | 2016-04-27 |
Family
ID=43879261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080047570.6A Active CN102763410B (zh) | 2009-10-21 | 2010-09-16 | 对使用有向变换生成的比特流进行解码的方法 |
Country Status (12)
Country | Link |
---|---|
US (1) | US20110090952A1 (zh) |
EP (1) | EP2491716B1 (zh) |
JP (1) | JP5409909B2 (zh) |
KR (1) | KR101351714B1 (zh) |
CN (1) | CN102763410B (zh) |
BR (1) | BR112012009533B1 (zh) |
DE (1) | DE112010004109B4 (zh) |
ES (1) | ES2793499T3 (zh) |
MX (1) | MX2012004642A (zh) |
PL (1) | PL2491716T3 (zh) |
RU (1) | RU2486691C1 (zh) |
WO (1) | WO2011048909A2 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8537899B1 (en) * | 2010-02-19 | 2013-09-17 | Otoy, Inc. | Fast integer and directional transforms for data encoding |
US20110243220A1 (en) * | 2010-04-05 | 2011-10-06 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order |
JP2011259205A (ja) * | 2010-06-09 | 2011-12-22 | Sony Corp | 画像復号化装置と画像符号化装置およびその方法とプログラム |
CN102281435B (zh) * | 2010-06-11 | 2013-10-02 | 华为技术有限公司 | 编码方法、解码方法、编码装置、解码装置及编解码系统 |
US9392301B2 (en) | 2011-07-01 | 2016-07-12 | Qualcomm Incorporated | Context adaptive entropy coding for non-square blocks in video coding |
KR101718954B1 (ko) * | 2011-10-17 | 2017-03-22 | 주식회사 케이티 | 영상 부호화/복호화 방법 및 그 장치 |
US20130114685A1 (en) * | 2011-11-07 | 2013-05-09 | Sharp Laboratories Of America, Inc. | Video decoder with constrained dynamic range |
US9167261B2 (en) | 2011-11-07 | 2015-10-20 | Sharp Laboratories Of America, Inc. | Video decoder with constrained dynamic range |
JP6080375B2 (ja) * | 2011-11-07 | 2017-02-15 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US20140307780A1 (en) * | 2013-04-11 | 2014-10-16 | Mitsubishi Electric Research Laboratories, Inc. | Method for Video Coding Using Blocks Partitioned According to Edge Orientations |
RU2740863C2 (ru) * | 2016-05-13 | 2021-01-21 | Сони Корпорейшн | Устройство и способ обработки изображения |
FR3057429A1 (fr) * | 2016-10-07 | 2018-04-13 | B<>Com | Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes |
EP3451663A1 (en) | 2017-08-31 | 2019-03-06 | Thomson Licensing | Pools of transforms for local selection of a set of transforms in video coding |
CN107547814B (zh) * | 2017-09-28 | 2019-10-15 | 维沃移动通信有限公司 | 一种视频录制方法、移动终端 |
US10999604B2 (en) | 2018-04-13 | 2021-05-04 | Mediatek Inc. | Adaptive implicit transform setting |
US11297348B2 (en) * | 2018-04-13 | 2022-04-05 | Mediatek Inc. | Implicit transform settings for coding a block of pixels |
CN112166609B (zh) * | 2018-06-08 | 2024-10-18 | 株式会社Kt | 用于处理视频信号的方法和设备 |
US11025937B2 (en) * | 2019-03-16 | 2021-06-01 | Tencent America LLC | Method and apparatus for video coding |
US11616966B2 (en) * | 2019-04-03 | 2023-03-28 | Mediatek Inc. | Interaction between core transform and secondary transform |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735213A (zh) * | 2004-07-03 | 2006-02-15 | 微软公司 | 一种用于采用了混合方向预测和上升小波的图像编码的系统和方法 |
CN1984341A (zh) * | 2005-12-12 | 2007-06-20 | 三星电子株式会社 | 用于图像的帧内预测编码和解码的方法以及装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3298915B2 (ja) * | 1991-12-28 | 2002-07-08 | ソニー株式会社 | 符号化装置 |
JPH0683442A (ja) * | 1992-09-04 | 1994-03-25 | Sanyo Electric Co Ltd | 走行ロボット |
US5883678A (en) * | 1995-09-29 | 1999-03-16 | Kabushiki Kaisha Toshiba | Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio |
KR100371130B1 (ko) * | 1996-05-28 | 2003-02-07 | 마쯔시다덴기산교 가부시키가이샤 | 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법 |
US6671322B2 (en) * | 2001-05-11 | 2003-12-30 | Mitsubishi Electric Research Laboratories, Inc. | Video transcoder with spatial resolution reduction |
JP2003309848A (ja) * | 2002-04-12 | 2003-10-31 | Canon Inc | 画像符号化装置及びその制御方法 |
AU2003285850A1 (en) * | 2002-04-23 | 2004-04-30 | Nokia Corporation | Method and device for indicating quantizer parameters in a video coding system |
US7376280B2 (en) * | 2002-07-14 | 2008-05-20 | Apple Inc | Video encoding and decoding |
JP4253572B2 (ja) * | 2003-12-08 | 2009-04-15 | 株式会社東芝 | 画像符号化装置、画像符号化方法および画像符号化プログラム |
US7599435B2 (en) * | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
RU2368095C1 (ru) * | 2005-07-22 | 2009-09-20 | Мицубиси Электрик Корпорейшн | Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения |
US7933337B2 (en) * | 2005-08-12 | 2011-04-26 | Microsoft Corporation | Prediction of transform coefficients for image compression |
KR100772873B1 (ko) * | 2006-01-12 | 2007-11-02 | 삼성전자주식회사 | 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 |
US7756348B2 (en) * | 2006-10-30 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Method for decomposing a video sequence frame |
US8756482B2 (en) * | 2007-05-25 | 2014-06-17 | Nvidia Corporation | Efficient encoding/decoding of a sequence of data frames |
US8331444B2 (en) * | 2007-06-26 | 2012-12-11 | Qualcomm Incorporated | Sub-band scanning techniques for entropy coding of sub-bands |
JP2009272727A (ja) * | 2008-04-30 | 2009-11-19 | Toshiba Corp | 予測誤差の方向性に基づく変換方法、画像符号化方法及び画像復号化方法 |
WO2010018992A2 (en) * | 2008-08-12 | 2010-02-18 | Lg Electronics Inc. | Method of processing a video signal |
US8514942B2 (en) * | 2008-12-31 | 2013-08-20 | Entropic Communications, Inc. | Low-resolution video coding content extraction |
US8451903B2 (en) * | 2009-05-14 | 2013-05-28 | Massachusetts Institute Of Technology | Selecting transforms for compressing visual data |
-
2009
- 2009-10-21 US US12/603,100 patent/US20110090952A1/en not_active Abandoned
-
2010
- 2010-09-16 WO PCT/JP2010/066621 patent/WO2011048909A2/en active Application Filing
- 2010-09-16 RU RU2012120752/08A patent/RU2486691C1/ru active
- 2010-09-16 CN CN201080047570.6A patent/CN102763410B/zh active Active
- 2010-09-16 EP EP10768295.7A patent/EP2491716B1/en active Active
- 2010-09-16 JP JP2012518333A patent/JP5409909B2/ja active Active
- 2010-09-16 BR BR112012009533-1A patent/BR112012009533B1/pt active IP Right Grant
- 2010-09-16 KR KR1020127011604A patent/KR101351714B1/ko active IP Right Grant
- 2010-09-16 ES ES10768295T patent/ES2793499T3/es active Active
- 2010-09-16 MX MX2012004642A patent/MX2012004642A/es active IP Right Grant
- 2010-09-16 DE DE112010004109.1T patent/DE112010004109B4/de active Active
- 2010-09-16 PL PL10768295T patent/PL2491716T3/pl unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735213A (zh) * | 2004-07-03 | 2006-02-15 | 微软公司 | 一种用于采用了混合方向预测和上升小波的图像编码的系统和方法 |
CN1984341A (zh) * | 2005-12-12 | 2007-06-20 | 三星电子株式会社 | 用于图像的帧内预测编码和解码的方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
DE112010004109T5 (de) | 2012-11-15 |
EP2491716A2 (en) | 2012-08-29 |
WO2011048909A3 (en) | 2012-05-18 |
BR112012009533B1 (pt) | 2021-09-28 |
KR20120079137A (ko) | 2012-07-11 |
BR112012009533A2 (pt) | 2020-07-07 |
PL2491716T3 (pl) | 2020-08-24 |
US20110090952A1 (en) | 2011-04-21 |
DE112010004109B4 (de) | 2022-11-10 |
WO2011048909A2 (en) | 2011-04-28 |
KR101351714B1 (ko) | 2014-01-16 |
EP2491716B1 (en) | 2020-04-29 |
MX2012004642A (es) | 2012-05-29 |
JP5409909B2 (ja) | 2014-02-05 |
ES2793499T3 (es) | 2020-11-16 |
CN102763410A (zh) | 2012-10-31 |
JP2013507794A (ja) | 2013-03-04 |
RU2486691C1 (ru) | 2013-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102763410B (zh) | 对使用有向变换生成的比特流进行解码的方法 | |
RU2514777C1 (ru) | Способ и устройство для кодирования и декодирования изображения с использованием крупной единицы преобразования | |
US7884742B2 (en) | System and method for efficient compression of digital data | |
EP1379000B1 (en) | Signal encoding method and apparatus and decoding method and apparatus | |
CN104394418B (zh) | 一种视频数据编码、解码的方法及装置 | |
EP3139607B1 (en) | Template matching-based intra-prediction coding and decoding | |
US20130128958A1 (en) | Video data encoding and decoding | |
CN103098469A (zh) | 用于对变换系数进行熵编码/熵解码的方法和设备 | |
CN101779463B (zh) | 用于处理图像的方法以及相应的电子设备 | |
CN104967850A (zh) | 通过使用大变换单元对图像进行编码和解码的方法和设备 | |
US20130121423A1 (en) | Video data encoding and decoding | |
CN102474611A (zh) | 通过控制运动矢量的精度对图像编码/解码的方法和设备 | |
CN100579233C (zh) | 变换域中零的早期检测 | |
CN103188494A (zh) | 跳过离散余弦变换对深度图像编码/解码的设备和方法 | |
US20110090954A1 (en) | Video Codes with Directional Transforms | |
JP2007143176A (ja) | 動きベクトルの圧縮方法 | |
EP2034742A2 (en) | Video coding method and device | |
US9848204B2 (en) | Spatial prediction method and device, coding and decoding methods and devices | |
KR100508975B1 (ko) | 다층 레벨 연속 제거 알고리즘을 이용한 동영상 움직임추정 방법 | |
AU2001293994A1 (en) | Compression of motion vectors | |
KR100938498B1 (ko) | 코드블록 노이즈 분산의 변화를 최소화하는 jpeg2000스테가노그라피 장치 및 그 방법 | |
WO2005001771A1 (en) | Method of encoding a signal into a bit stream | |
JP3359214B2 (ja) | 多値画像符号化装置 | |
Zhang et al. | Distributed lossless coding of hyperspectral images | |
RU2575868C2 (ru) | Способ и устройство для кодирования и декодирования изображения с использованием крупной единицы преобразования |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |