CN116783890A - 色度变换类型确定 - Google Patents

色度变换类型确定 Download PDF

Info

Publication number
CN116783890A
CN116783890A CN202180091033.XA CN202180091033A CN116783890A CN 116783890 A CN116783890 A CN 116783890A CN 202180091033 A CN202180091033 A CN 202180091033A CN 116783890 A CN116783890 A CN 116783890A
Authority
CN
China
Prior art keywords
block
chroma
transform type
luma
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.)
Pending
Application number
CN202180091033.XA
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN116783890A publication Critical patent/CN116783890A/zh
Pending legal-status Critical Current

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
    • 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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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/172Methods 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 picture, frame or field
    • 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/186Methods 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 colour or a chrominance component
    • 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

Landscapes

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

Abstract

对于图像的编译块,生成亮度预测块,生成亮度残差块,在使用亮度变换类型来对亮度残差块进行变换之后生成量化亮度块,并且对量化亮度块进行熵编码。生成色度预测块,生成色度残差块,将色度残差块的初始色度变换类型确定为亮度变换类型,使用按最终色度变换类型而变换的色度残差块来生成量化色度块,并且对量化色度块进行熵编码。当初始色度变换类型是除默认变换类型以外的变换类型时,最终色度变换类型是初始色度变换类型或默认变换类型,并且量化色度块的量化系数取决于量化亮度块的量化系数。

Description

色度变换类型确定
背景技术
能够例如在因特网上使用数字图像和视频,以经由视频会议、高清晰度视频娱乐、视频广告或对用户生成的内容的共享进行远程商务会议。由于在转移并处理图像和视频数据时涉及的大量数据,高性能压缩对传输和存储可以是有利的。
发明内容
本申请涉及图像数据、视频流数据或两者的编码和解码,以实现传输或存储。本文公开的是用于编码和解码的系统、方法和装置的各方面,其中可以在编码器处使用各种技术来确定色度块的色度变换类型,所述各种技术被隐式地、显式地或两者都有地识别给解码器。色度块可以被编码,使得重建色度块在编码器和解码器处相同,而不管色度变换类型是如何确定的。
本文的教导的一个方面是一种包括要编码的当前图像分区成多个编译块的方法。所述方法还包括,对于所述当前图像的所述多个编译块中的编译块:为包括所述编译块的光亮度(luminance)信息的亮度(luma)编译块生成亮度预测块;生成亮度残差块作为所述亮度编译块与所述亮度预测块之间的差异;在使用亮度变换类型来对所述亮度残差块进行变换之后生成量化亮度块;将所述量化亮度块熵编码到比特流中;为包括所述编译块的色彩度(chrominance)信息的色度(chroma)编译块生成色度预测块;生成色度残差块作为所述色度编译块与所述色度预测块之间的差异;将所述色度残差块的初始色度变换类型确定为所述亮度变换类型;使用按最终色度变换类型而变换的所述色度残差块来生成量化色度块;以及将所述量化色度块熵编码到所述比特流中。当所述初始色度变换类型是除默认变换类型以外的变换类型时,所述最终色度变换类型是所述初始色度变换类型或所述默认变换类型,并且所述量化色度块的量化系数取决于所述量化亮度块的量化系数。
本文的教导的另一方面是一种方法,所述方法包括:接收比特流,所述比特流包括被分区成多个编译块的当前图像的编码的编译块。所述多个编译块中的编译块通过上述方法被编码。所述方法接收所述比特流,并且对于编码的编译块,对所述量化亮度块进行熵解码;通过对所述量化亮度块进行去量化来生成去量化亮度块;通过使用所述亮度变换类型来对所述去量化亮度块进行变换而生成所述亮度残差块;为所述亮度编译块生成亮度预测块;通过将所述亮度预测块添加到所述亮度残差块来生成所述亮度编译块;对所述量化色度块进行熵解码;通过对所述量化色度块进行去量化来生成去量化色度块;将所述去量化色度块的色度变换类型确定为所述亮度变换类型;通过使用所述色度变换类型来对所述去量化色度块进行变换而生成所述色度残差块;为所述色度编译块生成色度预测块;通过将所述色度预测块添加到所述色度残差块来生成所述色度编译块;以及通过组合所述亮度编译块和所述色度编译块来重建所述编译块。
本文的教导的另一方面是一种装置,所述装置包括:处理器,所述处理器执行上述方法中的任何一种或两种。
此后,将附加详细地描述这些和其他方面的变化。
附图说明
本文的描述参考附图,其中,除非另外指出或者另外从上下文清楚,否则贯穿若干视图相同的附图标记指代相同的部分。
图1是根据本公开的实施方式的计算设备的图。
图2是根据本公开的实施方式的计算与通信系统的图。
图3是根据本公开的实施方式的用于在编码和解码时使用的视频流的图。
图4是根据本公开的实施方式的编码器的框图。
图5是根据本公开的实施方式的解码器的框图。
图6是根据本公开的实施方式的图像的一部分的表示的框图。
图7是根据本公开的实施方式的编码的方法的示例的流程图。
图8是根据本公开的实施方式的解码的方法的示例的流程图。
具体实施方式
图像和视频压缩方案可以包括将图像或帧分解成诸如块的更小部分,并且使用技术来生成输出比特流,以使输出中每个块所包括的信息的带宽利用率最小化。在一些实施方式中,可以通过减少空间冗余、减少时间冗余或其组合来限制输出中每个块所包括的信息。例如,通过基于对于编码器和解码器两者可用的信息来预测帧或其一部分,并且在编码比特流中包括表示预测帧与原始帧之间的差异或残差的信息,可以减少时间冗余或空间冗余。通过将残差信息变换成变换系数,对变换系数进行量化,并且对量化变换系数进行熵编译,残差信息可以被进一步压缩。诸如运动信息的其他编译信息可以被包括在编码比特流中,这可以包括发送基于编码信息的预测的差异信息,该差异信息可以被熵编译以进一步减小所对应的带宽利用率。编码比特流能够被解码以从有限的信息重建块和源图像。在一些实施方式中,使用帧间预测或帧内预测来对块进行编译的准确性、效率或两者可以是有限的。
实现图像或视频压缩的编解码器通常将颜色信息分开地编译,例如,将颜色信息作为颜色信息的第一平面、第二平面和第三平面进行编译。例如,在颜色信息被划分成包括但不限于YCbCr、YUV或YU'V'的光亮度信息和色彩度信息的情况下,光亮度信息可以被与色彩度信息分开地编译。在一些编解码器中,用于对一个颜色平面(例如,光亮度信息)进行编译的一种或多种编译模式,诸如用于减少信息中的时间或空间冗余的预测模式或类型或用于对相关残差信息进行变换的变换模式或类型,可以用于对其他颜色平面(例如,色彩度信息)进行编译。在其他编解码器中,用于一些颜色平面的一种或多种编译模式可以是(例如,对于块)在图像或帧内不变化的默认模式或类型。
例如,编解码器可能要求用于对块的色彩度信息的平面进行编译的变换类型取决于(即,与其相同)用于对块的光亮度信息的平面进行编译的变换类型。在本文中,块的光亮度信息的平面可以被称为亮度块,并且块的色彩度信息的平面可以被称为色度块。在确定亮度块使用除默认变换类型以外的编码器中,色度块也被指定为使用该变换类型。在对亮度块的残差进行变换和可选地量化之后,可能没有非零变换系数剩余。变换类型然后可以回复到默认变换类型(例如,离散余弦变换(DCT)),使得不需要为当前块分开地用信号发送变换类型。解码器然后会将DCT用于对当前块的亮度块和色度块中的每一个进行解码。然而,这可能是问题,因为到决定让亮度块回复到默认变换类型时,一个或两个色度块可能已经在使用原始变换类型的编码流水线中。色度块将不得不使用新变换类型、使用附加计算资源或两者都有地来被重新编码,从而使编码过程变慢。可替代地,色度块将使用原始变换类型来被编码,但是解码器将使用亮度块正在使用的默认变换类型。
以上所述是颜色信息的一个平面的变换类型对颜色信息的另一个平面的变换类型的依赖如何可能给一些编码器架构特别是关于某些硬件编码器架构带来问题的一个示例。更一般地,这样的依赖可能降低编译效率,诸如增加编码时间或所需处理资源,或者与被重建的色度块的质量相比增加表示色度块所需要的比特数。这可以是由于将不同变换用于对色度块进行编码和解码或者要求对色度块进行重新编码而导致的,但是也可能由将不太理想的变换类型强迫到颜色数据的一个或两个平面产生。根据本文的教导,可以实现通过允许视期望而定来减轻或甚至消除对颜色信息的不同平面的变换类型的依赖来解决这些问题的各种技术。在描述可以在其中实现技术的环境之后,在下面描述这些技术的细节。
图1是根据本公开的实施方式的计算设备100的图。所示出的计算设备100包括存储器110、处理器120、用户接口(UI)130、电子通信单元140、传感器150、电源160和总线170。如本文所使用的,术语“计算设备”包括能够执行本文公开的任何方法或其任何一个或多个部分的任何单元或单元的组合。
计算设备100可以是诸如个人计算机(PC)、服务器、工作站、微型计算机或大型计算机的固定计算设备;或者诸如移动电话、个人数字助理(PDA)、膝上型电脑或平板PC的移动计算设备。尽管被示出为单个单元,但是计算设备100的任何一个或多个元件能够被集成到任何数目的分开的物理单元中。例如,用户接口130和处理器120能够被集成在第一物理单元中,而存储器110能够被集成在第二物理单元中。
存储器110能够包括任何非暂时性计算机可用或计算机可读介质,诸如能够例如包含、存储、传送或输送数据112、指令114、操作系统116或与其相关联的任何信息以供由计算设备100的其他组件使用或者连同计算设备100的其他组件一起使用的任何有形设备。非暂时性计算机可用或计算机可读介质可以是例如固态硬盘、存储卡、可移动介质、只读存储器(ROM)、随机存取存储器(RAM)、包括硬盘、软盘、光盘的任何类型的盘、磁卡或光卡、专用集成电路(ASIC)、或适合于存储电子信息的任何类型的非暂时性介质、或其任何组合。
虽然被示出为单个单元,但是存储器110可以包括多个物理单元,诸如一个或多个主存储器单元、诸如随机存取存储器单元、一个或多个辅数据存储单元、诸如盘、或其组合。例如,数据112或其一部分、指令114或其一部分、或两者可以被存储在辅存储单元中,并且可以结合处理相应的数据112、实行相应的指令114或两者来被加载或以其他方式转移到主存储单元。在一些实施方式中,存储器110或其一部分可以是可移动存储器。
数据112能够包括信息,诸如输入音频数据、编码音频数据、解码音频数据等。指令114能够包括用于执行本文公开的任何方法或其任何一个或多个部分的指示,诸如代码。能够在硬件、软件或其任何组合中实现指令114。例如,指令114可以被实现为存储器110中存储的信息,诸如可以由处理器120实行以执行如本文所描述的任何相应的方法、算法、方面或其组合的计算机程序。
尽管被示出为包括在存储器110中,但是在一些实施方式中,指令114或其一部分可以被实现为能够包括用于执行如本文所描述的任何方法、算法、方面或其组合的专门硬件的专用处理器或电路系统。指令114的部分能够跨同一机器或不同机器上的多个处理器分布,或者跨诸如局域网、广域网、因特网或其组合的网络分布。
处理器120能够包括能够操纵或处理数字信号或现存或以后开发的其他电子信息的任何设备或系统,包括光处理器、量子处理器、分子处理器或其组合。例如,处理器120能够包括专用处理器、中央处理单元(CPU)、数字信号处理器(DSP)、多个微处理器、与DSP核相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑阵列、可编程逻辑控制器、微码、固件、任何类型的集成电路(IC)、状态机或其任何组合。如本文所使用的,术语“处理器”包括单个处理器或多个处理器。
用户接口130能够包括能够与用户接口的任何单元,诸如虚拟或物理小键盘、触摸板、显示器、触摸显示屏、扬声器、麦克风、摄像机、传感器或其任何组合。例如,用户接口130可以是视听显示设备,并且计算设备100可以诸如结合显示诸如解码视频的视频使用用户接口130视听显示设备来呈现诸如解码音频的音频。尽管被示出为单个单元,但是用户接口130可以包括一个或多个物理单元。例如,用户接口130可以包括用于执行与用户的音频通信的音频接口,以及用于执行与用户的基于视觉和触摸的通信的触摸显示器。
电子通信单元140能够经由诸如以下各项的有线或无线电子通信介质180发送、接收或发送和接收信号:射频(RF)通信介质、紫外(UV)通信介质、可见光通信介质、光纤通信介质、有线线路通信介质或其组合。例如,如图所示,电子通信单元140可操作地连接到被配置成经由无线信号通信的电子通信接口142,诸如天线。
尽管在图1中电子通信接口142被示出为无线天线,但是电子通信接口142可以是如图所示的无线天线、诸如以太网端口、红外端口、串行端口的有线通信端口,或能够与有线或无线电子通信介质180接口的任何其他有线或无线单元。尽管图1示出了单个电子通信单元140和单个电子通信接口142,但是能够使用任何数目的电子通信单元和任何数目的电子通信接口。
传感器150可以包括例如音频感测设备、可见光感测设备、运动感测设备或其组合。例如,100传感器150可以包括诸如麦克风的声音感测设备,或能够感测由操作计算机设备100的用户做出的、计算机设备100附近的声音——诸如语音或其他话语——的现存或以后开发的任何其他声音感测设备。在另一示例中,传感器150可以包括相机,或能够感测诸如操作计算设备的用户的图像的图像的现存或以后开发的任何其他图像感测设备。尽管示出了单个传感器150,但是计算设备100可以包括许多传感器150。例如,计算设备100可以包括按指向计算设备100的用户的视场而定向的第一相机,以及按远离计算设备100的用户的视场而定向的第二相机。
电源160可以是用于给计算设备100供电的任何适合的设备。例如,电源160能够包括:有线外部电源接口;一个或多个干电池,诸如镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li-ion);太阳能电池;燃料电池;或者能够给计算设备100供电的任何其他设备。尽管在图1中示出了单个电源160,但是计算设备100可以包括多个电源160,诸如电池和有线外部电源接口。
尽管被示出为分开的单元,但是电子通信单元140、电子通信接口142、用户接口130、电源160或其部分可以被配置为组合单元。例如,电子通信单元140、电子通信接口142、用户接口130和电源160可以被实现为能够与外部显示设备接口从而提供通信、电力或两者的通信端口。
存储器110、处理器120、用户接口130、电子通信单元140、传感器150或电源160中的一个或多个可以经由总线170可操作地耦合。尽管在图1中示出了单条总线170,但是计算设备100可以包括多条总线。例如,存储器110、处理器120、用户接口130、电子通信单元140、传感器150和总线170可以经由总线170从电源160接收电力。在另一示例中,存储器110、处理器120、用户接口130、电子通信单元140、传感器150、电源160或其组合可以经由总线170传送数据,诸如通过发送和接收电子信号。
尽管在图1中未分开地示出,但是处理器120、用户接口130、电子通信单元140、传感器150或电源160中的一个或多个可以包括内部存储器,诸如内部缓冲器或寄存器。例如,处理器120可以包括内部存储器(未示出)并且可以将数据112从存储器110读取到内部存储器(未示出)中以进行处理。
尽管被示出为分开的元件,但是存储器110、处理器120、用户接口130、电子通信单元140、传感器150、电源160和总线170或其任何组合能够被集成在一个或多个电子单元、电路或芯片中。
图2是根据本公开的实施方式的计算与通信系统200的图。所示出的计算与通信系统200包括计算与通信设备100A、100B、100C、接入点210A、210B以及网络220。例如,计算与通信系统200可以是向诸如计算与通信设备100A、100B、100C的一个或多个有线或无线通信设备提供诸如话音、音频、数据、视频、消息传递、广播或其组合的通信的多址接入系统。尽管为了简单,图2示出三个计算与通信设备100A、100B、100C、两个接入点210A、210B以及一个网络220,但是能够使用任何数目的计算与通信设备、接入点和网络。
计算与通信设备100A、100B、100C可以是例如计算设备,诸如图1所示的计算设备100。例如,计算与通信设备100A、100B可以是诸如移动计算设备、膝上型电脑、瘦客户端或智能电话的用户设备,而计算与通信设备100C可以是诸如大型机或集群的服务器。尽管计算与通信设备100A及计算与通信设备100B被描述为用户设备,并且计算与通信设备100C被描述为服务器,但是任何计算与通信设备可以执行服务器的一些或所有功能、用户设备的一些或所有功能、或者服务器和用户设备的一些或所有功能。例如,服务器计算与通信设备100C可以对音频数据进行接收、编码、处理、存储、发送或其组合,并且计算与通信设备100A及计算与通信设备100B中的一者或两者可以对音频数据进行接收、解码、处理、存储、呈现或其组合。
可以包括用户设备(UE)、移动站、固定或移动订户单元、蜂窝电话、个人计算机、平板计算机、服务器、消费者电子装置、或任何类似设备的每个计算与通信设备100A、100B、100C能够被配置成诸如经由网络220执行有线通信或无线通信。例如,计算与通信设备100A、100B、100C能够被配置成发送或接收有线通信信号或无线通信信号。尽管每个计算与通信设备100A、100B、100C被示出为单个单元,但是计算与通信设备能够包括任何数目的互连元件。
每个接入点210A、210B可以是被配置成经由有线或无线通信链路180A、180B、180C与计算与通信设备100A、100B、100C、网络220或两者进行通信的任何类型的设备。例如,接入点210A、210B能够包括基站、基地收发站(BTS)、节点B、增强型节点B(eNode-B)、家庭节点B(HNode-B)、无线路由器、有线路由器、集线器、继电器、交换机、或任何类似的有线或无线设备。尽管每个接入点210A、210B被示出为单个单元,但是接入点能够包括任何数目的互连元件。
网络220可以是被配置成通过有线或无线通信链路提供诸如话音、数据、应用、基于网际协议的话音(VoIP)、或任何其他通信协议、或通信协议的组合的任何类型的网络。例如,网络220可以是局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、移动或蜂窝电话网、因特网、或任何其他电子通信手段。网络能够使用通信协议,诸如传输控制协议(TCP)、用户数据报协议(UDP)、网际协议(IP)、实时传输协议(RTP)、超文本传输协议(HTTP)或其组合。
计算与通信设备100A、100B、100C能够使用一个或多个有线或无线通信链路经由网络220彼此通信,或者经由有线通信链路和无线通信链路的组合彼此通信。例如,如图所示,计算与通信设备100A、100B能够经由无线通信链路180A、180B通信,并且计算与通信设备100C能够经由有线通信链路180C通信。计算与通信设备100A、100B、100C中的任一个可以使用任何一个或多个有线或无线通信链路来通信。例如,第一计算与通信设备100A可以使用第一类型的通信链路来经由第一接入点210A通信,第二计算与通信设备100B可以使用第二类型的通信链路来经由第二接入点210B通信,并且第三计算与通信设备100C可以使用第三类型的通信链路来经由第三接入点(未示出)通信。类似地,接入点210A、210B能够经由一种或多种类型的有线或无线通信链路230A、230B与网络220进行通信。尽管图2示出计算与通信设备100A、100B、100C经由网络220通信,但是计算与通信设备100A、100B、100C能够经由诸如直接有线或无线通信链路的任何数目的通信链路彼此通信。
在一些实施方式中,计算与通信设备100A、100B、100C中的一个或多个之间的通信可以省略经由网络220通信,并且可以包括经由诸如数据存储设备的另一介质(未示出)转移数据。例如,服务器计算与通信设备100C可以将诸如编码音频数据的音频数据存储在诸如便携式数据存储单元的数据存储设备中,并且计算与通信设备100A或计算与通信设备100B中的一者或两者可以从数据存储单元访问、读取或检索所存储的音频数据,诸如通过将数据存储设备与服务器计算与通信设备100C物理断开并且将数据存储设备物理连接到计算与通信设备100A或计算与通信设备100B。
计算与通信系统200的其他实施方式是可能的。例如,在实施方式中,网络220可以是自组织(ad-hoc)网络并且能够省略接入点210A、210B中的一个或多个。计算与通信系统200可以包括图2未示出的设备、单元或元件。例如,计算与通信系统200可以包括更多个通信设备、网络和接入点。
图3是根据本公开的实施方式的用于在编码和解码时使用的视频流300的图。诸如由摄像机捕获的视频流或由计算设备生成的视频流的视频流300可以包括视频序列310。视频序列310可以包括相邻帧320的序列。尽管示出了三个相邻帧320,但是视频序列310能够包括任何数目的相邻帧320。
来自相邻帧320的每个帧330可以表示来自视频流的单个图像。尽管在图3中未示出,但是帧330可以包括可以被独立地诸如并行地编译或以其他方式处理的一个或多个分段、瓦片(tiles)或平面。帧330可以包括一个或多个瓦片340。瓦片340中的每一个可以是帧的能够被独立地编译的矩形区域。瓦片340中的每一个可以包括相应的块350。尽管在图3中未示出,但是块能够包括像素。例如,块能够包括像素的16×16组、像素的8×8组、像素的8×16组、或像素的任何其他组。除非本文另外指示,否则术语“块”能够包括超级块、宏块、分段、切片、或帧的任何其他部分。帧、块、像素或其组合能够包括显示信息,诸如光亮度信息、色彩度信息、或能够用于存储、修改、传送或显示视频流或其一部分的任何其他信息。
图4是根据本公开的实施方式的编码器400的框图。编码器400能够作为例如在诸如图1所示的存储器110的数据存储单元中存储的计算机软件程序被实现在诸如图1所示的计算设备100或图2所示的计算与通信设备100A、100B、100C的设备中。计算机软件程序能够包括机器指令,这些机器指令可以由诸如图1所示的处理器120的处理器实行,并且可以使设备如本文所描述的那样对视频数据进行编码。编码器400能够被实现为例如在计算设备100中包括的专门硬件。
编码器400能够对诸如图3所示的视频流300的输入视频流402进行编码,以生成编码(压缩)比特流404。在一些实施方式中,编码器400可以包括用于生成压缩比特流404的前向路径。前向路径可以包括帧内/帧间预测单元410、变换单元420、量化单元430、熵编码单元440或其任何组合。在一些实施方式中,编码器400可以包括重建路径(由断裂连接线指示)以重建用于对另外的块进行编码的帧。重建路径可以包括去量化单元450、逆变换单元460、重建单元470、滤波单元480或其任何组合。编码器400的其他结构变化能够用于对视频流402进行编码。
为了对视频流402进行编码,能够以块为单位处理视频流402内的每个帧。因此,可以从帧中的块识别当前块,并且可以对当前块进行编码。
在帧内/帧间预测单元410处,能够使用可以在单个帧内的帧内预测或可以为从帧到帧的帧间预测来对当前块进行编码。帧内预测可以包括从当前帧中已经被先前编码和重建的样本生成预测块。帧间预测可以包括从一个或多个先前构建的参考帧中的样本生成预测块。为当前帧中的当前块生成预测块可以包括执行运动估计以生成指示参考帧的适当的参考部分的运动矢量。
帧内/帧间预测单元410可以从当前块(原始块)中减去预测块以产生残差块。变换单元420可以执行基于块的变换,这可以包括将残差块变换成例如频域中的变换系数。基于块的变换的示例包括Karhunen-Loève变换(KLT)、离散余弦变换(DCT)、奇异值分解变换(SVD)和不对称离散正弦变换(ADST)。在示例中,DCT可以包括将块变换到频域中。DCT可以包括使用基于空间频率的变换系数值,其中最低频率(即DC)系数在矩阵的左顶部处并且最高频率系数在矩阵的右底部处。
量化单元430可以将变换系数转换成离散量子值,这些离散量子值可以被称为量化变换系数或量化等级。量化变换系数能够由熵编码单元440熵编码以产生熵编码系数。熵编码能够包括使用概率分布度量。熵编码系数以及可以包括所使用的预测类型、运动矢量和量化器值的用于对块进行解码的信息能够被输出到压缩比特流404。能够使用诸如游程长度编码(RLE)和零游程编译的各种技术来格式化压缩比特流404。
重建路径能够用于维持编码器400与诸如图5所示的解码器500的对应解码器之间的参考帧同步。重建路径可以类似于在下面讨论的解码过程并且可以包括对编码帧或其一部分进行解码,这可以包括对编码块进行解码,这可以包括在去量化单元450处对量化变换系数进行去量化并且在逆变换单元460处对去量化变换系数进行逆变换,以产生导出残差块。重建单元470可以将由帧内/帧间预测单元410生成的预测块添加到导出残差块以创建解码块。滤波单元480能够被应用于解码块以生成重建块,这可以减少失真,诸如块伪影。尽管在图4中示出了一个滤波单元480,但是对解码块进行滤波可以包括环路滤波、去块滤波、或其他类型的滤波或各种类型的滤波的组合。重建块可以被存储或作为可以是参考帧的一部分的重建块以其他方式可接入,以用于对当前帧的另一部分、另一帧或两者进行编码,如482处的虚线所指示的。帧的诸如去块阈值索引值的编译信息可以被编码、被包括在压缩比特流404中,或者两者都有,如484处的虚线所指示的。
编码器400的其他变化能够用于对压缩比特流404进行编码。例如,基于非变换的编码器400能够在没有变换单元420的情况下直接对残差块进行量化。在一些实施方式中,量化单元430和去量化单元450可以被组合成单个单元。
图5是根据本公开的实施方式的解码器500的框图。解码器500能够作为例如在诸如图1所示的存储器110的数据存储单元中存储的计算机软件程序被实现在诸如图1所示的计算设备100或图2所示的计算与通信设备100A、100B、100C的设备中。计算机软件程序能够包括机器指令,这些机器指令可以由诸如图1所示的处理器120的处理器实行,并且可以使设备如本文所描述的那样对视频数据进行解码。解码器500能够被实现为例如在计算设备100中包括的专门硬件。
解码器500可以接收压缩比特流502,诸如图4所示的压缩比特流404,并且可以对压缩比特流502进行解码以生成输出视频流504。解码器500可以包括熵解码单元510、去量化单元520、逆变换单元530、帧内/帧间预测单元540、重建单元550、滤波单元560或其任何组合。解码器500的其他结构变化能够用于对压缩比特流502进行解码。
熵解码单元510可以使用例如上下文自适应二进制算术解码来对压缩比特流502内的数据元素进行解码,以产生量化变换系数集合。去量化单元520能够对量化变换系数进行去量化,并且逆变换单元530能够对去量化变换系数进行逆变换以产生导出残差块,其可以与由图4所示的逆变换单元460生成的导出残差块相对应。使用从压缩比特流502解码的报头信息,帧内/帧间预测单元540可以生成与在编码器400中创建的预测块相对应的预测块。在重建单元550处,预测块能够被添加到导出残差块以创建解码块。滤波单元560能够被应用于解码块以减少诸如块伪影的伪影,这可以包括环路滤波、去块滤波或其他类型的滤波或各种类型的滤波的组合,并且这可以包括生成重建块,该重建块可以作为输出视频流504被输出。
解码器500的其他变化能够用于对压缩比特流502进行解码。例如,解码器500能够在没有去块滤波单元的情况下产生输出视频流504。
图6是根据本公开的实施方式的诸如图3所示的帧330的帧的部分600的表示的框图。如图所示,帧的部分600包括位于矩阵或笛卡尔平面中的两个行和两个列中的四个64×64块610。在一些实施方式中,64×64块可以是最大编译单元,N=64。每个64×64块可以包括四个32×32块620。每个32×32块可以包括四个16×16块630。每个16×16块可以包括四个8×8块640。每个8×8块640可以包括四个4×4块650。每个4×4块650可以包括16个像素,这16个像素可以被表示在笛卡尔平面或矩阵中的每个相应块中的四个行和四个列中。像素可以包括表示在帧中捕获的图像的信息,诸如光亮度信息、颜色信息和位置信息。在一些实施方式中,诸如如图所示的16×16像素块的块可以包括:光亮度块660,其可以包括光亮度像素662;以及两个色彩度块670、680,诸如U或Cb色彩度块670和V或Cr色彩度块680。色彩度块670、680可以包括色彩度像素690。例如,如图所示,光亮度块660可以包括16×16光亮度像素662,并且每个色彩度块670、680可以包括8×8色彩度像素690。尽管示出了块的一种布置,但是可以使用任何布置。尽管图6示出N×N块,但是在一些实施方式中,可以使用N×M块。例如,可以使用32×64块、64×32块、16×32块、32×16块、或任何其他大小块。在一些实施方式中,可以使用N×2N块、2N×N块或其组合。
图像或视频编译可以包括有序块级编译。有序块级编译可以包括按诸如光栅扫描次序的次序对帧的块进行编译,其中,可以从帧的左上拐角或帧的部分中的块开始识别和处理块,并且沿着行从左到右和从顶行到底行继续进行,从而依次识别每个块以进行处理。例如,帧的顶行和左列中的64×64块可以是被编译的第一块,并且紧接在第一块右边的64×64块可以是被编译的第二块。从顶部起的第二行可以是被编译的第二行,使得第二行的左列中的64×64块可以在第一行的最右列中的64×64块之后被编译。
对块进行编译可以包括使用四叉树编译,这可以包括按光栅扫描次序对块内的更小块单元进行编译。例如,在图6所示的帧的部分的左底拐角中示出的64×64块可以使用四叉树来编译,其中,左顶部32×32块可以被编译,然后右顶部32×32块可以被编译,然后左底部32×32块可以被编译,然后右底部32×32块可以被编译。每个32×32块可以使用四叉树来编译,其中,左顶部16×16块可以被编译,然后右顶部16×16块可以被编译,然后左底部16×16块可以被编译,然后右底部16×16块可以被编译。每个16×16块可以使用四叉树来编译,其中,左顶部8×8块可以被编译,然后右顶部8×8块可以被编译,然后左底部8×8块可以被编译,然后右底部8×8块可以被编译。每个8×8块可以使用四叉树编译来被编译,其中,左顶部4×4块可以被编译,然后右顶部4×4块可以被编译,然后左底部4×4块可以被编译,然后右底部4×4块可以被编译。在一些实施方式中,对于16×16块可以省略8×8块,并且16×16块可以使用四叉树编译来被编译,其中,左顶部4×4块可以被编译,然后可以按光栅扫描次序对16×16块中的其他4×4块进行编译。
图像或视频编译可以包括通过例如从对应的编码帧中省略原始帧中的一些信息来压缩原始或输入帧中包括的信息。例如,编译可以包括减少频谱冗余、减少空间冗余、减少时间冗余或其组合。
减少频谱冗余可以包括使用基于光亮度分量(Y)和两个色彩度分量(U和V或Cb和Cr)的颜色模型,其可以被称为YUV或YCbCr颜色模型或颜色空间。使用YUV颜色模型可以包括使用相对大量的信息来表示帧的部分的光亮度分量并且使用相对少量的信息来表示帧的部分的每个对应的色彩度分量。例如,帧的部分可以由可以包括像素的16×16块的高分辨率光亮度分量来表示,以及由其中每个较低分辨率色彩度分量将帧的部分表示为像素的8×8块的两个较低分辨率色度分量来表示。像素可以指示值,例如,从0到255的范围内的值,并且可以使用例如八个比特来存储或发送。尽管参考YUV颜色模型描述本公开,但是可以使用任何颜色模型。
减少空间冗余可以包括使用例如DCT或其他变换类型来将块变换到频域中。例如,编码器的诸如图4所示的变换单元420的单元可以基于空间频率使用变换系数值来执行DCT。
减少时间冗余可以包括使用帧之间的相似性来基于一个或多个参考帧使用相对少量的数据来对帧进行编码,所述一个或多个参考帧可以是视频流的先前编码、解码和重建的帧。例如,当前帧的块或像素可以与参考帧的空间上对应的块或像素类似。在一些实施方式中,当前帧的块或像素可以与参考帧在不同空间位置处的块或像素类似,并且减少时间冗余可以包括生成指示块或像素在当前帧中的位置与块或像素在参考帧中的对应位置之间的空间差异或平移的运动信息。
减少时间冗余可以包括识别参考帧的与当前帧的当前块或像素相对应的部分。例如,可以搜索可以被存储在存储器中的参考帧或参考帧的部分,以识别用于生成预测的部分以用于以最大效率对当前帧的当前块或像素进行编码。搜索可以识别参考帧的使当前块与基于参考帧的部分而生成的预测块之间的像素值中的差异最小化的部分,并且可以被称为运动搜索。在一些实施方式中,可以限制所搜索的参考帧的部分。例如,可以被称为搜索区的所搜索的参考帧的部分可以包括参考帧的有限数目的行。在示例中,识别参考帧的用于生成预测的部分可以包括计算成本函数,诸如搜索区的部分的像素与当前块的像素之间的绝对差之和(SAD)。
参考帧的用于生成预测的部分在参考帧中的位置与当前帧中的当前块之间的空间差异可以被表示为运动矢量。预测块与当前块之间的像素值中的差异可以被称为差异数据、残差数据、预测误差或残差块。在一些实施方式中,生成运动矢量可以被称为运动估计,并且当前块的像素可以基于使用笛卡尔坐标的位置被指示为fx,y。类似地,参考帧的搜索区的像素可以基于使用笛卡尔坐标的位置被指示为rx,y。当前块的运动矢量(MV)可以是基于例如当前帧的像素与参考帧的对应像素之间的SAD而确定的。
尽管为了清晰,在本文中参考帧的矩阵或笛卡尔表示进行描述,但是帧可以被以任何数据结构存储、发送、处理或其任何组合,使得可以针对帧或图像高效地表示像素值。例如,帧可以被以诸如如图所示的矩阵的二维数据结构或以诸如矢量数组的一维数据结构存储、发送、处理或其任何组合。在实施方式中,帧的诸如如图所示的二维表示的表示可以与将帧作为图像渲染时的物理位置相对应。例如,在帧的左顶拐角中的块的左顶拐角中的位置可以与帧作为图像渲染的左顶拐角中的物理位置相对应。
可以通过将输入块分区成一个或多个预测分区来改进基于块的编译效率,所述一个或多个预测分区可以是用于预测编译的矩形分区,包括正方形分区。在一些实施方式中,使用预测分区的视频编译可以包括从多个候选预测分区方案当中选择预测分区方案。例如,在一些实施方式中,用于64×64编译单元的候选预测分区方案包括大小范围从4×4到64×64的矩形大小预测分区,诸如4×4、4×8、8×4、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32或64×64。在一些实施方式中,使用预测分区的视频编译包括完全预测分区搜索,这可以包括通过使用每个可用的候选预测分区方案来对编译单元进行编码并且选择诸如产生最小率-失真误差的方案的最优方案来选择预测分区方案。
对视频帧进行编码可以包括识别用于对诸如块610的当前块进行编码的预测分区方案。在一些实施方式中,识别预测分区方案可以包括确定是将块编码为如图所示可以是64×64的最大编译单元大小的单个预测分区,还是将块分区成多个预测分区,该多个预测分区可以如图所示与诸如32×32块620、16×16块630或8×8块640的子块相对应,并且可以包括确定是否分区成一个或多个更小的预测分区。例如,64×64块可以被分区成四个32×32预测分区。四个32×32预测分区中的三个可以被编码为32×32预测分区,并且第四32×32预测分区可以被进一步分区成四个16×16预测分区。四个16×16预测分区中的三个可以被编码为16×16预测分区,并且第四16×16预测分区可以被进一步分区成其中的每一个可以被编码为8×8预测分区的四个8×8预测分区。在一些实施方式中,识别预测分区方案可以包括使用预测分区决策树。
针对当前块的图像或视频编译可以包括从多个候选预测编译模式中识别最优预测编译模式,这可以在处理具有各种统计属性的视频信号时提供灵活性并且可以改进压缩效率。例如,视频编译器可以评估每种候选预测编译模式以识别最优预测编译模式,该最优预测编译模式可以是例如使当前块的诸如率-失真成本的误差度量最小化的预测编译模式。在一些实施方式中,通过基于当前块与对应预测块之间的相似性来限制可用的候选预测编译模式的集合来降低搜索候选预测编译模式的复杂性。可以通过执行有向细化模式搜索来降低搜索每种候选预测编译模式的复杂性。例如,可以为诸如16×16、8×8和4×4的候选块大小的有限集生成度量,与每个块大小相关联的误差度量可以按降序,并且可以评估附加候选块大小,诸如4×8和8×4块大小。
可以通过将当前残差块分区成一个或多个变换分区来改进基于块的编译效率,所述一个或多个变换分区可以是用于变换编译的矩形分区,包括正方形分区。使用变换分区的图像或视频编译可以包括选择统一变换分区方案。例如,诸如块610的当前残差块可以是64×64块并且可以是在不使用64×64变换分区的情况下变换的。
尽管在图6中未明确地示出,但是可以使用统一或非统一变换分区方案来对残差块进行变换分区。例如,可以使用包括四个32×32变换块的统一变换分区方案、使用包括十六个16×16变换块的统一变换分区方案、使用包括六十四个8×8变换块的统一变换分区方案、或者使用包括256个4×4变换块的统一变换分区方案来对64×64残差块进行变换分区。
使用变换分区的图像或视频编译可以包括使用多形式变换分区编译来为残差块识别多个变换块大小。在一些实施方式中,多形式变换分区编译包括递归地确定是使用当前块大小变换还是通过对当前块进行分区并且对每个分区进行多形式变换分区编译来对当前块进行变换。例如,图6所示的左底部块610可以是64×64残差块,并且多形式变换分区编译可以包括确定是使用64×64变换来对当前64×64残差块进行编译,还是通过将64×64残差块分区成诸如四个32×32块620的分区并且对每个分区进行多形式变换分区编译来对64×64残差块进行编译。确定是否对当前块进行变换分区可以是基于将用于使用当前块大小变换来对当前块进行编码的成本与用于使用分区大小变换来对每个分区进行编码的成本之和进行比较。
如最初描述的,颜色信息的一个平面(例如,色彩度或色度块中的色彩度信息)的变换类型对颜色信息的另一平面(例如,光亮度或亮度块中的光亮度信息)的变换类型的依赖会降低编译效率。在这导致使用不同的变换类型来对颜色信息的一个平面(例如,色彩度信息)进行编码和解码的情况下尤其是这样的。
本文描述的技术能够减轻或消除这种依赖所产生的问题。广义地说,这些技术能够通过允许分开地识别变换类型或者通过修改使用变换类型依赖的颜色平面中的一个的编码过程来修改一个颜色平面对另一颜色平面的变换类型依赖,使得来自编码器处的解码过程的重建颜色信息(例如,重建色度块)与解码器的重建颜色信息相同,而不管色度变换类型如何被选择。
可以使用允许分开地识别色度块的变换类型的技术,这可选地支持诸如色彩度块670、680中的一个或两个的色彩度或色度块的变换类型对诸如光亮度块660的光亮度或亮度块的变换类型的依赖。可以通过使用用于对色度块进行编码的色度变换类型模式来实现这一点。色度变换类型模式可以是相应地定义如何确定色度变换类型的可用的多种色度变换类型模式中的一种模式。
可用的多种色度变换类型模式可以包括至少两种模式。可用的多种色度变换类型模式中的一种模式可以包括编译块的色度块使用编译块的对应亮度块的变换类型的上述模式。可用的多种色度变换类型模式能够更一般地包括以下模式中的至少两种:编译块的色度块使用默认变换类型的模式1、编译块的色度块使用编译块的对应亮度块的变换类型的模式2、编译块的色度块使用候选变换类型集中的一种候选变换类型而不管编译块的对应亮度块的变换类型如何的模式3、或编译块的色度块使用取决于用于预测色度块的预测模式的变换类型的模式4。对应亮度块是属于与色度块相同的编译块的亮度块。术语亮度块和亮度编译块以及术语色度块和色度编译块可以在本文中互换地使用。
在此示例中,默认变换类型可以是DCT或另一变换类型。默认变换类型可以是当使用时不要求识别比特流内的分开的信令的变换类型。候选变换类型集可以是所有可用的变换类型,诸如DCT、不对称离散正弦变换(ADST)等。候选变换类型集可以是所有可用的变换类型的子集,诸如用于相邻色度块的那些变换类型。在编码器处使用色度变换类型模式的情况下,识别色度变换类型模式的一个或多个比特可以被包括在压缩比特流中,如此解码器能够识别该模式。所述一个或多个比特(即,在四种模式可用的情况下是两个比特)可以是在序列级别、帧级别、瓦片级别或块(例如,超级块)级别下在报头中发送的标志。
每种模式具有它自己的优点和缺点。模式1和4是编码器处的最简单实施方式。然而,它们可能未达到最好编译效率,因为每种模式消除除一种变换类型之外的所有变换类型作为色度块的选择。模式3允许色度块选择导致最好压缩效率的最优变换类型。为了实现模式3,在示例中,可以在编码器处使用率-失真环路,所述编码器在编码过程期间使用每种候选变换类型来对色度块进行变换,重建色度块,并且确定重建色度块中的失真。可以比较用于使用候选变换类型进行编码的率-失真误差以选择使率-失真误差最小化的变换类型。注意,模式3可能要求发送从候选变换类型集中识别色度变换类型——诸如识别色度变换类型在候选变换类型的列表内的索引——的一个或多个附加比特。这可能是在序列级别、帧级别、瓦片级别或块(例如,超级块)级别下在报头中发送的标志。在一些实施方式中,只有在色度变换类型是除默认变换类型以外的变换类型时,才可以在比特流中发送识别色度变换类型的一个或多个比特。
已经发现模式2在复杂性与编译性能之间提供相对良好的权衡。然而,模式2由于先前描述的原因对于(例如,硬件)编码器可能是不太有用的—也就是说,模式2可以导致与用于对色度块进行解码的变换类型不同的、用于对色度块进行编码的变换类型。当编译块的色度块使用编译块的对应亮度块的变换类型时,作为编解码器的标准特征或者作为对用信号发送色度变换类型模式的模式2的选择的结果,修改编码过程能够解决可能不同的变换类型的这个问题。
可以使用多种技术来修改编码过程以解决当编译块的色度块被要求使用编译块的对应亮度块的变换类型时可能与色度块的变换类型冲突的问题。如以上所提及的,当亮度块在编码期间使用非默认变换类型(例如,非DCT)来对其残差块进行变换,但是稍后改变为默认变换类型(例如,在变换后的块中诸如在执行了量化的量化之后不存在非零系数)时,可能发生这种失配。
如先前指出的,帧通常被划分成对于编码过程具有相同大小的非重叠块(例如,超级块),诸如块610。然后可以将这些块中的至少一些分区成编译单元或块,例如,如关于图6所描述的那样分开地预测的块。可以如以上关于图4所描述的那样预测亮度编译块,即,编译块的光亮度信息。也就是说,可以为亮度编译块生成预测块,并且可以将亮度残差块生成为亮度编译块与亮度预测块之间的差异。该亮度残差块然后可以被变换和编码到比特流中(例如,在量化之后)。在一些实施方式中,亮度残差块可以被分区成使用相同或不同的变换类型分开地变换的多个亮度变换块。
包含编译块的色彩度信息的相应的色度编译块与亮度编译块相关联。色度编译块的变换类型在它取决于亮度编译块的变换类型时,在所得的亮度残差块未被分区以进行变换时采用亮度编译块的单一变换类型。当所得的亮度残差块被分区以进行变换时,可以使用任何亮度变换。期望地,使用第一亮度变换,即,编译单元或块在亮度变换块的编译次序——诸如关于图6描述的编译次序——中的第一亮度变换块的变换类型。
在色度变换类型遵循编译块内的第一亮度变换类型的情况下,用于解决依赖问题的一种技术是即使除默认变换类型以外的变换类型会对亮度变换块产生更好的编译效率,也在编码期间对于编译块内的第一亮度变换块强迫使用默认变换类型(例如,DCT)。色度变换类型然后将是默认变换类型,使得即使当第一亮度变换块在变换之后没有非零系数时,也使用相同的变换类型来对色度变换块进行编码和解码。强迫使用默认变换类型能够包括基于块在编译块内的方位并且在不考虑其他可用的变换类型的情况下将第一亮度变换块的亮度变换类型设置为默认变换类型。尽管不太期望,但是强迫使用默认变换类型能够包括为第一亮度变换块以及编译块的其他亮度变换块确定初始亮度变换类型,然后在变换之前将其改变为默认变换类型作为最终亮度变换类型。最终亮度变换类型(即,默认变换)然后将用于所对应的色度编译块。
另一技术可以是使用亮度变换类型作为色度变换类型,即使在亮度变换类型是除默认变换类型以外的变换类型的情况下也如此,同时取决于在变换之后依据(例如,第一)亮度变换块的量化系数来选择性地修改色度变换块。当系数都为零(即,没有非零系数)时,可以将色度变换块的所有系数强迫为零。这可以是例如通过诸如在编码器400的量化单元430中存储变换后的亮度变换块的亮度系数、以及在亮度系数均没有非零值并且色度变换类型是除默认变换类型以外的变换类型时将色度变换块在变换之后的系数(例如,通过量化)设置为零而完成的。在所有量化系数都为零的情况下,色度变换类型在其编译过程中没有区别。也就是说,在编码器处编码期间编码过程中的变换类型可以是除默认变换类型以外的变换类型,而在解码器处的解码过程中的变换类型可以是默认变换类型过程,但是在编码器和解码器中的每一者处经重建的亮度编译块是相同的。
又一种技术能够使用所存储的亮度系数来解决亮度变换依赖问题。特别地,当初始亮度变换类型以及因此色度变换类型是除默认变换类型以外的变换类型时,可以例如在变换单元420处对于色度编译块执行两种变换。色度编译块可以使用初始亮度变换类型被变换成第一变换后的色度块并且使用默认变换类型被变换成第二变换后的色度块。如果没有非零亮度系数(即,量化系数都是零),则第二变换后的色度变换块可以(例如,通过量化和熵编译)被编码到比特流中。相比之下,如果存在非零亮度系数,则第一变换后的色度变换块可以(例如,通过量化和熵编译)被编码到比特流中。
可以在图像内分开地或一起使用以上技术。例如,编解码器的默认条件可能要求所有色度编译块都使用对应块的亮度变换类型。在这些情况下,编码器可以实现修改编码过程以消除编码器和解码器处的重建亮度块之间的任何失配的上述技术中的一种或多种技术。例如,一种技术可以用于编码器处的图像的块、切片、某个其他部分或整个图像。另一技术可以用于编码器处的图像的块、切片或某个其他部分。一种或多种技术可以在编码器处用于当前图像,并且当当前图像是诸如视频序列310的帧320的一系列图像中的一个时,可以在编码器处对于序列的另一图像或帧使用相同的或一种或多种不同的技术。
如与关于对亮度变换类型的选择的默认决定相反,可以明确地使用诸如上述模式1至4中的一种或多种的一种或多种亮度变换类型模式来做出关于对亮度变换类型的选择的决定。这将涉及为图像或图像的部分在比特流内用信号发送亮度变换类型模式。一种或多种模式可以在编码器处用于当前图像,并且当当前图像是诸如视频序列310的帧320的一系列图像中的一个时,可以在编码器处对于序列的另一图像或帧使用相同的或一种或多种不同的模式。
在用于图像或图像的部分的模式中的一种模式是要求所有色度编译块使用对应块的亮度变换类型的模式(即,以上模式4)的情况下,编码器的一些实施方式可以可选地实现修改编码过程以消除编码器和解码器处的重建亮度块之间的任何失配的上述技术中的一种或多种技术。
在下面从图7开始描述这些技术的进一步细节,图7是根据本公开的实施方式的用于编码的方法700的示例的流程图。可以在诸如图4所示的编码器400的编码器中实现方法700。在下面的某些示例中,描述图像的图像数据。这也涵盖视频数据的各个帧中的图像数据,如此在一些示例中可以被称为视频数据。
如图7所示,方法700可以包括在702处将要编码的当前图像分区成多个编译块。编译块的示例可以包括与图6所示的残差块610、620、6330、640、650相对应的块。尽管在图7中未明确地示出,但是方法700可以包括获得可以是诸如视频帧330的输入图像的当前图像。
在704处,开始按编译次序诸如按关于图6描述的编译次序来处理编译块。在704处,为包括编译块的光亮度信息的亮度编译块生成亮度预测块。亮度预测块可以是通过如以上关于帧内/帧间预测单元410所描述的那样使用预测来预测亮度编译块而生成的。在706处,生成亮度残差块作为亮度编译块与亮度预测块之间的差异。
在708处,在使用亮度变换类型来对亮度变换块进行变换之后生成量化亮度块。例如,可以在编码器400的变换单元420处使用亮度变换类型来对亮度变换块进行变换,并且可以在编码器400的量化单元430处对变换后的亮度块(即,变换后的亮度块的变换系数)进行量化。亮度变换类型可以是作为默认变换类型的初始变换类型或者是来自诸如以上关于图4描述的那些变换类型的可用的变换类型集的另一变换类型。在一些实施方式中,可以选择亮度变换类型以使亮度变换块的压缩最大化或者以其他方式使编译效率最大化(例如,优化率/失真误差)。可以通过诸如在率-失真环路内测试不同的变换类型的任何技术来确定亮度变换类型。可以根据例如取决于亮度变换块的特性的规则集来确定亮度变换类型,诸如基于什么预测模式被用于预测、亮度变换块的大小等来确定亮度变换类型。根据用于消除色度编译块中的重建误差的上述技术,可以在一些实施方式中将亮度变换类型强迫为默认变换类型。
在变换之后,诸如在编码器400的变换单元420处,所生成的量化亮度块被熵编码到诸如压缩比特流404的比特流中。对变换后的亮度块进行熵编码可以在410处在编码器的熵编码单元处发生,诸如在熵编码单元440处发生。如由从710到708的箭头所示,这些步骤可以被重复。例如,在一些实施方式中,亮度变换块可以按亮度变换类型(例如,作为可分开的一维变换)被整体地变换。在其他实施方式中,在708和710处亮度残差块可以被分区成多个亮度变换块以按多个亮度变换块的编译次序被处理。例如,可以确定多个亮度变换块中的每一个的相应的亮度变换类型以用于在708处生成相应的量化亮度块,并且在710处对量化亮度块进行熵编码然后包括对量化亮度块中的每一个进行熵编码。
如从本描述清楚的,可以存在仅一种亮度变换类型,或者可以存在与亮度编译块相关联的多种亮度变换类型。在存在多种亮度变换类型的情况下,对于色度变换类型被要求使用亮度变换类型的那些实施方式,为编译块在多个亮度变换块的编译次序中的第一亮度变换块确定的亮度变换类型可以被认为是亮度编译块的亮度变换类型。
在色度变换类型被要求使用亮度变换类型的一些实施方式中,亮度变换块的亮度变换类型可以在不考虑其对色度变换类型的影响的情况下被确定为默认变换类型或除默认变换类型以外的变换类型。此后,当亮度变换类型(例如,初始亮度变换类型)是除默认变换类型以外的变换类型时,可以在对亮度变换块进行变换之前将亮度变换类型改变为默认变换类型(例如,最终亮度变换类型)。与在变换和量化之后将亮度变换类型改变为默认变换类型对比,这允许色度变换类型在编码器处对于量化采用最终亮度变换类型代替初始亮度变换类型,从而在色度编译块的编码和解码期间防止编码过程之间的失配或者防止在变换类型改变之后在编码器处对色度块进行重新编码。
在一些实施方式中,并且对于一些块,能够将亮度变换类型强迫为默认变换类型。这会降低编译效率,因为默认变换类型与亮度块的最优变换类型相比可能是不太高效的。然而,它消除了色度块的取决于亮度变换类型的任何编译问题。由于这种技术的效率降低,因此可能更期望在亮度残差块被分区成亮度变换块以进行变换时使用这种技术。然后,编译块在亮度变换块的编译次序中的第一亮度变换块的亮度变换类型可以被确定为默认变换类型。色度块能够使用这种亮度变换类型。其他亮度变换块能够使用相同或不同的亮度变换类型,期望是但不一定是使率-失真误差最小化的变换类型。在一些实施方式中,即使在除默认变换类型以外的变换类型确实或者将会提高亮度块的编译效率的情况下,默认变换类型的使用也会发生。
在712处,针对包括编译块的色彩度信息的色度编译块开始处理。尽管关于一个色度编译块描述此方法700,但是作为示例,如以上关于图6所指出的那样存在与亮度编译块相关联的两个色度编译块。因此,与色度编译块相关联的方法700的步骤可以被相应地应用于每个色度编译块。通常,与对应的亮度编译块相关联的色度编译块使用相同技术来确定色度变换类型,因此使用相同的色度变换类型,但这不是必要的。
在712处,为色度编译块生成色度预测块。色度预测块可以是通过如以上关于帧内/帧间预测单元410所描述的那样使用预测来预测色度编译块而生成的。在714处,生成色度残差块作为色度编译块与色度预测块之间的差异。
在716处,为色度编译块的色度残差块确定初始色度变换类型。在一些实施方式中,初始色度变换类型是根据诸如上述模式中的一种模式的色度变换类型模式而确定的。在一些实施方式中,无论是使用还是不使用色度变换类型模式,初始色度变换类型都被确定为亮度变换类型。在一些实施方式中,可以选择色度变换类型以使色度变换块的压缩最大化或者以其他方式使编译效率最大化(例如,优化率/失真误差)。可以通过诸如在率-失真循环内测试不同的变换类型的任何技术来确定色度变换类型。色度变换类型可以根据例如取决于色度变换块的特性的规则集来被确定,诸如基于什么预测模式被用于预测、亮度变换块的大小等来确定色度变换类型。
在718处,在按最终色度变换类型对色度残差块进行变换之后生成量化色度块。初始色度变换类型可以是默认变换类型或除默认变换类型以外的变换类型。当初始色度变换类型是默认变换类型时,最终色度变换类型是默认变换类型。当初始亮度变换类型是除默认变换类型以外的变换类型时,最终亮度变换类型可以在亮度变换类型不取决于亮度变换类型(例如,模式1、3或4中的一种模式被使用)时与初始亮度变换类型未改变。当初始亮度变换类型是除默认变换类型以外的变换类型时,最终亮度变换类型可以是初始色度变换类型或默认变换类型。
当色度变换类型取决于亮度变换类型时,最终色度变换类型、量化色度块的量化系数或两者可以取决于量化亮度块的量化系数。例如,根据上述技术,响应于量化亮度块没有非零系数并且初始色度变换类型是除默认变换类型以外的变换类型,量化色度块中的所有量化系数都在对量化色度块进行编码之前被设置为零。在这种情形下,初始色度变换类型未改变(最终色度变换类型是初始色度变换类型)并且用于(例如,在编码器400的变换单元420处)对亮度残差块进行变换。诸如编码器400的量化单元430的量化单元可以存储或以其他方式访问量化亮度块的量化系数,并且当量化亮度系数均不具有非零值时,变换后的亮度块(即,变换后的亮度块的变换系数)被量化为零。如果存在量化亮度块的至少一个非零量化系数,则初始亮度变换类型也未改变(最终色度变换类型是初始色度变换类型),但是诸如编码器400的量化单元430的量化单元根据标准处理——利用可能对于量化色度块的至少一些系数导致非零值的量化器或量化参数来对色度残差块进行量化。
对于当前图像的其他编译块,或者在当前图像是视频序列的其他帧的情况下,对于其他帧的编译块,可以使用色度变换类型取决于也依靠量化亮度块的量化系数的亮度变换类型的另一技术。在718处,这能够包括使用默认变换类型来对色度残差块进行变换以生成第一色度变换块并且使用初始色度变换类型来对色度残差块进行变换以生成第二色度变换块(例如,在初始色度变换类型是除默认变换类型以外的变换类型的情况下)。能够在编码器400的变换单元420处执行这个。此后,可以响应于量化亮度块没有非零系数来选择第一色度变换块以用于生成量化亮度块,否则,可以选择第二色度变换块以用于生成量化亮度块。如上所述,在考虑量化亮度块的由量化单元存储或以其他方式访问的系数之后,这可以在诸如编码器400的量化单元430的量化单元处被执行。
在718处生成量化色度块之后,在720处将量化色度块熵编码到比特流中。比特流可以是压缩比特流404。对变换后的色度块进行熵编码可以在720处在编码器的熵编码单元处发生,诸如在熵编码单元440处发生。
如由从720到704的箭头所示,可以对于当前图像的编译块重复这些步骤。在当前图像是图像的序列的部分的情况下,也可以对于另一图像的一些或所有编译块重复方法700。作为上述处理的结果,对于一个或多个编译块,色度编译块的色度变换类型可以在编码器和解码器处不同。即使在这样的情况下,当被重建时的色度变换块也在编码器和解码器两者处相同。
图8是根据本公开的实施方式的解码的方法800的示例的流程图。方法800可以被实现在诸如图5所示的解码器500的解码器中,或者可以被实现在图4所示的编码器400的重建路径中。除了如本文描述的那样或如从上下文另外清楚的那样之外,方法800可以类似于如图7所示的方法700。
在802处,在解码器处接收比特流,诸如压缩比特流502。可以经由诸如图2所示的网络220的有线或无线电子通信介质来接收比特流,或者从诸如图1所示的存储器110的电子数据存储介质读取比特流。比特流包括被分区成多个编译块的当前图像的多个编码的编译块。可以根据上述方法700对编译块进行编码。在实施方式中,如按色度残差块的初始色度变换类型被确定为亮度变换类型的变化而描述的那样对编译块中的至少一个进行编码,并且使用按最终色度变换类型而变换的色度残差块来生成量化色度块,其中,当初始色度变换类型是除默认变换类型以外的变换类型时,最终色度变换类型是初始色度变换类型或默认变换类型,并且量化色度块的量化系数取决于量化亮度块的量化系数。
在804处,编译块的亮度变换块的处理通过对量化亮度块进行熵解码而开始。熵解码可以包括(例如,在熵解码单元510处)对量化亮度块的量化变换系数进行熵解码。在806处,(例如,在去量化单元520处)通过对量化变换系数进行去量化来生成去量化亮度块。
在808处,通过使用亮度变换类型来对去量化亮度块进行变换而生成亮度残差块。当在比特流内没有识别亮度变换类型的比特时,亮度变换类型可以被推理为默认变换类型。亮度变换类型可以是除默认变换类型以外的变换类型。在一些实施方式中,从包括识别亮度变换类型的比特的比特流中对报头进行解码。比特可以将来自可用的变换类型集的变换类型识别为亮度变换类型。对去量化亮度块进行变换可以在诸如图5的逆变换单元530的逆变换单元处发生。
可以对于在比特流内编码的编译块的多个量化亮度块中的每一个重复步骤804、806和808,其中亮度残差块被分区以供在编码期间变换成多个亮度变换块。在这样的实施方式中,在808处通过组合多个亮度变换块然后对其进行去量化和逆变换来生成亮度残差块。
在810处,为亮度编译块生成亮度预测块。在811处生成亮度预测块可以使用用于在方法700中生成亮度预测块的相同预测模式来完成。此预测可以由诸如解码器500的帧内/帧间预测单元540的解码器的帧内/帧间预测单元执行。可以在812处通过将亮度预测块添加到亮度残差块来生成或重建亮度编译块。
在814处,对在比特流内编码的编译块的量化色度块进行熵解码。在814处对量化色度块进行熵解码能够包括在熵解码单元510处对量化变换系数进行熵解码。此后,在816处,(例如,在去量化单元520处)对量化亮度块的量化变换系数进行去量化。
在818处,确定去量化色度块的色度变换类型。对于至少一个编译块,可以将最终色度变换类型确定为亮度变换类型。这可以是解码器的默认设定。在一些实施方式中,确定色度变换类型能够包括从比特流中对识别色度变换类型模式的一个或多个比特进行解码,其中,色度变换类型模式是相应地定义如何为至少一个色度变换块确定色度变换类型的可用的多种色度变换类型模式中的一种模式。然后,该色度变换类型模式可以用于确定最终色度变换类型。例如,模式2规定色度变换类型是亮度变换类型。在色度变换类型模式是色度编译块使用候选变换类型集中的一种候选变换类型而不管对应的亮度编译块的变换类型如何的模式的情况下,确定色度变换类型也能够包括从比特流中对识别色度变换类型的一个或多个附加比特进行解码。例如,在一个或多个附加比特可以在为编码器和解码器两者已知的可用的变换类型的列表内识别索引的情况下。
在820处,通过在诸如逆变换单元530的逆变换单元处使用色度变换类型来对去量化色度块进行变换而生成色度残差块。因为在图7的示例中包括编译块的色彩度信息的色度编译块的色度残差块未被分区,所以没有与要解码的编译块相关联的进一步的色度编译块。
在822处,为色度编译块生成色度预测块。在820处生成色度预测块可以使用用于在方法700中生成色度预测块的相同预测模式来完成。此预测可以由解码器的诸如帧内/帧间预测单元540的帧内/帧间预测单元执行。可以在824处通过将色度预测块添加到色度残差块来生成或重建色度编译块。
在826处,可以(例如,在重建单元550处)通过组合亮度编译块和色度编译块来重建编译块。
可以对于当前图像的一些或所有编译块或者序列中当前图像是该序列的部分的另一图像的编译块重复方法800。
如本文所使用的,除非如本文明确地描述的或另外从上下文清楚,术语“集合”指示可以被表示为一维数组或矢量的零个或更多个不同的元素或成员的可区分合集或分组。
单词“示例”、“实施方式”或“方面”及其变化在本文中用于意指用作示例、实例或图示。如此描述的任何方面或设计不一定被解释为相较于其他方面或设计是优选的或有利的。相反,这些单词的使用旨在以具体方式呈现构思。此外,除非像这样描述,否则术语“实施例”或“实施方式”或“方面”自始至终的使用不旨在意指同一实施例或实施方式。
如本申请中使用的,术语“或”旨在意指包括性“或”,而不是排他性“或”。也就是说,除非另外指定,或者从上下文清楚,否则“X包括A或B”旨在意指任何自然包括性置换。也就是说,如果X包括A;X包括B;或者X包括A和B两者,则“X包括A或B”在任何前述实例下被满足。另外,除非另外指定或者从上下文清楚为针对单数形式,否则如本申请和所附权利要求中使用的冠词“一”和“一个”通常应该被解释为意指“一个或多个”。如本文所使用的,术语“确定”、“识别”、“生成”或其任何变化包括使用图1所示的设备中的一个或多个来以任何方式选择、探知、计算、查找、接收、确定、建立、获得或以其他方式识别或确定。
此外,为了说明的简单,尽管本文的图和描述可以包括步骤或阶段的序列或系列,但是本文公开的方法的要素能够按各种次序和/或并发地发生。附加地,本文公开的方法的要素可以与本文未显式地呈现和描述的其他要素一起发生。此外,可以从根据所公开的主题的方法的实施方式中省略本文描述的方法的一个或多个要素。
发送计算与通信设备100A和/或接收计算与通信设备100B的实施方式(以及存储在其上和/或由其实行的算法、方法、指令等)能够用硬件、软件或其任何组合来实现。硬件能够包括例如计算机、知识产权(IP)核、专用集成电路(ASIC)、可编程逻辑阵列、光处理器、可编程逻辑控制器、微码、微控制器、服务器、微处理器、数字信号处理器或任何其他合适的电路。在权利要求中,术语“处理器”应该被理解为单独地或相结合地涵盖任何前述硬件。术语“信号”和“数据”可互换地使用。此外,不一定必须以相同方式实现发送计算与通信设备100A和接收计算与通信设备100B的部分。
此外,在一个实施方式中,例如,发送计算与通信设备100A或接收计算与通信设备100B能够使用计算机程序来实现,该计算机程序当被实行时,执行本文描述的任何相应的方法、算法和/或指令。另外,或可替代地,例如,能够利用专用计算机/处理器,该专用计算机/处理器能够包含用于执行本文描述的任何方法、算法或指令的专门硬件。
能够例如在实时视频系统中的计算机上实现发送计算与通信设备100A和接收计算与通信设备100B。可替代地,发送计算与通信设备100A能够被实现在服务器上,并且接收计算与通信设备100B能够被实现在诸如手持通信设备的与服务器分开的设备上。在此实例中,发送计算与通信设备100A能够使用编码器400来将内容编码成编码视频信号并且将该编码视频信号发送到通信设备。进而,通信设备然后能够使用解码器500来对编码视频信号进行解码。可替代地,通信设备能够对在本地存储在通信设备上的内容——例如不是由发送计算与通信设备100A发送的内容——进行解码。其他合适的发送计算与通信设备100A和接收计算与通信设备100B实施方式方案是可用的。例如,接收计算与通信设备100B可以是通常固定的个人计算机而不是便携式通信设备,并且/或者包括编码器400的设备也可以包括解码器500。
此外,实施方式的全部或部分能够采取从例如有形计算机可用或计算机可读介质可访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是能够例如有形地包含、存储、传送或输送程序以供由任何处理器使用或者连同任何处理器一起使用的任何设备。介质可以是例如电子、磁、光、电磁或半导体设备。其他合适的介质也是可用的。
应领会,能够以任何方便的形式实现各方面。例如,可以通过适当的计算机程序来实现各方面,所述适当的计算机程序可以被承载在适当的载体介质上,所述适当的载体介质可以是有形载体介质(例如磁盘)或无形载体介质(例如通信信号)。各方面也可以使用合适的装置来实现,所述合适的装置可以采取可编程计算机的形式,所述可编程计算机实行被布置成实现本文公开的方法和/或技术的计算机程序。各方面能够被组合,使得在一个方面的上下文中描述的特征可以在另一方面中被实现。
在以下示例中概括进一步的实施方式:
示例1:一种方法,所述方法包括:将要编码的当前图像分区成多个编译块;以及对于所述当前图像的所述多个编译块中的编译块:为包括所述编译块的光亮度信息的亮度编译块生成亮度预测块;生成亮度残差块作为所述亮度编译块与所述亮度预测块之间的差异;在使用亮度变换类型来对所述亮度残差块进行变换之后生成量化亮度块;将所述量化亮度块熵编码到比特流中;为包括所述编译块的色彩度信息的色度编译块生成色度预测块;生成色度残差块作为所述色度编译块与所述色度预测块之间的差异;根据相应地定义如何确定所述色度变换类型的多个可用的色度变换类型模式中的色度变换类型模式来为色度编译块确定色度变换类型,其中,所述可用的多种色度变换类型模式包括以下模式中的至少两种:色度编译块使用默认变换类型的模式;色度编译块使用对应的亮度编译块的变换类型的模式;色度编译块使用候选变换类型集中的一种候选变换类型而不管对应的亮度编译块的变换类型如何的模式;或者色度编译块使用取决于用于预测所述色度编译块的预测模式的变换类型的模式;使用按所述色度变换类型而变换的所述色度残差块来生成量化色度块;将所述量化色度块熵编码到所述比特流中;以及在所述比特流中发送识别所述色度变换类型模式的一个或多个比特。
示例2:根据示例1所述的方法,其中,所述色度变换类型模式是色度编译块使用候选变换类型集中的一种候选变换类型的模式,所述方法包括:在所述比特流中发送识别所述候选变换类型集内的所述色度变换类型的一个或多个比特。
示例3:根据示例2所述的方法,其中,所述亮度变换类型包括除所述默认变换类型以外的,所述方法包括:在所述比特流中发送识别所述候选变换类型集内的所述亮度变换类型的一个或多个比特。
示例4:根据示例2所述的方法,其中,所述亮度变换类型包括除所述默认变换类型以外的变换类型,所述方法包括:在所述比特流中发送识别第二候选变换类型集内的所述色度变换类型的一个或多个比特。
示例5:根据示例1所述的方法,其中:所述色度变换类型模式是色度编译块将对应的亮度编译块的变换类型用于变换的所述模式;并且确定所述色度变换类型包括将所述色度残差块的初始色度变换类型确定为所述亮度变换类型,所述方法包括:使用最终色度变换类型来对所述色度残差块进行变换;以及生成所述量化色度块包括使用按所述最终色度变换类型而变换的所述色度残差块来生成所述量化色度块,其中,当所述初始色度变换类型是除所述默认变换类型以外的变换类型时,所述最终色度变换类型是所述初始色度变换类型或所述默认变换类型,并且所述量化色度块的量化系数取决于所述量化亮度块的量化系数。
示例6:根据示例5所述的方法,包括:响应于所述量化亮度块没有非零系数并且所述初始色度变换类型是除所述默认变换类型以外的所述变换类型,在对所述量化色度块进行熵编码之前将所述量化色度块中的所有量化系数都设定为零。
示例7:根据示例1所述的方法,其中,所述亮度变换类型是除所述默认变换类型以外的变换类型,所述方法包括:使用所述默认变换类型来对所述色度残差块进行变换以生成第一色度变换块;使用所述亮度变换类型来对所述色度残差块进行变换以生成第二色度变换块;以及响应于所述量化亮度块没有非零系数来选择所述第一色度变换块以用于生成所述量化亮度块,否则,选择所述第二色度变换块以用于生成所述量化亮度块。
示例8:一种方法,所述方法包括:接收比特流,所述比特流包括被分区成多个编译块的当前图像的编码的编译块;以及对于包括亮度编译块和色度编译块的所述多个编译块中的编译块,所述亮度编译块包括所述编译块的光亮度信息,并且所述色度编译块包括所述编译块的色彩度信息:从所述比特流中对量化亮度块进行熵解码;通过对所述量化亮度块进行去量化来生成去量化亮度块;通过使用亮度变换类型来对所述去量化亮度块进行变换而生成亮度残差块;为所述亮度编译块生成亮度预测块;通过将所述亮度预测块添加到所述亮度残差块来生成所述亮度编译块;从所述比特流中对量化色度块进行熵解码;通过对所述量化色度块进行去量化来生成去量化色度块;从所述比特流中对识别色度变换类型模式的一个或多个比特进行解码,其中,所述色度变换类型模式是相应地定义如何为至少一个色度变换块确定色度变换类型的可用的多种色度变换类型模式中的一种模式,其中,所述可用的多种色度变换类型模式包括以下模式中的至少两种:色度编译块使用默认变换类型的模式;色度编译块将对应的亮度编译块的变换类型用于解码的模式;色度编译块使用候选变换类型集中的一种候选变换类型而不管对应的亮度编译块的变换类型如何的模式;或者色度编译块使用取决于用于预测所述色度编译块的预测模式的变换类型的模式;基于所述色度类型变换模式为所述去量化色度块确定色度变换类型;通过使用所述色度变换类型来对所述去量化色度块进行变换而生成色度残差块;为所述色度编译块生成色度预测块;通过将所述色度预测块添加到所述色度残差块来生成所述色度编译块;以及通过组合所述亮度编译块和所述色度编译块来重建所述编译块。
示例9:根据示例8所述的方法,其中,所述色度变换类型模式是色度编译块使用候选变换类型集中的一种候选变换类型的模式,所述方法包括:从所述比特流中对识别所述色度编译块的所述色度变换类型的一个或多个附加比特进行解码。
示例10:根据示例8所述的方法,其中:所述色度变换类型模式是色度编译块使用对应的亮度编译块的变换类型的模式;所述亮度变换类型包括除所述默认变换类型以外的变换类型;并且所述量化色度块的所有量化系数都是零。
示例11:根据示例8所述的方法,其中:所述色度变换类型模式是色度编译块将对应的亮度编译块的变换类型用于解码的模式;所述色度编译块通过以下操作被编码:将所述色度残差块的初始色度变换类型确定为所述亮度变换类型;使用最终色度变换类型来对所述色度残差块进行变换;以及使用按所述最终色度变换类型而变换的所述色度残差块来生成所述量化色度块;其中,当所述初始色度变换类型是除所述默认变换类型以外的变换类型时,所述最终色度变换类型是所述初始色度变换类型或所述默认变换类型,并且所述量化色度块的量化系数取决于所述量化亮度块的量化系数;以及为所述去量化色度块确定所述色度变换类型包括将所述色度变换类型确定为所述亮度变换类型。
示例12:根据示例11所述的方法,其中,所述色度编译块通过以下操作被编码:响应于所述量化亮度块没有非零系数并且所述初始色度变换类型是除所述默认变换类型以外的所述变换类型,在对所述量化色度块进行熵编码之前将所述量化色度块中的所有量化系数都设定为零。
示例13:根据示例8所述的方法,其中:所述色度变换类型模式是色度编译块将对应的亮度编译块的变换类型用于解码的模式;所述亮度变换类型是除所述默认变换类型以外的变换类型,并且所述色度编译块通过以下操作被编码:使用所述默认变换类型来对所述色度残差块进行变换以生成第一色度变换块;使用所述亮度变换类型来对所述色度残差块进行变换以生成第二色度变换块;以及响应于所述量化亮度块没有非零系数来选择所述第一色度变换块以用于生成所述量化亮度块,否则,选择所述第二色度变换块以用于生成所述量化亮度块。
示例14:根据示例8所述的方法,其中:所述多个编译块的至少一些亮度残差块被分区以用于按相应的亮度变换类型进行变换;所述色度变换类型模式是色度编译块将对应的亮度编译块的变换类型用于解码的模式;并且在所分区的亮度残差块的编码次序中首先定位的所分区的亮度残差块中的每一个的亮度变换类型是所述默认变换类型。
示例15:一种装置,所述装置包括:处理器,所述处理器被配置成执行根据示例1至14中的任一项所述的方法。
已经描述了上述实施方式,以便使得对本申请的容易理解不是限制性的。相反,本申请涵盖所附权利要求的范围内所包括的各种修改和等同布置,该范围将被赋予最广泛解释,以便涵盖根据法律所许可的所有这样的修改和等同结构。

Claims (15)

1.一种方法,所述方法包括:
将要编码的当前图像分区成多个编译块;以及
对于所述当前图像的所述多个编译块中的编译块:
为包括所述编译块的光亮度信息的亮度编译块生成亮度预测块;
生成亮度残差块作为在所述亮度编译块与所述亮度预测块之间的差异;
在使用亮度变换类型来对所述亮度残差块进行变换之后,生成量化亮度块;
将所述量化亮度块熵编码到比特流中;
为包括所述编译块的色彩度信息的色度编译块生成色度预测块;
生成色度残差块作为在所述色度编译块与所述色度预测块之间的差异;
将所述色度残差块的初始色度变换类型确定为所述亮度变换类型;
使用按最终色度变换类型而变换的所述色度残差块来生成量化色度块,其中,当所述初始色度变换类型是除默认变换类型以外的变换类型时,所述最终色度变换类型是所述初始色度变换类型或所述默认变换类型,并且所述量化色度块的量化系数取决于所述量化亮度块的量化系数;以及
将所述量化色度块熵编码到所述比特流中。
2.根据权利要求1所述的方法,包括:
响应于所述量化亮度块没有非零系数并且所述初始色度变换类型是除所述默认变换类型以外的所述变换类型,在对所述量化色度块进行熵编码之前将所述量化色度块中的所有量化系数设定为零。
3.根据权利要求1所述的方法,包括:
使用所述默认变换类型来对所述色度残差块进行变换以生成第一色度变换块;
使用所述初始色度变换类型来对所述色度残差块进行变换以生成第二色度变换块;以及
响应于所述量化亮度块没有非零系数来选择所述第一色度变换块以用于生成所述量化亮度块,以及否则,选择所述第二色度变换块以用于生成所述量化亮度块。
4.根据权利要求1所述的方法,其中,所述亮度变换类型包括除所述默认变换类型以外的所述变换类型,所述方法包括:
在对所述亮度残差块进行变换之前,将所述亮度变换类型改变为所述默认变换类型。
5.根据权利要求1所述的方法,包括:
对于所述当前图像的所述多个编译块中的其他编译块:
为包括所述编译块的光亮度信息的亮度编译块生成亮度预测块;
生成亮度残差块作为在所述亮度编译块与所述亮度预测块之间的差异;
为包括所述编译块的色彩度信息的色度编译块生成色度预测块;
生成色度残差块作为在所述色度编译块与所述色度预测块之间的差异;
将所述亮度残差块分区成多个亮度变换块;
为所述多个亮度变换块中的每一个确定相应的亮度变换类型,包括:在除所述默认变换类型以外的变换类型会提高所述第一亮度变换块的编译效率的情况下,确定在所述多个亮度变换块的编译次序中的所述编译块的第一亮度变换块的所述亮度变换类型是所述默认变换类型;
将色度变换类型确定为所述第一亮度变换块的所述亮度变换类型;
在变换之后对所述多个亮度变换块中的每一个进行量化以生成相应的量化亮度变换块;
使用按所述色度变换类型而变换的所述色度残差块来生成量化色度块;
将所述量化亮度变换块中的每一个熵编码到所述比特流中;以及
将所述量化色度块熵编码到所述比特流中。
6.根据权利要求1所述的方法,其中,所述当前图像是视频序列的帧,所述方法包括,对于所述视频序列的其他帧:
将所述其他帧分区成多个编译块;以及
对于所述当前图像的所述多个编译块中的编译块:
为包括所述编译块的光亮度信息的亮度编译块生成亮度预测块;
生成亮度残差块作为在所述亮度编译块与所述亮度预测块之间的差异;
为包括所述编译块的色彩度信息的色度编译块生成色度预测块;
生成色度残差块作为在所述色度编译块与所述色度预测块之间的差异;
将所述亮度残差块分区成多个亮度变换块;
为所述多个亮度变换块中的每一个确定相应的亮度变换类型,包括:确定在所述多个亮度变换块的编译次序中的所述编译块的第一亮度变换块的所述亮度变换类型是除默认变换类型以外的变换类型;
在对所述第一亮度变换块进行变换之前,将所述第一亮度变换块的所述亮度变换类型改变为所述默认变换类型;
在改变所述亮度变换类型之后,将色度变换类型确定为所述第一亮度变换块的所述亮度变换类型;
在变换之后对所述多个亮度变换块中的每一个进行量化以生成相应的量化亮度变换块;
使用按所述色度变换类型而变换的所述色度残差块来生成量化色度块;
将所述量化亮度变换块中的每一个熵编码到所述比特流中;以及
将所述量化色度块熵编码到所述比特流中。
7.根据权利要求1所述的方法,其中,将所述色度残差块的所述初始色度变换类型确定为所述亮度变换类型是与相应地定义如何确定所述色度变换类型的可用的多个色度变换类型模式中的色度变换类型模式相对应,所述方法包括:
在所述比特流中发送识别所述色度变换类型模式的一个或多个比特。
8.根据权利要求1所述的方法,其中,所述当前图像是视频序列的帧,所述方法包括,对于所述视频序列的其他帧:
将所述其他帧分区成多个编译块,每个编译块包括亮度编译块和色度编译块,所述亮度编译块包括所述编译块的光亮度信息,所述色度编译块包括所述编译块的色彩度信息;
根据相应地定义如何确定所述色度变换类型的可用的多种色度变换类型模式中的色度变换类型模式来为至少一个色度编译块确定色度变换类型,
其中,所述多种色度变换类型模式包括以下中的至少两种:
色度编译块使用所述默认变换类型的模式;
色度编译块使用对应的亮度编译块的变换类型的模式;
色度编译块使用候选变换类型集中的一种候选变换类型而不管对应的亮度编译块的变换类型的模式;或者
色度编译块使用取决于用于预测所述色度编译块的预测模式的变换类型的模式;
在所述比特流中发送识别所述色度变换类型模式的一个或多个比特。
9.根据权利要求8所述的方法,其中,所述色度变换类型模式是色度编译块使用候选变换类型集中的一种候选变换类型的模式,所述方法包括:
在所述比特流中发送识别所述候选变换类型集内的所述色度变换类型的一个或多个比特。
10.一种方法,包括:
接收包括被分区成多个编译块的当前图像的编码的编译块的比特流,所述多个编译块中的编译块通过以下操作被编码:
为包括所述编译块的光亮度信息的亮度编译块生成亮度预测块;
生成亮度残差块作为在所述亮度编译块与所述亮度预测块之间的差异;
在使用亮度变换类型来对所述亮度残差块进行变换之后生成量化亮度块;
将所述量化亮度块熵编码到比特流中;
为包括所述编译块的色彩度信息的色度编译块生成色度预测块;
生成色度残差块作为在所述色度编译块与所述色度预测块之间的差异;
将所述色度残差块的初始色度变换类型确定为所述亮度变换类型;
使用按最终色度变换类型而变换的所述色度残差块来生成量化色度块,其中,当所述初始色度变换类型是除默认变换类型以外的变换类型时,所述最终色度变换类型是所述初始色度变换类型或所述默认变换类型,并且所述量化色度块的量化系数取决于所述量化亮度块的量化系数;以及
将所述量化色度块熵编码到所述比特流中;
对所述量化亮度块进行熵解码;
通过对所述量化亮度块进行去量化来生成去量化亮度块;
通过使用所述亮度变换类型来对所述去量化亮度块进行变换而生成所述亮度残差块;
为所述亮度编译块生成亮度预测块;
通过将所述亮度预测块添加到所述亮度残差块来生成所述亮度编译块;
对所述量化色度块进行熵解码;
通过对所述量化色度块进行去量化来生成去量化色度块;
将所述去量化色度块的色度变换类型确定为所述亮度变换类型;
通过使用所述色度变换类型来对所述去量化色度块进行变换而生成所述色度残差块;
为所述色度编译块生成色度预测块;
通过将所述色度预测块添加到所述色度残差块来生成所述色度编译块;以及
通过组合所述亮度编译块和所述色度编译块来重建所述编译块。
11.根据权利要求10所述的方法,包括:
从所述比特流中对识别色度变换类型模式的一个或多个比特进行解码,其中,所述色度变换类型模式是相应地定义如何为至少一个色度变换块确定所述色度变换类型的可用的多种色度变换类型模式中的一种。
12.根据权利要求11所述的方法,其中,所述多种色度变换类型模式包括以下中的至少两种:
色度编译块使用所述默认变换类型的模式;
色度编译块将对应的亮度编译块的变换类型用于变换的模式;
色度编译块使用候选变换类型集中的一种候选变换类型而不管对应的亮度编译块的变换类型的模式;或者
色度编译块使用取决于用于预测所述色度编译块的预测模式的变换类型的模式。
13.根据权利要求11所述的方法,其中,使用其中色度编译块使用候选变换类型集中的一种候选变换类型而不管对应的亮度编译块的变换类型的色度变换类型模式来将所述当前图像的所述多个编译块中的至少一些编码,其中,所述方法包括:
从所述比特流中对识别所述当前帧的其他色度编译块的所述色度变换类型的一个或多个附加比特进行解码。
14.根据权利要求10所述的方法,其中,所述亮度变换类型包括除所述默认变换类型以外的所述变换类型,并且所述量化色度块的所有量化系数是零。
15.一种装置,包括:
处理器,所述处理器被配置成执行根据权利要求1至14中的任一项所述的方法。
CN202180091033.XA 2021-01-25 2021-01-25 色度变换类型确定 Pending CN116783890A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/014955 WO2022159115A1 (en) 2021-01-25 2021-01-25 Chroma transform type determination

