CN107637078A - 视频译码系统和方法中的残差变换和逆向变换 - Google Patents

视频译码系统和方法中的残差变换和逆向变换 Download PDF

Info

Publication number
CN107637078A
CN107637078A CN201580078587.0A CN201580078587A CN107637078A CN 107637078 A CN107637078 A CN 107637078A CN 201580078587 A CN201580078587 A CN 201580078587A CN 107637078 A CN107637078 A CN 107637078A
Authority
CN
China
Prior art keywords
mtd
block size
mrow
block
transform
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.)
Granted
Application number
CN201580078587.0A
Other languages
English (en)
Other versions
CN107637078B (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.)
RealNetworks Asia Pacific Co Ltd
Original Assignee
RealNetworks Asia Pacific 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 RealNetworks Asia Pacific Co Ltd filed Critical RealNetworks Asia Pacific Co Ltd
Publication of CN107637078A publication Critical patent/CN107637078A/zh
Application granted granted Critical
Publication of CN107637078B publication Critical patent/CN107637078B/zh
Expired - Fee Related 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/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/12Selection 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/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/115Selection of the code volume for a coding unit prior to 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/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/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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种变换块处理程序,其中确定未编码视频帧的最大译码块大小和最大变换块大小。将所述未编码的视频帧分成包含第一译码块的多个译码块,并且将所述第一译码块分成至少一个预测块和多个变换块。所述变换块的大小至少部分取决于所述译码块和对应的预测块的大小。然后编码所述变换块,从而生成编码位流的视频数据有效负载。生成编码位流的帧标头,包含最大译码块大小旗标和最大变换块大小旗标。

Description

视频译码系统和方法中的残差变换和逆向变换
技术领域
本公开涉及视频信号的编码和解码,更具体地,涉及用于损坏补偿的自适应滤波器的基于码本的编码和解码。
背景技术
诸如数字图像、语音/音频、图形和视频等数字多媒体的出现大大改善了各种应用,同时开放了全新的应用,因为它能相对容易地实现可靠的存储、通信、传输和搜索及访问内容。总体而言,数字多媒体的应用很多,包括娱乐、信息、医药、安全等广泛的应用,并以多种方式使社会受益。诸如相机和麦克风等传感器捕获的多媒体通常是模拟的,并且脉冲译码调制(PCM)形式的数字化过程使其成为数字。然而,在数字化之后,由于重新创建扬声器和/或电视显示所需的模拟表示的要求,所得到的数据量可能非常多。因此,大量数字多媒体内容的高效传送、存储或传输需要将其从原始PCM形式压缩成压缩表示。因此,已经发明了许多用于多媒体压缩的技术。多年来,视频压缩技术已经变得非常复杂,它们经常可以实现10到100之间的高压缩因子,同时保持高度的心理视觉质量,通常类似于未压缩的数字视频。
虽然迄今为止,视频压缩技术和科学方面取得了巨大的进步(表现为大量标准团体驱动的视频译码标准,诸如MPEG-1、MPEG-2、H.263、MPEG-4第2部分、MPEG-4AVC/H.264、MPEG-4SVC和MVC,以及业界驱动的专有标准,诸如Windows Media Video,RealVideo,On2VP等),越来越多的消费者对更高品质、更高清晰度的渴望和现在的3D(立体声)视频(无论何时何地都能使用),必须通过诸如DVD/BD的各种手段,通过空中广播、有线/卫星、有线和移动网络传送到一系列客户端装置,例如PC/笔记本电脑、电视、机顶盒、游戏机、便携式媒体播放器/装置、智能手机和可穿戴式计算装置,从而更加需要更高级别的视频压缩。在标准团体驱动的标准中,最近由ISO MPEG在高效率视频译码(HVEC)开始的努力证明了这一点,其预计将结合ITU-T标准委员会多年在H.265视频压缩方面的探索性工作得到的新技术贡献和技术。
所有上述标准采用一般的帧间预测译码框架,其涉及通过补偿视频帧之间的运动来减少时间冗余。基本概念是通过使用块匹配方法去除相邻图片之间的时间依赖关系。在编码过程开始时,未编码的视频序列的每一帧被分组成三种类型之一:I型帧,P型帧和B型帧。I型帧被帧内译码。也就是说,仅使用来自帧本身的信息来对图片进行编码,并且不使用帧间运动补偿技术(尽管可以应用帧内运动补偿技术)。
使用帧间运动补偿技术对其它两种类型即P型和B型的帧进行编码。P图片和B图片之间的差异是用于运动补偿的参考图片的时间方向。P型图片利用来自先前图像(按显示顺序)的信息,而B型图片可以利用来自先前和未来图片(按显示顺序)的信息。
对于P型和B型帧,每帧于是被分成由每个像素的亮度和色度分量的系数表示的像素块,并且为每个块获得一个或多个运动向量(因为B型图片可以利用来自未来和过去译码帧的信息,所以可以为每个块编码两个运动向量)。运动向量(MV)表示从当前块的位置到另一个先前编码的帧(其可以按显示顺序的过去或未来帧)中的相似块(分别被称为参考块和参考帧的位置)的空间位移。确定参考块和当前块之间的差异(如果有的话),并且获得残差(也称为“残差信号”)。因此,对于帧间译码帧的每个块,仅需要对残差和运动向量进行编码,而不是对块的完整内容进行编码。通过在视频序列的帧之间去除这种时间冗余,可以压缩视频序列。
为了进一步压缩视频数据,在应用帧间或帧内预测技术之后,经常将残差信号的系数从空间域变换到频域(例如使用离散余弦变换(“DCT”)或离散正弦变换(“DST”))。对于自然发生的图像,例如通常构成人类可感知的视频序列的图像的类型,低频能量总是比高频能量强。因此,频域中的残差信号比空间域中得到更好的能量压缩。在正向变换之后,系数和运动向量可以在包化或以其它方式处理例如用于通过诸如因特网的网络传输之前被量化和熵编码。
在解码器侧,应用逆向量化和逆向变换来恢复空间残差信号。这些是许多视频压缩标准中的典型变换/量化过程。然后可以执行反向预测过程以便生成原始未编码视频序列的重新创建的版本。
在过去的标准中,译码中使用的块通常是16×16像素(在许多视频译码标准中称为宏块)。然而,由于这些标准的发展,帧大小越来越大,并且许多装置已经获得了比“高清晰”(或“HD”)帧大小更高的显示能力,诸如2048×1530像素。因此,可能需要具有更大的块来高效地编码这些帧尺寸(例如,64×64像素)的运动向量。因此,也希望增加从空间域变换到频域的残差信号块的大小。
附图说明
图1示出了根据一个实施例的示例性视频编码/解码系统。
图2示出了根据一个实施例的示例性编码装置的几个组件。
图3示出了根据一个实施例的示例性解码装置的几个组件。
图4示出了根据至少一个实施例的示例性视频编码器的框图。
图5示出了根据至少一个实施例的示例性视频解码器的框图。
图6示出了根据至少一个实施例的变换块处理例程。
图7示出了根据至少一个实施例的变换块大小选择子例程。
图8示出了根据至少一个实施例的正向整数变换子例程。
图9示出了根据至少一个实施例的二次变换子例程。
图10示出了根据至少一个实施例的变换块恢复例程。
图11示出了根据至少一个实施例的逆向整数变换子例程。
具体实施方式
下面的详细描述主要在常规计算机组件的操作的过程和符号表示方面表示,常规计算机组件包含处理器、处理器用的存储器存储装置、连接的显示装置和输入装置。此外,这些过程和操作可以利用异构分布式计算环境中的常规计算机组件,包含远程文件服务器、计算机服务器和存储器存储装置。这些常规分布式计算组件中的每一个可由处理器经由通信网络访问。
短语“在一个实施例中”、“在至少一个实施例中”、“在各种实施例中”、“在一些实施例中”等在本文中可重复使用。这样的短语不一定指代同一个实施例。术语“包括”、“具有”和“包含”是同义的,除非上下文另有规定。在上文总体上描述的典型“混合”视频译码方法的上下文中描述各种实施例,因为它使用图片间/图片内预测和变换译码。
现在详细参照如附图所示的实施例的描述。虽然结合附图和相关描述描述实施例,但是本领域普通技术人员将会理解,在不脱离本公开的范围的情况下,替代和/或等效实施方案可以代替所示和所描述的特定实施例,包含所有替代方案、修改和等效方案,不管是否明确地示出和/或描述。在各种替代实施例中,附加装置或所示装置的组合可以被添加到或组合,而不限制本文公开的实施例的范围。
示例性视频编码/解码系统
图1示出了根据至少一个实施例的示例性视频编码/解码系统100。编码装置200(在图2中示出并在下面描述)和解码装置300(在图3中示出并在下面描述)与网络104进行数据通信。解码装置200可以通过直接数据连接(诸如存储区域网络(“SAN”))、高速串行总线和/或经由其它合适的通信技术或经由网络104与未编码的视频源108进行数据通信(如图1中的虚线所示)。类似地,编码装置300可以通过直接数据连接(诸如存储区域网络(“SAN”))、高速串行总线和/或经由其它合适的通信技术或经由网络104与任选的编码的视频源112进行数据通信(如图1中的虚线所示)。在一些实施例中,编码装置200、解码装置300、编码视频源112和/或未编码视频源108可以包括一个或多个复制和/或分配的物理或逻辑装置。在许多实施例中,可以存在比所示出的更多的编码装置200、解码装置300、未编码视频源108和/或编码视频源112。
在各种实施例中,编码装置200可以是通常能够通过网络104接受例如来自解码装置300的请求并相应地提供响应的联网计算装置。在各种实施例中,解码装置300可以是具有诸如手表等形状参数的联网计算装置:手表、平视显示器或其它可穿戴计算装置;专用媒体播放器;计算平板电脑;机动车辆音响主机;音频-视频点播(AVOD)系统;专用媒体控制台;游戏装置;“机顶盒”;数字录像机;电视;或通用计算机。在各种实施例中,网络104可以包含因特网、一个或多个局域网(“LANs”)、一个或多个广域网(“WANs”)、蜂窝数据网络和/或其它数据网络。网络104可以在各个点处是有线和/或无线网络。
示例性编码装置
参考图2,示出了示例性编码装置200的几个组件。在一些实施例中,编码装置可以包含比图2所示更多很多的组件。然而,为了公开说明性的实施例,不一定示出所有这些一般常规的组件。如图2所示,示例性编码装置200包含用于连接到诸如网络104的网络的网络接口204。示例性编码装置200还包含处理单元208、存储器212、任选的用户输入214(例如字母数字键盘、小键盘、鼠标或其它指示装置、触摸屏和/或麦克风)和任选的显示器216,全部通过总线220与网络接口204一起互连。存储器212通常包括RAM、ROM和诸如盘驱动器、闪存等的永久大容量存储装置。
示例性编码装置200的存储器212存储操作系统224以及用于多个软件服务的程序代码,诸如软件实施的帧间视频编码器400(下面参照图4描述),其具有用于执行变换块处理例程600的指令(下面参考图6描述)。存储器212还可以存储视频数据文件(未示出),其可以表示音频/视频媒体作品(例如电影和/或电视剧集)的未编码副本。可以使用与诸如软盘、磁带、DVD/CD-ROM驱动器、USB驱动器、存储卡等非暂时计算机可读媒体232相关联的驱动机构(未示出)将这些和其它软件组件加载到编码装置200的存储器212中。
在操作中,操作系统224管理编码装置200的硬件和其它软件资源,并且为诸如软件实施的帧间视频编码器400的软件应用提供常用服务。对于诸如经由网络接口204的网络通信、经由输入214接收数据、经由任选显示器216输出数据以及为诸如软件实施的帧间视频编码器400的各种软件应用的存储器212的分配的硬件功能,操作系统224充当在编码装置上执行的软件和硬件之间的中介。
在一些实施例中,编码装置200还可以包括用于与诸如高速串行总线等未编码视频源108通信的专用未编码视频接口236。在一些实施例中,编码装置200可以经由网络接口204与未编码视频源108通信。在其它实施例中,未编码视频源108可驻存在存储器212或计算机可读媒体232中。
虽然已经描述了总体上符合常规通用计算装置的示例性编码装置200,但是编码装置200可以是能够执行用于根据各种实施例编码视频的指令(例如示例性软件实施的视频编码器400、变换块处理例程600)的大量装置中的任何一种,例如视频记录装置、视频协处理器和/或加速器、个人计算机、游戏机、机顶盒、手持式或可穿戴计算装置、智能手机或任何其它合适的装置。
作为示例,编码装置200可以进一步在点播媒体服务(未示出)中操作。在至少一个示例性实施例中,点播媒体服务可以进一步是在线点播媒体商店中的操作的编码装置200,其在每个作品和/或每项订阅的基础上向用户提供诸如视频内容的媒体作品的数字副本。点播媒体服务可以从未编码的视频源108获得这种媒体作品的数字副本。
示例性解码装置
参考图3,示出了示例性解码装置300的几个组件。在一些实施例中,解码装置可以包含比图3所示更多很多的组件。然而,为了公开说明性的实施例,不一定示出所有这些一般常规的组件。如图3所示,示例性解码装置300包含用于连接到诸如网络104的网络的网络接口304。示例性解码装置300还包含处理单元308、存储器312、任选的用户输入314(例如,字母数字键盘、小键盘、鼠标或其它指示装置、触摸屏和/或麦克风)、任选的显示器316和任选的扬声器318,全部通过总线320与网络接口304一起互连。存储器312通常包括RAM、ROM和诸如盘驱动器、闪存等的永久大容量存储装置。
示例性解码装置300的存储器312可以存储操作系统324以及用于多个软件服务的程序代码,诸如软件实施的视频解码器500(下面参照图5描述),其具有用于执行变换块恢复例程1000的指令(下面参考图10描述)。存储器312还可以存储视频数据文件(未示出),其可以表示音频/视频媒体作品(例如电影和/或电视剧集)的未编码副本。可以使用与诸如软盘、磁带、DVD/CD-ROM驱动器、存储卡等非暂时计算机可读媒体332相关联的驱动机构(未示出)将这些和其它软件组件加载到解码装置300的存储器312中。
在操作中,操作系统324管理解码装置300的硬件和其它软件资源,并且为诸如软件实施的视频解码器500的软件应用提供常用服务。对于诸如经由网络接口304的网络通信、经由输入314接收数据、经由任选显示器316和/或任选扬声器318输出数据以及存储器312的分配的硬件功能,操作系统324充当在编码装置上执行的软件和硬件之间的中介。
在一些实施例中,解码装置300还可以包括任选的编码视频接口336,例如,用于与诸如高速串行总线等的编码视频源116进行通信。在一些实施例中,解码装置300可以经由网络接口304与编码视频源(例如编码视频源116)进行通信。在其它实施例中,未编码视频源116可驻存在存储器312或计算机可读媒体332中。
虽然已经描述了总体上符合常规通用计算装置的示例性解码装置300,但是解码装置300可以是能够执行用于根据各种实施例解码视频的指令(例如示例性软件实施的视频解码器500、变换块恢复例程1000)的大量装置中的任何一种,例如视频记录装置、视频协处理器和/或加速器、个人计算机、游戏机、机顶盒、手持式或可穿戴计算装置、智能手机或任何其它合适的装置。
例如,解码装置300可以与点播媒体服务协同操作。在至少一个示例性实施例中,点播媒体服务可以在每个作品和/或每项订阅的基础上向用户操作解码装置300提供诸如视频内容的媒体作品的数字副本。解码装置可以经由网络104经由例如编码装置200从未编码的视频源108获得这种媒体作品的数字副本。
软件实施的帧间视频编码器
图4示出了根据至少一个实施例的采用残差变换技术的软件实施的帧间视频编码器400(以下称为“编码器400”)的总体功能框图。按显示顺序的视频序列的一个或多个未编码视频帧(vidfrms)可以被提供给定序器404。
定序器404可以将预测译码图片类型(例如,I、P或B)指派给每个未编码的视频帧,并且将帧序列或来自帧序列的帧组重新排序成用于运动预测目的的译码顺序(例如,I型帧后跟P型帧、I型帧后跟B型帧)。然后可以将有序的未编码视频帧(seqfrms)按译码顺序输入到块索引器408。
对于每个有序的未编码视频帧(seqfrms),块索引器408可以确定当前帧的最大译码块(“LCB”)大小(例如,64×64像素),并将未编码帧划分成译码块阵列(blks)。给定帧内的各个译码块的大小可能不同,例如,从四乘四像素到当前帧的LCB大小。
然后,每个译码块可以一次一个地输入到差分器412,并且可以与从先前编码的译码块生成的对应的预测信号块(pred)进行差分运算。为了生成预测块(pred),还将译码块(cblks)也提供给运动估计器416。在差分器412处的差分运算之后,变换器420(如下所述)可以将得到的残差块(res)正向变换为频域表示,从而得到变换系数块(tcof)。然后可以将变换系数块(tcof)发送到量化器424,得到量化系数块(qcf),然后可以将量化系数块发送到熵译码器428和本地解码环路430。
在本地解码环路430的开始,逆向量化器432可以对变换系数块(tcof’)进行去量化,并将其传递给逆向变换器436以生成去量化的残差块(res')。在加法器440,可以将来自运动补偿预测器442的预测块(pred)添加到去量化残差块(res')以生成本地解码块(rec)。然后可以将本地解码块(rec)发送到帧汇编器和去块滤波处理器444,其减少块块并且汇编恢复的帧(recd),其可以用作运动估计器416和运动补偿预测器442的参考帧。
熵译码器428对量化的变换系数(qcf)、差分运动向量(dmv)和其它数据进行编码,从而生成编码视频位流448。对于未编码视频序列的每一帧,编码视频位流448可以包含编码的图片数据(例如编码的量化变换系数(qcf)和差分运动向量(dmv))和编码帧头(例如语法信息,例如当前帧的LCB大小)。
正向整数变换程序
参照变换器420的功能,变换器接收每个译码块的亮度和色度值的残差值块,并将残差值块划分成一个或多个亮度和色度变换块。
在至少一个实施例中,译码块被划分为根据当前译码块大小以及用于译码块的运动估计的预测块的大小来确定大小的变换块。例如,可以根据下表1所示的组合来指派变换块大小。变换器420还可以在当前帧的图片标头中设置最大变换块大小旗标。
表1
在将译码块划分为变换块之后,例如经由正向DCT变换操作,将变换块中的残差值从空间域转换为频域。在至少一个实施例中,为了提高译码效率,获得变换块的残差值的整数等效块,并且可以执行正向整数DCT变换操作。为了进一步提高译码效率,在视频译码过程中使用单指令多数据(SIMD)指令架构可能是有利的。然而,SIMD指令架构的最常见实施方案需要十六位的位宽。因此,在至少一个实施例中,可以在一些正向变换操作之后对残差值执行位移操作(并且在解码器侧,对于一些逆向变换操作之后的变换系数),以确保残差值和变换系数可以由十六位整数表示。
在至少一个实施例中,对于4×4变换块,变换器420可以根据以下等式执行正向整数DCT变换操作:
其中:是当前变换块的输入残差值向量,是变换操作的输出向量,并且T4x4是4×4正向整数变换矩阵,由下式给出:
在至少一个实施例中,在8×8变换块的情况下,变换器420可以根据以下等式执行正向整数DCT变换操作:
其中:是当前变换块的输入残差值向量,是变换操作的输出向量,并且T8x8是8×8正向整数变换矩阵,由下式给出:
在8×8正向整数DCT变换操作之后,为了保证十六位操作,变换器420可以将变换系数的值向右位移两位。
在至少一个实施例中,在16×16变换块的情况下,变换器420可以根据以下等式执行正向整数DCT变换操作:
其中:是当前变换块的输入残差值向量,是变换操作的输出向量,并且T16x16是16×16正向整数变换矩阵,由下式给出:
其中t0,t1,t2...t14,t15在下表2中定义。
在16×16正向整数DCT变换操作之后,为了保证十六位操作,变换器420可以将变换系数的值向右位移两位。
根据每个译码块的变换块的数量,可以通过对每个变换块的DC系数执行附加变换操作来进一步提高译码效率。DC系数被收集到DC整数变换块中,并且例如根据上述的正向整数DCT变换操作之一再次变换。这个过程称为二次变换。
软件实施的帧间解码器
图5示出了根据至少一个实施例的并且适用于诸如解码装置300之类的解码装置的相应的软件实施的帧间视频解码器500(以下称为“解码器500”)逆残差变换技术的总体功能框图。解码器500可以在编码器400处与本地解码环路455类似地工作。
具体地,可以将待解码的编码视频位流504提供给熵解码器508,熵解码器508可以解码量化系数(qcf)、差分运动向量(dmv)、伴随消息数据包(msg数据)以及其它数据的块。量化系数块(qcf)然后可以由逆向量化器512逆向量化,从而得到去量化系数(tcof')。去量化系数(tcof')然后可以由逆向变换器516(如下所述)从频域中逆向变换,从而得到解码的残差块(res')。加法器520可以将通过使用相应的运动向量(mv)获得的运动补偿预测块(pred)相加。所得到的解码视频(dv)可以在帧汇编器和去块滤波处理器524中被去块滤波。在帧汇编器和去块滤波处理器528的输出处的块(recd)形成视频序列的重建帧,其可以从解码器500输出,并且还可以用作用于解码后续译码块的运动补偿预测器530的参考帧。
逆向整数变换程序
参照逆向变换器516的功能,逆向变换器从逆向量化器512获得去量化的十六位整数变换系数块。逆向变换器516对从逆向量化器512获得的变换系数执行逆向整数DCT变换操作,以便反转如上所述的由变换器420执行的正向整数DCT变换操作,并且恢复残差值。
如果当前译码块的变换系数已被二次变换,则逆向变换器执行逆二次变换程序,如下所述。在DC变换系数被逆向变换并插回其对应的变换块之后,逆向变换器进行逆向整数DCT变换操作。
例如,在至少一个实施例中,对于与4×4变换块对应的16位整数变换系数的块,逆向变换器516可以根据以下等式执行逆向整数DCT变换操作:
其中:是量化变换系数向量,是恢复的残差值向量,并且是4×4的逆向整数变换矩阵,由下式给出:
在4×4逆向整数DCT变换操作之后,为了保证十六位操作,逆向变换器可以将所得残差值的值向右位移五位。
在至少一个实施例中,对于与8×8变换块对应的16位整数变换系数的块,逆向变换器516可以根据以下等式执行逆向整数DCT变换操作:
其中:是量化变换系数向量,是恢复的残差值向量,并且是8×8的逆向整数变换矩阵,例如上述8×8正向整数变换矩阵T8x8的反转形式。
在8×8逆向整数DCT变换操作之后,为了保证十六位操作,逆向变换器可以将所得残差值的值向右位移七个位。
在至少一个实施例中,对于与16×16变换块对应的16位整数变换系数的块,逆向变换器516可以根据以下等式执行逆向整数DCT变换操作:
其中:是量化变换系数向量,是恢复的残差值向量并且是16×16的逆向整数变换矩阵,例如上述16×16正向整数变换矩阵T16x16的反转形式。
在16×16逆向整数DCT变换操作之后,为了保证十六位操作,逆向变换器可以将所得残差值的值向右位移七个位。
变换块处理例程
图6示出了适用于诸如编码器400的至少一个实施例的变换块处理例程600。本领域普通技术人员将认识到,编码过程中并非所有事件都在图6中示出。相反,为了清楚起见,仅示出了与描述所示实施例合理相关的那些步骤。
在执行框604,变换块处理例程600获得正被编码的当前帧的整数残差值的译码块。变换块处理例程600然后将当前译码块的大小和在运动估计中使用的对应预测块的大小提供给变换块大小选择子例程700(下面参考图7描述),变换块大小选择子例程700返回对于当前译码块大小和预测块大小的当前组合的适当的色度和亮度变换块大小。
在执行框608,变换块处理例程600然后根据以上由变换块大小选择子例程700返回的色度和亮度变换块大小,将当前译码块分离成一个或多个16位整数残差值变换块。
在开始环路框612处,依次处理当前译码块的每个变换块。
在决策框616处,如果当前变换块的每个残差值都具有零值,则在执行框620处,变换块处理例程600在当前变换块的变换块标头中设置对应的变换块模式旗标。
否则,在决策框616处,如果当前变换块的残差值中的一个或多个具有非零值,则变换块处理例程600调用正向整数变换子例程800(下面参照图8描述),其返回十六位整数变换系数的相应块。
在结束环路框624处,变换块处理例程600迭代回到开始环路框612以处理当前译码块的下一个变换块(如果有的话)。
在决策框628处,如果当前译码块的变换块可以被二次变换,例如,在当前译码块中存在十六或六十四个变换块,则变换块处理例程600可以调用对当前译码块的变换块的DC整数变换系数执行附加变换操作的二次变换子例程900(下面参照图9描述),并返回十六位整数变换系数的对应的二次变换块。
在二次变换子例程900返回16位整数变换系数的二次变换块之后,或者再次参照决策框628,如果当前译码块不适合于二次变换,则变换块处理例程600对于当前译码块在终止框699处结束。
变换块大小选择子例程
图7示出了适用于至少一个实施例(例如变换块处理例程600)的变换块大小选择子例程700。
在执行框704处,变换块大小确定子例程700获得用于当前译码块的运动估计过程的译码块大小和预测块大小。
在决策框712处,如果当前译码块的译码块大小为8×8像素,则变换块大小确定子例程700进行到决策框716。
在决策框716处,如果当前译码块的预测块大小为8×8像素,则在执行框720处,变换块大小确定子例程700将当前译码块的亮度变换块大小设置为8×8亮度变换系数,并且在执行框724处,变换块大小确定子例程将当前译码块的色度变换块大小设置为4×4色度变换系数。然后,变换块大小确定子例程在返回框799处返回当前译码块的亮度变换块大小和色度变换块大小。
再次参照决策框716,如果当前译码块的预测块大小不是8×8像素,则在执行框728处,变换块大小确定子例程700将当前译码块的亮度变换块大小设置成4×4亮度变换系数。变换块大小确定子例程700然后进行到执行框724。如上所述,在执行框724处,变换块大小确定子例程将当前译码块的色度变换块大小设置为4×4色度变换系数。然后,变换块大小确定子例程在返回框799处返回当前译码块的亮度变换块大小和色度变换块大小。
再次参照决策框712,如果当前译码块的译码块大小不是8×8像素,则变换块大小确定子例程700进行到决策框736。
在决策框736处,如果当前译码块的译码块大小为16×16像素,则变换块大小确定子例程700进行到决策框740。
在决策框740处,如果当前译码块的预测块大小为16×16像素,则在执行框744处,变换块大小确定子例程700将当前译码块的亮度变换块大小设置为16×16亮度变换系数,并且在执行框748处,然后变换块大小确定子例程将当前译码块的色度变换块大小设置为8×8色度变换系数。然后,变换块大小确定子例程在返回框799处返回当前译码块的亮度变换块大小和色度变换块大小。
再次参照决策框740,如果当前译码块的预测块大小不是16×16像素,则变换块大小确定子例程700进行到执行框728。如上所述,在执行框728处,变换块大小确定子例程700将当前译码块的亮度变换块大小设置为4×4亮度变换系数。变换块大小确定子例程700然后进行到执行框724。如上所述,在执行框724处,变换块大小确定子例程将当前译码块的色度变换块大小设置为4×4色度变换系数。然后,变换块大小确定子例程在返回框799处返回当前译码块的亮度变换块大小和色度变换块大小。
再次参照决策框736,如果当前译码块的译码块大小不是16×16像素,则变换块大小确定子例程700进行到执行框744。如上所述,在执行框744处,变换块大小确定子例程700将当前译码块的亮度变换块大小设置为16×16亮度变换系数,并且在执行框748处,变换块大小确定子例程然后将当前译码块的色度变换块大小设置为8×8色度变换系数。然后,变换块大小确定子例程在返回框799处返回当前译码块的亮度变换块大小和色度变换块大小。
正向整数变换子例程
图8示出了适用于至少一个实施例(例如下面参考图9描述的变换块处理例程600或二次变换子例程900)的正向整数变换子例程800。
在执行框804处,正向整数变换子例程例如从变换块处理例程600获得变换块。
在决策框808处,如果当前变换块是整数变换系数的4×4块,则在执行框812处,正向整数变换子例程800执行4×4正向变换,例如上述的4×4正向整数变换操作。正向整数变换子例程800然后在返回框899处返回经由4×4整数变换获得的变换系数。
再次参照决策框808,如果当前变换块不是整数变换系数的4×4块,例如整数变换系数的8×8、16×16、32×32或64×64块,则正向整数变换子例程800进行到决策框816。
在决策框816处,如果当前变换块是整数变换系数的8×8块,则在执行框820处,正向整数变换子例程800执行8×8正向变换,例如上述的8×8正向整数变换操作。在执行框824处,正向整数变换子例程800对在执行框820处经由8×8整数变换得到的变换系数进行操作,将变换系数向右位移两次,以确保变换系数可以由不超过十六位表示。正向整数变换子例程800在返回框899处返回位移变换系数。
再次参照决策框816,如果当前变换块不是整数变换系数的8×8块(例如,如果它是整数变换系数的16×16、32×32或64×64块),则正向整数变换子例程800进行到决策框826。
在决策框826处,如果当前变换块是整数变换系数的16×16块,则在执行框828处,正向整数变换子例程800执行16×16正向变换,例如上述的16×16正向整数变换操作。正向整数变换子例程800然后进行到执行框824。如上所述,在执行框824处,正向整数变换子例程800对在执行框820处经由8×8整数变换得到的变换系数进行操作,将变换系数向右位移两次,以确保变换系数可以由不超过十六位表示。正向整数变换子例程800在返回框899处返回位移变换系数。
再次参照决策框826,如果当前变换块大于整数变换系数的16×16块,例如整数变换系数的32×32或64×64块,则在执行框832处,正向整数变换子例程800执行大变换程序。正向整数变换子例程800在返回框899处返回大整数变换程序的结果。
二次变换子例程
图9示出了适用于至少一个实施例(例如变换块处理例程600)的二次变换子例程900。
在执行框904处,二次变换子例程900获得当前译码块的中间整数变换系数的变换块。
在执行框908处,二次变换子例程900从中间整数变换系数的每个块中提取中间DC系数。
在执行框912处,二次变换子例程900生成中间DC系数的变换块。
二次变换子例程900然后将中间DC系数传递给正向变换子例程800,其返回16位整数变换系数的(现在是二次变换的)块。
二次变换子例程900在返回框999处返回二次变换的变换块。
变换块恢复例程
图10示出了适用于诸如解码器500的至少一个实施例的变换块恢复例程1000。本领域普通技术人员将认识到,解码过程中并非所有事件都在图10中示出。相反,为了清楚起见,仅示出了与描述变换块恢复例程1000合理相关的那些步骤。
在执行框1004处,变换块恢复例程1000例如从逆向量化器512获得去量化的变换系数块。
在执行框1005处,变换块恢复例程1000确定当前译码块的大小。
在执行框1006处,变换块恢复例程1000确定用于当前译码块的运动预测的预测块的大小。
在执行框1007处,变换块恢复例程1000查找当前译码块大小和用于当前译码块的运动预测的预测块的大小的对应组合的预测块的大小。
在执行框1008处,变换块恢复例程1000然后根据上面在执行框1007处获得的变换块大小,将去量化的变换系数汇编成一个或多个十六位整数变换系数的变换块。
在决策框1028处,如果当前译码块的变换块尚未被二次变换,则变换块恢复例程1000进行到下面描述的开始环路框1032。如果当前译码块的变换块已被二次变换(例如,如果它们包含十六位整数DC变换系数的二次变换块),则变换块恢复例程1000调用逆向整数变换子例程1100(下面参考图11描述),其对当前译码块的变换块的十六位整数变换系数的二次变换块执行初始逆向变换操作,并返回相应的中间十六位整数DC变换系数的块。
在执行框1030处,变换块恢复程序1000将适当的十六位整数DC变换系数插入相应的十六位整数变换系数块中,并进入如下所述的开始环路框1032。
从开始环路框1032开始,变换块恢复例程1000依次处理十六位整数变换系数的每个变换块。
在决策框1036处,如果在变换块标头中设置了相应变换块的变换块模式旗标,则在结束环路框1040处,变换块恢复例程1000迭代回到开始环路框1032,以处理当前译码块的十六位整数变换系数的下一个块(如果有的话)。
如果在决策框1036处没有在变换块标头中设置相应的变换块的变换块模式旗标,则变换块恢复例程1000调用逆向变换子例程1100(下面参照图11描述),其返回恢复残差值的块。
在结束环路框1040处,变换块恢复例程1000迭代回到开始环路框1032以处理当前译码块的下一个变换块(如果有的话)。
变换块恢复例程1000在终止框1099处结束。
逆向整数变换子例程
图11示出了适用于至少一个实施例(例如变换块恢复例程1000)的逆向整数变换子例程1100。
在执行框1104处,逆向整数变换子例程1100例如从变换块恢复例程1000获得变换块。
在决策框1108处,如果变换块是4×4变换块,则在执行框1110处,逆向整数变换子例程1100执行4×4逆向整数变换,例如上述的4×4逆向整数变换。在执行框1112处,逆向整数变换子例程1100将所得到的整数变换系数向右位移五个位。逆向整数变换子例程1100在返回框1199处返回位移整数变换系数。
再次参照决策框1108,如果变换块不是4×4变换块,则逆向整数变换子例程1100进行到决策框1116。
在决策框1116处,如果变换块是8×8变换块,则在执行框1118处,逆向整数变换子例程1100执行8×8逆向整数变换,例如上述的8×8逆向整数变换。在执行框1120处,逆向整数变换子例程1100将所得到的整数变换系数向右位移七个位。逆向整数变换子例程1100在返回框1199处返回位移整数变换系数。
再次参照决策框1116,如果变换块不是8×8变换块,则逆向整数变换子例程1100进行到决策框1126。
在决策框1126处,如果变换块是16×16变换块,则在执行框1127处,逆向整数变换子例程1100执行16×16逆向整数变换,例如上述的16×16逆向整数变换。在执行框1128处,逆向整数变换子例程1100将所得到的整数变换系数向右位移七个位。逆向整数变换子例程1100在返回框1199处返回位移整数变换系数。
再次参照决策框1126,如果变换块大于16×16变换块,例如32×32或64×64变换块,则在执行框1132处,逆向整数变换子例程1100执行大的逆向变换程序。在返回框1199处,逆向整数变换子例程1100返回大整数变换程序的结果。
尽管这里已经示出和描述了具体实施例,但是本领域普通技术人员将会理解,在不脱离本公开的范围的情况下,可以用替代和/或等效实施方案取代所示和所描述的具体实施例。本申请旨在涵盖本文论述的实施例的任何修改或变化。

Claims (18)

1.一种视频编码器装置实施的编码未编码视频帧以生成表示所述未编码视频帧的编码位流的方法,所述编码位流至少包含帧标头和视频数据有效负载,所述视频编码器装置实施的方法包括:
确定所述未编码视频帧的最大译码块大小,所述最大译码块大小由最大水平译码块尺寸和最大垂直译码块尺寸定义;
确定所述未编码视频帧的最大变换块大小,所述最大变换块大小由最大水平预测块尺寸和最大垂直预测块尺寸定义;
编码所述未编码视频帧,从而生成所述编码位流的所述视频数据有效负载;
生成所述编码位流的所述帧标头,所述帧标头包含最大译码块大小旗标和最大变换块大小旗标;并且
其中,将所述最大译码块大小旗标设置为零,除非所述最大水平译码块尺寸和所述最大垂直译码块尺寸都等于六十四个像素,并且将所述最大变换块大小旗标设置为零,除非所述最大水平预测块尺寸和所述最大垂直预测块尺寸都大于十六个像素。
2.如权利要求1所述的视频编码器装置实施的方法,还包括,在编码所述未编码视频帧之前:
将所述未编码视频帧划分为包含第一译码块的多个译码块,所述第一译码块具有小于或等于所述最大水平译码块尺寸的水平译码块尺寸和小于或等于所述最大垂直译码块尺寸的垂直译码块尺寸;
将所述第一译码块分成至少一个预测块,所述至少一个预测块中的每一个具有水平预测块尺寸和垂直预测块尺寸;
将所述第一译码块分成包含第一变换块的多个变换块,所述第一变换块具有小于或等于所述最大水平预测块尺寸的水平变换块尺寸和小于或等于所述最大垂直预测块尺寸的垂直变换块尺寸;并且
其中所述水平变换块尺寸和所述垂直变换块尺寸至少部分地取决于所述水平译码块尺寸、所述垂直译码块尺寸、所述水平预测块尺寸和所述垂直预测块尺寸。
3.如权利要求2所述的视频编码器装置实施的方法,所述多个变换块中的每一个包含一组变换系数,并且所述视频编码器装置实施的方法还包括对于所述多个变换块中的每一个,在变换块标头中设置相应的变换块模式旗标,其中,如果所述组变换系数包含至少一个具有非零值的变换系数,则对所述相应的变换块模式旗标给定第一旗标值,否则对所述相应的变换块模式旗标给定第二旗标值。
4.如权利要求3所述的视频编码器装置实施的方法,其中在所述变换块标头中按光栅扫描顺序列出所述多个变换块的每个变换块的所述相应变换块模式旗标。
5.如权利要求2所述的视频编码器装置实施的方法,还包括在所述未编码视频帧的编码期间,确定所述水平变换块尺寸和所述垂直变换块尺寸每个等于四个像素,并且因此:
经由第一变换从所述第一变换块获得第一组变换系数;
经由将所述第一组变换系数中的每一个向右位移五个位,从所述第一组变换系数获得第二组变换系数;以及
经由第二变换从所述第二组变换系数获得第三组变换系数。
6.如权利要求2所述的视频编码器装置实施的方法,还包括在所述未编码视频帧的编码期间,确定所述水平变换块尺寸和所述垂直变换块尺寸每个等于八个像素,并且因此:
经由第一变换从所述第一变换块获得第一组变换系数;
经由将所述第一组变换系数中的每一个变换系数向右位移两个位,从所述第一组变换系数获得第二组变换系数;
经由第二变换从所述第二组变换系数获得第三组变换系数;以及
经由将所述第三组变换系数中的每一个向右位移两个位,从所述第三组变换系数获得第四组变换系数。
7.如权利要求6所述的视频编码器装置实施的方法,其中所述第一变换和所述第二变换由等式y=T_8x8*x表示,并且T_8x8由以下表示:
<mrow> <mi>T</mi> <mo>_</mo> <mn>8</mn> <mi>x</mi> <mn>8</mn> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mn>37</mn> </mtd> <mtd> <mn>37</mn> </mtd> <mtd> <mn>37</mn> </mtd> <mtd> <mn>37</mn> </mtd> <mtd> <mn>37</mn> </mtd> <mtd> <mn>37</mn> </mtd> <mtd> <mn>37</mn> </mtd> <mtd> <mn>37</mn> </mtd> </mtr> <mtr> <mtd> <mn>51</mn> </mtd> <mtd> <mn>43</mn> </mtd> <mtd> <mn>29</mn> </mtd> <mtd> <mn>10</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>10</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>29</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>43</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>51</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>48</mn> </mtd> <mtd> <mn>20</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>20</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>48</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>48</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>20</mn> </mrow> </mtd> <mtd> <mn>20</mn> </mtd> <mtd> <mn>48</mn> </mtd> </mtr> <mtr> <mtd> <mn>43</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>10</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>50</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>29</mn> </mrow> </mtd> <mtd> <mn>29</mn> </mtd> <mtd> <mn>51</mn> </mtd> <mtd> <mn>10</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>43</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>37</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>37</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>37</mn> </mrow> </mtd> <mtd> <mn>37</mn> </mtd> <mtd> <mn>37</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>37</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>37</mn> </mrow> </mtd> <mtd> <mn>37</mn> </mtd> </mtr> <mtr> <mtd> <mn>29</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>51</mn> </mrow> </mtd> <mtd> <mn>10</mn> </mtd> <mtd> <mn>43</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>43</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>10</mn> </mrow> </mtd> <mtd> <mn>51</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>29</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>20</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>48</mn> </mrow> </mtd> <mtd> <mn>48</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>20</mn> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>20</mn> </mrow> </mtd> <mtd> <mn>48</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>48</mn> </mrow> </mtd> <mtd> <mn>20</mn> </mtd> </mtr> <mtr> <mtd> <mn>10</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>29</mn> </mrow> </mtd> <mtd> <mn>43</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>51</mn> </mrow> </mtd> <mtd> <mn>51</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>43</mn> </mrow> </mtd> <mtd> <mn>29</mn> </mtd> <mtd> <mrow> <mo>-</mo> <mn>10</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> </mrow>
8.如权利要求2所述的视频编码器装置实施的方法,还包括在所述未编码视频帧的编码期间,确定所述水平变换块尺寸和所述垂直变换块尺寸每个等于十六个像素,并且因此:
经由第一变换从所述第一变换块获得第一组变换系数;
经由将所述第一组变换系数中的每一个向右位移两个位,从所述第一组变换系数获得第二组变换系数;
经由第二变换从所述第二组变换系数获得第三组变换系数;以及
经由将所述第三组变换系数中的每一个向右位移两个位,从所述第三组变换系数获得第四组变换系数。
9.如权利要求8所述的视频编码器装置实施的方法,其中所述第一和所述第二变换由等式y=T_16x16*x表示,并且T_16x16是具有系数t0...t15的矩阵:
其中t0...t15定义为:
10.如权利要求2所述的视频编码器装置实施的方法,所述第一变换块包含一组变换系数,每个变换系数与所述未编码视频帧的像素的亮度特性相关,并且其中当所述水平译码块尺寸、所述垂直译码块尺寸、所述水平预测块尺寸和所述垂直预测块尺寸每个等于八个像素时,则所述视频编码器装置实施的方法还包括将所述水平变换块尺寸和所述垂直变换块尺寸设置成每个等于八个像素。
11.如权利要求2所述的视频编码器装置实施的方法,所述第一变换块包含一组变换系数,每个变换系数与所述未编码视频帧的像素的亮度特性相关,并且其中当所述水平译码块尺寸和所述垂直译码块尺寸每个等于八个像素,并且所述水平预测块尺寸和所述垂直预测块尺寸不是每个等于八个像素时,则所述视频编码器装置实施的方法还包括将所述水平变换块尺寸和所述垂直变换块尺寸设置成每个等于四个像素。
12.如权利要求2所述的视频编码器装置实施的方法,所述第一变换块包含一组变换系数,每个变换系数与所述未编码视频帧的像素的亮度特性相关,并且其中,如果所述水平译码块尺寸、所述垂直译码块尺寸、所述水平预测块尺寸和所述垂直预测块尺寸每个等于十六个像素,则所述视频编码器装置实施的方法还包括将所述水平变换块尺寸和所述垂直变换块尺寸设置成每个等于十六个像素。
13.如权利要求2所述的视频编码器装置实施的方法,所述第一变换块包含一组变换系数,每个变换系数与所述未编码视频帧的像素的亮度特性相关,并且其中当所述水平译码块尺寸和所述垂直译码块尺寸每个等于十六个像素,并且所述水平预测块尺寸和所述垂直预测块尺寸不是每个等于十六个像素时,则所述视频编码器装置实施的方法还包括将所述水平变换块尺寸和所述垂直变换块尺寸设置成每个等于四个像素。
14.如权利要求2所述的视频编码器装置实施的方法,所述第一变换块包含一组变换系数,每个变换系数与所述未编码视频帧的像素的亮度特性相关,并且其中当所述水平译码块尺寸和所述垂直译码块尺寸每个大于三十一个像素时,则所述视频编码器装置实施的方法还包括将所述水平变换块尺寸和所述垂直变换块尺寸设置成每个等于十六个像素。
15.如权利要求2所述的视频编码器装置实施的方法,所述第一变换块包含一组变换系数,每个变换系数与所述未编码视频帧的像素的色度特性相关,并且其中,当所述水平译码块尺寸和所述垂直译码块尺寸每个等于八个像素时,则所述视频编码器装置实施的方法还包括将所述水平变换块尺寸和所述垂直变换块尺寸设置成每个等于四个像素。
16.如权利要求2所述的视频编码器装置实施的方法,所述第一变换块包含一组变换系数,每个变换系数与所述未编码视频帧的像素的色度特性相关,并且其中,当所述水平译码块尺寸、所述垂直译码块尺寸、所述水平预测块尺寸和所述垂直预测块尺寸每个等于十六个像素时,则所述视频编码器装置实施的方法还包括将所述水平变换块尺寸和所述垂直变换块尺寸设置成每个等于八个像素。
17.如权利要求2所述的视频编码器装置实施的方法,所述第一变换块包含一组变换系数,每个变换系数与所述未编码视频帧的像素的色度特性相关,并且其中,当所述水平译码块尺寸和所述垂直译码块尺寸每个等于十六个像素,所述水平预测块尺寸和所述垂直预测块尺寸不是每个等于十六个像素时,则所述视频编码器装置实施的方法还包括将所述水平变换块尺寸和所述垂直变换块尺寸设置成每个等于四个像素。
18.如权利要求2所述的视频编码器装置实施的方法,所述第一变换块包含一组变换系数,每个变换系数与所述未编码视频帧的像素的色度特性相关,并且其中当所述水平译码块尺寸和所述垂直译码块尺寸每个大于31个像素时,则所述视频编码器装置实施的方法还包括将所述水平变换块尺寸和所述垂直变换块尺寸设置成每个等于八个像素。
CN201580078587.0A 2015-03-31 2015-03-31 整数变换系数的视频译码系统和方法 Expired - Fee Related CN107637078B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/075597 WO2016154928A1 (en) 2015-03-31 2015-03-31 Residual transformation and inverse transformation in video coding systems and methods

Publications (2)

Publication Number Publication Date
CN107637078A true CN107637078A (zh) 2018-01-26
CN107637078B CN107637078B (zh) 2020-05-26

Family

ID=57006504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580078587.0A Expired - Fee Related CN107637078B (zh) 2015-03-31 2015-03-31 整数变换系数的视频译码系统和方法

Country Status (6)

Country Link
US (2) US10218974B2 (zh)
EP (1) EP3289762A4 (zh)
JP (1) JP6704932B2 (zh)
KR (1) KR20180019510A (zh)
CN (1) CN107637078B (zh)
WO (1) WO2016154928A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3289762A4 (en) * 2015-03-31 2018-12-19 RealNetworks, Inc. Residual transformation and inverse transformation in video coding systems and methods
JP2018530259A (ja) 2015-09-30 2018-10-11 リアルネットワークス・インコーポレイテッド ビデオ処理システムにおける層状非ブロック化フィルタリングおよび方法
EP3586508A4 (en) * 2017-02-23 2020-08-12 RealNetworks, Inc. RESIDUAL TRANSFORMATION AND INVERSE TRANSFORMATION IN VIDEO ENCODING SYSTEMS AND METHODS
WO2018152749A1 (en) * 2017-02-23 2018-08-30 Realnetworks, Inc. Coding block bitstream structure and syntax in video coding systems and methods
JP2021502771A (ja) 2018-05-03 2021-01-28 エルジー エレクトロニクス インコーポレイティド 画像コーディングシステムにおいてブロックサイズに応じた変換を使用する画像デコード方法およびその装置
US10893286B2 (en) * 2018-10-09 2021-01-12 Tencent America LLC Methods and apparatus for low-complexity MTS
WO2020130705A1 (ko) * 2018-12-20 2020-06-25 엘지전자 주식회사 변환 계수들의 변환 계수 레벨을 코딩하는 방법 및 장치
WO2020185036A1 (ko) * 2019-03-13 2020-09-17 엘지전자 주식회사 비디오 신호를 처리하기 위한 방법 및 장치
JP7379656B2 (ja) * 2019-07-19 2023-11-14 ウィルス インスティテュート オブ スタンダーズ アンド テクノロジー インコーポレイティド ビデオ信号処理方法及び装置
AU2020203330B2 (en) * 2020-05-21 2022-12-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a block of video samples

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000165805A (ja) * 1998-11-30 2000-06-16 Sony Corp 付随情報付加装置および方法、付随情報検出装置および方法、ならびに不正利用防止システム
US20080031363A1 (en) * 2001-06-15 2008-02-07 Hong Min C Apparatus for removing a blocking phenomenon in a first block using properties of second and third blocks adjacent the first block
WO2010047492A3 (ko) * 2008-10-22 2010-07-29 에스케이텔레콤 주식회사 동영상 부호화 장치 및 이를 위한 영상 신호의 2차원 정렬 변환 장치 및 방법, 및 이를 위한 기록 매체
CN101822057A (zh) * 2007-10-12 2010-09-01 高通股份有限公司 视频块标头信息的自适应译码
CN103220529A (zh) * 2013-04-15 2013-07-24 北京大学 一种视频编解码环路滤波的实现方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816616B2 (en) * 2001-05-31 2004-11-09 Webex Communications, Inc. Header compression for image data stream
US9445128B2 (en) * 2006-12-08 2016-09-13 Freescale Semiconductor, Inc. System and method of determining deblocking control flag of scalable video system for indicating presentation of deblocking parameters for multiple layers
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
KR101700358B1 (ko) 2009-12-09 2017-01-26 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US20110317762A1 (en) 2010-06-29 2011-12-29 Texas Instruments Incorporated Video encoder and packetizer with improved bandwidth utilization
US9788019B2 (en) * 2011-03-09 2017-10-10 Hfi Innovation Inc. Method and apparatus of transform unit partition with reduced complexity
US9185404B2 (en) * 2011-10-07 2015-11-10 Qualcomm Incorporated Performing transform dependent de-blocking filtering
KR20130050404A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
US9462275B2 (en) 2012-01-30 2016-10-04 Qualcomm Incorporated Residual quad tree (RQT) coding for video coding
US20130272390A1 (en) 2012-04-16 2013-10-17 Qualcomm Incorporated Uniform granularity for quantization matrix in video coding
US9749645B2 (en) 2012-06-22 2017-08-29 Microsoft Technology Licensing, Llc Coded-block-flag coding and derivation
US20140079135A1 (en) * 2012-09-14 2014-03-20 Qualcomm Incoporated Performing quantization to facilitate deblocking filtering
US9219915B1 (en) * 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
US10645399B2 (en) * 2013-07-23 2020-05-05 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding image
CN105284110B (zh) * 2013-07-31 2019-04-23 太阳专利托管公司 图像编码方法及图像编码装置
EP3120561B1 (en) * 2014-03-16 2023-09-06 VID SCALE, Inc. Method and apparatus for the signaling of lossless video coding
EP3289762A4 (en) * 2015-03-31 2018-12-19 RealNetworks, Inc. Residual transformation and inverse transformation in video coding systems and methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000165805A (ja) * 1998-11-30 2000-06-16 Sony Corp 付随情報付加装置および方法、付随情報検出装置および方法、ならびに不正利用防止システム
US20080031363A1 (en) * 2001-06-15 2008-02-07 Hong Min C Apparatus for removing a blocking phenomenon in a first block using properties of second and third blocks adjacent the first block
CN101822057A (zh) * 2007-10-12 2010-09-01 高通股份有限公司 视频块标头信息的自适应译码
WO2010047492A3 (ko) * 2008-10-22 2010-07-29 에스케이텔레콤 주식회사 동영상 부호화 장치 및 이를 위한 영상 신호의 2차원 정렬 변환 장치 및 방법, 및 이를 위한 기록 매체
CN103220529A (zh) * 2013-04-15 2013-07-24 北京大学 一种视频编解码环路滤波的实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KRIT PANUSOPONE等: ""Efficient Transform Unit Representation"", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 *
THOMAS WIEGAND: ""WD1: Working Draft 1 of High-Efficiency Video Coding"", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 *

Also Published As

Publication number Publication date
CN107637078B (zh) 2020-05-26
US10531086B2 (en) 2020-01-07
WO2016154928A1 (en) 2016-10-06
US10218974B2 (en) 2019-02-26
JP6704932B2 (ja) 2020-06-03
EP3289762A1 (en) 2018-03-07
US20190110050A1 (en) 2019-04-11
KR20180019510A (ko) 2018-02-26
EP3289762A4 (en) 2018-12-19
WO2016154928A8 (en) 2017-12-14
US20180109793A1 (en) 2018-04-19
JP2018517317A (ja) 2018-06-28

Similar Documents

Publication Publication Date Title
CN107637078A (zh) 视频译码系统和方法中的残差变换和逆向变换
CN100579244C (zh) 用于可伸缩编码和解码彩色视频的方法和设备
US8260069B2 (en) Color image encoding and decoding method and apparatus using a correlation between chrominance components
Tabus et al. Lossy compression of lenslet images from plenoptic cameras combining sparse predictive coding and JPEG 2000
CN106170092A (zh) 用于无损编码的快速编码方法
CN1845609A (zh) 运动图象解码方法和运动图象解码设备以及记录介质
JP2009543423A (ja) 映像の符号化/復号化方法及び装置
CN101099390A (zh) 为多视图编码排序基准帧
WO2020103800A1 (zh) 视频解码方法和视频解码器
CN104704826B (zh) 两步量化和编码方法和装置
CN101663895B (zh) 使用所估计译码成本的视频译码模式选择
CN104581177A (zh) 一种结合块匹配和串匹配的图像压缩方法和装置
CN108464005A (zh) 视频编码中的残差变换及逆向变换系统和方法
US20190268619A1 (en) Motion vector selection and prediction in video coding systems and methods
CN111757109A (zh) 一种高实时性的并行视频编解码方法、系统和存储介质
CN108353192A (zh) 视频处理系统和方法中的分层去块滤波
CN108432252A (zh) 视频编码中的运动矢量选择及预测系统和方法
US20200329237A1 (en) Block size determination for video coding systems and methods
US20190379890A1 (en) Residual transformation and inverse transformation in video coding systems and methods
CN107852518A (zh) 使伴随消息数据包括在压缩视频比特流中的系统和方法
JP2005184525A (ja) 画像処理装置
CN114071148A (zh) 视频编码方法、装置、设备及产品
JP2004120620A (ja) 符号化動画像変換装置
CN101917616A (zh) 用于数字编码3d立体视频图像的方法和系统
Koduri Fast implementations of block motion estimation algorithms in video encoders

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200526

CF01 Termination of patent right due to non-payment of annual fee