CN106717003A - 调色板索引译码的解析依赖性减小 - Google Patents
调色板索引译码的解析依赖性减小 Download PDFInfo
- Publication number
- CN106717003A CN106717003A CN201580051044.XA CN201580051044A CN106717003A CN 106717003 A CN106717003 A CN 106717003A CN 201580051044 A CN201580051044 A CN 201580051044A CN 106717003 A CN106717003 A CN 106717003A
- Authority
- CN
- China
- Prior art keywords
- palette
- decoding
- pixel
- blocking
- video
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
在一实例中,一种处理视频数据的方法包含基于视频数据块的调色板中的索引的数目确定表示所述块的像素的调色板索引的经截断二进制代码的输入参数。所述方法还包含对所述经截断二进制代码的前缀进行译码,以及仅基于所述经截断二进制代码的所述前缀,从第一调色板译码模式和第二调色板译码模式确定所述像素的调色板译码模式。
Description
本申请案主张2014年9月26日申请的第62/056,265号美国临时申请案的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频编码和解码。
背景技术
数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流装置以及其类似者。数字视频装置实施视频压缩技术,例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、目前正在开发的高效率视频译码(HEVC)标准以及此类标准的扩展中所描述的视频压缩技术。视频装置可以通过实施此类视频压缩技术来更有效率地传输、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块。使用相对于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的经帧内译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。空间或时间预测产生待译码块的预测性块。残差数据表示待译码原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量和指示经译码块与预测性块之间的差的残差数据编码的。根据帧内译码模式和残差数据来编码经帧内译码块。为了进一步压缩,可将残差数据从像素域变换到变换域,从而产生残差系数,可接着量化所述残差系数。
发明内容
本发明的技术涉及基于调色板的视频译码。在基于调色板的译码中,视频译码器(例如,视频编码器或视频解码器)可形成“调色板”,作为用于表示特定区域(例如,给定块)的视频数据的色彩表。基于调色板的译码可尤其有用于对具有相对较少数目的色彩的视频数据区域进行译码。并非对实际像素值(或其残差)进行译码,而是,所述视频译码器可对像素中的一或多者的调色板索引进行译码,所述调色板索引使像素与调色板中表示所述像素的色彩的条目相关。本发明中描述的技术可包含用于从多个调色板模式确定调色板模式的技术。确切地说,所述技术可当在第一调色板译码模式与第二译码模式之间进行选择时通过消除与第一调色板译码模式和第二调色板译码模式的语法相关联的解析依赖性而产生增加的效率。
在一实例中,一种处理视频数据的方法包含基于视频数据块的调色板中的索引的数目确定表示所述块的像素的调色板索引的经截断二进制代码的输入参数。所述方法还包含对所述经截断二进制代码的前缀进行译码,以及仅基于所述经截断二进制代码的所述前缀,从第一调色板译码模式和第二调色板译码模式确定所述像素的调色板译码模式。
在另一实例中,一种用于处理视频数据的装置包含:存储器,其经配置以存储视频数据块;和视频译码器,其经配置以基于所述视频数据块的调色板中的索引的数目确定表示所述块的像素的调色板索引的经截断二进制代码的输入参数;对所述经截断二进制代码的前缀进行译码;和仅基于所述经截断二进制代码的所述前缀,从第一调色板译码模式和第二调色板译码模式确定所述像素的调色板译码模式。
在另一实例中,一种用于处理视频数据的设备包含:用于基于视频数据块的调色板中的索引的数目确定表示所述块的像素的调色板索引的经截断二进制代码的输入参数的装置;用于对所述经截断二进制代码的前缀进行译码的装置;和用于仅基于所述经截断二进制代码的所述前缀,从第一调色板译码模式和第二调色板译码模式确定所述像素的调色板译码模式的装置。
在另一实例中,一种非暂时性计算机可读储存媒体上面存储有指令,所述指令在执行时致使一或多个处理器:基于视频数据块的调色板中的索引的数目确定表示所述块的像素的调色板索引的经截断二进制代码的输入参数;对所述经截断二进制代码的前缀进行译码;和仅基于所述经截断二进制代码的所述前缀,从第一调色板译码模式和第二调色板译码模式确定所述像素的调色板译码模式。
在附图和以下描述中阐述本发明的一或多个实例的细节。其它特征、目标和优点将从所述描述、图式和权利要求书显而易见。
附图说明
图1是说明可使用本发明中描述的技术的实例视频译码系统的框图。
图2是说明可实施本发明中描述的技术的实例视频编码器的框图。
图3是说明可实施本发明中描述的技术的实例视频解码器的框图。
图4是说明符合本发明的技术的确定用于基于调色板的视频译码的调色板条目的实例的概念图。
图5是说明符合本发明的技术的确定像素块的调色板的索引的实例的概念图。
图6是说明符合本发明的技术的含有用于调色板译码的数据的两个实例位流的概念图。
图7是说明符合本发明的技术的用于对经调色板译码数据进行译码的过程的流程图。
具体实施方式
本发明描述用于视频译码和压缩的技术。确切地说,本发明描述用于视频数据的基于调色板的译码的技术。在传统的视频译码中,假设图像为色调连续且在空间上平滑的自然图像。基于这些假设,已经开发各种工具,例如基于块的变换、滤波等,且此类工具已展示用于自然内容视频的良好性能。
然而,在例如远程桌面、合作工作和无线显示器等应用中,计算机产生的屏幕内容可为待压缩的主要内容。此类型的内容趋向于具有离散色调,且以清晰线和高对比度对象边界为特征。色调连续和平滑的假设可能不再适用,且因此,传统视频译码技术可能不是压缩所述内容的高效方式。
在一些实例中,基于调色板的译码技术可经配置以与一或多个视频译码标准一起使用。举例来说,高效率视频译码(HEVC)是由ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的视频译码联合合作小组(JCT-VC)开发的新视频译码标准。新近HEVC文本规范草案描述于布洛斯(Bross)等人的“高效率视频译码(HEVC)文本规范草案10(用于FDIS和同意)(High Efficiency Video Coding(HEVC)Text Specification Draft 10(forFDIS&Consent))”(JCVC-L1003_v13,ITU-T SG16WP 3和ISO/IEC JCT 1/SC 29/WG 11的JCT-VC第12次会议,2013年1月14日到23日)(“HEVC草案10”)中。
关于HEVC框架,作为一实例,基于调色板的译码技术可经配置以用作译码单元(CU)模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC框架中的PU模式。因此,在CU模式的上下文中描述的所有以下所揭示的过程可另外或替代地应用于PU。然而,这些基于HEVC的实例不应被视为对本文中所描述的基于调色板的译码技术的限定或限制,因为此类技术可适用于独立地工作或作为其它现有或尚待开发的编解码器/系统/标准的部分。在这些情况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状的区。
在基于调色板的译码中,可以假设视频数据的特定区域具有相对较少数目的色彩。视频译码器(视频编码器或视频解码器)可将所谓的“调色板”译码为用于表示特定区域(例如,给定块)的视频数据的色彩表。每一像素可与调色板中表示像素的色彩的条目相关联。举例来说,视频译码器可对使像素值与调色板中的适当值相关的索引进行译码。
在以上实例中,视频编码器可通过确定块的调色板,定位调色板中表示每一像素的值的条目以及使用使像素值与调色板相关的像素的调色板索引(也被称为调色板索引值)编码调色板,来编码视频数据块。视频解码器可从经编码位流获得块的调色板以及所述块的像素的调色板索引。视频解码器可使像素的调色板索引与调色板的条目相关以重构所述块的像素值。像素(和/或指示像素值的相关调色板索引)一般可被称作样本。
假设使用水平光栅扫描次序处理(例如,扫描)块中的样本。举例来说,视频编码器可通过使用水平光栅扫描次序扫描调色板索引来将调色板索引的二维块转换成一维阵列。同样地,视频解码器可使用水平光栅扫描次序重构调色板索引的块。因此,本发明可将先前样本指代为块中按扫描次序在当前经译码的样本之前的样本。应了解,也可以应用除水平光栅扫描之外的扫描,例如垂直光栅扫描次序。以上实例既定提供基于调色板的译码的一般描述。
调色板一般包含由索引编号且表示色彩分量(例如,RGB、YUV或类似者)值或强度的条目。视频编码器和视频解码器两者确定调色板条目的数目、每一调色板条目的色彩分量值以及当前块的调色板条目的精确排序。在本发明中,假设每一调色板条目指定样本的所有色彩分量的值。然而,本发明的概念适用于为每一色彩分量使用单独调色板。
在一些实例中,可使用来自先前经译码块的信息形成调色板。也就是说,调色板可以含有从用以对先前块进行译码的调色板预测的经预测调色板条目。举例来说,如魏普(Wei Pu)等人的标准提交文档“AHG10:用于基于RExt6.0的调色板译码的推荐软件(AHG10:Suggested Software for Palette Coding based on RExt6.0)”(JCTVC-Q0094,西班牙巴伦西亚,2014年3月27日到4月4日)(以下简称JCTVC-Q0094)中所描述,调色板可包含从预测值调色板复制的条目。预测值调色板可包含来自先前使用调色板模式经译码的块或其它经重构样本的调色板条目。对于预测值调色板中的每一条目,可对二进制旗标进行译码以指示与所述旗标相关联的条目是否复制到当前调色板(例如,由旗标=1指示)。二进制旗标串可被称为二进制调色板预测向量。用于对当前块进行译码的调色板还可包含多个新调色板条目,所述新调色板条目可(例如,从调色板预测向量单独地)经显式译码。还可以对新条目的数目的指示进行译码。经预测条目和新条目的总和可以指示块的总调色板大小。
在一些实例中,如下文所阐述,可使用三个调色板模式或其子集中的一者(例如,仅顶部复制和向左复制模式或模式的另一组合)对用基于调色板的译码模式译码的块中的每一样本进行译码:
●逸出模式:在此模式中,样本值不作为调色板条目包含到调色板中,且显式地用信号发送用于所有色彩分量的经量化样本值。其类似于用信号发送新调色板条目,但对于新调色板条目,不量化色彩分量值。
●顶部复制模式(也被称为上方复制模式):此模式中,从块中位于正上方的样本复制当前样本的调色板条目索引。仅在位流中用信号发送指定复制长度(游程长度)的语法元素。
●向左复制模式(也被称为索引模式或值模式):在此模式中,使用经截断二进制代码显式地用信号发送调色板条目索引的值,接着另一语法元素指定按扫描次序有多少个随后像素共享与用信号发送的索引相同的索引(游程长度)。
如本文中所描述,调色板条目索引可被称为调色板索引或简单地被称为索引。这些术语可互换地使用以描述本发明的技术。另外,如下文更详细地描述,调色板索引可具有一或多个相关联色彩或强度值。举例来说,调色板索引可具有与像素的单个色彩或强度分量(例如,RGB数据的红色分量、YUV数据的Y分量或类似者)相关联的单个相关联色彩或强度值。在另一实例中,调色板索引可具有多个相关联色彩或强度值。在一些情况下,可应用基于调色板的译码以对单色视频进行译码。因此,“色彩值”一般可指用以产生像素值的任何色彩或非彩色分量。
对于顶部复制和向左复制模式,也可用信号发送游程值(其也可以简单地被称为游程)。游程值可指示在经调色板译码块中经一起译码的呈特定扫描次序的连续样本的数目(例如,样本的游程)。在一些情况下,样本的游程也可被称为调色板索引的游程,因为所述游程中的每一样本具有与调色板相关联的索引。
游程值可指示使用同一调色板译码模式经译码的调色板索引的游程。举例来说,关于向左复制模式,视频译码器(视频编码器或视频解码器)可对调色板索引(也被称为调色板索引值或简单地称为索引值)进行译码,以及对指示扫描次序中具有相同调色板索引并用所述调色板索引经译码的连续样本的数目的游程值进行译码。关于顶部复制模式,视频译码器可对基于上方相邻样本(例如,定位在块中当前正被译码的样本上方的样本)的索引复制当前样本值的索引的指示进行译码,以及对指示扫描次序中也从上方相邻样本复制调色板索引并经所述调色板索引译码的连续样本的数目的游程值进行译码。因此,在以上实例中,调色板索引的游程是指具有相同值的调色板索引的游程或从上方相邻调色板索引复制的调色板索引的游程。
因此,对于给定模式,游程可指定属于同一模式的后续样本的数目。在一些情况下,用信号发送索引和游程值可类似于游程长度译码。在出于说明目的的实例中,块的连续调色板索引串可为0、2、2、2、2、5(例如,其中每一索引对应于块中的一个样本)。在此实例中,视频译码器可使用向左复制模式对第二样本(例如,具有值二的第一调色板索引)进行译码。在对等于2的索引进行译码之后,视频译码器可对指示三个后续样本也具有相同调色板索引二的游程三进行译码。以类似方式,在使用顶部复制模式对索引进行译码之后对四个调色板索引的游程进行译码可指示,从所述行中在当前正被译码的样本位置上方的对应调色板索引复制总计五个调色板索引。
逸出样本(也被称为逸出像素)可为块中不具有在用于对块进行译码的调色板中表示的对应色彩的样本(或像素)。因此,可不使用来自调色板的色彩条目(或像素值)重构逸出样本。实际上,在位流中将调色板的色彩值与逸出样本的色彩值分开用信号发送。
视频译码器(例如,视频编码器和视频解码器)可对是否基于不包含在块的调色板中的样本的色彩(例如)使用在上文被称为“逸出模式”的过程对指示经调色板译码块的样本进行译码的每样本数据进行译码。在一些实例中,视频译码器可经配置以将调色板的调色板条目的数目增加一以适应不对应于任何调色板条目的调色板的特殊索引。视频译码器可包含额外索引作为给定块的经增加调色板中的最后一个调色板索引。所述额外索引可用作逸出模式的指示。
在上文所描述的实例中,视频译码器可针对块的特定样本值,对表示用以指示额外样本作为逸出样本(例如,不具有在用于对所述块进行译码的调色板中表示的色彩值的样本)经译码的额外索引的数据进行译码。视频译码器还可对逸出样本的色彩值进行译码。在此实例中,仅存在将使用显式语法用信号发送的两个可能模式(例如,顶部复制模式或向左复制模式(也称为索引模式或值模式))。举例来说,如果在向左复制模式中对样本进行译码且向左复制模式的索引等于逸出索引(例如,上文所述的调色板的额外索引),那么视频译码器可推断待译码的样本为逸出样本。在一些情况下,不对逸出样本用信号发送游程。
对于经调色板译码块,一或多个语法元素可指示在块层级(例如,CU层级或LCU层级)处,是否基于不包含在调色板中的样本的色彩值对块的任何样本进行译码(例如,作为逸出样本经译码)。所述一或多个语法元素可被称为块层级逸出语法。举例来说,块层级语法可指在对视频数据块(例如CU或LCU)进行译码时译码或确定的语法。块层级语法可包含在标头中或与相关联于块的其它数据(例如,在块之前或之后经译码的描述所述块的特性的数据)包含在一起。相比之下,不为块层级语法的其它语法可包含在切片标头中或与视频数据的个别像素包含在一起。
在一个实例中,视频译码器可经配置以译码和/或确定指示是否基于不包含在调色板中的色彩值对块的任何样本进行译码的旗标(其可被称为块层级逸出旗标)。举例来说,旗标值零可指示不使用逸出模式对块的样本进行译码。也就是说,可基于包含在用于对块进行译码的调色板中的色彩值确定块的所有样本的值。旗标值一可指示使用逸出模式对块的至少一个样本进行译码。也就是说,至少一个样本的值不包含在用于对块进行译码的调色板中且可将其单独地用信号发送。因此,所述旗标可指示对于视频数据块的所有样本,所述块的至少一个样本是否具有不包含在用于对所述块进行译码的调色板中的色彩值。
因此,在一些实例中,可在位流中用信号发送指定当前CU是否可具有逸出像素的CU层级逸出旗标。举例来说,CU层级逸出旗标可指示是否对特定CU启用逸出值。如上所述,CU中逸出样本的存在可影响CU的调色板索引的数目。举例来说,CU的调色板可包含具有(例如)最大索引N的多个索引,使得可从{0、1、…、N}(包含端值)选择索引。
然而,在一些情况下,如果CU层级逸出旗标指示可在当前块中存在逸出像素,那么当前块中可能的索引值可为{0、1、…、N、N+1},其中索引等于N+1指示当前像素为逸出像素。在此类情况下,对于正被译码的特定样本,跟在索引N+1之后的语法元素可为经量化像素值。如上所述,索引小于N+1可指示当前像素处于向左复制模式中,且随后的语法元素可指示向左复制模式的游程长度。
在以上实例中,视频译码器(视频编码器或视频解码器)可从用于基于像素的调色板索引对特定像素进行译码的多个调色板译码模式确定调色板译码模式(例如,N+1索引的索引指示逸出模式,且索引小于N+1指示向左复制模式)。在一些情况下,视频译码器可使用具有基于调色板的大小的输入参数的经截断二进制代码对像素的调色板索引进行译码。然而,特定译码过程可影响去往经截断二进制代码的输入参数。举例来说,在标准提交文档JCTVC-R0065(魏普(Wei Pu)等人的“SCCE3:测试B.12-逸出样本和调色板索引的二进制化(SCCE3:Test B.12-Binarization of Escape Sample and Palette Index)”,JCTVC-R0065,日本札幌市,2014年6月30日到7月9日)中描述的冗余去除过程包含基于相邻像素的调色板译码模式调整所述输入参数。
如下文更详细地描述,在不同像素之间改变去往经截断二进制代码(和所得的前缀和后缀值)的输入参数可在对索引进行译码时引入解析依赖性,这可影响并行地对语法进行译码的能力。举例来说,视频译码器必须首先确定是否在确定当前像素的索引值之前已基于相邻像素的调色板译码模式调整输入参数。
本发明的各方面可用以减小帧间语法依赖性并增加对调色板索引值进行译码的并行性。举例来说,根据本发明的方面,视频译码器(视频编码器或视频解码器)可基于调色板中的索引的数目确定表示像素的调色板索引的经截断二进制代码的输入参数。视频译码器还可仅基于经截断二进制代码的前缀从第一调色板译码模式和第二调色板译码模式确定像素的调色板译码模式。也就是说,视频译码器可不在对经截断二进制代码进行译码并确定调色板译码模式之前调整输入参数。
在一些实例中,根据本发明的方面,可保留用于多个调色板译码模式中的一个调色板译码模式的特定经截断二进制码字。举例来说,根据本发明的方面,可保留用于指示像素为经逸出译码的样本的所有零码字。在此实例中,视频译码器可经配置以确定在对经截断二进制代码的前缀进行解码时,像素作为逸出样本经译码,其中所述前缀具有等于零的所有二进制数。
另外或替代地,根据本发明的方面,表示调色板索引的经截断二进制代码的前缀可在位流中通过一或多个其它语法值与经截断二进制代码的后缀间隔开。举例来说,视频译码器可经配置以对经截断二进制代码的前缀进行译码,以确定像素的调色板译码模式。在其中前缀对应于除用于指示逸出样本的所保留的调色板索引以外的调色板索引的情况下,视频译码器可对指示与当前像素一起经译码的像素的游程的游程长度的数据进行译码。视频译码器还可对经截断二进制代码的后缀进行译码,以确定当前像素的索引值,其中所述后缀在位流中跟在指示游程长度的数据之后。
上述技术可用以减小译码和/或硬件复杂性,这是因为视频译码器可仅基于指示当前像素的索引值的经截断二进制代码的前缀区分当前像素的调色板译码模式(例如,无需调整索引)。此外,视频译码器可能够并行地执行特定译码过程,例如索引值的译码以及与索引值相关联的游程长度语法的译码。因此,在一些实例中,本发明的各方面可在其中块层级逸出语法指示逸出像素可存在于当前正被译码的块中的情况下,在对与向左复制和逸出模式相关联的数据进行译码时,减小译码和/或编解码器硬件复杂性。
图1是说明可使用本发明的技术的实例视频译码系统10的框图。如本文中所使用,术语“视频译码器”一般是指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”一般可指视频编码或视频解码。视频译码系统10的视频编码器20和视频解码器30表示可经配置以执行根据本发明中描述的各种实例的用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20和视频解码器30可经配置以使用基于调色板的译码或非基于调色板的译码选择性地对例如HEVC译码中的CU或PU的各种视频数据块进行译码。非基于调色板的译码模式可指各种帧间预测性时间译码模式或帧内预测性空间译码模式,例如由HEVC草案10指定的各种译码模式。
如图1中所示,视频译码系统10包含源装置12和目的地装置14。源装置12产生经编码视频数据。因此,源装置12可被称为视频编码装置或视频编码设备。目的地装置14可以对由源装置12所产生的经编码视频数据进行解码。因此,目的地装置14可以被称为视频解码装置或视频解码设备。源装置12和目的地装置14可为视频编解码装置或视频编解码设备的实例。
源装置12和目的地装置14可包括广泛范围的装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、电视、摄像机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机(in-carcomputer)或其类似者。
目的地装置14可经由信道16从源装置12接收经编码视频数据。信道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,信道16可包括使得源装置12能够实时地将经编码视频数据直接传输到目的地装置14的一或多个通信媒体。在此实例中,源装置12可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制视频数据传输到目的地装置14。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。所述一或多个通信媒体可以形成分组网络的一部分,所述分组网络例如局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源装置12到目的地装置14的通信的其它设备。
在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可(例如)经由磁盘存取或卡存取来存取存储媒体。存储媒体可以包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或用于存储经编码的视频数据的其它合适数字存储媒体。
在另一实例中,信道16可以包含存储由源装置12产生的经编码视频数据的文件服务器或另一中间存储装置。在此实例中,目的地装置14可以经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据并且将经编码视频数据传输到目的地装置14的一种类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附接存储(NAS)装置和本地磁盘驱动器。
目的地装置14可以通过标准数据连接(例如因特网连接)来存取经编码视频数据。实例类型的数据连接可包含适于存取存储在文件服务器上的经编码视频数据的无线信道(例如Wi-Fi连接)、有线连接(例如DSL、电缆调制解调器等),,或两者的组合。经编码视频数据从文件服务器的传输可为流式传输、下载传输或两者的组合。
本发明的技术不限于无线应用或设置。所述技术可应用于视频译码以支持多种多媒体应用,例如,空中电视广播、有线电视传输、卫星电视传输、流式视频传输(例如,经由因特网)、编码视频数据以存储于数据存储媒体上、解码存储在数据存储媒体上的视频数据,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
图1中说明的视频译码系统10仅为实例,并且本发明的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,从本地存储器检索数据,经由网络流式传输数据,或类似者。视频编码装置可以对数据进行编码并且将数据存储到存储器,且/或视频解码装置可以从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。视频源18可包含视频俘获装置(例如,摄像机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或此类视频数据源的组合。
视频编码器20可对来自视频源18的视频数据进行编码。在一些实例中,源装置12经由输出接口22将经编码视频数据直接传输到目的地装置14。在其它实例中,经编码视频数据也可存储到存储媒体或文件服务器上以供稍后由目的地装置14存取以用于解码和/或回放。
在图1的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些实例中,输入接口28包含接收器和/或调制解调器。输入接口28可经由信道16接收经编码视频数据。显示装置32可以与目的地装置14集成在一起或可以在目的地装置14的外部。一般来说,显示装置32显示经解码视频数据。显示装置32可以包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30各自可实施为例如以下各者的多种合适电路中的任一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施所述技术,那么装置可将软件的指令存储在合适的非暂时性计算机可读存储媒体中,且可使用一或多个处理器以硬件执行指令,从而执行本发明的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。视频编码器20和视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的经组合编码器/解码器(编解码器)的部分。
本发明一般可涉及视频编码器20将某些信息“用信号发送”或“传输”到例如视频解码器30的另一装置。术语“用信号发送”或“传输”一般可指用以对经压缩视频数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时发生。替代地,此通信可在一段时间内发生,例如可当在编码时以经编码位流将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。
在一些实例中,视频编码器20和视频解码器30根据视频压缩标准(例如上文提及且在HEV草案10中描述的HEVC标准)操作。除基础HEVC标准以外,还正在努力产生用于HEVC的可缩放视频译码、多视图视频译码和3D译码扩展。另外,可提供(例如)如本发明中所描述的基于调色板的译码模式以用于HEVC标准的扩展。在一些实例中,本发明中针对基于调色板的译码所描述的技术可应用于经配置以根据其它视频译码标准(例如ITU-T-H.264/AVC标准或未来标准)操作的编码器和解码器。因此,将基于调色板的译码模式用于HEVC编解码器中的译码单元(CU)或预测单元(PU)的译码是为了实例的目的而描述。
在HEVC和其它视频译码标准中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可以包含三个样本阵列,表示为SL、SCb以及SCr。SL是明度样本的二维阵列(即,块)。SCb是Cb彩度(chrominance)样本的二维阵列。SCr是Cr彩度样本的二维阵列。彩度样本在本文中还可以被称为“色度(chroma)”样本。在其它情况下,图片可为单色的且可仅包含明度样本阵列。
为了产生图片的经编码表示,视频编码器20可以产生译码树单元(CTU)集。CTU中的每一者可为明度样本的译码树块、色度样本的两个对应译码树块以及用于对译码树块的样本进行译码的语法结构。译码树块可为样本的N×N块。CTU也可被称为“树块”或“最大译码单元(LCU)”。HEVC的CTU可以广泛地类似于例如H.264/AVC的其它标准的宏块。然而,CTU未必限于特定大小,并且可以包含一或多个译码单元(CU)。切片可包含光栅扫描中连续排序的整数数目的CTU。
为了产生经译码CTU,视频编码器20可以递归方式对CTU的译码树块执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的N×N块。CU可为具有明度样本阵列、Cb样本阵列和Cr样本阵列的图片的明度样本的译码块和色度样本的两个对应译码块,以及用于对译码块的样本进行译码的语法结构。视频编码器20可将CU的译码块分割为一或多个预测块。预测块是其上应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可为图片的明度样本的预测块、图片的色度样本的两个对应的预测块,以及用以对预测块样本进行预测的语法结构。视频编码器20可以产生用于CU的每一PU的预测明度块、Cb预测块和Cr预测块的预测性明度块、Cb块和Cr块。
视频编码器20可使用帧内预测或帧间预测来产生PU的预测性块。如果视频编码器20使用帧内预测产生PU的预测性块,那么视频编码器20可以基于与PU相关联的图片的经解码样本来产生PU的预测性块。
如果视频编码器20使用帧间预测产生PU的预测性块,那么视频编码器20可基于除与PU相关联的图片以外的一或多个图片的经解码样本产生PU的预测性块。视频编码器20可使用单向预测或双向预测来产生PU的预测性块。当视频编码器20使用单向预测来产生PU的预测性块时,PU可具有单个运动向量(MV)。当视频编码器20使用双向预测来产生PU的预测性块时,PU可具有两个MV。
在视频编码器20产生CU的一或多个PU的预测性明度块、Cb块和Cr块之后,视频编码器20可产生CU的明度残差块。CU的明度残差块中的每一样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中的对应样本之间的差。另外,视频编码器20可以产生CU的Cb残差块。CU的Cb残差块中的每一样本可以指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差。视频编码器20还可产生CU的Cr残差块。CU的Cb残差块中的每一样本可以指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差。
此外,视频编码器20可以使用四叉树分割将CU的明度残差块、Cb残差块和Cr残差块分解成一或多个明度变换块、Cb变换块和Cr变换块。变换块可为其上应用相同变换的样本的矩形块。CU的变换单元(TU)可为明度样本的变换块、色度样本的两个对应变换块,以及用以对变换块样本进行变换的语法结构。因此,CU的每一TU可以与明度变换块、Cb变换块和Cr变换块相关联。与TU相关联的明度变换块可为CU的明度残差块的子块。Cb变换块可为CU的Cb残差块的子块。Cr变换块可为CU的Cr残差块的子块。
视频编码器20可将一或多个变换应用到TU的明度变换块以产生TU的明度系数块。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用于TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用于TU的Cr变换块以产生TU的Cr系数块。
在产生系数块(例如,明度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以量化系数块。量化一般是指量化变换系数以可能地减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。视频编码器20可在位流中输出经熵编码语法元素。
视频编码器20可输出包含经熵编码语法元素的位流。位流可包含形成经译码图片和相关联数据的表示的位序列。位流可包括网络抽象层(NAL)单元序列。所述NAL单元中的每一者包含NAL单元标头且封装原始字节序列有效负载(RBSP)。NAL单元标头可包含指示NAL单元类型代码的语法元素。由NAL单元的NAL单元标头指定的所述NAL单元类型代码指示NAL单元的类型。RBSP可为含有包封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位元。
不同类型的NAL单元可包封不同类型的RBSP。举例来说,第一类型的NAL单元可包封用于图片参数集(PPS)的RBSP,第二类型的NAL单元可包封用于经译码切片的RBSP,第三类型的NAL单元可包封用于SEI的RBSP等等。封装视频译码数据的RBSP(与参数集和SEI消息的RBSP相对)的NAL单元可被称为视频译码层(VCL)NAL单元。
视频解码器30可以接收由视频编码器20产生的位流。另外,视频解码器30可以解析位流以对来自位流的语法元素进行解码。视频解码器30可至少部分地基于来自位流的经解码语法元素来重构视频数据的图片。用于重构视频数据的过程通常可与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的MV确定用于当前CU的PU的预测性块。另外,视频解码器30可以逆量化与当前CU的TU相关联的变换系数块。视频解码器30可对变换系数块执行逆变换以重构与当前CU的TU相关联的变换块。通过将用于当前CU的PU的预测性块的样本添加到当前CU的TU的变换块的对应样本,视频解码器30可以重构当前CU的译码块。通过重构用于图片的每一CU的译码块,视频解码器30可重构图片。
在一些实例中,视频编码器20和视频解码器30可经配置以执行基于调色板的译码。举例来说,在基于调色板的译码中,并非执行上文所描述的帧内预测性或帧间预测性译码技术,而是,视频编码器20和视频解码器30可将所谓的调色板译码为用于表示特定区域(例如,给定块)的视频数据的色彩表。每一像素可与调色板中表示像素的色彩的条目相关联。举例来说,视频编码器20和视频解码器30可对使像素值与调色板中的适当值相关的索引进行译码。
在以上实例中,视频编码器20可通过确定块的调色板、在调色板中定位表示每一像素的值的条目以及以使像素值与调色板相关的用于像素的索引值对调色板进行编码来对视频数据块进行编码。视频解码器30可从经编码位流获得块的调色板以及所述块的像素的索引值。视频解码器30可使像素的调色板索引与调色板的条目相关以重构块的像素值。
如上所述,视频编码器20和视频解码器30可使用多个不同的调色板译码模式对调色板的调色板索引进行译码。举例来说,视频编码器20和视频解码器30可使用逸出模式、顶部复制模式(也称为上方复制模式)或向左复制模式(也称为索引模式或值模式)对块的调色板索引进行译码。一般来说,使用“逸出模式”对样本进行译码一般可指对块中不具有在用于对所述块进行译码的调色板中表示的对应色彩的样本进行译码。如上所述,此类样本可被称为逸出样本或逸出像素。
关于逸出用信号发送,视频编码器20可对于块的特定样本值,对表示用以指示额外样本作为逸出样本(例如,不具有在用于对所述块进行译码的调色板中表示的色彩值的样本)经译码的额外调色板索引的数据进行编码。视频编码器20还可对逸出样本的色彩值进行编码。因此,在此实例中,视频编码器20和视频解码器30可对用以区分顶部复制模式和向左复制模式的语法进行译码。另外,视频编码器20和视频解码器30接着可基于正被译码的像素的索引值(例如,基于索引值是否包含在调色板中的N数目个条目中或索引值是否为额外索引N+1)来区分经逸出译码的像素与向左复制模式(或顶部复制模式)。
在一些实例中,视频编码器20和视频解码器30可对基于调色板的大小(例如,调色板的索引的数目)指示调色板的索引值的数据进行译码。举例来说,视频编码器20和视频解码器30可确定去往经截断二进制代码的输入参数,所述输入参数基于含有当前正被译码的像素的CU的调色板的大小来指示索引值。在此实例中,所得的经截断二进制代码可包含前缀部分和后缀部分。
举例来说,可在http://en.wikipedia.org/wiki/Truncated_binary_encoding和标准提交文档JCTVC-R1005(“高效率视频译码(HEVC)屏幕内容译码草案文本1(HighEfficiency Video Coding(HEVC)Screen Content Coding Draft Text 1)”,JCTVC-R1005,日本札幌市,2014年6月30日到7月9日)处更详细地描述经截断二进制译码。一般来说,经截断二进制译码可用于具有有限字母的均匀概率分布。可通过具有总大小为数字n的字母将经截断二进制译码参数化。举例来说,如果n是二的幂,那么经译码值0≤x<n是长度log2(n)的x的简单的二进制代码。或者,使k=floor(log2(n))以使得2k≤n<2k+1,且使u=2k +1-n。
经截断二进制译码指派长度k的前u个符号码字(也称为代码),且接着将长度k+1的最后n-u个码字指派给剩余的n-u个符号。因为长度k+1的所有码字由附加“0”或“1”的长度k的未被指派的码字组成,所以所得的代码为前缀码。在出于说明的目的的实例中,对于字母{0、1、2、3、4},n=5且22≤n<23,因此k=2且u=23-5,其产生u=3。经截断二进制编码为前u个符号指派码字00、01和10,所有长度为2,接着为最后n-u个符号指派码字110和111,最后两个码字长度为3。如下文的实例表中所展示,如果n为5,那么普通二进制编码和经截断二进制编码分配随后的码字(不在经截断二进制中传输在双方括号[[]]中展示的数字)。
经截断二进制 | 编码 | 标准二进制 |
0 | [[0]] 0 0 | 0 |
1 | [[0]] 0 1 | 1 |
2 | [[0]] 1 0 | 2 |
未使用 | [[0]] [[1]] [[1]] | 3 |
未使用 | [[1]] [[0]] [[0]] | 4 |
未使用 | [[1]] [[0]] [[1]] | 5/未使用 |
3 | 1 1 0 | 6/未使用 |
4 | 1 1 1 | 7/未使用 |
在以上实例中,其使用标准二进制编码采用3位对n进行编码,因此23-n=8,且未使用8-5=3位。在数字项中,为发送值x,其中0≤x<n,且其中存在2k≤n<2k+1个符号,当字母大小上舍入到最接近的二的幂时,存在u=2k+1-n个未使用的条目。在经截断二进制中对数字x进行编码的过程为:如果x小于u,那么以k个二进制位对x进行编码;如果x大于或等于u,那么以k+1个二进制位对值x+u进行编码。因此,取决于去往经截断二进制代码的输入参数,可(或可不)包含特定经截断二进制代码的后缀部分。
根据本发明的方面,视频编码器20和视频解码器30可基于调色板中的索引的数目确定表示像素的调色板索引的经截断二进制代码的输入参数。视频编码器20和视频解码器30可仅基于经截断二进制代码的前缀来区分第一调色板译码模式与第二调色板译码模式。举例来说,视频编码器20和视频解码器30可不在对经截断二进制代码进行译码并确定调色板译码模式之前调整输入参数。
在出于说明的目的实例中,为对视频数据块的当前像素进行译码,视频编码器20可编码且视频解码器30可解码区别上方复制模式与向左复制模式的语法元素,例如palette_mode语法元素。另外,如果语法元素指示当前像素的调色板模式为向左复制模式(或替代地,上方复制模式),那么视频编码器20和视频解码器30可基于调色板中的索引的最大数目确定去往表示当前像素的调色板索引的经截断二进制代码的输入参数。根据本发明的方面,视频编码器20和视频解码器30可确定去往经截断二进制代码的输入参数,而无需调整调色板中的索引的最大数目。
另外,在以上实例中,视频编码器20和视频解码器30可仅基于经截断二进制代码的前缀区分向左复制模式(或替代地,上方复制模式)与逸出模式。举例来说,根据本发明的方面,可保留用于指示像素作为逸出像素经译码的特定经截断二进制代码,例如具有全部等于零的二进制数的前缀代码。在此实例中,视频编码器20和视频解码器30可能够基于前缀是否具有全部等于零的二进制数来辨别当前像素是在向左复制模式中还是在逸出模式中经译码。
继续以上实例,如果当前像素不作为逸出样本经译码,那么视频编码器20和视频解码器30可经配置以对指示与当前像素一起正被译码的像素的游程长度的数据进行译码,以及在基于输入参数存在经截断二进制代码的后缀的情况下,对此类后缀进行译码。在一些实例中,经截断二进制代码的后缀可在位流中跟在指示游程长度的数据之后。
图2是说明可以实施本发明的技术的实例视频编码器20的框图。图2是出于解释的目的而提供,且不应将本发明中所宽泛示范和描述的技术视为限制性的。出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可以适用于其它译码标准或方法。
视频编码器20表示可经配置以执行根据本发明中描述的各种实例的用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20可经配置以使用基于调色板的译码或非基于调色板的译码选择性地对例如HEVC译码中的CU或PU的各种视频数据块进行译码。非基于调色板的译码模式可指各种帧间预测性时间译码模式或帧内预测性空间译码模式,例如由HEVC草案10指定的各种译码模式。在一个实例中,视频编码器20可经配置以产生具有指示像素值的条目的调色板,选择调色板中的像素值来表示视频数据块中的至少一些像素位置的像素值,以及用信号发送使视频数据块中的像素位置中的至少一些与调色板中的分别对应于调色板中的选定像素值的条目相关联的信息。视频解码器30可将用信号发送的信息用以对视频数据进行解码。
在图2的实例中,视频编码器20包含预测处理单元100、视频数据存储器101、残差产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元114、经解码图片缓冲器116以及熵编码单元118。预测处理单元100包含帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120包含运动估计单元和运动补偿单元(未示出)。视频编码器20还包含基于调色板的编码单元122,其经配置以执行本发明中描述的基于调色板的译码技术的各种方面。在其它实例中,视频编码器20可包括更多、更少或不同的功能组件。
视频数据存储器101可存储待由视频编码器20的组件编码的视频数据。可例如从视频源18获得存储于视频数据存储器101中的视频数据。经解码图片缓冲器116可为存储参考视频数据以供在视频编码器20例如以帧内或帧间译码模式编码视频数据时使用的参考图片存储器。视频数据存储器101和经解码图片缓冲器116可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。视频数据存储器101和经解码图片缓冲器116可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器101可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
视频编码器20可以接收视频数据。视频编码器20可对视频数据的图片的切片中的每一CTU进行编码。CTU中的每一者可以与图片的大小相等的明度译码树块(CTB)以及对应的CTB相关联。作为对CTU进行编码的一部分,预测处理单元100可以执行四叉树分割以将CTU的CTB划分为逐渐更小的块。这些更小的块可为CU的译码块。举例来说,预测处理单元100可将与CTU相关联的CTB分割成四个大小相等的子块,将子块中的一或多者分割成四个大小相等的子子块等。
视频编码器20可对CTU的CU进行编码以产生CU的经编码表示(即,经译码CU)。作为对CU进行编码的部分,预测处理单元100可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与明度预测块和对应的色度预测块相关联。视频编码器20和视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小,且PU的大小可指PU的明度预测块的大小。假设特定CU的大小为2N×2N,视频编码器20和视频解码器30可支持用于帧内预测的2N×2N或N×N的PU大小,以及用于帧间预测的2N×2N、2N×N、N×2N、N×N或类似大小的对称PU大小。视频编码器20和视频解码器30还可以支持用于帧间预测的2N×nU、2N×nD、nL×2N以及nR×2N的PU大小的非对称分割。
帧间预测处理单元120可通过对CU的每一PU执行帧间预测来产生用于PU的预测性数据。PU的预测性数据可包含PU的预测性块和PU的运动信息。帧间预测处理单元120可取决于PU是在I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有PU都是经帧内预测。因此,如果PU是在I切片中,那么帧间预测处理单元120不对PU执行帧间预测。因此,对于在I模式中经编码的块,使用来自同一帧内的先前经编码的相邻块的空间预测而形成经预测块。
如果PU是在P切片中,那么帧间预测处理单元120的运动估计单元可在参考图片列表(例如,“RefPicList0”)的参考图片中搜索用于PU的参考区。用于PU的参考区可为在参考图片内含有最紧密地对应于PU的样本块的样本块的区。运动估计单元可产生指示含有用于PU的参考区的参考图片在RefPicList0中的位置的参考索引。另外,运动估计单元可产生指示PU的译码块与相关联于参考区的参考位置之间的空间位移的MV。举例来说,MV可为提供从当前经解码图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元可输出参考索引和MV,作为PU的运动信息。帧间预测处理单元120的运动补偿单元可基于在由PU的运动向量指示的参考位置处的实际或经内插样本而产生PU的预测性块。
如果PU是在B切片中,那么帧间预测处理单元120的运动估计单元可对PU执行单向预测或双向预测。为了对PU执行单向预测,运动估计单元可在RefPicList0或第二参考图片列表(“RefPicList1”)的参考图片中搜索用于PU的参考区。运动估计单元可输出以下各项作为PU的运动信息:参考索引,其指示含有参考区的参考图片在RefPicList0或RefPicList1中的位置;MV,其指示PU的预测块与相关联于参考区的参考位置之间的空间位移;以及一或多个预测方向指示符,其指示参考图片是在RefPicList0还是在RefPicList1中。帧间预测处理单元120的运动补偿单元可至少部分地基于在由PU的运动向量指示的参考区处的实际或经内插样本而产生PU的预测性块。
为了对PU执行双向帧间预测,运动估计单元可在RefPicList0的参考图片中搜索用于PU的参考区,并且还可在RefPicList1的参考图片中搜索用于PU的另一参考区。运动估计单元可产生指示含有参考区的参考图片在RefPicList0和RefPicList1中的位置的参考图片索引。另外,运动估计单元可产生指示与参考区相关联的参考位置与PU的样本块之间的空间位移的MV。PU的运动信息可包含PU的参考索引和MV。帧间预测处理单元120的运动补偿单元可至少部分地基于在由PU的运动向量指示的参考区处的实际或经内插样本而产生PU的预测性块。
视频编码器20可经配置以执行基于调色板的译码。关于HEVC框架,作为一实例,基于调色板的译码技术可经配置以用作译码单元(CU)模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC框架中的PU模式。因此,本文中在CU模式的上下文中所揭示的所有过程(贯穿本发明)可另外或替代地应用于PU。然而,这些基于HEVC的实例不应被视为对本文中所描述的基于调色板的译码技术的限定或限制,因为此类技术可应用为独立地工作或作为其它现有或尚待开发的系统/标准的部分而应用。在这些情况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状的区。
举例来说,当例如为CU或PU选择基于调色板的编码模式时,基于调色板的编码单元122可执行基于调色板的解码。举例来说,基于调色板的编码单元122可经配置以产生具有指示像素值的条目的调色板,选择调色板中的像素值来表示视频数据块中的至少一些位置的像素值,以及用信号发送使视频数据块中的位置中的至少一些与调色板中的分别对应于选定像素值的条目相关联的信息。虽然将各种功能描述为由基于调色板的编码单元122执行,但此类功能中的一些或全部可由其它处理单元或不同处理单元的组合执行。
根据本发明的方面,基于调色板的编码单元122可经配置以执行本文中描述的用于调色板译码的技术的任何组合。举例来说,基于调色板的编码单元122可基于调色板中的索引的数目确定表示像素的调色板索引的经截断二进制代码的输入参数。基于调色板的编码单元122可仅基于经截断二进制代码的前缀来区分第一调色板译码模式与第二调色板译码模式。举例来说,基于调色板的编码单元122可不在编码像素的索引的经截断二进制代码时调整所述输入参数。
另外,基于调色板的编码单元122可仅使用经截断二进制代码的前缀指示像素的调色板译码模式(例如,逸出模式或向左复制模式)。举例来说,根据本发明的方面,可保留用于指示像素作为逸出像素经译码的特定经截断二进制代码,例如具有全部等于零的二进制数的前缀代码。如果当前像素不作为逸出像素经编码,那么基于调色板的编码单元122可经配置以对指示与当前像素一起正被译码的像素的游程长度的数据进行编码,以及在基于输入参数存在经截断二进制代码的后缀的情况下,对此类后缀进行编码。在一些实例中,经截断二进制代码的后缀可在位流中跟在指示游程长度的数据之后。
帧内预测处理单元126可通过对PU执行帧内预测来产生PU的预测性数据。PU的预测性数据可包含PU的预测性块和各种语法元素。帧内预测处理单元126可对I切片、P切片和B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生PU的多个预测性数据集。帧内预测处理单元126可使用来自相邻PU的样本块的样本来产生PU的预测性块。假设对于PU、CU和CTU采用从左到右、从上到下的编码次序,相邻PU可在所述PU的上方、右上方、左上方或左方。帧内预测处理单元126可使用各种数目个帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区的大小。
预测处理单元100可从PU的由帧间预测处理单元120产生的预测性数据或PU的由帧内预测处理单元126产生的预测性数据当中选择CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据集的速率/失真量度选择CU的PU的预测性数据。所选预测性数据的预测性样本块在本文中可被称为所选预测性样本块。
残差产生单元102可基于CU的明度译码块、Cb译码块和Cr译码块以及CU的PU的所选预测性明度块、Cb块和Cr块产生CU的明度残差块、Cb残差块和Cr残差块。举例来说,残差产生单元102可产生CU的残差块以使得残差块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应选定预测性样本块中的对应样本之间的差的值。
变换处理单元104可执行四叉树分割以将与CU相关联的残差块分割成与CU的TU相关联的变换块。因此,TU可以与明度变换块以及两个色度变换块相关联。CU的TU的明度变换块以及色度变换块的大小和位置可或可不基于CU的PU的预测块的大小和位置。被称为“残差四叉树”(RQT)的四叉树结构可以包含与区域中的每一者相关联的节点。CU的TU可以对应于RQT的叶节点。
变换处理单元104可以通过将一或多个变换应用于TU的变换块来产生CU的每一TU的变换系数块。变换处理单元104可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元104可以将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在此类实例中,变换块可被视作变换系数块。
量化单元106可量化系数块中的变换系数。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,n位变换系数可在量化期间向下舍入到m位变换系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可能造成信息丢失,因此经量化的变换系数可以具有比原始变换系数更低的精确度。
逆量化单元108和逆变换处理单元110可分别将逆量化和逆变换应用于系数块,以从所述系数块重构残差块。重构单元112可以将经重构的残差块添加到来自由预测处理单元100产生的一或多个预测性块的对应样本,以产生与TU相关联的经重构变换块。通过以此方式重构CU的每一TU的变换块,视频编码器20可重构CU的译码块。
滤波器单元114可执行一或多个解块操作来减少与CU相关联的译码块中的成块假影。在滤波器单元114对经重构译码块执行一或多个解块操作之后,经解码图片缓冲器116可存储经重构译码块。帧间预测处理单元120可使用含有经重构译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重构译码块对处于与CU相同的图片中的其它PU执行帧内预测。
熵编码单元118可以从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可以从量化单元106接收系数块,并且可以从预测处理单元100接收语法元素。熵编码单元118可以对数据执行一或多个熵编码操作以产生经熵编码的数据。举例来说,熵编码单元118可以对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可以输出包含由熵编码单元118产生的经熵编码数据的位流。举例来说,位流可以包含表示用于CU的RQT的数据。
图3是说明经配置以实施本发明的技术的实例视频解码器30的框图。图3是出于解释的目的而提供,且不应将本发明中所宽泛示范和描述的技术视为限制性的。出于解释的目的,本发明描述在HEVC译码的上下文中的视频解码器30。然而,本发明的技术可以适用于其它译码标准或方法。
视频编码器20表示可经配置以执行根据本发明中描述的各种实例的用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20可经配置以使用基于调色板的译码或非基于调色板的译码选择性地对例如HEVC译码中的CU或PU的各种视频数据块进行解码。非基于调色板的译码模式可指各种帧间预测性时间译码模式或帧内预测性空间译码模式,例如由HEVC草案10指定的各种译码模式。在一个实例中,视频解码器30可经配置以产生具有指示像素值的条目的调色板,接收使视频数据块的至少一些像素位置与调色板中的条目相关联的信息,基于所述信息选择调色板中的像素值,以及基于调色板中的选定像素值重构块的像素值。
在图3的实例中,视频解码器30包含熵解码单元150、视频数据存储器151、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元160以及经解码图片缓冲器162。预测处理单元152包含运动补偿单元164和帧内预测处理单元166。视频解码器30还包含基于调色板的解码单元165,其经配置以执行本发明中描述的基于调色板的译码技术的各个方面。在其它实例中,视频解码器30可包含更多、更少或不同的功能组件。
视频数据存储器151可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储在视频数据存储器151中的视频数据可例如从计算机可读媒体获得,例如经由视频数据的有线或无线网络通信从本地视频源(例如相机)或通过存取物理数据存储媒体而获得。视频数据存储器151可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器162可为存储参考视频数据以供在视频解码器30例如以帧内或帧间译码模式解码视频数据时使用的参考图片存储器。视频数据存储器151和经解码图片缓冲器162可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器151和经解码图片缓冲器162可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器151可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
经译码图片缓冲器(CPB)可接收并存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从CPB接收经编码视频数据(例如,NAL单元)并解析NAL单元以解码语法元素。熵解码单元150可对NAL单元中的经熵编码语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158和滤波器单元160可基于从位流提取的语法元素而产生经解码视频数据。
位流的NAL单元可包含经译码切片NAL单元。作为对位流进行解码的部分,熵解码单元150可从经译码切片NAL单元提取语法元素并且对所述语法元素进行熵解码。经译码切片中的每一者可包含切片标头和切片数据。切片标头可以含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的PPS的语法元素。
除了对来自位流的语法元素进行解码之外,视频解码器30还可对未经分割的CU执行重构操作。为对未经分割的CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构CU的残差块。
作为对CU的TU执行重构操作的部分,逆量化单元154可逆量化(即,解量化)与TU相关联的系数块。逆量化单元154可使用与TU的CU相关联的QP值来确定量化的程度,且同样地确定逆量化单元154将应用的逆量化的程度。也就是说,可通过调整在量化变换系数时所使用的QP的值来控制压缩比,即用以表示原始序列的位数与用以表示经压缩序列的位数的比。压缩比还可取决于所采用的熵译码的方法。
在逆量化单元154逆量化系数块之后,逆变换处理单元156可将一或多个逆变换应用于系数块以便产生与TU相关联的残差块举例来说,逆变换处理单元156可以将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆定向变换或另一逆变换应用于变换系数块。
如果使用帧内预测对PU进行编码,那么帧内预测处理单元166可执行帧内预测以产生PU的预测性块。帧内预测处理单元166可以使用帧内预测模式,以基于空间上相邻的PU的预测块而产生PU的预测性明度块、Cb块和Cr块。帧内预测处理单元166可基于来自位流的经解码的一或多个语法元素而确定PU的帧内预测模式。
预测处理单元152可基于从位流提取的语法元素来构建第一参考图片列表(RefPicList0)和第二参考图片列表(RefPicList1)。此外,如果使用帧间预测对PU进行编码,那么熵解码单元150可以提取PU的运动信息。运动补偿单元164可基于PU的运动信息来确定PU的一或多个参考区。运动补偿单元164可以基于在PU的一或多个参考块处的样本块产生PU的预测性明度块、Cb块和Cr块。
重构单元158可以在适当时使用与CU的TU相关联的明度变换块、Cb变换块和Cr变换块以及CU的PU的预测性明度块、Cb块和Cr块(即,帧内预测数据或帧间预测数据)来重构CU的明度译码块、Cb译码块和Cr译码块。举例来说,重构单元158可将明度变换块、Cb变换块和Cr变换块的样本添加到预测性明度块、Cb块和Cr块的对应样本以重构CU的明度译码块、Cb译码块和Cr译码块。
滤波器单元160可执行解块操作以减少与CU的明度译码块、Cb译码块和Cr译码块相关联的成块假影。视频解码器30可将CU的明度译码块、Cb译码块和Cr译码块存储在经解码图片缓冲器162中。经解码图片缓冲器162可提供参考图片以用于后续运动补偿、帧内预测和在显示装置(例如,图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的明度块、Cb块和Cr块对其它CU的PU执行帧内预测或帧间预测操作。
视频解码器30可经配置以执行基于调色板的译码。举例来说,当例如为CU或PU选择基于调色板的解码模式时,基于调色板的解码单元165可执行基于调色板的解码。举例来说,基于调色板的解码单元165可经配置以产生具有指示像素值的条目的调色板,接收使视频数据块中的至少一些像素位置与调色板中的条目相关联的信息,基于所述信息选择调色板中的像素值,以及基于调色板中的选定像素值来重构块的像素值。虽然将各种功能描述为由基于调色板的解码单元165执行,但此类功能中的一些或全部可由其它处理单元或不同处理单元的组合来执行。
基于调色板的解码单元165可接收调色板译码模式信息,且当调色板译码模式信息指示调色板译码模式适用于块时执行上述操作。当调色板译码模式信息指示调色板译码模式不适用于块时,或当其它模式信息指示使用不同模式时,预测处理单元152使用非基于调色板的译码模式(例如,HEVC帧间预测性或帧内预测性译码模式)对视频数据块进行解码。视频数据块可(例如)为根据HEVC译码过程产生的CU或PU。基于调色板的译码模式可包括多个不同的基于调色板的译码模式中的一者,或可存在单个基于调色板的译码模式。
根据本发明的方面,基于调色板的解码单元165可经配置以执行本文中描述的用于调色板译码的技术的任何组合。举例来说,基于调色板的解码单元165可基于调色板中的索引的数目确定表示像素的调色板索引的经截断二进制代码的输入参数。基于调色板的解码单元165可仅基于经截断二进制代码的前缀来区分第一调色板译码模式与第二调色板译码模式。举例来说,基于调色板的解码单元165可不在解码像素的索引的经截断二进制代码时调整所述输入参数。
另外,基于调色板的解码单元165可仅基于经截断二进制代码的前缀来确定像素的调色板译码模式(例如,逸出模式或向左复制模式)。举例来说,根据本发明的方面,可保留用于指示像素作为逸出像素经译码的特定经截断二进制代码,例如具有全部等于零的二进制数的前缀代码。如果当前像素不作为逸出样本经解码,那么基于调色板的解码单元165可经配置以对指示与当前像素一起正被译码的像素的游程长度的数据进行解码,以及在基于输入参数存在经截断二进制代码的后缀的情况下,对此类后缀进行解码。在一些实例中,经截断二进制代码的后缀可在位流中跟在指示游程长度的数据之后。
图4是说明符合本发明的技术的确定用于对视频数据进行译码的调色板的实例的概念图。图4的实例包含图片178,其具有与第一调色板184相关联的第一译码单元(CU)180以及与第二调色板192相关联的第二CU 188。使用调色板模式(PAL)对第一CU 180和第二CU188进行译码。如下文更详细描述且根据本发明的技术,第二调色板192是基于第一调色板184。图像178还包含以帧内预测译码模式经译码的块196和以帧间预测译码模式经译码的块200。
出于解释的目的,在视频编码器20(图1和图2)和视频解码器30(图1和图3)的上下文中且关于HEVC视频译码标准描述图4的技术。然而,应理解,本发明的技术不限于此方式,且可由其它视频译码处理器和/或装置在其它视频译码过程和/或标准中应用。
一般来说,调色板是指对于当前正被译码的CU(在图4的实例中为第二CU 188)来说为主要和/或代表性的多个像素值。将第一调色板184和第二调色板192展示为包含多个调色板。在一些实例中,根据本发明的方面,视频译码器(例如视频编码器20或视频解码器30)可针对CU的每一色彩分量单独地对调色板进行译码。举例来说,视频编码器20可为CU的明度(Y)分量编码一调色板、为CU的色度(U)分量编码另一调色板以及为CU的色度(V)分量编码又一调色板。在此实例中,Y调色板的条目可表示CU的像素的Y值,U调色板的条目可表示CU的像素的U值,且V调色板的条目可表示CU的像素的V值。
在其它实例中,视频编码器20可针对CU的所有色彩分量编码单个调色板。在此实例中,视频编码器20可对具有为包含Yi、Ui和Vi的三重值的第i条目的调色板进行编码。在此情况下,调色板包含像素的分量中的每一者的值。因此,第一调色板184和第二调色板192作为具有多个个别调色板的调色板集的表示仅为一个实例且并不意图为限制性的。
在图4的实例中,第一调色板184中的每一者包含三个条目202到206,其分别具有条目索引值1、条目索引值2和条目索引值3。条目202到206使索引值与分别包含像素值A、像素值B和像素值C的像素值相关。如本文中所描述,并非对第一CU 180的实际像素值进行译码,视频译码器(例如视频编码器20或视频解码器30)可使用基于调色板的译码以使用索引1到3对块的像素进行译码。也就是说,对于第一CU 180的每一像素位置,视频编码器20可编码像素的索引值,其中所述索引值与第一调色板184中的一或多者中的像素值相关联。视频解码器30可从位流获得索引值且使用所述索引值和第一调色板184中的一或多者重构像素值。因此,视频编码器20在经编码视频数据位流中传输第一调色板184以供视频解码器30在基于调色板的解码中使用。
在一些实例中,视频编码器20和视频解码器30可基于第一调色板184确定第二调色板192。举例来说,视频编码器20和/或视频解码器30可定位一或多个块,从所述一或多个块确定预测性调色板,在此实例中为第一调色板184。用于预测目的的条目组合可被称为预测值调色板。
在图4的实例中,第二调色板192包含三个条目208到212,其分别具有条目索引值1、条目索引值2和条目索引值3。条目208到212稍微不同于第一调色板184的条目202到206,且使索引1到3与分别包含像素值A、像素值B和像素值D的像素值相关。在此实例中,视频编码器20可对指示第一调色板184(表示预测值调色板,但是所述预测值调色板可包含多个块的条目)的哪些条目包含于第二调色板192中的一或多个语法元素进行译码。
在图4的实例中,一或多个语法元素说明为向量216。向量216具有多个相关联的二进制数(或位),其中每一个二进制数指示与所述二进制数相关联的预测值调色板是否用以预测当前调色板的条目。举例来说,向量216指示第一调色板184的前两个条目(202和204)包含于第二调色板192中(向量216中的值“1”),而第一调色板184的第三条目不包含于第二调色板192中(向量216中的值“0”)。在图4的实例中,向量是布尔向量。所述向量可被称为调色板预测向量。
在一些实例中,视频编码器20和视频解码器30可在执行调色板预测时确定调色板预测值列表(其也可以称为调色板预测值表)。调色板预测值列表可包含来自一或多个相邻块的调色板的用以预测用于对当前块进行译码的调色板的一或多个条目的条目。视频编码器20和视频解码器30可以相同方式构造列表。视频编码器20和视频解码器30可对用以指示调色板预测值列表中的哪些条目将包含在用于对当前块进行译码的调色板中的数据(例如向量216)进行译码。
图5是说明符合本发明的技术的确定像素块的调色板索引的实例的概念图。举例来说,图5包含调色板索引的映射240,其使与调色板索引相关联的像素的相应位置与调色板244的条目相关。举例来说,索引1与值A相关联,索引2与值B相关联,且索引3与值C相关联。另外,当使用隐式逸出信号发送指示逸出样本时,视频编码器20和视频解码器30还可将额外索引添加到调色板244,所述额外索引在图5中说明为索引4,其可指示映射240的与索引4相关联的样本为逸出样本。在这种情况下,如果像素值不包含于调色板244中,那么视频编码器20可对映射240中的位置的实际像素值(或其经量化版本)的指示进行编码(并且视频解码器30可从经编码位流获得所述指示)。
在一些实例中,视频编码器20和视频解码器30可经配置以对指示哪些像素位置与调色板索引相关联的额外映射进行译码。举例来说,假设所述映射中的(i,j)条目对应于CU的(i,j)位置。视频编码器20可对映射的每一条目(即,每一像素位置)的指示所述条目是否具有相关联索引值的一或多个语法元素进行编码。举例来说,视频编码器20可对具有值一以指示CU中的(i,j)位置处的像素值是调色板244中的值中的一者的旗标进行编码。在此类实例中,视频编码器20还可对指示调色板中的所述像素值并且允许视频解码器重构所述像素值的调色板索引(在图5的实例中展示为值1到3)进行编码。
在调色板244包含单个条目和相关联像素值的实例中,视频编码器20可跳过索引值的用信号表示。视频编码器20可将旗标编码为具有值零以指示在CU中的(i,j)位置处的像素值不是调色板244中的值中的一者。在此实例中,视频编码器20还可对供视频解码器30用于重构像素值的像素值的指示进行编码。举例来说,视频编码器20可显式地对像素值进行译码。在一些情况下,可以有损方式对像素值进行译码。
CU的一个位置中的像素的值可提供所述CU的其它位置中的一或多个其它像素的值的指示。举例来说,可存在CU的相邻像素位置将具有相同像素值或可映射到相同索引值(在有损译码的情况下,其中一个以上像素值可映射到单个索引值)的相对高概率。
因此,视频编码器20可编码指示经一起译码的呈特定扫描次序的连续像素或调色板索引的数目的一或多个语法元素。如上所述,调色板索引(或由调色板索引指示的像素值)串可在本文中称为游程。视频解码器30可从经编码位流获得指示游程的语法元素且使用所述数据确定具有相同像素或索引值的连续位置的数目。
如上所述,游程可结合顶部复制模式或向左复制模式使用。在出于说明目的的实例中,考虑映射240的行264和268。假设水平的从左到右扫描方向,行264包含三个调色板索引“1”、两个调色板索引“2”以及三个调色板索引“3”。行268包含五个调色板索引“1”、两个调色板索引“3”和不包含在调色板244中的一个样本(由索引4表示),所述样本可被称为逸出样本。
在此实例中,视频编码器20可使用顶部复制模式对行268的数据进行编码。举例来说,视频编码器20可对指示行268的第一位置(行268的最左边位置)与行264的第一位置相同的一或多个语法元素进行编码。视频编码器20还可对指示行268中在扫描方向上的两个连续条目的下一游程与行264的第一位置相同的一或多个语法元素进行编码。
在对(上文提到的)指示行264的第一位置和两个条目的游程的一或多个语法元素进行编码之后,视频编码器20可使用值模式对行268的第四和第五位置(从左到右)进行编码。举例来说,视频编码器20可对指示第四位置的值1的一或多个语法元素以及指示游程1的一或多个语法元素(例如,值模式)进行编码。因此,视频编码器20在不参考另一线的情况下对这两个位置进行编码。
视频编码器20接着可使用关于上部行264的顶部复制模式对具有行268中的索引值3的第一位置进行编码。举例来说,视频编码器20可用信号发送顶部复制模式和游程1。因此,视频编码器20可在例如使用游程对一线的相对于所述线的其它值的像素值或调色板索引进行译码、对一线的相对于另一线(或列)的值的像素值或调色板索引进行译码或其组合之间进行选择。在一些实例中,视频编码器20可执行速率/失真优化以做出所述选择。
视频编码器20接着可对行268的最终样本的逸出样本(从左到右)进行编码,所述逸出样本不包含于第一调色板244中。举例来说,视频编码器20可将行268的最终位置编码为逸出样本。也就是说,视频编码器20可对行268的最终位置为逸出样本(例如,索引4)的指示以及样本值的指示进行编码。视频解码器30可从经编码位流获得上述语法并且使用此类语法重构行268。
在一个实例中,为用信号发送对逸出样本的译码,视频编码器20和视频解码器30可将额外索引添加到调色板244(条目索引4)。视频编码器20和视频解码器30可使用调色板244的额外索引(例如索引4)指示样本作为逸出样本经译码。然而,额外索引不具有相关联色彩值。实际上,视频编码器20和视频解码器30还对与额外索引相关联的每一样本的色彩值进行译码。如果样本不作为逸出样本经译码,那么视频编码器20和视频解码器30可对用以指示模式是顶部复制模式还是向左复制模式的数据(例如palette_mode语法元素)进行译码。
在一些实例中,视频编码器20和视频解码器30可经配置以对一或多个块层级语法元素进行译码,所述块层级语法元素指示对于视频数据块的所有样本,是否基于不包含在所述块的色彩的调色板中的色彩值对所述块的至少一个样本进行译码的。关于图5的实例,视频编码器20和视频解码器30可对与映射240相关联的一或多个语法元素进行译码,所述映射指示映射240的至少一个样本作为逸出样本(即行268的最终样本)经译码。
在一实例中,一或多个语法元素可为块层级逸出旗标。举例来说,视频编码器20可对具有值一以指示映射240包含作为逸出样本经译码的样本的逸出旗标进行编码。同样地,视频解码器30可对具有值一以指示映射240包含作为逸出样本经译码的样本的逸出旗标进行解码。因此,根据逸出旗标,视频编码器20可编码且视频解码器30可解码映射240。举例来说,视频编码器20和视频解码器30可将索引4添加到调色板244,所述索引可用以表示作为逸出样本经译码的样本。视频编码器20和视频解码器30可在对映射240进行译码期间使用此额外索引。
作为一实例,视频解码器30可从位流解析与映射240相关联的经调色板译码块的数据。视频解码器30可对块的块层级逸出旗标进行解码,所述块层级逸出旗标指示块中的一或多个样本是否可作为逸出像素经译码。如果块层级逸出旗标指示可存在作为逸出样本经译码的样本,那么视频解码器30可将索引4添加到调色板244。视频解码器30还可对于不在其它样本(例如,经显式译码的样本,例如上文关于行264和行268所描述的那些样本)的游程中经译码的样本,视频解码器30可对指示调色板译码模式的一或多个语法元素(例如,palette_mode旗标)进行解码。
在以上实例中,视频解码器30还可对样本的调色板索引进行解码。视频解码器30可使用经解码调色板索引确定如何解码正被解码的样本的样本值。举例来说,如果样本具有索引4(例如,与逸出样本相关联的索引),那么视频解码器30可确定样本是经逸出译码的样本且可解码样本的样本值。如果样本具有除4以外的任何索引,那么视频解码器30可基于经解码索引从调色板244确定适当样本值。视频解码器30还可解码指示在给定扫描次序中与当前样本一起正被译码的其它样本的游程的一或多个语法元素。视频解码器30可使用具有等于调色板244的大小(例如四个索引)的输入参数的经截断二进制代码对索引进行解码。所得的经截断二进制代码可包含前缀和后缀(例如,尾部一或零)。
根据本发明的方面,视频解码器30可仅基于经截断二进制代码的前缀,区分正被解码的样本是具有索引4(例如,样本作为逸出样本经解码)还是正根据另一调色板译码模式对所述样本进行解码(例如,使用向左复制调色板译码模式对样本进行解码)。举例来说,视频解码器30可不在解码经截断二进制代码和解码经截断二进制代码的前缀之前调整输入参数。另外,视频解码器30可将逸出索引4指派给经截断二进制代码的特定码字。举例来说,视频解码器30可将逸出索引4指派给具有全部等于零的二进制数的前缀。
在以上实例中,在解码具有全部等于零的二进制数的前缀之后,视频解码器30可确定正被解码的样本的索引是索引4且可确定正被解码的样本是逸出样本。因此,视频解码器30可解码样本的样本值。在解码具有任何其它值的前缀之后,视频解码器30可解码与当前样本一起正被解码的样本的游程长度。
在一些情况下,根据本发明的方面,视频解码器30可经配置以在存在经截断二进制代码的后缀的情况下,解码经截断二进制代码的前缀与此类后缀之间的一或多个语法元素。以此方式,视频解码器30可将所述索引与其它语法(例如,指示与当前样本一起正被解码的样本的游程长度的语法)并行地进行解码。举例来说,视频解码器30可解码指示当前样本的索引的经截断二进制代码的前缀。在其中前缀指示样本不作为逸出样本经解码(例如,使用另一调色板译码模式(例如顶部复制模式或向左复制模式)对样本进行解码)的情况下,视频解码器30可解码游程长度语法,所述游程长度语法在位流中跟在经截断二进制代码的前缀之后。视频解码器30还可将经截断二进制代码的后缀与游程长度语法并行地进行解码,所述后缀跟在游程长度语法之后。
图6是说明符合本发明的技术的含有用于调色板译码的数据的两个实例位流的概念图。举例来说,图6说明可包含在表示经调色板译码视频数据的位流中的位二进制数)的相对位置。确切地说,图6的实例包含说明用于使用逸出模式对像素进行译码的二进制数的相对位置的第一位流280,以及说明用于使用向左复制模式对像素进行译码的二进制数的相对位置的第二位流284。
如上文所描述,视频编码器(例如视频编码器20)可对位流中的指定是否为当前正被编码的CU(当前CU)启用逸出模式的CU层级逸出旗标进行编码。举例来说,视频编码器20可设置指示当前CU是否可具有作为逸出像素经译码的像素的旗标。
对于容纳于当前CU内的像素,视频编码器20可编码指示像素的调色板译码模式的一或多个语法元素。在图6的实例中,指示调色板译码模式的一或多个语法元素是由palette_mode语法元素(1二进制数)表示,编码第一位流280和第二位流284两者的palette_mode语法元素。
在一些情况下,作为逸出像素经编码的像素与使用向左复制模式经编码的像素可共享相同的palette_mode语法元素值。举例来说,palette_mode语法元素等于零可指示使用上方复制模式编码或解码当前像素,而palette_mode语法元素等于一可指示使用向左复制或逸出模式编码或解码当前像素。在此实例中,视频编码器20和视频解码器30接着可基于当前像素的调色板索引确定是使用向左复制模式还是逸出模式编码或解码当前像素。
举例来说,视频编码器20可编码CU的多个调色板索引,其最大索引为N。在其中不启用逸出模式(例如,CU层级逸出旗标指示没有像素作为逸出像素经编码)的情况下,视频编码器20可从索引集{0、1、…、N}(包含端值)选择用于对CU的像素进行译码的索引。通过选择集{0、1、…、N}中的索引,视频编码器20还隐式地用信号发送向左复制模式用以编码当前像素,并且进一步编码指示向左复制模式的游程长度的一或多个语法元素。视频解码器30可执行互逆过程(例如,解析调色板模式语法元素,解析调色板索引,确定调色板模式,和解码像素以及游程的像素)。
在其中启用逸出模式(例如,CU层级逸出旗标指示可在当前块中存在逸出像素)的情况下,视频编码器20可从索引集{0、1、…、N、N+1}选择用于对CU的像素进行译码的索引,其中索引等于N+1指示当前像素作为逸出像素经译码。在此类情况下,视频编码器20可编码用以指示逸出像素的经量化像素值的多个额外语法元素。视频解码器30可确定从位流获得的索引等于N+1并解码逸出像素的像素值。
在以上实例中,视频解码器30基于经解码索引是否等于N+1而解析并解码不同语法元素。举例来说,当索引等于N+1时,视频解码器30可解析并解码逸出像素值。当索引不等于N+1时,视频解码器30可解析并解码索引值以及与所述索引值相关联的游程的指示。
在一些实例中,视频编码器20和视频解码器30可使用经截断二进制代码分别编码和解码调色板索引(例如,以确定所述索引是等于N+1还是调色板的另一索引)。视频编码器20和视频解码器30可确定去往经截断二进制代码的输入参数,所述输入参数基于当前正被编码或解码的像素的调色板的大小指示所述索引。所得的经截断二进制代码可包含前缀和后缀,其中总码字长度可为k或k+1(其中最终二进制数可被称为尾部二进制数)。
在一些实例中,视频编码器20和视频解码器30可确定去往经截断二进制代码的输入参数P,所述输入参数P在不存在当前正被译码的块(例如,当前CU)的逸出像素的情况下等于最大调色板条目索引N。参数P可在当前块中可存在逸出像素的情况下等于调色板索引加一(N+1)。
然而,特定冗余去除和/或效率过程可影响上文所描述的输入参数P。举例来说,在用于减少表示调色板索引所需的位数的标准提交文档JCTVC-R0065中开发的冗余去除过程包含确定当前像素的相邻像素的值是否符合特定条件。在此冗余去除过程中,如果符合所述特定条件,那么视频编码器20和视频解码器30可将用于确定经截断二进制代码的输入参数P减小一,以便减小表示所述索引所需的位数(进而达成位节约)。
在以上实例中,在当前块可具有逸出像素(例如,调色板的大小为N+1)时,取决于相邻像素值,对于输入参数P的值存在两种可能性。第一可能性(称为情况一)为等于N+1的未经调整的输入参数P。另一可能性(称为情况二)为等于N的经减小输入参数P。
当使用经截断二进制代码时,对于情况一使用二进制数且对于情况二使用二进制数对逸出像素索引进行译码。此差异可影响并行地编码和解码语法元素的能力。举例来说,为解码当前像素的二进制数串(例如,第一位流280和第二位流284的二进制数串),视频解码器30可依序执行以下过程:
●步骤1:基于是发生情况一还是发生情况二且基于相邻像素和/或索引值确定输入参数P。
●步骤2:从位流解析二进制数并解码对应值。
●步骤3:取决于经解码值,确定在位流中是否存在一或多个尾部二进制数。如果存在,那么对其进行解析并解码经预调整的索引值。
●步骤4:如果为情况一,那么对经预调整索引值做出必要的调整以确定最终经解码索引值。
●步骤5:如果索引值等于N+1,那么解析并解码逸出像素语法(对于逸出模式)。否则,解析并解码游程长度语法(对于向左复制模式)。
虽然在以上实例中依序执行步骤4和步骤5,但在一些情况下,过程的步骤4和步骤5可并行地执行,这是因为如果经预调整索引值等于P(例如,全部为一的可变长度码字“111…111”),那么当前像素处于逸出模式中。
本发明的技术可用以减小帧间语法依赖性并增加并行性。根据本发明的方面,可保留逸出像素的全部为零的码字。在图6的实例中,视频编码器20和视频解码器30可经配置以分别编码和解码第一位流280的TBC前缀(L二进制数)的全部为零的码字。在此实例中,视频编码器20和视频解码器30可经配置以将指示像素作为逸出像素经译码的索引(例如,在以上实例中为索引N+1)指派给具有全部等于零的经截断二进制代码的二进制数的前缀。因此,视频解码器30可在解析和解码具有全部等于零的二进制数的经截断二进制代码时识别特定像素作为逸出像素经编码。
另外或替代地,根据本发明的方面,当正被译码的像素的索引是除用于逸出像素译码的索引以外的索引(例如,当N=2k-1时,k=0、1、2、3、…)且当前CU中存在一或多个逸出像素时,可禁用可影响去往调色板索引的经截断二进制代码的输入参数的过程。在图6的实例中,视频编码器20和视频解码器30可经配置以基于相邻像素的像素值和/或索引确定第二位流284的TBC前缀(L二进制数)而无需调整经截断二进制代码的输入参数。在此实例中,视频编码器20和视频解码器30可经配置以仅基于调色板中的索引的数目确定表示视频数据块的像素的调色板索引的经截断二进制代码的输入参数。
作为一个特定实例,视频编码器20和视频解码器30可经配置以在确定输入参数时禁用在JCTVC-R0065中描述的冗余去除过程。在此类实例中,经截断二进制译码的输入参数可为N+1。在其它实例中,视频编码器20和视频解码器30可经配置以应用索引调整过程(例如JCTVC-R0065的索引调整)以调整像素的索引值,但可经配置以禁用对用于确定经截断二进制代码的输入参数P的任何调整。
另外或替代地,根据本发明的方面,当经截断二进制代码包含尾部后缀二进制数时,视频编码器20和视频解码器30可经配置以在位流的末端包含后缀(例如,第二位流284的TBC后缀(1二进制数,任选的))。举例来说,如果等于那么视频编码器20和视频解码器30可经配置以分别编码或解码在二进制数串的末端的经截断二进制代码的尾部后缀二进制数。在以上实例中,如由第二位流284所说明,当存在最后二进制数时,可在向左复制模式中的游程长度语法之后包含最后二进制数TBC后缀(1二进制数,任选的)。以类似方式,关于第一位流280,也可在二进制数串的末端包含经量化逸出像素值的最后二进制数(Y后缀、U后缀、V后缀)。
根据本发明的方面,通过执行以上过程,逸出像素的索引可总是具有全部为零的码字‘000…000’,其长度为举例来说,逸出像素索引(例如,索引N+1)的零的数目可等于)。因此,视频编码器20和视频解码器30可基于调色板中的索引的数目确定表示视频数据块的像素的调色板索引的经截断二进制代码的输入参数,对经截断二进制代码的前缀进行译码,以及仅基于经截断二进制代码的前缀从第一调色板译码模式和第二调色板译码模式确定像素的调色板译码模式。
第一位流280和第二位流284说明符合本发明的技术的的实例位流。在一实例中,第一位流280和第二位流284可用以表示当palette_mode[xC][yC]不等于上方复制模式时的经调色板译码像素。如上文所描述,在图6的实例中,L是可仅取决于调色板大小的已知值。也就是说,长度L不取决于相邻索引值。
根据本发明的方面,视频编码器20和视频解码器30可并行地分别编码和解码第一位流280和第二位流284的特定语法元素。作为一实例,视频解码器30可执行以下步骤以解码第一位流280和第二位流284:
●步骤1:解析和解码绕过经译码二进制数(TBC前缀(L二进制数))的第一如果全部二进制数都具有零值,那么转到步骤2.1以解码用逸出模式译码的像素的第一位流280;否则,转到步骤2.2以解码用向左复制模式译码的的像素的第二位流284。
●步骤2.1:并行地解析和解码三个经量化逸出像素值(Y值(A二进制数)、U值(A二进制数)和V值(A二进制数))。接着解码经截断二进制代码的任选的尾部二进制数Y后缀(1二进制数,任选的)、U后缀(1二进制数,任选的)和V后缀(1二进制数,任选的)。
●步骤2.2:并行地发布步骤2.2.1和2.2.2:
○步骤2.2.1:取决于绕过经译码二进制数的第一和输入参数P,确定在位流中是否存在一或多个尾部二进制数(TBC后缀,(1二进制数,任选的))。如果存在尾部二进制数,那么解析所述二进制数并解码最终索引值。举例来说,基于TBC前缀和TBC后缀确定像素的索引。如果不存在尾部二进制数(例如,基于所述输入参数,经截断二进制代码不具有后缀二进制数),那么仅基于TBC前缀确定索引值。
○步骤2.2.2:解码指示与当前像素一起正被解码的像素的游程的游程长度(游程长度)的数据。
以上技术可简化逸出像素解码过程并改进解码器输贯量。举例来说,根据本发明的方面,可仅基于当前正被译码的块的调色板的大小(例如,针对索引的数目的代码长度,其可基于调色板中的索引的量)确定调色板译码模式。举例来说,当使用经截断二进制译码对多个索引N进行解码时,视频解码器30可根据以下方程式:仅基于索引的数目N确定长度L。另外,根据本发明的方面,可并行地编码或解码调色板索引值(例如,向左复制模式的索引值)和游程长度语法。可在k大于预定值时启用上文所描述的技术,其中如上所述,k指示索引的数目N。举例来说,所述条件可需要k>0。
图7是说明符合本发明的技术的用于对经调色板译码数据进行译码的过程的流程图。关于视频译码器描述图7的过程,所述视频译码器可包含视频编码器20、视频解码器30或经配置以编码或解码视频数据的多种其它处理器。
在图7的实例中,视频译码器可基于调色板中的索引的数目确定表示像素的调色板索引的经截断二进制代码的输入参数(290)。根据本发明的方面,视频译码器可确定经截断二进制代码的输入参数而无需调整调色板中的索引的数目。举例来说,对于可包含作为逸出像素经译码的一或多个像素的块,视频译码器可确定基于等于N+1的调色板大小的输入参数,其中N为块的调色板的具有对应色彩值的索引的数目。
视频译码器还可对经截断二进制代码的前缀进行译码(编码或解码)(292)。举例来说,视频编码器20可编码经截断二进制代码的前缀。同样地,视频解码器30可解码经截断二进制代码的前缀。
视频译码器接着仅基于经截断二进制代码的前缀从第一调色板译码模式和第二调色板译码模式确定像素的调色板译码模式(294)。作为一实例,视频译码器可仅基于经截断二进制代码的前缀确定当前正被译码的像素是否作为逸出像素经编码(例如,第一调色板译码模式是逸出模式),或者所述像素是否使用向左复制模式经编码(例如,第二调色板译码模式是向左复制模式)。虽然作为实例关于图7描述逸出模式和向左复制模式,但应理解,其它调色板译码模式在其它实例中可为适用的。
根据本发明的方面,视频译码器可基于经截断二进制代码的前缀等于特定码字(例如,具有全部等于零的二进制数的代码),确定调色板译码模式是第一调色板译码模式(例如,逸出模式)。视频译码器可基于经截断二进制代码的前缀等于除所保留的用于第一调色板译码模式的码字以外的值,确定调色板译码模式是第二调色板译码模式(例如,向左复制模式)。
在图7的实例中,如果视频译码器确定调色板译码模式是第一调色板译码模式(步骤294的“是”分支),那么视频译码器可对像素的逸出像素值进行译码(296)。举例来说,视频编码器20可编码指示像素的像素值的一或多个语法元素。同样地,视频解码器30可解码指示像素的像素值的一或多个语法元素。另外,根据本发明的方面,视频译码器可对逸出值的后缀进行译码(298)。也就是说,在对像素值进行译码之后,视频编码器20可编码(或视频解码器30可解码)像素值的后缀,其中所述后缀在位流中跟在所述像素值之后。
如果视频译码器确定调色板译码模式是第二调色板译码模式(步骤294的“否”分支),那么视频译码器可对指示将与所述像素一起经译码的像素的游程长度的一或多个语法元素进行译码(300)。根据本发明的方面,视频译码器可在对经截断二进制代码的前缀进行译码之后对指示游程长度的数据进行译码,其中所述数据指示所述游程长度在位流中跟在所述前缀之后。
在一些情况下,视频译码器还可对经截断二进制代码的后缀进行译码(302)。举例来说,视频译码器可在存在经截断二进制代码的后缀的情况下,在对指示游程长度的数据进行译码之后对此类后缀进行译码,其中所述后缀在位流中跟在指示游程长度的数据之后。在一些实例中,根据本发明的方面,视频译码器可将经截断二进制代码的后缀与指示与当前像素一起正被译码的像素的游程长度的数据并行地进行译码。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同序列执行,可添加、合并或全部省略(例如,实践所述技术并不需要所有的所描述动作或事件)。此外,在某些实例中,可(例如)通过多线程处理、中断处理或多个处理器同时而非依序地执行动作或事件。另外,虽然为了清晰起见,本发明的某些方面被描述为由单个模块或单元执行,但是应理解,本发明的技术可由与视频译码器相关联的单元或模块的组合执行。
出于说明的目的,已经关于开发HEVC标准而描述本发明的某些方面。然而,本发明中描述的技术可有用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
上文所描述的技术可由视频编码器20(图1和2)和/或视频解码器30(图1和3)(其两者可通常被称作视频译码器)执行。同样地,在适用时,视频译码可指视频编码或视频解码。
虽然在上文描述所述技术的各种方面的特定组合,但提供这些组合仅为了说明本发明中描述的技术的实例。因此,本发明的技术不应限于这些实例组合且可涵盖本发明中描述的技术的各种方面的任何可设想的组合。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果用软件实施,那么所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体或通信媒体的有形媒体,通信媒体包含例如根据通信协议促进将计算机程序从一处传递到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用以存储指令或数据结构的形式的期望程序代码并且可以由计算机存取的任何其它媒体。并且,任何连接适当地被称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输指令,那么所述同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波的无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入于组合式编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或IC集(例如,芯片集)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件和/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
描述了各种实例。这些和其它实例在所附权利要求书的范围内。
Claims (29)
1.一种处理视频数据的方法,所述方法包括:
基于视频数据块的调色板中的索引的数目确定表示所述块的像素的调色板索引的经截断二进制代码的输入参数;
对所述经截断二进制代码的前缀进行译码;和
仅基于所述经截断二进制代码的所述前缀,从第一调色板译码模式和第二调色板译码模式确定所述像素的调色板译码模式。
2.根据权利要求1所述的方法,其中对所述前缀进行译码包括对具有全部等于零的二进制数的前缀进行译码,且其中确定所述调色板译码模式包括基于具有全部等于零的二进制数的所述前缀确定所述第一调色板译码模式。
3.根据权利要求2所述的方法,其中所述第一调色板译码模式是逸出调色板译码模式,所述方法进一步包括对所述像素的像素值进行译码。
4.根据权利要求3所述的方法,其中对所述像素值进行译码包括在所述经截断二进制代码的所述前缀之后对所述像素值进行译码,所述方法进一步包括在对所述像素值进行译码之后对所述像素值的后缀进行译码。
5.根据权利要求1所述的方法,其中确定所述调色板译码模式包括确定所述第二调色板译码模式,所述方法进一步包括对指示与所述像素一起正被译码的像素的游程长度的数据进行译码。
6.根据权利要求5所述的方法,其中对指示所述游程长度的所述数据进行译码包括在对所述经截断二进制代码的所述前缀进行译码之后对指示所述游程长度的所述数据进行译码,所述方法进一步包括在对指示所述游程长度的所述数据进行译码之后对所述经截断二进制代码的后缀进行译码。
7.根据权利要求1所述的方法,其中确定所述调色板译码模式包括确定所述第二调色板译码模式,所述方法进一步包括与对指示与所述像素一起正被译码的像素的游程长度的数据进行译码并行地对所述经截断二进制代码的后缀进行译码。
8.根据权利要求1所述的方法,其中基于索引的所述数目确定所述经截断二进制代码的所述输入参数包括仅基于索引的所述数目确定所述经截断二进制代码的所述输入参数。
9.根据权利要求8所述的方法,其中仅基于索引的所述数目确定所述经截断二进制代码的所述输入参数包括基于表达式确定所述经截断二进制代码的所述输入参数,其中L为所述输入参数且N为索引的所述数目。
10.根据权利要求1所述的方法,其中仅基于所述前缀确定所述调色板译码模式包括在对所述经截断二进制代码的后缀进行译码之前确定所述调色板译码模式。
11.根据权利要求1所述的方法,其中译码包括编码,且其中编码所述经截断二进制代码的前缀包括产生包含所述经截断二进制代码的所述前缀的经编码位流。
12.根据权利要求1所述的方法,其中译码包括解码,且其中解码所述经截断二进制代码的所述前缀包括从经编码位流解析所述经截断二进制代码的所述前缀。
13.一种用于处理视频数据的装置,所述装置包括:
存储器,其经配置以存储视频数据块;和
视频译码器,其经配置以:
基于所述视频数据块的调色板中的索引的数目确定表示所述块的像素的调色板索引的经截断二进制代码的输入参数;
对所述经截断二进制代码的前缀进行译码;和
仅基于所述经截断二进制代码的所述前缀,从第一调色板译码模式和第二调色板译码模式确定所述像素的调色板译码模式。
14.根据权利要求13所述的装置,其中为了对所述前缀进行译码,所述视频译码器经配置以对具有全部等于零的二进制数的前缀进行译码,且其中确定所述调色板译码模式包括基于具有全部等于零的二进制数的所述前缀确定所述第一调色板译码模式。
15.根据权利要求14所述的装置,其中所述第一调色板译码模式是逸出调色板译码模式,且其中所述视频译码器进一步经配置以对所述像素的像素值进行译码。
16.根据权利要求15所述的装置,其中为了对所述像素值进行译码,所述视频译码器经配置以在所述经截断二进制代码的所述前缀之后对所述像素值进行译码,且其中所述视频译码器进一步经配置以在对所述像素值进行译码之后对所述像素值的后缀进行译码。
17.根据权利要求13所述的装置,其中为了确定所述调色板译码模式,所述视频译码器经配置以确定所述第二调色板译码模式,且其中所述视频译码器进一步经配置以对指示与所述像素一起正被译码的像素的游程长度的数据进行译码。
18.根据权利要求17所述的装置,其中为了对指示所述游程长度的所述数据进行译码,所述视频译码器经配置以在对所述经截断二进制代码的所述前缀进行译码之后对指示所述游程长度的所述数据进行译码,且其中所述视频译码器进一步经配置以在对指示所述游程长度的所述数据进行译码之后对所述经截断二进制代码的后缀进行译码。
19.根据权利要求13所述的装置,其中为了确定所述调色板译码模式,所述视频译码器经配置以确定所述第二调色板译码模式,且其中所述视频译码器进一步经配置以与对指示所述像素一起正被译码的像素的游程长度的数据进行译码并行地对所述经截断二进制代码的后缀进行译码。
20.根据权利要求13所述的装置,其中为了基于索引的所述数目确定所述经截断二进制代码的所述输入参数,所述视频译码器经配置以仅基于索引的所述数目确定所述经截断二进制代码的所述输入参数。
21.根据权利要求20所述的装置,其中为了仅基于索引的所述数目确定所述经截断二进制代码的所述输入参数,所述视频译码器经配置以基于表达式确定所述经截断二进制代码的所述输入参数,其中L为所述输入参数且N为索引的所述数目。
22.根据权利要求13所述的装置,其中为了仅基于所述前缀确定所述调色板译码模式,所述视频译码器经配置以在对所述经截断二进制代码的后缀进行译码之前确定所述调色板译码模式。
23.根据权利要求13所述的装置,其中为了译码,所述视频译码器经配置以编码,且其中为了编码所述经截断二进制代码的前缀,所述视频译码器经配置以产生包含所述经截断二进制代码的所述前缀的经编码位流。
24.根据权利要求13所述的装置,其中为了译码,所述视频译码器经配置以解码,且其中为了解码所述经截断二进制代码的所述前缀,所述视频译码器经配置以从经编码位流解析所述经截断二进制代码的所述前缀。
25.根据权利要求13所述的装置,其中所述装置包括集成电路、微处理器或无线通信装置中的至少一者。
26.根据权利要求13所述的装置,其进一步包括经配置以俘获包含所述视频数据块的图像的摄像机。
27.根据权利要求13所述的装置,其进一步包括经配置以显示包含所述视频数据块的图像的显示器。
28.一种用于处理视频数据的设备,所述设备包括:
用于基于视频数据块的调色板中的索引的数目确定表示所述块的像素的调色板索引的经截断二进制代码的输入参数的装置;
用于对所述经截断二进制代码的前缀进行译码的装置;和
用于仅基于所述经截断二进制代码的所述前缀,从第一调色板译码模式和第二调色板译码模式确定所述像素的调色板译码模式的装置。
29.一种上面存储有指令的非暂时计算机可读存储媒体,所述指令在执行时致使一或多个处理器:
基于视频数据块的调色板中的索引的数目确定表示所述块的像素的调色板索引的经截断二进制代码的输入参数;
对所述经截断二进制代码的前缀进行译码;和
仅基于所述经截断二进制代码的所述前缀,从第一调色板译码模式和第二调色板译码模式确定所述像素的调色板译码模式。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462056265P | 2014-09-26 | 2014-09-26 | |
US62/056,265 | 2014-09-26 | ||
US14/864,331 US10158866B2 (en) | 2014-09-26 | 2015-09-24 | Parsing dependency reduction for palette index coding |
US14/864,331 | 2015-09-24 | ||
PCT/US2015/052195 WO2016049440A1 (en) | 2014-09-26 | 2015-09-25 | Parsing dependency reduction for palette index coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106717003A true CN106717003A (zh) | 2017-05-24 |
Family
ID=54325689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580051044.XA Pending CN106717003A (zh) | 2014-09-26 | 2015-09-25 | 调色板索引译码的解析依赖性减小 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10158866B2 (zh) |
EP (1) | EP3198873A1 (zh) |
JP (1) | JP2017532896A (zh) |
CN (1) | CN106717003A (zh) |
WO (1) | WO2016049440A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112166612A (zh) * | 2018-05-23 | 2021-01-01 | 株式会社Kt | 用于处理视频信号的方法和设备 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691244B (zh) | 2014-06-20 | 2022-07-08 | 寰发股份有限公司 | 视频编码中的语法的二进制化和上下文自适应编码的方法和装置 |
CN107079151B (zh) * | 2014-09-26 | 2020-06-05 | 株式会社Kt | 用于处理视频信号的方法和设备 |
GB2531005A (en) * | 2014-10-06 | 2016-04-13 | Canon Kk | Improved encoding process using a palette mode |
US10477218B2 (en) * | 2014-10-20 | 2019-11-12 | Kt Corporation | Method and apparatus for predicting and restoring a video signal using palette entry |
CN111800632B (zh) * | 2015-01-15 | 2024-03-29 | 株式会社Kt | 对编码视频信号解码的方法和对视频信号编码的方法 |
US10477243B2 (en) | 2015-01-29 | 2019-11-12 | Kt Corporation | Method and apparatus for predicting and restoring a video signal using palette entry and palette mode |
CN112135143B (zh) | 2015-01-29 | 2022-08-30 | 株式会社Kt | 用于对经编码的视频信号解码和对视频信号编码的方法 |
KR102691340B1 (ko) | 2015-04-02 | 2024-08-02 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
GB2547047B (en) * | 2016-02-08 | 2018-07-18 | Canon Kk | Encoder optimizations for palette lossless encoding of content with subsampled colour component |
US10630990B1 (en) * | 2018-05-01 | 2020-04-21 | Amazon Technologies, Inc. | Encoder output responsive to quality metric information |
HUE062487T2 (hu) * | 2018-11-22 | 2023-11-28 | Huawei Tech Co Ltd | Eljárás, készülék és számítógépes szoftvertermék az inter predikcióra |
US11197009B2 (en) | 2019-05-30 | 2021-12-07 | Hulu, LLC | Processing sub-partitions in parallel using reference pixels |
US11202070B2 (en) * | 2019-05-30 | 2021-12-14 | Hulu, LLC | Parallel bi-directional intra-coding of sub-partitions |
US11184456B1 (en) | 2019-06-18 | 2021-11-23 | Xcelastream, Inc. | Shared resource for transformation of data |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130114893A1 (en) * | 2011-11-03 | 2013-05-09 | Google Inc. | Image Compression Using Sub-Resolution Images |
CN103959778A (zh) * | 2011-10-20 | 2014-07-30 | 高通股份有限公司 | 帧内脉码调制(ipcm)及无损失译码模式视频解块 |
-
2015
- 2015-09-24 US US14/864,331 patent/US10158866B2/en active Active
- 2015-09-25 CN CN201580051044.XA patent/CN106717003A/zh active Pending
- 2015-09-25 JP JP2017516428A patent/JP2017532896A/ja active Pending
- 2015-09-25 EP EP15781211.6A patent/EP3198873A1/en not_active Withdrawn
- 2015-09-25 WO PCT/US2015/052195 patent/WO2016049440A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959778A (zh) * | 2011-10-20 | 2014-07-30 | 高通股份有限公司 | 帧内脉码调制(ipcm)及无损失译码模式视频解块 |
US20130114893A1 (en) * | 2011-11-03 | 2013-05-09 | Google Inc. | Image Compression Using Sub-Resolution Images |
Non-Patent Citations (5)
Title |
---|
SHIH-TA HSIANG: "Non-SCCE3: Palette index coding using a universal entropy coding scheme", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 * |
SHIH-TA HSIANG: "Run coding of the palette index map using a universal entropy coding scheme", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 * |
WEI PU: "SCCE3: Test B.12 – Binarization of Escape Sample and Palette Index", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 * |
WEI PU: "SCCE3: Test B.13 – Flag to Indicate Escape and Index Coding", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 * |
赵永发: "《程序员开发宝典系列 Visual C++开发宝典》", 30 June 2012 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112166612A (zh) * | 2018-05-23 | 2021-01-01 | 株式会社Kt | 用于处理视频信号的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3198873A1 (en) | 2017-08-02 |
US20160094851A1 (en) | 2016-03-31 |
WO2016049440A1 (en) | 2016-03-31 |
US10158866B2 (en) | 2018-12-18 |
JP2017532896A (ja) | 2017-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106416249B (zh) | 用于编码/解码视频数据的方法和装置 | |
CN106717003A (zh) | 调色板索引译码的解析依赖性减小 | |
CN106464915B (zh) | 基于调色板的视频译码中的最大调色板参数 | |
CN106464884B (zh) | 基于调色板的视频译码中的译码行程 | |
CN106464883B (zh) | 基于调色板的视频译码中的逃脱样本译码方法、装置及设备 | |
CN106537916B (zh) | 编码和解码视频数据的方法和装置及计算机可读存储介质 | |
CN108028940A (zh) | 调色板模式视频译码中转义像素信号值的限制 | |
CN105874796B (zh) | 用于基于调色板的视频译码的颜色索引译码 | |
CN106464872B (zh) | 在基于调色板的视频译码中基于调色板索引对行程值进行译码 | |
CN106464873B (zh) | 处理视频数据的方法和装置 | |
CN106105200B (zh) | 基于调色板的视频译码 | |
CN106464877A (zh) | 在视频译码中确定将解块滤波应用于经调色板译码块 | |
CN107710765A (zh) | 分组用于视频译码的调色盘旁通槽 | |
CN107409215A (zh) | 用于视频译码的调色板模式译码 | |
CN108605141A (zh) | 用于紧凑多遍变换的高效参数存储 | |
CN108605142A (zh) | 用于视频译码的多遍不可分开的变换 | |
CN107211144A (zh) | 用于预测残差的增强型多重变换 | |
CN107211148A (zh) | 在视频译码中调色板块大小的限制 | |
CN107113436A (zh) | 用于次取样格式的调色模式 | |
CN108464001A (zh) | 用于视频译码的多类型树框架 | |
CN110100439A (zh) | 用于视频译码的帧内预测技术 | |
CN106797484A (zh) | 用于基于调色板的视频译码的调色板索引二进制化 | |
CN106471809A (zh) | 视频译码中的单一色彩调色板模式 | |
CN106464871A (zh) | 在基于调色板的视频译码中对具有逸出的行程进行译码 | |
CN107750455A (zh) | 帧内预测及帧内模式译码 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170524 |
|
WD01 | Invention patent application deemed withdrawn after publication |