Publications (1)

Publication Number Publication Date
CN116783890A true CN116783890A (zh) 2023-09-19

Family

ID=74595467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180091033.XA Pending CN116783890A (zh) 2021-01-25 2021-01-25 色度变换类型确定

Country Status (4)

Country Link
US (1) US20240089433A1 (zh)
EP (1) EP4252419A1 (zh)
CN (1) CN116783890A (zh)
WO (1) WO2022159115A1 (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9743091B2 (en) * 2012-12-17 2017-08-22 Lg Electronics Inc. Method for encoding/decoding image, and device using same
US9648330B2 (en) * 2013-07-15 2017-05-09 Qualcomm Incorporated Inter-color component residual prediction
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
EP3509298A4 (en) * 2016-09-30 2020-07-22 LG Electronics Inc. -1- METHOD AND DEVICE FOR BLOCK PARTITIONING AND INTRAPREDICATION IN AN IMAGE CODING SYSTEM
KR102418700B1 (ko) * 2017-12-04 2022-07-08 엘지전자 주식회사 영상 코딩 시스템에서 크로마 성분의 효율적 변환에 기반한 영상 디코딩 방법 및 장치
WO2020035827A1 (en) * 2018-08-16 2020-02-20 Beijing Bytedance Network Technology Co., Ltd. Implicit coding for transform matrix selection
US10819979B2 (en) * 2018-09-06 2020-10-27 Tencent America LLC Coupled primary and secondary transform
CA3162583C (en) * 2019-11-22 2024-02-13 Lg Electronics Inc. Image encoding/decoding method and device using lossless color transform, and method for transmitting bitstream

Also Published As

Publication number Publication date
WO2022159115A1 (en) 2022-07-28
US20240089433A1 (en) 2024-03-14
EP4252419A1 (en) 2023-10-04

Similar Documents

Publication Publication Date Title
US11601644B2 (en) Image and video coding using machine learning prediction coding models
CN107027033B (zh) 一种用于使用贴片拷贝的视频编解码方法
CN110741645B (zh) 块效应减少
US20190313123A1 (en) Context adaptive scan order for entropy coding
US11765377B2 (en) Alpha channel prediction
US11849113B2 (en) Quantization constrained neural image coding
US20230308679A1 (en) Motion prediction coding with coframe motion vectors
CN107079156B (zh) 用于交替块约束决策模式代码化的方法
CN110720223B (zh) 使用双去块滤波阈值来进行视频代码化的方法
US10951921B2 (en) Adjustable per-symbol entropy coding probability updating for image and video coding
US20240089433A1 (en) Chroma Transform Type Determination
US11012714B1 (en) Image coding using lexicographic coding order with floating block-partitioning
US20230291925A1 (en) Inter-Intra Prediction With Implicit Models
US20240187566A1 (en) Warped reference list for warped motion video coding
WO2024158792A1 (en) Hybrid vector and scalar coefficient coding for image and video compression
WO2024005777A1 (en) Circular-shift transformation for image and video coding

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