CN109168030B - 一种视频转码方法、设备及其存储介质 - Google Patents

一种视频转码方法、设备及其存储介质 Download PDF

Info

Publication number
CN109168030B
CN109168030B CN201811191653.7A CN201811191653A CN109168030B CN 109168030 B CN109168030 B CN 109168030B CN 201811191653 A CN201811191653 A CN 201811191653A CN 109168030 B CN109168030 B CN 109168030B
Authority
CN
China
Prior art keywords
frame
video
sequence
ratio
source video
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.)
Active
Application number
CN201811191653.7A
Other languages
English (en)
Other versions
CN109168030A (zh
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
Central South University
Original Assignee
Tencent Technology Shenzhen Co Ltd
Central South University
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, Central South University filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811191653.7A priority Critical patent/CN109168030B/zh
Publication of CN109168030A publication Critical patent/CN109168030A/zh
Priority to EP19870081.7A priority patent/EP3767960A4/en
Priority to PCT/CN2019/090395 priority patent/WO2020073671A1/zh
Priority to TW108119926A priority patent/TWI703857B/zh
Priority to US17/087,514 priority patent/US11343501B2/en
Application granted granted Critical
Publication of CN109168030B publication Critical patent/CN109168030B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234363Processing 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 spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/440263Processing 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 spatial resolution, e.g. for displaying on a connected PDA

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例公开一种视频转码方法、设备、及其存储介质,其中方法包括如下步骤:获取源视频数据中的视频序列,获取所述视频序列中的源视频帧,所述源视频数据包括按照序列排列顺序进行排列的多个视频序列;获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整;基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列;将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中。采用本发明,编码方式简单快捷,进而可以减少编码时间复杂度。

Description

一种视频转码方法、设备及其存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种视频转码方法、设备、及其存储介质。
背景技术
随着信息技术的飞跃,多媒体技术在网络中的应用得到了空前发展,作为多媒体技术重要组成部分的视频通信技术也得到了极大的发展和应用。由于不同的视频可能采用不同的编码或者压缩标准,而且具体应用场景也可能不同,因此在不同的设备间共享、交换或者播放视频文件时,通常需要进行视频转码操作。
视频转码是指将已经压缩编码的视频码流转换成另一格式的视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。视频转码本质上是一个先解码、再编码的过程,在该过程中既可能涉及不同视频格式之间的转换,例如从MPEG-2或者MPEG-4转到H.264;也可能涉及对码率、分辨率和帧率等转码参数的调整,使得执行转码操作生成的视频能够满足特定的需求。
现有技术中,为了减少视频转码过程中的质量波动,通常采用四路编码技术,四路编码技术是指对与源视频数据相同的四路视频数据分别进行编码并复用为一路的过程,而每路编码的实现需要依据前一次的编码信息实现当前次的编码过程,即第i+1次编码采用第i次的编码信息,以此方式完成所有编码块的编码过程,这样,编码的次数越多,参考信息越多,质量损失越少,但采用相同的方式分别对四路视频数据进行编码必然会导致编码时间的增加。因此,现有技术中在保证了视频质量的情况下大大增加了编码时间复杂度。
发明内容
本发明实施例提供了一种视频转码方法、设备、及其存储介质,通过基于视频序列中首帧的预测残差绝对值与视频序列的码率的第一比值对各视频序列中的各源视频帧的量化参数进行调整,并采用调整后的量化参数进行编码而减少视频转码过程中的质量抖动,不需要进行四路编码,编码方式简单快捷,进而可以减少编码时间复杂度。
本发明实施例一方面提供一种视频转码方法,可包括:
获取源视频数据中的视频序列,获取所述视频序列中的源视频帧,所述源视频数据包括按照序列排列顺序进行排列的多个视频序列;
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整;
基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列;
将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中。
本发明实施例一方面提供一种视频转码设备,可包括:
源视频帧获取单元,用于获取源视频数据中的视频序列,获取所述视频序列中的源视频帧,所述源视频数据包括按照序列排列顺序进行排列的多个视频序列;
参数调整单元,用于获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整;
视频帧编码单元,用于基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列;
序列添加单元,用于将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中。
可选的,还包括:
编号设置单元,用于设置源视频数据中多个视频序列的序列号集合,并设置所述多个视频序列中各视频序列的帧号集合,所述序列号集合包括首序列号以及非首序列号,所述帧号集合包括首帧号、首部受影响帧号、中部受影响帧号以及尾部受影响帧号。
可选的,还包括:
编号获取单元,用于获取所述视频序列在所述序列号集合中的序列号以及所述源视频帧在所述帧号集合中的帧号。
可选的,所述参数调整单元,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为首帧号时,基于所述第一比值对所述源视频帧的量化参数进行调整。
可选的,所述参数调整单元,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为首部受影响帧号,或者所述序列号为首序列号且所述帧号为中部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值;
基于所述第一比值以及所述第二比值对所述源视频帧的量化参数进行调整。
可选的,所述参数调整单元,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为尾部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;
基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
可选的,所述参数调整单元,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为非首序列号且所述帧号为首帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;
基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
可选的,所述参数调整单元,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为非首序列号且所述帧号为首部受影响帧号,或所述序列号为非首序列号且所述帧号为中部受影响帧号,或所述序列号为非首序列号且所述帧号为尾部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值,并获取所述视频序列中首帧的图像模糊度与所述首帧的预测残差绝对值的第四比值;
基于所述第一比值、所述第二比值、所述第三比值以及所述第四比值对所述源视频帧的量化参数进行调整。
本发明实施例一方面提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
本发明实施例一方面提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
在本发明实施例中,通过获取源视频数据中按照序列排列顺序进行排列的多个视频序列中的一个视频序列,并获取该视频序列中的源视频帧,再计算该视频序列中首帧的预测残差绝对值与该视频序列的码率的第一比值,基于所述第一比值对所述源视频帧的量化参数进行调整,基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列,将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中,针对所有的视频序列均采用相同的方式进行处理,从而实现视频转码过程。通过基于视频序列中首帧的预测残差绝对值与视频序列的码率的第一比值对各视频序列中的各源视频帧的量化参数进行调整,并采用调整后的量化参数进行编码而减少视频转码过程中的质量抖动,不需要进行四路编码,编码方式简单快捷,进而可以减少编码时间复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频转码网络架构的结构示意图;
图2是本发明实施例提供的一种视频转码方法的流程示意图;
图3是本发明实施例提供的一种视频转码方法的流程示意图;
图4是本发明实施例提供的一种视频序列的组成结构示意图;
图5是本发明实施例提供的一种量化参数调节过程示意图;
图6是本发明实施例提供的一种量化参数调节过程示意图;
图7是本发明实施例提供的一种量化参数调节过程示意图;
图8是本发明实施例提供的一种量化参数调节过程示意图;
图9是本发明实施例提供的一种量化参数调节过程示意图;
图10是本发明实施例提供的一种视频转码设备的结构示意图;
图11是本发明实施例提供的一种视频转码设备的结构示意图;
图12是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,为本发明实施例提供的一种视频转码网络架构示意图。如图1所示,所述网络架构可以包括视频转码设备2000,源视频数据3000,源视频数据3000对应的多个视频序列4000a、4000b、…、4000n,每个视频序列所包含的多个源视频帧,如视频序列4000a包含的多个源视频帧5000a、视频序列4000b包含的多个源视频帧5000b、…、视频序列4000n包含的多个源视频帧5000n,每个源视频帧经过视频转码设备2000处理后的目标视频帧6000a、6000b、…、6000n,采用目标视频帧替换源视频帧后得到的替换后的视频序列7000a、7000b、…、7000n,以及将各替换后的视频序列进行合成得到的目标视频数据8000。
所述视频转码设备2000可以为用户终端,包括平板电脑、个人计算机(PC)、智能手机、掌上电脑以及移动互联网设备(MID)等具备视频转码功能的终端设备,还可以为终端应用程序,如小程序或APP等;所述视频转码设备2000还可以为具备视频转码功能的服务器。
如图1所示,所述视频转码设备2000获取源视频数据3000,并将所述源视频数据3000分割为多个视频序列4000a、4000b、…、4000n,可基于用户输入的指令设置所述多个视频序列4000a、4000b、…、4000n的序列号集合,并设置所述多个视频序列4000a、4000b、…、4000n中各视频序列(如多个5000a、多个5000b、…、多个5000n)的帧号集合。
其中,所述多个视频序列4000a、4000b、…、4000n按照序列排列顺序进行排列,如序列号分别为0、1、2、…、n。进而,可以将这多个视频序列分为序列号为0的视频序列(4000a)以及序列号为非0的视频序列(4000b、…、4000n)。
进一步的,对每个视频序列(如4000a)中的多个源视频帧(5000a)进行编号,可分为首帧、首部受影响帧、中部受影响帧,尾部受影响帧。一种可行的编号方式为,首帧(第一帧)是编号为1的视频帧,首部受影响帧编号为2-20的视频帧,尾部受影响帧为总帧数减20到最后一帧的视频帧,中部受影响帧是基于首部受影响帧和尾部受影响帧之间的视频帧。
由于每个视频序列4000a、4000b、…、4000n均采用相同的方式进行分布式处理。为便于理解,以4000a的处理过程为例进行描述。
在视频序列4000a中包括多个源视频帧5000a,依次遍历每个源视频帧,并获取当前遍历到的源视频帧5000a。
同时,获取所述视频序列4000a中首帧的预测残差绝对值与所述视频序列的码率的第一比值seqCpx,并获取所述视频序列在所述序列号集合中的序列号以及所述源视频帧在所述帧号集合中的帧号。
当所述序列号为首序列号且所述帧号为首帧号(编号为0的视频序列的首帧)时,基于所述第一比值seqCpx对所述源视频帧的量化参数Q进行调整。
当所述序列号为首序列号且所述帧号为首部受影响帧号,或者所述序列号为首序列号且所述帧号为中部受影响帧号(编号为0的视频序列的首部受影响帧号或中部受影响帧)时,获取所述源视频帧5000a的预测残差绝对值与所述视频序列的码率的第二比值picRate;基于所述第一比值seqCpx以及所述第二比值picRate对所述源视频帧的量化参数Q进行调整。
当所述序列号为首序列号且所述帧号为尾部受影响帧号(编号为0的视频序列的尾部受影响帧)时,获取所述源视频帧5000a的预测残差绝对值与所述视频序列的码率的第二比值picRate以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值blurRate;基于所述第一比值seqCpx、所述第二比值picRate以及所述第三比值blurRate对所述源视频帧的量化参数Q进行调整。
当所述序列号为非首序列号且所述帧号为首帧号(编号为非0的视频序列的首帧)时,获取所述源视频帧5000a的预测残差绝对值与所述视频序列的码率的第二比值picRate以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值blurRate;基于所述第一比值seqCpx、所述第二比值picRate以及所述第三比值blurRate对所述源视频帧的量化参数Q进行调整。
当所述序列号为非首序列号且所述帧号为首部受影响帧号,或所述序列号为非首序列号且所述帧号为中部受影响帧号,或所述序列号为非首序列号且所述帧号为尾部受影响帧号(编号为非0的视频序列的首部受影响帧或中部受影响帧或尾部受影响帧)时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值picRate以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值blurRate,并获取所述视频序列中首帧的图像模糊度与所述首帧的预测残差绝对值的第四比值i_blurRate;基于所述第一比值seqCpx、所述第二比值picRate、所述第三比值blurRate以及所述第四比值i_blurRate对所述源视频帧的量化参数Q进行调整。
针对上述几种情况分别对Q值进行调整后,再基于调整后的量化参数Q对所述源视频帧5000a进行编码处理,得到目标视频帧6000a,采用所述目标视频帧6000a替换所述源视频帧5000a,得到替换后的视频序列7000a;将所述替换后的视频序列7000a按照所述序列排列顺序添加至目标视频数据8000中。
按照上述方式分别对4000b、…、4000n进行相同的处理,从而可以得到转码后的目标视频8000,以完成视频转码过程。
在本发明实施例中,通过获取源视频数据中按照序列排列顺序进行排列的多个视频序列中的一个视频序列,并获取该视频序列中的源视频帧,再计算该视频序列中首帧的预测残差绝对值与该视频序列的码率的第一比值,基于所述第一比值对所述源视频帧的量化参数进行调整,基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列,将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中,针对所有的视频序列均采用相同的方式进行处理,从而实现视频转码过程。通过基于视频序列中首帧的预测残差绝对值与视频序列的码率的第一比值对各视频序列中的各源视频帧的量化参数进行调整,并采用调整后的量化参数进行编码而减少视频转码过程中的质量抖动,不需要进行四路编码,编码方式简单快捷,进而可以减少编码时间复杂度。
下面将结合附图2-附图10,对本发明实施例提供的视频转码方法进行详细介绍。其中,本发明实施例中的视频转码设备可以是图1所示的视频转码设备2000。
请参见图2,为本发明实施例提供了一种视频转码方法的流程示意图。如图2所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S104。
S101,所述视频转码设备获取源视频数据中的视频序列,获取所述视频序列中的源视频帧,所述源视频数据包括按照序列排列顺序进行排列的多个视频序列;
可以理解的是,所述视频数据是指由多帧图像组成的图像流,其实质是由一组组连续的图像构成的,含有丰富的信息和内容。以视频的形式来传递信息,能够直观、生动、真实、高效地表达信息,所传递的信息量非常丰富。
将视频数据按照设定帧数的图像进行分割,可以得到多个视频序列。每个视频序列又包括多帧图像。其中,帧是组成视频的最小视觉单位,是一幅图像。
在本发明实施例中,将所获取的视频数据作为源视频数据,而该源视频数据由多个视频序列组成,这多个视频序列按照序列排列顺序进行排列,每个视频序列又由多个源视频帧组成,这多个源视频帧按照帧排列顺序排列。
具体的,视频转码设备通过在视频数据集合中截取待转码的源视频数据,或者接收其他设备(用户终端)发送的待转码的源视频数据,又或者从网络下载待转码的源视频数据,又或者当前录制待转码的源视频数据等方式得到源视频数据,并将源视频数据采用设定的分割规则分割为多个连续的视频序列,可采用分布式方式分别遍历这多个视频序列,并获取当前遍历到的视频序列中的源视频帧。其中,所述分割规则可以为按照设定的帧数依次划分,如每间隔30帧分为一个视频序列。
S102,所述视频转码设备获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整;
可以理解的是,在视频序列中包括有多帧图像,获取其中首帧图像的预测残差绝对值(SATD,Sum of Absolute Transformed Difference),SATD是一种视频残差信号大小的衡量标准。如果这种预测值与当前的实际值很接近,则它们之间的差值(称为预测残差)将足够小,从而使编码器用很短的码字对其进行编码。
视频序列的码率是指该视频序列中所有帧的总码率的和,即数据传输时单位时间传送的数据位数,单位是千位每秒kbps。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件。
因此,第一比值=首帧图像的预测残差绝对值/视频序列的码率。
在视频转码过程中多采用图像有损压缩编码,这是因为图像有损压缩编码利用了人类对图像或声波中的某些频率成分不敏感的特性,允许压缩过程中损失一定的信息;虽然不能完全恢复原始数据,但是所损失的部分对理解原始图像的影响缩小,但有较高的压缩率。而量化是有损压缩编码过程中的一个重要步骤,就是把信号的连续取值映射成多个离散的幅值的过程,实现了信号取值多对一的映射。通过量化可以有效减小信号的取值范围,进而获得更好的压缩效果。因而为了减少视频转码过程中的质量波动(信息损失),可对转码中的量化参数进行调整,并可采用调整后的量化参数进行有损压缩编码。在本发明实施例中,可基于第一比值调整编码过程中的量化参数。
其中,所述视频转码是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽格式(如兼容、标清、高清、超清等格式)、不同终端处理能力和不同的用户需求,视频转码本质上是一个先解码、再编码的过程。
所述编码是信息从一种形式或格式转换为另一种形式的过程。用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。解码是编码的逆过程。
具体的,由于源视频数据的多个视频序列是按照序列排列顺序排列,每个视频序列对应一个序列号,构成序列号集合。并且,每个视频序列又包括多帧图像,每个图像对应一个帧号,而构成帧号集合。每个所述序列号集合包括首序列号以及非首序列号,所述帧号集合包括首帧号、首部受影响帧号、中部受影响帧号以及尾部受影响帧号。
具体主要分为编号为0和编号为非0的视频序列两种情况来进行量化参数调控。
当所述序列号为首序列号且所述帧号为首帧号时,基于所述第一比值对所述源视频帧的量化参数进行调整。
当所述序列号为首序列号且所述帧号为首部受影响帧号,或者所述序列号为首序列号且所述帧号为中部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值;基于所述第一比值以及所述第二比值对所述源视频帧的量化参数进行调整。
当所述序列号为首序列号且所述帧号为尾部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
当所述序列号为非首序列号且所述帧号为首帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
当所述序列号为非首序列号且所述帧号为首部受影响帧号,或所述序列号为非首序列号且所述帧号为中部受影响帧号,或所述序列号为非首序列号且所述帧号为尾部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值,并获取所述视频序列中首帧的图像模糊度与所述首帧的预测残差绝对值的第四比值;基于所述第一比值、所述第二比值、所述第三比值以及所述第四比值对所述源视频帧的量化参数进行调整。
S103,所述视频转码设备基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列;
可以理解的是,量化是有损压缩编码中的关键环节,一个好的量化效果,不仅要具有好的比特率-失真(Rate-Distortion,R-D)性能,还要具有好的重建图像主观质量。在本发明实施例中,通过调整量化参数QP(Q)而实现对量化的优化处理。
所述量化参数Q是量化步长Qstep的序号。对于亮度(Luma)编码而言,量化步长Qstep共有52个值,QP取值0~51,对于色度(Chroma)编码,Q的取值0~39。
具体的,采用调整后得到的量化参数对源视频帧进行编码,编码完成后得到目标视频帧,直接采用目标视频帧替换原来的源视频帧,并采用相同的方式将所述视频序列中的所有源视频帧替换掉,从而得到替换后的视频序列,所述替换后的视频序列即为编码后得到的视频序列。
S104,所述视频转码设备将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中。
将编码后的各个视频序列按照所述序列排列顺序再重新拼接,从而得到编码后的目标视频数据,完成视频转码过程。
在本发明实施例中,通过获取源视频数据中按照序列排列顺序进行排列的多个视频序列中的一个视频序列,并获取该视频序列中的源视频帧,再计算该视频序列中首帧的预测残差绝对值与该视频序列的码率的第一比值,基于所述第一比值对所述源视频帧的量化参数进行调整,基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列,将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中,针对所有的视频序列均采用相同的方式进行处理,从而实现视频转码过程。通过基于视频序列中首帧的预测残差绝对值与视频序列的码率的第一比值对各视频序列中的各源视频帧的量化参数进行调整,并采用调整后的量化参数进行编码而减少视频转码过程中的质量抖动,不需要进行四路编码,编码方式简单快捷,进而可以减少编码时间复杂度。
请参见图3,为本发明实施例提供了一种视频转码方法的流程示意图。如图3所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S215。
S201,视频转码设备设置源视频数据中多个视频序列的序列号集合,并设置所述多个视频序列中各视频序列的帧号集合,所述序列号集合包括首序列号以及非首序列号,所述帧号集合包括首帧号、首部受影响帧号、中部受影响帧号以及尾部受影响帧号;
可以理解的是,所述视频数据是指由多帧图像组成的图像流,其实质是由一组组连续的图像构成的,含有丰富的信息和内容。以视频的形式来传递信息,能够直观、生动、真实、高效地表达信息,所传递的信息量非常丰富。
将视频数据按照设定帧数的图像进行分割,可以得到多个视频序列。每个视频序列又包括多帧图像。其中,帧是组成视频的最小视觉单位,是一幅图像。例如,一种可行的分割方式为videoWriter writer('out.avi',cv2.cv.CV_FOURCC('M','J','P','G'),fps,size,0/1),第一个参数是写入的视频序列名,第二个参数是视频序列的编码格式,第三个参数是帧率,第四个参数是视频序列的大小,最后一个参数是1则为默认保存彩色图,如不是则随视频颜色而定。
在本发明实施例中,将所获取的视频数据作为源视频数据,而该源视频数据由多个视频序列组成,对这多个视频序列进行编号,一个视频序列对应一个序列号,从而得到源视频数据对应的序列号集合{0、1、2、…、n},进而,可以将这多个视频序列分为序列号为0的视频序列以及序列号为非0的视频序列。
每个视频序列又由多个源视频帧组成,对每个视频序列中的多个源视频帧进行编号,可分为首帧、首部受影响帧、中部受影响帧,尾部受影响帧。一种可行的编号方式为,首帧(第一帧)是编号为1的视频帧,首部受影响帧编号为2-20的视频帧,尾部受影响帧为总帧数减20到最后一帧的视频帧,中部受影响帧是基于首部受影响帧和尾部受影响帧之间的视频帧。
例如,如图4所示为一个视频序列的结构示意图,假设该视频序列包括50帧,那么第1帧为首帧,第2-20帧为首部受影响帧,第21-30帧为中部受影响帧,第31-50为尾部受影响帧。
S202,所述视频转码设备获取源视频数据中的视频序列,获取所述视频序列中的源视频帧,所述源视频数据包括按照序列排列顺序进行排列的多个视频序列;
具体的,视频转码设备依次遍历各视频序列,并获取当前遍历到的视频序列,然后遍历该视频序列中的各源视频帧,并获取当前遍历到的源视频帧。
例如,若源视频数据包括10个视频序列,当前遍历到第一个视频序列(如编号为0的视频序列),在第一个视频序列中包括50个源视频帧,当前遍历到第一帧(首帧),则读取该帧的视频信息。
S203,所述视频转码设备获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
可以理解的是,预测残差绝对值SATD是一种视频残差信号大小的衡量标准。如果这种预测值与当前的实际值很接近,则它们之间的差值(称为预测残差)将足够小,从而使编码器用很短的码字对其进行编码。
视频序列的码率是指该视频序列中所有帧的总码率的和,即数据传输时单位时间传送的数据位数,单位是千位每秒kbps。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件。所述码流是指该视频序列中所有源视频帧的总码率。
因此,第一比值seqCpx=首帧图像的SATD/视频序列的码率。
在视频在转码过程中多采用图像有损压缩编码,这是因为图像有损压缩编码是利用了人类对图像或声波中的某些频率成分不敏感的特性,允许压缩过程中损失一定的信息;虽然不能完全恢复原始数据,但是所损失的部分对理解原始图像的影响缩小,但有较高的压缩率。
典型的有损压缩编码技术包括:预测编码,主要是减少数据在空间和时间上的相关性,以达到对数据压缩的目的,如点线性预测、帧内预测、帧间预测;变换编码,将图像时域信号变换到频域上进行处理,如KL(Karhunen-Loeve变换)、DFT(Discrete FourierTransform,离散傅里叶变换)、DCT(Discrete Cosine Transform,离散余弦变换)、DST(Discrete Sine Transform,离散正弦变换)、HADAMARD(哈达码变换)、小波变换;量化编码,当对模拟信号进行数字化时,需要经历一个量化的过程,量化器的设计是一个很关键的步骤,量化器设计的好坏对于量化误差的大小有直接的影响,如标量量化、矢量量化;子带编码,子带编码主要有两种方式。一种是将图像数据变换到频域后,按频域分带,然后用不同的量化器进行量化,从而达到最优的组合。另外一种是分步渐进编码,在初始时对某一频带的信号进行解码,然后逐渐扩展到所有频带,随着解码数据的增加,解码图像也逐渐的清晰起来,如子带编码、块切割法;模型编码,如结构模型、知识基模型。结构模型编码是指编码时首先求出图像中的边界、轮廓、纹理等结构特征参数,然后保存这些参数信息,解码时根据结构和参数信息进行组合,从而恢复出原图像。知识基模型编码,对于人脸等可用规则描述的图像,利用人们对其的知识形成一个规则库,据此将人脸的变化等特征用一些参数进行描述,从而根据参数和模型就可以实现对人脸的图像编解码。混合编码,即同时使用两种或两种以上的编码方法进行编码,如JPEG、H.261、MPEG等。
S204,所述视频转码设备获取所述视频序列在所述序列号集合中的序列号以及所述源视频帧在所述帧号集合中的帧号;
具体的,获取当前遍历到的视频序列的序列号以及该视频序列的当前源视频帧的帧号,以便于采取与所获取的序列号和帧号对应的质量参数调整方式。
而量化是有损压缩编码过程中的一个重要步骤,就是把信号的连续取值映射成多个离散的幅值的过程,实现了信号取值多对一的映射。通过量化可以有效减小信号的取值范围,进而获得更好的压缩效果。因而为了减少视频转码过程中的信息损失,可对转码中的量化参数进行调整。在本发明实施例中,可基于第一比值调整编码过程中的量化参数。
其中,所述视频转码是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽格式(如兼容、标清、高清、超清等格式)、不同终端处理能力和不同的用户需求,视频转码本质上是一个先解码、再编码的过程。
所述编码是信息从一种形式或格式转换为另一种形式的过程。用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。解码,是编码的逆过程。
S205,当所述序列号为首序列号且所述帧号为首帧号时,所述视频转码设备基于所述第一比值对所述源视频帧的量化参数进行调整;
可以理解的是,当所述序列号为首序列号且所述帧号为首帧号,表明源视频帧为编号为0的视频序列的第一帧,第一比值seqCpx能够有效标识当前子序列的量化参数的调整趋势,此时可基于第一比值seqCpx对所述源视频帧的量化参数进行调整,具体调整过程可参见图5。
其中,表1所示为seqCpx的分布情况。
具体的,对于每个源视频帧,系统会分配一个初始量化参数QP。当确定当前源视频帧为0序列的首帧时,基于表1查找seqCpx所属的范围,若seqCpx属于(0.08,0.20]区间,则将量化参数Q调整至Q=Q+qFactor,qFactor=seqCpx*10;否则,若seqCpx属于(0.20,0.40]区间,则将量化参数Q调整至Q=Q-qFactor;否则,若seqCpx属于(0.40,1.0]区间,则将量化参数Q调整至Q=Q-qFactor。在调整完成后,则进入编码过程的其他阶段以完成视频转码过程。当然,若当前源视频帧不为0序列的首帧时,则采用非首帧对应的量化参数调整方案进行调整。
表1
编号为0的视频序列的首帧的seqCpx 编号非0的视频序列的首帧的seqCpx
(0.08,0.20] (0.0,0.07]
(0.20,0.40] (0.10,0.12]
(0.40,1.0] (0.12,0.20]
(0.20,0.30]
S206,当所述序列号为首序列号且所述帧号为首部受影响帧号,或者所述序列号为首序列号且所述帧号为中部受影响帧号时,所述视频转码设备获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值;
可以理解的是,当所述序列号为首序列号且所述帧号为首部受影响帧号,或者所述序列号为首序列号且所述帧号为中部受影响帧号,表明源视频帧为编号为0的视频序列的首部受影响帧或中部受影响帧,则计算第二比值picRate=当前源视频帧图像的SATD/视频序列的码率,并可基于第一比值seqCpx以及所述第二比值picRate对该源视频帧的视频参数进行调整。
S207,所述视频转码设备基于所述第一比值以及所述第二比值对所述源视频帧的量化参数进行调整。
需要说明的是,在本实施例中,针对seqCpx的分布情况,还可以多个子区间,如(0.07,0.40]、(0.07,0.15]、(0.01,0.06]、(0.20,0.40]等。
具体调整过程如图6所示。当确定当前源视频帧为0序列的首部受影响帧或中部受影响帧时,判断该源视频帧是否为场景切换帧,具体可基于编码器中的场景标志位来进行判断。
若为场景切换帧,则将量化参数Q调整至Q=Q+qFactor,qFactor=seqCpx*10。
若不为场景切换帧,则确定seqCpx所属的区间,若seqCpx属于(0.07,0.40]区间,则进一步判断seqCpx是否属于(0.07,0.15]区间,如是,且picRate属于(0.01,0.06]区间,则将量化参数Q调整至Q+=picRate*10+0.05。
若不为场景切换帧,且seqCpx属于(0.07,0.40]区间,进一步判断seqCpx是否属于(0.07,0.15]区间,若不属于,再判断seqCpx是否属于(0.20,0.40]区间,若是,并且picRate属于(0.01,0.06]区间,则将量化参数Q调整至Q=Q-qFactor。
若不为场景切换帧,且seqCpx属于(0.07,0.40]区间,进一步判断seqCpx是否属于(0.07,0.15]区间,若不属于,再判断seqCpx是否属于(0.20,0.40]区间,若是,并且picRate不属于(0.01,0.06]区间时,则进入编码过程的其他阶段以完成视频转码过程。
若不为场景切换帧,且seqCpx不属于(0.07,0.40]区间,则进一步判断seqCpx是否属于(0.40,1.0]区间,若是,且该源视频帧为首部受影响帧时,则将量化参数Q调整至Q=Q-qFactor*1.5。
若不为场景切换帧,且seqCpx不属于(0.07,0.40]区间,则进一步判断seqCpx是否seqCpx属于(0.40,1.0]区间,若是,且该源视频帧不为首部受影响帧(即为中部受影响帧)时,则将量化参数Q调整至Q=Q-qFactor*2.5+step_up,step_up是一个动态影响因子,随帧变化,初始值为0.01,上限为4。
当然,若当前帧不为首部受影响帧或中部受影响帧时,则采用其他受影响帧对应的量化参数调整方案进行调整。
S208,当所述序列号为首序列号且所述帧号为尾部受影响帧号时,所述视频转码设备获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;
可以理解的是,当所述序列号为首序列号且所述帧号为尾部受影响帧号,表明源视频帧为编号为0的视频序列的尾部受影响帧,则计算第二比值picRate=当前源视频帧图像的SATD/视频序列的码率以及第三比值blurRate=当前源视频帧图像的图像模糊度/当前源视频帧图像的SATD。
其中,由于在视频转码过程中,图像模糊度会发生变化,进而影响视频质量,因此,为了减少视频转码过程中的视频质量波动,在本发明实施例中对视频转码过程进行优化。
所述图像模糊度又叫图像清晰度,图像清晰度指图像上各细部影纹及其边界的清晰程度。衡量画面模糊的主要方法就是梯度的统计特征,通常梯度值越高,画面的边缘信息越丰富,图像越清晰。
而影响视频的清晰度的因素:一是格式:AVI格式的文件最大,比WMV的大近10倍,比MPWG-1大近15倍,FLV的最小。同样,AVI的最清晰,MPEG相对较差,FLV的最差。二是视频的分辨率:越大视频越清晰。三是视频的比特度,越高越清晰。所以:如果你是AVI格式,转换成了FLV格式,则清晰度就会下降。如果视频的比特率,分辨率设的比原来小,也会下降。
S209,所述视频转码设备基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
具体调整过程可参见图7。
需要说明的是,在本实施例中,针对seqCpx的分布情况,还可以包括多个子区间,如(0.07,0.15]、(0.07,0.4]、(0.4,1.0]等。
当确定当前源视频帧为0序列的尾部受影响帧时,若seqCpx属于(0.07,0.40]区间,且当前源视频帧为尾部受影响帧的前10帧,则将量化参数Q调整至Q=Q-picRate*5+0.1。
当确定当前源视频帧为0序列的尾部受影响帧时,若seqCpx属于(0.07,0.40]区间,且当前源视频帧为尾部受影响帧的最后5帧,则将量化参数Q调整至Q=Q+picRate*10+0.1。
当确定当前源视频帧为0序列的尾部受影响帧时,若seqCpx属于(0.07,0.40]区间,且当前源视频帧既不是尾部受影响帧的前10帧,也不是尾部受影响帧的最后5帧,进一步判断seqCpx是否属于(0.07,0.15]区间,若是,且Bs>0.4时,则将量化参数Q调整至Q=Q+4.2。
当确定当前源视频帧为0序列的尾部受影响帧时,若seqCpx属于(0.07,0.40]区间,且当前源视频帧既不是尾部受影响帧的前10帧,也不是尾部受影响帧的最后5帧,进一步判断seqCpx是否属于(0.07,0.15]区间,若是,且Bs<=0.4,再判断picRate是否小于0.05,若picRate>=0.05时,则将量化参数Q调整至Q=Q+picRate*10/1.5,所述Bs为1pass编码信息中当前源视频帧的前一帧的YUV PSNR值与当前源视频帧的YUV PSNR值的差。
当确定当前源视频帧为0序列的尾部受影响帧时,若seqCpx属于(0.07,0.40]区间,且当前源视频帧既不是尾部受影响帧的前10帧,也不是尾部受影响帧的最后5帧,进一步判断seqCpx是否属于(0.07,0.15]区间,若是,且Bs<=0.4,再判断picRate是否小于0.05,若picRate<0.05时,则将量化参数Q调整至Q=Q+picRate*10*2,所述Bs为1pass编码信息中当前源视频帧的前一帧的YUV PSNR值与当前源视频帧的YUV PSNR值的差。
当确定当前源视频帧为0序列的尾部受影响帧时,若seqCpx属于(0.07,0.40]区间,且当前源视频帧既不是尾部受影响帧的前10帧,也不是尾部受影响帧的最后5帧,进一步判断seqCpx是否属于(0.07,0.15]区间,若seqCpx不属于(0.07,0.4]区间,再判断blurRate是否属于(0.8,1.0)以及picRate是否属于(0.07,0.10),若blurRate属于(0.8,1.0)以及picRate属于(0.07,0.10),当前源视频帧为尾部受影响帧的最后一帧,则将量化参数Q调整至Q=Q-qFactor*2,qFactor=seqCpx*10。
当确定当前源视频帧为0序列的尾部受影响帧时,若seqCpx不属于(0.07,0.40]区间,而属于(0.4,1.0]区间,且当前源视频帧为尾部受影响帧的前10帧,则将量化参数Q调整至Q=Q-diffTemp*4.0,diffTemp表示当前源视频帧的前一个已编码帧的YUV PSNR值与当前源视频帧在1pass编码中的YUV PSNR值之差的绝对值。
当确定当前源视频帧为0序列的尾部受影响帧时,若seqCpx不属于(0.07,0.40]区间,而属于(0.4,1.0]区间,且当前源视频帧不为尾部受影响帧的前10帧,则将量化参数Q调整至Q=Q-qFactor*3.5。
在调整完成后,则进入编码过程的其他阶段以完成视频转码过程。当然,若当前帧不为0序列的尾部受影响帧时,则采用其他受影响帧对应的量化参数调整方案进行调整。
S210,当所述序列号为非首序列号且所述帧号为首帧号时,所述视频转码设备获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;
获取第二比值picRate和第三比值blurRate具体可参见S208,此处不再赘述。
S211,所述视频转码设备基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
具体调整过程可参见图8。
需要说明的是,在本实施例中,针对seqCpx的分布情况,还可以包括多个子区间,如(0.20,0.30]、(0.01,0.20]、(0.01,0.20]等。
当确定当前源视频帧为非0序列的首帧时,若seqCpx不属于(0.01,0.20]区间而属于(0.20,0.30]区间,则将量化参数Q调整至Q=Q+qf,qf=(seqCpx*100)/2.2。
当确定当前源视频帧为非0序列的首帧时,若seqCpx不属于(0.01,0.20]区间且不属于(0.20,0.30]区间,则将量化参数Q调整至Q=Q+qf+1.75。
当确定当前源视频帧为非0序列的首帧时,若seqCpx属于(0.01,0.20]区间,再进一步判断是否满足i_blurRate>0.55&&seqCpx>0.07,若不满足,继续判断是否满足i_blurRate>0.3,仍然不满足时,若seqCpx<0.15,则将量化参数Q调整至Q=Q-t0,t0=qt+pow(avg_psnryuv,1.0/5)+SSID/3,qt=seqCpx*10。
当确定当前源视频帧为非0序列的首帧时,若seqCpx属于(0.01,0.20]区间,再进一步判断是否满足i_blurRate>0.55&&seqCpx>0.07,若不满足,继续判断是否满足i_blurRate>0.3,仍然不满足时,若seqCpx>=0.15,再判断是否满足i_blurRate>0.25,若是,则将量化参数Q调整至Q=Q+t1,t1=qt+pow(avg_psnryuv,1.0/5)-1.0,qt=seqCpx*10。
当确定当前源视频帧为非0序列的首帧时,若seqCpx属于(0.01,0.20]区间,再进一步判断是否满足i_blurRate>0.55&&seqCpx>0.07,若不满足,继续判断是否满足i_blurRate>0.3,仍然不满足时,若seqCpx>=0.15,再判断是否满足i_blurRate>0.25,若否,则判断是否满足i_blurRate>0.15&&i_blurRate<0.25,当满足i_blurRate>0.15&&i_blurRate<0.25时,将量化参数Q调整至Q=Q+t2,t2=qt+pow(avg_psnryuv,1.0/5)-1.0,qt=seqCpx*10,当不满足i_blurRate>0.15&&i_blurRate<0.25时,则进入编码过程的其他编码阶段。
当确定当前源视频帧为非0序列的首帧时,若seqCpx属于(0.01,0.20]区间,且满足i_blurRate>0.55&&seqCpx>0.07,则将量化参数Q调整至Q=Q-tf,tf=(blurRate*10+seqCpx*10)/2。
当确定当前源视频帧为非0序列的首帧时,若seqCpx属于(0.01,0.20]区间,且不满足i_blurRate>0.55&&seqCpx>0.07,但满足i_blurRate>0.3,则将量化参数Q调整至Q=Q-tf,tf=(blurRate*10+seqCpx*10)/2。
在调整完成后,则进入编码过程的其他阶段以完成视频转码过程。当然,若当前帧不为非0序列的首帧时,则采用其他受影响帧对应的量化参数调整方案进行调整。
S212,当所述序列号为非首序列号且所述帧号为首部受影响帧号,或所述序列号为非首序列号且所述帧号为中部受影响帧号,或所述序列号为非首序列号且所述帧号为尾部受影响帧号时,所述视频转码设备获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值,并获取所述视频序列中首帧的图像模糊度与所述首帧的预测残差绝对值的第四比值;
当所述序列号为非首序列号且所述帧号为首部受影响帧号,或所述序列号为非首序列号且所述帧号为中部受影响帧号,或所述序列号为非首序列号且所述帧号为尾部受影响帧号时,表明当前的源视频帧为编号为非0(如1、2、…、n)的视频序列的首部受影响帧或中部受影响帧或尾部受影响帧,则计算第二比值picRate=当前源视频帧图像的SATD/视频序列的码率,第三比值blurRate=当前源视频帧图像的图像模糊度/当前源视频帧图像的SATD,以及第四比值i_blurRate=首帧的图像模糊度/首帧的预测残差绝对值。
S213,所述视频转码设备基于所述第一比值、所述第二比值、所述第三比值以及所述第四比值对所述源视频帧的量化参数进行调整。
具体调整过程可参见图9。
需要说明的是,在本实施例中,针对seqCpx的分布情况,还可以包括多个子区间,如(0.12,0.20]、(0.12,0.20]、(0,0.07]等。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧不为尾部受影响帧,当seqCpx不属于(0.1,0.12]区间而属于(0.12,0.20]区间时,将量化参数Q调整至Q=Q-blurRate。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧不为尾部受影响帧,当seqCpx属于(0.10,0.12]区间且i_blurRate>0.3时,将量化参数Q调整至Q=Q+i_blurRate*10。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,若不属于,则继续判断是否属于(0.10,0.12]区间,若属于,且blurRate>5时,将量化参数Q调整至Q=Q+blurRate-1。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,若不属于,则继续判断是否属于(0.10,0.12]区间,若属于,且blurRate<=5,再继续判断是否满足picRate属于(0.07,seqCpx)&&blurRate>0.3),若不满足picRate属于(0.07,seqCpx)&&blurRate>0.3时,将量化参数Q调整至Q=Q-qf0,qf0=(picRate*100+blurRate*10)/2.5。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,若不属于,则继续判断是否属于(0.10,0.12]区间,若属于,且blurRate<=5,再继续判断是否满足picRate属于(0.07,seqCpx)&&blurRate>0.3),若满足picRate属于(0.07,seqCpx)&&blurRate>0.3时,将量化参数Q调整至Q=Q-qf1,qf1=(pass1Psnr/10)*3.0,pass1Psnr表示当前源视频帧在1pass编码时产生的YUV PSNR值。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,若不属于,则继续判断是否属于(0.10,0.12]区间,若不属于,当seqCpx属于(0.12,0.20]区间且blurRate<0.5时,将量化参数Q调整至Q=Q+blurRate-1。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,若不属于,则继续判断是否属于(0.10,0.12]区间,若不属于,当seqCpx属于(0.12,0.20]区间且blurRate>=0.5时,再判断blurRate是否属于(0.5,0.95]区间,当seqCpx属于(0.12,0.20]区间且blurRate属于(0.5,0.95]区间时,将量化参数Q调整至Q=Q-i_blurRate。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,若不属于,则继续判断是否属于(0.10,0.12]区间,若不属于,当seqCpx属于(0.12,0.20]区间且blurRate>=0.5时,再判断blurRate是否属于(0.5,0.95]区间,当seqCpx属于(0.12,0.20]区间且blurRate不属于(0.5,0.95]区间而属于(0.95,2.5]区间时,将量化参数Q调整至Q=Q-1.1。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,若不属于,则继续判断是否属于(0.10,0.12]区间,若不属于,再判断seqCpx是否属于(0.12,0.20]区间),当也不属于(0.12,0.20]区间,但blurRate属于(0.95,2.5]区间时,将量化参数Q调整至Q=Q-i_blurRate*10。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,当seqCpx属于(0,0.07]区间且blurRate属于(0,0.05]区间时,将量化参数Q调整至Q=Q-blurRate。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,当seqCpx属于(0,0.07]区间且blurRate属于(0.5,0.8]区间时,将量化参数Q调整至Q=Q+blurRate。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,当seqCpx属于(0,0.07]区间且blurRate属于(0.8,1.0]区间时,将量化参数Q调整至Q=Q-0.02。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且不为场景切换帧,进一步判断seqCpx是否属于(0,0.07]区间,当seqCpx属于(0,0.07]区间且blurRate属于(1.0,2.5]区间时,将量化参数Q调整至Q=Q-1.1。
当确定当前源视频帧为非0序列的非首帧时,若当前源视频帧为尾部受影响帧且为场景切换帧,则将量化参数Q调整至Q=Q+picRate*10。
在调整完成后,则进入编码过程的其他阶段以完成视频转码过程。当然,若当前帧不为非0序列的非首帧时,则采用其他受影响帧对应的量化参数调整方案进行调整。
S214,所述视频转码设备基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列;
具体的,采样上述方式得到调整后的量化参数后,采用调整后得到的量化参数对源视频帧进行编码,编码完成后得到目标视频帧,直接采用目标视频帧替换原来的源视频帧,并采用相同的方式将所述视频序列中的所有源视频帧替换掉,从而得到替换后的视频序列,所述替换后的视频序列即为编码后得到的视频序列。
例如,如图4所示,若当前编码到第20帧,则采用调整后的量化参数对第20帧进行编码,编码完成后,将所得到的视频帧替换第20帧中源视频帧。按照相同的方式将这50帧分别替换,从而得到替换后的视频序列(即编码后的视频序列)。
S215,所述视频转码设备将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中。
具体的,将得到的替换后的视频序列按照替换前对应的序列号替换掉原来的视频序列,并将所有的视频序列按照相同的方式进行处理,替换完成后就可得到转码后的目标视频序列。所述源视频序列与所述目标视频序列的视频内容相同,只是编码格式不同。
在本发明实施例中,通过对源视频数据中的视频序列进行编号,并对各视频序列中的源视频帧进行编号,获取源视频数据中按照序列排列顺序进行排列的多个视频序列中的一个视频序列,并获取该视频序列中的源视频帧,基于该视频序列的序列号以及源视频帧的帧号确定相应的量化参数调整方案,以对所述源视频帧的量化参数进行调整,基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列,将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中,针对所有的视频序列均采用相同的方式进行处理,从而实现视频转码过程。通过基于视频序列中首帧的预测残差绝对值与视频序列的码率的第一比值和/或源视频帧的预测残差绝对值与视频序列的码率的第二比值和/或源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值和/或视频序列中首帧的图像模糊度与所述首帧的预测残差绝对值的第四比值,对各视频序列中的各源视频帧的量化参数进行调整,并采用调整后的量化参数进行编码而减少视频转码过程中的质量抖动,不需要进行四路编码,编码方式简单快捷,进而可以减少编码时间复杂度。
下面将结合附图10-附图11,对本发明实施例提供的视频转码设备进行详细介绍。需要说明的是,附图10-附图11所示的视频转码设备,用于执行本发明图2-图9所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图2-图9所示的实施例。
请参见图10,为本发明实施例提供了一种视频转码设备的结构示意图。如图10所示,本发明实施例的所述视频转码设备1可以包括:源视频帧获取单元11、参数调整单元12、视频帧编码单元13和序列添加单元14。
源视频帧获取单元11,用于获取源视频数据中的视频序列,获取所述视频序列中的源视频帧,所述源视频数据包括按照序列排列顺序进行排列的多个视频序列;
参数调整单元12,用于获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整;
可选的,所述参数调整单元12,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为首帧号时,基于所述第一比值对所述源视频帧的量化参数进行调整。
可选的,所述参数调整单元12,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为首部受影响帧号,或者所述序列号为首序列号且所述帧号为中部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值;
基于所述第一比值以及所述第二比值对所述源视频帧的量化参数进行调整。
可选的,所述参数调整单元12,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为尾部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;
基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
可选的,所述参数调整单元12,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为非首序列号且所述帧号为首帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;
基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
可选的,所述参数调整单元12,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为非首序列号且所述帧号为首部受影响帧号,或所述序列号为非首序列号且所述帧号为中部受影响帧号,或所述序列号为非首序列号且所述帧号为尾部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值,并获取所述视频序列中首帧的图像模糊度与所述首帧的预测残差绝对值的第四比值;
基于所述第一比值、所述第二比值、所述第三比值以及所述第四比值对所述源视频帧的量化参数进行调整。
视频帧编码单元13,用于基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列;
序列添加单元14,用于将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中。
可选的,如图11所示,还包括:
编号设置单元15,用于设置源视频数据中多个视频序列的序列号集合,并设置所述多个视频序列中各视频序列的帧号集合,所述序列号集合包括首序列号以及非首序列号,所述帧号集合包括首帧号、首部受影响帧号、中部受影响帧号以及尾部受影响帧号。
可选的,如图11所示,还包括:
编号获取单元16,用于获取所述视频序列在所述序列号集合中的序列号以及所述源视频帧在所述帧号集合中的帧号。
在本发明实施例中,通过对源视频数据中的视频序列进行编号,并对各视频序列中的源视频帧进行编号,获取源视频数据中按照序列排列顺序进行排列的多个视频序列中的一个视频序列,并获取该视频序列中的源视频帧,基于该视频序列的序列号以及源视频帧的帧号确定相应的量化参数调整方案,以对所述源视频帧的量化参数进行调整,基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列,将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中,针对所有的视频序列均采用相同的方式进行处理,从而实现视频转码过程。通过基于视频序列中首帧的预测残差绝对值与视频序列的码率的第一比值和/或源视频帧的预测残差绝对值与视频序列的码率的第二比值和/或源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值和/或视频序列中首帧的图像模糊度与所述首帧的预测残差绝对值的第四比值,对各视频序列中的各源视频帧的量化参数进行调整,并采用调整后的量化参数进行编码而减少视频转码过程中的质量抖动,不需要进行四路编码,编码方式简单快捷,进而可以减少编码时间复杂度。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2-图9所示实施例的方法步骤,具体执行过程可以参见图2-图9所示实施例的具体说明,在此不进行赘述。
请参见图12,为本发明实施例提供了一种电子设备的结构示意图。如图12所示,所述电子设备1000为图1中的视频转码设备2000,可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。
在图12所示的电子设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的视频转码应用程序,并具体执行以下操作:
获取源视频数据中的视频序列,获取所述视频序列中的源视频帧,所述源视频数据包括按照序列排列顺序进行排列的多个视频序列;
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整;
基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列;
将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中。
在一个实施例中,所述处理器1001在执行获取源视频数据中的视频序列,获取所述视频序列中的源视频帧之前,还执行以下操作:
设置源视频数据中多个视频序列的序列号集合,并设置所述多个视频序列中各视频序列的帧号集合,所述序列号集合包括首序列号以及非首序列号,所述帧号集合包括首帧号、首部受影响帧号、中部受影响帧号以及尾部受影响帧号。
在一个实施例中,所述处理器1001在执行基于所述第一比值对所述源视频帧的量化参数进行调整之前,还执行以下操作:
获取所述视频序列在所述序列号集合中的序列号以及所述源视频帧在所述帧号集合中的帧号。
在一个实施例中,所述处理器1001在执行获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整时,具体执行以下操作:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为首帧号时,基于所述第一比值对所述源视频帧的量化参数进行调整。
在一个实施例中,所述处理器1001在执行获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整时,具体执行以下操作:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为首部受影响帧号,或者所述序列号为首序列号且所述帧号为中部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值;
基于所述第一比值以及所述第二比值对所述源视频帧的量化参数进行调整。
在一个实施例中,所述处理器1001在执行获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整时,具体执行以下操作:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为尾部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;
基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
在一个实施例中,所述处理器1001在执行获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整时,具体执行以下操作:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为非首序列号且所述帧号为首帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;
基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
在一个实施例中,所述处理器1001在执行获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整时,具体执行以下操作:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为非首序列号且所述帧号为首部受影响帧号,或所述序列号为非首序列号且所述帧号为中部受影响帧号,或所述序列号为非首序列号且所述帧号为尾部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值,并获取所述视频序列中首帧的图像模糊度与所述首帧的预测残差绝对值的第四比值;
基于所述第一比值、所述第二比值、所述第三比值以及所述第四比值对所述源视频帧的量化参数进行调整。
在本发明实施例中,通过对源视频数据中的视频序列进行编号,并对各视频序列中的源视频帧进行编号,获取源视频数据中按照序列排列顺序进行排列的多个视频序列中的一个视频序列,并获取该视频序列中的源视频帧,基于该视频序列的序列号以及源视频帧的帧号确定相应的量化参数调整方案,以对所述源视频帧的量化参数进行调整,基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列,将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中,针对所有的视频序列均采用相同的方式进行处理,从而实现视频转码过程。通过基于视频序列中首帧的预测残差绝对值与视频序列的码率的第一比值和/或源视频帧的预测残差绝对值与视频序列的码率的第二比值和/或源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值和/或视频序列中首帧的图像模糊度与所述首帧的预测残差绝对值的第四比值,对各视频序列中的各源视频帧的量化参数进行调整,并采用调整后的量化参数进行编码而减少视频转码过程中的质量抖动,不需要进行四路编码,编码方式简单快捷,进而可以减少编码时间复杂度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (15)

1.一种视频转码方法,其特征在于,包括:
获取源视频数据中的视频序列,获取所述视频序列中的源视频帧,所述源视频数据包括按照序列排列顺序进行排列的多个视频序列,每个所述视频序列由多个源视频帧组成;
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整;
基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列;
将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中。
2.根据权利要求1所述的方法,其特征在于,所述获取源视频数据中的视频序列,获取所述视频序列中的源视频帧之前,所述方法还包括:
设置源视频数据中多个视频序列的序列号集合,并设置所述多个视频序列中各视频序列的帧号集合,所述序列号集合包括首序列号以及非首序列号,所述帧号集合包括首帧号、首部受影响帧号、中部受影响帧号以及尾部受影响帧号,首帧号为1的视频帧的编号,首部受影响帧号为2-20的视频帧的编号,尾部受影响帧号为总帧数减20到最后一帧的视频帧的编号,中部受影响帧号是基于首部受影响帧和尾部受影响帧之间的视频帧的编号。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一比值对所述源视频帧的量化参数进行调整之前,所述方法还包括:
获取所述视频序列在所述序列号集合中的序列号以及所述源视频帧在所述帧号集合中的帧号。
4.根据权利要求3所述的方法,其特征在于,所述获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整,包括:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为首帧号时,基于所述第一比值对所述源视频帧的量化参数进行调整。
5.根据权利要求3所述的方法,其特征在于,所述获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整,包括:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为首部受影响帧号,或者所述序列号为首序列号且所述帧号为中部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值;
基于所述第一比值以及所述第二比值对所述源视频帧的量化参数进行调整。
6.根据权利要求3所述的方法,其特征在于,所述获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整,包括:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为尾部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;
基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
7.根据权利要求3所述的方法,其特征在于,所述获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整,包括:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为非首序列号且所述帧号为首帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值;
基于所述第一比值、所述第二比值以及所述第三比值对所述源视频帧的量化参数进行调整。
8.根据权利要求3所述的方法,其特征在于,所述获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整,包括:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为非首序列号且所述帧号为首部受影响帧号,或所述序列号为非首序列号且所述帧号为中部受影响帧号,或所述序列号为非首序列号且所述帧号为尾部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值以及所述源视频帧的图像模糊度与所述源视频帧的预测残差绝对值的第三比值,并获取所述视频序列中首帧的图像模糊度与所述首帧的预测残差绝对值的第四比值;
基于所述第一比值、所述第二比值、所述第三比值以及所述第四比值对所述源视频帧的量化参数进行调整。
9.一种视频转码设备,其特征在于,包括:
源视频帧获取单元,用于获取源视频数据中的视频序列,获取所述视频序列中的源视频帧,所述源视频数据包括按照序列排列顺序进行排列的多个视频序列,每个所述视频序列由多个源视频帧组成;
参数调整单元,用于获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值,并基于所述第一比值对所述源视频帧的量化参数进行调整;
视频帧编码单元,用于基于调整后的量化参数对所述源视频帧进行编码处理,得到目标视频帧,采用所述目标视频帧替换所述源视频帧,得到替换后的视频序列;
序列添加单元,用于将所述替换后的视频序列按照所述序列排列顺序添加至目标视频数据中。
10.根据权利要求9所述的设备,其特征在于,所述设备还包括:
编号设置单元,用于设置源视频数据中多个视频序列的序列号集合,并设置所述多个视频序列中各视频序列的帧号集合,所述序列号集合包括首序列号以及非首序列号,所述帧号集合包括首帧号、首部受影响帧号、中部受影响帧号以及尾部受影响帧号,首帧号为1的视频帧的编号,首部受影响帧号为2-20的视频帧的编号,尾部受影响帧号为总帧数减20到最后一帧的视频帧的编号,中部受影响帧号是基于首部受影响帧和尾部受影响帧之间的视频帧的编号。
11.根据权利要求10所述的设备,其特征在于,所述设备还包括:
编号获取单元,用于获取所述视频序列在所述序列号集合中的序列号以及所述源视频帧在所述帧号集合中的帧号。
12.根据权利要求11所述的设备,其特征在于,所述参数调整单元,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为首帧号时,基于所述第一比值对所述源视频帧的量化参数进行调整。
13.根据权利要求11所述的设备,其特征在于,所述参数调整单元,具体用于:
获取所述视频序列中首帧的预测残差绝对值与所述视频序列的码率的第一比值;
当所述序列号为首序列号且所述帧号为首部受影响帧号,或者所述序列号为首序列号且所述帧号为中部受影响帧号时,获取所述源视频帧的预测残差绝对值与所述视频序列的码率的第二比值;
基于所述第一比值以及所述第二比值对所述源视频帧的量化参数进行调整。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~8任意一项的方法步骤。
15.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~8任意一项的方法步骤。
CN201811191653.7A 2018-10-12 2018-10-12 一种视频转码方法、设备及其存储介质 Active CN109168030B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811191653.7A CN109168030B (zh) 2018-10-12 2018-10-12 一种视频转码方法、设备及其存储介质
EP19870081.7A EP3767960A4 (en) 2018-10-12 2019-06-06 METHOD AND DEVICE FOR VIDEO TRANSCODING AND STORAGE MEDIUM FOR IT
PCT/CN2019/090395 WO2020073671A1 (zh) 2018-10-12 2019-06-06 一种视频转码方法、设备及其存储介质
TW108119926A TWI703857B (zh) 2018-10-12 2019-06-10 視頻轉碼方法及設備、電腦儲存介質及電子設備
US17/087,514 US11343501B2 (en) 2018-10-12 2020-11-02 Video transcoding method and device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811191653.7A CN109168030B (zh) 2018-10-12 2018-10-12 一种视频转码方法、设备及其存储介质

Publications (2)

Publication Number Publication Date
CN109168030A CN109168030A (zh) 2019-01-08
CN109168030B true CN109168030B (zh) 2021-03-26

Family

ID=64878140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811191653.7A Active CN109168030B (zh) 2018-10-12 2018-10-12 一种视频转码方法、设备及其存储介质

Country Status (5)

Country Link
US (1) US11343501B2 (zh)
EP (1) EP3767960A4 (zh)
CN (1) CN109168030B (zh)
TW (1) TWI703857B (zh)
WO (1) WO2020073671A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109168030B (zh) * 2018-10-12 2021-03-26 中南大学 一种视频转码方法、设备及其存储介质
CN114979640A (zh) * 2020-07-17 2022-08-30 Oppo广东移动通信有限公司 一种编码方法、编码器及计算机可读存储介质
CN112492305B (zh) * 2020-11-18 2022-02-11 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106937112A (zh) * 2017-03-31 2017-07-07 西安电子科技大学 基于h.264视频压缩标准的码率控制方法
CN107404648A (zh) * 2017-08-24 2017-11-28 中南大学 一种基于hevc的视频多路转码方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330509B2 (en) * 2003-09-12 2008-02-12 International Business Machines Corporation Method for video transcoding with adaptive frame rate control
US7263126B2 (en) * 2003-09-15 2007-08-28 Sharp Laboratories Of America, Inc. System and method for transcoding with adaptive bit rate control
US8588296B2 (en) * 2009-07-02 2013-11-19 Dialogic Corporation Bitrate control algorithm for video transcoding systems
US8804820B2 (en) * 2011-04-21 2014-08-12 Dialogic Corporation Rate control with look-ahead for video transcoding
US9538190B2 (en) * 2013-04-08 2017-01-03 Qualcomm Incorporated Intra rate control for video encoding based on sum of absolute transformed difference
US9565440B2 (en) * 2013-06-25 2017-02-07 Vixs Systems Inc. Quantization parameter adjustment based on sum of variance and estimated picture encoding cost
US9807410B2 (en) * 2014-07-02 2017-10-31 Apple Inc. Late-stage mode conversions in pipelined video encoders
CN105376568B (zh) * 2015-12-22 2018-11-06 广州通达汽车电气股份有限公司 一种abr视频编码码率控制的优化方法
WO2017214510A1 (en) * 2016-06-10 2017-12-14 Affirmed Networks, Inc. Transcoding using time stamps
WO2018132964A1 (zh) * 2017-01-18 2018-07-26 深圳市大疆创新科技有限公司 传输编码数据的方法、装置、计算机系统和移动设备
CN109168030B (zh) * 2018-10-12 2021-03-26 中南大学 一种视频转码方法、设备及其存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106937112A (zh) * 2017-03-31 2017-07-07 西安电子科技大学 基于h.264视频压缩标准的码率控制方法
CN107404648A (zh) * 2017-08-24 2017-11-28 中南大学 一种基于hevc的视频多路转码方法

Also Published As

Publication number Publication date
US20210051327A1 (en) 2021-02-18
CN109168030A (zh) 2019-01-08
WO2020073671A1 (zh) 2020-04-16
TWI703857B (zh) 2020-09-01
US11343501B2 (en) 2022-05-24
EP3767960A1 (en) 2021-01-20
EP3767960A4 (en) 2021-03-31
TW202015410A (zh) 2020-04-16

Similar Documents

Publication Publication Date Title
CN108833916B (zh) 视频编码、解码方法、装置、存储介质和计算机设备
US11412229B2 (en) Method and apparatus for video encoding and decoding
CN108833918B (zh) 视频编码方法、解码方法、装置、计算机设备及存储介质
KR101643790B1 (ko) 적응적 비디오 스트리밍용의 가변 비트 레이트 및 동적 해상도를 이용한 다중 비트 레이트 비디오 인코딩
US7206453B2 (en) Dynamic filtering for lossy compression
CN108924553B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
TWI687091B (zh) 視訊解碼方法
KR101213704B1 (ko) 가변 컬러 포맷 기반 동영상 부호화 방법 및 장치, 그복호화 방법 및 장치
US20070189626A1 (en) Video encoding/decoding method and apparatus
CN108833917B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
US11343501B2 (en) Video transcoding method and device, and storage medium
US9047669B1 (en) Bit rate control for data compression
JPH07222154A (ja) 映像符号化方法およびその装置
CN108353175B (zh) 使用系数引起的预测处理视频信号的方法和装置
CN108848377B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
CN113170161A (zh) 图像编码方法、图像解码方法、装置和存储介质
WO2024078066A1 (zh) 视频解码方法、视频编码方法、装置、存储介质及设备
CN114731447A (zh) 用于视频编解码的方法和设备
CN113557727B (zh) 一种视频解码方法和相关装置
CN116074539A (zh) 一种图像编解码方法及装置
JP2024524397A (ja) ビデオデータのための符号化方法、復号方法、計算装置及び媒体
CN116982262A (zh) 视频编码中依赖性量化的状态转换
JP2004266794A (ja) マルチ・リゾルーション・ビデオ符号化および復号化
KR20040104831A (ko) 영상데이터의 압축 장치 및 방법
CN114051140B (zh) 视频编码方法、装置、计算机设备及存储介质

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: 40000497

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant