CN109729354A - 一种帧级码率分配方法 - Google Patents
一种帧级码率分配方法 Download PDFInfo
- Publication number
- CN109729354A CN109729354A CN201811362701.4A CN201811362701A CN109729354A CN 109729354 A CN109729354 A CN 109729354A CN 201811362701 A CN201811362701 A CN 201811362701A CN 109729354 A CN109729354 A CN 109729354A
- Authority
- CN
- China
- Prior art keywords
- code rate
- control unit
- length
- rate control
- group
- 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.)
- Pending
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了一种帧级码率分配方法,该方法中根据实际的需求确定第一码率控制单元数据帧的长度,并确定第一码率控制单元的第一目标码率,然后根据前一码率控制单元数据帧的实际码率与其第二目标码率的第一差值对第一目标码率进行调整后,根据调整后的第一目标码率对第一码率控制单元数据帧进行编码。这样可以灵活地设置第一码率控制单元数据帧的长度,能满足对任何时长的码率特别是短时码率平稳性的要求。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种帧级码率分配方法。
背景技术
在视频传输过程中,需要视频发送端先对视频数据进行编码,然后再 将编码后的视频数据发送出去。其中对视频数据进行编码时,需要视频发 送端先分配编码码率,然后根据编码码率对视频数据进行编码。
以视频帧组为帧级码率控制单元的码率控制算法:首先为一个视频帧 组分配码率,然后在每帧编码前为当前帧分配码率,最终目标是使得一个 视频帧组的实际码率接近为该视频帧组分配的码率,其存在的缺陷是:当 视频帧组比较大时,虽然序列整体码率可达到目标码率,但短时码率平稳 性较差。例如,I帧间隔4s时,如果以视频帧组为帧级码率控制单元,每秒 码率波动非常大。
发明内容
本发明实施例提供一种帧级码率分配方法,实现了根据第二码率控制 单元数据帧的实际码率与其第二目标码率的第一差值对第一码率控制单元 数据帧的第一目标码率进行调整。
本发明实施例第一方面提供一种帧级码率分配方法,包括:
设置目标视频的码率平稳性时间段长度,对于实时视频通话,设置目 标视频的码率平稳性时间段长度为预设时间长度,对于非实时视频,设置 码率平稳性时间段长度为0;
基于所述目标视频的码率平稳性时间段长度确定目标视频中当前的第 一码率控制单元数据帧的长度,所述第一码率控制单元数据帧的长度小于 或等于一组视频帧组的长度;
根据所述第一码率控制单元数据帧的长度,目标码率及所述目标视频 的帧率确定所述第一码率控制单元数据帧的第一目标码率;
当第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值 大于零,根据所述第一差值对所述第一目标码率进行调整,所述第二码率 控制单元数据帧是所述目标视频中第一码率控制单元的前一码率控制单元 的数据帧;
根据所述调整后的第一目标码率对所述第一码率控制单元数据帧进行 编码。
优选地,所述确定目标视频中当前的第一码率控制单元数据帧的长度, 具体包括:
设置所述目标视频的码率平稳性时间段长度,如果所述码率平稳性时 间段长度所包括的数据帧个数大于或等于所述一组视频帧组的长度,则确 定所述第一码率控制单元数据帧的长度为一组视频帧组的长度;
如果所述码率平稳性时间段长度所包括的数据帧个数小于所述一组视 频帧组的长度,则如果所述一组视频帧组的长度是所述数据帧个数的整数 倍,或者所述一组视频帧组的长度不是所述数据帧个数的整数倍,且所述 第一码率控制单元数据帧非所述一组视频帧组包括的最后一个码率控制单 元数据帧,则将所述码率平稳性时间段长度所包括的数据帧个数确定为所 述第一码率控制单元数据帧的长度;否则,
如果所述一组视频帧组的长度不是所述数据帧个数的整数倍,且所述 第一码率控制单元数据帧是所述一组视频帧组包括的最后一个码率控制单 元数据帧,确定所述第一码率控制单元数据帧的长度为一组视频帧组的长 度与所述一组视频帧组中除所述第一码率控制单元数据帧之外的其它码率 控制单元数据帧的长度的差值。
优选地,如果所述一组视频帧组的长度不是所述数据帧个数的整数倍, 且所述一组视频帧组中最后两个码率控制单元数据帧按照顺序依次为所述 第一码率控制单元数据帧和第三码率控制单元数据帧,则所述方法还包括:
如果所述一组视频帧组的长度与第四码率控制单元数据帧的长度的第 三差值为2的整数倍,确定所述第一码率控制单元数据帧的长度与第三码率 控制单元数据帧的长度相同,都为所述第三差值的一半;所述第四码率控 制单元数据帧是所述一组视频帧组中除所述第一码率控制单元数据帧及第 三码率控制单元数据帧之外的其它码率控制单元数据帧;
如果所述一组视频帧组的长度与第四码率控制单元数据帧的长度的第 三差值不是2的整数倍,确定所述第一码率控制单元数据帧的长度为所述第 三差值加1后对2的商,所述第三码率控制单元数据帧的长度为所述第三差 值减1后对2的商。
优选地,根据所述第一码率控制单元数据帧的长度,目标码率及所述 目标视频的帧率确定所述第一码率控制单元数据帧的第一目标码率,具体 包括:
确定所述第一目标码率为所述目标码率与所述第一帧码率控制单元数 据帧的长度的乘积,再与所述目标视频的帧率的商值。
优选地,所述根据所述第一差值对所述第一目标码率进行调整,具体 包括:
如果所述第一差值大于零,且小于或等于预置的差值,则将第一目标 码率减去所述第一差值得到调整后的第一目标码率;
如果所述第一差值大于所述预置的差值,计算所述第一差值与所述预 置的差值的第二差值的加权值;将所述第一目标码率减去所述预置的差值, 再减去所述加权值得到调整后的第一目标码率。
优选地,所述根据所述第一差值对所述第一目标码率进行调整之前, 所述方法还包括:确定所述预置的差值为所述第一码率控制单元数据帧的 长度与平均每帧最低码率的乘积。
根据本发明,数据发送端每次对一个码率控制单元(比如第一码率控 制单元)数据帧进行编码时,都会根据实际的需求确定当前的第一码率控 制单元数据帧的长度,并确定第一码率控制单元的第一目标码率,然后根 据前一码率控制单元(即第二码率控制单元)数据帧的实际码率与其第二 目标码率的第一差值对第一目标码率进行调整后,根据调整后的第一目标 码率对第一码率控制单元数据帧进行编码。这样,可以灵活地设置第一码率控制单元数据帧的长度,比如小于或等于一组视频帧组的长度,并通过 对前一码率控制单元数据帧的实际编码情况对第一目标码率进行调整,使 得最终根据调整后第一目标码率对第一码率控制单元进行编码后,可以满 足对任何时长的码率特别是短时码率平稳性的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员 来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的 附图。
图1是本发明一个实施例提供的一种数据编码的方法流程图。
图2是本发明一个实施例提供的一种数据编码的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进 行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没 有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的 范围。
视频帧组视频帧组视频帧组本发明实施例提供一种帧级码率分配方 法,主要是上述的数据发送端所执行的方法,流程图如图1所示,包括:
步骤101,设置目标视频的码率平稳性时间段长度,对于实时视频通话, 设置目标视频的码率平稳性时间段长度为预设时间长度(例如1秒或2秒), 对于非实时视频,设置码率平稳性时间段长度为0。
步骤102,确定目标视频中当前的第一码率控制单元数据帧的长度,第 一码率控制单元数据帧的长度为小于或等于一组视频帧组的长度。
数据发送端在将目标视频发送给数据接收端之前,需要先对目标视频 进行编码,一般是以一个码率控制单元数据帧为基本单位对目标视频所包 括的多个码率控制单元进行逐个编码,具体地,先为一个码率控制单元数 据帧确定一个目标码率,使得该码率控制单元数据帧的实际码率接近为该 码率控制单元数据帧的目标码率。其中,一个码率控制单元数据帧的码率 是指该码率控制单元数据帧所包括的数据总量。
目标视频是由多组视频帧组组成的,每一组视频帧组都包括I帧,P帧和 B帧。其中,第一个数据帧为I帧,为关键帧,该组视频帧组的主要信息都 集中在I帧;P帧为差别帧,表示该帧与之前的一个关键帧的差别;B帧为双 向差别帧,表示该帧与前后帧之间的差别。则一组视频帧组的长度可以用I 帧间隔来表示,具体可以为n个数据帧。
在本实施例中,数据发送端确定的第一码率控制单元数据帧的长度可 能小于一组视频帧组的长度,具体可以为具有码率平稳需求的短时时长(比 如1秒或2秒)所包括的数据帧个数,这样一组视频帧组就可以被划分为多 个码率控制单元数据帧。
例如,对于实时视频通话,对短时码率的平稳性要求比较高,则当目 标视频为实时通话的视频数据时,可以将第一码率控制单元数据帧的长度 确定为码率平稳性需求的时长所包括的数据帧个数。
步骤103,根据第一码率控制单元数据帧的长度,目标码率及目标视频 的帧率(即每秒包括的数据帧个数)确定第一码率控制单元数据帧的第一 目标码率。
具体地,可以确定第一目标码率为目标码率与第一码率控制单元数据 帧的长度的乘积,再与目标视频的帧率的商值。
步骤104,如果第二码率控制单元数据帧的实际码率与其第二目标码率 的第一差值大于零,根据第一差值对第一目标码率进行调整,这里,第二 码率控制单元数据帧是目标视频中第一码率控制单元的前一码率控制单元 的数据帧。
可以理解,如果第二码率控制单元数据帧的实际码率超过第二目标码 率,则数据发送端可以适当地减少该第一码率控制单元数据帧的第一目标 码率,具体减少量可以根据第二码率控制单元的实际码率与其第二目标码 率的第一差值来确定。其中,第二码率控制单元数据帧的实际码率是指数 据发送端按照第二目标码率对第二码率控制单元数据帧进行编码后,第二 码率控制单元数据帧所包括的实际数据总量。
具体地,如果该第一差值大于零,且小于或等于预置的差值,则将上 述步骤102得到的第一目标码率减去第一差值得到调整后的第一目标码率。 如果该第一差值大于预置的差值,计算第一差值与预置的差值的第二差值 的加权值;然后将第一目标码率减去预置的差值,再减去加权值得到调整 后的第一目标码率。
其中,预置的差值可以是设置在数据发送端的固定值,也可以是随着 第一码率控制单元数据帧的长度的变化而改变的值。具体地,在执行本步 骤103之前,数据发送端可以先确定预置的差值为平均每帧最低码率与第一 码率控制单元数据帧的长度的乘积。
步骤105,根据上述步骤104调整后的第一目标码率对第一码率控制单 元数据帧进行编码,使得第一码率控制单元数据帧的实际码率接近该第一 目标码率。
进一步地,如果上述第一差值小于或等于零,即第二码率控制单元数 据帧的实际码率小于或等于其第二目标码率,则数据发送端不会对上述步 骤102确定的第一目标码率进行调整,直接按照该第一目标码率对第一码率 控制单元数据帧进行编码。
这样,通过上述步骤可以随时根据实际情况改变一个码率控制单元(比 如第一码率控制单元)数据帧的长度,并根据调整后的第一目标码率,对 该第一码率控制单元数据帧进行编码。
可见,在本实施例的方法中,数据发送端每次对一个码率控制单元(比 如第一码率控制单元)数据帧进行编码时,都会根据实际的需求确定当前 的第一码率控制单元数据帧的长度,并确定第一码率控制单元的第一目标 码率,然后根据前一码率控制单元(即第二码率控制单元)数据帧的实际 码率与其第二目标码率的第一差值对第一目标码率进行调整后,根据调整 后的第一目标码率对第一码率控制单元数据帧进行编码。这样,可以灵活 地设置第一码率控制单元数据帧的长度,比如小于或等于一组视频帧组的 长度,并通过对前一码率控制单元数据帧的实际编码情况对第一目标码率 进行调整,使得最终根据调整后第一目标码率对第一码率控制单元进行编 码后,可以满足对任何时长的码率特别是短时码率平稳性的要求。
参考图2所示,在一个具体的实施例中,数据发送端在执行上述步骤102 时,可以通过如下步骤来实现:
步骤201,设置目标视频的码率平稳性时间段长度,如果码率平稳性时 间段长度所包括的数据帧个数m大于或等于一组视频帧组的长度,则执行步 骤202。
如果码率平稳性时间段长度所包括的数据帧个数m小于一组视频帧组 的长度,则在有些情况下,数据发送端执行步骤203,在另一种情况下,数 据发送端执行步骤204,在另外一些情况下,数据发送端则执行步骤205或 206。
这里的码率平稳性时间段长度是指对码率的平稳性要求比较高的一段 时间,可以根据目标视频的具体应用来设置,比如对于有些实时视频数据, 码率平稳性时间段长度可以是1秒或2秒,而对于有些非实时视频数据,对 短时码率的平稳性要求不高,可以不用设置码率平稳性时间段长度,直接 将第一码率控制单元数据帧的长度确定为一组视频帧组的长度。
其中,码率平稳性时间段长度所包括的数据帧个数m可以根据码率平稳 性时间段长度与目标视频的帧率得到,具体为码率平稳性时间段长度与目 标视频的帧率的乘积。
步骤202,确定第一码率控制单元数据帧的长度为一组视频帧组的长 度。
步骤203,如果一组视频帧组的长度是上述确定的数据帧个数m的整数 倍;或者一组视频帧组的长度不是上述数据帧个数m的整数倍,且第一码率 控制单元数据帧非一组视频帧组包括的最后一个码率控制单元数据帧,则 将码率平稳性时间段长度所包括的数据帧个数m确定为第一码率控制单元 数据帧的长度。
需要说明的是,由于目标视频是由多组视频帧组组成的,则如果码率 控制单元数据帧的长度为上述确定的数据帧个数m,该m小于一组视频帧组 的长度,则每组视频帧组都可以被划分为多个码率控制单元数据帧,这样 可能会出现一组视频帧组所包括的最后一个码率控制单元数据帧的长度小 于上述码率平稳性时间段长度所包括的数据帧个数m。
具体地,如果一组视频帧组的长度不是上述码率平稳性时间段长度所 包括的数据帧个数m的整数倍,且第一码率控制单元数据帧为一组视频帧组 包括的最后一个码率控制单元数据帧,则数据发送端会执行步骤204。
步骤204,确定第一码率控制单元数据帧的长度为一组视频帧组的长度 与该组视频帧组中除第一码率控制单元数据帧之外的其它码率控制单元数 据帧的长度的差值。其中,该组视频帧组中除第一码率控制单元数据帧之 外的其它每个码率控制单元数据帧的长度都可以为上述确定的数据帧个数 m。
在其它情况下,如果一组视频帧组的长度不是上述确定的数据帧个数m 的整数倍,且一组视频帧组中最后两个码率控制单元数据帧按照顺序依次 为第一码率控制单元数据帧和第三码率控制单元数据帧,即第一码率控制 单元数据帧为第三码率控制单元数据帧的前一码率控制单元数据帧,数据 发送端可以通过如下步骤205或206来确定第一码率控制单元数据帧的长 度:
步骤205,如果一组视频帧组的长度与第四码率控制单元数据帧的长度 的第三差值为2的整数倍,确定第一码率控制单元数据帧的长度与第三码率 控制单元数据帧的长度相同,都为该第三差值的一半。
其中,第四码率控制单元数据帧是一组视频帧组中除第一码率控制单 元数据帧及第三码率控制单元数据帧之外的其它码率控制单元数据帧。
步骤206,如果第一码率控制单元数据帧的长度与第四码率控制单元数 据帧的长度的第三差值不是2的整数倍,确定第一码率控制单元数据帧的长 度为第三差值加1后对2的商,第三码率控制单元数据帧的长度为第三差值 减1后对2的商。
以下以一个具体的实施例来说明本发明的帧级码率分配方法,本实施 例的方法主要应用于客户端的视频通话场景,则数据发送端为客户端,目 标视频为待传输的视频数据。在本实施例中:
在具体应用中,用户通过本端客户端在发起与对端客户端的视频通话 后,本端客户端收集本端的视频数据,该视频数据包括多组视频帧组。本 端客户端先对收集的视频数据进行编码,然后将编码后的视频数据发送给 对端客户端。在本端客户端对视频数据进行编码的过程中,可以通过如下 步骤来实现,包括:
步骤301,客户端确定待传输的视频数据中当前的第一码率控制单元数 据帧的长度,记为Frame_Unit。
具体地,客户端会先根据待传输的视频数据,设置一个码率平稳性时 间段长度,由于待传输的视频数据是实时视频数据,则可以设置对应的码 率平稳性时间段长度为1秒或2秒;然后再根据视频数据的帧率确定该码率 平稳性时间段长度所包括的数据帧个数m。
(1)如果确定的数据帧个数m大于或等于待传输的视频数据中一组视 频帧组的长度,记为GOP_size,则将第一码率控制单元数据帧的长度确 定为一组视频帧组的长度,即Frame_Unit=GOP_size。
(2)如果确定的数据帧个数m小于待传输的视频数据中一组视频帧组 的长度,在有些情况下,如果一组视频帧组的长度是数据帧个数m的整数倍, 或者一组视频帧组的长度不是数据帧个数m的整数倍,且第一码率控制单元 数据帧非一组视频帧组包括的最后一个码率控制单元数据帧,则将第一码 率控制单元数据帧的长度确定为确定的数据帧个数m,这时, Frame_Unit=m<GOP_size。
(3)如果确定的数据帧个数m小于待传输的视频数据中一组视频帧组 的长度,在另一种情况下,如果一组视频帧组的长度不是上述确定的数据 帧个数m的整数倍,且第一码率控制单元数据帧是一组视频帧组所包括的最 后一个码率控制单元数据帧,则客户端确定第一码率控制单元数据帧的长 度为一组视频帧组的长度与一组视频帧组中除第一码率控制单元数据帧之 外的其它码率控制单元数据帧的长度的差值。即Frame_Unit=GOP_size-tm,t为一组视频帧组所包括的其它码率控制 单元数据帧的个数,其它码率控制单元数据帧的长度都为m。
(4)如果确定的数据帧个数m小于待传输的视频数据中一组视频帧组 的长度,在其它情况下,如果一组视频帧组的长度不是上述确定的数据帧 个数m的整数倍,且一组视频帧组中最后两个码率控制单元数据帧按照顺序 依次为第一码率控制单元数据帧和第三码率控制单元数据帧,客户端在确 定第一码率控制单元数据帧的长度时可以有如下几种情况:
具体地,假设一组视频帧组划分为的多个码率控制单元数据帧分别记 为FU1,FU2,...,FUn-1,FUn,其中,第一码率控制单元数据帧和第三码 率控制单元数据帧为别记为FUn-1,FUn,则:
(41)如果一组视频帧组的长度与第四码率控制单元数据帧的长度的 第三差值为2的整数倍,其中,第四码率控制单元数据帧是一组视频帧组中 除第一码率控制单元数据帧及第三码率控制单元数据帧之外的其它码率控 制单元数据帧,即FU1,FU2,...,FUn-2,客户端确定第一码率控制单元数 据帧FUn-1的长度与第三码率控制单元数据帧FUn的长度相同,都为第三 差值的一半,即为:
(42)如果一组视频帧组的长度与第四码率控制单元数据帧的长度的 第三差值为2的整数倍,确定第一码率控制单元数据帧的长度为第三差值加 1后对2的商,第三码率控制单元数据帧的长度为第三差值减1后对2的商。 即:
(43)如果一组视频帧组的长度与第四码率控制单元数据帧的长度的 第三差值再减去上述确定的数据帧个数m之后还大于上述确定的数据帧个 数m的一半,即GOP_size-(lFU1+lFU2+......+lFUn-2)-m>m/2,但小于 上述确定的数据帧个数m,客户端可以不用按照上述(41)或(42)中的方 式确定第一码率控制单元数据帧的长度,而是确定第一码率控制单元数据 帧的长度为m,第三码率控制单元数据帧的长度为GOP_size-tm。
需要说明的是,上述公式中lFUi表示一个码率控制单元数据帧FUi的 长度,其中i为1到n之间的任一自然数。
(5)在其它情况下,如果根据实际应用,比如非实时视频数据,对短 时码率的平稳性的要求不高,则不需要设置码率平稳性时间段长度。在这 种情况下,可以直接确定第一码率控制单元数据帧的长度为一组视频帧组 的长度,即Frame_Unit=GOP_size。
步骤302,客户端确定第一码率控制单元数据帧的第一目标码率(记为Bit′T arget_i)具体为目标码率(记为BitRateT arget)与上述步骤301确定的第 一码率控制单元数据帧的长度的乘积,再与视频数据的帧率(记为fps)的 商值。即为:
步骤303,如果第二码率控制单元数据帧的实际码率小于或等于第二目 标码率,则直接将上述步骤302确定的第一目标码率作为对第一码率控制单 元数据帧进行编码的码率。
步骤304,客户端根据第一码率控制单元的前一码率控制单元(即第二 码率控制单元)数据帧的实际码率(记为BitReal_i-1)与其第二目标码率(记 为BitT arget_i-1)的第一差值,对第一目标码率进行调整。
(1)如果第二码率控制单元数据帧的实际码率大于第二目标码率,且 第一差值未超过预置的差值(记为THBit),则将第一目标码率减去该第一 差值得到调整后的第一目标码率,记为BitT arget_i。
(2)如果第一差值超过预置的差值,则将第一目标码率减去预置的差 值,再减去一个加权值得到调整后的第一目标码率,其中,加权值为第一 差值与预置的差值的第二差值的加权值。即:
其中,γ为上述第二差值的加权系数,可以大于或等于零且小于1,且预置 的差值THBit是可以随着第一码率控制单元数据帧的长度的变化而改变的, 具体地:
THBit=THBit_frame*Frame_Unit,其中,THBit_frame为平均每帧最 低码率。
步骤305,客户端根据调整后的第一目标码率对第一码率控制单元数据 帧进行编码。
这样客户端重复执行上述步骤301到305,直到对待传输的视频数据包 括的所有码率控制单元数据帧进行编码。
以上对本发明实施例所提供的帧级码率分配方法进行了详细介绍,本 文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例 的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域 的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会 有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种帧级码率分配方法,其特征在于,包括:
设置目标视频的码率平稳性时间段长度,对于实时视频通话,设置目标视频的码率平稳性时间段长度为预设时间长度,对于非实时视频,设置码率平稳性时间段长度为0;
基于所述目标视频的码率平稳性时间段长度确定目标视频中当前的第一码率控制单元数据帧的长度,所述第一码率控制单元数据帧的长度小于或等于一组视频帧组的长度;
根据所述第一码率控制单元数据帧的长度,目标码率及所述目标视频的帧率确定所述第一码率控制单元数据帧的第一目标码率;
当第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值大于零,根据所述第一差值对所述第一目标码率进行调整,所述第二码率控制单元数据帧是所述目标视频中第一码率控制单元的前一码率控制单元的数据帧;
根据所述调整后的第一目标码率对所述第一码率控制单元数据帧进行编码。
2.如权利要求1所述的方法,其特征在于,所述确定目标视频中当前的第一码率控制单元数据帧的长度,具体包括:
设置所述目标视频的码率平稳性时间段长度,如果所述码率平稳性时间段长度所包括的数据帧个数大于或等于所述一组视频帧组的长度,则确定所述第一码率控制单元数据帧的长度为一组视频帧组的长度;
如果所述码率平稳性时间段长度所包括的数据帧个数小于所述一组视频帧组的长度,则如果所述一组视频帧组的长度是所述数据帧个数的整数倍,或者所述一组视频帧组的长度不是所述数据帧个数的整数倍,且所述第一码率控制单元数据帧非所述一组视频帧组包括的最后一个码率控制单元数据帧,则将所述码率平稳性时间段长度所包括的数据帧个数确定为所述第一码率控制单元数据帧的长度;否则,
如果所述一组视频帧组的长度不是所述数据帧个数的整数倍,且所述第一码率控制单元数据帧是所述一组视频帧组包括的最后一个码率控制单元数据帧,确定所述第一码率控制单元数据帧的长度为一组视频帧组的长度与所述一组视频帧组中除所述第一码率控制单元数据帧之外的其它码率控制单元数据帧的长度的差值。
3.如权利要求2所述的方法,其特征在于,如果所述一组视频帧组的长度不是所述数据帧个数的整数倍,且所述一组视频帧组中最后两个码率控制单元数据帧按照顺序依次为所述第一码率控制单元数据帧和第三码率控制单元数据帧,则所述方法还包括:
如果所述一组视频帧组的长度与第四码率控制单元数据帧的长度的第三差值为2的整数倍,确定所述第一码率控制单元数据帧的长度与第三码率控制单元数据帧的长度相同,都为所述第三差值的一半;所述第四码率控制单元数据帧是所述一组视频帧组中除所述第一码率控制单元数据帧及第三码率控制单元数据帧之外的其它码率控制单元数据帧;
如果所述一组视频帧组的长度与第四码率控制单元数据帧的长度的第三差值不是2的整数倍,确定所述第一码率控制单元数据帧的长度为所述第三差值加1后对2的商,所述第三码率控制单元数据帧的长度为所述第三差值减1后对2的商。
4.如权利要求1至3任一项所述的方法,其特征在于,根据所述第一码率控制单元数据帧的长度,目标码率及所述目标视频的帧率确定所述第一码率控制单元数据帧的第一目标码率,具体包括:
确定所述第一目标码率为所述目标码率与所述第一帧码率控制单元数据帧的长度的乘积,再与所述目标视频的帧率的商值。
5.如权利要求1至3任一项所述的方法,其特征在于,所述根据所述第一差值对所述第一目标码率进行调整,具体包括:
如果所述第一差值大于零,且小于或等于预置的差值,则将第一目标码率减去所述第一差值得到调整后的第一目标码率;
如果所述第一差值大于所述预置的差值,计算所述第一差值与所述预置的差值的第二差值的加权值;将所述第一目标码率减去所述预置的差值,再减去所述加权值得到调整后的第一目标码率。
6.如权利要求5所述的方法,其特征在于,所述根据所述第一差值对所述第一目标码率进行调整之前,所述方法还包括:确定所述预置的差值为所述第一码率控制单元数据帧的长度与平均每帧最低码率的乘积。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811362701.4A CN109729354A (zh) | 2018-11-16 | 2018-11-16 | 一种帧级码率分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811362701.4A CN109729354A (zh) | 2018-11-16 | 2018-11-16 | 一种帧级码率分配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109729354A true CN109729354A (zh) | 2019-05-07 |
Family
ID=66295761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811362701.4A Pending CN109729354A (zh) | 2018-11-16 | 2018-11-16 | 一种帧级码率分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109729354A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565834A (zh) * | 2021-02-24 | 2021-03-26 | 北京创世云科技股份有限公司 | 一种控制输出数据的方法、装置及电子设备 |
-
2018
- 2018-11-16 CN CN201811362701.4A patent/CN109729354A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565834A (zh) * | 2021-02-24 | 2021-03-26 | 北京创世云科技股份有限公司 | 一种控制输出数据的方法、装置及电子设备 |
CN112565834B (zh) * | 2021-02-24 | 2021-05-11 | 北京创世云科技股份有限公司 | 一种控制输出数据的方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107623851B (zh) | 视频码流传输控制装置及控制方法 | |
CN1726709B (zh) | 用于对未压缩数字视频序列的图像进行编码的方法和装置 | |
CN101185337B (zh) | 具有预见的准恒定质量速率控制 | |
CA2268408C (en) | Adaptive rate control for digital video compression | |
CN105163134B (zh) | 直播视频的视频编码参数设置方法、装置及视频编码设备 | |
CN102334341B (zh) | 用于控制媒体流的编码的系统及方法 | |
EP2589223B1 (en) | Video streaming | |
WO2018113191A1 (zh) | 一种码率控制方法及装置 | |
CN109862359A (zh) | 基于分层b帧的码率控制方法、装置和电子设备 | |
CN106162214B (zh) | 视频编码方法及视频直播客户端 | |
NO20075123L (no) | Sammenhengtilpasset bandbreddejustering i videoratekontroll | |
CN109743600A (zh) | 基于可穿戴的现场运维自适应视频流传输速率控制方法 | |
WO2012028856A1 (en) | Adaptive streaming of video at different quality levels | |
CN110266714A (zh) | 一种QoE驱动下的VR视频自适应采集与传输方法 | |
WO2010067050A1 (en) | Multiplexed video streaming | |
JP5507770B2 (ja) | ビデオ符号化の方法、装置、プログラム及び記録媒体 | |
CN102724502B (zh) | 一种视频编码中码率的控制方法及装置 | |
CN109660801A (zh) | 对量化参数进行限制的视频编码方法 | |
CN109729354A (zh) | 一种帧级码率分配方法 | |
CN106572352A (zh) | 一种关键帧大小控制方法及装置 | |
CN109218724A (zh) | 一种数据编码方法、装置及存储设备和终端设备 | |
CN112788335B (zh) | 一种适用于实时视频传输的h.264帧级码率控制方法 | |
CN109769125A (zh) | 流媒体码率的动态调整方法、媒体服务器及转码服务器 | |
CN105898303A (zh) | 码率控制方法及装置 | |
CN114071142A (zh) | 一种基于硬件编码器的码率控制方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190507 |
|
WD01 | Invention patent application deemed withdrawn after publication |