一种视频编码方法及装置与流程

文档序号:17489620发布日期:2019-04-23 20:20阅读:213来源:国知局
一种视频编码方法及装置与流程

本发明涉及编码技术领域,特别是涉及一种视频编码方法及装置。



背景技术:

网络技术的发展给用户带来许多便利,用户可以在生活的多方面应用到网络技术。示例性的,用户在网络上使用应用程序观看在线视频的时候,希望在线视频可以有较高的启播速度,在启播速度较高的情况下,在线视频可以快速的播放。现有技术通过对在线视频编码,降低在线视频的码率,提高在线视频的启播速度,一般现有技术对在线视频编码的过程如下:

将在线视频发送给用户前,会根据用户观看的需求,将crf(constantratefactor,恒定码率系数)编码模式中的rf(ratefactor,码率系数)进行设置,以对在线视频进行编码,并将编码后的在线视频发送给用户。由于rf范围是[0,51],rf的取值越高,在线视频的码率越低,其中,rf的值取为0,编码后的在线视频质量无损;rf的值取为51,编码后的在线视频质量最差。

然而,发明人在实现本发明的过程中发现,如果用户请求观看清晰度较高的在线视频,服务器会将对应码率较高的在线视频发送给用户观看,终端在播放较高码率的在线视频时,会增加网络带宽及视频解码的压力,会影响用户观看视频的启播速度。



技术实现要素:

本发明实施例的目的在于提供一种视频编码方法及装置,通过待编码视频中获取启播阶段视频作为待编码视频;以低于待编码视频的码率,对待编码视频进行编码,提高在线视频的启播速度。具体技术方案如下:

第一方面,本发明实施例提供的一种视频编码方法,包括:

获取待编码视频,所述待编码视频包括启播阶段视频和非启播阶段视频;

对所述启播阶段视频按照预设低码率进行编码,得到启播阶段编码视频;

对所述非启播阶段视频按照预设正常码率进行编码,得到非启播阶段编码视频;

其中,所述预设低码率小于所述预设正常码率。

可选的,本发明第一方面实施例提供的一种视频编码方法还包括:

将占所述待编码视频的总时长为预设比例的时间长度,确定为启播时长;

从所述待编码视频的起始位置开始,将所述启播时长对应的视频段作为所述启播阶段视频。

可选的,所述启播阶段视频包括多个编码阶段;所述对所述启播阶段视频按照预设低码率进行编码,包括:

分别按照从低到高的码率对所述多个编码阶段的启播阶段视频进行编码。

本发明第一方面实施例提供的一种视频编码方法还包括:

接收终端发送的待播放视频的视频请求,所述视频请求携带所述待播放视频的播放码率,并将所述播放码率作为所述预设正常码率,所述待播放视频与所述待编码视频的内容相同。

本发明第一方面实施例提供的一种视频编码方法还包括:

将已编码视频发送给所述终端;其中,所述已编码视频包括所述启播阶段编码视频和所述非启播阶段编码视频。

第二方面,本发明实施例提供的一种视频编码装置,包括:

视频获取模块,用于获取待编码视频,待编码视频包括启播阶段视频和非启播阶段视频;

第一编码模块,用于对启播阶段视频按照预设低码率进行编码,得到启播阶段编码视频;

第二编码模块,用于对非启播阶段视频按照预设正常码率进行编码,得到非启播阶段编码视频;

其中,预设低码率小于预设正常码率。

可选的,本发明第二方面实施例提供的一种视频编码装置还包括:

视频确定模块,用于将占待编码视频的总时长为预设比例的时间长度,确定为启播时长;

从待编码视频的起始位置开始,将启播时长对应的视频段作为启播阶段视频。

可选的,启播阶段视频包括多个编码阶段;

第一编码模块具体用于:

分别按照从低到高的码率对多个编码阶段的启播阶段视频进行编码。

本发明第二方面实施例提供的一种视频编码装置还包括:

视频请求模块,用于接收终端发送的待播放视频的视频请求,视频请求携带待播放视频的播放码率,并将播放码率作为预设正常码率,待播放视频与待编码视频的内容相同。

本发明第二方面实施例提供的一种视频编码装置还包括:

视频发送模块,用于将已编码视频发送给终端。

其中,已编码视频包括启播阶段编码视频和非启播阶段编码视频。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的一种视频编码方法。

在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的一种视频编码方法。

本发明实施例提供的一种视频编码方法及装置,获取待编码视频,待编码视频包括启播阶段视频和非启播阶段视频;对启播阶段视频按照预设低码率进行编码,得到启播阶段编码视频;对非启播阶段视频按照预设正常码率进行编码,得到非启播阶段编码视频。由于用户对于启播阶段视频质量要求较低,相比于现有技术,本发明实施例以预设低码率对启播阶段视频进行编码,降低启播阶段视频的质量,对非启播阶段视频按照正常码率编码,因此,用户观看编码后的待编码视频的启播速度较高。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的一种视频分发的场景示意图;

图2为本发明实施例提供的一种视频编码方法的流程图;

图3为本发明实施例提供的获取启播阶段视频的流程图;

图4为本发明实施例提供的对启播阶段视频进行编码的流程图;

图5为本发明实施例提供的对不同编码阶段的启播阶段视频设置不同的rf值的示意图;

图6为本发明实施例提供的一种视频编码装置的结构图;

图7为本发明实施例提供的一种电子设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

本发明实施例所提供的一种视频编码方法,应用于编码服务器,也可以是除编码服务器以外的其他具有类似功能的设备。

如图1所示,针对现有技术中用户观看视频的启播速度较慢的问题,本发明实施例提供的一种视频编码方法可以应用于编码服务器,编码服务器对视频编码后发送至终端的具体过程如下:

编码服务器在获取到待编码视频后,将待编码视频分为启播阶段视频和非启播阶段视频,将非启播阶段视频按照预定的编码方式进行编码,如720p、1080p等,对启播阶段视频,按照较低的码率进行编码,以提高终端在播放该视频时的启播速度。另外,还可以对启播阶段视频进一步的划分为多个阶段,依次按照从低至高的码率顺序,选择预设低码率对该启播阶段中包括的不同阶段分别进行编码,非启播阶段视频按照用户发送视频请求选择的视频码率进行编码,然后将编码后的待编码视频发送给切片器进行切片,将切片后的视频最终通过内容分发网络传输至终端。

其中,对启播阶段视频进行编码的码率低于非启播阶段视频对应编码的码率。

这样编码服务器在户请求观看清晰度较高的在线视频时,会对待编码视频中的启播阶段视频按照预设低码率进行编码,以提高待编码视频的起播速度,并对待编码视频中的非启播阶段视频按照预设正常码率进行编码。由于本发明实施例对启播阶段视频进行低码率编码,对非启播阶段视频进行预设正常码率编码,这样在提高视频启播速度的同时,也不会影响用户对后续视频清晰度的观看体验。

下面继续对本发明实施例提供的一种视频编码方法作详细介绍。

结合图1,如图2所示,本发明实施例提供的一种视频编码方法,包括:

s201,获取待编码视频,所述待编码视频包括启播阶段视频和非启播阶段视频;

其中,启播阶段视频与待编码视频的总时长正相关。

为了提高在线视频的启播速度,上述s201可以采用至少一种实施方式,获得待编码视频:

在一种可能的实施方式中,在接收终端发送的待播放视频的视频请求后,将待播放视频作为待编码视频。

在另一种可能的实施方式中,在接收终端发送的待播放视频的视频请求后,选择高于视频请求中携带待播放视频的播放码率,且与待播放视频内容相同的视频作为待编码视频。

如图3所示,在一种可能的实施方式中,通过如下步骤,获得启播阶段视频:

s301,将占待编码视频的总时长为预设比例的时间长度,确定为启播时长;

其中,预设比例是预先设定的比例值,预设比例可以但不限于是由待编码视频的时间长度确定的。一般预设比例与待编码视频的时间长度呈正相关,也就是视频时间长度越长,预设比例可以越大。下面举例说明预设比例与待编码视频、启播时长之间的关系。

例如:如果待编码视频为大于预设时间长度的视频,也可以称为长视频,其中预设时间长度可以但不限于大于20分钟。此处待编码视频的总长度可以为60分钟,预设比例可以为占待编码视频的总长度可以为为6分钟,则启播时长可以为6分钟。如果待编码视频为小于预设时间长度的视频,也可以称为短视频。此处待编码视频的总长度可以为15秒,预设比例可以为占待编码视频的总长度可以为为3秒,则启播时长可以为3秒。

s302,从待编码视频的起始位置开始,将启播时长对应的视频段作为启播阶段视频。

本实施方式将占待编码视频的总时长为预设比例的时间长度对应的视频段,确定为启播阶段视频,本实施方式中的启播阶段视频的长短可以随着待编码视频的长短适应性变化,实时性更高。

s202,对启播阶段视频按照预设低码率进行编码,得到启播阶段编码视频;

其中,预设低码率低于预设正常码率。

为了提高对启播阶段视频编码的准确率,可以通过至少一种实施方式获得预设正常码率:

在一种可能的实施方式中,可以预先设置码率数值作为预设正常码率,提高确定预设正常码率的效率。

在另一种可能的实施方式中,可以接收终端发送的待播放视频的视频请求,将视频请求携带的待播放视频的播放码率作为预设正常码率。

其中,待播放视频与待编码视频的内容相同。

假设,在用户需要观看a视频,a视频格式包含720p、1080p、1080i,用户选择1080p格式的a视频,则1080p格式的a视频是待播放视频,用户发送的a的视频请求中携带1080p格式的a视频的码率是30,则预设正常码率为30。

在一种可能的实施方式中,可以预先设置低于预设正常码率的码率数值作为预设低码率,提高确定预设低码率的效率。

为了提高在线视频的启播速度,上述s202可以采用至少一种实施方式,对启播阶段视频按照预设低码率进行编码:

如图4所示,在一种可能的实施方式中,通过如下步骤对启播阶段视频按照预设低码率进行编码:

s401,对启播阶段视频进行分段,获得多个编码阶段的启播阶段视频;

上述步骤s401中对启播阶段视频进行分段的方式可以但不限于是均匀分段,也可以是非均匀分段。

在一种可能的实施方式中,以预设时间段及时间前后次序,对启播阶段视频分为视频片段,将视频片段按照时间前后次序进行排序,获得多个编码阶段的启播阶段视频。

其中,预设时间段可以是根据启播阶段视频的时间长短设置的,这样可以实现均匀分段。

下面举例说明以预设时间段及时间前后次序,对启播阶段视频分为多个编码阶段的过程。

例如:启播阶段视频可以是10秒,预设时间段可以为3秒,则将启播阶段视频可以分为4段,0-3秒可以为一个视频片段,3-6秒可以为一个视频片段,6-9秒可以为一个视频片段,9-10秒可以为一个视频片段。将0-3秒、3-6秒、6-9、9-10秒的视频片段按照时间前后次序进行排序,则0-3秒可以为第一个编码阶段的启播阶段视频,3-6秒可以为第二个编码阶段的启播阶段视频,6-9可以为第三个编码阶段的启播阶段视频,9-10秒可以为最后一个编码阶段的启播阶段视频。

在另一种可能的实施方式中以预设时间段及时间前后次序,对启播阶段视频分为预设数量个视频片段,将视频片段按照时间前后次序进行排序,获得多个编码阶段的启播阶段视频。

其中,预设数量可以为:启播阶段视频的时间长度与预设时间段的比值,的整数部分。

下面举例说明以预设时间段及时间前后次序,对启播阶段视频分为预设数量个视频片段,获得多个编码阶段的启播阶段视频的过程。

例如:启播阶段视频可以是10秒,预设的时间段可以为3秒,则预设的数量可以为3,则将启播阶段视频可以分为3个,0-3秒可以为一个视频片段,3-6秒可以为一个视频片段,6-10秒可以为一个视频片段,将0-3秒、3-6秒、6-10秒的视频片段按照时间前后次序进行排序,则0-3秒可以为第一个编码阶段的启播阶段视频,3-6秒可以为第二个编码阶段的启播阶段视频,6-10可以为最后一个编码阶段的启播阶段视频。

s402,分别按照从低到高的码率对多个编码阶段的启播阶段视频进行编码。

为了提高对启播阶段视频进行编码的准确率,上述s402可以采用至少一种实施方式,分别按照从低到高的码率对多个编码阶段的启播阶段视频进行编码:

在一种可能的实施方式中,以低于预设正常码率,按照启播阶段视频的编码阶段次序,依次以码率递增的编码模式,对多个编码阶段的启播阶段视频进行编码。

其中,编码阶段次序是多个编码阶段的启播阶段视频按照时间顺序进行排序后的前后次序,使得最后一个编码阶段的启播阶段编码视频的码率可以高于第一个编码阶段的启播阶段编码视频的码率,并低于非启播阶段编码视频的码率;或者,使得最后一个编码阶段的启播阶段编码视频的码率也可以与非启播阶段编码视频的码率相同。

以码率递增的编码模式中的递增方式可以是指每次均等增长码率的幅度,或者每次非均等增长码率的幅度。

下面举例说明以按照启播阶段视频的编码阶段次序,依次以码率递增的编码模式,对多个编码阶段的启播阶段视频进行编码。

例如:编码阶段的启播阶段视频为a、b、c,a、b、c的编码阶段次序分别可以为1、2、3,非启播阶段视频的码率可以为30。如果rf值大于18,则非启播阶段视频的码率低于30。假设按照编码阶段次序,设置crf编码中rf值可以为28,对a进行编码;crf编码中rf值可以为22对b进行编码,crf编码中rf值可以为18,对c进行编码。

可以理解的是,如果视频的码率突变,视频的质量也会随之突变,这样会导致用户观看视频的体验不佳。本实施方式,以低于预设正常码率,按照启播阶段视频的编码阶段次序,依次以码率递增的编码模式,对多个编码阶段的启播阶段视频进行编码,使得最后一个编码阶段的启播阶段编码视频的码率与非启播阶段编码视频的码率相同,可以逐渐提高待编码视频的质量,使得编码后的待编码视频质量平稳过渡,提高用户体验。

在另一种可能的实施方式中,按照启播阶段视频的编码阶段次序,设置预设的码率增长幅度,依次按照码率增长幅度递增,按照码率从低到高的形式对多个编码阶段的启播阶段视频进行编码,以提高对多个编码阶段的启播阶段视频编码的准确率。

其中,码率增长幅度可以为在前一次码率值的基础上,码率增长的数值。

在又一种可能的实施方式中,按照启播阶段视频的编码阶段次序,设置crf编码中rf值递减幅度,依次以rf递减幅度进行递增的编码模式,对多个编码阶段的启播阶段视频进行编码。

其中,rf递减幅度为:在前一次rf值的基础上,rf减少的数值。rf递减幅度可以但是不限于设置为6。

下面举例说明以低于待编码视频的码率,按照分段视频的分段次序,设置crf编码中rf值递减幅度,依次以rf递减幅度进行递增的编码模式,对多个编码阶段的启播阶段视频的过程。

例如:编码阶段的启播阶段视频为a、b、c,a、b、c的编码阶段次序分别可以为1、2、3,非启播阶段视频的码率可以为30。如果rf值大于18,则非启播阶段视频的码率低于30。假设crf编码中rf初始值可以为36,rf递减幅度可以为6,按照编码阶段次序,设置crf编码中rf值可以为30,对a进行编码;crf编码中rf值可以为24对b进行编码,crf编码中rf值可以为18,对c进行编码。

可以理解的是,crf编码中rf增加6,编码后的启播阶段视频的码率约减少一半;crf编码中rf减6,编码后的启播阶段视频的码率翻倍,因此本实施方式通过设置rf递减幅度的形式,依次以rf值按照rf递减幅度递减的编码模式,对多个编码阶段的启播阶段视频进行编码,可以快速提高启播阶段视频的码率。

s203,对非启播阶段视频按照预设正常码率进行编码,得到非启播阶段编码视频。

由于用户对于启播阶段视频质量要求较低,相比于现有技术,本发明实施例以预设低码率对启播阶段视频进行编码,降低启播阶段视频的质量,对非启播阶段视频按照正常码率编码,因此,用户观看编码后的待编码视频的启播速度较高。

本发明实施例提供的一种视频编码方法还包括:将已编码视频发送给终端。

其中,已编码视频包括启播阶段编码视频和非启播阶段编码视频,已编码视频中,起播阶段编码视频在前,非启播阶段编码视频在后。

下面继续对本发明实施例提供的一种视频编码装置作介绍。

如图6所示,本发明实施例提供的一种视频编码装置,包括:

视频获取模块601,用于获取待编码视频,待编码视频包括启播阶段视频和非启播阶段视频;

第一编码模块602,用于对启播阶段视频按照预设低码率进行编码,得到启播阶段编码视频;

第二编码模块603,用于对非启播阶段视频按照预设正常码率进行编码,得到非启播阶段编码视频;

其中,预设低码率小于预设正常码率。

可选的,本发明实施例提供的一种视频编码装置还包括:

视频确定模块,用于将占待编码视频的总时长为预设比例的时间长度,确定为启播时长;

从待编码视频的起始位置开始,将启播时长对应的视频段作为启播阶段视频。

可选的,启播阶段视频包括多个编码阶段;

第一编码模块具体用于:

分别按照从低到高的码率对多个编码阶段的启播阶段视频进行编码。

本发明实施例提供的一种视频编码装置还包括:

视频请求模块,用于接收终端发送的待播放视频的视频请求,视频请求携带待播放视频的播放码率,并将播放码率作为预设正常码率,待播放视频与待编码视频的内容相同。

本发明实施例提供的一种视频编码装置还包括:

视频发送模块,用于将已编码视频发送给终端。

其中,已编码视频包括启播阶段编码视频和非启播阶段编码视频。

本发明实施例还提供了一种服务器,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,

存储器703,用于存放计算机程序;

处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:

获取待编码视频;

对启播阶段视频按照预设低码率进行编码,得到启播阶段编码视频;

对非启播阶段视频按照预设正常码率进行编码,得到非启播阶段编码视频。

其中,所述预设低码率小于所述预设正常码率。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种视频编码方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种视频编码方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/计算机可读存储介质/计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1