CN103024460B - 多码流自适应的方法及系统 - Google Patents

多码流自适应的方法及系统 Download PDF

Info

Publication number
CN103024460B
CN103024460B CN201210536875.4A CN201210536875A CN103024460B CN 103024460 B CN103024460 B CN 103024460B CN 201210536875 A CN201210536875 A CN 201210536875A CN 103024460 B CN103024460 B CN 103024460B
Authority
CN
China
Prior art keywords
code check
list
code
bit rate
resolution
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.)
Expired - Fee Related
Application number
CN201210536875.4A
Other languages
English (en)
Other versions
CN103024460A (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.)
Vtron Technologies Ltd
Original Assignee
Vtron Technologies 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 Vtron Technologies Ltd filed Critical Vtron Technologies Ltd
Priority to CN201210536875.4A priority Critical patent/CN103024460B/zh
Publication of CN103024460A publication Critical patent/CN103024460A/zh
Application granted granted Critical
Publication of CN103024460B publication Critical patent/CN103024460B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种多码流自适应的方法,包括步骤:接收期望分辨率;将每个所述期望分辨率与预设码率列表中各码率相减,确定每个所述期望分辨率的差值绝对值的最小值,根据各所述最小值确定各个所述期望分辨率对应的码率;根据各个所述期望分辨率对应的码率和预设码流路数,确定输出码率列表。本发明还提供了对应的装置,包括多码流视频编码服务器、接收模块、处理模块。本发明通过确定输出码流列表,能够根据期望分辨率,动态提供合适分辨率的码流,既能尽力保证整体码流较低,又能节省网络传输带宽,并降低码流请求节点解码的负载,提高性能指标。

Description

多码流自适应的方法及系统
技术领域
本发明涉及视频多码流编码传输技术领域,特别是涉及多码流自适应的方法及系统。
背景技术
多码流视频编码服务器是一种可以将一路视频图像编码成多个码率码流进行输出的服务器。例如可以将一个原始分辨率为FullHD(1920x1080)的视频图像编码输出为HD(1280x720)、D1(720x576)2路不同分辨率(码率)的码流进行输出。码流请求节点是一种向多码流视频编码服务器请求码流的主机,请求到码流后,一般会将码流进行解码并显示。
目前的多码流视频编码服务器大多为固定码率码流输出,例如,固定输出D1码流和HD两种码流,由码流请求节点负责申请合适的码流。但是当视频窗口的实际显示分辨率远小于D1时,例如码流请求节点的信号显示分辨率为176x144时,如果请求D1的分辨率,那么将造成带宽的浪费,如果该码流请求节点有100个这样的码流显示窗口,网络带宽会被严重浪费,并且码流请求节点的CPU会被浪费,系统性能指标被降低。
发明内容
基于此,有必要针对节省网络传输带宽,降低码流请求节点解码的负载的问题,提供一种多码流自适应的方法及系统。
一种多码流自适应的方法,包括步骤:
接收期望分辨率;
将每个所述期望分辨率与预设码率列表中各码率相减,确定每个所述期望分辨率的差值绝对值的最小值,根据各所述最小值确定各个所述期望分辨率对应的码率;
根据各个所述期望分辨率对应的码率和预设码流路数,确定输出码率列表。
上述多码流自适应的方法,通过确定输出码流列表,能够根据期望分辨率,动态提供合适分辨率的码流,既能尽力保证整体码流较低,又能节省网络传输带宽,并降低码流请求节点解码的负载,提高性能指标。
一种多码流自适应系统,包括多码流视频编码服务器,所述多码流视频编码服务器包括:
接收模块,用于接收期望分辨率;
处理模块,用于将每个所述期望分辨率与预设码率列表中各码率相减,确定每个所述期望分辨率的差值绝对值的最小值,根据各所述最小值确定各个所述期望分辨率对应的码率;根据各个所述期望分辨率对应的码率和预设码流路数,确定输出码率列表。
上述多码流自适应系统,通过多码流视频编码服务器确定输出码流列表,能够根据码流请求节点对码流的期望分辨率,动态提供合适分辨率的码流,既能尽力保证整体码流较低,又能节省网络传输带宽,并降低码流请求节点解码的负载,提高性能指标。
附图说明
图1为本发明多码流自适应的方法实施例一的流程示意图;
图2为本发明多码流自适应的方法实施例二的流程示意图;
图3为本发明多码流自适应系统实施例一的结构示意图;
图4为本发明多码流自适应系统实施例二的结构示意图。
具体实施方式
以下针对本发明多码流自适应的方法及系统的各实施例进行详细的描述。
首先针对多码流自适应的方法的各实施例进行描述。
实施例一
参见图1,为本发明多码流自适应的方法实施例一的流程示意图,包括步骤:
步骤S101:接收期望分辨率;
步骤S102:将每个期望分辨率与预设码率列表中各码率相减,确定每个期望分辨率的差值绝对值的最小值,根据各最小值确定各个期望分辨率对应的码率;
步骤S103:根据各个期望分辨率对应的码率和预设码流路数,确定输出码率列表。
其中,确定输出码率列表包括步骤:
根据各个期望分辨率对应的码率,确定使用码率列表;
当预设码流路数大于使用码率列表中码率个数时,输出码率列表为使用码率列表,
当预设码流路数小于或等于使用码率列表中码率个数时,从使用码率列表中取出至少包括最大使用码率的码率作为输出码率,输出码率个数为预设码流路数。
在其中一个实施例中,一路视频图像S的分辨率为1920x1080;有3个码流请求节点Node1、Node2和Node3,它们对信号S的期望分辨率依次为150x140、360x290、700x570;多码流视频编码服务器能够编码输出信号S的FullHD(1920x1080)、D1(720x576)、CIF(352x288)、QCIF(176x144)分辨率码流的图像,即预设码率列表为[FullHD、D1、CIF、QCIF]。能够同时输出2路码率码流,即预设码流路数为2。
那么,本例中的期望分辨率为150x140、360x290、700x570;预设码率列表bitsList为(FullHD、D1、CIF、QCIF);预设码流路数outCount为2。
接收期望分辨率150x140、360x290、700x570,在一个具体实施例中,可以生成期望分辨率列表resolList:(150x140、360x290、700x570);
将resolList中的每一个期望分辨率映射到bitList的相应码率。在一个具体实施例中,可以将预设码率列表中的码率按从小到大排列,那么期望分辨率对应的码率就是预设码率列表中与期望分辨率的差值绝对值最小的那个。求差值时,先将分辨率进行乘积,再将乘积后的期望分辨率和码率相减。
按照这个方法,排序后的预设码率列表bitsList为(QCIF、CIF、D1、FullHD),resolList中的每一个期望分辨率都能在预设码率列表bitsList找到对应的码流,我们把这种对应关系记录为map<expectResol,bit>,其中bit为bitsList中与expectResol对应的那个码率。在一个具体实施例中,将那些用到的码率记录为使用码率列表bitusedList,很显然,bitusedList就是map<expectResol,bit>的所有bit。
则expectResol(150x140)对应bitList(QCIF),expectResol(360x290)对应bitList(CIF),expectResol(700x570)对应bitList(D1)。这种对应关系被记录在map<expectResol,bit>中。使用码率列表bitusedList为(QCIF,CIF,D1)。
根据预设码流路数2和使用码率列表(QCIF,CIF,D1),确定输出码率列表bitOutList,采用如下步骤进行选择:
当N>m时,所述使用码率列表作为所述输出码率列表;
当1=N≤m时,所述使用码率列表中的最大码率作为第N次查找的输出码率,即f(1)=bitused(m);
当2=N≤m时,所述使用码率列表中的最小码率作为第N次查找的输出码率,具体为f(2)=bitused(1);
当3≤N≤m时,对所述使用码率列表中的码率从小到大进行1到m的编号,所述使用码率列表中的最大码率和最小码率分别作为输出码率,分别标记所述最大码率和最小码率对应的编号;
从标记编号中取出最大值编号和第二大值编号,将所述最大值编号和第二大值编号及1求和,对求和结果的一半向下取整,确定新编号,所述新编号对应的使用码率作为输出码率,对所述最大值编号去标记;
判断是否完成第N次查找,若是,根据各个所述输出码率确定输出码率列表;
判断所述第二大值是否为1,若是,则对去标记的编号恢复标记,标记各个所述新编号,返回从标记编号中取出最大值编号和第二大值编号,若否,返回从标记编号中取出最大值编号和第二大值编号;
用公式表示如下:
以此类推,得到所有bitoutList中的节点。
其中,N表示预设码流路数,m表示所述使用码率列表中码率个数。定义bitusedList中第N个编号码率为bitused(N),第n次查找的码率为f(n),记f(n)在bitusedList中的索引为Index(f(n)),索引即为使用码率列表中使用码率的编号,其中,1<=n<=min(outCount,bitusedCount)。
公式中“+1”的目的是为了优先选择右侧的较高码率的码流,以保证码流请求节点显示图像时足够清晰。
因为预设码率路数为2,则
f(1)=bitused(m)=(D1);
f(2)=bitused(1)=(QCIF)。
从而输出码率列表为(D1、QCIF)。
实施例二
参见图2,为本发明多码流自适应的方法实施例二的流程示意图,本方法采用对中间值向上取整的方法确定输出码率列表,同时对每个期望分辨率分配了确定的输出码率,包括步骤:
步骤S201:接收期望分辨率;
步骤S202:将每个期望分辨率与预设码率列表中各码率相减,确定每个期望分辨率的差值绝对值的最小值,根据各最小值确定各个期望分辨率对应的码率;
步骤S203:根据各个期望分辨率对应的码率和预设码流路数,确定输出码率列表;
步骤S204:将每个期望分辨率与输出码率列表中各输出码率相减,确定每个期望分辨率与输出码率的差值绝对值的最小值,根据各差值绝对值的最小值确定各个期望分辨率对应的输出码率。
其中,确定输出码率列表包括步骤:
根据各个期望分辨率对应的码率,确定使用码率列表;
当预设码流路数大于使用码率列表中码率个数时,输出码率列表为使用码率列表,
当预设码流路数小于或等于使用码率列表中码率个数时,从使用码率列表中取出至少包括最大使用码率的码率作为输出码率,输出码率个数为预设码流路数。
在其中一个实施例中,一路视频图像S的分辨率为1920x1080;有4个码流请求节点Node1、Node2、Node3和Node4,它们对信号S的期望分辨率依次为150x140、360x290、700x570、2560x1600;多码流视频编码服务器能够编码输出信号S的FullHD(1920x1080)、D1(720x576)、HalfD1(720x288)、CIF(352x288)、QCIF(176x144)、SubQCIF(128x96)分辨率码流的图像,即预设码率列表为[FullHD、D1、HalfD1、CIF、QCIF、SubQCIF]。能够同时输出3路码率码流,即预设码流路数为3。
那么,本例中的期望分辨率为150x140、360x290、700x570、2560x1600,预设码率列表bitsList为(FullHD、D1、HalfD1、CIF、QCIF、SubQCIF),预设码流路数outCount为3.
接收期望分辨率150x140、360x290、700x570、2560x1600,在一个具体实施例中,可以生成期望分辨率列表resolList:(150x140、360x290、700x570、2560x1600);
将resolList中的每一个期望分辨率映射到bitList的相应码率。在一个具体实施例中,可以将预设码率列表中的码率按从小到大排列,那么期望分辨率对应的码率就是预设码率列表中与期望分辨率的差值绝对值最小的那个。求差值时,先将分辨率进行乘积,再将乘积后的期望分辨率和码率相减。
按照这个方法,排序后的预设码率列表bitsList为(SubQCIF、QCIF、CIF、HalfD1、D1、FullHD),resolList中的每一个期望分辨率都能在预设码率列表bitsList找到对应的码流,我们把这种对应关系记录为map<expectResol,bit>,其中bit为bitsList中与expectResol对应的那个码率。在一个具体实施例中,将那些用到的码率记录为使用码率列表bitusedList,很显然,bitusedList就是map<expectResol,bit>的所有bit。
则expectResol(150x140)对应bitList(QCIF),expectResol(360x290)对应bitList(CIF),expectResol(700x570)对应bitList(D1),expectResol(2560x1600)对应bitList(FullHD)。这种对应关系被记录在map<expectResol,bit>中。使用码率列表bitusedList为(QCIF、CIF、D1、FullHD)。
根据预设码流路数3和使用码率列表(QCIF、CIF、D1、FullHD),确定输出码率列表bitOutList,采用如下步骤进行选择:
当N>m时,所述使用码率列表作为所述输出码率列表;
当1=N≤m时,所述使用码率列表中的最大码率作为第N次查找的输出码率,即f(1)=bitused(m)
当2=N≤m时,所述使用码率列表中的最小码率作为第N次查找的输出码率,具体为f(2)=bitused(1);
当3≤N≤m时,对所述使用码率列表中的码率从小到大进行1到m的编号,所述使用码率列表中的最大码率和最小码率分别作为输出码率,分别标记所述最大码率和最小码率对应的编号;
从标记编号中取出最大值编号和第二大值编号,将所述最大值编号和第二大值编号求和,对求和结果的一半向上取整,确定新编号,所述新编号对应的使用码率作为输出码率,对所述最大值编号去标记;
判断是否完成第N次查找,若是,根据各个所述输出码率确定输出码率列表;
判断所述第二大值是否为1,若是,则对去标记的编号恢复标记,标记各个所述新编号,返回从标记编号中取出最大值编号和第二大值编号,若否,返回从标记编号中取出最大值编号和第二大值编号;
用公式表示如下:
以此类推,得到所有bitoutList中的节点。
其中,N表示预设码流路数,m表示所述使用码率列表中码率个数。定义bitusedList中第N个编号码率为bitused(N),第n次查找的码率为f(n),记f(n)在bitusedList中的索引为Index(f(n)),索引即为使用码率列表中使用码率的编号,其中,1<=n<=min(outCount,bitusedCount)。
公式中“+1”的目的是为了优先选择右侧的较高码率的码流,以保证码流请求节点显示图像时足够清晰。
因为预设码率路数为3,则
f(1)=bitused(m)=(FullHD);
f(2)=bitused(1)=(QCIF);
从而输出码率列表为(FullHD、QCIF、D1)。
在一个具体实施例中,将bitusedList的每一个节点映射到bitoutList的相应节点;映射的方法为:将bitusedList中的每一个节点映射为在bitoutList中与它差值的绝对值最小的那个节点。将得到的bitusedList映射后的列表,叫做map<bit,bitOut>。其中bit为上述map<expectResol,bit>中的bit,bitOut为该bit对应的输出码率。即bitusedList(QCIF)对应bitoutList(QCIF),bitusedList(CIF)对应bitoutList(QCIF),bitusedList(D1)对应bitoutList(D1),bitusedList(FullHD)对应bitoutList(FullHD)。这种对应关系被记录在map<bit,bitOut>中。
依据map<expectResol,bit>和map<bit,bitOut>,得到每一个期望分辨率expectResol对应的输出码率bitOut,我们这个对应关系叫做map<expectResol,bitOut>。其中expectResol为码流请求节点的期望分辨率,bitOut为其对应的码率码流。即expectResol(150x140)对应bitoutList(QCIF),expectResol(360x290)对应bitoutList(QCIF),expectResol(700x570)对应bitoutList(D1),expectResol(2560x1600)对应bitoutList(FullHD)。
其中,具体确定输出码率列表不限于上述实施例给出的方法,可以不加1直接取中间值的向下取整,也可以是加1向上取整,还可以是取包括最大码率的任意码率等,具体根据需要设定,在此不再赘述。
根据上述多码流自适应的方法,本发明提供一种多码流自适应系统。
实施例一
参见图3,为本发明多码流自适应系统实施例一的结构示意图,包括多码流视频编码服务器30,所述多码流视频编码服务器30包括:
接收模块301,用于接收期望分辨率;
处理模块302,用于将每个所述期望分辨率与预设码率列表中各码率相减,确定每个所述期望分辨率的差值绝对值的最小值,根据各所述最小值确定各个所述期望分辨率对应的码率;根据各个所述期望分辨率对应的码率和预设码流路数,确定输出码率列表。
在一个实施例中,还包括:
码流请求节点31,用于向多码流视频编码服务器发送期望分辨率,接收多码流视频编码服务器发送的输出码率列表,根据期望分辨率、输出码率列表选择输出码率;
多码流视频编码服务器30还用于向码流请求节点31发送输出码率列表。其中,处理模块还用于:
根据各个期望分辨率对应的码率,确定使用码率列表;
当预设码流路数大于使用码率列表中码率个数时,输出码率列表为使用码率列表,
当预设码流路数小于或等于使用码率列表中码率个数时,从使用码率列表中取出至少包括最大使用码率的码率作为输出码率,输出码率个数为预设码流路数。
在其中一个实施例中,一路视频图像S的分辨率为1920x1080;有3个码流请求节点Node1、Node2和Node3,它们对信号S的期望分辨率依次为150x140、360x290、700x570;多码流视频编码服务器30能够编码输出信号S的FullHD(1920x1080)、D1(720x576)、CIF(352x288)、QCIF(176x144)分辨率码流的图像,即预设码率列表为[FullHD、D1、CIF、QCIF]。能够同时输出2路码率码流,即预设码流路数为2。
码流请求节点Node1、Node2和Node3通过TCP/IP网络向多码流视频编码服务器注册,使请求节点和多码流视频编码服务器之间存在通信链路。码流请求节点Node1、Node2和Node3将对视频S的期望分辨率expectResol:150x140、360x290、700x570发送给多码流视频编码服务器。多码流视频编码服务器接收各码流请求节点的expectResol,形成视频S的期望分辨率列表resolList:(150x140、360x290、700x570)。
那么,本例中的期望分辨率为150x140、360x290、700x570,预设码率列表bitsList为(FullHD、D1、CIF、QCIF),预设码流路数outCount为2.
接收期望分辨率150x140、360x290、700x570,在一个具体实施例中,可以生成期望分辨率列表resolList:(150x140、360x290、700x570);
将resolList中的每一个期望分辨率映射到bitList的相应码率。在一个具体实施例中,可以将预设码率列表中的码率按从小到大排列,那么期望分辨率对应的码率就是预设码率列表中与期望分辨率的差值绝对值最小的那个。求差值时,先将分辨率进行乘积,再将乘积后的期望分辨率和码率相减。
因此,排序后的预设码率列表bitsList为(QCIF、CIF、D1、FullHD),resolList中的每一个期望分辨率都能在预设码率列表bitsList找到对应的码流,我们把这种对应关系记录为map<expectResol,bit>,其中bit为bitsList中与expectResol对应的那个码率。在一个具体实施例中,将那些用到的码率记录为使用码率列表bitusedList,很显然,bitusedList就是map<expectResol,bit>的所有bit。
则expectResol(150x140)对应bitList(QCIF),expectResol(360x290)对应bitList(CIF),expectResol(700x570)对应bitList(D1)。这种对应关系被记录在map<expectResol,bit>中。使用码率列表bitusedList为(QCIF,CIF,D1)。
根据预设码流路数2和使用码率列表(QCIF,CIF,D1),确定输出码率列表bitOutList,采用如下步骤进行选择:
当N>m时,使用码率列表作为输出码率列表;
当1=N≤m时,所述使用码率列表中的最大码率作为第N次查找的输出码率,即f(1)=bitused(m);
当2=N≤m时,所述使用码率列表中的最小码率作为第N次查找的输出码率,具体为f(2)=bitused(1);
当3≤N≤m时,对所述使用码率列表中的码率从小到大进行1到m的编号,所述使用码率列表中的最大码率和最小码率分别作为输出码率,分别标记所述最大码率和最小码率对应的编号;
从标记编号中取出最大值编号和第二大值编号,将所述最大值编号和第二大值编号及1求和,对求和结果的一半向下取整,确定新编号,所述新编号对应的使用码率作为输出码率,对所述最大值编号去标记;
判断是否完成第N次查找,若是,根据各个所述输出码率确定输出码率列表;
判断所述第二大值是否为1,若是,则对去标记的编号恢复标记,标记各个所述新编号,返回从标记编号中取出最大值编号和第二大值编号,若否,返回从标记编号中取出最大值编号和第二大值编号;
用公式表示如下:
以此类推,得到所有bitoutList中的节点。
其中,N表示预设码流路数,m表示所述使用码率列表中码率个数。定义bitusedList中第N个编号码率为bitused(N),第n次查找的码率为f(n),记f(n)在bitusedList中的索引为Index(f(n)),索引即为使用码率列表中使用码率的编号,其中,1<=n<=min(outCount,bitusedCount)。
公式中“+1”的目的是为了优先选择右侧的较高码率的码流,以保证码流请求节点显示图像时足够清晰。
因为预设码率路数为2,则
f(1)=bitused(m)=(D1);
f(2)=bitused(1)=(QCIF)。
从而输出码率列表为(D1、QCIF)。
多码流视频编码服务器30还用于向所述码流请求节点发送所述输出码率列表。码流请求节点31,接收所述多码流视频编码服务器30发送的输出码率列表,根据期望分辨率、输出码率列表选择输出码率。
实施例二
参见图4,为本发明多码流自适应系统实施例二的结构示意图,本系统采用对中间值向上取整的方法确定输出码率列表,同时对每个码率请求节点分配了确定的输出码率,该系统包括多码流视频编码服务器40,所述多码流视频编码服务器40包括:
接收模块401,用于接收期望分辨率;
处理模块402,用于将每个所述期望分辨率与预设码率列表中各码率相减,确定每个所述期望分辨率的差值绝对值的最小值,根据各所述最小值确定各个所述期望分辨率对应的码率;根据各个所述期望分辨率对应的码率和预设码流路数,确定输出码率列表。
在其中一个实施例中,一路视频图像S的分辨率为1920x1080;有4个码流请求节点Node1、Node2、Node3和Node4,它们对信号S的期望分辨率依次为150x140、360x290、700x570、2560x1600;多码流视频编码服务器能够编码输出信号S的FullHD(1920x1080)、D1(720x576)、HalfD1(720x288)、CIF(352x288)、QCIF(176x144)、SubQCIF(128x96)分辨率码流的图像,即预设码率列表为[FullHD、D1、HalfD1、CIF、QCIF、SubQCIF]。能够同时输出3路码率码流,即预设码流路数为3。
码流请求节点Node1、Node2、Node3和Node4通过TCP/IP网络向多码流视频编码服务器注册,使请求节点和多码流视频编码服务器之间存在通信链路。码流请求节点Node1、Node2、Node3和Node4将对视频S的期望分辨率expectReso1:150x140、360x290、700x570、2560x1600发送给多码流视频编码服务器。多码流视频编码服务器接收各码流请求节点的expectResol,形成视频S的期望分辨率列表resolList:(150x140、360x290、700x570、2560x1600)。
那么,本例中的期望分辨率为150x140、360x290、700x570、2560x1600,预设码率列表bitsList为(FullHD、D1、HalfD1、CIF、QCIF、SubQCIF),预设码流路数outCount为3.
接收期望分辨率150x140、360x290、700x570、2560x1600,在一个具体实施例中,可以生成期望分辨率列表resolList:(150x140、360x290、700x570、2560x1600);
将resolList中的每一个期望分辨率映射到bitList的相应码率。在一个具体实施例中,可以将预设码率列表中的码率按从小到大排列,那么期望分辨率对应的码率就是预设码率列表中与期望分辨率的差值绝对值最小的那个。求差值时,先将分辨率进行乘积,再将乘积后的期望分辨率和码率相减。
因此,排序后的预设码率列表bitsList为(SubQCIF、QCIF、CIF、HalfD1、D1、FullHD),resolList中的每一个期望分辨率都能在预设码率列表bitsList找到对应的码流,我们把这种对应关系记录为map<expectResol,bit>,其中bit为bitsList中与expectResol对应的那个码率。在一个具体实施例中,将那些用到的码率记录为使用码率列表bitusedList,很显然,bitusedList就是map<expectResol,bit>的所有bit。
则expectResol(150x140)对应bitList(QCIF),expectResol(360x290)对应bitList(CIF),expectResol(700x570)对应bitList(D1),expectResol(2560x1600)对应bitList(FullHD)。这种对应关系被记录在map<expectResol,bit>中。使用码率列表bitusedList为(QCIF、CIF、D1、FullHD)。
根据预设码流路数3和使用码率列表(QCIF、CIF、D1、FullHD),确定输出码率列表bitOutList,采用如下步骤进行选择:
当N>m时,所述使用码率列表作为所述输出码率列表;
当1=N≤m时,所述使用码率列表中的最大码率作为第N次查找的输出码率,即f(1)=bitused(m)
当2=N≤m时,所述使用码率列表中的最小码率作为第N次查找的输出码率,具体为f(2)=bitused(1);
当3≤N≤m时,对所述使用码率列表中的码率从小到大进行1到m的编号,所述使用码率列表中的最大码率和最小码率分别作为输出码率,分别标记所述最大码率和最小码率对应的编号;
从标记编号中取出最大值编号和第二大值编号,将所述最大值编号和第二大值编号求和,对求和结果的一半向上取整,确定新编号,所述新编号对应的使用码率作为输出码率,对所述最大值编号去标记;
判断是否完成第N次查找,若是,根据各个所述输出码率确定输出码率列表;
判断所述第二大值是否为1,若是,则对去标记的编号恢复标记,标记各个所述新编号,返回从标记编号中取出最大值编号和第二大值编号,若否,返回从标记编号中取出最大值编号和第二大值编号;
用公式表示如下:
以此类推,得到所有bitoutList中的节点。
其中,N表示预设码流路数,m表示所述使用码率列表中码率个数。定义bitusedList中第N个编号码率为bitused(N),第n次查找的码率为f(n),记f(n)在bitusedList中的索引为Index(f(n)),索引即为使用码率列表中使用码率的编号,其中,1<=n<=min(outCount,bitusedCount)。
公式中“+1”的目的是为了优先选择右侧的较高码率的码流,以保证码流请求节点显示图像时足够清晰。
因为预设码率路数为3,则
f(1)=bitused(m)=(FullHD);
f(2)=bitused(1)=(QCIF);
从而输出码率列表为(FullHD、QCIF、D1)。
在一个具体实施例中,将bitusedList的每一个节点映射到bitoutList的相应节点;映射的方法为:将bitusedList中的每一个节点映射为在bitoutList中与它差值的绝对值最小的那个节点。将得到的bitusedList映射后的列表,叫做map<bit,bitOut>。其中bit为上述map<expectResol,bit>中的bit,bitOut为该bit对应的输出码率。即bitusedList(QCIF)对应bitoutList(QCIF),bitusedList(CIF)对应bitoutList(QCIF),bitusedList(D1)对应bitoutList(D1),bitusedList(FullHD)对应bitoutList(FullHD)。这种对应关系被记录在map<bit,bitOut>中。
依据map<expectResol,bit>和map<bit,bitOut>,得到每一个期望分辨率expectResol对应的输出码率bitOut,我们这个对应关系叫做map<expectResol,bitOut>。其中expectResol为码流请求节点的期望分辨率,bitOut为其对应的码率码流。即expectResol(150x140)对应bitoutList(QCIF),expectResol(360x290)对应bitoutList(QCIF),expectResol(700x570)对应bitoutList(D1),expectResol(2560x1600)对应bitoutList(FullHD)。
多码流视频编码服务器40根据map<expectResol,bitOut>,通过之前建立的通信链路通知每一个码流请求节点其对应的码率码流。
很显然,此处将告诉Node1它的码率码流为QCIF,Node2它的码率码流为QCIF,Node3它的码率码流为D1,Node4它的码率码流为FullHD。
其中,具体确定输出码率列表不限于上述实施例给出的方法,可以不加1直接取中间值的向下取整,也可以是加1向上取整,还可以是取包括最大码率的任意码率等,具体根据需要设定,在此不再赘述。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种多码流自适应的方法,其特征在于,包括步骤:
接收期望分辨率;
将每个所述期望分辨率与预设码率列表中各码率相减,确定每个所述期望分辨率的差值绝对值的最小值,根据各所述最小值确定各个所述期望分辨率对应的码率;
根据各个所述期望分辨率对应的码率和预设码流路数,确定输出码率列表;其中,所述确定输出码率列表包括步骤:根据各个所述期望分辨率对应的码率,确定使用码率列表;当所述预设码流路数大于所述使用码率列表中码率个数时,所述使用码率列表作为所述输出码率列表,当所述预设码流路数小于或等于所述使用码率列表中码率个数时,从所述使用码率列表中取出至少包括最大使用码率的码率作为输出码率,输出码率个数为预设码流路数。
2.根据权利要求1所述的多码流自适应的方法,其特征在于,所述确定输出码率列表包括步骤:
根据各个所述期望分辨率对应的码率,确定使用码率列表;
当N>m时,所述使用码率列表作为所述输出码率列表,
当1=N≤m时,所述使用码率列表中的最大码率作为第N次查找的输出码率;
当2=N≤m时,所述使用码率列表中的最小码率作为第N次查找的输出码率;
当3≤N≤m时,对所述使用码率列表中的码率从小到大进行1到m的编号,所述使用码率列表中的最大码率和最小码率分别作为输出码率,分别标记所述最大码率和最小码率对应的编号;
从标记编号中取出最大值编号和第二大值编号,将所述最大值编号和第二大值编号及1求和,对求和结果的一半向下取整,确定新编号,所述新编号对应的使用码率作为输出码率,对所述最大值编号去标记;
判断是否完成第N次查找,若是,根据各个所述输出码率确定输出码率列表;
判断所述第二大值是否为1,若是,则对去标记的编号恢复标记,标记各个所述新编号,返回从标记编号中取出最大值编号和第二大值编号,若否,返回从标记编号中取出最大值编号和第二大值编号;
其中,N表示预设码流路数,m表示所述使用码率列表中码率个数。
3.根据权利要求1所述的多码流自适应的方法,其特征在于,所述确定输出码率列表包括步骤:
根据各个所述期望分辨率对应的码率,确定使用码率列表;
当N>m时,所述使用码率列表作为所述输出码率列表,
当1=N≤m时,所述使用码率列表中的最大码率作为第N次查找的输出码率;
当2=N≤m时,所述使用码率列表中的最小码率作为第N次查找的输出码率;
当3≤N≤m时,对所述使用码率列表中的码率从小到大进行1到m的编号,所述使用码率列表中的最大码率和最小码率分别作为输出码率,分别标记所述最大码率和最小码率对应的编号;
从标记编号中取出最大值编号和第二大值编号,将所述最大值编号和第二大值编号求和,对求和结果的一半向上取整,确定新编号,所述新编号对应的使用码率作为输出码率,对所述最大值编号去标记;
判断是否完成第N次查找,若是,根据各个所述输出码率确定输出码率列表;
判断所述第二大值编号是否为1,若是,则对去标记的编号恢复标记,标记各个所述新编号,返回从标记编号中取出最大值编号和第二大值编号,若否,返回从标记编号中取出最大值编号和第二大值编号;
其中,N表示预设码流路数,m表示所述使用码率列表中码率个数。
4.根据权利要求1至3任意一项所述的多码流自适应的方法,其特征在于,所述确定输出码率列表后还包括步骤:
将每个所述期望分辨率与所述输出码率列表中各输出码率相减,确定每个所述期望分辨率与输出码率的差值绝对值的最小值,根据各所述差值绝对值的最小值确定各个所述期望分辨率对应的输出码率。
5.根据权利要求1至3任意一项所述的多码流自适应的方法,其特征在于,所述预设码率列表按升序进行排序。
6.一种多码流自适应系统,其特征在于,包括多码流视频编码服务器,所述多码流视频编码服务器包括:
接收模块,用于接收期望分辨率;
处理模块,用于将每个所述期望分辨率与预设码率列表中各码率相减,确定每个所述期望分辨率的差值绝对值的最小值,根据各所述最小值确定各个所述期望分辨率对应的码率;根据各个所述期望分辨率对应的码率和预设码流路数,确定输出码率列表;其中,所述确定输出码率列表方法包括:根据各个所述期望分辨率对应的码率,确定使用码率列表;当所述预设码流路数大于所述使用码率列表中码率个数时,所述使用码率列表作为所述输出码率列表,当所述预设码流路数小于或等于所述使用码率列表中码率个数时,从所述使用码率列表中取出至少包括最大使用码率的码率作为输出码率,输出码率个数为预设码流路数。
7.根据权利要求6所述的多码流自适应系统,其特征在于,还包括:
码流请求节点,用于向所述多码流视频编码服务器发送期望分辨率,接收所述多码流视频编码服务器发送的所述输出码率列表,根据所述期望分辨率、所述输出码率列表选择输出码率;
所述多码流视频编码服务器还用于向所述码流请求节点发送所述输出码率列表。
8.根据权利要求7所述的多码流自适应系统,其特征在于,所述多码流视频编码服务器与所述码流请求节点通过TCP/IP网络连接。
CN201210536875.4A 2012-12-11 2012-12-11 多码流自适应的方法及系统 Expired - Fee Related CN103024460B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210536875.4A CN103024460B (zh) 2012-12-11 2012-12-11 多码流自适应的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210536875.4A CN103024460B (zh) 2012-12-11 2012-12-11 多码流自适应的方法及系统

