调色板表初始化和管理的方法转让专利

申请号 : CN201580013915.9

文献号 : CN106464869B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赖柏霖孙域晨刘杉许晓中庄子德陈鼎匀黄毓文

申请人 : 寰发股份有限公司

摘要 :

揭示一种使用共享的调色板/调色板预测缓冲器的视频数据的框的调色板编码的方法和装置。系统接收包含与当前调色板编码的框关联的压缩数据的比特流并确定用于储存在共享的调色板/调色板预测符缓冲器中的当前调色板编码的框的调色板预测符。当前调色板的条目的再使用旗标用于更新储存于共享的调色板/调色板预测符缓冲器中的当前调色板。任何新的标示的条目将插入到共享的调色板/调色板预测符缓冲器。因此生成用于下一调色板编码的框的更新的调色板预测符。还揭示一种用于高级视频结构中第一调色板编码的框的调色板管理和初始化的方法。高级视频结构可对应于切片、波前、序列或图片。

权利要求 :

1.在视频编码系统中使用调色板编码来解码视频数据的框的方法,所述方法包含:接收包含与当前调色板编码的框关联的压缩数据的比特流;

确定用于储存在共享的调色板/调色板预测符缓冲器中的所述当前调色板编码的框的调色板预测符;

从所述比特流解析所述调色板预测符的条目的再使用旗标,所述再使用旗标指示所述调色板预测符的对应条目是否再使用;

在所述再使用旗标解码后,根据所述再使用旗标更新储存于共享的调色板/调色板预测符缓冲器中的所述调色板预测符的对应条目,以导致所述共享的调色板/调色板预测符缓冲器中一个或多个重定位的再使用条目;

在更新所述调色板预测符的对应条目后,将一个或多个标示的新的条目插入到所述共享的调色板/调色板预测符缓冲器中最后重定位的再使用条目后的位置;

在插入所述一个或多个标示的新的条目后,通过丢弃超过最大调色板预测符大小的条目生成更新的调色板预测符;以及通过选择所述共享的调色板/调色板预测符缓冲器的开始的N个条目构建当前调色板,其中N是大于0的整数。

2.如权利要求1所述的方法,其特征在于,N等于第一数目的共享旗标加上第二数目的标示的条目。

3.如权利要求1所述的方法,其特征在于,更新调色板预测符的对应条目包含:如果当前再使用旗标指示条目再使用,则将所述共享的调色板/调色板预测符缓冲器中的当前对应条目旋转到所述共享的调色板/调色板预测符缓冲器中先前重定位的再使用条目后的位置,或如果不存在所述先前重定位的再使用条目,将所述共享的调色板/调色板预测符缓冲器中的当前对应条目旋转到所述共享的调色板/调色板预测符缓冲器的开始位置;以及如果所述当前再使用旗标指示没有条目再使用,则不改变所述共享的调色板/调色板预测符缓冲器。

4.如权利要求1所述的方法,其特征在于,所述当前调色板编码的框和下一调色板编码的框对应于编码单元。

5.一种在视频编码系统中使用调色板编码用于解码视频数据的框的装置,所述装置包含:用于接收包含与当前调色板编码的框关联的压缩数据的比特流的电路;

用于确定用于储存在共享的调色板/调色板预测符缓冲器中的所述当前调色板编码的框的调色板预测符的电路;

用于从所述比特流解析所述调色板预测符的条目的再使用旗标,所述再使用旗标指示所述调色板预测符的对应条目是否再使用的电路;

用于在所述再使用旗标解码后,根据所述再使用旗标更新储存于共享的调色板/调色板预测符缓冲器中的所述调色板预测符的对应条目,以导致所述共享的调色板/调色板预测符缓冲器中一个或多个重定位的再使用条目的电路;

用于在更新所述调色板预测符的对应条目后,将一个或多个标示的新的条目插入到所述共享的调色板/调色板预测符缓冲器中最后重定位的再使用条目后的位置的电路;

用于在插入所述一个或多个标示的新的条目后,通过丢弃超过最大调色板预测符大小的任何条目生成更新的调色板预测符的电路;以及用于通过选择所述共

享的调色板/调色板预测符缓冲器的开始的N个条目构建当前调色板的电路,其中N是大于0的整数。

6.如权利要求5所述的装置,其特征在于,N等于第一数目的共享旗标加上第二数目的标示的条目。

7.如权利要求5所述的装置,其特征在于,所述当前调色板编码的框和下一调色板编码的框对应于编码单元。

说明书 :

调色板表初始化和管理的方法

[0001] 【相关申请的交叉参考】
[0002] 本发明要求2014年3月14日申请的序列号为61/952,932的美国临时专利申请、2014年9月26日申请的序列号为62/055,692的美国临时专利申请的优先权,上述美国临时专利申请在此全部并入参考。
【技术领域】
[0003] 本发明涉及视频数据的调色板(palette)编码。特别地,本发明涉及通过使用更有效的调色板初始化和管理来改进调色板预测的性能的技术。【背景技术】
[0004] 高效率视频编码(HEVC)是近年来开发的一种新的编码标准。在高效率视频编码(HEVC)系统中,H.264/AVC的固定尺寸的宏块由灵活的块,称为编码单元(CU),来替代。CU中的像素共享相同的编码参数以改进编码效率。CU可以最大CU(LCU)开始,其在HEVC中也称为编码树单元(coded tree unit,CTU)。除了编码单元的概念以外,预测单元(PU)的概念也在HEVC中引入。一旦完成CU分层树的拆分,每个叶CU还进一步根据预测类型和PU分区拆分为一个或多个预测单元(PU)。
[0005] 随着高效率视频编码(HEVC)标准发展,HEVC扩展的发展也开始了。HEVC扩展包含范围扩展(RExt),其针对非4:2:0颜色格式,例如4:2:2和4:4:4,且更高比特深度视频,例如,12、14和16比特每样本。利用RExt的一个可能的应用是通过有线或无线连接的屏幕共享。由于屏幕内容的特定特性,编码工具被开发且在编码效率方面显示了其重要性。其中,颜色索引编码(也叫作基于主颜色的编码)技术表示使用索引到调色板(palette)(主颜色)的像素的块,并通过利用空间冗余编码调色板和索引。尽管可能的颜色组合的总数目很大,图片的区域的颜色的数目对于典型的屏幕内容通常是有限的。因此,调色板编码对于屏幕内容材料变得非常有效。
[0006] 在HEVC范围扩展(RExt)的早期发展过程中,揭示了若干提议以处理基于调色板的编码。例如,调色板预测和共享技术揭示于JCTVC-N0247(Guo et al.“, RCE3:Results of Test 3.1on Palette Mode for Screen Content Coding”,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11,14th Meeting:Vienna,AT,25July–2Aug.2013Document:JCTVC-N0247)。在JCTVC-N0247中,构建并发送每个颜色分量的调色板。调色板可以从其左边相邻的CU被预测(或共享)以降低比特率。
[0007] 调色板编码
[0008] 改进的调色板预测和共享技术揭示于JCTVC-O0218(Guo et al.“, Evaluation of Palette Mode Coding on HM-12.0+RExt-4.1”,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11,15th Meeting:Geneva,CH,23Oct.–1Nov.2013,Document:JCTVC-O0218)。在JCTVC-O0218中,编码过程显示如下。
[0009] 1.调色板的传送:调色板尺寸(调色板中颜色的数目)先发送,后发送调色板元件(颜色值)。
[0010] 2.像素调色板索引值的传送(指向调色板中颜色的索引):CU中的像素的索引值以光栅扫描顺序编码。对于每个位置,首先发送旗标以指示“run(游程)”或“copy above(复制上方)”模式是否正在使用。
[0011] 2.1“Run模式”:在“run模式”中,由“Palette_run”(例如,M)紧接着的调色板索引首先被标示。对于当前位置和后续的M个位置没有其他信息需要发送,因为他们具有如标示的相同的调色板索引。调色板索引(例如,i)还可以由所有三个颜色分量共享,其表示重建的像素值是(Y,U,V)=(调色板Y[i]、调色板U[i]、调色板V[i])(假设颜色空间是YUV)[0012] 2.2“Copy above模式”:在“copy above模式”中,值“copy_run”(例如,N)被发送以指示对于后续的N个位置(包含当前这个),调色板索引等于上方行中相同位置中的调色板索引。
[0013] 3.残值的传送:阶段2中发送的调色板索引被转换回像素值并用作预测符。残值信息使用HEVC残值编码被发送,并加入到预测用于重建。
[0014] 基于主颜色的(或调色板)编码
[0015] 另一调色板编码技术于JCTVC-O0182(Guo et al.,“AHG8:Major-color-based screen content coding”,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11,15th Meeting:Geneva,CH,23Oct.–1Nov.2013,Document:JCTVC-O0182)中揭示。然而,替代从左边CU预测整个调色板,调色板中的每个条目可以从上方CU或左边CU中精确对应的调色板颜色条目来预测。换句话说,JCTVC-O-0182揭示逐元件调色板预测。线模式的三个类型用于预测每个索引线,即水平模式、垂直模式和正常模式。在水平模式中,相同线中所有索引具有相同的值。如果值与上方像素线的第一像素相同,则仅发送线模式标示比特。否则,也发送索引值。在垂直模式中,当前索引线与上方索引线相同。因此,仅发送线模式标示比特。在正常模式中,线中的索引被每个预测。对于每个索引位置,左边或上面相邻用作预测符,且预测符被发送到解码器。
[0016] 此外,JCTVC-O-0182揭示将像素分类为主颜色像素(具有指向调色板颜色的调色板索引)和例外(escape)像素。对于主颜色像素,解码器根据主颜色索引(也称为调色板索引)和调色板重建像素值。对于例外像素,编码器将进一步发送像素值。
[0017] 调色板表的标示
[0018] 屏幕内容编码(SCC)标准SCM-2.0的参考软件中,改进的调色板方案归并到JCTVC-R0348(Onno,et al.,Suggested combined software and text for run-based palette mode,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11,18th Meeting:Sapporo,JP,July 2014,Document No.:JCTVC-R0348,)。先前的调色板编码的CU的调色板表用作预测符用于当前调色板表编码。在调色板表编码中,当前调色板表通过选择先前的编码的调色板表(调色板预测符)中的哪个调色板颜色被再使用来标示,或通过发送新的调色板颜色来标示。当前调色板的大小设置为预测的调色板的大小(即,numPredPreviousPalette)加上发送的调色板的大小(即,num_signalled_palette_entries)。预测的调色板是从先前重建的调色板编码的CU派生的调色板。当编码当前CU为调色板模式时,不是使用预测的调色板预测的那些调色板颜色直接在比特流中发送(即,标示的条目)。
[0019] 调色板更新的示例显示如下。在此示例中,当前CU编码为具有调色板大小等于六的调色板模式。六个主颜色的三个从调色板预测符(numPredPreviousPalette=3)预测以及三个直接通过比特流发送。发送的三个颜色可以使用以下所示的示范性句法标示。
[0020] num_signalled_palette_entries=3
[0021] 对于(cIdx=0;cIdx<3;cIdx++)//对于不同的分量标示颜色
[0022] 对于(i=0;i
[0023] palette_entries[cIdx][numPredPreviousPalette+i]
[0024] 由于调色板大小在此示例中是六,则调色板索引从0到5用于指示调色板颜色表中的主颜色条目。3个预测的调色板颜色由索引0到2表示。因此,三个新的调色板条目从索引3到5发送。
[0025] 在SCM-2.0中,如果不应用波前平行处理(wavefront parallel processing,WPP),调色板预测符表在每个切片(slice)的开始或在每个块(tile)的开始被初始化(复位)。如果应用WPP,最后编码的调色板表不仅在每个切片的开始或在每个块的开始被初始化(复位),还在每个CTU行的开始被初始化(复位)。
[0026] 波前平行处理(WPP)
[0027] 在HEVC中,支持WPP,其中编码树单元(CTU)的每行可以由多个编码或解码线程并行处理作为子流。为了限制编码效率的降级,波前样式的处理顺序保证空间相邻的依赖性不变。另一方面,在每个CTU行的开始,CABAC状态基于上方CTU行中的同步点的CABAC状态初始化。例如,同步点可以是来自上方CTU行的第二CTU的最后CU,如图1所示,其中平行处理应用到CTU行。此外,假设在此示例中每个当前CTU的调色板编码(在图1中标记为“X”)依赖于其左边、左上、上面和右上CTU。对于顶部CTU行,调色板处理仅仅依据左边CTU。此外,CABAC引擎在每个CTU行的末端清空,且字节对准在每个子流的末端执行。WPP子流的条目点在包含波前的切片的切片头部中标示为字节偏置。
[0028] 在图1中,每个框替代一个CTU,且图片中有四个CTU行。每个CTU行形成可以独立地由编码或解码线程处理的波前子流。“X”符号表示用于多个线程的处理下的当前CTU。由于当前CTU具有右上CTU的依赖性,当前CTU的处理必须等待右上CTU的完成。因此,在相邻CTU行的两个处理线程之间必须有两个CTU延迟,以便数据依赖性(例如,空间像素和MV)可以被保留。此外,每个CTU行的第一CTU的CABAC状态用在上方CTU行的第二CTU处理后获得的状态初始化。例如,第二CTU行中的第一CTU的第一CU(由“p1”指示)在上方CTU行的第二CTU中的最后CU(由“p2”指示)处理完后初始化。依赖性由弯曲的箭头线从“p1”指向“p2”。每个CTU行的第一CTU的类似依赖性由弯曲的箭头指示。此允许沿着CTU的第一列比使用每个CTU行的切片初始化状态更快的概率学习。由于上方CTU行的第二CTU对于当前CTU行总是可用,平行处理可使用此波前结构实现。对于每个当前CTU,处理依据左边CTU。因此,需要等到左边CTU的最后CU处理完成。如图1所示,当前CTU中的第一CU(由“p3”指示)需要等待左边CTU的最后CU(由“p4”指示)完成。再次,依赖性由弯曲的箭头从“p3”指向“p4”来指示。左边CTU的类似依赖性由弯曲的箭头指示用于正在处理的CTU(由“X”指示)。
[0029] 调色板填充
[0030] 在屏幕内容编码(screen content coding,SCC)的软件参考标准,SCM-2.0中,调色板信息是预测编码的。当前CU的调色板预测符通过将先前CU的调色板预测符填充进先前的CU的调色板而生成。图2图示示范性调色板预测。最大调色板预测符大小(即,调色板预测符中颜色的数目)是7。图2显示调色板预测符、再使用旗标(指示来自调色板预测符的哪个颜色被再使用于当前CU的调色板)以及左侧的当前CU的调色板,用于通过将当前CU的调色板预测符填充到当前CU的调色板来生成调色板预测符用于右侧的下一CU。当前调色板包含对应于C3、C5和C8的三个条目。未使用的条目在当前调色板中最后条目后一个接一个填充,直到到达最大调色板预测符大小,以形成下一调色板。
[0031] 根据当前实践,调色板更新过程为每个调色板编码的CU执行。期望开发一种方法,用于减少复杂性或减少与调色板编码关联的存储器而没有明显的性能影响。【发明内容】
[0032] 揭示一种使用共享的调色板/调色板预测符缓冲器的视频数据的框的调色板编码的方法和装置。在解码器侧,系统接收包含与当前调色板编码的框关联的压缩数据的比特流,并确定用于储存在共享的调色板/调色板预测符缓冲器中的当前调色板编码的框的调色板预测符。从比特流解析所述调色板预测符的条目的再使用旗标,再使用旗标指示调色板预测符的对应条目是否被再使用。在再使用旗标解码后,根据再使用旗标更新储存于共享的调色板/调色板预测符缓冲器中的调色板预测符的对应条目,以导致共享的调色板/调色板预测符缓冲器中一个或多个重定位的再使用条目。在更新调色板预测符的对应条目后,将任何标示的新的条目插入到共享的调色板/调色板预测符缓冲器中最后重定位的再使用条目后的位置。更新的调色板预测符通过丢弃超过最大调色板预测符大小的任一条目来生成,且当前调色板通过选择共享的调色板/调色板预测符缓冲器的开始的N个条目来构建,其中N是大于0的整数。例如,N等于共享旗标的数目加上标示的条目的数目。
[0033] 更新当前调色板的对应条目的步骤可包括,如果当前再使用旗标指示条目再使用,则将共享的调色板/调色板预测符缓冲器中的当前对应条目旋转到共享的调色板/调色板预测符缓冲器中先前重定位的再使用条目后的位置,或如果不存在先前重定位的再使用条目,将共享的调色板/调色板预测符缓冲器中的当前对应条目旋转到共享的调色板/调色板预测符缓冲器的开始位置,以及如果当前再使用旗标指示没有条目再使用,则不改变共享的调色板/调色板预测符缓冲器。当前调色板编码的框和下一调色板编码的框可对应于编码单元(CU)。
[0034] 在本发明的另一实施例中,揭示调色板管理和初始化。在高级图片结构中第一调色板编码的框的对应调色板被编码之前,初始化高级图片结构中的调色板预测符。如果调色板模式被选择用于当前框,则使用当前调色板将调色板编码应用于当前框。调色板预测符基于当前调色板来更新,以生成更新的调色板预测符用于调色板模式中编码的下一框。高级图片结构对应于与波前平行处理(WPP)、序列或图片关联的切片、块、波前结构。所述调色板预测符的初始化是基于标示于与高级图片结构的波前平行处理(WPP)、序列级(SPS)或图片级(PPS)关联的对应切片、块、波前结构的初始化值。初始化调色板预测符使用对应于零的初始化值、中间级、根据与高级图片结构的像素关联的亮度、色调或两者确定的派生值。
【附图说明】
[0035] 图1图示当波前平行处理(wavefront parallel processing,WPP)打开时上下文自适应二进制算术编码(context adaptive binary arithmetic coding,CABAC)解析过程的初始化的示例。
[0036] 图2图示根据屏幕内容编码的软件测试模型版本2(SCM-2.0)的来自调色板预测符的调色板派生示例。
[0037] 图3图示调色板表管理的示例,其中调色板表储存于框级,且可以从框复制到框。
[0038] 图4图示根据本发明的实施例的调色板表管理的示例,其中调色板表储存于更高级,且可以由相同更高级中的框共享。
[0039] 图5图示根据本发明的实施例的来自调色板预测符的调色板派生的示例,其中使用共享的调色板/调色板预测符存储器缓冲器。
[0040] 图6图示根据本发明的实施例的使用共享的调色板/调色板预测符存储器缓冲器的调色板派生的示范性流程图。
[0041] 图7图示根据本发明的实施例的调色板管理和初始化的示范性流程图。【具体实施方式】
[0042] 在本发明中,揭示改进调色板编码的性能的各种技术。
[0043] 本发明的一个方面解决调色板初始化用于预测的调色板编码。当预测的编码用于编码跨过不同的框(block)的调色板,先前编码的/解码的调色板用作预测符。然而,某些框,例如,切片/图片中的第一调色板编码的框,可不访问任何先前编码的/解码的调色板。如果使用复位/初始化机制,第一调色板编码的框可参考复位/初始化调色板。在下文中,揭示各种初始化方法用于调色板的初始化。
[0044] 全部初始为零。在本实施例中,在每个切片/图片的开始,调色板对所有颜色表都设置为零。对于复位机制,即,在波前分区或块分区的开始复位调色板,或每个CTU行的开始,调色板复位为均为零。
[0045] 初始化为具体颜色值。在本实施例中,当需要初始化时(例如,每个切片/图片的开始、每个波前/块分区的开始、或每个CTU行的开始),具体值分配给调色板颜色。对于YUV视频格式,U和V分量包含更少的变化并趋于集中于中间级(例如,8位格式的128以及10位格式的512)。例如,用于U和V分量的颜色表可以初始化为等于或非常接近中间级的值。对于Y分量,零或中间级可用于初始化。此外,用于初始化的具体值可以被标示或从高电平(例如,切片头部(SH)、图片参数设置(PPS)或序列参数设置(SPS))派生。
[0046] 标示高级句法(high-level syntax,HLS)中的具体颜色值。
[0047] HLS的各种示例描述如下。
[0048] SPS
[0049] 如较早所提及,中间级初始化对于YUV格式将特别有用。因此,指示序列的颜色格式的高级句法,例如,SPS中的句法元件,可以用于指定调色板的中间级初始化的使用。SPS级中HLS的一个示范性伪代码显示如下。
[0050]
[0051] 中间级可以是8位格式的128以及10位格式的512。
[0052] PPS
[0053] 另一实施例示例是使用PPS以指定调色板的初始化值。此方法对于序列中不同场景设置特别有用。例如,对于黑暗场景中的图片,PPS可指示用低的值初始化调色板(例如,对于全黑是0)。另一方面,对于亮场景中的图片,较高颜色值可用于初始化。用于初始化的精确值可以在PPS中明确地标示。
[0054] 分配初始化值的另一方法是分析图片的色调(hue),以及标示对应用图片的显著颜色的初始化值。在一个示例中,当调色板的初始化需要用于图片的部分(例如,切片、波前或块的开始)时,派生的或在对应PPS中标示的特定初始化值将被使用。
[0055] 切片头部(Slice Header,SH)
[0056] 在此示例中,每个切片的初始化值在切片头部中标示。在每个图片包含仅仅一个切片的特殊情况中,此将等效于使用PPS。当图片中有多个切片时,调色板初始化值选择的精细粒度可以用基于切片头部的规格实现。句法元件加入到SH以指示具体值以用于调色板的初始化。精确值可以以PPS情形中的类似方式来确定,例如,通过分析切片的亮度和/或色调。
[0057] 调色板管理
[0058] 本发明的一个方面解决调色板管理。当预测的编码用于调色板时,调色板预测符需要根据用于调色板编码的框(即,调色板填充)的调色板的选择来更新。因为调色板编码用作框编码模式(例如,PU、CU或CTU模式),直接的调色板管理是保持每个框(例如,PU、CU或CTU)的调色板数据结构。在此情况下,在先前调色板编码的框中储存的调色板预测符需要被复制,以便预测符可由后续框使用用于预测的编码,如图3所示。在先前调色板编码的框中储存的调色板需要被复制用于非调色板编码的框。这样的框级调色板管理是低效率的,因为复制操作需要对所有框重复。当调色板预测符大小很大时,编码时间、存储器使用(因为调色板数据结构为每个框保持)以及功耗(复制操作)可显著地增加。
[0059] 为了改进调色板管理的效率,本发明的实施例管理框级上的调色板。例如,调色板预测符可以在切片级、块级或波前结构级管理。如图4中显示的实施例,调色板预测符在切片级中被管理,且调色板预测符在每个切片的开始被初始化。加粗线框400指示切片边界。上文揭示的具有调色板填充的调色板更新过程可以被使用。对于每个对应切片,调色板预测符保持不变。调色板预测符被保持用于每个对应切片。当切片中的调色板编码的框需要更新调色板时,例如,正被使用的调色板或被替代的调色板中的一些主颜色,储存的调色板将因此被修改(例如,调色板填充)。否则,储存的调色板将简单地保持不变,且不需要从一个框到另一个框来复制。
[0060] 调色板填充中的存储器减少
[0061] 在SCM-2.0中,解码器需要保持2个存储器缓冲器用于调色板填充,其中一个用于当前框的调色板,另一个用于调色板预测符。在本发明的一个实施例中,通过采用共享的存储器缓冲器用于当前调色板和调色板预测符,两个存储器缓冲器减少为一个。在调色板和调色板预测符之间共享缓冲器的示例显示如下。
[0062] 如上所述,现有的系统要求两个存储器缓冲器,如图2所示(即缓冲器1用于保持调色板预测符,缓冲器2用于构成当前调色板并填充以变成更新后的调色板预测符)。显示于图5的单个缓冲器方法的存储器管理用于图2的示例。首先,解码器保持共享的缓冲器以记录预测符,如图5的步骤1所示,其中调色板预测符包含7个条目。然后,解码器解析再使用旗标并根据再使用旗标修改共享的缓冲器,如步骤2所示。如果当前再使用旗标等于0,则解码器什么也不做。如果再使用旗标为值1,则再使用的条目旋转(即,向上移动)到先前的旋转的再使用的条目之后的位置,或如果先前的再使用的条目不存在,则旋转到调色板预测符的开始的位置。在示例中,第三条目,C3是具有再使用旗标值1的第一条目,条目旋转(即,向上移动)到共享的存储器缓冲器的开始位置,如步骤3所示。同时,C1和C2向下移动以填充C3剩下的空缺,如步骤4所示。将C3重新安置到第一位置以及将C1和C2向下移动的操作在本公开中称为“旋转”C3到C1位置。条目C5是具有再使用旗标值1的下一条目。C5旋转(即,向上移动)到先前旋转再使用的条目后的位置。因为先前旋转再使用的条目(即,C3)位于第一位置,C5将被重新安置到共享的存储器缓冲器中的第二位置,如步骤4所示。因此,C5移动到第二位置,以及条目C1、C2和C4向下移动以填充C5剩下的空缺,如步骤5所示。因此,在重新安置再使用的条目后,预测符中的内容显示于步骤5。在此示例中,当前框的调色板的新的条目(即,C8)插入到再使用的条目的位置后(即,C5后)的调色板预测符,如步骤6所示。注意,在插入标示的新颜色后,原始调色板预测符中超过最大调色板预测符大小的条目将被丢弃。在此示例中,最大调色板预测符大小是7。因此,C7被丢弃以及更新的调色板预测符包含{C3,C5,C8,C1,C2,C4,C6}。最后,当前框的调色板是基于前三个条目(两个再使用旗标、加上一个标示的新的条目)以及更新的调色板预测符生成的,如步骤7所示。
[0063] 图6图示根据本发明的实施例的使用共享的调色板/调色板预测符缓冲器的调色板派生(当前和更新的调色板预测符)的示范性流程图。系统接收包含与当前调色板编码的框关联的压缩的数据的比特流,如步骤610所示。比特流可以从存储器(例如,计算机存储器、缓冲器(RAM或DRAM)或其它媒体)或从处理器获取。在步骤620中,调色板预测符为储存于共享的调色板/调色板预测符缓冲器的当前调色板编码的框而确定。调色板预测符的条目的再使用旗标从比特流解析以指示调色板预测符的对应条目是否被再使用,在步骤630中。在步骤640中,在再使用旗标被解码后,储存于共享的调色板/调色板预测符缓冲器中的调色板预测符的对应条目根据再使用旗标更新,以导致共享的调色板/调色板预测符缓冲器中的一个或多个重定位的再使用条目。在步骤650中,在当前调色板的再使用的条目被更新后,一个或多个标示的新条目在共享的调色板/调色板预测符缓冲器中最后重定位的再使用条目后的位置插入。在步骤660中,在新的条目插入后,更新的调色板预测符通过丢弃超过最大调色板预测符大小的任一条目,且在步骤670中当前调色板通过选择共享的调色板/调色板预测符缓冲器中开始的N条目来构建,其中N等于再使用旗标的数目加上标示的条目的数目。在其它实施例中,N可以是1到最大调色板预测符大小之间的任何整数。
[0064] 图7图示根据本发明的实施例的调色板管理和初始化的示范流程图。在步骤710中,系统接收与高级图片结构中当前框关联的输入数据。在步骤720中,高级图片结构中调色板预测符在高级图片结构中第一调色板编码的框的对应调色板之前编码初始化。在步骤730中确定调色板模式是否选择用于当前框。如果结果是“是”,执行步骤740和750。如果结果是“否”,跳过步骤740和750。在步骤740中,使用当前调色板将调色板编码应用到当前框。
在步骤750中,调色板预测符基于当前调色板更新,以在调色板编码应用于当前框后生成更新的调色板预测符用于调色板模式中编码的下一框。
[0065] 显示的流程图旨在图示根据本发明的调色板编码的示例。本领域的技术人员在不背离本发明的精神的情况下,可修改每个步骤、重新安排步骤、拆分步骤、或合并步骤以实践本发明。在本公开中,特定句法和方法已经用于说明示例以实现本发明的实施例。本领域技术人员在不背离本发明的精神的情况下,可通过用等效句法和方法代替上述句法和方法来实践本发明。
[0066] 呈现以上描述以使本领域的普通技术人员能如本文中特定申请和其要求提供的来实践本发明。描述的实施例的各种修改对于本领域技术人员是清楚的,且在此定义的一般原理可以应用于其他实施例。因此,本发明不旨在限于所示和描述的特定实施例,但需符合与本文揭示的原理和新颖特征一致的最广范围。在以上详细描述中,图示各种具体细节以便提供本发明的完整理解。然而,本领域技术人员应理解本发明可以实践。
[0067] 如上所述的本发明实施例可以以各种硬件、软件代码或其组合来实施。例如,本发明的实施例可以是集成于视频压缩芯片的电路或集成于视频压缩软件的程序代码以执行本文描述的处理。本发明的实施例还可执行于数字信号处理器(DSP)上的程序代码以执行本文描述的处理。本发明还可涉及由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(FPGA)执行的多个功能机。这些处理器可以用于通过执行机器可读软件代码或定义本发明实施的特定方法的固件代码执行根据本发明的特定任务。软件代码或固件代码可以用不同的编程语言和不同的格式或风格来开发。软件代码还可为不同的目标平台编译。然而,用于编码以执行根据本发明的任务的软件代码的不同的编码格式、风格和语言以及其他装置将不背离本发明的精神和范围。
[0068] 本发明可以在不背离其精神和实质特性的情况下以其他形式实施。描述的示例在各方面仅仅考虑为说明性的并非限制性的。本发明的范围因此由所附的权利要求而不是上文的描述指示。落入权利要求的等效的意义和范围的所有改变在其范围内。