CN102474625A - 用于图像的编码和解码的方法和设备 - Google Patents

用于图像的编码和解码的方法和设备 Download PDF

Info

Publication number
CN102474625A
CN102474625A CN2010800331254A CN201080033125A CN102474625A CN 102474625 A CN102474625 A CN 102474625A CN 2010800331254 A CN2010800331254 A CN 2010800331254A CN 201080033125 A CN201080033125 A CN 201080033125A CN 102474625 A CN102474625 A CN 102474625A
Authority
CN
China
Prior art keywords
rearrangement
residual block
encoder
block
contrary
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.)
Pending
Application number
CN2010800331254A
Other languages
English (en)
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN102474625A publication Critical patent/CN102474625A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • 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/189Methods 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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks

Landscapes

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

Abstract

本发明公开了用于对图像进行编码的编码方法和对应的解码方法,以及公开了编码器和解码器。所述编码方法包括:在编码器中,根据原始块和作为所述原始块的近似的预测块,创建残差块,其中,所创建的残差块包括残差块元素。所述编码方法还包括:在所述编码器中,对所述残差块中的残差块元素重新排序;以及在所述编码器中,对重新排序的残差块应用变换。通过在应用变换之前对所述残差块元素重新排序,可以获得改进的编码效率。

Description

用于图像的编码和解码的方法和设备
技术领域
本发明涉及媒体的编码和解码领域,具体地涉及图像的编码和解码。
背景技术
当对表示视觉图像序列的数据进行编码时,通常以仅将图像之间的差值编码为解码器在重构图像时所使用的编码的图像数据的方式来压缩数据,而不是对描述每个图像的整个图像的数据进行编码。从而,用于重构图像或图像一部分的编码的数据将包括对图像序列中其他图像的参考,或对当前重构图像的其他部分的参考。这种参考可以例如包括与如何对之前图像的部分进行空间平移以获得当前重构图像的部分(称为基于帧间预测的编码)相关的指令,或包括与如何改变当前图像的已知部分以获得当前重构图像的未知部分(称为基于帧内预测的编码)相关的指令等等。此处将遵循这种指令而得到的图像称为预测图像,而将与如何根据已解码的信息来获得预测图像相关的指令称为预测参数(PP)。向解码器提供预测参数,而不提供预测图像。
经常不能有效地提供能够用于精确预测图像的预测参数。因此为了依然得到可接受的压缩程度,一般接受不是原始图像的精确副本的预测图像。为了进一步改进解码的图像,通常在编码的图像数据中包括预测误差的表示。从而解码器可以使用与预测误差相关的信息来改进已通过使用预测参数所获得的预测图像。
一般而言,将视觉图像分为一定数目的块,其中,针对每个块,对预测和与预测误差相关的信息进行编码。这种块包括合适数目的采样或像素,例如4×4、8×8、16×16、4×8或任何其他合适数目的像素。
预测误差可以由例如残差块来表示,其中,残差块以逐像素的方式描述了在原始块和预测块之间的差:对于像素坐标(i,j),通常将残差块元素RB(i,j)定义为原始块元素OB(i,j)和预测块元素PB(i,j)之间的差:RB(i,j)=OB(i,j)-PB(i,j)。原始块和预测块的元素一般表示相同时刻,因此残差块的元素一般也表示相同时刻。
为了利用在残差块中不同采样之间的任何剩余相关性,通常对残差块应用空间变换,作为编码过程的一部分。这种空间变换的应用将得到包括变换的系数(此处称为TB系数)在内的变换块(TB)。该变换块以及预测块和与之前图像相关的信息可以一起被用于重构原始图像块的精确副本。然而,变换块的表示一般需要大量的比特,因此一般对TB系数进行量化和熵编码,作为编码过程的一部分。使用残差块的空间变换对视听服务进行编码的标准的示例是2009年3月的ITU-T标准H.264,“Advanced video coding for generic audiovisualservices”。类似于很多其他编码标准,H.264标准使用例如离散余弦变换(DCT)。
媒体压缩一般涉及在压缩程度、由压缩引入的失真量以及压缩和/或重构媒体所需的计算资源之间的权衡。高压缩程度将得到对压缩媒体的更有效率的存储以及在从编码器向解码器发送媒体时的较小带宽要求。然而较高的压缩程度通常具有增加失真量和/或增加在压缩/重构媒体时所需的计算资源量的缺陷。
当应用到采样高度相关的信号时,类似DCT的一些空间变换得到比在信号采样相对不相关时能够更有效率编码的变换块。从而,对于高度相关的信号,可以获得具有低失真量的有效压缩。然而对于低相关或负相关的信号,通过这种空间变换所获得的变换块的准确表示一般要求大量的比特,从而降低编码方案的压缩效率(或表示准确度)。当使用高性能预测工具时,残差块的元素通常是低相关或负相关的。因此在“Integer Sine Transform for Inter Frame”,ITU-T SG16/Q6,SanDiego,October 8-10 2008中建议采用一种变换编码方案,其中,在整数余弦变换(ICT)和整数正弦变换(IST)之间进行选择。IST比DCT或ICT更适合对低相关的信号进行变换。
尽管根据残差块中元素的相关性来选择ICT和IST之一的变换编码方案在一些环境下可以改进压缩程度,同时维持表示准确度,这种方案将要求在编码器和解码器处都定义和实现两种变换。这一般增加了对编码器和解码器的硬件要求,使得硬件优化困难。一般而言,所需硬件将变得更大且更昂贵。
发明内容
本发明的目的是提供具有改进效率的图像编码。
一个实施例提供了一种用于对图像的表示进行编码的编码方法。所述方法包括:在编码器中,根据原始块和作为所述原始块的近似的预测块,创建残差块。所创建的残差块包括残差块元素。所述方法还包括:在所述编码器中,对所述残差块中的残差块元素重新排序;以及在所述编码器中,对重新排序的残差块应用变换。
另一实施例提供一种对表示图像的编码的图像数据进行解码的解码方法。所述解码方法包括:在解码器中,根据接收到的编码的图像数据来导出变换块,其中,所述变换块源自在编码器中对包括残差块元素在内的原始残差块应用的变换。所述解码方法还包括:在所述解码器中,通过对所述变换块应用所述变换的逆变换,导出残差块;在所述解码器中,对所导出的残差块的残差块元素执行逆重新排序,其中,在所述编码器中,在应用所述变换之前对所述原始残差块执行重新排序;以及在所述解码器中,在对表示图像的至少一部分的原始块的重构中,使用逆重新排序的残差块。
本发明还涉及编码器和解码器。所述编码器适于将图像的表示编码为编码的图像数据,所述编码器包括:输入,被配置为接收指示表示图像的至少一部分的原始块的信号;残差块产生器,响应连接到所述输入,并被可编程地配置为使用接收到的原始块来产生残差块;重新排序机制,响应连接到所述残差块产生器,并被可编程地配置为对残差块的残差块元素重新排序,从而创建重新排序的残差块;变换机制,响应连接到所述残差块产生器,并被可编程地配置为对接收到的重新排序的残差块应用变换,从而产生要在所述编码图像数据的创建中使用的变换块;以及输出,连接到所述变换机制,并被配置为传送编码的图像数据。
所述解码器适于接收表示由编码器编码的图像的编码的图像数据。所述解码器包括:输入,被配置为接收从中能够导出变换块的编码的图像数据,其中,所述变换块源自在所述编码器中对包括残差块元素在内的残差块应用的变换;逆变换机制,响应连接以接收变换块,并被可编程地配置为对所述变换块应用所述变换的逆变换,以得到包括残差块元素在内的残差块;逆重新排序机制,响应连接到所述逆变换机制,并被可编程地配置为接收残差块,以标识在所述编码器中对对应原始残差块执行的重新排序,以及对接收到的残差块执行逆重新排序,其中,所述逆重新排序与在所述编码器中执行的所述重新排序相关联,从而产生逆重新排序的残差块;以及逆预测机制,响应连接到所述逆重新排序机制,并被可编程地配置为在对表示图像的至少一部分的对应原始块的重构中,使用逆重新排序的残差块。
本发明还涉及一种编码器计算机程序和解码器计算机程序。
通过该技术,实现了可以基于变换的功能对残差块进行更好地映射,从而允许对原始块的更有效率的编码。
在重新排序为可选的编码方法的实施例中,所述编码方法还包括:在编码器中,在对残差块应用变换之前,确定是否应当对所述残差块的残差块元素进行重新排序。从而实现重新排序为可选,并且实现根据残差块的属性对编码的更大的可调整性,从而提高了编码的效率。
在一个实施例中,在编码器中提供了可用重新排序的集合,使得所述编码器可以根据对残差块的分析来选择重新排序。从而实现了进一步提高编码的可调整性。可以通过例如率-失真分析,或通过对使用不同重新排序备选所获得的不同变换块中的能量分布的分析,来执行对残差块的分析。
在一个实施例中,编码方法包括:扫描变换块系数,以形成变换系数的矢量;其中,根据对残差块执行的重新排序来选择扫描路径。从而实现可以获得在变换系数的矢量中得到高概率的连续零的重新排序/扫描顺序组合,从而进一步提高编码的效率。在本实施例中,解码方法还包括:根据由编码器执行的重新排序,选择逆扫描。
所述编码方法可以包括产生指示所执行的重新排序的信号。从而实现可以向解码器通知已经执行了哪个重新排序。因此可以将解码过程调整至所使用的重新排序。
在一个实施例中,如果需要,所产生的信号可以包括对通过使用相同重新排序来重新排序的连续残差块的集合的指示。从而实现进一步提高编码效率,因为不需要针对每个残差块来提供重新排序指示。
在一个实施例中,解码方法还包括:在原始块的重构中,在使用残差块之前,将残差块的至少一个残差块元素的值设置为常数值。从而实现可以有效地减少由数据处理所引入的不利的边缘振荡。
在以下详细描述和所附权利要求中阐述了本发明的其他方面。
附图说明
图1是媒体通信系统的示意说明图。
图2是示出了编码方法和对应解码方法的实施例的流程图。
图3是示出了包括对残差块的重新排序在内的编码方法和包括对残差块的逆重新排序在内的对应解码方法的实施例的流程图。
图4是示出了图3的编码方法和解码方法的实施例的流程图。
图5是编码的图像数据的示意说明图。
图6a-d示出了4×4残差块的重新排序的不同示例。
图7a是示意性地示出了通过率-失真优化的重新排序选择的流程图。
图7b是示意性地示出了通过基于变换块系数能量的评估的重新排序选择的流程图。
图8a-b示出了在扫描变换块时应用的扫描路径的不同示例。
图9a示出了为了减少不期望的边缘振荡而执行的边缘振荡替换操作的示例。
图9b是示出了在边缘振荡替换操作中标识可以被设置为常数值的RB元素的实施例的流程图。
图10是采用残差块重新排序的编码器的实施例的示意说明图。
图11是被配置为对编码的图像数据进行解码的解码器的实施例的示意说明图。
图12是要在编码器中包括的重新排序机制的示意说明图。
图13是要在解码器中包括的逆重新排序机制的示意说明图。
图14是图12的重新排序机制的备选说明图。
图15是图13的逆重新排序机制的备选说明图。
具体实施方式
图1示意性地示出了媒体通信系统100的示例,媒体通信系统100包括可以通过连接107通信的数据源105和客户端110。客户端110包括用于对以编码的图像数据的形式接收的媒体表示进行解码的解码器115,由例如数据源105来提供具有该媒体表示。因此,通过解码器115,可以根据表示媒体的编码的图像数据来重构媒体。客户端110还可以与用于处理解码信息的设备120(如,用户接口或应用)相关联。
由编码的图像数据表示的媒体一般包括具有视频、合成视频、单个图像、或任何其他形式的视觉图像的形式的至少一个视觉图像。媒体可以包括或可以不包括其他媒体形式,如音频、多媒体、交互式多媒体表示等等。下面将特定时间点的媒体的视觉部分称为图像。
连接107可以是例如无线连接。连接107可以备选地是有线连接,或有线和无线的组合。此外,通常通过对数据源105和客户端110进行互连的附加节点来实现连接107,如提供到互联网的连接的无线基站和/或节点。通信系统100的示例(其中连接107是直接连接)是以下系统100:其中,数据源105是DVD盘,客户端110是DVD播放器。
还示出了图1的通信系统100包括内容创建器125。内容创建器125适于根据表示要在用户接口/应用120处呈现的媒体的数据,来创建要发送给客户端110的编码的图像数据。内容创建器125一般可以在文件、数据流等中包括这种编码的图像数据。
内容创建器125一般包括用于将媒体编码为编码的图像数据的编码器130,其中,编码的图像数据一般具有压缩格式。在本发明的一些实现中,内容创建器125与数据源105完全分离,如在上面给出的DVD示例中。在其他实现中,内容创建器125可以形成数据源105的一部分,如在实时数据流的情况中。
在图2中,示出了由编码器130的实施例的示例在对图像编码中所采用的不同步骤,以及由对应的解码器115在对编码的图像进行解码中所采取的对应步骤。在步骤200,根据之前的图像和/或根据图像中之前已编码的其他部分来创建预测块(PB)。在步骤205中,创建表示当前原始块(OB)和PB之间的差值的残差块(RB),其中,OB表示要编码的原始图像的至少一部分。此外,产生与如何根据之前图像和/或根据图像中之前已编码的其他部分来创建预测块PB相关的指令(此处称为预测参数)。
在步骤210,对RB应用变换,以对RB进行解相关,使得可以用比未变换的形式更小的值集合来表示RB。变换实质上是将RB转换到另一个域(例如,频域)中的函数,在该域中可以更有效率地表示RB。变换可以是例如空间变换,如上述DCT、DST、IST、ICT,还包括时间维度的3D时间变换,或特定的KLT(Karhunen,Loeve变换),例如在一些方面最优的变换。变换一般具有正交基函数,尽管也可以应用非正交基函数。此外,变换一般是可分离的,意味着可以先在一个方向上,然后在正交的方向上应用变换,尽管也可以应用不可分离的变换。在步骤210中对RB应用变换得到了变换块,此处称为TB,TB包括TB系数。
在步骤215中,执行对TB系数的量化,得到量化的变换块,此处称为QTB。然后在步骤220中,对QTB扫描,扫描得到量化的变换系数的矢量SV。扫描顺序一般被设计为首先对最高方差系数排序,并最大化在SV中出现的连续零值系数的数目。然后在步骤220中,对SV熵编码,得到熵编码的比特流EB。熵编码可以例如基于可变长度编码(VLC)、二进制算术编码(BAC)、上下文自适应VLC(CAVLC)或上下文自适应BAC(CABAC)。在步骤230,产生包括熵编码的比特流EB在内的编码的图像数据以及预测参数,并一般在编码器130的输出处对其进行传送。在一般情况下,这种编码的图像数据包括指示编码的残差块的信息(此处,熵编码的比特流EB)以及预测参数。根据解码器130在对RB解码中已采取哪些步骤,编码的图像数据可以具有不同的格式。作为特殊情况,如果编码的RB不携带信息,则编码的图像数据不必须包括与编码的RB相关的任何信息,这在图5中进一步讨论。
在步骤235中,当接收到编码的图像数据时,解码器115在对应步骤240至255中以相反顺序应用步骤210至235的逆步骤,从而在步骤255处重构残差块RB(的近似)。同时或在这之前或之后,使用在步骤235处接收到的预测参数以及之前解码的原始块OB,在步骤260处重新创建预测块PB(的近似)。在步骤265中,使用在步骤260中重新创建的PB和在步骤255中重新创建的RB的组合,来重新创建原始块OB(的近似)。
图2示出了仅编码和解码过程的示例,还可以采用备选过程。例如,可以省略步骤215至225(和对应步骤240至250)中的一些或全部。在例如“The H.264/AVC Advanced Video Coding Standard:Overviewand Introduction to the Fidelity Range Extensions”,SPIE Conference onApplications of Digital Image Processing XXVII,Special Session onAdvances in the New Emerging Standard:H.264/AVC,August 2004中描述了已知的编码和解码过程的示例。
如上所述,在应用到具有高度相关的RB元素(也被称为像素)的残差块时有效率地对残差块进行变换的变换一般在应用到具有相对不相关的RB元素的残差块时,效率相对较低。因此,单一变换一般不能提供对相关和不相关残差块都有效率的变换。在编码器以及解码器中实现两个或更多变换在硬件和软件方面代价较高。
然而,通过在步骤210中应用变换之前重排相对不相关的残差块的RB元素,可以使用原本更适合高度相关的残差块的变换来实现有效率的编码。类似地,通过在步骤210中应用变换之前重排高度相关的残差块的RB元素,可以使用原本更适合低相关残差块的变换来实现更有效率的编码。
在图3中示意性地示出了应用到编码过程和解码过程的本方法的实施例。在步骤205中,在编码器130中创建或接收残差块RB。图2的步骤200可以例如在该步骤之前。然后进入步骤300,其中,对RB的RB元素重新排序,得到重新排序的RB。优选地以下述方式对RB元素重新排序:使得能够如下所述对重新排序的残差块更有效率地进行编码。在步骤210中,对重新排序的RB应用变换。根据编码过程,可以在产生要提供给解码器115的编码的图像数据之前,在编码器130中执行其他步骤(如步骤215至225)。编码的图像数据包括解码器可以用来重构RB的信息(例如,如果已执行步骤215至225,则为熵编码的比特流EB)以及与如何根据之前图像/图像部分获得预测块相关的信息。
在解码器115中,当接收到编码器130产生的编码的图像数据时,执行对应步骤。如果编码器执行步骤215至225,则解码器在进入对变换块TB应用逆变换的步骤255之前,执行步骤240至250。由于在编码器130中的对应步骤210中对重新排序的残差块应用变换,该方法的步骤255得到重新排序的残差块RB(或者,得到重构的重新排序残差块RB,作为重新排序的残差块的近似。然而,为了方便描述,在下面将假定由解码器115执行的逆编码步骤重构在编码器130中编码的数据)。
在解码器115中执行的步骤305处,执行步骤300的重新排序的逆重新排序,以得到残差块RB。然后可以在步骤265中一起使用该残差块以及对应的预测块,以重新创建原始块OB。
通过引入对残差块的RB元素的重新排序的可能性,可以将残差块的属性调整至所应用的变换,使得在不引入不同变换的情况下实现高编码效率。事实上,在应用特定变换之前对残差块的RB元素的重新排序可以实现类似于或等于对原始的、未重新排序的残差块应用不同变换的结果,并且可以将例如特定重新排序与特定变换结合使用,以近似另一种变换。
因此,通过引入在编码器130中选择是否应当对残差块执行重新排序的可能性,可以在使用单一变换的同时,获得通过实现不同变换来得到类似效果。在一个实施例中,不同的重新排序的集合可供编码器130选择,可以基于对残差块的分析从集合中选择一个重新排序。
在图4中,示出了图3的方法的实施例,其中,编码器130可以确定是否应当执行重新排序,如果是,则选择合适的重新排序。该确定和选择可以基于对RB的属性的分析。
在图4的步骤205中,由编码器130创建或接收RB。在步骤400中,分析RB以确定对RB元素的重新排序是否有利。通过图7来讨论可以如何实现该步骤的示例。如果确定了重新排序有利,则进入步骤410,其中,选择合适的重新排序。尽管为了说明的目的,此处将步骤400和410示出为两个分离的步骤,通常将步骤400和410作为一个步骤执行。在步骤300中,执行所选的重新排序,得到重新排序的RB。在步骤415中,产生指示重新排序的信号,使得可以向解码器115通知已执行哪个重新排序。在步骤210中,对重新排序的RB应用变换。一般在步骤230中产生要提供给解码器115的编码的图像数据之前,执行其它步骤(如图2的步骤215至225)。下面,将假定在编码的图像数据中包括在步骤415中产生的信号,使得将步骤415中产生的信号与指示RB的信号和指示预测参数的信号一起传送给解码器115。备选地,可以单独发送在步骤415中产生的信号。
如果在步骤400中确定不应当执行对RB的重新排序,则在步骤400之后直接进入步骤415。然后在步骤415中,一般产生指示编码器130未应用重新排序这一事实的信号。
在步骤235,解码器接收编码的图像数据。一般在已执行步骤240至250之后,在步骤255,对变换块TB应用逆变换,得到(可能重新排序的)残差块。在步骤420,根据解码器在步骤235接收到的在步骤415中产生的信号,确定编码器130是否应用了重新排序。如果未应用,则在步骤255中应用逆变换所得到的结果对应于残差块RB,并且可以直接执行步骤265,其中,在原始块OB的重构中使用RB。然而,如果在步骤420中发现编码器130已经执行了对RB的RB元素的重新排序,则必须对步骤255中得到的结果(对应于重新排序的RB)应用该重新排序的逆重新排序。在步骤425,确定编码器130执行了哪个重新排序,在步骤305,对在步骤255中得到的结果应用该重新排序的逆重新排序。然后可以进入步骤265。
在图4所示方法的仅一个重新排序可用于编码器130的实现中,可以有利地省略步骤410和425。在若干不同的重新排序可用的实现中,可以将步骤400和410(以及步骤420和425)作为一个步骤来执行。在这种实现中,可以将“未重新排序”视为在步骤410中可选择的重新排序的特殊情况(并在步骤425中确定为重新排序)。另一方面,在将步骤400(以及步骤420)作为单独步骤执行的实现中,可以在不执行重新排序的情况下跳过步骤415,如果尚未接收到指示重新排序的信号,则解码器115可以被配置为假定编码器130未执行重新排序。
图5示出了在图4所示方法的实施例中,在步骤230处产生的编码的图像数据500的示例。编码的图像数据500一般作为包括与其他原始块相关的编码的图像数据在内的文件、消息或数据流的一部分产生,或可以作为仅与单一块相关的编码的图像数据500来存储/发送。图5的编码的图像数据500包括4个不同的数据字段:预测参数(PP)字段505、编码比特模式字段(CBP)510、像素重新排序处理(PRP)字段515以及编码残差(ER)字段520。在PP字段505中,给出对预测参数的指示。在CBP字段510中,提供与在编码的图像数据500中是否包括编码的残差块相关的指示。如果编码的图像数据500携带与多个原始块相关的重构信息,则CBP字段510可以包括与已包括针对哪些原始块的编码RB相关的信息。当在步骤200中执行的预测成功时,编码的残差块将不携带信息。编码的数据信息500一般不包括数据字段515和520,而在CBP字段510中将包括对该事实的指示。如果需要,可以省略编码的图像数据500的CBP字段510,从而省略在编码RB不携带信息时降低带宽使用的可能性。
在图5所示的编码的图像数据500中,假定在ER字段520中包含编码RB。该字段可以例如包括上述步骤225中获得的熵编码的比特流EB。图5的编码的图像数据500还包括PRP字段515。该字段用于从编码器130向解码器115传送PRP索引,PRP索引指示在编码器130中已向RB应用哪个重新排序(如果有)。如果仅一个重新排序可用于编码器130,则PRP索引可以是标记,指示是否应用了重新排序。在若干不同重新排序可用的实现中,可以使用PRP索引的不同值来指代不同的重新排序。在允许所有可能的重新排序的实现中,PRP字段515可以包括与编码器130执行的重新排序相关的显式信息。
在针对所有RB使用相同重新排序的实现中,不需要PRP字段515。如果根据以其他方式信号通知给解码器的另一编码参数来选择要应用的重新排序,则不需要PRP字段515,或可以采用简单的PRP标记。这种与重新排序的选择相关的其他编码参数可以例如是预测模式。一些预测模式具有通常在残差块中创建特征模式的属性(例如通过在一个方向上的外插进行的帧内预测通常创建沿与外插方向正交的方向具有显著幅度的RB元素。如果特定预测模式通常产生RB中的特征模式,则在一些实现中将相同重新排序应用到由该特定预测模式所创建的全部RB是有利的(或使仅一种重新排序可用于这种RB,同时包括完全不应用重新排序的选项)。
可以通过例如从编码的图像数据500的PRP字段515中检索PRP索引,并通过标识与PRP索引相对应的逆重新排序,例如利用表或计算机程序的“if语句”:“if PRP索引取值Z,then执行逆重新排序Y”,来实现图4的步骤420和425。在可以根据另一编码参数(例如,预测模式)来选择重新排序的实现中,可以通过检索指示针对RB所使用的预测模式的索引,并通过标识与该索引相关联的逆重新排序,来实现步骤425。
如上所述,在一些情况下,在对RB应用变换之前,对RB的RB元素重新排序可以减少描述编码RB所需的比特数。在图6a至6d中将给出不同重新排序的示例。
可以例如应用重新排序,以得到在相邻残差元素之间具有比原始RB中的相邻残差元素之间的相关性更高的相关性的重新排序的RB。例如,可以应用重新排序,以得到具有以下性质的行或列的重新排序的RB:其中RB元素的幅度的变化较小。如果要应用的变换例如适用于在行或列方向上的残差元素之间具有高相关性的RB,则这可以是有利的,并一般得到增加数目的针对这种变换具有低能量的TB系数。可以备选地/附加地应用重新排序,以实现对具有显著不同幅度的RB元素的行或列的分离,以影响在TB中高能量TB系数的位置,以一般得到适合适用扫描顺序的TB。
重新排序类型的一个示例是行(列)重排重新排序,其中,在RB中对行(列)进行重排。多种不同的行(列)重排重新排序是可能的。可以将这种重新排序例如应用于具有显著不同幅度的RB元素的分离行(列)或具有显著不同幅度的非零RB元素的分离行(列)。在图6a中,示出了一个行重排重新排序,其中原始残差块600的第二行和最后一行在重新排序的RB 605中改变了位置。箭头610示出了重新排序过程,而参考标号615指向(随机)RB元素。
在图6b中示出了RB 600的行重排重新排序的另一示例。在该重新排序中,将奇数行和偶数行分离,使得在重新排序的RB 605中,行1和3出现在行2和4之前。这可以被描述为如同先从RB 600中移除偶数行,将奇数行上移以在重新排序的RB 605的上半部分中以升序彼此相邻,并向RB 605中奇数行下方的空位处以升序返回奇数行。如果在原始RB 600内奇数行的RB元素615的幅度与偶数行的RB元素615的幅度之间存在显著差值,则这种重新排序一般是有利的。
另一类型的重新排序是逐行(逐列)位移重新排序,其中在行(列)中内部位移RB元素615。可以例如应用这种重新排序以减少在RB的一个或多个行(列)中的RB元素615的幅度的变化。图6c中示出了逐行位移重新排序的示例。此处,执行顺时针45度旋转,从而将残差块600的对角线的RB元素615重新排序为沿重新排序的残差块605的第二列出现。通过使用RB元素615的更小位移,可以获得更小角度的旋转。对于顺时针45度旋转,将包括同时作为对角线和对角线要被移动至的列的一部分的RB元素615在内的行保持不变。将下面一行的RB元素615向左位移一个步长,将上面一行的RB元素615向右位移一个步长,将下面第二行的RB元素615向左偏移两个步长,等等。如果原始残差块600的对角线包括具有与相邻RB元素615的幅度显著不同的幅度的若干RB元素615,则这种重新排序可以是有用的。可以通过在相反方向上执行逐行(逐列)的位移,以类似方式执行逆时针45度旋转。
在图6c所示的逐行位移重新排序中,由于RB元素位移而离开行的一端的RB元素进入了该行的另一端,以填充由于位移而在该行的另一端变为空白的RB元素位置。这种位移重新排序(此处称为具有循环填充的位移重新排序)可以例如适合低损耗的高速率编码。然而对于量化粗糙时的低速率编码,这种循环填充可以引起一些伪像。因此在低速率编码环境下,不同的填充操作可以是优选。
由图6d给出的示例来说明具有被称为垂直填充的填充操作的逐行位移重新排序610的示例。图6d的位移重新排序对应于顺时针45度旋转,其中,用来自下面行的值来填充由于位移而变为空白的行的左部,用来自上面行的值来填充由于位移而变为空白的行的右部。对于逐列位移重新排序,可以应用对应的水平填充操作。在逐行(逐列)时的这种垂直(水平)填充操作的目的是在变换之前增加在垂直(水平)方向上的RB元素615之间的相关性。
在图6d所示重新排序中,不向解码器115发送RB元素615中的一些,因此这些RB元素615在解码时是未知的。当进行逆重新排序时,将在与重新排序时执行的位移相反的方向上对RB元素615进行位移。然而,由于这种相反方向位移而变为空白的位置的原始RB元素615将是未知的。可以例如使用常数值来填充这种空白位置。常数值可以是例如零,或对应于在逆重新排序之前的RB元素615的平均值。在图6d所示示例中,箭头620所示的逆重新排序包括常数值为零的常数值填充操作。
在一些情况下,可以期望在重新排序/逆重新排序之后维持残差块的平均值。在该情况下,可以在重新排序和逆重新排序步骤中均使用常数值填充操作,其中,常数值可以是例如在重新排序/逆重新排序之前的残差元素615的平均值。
如果转置动作将得到对变换的基函数的改进映射,则重新排序之后可以是转置动作,创建重新排序的重新排序RB的转置。然后,与逆重新排序相关地执行对应的转置动作。
通过4×4残差块600来示出图6a至6d中给出的示例。然而,可以容易地将所示重新排序推广至任何大小的残差块600,如8×4、4×8、8×8、8×16、16×8、16×16、32×32、64×64等等。
还可以定义其他的有效的重新排序。在更大的残差块600中,将行(列)每两行(列)分组(或每三行(列)分组等等),然后以类似于“奇数单行”的重新排序分离的方式来分离“奇数对”和“偶数对”,有时候将是有利的。应当注意到,可以类似地执行逆时针45度旋转,只是在该情况下,在与图6b中执行的“偶数单行”相反的方向上逐行(逐列)位移。
变换矩阵对应于基函数的集合。当变换是空间变换时,基函数BV,W是二维的,均具有系数BV,W(i,j),其中,针对分别作为变换矩阵的行数和列数的v=1,...,m和w=1,...,n,给出不同的基函数。
可以用于实现RB的有效编码的一个原理是:对RB元素重新排序,以更好地映射到变换的基函数中的至少一个基函数上。如果与不执行重新排序的情况相比,重新排序得到在量化的变换块QTB中更少的非零变换系数,则通过对资源块的重新排序实现了良好的映射(一般而言,非零系数越少越好,因为可以不需要对零值的系数进行编码)。通过量化,将变换块中具有低于特定阈值的绝对幅度的非零值取零,从而在量化之前,关于变换块TB的良好映射得到较少变换系数具有高于该阈值的绝对幅度,此处将该阈值称为量化阈值。
将TB能量集中到较少的变换系数的另一优点是在TB的量化中将丢失更少的信息。
变换块TB中的非零系数的位置一般也是感兴趣的。如果在图2的步骤220的扫描的方向上,存在长段的具有零值的QTB系数,则可以有效率地执行熵编码(参见图2的步骤225)。因此,一般需要具有较少非零系数以及非零系数局部化为在扫描方向上彼此临近的量化的变换块。此外,如果在不同TB中非零系数出现在相似位置上,则可以应用熵编码,使得可以向具有非零系数值的概率更高的系数分配更小的码字。通常,非零TB系数值的概率对于低频系数比高频系数更高,因此应用重新排序尝试将TB能量集中到低频TB系数可以是有利的。
存在可以应用到残差块的大量重新排序——即如果RB是n×m矩阵,则存在(n×m)!个不同的重新排序。在编码器130的实现中,在图4的步骤410中,可供编码器130选择的不同重新排序的数目可以例如取决于在不同残差块600之间的RB元素相关的预期变化。如果预期很多不同类型的相关的残差块600,则向编码器130提供从大量重新排序中选择的可能性是有利的。然而,大量可用的重新排序将需要更多的比特来在要提供给解码器115的编码的图像数据500中表示所选的重新排序(参见图5的PRP字段515)。此外,在图4的选择步骤410中,如果存在更高数目的可用重新排序,则将不同可用的重新排序的好处进行比较一般需要更多的处理能力/处理时间。一般而言,如果在向解码器115发送编码的图像数据500之前执行编码,则较低数目的重新排序可用于在实时情况下工作的编码器130。
对于在步骤400和410中执行的对哪个可用重新排序有利的分析(如果有)可以例如通过率失真优化来执行。率失真(RD)优化用于将编码备选的好处与在采用该编码备选的情况下增加的比特要求的缺陷进行比较的方法。然后选择具有在增加的比特要求(“率”)和原始图像的失真之间最期望关系的编码备选。可以将用于特定可用重新排序i的率失真索引RDi描述为:
RDi=λBi+ssdi    (1)
其中,Bi表示重新排序i的比特要求,ssdi表示在原始块OB和在图3和4的步骤265中获得的重构原始块之间的方差的和(其中,Bi包括用于表示编码的残差的比特和用于表示重新排序(如果有)的比特)。λ是对低比特要求的重要性相对于良好重构的重要性进行缩放的参数。一般还计算未执行对RB元素615的任何重新排序情况下的编码的率失真索引(此处称为RD0),并将其与可用的重新排序的RDi进行比较——可以将这视为特殊的“未重新排序”的重新排序备选。在“Rate distortion optimization for Video Compression”,Gary Sullivanand Thomas Wiegand,IEEE Signal Processing Magazine 1998中给出了包括对产生ssd值的描述在内的对率-失真优化的进一步描述。
图7a示出了在采用率失真优化时,图4的步骤400和410的实现的示例。在图7a的实现中,步骤400包括步骤700和705。在步骤700中,针对包括未重新排序备选在内的每个可用重新排序,计算率失真索引RDi。然后在步骤705中,将未重新排序备选的率失真索引RD0与可用重新排序的RDi进行比较。如果RD0比任意其他RDi更优,则采取步骤400的“否”路径。然而如果存在比RD0更优的至少一个RDi,则采取步骤400的“是”路径,进入步骤410。图7a的步骤410包括步骤710,其中,选择在步骤700中得到最优RDi的重新排序。实际上,图7a的步骤400和410将一般作为一个步骤执行,其中,将省略步骤705。
当计算重新排序备选的率失真索引RDi时,必须由编码器130来执行产生编码的数据图像500所需的编码步骤,以及为了在步骤265中重构原始图像(的近似)所需的步骤(参见图3和4中由解码器115执行的步骤)。因此,率失真优化通常给出准确的结果,但是需要相对较高的处理能力。
如果对编码器130执行的图像编码没有时间压力或时间压力很小,则可以针对不同的可用预测执行与不同重新排序相关的率失真优化,使得可以选择最佳的预测/重新排序组合。
对特定重新排序应用到特定RB是否有利的更有处理效率的分析可以基于以下事实:变换块的总能量将不受到在应用变换之前执行的重新排序的影响。尽管需要较少的处理,这种分析通常将产生在估计重新排序是否有利方面的充分准确度,如果编码器实时工作,则该分析可以是合适的。下面将概述该概念。
在变换前执行的重新排序将在变换块中重新分布能量,但是不必然改变TB的总能量。根据原始RB中的能量分布,得到最有效率编码的重新排序依RB而不同。一般将特定重新排序应用到RB,以实现将TB能量集中到TB的特定部分,例如TB的低能量系数。因此,为了估计在应用到特定RB时特定重新排序的效率,通常在TB中特定重新排序尝试将TB能量聚集至的部分中检查能量是否增加是足够的——可以例如在TB的该部分的能量和能量阈值之间进行比较。从而,可以通过计算在执行了重新排序之后TB的一部分的变换系数,来执行对应用到特定RB的重新排序的评估,其中,高系数能量对应于变换系数的高绝对值。在空间变换的情况下,可以通过2D基函数BV,W和资源块RB的标量积来描述变换块TB的变换系数TB(v,w),可以通过使用以下表达式来导出变换块TB的变换系数TB(v,w):
TB ( v , w ) = Σ i = 0 m - 1 Σ j = 0 n - 1 B v , w ( i , j ) · RB ( i , j ) - - - ( 2 )
其中,m×n是块大小。
图7b示出了实施例的实现的流程图,其中,在图7b所示的这种TB系数能量分析方面,执行步骤400和405的分析。在该实现中,步骤400包括步骤715和720。在步骤720中,针对至少一个重新排序i,通过使用表达式(2)(或如果变换的基函数具有比2更高的维度,则使用对应的表达式)来计算至少一个位置(v,w)的TB系数TBi(v,w),其中,位置(v,w)表示预期由重新排序i将TB能量集中至的位置。在步骤720中,将不同重新排序i产生的TB系数TBi(v,w)的能量与相同位置(v,w)的未重新排序备选的TB系数TB0(v,w)的能量进行比较。如果任何可用重新排序的能量TB(v,w)高于不执行重新排序所获得的能量,则可以假定重新排序将是有利的。如果需要,可以将重新排序i和未重新排序备选所获得的TB系数之间的差值与能量差阈值进行比较,以确保通过重新排序将获得充足的编码效率增加。如图7b的步骤720所示,如果在步骤715中计算出多于一个位置(v,w)的能量,则可以在相应重新排序和未重新排序备选的系数幅度的绝对值的和之间执行比较。
在步骤410中(如果进入步骤410),可以选择例如产生TBi(v,w)能量的最高增加的重新排序。如果已针对不同重新排序的不同数目的系数位置计算了TB(v,w)能量,则可以将能量的相对增加用作选择的基础。
备选地,可以在步骤715中针对预期重新排序从中消耗能量的位置(v,w),即预期具有低绝对幅度的系数的位置,计算TBi(v,w)的不同值。然后可以选择产生最低能量的重新排序(有可能是未重新排序备选)。
在一些实现中,可以当选择重新排序(或未重新排序备选)时,在步骤400至410中执行重新排序特定分析。例如,为了评估图6b所示的重新排序,可以检查以下不等式是否成立:
| Σ i = odd [ Σ j a ij ] - Σ i = even [ Σ j a ij ] | > | Σ i = 1 n / 2 [ Σ j a ij ] - Σ i = n 2 + 1 n [ Σ j a ij ] |
(3)
例如,如果不等式(3)成立,或如果在不等式(3)的左侧和右侧之间的差值超过特定阈值,则可以判定应当执行重新排序。还可以通过对应的列不等式来分析对应的列重排。可以基于这些分析来进行对行或列重排之间的判定。
如果例如基于线位移的不同重新排序可用,其中可以将元素在行(或列)中位移任何数目的位置,则步骤400中执行的分析可以例如包括最大化在垂直(或水平)方向上的绝对残差,其中,将绝对残差定义为在行/列中RB元素615的和的绝对值,或者在行或列中每个RB元素615的绝对值的和。可以例如选择针对特定列(或行)产生最高绝对残差的重新排序,或针对特定列(或行)产生最高绝对残差的重新排序,映射到变换的特定基函数。
如图2的步骤220和245所示,通常在编码器130的残差块的编码中执行扫描步骤,然后在解码器115中执行对应的逆扫描。扫描的目的是将矩阵(例如,量化的变换块QTB)的元素排列为一维数组或矢量格式,参见例如上面引用的“The H.264/AVC Advanced VideoCoding Standard.:Overview and Introduction to the Fidelity RangeExtensions”。可以按照不同的顺序来扫描元素(即,沿着不同的扫描路径),一般将扫描顺序或路径设计为首先排序最高方差系数并最大化出现在扫描中的连续零值系数的数目,从而在例如采用行程长度编码时,提供有效率的编码。由于将重新排序应用到残差块600将改变变换块的最高方差系数的位置,在一个实现中,要使用的扫描顺序可以关联到所应用的重新排序。例如,可以预先配置编码器130,以在步骤410中选择特定重新排序时选择特定扫描顺序,可以类似地预先配置解码器115,以在编码的图像数据500中接收到指向特定重新排序的PRP索引时,选择对应的逆扫描顺序。备选地,可以针对不同情况来选择扫描顺序,编码的图像数据500可以包括指向所使用的扫描顺序的单独指示。
在H.264中,执行Z形扫描。由图8a示出了针对4×4变换块的Z形扫描,其中,将(量化的)变换块800的系数的位置编号为0至15。扫描从具有位置15的系数开始,然后执行扫描以形成具有降序位置:[位置15,位置14,位置13,...,位置0]的量化的变换系数的矢量(SV)。还可以在采用重新排序时使用Z形扫描路径,并且Z形扫描路径对于一些重新排序可以是有利的。对于其他重新排序,根据重新排序预期将TB能量集中至TB中的哪个部分,其他扫描路径可以是更有利的。例如,对于试图将重新排序的残差块的非零元素集中至较低频位置的逐行重新排序,如图6a和6b所示的重新排序,采用根据图8b给出的示例的逐行扫描路径通常是有利的,其中,根据在SV矢量中系数将出现的位置,对系数位置再次编号。可以通过例如以下方式来发现对于重新排序和变换的特定组合有利的扫描路径:基于通过例如仿真获得的大量原始块的编码,确定在变换块的不同位置处的非零系数的概率。
可以在应用变换之前执行重新排序的残差块的大小可以例如对应于要应用的变换矩阵的大小。因此,如果变换是4×4变换,则本实施例中可以在4×4块大小级别上执行重新排序。在一些编码器实施例中,所应用的变换的大小可以在图像序列的不同块之间变化。在这种编码器中,可以将执行重新排序所在的块的大小调整为当前应用的变换的大小。
在可以执行重新排序的块的大小对应于变换矩阵的大小的一个实施例中,可以将与使用哪个重新排序(如果有)相关的判定作为应用到连续残差块600的组的联合判定来执行。可以针对连续残差块600的每个组来信号通知这种判定一次。在一个实现中,当解码器115接收到这种组PRP索引时,解码器115将对连续块600的组中的所有块执行与接收到的PRP索引相对应的逆重新排序(如果有)。在另一实现中,可以在组的级别上,从可用重新排序的集合中选择重新排序,同时可以以单个RB为基础,在编码的图像数据中包括指示是否将所选重新排序应用到该组的RB的信令。组PRP索引的优点是需要较少的带宽用于PRP索引的信令。在一个实现中,编码器130可以在应用到单个块的组判定和重新排序判定之间交替。
在解码器115中,当对残差块600编码和解码时,例如,以图2至4中任意图所述的方式,有时会发生不利的边缘振荡,一般出现为重构残差块中低变化幅度的RB元素615的集合,其中原始残差块具有常数值(例如,零)。在解码器115的一个实施例中,解码器被配置为向假定包含不利的边缘振荡的RB元素615分配常数值。在图9a中示出了应用到残差块的这种边缘振荡替换操作的示例。示出了原始残差块900以及重构残差块905。箭头910代表编码和解码步骤的集合,如步骤300、210至225、240至255和步骤305。重构的RB 905对应于原始RB 900,但是边缘振荡出现在RB 905的最后两行中。通过对重构RB 905应用边缘振荡替换操作915,其中用常数值(此处为零)来替换被认为包含边缘振荡的RB元素615的值,得到边缘振荡减小的残差块920,实现了与原始RB 900更好的对应。常数值可以是如图9a中示例的零,或对应于RB的平均值。
与是否将边缘振荡替换操作915应用到重构RB 905相关的判定可以例如基于对重构RB 905的RB元素615的值的分析。在图9b中示出了由解码器115执行的这种分析的示例,其中,常数值是零。在步骤235中,在解码器115中接收编码的图像数据。在步骤930中,通过执行由编码器130所应用的编码步骤(例如步骤240至255和305)的逆步骤,来重构残差块。然后进入步骤935,其中,检查重构RB 905的至少一个RB元素615的绝对幅度|aij|是否小于RB元素阈值RBth。如果否,进入步骤945,其中,在编码的图像数据的继续解码中使用残差块。然而,如果在步骤935中标识出具有小于RBth的绝对幅度的RB元素,则进入940,其中,用常数值(在本示例中为零)来替换具有小于RBth的绝对幅度的RB元素的值。然后可以在步骤445的编码的图像数据的继续解码中使用边缘振荡减小的RB。
在步骤935中被检查绝对幅度的至少一个RB元素615可以是例如所应用的重新排序预期从中消耗能量的RB元素615。在一个实施例中,在步骤935中检查全部RB元素615。
可以根据用于RB元素615的量化,来有利地设置阈值RBth,使得针对已应用较低分辨率量化的RB元素615使用较大的RBth值。
可以在执行逆重新排序步骤305之前或之后,将边缘振荡替换操作915应用到重构的残差块905。
取代将边缘振荡替换操作基于RB元素615的绝对幅度,还可以预先定义边缘振荡替换操作915,并将其关联到特定的重新排序操作。特定的重新排序操作一般预期在特定位置处产生常数值或低值RB元素615,因此可以将这种位置的RB元素设置为常数值。例如,可以将图9a所示边缘振荡替换操作(其中将重构RB 905的底部两行的RB元素设置为零)关联到图6a所示的重新排序(此处,将在重新排序之后执行边缘振荡替换,或将定义不同的边缘振荡替换操作)。因此,在本实现中,解码器115可以被配置为向已应用特定重新排序的所有接收到的RB 600应用与该特定重新排序相关联的边缘振荡替换操作。
图10是编码器130的示例的示意说明图,其中采用了根据上述的像素重新排序过程。图10的编码器130包括以下模块:输入1000、预测机制1005、残差机制1010、重新排序机制1015、变换机制1020、量化机制1025、扫描机制1030、熵编码器1035以及输出1040。
输入1000被配置为:接收指示原始图像的信号,以及从接收图像中检索或产生至少一个原始块(OB)。预测机制1005的输入响应连接到输入1000,并被配置为接收要编码的OB。
预测机制1005被配置为:基于一个或多个之前编码的过去图像或当前图像的之前编码部分,产生预测块(PB)。预测机制1005还被配置为:产生指示预测块和预测参数的信号。直接或经由中间模块向输出1040提供预测参数。
残差机制1010的输入响应连接到预测机制1005,并被配置为根据原始块和从预测机制1005接收的预测块来产生指示在OB和PB之间的差值的残差块(RB)。OB可以由残差机制1010从输入1000直接(如图10所示)或经由预测机制1005来接收。
图10中“PRP”所指示的重新排序机制1015响应连接到残差机制1010,并被配置为对RB的RB元素执行重新排序(如果有利)。重新排序机制1015还被配置为产生指示重新排序的RB的信号以及指示所执行的重新排序的信号(参见PRP索引515)。将通过图12和14来进一步描述重新排序机制1015的操作。
变换机制1020的输入响应连接到重新排序机制1015的输出,并被配置为:通过对接收到的RB(其可以经历或可以不经历重新排序)应用预定变换来产生变换块TB。量化机制1025响应连接到变换机制1020,被配置为对从变换机制1020接收到的变换块的系数进行量化,从而产生量化的变换块。
扫描机制1030响应连接到量化机制1025,并被配置为执行对接收到的量化变换块进行扫描,从而产生量化的变换系数的矢量。在所执行的扫描类型取决于重新排序的实施例中,扫描机制1030还被配置为:接收指示已执行哪个重新排序的信号。此时扫描机制1030可以从重新排序机制1015直接(如图10所示)或经由量化机制1025接收这种信号。
熵编码器1035响应连接到扫描机制1030,并被配置为对接收到的量化变换系数的矢量(SV)进行熵编码,从而产生熵编码的比特流(EB)。输出1040响应连接到熵编码器1035,并被配置为:产生要传送给解码器115的编码的图像数据500。输出1040还被配置为:接收预测参数和PRP索引——经由熵编码器1035或直接从预测机制1005和重新排序机制1015接收。输出1040还可以例如被配置为:在包括与其他原始块相关的编码的图像数据500在内的文件、消息或数据流中包括编码的图像数据500。
图11是解码器115的示例的示意说明图,其中,采用了逆像素重新排序过程的实施例。图11的解码器115包括以下模块:输入1100、逆熵编码机制1105、逆扫描机制1110、逆量化机制1115、逆变换机制1120、逆重新排序机制1125、逆预测机制1130、原始块重构机制1135和输出1140。输入1100被配置为接收指示编码的图像数据500的信号,并从接收到的编码的图像数据500中检索熵编码的比特流、预测参数和PRP索引。输入1100还被配置为向逆预测机制130传送检索到的预测参数,向逆熵编码机制1105传送检索到的熵编码比特流1105,以及向逆重新排序机制1125传送检索到的PRP索引(如图11所示直接或经由中间模块传送)。在扫描取决于所使用的重新排序的实施例中,还向逆扫描机制1110提供PRP索引。
逆熵编码机制1105的输入响应连接到输入1100,并被配置为执行由熵编码器1035所执行的熵编码的逆熵编码,以得到量化的变换系数的矢量(SV)。逆扫描机制1110的输入响应连接到逆熵编码机制1105,并被配置为执行由扫描机制1030所执行的扫描的逆扫描,从而根据SV矢量来产生量化的变换块(QTB)。如果扫描取决于重新排序机制1015应用哪个重新排序,则逆扫描机制1110还可以被配置为:在执行逆扫描之前,从输入1100接收PRP索引,并根据PRP索引标识适用的扫描,例如通过计算机程序中的“if语句”或通过检查表。
逆量化机制1115响应连接到逆扫描机制1110,并被配置为:通过执行量化的变换块的逆量化,来产生变换块(TB)。例如,如果量化步长是可能值范围中的常数,则可以通过将量化值与量化步长相乘来执行逆量化。逆变换机制1120的输入响应连接到逆量化机制1115的输出,并被配置为:对接收到的变换块应用由变换机制1020所应用的变换的逆变换,从而产生残差块(RB),RB可以是或可以不是由重新排序机制1015进行过重新排序的。
逆重新排序机制1125响应连接到逆变换机制1120,并被配置为产生残差块RB,其中顺序与由残差机制1010所产生的残差块的顺序相同。还通过图13和15来进一步讨论逆残差机制1125的操作。
逆预测机制1130响应连接到输入1100,并被配置为:使用接收到的预测参数以及之前解码的原始块一起,重构作为对原始块的预测的预测块(PB)。OB重构机制1135响应连接到逆重新排序机制1125和逆预测机制1130。OB重构机制被配置为:根据从逆预测机制1130接收到的预测块和从逆重新排序机制1125接收到的对应残差块来产生原始块的重构。输出1140响应连接到OB重构机制1135,并被配置为:向例如用户接口(如屏幕)或另一应用产生指示重构的原始块的信号。
一般而言,模块1105、1110、1115、1120、1125、1130和1135都响应连接到解码器115的输入1100,虽然其中的一些是经过中间模块连接的。
图10的编码器130和图11的解码器115仅作为示例给出。可以在采用与图10所示的编码机制不同的其他编码机制的编码器130中实现重新排序机制1015。例如,可以省略或使用备选编码机制来代替量化机制1025、扫描机制1030和熵编码机制1035。类似地,可以在采用与图11所示的解码机制不同的其他解码机制的解码器115中实现逆重新排序机制1125。
图12中示出了重新排序机制1015的示例的示意说明图。图12的重新排序机制1015包括:输入1200、重新排序选择器1205、像素重新排序器1210和输出1220。输入1200被配置为从例如残差机制1010接收指示残差块RB的信号,并将该信号转发到重新排序选择器1210和像素重新排序器1205。
重新排序选择器1205响应连接到输入1200,并被配置为执行图4的步骤400和410,例如通过率失真优化(参见图7a)或通过上述更简单的分析。重新排序选择器1205还被布置为产生指示所选重新排序的信号。
像素重新排序器1210响应连接到重新排序选择器1205,并被配置为:执行在从重新排序选择器接收到的信号中指示的重新排序过程(参见上述步骤300)。这种信号可以例如包含对具有值p的PRP索引(指向索引为p的重新排序(或逆重新排序))的形式的对所执行的重新排序的指示。当接收到PRP索引时,像素重新排序器1210可以例如在PRP索引表中找到值p,其中,当接收到的不同PRP索引时像素重新排序器1210要执行的不同指令与对应的PRP索引相关联。备选地,接收到PRP索引可以触发对计算机程序的“if语句”的执行,例如,如果PRP索引指向图6a所示的重新排序:
“ifPRP索引=p,then,for j:=1-4”
a′1j:=a1j
a′2j:=a4j
a′3j:=a3j
a′4j:=a2j
其中,{aij}形成原始RB,{a′ij}形成重新排序的RB。原始RB可以例如由像素重新排序器1210直接从输入1200接收(如图12所示),或经由重新排序选择器1205接收。像素重新排序器1210还被配置为产生指示重新排序的RB的信号。
输出1220响应连接到像素重新排序器1210,并被配置为产生指示接收到的重新排序的RB以及PRP索引的信号,从而可以由解码器115来标识所应用的重新排序——可以从重新排序选择器直接接收指示这种PRP索引的信号(如图12所示),或经由像素重新排序器1210来接收。
如果重新排序选择器1205被配置为向像素重新排序器1210传送指示从输入1200接收到的残差块的信号,则可以省略输入1200和像素重新排序器1205之间的连接。类似地,如果像素重新排序器1210被配置为向输出1220传送指示所应用的重新排序的信号,则可以省略重新排序选择器1205和信号产生器1215之间的连接。
图13示意性地示出了逆重新排序机制1125的实施例的示例。图13的逆重新排序机制1125包括:输入1300、逆重新排序器1305和输出1320。逆重新排序机制1125还可以可选地包括RB简化器1315。
输入1300被配置为接收指示残差块(RB)的信号以及指示PRP索引的信号,残差块RB可以是或可以不是由重新排序机制1015重新排序过的。这种信号可以是从例如逆变换机制接收到的相同信号的一部分,或可以是作为如图11所示的两个分离信号接收到的。逆重新排序器1305响应连接到输入1300,并被配置为使用接收到的指示PRP索引的信号来标识向残差块应用了哪个重新排序(如果有)(参见图4的步骤420和425)。可以通过在表中查找接收到的PRP索引,或通过运行计算机程序的if语句来执行这种标识(参见与重新排序选择器相关的讨论)。在编码器根据预测模式或其他编码参数来选择重新排序的实现中,逆重新排序器被配置为根据所述其他参数来选择逆重新排序。逆重新排序器1305还被配置为从输入1300接收残差块,并对与用于标识重新排序的PRP索引相关联的接收的残差块执行所标识的重新排序的逆重新排序。输出1320响应连接到逆重新排序器1305(可能经由RB简化器1315),并被配置为产生指示残差块的信号。
如图13所示,逆重新排序机制1125可以可选地包括RB简化器1315,被配置为接收残差块,并标识是否应当将RB元素615中的任何RB元素设置为常数值,如通过图9a和9b所讨论的。RB简化器1315可以例如根据图9b所示的方法进行操作。RB简化器1315可以被配置为对来自逆重新排序器1305的输出信号进行操作,或对来自逆变换机制1120的输出信号进行操作。
上面描述为被配置为执行不同任务的编码器130、重新排序机制1015、解码器115和逆重新排序机制1125的不同模块例如被可编程地配置为执行这些任务。可以通过例如被配置为执行上述过程的硬件和软件的适当组合来实现重新排序机制1015和逆重新排序机制1125。可以通过一个或多个通用处理器、或专门为重新排序机制1015开发的一个或多个处理器,与用于执行对残差块的重新排序的软件(参见图4的步骤400、410、300和415)相结合,来实现重新排序机制1015。类似地,可以通过一个或多个通用处理器、或专门为逆重新排序机制1125开发的一个或多个处理器,与用于执行对残差块的逆重新排序的软件(参见图4的步骤400、410、300和415)相结合,来实现逆重新排序机制1125。
图14示出了重新排序机制1015的备选说明图,其中,重新排序机制1015包括连接到具有存储器形式的计算机程序产品1405的处理装置1400,以及接口1200和1220。存储器包括存储计算机程序1410的计算机可读代码装置,计算机程序1410在由处理装置1400执行时,使重新排序机制1015执行如上面通过图4所述的重新排序方法(参见步骤400、410、300、415)。换言之,在本实施例中,可以在计算机程序1410的对应程序模块的帮助下实现重新排序机制1015、其重新排序选择器1205和像素重新排序器1210。
类似地,图15示出了逆重新排序机制1125的备选说明图,其中,逆重新排序机制1125包括连接到具有存储器形式的计算机程序产品1505的处理装置1500,以及接口1300和1320。存储器包括存储计算机程序1510的计算机可读代码装置,计算机程序1510在由处理装置1500执行时,使逆重新排序机制1125执行如上面通过图4所述的逆重新排序方法(参见步骤420、425和305)。换言之,在本实施例中,可以在计算机程序1510的对应程序模块的帮助下实现逆重新排序机制1125、其逆重新排序器1305和RB简化器1315(如果适用)。
计算机程序产品1405和1505可以分别是任何类型的非易失性计算机可读装置,如硬盘、闪存、EEPROM(电可擦除可编程只读存储器)、DVD盘、CD盘、USB存储器等等。
现在将呈现示出了本技术的实施例的数值示例。该示例使用在H.264标准中使用的可分离的基于整数的8×8变换T:
T = 8 8 8 8 8 8 8 8 12 10 6 3 - 3 - 6 - 10 - 12 8 4 - 4 - 8 - 8 - 4 4 8 10 - 3 - 12 - 6 6 12 3 - 10 8 - 8 - 8 8 8 - 8 - 8 8 6 - 12 3 10 - 10 - 3 12 - 6 4 - 8 8 - 4 - 4 8 - 8 4 3 - 6 10 - 12 12 - 10 6 - 30 - - - ( 4 )
将其应用到以下原始残差块上:
RB = 60 - 60 0 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 0 60 - - - ( 5 )
H.264中完整的变换过程并入了缩放和量化。下面示出了针对量化参数QP=34的量化的变换系数:
QTB H . 264 = 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 - 1 1 1 0 0 0 0 0 0 - 1 1 1 0 0 0 0 0 0 - 1 2 1 0 0 0 0 0 0 - 1 3 1 0 0 0 0 0 0 - 1 3 0 0 0 0 0 0 0 0 4 - - - ( 6 )
然后对量化的变换块的系数进行熵编码。
在解码器115中对对应编码的图像数据500的解码产生以下重构的残差块:
RB H . 264 = 33 - 45 - 2 - 6 - 2 1 7 15 - 19 61 - 56 - 9 6 0 10 7 5 - 4 60 - 61 - 5 4 0 1 - 3 0 - 2 69 - 62 - 5 6 - 2 - 1 - 3 11 1 69 - 61 - 9 - 6 - 10 9 - 9 11 - 2 60 - 56 - 2 0 - 17 9 - 3 0 - 4 61 - 45 - 4 - 1 - 10 - 2 - 3 5 - 19 33 - - - ( 7 )
如果对表达式(5)所示的RB执行与45度顺时针旋转相对应的行位移旋转,则编码和解码将得到与原始RB更好对应的解码的RB。此时重新排序的RB如下:
RB PRP = 0 0 0 60 - 60 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 60 - 60 0 0 0 0 0 0 60 0 0 0 0 - - - ( 8 )
将获得以下量化的变换块:
QTB H . 264 PRP = 0 1 0 - 2 0 4 0 - 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - - ( 7 )
然后对这些系数进行熵编码。逆量化和逆变换得到以下重构(重新排序的)RB:
RB H . 264 PRP = 1 - 1 - 4 54 - 54 4 1 0 0 - 1 - 4 54 - 54 4 1 0 1 - 1 - 4 54 - 54 4 1 0 0 - 1 - 4 54 - 54 4 1 0 1 - 1 - 4 54 - 54 4 1 0 0 - 1 - 4 54 - 54 4 1 0 1 - 1 - 4 54 - 54 4 1 0 0 - 1 - 4 54 - 54 4 1 0 - - - ( 8 )
逆重新排序将得到以下重新创建的残差块:
RB H . 264 IPRP = 54 - 54 4 1 0 0 0 0 - 4 54 - 54 4 1 0 0 0 - 1 - 4 54 - 54 4 1 0 0 0 - 1 - 4 54 - 54 4 1 0 0 1 - 1 - 4 54 - 54 4 1 0 0 0 - 1 - 4 54 - 54 4 0 0 0 1 - 1 - 4 54 - 54 0 0 0 0 0 - 1 - 4 54
可以看出,在应用了重新排序时获得的重新创建的残差块比在未重新排序时获得的重新创建的残差块RBH.264更类似于原始残差块RB。事实上,
Figure BDA0000132796510000305
的峰值信噪比(PSNR)是31.4dB且RBH.264的PSNR是23.4dB。从而,在上述示例中获得了8dB的改进。
通过如上所述对残差块的RB元素执行重新排序,在重新排序的RB展现出比原始RB在变换的基函数中一个或一些上的更好映射时,可以实现改进的编码效率。通过向编码器提供选择是否应用可用重新排序过程的可能性,以及还可能从重新排序过程的集合中选择重新排序过程,可以在变换之前,将残差块逐块调整至所应用的变换。重新排序过程对于可分离和不可分离的变换都工作良好。
可以例如在用于广播视频的专业编码器、在用户设备(如视频摄像机)的编码器、在用于视频会议应用的编码器、在医疗扫描设备的编码器等等中使用上述编码器技术。可以例如在用户设备(如移动电话)、计算机、电视机、dvd播放器、视频会议设备、医疗扫描查看设备等等中使用上述解码器技术。
尽管在所附独立权利要求中阐述了本发明的各个方面,本发明的其他方面包括在上述描述和/或所附权利要求中呈现的任何特征的组合,不仅是在所附权利要求中显式阐述的组合。
本领域技术人员将意识到本文所呈现的技术不限于仅作为说明目的而呈现的附图和前面详细描述中公开的实施例,而是可以用多种不同方式来实现本文所呈现的技术,由以下权利要求来限定本文所呈现的技术。

Claims (37)

1.一种用于对图像的表示进行编码的编码方法,所述方法包括:
在编码器(130)中,根据原始块和作为所述原始块的近似的预测块,创建(200)残差块,其中,所创建的残差块包括残差块元素;
在所述编码器中,对所述残差块中的残差块元素重新排序(300);以及
在所述编码器中,对重新排序的残差块应用(210)变换。
2.根据权利要求1所述的编码方法,其中,所述重新排序是可选的,所述方法还包括:
在所述编码器中,在对残差块应用所述变换之前,确定(400)是否应当对所述残差块的残差块元素执行重新排序。
3.根据权利要求1或2所述的编码方法,
分析(400、410;700、710)所述残差块并产生分析结果;以及
根据所述分析结果,从可用重新排序的集合中选择(410、710)合适的重新排序。
4.根据权利要求3所述的编码方法,其中,所述分析包括:
标识所述残差块的残差块元素的可用重新排序的集合;
确定(700)所述集合中每个可用重新排序的率失真;
根据所确定的可用重新排序的率失真,选择(705、710)重新排序;以及其中
所述重新排序包括根据所选择的重新排序对所述残差块元素进行重新排序。
5.根据权利要求1至3中任一项所述的编码方法,还包括:
确定(715)在采用特定重新排序的情况下将获得的变换块的至少一个系数的幅度,根据所述特定重新排序来选择所述系数在所述变换块中的位置;以及
根据所确定的所述至少一个系数的幅度,确定(720、725)是否应当根据所述特定重新排序来执行重新排序。
6.根据权利要求1所述的编码方法,还包括:
标识在所述预测块的创建中使用的预测模式;
根据所标识的预测模式来选择重新排序;其中
所述重新排序包括根据所选择的重新排序对所述残差块元素进行重新排序。
7.根据前述权利要求中任一项所述的编码方法,其中,
所述重新排序包括将至少一行或列的残差元素在所述行或列中进行位移。
8.根据权利要求1至6中任一项所述的编码方法,其中
所述重新排序包括将行或列在所述残差块中进行重排。
9.根据前述权利要求中任一项所述的方法,其中,对所述重新排序的残差块应用变换得到变换系数的矩阵,所述方法还包括:
扫描(220)所述变换系数以形成变换系数的矢量;其中
根据对所述残差块执行的重新排序来选择扫描路径。
10.根据前述权利要求中任一项所述的方法,还包括:
产生(415)指示所执行的重新排序的信号(515)。
11.根据权利要求10所述的方法,还包括:
选择可用于连续残差块的集合的一个重新排序;以及
在所产生的信号中包括指向所述连续残差块的集合的对所选重新排序的指示。
12.根据前述权利要求中任一项所述的方法,其中,对与定义所述变换的矩阵具有相同大小的残差块执行所述重新排序。
13.一种对表示图像的编码的图像数据进行解码的解码方法,所述方法包括:
在解码器中,根据接收到的编码的图像数据来导出(240、245、250)变换块,其中,所述变换块源自在编码器中对包括残差块元素在内的原始残差块应用的变换;
在所述解码器中,通过对所述变换块应用所述变换的逆变换,导出(255)残差块;
在所述解码器中,对所导出的残差块的残差块元素执行(305)逆重新排序,其中,在所述编码器中在应用所述变换之前已经对所述原始残差块执行重新排序;以及
在所述解码器中,在对表示图像的至少一部分的原始块的重构中使用(265)逆重新排序的残差块。
14.根据权利要求13所述的解码方法,还包括:
在所述解码器中,接收(235)指示在所述编码器中在应用所述变换之前已经对所述原始残差块执行的重新排序的信号(515);以及
在所述解码器中,通过指示所述重新排序的信号,标识(425)要对所导出的残差块执行的逆重新排序。
15.根据权利要求13所述的解码方法,还包括:
在所述解码器中,接收指示在所述编码器中使用的预测模式的信号,所述预测模式用于获得用于导出原始残差块的预测块;以及
在所述解码器中,通过指示所使用的预测模式的信号,标识要对所导出的残差块执行的逆重新排序。
16.根据权利要求13至15中任一项所述的解码方法,其中
导出所述变换块包括:对根据所述编码的图像数据导出的变换系数的矢量执行由所述解码器执行的扫描的逆扫描,其中,要执行的逆扫描与要对所导出的残差块执行的逆重新排序相关联。
17.根据权利要求13至16中任一项所述的解码方法,还包括:
接收包括对在所述编码器中具有可用的相同重新排序的连续残差块的集合的指示在内的信号;其中
对在所述编码器中执行了重新排序的所述集合中的任何残差块执行相同的逆重新排序。
18.根据权利要求13至17中任一项所述的解码方法,其中,
所述逆重新排序是所述残差块的行或列的重排。
19.根据权利要求13至17中任一项所述的解码方法,其中,
所述逆重新排序涉及将所述残差块的至少一行或列的残差块元素在所述行或列中进行位移。
20.根据权利要求13至19中任一项所述的解码方法,其中,
对与定义所述逆变换的矩阵具有相同大小的残差块执行所述逆重新排序。
21.根据权利要求13至20中任一项所述的解码方法,还包括:
在所述原始块的重构中使用所述残差块之前,将所述残差块的至少一个残差块元素的值设置为常数值,以减少边缘振荡。
22.一种适于将图像的表示编码为编码的图像数据的编码器(130),所述编码器包括:
输入(1000),被配置为接收指示表示图像的至少一部分的原始块的信号;
残差块产生器(1010),响应连接到所述输入,并被可编程地配置为使用接收到的原始块来产生残差块;
重新排序机制(1015),响应连接到所述残差块产生器,并被可编程地配置为对残差块的残差块元素重新排序,从而创建重新排序的残差块;
变换机制(1020),响应连接到所述残差块产生器,并被可编程地配置为对接收到的重新排序的残差块应用变换,从而产生要在所述编码的图像数据的创建中使用的变换块;以及
输出,连接到所述变换机制,并被配置为传送编码的图像数据。
23.根据权利要求22所述的编码器,其中,
所述重新排序机制被配置为:确定是否应当对接收到的残差块的残差块元素执行重新排序。
24.据权利要求22或23所述的编码器,其中,
所述重新排序机制包括:重新排序选择器(1205),响应连接到所述残差块产生器,并被可编程地配置为基于对残差块的分析来选择要应用到所述残差块的重新排序,以及产生指示所选择的重新排序的信号。
25.根据权利要求24所述的编码器,其中,
所述重新排序选择器被可编程地配置为:标识可用重新排序的集合;确定所述集合中每个可用重新排序的率失真;以及根据所确定的所述集合中的重新排序的率失真,从所述集合中选择重新排序。
26.根据权利要求21至24中任一项所述的编码器,其中,
所述重新排序机制被可编程地配置为:产生指示重新排序的残差块以及指示所执行的重新排序的信号。
27.根据权利要求21至26中任一项所述的编码器,其中,所述编码器还包括:
扫描机制(1030),被可编程地配置为:沿扫描路径扫描所述变换块的系数,以形成变换系数的矢量;其中
所述扫描机制被可编程地配置为:根据所述重新排序机制对所述残差块执行的重新排序,来选择扫描路径。
28.一种适于接收表示由根据权利要求20至25中任一项所述的编码器编码的图像的编码的图像数据(500)的解码器(115),所述解码器包括:
输入(1100),被配置为接收从中能够导出变换块的编码的图像数据,其中,所述变换块源自在所述编码器中对包括残差块元素在内的残差块应用的变换;
逆变换机制(1120),响应连接以接收变换块,并被可编程地配置为对所述变换块应用所述变换的逆变换,以得到包括残差块元素在内的残差块;
逆重新排序机制(1125),响应连接到所述逆变换机制,并被可编程地配置为接收残差块,以标识在所述编码器中对对应原始残差块执行的重新排序,以及对接收到的残差块执行逆重新排序,其中,所述逆重新排序与在所述编码器中执行的所述重新排序相关联,从而产生逆重新排序的残差块;以及
逆预测机制(1130),响应连接到所述逆重新排序机制,并被可编程地配置为在对表示图像的至少一部分的对应原始块的重构中使用逆重新排序的残差块。
29.根据权利要求28所述的解码器,其中,所述逆重新排序机制包括:
逆重新排序器(1305),被可编程地配置为:
从包括对所述编码器执行的重新排序的指示在内的信号中,
检索对所述重新排序的指示;以及
通过所述指示来标识所述逆重新排序。
30.根据权利要求29所述的解码器,其中,
所述逆重新排序器还被可编程地配置为:接收包括对在所述编码器中具有可用的相同重新排序的连续残差块的集合的指示在内的信号;以及对在所述编码器中执行了重新排序的所述集合中的任何残差块执行相同的逆重新排序。
31.根据权利要求29所述的解码器,其中,
逆重新排序器(1305)还被可编程地配置为:
从指示所述预测模式的信号中检索对在所述编码器中产生用于导出原始残差块的预测块时采用的预测模式的指示;以及
通过所采用的预测模式的所述指示,标识所述逆重新排序。
32.根据权利要求28至31中任一项所述的解码器,其中,
所述重新排序机制还包括:残差块简化器(1315),响应连接以接收残差块,并被可编程地配置为:标识是否应当将接收到的残差块的残差块元素中的任何残差块元素设置为常数值,如果是,则在将所述残差块传送给所述预测机制之前,将标识出的残差块元素的值设置为常数值。
33.一种用户设备,被配置为从内容创建器接收至少一个图像的表示,并根据接收到的至少一个图像的表示来产生编码的媒体表示,所述用户设备包括根据权利要求22至27中任一项所述的编码器。
34.一种媒体通信系统(100),用于向用户设备(110)传输媒体,所述媒体通信系统包括根据权利要求22至27中任一项所述的编码器。
35.一种用户设备,被配置为在屏幕(120)上显现图像,所述用户设备包括根据权利要求28至32中任一项所述的解码器。
36.一种编码器计算机程序(1410),包括计算机可读代码装置,当在编码器(140)上运行时,响应于原始块的接收,所述计算机可读代码装置使所述编码器:
根据原始块和作为所述原始块的近似的预测块,创建残差块,其中,所述残差块包括残差块元素;
对所述残差块中的残差块元素重新排序;以及
对重新排序的残差块应用变换。
37.一种解码器计算机程序(1505),包括计算机可读代码装置,当在解码器(115)上运行时,响应于变换块的接收,所述变换块源自在编码器中对包括残差块元素在内的原始残差块应用的变换,所述计算机可读代码装置使所述解码器:
通过对变换系数矩阵应用所述变换的逆变换,重构残差块;
对重构的残差块的残差块元素执行逆重新排序,所述逆重新排序与在应用所述变换之前对所述原始残差块执行的重新排序相关联;以及
在对表示图像的至少一部分的原始块的重构中使用逆重新排序的残差块。
CN2010800331254A 2009-07-23 2010-03-16 用于图像的编码和解码的方法和设备 Pending CN102474625A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22792709P 2009-07-23 2009-07-23
US61/227,927 2009-07-23
PCT/SE2010/050286 WO2011010959A1 (en) 2009-07-23 2010-03-16 Method and apparatus for encoding and decoding of images

Publications (1)

Publication Number Publication Date
CN102474625A true CN102474625A (zh) 2012-05-23

Family

ID=43499275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800331254A Pending CN102474625A (zh) 2009-07-23 2010-03-16 用于图像的编码和解码的方法和设备

Country Status (4)

Country Link
US (1) US8971655B2 (zh)
EP (1) EP2457378A4 (zh)
CN (1) CN102474625A (zh)
WO (1) WO2011010959A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108432254A (zh) * 2015-11-30 2018-08-21 奥兰治 用于对图像进行编码和解码的方法、用于对图像进行编码和解码的设备以及相应的计算机程序
CN109417639A (zh) * 2016-05-13 2019-03-01 交互数字Vc控股公司 利用自适应裁剪的视频编码的方法和设备
CN109923864A (zh) * 2016-09-08 2019-06-21 威诺瓦国际有限公司 数据处理设备、方法、计算机程序和计算机可读介质
CN110010210A (zh) * 2019-03-29 2019-07-12 北京科技大学 基于机器学习并面向性能要求的多组元合金成分设计方法
CN114390281A (zh) * 2018-11-12 2022-04-22 Lg电子株式会社 图像解码方法、图像编码方法和数据发送方法
WO2023273975A1 (zh) * 2021-06-29 2023-01-05 华为技术有限公司 一种数据传输方法和通信装置
WO2023039856A1 (zh) * 2021-09-17 2023-03-23 Oppo广东移动通信有限公司 一种视频解码、编码方法及设备、存储介质
CN116156170A (zh) * 2023-04-24 2023-05-23 北京中星微人工智能芯片技术有限公司 数据流的发送方法、装置、电子设备和存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8949501B1 (en) * 2010-10-31 2015-02-03 Integrated Device Technology, Inc. Method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe bridges
US8730983B1 (en) * 2010-10-31 2014-05-20 Integrated Device Technology, Inc. Method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe bridges
KR101425506B1 (ko) * 2012-09-22 2014-08-05 최수정 보완적인 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치
US20170332092A1 (en) * 2014-10-31 2017-11-16 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image
US20230396799A1 (en) * 2022-06-06 2023-12-07 Tencent America LLC Signaling method for scaling parameter in chroma from luma intra prediction mode

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6373894B1 (en) * 1997-02-18 2002-04-16 Sarnoff Corporation Method and apparatus for recovering quantized coefficients
US20080247658A1 (en) * 2007-04-06 2008-10-09 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image using modification of residual block

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5351086A (en) * 1991-12-31 1994-09-27 Daewoo Electronics Co., Ltd. Low-bit rate interframe video encoder with adaptive transformation block selection
JPH09121358A (ja) * 1995-10-25 1997-05-06 Matsushita Electric Ind Co Ltd 画像符号化及び復号化装置と方法
JPH09261640A (ja) 1996-03-22 1997-10-03 Oki Electric Ind Co Ltd 画像符号化装置
KR100481732B1 (ko) 2002-04-20 2005-04-11 전자부품연구원 다 시점 동영상 부호화 장치
US7409099B1 (en) * 2004-08-10 2008-08-05 On2 Technologies, Inc. Method of improved image/video compression via data re-ordering
KR100664932B1 (ko) * 2004-10-21 2007-01-04 삼성전자주식회사 비디오 코딩 방법 및 장치
KR101370289B1 (ko) * 2007-02-14 2014-03-06 삼성전자주식회사 레지듀얼 리사이징을 이용한 영상의 부호화, 복호화 방법및 장치
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
EP2271102A1 (en) 2009-06-29 2011-01-05 Thomson Licensing Adaptive residual image coding
JP5700970B2 (ja) * 2009-07-30 2015-04-15 トムソン ライセンシングThomson Licensing 画像シーケンスを表す符号化データストリームの復号方法と画像シーケンスの符号化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6373894B1 (en) * 1997-02-18 2002-04-16 Sarnoff Corporation Method and apparatus for recovering quantized coefficients
US20080247658A1 (en) * 2007-04-06 2008-10-09 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image using modification of residual block

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANTOINE ROBERT ET AL.: "Improving H.264 Video Coding Through Block Oriented Transforms", 《2008 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXPO》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108432254A (zh) * 2015-11-30 2018-08-21 奥兰治 用于对图像进行编码和解码的方法、用于对图像进行编码和解码的设备以及相应的计算机程序
CN109417639A (zh) * 2016-05-13 2019-03-01 交互数字Vc控股公司 利用自适应裁剪的视频编码的方法和设备
CN109417639B (zh) * 2016-05-13 2021-12-21 交互数字Vc控股公司 利用自适应裁剪的视频编码的方法和设备
CN109923864A (zh) * 2016-09-08 2019-06-21 威诺瓦国际有限公司 数据处理设备、方法、计算机程序和计算机可读介质
CN109923864B (zh) * 2016-09-08 2023-12-19 威诺瓦国际有限公司 数据处理设备、方法、计算机程序和计算机可读介质
CN114390281A (zh) * 2018-11-12 2022-04-22 Lg电子株式会社 图像解码方法、图像编码方法和数据发送方法
CN114390281B (zh) * 2018-11-12 2023-09-08 Lg电子株式会社 图像解码方法、图像编码方法和数据发送方法
CN110010210A (zh) * 2019-03-29 2019-07-12 北京科技大学 基于机器学习并面向性能要求的多组元合金成分设计方法
WO2023273975A1 (zh) * 2021-06-29 2023-01-05 华为技术有限公司 一种数据传输方法和通信装置
WO2023039856A1 (zh) * 2021-09-17 2023-03-23 Oppo广东移动通信有限公司 一种视频解码、编码方法及设备、存储介质
CN116156170A (zh) * 2023-04-24 2023-05-23 北京中星微人工智能芯片技术有限公司 数据流的发送方法、装置、电子设备和存储介质
CN116156170B (zh) * 2023-04-24 2024-04-16 北京中星微人工智能芯片技术有限公司 数据流的发送方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
EP2457378A4 (en) 2016-08-10
US8971655B2 (en) 2015-03-03
EP2457378A1 (en) 2012-05-30
WO2011010959A1 (en) 2011-01-27
US20120170858A1 (en) 2012-07-05

Similar Documents

Publication Publication Date Title
CN102474625A (zh) 用于图像的编码和解码的方法和设备
US20230283791A1 (en) Hierarchical data structure
CN102388610B (zh) 使用低复杂度频率变换的视频编码方法和设备以及视频解码方法和设备
CN105379283B (zh) 数据编码和解码
KR100430328B1 (ko) 비디오데이터엔코더및디코더
US8451903B2 (en) Selecting transforms for compressing visual data
KR100703748B1 (ko) 다 계층 기반의 비디오 프레임을 효율적으로 예측하는 방법및 그 방법을 이용한 비디오 코딩 방법 및 장치
US8509309B2 (en) Selecting transforms for compressing visual data
KR101918958B1 (ko) 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치
CN1678073B (zh) 用于可伸缩视频编码的方向自适应可伸缩运动参数编码
CN102598663A (zh) 通过使用旋转变换对图像编码和解码的方法和设备
CN102474599A (zh) 用于对图像进行编码的方法和设备,用于对编码图像进行解码的方法和设备
MX2008012863A (es) Metodo y aparato de codificacion de video que soporta analisis sintactico independiente.
CN104255029A (zh) 产生用于不同的颜色取样格式的子像素值
Bhavani et al. A survey on coding algorithms in medical image compression
RU2567988C2 (ru) Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт
CN105850136B (zh) 使用预测信号和变换编译信号预测视频信号的方法和装置
Barthel et al. Three-dimensional fractal video coding
Saberi et al. An efficient data hiding method using the intra prediction modes in HEVC
US20160156933A1 (en) Encoder and decoder, and method of operation
CN1159922C (zh) 编码二进制形状信号的方法
US7424163B1 (en) System and method for lossless image compression
GB2308768A (en) Video encoding based on inter block redundancy
US8781239B2 (en) Selecting transform paths for compressing visual data
JP2004511978A (ja) 動きベクトルの圧縮

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120523