CN104041040B - 用于无损视频编码的预测残差编码 - Google Patents

用于无损视频编码的预测残差编码 Download PDF

Info

Publication number
CN104041040B
CN104041040B CN201280032349.2A CN201280032349A CN104041040B CN 104041040 B CN104041040 B CN 104041040B CN 201280032349 A CN201280032349 A CN 201280032349A CN 104041040 B CN104041040 B CN 104041040B
Authority
CN
China
Prior art keywords
residual
sign
horizontal
level
reversely
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
Application number
CN201280032349.2A
Other languages
English (en)
Other versions
CN104041040A (zh
Inventor
高文
乔治·库克
杨名远
宋锦
于浩平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN104041040A publication Critical patent/CN104041040A/zh
Application granted granted Critical
Publication of CN104041040B publication Critical patent/CN104041040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

一种在视频编码中使用的设备,所述设备包括处理器,所述处理器用于:生成当前块的预测块;计算所述当前块与所述预测块之间的差值以生成残差块,其中所述残差块包括多个残差值;以及,如果所述多个残差值包括至少一个非零残差值,其中所述至少一个非零残差值包括至少一个正负号和至少一个残差水平,则对所述至少一个正负号执行熵编码,并且对所述至少一个残差水平执行熵编码,其中一个非零残差值包括一个正负号和一个残差水平。

Description

用于无损视频编码的预测残差编码
相关申请案的交叉参考
本发明要求2011年6月30日高文等人递交的发明名称为“用于复合视频的无损编码工具(Lossless Coding Tools for Compound Video)”的第61/503,534号美国临时专利申请案的在先申请优先权,以及2011年7月12日高文等人递交的发明名称为“用于复合视频的额外的无损编码工具(Additional Lossless Coding Tools for Compound Video)”的第61/506,958号美国临时专利申请案的在先申请优先权,上述在先申请的内容以引入的方式并入本文本中,如全文再现一般。
关于由联邦政府赞助的
研究或开发的声明
不适用。
参考缩微胶片附录
不适用。
技术领域
背景技术
即使叙述相对较短的影片,也需要大量的视频数据,当数据要在带宽容量受限的通信网络中流过或以其他方式传送时,这样可能会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中传送。视频压缩装置通常在源处使用软件和/或硬件,以在传输之前对视频数据进行编码,从而减少用来表示数字视频图像所需的数据量。接着,压缩数据在目的地处由视频解压装置接收,该视频解压装置用于对视频数据进行解码。由于网络资源有限,因此需要能提高压缩率但基本上不会降低图像质量的改进式压缩/解压技术。
发明内容
在一个实施例中,本发明包括一种在视频编码使用的设备,所述设备包括处理器,所述处理器用于:生成当前块的预测块;计算当前块与预测块之间的差值以生成残差块,其中所述残差块包括多个残差值;以及如果所述多个残差值包括至少一个非零残差值,其中所述至少一个非零残差值包括至少一个正负号和至少一个残差水平(residual level),则对所述至少一个正负号执行熵编码,并且对所述至少一个残差水平执行熵编码,其中一个非零残差值包括一个正负号和一个残差水平。
在另一个实施例中,本发明包括一种在视频编码使用的方法,所述方法包括:生成当前块的预测块;计算当前块与预测块之间的差值以生成残差块,其中所述残差块包括多个残差值;以及如果所述多个残差值包括至少一个非零残差值,其中所述至少一个非零残差值包括至少一个正负号和至少一个残差水平,则对所述至少一个正负号执行熵编码,并且对所述至少一个残差水平执行熵编码,其中一个非零残差值包括一个正负号和一个残差水平。
在又一个实施例中,本发明包括一种在视频解码中使用的设备,所述设备包括处理器,所述处理器用于:接收包括多个编码残差块和多个编码水平反向标志(encodedlevel inversion flag)的比特流,其中每个编码水平反向标志对应于一个编码残差块;对所述多个编码残差块执行熵解码以生成多个解码残差块;以及对所述多个编码水平反向标志执行熵解码以生成多个解码水平反向标志。
从结合附图和所附权利要求书进行的以下详细描述将更清楚地理解这些和其他特征。
附图说明
为了更完整地理解本发明,现在参考以下结合附图和详细描述进行的简要描述,其中相同参考标号表示相同部分。
图1是变换略过(bypass)编码方案的一个实施例的示意图。
图2是变换略过解码方案的一个实施例的示意图。
图3是残差块编码方法的一个实施例的流程图。
图4是残差块解码方法的一个实施例的流程图。
图5为网络单元的一个实施例的示意图。
图6为通用计算机系统的示意图。
具体实施方式
最初应理解,尽管下文提供一个或一个以上实施例的说明性实施方案,但可使用任何数目的技术,不管是当前已知还是现有的,来实施所揭示的系统和/或方法。本发明决不应限于下文所说明的所述说明性实施方案、附图和技术,包含本文所说明并描述的示范性设计和实施方案,而是可在所附权利要求书的范围以及其均等物的完整范围内修改。
通常,视频媒体涉及相对较快地连续显示一系列静态图像或帧,从而让观察者感觉到运动。每个帧可以包括多个图像元素或像素,每个图像元素或像素可以表示帧中的单个参考点。在数字处理期间,每个像素可以被分配一个整数值(例如,0、1,……或255),所述整数值表示对应参考点处的图像质量或特征,例如,亮度或色度。在使用中,图像或视频帧可以包括大量的像素(例如,在1920×1080的帧中包括2,073,600个像素),因此对每个像素进行独立的编码和解码(下文中简称为编码)可能是繁琐且低效的。为了提高编码效率,通常将视频帧分成多个矩形块或宏块,每个矩形块或宏块可以作为预测、变换以及量化等处理的基本单元。例如,典型的NxN的块可以包括N2个像素,其中N是大于1的整数,并且通常是四的倍数。
在国际电信联盟(ITU)电信标准化部门(ITU-T)和国际标准化组织(ISO)/国际电工技术委员会(IEC)的工作草案中,高性能视频编码(HEVC)将准备作为下一个视频编码标准,并且已经引入了新的块概念。例如,编码单元(CU)可以指划分为相等大小或不同大小的矩形块的视频帧子分区。在HEVC中,CU可以取代先前标准的宏块结构。根据帧间预测或帧内预测的模式,一个CU可以包括一个或多个预测单元(PU),每个预测单元可以用作预测的基本单元。例如,对于帧内预测,一个64x64的CU可以被对称地分为四个32x32PU。又例如,对于帧间预测,一个64x64的CU可以被非对称地分为一个16x64PU和一个48x64PU。类似地,一个PU可以包括一个或多个变换单元(TU),每个变换单元可以用作变换和/或量化的基本单元。例如,一个32x32PU可以被对称地分为四个16x16TU。一个PU中的多个TU可以共享相同预测模式,但是可以单独地进行变换。本文中,术语块大体可以指宏块、CU、PU或TU中的任何一者。
根据具体应用,可以在无损模式(即,不存在失真或信息损失)或有损模式(即,存在失真)下对块进行编码。在使用中,可以使用无损模式对高质量视频(例如,具有的YUV子采样为4:4:4)进行编码,而可以使用有损模式对低质量视频(例如,具有的YUV子采样为4:2:0)进行编码。有时,单个视频帧或视频切片可以采用无损和有损两种模式来对可能为矩形或不规则形状的多个区域进行编码。每个区域可以包括多个块。例如,复合视频可以包括文本、计算机图表和天然视图内容(例如,摄像机采集的视频)等不同类型的内容的组合。在复合帧中,可以采用无损模式对文本和图表的区域进行编码,并且可以采用有损模式对天然视图内容的区域进行编码。例如,在计算机屏幕共享应用中可能期望对文本和图表进行无损编码,这是因为有损编码可能导致本文和图像的质量或保真度较差,从而造成眼部疲劳。当前的HEVC测试模型(HM),例如,HM3.0,可以相当有效地对天然视图内容进行编码。然而,当前HM可能缺少针对某些视频的无损编码模式,因此它们的编码效率和速度可能会受到限制。
当对某一块进行编码时,可以基于一个或多个先前编码的参考块来生成预测块。预测块可以是该块的估计版本。残差块可以通过从预测块中减去该块生成,或者从该块中减去预测块生成,该残差块可以表示预测残差或误差。残差块的残差值也可以用于表示预测残差。由于用来表示预测残差所需的数据量可能通常小于用来表示原始块所需的数据量,因此可以对残差块进行编码以实现较高的压缩比。在当前HM的有损编码方案中,通过二维变换,例如十分类似离散余弦变换(DCT)的变换,空间域中残差块的残差值可以转换成频域中的变换系数。在变换矩阵中,低索引变换系数(例如,在左上部分中),例如对应于具有低空间频率分量的大空间特征,可能具有相对较大的量值;而高索引变换系数(例如,在右下部分中),例如对应于具有高空间频率分量的小空间特征,可能具有相对较小的量值。此外,在接下来的量化操作中,高索引变换系数的数量可以减小为零,从而可以在随后的编码步骤中被跳过。
由于零变换系数可能集中于变换矩阵的右下部分,因此块结束(EOB)符号可以用于指示最后的非零变换系数。接着,可以对每个非零变换系数的正负号(正号或符号)和绝对值进行编码。由于变换系数的正负号在变换矩阵中可能是随机分布的,因此它们的编码没有概率模型。
本文中所揭示的是用于改进视频编码的系统和方法。本发明提供一种变换略过无损编码方案,它可以略过变换步骤和量化步骤,而直接对残差块的预测残差进行编码。残差块可以具有不同于变换矩阵的性质,例如,大的残差值可以在任何位置而不是集中于左上部分,因此描述了各种编码工具来有效地对残差块进行编码。在一个实施例中,自适应扫描方案可以适应性地基于残差值的分布型式来确定起始位置并且/或者基于生成残差块时所使用的预测模式来确定扫描顺序。可以生成全图来指示所有非零残差值。由于预测残差的正负号可以示出空间相关性,因此可以使用上下文建模在对正负号进行编码中提高压缩率。此外,由于预测残差的绝对值可以具有相对较大的量值,因此可以执行反向操作并且可以使用熵编码器来对反向绝对值进行编码。可以经由亮度(luma)水平反向标志和色度(chroma)水平反向标志而通过信号将预测残差中发生反向的残差块发送出。在本发明中,由于在变换略过无损编码方案中实施了编码工具,因此复合视频等视频可以用高保真度有效地编码。
在使用中,在编码器之前存在一个模块用以对视频帧的内容进行分析,并且识别出需要进行无损编码的某些区域(例如,文本和/或图表区域)。关于对哪些区域以无损模式进行编码的信息或指令可以传递到编码器。基于该信息,编码器可以使用无损模式对识别出的区域进行编码。或者,用户可以手动地设定使用无损模式进行编码的某些区域,并且向编码器提供识别这些区域的信息。因此,根据编码器接收到的信息,可以在无损模式和/或有损模式下对视频(例如,复合视频)进行编码。本文中,无损编码模式可以包括变换略过编码以及无量化变换编码。在本文中对这两种无损编码方案以及有损编码方案进行了描述。
类似地,基于接收到的比特流中包含的信息,视频解码器可以使用无损模式和/或有损模式对视频帧进行解码。所述无损解码模式可以包括变换略过解码以及无量化变换解码。在本文中对这两种无损解码方案以及有损解码方案进行了描述。
图1示出了可以在视频编码器中实施的变换略过编码方案100的一个实施例。变换略过编码方案100可以包括如图1所示进行布置的率失真优化(RDO)模块110、预测模块120、熵编码器130以及重建模块140。在操作中,包括视频帧(或切片)序列的输入视频可以被编码器接收。本文中,帧可以指预测帧(P帧)、帧内编码帧(I帧)或者双向预测帧(B帧)中的任一者。类似地,切片可以指P切片、I切片或B切片中的任一者。
RDO模块110可以用于为一个或多个其他模块作出逻辑决策。在一个实施例中,基于一个或多个先前编码的帧,RDO模块110可以确定当前帧(或切片)如何被分为多个CU,以及CU如何被分为一个或多个PU和TU。例如,当前帧的均质区域(即,这些区域中的像素值没有差别或差别很小)可以被分为相对较大的块,而当前帧的细节区域(即,这些区域中的像素值差别很大)可以被分为相对较小的块。
此外,RDO模块110可以通过确定如何预测当前帧来控制预测模块120。可以经由帧间预测和/或帧内预测对当前帧进行预测。帧间预测(即,帧之间的预测)可以利用帧序列中的时间冗余,例如,连续帧的对应块之间的相似性,来减少压缩数据。在帧间预测中,RDO模块110可以基于一个或多个参考帧中的对应块,来确定当前帧中的块的运动矢量。另一方面,帧内预测可以利用单个帧内的空间冗余,例如,邻近块之间的相似性,来减少压缩数据。在帧内预测中,邻近当前块的参考像素可以用于生成预测块。帧内预测(即,帧之内的预测)可以使用多个可用预测模式或方向(例如,HEVC中亮度分量的35个模式)中的任何一者来实施,所述模式或方向由RDO模块110进行确定。例如,RDO模块110可以针对每个预测模式来计算绝对误差之和(SAE),并且选择产生最小SAE的预测模式。
基于RDO模块110做出的逻辑决策,预测模块120可以利用一个或多个参考帧(帧间预测)或多个参考像素(帧内预测)来生成预测块,所述预测块可能是当前块的估计。随后,可以从当前块中减去预测块,从而生成残差块。残差块可以包含多个残差值,每个残差值可以指示当前块中的像素与预测块中的对应像素之间的差值。随后,可以对残差块的所有值进行扫描并且用熵编码器130将这些值编码为编码比特流。熵编码器130可以采用任何熵编码方案,例如,上下文适应性二进制算术编码(CABAC)编码、索引哥伦布(Golomb)编码,或定长编码,或其任意组合。在变换略过编码方案100中,由于残差块是在没有变换步骤或量化步骤的情况下进行编码的,因此在编码过程中不会引起任何信息损失。
为了促进视频帧的连续编码,残差块也可以被送入重建模块140中,该重建模块可以生成用于未来块的帧内预测的参考像素或者用于未来帧的帧间预测的参考帧。如果需要,可以在参考帧/像素用于帧间/帧内预测之前对它们执行滤波。所属领域的技术人员对预测模块120和重建模块140的功能是非常熟悉的,因此将不会对这些模块进行详细描述。应注意,图1可能是视频编码器的简化图示,因此它可能只包括编码器中所出现模块的一部分。其他模块(例如,滤波器、扫描仪,以及发射器)虽然未在图1中示出,但是也可以包含在内以协助视频编码。在从编码器处进行传输之前,编码比特流可以进一步配置成包含其他信息,例如视频分辨率、帧速率、块分区信息(大小、坐标)、预测模式等,从而可以对视频帧的编码序列适当地进行解码。
图2示出了可以在视频解码器中实施的变换略过解码方案200的一个实施例。变换略过解码方案200可以对应于变换略过编码方案100,并且可以包括如图2所示进行布置的熵解码器210、预测模块220以及重建模块230。在操作中,熵解码器210可以接收含有视频帧序列信息的编码比特流,该熵解码器可以将比特流解码成未压缩格式。熵解码器210可以采用任何熵解码方案,例如,CABAC解码、索引哥伦布解码,或者定长解码,或其任意组合。
对于被解码的当前块而言,在使用熵解码器210之后,可以生成残差块。此外,包含当前块预测模式的信息也可以由熵解码器210进行解码。基于所述预测模式,预测模块220可以生成当前块的预测块。如果所述预测模式为帧间模式,那么可以使用一个或多个先前编码的参考帧来生成预测块。否则,如果预测模式为帧内模式,那么可以使用多个先前解码的参考像素来生成预测块。随后,重建模块230可以将残差块与预测块结合起来以生成重建块。此外,为了促进视频帧的连续解码,可以在参考帧中使用重建块以对未来帧进行帧间预测。重建块的一些像素也可以用作同一帧中未来块的帧内预测的参考像素。
在使用中,如果使用变换略过编码方案100和变换略过解码方案200等无损方案对原始块进行编码和解码,那么在整个编码过程中将不会引起任何信息损失。因此,如果不包括在传输过程中引起的失真,那么重建块可以与原始块完全相同。这种编码的高保真度可以改善用户在查看文本和图表等视频内容时的体验。
例如,假定当前块中像素的亮度分量是i,而预测块中对应像素的亮度分量为j,其中i和j为预定范围(例如,对于8位色彩深度而言是0-255)内的非负自然数。那么,这两个亮度分量之间的亮度差,表示为k,可以用如下等式简单计算出:k=i-j。k可以是正整数或负整数,并且k的范围取决于i和j的预定范围。例如,对于0与255之间的i和j而言,k的变化范围为-255至255。亮度水平或量值可以指亮度差的绝对值(即,|k|),因此亮度水平总是具有非负值。应注意,尽管以上假设使用亮度分量,但是关于亮度分量的描述同样适用于色度分量。除非另有说明,否则在下文中残差值可以指亮度差或色度差,并且残差水平或量值可以指亮度水平或色度水平。此外,当在编码过程中略过变换步骤时,术语系数(除非用于短语“变换系数”中)在下文中可以指残差值。
当使用变换略过编码方案时,所有残差值可以进行扫描并且使用熵编码器来编码。在没有变换步骤将非零残差值集中在变换矩阵左上角的情况下,非零残差值可能出现在残差块的随机位置。此外,非零变换系数的绝对值(即,水平)通常在左上角较大而在右下角较小,与之相比,非零残差水平也可能相对更随机地分布在残差块中。例如,峰值残差水平可以出现在任何位置,例如最左上、最右下位置,或任何其他位置。因此,大残差水平出现在残差块右下角的概率也仍然很大。
在一个实施例中,所有残差值可以在被编码之前进行适应性地扫描。在适应性扫描方案中可以使用各种起始位置和/或扫描顺序。此外,适应性扫描方案可以基于非零残差值的分布型式和/或生成残差块时所使用的帧内预测模式。在使用中,RDO模块可以用于确定最佳扫描方案。例如,RDO可以用于测试起始位置与扫描顺序的各种组合。可以针对每个测试的组合计算出残差块中编码位的数量。接着,RDO可以选择使编码位数量最小的起始位置与扫描顺序的组合。
在一个实施例中,适应性扫描方案可以基于非零残差值的分布型式来确定最佳起始位置。例如,考虑某一NxN残差块,其残差值表示为Z(m,n),其中N为大于一的整数,m为0与N-1之间变化的行索引,n为0与N-1之间变化的列索引,且Z(m,n)为位置(m,n)处的残差值。应注意,尽管本文中出于说明的目的而使用NxN正方形块,但是也可以类似地使用非正方形块。在一个实施例中,如果非零残差值集中在靠近右下角的位置,那么残差值的扫描可以从残差值Z(N-1,N-1)开始。否则,如果非零残差值集中在靠近左上角的位置,那么残差值的扫描可以从残差值Z(0,0)开始。类似地,扫描也可以从Z(0,N-1)或Z(N-1,0)开始。
在使用中,可以在比特流中包含关于起始位置的信息以促进将来的解码。在一个实施例中,为了表示不同的起始位置,可以在HEVC句法的背景下在编码比特流中引入2位句法元素,表示为(C0,C1)。(C0,C1)可以用于指示:
根据以上(C0,C1),例如,'00'句法元素可以指示出残差值的扫描从Z(0,0)开始。应理解,句法元素的分配值可以在本发明的原理内变化。例如,如果有必要,那么'00'句法元素的解译可以变为指示出起始位置为Z(0,N-1)。
在一个实施例中,适应性扫描方案可以基于生成残差块时所使用的帧内预测模式来确定最佳扫描顺序。可能存在多个帧内预测模式(例如,对于亮度分量而言在具有33个方向模式的HEVC中多达35个模式),因此可以使用各种方向(例如,垂直、水平、对角,以及其他方向)。在一个实施例中,如果帧内预测方向是垂直的,那么可以在水平方向上(即,逐行地)扫描残差值。如果帧内预测方向是水平的,那么可以在垂直方向上(即,逐列地)扫描残差值。如果帧内预测方向是45度对角,那么可以按Z字形(zigzag)顺序扫描残差值。其他帧内预测方向可以基于它们与垂直轴和水平轴的相对接近度而分类到垂直组或水平组中。例如,如果帧内预测方向与垂直轴所成的角度小于45度,那么帧内预测方向可以被分类到垂直组中,而且可以在水平方向上扫描残差值。又例如,如果帧内预测方向与水平轴所成的角度小于45度,那么帧内预测方向可以被分类到水平组中,而且可以在垂直方向上扫描残差值。
在扫描完所有残差值之后,可以生成完整显著系数(significant coefficient)图,以指示出显著系数或残差值的位置。在一个实施例中,显著系数是简单的非零系数。完整显著系数图可以包括多个二进制符号,其中在某一位置处的每个二进制符号'1'指示非零系数。可以对所有二进制符号进行编码并且将其包含在比特流中。当前编码方案会使用块结束(EOB)符号来指示最后的显著变换系数,与之相比,所揭示的变换略过编码方案可以产生一个残差块,在该残差块中任何系数都可能具有大的绝对值。因此,在本发明中,可以将EOB符号从比特流中移除。
在生成显著系数图之后,可以使用熵编码器来对非零残差值进行编码。每个非零残差值具有两个属性——可以是正号(+)或负号(-)的残差正负号,以及为正量值的残差水平。在一个实施例中,残差正负号和残差水平可以单独地进行编码,下文将对此进一步描述。
残差正负号可以使用熵编码器来编码。符号'1'可以用于表示'+',而符号'0'可以用于表示'-'。可以使用例如CABAC算法等来对'1'和'0'符号进行编码。变换系数的正负号可以随机分布在变换矩阵中,与这种变换系数不同的是,残差块中残差正负号之间可能存在空间相关性。因此,为了在对残差正负号进行编码时实现更高的压缩率,可以引入上下文建模来适应性地改变正号或负号概率。根据具体应用,任何合适数量的上下文模型可以用于CABAC熵编码器中。在一个实施例中,可以使用一个上下文模型。在这种情况下,相关的概率状态及其最可能的符号(MPS)可以基于过去编码的残差正负号而适应性地变化,这可能是CABAC熵编码器中的上下文模型的继承属性(inherit the property)。
在另一个实施例中,多个上下文模型可以用于CABAC熵编码器中。每个上下文模型可以对应于若干个先前编码的残差正负号的不同型式。例如,在上下文模型中,可以考虑紧靠着当前残差正负号之前编码的两个残差正负号。根据这两个残差正负号,可以使用四种上下文模型。在一个实施例中,具有索引0、1、2、3的上下文模型可以分别对应于以下四种情况:两个先前编码的残差正负号为(+,+)、(+,-)、(-,+)和(-,-)。应理解,上下文模型索引与正负号型式之间的对应性可以在本发明的原理内变化。例如,尽管上面的索引'2'对应于型式(-,+),但是必要时,索引'2'的意义可以修改为它替代性地对应于型式(-,-)。
在对非零值(或简单地称为非零)残差正负号进行编码之后,可以使用熵编码器对非零残差水平进行编码。如先前所述,由于没有执行变换或量化,因此残差水平可能仍然较大(例如,接近或等于255)。在视频帧中,大的亮度和/或色度残差水平通常可以出现某一区域中,所述区域包含锐边、线条和/或纹理特征,例如白色背景上的黑色文本。因此,为了有效地对可能较大的亮度和色度残差水平进行编码,可以在例如PU级等上设置水平反向标志,在下文中该标志可以指亮度或色度水平反向标志。水平反向标志可以指示非零残差水平在编码前是否应发生反向。
在使用中,RDO模块可以用于确定某一残差水平是否应发生反向。例如,考虑对PU的残差块中的非零残差水平进行编码。如果非零残差水平的平均值大于某一预定界限(例如,水平范围1-255中的127),那么可以将水平反向标志'1'分配给PU的残差块。否则,如果该平均值低于预定界限,那么可以将水平反向标志'0'分配给残差块。当水平反向标志为'1'时,可以对残差块中的所有非零残差水平运用水平反向操作。在替代性实施例中,RDO模块(例如,图1中的RDO模块)可以确定当反向后的编码位数量小于未进行反向操作的编码位数量时,是否执行反向操作。
对于每个残差块而言,可以使用熵编码器(例如,图1中的熵编码器130)将亮度和色度水平反向标志编码为压缩格式。可以使用CABAC算法来实施熵编码器,所述算法可以使用多个上下文模型。在一个实施例中,针对每个亮度和色度水平反向标志可以使用三个上下文模型。为了提高编码效率,熵编码器可以基于索引来选择上下文模型,所述索引可以与邻近的PU的水平反向标志相关。例如,考虑对当前PU的亮度水平反向标志进行编码,并且假设可以采用相同或类似的方式对当前PU的色度水平反向标志进行编码。两个邻近的PU,即,上PU和左PU,也可以具有亮度水平反向标志。因此,邻近的PU的两个亮度水平反向标志之和可以用作为当前PU选定的索引。如果上PU或左PU都不具有亮度水平反向标志(例如,当前PU处于变换略过编码区域的边界),那么可以将'0'分配给亮度水平反向标志。在使用选定的上下文模型进行熵编码之后,编码亮度水平反向标志可以被包括在比特流中。类似地,编码色度水平反向标志可以包含在比特流中。
如果某一残差块的水平反向标志为'1',那么可以对该残差块的所有非零残差水平执行水平反向操作。假定某个非零残差水平,表示为x,其中x为整数,它在[1-255]的范围内,那么反向操作可以将水平x变为反向水平(255-x)。对于大残差水平,水平反向操作可以产生较小数,这样使编码更有效(例如,因为熵编码器可以经设计使得其对小数的压缩比大数更有效)。接着,可以使用熵编码器来对残差水平进行编码,无论该残差水平是反向还是非反向的。在一个实施例中,根据残差水平的量值,熵编码器可以采用不同算法。例如,假定水平,无论是反向的水平还是非反向的水平,在[1,255]的范围内,当该水平小于3时,可以使用截断一元码来将该水平二进制化。当该水平等于或大于3时,可以使用截断一元码和定长码的组合来将该水平二进制化。该二进制化方案可以如下表1所示,其中“水平”表示非零的反向或非反向的残差水平的值。
水平 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9
1 0
2 1 0
3 1 1 0 0 0 0 0 0 0 0
4 1 1 1 0 0 0 0 0 0 0
5 1 1 0 1 0 0 0 0 0 0
255 1 1 0 0 1 1 1 1 1 1
表1:基于反向水平量值的反向水平编码方案
如表1所示,可以使用多达十位(从最低显著位B0到最高显著位B9)来对水平进行编码。当水平等于1时,使用一位(B0)。当水平等于2时,使用两位(B0和B1)。当反向水平在范围[3-255]内时,使用十位(B0-B9),其中B0和B1等于1并且B2-B9是水平减去3(即,水平-3)的值的八位二进制表示。在十位中,可以使用具有上下文模型的CABAC对B0和B1进行编码,而B2-B9则可以采用CABAC略过模式进行编码。
或者,在一个实施例中,可以使用截断一元码、截断哥伦布-赖斯(Golomb-Rice)码和定长码的组合来将反向水平二进制化。在截断哥伦布-赖斯码中,残差水平(表示为n),无论是反向的还是非反向的,都可以分解为前缀部分(表示为p)和剩余部分(表示为r)。对于具体的哥伦布-赖斯参数(表示为k)而言,前缀和剩余部分可以表示为:
r=n-pk(或n modk)
前缀部分p可以使用截断一元(TU)码来编码,而剩余部分r可以使用长度为k的定长码来编码。关于截断哥伦布-赖斯码的更多细节,请参考2011年1月20-28日在韩国大邱由T.阮(T.Nguyen)、M.温肯(M.Winken)、D.马普(D.Marpe)、H.施瓦茨(H.Schwarz)和T.维根(T.Wiegand)在关于ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频编码(JCT-VC)联合协作团队的第四次会议中提出的标题为“使用VLC和PIPE组合的变换系数水平的复杂度降低的熵编码(Reduced-Complexity Entropy Coding of Transform Coefficient LevelsUsing a Combination of VLC and PIPE)”的报告,文件号为JCTVC-D336,该报告以引用的方式并入本文中。
图3示出了残差块编码方法300的一个实施例。方法300可以为变换略过编码方案(例如,图1中的变换略过编码方案100)的一部分,该方案可以在编码器中实施。方法300可以在步骤310中开始,其中可以对残差块中的所有残差值进行扫描。在一个实施例中,适应性扫描方案可以基于残差值的分布型式来灵活地确定起始位置。例如,起始位置可以接近非零残差值集中处。起始位置可以为残差块的四个角中的任何一者,并且每个角可以编码成2位句法元素。此外,适应性扫描方案可以基于生成残差块时所使用的帧内预测模式来灵活地确定扫描顺序。例如,如果帧内预测方向是垂直的,那么可以在水平方向上(即,逐行地)扫描残差值。如果帧内预测方向是水平的,那么可以在垂直方向上(即,逐列地)扫描残差值。
接着,在步骤320中,可以生成完整显著系数图以指示非零系数的位置。完整显著系数图可以包括多个二进制符号,其中在某一位置处的每个二进制符号'1'指示非零系数。然而,'1'或'0'都可以用于指示非零系数。例如,如果有必要,二进制符号可以变为'0'以指示非零系数。接着,在步骤330中,可以使用熵编码器来对完整显著系数图进行编码。完整显著系数图中所有编码的二进制符号可以包含在比特流中。关于完整显著系数图的编码,可能无需按如HEVC工作草案中指定的扫描顺序对非零水平的最后位置进行编码。
接着,在步骤340中,可以对非零残差值的正负号(+或-)进行编码。符号'1'可以用于表示'+',而符号'0'可以用于表示'-'。可以使用例如CABAC算法等来对'1'和'0'符号进行编码。由于正负号之间可能存在空间相关性,因此可以引入上下文建模来适应性地改变正负号为'+'或'-'的概率。在一个实施例中,可以使用一个上下文模型,其中相关的概率状态及其最可能的符号(MPS)可以基于过去编码的残差正负号而适应性地变化。在另一个实施例中,具有索引0、1、2、3的四个上下文模型可以分别对应于以下四种情况:两个先前编码的残差正负号为(+,+)、(+,-)、(-,+)和(-,-)。
接着,在步骤350中,方法300可以确定在编码前残差水平是否应发生反向。在一个实施例中,RDO模块(例如,图1中的RDO模块110)可以用于基于残差水平的预设边界来作出该逻辑决策。如果满足块350中的条件,那么方法300可以前进到步骤360。否则,方法300可以前进到步骤390。在步骤360中,可以将水平反向标志设置为'1'。接着,在步骤370中,可以对所有的非零残差水平执行反向操作以生成反向水平。接着,在步骤380中,可以使用熵编码器来对反向水平进行编码。根据反向水平的量值,熵编码器可以采用不同算法。在一个实施例中,如表1所示,假定反向水平在范围[1,255]内,那么当反向水平小于3时,可以使用截断一元码来进行二进制化。当反向水平等于或大于3时,可以使用截断一元码和定长码的组合来进行二进制化。在另一个实施例中,可以使用截断一元码、截断哥伦布-赖斯码和定长码的组合来将反向水平二进制化。
如果残差水平没有发生反向就直接被编码,那么在步骤390中,可以将水平反向标志设置为'0'。接着,在步骤392中,可以使用熵编码器来对残差水平进行编码。可以使用与反向水平相同或不同的一个或多个算法来对残差水平进行编码。应理解,方法300可能仅包括所有必要编码步骤中的一部分,因此其他步骤,例如,预测和传输也可以在适当处并入到编码过程中。
图4示出了残差块解码方法400的一个实施例,它可以对应于残差块编码方法300。方法400可以为变换略过解码方案(例如,图2中的变换略过解码方案200)的一部分,该方案可以在解码器中实施。方法400可以在步骤410中开始,此处可以接收到包含多个编码残差块的比特流。接着,对于每个编码残差块(例如,PU)而言,在步骤420中,可以通过熵解码器从比特流中解码出完整显著系数图。因此,可以得知非零残差值的位置。
接着,在步骤430中,可以通过熵解码器从比特流中解码出所有的非零残差值的正负号。可以使用一个或多个上下文模型来对这些正负号进行解码。接着,在步骤440中,可以使用熵解码器从比特流中解码出亮度水平反向标志和色度水平反向标志。接着,在步骤450中,方法400可以确定亮度水平反向标志是否为'1',这指示出编码残差块包括编码反向水平。如果满足块450中的条件,那么方法400可以前进到步骤460。否则,方法400可以前进到步骤480。注意,关于亮度水平反向标志的描述也可以适用于色度水平反向标志。
在步骤460中,可以通过熵解码器从比特流中解码出编码反向水平。熵解码器可以执行熵编码器的反向步骤,因此其算法可以对应于熵编码器。接着,在步骤470中,可以对反向水平执行反向操作,从而恢复残差水平。在步骤480中,可以通过熵解码器从比特流中解码出编码残差水平。接着,在步骤490中,可以基于解码的残差水平、解码的正负号以及完整显著系数图来生成未压缩的残差块。应理解,方法400可能仅包括所有必要解码步骤中的一部分,因此其他步骤,例如,预测和重建也可以在适当处并入到解码过程中。
图5示出了网络单元500的一个实施例,所述网络单元可以包括编码器和解码器(编解码器),所述编码器和解码器可以如上文所述,例如,在网络或系统内,对视频帧进行处理。网络单元500可以包括:多个输入端口910和/或接收器单元(Rx)512,用于从其他网络单元或组件中接收数据;逻辑单元或处理器520,用于处理数据并且确定将数据发送到哪个网络单元;以及多个输出端口530和/或发射器单元(Tx)532,用于将数据传送到其他网络单元。逻辑单元或处理器520可以用于实施本文所述方案中的任意一个方案,例如,变换略过编码方案100、变换略过解码方案200、残差块编码方法300,以及/或者残差块解码方法400。逻辑单元520可以使用硬件、软件或这两者来实施。
上文所述的方案可以在任何通用网络组件上实施,例如,计算机或网络组件,其具有足够的处理能力、存储资源以及网络吞吐能力以处理其上的必要工作量。图6示出了典型的通用网络组件或计算机系统600的示意图,其适用于实施本文所揭示的方法的一个或多个实施例,例如,残差块编码方法300和残差块解码方法400。通用网络组件或计算机系统600包括处理器602(可以称为中央处理器单元或CPU),所述处理器与包括以下项的存储装置通信:辅助存储器604、只读存储器(ROM)606、随机存取存储器(RAM)608、输入/输出(I/O)装置610,以及网络连接装置612。尽管处理器602被图示为单个处理器,但是它并非受到此类限制而是可以包括多个处理器。处理器602可以实施为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC),和/或数字信号处理器(DSP),并且/或者可以是一个或多个ASIC的一部分。处理器602可以用于实施以下方案中的任意一个方案:变换略过编码方案100、变换略过解码方案200、残差块编码方法300,以及/或者残差块解码方法400。处理器1002可以使用硬件、软件或这两者来实施。
辅助存储器604通常包括一个或多个磁盘驱动器或磁带驱动器,用于数据的非易失性存储,而且如果RAM608的容量不足以存储所有工作数据,所述辅助存储器则用作溢流数据存储装置。辅助存储器604可以用于存储程序,当选择执行这些程序时,所述程序将加载到RAM608中。ROM606用于存储在程序执行期间读取的指令以及可能的数据。ROM606为非易失性存储装置,其存储容量相对于辅助存储器604的较大存储容量而言通常较小。RAM608用于存储易失性数据,还可能用于存储指令。对ROM606和RAM608二者的存取通常比对辅助存储器604的存取快。
揭示至少一个实施例,且所属领域的技术人员对所述实施例和/或所述实施例的特征的变化、组合和/或修改在本发明的范围内。因组合、整合和/或省略所述实施例的特征而产生的替代实施例也在本发明的范围内。在明确陈述数值范围或限制的情况下,应将此些表达范围或限制理解为包含属于明确陈述的范围或限制内的类似量值的重复范围或限制(例如,从约1到约10包含2、3、4等;大于0.10包含0.11、0.12、0.13等)。举例来说,每当揭示具有下限Rl和上限Ru的数值范围时,具体是揭示属于所述范围的任何数字。具体而言,特别揭示所述范围内的以下数字:R=Rl+k*(Ru-Rl),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、7%、……、70%、71%、72%、……、95%、96%、97%、98%、99%或100%。此外,还特定揭示由如上文所定义的两个R数字定义的任何数值范围。除非另有说明,否则使用术语约是指随后数字的±10%。相对于权利要求的任一元素使用术语“任选地”意味着所述元素是需要的,或者所述元素是不需要的,两种替代方案均在所述权利要求的范围内。使用例如包括、包含和具有等较广术语应被理解为提供对例如由……组成、基本上由……组成以及大体上由……组成等较窄术语的支持。因此,保护范围不受上文所陈述的描述限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有均等物。每一和每个权利要求作为进一步揭示内容并入说明书中,且所附权利要求书是本发明的实施例。所述揭示内容中的参考的论述并不是承认其为现有技术,尤其是具有在本申请案的在先申请优先权日期之后的公开日期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文中,其提供补充本发明的示范性、程序性或其他细节。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所揭示的系统和方法可以许多其他特定形式来体现。本发明的实例应被视为说明性的而非限制性的,且本发明不限于本文所给出的细节。举例来说,各种元件或组件可在另一系统中组合或集成,或某些特征可省略或不实施。
另外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可与其他系统、模块、技术或方法组合或整合。展示或论述为彼此耦合或直接耦合或通信的其他项目也可以电方式、机械方式或其他方式通过某一接口、装置或中间组件间接地耦合或通信。其他变化、替代和改变的实例可以由所属领域的技术人员确定,并且可以在不脱离本文本所揭示的范围和精神的情况下作出。

Claims (38)

1.一种在视频编码中使用的设备,其包括:
一个处理器,所述处理器用于:
生成当前块的预测块;
计算所述当前块与所述预测块之间的差值以生成残差块,其中所述残差块包括多个残差值;以及
如果所述多个残差值包括至少一个非零残差值,其中所述至少一个非零残差值包括至少一个正负号和至少一个残差水平,
则对所述至少一个正负号执行熵编码,并且
对所述至少一个残差水平执行熵编码,其中一个非零残差值包括一个正负号和一个残差水平;
其中所述多个残差值包括至少三个非零残差值,其中所述三个非零残差值具有第一、第二和第三正负号,其中对所述第一、第二和第三正负号执行熵编码遵照某一编码顺序,其中在所述编码顺序中所述第二正负号紧随着所述第一正负号,其中在所述编码顺序中所述第三正负号紧随着所述第二正负号,其中对所述第三正负号执行熵编码包括使用上下文适应性二进制算术编码CABAC算法,其中所述CABAC算法具有可由一个索引选择的四个上下文模型,其中所述索引等于
0,如果所述第一和第二正负号为(+,+);
1,如果所述第一和第二正负号为(+,-);
2,如果所述第一和第二正负号为(-,+);
3,如果所述第一和第二正负号为(-,-)。
2.根据权利要求1所述的设备,其中所述多个残差值包括至少一个非零残差值,其中所述处理器进一步用于:
基于所述至少一个非零残差值的分布型式来确定起始位置,其中所述起始位置是所述残差块的四个角位置中的一者;以及
从所述起始位置开始扫描所述多个残差值。
3.根据权利要求2所述的设备,其中所述处理器进一步用于:
设置二位句法元素以指示所述残差块中的所述起始位置;以及
对所述二位句法元素执行熵编码。
4.根据权利要求3所述的设备,其中所述残差块的大小为NxN,其中N为大于一的整数,其中所述残差块中的位置表示为(m,n),其中m为0与N-1之间变化的行索引,n为0与N-1之间变化的列索引,其中所述二位句法元素表示为(C0,C1),其经配置使得:
如果(C0,C1)为00,则所述起始位置为(0,0);
如果(C0,C1)为01,则所述起始位置为(N-1,0);
如果(C0,C1)为10,则所述起始位置为(0,N-1);以及
如果(C0,C1)为11,则所述起始位置为(N-1,N-1)。
5.根据权利要求1所述的设备,其中所述预测块基于帧内预测模式生成,其中所述多个残差值包括至少一个非零残差值,其中所述处理器进一步用于:
基于所述帧内预测模式来确定扫描顺序;以及
遵照所述扫描顺序来扫描所述多个残差值。
6.根据权利要求5所述的设备,其中所述处理器进一步用于:
如果所述帧内预测模式在垂直组中,
则对所述扫描顺序进行设置使得所述多个残差值被逐行扫描;
否则如果所述帧内预测模式在水平组中,
则对所述扫描顺序进行设置使得所述多个残差值被逐列扫描。
7.根据权利要求6所述的设备,其中所述处理器进一步用于:
生成完整显著系数图,所述完整显著系数图包括用于指示所述残差值位置的二进制符号,其中一个二进制符号'1'指示非零残差值的一个位置;以及
对所述完整显著系数图执行熵编码。
8.根据权利要求1所述的设备,其中所述多个残差值包括至少一个非零残差值,其中正负号的熵编码是基于所述正负号与一个或多个先前编码的正负号之间的空间相关性来进行的,其中如果所述一个或多个先前编码的正负号不存在,那么将正号'+'分配给不存在的先前编码的正负号中的每一者。
9.根据权利要求1所述的设备,其中所述多个残差值包括至少一个非零残差值,其中正负号的熵编码是基于所述正负号与一个或多个先前编码的正负号之间的空间相关性来进行的,其中如果所述一个或多个先前编码的正负号不存在,那么将负号'-'分配给不存在的先前编码的正负号中的每一者。
10.根据权利要求8所述的设备,其中对所述正负号进行的熵编码使用包括一个上下文模型的CABAC算法。
11.根据权利要求1所述的设备,其中所述处理器进一步用于基于率失真标准来确定是否对所述残差块进行反向。
12.根据权利要求11所述的设备,其中所述率失真标准包括编码位速率而不包括失真。
13.根据权利要求12所述的设备,其中所述多个残差值包括至少一个非零残差值,其中所述至少一个残差水平中的每一者介于1与最大许可值之间,其中如果所述残差块发生反向,那么每个反向残差水平的计算方法是用所述最大许可值减去对应的残差水平,其中残差水平或反向残差水平是一个水平,其中所述处理器进一步用于:
如果所述水平为1或2,
那么使用截断一元码来将所述水平二进制化;
如果所述水平大于2,
那么使用截断一元码和定长码的组合来将所述残差水平二进制化。
14.根据权利要求12所述的设备,其中所述多个残差值包括至少一个非零残差值,其中所述当前块的所述残差水平中的每一者均为范围[1,255]中包含的整数,其中如果所述残差块发生反向,那么每个反向残差水平的计算方法是用255减去所述对应的残差水平,其中残差水平或反向残差水平是一个水平:
其中“水平”表示非零水平的值,其中使用多达十位来对非零水平的值进行编码,并且其中B0至B9表示所述十位,其中B0为最低显著位,其中B9为最高显著位,其中如果水平在[1-2]之间,那么
当水平为1时,B0等于'0',
当水平为2时,B0等于'1',B1等于'0',
其中如果水平在[3-255]之间,那么
B0等于'1',
B1等于'1',并且
B2-B9等于(水平-3)的一个二进制表示。
15.根据权利要求12所述的设备,其中所述多个残差值包括至少一个非零残差值,其中所述当前块的所述残差水平中的每一者介于1与最大许可值之间,其中如果所述残差块发生反向,那么每个反向残差水平的计算方法是用所述最大许可值减去所述对应的残差水平,其中残差水平或反向残差水平是一个水平,其中所述处理器进一步用于:
对所述至少一个水平进行编码,编码使用的是截断一元码、截断哥伦布-赖斯编码算法和定长编码算法的组合。
16.根据权利要求11所述的设备,其中所述处理器进一步用于:
为所述残差块设置水平反向标志;以及
对所述水平反向标志执行熵编码以生成编码的水平反向标志。
17.根据权利要求16所述的设备,其中所述处理器进一步用于:
如果所述残差块发生反向,那么将所述水平反向标志设置为'1';
如果所述残差块未发生反向,那么将所述水平反向标志设置为'0',其中对所述水平反向标志执行熵编码包括使用三个上下文模型,其中所述三个上下文模型可经由一个索引来选择,所述索引等于属于所述当前块中上块的第二水平反向标志与属于所述当前块中左块的第三水平反向标志之和;以及
如果所述上块不具有任何水平反向标志,
那么将'0'分配给所述第二水平反向标志;
如果所述左块不具有任何水平反向标志,
那么将'0'分配给所述第三水平反向标志。
18.根据权利要求17所述的设备,其中所述水平反向标志、所述第二水平反向标志以及所述第三水平反向标志用于亮度(luma)分量。
19.根据权利要求18所述的设备,其中所述水平反向标志、所述第二水平反向标志以及所述第三水平反向标志用于色度(chroma)分量。
20.一种在视频编码中使用的方法,其包括:
生成当前块的预测块;
计算所述当前块与所述预测块之间的差值以生成残差块,其中所述残差块包括多个残差值;以及
如果所述多个残差值包括至少一个非零残差值,其中所述至少一个非零残差值包括至少一个正负号和至少一个残差水平,
则对所述至少一个正负号执行熵编码,并且
对所述至少一个残差水平执行熵编码,其中一个非零残差值包括一个正负号和一个残差水平;
其中所述多个残差值包括至少三个非零残差值,其中所述三个非零残差值具有第一、第二和第三正负号,其中对所述第一、第二和第三正负号执行熵编码遵照某一编码顺序,其中在所述编码顺序中所述第二正负号紧随着所述第一正负号,其中在所述编码顺序中所述第三正负号紧随着所述第二正负号,其中对所述第三正负号执行熵编码包括使用上下文自适应二进制算术编码CABAC算法,其中所述CABAC算法具有可由一个索引选择的四个上下文模型,其中所述索引等于
0,如果所述第一和第二正负号为(+,+);
1,如果所述第一和第二正负号为(+,-);
2,如果所述第一和第二正负号为(-,+);
3,如果所述第一和第二正负号为(-,-)。
21.根据权利要求20所述的方法,其中所述多个残差值包括至少一个非零残差值,所述方法进一步包括:
基于所述至少一个非零残差值的分布型式来确定起始位置,其中所述起始位置是所述残差块的四个角位置中的一者;以及
从所述起始位置开始扫描所述多个残差值。
22.根据权利要求21所述的方法,其进一步包括:
设置二位句法元素以指示所述残差块中的所述起始位置;以及
对所述二位句法元素执行熵编码。
23.根据权利要求22所述的方法,其中所述残差块的大小为NxN,其中N为大于一的整数,其中所述残差块中的位置表示为(m,n),其中m为0与N-1之间变化的行索引,n为0与N-1之间变化的列索引,其中所述二位句法元素,表示为(C0,C1),其经配置使得:
如果(C0,C1)为00,则所述起始位置为(0,0);
如果(C0,C1)为01,则所述起始位置为(N-1,0);
如果(C0,C1)为10,则所述起始位置为(0,N-1);以及
如果(C0,C1)为11,则所述起始位置为(N-1,N-1)。
24.根据权利要求20所述的方法,其中所述预测块基于帧内预测模式而生成,其中所述多个残差值包括至少一个非零残差值,所述方法进一步包括:
基于所述帧内预测模式来确定扫描顺序;以及
遵照所述扫描顺序来扫描所述多个残差值。
25.根据权利要求24所述的方法,所述方法进一步包括:
如果所述帧内预测模式在垂直组中,
则对所述扫描顺序进行设置使得所述多个残差值被逐行扫描;
否则如果所述帧内预测模式在水平组中,
则对所述扫描顺序进行设置使得所述多个残差值被逐列扫描。
26.根据权利要求25所述的方法,所述方法进一步包括:
生成完整显著系数图,所述完整显著系数图包括用于指示所述残差值位置的二进制符号,其中一个二进制符号'1'指示非零残差值的一个位置;以及
对所述完整显著系数图执行熵编码;以及
在扫描顺序中略过对非零残差水平中最后位置进行的熵编码。
27.根据权利要求20所述的方法,其中所述多个残差值包括至少一个非零残差值,其中正负号的熵编码是基于所述正负号与一个或多个先前编码的正负号之间的空间相关性来进行的,其中如果所述一个或多个先前编码的正负号不存在,那么将正号'+'分配给所述不存在的先前编码的正负号中的每一者。
28.根据权利要求20所述的方法,其中所述多个残差值包括至少一个非零残差值,其中正负号的熵编码是基于所述正负号与一个或多个先前编码的正负号之间的空间相关性来进行的,其中如果所述一个或多个先前编码的正负号不存在,那么将负号'-'分配给所述不存在的先前编码的正负号中的每一者。
29.根据权利要求27所述的方法,其中对所述正负号进行的熵编码使用包括一个上下文模型的CABAC算法。
30.根据权利要求20所述的方法,所述方法进一步包括:基于率失真标准来确定是否对所述残差块进行反向。
31.根据权利要求30所述的方法,其中所述率失真标准包括编码位速率而不包括失真。
32.根据权利要求31所述的方法,其中所述多个残差值包括至少一个非零残差值,其中所述至少一个残差水平中的每一者介于1与最大许可值之间,其中如果所述残差块发生反向,那么每个反向残差水平的计算方法是用所述最大许可值减去对应的残差水平,其中残差水平或反向残差水平是一个水平,所述方法进一步包括:
如果所述水平为1或2,
那么使用截断一元码来将所述水平二进制化;
如果所述反向残差水平大于2,
那么使用截断一元码和定长码的组合来将所述残差水平二进制化。
33.根据权利要求31所述的方法,其中所述多个残差值包括至少一个非零残差值,其中所述当前块的所述残差水平中的每一者均为范围[1,255]中包含的整数,其中如果所述残差块发生反向,那么每个反向残差水平的计算方法是用255减去所述对应的残差水平,其中残差水平或反向残差水平是一个水平:
其中“水平”表示非零水平的值,其中使用多达十位来对非零水平的值进行编码,并且其中B0至B9表示所述十位,其中B0为最低显著位,其中B9为最高显著位,其中如果水平在[1-2]之间,那么
当水平为1时,B0等于'0',
当水平为2时,B0等于'1',B1等于'0',
其中如果水平在[3-255]之间,那么
B0等于'1',
B1等于'1',并且
B2-B9等于(水平-3)的一个二进制表示。
34.根据权利要求31所述的方法,其中所述多个残差值包括至少一个非零残差值,其中所述当前块的所述残差水平中的每一者介于1与最大许可值之间,其中如果所述残差块发生反向,那么每个反向残差水平的计算方法是用所述最大许可值减去所述对应的残差水平,其中残差水平或反向残差水平是一个水平,所述方法进一步包括:
对所述至少一个水平进行编码,编码使用的是截断一元码、截断哥伦布-赖斯编码算法和定长编码算法的组合。
35.根据权利要求30所述的方法,其进一步包括:
为所述残差块设置水平反向标志;以及
对所述水平反向标志执行熵编码以生成编码的水平反向标志。
36.根据权利要求35所述的方法,其进一步包括:
如果所述残差块发生反向,那么将所述水平反向标志设置为'1';
如果所述残差块未发生反向,那么将所述水平反向标志设置为'0',其中对所述水平反向标志执行熵编码包括使用三个上下文模型,其中所述三个上下文模型可由一个索引来选择,所述索引等于属于所述当前块中上块的第二水平反向标志与属于所述当前块中左块的第三水平反向标志之和;以及
如果所述上块不具有任何水平反向标志,
那么将'0'分配给所述第二水平反向标志;
如果所述左块不具有任何水平反向标志,
那么将'0'分配给所述第三水平反向标志。
37.根据权利要求36所述的方法,其中所述水平反向标志、所述第二水平反向标志以及所述第三水平反向标志用于亮度(luma)分量。
38.根据权利要求36所述的方法,其中所述水平反向标志、所述第二水平反向标志以及所述第三水平反向标志用于色度(chroma)分量。
CN201280032349.2A 2011-06-30 2012-06-29 用于无损视频编码的预测残差编码 Active CN104041040B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161503534P 2011-06-30 2011-06-30
US61/503534 2011-06-30
US61/503,534 2011-06-30
US201161506958P 2011-07-12 2011-07-12
US61/506958 2011-07-12
US61/506,958 2011-07-12
PCT/US2012/045128 WO2013003819A1 (en) 2011-06-30 2012-06-29 Encoding of prediction residuals for lossless video coding

Publications (2)

Publication Number Publication Date
CN104041040A CN104041040A (zh) 2014-09-10
CN104041040B true CN104041040B (zh) 2018-03-06

Family

ID=46506637

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201280032348.8A Pending CN103782598A (zh) 2011-06-30 2012-06-29 用于无损编码的快速编码方法
CN201610514509.7A Active CN106170092B (zh) 2011-06-30 2012-06-29 用于无损编码的快速编码方法
CN201280032349.2A Active CN104041040B (zh) 2011-06-30 2012-06-29 用于无损视频编码的预测残差编码

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201280032348.8A Pending CN103782598A (zh) 2011-06-30 2012-06-29 用于无损编码的快速编码方法
CN201610514509.7A Active CN106170092B (zh) 2011-06-30 2012-06-29 用于无损编码的快速编码方法

Country Status (4)

Country Link
US (2) US9008179B2 (zh)
EP (2) EP2727356A2 (zh)
CN (3) CN103782598A (zh)
WO (2) WO2013003805A2 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX358516B (es) 2011-10-19 2018-08-24 Kt Corp Método y aparato para codificar/decodificar imágenes.
US10645398B2 (en) 2011-10-25 2020-05-05 Texas Instruments Incorporated Sample-based angular intra-prediction in video coding
EP2805497A1 (en) 2012-01-21 2014-11-26 Motorola Mobility LLC Method of determining binary codewords for transform coefficients
US9167245B2 (en) * 2012-02-05 2015-10-20 Google Technology Holdings LLC Method of determining binary codewords for transform coefficients
WO2013129822A1 (ko) 2012-02-27 2013-09-06 세종대학교산학협력단 영상 부호화와 복호화 장치 및 영상을 부호화와 복호화하는 방법
KR20130098122A (ko) * 2012-02-27 2013-09-04 세종대학교산학협력단 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법
US11039138B1 (en) * 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
WO2013175736A1 (ja) * 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
SG10201803891XA (en) 2012-05-25 2018-07-30 Velos Media Int Ltd Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
MX2013015089A (es) 2012-05-25 2014-02-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imágenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
PL2858357T3 (pl) 2012-06-04 2022-11-21 Sun Patent Trust Sposób kodowania obrazów wideo, sposób dekodowania obrazów wideo
CN104488270B (zh) * 2012-06-29 2018-05-18 韩国电子通信研究院 一种利用解码设备的视频解码方法
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
KR20150116840A (ko) * 2013-01-02 2015-10-16 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
WO2014107072A1 (ko) * 2013-01-04 2014-07-10 삼성전자 주식회사 무손실 코딩 방식의, 비디오 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP2014200074A (ja) * 2013-03-15 2014-10-23 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
JP2015061143A (ja) * 2013-09-18 2015-03-30 沖電気工業株式会社 映像符号化装置、および、映像符号化プログラム
US20150103883A1 (en) * 2013-10-11 2015-04-16 Mediatek Inc. Method and apparatus for fast intra prediction
FR3029381A1 (fr) * 2014-11-27 2016-06-03 Orange Procede de composition d’une representation video intermediaire
CA2966862C (en) 2014-11-28 2021-03-30 Mediatek Inc. Method and apparatus of alternative transform for video coding
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
US9854201B2 (en) * 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
US9781424B2 (en) 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
US10075692B2 (en) * 2015-01-28 2018-09-11 Hfi Innovation Inc. Method of simple intra mode for video coding
JP6504604B2 (ja) 2015-08-25 2019-04-24 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像処理システム、動画像符号化方法、動画像復号方法、およびプログラム
US10542258B2 (en) * 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
US20170311003A1 (en) * 2016-04-20 2017-10-26 Mediatek Inc. Method and apparatus for performing entropy encoding with sign data removal and associated method and apparatus for performing entropy decoding with sign data recovery
US11438582B2 (en) 2016-08-03 2022-09-06 Kt Corporation Video signal processing method and device for performing intra-prediction for an encoding/decoding target block
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
KR102401851B1 (ko) * 2017-06-14 2022-05-26 삼성디스플레이 주식회사 영상 압축 방법 및 이를 수행하는 표시 장치
GB2570711B (en) 2018-02-05 2023-04-05 Sony Corp Data encoding and decoding
CN108322743B (zh) * 2018-02-28 2020-01-31 中南大学 一种基于模式依赖特性的不可分二次变换模式的帧内快速选择方法
US10776957B2 (en) 2018-10-02 2020-09-15 Samsung Electronics Co., Ltd. Online image compression in hardware
KR20200039591A (ko) * 2018-10-05 2020-04-16 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2020236723A1 (en) * 2019-05-19 2020-11-26 Bytedance Inc. Transform bypass coded residual blocks in digital video
US20220277491A1 (en) * 2019-05-31 2022-09-01 Electronics And Telecommunications Research Institute Method and device for machine learning-based image compression using global context
WO2021036979A1 (en) * 2019-08-24 2021-03-04 Beijing Bytedance Network Technology Co., Ltd. Residual coefficients coding
GB2599433A (en) * 2020-10-02 2022-04-06 Sony Group Corp Data encoding and decoding
WO2023278448A1 (en) * 2021-06-28 2023-01-05 Arris Enterprises Llc Restructuring technique for video frames
CN114501007B (zh) * 2021-12-20 2024-01-09 杭州当虹科技股份有限公司 基于422视频的快速编码方法及编码器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854542A (zh) * 2008-11-20 2010-10-06 联发科技股份有限公司 扫描方法、处理装置以及处理顺序决定方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2088082C (en) * 1992-02-07 1999-01-19 John Hartung Dynamic bit allocation for three-dimensional subband video coding
US6192148B1 (en) * 1998-11-05 2001-02-20 Winbond Electronics Corp. Method for determining to skip macroblocks in encoding video
US6993078B2 (en) * 2002-03-28 2006-01-31 International Business Machines Corporation Macroblock coding technique with biasing towards skip macroblock coding
US20040258147A1 (en) * 2003-06-23 2004-12-23 Tsu-Chang Lee Memory and array processor structure for multiple-dimensional signal processing
JP2005151391A (ja) * 2003-11-19 2005-06-09 Toshiba Corp 動画像符号化方法、動画像符号化装置およびプログラム
KR100813958B1 (ko) * 2004-06-07 2008-03-14 세종대학교산학협력단 동영상의 무손실 인코딩 및 디코딩 방법, 그 장치
WO2009097284A1 (en) * 2008-02-01 2009-08-06 Zenverge, Inc. Intermediate compression of reference frames for transcoding
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
FR2932940A1 (fr) * 2008-06-23 2009-12-25 Thomson Licensing Procede de codage video avec mode non compresse et dispositif mettant en oeuvre le procede.
KR20110071231A (ko) * 2009-12-21 2011-06-29 엠텍비젼 주식회사 부호화 방법, 복호화 방법 및 장치
US9049444B2 (en) * 2010-12-22 2015-06-02 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854542A (zh) * 2008-11-20 2010-10-06 联发科技股份有限公司 扫描方法、处理装置以及处理顺序决定方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
A NOVEL COEFFICIENT SCANNING SCHEME FOR DIRECTIONAL SPATIAL PREDICTION-BASED IMAGE COMPRESSION;Xiaopeng Fan,Yan Lu,Wen Gao;《PROCEEDINGS OF THE 2003 INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXPO》;20030706;第2卷;第558-559页 *
Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard;Detlev Marpe,Heiko Schwarz,Thomas Wiegand;《IEEE Transactions on Circuits and Systems for Video Technology》;20030731;第13卷(第7期);第629-630页 *
Improved Lossless Intra Codign for H.264/MPEG-4 AVC;Yung-Lyul Lee,Ki-Hun Han,Gary J.Sullivan;《IEEE Transactions on Image Processing》;20060930;第15卷(第9期);全文 *
Rate-Distortion Optimization for Video Compression;Gary J.Sullivan,Thomas Wiegand;《IEEE Signal Processing Magazine》;19981130;第1-4页 *
Reduced-complexity entropy coding of transform coefficient levels using a combination of VLC and PIPE;T.Nguyen,M.Winken,D.Marpe,H.Schwarz,T.Wiegand;《Joint Collaborative Team on Video Coding,4th Meeting》;20110131;第81页 *
The H.264/AVC Advanced Video Coding Standard:Overview and Introduction to the Fidelity Range Extensions;Gary J.Sullivan,Pankaj Topowala,Ajay Luthra;《SPIE Conference on Appliacations of Digital Image Processing》;20040831;全文 *
The H.364/AVC Video Coding Standard;Wiegand,Thomas,Gary Sullilvan;《IEEE Signal Processing Magazine》;20070331;全文 *

Also Published As

Publication number Publication date
EP2727356A2 (en) 2014-05-07
EP2727354A1 (en) 2014-05-07
WO2013003819A1 (en) 2013-01-03
WO2013003805A2 (en) 2013-01-03
US9008179B2 (en) 2015-04-14
CN106170092B (zh) 2020-02-14
CN104041040A (zh) 2014-09-10
WO2013003805A3 (en) 2013-03-14
CN106170092A (zh) 2016-11-30
US20130003839A1 (en) 2013-01-03
US20130003840A1 (en) 2013-01-03
CN103782598A (zh) 2014-05-07

Similar Documents

Publication Publication Date Title
CN104041040B (zh) 用于无损视频编码的预测残差编码
KR101617968B1 (ko) 비디오 코딩에서 최종 유의 변환 계수의 스캔 순서의 위치 도출
CN105144718B (zh) 当跳过变换时用于有损译码的帧内预测模式
JP6749922B2 (ja) 高効率ビデオ符号化(hevc)画面コンテンツ符号化(scc)における改善されたパレットモード
CN104081777B (zh) 对视频数据进行编码或解码的方法、装置、设备及非暂时计算机可读媒体
US10491914B2 (en) Transform information prediction
CN104041035B (zh) 用于复合视频的无损编码及相关信号表示方法
EP4145833A1 (en) Neighbor based signaling of intra prediction modes
CN103650496B (zh) 用于在hevc中编码的基于像素的帧内预测
CN107211139B (zh) 用于译码视频数据的方法、装置和计算机可读存储媒体
JP2018520562A (ja) 最後のパレットインデックスのグループ化、およびパレットサイズとラン値とを使用するインデックスコーディング
KR20180056687A (ko) 팔레트 모드 비디오 코딩에서의 이스케이프 픽셀 시그널링된 값들의 제한
JP2018524873A (ja) ビデオコーディングのためのパレットバイパスビンのグループ化
CN107660339A (zh) 使用增强型上下文自适应二进制算术译码设计来译码数据
US11330297B2 (en) Methods incorporating extensions to copy-above mode for palette mode coding
KR20210134402A (ko) 인코더, 디코더 및 대응하는 인트라 예측을 위한 방법
KR20150003320A (ko) 계수 그룹들 및 계수 스캔들을 위한 계수 코딩
KR20200110442A (ko) 다중 부호 비트 숨기기 및 잔차 부호 예측을 조화시키기 위한 방법 및 장치
EP3014879B1 (en) Modified coding for a transform skipped block for cabac in hevc
KR20170028905A (ko) 팔레트 모드 코딩을 위한 방법
KR20210125088A (ko) 매트릭스 기반 인트라 예측 및 2차 변환 코어 선택을 조화시키는 인코더, 디코더 및 대응 방법
KR20200130864A (ko) 참조 샘플을 이용하는 비디오 신호 처리 방법 및 장치
JP7359343B2 (ja) Dct2が有効である高レベルフラグを使用するエンコーダ、デコーダ及び対応する方法
JP2024506156A (ja) ビデオ符号化のための残差および係数の符号化
EP3479573B1 (en) Method and apparatus for improved significance flag coding using simple local predictor

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