CN117834892A - 视频编码方法和装置、计算设备、存储介质及程序产品 - Google Patents

视频编码方法和装置、计算设备、存储介质及程序产品 Download PDF

Info

Publication number
CN117834892A
CN117834892A CN202211197925.0A CN202211197925A CN117834892A CN 117834892 A CN117834892 A CN 117834892A CN 202211197925 A CN202211197925 A CN 202211197925A CN 117834892 A CN117834892 A CN 117834892A
Authority
CN
China
Prior art keywords
color
coding
video
pixels
unit
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
CN202211197925.0A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211197925.0A priority Critical patent/CN117834892A/zh
Priority to PCT/CN2023/122197 priority patent/WO2024067736A1/zh
Publication of CN117834892A publication Critical patent/CN117834892A/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/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
    • 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
    • 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/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

Abstract

本公开提供了一种视频编码方法,其包括:将待编码视频帧图像划分为多个编码单元;针对所述多个编码单元中的每一个编码单元,执行下述步骤:确定编码单元的颜色构成,其中,所述颜色构成包括所述编码单元包含的颜色的颜色数;基于所述编码单元的颜色构成,确定所述编码单元的编码模式。此外,本公开还涉及应用了该方法的视频编码装置,以及还涉及用于实现该方法的计算设备、计算机可读存储介质和计算机程序产品。

Description

视频编码方法和装置、计算设备、存储介质及程序产品
技术领域
本公开涉及视频编解码技术领域,具体地,涉及一种视频编码方法,以及应用该方法的视频编码装置,并且还涉及用于实现该方法的计算设备、计算机可读存储介质以及计算机程序产品。
背景技术
随着计算机应用的发展,诸如视频会议、在线教育、远程桌面等应用场景变得越来越普遍。在这些应用场景中,大量地使用了屏幕视频内容形式,包括PPT演示、word文档共享等。屏幕视频是通过截取诸如计算机、手机等电子设备的屏幕显示内容的图像而得到的视频,它与传统的自然视频具有很多明显的区别。例如,屏幕视频中的图像具有非连续色调,而自然视频中的图像具有连续色调。此外,屏幕视频中的图像的局部区域中的颜色数较少、存在大量尖锐的边界、存在大量平坦区域、包含对比度高的文字、存在大量重复的纹理等特性。
由于屏幕视频的固有特性,国际标准组织制定了屏幕压缩的标准——屏幕内容编码(Screen Content Coding,即SCC),SCC是基于高效视频编码标准(High EfficiencyVideo Coding,即HEVC)的扩展版本。相比HEVC,SCC标准增加了适合屏幕压缩的工具,例如,帧内编码模式、帧内块拷贝(Intra Block Copy,即IBC)编码模式、调色板(palette)编码模式。因此,SCC既能够用于对自然视频编码,也能够用于屏幕视频或者具有类似特征的视频进行编码。在编码过程中,可以根据待编码的视频的各编码单元的特点来选择合适的编码模式。在这些模式中,基于调色板模式的编码本身复杂度较高,而且并非视频中的所有编码单元都适合用调色板模式进行编码。
因此,期望提供一种视频编码方法,其能够针对视频的编码单元确定是否适合使用调色板编码模式,并且在编码单元不适合调色板编码模式时快速跳过该模式,从而提高编码效率。
发明内容
根据本公开的第一个方面,提供了一种视频编码方法,包括:将待编码视频帧图像划分为多个编码单元;针对所述多个编码单元中的每一个编码单元,执行下述步骤:确定编码单元的颜色构成,其中,所述颜色构成包括所述编码单元包含的颜色的颜色数;以及,基于所述编码单元的颜色构成,确定所述编码单元的编码模式。
根据本公开的一些示例性实施例,所述确定编码单元的颜色构成包括:对所述编码单元中各个像素的颜色进行聚类处理,以确定所述编码单元包含的颜色的种类;基于所述编码单元包含的颜色的种类生成颜色索引表,其中,所述颜色索引表包括的颜色索引的数量对应于所述颜色数。
根据本公开的一些示例性实施例,所述对所述编码单元中各个像素的颜色进行聚类处理,以确定所述编码单元包含的颜色的种类包括:基于所用的颜色编码,确定所述编码单元中各个像素各自对应的颜色编码值;基于所述编码单元中各个像素各自对应的颜色编码值,确定所述编码单元包含的颜色的种类。
根据本公开的一些示例性实施例,所述颜色编码是YUV颜色编码或者RGB颜色编码。
根据本公开的一些示例性实施例,所述颜色构成还包括所述编码单元包含的各种颜色各自对应的像素数量,并且所述基于所述编码单元的颜色构成,确定所述编码单元的编码模式包括:将所述编码单元包含的各种颜色按照各自对应的像素数量从大到小地进行颜色排序;将所述颜色排序中前M个颜色各自对应的像素数量相加,以生成主要颜色像素数量,其中,M为预先设定的主要颜色数,其为正整数并且小于所述颜色数;基于所述编码单元的像素总数确定调色板编码模式阈值;响应于所述主要颜色像素数量大于或等于所述调色板编码模式阈值,将所述编码单元的编码模式确定为调色板编码模式。
根据本公开的一些示例性实施例,所述视频编码方法还包括:响应于所述主要颜色像素数量小于所述调色板编码模式阈值,确定所述编码单元跳过调色板编码模式。
根据本公开的一些示例性实施例,所述基于所述编码单元的颜色构成,确定所述编码单元的编码模式包括:响应于所述颜色数小于或等于预先设定的颜色数阈值,将所述编码单元的编码模式确定为调色板编码模式。
根据本公开的一些示例性实施例,所述颜色构成还包括所述编码单元包含的各种颜色各自对应的像素数量,并且所述视频编码方法还包括:响应于所述颜色数大于所述颜色数阈值,执行下述步骤:将所述编码单元包含的各种颜色按照各自对应的像素数量从小到大地进行颜色排序;将所述颜色排序中前N个颜色各自对应的像素数量相加,以生成次要颜色像素数量,其中,N为预先设定的次要颜色数,其为正整数并且小于所述颜色数;基于所述编码单元的像素总数确定调色板编码模式阈值;响应于所述次要颜色像素数量小于或等于所述调色板编码模式阈值,将所述编码单元的编码模式确定为调色板编码模式。
根据本公开的一些示例性实施例,所述视频编码方法还包括:响应于所述次要颜色像素数量大于所述调色板编码模式阈值,确定所述编码单元跳过调色板编码模式。
根据本公开的一些示例性实施例,所述颜色构成还包括所述编码单元包含的各种颜色各自对应的像素数量,并且所述视频编码方法还包括:响应于所述颜色数大于所述颜色数阈值,执行下述步骤:将所述编码单元包含的各种颜色按照各自对应的像素数量从大到小地进行颜色排序;将所述颜色排序中前M个颜色各自对应的像素数量相加,以生成主要颜色像素数量,其中,M为预先设定的主要颜色数,其为正整数并且小于所述颜色数;基于所述编码单元的像素总数确定调色板编码模式阈值;响应于所述主要颜色像素数量大于或等于所述调色板编码模式阈值,将所述编码单元的编码模式确定为调色板编码模式。
根据本公开的一些示例性实施例,所述视频编码方法还包括响应于所述颜色数大于所述颜色数阈值,执行下述步骤:响应于所述主要颜色像素数量小于所述调色板编码模式阈值,确定所述编码单元跳过调色板编码模式。
根据本公开的一些示例性实施例,所述基于所述编码单元的像素总数确定调色板编码模式阈值包括:获取预先设定的阈值系数,其中,所述阈值系数与所述像素总数相关联并且小于1;将所述像素总数乘以所述阈值系数,以生成所述调色板编码模式阈值。
根据本公开的一些示例性实施例,所述基于所述编码单元的像素总数确定调色板编码模式阈值包括:获取预先设定的像素偏差数量,其中,所述像素偏差数量与所述像素总数相关联并且小于所述像素总数;将所述像素总数减去所述像素偏差数量,以生成所述调色板编码模式阈值。
根据本公开的第二个方面,提供了一种视频编码装置,包括:编码单元确定模块,其被配置成:将待编码视频帧图像划分为多个编码单元;编码模式确定模块,其被配置成:针对所述多个编码单元中的每一个编码单元:确定编码单元的颜色构成,其中,所述颜色构成包括所述编码单元包含的颜色的颜色数;基于所述编码单元的颜色构成,确定所述编码单元的编码模式。
根据本公开的第三个方面,提供了一种计算设备,其包括处理器和存储器,所述存储器被配置成存储计算机可执行指令,所述计算机可执行指令被配置成当在所述处理器上执行时,使所述处理器执行根据本公开的第一个方面及其各示例性实施例所述的视频编码方法。
根据本公开的第四个方面,提供了一种计算机可读存储介质,其被配置成存储计算机可执行指令,所述计算机可执行指令被配置成当在处理器上执行时,使所述处理器执行根据本公开的第一个方面及其各示例性实施例所述的视频编码方法。
根据本公开的第五个方面,提供了一种计算机程序产品,其包括计算机可执行指令,所述计算机可执行指令被配置成当在处理器上执行时,使所述处理器执行根据本公开的第一个方面及其各示例性实施例所述的视频编码方法。
在根据本公开一些实施例的视频编码方法和装置中,可以针对待编码视频帧图像中的各个待编码单元进行编码模式预判,即根据待编码单元的颜色构成情况快速准确地选择适当的编码模式或跳过特定编码模式(例如只在适合使用调色板编码模式的编码单元中将其编码模式确定为调色板编码模式),由此,能够提高视频编码决策的速度,从而显著提升了视频编码效率。
附图说明
下面将结合附图对本公开的具体实施例进行详细的描述,以便能够对本公开的更多细节、特征和优点具有更加充分的认识和理解;在附图中:
图1示意性地示出了一种应用了视频编码的应用场景;
图2示意性地示出了待编码视频中的一帧图像;
图3以流程图的形式示意性地示出了根据本公开的一些示例性实施例的视频编码方法;
图4根据本公开的一些示例性实施例,示出了图3所示的视频编码方法的更多细节;
图5示意性地示出了对一个编码单元包含的颜色的聚类处理以及基于该聚类处理的结果生成的颜色索引表;
图6根据本公开的一些示例性实施例,示出了图3所示的视频编码方法的更多细节;
图7a和图7b根据本公开的一些示例性实施例,分别示出了图6所示的视频编码方法的更多细节;
图8根据本公开的一些示例性实施例,示出了图3所示的视频编码方法的更多细节;
图9其以框图的形式示意性地示出了根据本公开的一些示例性实施例的视频编码装置的结构;
图10以框图的形式示意性地示出了根据本公开的一些实施例的一种计算设备的结构。
应理解的是,附图中显示的内容都仅仅是示意性的,因此,其不必按照比例进行绘制。此外,在全部附图中,相同或相似的特征由相同或相似的附图标记指示。
具体实施方式
下文中的描述提供了本公开的各示例性实施例的具体细节,以使本领域的技术人员能够充分理解以及实施根据本公开的各示例性实施例描述的技术方案。
编码单元:编码单元(Coding Unit,即CU)也被称作编码块。在获取到待编码的视频之后,编码器会首先根据亮度和色度将视频的当前帧划分成多个编码树单元(CodingTree Unit,即CTU),然后,每个编码树单元会被进一步划分为尺寸相同或不同的多个编码单元。每个编码单元都具有一定尺寸,例如为8×8的像素阵列、16×16的像素阵列或者32×32的像素阵列等等。根据需要,每个编码单元还可以被进一步划分为一个或多个编码子单元。
调色板模式:调色板模式也被称为是颜色索引模式,其通过给每一个像素分配一个固定的颜色值,并将这些颜色值储存在表中,从而建立起颜色索引。该存储有颜色值的表也被称作调色板。调色板模式对于只含有少数几种颜色的图像块非常高效,这是因为相比于传统的对块进行预测变换处理,调色板模式只需要对每个像素传输其颜色索引,解码器利用颜色索引和存储有颜色值的表就能够重建该图像块。
参见图1,示意性地示出了一种应用了视频编码的应用场景。如图1所示,应用场景100可以包括多个设备,例如,可以包括第一设备110、第二设备120、第三设备130以及第四设备140,这些设备可以通过网络150彼此通信。在应用场景100中,第一设备110和第二设备120可以执行单向数据传输。例如,第一设备110可以对视频数据(例如,由第一设备110采集的视频图片流)进行编码,以通过网络150传输到第二设备120,已编码的视频数据以一个或多个已编码视频码流的形式传输。第二设备120则可以从网络150接收已编码的视频数据,对已编码的视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。单向数据传输在媒体服务等应用中是较常见的。此外,应用场景100中,第三设备130和第四设备140可以执行已编码视频数据的双向传输。双向传输可以在例如视频会议、在线教育、远程桌面控制等期间发生。对于双向数据传输,第三设备130和第四设备140中的每个设备可以对视频数据(例如,由这些设备采集的视频图片流)进行编码,并通过网络150传输到第三设备130和第四设备140中的另一设备。第三设备130和第四设备140中的每个设备还可接收由第三设备130和第四设备140中的另一设备传输的已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并且可根据恢复的视频数据在显示装置上显示视频图像。
应理解的是,图1中的第一设备110、第二设备120、第三设备130以及第四设备140可以是服务器、个人计算机、智能电话、膝上型计算机、平板电脑、媒体播放器、视频会议设备、车载智能终端、或者任何其他能够提供视频服务的设备,本公开对此不作任何限制。网络150可以是在这些设备之间传送已编码视频数据的任何合适的网络,包括有线和/或无线通信网络。通信网络可以是在电路交换和/或分组交换信道中交换数据的任何合适的通信网络,包括但不限于电信网络、局域网、广域网和/或因特网,本公开对此也不作任何限制。
在应用场景100中,各个设备之间传输的视频数据可以是对设备的屏幕显示内容进行截取的图像而得到的视频。这种视频中的图像可以具有下述特性中的一种或多种,即:具有非连续色调;局部区域中的颜色数较少;存在大量尖锐的边界;存在大量平坦区域;包含对比度高的文字;存在大量重复的纹理,等等。当然,应用场景100中的各个设备之间传输的视频数据也可以是自然视频,其图像具有连续色调。应理解的是,根据本公开的视频编码方法既可应用于屏幕视频或具有类似特征的视频,也可应用于自然视频。
参见图2,其示意性地示出了待编码视频中的一帧图像。图像200例如可以是视频通话过程中通过屏幕共享来向对方共享设备屏幕上的内容,例如文档、网页等等。从图2中可见,图像200的许多区域中的颜色数较少,例如,图像200的文字区域中的内容主要包含两种颜色;此外,图像200的多个区域中存在对比明显的边界,例如,不同色块之间的边界,以及各个子图块与背景之间的边界,等等。同时,图像200中也存在包含较多颜色的区域,例如各个子图块中显示的内容。因此,在对图像200进行视频编码时,针对其中对应于不同区域的编码单元,应当选择合适的编码方式,以获得最佳的视频编码性能。
作为非限制性示例,在相关技术中,在屏幕视频或具有类似特征的视频进行编码的过程中,当进行I帧编码时(I帧为帧内预测帧),可以依次对传统的帧内编码模式(包括DC,planar模式,以及基于方向的预测模式,这里简称为IPM)、IBC编码模式以及调色板编码模式进行遍历,从中选择编码代价最小的模式作为当前编码单元的最佳编码模式。在这些编码模式中,因为基于调色板编码模式的编码的复杂度较高,而且并非视频中的所有编码单元都适合用调色板编码模式进行编码,所以,针对视频中不适合使用调色板编码模式的编码单元,可以快速跳过采用该模式的编码,以便能够提高视频编码决策的速度,从而改善用户的体验。
参见图3,其以流程图的形式示意性地示出了根据本公开的一些示例性实施例的视频编码方法。如图3所示,视频编码方法300包括步骤310、320、330、340、350、360和370。
具体而言,视频编码方法300在步骤310处开始。在步骤320,视频编码方法300将待编码视频帧图像划分为多个编码单元,换言之,将从待编码视频中获取的待编码的一帧图像划分为待编码的多个编码单元。待编码视频包括多帧图像,因此,在获取到待编码视频之后,编码装置会顺序地从所述多帧图像中获取一帧图像进行编码处理。应理解的是,在本公开中,从所述多帧图像中获取的一帧图像也被称为待编码视频帧图像,并且如无相反的声明,下文中将会一直使用术语“待编码视频帧图像”。针对待编码视频帧图像,编码装置会根据亮度和色度将该帧图像划分为多个编码树单元,然后每个编码树单元会被进一步划分为尺寸相同或不同的多个编码单元。每个编码单元都具有一定尺寸,例如为8×8的像素阵列、16×16的像素阵列或者32×32的像素阵列,等等。应理解的是,将待编码视频帧图像划分为多个编码单元的任何合适的方式都可以被应用于步骤320,本公开对此不作限制。
步骤330用于确定编码单元的颜色构成,其中,所述颜色构成包括所述编码单元包含的颜色的颜色数。换言之,针对编码单元中每一个像素确定其用到的颜色,然后基于各个像素的颜色,确定该编码单元的颜色构成。应理解的是,用于确定编码单元的颜色构成的任何合适的方法都可以应用于步骤330,本公开对此不作限制。
参见图4,其根据本公开的一些示例性实施例,进一步示出了图3所示的视频编码方法300的步骤330的细节。如图4所示,根据本公开的一些示例性实施例,步骤330可以包括步骤330-1和330-2,具体而言:
在步骤330-1,对所述编码单元中各个像素的颜色进行聚类处理,以确定所述编码单元包含的颜色的种类;
在步骤330-2,基于所述编码单元包含的颜色的种类生成颜色索引表,其中,所述颜色索引表包括的颜色索引的数量对应于所述颜色数。
步骤330-1实质上是确定编码单元中各个像素的颜色,并且对所确定的各个像素的颜色进行分类,以确定编码单元包含的颜色的种类。在本公开的一些示例性实施例中,可以基于所用的颜色编码,确定所述编码单元中各个像素各自对应的颜色编码值,然后基于所述编码单元中各个像素各自对应的颜色编码值,确定所述编码单元包含的颜色的种类。应理解的是,颜色编码可以是任何合适的颜色编码,例如,可以采用视频编解码技术领域中已知的YUV颜色编码或者RGB颜色编码。
步骤330-2基于所确定的编码单元包含的颜色的种类,可以给各种颜色分别赋予对应的索引值,以生成所述各种颜色的颜色索引表。应理解的是,在本公开中,术语“颜色数”是指颜色的种类的数量,换言之,具有几种颜色。因此,颜色索引表包括的颜色索引的数量对应于编码单元包含的颜色的颜色数。在本公开中,颜色索引表也可以被称作调色板,其针对所用到的每一种颜色都建立了索引。因此,一旦编码单元的编码模式被确定为调色板编码模式,那么颜色索引表就可以很方便地被用于后续的编码环节中。
参见图5,其示意性地示出了对一个编码单元包含的颜色的聚类处理以及基于该聚类处理的结果生成的颜色索引表。如图5中的左侧视图所示,该编码单元是一个4×4的像素阵列,基于YUV颜色编码可以确定其中各个像素具有的颜色,并且显示了这些颜色在编码单元的全部像素中的分布情况。在图5的右侧视图所示的表中,针对每一种颜色建立了颜色索引,即Index0、Index1、Index2和Index3,其中,每一个索引对应于一种颜色。例如,颜色索引Index0表示该编码单元中Y、U、V值分别为240、80、80的颜色。从图中的左侧视图可见,每一个像素上的数字对应于右侧的颜色索引表中的一个颜色索引值。由此可见,颜色索引表不仅描述了该编码单元中用到的颜色的种类,而且还记录了该编码单元包含的颜色的颜色数(其与颜色索引表包括的颜色索引的数量对应)。
继续参见图3,视频编码方法300在步骤340处,基于所述编码单元的颜色构成,确定所述编码单元的编码模式。应理解的是,编码单元的颜色构成可以包括各种信息,不仅可以包括编码单元包含的颜色的颜色数,还可以包括编码单元包含的各种颜色各自对应的像素数量,等等。本公开对此不作限制。
参见图6,其根据本公开的一些示例性实施例,进一步示出了图3所示的视频编码方法的细节。如图6所示,根据本公开的一些示例性实施例,步骤340可以包括步骤340-1、340-2、340-3和340-4,具体而言:
在步骤340-1,将所述编码单元包含的各种颜色按照各自对应的像素数量从大到小地进行颜色排序;
在步骤340-2,将所述颜色排序中前M个颜色各自对应的像素数量相加,以生成主要颜色像素数量,其中,M为预先设定的主要颜色数,其为正整数并且小于所述颜色数;
在步骤340-3,基于所述编码单元的像素总数确定调色板编码模式阈值;以及
在步骤340-4,响应于所述主要颜色像素数量大于或等于所述调色板编码模式阈值,将所述编码单元的编码模式确定为调色板编码模式。
在图6所示的方法中,编码单元的颜色构成还包括该编码单元包含的各种颜色各自对应的像素数量,也就是说,可以分别统计编码单元包含的各种颜色各自对应的像素数量。以图5所示的情形为例,在图5所示的编码单元中,颜色Index0对应的像素数量为6,颜色Index1对应的像素数量为6,颜色Index2对应的像素数量为2,颜色Index3对应的像素数量为2。在确定了编码单元包含的各种颜色各自对应的像素数量的情况下,执行步骤340-1、340-2、340-3和340-4。
步骤340-1用于按照已经确定的各种颜色对应的像素数量,对这些颜色进行颜色排序。在图6所示的示例性实施例中,颜色排序是按照像素数量的从大到小的顺序建立的。仍然以图5所示的情形为例,在图5所示的编码单元中,按照像素数量的从大到小的顺序建立的颜色排序可以是:Index0:6; Index1:6; Index2:2; Index3:2。然而,按照从小到大的顺序建立序列也是可能的,这一点将在下文中再详细描述。在步骤340-2,对使用较多的主要颜色对应的像素数量进行累加,从而生成主要颜色像素数量。主要颜色像素数量实质上反映了主要颜色在编码单元包含的颜色中的占比。作为非限制性示例,可以根据实际需要并且基于经验来预先设定主要颜色数M,其中,M为正整数并且小于编码单元包含的颜色的颜色数。当主要颜色数M被设定后,可以从颜色排序的最大值开始取前M个颜色对应的像素数量进行累加,从而生成主要颜色像素数量。还是以图5所示的情形为例,如果主要颜色数M被预先设置为2,那么从颜色排序中取Index0:6和Index1:6两个颜色对应的像素数量相加,从而得到该示例中的主要颜色像素数量为12。步骤340-3用来基于编码单元的像素总数确定调色板编码模式阈值。因为从待编码视频帧图像中划分得到的编码单元的尺寸会存在不同(也就是说,可能包括不同尺寸大小的像素阵列),所以调色板编码模式阈值与编码单元的像素总数相关联。
参见图7a和图7b,其根据本公开的示例性实施例,分别进一步示出了图6所示的视频编码方法的细节。如图7a所示,根据本公开的一些示例性实施例,步骤340-3可以包括步骤340-3-a1和340-3-a2,具体而言:
在步骤340-3-a1,获取预先设定的阈值系数,其中,所述阈值系数与所述像素总数相关联并且小于1;
在步骤340-3-a2,将所述像素总数乘以所述阈值系数,以生成所述调色板编码模式阈值。
应理解的是,阈值系数可以是根据实际需要并且基于经验而预先设定的,并且其与编码单元的像素总数相关联。作为非限制示例,当编码单元的像素总数为64个时,阈值系数可以为0.7,当编码单元的像素总数为256个时,阈值系数可以为0.8,并且当编码单元的像素总数为1024个时,阈值系数可以为0.8。由此,基于各种编码单元的像素总数和相关联的预先设定的阈值系数,就能够获得与该编码单元对应的调色板编码模式阈值。
此外,如7b所示,根据本公开的一些示例性实施例,步骤340-3可以包括步骤340-3-b1和340-3-b2,具体而言:
在步骤340-3-b1,获取预先设定的像素偏差数量,其中,所述像素偏差数量与所述像素总数相关联并且小于所述像素总数;
在步骤340-3-b2,将所述像素总数减去所述像素偏差数量,以生成所述调色板编码模式阈值。
同样应理解的是,像素偏差数量也可以是根据实际需要并且基于经验而预先设定的,并且与编码单元的像素总数对应。例如,当编码单元的像素总数为64个时,像素偏差数量可以为10,当编码单元的像素总数为256个时,像素偏差数量可以为51,并且当编码单元的像素总数为1024个时,像素偏差数量可以为204。由此,基于各种编码单元的像素总数和相关联的预先设定的像素偏差数量,就能够获得与该编码单元对应的调色板编码模式阈值。此外,在本示例中,利用预先设定的像素偏差数量和编码单元的像素总数,只需要使用减法运算就能够得到对应的调色板编码模式阈值,其运算更加简单,因此效率更高。
继续参见图6,在步骤340-4中,响应于所述主要颜色像素数量大于或等于所述调色板编码模式阈值,将所述编码单元的编码模式确定为调色板编码模式。主要颜色像素数量反映了主要颜色在编码单元包含的颜色中的占比。因此,当确定编码单元中包含的颜色中主要颜色占有较大比例时(即,满足调色板编码模式阈值的要求时),那么可以将编码单元的编码模式确定为调色板编码模式。
由此可见,利用图3、图4、图6、图7a、图7b所示的方法,可以针对视频的待编码视频帧图像中的各个编码单元进行预判,并且只在适合使用调色板编码模式的编码单元中将其编码模式确定为调色板编码模式,由此,能够提高视频编码决策的速度,从而改善用户的体验。
此外,在根据本公开的一些示例性实施例中,图6所示的编码方法还可以包括步骤:响应于所述主要颜色像素数量小于所述调色板编码模式阈值,确定所述编码单元跳过调色板编码模式。
参见图8,其根据本公开的一些示例性实施例,进一步示出了图3所示的视频编码方法的细节。如图8所示,根据本公开的一些示例性实施例,步骤340可以包括步骤340-1'、340-2'、340-3'、340-4'、340-5'和340-6'。这些步骤可以分为两个分支,即第一分支(包括步骤340-1'、340-2')和第二分支(包括步骤340-1'、340-3'、340-4'、340-5'、340-6')。下面分别就这两个分支来描述图8所示的方法。
在第一分支中:在步骤340-1',判断所述编码单元包含的颜色的颜色数是否小于或等于预先设定的颜色数阈值;在步骤340-2',响应于所述颜色数小于或等于预先设定的颜色数阈值,将所述编码单元的编码模式确定为调色板编码模式。颜色数阈值可以根据实际需要并且基于经验而预先设定,例如,颜色数阈值可以被设置为2,这意味着编码单元中仅包含两种颜色,因而适用调色板编码模式。因此,当确定编码单元中包含的颜色的颜色数小于或等于预先设定的颜色数阈值时,可以将编码单元的编码模式确定为调色板编码模式。由此可见,在该分支所示的方法中,可以基于编码单元包含的颜色的颜色数,利用预先设定的颜色数阈值,更加快捷地确定该编码单元是否适于应用调色板编码模式。
第二分支包括步骤340-1'、340-3'、340-4'、340-5'和340-6',具体而言:
在步骤340-1',判断所述编码单元包含的颜色的颜色数是否小于或等于预先设定的颜色数阈值;并且响应于所述编码单元中包含的颜色的颜色数大于预先设定的颜色数阈值时,执行步骤340-3'、340-4'、340-5'和340-6':
在步骤340-3',将所述编码单元包含的各种颜色按照各自对应的像素数量从小到大地进行颜色排序;
在步骤340-4',将所述颜色排序中前N个颜色各自对应的像素数量相加,以生成次要颜色像素数量,其中,N为预先设定的次要颜色数,其为正整数并且小于所述颜色数;
在步骤340-5',基于所述编码单元的像素总数确定调色板编码模式阈值;以及
在步骤340-6',响应于所述次要颜色像素数量小于或等于所述调色板编码模式阈值,将所述编码单元的编码模式确定为调色板编码模式。
步骤340-3'与前面已经详细描述的步骤340-1类似,在此不再赘述。步骤340-4'用于按照编码单元中已经确定的各种颜色对应的像素数量,为这些颜色建立颜色排序,但是在本示例性实施例中,该颜色排序按照像素数量的从小到大的顺序来建立。以图5所示的情形为例,在图5所示的编码单元中,按照像素数量的从小到大的顺序建立的颜色排序可以是:Index3:2; Index2:2; Index0:6; Index1:6。在步骤340-4',对使用较少的次要颜色对应的像素数量进行累加,以生成次要颜色像素数量。次要颜色像素数量实质上反映了次要颜色在编码单元包含的颜色中的占比。作为非限制性示例,可以根据实际需要并且基于经验来预先设定次要颜色数N,其中,N为正整数并且小于编码单元包含的颜色的颜色数。当次要颜色数N被设定后,可以从颜色排序的最小值开始依次取前N个颜色对应的像素数量进行累加,从而生成次要颜色像素数量。还是以图5所示的情形为例,如果次要颜色数N被预先设置为2,那么从颜色排序中取Index3:2和Index2:2两个值相加,从而得到该示例中的次要颜色像素数量为4。
步骤340-5'用来基于编码单元的像素总数确定调色板编码模式阈值。与前面已经详细描述的步骤340-3类似,步骤340-5'同样可以应用图7a和图7b中描述的步骤来确定调色板编码模式阈值,在此不再赘述。但是,应当理解的是,因为在第二分支中是针对编码单元中包含的次要颜色进行考虑,所以无论是阈值系数还是像素偏差数量,其与针对编码单元中包含的主要颜色进行考虑的情形(如图6所示的情形)会有所区别。作为非限制性,在针对编码单元包含的次要颜色进行考虑的情况下,当基于阈值系数来确定调色板编码模式阈值时,当编码单元的像素总数为64个时,阈值系数可以为0.3,当编码单元的像素总数为256个时,阈值系数可以为0.2,并且当编码单元的像素总数为1024个时,阈值系数可以为0.2;当基于像素偏差数量时,当编码单元的像素总数为64个时,像素偏差数量可以为54,当编码单元的像素总数为256个时,像素偏差数量可以为205,并且当编码单元的像素总数为1024个时,像素偏差数量可以为820。
在步骤340-6',响应于所述次要颜色像素数量小于或等于所述调色板编码模式阈值,将所述编码单元的编码模式确定为调色板编码模式。次要颜色像素数量反映了次要颜色在编码单元包含的颜色中的占比。因此,当确定编码单元包含的颜色中次要颜色占有较小比例时(即,满足调色板编码模式阈值的要求时),那么可以将编码单元的编码模式确定为调色板编码模式。
由此可见,利用图3、图4、图7a、图7b、图8所示的方法,可以针对视频的待编码视频帧图像中的各个编码单元进行预判,并且只在适合使用调色板编码模式的编码单元中将其编码模式确定为调色板编码模式,由此,能够提高视频编码决策的速度,从而改善用户的体验。
在根据本公开的一些示例性实施例中,图8所示的编码方法还可以包括步骤:响应于所述次要颜色像素数量大于所述调色板编码模式阈值,确定所述编码单元跳过调色板编码模式。
此外,还应理解的是,上述第一分支中包括的步骤(即,步骤340-1'、340-2')也可以与图6所示的方法结合在一起使用。也就是说,可以先基于编码单元包含的颜色的颜色数,利用预先设定的颜色数阈值,确定该编码单元是否适于应用调色板编码模式;并且,当编码单元包含的颜色的颜色数大于颜色数阈值阈值时,执行图6所示的方法的步骤340-1、340-2、340-3和340-4。进一步地,在这种组合方式下的方法还可以包括步骤:响应于所述主要颜色像素数量小于所述调色板编码模式阈值,确定所述编码单元跳过调色板编码模式。
继续参见图3,视频编码方法300在步骤350处判断是否已经为所有编码单元确定了编码模式。如果已经为所有编码单元确定了编码模式,那么视频编码方法300在步骤370处结束。如果还没有为所有编码单元确定编码模式,那么视频编码方法300将对下一个编码单元(步骤360)重复执行步骤330、340,以便为该编码单元确定编码模式。视频编码方法300将循环执行步骤330至360,直到已经为所有编码单元确定了编码模式,然后视频编码方法300在步骤370处结束。
由此可见,利用图3所示的方法,可以针对视频的待编码视频帧图像中的各个编码单元进行预判,即根据待编码单元的颜色构成情况快速准确地选择适当的编码模式或跳过特定编码模式(例如只在适合使用调色板编码模式的编码单元中将其编码模式确定为调色板编码模式),由此,能够提高视频编码决策的速度,从而显著提升了视频编码效率。
参见图9,其以框图的形式示意性地示出了根据本公开的一些示例性实施例的视频编码装置的结构。视频编码装置400可以被应用于图1所示的各种设备中,并且可以应用于本公开描述的各种场景。如图9所示,视频编码装置400包括:编码单元确定模块410和编码模式确定模块420。
编码单元确定模块410被配置成:将待编码视频帧图像划分为多个编码单元。编码模式确定模块420被配置成:针对所述多个编码单元中的每一个编码单元:确定编码单元的颜色构成,其中,所述颜色构成包括所述编码单元包含的颜色的颜色数;以及,基于所述编码单元的颜色构成,确定所述编码单元的编码模式。上述各个模块涉及在上文中关于图3描述的步骤320、330、340、350和360的操作,因而在此不再赘述。
上面关于图9描述的各个模块均可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机可执行代码/指令,该计算机可执行代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,这些模块中的一个或多个可以一起在片上系统(SoC)中实现。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(CPU)、微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
参见图10,其以框图的形式示意性地示出了根据本公开的一些实施例的一种计算设备500的结构。计算设备500可以被用于本公开描述的各种应用场景。
计算设备500可以包括能够诸如通过系统总线514或其他适当的方式连接彼此通信的至少一个处理器502、存储器504、(多个)通信接口506、显示设备508、其他输入/输出(I/O)设备510以及一个或多个大容量存储装置512。
处理器502可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器502可以被实施成一个或多个微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器502可以被配置成获取并且执行存储在存储器504、大容量存储装置512或者其他计算机可读介质中的计算机可读指令,诸如操作系统516的程序代码、应用程序518的程序代码、其他程序520的程序代码等。
存储器504和大容量存储设备512是用于存储指令的计算机可读存储介质的示例,指令可以由处理器502执行来实施前面所描述的各种功能。举例来说,存储器504一般可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。此外,大容量存储设备512一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。存储器504和大容量存储设备512在本文中都可以被统称为计算机可读存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机可执行代码的非瞬时性介质,计算机可执行代码可以由处理器502作为被配置成实施在本公开的各示例性实施例中所描述的操作和功能的特定机器来执行。
多个程序模块可以存储在大容量存储设备512上。这些程序模块包括操作系统516、一个或多个应用程序518、其他程序520和程序数据522,并且它们可以被处理器502执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程序逻辑(例如,计算机可执行代码或指令):编码单元确定模块410和编码模式确定模块420。
虽然在图10中被图示成存储在计算设备500的存储器504中,但是编码单元确定模块410和编码模式确定模块420或者它们的一部分可以使用可由计算设备500访问的任何形式的计算机可读介质来实施。如本文所使用的,术语“计算机可读介质”的含义至少包括两种类型的计算机可读介质,也就是计算机存储介质和通信介质。计算机存储介质包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机存储介质包括而不限于RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用盘(DVD)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供计算设备访问的任何其他非传送介质。与此相对,通信介质可以在诸如载波或其他传送机制之类的已调数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本公开所定义的计算机存储介质不包括通信介质。
计算设备500还可以包括一个或更多通信接口506,以用于诸如通过网络、直接连接等等与其他设备交换数据。通信接口506可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如LAN、电缆等等)和无线网络(例如WLAN、蜂窝、卫星等等)、因特网等等。通信接口506还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
在一些示例中,计算设备500还可以包括诸如显示器之类的显示设备508,以用于显示信息和图像。其他I/O设备510可以是接收来自目标对象的各种输入并且向目标对象提供各种输出的设备,包括但不限于触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
本公开还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述各种可选实现方式中提供的用于确定关联应用的方法或者用于确定推荐内容的方法。
本公开中使用的术语仅用于描述本公开中的各示例性实施例,并不意图限制本公开。如本文中使用的,单数形式“一个”、“一”和“该”旨在也包括复数形式,除非上下文清楚地另有指示。还要理解的是,术语“包括”和“包含”当在本公开中使用时,是指所述及的特征的存在,但不排除一个或多个其他特征的存在或者添加一个或多个其他特征。如本文中使用的,术语“和/或”包括相关联的列出项目中的一个或多个的任意和全部组合。将理解的是,尽管术语“第一”、“第二”、“第三”等在本文中可以用来描述各种特征,但是这些特征不应当由这些术语限制。这些术语仅用来将一个特征与另一个特征相区分。
除非另有定义,本公开中使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员所通常理解的相同含义。还要理解的是,诸如那些在通常使用的字典中定义的之类的术语应当被解释为具有与其在相关领域和/或本说明书上下文中的含义相一致的含义,并且将不在理想化或过于正式的意义上进行解释,除非本公开中明确地如此定义。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点被包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
本文在软件硬件元件或程序模块的一般上下文中描述了各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”,“功能”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。此外,还应理解的是,在流程图中表示或在此以其他方式描述的方法的各个步骤仅仅示例性的,并不意味着所图示或描述的方法的步骤必须按照所示或所述的步骤执行。相反,在流程图中表示或在此以其他方式描述的方法的各个步骤可以按照与本公开中不同的顺序被执行,或者可以同时被执行。此外,根据需要,在流程图中表示或在此以其他方式描述的方法还可以包括其他附加的步骤。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,则可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路、具有合适的组合逻辑门电路的专用集成电路、可编程门阵列、现场可编程门阵列等。
本技术领域的普通技术人员可以理解上述实施例方法的全部或部分步骤可以通过程序指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括执行方法实施例的步骤之一或其组合。
应当理解,在本公开的各示例性实施方式中,可能涉及到待编码视频、待编码图像等数据。当本公开中所描述的涉及这样的数据的示例性实施例被应用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
尽管已经结合一些示例性实施例详细地描述了本公开,但是其不旨在被限制于在本文中所阐述的特定形式。相反,本公开的范围仅由所附权利要求来限定。

Claims (17)

1.一种视频编码方法,包括:
将待编码视频帧图像划分为多个编码单元;
针对所述多个编码单元中的每一个编码单元,执行下述步骤:
确定编码单元的颜色构成,其中,所述颜色构成包括所述编码单元包含的颜色的颜色数;
基于所述编码单元的颜色构成,确定所述编码单元的编码模式。
2.根据权利要求1所述的视频编码方法,其中,所述确定编码单元的颜色构成包括:
对所述编码单元中各个像素的颜色进行聚类处理,以确定所述编码单元包含的颜色的种类;
基于所述编码单元包含的颜色的种类生成颜色索引表,其中,所述颜色索引表包括的颜色索引的数量对应于所述颜色数。
3.根据权利要求2所述的视频编码方法,其中,所述对所述编码单元中各个像素的颜色进行聚类处理,以确定所述编码单元包含的颜色的种类包括:
基于所用的颜色编码,确定所述编码单元中各个像素各自对应的颜色编码值;
基于所述编码单元中各个像素各自对应的颜色编码值,确定所述编码单元包含的颜色的种类。
4.根据权利要求3所述的视频编码方法,其中,所述颜色编码是YUV颜色编码或者RGB颜色编码。
5.根据权利要求1所述的视频编码方法,其中,所述颜色构成还包括所述编码单元包含的各种颜色各自对应的像素数量,并且所述基于所述编码单元的颜色构成,确定所述编码单元的编码模式包括:
将所述编码单元包含的各种颜色按照各自对应的像素数量从大到小地进行颜色排序;
将所述颜色排序中前M个颜色各自对应的像素数量相加,以生成主要颜色像素数量,其中,M为预先设定的主要颜色数,其为正整数并且小于所述颜色数;
基于所述编码单元的像素总数确定调色板编码模式阈值;
响应于所述主要颜色像素数量大于或等于所述调色板编码模式阈值,将所述编码单元的编码模式确定为调色板编码模式。
6.根据权利要求5所述的视频编码方法,其中,所述视频编码方法还包括:
响应于所述主要颜色像素数量小于所述调色板编码模式阈值,确定所述编码单元跳过调色板编码模式。
7.根据权利要求1所述的视频编码方法,其中,所述基于所述编码单元的颜色构成,确定所述编码单元的编码模式包括:
响应于所述颜色数小于或等于预先设定的颜色数阈值,将所述编码单元的编码模式确定为调色板编码模式。
8.根据权利要求7所述的视频编码方法,其中,所述颜色构成还包括所述编码单元包含的各种颜色各自对应的像素数量,并且所述视频编码方法还包括:响应于所述颜色数大于所述颜色数阈值,执行下述步骤:
将所述编码单元包含的各种颜色按照各自对应的像素数量从小到大地进行颜色排序;
将所述颜色排序中前N个颜色各自对应的像素数量相加,以生成次要颜色像素数量,其中,N为预先设定的次要颜色数,其为正整数并且小于所述颜色数;
基于所述编码单元的像素总数确定调色板编码模式阈值;
响应于所述次要颜色像素数量小于或等于所述调色板编码模式阈值,将所述编码单元的编码模式确定为调色板编码模式。
9.根据权利要求8所述的视频编码方法,其中,所述视频编码方法还包括:
响应于所述次要颜色像素数量大于所述调色板编码模式阈值,确定所述编码单元跳过调色板编码模式。
10.根据权利要求7所述的视频编码方法,其中,所述颜色构成还包括所述编码单元包含的各种颜色各自对应的像素数量,并且所述视频编码方法还包括:响应于所述颜色数大于所述颜色数阈值,执行下述步骤:
将所述编码单元包含的各种颜色按照各自对应的像素数量从大到小地进行颜色排序;
将所述颜色排序中前M个颜色各自对应的像素数量相加,以生成主要颜色像素数量,其中,M为预先设定的主要颜色数,其为正整数并且小于所述颜色数;
基于所述编码单元的像素总数确定调色板编码模式阈值;
响应于所述主要颜色像素数量大于或等于所述调色板编码模式阈值,将所述编码单元的编码模式确定为调色板编码模式。
11.根据权利要求10所述的视频编码方法,其中,所述视频编码方法还包括:
响应于所述主要颜色像素数量小于所述调色板编码模式阈值,确定所述编码单元跳过调色板编码模式。
12.根据权利要求5、8和11中任一项所述的视频编码方法,其中,所述基于所述编码单元的像素总数确定调色板编码模式阈值包括:
获取预先设定的阈值系数,其中,所述阈值系数与所述像素总数相关联并且小于1;
将所述像素总数乘以所述阈值系数,以生成所述调色板编码模式阈值。
13.根据权利要求5、8和11中任一项所述的视频编码方法,其中,所述基于所述编码单元的像素总数确定调色板编码模式阈值包括:
获取预先设定的像素偏差数量,其中,所述像素偏差数量与所述像素总数相关联并且小于所述像素总数;
将所述像素总数减去所述像素偏差数量,以生成所述调色板编码模式阈值。
14.一种视频编码装置,包括:
编码单元确定模块,其被配置成:将待编码视频帧图像划分为多个编码单元;
编码模式确定模块,其被配置成:针对所述多个编码单元中的每一个编码单元:
确定编码单元的颜色构成,其中,所述颜色构成包括所述编码单元包含的颜色的颜色数;
基于所述编码单元的颜色构成,确定所述编码单元的编码模式。
15.一种计算设备,其包括处理器和存储器,所述存储器被配置成存储计算机可执行指令,所述计算机可执行指令被配置成当在所述处理器上执行时,使所述处理器执行根据权利要求1至13中任一项所述的视频编码方法。
16.一种计算机可读存储介质,其被配置成存储计算机可执行指令,所述计算机可执行指令被配置成当在处理器上执行时,使所述处理器执行根据权利要求1至13中任一项所述的视频编码方法。
17.一种计算机程序产品,其包括计算机可执行指令,所述计算机可执行指令被配置成当在处理器上执行时,使所述处理器执行根据权利要求1至13中任一项所述的视频编码方法。
CN202211197925.0A 2022-09-29 2022-09-29 视频编码方法和装置、计算设备、存储介质及程序产品 Pending CN117834892A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211197925.0A CN117834892A (zh) 2022-09-29 2022-09-29 视频编码方法和装置、计算设备、存储介质及程序产品
PCT/CN2023/122197 WO2024067736A1 (zh) 2022-09-29 2023-09-27 视频编码方法和装置、计算设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211197925.0A CN117834892A (zh) 2022-09-29 2022-09-29 视频编码方法和装置、计算设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN117834892A true CN117834892A (zh) 2024-04-05

Family

ID=90476286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211197925.0A Pending CN117834892A (zh) 2022-09-29 2022-09-29 视频编码方法和装置、计算设备、存储介质及程序产品

Country Status (2)

Country Link
CN (1) CN117834892A (zh)
WO (1) WO2024067736A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10362333B2 (en) * 2014-01-02 2019-07-23 Qualcomm Incorporated Color index coding for palette-based video coding
US9654806B2 (en) * 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
US10091512B2 (en) * 2014-05-23 2018-10-02 Futurewei Technologies, Inc. Advanced screen content coding with improved palette table and index map coding methods
CN115118964A (zh) * 2022-06-24 2022-09-27 腾讯科技(深圳)有限公司 视频编码方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
WO2024067736A1 (zh) 2024-04-04

Similar Documents

Publication Publication Date Title
CN108271024B (zh) 图像编码、解码方法及装置
RU2355127C2 (ru) Предсказательное кодирование без потерь для изображений и видео
US11785215B2 (en) Encoding method, decoding method, encoding/decoding system, encoder, and decoder
US8509310B2 (en) Method, medium, and system encoding and/or decoding an image
US20140072239A1 (en) Image Compression Using Sub-Resolution Images
CN104853209A (zh) 图像编码、解码方法及装置
US8873625B2 (en) Enhanced compression in representing non-frame-edge blocks of image frames
US20160100161A1 (en) Decoder, encoder, decoding method, encoding method, and codec system
CN105308960A (zh) 自适应色彩空间变换编码
CN105187844A (zh) 用于减轻图像中的伪影的系统和方法
US8447124B2 (en) Film grain simulation for normal play and trick mode play for video playback systems
US9787985B2 (en) Reduction of spatial predictors in video compression
CN115118964A (zh) 视频编码方法、装置、电子设备及计算机可读存储介质
CN104811731A (zh) 多层次子块匹配图像压缩方法
US20220191526A1 (en) Chroma samples from luma samples prediction for video coding
US8750607B2 (en) Image processing apparatus capable of efficiently compressing an original image
CN106717006B (zh) 用于根据图像类型选择压缩算法的方法
CN117834892A (zh) 视频编码方法和装置、计算设备、存储介质及程序产品
CN108933945B (zh) 一种gif图片的压缩方法、装置及存储介质
TWI832661B (zh) 圖像編解碼的方法、裝置及存儲介質
CN113473150B (zh) 一种图像处理方法、装置以及计算机可读存储装置
US11889055B2 (en) Methods and systems for combined lossless and lossy coding
CN105828080A (zh) 图像编解码方法及装置
CN105828079B (zh) 图像处理方法及装置
KR100671998B1 (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