CN106105200B - 基于调色板的视频译码 - Google Patents
基于调色板的视频译码 Download PDFInfo
- Publication number
- CN106105200B CN106105200B CN201580012718.5A CN201580012718A CN106105200B CN 106105200 B CN106105200 B CN 106105200B CN 201580012718 A CN201580012718 A CN 201580012718A CN 106105200 B CN106105200 B CN 106105200B
- Authority
- CN
- China
- Prior art keywords
- pixel
- row
- palette
- decoding
- block
- 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
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/124—Quantisation
-
- 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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
-
- 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)
- Color Television Systems (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
在实例中,一种译码视频数据的方法包含通过视频译码器和针对视频数据的块确定具有指示多个相应色彩值的多个输入项的调色板,其中视频数据的所述块的第一排包含邻近于视频数据的所述块的边缘而定位的像素,且其中视频数据的所述块的第二排包含邻近于所述块的所述边缘并邻近于所述第一排的所述像素而定位的像素。在此实例中,所述方法还包含按扫描次序译码将所述块的像素映射到所述调色板中的输入项的索引值,其中所述第二排的所述像素按所述扫描次序紧跟在所述第一排的所述像素之后。
Description
本申请案主张2014年3月14日申请的美国临时申请案第61/953,667号的权益,所述申请案的整个内容以引用的方式并入本文中。
技术领域
本发明涉及视频编码和解码。
背景技术
数字视频能力可并入到广泛范围的装置中,所述装置包含数字电视、数字直播***、无线广播***、个人数字助理(PDA)、膝上型或台式计算机、平板型计算机、电子书读取器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能型电话”、视频电传会议装置、视频流式发射装置和其类似者。数字视频装置实施例如以下各者的视频压缩技术:描述于由MPEG-2、MPEG-4、ITU-TH.263、ITU-T H.264/MPEG-4第10部分(先进视频译码(AVC))定义的标准、目前在开发中的高效率视频译码(HEVC)标准和这些标准的扩展中的视频压缩技术。视频装置可通过实施这些视频压缩技术而较有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术可执行空间(图片内)预测和/或时间(图片间)预测以减小或去除视频序列中所固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块。可使用相对于同一图片中的相邻块中的参考样本的空间预测来编码图片的帧内译码(I)的切片中的视频块。图片的帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测引起待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量和指示经译码块与预测性块之间的差的残余数据来编码帧间译码块。根据帧内译码模式和残余数据来编码帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而导致残余系数,接着可对残余系数进行量化。最初布置成二维阵列的经量化系数可经扫描以便产生系数的一维向量,且熵译码可应用以达成甚至更多压缩。
发明内容
本发明的技术涉及基于调色板的视频译码。举例来说,在基于调色板的译码中,视频译码器(视频编码器或视频解码器)可将所谓的“调色板”形成为用于表示特定区域(例如,给定块)的视频数据的色彩表。基于调色板的译码可尤其适用于译码具有相对较小数目色彩的视频数据的区域。视频译码器可译码像素中的一或多者的索引值,而非译码实际像素值(或其残余),所述索引值使像素与表示像素的色彩的调色板中的输入项相关。调色板可经明确地编码并发送到解码器,从先前调色板输入项预测,或其组合。本发明中描述的技术可包含用于发信基于调色板的译码模式、译码调色板、预测调色板、导出调色板以及译码基于调色板的译码映射和其它语法元素中的一或多者的不同组合的技术。
在一个实例中,译码视频数据的方法包含通过视频译码器和针对视频数据的块确定具有指示多个相应色彩值的多个输入项的调色板,其中视频数据的块的第一排包含邻近于视频数据的块的边缘而定位的像素,且其中视频数据的块的第二排包含邻近于所述块的边缘并邻近于第一排的像素而定位的像素。在此实例中,方法也包含按扫描次序译码将块的像素映射到调色板中的输入项的索引值,其中第二排的像素按扫描次序紧跟在第一排的像素之后。
在另一实例中,用于译码视频数据的设备包含经配置以存储视频数据的块的存储器,和一或多个处理器。在此实例中,一或多个处理器经配置以:针对视频数据的块确定具有指示多个相应色彩值的多个输入项的调色板,其中视频数据的块的第一排包含邻近于视频数据的块的边缘而定位的像素,且其中视频数据的块的第二排包含邻近于块的边缘并邻近于第一排的像素而定位的像素;和按扫描次序译码将块的像素映射到调色板中的输入项的索引值,其中第二排的像素按扫描次序紧跟在第一排的像素之后。
在另一实例中,用于译码视频数据的设备包含用于通过视频译码器和针对视频数据的块确定具有指示多个相应色彩值的多个输入项的调色板的装置,其中视频数据的块的第一排包含邻近于视频数据的块的边缘而定位的像素,且其中视频数据的块的第二排包含邻近于块的边缘并邻近于第一排的像素而定位的像素;和用于按扫描次序译码将块的像素映射到调色板中的输入项的索引值的装置,其中第二排的像素按扫描次序紧跟在第一排的像素之后。
在另一实例中,计算机可读媒体在其上存储指令,所述指令在经执行时使视频译码器的一或多个处理器:针对视频数据的块确定具有指示多个相应色彩值的多个输入项的调色板,其中视频数据的块的第一排包含邻近于视频数据的块的边缘而定位的像素,且其中视频数据的块的第二排包含邻近于块的边缘并邻近于第一排的像素而定位的像素;和按扫描次序译码将块的像素映射到调色板中的输入项的索引值,其中第二排的像素按扫描次序紧跟在第一排的像素之后。
在随附图式和以下描述中阐明了本发明的一或多个实例的细节。其它特征、目标和优势将从描述、图式和权利要求书显而易见。
附图说明
图1为说明可利用本发明中所描述的技术的实例视频译码***的框图。
图2为说明可实施本发明中所描述的技术的实例视频编码器的框图。
图3为说明可实施本发明中所描述的技术的实例视频解码器的框图。
图4为说明根据本发明的技术的确定用于译码视频数据的调色板的实例的概念图。
图5为根据本发明的技术的确定到像素的块的调色板的索引的实例的概念图。
图6A和6B为说明根据本发明的技术的实例扫描次序的概念图。
图7A到7C为说明根据本发明的技术的基于调色板的视频译码的实例模式的概念图。
图8A到8C为说明根据本发明的技术的基于调色板的视频译码的实例模式的概念图。
图9为说明根据本发明的技术的用于使用调色板译码模式译码视频数据的实例过程的流程图。
图10为说明根据本发明的技术的用于确定视频数据的块的调色板的实例过程的流程图。
具体实施方式
本发明包含用于视频译码和压缩的技术。明确地说,本发明描述用于视频数据的基于调色板的译码的技术。在传统视频译码中,图像经假定为连续色调且在空间上平滑。基于这些假定,已开发不同工具,例如基于块的变换、滤波等,和这些工具已展示针对天然内容视频的良好性能。
然而,在类似远程台式、合作工作和无线显示器的应用中,计算机产生的屏幕内容(例如,本文或计算机图形)可为待压缩的主内容。此类型的内容倾向于具有离散色调和特征尖锐线,和高对比度目标边界。连续色调和平滑度的假设可不再适用于屏幕内容,和因此传统视频译码技术可不为压缩包含屏幕内容的视频数据的有效率的方式。
本发明描述基于调色板的译码,其可特别适合于屏幕产生的内容译码。举例来说,假定视频数据的特定区域具有相对较小数目个色彩。视频译码器(视频编码器或视频解码器)可将所谓的“调色板”译码为用于表示特定区域(例如,给定块)的视频数据的色彩表。每一像素可与调色板中表示像素的色彩的输入项相关联。举例来说,视频译码器可译码将像素值映射到调色板中的适当输入项的索引。
在以上实例中,视频编码器可通过确定用于块的调色板(例如,明确地译码调色板、预测其,或其组合)、定位表示每一像素的值的在调色板中的输入项和通过像素的索引值(将像素值映射到调色板)编码调色板而编码视频数据的块。视频解码器可从经编码位流获得用于块的调色板,以及用于块的像素的索引值。视频解码器可将像素的索引值映射到调色板的输入项以重新构建块的像素值。
以上实例希望提供基于调色板的译码的一般描述。在各种实例中,本发明中描述的技术可包含用于发信基于调色板的译码模式、发射调色板、预测调色板、导出调色板以及发射基于调色板的译码映射和其它语法元素中的一或多者的不同组合的技术。这些技术可改善视频译码效率,例如需要较少位来表示屏幕产生的内容。
用于视频数据的基于调色板译码的技术可与一或多个其它译码技术(例如,用于帧间或帧内预测性译码的技术)一起使用。举例来说,如下文较详细描述,编码器或解码器,或组合的编码器解码器(编解码器)可经配置以执行帧间或帧内预测性译码,以及基于调色板的译码。
在一些实例中,基于调色板的译码技术可经配置以与一或多个视频译码标准一起使用。举例来说,高效率视频译码(HEVC)为由ITU-T视频译码专家群组(VCEG)和ISO/IEC运动图片专家群组(MPEG)的视频译码联合合作小组(JCT-VC)开发的新的视频译码标准。最新的HEVC文本规范描述于可在www.itu.int/rec/T-REC-H.265-201304-I处获得的布罗斯(Bross)等人的“高效率视频译码(HEVC)文本规范(High Efficiency Video Coding(HEVC)Text Specification)”(“HEVC版本1”)中。
就HEVC构架来说,作为实例,基于调色板的译码技术可经配置以用作译码单元(CU)模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC的构架中的PU模式。相应地,在CU模式的上下文中描述的以下所有揭示过程可另外或替代地适用于PU。然而,不应认为这些基于HEVC的实例约束或限制本文中所描述的基于调色板的译码技术,因为这些技术可应用以独立地或作为其它现有或尚待开发***/标准的一部分工作。在这些情况下,用于调色板译码的单元可为方形块、矩形块或甚至非矩形形状区域。
本发明的方面涉及译码将块的像素映射到调色板中的输入项(各自对应于相应色彩值)的索引值。视频译码器可按特定次序译码映射的索引值,所述特定次序可被称作扫描次序或扫描方向。举例来说,如下文关于图6A的实例较详细地描述,可自上而下、从左到右以可被称作光栅扫描次序的次序扫描映射的索引。在光栅扫描次序中,可直接在先前排的最后索引之后扫描当前排的第一索引。
然而,在一些实例中,按光栅扫描次序扫描索引可并不有效率。举例来说,在视频数据的块的第一排包含邻近于视频数据的块的第一边缘的第一像素和邻近于视频数据的块的第二边缘的最后像素,视频数据的块的第二排包含邻近于视频数据的块的第一边缘的第一像素和邻近于视频数据的块的第二边缘的最后像素的情况下,第一排的最后像素邻近于第二排的最后像素,且第一边缘与第二边缘平行,第一排中的最后像素与第二排中的最后像素相同,但不同于第二排中的第一像素。与其它类型的视频内容相比,此情况(即,其中第一排中的最后像素与第二排中的最后像素相同或类似,但不同于第二排中的第一像素)可更频繁出现在计算机产生屏幕内容中。换句话说,对于屏幕内容,可存在位于块的相同边缘的像素与位于块的相对边缘的像素相比具有相同或类似值的较高概率。光栅扫描可不利用此相关性。
根据本发明的一或多个技术,当编码映射时视频译码器可利用蛇形扫描次序。举例来说,为继续以上实例和如下文关于图6B的实例较详细地描述,视频编码器20可译码映射,以使得第二排的最后像素紧跟在第一排的最后像素之后按扫描次序扫描。以此方式,视频编码器20可改善延行长度译码的效率。
图1为说明可利用本发明的技术的实例视频译码***10的框图。如本文所使用,术语“视频译码器”大体指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可大体指视频编码或视频解码。视频译码***10的视频编码器20和视频解码器30表示可经配置以执行根据本发明中描述的各种实例的用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20和视频解码器30可经配置以使用基于调色板的译码或非基于调色板的译码而选择性地译码视频数据的不同块(例如,HEVC译码中的CU或PU)。非基于调色板的译码模式可指不同帧间预测性时间译码模式或帧内预测性空间译码模式,例如通过HEVC版本1指定的不同译码模式。
如图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仅为实例,且本发明的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,数据是从本机存储器而检索、经由网络而流式发射,或其类似者。视频编码装置可编码数据和将数据存储到存储器,和/或视频解码装置可从存储器检索数据和解码数据。在许多实例中,由并不彼此通信但简单地将数据编码到存储器和/或从存储器检索数据并解码数据的装置来执行编码和解码。
在图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版本1中描述的HEVC标准)操作。除基本HEVC标准以外,存在持续努力产生用于HEVC的可调式视频译码,多视图视频译码和3D译码扩展。另外,可在HEVC标准的扩展中提供(例如)如本发明中所描述的基于调色板的译码模式。在一些实例中,本发明中针对基于调色板的译码而描述的技术可应用于经配置以根据其它视频译码标准(例如,ITU-T-H.264/AVC标准或将来标准)操作的编码器和解码器。因此,用于HEVC编解码器中的译码单元(CU)或预测单元(PU)的译码的基于调色板的译码模式的应用是为了实例的目的而描述。
在HEVC和其它视频译码标准中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可包含三个样本阵列,表示为SL、SCb和SCr。SL为亮度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr为Cr色度样本的二维阵列。色度(Chrominance)样本也可在本文中被称作“色度(chroma)”样本。在其它情况下,图片可为单色的,且可仅包含亮度样本的阵列。
为产生图片的经编码表示,视频编码器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的预测性亮度块中的一者中的亮度样本与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的亮度变换块,以产生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可通过导出当前块中的像素的直方图而导出当前块的调色板。在一些实例中,直方图可表达为H={(vi,fi),i={0,1,2,…,M}},其中M+1为当前块中的不同像素值的数目,vi为像素值,fi为vi出现的数目(即,当前块中多少像素具有像素值vi)。在这些实例中,直方图大体上表示像素值出现在当前块中的次数。
当导出直方图时,视频编码器20可初始化一或多个变量。作为一个实例,视频编码器20可将调色板索引idx初始化为0,(即,设定idx=0)。作为另一实例,视频编码器20可将调色板P初始化为空(即,设定j=0)。
视频编码器20可(例如,按降序)排序直方图,以使得具有更多出现的像素接近值列表的前面放置。举例来说,视频编码器20可根据fi的降序排序H且定序列表可表达为Ho={(ui,fi),i={0,1,2,…,M},fi≥fi+1}。在此实例中,定序列表包含在列表的前面(顶部)处的最多频繁出现的像素值和在列表的后面(底部)处的最少频繁出现的像素值。
视频编码器20可将来自直方图的一或多个输入项复制到调色板中。作为一个实例,视频编码器20可将直方图中具有最大频率的输入项***到调色板中。举例来说,视频编码器20可将(j,uj)***到调色板P中(即,P=P∪{(idx,uj)})。在一些实例中,在将输入项***到调色板中之后,视频编码器20可评估直方图中的具有下一最大频率的输入项以用于***到调色板中。举例来说,视频编码器20可设定idx=idx+1,j=j+1。
视频编码器20可确定具有下一最大频率的输入项(即,uj+1)是否在调色板中的任何像素(即,x)的邻域内(即,Distance(uj+1,x)<Thresh)。举例来说,视频编码器20可通过确定输入项的值是否在调色板中的任何像素的值的阈值距离内而确定输入项是否在调色板中的任何像素的邻域内。在一些实例中,视频编码器20可灵活地选择距离函数。作为一个实例,视频编码器20可选择距离函数作为绝对差的和(SAD)或三个色彩分量(例如,亮度、蓝色色调色度和红色色调色度中的每一者)或一个色彩分量(例如,亮度、蓝色色调色度或红色色调色度中的一者)的预测平方误差的和(SSE)。在一些实例中,视频编码器20可灵活地选择阈值Thresh。作为一个实例,视频编码器20可选择取决于当前块的量化参数(QP)的阈值。作为另一实例,视频编码器20可选择取决于idx的值或j的值的阈值。
如果视频编码器20确定具有下一最大频率的输入项(即,uj+1)在调色板中的任何像素的邻域内,那么视频编码器20可不***直方图中的输入项。如果视频编码器20确定具有下一最大频率的输入项(即,uj+1)不在调色板中的任何像素的邻域内,那么视频编码器20可***直方图中的输入项。
视频编码器20可继续在调色板中***输入项直到满足一或多个条件为止。一些实例条件为当idx=M时,当j=M时,或当调色板的大小大于预定值时。
基于调色板的译码可具有一定量发信额外负荷。举例来说,可需要数个位来发信调色板的特性(例如,调色板的大小)以及调色板自身。另外,可需要数个位来发信块的像素的索引值。在一些实例中,本发明的技术可减少发信此信息所需的位的数目。举例来说,本发明中描述的技术可包含用于发信基于调色板的译码模式、发射调色板、预测调色板、导出调色板以及发射基于调色板的译码映射和其它语法元素中的一或多者的不同组合的技术。
在一些实例中,视频编码器20和/或视频解码器30可使用另一调色板预测调色板。举例来说,视频编码器20和/或视频解码器30可确定具有指示第一像素值的第一输入项的第一调色板。视频编码器20和/或视频解码器30可接着基于第一调色板的第一输入项确定指示第二调色板的第二像素值的一或多个第二输入项。视频编码器20和/或视频解码器30也可使用第二调色板译码视频数据的块的像素。
当基于第一调色板中的输入项确定第二调色板的输入项时,视频编码器20可编码多种语法元素,其可通过视频解码器使用以重新构建第二调色板。举例来说,视频编码器20可编码位流中的一或多个语法元素以指示整个调色板(或多个调色板,在具有独立调色板的视频数据的每一色彩分量(例如,Y、Cb、Cr或Y、U、V或R、G、B)情况下)从当前正被译码的块的一或多个相邻块复制。预测(例如,复制)当前块的当前调色板的输入项所借的调色板可被称作预测性调色板。预测性调色板可含有来自包含在空间上相邻的块和/或按块的特定扫描次序的相邻块的一或多个相邻块的调色板输入项。举例来说,相邻块可在空间上位于当前正被译码的块左边(左相邻块)或位于当前正被译码的块的上(上部相邻块)。在另一实例中,视频编码器20可使用当前块的因果相邻者中的最多频繁样本值确定预测性调色板输入项。在另一实例中,相邻块可与当前正根据用于译码块的特定扫描次序译码的块相邻。即,相邻块可为在当前块之前按扫描次序译码的一或多个块。视频编码器20可编码一或多个语法元素以指示复制调色板所借的相邻块的位置。
在一些实例中,可逐个输入项执行调色板预测。举例来说,视频编码器20可编码一或多个语法元素以针对预测性调色板的每一输入项指示调色板输入项是否包含于当前块的调色板中。如果视频编码器20未预测当前块的调色板的输入项,那么视频编码器20可编码一或多个额外语法元素以指定非预测输入项,以及这些输入项的数目。
上文所描述的语法元素可被称作调色板预测向量。举例来说,如上文所提,视频编码器20和视频解码器30可基于来自相邻块的一或多个调色板(共同地称作参考调色板)预测当前块的调色板。当产生参考调色板时,先进先出(FIFO)可通过添加最近调色板到队列的前面中而使用。如果队列超过预定阈值,那么最老的元素可弹出。在将新元素推到队列的前面中之后,修剪过程可应用以去除复制元素,从队列的开头计数。特定地,在一些实例中,视频编码器20可编码(且视频解码器30可解码)0-1向量以指示参考调色板中的像素值是否再用于当前调色板。作为实例,如以下表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> |
表1
在为达成说明的目的的实例中,视频编码器20可发信指示v0、v2、v3、v4和v5再用于当前调色板中而v1不再使用的向量(1,0,1,1,1,1)。除再使用v0、v2、v3、v4和v5以外,视频编码器20可添加具有索引5和6的两个新项目到当前调色板。以下展示用于此实例的当前调色板。
表2
为译码调色板预测0-1向量,对于向量中的每一项目,视频编码器20可译码一个位以表示其值且可使用旁路CABAC译码所述位。就CABAC来说,作为实例,视频译码器(视频编码器20或视频解码器30)可选择概率模型(也称作上下文模型)以译码与视频数据的块相关联的符号。举例来说,在编码器处,可通过使用概率模型译码目标符号。在解码器处,可通过使用概率模型剖析目标符号。在一些情况下,可使用上下文自适应性与非上下文自适应性译码的组合译码二进制文件。举例来说,视频译码器可使用旁路模式以绕过或省略用于一或多个二进制文件的正规算术译码上下文自适应过程,而对于其它二进制文件那么使用上下文自适应性译码。在这些实例中,视频译码器可使用固定概率模型来旁路译码二进制文件。即,经旁路译码的二进制文件不包含上下文或概率更新。大体来说,上下文译码二进制文件可指使用上下文译码模式译码二进制文件。同样,旁路译码二进制文件可指使用旁路译码模式译码二进制文件。
然而,归因于调色板之间的高相关性,调色板预测向量中的零和一可不均等地分布,其可影响译码效率,例如,因为0-1向量可不充分利用调色板之间的高相关性。另外,不能被预测的调色板项目的数目(例如,新的调色板输入项(在以上表2的实例中的u0和u1)的数目)可使用一元码而二进制化并被发信,一元码中每一位是使用旁路CABAC译码。类似于调色板预测向量中的问题,模型化一元码中的每一位以具有相等概率可为次优方案,例如,因为实际上一元码中的位可具有不同概率。
根据本发明的一或多个技术,视频编码器20可使用CABAC通过上下文译码调色板预测向量和/或一元译码剩余调色板大小,(例如)以相对于依赖于这些二进制文件的旁路译码的技术改善译码效率。在一些实例中,调色板预测向量中的项目可共享单个CABAC上下文。以此方式,可减少复杂性。在一些实例中,一元码可使用单个上下文。也以此方式,可减少复杂性。
在一些实例中,视频编码器20可使用固定长度译码来译码索引值。在这些实例中,视频编码器20可使用旁路CABAC译码在固定长度码中的每一位。然而,在一些情况下,调色板中的索引的数目可不为二的幂。在这些情况下,固定长度码的码字可能无法被完全地利用。举例来说,如果调色板大小为5,那么索引将为0、1、2、3和4。为译码具有固定长度码的每一索引,视频编码器20将必须使用三个位。然而,通过使用三个位,视频编码器20会浪费三个码字(8–5=3),其可影响译码效率。在一些情况下,类似问题可在视频编码器20译码逸出像素时出现。根据本发明的一或多个技术,如与使用固定长度译码相反,视频编码器20可利用截断二进制码来译码索引值和/或逸出像素。
本发明的其它方面涉及构建和/或发射允许视频编码器20和/或视频解码器30确定像素值的映射。举例来说,本发明的其它方面涉及构建和/或发射将特定像素与调色板的输入项相关的索引的映射。
在一些实例中,视频编码器20可指示块的像素是否具有调色板中的对应值。在为达成说明的目的的实例中,假定映射的(i,j)输入项对应于视频数据的块中的(i,j)像素位置。在此实例中,视频编码器20可编码用于块的每一像素位置的旗标。视频编码器20可针对(i,j)输入项设定等于一的旗标以指示在(i,j)位置处的像素值为调色板中的多个值中的一者。当色彩包含于调色板中(即,旗标等于一)时,视频编码器20也可编码指示识别调色板中的色彩的(i,j)输入项的调色板索引的数据。当像素的色彩并未包含于调色板中(即,旗标等于零)时,视频编码器20也可编码指示像素的样本值的数据,所述像素可被称作逸出像素。视频解码器30可从经编码位流获得上文所描述的数据并使用所述数据来确定块中的特定位置的调色板索引和/或像素值。
在一些情况下,可存在给定位置处的像素映射到的调色板索引与映射到相同调色板索引的相邻像素的概率之间的相关性。即,当像素映射到特定调色板索引时,一或多个相邻像素(就空间位置来说)映射到相同调色板索引的概率可相对高。
在一些实例中,视频编码器20和/或视频解码器30可相对于视频数据的一块的一或多个索引确定并译码视频数据的相同块的一或多个索引。举例来说,视频编码器20和/或视频解码器30可经配置以确定一与视频数据的块的第一像素相关联的第一索引值,其中第一索引值将第一像素的值与调色板的输入项相关。视频编码器20和/或视频解码器30也可经配置以基于第一索引值确定与视频数据的块中的一或多个第二像素相关联的一或多个第二索引值,并译码视频数据的块的第一像素和一或多个第二像素。因此,在此实例中,可相对于映射的一或多个其它索引译码映射的索引。
视频编码器20和/或视频解码器30可使用若干方法来相对于映射的一或多个其它索引译码映射的索引。举例来说,
可在http://phenix.it-sudparis.eu/jct/doc_end_user/current_ document.php?id=8765处获得的2014年1月9到17日美国圣何塞ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的视频译码联合合作小组(JCT-VC),第16次会议:郭(Guo)等人的“RCE4:关于针对屏幕内容的调色板译码的HEVC范围扩展核心实验4(RCE4)的总结报告(RCE4:Summary report of HEVC Range Extensions Core Experiments 4(RCE4)onpalette coding for screen content)”文件JCTVC-P0035(下文中,“JCTVC-P0035”)描述调色板模式译码的两种方法,其据报导达成显著BD速率减小,尤其当译码屏幕内容时。
由JCTVC-P0035描述的相对于映射的一或多个其它索引译码映射的索引的第一方法提供三个译码模式。对于每一像素行,可发信旗标以指示译码模式。第一方法可具有三个模式:水平模式、垂直模式和正常模式。另外,如果像素经分类为逸出像素,那么可发射像素值。以下参看图7A到7C更详细地描述水平模式、垂直模式和正常模式。
由JCTVC-P0035描述的相对于映射的一或多个其它索引译码映射的索引的第二方法提供逐输入项预测方案的使用以基于左CU的调色板译码当前调色板。第二方法提供使用三个模式(“在上方复制模式”、“延行模式”和“像素模式”)按光栅扫描次序编码CU中的像素。下文参看图8A到8C更详细地描述“在上方复制模式”、“延行模式”和“像素模式”。
本质上,由JCTVC-P0035描述的上述两种方法的两者共享复制先前重新构建像素的类似结构。类似于延行长度译码,候选者开始位置和延行长度必须被译码。举例来说,在第一方法中,存在至多四个候选者开始复制位置。对于垂直模式和水平模式,延行长度经隐含地指派为行的宽度,对于正常模式,延行长度经隐含地指派为1。不同于第一方法,第二方法中的延行长度值(例如)在位流中经明确地译码。在一些实例中,第二方法可(例如)归因于其更多可挠性结构而具有比第一方法好的译码效率。
在一些实例中,视频编码器20可编码指示按给定扫描次序映射到相同索引值的连续像素的数目的一或多个语法元素。相同值索引值的串在本文中可称为“延行(重复)”且可使用类似于由JCTVC-P0035描述的“延行模式”的模式而译码。在一些实例中,像素值可恰好与调色板中的一个索引值相关联。因此,在一些情况下,值的延行也可指相同值像素值的串。在其它实例中,如下文关于有损译码所描述,一个以上像素值可映射到调色板中的相同索引值。在这些实例中,值的延行指相同值索引值。
在为达成说明的目的的实例中,如果按给定扫描次序的两个连续索引具有不同值,那么延行等于零。如果按给定扫描次序的两个连续索引具有相同值但按扫描次序的第三索引具有不同值,那么延行等于一。视频解码器30可从经编码位流获得指示延行的语法元素并使用数据以确定具有相同索引值的连续像素位置的数目。
另外或替代地,视频编码器20和视频解码器30可针对映射的一或多个输入项执行排复制。在这些情况下,可使用类似于通过JCTVC-P0035描述的“在上方复制模式”的模式译码索引。输入项也可归因于映射的输入项与块的像素位置之间的关系而被称作“位置”。在一些实例中,排复制可取决于扫描方向。举例来说,视频编码器20可指示块中的特定位置的像素值或索引映射值等于在特定位置上方的排中(对于水平扫描)或在特定位置左边的列中(对于垂直扫描)的像素或索引值。视频编码器20也可将等于在特定位置上方或特定位置左边的列的对应像素值或索引的按扫描次序的像素值或索引的数目指示为延行。在此实例中,视频编码器20和或视频解码器30可从指定相邻排和从用于当前被译码的块的排的输入项的指定数目复制像素或索引值。
在一些情况下,复制值所借的排可直接邻近于当前正被译码的位置的排,例如在当前正被译码的位置的排上方或在当前正被译码的位置的排的左边。在其它实例中,块的数个排可由视频编码器20和/或视频解码器30缓冲,以使得映射的数个排中的任一者可用作当前被译码的映射的排的预测值。在为达成说明的目的的实例中,视频编码器20和/或视频解码器30可经配置以在译码像素的当前行之前存储索引或像素值的先前四个行。在此实例中,预测行(复制索引或像素值所借的行)可在具有截断一元码或其它码(例如,一元码)的位流中指示。就截断一元码来说,视频编码器20和/或视频解码器30可基于最大行计算(例如,row_index-1)或最大列计算(例如,column_index-1)确定截断一元码的最大值。另外,来自被复制预测行的位置的数目的指示也可包含于位流中。在一些情况下,如果预测当前位置所借的排或列属于另一块(例如,CU或CTU),那么可禁用此预测或可使用默认索引值(例如,0)。
在一些实例中,可结合用于上文所描述的排复制的技术使用用于译码输入项的所谓的延行的技术。举例来说,视频编码器20可编码指示映射中的输入项的值是从调色板获得还是所述映射中的输入项的值是从所述映射中的先前译码排获得(例如,复制模式或像素模式)的一或多个语法元素(例如,旗标)。视频编码器20也可编码指示调色板的索引值或排(行或列)中的输入项的位置的一或多个语法元素。视频编码器20也可编码指示数个连续输入项共享相同值(例如,延行模式)的一或多个语法元素。视频解码器30可从经编码位流获得此信息并使用所述信息来重新构建用于块的映射和像素值。
如上文所提,按特定次序扫描映射的索引,特定次序可被称作扫描次序或扫描方向。之后,扫描索引(大体上按特定扫描次序的索引)大体上指索引包含于位流中(或从位流剖析)的方式。在一些实例中,扫描次序可为垂直、水平或以对角线(例如,块中对角地45度或135度)。举例来说,如下文关于图6A的实例较详细地说明和描述,可从上而下、从左到右按可被称作光栅扫描次序的次序扫描映射的索引。在光栅扫描次序中,可直接在先前排的最后索引之后扫描当前排的第一索引。
然而,在一些实例中,按光栅扫描次序扫描索引可能并不有效率。举例来说,在视频数据的块的第一排包含邻近于视频数据的块的第一边缘的第一像素和邻近于视频数据的块的第二边缘的最后像素,视频数据的块的第二排包含邻近于视频数据的块的第一边缘的第一像素和邻近于视频数据的块的第二边缘的最后像素的情况下,第一排的最后像素邻近于第二排的最后像素,且第一边缘与第二边缘平行,第一排中的最后像素与第二排中的最后像素相同,但不同于第二排中的第一像素。与其它类型的视频内容相比,此情况(即,其中第一排中的最后像素与第二排中的最后像素相同或类似,但不同于第二排中的第一像素)可更频繁出现在计算机产生屏幕内容中。换句话说,对于屏幕内容,可存在位于块的相同边缘的像素与位于块的相对边缘的像素相比具有相同或类似值的较高概率。光栅扫描可不利用此相关性。
根据本发明的一或多个技术,当编码映射时视频编码器20可利用蛇形扫描次序。举例来说,为继续上述实例且如下文关于图6B的实例较详细地描述,视频编码器20可编码映射,以使得直接在第一排的最后像素之后按扫描次序扫描第二行的最后像素。以此方式,视频编码器20可改善延行长度译码的效率。
当解码映射时视频解码器30也可利用蛇形扫描次序。举例来说,视频解码器30可解码映射,以使得直接在第一排的最后像素之后按扫描次序扫描第二排的最后像素。以此方式,视频解码器30可改善延行长度译码的效率。
在一些实例中,视频编码器20或视频解码器30可使用一或多个其它扫描次序,其可包含(但不限于)垂直扫描、钢琴形状和Z形。钢琴形状扫描次序可通过遵循其中每一按键在顶部处(在黑色按键之间)为两个像素宽和在底部处为至少两个像素宽的钢琴的白按键的边缘而表示。
在一些实例中,视频编码器20可编码每一块的指示用于扫描所述块的索引的扫描方向的一或多个语法元素。另外或替代地,可基于所谓的旁侧信息(例如,块大小、色彩空间和/或色彩分量)发信或推断扫描方向。视频编码器20可指定用于块的每一色彩分量的扫描。替代地,指定的扫描可应用于块的全部色彩分量。
当使用基于调色板的译码模式时,调色板由视频编码器20(例如)使用本文中所描述的技术中的一或多者在经编码视频数据位流中发射以供视频解码器30使用。调色板可经发射用于每一块或可在数个块中共享。调色板可指对于块来说为主要和/或代表性的数个像素值。
在一些实例中,调色板的大小(例如,就包含于调色板中的像素值的数目来说)可为固定的或可使用经编码位流中的一或多个语法元素而发信。如下文较详细地描述,像素值可由数个样本(例如,视用于译码的色彩空间而定)构成。举例来说,像素值可包含亮度和色度样本(例如,亮度、U色度和V色度(YUV)或亮度、Cb色度和Cr色度(YCbCr)样本)。在另一实例中,像素值可包含红色、绿色和蓝色(RGB)样本。如本文所描述,术语像素值大体上可指促成像素的样本中的一或多者。即,术语像素值未必指促成像素的全部样本,且可用于描述促成像素的单个样本值。
在一些实例中,用于视频数据的基于调色板的译码的技术可与一或多个其它译码技术(例如用于帧间或帧内预测性译码的技术)一起使用。举例来说,如下文较详细描述,编码器或解码器,或组合的编码器-解码器(编解码器)可经配置以执行帧间或帧内预测性译码,以及基于调色板的译码。
图2为说明可实施本发明的技术的视频编码器20的实例的框图。出于解释的目的而提供图2,且不应将所述图视为对如本发明中所广泛例示和描述的技术的限制。出于解释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
视频编码器20表示可经配置以根据本发明中描述的各种实例执行用于基于调色板的视频译码的技术的装置的实例。举例来说,视频编码器20可经配置以使用基于调色板的译码或非基于调色板的译码而选择性地译码视频数据的不同块(例如,HEVC译码中的CU或PU)。非基于调色板的译码模式可指不同帧间预测时间译码模式或帧内预测空间译码模式,例如由HEVC草案10指定的不同译码模式。在一个实例中,视频编码器20可经配置以产生指示像素值的调色板输入项,选择调色板中的像素值以表示视频数据的块的至少一些位置的像素值,并发信将视频数据的块的至少一些位置与分别对应于选定像素值的调色板中的输入项相关联的信息。发信的信息可由视频解码器30使用以解码视频数据。
在图2的实例中,视频编码器20包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重新构建单元112、滤波器单元114、经解码图片缓冲器116和熵编码单元118。预测处理单元100包含帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120包含运动估计单元和运动补偿单元(图中未示)。视频编码器20也包含经配置以执行本发明中所描述的基于调色板的译码技术的各种方面的基于调色板的编码单元122。在其它实例中,视频编码器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的运动信息。取决于PU在I切片中、P切片中还是B切片中,帧间预测处理单元120可针对CU的PU执行不同操作。在I切片中,所有PU经帧内预测。之后,如果PU在I切片中,那么帧间预测处理单元120并不对PU执行帧间预测。因此,对于I模式中编码的块,经预测块使用来自经先前编码的同一帧内的相邻块的空间预测而形成。
如果PU在P切片中,那么帧间预测处理单元120的运动估计单元可在用于PU的参考区域的参考图片的列表(例如,“RefPicList0”)中搜索参考图片。PU的参考区域可为参考图片内,含有最紧密地对应于PU的样本块的样本块的区域。运动估计单元可产生指示含有PU的参考区域的参考图片的RefPicList0中的位置的参考索引。另外,运动估计单元可产生指示PU的译码块与相关联于参考区域的参考位置之间的空间位移的MV。举例来说,MV可为用以提供从当前经解码图片中的坐标到参考图片中的坐标的偏移的二维向量。运动估计单元可将参考索引和MV输出为PU的运动信息。帧间预测处理单元120的运动补偿单元可基于在由PU的运动向量指示的参考位置处的实际或内插样本产生PU的预测性样本块。
如果PU在B切片中,那么运动估计单元可针对PU执行单向预测或双向预测。为针对PU执行单向预测,运动估计单元可搜索RefPicList0的参考图片,或用于PU的参考区域的第二参考图片列表(“RefPicList1”)。运动估计单元可将指示含有参考区域的参考图片的RefPicList0或RefPicList1中的位置的参考索引、指示PU的样本块与关联于参考区域的参考位置之间的空间位移的MV和指示参考图片在RefPicList0还是RefPicList1中的一或多个预测方向指示符输出为PU的运动信息。帧间预测处理单元120的运动补偿单元可至少部分基于在由PU的运动向量指示的参考区域处的实际或内插样本产生PU的预测性样本块。
为针对PU执行双向帧间预测,运动估计单元可在用于PU的参考区域的RefPicList0中搜索参考图片,且也可在用于PU的另一参考区域的RefPicList1中搜索参考图片。运动估计单元可产生指示含有参考区域的参考图片的RefPicList0和RefPicList1中的位置的参考图片索引。另外,运动估计单元可产生指示与参考区域相关联的参考位置与PU的样本块之间的空间位移的MV。PU的运动信息可包含PU的参考索引和MV。运动补偿单元可至少部分基于由PU的运动向量指示的参考区域处的实际样本或经内插样本来产生PU的预测性样本块。
根据本发明的各种实例,视频编码器20可经配置以执行基于调色板的译码。就HEVC构架来说,作为实例,基于调色板的译码技术可经配置以用作译码单元(CU)模式。在其它实例中,基于调色板的译码技术可经配置以用作HEVC的构架中的PU模式。因此,本文中(贯穿本发明)在CU模式的上下文中描述的全部揭示过程可另外或替代地适用于PU。然而,不应认为这些基于HEVC的实例约束或限制本文中所描述的基于调色板的译码技术,因为这些技术可应用以独立地或作为其它现有或尚待开发***/标准的一部分工作。在这些情况下,用于调色板译码的单元可为方形块、矩形块或甚至非矩形形状区域。
当基于调色板的编码模式经选择(例如)用于CU或PU时,基于调色板的编码单元122(例如)可执行基于调色板的解码。举例来说,基于调色板的编码单元122可经配置以产生具有指示像素值的输入项的调色板,选择调色板中的像素值以表示视频数据的块的至少一些位置的像素值,并发信将视频数据的块的位置中的至少一些与分别对应于所选择像素值的调色板中的输入项相关联的信息。尽管各种功能经描述为通过基于调色板的编码单元122执行,但这些功能中的一些或全部可通过其它处理单元或不同处理单元的组合执行。
在一些实例中,基于调色板的编码单元122可编码由将块的至少一些位置与按特定次序的调色板中的输入项相关联的信息指示的调色板索引值。举例来说,通过基于调色板的编码单元122使用以编码调色板索引值的扫描次序可为由基于调色板的解码单元(例如,视频解码器30的基于调色板的解码单元165)使用以解码调色板索引值的相同扫描次序。在一些实例中,基于调色板的编码单元122可编码一或多个语法元素以指定用于译码调色板索引值的扫描次序。
如上文所论述,可从上而下、从左到右按可被称作光栅扫描次序的次序扫描映射的索引。在光栅扫描次序中,可直接在先前排的最后索引之后扫描当前排的第一索引。
然而,在一些实例中,按光栅扫描次序扫描索引可能并不有效率。举例来说,在视频数据的块的第一排包含邻近于视频数据的块的第一边缘的第一像素和邻近于视频数据的块的第二边缘的最后像素,视频数据的块的第二排包含邻近于视频数据的块的第一边缘的第一像素和邻近于视频数据的块的第二边缘的最后像素的情况下,第一排的最后像素邻近于第二排的最后像素,且第一边缘与第二边缘平行,第一排中的最后像素与第二排中的最后像素相同,但不同于第二排中的第一像素。与其它类型的视频内容相比,此情况(即,其中第一排中的最后像素与第二排中的最后像素相同或类似,但不同于第二排中的第一像素)可更频繁出现在计算机产生屏幕内容中。换句话说,对于屏幕内容,可存在位于块的相同边缘的像素与位于块的相对边缘的像素相比具有相同或类似值的较高概率。光栅扫描可不利用此相关性。
根据本发明的一或多个技术,当编码映射时基于调色板的编码单元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的叶节点。
通过将一或多个变换应用到TU的变换块,变换处理单元104可产生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相关联的译码块中的块伪影。经解码图片缓冲器116可在滤波器单元114对经重新构建译码块执行一或多个解块操作之后,存储经重新构建译码块。帧间预测处理单元120可使用含有经重新构建译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重新构建译码块,以对处于与CU相同的图片中的其它PU执行帧内预测。
熵编码单元118可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可从量化单元106接收系数块,并可从预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以产生经熵编码的数据。举例来说,熵编码单元118可对数据执行上下文自适应性可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应性二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码的数据的位流。举例来说,位流可包含表示用于CU的RQT的数据。
在一些实例中,残余译码并不与调色板译码一起执行。因此,当使用调色板译码模式译码时视频编码器20可不执行变换或量化。另外,视频编码器20可熵编码单独地使用调色板译码模式从残余数据产生的数据。
图3为说明经配置以实施本发明的技术的实例视频解码器30的框图。出于解释的目的而提供图3,且其并不限制如本发明中所广泛例示和描述的技术。出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
视频解码器30表示可经配置以执行根据本发明中描述的各种实例的用于基于调色板的视频译码的技术的装置的实例。举例来说,视频解码器30可经配置以使用基于调色板的译码或非基于调色板的译码而选择性地解码视频数据的不同块(例如,HEVC译码中的CU或PU)。非基于调色板的译码模式可指不同帧间预测性时间译码模式或帧内预测性空间译码模式,例如由HEVC草案10指定的不同译码模式。在一个实例中,视频解码器30可经配置以产生具有指示像素值的输入项的调色板,接收将视频数据的块的至少一些位置与调色板中的输入项相关联的信息,基于信息选择调色板中的像素值,并基于所选像素值重新构建块的像素值。
在图3的实例中,视频解码器30包含熵解码单元150、预测处理单元152、逆量化单元154、逆变换处理单元156、重新构建单元158、滤波器单元160和经解码图片缓冲器162。预测处理单元152包含运动补偿单元164和帧内预测处理单元166。视频解码器30也包含经配置以执行本发明中所描述的基于调色板的译码技术的各种方面的基于调色板的解码单元165。在其它实例中,视频解码器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可在经解码图片缓冲器162中存储CU的亮度译码块、Cb译码块和Cr译码块。经解码图片缓冲器162可提供参考图片用于后续运动补偿、帧内预测和在显示装置(例如,图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的亮度块、Cb块和Cr块对其它CU的PU执行帧内预测或帧间预测操作。以此方式,视频解码器30可从位流提取重要亮度系数块的变换系数层级,逆量化变换系数层级,对变换系数层级应用变换以产生变换块,至少部分基于变换块产生译码块并输出译码块用于显示。
根据本发明的各种实例,视频解码器30可经配置以执行基于调色板的译码。当基于调色板的解码模式经选择(例如)用于CU或PU时,基于调色板的解码单元165(例如)可执行基于调色板的解码。举例来说,基于调色板的解码单元165可经配置以产生具有指示像素值的输入项的调色板,接收将视频数据的块的至少一些位置与调色板中的输入项相关联的信息,基于信息选择调色板中的像素值,并基于所选像素值重新构建块的像素值。尽管各种功能经描述为通过基于调色板的解码单元165执行,但这些功能中的一些或全部可通过其它处理单元或不同处理单元的组合而执行。
基于调色板的解码单元165可接收调色板译码模式信息,并在调色板译码模式信息指示调色板译码模式适用于块时执行以上操作。当调色板译码模式信息指示调色板译码模式不适用于块时,或当其它模式信息指示不同模式的使用时,基于调色板的解码单元165使用非基于调色板的译码模式(例如,当调色板译码模式信息指示调色板译码模式不适用于块时,此HEVC帧间预测性或帧内预测性译码模式)解码视频数据的块。视频数据的块可为(例如)根据HEVC译码过程产生的CU或PU。视频解码器30可通过帧间预测性时间预测或帧内预测性空间译码模式解码一些块并通过基于调色板的译码模式解码其它块。基于调色板的译码模式可包括多个不同基于调色板的译码模式中的一者,或可存在单个基于调色板的译码模式。
由基于调色板的解码单元165接收的调色板译码模式信息可包括调色板模式语法元素,例如,旗标。调色板模式语法元素的第一值指示调色板译码模式适用于块且调色板模式语法元素的第二值指示调色板译码模式不适用于视频数据的块。基于调色板的解码单元165可接收(例如,从视频编码器20)处于预测性单元层级、译码单元层级、切片层级或图片层级中的一或多者的调色板译码模式信息,或可接收调色板译码模式在图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)中的至少一者中是否启用的指示。
在一些实例中,基于调色板的解码单元165可基于译码块的大小、帧类型、色彩空间、色彩分量、帧大小、帧速率、可调式视频译码中的层id或与视频数据的块相关联的多视图译码中的视图id中的一或多者推断调色板译码模式信息。
基于调色板的解码单元165也可经配置以接收定义调色板中的输入项中的至少一些的信息以及视频数据,并至少部分基于所接收信息产生调色板。调色板的大小可为固定的或可变的。在一些情况下,调色板的大小为可变的且可基于与视频数据一起发信的信息而调节。经发信的信息可指定调色板中的输入项是否为调色板中的最后输入项。又,在一些情况下,调色板可具有最大大小。调色板的大小或调色板的最大大小也可经条件性地发射或推断。所述条件可为CU的大小、帧类型、色彩空间、色彩分量、帧大小、帧速率、可调式视频译码中的层id或多视图译码中的视图id。
调色板可为包含指示用于块的亮度分量和色度分量的像素值的输入项的单个调色板。在此情况下,调色板中的每一输入项为指示用于亮度分量和两个色度分量的像素值的三重输入项。替代地,调色板包括包含指示块的亮度分量的像素值的输入项的亮度调色板,和包含指示用于块的相应色度分量的像素值的输入项的色度调色板。
在一些实例中,基于调色板的解码单元165可通过基于先前处理数据预测调色板中的输入项而产生调色板。先前处理的数据可包含用于先前解码的相邻块的调色板,或来自调色板的信息。基于调色板的解码单元165可接收指示调色板中的输入项是否待被预测的预测语法元素。预测语法元素可包含分别指示用于亮度和色度分量的调色板中的输入项是否待被预测的多个预测语法元素。
举例来说,就预测性调色板来说,预测性调色板可含有来自一或多个相邻块(包含在空间上相邻块和/或按块的特定扫描次序的相邻块)的调色板输入项。在实例中,相邻块可在空间上位于当前正被译码的块左边(左相邻块)或位于当前正被译码的块上方(上部相邻块)。在另一实例中,基于调色板的解码单元165可使用当前块的因果相邻者中的最多频繁样本值确定预测性调色板输入项。在另一实例中,相邻块可与当前正根据用于译码块的特定扫描次序译码的块相邻。即,相邻块可为在当前块之前按扫描次序译码的一或多个块。基于调色板的解码单元165可解码一或多个语法元素以指示复制调色板所借的相邻块的位置。
因此,在实例中,基于调色板的解码单元165在一些实例中可基于用于切片或图片中的左相邻块或顶部相邻块的调色板中的输入项预测调色板中的至少一些输入项。在此情况下,调色板中的基于左相邻块或顶部相邻块的调色板中的输入项预测的输入项可由基于调色板的解码单元165基于指示选择左相邻块或顶部相邻块用于预测的语法元素而预测。语法元素可为具有指示选择左相邻块或顶部相邻块用于预测的值的旗标。
在一些实例中,基于调色板的解码单元165可接收指示调色板中的至少一些所选输入项是否待基于逐个输入项而预测的一或多个预测语法元素,且因此产生输入项。举例来说,基于调色板的解码单元165可解码一或多个语法元素以指示对于预测性调色板的每一输入项,调色板输入项是否包含于当前块的调色板中。如果输入项未被预测,那么基于调色板的解码单元165可解码一或多个额外语法元素以指定非预测输入项,以及这些输入项的数目。因此,基于调色板的解码单元165可预测输入项中的一些并接收直接指定包含额外输入项的数目的调色板中的其它输入项的信息。
在一些实例中,用于预测整个调色板的技术可与用于预测调色板的一或多个输入项的技术组合。举例来说,基于调色板的解码单元165可解码位流中的一或多个语法元素以指示当前调色板是否是从预测性调色板完全复制。如果此并非所述情况,那么基于调色板的解码单元165可解码位流中的一或多个语法元素以指示预测性调色板中的每一输入项是否被复制。
在另一实例中,基于调色板的解码单元165可在每一调色板值之后接收旗标以指示所发信调色板值是否为调色板的最后调色板输入项,而非接收输入项的数目和调色板值。如果调色板已达到某一最大大小,那么基于调色板的解码单元165可不接收此“调色板的末端”旗标。
由基于调色板的解码单元165接收的将视频数据的块的至少一些位置与调色板中的输入项相关联的信息可包括指示用于块中的至少一些位置的调色板索引值的映射信息,其中调色板索引值中的每一者对应于调色板中的输入项中的一者。映射信息可包含各自指示具有相同调色板索引值的块中的连续位置的数目的一或多个延行语法元素。
在一些实例中,基于调色板的解码单元165可接收指示排复制的信息,由此用于块中的位置的排的像素或索引值是从用于块中的位置的另一排的像素或索引值复制。基于调色板的解码单元165可使用此信息来执行排复制以确定用于块的各种位置的调色板中的像素值或输入项。位置的排可包括行、行的一部分、列或块的位置的列的一部分。
在一些实例中,基于调色板的解码单元165可解码由将块的至少一些位置与按特定次序的调色板中的输入项相关联的信息指示的调色板索引值。举例来说,由基于调色板的解码单元165使用以解码调色板索引值的扫描次序可为由基于调色板的编码单元(例如,视频编码器20的基于调色板的编码单元122)使用以编码调色板索引值的相同扫描次序。在一些实例中,基于调色板的解码单元165可解码一或多个语法元素以指定用于译码调色板索引值的扫描次序。
举例来说,如上文所论述,可从上而下、从左到右按可被称作光栅扫描次序的次序扫描映射的索引。在光栅扫描次序中,可直接在先前排的最后索引之后扫描当前排的第一索引。
然而,在一些实例中,按光栅扫描次序扫描索引可能并不有效率。举例来说,在视频数据的块的第一排包含邻近于视频数据的块的第一边缘的第一像素和邻近于视频数据的块的第二边缘的最后像素,视频数据的块的第二排包含邻近于视频数据的块的第一边缘的第一像素和邻近于视频数据的块的第二边缘的最后像素的情况下,第一排的最后像素邻近于第二排的最后像素,且第一边缘与第二边缘平行,第一排中的最后像素与第二排中的最后像素相同,但不同于第二排中的第一像素。与其它类型的视频内容相比,此情况(即,其中第一排中的最后像素与第二排中的最后像素相同或类似,但不同于第二排中的第一像素)可更频繁出现在计算机产生屏幕内容中。换句话说,对于屏幕内容,可存在位于块的相同边缘的像素与位于块的相对边缘的像素相比具有相同或类似值的较高概率。光栅扫描可不利用此相关性。
根据本发明的一或多个技术,当解码映射时基于调色板的解码单元165可利用蛇形扫描次序。举例来说,基于调色板的解码单元165可解码映射,以使得直接在第一排的最后索引之后按扫描次序扫描第二排的最后索引。以此方式,基于调色板的解码单元165可改善延行长度译码的效率。
基于调色板的解码单元165可部分通过接收块的一或多个位置的像素值,和添加像素值到调色板中的输入项以动态地产生在延行中的调色板的至少一部分而产生调色板。添加像素值可包括添加像素值到一包括初始输入项集合的初始调色板,或添加到不包含初始输入项集合的空调色板。在一些实例中,添加包括添加像素值以添加新输入项到包括初始输入项集合的初始调色板或填充初始调色板中的现有输入项,或替代或改变初始调色板中的输入项的像素值。
在一些实例中,基于调色板的解码单元165可确定调色板的固定最大大小。在到达最大大小后,基于调色板的解码单元165可去除调色板的一或多个输入项。在一个实例中,基于调色板的解码单元165可(例如)使用FIFO队列去除调色板的最老的输入项。在新输入项添加到队列中之后,修剪过程可应用以去除队列中的复制输入项。在另一实例中,基于调色板的解码单元165可去除最少使用输入项。在再一实例中,基于调色板的解码单元165可基于待去除的候选者输入项何时添加到调色板和所述输入项的相关使用进行关于待去除哪一输入项的加权确定。
在一些实例中,调色板可为其中选从用于块中的位置中的一者的调色板的像素值不同于块中的位置的实际像素值的经量化调色板,以使得解码过程有损。举例来说,相同像素值可选从用于具有不同实际像素值的两个不同位置的调色板。
图4为说明根据本发明的技术的确定用于译码视频数据的调色板的实例的概念图。图4的实例包含具有与第一调色板184相关联的第一译码单元(CU)180和与第二调色板192相关联的第二CU 188的图片178。如下文较详细地所描述和根据本发明的技术,第二调色板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的亮度(Y)分量的调色板,用于CU的两个分量(U,V)的另一调色板。在此实例中,Y调色板的输入项可表示CU的像素的Y值,U-V调色板的输入项可表示CU的像素的U-V值对。
在其它实例中,视频编码器20可编码用于CU的全部色彩分量的单个调色板。在此实例中,视频编码器20可编码具有为三重值(包含Yi、Ui和Vi)的第i个输入项的调色板。在此情况下,调色板包含用于像素的分量中的每一者的值。因此,作为具有多个个别调色板的调色板集合的调色板184和192的表示仅为一个实例且并不意图为限制性。
在图4的实例中,第一调色板184包含分别具有输入项索引值1、输入项索引值2和输入项索引值3的三个输入项202到206。输入项202到206分别将索引值与包含像素值A、像素值B和像素值C的像素值相关。如本文所描述,视频译码器(例如视频编码器20或视频解码器30)可使用基于调色板的译码以使用索引1到3译码块的像素,而非译码第一CU 180的实际像素值。即,对于第一CU 180的每一像素位置,视频编码器20可编码像素的索引值,其中索引值与第一调色板184中的一或多者中的像素值相关联。视频解码器30可从位流获得索引值并使用索引值和第一调色板184中的一或多者重新构建像素值。因此,第一调色板184是通过视频编码器20在经编码视频数据位流中发射以供视频解码器30用于基于调色板的解码。大体来说,一或多个调色板可经发射用于每一CU或可在不同CU中共享。
视频编码器20和视频解码器30可基于第一调色板184确定第二调色板192。举例来说,视频编码器20可编码用于每一CU(作为实例,包含第二CU 188)的pred_palette_flag以指示用于CU的调色板是否从与一或多个其它CU(例如相邻CU(在空间上或基于扫描次序)或因果相邻者的最频繁样本)相关联的一或多个调色板预测。举例来说,当此旗标的值等于一时,视频解码器30可确定用于第二CU 188的第二调色板192是从一或多个已解码调色板预测且因此没有用于第二CU 188的新调色板包含于含有pred_palette_flag的位流中。当此旗标等于零时,视频解码器30可确定用于第二CU 188的调色板192作为新的调色板包含于位流中。在一些实例中,pred_palette_flag可经单独地译码用于CU的每一不同色彩分量(例如,三个旗标,对于YUV视频中的CU,一个用于Y、一个用于U且一个用于V)。在其它实例中,单个pred_palette_flag可经译码用于CU的全部色彩分量。
在以上实例中,每一CU发信pred_palette_flag以指示是否预测当前块的调色板的输入项中的任一者。在一些实例中,可基于每一输入项发信一或多个语法元素。其为可经发信用于调色板预测因子的每一输入项以指示输入项是否存在于当前调色板中的旗标。如上文所提,如果未预测调色板输入项,那么可明确地发信调色板输入项。
当相对于第一调色板184确定第二调色板192(例如,pred_palette_flag等于一)时,视频编码器20和/或视频解码器30可定位确定预测性调色板(在此实例中,第一调色板184)所借的一或多个块。预测性调色板可与当前正被译码的CU(即,第二CU 188)的一或多个相邻CU(例如,相邻CU(在空间上或基于扫描次序)或因果相邻者的最频繁样本)相关联。一或多个相邻CU的调色板可与预测因子调色板相关联。在一些实例(例如,图4中所说明的实例)中,视频编码器20和/或视频解码器30可在确定用于第二CU 188的预测性调色板时定位左相邻CU(第一CU 180)。在其它实例中,视频编码器20和/或视频解码器30可相对于第二CU 188定位在其它位置中的一或多个CU(例如,上部CU(CU 196))。
视频编码器20和/或视频解码器30可基于层次确定用于调色板预测的CU。举例来说,视频编码器20和/或视频解码器30可初始识别左相邻CU(第一CU 180)以用于调色板预测。如果左相邻CU不可用于预测(例如,通过非基于调色板的译码模式的模式(例如,帧内预测模式或帧内预测模式)译码左相邻CU,或左相邻CU位于图片或切片的最左边缘处),那么视频编码器20和/或视频解码器30可识别上部相邻CU(CU 196)。视频编码器20和/或视频解码器30可继续根据定位的预定次序搜索可用CU直到定位具有可用于调色板预测的调色板的CU。在一些实例中,视频编码器20和/或视频解码器30可基于相邻块的多个块和/或重新构建样本确定预测性调色板。
虽然图4的实例将第一调色板184说明为来自单个CU(第一CU 180)的预测性调色板,但在其它实例中,视频编码器20和/或视频解码器30可从相邻CU的组合定位用于预测的调色板。举例来说,视频编码器20和/或视频解码器可应用一或多个式、函数、规则或其类似者以基于多个相邻CU的一者或一组合的调色板产生调色板。
在又其它实例中,视频编码器20和/或视频解码器30可构建包含用于调色板预测的数个可能候选者的候选者列表。可在视频编码器20和视频解码器30两者处应用修剪过程以去除列表中的复制候选者。在这些实例中,视频编码器20可编码候选者列表的索引以指示列表中的候选者CU,从列表中选择用于调色板预测的当前CU(例如,复制调色板)。视频解码器30可以相同方式构建候选者列表,解码索引,并使用经解码索引来选择对应CU的调色板以供当前CU使用。
在为达成说明的目的的实例中,视频编码器20和视频解码器30可构建包含位于当前正被译码的CU上方的一个CU和位于当前正被译码的CU左边的一个CU的候选者列表。在此实例中,视频编码器20可编码一或多个语法元素以指示候选者选择。举例来说,视频编码器20可编码具有零值的旗标以指示当前CU的调色板是从位于当前CU左边的CU复制。视频编码器20可编码具有为一的值的旗标以指示当前CU的调色板是从位于当前CU上方的CU复制。视频解码器30解码旗标并选择适当CU用于调色板预测。
在又其它实例中,视频编码器20和/或视频解码器30基于包含于一或多个其它调色板中的样本值出现在一或多个相邻CU中的频率确定用于当前正被译码的CU的调色板。举例来说,视频编码器20和/或视频解码器30可追踪与译码预定数目CU期间最常使用的索引值相关联的色彩。视频编码器20和/或视频解码器30可将最常使用的色彩包含于用于当前正被译码的CU的调色板中。
在一些实例中,视频编码器20和/或视频解码器30可执行基于逐输入项的调色板预测。举例来说,视频编码器20可针对预测性调色板的每一输入项编码指示相应预测性调色板输入项是否再用于当前调色板(例如,另一CU的调色板中的像素值是否由当前调色板再使用)的一或多个语法元素(例如,一或多个旗标)。在此实例中,视频编码器20可在给定输入项为来自预测性调色板的经预测值时针对所述输入项编码具有等于一的值的旗标(例如,与相邻CU相关联的调色板的对应输入项)。视频编码器20可针对特定输入项编码具有等于零的值的旗标以指示特定输入项并非从另一CU的调色板预测。在此实例中,视频编码器20也可编码指示非预测调色板输入项的值的额外数据。
在图4的实例中,第二调色板192包含分别具有输入项索引值1、输入项索引值2、输入项索引值3和输入项索引4的四个输入项208到214。输入项208到214分别将索引值与包含像素值A、像素值B、像素值C和像素值D的像素值相关。视频编码器20和/或视频解码器30可使用上文所描述的技术中的任一者来定位第一CU 180以为了调色板预测并将第一调色板184的输入项1到3复制到第二调色板192的输入项1到3以用于译码第二CU 188。以此方式,视频编码器20和/或视频解码器30可基于第一调色板184确定第二调色板192。另外,视频编码器20和/或视频解码器30可译码用于输入项4的数据以待与第二调色板192包含在一起。此信息可包含未从预测因子调色板预测的调色板输入项的数目和对应于那些调色板输入项的像素值。
在一些实例中,根据本发明的方面,一或多个语法元素可指示调色板(例如,第二调色板192)是否完全从预测性调色板(图4中展示为第一调色板184,但其可由来自一或多个块的输入项构成)预测或第二调色板192的特定输入项是否被预测。举例来说,初始语法元素可指示是否全部输入项被预测。如果初始语法元素指示并非全部输入项被预测(例如,具有0值的旗标),那么一或多个额外语法元素可指示第二调色板192的哪些输入项是从预测性调色板预测。
根据本发明的一些方面,可从正被译码的数据的一或多个特性推断与调色板预测相关联的某些信息。即,视频编码器20和视频解码器30可基于被译码数据的一或多个特性执行调色板预测,而非视频编码器20编码语法元素(和视频解码器30解码这些语法元素)。
图5为与本发明的技术一致的确定到像素的块的调色板的索引的实例的概念图。举例来说,图5包含将与索引值相关联的像素的相应位置与调色板244的输入项相关的索引值(值1、2和3)的映射240。可以与上文关于图4所描述的第一调色板184和第二调色板192类似的方式确定调色板244。
再次,出于解释的目的,在视频编码器20(图1和2)和视频解码器30(图1和3)的上下文中并关于HEVC视频译码标准描述图5的技术。然而,应理解,本发明的技术不限于此方式,且可通过其它视频译码处理器和/或装置在其它视频译码过程和/或标准中应用。
虽然映射240在图5的实例中说明为包含每一像素位置的索引值,但应理解,在其它实例中,并非全部像素位置可与一将像素值与调色板244的输入项相关的索引值相关联。即,如上文所提,在一些实例中,如果像素值并不包含于调色板244中,那么视频编码器20可编码(且视频解码器30可从经编码位流获得)用于映射240中的位置的实际像素值(或其经量化版本)的指示。
在一些实例中,视频编码器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用于重新构建像素值。在一些情况下,可以有损方式译码像素值。
CU的一个位置中的像素的值可提供CU的其它位置中的一或多个其它像素的值的指示。举例来说,可存在CU的相邻像素位置将具有相同像素值或可映射到相同索引值(在有损译码情况下,其中一个以上像素值可映射到单个索引值)的相对高概率。
因此,视频编码器20可编码指示按给定扫描次序的数个连续像素或索引值具有相同像素值或索引值的一或多个语法元素。如上文所提,相同值像素或索引值的串可在本文中称为延行。在为达成说明的目的的实例中,如果按给定扫描次序的两个连续像素或索引具有不同值,那么延行等于零。如果按给定扫描次序的两个连续像素或索引具有相同值但按扫描次序的第三像素或索引具有不同值,那么延行等于一。对于具有相同值的三个连续索引或像素,延行为二,等等。视频解码器30可从经编码位流获得指示延行的语法元素并使用数据来确定具有相同像素或索引值的连续位置的数目。
可包含于延行中的索引的数目可受扫描次序影响。举例来说,考虑映射240的排266、268和270的光栅扫描。假定水平左到右扫描方向(例如,如图6A中所说明的光栅扫描次序),行266包含为“1”的三个索引值、为“2”的两个索引值和为“3”的三个索引值。行268包含为“1”的五个索引值和为“3”的三个索引值。在此实例中,对于行266,视频编码器20可编码指示行266的第一值(行的最左边值)为1(其具有为2的延行),继之以具有为2的索引值(其具有为1的延行),继之以具有为3的索引值(其具有为2的延行)的语法元素。遵循光栅扫描,视频编码器20可接着开始通过最左边值译码行268。举例来说,视频编码器20可编码指示行268的第一值为1(其具有为4的延行),继之以为3的索引值(其具有为2的延行)的语法元素。视频编码器20可以相同方式继续进行排270。
之后,按光栅扫描次序,可紧跟在先前排的最后索引之后扫描当前排的第一索引。然而,在一些实例中,可不需要按光栅扫描次序扫描索引。举例来说,在视频数据的块的第一排(例如,行266)包含邻近于视频数据的块的第一边缘的第一像素(例如,行266的最左边像素,其具有为1的索引值)和邻近于视频数据的块的第二边缘的最后像素(例如,行266的最右边像素,其具有为3的索引值),视频数据的块的第二排(例如,行268)包含邻近于视频数据的块的第一边缘的第一像素(例如,行268的最左边像素,其具有为1的索引值)和邻近于视频数据的块的第二边缘的最后像素(例如,行268的最右边像素,其具有为3的索引值),第一排的最后像素邻近于第二排的最后像素,且第一边缘与第二边缘平行,第一排中的最后像素具有与第二排中的最后像素相同的索引值,但具有一不同于第二排中的第一像素的索引值的情况下,可不需要按光栅扫描次序扫描索引。与其它类型的视频内容相比,此情况(即,其中在第一排中的最后像素的索引值与第二排中的最后像素相同,但不同于第二排中的第一像素)可更频繁出现在计算机产生屏幕内容中。
根据本发明的一或多个技术,视频编码器20可在编码映射的索引时利用蛇形扫描次序。举例来说,视频编码器20可紧跟在第一排的最后像素之后扫描第二排的最后像素。以此方式,视频编码器20可改善延行长度译码的效率。
举例来说,根据本发明的一或多个技术,如与使用光栅扫描次序相反,视频编码器20可使用蛇形扫描次序来译码映射240的值。在为达成说明的目的实例中,考虑映射240的行266、268和270。使用蛇形扫描次序(例如,如图6B中所说明的蛇形扫描次序),视频编码器20可以行266的左位置开始译码映射240的值,进行直到行266的最右位置,向下移动到行268的最左位置,进行直到行268的最左位置,并向下移动到行270的最左位置。举例来说,视频编码器20可编码指示行266的第一位置为一且在扫描方向中的两个连续输入项的下一延行与行266的第一位置相同的一或多个语法元素。视频编码器20可编码指示行266的下一位置(即,从左到右,第四位置)为二且在扫描方向中的下一连续输入项与行266的第四位置相同的一或多个语法元素。视频编码器20可编码指示行266的下一位置(即,第六位置)为三且在扫描方向中的五个连续输入项的下一延行与行266的第六位置相同的一或多个语法元素。视频编码器20可编码指示行268的在扫描方向中的下一位置(即,从右到左,行268的第四位置)为一且在扫描方向中的九个连续输入项的下一延行与行268的第四位置相同的一或多个语法元素。
以此方式,通过使用蛇形扫描次序,视频编码器20可编码较长长度延行,其可改善译码效率。举例来说,使用光栅扫描,行266的最后延行(对于索引值3)等于2。然而,使用蛇形扫描,行266的最后延行延伸到行268中且等于5。
视频解码器30可接收上文所描述的语法元素并重新构建行266、268和270。举例来说,视频解码器30可从经编码位流获得指示当前正被译码的映射240的位置的索引值的数据。视频解码器30也可获得指示具有相同索引值的按扫描次序的连续位置的数目的数据。
图6A和6B为说明根据本发明的技术的实例扫描次序的概念图。如图6A中所说明,块600A可包含包含第一像素606A和最后像素608A的第一排602A,包含第一像素610A和最后像素612A的第二排604A,和扫描次序614A。如图6B中所说明,块600B可包含包含第一像素606B和最后像素608B的第一排602B,包含第一像素610B和最后像素612B的第二排604B,和扫描次序614B。如图6A中所说明,第一像素606A和第一像素610A可邻近于第一边缘616A,最后像素608A和最后像素612A可邻近于第二边缘618A,且第一边缘616A可平行于第二边缘618A。类似地,第一像素606B和第一像素610B可邻近于第一边缘616B,最后像素608B和最后像素612B可邻近于第二边缘618B,且第一边缘616B可平行于第二边缘618B。
图6A的扫描次序614A可被称作光栅扫描次序,因为在第二排604A中的第一值610A是紧跟在先前排602A中的最后值608A之后扫描。图6B的扫描次序614B可被称作其中第二排604B中的第一值610B是紧跟在先前排602B中的最后值608B之后扫描的蛇形扫描次序。
根据本发明的一或多个技术,如与使用光栅扫描次序(例如,扫描次序614A)扫描像素相反,视频译码器(例如,视频编码器20或视频解码器30)可在执行调色板模式视频译码时使用蛇形扫描次序(例如,扫描次序614B)扫描像素。
图7A到7C为说明根据本发明的技术的基于调色板的视频译码的实例模式的概念图。如上文所论述,由JCTVC-P0035描述的相对于映射的一或多个其它索引译码映射的索引的第一方法提供三个译码模式,水平模式、垂直模式和正常模式。
当使用水平模式译码索引时,当前排的全部索引值可为相同的(即,整个排可共享相同色彩索引)。因此,在水平模式中,视频编码器可编码整个行的单个索引。如由图7A所说明,视频解码器可复制在跨越当前排700的候选者开始位置1 702处的索引(即,具有索引值0)(即,使得当前排700的全部像素的索引值经解码为0)。
当使用垂直模式译码索引时,当前排的索引可与上排的索引相同(即,整个排可与上方排相同)。在此情况下,视频解码器可将索引从上排复制到当前排。如由图7B所说明,视频解码器可复制上排706的索引到当前排704(即,使得当前排704的索引与上排706的索引相同)。举例来说,视频解码器可将索引值从候选者开始位置2 710复制到位置712。
当使用正常模式译码索引时,视频译码器可译码用于每一相应像素位置的旗标,其指示用于相应像素位置的索引是与用于在相应像素位置左边的像素位置的索引相同还是与用于在相应像素位置上方的像素位置的索引相同。如果用于相应像素位置的索引不与用于在相应像素位置左边的像素位置的索引或用于在相应像素位置上方的像素位置的索引相同,那么视频译码器可译码用于相应像素位置的索引。如由图7C所说明,视频译码器可译码当前位置714的旗标,其指示是候选者开始位置3 716的色彩索引(即,在当前位置714上方的像素位置的索引)还是候选者开始位置4 718的色彩索引(即,在当前位置714左边的像素位置的索引)应被复制到当前位置714。
图8A到8C为说明与本发明的技术一致的基于调色板的视频译码的实例模式的概念图。如上文所论述,由JCTVC-P0035描述的相对于映射的一或多个其它索引译码映射的索引的第二方法提供三个译码模式,“在上方复制模式”、“延行模式”和“像素模式”。
在“在上方复制模式”中,视频译码器可译码指示以下N个调色板索引分别与其上方相邻者相同的值“copy_run”(N)。如由图8A所说明,视频译码器可译码为五的copy_run值以指示当前排802的以下五个调色板索引分别与来自上排804的其上方相邻者(即,通过候选者开始位置1 806指示的五个位置)相同。作为另一实例,在图8A中,视频译码器可译码为四(4)的copy_run值以指示当前排802的以下五(5)个调色板索引与来自上排804的其上方相邻者相同。
在“延行模式”中,视频译码器可译码继之以指示以下M个调色板索引与发信调色板索引相同佐“palette_run”(M)的调色板索引。如由图8B所说明,视频译码器可译码用于候选者开始位置2 808的调色板索引和具有值为五的指示在五个位置之后的索引值与候选者开始位置2 808的索引值相同的palette_run。
在“像素模式”中,视频译码器可译码预测旗标。视频译码器可将所述旗标译码为1以指示当前像素的值是使用具有重新构建顶部相邻像素的预测残余作为预测因子而译码。视频译码器可将旗标译码为0以指示像素值可在没有预测的情况下发射。如由图8C所说明,如果预测旗标为1,那么视频译码器可将上排812中的候选者开始位置3 810的像素值复制到当前排814中的对应位置。
图9为说明根据本发明的技术的用于使用调色板译码模式译码视频数据的实例过程的流程图。关于视频译码器(例如,视频编码器20(图1和2)或视频解码器30(图1和3)解释图9的方法。然而,应理解,其它视频译码装置可经配置以执行类似方法。此外,方法中的某些步骤可以不同次序或并行执行。同样,在各种实例中,某些步骤可省去,且可添加其它步骤。
视频译码器(例如,视频编码器和/或视频解码器30)可针对视频数据的块确定具有指示多个相应像素值的多个输入项的调色板(902)。在一些实例中,视频数据的块的第一排(例如,图6B的第一排602B)可包含邻近于视频数据的块的第一边缘(例如,图6B的第一边缘616B)的第一像素(例如,图6B的第一像素606B)和邻近于视频数据的块的第二边缘(例如,图6B的第二边缘618B)的最后像素(例如,图6B的最后像素608B),视频数据的块的第二排(例如,图6B的第二排604B)可包含邻近于视频数据的块的第一边缘的第一像素(例如,图6B的第一像素610B)和邻近于视频数据的块的第二边缘的最后像素(例如,图6B的最后像素612B)。在一些实例中,第一排的最后像素可邻近于第二排的最后像素。在一些实例中,第一边缘可平行于第二边缘。
视频译码器可按扫描次序译码将块的像素映射到调色板中的输入项的索引值,其中第二排的像素按扫描次序紧跟在第一排的像素之后(904)。举例来说,视频编码器20可编码语法元素以表示使用蛇形扫描次序(例如,如图6B中所说明)将与索引值相关联的视频数据的块的像素的相应位置与调色板的输入项相关的索引值的映射(例如,图5的映射240)。
在一些实例(例如,图6B的实例)中,第一排可为第一行且第二排可为第二行。在一些实例中,第一排可为第一列且第二排可为第二列(例如,在图6B的实例旋转90度的情况下)。
在一些实例中,视频译码器可译码指示第二排的最后像素按扫描次序紧跟在第一排的最后像素之后的语法元素。举例来说,视频译码器可译码指示蛇形扫描次序的语法元素。另外或替代地,视频译码器可基于所谓的旁侧信息(例如,块大小、色彩空间和/或色彩分量)发信或推断扫描次序。
在一些实例中,调色板中的每一输入项可分别包含唯一索引值。在这些实例中,视频译码器可译码索引值和/或译码一或多个逸出像素。在一些实例中,视频译码器可使用截断二进制码译码索引值和逸出像素中的一或两者。
在一些实例中,例如,在由视频编码器执行图9的方法的情况下,视频编码器可产生调色板。举例来说,视频编码器可根据图10的技术产生调色板。
图10为说明根据本发明的技术的用于确定视频数据的块的调色板的实例过程的流程图。图10的技术可由视频译码器(例如,图1和图2中所说明的视频编码器20)执行。为达成说明的目的,在图1和图2的视频编码器20的上下文内描述图10的技术,但具有不同于视频编码器20的配置的配置的视频译码器可执行图10的技术。
视频编码器(例如,视频编码器20)可产生视频数据的块的调色板。举例来说,视频编码器20可导出包含多个输入项的直方图,所述多个输入项各自包含相应像素值和具有类似于相应像素值的像素值的像素的相应量。作为一个实例,视频编码器20的基于调色板的编码单元(PBEU)122可确定视频数据的块的直方图H(1002)。直方图H可表示为H={(vi,fi),i={0,1,2,…,M}},其中M+1为当前块中的不同像素值的数目,vi为像素值,fi为vi的出现数目(即,当前块中的多少像素具有像素值vi)。在一些实例中,直方图的多个输入项中的每一者表示具有相同像素值的像素的量。在一些实例中,直方图的多个输入项中的每一者表示在经量化时具有相同像素值的像素的量。
在一些实例中,视频编码器可基于直方图将视频数据的块的一或多个像素分类为主要色彩像素或逸出像素(其可对应于直方图中的指示比经分类为主要色彩像素的像素更低的像素量的输入项)。在一些实例中,视频码可译码经分类为逸出像素的像素的实际值(即,如与译码索引值相反)。逸出像素的实际值可经量化或未经量化。
PBEU 122可初始化一或多个变量(1004)。举例来说,PBEU 122可将调色板P初始化为空,将调色板P的索引(idx)初始化为0,和/或将直方图H的索引(j)初始化为零。
PBEU 122可排序直方图H(1006)。举例来说,PBEU 122可根据fi的降序排序直方图H,以使得具有更多出现的像素靠近前面而放置。经排序直方图可表示为Ho={(ui,fi),i={0,1,2,…,M},fi≥fi+1}。
PBEU 122可将输入项***到调色板P中(1008)。举例来说,PBEU 122可将输入项(j,uj)从经排序直方图Ho复制到调色板P中。
PBEU 122可递增调色板索引(1012)和直方图索引(1016)。PBEU 122可确定对应于经排序直方图Ho中的下一输入项的像素值是否在已包含于调色板中的像素值中的任一者的邻域内(1020)。举例来说,PBEU 122可确定对应于一在对应于经排序直方图Ho中之下一输入项的像素值与已包含于调色板中的像素值中的一或多者之间的差的距离值。如果所确定差值满足阈值,那么PBEU 122可将输入项***到包含对应于下一输入项的像素值的调色板P中(1020、1008的“否”分支)。如果所确定差值不满足阈值,那么PBEU 122可递增直方图索引(1020、1016的“是”分支)。
在一些实例中,如果一或多个条件满足一或多个相应阈值,那么PBEU 122可停止确定调色板。作为一个实例,在调色板P的大小大于阈值大小(1010的“是”分支)的情况下,PBEU 122可停止确定调色板。作为另一实例,在调色板索引(idx)的值等于阈值(M)(1014的“是”分支)的情况下,PBEU 122可停止确定调色板。作为另一实例,在直方图索引(j)的值等于阈值(M)(1018的“是”分支)的情况下,PBEU 122可停止确定调色板。在一些实例中,M可对应于当前块中的不同像素值的数目。
以下编号实例可说明本发明的一或多个方面:
实例1。一种译码视频数据的方法,所述方法包括:由视频译码器和针对视频数据的块确定具有指示多个相应色彩值的多个输入项的调色板,其中视频数据的块的第一排包含邻近于视频数据的块的边缘而定位的像素,且其中视频数据的块的第二排包含邻近于块的边缘并邻近于第一排的像素而定位的像素;和按扫描次序译码将块的像素映射到调色板中的输入项的索引值,其中第二排的像素按扫描次序紧跟在第一排的像素之后。
实例2。实例1的方法,其中第一排为第一行且第二排为第二行,且其中按扫描次序译码索引值包括紧接在译码第二行中的像素的索引值之前译码第一行中的像素的索引值。
实例3。实例1的方法,其中第一排为第一列且第二排为第二列,且其中按扫描次序译码索引值包括紧接在译码第二列中的像素的索引值之前译码第一列中的像素的索引值。
实例4。实例1到实例3的任何组合的方法,其中边缘为第一边缘,其中第二排的像素为第二排的第一像素,其中第二排包含邻近于视频数据的块的平行于第一边缘的第二边缘而定位的第二像素,且其中译码索引值包括:译码指示按扫描次序的连续像素的延行具有相同索引值的一或多个语法元素,其中连续像素的延行包含第一排的像素和第二排的第一像素,且不包含第二排的第二像素。
实例5。实例1到实例4的任何组合的方法,其进一步包括:译码指示紧跟在第一排的像素之后按扫描次序扫描第二排的像素的语法元素。
实例6。实例1到实例5的任何组合的方法,其中调色板中的每一输入项分别包含对应于所述多个相应色彩值的相应色彩值的唯一索引值,所述方法进一步包括:译码不对应于所述多个相应色彩值的相应色彩值的逸出像素的值,其中译码索引值和逸出像素包含使用截断二进制码译码索引值和逸出像素中的一或两者。
实例7。实例1到实例6的任何组合的方法,其中视频译码器为视频编码器,其中译码索引值包括编码索引值,所述方法进一步包括产生包含调色板和表示索引值的一或多个语法元素的位流。
实例8。实例1到实例7的任何组合的方法,其进一步包括:针对视频数据的块确定包含多个输入项的直方图,每一输入项包含相应像素值和具有类似于相应像素值的像素值的像素的相应量;基于所述直方图将视频数据的块的一或多个像素分类为主要色彩像素或逸出像素,其中经分类为逸出像素的像素对应于直方图中的指示比分类为主要色彩像素的像素更低的像素量的输入项;和基于所述直方图确定调色板。
实例9。实例1到实例8的任何组合的方法,其中所述直方图的所述多个输入项中的每一者表示在经量化时具有相同像素值的像素的量。
实例10。实例1到实例9的任何组合的方法,其中确定调色板包括:确定视频数据的块的调色板的第一输入项,其中所述第一输入项对应于直方图的第一输入项;确定对应于包含于直方图的第二输入项中的像素值与包含于调色板中的一或多个像素值之间的差的距离值;和响应于确定所述距离值满足阈值,将包含于直方图的第二输入项中的像素值复制到调色板的第二输入项中。
实例11。实例1到实例10的任何组合的方法,其中所述阈值是基于视频数据的块的量化参数(QP)。
实例12。实例1到实例11的任何组合的方法,其中视频译码器为视频解码器,其中译码索引值包括解码索引值,所述方法进一步包括接收包含调色板和表示索引值的一或多个语法元素的位流。
实例13。一种用于译码视频数据的设备,所述设备包括:存储器,其经配置以存储视频数据的块;和一或多个处理器,其经配置以执行实例1到实例12的任何组合的方法。
实例14。一种用于译码视频数据的设备,所述设备包括:用于执行实例1到实例12的任何组合的方法的装置。
实例15。一种存储有指令的计算机可读媒体,所述指令在经执行时使视频译码器的一或多个处理器执行实例1到实例12的任何组合的方法。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列执行、可增添、合并或完全省略(例如,对于实践技术来说并非所有所描述的动作或实践都是必要的)。此外,在某些实例中,动作或事件可(例如)经由多线程处理、中断处理或多个处理器同时而非顺序地执行。此外,尽管出于清晰的目的将本发明的某些方面描述为由单一模块或单元执行,但应理解,本发明的技术可由与视频译码器相关联的单元或模块的组合执行。
为达成说明的目的,本发明的某些方面已经关于发展HEVC标准而描述。然而,本发明中所描述的技术可适用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
上文所描述的技术可由视频编码器20(图1和2)和/或视频解码器30(图1和3)执行,其两者可大体上被称作视频译码器。同样地,视频译码可指视频编码或视频解码(在可适用时)。
虽然在上文描述技术的各种方面的特定组合,但提供这些组合仅为了说明本发明中描述的技术的实例。因此,本发明的技术不应限于这些实例组合且可涵盖本发明中描述的技术的各种方面的任何可设想组合。
在一或多个实例中,所描述的功能可在硬件、软件、固件或其任何结合中实施。如果在软件中实施,那么功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体而发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据结构以用于实施本发明所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
通过实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。又,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或无线技术(例如,红外线、无线电和微波)而从网站、服务器或其它远程源发射指令,那么同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电和微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是有关非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含紧密光盘(CD)、激光光盘、光盘、数字影音光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各物的组合也应包含于计算机可读媒体的范围内。
可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文所描述的功能性提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编解码器中。又,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可以广泛多种装置或设备予以实施,所述装置或设备包含无线手机、集成电路(IC)或IC集合(例如,芯片集)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必需要由不同硬件单元予以实现。相反地,如上文所描述,可将各种单元组合于编解码器硬件单元中,或由互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合而结合合适软件和/或固件来提供所述单元。
已描述各种实例。这些和其它实例在以下权利要求书的范围内。
Claims (34)
1.一种有损译码视频数据的方法,所述方法包括:
响应于由视频译码器确定使用基于调色板的视频译码来译码视频数据的块:
由所述视频译码器且针对视频数据的所述块确定具有指示多个相应色彩值的多个输入项的经量化调色板,其中视频数据的所述块的第一排包含邻近于视频数据的所述块的边缘而定位的像素,且其中视频数据的所述块的第二排包含邻近于所述块的所述边缘并邻近于所述第一排的所述像素而定位的像素;以及
按蛇形扫描次序译码将所述块的像素映射到所述经量化调色板中的输入项的索引值,使得始终按所述蛇形扫描次序译码将视频数据的块的像素映射到经量化调色板中的输入项的索引值,其中所述第二排的所述像素按所述蛇形扫描次序紧跟在所述第一排的所述像素之后。
2.根据权利要求1所述的方法,其中所述第一排为第一行且所述第二排为第二行,且其中按所述蛇形扫描次序译码所述索引值包括紧接在译码所述第二行中的所述像素的索引值之前译码所述第一行中的所述像素的索引值。
3.根据权利要求1所述的方法,其中所述第一排为第一列且所述第二排为第二列,且其中按所述蛇形扫描次序译码所述索引值包括紧接在译码所述第二列中的所述像素的索引值之前译码所述第一列中的所述像素的索引值。
4.根据权利要求1所述的方法,其中所述边缘为第一边缘,其中所述第二排的所述像素为所述第二排的第一像素,其中所述第二排包含邻近于视频数据的所述块的平行于所述第一边缘的第二边缘而定位的第二像素,且其中译码所述索引值包括:
译码指示按所述蛇形扫描次序的连续像素的延行具有相同索引值的一或多个语法元素,其中连续像素的所述延行包含所述第一排的所述像素和所述第二排的所述第一像素,且不包含所述第二排的所述第二像素。
5.根据权利要求1所述的方法,其进一步包括:
译码指示紧跟在所述第一排的所述像素之后按所述蛇形扫描次序扫描所述第二排的所述像素的语法元素。
6.根据权利要求1所述的方法,其中所述经量化调色板中的每一输入项分别包含对应于所述多个相应色彩值的相应色彩值的唯一索引值,所述方法进一步包括:
译码不对应于所述多个相应色彩值的相应色彩值的逸出像素的值,
其中译码所述索引值和所述逸出像素包含使用截断二进制码译码所述索引值和所述逸出像素中的一或两者。
7.根据权利要求1所述的方法,其中所述视频译码器为视频编码器,其中译码所述索引值包括编码所述索引值,所述方法进一步包括产生包含所述经量化调色板和表示所述索引值的一或多个语法元素的位流。
8.根据权利要求7所述的方法,其进一步包括:
针对视频数据的所述块确定包含多个输入项的直方图,所述多个输入项各自包含相应像素值和具有类似于所述相应像素值的像素值的像素的相应量;
基于所述直方图将视频数据的所述块的一或多个像素分类为主要色彩像素或逸出像素,其中经分类为逸出像素的像素对应于所述直方图中的指示比经分类为主要色彩像素的像素更低的像素量的输入项;以及
基于所述直方图确定所述经量化调色板。
9.根据权利要求8所述的方法,其中所述直方图的所述多个输入项中的每一者表示在经量化时具有相同像素值的像素的量。
10.根据权利要求9所述的方法,其中确定所述经量化调色板包括:
确定用于视频数据的所述块的所述经量化调色板的第一输入项,其中所述第一输入项对应于所述直方图的第一输入项;
确定对应于包含于所述直方图的第二输入项中的像素值与包含于所述经量化调色板中的一或多个像素值之间的差的距离值;以及
响应于确定所述距离值满足阈值,将包含于所述直方图的所述第二输入项中的所述像素值复制到所述经量化调色板的第二输入项中。
11.根据权利要求10所述的方法,其中所述阈值是基于视频数据的所述块的量化参数QP。
12.根据权利要求1所述的方法,其中所述视频译码器为视频解码器,其中译码所述索引值包括解码所述索引值,所述方法进一步包括接收包含所述经量化调色板和表示所述索引值的一或多个语法元素的位流。
13.一种用于译码视频数据的设备,所述设备包括:
存储器,其经配置以存储视频数据的块;以及
一或多个处理器,其经配置以响应于确定使用基于调色板的视频译码来译码视频数据的块:
针对视频数据的所述块确定具有指示多个相应色彩值的多个输入项的经量化调色板,其中视频数据的所述块的第一排包含邻近于视频数据的所述块的边缘而定位的像素,且其中视频数据的所述块的第二排包含邻近于所述块的所述边缘并邻近于所述第一排的所述像素而定位的像素;以及
按蛇形扫描次序译码将所述块的像素映射到所述调色板中的输入项的索引值,使得始终按所述蛇形扫描次序译码将视频数据的块的像素映射到经量化调色板中的输入项的索引值,其中所述第二排的所述像素按所述蛇形扫描次序紧跟在所述第一排的所述像素之后。
14.根据权利要求13所述的设备,其中所述第一排为第一行且所述第二排为第二行,且其中,为按所述蛇形扫描次序译码所述索引值,所述一或多个处理器经配置以紧接在译码所述第二行中的所述像素的索引值之前译码所述第一行中的所述像素的索引值。
15.根据权利要求13所述的设备,其中所述第一排为第一列且所述第二排为第二列,且其中,为按所述蛇形扫描次序译码所述索引值,所述一或多个处理器经配置以紧接在译码所述第二列中的所述像素的索引值之前译码所述第一列中的所述像素的索引值。
16.根据权利要求13所述的设备,其中所述边缘为第一边缘,其中所述第二排的所述像素为所述第二排的第一像素,其中所述第二排包含邻近于视频数据的所述块的平行于所述第一边缘的第二边缘而定位的第二像素,且其中,为译码所述索引值,所述一或多个处理器经配置以:
译码指示按所述蛇形扫描次序的连续像素的延行具有相同索引值的一或多个语法元素,其中连续像素的所述延行包含所述第一排的所述像素和所述第二排的所述第一像素,且不包含所述第二排的所述第二像素。
17.根据权利要求13所述的设备,其中所述一或多个处理器经进一步配置以:
译码指示紧跟在所述第一排的所述像素之后按所述蛇形扫描次序扫描所述第二排的所述像素的语法元素。
18.根据权利要求13所述的设备,其中所述经量化调色板中的每一输入项分别包含对应于所述多个相应色彩值的相应色彩值的唯一索引值,且其中所述一或多个处理器经进一步配置以:
译码不对应于所述多个相应色彩值的相应色彩值的逸出像素的值,
其中所述一或多个处理器经配置以使用截断二进制码译码所述索引值和所述逸出像素中的一或两者。
19.根据权利要求13所述的设备,其进一步包括视频编码器,其中,为译码所述索引值,所述一或多个处理器经配置以编码所述索引值,且其中所述一或多个处理器经进一步配置以产生包含所述经量化调色板和表示所述索引值的一或多个语法元素的位流。
20.根据权利要求19所述的设备,其中所述一或多个处理器经进一步配置以:
针对视频数据的所述块确定包含多个输入项的直方图,所述多个输入项各自包含相应像素值和具有类似于所述相应像素值的像素值的像素的相应量;
基于所述直方图将视频数据的所述块的一或多个像素分类为主要色彩像素或逸出像素,其中经分类为逸出像素的像素对应于所述直方图中的指示比经分类为主要色彩像素的像素更低的像素量的输入项;以及
基于所述直方图确定所述经量化调色板。
21.根据权利要求20所述的设备,其中所述直方图的所述多个输入项中的每一者表示在经量化时具有相同像素值的像素的量。
22.根据权利要求21所述的设备,其中,为确定所述经量化调色板,所述一或多个处理器经配置以:
确定用于视频数据的所述块的所述经量化调色板的第一输入项,其中所述第一输入项对应于所述直方图的第一输入项;
确定对应于包含于所述直方图的第二输入项中的像素值与包含于所述经量化调色板中的一或多个像素值之间的差的距离值;以及
响应于确定所述距离值满足阈值,将包含于所述直方图的所述第二输入项中的所述像素值复制到所述经量化调色板的第二输入项中。
23.根据权利要求22所述的设备,其中所述阈值是基于视频数据的所述块的量化参数QP。
24.根据权利要求13所述的设备,其进一步包括视频解码器,其中,为译码所述索引值,所述一或多个处理器经配置以解码所述索引值,且其中所述一或多个处理器经进一步配置以接收包含所述经量化调色板和表示所述索引值的一或多个语法元素的位流。
25.一种用于译码视频数据的设备,所述设备包括:
用于响应于确定使用基于调色板的视频译码来译码视频数据的块针对视频数据的所述块确定具有指示多个相应色彩值的多个输入项的经量化调色板的装置,其中视频数据的所述块的第一排包含邻近于视频数据的所述块的边缘而定位的像素,且其中视频数据的所述块的第二排包含邻近于所述块的所述边缘并邻近于所述第一排的所述像素而定位的像素;以及
用于按蛇形扫描次序且响应于使用基于调色板的视频译码来译码视频数据的所述块译码将所述块的像素映射到所述经量化调色板中的输入项的索引值使得始终按所述蛇形扫描次序译码将视频数据的块的像素映射到经量化调色板中的输入项的索引值的装置,其中所述第二排的所述像素按所述蛇形扫描次序紧跟在所述第一排的所述像素之后。
26.根据权利要求25所述的设备,其中所述第一排为第一行且所述第二排为第二行,且其中所述用于按所述蛇形扫描次序译码所述索引值的装置包括用于紧接在译码所述第二行中的所述像素的索引值之前译码所述第一行中的所述像素的索引值的装置。
27.根据权利要求25所述的设备,其中所述第一排为第一列且所述第二排为第二列,且其中所述用于按所述蛇形扫描次序译码所述索引值的装置包括用于紧接在译码所述第二列中的所述像素的索引值之前译码所述第一列中的所述像素的索引值的装置。
28.根据权利要求25所述的设备,其中所述边缘为第一边缘,其中所述第二排的所述像素为所述第二排的第一像素,其中所述第二排包含邻近于视频数据的所述块的平行于所述第一边缘的第二边缘而定位的第二像素,且其中所述用于译码所述索引值的装置包括:
用于译码指示按所述蛇形扫描次序的连续像素的延行具有相同索引值的一或多个语法元素的装置,其中连续像素的所述延行包含所述第一排的所述像素和所述第二排的所述第一像素,且不包含所述第二排的所述第二像素。
29.根据权利要求25所述的设备,其进一步包括:
用于译码指示紧跟在所述第一排的所述像素之后按所述蛇形扫描次序扫描所述第二排的所述像素的语法元素的装置。
30.一种存储有指令的计算机可读存储媒体,所述指令在经执行时使视频译码器的一或多个处理器执行以下操作:
响应于确定使用基于调色板的视频译码来译码视频数据的块:
针对视频数据的块确定具有指示多个相应色彩值的多个输入项的经量化调色板,其中视频数据的所述块的第一排包含邻近于视频数据的所述块的边缘而定位的像素,且其中视频数据的所述块的第二排包含邻近于所述块的所述边缘并邻近于所述第一排的所述像素而定位的像素;以及
按蛇形扫描次序译码将所述块的像素映射到所述经量化调色板中的输入项的索引值,使得始终按所述蛇形扫描次序译码将视频数据的块的像素映射到经量化调色板中的输入项的索引值,其中所述第二排的所述像素按所述蛇形扫描次序紧跟在所述第一排的所述像素之后。
31.根据权利要求30所述的计算机可读媒体,其中所述第一排为第一行且所述第二排为第二行,且其中所述使所述一或多个处理器按所述蛇形扫描次序译码所述索引值的指令包括使所述一或多个处理器紧接在译码所述第二行中的所述像素的索引值之前译码所述第一行中的所述像素的索引值的指令。
32.根据权利要求30所述的计算机可读媒体,其中所述第一排为第一列且所述第二排为第二列,且其中所述使所述一或多个处理器按所述蛇形扫描次序译码所述索引值的指令包括使所述一或多个处理器紧接在译码所述第二列中的所述像素的索引值之前译码所述第一列中的所述像素的索引值的指令。
33.根据权利要求30所述的计算机可读媒体,其中所述边缘为第一边缘,其中所述第二排的所述像素为所述第二排的第一像素,其中所述第二排包含邻近于视频数据的所述块的平行于所述第一边缘的第二边缘而定位的第二像素,且其中所述使所述一或多个处理器译码所述索引值的指令包括使所述一或多个处理器执行以下操作的指令:
译码指示按所述蛇形扫描次序的连续像素的延行具有相同索引值的一或多个语法元素,其中连续像素的所述延行包含所述第一排的所述像素和所述第二排的所述第一像素,且不包含所述第二排的所述第二像素。
34.根据权利要求30所述的计算机可读媒体,其进一步包括使所述一或多个处理器执行以下操作的指令:
译码指示紧跟在所述第一排的所述像素之后按所述蛇形扫描次序扫描所述第二排的所述像素的语法元素。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461953667P | 2014-03-14 | 2014-03-14 | |
US61/953,667 | 2014-03-14 | ||
US14/656,087 | 2015-03-12 | ||
US14/656,087 US9826242B2 (en) | 2014-03-14 | 2015-03-12 | Palette-based video coding |
PCT/US2015/020483 WO2015138927A1 (en) | 2014-03-14 | 2015-03-13 | Palette-based video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106105200A CN106105200A (zh) | 2016-11-09 |
CN106105200B true CN106105200B (zh) | 2019-05-03 |
Family
ID=54070438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580012718.5A Active CN106105200B (zh) | 2014-03-14 | 2015-03-13 | 基于调色板的视频译码 |
Country Status (13)
Country | Link |
---|---|
US (1) | US9826242B2 (zh) |
EP (1) | EP3117613A1 (zh) |
JP (1) | JP2017513321A (zh) |
KR (1) | KR101937548B1 (zh) |
CN (1) | CN106105200B (zh) |
CR (1) | CR20160422A (zh) |
DO (1) | DOP2016000245A (zh) |
GT (1) | GT201600188A (zh) |
MX (1) | MX354578B (zh) |
NI (1) | NI201600137A (zh) |
SV (1) | SV2016005275A (zh) |
TW (1) | TWI624172B (zh) |
WO (1) | WO2015138927A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10291827B2 (en) | 2013-11-22 | 2019-05-14 | Futurewei Technologies, Inc. | Advanced screen content coding solution |
US9560364B2 (en) * | 2014-02-25 | 2017-01-31 | Fingram Co., Ltd. | Encoding image data with quantizing and inverse-quantizing pixel values |
US10638143B2 (en) * | 2014-03-21 | 2020-04-28 | Futurewei Technologies, Inc. | Advanced screen content coding with improved color table and index map coding methods |
US10362336B2 (en) | 2014-03-25 | 2019-07-23 | Qualcomm Incorporated | Palette predictor signaling with run length code for video coding |
US10091512B2 (en) | 2014-05-23 | 2018-10-02 | Futurewei Technologies, Inc. | Advanced screen content coding with improved palette table and index map coding methods |
WO2015176685A1 (en) * | 2014-05-23 | 2015-11-26 | Mediatek Inc. | Methods for palette size signaling and conditional palette escape flag signaling |
EP3158744A4 (en) * | 2014-06-19 | 2017-07-26 | HFI Innovation Inc. | Method and apparatus of candidate generation for single sample mode in video coding |
KR101887798B1 (ko) * | 2014-06-20 | 2018-08-10 | 에이치에프아이 이노베이션 인크. | 비디오 코딩에서의 신택스에 대한 이진화 및 컨텍스트 적응 코딩의 방법 및 장치 |
US10237557B2 (en) | 2014-06-20 | 2019-03-19 | Hfi Innovation Inc. | Method of run-length coding for palette predictor |
CN106797471B (zh) * | 2014-09-03 | 2020-03-10 | 联发科技股份有限公司 | 一种对图像内区块使用调色板预测模式的颜色索引图解码方法 |
US9706212B2 (en) * | 2014-10-06 | 2017-07-11 | Futurewei Technologies, Inc. | Palette mode in high efficiency video coding (HEVC) screen content coding (SCC) |
US9596479B2 (en) * | 2014-10-07 | 2017-03-14 | Hfi Innovation Inc. | Method of pulse-code modulation and palette coding for video coding |
KR20180008445A (ko) * | 2015-06-10 | 2018-01-24 | 삼성전자주식회사 | 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치 |
GB2539486B (en) * | 2015-06-18 | 2019-07-31 | Gurulogic Microsystems Oy | Encoder, decoder and method employing palette compression |
PL3731527T3 (pl) * | 2016-05-28 | 2023-01-09 | Hfi Innovation Inc. | Sposób i urządzenie do kodowania w trybie palety dla danych kolorowego wideo |
CN106851294B (zh) * | 2017-01-03 | 2018-08-14 | 西安万像电子科技有限公司 | 图像的压缩方法和装置及其文字块的压缩方法和装置 |
US11399187B2 (en) * | 2017-03-10 | 2022-07-26 | Intel Corporation | Screen content detection for adaptive encoding |
US11115660B2 (en) | 2018-04-30 | 2021-09-07 | Mediatek Inc. | Method and apparatus of syntax interleaving for separate coding tree in video coding |
TWI720470B (zh) * | 2018-04-30 | 2021-03-01 | 聯發科技股份有限公司 | 用於視訊編解碼中的獨立編碼樹的語法交錯方法和裝置 |
CN116708794A (zh) | 2019-03-18 | 2023-09-05 | Oppo广东移动通信有限公司 | 图像分量预测方法、编码器、解码器以及存储介质 |
CN113906758A (zh) * | 2019-05-31 | 2022-01-07 | 字节跳动有限公司 | 调色板模式与帧内块复制预测 |
CN117714698A (zh) | 2019-06-28 | 2024-03-15 | 字节跳动有限公司 | 屏幕内容编解码中的色度帧内模式推导 |
US11330306B2 (en) * | 2019-08-07 | 2022-05-10 | Tencent America LLC | Method and apparatus for video coding |
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. |
CN118214867A (zh) * | 2019-11-05 | 2024-06-18 | Lg电子株式会社 | 解码和编码设备及发送用于图像的数据的设备 |
US11451801B2 (en) * | 2019-12-26 | 2022-09-20 | Alibaba Group Holding Limited | Methods for coding video data in palette mode |
CN115211118A (zh) * | 2019-12-31 | 2022-10-18 | 抖音视界有限公司 | 用于视频编解码的基于聚类的调色板模式 |
CN112218069A (zh) * | 2020-09-28 | 2021-01-12 | 北京达佳互联信息技术有限公司 | 直播界面检测方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1241871A (zh) * | 1998-07-07 | 2000-01-19 | C-立方微***股份有限公司 | Mpeg起始码兼容交叠图形编码 |
CN2638367Y (zh) * | 2003-09-05 | 2004-09-01 | 乔妍 | 伪处理彩色显示控制装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408542A (en) | 1992-05-12 | 1995-04-18 | Apple Computer, Inc. | Method and apparatus for real-time lossless compression and decompression of image data |
US6008816A (en) | 1996-04-25 | 1999-12-28 | Microsoft Corporation | Method and system for managing color specification using attachable palettes and palettes that refer to other palettes |
US6256415B1 (en) | 1998-06-10 | 2001-07-03 | Seiko Epson Corporation | Two row buffer image compression (TROBIC) |
AU2233801A (en) | 1999-12-22 | 2001-07-16 | Neomtel Co., Ltd. | A system for moving image data using wireless communication and the method of the same |
US6819793B1 (en) | 2000-06-30 | 2004-11-16 | Intel Corporation | Color distribution for texture and image compression |
US6748116B1 (en) | 2000-08-22 | 2004-06-08 | Airzip, Inc. | Apparatus and method for compressing and decompressing image files |
US7162080B2 (en) * | 2001-02-23 | 2007-01-09 | Zoran Corporation | Graphic image re-encoding and distribution system and method |
US6898313B2 (en) | 2002-03-06 | 2005-05-24 | Sharp Laboratories Of America, Inc. | Scalable layered coding in a multi-layer, compound-image data transmission system |
US7343037B1 (en) | 2004-02-04 | 2008-03-11 | Microsoft Corporation | Dynamic, locally-adaptive, lossless palettization of color and grayscale images |
US7751585B2 (en) * | 2004-06-28 | 2010-07-06 | Microsoft Corporation | System and method for encoding high density geometric symbol set |
US7343837B1 (en) | 2006-09-15 | 2008-03-18 | James Anthony Domanico | Multi-plane flexible handle for ratchets and wrenches |
AU2006246497B2 (en) * | 2006-11-30 | 2010-02-11 | Canon Kabushiki Kaisha | Method and apparatus for hybrid image compression |
US9232226B2 (en) | 2008-08-19 | 2016-01-05 | Marvell World Trade Ltd. | Systems and methods for perceptually lossless video compression |
US20110110416A1 (en) | 2009-11-12 | 2011-05-12 | Bally Gaming, Inc. | Video Codec System and Method |
US8861617B2 (en) * | 2010-10-05 | 2014-10-14 | Mediatek Inc | Method and apparatus of region-based adaptive loop filtering |
JP2014107742A (ja) * | 2012-11-28 | 2014-06-09 | Toshiba Corp | 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法 |
US11259020B2 (en) | 2013-04-05 | 2022-02-22 | Qualcomm Incorporated | Determining palettes in palette-based video coding |
US9558567B2 (en) | 2013-07-12 | 2017-01-31 | Qualcomm Incorporated | Palette prediction in palette-based video coding |
US9794579B2 (en) | 2013-07-15 | 2017-10-17 | Qualcomm Incorporated | Decoded picture buffer operations for video coding |
-
2015
- 2015-03-12 US US14/656,087 patent/US9826242B2/en active Active
- 2015-03-13 WO PCT/US2015/020483 patent/WO2015138927A1/en active Application Filing
- 2015-03-13 TW TW104108210A patent/TWI624172B/zh active
- 2015-03-13 MX MX2016011591A patent/MX354578B/es active IP Right Grant
- 2015-03-13 EP EP15714327.2A patent/EP3117613A1/en not_active Withdrawn
- 2015-03-13 KR KR1020167028027A patent/KR101937548B1/ko active IP Right Grant
- 2015-03-13 CN CN201580012718.5A patent/CN106105200B/zh active Active
- 2015-03-13 JP JP2016556973A patent/JP2017513321A/ja active Pending
- 2015-03-13 CR CR20160422A patent/CR20160422A/es unknown
-
2016
- 2016-09-13 NI NI201600137A patent/NI201600137A/es unknown
- 2016-09-14 DO DO2016000245A patent/DOP2016000245A/es unknown
- 2016-09-14 GT GT201600188A patent/GT201600188A/es unknown
- 2016-09-14 SV SV2016005275A patent/SV2016005275A/es unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1241871A (zh) * | 1998-07-07 | 2000-01-19 | C-立方微***股份有限公司 | Mpeg起始码兼容交叠图形编码 |
CN2638367Y (zh) * | 2003-09-05 | 2004-09-01 | 乔妍 | 伪处理彩色显示控制装置 |
Non-Patent Citations (2)
Title |
---|
AHG8: Major-color-based screen content coding;Xun Guo;《Joint Collaborative Team on Video Coding (JCT-VC)》;20131101;全文 |
Sequence parameter set RBSP syntax;Xun Guo;《Joint Collaborative Team on Video Coding (JCT-VC)》;20131101;全文 |
Also Published As
Publication number | Publication date |
---|---|
KR20160132925A (ko) | 2016-11-21 |
TW201545543A (zh) | 2015-12-01 |
GT201600188A (es) | 2018-11-27 |
US9826242B2 (en) | 2017-11-21 |
MX354578B (es) | 2018-03-12 |
EP3117613A1 (en) | 2017-01-18 |
JP2017513321A (ja) | 2017-05-25 |
SV2016005275A (es) | 2017-07-20 |
TWI624172B (zh) | 2018-05-11 |
DOP2016000245A (es) | 2016-12-30 |
MX2016011591A (es) | 2016-12-20 |
US20150264363A1 (en) | 2015-09-17 |
CN106105200A (zh) | 2016-11-09 |
KR101937548B1 (ko) | 2019-01-10 |
WO2015138927A1 (en) | 2015-09-17 |
NI201600137A (es) | 2016-11-18 |
CR20160422A (es) | 2017-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106105200B (zh) | 基于调色板的视频译码 | |
CN106416249B (zh) | 用于编码/解码视频数据的方法和装置 | |
CN105556974B (zh) | 基于调色板的视频译码中的调色板预测 | |
CN105191320B (zh) | 对视频数据进行编码和解码的方法和设备 | |
CN106464915B (zh) | 基于调色板的视频译码中的最大调色板参数 | |
CN106464884B (zh) | 基于调色板的视频译码中的译码行程 | |
CN106464883B (zh) | 基于调色板的视频译码中的逃脱样本译码方法、装置及设备 | |
CN105874796B (zh) | 用于基于调色板的视频译码的颜色索引译码 | |
CN106537916B (zh) | 编码和解码视频数据的方法和装置及计算机可读存储介质 | |
CN106105228B (zh) | 一种处理视频数据的方法、装置及计算机可读介质 | |
CN106797465B (zh) | 一种解码视频数据的方法及装置 | |
CN106464881B (zh) | 块自适应颜色空间转换译码的方法和装置 | |
CN104380748B (zh) | 用于对视频数据进行编码和解码的方法和装置 | |
CN105264891B (zh) | 一种对视频数据进行解码、编码的方法及装置 | |
CN104205837B (zh) | 视频译码中的经译码块旗标推断 | |
CN106797468B (zh) | 高效视频编码(hevc)屏幕内容编码(scc)中改进的调色板模式 | |
CN108028940A (zh) | 调色板模式视频译码中转义像素信号值的限制 | |
CN108028932A (zh) | 用于视频译码的调色板预测初始化及合并 | |
CN106105207A (zh) | 用于视频译码的具有行程长度码的调色板预测器信令 | |
CN108781289A (zh) | 针对视频译码工具的受约束块层级优化和用信号发送 | |
CN106464877A (zh) | 在视频译码中确定将解块滤波应用于经调色板译码块 | |
CN106797484A (zh) | 用于基于调色板的视频译码的调色板索引二进制化 | |
CN109076228A (zh) | 滤波信息的发信号 | |
CN107787583A (zh) | 在块内复制模式中的参考图片列表构建 | |
CN107710765A (zh) | 分组用于视频译码的调色盘旁通槽 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |