CN106797457A - 具有改进调色板表和索引图编码的先进屏幕内容编码方法 - Google Patents

具有改进调色板表和索引图编码的先进屏幕内容编码方法 Download PDF

Info

Publication number
CN106797457A
CN106797457A CN201580028326.8A CN201580028326A CN106797457A CN 106797457 A CN106797457 A CN 106797457A CN 201580028326 A CN201580028326 A CN 201580028326A CN 106797457 A CN106797457 A CN 106797457A
Authority
CN
China
Prior art keywords
index
character string
color
coding
current
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.)
Granted
Application number
CN201580028326.8A
Other languages
English (en)
Other versions
CN106797457B (zh
Inventor
于浩平
马展
王炜
徐猛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN106797457A publication Critical patent/CN106797457A/zh
Application granted granted Critical
Publication of CN106797457B publication Critical patent/CN106797457B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种装置(100)用于执行用于屏幕内容编码的方法(1700)。所述方法包括基于当前编码单元(coding unit,cu)(101、213、401、501)获取(1701)颜色索引图(311、601、1301、1600)。所述方法还包括对所述颜色索引图进行编码(1703),其中使用第一编码技术来对所述颜色索引图的至少一部分进行编码,第一标识符指示所述第一编码技术的主距离。所述方法还包括合并(1705)所述编码后的颜色索引图和所述第一标识符,以传输给接收器(200)。

Description

具有改进调色板表和索引图编码的先进屏幕内容编码方法
技术领域
本发明大体上涉及屏幕内容编码,更具体地,涉及具有改进颜色(调色板)表和索引图编码的先进屏幕内容编码。
背景技术
屏幕内容编码给视频压缩带来了新挑战,因为相比于传统的视频信号,屏幕内容编码的信号特征鲜明。目前存在多种先进屏幕内容编码技术,例如,伪字符串匹配、颜色调色板编码和帧内运动补偿或帧内块复制等。在这些技术中,伪字符串匹配在无损编码方面展示了最高的增益,但复杂度开销大且在有损编码模式中存在困难。针对屏幕内容研发的颜色调色板编码基于以下假设:非相机捕获的内容(例如,计算机生成的内容)通常包含数量有限的不同颜色而不是在许多视频序列中找到的连续或近乎连续色调。尽管伪字符串匹配和颜色调色板编码方法展示了巨大的潜力,帧内运动补偿或帧内块复制在正在进行的用于屏幕内容编码的高效视频编码(High Efficiency Video Coding,HEVC)范围扩展的工作草案(working draft,WD)第4版和参考软件中被采用。然而,因为固定的块分解,帧内块复制的编码性能受限。进行块匹配(类似于帧内图像的运动估计)还明显提高了计算和内存访问方面的编码器复杂度。
发明内容
根据一项实施例,提供了一种用于屏幕内容编码的方法。所述方法包括基于当前编码单元(coding unit,CU)获取颜色索引图。所述方法还包括对所述颜色索引图进行编码,其中使用第一编码技术来对所述颜色索引图的至少一部分进行编码,第一标识符指示所述第一编码技术的主距离。所述方法还包括合并所述编码后的颜色索引图和所述第一标识符,以传输给接收器。
根据另一实施例,提供了一种用于屏幕内容解码的方法。所述方法包括接收包括颜色索引图的视频比特流。所述方法还包括接收第一标识符。所述方法还包括使用第一解码技术来对所述颜色索引图的至少一部分进行解码,其中第一标识符指示所述第一解码技术的主距离。另外,所述方法包括基于所述颜色索引图重建与当前编码单元(coding unit,CU)相关联的像素。
其它实施例包括用于执行这些方法的装置。
附图说明
为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,相同的数字表示相同的对象,其中:
图1示出了根据本发明的执行屏幕内容编码过程的示例性发射器的功能方框图;
图2示出了根据本发明的执行屏幕内容解码过程的示例接收器的功能方框图;
图3示出了根据本发明的使用调色板表和索引图的各种模块和处理流程的示例;
图4示出了示例编码单元(coding unit,CU),其颜色分量分别显示和封装;
图5A示出了在屏幕内容编码过程中使用的参考调色板表和当前调色板表;
图5B示出了使用相邻重建块进行调色板表预测的示例;
图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.1 on 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.3 on 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 with 2-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/WG11 N13829,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成本来确定。
当颜色表显式地携带在比特流中时,可以按顺序对每个颜色分量的颜色表进行编码。如下所述,对于所有三个颜色分量,可使用表间调色板填充或表内颜色DPCM来按顺序对每个表项进行编码。
调色板表间填充
即使在没有使用调色板表共享方法时,调色板表303与调色板预测器之间仍然可能存在共同颜色。因此,逐表项地使用表间调色板填充技术能够进一步提高编码效率。这里,调色板预测器是从左区相邻CU或上区相邻CU等的相邻块获得。图5A示出了根据本发明的可用于表间调色板填充技术的调色板预测器551和当前调色板表553。当前调色板表553可表示图3的调色板表303。调色板预测器551可以从当前CU的左区相邻CU构建。在解码器侧,根据参考邻居的调色板预测器551适当地更新调色板。在一些实施例中,可以从重构的相邻CU或从编码树单元(coding tree unit,CTU)或从片或序列层的全局表推断出调色板预测器。如本领域中所公知的,片包括图像中的多个CU。图像可包括一个或多个片段。序列包括多个片。
使c(i)和r(j)分别表示当前调色板表553中的第i个表项和和调色板预测器551中的第j个表项。再次注意,每个表项都包含三个颜色分量(GBR,YCbCr等)。对于每个颜色表项c(i),i<=N,在当前表553中,表编码块107从调色板预测器551中找到相同的匹配r(j)。预测性地对j进行编码,而非发送c(i)。预测器被确定为大于先前重构的j且且满足r(k)[0]>=c(i–1)[0]的最小索引k。在比特流中发送预测差(j-k)。由于差(j-k)是非负,所以不需要符号位。
应注意,可以使用上下文自适应模型或旁路模型来对(i-k)进行编码,如本领域所公知的。通常,出于高效目的而使用上下文自适应模型,为满足高通和低复杂度要求而使用旁路模型。在本发明的一些实施例中,通过使用动态截断一元二值化方案,可使用两个上下文自适应模型来对索引预测差值(i-k)进行编码。
表内颜色DPCM
如果在调色板预测器551中没有找到当前调色板表553中的第i个表项的匹配,则将第i个表项的值从前一表项(第(i-1)个表项)减去,并通过为每个分量使用颜色DPCM来对绝对差(|d(ⅰ)|)进行编码。一般而言,使用表内表颜色DPCM会产生并编码较少的绝对预测差的比特和符号位。可以使用上下文自适应模型或旁路模型来对绝对预测差和相关符号bin进行编码,如本领域所公知的。此外,在一些情况中,符号位可隐藏或不进行编码。例如,考虑到当前调色板表553已按升序排序,Y(或G)分量差并不需要符号位。同样地,如果对应的Y(或G)差为零,则Cb(或B)分量差不需要符号位。此外,如果Y(或G)和Cb(或B)差都为零,则Cr(或R)分量差不需要符号位。如另一示例,如果绝对差为零,则可以隐藏符号位。如又一示例,如果满足以下边界条件,则可以隐藏符号位:c[i-1]-|d(ⅰ)|<0或c[i-1]+|d(ⅰ)|>255。
对于当前表553的第一表项c(0),如果不使用表间调色板填充技术,则可通过使用固定的8位旁路上下文模型来对c(0)中的每个分量进行编码。另外或可替代地,可使用自适应上下文模型来对其进行编码,以进一步提高性能。
为了更好地说明表间调色板填充和表内颜色DPCM技术,现将描述在当前调色板表553中使用数据的示例。
从当前调色板表553即(G,B,R)=(0,0,192)的第一表项c(0)开始,可以看出,c(0)在调色板预测器551中没有匹配,因此c(0)被单独编码。当前调色板表553((G,B,R)=(0,0,240)的第二表项c(1)在调色板预测器551中也没有匹配。鉴于第一表项c(0)已经被编码,只应在比特流中携带c(1)与c(0)之间的预测差值,即,(0,0,240)-(0,0,192)=(0,0,48)。对于当前表553的第三表项c(2),在调色板预测器551中的j=1处确定精确匹配。使用先前编码的颜色表项的预测索引为0,因此,只需要对(1-0)=1进行编码。应用这些编码技术,直到当前表553的最后的表项(即,图5A中的idx=12)进行编码。表1提供了有关如何使用可用的调色板预测器551来对当前表553应用表间共享和表内DPCM的逐步图解。
表1:图5A中的示例性表的编码方法
颜色表的显式编码总结在以下伪码中,其中N和M分别是当前和参考颜色表中表项的数量。
(伪码):
颜色表的显式解码总结在以下伪码中。
(伪码):
存在几种方法来生成相邻调色板表,以在编码当前CU的合并过程中使用。根据实现,方法之一(为便于说明,称为方法A)要求在编码器和解码器处都进行更新。另一种方法(称为方法B)为只涉及编码器侧的过程。这两种方法都将进行说明。
方法A:在该方法中,在有可用重建像素时,生成相邻CU的调色板表,不管CU深度、尺寸等如何。对于每个CU,为其相邻CU以相同尺寸和相同深度(假设颜色相似度将在这种情况下更高)恢复重建。
图5B示出了根据本发明的使用方法A来重新生成调色板表的示例。如图5B所示,当前CU 501是深度=2的16×16块,当前CU 501的相邻CU包括上区CU 502和左区CU 503。上区CU 502为深度=1的32×32块。上区CU 502包括16×16的上区块504。左区CU 503为深度=3的8×8块,且为16×16块505的一部分。通过使用方法A,不管其相邻CU(例如,8×8左区CU503或32×32上区CU 502)的分区如何,像素偏移(=16)将从当前CU 501的原点向左移动以处理左区的16×16块505,以及向上移动以处理上区的16×16块504。编码器和解码器都保持这个偏移。
方法B:在该方法中,在当前CU与其上区CU邻居和/或其左区CU邻居尺寸和深度相同时,发生合并过程。使用可用邻居的调色板表来获取当前CU的颜色索引图,以进行后续操作。例如,对于当前16×16 CU,如果其相邻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的一部分的编码技术的结果集合。
dist=-1, len=1, idx=14 (unmatched)
dist=1, len=2 (matched)
dist=-1, len=1, idx=17 (unmatched)
dist=1, len=3 (matched)
dist=-1, len=1, idx=6 (unmatched)
dist=1, len=25 (matched)
dist=30, len=4 (matched) /*for the『17』
which appeared before*/
….
下面给出了该匹配对获取的伪码。
(伪码):
简化的颜色索引图编码
在一些实施例中,可将下面的操作作为简化方法来对在1D方式的颜色索引图处理执行。如上所述,颜色索引图601可以通过匹配或不匹配对来表示。对于匹配对,向接收器发送组索引的一对匹配距离和长度。
存在多种相当明显的情况,在这些情况下,编码单元仅包括几个颜色。这会导致具有相同索引值的一个或多个较大的连续或相邻部分。在这种情况下,发送(距离,长度)对可引入比所需更多的开销。为了解决这个问题,在下文描述的简化颜色索引图处理方法进一步减少了在对颜色索引图进行编码时消耗的比特的数目。
如在1D索引图编码方案中一样,『距离』的概念可以分为两大类:主距离和正常距离。正常距离使用上下文来进行编码。然后,相关长度按顺序进行编码。
这种方法的实施例使用主距离。对于这种方法,有两种类型的主距离。一种是距离=blockWidth。另一种是距离=1。这两种类型的主距离反映出:距离=1和距离=blockWidth与整体距离分布的最大百分比相关联。现将通过举例说明的方式来描述这两种类型的主距离。
使用距离=blockWidth的编码方法也称为CopyAbove编码。为了说明CopyAbove编码方法,再次考虑图6的64×64的颜色索引图601。颜色索引图601具有blockWidth=64。在64×64的颜色索引图601内是通过虚线指示的两个索引字符串611至612。字符串612中的索引值与其上的字符串611的对应索引值相同。因为字符串612中的索引值与字符串611中的索引值相同,所以字符串612中的索引值可以通过参考字符串611中的索引值来进行编码。当通过使用水平扫描将颜色索引图601转换为1D颜色索引矢量时(如图7的1D颜色索引矢量700所示),沿着字符串611至612的对应索引值之间的1D颜色索引矢量的『距离』等于64,其为颜色索引图601的块宽度。例如,当颜色索引图601被转换为具有64×64=4096个元素的1D颜色索引矢量时,沿着字符串611中的第一个值,即索引值「6」,与字符串612中的第一个值,即索引值「6」,之间的矢量的距离为64。匹配的字符串611至612的长度为27,因为每个字符串611至612包括27个索引值。因此,可以简单地通过指示CopyAbove编码方法和27个索引值的长度来对字符串612进行编码。
使用距离=1的编码方法也被称为IndexMode编码或CopyLeft编码。为了说明IndexMode编码,考虑颜色索引图601中的索引字符串613。字符串613包括第一索引值「14」和其后的51个索引值「14」。因为字符串613中的每个索引值是相同的,所以可以使用距离=1(这表示与当前索引值的左边距离为1的索引值具有相同值)来对字符串613中在第一个「14」后面的51个索引值一起进行编码。匹配字符串613的长度是51。因此,可以简单地通过指示IndexMode编码方法和51个索引值的长度来对字符串613进行编码。
如上所述,对于这种简化颜色索引图编码的方法,用于编码的距离可以仅限于主要位置;即,用于这些实施例中的距离可以限为仅1或blockWidth。为了进一步降低开销,匹配索引的长度也可以限于编码单位宽度使用该定义,距离和长度对可以只使用两个二进制标识(即2个bin)来发送,而不发送长度和距离(其被推断为块宽度)的开销。例如,第一标识可以指示编码是使用了主距离还是没有使用主距离。如果第一标识指示编码使用了主距离,则第二标识可以指示主距离是否为1(即IndexMode)或blockWidth(即CopyAbove)。由于匹配的字符串在编码单元中逐行(或按行)出现,所以行中的与距离=1或距离=blockWidth不匹配的任何索引都被视为不匹配索引。这种不匹配索引逐个单独进行编码。对于这些不匹配索引,可以使用上述的预测方法来提高效率。
解码器可以执行与于上述CopyAbove编码和IndexMode编码技术类似的解码操作。例如,解码器可以接收第二标识,以及基于第二标识的值,解码器知道根据CopyAbove或IndexMode解码技术来解码。
也可使用上文描述的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获取调色板表和颜色索引图。在操作1703,设备对颜色索引图进行编码。设备使用第一编码技术来对颜色索引图的至少一部分进行编码。第一标识符指示第一编码技术的主距离。例如,在一些实施例中,第一标识符的第一值指示使用主距离等于1的IndexMode编码技术,第一标识符的第二值指示使用主距离等于当前CU的块宽度的CopyAbove编码技术。
使用第一编码技术来进行编码的颜色索引图的至少一部分要么是当前CU的第一索引字符串,其中第一索引字符串上方具有匹配的第二索引字符串,要么是当前CU中的第三索引字符串,其中所有索引值都与第三索引字符串中第一个索引左边的参考索引值相同。
在操作1705中,设备合并编码后的颜色索引图和第一标识符,以传输给接收器。
虽然图17示出了用于屏幕内容编码的方法1700的一个示例,但是可以对图17进行各种改变。例如,尽管所示为一系列步骤,但是图17所示的各个步骤可重叠,可并行或按不同顺序执行,或可执行多次。此外,根据具体需要,可合并或移除一些步骤,并可添加附加步骤。
图18示出了根据本发明的用于屏幕内容解码的方法。图18所示的方法1800基于上述关键概念。方法1800可由图2的接收器200执行,但是,方法1800也可用于任何其它合适的设备或系统。
在操作1801中,设备从发射器接收压缩的视频比特流。视频比特流包括编码后的颜色索引图。设备还接收第一标识符。第一标识符指示第一解码技术的一个主距离。例如,在一些实施例中,第一标识符的第一值指示使用主距离等于1的IndexMode解码技术,第一标识符的第二值指示使用主距离等于当前CU的块宽度的CopyAbove解码技术。
在操作1803中,设备使用第一解码技术对颜色索引图的至少一部分进行解码,其中第一标识符指示第一解码技术的主距离。然后,在操作1805中,设备基于颜色索引图重建与当前CU相关联的像素。
虽然图18示出了用于屏幕内容解码的方法1800的一个示例,但是可以对图18进行各种改变。例如,尽管所示为一系列步骤,但是图18所示的各个步骤可重叠,可并行或按不同顺序执行,或可执行多次。此外,根据具体需要,可合并或移除一些步骤,并可添加附加步骤。
在某些实施例中,一个或多个所述设备的部分或全部功能或流程由计算机可读程序代码构成的且内嵌于计算机可读介质中的计算机程序来实现或提供支持。术语『计算机可读程序代码』包括任意类型的计算机代码,包括源代码、目标代码以及可执行代码。术语『计算机可读介质』包括任何类型的可以被计算机访问的非易失性介质,比如,只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、硬盘驱动器、光盘(compact disc,CD)、数字化视频光盘(digital video disc,DVD)或者任何其它类型的存储器。
为本专利文档中使用的特定术语和短语进行定义是有帮助的。术语『包括』和『包含』以及它们的派生词表示没有限制的包括。术语『或者』是包容性的,意为和/或。短语『与……关联』和『与其关联』以及其派生的短语意味着包括,被包括在内、与……互连、包含、被包含在内、连接到或与……连接、耦合到或与……耦合、可与……通信、与……配合、交织、并列、接近、被绑定到或与……绑定、具有、具有……属性,等等。
虽然本发明就某些实施例和一般相关方法方面进行了描述,但是对本领域技术人员而言,对实施例和方法的各种更改和变更将是显而易见的。因此,示例实施例的上述描述不限定或约束本发明。正如以下权利要求定义,其它修改、替代以及变更也是可能的,而不偏离本发明的精神和范围。

Claims (28)

1.一种用于屏幕内容编码的方法,其特征在于,所述方法包括:
基于当前编码单元(coding unit,CU)获取颜色索引图;
对所述颜色索引图进行编码,其中使用第一编码技术对所述颜色索引图的至少一部分进行编码,第一标识符指示所述第一编码技术的主距离;以及
合并所述编码后的颜色索引图和所述第一标识符,以传输给接收器。
2.根据权利要求1所述的方法,其特征在于,所述第一标识符的第一值指示使用主距离等于1的IndexMode编码技术,所述第一标识符的第二值指示使用主距离等于所述当前CU的块宽度的CopyAbove编码技术。
3.根据权利要求2所述的方法,其特征在于,使用所述第一编码技术进行编码的所述颜色索引图的所述至少一部分为以下项之一:
所述当前CU中的第一索引字符串,其中所述第一索引字符串的上方具有匹配的第二索引字符串;或者
所述当前CU中的第三索引字符串,其中所有索引值都与所述第三索引字符串中第一个索引左边的参考索引值相同。
4.根据权利要求3所述的方法,其特征在于,使用所述CopyAbove编码技术来对所述第一索引字符串进行编码,所述CopyAbove编码技术的输出包括所述第一索引字符串的长度。
5.根据权利要求3所述的方法,其特征在于,使用所述IndexMode编码技术来对所述第三索引字符串进行编码,所述IndexMode编码技术的输出包括所述第三索引字符串的长度。
6.根据权利要求1所述的方法,其特征在于,第二标识符指示使用所述第一编码技术而非第二编码技术来对所述颜色索引图的所述至少一部分进行编码。
7.根据权利要求6所述的方法,其特征在于:
所述第一和第二标识符分别包括第一和第二二进制标识;
所述第二二进制标识指示使用了所述第一编码技术;
所述第一二进制标识指示所述主距离等于所述当前CU的块宽度;以及
仅使用所述第一和第二二进制标识来指示与上一行相同的所述当前CU的编码行。
8.一种用于屏幕内容编码的装置,其特征在于,所述装置包括:
至少一个存储器;以及
耦合到所述至少一个存储器的至少一个处理器,所述至少一个处理器用于:
基于当前编码单元(coding unit,CU)获取颜色索引图;
对所述颜色索引图进行编码,其中使用第一编码技术来对所述颜色索引图的至少一部分进行编码,第一标识符指示所述第一编码技术的主距离;以及
合并所述编码后的颜色索引图和所述第一标识符,以传输给接收器。
9.根据权利要求8所述的装置,其特征在于,所述第一标识符的第一值指示使用主距离等于1的IndexMode编码技术,所述第一标识符的第二值指示使用主距离等于所述当前CU的块宽度的CopyAbove编码技术。
10.根据权利要求9所述的装置,其特征在于,使用所述第一编码技术进行编码的所述颜色索引图的所述至少一部分为以下项之一:
所述当前CU中的第一索引字符串,其中所述第一索引字符串的上方具有匹配的第二索引字符串;或者
所述当前CU中的第三索引字符串,其中所有索引值都与所述第三索引字符串中第一个索引左边的参考索引值相同。
11.根据权利要求10所述的装置,其特征在于,使用所述CopyAbove编码技术来对所述第一索引字符串进行编码,所述CopyAbove编码技术的输出包括所述第一索引字符串的长度。
12.根据权利要求10所述的装置,其特征在于,使用所述IndexMode编码技术来对所述第三索引字符串进行编码,所述IndexMode编码技术的输出包括所述第三索引字符串的长度。
13.根据权利要求8所述的装置,其特征在于,第二标识符指示使用是所述第一编码技术而非第二编码技术来对所述颜色索引图的所述至少一部分进行编码。
14.根据权利要求13所述的装置,其特征在于:
所述第一和第二标识符分别包括第一和第二二进制标识;
所述第二二进制标识指示使用了所述第一编码技术;
所述第一二进制标识指示所述主距离等于所述当前CU的块宽度;以及
仅使用所述第一和第二二进制标识来指示具有相同值的所述当前CU的编码行。
15.一种用于屏幕内容解码的方法,其特征在于,所述方法包括:
接收包括颜色索引图的视频比特流;
接收第一标识符;
使用第一解码技术来对所述颜色索引图的至少一部分进行解码,其中所述第一标识符指示所述第一解码技术的主距离;以及
基于所述颜色索引图重建与当前编码单元(coding unit,CU)相关联的像素。
16.根据权利要求15所述的方法,其特征在于,所述第一标识符的第一值指示使用主距离等于1的IndexMode解码技术,所述第一标识符的第二值指示使用主距离等于所述当前CU的块宽度的CopyAbove解码技术。
17.根据权利要求16所述的方法,其特征在于,使用所述第一解码技术进行解码的所述颜色索引图的所述至少一部分为以下项之一:
所述当前CU中的第一索引字符串,其中所述第一索引字符串的上方具有匹配的第二索引字符串;或者
所述当前CU中的第三索引字符串,其中所有索引值都与所述第三索引字符串中第一个索引左边的参考索引值相同。
18.根据权利要求17所述的方法,其特征在于,使用所述CopyAbove解码技术来对所述第一索引字符串进行解码,所述CopyAbove解码技术的输入包括所述第一索引字符串的长度。
19.根据权利要求17所述的方法,其特征在于,使用所述IndexMode解码技术来对所述第三索引字符串进行解码,所述IndexMode编码技术的输入包括所述第三索引字符串的长度。
20.根据权利要求15所述的方法,其特征在于,接收的第二标识符指示使用所述第一解码技术而非第二解码技术来对所述颜色索引图的所述至少一部分进行解码。
21.根据权利要求20所述的方法,其特征在于:
所述第一和第二标识符分别包括第一和第二二进制标识;
所述第二二进制标识指示使用了所述第一解码技术;
所述第一二进制标识指示所述主距离等于所述当前CU的块宽度;以及
仅使用所述第一和第二二进制标识来指示所述当前CU的编码行与上一行相同。
22.一种用于屏幕内容解码的装置,其特征在于,所述装置包括:
至少一个存储器;以及
耦合到所述至少一个存储器的至少一个处理器,所述至少一个处理器用于:
接收包括颜色索引图的视频比特流;
接收第一标识符;
使用第一解码技术来对所述颜色索引图的至少一部分进行解码,其中,第一标识符指示所述第一解码技术的主距离;以及
基于所述颜色索引图重建与当前编码单元(coding unit,CU)相关联的像素。
23.根据权利要求22所述的装置,其特征在于,所述第一标识符的第一值指示使用主距离等于1的IndexMode解码技术,所述第一标识符的第二值指示使用主距离等于所述当前CU的块宽度的CopyAbove解码技术。
24.根据权利要求23所述的装置,其特征在于,使用所述第一解码技术进行解码的所述颜色索引图的所述至少一部分为以下项之一:
所述当前CU中的第一索引字符串,其中所述第一索引字符串的上方具有匹配的第二索引字符串;或者
所述当前CU中的第三索引字符串,其中所有索引值都与所述第三索引字符串中第一个索引左边的参考索引值相同。
25.根据权利要求24所述的装置,其特征在于,使用所述CopyAbove解码技术来对所述第一索引字符串进行解码,所述CopyAbove解码技术的输入包括所述第一索引字符串的长度。
26.根据权利要求24所述的装置,其特征在于,使用所述IndexMode解码技术来对所述第三索引字符串进行解码,所述IndexMode编码技术的输入包括所述第三索引字符串的长度。
27.根据权利要求22所述的装置,其特征在于,第二标识符指示使用所述第一解码技术而非第二解码技术来对所述颜色索引图的所述至少一部分进行解码。
28.根据权利要求27所述的装置,其特征在于:
所述第一和第二标识符分别包括第一和第二二进制标识;
所述第二二进制标识指示使用了所述第一解码技术;
所述第一二进制标识指示所述主距离等于所述当前CU的块宽度;以及
仅使用所述第一和第二二进制标识来指示具有相同值的所述当前CU的编码行。
CN201580028326.8A 2014-06-27 2015-06-25 具有改进调色板表和索引图编码的先进屏幕内容编码方法 Active CN106797457B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462018349P 2014-06-27 2014-06-27
US62/018,349 2014-06-27
US14/749,138 US20150381994A1 (en) 2014-06-27 2015-06-24 Advanced screen content coding with improved palette table and index map coding methods
US14/749,138 2015-06-24
PCT/US2015/037779 WO2015200690A1 (en) 2014-06-27 2015-06-25 Advanced screen content coding with improved palette table and index map coding methods

Publications (2)

Publication Number Publication Date
CN106797457A true CN106797457A (zh) 2017-05-31
CN106797457B CN106797457B (zh) 2018-10-30

Family

ID=54931999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580028326.8A Active CN106797457B (zh) 2014-06-27 2015-06-25 具有改进调色板表和索引图编码的先进屏幕内容编码方法

Country Status (10)

Country Link
US (1) US20150381994A1 (zh)
EP (1) EP3143766A4 (zh)
JP (1) JP6524118B2 (zh)
KR (1) KR101906740B1 (zh)
CN (1) CN106797457B (zh)
AU (1) AU2015279791A1 (zh)
BR (1) BR112016030696B1 (zh)
CA (1) CA2953505C (zh)
RU (1) RU2654200C1 (zh)
WO (1) WO2015200690A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020182113A1 (en) * 2019-03-10 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Combined screen content coding mode
WO2021147464A1 (zh) * 2020-01-22 2021-07-29 北京字节跳动网络技术有限公司 视频处理方法、装置及电子设备
WO2022117104A1 (en) * 2020-12-06 2022-06-09 Zhejiang Dahua Technology Co., Ltd. Systems and methods for video processing

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112016008044A8 (pt) 2013-10-14 2020-03-17 Microsoft Technology Licensing Llc codificador de vídeo ou imagem, decodificador de vídeo ou imagem e meio legível por computador
EP3058739B1 (en) 2013-10-14 2019-08-07 Microsoft Technology Licensing, LLC Features of intra block copy prediction mode for video and image coding and decoding
WO2015054813A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
KR102353787B1 (ko) 2014-01-03 2022-01-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
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
KR102311815B1 (ko) 2014-06-19 2021-10-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 통합된 인트라 블록 카피 및 인터 예측 모드
US9955157B2 (en) * 2014-07-11 2018-04-24 Qualcomm Incorporated Advanced palette prediction and signaling
US10812817B2 (en) * 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN105491379A (zh) * 2014-10-01 2016-04-13 财团法人工业技术研究院 解码器、编码器、解码方法、编码方法与编解码系统
SG10202002209TA (en) * 2014-12-19 2020-04-29 Hfi Innovation Inc Methods of palette based prediction for non-444 color format in video and image coding
KR102051197B1 (ko) * 2015-03-20 2019-12-02 미디어텍 싱가폴 피티이. 엘티디. 비디오 코딩에서의 인터 예측으로의 팔레트 코딩 방법
KR102583501B1 (ko) * 2015-04-27 2023-09-27 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
CN107637057A (zh) * 2015-06-03 2018-01-26 联发科技股份有限公司 图像和视频数据的调色板编解码方法
WO2016197314A1 (en) 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
US10148977B2 (en) 2015-06-16 2018-12-04 Futurewei Technologies, Inc. Advanced coding techniques for high efficiency video coding (HEVC) screen content coding (SCC) extensions
US11330278B2 (en) * 2016-12-23 2022-05-10 Telefonaktiebolaget Lm Ericsson (Publ) Chroma adjustment with color components in color spaces in video coding
US10863190B2 (en) * 2018-06-14 2020-12-08 Tencent America LLC Techniques for memory bandwidth optimization in bi-predicted motion vector refinement
US11695919B2 (en) * 2018-08-28 2023-07-04 Google Llc Lossy image compression using palettization of locally mixed colors
CA3111679C (en) * 2018-09-19 2023-10-03 Huawei Technologies Co., Ltd. Method for skipping refinement based on patch similarity in bilinear interpolation based decoder-side motion vector refinement
EP3935581A4 (en) 2019-03-04 2022-11-30 Iocurrents, Inc. DATA COMPRESSION AND COMMUNICATION USING MACHINE LEARNING
US11503311B2 (en) * 2019-03-08 2022-11-15 Sony Group Corporation Hybrid palette-DPCM coding for image compression
US11202101B2 (en) * 2019-03-13 2021-12-14 Qualcomm Incorporated Grouped coding for palette syntax in video coding
US11070816B2 (en) 2019-06-18 2021-07-20 Tencent America LLC Conversion of decoded block vector for intra picture block compensation
MX2022002617A (es) 2019-09-12 2022-03-25 Bytedance Inc Uso de predictor de paleta en codificacion de video.
US20220337843A1 (en) * 2019-09-23 2022-10-20 Lg Electronics Inc. Image encoding/decoding method and apparatus using user-defined palette entry, and method for transmitting bitstream
JP7362910B2 (ja) 2019-09-23 2023-10-17 エルジー エレクトロニクス インコーポレイティド パレットモードを用いた画像符号化/復号化方法、装置、及びビットストリームの伝送方法
CN117528122A (zh) * 2020-03-27 2024-02-06 北京达佳互联信息技术有限公司 对视频进行解码的方法、电子装置、存储介质和程序产品
US11595694B2 (en) * 2020-04-01 2023-02-28 Tencent America LLC Method and apparatus for video coding
US11496731B2 (en) * 2020-06-08 2022-11-08 Tencent America LLC String matching with single color value

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110142132A1 (en) * 2008-08-04 2011-06-16 Dolby Laboratories Licensing Corporation Overlapped Block Disparity Estimation and Compensation Architecture
CN102378007A (zh) * 2010-08-24 2012-03-14 阿沃森特公司 用于块和dvc视频压缩的方法和系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6819793B1 (en) * 2000-06-30 2004-11-16 Intel Corporation Color distribution for texture and image compression
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US8234577B1 (en) * 2005-05-23 2012-07-31 Glance Networks, Inc. Method and apparatus for the transmission of changed host display information
US7548657B2 (en) * 2005-06-25 2009-06-16 General Electric Company Adaptive video compression of graphical user interfaces using application metadata
US8199812B2 (en) * 2007-01-09 2012-06-12 Qualcomm Incorporated Adaptive upsampling for scalable video coding
US7864193B2 (en) * 2007-07-02 2011-01-04 International Business Machines Corporation RGB color conversion palettes
US8254704B2 (en) * 2008-10-30 2012-08-28 Microsoft Corporation Remote computing platforms providing high-fidelity display and interactivity for clients
US8180165B2 (en) 2008-12-19 2012-05-15 Microsoft Corp. Accelerated screen codec
US10542271B2 (en) * 2013-12-27 2020-01-21 Hfi Innovation Inc. Method and apparatus for major color index map coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110142132A1 (en) * 2008-08-04 2011-06-16 Dolby Laboratories Licensing Corporation Overlapped Block Disparity Estimation and Compensation Architecture
CN102378007A (zh) * 2010-08-24 2012-03-14 阿沃森特公司 用于块和dvc视频压缩的方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WEI PU ET AL: "AHG10:Suggested Software for Palette Coding based on RExt6.0", 《17TH MEETING: VALENCIA, ES, 27 MARCH – 4 APRIL 2014,JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JT C1/SC29/WG11》 *
ZHAN MA ET AL: "Description of screen content coding technology proposal by Huawei", 《17TH MEETING: VALENCIA, ES, 27 MARCH – 4 APRIL 2014,JOINT COLLABORATIVE TEAM ON VIDEO CODING(JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG 11》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020182113A1 (en) * 2019-03-10 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Combined screen content coding mode
WO2021147464A1 (zh) * 2020-01-22 2021-07-29 北京字节跳动网络技术有限公司 视频处理方法、装置及电子设备
WO2022117104A1 (en) * 2020-12-06 2022-06-09 Zhejiang Dahua Technology Co., Ltd. Systems and methods for video processing

Also Published As

Publication number Publication date
KR20170016958A (ko) 2017-02-14
AU2015279791A1 (en) 2017-01-12
CA2953505C (en) 2019-05-21
JP6524118B2 (ja) 2019-06-05
CN106797457B (zh) 2018-10-30
EP3143766A1 (en) 2017-03-22
JP2017525204A (ja) 2017-08-31
WO2015200690A1 (en) 2015-12-30
BR112016030696A2 (pt) 2018-07-17
US20150381994A1 (en) 2015-12-31
RU2654200C1 (ru) 2018-05-17
CA2953505A1 (en) 2015-12-30
BR112016030696B1 (pt) 2023-11-21
EP3143766A4 (en) 2017-05-17
KR101906740B1 (ko) 2018-10-10

Similar Documents

Publication Publication Date Title
CN106797457B (zh) 具有改进调色板表和索引图编码的先进屏幕内容编码方法
CN106415607B (zh) 具有改进调色板表和索引图编码的先进屏幕内容编码方法
CN106105228B (zh) 一种处理视频数据的方法、装置及计算机可读介质
CN106105200B (zh) 基于调色板的视频译码
CN105532000B (zh) 用于对视频数据进行编码和解码的方法、设备和系统
KR101972936B1 (ko) 스크린 콘텐츠 코딩 솔루션
CN105874796B (zh) 用于基于调色板的视频译码的颜色索引译码
CN105075272B (zh) 在基于调色板的视频译码中确定调色板索引的方法及设备
CN106030651A (zh) 利用改进的颜色表和索引图编码方法的高级屏幕内容编码
WO2018001207A1 (zh) 编解码的方法及装置
CN108028940A (zh) 调色板模式视频译码中转义像素信号值的限制
WO2015120818A1 (zh) 图像编码、解码方法及装置
CN106797468A (zh) 高效视频编码(hevc)屏幕内容编码(scc)中改进的调色板模式
CN106797465A (zh) 用于视频译码中自适应颜色变换的量化参数推导及偏移
CN106105207A (zh) 用于视频译码的具有行程长度码的调色板预测器信令
CN106464875A (zh) 用于调色板模式译码的从先前行复制
CN106797484A (zh) 用于基于调色板的视频译码的调色板索引二进制化
CN104853211A (zh) 使用多种形式的参考像素存储空间的图像压缩方法和装置
CN106797474A (zh) 基于调色板的视频译码中的调色板游程隐藏
CN106664429A (zh) 高级调色板预测和发信号通知
CN114762336B (zh) 基于变换跳过和调色板编码相关信息的信令的图像或视频编码
CN114762339A (zh) 基于变换跳过和调色板编码相关高级语法元素的图像或视频编码
US20230078064A1 (en) Determining prediction samples of pixels based on color sampling mode of the picture block
KR20230111256A (ko) 비디오 인코딩 및 디코딩 방법과 시스템, 비디오 인코더및 비디오 디코더

Legal Events

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