CN116615753A - 利用分层调色板表生成而进行的调色板模式视频编码 - Google Patents

利用分层调色板表生成而进行的调色板模式视频编码 Download PDF

Info

Publication number
CN116615753A
CN116615753A CN202180064140.3A CN202180064140A CN116615753A CN 116615753 A CN116615753 A CN 116615753A CN 202180064140 A CN202180064140 A CN 202180064140A CN 116615753 A CN116615753 A CN 116615753A
Authority
CN
China
Prior art keywords
palette
palette table
colors
level
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180064140.3A
Other languages
English (en)
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.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
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 ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of CN116615753A publication Critical patent/CN116615753A/zh
Pending legal-status Critical Current

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/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/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/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

本发明提供一种编码器[102],该编码器通过将图像部分[122]递归地分区为层级的分区层次结构来对该部分进行编码。顶部层级具有表示整个部分的单个块,并且每个较低层级具有表示较高层级处的对应较大块的四个较小块。基于相关联的块的像素为每个底部层级块生成调色板表[124]。对于每个相继较高层级,该编码器通过基于来自在下一最低层级处的相关联的四个块的四个调色板表的调色板颜色选择调色板颜色来为每个当前层级块生成调色板表。然后基于从为该分区层次结构生成的该调色板表中选择的最终调色板表来生成颜色索引图[126]。然后使用该最终调色板表和该颜色索引图对该部分的表示进行编码,以生成编码比特流[108]的对应段。

Description

利用分层调色板表生成而进行的调色板模式视频编码
背景技术
某些视频应用程序涉及“屏幕内容”(即计算机生成的图像内容)的传输,诸如远程桌面共享、用于云计算的虚拟桌面基础结构和云游戏应用程序。此类屏幕内容可单独传输,也可作为表示屏幕内容和相机捕获的视频内容的组合的混合内容传输。然而,与相机捕获的视频内容不同,屏幕内容,尤其是“桌面”屏幕内容,通常包含丰富的文本和其他计算机生成的图形,这些图形呈现出清晰的边缘且噪声相对较小。此外,屏幕内容通常在图像的局部区域内表现出较少数量的不同颜色。
已扩展了一些视频编码标准,以利用与相机捕获的视频相比,通常由屏幕内容表现出的相对较少数量的颜色和相对较高的对比度,以提供更有效的屏幕内容编码。例如,ITU-T高效视频编码(HEVC)标准提供了屏幕内容编码(SCC)扩展,该SCC扩展实现了调色板模式,该调色板模式涉及调色板颜色选择,随后基于调色板颜色选择生成颜色索引图。在该过程中,对于包含正在编码的屏幕内容的图像的每个部分(即,对于每个编码单元),编码器识别在该部分中找到的一些最高数量的代表性颜色(例如,前八种颜色),并生成调色板表,该调色板表索引(即,将索引映射到)所识别的代表性颜色中的每种颜色。然后,编码器将图像的该部分中的每个像素替换为调色板表中与该像素的颜色最匹配的调色板颜色的对应索引值,以生成正在编码的图像部分的对应颜色索引图。然后,对调色板表和颜色索引图以及与图像部分中与任何所识别的调色板颜色差异过大的像素(这些像素被称为“逃逸”像素)有关的信息进行编码,以生成编码比特流的对应段,然后将其传输到目标设备。然后,目标设备对比特流进行解码,以获得解码块的调色板表和颜色索引图,并根据这些值和任何相关联的解码残差,有损或无损地恢复原始块。开放媒体视频1联盟(AV1)编码标准提供了类似的调色板模式具体实施。
用于为待编码的给定图像部分生成调色板表的常规过程需要生成整个图像部分的所有像素颜色的单个直方图,然后从该直方图中选择调色板表的代表性颜色。在提供紧凑的比特流的同时,此调色板表生成过程可能是计算密集型的,并且因此在硅面积、吞吐量和功率消耗方面需要相当多的硬件资源。为了说明,上述HEVC-SCC标准提供了编码单元大小,每个编码单元大小为高达128×128个像素,这意味着对于待编码图像的每个此类编码单元,实现常规调色板表生成过程的编码器将需要处理16,384个像素以便为每个128×128编码单元生成对应的直方图,其中根据图像的分辨率,在任何给定图像中都存在数百或甚至数千个编码单元。当编码系统被配置为同时支持多个编码分区时,诸如能够支持基于HEVC标准和其他类似编码标准的典型8×8、16×16、32×32、64×64和128×128编码单元分区中的任一者或全部而对屏幕内容视频的编码,该过程进一步复杂。
附图说明
通过参考附图,本公开被更好地理解,并且其许多特征和优点对于本领域技术人员是显而易见的。在不同附图中使用相同的附图标记表示类似或相同的项目。
图1是根据一些实施方案的具有调色板模式编码器的源设备的框图,该调色板模式编码器利用分层调色板表生成来对包含屏幕内容的视频进行调色板模式编码。
图2是示出根据一些实施方案的使用由图1的调色板模式编码器实现的分层调色板表生成而进行的调色板模式编码过程的流程图。
图3是示出根据一些实施方案的将编码单元分区为层次结构的不同层级处的多组像素块的示例性递归分层分区的图。
图4-1和图4-2是示出根据一些实施方案的使用图3的编码单元的示例性递归分区进行的图2的方法的示例性具体实施的框图。
具体实施方式
基于CU中表示的每个像素的直方图分析或其他聚类的调色板模式编码中编码单元(CU)的调色板表生成的典型方法通常在计算上是禁止的,特别是对于支持多个并发CU分区的较大CU分区或编码器。为了在保持足够的颜色再现准确度的同时降低计算复杂度,本文所述的系统和方法利用分层调色板表生成过程来有效地为待以调色板模式编码的所选CU的一个或多个所选分区大小中的每个分区大小生成调色板表。在这种方法中,所选CU在分区层次结构的不同层级处递归地分区。在顶部层级处,所选的K×K像素的CU由单个K×K像素块表示。顶部层级以下的每个相继层级具有四个较小的像素块,表示下一较高层级处的对应较大像素块。在分区层次结构的底部层级处,编码器为底部层级处的每个块生成调色板表。这些调色板表中的每个调色板表包括代表对应块中存在的像素颜色的一组调色板颜色,并且在至少一个实施方案中经由块中存在的像素颜色的直方图分析、经由k均值、或经由各种其他聚类方法中的任一种聚类方法来选择。此后,对于分区层次结构中的每个相继较高层级,编码器通过基来自与对应于当前层级处的块的下一较低层级处的四个块相关联的四个调色板表的调色板颜色为调色板表选择调色板颜色来为当前层级处的每个块生成调色板表。这也可经由对四个调色板表的调色板颜色的直方图收集或其他聚类来执行。然后在顶部层级处,在该层级处根据下一最高层级处的四个调色板表生成单个调色板表,编码器使用该调色板表来为所选CU生成颜色索引图。然后,编码器使用最终调色板表和颜色索引图对CU的表示进行编码,以生成编码比特流的对应段。
为了使用示例性32×32编码单元分区(即,K=32)和8×8像素的最小块大小进行说明,则将CU指定为顶部层级处的顶部块,并且对于下一最高层级,将顶部块分区为4个第二层级块,每个第二层级块为16×16像素,然后将这些块中的每个块分区为四个第三层级块,每个第三层级块为8×8像素。从最低层级或底部层级(在本示例中为第三层级)开始,编码器使用直方图分析、k均值分析或其他统计分析为该层级处的每个块生成初始调色板表,从而为底部层级生成四个调色板表。为了便于参考,本文描述了利用直方图收集(也标识为直方图分析)的示例性具体实施,但应当理解,除非另外指明,否则对直方图收集/分析的提及应包括对各种聚类方法或其他统计方法(诸如k均值分析)中的任一者的提及。在第二最低分区层次结构层级处,编码器从底部层级处的四个组成块的四个调色板表中表示的调色板颜色中识别一组候选颜色,这些组成块共同构成了第二最低层级处的块。编码器通过对该组候选颜色的统计分析,为第二最低层级处的块确定中间调色板表。为第二最低层级处的三个其他块中的每个块重复该过程,导致为第二最低层级生成四个中间调色板表。然后,在顶部层级处,编码器从第二最低层级处的四个组成块的四个调色板表中表示的调色板颜色中识别一组候选颜色,这些组成块共同构成了顶部层级处的单个块。编码器通过对该组候选颜色的统计分析,为该块(其表示整个CU)确定调色板表。然后,编码器为每个分区层次结构层级估计使用该层级处的对应调色板表对CU进行编码的速率失真成本。然后,将需要最低率失真成本的调色板表指定为CU的“最终”调色板表,并且然后,编码器使用最终调色板表生成所选K×K编码单元的颜色索引图,并对颜色索引图、最终调色板表和存在的任何逃逸像素的任何量化残差进行编码,以生成编码比特流的对应部分,该编码比特流随后可被存储以供以后访问或传输到目标设备,因此目标设备处的解码器对比特流进行解码以恢复编码单元的编码调色板表、颜色索引图和量化残差,并使用恢复的调色板表、颜色索引图和残差来恢复原始CU或其有损表示。
这种用于从为下一较低层级处的组成块生成的调色板表为每个层级处的像素块确定调色板表的分层和递归分区过程通过经由将较低层级处的调色板颜色选择过程整合到较高层级处的调色板颜色选择过程来减少考虑的颜色数量,从而能够实现高效的调色板表生成。为了说明,用于为64×64CU生成调色板表的常规过程将需要编码器对CU中的4,096个像素中的每个像素进行排序和计数,以得到例如八种代表性颜色的调色板表。然而,根据本文描述的分层调色板颜色选择过程,仅像素的小子组在最低层级处以相对小的块为基础进行排序和计数,并且然后下一最高层级处的对应块,仅考虑一个层级处的每个块的代表性颜色的小子组,导致为给定大小的CU生成最终调色板表所需的总体操作更少,并且因此为CU生成调色板表的过程更有效,同时还允许在分区层次结构的每个层级处生成可用于CU的单独分区大小的单独调色板表。
图1示出了根据一些实施方案的具有编码系统102的源设备100,该编码系统采用利用层次和递归生成的调色板表的调色板模式编码过程。源设备100可包括被配置为对包含屏幕内容的视频流进行编码的多种设备中的任一者,包括服务器、个人计算机、平板电脑、蜂窝电话或支持生成屏幕内容以传输到显示设备或存储在显示设备处的各种应用程序中的任一者的其他支持计算的移动设备。此类服务包括例如远程桌面服务、无线显示服务、屏幕共享/协作服务、云游戏服务等。源设备100包括视频源104和编码系统102,以及为了便于说明而从图1中省略的各种其他部件,包括一个或多个无线或有线网络接口、输入/输出(I/O)设备及其控制器、一个或多个处理器、存储器和其他存储部件等。视频源104操作以生成或以其他方式提供由一系列图像106(通常也称为“图片”或“帧”)构成的视频流以供编码系统102编码成对应的比特流108,该比特流被提供用于经由网络接口(未示出)传输到目标设备或以其他方式被提供用于输出,诸如用于存储在本地或联网存储装置(未示出)处以供后续访问使用。视频源104可包括例如:图形处理单元(GPU),该GPU操作以渲染每个图像106中所包括的内容中的一些或全部;解码器,该解码器对表示屏幕内容或其他图像内容的先前编码的视频数据进行解码;等。
在至少一个实施方案中,来自视频源104的流中所包括的图像106中的一些或全部部分或全部由计算机生成的屏幕内容构成,与相机捕获的视频图像相比,该屏幕内容通常在局部区域中表现出更鲜明的对比度和更少的颜色。因此,编码系统102被配置为提供那些图像106的基于调色板的编码(或“调色板模式”编码),这些图像被单独地或作为对应流的一部分识别为包含屏幕内容。为此,编码系统102包括分层调色板表生成器110(为了简洁起见,以下称为“调色板表生成器110”)、颜色索引图生成器112、残差生成器114、离散余弦变换(DCT)量化器116和熵编码器118。部件110、112、114、116和118中的一些或全部可在源设备100处实现为一个或多个处理器,该一个或多个处理器执行存储在系统存储器或另一非暂态计算机可读存储介质中的软件指令并且被配置为操纵一个或更多个处理器以执行本文所述的过程。在其他实施方案中,部件110、112、114、116和118中的一些或全部以硬编码逻辑(例如,专用集成电路或ASIC)、可编程逻辑(例如,可编程逻辑阵列)或其组合来实现。更进一步,在一些实施方案中,部件110、112、114、116和118中的一些或全部以执行软件和硬编码或可编程逻辑的一个或多个处理器的组合来实现。
图2示出了根据一些实施方案的用于使用层次和递归调色板表生成过程对包含屏幕内容的图像进行调色板模式编码的编码系统102的操作的方法200。为了便于说明,在下面描述方法200时,参考图3描绘的CU的示例性层次分区以及图4-1和图4-2描绘的方法200的示例性具体实施。
方法200在框202处开始,其中编码系统102从视频源104接收图像106作为图像流106的一部分。例如,在一些具体实施中,每个图像106在由视频源104生成或以其他方式获得时被缓冲在源设备100的帧缓冲器(未示出)中。对于以下内容,可以假设,所接收的图像106包含充分的屏幕内容以从调色板模式编码中受益。为了说明,在一些实施方案中,在逐CU的基础上采用调色板模式,并且与其他预测模式的速率失真成本相比,编码系统102计算使用调色板模式对当前CU进行编码的速率失真成本,并且如果当前CU表示编码选项的最低速率失真成本,则针对当前CU利用调色板模式编码。否则,在未为图像106指示调色板模式的情况下,则使用合适的常规编码技术(诸如由HEVC发布的编码技术)对图像106进行编码。
此外,在框202处,编码系统102将由图像106表示的J×K像素阵列在逻辑上分区为二维编码单元(CU)122(诸如图1的CU 122-1和122-2)的阵列120(图1)。在某些具体实施中,诸如在ITU-T Rec.H.264标准中,CU的大小都相同(CU通常替代地称为“宏块”)。在其他具体实施中,诸如在ITU-T Rec.H.265HEVC标准中,图像可被分区为多个编码树单元(CTU),其中每个CTU被进一步分区为不同大小的多个CU。为了便于说明,图像106的阵列120的CU 122被描绘为具有相同大小,但在其他具体实施中,阵列120可由不同大小的CU 122构成,诸如在前述CTU配置中。
在框204处,编码系统102选择待编码的图像106的CU 122(例如,图1的CU 122-1)。与各种标准(诸如HEVC标准)一致,首先将图像106分区为多个切片,并且然后将每个切片分区为多个CTU,然后将每个CTU分区为多个CU,然后可按照定义次序进行切片-CTU-CU的选择。在CU 122被选择的情况下,在框206处,调色板表生成器110利用递归和分层调色板表生成过程,其中CU 122在分区层次结构的每个分区层级上以自顶向下的方法递归地分区为大小越来越小的相继像素块,直到在最低分区层级上达到最小块大小。然后,使用自底向上的方法,调色板表生成器110对最低分区层级处的每个块的像素执行直方图收集或其他聚类,以确定一组候选颜色作为调色板颜色包含在每个最低层级块的对应调色板表中。对于第二最低分区层级,来自由第二最低层级块表示的多个最低层级块中的每个最低层级块的调色板表的调色板颜色用作第二最低层级块的候选颜色,并且因此调色板表生成器110对这些候选颜色执行直方图收集或其他聚类,以识别要包含在第二最低层级的块的调色板表中的颜色。对第二最低层级的每个块执行该过程。重复使用为下一较低层级处的每个构成块生成的每个调色板表的调色板颜色作为用于选择下一较高层级的对应块的调色板表的候选颜色的过程,直到分区层次结构的顶部层级(其整体上表示CU 122),此时调色板表生成器110通过对分区层次结构的次高层级处生成的调色板表的调色板颜色的直方图收集或其他聚类来为顶部层级生成调色板表。也就是说,调色板表生成器110通过递归地和层次地整合较小分区的调色板表来为CU 122的较大分区生成中间调色板表。这避免了将CU 122的全部像素作为一个块进行穷举排序和处理以生成调色板表的计算密集型传统过程。在为每个分区层级(例如,8×8像素、16×16像素、32×32像素、64×64像素、128×128像素等)生成候选调色板表的情况下,调色板表生成器110或编码系统102的其他部件然后使用对应的候选调色板表来计算用于对CU 122进行编码的速率失真成本,其中针对每个候选调色板表执行该计算。然后,编码系统102选择表示用于对CU 122进行编码的最低速率失真成本的候选调色板表作为“最终”调色板表124。以下参考图2的扩展过程流207更详细地描述在框206处由编码系统102采用的分层调色板表生成和选择过程的示例性具体实施。
在使用这种层次和递归调色板表生成和选择方法为CU 122确定了最终调色板表124的情况下,在框208处,颜色索引图生成器112基于CU 122的原始像素中的每个原始像素与调色板表124中表示的调色板颜色的比较来执行预测,以生成代表CU 122的像素并被索引到最终调色板表124的颜色索引图126。可采用多种标准或专有技术中的任一者来从最终调色板表124生成颜色索引图126。为了说明,如本领域所理解的,调色板表(诸如最终调色板表124)包括多个条目,其中每个条目具有相关联的索引值和从对应像素块的颜色值的直方图收集或其他聚类中识别的候选颜色中选择的对应调色板颜色。每个调色板颜色例如由三个颜色分量(RGB或YCbCr)构成。因此,为了生成颜色索引图126,对于CU 122的每个像素,颜色索引图生成器在最终调色板表124中搜索具有最小失真的对应调色板颜色,并使用与颜色索引图126的对应位置条目中的所选调色板编号相关联的索引编号来替换像素颜色。为了说明,可以假设,CU 122-1的(1,1)(即,行1,列1)处的像素具有最接近调色板颜色(R150,B50,G75)的颜色,该调色板颜色例如在最终调色板表124的索引1处被找到。在这种情况下,颜色索引图生成器112将在颜色索引图126的(1,1)条目处放置索引值“1”,以表示像素(1,1)的颜色最接近于在最终调色板表124的索引1处找到的调色板颜色。
此外,在一些无损编码具体实施中,由颜色索引图生成器112执行的预测识别:一个或多个像素,该一个或多个像素与调色板颜色不充分相似并且因此需要在最终调色板表124中添加单独的索引;和颜色索引图126中用于表示此类像素的对应识别条目,这些像素通常被称为“逃逸像素”,并且它们的对应索引因此被称为“逃逸”索引。在有损编码具体实施现中,相反,逃逸像素要么被编码为调色板颜色中的一个调色板颜色,要么在量化之后被明确地发信号通知,这通常取决于哪种方法提供了更好的速率失真折衷。
与框208的颜色索引图生成过程同时,在框210处,残差生成器114将原始像素颜色与其所选调色板颜色进行比较,以生成表示差异的残差。然后,由DCT量化器116量化这些残差以生成量化的DCT系数。在框212处,熵编码器118对所选CU 122的调色板表124、颜色索引图126和量化DCT系数进行编码,以编码到比特流108的对应段中。
对于要进行调色板模式编码的图像106的每个CU 122,重复从待编码的图像106中选择下一个CU 122的过程,如框204-212所表示。在所有此类CU已被编码之后,方法200的另一迭代从框202开始重复,其中视频流中的下一个图像106的接收被编码用于传输或存储。
至于编码比特流108的后续解码,可采用与比特流108的编码方式一致的多种标准或专有调色板模式解码过程中的任一者,诸如HEVC-SCC提供的过程。对于表示编码CU的比特流108的每个段,此类过程通常需要调色板模式解码器解码该段以恢复调色板表124、颜色索引图126和表示CU的量化DCT系数。量化的DCT系数被去量化以获得残差的有损或无损表示,并且恢复的调色板表124和颜色索引图与残差一起被用于恢复由原始CU 122表示的像素阵列或其有损表示。
如上所述,框206的过程提供使用层次和递归过程的最终调色板表124的生成,该层次和递归过程有效地整合为分区层次结构的较低层级生成的中间调色板表,以在分区层次结构的较高层级处创建中间调色板表,并从这些候选调色板表中选择表示最低速率失真成本的最终调色板表124以用于对CU 122进行编码。参考图3中表示的示例性层次分区以及图4-1和图4-2中表示的该过程的示例性执行,扩展过程流207示出该过程的示例性具体实施。
框206的过程在框220处开始,其中将在框204处选择的CU 122递归地分区为由最低层级(或底部层级)、最高层级(或顶部层级)构成,并且如果分区层次结构的深度大于两个层级,则由最低层级与最高层级之间的一个或多个中间层级构成的分区层次结构。顶部层级将CU 122的像素阵列整体表示为单个顶部层级块。对于分区层次结构的每个相继较低层级,分层调色板表生成器110将下一较高层级处的每个块分区为相关联的一组四(4)个块,直到在最低层级处达到P×P像素的最小块大小,其中P表示大于1的整数,并且在许多具体实施中是所采用的编码标准所支持的最小CU大小。例如,由于HEVC在CTU中提供8×8像素的最小CU,因此最小块大小P将设定为8。因此,K×K像素的CU 122的分区层次结构中的层级数N基于以下等式1的关系来设定:
K=P*2N-1
因此,如果最小块大小为8×8像素(P=8)且CU 122为16×16像素(K=16),则仅存在两个分区层级(N=2):顶部层级和底部层级。对于最小块大小为8×8像素(P=8)且CU122为128×128像素的情况,将存在五个分区层级(N=5):顶部层级、底部层级及其间的3个中间层级。
为了说明,图3中示出此递归分区的示例。在所示的示例性分区层次结构300中,递归地分区64×64像素CU,直到达到8×8像素的最小块大小。因此,示例性分区层次结构300具有四个分区层(64=8*2^(4-1)→N=4)。CU的整个64×64像素阵列被认为是分区层次结构的顶部层级(层级1)处的单个块(BLK64)。在第一中间层级(层级2)处,将CU的64×64像素分区为对应的一组四个32×32块(BLK[32,0]至BLK[32,3])。在第二中间层级(层级3)处,将第一中间层级处的32×32块中的每一者分区为对应的一组四个16×16块,从而产生第二中间层级处的块BLK[16,0]至BLK[16,15]。如图所示,第一中间层级(层级2)处的块BLK[32,0]被分区为对应的一组块BLK[16,0]、BLK[16,1]、BLK[16,2]和BLK[16,3]。同样,第一中间层级(层级2)处的块BLK[32,1]被分区为块BLK[16,4]、BLK[16,5]、BLK[16,6]和BLK[16,7]等。在分区层次结构300的底部层级(层级4)处,第二中间块处的每个16×16块被分区为对应的一组四个8×8块,从而产生块BLK[8,0]至BLK[8,63]。如图所示,第二中间层级处的BLK[16,0]被分区为一组块BLK[8,0]至BLK[8,3]。BLK[16,1]同样被分区为一组块BLK[8,4]至BLK[8,7]等。
返回到图2,在CU 122递归地分区为从分区层次结构的顶部层级到底部层级大小递减的像素块,使得非底部层级处的每个块由下一较低层级处的四个较小块表示的情况下,在框222处,调色板表生成器110将正在处理的当前层级设置为分区层次结构的底部层级,并为分区层次结构的最低层级的每个块生成单独的调色板表。在至少一个实施方案中,最低层级处的每个块的调色板生成过程包括基于像素颜色的合并对每个块中的像素执行直方图收集,以生成块的像素中存在的像素颜色的对应直方图,并且然后基于对应分格的大小(即,落在每个分格内的像素颜色的数量)选择所呈现的像素颜色中的X的子组作为对应调色板表的调色板颜色。值X是可选择的或以其他方式可编程的,并且通常基于各种参数来选择,包括最小块大小、编码效率、编码比特率等。例如,调色板表通常限于十六种或更少的调色板颜色,其中8或16(即,X=8或X=16)是常见的配置。因此,在图3的示例性分区层次结构300中,调色板表生成器110将分别对底部层级(层级4)处的六十四个8×8像素块中的每个像素块执行用于直方图分析的排序和其他操作,以生成64个单独的直方图,并从这64个单独直方图生成64个独立的调色板表,每个调色板表包括例如多达16个索引调色板颜色。
此后,在框224处,调色板表生成器110向上移动一个层级(即,正在处理的当前层级被设置为下一更高层级)。在框226处,调色板表生成器110基于指定的选择次序(例如,水平扫描或竖直扫描)选择正在处理的当前层级的块。在框228处,调色板表生成器110根据为对应于当前层级的所选块的前一(或更低)层级处的一组块生成的调色板表的调色板颜色,为当前层级处的所选块生成调色板表。在至少一个实施方案中,通过将较低层级块的调色板颜色组合成一组候选调色板颜色,然后执行对该组候选调色板颜色的直方图收集以识别具有最频繁出现的调色板颜色的X个直方图分格,并且基于所识别的X个直方图分格为当前层级处的所选块生成调色板表以包括X个调色板颜色,从对应的一组较低层级块的调色板表为当前层级处的所选块生成调色板表。对于块228的第一次迭代(对于最低中间层级),这需要使用在用于在块222生成的四个最低层级块的调色板表中实现的调色板颜色。对于随后的迭代(对于较高的中间层级或顶层),这需要使用在调色板表中实现的调色板颜色,用于在块228的前一迭代生成的四个下一较低层级的块。因此,应当理解,不是对由当前层级处的所选块表示的CU的所有像素执行直方图收集,而是替代地仅对较低层级块的调色板表的调色板颜色执行直方图收集,这继而在分区层次结构的较高层级处整合更低层级块的调色板表的调色板颜色。因此,与常规全像素直方图分析方法相比,使用此递归方法生成直方图以及因此为像素的J×J块生成调色板表所需的操作显著更少。
在为当前层级处的所选块生成了调色板表的情况下,在框230处,调色板表生成器110确定是否已为当前层级处的每个块生成单独的调色板表。如果否,则为当前分区层级处的CU的下一块执行框226、228和230的块选择和每块调色板表生成过程的另一迭代。否则,如果当前分区层级处的所有块都具有为它们生成的调色板表,则在框232处,调色板表生成器110确定是否剩余任何更高的分区层级;即,当前层级是否是分区层次结构的顶部层级。如果否,则调色板表生成器110返回到框224,并将正在处理的当前层级设置为分区层次结构中的下一更高层级,并且然后针对正在处理的当前层级进行框226-332的块选择和每块调色板表生成过程的另一次迭代。
否则,如果调色板表生成器110已提升了正在编码的CU 122的分区层次结构并处于层次结构的顶层,则在框234处,编码系统102将在分区层次结构的每一层处生成的调色板表指定为候选调色板表,并且然后为候选调色板表中的每个候选调色板表计算用于对CU进行编码的率失真成本。需要最低速率失真成本来对CU 122进行编码的候选调色板表被指定为针对CU 122的最终调色板表124,并且然后由颜色索引图生成器112使用最终调色板表124用于为CU 122生成对应的颜色索引图126,如以上参考框208所述。
现在转到图4-1和图4-2,图2的方法200的示例性具体实施使用如图3所示的针对64×64CU的示例性分区层次结构300。在该示例中,每个调色板表包含多达16个调色板颜色(即,X=16)。对于64×64像素CU,最低分区层级(层级4)为下一最高层级(层级3)的每个16×16块生成一组四个8×8块。对每个8×8块进行统计分析以生成候选像素颜色的对应直方图,并使用该直方图将8×8块中最多16个最频繁出现的像素颜色识别为要在该块的调色板表中索引的调色板颜色。为了说明,图4-1描绘了分别为块BLK[8,0]、BLK[8,1]、BLK[8,2]和BLK[8,3]收集的直方图401-0、401-1、401-2和401-3。调色板表生成器110生成调色板表402-0、402-1、402-2、401-3,其具有多达16个调色板颜色,每个调色板颜色分别基于直方图401-0、401-1、401-2和401-3进行选择。针对其他十五组四个8×8块中的每个块执行此相同过程,导致从分区层次结构300的底部层级(层级5)处的64个8×8块(BLK[8,0]至BLK[863])生成总共64个调色板表。
然后,在分区层次结构300的最低中间层级(层级3)处,调色板表生成器110通过整合为对应于第二层级块的底部层级处的四个8×8块生成的四个分区表,为十六个16×16块(BLK[16,0]至BLK[16,15])中的每个块生成分区表。为了说明,在图4-1中,将调色板表402-0至402-3中的每个调色板表的被索引的调色板颜色组合成一组403多达64个候选颜色(即,每底部层级调色板表多达16个调色板颜色*4个底部层级调色板表)。调色板表生成器110分析此组403以生成代表组403中的候选颜色的出现频率的直方图404(或其他聚类),并且然后使用直方图404中最多16个所表示的像素颜色来为第二层级(层级3)处的16×16块BLK[16,0]生成中间调色板表405-0,该块表示底部层级处的四个8×8块BLK[8,0]至BLK[8,3]。对于最低中间层级处的其他15个16×16块(BLK[161]至BLK[1615]),同样执行该过程。得到四个中间层级调色板块405-0、405-1、405-2和405-3。
向上移动到分区层次结构300中的最高中间层级(层级2),调色板表生成器110通过整合为对应于第三层次块的最低中间层次(层次3)处的四个16×16块生成的四个分区表,针对四个32×32块(BLK[32,0]至BLK[32,3])中的每个块生成分区表。为了说明,在图4-1中,将调色板表405-0至405-3中的每个调色板表的被索引的调色板颜色组合成一组406多达64个候选颜色。调色板表生成器110分析此组406以生成代表组406中的候选颜色的出现频率的直方图407(或其他聚类),并且然后使用直方图407中最多16个所表示的像素颜色来为32×32块BLK[16,0]生成中间调色板表408-0,该块表示底部层级处的四个8×8块BLK[8,0]至BLK[8,3]。对于最高中间层级处的其他三个32×32块(BLK[32,1]至BLK[32,3]),同样执行该过程。转到图4-2,得到四个中间层级调色板块408-0、408-1、408-2和408-3。
此时,调色板表生成器110已前进到CU 122的分区层次结构300的最高或顶部层级(层级1)。因此,调色板表生成器110通过将调色板表408-0至408-3的调色板颜色组合成一组409多达64个候选颜色,整合为最高中间层级(层级2)处的四个32×32块生成的四个分区表408-0至408-3,为顶部分区层次结构生成顶部调色板表412。调色板表生成器110分析此组409以生成代表组409中的候选颜色的出现频率的直方图410(或其他聚类),并且然后使用直方图410中最多16个所表示的像素颜色来生成顶部调色板表412。
如上述示例所示,生成顶部调色板表412的过程涉及64个像素组上的64个直方图收集实例,随后是对来自较低层级调色板表的多达64个候选调色板颜色的直方图收集的三次迭代。应当理解,这比在上述示例的64×64像素CU中表示的整组4,096个像素上的单个直方图集合的传统方法计算复杂度更低。此外,这种层次方法便于选择性地使用不同大小的分区,以基于使用不同分区层级处的不同调色板表中的每个调色板表对CU的编码的速率失真分析来更有效地对CU进行编码。因此,调色板表402-0、402-1、402-2、402-3、405-0、408-0和412中的每一者表示候选调色板表,该候选调色板表可用作用于对CU 122进行编码的最终调色板表124。因此,对于这些候选调色板表中的每个候选调色板表,编码系统102可使用候选调色板表来计算用于对CU 122进行编码的相应速率失真成本,并基于哪个候选调色板表提供最低速率失真成本来选择帧内编码流水线分区大小。
为了说明,对于用于对CU进行编码的8×8帧内编码流水线,层次分区逐渐发展到单一层级,其中为此层级处的8×8块生成的调色板表(例如,为BLK[8,0]生成的调色板表402-0)可用于生成表示CU的颜色索引图411。同样,对于用于对CU进行编码的16×16帧内编码流水线,为16×16分区层级生成的调色板表(例如,针对BLK[16,0]的调色板表405-0)可用于生成表示CU的颜色索引图412。同样地,对于用于对CU进行编码的32×32帧内编码流水线,为32×32分区层级生成的调色板表(例如,针对BLK[32,0]的调色板表408-0)可用于生成表示CU的颜色索引图413等。在图4-1和图4-2的示例中,调色板表412具有最低速率失真成本,并且因此调色板表412被用作最终调色板表124,用于在64×64帧内编码流水线中对CU进行编码以生成颜色索引图126。
如本文所公开,在一些实施方案中,一种用于在源设备处对包含屏幕内容的图像进行编码的方法包括:对于该图像的所选部分,将该部分递归地分区为由多个层级构成的分区层次结构,其中该分区层次结构的顶部层级具有表示该部分的整组像素的单个块,并且该顶部层级以下的每一层级具有表示下一较高层级处的对应较大像素块的四个较小像素块;在该分区层次结构的底部层级处,为该底部层级处的每个块生成调色板表,该调色板表包括代表该对应块中存在的像素颜色的一组调色板颜色;对于该分区层次结构中的每个相继较高层级,通过基于来自与对应于当前层级处的每个块的下一较低层级处的四个块相关联的四个调色板表的调色板颜色,为该当前层级处的该块生成调色板表;从为该分区层次结构的该多个层级生成的该调色板表中选择最终调色板表;基于该最终调色板表为该图像的该部分生成颜色索引图;以及使用该最终调色板表和该颜色索引图对该图像的该部分的表示进行编码,以生成编码比特流的对应段以供该源设备输出。
在一个方面,为该底部层级处的每个块生成调色板表包括:生成表示该块的像素的合并像素颜色的出现频率的第一直方图;以及基于该第一直方图在该调色板表中选择至多指定数量的调色板颜色进行索引。在另一方面,为该分区层次结构中的较高层级处的块生成调色板包括:将与该较高层级处的该块相关联的该四个较低层级块的每个调色板表的该调色板颜色分组为一组候选像素颜色;生成表示合并候选像素颜色的出现频率的第二直方图;以及基于该第二直方图在该调色板表中选择至多该指定数量的调色板颜色进行索引。在另一方面,为该分区层次结构中的较高层级处的块生成调色板包括:将与该较高层级处的该块相关联的该四个较低层级块的每个调色板表的该调色板颜色分组为一种候选像素颜色;生成表示合并候选像素颜色的出现频率的聚类;以及基于该聚类在该调色板表中选择至多指定数量的调色板颜色进行索引。
在一个方面,该底部层级处的该块具有P×P像素的块大小;该图像的该部分具有K×K像素的大小;并且该分区层次结构中的层级数N由表达式K=P*2^(N-1)表示。在另一方面,选择该最终调色板表包括:对于每个候选调色板表,确定用于使用该候选调色板表对该图像的该部分进行编码的对应速率失真成本;以及选择具有该最低对应率失真成本的该候选调色板表作为该最终调色板表。在又一方面,该图像的该部分是编码树单元的编码单元。
在一些实施方案中,一种用于对包含屏幕内容的图像进行编码的设备,该设备包括:调色板模式编码器,该调色板模式编码器被配置为:对于该图像的所选部分,将该部分递归地分区为由多个层级组成的分区层次结构,其中该分区层次结构的顶部层级具有表示该部分的整组像素的单个块,并且该顶部层级以下的每个层级具有表示下一较高层级处的对应较大像素块的四个较小像素块;在该分区层次结构的底部层级处,为该底部层级的每个块生成调色板表,该调色板表包括表示该对应块中存在的像素颜色的一组调色板颜色;对于该分区层次结构中的每个相继较高层级,通过基于来自与对应于当前层级处的每个块的下一较低层级处的四个块相关联的四个调色板表的调色板颜色,为该当前层级处的该块生成调色板表;从该所述分区层次结构的该多个层级生成的该调色板表中选择最终调色板表;基于该最终调色板表为该图像的该部分生成颜色索引图;以及使用该最终调色板表和该颜色索引图对该图像的该部分的表示进行编码,以生成编码比特流的对应段。
在一个方面,该调色板模式编码器被配置为通过以下步骤为该底部层级处的每个块生成调色板表:生成表示该块的像素的合并像素颜色的出现频率的第一直方图;以及基于该第一直方图在该调色板表中选择至多指定数量的调色板颜色进行索引。在另一方面,该调色板模式编码器被配置为通过以下步骤为该分区层次结构中的较高层级处的块生成调色板表:将与该较高层级处的该块相关联的该四个较低层级块的每个调色板表的该调色板颜色分组为一种候选像素颜色;生成表示合并候选像素颜色的出现频率的第二直方图;以及基于该第二直方图在该调色板表中选择至多该指定数量的调色板颜色进行索引。
在一个方面,该调色板模式编码器被配置为通过以下步骤为该分区层次结构中的较高层级处的块生成调色板表:将与该较高层级处的该块相关联的该四个较低层级块的每个调色板表的该调色板颜色分组为一种候选像素颜色;生成表示合并候选像素颜色的出现频率的聚类;以及基于该聚类在该调色板表中选择至多指定数量的调色板颜色进行索引。在另一方面,该调色板模式编码器通过以下步骤选择该最终调色板表:对于每个候选调色板表,确定用于使用该候选调色板表对该图像的该部分进行编码的对应速率失真成本;以及选择具有该最低对应率失真成本的该候选调色板表作为该最终调色板表。在又一方面,该调色板模式编码器包括至少一个处理器和存储器,该存储器用于存储能够由该至少一个控制器执行的指令集。
在一些实施方案中,一种用于在源设备处对包含屏幕内容的图像进行编码的方法包括:通过递归地使用为该图像的该部分的一组较小分区的调色板表选择的调色板颜色作为该图像的该部分的较大分区的候选颜色,为该图像的所选部分的分区层次结构的多个分区中的每个分区生成调色板表;基于从为该图像的该部分生成的该调色板表中选择的调色板表,为该图像的该部分生成颜色索引图;以及使用所选调色板表和该颜色索引图对该图像的该部分的表示进行编码,以生成编码比特流的对应段以供该源设备输出。在另一方面,为该图像的该部分的最小分区生成调色板表包括:生成表示该最小分区的像素的合并像素颜色的出现频率的第一直方图;以及基于该第一直方图在该调色板表中选择至多指定数量的调色板颜色进行索引。在又一方面,为该部分的除该最小分区之外的分区生成调色板表包括:将相关联的接下来的较小分区的每个调色板表的该调色板颜色分组为一组候选像素颜色;生成表示合并候选像素颜色的出现频率的第二直方图;以及基于该第二直方图在该调色板表中选择至多该指定数量的调色板颜色进行索引。
在一个方面,通过以下步骤来选择所选调色板表:对于每个候选调色板表,确定用于使用该候选调色板表对该图像的该部分进行编码的对应速率失真成本;以及选择具有该最低对应率失真成本的该候选调色板表作为所选调色板表。在另一方面,该图像的该部分是编码树单元的编码单元。
在一些实施方案中,一种用于对包含屏幕内容的图像进行编码的设备,该设备包括:调色板模式编码器,该调色板模式编码器被配置为:通过递归地使用为该图像的该部分的一组较小分区的调色板表选择的调色板颜色作为该图像的该部分的较大分区的候选颜色,为该图像的所选部分的分区层次结构的多个分区中的每个分区生成调色板表;基于从为该图像的该部分生成的该调色板表中选择的调色板表,为该图像的该部分生成颜色索引图;以及使用所选调色板表和该颜色索引图对该图像的该部分的表示进行编码,以生成编码比特流的对应段以供该设备输出。
在一个方面,该调色板模式编码器被配置为通过以下步骤为该图像的该部分的最小分区生成调色板表:生成表示该最小分区的像素的合并像素颜色的出现频率的第一直方图;以及基于该第一直方图在该调色板表中选择至多指定数量的调色板颜色进行索引。在另一方面,该调色板模式编码器被配置为通过以下步骤为该部分的除该最小分区之外的分区生成调色板表:将相关联的接下来的较小分区的每个调色板表的该调色板颜色分组为一组候选像素颜色;生成表示合并候选像素颜色的出现频率的第二直方图;以及基于该第二直方图在该调色板表中选择至多该指定数量的调色板颜色进行索引。
在一个方面,该调色板模式编码器被配置为通过以下步骤来选择所选调色板表:对于每个候选调色板表,确定用于使用该候选调色板表对该图像的该部分进行编码的对应速率失真成本;以及选择具有该最低对应率失真成本的该候选调色板表作为所选调色板表。在另一方面,该调色板模式编码器包括至少一个处理器和存储器,该存储器用于存储能够由该至少一个控制器执行的指令集。
在一些实施方案中,上述系统和技术使用一个或多个集成电路(IC)设备(也称为集成电路封装或微芯片)来实现,诸如上文参考图1和图4-2所描述的编码系统102。电子设计自动化(EDA)和计算机辅助设计(CAD)软件工具可以在这些IC设备的设计和制造中使用。这些设计工具通常表示为一个或多个软件程序。一个或多个软件程序包括能够由计算机系统执行的代码,以操纵计算机系统对代表一个或多个IC设备的电路的代码进行操作以执行用以设计或调整制造系统以制造电路的过程的至少一部分。该代码可以包括指令、数据、或指令和数据的组合。代表设计工具或制造工具的软件指令通常存储在计算系统可访问的计算机可读存储介质中。同样,代表IC设备的设计或制造的一个或多个阶段的代码可存储在相同计算机可读存储介质或不同计算机可读存储介质中并从其访问。
计算机可读存储介质可包括在使用期间可由计算机系统访问以向计算机系统提供指令和/或数据的任何非暂态存储介质或非暂态存储介质的组合。此类存储介质可以包括但不限于光学介质(例如,光盘(CD)、数字通用光盘(DVD)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如,随机存取存储器(RAM)或高速缓存)、非易失性存储器(例如,只读存储器(ROM)或闪存存储器)、或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可以嵌入计算系统(例如,系统RAM或ROM)中,固定地附接到计算系统(例如,磁性硬盘驱动器),可移除地附接到计算系统(例如,光盘或基于通用串行总线(USB)的闪存存储器),或者经由有线或无线网络(例如,网络可访问存储装置(NAS))耦接到计算机系统。
在一些实施方案中,上述技术的某些方面由执行软件的处理系统的一个或多个处理器实现。软件包括可执行指令的一个或多个集合,该可执行指令存储在或以其他方式有形地体现在非暂态计算机可读存储介质上。软件可包括指令和某些数据,这些指令和数据在由一个或多个处理器执行时操纵一个或多个处理器以执行上述技术的一个或多个方面。非暂态计算机可读存储介质可包括例如磁盘或光盘存储设备、固态存储设备诸如闪存存储器、高速缓冲存储器、随机存取存储器(RAM)或其他一个或多个非易失性存储器设备等。存储在非暂态计算机可读存储介质上的可执行指令可以是源代码、汇编语言代码、目标代码、或者被一个或多个处理器解释或以其他方式执行的另一指令格式。
应当注意,并非以上在一般描述中描述的所有活动或元件都是必需的,特定活动或设备的一部分可能不是必需的,并且可以执行一个或多个另外的活动,或者除了所描述的那些之外还包括元件。更进一步地,列出活动的顺序不一定是执行它们的顺序。另外,已经参考具体实施方案描述了这些概念。然而,本领域普通技术人员理解,在不脱离如以下权利要求中阐述的本公开的范围的情况下,可以进行各种修改和改变。因此,说明书和附图被认为是说明性的而非限制性的,并且所有此类修改旨在被包括在本公开的范围内。
上文已经关于具体实施方案描述了益处、其他优点和问题的解决方案。然而,益处、优点、问题的解决方案以及可以导致任何益处、优点或解决方案出现或变得更显著的任何特征不应被解释为任何或所有权利要求的关键的、必需的或基本的特征。此外,上文公开的特定实施方案仅是说明性的,因为所公开的主题可以以受益于本文中的教导内容的本领域的技术人员显而易见的不同但等效的方式来修改和实践。除了以下权利要求书中所描述的之外,不旨在对本文所示的构造或设计的细节进行限制。因此,显而易见的是,可以改变或修改上文公开的特定实施方案,并且所有此类变化被认为是在所公开的主题的范围内。因此,本文寻求的保护如以下权利要求中所阐述。

Claims (23)

1.一种用于在源设备处对包含屏幕内容的图像进行编码的方法,所述方法包括:
对于所述图像的所选部分,将所述部分递归地分区为由多个层级构成的分区层次结构,其中所述分区层次结构的顶部层级具有表示所述部分的整组像素的单个块,并且所述顶部层级以下的每个层级具有表示下一较高层级处的对应较大像素块的四个较小像素块;
在所述分区层次结构的底部层级处,为所述底部层级处的每个块生成调色板表,所述调色板表包括代表对应块中存在的像素颜色的一组调色板颜色;
对于所述分区层次结构中的每个相继较高层级,通过基于来自与对应于当前层级处的每个块的下一较低层级处的四个块相关联的四个调色板表的调色板颜色为所述调色板表选择调色板颜色,为所述当前层级处的所述块生成调色板表;
从为所述分区层次结构的所述多个层级生成的所述调色板表中选择最终调色板表;
基于所述最终调色板表为所述图像的所述部分生成颜色索引图;以及
使用所述最终调色板表和所述颜色索引图对所述图像的所述部分的表示进行编码,以生成编码比特流的对应段以供所述源设备输出。
2.根据权利要求1所述的方法,其中为所述底部层级处的每个块生成调色板表包括:
生成表示所述块的像素的合并像素颜色的出现频率的第一直方图;以及
基于所述第一直方图在所述调色板表中选择至多指定数量的调色板颜色进行索引。
3.根据权利要求2所述的方法,其中为所述分区层次结构中的较高层级处的块生成调色板包括:
将与所述较高层级处的所述块相关联的所述四个较低层级块的每个调色板表的所述调色板颜色分组为一组候选像素颜色;
生成表示合并候选像素颜色的出现频率的第二直方图;以及
基于所述第二直方图在所述调色板表中选择至多所述指定数量的调色板颜色进行索引。
4.根据前述权利要求中任一项所述的方法,其中为所述分区层次结构中的较高层级处的块生成调色板包括:
将与所述较高层级处的所述块相关联的所述四个较低层级块的每个调色板表的所述调色板颜色分组为一组候选像素颜色;
生成表示合并候选像素颜色的出现频率的聚类;以及
基于所述聚类在所述调色板表中选择至多指定数量的调色板颜色进行索引。
5.根据前述权利要求中任一项所述的方法,其中:
所述底部层级处的所述块具有P×P像素的块大小;
所述图像的所述部分具有K×K像素的大小;以及
所述分区层次结构中的层级数N由表达式K=P*2^(N-1)表示。
6.根据前述权利要求中任一项所述的方法,其中选择所述最终调色板表包括:
对于每个候选调色板表,确定用于使用所述候选调色板表对所述图像的所述部分进行编码的对应速率失真成本;以及
选择具有最低对应率失真成本的所述候选调色板表作为所述最终调色板表。
7.根据前述权利要求中任一项所述的方法,其中所述图像的所述部分是编码树单元的编码单元。
8.一种用于对包含屏幕内容的图像进行编码的设备,所述设备包括:
调色板模式编码器,所述调色板模式编码器被配置为:
对于所述图像的所选部分,将所述部分递归地分区为由多个层级组成的分区层次结构,其中所述分区层次结构的顶部层级具有表示所述部分的整组像素的单个块,并且所述顶部层级以下的每个层级具有表示下一较高层级处的对应较大像素块的四个较小像素块;
在所述分区层次结构的底部层级处,为所述底部层级处的每个块生成调色板表,所述调色板表包括代表对应块中存在的像素颜色的一组调色板颜色;
对于所述分区层次结构中的每个相继较高层级,通过基于来自与对应于当前层级处的每个块的下一较低层级处的四个块相关联的四个调色板表的调色板颜色为所述调色板表选择调色板颜色,为所述当前层级处的所述块生成调色板表;
从为所述分区层次结构的所述多个层级生成的所述调色板表中选择最终调色板表;
基于所述最终调色板表为所述图像的所述部分生成颜色索引图;以及
使用所述最终调色板表和所述颜色索引图对所述图像的所述部分的表示进行编码,以生成编码比特流的对应段。
9.根据权利要求8所述的设备,其中所述调色板模式编码器被配置为通过以下步骤为所述底部层级的每个块生成调色板表:
生成表示所述块的像素的合并像素颜色的出现频率的第一直方图;以及
基于所述第一直方图在所述调色板表中选择至多指定数量的调色板颜色进行索引。
10.根据权利要求9所述的设备,其中所述调色板模式编码器被配置为通过以下步骤为所述分区层次结构中的较高层级处的块生成调色板表:
将与所述较高层级处的所述块相关联的所述四个较低层级块的每个调色板表的所述调色板颜色分组为一组候选像素颜色;
生成表示合并候选像素颜色的出现频率的第二直方图;以及
基于所述第二直方图在所述调色板表中选择至多所述指定数量的调色板颜色进行索引。
11.根据前述权利要求中任一项所述的设备,其中所述调色板模式编码器被配置为通过以下步骤为所述分区层次结构中的较高层级处的块生成调色板表:
将与所述较高层级处的所述块相关联的所述四个较低层级块的每个调色板表的所述调色板颜色分组为一组候选像素颜色;
生成表示合并候选像素颜色的出现频率的聚类;以及
基于所述聚类在所述调色板表中选择至多指定数量的调色板颜色进行索引。
12.根据前述权利要求中任一项所述的设备,其中所述调色板模式编码器通过以下步骤选择所述最终调色板表:
对于每个候选调色板表,确定用于使用所述候选调色板表对所述图像的所述部分进行编码的对应速率失真成本;以及
选择具有最低对应率失真成本的所述候选调色板表作为所述最终调色板表。
13.根据前述权利要求中任一项所述的设备,其中所述调色板模式编码器包括至少一个处理器和存储器,所述存储器用于存储能够由所述至少一个控制器执行的指令集。
14.一种用于在源设备处对包含屏幕内容的图像进行编码的方法,所述方法包括:
通过递归地使用为所述图像的所选部分的一组较小分区的调色板表选择的调色板颜色作为所述图像的所述部分的较大分区的候选颜色,为所述图像的所述部分的分区层次结构的多个分区中的每个分区生成调色板表;
基于从为所述图像的所述部分生成的所述调色板表中选择的调色板表,为所述图像的所述部分生成颜色索引图;以及
使用所选调色板表和所述颜色索引图对所述图像的所述部分的表示进行编码,以生成编码比特流的对应段以供所述源设备输出。
15.根据权利要求14所述的方法,其中为所述图像的所述部分的最小分区生成调色板表包括:
生成表示所述最小分区的像素的合并像素颜色的出现频率的第一直方图;以及
基于所述第一直方图在所述调色板表中选择至多指定数量的调色板颜色进行索引。
16.根据权利要求15所述的方法,其中为所述部分的除所述最小分区之外的分区生成调色板表包括:
将相关联的接下来的较小分区的每个调色板表的所述调色板颜色分组为一组候选像素颜色;
生成表示合并候选像素颜色的出现频率的第二直方图;以及
基于所述第二直方图在所述调色板表中选择至多所述指定数量的调色板颜色进行索引。
17.根据前述权利要求中任一项所述的方法,其中通过以下步骤来选择所选调色板表:
对于每个候选调色板表,确定用于使用所述候选调色板表对所述图像的所述部分进行编码的对应速率失真成本;以及
选择具有最低对应率失真成本的所述候选调色板表作为所选调色板表。
18.根据前述权利要求中任一项所述的方法,其中所述图像的所述部分是编码树单元的编码单元。
19.一种用于对包含屏幕内容的图像进行编码的设备,所述设备包括:
调色板模式编码器,所述调色板模式编码器被配置为:
通过递归地使用为所述图像的所选部分的一组较小分区的调色板表选择的调色板颜色作为所述图像的所述部分的较大分区的候选颜色,为所述图像的所述部分的分区层次结构的多个分区中的每个分区生成调色板表;
基于从为所述图像的所述部分生成的所述调色板表中选择的调色板表,为所述图像的所述部分生成颜色索引图;以及
使用所选调色板表和所述颜色索引图对所述图像的所述部分的表示进行编码,以生成编码比特流的对应段以供所述设备输出。
20.根据权利要求19所述的设备,其中所述调色板模式编码器被配置为通过以下步骤为所述图像的所述部分的最小分区生成调色板表:
生成表示所述最小分区的像素的合并像素颜色的出现频率的第一直方图;以及
基于所述第一直方图在所述调色板表中选择至多指定数量的调色板颜色进行索引。
21.根据权利要求20所述的设备,其中所述调色板模式编码器被配置为通过以下步骤为所述部分的除所述最小分区之外的分区生成调色板表:
将相关联的接下来的较小分区的每个调色板表的所述调色板颜色分组为一组候选像素颜色;
生成表示合并候选像素颜色的出现频率的第二直方图;以及
基于所述第二直方图在所述调色板表中选择至多所述指定数量的调色板颜色进行索引。
22.根据前述权利要求中任一项所述的设备,其中所述调色板模式编码器被配置为通过以下步骤来选择所选调色板表:
对于每个候选调色板表,确定用于使用所述候选调色板表对所述图像的所述部分进行编码的对应速率失真成本;以及
选择具有最低对应率失真成本的所述候选调色板表作为所选调色板表。
23.根据前述权利要求中任一项所述的设备,其中所述调色板模式编码器包括至少一个处理器和存储器,所述存储器用于存储能够由所述至少一个控制器执行的指令集。
CN202180064140.3A 2020-09-23 2021-09-23 利用分层调色板表生成而进行的调色板模式视频编码 Pending CN116615753A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/029,730 US20220094951A1 (en) 2020-09-23 2020-09-23 Palette mode video encoding utilizing hierarchical palette table generation
US17/029,730 2020-09-23
PCT/IB2021/058691 WO2022064420A1 (en) 2020-09-23 2021-09-23 Palette mode video encoding utilizing hierarchical palette table generation

Publications (1)

Publication Number Publication Date
CN116615753A true CN116615753A (zh) 2023-08-18

Family

ID=80741029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180064140.3A Pending CN116615753A (zh) 2020-09-23 2021-09-23 利用分层调色板表生成而进行的调色板模式视频编码

Country Status (6)

Country Link
US (1) US20220094951A1 (zh)
EP (1) EP4218241A1 (zh)
JP (1) JP2023541466A (zh)
KR (1) KR20230073303A (zh)
CN (1) CN116615753A (zh)
WO (1) WO2022064420A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11770535B2 (en) * 2021-02-19 2023-09-26 Samsung Display Co., Ltd. Systems and methods for joint color channel entropy encoding with positive reconstruction error

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4078085B2 (ja) * 2001-03-26 2008-04-23 キヤノン株式会社 変倍画像生成装置、方法、及びそのコンピュータプログラムとコンピュータ読み取り可能な記憶媒体
US20060204086A1 (en) * 2005-03-10 2006-09-14 Ullas Gargi Compression of palettized images
EP2355037A1 (en) * 2009-12-18 2011-08-10 Nxp B.V. Method of and system for determining an average colour value for pixels
GB2501115B (en) * 2012-04-13 2015-02-18 Canon Kk Methods for segmenting and encoding an image, and corresponding devices
CN114501033B (zh) * 2014-06-20 2023-11-10 寰发股份有限公司 用于视频编码的调色板预测器信令的方法
JP6122516B2 (ja) * 2015-01-28 2017-04-26 財團法人工業技術研究院Industrial Technology Research Institute エンコーディング方法及びエンコーダ
KR102088560B1 (ko) * 2015-01-29 2020-03-12 캐논 가부시끼가이샤 자족식 코딩 구조를 인코딩 또는 디코딩할 때의 팔레트 예측자 초기화기

Also Published As

Publication number Publication date
EP4218241A1 (en) 2023-08-02
US20220094951A1 (en) 2022-03-24
JP2023541466A (ja) 2023-10-02
KR20230073303A (ko) 2023-05-25
WO2022064420A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
CN113475083B (zh) 帧间点云属性编解码的方法和装置
US11010931B2 (en) Method and apparatus for video coding
CN110708560B (zh) 点云数据处理方法和装置
CN113455007B (zh) 帧间点云属性编解码的方法和装置
CN110024392B (zh) 用于视频译码的低复杂度符号预测
CN102017634B (zh) 重新排序的变换系数的多级表示
CN108259901B (zh) 用于对游长编码变换系数进行熵编码的上下文确定
KR20220127323A (ko) 슬라이스별 트리수프 노드 크기
AU2012332327B2 (en) Method and apparatus for image compression storing encoding parameters in 2D matrices
US10003792B2 (en) Video encoder for images
CN108259900B (zh) 针对视频的上下文自适应二进制熵编码的变换系数编码
JP2020527001A (ja) 点群エンコーダ
CN113454691A (zh) 自适应点云属性编解码的方法和装置
JP2015507885A (ja) 変換単位の残差係数のための有意度マップを符号化および復号化する方法、装置およびシステム
Tabus et al. Context coding of depth map images under the piecewise-constant image model representation
CN111316642B (zh) 信令图像编码和解码划分信息的方法和装置
CN113795870B (zh) 一种对点云属性编解码的方法、装置及存储介质
CN105027560A (zh) 确定用于变换系数的二进制码字的方法
EP3343446A1 (en) Method and apparatus for encoding and decoding lists of pixels
KR20190090867A (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
Fan et al. Deep geometry post-processing for decompressed point clouds
CN116615753A (zh) 利用分层调色板表生成而进行的调色板模式视频编码
US10812814B2 (en) Method for intra-coding of a digital image and corresponding decoding method
CN104506860A (zh) 视频编码的参考图像选择方法及系统

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