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

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

Info

Publication number
CN116980619A
CN116980619A CN202310972697.8A CN202310972697A CN116980619A CN 116980619 A CN116980619 A CN 116980619A CN 202310972697 A CN202310972697 A CN 202310972697A CN 116980619 A CN116980619 A CN 116980619A
Authority
CN
China
Prior art keywords
video
frame
video frame
image
code stream
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
CN202310972697.8A
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 CN202310972697.8A priority Critical patent/CN116980619A/zh
Publication of CN116980619A publication Critical patent/CN116980619A/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/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark

Landscapes

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

Abstract

提供了一种视频处理方法、装置、设备及存储介质,涉及音视频技术领域。该视频处理方法包括:从第一视频码流中获取第一视频帧;对该第一视频帧进行帧内预测解码,得到第一图像;对该第一图像添加水印,得到包含水印信息的第二图像;对该第二图像进行帧内预测编码,得到第二视频帧;根据第一视频帧和第二视频帧,得到第二视频码流;其中,第二视频码流中依次包括所述第二视频帧、所述第一视频帧和第三视频帧,第三视频帧以第一视频帧为参考帧进行帧间预测编码得到。本申请实施例能够有效降低视频加水印的算力成本,且有利于保证播放终端能够正常对视频码流进行解码,提高解码准确率。

Description

