CN106415607B - 具有改进调色板表和索引图编码的先进屏幕内容编码方法 - Google Patents
具有改进调色板表和索引图编码的先进屏幕内容编码方法 Download PDFInfo
- Publication number
- CN106415607B CN106415607B CN201580016913.5A CN201580016913A CN106415607B CN 106415607 B CN106415607 B CN 106415607B CN 201580016913 A CN201580016913 A CN 201580016913A CN 106415607 B CN106415607 B CN 106415607B
- Authority
- CN
- China
- Prior art keywords
- color
- palette
- palette table
- coding
- fallout predictor
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种装置用于执行用于屏幕内容编码的方法。所述方法包括:基于当前编码单元(coding unit,CU)获取调色板表和颜色索引图。所述方法还包括:对所述调色板表进行编码以及对所述颜色索引图进行编码。所述方法还包括:结合所述编码后的调色板表和所述编码后的颜色索引图,以传输给接收器,其中对所述调色板表和所述索引图进行解码以重建像素块。
Description
相关申请案交叉申请优先权声明
本申请要求2015年5月21日递交的发明名称为“具有改进调色板表和索引图编码的先进屏幕内容编码方法(ADVANCED SCREEN CONTENT CODING WITH IMPROVED PALETTETABLE AND INDEX MAP CODING METHODS)”的第14/719,064号美国非临时专利申请案的在先申请优先权,该非临时专利申请案要求2014年5月23日递交的发明名称为“具有改进颜色表和索引图编码方法的先进屏幕内容编码方案-第三部分(ADVANCED SCREEN CONTENTCODING SOLUTION WITH IMPROVED COLOR TABLE AND INDEX MAP CODING METHODS-PART3)”的第62/002,556号美国临时专利申请案的在先申请优先权,这两个在先申请的全部内容以引入的方式并入本文本中。
技术领域
本发明大体上涉及屏幕内容编码,更具体地,涉及具有改进颜色(调色板)表和索引图编码的先进屏幕内容编码。
背景技术
屏幕内容编码给视频压缩带来了新挑战,因为相比于传统的视频信号,屏幕内容编码的信号特征鲜明。目前存在多种先进屏幕内容编码技术,例如,伪字符串匹配、颜色调色板编码和帧内运动补偿或帧内块复制等。在这些技术中,伪字符串匹配在无损编码方面展示了最高的增益,但复杂度开销大且在有损编码模式中存在困难。针对屏幕内容研发的颜色调色板编码基于以下假设:非相机捕获的内容(例如,计算机生成的内容)通常包含数量有限的不同颜色而不是在许多视频序列中找到的连续或近乎连续色调。尽管伪字符串匹配和颜色调色板编码方法展示了巨大的潜力,帧内运动补偿或帧内块复制在正在进行的用于屏幕内容编码的高效视频编码(High Efficiency Video Coding,HEVC)范围扩展的工作草案(working draft,WD)第4版和参考软件中被采用。然而,因为固定的块分解,帧内块复制的编码性能受限。进行块匹配(类似于帧内图像的运动估计)还明显提高了计算和内存访问方面的编码器复杂度。
发明内容
根据一项实施例,提供了一种用于屏幕内容编码的方法。所述方法包括基于当前编码单元(coding unit,CU)获取调色板表和颜色索引图。所述方法还包括对所述调色板表进行编码和对所述颜色索引图进行编码。所述方法还包括结合所述编码后的调色板表和所述编码后的颜色索引图以传输给接收器。在所述接收器处,对所述调色板表和所述索引图进行解码以重建像素块。
根据另一项实施例,提供了一种用于屏幕内容编码的装置。所述装置包括:至少一个存储器;以及耦合到所述至少一个存储器的至少一个处理器。所述至少一个处理器用于:基于当前编码单元(coding unit,CU)获取调色板表和颜色索引图;对所述调色板表进行编码;对所述颜色索引图进行编码;以及结合所述编码后的调色板表和所述编码后的颜色索引图以传输给接收器。
根据又一项实施例,提供了一种用于屏幕内容解码的方法。所述方法包括接收包括调色板表和颜色索引图中的至少一个的视频比特流。所述方法还包括对所述调色板表和所述颜色索引图中的至少一个进行解码。所述方法还包括基于所述调色板表和所述颜色索引图中的至少一个重建与当前编码单元(coding unit,CU)相关联的像素。
根据另一项实施例,提供了一种用于屏幕内容解码的解码器。所述解码器包括:接收元件,用于接收包括调色板表和颜色索引图中的至少一个的视频比特流;以及解码元件,用于对所述调色板表和所述颜色索引图中的至少一个进行解码。所述解码器还包括重建元件,用于基于所述调色板表和所述颜色索引图中的至少一个重建与当前编码单元(codingunit,CU)相关联的像素。
根据又一项实施例,提供了一种用于屏幕内容编码的编码器。所述编码器包括获取元件,用于基于当前编码单元(coding unit,CU)获取调色板表和颜色索引图。所述编码器还包括编码元件,用于对所述调色板表和所述颜色索引图进行编码。所述编码器还包括结合元件,用于结合所述编码后的调色板表和所述编码后的颜色索引图以传输给接收器。在所述接收器处,对所述调色板表和所述索引图进行解码以重建像素块。
附图说明
为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,相同的数字表示相同的对象,其中:
图1示出了根据本发明的执行屏幕内容编码过程的示例性发射器的功能方框图;
图2示出了根据本发明的执行屏幕内容解码过程的示例接收器的功能方框图;
图3示出了根据本发明的使用调色板表和索引图的各种模块和处理流程的示例;
图4示出了示例编码单元(coding unit,CU),其颜色分量分别显示和封装;
图5示出了使用相邻重建块进行调色板表预测的示例;
图6示出了64x64CU的示例颜色索引图,在其中可以使用水平或垂直扫描;
图7示出了采用水平扫描进行一维(one dimensional,1D)搜索后的一个1D颜色索引矢量的一部分;
图8示出了称为U_PIXEL模块的基本像素处理单元的示例;
图9示出了U_ROW模块的示例;
图10示出了U_CMP模块的示例;
图11示出了U_COL模块的示例;
图12示出了示例U_2D_BLOCK模块;
图13示出了用于索引图处理的水平和垂直扫描的示例;
图14A和图14B示出了4:2:0和4:4:4色度采样格式的示例;
图15示出了从4:4:4到4:2:0或反之的插值过程的示例;
图16示出了使用上索引行缓冲或左索引行缓冲进行颜色索引图处理的示例;
图17示出了根据本发明的优化路径移动管理的方法;
图18示出了根据本发明的优化路径移动管理的方法。
具体实施方式
下文论述的图1至图18和本专利文档中用于描述本发明的原理的各种实施例仅为示例性方式,而不应解释为以任何方式限制本发明的范围。本领域技术人员将理解,本发明的原理可在任何类型的适当布置的设备或***中实施。
因此,将以下文档和标准描述并入在本发明中,如同在本文充分阐述一样。
由T.Lin、S.Wang、P.Zhang、K.Zhou著的“AHG7:HEVC的全色度(YUV444)词典+混合双编码器扩展(AHG7:Full-chroma(YUV444)dictionary+hybrid dual-coder extensionof HEVC)”,JCT-VC文件,JCTVC-K0133,中国上海,2012年10月(在下文中称为“REF1”);
由W.Zhu、J.Xu、W.Ding著的“RCE3测试2:多级基色和索引图(RCE3Test 2:Multi-stage Base Color and Index Map)”,JCT-VC文件,JCTVC-N0287,奥地利维也纳,2013年7月(在下文中称为“REF2”);
由L.Guo、M.Karczewicz、J.Sole著的“RCE3:用于屏幕内容编码的调色板模式的测试3.1的结果(RCE3:Results of Test 3.1on Palette Mode for Screen ContentCoding)”,JCT-VC文件,JCTVC-N0247,奥地利维也纳,2013年7月(在下文中称为“REF3”);
由L.Guo、M.Karczewicz、J.Sole、R.Joshi著的“非RCE3:用于屏幕内容编码的改进调色板模式(Non-RCE3:Modified Palette Mode for Screen Content Coding)”,JCT-VC文件,JCTVC-N0249,奥地利维也纳,2013年7月(在下文中称为“REF4”);
由D.-K.Kwon、M.Budagavi著的“RCE3:帧内运动补偿的测试3.3的结果(RCE3:Results of test 3.3on Intra motion compensation)”,JCT-VC文件,JCTVC-N0205,奥地利维也纳,2013年7月(在下文中称为“REF5”);
由C.Pang、J.Sole、L.Guo、M.Karczewicz、R.Joshi著的“非RCE3:使用2-D MV的帧内运动补偿(Non-RCE3:Intra Motion Compensation with2-D MVs)”,JCT-VC文件,JCTVC-N0256,奥地利维也纳,2013年7月(在下文中称为“REF6”);
由C.Pang、J.Sole、L.Guo、M.Karczewicz、R.Joshi著的“非RCE3:管道友好型帧内运动补偿(Non-RCE3:Pipeline Friendly Intra Motion Compensation)”,JCT-VC文件,JCTVC-N0254,奥地利维也纳,2013年7月(在下文中称为“REF7”);
由D.Flynn、J.Soel和T.Suzuki著的“范围扩展草案4(Range Extension Draft4)”,JCTVC-L1005,2013年8月(在下文中称为“REF8”);以及
H.Yu、K.McCann、R.Cohen和P.Amon著的“对屏幕内容和医学可视化内容进行编码的草案提议(Draft call for proposals for coding of screen content and medicalvisual content)”ISO/IEC JTC1/SC29/WG11N13829,2013年7月(在下文中称为“REF9”)。
本发明实施例提供了具有改进调色板表和索引图编码的先进屏幕内容编码过程。所公开的实施例明显优于当前版本的高效率视频编码(HEVC第2版)。所公开的实施例包括多种专门用于编码屏幕内容的算法。这些算法包括:使用调色板表(或等价地,颜色表)的像素表示、调色板表压缩、颜色索引图压缩、字符串匹配和残差压缩。本文所公开的实施例使用HEVC范围扩展(Range Extension,RExt)开发、协调并与其融合来作为将来的HEVC扩展,以支持高效的屏幕内容编码。然而,这些实施例可以附加地或替代地与现有视频标准或任何其它合适的视频标准一起实施。为便于说明,本文使用HEVC RExt作为示例来描述各种实施例。类似地,使用HEVC RExt软件来实施各种实施例以展示压缩效率。
图1示出了根据本发明的进行屏幕内容编码过程的示例性发射器的功能方框图。图2示出了根据本发明的进行屏幕内容解码过程的示例接收器的功能方框图。发射器100和接收器200的实施例仅用于说明。在不脱离本发明范围的情况下,可以使用发射器100和接收器200的其它实施例。
发射器100用于执行高效的颜色调色板压缩(color palette compression,CPC)过程,CPC过程可以对比特流中的每个编码单元(coding unit,CU)或编码树单元(codingtree unit,CTU)执行。如图1所示,发射器100从比特流中的CU 101开始。CU是HEVC和HEVCRExt中的基本操作单元,是包含三个颜色分量(例如,本领域中已知的RGB、YUV、XYZ等)的方形像素方块。示例CU 101在图3中示出。CU 101为8像素×8像素CU,包括每个像素的明确颜色值(例如,47、48、49等)。在其它实施例中,CU 101的尺寸可为8×8像素之外的(例如,16×16像素,32×32像素等)。在一些实施例中,发射器100可从CTU 101而非CU 101开始。为便于解释,将使用CU 101描述发射器100。本领域技术人员将理解,发射器100可对CTU 101执行基本上相同的过程。
调色板表创建块103使用CU 101来获取或生成调色板表(有时称为颜色表)。示例调色板表303在图3中示出。为了获取调色板表303,调色板表创建块103根据一个或多个排序规则对颜色值排序。调色板表303可根据每个颜色值的出现频率、CU 101的每个像素的实际颜色强度或任何其它合适的排序度量进行排序,以提高以下编码操作的效率。
根据获取的调色板表303,颜色分类器块105使用CU 101来将CU 101的颜色或像素值分配到颜色索引图311和一个或多个预测残差图313。表编码块107接收调色板表303,并对调色板表303中的表项进行编码。索引图编码块109对颜色分类器块105创建的颜色索引图311进行编码。这些操作在下文更详细地描述。
残差编码块111对由颜色分类器块105创建的每个预测残差图313进行编码。在一些实施例中,残差编码块111执行自适应固定长度或可变长度的残差二值化,如图3的321所指示。然后,复用(multiplexing,MUX)块113使用字符串/块匹配319和编码后的预测残差321生成压缩比特流。在一些实施例中,可使用基于上下文的自适应二进制算术编码(context adaptive binary arithmetic coding,CABAC)方法323来合并字符串/块匹配319和编码后的预测残差321,如图3所示。
转到图2,接收器200用于执行屏幕内容解码过程,这类似于发射器100所执行的屏幕内容编码过程,如上所述。接收器200接收压缩视频比特流,然后使用解复用器201将比特流解析为编码后的调色板表、颜色索引图和编码后的预测残差。表解码块203和调色板表创建块209执行与表编码块107和调色板表创建块103相反的过程来为每个CU重建完整的调色板表。类似地,索引图解码块205和残差解码块207执行与索引图编码块109和残差编码块111相反的过程以重建颜色索引图。颜色去分类器块211通过结合颜色索引图和调色板表来获取每个位置处的像素值,从而重建CTU或CU 213。
尽管图1和图2示出了用于执行屏幕内容编码和解码的发射器100和接收器200的示例,但可以对图1和2进行各种改变。例如,可以合并、进一步细分或省略图1和图2中的各种组件,并可根据具体需要来添加额外组件。作为具体示例,各种组件可一起布置在一个壳体内或在一个电路板上,或可由单个处理器或处理单元执行。
根据获取的调色板表303,可将在原始CU 101中的每个像素转化为其在调色板表303中的颜色索引。本发明实施例提供一种为每个CU 101将调色板表303和颜色索引图311(在下文描述)有效压缩到流中的方法。在接收器侧,可解析压缩后的比特流来为每个CU101重建完整的调色板表303和颜色索引图311,然后通过结合颜色索引图和调色板表来进一步获取每个位置处的像素值。
图4示出了CU 401的另一示例,CU 401的颜色分量分别展示和封装。CU 401可代表CU 101。如图4所示,CU 401为8像素×8像素的CU。当然,CU 401可为N×N个像素,其中N=8、16、32、64,以便与HEVC兼容。CU 401的每个像素包括采样率不同(例如,4:4:4、4:2:2、4:2:0)的三个颜色分量。即,CU 401包括独立的红色(R)颜色分量402、绿色(G)颜色分量403和蓝色(B)颜色分量404。在其它实施例中,颜色分量可为Y、Cb、Cr,或X、Y、Z或分量的另一适当组合。
为简单起见,在本发明中使用4:4:4序列。对于4:2:2和4:2:0视频,可使用色度上采样来获取4:4:4序列,或者可独立处理每个色度分量402至404。在4:0:0单***的情况中,这些都可以被视为4:4:4的单独平面,而不存在另外两个平面。所有用于4:4:4的方法都可以直接使用。
颜色分量402至404可在封装过程中一起交织,得到封装后的CU 401。在一项实施例中,为每个CU 101定义称为enable_packed_component_flag的标识,以指示CU 101是使用封装模式(从而得到封装后的CU 401)还是常规平面模式(即,独立处理G,B,R或Y,U,V分量402至404)进行处理。
封装模式和平面模式两者都具有优点和缺点。例如,平面模式支持G/B/R或Y/U/V的并行颜色分量处理。然而,平面模式可能会导致低编码效率。封装模式可以在不同的颜色分量中共享CU 101的头部信息(如调色板表303和颜色索引图311)。然而,封装模式可能阻止多个颜色分量同时处理或者以并行方式处理。决定当前CU 101是否应在封装模式下进行编码的一种简单方法来是测量速率失真(rate distortion,R-D)成本。
enable_packed_component_flag用于显式地向解码器指示编码模式。除了在CU层定义enable_packed_component_flag来进行低级处理,还可根据具体应用要求,在片头或甚至在序列层(例如,序列参数集或图像参数集)复制标识以允许片层或序列层处理。
获取调色板表和索引图
下文描述了图1中的调色板表创建块103和表编码块107。对于每个CU 101,遍历像素位置,获取用于后续处理的调色板表303和颜色索引图311。根据每个不同颜色的直方图(即,出现频率)或其强度,或为了提高随后的编码过程的效率的任何任意方法,在调色板表303对每个不同颜色进行排序。例如,如果编码过程使用了差值脉冲编码调制(differential pulse code modulation,DPCM)方法来对相邻像素之间的差进行编码,如果在调色板表303中给相邻像素分配了相邻颜色索引,则可以获得最优编码结果。
现描述新的基于哈希的调色板表的获取,其可用于有效地确定主要颜色和减少误差。对于每个CU 101,调色板表创建块103检查CU 101中的每个像素的颜色值,并按每种颜色出现频率的降序使用三个颜色分量,即封装后的G、B、R或封装后的Y、Cb、Cr,共同创建颜色直方图。为表示每个24位颜色,G和B颜色分量(或Y和Cb颜色分量)可相应地进行位移。也就是说,可根据值(G<<16)+(B<<8)+(R)或(Y<<16)+(CB<<8)+(Cr)来表示每个封装后的颜色,其中<<x是左位移操作。直方图按颜色出现频率的降序排列。
对于有损编码,调色板表创建块103然后对按直方图排序的颜色数据应用基于哈希的相邻颜色分组过程,以获取更紧凑的调色板表表示。针对每个颜色分量,清除最低X比特位(取决于量化参数(quantization parameter,QP)),并使用哈希函数(G>>X<<(16+X))|(B>>X<<(8+X))|(R>>X<<X)或(Y>>X<<(16+X))|(Cb>>X<<(8+X))|(Cr>>X<<X)来生成相应的哈希表示,其中>>x为右位移操作,并且X基于QP确定。使用哈希表或者二叉查找树(binarysearch tree,BST)数据结构来快速查找具有相同哈希值的颜色。对于任意两个哈希值,它们的距离被定义为相应颜色分量的最大绝对差。
在相邻颜色分组中,调色板表创建块103按出现频率的降序处理封装后的颜色,直到处理完N个颜色。如果当前CU中的颜色数目小于N,则处理当前CU中的所有颜色。N由预定的最大颜色数目(max_num_of_colors)界定。在一些实施例中,max_num_of_colors=128,即N≤128。在基于哈希的颜色分组后,然后基于每个封装后的颜色的值按降序排列颜色来将选择的N个颜色(或者,在当前CU中的颜色数目小于N的情况下,是所有颜色)重新排序。得到的结果是调色板表,如图3所示的调色板表303。调色板表303有四个颜色(即,N=4)。在许多实施例中,N>4。但是,为便于说明,N在图3中选择为4。
当在CU 101中表示的颜色数目大于调色板表303中的颜色数目N时,将出现频率较少的颜色布置为调色板表303外的残差。例如,颜色值的49、53、50和51为调色板表303的一部分,而颜色值48、52、47、54、55和56是颜色调色板表303外的残差颜色305。
调色板表创建块103获取调色板表303可由下列伪码描述。
(伪码):
在以上伪码中,ComputeHash(C,QP)使用哈希函数(G>>X<<(16+X))|(B>>X<<(8+X))|(R>>X<<X)或(Y>>X<<(16+X))|(Cb>>X<<(8+X))|(Cr>>X<<X)来生成哈希值,其中X取决于QP。Dist(hash1,hash2)获取hash1和hash2中的相应颜色分量的最大绝对差。这里,使用哈希表数据和二进制搜索树结构基于颜色的哈希值来快速找到满足一定条件的颜色。
如上所述,基于获取的调色板表303,颜色分类器块105使用CU 101来将CU 101的颜色或像素值分配到颜色索引图311和一个或多个预测残差图313。即,颜色分类器块105将调色板表303中的每个颜色分配到调色板表303内的颜色索引。例如,如图3中307所指示,给颜色49分配颜色索引0(ColorIdx=0),给颜色53分配颜色索引1,给颜色50分配颜色索引2,给颜色51分配颜色索引3(ColorIdx=3)。一旦给调色板表303中的颜色分配了索引,就可使用每种颜色的索引从CU 101中生成颜色索引图311。下文更详细地描述了颜色索引图311的处理。同样地,给调色板表303外的每个残差颜色305分配预测残差值,如309所指示。一旦给残差颜色305分配了预测残差值,就可从CU 101生成预测残差图313。
对于平面CU,每个颜色分量都可有其自己单独的调色板表,如colorTable_Y、colorTable_U、colorTable_V或colorTable_R、colorTable_G、colorTable_B。在一些实施例中,可以获取主要分量的调色板表,如YUV中的Y或GBR中的G,所有分量可以共享该表。通常,通过使用共享的Y或G调色板表,相对于共享调色板表中的原始像素颜色,除Y或G外的其它颜色分量与那些原始像素颜色会有些不匹配。然后可以使用残差引擎(如HEVC系数编码方法)来对那些不匹配残差进行编码。在其它实施例中,对于封装后的CU,可以在所有分量间共享单个调色板表。
以下伪码举例说明了如何获取调色板表和索引图。
(伪码):
调色板表处理
对于每个CU 101,发射器100可以从当前CU 101(称为显式调色板表托架)中获取调色板表303或发射器100可以从当前CU 101的左区或上区邻居(称为隐式调色板表托架)获取调色板表303。表编码块107接收调色板表303,并对调色板表303中的表项进行编码。
调色板表处理涉及对调色板表303的尺寸(即,不同颜色的总数)以及每个颜色本身进行编码。调色板表303中每个颜色的编码消耗了大多数比特。因此,重点在于颜色编码(即,调色板表303中每个表项的编码)。
对调色板表中的颜色进行编码的最直接方法是使用脉冲编码调制(pulse codemodulation,PCM)式算法,其中对每个颜色独立进行编码。或者,可使用针对连续颜色的最近预测,然后可对预测delta而不是默认颜色强度进行编码,这就是所谓的差分PCM(differential PCM,DPCM)样式。这两种方法随后都可以根据复杂成本与编码效率之间的平衡通过使用相等概率模型或自适应上下文模型来进行熵编码。
本发明实施例提供另一先进方案,称为相邻调色板表合并,其中color_table_merge_flag被定义为指示当前CU(例如,CU 101)是否使用与其左区CU邻居或其上区CU邻居相关联的调色板表。若否,则当前CU显式地携带调色板表信令。该过程也可称为相邻调色板表共享。通过使用这种合并过程,color_table_merge_direction标识指示合并方向,其可为从上区CU或从左区CU开始。当然,合并方向候选可为除上区CU或左区CU以外的方向(例如,左上、右上等)。然而,在本发明中使用上区CU和左区CU来举例说明概念。将当前CU中的每个像素和与左区CU或上区CU相关联的现有调色板表中的表项进行比较,并分配索引,该索引通过如上所示的deriveIdxMap()伪码生成最小的预测差(即,像素减去调色板表中的最接近颜色)。对于预测差为非零的情况,使用HEVC范围扩展(Range Extension,RExt)残差引擎来对所有残差进行编码。是否使用表合并过程的决定可由R-D成本来确定。
存在几种方法来生成相邻调色板表,以在编码当前CU的合并过程中使用。根据实现,方法之一(为便于说明,称为方法A)要求在编码器和解码器处都进行更新。另一种方法(称为方法B)为只涉及编码器侧的过程。这两种方法都将进行说明。
方法A:在该方法中,在有可用重建像素时,生成相邻CU的调色板表,不管CU深度、尺寸等如何。对于每个CU,为其相邻CU以相同尺寸和相同深度(假设颜色相似度将在这种情况下更高)恢复重建。
图5示出了根据本发明的使用方法A来重新生成调色板表的示例。如图5所示,当前CU 501是深度=2的16×16块,当前CU 501的相邻CU包括上区CU 502和左区CU 503。上区CU502为深度=1的32×32块。上区CU 502包括16×16的上区块504。左区CU 503为深度=3的8×8块,且为16×16块505的一部分。通过使用方法A,不管其相邻CU(例如,8×8左区CU 503或32×32上区CU 502)的分区如何,像素偏移(=16)将从当前CU 501的原点向左移动以处理左区的16×16块505,以及向上移动以处理上区的16×16块504。编码器和解码器都保持这个偏移。
方法B:在该方法中,在当前CU与其上区CU邻居和/或其左区CU邻居尺寸和深度相同时,发生合并过程。使用可用邻居的调色板表来获取当前CU的颜色索引图,以进行后续操作。例如,对于当前16×16CU,如果其相邻CU(即其上区邻居或其左区邻居)使用调色板表和索引方法进行编码,则对当前CU使用相邻CU的调色板表来获取R-D成本。将该合并成本与当前CU显式地获取其调色板表(以及那些可能存在于HEVC或HEVC RExt中的其它常规模式)时的成本比较。选择产生最低R-D成本的任一种情况作为待写入输出比特流中的模式。在方法B中,只需要编码器来模拟不同的潜在模式。在解码器处,color_table_merge_flag和color_table_merge_direction标识指示合并决定和合并方向,而无需解码器进行额外处理。
预测器调色板
为了进一步降低复杂度,使用预测器调色板来缓存来自先前编码的调色板表或其它预测器调色板的颜色,其最终来自先前编码的调色板表。在一项实施例中,在预测器调色板中的表项来自预测器调色板或当前CU的左区或上区CU的编码后的调色板表。在使用颜色调色板对CU进行编码后,如果该CU尺寸大于或等于与预测器调色板相关联的CU尺寸且当前调色板与预测器调色板不同,则更新预测器调色板。如果未使用调色板模式对当前CU进行编码,则不改变预测器调色板。这也被称为预测器调色板传播。这个预测器调色板可在每个图像或片或每个CU行的开始处重设。
许多方法可用于构建预测器调色板。在第一种方法中,对于每个CU编码,预测器调色板从其左区CU或上区CU的预测器调色板构建。在该方法中,为每个CU节省了一个预测器调色板表。
第二种方法与第一种方法的不同在于:在预测过程中使用与上区CU相关联的调色板表,而不是预测器调色板表。
颜色索引图处理/编码
索引图编码块109对颜色分类器块105创建的颜色索引图311进行编码。为了对颜色索引图311进行编码,索引图编码块109执行至少一次扫描操作(水平315或垂直317),以将二维(two-dimensional,2D)颜色索引图311转换为一维(one-dimensional,1D)字符串。然后索引图编码块109执行字符串搜索算法(如下所述)以生成多个匹配。在一些实施例中,索引图编码块109执行单独的水平和垂直扫描操作并执行字符串搜索算法以确定哪个会提供更好的结果。图6示出了水平和垂直扫描操作的示例。在图6中,示出了示例2D颜色索引图601。颜色索引图601可以代表图3的颜色索引图311。颜色索引图601为64×64图,但颜色索引图的其它尺寸也是可能的。如图6所示,可对颜色索引图601执行水平扫描(或搜索)602或垂直扫描(或搜索)603。
本发明实施例提供1D字符串匹配技术和2D变体来对颜色索引图311进行编码。在每个位置处,编码技术找到匹配点,并记录1D字符串匹配的匹配距离和长度,或记录2D字符串匹配的匹配宽度和高度。对于不匹配的位置,可直接对其索引强度或其索引强度与预测索引强度之间的delta值进行编码。
可对颜色索引图601执行直接的1D搜索方法。例如,图7示出了使用从颜色索引图601的第一索引位置开始的水平扫描的1D搜索后,1D颜色索引矢量700的一部分。然后将字符串搜索应用于1D颜色索引矢量700。请看颜色索引矢量700(为图7所示的'14')的第一位置701,由于还没有缓存的参考,所以将第一位置701视为“不匹配对”。给该不匹配对的对应距离和长度分配值-1和1,记为(dist,len)=(-1,1)。第二位置702为另一‘14’。第二位置702是编码为参考的第一索引。因此,匹配对的距离dist=1。因为在第三位置703处有另一‘14’,所以匹配对的长度为2,即len=2。接下来为第四位置704,其值为‘17’,这是之前没有过的。因此,将第四位置704作为另一不匹配对,即(dist,len)=(-1,1),来进行编码。对于每个不匹配对,对匹配/不匹配标识进行编码以指示没有找到当前索引的匹配索引,该标识后面为索引的真实值(例如,第一次出现的‘14’、‘17’、‘6’等)。对于每一匹配对,对匹配/不匹配标识进行编码以指示找到了匹配的索引字符串,该标识后面为该匹配的字符串的长度。
下文为使用图7所示的1D颜色索引矢量700的一部分的编码技术的结果集合。
以下给出了用于获取该匹配对的伪码。
(伪码):
也可使用上文描述的1D字符串匹配技术的2D变体。2D匹配技术包括以下步骤:
步骤1:将当前像素和参考像素的位置确定为起点。
步骤2:在当前像素和参考像素的右方进行水平1D字符串搜索。最大搜索长度由当前水平行的末尾决定。最大搜索长度可记为right_width。
步骤3:对当前像素和参考像素的左方进行水平1D字符串搜索。最大搜索长度由当前水平行的开始决定,也可由先前2D匹配的right_width决定。最大搜索长度可记为left_width。
步骤4:使用当前像素和参考像素下方的像素作为新当前像素和参考像素,来对下一行进行同样的1D字符串搜索。
步骤5:当right_width==left_width==0时,结束。
步骤6:对于每个height[n]={1,2,3……},存在相应的width[n]数组(例如{left_width[1]、right_width[1]}、{left_width[2]、right_width[2]}、{left_width[3]、right_width[3]}……}。
步骤7:为每个height[n]将新min_width数组定义为{{lwidth[1],rwidth[1]},{lwidth[2],rwidth[2]},{lwidth[3],rwidth[3]}……},其中lwidth[n]=min(left_width[1:n-1]),rwidth[n]=min(right_width[1:n-1])。
步骤8:还定义尺寸数组{size[1],size[2],size[3]……},其中size[n]=height[n]x(lwidth[n]+hwidth[n])。
步骤9:假设size[n]为尺寸数组中的最大值,则使用对应的{lwidth[n],rwidth[n],height[n]}来选择2D字符串匹配的宽度和高度。
优化1D或2D搜索速度的一种技术是使用运行哈希。在一些实施例中,可以使用4像素运行哈希结构。在水平方向计算每个像素的运行哈希以生成水平哈希数组running_hash_h[]。除了running_hash_h[],还计算另一种运行哈希以生成2D哈希数组running_hash_hv[]。2D哈希数组running_hash_hv[]中的每个值匹配代表一个4×4块匹配。要执行2D匹配,就要在与它们的邻居进行像素比较之前找到4×4块匹配。由于像素比较限于1至3个像素,所以可以显著提高搜索速度。
在以上描述中,各行的匹配宽度彼此不同,因此每一行必须单独处理。为实现效率和低复杂度,本发明实施例提供可以同时在硬件和软件实施中使用的基于块的算法。与标准运动估计的某些方面类似,该算法每次处理一个矩形块。
图8示出了该算法中称为U_PIXEL模块800的基本像素处理单元的示例。U_PIXEL模块800接收编码信号801和输入信号802,并包括多个逻辑门803-806。编码信号801是标识,指示参考像素是否已在前一字符串匹配操作中进行编码。可选地,输入信号802(CMP[N-1])可以被强制为“0”,这允许从U_PIXEL模块800移除最后一个“OR”门806。
以4×4块为例。第一步是并行处理每一行。将矩形的一行中的每个像素分配给一个U_PIXEL模块800。用于处理每一行的处理单元称为U_ROW模块。图9示出了U_ROW模块900的示例。U_ROW模块900包括多个U_PIXEL模块800。对于4×4块,U_ROW模块900包括四个U_PIXEL模块800。如图9所示,U_ROW模块900正在处理第一行:行0,如901所指示。
使用四个U_ROW模块900来处理4×4块的四行。四个U_ROW模块900可以平行布置在U_CMP模块中。图10示出了包括四个U_ROW模块900的U_CMP模块1000的示例。U_CMP模块1000的输出为数组CMP[4][4]。
该算法的下一个步骤是并行处理cmp数组的各列。cmp数组的列中的每个cmp由U_COL模块处理。图11示出了接收cmp数组的四列1101至1104的U_COL模块1100的示例。可以使用四个U_COL模块1100来处理4×4块的四列。四个U_COL模块1100可以平行布置在U_2D_BLOCK模块中。图12示出了包括四个U_COL模块1100的示例U_2D_BLOCK模块1200。U_2D_BLOCK模块1200的输出为数组rw[4][4]。
然后计算数组rw[n][0-3]的每行中零的数目,并将四个结果记录到数组r_width[n]。数组r_width[n]与上述2D匹配技术的步骤7中的数组rwidth[n]一样。数组l_width[n]以相同的方式生成。可以获取步骤7中的min_width数组为{{l_width[1],r_width[1]},{l_width[2],r_width[2]},{l_width[3],r_width[3]}……}。
该算法可以在硬件或硬件和软件的组合中实施,以在任何现代中央处理单元(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)或图形处理单元(graphics processing unit,GPU)的并行处理框架下工作。下文列出了快速软件实施的简化伪码。
(伪码):
如上述伪码所示,在每个FOR循环中没有数据依赖,所以可使用典型的软件并行处理方法,例如循环展开或MMX/SSE,来提高执行速度。
如果行数被限制为1,则该算法也可以应用于1D搜索。下文列出了基于1D搜索的固定长度的快速软件实施的简化伪码。
(伪码):
1D搜索和2D搜索都完成后,选择(1D长度,2D尺寸(宽×高))中的最大者为“优胜者”。如果2D匹配的lwidth(左宽度)为非零,则可以调整先前的1D匹配的长度(长度=长度-lwidth),以避免先前1D匹配与当前2D匹配之间的重叠。如果先前1D匹配的长度在调整后变成零,则应该将其从匹配列表中移除。
接下来,如果前一匹配是1D匹配,则使用current_location+长度来计算起始位置,或如果前一匹配是2D匹配,则使用current_location+(lwidth+rwidth)来计算起始位置。当执行1D搜索时,如果任何待匹配像素落入位置已被2D匹配涵盖的任何先前的2D匹配区域内,则扫描下一个像素或下一批像素,直到找到未通过先前的匹配进行编码的像素。
在获取匹配对后,可以使用熵引擎来将这些编码元素转换成二进制流。在一些实施例中,熵引擎可以使用相同的概率模型。为了更好的压缩效率,也可以使用先进的自适应上下文模型。以下伪码是每个匹配对的编码流程的示例。
(伪码):
应注意,只有不匹配位置处的像素会被编码到比特流中。为了具有更准确的统计模型,一些实施例可只使用这些像素和其相邻像素来获取调色板表,而非使用CU中的所有像素。
对于能确定索引或delta输出的编码模式,编码结果通常包含数目有限的唯一值。本发明实施例提供了第二delta调色板表来利用该发现。在当前CU中获取所有原义数据后,可以创建该delta调色板表。delta调色板表可以显式地在比特流中发送。后者,其可以在编码过程中自适应地创建,从而不需要在比特流包括这个表。对于该选择,提供了delta_color_table_adaptive_flag。
在一些实施例中,提供了另一种先进方案,称为相邻delta调色板表合并。对于自适应delta调色板生成,编码器可以使用上区或左区CU的delta调色板作为初始起点。对于非自适应调色板生成,编码器也可以使用上区或左区CU的delta调色板,然后比较上区、左区、当前CU的R-D成本。
定义delta_color_table_merge_flag来指示当前CU是否使用其左区或上区CU的delta调色板表。只有当delta_color_table_adaptive_flag==0且delta_color_table_merge_flag==0时,当前CU才显式地传递delta调色板表信令。对于合并过程,如果表明有delta_color_table_merge_flag,则定义另一标识delta_color_table_merge_direction来指示合并候选是来自上区CU还是左区CU。
如果delta_color_table_adaptive_flag==1,则以下是用于自适应delta调色板生成的编码过程的示例。在解码器侧,每当解码器接收原义数据时,解码器然后就可使用相反步骤重新生成delta调色板。
步骤1:定义数组palette_table[]和palette_count[]。
步骤2:将数组palette_table[]初始化为palette_table(n)=n(n=0……255)。或者,可将上区或左区CU的palette_table[]作为初始值。
步骤3:将数组palette_count[]初始化为palette_count[n]=0(n=0……255)。或者,可将上区或左区CU的palette_count[]作为初始值。
步骤4:对于任何delta值c’,执行以下操作:
(a)定位n,从而palette_table(n)==delta c’;
(b)将n作为delta c’的新索引;
(c)++palette_count(n);
(d)对palette_count[]进行排序,使得其按降序排序;
(e)相应地对palette_table[]进行排序。
步骤5:过程返回步骤1,重复过程,直到处理完当前CU中的所有delta c’。
对于包含文本和图形的任何块,可以使用掩码标识来分隔文本部分和图形部分。文本部分可以使用上述压缩方法进行压缩;图形部分可以使用其它压缩方法进行压缩。因为掩码标识所涵盖的任何像素的值都已被文字层无损编码,所以图形部分中的每个像素都可以被视为“不相关像素(don’t-care-pixel)”。当压缩图形部分时,可以给不相关像素分配任意值,以便获得最佳压缩效率。
索引图和残差在调色板表获取过程中生成。无损压缩索引图允许使用1D或2D字符串搜索进行高效处理。在一些实施例中,1D或2D字符串搜索仅限于当前CU内。但是,搜索窗口可以延伸至当前CU外。可以使用水平和垂直方向上的一对运动矢量,例如(MVY=matched_distance/cuWidth,MVY=matched_distance-cuWidth*MVY),来对匹配距离进行编码。
因为图像在局部区域可以具有不同的空间纹理方向,所以可以基于color_idx_map_pred_direction标识符的值在水平或垂直方向执行1D搜索。最佳索引扫描方向可以基于R-D成本确定。图13示出了水平和垂直扫描操作的示例。在图13中,示出了示例2D颜色索引图1301。颜色索引图1301可以代表图3的颜色索引图311。颜色索引图1301为8×8图,但颜色索引图的其它尺寸也是可能的。如图13所示,可以对颜色索引图1301执行水平扫描1302或垂直扫描1303。在一些实施例中,对于水平扫描和垂直扫描都执行两次deriveMatchPairs()和相关联的熵编码步骤。然后选择最终扫描方向作为R-D成本最小的方向。
改进二值化
如上所示,可以使用固定长度二值化来对调色板表和颜色索引图的一对匹配信息进行编码。或者,可使用可变长度二值化。例如,对于调色板表编码,调色板表可具有8个不同的颜色值。因此,相应的颜色索引图可仅包含8个不同的索引。可以只使用一个bin来表示背景像素,而非使用固定的3个bin来对每个索引值进行同样的编码。例如,背景像素可表示为0。然后剩余的7个像素值可以使用1000、1001、1010、1011、1100、1101和1110等固定长度的码字来表示,以对颜色索引进行编码。这是基于以下事实:背景颜色可能在图像中占据最大百分比,因此,对背景颜色使用只有一个比特的不同码字总的来说可以整体节省空间。屏幕内容中经常出现这种场景。作为示例,考虑16×16CU。使用固定的3个bin的二值化,颜色索引图需要3x16x16=768个bin。或者,让占据了图像的40%的背景颜色索引为0,而让其它颜色均匀分布。在这种情况下,颜色索引图仅需要2.8x16x16<768个bin。
对于匹配对编码,考虑到当前CU的区域内的现有技术限制,可以使用匹配距离和长度的最大可能值来约束其二值化。在数学上,在每种情况下,匹配距离和长度可长达64×64=4K。然而,这通常不会同时发生。对于每个匹配位置,匹配距离由当前位置与参考缓冲中的第一位置(例如,当前CU中第一位置)之间的距离界定,其可表示为L。因此,距离二值化的最大bin为log2(L)+1(而不是固定长度),长度二值化的最大bin为log2(cuSize-L)+1withcuSize=cuWidth*cuHeight。
除了调色板表和索引图,可以使用不同二值化方法来显著改进残差系数编码。对于HEVC RExt和HEVC版本,使用可变长度基于以下发现来二值化变换系数:在使用常规方法的预测、变换和量化后产生的系数的大小通常接近零,非零值通常位于变换单元的左上角。然而,在引入能够规避整个变换过程的HEVC RExt中的变换跳过编码工具后,残差大小分布发生了变化。尤其是对具有不同颜色的屏幕内容启用变换跳过时,通常存在值较大(即不接近零值,例如“1”、“2”或“0”)的系数,且非零值可出现在变换单元内的任意位置。如果使用当前HEVC系数二值化,则可能会导致很长的码字。或者,可使用固定长度二值化,这可节省调色板表和索引编码模式所产生的残差系数的码长。
新预测像素生成方法
如上所述,在编码后的颜色索引图中进行1D/2D字符串搜索。在已找到匹配索引的颜色索引图中的任何位置,解码器获取匹配位置处的像素,并将其从原始像素中减去,以生成残差像素。该过程可以通过以下方式执行:使用调色板表中通过匹配位置处的颜色索引来表示的相应颜色,或使用匹配位置处的重建像素。
存在两种方法来基于上述两种方法生成预测值。在第一种方法中,对于任何目标像素位置,通过匹配位置处的主要颜色索引从调色板表中获取RGB值,将该RGB值用作目标像素的预测值。然而,这种方法强制解码器对当前CU外的像素执行颜色索引获取流程,导致解码时间增加。
为了避免第一种方法中的颜色索引获取流程,使用第二种方法,在第二种方法中,对于任何目标像素位置,匹配位置处的重建像素值被用作预测值。在该方法中,当预测像素在当前CU内时,重建值无效。然而,在这种情况下,颜色索引可用,并且其在颜色调色板表中的相应颜色可用作预测像素。
当前CU中任何像素的残差值可以通过从原始值减去其预测值来获取。然后将其量化病编码到比特流中。当前CU中任何像素的重建值可以通过将其预测值和量化残差值相加来获取。
单色模式
单色CU可以是每个像素位置处只有一个颜色的CU或在具有统一单值索引图的调色板中只有一个颜色的CU。存在多种方法来在调色板模式下压缩单色CU。在一种方法中,即单色模式下,只有该单色调色板信息被编码并包含在比特流中。跳过整个颜色索引图部分。这与编码和发送统一全零索引图形成对比。在解码器侧,如果在无索引图的调色板中只有一个颜色,则将使用调色板中的颜色来填充当前CU中的每个像素位置。
像素域字符串复制
如上所述,在颜色索引图域中使用1D/2D字符串复制。也可在像素域中使用1D/2D字符串复制。相比于索引图域1D/2D字符串复制,像素域中的1D/2D字符串复制包含了一些变化。这些变化如下:
1.调色板表和索引图生成流程不是必要的,可以跳过。作为替代方案,仍然执行索引域的调色板表生成、索引图生成和1D/2D字符串搜索,但调色板表不写入比特流中。基于1D字符串匹配的长度或2D字符串匹配的宽度和高度生成编码图。编码图指示像素位置是否被前一匹配涵盖。下一起始位置是前一匹配涵盖的第一个位置。
2.当对不匹配数据进行编码时,将其RGB值(而不是颜色索引值)写入比特流中。当对不匹配数据进行编码时,也可使用像素索引编码方法,其中,一比特标识被添加在语法表的RGB值前。如果该RGB值第一次出现,则将标识设置为1,并将这个RGB值本身编码到比特流中,然后将这个RGB值添加到查找表。如果该RGB值再次出现,则将该标识设置为0,并且对查询表索引值而不是该RGB值进行编码。
3.预测像素生成方法使用单色模式的选项2(将预测像素位置处的重建像素值用作预测值)。
4.对于单色CU,可以选择单色模式的选项1或选项2。当选择选项1时,将主要颜色的RGB值写入比特流的调色板表部分。当选择选项2时,如果在1D搜索中没有使用上面的行且当前CU不允许2D选项,则将主要颜色的RGB值写入比特流的调色板表部分。
一般而言,2D字符串复制是一种灵活的算法,其可对宽度和高度不同的块执行操作以找到匹配块。当2D字符串复制仅限于CU的宽度和高度时,2D字符串复制成为固定宽度/高度的块复制。帧内块复制(intra block copy,IBC)与在固定宽度/高度块上操作的2D字符串复制这种特殊情况大致相同。在固定宽度/高度2D字符串复制中,也对残差进行编码。这与IBC所用的残差编码方法也基本上相同。
混合内容的自适应色度采样
上述实施例提供了HEVC/HEVC-RExt框架下的高效屏幕内容编码的各种技术。在实践中,除了纯屏幕内容(如文本,图形)或纯自然视频,还存在包含计算机生成的屏幕材料和摄像机捕获的自然视频这两者的内容,该内容被称为混合内容。目前,混合内容使用4:4:4色度采样进行处理。然而,对于这种混合内容中嵌入的摄像机捕获的自然视频部分,4:2:0色度采样可足以提供感知上无损的质量。这是由于以下事实:相比于亮度分量的空间变化,人类视觉对色度分量中的空间变化不那么敏感。因此,通常对色度分量(例如,流行的4:2:0视频格式)进行子采样,以实现比特率的显着降低并同时保持相同的重建视觉质量。
本发明实施例提供一种enable_chroma_subsampling标识,其在CU层递归定义和发送。对于每个CU,编码器根据速率失真成本确定其使用4:2:0还是4:4:4来编码。图14A和14B示出了4:2:0和4:4:4色度采样格式的示例。图14A示出了4:2:0采样的示例,图14B示出了4:4:4的采样的示例。
在编码器侧,针对每个CU,假设输入为图14B所示的4:4:4源,使用enable_chroma_subsampling=0或FALSE的4:4:4编码流程来直接获取速率失真成本。然后,流程将4:4:4样本子采样为4:2:0来获取其比特消耗。将重建的4:2:0格式插值回4:4:4格式,以进行失真测量(例如,使用误差平方和(sum of squared error,SSE)或绝对差和(sum of absolutedifference,SAD))。当在4:2:0空间对CU进行编码时获取速率失真成本以及比特消耗,并将速率失真成本与在4:4:4对CU进行编码时的成本进行比较。然后选择产生的速率失真成本较低的编码方法用于最终编码。
图15示出了从4:4:4到4:2:0或反之的插值过程的示例。通常,视频颜色采样格式转换过程可能需要大量的插值滤波器。为了降低实施复杂度,可使用HEVC插滤波器(即,DCT-IF)。如图15所示,方框表示原始4:4:4样本。从4:4:4到4:2:0,使用DCT-IF对色度分量垂直插值半像素的像素(通过圆圈表示)。图15还示出四分之一像素位置,通过菱形表示。选择灰色阴影圆圈来构建4:2:0样本。对于4:2:0到4:4:4的插值,过程从色度分量中的灰色圆圈开始,水平插值半像素位置来获取所有圆圈,然后使用DCT-IF垂直插值方框。选择所有插值的方框来构建重建的4:4:4信号。
编码器控制
如上所述,提供了多个标识来控制编码器处的低级处理。例如,enable_packed_component_flag用于指示当前CU是使用其封装格式还是常规平面格式来进行编码处理。可根据编码器处计算出的R-D成本决定是否启用封装格式。在一些编码器实施中,可通过分析CU的直方图和寻找决定的最佳阈值来实现低复杂度方案。
调色板表的尺寸对复杂度有直接影响。引入参数maxColorNum来控制复杂度与编码效率之间的平衡。最直接的方式是选择产生最低R-D成本的选项。索引图编码方向可通过R-D-优化确定,或者通过使用本地空间定向(例如,使用Sobel算子的边缘方向估计)。
上述某些实施例可能限制每个CTU或CU内的处理。在实践中,这种限制可以放宽。例如,对于颜色索引图处理,可以使用上区CU或左区CU的行缓冲,如图16所示。图16示出了使用上索引行缓冲或左索引行缓冲的颜色索引图处理的示例。通过使用上缓冲和左缓冲,可扩展搜索来进一步提高编码效率。考虑到上和左缓冲器使用相邻CU的重建像素来构成,在处理当前CU索引图之前,可参考这些像素(以及其对应的索引)。例如,如图16所示,重新排序后,当前CU索引图1600可为14、14、14……1、2、1(表示为1D字符串)。在不使用行缓冲参考的情况下,第一个“14”可能会作为不匹配对来编码。然而,在使用相邻行缓冲的情况下,第一“14”与上索引行缓冲或左索引行缓冲中的“14”相匹配。因此,字符串复制可以从第一个像素开始。
解码器语法
可以使用下文提供的信息来描述图2所示的接收器200的解码操作,下面示出的语法与HEVC文本组成的委员会草案对齐。
7.3.5.8编码单元语法:
图17示出了根据本发明的用于屏幕内容编码的方法。图17中所示的方法1700基于上述关键概念。方法1700可由图1的发射器100执行,但是,方法1700也可用于任何其它合适的设备或***。
在操作1701,设备基于当前CU获取调色板表和颜色索引图。例如,这可包括将基于哈希的分组过程应用于按直方图排序的颜色数据,以便以低复杂度在调色板表中使用公共表项来表示相似颜色。应用基于哈希的分组过程可包括使用哈希函数来生成每个颜色分量的哈希表示,该哈希函数包括(G>>X<<(16+X))|(B>>X<<(8+X))|(R>>X<<X)或(Y>>X<<(16+X))|(Cb>>X<<(8+X))|(Cr>>X<<X),其中X取决于QP。应用基于哈希的分组过程还可包括:将每种颜色与其表示哈希值相关联,以及从给定哈希值中提取一个或多个颜色。
在操作1703,设备对调色板表进行编码。这可包括:使用预测器调色板来存储调色板表中或与CU的左区CU或上区CU相关联的预测器调色板中的先前编码的颜色,以及使用该预测器调色板对调色板表进行编码。这还可包括:在CU编码结束时更新预测器调色板,以及如果CU未在调色板模式下编码,则将预测器调色板传递到下一CU。
在操作1705中,设备对颜色索引图进行编码。然后,在操作1707中,设备结合编码后的调色板表和编码后的颜色索引图,以传输给接收器。在一些实施例中,CU是单色CU,仅与单色相关联的单色调色板表被编码并传输给接收器,从而不向接收器传输颜色索引图。
虽然图17示出了用于屏幕内容编码的方法1700的一个示例,但是可以对图17进行各种改变。例如,尽管所示为一系列步骤,但是图17所示的各个步骤可重叠,可并行或按不同顺序执行,或可执行多次。此外,根据具体需要,可合并或移除一些步骤,并可添加附加步骤。
图18示出了根据本发明的用于屏幕内容解码的方法。图18所示的方法1800基于上述关键概念。方法1800可由图2的接收器200执行,但是,方法1800也可用于任何其它合适的设备或***。
在操作1801中,设备从发射器接收压缩的视频比特流。视频比特流包括编码后的调色板表和/或编码后的颜色索引图。在一些实施例中,调色板表是之前在发射器处通过对按直方图排序的颜色数据使用基于哈希的分组过程获取的,以便以低复杂度在调色板表中使用公共表项来表示相似颜色。
在操作1803中,设备对调色板表和/或颜色索引图进行解码。在一些实施例中,对调色板表进行解码包括确定预测器调色板,其中预测器调色板存储调色板表中先前解码的颜色,然后基于该预测器调色板对调色板表进行解码。在一些实施例中,预测器调色板与CU的左区CU或上区CU相关联。然后,在操作1805中,设备基于调色板表和/或颜色索引图重建与当前CU相关联的像素。
在一些实施例中,设备从视频比特流接收调色板表的比特流。设备确定标识符,标识符指示CU的调色板表中可能颜色的最大数目。然后,当标识符指示CU的调色板表中可能颜色的最大数目不为1时,设备从视频比特流接收颜色索引图的比特流。
虽然图18示出了用于屏幕内容解码的方法1800的一个示例,但是可以对图18进行各种改变。例如,尽管所示为一系列步骤,但是图18所示的各个步骤可重叠,可并行或按不同顺序执行,或可执行多次。此外,根据具体需要,可合并或移除一些步骤,并可添加附加步骤。
在某些实施例中,一个或多个所述设备的部分或全部功能或流程由计算机可读程序代码构成的且内嵌于计算机可读介质中的计算机程序来实现或提供支持。术语“计算机可读程序代码”包括任意类型的计算机代码,包括源代码、目标代码以及可执行代码。术语“计算机可读介质”包括任何类型的可以被计算机访问的非易失性介质,比如,只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、硬盘驱动器、光盘(compact disc,CD)、数字化视频光盘(digital video disc,DVD)或者任何其它类型的存储器。
为本专利文档中使用的特定术语和短语进行定义是有帮助的。术语“包括”和“包含”以及它们的派生词表示没有限制的包括。术语“或者”是包容性的,意为和/或。短语“与……关联”和“与其关联”以及其派生的短语意味着包括,被包括在内、与……互连、包含、被包含在内、连接到或与……连接、耦合到或与……耦合、可与……通信、与……配合、交织、并列、接近、被绑定到或与……绑定、具有、具有……属性,等等。
虽然本发明就某些实施例和一般相关方法方面进行了描述,但是对本领域技术人员而言,对实施例和方法的各种更改和变更将是显而易见的。因此,示例实施例的上述描述不限定或约束本发明。正如以下权利要求定义,其它修改、替代以及变更也是可能的,而不偏离本发明的精神和范围。
Claims (25)
1.一种用于屏幕内容编码的方法,其特征在于,所述方法包括:
基于当前编码单元获取调色板表和颜色索引图;
对所述调色板表进行编码;
对所述颜色索引图进行编码;以及
结合所述编码后的调色板表和所述编码后的颜色索引图,以传输给接收器,其中,获取所述调色板表包括:
对按直方图排序的颜色数据应用哈希分组过程,以便所述调色板表中使用公共表项来表示相似颜色,其中,应用所述哈希分组过程包括:
使用哈希函数来生成每个颜色分量的哈希表示,所述哈希函数包括(G>>X<<(16+X))|(B>>X<<(8+X))|(R>>X<<X)或(Y>>X<<(16+X))|(Cb>>X<<(8+X))|(Cr>>X<<X)之一,其中X取决于量化参数,G、B、R和Y、Cb、Cr表示不同的颜色分量,X表示比特位,>>表示右移比特位的操作,<<表示左移比特位的操作;
将每个颜色与其表示哈希值相关联;以及
从给定哈希值中提取一个或多个颜色。
2.根据权利要求1所述的方法,其特征在于,对所述调色板表进行编码包括:
使用预测器调色板来存储所述调色板表中或与所述当前编码单元的左区编码单元或上区编码单元相关联的预测器调色板中先前已编码的颜色,以及使用所述预测器调色板对所述调色板表进行编码;
在所述当前编码单元的编码结束时,更新所述预测器调色板;以及
如果所述当前编码单元未在调色板模式下编码,则将所述预测器调色板传递给下一编码单元。
3.根据权利要求1所述的方法,其特征在于,所述当前编码单元为单色编码单元,仅与所述单色关联的单色调色板表被编码并传输给所述接收器,从而不向所述接收器传输所述颜色索引图。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在像素域进行一维或二维字符串复制。
5.根据权利要求4所述的方法,其特征在于,在所述像素域进行所述一维或二维字符串复制包括:
基于所述一维字符串匹配的长度或所述二维字符串匹配的宽度和高度生成编码图,所述编码图指示先前匹配是否涵盖了像素位置。
6.根据权利要求5所述的方法,其特征在于,当所述二维字符串复制仅限于所述当前编码单元的宽度和高度时,所述二维字符串复制为固定宽度/高度块复制。
7.一种用于屏幕内容编码的装置,其特征在于,所述装置包括:
至少一个存储器;以及
耦合到所述至少一个存储器的至少一个处理器,所述至少一个处理器用于:
基于当前编码单元获取调色板表和颜色索引图;
对所述调色板表进行编码;
对所述颜色索引图进行编码;以及
结合所述编码后的调色板表和所述编码后的颜色索引图,以传输给接收器,其中,为了获取所述调色板表,所述至少一个处理器用于:
对按直方图排序的颜色数据应用哈希分组过程,以便在所述调色板表中使用公共表项来表示相似颜色,其中,为应用所述哈希分组过程,所述至少一个处理器用于:
使用哈希函数来生成每个颜色分量的哈希表示,所述哈希函数包括(G>>X<<(16+X))|(B>>X<<(8+X))|(R>>X<<X)或(Y>>X<<(16+X))|(Cb>>X<<(8+X))|(Cr>>X<<X)之一,其中X取决于量化参数,G、B、R和Y、Cb、Cr表示不同的颜色分量,X表示比特位,>>表示右移比特位的操作,<<表示左移比特位的操作;
将每个颜色与其表示哈希值相关联;以及
从给定哈希值中提取一个或多个颜色。
8.根据权利要求7所述的装置,其特征在于,为了对所述调色板表进行编码,所述至少一个处理器用于:
使用预测器调色板存储所述调色板表中或与所述当前编码单元的左区编码单元或上区编码单元相关联的预测器调色板中先前已编码的颜色,以及使用所述预测器调色板对所述调色板表进行编码;
在所述当前编码单元的编码结束时,更新所述预测器调色板;以及
如果所述当前编码单元未在调色板模式下编码,则将所述预测器调色板传递给下一编码单元。
9.根据权利要求7所述的装置,其特征在于,所述当前编码单元为单色编码单元,仅与所述单色关联的单色调色板表被编码并传输给所述接收器,从而不向所述接收器传输所述颜色索引图。
10.根据权利要求7所述的装置,其特征在于,所述至少一个处理器还用于:
在像素域进行一维或二维字符串复制。
11.根据权利要求10所述的装置,其特征在于,为了在所述像素域进行所述一维或二维字符串复制,所述至少一个处理器用于:
基于所述一维字符串匹配的长度或所述二维字符串匹配的宽度和高度生成编码图,所述编码图指示先前匹配是否涵盖了像素位置。
12.根据权利要求11所述的装置,其特征在于,当所述二维字符串复制仅限于所述当前编码单元的宽度和高度时,所述二维字符串复制为固定宽度/高度块复制。
13.一种用于屏幕内容解码的方法,其特征在于,所述方法包括:
接收包括调色板表和颜色索引图中的至少一个的视频比特流;
从所述视频比特流中接收二维字符串复制的位置标识符,其中,所述二维字符串复制为固定宽度/高度块复制;以及
基于所述二维字符串复制的所述位置标识符,计算视频比特流的当前图像中的块的位置,其中所述当前图像中的所述块先前已解码;
对所述调色板表和所述颜色索引图中的至少一个进行解码;以及
基于所述调色板表和所述颜色索引图中的至少一个重建与当前编码单元相关联的像素。
14.根据权利要求13所述的方法,其特征在于,对所述调色板表进行解码包括:
确定预测器调色板,其中所述预测器调色板存储了所述调色板表中先前已解码的颜色;以及
基于所述预测器调色板对所述调色板表进行解码。
15.根据权利要求14所述的方法,其特征在于,所述预测器调色板与所述当前编码单元的左区编码单元或上区编码单元相关联或与前一在调色板模式下解码的编码单元相关联。
16.根据权利要求14所述的方法,其特征在于,还包括:
如果所述当前编码单元在所述调色板模式下进行解码,则在所述当前编码单元的解码结束时,基于所述预测器调色板更新所述预测器调色板。
17.根据权利要求14所述的方法,其特征在于,还包括:
如果所述当前编码单元未在所述调色板模式下进行解码,则保存所述预测器调色板。
18.根据权利要求13所述的方法,其特征在于,还包括:
接收enable_packed_component_flag,其指示与所述调色板表相关联的编码模式;以及
接收color_table_merge_flag和color_table_merge_direction标识,所述标识分别指示与所述调色板表相关联的合并决定和合并方向。
19.根据权利要求13所述的方法,其特征在于,还包括:
从所述视频比特流中接收所述调色板表的比特流;
确定标识符,其中,所述标识符指示所述当前编码单元的所述调色板表中可能颜色的最大数目;以及
当所述标识符指示所述当前编码单元的所述调色板表中可能颜色的所述最大数目不为1时,则从所述视频比特流中接收所述颜色索引图的比特流。
20.根据权利要求19所述的方法,其特征在于,所述位置标识符为以下项之一:图、一对矢量、偏移。
21.一种用于屏幕内容解码的装置,其特征在于,所述装置包括:
至少一个存储器;以及
耦合到所述至少一个存储器的至少一个处理器,所述至少一个处理器用于:
接收包括调色板表和颜色索引图中的至少一个的视频比特流;
从所述视频比特流中接收二维字符串复制的位置标识符,其中,所述二维字符串复制为固定宽度/高度块复制;以及
基于所述二维字符串复制的所述位置标识符,计算视频比特流的当前图像中的块的位置,其中所述当前图像中的所述块先前已解码;
对所述调色板表和所述颜色索引图中的至少一个进行解码;以及
基于所述调色板表和所述颜色索引图中的至少一个重建与当前编码单元相关联的像素。
22.根据权利要求21所述的装置,其特征在于,为了对所述调色板表进行解码,所述至少一个处理器用于:
确定预测器调色板,其中所述预测器调色板存储了所述调色板表中先前已解码的颜色;以及
基于所述预测器调色板对所述调色板表进行解码。
23.根据权利要求22所述的装置,其特征在于,所述预测器调色板与所述当前编码单元的左区编码单元或上区编码单元相关联或与先前在调色板模式下解码的编码单元相关联。
24.根据权利要求21所述的装置,其特征在于,所述至少一个处理器还用于:
接收enable_packed_component_flag,其指示与所述调色板表相关联的编码模式;以及
接收color_table_merge_flag和color_table_merge_direction标识,所述标识分别指示与所述调色板表相关联的合并决定和合并方向。
25.根据权利要求21所述的装置,其特征在于,所述至少一个处理器还用于:
从所述视频比特流中接收所述调色板表的比特流;
确定标识符,其中,所述标识符指示所述当前编码单元的所述调色板表中可能颜色的最大数目;以及
当所述标识符指示所述当前编码单元的所述调色板表中可能颜色的所述最大数目不为1时,则从所述视频比特流中接收所述颜色索引图的比特流。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462002556P | 2014-05-23 | 2014-05-23 | |
US62/002,556 | 2014-05-23 | ||
US14/719,064 US10091512B2 (en) | 2014-05-23 | 2015-05-21 | Advanced screen content coding with improved palette table and index map coding methods |
US14/719,064 | 2015-05-21 | ||
PCT/CN2015/079635 WO2015176690A1 (en) | 2014-05-23 | 2015-05-23 | Advanced screen content coding with improved palette table and index map coding methods |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106415607A CN106415607A (zh) | 2017-02-15 |
CN106415607B true CN106415607B (zh) | 2018-11-30 |
Family
ID=54553455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580016913.5A Active CN106415607B (zh) | 2014-05-23 | 2015-05-23 | 具有改进调色板表和索引图编码的先进屏幕内容编码方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10091512B2 (zh) |
EP (1) | EP3053339B1 (zh) |
CN (1) | CN106415607B (zh) |
WO (1) | WO2015176690A1 (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11076171B2 (en) | 2013-10-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
US10362333B2 (en) * | 2014-01-02 | 2019-07-23 | Qualcomm Incorporated | Color index coding for palette-based video coding |
US9877048B2 (en) * | 2014-06-09 | 2018-01-23 | Qualcomm Incorporated | Entropy coding techniques for display stream compression (DSC) |
US9924175B2 (en) | 2014-06-11 | 2018-03-20 | Qualcomm Incorporated | Determining application of deblocking filtering to palette coded blocks in video coding |
US10136141B2 (en) * | 2014-06-11 | 2018-11-20 | Qualcomm Incorporated | Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding |
EP3202142B1 (en) | 2014-09-30 | 2020-11-11 | Microsoft Technology Licensing, LLC | Hash-based encoder decisions for video coding |
CN105491379A (zh) * | 2014-10-01 | 2016-04-13 | 财团法人工业技术研究院 | 解码器、编码器、解码方法、编码方法与编解码*** |
SG11201704729PA (en) * | 2014-12-19 | 2017-07-28 | Hfi Innovation Inc | Methods of palette based prediction for non-444 color format in video and image coding |
WO2016192678A1 (en) * | 2015-06-03 | 2016-12-08 | Mediatek Inc. | Methods for palette coding of image and video data |
US20160360234A1 (en) * | 2015-06-03 | 2016-12-08 | Apple Inc. | Techniques For Resource Conservation During Performance Of Intra Block Copy Prediction Searches |
GB2539486B (en) * | 2015-06-18 | 2019-07-31 | Gurulogic Microsystems Oy | Encoder, decoder and method employing palette compression |
US10356432B2 (en) | 2015-09-14 | 2019-07-16 | Qualcomm Incorporated | Palette predictor initialization and merge for video coding |
CN106686384B (zh) * | 2016-11-29 | 2019-05-24 | 西安万像电子科技有限公司 | 文字块的压缩方法和装置以及图像压缩方法和装置 |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
WO2019075702A1 (en) | 2017-10-19 | 2019-04-25 | Tencent Technology (Shenzhen) Company Limited | METHODS AND SYSTEMS FOR PROCESSING GRAPHICS |
US10659794B2 (en) * | 2018-03-06 | 2020-05-19 | Mediatek Inc. | Apparatus and method for palette decoding |
WO2020006707A1 (en) * | 2018-07-04 | 2020-01-09 | Alibaba Group Holding Limited | Palette-based residual coding for video compression system |
US10848787B2 (en) | 2018-08-28 | 2020-11-24 | Google Llc | Lossy image compression using palettization of locally mixed colors |
US11695919B2 (en) * | 2018-08-28 | 2023-07-04 | Google Llc | Lossy image compression using palettization of locally mixed colors |
CN109819254B (zh) * | 2019-01-31 | 2022-05-03 | 深圳市战音科技有限公司 | 一种有损的图像压缩传输方法和*** |
CN113383549A (zh) | 2019-02-02 | 2021-09-10 | 北京字节跳动网络技术有限公司 | 使用用于视频编解码中的帧内块复制的帧内缓冲区样点的预测 |
JP7384911B2 (ja) | 2019-02-02 | 2023-11-21 | 北京字節跳動網絡技術有限公司 | 映像符号化におけるイントラブロックコピーのためのバッファ初期化 |
EP3915265A4 (en) | 2019-03-01 | 2022-06-22 | Beijing Bytedance Network Technology Co., Ltd. | DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING |
CN117640927A (zh) | 2019-03-04 | 2024-03-01 | 北京字节跳动网络技术有限公司 | 视频编解码中的帧内块复制中的实施方式方面 |
CA3128973A1 (en) | 2019-03-04 | 2020-09-10 | Bhaskar Bhattacharyya | Data compression and communication using machine learning |
WO2020182113A1 (en) * | 2019-03-10 | 2020-09-17 | Beijing Bytedance Network Technology Co., Ltd. | Combined screen content coding mode |
WO2020243881A1 (en) * | 2019-06-03 | 2020-12-10 | Alibaba Group Holding Limited | Simplified intra block copy |
KR102677020B1 (ko) | 2019-07-06 | 2024-06-19 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 코딩에서 인트라 블록 카피를 위한 가상 예측 버퍼 |
AU2020312053B2 (en) | 2019-07-10 | 2023-09-14 | Beijing Bytedance Network Technology Co., Ltd. | Sample identification for intra block copy in video coding |
CN114097221B (zh) | 2019-07-11 | 2024-01-12 | 北京字节跳动网络技术有限公司 | 用于视频编解码中的帧内块复制的比特流一致性约束 |
CN117395420A (zh) | 2019-08-15 | 2024-01-12 | 字节跳动有限公司 | 用于调色板逸出符号的熵编解码 |
EP4000269A4 (en) | 2019-08-15 | 2022-09-07 | ByteDance Inc. | PALLET MODE WITH DIFFERENT DIVISION STRUCTURES |
KR20220057544A (ko) | 2019-09-12 | 2022-05-09 | 바이트댄스 아이엔씨 | 비디오 코딩에서 팔레트 예측자 사용 |
CN114424545B (zh) | 2019-09-19 | 2024-07-16 | 字节跳动有限公司 | 用于调色板模式的量化参数推导 |
US11120289B2 (en) * | 2019-09-30 | 2021-09-14 | Ati Technologies Ulc | Parallel histogram calculation with application to palette table derivation |
CN110969202B (zh) * | 2019-11-28 | 2023-12-19 | 上海观安信息技术股份有限公司 | 基于颜色分量和感知哈希算法的人像采集环境验证方法及*** |
CN116405698B (zh) * | 2019-12-05 | 2023-11-24 | 阿里巴巴(中国)有限公司 | 用于色度采样的方法和装置 |
US11343524B2 (en) | 2019-12-27 | 2022-05-24 | Tencent America LLC | Method for adaptation parameter set reference and constraints in coded video stream |
CN114788284B (zh) | 2019-12-30 | 2023-03-31 | 阿里巴巴(中国)有限公司 | 用于在调色板模式下对视频数据进行编码的方法和装置 |
CN111225214B (zh) * | 2020-01-22 | 2022-08-12 | 北京字节跳动网络技术有限公司 | 视频处理方法、装置及电子设备 |
US11496731B2 (en) * | 2020-06-08 | 2022-11-08 | Tencent America LLC | String matching with single color value |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
DE102021117397A1 (de) * | 2020-07-16 | 2022-01-20 | Samsung Electronics Co., Ltd. | Bildsensormodul, bildverarbeitungssystem und bildkomprimierverfahren |
CN114598888A (zh) * | 2020-12-04 | 2022-06-07 | 腾讯科技(深圳)有限公司 | 串矢量的编解码方法、编码设备、解码设备及存储介质 |
CN113141509B (zh) * | 2021-03-30 | 2022-06-28 | 中山大学 | 一种颜色列表生成方法 |
US20220329810A1 (en) * | 2021-04-12 | 2022-10-13 | Tencent America LLC | Method and apparatus for intra string copy |
CN113660492B (zh) * | 2021-08-10 | 2023-05-05 | 中山大学 | 一种颜色列表的编解码方法、装置及介质 |
CN114564261B (zh) * | 2022-02-10 | 2024-05-17 | 阿里巴巴(中国)有限公司 | 基于桌面云的图像处理方法及装置 |
CN117834892A (zh) * | 2022-09-29 | 2024-04-05 | 腾讯科技(深圳)有限公司 | 视频编码方法和装置、计算设备、存储介质及程序产品 |
CN115546328B (zh) * | 2022-11-28 | 2023-03-14 | 阿里巴巴(中国)有限公司 | 图片映射方法、压缩方法、解码方法、电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162077B2 (en) * | 2001-10-19 | 2007-01-09 | Sharp Laboratories Of America, Inc. | Palette-based image compression method, system and data file |
CN105900432A (zh) * | 2014-01-02 | 2016-08-24 | Vid拓展公司 | 用于屏幕内容编码的二维调色板编码 |
CN106030651A (zh) * | 2014-03-21 | 2016-10-12 | 华为技术有限公司 | 利用改进的颜色表和索引图编码方法的高级屏幕内容编码 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5484416A (en) | 1977-12-19 | 1979-07-05 | Ricoh Co Ltd | Meothod and device for transmission and reception of telautogram information |
US5463702A (en) | 1992-05-12 | 1995-10-31 | Sony Electronics Inc. | Perceptual based color-compression for raster image quantization |
US5848195A (en) | 1995-12-06 | 1998-12-08 | Intel Corporation | Selection of huffman tables for signal encoding |
US5930390A (en) | 1996-03-28 | 1999-07-27 | Intel Corporation | Encoding/decoding signals using a remap table |
JPH11161782A (ja) | 1997-11-27 | 1999-06-18 | Seiko Epson Corp | カラー画像の符号化方法およびその符号化装置ならびにカラー画像の復号化方法およびその復号化装置 |
US6597812B1 (en) | 1999-05-28 | 2003-07-22 | Realtime Data, Llc | System and method for lossless data compression and decompression |
US6522783B1 (en) | 1999-11-23 | 2003-02-18 | Sharp Laboratories Of America, Inc. | Re-indexing for efficient compression of palettized images |
US6674479B2 (en) | 2000-01-07 | 2004-01-06 | Intel Corporation | Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion |
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 |
US7120297B2 (en) | 2002-04-25 | 2006-10-10 | Microsoft Corporation | Segmented layered image system |
US7016547B1 (en) | 2002-06-28 | 2006-03-21 | Microsoft Corporation | Adaptive entropy encoding/decoding for screen capture content |
US7343037B1 (en) | 2004-02-04 | 2008-03-11 | Microsoft Corporation | Dynamic, locally-adaptive, lossless palettization of color and grayscale images |
JP4515832B2 (ja) | 2004-06-14 | 2010-08-04 | オリンパス株式会社 | 画像圧縮装置、及び画像復元装置 |
KR101161900B1 (ko) | 2004-07-08 | 2012-07-03 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 멀티모드 이미지 처리 |
DK1886277T3 (en) | 2005-05-27 | 2016-05-17 | Ericsson Telefon Ab L M | WEIGHT BASED IMAGE PROCESSING |
JP2007108877A (ja) | 2005-10-11 | 2007-04-26 | Toshiba Corp | 情報管理システムおよび情報表示装置 |
JP4367418B2 (ja) | 2006-01-20 | 2009-11-18 | セイコーエプソン株式会社 | 印刷制御装置 |
US8130317B2 (en) | 2006-02-14 | 2012-03-06 | Broadcom Corporation | Method and system for performing interleaved to planar transformation operations in a mobile terminal having a video display |
US8243340B2 (en) | 2006-02-23 | 2012-08-14 | Microsoft Corporation | Pre-processing of image data for enhanced compression |
JP4816262B2 (ja) | 2006-06-06 | 2011-11-16 | ソニー株式会社 | 再生装置、再生方法および再生プログラム |
WO2009002603A1 (en) | 2007-06-25 | 2008-12-31 | L-3 Communications Avionics Systems, Inc. | Systems and methods for generating, storing and using electronic navigation charts |
US20090010533A1 (en) | 2007-07-05 | 2009-01-08 | Mediatek Inc. | Method and apparatus for displaying an encoded image |
TWI452537B (zh) | 2008-02-21 | 2014-09-11 | Generalplus Technology Inc | 影像處理方法及應用於數位像框與互動式影像處理之方法 |
US8326067B2 (en) | 2009-02-27 | 2012-12-04 | Research In Motion Limited | Optimization of image encoding using perceptual weighting |
JP5052569B2 (ja) | 2009-06-25 | 2012-10-17 | シャープ株式会社 | 画像圧縮装置、画像圧縮方法、画像伸張装置、画像伸張方法、画像形成装置、コンピュータプログラム及び記録媒体 |
CN104811717B (zh) | 2009-12-01 | 2018-09-14 | 数码士有限公司 | 用于编码/解码高分辨率图像的方法和设备 |
KR101682147B1 (ko) | 2010-04-05 | 2016-12-05 | 삼성전자주식회사 | 변환 및 역변환에 기초한 보간 방법 및 장치 |
US8600158B2 (en) | 2010-11-16 | 2013-12-03 | Hand Held Products, Inc. | Method and system operative to process color image data |
KR101506446B1 (ko) * | 2010-12-15 | 2015-04-08 | 에스케이 텔레콤주식회사 | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
WO2013046096A1 (en) | 2011-09-27 | 2013-04-04 | Koninklijke Philips Electronics N.V. | Apparatus and method for dynamic range transforming of images |
US8615138B2 (en) | 2011-11-03 | 2013-12-24 | Google Inc. | Image compression using sub-resolution images |
US9262986B2 (en) | 2011-12-07 | 2016-02-16 | Cisco Technology, Inc. | Reference frame management for screen content video coding using hash or checksum functions |
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 |
CA2925183C (en) | 2013-10-14 | 2020-03-10 | Microsoft Technology Licensing, Llc | Features of base color index map mode for video and image coding and decoding |
US10291827B2 (en) | 2013-11-22 | 2019-05-14 | Futurewei Technologies, Inc. | Advanced screen content coding solution |
PL3117617T3 (pl) | 2014-03-14 | 2022-08-22 | Vid Scale, Inc. | Kodowanie palety przeznaczone do kodowania zawartości ekranu |
US9826242B2 (en) | 2014-03-14 | 2017-11-21 | Qualcomm Incorporated | Palette-based video coding |
-
2015
- 2015-05-21 US US14/719,064 patent/US10091512B2/en active Active
- 2015-05-23 CN CN201580016913.5A patent/CN106415607B/zh active Active
- 2015-05-23 WO PCT/CN2015/079635 patent/WO2015176690A1/en active Application Filing
- 2015-05-23 EP EP15795914.9A patent/EP3053339B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162077B2 (en) * | 2001-10-19 | 2007-01-09 | Sharp Laboratories Of America, Inc. | Palette-based image compression method, system and data file |
CN105900432A (zh) * | 2014-01-02 | 2016-08-24 | Vid拓展公司 | 用于屏幕内容编码的二维调色板编码 |
CN106030651A (zh) * | 2014-03-21 | 2016-10-12 | 华为技术有限公司 | 利用改进的颜色表和索引图编码方法的高级屏幕内容编码 |
Non-Patent Citations (5)
Title |
---|
AHG10:Modified copy above mode for palette based coding;Jianqing Zhu等;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 17th Meeting: Valencia, ES》;20140329;全文 * |
AHG8:String match in coding of screen content;Wei Wang等;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 17th Meeting: Valencia, ES》;20140325;全文 * |
Descriptio of Screen Content Core Experiment3 (SCCE3):Palette mode;Yu-Wen Huang等;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 17th Meeting: Valencia, ES》;20140418;全文 * |
Description of screen content coding technology proposal by InterDigital;Xiu等;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 17th Meeting: Valencia, ES》;20140318;第4-13页,图1,图2 * |
Description of screen content technology proposal by Huawei;Zhan Ma等;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 17th Meeting: Valencia, ES》;20140327;第3-5页,第15页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3053339A1 (en) | 2016-08-10 |
US20150341643A1 (en) | 2015-11-26 |
EP3053339B1 (en) | 2020-11-25 |
US10091512B2 (en) | 2018-10-02 |
CN106415607A (zh) | 2017-02-15 |
EP3053339A4 (en) | 2016-08-10 |
WO2015176690A1 (en) | 2015-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106415607B (zh) | 具有改进调色板表和索引图编码的先进屏幕内容编码方法 | |
CN106797457B (zh) | 具有改进调色板表和索引图编码的先进屏幕内容编码方法 | |
KR101972936B1 (ko) | 스크린 콘텐츠 코딩 솔루션 | |
CN106105200B (zh) | 基于调色板的视频译码 | |
CN106030651B (zh) | 利用改进的颜色表和索引图编码方法的高级屏幕内容编码 | |
TWI666918B (zh) | 決定在視訊寫碼中之調色板寫碼區塊的調色板大小、調色板單元及過濾 | |
CN105556974B (zh) | 基于调色板的视频译码中的调色板预测 | |
CN106797468B (zh) | 高效视频编码(hevc)屏幕内容编码(scc)中改进的调色板模式 | |
CN109716774A (zh) | 用于视频译码的可变数目的帧内模式 | |
CN109155848A (zh) | 用于高动态范围及宽色域视频译码的环路内样本处理 | |
CN108028940A (zh) | 调色板模式视频译码中转义像素信号值的限制 | |
CN106797465A (zh) | 用于视频译码中自适应颜色变换的量化参数推导及偏移 | |
JP7455840B2 (ja) | ビデオコーディングのためのツリーベース変換ユニット(tu)区分 | |
CN106664429A (zh) | 高级调色板预测和发信号通知 | |
EP4035385A1 (en) | Simplified palette predictor update for video coding | |
WO2020186046A1 (en) | Grouped coding for palette syntax in video coding | |
US20230421769A1 (en) | Adaptively deriving rice parameter values for high bit-depth video coding | |
AU2020411500A1 (en) | Monochrome palette mode for video coding |
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 |