CN109218724B - 一种数据编码方法、装置及存储设备和终端设备 - Google Patents

一种数据编码方法、装置及存储设备和终端设备 Download PDF

Info

Publication number
CN109218724B
CN109218724B CN201710544962.7A CN201710544962A CN109218724B CN 109218724 B CN109218724 B CN 109218724B CN 201710544962 A CN201710544962 A CN 201710544962A CN 109218724 B CN109218724 B CN 109218724B
Authority
CN
China
Prior art keywords
code rate
control unit
rate control
length
data
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
CN201710544962.7A
Other languages
English (en)
Other versions
CN109218724A (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 CN201710544962.7A priority Critical patent/CN109218724B/zh
Priority to EP18827343.7A priority patent/EP3651464B1/en
Priority to PCT/CN2018/086681 priority patent/WO2019007149A1/zh
Priority to KR1020197029189A priority patent/KR102306485B1/ko
Priority to JP2019554773A priority patent/JP6909308B2/ja
Publication of CN109218724A publication Critical patent/CN109218724A/zh
Priority to US16/400,334 priority patent/US11363263B2/en
Application granted granted Critical
Publication of CN109218724B publication Critical patent/CN109218724B/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/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/115Selection of the code volume for a coding unit prior to coding
    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/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
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/177Methods 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 a group of pictures [GOP]

Landscapes

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

Abstract

本发明实施例公开了数据编码方法、装置及存储设备和终端设备,应用于信息处理技术领域。在本实施例的方法中,数据发送端根据实际的需求确定第一码率控制单元数据帧的长度,并确定第一码率控制单元的第一目标码率,然后根据前一码率控制单元(即第二码率控制单元)数据帧的实际码率与其第二目标码率的第一差值对第一目标码率进行调整后,根据调整后的第一目标码率对第一码率控制单元数据帧进行编码。这样可以灵活地设置第一码率控制单元数据帧的长度,并通过对前一码率控制单元数据帧的实际编码情况对第一目标码率进行调整,使得最终根据调整后第一目标码率对第一码率控制单元进行编码后,能满足对任何时长的码率特别是短时码率平稳性的要求。

Description

一种数据编码方法、装置及存储设备和终端设备
技术领域
本发明涉及信息处理技术领域,特别涉及一种数据编码方法、装置及存储设备和终端设备。
背景技术
在视频传输过程中,需要视频发送端先对视频数据进行编码,然后再将编码后的视频数据发送出去。其中对视频数据进行编码时,需要视频发送端先分配编码码率,然后根据编码码率对视频数据进行编码。
在现有技术中,视频发送端会以一组图片(Group of Picture,GOP)视频帧为码率控制单元,先为每个GOP视频帧分配码率,然后在对每帧视频数据进行编码前为当前帧的视频数据分配码率,最终使得一个GOP视频帧的实际码率接近为该GOP视频帧分配的码率。但是,当一个GOP视频帧比较大时,虽然该GOP视频帧的整体码率可达到目标码率,但没有考虑到短时码率的平稳性。
发明内容
本发明实施例提供一种数据编码方法、装置及存储设备和终端设备,实现了根据第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值对第一码率控制单元数据帧的第一目标码率进行调整。
本发明实施例第一方面提供一种数据编码方法,包括:
确定待传输数据中当前的第一码率控制单元数据帧的长度,所述第一码率控制单元数据帧的长度小于或等于一组图片GOP数据帧的长度;
根据所述第一码率控制单元数据帧的长度,所述待传输数据的目标码率及所述待传输数据的帧率确定所述第一码率控制单元数据帧的第一目标码率;
当第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值大于零,根据所述第一差值对所述第一目标码率进行调整,所述第二码率控制单元数据帧是所述待传输数据中第一码率控制单元的前一码率控制单元数据帧;
根据所述调整后的第一目标码率对所述第一码率控制单元数据帧进行编码。
本发明实施例第二方面提供一种数据编码装置,包括:
长度确定单元,用于确定待传输数据中当前的第一码率控制单元数据帧的长度,所述第一码率控制单元数据帧的长度小于或等于一组图片GOP数据帧的长度;
码率确定单元,用于根据所述第一码率控制单元数据帧的长度,待传输数据的目标码率及所述待传输数据的帧率确定所述第一码率控制单元数据帧的第一目标码率;
调整单元,用于当第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值大于零,根据所述第一差值对所述第一目标码率进行调整,所述第二码率控制单元数据帧是所述待传输数据中第一码率控制单元的前一码率控制单元数据帧;
编码单元,用于根据所述调整后的第一目标码率对所述第一码率控制单元数据帧进行编码。
本发明实施例第三方面提供一种存储设备,所述存储设备储存多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面所述的数据编码方法。
本发明实施例第四方面提供一种终端设备,包括处理器和存储设备,所述处理器,用于实现各个指令;
所述存储设备用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的数据编码方法。
可见,在本实施例的方法中,数据发送端每次对一个码率控制单元(比如第一码率控制单元)数据帧进行编码时,都会根据实际的需求确定当前的第一码率控制单元数据帧的长度,并确定第一码率控制单元的第一目标码率,然后根据前一码率控制单元(即第二码率控制单元)数据帧的实际码率与其第二目标码率的第一差值对第一目标码率进行调整后,根据调整后的第一目标码率对第一码率控制单元数据帧进行编码。这样,可以灵活地设置第一码率控制单元数据帧的长度,比如小于或等于一组图片GOP数据帧的长度,并通过对前一码率控制单元数据帧的实际编码情况对第一目标码率进行调整,使得最终根据调整后第一目标码率对第一码率控制单元进行编码后,可以满足对任何时长的码率特别是短时码率平稳性的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种数据编码的方法流程图;
图2是本发明一个实施例中数据发送端确定第一码率控制单元数据帧的长度的方法流程图;
图3是本发明应用实施例的数据编码方法应用的场景示意图;
图4是本发明应用实施例提供的一种数据编码的方法流程图;
图5是本发明实施例提供的一种数据编码装置的结构示意图;
图6是本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明提供一种数据编码方法,主要应用于数据发送端发送待传输数据给数据接收端的过程中,在这个过程中,数据发送端需要先为待传输数据中的每组GOP数据帧进行编码,然后再将编码后数据发送给数据接收端。在本实施例中,数据发送端在对待传输数据中某一码率控制单元数据帧进行编码时:
先确定待传输数据中当前的第一码率控制单元数据帧的长度,第一码率控制单元数据帧的长度小于或等于一组图片GOP数据帧的长度,根据第一码率控制单元数据帧的长度,待传输数据的目标码率及待传输数据的帧率确定第一码率控制单元数据帧的第一目标码率;当第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值大于零,根据第一差值对第一目标码率进行调整,第二码率控制单元数据帧是待传输数据中第一码率控制单元的前一码率控制单元数据帧;根据调整后的第一目标码率对第一码率控制单元数据帧进行编码。
这样,可以灵活地设置第一码率控制单元数据帧的长度,比如小于或等于一组图片GOP数据帧的长度,并通过对前一码率控制单元数据帧的实际编码情况对第一目标码率进行调整,使得最终根据调整后第一目标码率对第一码率控制单元进行编码后,可以满足对任何时长的码率特别是短时码率平稳性的要求。
本发明实施例提供一种数据编码方法,主要是上述的数据发送端所执行的方法,其中数据发送端可以是视频数据发送端,比如微信客户端等,流程图如图1所示,包括:
步骤101,确定待传输数据中当前的第一码率控制单元数据帧的长度,第一码率控制单元数据帧的长度为小于或等于一组GOP数据帧的长度。
可以理解,数据发送端在将待传输数据发送给数据接收端之前,需要先对待传输数据进行编码,一般是以一个码率控制单元数据帧为基本单位对待传输数据所包括的多个码率控制单元进行逐个编码,具体地,先为一个码率控制单元数据帧确定一个目标码率,使得该码率控制单元数据帧的实际码率接近为该码率控制单元数据帧的目标码率。其中,一个码率控制单元数据帧的码率是指该码率控制单元数据帧所包括的数据总量。
本实施例的步骤101到104是针对一个码率控制单元(即当前的第一码率控制单元)数据帧所执行的编码方法。
一般情况下,待传输数据是由多组GOP数据帧组成的,每一组GOP数据帧都包括I帧,P帧和B帧。其中,第一个数据帧为I帧,为关键帧,该组GOP数据帧的主要信息都集中在I帧;P帧为差别帧,表示该帧与之前的一个关键帧的差别;B帧为双向差别帧,表示该帧与前后帧之间的差别。则一组GOP数据帧的长度可以用I帧间隔来表示,具体可以为n个数据帧。
在本实施例中,数据发送端确定的第一码率控制单元数据帧的长度可能小于一组GOP数据帧的长度,具体可以为具有码率平稳需求的短时时长(比如1秒或2秒)所包括的数据帧个数,这样一组GOP数据帧就可以被划分为多个码率控制单元数据帧。
例如,对于实时视频通话,对短时码率的平稳性要求比较高,则当待传输数据为实时通话的视频数据时,可以将第一码率控制单元数据帧的长度确定为码率平稳性需求的时长所包括的数据帧个数。
步骤102,根据第一码率控制单元数据帧的长度,待传输数据的目标码率及待传输数据的帧率(即每秒包括的数据帧个数)确定第一码率控制单元数据帧的第一目标码率。
具体地,可以确定第一目标码率为待传输数据的目标码率与第一码率控制单元数据帧的长度的乘积,再与待传输数据的帧率的商值。
步骤103,当第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值大于零,根据第一差值对第一目标码率进行调整,这里,第二码率控制单元数据帧是待传输数据中第一码率控制单元的前一码率控制单元数据帧。
可以理解,如果第二码率控制单元数据帧的实际码率超过第二目标码率,则数据发送端可以适当地减少该第一码率控制单元数据帧的第一目标码率,具体减少量可以根据第二码率控制单元的实际码率与其第二目标码率的第一差值来确定。其中,第二码率控制单元数据帧的实际码率是指数据发送端按照第二目标码率对第二码率控制单元数据帧进行编码后,第二码率控制单元数据帧所包括的实际数据总量。
具体地,如果该第一差值大于零,且小于或等于预置的差值,则将上述步骤102得到的第一目标码率减去第一差值得到调整后的第一目标码率。如果该第一差值大于预置的差值,计算第一差值与预置的差值的第二差值的加权值;然后将第一目标码率减去预置的差值,再减去加权值得到调整后的第一目标码率。
其中,预置的差值可以是设置在数据发送端的固定值,也可以是随着第一码率控制单元数据帧的长度的变化而改变的值。具体地,在执行本步骤103之前,数据发送端可以先确定预置的差值为平均每帧最低码率与第一码率控制单元数据帧的长度的乘积。
步骤104,根据上述步骤103调整后的第一目标码率对第一码率控制单元数据帧进行编码,使得第一码率控制单元数据帧的实际码率接近该第一目标码率。
进一步地,如果上述第一差值小于或等于零,即第二码率控制单元数据帧的实际码率小于或等于其第二目标码率,则数据发送端不会对上述步骤102确定的第一目标码率进行调整,直接按照该第一目标码率对第一码率控制单元数据帧进行编码。
这样,通过上述步骤101到104,可以随时根据实际情况改变一个码率控制单元(比如第一码率控制单元)数据帧的长度,并根据调整后的第一目标码率,对该第一码率控制单元数据帧进行编码。
可见,在本实施例的方法中,数据发送端每次对一个码率控制单元(比如第一码率控制单元)数据帧进行编码时,都会根据实际的需求确定当前的第一码率控制单元数据帧的长度,并确定第一码率控制单元的第一目标码率,然后根据前一码率控制单元(即第二码率控制单元)数据帧的实际码率与其第二目标码率的第一差值对第一目标码率进行调整后,根据调整后的第一目标码率对第一码率控制单元数据帧进行编码。这样,可以灵活地设置第一码率控制单元数据帧的长度,比如小于或等于一组图片GOP数据帧的长度,并通过对前一码率控制单元数据帧的实际编码情况对第一目标码率进行调整,使得最终根据调整后第一目标码率对第一码率控制单元进行编码后,可以满足对任何时长的码率特别是短时码率平稳性的要求。
参考图2所示,在一个具体的实施例中,数据发送端在执行上述步骤101时,可以通过如下步骤来实现:
步骤201,设置待传输数据的码率平稳需求的时长,如果码率平稳需求的时长所包括的数据帧个数m大于或等于一组GOP数据帧的长度r,则执行步骤202。
如果码率平稳需求的时长所包括的数据帧个数m小于一组图片GOP数据帧的长度r,则在有些情况下,数据发送端执行步骤203,在另一种情况下,数据发送端执行步骤204,在另外一些情况下,数据发送端则执行步骤205或206。
这里的码率平稳需求的时长是指对码率的平稳性要求比较高的一段时间,可以根据待传输数据的具体应用来设置,比如对于有些实时视频数据,码率平稳需求的时长可以是1秒或2秒,而对于有些非实时视频数据,对短时码率的平稳性要求不高,可以不用设置码率平稳需求的时长,直接将第一码率控制单元数据帧的长度确定为一组GOP数据帧的长度r。
其中,码率平稳需求的时长所包括的数据帧个数m可以根据码率平稳需求的时长与待传输数据的帧率得到,具体为码率平稳需求的时长与待传输数据的帧率的乘积。
步骤202,确定第一码率控制单元数据帧的长度为一组GOP数据帧的长度r。
步骤203,如果一组GOP数据帧的长度r是上述确定的数据帧个数m的整数倍;或者如果一组GOP数据帧的长度r不是上述数据帧个数m的整数倍,且第一码率控制单元数据帧非一组GOP数据帧包括的最后一个码率控制单元数据帧,则将码率平稳需求的时长所包括的数据帧个数m确定为第一码率控制单元数据帧的长度。
需要说明的是,由于待传输数据是由多组GOP数据帧组成的,则如果码率控制单元数据帧的长度为上述确定的数据帧个数m,该m小于一组GOP数据帧的长度r,则每组GOP数据帧都可以被划分为多个码率控制单元数据帧,这样可能会出现一组GOP数据帧所包括的最后一个码率控制单元数据帧的长度小于上述码率平稳需求的时长所包括的数据帧个数m。
具体地,如果一组GOP数据帧的长度r不是上述码率平稳需求的时长所包括的数据帧个数m的整数倍,且第一码率控制单元数据帧为一组GOP数据帧包括的最后一个码率控制单元数据帧,则数据发送端会执行步骤204。
步骤204,确定第一码率控制单元数据帧的长度为一组GOP数据帧的长度r与该组GOP数据帧中除第一码率控制单元数据帧之外的其它码率控制单元数据帧的长度的差值。其中,该组GOP数据帧中除第一码率控制单元数据帧之外的其它每个码率控制单元数据帧的长度都可以为上述确定的数据帧个数m。
在其它具体实施例中,如果一组GOP数据帧的长度r不是上述确定的数据帧个数m的整数倍,且一组GOP数据帧中最后两个码率控制单元数据帧按照顺序依次为第一码率控制单元数据帧和第三码率控制单元数据帧,即第一码率控制单元数据帧为第三码率控制单元数据帧的前一码率控制单元数据帧,数据发送端可以通过如下步骤205或206来确定第一码率控制单元数据帧的长度(图2中虚线箭头是指部分):
步骤205,如果一组GOP数据帧的长度r与第四码率控制单元数据帧的长度的第三差值为2的整数倍,确定第一码率控制单元数据帧的长度与第三码率控制单元数据帧的长度相同,都为该第三差值的一半。
其中,第四码率控制单元数据帧是一组GOP数据帧中除第一码率控制单元数据帧及第三码率控制单元数据帧之外的其它码率控制单元数据帧。
步骤206,如果一组GOP数据帧的长度r与第四码率控制单元数据帧的长度的第三差值不是2的整数倍,确定第一码率控制单元数据帧的长度为第三差值加1后对2的商,第三码率控制单元数据帧的长度为第三差值减1后对2的商。
以下以一个具体的实施例来说明本发明的数据编码方法,本实施例的方法主要应用于微信客户端的视频通话场景,则数据发送端为微信客户端,待传输数据为待传输的视频数据。在本实施例中:
参考图3所示,在具体应用中,用户通过本端微信客户端在发起与对端微信客户端的视频通话后,本端微信客户端收集本端的视频数据,该视频数据包括多组GOP数据帧。本端微信客户端先对收集的视频数据进行编码,然后将编码后的视频数据发送给对端微信客户端。在本端微信客户端对视频数据进行编码的过程中,可以通过如下步骤来实现,流程图如图4所示,包括:
步骤301,微信客户端确定待传输的视频数据中当前的第一码率控制单元数据帧的长度,记为Frame_Unit。
具体地,微信客户端会先根据待传输的视频数据,设置一个码率平稳需求的时长,由于待传输的视频数据是实时视频数据,则可以设置对应的码率平稳需求的时长为1秒或2秒;然后再根据视频数据的帧率确定该码率平稳需求的时长所包括的数据帧个数m。
(1)如果确定的数据帧个数m大于或等于待传输的视频数据中一组GOP数据帧的长度,记为GOP_size,则将第一码率控制单元数据帧的长度确定为一组GOP数据帧的长度,即Frame_Unit=GOP_size。
(2)如果确定的数据帧个数m小于待传输的视频数据中一组GOP数据帧的长度,在有些情况下,如果一组GOP数据帧的长度是数据帧个数m的整数倍,或者一组GOP数据帧的长度不是数据帧个数m的整数倍,且第一码率控制单元数据帧非一组GOP数据帧包括的最后一个码率控制单元数据帧,则将第一码率控制单元数据帧的长度确定为确定的数据帧个数m,这时,Frame_Unit=m<GOP_size。
(3)如果确定的数据帧个数m小于待传输的视频数据中一组GOP数据帧的长度,在另一种情况下,如果一组GOP数据帧的长度不是上述确定的数据帧个数m的整数倍,且第一码率控制单元数据帧是一组GOP数据帧所包括的最后一个码率控制单元数据帧,则微信客户端确定第一码率控制单元数据帧的长度为一组GOP数据帧的长度与一组GOP数据帧中除第一码率控制单元数据帧之外的其它码率控制单元数据帧的长度的差值。即Frame_Unit=GOP_size-tm,t为一组GOP数据帧所包括的其它码率控制单元数据帧的个数,其它码率控制单元数据帧的长度都为m。
(4)如果确定的数据帧个数m小于待传输的视频数据中一组GOP数据帧的长度,在其它情况下,如果一组GOP数据帧的长度不是上述确定的数据帧个数m的整数倍,且一组GOP数据帧中最后两个码率控制单元数据帧按照顺序依次为第一码率控制单元数据帧和第三码率控制单元数据帧,微信客户端在确定第一码率控制单元数据帧的长度时可以有如下几种情况:
具体地,假设一组GOP数据帧划分为的多个码率控制单元数据帧分别记为FU1,FU2,...,FUn-1,FUn,其中,第一码率控制单元数据帧和第三码率控制单元数据帧为别记为FUn-1,FUn,则:
(41)如果一组GOP数据帧的长度与第四码率控制单元数据帧的长度的第三差值为2的整数倍,其中,第四码率控制单元数据帧是一组GOP数据帧中除第一码率控制单元数据帧及第三码率控制单元数据帧之外的其它码率控制单元数据帧,即FU1,FU2,...,FUn-2,微信客户端确定第一码率控制单元数据帧FUn-1的长度与第三码率控制单元数据帧FUn的长度相同,都为第三差值的一半,即为:
Figure BDA0001342826920000101
(42)如果一组GOP数据帧的长度与第四码率控制单元数据帧的长度的第三差值不是2的整数倍,确定第一码率控制单元数据帧的长度为第三差值加1后对2的商,第三码率控制单元数据帧的长度为第三差值减1后对2的商。即:
Figure BDA0001342826920000102
Figure BDA0001342826920000103
(43)如果一组GOP数据帧的长度与第四码率控制单元数据帧的长度的第三差值再减去上述确定的数据帧个数m之后还大于上述确定的数据帧个数m的一半,即GOP_size-(lFU1+lFU2+......+lFUn-2)-m>m/2,但小于上述确定的数据帧个数m,微信客户端可以不用按照上述(41)或(42)中的方式确定第一码率控制单元数据帧的长度,而是确定第一码率控制单元数据帧的长度为m,第三码率控制单元数据帧的长度为GOP_size-tm。
需要说明的是,上述公式中lFUi表示一个码率控制单元数据帧FUi的长度,其中i为1到n之间的任一自然数。
(5)在其它情况下,如果根据实际应用,比如非实时视频数据,对短时码率的平稳性的要求不高,则不需要设置码率平稳需求的时长。在这种情况下,可以直接确定第一码率控制单元数据帧的长度为一组GOP数据帧的长度,即Frame_Unit=GOP_size。
步骤302,微信客户端确定第一码率控制单元数据帧的第一目标码率(记为BitTarget_i′)具体为待传输的视频数据的目标码率(记为BitRateTarget)与上述步骤301确定的第一码率控制单元数据帧的长度的乘积,再与视频数据的帧率(记为fps)的商值。即为:
Figure BDA0001342826920000111
步骤303,判断第二码率控制单元数据帧的实际码率是否大于第二目标码率,如果大于,则执行步骤305到步骤306;如果小于或等于第二目标码率,则直接执行步骤304。这里第二码率控制单元数据帧为待传输的视频数据中第一码率控制单元的前一码率控制单元数据帧。
步骤304,将上述步骤302确定的第一目标码率作为对第一码率控制单元数据帧进行编码的码率。
步骤305,微信客户端根据第一码率控制单元的前一码率控制单元(即第二码率控制单元)数据帧的实际码率(记为BitReal_i-1)与其第二目标码率(记为BitTarget_i-1)的第一差值,对第一目标码率进行调整。
(1)如果第二码率控制单元数据帧的实际码率大于第二目标码率,且第一差值未超过预置的差值(记为THBit),则将第一目标码率减去该第一差值得到调整后的第一目标码率,记为BitTarget_i
(2)如果第一差值超过预置的差值,则将第一目标码率减去预置的差值,再减去一个加权值得到调整后的第一目标码率,其中,加权值为第一差值与预置的差值的第二差值的加权值。即:
Figure BDA0001342826920000121
其中,γ为上述第二差值的加权系数,可以大于或等于零且小于1,且预置的差值THBit是可以随着第一码率控制单元数据帧的长度的变化而改变的,具体地:
THBit=THBit_frame*Frame_Unit,其中,THBit_frame为平均每帧最低码率。
步骤306,微信客户端根据调整后的第一目标码率对第一码率控制单元数据帧进行编码。
这样微信客户端重复执行上述步骤301到306,直到对待传输的视频数据包括的所有码率控制单元数据帧进行编码。
本发明实施例还提供一种数据编码装置,比如上述的数据发送端,其结构示意图如图5所示,具体可以包括:
长度确定单元10,用于确定待传输数据中当前的第一码率控制单元数据帧的长度,所述第一码率控制单元数据帧的长度小于或等于一组图片GOP数据帧的长度;
码率确定单元11,用于根据所述长度确定单元10确定的第一码率控制单元数据帧的长度,待传输数据的目标码率及所述待传输数据的帧率确定所述第一码率控制单元数据帧的第一目标码率;
调整单元12,用于当第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值大于零,根据所述第一差值对所述码率确定单元11确定的第一目标码率进行调整,所述第二码率控制单元数据帧是所述待传输数据中第一码率控制单元的前一码率控制单元数据帧;
编码单元13,用于根据所述调整单元12调整后的第一目标码率对所述第一码率控制单元数据帧进行编码。
进一步地,编码单元13,还用于如果第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值小于或等于零,则根据所述码率确定单元11确定的第一目标码率对所述第一码率控制单元数据帧进行编码。
可见,在本实施例的装置中,编码单元13每次对一个码率控制单元(比如第一码率控制单元)数据帧进行编码时,长度确定单元10都会根据实际的需求确定当前的第一码率控制单元数据帧的长度,并由码率确定单元11确定第一码率控制单元的第一目标码率,然后调整单元12根据前一码率控制单元(即第二码率控制单元)数据帧的实际码率与其第二目标码率的第一差值对第一目标码率进行调整后,编码单元13根据调整后的第一目标码率对第一码率控制单元数据帧进行编码。这样,可以灵活地设置第一码率控制单元数据帧的长度,比如小于或等于一组图片GOP数据帧的长度,并通过对前一码率控制单元数据帧的实际编码情况对第一目标码率进行调整,使得最终根据调整后第一目标码率对第一码率控制单元进行编码后,可以满足对任何时长的码率特别是短时码率平稳性的要求。
在具体的实施例中,上述长度确定单元10,具体用于设置所述待传输数据的码率平稳需求的时长,如果所述码率平稳需求的时长所包括的数据帧个数大于或等于所述一组图片GOP数据帧的长度,则确定所述第一码率控制单元数据帧的长度为一组图片GOP数据帧的长度;
且长度确定单元10,还用于如果所述码率平稳需求的时长所包括的数据帧个数小于所述一组图片GOP数据帧的长度,则如果所述一组图片GOP数据帧的长度是所述数据帧个数的整数倍;或者,如果所述一组图片GOP数据帧的长度不是所述数据帧个数的整数倍,且所述第一码率控制单元数据帧非所述一组图片GOP数据帧包括的最后一个码率控制单元数据帧,则将所述码率平稳需求的时长所包括的数据帧个数确定为所述第一码率控制单元数据帧的长度;否则,
如果所述一组图片GOP数据帧的长度不是所述数据帧个数的整数倍,且所述第一码率控制单元数据帧是所述一组图片GOP数据帧包括的最后一个码率控制单元数据帧,确定所述第一码率控制单元数据帧的长度为一组图片GOP数据帧的长度与所述一组图片GOP数据帧中除第一码率控制单元数据帧之外的其它码率控制单元数据帧的长度的差值。
在其它情况下,所述长度确定单元10,还用于如果所述一组图片GOP数据帧的长度不是所述数据帧个数的整数倍,且所述一组图片GOP数据帧中最后两个码率控制单元数据帧按照顺序依次为所述第一码率控制单元数据帧和第三码率控制单元数据帧,则:
如果所述一组图片GOP数据帧的长度与第四码率控制单元数据帧的长度的第三差值为2的整数倍,确定所述第一码率控制单元数据帧的长度与第三码率控制单元数据帧的长度相同,都为所述第三差值的一半;所述第四码率控制单元数据帧是所述一组图片GOP数据帧中除所述第一码率控制单元数据帧及第三码率控制单元数据帧之外的其它码率控制单元数据帧;如果所述一组图片GOP数据帧的长度与第四码率控制单元数据帧的长度的第三差值不是2的整数倍,确定所述第一码率控制单元数据帧的长度为所述第三差值加1后对2的商,所述第三码率控制单元数据帧的长度为所述第三差值减1后对2的商。
在另一个具体的实施例中,所述码率确定单元11,具体用于确定所述第一目标码率为所述待传输数据的目标码率与所述第一码率控制单元数据帧的长度的乘积,再与所述待传输数据的帧率的商值。
在其它具体的实例中,所述调整单元12,具体用于如果所述第一差值大于零,且小于或等于预置的差值,则将第一目标码率减去所述第一差值得到调整后的第一目标码率;如果所述第一差值大于所述预置的差值,计算所述第一差值与所述预置的差值的第二差值的加权值;将所述第一目标码率减去所述预置的差值,再减去所述加权值得到调整后的第一目标码率。
该调整单元12,还用于在根据所述第一差值对所述第一目标码率进行调整之前,调整所述预置的差值为所述第一码率控制单元数据帧的长度与平均每帧最低码率的乘积。
本发明实施例还提供一种终端设备,其结构示意图如图6所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
具体地,在存储介质22中储存的应用程序221包括数据编码的应用程序,且该程序可以包括上述数据编码装置中的长度确定单元10,码率确定单元11,调整单元12和编码单元13,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的数据编码的应用程序对应的一系列操作。
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由数据发送端所执行的步骤可以基于该图6所示的终端设备的结构。
本发明实施例还提供一种存储设备,所述存储设备储存多条指令,所述指令适于由处理器加载并执行如上述实施例中数据发送端所执行的数据编码方法。
本发明实施例还提供一种终端设备,包括处理器和存储设备,所述处理器,用于实现各个指令;
所述存储设备用于储存多条指令,所述指令用于由处理器加载并执行如上述实施例中数据发送端所执行的数据编码方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的数据编码方法、装置及存储设备和终端设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种数据编码方法,其特征在于,包括:
确定待传输数据中当前的第一码率控制单元数据帧的长度,所述第一码率控制单元数据帧的长度小于一组图片GOP数据帧的长度;
根据所述第一码率控制单元数据帧的长度,待传输数据的目标码率及所述待传输数据的帧率确定所述第一码率控制单元数据帧的第一目标码率;
当第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值大于零,根据所述第一差值对所述第一目标码率进行调整,所述第二码率控制单元数据帧是所述待传输数据中第一码率控制单元的前一码率控制单元数据帧;
根据所述调整后的第一目标码率对所述第一码率控制单元数据帧进行编码。
2.如权利要求1所述的方法,其特征在于,所述确定待传输数据中当前的第一码率控制单元数据帧的长度,具体包括:
设置所述待传输数据的码率平稳需求的时长,如果所述码率平稳需求的时长所包括的数据帧个数小于所述一组图片GOP数据帧的长度,则:如果所述一组图片GOP数据帧的长度是所述数据帧个数的整数倍;或者,如果所述一组图片GOP数据帧的长度不是所述数据帧个数的整数倍,且所述第一码率控制单元数据帧非所述一组图片GOP数据帧包括的最后一个码率控制单元数据帧,则将所述码率平稳需求的时长所包括的数据帧个数确定为所述第一码率控制单元数据帧的长度;否则,
如果所述一组图片GOP数据帧的长度不是所述数据帧个数的整数倍,且所述第一码率控制单元数据帧是所述一组图片GOP数据帧包括的最后一个码率控制单元数据帧,确定所述第一码率控制单元数据帧的长度为一组图片GOP数据帧的长度与所述一组图片GOP数据帧中除所述第一码率控制单元数据帧之外的其它码率控制单元数据帧的长度的差值。
3.如权利要求1所述的方法,其特征在于,如果待传输数据的码率平稳需求的时长所包括的数据帧个数小于所述一组图片GOP数据帧的长度,且所述一组图片GOP数据帧的长度不是所述数据帧个数的整数倍,且所述一组图片GOP数据帧中最后两个码率控制单元数据帧按照顺序依次为所述第一码率控制单元数据帧和第三码率控制单元数据帧,则所述确定待传输数据中当前的第一码率控制单元数据帧的长度,具体包括:
如果所述一组图片GOP数据帧的长度与第四码率控制单元数据帧的长度的第三差值为2的整数倍,确定所述第一码率控制单元数据帧的长度与第三码率控制单元数据帧的长度相同,都为所述第三差值的一半;所述第四码率控制单元数据帧是所述一组图片GOP数据帧中除所述第一码率控制单元数据帧及第三码率控制单元数据帧之外的其它码率控制单元数据帧;
如果所述一组图片GOP数据帧的长度与第四码率控制单元数据帧的长度的第三差值不是2的整数倍,确定所述第一码率控制单元数据帧的长度为所述第三差值加1后对2的商,所述第三码率控制单元数据帧的长度为所述第三差值减1后对2的商。
4.如权利要求1至3任一项所述的方法,其特征在于,根据所述第一码率控制单元数据帧的长度,待传输数据的目标码率及所述待传输数据的帧率确定所述第一码率控制单元数据帧的第一目标码率,具体包括:
确定所述第一目标码率为所述待传输数据的目标码率与所述第一帧码率控制单元数据帧的长度的乘积,再与所述待传输数据的帧率的商值。
5.如权利要求1至3任一项所述的方法,其特征在于,所述根据所述第一差值对所述第一目标码率进行调整,具体包括:
如果所述第一差值大于零,且小于或等于预置的差值,则将第一目标码率减去所述第一差值得到调整后的第一目标码率;
如果所述第一差值大于所述预置的差值,计算所述第一差值与所述预置的差值的第二差值的加权值;将所述第一目标码率减去所述预置的差值,再减去所述加权值得到调整后的第一目标码率。
6.如权利要求5所述的方法,其特征在于,所述根据所述第一差值对所述第一目标码率进行调整之前,所述方法还包括:确定所述预置的差值为所述第一码率控制单元数据帧的长度与平均每帧最低码率的乘积。
7.一种数据编码装置,其特征在于,包括:
长度确定单元,用于确定待传输数据中当前的第一码率控制单元数据帧的长度,所述第一码率控制单元数据帧的长度小于一组图片GOP数据帧的长度;
码率确定单元,用于根据所述第一码率控制单元数据帧的长度,待传输数据的目标码率及所述待传输数据的帧率确定所述第一码率控制单元数据帧的第一目标码率;
调整单元,用于当第二码率控制单元数据帧的实际码率与其第二目标码率的第一差值大于零,根据所述第一差值对所述第一目标码率进行调整,所述第二码率控制单元数据帧是所述待传输数据中第一码率控制单元的前一码率控制单元数据帧;
编码单元,用于根据所述调整后的第一目标码率对所述第一码率控制单元数据帧进行编码。
8.如权利要求7所述的装置,其特征在于,
所述长度确定单元,具体用于设置所述待传输数据的码率平稳需求的时长,如果所述码率平稳需求的时长所包括的数据帧个数大于所述一组图片GOP数据帧的长度,则确定所述第一码率控制单元数据帧的长度为一组图片GOP数据帧的长度;
所述长度确定单元,还用于如果所述码率平稳需求的时长所包括的数据帧个数小于所述一组图片GOP数据帧的长度,则:如果所述一组图片GOP数据帧的长度是所述数据帧个数的整数倍,则将所述码率平稳需求的时长所包括的数据帧个数确定为所述第一码率控制单元数据帧的长度;否则,
如果所述一组图片GOP数据帧的长度不是所述数据帧个数的整数倍,且所述第一码率控制单元数据帧是所述一组图片GOP数据帧包括的最后一个码率控制单元数据帧,确定所述第一码率控制单元数据帧的长度为一组图片GOP数据帧的长度与所述一组图片GOP数据帧中除所述第一码率控制单元数据帧之外的的其它码率控制单元数据帧的长度的差值。
9.如权利要求7所述的装置,其特征在于,
所述长度确定单元,还用于如果待传输数据的码率平稳需求的时长所包括的数据帧个数小于所述一组图片GOP数据帧的长度,且所述一组图片GOP数据帧的长度不是所述数据帧个数的整数倍,且所述一组图片GOP数据帧中最后两个码率控制单元数据帧按照顺序依次为所述第一码率控制单元数据帧和第三码率控制单元数据帧,则:
如果所述一组图片GOP数据帧的长度与第四码率控制单元数据帧的长度的第三差值为2的整数倍,确定所述第一码率控制单元数据帧的长度与第三码率控制单元数据帧的长度相同,都为所述第三差值的一半;所述第四码率控制单元数据帧是所述一组图片GOP数据帧中除所述第一码率控制单元数据帧及第三码率控制单元数据帧之外的其它码率控制单元数据帧;
如果所述一组图片GOP数据帧的长度与第四码率控制单元数据帧的长度的第三差值不是2的整数倍,确定所述第一码率控制单元数据帧的长度为所述第三差值加1后对2的商,所述第三码率控制单元数据帧的长度为所述第三差值减1后对2的商;
或者,长度确定单元,还用于如果所述一组图片GOP数据帧的长度不是所述数据帧个数的整数倍,且所述第一码率控制单元数据帧非所述一组图片GOP数据帧包括的最后一个码率控制单元数据帧,则将所述码率平稳需求的时长所包括的数据帧个数确定为所述第一码率控制单元数据帧的长度。
10.如权利要求7至9任一项所述的装置,其特征在于,
所述码率确定单元,具体用于确定所述第一目标码率为所述待传输数据的目标码率与所述第一码率控制单元数据帧的长度的乘积,再与所述待传输数据的帧率的商值。
11.如权利要求7至9任一项所述的装置,其特征在于,
所述调整单元,具体用于如果所述第一差值大于零,且小于或等于预置的差值,则将第一目标码率减去所述第一差值得到调整后的第一目标码率;如果所述第一差值大于所述预置的差值,计算所述第一差值与所述预置的差值的第二差值的加权值;将所述第一目标码率减去所述预置的差值,再减去所述加权值得到调整后的第一目标码率。
12.如权利要求11所述的装置,其特征在于,所述调整单元,还用于在根据所述第一差值对所述第一目标码率进行调整之前,调整所述预置的差值为所述第一码率控制单元数据帧的长度与平均每帧最低码率的乘积。
13.一种存储设备,其特征在于,所述存储设备储存多条指令,所述指令适于由处理器加载并执行如权利要求1至6任一项所述的数据编码方法。
14.一种终端设备,其特征在于,包括处理器和存储设备,所述处理器,用于实现各个指令;
所述存储设备用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至6任一项所述的数据编码方法。
CN201710544962.7A 2017-07-06 2017-07-06 一种数据编码方法、装置及存储设备和终端设备 Active CN109218724B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201710544962.7A CN109218724B (zh) 2017-07-06 2017-07-06 一种数据编码方法、装置及存储设备和终端设备
EP18827343.7A EP3651464B1 (en) 2017-07-06 2018-05-14 Data encoding method and apparatus, terminal device and computer readable storage medium
PCT/CN2018/086681 WO2019007149A1 (zh) 2017-07-06 2018-05-14 一种数据编码方法、装置、终端设备及计算机可读存储介质
KR1020197029189A KR102306485B1 (ko) 2017-07-06 2018-05-14 데이터 부호화 방법, 장치, 단말기기 및 컴퓨터 판독 가능한 기억매체
JP2019554773A JP6909308B2 (ja) 2017-07-06 2018-05-14 データ符号化方法、装置、端末機器及びコンピュータ可読記憶媒体
US16/400,334 US11363263B2 (en) 2017-07-06 2019-05-01 Data coding method and apparatus, terminal device, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710544962.7A CN109218724B (zh) 2017-07-06 2017-07-06 一种数据编码方法、装置及存储设备和终端设备

Publications (2)

Publication Number Publication Date
CN109218724A CN109218724A (zh) 2019-01-15
CN109218724B true CN109218724B (zh) 2020-08-04

Family

ID=64949660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710544962.7A Active CN109218724B (zh) 2017-07-06 2017-07-06 一种数据编码方法、装置及存储设备和终端设备

Country Status (6)

Country Link
US (1) US11363263B2 (zh)
EP (1) EP3651464B1 (zh)
JP (1) JP6909308B2 (zh)
KR (1) KR102306485B1 (zh)
CN (1) CN109218724B (zh)
WO (1) WO2019007149A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111836081B (zh) * 2020-07-20 2021-07-27 南京百家云科技有限公司 一种视频传输的方法及装置
CN112565834B (zh) * 2021-02-24 2021-05-11 北京创世云科技股份有限公司 一种控制输出数据的方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909662A (zh) * 2006-08-07 2007-02-07 浙江大学 采用帧目标比特数不平均分配的视频压缩码率控制方法
CN101651827A (zh) * 2009-07-16 2010-02-17 上海交通大学 屏幕编码的码率控制方法
CN101977309A (zh) * 2010-06-30 2011-02-16 无锡中星微电子有限公司 码率控制方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5731835A (en) * 1996-02-26 1998-03-24 David Sarnoff Research Center, Inc. Dynamic coding rate control in a block-based video coding system
US6661840B1 (en) * 1999-04-23 2003-12-09 Sony Corporation Image encoder and method of the same
JP2001086512A (ja) 1999-09-14 2001-03-30 Nec Corp 可変ビットレート符号化装置
EP1372113B1 (en) * 2002-06-11 2005-10-19 STMicroelectronics S.r.l. Variable bit rate video encoding method and device
KR100543453B1 (ko) * 2003-04-24 2006-01-23 삼성전자주식회사 디지털 비디오 스트림의 역재생시 비트율을 제어하기 위한 장치 및 그 방법
JP2008533853A (ja) * 2005-03-10 2008-08-21 クゥアルコム・インコーポレイテッド 先読みを伴う準一定品質のレート制御
MX2010012240A (es) * 2008-05-16 2010-12-01 Sharp Kk Aparato de grabacion.
US20110255594A1 (en) 2010-04-15 2011-10-20 Soyeb Nagori Rate Control in Video Coding
CN104270649B (zh) * 2014-10-28 2019-01-22 中磊电子(苏州)有限公司 影像编码装置及影像编码方法
CN106331704B (zh) * 2015-07-07 2019-10-22 杭州海康威视数字技术股份有限公司 一种视频码率控制方法及视频编码装置
CN106488175A (zh) * 2015-08-26 2017-03-08 重庆西线科技有限公司 一种视频传输方法
CN105872594A (zh) * 2016-03-30 2016-08-17 乐视控股(北京)有限公司 实时码率调节方法、装置及服务端设备
CN106060548B (zh) * 2016-05-26 2019-03-29 安凯(广州)微电子技术有限公司 一种码率控制的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1909662A (zh) * 2006-08-07 2007-02-07 浙江大学 采用帧目标比特数不平均分配的视频压缩码率控制方法
CN101651827A (zh) * 2009-07-16 2010-02-17 上海交通大学 屏幕编码的码率控制方法
CN101977309A (zh) * 2010-06-30 2011-02-16 无锡中星微电子有限公司 码率控制方法及装置

Also Published As

Publication number Publication date
KR20190120374A (ko) 2019-10-23
KR102306485B1 (ko) 2021-09-28
JP6909308B2 (ja) 2021-07-28
EP3651464B1 (en) 2023-05-31
JP2020516197A (ja) 2020-05-28
US20190260991A1 (en) 2019-08-22
EP3651464A1 (en) 2020-05-13
EP3651464A4 (en) 2021-03-24
US11363263B2 (en) 2022-06-14
CN109218724A (zh) 2019-01-15
WO2019007149A1 (zh) 2019-01-10

Similar Documents

Publication Publication Date Title
US10735740B2 (en) Bit rate control method and device
CN110381316A (zh) 一种视频传输控制方法、装置、设备及存储介质
JP2014523712A (ja) カメラおよび背景の動きに基づく、参照フレームバッファの適応的設定
WO2019033877A1 (zh) 一种视频帧编码方法、终端及存储介质
CN107872669B (zh) 视频码率处理方法和装置
CN109218724B (zh) 一种数据编码方法、装置及存储设备和终端设备
CN109729353B (zh) 一种视频编码方法、装置、系统及介质
CN107566795B (zh) 一种提高实时画面流畅度的方法、装置及系统
EP1187460A2 (en) Image transmitting method and apparatus and image receiving method and apparatus
US8681860B2 (en) Moving picture compression apparatus and method of controlling operation of same
RU2632420C1 (ru) Способ обработки данных и устройство, используемое для приложения терминала
US20140363094A1 (en) Motion estimation device and method of estimating motion thereof
JPH0722396B2 (ja) 画像符号化装置
CN110099274A (zh) 估计体验的视频质量
CN114039931B (zh) 一种控制数据传输的方法、装置、设备及介质
KR20230040872A (ko) 비디오 스트림의 전송을 제어하는 방법들 및 장치들
CN111953612B (zh) 数据传输控制方法及装置
CN111953613B (zh) 数据传输控制方法及装置
CN113691814A (zh) 视频编码方法、装置、电子装置和存储介质
CN111510715B (zh) 视频处理方法、系统、计算机设备及存储介质
CN112737971A (zh) 数据处理方法、装置、存储介质及网络设备
He et al. Buffer status and content aware scheduling scheme for cloud gaming based on video streaming
KR20200075617A (ko) 인코딩 장치 및 그 제어방법
CN102202220A (zh) 编码设备及其控制方法
CN115514916A (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