CN108769737A - 一种码率调整方法、服务器及计算机可读介质 - Google Patents
一种码率调整方法、服务器及计算机可读介质 Download PDFInfo
- Publication number
- CN108769737A CN108769737A CN201810534981.6A CN201810534981A CN108769737A CN 108769737 A CN108769737 A CN 108769737A CN 201810534981 A CN201810534981 A CN 201810534981A CN 108769737 A CN108769737 A CN 108769737A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- video frame
- coding information
- actual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 13
- 239000012634 fragment Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 108091026890 Coding region Proteins 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了一种码率调整方法、服务器及计算机可读介质,其中方法包括:服务器接收终端发送的视频切片,视频切片包括第一视频帧和第二视频帧;第一视频帧包括视频切片点之前最后一帧视频图像,第二视频帧包括视频切片点之后第一帧视频图像;若第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,则调整第一视频帧实际编码信息,以使差值小于或等于阈值。通过实施本申请,可避免分片后的视频切片间出现码率不一的问题,提高视频切片点处的画面清晰度的连贯性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种码率调整方法、服务器及计算机可读介质。
背景技术
视频转码是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。从本质上来看,转码是一个先解码、再编码的过程。
现有技术中,主流的视频转码方法包括如下几个步骤:第一,将原始视频文件进行分片处理,可以得到多个视频切片,具体地,可以参见图1A;第二,将各个视频切片分别发送给不同的服务器进行编码,以得到每个视频切片分别所对应的码流;第三,将编码得到的各个码流进行拼接,生成完整码流,从而可以获得完整的视频文件。具体地,可以参见图1B,图1B是本发明实施例提供的一种分布式视频转码方法的操作示意图。
然而,在实际应用中可以发现,由于原始视频文件复杂度的差异等原因导致原始视频文件经过分片处理之后所得到的多个视频切片间出现码率不一的情况,进而导致最终生成的视频文件的视频质量在视频切片点处产生波动,使得画面清晰度失去连贯性。
发明内容
本发明实施例提供一种码率调整方法、服务器及计算机可读介质,可避免分片后的视频切片间出现码率不一的问题,提高视频切片点处的画面清晰度的连贯性。
第一方面,本发明实施例提供了一种码率调整方法,该方法包括:
服务器接收终端发送的视频切片,所述视频切片包括第一视频帧和第二视频帧;所述第一视频帧包括视频切片点之前最后一帧视频图像,所述第二视频帧包括视频切片点之后第一帧视频图像;
若所述第一视频帧实际编码信息所确定的码率与所述第二视频帧实际编码信息所确定的码率的差值大于阈值,则调整所述第一视频帧实际编码信息,以使所述差值小于或等于所述阈值。
通过实施本发明实施例,服务器在对视频切片进行实际编码时,若满足第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,则调整第一视频帧实际编码信息,可避免分片后的视频切片间出现码率不一的问题,提高视频切片点处的画面清晰度的连贯性。
可选的,所述方法还包括:
若所述差值小于或等于阈值,则不调整所述第一视频帧实际编码信息。
通过实施本发明实施例,服务器在对视频切片进行实际编码时,若满足第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值小于或等于阈值,则不调整第一视频帧实际编码信息,可避免分片后的视频切片间出现码率不一的问题,提高视频切片点处的画面清晰度的连贯性。
可选的,所述若所述差值小于或等于阈值,则不调整所述第一视频帧实际编码信息包括:
若所述第一视频帧实际编码信息包括所述帧类型P,则不调整所述第一视频帧实际编码信息;
或,若所述第二视频帧实际编码信息包括所述帧类型B_REF,所述第一视频帧实际编码信息包括所述帧类型B_REF,则不调整所述第一视频帧实际编码信息;
或,若所述第二视频帧实际编码信息包括所述帧类型b,所述第一视频帧实际编码信息包括所述帧类型b,则不调整所述第一视频帧实际编码信息。
可选的,所述服务器接收终端发送的视频切片之后,还包括:
服务器以预编码视频帧的帧数来确定所述视频切片在实际编码时编码小节中的视频帧的帧数;所述预编码视频帧为所述视频切片中在所述视频切片点之后的视频帧。
可选的,所述视频切片中在所述视频切片点之后的视频帧的帧数介于15-40 之间。
可选的,所述若所述第一视频帧实际编码信息所确定的码率与所述第二视频帧实际编码信息所确定的码率的差值大于阈值,则调整所述第一视频帧实际编码信息包括:
若所述第一视频帧实际编码信息包括帧类型B_REF,则将所述帧类型 B_REF调整为帧类型P;
或,若所述第一视频帧实际编码信息包括帧类型b,则将所述帧类型b调整为所述帧类型P。
可选的,所述调整所述第一视频帧实际编码信息包括:
根据所述第二视频帧实际编码信息调整所述第一视频帧实际编码信息。
可选的,所述根据所述第二视频帧实际编码信息调整所述第一视频帧实际编码信息包括:
若所述第二视频帧实际编码信息包括帧类型P,所述第一视频帧实际编码信息包括帧类型b,则将所述第一视频帧实际编码信息调整为所述帧类型P;
或,若所述第二视频帧实际编码信息包括所述帧类型P,所述第一视频帧实际编码信息帧类型B_REF,则将所述第一视频帧实际编码信息调整为所述帧类型P;
或,若所述第二视频帧实际编码信息包括所述帧类型B_REF,所述第一视频帧实际编码信息包括所述帧类型b,则将所述第一视频帧实际编码信息调整为所述帧类型B_REF。
可选的,所述调整所述第一视频帧实际编码信息包括:
将所述第一视频帧实际编码信息调整为帧类型P,并将包含所述视频切片点的编码小节中所述视频切片点之前除所述第一视频帧之外的其它视频帧实际编码信息调整为所述帧类型P。
第二方面,本发明实施例提供了一种服务器,所述服务器包括:
接收单元,用于接收终端发送的视频切片,所述视频切片包括第一视频帧和第二视频帧;所述第一视频帧包括视频切片点之前最后一帧视频图像,所述第二视频帧包括视频切片点之后第一帧视频图像;
第一调整单元,用于在所述第一视频帧实际编码信息所确定的码率与所述第二视频帧实际编码信息所确定的码率的差值大于阈值时,调整所述第一视频帧实际编码信息,以使所述差值小于或等于所述阈值。
可选的,所述服务器还包括:
第二调整单元,用于在所述差值小于或等于阈值时,不调整所述第一视频帧实际编码信息。
可选的,第二调整单元具体用于:
若所述第一视频帧实际编码信息包括帧类型P,则不调整所述第一视频帧实际编码信息;
或,若所述第二视频帧实际编码信息包括帧类型B_REF,所述第一视频帧实际编码信息包括所述帧类型B_REF,则不调整所述第一视频帧实际编码信息;
或,若所述第二视频帧实际编码信息包括帧类型b,所述第一视频帧实际编码信息包括所述帧类型b,则不调整所述第一视频帧实际编码信息。
可选的,所述服务器还包括确定单元;
所述确定单元,用于在接收单元接收终端发送的视频切片之后,以预编码视频帧的帧数来确定所述视频切片在实际编码时编码小节中的视频帧的帧数;所述预编码视频帧为所述视频切片中在所述视频切片点之后的视频帧。
可选的,所述视频切片中在所述视频切片点之后的视频帧的帧数介于15-40 之间。
可选的,所述第一调整单元具体用于:
若所述第一视频帧实际编码信息包括帧类型B_REF,则将所述帧类型 B_REF调整为帧类型P;
或,若所述第一视频帧实际编码信息包括帧类型b,则将所述帧类型b调整为所述帧类型P。
可选的,所述第一调整单元包括第三调整单元;
所述第三调整单元用于根据所述第二视频帧实际编码信息调整所述第一视频帧实际编码信息。
可选的,所述第三调整单元具体用于:
若所述第二视频帧实际编码信息包括帧类型P,所述第一视频帧实际编码信息包括帧类型b,则将所述第一视频帧实际编码信息调整为所述帧类型P;
或,若所述第二视频帧实际编码信息包括所述帧类型P,所述第一视频帧实际编码信息帧类型B_REF,则将所述第一视频帧实际编码信息调整为所述帧类型P;
或,若所述第二视频帧实际编码信息包括所述帧类型B_REF,所述第一视频帧实际编码信息包括所述帧类型b,则将所述第一视频帧实际编码信息调整为所述帧类型B_REF。
可选的,所述第一调整单元具体用于:
将所述第一视频帧实际编码信息调整为帧类型P,并将包含所述视频切片点的编码小节中所述视频切片点之前除所述第一视频帧之外的其它视频帧实际编码信息调整为所述帧类型P。
第三方面,本发明实施例提供了另一种服务器,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
第五方面,本发明实施例提供了一种计算机程序,所述计算机程序包括上述服务器所用的程序指令,所述程序指令当被服务器的处理器执行时使所述处理器执行上述第一方面为服务器所设计的程序。
实施本发明实施例,服务器在对视频切片进行实际编码时,若满足第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,则调整第一视频帧实际编码信息;若上述差值小于或等于阈值,则不调整第一视频帧实际编码信息。可避免分片后的视频切片间出现码率不一的问题,提高视频切片点处的画面清晰度的连贯性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1A是本发明实施例提供的一种原始视频分片后的视频切片示意图;
图1B是本发明实施例提供的一种分布式视频转码方法的操作示意图;
图2A是本发明实施例提供的一种视频切片的示意图;
图2B是本发明实施例提供的一种码率调整系统200的架构示意图;
图3是本发明实施例提供的一种码率调整方法的流程示意图;
图4是本发明实施例提供的一种服务器对编码小节进行实际编码的过程示意图;
图5是本发明实施例提供的一种服务器的结构示意图;
图6是本发明实施例提供的另一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
现有技术中,服务器对经过分片处理后的视频切片(如图1A所示)进行实际编码时,容易带来不同的视频切片间出现码率不一的问题。为了解决上述问题,本申请提出了一种码率调整方法,经过分片处理后所得到的不同的视频切片之间存在重叠的视频帧,具体地,以视频切片1为例,视频切片1包括实际编码的视频帧和预编码视频帧,在满足视频切片点之前的最后一帧视频图像的实际编码信息所确定的码率与视频切片点之后的第一帧视频图像的实际编码顺序所确定的码率的差值大于阈值的情况下,服务器对视频切片点之前的最后一帧视频图像的实际编码信息进行调整,以使上述差值小于或等于阈值。具体地,可以参见图2A,图2A是本发明实施例提供的一种视频切片的示意图。
接下来,对本申请中的部分用语进行解释说明,以便本领域技术人员理解。
(1)视频帧类型。
视频帧类型包括I帧、P帧、B_REF帧、b帧。其中,
I帧:又称内部画面。I帧通常是每个图像组GOP的第一个帧,经过适度地压缩,作为随机访问的参考点,可以当成图像。I帧中的编码单元可以使用帧内预测。
P帧:P帧由前面的帧预测而来。P帧中的编码单元可以使用帧内预测和前向帧间预测。
B_REF帧:B_REF帧中的编码单元可以使用帧内预测和双向帧预测,且可以被其它帧参考。
b帧:b帧中的编码单元可以使用帧内预测和双向帧预测,不能被其它帧参考。
在编码时,上述视频帧类型的优先级顺序为:I帧、P帧、B_REF帧、b帧。与此同时,上述4中视频帧类型各自对应的码率按照从大到小进行排序的顺序可以为:I帧对应的码率>P帧对应的码率>B_REF帧对应的码率>b帧对应的码率。
(2)率失真优化:率失真优化是指为了满足一定的失真限制,最小的码率可以是多少。
(3)下采样:对原序列进行抽取,以生成新序列,所生成的新序列即为原序列的下采样。在对一个样值序列进行实际抽取时,可以间隔一个或几个样值取样一次。例如,对原序列隔间一个样值进行抽取时,生成的新序列的数量为原序列的一半。
(4)视频图像顺序和实际编码顺序。
视频图像顺序,也即图像显示顺序。具体来说,原始视频的图像采集顺序就是图像显示顺序。
实际编码顺序是根据视频帧类型优先级顺序对视频图像顺序进行编码产生的。若视频图像顺序中只采用前向帧间预测,则视频图像顺序与实际编码顺序一致;若视频图像顺序中采用双向帧预测,则在实际编码时,当前编码帧将会利用视频图像顺序前后已编码的图像进行预测编码,此时的实际编码顺序与视频图像顺序不一致。
在一种可能的实现方式中,终端通过网络向服务器发送视频切片,该视频切片中包括第一视频帧和第二视频帧。图2B为本发明实施例提供的一种码率调整系统200的架构示意图,包括:服务器201、终端202以及网络203。服务器 201在接收到终端202发送的视频切片之后,在满足第一视频帧的实际编码信息所确定的码率和第二视频帧的实际编码信息所确定的码率的差值大于阈值的情况下,服务器201对第一视频帧的实际编码信息进行调整。
在上述架构中,网络203作为实现上述终端202与服务器203之间的交互行为的传输媒介。
在一种可能的实现方式中,上述系统中,服务器201的数量可以包括一个或多个。终端202的数量包括但不限于一个。具体地,终端202可以包括台式电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等各种用户可以使用的终端设备,本发明实施例不作限定。
在另一种可能的实现方式中,终端202通过有线接口向服务器201发送视频切片,该视频切片中包括第一视频帧和第二视频帧。服务器根据终端发送的第一视频帧和第二视频帧各自对应的实际编码信息来确定是否对第一视频帧实际编码信息进行调整,以使差值小于或等于阈值。该有线接口包括例如局域接入网(Local Access Network,LAN)接口、USB接口、蓝牙接口等。
基于上述发明构思,下面结合图3示出的本发明实施例提供的码率调整方法的流程示意图,具体说明本发明实施例如何调整码率,可以包括但不限于如下步骤S301-S303。在本实施例中所涉及的终端、服务器可以包括如图2B所示的终端202和服务器201。
步骤S301、终端向服务器发送视频切片。
具体实现中,终端向服务器发送视频切片之前,还可以包括:终端根据确定好的视频切片点对原始视频进行分片,以得到视频切片。
为了便于描述,本发明实施例中所涉及的视频切片中的实际编码的视频帧的长度以100帧为例,预编码视频帧的长度以20帧为例。具体实现中,这里所涉及的实际编码的视频帧即为视频切片点之前的视频图像序列,预编码视频帧即为视频切片点之后的视频图像序列。
例如,原始视频的帧数为300帧,终端将原始视频分成3片。终端确定每个视频切片中实际编码的视频帧的长度为100帧,预编码视频帧的长度为20帧。具体地,视频切片1中实际编码视频图像顺序为0-99,预编码视频图像顺序为 100-119。视频切片2的视频图像顺序为100-199,预编码视频图像顺序为200-219。视频切片3的视频图像顺序为200-299。
可选的,服务器以预编码视频帧的帧数来确定所述视频切片在实际编码时编码小节中的视频帧的帧数;所述预编码视频帧为所述视频切片中在所述视频切片点之后的视频帧。
具体实现中,预编码视频帧的帧数决定了服务器每一次从视频切片中选取的视频图像的帧数。从视频切片中选取的视频图像的帧数用于确定在实际编码时编码小节中的视频帧的帧数。作为一种可选的实现方式,上述视频切片中在视频切片点之后的视频帧的帧数介于15-40之间。例如,视频切片中在视频切片点之后的视频帧的帧数可以为15、20、30、40等等。那么,可以理解的是,在确定包含视频切片点的编码小节中的视频帧的帧数时,会以预编码视频帧为参考,从而便于服务器更好的确定包含视频切片点的编码小节中的视频帧的帧数,避免误分视频帧的操作,进而可提高服务器对包含视频切片点的编码小节的实际编码效率。
以其中的一个视频切片为例,例如,视频切片1,该视频切片1的表现形式包括但不限于如表1所示:(表1中的B为帧类型B_REF的缩写)
表1
视频图像顺序 | 0 | 1 | 2 | 3 | 4 | … | … | 97 | 98 | 99 | 100 | … | … | 119 |
帧类型 | I | b | B | b | P | … | … | b | P | b | B | … | … | P |
由上述表1可以知道,实际编码视频帧中的视频图像顺序(也即视频图像显示顺序)为:IbBbP……bPbB……P。其中,该视频切片1中的视频切片点为视频图像顺序序号为99的位置。
步骤S302、服务器接收终端发送的视频切片,所述视频切片包括第一视频帧和第二视频帧。
第一视频帧包括视频切片点之前最后一帧视频图像;第二视频帧包括视频切片点之后第一帧视频图像。
如前所述,由表1可以知道,这里所涉及的第一视频帧是指视频图顺序序号99所对应的视频帧类型b,,第二视频帧是指视频图像顺序序号100所对应的视频帧类型B_REF。
在一种可能的实现方式中,这里所涉及的视频切片可以为服务器对终端发送的视频切片进行下采样抽样处理(例如,间隔一个样值)后得到的。在这种情况下,该视频切片的长度为未进行下采样处理的视频切片的一半。
步骤S303、若第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,则调整第一视频帧实际编码信息,以使差值小于或等于所述阈值。在第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值为小于或等于阈值的情况下,则执行步骤S304。
接下来阐述服务器确定第一视频帧实际编码信息和第二视频帧实际编码信息的具体过程。
首先,服务器从上述实际编码的视频帧(0-99)中选择0-19帧(也即20帧) 的视频图像。例如,0-19帧的视频图像的表现形式包括但不限于表2所示:
表2
视频图像顺序 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
帧类型 | I | b | B | b | P | b | B | b | P | b |
视频图像顺序 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
帧类型 | b | b | B | b | P | B | b | b | P | b |
其次,服务器遍历上述表2中出现的最长连续b帧数的所有情况。具体地,由表2可以知道,最长连续b帧数的所有情况包括:连续b帧的数量为3的情况出现一次,连续b帧的数量为2的情况出现一次,连续b帧的数量还可以为1。服务器在确定了最长连续b帧数的所有情况之后,结合率失真优化函数确定视频切片中的第1个编码小节中的视频帧的帧数。例如,服务器确定第1个编码小节中的视频帧的帧数为5个。
在服务器确定第2个编码小节中的视频帧的帧数时,由于确定了第1个编码小节(即5帧的视频图像),服务器在第5-19帧的视频图像中补进第20-24帧的视频图像。服务器遍历视频图像序列为第5-24帧中出现的最长连续b帧数的所有情况,在确定了最长连续b帧数的所有情况之后,结合率失真优化函数确定视频切片中的第2个编码小节中的视频帧的帧数。例如,服务器确定第2个编码小节中的视频帧的帧数为4个。
那么,在具体实现时,服务器可以根据上述所描述的方法来确定每个编码小节中的视频帧的帧数。
例如,服务器根据上述方法所确定的每个编码小节中视频帧的帧数的表现形式为如表3所示:
表3
编码小节 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | … | 13 |
帧数 | 5 | 4 | 7 | 8 | 3 | 5 | 4 | 6 | … | 4 |
如表3所示,表3中的第1个到第12个编码小节中没有包括视频切片点,第13个编码小节中包括视频切片点。
之后,服务器对上述13个编码小节进行实际编码。
下面结合图4示出的本发明实施例提供的服务器对编码小节进行实际编码的过程示意图,来具体阐述服务器是如何对上述13个编码小节进行实际编码的:在实际编码时,服务器先判断当前编码小节中是否包含视频切片点,若该编码小节中没有包括视频切片点,服务器按照视频帧类型的优先级顺序IPBb(B_REF 缩写为B)对视频图像顺序进行编码,然后输出实际编码信息;若该编码小节中包含视频切片点,服务器将该编码小节划分为编码部分和预编码部分,其中,视频切片点之前的那一部分视频图像序列为编码部分,视频切片点之后的那一部分视频图像序列为预编码部分。服务器对编码部分进行实际编码时,服务判断视频图像顺序是否小于或等于视频切片点序号,若是,服务器按照视频帧类型的优先级顺序IPBb(B_REF缩写为B)对视频图像顺序进行编码。然后,服务器判断第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值是否大于阈值,若是,则对第一视频帧实际编码信息进行调整,输出调整后的实际编码信息;若否,不调整第一视频帧实际编码信息,输出实际编码信息。
例如,以服务器对第1个编码小节进行实际编码为例,服务器判断该编码小节中没有包含视频切片点,服务器按照视频帧类型的优先级顺序IPBb(B_REF 缩写为B)对第1个编码小节进行编码,上述编码过程可以包括:服务器第一次遍历该编码小节,判断该编码小节中是否存在视频帧类型I,若是,则将该编码小节中视频帧类型为I的推入实际编码信息输出列表;服务器再一次遍历该编码小节,判断该编码小节中是否存在视频帧类型P,若是,将该编码小节中视频帧类型为P的推入实际编码信息输出列表;服务器第三次遍历该编码小节,判断该编码小节中是否存在视频帧类型B_REF,若是,将该编码小节中视频帧类型为B_REF的推入实际编码信息输出列表;服务器第四次遍历该编码小节,判断该编码小节中是否存在视频帧类型b,若是,将该编码小节中视频帧类型为b(视频图像顺序序号小的)的推入实际编码信息输出列表;服务器第五次遍历该编码小节,将该编码小节中视频帧类型为b(视频图像顺序序号大的)的推入实际编码信息输出列表。上述第1个编码小节编码后的输出结果可以表示如表4所示:
表4
视频图像顺序 | 0 | 1 | 2 | 3 | 4 |
帧类型 | I | b | B | b | P |
实际编码顺序 | I | P | B | b | b |
又例如,服务器对第13个编码小节进行实际编码时,服务器判断得知该编码小节中包含视频切片点,服务器按照视频帧类型的优先级顺序IPBb(B_REF 缩写为B)对第13个编码小节中的编码部分进行实际编码,第13个编码小节编码后的输出结果可以表示为如表5所示:
表5
视频图像顺序 | 98 | 99 |
帧类型 | b | P |
实际编码顺序 | P | b |
由表5可以知道,第一视频帧实际编码信息为b。
具体实现中,服务器对第13个编码小节中的预编码部分(也第100-101帧视频图像)不会进行实际编码,但可以确定预编码部分第1个编码小节中第一帧视频图像的实际编码信息(也即第二视频帧实际编码信息),上述确定过程可以包括:服务第一次遍历预编码视频帧,将预编码视频帧中视频帧类型为P的推入输出列表;服务器再一次遍历预编码视频帧,将预编码视频帧中视频帧类型为B_REF的推入输出列表,由此可以知道:第二视频帧实际编码信息为P。具体地,可以参见表6:
表6
视频图像顺序 | 98 | 99 | 100 | 101 |
帧类型 | b | P | B | P |
实际编码顺序 | P | b | P | B |
由表6可以知道,第一视频帧实际编码信息包括b,第二视频帧实际编码包括P,则表明第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,那么,服务器在确定第一视频帧实际编码信息b 所确定的码率与第二视频帧实际编码信息P所确定的码率大于阈值的情况下,服务器调整第一视频帧实际编码信息。例如,服务器将第一视频帧实际编码信息b调整为P,调整后的第13个编码小节的实际编码信息如表7所示:
表7
视频图像顺序 | 98 | 99 | 100 | 101 |
帧类型 | b | P | B | P |
实际编码顺序 | P | P | P | B |
具体实现中,在上述表7中,将第一视频帧实际编码信息b调整为P的原因在于:b帧中的编码单元使用双向帧预测,即在实际编码时需要参考与之相邻的前面一帧视频图像的视频帧类型和后面一帧视频图像的视频帧类型。由于视频图像顺序为99号的视频帧无法参考视频切片点之后的第一帧视频图像的视频帧类型,继而将该视频帧类型调整为P。
假设视频切片1和视频切片2,其中,第一视频帧为视频切片1中的最后一帧视频图像,第二视频帧为视频切片2中的第一帧视频图像。具体实现中,大多数情况下,视频切片2中第二视频帧实际编码信息可以包括P。那么,可以默认第二视频帧实际编码信息包括P。此时,若第一视频帧实际编码信息为B_REF,则表明第一视频实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,那么,在这种情况下,将第一视频帧的帧类型调整为P。若第一视频帧实际编码信息包括b,则表明第一视频实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,那么,在这种情况下,将第一视频帧的帧类型调整为P。
可选的,调整所述第一视频帧实际编码信息包括:
将所述第一视频帧实际编码信息调整为帧类型P,并将包含视频切片点的编码小节中视频切片点之前除第一视频帧之外的其它视频帧实际编码信息调整为帧类型P。
例如,服务器对包含视频切片点的编码小节(例如第16个编码小节,即最后一个编码小节)进行实际编码后的结果可以如表8所示:
表8
视频图像顺序 | 98 | 99 | 100 | 101 |
帧类型 | b | B | B | P |
实际编码顺序 | B | b | P | B |
由上述表8可知,第16个编码小节中包括视频图像顺序为98号的视频帧和第一视频帧。
在一种可能的实现方式中,服务器在判断第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率大于阈值的情况下,服务器调整第一视频帧实际编码信息。与此同时,服务器将包含视频切片点的编码小节中视频切片点之前除第一视频帧之外的其它视频帧实际编码信息调整为调整后的第一实际编码信息,以使该视频切片点之前的视频帧的实际编码信息保持一致,从而可以保证视频切片片尾的画面清晰度不变。
具体地,如表8所示,在处理最后一个编码小节时,第一视频帧实际编码信息包括b,第二视频帧实际编码信息包括P,服务器在确定第一视频帧实际编码信息b所确定的码率与第二视频帧实际编码信息P所确定的码率大于阈值的情况下,服务器将第一视频帧实际编码信息调整为P。与此同时,服务器将视频图像顺序为98号的视频帧实际编码信息B_REF调整为P。那么,调整后的该编码小节(第16个编码小节)的实际编码信息的表现形式包括但不限于表9所示:
表9
视频图像顺序 | 98 | 99 | 100 | 101 |
帧类型 | b | B | B | P |
实际编码顺序 | P | P | P | B |
由表9可知,上述第16个编码小节调整后的实际编码信息包括(PP PB),由于第一视频帧实际编码信息与第二视频帧实际编码信息为帧类型P,可以保证视频切片点处的码率一致。与此同时,由于该视频切片片尾经过调整后的实际编码信息为PP,可以保持视频切片片尾的画面清晰度不变。
又例如,服务器确定另一视频切片的每个编码小节中视频帧的帧数的表现形式为如表10所示:
表10
编码小节 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | … | 11 |
帧数 | 2 | 6 | 5 | 8 | 4 | 5 | 9 | 6 | … | 3 |
其中,第11个编码小节(包含视频切片点)中的视频图像顺序的表现形式可以如表11所示:
表11
视频图像顺序 | 99 | 100 | 101 |
帧类型 | B | B | P |
实际编码顺序 | B | P | B |
由表11可知,第一视频帧实际编码信息包括B_REF,第二视频帧实际编码信息包括P,此时,表明第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,那么,服务器在确定第一视频帧实际编码信息B_REF所确定的码率与第二视频帧实际编码信息P所确定的码率大于阈值的情况下,服务器调整第一视频帧实际编码信息。例如,服务器将第一视频帧实际编码信息B_REF调整为P。调整后的第11个编码小节的实际编码信息的表现形式可以如表12所示:
表12
视频图像顺序 | 99 | 100 | 101 |
帧类型 | B | B | P |
实际编码顺序 | P | P | B |
具体实现中,在上述表12中,将第一视频帧实际编码信息B调整为P的原因在于:B帧中的编码单元使用双向帧预测,即在实际编码时需要参考与之相邻的前面一帧视频图像的帧类型和后面一帧视频图像的帧类型。由于视频图像顺序为99号的视频帧无法参考视频切片点之后的第一帧视频图像的视频帧类型,继而将该视频帧类型调整为P。
由表12可知,第11个编码小节调整后的实际编码信息包括(P PB),由于第一视频帧实际编码信息与第二视频帧实际编码信息为P,可以保证视频切片点处的码率一致。
又例如,服务器确定另一视频切片的每个编码小节中视频帧的帧数的表现形式为如表13所示:
表13
编码小节 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | … | 15 |
帧数 | 2 | 6 | 5 | 8 | 4 | 5 | 9 | 6 | … | 9 |
其中,第15个编码小节(包含视频切片点)中的视频图像顺序的表现形式可以如表14所示:
表14
视频图像顺序 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 |
帧类型 | B | B | P | b | b | B | b | b | b |
实际编码顺序 | P | B | B | b | B | b | b | b | b |
由表14可知,第一视频帧实际编码信息包括b,第二视频帧实际编码信息包括B_REF,此时,表明第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,那么,服务器在确定第一视频帧实际编码信息b所确定的码率与第二视频帧实际编码信息B_REF所确定的码率大于阈值的情况下,服务器调整第一视频帧实际编码信息。例如,服务器将第一视频帧实际编码信息b调整为B_REF。调整后的第15个编码小节的实际编码信息的表现形式可以如表15所示:
表15
视频图像顺序 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 |
帧类型 | B | B | P | b | b | B | b | b | b |
实际编码顺序 | P | B | B | B | B | b | b | b | b |
由表15可知,第15个编码小节调整后的实际编码信息包括(PBBB Bbbbb),由于调整后的第一视频帧实际编码信息与第二视频帧实际编码信息为B_REF,可以保证视频切片点处的码率一致。
步骤S304、若第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值小于或等于阈值,则不调整第一视频帧实际编码信息。
如前所述,例如,服务器确定某一视频切片的每个编码小节中视频帧的帧数的表现形式为如表16所示:
表16
编码小节 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
帧数 | 11 | 6 | 15 | 8 | 14 | 10 | 9 | 6 | 13 | 8 |
其中,第10个编码小节(包含视频切片点)中的视频图像顺序的表现形式可以如表17所示:
表17
视频图像顺序 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 |
帧类型 | P | P | b | b | B | B | B | b |
实际编码顺序 | P | P | B | B | B | b | b | b |
由表17可知,第一视频帧实际编码信息包括P,第二视频帧实际编码信息包括P,则表明第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值等于阈值,那么,服务器在确定第一视频帧实际编码信息P所确定的码率与第二视频帧实际编码信息P所确定的码率的差值等于阈值的情况下,服务器不调整第一视频帧实际编码信息。通过实施本发明实施例,可以保证视频切片点处的码率一致。
又例如,服务器确定另一视频切片的每个编码小节中视频帧的帧数的表现形式为如表18所示:
表18
编码小节 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | … | 16 |
帧数 | 2 | 6 | 5 | 8 | 4 | 5 | 9 | 6 | … | 8 |
其中,第16个编码小节(包含视频切片点)中的视频图像顺序的表现形式可以如表19所示:
表19
视频图像顺序 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 |
帧类型 | B | B | b | b | B | B | B | b |
实际编码顺序 | B | B | B | B | B | b | b | b |
由表19可知,第一视频帧实际编码信息包括B_REF,第二视频帧实际编码信息包括B_REF,则表明第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值等于阈值,那么,服务器在确定第一视频帧实际编码信息B_REF所确定的码率与第二视频帧实际编码信息B_REF所确定的码率的差值等于阈值的情况下,服务器不调整第一视频帧实际编码信息。
又例如,服务器确定另一视频切片的每个编码小节中视频帧的帧数的表现形式为如表20所示:
表20
编码小节 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
帧数 | 11 | 6 | 15 | 8 | 14 | 10 | 9 | 6 | 13 | 8 |
其中,第10个编码小节(包含视频切片点)中的视频图像顺序的表现形式可以如表21所示:
表21
视频图像顺序 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 |
帧类型 | b | b | b | b | b | b | b | b |
实际编码顺序 | b | b | b | b | b | b | b | b |
由表21可知,第一视频帧实际编码信息包括b,第二视频帧实际编码信息包括b,则表明第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值等于阈值,那么,服务器在确定第一视频帧实际编码信息b所确定的码率与第二视频帧实际编码信息b所确定的码率的差值等于阈值的情况下,服务器不调整第一视频帧实际编码信息。
又例如,服务器确定某一视频切片的每个编码小节中视频帧的帧数的表现形式为如表22所示:
表22
编码小节 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
帧数 | 11 | 6 | 15 | 8 | 14 | 10 | 9 | 6 | 13 | 8 |
其中,第10个编码小节(包含视频切片点)中的视频图像顺序的表现形式可以如表23所示:
表23
视频图像顺序 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 |
帧类型 | P | I | b | b | B | B | B | b |
实际编码顺序 | P | I | B | B | B | b | b | b |
由表23可知,第一视频帧实际编码信息包括P,第二视频帧实际编码信息包括I,表明第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值小于阈值,那么,服务器在确定第一视频帧实际编码信息P 所确定的码率与第二视频帧实际编码信息I所确定的码率的差值小于阈值的情况下,服务器不调整第一视频帧实际编码信息。具体实现中,视频帧类型I所确定的码率大于视频帧类型P的码率。
通过实施本发明实施例,服务器在对视频切片进行实际编码时,若满足第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,则调整第一视频帧实际编码信息;若满足第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值小于或等于阈值,则不调整第一视频帧实际编码信息,可避免分片后的视频切片间出现码率不一的问题,提高视频切片点处的画面清晰度的连贯性。
具体实现中,上述步骤S303、步骤S303为并行步骤,并不是先执行步骤 S303,再执行步骤S304。在一种可能的实现方式中,在本发明实施例中所描述的技术方案可以包括步骤S301、S302、S303;也可以包括S301、S302、S304。
为了便于更好地实施本发明实施例的上述方案,本发明还对应提供了一种服务器的结构示意图,下面结合附图来进行详细说明:
如图5示出的本发明实施例提供的一种服务器的结构示意图,该服务器500 包括:接收单元501、第一调整单元502。
接收单元501,用于接收终端发送的视频切片,所述视频切片包括第一视频帧和第二视频帧;所述第一视频帧包括视频切片点之前最后一帧视频图像,所述第二视频帧包括视频切片点之后第一帧视频图像;
第一调整单元502,用于在所述第一视频帧实际编码信息所确定的码率与所述第二视频帧实际编码信息所确定的码率的差值大于阈值时,调整所述第一视频帧实际编码信息,以使所述差值小于或等于所述阈值。
可选的,所述服务器还包括:
第二调整单元,用于在所述差值小于或等于阈值时,则不调整所述第一视频帧实际编码信息。
可选的,第二调整单元具体用于:
若所述第一视频帧实际编码信息包括帧类型P,则不调整所述第一视频帧实际编码信息;
或,若所述第二视频帧实际编码信息包括帧类型B_REF,所述第一视频帧实际编码信息包括所述帧类型B_REF,则不调整所述第一视频帧实际编码信息;
或,若所述第二视频帧实际编码信息包括帧类型b,所述第一视频帧实际编码信息包括所述帧类型b,则不调整所述第一视频帧实际编码信息。
可选的,所述服务器还包括确定单元;
所述确定单元,用于在接收单元501接收终端发送的视频切片之后,以预编码视频帧的帧数来确定所述视频切片在实际编码时编码小节中的视频帧的帧数;所述预编码视频帧为所述视频切片中在所述视频切片点之后的视频帧。
可选的,所述视频切片中在所述视频切片点之后的视频帧的帧数介于15-40 之间。
可选的,所述第一调整单元502具体用于:
若所述第一视频帧实际编码信息包括帧类型B_REF,则将所述帧类型 B_REF调整为帧类型P;
或,若所述第一视频帧实际编码信息包括帧类型b,则将所述帧类型b调整为所述帧类型P。
可选的,所述第一调整单元502包括第三调整单元;
所述第三调整单元用于根据所述第二视频帧实际编码信息调整所述第一视频帧实际编码信息。
可选的,所述第三调整单元具体用于:
若所述第二视频帧实际编码信息包括帧类型P,所述第一视频帧实际编码信息包括帧类型b,则将所述第一视频帧实际编码信息调整为所述帧类型P;
或,若所述第二视频帧实际编码信息包括所述帧类型P,所述第一视频帧实际编码信息帧类型B_REF,则将所述第一视频帧实际编码信息调整为所述帧类型P;
或,若所述第二视频帧实际编码信息包括所述帧类型B_REF,所述第一视频帧实际编码信息包括所述帧类型b,则将所述第一视频帧实际编码信息调整为所述帧类型B_REF
可选的,所述第一调整单元502具体用于:
将所述第一视频帧实际编码信息调整为帧类型P,并将包含所述视频切片点的编码小节中所述视频切片点之前除所述第一视频帧之外的其它视频帧实际编码信息调整为所述帧类型P。
实施本发明实施例,服务器在对视频切片进行实际编码时,若满足第一视频帧实际编码信息所确定的码率与第二视频帧实际编码信息所确定的码率的差值大于阈值,则调整第一视频帧实际编码信息;若上述差值小于或等于阈值,则不调整第一视频帧实际编码信息,可避免分片后的视频切片间出现码率不一的问题,提高视频切片点处的画面清晰度的连贯性。
为了便于更好的实施本发明实施例的上述方案,本发明实施例还对应提供了另一种服务器的结构示意图,下面结合附图进行详细说明:
如图6示出的本发明实施例提供的服务器的结构示意图,该服务器600可以包括至少一个处理器601,通信总线602,存储器603以及至少一个通信接口 604。
处理器601可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线602可包括一通路,在上述组件之间传送信息。所述通信接口604,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RadioAccess Technology,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器603可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory, EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器603用于存储执行本发明方案的程序代码,并由处理器 601来控制执行。所述处理器601用于执行所述存储器603中存储的程序代码,执行以下步骤:
处理器601接收终端发送的视频切片,所述视频切片包括第一视频帧和第二视频帧;所述第一视频帧包括视频切片点之前最后一帧视频图像,所述第二视频帧包括视频切片点之后第一帧视频图像;
若所述第一视频帧实际编码信息所确定的码率与所述第二视频帧实际编码信息所确定的码率的差值大于阈值,则处理器601调整所述第一视频帧实际编码信息,以使所述差值小于或等于所述阈值。
其中,若所述差值小于或等于阈值,则处理器601不调整所述第一视频帧实际编码信息。
其中,若所述差值小于或等于阈值,则处理器601不调整所述第一视频帧实际编码信息包括:
若所述第一视频帧实际编码信息包括帧类型P,则不调整所述第一视频帧实际编码信息;
或,若所述第二视频帧实际编码信息包括帧类型B_REF,所述第一视频帧实际编码信息包括所述帧类型B_REF,则不调整所述第一视频帧实际编码信息;
或,若所述第二视频帧实际编码信息包括帧类型b,所述第一视频帧实际编码信息包括所述帧类型b,则不调整所述第一视频帧实际编码信息。
其中,处理器601在接收终端发送的视频切片之后,还包括:
处理器601以预编码视频帧的帧数来确定所述视频切片在实际编码时编码小节中的视频帧的帧数;所述预编码视频帧为所述视频切片中在所述视频切片点之后的视频帧。
其中,所述视频切片中在所述视频切片点之后的视频帧的帧数介于15-40 之间。
其中,若所述第一视频帧实际编码信息所确定的码率与所述第二视频帧实际编码信息所确定的码率的差值大于阈值,则处理器601调整所述第一视频帧实际编码信息包括:
若所述第一视频帧实际编码信息包括帧类型B_REF,则将所述帧类型 B_REF调整为帧类型P;
或,若所述第一视频帧实际编码信息包括帧类型b,则将所述帧类型b调整为所述帧类型P。
其中,处理器601调整所述第一视频帧实际编码信息包括:
处理器601根据所述第二视频帧实际编码信息调整所述第一视频帧实际编码信息。
其中,处理器601根据所述第二视频帧实际编码信息调整所述第一视频帧实际编码信息包括:
若所述第二视频帧实际编码信息包括帧类型P,所述第一视频帧实际编码信息包括帧类型b,则将所述第一视频帧实际编码信息调整为所述帧类型P;
或,若所述第二视频帧实际编码信息包括所述帧类型P,所述第一视频帧实际编码信息帧类型B_REF,则将所述第一视频帧实际编码信息调整为所述帧类型P;
或,若所述第二视频帧实际编码信息包括所述帧类型B_REF,所述第一视频帧实际编码信息包括所述帧类型b,则将所述第一视频帧实际编码信息调整为所述帧类型B_REF。
其中,处理器601调整所述第一视频帧实际编码信息包括:
将所述第一视频帧实际编码信息调整为帧类型P,并将包含所述视频切片点的编码小节中所述视频切片点之前除所述第一视频帧之外的其它视频帧实际编码信息调整为所述帧类型P。
在具体实现中,作为一种可选的实施例,处理器601可以包括一个或多个 CPU,例如图6中的CPU0和CPU1。
在具体实现中,作为一种可选的实施例,服务器600可以包括多个处理器,例如图6中的处理器601和处理器608。这些处理器中的每一个可以是一个单核 (single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令) 的处理核。
在具体实现中,作为一种可选的实施例,服务器600还可以包括输出设备 605和输入设备606。输出设备605和处理器601通信,可以以多种方式来显示信息。例如,输出设备605可以是液晶显示器(Liquid Crystal Display,LCD),发光二极管(Light EmittingDiode,LED)显示设备,阴极射线管(Cathode Ray Tube,CRT)显示设备,或投影仪(projector)等。输入设备606和处理器601通信,可以以多种方式接受用户的输入。例如,输入设备606可以是鼠标、键盘、触摸屏设备或传感设备等。
在具体实现中,服务器600可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、通信设备、嵌入式设备。本发明实施例不限定服务器600的类型。
本发明实施例还提供了一种计算机存储介质,用于存储为上述图3、图4所示的服务器所用的计算机软件指令,其包含用于执行上述方法实施例所涉及的程序。通过执行存储的程序,可以实现对码率的调整。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种码率调整方法,其特征在于,包括:
服务器接收终端发送的视频切片,所述视频切片包括第一视频帧和第二视频帧;所述第一视频帧包括视频切片点之前最后一帧视频图像,所述第二视频帧包括视频切片点之后第一帧视频图像;
若所述第一视频帧实际编码信息所确定的码率与所述第二视频帧实际编码信息所确定的码率的差值大于阈值,则调整所述第一视频帧实际编码信息,以使所述差值小于或等于所述阈值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述差值小于或等于阈值,则不调整所述第一视频帧实际编码信息。
3.根据权利要求2所述的方法,其特征在于,所述若所述差值小于或等于阈值,则不调整所述第一视频帧实际编码信息包括:
若所述第一视频帧实际编码信息包括所述帧类型P,则不调整所述第一视频帧实际编码信息;
或,若所述第二视频帧实际编码信息包括所述帧类型B_REF,所述第一视频帧实际编码信息包括所述帧类型B_REF,则不调整所述第一视频帧实际编码信息;
或,若所述第二视频帧实际编码信息包括所述帧类型b,所述第一视频帧实际编码信息包括所述帧类型b,则不调整所述第一视频帧实际编码信息。
4.根据权利要求1所述的方法,其特征在于,所述服务器接收终端发送的视频切片之后,还包括:
服务器以预编码视频帧的帧数来确定所述视频切片在实际编码时编码小节中的视频帧的帧数;所述预编码视频帧为所述视频切片中在所述视频切片点之后的视频帧。
5.根据权利要求1所述的方法,其特征在于,所述视频切片中在所述视频切片点之后的视频帧的帧数介于15-40之间。
6.根据权利要求1所述的方法,其特征在于,所述若所述第一视频帧实际编码信息所确定的码率与所述第二视频帧实际编码信息所确定的码率的差值大于阈值,则调整所述第一视频帧实际编码信息包括:
若所述第一视频帧实际编码信息包括帧类型B_REF,则将所述帧类型B_REF调整为帧类型P;
或,若所述第一视频帧实际编码信息包括帧类型b,则将所述帧类型b调整为所述帧类型P。
7.根据权利要求1所述的方法,其特征在于,所述调整所述第一视频帧实际编码信息包括:
根据所述第二视频帧实际编码信息调整所述第一视频帧实际编码信息。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第二视频帧实际编码信息调整所述第一视频帧实际编码信息包括:
若所述第二视频帧实际编码信息包括所述帧类型P,所述第一视频帧实际编码信息包括所述帧类型b,则将所述第一视频帧实际编码信息调整为所述帧类型P;
或,若所述第二视频帧实际编码信息包括所述帧类型P,所述第一视频帧实际编码信息所述帧类型B_REF,则将所述第一视频帧实际编码信息调整为所述帧类型P;
或,若所述第二视频帧实际编码信息包括所述帧类型B_REF,所述第一视频帧实际编码信息包括所述帧类型b,则将所述第一视频帧实际编码信息调整为所述帧类型B_REF。
9.根据权利要求1所述的方法,其特征在于,所述调整所述第一视频帧实际编码信息包括:
将所述第一视频帧实际编码信息调整为帧类型P,并将包含所述视频切片点的编码小节中所述视频切片点之前除所述第一视频帧之外的其它视频帧实际编码信息调整为所述帧类型P。
10.一种服务器,其特征在于,包括:
接收单元,用于接收终端发送的视频切片,所述视频切片包括第一视频帧和第二视频帧;所述第一视频帧包括视频切片点之前最后一帧视频图像,所述第二视频帧包括视频切片点之后第一帧视频图像;
第一调整单元,用于在所述第一视频帧实际编码信息所确定的码率与所述第二视频帧实际编码信息所确定的码率的差值大于阈值时,调整所述第一视频帧实际编码信息,以使所述差值小于或等于所述阈值。
11.根据权利要求9所述的服务器,其特征在于,所述服务器还包括:
第二调整单元,用于在所述差值小于或等于阈值时,不调整所述第一视频帧实际编码信息。
12.根据权利要求9所述的服务器,其特征在于,所述服务器还包括确定单元;
所述确定单元,用于在接收单元接收终端发送的视屏切片之后,以预编码视频帧的帧数来确定所述视频切片在实际编码时编码小节中的视频帧的帧数;所述预编码视频帧为所述视频切片中在所述视频切片点之后的视频帧。
13.根据权利要求11所述的服务器,其特征在于,所述视频切片中在所述视频切片点之后的视频帧的帧数介于15-40之间。
14.一种服务器,其特征在于,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-9任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810534981.6A CN108769737B (zh) | 2018-05-29 | 2018-05-29 | 一种码率调整方法、服务器及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810534981.6A CN108769737B (zh) | 2018-05-29 | 2018-05-29 | 一种码率调整方法、服务器及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108769737A true CN108769737A (zh) | 2018-11-06 |
CN108769737B CN108769737B (zh) | 2022-07-29 |
Family
ID=64003775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810534981.6A Active CN108769737B (zh) | 2018-05-29 | 2018-05-29 | 一种码率调整方法、服务器及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108769737B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501015A (zh) * | 2022-04-06 | 2022-05-13 | 杭州未名信科科技有限公司 | 视频编码码率处理方法和装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954503B1 (en) * | 1999-03-01 | 2005-10-11 | Nec Corporation | Video image coding apparatus with individual compression encoding sections for different image divisions |
CN102752598A (zh) * | 2012-07-09 | 2012-10-24 | 北京博雅华录视听技术研究院有限公司 | 快速自适应码率控制方法 |
CN103826124A (zh) * | 2012-11-19 | 2014-05-28 | 美国博通公司 | 管理用于并行转码的编码器参数 |
CN106961604A (zh) * | 2017-03-07 | 2017-07-18 | 腾讯科技(深圳)有限公司 | 视频编码的码率分配、编码单元码率分配方法及装置 |
-
2018
- 2018-05-29 CN CN201810534981.6A patent/CN108769737B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954503B1 (en) * | 1999-03-01 | 2005-10-11 | Nec Corporation | Video image coding apparatus with individual compression encoding sections for different image divisions |
CN102752598A (zh) * | 2012-07-09 | 2012-10-24 | 北京博雅华录视听技术研究院有限公司 | 快速自适应码率控制方法 |
CN103826124A (zh) * | 2012-11-19 | 2014-05-28 | 美国博通公司 | 管理用于并行转码的编码器参数 |
CN106961604A (zh) * | 2017-03-07 | 2017-07-18 | 腾讯科技(深圳)有限公司 | 视频编码的码率分配、编码单元码率分配方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501015A (zh) * | 2022-04-06 | 2022-05-13 | 杭州未名信科科技有限公司 | 视频编码码率处理方法和装置、存储介质及电子设备 |
CN114501015B (zh) * | 2022-04-06 | 2022-09-02 | 杭州未名信科科技有限公司 | 视频编码码率处理方法和装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108769737B (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6854888B2 (ja) | ビデオ符号化方法、コンピュータ装置および記憶媒体 | |
US11412229B2 (en) | Method and apparatus for video encoding and decoding | |
JP6087940B2 (ja) | 復号化ピクチャ・バッファおよび参照ピクチャ・リストのための状態情報のシグナリング | |
US10869048B2 (en) | Method, device and system for transmitting and receiving pictures using a hybrid resolution encoding framework | |
US11057628B2 (en) | Effective intra encoding for screen data | |
CN105451031B (zh) | 一种视频转码方法和系统 | |
CN108810545B (zh) | 用于视频编码的方法、装置、计算机可读介质及电子设备 | |
US9560393B2 (en) | Media processing node | |
JP2015501098A5 (zh) | ||
EP2807821A2 (en) | Method and system for controlling video frame encoding | |
WO2014002495A1 (en) | Parallel processing of image tiles | |
CN108401185B (zh) | 参考帧选择方法、视频转码方法、电子设备和存储介质 | |
CN115134629B (zh) | 视频传输方法、系统、设备及存储介质 | |
CN108769737B (zh) | 一种码率调整方法、服务器及计算机可读介质 | |
JP2019110376A (ja) | デコードエラー検出推定装置、映像復号装置、及びこれらのプログラム | |
CN112632426B (zh) | 网页处理方法及装置 | |
Slowack et al. | Distributed video coding with feedback channel constraints | |
CN111277838B (zh) | 编码模式选择方法、装置、电子设备及计算机可读介质 | |
JP6470191B2 (ja) | 映像符号化方法、映像符号化装置及び映像符号化プログラム | |
US20060061497A1 (en) | Bit rate conversion apparatus and method | |
US10148965B2 (en) | Moving image coding apparatus and moving image coding method | |
US9756344B2 (en) | Intra refresh method for video encoding and a video encoder for performing the same | |
US9253484B2 (en) | Key frame aligned transcoding using statistics file | |
CN115883836A (zh) | 一种视频数据处理方法、装置、设备和存储介质 | |
WO2024217464A1 (en) | Method, apparatus, and medium for video processing |
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 |