CN107211139B - 用于译码视频数据的方法、装置和计算机可读存储媒体 - Google Patents

用于译码视频数据的方法、装置和计算机可读存储媒体 Download PDF

Info

Publication number
CN107211139B
CN107211139B CN201680007093.8A CN201680007093A CN107211139B CN 107211139 B CN107211139 B CN 107211139B CN 201680007093 A CN201680007093 A CN 201680007093A CN 107211139 B CN107211139 B CN 107211139B
Authority
CN
China
Prior art keywords
value
palette
video
exponential golomb
escape
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.)
Active
Application number
CN201680007093.8A
Other languages
English (en)
Other versions
CN107211139A (zh
Inventor
邹锋
瑞珍·雷克斯曼·乔许
马尔塔·卡切维奇
瓦迪姆·谢廖金
濮伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107211139A publication Critical patent/CN107211139A/zh
Application granted granted Critical
Publication of CN107211139B publication Critical patent/CN107211139B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4068Parameterized codes
    • H03M7/4075Golomb codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

在一个实例中,一种装置包含经配置以存储视频数据的存储器及经配置以解码表示视频数据的调色板模式译码块的转义像素的值的至少一部分的指数哥伦布码字的视频解码器,所述视频解码器经配置以使用具有参数3的指数哥伦布解码来解码所述指数哥伦布码字,且使用所述转义像素的所述值来解码所述块。

Description

用于译码视频数据的方法、装置和计算机可读存储媒体
本申请要求2015年1月30日申请的第62/110,395号美国临时申请及2015年2月2日申请的第62/110,995号美国临时申请的权益,所述申请的全部内容特此以引用的方式并入。
技术领域
本发明涉及编码及解码视频数据的块。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上或台式计算机、平板计算机、电子书阅读器、数字摄影机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电电话(所谓的“智能手机”)、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置实施视频压缩技术,例如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、ITU-T H.265(还被称作高效视频译码(HEVC))所定义的标准及这些标准的扩展中所描述的那些视频压缩技术。视频装置可通过实施这些视频压缩技术而更高效地传输、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。针对基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块。使用关于同一图片中的相邻块中的参考样本的空间预测来编码图片的经帧内译码(I)切片中的视频块。图片的经帧间译码(P或B)切片中的视频块可使用关于同一图片中的相邻块中的参考样本的空间预测或关于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测产生用于待译码块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量编码经帧间译码块,且残余数据指示经译码块与预测性块之间的差。根据帧内译码模式及残余数据编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生可接着经量化的残余系数。最初布置于二维阵列中的经量化系数可经扫描以便产生系数的一维向量,且熵译码可经应用以实现甚至更多压缩。
可通过(例如)从多个视角编码视图而产生多视图译码位流。已发展利用多视图译码方面的一些三维(3D)视频标准。举例来说,不同视图可传输左眼及右眼视图以支持3D视频。或者,一些3D视频译码过程可应用所谓的多视图加深度译码。在多视图加深度译码中,3D视频位流可不仅含有纹理视图分量,且还含有深度视图分量。举例来说,每一视图可包括一个纹理视图分量及一个深度视图分量。
发明内容
一般来说,本发明描述与使用调色板模式译码视频数据相关的技术。更确切地说,本发明的技术涉及译码调色板模式译码块中的转义像素。举例来说,本发明描述用于基于确定最大经量化转义像素值而使用截断码字译码转义像素的技术。本发明还描述用于确定最大经量化转义像素值的各种技术。此外,本发明描述用于分两个部分译码转义像素值的技术,例如,使用哥伦布莱斯译码来译码第一部分且使用具有参数3的指数哥伦布译码来译码第二部分。
在一个实例中,一种解码视频数据的方法包含解码表示视频数据的调色板模式译码块的转义像素值的至少一部分的指数哥伦布码字,其中解码指数哥伦布码字包括使用具有参数3的指数哥伦布解码来解码指数哥伦布码字,及使用转义像素值来解码块。
在另一实例中,一种用于解码视频数据的装置包含:经配置以存储视频数据的存储器,及经配置以解码表示视频数据的调色板模式译码块的转义像素值的至少一部分的指数哥伦布码字的视频解码器,其中视频解码器经配置以使用具有参数3的指数哥伦布解码来解码指数哥伦布码字,且使用转义像素值来解码块。
在另一实例中,一种用于解码视频数据的装置包含用于解码表示视频数据的调色板模式译码块的转义像素值的至少一部分的指数哥伦布码字的装置,其中用于解码指数哥伦布码字的装置包括用于使用具有参数3的指数哥伦布解码来解码指数哥伦布码字的装置,及用于使用转义像素值来解码块的装置。
在另一实例中,一种计算机可读存储媒体上存储有指令,所述指令在经执行时致使一或多个处理器解码表示视频数据的调色板模式译码块的转义像素值的至少一部分的指数哥伦布码字,其中致使处理器解码指数哥伦布码字的指令包括致使处理器使用具有参数3的指数哥伦布解码来解码指数哥伦布码字且使用转义像素值来解码块的指令。
在另一实例中,一种编码视频数据的方法包含确定视频数据的调色板模式译码块的转义像素值,及编码表示转义像素值的至少一部分的指数哥伦布码字,其中编码指数哥伦布码字包括使用具有参数3的指数哥伦布编码来编码指数哥伦布。
在另一实例中,一种用于编码视频数据的装置包含:经配置以存储视频数据的存储器,及经配置以确定视频数据的调色板模式译码块的转义像素值且编码表示转义像素值的至少一部分的指数哥伦布码字的视频编码器,其中视频编码器经配置以使用具有参数3的指数哥伦布编码来编码指数哥伦布码字。
在另一实例中,一种用于编码视频数据的装置包含用于确定视频数据的调色板模式译码块的转义像素值的装置,及用于编码表示转义像素值的至少一部分的指数哥伦布码字的装置,其中用于编码指数哥伦布码字的装置包括用于使用具有参数3的指数哥伦布编码来编码指数哥伦布码字的装置。
在另一实例中,一种计算机可读存储媒体上存储有指令,所述指令在经执行时致使一或多个处理器确定视频数据的调色板模式译码块的转义像素值,且编码表示转义像素值的至少一部分的指数哥伦布码字,其中致使处理器编码指数哥伦布码字的指令包括致使处理器使用具有参数3的指数哥伦布编码来编码指数哥伦布码字的指令。
在以下附图及描述中阐述一或多个实例的细节。其它特征、目标及优点将从所述描述及图式以及权利要求书显而易见。
附图说明
图1为说明可利用本发明中所描述的技术的实例视频译码系统的框图。
图2为说明可实施本发明中所描述的技术的实例视频编码器的框图。
图3为说明可实施本发明中所描述的技术的实例视频解码器的框图。
图4为说明用于根据本发明的技术编码视频数据的块的实例方法的流程图。
图5为说明用于根据本发明的技术编码视频数据的块的另一实例方法的流程图。
图6为说明用于根据本发明的技术解码视频数据的块的实例方法的流程图。
图7为说明用于根据本发明的技术解码视频数据的块的另一实例方法的流程图。
具体实施方式
本发明提供针对用于调色板译码的转义像素译码(且更具体来说,针对导出最大经量化转义像素值)的技术。在一些实例中,本发明中所提出的技术可去除或消除使用编码器相依参数及/或除法运算来导出最大经量化转义像素值的一或多个计算。在一些实例中,本发明提供新型码字,其可独立于最大经量化转义像素值而被设计。
在一些实例中,本发明的技术可不使用编码器相依参数在解码器处导出最大经量化转义像素值。实情为,本发明的技术可仅在参数导出中使用量化步长。此外,在一些实例中,本发明的技术可在导出最大经量化转义像素值期间使用加法及比较而非除法运算。
在一些实例中,本发明的技术可使用编码器参数以在解码器处导出最大经量化转义值。因此,本发明的技术可在解码器侧的查找表中存储编码器相关参数。此外,本发明的技术可使用循环或移位运算来导出用以表示经量化转义值的位的最大数目。
在一些实例中,本发明的技术可使用编码器参数来导出最大经量化转义值而无需剪辑及除法运算。因此,本发明的技术可在解码器侧的查找表中存储编码器相关参数。如本发明中进一步描述,在一些实例中,本发明的技术可使用量化参数qP及色彩分量bitDepth导出最大经量化转义像素值。具体来说,本发明的技术可使用查找表用qP及bitDepth获得cMax值。
在传统视频译码中,图像被假定为连续色调且在空间上平滑。基于这些假定,已发展各种工具,例如基于块的变换、滤波等,且这些工具已展示针对自然内容视频的良好性能。然而,在如远程台式、合作工作及无线显示器的应用中,计算机所产生的屏幕内容(例如,文本或计算机图形)可为待压缩的主要内容。此类型的内容趋向于具有离散色调,且以界限清楚的线及高对比度物件边界为特征。连续色调及平滑度的假定可不再适用于屏幕内容,且因此,传统视频译码技术可不为压缩包含屏幕内容的视频数据的高效方式。
本发明描述基于调色板的译码,其可尤其适合于屏幕所产生的内容的译码。举例来说,假定视频数据的特定区域具有相对较少数目的色彩,那么视频译码器(例如,视频编码器或视频解码器)可形成所谓的“调色板”以表示所述特定区域的视频数据。可将调色板表达为表示特定区域(例如,给定块)的视频数据的色彩或像素值的表格。举例来说,调色板可包含给定块中的最主要像素值。在一些情况下,最主要像素值可包含在块内最频繁出现的一或多个像素值。另外,在一些情况下,视频译码器可应用阈值以确定是否应将像素值包含为块中的最主要像素值中的一者。根据基于调色板的译码的各种方面,视频译码器可译码指示当前块的像素值中的一或多者的索引值,而非译码视频数据的当前块的实际像素值或其残值。在基于调色板的译码的上下文中,索引值指示调色板中被用于表示当前块的个别像素值的相应条目。
举例来说,视频编码器可通过以下操作来编码视频数据的块:确定块的调色板(例如,明确地译码调色板,预测调色板,或其组合),定位调色板中的条目以表示像素值中的一或多者,且通过指示调色板中用于表示块的像素值的条目的索引值来编码块。在一些实例中,视频编码器可在经编码位流中传信调色板及/或索引值。视频解码器又可从经编码位流获得块的调色板,以及所述块的个别像素的索引值。视频解码器可使像素的索引值与调色板的条目相关以重建构块的各种像素值。
更确切地说,使用调色板模式译码的块的像素可使用“索引”模式(其中使用对调色板的参考来译码像素)或从上方复制模式(其中使用对上方相邻像素的参考来译码像素)来译码。第三选项为将像素译码为转义像素。在此情况下,直接传信像素的值(或像素的经量化值)。
根据本发明的技术,视频译码器(例如,视频编码器及视频解码器)可经配置以使用熵译码模式的组合熵译码转义像素的经量化值。确切地说,在一个实例中,视频译码器使用哥伦布莱斯译码来译码转义像素的经量化值的第一部分,且使用具有参数3的指数哥伦布来译码所述经量化值的第二部分。针对许多语法元素,具有参数3的指数哥伦布已产生相对不良的性能,但在使用具有参数3的指数哥伦布来熵译码转义像素的经量化值时,启发式测试已意外地展现高性能。
因此,视频编码器可首先确定使用调色板模式来编码像素的块(例如,译码单元(CU)或预测单元(PU))。视频编码器可分析像素以形成块的调色板,且随后扫描像素以确定针对每一像素的基于像素的译码模式。举例来说,视频编码器可在像素值包含于调色板中的情况下选择像素的索引模式,在像素具有等于上方相邻像素的值的情况下选择从上方复制模式,或在像素不在调色板中且也不可从上方复制的情况下选择转义模式。当视频编码器确定要使用转义模式来译码像素时,视频编码器可将像素值熵编码为第一部分及第二部分,其中第一部分与第二部分在经级联时表示像素的全值。确切地说,视频编码器可使用哥伦布莱斯译码来编码第一部分且使用具有参数3的指数哥伦布来编码第二部分。另外,视频编码器可通过传信等于块的调色板的大小的索引值来传信使用转义模式译码的像素。视频编码器还可(例如,将先前经译码块的调色板用作参考调色板)编码块的调色板。
同样,视频解码器可接收块的经编码数据。经编码数据可包含指示使用调色板模式预测块的数据、表示调色板(例如,调色板的经编码版本)的数据及表示块的像素中的每一者的值及编码模式的数据。此外,针对每一转义模式经编码像素,视频解码器可使用哥伦布莱斯译码来熵解码像素值的第一部分且使用具有参数3的指数哥伦布来熵解码所述值的第二部分,且随后级联第一与第二部分以再生像素值。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也称为ISO/IECMPEG-4AVC),包含其可分级视频译码(SVC)及多视图视频译码(MVC)扩展。
最近,已由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)完成新的视频译码标准(即,高效率视频译码(HEVC))的设计。在下文中被称作HEVC版本1的最新HEVC规范描述于ITU-T H.265中,可获自http://www.itu.int/rec/T-REC-H.265-201304-I。对HEVC的范围扩展(即,HEVC-Rext)也正由JCT-VC发展。范围扩展的最近工作草案(WD)(在下文中被称作RExt WD7)可从phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1005-v4.zip获得。
最近,JCT-VC已开始发展屏幕内容译码(SCC),其基于HEVC-Rext,且某些主要技术正在考虑中。可在hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-16.2+SCM-3.0处发现描述HEVC屏幕内容译码的草案文献(R.Joshi,J.Xu,“HEVC Screen ContentCoding Draft Text 2”,JCTVC-S1005)。
在一些实例中,基于调色板的译码技术可经配置以用于HEVC标准或HEVC SCC标准的一或多个译码模式。在其它实例中,可独立地或作为其它现有或将来系统或标准的部分而使用基于调色板的译码技术。在一些实例中,用于视频数据的基于调色板的译码的技术可与一或多个其它译码技术(例如,用于视频数据的帧间预测性译码或帧内预测性译码的技术)一起使用。举例来说,如下文将较详细描述,编码器或解码器或经组合的编码器解码器(编解码器)可经配置以执行帧间及帧内预测性译码,以及基于调色板的译码。
关于HEVC框架,作为实例,基于调色板的译码技术可经配置以用作译码单元(CU)模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC的框架中的预测单元(PU)模式。因此,在CU模式的上下文中描述的所有以下所揭示的过程可另外或替代地适用于PU。然而,这些基于HEVC的实例不应被视为约束或限制本文中所描述的基于调色板的译码技术,因为这些技术可经应用以独立地或作为其它现有或尚待发展的系统/标准的部分而工作。在这些情况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状的区。
基于调色板的译码的基本想法为,针对每一译码单元(CU),导出包括当前CU中的最主要像素值(且可由其构成)的调色板。将调色板的大小及元素首先从视频编码器传输到视频解码器。调色板的大小及/或元素可直接译码或使用相邻CU(例如,上方及/或左方的经译码CU)中的调色板的大小及/或元素来预测性地译码。此后,根据特定扫描次序基于调色板来编码CU中的像素值。针对CU中的每一像素位置,首先传输旗标(例如,palette_flag)以指示像素值是否包含于调色板中。对于映射到调色板中的条目的那些像素值,针对CU中的给定像素位置传信与所述条目相关联的调色板索引。对于调色板中并不存在的那些像素值,可将特殊索引指派给像素且针对CU中的给定像素位置传输实际像素值。这些像素被称作“转义像素”。可使用任何现有熵译码方法(例如,固定长度译码、一元译码等)来译码转义像素。
本发明描述用以支持视频内容(尤其具有调色板译码的屏幕内容)的译码的方法。所提出的方法主要涉及用于调色板模式译码的转义像素译码。
基于屏幕内容视频的特性,引入调色板译码以改进JCTVC-M0323中所描述的SCC效率。具体来说,基于在SCC中一个CU内的色彩通常集中于几个峰值的事实,调色板译码引入查找表(即,调色板)来压缩重复的像素值。针对特定CU给定调色板的情况下,CU内的像素被映射到调色板索引。在第二阶段中,提出有效的从左执行长度复制方法以有效地压缩索引块的重复型样。随后,在2013年7月25日到8月2日在奥地利维也纳举行的ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29/WG 11的JCT-VC,JCTVC-N0249第14次会议中的Guo等人的“Non-RCE3:Modified Palette Mode for Screen Content Coding”中,将调色板索引译码模式概括为从左方复制且从上方复制执行长度译码。应注意,对于调色板译码不调用变换过程以避免使界限清楚的边缘模糊,此模糊可能对屏幕内容的视觉质量具有负面影响。
调色板为存储(索引,像素值)对的数据结构。可在编码器处决定经设计的调色板(例如,通过视频数据的当前块(例如,当前CU)中的像素值的直方图)。举例来说,将直方图中的峰值添加到调色板中,而低频像素值并不包含于调色板中。调色板大小可受限于0到max_palette_size的范围内,max_palette_size可等于31。
针对SCC,一个切片内的CU块可共享许多主要色彩。因此,使用先前调色板模式CU的调色板(按CU解码次序)作为参考而预测当前块的调色板是可能的。具体来说,可传信0-1二进制向量以指示当前调色板是否再使用参考调色板中的像素值。作为实例,在下文的表1及2中,假定参考调色板具有6个项目。对于当前调色板传信向量(1,0,1,1,1,1),所述向量指示在当前调色板中再使用v0,v2,v3,v4及v5而不再使用v1。如果当前调色板含有不可从参考调色板预测的色彩,那么译码未经预测的色彩的数目且随后直接传信这些色彩。举例来说,在表1及2中,直接将u0及u1传信到位流中。
表1-参考调色板
索引 像素值
0 V<sub>0</sub>
1 V<sub>1</sub>
2 V<sub>2</sub>
3 V<sub>3</sub>
4 V<sub>4</sub>
5 V<sub>5</sub>
表2-当前调色板
预测旗标 索引 像素值
1 0 V<sub>0</sub>
0
1 1 V<sub>2</sub>
1 2 V<sub>3</sub>
1 3 V<sub>4</sub>
4 V<sub>5</sub>
5 U<sub>0</sub>
6 U<sub>1</sub>
针对通过调色板模式译码的块,可从先前经调色板译码块的调色板条目预测调色板,调色板可被明确地传信为新条目,或可完全再使用先前经译码块的调色板。后一情况被称为调色板共享,且传信旗标palette_share_flag以指示按原样再使用先前块的整个调色板而不作修改。在上文的表1及2中展示参考调色板及当前调色板的实例。确切地说,表1说明实例参考调色板,且表2说明可从表1的参考调色板预测的实例当前调色板。
在当前SCM3.0参考软件中,从规范性视角,调色板译码的两个主要方面为调色板的译码及正以调色板模式译码的块中的每一样本的调色板索引的译码。使用两个主要模式(‘索引’模式及‘复制上方’模式)来执行调色板索引的译码。通过译码palette_mode旗标来传信此模式。‘索引’模式还用于指示转义像素,即,不属于调色板的样本。在当前设计中,‘复制上方’模式对于调色板块的第一行是不可能的。另外,‘复制上方’模式不可在另一‘复制上方’模式之后。在这些情况下,意味着‘索引’模式。
具体来说,针对调色板模式,按水平/垂直蛇型扫描次序如下编码CU中的像素:
1.“索引”模式:在此模式中,首先传信一个调色板索引。如果索引等于调色板的大小,那么此指示样本为转义样本。在此情况下,传信针对每一分量的样本值或经量化样本值。举例来说,如果调色板大小为4,那么对于非转义样本,调色板索引在[0,3]范围内。在此情况下,索引值4表示转义样本。如果索引指示非转义样本,那么通过指示执行长度的非负值n-1传信执行长度,执行长度指定按扫描次序的共享相同索引之后续样本的数目,这意味着包含当前像素的以下n个像素具有与第一个被传信的调色板索引相同的像素索引。
2.“从上方复制”执行模式(CA):在此模式中,仅传输非负执行长度值m-1以指示针对包含当前像素的以下m个像素,调色板索引分别与像素正上方的相邻者相同。应注意,此模式不同于“索引”模式,因为在从上方复制执行模式内调色板索引可不同。
尽管在当前设计中,在CU层级传信调色板模式,但在PU层级传信调色板模式可为可能的。还传信旗标palette_esc_val_present_flag以指示当前块中的转义样本的存在。
在调色板模式中,块中的像素扫描可为两个类型:垂直移动扫描或水平移动(蛇形)扫描。根据对于每块单元传信的旗标palette_transpose_flag导出块中所使用的扫描型样。
在调色板索引译码期间,可应用调色板索引调整过程。从块中的第二像素开始,其由检查先前经译码像素的调色板模式组成。首先,将调色板大小减小1,且如果左模式等于执行模式,如果索引大于左调色板索引,那么接着将待译码的调色板索引减小1;或如果左模式为复制模式,如果索引大于上方的调色板索引,那么接着将待译码的调色板索引减小1。从编码侧提供描述,且在解码器侧处还可按相反次序执行对应过程。
在SCM-3.0中,采用以下语法优化:
·如果调色板大小为0,那么导出所有转义像素,且不传信转义出现旗标、调色板模式、调色板索引、调色板执行及调色板转置旗标,且推断转义存在旗标等于1,推断调色板模式等于索引模式,将调色板索引设置为等于ESCAPE,将调色板执行值设置为等于块大小,且将调色板转置旗标设置为0。
·如果调色板大小为1且在块中不使用转义像素,那么不传信调色板模式、调色板执行或调色板转置旗标,且将调色板模式导出为等于索引模式,将调色板索引设置为0,将调色板执行值设置为等于块大小,且将调色板转置旗标设置为0。
在SCM3.0中,将截断二进制(TB)码字用于传信经量化转义像素。此码字可被称作palette_escape_val语法元素。为使用截断二进制,需要可能值的总数目。举例来说,如果将截断二进制码字用于表示一组N个可能值{0,1,2,3,…,N-1},那么将N用于建构截断二进制码字(其中N-1为最大值)。等效地,当已知最大值(此实例中的N-1(假定始于0))时,可以相同方式建构对应截断二进制码字。为得到最大经量化转义值,SCM3.0中使用以下程序:
1.量化参数qP被如下导出:
qP=(cIdx==0)?Qp'Y:((cIdx==1)?Qp'Cb:Qp'Cr)
2.基于HEVC量化查找表如下导出量化缩放因数quantScale、右移偏移rightShiftOffset及右移参数rightShiftParam:
quantScale=g_quantScales[qP%6],其中g_quantScales={26214,23302,20560,18396,16384,14564}
Figure GDA0002361965990000102
rightShiftOffset=1<<(rightShiftParam-1)
3.量化步长参数qStep被如下导出:
qStep=(qP==0)?Round(2(qP-4)/6):1
4.最大可能经量化值maxValue被如下导出:
maxValue=((1<<bitDepth)-1)/Qstep
5.用以表示maxValue的二进制的数目numBins被如下导出
Figure GDA0002361965990000101
6.截断二进制码字的最大参数cMax被如下导出
cMax=clip3(0,2numBins,((1<<bitDepth)-1)×quantScale+rightShiftOffset)
>>rightShiftParam)
当前转义像素设计存在至少两个可能的问题。
第一,在解码器侧处,量化缩放因数、右移偏移及右移参数不可用,这是因为这些参数为典型编码器参数且不由解码器标准化。不同的编码器可具有不同的缩放因数、右移参数及偏移,且因此其可导致在不同的编码器与解码器之间使用不一致参数的cMax计算不正确。
第二,maxValue的导出涉及除法运算,此对于解码器为不当的。确切地说,不同的解码器对除法运算具有不同的精确度或解译,且因此在不同的解码器平台中可具有不同的maxValue计算。因此,maxValue的不一致计算可致使编码器/解码器失配。
本发明描述了可提供这些及其它问题的解决方案的各种技术。本发明的各种技术包含去除使用编码器相依参数的计算及/或去除除法运算。
另外或替代地,可设计独立于最大值的新型码字。
在一个实例中,编码器相依参数不用于在解码器处导出最大经量化转义像素值。实情为,在参数导出中仅使用量化步长。此外,在最大经量化转义像素值的导出期间使用加法及比较而非除法运算。提出以下程序以导出最大经量化转义像素值:
1.基于色彩分量导出量化参数qP。不同的色彩分量可具有不同的量化参数。以下为得到可不同或可相同的分别针对分量Y、Cb及Cr的Qp'Y、Qp'Cb或Qp'Cr的实例。
qP=(cIdx==0)?Qp'Y:((cIdx==1)?Qp'Cb:Qp'Cr) (1)
2.使用以量化参数qP作为输入的公式导出量化步长参数qStep。以下公式为实例,其中Round(.)为舍入运算符。应注意,其并不仅限于Round(.)。实际上,其还可由其它运算符替换,例如,底限运算符
Figure GDA0002361965990000113
或上限运算符
Figure GDA0002361965990000114
qStep=(qP==0)?Round(2(qP-4)/6):1 (2)
3.给定量化之前的最大像素值及qStep,使用如下循环导出最大可能经量化值cMax(经初始化为0)(qStepTemp经初始化为qStep):
Figure GDA0002361965990000111
且随后将cMax用于建构截断二进制码字以译码当前译码单元的经量化转义像素。应注意,所有经量化转义像素被约束于[0,cMax]范围(包含端点)内。
替代性地,在步骤3中,可使用准确度较低的如下移位运算来导出cMax(经初始化为1):
Figure GDA0002361965990000112
在另一实例中,编码器参数(例如,量化缩放值(quantScale)、右移偏移值(rightShiftOffset)及右移参数(rightShiftParam)值)可用于在解码器处导出最大经量化转义值。因此,编码器相依参数可存储于解码器侧的查找表中。此外,循环或移位运算可用于导出用以表示经量化转义值的位的最大数目。以下程序可用于导出最大经量化转义像素值:
1.基于色彩分量导出量化参数qP。不同的色彩分量可具有不同的量化参数。以下为得到可不同或可相同的分别针对分量Y、Cb及Cr的Qp'Y、Qp'Cb或Qp'Cr的实例:
qP=(cIdx==0)?Qp'Y:((cIdx==1)?Qp'Cb:Qp'Cr)
2.基于存储于解码器处的查找表导出量化缩放因数quantScale、右移偏移rightShiftOffset及右移参数rightShiftParam,例如:
quantScale=g_quantScales[qP%6],其中g_quantScales={26214,23302,20560,18396,16384,14564}
Figure GDA0002361965990000123
rightShiftOffset=1<<(rightShiftParam-1)
3.使用以量化参数qP作为输入的公式导出量化步长参数qStep。以下公式为导出qStep的实例,其中Round(.)为舍入运算符。应注意,其并不仅限于Round(.)。实际上,其还可由其它运算符替换,例如,底限运算符
Figure GDA0002361965990000124
或上限运算符
Figure GDA0002361965990000125
qStep=(qP==0)?Round(2(qP-4)/6):1
4.最大可能经量化值maxValue(经初始化为0)被如下导出(qStepTemp经初始化为qStep):
Figure GDA0002361965990000121
5.用以表示maxValue的二进制的数目numBins被如下导出
Figure GDA0002361965990000122
6.截断二进制码字的最大参数cMax被如下导出
cMax=clip3(0,2numBins,((1<<bitDepth)-1)×quantScale+rightShiftOffset)
>>rightShiftParam) (7)
应注意,在此情况下,经量化转义像素被约束于[0,cMax]范围(包含端点)内。
在另一实例中,编码器参数可用于在不执行剪辑及/或除法运算的情况下导出最大经量化转义值。因此,编码器相关参数需要存储于解码器侧的查找表中。以下程序可用于导出最大经量化转义像素值:
1.基于色彩分量导出量化参数qP。不同的色彩分量可具有不同的量化参数。以下为得到可不同或可相同的分别针对分量Y、Cb及Cr的Qp'Y、Qp'Cb或Qp'Cr的实例:
qP=(cIdx==0)?Qp'Y:((cIdx==1)?Qp'Cb:Qp'Cr)
2.基于存储于解码器处的查找表导出量化缩放因数quantScale、右移偏移rightShiftOffset及右移参数rightShiftParam,例如:
quantScale=g_quantScales[qP%6],其中g_quantScales={26214,23302,20560,18396,16384,14564}
Figure GDA0002361965990000131
rightShiftOffset=1<<(rightShiftParam-1)
3.截断二进制码字的最大参数cMax被如下导出
cMax=((1<<bitDepth)-1)×quantScale+rightShiftOffset)>>
rightShiftParam (8)
应注意,在此情况下,经量化转义像素被约束于[0,cMax]范围(包含端点)内。
在另一实例中,可使用量化参数qP及色彩分量bitDepth连同查找表导出最大经量化转义像素值。具体来说,可使用查找表用qP及bitDepth获得cMax。以下为cMax导出的实例
1.基于色彩分量导出量化参数qP。不同的色彩分量可具有不同的量化参数。以下为得到可不同或可相同的分别针对分量Y、Cb及Cr的Qp'Y、Qp'Cb或Qp'Cr的实例。
qP=(cIdx==0)?Qp'Y:((cIdx==1)?Qp'Cb:Qp'Cr)
2.通过给定bitDepth导出基本量化参数baseQp:
baseQp=qP-6*(bitDepth-8)
3.如果baseQp等于或大于0,那么可在baseQp作为条目的情况下经由查找表发现cMax
4.否则,(baseQp为负值),且cMax可被如下导出:
cMax=Table[qP]>>(bitDepth-8) (9)
表3.cMax查找表的实例
qP 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
cMax 405 361 321 286 255 227 202 180 161 143 128 114 101 90 80
qP 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
cMax 72 64 57 51 45 40 36 32 28 25 23 20 18 16 14
qP 30 31 32 32 34 35 36 37 38 39 40 41 42 43 44
cMax 13 11 10 9 8 7 6 6 5 4 4 4 3 3 3
qP 45 46 47 48 49 50 51
cMax 2 2 2 2 1 1 1
表4.cMax查找表的另一实例
qP 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
cMax 255 255 255 255 255 227 202 180 161 143 128 114 101 90 80
qP 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
cMax 72 64 57 51 45 40 36 32 28 25 23 20 18 16 14
qP 30 31 32 32 34 35 36 37 38 39 40 41 42 43 44
cMax 13 11 10 9 8 7 6 6 5 4 4 4 3 3 3
qP 45 46 47 48 49 50 51
cMax 2 2 2 2 1 1 1
在一些实例中,例如编码器或解码器的译码系统可取决于实例而联合或单独地基于位深度及量化参数使用基于方程式的公式导出最大值。以下程序为联合地考虑位深度及量化参数的一个实例:
基于色彩分量导出量化参数qP。不同的色彩分量可具有不同的量化参数。以下为得到可不同或可相同的分别针对分量Y、Cb及Cr的Qp'Y、Qp'Cb或Qp'Cr的实例:
qP=(cIdx==0)?Qp'Y:((cIdx==1)?Qp'Cb:Qp'Cr)
量化基本参数qPBase是在编码器及解码器两者处预定义,或以不同层级(例如,SPS、PPS、切片层级等)传信;或联合或单独地基于每一qP值及位深度自适应性地导出。以下为使用qPBase的固定数目的实例:
qPBase=4 (10)
使用方程式或基于存储于编码器及解码器两者处的查找表如下导出量化位缩减因数quantBits。应注意,本文中调用的运算并不限于如以下方程式中所展示的底限运算
Figure GDA0002361965990000141
可使用上限运算
Figure GDA0002361965990000142
而非底限运算。
Figure GDA0002361965990000143
可基于位深度及quantBits导出最大位参数maxBit,且以下为实例:
maxBit=bitDepth-quantBits (12)
截断二进制码字(或需要计算可能最大值的其它码字,例如,固定长度码字)的最大参数cMax被如下导出
cMax=(1<<maxBit)-1 (13)
应注意,在此情况下,经量化转义像素被约束于[0,cMax]范围(包含端点)内。
还应注意,以上实例涉及当前调色板模式以有损模式操作时的情况。在当前调色板模式以无损模式操作时,最大参数cMax可保持不变,如在当前SCM3.0中呈cMax=((1<<bitDepth)-1)的形式。
此外,上文所论述的各种实例适用于可变长度码字。如果将固定长度码字用于译码经量化转义像素,那么如以上实例中的类似程序可用于导出最大经量化转义像素值。且随后循环可用于确定用以呈现最大经量化转义像素值的位的数目。
本发明还描述可用于设计独立于最大值约束的码字的技术。可单独或与上文所论述的各种实例组合地使用这些技术。确切地说,可在经量化转义像素译码期间使用无最大值约束的码字。在一个实例中,使用哥伦布莱斯与指数哥伦布码字的级联来译码经量化转义像素。或者,在译码经量化转义像素期间本文中还可应用一元码或哥伦布家族码字或其组合。举例来说,编码器或解码器可使用具有莱斯参数K的哥伦布莱斯及/或具有参数L的指数哥伦布,其中K及L可为任何整数数目0,1,2,3……。参数(L,K)的值可取决于位深度。对于8位输入信号,经量化转义像素可被约束为15位精确度(加正负号),而精确度可保持为最大值(15,bitDepth+6)。举例来说,哥伦布莱斯译码可用于译码转义像素值的第一部分,且具有参数3的指数哥伦布可用于译码转义像素值的第二部分。
在具有参数L译码的指数哥伦布译码中,将待译码的值除以2L。使用0阶指数哥伦布码字来译码此除法的结果,且以二进制译码余数(即,值模2L)。因此,参数L影响包含于余数中的位的数目。应理解,相同值在使用参数L的不同值来译码时可产生具有不同长度的指数哥伦布码字。此外,在一些情况下,对于同一待译码值,参数L的较大值可比参数L的较小值产生待译码值的更短码字。
尽管描述为独立于最大值约束,但用于使用哥伦布莱斯与具有参数3的指数哥伦布的组合译码转义像素值的技术可与上文所论述的用于确定最大经量化转义像素值的其它技术中的任一者组合使用。举例来说,可仍截断转义像素值(例如,可去除一个位)。作为一个实例,如上文所论述,可基于经确定的最大经量化转义像素值截断转义像素值的第二部分(即,如上文所论述的使用具有参数3的指数哥伦布来译码的部分)。
本发明描述导出最大经量化转义像素值的方法。根据本发明的技术,视频编码器及/或视频解码器可确定指示多个像素的块;至少部分地基于量化参数确定最大经量化转义像素值;且使用最大经量化转义像素值译码块。
举例来说,本发明的技术可不使用编码器相依参数在解码器处导出最大经量化转义像素值。实情为,本发明的技术可在参数导出中仅使用量化步长。此外,在一些实例中,本发明的技术可在导出最大经量化转义像素值期间使用加法及比较而非除法运算。
作为另一实例,本发明的技术可使用编码器参数以在解码器处导出最大经量化转义值。因此,本发明的技术可在解码器侧的查找表中存储编码器相关参数。此外,本发明的技术可使用循环或移位运算来导出用以表示经量化转义值的位的最大数目。
在一些实例中,本发明的技术可使用编码器参数来导出最大经量化转义值而无需剪辑及除法运算。因此,本发明的技术可在解码器侧的查找表中存储编码器相关参数。如本发明中所进一步描述,在一些实例中,本发明的技术可使用量化参数qP及色彩分量bitDepth导出最大经量化转义像素值。具体来说,本发明的技术可使用查找表用qP及bitDepth获得cMax值。
图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可包括广泛范围的装置,包含台式计算机、移动计算装置、笔记本(例如,膝上)计算机、平板计算机、机顶盒、例如所谓的“智能”手机的电话手机、电视机、摄影机、显示装置、数字媒体播放器、视频游戏主机、车载计算机或其类似者。
目的地装置14可经由信道16从源装置12接收经编码视频数据。信道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一或多个媒体或装置。在一个实例中,信道16可包括使源装置12能够实时地将经编码视频数据直接传输到目的地装置14的一或多个通信媒体。在此实例中,源装置12可根据例如无线通信协议的通信标准调制经编码视频数据,且可将经调制视频数据传输到目的地装置14。一或多个通信媒体可包含无线及/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。一或多个通信媒体可形成基于数据包的网络(例如,局域网、广域网或全球网(例如,因特网))的部分。一或多个通信媒体可包含路由器、交换器、基站或促进从源装置12到目的地装置14的通信的其它设备。
在另一实例中,信道16可包含存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可经由磁盘存取或卡存取而存取存储媒体。存储媒体可包含多种本地存取的数据存储媒体,例如蓝光(Blu-ray)光盘、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。术语“传信”或“传输”可大体上指用以解码经压缩视频数据的语法元素及/或其它数据的通信。此通信可实时或近乎实时地发生。替代地,可历时时间跨度发生此通信,例如可在当编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,接着,所述语法元素在存储到此媒体之后可由解码装置在任何时间检索。因此,虽然视频解码器30可被称作“接收”某些信息,但信息的接收未必实时或近乎实时地发生且可在存储之后的某一时间处从媒体检索。
视频编码器20及视频解码器30各从可实施为多种合适电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果在软件中部分地实施技术,那么装置可将用于软件的指令存储于合适的非暂时性计算机可读存储媒体中,且可在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。可将前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者视为一或多个处理器。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,编码器或解码器中的任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。
在一些实例中,视频编码器20及视频解码器30根据视频压缩标准(例如,上文所提及且HEVC草案10中所描述的HEVC标准)操作。除基本HEVC标准以外,正不断努力产生HEVC的可分级视频译码、多视图视频译码及3D译码扩展。另外,可提供(例如)如本发明中所描述的基于调色板的译码模式以用于HEVC标准的扩展。在一些实例中,本发明中针对基于调色板的译码而描述的技术可应用于经配置以根据其它视频译码标准(例如,ITU-T-H.264/AVC标准或未来标准)操作的编码器及解码器。因此,HEVC编解码器中用于译码单元(CU)或预测单元(PU)的译码的基于调色板的译码模式的应用是出于实例的目的而描述。
在HEVC及其它视频译码标准中,视频序列通常包含一系列图片。图片还可被称作“帧”。图片可包含三个样本阵列,表示为SL、SCb及SCr。SL为明度样本的二维阵列(即,块)。SCb为Cb色度样本的二维阵列。SCr为Cr色度样本的二维阵列。色度样本在本文中还可被称作“色度”样本。在其它情况下,图片可为单色的,且可仅包含明度样本阵列。
为了产生图片的经编码表示,视频编码器20可产生一组译码树型单元(CTU)。CTU中的每一者可为明度样本的译码树型块、色度样本的两个对应译码树型块及用于译码译码树型块的样本的语法结构。译码树型块可为样本的N×N块。CTU还可被称作“树型块”或“最大译码单元”(LCU)。HEVC的CTU可宽泛地类似于例如H.264/AVC的其它标准的宏块。然而,CTU未必限于特定大小,且可包含一或多个译码单元(CU)。切片可包含在光栅扫描中连续排序的整数数目个CTU。经译码切片可包括切片标头及切片数据。切片的切片标头可为包含提供关于切片的信息的语法元素的语法结构。切片数据可包含切片的经译码CTU。
本发明可使用术语“视频单元”或“视频块”或“块”以指一或多个样本块及用于译码样本的所述一或多个块的样本的语法结构。视频单元或块的实例类型可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分割区等等。在一些情形中,PU的论述可与宏块或宏块分割区的论述互换。
为了产生经译码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的PU的预测性块中的样本与CU的译码块中的对应样本之间的差异。举例来说,视频编码器20可产生CU的明度残余块。CU的明度残余块中的每一样本指示CU的预测性明度块中的一者中的明度样本与CU的原始明度译码块中的对应样本之间的差异。另外,视频编码器20可产生CU的Cb残余块。CU的Cb残余块中的每一样本可指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差异。视频编码器20还可产生CU的Cr残余块。CU的Cr残余块中的每一样本可指示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的系数块。系数块可为变换系数的二维阵列。变换系数可为纯量。举例来说,视频编码器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可解析位流以从位流解码语法元素。视频解码器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可通过以下操作来编码视频数据的块:确定块的调色板,定位调色板中具有表示块的一或多个个别像素值的值的条目,且通过指示调色板中用于表示块的一或多个个别像素值的条目的索引值来编码块。另外,视频编码器20可在经编码位流中传信索引值。反过来,视频解码装置(例如,视频解码器30)可从经编码位流获得块的调色板,以及用于使用调色板确定块的各种个别像素的索引值。视频解码器30可将个别像素的索引值与调色板的条目匹配以重建构块的像素值。在与个别像素相关联的索引值不匹配块的对应调色板的任何索引值的情况下,出于基于调色板的译码的目的,视频解码器30可将此像素识别为转义像素。
在另一实例中,视频编码器20可根据以下操作编码视频数据的块。视频编码器20可确定块的个别像素的预测残余值,确定块的调色板,且定位调色板中具有表示个别像素的预测残余值中的一或多者的值的值的条目(例如,索引值)。另外,视频编码器20可通过指示调色板中用于表示块的每一个别像素的对应预测残余值的条目的索引值编码块的像素。视频解码器30可从由源装置12传信的经编码位流获得块的调色板,以及对应于块的个别像素的预测残余值的索引值。如所描述,索引值可对应于调色板中与当前块相关联的条目。反过来,视频解码器30可使预测残余值的索引值与调色板的条目相关,以重建构块的预测残余值。可将预测残余值添加到预测值(例如,使用帧内或帧间预测获得)以重建构块的像素值。
如下文更详细地描述,基于调色板的译码的基本想法为:针对经译码的视频数据的块,视频编码器20可导出包含块中的最主要像素值的调色板。举例来说,调色板可指经确定或假定为当前CU的主要及/或代表像素值的多个像素值。视频编码器20可编码表示调色板的大小及元素的数据。另外,视频编码器20可根据特定扫描次序编码块中的像素值。针对包含于块中的每一像素,视频编码器20可确定像素值是否包含于调色板中。如果像素包含于调色板中,那么视频编码器20可传信将像素值映射到调色板中的对应条目的索引值。另外,视频编码器20可传信“执行”值,其指示在传信索引的像素之后具有相同值的像素的数量。作为替代方案,如果一系列像素具有与来自上方的相邻像素的值相同的值,那么视频编码器20可使用“从上方复制”模式编码像素,其中执行值(而非索引值)指示与来自上方的像素共享值的像素的数目。
另一方面,如果块的当前像素的值不包含于调色板中(即,指定经调色板译码块的特定像素值的调色板条目不存在),且像素不与上方相邻像素共享值,那么此像素可被定义为“转义像素”。根据基于调色板的译码,视频编码器20可编码且传信经保留用于转义像素的索引值。举例来说,假定调色板为零索引的,表示转义像素的索引值可为调色板的大小。即,针对具有经索引为零到三的四个条目的调色板,视频编码器20可对于像素传信值四(4)以指示将所述像素编码为转义像素。在一些实例中,视频编码器20还可编码且传信包含于块中的转义像素的像素值或残余值(或其经量化版本)。
根据本发明的技术,视频编码器20可分两个部分(第一部分及第二部分)编码转义像素值。当被级联时,第一及第二部分可表示转义像素值。视频编码器20可使用哥伦布莱斯码字来编码第一部分且使用具有参数3的指数哥伦布码字来编码第二部分。
在接收到由视频编码器20传信的经编码视频位流时,视频解码器30可首先基于从视频编码器20接收的信息确定调色板。视频解码器30可随后将与给定块中的像素位置相关联的所接收索引值映射到调色板的条目以重建构给定块的像素值。在一些情况下,视频解码器30可确定经调色板译码块的像素为转义像素,例如,通过确定像素是通过经保留用于转义像素的索引值而进行调色板译码。在视频解码器30识别出经调色板译码块中的转义像素的情况下,视频解码器30可接收包含于给定块中的转义像素的像素值或残余值(或其经量化版本)。视频解码器30可通过将个别像素值映射到对应调色板条目且通过使用像素值或残余值(或其经量化版本)重建构包含于经调色板译码块中的任何转义像素而重建构经调色板译码块。
视频编码器20及/视频解码器30可经配置以根据本发明中所描述的技术操作以导出最大经量化转义像素值。举例来说,视频编码器20及/视频解码器30可确定指示多个像素的块;至少部分地基于量化参数确定最大经量化转义像素值;且使用最大经量化转义像素值译码块。
在一些实例中,确定最大经量化转义像素值进一步包括:基于色彩分量确定量化参数;基于量化参数确定量化步长;基于量化步长确定最大可能经量化值;及基于最大经量化转义像素值产生截断二进制码字以译码经量化转义像素。在一些实例中,仅使用量化步长确定最大经量化转义像素值。在一些实例中,确定最大经量化转义像素值并不基于编码器相依参数。
在一些实例中,本发明的技术包含在不使用除法运算的情况下执行确定最大经量化转义像素值。在一些实例中,使用加法及比较来执行确定最大经量化转义像素值。在一些实例中,确定最大经量化转义像素值进一步包括:基于色彩分量确定量化参数;基于量化参数确定量化缩放因数或移位参数中的至少一者;基于量化缩放因数或移位参数中的至少一者确定最大可能经量化值;及基于最大经量化转义像素值产生截断二进制码字以译码经量化转义像素。
在一些实例中,本发明的技术包含基于量化参数确定量化步长参数;且其中基于量化步长进一步确定最大可能经量化值。在一些实例中,量化缩放因数或移位参数中的至少一者为编码器参数。在一些实例中,本发明的技术包含将量化缩放因数或移位参数中的至少一者存储于查找表中;且其中基于量化参数确定量化缩放因数或移位参数中的至少一者进一步包括在查找表中执行查找以确定量化缩放因数或移位参数中的至少一者。
在一些实例中,确定最大经量化转义像素值进一步包含:基于色彩分量确定量化参数;基于位深度确定基本量化参数;确定基本量化参数是否满足阈值;及在基本量化参数满足阈值时,从查找表且基于基本量化参数确定最大可能经量化值,且在基本量化参数不满足阈值时,从查找表且基于位深度确定最大可能经量化值。
在一些实例中,在固定长度码字中译码经量化转义像素。在一些实例中,产生包含最大经量化转义像素值的码字而无最大值约束。在一些实例中,至少在不执行除法运算的情况下或至少在不使用编码器相依参数的情况下确定最大经量化转义像素值。
图2为说明可实施本发明的各种技术的实例视频编码器20的框图。出于解释的目的而提供图2,且不应将其视为对如本发明中所广泛例示及描述的技术的限制。出于解释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
在图2的实例中,视频编码器20包含视频数据存储器98、预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重建构单元112、滤波器单元114、经解码图片缓冲器116及熵编码单元118。预测处理单元100包含帧间预测处理单元120及帧内预测处理单元126。帧间预测处理单元120包含运动估计单元及运动补偿单元(未图示)。视频编码器20还包含经配置以执行本发明中所描述的基于调色板的译码技术的各种方面的基于调色板的编码单元122。在其它实例中,视频编码器20可包含较多、较少或不同功能组件。
视频数据存储器98可存储待由视频编码器20的组件编码的视频数据。存储于视频数据存储器98中的视频数据可(例如)从视频源18获得。经解码图片缓冲器116可为存储参考视频数据以用于由视频编码器20编码视频数据(例如,在帧内或帧间译码模式中)的参考图片存储器。视频数据存储器98及经解码图片缓冲器116可由多种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM)(包含同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。可由同一存储器装置或单独存储器装置提供视频数据存储器98及经解码图片缓冲器116。在各种实例中,视频数据存储器98可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
视频编码器20可接收视频数据。视频编码器20可编码视频数据的图片的切片中的每一CTU。CTU中的每一者可与图片的相等大小的明度译码树型块(CTB)及对应CTB相关联。作为编码CTU的部分,预测处理单元100可执行四分树分割以将CTU的CTB划分成逐渐变小的块。较小块可为CU的译码块。举例来说,预测处理单元100可将与CTU相关联的CTB分割成四个相等大小的子块,将所述子块中的一或多者分割成四个相等大小的子子块,等等。
视频编码器20可编码CTU的CU以产生CU的经编码表示(即,经译码CU)。作为编码CU的部分,预测处理单元100可将与CU相关联的译码块分割到CU的一或多个PU当中。因此,每一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的运动信息。取决于PU是在I切片中、P切片中还是B切片中,帧间预测单元121可针对CU的PU执行不同操作。在I切片中,所有PU经帧内预测。因此,如果PU在I切片中,那么帧间预测单元121不对PU执行帧间预测。因此,对于按I模式编码的块,使用空间预测从同一帧内的先前经编码的相邻块形成预测性块。
如果PU在P切片中,那么帧间预测处理单元120的运动估计单元可搜索参考图片列表(例如,“RefPicList0”)中的参考图片以发现用于PU的参考区。PU的参考区可为参考图片内含有最密切地对应于PU的样本块的样本块的区。运动估计单元可产生指示含有PU的参考区的参考图片在RefPicList0中的位置的参考索引。另外,运动估计单元可产生指示PU的译码块与关联于参考区的参考位置之间的空间移位的MV。举例来说,MV可为提供从当前经解码图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元可将参考索引及MV输出为PU的运动信息。帧间预测处理单元120的运动补偿单元可基于由PU的运动向量指示的参考位置处的实际或经内插样本产生PU的预测性样本块。
如果PU在B切片中,那么运动估计单元可针对PU执行单向预测或双向预测。为了针对PU执行单向预测,运动估计单元可搜索RefPicList0的参考图片或第二参考图片列表(“RefPicList1”)以发现用于PU的参考区。运动估计单元可将以下各项输出为PU的运动信息:指示含有参考区的参考图片在RefPicList0或RefPicList1中的位置的参考索引、指示PU的样本块与关联于参考区的参考位置之间的空间移位的MV,及指示参考图片是在RefPicList0还是RefPicList1中的一或多个预测方向指示符。帧间预测处理单元120的运动补偿单元可至少部分地基于由PU的运动向量指示的参考区处的实际或经内插样本产生PU的预测性样本块。
为了针对PU执行双向帧间预测,运动估计单元可搜索RefPicList0中的参考图片以发现用于PU的参考区,且还可搜索RefPicList1中的参考图片以发现用于PU的另一参考区。运动估计单元可产生指示含有参考区的参考图片在RefPicList0及RefPicList1中的位置的参考图片索引。另外,运动估计单元可产生指示与参考区相关联的参考位置与PU的样本块之间的空间移位的MV。PU的运动信息可包含PU的参考索引及MV。运动补偿单元可至少部分地基于由PU的运动向量指示的参考区处的实际样本或经内插样本产生PU的预测性样本块。
根据本发明的各种实例,视频编码器20可经配置以执行基于调色板的译码。关于HEVC框架,作为实例,基于调色板的译码技术可经配置以用作CU模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC的框架中的PU模式。因此,本文中(贯穿本发明)在CU模式的上下文中描述的所揭示的所有过程可另外或替代地适用于PU模式。然而,这些基于HEVC的实例不应被视为约束或限制本文中所描述的基于调色板的译码技术,因为这些技术可经应用以独立地或作为其它现有或尚待发展的系统/标准的部分而工作。在这些情况下,用于调色板译码的单元可为正方形块、矩形块或甚至非矩形形状的区。
举例来说,当(例如)针对CU或PU选择基于调色板的编码模式时,基于调色板的编码单元122可执行基于调色板的编码。举例来说,基于调色板的编码单元122可经配置以产生具有指示像素值的条目的调色板,选择调色板中的像素值以表示视频数据的块的至少一些位置的像素值,且传信使视频数据的块的位置中的至少一些与调色板中分别对应于所选择像素值的条目相关联的信息,例如索引值。尽管各种功能经描述为由基于调色板的编码单元122执行,但这些功能中的一些或所有可由其它处理单元或不同处理单元的组合执行。
基于调色板的编码单元122可经配置以产生本文中所描述的各种语法元素中的任一者。因此,视频编码器20可经配置以使用如本发明中所描述的基于调色板的译码模式来编码视频数据的块。视频编码器20可使用调色板译码模式来选择性地编码视频数据的块,或使用不同模式(例如,此HEVC帧间预测性或帧内预测性译码模式)来编码视频数据的块。视频数据的块可为(例如)根据HEVC译码过程产生的CU或PU。视频编码器20可通过帧间预测性时间预测或帧内预测性空间译码模式编码一些块,且通过基于调色板的译码模式解码其它块。
帧内预测处理单元126可通过对PU执行帧内预测而产生PU的预测性数据。PU的预测性数据可包含PU的预测性样本块及各种语法元素。帧内预测处理单元126可对I切片、P切片及B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生PU的多组预测性数据。当使用一些帧内预测模式来产生PU的一组预测性数据时,帧内预测处理单元126可在与帧内预测模式相关联的方向上跨越PU的预测性块扩展来自相邻PU的样本块的样本值。假定PU、CU及CTU的从左到右、从上而下编码次序,那么相邻PU可在PU上方、右上方、左上方或左方。帧内预测处理单元126可使用各种数目的帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区的大小。
预测处理单元100可从由帧间预测处理单元120针对PU产生的预测性数据或由帧内预测处理单元126针对PU产生的预测性数据当中选择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可对数据执行CABAC操作、上下文自适应性可变长度译码(CAVLC)操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应性二进制算术译码(SBAC)操作、机率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码的数据的位流。举例来说,位流可包含表示CU的RQT的数据。
在一些实例中,残余译码并不与调色板译码一起执行。因此,当使用调色板译码模式译码时,视频编码器20可不执行变换或量化。另外,视频编码器20可与残余数据分开地熵编码使用调色板译码模式产生的数据。
根据本发明的技术中的一或多者,视频编码器20且具体来说基于调色板的编码单元122可执行经预测视频块的基于调色板的视频译码。如上文所描述,由视频编码器20产生的调色板可经明确地编码、从先前调色板条目被预测、从先前像素值被预测或其组合。
确切地说,预测处理单元100可确定视频数据的块(例如,CU或PU)的编码模式,例如,帧间预测、帧内预测或调色板模式。假定选择调色板模式,基于调色板的编码单元122可基于块的像素值的统计数据形成块的调色板。针对块的每一像素,基于调色板的编码单元122可确定像素在调色板中是否具有对应值,且如果如此,那么对于所述像素传信调色板中对应值的索引。基于调色板的编码单元122还可传信表示与前一像素具有相同值的像素的数目的执行值。
或者,如果像素序列具有等于上方相邻像素的值,那么基于调色板的编码单元122可针对“从上方复制”模式传信执行值,其中执行表示具有等于上方相邻像素的值的像素的数目。
如果索引模式或从上方复制模式两者均不充分地表示调色板模式译码块的当前像素的值,那么基于调色板的编码单元122可使用本发明的技术来将所述像素译码为转义像素。根据本发明的技术,视频编码器20可分两个部分(第一部分及第二部分)编码转义像素值。当被级联时,第一及第二部分可表示转义像素值。熵编码单元118可使用哥伦布莱斯码字来编码第一部分且使用具有参数3的指数哥伦布码字来编码第二部分。在其它实例中,视频编码器20及/或视频解码器30可使用具有参数3的指数哥伦布译码仅译码(分别编码或解码)单个值,其中此值表示转义像素的整个值。在其它实例中,熵编码单元118可使用具有参数3的指数哥伦布译码仅编码单个值,其中此值表示转义像素的整个值。
在一些实例中,熵编码单元118可使用截断指数哥伦布译码编码第二部分。截断指数哥伦布译码可基于经确定的最大经量化转义像素值。视频编码器20(更确切地说,熵编码单元118)可使用本文中所描述的各种技术中的任一者确定最大经量化转义像素值。
举例来说,熵编码单元118可根据以上公式(2)基于块的量化参数确定量化步长值,且随后(例如,根据以上过程(3))使用量化步长确定最大经量化转义像素值。确切地说,在过程(3)中,将暂时值初始化为使用公式(2)确定的经量化步长值。接着,当暂时值小于(1<<bitDepth)-1(即,值1按位深度左移并减1)时,使暂时值增加经确定的经量化步长值,且使最大经量化转义像素值(经初始化为一)增加一。或者,熵编码单元118可根据以上过程(4)确定最大经量化转义像素值。
作为另一实例,视频编码器20可传信某些编码器变量的值,例如,量化缩放值(quantScale)、右移参数值(rightShiftParam)及右移偏移值(rightShiftOffset)。通常,这些值仅可用于视频编码器20,但在此实例中,视频编码器20可在位流中传信这些元素的值,且还使用这些值来确定最大经量化转义像素值。视频编码器20可使用一或多个查找表传信这些元素的值。此外,熵编码单元118可使用以上过程(5)、(6)及(7)计算最大经量化转义像素值。如可见,过程(7)包含使用quantScale、rightShiftOffset及rightShiftParam计算最大经量化转义像素值cMax。替代性地,熵编码单元118可使用过程(8)计算最大经量化转义像素值,过程(8)使用quantScale、rightShiftOffset及rightShiftParam元素,且省略剪辑及除法运算。
作为另一实例,熵编码单元118可使用以上过程(9)确定最大经量化转义像素值,过程(9)基于量化参数(qP)及位深度使用查找表。可根据表3或4中的任一者或其它查找表定义查找表。
作为另一实例,熵编码单元118可使用以上过程(10)到(13)确定最大经量化转义像素。即,熵编码单元118可(使用过程(10))确定qPBase值,其可为预定值。熵编码单元118可随后使用过程(11)从量化参数(qP)及qPBase值确定quantBits值,接着从位深度及经确定quantBits值根据过程(12)确定maxBit值。最后,熵编码单元118可根据过程(13)将最大经量化转义像素值(cMax)确定为1按maxBit值左移并减1的值。
如上文所提及,这些各种实例技术中的任一者可用于确定最大经量化转义像素值,熵编码单元118可使用所述最大经量化转义像素值来执行转义像素值的第二部分的截断指数哥伦布译码。或者,熵编码单元118可使用这些各种技术中的任一者来执行转义像素值的截断二进制译码,而不执行哥伦布莱斯译码与具有参数3的指数哥伦布译码的组合。
以此方式,视频编码器20表示经配置以确定视频数据的调色板模式译码块的转义像素值且编码表示转义像素的值的至少一部分的指数哥伦布码字的视频编码器的实例,其中为了编码指数哥伦布码字,视频编码器经配置以使用具有参数3的指数哥伦布编码。
图3为说明经配置以实施本发明的技术的实例视频解码器30的框图。出于解释的目的而提供图3,且其并不限制如本发明中所广泛例示及描述的技术。出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
在图3的实例中,视频解码器30包含视频数据存储器148、熵解码单元150、预测处理单元152、逆量化单元154、逆变换处理单元156、重建构单元158、滤波器单元160及经解码图片缓冲器162。预测处理单元152包含运动补偿单元164及帧内预测处理单元166。视频解码器30还包含经配置以执行本发明中所描述的基于调色板的译码技术的各种方面的基于调色板的解码单元165。在其它实例中,视频解码器30可包含较多、较少或不同功能组件。
视频数据存储器148可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储于视频数据存储器148中的视频数据可(例如)从计算机可读媒体16获得,例如,从本地视频源(例如,摄影机)、经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体。视频数据存储器148可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器162可为参考图片存储器,其存储用于由视频解码器30(例如)在帧内或帧间译码模式中解码视频数据时使用的参考视频数据。视频数据存储器148及经解码图片缓冲器162可由多种存储器装置中的任一者形成,例如,动态随机存取存储器(DRAM)(包含同步DRAM(SDRAM))、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。可由同一存储器装置或单独存储器装置提供视频数据存储器148及经解码图片缓冲器162。在各种实例中,视频数据存储器148可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
视频数据存储器148(即,CPB)可接收及存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从视频数据存储器148接收经编码视频数据(例如,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可从位流提取重要系数块的变换系数层级,逆量化变换系数层级,将变换应用于变换系数层级以产生变换块,至少部分地基于变换块产生译码块,且输出译码块以供显示。
根据本发明的各种实例,视频解码器30可经配置以执行基于调色板的译码。确切地说,视频解码器30包含可执行基于调色板的译码的基于调色板的解码单元165。举例来说,基于调色板的解码单元165可经配置以产生具有指示像素值的条目的调色板。此外,在此实例中,基于调色板的解码单元165可接收使视频数据的块的至少一些位置与调色板中的条目相关联的信息。在此实例中,基于调色板的解码单元165可基于信息选择调色板中的像素值。另外,在此实例中,基于调色板的解码单元165可基于所选择的像素值重建构块的像素值。尽管各种功能经描述为由基于调色板的解码单元165执行,但这些功能中的一些或所有可由其它处理单元或不同处理单元的组合执行。
基于调色板的解码单元165可接收调色板译码模式信息,且在调色板译码模式信息指示调色板译码模式适用于块时执行以上操作。当调色板译码模式信息指示调色板译码模式不适用于块时,或当其它模式信息指示使用不同模式时,基于调色板的解码单元165使用非基于调色板的译码模式解码视频数据的块,例如,当调色板译码模式信息指示调色板译码模式不适用于块时,使用此HEVC帧间预测性或帧内预测性译码模式。视频数据的块可为(例如)根据HEVC译码过程产生的CU或PU。视频解码器30可通过帧间预测性时间预测或帧内预测性空间译码模式而解码一些块,且通过基于调色板的译码模式解码其它块。基于调色板的译码模式可包括多个不同基于调色板的译码模式中的一者,或可存在单个基于调色板的译码模式。
根据本发明的技术中的一或多者,视频解码器30,且具体来说基于调色板的解码单元165,可执行经调色板译码的视频块的基于调色板的视频解码。如上文所描述,由视频解码器30解码的调色板可被明确地编码且传信,由视频解码器30关于所接收经调色板译码块重建构,从先前调色板条目被预测,从先前像素值被预测或其组合。
确切地说,熵解码单元150可解码指示视频数据的块(例如,PU或CU)是使用调色板模式译码的信息。熵解码单元150可进一步解码表示如何使用调色板模式来译码块的每一像素的信息。举例来说,熵解码单元150可将索引值及执行值解码为{索引,执行}对。索引值表示块的调色板的条目,其中条目指定像素值,且执行值指示除当前像素以外的具有相同值的像素的数目。
如果索引值等于调色板的大小,那么熵解码单元150可将当前像素确定为转义像素。因此根据本发明的技术,熵解码单元150可解码位流的两个后续值:经哥伦布莱斯译码的第一值及经具有参数3的指数哥伦布译码的第二值。第一值表示转义像素值的第一部分,而第二值表示转义像素值的第二部分。因此,在解码第一值及第二值(分别产生第一部分及第二部分)之后,熵解码单元150可级联第一部分与第二部分以再生转义像素值,且将转义像素值提供到基于调色板的解码单元165。替代性地,熵解码单元150可将第一部分及第二部分提供到基于调色板的解码单元165,基于调色板的解码单元165可级联第一部分与第二部分以再生转义像素值。在其它实例中,熵解码单元150可使用具有参数3的指数哥伦布译码仅编码单个值,其中此值表示转义像素的整个值。
在一些实例中,熵解码单元150可使用截断指数哥伦布译码解码第二部分。截断指数哥伦布译码可基于经确定的最大经量化转义像素值。视频解码器30(更确切地说,熵解码单元150)可使用本文中所描述的各种技术中的任一者确定最大经量化转义像素值。
举例来说,熵解码单元150可根据以上公式(2)基于块的量化参数确定量化步长值,且随后(例如,根据以上过程(3))使用量化步长确定最大经量化转义像素值。确切地说,在过程(3)中,将暂时值初始化为使用公式(2)确定的经量化步长值。接着,当暂时值小于(1<<bitDepth)-1(即,值1按位深度左移并减1)时,使暂时值增加经确定的经量化步长值,且使最大经量化转义像素值(经初始化为一)增加一。替代性地,熵解码单元150可根据以上过程(4)确定最大经量化转义像素值。
作为另一实例,视频解码器30可接收某些编码器变量的值,例如,量化缩放值(quantScale)、右移参数值(rightShiftParam)及右移偏移值(rightShiftOffset)。通常,这些值仅可用于视频编码器,但在此实例中,视频解码器30可从位流解码这些元素的值,且还使用这些值来确定最大经量化转义像素值。视频解码器30可将索引解码成表示这些编码器变量的一或多个查找表。此外,熵解码单元150可使用以上过程(5)、(6)及(7)计算最大经量化转义像素值。如可见,过程(7)包含使用quantScale、rightShiftOffset及rightShiftParam计算最大经量化转义像素值cMax。替代性地,熵解码单元150可使用过程(8)计算最大经量化转义像素值,过程(8)使用quantScale、rightShiftOffset及rightShiftParam元素,且省略剪辑及除法运算。
作为另一实例,熵解码单元150可使用以上过程(9)确定最大经量化转义像素值,过程(9)基于量化参数(qP)及位深度使用查找表。可根据表3或4中的任一者或其它查找表定义查找表。
作为另一实例,熵解码单元150可使用以上过程(10)到(13)确定最大经量化转义像素。即,熵解码单元150可(使用过程(10))确定qPBase值,其可为预定值。熵解码单元150可随后使用过程(11)从量化参数(qP)及qPBase值确定quantBits值,接着从位深度及经确定quantBits值根据过程(12)确定maxBit值。最后,熵解码单元150可根据过程(13)将最大经量化转义像素值(cMax)确定为1按maxBit值左移并减1的值。
如上文所提及,这些各种实例技术中的任一者可用于确定最大经量化转义像素值,熵解码单元150可使用所述最大经量化转义像素值来执行转义像素值的第二部分的截断指数哥伦布译码。替代性地,熵解码单元150可使用这些各种技术中的任一者来执行转义像素值的截断二进制译码,而不执行哥伦布莱斯译码与具有参数3的指数哥伦布译码的组合。
同样,熵解码单元150可执行以上过程以解码由等于调色板的大小的调色板索引值传信的转义像素值。替代性地,熵解码单元150可仅解码执行值。执行值表示使用从上方复制模式而经译码的像素的数目。熵解码单元150可将经解码执行值提供到基于调色板的解码单元165。因此,基于调色板的解码单元165可从相应上方相邻像素检索这些像素中的每一者的值。
以此方式,视频解码器30表示视频解码器的实例,所述视频解码器经配置以解码表示调色板模式译码块的转义像素值的至少一部分的指数哥伦布码字,其中视频解码器经配置以使用具有参数3的指数哥伦布解码来解码指数哥伦布码字,且使用转义像素值来解码块。
图4为说明用于根据本发明的技术编码视频数据的块的实例方法的流程图。可由视频编码器20及(例如,图2中所说明的)其组件执行图4的方法。
在此实例中,预测处理单元100最初接收视频数据的块(200)。块可为(例如)预测单元(PU)或译码单元(CU)。预测处理单元100随后确定块的译码模式(202)。举例来说,预测处理单元100可测试各种译码模式且使用率-失真优化(RDO)过程来比较所述模式。此外,预测处理单元100还可使用RDO过程来比较各种块大小及块分割方案。
预测处理单元100可选择帧内或帧间预测模式,在此情况下,帧间预测处理单元120或帧内预测处理单元126可分别使用帧内预测或帧间预测来预测块的像素(204),从而形成经预测块。视频编码器20可随后形成且处理块的残余值(206)。举例来说,残余产生单元102可逐个像素地从经预测块减除原始块,从而形成残余块。变换处理单元104可随后使用变换(例如,DCT)来变换残余块,从而形成变换块。量化单元106可随后量化变换块的变换系数,且将经量化变换系数提供到熵编码单元118。预测处理单元100还将表示预测模式的信息(例如,帧内/帧间,如果使用帧内预测,那么表示所选择的帧内模式;或如果使用帧间预测,那么表示运动参数)提供到熵编码单元118。因此,熵编码单元118熵编码预测信息及残余值(即,经量化变换系数)(208)。
替代性地,预测处理单元100可选择调色板模式以译码块,在此情况下,基于调色板的编码单元122分析块的像素统计数据(210)。举例来说,基于调色板的编码单元122可确定频繁使用的像素值。基于调色板的编码单元122随后基于统计数据形成块的调色板(212)。尽管图4中未展示,但熵编码单元118可熵编码调色板的数据。举例来说,可相对于先前使用的调色板预测性地译码调色板(例如,如上文关于表1及2所论述)。
基于调色板的编码单元122可随后扫描块的像素(214)以确定如何译码像素。举例来说,基于调色板的编码单元122可确定当前像素值是否包含于调色板中。如果像素值包含于调色板中,那么基于调色板的编码单元122可将来自调色板的对应于像素值的索引提供到熵编码单元118,熵编码单元118可熵编码索引值(216)。此外,基于调色板的编码单元122可确定在前一像素之后的具有相同值的连续像素的数目,且将“执行”值提供到熵编码单元118,熵编码单元118可熵编码执行值(218)。
替代性地,如果当前像素不具有在调色板中的值,那么基于调色板的编码单元122可确定所述像素值是否与上方相邻像素值相同。在一些实例中,可在确定像素值是否对应于调色板中的值之前作出此确定。在任何情况下,如果当前像素具有等于上方相邻像素值的值,那么基于调色板的编码单元122可将描述具有等于上方相邻像素的值的像素的数目的执行值提供到熵编码单元118,熵编码单元118可熵编码执行值(220)。
如果当前像素并不对应于调色板中的值且并不具有等于上方相邻像素的值,那么基于调色板的编码单元122可将像素编码为转义像素。确切地说,基于调色板的编码单元122可将等于调色板的大小的索引值提供到熵编码单元118,熵编码单元118可将索引值熵译码为调色板的大小(222)。等于调色板的大小的索引值可传信:当前像素正被编码为转义像素。基于调色板的编码单元122可进一步将转义像素值提供到熵编码单元118。
根据本发明的技术,熵编码单元118可分两个部分编码转义像素值。更确切地说,熵编码单元118可将转义像素值分裂成第一部分及第二部分。熵编码单元118可哥伦布莱斯编码像素值的第一部分(224)且具有参数3的指数哥伦布编码像素值的第二部分(226)。尽管图4中未展示,但熵编码单元118可基于经确定的最大经量化转义像素值使用具有参数3的截断指数哥伦布来译码第二部分。
视频编码器20可针对调色板模式译码块的每一像素执行此过程(例如,步骤216及218的序列、步骤220,或步骤222到226的序列中的一者)。
以此方式,图4的方法表示包含确定视频数据的调色板模式译码块的转义像素值及编码表示转义像素值的至少一部分的指数哥伦布码字的方法的实例,其中编码指数哥伦布码字包括使用具有参数3的指数哥伦布编码来编码指数哥伦布码字。
尽管图4的方法包含使用哥伦布莱斯译码来编码转义像素值的第一部分且使用指数哥伦布译码来编码转义像素值的第二部分,但应理解,在其它实例中,可仅使用指数哥伦布译码(例如,对于指数哥伦布译码使用参数3)来译码转义像素的整个值。
图5为说明用于根据本发明的技术编码视频数据的块的另一实例方法的流程图。可由视频编码器20及其组件(例如,图2中所说明)执行图5的方法。一般来说,图5的方法与图4的方法大体上一致。然而,在图5中,在当前像素不对应于调色板中的值且不具有等于上方相邻像素的值时,基于调色板的编码单元122可将像素编码为转义像素,且确切地说,使用具有参数3的指数哥伦布译码来编码转义像素值(228)。
以此方式,图5的方法表示包含确定视频数据的调色板模式译码块的转义像素值及编码表示转义像素值的至少一部分的指数哥伦布码字的方法的另一实例,其中编码指数哥伦布码字包括使用具有参数3的指数哥伦布编码来编码指数哥伦布码字。
图6为说明用于根据本发明的技术解码视频数据的块的实例方法的流程图。可由视频解码器30及其组件(例如,图3中所说明)执行图6的方法。
最初,熵解码单元150可解码指示视频数据的块的译码模式的数据(250)。熵解码单元150可使用此数据来确定块的译码模式(252),例如,帧内预测、帧间预测或调色板模式中的一者。
在译码模式为帧内预测或帧间预测的情况下,熵解码单元150可解码预测信息(例如,帧内模式或运动参数)且将预测信息提供到预测处理单元152。预测处理单元152可使用预测信息而使用帧内预测或帧间预测来预测块的像素(254)。举例来说,帧内预测处理单元166可使用帧内预测模式以从块的相邻像素建构预测块。作为另一实例,运动补偿单元164可使用运动参数来检索(且可能处理,例如,滤波)来自经解码图片缓冲器162的先前经解码图片的参考块。
另外,视频解码器30可解码且处理块的残余值(256)。举例来说,逆量化单元154可逆量化经量化的变换系数,且逆变换处理单元156可逆变换变换系数,以重建构残余块。重建构单元158可随后组合残余块的残余值与经预测块的经预测值(258)以重建构原始块。
替代性地,熵解码单元150可确定块的译码模式为调色板模式。在此情况下,熵解码单元150可解码块的调色板(260)。如上文关于表1及2所论述,可相对于前一调色板预测性地译码调色板。因此,熵解码单元150可将经解码的调色板数据提供到基于调色板的解码单元165,基于调色板的解码单元165可使用经解码数据来重建构块的调色板。
熵解码单元150还可解码块的像素的数据(264)。举例来说,经解码数据可对应于小于调色板的大小的索引值。在此情况下,熵解码单元150还可解码执行值(266)且将索引及执行值提供到基于调色板的解码单元165。基于调色板的解码单元165可将像素及执行中的像素中的每一者的值设置为等于调色板的对应于索引值的像素值(268)。
作为另一实例,经解码数据可为不具有索引值的执行值。不具有索引值的此执行值可指示使用从上方复制模式而经译码的像素的数目。在此情况下,熵解码单元150可将执行值提供到基于调色板的解码单元165,基于调色板的解码单元165可将执行中的每一像素的值设置为等于相应上方相邻像素值的值。
作为另一实例,经解码数据可为等于调色板的大小的索引值。在此情况下,熵解码单元150可哥伦布莱斯解码对应于像素值的第一部分的第一值(272)。熵解码单元150还可具有参数3的指数哥伦布解码对应于像素值的第二部分的第二值(274)。如上文所论述,熵解码单元150可替代地确定最大经量化转义像素值以执行第二值的具有参数3的截断指数哥伦布解码。熵解码单元150(或基于调色板的解码单元165)可随后级联第一部分与第二部分以再生像素值(276)。
视频解码器30可针对调色板模式译码块的每一像素执行此过程(例如,步骤266及268的序列、步骤270,或步骤272到276的序列中的一者)。
以此方式,图6的方法表示包含解码表示视频数据的调色板模式译码块的转义像素值的至少一部分的指数哥伦布码字的方法的实例,其中解码指数哥伦布码字包括使用具有参数3的指数哥伦布解码来解码指数哥伦布码字,及使用转义像素值来解码块。
尽管图6的方法包含使用哥伦布莱斯译码来解码转义像素值的第一部分且使用指数哥伦布译码来解码转义像素值的第二部分,但应理解,在其它实例中,可仅使用指数哥伦布译码(例如,对于指数哥伦布译码使用参数3)来译码转义像素的整个值。
图7为说明用于根据本发明的技术解码视频数据的块的另一实例方法的流程图。可由视频解码器30及其组件(例如,图3中所说明)执行图7的方法。一般来说,图7的方法与图6的方法大体上一致。然而,在图7中,当索引值等于调色板大小时,基于调色板的解码单元165可将像素解码为转义像素,且确切地说,使用具有参数3的指数哥伦布译码来解码转义像素值(278)。
以此方式,图7的方法表示包含解码表示视频数据的调色板模式译码块的转义像素值的至少一部分的指数哥伦布码字的方法的实例,其中解码指数哥伦布码字包括使用具有参数3的指数哥伦布解码来解码指数哥伦布码字,及使用转义像素值来解码块。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列执行、可被添加、合并或完全省略(例如,并非所有所描述动作或事件对于所述技术的实践均为必要的)。此外,在某些实例中,动作或事件可(例如)经由多执行绪处理、中断处理或多个处理器同时执行而非依序地执行。另外,尽管出于清晰的目的,本发明的某些方面被描述为由单个模块或单元执行,但应理解,本发明的技术可通过与视频译码器相关联的单元或模块的组合来执行。
出于说明的目的,本发明的某些方面已关于发展中的HEVC标准而加以描述。然而,本发明中所描述的技术可适用于其它视频译码过程,包含尚未发展的其它标准或专属视频译码程序。
上文所描述的技术可由视频编码器20(图1及图2)及/或视频解码器30(图1及图3)执行,其两者可大体上被称作视频译码器。同样,视频译码在可适用时可指视频编码或视频解码。
尽管在上文描述技术的各种方面的特定组合,但提供这些组合仅为了说明本发明中所描述的技术的实例。因此,本发明的技术不应限于这些实例组合,且可涵盖本发明中所描述的技术的各种方面的任何可设想组合。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体的有形媒体或包含促进将计算机程序从一处传送到另一处(例如,根据通信协议)的任何媒体的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
借助于实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、闪存器,或可用以存储呈指令或数据结构形式的所要代码且可由计算机存取的任何其它媒体。另外,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含在媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是有关于非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘用激光以光学方式再生数据。以上的组合还应包含于计算机可读媒体的范围内。
指令可由一或多个处理器执行,所述一或多个处理器例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编解码器中。另外,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必需要由不同硬件单元来实现。实际上,如上文所描述,各种单元可结合合适的软件及/或固件组合于编解码器硬件单元中或由互操作硬件单元的集合提供,硬件单元包含如上文所描述的一或多个处理器。
已描述各种实例。这些及其它实例在以下权利要求书的范围内。

Claims (46)

1.一种解码视频数据的方法,所述方法包括:
形成调色板,所述调色板包含表示所述视频数据的调色板模式译码块的像素值的条目;
确定所述视频数据的所述调色板模式译码块包含不与所述调色板中所包含的所述条目中的任一者相关联的转义像素;
解码表示所述视频数据的所述调色板模式译码块的所述转义像素的值的至少一部分的指数哥伦布码字,其中解码所述指数哥伦布码字包括使用具有参数3的指数哥伦布解码来解码所述指数哥伦布码字;及
使用所述转义像素的值来解码所述块。
2.根据权利要求1所述的方法,其进一步包括:
使用所述调色板模式译码块的量化参数来确定所述调色板模式译码块的量化步长值;及
基于所述量化步长值确定所述调色板模式译码块的所述转义像素的最大经量化值,
其中解码所述指数哥伦布码字包括使用所述最大经量化值来解码所述指数哥伦布码字。
3.根据权利要求2所述的方法,其中确定所述最大经量化值包括仅基于所述量化步长值确定所述最大经量化值。
4.根据权利要求2所述的方法,其中确定所述最大经量化值包括基于所述量化步长值、量化缩放值、右移偏移值及右移参数值确定所述最大经量化值,所述方法进一步包括从查找表确定所述量化缩放值、所述右移偏移值及所述右移参数值。
5.根据权利要求4所述的方法,其中确定所述最大经量化值包括在不执行剪辑运算的情况下确定所述最大经量化值。
6.根据权利要求2所述的方法,其中确定所述最大经量化值包括在不执行除法运算的情况下计算所述最大经量化值。
7.根据权利要求2所述的方法,其中确定所述最大经量化值包括从由所述量化参数索引的查找表检索所述最大经量化值。
8.根据权利要求7所述的方法,其进一步包括基于包含所述转义像素的色彩分量确定所述量化参数。
9.根据权利要求1所述的方法,其中所述转义像素的值的所述至少部分包括所述转义像素的值的第二部分,所述方法进一步包括:
解码表示所述转义像素的值的第一部分的哥伦布莱斯码字;及
组合所述第一部分与所述第二部分以产生所述转义像素的值。
10.一种用于解码视频数据的装置,所述装置包括:
存储器,其经配置以存储视频数据;及
视频解码器,其耦合到所述存储器,且经配置以:
形成调色板,所述调色板包含表示所述视频数据的调色板模式译码块的像素值的条目;
确定所述视频数据的所述调色板模式译码块包含不与所述调色板中所包含的所述条目中的任一者相关联的转义像素;
解码表示所存储的所述视频数据的所述调色板模式译码块的所述转义像素的值的至少一部分的指数哥伦布码字,其中所述视频解码器经配置以使用具有参数3的指数哥伦布解码来解码所述指数哥伦布码字;且
使用所述转义像素的值来解码所述块。
11.根据权利要求10所述的装置,其中所述视频解码器经进一步配置以:
使用所述调色板模式译码块的量化参数来确定所述调色板模式译码块的量化步长值;且
基于所述量化步长值确定所述调色板模式译码块的所述转义像素的最大经量化值,
其中所述视频解码器经配置以使用所述最大经量化值来解码所述指数哥伦布码字。
12.根据权利要求11所述的装置,其中所述视频解码器经配置以仅基于所述量化步长值确定所述最大经量化值。
13.根据权利要求11所述的装置,其中所述视频解码器经配置以基于所述量化步长值、量化缩放值、右移偏移值及右移参数值确定所述最大经量化值,且其中所述视频解码器进一步经配置以从查找表确定所述量化缩放值、所述右移偏移值及所述右移参数值。
14.根据权利要求13所述的装置,其中所述视频解码器经配置以在不执行剪辑运算的情况下确定所述最大经量化值。
15.根据权利要求11所述的装置,其中所述视频解码器经配置以在不执行除法运算的情况下计算所述最大经量化值。
16.根据权利要求11所述的装置,其中所述视频解码器经配置以从由所述量化参数索引的查找表检索所述最大经量化值。
17.根据权利要求10所述的装置,其中所述转义像素的值的所述至少部分包括所述转义像素的值的第二部分,且其中所述视频解码器进一步经配置以:
解码表示所述转义像素的值的第一部分的哥伦布莱斯码字;且
组合所述第一部分与所述第二部分以产生所述转义像素的值。
18.一种用于解码视频数据的装置,所述装置包括:
用于形成调色板的装置,所述调色板包含表示所述视频数据的调色板模式译码块的像素值的条目;
用于确定所述视频数据的所述调色板模式译码块包含不与所述调色板中所包含的所述条目中的任一者相关联的转义像素的装置;
用于解码表示所述视频数据的所述调色板模式译码块的所述转义像素的值的至少一部分的指数哥伦布码字的装置,其中所述用于解码所述指数哥伦布码字的装置包括用于使用具有参数3的指数哥伦布解码来解码所述指数哥伦布码字的装置;及
用于使用所述转义像素的值来解码所述块的装置。
19.根据权利要求18所述的装置,其进一步包括:
用于使用所述调色板模式译码块的量化参数来确定所述调色板模式译码块的量化步长值的装置;及
用于基于所述量化步长值确定所述调色板模式译码块的所述转义像素的最大经量化值的装置,
其中所述用于解码所述指数哥伦布码字的装置包括用于使用所述最大经量化值来解码所述指数哥伦布码字的装置。
20.根据权利要求18所述的装置,其中所述转义像素的值的所述至少部分包括所述转义像素的值的第二部分,所述装置进一步包括:
用于解码表示所述转义像素的值的第一部分的哥伦布莱斯码字的装置;及
用于组合所述第一部分与所述第二部分以产生所述转义像素的值的装置。
21.一种上面存储有指令的计算机可读存储媒体,所述指令在执行时致使视频解码装置的一或多个处理器:
形成调色板,所述调色板包含表示所述视频数据的调色板模式译码块的像素值的条目;
确定所述视频数据的所述调色板模式译码块包含不与所述调色板中所包含的所述条目中的任一者相关联的转义像素;
解码表示所述视频数据的所述调色板模式译码块的所述转义像素的值的至少一部分部分的指数哥伦布码字,其中使所述处理器解码所述指数哥伦布码字的所述指令包括致使所述处理器进行以下操作的指令:使用具有参数3的指数哥伦布解码来解码所述指数哥伦布码字;且
使用所述转义像素的值来解码所述块。
22.根据权利要求21所述的计算机可读存储媒体,其进一步包括致使所述处理器进行以下操作的指令:
使用所述调色板模式译码块的量化参数来确定所述调色板模式译码块的量化步长值;且
基于所述量化步长值确定所述调色板模式译码块的所述转义像素的最大经量化值,
其中致使所述处理器解码所述指数哥伦布码字的所述指令包括致使所述处理器使用所述最大经量化值来解码所述指数哥伦布码字的指令。
23.根据权利要求21所述的计算机可读存储媒体,其中所述转义像素的值的所述至少部分包括所述转义像素的值的第二部分,所述计算机可读存储媒体进一步包括致使所述处理器进行以下操作的指令:
解码表示视频数据的调色板模式译码块的转义像素的值的第一部分的哥伦布莱斯码字;且
组合所述第一部分与所述第二部分以产生所述转义像素的值。
24.一种编码视频数据的方法,所述方法包括:
形成调色板,所述调色板包含表示所述视频数据的调色板模式译码块的像素值的条目;
确定所述视频数据的所述调色板模式译码块的转义像素的值,其中所述转义像素不与所述调色板中所包含的所述条目中的任一者相关联;及
编码表示所述转义像素的值的至少一部分的指数哥伦布码字,其中编码所述指数哥伦布码字包括使用具有参数3的指数哥伦布编码来编码所述指数哥伦布。
25.根据权利要求24所述的方法,其进一步包括:
使用所述调色板模式译码块的量化参数来确定所述调色板模式译码块的量化步长值;及
基于所述量化步长值确定所述调色板模式译码块的所述转义像素的最大经量化值,
其中编码所述指数哥伦布码字包括使用所述最大经量化值来编码所述指数哥伦布码字。
26.根据权利要求25所述的方法,其中确定所述最大经量化值包括仅基于所述量化步长值确定所述最大经量化值。
27.根据权利要求25所述的方法,其中确定所述最大经量化值包括基于所述量化步长值、量化缩放值、右移偏移值及右移参数值确定所述最大经量化值,所述方法进一步包括根据查找表编码表示所述量化缩放值、所述右移偏移值及所述右移参数值的值。
28.根据权利要求27所述的方法,其中确定所述最大经量化值包括在不执行剪辑运算的情况下确定所述最大经量化值。
29.根据权利要求25所述的方法,其中确定所述最大经量化值包括在不执行除法运算的情况下计算所述最大经量化值。
30.根据权利要求25所述的方法,其中确定所述最大经量化值包括从由所述量化参数索引的查找表检索所述最大经量化值。
31.根据权利要求30所述的方法,其进一步包括基于包含所述转义像素的色彩分量确定所述量化参数。
32.根据权利要求24所述的方法,其中所述至少部分包括所述转义像素的值的第二部分,所述方法进一步包括编码表示所述转义像素的值的第一部分的哥伦布莱斯码字。
33.一种用于编码视频数据的装置,所述装置包括:
存储器,其经配置以存储视频数据的至少一部分;及
视频编码器,其耦合到所述存储器,且经配置以:
形成调色板,所述调色板包含表示所述视频数据的调色板模式译码块的像素值的条目;
确定所述视频数据的所述调色板模式译码块的转义像素的值,其中所述转义像素不与所述调色板中所包含的所述条目中的任一者相关联;且
编码表示所述转义像素的值的至少一部分的指数哥伦布码字,其中所述视频编码器经配置以使用具有参数3的指数哥伦布编码来编码所述指数哥伦布码字。
34.根据权利要求33所述的装置,其中所述视频编码器进一步经配置以:
使用所述调色板模式译码块的量化参数来确定所述调色板模式译码块的量化步长值;且
基于所述量化步长值确定所述调色板模式译码块的所述转义像素的最大经量化值,
其中所述视频编码器经配置以使用所述最大经量化值来编码所述指数哥伦布码字。
35.根据权利要求34所述的装置,其中所述视频编码器经配置以仅基于所述量化步长值确定所述最大经量化值。
36.根据权利要求34所述的装置,其中所述视频编码器经配置以基于所述量化步长值、量化缩放值、右移偏移值及右移参数值确定所述最大经量化值,且其中所述视频编码器进一步经配置以根据查找表编码表示所述量化缩放值、所述右移偏移值及所述右移参数值的值。
37.根据权利要求36所述的装置,其中所述视频编码器经配置以在不执行剪辑运算的情况下确定所述最大经量化值。
38.根据权利要求34所述的装置,其中所述视频编码器经配置以在不执行除法运算的情况下计算所述最大经量化值。
39.根据权利要求34所述的装置,其中所述视频编码器经配置以从由所述量化参数索引的查找表检索所述最大经量化值。
40.根据权利要求33所述的装置,其中所述至少部分包括所述转义像素的值的第二部分,且其中所述视频编码器进一步经配置以编码表示所述转义像素的值的第一部分的哥伦布莱斯码字。
41.一种用于编码视频数据的装置,所述装置包括:
用于形成调色板的装置,所述调色板包含表示所述视频数据的调色板模式译码块的像素值的条目;
用于确定视频数据的所述调色板模式译码块的转义像素的值的装置,其中所述转义像素不与所述调色板中所包含的所述条目中的任一者相关联;及
用于编码表示所述转义像素的值的第二部分的指数哥伦布码字的装置,其中所述用于编码所述指数哥伦布码字的装置包括用于使用具有参数3的指数哥伦布编码来编码所述指数哥伦布码字的装置。
42.根据权利要求41所述的装置,其进一步包括:
用于使用所述调色板模式译码块的量化参数来确定所述调色板模式译码块的量化步长值的装置;及
用于基于所述量化步长值确定所述调色板模式译码块的所述转义像素的最大经量化值的装置,
其中所述用于编码所述指数哥伦布码字的装置包括用于使用所述最大经量化值来编码所述指数哥伦布码字的装置。
43.根据权利要求41所述的装置,其进一步包括用于编码表示所述转义像素的值的第一部分的哥伦布莱斯码字的装置。
44.一种上面存储有指令的计算机可读存储媒体,所述指令在执行时致使视频解码装置的一或多个处理器:
形成调色板,所述调色板包含表示所述视频数据的调色板模式译码块的像素值的条目;
确定所述视频数据的所述调色板模式译码块的转义像素的值,其中所述转义像素不与所述调色板中所包含的所述条目中的任一者相关联;且
编码表示所述转义像素的值的第二部分的指数哥伦布码字,其中致使所述处理器编码所述指数哥伦布码字的所述指令包括致使所述处理器使用具有参数3的指数哥伦布编码来编码所述指数哥伦布码字的指令。
45.根据权利要求44所述的计算机可读存储媒体,其进一步包括致使所述处理器进行以下操作的指令:
使用所述调色板模式译码块的量化参数来确定所述调色板模式译码块的量化步长值;且
基于所述量化步长值确定所述调色板模式译码块的所述转义像素的最大经量化值,
其中致使所述处理器编码所述指数哥伦布码字的所述指令包括致使所述处理器使用所述最大经量化值来编码所述指数哥伦布码字的指令。
46.根据权利要求44所述的计算机可读存储媒体,其进一步包括致使所述处理器编码表示所述转义像素的值的第一部分的哥伦布莱斯码字的指令。
CN201680007093.8A 2015-01-30 2016-01-29 用于译码视频数据的方法、装置和计算机可读存储媒体 Active CN107211139B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562110395P 2015-01-30 2015-01-30
US62/110,395 2015-01-30
US201562110995P 2015-02-02 2015-02-02
US62/110,995 2015-02-02
US15/009,678 2016-01-28
US15/009,678 US10425659B2 (en) 2015-01-30 2016-01-28 Coding escape pixels for palette coding
PCT/US2016/015707 WO2016123513A1 (en) 2015-01-30 2016-01-29 Coding escape pixels for palette coding

Publications (2)

Publication Number Publication Date
CN107211139A CN107211139A (zh) 2017-09-26
CN107211139B true CN107211139B (zh) 2020-06-16

Family

ID=55398443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680007093.8A Active CN107211139B (zh) 2015-01-30 2016-01-29 用于译码视频数据的方法、装置和计算机可读存储媒体

Country Status (12)

Country Link
US (1) US10425659B2 (zh)
EP (1) EP3251355B1 (zh)
JP (1) JP6710691B2 (zh)
KR (1) KR102218511B1 (zh)
CN (1) CN107211139B (zh)
AU (1) AU2016211272B2 (zh)
BR (1) BR112017016337A2 (zh)
EA (1) EA038545B1 (zh)
ES (1) ES2873548T3 (zh)
TN (1) TN2017000297A1 (zh)
TW (1) TWI689195B (zh)
WO (1) WO2016123513A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135004B (zh) * 2017-04-20 2020-04-03 中国科学技术大学 一种对地震数据流的自适应实时无损压缩方法
US10706492B2 (en) * 2017-09-05 2020-07-07 Texas Instruments Incorporated Image compression/decompression in a computer vision system
GB2570710B (en) * 2018-02-05 2022-10-12 Sony Corp Data encoding and decoding
US10778971B2 (en) * 2018-06-01 2020-09-15 Tencent America LLC Method and apparatus for video coding
US11695919B2 (en) * 2018-08-28 2023-07-04 Google Llc Lossy image compression using palettization of locally mixed colors
JP7479062B2 (ja) * 2018-10-01 2024-05-08 オーピー ソリューションズ, エルエルシー 指数関数的分割の方法およびシステム
US10652537B1 (en) * 2018-11-21 2020-05-12 Alibaba Group Holding Limited Coding unit size adaptive palette mode for video compression system
JP7197720B2 (ja) 2019-02-24 2022-12-27 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の独立した符号化
JP2022065225A (ja) * 2019-03-08 2022-04-27 シャープ株式会社 Lic部、画像復号装置および画像符号化装置
KR20220032520A (ko) 2019-07-20 2022-03-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 팔레트 모드 사용 지시의 조건 종속적인 코딩
CN117221536A (zh) 2019-07-23 2023-12-12 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
CN114208188A (zh) 2019-07-29 2022-03-18 北京字节跳动网络技术有限公司 调色板模式编解码的扫描顺序改进
MX2022001928A (es) 2019-08-15 2022-05-24 Beijing Dajia Internet Information Tech Co Ltd Métodos y aparatos de codificación de vídeo usando el modo paleta.
JP7358136B2 (ja) * 2019-09-17 2023-10-10 キヤノン株式会社 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム
WO2021055114A1 (en) * 2019-09-20 2021-03-25 Alibaba Group Holding Limited Method and system for signaling chroma quantization parameter offset
JP7201873B2 (ja) * 2019-09-24 2023-01-10 ベイジン ダジア インターネット インフォメーション テクノロジー カンパニー リミテッド 残差及び係数符号化の方法、プログラム並びに装置
WO2021067278A1 (en) * 2019-10-01 2021-04-08 Beijing Dajia Internet Informationtechnology Co., Ltd. Methods and apparatus of residual and coefficient coding
JP2023504408A (ja) * 2019-12-05 2023-02-03 アリババ グループ ホウルディング リミテッド クロマサンプリングのための方法及び装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5400057A (en) * 1990-06-27 1995-03-21 Texas Instruments Incorporated Internal test circuits for color palette device
CN1501712A (zh) * 2002-11-12 2004-06-02 北京中视联数字系统有限公司 一种实现图文混合显示的方法
CN102870413A (zh) * 2010-04-09 2013-01-09 高通股份有限公司 用于视频数据译码的可变长度码
CN103155555A (zh) * 2010-10-01 2013-06-12 高通股份有限公司 视频译码中的译码预测模式
CN103404144A (zh) * 2011-03-04 2013-11-20 高通股份有限公司 视频译码中的经量化脉码调制
WO2014165789A1 (en) * 2013-04-05 2014-10-09 Qualcomm Incorporated Determining palettes in palette-based video coding
CN104205835A (zh) * 2012-03-22 2014-12-10 高通股份有限公司 导出最末位置译码的上下文以供视频译码
CN104301737A (zh) * 2013-07-15 2015-01-21 华为技术有限公司 目标图像块的解码方法和编码方法以及解码器和编码器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100124272A1 (en) * 2008-11-19 2010-05-20 Gene Fein Coded pulse data transmission using a look-up table
US9729875B2 (en) * 2013-07-08 2017-08-08 Sony Corporation Palette coding mode
US9558567B2 (en) 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
GB2521828A (en) 2013-12-23 2015-07-08 Sony Corp Data encoding and decoding
KR101845462B1 (ko) * 2014-03-14 2018-04-04 브이아이디 스케일, 인크. 스크린 콘텐츠 코딩을 위한 팔레트 코딩
CN106464912B (zh) 2014-05-23 2019-06-21 寰发股份有限公司 调色板表预测和发信的方法和装置
US20170171560A1 (en) * 2014-06-20 2017-06-15 Sharp Kabushiki Kaisha Efficient palette coding for screen content codings

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5400057A (en) * 1990-06-27 1995-03-21 Texas Instruments Incorporated Internal test circuits for color palette device
CN1501712A (zh) * 2002-11-12 2004-06-02 北京中视联数字系统有限公司 一种实现图文混合显示的方法
CN102870413A (zh) * 2010-04-09 2013-01-09 高通股份有限公司 用于视频数据译码的可变长度码
CN103155555A (zh) * 2010-10-01 2013-06-12 高通股份有限公司 视频译码中的译码预测模式
CN103404144A (zh) * 2011-03-04 2013-11-20 高通股份有限公司 视频译码中的经量化脉码调制
CN104205835A (zh) * 2012-03-22 2014-12-10 高通股份有限公司 导出最末位置译码的上下文以供视频译码
WO2014165789A1 (en) * 2013-04-05 2014-10-09 Qualcomm Incorporated Determining palettes in palette-based video coding
WO2014165784A1 (en) * 2013-04-05 2014-10-09 Qualcomm Incorporated Determining palette indices in palette-based video coding
CN104301737A (zh) * 2013-07-15 2015-01-21 华为技术有限公司 目标图像块的解码方法和编码方法以及解码器和编码器

Also Published As

Publication number Publication date
ES2873548T3 (es) 2021-11-03
EP3251355B1 (en) 2021-02-24
CN107211139A (zh) 2017-09-26
TWI689195B (zh) 2020-03-21
WO2016123513A1 (en) 2016-08-04
JP2018507623A (ja) 2018-03-15
US10425659B2 (en) 2019-09-24
AU2016211272B2 (en) 2019-11-21
KR102218511B1 (ko) 2021-02-19
EA201791496A1 (ru) 2017-11-30
BR112017016337A2 (pt) 2018-03-27
US20160227247A1 (en) 2016-08-04
EA038545B1 (ru) 2021-09-13
KR20170108965A (ko) 2017-09-27
JP6710691B2 (ja) 2020-06-17
EP3251355A1 (en) 2017-12-06
AU2016211272A1 (en) 2017-07-13
TN2017000297A1 (en) 2019-01-16
TW201633782A (zh) 2016-09-16

Similar Documents

Publication Publication Date Title
CN107211139B (zh) 用于译码视频数据的方法、装置和计算机可读存储媒体
US11785222B2 (en) Palette mode encoding and decoding design
CN107710765B (zh) 用于译码视频数据的方法和装置及计算机可读存储介质
CN106464877B (zh) 在视频译码中确定将解块滤波应用于经调色板译码块
US10097842B2 (en) Restriction of escape pixel signaled values in palette mode video coding
US10136141B2 (en) Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
CN107113436B (zh) 用于解码视频数据的方法和装置以及计算机可读存储媒体
US9900617B2 (en) Single color palette mode in video coding
US20180199062A1 (en) Intra prediction techniques for video coding
KR102305988B1 (ko) 팔레트-기반 비디오 코딩을 위한 컬러 인덱스 코딩
US20160234494A1 (en) Restriction on palette block size in video coding
US20160227254A1 (en) Coding palette run in palette-based video coding
US9961351B2 (en) Palette mode coding
OA18377A (en) Coding escape pixels for palette coding.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant