CN110049321A - 视频编码方法、装置、设备及存储介质 - Google Patents

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

Info

Publication number
CN110049321A
CN110049321A CN201810039100.3A CN201810039100A CN110049321A CN 110049321 A CN110049321 A CN 110049321A CN 201810039100 A CN201810039100 A CN 201810039100A CN 110049321 A CN110049321 A CN 110049321A
Authority
CN
China
Prior art keywords
frame
quantization parameter
video
coding
video frame
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
CN201810039100.3A
Other languages
English (en)
Other versions
CN110049321B (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
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810039100.3A priority Critical patent/CN110049321B/zh
Priority to EP18901379.0A priority patent/EP3742727B1/en
Priority to PCT/CN2018/108847 priority patent/WO2019140952A1/zh
Priority to JP2020558668A priority patent/JP7026260B2/ja
Publication of CN110049321A publication Critical patent/CN110049321A/zh
Priority to US16/859,947 priority patent/US11202072B2/en
Application granted granted Critical
Publication of CN110049321B publication Critical patent/CN110049321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/103Selection of coding mode or of prediction mode
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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

Landscapes

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

Abstract

本发明实施例公开了一种视频编码方法、装置、设备及存储介质,属于视频编码技术领域。该方法包括:计算视频帧的帧内预编码代价,帧内预编码代价用于表征视频帧中细节的丰富度以及空间相关度;根据帧内预编码代价设置视频帧的量化参数阈值;计算视频帧的量化参数估计值,量化参数估计值用于表征视频帧中细节的预计压缩情况;根据量化参数阈值和量化参数估计值确定视频帧对应的目标编码方式,目标编码方式包括全分辨率编码或下采样编码。本发明实施例中,由于编码方式选择过程中考虑了当前视频帧的预编码代价以及细节的压缩情况,因此最终确定出的编码方式符合视频帧自身的图像特点,进而提高了视频编码的效果。

Description

视频编码方法、装置、设备及存储介质
技术领域
本发明实施例涉及视频编码技术领域,特别涉及一种视频编码方法、装置、设备及存储介质。
背景技术
随着多媒体技术的不断发展,视频的应用场景越来越广。比如,用户可以在线观看流媒体视频,还可以与他人进行视频通话。
在对视频中的视频帧进行编码时,常用的编码方式包括全分辨率编码和下采样编码。全分辨率编码模式下,编码器直接对视频帧进行编码;而下采样编码模式下,编码器首先对视频帧进行下采样,然后对下采样后的视频帧进行编码。由于下采样过程中会丢失部分图像细节,因此,相关技术中,编码器对视频中的I帧进行全分辨率编码,对视频中的P帧进行下采样编码。
然而,采用上述编码方式对视频帧进行编码时,由于未考虑到视频帧本身的图像特点,导致视频编码效果不佳。
发明内容
为了解决相关技术中存在的问题,本发明实施例提供了一种视频编码方法、装置、设备及存储介质。所述技术方案如下:
根据本发明实施例的第一方面,提供了一种视频编码方法,该方法包括:
计算视频帧的帧内预编码代价,所述帧内预编码代价用于表征所述视频帧中细节的丰富度以及空间相关度;
根据所述帧内预编码代价设置所述视频帧的量化参数阈值;
计算所述视频帧的量化参数估计值,所述量化参数估计值用于表征所述视频帧中细节的预计压缩情况;
根据所述量化参数阈值和所述量化参数估计值确定所述视频帧对应的目标编码方式,所述目标编码方式包括全分辨率编码或下采样编码。
根据本发明实施例的第二方面,提供了一种视频编码装置,该装置包括:
代价计算模块,用于计算视频帧的帧内预编码代价,所述帧内预编码代价用于表征所述视频帧中细节的丰富度以及空间相关度;
阈值设置模块,用于根据所述帧内预编码代价设置所述视频帧的量化参数阈值;
估算模块,用于计算所述视频帧的量化参数估计值,所述量化参数估计值用于表征所述视频帧中细节的预计压缩情况;
确定模块,用于根据所述量化参数阈值和所述量化参数估计值确定所述视频帧对应的目标编码方式,所述目标编码方式包括全分辨率编码或下采样编码。
根据本发明实施例的第三方面,提供了一种视频编码设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器执行以实现如第一方面所述的视频编码方法。
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器执行以实现如第一方面所述的视频编码方法。
本发明实施中,对视频帧进行编码前,首先对视频帧进行预编码分析,得到视频帧的帧内预编码代价,从而根据帧内预编码代价设置视频帧的量化参数阈值;在确定采用何种编码方式对视频帧进行编码时,即通过比较视频帧的量化参数估计值和量化参数阈值的大小关系,采用全分辨率或下采样方式对视频帧进行编码;相较于相关技术中采用的编码方式,本实施例中,由于编码方式选择过程中考虑了当前视频帧的细节丰富度以及细节的压缩情况,因此最终确定出的编码方式符合视频帧自身的图像特点,进而提高了视频编码的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明一个实施例提供的视频编码方法所涉及的实施环境的环境示意图;
图2示出了本发明一个实施例提供的视频编码方法的流程图;
图3示出了本发明另一个实施例提供的视频编码方法的流程图;
图4是视频编码设备根据前一帧计算当前视频帧的量化参数估计值的流程图;
图5示出了本发明一个实施例提供的视频编码装置的结构方框图;
图6示出了本发明一个示例性实施例提供的终端的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了方便理解,下面对本发明实施例中涉及的名词进行解释。
视频帧:构成视频的基本单位,视频即为若干帧视频帧构成的帧序列。
帧内预编码:由于视频帧序列图像在空间上存在很强的相关性,例如在一帧图像帧中,其背景是一面同样花纹和质地的墙壁,因此,在该视频帧被分成的若干编码块中,有关墙壁的编码块可能显示的信息相同或者类似,对这些空间相关性程度高的块可以采用帧内预编码技术进行预编码。相应的,帧内预编码代价用于表征视频帧中细节的丰富度以及空间相关度,其中,帧内预编码代价越高,为了达到预定视频质量,需要的码率越高,相反,帧内预编码代价越低,需要的码率越低。
量化参数(Quantization Parameter,QP):用于表征视频帧中细节压缩情况。现有的码率控制算法都是通过调整离散余弦变换的量化参数大小实现目标码率控制。其中,量化参数越小,视频帧的码率越高,视频帧中的细节保留越多(量化越精细,失真程度越低);量化参数越大,视频帧的码率越低,视频帧中的细节丢失越严重(量化越粗糙,失真程度越高)。通常情况下,量化参数取值范围为0至51。
固定质量编码:一种视频编码模式,采用固定质量编码时,视频帧中所有编码块对应的量化参数相同,从而达到一致的视觉效果。
固定码率编码:一种视频编码模式,采用固定码率编码时,视频的比特率恒定,比如800kbps。
I帧:又称为帧内预测帧,指视频帧序列中完整编码的视频帧。对I帧进行解码时,只需要本帧数据即可,无需参考其他帧。
P帧:又称为帧间预测帧或前向预测帧,用于表示与前一个关键帧(I帧或P帧)之间的区别。对P帧进行解码时,需要借助前一个关键帧的数据。
请参考图1,其示出了本发明一个实施例提供的视频编码方法所涉及的实施环境的环境示意图。该实施环境中包括第一终端110、第二终端120和服务器130。
在视频通信场景下,第一终端110和第二终端120是安装视频通信应用程序的电子设备,该电子设备为智能手机、平板电脑、个人计算机等等。第一终端110和第二终端120分别与服务器130之间通过有线或无线网络相连。
服务器130是视频通信应用程序的后台服务器。该后台服务器可以是一台服务器、若干台服务器构成的服务器集群或云计算中心。
使用第一终端110的第一用户与使用第二终端120的第二用户进行视频通信时,第一终端110对采集到的图像进行视频编码,并通过服务器130将编码得到的视频数据发送至第二终端120,以便第二终端120对接收到的视频数据进行解码显示(第二终端120向第一终端110发送视频数据的方式相同)。本发明实施例提供的视频编码方法即用于第一终端110或第二终端120。
在其他可能的应用场景(在线视频播放场景)下,第一终端110和第二终端120中安装有视频播放应用程序,服务器130即为视频播放应用程序的后台服务器。第一终端110和第二终端120分别与服务器130建立网络连接,并接收服务器130发送的经过编码的视频数据,从而对该视频数据进行解码播放,该视频编码方法即用于服务器130。
可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
为了方面描述,下述各个实施例以视频编码方法应用于视频编码设备为例进行说明。
请参考图2,其示出了本发明一个实施例提供的视频编码方法的流程图,本实施例以该视频编码方法应用于视频编码设备中来举例说明,该方法包括:
步骤201,计算视频帧的帧内预编码代价,帧内预编码代价用于表征视频帧中细节的丰富度以及空间相关度。
视频帧的帧内预编码代价与编码时所需码率相关,帧内预编码代价越大,表征视频帧的细节越丰富,细节的空间相关度越低,因此,为了达到一定视频质量,编码时所需的码率越高,相反的,帧内预编码代价越小,编码时所需的码率越低。
获取到视频帧序列中的视频帧后,终端假定该视频帧为I帧,并即对视频帧进行帧内预编码分析,从而计算得到视频帧的帧内预编码代价,后续即基于帧内预编码代价设置针对该视频帧的量化参数阈值。
针对帧内预编码分析时采用的具体方式,在一种可能的实施方式中,本步骤包括如下步骤。
一、对视频帧进行下采样。
可选的,视频编码设备对视频帧进行2:1下采样,即同时将视频帧的长宽缩小至二分之一,得到下采样后的视频帧。其中,视频编码设备可以采用采用直接平均、双三次插值(bicubic interpolation)、双线性插值(bilinear interpolation)等算法进行下采样,本实例并不对下采样采用的具体算法和下采样比例进行限定。
二、将下采样后的视频帧划分为多个编码块,并对各个编码块进行预编码,计算各个编码块的预编码代价。
对于下采样后的视频帧,为了降低预编码分析难度,视频编码设备将其划分为预定尺寸的编码块,进而对各个编码块进行预编码,得到各个编码块的预编码代价。
可选的,视频编码设备恩将下采样后的视频帧划分为8×8的编码块(单位为像素),并依次计算各个编码块的预编码代价。需要说明的是,当下采样后的视频帧的长或宽不是8的整数倍时,视频编码设备对下采样后的视频帧进行扩边处理,然后对扩边处理后的视频帧进行划分。
针对预编码代价的计算方式,在一种可能的实施方式中,视频编码设备将编码块中各个像素的预测残差的绝对值之和确定为编码块的预编码代价;在另一种可能的实施方式中,视频编码设备根据公式cost=D+λR计算预编码代价。其中,cost为预编码代价,D用于表示失真程度(可采用当前编码块中所有响度编码重建图像与原始图像的差值的绝对值之和表示),λ为拉格朗日常数,R为编码块所占用的比特数。
三、将各个编码块的预编码代价之和确定为帧内预编码代价。
计算得到各个编码块的预编码代价之后,视频编码设备将各个预编码代价相加,得到视频帧的帧内预编码代价Icost。
步骤202,根据帧内预编码代价设置视频帧的量化参数阈值。
采用下采样编码方式进行视频编码时,由于至少需要对视频帧进行一次下采样和一次上采样,而上/下采样均会造成视频帧中细节丢失,导致图像的边缘区域产生锯齿失真,影响视频质量;并且,视频帧的信息量越大,下采样编码后失真越严重。
为了避免后续对信息量大的视频帧进行下采样编码,视频编码设备根据帧内预编码代价确定当前视频帧的信息量,进而在信息量较大时,设置较大的量化参数阈值,使得后续倾向于对该视频帧进行全分辨率编码(避免视频帧的信息损失);在信息量较小时,设置较小的量化参数阈值,使得后续倾向于对该视频帧进行下采样编码(视频帧的信息量较少时,下采样编码对失真影响较小)。
步骤203,计算视频帧的量化参数估计值,量化参数估计值用于表征视频帧中细节的预计压缩情况。
视频编码设备获取到视频帧后,估算当前视频帧的量化参数估计值,从而根据量化参数估计值判断出当前视频帧中细节的压缩情况。
在一种可能的实施方式,若视频帧为帧序列的第一帧,则将预设量化参数确定为量化参数估计值,其中,预设量化参数可以为固定值,也可以根据视频帧中每个像素的平均码率计算得到。
若视频帧不是帧序列的第一帧,则根据编码器采用的编码模式确定量化参数估计值,其中,编码模式包括固定质量编码和固定码率编码,固定质量编码是指保持视频画面质量固定的编码方式,固定码率编码是指保持视频码率固定的编码方式。
需要说明的是,上述步骤203与步骤201至202没有严格的先后关系,即步骤203可以与步骤201至203同时执行,本实施例并不对203与步骤201至203的执行时序进行限定。
步骤204,根据量化参数阈值和量化参数估计值确定视频帧对应的目标编码方式,目标编码方式包括全分辨率编码或下采样编码。
计算得到视频帧的量化参数阈值和量化参数估计值后,视频编码设备通过比较量化参数阈值和量化参数估计值的大小,确定对进行编码时所采用的目标编码方式。
在一种可能的实施方式中,当量化参数估计值大于量化参数阈值时,视频编码设备将下采样编码确定为目标编码方式;当量化参数估计值小于量化参数阈值时,视频编码设备将全分辨率编码确定为目标编码方式。
进一步的,根据确定出的目标编码方式对视频帧进行编码后,视频编码设备通过编码器,进一步根据量化参数估计值,对采用目标编码方式编码后的视频帧进行码率控制(借助码率控制算法),最终输出视频帧数据。
不同于相关技术中,对I帧统一进行全分辨率编码,对P帧统一进行下采样编码,本实施例中,视频编码设备根据视频帧的图像特点,避免对图像细节较多的视频帧进行下采样编码,从而减小编码过程中造成的失真,提高视频编码的效果。
综上所述,本实施例中,对视频帧进行编码前,首先对视频帧进行预编码分析,得到视频帧的帧内预编码代价,从而根据帧内预编码代价设置视频帧的量化参数阈值;在确定采用何种编码方式对视频帧进行编码时,即通过比较视频帧的量化参数估计值和量化参数阈值的大小关系,采用全分辨率或下采样方式对视频帧进行编码;相较于相关技术中采用的编码方式,本实施例中,由于编码方式选择过程中考虑了当前视频帧的细节丰富度以及细节的压缩情况,因此最终确定出的编码方式符合视频帧自身的图像特点,进而提高了视频编码的效果。
请参考图3,其示出了本发明另一个实施例提供的视频编码方法的流程图,本实施例以该视频编码方法应用于视频编码设备中来举例说明,该方法包括:
步骤301,计算视频帧的帧内预编码代价,帧内预编码代价用于表征视频帧中细节的丰富度以及空间相关度。
本步骤的实施方式与上述步骤201相似,本实施例在此不再赘述。
步骤302,根据帧内预编码代价和视频帧的像素数量,计算每个像素的平均帧内预编码代价。
在一种可能的实施方式中,为了能够体现出当前视频帧的信息量(即视频帧细节的复杂程度),视频编码设备进一步根据帧内预编码代价和当前视频帧中像素点的数量(即像素数量),计算各个像素点的平均帧内预编码代价。
其中,平均帧内预编码代价越小,表示视频帧包含的信息量越少,图像细节越少(上下采样时信息损失越少,适用于采用下采样编码);相反的,平均帧内预编码代价越大,表示视频帧包含的信息量越大,图像细节越多(上下采样时信息损失越多,适用于采用全分辨率编码)。
示意性的,平均帧内预编码代价
其中,Icost为视频帧的帧内预编码代价,width为视频帧在水平方向上的像素点个数,height为视频帧在竖直水平方向上的像素点个数。
例如,当视频帧为通过摄像头采集的图像帧时,width*height即为摄像头的分辨率,比如,1080*720。
步骤303,若平均帧内预编码代价大于预设代价阈值,则将量化参数阈值设置第一数值。
步骤304,若平均帧内预编码代价小于预设代价阈值,则将量化参数阈值设置第二数值,第一数值大于第二数值。
针对设置量化参数阈值的实施方式,在一种可能的实施方式中,视频编码设备预先设置代价阈值,并检测当前视频帧的平均帧内预编码代价是否大于预设代价阈值,若大于,表明当前视频帧信息量较大,为了使后续更倾向于选择全分辨率编码(下采样编码时失真程度较高),视频编码设备为视频帧设置较大的量化参数阈值;若小于,表明当前视频帧信息量较小,为了使后续更倾向于选择下采样编码,视频编码设备为视频帧设置较小的量化参数阈值。
示意性的,设置量化参数阈值QPTH的公式如下:
经过上述步骤301至304,视频编码设备根据当前视频帧自身的图像特点(包含信息量的大小),为当前视频帧设置相应的量化参数阈值。进一步的,视频编码设备通过下述步骤305至307计算视频帧的量化参数估计值。
需要说明的是,步骤301至304与步骤305至307不存在严格的先后关系,即步骤301至304与步骤305至307可以同时执行,本实施例并不对此进行限定。
步骤305,若视频帧为帧序列的第一帧,则将预设量化参数确定为量化参数估计值。
视频编码设备获取到视频帧时,首先检测该视频帧是否为帧序列的第一帧,若是,则将预设量化参数确定为视频帧的量化参数估计值;若不是,则进一步根据编码器采用的编码模式确定视频帧的量化参数估计值,执行下述步骤306或307。
在一种可能的实施方式中,该预设量化参数可以为预先设置的固定值(比如35),也可以根据目标码率、帧率和分辨率计算得到。
比如,视频编码设备根据目标码率÷帧率÷分辨率计算得到视频帧中每个像素点的平均码率,进而根据平均码率设置第一帧的量化参数估计值。其中,根据平均码率设置量化参数可采用现有的码率控制算法,本实施例在此不再赘述。
步骤306,若视频帧不是帧序列的第一帧,且编码器采用的编码模式为固定质量编码,则将编码器的外部预设值确定为量化参数估计值。
若当前视频帧不是帧序列的第一帧,视频编码设备假设当前视频帧采用全分辨率编码,并进一步获取编码器采用的编码模式,从而基于该编码模式设置视频帧的量化参数估计值。
当编码器采用的编码模式为固定质量编码时,由于编码器基于统一量化参数进行编码,即视频帧内所有编码块的量化参数均相同,因此视频编码设备将编码器的外部预设值(即编码器预设的量化参数)确定为量化参数估计值。
步骤307,若视频帧不是帧序列的第一帧,且编码器采用的编码模式为固定码率编码,则计算视频帧中预定编码块的量化参数,并将预定编码块的量化参数确定为量化参数估计值。
当编码器采用的编码模式为固定码率编码(通过调整视频帧的量化参数控制输出码率恒定)时,视频编码设备将视频帧中预定编码块的量化参数确定为视频帧的量化参数估计值,其中,该预定编码块可以为视频帧的第一个编码块。
在一种可能的实施方式中,视频编码设备基于当前视频帧的前一帧,计算视频帧中第一编码块的量化参数,示意性的,如图4所示,本步骤包括如下步骤。
步骤307A,获取第一量化参数偏移量和第二量化参数偏移量,第一量化参数偏移量为下采样编码量化参数和全分辨率编码量化参数的差值,第二量化参数偏移量为I帧量化参数和P帧量化参数的差值。
为了使下采样编码和全分辨率编码切换时,视频的质量保持稳定,而不出现视频质量突变,视频编码设备中预先设置第一量化参数偏移量QPdelta,其中,第一量化参数偏移量为全分辨率编码量化参数(全分辨率编码时码率控制所使用的量化参数)与下采样编码量化参数(下采样编码后码时率控制所使用的量化参数)的差值,QPdelta的取值可以为5、6或7。
可选的,全分辨率编码量化参数-第一量化参数偏移量可作为下采样编码量化参数,相反的,下采样编码量化参数+第一量化参数偏移量可作为全分辨率编码量化参数。
同时,为了提高视频的整体压缩效率,视频编码设备中预先设置第二量化参数偏移量QPoffset_I/P,其中,第二量化参数偏移量为I帧量化参数(对I帧进行码率控制时使用的量化参数)与P帧量化参数(对P帧进行码率控制时使用的量化参数)的差值,QPoffset_I/P的取值可以为1、2或3。
在计算视频帧中第一编码块的量化参数前,视频编码设备获取第一量化参数偏移量和第二量化参数偏移量。
比如,视频编码设备获取到QPdelta=6,QPoffset_I/P=2。
步骤307B,计算视频帧前一帧的平均量化参数,平均量化参数为前一帧中各个编码块的量化参数的平均值。
由于当前视频帧并非第一帧,即存在前一帧,且前一帧已经过编码,因此,在一种可能的实施方式中,视频编码设备从已编码信息中获取前一帧中各个编码块的量化参数,进而根据各个编码块的量化参数计算前一帧的平均量化参数。
比如,视频编码设备计算得到前一帧的平均量化参数为30。
根据前一帧的帧类型(I帧或P帧)以及采用的编码方式(全分辨率编码或下采样编码),视频编码设备在前一帧的平均量化参数的基础上,计算第一编码块的量化参数。
可选的,若检测到前一帧为I帧,视频编码设备执行下述步骤307C或307D;若检测到前一帧为P帧,视频编码设备执行下述步骤307E或307F。
步骤307C,若前一帧为I帧且采用下采样编码,则将平均量化参数、第一量化参数偏移量和量化参数偏移量之和确定为预定编码块的量化参数。
当前一帧为I帧,且采用下采样编码时,视频编码设备根据第一量化参数偏移量和第二量化参数偏移量,对平均量化参数进行偏移计算,得到预定编码块的量化参数。
示意性的,视频编码设备获取前一帧的编码信息,该编码信息指示前一帧为I帧,且采用下采样编码,结合步骤307A和307B中的示例,计算得到预定编码块的量化参数为30+6+2=38。
步骤307D,若前一帧为I帧且采用全分辨率编码,则将平均量化参数和第二量化参数偏移量之和确定为预定编码块的量化参数。
与上述步骤307C不同,当前一帧采用全分辨率编码时,终端无需使用第一量化参数偏移量对平均量化参数进行偏移处理,即直接将平均量化参数和第二量化参数偏移量之和确定为预定编码块的量化参数。
示意性的,结合步骤307A和307B中的示例,前一帧为I帧且采用全分辨率编码时,视频编码设备计算得到预定编码块的量化参数为30+2=32。
步骤307E,若前一帧为P帧且采用下采样编码,则将平均量化参数和第一量化参数偏移量之和确定为预定编码块的量化参数。
当前一帧为P帧,且采用下采样编码时,视频编码设备根据第一量化参数偏移量,对平均量化参数进行偏移计算,得到预定编码块的量化参数。
示意性的,结合步骤307A和307B中的示例,前一帧为P帧且采用下采样编码时,视频编码设备计算得到预定编码块的量化参数为30+6=36。
步骤307F,若前一帧为P帧且采用全分辨率编码,则将平均量化参数确定为预定编码块的量化参数。
上述步骤307E不同,当前一帧采用全分辨率编码时,终端无需使用第一量化参数偏移量对平均量化参数进行偏移处理,即直接将平均量化参数确定为预定编码块的量化参数。
示意性的,结合步骤307A和307B中的示例,前一帧为P帧且采用全分辨率编码时,视频编码设备计算得到预定编码块的量化参数为30。
步骤308,若量化参数估计值大于量化参数阈值,则将下采样编码确定为目标编码方式。
通过上述步骤301至307获取到当前视频帧的量化参数阈值和量化参数估计值后,视频编码设备通过比较量化参数估计值与量化参数阈值,确定对视频帧采用何种编码方式。
比如,当获取到的量化参数阈值为33,且量化参数估计值为36时,视频编码设备即将下采样编码确定为视频帧的目标编码方式。
步骤309,若量化参数估计值小于量化参数阈值,则将全分辨率编码确定为目标编码方式。
比如,当获取到的量化参数阈值为36,且量化参数估计值为32时,视频编码设备即将全分辨率编码确定为视频帧的目标编码方式。
步骤310,若视频帧采用下采样编码,则根据第一量化参数偏移量修正量化参数估计值,并根据修正后的量化参数对视频帧进行编码。
通过上述步骤309或310确定出目标编码方式后,视频编码设备即采用目标编码方式对当前视频帧进行编码,并将编码后的视频帧输入编码器,由编码器根据量化参数估计值对编码后的视频帧进行码率控制。
为了避免全分辨率/下采样编码切换时,视频质量发生突变,当对视频帧进行下采样编码时,编码器进行码率控制前,视频编码设备根据第一量化参数偏移值对量化参数估计值进行修正。其中,修正后的量化参数=量化参数估计值-第一量化参数偏移值。
进一步的,当采用固定质量编码时,下采样帧(经过下采样编码的视频帧)的量化参数估计值为实际编码的量化参数;当采用固定码率编码时,下采样帧对应的量化参数估计值是预设编码块的量化参数。
本实施例中,利用预先设置的第一量化参数偏移量对量化参数估计值进行修正,避免全分辨率编码和下采样编码切换时出现视频质量突变,保持视频质量的稳定;同时,通过预先设置第二量化参数偏移量,提高视频的整体压缩效率。
本实施例中,当前视频帧不是第一帧时,视频编码设备基于前一帧的平均量化参数得到当前视频帧的量化参数估计值,从而提高量化参数估计值的准确性,进而提高后续选择出的编码方式的准确性。
本实施例中,通过计算视频帧中每个像素的平均帧内预编码代价,并在平均帧内预编码代价较大时,设置较大的量化参数阈值,使得后续更倾向选择全分辨率编码,从而避免视频帧信息量较大时,采用下采样编码导致信息损失严重,导致视频画面失真的问题。
下述为本发明装置实施例,对于装置实施例中未详尽描述的细节,可以参考上述一一对应的方法实施例。
请参考图5,其示出了本发明一个实施例提供的视频编码装置的结构方框图。该视频编码装置通过硬件或者软硬件的结合实现成为视频编码设备的全部或者一部分。该装置包括:
代价计算模块510,用于计算视频帧的帧内预编码代价,所述帧内预编码代价用于表征所述视频帧中细节的丰富度以及空间相关度;
阈值设置模块520,用于根据所述帧内预编码代价设置所述视频帧的量化参数阈值;
估算模块530,用于计算所述视频帧的量化参数估计值,所述量化参数估计值用于表征所述视频帧中细节的预计压缩情况;
确定模块540,用于根据所述量化参数阈值和所述量化参数估计值确定所述视频帧对应的目标编码方式,所述目标编码方式包括全分辨率编码或下采样编码。
可选的,所述确定模块540,包括:
第一确定单元,用于若所述量化参数估计值大于所述量化参数阈值,则将所述下采样编码确定为所述目标编码方式;
第二确定单元,用于若所述量化参数估计值小于所述量化参数阈值,则将所述全分辨率编码确定为所述目标编码方式。
可选的,所述代价计算模块510,包括:
下采样单元,用于对所述视频帧进行下采样;
第一计算单元,用于将下采样后的视频帧划分为多个编码块,并对各个编码块进行预编码,计算所述各个编码块的预编码代价;
第三确定单元,用于将所述各个编码块的所述预编码代价之和确定为所述帧内预编码代价。
可选的,所述阈值设置模块520,包括:
第二计算单元,用于根据所述帧内预编码代价和所述视频帧的像素数量,计算每个像素的平均帧内预编码代价;
第一设置单元,用于若所述平均帧内预编码代价大于预设代价阈值,则将所述量化参数阈值设置第一数值;
第二设置单元,用于若所述平均帧内预编码代价小于所述预设代价阈值,则将所述量化参数阈值设置第二数值,所述第一数值大于所述第二数值。
可选的,所述估算模块530,包括:
第四确定单元,用于若所述视频帧为帧序列的第一帧,则将预设量化参数确定为所述量化参数估计值;
第五确定单元,用于若所述视频帧不是所述帧序列的第一帧,则根据编码器采用的编码模式确定所述量化参数估计值;
其中,所述编码模式包括固定质量编码和固定码率编码,所述固定质量编码是指保持视频画面质量固定的编码方式,所述固定码率编码是指保持视频码率固定的编码方式。
可选的,所述第五确定单元,用于:
若所述编码模式为所述固定质量编码,则将所述编码器的外部预设值确定为所述量化参数估计值;
若所述编码模式为所述固定码率编码,则计算所述视频帧中预定编码块的量化参数,并将所述预定编码块的量化参数确定为所述量化参数估计值。
可选的,所述计算所述视频帧中预定编码块的量化参数,包括:
获取第一量化参数偏移量和第二量化参数偏移量,所述第一量化参数偏移量为下采样编码量化参数和全分辨率编码量化参数的差值,所述第二量化参数偏移量为I帧量化参数和P帧量化参数的差值;
计算所述视频帧前一帧的平均量化参数,所述平均量化参数为所述前一帧中各个编码块的量化参数的平均值;
若所述前一帧为I帧且采用所述下采样编码,则将所述平均量化参数、所述第一量化参数偏移量和所述量化参数偏移量之和确定为所述预定编码块的量化参数;
若所述前一帧为I帧且采用所述全分辨率编码,则将所述平均量化参数和所述第二量化参数偏移量之和确定为所述预定编码块的量化参数;
若所述前一帧为P帧且采用所述下采样编码,则将所述平均量化参数和所述第一量化参数偏移量之和确定为所述预定编码块的量化参数;
若所述前一帧为P帧且采用所述全分辨率编码,则将所述平均量化参数确定为所述预定编码块的量化参数。
可选的,所述装置还包括:
编码模块,用于若所述视频帧采用所述下采样编码,则根据所述第一量化参数偏移量修正所述量化参数估计值,并根据修正后的量化参数对所述视频帧进行编码。
综上所述,本实施例中,对视频帧进行编码前,首先对视频帧进行预编码分析,得到视频帧的帧内预编码代价,从而根据帧内预编码代价设置视频帧的量化参数阈值;在确定采用何种编码方式对视频帧进行编码时,即通过比较视频帧的量化参数估计值和量化参数阈值的大小关系,采用全分辨率或下采样方式对视频帧进行编码;相较于相关技术中采用的编码方式,本实施例中,由于编码方式选择过程中考虑了当前视频帧的细节丰富度以及细节的压缩情况,因此最终确定出的编码方式符合视频帧自身的图像特点,进而提高了视频编码的效果。
本实施例中,利用预先设置的第一量化参数偏移量对量化参数估计值进行修正,避免全分辨率编码和下采样编码切换时出现视频质量突变,保持视频质量的稳定;同时,通过预先设置第二量化参数偏移量,提高视频的整体压缩效率。
本实施例中,当前视频帧不是第一帧时,视频编码设备基于前一帧的平均量化参数得到当前视频帧的量化参数估计值,从而提高量化参数估计值的准确性,进而提高后续选择出的编码方式的准确性。
本实施例中,通过计算视频帧中每个像素的平均帧内预编码代价,并在平均帧内预编码代价较大时,设置较大的量化参数阈值,使得后续更倾向选择全分辨率编码,从而避免视频帧信息量较大时,采用下采样编码导致信息损失严重,导致视频画面失真的问题。
需要说明的是:上述实施例提供的视频编码装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将视频编码设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频编码装置和视频编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6示出了本发明一个示例性实施例提供的终端600的结构框图。该终端600可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器。终端600还可能被称为用户设备、便携式终端等其他名称。
通常,终端600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中提供的视频编码方法。
在一些实施例中,终端600还可选包括有:外围设备接口603和至少一个外围设备。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
触摸显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏605还具有采集在触摸显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。触摸显示屏605用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,触摸显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,触摸显示屏605还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏605可以采用LCD(LiquidCrystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607用于提供用户和终端600之间的音频接口。音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位终端600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源609用于为终端600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在终端600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,可以根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置终端600的正面、背面或侧面。当终端600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在终端600的正面。接近传感器616用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供一种视频编码设备,该设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述各个实施例提供的视频编码方法。
本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述各个实施例提供的视频编码方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种视频编码方法,其特征在于,所述方法包括:
计算视频帧的帧内预编码代价,所述帧内预编码代价用于表征所述视频帧中细节的丰富度以及空间相关度;
根据所述帧内预编码代价设置所述视频帧的量化参数阈值;
计算所述视频帧的量化参数估计值,所述量化参数估计值用于表征所述视频帧中细节的预计压缩情况;
根据所述量化参数阈值和所述量化参数估计值确定所述视频帧对应的目标编码方式,所述目标编码方式包括全分辨率编码或下采样编码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述量化参数阈值和所述量化参数估计值确定所述视频帧对应的目标编码方式,包括:
若所述量化参数估计值大于所述量化参数阈值,则将所述下采样编码确定为所述目标编码方式;
若所述量化参数估计值小于所述量化参数阈值,则将所述全分辨率编码确定为所述目标编码方式。
3.根据权利要求1或2所述的方法,其特征在于,所述对视频帧进行预编码,并计算所述视频帧的帧内预编码代价,包括:
对所述视频帧进行下采样;
将下采样后的视频帧划分为多个编码块,并对各个编码块进行预编码,计算所述各个编码块的预编码代价;
将所述各个编码块的所述预编码代价之和确定为所述帧内预编码代价。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述帧内预编码代价设置所述视频帧的量化参数阈值,包括:
根据所述帧内预编码代价和所述视频帧的像素数量,计算每个像素的平均帧内预编码代价;
若所述平均帧内预编码代价大于预设代价阈值,则将所述量化参数阈值设置第一数值;
若所述平均帧内预编码代价小于所述预设代价阈值,则将所述量化参数阈值设置第二数值,所述第一数值大于所述第二数值。
5.根据权利要求1或2所述的方法,其特征在于,所述计算所述视频帧的量化参数估计值,包括:
若所述视频帧为帧序列的第一帧,则将预设量化参数确定为所述量化参数估计值;
若所述视频帧不是所述帧序列的第一帧,则根据编码器采用的编码模式确定所述量化参数估计值;
其中,所述编码模式包括固定质量编码和固定码率编码,所述固定质量编码是指保持视频画面质量固定的编码方式,所述固定码率编码是指保持视频码率固定的编码方式。
6.根据权利要求5所述的方法,其特征在于,所述若所述视频帧不是所述帧序列的第一帧,则根据编码器采用的编码模式确定所述量化参数估计值,包括:
若所述编码模式为所述固定质量编码,则将所述编码器的外部预设值确定为所述量化参数估计值;
若所述编码模式为所述固定码率编码,则计算所述视频帧中预定编码块的量化参数,并将所述预定编码块的量化参数确定为所述量化参数估计值。
7.根据权利要求6所述的方法,其特征在于,所述计算所述视频帧中预定编码块的量化参数,包括:
获取第一量化参数偏移量和第二量化参数偏移量,所述第一量化参数偏移量为下采样编码量化参数和全分辨率编码量化参数的差值,所述第二量化参数偏移量为I帧量化参数和P帧量化参数的差值;
计算所述视频帧前一帧的平均量化参数,所述平均量化参数为所述前一帧中各个编码块的量化参数的平均值;
若所述前一帧为I帧且采用所述下采样编码,则将所述平均量化参数、所述第一量化参数偏移量和所述量化参数偏移量之和确定为所述预定编码块的量化参数;
若所述前一帧为I帧且采用所述全分辨率编码,则将所述平均量化参数和所述第二量化参数偏移量之和确定为所述预定编码块的量化参数;
若所述前一帧为P帧且采用所述下采样编码,则将所述平均量化参数和所述第一量化参数偏移量之和确定为所述预定编码块的量化参数;
若所述前一帧为P帧且采用所述全分辨率编码,则将所述平均量化参数确定为所述预定编码块的量化参数。
8.根据权利要求7所述的方法,其特征在于,所述根据所述量化参数阈值和所述量化参数估计值确定所述视频帧对应的目标编码方式之后,所述方法还包括:
若所述视频帧采用所述下采样编码,则根据所述第一量化参数偏移量修正所述量化参数估计值,并根据修正后的量化参数对所述视频帧进行编码。
9.一种视频编码装置,其特征在于,所述装置包括:
代价计算模块,用于计算视频帧的帧内预编码代价,所述帧内预编码代价用于表征所述视频帧中细节的丰富度以及空间相关度;
阈值设置模块,用于根据所述帧内预编码代价设置所述视频帧的量化参数阈值;
估算模块,用于计算所述视频帧的量化参数估计值,所述量化参数估计值用于表征所述视频帧中细节的预计压缩情况;
确定模块,用于根据所述量化参数阈值和所述量化参数估计值确定所述视频帧对应的目标编码方式,所述目标编码方式包括全分辨率编码或下采样编码。
10.一种视频编码设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器执行以实现如权利要求1至8任一所述的视频编码方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器执行以实现如权利要求1至8任一所述的视频编码方法。
CN201810039100.3A 2018-01-16 2018-01-16 视频编码方法、装置、设备及存储介质 Active CN110049321B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201810039100.3A CN110049321B (zh) 2018-01-16 2018-01-16 视频编码方法、装置、设备及存储介质
EP18901379.0A EP3742727B1 (en) 2018-01-16 2018-09-29 Video encoding method, device, apparatus and storage medium
PCT/CN2018/108847 WO2019140952A1 (zh) 2018-01-16 2018-09-29 视频编码方法、装置、设备及存储介质
JP2020558668A JP7026260B2 (ja) 2018-01-16 2018-09-29 ビデオ符号化方法、ビデオ符号化装置およびコンピュータプログラム
US16/859,947 US11202072B2 (en) 2018-01-16 2020-04-27 Video encoding method, apparatus, and device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810039100.3A CN110049321B (zh) 2018-01-16 2018-01-16 视频编码方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110049321A true CN110049321A (zh) 2019-07-23
CN110049321B CN110049321B (zh) 2022-09-06

Family

ID=67273402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810039100.3A Active CN110049321B (zh) 2018-01-16 2018-01-16 视频编码方法、装置、设备及存储介质

Country Status (5)

Country Link
US (1) US11202072B2 (zh)
EP (1) EP3742727B1 (zh)
JP (1) JP7026260B2 (zh)
CN (1) CN110049321B (zh)
WO (1) WO2019140952A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110536168A (zh) * 2019-09-11 2019-12-03 北京达佳互联信息技术有限公司 视频上传方法、装置、电子设备及存储介质
CN110636293A (zh) * 2019-09-27 2019-12-31 腾讯科技(深圳)有限公司 视频编码、解码方法和装置、存储介质及电子装置
CN110677657A (zh) * 2019-11-01 2020-01-10 杭州当虹科技股份有限公司 一种用于内容自适应编码中的场景分段方法
CN112119593A (zh) * 2019-07-25 2020-12-22 深圳市大疆创新科技有限公司 一种数据的处理方法、系统、编码器及解码器
WO2022111258A1 (zh) * 2020-11-27 2022-06-02 百果园技术(新加坡)有限公司 视频编码的方法、装置、设备和存储介质
CN116744006A (zh) * 2023-08-14 2023-09-12 光谷技术有限公司 基于区块链的视频监控数据存储方法
RU2818891C1 (ru) * 2020-11-27 2024-05-07 Биго Текнолоджи Пте. Лтд. Способ и устройство, вычислительное устройство и носитель данных для кодирования видео

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109819263B (zh) * 2017-11-22 2022-08-19 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备及存储介质
CN110572675B (zh) * 2019-09-27 2023-11-14 腾讯科技(深圳)有限公司 视频解码、编码方法和装置、存储介质与解码器、编码器
CN114051139B (zh) * 2021-11-09 2024-02-02 京东科技信息技术有限公司 视频编码方法和装置
CN114374841A (zh) * 2021-12-15 2022-04-19 杭州未名信科科技有限公司 视频编码码率控制的优化方法、装置及电子设备
CN114339252B (zh) * 2021-12-31 2023-10-31 深圳大学 一种数据压缩方法及装置
CN114584834B (zh) * 2022-01-27 2024-02-13 百果园技术(新加坡)有限公司 视频质量优化方法、装置、设备和存储介质
CN116708789B (zh) * 2023-08-04 2023-10-13 湖南马栏山视频先进技术研究院有限公司 一种基于人工智能的视频分析编码系统
CN116760988B (zh) * 2023-08-18 2023-11-10 瀚博半导体(上海)有限公司 基于人类视觉系统的视频编码方法和装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050213657A1 (en) * 2004-03-29 2005-09-29 Kabushiki Kaisha Toshiba Image coding apparatus, image coding method and image coding program
EP2579593A1 (en) * 2011-10-04 2013-04-10 Thomson Licensing Adaptive quantisation for intra-encoded image blocks
US20130322524A1 (en) * 2012-06-01 2013-12-05 Hyuk-Jae Jang Rate control method for multi-layered video coding, and video encoding apparatus and video signal processing apparatus using the rate control method
CN103686169A (zh) * 2013-10-25 2014-03-26 四川大学 一种基于宏块特征的帧内预测快速算法
US20140376616A1 (en) * 2013-06-25 2014-12-25 Vixs Systems Inc. Quantization parameter adjustment based on sum of variance and estimated picture encoding cost
CN106791837A (zh) * 2016-12-15 2017-05-31 北京数码视讯科技股份有限公司 视频编码的前驱分析方法和装置
US20170171547A1 (en) * 2015-12-11 2017-06-15 Le Holdings (Beijing) Co., Ltd. Method for controlling data rate of motion video and electronic apparatus
CN106961603A (zh) * 2017-03-07 2017-07-18 腾讯科技(深圳)有限公司 帧内编码帧码率分配方法和装置
CN107155107A (zh) * 2017-03-21 2017-09-12 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9071841B2 (en) 2011-05-17 2015-06-30 Microsoft Technology Licensing, Llc Video transcoding with dynamically modifiable spatial resolution
US10264268B2 (en) * 2015-04-07 2019-04-16 Shenzhen Boyan Technology Ltd. Pre-encoding for high efficiency video coding
US20180324439A1 (en) * 2017-05-08 2018-11-08 Mediatek Inc. Method and apparatus for adaptive video encoding

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050213657A1 (en) * 2004-03-29 2005-09-29 Kabushiki Kaisha Toshiba Image coding apparatus, image coding method and image coding program
EP2579593A1 (en) * 2011-10-04 2013-04-10 Thomson Licensing Adaptive quantisation for intra-encoded image blocks
CN103843338A (zh) * 2011-10-04 2014-06-04 汤姆逊许可公司 帧内编码图像块的自适应量化
US20130322524A1 (en) * 2012-06-01 2013-12-05 Hyuk-Jae Jang Rate control method for multi-layered video coding, and video encoding apparatus and video signal processing apparatus using the rate control method
US20140376616A1 (en) * 2013-06-25 2014-12-25 Vixs Systems Inc. Quantization parameter adjustment based on sum of variance and estimated picture encoding cost
CN103686169A (zh) * 2013-10-25 2014-03-26 四川大学 一种基于宏块特征的帧内预测快速算法
US20170171547A1 (en) * 2015-12-11 2017-06-15 Le Holdings (Beijing) Co., Ltd. Method for controlling data rate of motion video and electronic apparatus
CN106791837A (zh) * 2016-12-15 2017-05-31 北京数码视讯科技股份有限公司 视频编码的前驱分析方法和装置
CN106961603A (zh) * 2017-03-07 2017-07-18 腾讯科技(深圳)有限公司 帧内编码帧码率分配方法和装置
CN107155107A (zh) * 2017-03-21 2017-09-12 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112119593A (zh) * 2019-07-25 2020-12-22 深圳市大疆创新科技有限公司 一种数据的处理方法、系统、编码器及解码器
WO2021012278A1 (zh) * 2019-07-25 2021-01-28 深圳市大疆创新科技有限公司 一种数据的处理方法、系统、编码器及解码器
CN110536168A (zh) * 2019-09-11 2019-12-03 北京达佳互联信息技术有限公司 视频上传方法、装置、电子设备及存储介质
CN110636293A (zh) * 2019-09-27 2019-12-31 腾讯科技(深圳)有限公司 视频编码、解码方法和装置、存储介质及电子装置
CN110636293B (zh) * 2019-09-27 2024-03-15 腾讯科技(深圳)有限公司 视频编码、解码方法和装置、存储介质及电子装置
CN110677657A (zh) * 2019-11-01 2020-01-10 杭州当虹科技股份有限公司 一种用于内容自适应编码中的场景分段方法
CN110677657B (zh) * 2019-11-01 2022-02-18 杭州当虹科技股份有限公司 一种用于内容自适应编码中的场景分段方法
WO2022111258A1 (zh) * 2020-11-27 2022-06-02 百果园技术(新加坡)有限公司 视频编码的方法、装置、设备和存储介质
RU2818891C1 (ru) * 2020-11-27 2024-05-07 Биго Текнолоджи Пте. Лтд. Способ и устройство, вычислительное устройство и носитель данных для кодирования видео
CN116744006A (zh) * 2023-08-14 2023-09-12 光谷技术有限公司 基于区块链的视频监控数据存储方法
CN116744006B (zh) * 2023-08-14 2023-10-27 光谷技术有限公司 基于区块链的视频监控数据存储方法

Also Published As

Publication number Publication date
US11202072B2 (en) 2021-12-14
EP3742727A1 (en) 2020-11-25
US20200260085A1 (en) 2020-08-13
CN110049321B (zh) 2022-09-06
EP3742727A4 (en) 2020-12-02
JP2021511756A (ja) 2021-05-06
JP7026260B2 (ja) 2022-02-25
EP3742727B1 (en) 2023-07-19
WO2019140952A1 (zh) 2019-07-25

Similar Documents

Publication Publication Date Title
CN110049321A (zh) 视频编码方法、装置、设备及存储介质
CN108391127B (zh) 视频编码方法、装置、存储介质及设备
CN109978936A (zh) 视差图获取方法、装置、存储介质及设备
CN110062246B (zh) 对视频帧数据进行处理的方法和装置
CN110210045A (zh) 目标区域的人数估算方法、装置及存储介质
CN113891074B (zh) 视频编码方法和装置、电子装置和计算机可读存储介质
CN110572710B (zh) 视频生成方法、装置、设备及存储介质
CN111107357A (zh) 一种图像处理的方法、装置及系统
CN110543403A (zh) 一种功耗评估的方法及装置
CN116074512A (zh) 视频编码方法、装置、电子设备以及存储介质
WO2022135272A1 (zh) 三维模型重建方法、设备和存储介质
CN109872294A (zh) 图像处理方法、装置、终端及存储介质
CN110062226B (zh) 一种视频编码方法、视频解码方法、装置、系统及介质
CN110460856B (zh) 视频编码方法、装置、编码设备及计算机可读存储介质
CN111698512A (zh) 视频处理方法、装置、设备及存储介质
CN109040753B (zh) 预测模式选择方法、装置及存储介质
CN111641831B (zh) 帧内预测方法、装置、设备及存储介质
CN113079372B (zh) 帧间预测的编码方法、装置、设备及可读存储介质
CN114422782B (zh) 视频编码方法、装置、存储介质及电子设备
CN111075439B (zh) 确定砾岩储层有效厚度的方法、装置和存储介质
CN114612841A (zh) 视频处理方法、装置、计算机设备及介质
CN108965925A (zh) 多媒体资源编码、多媒体流解码方法、装置、设备及介质
CN114900704A (zh) 视频处理方法、装置、电子设备及存储介质
CN115619665A (zh) 视频生成方法、装置、电子设备及存储介质
CN112218071A (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