视频处理方法、装置、设备及存储介质
技术领域
本申请实施例涉及音视频技术领域,尤其涉及视频处理方法、装置、设备及存储介质。
背景技术
随着网络基础设备的逐步延伸和各种智能终端的普及,人们能够看到更高清、更丰富的视频。视频中添加水印可以作为版权声明标识,以及视频溯源的手段。水印既可以是肉眼可见的水印,也可以是肉眼不可见,需要通过程序处理提取的密写水印。
内容分发网络(Content Delivery Network,CDN)可以从源站拉取原始视频文件,对视频文件进行各种转换,如剪裁、缩放、加水印等操作,并将转换后的视频文件分发给终端。相关技术中,CDN边缘节点可以根据内容分发渠道、播放终端信息等在视频中动态插入水印,从而为视频提供版权声明标识和内容溯源能力,有效提高视频版权保护级别。然而,视频加水印是资源密集型操作,会耗费大量的CPU/GPU和内存资源,特别是加水印过程中的视频编码和视频解码。高算力的加水印操作不仅带来了高成本支出,还有可能降低解码准确率。
发明内容
本申请实施例提供一种视频处理方法、装置、设备及存储介质,能够有效降低视频加水印的算力成本,且有利于保证播放终端能够正常对视频码流进行解码,提高解码准确率。
第一方面,提供了一种视频处理方法,包括:
从第一视频码流中获取第一视频帧;
对所述第一视频帧进行帧内预测解码,得到第一图像;
对所述第一图像添加水印,得到包含水印信息的第二图像;
对所述第二图像进行帧内预测编码,得到第二视频帧;
根据所述第一视频帧和所述第二视频帧,得到第二视频码流,其中,所述第二视频码流中依次包括所述第二视频帧、所述第一视频帧和第三视频帧,所述第三视频帧以所述第一视频帧为参考帧进行帧间预测编码得到。
第二方面,提供了一种视频处理方法,包括:
从第二视频码流中获取第一视频帧、第二视频帧和第三视频帧;所述第二视频码流依次包括所述第二视频帧、所述第一视频帧和所述第三视频帧;所述第二视频帧是通过对第二图像进行帧内预测编码得到的;所述第二图像是对第一图像添加水印得到的;所述第一图像是对所述第一视频帧进行帧内预测解码得到的;
对所述第二视频帧进行帧内预测解码,得到所述第二图像;
对所述第一视频帧进行帧内预测解码,得到所述第一图像;
以所述第一视频帧为参考帧对所述第三视频帧进行帧间预测解码,得到第三图像。
第三方面,提供了一种视频处理装置,包括:
获取单元,用于从第一视频码流中获取第一视频帧;
解码单元,用于对所述第一视频帧进行帧内预测解码,得到第一图像;
加水印单元,用于对所述第一图像添加水印,得到包含水印信息的第二图像;
编码单元,用于对所述第二图像进行帧内预测编码,得到第二视频帧;
处理单元,用于根据所述第一视频帧和所述第二视频帧,得到第二视频码流,其中,所述第二视频码流中依次包括所述第二视频帧、所述第一视频帧和第三视频帧,所述第三视频帧以所述第一视频帧为参考帧进行帧间预测编码得到。
第四方面,提供了一种视频处理装置,包括:
获取单元,用于
从第二视频码流中获取第一视频帧、第二视频帧和第三视频帧;所述第二视频码流依次包括所述第二视频帧、所述第一视频帧和所述第三视频帧;所述第二视频帧是通过对第二图像进行帧内预测编码得到的;所述第二图像是对第一图像添加水印得到的;所述第一图像是对所述第一视频帧进行帧内预测解码得到的;
解码单元,用于对所述第二视频帧进行帧内预测解码,得到所述第二图像;
所述解码单元还用于对所述第一视频帧进行帧内预测解码,得到所述第一图像;
所述解码单元还用于以所述第一视频帧为参考帧对所述第三视频帧进行帧间预测解码,得到第三图像。
第五方面,提供了一种视频处理设备,包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行如第一方面或第二方面的方法。
第六方面,提供了一种计算机可读存储介质,用于存储计算机程序,计算机程序使得计算机执行如第一方面或第二方面中的方法。
第七方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行如第一方面或第二方面中的方法。
综上,本申请实施例通过对第一视频码流中的能够独立编解码的原始的第一视频帧进行解码,并对解码图像加入水印后进行重新编码得到新的第二视频帧,然后得到依次包含第二视频帧、第一视频帧和第三视频帧的第二视频帧码流,使得第二视频码流中该第三视频帧仍然可以以该第一视频帧为参考帧进行解码,从而有利于保证播放终端能够正常对视频码流进行解码,提高解码准确率。进一步的,本申请实施例中加水印过程中视频编码无需引入定制编码器,能够有效降低视频加水印的算力成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例涉及的一种视频编解码系统的可选示意性框图;
图2A为本申请实施例涉及的视频编码器的可选示意性框图;
图2B为本申请实施例涉及的视频解码器的可选示意性框图;
图3A为本申请实施例提供的视频处理方法的应用场景的一个示意图;
图3B为本申请实施例提供的视频处理方法的应用场景的另一个示意图;
图3C为本申请实施例提供的视频处理方法的应用场景的另一个示意图;
图4为本申请实施例提供的一种视频处理方法的流程示意图;
图5A为本申请实施例提供的一种视频处理流程的示意图;
图5B为本申请实施例提供的另一种视频处理流程的示意图;
图6A为本申请实施例提供的另一种视频处理流程的示意图;
图6B为本申请实施例提供的另一种视频处理流程的示意图;
图7为本申请实施例提供的另一种视频处理方法的流程示意图;
图8为本申请实施例提供的一种视频处理装置的结构示意图;
图9为本申请实施例提供的另一种视频处理装置的结构示意图;
图10是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供的方案可涉及云技术。云技术(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为具有视频解码功能的设备。编码设备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基于图像或基于块对重建图像进行环路滤波,得到解码图像。编码端同样需要和解码端类似的操作获得解码图像。该解码图像也可以称为重建图像,重建图像可以为后续的帧作为帧间预测的参考帧。
需要说明的是,编码端确定的块划分信息,以及预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息等在必要时携带在码流中。解码端通过解析码流及根据已有信息进行分析确定与编码端相同的块划分信息,预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息,从而保证编码端获得的解码图像和解码端获得的解码图像相同。
上述是基于块的混合编码框架下的视频编解码器的基本流程,随着技术的发展,该框架或流程的一些模块或步骤可能会被优化,本申请适用于该基于块的混合编码框架下的视频编解码器的基本流程,但不限于该框架及流程。
下面,通过图3A、图3B和图3C对本申请实施例的应用场景进行介绍。
图3A为本申请实施例提供的视频处理方法的一种应用场景示意图,如图3A所示,终端设备21可以与服务器11进行通信,其中,服务器11可以是独立的任一物理服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云服务的云服务器,还可以是多个物理服务器构成的服务器集群或者分布式系统,本申请实施例对此不做限制。服务器11可包括用于进行视频编码的编码模块(如图2A中的视频编码器),该编码模块可以包括将模拟音视频信号压缩为编码数据(编码文件)的硬件设备/软件代码。在视频编码的过程中,可以在视频中加入水印。
终端设备是指一类具备丰富人机交互方式、拥有接入互联网能力、通常搭载各种操作系统、具有较强处理能力的设备。终端设备可以是智能手机、客厅电视、平板电脑、车载终端、玩家游戏终端,如掌上游戏主机等,但不限于此。终端设备21中可以包括用于进行视频解码的解码模块(如图2B中的视频解码器),该解码模块可以包括将编码数据(或编码文件)转换为模拟音视频信号的硬件设备/软件代码。
如图3A所示,终端设备21可以向服务器11发送视频播放请求。响应于该视频播放请求,服务器11可以向终端设备21发送视频码流。可选的,服务器11可以作为编码设备生成该视频码流,或者接收并保存来自编码设备的视频码流。终端设备21接收到视频码流后,可以对该视频码流进行解码并显示。
本申请实施例中,终端设备21可以是具有基本视频播放能力的设备,例如智能手机、平板电脑、台式计算机和智能电视等。可选的,终端设备21中安装并运行有视频播放客户端(或视频播放器),视频播放客户端可以是运行于终端设备21中的应用程序。
应理解,图3A示例性地示出了一个终端设备、一台服务器,实际上可以包括其他数量的终端设备和服务器,本申请实施例对此不做限制。
图3B为本申请实施例提供的视频处理方法的另一种应用场景示意图,其中云端12和CDN31可以为图3A中服务器21的一个示例,播放终端22为图3A中终端设备11的一个示例。
如图3B所示,云端12可以作为服务端对源视频文件进行视频解码,并在解码后的视频文件中叠加水印,叠加水印后的视频文件进行视频编码,得到叠加水印的视频码流。在云端12统一加水印处理后得到的视频码流由CDN31分发到播放终端22。示例性的,播放终端22中可以包括电脑、电视、手机等视频播放设备。在服务端对视频加水印,通常采用批量集中处理的方式插入固定水印,该固定水印可以包括视频内容提供者的相关信息作为版权声明标识。服务端批量插入水印时,水印提供的信息是固定的,视频内容被泄露和非法分发时,难以获取内容泄露的渠道。
图3C为本申请实施例提供的视频处理方法的另一种应用场景示意图,其中云端CDN32可以为图3A中服务器21的一个示例,播放终端23为图3A中终端设备11的一个示例。
如图3C所示,CDN32作为云端的边缘节点,其上可以部署视频加水印算力,为服务端提供动态加水印的能力。CDN32可以根据内容分发渠道,获取播放终端的终端信息。示例性的,终端信息可以包括但不限于播放终端标识,或者播放APP的账户标识等信息。在获取源视频文件后,可以对源视频文件进行视频解码,并根据终端信息在解码后的视频文件中叠加水印,叠加水印后的视频文件进行视频编码,得到叠加水印的视频码流,并分发到播放终端23。由于动态加入的水印包含内容分发渠道的信息,因此通过在CDN边缘节点为视频动态插入水印,能够为视频提供更多的版权声明标识和内容溯源能力,进而提高视频版权保护级别。
然而,视频动态加水印是资源密集型操作,会耗费大量的CPU/GPU和内存资源,特别是加水印过程中的视频编码和视频解码。例如,CDN中需要配置定制编码器对加水印后的视频帧进行编码,以使得加水印后的编码码流能够被正常解码。高算力的加水印操作带来的是高成本支出,并且复杂的加水印操作还有可能造成解码准确率的降低。因此如何降低视频加水印的算力成本以及提高解码准确率亟待解决。
有鉴于此,本申请实施例提供了一种视频处理方法、装置、设备及存储介质,能够有效降低视频加水印的算力成本,且有利于保证播放终端能够正常对视频码流进行解码,提高解码准确率。
具体而言,可以对第一视频码流中的能够独立编解码的原始的第一视频帧进行解码,并对解码图像加入水印后进行重新编码得到新的第二视频帧,然后得到依次包含第二视频帧、第一视频帧和第三视频帧的第二视频帧码流,使得第二视频码流中该第三视频帧仍然可以以该第一视频帧为参考帧进行解码,从而有利于保证播放终端能够正常对视频码流进行解码,提高解码准确率。进一步的,本申请实施例中加水印过程中视频编码无需引入定制编码器,能够有效降低视频加水印的算力成本。
下面将对本申请实施例技术方案进行详细阐述:
图4为本申请实施例提供的一种视频处理方法400的流程示意图,方法400可以由任何具有数据处理能力的电子设备执行,例如该电子设备可实施为编码设备,如可实施为图1中的编码设备110或图2A中的视频编码器200;又例如,该电子设备可实施为服务器,如可实施为图3A中的服务器11,图3B中的云端设备12,图3C中的CDN边缘节点32等。如图4所示,方法400包括步骤410至450。
410,从第一视频码流中获取第一视频帧。
其中,第一视频码流为对视频数据(如图像序列)进行编码得到的码流。示例性的,当电子设备实施为CDN边缘节点时,CDN边缘节点可以从云端接收该第一视频码流。当电子设备实时为云端设备时,云端设备可以对视频数据进行编码得到该第一视频码流。
在获取第一视频码流后,可以从第一视频码流中获取第一视频帧。示例性的,参见图5A,第一视频码流可以包括多个视频帧,其中包括至少一个第一视频帧501和多个普通帧,第一视频帧501在时间轴上可以位于普通视频帧之间,本申请对此不做限定。
在一些实施例中,第一视频帧在第一视频码流中的帧类型为即时解码刷新图像(Instantaneous Decoder Refresh,IDR)帧。
其中,IDR帧是H.264视频编码标准中定义的一种帧类型,是一种特殊的关键帧(I帧),用于在视频序列中定期插入的一个可靠的同步点,以确保解码器可以正确地解码视频流并恢复图像质量。
I帧即帧内编码帧(Intra-coded frame),是一种关键帧,可以独立的进行解码和显示,不依赖与其他帧进行参考。在I帧中,图像数据由运动补偿、变换编码和量化编码技术处理得到,因此I帧的压缩比较低,但图像质量较高,通常用于图像序列的起始位置或场景发生较大变化的位置。IDR帧也是一种关键帧,其与普通的I帧相比具有更高的重要性和特殊作用。IDR帧除了具有I帧的特点之外,还具有以下特点:
1)IDR帧之前的所有帧都被解码器丢帧,因此IDR帧是独立的,不依赖与其他帧进行解码;
2)IDR帧会清空解码器的参考图像缓存,确保后面的预测帧可以正确地参考当前帧;
3)IDR帧之后的帧可以通过参考IDR帧和其之前的参考帧进行解码。
因此,IDR帧在视频编解码和视频传输中起着重要作用,可以提高视频的容错性和可靠性。
在一些实施例中,可以通过解析第一视频码流,得到视频码流的语法元素,其中可以显式包含每个视频帧的类型标识。根据该语法元素中视频帧的类型标识,可以从第一视频帧中获取第一视频帧。例如,在H.264视频编码标准中,网络抽象层单元如下表1所示:
表1
其中,nal_unit_type即网络抽象层类型。其中,nal_unit_type值为5表示视频帧为IDR帧,nal_unit_type值为1表示视频帧为非IDR(non-IDR)帧。非IDR帧也可以称为普通帧。因此,在一个实施例中,可以将第一视频码流中nal_unit_type值为5的所有或部分视频帧确定为上述第一视频帧。例如,可以从第一视频码流中的nal_unit_type值为5的IDR帧中以相等间隔或不等间隔选择部分视频帧作为第一视频帧。
在一些实施例中,第一视频帧在第一视频码流中的帧类型为I帧,本申请对此不做限定。示例性的,可以从第一视频码流中I帧视频帧中以相等间隔或不等间隔选择部分视频帧作为第一视频帧。
需要说明的是,本申请实施例对从第一视频码流中获取第一视频帧的方式不做限定,例如还可以通过基于图像特征的方式,或者基于ffmpeg的方式获取第一视频帧,这些都在本申请实施例的保护范围之内。示例性的,在基于图像特征的方式中,可以根据人工智能算法确定待提取的关键帧(如IDR帧或I帧)的图像特征,然后基于该图像特征在第一视频帧码流中匹配第一视频帧。示例性的,在基于ffmpeg的方式中,可以使用预设的ffmpeg命令“-vf select=”过滤器提取第一视频码流中的第一视频帧;其中“-vf”是命令行,表示过滤视频帧的描述,在本申请实施例中可以描述可以指示视频帧类型为IDR帧或I帧。相对而言,基于ffmpeg的方式可以更加准确地从第一视频码流中获取第一视频帧。
420,对第一视频帧进行帧内预测解码,得到第一图像。
具体的,这里仅对于步骤410中获取的第一视频帧进行解码,得到该第一视频帧的解码图像。这里,第一视频帧可以进行独立的解码,不依赖与其他帧进行参考,即该第一视频帧为I帧。另外,对于第一视频码流中的除第一视频帧之外的其他视频帧,如非IDR帧,并不进行解码处理。
继续参见图5A,可以对获取的第一视频帧501进行解码,得到第一图像。同时,对于第一视频码流中除第一视频帧之外的其他视频帧,不进行解码。
具体的,解码过程可以参见图2A和图2B的相关描述,这里不再赘述。
430,对第一图像添加水印,得到包含水印信息的第二图像。
继续参见图5A,对于第一图像,可以进行加水印处理,得到第二图像。示例性的,水印可以是肉眼可见的水印,也可以是肉眼不可见,需要通过程序处理提取的密写水印,本申请对此不做限定。
在一些实施例中,还可以获取视频播放终端的终端信息,并根据该终端信息生成水印,之后将该水印添加至第一图像,得到第二图像。
示例性的,可以根据视频内容分发渠道,获取视频播放设备的终端信息,比如播放终端标识,或者播放APP的账户标识等信息等,不做限定。根据该终端信息,生成水印。示例性的,水印可以为播放终端设备的标识,或者播放APP的账户标识等,包括但不限于肉眼可见的文字或图像等。基于此,可以实现根据不同内容分发渠道,在第一图像中动态加入对应的水印,使得第二图像能够提供更多的版权声明标识和内容溯源能力,从而在视频内容被泄露或非法分发时,更好地获取内容泄露的渠道。
例如,当根据视频内容分发渠道,确定视频文件分发给第一播放终端时,可以获取该第一播放终端的标识,或者该第一播放终端上安装的播放APP的账户标识。然后,可以根据该第一播放终端的标识或者播放APP的账户标识生成水印,并将水印添加到第一图像中,得到带水印的第二图像。
440,对第二图像进行帧内预测编码,得到第二视频帧。
示例性的,继续参见图5A,对第二图像进行编码可以得到第二视频帧503。具体的,第二图像可以进行独立的帧内预测编码,不依赖于其他帧进行参考,因此得到的该第二视频帧为I帧。具体的,编码过程可以参见图2A和图2B的相关描述,这里不再赘述。
在一些实施例中,第二视频帧在第二视频码流中的帧类型为IDR帧。示例性的,第二视频帧的网络抽象层类型(nal_uni t_type)的取值为5,表示第二视频帧为IDR帧。
因此,通过上述步骤410至440可以实现仅对第一视频码流中的能够独立进行帧内预测编码的第一视频帧(如I帧)进行解码并添加水印,避免对第一视频码流中的所有视频帧进行解码以及加水印操作,能够显著降低对第一视频码流添加水印的算力。
进一步的,当第一视频帧为IDR帧时,能够实现只在第一视频码流中的在视频编解码和视频传输中起着重要作用的IDR(而非所有I帧)进行解码并添加水印,从而能够有利于进一步降低对第一视频码流添加水印的算力。
例如,相比于对所有视频帧均进行解码和添加水印的方案,中本申请实施例添加水印的算力可以降低原来的1/N,N为两个连续的IDR帧之间的帧数,N的取值往往在30以上。
450,根据第一视频帧和第二视频帧,得到第二视频码流,其中,第二视频码流中依次包括第二视频帧、第一视频帧和第三视频帧,第三视频帧第一视频帧为参考帧进行帧间预测编码得到。
具体而言,由于第二视频帧是根据帧内预测编码得到,因此在解码时第二视频帧可以根据帧内预测解码方式进行解码。同时由于第二视频帧包含水印信息,因此在第二视频码流中解码第二视频帧可以得到包含水印的图像,从而实现在视频中加入水印,为视频提供更多的版权声明标识和内容溯源能力。同时,将第二视频码流中仍然包含第一视频帧,使得第二视频码流中第三视频帧(如第一视频码流中的第一视频帧之后的视频帧)可以以第一视频帧为参考帧进行帧间预测解码,从而有利于保证第二视频码流的正常解码。
需要说明的是,在对第一图像添加水印得到的第二图像重新编码得到第二视频帧后,如果第二视频码流中包含第二视频帧,而不包含第一视频帧,由于第二视频帧和第一视频帧之间的差异,当第二视频码流中的第二视频帧之后的视频帧以第二视频帧为参考进行帧间预测解码时会导致解码异常。当将第一视频帧加入到第二视频码流中的第二视频帧和第三视频帧之间,第三视频帧仍然能够依赖于第一视频帧进行帧间预测编码,如此即可实现码流的正常解码。
因此,本申请实施例通过对第一视频码流中的能够独立编解码的原始的第一视频帧进行解码,并对解码图像加入水印后进行重新编码得到新的第二视频帧,然后得到依次包含第二视频帧、第一视频帧和第三视频帧的第二视频帧码流,使得第二视频码流中该第三视频帧仍然可以以该第一视频帧为参考帧进行解码,从而有利于保证播放终端能够正常对视频码流进行解码,提高解码准确率。
进一步的,本申请实施例中加水印过程中视频编码无需引入定制编码器,能够有效降低视频加水印的算力成本。
在一些实施例中,可以将第一视频码流中的第一视频帧替换为第二视频帧,以及在第二视频帧和第三视频帧之间的时域位置插入第一视频帧,得到第二视频码流。
示例性的,继续参见图5A,可以在第一视频码流中的第一视频帧501的时间位置上将第一视频帧501替换为第二视频帧503,同时将原来的第一视频帧501插入到第二视频帧503和普通帧502之间。该普通帧502为以第一视频帧501为参考帧进行帧间预测编码得到的,是第三视频帧的一个示例。
在一些实施例中,第三视频帧为所述第一视频码流中的所述第一视频帧之后的下一帧视频帧。这样,能够使得第二视频码流中第二视频帧之后的以第一视频帧为参考帧进行帧间预测编码的视频帧均能够正常解码,进一步有利于提高解码准确率。
在一些实施例中,可以在第二视频帧和第三视频帧之间的靠近第三视频帧的时域位置插入所述第一视频帧。示例性的,继续参见图5A,第一视频帧501与普通帧502(第三视频帧的一个示例)之间的时间距离小于第一视频帧501与第二视频帧503之间的时域距离,即第一视频帧501距离普通帧502的距离更近。
具体而言,视频帧之间的时域距离表示的是一个视频帧在屏幕上显示的时间,两个视频帧之间的距离越远表示一个视频帧在屏幕上显示的持续时间越长。本申请实施例让第一关键帧离第二关键帧距离较远,而里第三关键帧的距离更近的目的是增加第二关键帧在屏幕上持续的时间,从而有利于增加水印在屏幕上持续的时间,让水印更加显著。而第一关键帧在视频码流中主要作用是保证之后的视频帧能够正常解码,因此可以最低限度的在屏幕上驻留。
在另一些实施例中,可以将第二视频帧插入到第一视频帧和第一视频帧之前的一个普通帧之间的任何时域位置。在该实施例中,可以不改变第一视频码流中的第一视频帧的时域位置。在另一个实施例中,也可以改变第一视频码流中的第一视频帧的时域位置。可选的,该普通帧可以为第一视频码流中第一视频帧相邻的帧。
示例性的,参见图5B,在获取第二视频帧503之后,可以将第二视频帧503插入到第一视频码流中的第一视频帧501和普通帧504之间,同时第一视频帧501在第一视频码流中的时域位置不改变。此时,普通帧502仍然以第一视频帧501为参考帧进行帧间预测编码。其中,图5B与图5A中相同的附图标记表示相同或相似的含义。在另一个实施例中,也可以改变第一视频码流中的第一视频帧的时域位置,具体的,第一视频帧501可以位于普通帧502与普通帧504之间任何一个时域位置。
可以理解的是,本申请实施例通过图5A和图5B示出了两种获取第二视频码流的方式,但是本申请实施例并不限制与此。例如在图5A和5B中第一视频帧501或第二视频帧503的时域位置可以向前或向后移动,即只需要保持第二视频帧503、第一视频帧501和普通帧502之间时域位置的先后顺序不变。
在一些实施例中,第一视频帧在第二视频码流中的帧类型为非IDR帧。示例性的,第一视频帧在第二视频码流中的帧类型可以为I帧,而不是IDR帧。
可选的,可以将第一视频帧的网络抽象层类型由第一标识修改为第二标识;其中,第一标识用于指示帧类型为IDR帧;第二标识用于指示帧类型为非IDR帧。作为例子,在H.264视频编码标准中,可以将第一视频帧的nal_uni t_type字段由原来的5修改为1,以将第一视频帧的帧类型由IDR帧修改为非IDR帧。
由于第一视频帧在第一视频码流中原始的帧类型为IDR帧,如果在将第一视频帧插入新的码流后不修改其帧类型,那么在第二视频码流中将出现连续的两个IDR帧,这很容易引起盗版者的注意从而将带有水印信息的第二视频帧剔除,使得视频不具有版权声明标识和内容溯源能力。而通过将第一视频帧的帧类型修改为非IDR帧,则能够增加视频的隐蔽性,降低第二视频帧被蓄意剔除的风险。
在一些实施例中,在方法400中,还可以向视频播放终端发送所述第二视频码流。通过向视频播放终端发送该第二视频码流,可以实现将视频文件分发到播放终端。
示例性的,当根据第一播放终端的终端信息生成水印,并通过上述方式将该水印添加到第一视频码流中得到第二视频码流时,需要将该第二视频码流分发到该第一播放终端,从而使得该视频在溯源时可以追溯到第一播放终端。
图6A示出了本申请实施例提供的视频处理的一个具体例子。其中,以H.264视频编码标准为例,视频码流包括至少一个视频帧,比如依次可以为P帧、B帧、第一IDR帧、P帧、B帧等。其中,IDR帧为一种特殊的I帧,可以进行独立编码(IDR帧一定是I帧,但是I帧不一定是IDR帧)。P帧和B帧均称为非IDR帧,或普通帧,需要以I帧(或IDR帧)为参考帧进行帧间预测编码。对于第一视频码流中的第一IDR帧601可以进行帧内预测解码,得到第一图像。第一图像进行加水印操作可以得到带水印的第二图像。对第二图像进行帧内预测编码,可以得到第二IDR帧603。在该视频码流中,可以将原来的第一IDR帧601替换为第二IDR帧603,同时保持该位置的帧类型不变,即第二IDR帧依然为IDR帧。同时,在第二IDR帧603和P帧602(原始视频码流中第一IDR帧601之后的P帧)之间插入第一IDR帧601。可选的,还可以将该该帧的网络抽象层类型(NAL Unit Type)修改为非IDR帧(例如将NAL Unit Type字段值由5修改为1)得到I帧604。此时,可以形成新的视频码流。
可选的,在另一个实施例中,参见图6B,可以保持第一视频码流中第一IDR帧601的时域位置不变,同时将第一IDR帧601的网络抽象层类型(NAL Unit Type)修改为非IDR帧(例如将NAL Unit Type字段值由5修改为1)得到I帧604。同时将第二IDR帧603插入到I帧604和B帧605之间的时域位置,形成新的视频码流。其中,图6B与图6A中相同的附图标记表示相同或相似的含义。在另一个实施例中,也可以改变I帧604的时域位置,具体的,I帧604可以位于第二IDR帧603和P帧602之间任何一个时域位置。
图7为本申请实施例提供的另一种视频处理方法700的流程示意图,方法700可以由任何具有数据处理能力的电子设备执行,例如该电子设备可实施为解码设备,如可实施为图1中的解码设备120或图2A中的视频解码器300;又例如,该电子设备可实施为终端设备,如可实施为图3A中的终端设备21,图3B中的播放终端22,图3C中的播放终端23等。如图7所示,方法700包括步骤710至750。
710,从第二视频码流中获取第一视频帧、第二视频帧和第三视频帧;第二视频码流依次包括第二视频帧、第一视频帧和第三视频帧;第二视频帧是通过对第二图像进行帧内预测编码得到的;第二图像是对第一图像添加水印得到的;第一图像是对第一视频帧进行帧内预测解码得到的。
在一些实施例中,第二视频码流是通过将第一视频码流中的第一视频帧替换为第二视频帧,以及在第二视频帧和第三视频帧之间的时域位置插入第一视频帧得到的。
在一些实施例中,第三视频帧为第一视频码流中的第一视频帧之后的下一帧视频帧。
在一些实施例中,第一视频帧位于第二视频帧和第三视频帧之间的靠近第三视频帧的时域位置。
在一些实施例中,第二视频帧在第二视频码流中的帧类型为IDR帧;第一视频帧在第一视频码流中的帧类型为IDR帧。
在一些实施例中,第一视频帧在所述第二视频码流中的帧类型为非IDR帧。
具体的,第一视频帧、第二视频帧、第三视频帧,以及根据第一视频码流得到第二视频码流的过程可以参见图4中方法400的相关描述,这里不再赘述。
720,对第二视频帧进行帧内预测解码,得到第二图像。
730,对第一视频帧进行帧内预测解码,得到第一图像。
740,以第一视频帧为参考帧对第三视频帧进行帧间预测解码,得到第三图像。
具体的,解码过程可以参见图2A和图2B中的相关描述,这里不再赘述。
因此,本申请实施例通过对第一视频码流中的能够独立编解码的原始的第一视频帧进行解码,并对解码图像加入水印后进行重新编码得到新的第二视频帧,然后得到依次包含第二视频帧、第一视频帧和第三视频帧的第二视频帧码流,使得第二视频码流中该第三视频帧仍然可以以该第一视频帧为参考帧进行解码,从而有利于保证播放终端能够正常对视频码流进行解码,提高解码准确率。
以上结合附图详细描述了本申请的具体实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。应理解这些序号在适当情况下可以互换,以便描述的本申请的实施例能够以除了在图示或描述的那些以外的顺序实施。
上文详细描述了本申请的方法实施例,下文结合图8至图10,详细描述本申请的装置实施例。
图8为本申请实施例提供的一种视频处理装置10的结构示意图,如图8所示,该视频处理装置10可以包括:获取单元11、解码单元12、加水印单元13、编码单元14和处理单元15。
获取单元11,用于从第一视频码流中获取第一视频帧;
解码单元12,用于对所述第一视频帧进行帧内预测解码,得到第一图像;
加水印单元13,用于对所述第一图像添加水印,得到包含水印信息的第二图像;
编码单元14,用于对所述第二图像进行帧内预测编码,得到第二视频帧;
处理单元15,用于根据所述第一视频帧和所述第二视频帧,得到第二视频码流,其中,所述第二视频码流中依次包括所述第二视频帧、所述第一视频帧和第三视频帧,所述第三视频帧以所述第一视频帧为参考帧进行帧间预测编码得到。
在一些实施例中,处理单元15具体用于:
将所述第一视频码流中的所述第一视频帧替换为所述第二视频帧,以及在所述第二视频帧和所述第三视频帧之间的时域位置插入所述第一视频帧,得到所述第二视频码流。
在一些实施例中,所述第一视频帧在所述第一视频码流中的帧类型为即时解码刷新图像IDR帧;所述第二视频帧在所述第二视频码流中的帧类型为IDR帧。
在一些实施例中,所述第一视频帧在所述第二视频码流中的帧类型为非IDR帧。
在一些实施例中,所述处理单元15还用于:
将所述第一视频帧的网络抽象层类型由第一标识修改为第二标识;其中,所述第一标识用于指示所述帧类型为IDR帧;所述第二标识用于指示帧类型为非IDR帧。
在一些实施例中,所述第三视频帧为所述第一视频码流中的所述第一视频帧之后的下一帧视频帧。
在一些实施例中,处理单元15具体用于:
在所述第二视频帧和所述第三视频帧之间的靠近所述第三视频帧的时域位置插入所述第一视频帧。
在一些实施例中,还包括发送单元,用于:向视频播放终端发送所述第二视频码流;
其中,加水印单元13具体用于:
获取所述视频播放设备的终端信息;
根据所述终端信息,生成所述水印;
将所述水印添加至所述第一图像,得到所述第二图像。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图8所示的视频处理装置10可以执行图4对应的方法实施例,并且视频处理装置10中的各个模块的前述和其它操作和/或功能分别为了实现图4对应的方法实施例中的相应流程,为了简洁,在此不再赘述。
图9为本申请实施例提供的另一种视频处理装置20的结构示意图,如图9所示,该视频处理装置20可以包括:获取单元21和解码单元22。
获取单元21,用于从第二视频码流中获取第一视频帧、第二视频帧和第三视频帧;所述第二视频码流依次包括所述第二视频帧、所述第一视频帧和所述第三视频帧;所述第二视频帧是通过对第二图像进行帧内预测编码得到的;所述第二图像是对第一图像添加水印得到的;所述第一图像是对所述第一视频帧进行帧内预测解码得到的;
解码单元22,用于对所述第二视频帧进行帧内预测解码,得到所述第二图像;
所述解码单元22还用于对所述第一视频帧进行帧内预测解码,得到所述第一图像;
所述解码单元22还用于以所述第一视频帧为参考帧对所述第三视频帧进行帧间预测解码,得到第三图像。
在一些实施例中,所述第二视频码流是通过将第一视频码流中的所述第一视频帧替换为所述第二视频帧,以及在所述第二视频帧和所述第三视频帧之间的时域位置插入所述第一视频帧得到的。
在一些实施例中,所述第三视频帧为所述第一视频码流中的所述第一视频帧之后的下一帧视频帧。
在一些实施例中,所述第一视频帧位于所述第二视频帧和所述第三视频帧之间的靠近所述第三视频帧的时域位置。
在一些实施例中,所述第二视频帧在所述第二视频码流中的帧类型为IDR帧;所述第一视频帧在所述第一视频码流中的帧类型为IDR帧。
在一些实施例中,所述第一视频帧在所述第二视频码流中的帧类型为非IDR帧。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图9所示的视频处理装置20可以执行图7对应的方法实施例,并且视频处理装置20中的各个模块的前述和其它操作和/或功能分别为了实现图7对应的方法实施例中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的视频处理装置。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图10是本申请实施例提供的电子设备30的示意性框图。该电子设备可以为上文中的视频处理装置。
如图10所示,该电子设备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执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图10所示,该电子设备30还可包括:
收发器33,该收发器33可连接至该处理器32或存储器31。
其中,处理器32可以控制该收发器33与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器33可以包括发射机和接收机。收发器33还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
可以理解的是,在本申请的具体实施方式中,当本申请以上实施例运用到具体产品或技术中并涉及到用户信息等相关的数据时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关法律法规和标准。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上内容,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以该权利要求的保护范围为准。

Claims (19)

1.一种视频处理方法,其特征在于,包括:
从第一视频码流中获取第一视频帧;
对所述第一视频帧进行帧内预测解码,得到第一图像;
对所述第一图像添加水印,得到包含水印信息的第二图像;
对所述第二图像进行帧内预测编码,得到第二视频帧;
根据所述第一视频帧和所述第二视频帧,得到第二视频码流,其中,所述第二视频码流中依次包括所述第二视频帧、所述第一视频帧和第三视频帧,所述第三视频帧以所述第一视频帧为参考帧进行帧间预测编码得到。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一视频帧和所述第二视频帧,得到第二视频码流,包括:
将所述第一视频码流中的所述第一视频帧替换为所述第二视频帧,以及在所述第二视频帧和所述第三视频帧之间的时域位置插入所述第一视频帧,得到所述第二视频码流。
3.根据权利要求1所述的方法,其特征在于,所述第一视频帧在所述第一视频码流中的帧类型为即时解码刷新图像IDR帧;所述第二视频帧在所述第二视频码流中的帧类型为IDR帧。
4.根据权利要求3所述的方法,其特征在于,所述第一视频帧在所述第二视频码流中的帧类型为非IDR帧。
5.根据权利要求4所述的方法,其特征在于,还包括:
将所述第一视频帧的网络抽象层类型由第一标识修改为第二标识;其中,所述第一标识用于指示所述帧类型为IDR帧;所述第二标识用于指示帧类型为非IDR帧。
6.根据权利要求1所述的方法,其特征在于,所述第三视频帧为所述第一视频码流中的所述第一视频帧之后的下一帧视频帧。
7.根据权利要求2所述的方法,其特征在于,所述在所述第二视频帧和所述第三视频帧之间的时域位置插入所述第一视频帧,包括:
在所述第二视频帧和所述第三视频帧之间的靠近所述第三视频帧的时域位置插入所述第一视频帧。
8.根据权利要求1所述的方法,其特征在于,还包括:
向视频播放终端发送所述第二视频码流;
其中,所述对所述第一图像添加水印,得到包含水印信息的第二图像,包括:
获取所述视频播放设备的终端信息;
根据所述终端信息,生成所述水印;
将所述水印添加至所述第一图像,得到所述第二图像。
9.一种视频处理方法,其特征在于,包括:
从第二视频码流中获取第一视频帧、第二视频帧和第三视频帧;所述第二视频码流依次包括所述第二视频帧、所述第一视频帧和所述第三视频帧;所述第二视频帧是通过对第二图像进行帧内预测编码得到的;所述第二图像是对第一图像添加水印得到的;所述第一图像是对所述第一视频帧进行帧内预测解码得到的;
对所述第二视频帧进行帧内预测解码,得到所述第二图像;
对所述第一视频帧进行帧内预测解码,得到所述第一图像;
以所述第一视频帧为参考帧对所述第三视频帧进行帧间预测解码,得到第三图像。
10.根据权利要求9所述的方法,其特征在于,所述第二视频码流是通过将第一视频码流中的所述第一视频帧替换为所述第二视频帧,以及在所述第二视频帧和所述第三视频帧之间的时域位置插入所述第一视频帧得到的。
11.根据权利要求10所述的方法,其特征在于,所述第三视频帧为所述第一视频码流中的所述第一视频帧之后的下一帧视频帧。
12.根据权利要求10所述的方法,其特征在于,所述第一视频帧位于所述第二视频帧和所述第三视频帧之间的靠近所述第三视频帧的时域位置。
13.根据权利要求9所述的方法,其特征在于,所述第二视频帧在所述第二视频码流中的帧类型为IDR帧;所述第一视频帧在所述第一视频码流中的帧类型为IDR帧。
14.根据权利要求13所述的方法,其特征在于,所述第一视频帧在所述第二视频码流中的帧类型为非IDR帧。
15.一种视频处理装置,其特征在于,包括:
获取单元,用于从第一视频码流中获取第一视频帧;
解码单元,用于对所述第一视频帧进行帧内预测解码,得到第一图像;
加水印单元,用于对所述第一图像添加水印,得到包含水印信息的第二图像;
编码单元,用于对所述第二图像进行帧内预测编码,得到第二视频帧;
处理单元,用于根据所述第一视频帧和所述第二视频帧,得到第二视频码流,其中,所述第二视频码流中依次包括所述第二视频帧、所述第一视频帧和第三视频帧,所述第三视频帧以所述第一视频帧为参考帧进行帧间预测编码得到。
16.一种视频处理装置,其特征在于,包括:
获取单元,用于从第二视频码流中获取第一视频帧、第二视频帧和第三视频帧;所述第二视频码流依次包括所述第二视频帧、所述第一视频帧和所述第三视频帧;所述第二视频帧是通过对第二图像进行帧内预测编码得到的;所述第二图像是对第一图像添加水印得到的;所述第一图像是对所述第一视频帧进行帧内预测解码得到的;
解码单元,用于对所述第二视频帧进行帧内预测解码,得到所述第二图像;
所述解码单元还用于对所述第一视频帧进行帧内预测解码,得到所述第一图像;
所述解码单元还用于以所述第一视频帧为参考帧对所述第三视频帧进行帧间预测解码,得到第三图像。
17.一种视频处理设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1-8或9-14中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1-8或9-14中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8或9-14中任一项所述方法的步骤。
CN202310972697.8A 2023-08-02 2023-08-02 视频处理方法、装置、设备及存储介质 Pending CN116980619A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310972697.8A CN116980619A (zh) 2023-08-02 2023-08-02 视频处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310972697.8A CN116980619A (zh) 2023-08-02 2023-08-02 视频处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116980619A true CN116980619A (zh) 2023-10-31

Family

ID=88471178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310972697.8A Pending CN116980619A (zh) 2023-08-02 2023-08-02 视频处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116980619A (zh)

Similar Documents

Publication Publication Date Title
US11936884B2 (en) Coded-block-flag coding and derivation
CN110719483B (zh) 视频解码、编码方法和装置、计算机设备及存储介质
US9866862B2 (en) Motion vector reference selection through reference frame buffer tracking
CN103947213A (zh) 瓦片边界上的环路滤波控制
CN103609112A (zh) 视频译码中的内部位深度增加
US11647223B2 (en) Dynamic motion vector referencing for video coding
CN112292859B (zh) 一种用于解码至少一个视频流的方法和装置
CN105103561A (zh) 用于视频译码扩展的参数集设计
CN112533059B (zh) 图像渲染方法、装置、电子设备以及存储介质
TW201820875A (zh) 視訊解碼裝置、視訊編碼方法及裝置與電腦可讀儲存媒體
US10798402B2 (en) Same frame motion estimation and compensation
CN117121480A (zh) 用于在媒体比特流内用信号通知神经网络的高级语法
KR102407912B1 (ko) 양방향 인트라 예측 시그널링
US10536726B2 (en) Pixel patch collection for prediction in video coding system
CN109891882B (zh) 一种基于模板匹配的编解码方法及装置
CN115361582B (zh) 一种视频实时超分辨率处理方法、装置、终端及存储介质
CN115866297A (zh) 视频处理方法、装置、设备及存储介质
CN113938679B (zh) 图像类型的确定方法、装置、设备及存储介质
US20190379912A1 (en) Hash table for video and image transforms
CN116980619A (zh) 视频处理方法、装置、设备及存储介质
CN115211122A (zh) 用于对包括画面头的图像信息进行编码的图像解码方法和设备
CN113747099B (zh) 视频传输方法和设备
US11736730B2 (en) Systems, methods, and apparatuses for video processing
JP7492027B2 (ja) Ptl関連情報をシグナリングする画像符号化/復号方法および装置、ならびにビットストリームを記憶したコンピュータ読み取り可能記録媒体
CN116708938A (zh) 视频处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication