CN116708938A - 视频处理方法、装置、设备及存储介质 - Google Patents

视频处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116708938A
CN116708938A CN202310971882.5A CN202310971882A CN116708938A CN 116708938 A CN116708938 A CN 116708938A CN 202310971882 A CN202310971882 A CN 202310971882A CN 116708938 A CN116708938 A CN 116708938A
Authority
CN
China
Prior art keywords
video
frame
video frames
level
frames
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
CN202310971882.5A
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 CN202310971882.5A priority Critical patent/CN116708938A/zh
Publication of CN116708938A publication Critical patent/CN116708938A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping

Landscapes

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

Abstract

本申请提供了一种视频处理方法、装置、设备及存储介质,涉及音视频技术领域,可应用于车载场景。该视频处理方法包括:解析视频码流,得到至少两个第一视频帧的时域分层信息;其中,时域分层信息用于指示该至少两个第一视频帧在时域分层结构中的层级,时域分层结构包括至少两个层级的视频帧,该至少两个层级中的高层级的视频帧根据低层级的视频帧进行帧间预测得到;根据时域分层信息对至少两个第一视频帧进行丢帧处理或不丢帧处理,得到第二视频帧;对第二视频帧进行解码,得到输出图像。本申请实施例能够使得不同视频播放能力的设备播放同一规格的视频内容,且支持新的编码格式。

Description

视频处理方法、装置、设备及存储介质
技术领域
本申请实施例涉及音视频技术领域,尤其一种视频处理方法、装置、设备及存储介质。
背景技术
随着电子技术的快速发展,能够播放视频的硬件设备的规格多种多样,例如个人电脑、电视、手机、嵌入式设备等,其视频播放能力各不相同。视频内容提供者如果只提供低规格视频内容以期同一视频能够在多种硬件设备上均可播放,这将无法满足用户对高质量播放体验的需求。视频内容提供者如果只提供高规格视频内容,那么低端设备将无法流畅播放视频。
相关技术中,一种方案视频内容提供者需要编码、存储和分发同一内容的多种规格的视频,来满足不同用户的差异化需求和覆盖更多平台。但是,这将增加视频转码压缩、存储和管理的成本,降低内容分发网络(Content Delivery Network,CDN)缓存的效率。另一种方案视频播放端可以具有一定的自适应能力,能够根据其视频播放能力对视频帧进行分级处理,如根据视频帧的类型(I帧、P帧、B帧)来决定是否对该视频帧进行解码显示,来平衡视频播放端的解码压力。但是,该方案是基于MPEG2及更早的视频压缩标准而设计的,在新的视频压缩标准上不再适用。
因此,如何在新的编码格式下,使得不同视频播放能力的设备播放同一规格的视频内容,是亟需解决的问题。
发明内容
本申请实施例提供一种视频处理方法、装置、设备及存储介质,能够使得不同视频播放能力的设备播放同一规格的视频内容,且支持新的编码格式。
第一方面,提供一种视频处理方法,应用于视频播放设备,包括:
解析视频码流,得到至少两个第一视频帧的时域分层信息;其中,所述时域分层信息用于指示所述至少两个第一视频帧在时域分层结构中的层级,所述时域分层结构包括至少两个层级的视频帧,所述至少两个层级中的高层级的视频帧根据所述至少两个层级中的低层级的视频帧进行帧间预测得到;
根据所述时域分层信息对所述至少两个第一视频帧进行丢帧处理或不丢帧处理,得到第二视频帧;
对所述第二视频帧进行解码,得到输出图像。
第二方面,提供一种视频处理装置,包括:
解析单元,用于解析视频码流,得到至少两个第一视频帧的时域分层信息;其中,所述时域分层信息用于指示所述至少两个第一视频帧在时域分层结构中的层级,所述时域分层结构包括至少两个层级的视频帧,所述至少两个层级中的高层级的视频帧根据所述至少两个层级中的低层级的视频帧进行帧间预测得到;
处理单元,用于根据所述时域分层信息对所述至少两个第一视频帧进行丢帧处理或不丢帧处理,得到第二视频帧;
解码单元,用于对所述第二视频帧进行解码,得到输出图像。
第三方面,提供一种视频处理设备,包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行如第一方面或其各实施方式的方法。
第四方面,提供一种计算机可读存储介质,用于存储计算机程序,计算机程序使得计算机执行如第一方面或其各实施方式中的方法。
第五方面,提供一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行如第一方面或其各实施方式中的方法。
综上,本申请实施例通过根据视频帧的时域分层信息对视频帧进行丢帧处理或者不丢帧处理,能够支持视频播放设备对视频帧进行选择性丢帧或不丢帧,进而实现视频播放设备控制解码数据量,从而视频播放端能够具有对视频帧进行分级处理的自适应能力,即根据视频帧的时域分层信息来决定是否对该视频帧进行解码显示,来平衡视频播放端的解码压力。由于本申请实施例是根据视频帧的时域分层信息,而不是视频帧的类型(如I帧、P帧、B帧)来决定是否对该视频帧进行解码显示,因此本申请实施例能够支持新的编码方式,比如H.264以及之后的视频压缩标准。
进一步的,由于视频播放端能够具有对视频帧进行分级处理的自适应能力,因此云端可以只提供一种规格的视频内容即可满足不同用户的差异化需求,覆盖更多平台。例如终端按需对同一个规格版本的视频内容做降级处理,即可实现在高中低档设备上播放该同一规格版本的视频内容。因此本申请实施例能够降低云端为终端适配的视频规格数量,节省成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例涉及的一种视频编解码系统的可选示意性框图;
图2A为本申请实施例涉及的视频编码器的可选示意性框图;
图2B为本申请实施例涉及的视频解码器的可选示意性框图;
图3为本申请实施例提供的视频处理方法的应用场景的可选示意图;
图4A为相关技术中一种视频处理方法的应用场景的示意图;
图4B为本申请实施例提供的视频处理方法的应用场景的可选示意图;
图5为本申请实施例提供的一种视频处理方法的流程示意图;
图6为本申请实施例提供的一种时域分层结构的示意图;
图7A为本申请实施例提供的播放状态的干扰因素的示意图;
图7B为本申请实施例提供的算力调整的一个可选示意图;
图8为本申请实施例提供的另一种视频处理方法的流程示意图;
图9为本申请实施例提供的另一种视频处理方法的流程示意图;
图10为本申请实施例提供的一种视频处理装置的结构示意图;
图11是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供的方案可涉及云技术。云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,可以通过云计算来实现。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
云技术可以应用于医疗云、云物联、云安全、云呼叫、云游戏、云教育、云会议、云社交、人工智能云服务等领域中。
本申请提供的方案还可涉及视频编解码技术。视频编码是通过视频压缩技术,将原始视频格式的文件转换成另一种视频格式文件的方式,转化成的数据可以称为码流。视频解码是视频编码的逆向过程。本申请的方案可结合至音视频编码标准(audio videocoding standard,简称AVS),例如,H.264/高级视频编码(advanced video coding,简称AVC)标准,H.265/高效视频编码(high efficiency video coding,简称HEVC)标准,H.266/多功能视频编码(versatile video coding,简称VVC)标准,以及其他视频编码标准。
为了便于理解,首先结合图1对本申请实施例涉及的视频编解码系统进行介绍。
图1为本申请实施例涉及的一种视频编解码系统的示意性框图。如图1所示,该视频编解码系统100包含编码设备110和解码设备120。其中编码设备110用于对视频数据进行编码(可以理解成压缩)产生码流,并将码流传输给解码设备120。解码设备120对编码设备110编码产生的码流进行解码,得到解码后的视频数据。
本申请实施例的编码设备110为具有视频编码功能的设备,解码设备120为具有视频解码功能的设备。编码设备110和解码设备120例如包含智能手机、台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机等。
在一些实施例中,编码设备110可以通过网络将编码后的视频数据(如码流)传输给解码设备120。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
一些实施例中,编码设备110包含视频编码器112及输出接口113。其中,输出接口113可以包含调制器/解调器(调制解调器)和/或发射器。可选的,编码设备110还可以包括视频源111。视频源111可包含视频采集装置(例如,摄像机)、视频存档、视频输入接口、计算机图形系统中的至少一个,其中,视频输入接口用于从视频内容提供者处接收视频数据,计算机图形系统用于产生视频数据。
视频编码器112对来自视频源111的视频数据进行编码,产生码流。视频数据可包括一个或多个图像(picture)或图像序列(sequence of pictures)。码流以比特流的形式包含了图像或图像序列的编码信息。
视频编码器112经由输出接口113将编码后的视频数据直接传输到解码设备120。可选的,编码后的视频数据还可存储于存储介质或存储服务器上,以供解码设备120后续读取。
在一些实施例中,解码设备120包含输入接口121和视频解码器122。可选的,解码设备120还可以包括显示装置123。其中,输入接口121包含接收器及/或调制解调器。输入接口121可通过信道接收编码后的视频数据。
视频解码器122用于对编码后的视频数据进行解码,得到解码后的视频数据,并将解码后的视频数据传输至显示装置123。显示装置123显示解码后的视频数据。显示装置123可与解码设备120整合或在解码设备120外部。显示装置123可包括多种显示装置,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
此外,图1仅为实例,本申请实施例的技术方案不限于图1,例如本申请的技术还可以应用于单侧的视频编码或单侧的视频解码。
下面对本申请实施例涉及的视频编码框架进行介绍。
图2A是本申请实施例涉及的视频编码器的示意性框图。
如图2A所示,该视频编码器200可包括:预测单元210、残差单元220、变换/量化单元230、反变换/量化单元240、重建单元250、环路滤波单元260、解码图像缓存270和熵编码单元280。需要说明的是,视频编码器200可包含更多、更少或不同的功能组件,不做限定。
在一些实施例中,预测单元210包括帧间预测单元211和帧内估计单元212。由于视频的一个帧中的相邻像素之间存在很强的相关性,在视频编解码技术中使用帧内预测的方法消除相邻像素之间的空间冗余。由于视频中的相邻帧之间存在着很强的相似性,在视频编解码技术中使用帧间预测方法消除相邻帧之间的时间冗余,从而提高编码效率。
帧间预测单元211可用于帧间预测,帧间预测可以包括运动估计(motionestimation)和运动补偿(motion compensation),可以参考不同帧的图像信息,帧间预测使用运动信息从参考帧中找到参考块,根据参考块生成预测块,用于消除时间冗余。帧间预测所使用的帧可以为P帧和/或B帧,P帧指的是向前预测帧,B帧指的是双向预测帧。
帧内估计单元212只参考同一帧图像的信息,预测当前图像块内的像素信息,用于消除空间冗余。帧内预测所使用的帧可以为I帧。I帧无需依赖其他帧数据便可以独立编解码。
图2B是本申请实施例涉及的视频解码器的示意性框图。
如图2B所示,视频解码器300包含:熵解码单元310、预测单元320、反量化/变换单元330、重建单元340、环路滤波单元350及解码图像缓存360。预测单元320包括帧间预测单元321和帧内估计单元322。需要说明的是,视频解码器300可包含更多、更少或不同的功能组件,不做限定。
视频解码器300可接收码流。熵解码单元310可解析码流以从码流提取语法元素。作为解析码流的一部分,熵解码单元310可解析码流中的经熵编码后的语法元素。预测单元320、反量化/变换单元330、重建单元340及环路滤波单元350可根据从码流中提取的语法元素来解码视频数据,即产生解码后的视频数据。
视频编解码的基本流程如下:在编码端,将一帧图像划分成块,针对当前块,预测单元210使用帧内预测或帧间预测产生当前块的预测块。残差单元220可基于预测块与当前块的原始块计算残差块,即预测块和当前块的原始块的差值,该残差块也可称为残差信息。该残差块经由变换/量化单元230变换与量化等过程,可以去除人眼不敏感的信息,以消除视觉冗余。可选的,经过变换/量化单元230变换与量化之前的残差块可称为时域残差块,经过变换/量化单元230变换与量化之后的时域残差块可称为频率残差块或频域残差块。熵编码单元280接收到变化量化单元230输出的量化后的变化系数,可对该量化后的变化系数进行熵编码,输出码流。例如,熵编码单元280可根据目标上下文模型以及二进制码流的概率信息消除字符冗余。
在解码端,熵解码单元310可解析码流得到当前块的预测信息、量化系数矩阵等,预测单元320基于预测信息对当前块使用帧内预测或帧间预测产生当前块的预测块。反量化/变换单元330使用从码流得到的量化系数矩阵,对量化系数矩阵进行反量化、反变换得到残差块。重建单元340将预测块和残差块相加得到重建块。重建块组成重建图像,环路滤波单元350基于图像或基于块对重建图像进行环路滤波,得到解码图像。编码端同样需要和解码端类似的操作获得解码图像。该解码图像也可以称为重建图像,重建图像可以为后续的帧作为帧间预测的参考帧。
需要说明的是,编码端确定的块划分信息,以及预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息等在必要时携带在码流中。解码端通过解析码流及根据已有信息进行分析确定与编码端相同的块划分信息,预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息,从而保证编码端获得的解码图像和解码端获得的解码图像相同。
上述是基于块的混合编码框架下的视频编解码器的基本流程,随着技术的发展,该框架或流程的一些模块或步骤可能会被优化,本申请适用于该基于块的混合编码框架下的视频编解码器的基本流程,但不限于该框架及流程。
下面,通过图3对本申请实施例的应用场景进行介绍。
图3为本申请实施例提供的视频处理方法的应用场景示意图,如图3所示,终端设备1可以与服务器2进行通信,其中,服务器2可以是独立的任一物理服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云服务的云服务器,还可以是多个物理服务器构成的服务器集群或者分布式系统,本申请实施例对此不做限制。服务器2可包括用于进行图像编码的编码模块(如图2A中的视频编码器),该编码模块可以包括将模拟音视频信号压缩为编码数据(编码文件)的硬件设备/软件代码。
终端设备是指一类具备丰富人机交互方式、拥有接入互联网能力、通常搭载各种操作系统、具有较强处理能力的设备。终端设备可以是手机、电视、电脑、车载终端、玩家游戏终端、智能语音交互设备、智能家电等,但不限于此。终端设备1中可以包括用于进行图像解码的解码模块(如图2B中的视频解码器),该解码模块可以包括将编码数据(或编码文件)转换为模拟音视频信号的硬件设备/软件代码。
如图3所示,终端设备1可以向服务器2发送视频播放请求。响应于该视频播放请求,服务器2可以向终端设备2发送视频码流。可选的,服务器2可以作为编码设备生成该视频码流,或者接收并保存来自编码设备的视频码流。终端设备1接收到视频码流后,可以对该视频码流进行解码并显示。
本申请实施例中,终端设备1可以是具有基本视频播放能力的设备,例如智能手机、平板电脑、台式计算机和智能电视等。可选的,终端设备1中安装并运行有视频播放客户端(或视频播放器),视频播放客户端可以是运行于终端设备1中的应用程序。
应理解,图3示例性地示出了一个终端设备、一台服务器,实际上可以包括其他数量的终端设备和服务器,本申请实施例对此不做限制。
相关技术中,一种方案是提供多种规格的视频内容来满足不同用户的差异化需求。如图4A所示,对于相同的视频内容,云端可以配置多种规格视频内容,终端的每种视频播放能力的设备配置其适合的一种规格的视频内容,比如播放设备1播放视频规格1的视频内容,播放设备2播放视频规格2的视频内容、播放设备3播放视频规格3的视频内容等,以此类推。视频内容规格越多增加的开销越大,特别是高规格视频,比如需要同时支持4K分辨率30FPS帧率视频和4K分辨率60FPS帧率视频。如果视频内容规格过少,则可能不能覆盖所有设备,或者不能发挥设备的播放能力,如可能在高端设备上播放中等规格视频内容,不能为用户提供最优的播放体验。
除了提供多种规格的视频内容的方案之外,在另一些方案中视频播放端也可以具有一定的自适应能力,能够根据其视频播放能力对视频帧进行分级处理,如根据视频帧的类型(I帧、P帧、B帧)来决定是否对该视频帧进行解码显示,来平衡视频播放端的解码压力。但是,现有的基于视频帧类型的分级处理方法,是基于MPEG2及更早的视频压缩标准而设计的。其中,在旧的编码格式中B帧不是参考帧,丢弃B帧不会导致其他帧解码失败。而在新的编码格式中,比如H.264以及之后的视频压缩标准,B帧可以是参考帧,丢弃B帧可能导致解码失败、输出画面花屏,或者视频播放不平滑等问题。因此,该方法在新的视频压缩标准上不再适用。
有鉴于此,本申请实施例提供了一种视频处理方法、装置、设备及存储介质,能够使得不同视频播放能力的设备播放同一规格的视频内容,且支持新的编码格式。
该视频处理方法应用于视频播放设备。具体而言,视频播放设备可以解析视频码流,得到视频码流中的至少两个第一视频帧的时域分层信息;其中,该时域分层信息用于指示至少两个第一视频帧在时域分层结构中的层级,该时域分层结构包括至少两个层级的视频帧,该至少两个层级中的高层级的视频帧根据该至少两个层级中的低层级的视频帧进行帧间预测得到;根据该时域分层信息对至少两个第一视频帧进行丢帧处理或不丢帧处理,得到第二视频帧;对第二视频帧进行解码,得到输出图像。
因此,本申请实施例通过根据视频帧的时域分层信息对视频帧进行丢帧处理或者不丢帧处理,能够支持视频播放设备对视频帧进行选择性丢帧或不丢帧,进而实现视频播放设备控制解码数据量,从而视频播放端能够具有对视频帧进行分级处理的自适应能力,即根据视频帧的时域分层信息来决定是否对该视频帧进行解码显示,来平衡视频播放端的解码压力。由于本申请实施例是根据视频帧的时域分层信息,而不是视频帧的类型(如I帧、P帧、B帧)来决定是否对该视频帧进行解码显示,因此本申请实施例能够支持新的编码方式,比如H.264以及之后的视频压缩标准。
进一步的,由于视频播放端能够具有对视频帧进行分级处理的自适应能力,因此云端可以只提供一种规格的视频内容即可满足不同用户的差异化需求,覆盖更多平台。例如终端按需对同一个规格版本的视频内容做降级处理,即可实现在高中低档设备上播放该同一规格版本的视频内容。因此本申请实施例能够降低云端为终端适配的视频规格数量,节省成本。
示例性的,如图4B所示,对于具有对视频帧进行分级处理的自适应能力的终端,可以根据实际运行终端设备的能力对视频帧进行丢帧或不丢帧处理,因此能够降低云端存储分发的同一内容的视频规格的数量。例如,对于具有算力自适应能力的播放设备1、播放设备2、播放设备3等,可以对同一视频规格的视频帧进行解码显示。
下面将对本申请实施例技术方案进行详细阐述:
图5为本申请实施例提供的一种视频处理方法500的流程示意图,视频处理方法500可以由任何具有数据处理能力的电子设备执行,例如该电子设备可实施为解码设备,如可实施为图1中的解码设备120或图2B中的视频解码器300;又例如,该电子设备可实施为终端设备,如可实施为图3中的终端设备1。如图5所示,视频处理方法500包括步骤510至530。
510,解析视频码流,得到至少两个第一视频帧的时域分层信息;其中,该时域分层信息用于指示该至少两个第一视频帧在时域分层结构中的层级。
示例性的,视频播放设备可以从服务器,如云端服务器接收视频码流,并对该视频码流进行解析,得到至少两个第一视频帧的时域分层信息。示例性的,当视频播放设备为图2B中的视频解码器300时,可以由熵解码单元310对视频码流进行解码,得到时域分层信息。
其中,第一视频帧的时域分层信息用于指示该第一视频帧在时域分层结构中的层级。时域分层结构包括至少两个层级的视频帧,该至少两个层级中的高层级的视频帧根据该至少两个层级中的低层级的视频帧进行帧间预测得到。
也就是说,时域分层结构用于表征上述至少两个第一视频帧的帧间预测方式。帧间预测技术为视频编码压缩技术中的一种有效降低视频大小的方式。具体而言,视频内容的数据量巨大,如1920×1080分辨率,30秒每帧的视频,每秒的数据量高达178兆字节,4096×2160分辨率,30秒每帧的视频,每秒的数据量达到了759兆字节。为了降低传输视频时的网络带宽占用,以及降低存储视频的存储空间占用,各种视频编码压缩技术应运而生,可以将视频文件体积压缩到原体积的1/1000或更多。
视频编码压缩技术通过降低空间冗余和时间冗余来提高压缩效率。空间冗余指同一幅图像,相邻位置的像素具有高度相似性;时间冗余指时间上连续的图像序列,相邻的两幅图像具有高度相似性。视频编码压缩技术的帧内预测利用了空间冗余的特性,通过相邻像素来预测当前位置像素;帧间预测利用了时间冗余特性,通过相邻视频帧预测当前视频帧像素。
帧间预测技术要求视频解码时,首先要按照固定的顺序解码视频帧;其次视频帧之间有依赖关系,要从特定位置开始解码,不能从任意位置解码。如果跳过某一帧不解码,其后的视频帧可能无法解码。
在H.264编码格式出现之前,视频编码压缩所采用的帧间预测方式相对简单。其中,视频帧可以分为I帧、P帧和B帧,B帧不作为参考帧,从而别的视频帧解码不依赖B帧,因此可以适当丢弃B帧以降低解码性能开销。但是,从H.264编码格式开始,帧间预测方式变得复杂,B帧可以作为参考帧,此时简单的丢弃B帧并不可行。
具体的,从H.264编码格式开始,视频编码压缩在帧间预测时可以采用时域分层结构,时域分层结构包括至少两个层级的视频帧,其中以低层级的视频帧可以作为参考帧,进行帧间预测得到高层级的视频帧。
图6示出了一种时域分层结构的示意图。该时域分层结构中,I代表I帧,P代表P帧,B代表B帧,下角标数字表示该时域分层结构中视频帧的编码顺序。如图6所示,视频帧总共分为了4层,其中箭头指向代表帧间预测的方向,如单向参考帧P1由关键帧I0预测得出,双向参考帧B2由I0和P1预测得到,双向参考帧B3由I0和B2预测得出,等等。图中高层级的视频帧的预测依赖于低层级的视频帧,而低层级的视频帧的预测不依赖于高层级的视频帧,如丢弃第3层视频帧B4,B5,B7和B8,第2层视频帧B3和B6的解码不受影响,而丢弃第2层视频帧B3,第3层视频帧B4和B5无法解码,丢弃第2层视频帧B6,第3层视频帧B7和B8无法解码.
需要说明的是,本申请以图6为例对时域分层结构进行说明,实际视频编码压缩技术中时域分层结构可以由多种结构。例如视频编码器可以根据不同的设计目标,灵活设计实现不同的时域分层结构,这都在本申请实施例的保护范围之内。
在一些实施例中,时域分层信息可以包括层级标识。具体而言,通过解析视频码流,可以得到视频码流的语法元素,其中可以显式包含视频帧的层级标识。根据该语法元素可以得到层级标识作为时域分层信息。例如,在H.265:High efficiency video coding,7.3.1.2 NAL unit header syntax中,nuh_temporal_id_plus1是时域分层的层级标识。具体如下表1所示:
表1
另外,H.266编码格式也包含相似的码流语法元素,显示的包含时域分层信息。
520,根据时域分层信息对至少两个第一视频帧进行丢帧处理或不丢帧处理,得到第二视频帧。
具体而言,可以根据至少两个第一视频帧在时域分层结构中的层级,对至少两个第一视频帧执行丢帧处理或不丢帧处理,得到第二视频帧。由于视频帧的层级能够表征视频帧在进行帧间预测时的依赖关系,因此根据视频帧的层级进行丢帧处理能够有利于丢弃不被依赖的视频帧,从而使得保留的视频帧(即第二视频帧)的解码不受影响。
在一些实施例中,还可以确定每个视频帧的丢帧优先级。其中,高层级的视频帧的丢帧优先级高于低层级的视频帧。这样,可以优先丢弃第一视频帧中高层级的视频帧,例如可以从时域分层结构中的最高层级开始丢帧,最高层丢完后再丢次高层,以此类推,直至只剩最底层(如第0层)视频帧。由于低层级的视频帧的解码不依赖于高层级的视频帧,因此丢弃高层级的视频帧并不会影响低层级视频帧的解码。
在一些实施例中,还可以获取视频播放设备的解码能力信息,该解码能力信息用于表征视频播放设备的视频解码能力。然后,可以根据该解码能力信息,确定对至少两个第一视频帧帧进行丢帧处理或者不丢帧处理。
示例性的,在视频播放设备的解码能力较高时,可以对至少两个第一视频帧进行不丢帧处理;在视频播放设备的解码能力中等时,可以对至少两个第一视频帧进行丢弃较少视频帧的处理;在视频播放设备的解码能力较低时,可以对至少两个第一视频帧进行丢弃较多视频帧的处理。
示例性的,可以根据视频播放设备的设备信息、视频码流的视频规格信息和视频播放设备的解码状态信息中的至少一种,得到上述解码能力信息。其中,设备信息包括供电方式信息、温度控制信息、节能模式信息、资源占用信息中的至少一种。
具体而言,视频播放设备的实时运行状态(即播放状态、解码状态)受多种因素的影响或干扰。如图7A所示,输入视频的视频规格、设备信息如设备的供电方式、节能模式、CPU温度、特效处理以及其他任务的运行均等干扰因素可以影响到视频播放设备的播放状态。应理解,干扰因素还可以包括图中未示出的其他可能影响视频播放状态的因素,本申请对此不做限定。
示例性的,特效处理或其他任务占用如CPU、GPU、内存等资源过高,视频规格过高,供电方式为电池供电,设备处于节能模式,设备CPU温度过高等,均可能导致容易出现播放卡顿的问题。如图7B所示,当视频播放设备具有算力自适应能力后,可以实时检测干扰因素(如图7A中所示的各个干扰因素)和视频播放设备的播放状态,并根据干扰因素和播放状态进行视频解码的算力调整,避免出现视频卡顿的现象。其中,播放状态可直接受到解码器的解码状态的影响,如解码状态较好时播放状态较好,解码状态较差时播放状态也比较差。
作为一种可实现的方式,在视频播放设备的解码能力信息满足第一预设条件时,可以对该至少两个第一视频帧进行不丢帧处理,得到第二视频帧。
具体而言,当视频播放设备的解码能力信息满足第一预设条件时,视频播放设备对视频码流不进行丢帧处理即可流畅播放解码后的视频,满足用户对高质量的视频播放体验的追求。
示例性的,第一预设条件可以包括以下至少一种:
视频播放设备具有播放高规格(如分辨率、帧率等大于预设值)视频内容的能力,比如个人电脑、电视、高配置的智能手机等设备;
视频规格较低,如视频分辨率、帧率等小于预设值;
视频播放设备的设备信息对播放状态干扰较小,如设备为电源供电方式、CPU温度小于预设值、正常功耗模式、资源占用率小于预设值等;
视频播放设备的解码状态较好,如解码耗时小于预设值、解码帧率高于预设值等。
作为另一种可实现的方式,在视频播放设备的解码能力信息满足第二预设条件时,可以对该至少两个第一视频帧进行丢帧处理,得到第二视频帧。
具体而言,当视频播放设备的解码能力信息满足第二预设条件时,视频播放设备对视频码流进行丢帧处理(即进行算力调整)才能保证流畅播放解码后的视频,实现视频播放能力低的设备,视频播放能力低的设备,如低配置的手机、嵌入式设备等,也能够实现对高规格视频内容的正常播放。
示例性的,第二预设条件可以包括以下至少一种:
视频播放设备不具有播放高规格(如分辨率、帧率等小于预设值)视频内容的能力,比如低配置的智能手机等设备、嵌入式设备等;
视频规格较高,如视频分辨率、帧率等大于预设值;
视频播放设备的设备信息对播放状态干扰较大,如设备为电池供电方式、CPU温度大于预设值、节能模式、资源占用率大于预设值等;
视频播放设备的解码状态较差,如解码耗时大于预设值、解码帧率低于预设值等。
在一些实施例中,在能力信息满足第二预设条件时,参见图8,可以通过以下步骤521和522得到第二视频帧。
521,根据视频播放设备的解码能力信息,确定至少两个第一视频帧的第一丢帧级别,其中,第一丢帧级别可以用于指示丢弃第一层级以上的视频帧。
示例性的,可以根据实时检测的干扰因素和播放器的播放状态,确定视频播放设备的解码能力信息,进一步根据解码能力信息确定当前的第一丢帧级别。可选的,还可以结合视频播放设备的配置,确定视频播放设备的解码能力信息。例如,当视频播放设备的解码能力比较高时,第一丢帧级别较低,此时对应的丢帧的层级越少;当视频播放设备的解码能力比较低时,第一丢帧级别较高,此时对应的丢帧的层级越多。
可选的,本申请实施例可以根据时域分层信息,确定至少一个丢帧级别。
示例性的,当时域分层结构总共有N层时,丢帧级别个数可以为N-1级。其中,其中N为大于1的正整数。可以理解的是,本申请实施例中丢帧级别越高,丢帧数量越多,对应的丢帧层级越多;丢帧级别越低,丢帧数量越少,对应的丢帧层级越少。
例如,对于图6中的时域分层结构,可以设置三个丢帧级别,其中丢帧级别1为最高丢帧级别,可以指示丢弃第1层以上(即第1层、第2层和第3层)的视频帧;丢帧级别2为次高丢帧级别,可以指示丢弃第2层以上(即第2层和第3层)的视频帧;丢帧级别3为第三高丢帧级别,可以指示丢弃第3层的视频帧。
可选的,还可以设置第N个丢帧级别,对应最低的丢帧级别。例如,对于图6中的时域分层结构,还可以设置丢帧级别4指示不丢帧。丢帧级别4可以理解为最低的丢帧级别。可选的,当解码能力信息满足上述第一预设条件时,可以设置丢帧级别为最低的丢帧级别,即对第一视频帧进行不丢帧处理。
522,对至少两个第一视频帧中第一层级以上的第三视频帧进行丢弃,得到第二视频帧。
示例性的,可以按照时域分层结构,将至少两个第一视频帧中第一层级,以及第一层级的更高层级的视频帧(即第三视频帧)丢弃,得到第二视频帧。作为具体的例子,对于图6中的时域分层结构,当第一丢帧级别对应的层级(即第一层级)为第3层时,可以将第3层的所有视频帧丢弃;当第一层级为第2层时,可以将第3层和第2层的所有视频帧丢弃,依次类推,直到只剩最低层级(即第0层)的视频帧。
可选的,可以按照层级由高至低对上述第三视频帧进行丢帧处理,得到第二视频帧。例如,可以优先丢弃最高层级的视频帧。由于低层级的视频帧的解码不依赖于高层级的视频帧,因此丢弃高层级的视频帧并不会影响低层级视频帧的解码。
可选的,对于同一丢帧级别的层级中的至少两个第三视频帧,可以按照每隔M帧丢弃一帧的方式进行丢帧处理,得到第二视频帧。M为大于1的正整数。
也就是说,时域分层结构中的每一层视频帧可以再次划分成多个更小的级别,对于每个更小的级别可以按照优先级顺序依次进行丢帧处理。继续参见图6,对于第3层的视频帧B4、B5、B7和B8,可以按照每2帧丢一帧的方式,选择性地丢弃B5和B8,而不会影响同层级或其他低层级的视频帧的解码。通过选择性丢帧的方式,能够最大限度地保证丢帧均匀,通过均匀丢帧能够有利于保证视频播放的平滑性。
因此,本申请实施例通过根据视频播放设备的解码能力信息,确定丢帧级别,进而对视频帧中该丢帧级别对应层级以上的视频帧进行丢弃,能够实现根据视频播放设备的干扰因素和解码状态控制解码数据量,避免播放卡顿。
在一些实施例中,继续参见图8,还可以根据以下步骤523和524得到第二视频帧。
523,当解码能力信息用于表征视频播放设备的视频解码能力增强时,将第一丢帧级别更新为第二丢帧级别;其中,第二丢帧级别用于指示丢弃第二层级以上的视频帧,第二层级高于上述第一层级。
例如,当视频播放设备的外部干扰因素或解码状态提高视频解码能力时,如设备由电池供电方式变成了充电状态,或解码耗时更低时,可以降低丢帧级别,如将第一丢帧级别降低为第二丢帧级别。作为具体的例子,当第一丢帧级别对应的层级(即第一层级)为第2层时,如果视频播放设备的视频解码能力增强,则降低丢帧级别得到第二丢帧级别,第二丢帧级别对应的层级为第3层。可选的,当视频播放设备的视频解码能力增强时,还可以降低丢帧级别为不丢帧处理。
524,对至少两个第一视频帧中第二层级以上的视频帧进行丢弃,得到第二视频帧。
例如,当第二丢帧级别对应的层级为第3层时,可以对至少两个第一视频帧中第3层以上的视频帧进行丢弃,得到第二视频帧。
在一些实施例中,继续参见图8,还可以根据以下步骤525和526得到第二视频帧。
525,当解码能力信息用于表征视频播放设备的视频解码能力减弱时,将第一丢帧级别更新为第三丢帧级别;其中,第三丢帧级别用于指示丢弃第三层级以上的视频帧,第三层级低于上述第一层级。
例如,当视频播放设备的外部干扰因素或解码状态降低视频解码能力时,如设备由充电状态变成了电池供电状态,或解码耗时变大时,可以提高丢帧级别,如将第一丢帧级别升高为第三丢帧级别。作为具体的例子,当第一丢帧级别对应的层级为第2层时,如果视频播放设备的视频解码能力减弱,则升高丢帧级别得到第三丢帧级别,第三丢帧级别对应的层级为第1层。可选的,当视频播放设备的视频解码能力减弱时,可以升高丢帧级别直至只剩最后一层视频帧。
526,对至少两个第一视频帧中第三层级以上的视频帧进行丢弃,得到第二视频帧。
例如,当第三丢帧级别对应的层级为第1层时,可以对至少两个第一视频帧中第1层以上的视频帧进行丢弃,得到第二视频帧。
因此,本申请实施例通过根据视频播放设备的解码能力信息,实时调整丢帧级别,进而根据调整后的丢帧级别对视频帧进行丢弃,能够实现实时地根据视频播放设备的干扰因素和解码状态控制解码数据量,自适应调整所需的解码算力,避免播放卡顿。
530,对第二视频帧进行解码,得到输出图像。
示例性的,可以将第二视频帧输入解码器,如图1中的视频解码器122、图2B中的视频解码器300,或者图3中终端设备2的解码器中进行解码,解码器输出图像,渲染后可以呈现到视频播放设备的屏幕上。
因此,本申请实施例通过根据视频帧的时域分层信息对视频帧进行丢帧处理或者不丢帧处理,能够支持视频播放设备对视频帧进行选择性丢帧或不丢帧,进而实现视频播放设备控制解码数据量,从而视频播放端能够具有对视频帧进行分级处理的自适应能力,即根据视频帧的时域分层信息来决定是否对该视频帧进行解码显示,来平衡视频播放端的解码压力。由于本申请实施例是根据视频帧的时域分层信息,而不是视频帧的类型(如I帧、P帧、B帧)来决定是否对该视频帧进行解码显示,因此本申请实施例能够支持新的编码方式,比如H.264以及之后的视频压缩标准。随着新的视频编码格式的推广部署,本申请实施例可获得更广泛的应用,提升用户的播放体验。
进一步的,由于视频播放端能够具有对视频帧进行分级处理的自适应能力,因此云端可以只提供一种规格的视频内容即可满足不同用户的差异化需求,覆盖更多平台。例如终端按需对同一个规格版本的视频内容做降级处理,即可实现在高中低档设备上播放该同一规格版本的视频内容。因此本申请实施例能够降低云端为终端适配的视频规格数量,节省成本。
图9示出了本申请实施例提供的另一种视频处理的方法的示意性流程图。应理解,图9示出了视频处理的方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图9中的各个操作的变形。此外,图9中的各个步骤可以按照与图9呈现的不同的顺序来执行,并且有可能并非要执行图9的全部操作。
910,解析码流。
具体的,对于接收的视频码流可以进行解析。这里,解析码流可以得到语法元素,其中可以包括视频帧的时域分层信息。具体的,步骤910可以参考图5中步骤510的描述,这里不再赘述。
920,策略调整。
具体的,可以实时检测视频播放设备的外部干扰因素和解码器的解码状态,自适应地进行丢帧策略的调整(即算力调整)。示例性的,干扰因素比如包括但不限于视频规格、供电方式、节能模式、CPU温度、特效处理以及其他任务处理等因素。其中,丢帧策略指示根据时域分层信息进行丢帧或不丢帧处理。
例如,当根据干扰因素和解码状态,确定当前解码能力较高(如满足第一预设条件)时,可以配置不丢帧处理策略以对视频帧进行不丢帧处理。又例如,当根据干扰因素和解码状态,确定当前解码能力不高(如满足第二预设条件)时,可以配置丢帧级别以对视频帧进行丢帧处理。又例如,当干扰因素降低视频解码能力时,可以提高丢帧级别;反之,当干扰因素能够提高视频解码能力时,可以降低丢帧级别或不丢帧。又例如,当解码耗时过长时,可以提高丢帧级别;当解码耗时降低时,可以降低丢帧级别或不丢帧。其中,丢帧级别可以指示丢弃的视频帧的层级。
930,比特流滤波。
具体的,可以由比特流滤波器根据配置的丢帧或不丢帧策略执行滤波操作。其中,比特流滤波器的丢帧能力受自适应算力策略的调整而改变。比特流滤波器可以基于策略对应的丢帧级别,根据时域分层信息指示的视频帧的级别,在不影响视频解码的前提下按需丢弃部分视频帧数据,实现减少解码视频帧的数量,调整解码算力。
可选的,比特流滤波器可以为独立于视频解码器的装置,其与视频解码器解耦,作用于视频解码器但不依赖于视频解码器,能够适用于软件解码器和硬件解码器,具有普适性。
940,视频解码。
具体的,比特流滤波器输出的视频帧可以输入视频解码器进行解码,输出解码图像。
950,视频渲染。
具体的,输出图像经渲染后可以呈现到视频播放设备的显示器(如电子屏幕)上。
因此,本申请实施例能够基于视频播放设备的解码能力信息,自适应地根据视频帧的时域分层信息对视频帧进行丢帧处理或者不丢帧处理,实现视频播放设备控制解码数据量,从而视频播放端能够具有对视频帧进行分级处理的自适应能力来平衡视频播放端的解码压力。另外,由于本申请实施例是根据视频帧的时域分层信息来决定是否对该视频帧进行解码显示,因此本申请实施例能够支持新的编码方式,比如H.264以及之后的视频压缩标准。进一步的,由于视频播放端能够具有对视频帧进行分级处理的自适应能力,因此云端可以只提供一种规格的视频内容即可满足不同用户的差异化需求,覆盖更多平台,从而降低云端为终端适配的视频规格数量,节省成本。
以上结合附图详细描述了本申请的具体实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。应理解这些序号在适当情况下可以互换,以便描述的本申请的实施例能够以除了在图示或描述的那些以外的顺序实施。
上文详细描述了本申请的方法实施例,下文结合图10至图11,详细描述本申请的装置实施例。
图10为本申请实施例提供的一种视频处理装置10的结构示意图,如图10所示,该视频处理装置10可以包括:解析单元11、处理单元12和解码单元13。
解析单元11,用于解析视频码流,得到至少两个第一视频帧的时域分层信息;其中,所述时域分层信息用于指示所述至少两个第一视频帧在时域分层结构中的层级,所述时域分层结构包括至少两个层级的视频帧,所述至少两个层级中的高层级的视频帧根据所述至少两个层级中的低层级的视频帧进行帧间预测得到;
处理单元12,用于根据所述时域分层信息对所述至少两个第一视频帧进行丢帧处理或不丢帧处理,得到第二视频帧;
解码单元13,用于对所述第二视频帧进行解码,得到输出图像。
在一些实施例中,还包括获取单元,用于:
获取所述视频播放设备的解码能力信息;
其中,处理单元12具体用于:
在所述解码能力信息满足第一预设条件时,对所述至少两个第一视频帧进行不丢帧处理,得到所述第二视频帧;或者
在所述解码能力信息满足第二预设条件时,对所述至少两个第一视频帧进行丢帧处理,得到所述第二视频帧。
在一些实施例中,处理单元12具体用于:
根据所述解码能力信息,确定所述至少两个第一视频帧的第一丢帧级别;所述第一丢帧级别用于指示丢弃第一层级以上的视频帧;
对所述至少两个第一视频帧中所述第一层级以上的第三视频帧进行丢弃,得到所述第二视频帧。
在一些实施例中,处理单元12具体用于:
按照层级由高至低对所述第三视频帧进行丢帧处理,得到所述第二视频帧。
在一些实施例中,处理单元12具体用于:
对于同一层级中的至少两个所述第三视频帧,按照每隔M帧丢弃一帧的方式进行丢帧处理,得到所述第二视频帧;其中,M为大于1的正整数。
在一些实施例中,处理单元12具体用于:
当所述解码能力信息用于表征所述视频播放设备的视频解码能力增强时,将所述第一丢帧级别更新为第二丢帧级别;其中,所述第二丢帧级别用于指示丢弃第二层级以上的视频帧,所述第二层级高于所述第一层级;
对所述至少两个第一视频帧中所述第二层级以上的视频帧进行丢弃,得到所述第二视频帧。
在一些实施例中,处理单元12具体用于:
当所述解码能力信息用于表征所述视频播放设备的视频解码能力减弱时,将所述第一丢帧级别更新为第三丢帧级别;其中,所述第三丢帧级别用于指示丢弃第三层级以上的视频帧,所述第三层级低于所述第一层级;
对所述至少两个第一视频帧中所述第三层级以上的视频帧进行丢弃,得到所述第二视频帧。
在一些实施例中,当所述时域分层结构的层数为N时,所述至少两个第一视频帧的丢帧级别个数为N-1;其中N为大于1的正整数。
在一些实施例中,获取单元具体用于:
根据所述视频播放设备的设备信息、所述视频码流的视频规格信息和所述视频播放设备的解码状态信息中的至少一种,得到所述解码能力信息;其中,所述设备信息包括供电方式信息、温度控制信息、节能模式信息、资源占用信息中的至少一种。
在一些实施例中,解析单元11具体用于:
解析所述视频码流,得到所述视频码流的语法元素;
根据所述语法元素得到层级标识作为所述时域分层信息。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图10所示的视频处理装置10可以执行图5对应的方法实施例,并且视频处理装置10中的各个模块的操作和/或功能分别为了实现图5对应的方法实施例中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的视频处理装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图11是本申请实施例提供的电子设备30的示意性框图。该电子设备可以为上文中的视频处理装置。
如图11所示,该电子设备30可包括:
存储器31和处理器32,该存储器31用于存储计算机程序,并将该程序代码传输给该处理器32。换言之,该处理器32可以从存储器31中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器32可用于根据该计算机程序中的指令执行上述方法实施例。
在本申请的一些实施例中,该处理器32可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器31包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器31中,并由该处理器32执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图11所示,该电子设备30还可包括:
收发器33,该收发器33可连接至该处理器32或存储器31。
其中,处理器32可以控制该收发器33与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器33可以包括发射机和接收机。收发器33还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
可以理解的是,在本申请的具体实施方式中,当本申请以上实施例运用到具体产品或技术中并涉及到用户信息等相关的数据时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关法律法规和标准。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上内容,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以该权利要求的保护范围为准。

Claims (14)

1.一种视频处理方法,其特征在于,应用于视频播放设备,包括:
解析视频码流,得到至少两个第一视频帧的时域分层信息;其中,所述时域分层信息用于指示所述至少两个第一视频帧在时域分层结构中的层级,所述时域分层结构包括至少两个层级的视频帧,所述至少两个层级中的高层级的视频帧根据所述至少两个层级中的低层级的视频帧进行帧间预测得到;
根据所述时域分层信息对所述至少两个第一视频帧进行丢帧处理或不丢帧处理,得到第二视频帧;
对所述第二视频帧进行解码,得到输出图像。
2.根据权利要求1所述的视频处理方法,其特征在于,还包括:
获取所述视频播放设备的解码能力信息;
其中,根据所述时域分层信息对所述至少两个第一视频帧进行丢帧处理或不丢帧处理,得到第二视频帧,包括:
在所述解码能力信息满足第一预设条件时,对所述至少两个第一视频帧进行不丢帧处理,得到所述第二视频帧;或者
在所述解码能力信息满足第二预设条件时,对所述至少两个第一视频帧进行丢帧处理,得到所述第二视频帧。
3.根据权利要求2所述的视频处理方法,其特征在于,所述在所述解码能力信息满足第二预设条件时,对所述至少两个第一视频帧进行丢帧处理,得到所述第二视频帧,包括:
根据所述解码能力信息,确定所述至少两个第一视频帧的第一丢帧级别;所述第一丢帧级别用于指示丢弃第一层级以上的视频帧;
对所述至少两个第一视频帧中所述第一层级以上的第三视频帧进行丢弃,得到所述第二视频帧。
4.根据权利要求3所述的视频处理方法,其特征在于,所述对所述至少两个第一视频帧中所述第一层级以上的第三视频帧进行丢弃,得到所述第二视频帧,包括:
按照层级由高至低对所述第三视频帧进行丢帧处理,得到所述第二视频帧。
5.根据权利要求3所述的视频处理方法,其特征在于,所述对所述至少两个第一视频帧中所述第一层级以上的第三视频帧进行丢弃,得到所述第二视频帧,包括:
对于同一层级中的至少两个所述第三视频帧,按照每隔M帧丢弃一帧的方式进行丢帧处理,得到所述第二视频帧;其中,M为大于1的正整数。
6.根据权利要求3所述的视频处理方法,其特征在于,还包括:
当所述解码能力信息用于表征所述视频播放设备的视频解码能力增强时,将所述第一丢帧级别更新为第二丢帧级别;其中,所述第二丢帧级别用于指示丢弃第二层级以上的视频帧,所述第二层级高于所述第一层级;
对所述至少两个第一视频帧中所述第二层级以上的视频帧进行丢弃,得到所述第二视频帧。
7.根据权利要求3所述的视频处理方法,其特征在于,还包括:
当所述解码能力信息用于表征所述视频播放设备的视频解码能力减弱时,将所述第一丢帧级别更新为第三丢帧级别;其中,所述第三丢帧级别用于指示丢弃第三层级以上的视频帧,所述第三层级低于所述第一层级;
对所述至少两个第一视频帧中所述第三层级以上的视频帧进行丢弃,得到所述第二视频帧。
8.根据权利要求3所述的视频处理方法,其特征在于,当所述时域分层结构的层数为N时,所述至少两个第一视频帧的丢帧级别个数为N-1;其中N为大于1的正整数。
9.根据权利要求2所述的视频处理方法,其特征在于,所述获取所述视频播放设备的解码能力信息,包括:
根据所述视频播放设备的设备信息、所述视频码流的视频规格信息和所述视频播放设备的解码状态信息中的至少一种,得到所述解码能力信息;其中,所述设备信息包括供电方式信息、温度控制信息、节能模式信息、资源占用信息中的至少一种。
10.根据权利要求1所述的视频处理方法,其特征在于,所述解析视频码流,得到至少两个第一视频帧的时域分层信息,包括:
解析所述视频码流,得到所述视频码流的语法元素;
根据所述语法元素得到层级标识作为所述时域分层信息。
11.一种视频处理装置,其特征在于,应用于视频播放设备,包括:
解析单元,用于解析视频码流,得到至少两个第一视频帧的时域分层信息;其中,所述时域分层信息用于指示所述至少两个第一视频帧在时域分层结构中的层级,所述时域分层结构包括至少两个层级的视频帧,所述至少两个层级中的高层级的视频帧根据所述至少两个层级中的低层级的视频帧进行帧间预测得到;
处理单元,用于根据所述时域分层信息对所述至少两个第一视频帧进行丢帧处理或不丢帧处理,得到第二视频帧;
解码单元,用于对所述第二视频帧进行解码,得到输出图像。
12.一种视频处理设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1-10中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1-10中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10中任一项所述方法的步骤。
CN202310971882.5A 2023-08-03 2023-08-03 视频处理方法、装置、设备及存储介质 Pending CN116708938A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310971882.5A CN116708938A (zh) 2023-08-03 2023-08-03 视频处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310971882.5A CN116708938A (zh) 2023-08-03 2023-08-03 视频处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116708938A true CN116708938A (zh) 2023-09-05

Family

ID=87839606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310971882.5A Pending CN116708938A (zh) 2023-08-03 2023-08-03 视频处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116708938A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848958A (zh) * 2005-04-14 2006-10-18 中兴通讯股份有限公司 一种在网络中传输视频流的方法
CN114845134A (zh) * 2020-10-16 2022-08-02 腾讯科技(深圳)有限公司 文件封装方法、文件传输方法、文件解码方法及相关设备
US20230091266A1 (en) * 2021-06-11 2023-03-23 Tencent Technology (Shenzhen) Company Limited Media data processing method and related device
CN116074528A (zh) * 2021-10-29 2023-05-05 北京猿力未来科技有限公司 视频编码方法及装置、编码信息调度方法及装置
WO2023130896A1 (zh) * 2022-01-10 2023-07-13 腾讯科技(深圳)有限公司 媒体数据的数据处理方法、装置、计算机设备及存储介质
CN116456111A (zh) * 2023-03-16 2023-07-18 阿里巴巴(中国)有限公司 视频抽帧处理与倍速播放方法、装置、视频平台及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848958A (zh) * 2005-04-14 2006-10-18 中兴通讯股份有限公司 一种在网络中传输视频流的方法
CN114845134A (zh) * 2020-10-16 2022-08-02 腾讯科技(深圳)有限公司 文件封装方法、文件传输方法、文件解码方法及相关设备
US20230091266A1 (en) * 2021-06-11 2023-03-23 Tencent Technology (Shenzhen) Company Limited Media data processing method and related device
CN116074528A (zh) * 2021-10-29 2023-05-05 北京猿力未来科技有限公司 视频编码方法及装置、编码信息调度方法及装置
WO2023130896A1 (zh) * 2022-01-10 2023-07-13 腾讯科技(深圳)有限公司 媒体数据的数据处理方法、装置、计算机设备及存储介质
CN116456111A (zh) * 2023-03-16 2023-07-18 阿里巴巴(中国)有限公司 视频抽帧处理与倍速播放方法、装置、视频平台及介质

Similar Documents

Publication Publication Date Title
US10609375B2 (en) Sample adaptive offset (SAO) adjustment method and apparatus and SAO adjustment determination method and apparatus
US9826254B2 (en) Method for entropy-encoding slice segment and apparatus therefor, and method for entropy-decoding slice segment and apparatus therefor
RU2608354C2 (ru) Способ и устройство для кодирования видео и способ и устройство для декодирования видео, определяющие список опорных изображений внешнего прогнозирования в зависимости от размера блока
RU2411687C1 (ru) Улучшения cavlc для кодирования уровня улучшения svc cgs
US20150071351A1 (en) Inter prediction method in which reference picture lists can be changed and apparatus for the same
CN113038128B (zh) 数据传输方法、装置、电子设备及存储介质
CN114501010A (zh) 图像编码方法、图像解码方法及相关装置
CN117121480A (zh) 用于在媒体比特流内用信号通知神经网络的高级语法
CN114845134B (zh) 文件封装方法、文件传输方法、文件解码方法及相关设备
US20140226711A1 (en) System and method for self-adaptive streaming of multimedia content
US10313699B2 (en) Method and apparatus for parallel video decoding based on multi-core system
US11032554B2 (en) Video encoding/decoding method and device for controlling reference image data according to reference frequency
US20240080487A1 (en) Method, apparatus for processing media data, computer device and storage medium
CN115866297A (zh) 视频处理方法、装置、设备及存储介质
CN116567256A (zh) 分层编码方法、装置、设备及存储介质
CN116708938A (zh) 视频处理方法、装置、设备及存储介质
WO2022269469A1 (en) Method, apparatus and computer program product for federated learning for non independent and non identically distributed data
US10412410B2 (en) Compound motion-compensated prediction
CN116760976B (zh) 仿射预测决策方法、装置、设备及存储介质
CN116980619A (zh) 视频处理方法、装置、设备及存储介质
WO2023004590A1 (zh) 一种视频解码、编码方法及设备、存储介质
WO2023231775A1 (zh) 滤波方法、滤波模型训练方法及相关装置
WO2022247452A1 (zh) 多媒体资源中轨道数据的处理方法、装置、介质及设备
CN117676266A (zh) 视频流的处理方法及装置、存储介质、电子设备
Hsu et al. A new seamless bitstream switching scheme for H. 264 video adaptation with enhanced coding performance

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40092348

Country of ref document: HK