CN117014659A - 一种视频转码方法、装置、电子设备和存储介质 - Google Patents
一种视频转码方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117014659A CN117014659A CN202311279953.1A CN202311279953A CN117014659A CN 117014659 A CN117014659 A CN 117014659A CN 202311279953 A CN202311279953 A CN 202311279953A CN 117014659 A CN117014659 A CN 117014659A
- Authority
- CN
- China
- Prior art keywords
- video
- coefficient
- video frame
- code rate
- complexity
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000003860 storage Methods 0.000 title claims abstract description 29
- 238000009826 distribution Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 19
- 238000012216 screening Methods 0.000 claims description 13
- 230000003828 downregulation Effects 0.000 claims description 12
- 230000003827 upregulation Effects 0.000 claims description 12
- 230000033228 biological regulation Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 29
- 238000010586 diagram Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 238000005070 sampling Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
- H04N21/64769—Control signals issued by the network directed to the server or the client directed to the server for rate control
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请涉及视频编解码技术领域,尤其涉及一种视频转码方法、装置、电子设备和存储介质,用以保证转码后的视频质量并降低带宽消耗。其中,方法包括:对初始视频码流进行解码,获得初始视频码流包含的各视频帧,以及初始视频码流的初始码率;基于各视频帧各自包含的像素点的像素值,获得各视频帧各自的复杂度系数,以及各视频帧组各自的相似度系数,基于各复杂度系数和各相似度系数,对初始码率进行调整,获得目标码率;基于目标码率对各视频帧进行编码,获得目标视频码流。由于本申请基于视频帧包含的像素点的像素值,自适应的调整视频码流的转码码率,能够在保证转码后的视频质量,并降低视频转码过程中的带宽消耗。
Description
技术领域
本申请涉及视频编解码技术领域,尤其涉及一种视频转码方法、装置、电子设备和存储介质。
背景技术
随着信息技术的飞跃,多媒体技术在网络中的应用得到了空前发展,作为多媒体技术重要组成部分的视频通信技术也得到了极大的发展和应用。由于不同的视频可能采用不同的编码或者压缩标准,而且具体应用场景也可能不同,因此在不同的设备间共享、交换或者播放视频文件时,通常需要进行视频转码操作。
视频转码(Video Transcoding)是指将已经压缩编码的视频码流转换成另一个视频码流,即为一个对视频文件先解码、再编码的过程,在该过程中可能涉及对码率的调整,使得通过转码操作生成的视频能够满足特定的需求,例如:降低码率,以适应网络带宽受限的传输场景或者适应终端设备播放速度的需求。
相关技术中,在视频转码过程中,通常依据主观经验或视频质量需求,采用设定的码率进行转码。但是,不同的场景内容对码率的需求不同,对于内容比较简单的视频,即使依据主观经验下调码率进行转码,仍然可能由于码率较高,造成网络带宽的浪费;而对于内容较为复杂的视频,即使依据主观经验上调了码率,仍然可能由于码率较低,导致转码后视频的纹理缺失和清晰度下降。
发明内容
本申请实施例提供一种视频转码方法、装置、电子设备和存储介质,用以提高保证转码后的视频质量并降低带宽消耗。
本申请实施例提供的一种视频转码方法,包括:
对初始视频码流进行解码,获得所述初始视频码流包含的各视频帧,以及所述初始视频码流的初始码率;
基于所述各视频帧各自包含的像素点的像素值,获得所述各视频帧各自的复杂度系数,以及各视频帧组各自的相似度系数;其中,所述各视频帧组为:按照每两个相邻的视频帧为一组的规则,对所述各视频帧进行划分获得的;所述复杂度系数表征:相应的视频帧包含的画面内容的复杂程度;所述相似度系数表征:相应的视频帧组包含的两个视频帧的画面内容之间的相似程度;
基于各复杂度系数和各相似度系数,对所述初始码率进行调整,获得目标码率;
基于所述目标码率对所述各视频帧进行编码,获得目标视频码流。
本申请实施例提供的一种视频转码装置,包括:
解码单元,用于对初始视频码流进行解码,获得所述初始视频码流包含的各视频帧,以及所述初始视频码流的初始码率;
处理单元,用于基于所述各视频帧各自包含的像素点的像素值,获得所述各视频帧各自的复杂度系数,以及各视频帧组各自的相似度系数;其中,所述各视频帧组为:按照每两个相邻的视频帧为一组的规则,对所述各视频帧进行划分获得的;所述复杂度系数表征:相应的视频帧包含的画面内容的复杂程度;所述相似度系数表征:相应的视频帧组包含的两个视频帧的画面内容之间的相似程度;
调整单元,用于基于各复杂度系数和各相似度系数,对所述初始码率进行调整,获得目标码率;
编码单元,用于基于所述目标码率对所述各视频帧进行编码,获得目标视频码流。
可选的,所述调整单元具体用于:
基于所述各复杂度系数和所述各相似度系数,获得全局特征系数和局部特征系数;其中,所述全局特征系数表征:所述各视频帧包含的画面内容的整体复杂程度,所述局部特征系数表征:所述各视频帧包含的画面内容的局部复杂程度;
基于所述全局特征系数和所述局部特征系数,对所述初始码率进行调整,获得所述目标码率。
可选的,所述处理单元具体用于:
针对所述各视频帧,分别执行以下操作:
将一个视频帧划分为多个视频帧区域,并分别基于所述多个视频帧区域各自包含的像素点的像素值,获得所述多个视频帧区域各自的像素方差值;
基于获得的各像素方差值,获得所述一个视频帧的复杂度系数。
可选的,所述处理单元具体用于:
针对所述各视频帧组,分别执行以下操作:
将一个视频帧组包含的两个视频帧,分别划分为多个视频帧区域;
基于获得的多个视频帧区域在所属视频帧中的位置,将所述多个视频帧区域划分为多个区域组,每个区域组包含的两个视频帧区域在所属的视频帧中的位置相同;
分别基于所述多个区域组各自包含的两个视频帧区域中,在相同位置的像素点之间的像素值的差值,获得所述多个区域组各自的像素差值;
基于获得的各像素差值,获得所述一个视频帧组的相似度系数。
可选的,所述调整单元具体用于:
基于所述各复杂度系数,获得复杂度分布系数,并从所述各复杂度系数中筛选出,符合复杂度取值条件的目标复杂度系数;
基于所述各相似度系数,获得相似度分布系数,并从所述各相似度系数中筛选出,符合相似度取值条件的目标相似度系数;
基于所述复杂度分布系数、所述相似度分布系数,和预设参数,获得所述全局特征系数,并基于所述目标复杂度系数、所述目标相似度系数,和所述预设参数,获得所述局部特征系数。
可选的,所述调整单元具体用于:
在所述局部特征系数大于预设阈值时,将第一预设码率作为所述目标码率;
在所述局部特征系数不大于所述预设阈值时,基于所述全局特征系数和第二预设码率,对所述初始码率进行调整,获得所述目标码率,其中,所述第一预设码率大于所述第二预设码率。
可选的,所述调整单元具体用于:
在所述全局特征系数不大于系数下限阈值时,基于所述全局特征系数和所述系数下限阈值,获得下调比例值,并将所述下调比例值与所述第二预设码率的乘积作为所述目标码率,所述下调比例值小于预设调整门限;
在所述全局特征系数大于所述系数下限阈值,且不大于系数上限阈值时,将所述第二预设码率作为所述目标码率;
在所述全局特征系数大于所述系数上限阈值时,基于所述全局特征系数和所述系数上限阈值,获得上调比例值,并将所述上调比例值与所述第二预设码率的乘积作为所述目标码率,所述上调比例值大于所述预设调整门限。
可选的,所述装置还包括筛选单元,用于:
基于所述各视频帧各自的标识信息,对所述各视频帧进行筛选,获得多个关键帧,所述标识信息是基于对应的视频帧在所述各视频帧中的位置确定的;
则所述处理单元具体用于:
基于所述多个关键帧各自包含的像素点的像素值,获得所述多个关键帧各自的复杂度系数,以及各关键帧组各自的相似度系数,其中,所述各关键帧组为:按照每两个相邻的关键帧为一组的规则,对所述各关键帧进行划分获得的。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任意一种视频转码方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述任意一种视频转码方法的步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行上述任意一种视频转码方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种视频转码方法、装置、电子设备和存储介质,在需要对初始视频码流进行转码时,首先,对初始视频码流包含的各视频帧进行分析,获得各视频帧的复杂度系数以及相邻视频帧的相似度系数,能够通过复杂度系数和相似度系数评估视频画面内容的复杂程度,在此基础上,可以基于复杂度系数和相似度系数,自适应的对初始码率进行调整,在现有网络情况对平均传输码率的约束下,实现了基于视频画面内容对初始码率进行调整,使得码率与视频画面内容匹配,进而提高转码过程中带宽资源的利用率。
最后,采用调整获得的目标码率对各视频帧进行编码,能够在编码过程中兼顾视频画面内容的复杂程度,有效提升画面清晰度,并保留视频纹理细节,在提高带宽资源利用率的同时,保证获得的目标视频码流的视频质量,改善对象的视频观看体验。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的一种应用场景的一个可选的示意图;
图2为本申请实施例中的一种视频转码方法的实施流程图;
图3为本申请实施例中的一种视频帧划分方法的示意图;
图4为本申请实施例中的另一种视频帧划分方法的示意图;
图5为本申请实施例中的一种复杂度系数获取过程的示意图;
图6为本申请实施例中的一种相似度系数获取过程的示意图;
图7为本申请实施例中的一种视频帧画面内容的示意图;
图8为本申请实施例中的另一种视频帧画面内容的示意图;
图9为本申请实施例中的一种视频帧抽样方法的示意图;
图10为本申请实施例中的一种视频转码方法的整体流程示意图;
图11为本申请实施例中的一种视频转码方法的逻辑示意图;
图12本申请实施例中的一种视频转码装置的结构示意图;
图13为应用本申请实施例的一种电子设备的一个硬件组成结构示意图;
图14为应用本申请实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
视频转码:是指将已经压缩编码的视频码流按照某一编码标准、码率等条件转换为另一个视频码流,即为一个对视频文件先解码后编码的过程。
码率:指视频数据传输时单位时间内传输的数据量,对于画面内容较为复杂的视频帧,为了保证转码后的视频质量,通常可以将码率设置的较高,而对于画面内容较为简单的视频帧,则可以适当调低码率,以节省带宽资源,基于本申请中的视频转码方法,则可以根据视频画面内容,设置合适的码率进行转码,在保证视频画面质量的同时,提高带宽资源利用率。
全局特征系数:指各视频帧包含的画面内容的整体复杂程度,若全局特征系数较小,说明当前视频的整体复杂程度不高,则可以适当下调码率,若全局特征系数较大,说明视频整体较复杂,画面内容丰富,需要在转码过程中保证质量,则可以上调码率。
局部特征系数:指各视频帧包含的画面内容的局部复杂程度,能够反映各视频帧中是否存在部分视频帧画面内容较复杂,或画面变化过于剧烈,若局部特征系数较大,则也需要提高码率,以保证视频质量。
复杂度分布系数:用于反映复杂度系数的分布情况,可以采用各复杂度系数的均值、方差、标准差等数值表示,通过复杂度分布系数能够初步反映各视频帧是否包含丰富的画面内容。
相似度分布系数:用于反映相似度系数的分布情况,可以采用各相似度系数的均值、方差、标准差等数值表示,通过相似度分布系数能够初步反映各视频帧的画面内容之间的变化程度是否剧烈。
下面对本申请的设计思想进行简要介绍:
随着信息技术的飞跃,多媒体技术在网络中的应用得到了空前发展,作为多媒体技术重要组成部分的视频通信技术也得到了极大的发展和应用。由于不同的视频可能采用不同的编码或者压缩标准,而且具体应用场景也可能不同,因此在不同的设备间共享、交换或者播放视频文件时,通常需要进行视频转码操作。
视频转码(Video Transcoding)是指将已经压缩编码的视频码流转换成另一个视频码流,即为一个对视频文件先解码、再编码的过程,在该过程中可能涉及对码率的调整,使得通过转码操作生成的视频能够满足特定的需求,例如:降低码率,以适应网络带宽受限的传输场景或者适应终端设备播放速度的需求。
相关技术中,在视频转码过程中,主要通过以下两种方式进行视频转码:
方式一,固定码率的转码方法:依据主观经验或视频质量需求,采用设定的码率进行转码,或者进一步依据考虑视频分辨率等因素,分档次设定统一码率进行转码。但是,不同的场景内容对码率的需求不同,对于内容比较简单的视频,即使依据主观经验下调码率进行转码,仍然可能由于码率较高,造成网络带宽的浪费;而对于内容较为复杂的视频,即使依据主观经验上调了码率,仍然可能由于码率较低,导致转码后视频的纹理缺失和清晰度下降。
方式二,依据视频参数设置码率的转码方法:依据现有的视频码流获取待转码视频参数,如分辨率、帧率等参数信息,依据视频参数信息建立量化参数QP与峰值信噪比PSNR的线性模型,从而依据对PSNR的需求来动态确定QP,进而控制转码输出视频的码率;或者通过解析全局量化因子QP均值等参数, 建立基于QP的预估码率与真实码率关系,从而判断纹理复杂度,进而粗略地进行码率调整。
但是,仅依据分辨率和帧率信息等简单参数信息,无法有效地表征视频场景内容的复杂度,同时QP和PSNR之间线性模型的不准确性,也将造成输出视频的码率无法完全满足不同场景的视频质量需求。而基于全局量化因子QP均值预估码率的方案也仅仅从视频全局出发,没有充分考虑视频变化过程中局部纹理复杂度变化的影响,可能造成部分视频片段转码质量过差。
有鉴于此,本申请实施例提供了一种视频转码方法、装置、电子设备和存储介质,在需要对初始视频码流进行转码时,首先,对初始视频码流包含的各视频帧进行分析,获得各视频帧的复杂度系数以及相邻视频帧的相似度系数,能够通过复杂度系数和相似度系数评估视频画面内容的复杂程度,在此基础上,可以基于复杂度系数和相似度系数,自适应的对初始码率进行调整,在现有网络情况对平均传输码率的约束下,实现了基于视频画面内容对初始码率进行调整,使得码率与视频画面内容匹配,进而提高转码过程中带宽资源的利用率。
最后,采用调整获得的目标码率对各视频帧进行编码,能够在编码过程中兼顾视频画面内容的复杂程度,有效提升画面清晰度,并保留视频纹理细节,在提高带宽资源利用率的同时,保证获得的目标视频码流的视频质量,改善对象的视频观看体验。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本申请实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。
在本申请实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有视频转码相关的客户端,该客户端可以是软件(例如浏览器、视频播放软件等),也可以是网页、小程序等,服务器则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于进行视频转码的服务器,本申请不做具体限定。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请实施例中的视频转码方法可以由电子设备执行,该电子设备可以为服务器或者终端设备,即,该方法可以由服务器或者终端设备单独执行,也可以由服务器和终端设备共同执行。比如由服务器和终端设备共同执行时,终端设备将初始视频码流发送给服务器,服务器对初始视频码流进行解码,获得初始视频码流包含的各视频帧,以及初始视频码流的初始码率,并基于各视频帧各自包含的像素点的像素值,获得各视频帧各自的复杂度系数,以及各视频帧组各自的相似度系数,然后,基于各复杂度系数和各相似度系数,对初始码率进行调整,获得目标码率,基于目标码率对各视频帧进行编码,获得目标视频码流。
本申请实施例中的视频转码方法,可以用于视频文件在不同的设备间共享、交换或者播放时,需要进行的视频转码过程中,基于视频的画面内容,自适应完成视频码率调整,对于画面内容较复杂的视频设置较高的码率,对于画面内容较简单的视频设置较低的码率,能够在网络情况对平均传输码率的限制的约束下,提升转码后的视频画面质量,有效改善用户的视频观看体验。
在一种可选的实施方式中,终端设备与服务器之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。
需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
本申请实施例中,当服务器的数量为多个时,多个服务器可组成为一区块链,而服务器为区块链上的节点;如本申请实施例所公开的视频转码方法,其中所涉及的视频码流可保存于区块链上。
此外,本申请实施例可应用于各种场景,不仅包括视频转码场景,还包括但不限于云技术、人工智能、智慧交通、辅助驾驶等场景。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的视频转码方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
如图2所示,为本申请实施例提供的一种视频转码方法的实施流程图,以执行主体为服务器为例,该方法的具体实施流程包括如下步骤S21-S24:
S21:服务器对初始视频码流进行解码,获得初始视频码流包含的各视频帧,以及初始视频码流的初始码率;
其中,初始视频码流可以是AVC/H.264编码标准或高效率视频编码(HighEfficiency Video Coding,HEVC)等编码标准的视频码流,利用相应的解码器对初始视频码流进行解码,重建出视频帧,同时解析出初始视频码流的初始码率Bitratein,以及分辨率宽W/高H。例如,对于初始视频码流1,解码获得视频帧1、视频帧2和视频帧3,初始码率为2000kbps,分辨率为1080×720。
S22:服务器基于各视频帧各自包含的像素点的像素值,获得各视频帧各自的复杂度系数,以及各视频帧组各自的相似度系数;
其中,像素点的像素值代表了像素点所在区域的平均亮度信息,组成不同画面内容的像素点的像素值也存在较大不同,因此通过对视频帧中的像素点的像素值进行分析,能够了解视频帧包含的画面内容。
复杂度系数表征相应的视频帧包含的画面内容的复杂程度,能够评价视频帧的空域复杂度,复杂度系数可以是相应的视频帧包含的各像素点的像素值之和,也可以是像素值的方差、标准差,在此不做具体限定,以复杂度系数为方差为例,例如,视频帧1包含像素点1-3,像素值分别为150、200、220,像素值均值为190,则复杂度系数为402+102+302=2600。
视频帧组是按照每两个相邻的视频帧为一组的规则,对各视频帧进行划分获得的,两个视频帧是否相邻是基于对应的播放时间确定的,例如,视频帧1的位置为1秒,视频帧2的位置为1.1秒,视频帧3的位置为1.2秒,则视频帧1和视频帧2相邻,视频帧2和视频帧3相邻,对视频帧1-3进行分组,获得2个视频帧组,视频帧1和视频帧2属于一个视频帧组,视频帧2和视频帧3属于另一个视频帧组。
相似度系数表征相应的视频帧组包含的两个视频帧的画面内容之间的相似程度,能够评价相邻帧的时域变化程度,可以直接基于两个视频帧包含的像素点的像素值进行相似度计算,也可以计算两个视频帧中相同位置的像素点的像素值之差,以确定其相似程度。例如,视频帧1包含像素点1和像素点2,视频帧2包含像素点3和像素点4,像素点1和像素点3为相同位置,像素值之差为5,像素点2和像素点4为相同位置,像素值之差为10,则视频帧1和视频帧2的相似度为两个像素值之差的和为15。
可选的,在步骤S22中,通过如下步骤获得一个视频帧的复杂度系数:
将一个视频帧划分为多个视频帧区域,并分别基于多个视频帧区域各自包含的像素点的像素值,获得多个视频帧区域各自的像素方差值;基于获得的各像素方差值,获得一个视频帧的复杂度系数。
具体地,每个视频帧区域包含的像素个数可以相同也可以不同,例如视频帧区域1为16×16,视频帧区域2为8×16。如图3所示,为本申请实施例中的一种视频帧划分方法的示意图,视频帧的分辨率为16×16,划分得到的4个视频帧区域,每个视频帧区域的分辨率为4×4。如图4所示,为本申请实施例中的另一种视频帧划分方法的示意图,视频帧的分辨率为16×16,随机划分得到的2个视频帧区域,视频帧区域a的分辨率为6×4,视频帧区域b的分辨率为4×4。
像素方差值即为视频帧区域包含的像素点的像素值的方差,例如,视频帧区域1包含像素点1,像素值为3,视频帧区域1包含像素点2,像素值为4,视频帧区域1包含像素点3,像素值为5,则视频帧区域1的像素方差值为2。
获得每个视频帧区域的像素方差值后,复杂度系数可以是各像素方差值的均值,也可以是各像素方差值的方差、标准差等,在此不进行具体限定。
以视频帧Fn为例,按照8x8的宏块(视频帧区域)对视频帧进行划分,其中每个宏块的像素方差值记为Vm (p,q),则
其中,P(i,j)为对应(i,j)位置像素点的像素值,为当前宏块的像素平均值。基于上述公式得到每个宏块的像素方差值后,计算当前视频帧的方差均值Vn(复杂度系数):
如图5所示,为本申请实施例中的一种复杂度系数获取过程的示意图,对于视频帧F1,其分辨率为16×8,按照8×8的宏块进行划分获得2个视频帧区域,视频帧区域1的像素方差值为100,视频帧区域2的像素方差值为200,并将2个像素方差值的均值150作为视频帧F1的复杂度系数。
可选的,在步骤S22中,通过如下步骤获得一个视频帧的相似度系数:
将一个视频帧组包含的两个视频帧,分别划分为多个视频帧区域;基于获得的多个视频帧区域在所属视频帧中的位置,将多个视频帧区域划分为多个区域组,每个区域组包含的两个视频帧区域在所属的视频帧中的位置相同;分别基于多个区域组各自包含的两个视频帧区域中,在相同位置的像素点之间的像素值的差值,获得多个区域组各自的像素差值;基于获得的各像素差值,获得一个视频帧组的相似度系数。
具体地,对视频帧划分的过程参见上述实施例,需要说明的是两个视频帧的划分方式相同,例如视频帧1的每个视频帧区域为16×16,则视频帧2的每个视频帧区域也为16×16。针对一个区域组,可以分别计算所有相同位置的像素点的像素值的差值,并将获得的各差值的均值,作为此区域组的像素差值,并且将各像素差值的均值作为视频帧组的相似度系数。
如图6所示,为本申请实施例中的一种相似度系数获取过程的示意图,视频帧组1包含视频帧1和视频帧3,分别对视频帧1和视频帧3进行划分,每个视频帧区域均为2×2,以区域组1为例,位置1的两个像素点的差值为10,位置2的两个像素点的差值为20,位置3的两个像素点的差值为30,位置4的两个像素点的差值为40,则区域组1的像素差值为25,同理计算出区域组2的像素差值为35,区域组3的像素差值为20,区域组4的像素差值为20,则视频帧组1的相似度系数为(25+35+20+20)/4=25。
再例如,对前后相邻两帧Fn与Fn-1按照8x8宏块划分后,对于每个宏块Bm n(视频帧区域)进行时域像素差值计算,分别计算相同位置的像素点的像素值之差,得到差值宏块Dm n,其中,差值宏块中的像素PDm n(i,j)计算方法为:
其中,PBm n(i,j)以及PDm n-1(i,j)分别为相邻两帧Fn与Fn-1对应像素块Bm n里的像素值,(i,j)为对应坐标。
进而,计算差值宏块Dm n的像素差均值(像素差值),每个宏块Dm n的像素差值记为Sm (p,q),则
其中,P(i,j)为每个Dm n对应(i,j)位置的像素值。得到每个8x8宏块的像素差值后,计算当前相邻采样帧的整体像素差均值Sm(相似度系数):
S23:服务器基于各复杂度系数和各相似度系数,对初始码率进行调整,获得目标码率;
具体地,复杂度系数和相似度系数可以从不同的角度反映视频的复杂程度,基于复杂度系数和相似度系数对初始码率进行调整时,可以针对复杂度系数和相似度系数分别设置阈值,例如,当对应的复杂度系数>阈值1的视频帧的数量大于M,且对应的相似度系数>阈值2的视频帧组的数量大于N时,采用目标码率X。也可以进一步计算各复杂度系数的均值和各相似度系数的均值,例如,基于复杂度系数均值与相似度系数均值,获得评价系数,当评价系数大于阈值3时,将目标码率设置为初始码率的a倍。
需要说明的是,基于复杂度系数和相似度系数进行码率调整的方式还有很多,在此不进行一一列举。
可选的,步骤S23可以实施为以下步骤:
S231:基于各复杂度系数和各相似度系数,获得全局特征系数和局部特征系数;
S232:基于全局特征系数和局部特征系数,对初始码率进行调整,获得目标码率。
其中,全局特征系数表征各视频帧包含的画面内容的整体复杂程度,如图7所示,视频帧1-3包含的画面内容整体复杂程度不高,其全局特征系数也相应较小,而如图8所示,视频帧4-6包含大量的卡通图像,整体复杂程度较高,其全局特征系数也相应较大。局部特征系数表征各视频帧包含的画面内容的局部复杂程度,即各视频帧的画面内容之间的变化程度是否剧烈,仍以图8为例,视频帧4→视频帧5→视频帧6的画面内容变化不大,则对应的局部特征系数也较小。
具体地,获得各复杂度系数和各相似度系数之后,在步骤S231中可以直接将各系数相加获得全局特征系数,将最大的系数作为局部特征系数,例如,复杂度系数1为1000,复杂度系数2为1200,复杂度系数3为1400,相似度系数1为100,相似度系数2为200,则全局特征系数为3900,局部特征系数为1400。
还可以分别计算复杂度系数的均值和相似度系数的均值,将复杂度系数的均值与相似度系数的均值的乘积作为全局特征系数,将最大的复杂度系数与最大的相似度系数的乘积作为局部特征系数,例如,复杂度系数1为1000,复杂度系数2为1200,复杂度系数3为1400,相似度系数1为100,相似度系数2为200,则全局特征系数为180000,局部特征系数为280000。上述基于复杂度系数和相似度系数,计算全局特征系数和局部特征系数的方式,仅为举例说明,不构成对本申请的限定。
可选的,在本申请实施例中还可以基于各视频帧包含的像素点的像素值直接获得全局特征系数和局部特征系数,包括以下两种方式:
方式1:将各视频帧包含的像素点的像素值的均值,作为全局特征系数,分别计算各视频帧包含的像素点的像素值的均值,并将最大的均值作为局部特征系数;
例如,视频帧1包含的像素点的像素值的均值为200,视频帧2包含的像素点的像素值的均值为100,视频帧3包含的像素点的像素值的均值为150,则全局特征系数为(200+100+150)/3=150,局部特征系数为200。
方式2:若各视频帧包含的像素点的像素值均大于预设像素值,则将预设系数作为全局特征系数,并分别计算各视频帧包含的像素点的像素值之和,将最大的像素值之和作为局部特征系数;
例如,当像素值均大于150时,将全局特征系数设置为10,计算的像素值之和分别为1000、1300和1200,则局部特征系数为1300。
需要说明的是,在本申请实施例中仅以上述两种基于像素值计算特征系数的方式为例进行说明,实际上还可以基于其他方式进行计算,在此不进行一一列举。
在步骤S232中,可以将全局特征系数和局部特征系数分别与设定值比较,以判断当前视频的复杂度需要对初始码率进行上调或下调。例如,初始码率为1500kbps,全局特征系数为1000,局部特征系数为600,设定值为500,全局特征系数与局部特征系数均超过设定值,将初始码率上调为2000 kbps。
上文中主要介绍了基于初始视频码流包含的所有视频帧进行复杂度和相似度的计算,在实际应用中,一个视频码流中往往包含大量的视频帧,如果基于所有视频帧计算会耗费大量时间,可选的,在步骤S21获得各视频帧之后,还可以基于各视频帧各自的标识信息,对各视频帧进行筛选,获得多个关键帧,则基于多个关键帧各自包含的像素点的像素值,获得各关键帧各自的复杂度系数,以及各关键帧组各自的相似度系数,其中,各关键帧组为:按照每两个相邻的关键帧为一组的规则,对各关键帧进行划分获得的。
其中,标识信息是基于对应的视频帧在各视频帧中的位置确定的,标识信息可以是视频帧的时间戳,按照时间戳将各视频帧按照时间的先后顺序排列后,按照每隔T帧进行一次抽样的方式,从各视频帧中抽取关键帧,抽样间隔T可依据对于码率决策过程中的时间复杂度要求进行设置,最小为1,最大为关键帧(I帧)间隔。
例如,将视频帧按照顺序排列为视频帧1→视频帧2→视频帧3→视频帧4→视频帧5→视频帧6→视频帧7→视频帧8,抽样间隔T为2,则关键帧为视频帧1、视频帧4和视频帧7,则相邻的关键帧为视频帧1和视频帧4,视频帧4和视频帧7。
如图9所示,为本申请实施例中的一种视频帧抽样方法的示意图,对于视频帧9-14,按照抽样间隔T为1进行抽样,获得的关键帧为:视频帧9、视频帧11和视频帧13。
基于上述方式,在码率决策的预分析过程中,采用隔帧抽样的方式就能够获取到包含视频主要的内容信息,同时能够避免对所有视频帧全部进行预分析造成复杂度的急剧增长,节省计算资源。
可选的,步骤S231可以实施为:
基于各复杂度系数,获得复杂度分布系数,并从各复杂度系数中筛选出,符合复杂度取值条件的目标复杂度系数;基于各相似度系数,获得相似度分布系数,并从各相似度系数中筛选出,符合相似度取值条件的目标相似度系数;基于复杂度分布系数、相似度分布系数,和预设参数,获得全局特征系数,并基于目标复杂度系数、目标相似度系数,和预设参数,获得局部特征系数。
具体地,复杂度分布系数能够反映复杂度系数的分布情况,可以用复杂度系数的均值表示,复杂度取值条件可以是各复杂度系数中最高的系数,或者各复杂度系数中次高的系数,在此不做具体限定。例如,复杂度系数1为20,复杂度系数2为30,复杂度系数3为40,则复杂度分布系数为30,复杂度取值条件为各复杂度系数中最高的系数,则目标复杂度系数为40。
相似度分布系数能够反映相似度系数的分布情况,可以用相似度系数的均值表示,相似度取值条件可以是各相似度系数中最高的系数,或者各相似度系数中次高的系数,在此不做具体限定。例如,相似度系数1为50,相似度系数2为60,相似度系数3为70,则相似度分布系数为60,相似度取值条件为各相似度系数中最高的系数,则目标相似度系数为70。
全局特征系数可以是复杂度分布系数、相似度分布系数,和预设参数的乘积,也可以是复杂度分布系数与相似度分布系数的乘积,与预设参数的比值,还可以是复杂度分布系数与相似度分布系数的和,与预设参数的比值,在此不进行具体限定。
局部特征系数可以是目标复杂度系数、目标相似度系数,和预设参数的乘积,也可以是目标复杂度系数与目标相似度系数的乘积,与预设参数的比值,还可以是目标复杂度系数与目标相似度系数的和,与预设参数的比值,在此不进行具体限定。
例如,复杂度分布系数Vavg通过如下公式计算:
其中,Vn为视频帧n的复杂度系数,N为视频帧的数量,与此同时,为了能够更为准确地评估出视频时域范围内的某一位置空域复杂度变化情况,需要同时找到抽样帧中复杂度最大值Vmax(目标复杂度系数):
相似度分布系数Savg通过如下公式计算:
其中,Sn为视频帧n的相似度系数,N为视频帧的数量。同样,为了能够有效衡量时域内某一段视频时域变化的剧烈程度,找到相邻采样帧的像素差均值最大值Smax(目标相似度系数),即
进而,可以通过Savg与Smax作为视频时域复杂度标志来衡量视频时域上的变化程度,若Savg比较大,则说明相邻帧变化剧烈,运动复杂;若Savg比较小,则说明相邻帧变化不大,运动简单。同样若Smax比较大,说明视频帧中局部区域变化比较大。
基于上述步骤得到的Vavg、Savg、Vmax与Smax后,设计均值与最大值的时空域融合因子:全局特征系数VSavg和局部特征系数VSmax:
其中,VT与ST分别为常数,VT与ST的乘积即为预设参数。
可选的,步骤S232可以分为以下两种情况:
情况1:在局部特征系数大于预设阈值时,将第一预设码率作为目标码率;
情况2:在局部特征系数不大于预设阈值时,基于全局特征系数和第二预设码率,对初始码率进行调整,获得目标码率.
其中,第一预设码率大于第二预设码率,若局部特征系数大于预设阈值,说明视频帧存在部分帧空域复杂度较高或者某个视频片段时域变化过于剧烈,则需要直接调整目标码率到第一预设码率,若局部特征系数不大于预设阈值,则可以基于全局特征系数进一步判断对初始码率的调整尺度。
可选的,在局部特征系数不大于预设阈值时,可分为以下三种方式获得目标码率:
在全局特征系数不大于系数下限阈值时,基于全局特征系数和系数下限阈值,获得下调比例值,并将下调比例值与第二预设码率的乘积作为目标码率,下调比例值小于预设调整门限;
在全局特征系数大于系数下限阈值,且不大于系数上限阈值时,将第二预设码率作为目标码率;
在全局特征系数大于系数上限阈值时,基于全局特征系数和系数上限阈值,获得上调比例值,并将上调比例值与第二预设码率的乘积作为目标码率,上调比例值大于预设调整门限。
具体地,基于全局特征系数和系数下限阈值之差,获得下调比例值,例如,下调比例值=1-a*(b-VSavg),a和b均为常数参数,b为系数下限阈值。基于全局特征系数和系数上限阈值之差,获得上调比例值,例如,上调比例值=ln(VSavg-T+1.0)+1.0,T为系数上限阈值,属于常数参数。
综上,基于均值的时空域因子进行转码目标码率调整,具体策略如下
其中,依据主观经验或者和视频传输的基本需求,确定视频转码的初始目标码率参数Brinit,具体可以依据视频的初始码率Bitratein以及分辨率宽高为W与H进行确定:
其中,c、d、RES、BrC为常数参数,c+d=1,RES=3000,BrC可根据视频质量需求进行调整。
若VSavg小于常数阈值b,为常数参数, 说明当前视频整体的复杂程度不高,在转码过程中可以适当下调目标码率,因此进行码率下调;若VSavg大于常数阈值T,说明视频整体在空域和时域范围内比较复杂,则需要在转码过程中保证质量,上调目标码率。其他情况则目标码率不变保持为Brinit。
进而基于最大值的时空域融合因子进行码率调整,如果VSmax大于阈值K,说明视频帧存在部分帧空域复杂度较高或者某个视频片段时域变化过于剧烈,则需要直接调整目标码率到上限Brmax,即最终码率为Br0
基于上述时空域信息融合的码率自适应方案,提出了一种新的码率参数设定方案,能够根据场景内容有效自适应设定转码码率,有效改善复杂和简单场景的视频质量。
S24:服务器基于目标码率对各视频帧进行编码,获得目标视频码流。
例如,目标码率为2000kbps,则使用2000kbps对各视频帧进行编码,获得目标视频码流。
在本申请实施例中,在需要对初始视频码流进行转码时,首先,对初始视频码流包含的各视频帧进行分析,获得各视频帧的复杂度系数以及相邻视频帧的相似度系数,能够通过复杂度系数和相似度系数评估视频画面内容的复杂程度,在此基础上,可以基于复杂度系数和相似度系数,自适应的对初始码率进行调整,在现有网络情况对平均传输码率的约束下,实现了基于视频画面内容对初始码率进行调整,使得码率与视频画面内容匹配,进而提高转码过程中带宽资源的利用率。
最后,采用调整获得的目标码率对各视频帧进行编码,能够在编码过程中兼顾视频画面内容的复杂程度,有效提升画面清晰度,并保留视频纹理细节,在提高带宽资源利用率的同时,保证获得的目标视频码流的视频质量,改善对象的视频观看体验。
如图10所示,为本申请实施例中的一种视频转码方法的整体流程示意图,包括以下步骤:
S1001:对初始视频码流进行解码,并从获得的各视频帧中抽取多个关键帧;
S1002:基于各关键帧各自包含的像素点的像素值,获得各关键帧各自的复杂度系数,以及各关键帧组各自的相似度系数;
S1003:基于各复杂度系数和各相似度系数,获得全局特征系数和局部特征系数;
S1004:基于全局特征系数和局部特征系数,对初始码率进行调整,获得目标码率;
S1005:基于目标码率对各视频帧进行编码,获得目标视频码流。
如图11所示,为本申请实施例中的一种视频转码方法的逻辑示意图,对初始视频码流进行解码后获得7个视频帧,并从中抽取3个视频帧作为关键帧,针对每个关键帧分别计算其复杂度系数,并计算相邻关键帧之间的相似度系数,取最大的复杂度系数100为目标复杂度系数,并取最大的相似度系数80为目标相似度系数,将复杂度系数的均值90作为复杂度分布系数,将相似度系数的均值70作为相似度分布系数,融合目标复杂度系数和目标相似度系数得到局部特征系数150,融合复杂度分布系数和相似度分布系数得到全局特征系数100,局部特征系数不大于K,且全局特征系数大于T,则将初始码率调整为2000kbps,以2000kbps对视频帧编码获得目标视频码流。
在本申请实施例中,对待转码视频预分析,首先通过对待转码视频进行隔帧快速解码进行图像重构,对于解码出来的视频帧进行空域的复杂度评估,同时对相邻解码帧之间也进行时域的相似性分析,最终融合空域信息与时域相似性信息,完成自适应目标码率调整,最后完成视频的转码。该方案将图像内容和纹理复杂度作为考量,从而能有效保证转码视频的主观质量,同时兼顾视频整体与局部特征,避免了视频压缩过程中部分片段因场景复杂而主观质量较差的问题。
基于相同的发明构思,本申请实施例还提供一种视频转码装置。如图12所示,其为视频转码装置1200的结构示意图,可以包括:
解码单元1201,用于对初始视频码流进行解码,获得初始视频码流包含的各视频帧,以及初始视频码流的初始码率;
处理单元1202,用于基于各视频帧各自包含的像素点的像素值,获得各视频帧各自的复杂度系数,以及各视频帧组各自的相似度系数;其中,各视频帧组为:按照每两个相邻的视频帧为一组的规则,对各视频帧进行划分获得的;复杂度系数表征:相应的视频帧包含的画面内容的复杂程度;相似度系数表征:相应的视频帧组包含的两个视频帧的画面内容之间的相似程度;
调整单元1203,用于基于各复杂度系数和各相似度系数,对初始码率进行调整,获得目标码率;
编码单元1204,用于基于目标码率对各视频帧进行编码,获得目标视频码流。
在本申请实施例中,在需要对初始视频码流进行转码时,首先,对初始视频码流包含的各视频帧进行分析,获得各视频帧的复杂度系数以及相邻视频帧的相似度系数,能够通过复杂度系数和相似度系数评估视频画面内容的复杂程度,在此基础上,可以基于复杂度系数和相似度系数,自适应的对初始码率进行调整,在现有网络情况对平均传输码率的约束下,实现了基于视频画面内容对初始码率进行调整,使得码率与视频画面内容匹配,进而提高转码过程中带宽资源的利用率。
最后,采用调整获得的目标码率对各视频帧进行编码,能够在编码过程中兼顾视频画面内容的复杂程度,有效提升画面清晰度,并保留视频纹理细节,在提高带宽资源利用率的同时,保证获得的目标视频码流的视频质量,改善对象的视频观看体验。
可选的,调整单元1203具体用于:
基于各复杂度系数和各相似度系数,获得全局特征系数和局部特征系数;其中,全局特征系数表征:各视频帧包含的画面内容的整体复杂程度,局部特征系数表征:各视频帧包含的画面内容的局部复杂程度;
基于全局特征系数和局部特征系数,对初始码率进行调整,获得目标码率。
可选的,处理单元1202具体用于:
针对各视频帧,分别执行以下操作:
将一个视频帧划分为多个视频帧区域,并分别基于多个视频帧区域各自包含的像素点的像素值,获得多个视频帧区域各自的像素方差值;
基于获得的各像素方差值,获得一个视频帧的复杂度系数。
可选的,处理单元1202具体用于:
针对各视频帧组,分别执行以下操作:
将一个视频帧组包含的两个视频帧,分别划分为多个视频帧区域;
基于获得的多个视频帧区域在所属视频帧中的位置,将多个视频帧区域划分为多个区域组,每个区域组包含的两个视频帧区域在所属的视频帧中的位置相同;
分别基于多个区域组各自包含的两个视频帧区域中,在相同位置的像素点之间的像素值的差值,获得多个区域组各自的像素差值;
基于获得的各像素差值,获得一个视频帧组的相似度系数。
可选的,调整单元1203具体用于:
基于各复杂度系数,获得复杂度分布系数,并从各复杂度系数中筛选出,符合复杂度取值条件的目标复杂度系数;
基于各相似度系数,获得相似度分布系数,并从各相似度系数中筛选出,符合相似度取值条件的目标相似度系数;
基于复杂度分布系数、相似度分布系数,和预设参数,获得全局特征系数,并基于目标复杂度系数、目标相似度系数,和预设参数,获得局部特征系数。
可选的,调整单元1203具体用于:
在局部特征系数大于预设阈值时,将第一预设码率作为目标码率;
在局部特征系数不大于预设阈值时,基于全局特征系数和第二预设码率,对初始码率进行调整,获得目标码率,其中,第一预设码率大于第二预设码率。
可选的,调整单元1203具体用于:
在全局特征系数不大于系数下限阈值时,基于全局特征系数和系数下限阈值,获得下调比例值,并将下调比例值与第二预设码率的乘积作为目标码率,下调比例值小于预设调整门限;
在全局特征系数大于系数下限阈值,且不大于系数上限阈值时,将第二预设码率作为目标码率;
在全局特征系数大于系数上限阈值时,基于全局特征系数和系数上限阈值,获得上调比例值,并将上调比例值与第二预设码率的乘积作为目标码率,上调比例值大于预设调整门限。
可选的,装置还包括筛选单元1205,用于:
基于各视频帧各自的标识信息,对各视频帧进行筛选,获得多个关键帧,标识信息是基于对应的视频帧在各视频帧中的位置确定的;
则处理单元1202具体用于:
基于多个关键帧各自包含的像素点的像素值,获得多个关键帧各自的复杂度系数,以及各关键帧组各自的相似度系数,其中,各关键帧组为:按照每两个相邻的关键帧为一组的规则,对各关键帧进行划分获得的。为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器。在该实施例中,电子设备的结构可以如图13所示,包括存储器1301,通讯模块1303以及一个或多个处理器1302。
存储器1301,用于存储处理器1302执行的计算机程序。存储器1301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1301可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1301也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1301是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1301可以是上述存储器的组合。
处理器1302,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1302,用于调用存储器1301中存储的计算机程序时实现上述视频转码方法。
通讯模块1303用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1301、通讯模块1303和处理器1302之间的具体连接介质。本申请实施例在图13中以存储器1301和处理器1302之间通过总线1304连接,总线1304在图13中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1304可以分为地址总线、数据总线、控制总线等。为便于描述,图13中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1301中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的视频转码方法。处理器1302用于执行上述的视频转码方法,如图2所示。
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备。在该实施例中,电子设备的结构可以如图14所示,包括:通信组件1410、存储器1420、显示单元1430、摄像头1440、传感器1450、音频电路1460、蓝牙模块1470、处理器1480等部件。
通信组件1410用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器1420可用于存储软件程序及数据。处理器1480通过运行存储在存储器1420的软件程序或数据,从而执行终端设备的各种功能以及数据处理。存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1420存储有使得终端设备能运行的操作系统。本申请中存储器1420可以存储操作系统及各种应用程序,还可以存储执行本申请实施例视频转码方法的计算机程序。
显示单元1430还可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1430可以包括设置在终端设备正面的显示屏1432。其中,显示屏1432可以采用液晶显示器、发光二极管等形式来配置。显示单元1430可以用于显示本申请实施例中的视频转码用户界面等。
显示单元1430还可用于接收输入的数字或字符信息,产生与终端设备的用户设置以及功能控制有关的信号输入,具体地,显示单元1430可以包括设置在终端设备正面的触摸屏1431,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触摸屏1431可以覆盖在显示屏1432之上,也可以将触摸屏1431与显示屏1432集成而实现终端设备的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1430可以显示应用程序以及对应的操作步骤。
摄像头1440可用于捕获静态图像,用户可以将摄像头1440拍摄的图像通过应用发布评论。摄像头1440可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1480转换成数字图像信号。
终端设备还可以包括至少一种传感器1450,比如加速度传感器1451、距离传感器1452、指纹传感器1453、温度传感器1454。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1460、扬声器1461、传声器1462可提供用户与终端设备之间的音频接口。音频电路1460可将接收到的音频数据转换后的电信号,传输到扬声器1461,由扬声器1461转换为声音信号输出。终端设备还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1462将收集的声音信号转换为电信号,由音频电路1460接收后转换为音频数据,再将音频数据输出至通信组件1410以发送给比如另一终端设备,或者将音频数据输出至存储器1420以便进一步处理。
蓝牙模块1470用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1470与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1480是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1420内的软件程序,以及调用存储在存储器1420内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1480可包括一个或多个处理单元;处理器1480还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1480中。本申请中处理器1480可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的视频转码方法。另外,处理器1480与显示单元1430耦接。
在一些可能的实施方式中,本申请提供的视频转码方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的视频转码方法中的步骤,例如,电子设备可以执行如图2中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种视频转码方法,其特征在于,所述方法包括:
对初始视频码流进行解码,获得所述初始视频码流包含的各视频帧,以及所述初始视频码流的初始码率;
基于所述各视频帧各自包含的像素点的像素值,获得所述各视频帧各自的复杂度系数,以及各视频帧组各自的相似度系数;其中,所述各视频帧组为:按照每两个相邻的视频帧为一组的规则,对所述各视频帧进行划分获得的;所述复杂度系数表征:相应的视频帧包含的画面内容的复杂程度;所述相似度系数表征:相应的视频帧组包含的两个视频帧的画面内容之间的相似程度;
基于各复杂度系数和各相似度系数,对所述初始码率进行调整,获得目标码率;
基于所述目标码率对所述各视频帧进行编码,获得目标视频码流。
2.如权利要求1所述的方法,其特征在于,所述基于各复杂度系数和各相似度系数,对所述初始码率进行调整,获得目标码率,包括:
基于所述各复杂度系数和所述各相似度系数,获得全局特征系数和局部特征系数;其中,所述全局特征系数表征:所述各视频帧包含的画面内容的整体复杂程度,所述局部特征系数表征:所述各视频帧包含的画面内容的局部复杂程度;
基于所述全局特征系数和所述局部特征系数,对所述初始码率进行调整,获得所述目标码率。
3.如权利要求1所述的方法,其特征在于,所述基于所述各视频帧各自包含的像素点的像素值,获得所述各视频帧各自的复杂度系数,包括:
针对所述各视频帧,分别执行以下操作:
将一个视频帧划分为多个视频帧区域,并分别基于所述多个视频帧区域各自包含的像素点的像素值,获得所述多个视频帧区域各自的像素方差值;
基于获得的各像素方差值,获得所述一个视频帧的复杂度系数。
4.如权利要求1所述的方法,其特征在于,所述基于所述各视频帧各自包含的像素点的像素值,获得所述各视频帧组各自的相似度系数,包括:
针对所述各视频帧组,分别执行以下操作:
将一个视频帧组包含的两个视频帧,分别划分为多个视频帧区域;
基于获得的多个视频帧区域在所属视频帧中的位置,将所述多个视频帧区域划分为多个区域组,每个区域组包含的两个视频帧区域在所属的视频帧中的位置相同;
分别基于所述多个区域组各自包含的两个视频帧区域中,在相同位置的像素点之间的像素值的差值,获得所述多个区域组各自的像素差值;
基于获得的各像素差值,获得所述一个视频帧组的相似度系数。
5.如权利要求2所述的方法,其特征在于,所述基于各复杂度系数和各相似度系数,获得全局特征系数和局部特征系数,包括:
基于所述各复杂度系数,获得复杂度分布系数,并从所述各复杂度系数中筛选出,符合复杂度取值条件的目标复杂度系数;
基于所述各相似度系数,获得相似度分布系数,并从所述各相似度系数中筛选出,符合相似度取值条件的目标相似度系数;
基于所述复杂度分布系数、所述相似度分布系数,和预设参数,获得所述全局特征系数,并基于所述目标复杂度系数、所述目标相似度系数,和所述预设参数,获得所述局部特征系数。
6.如权利要求2所述的方法,其特征在于,所述基于所述全局特征系数和所述局部特征系数,对所述初始码率进行调整,获得目标码率,包括:
在所述局部特征系数大于预设阈值时,将第一预设码率作为所述目标码率;
在所述局部特征系数不大于所述预设阈值时,基于所述全局特征系数和第二预设码率,对所述初始码率进行调整,获得所述目标码率,其中,所述第一预设码率大于所述第二预设码率。
7.如权利要求6所述的方法,其特征在于,所述基于所述全局特征系数和第二预设码率,对所述初始码率进行调整,获得所述目标码率,包括:
在所述全局特征系数不大于系数下限阈值时,基于所述全局特征系数和所述系数下限阈值,获得下调比例值,并将所述下调比例值与所述第二预设码率的乘积作为所述目标码率,所述下调比例值小于预设调整门限;
在所述全局特征系数大于所述系数下限阈值,且不大于系数上限阈值时,将所述第二预设码率作为所述目标码率;
在所述全局特征系数大于所述系数上限阈值时,基于所述全局特征系数和所述系数上限阈值,获得上调比例值,并将所述上调比例值与所述第二预设码率的乘积作为所述目标码率,所述上调比例值大于所述预设调整门限。
8.如权利要求1-5任一所述的方法,其特征在于,在所述基于所述各视频帧各自包含的像素点的像素值,获得所述各视频帧各自的复杂度系数,以及各视频帧组各自的相似度系数之前,还包括:
基于所述各视频帧各自的标识信息,对所述各视频帧进行筛选,获得多个关键帧,所述标识信息是基于对应的视频帧在所述各视频帧中的位置确定的;
则所述基于所述各视频帧各自包含的像素点的像素值,获得所述各视频帧各自的复杂度系数,以及各视频帧组各自的相似度系数,包括:
基于所述多个关键帧各自包含的像素点的像素值,获得所述多个关键帧各自的复杂度系数,以及各关键帧组各自的相似度系数,其中,所述各关键帧组为:按照每两个相邻的关键帧为一组的规则,对所述各关键帧进行划分获得的。
9.一种视频转码装置,其特征在于,包括:
解码单元,用于对初始视频码流进行解码,获得所述初始视频码流包含的各视频帧,以及所述初始视频码流的初始码率;
处理单元,用于基于所述各视频帧各自包含的像素点的像素值,获得所述各视频帧各自的复杂度系数,以及各视频帧组各自的相似度系数;其中,所述各视频帧组为:按照每两个相邻的视频帧为一组的规则,对所述各视频帧进行划分获得的;所述复杂度系数表征:相应的视频帧包含的画面内容的复杂程度;所述相似度系数表征:相应的视频帧组包含的两个视频帧的画面内容之间的相似程度;
调整单元,用于基于各复杂度系数和各相似度系数,对所述初始码率进行调整,获得目标码率;
编码单元,用于基于所述目标码率对所述各视频帧进行编码,获得目标视频码流。
10.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~8中任一所述方法的步骤。
11.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~8中任一所述方法的步骤。
12.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行权利要求1~8中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311279953.1A CN117014659B (zh) | 2023-10-07 | 2023-10-07 | 一种视频转码方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311279953.1A CN117014659B (zh) | 2023-10-07 | 2023-10-07 | 一种视频转码方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117014659A true CN117014659A (zh) | 2023-11-07 |
CN117014659B CN117014659B (zh) | 2024-02-06 |
Family
ID=88569454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311279953.1A Active CN117014659B (zh) | 2023-10-07 | 2023-10-07 | 一种视频转码方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117014659B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714700A (zh) * | 2023-12-20 | 2024-03-15 | 书行科技(北京)有限公司 | 一种视频编码方法、装置、设备、可读存储介质及产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105815A1 (en) * | 2003-11-14 | 2005-05-19 | Vweb Corporation | Video encoding using variable bit rates |
US8767825B1 (en) * | 2009-11-30 | 2014-07-01 | Google Inc. | Content-based adaptive video transcoding framework |
CN109788316A (zh) * | 2019-02-27 | 2019-05-21 | 腾讯科技(深圳)有限公司 | 码率控制、视频转码方法与装置、计算机设备及存储介质 |
CN110324622A (zh) * | 2018-03-28 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 一种视频编码码率控制方法、装置、设备及存储介质 |
CN111787318A (zh) * | 2020-06-24 | 2020-10-16 | 浙江大华技术股份有限公司 | 一种视频码率控制方法、装置、设备以及存储装置 |
US20220167062A1 (en) * | 2020-11-20 | 2022-05-26 | At&T Intellectual Property I, L.P. | Video complexity detection for network traffic management |
CN114885167A (zh) * | 2022-04-29 | 2022-08-09 | 上海哔哩哔哩科技有限公司 | 视频编码方法及装置 |
-
2023
- 2023-10-07 CN CN202311279953.1A patent/CN117014659B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105815A1 (en) * | 2003-11-14 | 2005-05-19 | Vweb Corporation | Video encoding using variable bit rates |
US8767825B1 (en) * | 2009-11-30 | 2014-07-01 | Google Inc. | Content-based adaptive video transcoding framework |
CN110324622A (zh) * | 2018-03-28 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 一种视频编码码率控制方法、装置、设备及存储介质 |
CN109788316A (zh) * | 2019-02-27 | 2019-05-21 | 腾讯科技(深圳)有限公司 | 码率控制、视频转码方法与装置、计算机设备及存储介质 |
CN111787318A (zh) * | 2020-06-24 | 2020-10-16 | 浙江大华技术股份有限公司 | 一种视频码率控制方法、装置、设备以及存储装置 |
US20220167062A1 (en) * | 2020-11-20 | 2022-05-26 | At&T Intellectual Property I, L.P. | Video complexity detection for network traffic management |
CN114885167A (zh) * | 2022-04-29 | 2022-08-09 | 上海哔哩哔哩科技有限公司 | 视频编码方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714700A (zh) * | 2023-12-20 | 2024-03-15 | 书行科技(北京)有限公司 | 一种视频编码方法、装置、设备、可读存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN117014659B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111066326B (zh) | 机器学习视频处理系统和方法 | |
CN113015021B (zh) | 云游戏的实现方法、装置、介质及电子设备 | |
EP3008903B1 (en) | Screen map and standards-based progressive codec for screen content coding | |
WO2023016155A1 (zh) | 图像处理方法、装置、介质及电子设备 | |
CN117014659B (zh) | 一种视频转码方法、装置、电子设备和存储介质 | |
CN104685873B (zh) | 编码控制设备以及编码控制方法 | |
CN111327950B (zh) | 一种视频转码方法及装置 | |
WO2021057697A1 (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
CA3182110A1 (en) | Reinforcement learning based rate control | |
CN111083450A (zh) | 车机端图像远程输出方法、装置及系统 | |
CN112235582A (zh) | 一种视频数据处理方法、装置、计算机设备及存储介质 | |
Ko et al. | Implementation and evaluation of fast mobile VNC systems | |
US11699212B2 (en) | Method of controlling encoding of display data | |
CN114374841A (zh) | 视频编码码率控制的优化方法、装置及电子设备 | |
CN113191945B (zh) | 一种面向异构平台的高能效图像超分辨率系统及其方法 | |
CN116193197A (zh) | 一种数据处理方法、装置、设备以及可读存储介质 | |
CN116980604A (zh) | 视频编码方法、视频解码方法及相关设备 | |
CN110582022A (zh) | 视频编解码方法和装置及存储介质 | |
CN106254873B (zh) | 一种视频编码方法及视频编码装置 | |
JP6216046B2 (ja) | コーデックの自動適応化 | |
CN113160342B (zh) | 基于反馈的编码方法及装置、存储介质、电子设备 | |
CN115225911B (zh) | 一种码率自适应方法、装置、计算机设备和存储介质 | |
CN111885378B (zh) | 多媒体数据编码方法、装置、设备以及介质 | |
WO2024082971A1 (zh) | 一种视频处理方法及相关装置 | |
US20240137502A1 (en) | Systems and methods for encoding and decoding video with memory-efficient prediction mode selection |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |