CN111385576A - 视频编码方法、装置、移动终端及存储介质 - Google Patents

视频编码方法、装置、移动终端及存储介质 Download PDF

Info

Publication number
CN111385576A
CN111385576A CN201811618048.3A CN201811618048A CN111385576A CN 111385576 A CN111385576 A CN 111385576A CN 201811618048 A CN201811618048 A CN 201811618048A CN 111385576 A CN111385576 A CN 111385576A
Authority
CN
China
Prior art keywords
video frame
video
sequence
mobile terminal
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811618048.3A
Other languages
English (en)
Other versions
CN111385576B (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.)
Douyin Vision Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201811618048.3A priority Critical patent/CN111385576B/zh
Publication of CN111385576A publication Critical patent/CN111385576A/zh
Application granted granted Critical
Publication of CN111385576B publication Critical patent/CN111385576B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Abstract

本公开提供了一种视频编码方法、装置、移动终端及存储介质,其中,方法包括:基于移动终端的视频客户端,获取视频帧序列;检测所述视频帧序列中图像纹理复杂度的变化程度;基于所述图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率;基于确定的所述编码码率,采用硬件编码方式对所述当前视频帧进行编码,得到编码数据。

Description

视频编码方法、装置、移动终端及存储介质
技术领域
本公开涉及媒体播放技术,尤其涉及一种视频编码方法、装置、移动终端及存储介质。
背景技术
相关技术中采用移动终端进行视频硬编码过程中,当编码码率较低时,编码形成的视频文件会出现细节的明显缺失,例如是动作较多的位置会出现;编码码率高时虽然不会出现上述问题,但是编码后的视频文件体积又会明显增大,导致视频文件上传服务器时上传失败或超时。
发明内容
有鉴于此,本公开实施例提供一种视频编码方法、装置、移动终端及存储介质。
第一方面,本公开实施例提供一种视频编码方法,所述方法包括:
基于移动终端的视频客户端,获取视频帧序列;
检测所述视频帧序列中图像纹理复杂度的变化程度;
基于所述图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率;
基于确定的所述编码码率,采用硬件编码方式对所述当前视频帧进行编码,得到编码数据。
上述方案中,所述检测所述视频帧序列中图像纹理复杂度的变化程度,包括:
解析所述视频帧序列中各视频帧,得到各个视频帧对应的量化参数(QP,Quantization Parameter)所述QP用于表征对应视频帧的图像纹理复杂度;
基于各个视频帧对应的所述QP,确定所述视频帧序列的图像纹理复杂度的变化程度。
上述方案中,所述基于各个视频帧对应的所述QP,确定所述视频帧序列的图像纹理复杂度的变化程度,包括:
确定所述各个视频帧对应的QP的平均值;
基于所述QP的平均值及所述各个视频帧对应的QP,计算所述视频帧序列对应的QP的均方差,所述均方差用于表征所述视频帧序列的图像纹理复杂度的变化程度。
上述方案中,所述基于所述图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率,包括:
确定所述均方差所对应的分段区间;
获取所述分段区间与编码码率之间的映射关系;
将对应所述分段区间的编码码率作为所述当前视频帧对应的编码码率。
上述方案中,所述视频帧序列对应的QP的均方差,与所述当前视频帧对应的编码码率为正相关关系。
上述方案中,所述获取视频帧序列,包括:
周期性的获取由N个视频帧组成的视频帧序列,所述N个视频帧依据采集时间的先后顺序排列,所述视频帧序列中第N个视频帧为所述当前视频帧,所述N为不小于2的正整数。
上述方案中,所述基于确定的所述编码码率,采用硬件编码方式对所述当前视频帧进行编码,得到编码数据,包括:
基于确定的所述编码码率,采用所述移动终端的数字信号处理器(DSP,DigitalSignal Processing)对所述当前视频帧进行编码得到编码数据,以发送所述编码数据。
第二方面,本公开实施例还提供一种视频编码装置,所述装置包括:
获取单元,用于基于移动终端的视频客户端,周期性地获取视频帧序列;
检测单元,用于检测所述视频帧序列中图像纹理复杂度的变化程度;
确定单元,用于基于所述图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率;
编码单元,用于基于确定的所述编码码率,采用硬件编码方式对所述当前视频帧进行编码,得到编码数据。
上述方案中,所述检测单元,还用于解析所述视频帧序列中各视频帧,得到各个视频帧对应的QP,所述QP用于表征对应视频帧的图像纹理复杂度;
基于各个视频帧对应的所述QP,确定所述视频帧序列的图像纹理复杂度的变化程度。
上述方案中,所述检测单元,还用于确定所述各个视频帧对应的QP的平均值;
基于所述QP的平均值及所述各个视频帧对应的QP,计算所述视频帧序列对应的QP的均方差,所述均方差用于表征所述视频帧序列的图像纹理复杂度的变化程度。
上述方案中,所述确定单元,还用于确定所述均方差所对应的分段区间;
获取所述分段区间与编码码率之间的映射关系;
将对应所述分段区间的编码码率作为所述当前视频帧对应的编码码率。
上述方案中,所述视频帧序列对应的QP的均方差,与所述当前视频帧对应的编码码率为正相关关系。
上述方案中,所述获取单元,还用于周期性的获取由N个视频帧组成的视频帧序列,所述N个视频帧依据采集时间的先后顺序排列,所述视频帧序列中第N个视频帧为所述当前视频帧,所述N为不小于2的正整数。
上述方案中,所述编码单元,还用于基于确定的所述编码码率,采用所述移动终端的DSP对所述当前视频帧进行编码得到编码数据,以通过所述移动终端发送所述编码数据。
第三方面,本公开实施例还提供一种移动终端,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本公开实施例提供的上述视频编码方法。
第四方面,本公开实施例还提供一种存储介质,存储有可执行指令,所述可执行指令被执行时,用于实现本公开实施例提供的上述视频编码方法。
应用本公开上述实施例具有以下有益效果:
应用本公开上述实施例,移动终端在进行硬件编码过程中,通过检测视频帧序列中图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率,实现了移动终端在对视频帧序列进行编码过程中码率的动态调整,能够在保证编码后视频文件的视觉质量良好的情况下,实现编码后视频文件的顺利上传。
附图说明
图1为本公开实施例提供的视频文件的处理系统的架构示意图;
图2为本公开实施例提供的移动终端的组成结构示意图;
图3为本公开实施例提供的视频编码方法的流程示意图;
图4为本公开实施例提供的视频编码方法的流程示意图;
图5为本公开实施例提供的视频编码装置的组成结构示意图。
具体实施方式
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开实施例的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本公开实施例。
本公开实施例提供的附图中的流程图和框图,图示了按照本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释。
1)QP,用于表征图像纹理复杂度或场景复杂度,是量化步长的序号,QP取最小值0时,表示量化最精细;相反,QP取最大值(在实际应用中可取51)时,表示量化是最粗糙的。QP和量化步长具有线性正相关性,量化步长随着QP的增加而增加。量化是在不降低视觉效果的前提下减少图像编码长度,减少视觉恢复中不必要的信息。
2)码率,即比特率,数据传输时单位时间传送的数据位数,亦可理解为取样率,单位时间内取样率越大,精度就越高,编码得到的视频文件就越接近原始文件,也就是说画面的细节越丰富,视频编码的码率大小影响视频画面质量。
3)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
参见图1,图1是本公开实施例提供的视频编码方法的一个可选的应用场景示意图,为实现支撑一个示例性应用,移动终端10(示例性示出了移动终端10-1和移动终端10-2)通过网络20连接服务器30,网络20可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
移动终端10-1上设置有视频客户端(如视频直播客户端),移动终端基于视频客户端获取视频帧序列(如采集直播视频流),检测所述视频帧序列中图像纹理复杂度的变化程度;基于所述图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率;基于确定的所述编码码率,采用硬件编码方式对所述当前视频帧进行编码,得到编码数据,发送所述编码数据至服务器30。
相应的,服务器30用于接收移动终端10-1发送的编码数据,以及移动终端10-2发送的视频数据请求,响应于移动终端10-2的视频数据请求,发送所述编码数据至移动终端10-2,移动终端10-2进行解码,基于移动终端10-2上的视频客户端,通过图形界面110-2进行视频播放。
参见图2,图2是本公开实施例的移动终端的组成结构示意图。在本公开实施例中,移动终端包括但不限于诸如移动电话、个人数字助理(PDA,Personal DigitalAssistant)、平板电脑(PAD)、便携式多媒体播放器(PMP,Portable Media Player)、车载终端(例如车载导航终端)等等的移动终端。图2示出的移动终端仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,移动终端可以包括处理装置(例如中央处理器、图形处理器等)210,其可以根据存储在只读存储器(ROM,Read-Only Memory)220中的程序或者从存储装置280加载到随机访问存储器(RAM,Random AccessMemory)230中的程序而执行各种适当的动作和处理。在RAM 230中,还存储有移动终端操作所需的各种程序和数据。处理装置210、ROM 220以及RAM230通过总线240彼此相连。输入/输出(I/O,Input/Output)接口250也连接至总线240。
通常,以下装置可以连接至I/O接口250:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置260;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置270;包括例如磁带、硬盘等的存储装置280;以及通信装置290。通信装置290可以允许移动终端与其他设备进行无线或有线通信以交换数据。虽然图2示出了具有各种装置的移动终端,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,所提供的流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,计算机程序可以通过通信装置290从网络上被下载和安装,或者从存储装置280被安装,或者从ROM220被安装。在计算机程序被处理装置210执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、射频(RF)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述移动终端中所包含的;也可以是单独存在,而未装配入移动终端中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该移动终端执行时,使得移动终端执行本公开实施例提供的上述视频文件的处理方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)和广域网(WAN),以连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
描述于本公开实施例中所涉及到的单元和/或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。
对于硬件的方式来说,实现本公开实施例的移动终端的单元和/或模块可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件实现,用于执行实现本公开实施例提供的方法。
图3为本公开实施例提供的视频编码方法的流程示意图,参见图3,本公开实施例的视频编码方法包括:
步骤301:基于移动终端的视频客户端,获取视频帧序列。
这里,移动终端(如手机)上设置有视频客户端(如直播客户端、短视频APP等),在实际应用中,用户可通过移动终端中安装的视频客户端进行短视频录制及发布,或者通过视频客户端进行视频直播。
在一实施例中,用户通过移动终端的视频客户端进行视频直播,在视频直播过程中,移动终端进行直播视频流采集,并获取直播视频流中由N(具体可以依据实际情况进行设定,如N为8)个视频帧组成的视频帧序列,其中,第N个视频帧为当前采集的视频帧;在实际实施时,所述视频帧序列的获取可以为周期性的获取,例如每秒钟获取一次,具体地,以N取8为例说明,用户基于视频客户端开始直播,移动终端进行视频帧采集,从采集第一个视频帧开始至采集到第8个视频帧形成一个视频帧序列,后续每秒钟进行视频帧序列获取时,将当前采集的视频帧作为视频帧序列中的第8个视频帧,按照采集顺序获取当前视频帧之前的7个视频帧形成视频帧序列。
步骤302:检测所述视频帧序列中图像纹理复杂度的变化程度。
在实际应用中,由于视频帧的QP能够表征视频帧的图像纹理复杂度或场景复杂度,因此,可基于视频帧序列中各个视频帧的QP确定视频帧序列中图像纹理复杂度的变化程度。
在一实施例中,可通过如下方式检测视频帧序列中图像纹理复杂度的变化程度:解析所述视频帧序列中各视频帧,得到各个视频帧对应的QP;基于各个视频帧对应的所述QP,确定所述视频帧序列的图像纹理复杂度的变化程度。这里所述的图像纹理复杂度的变化程度可理解为图像纹理复杂度的波动情况。
在一实施例中,基于各个视频帧对应的所述QP,确定所述视频帧序列的图像纹理复杂度的变化程度,包括:
确定所述各个视频帧对应的QP的平均值;基于所述QP的平均值及所述各个视频帧对应的QP,计算所述视频帧序列对应的QP的均方差,所述均方差用于表征所述视频帧序列的图像纹理复杂度的变化程度。
这里,在实际应用中,视频帧序列对应的QP的均方差反应了视频帧序列中各个视频帧的QP的变化情况,均方差越大,表明QP的波动越大,即视频帧序列中图像纹理复杂度的变化程度越大,所对应的场景越复杂,如用户在跳舞,此时为了保证视频质量,需要采用较大的编码码率;而均方差越小,表明QP的波动越小,视频帧序列中图像纹理复杂度的变化程度越小,所对应的场景越简单,如用户未做任何动作,此时为了减小编码数据的大小,可采用较小的编码码率。
步骤303:基于所述图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率。
在一实施例中,可通过如下方式确定当前视频帧对应的编码码率:
确定视频帧序列对应的QP的均方差所对应的分段区间;获取所述分段区间与编码码率之间的映射关系;将对应所述分段区间的编码码率作为所述当前视频帧对应的编码码率。
这里,在实际应用中,移动终端中存储了QP均方差的分段区间与码率之间的映射关系,当确定了QP的均方差所对应的分段区间,便可查找相应的映射关系,基于所述映射关系确定当前视频帧的码率。例如,确定视频帧序列对应的QP的均方差所对应的分段区间为[0,1],而分段区间为[0,1]所对应的码率为800kbps,则确定当前视频帧所对应的编码码率为800kbps。
在实际应用中,视频帧序列对应的QP的均方差,与当前视频帧对应的编码码率为正相关关系,即QP的均方差越大,当前视频帧对应的编码码率越大。
步骤304:基于确定的所述编码码率,采用硬件编码方式对所述当前视频帧进行编码,得到编码数据。
在本公开实施例中,移动终端对视频帧编码所采用的编码方式为硬件编码方式,具体地,采用移动终端中专用的DSP对视频帧进行特定视频格式(如H.264,运动静止图像专家组的M-JPEG)的编码。
这里,由于移动终端采集的原始视频流的数据量巨大,造成传输困难,因此需要进行压缩,对采集的视频帧进行编码就是通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的过程。视频图像数据有极强的相关性,也就是说有大量的冗余信息,其中,冗余信息可分为空域冗余信息和时域冗余信息,这里所述的压缩技术就是将数据中的冗余信息去掉。
在一实施例中,移动终端对当前视频帧编码完成以后,发送编码得到的编码数据至服务器,以进行视频直播。
在本公开实施例中,由于视频帧对应的编码码率依据视频帧序列中图像纹理复杂度的变化程度所确定,保证视频帧的视觉质量的同时,有效的对编码数据的大小进行控制,以保证编码数据的顺利上传,避免上传超时、上传失败的情况出现。
接下来以应用场景为视频直播为例,对本公开实施例提供的视频编码方法进行说明,图4为本公开实施例提供的视频编码方法的流程示意图,参见图4,本公开实施例的视频编码方法包括:
步骤401:移动终端通过视频客户端进行视频直播过程中,实时采集视频帧,得到直播视频流。
这里,在实际应用中,移动终端作为视频直播的直播端,在用户进行直播时进行视频流采集。
步骤402:基于所述直播视频流,周期性的获取视频帧序列。
这里,在实际实施时,移动终端周期性(如每秒)获取的视频帧序列可以为N个视频帧组成的视频帧序列,其中,第N个视频帧为当前采集的视频帧,也就是说,直播视频流中当前采集的视频帧为视频帧序列中的第N个视频帧,则,根据视频帧的采集顺序,可得到直播视频流中位于当前视频帧之前的N-1个视频帧,以和当前视频帧一起构成当前所要获取的视频帧序列。
步骤403:解析得到所述视频帧序列中各个视频帧的QP。
这里,在实际应用中,通过解码视频帧的源数据,提取得到该视频帧的QP,QP用于表征对应视频帧的图像纹理复杂度,QP越大,表明视频帧的图像纹理越复杂,QP越小,表明视频帧的图像纹理越简单。
步骤404:计算视频帧序列中各个视频帧的QP平均值。
这里,视频帧序列的QP平均值QP平均=(QP1+QP2+QP3+…+QPN)/N,N为不小于2的正整数,在实际应用中,N值可依据实际需要进行设定,例如N取6。
步骤405:基于所述QP平均值,计算所述视频帧序列的QP均方差。
基于本公开上述实施例,在实际实施时,基于所述QP平均值及所述视频帧序列中各个视频帧的QP值,可通过如下公式计算得到述视频帧序列的QP均方差S(即标准差):
Figure BDA0001926224140000121
其中,QPi为视频帧序列中第i个视频帧的QP值。
由于数据的均方差能够反应数据的波动情况,相应的,视频帧序列的QP均方差S用于反应视频帧序列的图像纹理复杂度的变化程度,均方差越大,表明QP的波动越大,即视频帧序列中图像纹理复杂度的变化程度越大,所对应的场景越复杂,如用户在跳舞,此时为了保证视频质量,需要采用较大的编码码率;而均方差越小,表明QP的波动越小,视频帧序列中图像纹理复杂度的变化程度越小,所对应的场景越简单,如用户未做任何动作,此时为了减小编码数据的大小,可采用较小的编码码率。
步骤406:确定视频帧序列的QP均方差所对应的分段区间,并基于所确定的分段区间确定当前视频帧的编码码率。
这里,在实际应用中,QP均方差与当前视频帧的编码码率呈正相关关系,即QP均方差越大,当前视频帧的编码码率越大;在一实施例中,可预先设定多个分段区间,如[0,1],(1,2],(2,3],每个分段区间对应一个码率取值,如QP均方差处于[0,1]时,对应的码率取值为800kbps,QP均方差处于(1,2]时,对应的码率取值为1000kbp;移动终端确定当前的视频帧序列的QP均方差所对应的分段区间后,可基于分段区间和码率的映射关系得到相应的编码码率。
步骤407:基于确定的所述编码码率,采用硬件编码方式对当前视频帧进行编码,得到编码数据。
在本公开实施例中,移动终端对视频帧编码所采用的编码方式为硬件编码方式,具体地,采用移动终端中专用的DSP对视频帧进行特定视频格式(如H.264,运动静止图像专家组的M-JPEG)的编码。
步骤408:发送所述编码数据至服务器。
这里,移动终端对当前采集的视频帧编码后,将编码数据发送至直播服务器,以使直播服务器基于视频数据请求将编码数据发送至移动终端的视频客户端,进行视频直播。
应用本公开上述实施例,移动终端基于视频帧序列中图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率,由于视频帧序列为周期性获取,如此,实现了视频的编码码率的动态调整,能够在保证视频质量的情况下,对视频文件的大小(体积)进行控制,提高了用户体验。
图5为本公开实施例提供的视频编码装置的组成结构示意图,参见图5,本公开实施例提供的视频编码装置包括:
获取单元51,用于基于移动终端的视频客户端,周期性地获取视频帧序列;
检测单元52,用于检测所述视频帧序列中图像纹理复杂度的变化程度;
确定单元53,用于基于所述图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率;
编码单元54,用于基于确定的所述编码码率,采用硬件编码方式对所述当前视频帧进行编码,得到编码数据。
在一实施例中,所述检测单元,还用于解析所述视频帧序列中各视频帧,得到各个视频帧对应的量化参数QP,所述QP用于表征对应视频帧的图像纹理复杂度;
基于各个视频帧对应的所述QP,确定所述视频帧序列的图像纹理复杂度的变化程度。
在一实施例中,所述检测单元,还用于确定所述各个视频帧对应的QP的平均值;
基于所述QP的平均值及所述各个视频帧对应的QP,计算所述视频帧序列对应的QP的均方差,所述均方差用于表征所述视频帧序列的图像纹理复杂度的变化程度。
在一实施例中,所述确定单元,还用于确定所述均方差所对应的分段区间;
获取所述分段区间与编码码率之间的映射关系;
将对应所述分段区间的编码码率作为所述当前视频帧对应的编码码率。
在一实施例中,所述视频帧序列对应的QP的均方差,与所述当前视频帧对应的编码码率为正相关关系。
在一实施例中,所述获取单元,还用于周期性的获取由N个视频帧组成的视频帧序列,所述N个视频帧依据采集时间的先后顺序排列,所述视频帧序列中第N个视频帧为所述当前视频帧,所述N为不小于2的正整数。
在一实施例中,所述编码单元,还用于基于确定的所述编码码率,采用所述移动终端的数字信号处理器DSP对所述当前视频帧进行编码得到编码数据,以通过所述移动终端发送所述编码数据。
这里需要指出的是:以上涉及视频编码装置的描述,与上述视频编码方法描述是类似的,同方法的有益效果描述,不做赘述。对于本公开所述视频编码实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本公开实施例还提供了一种可读存储介质,存储介质可以包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。所述可读存储介质存储有可执行指令;
所述可执行指令,用于被处理器执行时实现本公开实施例提供的视频编码方法。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种视频编码方法,其特征在于,所述方法包括:
基于移动终端的视频客户端,获取视频帧序列;
检测所述视频帧序列中图像纹理复杂度的变化程度;
基于所述图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率;
基于确定的所述编码码率,采用硬件编码方式对所述当前视频帧进行编码,得到编码数据。
2.如权利要求1所述的方法,其特征在于,所述检测所述视频帧序列中图像纹理复杂度的变化程度,包括:
解析所述视频帧序列中各视频帧,得到各个视频帧对应的量化参数QP,所述QP用于表征对应视频帧的图像纹理复杂度;
基于各个视频帧对应的所述QP,确定所述视频帧序列的图像纹理复杂度的变化程度。
3.如权利要求2所述的方法,其特征在于,所述基于各个视频帧对应的所述QP,确定所述视频帧序列的图像纹理复杂度的变化程度,包括:
确定所述各个视频帧对应的QP的平均值;
基于所述QP的平均值及所述各个视频帧对应的QP,计算所述视频帧序列对应的QP的均方差,所述均方差用于表征所述视频帧序列的图像纹理复杂度的变化程度。
4.如权利要求3所述的方法,其特征在于,所述基于所述图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率,包括:
确定所述均方差所对应的分段区间;
获取所述分段区间与编码码率之间的映射关系;
将对应所述分段区间的编码码率作为所述当前视频帧对应的编码码率。
5.如权利要求3所述的方法,其特征在于,
所述视频帧序列对应的QP的均方差,与所述当前视频帧对应的编码码率为正相关关系。
6.如权利要求1所述的方法,其特征在于,所述基于移动终端的视频客户端,获取视频帧序列,包括:
周期性的获取由N个视频帧组成的视频帧序列,所述N个视频帧依据采集时间的先后顺序排列,所述视频帧序列中第N个视频帧为所述当前视频帧,所述N为不小于2的正整数。
7.如权利要求1至6任一项所述的方法,其特征在于,所述基于确定的所述编码码率,采用硬件编码方式对所述当前视频帧进行编码,得到编码数据,包括:
基于确定的所述编码码率,采用所述移动终端的数字信号处理器DSP对所述当前视频帧进行编码得到编码数据,以发送所述编码数据。
8.一种视频编码装置,其特征在于,所述装置包括:
获取单元,用于基于移动终端的视频客户端,获取视频帧序列;
检测单元,用于检测所述视频帧序列中图像纹理复杂度的变化程度;
确定单元,用于基于所述图像纹理复杂度的变化程度,确定当前视频帧对应的编码码率;
编码单元,用于基于确定的所述编码码率,采用硬件编码方式对所述当前视频帧进行编码,得到编码数据。
9.如权利要求8所述的装置,其特征在于,
所述检测单元,还用于解析所述视频帧序列中各视频帧,得到各个视频帧对应的量化参数QP,所述QP用于表征对应视频帧的图像纹理复杂度;
基于各个视频帧对应的所述QP,确定所述视频帧序列的图像纹理复杂度的变化程度。
10.如权利要求9所述的装置,其特征在于,
所述检测单元,还用于确定所述各个视频帧对应的QP的平均值;
基于所述QP的平均值及所述各个视频帧对应的QP,计算所述视频帧序列对应的QP的均方差,所述均方差用于表征所述视频帧序列的图像纹理复杂度的变化程度。
11.如权利要求10所述的装置,其特征在于,
所述确定单元,还用于确定所述均方差所对应的分段区间;
获取所述分段区间与编码码率之间的映射关系;
将对应所述分段区间的编码码率作为所述当前视频帧对应的编码码率。
12.如权利要求10所述的装置,其特征在于,
所述视频帧序列对应的QP的均方差,与所述当前视频帧对应的编码码率为正相关关系。
13.如权利要求8所述的装置,其特征在于,
所述获取单元,还用于周期性的获取由N个视频帧组成的视频帧序列,所述N个视频帧依据采集时间的先后顺序排列,所述视频帧序列中第N个视频帧为所述当前视频帧,所述N为不小于2的正整数。
14.如权利要求8至13任一项所述的装置,其特征在于,
所述编码单元,还用于基于确定的所述编码码率,采用所述移动终端的数字信号处理器DSP对所述当前视频帧进行编码得到编码数据,以通过所述移动终端发送所述编码数据。
15.一种移动终端,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1至7任一项所述的视频编码方法。
16.一种存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时,用于实现权利要求1至7任一项所述的视频编码方法。
CN201811618048.3A 2018-12-28 2018-12-28 视频编码方法、装置、移动终端及存储介质 Active CN111385576B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811618048.3A CN111385576B (zh) 2018-12-28 2018-12-28 视频编码方法、装置、移动终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811618048.3A CN111385576B (zh) 2018-12-28 2018-12-28 视频编码方法、装置、移动终端及存储介质

Publications (2)

Publication Number Publication Date
CN111385576A true CN111385576A (zh) 2020-07-07
CN111385576B CN111385576B (zh) 2021-08-10

Family

ID=71220862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811618048.3A Active CN111385576B (zh) 2018-12-28 2018-12-28 视频编码方法、装置、移动终端及存储介质

Country Status (1)

Country Link
CN (1) CN111385576B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351254A (zh) * 2020-10-30 2021-02-09 重庆中星微人工智能芯片技术有限公司 监控视频编解码装置
CN114501015A (zh) * 2022-04-06 2022-05-13 杭州未名信科科技有限公司 视频编码码率处理方法和装置、存储介质及电子设备
CN116074513A (zh) * 2023-03-06 2023-05-05 北京朝歌数码科技股份有限公司 应用于网络摄像头的视频编码方法、计算机可读介质、电子设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101466035A (zh) * 2007-12-21 2009-06-24 深圳市融合视讯科技有限公司 一种基于h.264的视频图像组比特分配方法
CN101488967A (zh) * 2009-01-14 2009-07-22 深圳市同洲电子股份有限公司 一种视频传输方法、嵌入式监控终端及监控平台服务器
CN101827267A (zh) * 2010-04-20 2010-09-08 上海大学 基于视频图像分割技术的码率控制方法
US20100272171A1 (en) * 2008-03-11 2010-10-28 Susan Xu Self-adapting code rate distribution method of video image macro-block level
US20150296208A1 (en) * 2013-02-06 2015-10-15 Huawei Technologies Co., Ltd. Method and Device for Assessing Video Encoding Quality
CN105578196A (zh) * 2015-12-25 2016-05-11 广东中星电子有限公司 视频图像处理方法及设备
CN106534862A (zh) * 2016-12-20 2017-03-22 杭州当虹科技有限公司 一种视频编码方法
CN107071496A (zh) * 2017-05-14 2017-08-18 北京工业大学 一种h.265/hevc帧间编码单元深度快速选择方法
CN107087163A (zh) * 2017-06-26 2017-08-22 杭州当虹科技有限公司 一种提升hdr视频主观质量的编码方法
CN107205150A (zh) * 2017-07-14 2017-09-26 西安万像电子科技有限公司 编码方法及装置
CN110166781A (zh) * 2018-06-22 2019-08-23 腾讯科技(深圳)有限公司 一种视频编码方法、装置和可读介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101466035A (zh) * 2007-12-21 2009-06-24 深圳市融合视讯科技有限公司 一种基于h.264的视频图像组比特分配方法
US20100272171A1 (en) * 2008-03-11 2010-10-28 Susan Xu Self-adapting code rate distribution method of video image macro-block level
CN101488967A (zh) * 2009-01-14 2009-07-22 深圳市同洲电子股份有限公司 一种视频传输方法、嵌入式监控终端及监控平台服务器
CN101827267A (zh) * 2010-04-20 2010-09-08 上海大学 基于视频图像分割技术的码率控制方法
US20150296208A1 (en) * 2013-02-06 2015-10-15 Huawei Technologies Co., Ltd. Method and Device for Assessing Video Encoding Quality
CN105578196A (zh) * 2015-12-25 2016-05-11 广东中星电子有限公司 视频图像处理方法及设备
CN106534862A (zh) * 2016-12-20 2017-03-22 杭州当虹科技有限公司 一种视频编码方法
CN107071496A (zh) * 2017-05-14 2017-08-18 北京工业大学 一种h.265/hevc帧间编码单元深度快速选择方法
CN107087163A (zh) * 2017-06-26 2017-08-22 杭州当虹科技有限公司 一种提升hdr视频主观质量的编码方法
CN107205150A (zh) * 2017-07-14 2017-09-26 西安万像电子科技有限公司 编码方法及装置
CN110166781A (zh) * 2018-06-22 2019-08-23 腾讯科技(深圳)有限公司 一种视频编码方法、装置和可读介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351254A (zh) * 2020-10-30 2021-02-09 重庆中星微人工智能芯片技术有限公司 监控视频编解码装置
CN114501015A (zh) * 2022-04-06 2022-05-13 杭州未名信科科技有限公司 视频编码码率处理方法和装置、存储介质及电子设备
CN114501015B (zh) * 2022-04-06 2022-09-02 杭州未名信科科技有限公司 视频编码码率处理方法和装置、存储介质及电子设备
CN116074513A (zh) * 2023-03-06 2023-05-05 北京朝歌数码科技股份有限公司 应用于网络摄像头的视频编码方法、计算机可读介质、电子设备

Also Published As

Publication number Publication date
CN111385576B (zh) 2021-08-10

Similar Documents

Publication Publication Date Title
CN111385576B (zh) 视频编码方法、装置、移动终端及存储介质
CN112437345B (zh) 视频倍速播放方法、装置、电子设备及存储介质
CN110784718B (zh) 视频数据编码方法、装置、设备和存储介质
CN113115067A (zh) 直播系统、视频处理方法及相关装置
WO2021196994A1 (zh) 编码的方法及装置、终端和存储介质
CN112954354B (zh) 视频的转码方法、装置、设备和介质
CN112423140A (zh) 视频播放方法、装置、电子设备和存储介质
WO2023207872A1 (zh) 视频编解码方法、视频编解码器和电子设备
CN112714273A (zh) 屏幕共享显示方法、装置、设备及存储介质
CN112969075A (zh) 直播过程中的补帧方法、装置及计算设备
CN114125432B (zh) 视频数据处理方法、装置、设备及存储介质
CN115767181A (zh) 直播视频流渲染方法、装置、设备、存储介质及产品
CN115761090A (zh) 特效渲染方法、装置、设备、计算机可读存储介质及产品
CN111385574B (zh) 视频编码中的码率控制方法、装置、移动终端及存储介质
CN113542856B (zh) 在线录像的倒放方法、装置、设备和计算机可读介质
WO2020177015A1 (en) Adaptive resolution video coding
CN111478916B (zh) 基于视频流的数据传输方法、设备和存储介质
WO2023165390A1 (zh) 变焦特效的生成方法、装置、设备及存储介质
CN115834918A (zh) 视频直播方法、装置、电子设备及可读存储介质
CN106254873B (zh) 一种视频编码方法及视频编码装置
CN112153322B (zh) 数据分发方法、装置、设备及存储介质
CN110290381B (zh) 视频质量评估方法、装置、电子设备及计算机存储介质
US10826838B2 (en) Synchronized jitter buffers to handle codec switches
WO2024022427A1 (zh) 视频录制方法、装置、设备、存储介质和程序产品
CN115065852B (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder