CN116962696A - 图像编码方法和装置 - Google Patents

图像编码方法和装置 Download PDF

Info

Publication number
CN116962696A
CN116962696A CN202210409237.XA CN202210409237A CN116962696A CN 116962696 A CN116962696 A CN 116962696A CN 202210409237 A CN202210409237 A CN 202210409237A CN 116962696 A CN116962696 A CN 116962696A
Authority
CN
China
Prior art keywords
image
screen content
content image
frame
coding
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
CN202210409237.XA
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.)
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
Priority to CN202210409237.XA priority Critical patent/CN116962696A/zh
Priority to PCT/CN2023/073291 priority patent/WO2023202177A1/zh
Publication of CN116962696A publication Critical patent/CN116962696A/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/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/177Methods 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 group of pictures [GOP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请涉及视频编码领域,具体的,本申请提供一种图像编码方法和装置。本申请的图像编码方法,包括:获取第一屏幕内容图像;若所述第一屏幕内容图像为第一帧类型,则对所述第一屏幕内容图像进行第一编码,得到第一码流,所述第一码流包括所述第一屏幕内容图像的编码数据,所述第一帧类型用于表示关键帧;若所述第一屏幕内容图像为第二帧类型,则将所述第一屏幕内容图像输入编码芯片,所述编码芯片用于对所述第一屏幕内容图像进行第二编码,得到第二码流,所述第二码流包括所述第一屏幕内容图像的编码数据,所述第二帧类型用于表示非关键帧。本申请有益于解决屏幕内容编码导致的CPU功耗大和延迟大的问题。

Description

图像编码方法和装置
技术领域
本申请实施例涉及视频编解码技术,尤其涉及一种图像编码方法和装置。
背景技术
随着时代的发展,以计算机生成图像为主的屏幕内容,如游戏直播,共享文档等,在视频编码中占据越来越重要的位置。而计算机生成图像具有边界锐利,纹理复杂,纯色区无噪声等区别于传统通过镜头摄录视频内容的特征。如果采用高效率视频编码(HighEfficiency Video Coding,HEVC)标准的主要(main profile)级别对计算机生成内容进行编码,同等码率下,锐利的边缘更容易发生压缩失真,产生伪像,而为了获得同等的图像质量,则需要消耗更多的码率,增加带宽负担。因此为了适用于计算机生成图像的诸多特征,屏幕内容编码(Screen Content Coding,SCC)技术被提出。
SCC技术采用了调色板(palette)和帧内块拷贝(intra block copy)等编码技术,在保证图像质量的同时,可以节省码率,从而保证了一定的视频编码效率。然而,这也给视频编码过程带来了较高的计算复杂度。并且,SCC技术的视频编码过程通常由中央处理器(Central Processing Unit,CPU)执行,较高的计算复杂度导致CPU编码功耗大,在高性能场景会出现明显延迟卡顿。
发明内容
本申请实施例提供一种图像编码方法和装置,可以解决屏幕内容编码导致的CPU功耗大和延迟大的问题。
第一方面,本申请实施例提供一种图像编码方法,该方法可以包括:获取第一屏幕内容图像。若该第一屏幕内容图像为第一帧类型,则对该第一屏幕内容图像进行第一编码,得到第一码流,该第一码流包括该第一屏幕内容图像的编码数据,该第一帧类型用于表示关键帧。若该第一屏幕内容图像为第二帧类型,则将该第一屏幕内容图像输入编码芯片,该编码芯片用于对该第一屏幕内容图像进行第二编码,得到第二码流,该第二码流包括该第一屏幕内容图像的编码数据,该第二帧类型用于表示非关键帧。
这样,在第一方面中,通过对第一帧类型的第一屏幕内容图像进行第一编码,将第二帧类型的第一屏幕内容图像提供给编码芯片(例如,SoC),以使得编码芯片(例如,SoC)对第一屏幕内容图像进行第二编码。由此,通过第一编码保证关键帧的图像质量,通过第二编码降低非关键帧的编码功耗,从而在保证屏幕内容图像的图像质量的同时,可以降低编码功耗和延迟。
一种可能的设计中,该方法还可以包括:
若M≤L-2,则根据第二屏幕内容图像,确定该第一屏幕内容图像是否发生画面突变;M表示该第一屏幕内容图像与前一个关键帧之间间隔的帧数,L表示图像组的长度,该第二屏幕内容图像是该第一屏幕内容图像的前一帧图像。
若该第一屏幕内容图像发生画面突变,则确定该第一屏幕内容图像为该第一帧类型。
若该第一屏幕内容图像未发生画面突变,则确定该第一屏幕内容图像为该第二帧类型。
这样,通过比较M和L-2的大小关系,可以确定第一屏幕内容图像和前一个关键帧是否属于同一个GOP。若从GOP的长度出发,不属于同一个GOP,则确定第一屏幕内容图像为第一帧类型,并对第一帧类型的第一屏幕内容图像进行第一编码。若从GOP的长度出发,应属于同一个GOP,则进一步根据第二屏幕内容图像,确定第一屏幕内容图像是否发生画面突变,若第一屏幕内容图像发生画面突变,则确定第一屏幕内容图像为第一帧类型,并对第一帧类型的第一屏幕内容图像进行第一编码。若第一屏幕内容图像未发生画面突变,则确定第一屏幕内容图像为第二帧类型,并将第二帧类型的第一屏幕内容图像提供给编码芯片(例如,SoC),以使得编码芯片(例如,SoC)对第一屏幕内容图像进行第二编码。由此,通过第一编码保证关键帧的图像质量,通过第二编码降低非关键帧的编码功耗,从而在保证屏幕内容图像的图像质量的同时,可以降低编码功耗和延迟。并且,通过检测第一屏幕内容图像是否发生画面突变,在发生画面突变时,采用第一编码,以保证画面突变的图像质量。
一种可能的设计中,若该第一屏幕内容图像为第一帧类型,该方法还可以包括:
获取第三屏幕内容图像,该第三屏幕内容图像是该第一屏幕内容图像之后的一帧图像,且该第三屏幕内容图像与该第一屏幕内容图像属于同一图像组,该第三屏幕内容图像为该第二帧类型。
将该第三屏幕内容图像和重构帧输入该编码芯片,该编码芯片还用于将该重构帧作为参考帧,对该第三屏幕内容图像进行该第二编码,该第二码流还包括该第三屏幕内容图像的编码数据。
其中,该重构帧为对该第一屏幕内容图像的编码数据进行解码得到的重构图像。
由此,通过对第一帧类型的第一屏幕图像进行第一编码,以保证第一屏幕图像的图像质量,并将与该第一屏幕内容图像属于同一图像组的第三屏幕内容图像提供给编码芯片(例如,SoC),以使得编码芯片(例如,SoC)对第三屏幕内容图像进行第二编码,从而降低编码功耗和延迟。该第一屏幕图像的重构帧可以为同一图像组的第三屏幕内容图像提供更好画质的参考帧,从而提升画面质量。
一种可能的设计中,该方法还可以包括:
获取第一图像。对该第一图像进行场景识别,根据该第一图像的场景识别结果,确定该第一图像为该第一屏幕内容图像或第一自然场景图像。
一种可能的设计中,若该第一图像为该第一自然场景图像,该方法还可以包括:
将该第一自然场景图像输入该编码芯片,该编码芯片还用于对该第一自然场景图像进行该第二编码。
一种可能的设计中,该第一帧类型包括I帧,该第二帧类型包括P帧。
第二方面,本申请实施例提供一种图像编码装置,该装置可以为电子设备或电子设备中的处理模块,例如可以为电子设备中用于实现第一方面或第一方面的任一可能的实施方式的功能模块。举例来说,该图像编码装置,可以包括:获取模块和编码模块。
获取模块,用于获取第一屏幕内容图像。
编码模块,用于若该第一屏幕内容图像为第一帧类型,则对该第一屏幕内容图像进行第一编码,得到第一码流,该第一码流包括该第一屏幕内容图像的编码数据,该第一帧类型用于表示关键帧。若该第一屏幕内容图像为第二帧类型,则将该第一屏幕内容图像输入编码芯片,该编码芯片用于对该第一屏幕内容图像进行第二编码,得到第二码流,该第二码流包括该第一屏幕内容图像的编码数据,该第二帧类型用于表示非关键帧。
一种可能的设计中,该编码模块还用于:若M≤L-2,则根据第二屏幕内容图像,确定该第一屏幕内容图像是否发生画面突变;M表示该第一屏幕内容图像与前一个关键帧之间间隔的帧数,L表示图像组的长度,该第二屏幕内容图像是该第一屏幕内容图像的前一帧图像;若该第一屏幕内容图像发生画面突变,则确定该第一屏幕内容图像为该第一帧类型;若该第一屏幕内容图像未发生画面突变,则确定该第一屏幕内容图像为该第二帧类型。
一种可能的设计中,若该第一屏幕内容图像为第一帧类型,该获取模块还用于获取第三屏幕内容图像,该第三屏幕内容图像是该第一屏幕内容图像之后的一帧图像,且该第三屏幕内容图像与该第一屏幕内容图像属于同一图像组,该第三屏幕内容图像为该第二帧类型。
该编码模块还用于将该第三屏幕内容图像和重构帧输入该编码芯片,该编码芯片还用于将该重构帧作为参考帧,对该第三屏幕内容图像进行该第二编码,该第二码流还包括该第三屏幕内容图像的编码数据。
其中,该重构帧为对该第一屏幕内容图像的编码数据进行解码得到的重构图像。
一种可能的设计中,该获取模块还用于:获取第一图像;对该第一图像进行场景识别,根据该第一图像的场景识别结果,确定该第一图像为该第一屏幕内容图像或第一自然场景图像。
一种可能的设计中,若该第一图像为该第一自然场景图像,该编码模块还用于:将该第一自然场景图像输入该编码芯片,该编码芯片还用于对该第一自然场景图像进行该第二编码。
一种可能的设计中,该第一帧类型包括I帧,该第二帧类型包括P帧。
第三方面,本申请实施例提供一种图像编码装置,包括:一个或多个处理器。存储器,用于存储一个或多个程序。当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面或第一方面任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,包括根据第一方面或第一方面任一项所述的方法获得的码流。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面或第一方面任一项所述的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面或第一方面任一项所述的方法。
应当理解的是,本申请的第二至第六方面与本申请的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例所应用的视频编码及解码系统10的示意性框图;
图2为本申请实施例提供的一种GOP的示意图;
图3为本申请实施例的一种应用场景的示意图;
图4是本申请实施例提供的一种图像编码方法的流程示意图;
图5为本申请实施例提供的图像编码方法的示意图;
图6是本申请实施例提供的一种图像编码方法的流程示意图;
图7为本申请实施例提供的图像编码方法的示意图;
图8为本申请实施例提供的图像编解码方法的示意图;
图9为本申请实施例提供的一种图像编码装置的结构示意图。
具体实施方式
下面结合附图对本申请实施例提供的一种图像编码方法和装置进行详细地描述。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
视频编码通常是指处理形成视频(也可称为视频流)或视频序列的图片序列。在视频处理领域,术语“图片(picture)”、“帧(frame)”或“图像(image)”可以用作同义词。视频编码在发送侧执行,通常包括处理(例如,通过重编码)低画质视频和高画质视频以减少接收侧获取高画质视频所需的数据量,从而更高效地存储和/或传输。视频解码在接收侧执行,通常包括相对于编码作逆处理,以重构视频帧。编码部分和解码部分的组合也称为编解码(编码和解码)。
下面描述本申请实施例所应用的系统架构。参见图1,图1示例性地给出了本申请实施例所应用的视频编码及解码系统10的示意性框图。如图1所示,视频编码及解码系统10可包括源设备12和目的地设备14,源设备12产生经编码视频数据,因此,源设备12可被称为视频编码装置。目的地设备14可对由源设备12所产生的经编码的视频数据进行解码,因此,目的地设备14可被称为视频解码装置。源设备12和目的地设备14可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机、无线通信设备或其类似者。
虽然图1将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能性,即源设备12或对应的功能性以及目的地设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备14或对应的功能性。
源设备12和目的地设备14之间可通过链路13进行通信连接,目的地设备14可经由链路13从源设备12接收经编码视频数据。链路13可包括能够将经编码视频数据从源设备12移动到目的地设备14的一或多个媒体或装置。在一个实例中,链路13可包括使得源设备12能够实时将经编码视频数据直接发射到目的地设备14的一或多个通信媒体。在此实例中,源设备12可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到目的地设备14。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源设备12到目的地设备14的通信的其它设备。
源设备12包括编码器20,另外可选地,源设备12还可以包括图片源16、图片预处理器18、以及通信接口22。具体实现形态中,所述编码器20、图片源16、图片预处理器18、以及通信接口22可能是源设备12中的硬件部件,也可能是源设备12中的软件程序。分别描述如下:
图片源16,可以包括或可以为任何类别的图片捕获设备,用于例如捕获现实世界图片,和/或任何类别的图片或评论(对于屏幕内容编码,屏幕上的一些文字也认为是待编码的图片或图像的一部分)生成设备,例如,用于生成计算机动画图片的计算机图形处理器,或用于获取和/或提供现实世界图片、计算机动画图片(例如,屏幕内容、虚拟现实(virtual reality,VR)图片)的任何类别设备,和/或其任何组合(例如,实景(augmentedreality,AR)图片)。图片源16可以为用于捕获图片的相机或者用于存储图片的存储器,图片源16还可以包括存储先前捕获或产生的图片和/或获取或接收图片的任何类别的(内部或外部)接口。当图片源16为相机时,图片源16可例如为本地的或集成在源设备中的集成相机;当图片源16为存储器时,图片源16可为本地的或例如集成在源设备中的集成存储器。当所述图片源16包括接口时,接口可例如为从外部视频源接收图片的外部接口,外部视频源例如为外部图片捕获设备,比如相机、外部存储器或外部图片生成设备,外部图片生成设备例如为外部计算机图形处理器、计算机或服务器。接口可以为根据任何专有或标准化接口协议的任何类别的接口,例如有线或无线接口、光接口。
其中,图片可以视为像素点(picture element)的二维阵列或矩阵。阵列中的像素点也可以称为采样点。阵列或图片在水平和垂直方向(或轴线)上的采样点数目定义图片的尺寸和/或分辨率。为了表示颜色,通常采用三个颜色分量,即图片可以表示为或包含三个采样阵列。例如在RBG格式或颜色空间中,图片包括对应的红色、绿色及蓝色采样阵列。但是,在视频编码中,每个像素通常以亮度/色度格式或颜色空间表示,例如对于YUV格式的图片,包括Y指示的亮度分量(有时也可以用L指示)以及U和V指示的两个色度分量。亮度(luma)分量Y表示亮度或灰度水平强度(例如,在灰度等级图片中两者相同),而两个色度(chroma)分量U和V表示色度或颜色信息分量。相应地,YUV格式的图片包括亮度采样值(Y)的亮度采样阵列,和色度值(U和V)的两个色度采样阵列。RGB格式的图片可以转换或变换为YUV格式,反之亦然,该过程也称为色彩变换或转换。如果图片是黑白的,该图片可以只包括亮度采样阵列。本申请实施例中,由图片源16传输至图片处理器的图片也可称为原始图片数据17。
图片预处理器18,用于接收原始图片数据17并对原始图片数据17执行预处理,以获取经预处理的图片19或经预处理的图片数据19。例如,图片预处理器18执行的预处理可以包括整修、色彩格式转换(例如,从RGB格式转换为YUV格式)、调色或去噪。
编码器20(或称视频编码器20),用于接收经预处理的图片数据19,采用相关编码方式对经预处理的图片数据19进行处理,从而提供经编码图片数据21。
通信接口22,可用于接收经编码图片数据21,并可通过链路13将经编码图片数据21传输至目的地设备14或任何其它设备(如存储器),以用于存储或直接重构,所述其它设备可为任何用于解码或存储的设备。通信接口22可例如用于将经编码图片数据21封装成合适的格式,例如数据包,以在链路13上传输。
目的地设备14包括解码器30,另外可选地,目的地设备14还可以包括通信接口28、图片后处理器32和显示设备34。分别描述如下:
通信接口28,可用于从源设备12或任何其它源接收经编码图片数据21,所述任何其它源例如为存储设备,存储设备例如为经编码图片数据存储设备。通信接口28可以用于藉由源设备12和目的地设备14之间的链路13或藉由任何类别的网络传输或接收经编码图片数据21,链路13例如为直接有线或无线连接,任何类别的网络例如为有线或无线网络或其任何组合,或任何类别的私网和公网,或其任何组合。通信接口28可以例如用于解封装通信接口22所传输的数据包以获取经编码图片数据21。
通信接口28和通信接口22都可以配置为单向通信接口或者双向通信接口,以及可以用于例如发送和接收消息来建立连接、确认和交换任何其它与通信链路和/或例如经编码图片数据传输的数据传输有关的信息。
解码器30(或称为解码器30),用于接收经编码图片数据21并提供经解码图片数据31或经解码图片31。
图片后处理器32,用于对经解码图片数据31(也称为经重构图片数据)执行后处理,以获得经后处理图片数据33。图片后处理器32执行的后处理可以包括:色彩格式转换(例如,从YUV格式转换为RGB格式)、调色、整修或重采样,或任何其它处理,还可用于将将经后处理图片数据33传输至显示设备34。
显示设备34,用于接收经后处理图片数据33以向例如用户或观看者显示图片。显示设备34可以为或可以包括任何类别的用于呈现经重构图片的显示器,例如,集成的或外部的显示器或监视器。例如,显示器可以包括液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微LED显示器、硅基液晶(liquid crystal on silicon,LCoS)、数字光处理器(digitallight processor,DLP)或任何类别的其它显示器。
虽然,图1将源设备12和目的地设备14绘示为单独的设备,但设备实施例也可以同时包括源设备12和目的地设备14或同时包括两者的功能性,即源设备12或对应的功能性以及目的地设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备12或对应的功能性以及目的地设备14或对应的功能性。
本领域技术人员基于描述明显可知,不同单元的功能性或图1所示的源设备12和/或目的地设备14的功能性的存在和(准确)划分可能根据实际设备和应用有所不同。源设备12和目的地设备14可以包括各种设备中的任一个,包含任何类别的手持或静止设备,例如,笔记本或膝上型计算机、移动电话、智能手机、平板或平板计算机、摄像机、台式计算机、机顶盒、电视机、相机、车载设备、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并可以不使用或使用任何类别的操作系统。
编码器20和解码器30都可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使用一或多个处理器以硬件执行指令从而执行本公开的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可视为一或多个处理器。
本申请实施例为了降低编码器20和解码器30的功耗,采用硬件与软件组合的方式进行视频图像的编解码,具体实现方式可以参见下述实施例的具体解释说明。其中,硬件部分,采用系统级芯片(System on Chip,SoC)进行举例说明,软件部分,采用一个或多个CPU以硬件执行软件的指令进行举例说明。SoC具有面积小、功耗低和性能佳的特点。一个或多个CPU以硬件执行软件的指令的方式具有灵活性高的特点。当然可以理解的,SoC也可以采用其他ASIC替代,本申请实施例不以此作为限定。执行软件的指令的一个或多个CPU也可以采用其他处理器替代,本申请实施例不以此作为限定。
在一些情况下,图1中所示视频编码及解码系统10仅为示例,本申请的技术可以适用于不必包含编码和解码设备之间的任何数据通信的视频编码设置(例如,视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、在网络上流式传输等。视频编码设备可以对数据进行编码并且将数据存储到存储器,和/或视频解码设备可以从存储器检索数据并且对数据进行解码。在一些实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的设备执行编码和解码。
下面详细阐述本申请实施例的技术方案:
首先,介绍本申请实施例适用的一些技术术语或技术概念。
I帧:在视频编码领域中,能够不依赖其它帧独自完成解码的帧,一般简称为“I帧”。I帧所有的块的编码预测方式为帧内预测。
P帧:在视频编码领域中,参考前向帧且在码流中被标记为P帧类型的帧,一般简称为“P帧”。
B帧:在视频编码领域中,既可以参考前向帧,又可以参考后向帧,一般简称为“B帧”。本申请实施例主要针对低时延场景,因此为了降低时延,一般编码为“P帧”。
图像组(group of pictures,GOP)流:为描述方便,本申请实施例将视频流中相邻I帧之间至少包含一个P帧的视频流或者存在允许帧间预测模式的视频流,简称为“GOP流”。需要说明的是,GOP流也可以称为第一码流和/或第二码流等,其名称不以此作为限制。本申请实施例,用于生成GOP流的编码过程包括第一编码和/或第二编码。
示例性的,图2为本申请实施例提供的一种GOP的示意图,如图2所示,以GOP的长度为30为例进行举例说明,一个GOP可以一个I帧和29个P帧,其中,I帧用带斜纹的矩形表示,P帧用不带纹理的矩形表示。对P帧编码参考前一帧。例如,编号1的P帧参考编号0的I帧,编号2的P帧参考编号1的P帧,以此类推,直至下一个GOP开始截止,下一个GOP采用相同的方式,此处不再赘述。
软编码:将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使用一或多个处理器(如,CPU)以硬件执行指令从而对图像进行编码。软编码支持SCC。本申请实施例,软编码也可以称为第一编码。与软编码对应的解码过程,称为软解码。
硬编码:启动编码芯片(例如,SoC)对图像进行编码。硬编码支持HEVC的主要(mainprofile)级别,例如,协议H.264、协议H.265等的main profile。本申请实施例,硬编码也可以称为第二编码。与软编码对应的解码过程,称为硬解码。
硬编码具有性能好,功耗低的优势,同时由于硬件是定制的,灵活性是他的劣势。而软编码可以随时修改指令,几乎可以支持全部编码规格,但CPU编码功耗大,在高性能场景会明显出现卡顿。本申请实施例通过结合硬编码和软编码各自的优势,以提升编解码性能,有益于解决软编码功耗大,延迟大以及性能受限的问题。
重构帧:在编码过程中,需要将前一帧的编码结果进行解码保存,供后续帧做参考,解码出来的帧一般称之为“重构帧”,这个重构帧和解码器解码出来的帧一致,称之为编解码一致。为描述方便,本申请实施例中将解码器解码出的帧也统称为“重构帧”。
屏幕内容图像:指从各类设备(如,计算机,移动终端等)的图像显示单元捕获的。屏幕内容图像包括但不限于计算机图形和文本图像、自然视频与图形/文字混合的图像以及计算机生成的动画图像等。屏幕内容图像在共享文档、游戏直播、视频会议等各种场景中普遍存在。
自然场景图像:指通过摄像头采集到的图像。
使用CPU对屏幕内容图像进行SCC,在一些场景(例如,视频会议、共享桌面等高性能交互场景)下会导致CPU编码功耗大,延迟大以及性能受限的问题。这是由于在该些场景下,连续的屏幕内容图像,一直使用CPU进行编码,较高的计算复杂度,会使得CPU编码功耗增大。若屏幕内容图像突变,则导致编解码延迟增大,出现明显延迟卡顿。为了解决这些问题,本申请实施例通过对不同帧类型的屏幕内容图像,进行差异化编码,以解决编码功耗大,延迟大以及性能受限的问题。具体的,通过对第一帧类型的屏幕内容图像进行软编码,对第二帧类型的屏幕内容图像进行硬编码。由此,在保证屏幕内容图像的图像质量的同时,可以降低编码功耗和延迟。
示例性,图3为本申请实施例的一种应用场景的示意图,如图3所示,该应用场景可以包括多个电子设备。这里以3个电子设备(电子设备20、电子设备30和电子设备40)进行举例说明。电子设备20向电子设备30和电子设备40发起桌面共享。电子设备20作为编码端,电子设备20可以通过本申请实施例的图像编码方法,对自身的屏幕内容图像进行编码,以生成码流,并将该码流分别发送给电子设备30和电子设备40。电子设备30和电子设备40各自分别接收码流。电子设备30和电子设备40各自分别作为解码端,对自身接收到的码流进行解码,以得到重构图像,从而实现不同电子设备之间的桌面共享。
需要说明的是,图2所示实施例以电子设备20为笔记本电脑,电子设备30和电子设备40为手机进行示例性举例说明,其还可以是其他产品形态。例如,目前,一些电子设备的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobileinternet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wirelesslocal loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者演进的公用陆地移动通信网络(public land mobilenetwork,PLMN)中的终端设备等,本申请实施例对此并不限定。
作为示例而非限定,在本申请实施例中,可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
此外,在本申请实施例中,电子设备还可以是物联网(internet of things,IoT)系统中的电子设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。
而如上介绍的各种电子设备,如果位于车辆上(例如放置在车辆内或安装在车辆内),都可以认为是车载电子设备,车载电子设备例如也称为车载单元(on-board unit,OBU)。
请参见图4,图4是本申请实施例提供的一种图像编码方法的流程示意图。本申请实施例的方法部分可以由图像编码装置执行。图像编码装置可以是一或多个处理器(如,CPU),以硬件执行存储于存储介质的指令从而对屏幕内容图像进行编码。该图像编码装置可以应用于上述实施例中的源设备12中,例如,如图3所示实施例中的电子设备20。应当理解的是,本申请实施例所涉及的一系列的步骤或操作,可以以各种顺序执行和/或同时发生,其执行顺序不以图4所示的步骤序号的大小作为限制。如图4所示的方法可以包括如下实施步骤:
S401、获取第一屏幕内容图像。
示例性的,第一屏幕内容图像可以是从电子设备20的图像显示单元捕获的。第一屏幕内容图像包括但不限于计算机图形和文本图像、自然视频与图形/文字混合的图像以及计算机生成的动画图像等。
在S401之前,还可以进行色彩转换等处理,以得到该第一屏幕内容图像。之后,可以根据第一屏幕内容图像的帧类型,选择性的执行S402或S403。
S402、若第一屏幕内容图像为第一帧类型,则对第一屏幕内容图像进行第一编码,得到第一码流。
该第一码流可以包括该第一屏幕内容图像的编码数据,该第一帧类型用于表示关键帧。示例性的,该第一帧类型可以是I帧。
如上所述,第一编码也可以称为软编码,其支持SCC。例如,可以使用调色板编码框架对第一屏幕内容图像进行编码。第一编码可以改善屏幕内容图像编码所产生的失真,提升获得的图像质量。第一编码可以在获得同等的图像质量的情况下,降低码率,从而有益于减轻传输第一码流的带宽负担。
在一些实施例中,第一码流还可以包括第一编码指示信息,该第一编码指示信息可以用于指示第一码流为经第一编码得到的码流。这样,解码端,可以基于该第一编码指示信息,对第一码流进行第一解码,以获取重构图像。
可选的,若第一屏幕内容图像为第一帧类型,那么第一屏幕内容图像之后的一个或多个第二帧类型的屏幕内容图像,可以使用第一屏幕内容图像作为参考帧,进行第二编码,以在降低功耗的同时,提升图像质量。
示例性的,上述方法还可以包括:获取第三屏幕内容图像,第三屏幕内容图像是第一屏幕内容图像之后的一帧图像,且第三屏幕内容图像与第一屏幕内容图像属于同一图像组,第三屏幕内容图像为第二帧类型。将第三屏幕内容图像和重构帧输入编码芯片(例如,SoC),以使得编码芯片(例如,SoC)将该重构帧作为参考帧,对第三屏幕内容图像进行第二编码,以得到第二码流,第二码流包括第三屏幕内容图像的编码数据。
其中,该重构帧为对第一屏幕内容图像的编码数据进行解码得到的重构图像。
S403、若第一屏幕内容图像为第二帧类型,则将第一屏幕内容图像输入编码芯片,编码芯片用于对第一屏幕内容图像进行第二编码,得到第二码流。
该第二码流可以包括第一屏幕内容图像的编码数据,该第二帧类型用于表示非关键帧。示例性的,该第二帧类型可以是P帧或B帧。
本实施例的执行主体可以将第二帧类型的第一屏幕内容图像提供给编码芯片(例如,SoC),以使得编码芯片(例如,SoC)对第一屏幕内容图像进行第二编码。如上所述,第二编码也可以称为硬编码,其支持HEVC的main profile。例如,可以使用HEVC的混合编码框架对第一屏幕内容图像进行编码。相较于第一编码,第二编码具有功耗低的优势。
在一些实施例中,第二码流还可以包括第二编码指示信息,该第二编码指示信息可以用于指示第二码流为经第二编码得到的码流。这样,解码端,可以基于该第二编码指示信息,对第二码流进行第二解码,以获取重构图像。
示例性的,上述第一编码指示信息或第二编码指示信息可以携带在第一码流或第二码流的视频参数集(Video Parameter Set,VPS)中。
以GOP的长度为30,第一帧类型为I帧,第二帧类型为P帧为例进行举例说明。图5为本申请实施例提供的图像编码方法的示意图,如图5所示,编码端通过本申请实施例的图像编码方法,在第一个GOP中,使用CPU对编号0的I帧进行第一编码(即SCC profile),使用SoC对编号1的P帧进行第二编码(即main profile),且编号1的P帧参考编号0的I帧,使用SoC对编号2至编号29的P帧进行第二编码,并且各个P帧参考其前一个P帧。第二GOP中,采用与第一个GOP类似的编码方式,从而得到第一码流和第二码流。第一码流包括各个GOP中编号0的I帧的编码数据,第二码流包括各个GOP中的多个P帧的编码数据。相应的,解码端对第一码流进行第一解码,对第二码流进行第二解码,可以得到各个屏幕内容图像的重构图像。
上述实施例对屏幕内容图像编码进行了解释说明,可选的,本申请实施例的图像编码方法还可以对自然场景图像进行第二编码,以降低图像编码功耗,提升编码性能。示例性的,可以通过对需要编码的图像(例如,第一图像)进行场景识别,根据场景识别结果,确定第一图像为第一屏幕内容图像或第一自然场景图像。若第一图像为第一自然场景图像,则将第一自然场景图像输入编码芯片(例如,SoC),编码芯片用于对第一自然场景图像进行第二编码。
本实施例,通过对第一帧类型的第一屏幕内容图像进行第一编码,对第二帧类型的第一屏幕内容图像进行第二编码,以得到码流。由此,通过第一编码保证关键帧的图像质量,通过第二编码降低非关键帧的编码功耗,从而在保证屏幕内容图像的图像质量的同时,可以降低编码功耗和延迟。
请参见图6,图6是本申请实施例提供的一种图像编码方法的流程示意图。本申请实施例的方法部分可以由图像编码装置执行。图像编码装置可以是一或多个处理器(如,CPU),以硬件执行存储于存储介质的指令从而对屏幕内容图像进行编码。该图像编码装置可以应用于上述实施例中的源设备12中,例如,如图3所示实施例中的电子设备20。应当理解的是,本申请实施例所涉及的一系列的步骤或操作,可以以各种顺序执行和/或同时发生,其执行顺序不以图6所示的步骤序号的大小作为限制。如图6所示的方法可以包括如下实施步骤:
S601、获取第一屏幕内容图像。
其中,S601的解释说明可以参见上述S401的具体解释说明,此处不再赘述。
S602、判断是否M≤L-2,若是,则执行S603,若否,则执行S604。
M表示第一屏幕内容图像与前一个关键帧之间间隔的帧数,L表示图像组的长度。通过比较M和L-2的大小关系,可以确定第一屏幕内容图像和前一个关键帧是否属于同一个GOP。
举例而言,图7为本申请实施例提供的图像编码方法的示意图,以图7为例做举例说明,L=30,当第一屏幕内容图像为编码30的图像帧时,其前一个关键帧是编号0的I帧,二者间隔29帧,则M=29,由此,M>L-2,即编码30的图像帧和编号0的I帧不属于同一个GOP,则执行S604。当第一屏幕内容图像为编号32的图像帧时,其前一个关键帧是编号30的I帧,二者间隔1帧,则M=1,由此,M<L-2,即编码32的图像帧和编号30的I帧,从GOP的长度出发,应属于同一个GOP,则执行S603。通过S603确定是否需要开启新的GOP。
S603、根据第二屏幕内容图像,确定第一屏幕内容图像是否发生画面突变,若第一屏幕内容图像发生画面突变,则执行S604,若第一屏幕内容图像未发生画面突变,则执行S606。
第二屏幕内容图像是第一屏幕内容图像的前一帧图像。以第一屏幕内容图像为图7中的编号32的图像帧为例,通过检测第一屏幕内容图像是否发生画面突变,在发生画面突变时,确定编号32的图像帧为I帧,即需要开启新的GOP,并通过下述S605进行第一编码。例如,编号31的图像帧和编号32的图像帧可以为不同内容(具体内容并不限定)的PPT画面,即发生画面图谱,如图7所示,使用CPU对编号32的图像帧进行第一编码(即SCC profile),并终止上一个GOP,启动新的GOP。GOP由原来的编号30至编号59,编号60至编号89变更为编号32至编号61,编号62至编号91等。编号32的图像帧启用SCC,可以充分利用SCC针对屏幕内容图像的编码增益,节省码率,同时为GOP内的P帧提供更好画质的参考帧,提升画面质量。
上述画面突变可以产生于视频会议或桌面共享等应用场景中,如PPT翻页、文档滚动等情况下。
S604、确定第一屏幕内容图像为第一帧类型。
在执行S604之后,执行下述S605,以得到第一码流。
S605、对第一屏幕内容图像进行第一编码,得到第一码流。
其中,S605的解释说明可以参见上述S402的具体解释说明,此处不再赘述。
S606、确定第一屏幕内容图像为第二帧类型。
在执行S606之后,执行下述S607,以得到第二码流。
S607、将第一屏幕内容图像输入编码芯片,编码芯片用于对第一屏幕内容图像进行第二编码,得到第二码流。
其中,S607的解释说明可以参见上述S403的具体解释说明,此处不再赘述。
本实施例,通过比较M和L-2的大小关系,可以确定第一屏幕内容图像和前一个关键帧是否属于同一个GOP。若从GOP的长度出发,不属于同一个GOP,则确定第一屏幕内容图像为第一帧类型,并对第一帧类型的第一屏幕内容图像进行第一编码。若从GOP的长度出发,应属于同一个GOP,则进一步根据第二屏幕内容图像,确定第一屏幕内容图像是否发生画面突变,若第一屏幕内容图像发生画面突变,则确定第一屏幕内容图像为第一帧类型,并对第一帧类型的第一屏幕内容图像进行第一编码。若第一屏幕内容图像未发生画面突变,则确定第一屏幕内容图像为第二帧类型,并对第二帧类型的第一屏幕内容图像进行第二编码。由此,通过第一编码保证关键帧的图像质量,通过第二编码降低非关键帧的编码功耗,从而在保证屏幕内容图像的图像质量的同时,可以降低编码功耗和延迟。并且,通过检测第一屏幕内容图像是否发生画面突变,在发生画面突变时,采用第一编码,以保证画面突变的图像质量。
图8为本申请实施例提供的图像编解码方法的示意图,如图8所示,编码端可以作为码流的发送端,解码端可以作为码流的接收端,二者之间通过网络传输码流。在编码端通过摄像头采集或从图像显示单元捕获原始图像。该原始图像可以是RGB图像。对原始图像进行色彩转换,以得到YUV图像。之后,由编码端的CPU进行内容检测,以确定经路径1(way1)、路径2(way 2)或路径3(way 3)进行编码。首先,内容检测可以包括场景识别,例如,通过识别图像来源来确定该YUV图像是屏幕内容图像或自然场景图像。当YUV图像是通过摄像头采集的,则YUV图像是自然场景图像,经路径2(way 2)进行编码。具体的,由编码端的SoC进行硬编码,以得到第二码流。示例性的,该第二码流可以是协议H.265码流。当YUV图像是从图像显示单元捕获的,则YUV图像是屏幕内容图像,经路径1(way 1)或路径3(way 3)进行编码。具体的,内容检测还可以包括画面突变检测。根据GOP的长度和是否发生画面突变,确定屏幕内容图像的帧类型,不同帧类型的屏幕内容图像经不同路径进行编码。当屏幕内容图像为I帧,则经路径1(way 1)进行编码。具体的,由编码端的CPU进行软编码,以得到第一码流。该第一码流也可以称为SCC码流。当屏幕内容图像为P帧,则经路径3(way 3)进行编码。具体的,由编码端的SoC进行硬编码,以得到第二码流。
上述I帧包括但不限于画面突变帧(例如,翻页帧),P帧包括相对静止帧。编码端将SCC码流和/或协议H.265码流通过网络传输给解码端。解码端可以对SCC码流进行软解码,得到重构图像。解码端可以对协议H.265码流进行硬解码,得到重构图像。该重构图像可以是YUV图像,之后经过色彩校正,转换为RGB图像进行显示。
由此,通过SCC软编码保证关键帧的图像质量,通过SoC硬编码降低非关键帧的编码功耗,从而在保证屏幕内容图像的图像质量的同时,可以降低编码功耗和延迟。并且,通过检测屏幕内容图像是否发生画面突变,在发生画面突变时,采用SCC软编码,以提升SCC的画面质量。
上文结合附图对本申请实施例的图像编码方法进行了详细的介绍,下面结合图9对本申请实施例的图像编码装置进行介绍。应理解,图像编码装置能够执行本申请实施例的图像编码方法。为了避免不必要的重复,下面在介绍本申请实施例的图像编码装置时适当省略重复的描述。
参见图9,图9为本申请实施例提供的一种图像编码装置的结构示意图。如图9所示,该图像编码装置900可以包括:获取模块901和编码模块902。
获取模块901,用于获取第一屏幕内容图像。
编码模块902,用于若该第一屏幕内容图像为第一帧类型,则对该第一屏幕内容图像进行第一编码,得到第一码流,该第一码流包括该第一屏幕内容图像的编码数据,该第一帧类型用于表示关键帧。若该第一屏幕内容图像为第二帧类型,则将该第一屏幕内容图像输入编码芯片,该编码芯片用于对该第一屏幕内容图像进行第二编码,得到第二码流,该第二码流包括该第一屏幕内容图像的编码数据,该第二帧类型用于表示非关键帧。
在一些实施例中,该编码模块902还用于:若M≤L-2,则根据第二屏幕内容图像,确定该第一屏幕内容图像是否发生画面突变;M表示该第一屏幕内容图像与前一个关键帧之间间隔的帧数,L表示图像组的长度,该第二屏幕内容图像是该第一屏幕内容图像的前一帧图像;若该第一屏幕内容图像发生画面突变,则确定该第一屏幕内容图像为该第一帧类型;若该第一屏幕内容图像未发生画面突变,则确定该第一屏幕内容图像为该第二帧类型。
在一些实施例中,若该第一屏幕内容图像为第一帧类型,该获取模块901还用于获取第三屏幕内容图像,该第三屏幕内容图像是该第一屏幕内容图像之后的一帧图像,且该第三屏幕内容图像与该第一屏幕内容图像属于同一图像组,该第三屏幕内容图像为该第二帧类型。
该编码模块902还用于将该第三屏幕内容图像和重构帧输入该编码芯片,该编码芯片还用于将该重构帧作为参考帧,对该第三屏幕内容图像进行该第二编码,该第二码流还包括该第三屏幕内容图像的编码数据。
其中,该重构帧为对该第一屏幕内容图像的编码数据进行解码得到的重构图像。
在一些实施例中,该获取模块901还用于:获取第一图像;对该第一图像进行场景识别,根据该第一图像的场景识别结果,确定该第一图像为该第一屏幕内容图像或第一自然场景图像。
在一些实施例中,若该第一图像为该第一自然场景图像,该编码模块902还用于:将该第一自然场景图像输入该编码芯片,该编码芯片还用于对该第一自然场景图像进行该第二编码。
在一些实施例中,该第一帧类型包括I帧,该第二帧类型包括P帧。
需要说明的是,图像编码装置900可以执行图4或图6或图8任一所示实施例的编码方法。具体的实现原理和技术效果可以参考上述方法实施例的具体解释说明,此处不再赘述。
基于与上述方法相同的发明构思,本申请实施例提供一种图像编码装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述一个或者多个实施例中所述的图像编码方法的部分或全部步骤。
基于与上述方法相同的发明构思,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行如上述一个或者多个实施例中所述的图像编码方法的部分或全部步骤的指令。
基于与上述方法相同的发明构思,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述一个或者多个实施例中所述的图像编码方法的部分或全部步骤。
其中,本实施例提供的图像编码装置、计算机可读存储介质、计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种图像编码方法,其特征在于,包括:
获取第一屏幕内容图像;
若所述第一屏幕内容图像为第一帧类型,则对所述第一屏幕内容图像进行第一编码,得到第一码流,所述第一码流包括所述第一屏幕内容图像的编码数据,所述第一帧类型用于表示关键帧;
若所述第一屏幕内容图像为第二帧类型,则将所述第一屏幕内容图像输入编码芯片,所述编码芯片用于对所述第一屏幕内容图像进行第二编码,得到第二码流,所述第二码流包括所述第一屏幕内容图像的编码数据,所述第二帧类型用于表示非关键帧。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若M≤L-2,则根据第二屏幕内容图像,确定所述第一屏幕内容图像是否发生画面突变;M表示所述第一屏幕内容图像与前一个关键帧之间间隔的帧数,L表示图像组的长度,所述第二屏幕内容图像是所述第一屏幕内容图像的前一帧图像;
若所述第一屏幕内容图像发生画面突变,则确定所述第一屏幕内容图像为所述第一帧类型;
若所述第一屏幕内容图像未发生画面突变,则确定所述第一屏幕内容图像为所述第二帧类型。
3.根据权利要求1或2所述的方法,其特征在于,若所述第一屏幕内容图像为第一帧类型,所述方法还包括:
获取第三屏幕内容图像,所述第三屏幕内容图像是所述第一屏幕内容图像之后的一帧图像,且所述第三屏幕内容图像与所述第一屏幕内容图像属于同一图像组,所述第三屏幕内容图像为所述第二帧类型;
将所述第三屏幕内容图像和重构帧输入所述编码芯片,所述编码芯片还用于将所述重构帧作为参考帧,对所述第三屏幕内容图像进行所述第二编码,所述第二码流还包括所述第三屏幕内容图像的编码数据;
其中,所述重构帧为对所述第一屏幕内容图像的编码数据进行解码得到的重构图像。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
获取第一图像;
对所述第一图像进行场景识别,根据所述第一图像的场景识别结果,确定所述第一图像为所述第一屏幕内容图像或第一自然场景图像。
5.根据权利要求4所述的方法,其特征在于,若所述第一图像为所述第一自然场景图像,所述方法还包括:
将所述第一自然场景图像输入所述编码芯片,所述编码芯片还用于对所述第一自然场景图像进行所述第二编码。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一帧类型包括I帧,所述第二帧类型包括P帧。
7.一种图像编码装置,其特征在于,包括:
获取模块,用于获取第一屏幕内容图像;
编码模块,用于若所述第一屏幕内容图像为第一帧类型,则对所述第一屏幕内容图像进行第一编码,得到第一码流,所述第一码流包括所述第一屏幕内容图像的编码数据,所述第一帧类型用于表示关键帧;
若所述第一屏幕内容图像为第二帧类型,则将所述第一屏幕内容图像输入编码芯片,所述编码芯片用于对所述第一屏幕内容图像进行第二编码,得到第二码流,所述第二码流包括所述第一屏幕内容图像的编码数据,所述第二帧类型用于表示非关键帧。
8.根据权利要求7所述的装置,其特征在于,所述编码模块还用于:
若M≤L-2,则根据第二屏幕内容图像,确定所述第一屏幕内容图像是否发生画面突变;M表示所述第一屏幕内容图像与前一个关键帧之间间隔的帧数,L表示图像组的长度,所述第二屏幕内容图像是所述第一屏幕内容图像的前一帧图像;
若所述第一屏幕内容图像发生画面突变,则确定所述第一屏幕内容图像为所述第一帧类型;
若所述第一屏幕内容图像未发生画面突变,则确定所述第一屏幕内容图像为所述第二帧类型。
9.根据权利要求7或8所述的装置,其特征在于,若所述第一屏幕内容图像为第一帧类型,所述获取模块还用于获取第三屏幕内容图像,所述第三屏幕内容图像是所述第一屏幕内容图像之后的一帧图像,且所述第三屏幕内容图像与所述第一屏幕内容图像属于同一图像组,所述第三屏幕内容图像为所述第二帧类型;
所述编码模块还用于将所述第三屏幕内容图像和重构帧输入所述编码芯片,所述编码芯片还用于将所述重构帧作为参考帧,对所述第三屏幕内容图像进行所述第二编码,所述第二码流还包括所述第三屏幕内容图像的编码数据;
其中,所述重构帧为对所述第一屏幕内容图像的编码数据进行解码得到的重构图像。
10.根据权利要求7至9任一项所述的装置,其特征在于,所述获取模块还用于:
获取第一图像;
对所述第一图像进行场景识别,根据所述第一图像的场景识别结果,确定所述第一图像为所述第一屏幕内容图像或第一自然场景图像。
11.根据权利要求10所述的装置,其特征在于,若所述第一图像为所述第一自然场景图像,所述编码模块还用于:将所述第一自然场景图像输入所述编码芯片,所述编码芯片还用于对所述第一自然场景图像进行所述第二编码。
12.根据权利要求7至11任一项所述的装置,其特征在于,所述第一帧类型包括I帧,所述第二帧类型包括P帧。
13.一种图像编码装置,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,包括根据权利要求1-6中任一项所述的方法获得的码流。
15.一种计算机程序产品,其特征在于,当计算机程序产品在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的图像编码方法。
16.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1-6中任一项所述的图像编码方法。
CN202210409237.XA 2022-04-19 2022-04-19 图像编码方法和装置 Pending CN116962696A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210409237.XA CN116962696A (zh) 2022-04-19 2022-04-19 图像编码方法和装置
PCT/CN2023/073291 WO2023202177A1 (zh) 2022-04-19 2023-01-20 图像编码方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210409237.XA CN116962696A (zh) 2022-04-19 2022-04-19 图像编码方法和装置

Publications (1)

Publication Number Publication Date
CN116962696A true CN116962696A (zh) 2023-10-27

Family

ID=88419087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210409237.XA Pending CN116962696A (zh) 2022-04-19 2022-04-19 图像编码方法和装置

Country Status (2)

Country Link
CN (1) CN116962696A (zh)
WO (1) WO2023202177A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5071413B2 (ja) * 2009-03-02 2012-11-14 沖電気工業株式会社 動画像符号化装置、方法及びプログラム、並びに、動画像符号化システム
CN110312134B (zh) * 2019-08-06 2021-06-15 杭州微帧信息科技有限公司 一种基于图像处理和机器学习的屏幕视频编码方法
CN111526363A (zh) * 2020-03-31 2020-08-11 北京字节跳动网络技术有限公司 编码的方法及装置、终端和存储介质
CN113965751B (zh) * 2021-10-09 2023-03-24 腾讯科技(深圳)有限公司 屏幕内容编码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2023202177A1 (zh) 2023-10-26

Similar Documents

Publication Publication Date Title
US11057646B2 (en) Image processor and image processing method
CN109076246B (zh) 使用图像数据校正掩码的视频编码方法和系统
EP4020370A1 (en) Image processing method and device
US20210377542A1 (en) Video encoding and decoding method, device, and system, and storage medium
CN107172376B (zh) 一种基于屏幕共享的视频编码方法和装置
US10382767B2 (en) Video coding using frame rotation
CN114339238A (zh) 视频编码的方法、视频解码的方法及其装置
US10674163B2 (en) Color space compression
CN115118964A (zh) 视频编码方法、装置、电子设备及计算机可读存储介质
WO2021147464A1 (zh) 视频处理方法、装置及电子设备
CN114786040A (zh) 数据通信方法、系统、电子设备和存储介质
WO2021147463A1 (zh) 视频处理方法、装置及电子设备
AU2015294052B2 (en) Method and apparatus for processing image data
WO2021169817A1 (zh) 视频处理方法及电子设备
CN111406404A (zh) 获得视频文件的压缩方法、解压缩方法、系统及存储介质
CN116962696A (zh) 图像编码方法和装置
US20210337189A1 (en) Prediction mode determining method and apparatus
CN114554205B (zh) 一种图像编解码方法及装置
CN112929703A (zh) 码流数据的处理方法和装置
CN113747099B (zh) 视频传输方法和设备
CN111885389B (zh) 一种多媒体数据编码方法、装置及存储介质
CN116437123A (zh) 图像处理方法、相关设备及计算机可读存储介质
WO2020181540A1 (zh) 一种视频处理方法、装置、编码设备及解码设备
CN115462078A (zh) 视频传输方法、装置和系统
CN116708809A (zh) 处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication