CN113422958B - 视频编码frame层码流大小的控制方法、系统及介质 - Google Patents

视频编码frame层码流大小的控制方法、系统及介质 Download PDF

Info

Publication number
CN113422958B
CN113422958B CN202110604687.XA CN202110604687A CN113422958B CN 113422958 B CN113422958 B CN 113422958B CN 202110604687 A CN202110604687 A CN 202110604687A CN 113422958 B CN113422958 B CN 113422958B
Authority
CN
China
Prior art keywords
frame
quantization parameter
current
size
code stream
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
CN202110604687.XA
Other languages
English (en)
Other versions
CN113422958A (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.)
Allwinner Technology Co Ltd
Original Assignee
Allwinner 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 Allwinner Technology Co Ltd filed Critical Allwinner Technology Co Ltd
Priority to CN202110604687.XA priority Critical patent/CN113422958B/zh
Publication of CN113422958A publication Critical patent/CN113422958A/zh
Application granted granted Critical
Publication of CN113422958B publication Critical patent/CN113422958B/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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
    • 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

Landscapes

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

Abstract

本发明公开了视频编码frame层码流大小的控制方法、系统及介质,其中方法包括:量化参数预测和编码步骤,根据前一个I帧的目标比特数、前一个I帧码流大小以及前一个I帧的量化参数预测当前I帧目标比特数所对应的量化参数,并根据所述量化参数对当前I帧进行编码;量化参数调整和重编码步骤,若当前I帧或P帧编码后比特数不在预设范围内,则根据编码出的比特数对量化参数进行调整,并根据调整后的量化参数对当前I帧或P帧进行重编码。本发明能够兼顾网络带宽和编码质量,进而提高整体用户体验。

Description

视频编码frame层码流大小的控制方法、系统及介质
技术领域
本发明涉及视频编码技术领域,特别涉及一种视频编码frame层码流大小的控制方法、系统及介质。
背景技术
在视频编码过程中,码率控制起着至关重要的作用,尤其是在实时视频编码及网络传输场景中,由于网络带宽的限制,会对编码帧码流大小有一定要求。这种场景一般只I帧和P帧两种类型,此时I、P帧的码流分配比例及控制精准度会对网络传输的流畅度及视频的编码质量产生举足轻重的影响。
在实时视频编码及网络传输场景中,例如网络通话、视频会议及实时监控场景,编码后的数据被逐帧传送给接收端。由于受网络带宽的影响,会对编码后帧级码流大小的最大值有一定的要求,同时考虑到编码质量,也会要求帧级码流大小不能低于一个最小值。这就要求编码后的帧大小在一定的范围内波动,甚至在某些场景下需要在多个范围内波动。例如在无人机拍摄场景下,随着无人机远离接收终端,数据传输能力下降,此时需要降低帧级码流大小,反之可适当增加,这就要求编码器能根据场景的需求做出适当的调整,在保证编码质量的前提下使数据流畅的传输到接受终端。
针对此场景,行业内大部分的做法是根据网络环境的优劣或是数据传输能力的强弱来调节码率,寄希望于通过码率控制算法来调节帧级码流大小。这种方案在大部分场景下是可行的,但在码率调节的起始阶段或是视频采集噪点较多的场景下,编码后的帧大小控制不稳定,有时会有激增的情况,在网络带宽受限时这些帧数据大多会发生丢包,这样会对接收端用户带来较差的视觉体验。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种视频编码frame层码流大小的控制方法,能够实时监测每一帧编码后的码流大小,当其过大或者过小时,通过此次编码参数预测出一组更加精确的编码参数进行二次编码,编出一个合理大小的视频帧,这样可以兼顾网络带宽和编码质量,进而提高整体用户体验。
本发明还提出一种视频编码frame层码流大小的控制系统。
本发明还提出一种实施上述方法的计算机可读存储介质。
根据本发明的第一方面实施例的视频编码frame层码流大小的控制方法,包括:量化参数预测和编码步骤,根据前一个I帧的目标比特数、前一个I帧码流大小以及前一个I帧的量化参数预测当前I帧目标比特数所对应的量化参数,并根据所述量化参数对当前I帧进行编码;量化参数调整和重编码步骤,若当前I帧或P帧编码后比特数不在预设范围内,则根据编码出的比特数对量化参数进行调整,并根据调整后的量化参数对当前I帧或P帧进行重编码。
根据本发明的一些实施例,所述量化参数预测和编码步骤还包括:确定当前I帧是否为第一帧,若是则使用默认初始量化参数进行编码。
根据本发明的一些实施例,所述量化参数预测步骤包括:计算当前I帧的量化参 数,公式如下:
Figure 860358DEST_PATH_IMAGE001
=
Figure 59258DEST_PATH_IMAGE002
+ (nItargetBits/
Figure 728137DEST_PATH_IMAGE003
-1.0)*10;其中,
Figure 721501DEST_PATH_IMAGE001
表 示当前I帧的量化参数,
Figure 538147DEST_PATH_IMAGE002
表示上一I帧最后一次编码的量化参数,nItargetBits表示 前一个I帧目标比特数,
Figure 540738DEST_PATH_IMAGE003
表示前一个I帧码流大小;更新所述当前I帧的量化参 数为qpMin、qpMax以及
Figure 64123DEST_PATH_IMAGE001
的中间值;其中,qpMin、qpMax表示限制量化参数的范围。
根据本发明的一些实施例,所述量化参数调整步骤包括:确定当前I帧码流大小是 否在预设范围内,若否,更新当前I帧的量化参数,包括以下步骤:若
Figure 228388DEST_PATH_IMAGE004
> nIMaxBits,则
Figure 532331DEST_PATH_IMAGE005
= (
Figure 73033DEST_PATH_IMAGE004
/nIMaxBits-1.0)*10;若
Figure 450925DEST_PATH_IMAGE004
<nIMinBits, 则
Figure 51671DEST_PATH_IMAGE005
= (
Figure 577330DEST_PATH_IMAGE004
/nIMinBits-1.0)*10;其中,
Figure 921724DEST_PATH_IMAGE005
表示中间参数,
Figure 154122DEST_PATH_IMAGE004
表示当前I帧码流大小,nIMaxBits表示I帧最大比特数,nIMinBits表示I帧最 小比特数;将所述当前I帧的量化参数与所述中间参数相加,得到第一量化参数;取qpMin、 qpMax以及所述第一量化参数的中间值,作为调整后的量化参数;其中,qpMin、qpMax表示限 制量化参数的范围。
根据本发明的一些实施例,所述量化参数调整步骤还包括:确定第一次重编后的 当前I帧码流大小是否在预设范围内,若不是,进行第二次重编,包括以下步骤:计算量化参 数调整参数:nBitsPerQp=(
Figure 925769DEST_PATH_IMAGE006
-
Figure 941654DEST_PATH_IMAGE007
)/(
Figure 824159DEST_PATH_IMAGE008
-
Figure 176643DEST_PATH_IMAGE009
);其中 nBitsPerQp表示调整参数,
Figure 119191DEST_PATH_IMAGE006
表示第一次重编后当前I帧码流大小,
Figure 619443DEST_PATH_IMAGE007
表示当前I帧第一次编码时的码流大小,
Figure 305639DEST_PATH_IMAGE008
表示第一次重编后当前I帧的 量化参数,
Figure 512629DEST_PATH_IMAGE009
表示当前I帧第一次编码时的量化参数;若
Figure 626079DEST_PATH_IMAGE006
>nIMaxBits则
Figure 551310DEST_PATH_IMAGE010
= ((
Figure 837934DEST_PATH_IMAGE006
-nIMaxBits)/nBitsPerQp)+1;若
Figure 165011DEST_PATH_IMAGE006
<nIMinBits则
Figure 183782DEST_PATH_IMAGE010
= ((
Figure 596309DEST_PATH_IMAGE006
-nIMinBits)/nBitsPerQp)-1;其中,nIMaxBits表示I帧最大比 特数,nIMinBits表示I帧最小比特数,
Figure 686625DEST_PATH_IMAGE010
表示中间参数;将所述第一次重编后当前I帧 的量化参数与所述中间参数相加,得到第二量化参数;取qpMin、qpMax以及所述第二量化参 数的中间值,作为第二次调整后的量化参数;其中,qpMin、qpMax表示限制量化参数的范围。
根据本发明的一些实施例,所述量化参数调整步骤还包括:确定第一次编码后的 当前P帧码流大小是否在预设范围内,若不是,更新当前P帧的量化参数,包括以下步骤:若
Figure 868207DEST_PATH_IMAGE011
>nPMaxBits则
Figure 323460DEST_PATH_IMAGE005
= (
Figure 957703DEST_PATH_IMAGE011
/nPMaxBits-1.0)*10;若
Figure 586131DEST_PATH_IMAGE011
< nPMinBits则
Figure 887799DEST_PATH_IMAGE005
= (
Figure 513952DEST_PATH_IMAGE011
/nPMinBits-1.0)*10;其中,
Figure 635492DEST_PATH_IMAGE005
表示中间参数,
Figure 67611DEST_PATH_IMAGE011
表示当前P帧码流大小,nPMaxBits表示P帧最大比特数,nPMinBits表示P帧最小 比特数;将所述当前P帧的量化参数与所述中间参数相加,得到更新后的量化参数。
根据本发明的一些实施例,所述方法还包括:设置当前I帧重编码最多次数为2,P帧重编码最多次数为1;记录当前I帧或P帧重编码次数;若当前I帧码流大小不在预设范围内,则判断当前I帧重编码次数是否等于2,若是,结束当前I帧的帧编码流程;若当前P帧码流大小不在预设范围内,则判断当前P帧重编码次数是否等于1,若是,结束当前P帧的帧编码流程。
根据本发明的一些实施例,所述方法还包括:P帧第一次编码时,基于码率控制算法对所述P帧进行编码,所述码率控制算法根据网络环境的优劣或是数据传输能力的强弱来调节码率。
根据本发明的第二方面实施例的视频编码frame层码流大小的控制系统,包括:量化参数预测和编码模块,用于根据前一个I帧的目标比特数、前一个I帧码流大小以及前一个I帧的量化参数预测当前I帧目标比特数所对应的量化参数,并根据所述量化参数对当前I帧进行编码;量化参数调整和重编码模块,用于在当前I帧或P帧编码后比特数不在预设范围内时,根据编码出的比特数对量化参数进行调整,并根据调整后的量化参数对当前I帧或P帧进行重编码。
根据本发明的第三方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明的第一方面实施例中任一项的方法。
本发明实施例至少具有如下有益效果:
(1)在网络带宽发生变化时不仅会调节码率,而且还会监测每一个I、P帧的size,当其size不能适应于当前带宽时,根据当前帧此次的编码参数预测出合理的编码参数进行二次编码,使得编码size能适应于当前带宽,从而给终端接收用户带来良好的视觉体验;
(2)以前一个I帧为参考,在编码之前就对量化参数进行了预测计算,操作简便且有一定的前瞻性;
(3)实时监测每一帧编码后的码流大小,当其过大或者过小时,通过此次编码参数预测出一组更加精确的编码参数进行二次编码,编出一个合理大小的视频帧,这样可以兼顾网络带宽和编码质量,进而提高整体用户体验;
(4)有效控制frame层码流,在同等码率下可提高整体编码质量,尤其在高清低码率场景下效果明显。此外,该设计也可有效缓解在线视频编码因网络带宽受限而传输丢包的问题;
(5)在场景频繁切换时对编码size的大小起到一定的稳定作用;
(6)如果硬件编码性能足够强,允许重编进行多次的话,可对每帧编码的目的比特数进行精确控制。在网络带宽复杂且较为恶劣的场景下,可根据带宽情况实时调节每帧编码的目标比特数,这样可大大减缓因网络带宽受限而产生的丢包现象,如此,对无人机远程监控、无人船海洋监测等条件恶劣的场景将会有极大的积极作用。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的方法的流程示意图。
图2为本发明另一实施例的方法的流程示意图。
图3为本发明实施例的系统的模块示意框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
参照图1,本发明实施例的方法主要包括以下步骤:
量化参数预测和编码步骤,根据前一个I帧的目标比特数、前一个I帧码流大小以及前一个I帧的量化参数预测当前I帧目标比特数所对应的量化参数,并根据得到的量化参数对当前I帧进行编码;
量化参数调整和重编码步骤,若当前I帧或P帧编码后比特数不在预设范围内,则根据编码出的比特数对量化参数进行调整,并根据调整后的量化参数对当前I帧或P帧进行重编码。
参照图2,在一些实施例中,本发明实施例的方法流程如下:
(1)在编码器初始化时,除了配置码率等参数之外,还会传给编码器以下几个参数:
nItargetBits:I帧目标bit数;
nIMaxBits:I帧最大bit数;
nIMinBits:I帧最小bit数;
nPtargetBits:P帧目标bit数;
nPMaxBits:P帧最大bit数;
nPMinBits:P帧最小bit数;
(2)准备编码当前帧,若为I帧进入流程(3),P帧则进入流程(4);
(3)I帧编码流程如下:
判断当前I帧是否是编码的第一帧,如为第一帧则使用默认初始量化参数进行编码,否则可根据前一I帧的量化参数及编码后的码流大小对此帧的量化参数进行预测,过程如下:
Figure 223785DEST_PATH_IMAGE001
=
Figure 20840DEST_PATH_IMAGE002
+ ((float)nItargetBits/
Figure 629676DEST_PATH_IMAGE003
-1.0)*10;
Figure 599906DEST_PATH_IMAGE001
= CLIP3(qpMin, qpMax,
Figure 610587DEST_PATH_IMAGE001
);
其中,
Figure 578543DEST_PATH_IMAGE001
为此次编码的量化参数,
Figure 674675DEST_PATH_IMAGE002
为上一I帧最后一次编码的量化参 数,qpMin, qpMax为限制量化参数的范围,CLIP3为取中间值函数;
得到量化参数之后对此I帧进行编码;
编码完成后判断当前I帧的码流大小
Figure 386279DEST_PATH_IMAGE004
是否在[nIMinBits, nIMaxBits]范围内,如在此范内则结束本帧编码,否则更新量化参数并进行第一次重编,参 数更新如下:
if(
Figure 313784DEST_PATH_IMAGE004
>nIMaxBits)
Figure 452641DEST_PATH_IMAGE005
= ((float)
Figure 36069DEST_PATH_IMAGE004
/nIMaxBits-1.0)*10;
else if(
Figure 551364DEST_PATH_IMAGE004
<nIMinBits)
Figure 330446DEST_PATH_IMAGE005
= ((float)
Figure 640205DEST_PATH_IMAGE004
/nIMinBits-1.0)*10;
Figure 710929DEST_PATH_IMAGE002
=
Figure 764335DEST_PATH_IMAGE001
;
Figure 666432DEST_PATH_IMAGE001
=
Figure 147092DEST_PATH_IMAGE001
+
Figure 705113DEST_PATH_IMAGE005
;
Figure 296631DEST_PATH_IMAGE001
= CLIP3(qpMin, qpMax,
Figure 53234DEST_PATH_IMAGE001
);
Figure 970375DEST_PATH_IMAGE003
=
Figure 750112DEST_PATH_IMAGE004
;
使用更新后的量化参数
Figure 145321DEST_PATH_IMAGE001
进行第一次重编;
第一次重编后判断当前I帧的码流大小
Figure 22010DEST_PATH_IMAGE004
是否在[nIMinBits, nIMaxBits]范围内,如在此范内则结束本帧编码,否则更新量化参数并进行第二次重编,参 数更新如下:
nBitsPerQp=(
Figure 844473DEST_PATH_IMAGE004
-
Figure 111506DEST_PATH_IMAGE003
)/(
Figure 310406DEST_PATH_IMAGE001
-
Figure 41602DEST_PATH_IMAGE002
);
if(
Figure 34966DEST_PATH_IMAGE004
>nIMaxBits)
Figure 789295DEST_PATH_IMAGE005
= ((
Figure 526307DEST_PATH_IMAGE004
-nIMaxBits)/nBitsPerQp)+1;
else if(
Figure 49692DEST_PATH_IMAGE004
<nIMinBits)
Figure 541853DEST_PATH_IMAGE005
= ((
Figure 783479DEST_PATH_IMAGE004
-nIMinBits)/nBitsPerQp)-1;
Figure 58602DEST_PATH_IMAGE001
=
Figure 702073DEST_PATH_IMAGE001
+
Figure 99557DEST_PATH_IMAGE005
;
Figure 828478DEST_PATH_IMAGE001
= CLIP3(qpMin, qpMax,
Figure 907293DEST_PATH_IMAGE001
);
更新完上述参数后,进行重编码,重编之后即结束当前帧编码;
(4)P帧编码流程如下:
当前P帧第一次编码时可根据码率控制算法计算出量化参数,使用此值进行编码, 编码完成后判断当前P帧码流大小
Figure 405270DEST_PATH_IMAGE011
是否在[nPMinBits,nPMaxBits]范围内,如在 此范围内则结束本帧编码,否则更新量化参数并进行重编,参数更新如下:
if(
Figure 239234DEST_PATH_IMAGE011
>nPMaxBits)
Figure 189872DEST_PATH_IMAGE005
= ((float)
Figure 72378DEST_PATH_IMAGE011
/nPMaxBits-1.0)*10;
else if(
Figure 424862DEST_PATH_IMAGE011
<nPMinBits)
Figure 432656DEST_PATH_IMAGE005
= ((float)
Figure 870591DEST_PATH_IMAGE011
/nPMinBits-1.0)*10;
Figure 291208DEST_PATH_IMAGE012
=
Figure 763778DEST_PATH_IMAGE001
+
Figure 939544DEST_PATH_IMAGE005
;
更新完上述参数后,进行重编码;
编码完成后则结束当前帧编码。
参照图3,本发明实施例的系统包括:量化参数预测和编码模块,用于根据前一个I帧的目标比特数、前一个I帧码流大小以及前一个I帧的量化参数预测当前I帧目标比特数所对应的量化参数,并根据得到的量化参数对当前I帧进行编码;量化参数调整和重编码模块,用于在当前I帧或P帧编码后比特数不在预设范围内时,根据编码出的比特数对量化参数进行调整,并根据调整后的量化参数对当前I帧或P帧进行重编码。
尽管本文描述了具体实施方案,但是本领域中的普通技术人员将认识到,许多其它修改或另选的实施方案同样处于本公开的范围内。例如,结合特定设备或组件描述的功能和/或处理能力中的任一项可以由任何其它设备或部件来执行。另外,虽然已根据本公开的实施方案描述了各种例示性具体实施和架构,但是本领域中的普通技术人员将认识到,对本文所述的例示性具体实施和架构的许多其它修改也处于本公开的范围内。
上文参考根据示例性实施方案所述的系统、方法、系统和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。
因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机系统或者专用硬件和计算机指令的组合来实现。
本文所述的程序模块、应用程序等可包括一个或多个软件组件,包括例如软件对象、方法、数据结构等。每个此类软件组件可包括计算机可执行指令,所述计算机可执行指令响应于执行而使本文所述的功能的至少一部分(例如,本文所述的例示性方法的一种或多种操作)被执行。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

Claims (7)

1.一种视频编码frame层码流大小的控制方法,其特征在于,包括:
量化参数预测和编码步骤,根据前一个I帧的目标比特数、前一个I帧码流大小以及前一个I帧的量化参数预测当前I帧目标比特数所对应的量化参数,并根据所述量化参数对当前I帧进行编码;
量化参数调整和重编码步骤,若当前I帧或P帧编码后比特数不在预设范围内,则根据编码出的比特数对量化参数进行调整,并根据调整后的量化参数对当前I帧或P帧进行重编码;当对当前P帧编码时,包括:P帧第一次编码时,基于码率控制算法对所述P帧进行编码,所述码率控制算法根据网络环境的优劣或是数据传输能力的强弱来调节码率;
其中,所述量化参数调整步骤包括:确定当前I帧码流大小是否在预设范围内,若否,更新当前I帧的量化参数,包括以下步骤:
Figure 257187DEST_PATH_IMAGE001
>nIMaxBits,则
Figure 745937DEST_PATH_IMAGE002
= (
Figure 748528DEST_PATH_IMAGE001
/nIMaxBits-1.0)*10;
Figure 271913DEST_PATH_IMAGE001
<nIMinBits,则
Figure 498495DEST_PATH_IMAGE002
= (
Figure 740121DEST_PATH_IMAGE001
/nIMinBits-1.0)*10;
其中,
Figure 280824DEST_PATH_IMAGE002
表示中间参数,
Figure 658715DEST_PATH_IMAGE001
表示当前I帧码流大小,nIMaxBits表示I帧最 大比特数,nIMinBits表示I帧最小比特数;
将所述当前I帧的量化参数与所述中间参数相加,得到第一量化参数;
取qpMin、qpMax以及所述第一量化参数的中间值,作为调整后的量化参数;
其中,qpMin、qpMax表示限制量化参数的范围;
其中,所述量化参数调整步骤还包括:确定第一次重编后的当前I帧码流大小是否在预设范围内,若不是,进行第二次重编,包括以下步骤:
计算量化参数调整参数:
nBitsPerQp=(
Figure 324708DEST_PATH_IMAGE003
-
Figure 788050DEST_PATH_IMAGE004
)/(
Figure 132444DEST_PATH_IMAGE005
-
Figure 630421DEST_PATH_IMAGE006
);
其中nBitsPerQp表示调整参数,
Figure 198806DEST_PATH_IMAGE003
表示第一次重编后当前I帧码流大小,
Figure 415023DEST_PATH_IMAGE004
表示当前I帧第一次编码时的码流大小,
Figure 297529DEST_PATH_IMAGE005
表示第一次重编后当前I帧的 量化参数,
Figure 650013DEST_PATH_IMAGE006
表示当前I帧第一次编码时的量化参数;
Figure 389299DEST_PATH_IMAGE003
>nIMaxBits则
Figure 827233DEST_PATH_IMAGE007
= ((
Figure 513429DEST_PATH_IMAGE003
-nIMaxBits)/nBitsPerQp)+1;
Figure 720420DEST_PATH_IMAGE003
<nIMinBits则
Figure 896186DEST_PATH_IMAGE007
= ((
Figure 821417DEST_PATH_IMAGE003
-nIMinBits)/nBitsPerQp)-1;
其中,nIMaxBits表示I帧最大比特数,nIMinBits表示I帧最小比特数,
Figure 45725DEST_PATH_IMAGE007
表示中间 参数;
将所述第一次重编后当前I帧的量化参数与所述中间参数相加,得到第二量化参数;
取qpMin、qpMax以及所述第二量化参数的中间值,作为第二次调整后的量化参数;
其中,qpMin、qpMax表示限制量化参数的范围。
2.根据权利要求1所述的视频编码frame层码流大小的控制方法,其特征在于,所述量化参数预测和编码步骤还包括:
确定当前I帧是否为第一帧,若是则使用默认初始量化参数进行编码。
3.根据权利要求1所述的视频编码frame层码流大小的控制方法,其特征在于,所述量化参数预测步骤包括:
计算当前I帧的量化参数,公式如下:
Figure 372801DEST_PATH_IMAGE008
=
Figure 719469DEST_PATH_IMAGE009
+ (nItargetBits/
Figure 866416DEST_PATH_IMAGE010
-1.0)*10;
其中,
Figure 894415DEST_PATH_IMAGE008
表示当前I帧的量化参数,
Figure 75998DEST_PATH_IMAGE009
表示上一I帧最后一次编码的量化参数, nItargetBits表示前一个I帧目标比特数,
Figure 593567DEST_PATH_IMAGE010
表示前一个I帧码流大小;
更新所述当前I帧的量化参数为qpMin、qpMax以及
Figure 493390DEST_PATH_IMAGE008
的中间值;
其中,qpMin、qpMax表示限制量化参数的范围。
4.根据权利要求1所述的视频编码frame层码流大小的控制方法,其特征在于,所述量化参数调整步骤还包括:
确定第一次编码后的当前P帧码流大小是否在预设范围内,若不是,更新当前P帧的量化参数,包括以下步骤:
Figure 59500DEST_PATH_IMAGE011
>nPMaxBits则
Figure 95589DEST_PATH_IMAGE002
= (
Figure 784060DEST_PATH_IMAGE011
/nPMaxBits-1.0)*10;
Figure 905599DEST_PATH_IMAGE011
<nPMinBits则
Figure 275401DEST_PATH_IMAGE002
= (
Figure 431576DEST_PATH_IMAGE011
/nPMinBits-1.0)*10;
其中,
Figure 290947DEST_PATH_IMAGE002
表示中间参数,
Figure 899783DEST_PATH_IMAGE011
表示当前P帧码流大小,nPMaxBits表示P帧最大 比特数,nPMinBits表示P帧最小比特数;
将所述当前P帧的量化参数与所述中间参数相加,得到更新后的量化参数。
5.根据权利要求1所述的视频编码frame层码流大小的控制方法,其特征在于,所述方法还包括:
设置当前I帧重编码最多次数为2,P帧重编码最多次数为1;
记录当前I帧或P帧重编码次数;
若当前I帧码流大小不在预设范围内,则判断当前I帧重编码次数是否等于2,若是,结束当前I帧的帧编码流程;
若当前P帧码流大小不在预设范围内,则判断当前P帧重编码次数是否等于1,若是,结束当前P帧的帧编码流程。
6.一种视频编码frame层码流大小的控制系统,其特征在于,包括:
量化参数预测和编码模块,用于根据前一个I帧的目标比特数、前一个I帧码流大小以及前一个I帧的量化参数预测当前I帧目标比特数所对应的量化参数,并根据所述量化参数对当前I帧进行编码;
量化参数调整和重编码模块,用于在当前I帧或P帧编码后比特数不在预设范围内时,根据编码出的比特数对量化参数进行调整,并根据调整后的量化参数对当前I帧或P帧进行重编码;当对当前P帧编码时,包括:P帧第一次编码时,基于码率控制算法对所述P帧进行编码,所述码率控制算法根据网络环境的优劣或是数据传输能力的强弱来调节码率;
其中,所述量化参数调整和重编码模块用于:确定当前I帧码流大小是否在预设范围内,若否,更新当前I帧的量化参数,包括以下步骤:
Figure 807696DEST_PATH_IMAGE001
>nIMaxBits,则
Figure 818378DEST_PATH_IMAGE002
= (
Figure 786334DEST_PATH_IMAGE001
/nIMaxBits-1.0)*10;
Figure 941853DEST_PATH_IMAGE001
<nIMinBits,则
Figure 653457DEST_PATH_IMAGE002
= (
Figure 784224DEST_PATH_IMAGE001
/nIMinBits-1.0)*10;
其中,
Figure 923081DEST_PATH_IMAGE002
表示中间参数,
Figure 303247DEST_PATH_IMAGE001
表示当前I帧码流大小,nIMaxBits表示I帧最 大比特数,nIMinBits表示I帧最小比特数;
将所述当前I帧的量化参数与所述中间参数相加,得到第一量化参数;
取qpMin、qpMax以及所述第一量化参数的中间值,作为调整后的量化参数;
其中,qpMin、qpMax表示限制量化参数的范围;
其中,所述量化参数调整和重编码模块还用于:确定第一次重编后的当前I帧码流大小是否在预设范围内,若不是,进行第二次重编,包括以下步骤:
计算量化参数调整参数:
nBitsPerQp=(
Figure 818542DEST_PATH_IMAGE003
-
Figure 803816DEST_PATH_IMAGE004
)/(
Figure 113574DEST_PATH_IMAGE005
-
Figure 981036DEST_PATH_IMAGE006
);
其中nBitsPerQp表示调整参数,
Figure 34443DEST_PATH_IMAGE003
表示第一次重编后当前I帧码流大小,
Figure 874223DEST_PATH_IMAGE004
表示当前I帧第一次编码时的码流大小,
Figure 354883DEST_PATH_IMAGE005
表示第一次重编后当前I帧的 量化参数,
Figure 975220DEST_PATH_IMAGE006
表示当前I帧第一次编码时的量化参数;
Figure 566738DEST_PATH_IMAGE003
>nIMaxBits则
Figure 526604DEST_PATH_IMAGE007
= ((
Figure 178165DEST_PATH_IMAGE003
-nIMaxBits)/nBitsPerQp)+1;
Figure 20219DEST_PATH_IMAGE003
<nIMinBits则
Figure 415428DEST_PATH_IMAGE007
= ((
Figure 229801DEST_PATH_IMAGE003
-nIMinBits)/nBitsPerQp)-1;
其中,nIMaxBits表示I帧最大比特数,nIMinBits表示I帧最小比特数,
Figure 52263DEST_PATH_IMAGE007
表示中间 参数;
将所述第一次重编后当前I帧的量化参数与所述中间参数相加,得到第二量化参数;
取qpMin、qpMax以及所述第二量化参数的中间值,作为第二次调整后的量化参数;
其中,qpMin、qpMax表示限制量化参数的范围。
7.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5中任一项的方法。
CN202110604687.XA 2021-05-31 2021-05-31 视频编码frame层码流大小的控制方法、系统及介质 Active CN113422958B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110604687.XA CN113422958B (zh) 2021-05-31 2021-05-31 视频编码frame层码流大小的控制方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110604687.XA CN113422958B (zh) 2021-05-31 2021-05-31 视频编码frame层码流大小的控制方法、系统及介质

Publications (2)

Publication Number Publication Date
CN113422958A CN113422958A (zh) 2021-09-21
CN113422958B true CN113422958B (zh) 2022-11-08

Family

ID=77713500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110604687.XA Active CN113422958B (zh) 2021-05-31 2021-05-31 视频编码frame层码流大小的控制方法、系统及介质

Country Status (1)

Country Link
CN (1) CN113422958B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877784B (zh) * 2009-04-30 2013-04-03 上海华平软件技术有限公司 一种适用于实时应用的h.264码率控制方法
CN102752598A (zh) * 2012-07-09 2012-10-24 北京博雅华录视听技术研究院有限公司 快速自适应码率控制方法
CN106572352B (zh) * 2016-10-21 2019-09-17 浙江大华技术股份有限公司 一种关键帧大小控制方法及装置
US20180324439A1 (en) * 2017-05-08 2018-11-08 Mediatek Inc. Method and apparatus for adaptive video encoding
CN110139168B (zh) * 2018-02-02 2021-07-13 中南大学 视频编码方法、装置、计算机设备及存储介质
CN112788335B (zh) * 2020-12-28 2023-03-10 平行云科技(北京)有限公司 一种适用于实时视频传输的h.264帧级码率控制方法

Also Published As

Publication number Publication date
CN113422958A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
US8798144B2 (en) System and method for determining encoding parameters
CN108012149B (zh) 一种视频编码中码率控制的方法
CN104394484A (zh) 一种无线实时流媒体传输方法
US8654840B2 (en) Rate control method of perceptual-based rate-distortion optimized bit allocation
CN111556318B (zh) 数据传输方法及装置
JP2009530892A (ja) ビデオ画像シーケンスの時間的頻度を適合させる方法および装置
US10536696B2 (en) Image encoding device and image encoding method
CN101755459A (zh) 用于自适应地确定用于采集的ⅰ帧及平衡基本层与增强层的系统及方法
JP2894067B2 (ja) 動画像符号化制御方法および動画像符号化装置
CN116208771A (zh) 视频码率调整方法、装置及设备
CN113422958B (zh) 视频编码frame层码流大小的控制方法、系统及介质
CN102547259A (zh) 一种基于码率控制的视频编码方法和装置
CN112929700A (zh) 一种基于云手机的视频流动态切换方法
US8331437B2 (en) Coding apparatus, coding method, coding program and recording medium
CN102893605B (zh) 码量控制方法及装置
CN105049853A (zh) 一种基于片源分析的sao编码方法及系统
CN104506453B (zh) 一种面向用户体验质量的码率分配方法
CN104023236B (zh) 一种色度均衡量化参数调整方法及系统
WO2023103200A1 (zh) 视频码率控制方法及装置、计算机可读存储介质
CN107659601A (zh) 一种基于http自适应流的码率自适应方法
US20090237569A1 (en) Transcoder
CN110875906A (zh) 一种图像恢复方法及编码端
CN105323592A (zh) 一种码率控制方法及装置
CN114501014A (zh) 一种视频编码参数处理方法、系统、设备及存储介质
CN103517067B (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