Publications (2)

Publication Number Publication Date
CN103024460A CN103024460A (zh) 2013-04-03
CN103024460B true CN103024460B (zh) 2015-12-23

Family

ID=47972520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210536875.4A Expired - Fee Related CN103024460B (zh) 2012-12-11 2012-12-11 多码流自适应的方法及系统

Country Status (1)

Country Link
CN (1) CN103024460B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639953B (zh) * 2013-11-15 2017-11-03 成都鼎桥通信技术有限公司 音视频分发链路的码率自适应方法和音视频分发设备
CN105611315A (zh) * 2016-01-06 2016-05-25 阔地教育科技有限公司 控制装置、发送装置、接收装置和多码流自适应处理系统
CN107155093B (zh) * 2017-06-21 2020-10-23 普联技术有限公司 一种视频预览方法、装置及设备
CN109819333B (zh) * 2019-01-10 2021-05-07 广州视源电子科技股份有限公司 视频流码率分配方法、装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1568620A (zh) * 2001-10-12 2005-01-19 皇家飞利浦电子股份有限公司 使用可变速率调制的视频传送
CN1989770A (zh) * 2004-07-26 2007-06-27 皇家飞利浦电子股份有限公司 一种视频流分级压缩方法及装置
CN202587199U (zh) * 2012-03-16 2012-12-05 安凯(广州)微电子技术有限公司 一种多路录像装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0706424D0 (en) * 2007-04-02 2007-05-09 British Telecomm Video streaming

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1568620A (zh) * 2001-10-12 2005-01-19 皇家飞利浦电子股份有限公司 使用可变速率调制的视频传送
CN1989770A (zh) * 2004-07-26 2007-06-27 皇家飞利浦电子股份有限公司 一种视频流分级压缩方法及装置
CN202587199U (zh) * 2012-03-16 2012-12-05 安凯(广州)微电子技术有限公司 一种多路录像装置

Also Published As

Publication number Publication date
CN103024460A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
CN107196746B (zh) 实时通信中的抗丢包方法、装置和系统
JP4360908B2 (ja) 可変の変調レートを使用したビデオ転送
CN103024460B (zh) 多码流自适应的方法及系统
CN104394484A (zh) 一种无线实时流媒体传输方法
CN109068187B (zh) 实时流量传送系统和方法
RU2011149387A (ru) Система многоканальной видеосвязи и способ обработки многоканальной видеосвязи
CN104205813A (zh) 分层视频编码的等级信令
CN103493481A (zh) 基于场景的适应性比特率控制
CN106817585B (zh) 一种利用长期参考帧的视频编码方法、电子设备和系统
US20140362864A1 (en) Transmitting apparatus, transmitting method, and storage medium
Yao et al. IPB-frame adaptive mapping mechanism for video transmission over IEEE 802.11 e WLANs
CN102333209B (zh) 应用于视频监控系统的数据传输方法及设备
CN103650502A (zh) 用于参考画面管理的编码器、解码器及其方法
CN101217655A (zh) 一种数据压缩处理方法
Pham et al. Performances of multi-hops image transmissions on IEEE 802.15. 4 Wireless Sensor Networks for surveillance applications
WO2002005566A1 (en) Image coding apparatus and image coding method
CN1640150A (zh) 在缺乏图像数据的情况下增加感知的视觉输出质量的图像处理方法和系统
CN101682560A (zh) 调度分组传输
CN115702562A (zh) 使用长期参考、深度学习和负载均衡的视频吞吐量改进
CN104378651A (zh) 基于带宽检测的动态编码装置和方法
CN104205852A (zh) 信息处理装置和方法以及程序
CN110570614B (zh) 一种视频监控系统及智能相机
CN104685840A (zh) 用于传输图像信息的方法和分组通信系统
CN113259729A (zh) 数据切换的方法、服务器、系统及存储介质
CN103051926A (zh) 具有自适应上行流和下行流转码协调的流转码器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151223

Termination date: 20211211