切换色彩空间时对编码和解码的调整的制作方法

文档序号:13110248阅读:399来源:国知局
背景工程师使用压缩(也叫做源编码(sourcecoding或sourceencoding))来降低数字视频的比特率。压缩通过将视频信息转换成较低比特率的形式来降低存储和传送该信息的成本。解压(也被称为解码)从压缩的形式中重构一种版本的原始信息。“编解码器”是编码器/解码器系统。在过去的至少25年中,已采用了各种视频编解码器标准,包括ITU-TH.261、H.262(MPEG-2或ISO/IEC13818-2)、H.263和H.264(MPEG-4AVC或ISO/IEC14496-10)标准、MPEG-1(ISO/IEC11172-2)和MPEG-4视觉(ISO/IEC14496-2)标准以及SMPTE421M(VC-1)标准。最近,H.265/HEVC标准(ITU-TH.265或ISO/IEC23008-2)已被批准。目前,(例如,用于可缩放视频编码/解码、用于在样本比特深度或色度采样率方面具有较高保真度的视频的编码/解码、用于屏幕捕捉内容、或用于多视图编码/解码的)H.265/HEVC标准的扩展处于开发中。视频编解码器标准通常定义针对经编码的视频比特流的句法的选项,从而详述当在编码和解码时使用特定特征时该比特流中的参数。在许多情况下,视频编解码器标准还提供关于解码器应当执行以在解码时取得一致的结果的解码操作的细节。除了编解码器标准外,各种专用编解码器格式定义针对经编码的视频比特流的句法的其他选项以及相应的解码操作。诸如相机、动画输出、屏幕捕捉模块等视频源通常在特定色彩空间中提供视频。一般来说,色彩空间(有时被称为色彩模型)是用于按照物理位置将各色彩表示成n个值的模型,n≥1,其中这n个值中的每一个都提供针对那个位置的色彩分量值。例如,在YUV色彩空间中,亮度(或Y)分量值表示某位置处的近似亮度,且多个色度(或U和V)分量值表示该位置处的色差。或者,在RGB色彩空间中,红色(R)分量值表示某位置处的红色强度,绿色(G)分量值表示该位置处的绿色强度,且蓝色(B)分量值表示该位置处的蓝色强度。在历史上,不同的色彩空间对于不同的应用(诸如,显示、打印、广播和编码/解码)都具有优点。各样本值可使用色彩空间变换操作在各色彩空间之间转换。许多商业上可用的视频编码器和解码器仅支持YUV格式。其他商业上可用的编码器和解码器(例如,针对H.264/AVC标准或H.265/HEVC标准的编码器和解码器)允许编码器为给定序列指定色彩空间。指定的色彩空间被用于整个视频序列。这些方法不为通用编解码器设备提供可处理单个视频序列内的非常不同种类的视频内容的足够灵活性。最近,用于在编码或解码期间在色彩空间之间切换的方法已被考虑,但这些方法尚未解决现实世界实现中的各种挑战。概述总而言之,详细描述呈现了切换色彩空间时的编码或解码方面的创新。例如,这些创新中的一些涉及为自适应色彩空间变换(“ACT”)信号化控制信息。其他创新涉及ACT操作。这些创新可在编码和解码期间在各色彩空间之间切换时改善编码效率。根据本文中描述的这些创新中的一个方面,编码器对图像或视频的单元进行编码以产生经编码的数据。作为该编码的一部分,编码器评估该单元的条件,并根据条件信号化指示是否在该单元内启用ACT的句法元素。在条件满足的情况下,该句法元素被信号化,但否则,对该句法元素的信号化被跳过。编码器将经编码的数据作为比特流的一部分来输出。相应的解码器将经编码的数据作为比特流的一部分来接收。解码器对经编码的数据进行解码以重构图像或视频的单元。作为该解码的一部分,解码器评估该单元的条件,并根据条件解析指示是否在该单元内启用ACT的句法元素。在条件满足的情况下,该句法元素被解析,但否则,对该句法元素的解析被跳过。根据本文中描述的这些创新中的另一方面,编码器对图像或视频的图片进行编码以产生经编码的数据。作为该编码的一部分,编码器确定是否在该图片内启用ACT,并且编码器信号化指示是否在图片内启用ACT的图片层句法元素。编码器将经编码的数据作为比特流的一部分来输出。相应的解码器将经编码的数据作为比特流的一部分来接收。解码器对经编码的数据进行解码以重构图像或视频的图片。作为该解码的一部分,解码器解析指示是否在该图片内启用ACT的图片层句法元素,并且该解码器确定是否在图片内启用ACT。根据本文中描述的这些创新中的另一方面,编码器对图像或视频的单元进行编码以产生经编码的数据。作为编码的一部分,编码器评估编码单元(“CU”)的条件,并根据条件信号化指示该CU的色彩空间的句法元素。该CU具有多个预测单元(“PU”)。在编码器评估条件时,编码器检查这些PU中的每一者的色度模式是否为直接模式。在条件被满足的情况下,该句法元素被信号化,但否则,对该句法元素的信号化被跳过。编码器将经编码的数据作为比特流的一部分来输出。相应的解码器将经编码的数据作为比特流的一部分来接收。解码器对经编码的数据进行解码以重构图像或视频的单元。作为解码的一部分,解码器评估CU的条件,并根据条件解析指示该CU的色彩空间的句法元素。该CU具有多个PU。在解码器评估条件时,解码器检查这些PU中的每一者的色度模式是否为直接模式。在条件被满足的情况下,该句法元素被解析,但否则,对该句法元素的解析被跳过。根据本文中描述的这些创新中的另一方面,编码器对图像或视频的单元进行编码以产生经编码的数据。作为该编码的一部分,当在这些单元中的两个单元之间色彩空间已从第一色彩空间被切换到第二色彩空间时,编码器根据每个分量色彩空间调整因子来调整对第二色彩空间中的各色彩分量的量化,同时避免负量化参数(“QP”)值。编码器将经编码的数据作为比特流的一部分来输出。相应的解码器将经编码的数据作为比特流的一部分来接收。解码器对经编码的数据进行解码以重构图像或视频的单元。作为该解码的一部分,当在这些单元中的两个单元之间色彩空间已从第一色彩空间被切换到第二色彩空间时,解码器根据每个分量色彩空间调整因子来调整对第二色彩空间中的各色彩分量的逆量化,同时避免负QP值。根据本文中描述的这些创新中的另一方面,编码器对图像或视频的单元进行编码以产生经编码的数据。该单元包括处于第一色彩空间的各色彩分量,并且处于第一色彩空间的各色彩分量中的至少两个色彩分量具有不同的比特深度。作为编码的一部分,编码器使用考虑不同比特深度的ACT过程从第一色彩空间切换到第二色彩空间。编码器将经编码的数据作为比特流的一部分来输出。相应的解码器将经编码的数据作为比特流的一部分来接收。解码器对经编码的数据进行解码以重构图像或视频的单元。该单元包括处于第一色彩空间的各色彩分量,并且处于第一色彩空间的各色彩分量中的至少两个色彩分量具有不同的比特深度。作为解码的一部分,解码器使用考虑不同比特深度的ACT过程从第一色彩空间切换到第二色彩空间。根据本文中描述的这些创新中的另一方面,编码器对图像或视频的单元进行编码以产生经编码的数据。作为编码的一部分,编码器从第一色彩空间切换到第二色彩空间。该切换使用无损ACT操作,而不管编码模式是有损的还是无损的。编码器将经编码的数据作为比特流的一部分来输出。相应的解码器将经编码的数据作为比特流的一部分来接收。解码器对经编码的数据进行解码以重构图像或视频的单元。作为解码的一部分,解码器从第二色彩空间切换到第一色彩空间。该切换使用无损ACT操作,而不管编码模式是有损的还是无损的。根据本文中描述的这些创新中的另一方面,编码器对图像或视频的单元进行编码以产生经编码的数据。作为该编码的一部分,当色彩空间已从第一色彩空间切换到第二色彩空间时,编码器使用第二色彩空间中的主要色彩分量的残留数据值来预测第二色彩空间中的次要色彩分量的残留数据值。该预测过程考虑第二色彩空间中的次要色彩分量的比特深度以及第二色彩空间中的主要色彩分量的比特深度。编码器将经编码的数据作为比特流的一部分来输出。相应的解码器将经编码的数据作为比特流的一部分来接收。解码器对经编码的数据进行解码以重构图像或视频的单元。作为该解码的一部分,当色彩空间已从第一色彩空间切换到第二色彩空间时,解码器使用第二色彩空间中的主要色彩分量的残留数据值来预测第二色彩空间中的次要色彩分量的残留数据值。该预测过程考虑第二色彩空间中的次要色彩分量的比特深度以及第二色彩空间中的主要色彩分量的比特深度。本发明可以被实现为方法的部分、被配置为执行所述方法的计算系统的部分或存储用于使得计算系统执行所述方法的计算机可执行指令的有形计算机可读介质的部分。各创新可以结合地或分开地使用。提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。附图简述图1是可用于实现所描述的一些实施例的示例计算系统的示图。图2a和2b是可用于实现所描述的一些实施例的示例网络环境的示图。图3是结合其可实现所描述的一些实施例的示例编码器系统的示图。图4是结合其可实现所描述的一些实施例的示例解码器系统的示图。图5a和5b是示出结合其可实现所描述的一些实施例的示例视频编码器的示图。图6是结合其可实现所描述的一些实施例的示例视频解码器的示图。图7是示出具有可为屏幕捕捉提供输入的内容的计算机桌面环境的示图。图8是示出具有自然视频内容和人工视频内容的复合视频的示图。图9是示出针对序列中的图片的图片自适应色彩空间、色彩采样率和/或比特深度的示图。图10是示出针对序列中的图片的片的片自适应色彩空间、色彩采样率和/或比特深度的示图。图11是示出针对序列中的图片的片的块的块自适应色彩空间、色彩采样率和/或比特深度的示图。图12是示出用于包括对指示ACT是否被启用的句法元素的条件信号化的编码的通用技术的流程图。图13是示出用于相应的包括对该句法元素的条件解析的解码的通用技术的流程图。图14是示出可包括指示ACT是否被启用的句法元素的示例序列层句法结构的表格。图15是示出用于包括对指示ACT是否被启用的句法元素的图片层信号化的编码的通用技术的流程图。图16是示出用于相应的包括对该句法元素的解析的解码的通用技术的流程图。图17a和17b是示出用于包括指示ACT是否被启用的句法元素的示例图片层句法结构的表格。图18是示出用于包括对指示CU的色彩空间的句法元素的条件信号化的编码的通用技术的流程图。图19是示出用于相应的包括对该句法元素的条件解析的解码的通用技术的流程图。图20是示出可包括指示CU的色彩空间的句法元素的示例CU层句法结构的表格。图21是示出用于包括对处于第二色彩空间的各色彩分量的量化的调整的编码的通用技术的流程图。图22是示出用于相应的包括对逆量化的调整的解码的通用技术的流程图。图23a和23b是示出用于包括针对具有不同比特深度的色彩分量的ACT的编码的技术的流程图,且图24a和24b是示出相应的包括针对具有不同比特深度的色彩分量的ACT的解码的通用技术的流程图。图25和26是分别示出用于包括使用无损ACT操作来切换色彩空间而不管编码模式为有损还是无损的编码和解码的通用技术的流程图。图27和28是分别示出用于包括考虑处于第二色彩空间的各色彩分量的比特深度的交叉分量预测的编码和解码的通用技术的流程图。详细描述该详细描述呈现了切换色彩空间时的编码或解码方面的创新。例如,这些创新中的一些创新涉及为自适应色彩空间变换(“ACT“)信号化控制信息。其他创新涉及ACT操作。这些创新可在编码和解码期间在各色彩空间之间切换时改善编码效率。虽然在此所述的操作是被适当描述为由视频编码器或视频解码器来执行,但在许多情况中,这些操作可以由另一类型的媒体处理工具(例如图像编码器或图像解码器)来执行。例如,可针对诸如静止图像编码/解码、医疗扫描内容编码或解码、多谱图像内容编码或解码之类的应用执行这些操作。在此所述的一些发明是参考针对H.265/HEVC标准的扩展的条款。例如,对H.265/HEVC标准的屏幕内容编码/解码扩展的草稿版本JCTVC-P1005—即2014年8月的“高效视频编码(HEVC)屏幕内容编码:第1稿“JCTVC-R1005_v2作出参考。本文中描述的各创新还可以被实现为用于其它标准或格式。本文中描述的许多创新可以在当编码诸如屏幕捕捉内容之类的某种“人工创建的”视频内容时改善速率-失真性能。一般来说,与仅相机捕捉的视频内容相反,屏幕捕捉视频(也称为屏幕内容视频)是包含在被渲染给计算机显示器时捕捉的经渲染的文本、计算机图形、动画生成的内容或其它类似类型的内容的视频。屏幕捕捉内容通常包括重复的结构(例如图形、文本字符)。屏幕捕捉内容一般以具有高色度采样分辨率的格式(例如,YUV4:4:4或RGB4:4:4)来编码,但是也可用具有较低色度采样分辨率的格式(例如,YUV4:2:0)来编码。用于编码/解码屏幕捕捉内容的常见场景包括远程桌面会议和对自然视频或其它“混合内容”视频上的图形覆盖的编码/解码。在此所述的几种发明适用于编码屏幕内容视频或其它人工创建的视频。在一些情况中,这些创新也可以被用于自然视频,但可能不像那样有效。更一般地,本文中描述的各示例的各种替代是可能的。例如,本文中描述的一些方法可以通过改变描述的方法动作的顺序、通过拆分、重复或忽略某些方法动作等来更改。所公开的技术的各方面能够被组合地或分开地使用。不同的实施例使用所描述的创新中的一个或多个。本文中描述的一些创新解决了背景中指出的一个或多个问题。通常,所给出的技术/工具并不解决所有这些问题。示例计算系统图1示出了可用于实现所描述的创新中的若干创新的合适计算系统(100)的通用示例。计算系统(100)并不旨对使用范围或功能提出任何限制,因为这些创新可以在不同的通用或专用计算系统中实现。参考图1,计算系统(100)包括一个或多个处理单元(110、115)和存储器(120、125)。处理单元(110、115)执行计算机可执行指令。处理单元可以是通用中央处理单元(“CPU”)、专用集成电路(“ASIC”)中的处理器或任何其它类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图1示出中央处理单元(110)以及图形处理单元或协处理单元(115)。有形存储器(120、125)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或两者的某种组合,可通过(诸)处理单元存取。存储器(120,125)存储实现针对切换色彩空间时的编码或解码的一个或多个创新的软件(180),该软件采用适用于由(诸)处理单元执行的计算机可执行指令的形式。计算系统可具有附加的特征。例如,计算系统(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络之类的互连机制(未示出)将计算系统(100)的各组件互连。通常,操作系统软件(未示出)为在计算系统(100)中执行的其它软件提供操作环境,并协调计算系统(100)的各组件的活动。有形存储(140)可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-ROM、DVD或可用于储存信息并可在计算系统(100)内访问的任何其他介质。存储(140)存储实现针对切换色彩空间时的编码或解码的调整的一个或多个创新的软件(180)的指令。(诸)输入设备(150)可以是触摸输入设备(诸如键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备或向计算系统(100)提供输入的另一设备。对于视频,(诸)输入设备(150)可以是相机、视频卡、TV调谐卡、屏幕捕捉模块或接受模拟或数字形式的视频输入的类似设备、或将视频输入读到计算系统(100)中的CD-ROM或CD-RW。(诸)输出设备(160)可以是显示器、打印机、扬声器、CD刻录机或提供来自计算系统(100)的输出的另一设备。(诸)通信连接(170)允许通过通信介质与另一计算实体通信。通信介质传达诸如计算机可执行指令、音频或视频输入或输出、或已调制数据信号中的其他数据之类的信息。已调制数据信号是使其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非限制,通信介质可以使用电的、光学的、RF或其它载体。各创新可以在计算机可读介质的一般上下文中描述。计算机可读介质是可在计算环境内访问的任何可用有形介质。作为示例而非局限,对于计算系统(100),计算机可读介质包括存储器(120、125)、存储(140)、和以上任意的组合。各创新可在计算机可执行指令(诸如包括在程序模块中的在目标现实或虚拟处理器上在计算系统中执行的那些计算机可执行指令)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。如各实施例中所描述的,这些程序模块的功能可以被组合,或者在这些程序模块之间拆分。针对各程序模块的计算机可执行指令可以在本地或分布式计算系统中执行。术语“系统”和“设备”在此被互换地使用。除非上下文明确指示,否则,术语并不暗示对计算系统或计算设备的类型的任何限制。一般说来,计算系统或计算设备可以是本地的或分布式的,并且可以包括具有实现本文中描述的功能的软件的专用硬件和/或通用硬件的任意组合。所公开的方法还可使用被配置成执行所公开的方法中的任一者的专用计算硬件来实现。例如,所公开的方法可以由被专门设计或配置成实现所公开的方法中的任一者的集成电路(例如,诸如ASIC数字信号处理器(“DSP”)之类的ASIC、图像处理单元(“GPU”)、或诸如场可编程门阵列(“FPGA”)之类的可编程逻辑器件(“PLD”))来实现。为了呈现起见,本详细描述使用了如“确定”和“使用”等术语来描述计算系统中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。II.示例网络环境图2a和2b示出了包括视频编码器(220)和视频解码器(270)的示例网络环境(201,202)。编码器(220)和解码器(270)使用合适的通信协议通过网络(250)连接。网络(250)可包括因特网或另一计算机网络。在如图2a中所示的网络环境(201)中,每个实时通信(“RTC”)工具(210)包括用于双向通信的编码器(220)和解码器(270)两者。给定的编码器(220)可以产生输出,该输出遵循H.265/HEVC标准、SMPTE421M标准、ISO/IEC14496-10标准(也称为H.264或AVC)、另一标准的变体或扩展,或遵循针对接受来自编码器(220)的经编码的数据的对应的解码器(270)的专用格式。双向通信可以是视频会议、视频电话呼叫或其它双方或多方通信场景的部分。虽然,图2a中的网络环境(201)包括两个实时通信工具(210),但网络环境(201)可改为包括参与多方通信的三个或更多的实时通信工具(210)。实时通信工具(210)管理编码器(220)做出的编码。图3示出可以被包括在实时通信工具(210)中的示例编码器系统(300)。替换地,实时通信工具(210)使用另一编码器系统。实时通信工具(210)还管理解码器(270)做出的解码。图4示出可以被包括在实时通信工具(210)中的示例解码器系统(400)。替换地,实时通信工具(210)使用另一解码器系统。在图2b中示出的网络环境(202)中,编码工具(212)包括编码递送给多个回放工具(214)的视频的编码器(220),所述回放工具包括解码器(270)。单向通信可被提供用于视频监视系统、web相机监视系统、远程桌面会议演示或在其中编码视频并将视频从一个位置发送到一个或多个其它位置的其它场景。虽然在图2b中的网络环境(202)包括两个回放工具(214),该网络环境(202)可以包括更多或更少的回放工具(214)。一般来说,回放工具(214)与编码工具(212)通信以确定回放工具(214)要接收的视频流。回放工具(214)接收该流、缓冲所接收的经编码数据达合适的时间段并开始解码和回放。图3示出可以被包括在编码工具(212)中的示例编码器系统(300)。替换地,编码工具(212)使用另一编码器系统。编码工具(212)还可以包括用于管理与一个或多个回放工具(214)的连接的服务器侧控制器逻辑。图4示出可以被包括在回放工具(214)中的示例解码器系统(400)。替换地,回放工具(214)使用另一解码器系统。回放工具(214)还可以包括用于管理与编码工具(212)的连接的客户机侧控制器逻辑。III.示例编码器系统。图3是结合其可实现所描述的一些实施例的示例编码器系统(300)的框图。编码器系统(300)可以是能够用多种编码模式中的任一者(诸如用于实时通信的低等待时间编码模式、转码模式和用于从文件或流中产生供回放的媒体的较高等待时间编码模式)操作的通用编码工具,或它可以是适用于一种这样的编码模式的专用编码工具。编码器系统(300)可以适用于编码特定类型的内容(例如屏幕捕捉内容)。编码器系统(300)可以被实现为操作系统模块的部分、应用库的部分、独立的应用的部分或使用专用的硬件。总体上,编码系统(300)从视频源(310)接收源视频图片(311)序列并产生经编码的数据作为给信道(390)的输出。输出到信道的经编码的数据可包括使用本文中描述的创新中的一者或多者通过色彩空间的自适应切换来编码的内容。视频源(310)可以是相机、调谐卡、存储介质、屏幕捕捉模块或其它数字视频源。视频源(310)以例如每秒30帧的帧速率产生视频图片序列。如在此所用,术语“图片”一般是指源、经编码的或经重构的图像数据。对于逐行扫描视频,图片是逐行扫描视频帧。对于隔行视频,在各示例实施例中,隔行视频帧可以在编码之前被去隔行。替换地,两个互补的隔行视频场可以被编码在一起作为单个视频帧或者被编码成两个经分开编码的场。除了指示逐行扫描视频帧或隔行扫描视频帧之外,术语“图片”可以指示单个非成对的视频场、互补的成对视频场、表示在给定时间的视频对象的视频对象平面或较大的图像中的感兴趣区域。视频对象平面或区域可以是包括场景的多个对象或区域的较大图像的一部分。正抵达的源图片(311)被存储在包括多个图片缓冲存储区域(321,322,…,32n)的源图片临时存储器存储区域(320)中。图片缓冲器(321,322等)在源图片存储区域(320)中保持一个源图片。在已经将一个或多个源图片(311)存储在图片缓冲器(321,322等)中之后,图片选择器(330)从源图片存储区域(320)中选择个体源图片。图片被图片选择器(330)选择来输入到编码器(340)的次序可以与这些图片被视频源(310)产生的次序不同,例如对某些图片的编码可在次序上被延迟,从而允许某些在后的图片被先编码并且这样促成在时间上的后向预测。在编码器(340)之前,编码器系统(300)可包括在编码之前执行对选中的图片(331)的预处理(例如滤波)的预处理器(未示出)。预处理可包括到主要(例如亮度)和次要(例如偏向红色和偏向蓝色的色度差)分量的色彩空间转换成以及针对编码的重采样处理(例如以减少色度分量的空间分辨率)。在编码之前,视频可被转换成诸如YUV之类的色彩空间,或者视频可在另一色彩空间(例如,RGB型色彩空间)中编码或在编码期间切换色彩空间。色度样本值可以被子采样到较低的色度采样率(例如,针对YUV4:2:0格式的情况),或者色度样本值可以具有与亮度样本值相同的分辨率(例如针对YUV4:4:4格式的情况)。编码器(340)编码选中的图片(331)以产生经编码的图片(341)并且还产生存储器管理控制操作(“MMCO”)信号(342)或参考图片集(“RPS”)信息。RPS是可以被使用以供在对当前图片或任意后续图片的运动补偿中的参考的图片集。如果当前图片不是已经被编码的第一图片,则在执行其编码处理时,编码器(340)可使用已经被存储在经编码图片临时存储器存储区域(360)中的一个或多个先前被编码/解码的图片(369)。这样的存储的经解码图片(369)被用作用于当前源图片(331)的内容的图片间预测的参考图片。MMCO/RPS信息(342)向解码器指示哪些经重构的图片可被用作参考图片,并且因此应该被存储在图片存储区域中。编码器(340)接受处于特定色彩空间(例如,YUV型色彩空间、RGB型色彩空间)的、具有特定色彩采样率(例如,4:4:4)和每样本特定比特数(例如,每样本12比特)的视频。在编码期间,对于不同的图片、片、CU或视频中的其他单元,编码器(340)可执行自适应色彩空间变换(“ACT”)以在YUV型色彩空间和RGB型色彩空间之间切换或从某一其他色彩空间开始变换/变换到某一其他色彩空间。编码器(340)还可执行ACT以对色彩分量进行重排序,从而改变使哪个色彩分量作为主要分量(例如,在RGB、BGR和GBR格式之间转换)。在典型的实现中,与次要分量相比,编码器(340)适于在各方面都更仔细地编码主要分量(例如,针对编码模式的更多选项,可能更少的量化步骤大小)。通过使得具有最多信息内容或能量的色彩分量变为主要色彩分量,编码器可改善整体的编码效率。在编码期间,编码器(340)还可执行重采样处理以改变不同图片、片、CU或视频中的其他单元的色彩采样率(例如,在4:4:4、4:2:2和4:2:0格式之间进行改变)。编码器(340)还可在编码期间针对不同的图片、片、CU或视频中的其他单元改变比特深度(例如,在每样本12比特、每样本10比特和每样本8比特之间进行改变),或者在编码期间针对给定图片、片或视频中的其他单元的不同色彩分量改变比特深度。当编码器(340)在编码期间切换色彩空间时,编码器(340)可信号化用于在解码期间控制ACT操作的信息,并且编码器(340)可使用本文中描述的一个或多个创新来执行ACT操作。一般来说,编码器(340)包括执行编码任务的多个编码模块,编码任务为诸如分割成小块,色彩空间、色彩采样率和/或比特深度的自适应,图片内预测估计和预测,运动估计和补偿,频率变换,量化和熵编码。由编码器(340)执行的确切操作可以取决于压缩格式而变化。输出的经编码数据的格式可以是H.265/HEVC格式、其他H.26x格式(例如,H.261、H.262、H.263、H.264)、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)、或另一格式的变型或扩展。编码器(340)可以将图片分割成相同尺寸或不同尺寸的多个小块。例如,编码器(340)沿小块行和小块列来拆分图片,这些小块行和小块列利用图片边界定义该图片内的各小块的水平和垂直边界,其中每个小块是矩形区域。小块通常被用于提供并行处理的选项。图片还可以被组织为一个或多个片,其中片可以是整个图片或图片的部分。片可以独立于图片中的其它片被编码,这改善了错误复原力。出于编码和解码的目的,片或小块的内容被进一步分割成块或其它采样值集。在一些示例实现中,编码器(340)可在编码期间在逐图片的基础上或逐片的基础上切换色彩空间、色彩采样率和/或比特深度。对于根据H.265/HEVC标准的句法,编码器将图片(或片或小块)的内容拆分成编码树单元。编码树单元(“CTU”)包括被组织为亮度编码树块(“CTB”)的亮度样本值,并且对应的被组织为两个色度CTB的色度样本值。CTU(和其CTB)的尺寸由编码器选择。亮度CTB可包含例如64x64,、32x32或16x16亮度样本值。CTU包括一个或多个编码单元。编码单元(“CU”)具有亮度编码块(“CB”)和两个相应的色度CB。例如,具有64x64亮度CTB和两个64x64色度CTB(YUV4:4:4格式)的CTU可以被拆分成4个CU,其中每个CU包括一32x32亮度CB和两个32x32色度CB,并且每个CU可能被进一步拆分成更小的CU。或者,作为另一示例,具有64x64亮度CTB和两个32x32色度CTB(YUV4:2:0格式)的CTU可以被拆分成4个CU,其中每个CU包括一32x32亮度CB和两个16x16色度CB,并且每个CU可能被进一步拆分成更小的CU。CU的最小允许尺寸(例如8×8、16×16)可被信号化在比特流中。通常,CU具有诸如帧间或帧内之类的预测模式。出于信号化预测信息(例如预测模式细节、位移值等)和/或预测处理的目的,CU包括一个或多个预测单元。预测单元(“PU”)具有亮度预测块(“PB”)和两个色度PB。根据H.265/HEVC标准,对于帧内预测CU,PU与CU具有相同的尺寸,除非CU具有最小尺寸(例如8x8)。在那个情况下,CU可被拆分成四个更小的PU(例如,对于图片内预测的情况,如果最小CU尺寸为8x8,则每个PU为4x4),或者PU可具有最小CU尺寸,如CU的句法元素所指示的。然而,对于帧内BC预测中使用的对称或非对称分割,较大的CU可被拆分成多个PU。出于残留编码和解码的目的,CU还具有一个或多个变换单元,其中变换单元(“TU”)具有亮度变换块(“TB”)和两个色度TB。帧内预测的CU中的PU可包含单个TU(尺寸上等于PU)或多个TU。编码器决定如何将视频分割成CTU、CU、PU、TU等。在一些示例实现中,编码器(340)可在针对CTU、CU等的编码期间在逐CU的基础上切换色彩空间、色彩采样率和/或比特深度。在H.265/HEVC实现中,片可以包括单个片段(独立的片段)或被划分成多个片段(独立的片段和一个或多个从属的片段)。片段是包含在单个网络抽象层(“NAL”)单元中的、在小块扫描中连续排序的整数数目的CTU。对于独立的片段,片段头部包括适用于该独立的片段的句法元素的值。对于从属片段,截短的片段头部包括适用于该从属片段的句法元素的几个值,并且从属片段的其它句法元素的值是以解码顺序从在前的独立的片段的值中推导出来的。如本文中所使用的,术语“块”可以指示宏块、残留数据单元、CB、PB或TB,或某些其它采样值集,这取决于上下文。术语“单元”可指示图片、片、宏块、CTU、CU、PU、TU或某其他块集,或它可指示单个块,这取决于上下文。在一些示例实现中,编码器(340)可在编码期间在逐单元的基础上切换色彩空间、色彩采样率和/或比特深度。回到图3,编码器根据来自源图片(331)中的其它、先前重构的样本值的预测来表示该图片(331)的经帧内编码的块。对于帧内块复制(“BC”)预测,图片内估计器估计从当前块到图片中的先前重构的样本值中的某位置的位移。参考块是图片中提供针对当前块的BC预测值的样本值的块。参考块可以用(在BV估计中确定的)块向量(“BV”)值来指示。取决于实现,编码器可使用输入的样本值或经重构的样本值(同一图片中的先前编码的样本值)对块执行偏移估计。对于块的帧内空间预测,图片内估计器估计相邻的经重构样本值到该块的外插。图片内估计器可以输出经熵编码的预测信息(例如帧内BC预测的BV值或帧内空间预测的预测模式(方向))。图片内预测预测器应用预测信息来确定帧内预测值。对于调色板解码模式,编码器(340)使用调色板来表示CTU或其他单元的样本值中的至少一些。调色板表示该单元中使用的色彩。例如,调色板将索引值0,1,2,…,p映射到相应的色彩。在对该单元进行编码期间,适当的索引值取代了该单元内的各位置处的各样值。取代使用调色板中的索引值,可使用逸出代码值和文字值来对单元中的稀有值进行编码。调色板可以随单元而改变,并且指定调色板的信息可被信号化在比特流中。编码器(340)依据来自参考图片的预测表示源图片(331)的经图片间编码的经预测的块。运动估计器估计块相对于一个或多个参考图片(369)的运动。当使用多个参考图片时,这多个参考图片可以来自不同的时间方向或相同的时间方向。经运动补偿的预测参考区域是(诸)参考图片中用于生成当前图片的样本值块的经运动补偿的预测值的样本值区域。运动估计器输出诸如运动向量(“MV”)信息之类的运动信息,该运动信息被熵编码。运动补偿器将MV应用于参考图片(369)以确定用于图片间预测的经运动补偿的预测值。编码器可确定块的预测值(帧内或帧间)和相应的原始值之间的差值(如果有的话)。这些预测残留值使用频率变换(如果该频率变换不被跳过)、量化和熵编码被进一步编码。例如,编码器(340)为图片、小块、片和/或视频中的其它部分设置量化参数(“QP”)的值,并相应地量化变换系数。对于ACT被使用时的量化,编码器(340)可如本文中所描述的那样设置QP值。编码器(340)中的熵编码器压缩经量化的变换系数值以及某些辅助信息(例如MV信息、BV信息、调色板数据、QP值、模式判定、参数选择)。典型的熵编码技术包括指数-Golomb编码、Golomb-Rice编码、算术编码、差分编码、Huffman编码、行程长度编码、可变长度到可变长度(“V2V”)编码、可变长度到固定长度(“V2F”)编码、Lempel-Ziv(“LZ”)编码、字典编码、概率区间划分熵编码(“PIPE”)和上述编码的组合。熵编码器可针对不同种类的信息使用不同的编码技术,并可组合地应用多个技术(例如,通过应用Golomb-Rice编码,随后应用算术编码),并可从特定编码技术内的多个码表中进行选择。在一些实现中,可以跳过频率变换。在这种情况中,可以对预测残留值进行量化和熵编码。自适应去块滤波器可以被包括在编码器(340)中的运动补偿环路(也即“内环路”滤波)中以平滑经解码的图片中的块边界行和/或列上的间断。可替换地或另外地应用其它滤波(诸如去振铃滤波、自适应环路滤波(“ALF”)或样本自适应偏移(“SAO”)滤波;未示出)作为内环路滤波操作。由编码器(340)产生的经编码的数据包括针对各层比特流句法的句法元素。对于根据H.265/HEVC的标准的句法,例如,图片参数集(“PPS”)是包含了与图片相关联的句法元素的句法结构。在一些示例实现中,PPS可包括指示适用于图片(或使用PPS的多个图片)的色彩空间、色彩采样率和/或比特深度的一个或多个信号以及标识或定义可用色彩空间、可用色彩采样率和/或可用比特深度的其他信息。在一些示例实现中,PPS可包括指示QP值(例如,图片的初始QP值、第二色彩空间的初始QP值或第二色彩空间的QP值的偏移)的一个或多个句法元素。PPS可被用于单个图片,或者PPS可被重用于序列中的多个图片。PPS通常被信号化为与图片的经编码数据分开(例如,针对PPS的一个网络提取层(“NAL“)单元和针对图片的经编码数据的一个或多个其它NAL单元)。在图片的经编码数据内,句法元素指示要为该图片使用哪个PPS。类似地,对于根据H.265/HEVC的标准的句法,序列参数集(“SPS”)是包含了与图片的序列相关联的句法元素的句法结构。比特流可包括单个SPS或多个SPS。SPS通常被信号化成与序列的其它数据分开,并且其它数据中的句法元素指示要使用哪个SPS。在一些示例实现中,序列的SPS可包括标识或定义可用色彩空间、可用色彩采样率和/或可用比特深度的信息,当在序列内切换色彩空间、色彩采样率和/或比特深度时参考该信息。对于片层,片头部(例如,片段头部)包括适用于片(例如,独立的片段和后面的任何从属片段)的句法元素的值。在一些示例实现中,片头部可包括指示适用于片的色彩空间、色彩采样率和/或比特深度的一个或多个信号。在一些示例实现中,片头部还可包括标识或定义可用色彩空间、可用色彩采样率和/或可用比特深度的信息,当在片内切换色彩空间、色彩采样率和/或比特深度时参考该信息。在一些示例实现中,片头部可包括QP值的一个或多个句法元素(例如,片的QP值的偏移、片的色彩分量的QP值的偏移、第二色彩空间的偏移、第二色彩空间的色彩分量的偏移)。对于单元层(例如,对于CU),句法结构包括适用于单元的句法元素的值。在一些示例实现中,单元的句法结构可包括指示应用于该单元的色彩空间、色彩采样率和/或比特深度的一个或多个信号,并且还可包括指示应用于该单元的QP值(或应用于该单元的不同色彩空间的QP值)的一个或多个句法元素。经编码的图片(341)和MMCO/RPS信息(342)(或与MMCO/RPS信息(342)等价的信息,因为在编码器(340)处已经知道各图片的依赖关系和排序结构)由解码处理仿真器(350)处理。解码处理仿真器(350)实现了解码器的一些功能,例如对任务进行解码以重构参考图片。以与MMCO/RPS信息(342)相一致的方式,解码处理仿真器(350)确定给定的经编码帧(341)是否需要被重构并被存储以供在对要编码的后续图片的图片间预测中用作参考帧。如果经编码的图片(341)需要被存储,则解码处理仿真器(350)对将由解码器进行的解码处理建模,该解码器接收经编码的图片(341)并产生相应的经解码的图片(351)。通过这么做,当编码器(340)已经使用已被存储在经解码图片存储区域(360)中的经解码的(诸)图片(369)时,解码处理仿真器(350)还使用来自存储区域(360)的经解码的图片(369)作为解码处理的一部分。经解码图片临时存储器存储区域(360)包括多个图片缓冲存储区域(361,362,…,36n)。在与MMCO/RPS信息(342)相一致的方式中,解码处理仿真器(350)管理存储区域(360)中的内容,以便标识出具有编码器(340)不再需要将其用作参考图片的图片的任何图片缓冲器(361,362等)。在对解码处理进行建模之后,解码处理仿真器(350)在图片帧缓冲器(361、362等)中存储已经以此方式标识出的新解码的图片(351)。经编码的图片(341)和MMCO/RPS信息(342)在临时经编码数据区域(370)中被缓冲。被聚集在经编码数据区域(370)中的经编码数据包含一个或多个图片的经编码数据作为基本经编码视频位流的句法的一部分。在经编码数据区域(370)中被聚集的经编码数据还可包括与经编码的视频数据相关的媒体元数据(例如作为一个或多个补充增强信息(“SEI”)消息或视频可用性信息(“VUI”)消息中的一个或多个参数)。来自临时经编码数据区域(370)的经聚集数据(371)由信道编码器(380)处理。信道编码器(380)可以分组化和/或复用经聚集的数据以供作为媒体流传输或存储(例如根据媒体程序流或传输流格式,例如ITU-TH.222.0|ISO/IEC13818-1或因特网实时传输协议格式(例如IETFRFC3550)),在这种情况中,信道编码器(380)可以添加句法元素作为媒体传输流的句法的一部分。或者,信道编码器(380)可以组织经聚集的数据以供存储成文件(例如根据媒体容器格式,诸如ISO/IEC14496-12),在这种情况中信道编码器(380)可添加句法元素作为媒体存储文件的句法的一部分。或者,更一般地,信道编码器(380)可以实现一个或多个媒体系统复用协议或传输协议,在这种情况中,信道编码器(380)可以添加句法元素作为(诸)协议的句法的一部分。信道编码器(380)将输出提供给信道(390),该信道(390)表示存储、通信连接或该输出的另一信道。信道编码器(380)或信道(390)还可以包括例如用于前向纠错(“FEC”)编码和模拟信号调制的其它元素(未示出)。IV.示例解码器系统。图4是结合其可实现所描述的一些实施例的示例解码器系统(400)的框图。解码器系统(400)可以是能够在多种解码模式(例如针对实时通信的低等待时间解码模式以及针对来自文件或流中的媒体回放的较高等待时间解码模式)中的任一者操作的通用解码工具,或它可以是适用于一种这样的解码模式的专用解码工具。解码器系统(400)可以被实现为操作系统模块的部分、应用库的部分、独立的应用的部分或使用专用的硬件。总体上,解码器系统(400)从信道(410)接收经编码的数据并产生经重构的图片作为针对输出目的地(490)的输出。接收到的经编码的数据可包括使用本文中描述的创新中的一者或多者通过对色彩空间、色彩采样率和/或比特深度的自适应切换来编码的内容。解码器系统(400)包括信道(410),该信道(410)可以表示存储、通信连接或针对作为输入的经编码数据的另一信道。信道(410)产生已经被信道编码的经编码数据。信道解码器(420)可以处理经编码的数据。例如,信道解码器(420)可以(例如根据诸如ITU-TH.222.0|ISO/IEC13818-1的媒体程序流或传输流格式,或诸如IETFRFC3550的因特网实时传输协议格式)去分组化和/或去复用已被聚集以供作为媒体流来传输或存储的数据,在这种情况中,信道解码器(420)可以解析所添加的作为媒体传输流的句法的一部分的句法元素。或者,信道解码器(420)可以(例如根据诸如ISO/IEC14496-12的媒体容器格式)来将已被聚集以供作为文件来存储的经编码的视频数据分开,在这种情况中,信道解码器(420)可以解析所添加的作为媒体存储文件的句法的一部分的句法元素。或者,更一般地,信道解码器(420)可以实现一个或多个媒体系统去复用协议或传输协议,在这种情况中,信道解码器(420)可以解析所添加的作为(诸)协议的句法的一部分的句法元素。信道(410)或信道解码器(420)还可以包括例如用于FEC解码和模拟信号解调的其它元素(未示出)。从信道解码器(420)输出的经编码的数据(421)被存储在临时的经编码数据区域(430)中,直到已经接收到足够数量的这样的数据。经编码的数据(421)包括经编码图片(431)和MMCO/RPS信息(432)。在经编码数据区域(430)中的经编码数据(421)包含一个或多个图片的经编码数据作为基本编码的视频比特流的句法的一部分。在经编码数据区域(430)中的经编码数据(421)还可包括与经编码的视频数据相关的媒体元数据(例如作为一个或多个SEI消息或VUI消息中的一个或多个参数)。一般来说,经编码数据区域(430)临时存储经编码数据(421),直到这样的经编码数据(421)被解码器(450)使用。此时,经编码图片(431)和MMCO/RPS信息(432)的经编码数据被从经编码数据区域(430)传送到解码器(450)。当解码继续时,新的经编码数据被添加到经编码数据区域(430)并且保留在经编码数据区域(430)中的最旧的经编码数据被传输到解码器(450)。解码器(450)解码经编码图片(431)以生成对应的经解码图片(451)。图片可以被分割成相同尺寸或不同尺寸的多个小块。一个图片还可以被组织成一个或多个片。片或小块的内容可以被进一步分割成块或其它采样值集。在适当时,当执行其解码处理时,解码器(450)可以将一个或多个先前解码的图片(469)用作图片间预测的参考图片。解码器(450)从经解码的图片临时存储器存储区域(460)中读取这样的先前解码的图片(469)。在解码期间,对于不同的图片、片、CU或视频中的其他单元,解码器(450)可执行ACT以在YUV型色彩空间和RGB型色彩空间之间切换或从某一其他色彩空间切换/切换到某一其他色彩空间。解码器(450)还可针对不同的图片、片、CU或视频中的其他单元执行ACT以对各色彩分量进行重排序,从而改变哪个色彩分量作为主要分量(例如,在RGB、BGR和GBR格式之间转换)。在解码期间,解码器(450)还可针对不同的图片、片、CU或视频中的其他单元执行重采样处理以改变色彩采样率和/或改变比特深度。或者,解码器(450)可在解码期间针对给定图片、片或视频中的其他单元的不同色彩分量改变比特深度。在一些示例实现中,解码器(450)可在解码期间在逐图片的基础上切换色彩空间、色彩采样率和/或比特深度。替换地,解码器(450)可在解码期间在逐片的基础上、逐CU的基础上或逐单元的基础上切换色彩空间、色彩采样率和/或比特深度。当解码器(450)在解码期间切换色彩空间时,解码器(450)可解析用于在解码期间控制ACT操作的信息,并且解码器(450)可使用本文中描述的创新中的一个或多个创新来执行ACT操作。通常,解码器(450)包括执行诸如熵解码、图片内预测、运动补偿图片间预测、逆量化、逆频率变换(如果未被跳过)、自适应色彩空间、色彩采样率和/或比特深度以及合并小块之类的解码任务的多个解码模块。由解码器(450)执行的确切操作可以取决于压缩格式而变化。例如,解码器(450)接收经压缩的图片或图片序列的经编码数据,并产生包括经解码图片(451)的输出。在解码器(450)中,缓冲接收经压缩的图片的经编码数据,并在适当时,使得所接收的经编码数据对熵解码器可用。熵解码器对经熵编码的量化数据以及经熵编码的辅助信息进行熵解码,通常应用编码器中执行的熵编码的逆来进行熵解码。运动补偿器将运动信息应用于一个或多个参考图片以形成针对正被重构的图片的任何帧间编码块的经运动补偿的预测值。图片内预测模块可以从邻近的、先前重构的样本值中空间地预测当前块的样本值。或者,对于帧内BC预测,图片内预测模块可以使用图片中用位移值指示的参考块的先前重构的样本值来预测当前块的样本值。解码器(450)还重构预测残留值。逆量化器对经熵解码的数据进行逆量化。例如,解码器(450)基于比特流中的句法元素来设置图片、小块、片和/或视频中的其他部分的QP,并相应地对变换系数进行逆量化。对于ACT被使用时的逆量化,解码器(450)可如本文中所描述的那样设置QP值。逆频率变换器将经量化的频域数据转换成空间域数据。在一些实现中,可以跳过频率变换,在这样的情况中逆频率变换也被跳过。如果这样,预测残留值可以被熵解码并逆量化。对于图片间预测块,解码器(450)将重构的预测残留值与运动补偿预测值相组合。解码器(450)可以类似地将预测残留值与来自图片内预测的预测值相组合。对于调色板解码模式,解码器(450)使用表示CTU或其它单元的样本值中的至少一些样本值的调色板。调色板将索引值映射到对应的色彩。在解码期间,对于单元中的位置,来自调色板的索引值被适当的样本值取代。单元中的逸出编码值可以使用逸出代码值和文字值来解码。调色板可从一个单元到另一单元而改变,并且说明调色板的信息可被信号化在比特流中。自适应去块滤波器被包括在视频解码器(450)中的运动补偿环路内以平滑经解码的图片(451)中的块边界行和/或列上的间断。可替换地或另外地应用其它滤波(例如去振铃滤波、ALF或SAO滤波;未示出)作为内环路滤波操作。经解码图片临时存储器存储区域(460)包括多个图片缓冲存储区域(461,462,…,46n)。经解码的图片存储区域(460)是经解码的图片缓冲器的一个示例。解码器(450)使用MMCO/PS信息(432)来标识该解码器可将经解码的图片(451)存储在其中的图片缓冲器(461、462等)。解码器(450)将经解码的图片(451)存储在那个图片缓冲器中。输出序列发生器(480)标识按输出次序将产生的下一图片何时可在经编码图片存储区域(460)中获得。当将按输出次序产生的下一图片(481)可在经解码的图片存储区域(460)中获得时,输出序列发生器(480)读取该下一图片并将其输出到输出目的地(490)(例如显示器)。一般来说,输出序列发生器(480)将图片从经解码图片存储区域(460)中输出的次序可以与解码器(450)解码这些图片的次序不同。V.示例视频编码器。图5a和5b是结合其可实现所描述的一些实施例的通用视频编码器(500)的框图。编码器(500)接收包括当前图片的视频图片序列作为输入视频信号(505)并在经编码视频比特流(595)中产生经编码数据作为输出。编码器(500)是基于块的并使用取决于实现的块格式。块还可在不同的阶段上被进一步细分,例如在预测、频率变换和/或熵编码阶段。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块进而可以被划分成更小的样本值块以用于编码和解码。在针对H.265/HEVC标准的编码的实现中,编码器将图片分割成CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。编码器(500)使用图片内编码和/或图片间编码来压缩图片。编码器(500)的许多组件被用于图片内编码和图片间编码两者。由这些组件执行的确切操作可取决于正压缩的信息的类型而变化。小块化模块(510)可任选地将图片分割成相同尺寸或不同尺寸的多个小块。例如,小块化模块(510)沿小块行和小块列来拆分图片,所述小块行和小块列利用图片边界定义在图片内的小块的水平和垂直边界,其中每个小块是矩形区域。在H.265/HEVC实现中,编码器(500)将图片分割成一个或多个片,其中每个片包括一个或多个片段。通用编码控件(520)接收输入视频信号(505)的图片以及来自编码器(500)的各个模块的反馈(未示出)。整体上,通用编码控件(520)将控制信号(未示出)提供给其它模块(例如小块化模块(510)、变换器/缩放器/量化器(530)、缩放器/逆变换器(535)、图片内估计器(540)、运动估计器(550)以及帧内/帧间切换)以设置和改变编码期间的编码参数。具体地,通用编码控件(520)可判定是否以及如何在编码期间在逐图片的基础上、逐片的基础上、逐CU的基础上或其他逐单元的基础上自适应地切换色彩空间、色彩采样率和/或比特深度,并且可使用本文中描述的创新中的一者或多者。通用编码控件(520)还可以评估编码期间的中间结果,例如执行速率-失真分析来评估。通用编码控件(520)产生指示在编码期间作出的判定的通用控制数据(522),使得对应的解码器可以作出一致的判定。通用控制数据(522)被提供给头部格式化器/熵编码器(590)。如果使用图片间预测来预测当前的图片,则运动估计器(550)估计输入视频信号(505)的当前图片的采样值块相对于一个或多个参考图片的运动。经解码的图片缓冲器(570)缓冲一个或多个经重构的先前编码的图片以供用作参考图片。当使用多个参考图片时,这多个参考图片可以来自不同的时间方向或相同的时间方向。运动估计器(550)产生诸如MV数据、合并模式索引值和参考图片选择数据之类的辅助信息运动数据(552)。运动数据(552)被提供给头部格式化器/熵编码器(590)以及运动补偿器(555)。运动补偿器(555)将MV应用于来自经解码图片缓冲器(570)的(诸)经重构的参考图片。运动补偿器(555)产生针对当前图片的经运动补偿的预测。在编码器(500)内的分开的路径中,图片内估计器(540)确定如何执行对输入视频信号(505)的当前图片的样本值块的图片内预测。当前图片可全部或部分使用图片内编码来编码。对于空间内预测,使用当前图片的重构(538)的值,图片内估计器(540)确定如何从当前图片的邻近的、先前重构的样本值中空间地预测当前图片的当前块的样本值。或者,对于帧内BC预测,图片内估计器(540)估计从当前块到可用BV值来指示的参考块的位移。图片内估计器(540)产生辅助信息帧内预测数据(542),诸如指示帧内预测使用空间预测还是帧内BC预测的信息、预测模式方向(对于帧内空间预测的情况)、BV值(对于帧内BC预测的情况)。帧内预测数据(542)被提供给头部格式化器/熵编码器(590)以及图片内预测器(545)。根据帧内预测数据(542),图片内预测器(545)在空间上从当前图片的邻近的先前重构的采样值中预测当前图片的当前块的采样值。或者,对于帧内BC预测,图片内预测器(545)使用依据当前块的位移(BV值)指示的参考块的先前重构的样本值来预测当前块的样本值。在一些情况中,BV值可以是预测的值。在其它情况中,BV值可以不同于其预测的值,在该情况中差异指示了预测的值和BV值之间的差值。对于调色板编码模式,编码器(500)使用调色板来表示CTU或其它单元的样本值中的至少一些。调色板表示该单元中使用的色彩。例如,调色板将索引值0,1,2,…,p映射到对应的色彩,该色彩可采用RGB4:4:4格式、BGR4:4:4格式、GBR4:4:4格式或另一个格式(色彩空间、色彩采样率)。索引值可表示像素的RGB三元组、BGR三元组或GBR三元组,其中像素是一组共置样本值。对于对该单元的编码,索引值取代该单元内的各像素的样本值。取代使用调色板中的索引值,可使用逸出代码值和文字值来对单元中的稀有值进行编码。调色板可随单元而改变,并且详细说明调色板的调色板数据可被信号化在比特流中。帧内/帧间切换选择针对给定块的预测(558)将是经运动补偿的预测还是图片内预测。在一些示例实现中,不为用调色板编码模式或帧内BC预测模式编码的单元计算残留值。实际上,残留值编码被跳过,并且预测的样本值被用作经重构的样本值。替换地,即使对于用调色板编码模式或帧内BC预测模式编码的单元,也执行残留值编码。当残留值编码没有被跳过时,预测(558)的块和输入视频信号(505)的原始当前图片的对应部分之间的差(如果有的话)提供各残留(518)值。在当前图片的重构期间,当残留值已经被编码/信号化时,经重构的残留值与预测(558)组合以从视频信号(505)中生成对原始内容的近似重构或准确重构(538)。(在有损压缩中,一些信息从视频信号(505)中丢失。)作为残留值编码的一部分,在变换器/缩放器/量化器(530)中,当频率变换没有被跳过时,频率变换器将空间域视频信息转换成频域(即频谱变换)数据。对于基于块的视频编码,频率变换器将离散余弦变换(“DCT”)、其整数近似、或其它类型的前向块变换(例如离散正弦变换或其整数近似)应用于预测残留数据的块(如果预测(558)为空则应用于采样值数据),产生频率变换系数的块。变换器/缩放器/量化器(530)可以应用具有可变块尺寸的变换。在这种情况中,变换器/缩放器/量化器(530)可确定要对当前块的残留值使用哪些块尺寸的变换。缩放器/量化器对变换系数进行缩放和量化。例如,量化器将以逐图片基础、逐小块基础、逐片基础、逐块基础、频率专用基础或其它基础来变化的量化步进尺寸将死区标量量化应用于频域数据。当ACT被使用时,量化器可如本文中所描述的那样设置QP值。经量化的变换系数数据(532)被提供给头部格式化器/熵编码器(590)。如果频率变换被跳过,则缩放器/量化器可对预测残留数据块(或如果预测(558)为空则对样本值)进行缩放和量化,从而生成要提供给头部格式化器/熵编码器(590)的经量化的值。为了重构残留值,在缩放器/逆变换器(535)中,缩放器/逆量化器对经量化的变换系数执行逆缩放和逆量化。当变换阶段没有被跳过时,逆频率变换器执行逆频率变换,生成经重构的预测残留值或采样值的块。如果变换阶段已经被跳过,则也跳过逆频率变换。在这种情况中,缩放器/逆量化器可对预测残留值(或样本值数据)的块执行逆缩放和逆量化,从而产生经重构的值。当残留值已经被编码/信号化时,编码器(500)将经重构的残留值与预测(558)的值(例如,经运动补偿的预测值、图片内预测值)组合以形成重构(538)。当残留值尚未被编码/信号化时,编码器(500)将预测(558)的值用作重构(538)。对于图片内预测,重构(538)的值可以被馈送回图片内估计器(540)和图片内预测器(545)。重构(538)的值可以被用于对后续图片的经运动补偿的预测。重构(538)的值可被进一步滤波。对于视频信号(505)的给定图片,滤波控件(560)确定如何对重构(538)的值执行去块滤波和SAO滤波。滤波控件(560)生成滤波控制数据(562),它被提供给头部格式化器/熵编码器(590)和合并器/(诸)滤波器(565)。在合并器/(诸)滤波器(565)中,编码器(500)将来自不同小块的内容合并到图片的经重构版本中。编码器(500)根据滤波器控制数据(562)和用于滤波器自适应规则选择性地执行去块滤波和SAO滤波,以便自适应地平滑各图片中的边界上的间断。可替换地或另外地应用其它滤波(例如去振铃滤波或ALF;未示出)。取决于编码器(500)的设置,边界可选择性地被滤波或根本不被滤波,并且编码器(500)可在经编码的比特流内提供句法元素以指示是否应用这样的滤波。经解码的图片缓冲器(570)缓冲经重构的当前图片以供在后续的经运动补偿的预测中使用。头部格式化器/熵编码器(590)对通用控制数据(522)、经量化的变换系数数据(532)、图片内预测数据(542)、运动数据(552)以及滤波器控制数据(562)进行格式化和/或熵编码。通用控制数据(522)可包括为各图片、片、CU或视频中的其他单元指示色彩空间、色彩采样率和/或比特深度的信号。这样的信号可例如被包括在PPS、片头部、CU句法结构或其他句法结构中,并且可被熵编码或信号化成固定长度值。头部格式化器/熵编码器(590)还可对以下信息进行格式化和/或熵编码:标识或定义可用色彩空间的信息(例如,预定义色彩空间、针对ACT操作的自定义度量的列表)、标识或定义可用色彩采样率的信息(例如,预定义色彩采样率、其他色彩采样率或用于下采样和上采样的操作的标识的列表)、和/或标识或定义可用比特深度的信息(例如,预定义比特深度、其他比特深度或用于比特深度转换的操作的标识的列表),这些信息可被解码器在自适应切换期间使用。格式化器/熵编码器(590)还可格式化和/或熵编码在例如PPS、片头部、CU句法结构或其他句法结构中指示QP值的句法元素。头部格式化器/熵编码器(590)在经编码的视频位流(595)中提供经编码数据。经编码的视频比特流(595)的格式可以是H.265/HEVC格式、其他H.26x格式(例如,H.261、H.262、H.263、H.264)、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)或另一格式的变型或扩展。。取决于实现和期望的压缩类型,编码器(500)的模块可被添加、省略、拆分成多个模块、与其它模块组合、和/或用相似的模块来替代。在替换实施例中,具有不同模块和/或其它配置的模块的编码器执行一个或多个所描述的技术。编码器的具体实施例通常使用编码器(500)的变型或补充版本。所示的编码器(500)内的各模块之间的关系指示了信息在编码器中的一般流动;为简明起见,未示出其它关系。VI.示例视频解码器。图6是结合其可实现所描述的一些实施例的通用解码器(600)的框图。解码器(600)接收经编码的视频比特流(605)中的经编码的数据并产生包括经重构视频(695)的图片的输出。经编码的视频比特流(595)的格式可以是H.265/HEVC格式、其他H.26x格式(例如,H.261、H.262、H.263、H.264)、Windows媒体视频格式、VC-1格式、MPEG-x格式(例如,MPEG-1、MPEG-2或MPEG-4)或另一格式的变型或扩展。。图片可以被组织为相同尺寸或不同尺寸的多个小块。一个图片还可以被组织成一个或多个片。片或小块的内容还可被组织成块或其它样本值集。解码器(600)是基于块的并使用取决于实现的块格式。块可以在不同的阶段被进一步细分。例如,图片可以被划分成64x64块、32x32块或16x16块,这些块随后可以被划分成更小的样本值块。在针对H.265/HEVC标准的解码实现中,将图片分割成CTU(CTB)、CU(CB)、PU(PB)和TU(TB)。解码器(600)使用图片内解码和/或图片间解码来对图片进行解压缩。解码器(600)的许多组件被用于图片内解码和图片间解码这两者。由这些组件执行的确切操作可以取决于正被解压缩的信息的类型而变化。缓冲器接收经编码的视频比特流(605)中的经编码数据,并使得接收到的经编码数据可用于解析器/熵解码器(610)。解析器/熵解码器(610)通常应用在编码器(500)中执行的熵编码的逆(例如上下文自适应二进制算术解码)对经熵编码的数据进行熵解码。作为解析和熵解码的结果,解析器/熵解码器(610)产生通用控制数据(622)、经量化的变换系数数据(632)、图片内预测数据(642)、运动数据(652)以及滤波器控制数据(662)。通用控制数据(622)包括为各图片、片、CU或视频中的其他单元指示色彩空间、色彩采样率和/或比特深度的信号。这样的信号可例如被包括在PPS、片头部、CU句法结构或其他句法结构中,并且可被熵编码或信号化成固定长度值。解析器/熵解码器(610)还可对以下信息进行解析和/或熵解码:标识或定义可用色彩空间的信息(例如,预定义色彩空间、针对ACT操作的自定义度量的列表)、标识或定义可用色彩采样率的信息(例如,预定义色彩采样率、其他色彩采样率或用于下采样和上采样的操作的标识的列表)、和/或标识或定义可用比特深度的信息(例如,预定义比特深度、其他比特深度或用于比特深度转换的操作的标识的列表),这些信息可被解码器(600)在自适应切换期间使用。解析器/熵解码器(610)还可从例如PPS、片头部、CU句法结构或其他句法结构中解析和/或熵解码指示QP值的句法元素。通用解码控件(620)接收通用控制数据(622)并将控制信号(未示出)提供给其它模块(例如缩放器/逆变换器(635)、图片内预测器(645)、运动补偿器(655)以及帧内/帧间切换)以设置和改变解码期间的解码参数。具体地,通用解码控件(620)可使得解码器(600)在解码期间在逐图片的基础上、逐片的基础上、逐CU的基础上或在某一其他逐单元的基础上切换色彩空间、色彩采样率和/或比特深度。如果当前图片是使用图片间预测来预测的,则运动补偿器(655)接收运动数据(652),例如MV数据、参考图片选择数据、以及合并模式索引值。运动补偿器(655)将MV应用于来自经解码图片缓冲器(670)的(诸)经重构的参考图片。运动补偿器(655)产生针对当前图片中的帧间编码块的运动补偿的预测。经解码图片缓冲器(670)存储一个或多个先前重构的图片以供用作参考图片。在解码器(600)内的分开路径中,图片内预测器(645)接收帧内预测数据(642),例如指示图片内预测使用空间预测还是帧内BC预测的信息以及预测模式方向(对于帧内空间预测的情况)或BV值(对于帧内BC预测的情况)。对于帧内空间内预测,根据预测模式数据使用当前图片的重构(638)的值,图片内预测器(645)从当前图片的相邻的、先前重构的样本值中空间地预测当前图片的当前块的样本值。或者,对于帧内BC预测,图片内预测器(545)使用依据当前块的位移(BV值)指示的参考块的先前重构的样本值来预测当前块的样本值。在一些情况中,BV值(或其他偏移值)可以是预测的值。在其它情况中,BV值(或其他偏移值)可不同于其预测的值,在该情况中该BV值(或其他偏移值)是使用差异和预测的值来重构的。对于调色板解码模式,解码器(600)使用表示CTU或其它单元的样本值中的至少一些的调色板。调色板将索引值映射到在单元中使用的对应的色彩。例如,调色板将索引值0,1,2,…,p映射到对应的色彩,该色彩可采用RGB4:4:4格式、BGR4:4:4格式、GBR4:4:4格式或另一个格式(色彩空间、色彩采样率)。索引值可以表示像素的RGB三元组、BGR三元组或GBR三元组。在解码期间,对于单元中的位置,来自调色板的索引值被适当的样本值取代。单元中的逸出编码值可以使用逸出代码值和文字值来解码。调色板可基于信号化在比特流中的调色板数据逐单元地改变。帧内/帧间切换选择运动补偿的预测或图片内预测的值用作给定块的预测(658)。例如,当H.265/HEVC句法被遵循时,可以基于为图片中的CU编码的句法元素来控制帧内/帧间切换,该图片可以包含帧内预测的CU和帧间预测的CU。当残留值已经被编码/信号化时,解码器(600)将预测(658)与重构的残留值组合以产生来自视频信号的内容的重构(638)。当残留值尚未被编码/信号化时,解码器(600)将预测(658)的值用作重构(638)。为了在残留值已被编码/信号化时重构残留值,缩放器/逆变换器(635)接收并处理经量化的变换系数数据(632)。在缩放器/逆变换器(635)中,缩放器/逆量化器对经量化的变换系数执行逆缩放和逆量化。当ACT被使用时,逆量化器可如本文中所描述的那样设置QP值。逆频率变换器执行逆频率变换,从而产生经重构的预测残留值或样本值的块。例如,逆频率变换器将逆块变换应用到频率变换系数,从而产生样本值数据或预测残留数据。逆频率变换可以是逆DCT、其整数近似、或另一种类型的逆频率变换(例如逆离散正弦变换或其整数近似)。如果频率变换在编码期间被跳过,则逆频率变换也被跳过。在这种情况中,缩放器/逆量化器可对预测残留值(或样本值数据)的块执行逆缩放和逆量化,从而产生经重构的值。对于图片内预测,重构(638)的值可以被馈送回图片内预测器(645)。对于图片间预测,重构(638)的值可以被进一步滤波。在合并器/(诸)滤波器(665)中,解码器(600)将来自不同小块的内容合并到图片的经重构版本中。解码器(600)根据滤波器控制数据(662)和滤波自适应规则来执行去块滤波和SAO滤波,以便自适应地平滑各帧中的各边界上的间断。可替换地或另外地应用其它滤波(例如去振铃滤波或ALF;未示出)。小块边界可以被选择性地滤波或根本不被滤波,这取决于解码器(600)的设置或经编码的比特流数据内的句法元素。经解码的图片缓冲器(570)缓冲经重构的当前图片以供在后续的经运动补偿的预测中使用。解码器(600)还可包括后处理滤波器。后处理滤波器(608)可以包括去块滤波、去振铃滤波、自适应维纳滤波、膜颗粒再现滤波、SAO滤波或另一种类的滤波。尽管“内环路”滤波是在运动补偿环路中对图片的经重构的样本值执行的,并因此影响参考图片的样本值,但后处理滤波器(608)是在经重构的样本值被输出以供显示之前在运动补偿环路外部被应用于经重构的样本值的。取决于实现和期望的解压缩类型,解码器(600)的模块可被添加、被省略、被拆分成多个模块、被与其他模块组合和/或被替换为类似的模块。在替换实施例中,具有不同模块和/或其它配置的模块的解码器执行一个或多个所描述的技术。解码器的具体实施例通常使用解码器(600)的变型或补充版本。所示的解码器(600)内的模块之间的关系指示信息在解码器中的一般流动;为简明起见,未示出其它关系。VII.在切换色彩空间时调整编码或解码。本章节呈现对视频序列的各单元进行自适应编码和解码的各种特征。单元可以是图片、片、CU或视频序列中的其他部分。例如,这些创新中的一些涉及为自适应色彩空间变换(“ACT”)信号化控制信息。其他创新涉及ACT操作。这些特征可在编码和解码期间在各色彩空间之间切换时改善编码效率。一般来说,色彩空间(有时被称为色彩模型)是用于按照物理位置将各色彩表示成n个值的模型,n≥1,其中这n个值中的每一个提供针对那个位置的色彩分量值。例如,在YUV色彩空间中,亮度(或Y)分量值表示某位置处的近似亮度,且多个色度(或U和V)分量值表示该位置处的色差。色差值(以及从YUV色彩空间到诸如RGB的另一色彩空间和/或从另一色彩空间到YUV色彩空间的变换操作)的精确定义取决于实现。通常,出于编码和解码的目的,Y分量是主要分量,且U和V分量是次要分量。一般来说,如本文中所使用的,术语YUV型色彩空间指示具有亮度(或辉度)分量和一个或多个色度(或色差)分量的任意色彩空间,包括YUV、YIQ、YIQ和YDbDr以及诸如YCbCr、YCgCo和YCoCg之类的变型。术语YcoCg型色彩控制指示具有处于任何次序的Y、Co和Cg分量的任何色彩空间。所使用的分量信号测量可通过应用非线性传递特征函数(一般被称为“伽玛预补偿”来调整并且通常通过使用基本象征符来表示,但是为了便于印刷通常会省略该基本象征符)来调整。或者,这些分量信号测量可在与光振幅具有线性关系的域中。亮度和色度分量信号可与人类视觉系统对明亮度和色彩的感知对准,或者亮度和色度分量信号可在某种程度上偏离这样的测量(例如,如在YCoCg变型中,其中应用了简化对色彩分量值的计算的公式)。作为另一示例,在RGB色彩空间中,红色(R)分量值表示某位置处的红色强度,绿色(G)分量值表示该位置处的绿色强度,并且蓝色(B)分量值表示该位置处的蓝色强度。如本文中所使用的,术语RGB型色彩空间指示具有处于任何次序的R、G和B色彩分量的色彩空间。示例包括RGB、BGR和GBR色彩空间,出于编码和解码的目的其在主要分量方面不同。主要分量是用色彩空间的首字母来指示的(例如,RGB的R)。色彩采样率(有时被称为色度采样率)指代各色彩分量之间的相对空间分辨率。例如,对于为4:4:4的色彩采样率,针对次要分量(例如,YUV的U和V分量)的信息与针对主要分量(例如,YUV的Y分量)的信息具有相同的空间分辨率。对于为4:2:2或4:2:0的色彩采样率,针对次要分量的信息相对于针对主要分量的信息被下采样。与YUV4:4:4格式相比,YUV4:2:0格式是对色度信息进行子采样的格式,使得色度分辨率在水平和垂直两者上都是亮度分辨率的一半。与YUV4:4:4格式相比,YUV4:2:2格式是水平地对色度信息进行子采样的格式,使得色度分辨率在水平上是亮度分辨率的一半。色彩采样率的其他示例为4:1:1(次要分量在水平上具有四分之一的分辨率)和4:0:0(次要分量被丢弃)。色彩子采样通常被应用于YUV型色彩空间。RGB型色彩空间通常具有为4:4:4的色彩采样率,但可根据哪些次要色彩分量被子采样而改为具有不同的色彩采样率。虽然YUV4:2:0格式被方便地用于进行视频编码和解码,但存在视频具有更丰富的色彩信息并且更高的色彩保真度可被调整的一些使用情况。在这样的使用情况下,YUV4:4:4和YUV4:2:0色度采样格式之间的差异被查看者更容易地感知到。例如,为了对计算机屏幕文本内容、具有人工硬边线化边界的动画视频内容、或更通常地视频内容的某些特征(诸如,滚动标题和硬边线化图形、或者信息集中在色度通道中的视频)进行编码/解码,4:4:4格式可优于4:2:0格式。比特深度指代每样本比特数的值。常用的比特深度为每样本8比特、每样本10比特和每样本12比特。其他可能的比特深度包括每样本4比特和每样本16比特。在对某个“人工”创建的视频内容(诸如屏幕捕捉内容)进行编码或者在对自然视频和人工创建的视频内容的混合进行编码时,对色彩空间、色彩采样率和/或比特深度的自适应切换可改善速率-失真性能。编码/解码屏幕捕捉内容的常见场景包括远程桌面会议和对自然视频或其它“经混合的内容”视频的图形覆盖的编码/解码。视频的类型。屏幕捕捉视频通常表示计算机屏幕或其他显示的输出。图7示出具有可为屏幕捕捉提供输入的内容的计算机桌面环境(710)。例如,屏幕捕捉视频可表示整个计算机桌面(711)的一系列图像。或者,屏幕捕捉视频可表示针对计算机桌面环境的窗口之一的一系列图像,窗口为诸如包括游戏内容的应用窗口(713)、具有网页内容的浏览器窗口(712)或具有文字处理内容的窗口(714)。作为计算机生成的、人工创建的视频内容,屏幕捕捉内容往往具有与使用摄像机捕捉的自然视频内容相比相对较少的离散样本值。例如,屏幕捕捉内容的区域通常包括单个统一色彩,而自然视频内容中的区域更可能包括逐渐变化的色彩。同样,屏幕捕捉内容通常包括不同的结构(例如,图形、文本字符),这些不同的结构精确地逐图片重复,即使该内容可能在空间上被移位(例如,由于滚动)。屏幕捕捉内容通常是用具有高色度采样分辨率的格式(例如YUV4:4:4或RGB4:4:4)来编码的,但是它也可以用具有较低色度采样分辨率的格式(例如YUV4:2:0、YUV4:2:2)来编码。图8示出包括自然视频(821)和人工创建的视频内容的复合视频(820)。人工创建的视频内容包括自然视频(821)旁边的图形(822)以及在自然视频(821)下面运行的贴标(823)。与图7中示出的屏幕捕捉内容相同,图8中示出的人工创建的视频内容往往具有相对较少的离散样本值。它还往往具有恰好逐图片地重复(例如,由于滚动)的不同的结构(例如,图形、文本字符)。B.自适应切换的示例。对于色彩空间的自适应切换,序列中的视频的不同单元在不同的色彩空间中编码。例如,一些单元被编码在YUV型色彩空间(例如YCbCr、诸如YcgCo或YcoCg之类的YCoCg型色彩空间)中,而其他单元被编码在RGB型色彩空间(例如,RGB、BGR、GBR)中。在这种情况下,编码器或解码器在适当时对样本值执行ACT操作以在YUV型色彩空间和RGB型色彩空间之间切换。通常,ACT操作可被表示为在逐位置的基础上执行的矩阵乘法操作,其中某位置在第一色彩空间中的n个样本值被乘以nxn矩阵以产生该位置在第二色彩空间中的n个样本值。在实践中,ACT操作可使用其他算法来实现。作为对色彩空间的自适应切换的另一示例,不同的单元可在不同的RGB型色彩空间中编码,这些不同的RGB型色彩空间在其主要分量和各分量(例如,对于残留数据)被信号化的次序方面不同。在这种情况下,编码器或解码器在恰当时对样本值的块或平面执行色彩空间重排序操作以改变哪个色彩分量是主要色彩分量。在一些示例实现中,对于有损编码模式(在H.265/HEVC实现中,为当cu_transquant_bypass_flag等于0时),编码器可在不同色彩空间中的任何色彩空间之间切换。然而,对于无损编码模式(在H.265/HEVC实现中,为当cu_transquant_bypass_flag等于1时),编码器仅执行可逆色彩空间变换(例如,在RGB、BGR和BGR色彩空间之间重新排序色彩分量,在YCgCo和YCoCg色彩空间之间重新排序色彩分量,或者在一些实现中,为使用增加的中间比特深度在RGB型色彩空间(诸如GBR)和YcoCg型色彩空间(诸如YCgCo)之间的变换)。对于色彩采样率的自适应切换,序列中的视频的不同单元是用不同的色彩采样率来编码的。例如,一些单元是用4:2:2或4:2:0格式(诸如YUV4:2:2或YUV4:2:0)来编码的,而其他单元是用4:4:4格式(诸如YUV4:4:4)来编码的。RGB型色彩空间通常具有为4:4:4的色彩采样率,但其色彩分量可改为是根据为4:2:2或4:2:0的色彩采样率来子采样的,例如,在主要色彩分量比次要色彩分量占优势的多的情况下。在对次要分量的样本值进行水平地或垂直地下采样时,编码器或解码器可执行单纯的子采样、低通滤波加子采样、或其他滤波加子采样。对于对次要分量的样本值的相应上采样,编码器或解码器使用例如样本值重复和/或滤波来反转该子采样。对于比特深度的自适应切换,序列中的视频的不同单元或单元中的不同色彩分量是用不同的比特深度来编码的。例如,一些单元被编码成具有12比特样本值,而其他单元被编码成具有10比特样本值或8比特样本值。当在各比特深度之间转换时,编码器或解码器可(利用或不利用舍入因子的添加)截断较高比特深度的样本值以产生较低比特深度的样本值,或缩放较低比特深度的样本值以产生较高比特深度的样本值。编码器通常以具有12比特样本值的给定格式(诸如RGB4:4:4)来接收输入视频。编码器可针对视频的给定单元在输入格式和另一格式(具有不同的色彩空间、不同的色彩采样率和/或不同的比特深度)之间转换。色彩空间自适应可单独地或与色彩采样率自适应和/或比特深度自适应结合地在图片级、片级、CU级或某一其他级处执行。类似地,色彩采样率自适应可单独地或与色彩空间自适应和/或比特深度自适应结合地在图片级、片级、CU级或某一其他级处执行。比特深度自适应可单独地或与色彩空间自适应和/或比特采样率自适应结合地在图片级、片级、CU级或某一其他级处执行。图9示出针对序列(900)中的图片的图片自适应色彩空间、色彩采样率和/或比特深度。序列(900)包括一系列图片。编码器按需将输入视频从输入视频格式转换成为给定图片选择的格式。图片1的格式为具有8比特样本值的YCoCg4:2:0,并且图2的格式为具有8比特样本值的RGB4:4:4。图片3和4是RGB4:4:4视频,但其样本值具有不同的比特深度。图10示出针对序列中的图片(1000)的片的片自适应色彩空间、色彩采样率和/或比特深度。图片(1000)包括五个片,这些片的边界以虚线示出。例如,片0、1、3和4可与屏幕捕捉内容或其他人工创建的视频内容相关联,而片2与自然视频内容相关联。片0和3的格式为具有10比特样本值的BGR4:4:4。片1包括GBR4:4:4视频的12比特样本值。片2的格式为具有8比特样本值的YCoCg4:2:0,并且片4的格式为具有8比特样本值的RGB4:4:4。图11示出针对序列中的图片的片(1100)的CU的CU自适应色彩空间、色彩采样率和/或比特深度。片(1100)包括具有三种不同的尺寸的17个CU。前两个CU的格式为具有8比特样本值的YCoCg4:2:0,并且最后一个CU的格式为具有10比特样本值的YCoCg4:2:0。CU2-15包括RGB型色彩空间中具有为4:4:4的采样率的12比特样本值。CU2-15的色彩空间在RGB、BGR和GBR之间进行改变。C.示例ACT操作和对量化/缩放的调整。当编码器自适应地在视频的各单元之间切换色彩空间时,编码器可调整量化和/或缩放。当解码器在视频的各单元之间切换色彩空间时,对应的解码器可调整逆量化和/或缩放。例如,当色彩空间切换发生时,编码器和解码器可针对不同的色彩分量使用不同的量化步骤大小。在编码期间调整量化/缩放和在对应的解码期间调整逆量化/缩放可在各色彩空间之间切换时改进编码效率。考虑在逐单元的基础上在RGB型色彩空间(诸如GBR)和YCoCg型色彩空间(诸如YCgCo)之间的自适应切换的示例。一般而言,编码器或解码器可将样本值从RGB色彩空间转换到YCoCg色彩空间,如以下操作所显示的。YCoCg=12120-2-12-1RGB/4]]>YCoCg色彩空间中的输出样本值的动态范围可通过增加偏移来调整。例如,假设某位置在RGB色彩空间中的样本值分别为PsR,PsG和PsB并且当前比特深度为bit_depthcurrent(比特_深度当前)。最小样本值为0,并且最大样本值为(1<<bit_depthcurrent)(例如,对于8比特样本值为255)。<<x操作指示达x比特的向左比特移位操作。为了调整Co和Cg的动态范围,术语add_value(增加_值)被定义成1<<(bit_depthcurrent-1)(例如,对于8比特样本值为128,以将输出值保持在0…255的范围中)。该位置在YCoCg色彩空间中的样本值PsY、PsCo和PsCg可通过算术上等效于以下的操作来计算:PsY=(PsR+(2*PsG)+PsB+2)>>2PsCo=((2*(PsR-PsB)+2)>>2)+add_valuePsCg=(((2*PsG)-PsR-PsB+2)>>2)+add_value其中>>x指示达x比特的向右移位操作。样本值PsY、PsCo和PsCg可被限幅在最小样本值和最大样本值所限定的范围中。一般而言,编码器或解码器可将样本值从YCoCg色彩空间变换回RGB色彩空间,如以下操作所显示的。RGB=11-11011-1-1YCoCg]]>如果偏移被添加到YCoCg色彩空间中的样本值,则偏移被首先减去。例如,假设某位置在YCoCg色彩空间中的样本值分别为RsY,RsCo和RsCg,并且当前比特深度为比特_深度当前(bit_depthcurrent)。为了调整动态范围,术语增加_值(add_value)被定义成1<<(bit_depthcurrent-1)(例如,对于8比特样本值为128,在0…255的范围中)。该位置在RGB色彩空间中的样本值RsR、RsG和RsB可通过算术上等效于以下的操作来计算:RsCo-=add_valueRsCg-=add_valueRsR=RsY+RsCo-RsCgRsG=RsY+RsCgRsB=RsY-RsCo-RsCg样本值RsR、RsG和RsB可被限幅在最小样本值和最大样本值所限定的范围中。在一些实现中,临时变量可存储值RsY-RsCg以供在各操作中使用。如果YCoCg色彩空间中的各样本值的第二和第三色彩分量被重新排序,则这些样本值被切换到YCgCo空间。类似地,RGB色彩空间中的各样本值的三个色彩分量可被重新排序成GBR或BGR色彩空间。在以下描述的示例中的许多部分中,编码器和解码器在GBR和YcgCo色彩空间之间切换。根据逆色彩空间变换矩阵,Y分量的样本值将对R、G和B样本值具有影响。通过逆色彩空间变换,针对其的总能量贡献是(1)2+(1)2+(1)2=3。Co分量的样本值将对R和B样本值具有影响,并且通过逆色彩空间变换,针对其的总能量贡献是(1)2+(0)2+(-1)2=2。类似地,Cg分量的样本值将对R、G和B样本值具有影响,并且通过逆色彩空间变换,针对其的总能量贡献是(-1)2+(1)2+(-1)2=3。由此,Y、Co和Cg分量的能量贡献的比率是3:2:3。取决于该能量比率,Y、Co和Cg分量中的量化误差的能量将被逆色彩空间变换操作放大。如果片或图片内的CU具有相同的QP值,则当在YCoCg色彩空间中编码的CU被变换回RGB色彩空间时,针对这些CU(被编码在YCoCg域中接着被变换回RGB域)的量化误差的能量将相对于针对被编码在RGB色彩空间中的CU的量化误差的能量被放大。为了在YCoCg编码的CU和RGB编码的CU之间具有可比水平的量化误差的能量,编码器和解码器可相对于应用到RGB编码的CU的QP值或缩放来调整应用到YCoCg编码的CU的QP值或缩放。例如,假设用于图片或片的RGB编码的CU的R、G和B分量的QP值为QP_RGB。对于该图片或片的YCoCg编码的CU的Y分量,QP值是QP_Y。对于QP_RGB的给定值,量化步骤大小QSS通过QSS=2(QP_RGB-4)/6来给出。当QP_RGB被增加1或减少1时,量化步骤大小增加或减少21/6的因子。对于给定QP值的量化误差的能量一般可被测量为QSS2的线性函数。由此,对于QP_RGB,量化误差的能量可被测量为(2(QP_RGB-4)/6)2=2(QP_RGB-4)/3。为了在(a)被编码在RGB域中的CU与(b)被编码在YCoCg域中接着被变换回RGB域的CU之间具有可比水平的量化误差的能量,QP_Y的值相对于QP_RGB的值来调整。由于通过逆色彩空间变换的来自Y分量的能量贡献是(1)2+(1)2+(1)2=3,则根据以下等式来计算调整,该计算开始于将针对RGB编码的CU的量化误差的能量设置为等于经放大的针对YCoCgCU的量化误差的能量。2(QP_RGB-4)/3=3*2(QP_Y-4)/3log2(2(QP_RGB-4)/3)=log2(3)+log2(2(QP_Y-4)/3)(QP_RGB-4)/3=log2(3)+(QP_Y-4)/3QP_Y=QP_RGB-3*log2(3)=QP_RGB-4.755≈QP_RGB-5由此,QP_Y的等效值可近似为QP_RGB–5的值。类似地,QP_Co和QP_Cg的值可相对于QP_RGB的值来调整。由于通过逆色彩空间变换的来自Co分量的能量贡献是(1)2+(0)2+(-1)2=2,所以QP_Co的值是QP_RGB-3*log2(2)=QP_RGB–3的值。类似于QP_Y的值,QP_Cg的值可近似为QP_RGB-3*log2(3)=QP_RGB-4.755≈QP_RGB-5的值。由此,为了在将Y、Co和Cg分量变换回RGB域时补偿3:2:3的能量比率,用于Y、Co和Cg分量的QP值相对于用于R、G和B分量的QP值近似为-5、-3和-5。例如,如果QP_RGB是16,则QP_Y=QP_Cg=11并且QP_Co=13。或者,如果QP_RGB是28,则QP_Y=QP_Cg=23并且QP_Co=25。对QP值的-5的调整对应于缩放25/6=1.78的因子。对QP值的-3的调整对应于缩放23/6=1.41的因子。如果图片或片的RGB编码的CU的R、G和B分量的QP值是不同的,则对针对Y、Co和Cg分量的QP值或缩放因子的调整可如以下来计算。R、G和B分量的QP值被分派到Y、Co和Cg分量,接着通过QP调整因子来调整,该QP调整因子基于在逆色彩空间变换操作中针对Y、Co和Cg色彩分量的能量放大。例如,假设QP_R是19,QP_G是28并且QP_B是33。在这个情况下,编码器和解码器可将QP值以相同的次序分派到第一、第二和第三色彩分量,接着应用QP值调整:QP_Y=19-5=14,QP_Co=28-3=25,和QP_Cg=33-5=28。或者,编码器和解码器可将QP值以不同的次序分派到第一、第二和第三色彩分量,接着应用QP值调整。例如,QP_Y=28-5=23,QP_Co=33-3=30,和QP_Cg=19-5=14。或者,QP值调整可仅依赖于用于第一色彩空间中的第一色彩分量的QP值。或者,QP值调整可仅依赖于用于第一色彩空间中的各色彩分量的最小QP值。无论如何,RGB编码的CU(不具有ACT)的量化误差的能量大致等于YCoCg编码的CU被变换回RGB色彩空间时的量化的能量。如以上提到的,量化误差一般可被建模为QP值的函数(将量化误差测量为QSS2的线性函数)。尤其,这个关系针对较小的QP值(和QSS)来保持。然而,该关系不像对于较高的QP值那样精确。因此,在一些示例实现中,取决于第一色彩空间的色彩分量的(诸)QP值,编码器或解码器可针对第二色彩空间中的各色彩分量使用不同的QP值调整。例如,编码器/解码器可使用查找表或其他结构来取决于用于第一色彩空间的QP值来确定针对第二色彩空间中的各色彩分量的QP值调整,其中查找表或其他结构将(针对第二色彩空间的各色彩分量的)不同的QP值调整与用于第一色彩空间的不同的QP值相关联。查找表或其他结构可包括特定色彩空间对(第一色彩空间,第二色彩空间)的值。例如,查找表QPAdjustOffset(QP调整偏移)可通过第二色彩空间的色彩分量(component_ID)和第一色彩空间中的QP值(QP_CS1)来组织。QPAdjustOffset[component_ID][QP_CS1]对于第二色彩空间的给定色彩分量component_ID,查找表包括针对在第一色彩空间中使用的不同QP值QP_CS1的QP值调整。针对在第一色彩空间中使用的给定QP值QP_CS1和第二色彩空间的给定色彩分量component_ID,编码器/解码器可确定针对第二色彩空间的该色彩分量component_ID要使用的QP值调整。编码器和解码器可进一步调整第二色彩空间的各色彩分量的QP值,该调整从第一色彩空间的第一、第二和第三色彩分量的QP值开始并且QP值调整被应用。例如,编码器增加第二色彩空间中的各色彩分量中的一个色彩分量的QP值(其增加量化误差的经放大的能量),接着减少第二色彩空间的另一色彩分量的QP值来补偿该增加。或者,编码器减少第二色彩空间中的各色彩分量中的一个色彩分量的QP值(其减少量化误差的经放大的能量),接着增加第二色彩空间的另一色彩分量的QP值来补偿该减少。例如,从QP_Y=23,QP_Co=30和QP_Cg=14开始,编码器可将QP_Y减少到18并将QP_Cg增加到22,而不显著地改变量化误差的整体能量。(在量化误差的能量方面大约166的减少(从将QP_Y从23改变到18中)被量化误差的能量方面大约162的增加(从将QP_Cg从14改变到22中)所抵消。)编码器和解码器可类似地在编码或解码期间在其他色彩空间之间切换时取决于逆色彩空间变换操作中第二色彩空间的相应色彩分量的能量放大来确定每色彩分量的色彩空间调整。一般来说,供从第一色彩空间变换到第二色彩空间的ACT矩阵CC_matrix1_to_2可被定义成:c00c01c02c10c11c12c20c21c22]]>为了调整输出的动态范围,可使用偏移矩阵CC_offsets1_to_2。偏移CC_offsets1_to_2可被定义为:o0o1o2]]>假设某位置在第一色彩空间中的样本值为PsCC1=[Ps00,Ps01,Ps02]T。该位置在第二色彩空间中的样本值PsCC2可被计算成:PsCC2=CC_matrix1_to_2*PsCC1+CC_offsets1_to_2样本值PsCC2被限幅在适当的范围内。供从第二色彩空间变换回第一色彩空间的ACT矩阵CC_matrix2_to_1可被定义成:c′00c′01c′02c′10c′11c′12c′20c′21c′22]]>为了调整输出的动态范围,可使用偏移的矩阵CC_offsets2_to_1。偏移CC_offsets2_to_1可被定义为:o′0o′1o′2]]>假设某位置在第二色彩空间中的样本值为RsCC2=[Rs00,Rs01,Rs02]T。该位置在第一色彩空间中的样本值RsCC1可被计算成:RsCC1=CC_matrix2_to_1*(RsCC2+CC_offsets2_to_1)样本值RsCC1被限幅在适当的范围内。可基于逆色彩空间变换操作中第二色彩空间的相应色彩分量的能量放大(能量比率)来确定每分量色彩空间调整因子。例如,逆色彩空间变换中第一分量的总能量贡献是cs2to1_0contribution(贡献)=(c'00)2+(c'10)2+(c'20)2。第二分量的总能量贡献是cs2to1_1contribution=(c'01)2+(c'11)2+(c'21)2,通过逆色彩空间变换的第三分量的总能量贡献是cs2to1_2contribution=(c'02)2+(c'12)2+(c'22)2。从这些能量贡献中,编码器和解码器可相对于第一色彩空间的QP值QP_CS1来确定对第二色彩空间的相应分量的QP值或缩放因子的调整。第二色彩空间的第一分量的QP值QP_CS2_0可被确定为QP_CS2_0=QP_CS1-3*log2(cs2to1_0contribution),其中-3*log2(cs2to1_0contribution)指示QP值调整。第二色彩空间中的第二和第三色彩分量的QP值QP_CS2_1和QP_CS2_2可使用cs2to1_1contribution和cs2to1_2contribution来被类似地确定。替换地,对应于QP值调整的缩放因子可被计算。如果第一色彩空间的各色彩分量的QP值具有不同的值(例如,QP_CS1_R,QP_CS1_G,QP_CS1_B),则第二色彩空间中的各色彩分量的QP值可如以上描述地被分派,该分派从第一色彩空间的各色彩分量的QP值开始并应用QP值调整。在它们被分派和调整后,第二色彩空间中的各色彩分量的QP值可如以上描述地被增加或减少,同时保持量化误差的能量的水平大致相同。在一些示例实现中,编码器使用被信号化在比特流中的句法元素来将QP值分派到第二色彩空间的色彩分量,并且解码器根据信号化的句法元素将QP值分派到第二色彩空间中的色彩分量。在这些实现中,编码器具有灵活性来将较低的QP值分派到第二色彩空间的具有最高能量或信息内容的色彩分量,以及将较高的QP值分派到其他色彩分量或以其他方式如编码器视为适当的那样来分派QP值。在其他示例实现中,编码器和解码器可从第一色彩空间中的各色彩分量的QP值开始取决于第二色彩空间的身份根据规则推导各QP值。例如,编码器和解码器以第一色彩空间的各色彩分量的QP值的次序将经修改的QP值分派到第二色彩空间中的各色彩分量。或者,编码器和解码器将最低QP值(如果有的话)分派到第二色彩空间的第一色彩分量(例如,预期具有最高能量或信息内容的色彩分量)并将其他QP值分派到第二色彩空间的其他色彩分量。随后,编码器和解码器使用依据规则确定的每分量色彩空间调整因子来调整向第二色彩空间中的各色彩分量分配的QP值。例如,编码器和解码器调整第一色彩空间的各色彩分量的最终QP值或中间QP值以便确定第二色彩空间的各色彩分量的QP值。在第一色彩空间为RGB型色彩空间并且第二色彩空间为YcoCg的情况下,编码器和解码器可分别将供RGB编码的块使用的QP值QP_RGB调整-5、-3和-5以得到Y、Co和Cg分量的QP值。更一般地,每分量色彩空间调整因子可取决于第二色彩空间中的相应色彩分量在逆色彩空间转换操作中的能量放大。对于可逆的(无损)色彩空间变换,编码器和解码器可重新排序各色彩分量(例如,在RGB、BGR和GBR色彩空间之间)。编码器和解码器还可使用增加的比特深度在RGB型色彩空间(诸如,GBR、RGB或BGR)和YcoCg型色彩空间(诸如,YcoCg或YCgCo)之间无损地切换。例如,编码器和解码器可从GBR色彩空间切换到YCoCg色彩空间。假设某位置在RGB色彩空间中的样本值分别为PsR、PsG和PsB。该位置在YCoCg色彩空间中的样本值PsY、PsCo和PsCg可通过算术上等效于以下的操作来计算:PsCo=PsR-PsBtemp=PsB+(PsCo>>1)PsCg=PsG-tempPsY=temp+(PsCg>>1)编码器和解码器可无损地从YCoCg色彩空间切换回到GBR色彩空间。假设某位置在YCoCg色彩空间中的样本值分别为RsY、RsCo和RsCg。该位置在RGB色彩空间中的样本值RsR、RsG和RsB可通过算术上等效于以下的操作来计算:temp=RsY-(RsCg>>1)RsG=RsCg+tempRsB=temp–(PsCo>>1)RsR=PsCo+PsCg如果YCoCg色彩空间中的各样本值的第二和第三色彩分量被重新排序,则这些样本值被切换到YCgCo空间。类似地,RGB色彩空间中的各样本值的三个色彩分量可被重新排序成GBR或BGR色彩空间。在以下描述的示例中的许多部分中,编码器和解码器在GBR和YcgCo色彩空间之间切换。在无损色彩空间变换的情况下,QP值不需要被调整以补偿误差的放大,因为样本值不被量化或逆量化。D.信号化ACT是否被启用方面的创新。根据本文中描述的第一创新集合,编码器信号化指示ACT是否被启用的句法元素。解码器解析该指示ACT是否被启用的句法元素。在一种方法中,该句法元素例如针对序列被根据条件信号化。在另一方法中,该句法元素被信号化在图片层句法元素中。替换地,该句法元素可按某一其他方式来信号化。对句法元素的条件信号化。图12示出用于编码的通用技术(1200),该编码包括对指示ACT是否被启用的句法元素的条件信号化。诸如参考图3或图5a-5b描述的编码器之类的图像编码器或视频编码器或者其他编码器可执行技术(1200)。图13示出用于相应的解码的通用技术(1300),该解码包括对该句法元素的条件解析。诸如参考图4或图6描述的解码器之类的图像解码器或视频解码器或者其他解码器可执行技术(1300)。参考图12,编码器对图像或视频的单元进行编码(1210)以产生经编码的数据。作为编码(1210)的一部分,编码器评估该单元的条件,并根据条件信号化指示在该单元内ACT是否被启用的句法元素。如果条件被满足,则该句法元素被信号化。否则(条件不被满足),则对该句法元素的信号化被跳过。编码器将经编码的数据作为比特流的一部分来输出(1220)。参考图13,解码器将经编码的数据作为比特流的一部分来接收(1310)。解码器对经编码的数据进行解码(1320)以重构图像或视频的单元。作为该解码(1320)的一部分,解码器评估该单元的条件,并根据条件解析指示该单元内ACT是否被启用的句法元素。如果条件被满足,则该句法元素被解析。否则(条件没有被满足),则对该句法元素的解析被跳过(因为该句法元素不存在于比特流中)。例如,该单元是视频序列,并且该句法元素是指示针对该序列ACT是否被启用的标志值。替换地,该单元是另一类型的单元(例如,图片)和/或该句法元素是另一类型的句法元素(例如,可变长度代码)。对条件的评估可包括检测色度格式是否为4:4:4。例如,如果色度格式为4:4:4,则该条件被满足。否则,该条件不被满足。替换地,编码器和解码器检查另一条件。图14示出可包括指示ACT是否被启用的句法元素的示例序列层句法结构(1400)。句法元素residual_adaptive_colour_transform_enabled_flag(残留自适应色彩变换被启用标志)(“ACT启用标志”)指示针对某序列ACT是否被启用。如果ACT启用标志的值为1,则ACT可被应用于残留数据值。如果ACT启用标志的值为0,则ACT不被应用于任何残留数据值。当不存在时,ACT启用标志的值被推断为0。在图14中,ACT启用标志取决于在句法结构(1400)之前被设置的变量chroma_format_idc(色度格式idc)的值被处理而根据条件存在或不存在。变量chroma_format_idc指示色度格式(例如,4:0:0、4:2:0、4:2:2、4:4:4)。在图14所示的示例中,当chroma_format_idc为3时,色度格式为4:4:4。由于ACT被设计成供在色度格式为4:4:4时使用,因此ACT启用标志仅在色度格式为4:4:4时才存在于句法结构(1400)中。在图片层信号化句法元素。图15示出用于编码的通用技术(1500),该编码包括对指示ACT是否被启用的句法元素的图片层信号化。诸如参考图3或图5a-5b描述的编码器之类的图像编码器或视频编码器或者其他编码器可执行技术(1500)。图16示出用于相应的解码的通用技术(1600),该解码包括对该句法元素的解析。诸如参考图4或图6描述的解码器之类的图像解码器或视频解码器或者其他解码器可执行技术(1600)。参考图15,编码器对图像或视频中的图片进行编码(1510)以产生经编码的数据。作为编码(1510)的一部分,编码器确定是否要在该图片内启用ACT,并且信号化指示在该图片内ACT是否被启用的图片层句法元素。编码器将经编码的数据作为比特流的一部分来输出(1520)。参考图16,解码器将经编码的数据作为比特流的一部分来接收(1610)。解码器对经编码的数据进行解码(1620)以重构图像或视频中的图片。作为该解码(1620)的一部分,解码器解析指示在该图片内ACT是否被启用的图片层句法元素,并且该解码器确定是否要在该图片内启用ACT。例如,图片层句法元素可被信号化为供该图片使用的PPS句法结构的一部分。PPS句法结构与该图片的片数据分开。在一些实现中,图片层句法元素是PPS句法结构内的PPS扩展句法结构中的标志。替换地,图片层句法元素被信号化在另一图片层句法结构中和/或是使用另一类型的句法元素(例如,可变长度代码)来信号化的。图17a和17b是示出包括指示ACT是否被启用的图片层句法元素的示例图片层句法结构的表格。具体地,图17a示出可包括PPS扩展(PPSextension)句法结构(1710)(即,pps_scc_extensions()结构)的PPS句法结构(1700),该PPS扩展句法元素结构的存在性由pps_extension_present_flag(pps扩展存在标志)句法元素来指示。图17b示出PPS扩展句法结构(1710),该PPS扩展句法结构包括residual_adaptive_colour_transform_enabled_flag(残留自适应色彩变换启用标志)句法元素(“ACT启用标志”)。ACT启用标志指示对于与PPS句法结构(1700)相关联(并且因此与PPS扩展句法结构(1710)相关联)的(一个或多个)图片ACT是否被启用。如果ACT启用标志的值为1,则ACT可被应用于(诸)图片的残留数据值。如果ACT启用标志的值为0,则ACT不被应用于(诸)图片的任何残留数据值。当不存在时,ACT启用标志的值被推断为0。ACT启用标志的值可被约束(出于比特流一致性的目的),使得当色度格式不是4:4:4时,ACT启用标志的值为0。E.信号化色彩空间标志方面的创新。根据本文中描述的第二创新集合,编码器根据条件信号化指示CU的色彩空间的句法元素。解码器根据条件解析指示CU的色彩空间的句法元素。具体地,编码器和解码器评估取决于CU中的多个PU的色度模式的条件。图18示出用于编码的通用技术(1800),该编码包括对指示CU的色彩空间的句法元素的条件信号化。诸如参考图3或图5a-5b描述的编码器之类的图像编码器或视频编码器或者其他编码器可执行技术(1800)。图19示出用于相应的解码的通用技术(1900),该解码包括对该句法元素的条件解析。诸如参考图4或图6描述的解码器之类的图像解码器或视频解码器或者其他解码器可执行技术(1900)。参考图18,编码器对图像或视频的单元进行编码(1810)以产生经编码的数据。作为编码(1810)的一部分,编码器评估CU的条件,并根据条件信号化指示该CU的色彩空间的句法元素。该CU具有多个PU(例如,4个PU)。在编码器评估条件时,编码器检查这些PU中的每一者的色度模式是否为直接模式。如果条件被满足,则该句法元素被信号化。否则(条件不被满足),则对该句法元素的信号化被跳过。编码器将经编码的数据作为比特流的一部分来输出(1820)。参考图19,解码器将经编码的数据作为比特流的一部分来接收(1910)。解码器对经编码的数据进行解码(1920)以重构图像或视频的单元。作为解码(1920)的一部分,解码器评估CU的条件,并根据条件来解析指示该CU的色彩空间的句法元素。该CU具有多个PU(例如,4个PU)。在解码器评估条件时,解码器检查这些PU中的每一者的色度模式是否为直接模式。如果该条件被满足,则该句法元素被信号化。否则(条件没有被满足),则对该句法元素的解析被跳过(因为该句法元素不存在于比特流中)。CU的编码模式可以为图片内预测(空间预测)。在该情况下,直接模式指示主要色彩分量的预测方向也被用于次要色彩分量。(如果PU的不同色彩分量具有不同的预测方向,则对不同色彩分量中的残留数据值的ACT操作可能不是有帮助的。另一方面,如果PU中的不同色彩分量具有相同的预测方向,则对不同色彩分量中的残留数据值的ACT操作可能是有帮助的。)PU的色度模式的句法元素可指示PU的色度模式是否为直接模式或者次要色彩分量的某个(某些)指定的预测方向。替换地,PU的句法元素可指示PU的色度模式为直接模式还是非直接模式,在该情况下,另一句法元素可指定次要色彩分量的(诸)预测方向。指示CU的色彩空间的句法元素可以是指示在CU的第一色彩空间(诸如GBR)和第二色彩空间(诸如YCgCo)之间的选择的标志值。如果该句法元素不存在于比特流中,则对于CU可暗示对第一色彩空间的选择。替换地,该句法元素是另一类型的句法元素(例如,指示从多个可用色彩空间中的选择的可变长度代码)。在其评估该条件时,编码器或解码器还可检查其他子条件。例如,编码器或解码器检查CU是否具有残留数据值。在一些示例实现中,ACT仅在CU具有残留数据值的情况下被执行。作为另一示例,编码器或解码器检查ACT是否被启用(例如,根据如在先前章节中描述的ACT启用标志的值)。(如果ACT没有被启用,则没有句法元素需要被信号化来指示CU的色彩空间。)作为另一示例,编码器或解码器检查CU的编码模式为图片间预测还是图片内BC预测。(在这些示例实现中,用图片间预测或图片内BC预测编码的CU的不同色彩分量使用相同的MV值或BV值,使得对不同色彩分量中的残留数据值的ACT操作可能是有帮助的。)对于具有单个PU的CU,编码器或解码器还可检查那个单个PU的色度模式是否为直接模式。由此,例如,如果(a)CU具有残留数据,(b)ACT被启用,以及(c)CU的编码模式为图片间预测、该CU的编码模式为图片内块复制预测、或者(编码模式为帧内空间预测)该CU中的任何(诸)PU的色度模式为直接模式,则该条件被满足。否则,该条件不被满足。图20示出可包括指示CU的色彩空间的句法元素cu_residual_act_flag(cu残留ACT标志)(“ACT标志”)的示例CU层句法结构(2000)。在CU层句法结构(2000)中,rqt_root_cbf句法元素指示对于CU,残留数据(具体地为transform_tree()(变换树())句法结构)是否存在。如果rqt_root_cbf为非零,则残留数据存在。否则(rqt_root_cbf为0),残留数据不存在。如果残留数据存在(rqt_root_cbf为非零),则ACT标志也可存在。具体地,在以下情况下,ACT标志存在:residual_adaptive_colour_transform_enabled_flag(残留自适应色彩编码启用标志)(“ACT启用标志”)等于1;并且(a)CU的编码模式为帧间预测模式(MODE_INTER),(b)CU的编码模式为帧内BC预测(intra_bc_flag[x0][y0]为1),(c)CU的编码模式为帧内预测(空间),并且CU具有单个PU(PartMode(部分模式)为PART_2Nx2N),该单个PU的色度模式为直接模式(intra_chroma_pred_mode(帧内色度预测模式)为4)。或(d)CU的编码模式为帧内预测(空间),并且CU的四个PU中的每一PU的色度模式(PartMode为PART_NxN)为直接模式(intra_chroma_pred_mode为4)。当ACT标志的值为1时,ACT操作被应用于该CU的残留数据值,从而将色彩空间从第一色彩空间(例如,GBR)切换到第二色彩空间(例如,YCgCo)。当ACT标志的值为0或者ACT标志不存在时,ACT操作不被应用于该CU的残留数据值,使得残留数据值保持处于第一色彩空间。替换地,CU或其他单元的ACT标志可按某种其他方式来信号化。F.在切换色彩空间时调整量化/缩放方面的创新。根据本文中描述的第三创新集合,编码器根据每分量色彩空间调整因子来调整对第二色彩空间中的各色彩分量的量化,同时避免负QP值。解码器根据每分量色彩空间调整因子来调整第二色彩空间中的各色彩分量的逆量化,同时避免负QP值。在一个方法中,编码器或解码器使用剪裁来避免负QP值。在另一方法中,编码器或解码器对调整因子使用正值,该正值补偿第二色彩空间中的样本值的比特深度由ACT操作引起的增加。图21示出了用于编码的通用技术(2100),该编码包括根据调整因子来调整第二色彩空间中的色彩分量的量化,同时避免负QP值。诸如参考图3或图5a-5b描述的编码器之类的图像编码器或视频编码器或者其他编码器可执行技术(2100)。图22示出了用于相应的解码的通用技术(2200),该相应的解码包括根据调整因子来调整第二色彩空间中的色彩分量的逆量化,同时避免负QP值。诸如参考图4或图6描述的解码器之类的图像解码器或视频解码器或者其他解码器可执行技术(2200)。参考图21,编码器对图像或视频的单元(例如,CU、片、图片)进行编码(2110)以产生经编码的数据。作为编码(2110)的一部分,当色彩空间在两个单元之间已被从第一色彩空间切换到第二色彩空间(例如,从RGB型色彩空间到YUV型色彩空间)时,编码器根据每分量色彩空间调整因子来调整对第二色彩空间中的各色彩分量的量化,同时避免负QP值。编码器将经编码的数据作为比特流的一部分来输出(2120)。参考图22,解码器将经编码的数据作为比特流的一部分来接收(2210)。解码器对经编码的数据进行解码(2220)以重构图像或视频中的各单元(例如,CU、片、图片)。作为解码(2220)的一部分,当色彩空间在两个单元之间已被从第一色彩空间切换到第二色彩空间(例如,从RGB型色彩空间到YUV型色彩空间)时,解码器根据每分量色彩空间调整因子来调整对第二色彩空间中的各色彩分量的逆量化,同时避免负QP值。在一种方法中,对于已根据调整因子被调整的第二色彩空间中的各色彩分量的中间或最终QP值,编码器或解码器通过在零处对这些中间或最终QP值进行限幅来避免负QP值。例如,如果第一色彩空间为RGB型色彩空间(诸如GBR)并且第二色彩空间为YCoCg型色彩空间(诸如,YCgCo),则Y、Cg和Co分量的调整因子分别为-5、-5和-3,如章节VII.C中所解释的。当这些调整因子之一被应用于小QP值时,该QP值可变为负,这对于使用该QP值的一些操作而言是有问题的。因此,编码器或解码器在零处对该QP值进行限幅(clip)。在一些示例实现中,当QP值在编码或解码期间被使用时,编码器或解码器可执行涉及该QP值的模操作(%):d[x][y]=Clip3(coeffMin,coeffMax,((TransCoeffLevel[xTbY][yTbY][cIdx][x][y]*m[x][y]*levelScale[qP%6]<<(qP/6))+(1<<(bdSift-1)))>>bdShift),其中TransCoeffLevel[xTbY][yTbY][cIdx][x][y]是针对位于当前图片中的位置(xTbY,yTbY)的TB的色彩分量cIdx的位置(x,y)的变换系数值,m[x][y]是权重值,levelScale[qP%6]<<(qP/6)指示量化步长尺寸,bdShift是取决于比特深度的移位值,并且函数Clip3(min,max,value)将value(值)限幅为在min(最小)和max(最大)之间。模操作(%)不是针对负值来定义的。为了解决那个问题,编码器或解码器在依据每分量色彩空间调整因子来修改QP值后应用限幅操作。具体地,编码器或解码器在修改qP后应用操作max(0,qP):如果cIdx为0,则qP=max(0,Qp′Y+(cu_residual_act_flag[xTbY][yTbY]?-5:0))如果cIdx为1,则qP=max(0,Qp′Cb+(cu_residual_act_flag[xTbY][yTbY]?-5:0))如果cIdx为2,则qP=max(0,Qp′Cr+(cu_residual_act_flag[xTbY][yTbY]?-3:0))。在这些操作中,cu_residual_act_flag[xTbY][yTbY]指示TB的ACT标志的值。如果TB的ACT标志为1(指示ACT操作已被应用,使得取决于色彩分量索引cIdx的值,经调整的变量Qp′Y,Qp′Cb和Qp′Cr分别适用于Y、Cg和Co分量),则QP调整因子(-5,-5或-3)被应用。否则,没有调整被应用。操作max(0,qP)返回0和qP中的较大值。在另一方法中,对于至少一些调整因子,编码器或解码器通过使用正调整因子值来避免负QP值,该正调整因子值补偿第二色彩空间中的样本值的比特深度由ACT操作引起的增加。例如,如果第一色彩空间为RGB型色彩空间(诸如GBR)且第二色彩空间为YCoCg型色彩空间(诸如,YCgCo),并且比特深度的增加是单个比特,则Y、Cg和Co分量的调整因子可分别为1、1和3。比特深度为1的增加对应于2倍的缩放,这可通过使QP值增加6来计数。(当QP值增加1时,量化步长尺寸增加21/6倍,因此QP值增加6导致量化步长尺寸增加2倍。)调整因子1、1和3分别通过使Y、Cg和Co分量的调整因子-5、-5和-3中的每一者加6来得到。当取决于ACT标志的值应用正调整因子1、1和3时,得到的QP值永远都不为负。在一些示例实现中,每分量色彩空间调整因子可如下被应用。如果cIdx为0,则qP=Qp′Y+(cu_residual_act_flag[xTbY][yTbY]?1:0)如果cIdx为1,则qP=Qp′Cb+(cu_residual_act_flag[xTbY][yTbY]?1:0)如果cIdx为2,则qP=Qp′Cr+(cu_residual_act_flag[xTbY][yTbY]?3:0)在这些操作中,cu_residual_act_flag[xTbY][yTbY]指示TB的ACT标志的值。如果TB的ACT标志为1(指示ACT操作已被应用,使得经调整的变量Qp′Y,Qp′Cb和Qp′Cr分别适用于Y、Cg和Co分量),则QP调整因子(+1,+1或+3)被应用。否则,没有调整被应用。第二色彩空间中的样本值的比特深度的增加可使用经修改的ACT操作来提供。在有损编码模式中(在H.265/HEVC实现中,当cu_transquant_bypass_flag()等于0时),对于ACT操作,编码器或解码器可通过算术上等效于以下的操作来从一位置在RGB型色彩空间中的样本值PsR、PsG和PsB中计算该位置在(具有增加的比特深度的)YCgCo色彩空间中的样本值PsY、PsCg和PsCo:PsY=(PsR+(2*PsG)+PsB+1)>>1PsCo=(2*(PsR-PsB)+1)>>1PsCg=((2*PsG)-PsR-PsB+1)>>1相比于章节VII.C中描述的有损GBR→YCgCoACT操作,这些样本值通过因子2(即,>>1)而非因子4来标准化。如果ACT操作被应用于其最小值为零的非残留值,则YcgCo色彩空间中的样本值的动态范围可通过增加与章节VII.C中描述的add_value(增加值)偏移类似的偏移值来调整。由于Co和Cg分量的比特深度大1比特,该偏移值可被翻倍。如果ACT操作被应用于其动态范围包括负值和正值的残留值,则偏移值不需要被应用。同样,样本值PsY、PsCo和PsCg被限幅在由最小样本值和最大样本值所限定的范围中。相反,编码器或解码器可通过算术上等效于以下的操作来从一位置在(具有增加的比特深度的)YCgCo色彩空间中的样本值RsY、RsCg,和RsCg中计算该位置在RGB型色彩空间(诸如GBR)中的样本值RsR、RsG和RsB:RsR=(RsY+RsCo-RsCg+1)>>1RsG=(RsY+RsCg+1)>>1RsB=(RsY-RsCo-RsCg+1)>>1相比于章节VII.C中描述的有损YCgCo→GBRACT操作,这些样本值通过因子2(即,>>1)来标准化,而不是没有标准化。在ACT操作之前,YcgCo色彩空间中的样本值的动态范围可通过移除偏移值来调整,如果偏移值是如在先前段落中描述的那样被添加的话。同样,样本值RsR、RsG和RsB可被限幅在由最小样本值和最大样本值所限定的范围中。在一些实现中,临时变量可存储值RsY-RsCg以供在各操作中使用。作为通用规则,当无损ACT操作在无损编码和解码期间被使用时,由于样本值没有被量化或逆量化,QP值不需要通过每分量色彩空间调整因子来调整。然而,无损ACT操作也可被用于有损编码和解码。参考章节VII.H。在该情况下,无损ACT操作可被修改以增加某些色彩分量的比特深度(如以下所描述的),由此避免对每分量色彩空间调整因子使用负值。G.针对具有不同比特深度的色彩分量的ACT操作方面的创新。在许多情况下,当ACT被启用时,第一色彩空间中的色彩分量具有相同的比特深度。例如,R、G和B色彩分量各自具有比特深度8。然而,在一些情况下,第一色彩空间中的色彩分量具有不同的比特深度。解决该情况的一种方式是在第一色彩空间中的色彩分量具有不同的比特深度时禁用ACT。另一种方式是将样本值标准化成统一的比特深度,如本章节中所描述的。根据本文中描述的第四创新集合,编码器执行考虑具有不同比特深度的色彩分量的ACT操作。解码器执行考虑具有不同比特深度的色彩分量的相应ACT操作。图23a和23b是示出用于进行编码的技术(2300)的流程图,该编码包括针对具有不同比特深度的色彩分量的ACT。诸如参考图3或图5a-5b描述的编码器之类的图像编码器或视频编码器或者其他编码器可执行技术(2300)。图24a和24b是示出用于进行相应的解码的技术(2400)的流程图,该解码包括针对具有不同比特深度的色彩分量的ACT。诸如参考图4或图6描述的解码器之类的图像解码器或视频解码器或者其他解码器可执行技术(2400)。参考图23a,编码器对图像或视频的单元(例如,CU、片、或图片)进行编码(2310)以产生经编码的数据。该单元包括第一色彩空间(诸如RGB型色彩空间)中的色彩分量。第一色彩空间中的色彩分量中的至少两个色彩分量具有不同的比特深度(例如,所有三个色彩分量具有不同的比特深度,或者两个色彩分量相比于第三色彩分量具有不同的比特深度)。作为编码(2310)的一部分,编码器使用考虑不同比特深度的ACT过程来从第一色彩空间切换到第二色彩空间(诸如YUV型色彩空间)。编码器将经编码的数据作为比特流的一部分来输出(2320)。例如,如图23b中所示出的,作为ACT过程的一部分,编码器可确定(2312)第一色彩空间中的各色彩分量的不同比特深度之中的给定比特深度(例如,最大比特深度、最小比特深度、中间比特深度),分别将第一色彩空间中的各色彩分量的样本值选择性地缩放(2314)到给定比特深度,以及对经选择性缩放的样本值执行(2316)ACT操作。这些ACT操作可以是有损或无损的。参考图24a,解码器将经编码的数据作为比特流的一部分来接收(2410)。解码器对经编码的数据进行解码(2420)以重构图像或视频中的单元(例如,CU、片、或图片)。该单元包括第一色彩空间(诸如RGB型色彩空间)中的色彩分量。第一色彩空间中的各色彩分量中的至少两个色彩分量具有不同的比特深度(例如,所有三个色彩分量具有不同的比特深度,或者两个色彩分量相比于第三色彩分量具有不同的比特深度)。作为解码(2420)的一部分,解码器使用考虑不同比特深度的ACT过程来从第一色彩空间切换到第二色彩空间(诸如YUV型色彩空间)。例如,如图24b中所示出的,作为ACT过程的一部分,解码器可确定(2412)第一色彩空间中的各色彩分量的不同比特深度之中的给定比特深度(例如,最大比特深度、最小比特深度、中间比特深度),对第二色彩空间中的各色彩分量的样本值执行(2414)ACT操作,并分别将第一色彩空间中的各色彩分量的样本值选择性地从该给定比特深度缩放(2416)到第一色彩空间中的各色彩分量的不同比特深度。ACT操作可以是有损或无损的。在本文中描述的一些示例中,编码器和解码器将样本值标准化成第一色彩空间中的色彩分量的不同比特深度之中的最大比特深度。对于有损编码模式(在H.265/HEVC实现中,当cu_transquant_bypass_flag等于0时),用于GBR到YcgCo变换的ACT过程可如下被执行。假设GBR色彩空间中的三个色彩分量的比特深度为BDG、BDB和BDR。使用某位置在GBR色彩空间中的样本值PsG、PsB和PsR(可能具有不同的比特深度),该位置在YCgCo色彩空间中的样本值PsY、PsCg和PsCo可通过算术上等效于以下的操作来计算:BDmax=max(BDG,BDB,BDR)PsG=PsG<<(BDmax-BDG)PsB=PsB<<(BDmax-BDB)PsR=PsR<<(BDmax-BDR)PsY=(PsR+(2*PsG)+PsB+2)>>2PsCo=((2*(PsR-PsB)+2)>>2)PsCg=(((2*PsG)-PsR-PsB+2)>>2)针对相应的YCgCo到GBR变换的ACT过程可被如下执行。使用某位置在YCgCo色彩空间中的样本值RsY,、RsCg和RsCo,该位置在GBR色彩空间中的样本值RsG、RsB和RsR(可能具有不同的比特深度)可通过算术上等效于以下的操作来计算:BDmax=max(BDG,BDB,BDR)RsR=RsY+RsCo-RsCgRsG=RsY+RsCgRsB=RsY-RsCo-RsCgRsG=(RsG+offsetG)>>(BDmax-BDG)RsB=(RsB+offsetB)>>(BDmax-BDB)RsR=(RsR+offsetR)>>(BDmax-BDR)其中偏移值被如下定义。如果BDmax-BDG大于0,则offsetG为1<<(BDmax-BDG-1);否则,offsetG为0。如果BDmax–BDB大于0,则offsetB为1<<(BDmax–BDB-1);否则,offsetB为0。如果BDmax–BDR大于0,则offsetR为1<<(BDmax-BDR-1);否则,offsetR为0。在一些实现中,临时变量可存储值RsY-RsCg以供在各操作中使用。在这些具有比特深度标准化的ACT操作中,偏移值(诸如章节VII.C中的add_value偏移值)不被用于改变Cg和Co分量的动态范围。由于这些ACT操作被应用于其范围包括以零为中心的负值和正值的残留数据值,并且由于Cg和Co分量的范围的中间值也是零,没有偏移值被用于调整动态范围。替换地,偏移值可被用于调整Cg和Co分量的动态范围。在ACT操作后,第二色彩空间的比特深度(即,BDmax)被用于编码和解码操作。由此,当样本值在第二色彩空间中时,BDmax而不是BDG、BDB或BDR(或针对第二色彩空间中的主要和次要色彩分量的比特深度的BDY或BDC)在解码操作(诸如针对变换系数和交叉分量预测的缩放过程)中被使用。这可导致消除某些操作(例如,在两个比特移位操作取消时,为交叉分量预测中的某些操作)。虽然第二色彩空间中的样本值在编码和解码期间具有增加的比特深度,诸如量化之类的有损编码操作可高效地移除这些样本值中的冗余性。对于有损编码模式(在H.265/HEVC实现中,当cu_transquant_bypass_flag等于1时),用于GBR到YcgCo变换的ACT过程可如下被执行。假设GBR色彩空间中的三个色彩分量的比特深度为BDG、BDB和BDR。使用某位置在GBR色彩空间中的样本值PsG、PsB和PsR(可能具有不同的比特深度),该位置在YCgCo色彩空间中的样本值PsY、PsCg和PsCo可通过算术上等效于以下的操作来计算:BDmax=max(BDG,BDB,BDR)PsG=PsG<<(BDmax-BDG)PsB=PsB<<(BDmax-BDB)PsR=PsR<<(BDmax-BDR)PsCo=PsR-PsBtemp=PsB+(PsCo>>1)PsCg=PsG-tempPsY=temp+(PsCg>>1)针对相应的YCgCo到GBR变换的ACT过程可被如下执行。使用某位置在YCgCo色彩空间中的样本值RsY,、RsCg和RsCo,该位置在GBR色彩空间中的样本值RsG、RsB和RsR(可能具有不同的比特深度)可通过算术上等效于以下的操作来计算:temp=RsY-(RsCg>>1)RsG=RsCg+tempRsB=temp–(PsCo>>1)RsR=PsCo+PsCgBDmax=max(BDG,BDB,BDR)RsG=RsG>>(BDmax-BDG)RsB=RsB>>(BDmax-BDB)RsR=RsR>>(BDmax-BDR)偏移值(如在有损编码模式中)在无损ACT操作中不被使用。对于无损编码模式,在针对GBR到YCgCo变换的ACT过程后,在YCgCo色彩空间中的样本值中可存在冗余性。例如,对于一些特殊情况,色彩分量中的最后一个或多个比特平面可全部为零。在该情况下,在GBR到YCgCo变换后,ACT过程可进一步包括从第二色彩空间中的色彩分量之一的样本值中丢弃(为零值的)一个或多个比特平面。该丢弃可例如通过将比特值从第二色彩空间中的受影响色彩分量的样本值向右移位出去来执行。因此,在相应的YCgCo到GBR变换之前,ACT过程进一步包括将(为零值的)一个或多个比特平面添加回第二色彩空间中的色彩分量之一的样本值。该添加可例如通过使比特值向左移位到第二色彩空间中的受影响色彩分量的样本值中来执行。例如,假设第一色彩空间中的比特深度为BDG=10、BDB=8和BDR=8。在标准化并转换为YCgCo色彩空间后(如上所述,使用考虑不同比特深度的无损ACT操作),PsY、PsCg和PsCo样本值的比特深度分别为10、11和11。PsCo样本值仅取决于PsB和PsR样本值,其最初具有比特深度8,但被向左移位了2比特。由于PsB和PsR样本值中的每一者的最后两个比特为零,所以PsCo样本值的最后两个比特为零,并且PsCo样本值的最后两个比特的比特平面在GBR到YCgCo变换之后可被丢弃(但在相应的YCgCo到GBR变换之前被添加回)。更一般地,对于利用比特平面丢弃的无损编码模式而言,针对GBR到YcgCr变换的ACT过程可通过算术上等效于以下的操作来执行:BDmax=max(BDG,BDB,BDR)PsG=PsG<<(BDmax-BDG)PsB=PsB<<(BDmax-BDB)PsR=PsR<<(BDmax-BDR)PsCo=PsR-PsBtemp=PsB+(PsCo>>1)PsCg=PsG-tempPsY=temp+(PsCg>>1)PsCo=PsCo>>(BDmax-max(BDB,BDR))针对相应的YCgCo到GBR变换的利用比特平面添加的ACT过程可通过算术上等效于以下的操作来操作:PsCo=PsCo<<(BDmax-max(BDB,BDR))temp=RsY-(RsCg>>1)RsG=RsCg+tempRsB=temp–(PsCo>>1)RsR=PsCo+PsCgBDmax=max(BDG,BDB,BDR)RsG=RsG>>(BDmax-BDG)RsB=RsB>>(BDmax-BDB)RsR=RsR>>(BDmax-BDR)由此,在该方法中,比特平面丢弃/添加的程度取决于BDmax与BDB和BDR.中较高者之间的差异。在前述考虑具有不同比特深度的色彩分量的ACT操作的许多示例中,被缩放到BDmax的样本值在整个编码和解码操作中都被保持,直到这些ACT操作将这些样本值转换回到第一色彩空间。替换地,对于有损编码模式,在编码期间的ACT操作之后,被转换到第二色彩空间的各样本值可被重新缩放到具有第一色彩空间的比特深度,这可避免在编码和解码操作时改变各变量的比特深度等的需要。换言之,ACT过程进一步包括在编码期间执行ACT操作之后,分别将第二色彩空间中的各色彩分量的样本值选择性地缩放回到来自第一色彩空间的不同比特深度。在解码期间的相应ACT操作之前,第二色彩空间中的样本值被重新缩放到例如最大比特深度或其他给定比特深度。换言之,ACT过程进一步包括在解码期间执行ACT操作之前,将第二色彩空间中的各色彩分量的样本值选择性地缩放到(从第一色彩空间中的各色彩分量的不同比特深度之中选择的)给定比特深度。例如,使用某位置在GBR色彩空间中的样本值PsG、PsB和PsR,该位置在YCgCo色彩空间中的样本值PsY、PsCg和PsCo可使用有损ACT操作被计算出并随后通过算术上等效于以下的操作被重新缩放:BDmax=max(BDG,BDB,BDR)PsG=PsG<<(BDmax-BDG)PsB=PsB<<(BDmax-BDB)PsR=PsR<<(BDmax-BDR)PsY=(PsR+(2*PsG)+PsB+2)>>2PsCo=((2*(PsR-PsB)+2)>>2)PsCg=(((2*PsG)-PsR-PsB+2)>>2)PsY=(PsY+offsetG)>>(BDmax-BDG)PsCg=(PsCg+offsetB)>>(BDmax-BDB)PsCo=(PsCo+offsetR)>>(BDmax-BDR)其中偏移(offset)值offsetG、offsetB和offsetR被如上定义。针对相应的YCgCo到GBR变换的利用在ACT操作之前重新缩放到BDmax的ACT过程可通过算术上等效于以下的操作来操作:BDmax=max(BDG,BDB,BDR)RsY=RsY<<(BDmax-BDG)RsCg=RsCg<<(BDmax-BDB)RsCo=RsCo<<(BDmax-BDR)RsR=RsY+RsCo-RsCgRsG=RsY+RsCgRsB=RsY-RsCo-RsCgRsG=(RsG+offsetG)>>(BDmax-BDG)RsB=(RsB+offsetB)>>(BDmax-BDB)RsR=(RsR+offsetR)>>(BDmax-BDR)其中偏移值offsetG、offsetB和offsetR被如上定义。替换地,编码器和解码器执行按某种其他方式来执行考虑具有不同比特深度的色彩分量的ACT操作。H.有损和无损ACT的联合方面的创新。根据本文中描述的第五创新集合,编码器和解码器使用无损ACT操作来切换色彩空间,而不管编码模式是有损的还是无损的。无损ACT操作是可逆的。它们可以在如上所述的无损编码模式中被使用,但也可在有损编码模式中被使用。这可简化ACT操作的实现,而不损害有损编码的编码效率。图25示出用于编码的通用技术(2500),该编码包括使用无损ACT操作来切换色彩空间,而不管编码模式是有损的还是无损的。诸如参考图3或图5a-5b描述的编码器之类的图像编码器或视频编码器或其他编码器可执行技术(2500)。图26示出用于相应的解码的通用技术(2600),该解码包括使用无损ACT操作来切换色彩空间,而不管编码模式是有损的还是无损的。诸如参考图4或图6描述的解码器之类的图像解码器或视频解码器或其他解码器可执行技术(2600)。参考图25,编码器对图像或视频中的单元(例如,CU、片、图片)进行编码(2510)以产生经编码的数据。作为编码(2510)的一部分,编码器从第一色彩空间切换到第二色彩空间。该切换使用无损ACT操作,而不管编码模式是有损的还是无损的。编码器将经编码的数据作为比特流的一部分来输出(2520)。参考图26,解码器将经编码的数据作为比特流的一部分来接收(2610)。解码器对经编码的数据进行解码(2620)以重构图像或视频中的单元(例如,CU、片、图片)。作为解码(2620)的一部分,解码器从第二色彩空间切换到第一色彩空间。该切换使用无损ACT操作,而不管编码模式是有损的还是无损的。当编码模式是有损的时,作为编码的一部分,编码器可根据每分量色彩空间调整因子(例如,如章节VII.C或章节VII.F中描述的QP调整因子)来为第二色彩空间中的各色彩分量调整量化和/或缩放。作为解码的一部分,解码器可根据这样的调整因子来为第二色彩空间中的各色彩分量调整逆量化和/或缩放。例如,当第一色彩空间为RGB型色彩空间(诸如GBR)且第二色彩空间为YCgCo时,对于Y、Cg和Co分量,调整因子可分别为-5、1和3。编码器和解码器可通过在零处对第二色彩空间中的各色彩分量的中间或最终QP值进行限幅(根据调整因子对其进行调整)来避免负QP值。或者,编码器和解码器可通过针对调整因子中的至少一些调整因子,在ACT操作后使用补偿第二色彩空间中的各样本值的比特深度的增加的正值来避免负QP值。例如,当第一色彩空间为RGB型色彩空间(诸如GBR)且第二色彩空间为YCgCo,并且对于所选的色彩分量,比特深度的增加为单个比特时,对于Y、Cg和Co分量,每分量色彩空间调整因子可分别为1、1和3。由此,不管编码模式是有损的还是无损的(在H.265/HEVC实现中,不管cu_transquant_bypass_flag为0还是1),编码器都可使用无损的(可逆的)ACT操作。例如,编码器可使用章节VII.C中描述的无损ACT操作来从GBR色彩空间切换到YcgCo色彩空间:PsCo=PsR-PsBtemp=PsB+(PsCo>>1)PsCg=PsG-tempPsY=temp+(PsCg>>1)之后,编码器可使用章节VII.C中描述的无损ACT操作来从YcgCo色彩空间无损地切换回到GBR色彩空间:temp=RsY-(RsCg>>1)RsG=RsCg+tempRsB=temp–(PsCo>>1)RsR=PsCo+PsCg当编码模式是有损的时,编码器和解码器可使用每分量色彩空间调整因子来调整QP值。例如,对于Y、Cg和Co分量,基本调整因子可分别为-5、-5和-3。在这些无损ACT操作中,Cg和Co分量的样本值的比特深度增加了1。比特深度增加1对应于缩放了2倍,这可通过使QP值增加6来计数。Y、Cg和Co分量分别为-5、1和3的调整因子通过分别向Cg和Co分量的调整因子-5和-3中的每一者加6来得到。编码器或解码器可应用QP调整因子,并使用限幅来如下来避免Y分量的负QP值:如果cIdx为0,则qP=max(0,Qp′Y+(cu_residual_act_flag[xTbY][yTbY]?-5:0))如果cIdx为1,则qP=Qp′Cb+(cu_residual_act_flag[xTbY][yTbY]?1:0)如果cIdx为2,则qP=Qp′Cr+(cu_residual_act_flag[xTbY][yTbY]?3:0)在这些操作中,cu_residual_act_flag[xTbY][yTbY]指示TB的ACT标志的值。如果TB的ACT标志为1(指示ACT操作已经被应用,使得经调整的变量Qp′Y、Qp′Cb和Qp′Cr分别适用于Y、Cg和Co分量,这取决于色彩分量索引cIdx的值),则QP调整因子(-5、+1或+3)被应用。否则,没有调整被应用。或者,当编码模式为有损的时,编码器和解码器可通过在无损ACT操作中增加Y分量的样本值的比特深度来避免Y分量的负QP值。例如,编码器可使用以下ACT操作来从GBR色彩空间切换到YcgCo色彩空间,这些ACT操作基于无损ACT操作但增加了针对有损编码模式的最后步骤:PsCo=PsR-PsBtemp=PsB+(PsCo>>1)PsCg=PsG-tempPsY=(temp+(PsCg>>1))<<1与基本无损ACT操作相比,Y分量的样本值被向左移位了1比特(但仅在有损编码模式中)。随后,当编码模式是有损的时,解码器可使用以下ACT操作来从YcgCo色彩空间切换回到GBR色彩空间,这些ACT操作基于无损ACT操作但增加了针对有损编码模式的初始步骤。这些ACT操作包括最初使Y分量的样本值向右移位1比特(但仅在有损编码模式中):RsY=(RsY+1)>>1temp=RsY-(RsCg>>1)RsG=RsCg+tempRsB=temp–(PsCo>>1)RsR=PsCo+PsCg在这些ACT操作中,Y、Cg和Co分量的样本值的比特深度增加了1。Y、Cg和Co分量的调整因子1、1和3通过分别向Y、Cg和Co分量的调整因子-5、-5和-3中的每一者加6来得到。编码器或解码器可如下应用QP调整因子:如果cIdx为0,则qP=Qp′Y+(cu_residual_act_flag[xTbY][yTbY]?1:0)如果cIdx为1,则qP=Qp′Cb+(cu_residual_act_flag[xTbY][yTbY]?1:0)如果cIdx为2,则qP=Qp′Cr+(cu_residual_act_flag[xTbY][yTbY]?3:0)在这些操作中,如果TB的ACT标志为1(指示ACT操作已经被应用,使得经调整的变量Qp′Y、Qp′Cb和Qp′Cr分别适用于Y、Cg和Co分量,这取决于色彩分量索引cIdx的值),则QP调整因子(+1、+1或+3)被应用。否则,没有调整被应用。替换地,编码器和解码器可使用不同的ACT操作来切换色彩空间,而不管编码模式是有损的还是无损的,如在章节VII.C和别处描述的。ACT后交叉分量预测方面的创新。交叉分量预测涉及使用主要色彩分量的残留数据值来预测次要色彩分量的残留数据值。根据本文中描述的第六创新集合,编码器和解码器执行考虑第二色彩空间中的各色彩分量的比特深度的交叉分量预测。图27示出用于进行编码的通用技术(2700),该编码包括考虑第二色彩空间中的各色彩分量的比特深度的交叉分量预测。诸如参考图3或图5a-5b描述的编码器之类的图像编码器或视频编码器或其他编码器可执行技术(2700)。图28示出用于进行相应的解码的通用技术(2800),该解码包括考虑第二色彩空间中的各色彩分量的比特深度的交叉分量预测。诸如参考图4或图6描述的解码器之类的图像解码器或视频解码器或其他解码器可执行技术(2800)。参考图27,编码器对图像或视频中的单元(例如,CU、片、图片)进行编码(2710)以产生经编码的数据。作为编码(2710)的一部分,当色彩空间已从第一色彩空间切换到第二色彩空间时,编码器使用第二色彩空间中的主要色彩分量的残留数据值来预测第二色彩空间中的次要色彩分量的残留数据值。该预测过程考虑第二色彩空间中的次要色彩分量的比特深度以及第二色彩空间中的主要色彩分量的比特深度。编码器将经编码的数据作为比特流的一部分来输出(2720)。参考图28,解码器将经编码的数据作为比特流的一部分来接收(2810)。解码器对经编码的数据进行解码(2820)以重构图像或视频中的单元(例如,CU、片、图片)。作为解码(2820)的一部分,当色彩空间已从第一色彩空间切换到第二色彩空间时,解码器使用第二色彩空间中的主要色彩分量的残留数据值来预测第二色彩空间中的次要色彩分量的残留数据值。该预测过程考虑第二色彩空间中的次要色彩分量的比特深度以及第二色彩空间中的主要色彩分量的比特深度。例如,对于该预测,编码器或解码器将主要色彩分量的残留数据值转换成第二色彩空间中的次要色彩分量的比特深度。编码器或解码器对次要色彩分量的经转换的残留数据值进行缩放。该缩放可使用缩放因子和标准化因子。编码器或解码器随后组合次要色彩分量的残留数据值和主要色彩分量的经缩放的残留数据值。在一些示例实现中,两个次要色彩分量具有相同的比特深度,其可不同于主要色彩分量。对于某单元,当ACT操作被用来从RGB型色彩空间(诸如GBR)变换为YcgCo时,交叉变量预测过程用算术上等效于以下的方式被执行:r[x][y]+=(ResScaleVal[cIdx][xTbY][yTbY]*((rY[x][y]<<BDCoCg)>>BDY))>>3其中,r[x][y]表示位置(x,y)处的次要色彩分量(Co或Cg)的残留值,ResScaleVal[cIdx][xTbY][yTbY]指示用于针对位于当前图片中的位置(xTbY,yTbY)处的TB的色彩分量cIdx的交叉变量预测过程的缩放值,rY[x][y]表示位置(x,y)处的Y分量的残留数据值,BDCoCg指示Co和Cg分量的比特深度,并且BDY指示Y分量的比特深度。作为另一示例,当无损ACT操作被使用时,即使第一色彩空间中的所有色彩分量具有相同的比特深度,第二色彩空间中的一些色彩分量的比特深度仍可被增加。例如,在无损GBR到YcgCoACT操作中,Cg和Co分量的比特深度可增加1比特。也就是说,次要色彩分量的比特深度被增加1比特,即使主要色彩分量的比特深度未改变。在该情况下,交叉分量预测过程可用算术上等效于以下的方式来执行:r[x][y]+=(ResScaleVal[cIdx][xTbY][yTbY]*((rY[x][y]<<BDS+1)>>BDP))>>3其中,BDS指示第一色彩空间中的次要色彩分量的比特深度,对于Co和Cg分量,其由于这些无损ACT操作而增加了1比特即(BDS+1),并且BDP指示第一色彩空间中的主要色彩分量的比特深度。作为比特深度和交叉分量预测过程之间的交互的另一示例,如果BDCoCg等于BDY(例如,由于对比特深度的标准化,当有损ACT操作被执行时),(rY[x][y]<<BDCoCg)>>BDY)可在交叉分量预测过程中用(rY[x][y])来替换。作为比特深度和交叉分量预测过程之间的交互的另一示例,当BDCoCg比BDY大1比特时(例如,当无损ACT操作在对比特深度的标准化之后被执行时),(rY[x][y]<<BDCoCg)>>BDY)可在交叉分量预测过程中用(rY[x][y]<<1)来替换。VIII.替换和变型先前的示例中的许多示例呈现本文中描述的创新的组合。一般来说,在信号化用于ACT操作的控制信息(参考章节VII.D和VII.E)方面的创新中的任一者可与针对ACT操作(参见章节VII.F到VII.H)或交叉分量预测(参见章节VII.I)的创新中的一者或多者联用。ACT操作(参见章节VII.F到VII.H)方面的创新中的任一者可与交叉分量预测(参见章节VII.I)的创新中的任一者联用。先前的示例中的许多示例使用比特移位操作。一般来说,可使用(因子2的)乘法操作来代替本文中描述的ACT操作中的向左移位操作。类似地,可以使用(因子2的)除法操作来代替本文中描述的ACT操作中的向右移位操作,但在样本值可以为负的情况下,这可导致不同的结果。同样,循环因子和偏移值(例如,在以上列出的一些ACT操作中为+1)可被忽略,或者对于负样本值,其可被改变成负循环因子或偏移值。鉴于可应用所公开的本发明的原理的许多可能的实施例,应当认识到,所示实施例仅是本发明的优选示例,并且不应认为是限制本发明的范围。相反,本发明的范围由后续的权利要求来界定。我们要求作为我们的发明保护落入这些权利要求范围和精神内的所有内容。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1