CN115002512B - 视频转码方法及装置、电子设备和存储介质 - Google Patents

视频转码方法及装置、电子设备和存储介质 Download PDF

Info

Publication number
CN115002512B
CN115002512B CN202210564527.1A CN202210564527A CN115002512B CN 115002512 B CN115002512 B CN 115002512B CN 202210564527 A CN202210564527 A CN 202210564527A CN 115002512 B CN115002512 B CN 115002512B
Authority
CN
China
Prior art keywords
video
quantization
adjustment value
type
macro block
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
CN202210564527.1A
Other languages
English (en)
Other versions
CN115002512A (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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development 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 Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN202210564527.1A priority Critical patent/CN115002512B/zh
Publication of CN115002512A publication Critical patent/CN115002512A/zh
Application granted granted Critical
Publication of CN115002512B publication Critical patent/CN115002512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/234354Processing 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 signal-to-noise ratio parameters, e.g. requantization
    • 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/440218Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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/440254Processing 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 signal-to-noise parameters, e.g. requantization

Landscapes

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

Abstract

本公开涉及一种视频转码方法及装置、电子设备和存储介质,所述方法包括:获取待转码的视频以及视频的编码参数,编码参数包括视频中的每个视频帧对应的量化参数,以及每个视频帧对应的量化强度和/或量化偏差;根据量化强度和/或量化偏差,调整每个视频帧对应的量化参数,得到每个视频帧对应的目标量化参数;根据视频中多个视频帧对应的目标量化参数,对多个视频帧进行编码,得到转码后的视频数据。本公开实施例可实现为视频中的各视频帧分配更合理的编码码率。

Description

视频转码方法及装置、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种视频转码方法及装置、电子设备和存储介质。
背景技术
视频转码是指将已编码压缩的视频码流进行重新编码,以适应不同网络带宽、不同终端处理能力等需求。视频转码过程中,可以通过调整视频码流原本的量化参数来重新分配视频帧的编码码率,并基于重新分配的编码码率对视频帧进行重新编码,然而相关技术中量化参数的调整方式不够合理,使编码码率的重新分配不够合理,影响编码后视频的画面质量。
发明内容
本公开提出了一种视频转码技术方案。
根据本公开的一方面,提供了一种视频转码方法,包括:获取待转码的视频以及所述视频的编码参数,所述编码参数包括所述视频中的每个视频帧对应的量化参数,以及所述每个视频帧对应的量化强度和/或量化偏差;根据所述量化强度和/或所述量化偏差,调整所述每个视频帧对应的量化参数,得到所述每个视频帧对应的目标量化参数;根据所述视频中多个视频帧对应的目标量化参数,对所述多个视频帧进行编码,得到转码后的视频数据。通过该方式,能够为视频中的各视频帧分配更合理的编码码率,从而减少编码压缩对画面质量的影响。
在一种可能的实现方式中,所述根据所述量化强度和/或所述量化偏差,调整所述每个视频帧对应的量化参数,得到所述每个视频帧对应的目标量化参数,包括:针对所述视频帧对应的任一宏块,根据所述宏块对应的量化强度,确定所述宏块对应的第一调整值,和/或,根据所述宏块对应的量化偏差,确定所述宏块对应的第二调整值;根据所述第一调整值与所述第二调整值中至少一种,调整所述宏块对应的量化参数,得到所述宏块对应的目标量化参数,所述目标量化参数包括多个所述宏块对应的目标量化参数。通过该方式,能够根据视频帧中各个宏块对应的量化参数和/或量化强度,有效地调整多个视频帧中各个宏块对应的量化参数,得到编码效果更佳的目标量化参数。
在一种可能的实现方式中,所述根据所述宏块对应的量化强度,确定所述宏块对应的第一调整值,包括:根据所述宏块所在的指定图像区域内的至少两个宏块各自对应的量化强度,确定所述宏块对应的第一调整值。通过该方式,可以有效地利用至少两个宏块的量化强度有效地确定出用于调整量化参数的第一调整值。
在一种可能的实现方式中,所述根据所述宏块对应的量化偏差,确定所述宏块对应的第二调整值,包括:根据所述宏块对应的量化偏差以及至少一个指定宏块对应的量化偏差,确定所述宏块对应的第二调整值;其中,所述指定宏块包括在先视频帧上的与所述宏块在同一位置处的宏块,所述在先视频帧在所述视频帧之前。通过该方式,可以有效地利用宏块的量化参数有效地确定出用于调整量化参数的第二调整值。
在一种可能的实现方式中,所述视频帧中包括感兴趣区域,所述视频帧中的多个宏块包括所述感兴趣区域内的多个第一类宏块;其中,所述根据所述第一调整值与所述第二调整值中至少一种,调整所述宏块对应的量化参数,得到所述宏块对应的目标量化参数,包括:针对任一第一类宏块,根据针对所述感兴趣区域预设的第一初始调整值,以及所述第一类宏块对应的第一调整值和所述第一类宏块对应的第二调整值,确定所述第一类宏块对应的第一目标调整值,所述第一目标调整值为负数;根据所述第一目标调整值,减小所述第一类宏块对应的量化参数,得到所述第一类宏块对应的第一目标量化参数,所述目标量化参数包括多个所述第一类宏块对应的第一目标量化参数。通过该方式,可以有效得到感兴趣区域内的各个第一类宏块对应的第一目标量化参数,有利于提高感兴趣区域内的画面质量。
在一种可能的实现方式中,所述视频帧中包括非感兴趣区域,所述视频帧中的多个宏块包括所述非感兴趣区域内的多个第二类宏块;其中,所述根据所述第一调整值与所述第二调整值中至少一种,调整所述宏块对应的量化参数,得到所述宏块对应的目标量化参数,包括:针对任一第二类宏块,根据针对所述非感兴趣区域预设的第二初始调整值以及所述第二类宏块对应的第一调整值,确定所述第二类宏块对应的第二目标调整值,所述第二目标调整值为正数;根据所述第二目标调整值,增大所述第二类宏块对应的量化参数,得到所述第二类宏块对应的第二目标量化参数,所述目标量化参数包括多个所述第二类宏块对应的第二目标量化参数。通过该方式,可以有效得到非感兴趣区域内的各个第二类宏块对应的第二目标量化参数,有利于维持视频帧整体的码率分配平衡,或者说维持视频编码的总码率。
在一种可能的实现方式中,所述目标量化参数包括所述视频帧中感兴趣区域内的第一类宏块对应的第一目标量化参数,以及所述视频帧中非感兴趣区域内的第二类宏块对应的第二目标量化参数;其中,所述根据所述视频中多个视频帧对应的目标量化参数,对所述多个视频帧进行编码,得到转码后的视频数据,包括:针对任一视频帧,根据所述视频帧对应的所述第一目标量化参数与所述第二目标量化参数,确定所述视频帧中的感兴趣区域的编码码率与非感兴趣区域的编码码率;根据所述感兴趣区域的编码码率与所述非感兴趣区域的编码码率,对所述多个视频帧进行编码,得到所述视频数据。通过该方式,为各视频帧的感兴趣区域与非感兴趣区域分配更合理的编码码率,有利于减少编码压缩对画面质量的影响,同时维持视频编码中正常的总码率。
根据本公开的一方面,提供了一种视频转码装置,包括:获取模块,用于获取待转码的视频以及所述视频的编码参数,所述编码参数包括所述视频中的每个视频帧对应的量化参数,以及所述每个视频帧对应的量化强度和/或量化偏差;调整模块,用于根据所述量化强度和/或所述量化偏差,调整所述每个视频帧对应的量化参数,得到所述每个视频帧对应的目标量化参数;编码模块,用于根据所述视频中多个视频帧对应的目标量化参数,对所述多个视频帧进行编码,得到转码后的视频数据。
在一种可能的实现方式中,所述调整模块,包括:调整值确定子模块,用于针对所述视频帧对应的任一宏块,根据所述宏块对应的量化强度,确定所述宏块对应的第一调整值,和/或,根据所述宏块对应的量化偏差,确定所述宏块对应的第二调整值;参数调整子模块,用于根据所述第一调整值与所述第二调整值中至少一种,调整所述宏块对应的量化参数,得到所述宏块对应的目标量化参数,所述目标量化参数包括多个所述宏块对应的目标量化参数。
在一种可能的实现方式中,所述根据所述宏块对应的量化强度,确定所述宏块对应的第一调整值,包括:根据所述宏块所在的指定图像区域内的至少两个宏块各自对应的量化强度,确定所述宏块对应的第一调整值。
在一种可能的实现方式中,所述根据所述宏块对应的量化偏差,确定所述宏块对应的第二调整值,包括:根据所述宏块对应的量化偏差以及至少一个指定宏块对应的量化偏差,确定所述宏块对应的第二调整值;其中,所述指定宏块包括在先视频帧上的与所述宏块在同一位置处的宏块,所述在先视频帧在所述视频帧之前。
在一种可能的实现方式中,所述视频帧中包括感兴趣区域,所述视频帧中的多个宏块包括所述感兴趣区域内的多个第一类宏块;其中,所述根据所述第一调整值与所述第二调整值中至少一种,调整所述宏块对应的量化参数,得到所述宏块对应的目标量化参数,包括:针对任一第一类宏块,根据针对所述感兴趣区域预设的第一初始调整值,以及所述第一类宏块对应的第一调整值和所述第一类宏块对应的第二调整值,确定所述第一类宏块对应的第一目标调整值,所述第一目标调整值为负数;根据所述第一目标调整值,减小所述第一类宏块对应的量化参数,得到所述第一类宏块对应的第一目标量化参数,所述目标量化参数包括多个所述第一类宏块对应的第一目标量化参数。
在一种可能的实现方式中,所述视频帧中包括非感兴趣区域,所述视频帧中的多个宏块包括所述非感兴趣区域内的多个第二类宏块;其中,所述根据所述第一调整值与所述第二调整值中至少一种,调整所述宏块对应的量化参数,得到所述宏块对应的目标量化参数,包括:针对任一第二类宏块,根据针对所述非感兴趣区域预设的第二初始调整值以及所述第二类宏块对应的第一调整值,确定所述第二类宏块对应的第二目标调整值,所述第二目标调整值为正数;根据所述第二目标调整值,增大所述第二类宏块对应的量化参数,得到所述第二类宏块对应的第二目标量化参数,所述目标量化参数包括多个所述第二类宏块对应的第二目标量化参数。
在一种可能的实现方式中,所述目标量化参数包括所述视频帧中感兴趣区域内的第一类宏块对应的第一目标量化参数,以及所述视频帧中非感兴趣区域内的第二类宏块对应的第二目标量化参数;其中,所述编码模块,包括:编码确定子模块,用于针对任一视频帧,根据所述视频帧对应的所述第一目标量化参数与所述第二目标量化参数,确定所述视频帧中的感兴趣区域的编码码率与非感兴趣区域的编码码率;编码子模块,用于根据所述感兴趣区域的编码码率与所述非感兴趣区域的编码码率,对所述多个视频帧进行编码,得到所述视频数据。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,通过根据编码参数中的量化强度和/或量化偏差,调整视频中每个视频帧对应的量化参数,再根据调整后的目标量化参数对视频中的多个视频帧进行编码,能够在编码过程中利用调整后的目标量化参数,为视频中的各视频帧分配更合理的编码码率,从而减少编码压缩对画面质量的影响。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的视频转码方法的流程图。
图2示出根据本公开实施例的一种视频帧中宏块的示意图。
图3示出根据本公开实施例的一种视频转码方法的流程示意图。
图4示出根据本公开实施例的视频转码装置的框图。
图5示出根据本公开实施例的一种电子设备1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开实施例的视频转码方法的流程图,所述视频转码方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现,或者,可通过服务器执行所述方法。如图1所示,所述视频转码方法包括:
在步骤S11中,获取待转码的视频以及视频的编码参数。
其中,待转码的视频可以理解为待重新编码的视频,或者说对已编码的、待重新编码视频。应理解的是,待转码的视频可以是采用本领域已知的视频编码技术进行编码的,例如可以采用X264(一种视频编码标准)的编码器所编码的视频,那么可以采用对应的解码器对视频进行解码得到视频中的多个视频帧并提取视频的编码参数,其中,视频中的多个视频帧例如可以是YUV(一种颜色编码格式)的视频帧。
其中,视频的编码参数可以理解为编码器对视频进行编码时生成的已知参数,编码参数例如可以至少包括视频中的每个视频帧对应的量化参数(QuantizationParameter,QP),以及每个视频帧对应的量化强度(或称自适应量化强度,adaptivequantization strength,简称aq-strength)和/或量化偏差(或称量化偏移量,quantization offset,简称qoffset)。
其中,量化强度可以表征自适应量化中偏向低细节宏块的强度,量化偏差表征相邻两视频帧中同一位置处两宏块对应的两量化参数之间的偏差,宏块可以理解为编码器对视频帧进行编码时所划分的像素块(或者说图像块),例如X264下的编码器通常会将视频帧按照16×16像素划分宏块,并针对每个16×16的宏块进行编码,每个宏块对应有各自的量化参数、量化强度与量化偏差。
其中,低细节宏块可以理解为包含较少纹理细节的图像块,例如,墙面、白板所对应的宏块通常是低细节宏块;相邻两视频帧中同一位置处两宏块对应的两量化参数之间的偏差,可以理解为当前视频帧与上一相邻视频帧中同一像素位置处的两宏块所对应的两个量化参数之间的差值。
在步骤S12中,根据量化强度和/或量化偏差,调整每个视频帧对应的量化参数,得到每个视频帧对应的目标量化参数。
如上所述,视频中的任一视频帧对应多个宏块,每个宏块各自对应有量化参数、量化强度以及量化偏差,那么可以针对每一视频帧的每一宏块,根据该宏块对应的量化强度和/或量化偏差,调整该宏块对应的量化参数,得到该宏块对应的目标量化参数,多个视频帧各自对应的目标量化参数可以包括多个视频帧中多个宏块对应的目标量化参数。
考虑到,视频帧中通常包含感兴趣区域(region of interest,ROI)与非感兴趣区域(也即ROI区域以外的图像区域,如背景区域),视频编码可以通过给ROI区域(如前景区域)分配更多码率,来提升视频的整体画质,但过多增加ROI区域的码率,可能使得视频帧的总码率上涨。由于视频编码的画质和量化参数QP负相关,即QP越小,画质越好,量化参数QP又和编码码率负相关,即QP越小,分配的编码码率越高,因此可以通过减小ROI区域的QP,提高非ROI区域的QP,来提高视频帧的整体画质同时不影响视频帧的总码率。应理解的是,本领域技术人员可以采用本领域已知的图像检测技术,例如图像分割、关键点检测等技术,检测出视频帧中的ROI区域,对此本公开实施例不作限制。
在一种可能的实现方式中,例如可以将ROI区域内宏块的量化强度与量化偏差进行归一化,再将ROI区域内宏块的量化参数减去归一化后的量化强度与量化偏差,得到ROI区域内宏块的目标量化参数,也即减小了ROI区域的量化参数;以及,可以将非ROI区域内宏块的量化参数加上归一化后的量化强度,得到非ROI区域内宏块的目标量化参数,也即增加了非ROI区域内宏块的量化参数。
应理解的是,上述本公开实施例提供的量化参数的调整方式,是本公开实施例提供的一些实现方式,本领域技术人员可以在本公开的启示下采用其它调整方式,例如还可以将非ROI区域内宏块的量化参数加上归一化后的量化偏差,得到非ROI区域内宏块的目标量化参数。实际上,只要是根据量化强度和/或量化参数来调整量化参数的实现方式均应在本公开的保护范围内。
在步骤S13中,根据视频中多个视频帧对应的目标量化参数,对多个视频帧进行编码,得到转码后的视频数据。
应理解的是,在已知目标量化参数后,本领域技术人员可以采用本领域已知的视频编码技术,实现根据多个视频帧对应的目标量化参数,对多个视频帧进行编码,对此本公开实施例不作限制。
如上所述,量化参数与编码码率相关,在一种可能的实现方式中,根据视频中多个视频帧对应的目标量化参数,对多个视频帧进行编码,得到转码后的视频数据,可以包括:根据多个视频帧中各个宏块对应的目标量化参数,确定各个宏块对应的编码码率;根据多个视频帧中各宏块对应的编码码率,对多个视频帧进行编码,得到视频数据。
在本公开实施例中,通过根据编码参数中的量化强度和/或量化偏差,调整视频中每个视频帧各自对应的量化参数,再根据调整后的目标量化参数对视频中的多个视频帧进行编码,能够在编码过程中利用调整后的目标量化参数,为视频中的各视频帧分配更合理的编码码率,从而减少编码压缩对画面质量的影响。
在一种可能的实现方式中,在步骤S12中,根据量化强度和/或量化偏差,调整每个视频帧对应的量化参数,得到每个视频帧对应的目标量化参数,包括:
步骤S121:针对视频帧对应的任一宏块,根据宏块对应的量化强度,确定宏块对应的第一调整值,和/或,根据宏块对应的量化偏差,确定宏块对应的第二调整值。
在一种可能的实现方式中,根据宏块对应的量化强度,确定宏块对应的第一调整值,包括:根据宏块所在的指定图像区域内的至少两个宏块各自对应的量化强度,确定宏块对应的第一调整值。通过该方式,可以有效地利用至少两个宏块的量化强度有效地确定出用于调整量化参数的第一调整值。
其中,宏块所在的指定图像区域内,可以理解为,包含宏块的具有指定范围的区域,图2示出根据本公开实施例的一种视频帧中宏块的示意图,如图2所示,若假设指定图像区域为9个宏块所占的区域,例如针对宏块a8所在的指定图像区域内的9个宏块可以是“a1、a2、a3、a7、a8、a9、a13、a14、a15”,若假设指定图像区域为4个宏块所占的区域,例如针对宏块a3所在的指定图像区域内的4个宏块可以是“a3、a4、a9、a10”,以此类推。应理解的是,本公开实施例对于指定图像区域的具体范围不作限制。
在一种可能的实现方式中,根据宏块所在的指定图像区域内的至少两个宏块各自对应的量化强度,确定宏块对应的第一调整值,例如可以包括:计算指定图像区域内的至少两个宏块对应的至少两个量化强度之间的平均值,并对平均值进行归一化,得到该宏块对应的第一调整值,也即第一调整值可以在0~1之间;或者还可以包括:先对指定图像区域内的至少两个宏块对应的至少两个量化强度进行归一化,再将归一化后的至少两个量化强度之间的平均值,确定为该宏块对应的第一调整值,对此本公开实施例不作限制。
在一种可能的实现方式中,根据宏块对应的量化偏差,确定宏块对应的第二调整值,包括:根据宏块对应的量化偏差以及至少一个指定宏块对应的量化偏差,确定宏块对应的第二调整值;其中,指定宏块包括在先视频帧上的与宏块在同一位置处的宏块,在先视频帧在所述视频帧之前,也即在先视频帧的采集时序在宏块所在视频帧之前。通过该方式,可以有效地利用宏块的量化参数有效地确定出用于调整量化参数的第二调整值。
在一种可能的实现方式中,根据宏块对应的量化偏差以及至少一个指定宏块对应的量化偏差,确定宏块对应的第二调整值,例如可以包括:计算宏块对应的量化偏差以及至少一个指定宏块对应的量化偏差之间的加权平均值,并对加权平均值进行归一化,得到该宏块对应的第二调整值,也即第二调整值可以在0~1之间;或者还可以包括:先对宏块对应的量化偏差以及至少一个指定宏块对应的量化偏差分别进行归一化,再将归一化后的至少两个量化偏差之间的加权平均值,确定为该宏块对应的第二调整值,对此本公开实施例不作限制。
其中,例如可以按照在先视频帧与当前的宏块所在视频帧之间的时序间隔,确定至少一个指定宏块的对应的权重,如在先视频帧与宏块所在视频帧之间的时序间隔越长,该在先视频帧上指定宏块对应的权重越小;反之,时序间隔越短,权重越大。
应理解的是,在先视频帧可以是至少一帧,在先视频帧可以是间隔采样还可以是连续采样的视频帧;考虑到,对于视频中的第一帧视频帧来说,由于第一帧视频帧之前没有在先视频帧,因此第一帧视频帧上宏块没有对应的量化偏差,因此可以设置第一帧视频帧上宏块对应的第二调整值为预设数值(如0),对此本公开实施例不作限制。
步骤S122:根据第一调整值与第二调整值中至少一种,调整宏块对应的量化参数,得到宏块对应的目标量化参数,目标量化参数包括多个宏块对应的目标量化参数。
如上所述,视频帧中包括感兴趣区域与非感兴趣区域,可以通过减小ROI区域的QP,提高非ROI区域的QP,来提高视频帧的整体画质同时不影响视频编码的总码率。视频帧中的多个宏块包括感兴趣区域内的多个第一类宏块与非感兴趣区域内的多个第二类宏块,在一种可能的实现方式中,根据宏块的第一调整值与第二调整值中至少一种,调整宏块对应的量化参数,得到宏块对应的目标量化参数,可以包括:根据第一调整值与第二调整值,增加第一类宏块对应的量化参数,得到第一类宏块对应的目标量化参数;根据第一调整值,减小第二类宏块对应的量化参数,得到第二类宏块对应的目标量化参数;多个视频帧对应的目标量化参数可以包括多个视频帧中多个宏块对应的目标量化参数。
在本公开实施例中,能够根据视频帧中各个宏块对应的量化参数和/或量化强度,有效地调整多个视频帧中各个宏块对应的量化参数,得到编码效果更佳的目标量化参数。
如上所述,视频帧中包括感兴趣区域,视频帧中的多个宏块包括感兴趣区域内的多个第一类宏块,在一种可能的实现方式中,在步骤S122中,根据第一调整值与第二调整值中至少一种,调整宏块对应的量化参数,得到宏块对应的目标量化参数,包括:
针对任一第一类宏块,根据针对感兴趣区域预设的第一初始调整值,以及第一类宏块对应的第一调整值和第一类宏块对应的第二调整值,确定第一类宏块对应的第一目标调整值;根据第一目标调整值,减小第一类宏块对应的量化参数,得到第一类宏块对应的第一目标量化参数,目标量化参数包括多个第一类宏块对应的第一目标量化参数。通过该方式,可以有效得到感兴趣区域内的各个第一类宏块对应的第一目标量化参数,有利于提高感兴趣区域内的画面质量。
其中,第一初始调整值可以是自定义设置的数值,对此本公开实施例不作限制。例如考虑到编码参数中的量化强度通常在0~3内,可以设置第一初始调整值为-3,以及如上所述第一调整值与第二调整值可以均在0~1之间,在一种可能的实现方式中,根据针对感兴趣区域预设的第一初始调整值,以及第一类宏块对应的第一调整值和对应的第二调整值,确定第一类宏块对应的第一目标调整值,例如可以包括:将第一初始调整值、第一类宏块对应的第一调整值以及对应的第二调整值相乘,得到第一目标调整值;当然也可以将第一初始调整值、第一类宏块对应的第一调整值以及对应的第二调整值相加,得到第一目标调整值,对此本公开实施例不作限制。
其中,根据第一目标调整值,减小第一类宏块对应的量化参数,得到第一类宏块对应的第一目标量化参数,可以包括:在第一目标调整值为负数的情况下,将第一类宏块对应的量化参数与第一目标调整值相加,得到第一类宏块对应的第一目标量化参数;或者,在第一目标调整值为正数的情况下,将第一类宏块对应的量化参数与第一目标调整值相减,得到第一类宏块对应的第一目标量化参数。通过该方式,可以减小第一类宏块对应的量化参数,这样可以为感兴趣区域分配更多码率,提高感兴趣区域的画面质量。
如上所述,视频帧中包括非感兴趣区域,视频帧中的多个宏块包括非感兴趣区域内的多个第二类宏块,在一种可能的实现方式中,在步骤S122中,根据第一调整值与第二调整值中至少一种,调整宏块对应的量化参数,得到宏块对应的目标量化参数,包括:
针对任一第二类宏块,根据针对非感兴趣区域预设的第二初始调整值,以及第二类宏块对应的第一调整值,确定第二类宏块对应的第二目标调整值;根据第二目标调整值,增大第二类宏块对应的量化参数,得到第二类宏块对应的第二目标量化参数,目标量化参数包括多个第二类宏块对应的第二目标量化参数。通过该方式,可以有效得到非感兴趣区域内的各个第二类宏块对应的第二目标量化参数,有利于维持视频帧整体的码率分配平衡,或者说维持视频编码的总码率。
其中,第二初始调整值可以是自定义设置的数值,对此本公开实施例不作限制。例如考虑到编码参数中的量化强度通常在0~3内,可以设置第二初始调整值为3,以及如上所述第一调整值与第二调整值可以均在0~1之间,在一种可能的实现方式中,根据针对非感兴趣区域预设的第二初始调整值,以及第二类宏块对应的第一调整值,确定第二类宏块对应的第二目标调整值,例如可以包括:将第二初始调整值与第二类宏块对应的第一调整值相乘,得到第二目标调整值;当然还可以将第二初始调整值与第二类宏块对应的第二调整值相加,得到第二目标调整值,对此本公开实施例不作限制。
应理解的是,在本公开实施例的启示下,还可以将第二初始调整值与第二类宏块对应的第二调整值相乘,或将第二初始调整值与第二类宏块对应的第二调整值相加,得到第二目标调整值,对此本公开实施例不作限制。
其中,根据第二目标调整值,增大第二类宏块对应的量化参数,得到第二类宏块对应的第二目标量化参数,可以包括:在第二目标调整值为正数的情况下,将第二类宏块对应的量化参数与第一目标调整值相加,得到第二类宏块对应的第二目标量化参数;或者,在第二目标调整值为负数的情况下,将第二类宏块对应的量化参数与第二目标调整值相减,得到第二类宏块对应的第二目标量化参数。通过该方式,可以适当增大第二类宏块对应的量化参数,这样可以适当降低非感兴趣区域的码率,有利于维持视频编码的总码率。
如上所述,目标量化参数包括视频帧中感兴趣区域内的第一类宏块对应的第一目标量化参数,以及视频帧中非感兴趣区域内的第二类宏块对应的第二目标量化参数,在一种可能的实现方式中,在步骤S13中,根据视频中多个视频帧对应的目标量化参数,对多个视频帧进行编码,得到转码后的视频数据,包括:
针对任一视频帧,根据视频帧对应的第一目标量化参数与第二目标量化参数,确定视频帧中的感兴趣区域的编码码率与非感兴趣区域的编码码率;根据感兴趣区域的编码码率与非感兴趣区域的编码码率,对多个视频帧进行编码,得到视频数据。
其中,在得到视频帧中感兴趣区域内第一类宏块的第一目标量化参数及非感兴趣区域内第二类宏块的第二目标量化参数后,可以基于量化参数与编码码率之间的转换关系,确定感兴趣区域内第一类宏块的编码码率与第二类宏块的编码码率,也即重新分配视频帧中感兴趣区域的编码码率与非感兴趣区域的编码码率。
应理解的是,本领域技术人员可以采用本领域已知的视频编码技术,实现根据多个视频帧中的感兴趣区域与非感兴趣区域各自的编码码率,对多个视频帧进行编码,对此本公开实施例不作限制。
在本公开实施例中,能够在编码过程中利用调整后的第一目标量化参数与第二目标量化参数,为各视频帧的感兴趣区域与非感兴趣区域分配更合理的编码码率,有利于减少编码压缩对画面质量的影响,同时维持视频编码中正常的总码率。
图3示出根据本公开实施例的一种视频转码方法的流程示意图,如图3所示,该视频转码方法包括:
在步骤S31中,获取待转码的视频;
在步骤S32中,解码该视频得到视频帧并提取视频帧的编码参数,由于编码参数中的量化参数与码率分配相关,提取编码参数也即提取视频帧的码率分配信息;编码参数包括视频中的每个视频帧对应的量化参数,以及每个视频帧对应的量化强度和/或量化偏差;待转码的视频可以是采用本领域已知的视频编码技术进行编码的,例如可以采用X264(一种视频编码标准)的编码器所编码的视频,那么可以采用对应的解码器对视频进行解码得到视频中的多个视频帧并提取视频的编码参数;
在步骤S33中,检测视频帧中的感兴趣区域;其中,本领域技术人员可以采用本领域已知的图像检测技术,例如图像分割、关键点检测等技术,检测出视频帧中的感兴趣ROI区域,对此本公开实施例不作限制;
在步骤S34中,根据视频帧的编码参数,调整视频帧中感兴趣区域的量化参数与非感兴趣区域的量化参数,得到视频帧对应的目标量化参数;其中,可以参照上述本公开实施例步骤S121至S122的实现方式,实现根据视频帧的编码参数,调整视频帧中感兴趣区域的量化参数与非感兴趣区域的量化参数,得到视频帧对应的目标量化参数,也即,可以利用基于量化强度确定的第一调整值与基于量化偏差确定的第二调整值,减小感兴趣区域的量化参数,得到视频帧中感兴趣区域的目标量化参数;还可以利用基于量化强度确定的第一调整值,增大非感兴趣区域的量化参数,得到视频帧中非感兴趣区域的目标量化参数;
在步骤S35中,根据多个视频帧对应的目标量化参数,对多个视频帧进行视频编码,得到编码后的视频码流;其中,可以基于量化参数与编码码率之间的转换关系,根据感兴趣区域的目标量化参数与非感兴趣区域的目标量化参数,确定感兴趣区域内的编码码率以及非感兴趣区域的编码码率,也即重新分配视频帧中感兴趣区域的编码码率与非感兴趣区域的编码码率;再基于本领域已知的视频编码技术,实现感兴趣区域的编码码率与非感兴趣区域的编码码率,对多个视频帧进行视频编码。
应理解的是,可以参照上述本公开实施例中量化参数的调整方式以及编码方式,实现根据视频帧的编码参数,调整感兴趣区域与感兴趣区域的量化参数,得到视频帧对应的目标量化参数,以及实现根据多个视频帧对应的目标量化参数,对视频帧进行视频编码,得到编码后的视频码流(也即视频数据),在此不赘述。
其中,在视频被解码的过程中,可以对视频的码率分配情况进行统计,即统计每个宏块会占据多少字节bytes,以此统计出整个视频帧的码率分布情况,以便于重新分配每个宏块的码率;可以对解码出的视频帧进行ROI区域的检测识别,得到视频帧中的ROI区域;然后可以将码率分布情况与ROI区域相结合,来调整视频帧的码率分配,也即调整视频帧的量化参数。
根据本公开实施例的视频转码方法,可以应用于视频直播、点播、存储中,可以节省码率,合理提升感兴趣区域的清晰度。
在视频转码的过程中,输入视频是经过编码压缩的,而转码前和转码后的视频帧的空域码率分配是很相近的,本公开实施例中的视频转码方法,可以基于这一特性,利用输入的编码参数,结合ROI区域的范围来调整ROI的量化参数,以此得到更合理的码分配效果、维持正常的码率,避免了过度的给ROI区域分配码率带来的码率上升情况。
相关技术中的码率调整主要是以固定的QP调整为主。而根据本公开的实施例,能够更精准地动态调整量化参数,也即重新分配码率,能够调整ROI的量化强度,减少过多给ROI区域分配码率带来的码率上升的情况。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了视频转码装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种视频转码方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图4示出根据本公开实施例的视频转码装置的框图,如图4所示,所述装置包括:
获取模块101,用于获取待转码的视频以及所述视频的编码参数,所述编码参数包括所述视频中的每个视频帧对应的量化参数,以及所述每个视频帧对应的量化强度和/或量化偏差;
调整模块102,用于根据所述量化强度和/或所述量化偏差,调整所述每个视频帧对应的量化参数,得到所述每个视频帧对应的目标量化参数;
编码模块103,用于根据所述视频中多个视频帧对应的目标量化参数,对所述多个视频帧进行编码,得到转码后的视频数据。
在一种可能的实现方式中,所述调整模块102,包括:调整值确定子模块,用于针对所述视频帧对应的任一宏块,根据所述宏块对应的量化强度,确定所述宏块对应的第一调整值,和/或,根据所述宏块对应的量化偏差,确定所述宏块对应的第二调整值;参数调整子模块,用于根据所述第一调整值与所述第二调整值中至少一种,调整所述宏块对应的量化参数,得到所述宏块对应的目标量化参数,所述目标量化参数包括多个所述宏块对应的目标量化参数。
在一种可能的实现方式中,所述根据所述宏块对应的量化强度,确定所述宏块对应的第一调整值,包括:根据所述宏块所在的指定图像区域内的至少两个宏块各自对应的量化强度,确定所述宏块对应的第一调整值。
在一种可能的实现方式中,所述根据所述宏块对应的量化偏差,确定所述宏块对应的第二调整值,包括:根据所述宏块对应的量化偏差以及至少一个指定宏块对应的量化偏差,确定所述宏块对应的第二调整值;其中,所述指定宏块包括在先视频帧上的与所述宏块在同一位置处的宏块,所述在先视频帧在所述视频帧之前。
在一种可能的实现方式中,所述视频帧中包括感兴趣区域,所述视频帧中的多个宏块包括所述感兴趣区域内的多个第一类宏块;其中,所述根据所述第一调整值与所述第二调整值中至少一种,调整所述宏块对应的量化参数,得到所述宏块对应的目标量化参数,包括:针对任一第一类宏块,根据针对所述感兴趣区域预设的第一初始调整值,以及所述第一类宏块对应的第一调整值和所述第一类宏块对应的第二调整值,确定所述第一类宏块对应的第一目标调整值,所述第一目标调整值为负数;根据所述第一目标调整值,减小所述第一类宏块对应的量化参数,得到所述第一类宏块对应的第一目标量化参数,所述目标量化参数包括多个所述第一类宏块对应的第一目标量化参数。
在一种可能的实现方式中,所述视频帧中包括非感兴趣区域,所述视频帧中的多个宏块包括所述非感兴趣区域内的多个第二类宏块;其中,所述根据所述第一调整值与所述第二调整值中至少一种,调整所述宏块对应的量化参数,得到所述宏块对应的目标量化参数,包括:针对任一第二类宏块,根据针对所述非感兴趣区域预设的第二初始调整值以及所述第二类宏块对应的第一调整值,确定所述第二类宏块对应的第二目标调整值,所述第二目标调整值为正数;根据所述第二目标调整值,增大所述第二类宏块对应的量化参数,得到所述第二类宏块对应的第二目标量化参数,所述目标量化参数包括多个所述第二类宏块对应的第二目标量化参数。
在一种可能的实现方式中,所述目标量化参数包括所述视频帧中感兴趣区域内的第一类宏块对应的第一目标量化参数,以及所述视频帧中非感兴趣区域内的第二类宏块对应的第二目标量化参数;其中,所述编码模块103,包括:编码确定子模块,用于针对任一视频帧,根据所述视频帧对应的所述第一目标量化参数与所述第二目标量化参数,确定所述视频帧中的感兴趣区域的编码码率与非感兴趣区域的编码码率;编码子模块,用于根据所述感兴趣区域的编码码率与所述非感兴趣区域的编码码率,对所述多个视频帧进行编码,得到所述视频数据。
在本公开实施例中,通过根据编码参数中的量化强度和/或量化偏差,调整视频中每个视频帧对应的量化参数,再根据调整后的目标量化参数对视频中的多个视频帧进行编码,能够在编码过程中利用调整后的目标量化参数,为视频中的各视频帧分配更合理的编码码率,从而减少编码压缩对画面质量的影响。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图5示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器或终端设备。参照图5,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows ServerTM),苹果公司推出的基于图形用户界面操作系统(Mac OSXTM),多用户多进程的计算机操作系统(UnixTM),自由和开放原代码的类Unix操作系统(LinuxTM),开放原代码的类Unix操作系统(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (8)

1.一种视频转码方法,其特征在于,包括:
获取待转码的视频以及所述视频的编码参数,所述编码参数包括所述视频中的每个视频帧对应的量化参数,以及所述每个视频帧对应的量化强度和/或量化偏差;
根据所述量化强度和/或所述量化偏差,调整所述每个视频帧对应的量化参数,得到所述每个视频帧对应的目标量化参数;
根据所述视频中多个视频帧对应的目标量化参数,对所述多个视频帧进行编码,得到转码后的视频数据;
其中,每个视频帧中的多个宏块包括感兴趣区域内的多个第一类宏块与非感兴趣区域内的多个第二类宏块,所述根据所述量化强度和/或所述量化偏差,调整所述每个视频帧对应的量化参数,得到所述每个视频帧对应的目标量化参数,包括:
针对所述视频帧中的任一宏块,根据所述宏块对应的量化强度,确定所述宏块对应的第一调整值;
根据所述宏块对应的量化偏差以及至少一个指定宏块对应的量化偏差,确定所述宏块对应的第二调整值;其中,所述指定宏块包括在先视频帧上的与所述宏块在同一位置处的宏块,所述在先视频帧在所述视频帧之前;
根据第一类宏块对应的第一调整值与第一类宏块对应的第二调整值,减小第一类宏块对应的量化参数,得到第一类宏块对应的第一目标量化参数;
根据第一调整值,增大第二类宏块对应的量化参数,得到第二类宏块对应的第二目标量化参数;
其中,所述目标量化参数包括多个第一类宏块对应的第一目标量化参数以及多个第二类宏块对应的第二目标量化参数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述宏块对应的量化强度,确定所述宏块对应的第一调整值,包括:
根据所述宏块所在的指定图像区域内的至少两个宏块各自对应的量化强度,确定所述宏块对应的第一调整值。
3.根据权利要求1所述的方法,其特征在于,所述根据第一类宏块对应的第一调整值与第一类宏块对应的第二调整值,减小第一类宏块对应的量化参数,得到第一类宏块对应的第一目标量化参数,包括:
针对任一第一类宏块,根据针对所述感兴趣区域预设的第一初始调整值,以及所述第一类宏块对应的第一调整值和所述第一类宏块对应的第二调整值,确定所述第一类宏块对应的第一目标调整值;
根据所述第一目标调整值,减小所述第一类宏块对应的量化参数,得到所述第一类宏块对应的第一目标量化参数。
4.根据权利要求1所述的方法,其特征在于,所述根据第一调整值,增大第二类宏块对应的量化参数,得到第二类宏块对应的第二目标量化参数,包括:
针对任一第二类宏块,根据针对所述非感兴趣区域预设的第二初始调整值以及所述第二类宏块对应的第一调整值,确定所述第二类宏块对应的第二目标调整值;
根据所述第二目标调整值,增大所述第二类宏块对应的量化参数,得到所述第二类宏块对应的第二目标量化参数。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述视频中多个视频帧对应的目标量化参数,对所述多个视频帧进行编码,得到转码后的视频数据,包括:
针对任一视频帧,根据所述视频帧对应的所述第一目标量化参数与所述第二目标量化参数,确定所述视频帧中的感兴趣区域的编码码率与非感兴趣区域的编码码率;
根据所述感兴趣区域的编码码率与所述非感兴趣区域的编码码率,对所述多个视频帧进行编码,得到所述视频数据。
6.一种视频转码装置,其特征在于,包括:
获取模块,用于获取待转码的视频以及所述视频的编码参数,所述编码参数包括所述视频中的每个视频帧对应的量化参数,以及所述每个视频帧对应的量化强度和/或量化偏差;
调整模块,用于根据所述量化强度和/或所述量化偏差,调整所述每个视频帧对应的量化参数,得到所述每个视频帧对应的目标量化参数;
编码模块,用于根据所述视频中多个视频帧对应的目标量化参数,对所述多个视频帧进行编码,得到转码后的视频数据;
其中,每个视频帧中的多个宏块包括感兴趣区域内的多个第一类宏块与非感兴趣区域内的多个第二类宏块,所述根据所述量化强度和/或所述量化偏差,调整所述每个视频帧对应的量化参数,得到所述每个视频帧对应的目标量化参数,包括:
针对所述视频帧中的任一宏块,根据所述宏块对应的量化强度,确定所述宏块对应的第一调整值;
根据所述宏块对应的量化偏差以及至少一个指定宏块对应的量化偏差,确定所述宏块对应的第二调整值;其中,所述指定宏块包括在先视频帧上的与所述宏块在同一位置处的宏块,所述在先视频帧在所述视频帧之前;
根据第一类宏块对应的第一调整值与第一类宏块对应的第二调整值,减小第一类宏块对应的量化参数,得到第一类宏块对应的第一目标量化参数;
根据第一调整值,增大第二类宏块对应的量化参数,得到第二类宏块对应的第二目标量化参数;
其中,所述目标量化参数包括多个第一类宏块对应的第一目标量化参数以及多个第二类宏块对应的第二目标量化参数。
7.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至5中任意一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至5中任意一项所述的方法。
CN202210564527.1A 2022-05-23 2022-05-23 视频转码方法及装置、电子设备和存储介质 Active CN115002512B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210564527.1A CN115002512B (zh) 2022-05-23 2022-05-23 视频转码方法及装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210564527.1A CN115002512B (zh) 2022-05-23 2022-05-23 视频转码方法及装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN115002512A CN115002512A (zh) 2022-09-02
CN115002512B true CN115002512B (zh) 2023-11-28

Family

ID=83026455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210564527.1A Active CN115002512B (zh) 2022-05-23 2022-05-23 视频转码方法及装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115002512B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106488241A (zh) * 2016-10-13 2017-03-08 千目聚云数码科技(上海)有限公司 一种感兴趣区域设置方法
CN107846590A (zh) * 2016-09-19 2018-03-27 阿里巴巴集团控股有限公司 一种视频编码的方法和视频编码器
JP2018082407A (ja) * 2016-11-18 2018-05-24 富士通株式会社 動画像符号化装置、動画像符号化方法、および動画像符号化プログラム
CN110198444A (zh) * 2019-04-16 2019-09-03 浙江大华技术股份有限公司 视频帧编码方法、视频帧编码设备及具有存储功能的装置
CN110267037A (zh) * 2019-06-21 2019-09-20 腾讯科技(深圳)有限公司 视频编码方法、装置、电子设备及计算机可读存储介质
CN110365983A (zh) * 2019-09-02 2019-10-22 珠海亿智电子科技有限公司 一种基于人眼视觉系统的宏块级码率控制方法及装置
CN111131825A (zh) * 2019-10-28 2020-05-08 华为技术有限公司 一种视频处理方法及相关装置
CN111479112A (zh) * 2020-06-23 2020-07-31 腾讯科技(深圳)有限公司 一种视频编码方法、装置、设备和存储介质
CN111918066A (zh) * 2020-09-08 2020-11-10 北京字节跳动网络技术有限公司 视频编码方法、装置、设备及存储介质
CN113301342A (zh) * 2021-05-13 2021-08-24 广州方硅信息技术有限公司 视频编码方法、网络直播方法、装置和终端设备
WO2022012183A1 (zh) * 2020-07-17 2022-01-20 Oppo广东移动通信有限公司 一种编码方法、编码器及计算机可读存储介质
CN114125443A (zh) * 2021-11-19 2022-03-01 展讯通信(上海)有限公司 视频码率控制方法、装置和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2963338A1 (en) * 2014-10-03 2016-04-07 Nec Corporation Video coding device, video decoding device, video coding method, video decoding method and program
KR102503900B1 (ko) * 2015-10-05 2023-02-27 삼성전자주식회사 양자화 파라미터를 적응적으로 결정하는 인코더 및 이를 포함하는 애플리케이션 프로세서
US10425643B2 (en) * 2017-02-04 2019-09-24 OrbViu Inc. Method and system for view optimization of a 360 degrees video

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107846590A (zh) * 2016-09-19 2018-03-27 阿里巴巴集团控股有限公司 一种视频编码的方法和视频编码器
CN106488241A (zh) * 2016-10-13 2017-03-08 千目聚云数码科技(上海)有限公司 一种感兴趣区域设置方法
JP2018082407A (ja) * 2016-11-18 2018-05-24 富士通株式会社 動画像符号化装置、動画像符号化方法、および動画像符号化プログラム
CN110198444A (zh) * 2019-04-16 2019-09-03 浙江大华技术股份有限公司 视频帧编码方法、视频帧编码设备及具有存储功能的装置
CN110267037A (zh) * 2019-06-21 2019-09-20 腾讯科技(深圳)有限公司 视频编码方法、装置、电子设备及计算机可读存储介质
CN110365983A (zh) * 2019-09-02 2019-10-22 珠海亿智电子科技有限公司 一种基于人眼视觉系统的宏块级码率控制方法及装置
CN111131825A (zh) * 2019-10-28 2020-05-08 华为技术有限公司 一种视频处理方法及相关装置
CN111479112A (zh) * 2020-06-23 2020-07-31 腾讯科技(深圳)有限公司 一种视频编码方法、装置、设备和存储介质
WO2022012183A1 (zh) * 2020-07-17 2022-01-20 Oppo广东移动通信有限公司 一种编码方法、编码器及计算机可读存储介质
CN111918066A (zh) * 2020-09-08 2020-11-10 北京字节跳动网络技术有限公司 视频编码方法、装置、设备及存储介质
CN113301342A (zh) * 2021-05-13 2021-08-24 广州方硅信息技术有限公司 视频编码方法、网络直播方法、装置和终端设备
CN114125443A (zh) * 2021-11-19 2022-03-01 展讯通信(上海)有限公司 视频码率控制方法、装置和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种高效的H.264码率控制方法;李蔷, 余松煜;上海交通大学学报(11);全文 *

Also Published As

Publication number Publication date
CN115002512A (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
US10638126B2 (en) Intra reference filter for video coding
US20180176582A1 (en) Low-complexity sign prediction for video coding
KR102601732B1 (ko) 영상 부호화 방법 및 영상 복호화 방법
US11070799B2 (en) Encoder, decoder and corresponding methods for intra prediction
JP2023103292A (ja) エンコーダ、デコーダ、および対応するイントラ予測方法
US20220070460A1 (en) Method and apparatus for signaling of mapping function of chroma quantization parameter
JP6615346B2 (ja) 符号化処理におけるリアルタイムビデオノイズ低減のための方法、端末、および、不揮発性コンピュータ可読記憶媒体
US11962796B2 (en) Gradient-based prediction refinement for video coding
CN111182303A (zh) 共享屏幕的编码方法、装置、计算机可读介质及电子设备
US11553174B2 (en) Method of intra predicting a block of a picture
US11985304B2 (en) Method and apparatus of local illumination compensation for predictive coding
US11589055B2 (en) Method and apparatus of mode- and size-dependent block-level restrictions for position dependent prediction combination
CN113785573A (zh) 编码器、解码器和使用自适应环路滤波器的对应方法
US11750807B2 (en) Method and apparatus for intra sub-partitions coding mode
CN116828192A (zh) 图像重建方法和装置
US20240015334A1 (en) Separate merge list for subblock merge candidates and intra-inter techniques harmonization for video coding
JP2023085337A (ja) イントラ予測のためのクロスコンポーネント線形モデリングの方法、装置、デコーダ、エンコーダおよびプログラム
CN109891885B (zh) 视频编译中用于环路恢复的引导偏移校正
CN113411612A (zh) 使用dct2启用高层级标志的编码器、解码器和对应方法
CN115002512B (zh) 视频转码方法及装置、电子设备和存储介质
KR20220123666A (ko) 가중-예측 파라미터들의 추정
KR20180099369A (ko) 비디오 비트율 제어 방법, 및 이를 이용한 영상 부호화 방법 및 장치
US20210021831A1 (en) Method and apparatus for adaptive context modeling in video encoding and decoding
US20210392373A1 (en) Encoder, a decoder and corresponding methods using intra mode coding for intra prediction
CN113727120B (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