CN105791836B - 视频编码方法、视频码流自适应传输方法和显示方法 - Google Patents
视频编码方法、视频码流自适应传输方法和显示方法 Download PDFInfo
- Publication number
- CN105791836B CN105791836B CN201610127762.7A CN201610127762A CN105791836B CN 105791836 B CN105791836 B CN 105791836B CN 201610127762 A CN201610127762 A CN 201610127762A CN 105791836 B CN105791836 B CN 105791836B
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- stream
- sub
- video stream
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000005540 biological transmission Effects 0.000 title claims abstract description 44
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 17
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 18
- 238000011144 upstream manufacturing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 1
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000009916 joint effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/164—Feedback from the receiver or from the transmission channel
-
- 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
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种视频编码方法,包括:将待传输的原始视频流V分割为n路子视频流V1‑Vn,其中所述各路子视频流包含原始视频流中的不同像素,其中,n是大于1的整数;步骤2,对所述子视频流分别进行编码,形成多个子视频码流。本发明还相应地提供了一种对应于前述视频编码方法的视频码流的自适应传输方法和显示方法。本发明的技术方案能够在传输时根据带宽水平进行自适应组合,既可以最大程度利用可用带宽,又可避免由于带宽瓶颈而出现的视频卡顿以及马赛克现象。
Description
技术领域
本发明涉及视频通信技术领域,具体地说,本发明涉及一种视频编码方法、视频码流自适应传输方法和相应的显示方法。
背景技术
随着移动终端和网络技术的发展,尤其是3G/4G移动无线网络的飞速发展,异构网络中的视频通信愈发普及,如图1所示。传统的视频通信***普遍采用对等网络接入,终端的接入带宽相近,带宽也相对稳定,发送终端编码生成统一的视频码流即可满足所有接收终端的带宽需求。但是异构网络的接入带宽有高有低,无线接入的稳定性也较差,使用传统的视频通信方式容易出现卡顿和花屏现象,在一对多的实时视频通信中,该问题更加突出。因此迫切需要一种根据网络带宽自适应生成和传输视频码流的方法。
H264/SVC、MPEG4/FGS可伸缩编解码是目前解决视频码流自适应传输的一种相对较好的方案。这种方案在底层算法设计上即考虑了可伸缩的因素,在传输过程中可以即时告知网络设备该数据的重要程度从而影响网络设备对该数据的处理(丢弃、延迟传输还是继续传输)。通过时域可伸缩、空域可伸缩、质量域可伸缩对视频码流进行调整,该方案可生成可伸缩码流,即视频流只编码一次,却能以多个帧率、分辨率或视频质量进行解码,从而可支持多种不同类型的网络接入的要求。该方案的主要问题在于,传统的H264、MPEG4编解码器不兼容H264/SVC、MPEG4/FGS,通过该方案保存的视频数据也需要单独的H264/SVC、MPEG4/FGS播放器来进行回放。这就需要对整个视频通信***以及所使用的网络设备进行升级。然而,对网络设备的改造正是可伸缩编解码目前无法大规模推广的最主要原因。尤其对于需要在互联网上传输的视频码流而言,要求网络运营商更换骨干网设备的难度是非常大的。
在不考虑网络设备的大规模升级的情况下,传统视频通信***中用于提供视频码流自适应传输的现有技术方案主要有以下三种方式。
(1)丢帧:将视频码流中的前向预测帧(P帧)和双向预测帧(B帧)丢弃,仅传输帧内预测帧(I帧),从而降低了视频码率。但由于视频码流中P帧和B帧的数量远远大于I帧,该方法容易造成显示卡顿。
(2)生成高低双路码流:将码率较低的视频码流传输至带宽较低的终端,将码率较高的视频码流传输至带宽较高的终端以及用于本地保存。这种方法在视频监控领域较常见。然而,该方法的缺点也是明显的:一方面,为了保证所有接收终端都可以流畅接收视频码流,一般低码率的视频码流的压缩率很大,因此解码重现的视频质量很差;另一方面,出于保存历史数据的需要,一般高码率的视频码流的压缩率很小,接收该路视频码流对接收终端的带宽要求很高;对于大部分带宽处于这两者之间的接收终端而言,其仅能接收视频质量较差的低码率视频码流,但如果增加视频码流路数,又会增加发送终端的编码负担;最后,两路视频码流是相同的原始视频流分别独立编码,因此两路视频码流的对应帧具有相同的视频内容,即使终端的带宽很高,能够同时收到两路视频码流也无法重现出更好的视频质量。
(3)动态调整:发送终端根据发送终端到接收终端的可用带宽实时调整视频流的编码码率,使视频码流自适应的匹配网络带宽,在避免网络拥堵的前提下,最大限度利用网络带宽。这种方法在一对一视频通信***中较常见。然而,该方法在视频会议这类一对多的视频通信***中无法发挥作用,其原因在于:如果多个接收终端的带宽差别很大,发送终端将无法编码生成满足所有接收终端带宽要求的视频码流。
发明内容
本发明的目的是提供一种能够克服上述技术问题的解决方案。
本发明提供了一种视频编码方法,包括:步骤1,将待传输的原始视频流V分割为n路子视频流V1-Vn,其中所述各路子视频流包含原始视频流中的不同像素,其中,n是大于1的整数;步骤2,对所述子视频流分别进行编码,形成多个子视频码流。
优选地,在步骤1中分割后得到的子视频流Vn所占的像素个数是V1至V(n-1)所占像素个数的总和。
优选地,步骤1进一步包括:通过将所述原始视频流V中的每两个连续的帧作为一个整体进行分割,将所述原始视频流V分割为多个子视频流V1-Vn。
优选地,步骤2进一步包括:对所述子视频流分别独立进行编码。
优选地,步骤2进一步包括:基于所述子视频流各自的分辨率占原视频流的分辨率比例,设置所述子视频流的码率。
本发明还相应地提供了一种对应于前述视频编码方法的视频码流的自适应传输方法,该方法包括:选择子视频码流的组合中需要传输带宽最大的码流组合用于传输,其中,所述需要传输带宽最大的码流组合的所需的传输带宽不高于用于传输码流组合的链路的传输带宽。
优选地,该方法进一步包括:在选择用于上行传输的子视频码流组合之前,以优先包括低码率的子视频码流的方式对所述子视频码流进行组合。
优选地,该方法进一步包括:在选择用于下行传输的子视频码流组合之前,根据待传输的子视频码流所需的传输带宽的大小,确定所述待传输的子视频码流的所有的不重复的码流组合。
本发明还相应地提供了一种用于对前述编码方法编码的视频码流进行显示的方法,该方法包括:步骤1,对所述视频码流进行解码;步骤2,复用解码后的子视频流进行显示。
优选地,步骤2进一步包括:根据解码后的子视频流各自的分辨率占原始视频流的分辨率的比例,为所述解码后的子视频流分配显示时间,并根据所分配的显示时间复用所述解码后的子视频流进行显示。
与现有技术相比,本发明提出的技术方案具有以下优点:
(1)发送端和接收端均可使用标准的编解码器;
(2)在传输时根据带宽水平进行自适应组合,既可以最大程度利用可用带宽,又可避免由于带宽瓶颈而出现的视频卡顿以及马赛克现象;
(3)显示时简单的将多路解码器的输出复用即可,视频质量和原始视频流单独编码解码的效果相当;
(4)发送端、接收端和/或服务器对每路视频码流无论进行独立保存还是组合保存,均可以利用标准播放器进行回放。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图并不构成对于本发明的技术方案的限制。
图1是现有技术中的异构网络的结构示意图;
图2是根据本发明的实施例的视频编码、视频码流自适应传输和显示的方法的流程示意图;
图3是根据本发明的第一个优选实施例的视频流分割的示意图;
图4是根据本发明的第四个优选实施例的视频流分割的示意图;
图5是根据本发明的第五个优选实施例的视频流分割的示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步地描述。
图2示出了根据本发明的实施例的视频编码、视频码流自适应传输和显示的方法的流程示意图。如图2所示,根据本发明的实施例的视频编码、视频码流自适应传输和显示方法,包括编码、传输和显示三个阶段。为了更清楚的阐述本方法,以下描述中假设视频通信过程中采用服务器中转的通信模式。
一、编码阶段
在该阶段采用分而治之的策略,包括视频流分割和视频流编码两部分。
(1)视频流分割
将原始视频流V分割成n路视频流,使得其中各路子视频流包含原始视频流中的不同像素,其中n是大于1的整数。。
例如,根据本发明的第一个优选实施例,可通过将原始视频流中的每2个连续帧(奇数帧和偶数帧)当作一个整体分割为4部分的方式,将原始视频流V分割为四路视频流:子视频流V1、子视频流V2、子视频流V3和子视频流V4,其中,任选前述原始视频流的每2帧的其中一帧(奇数帧或偶数帧)形成子视频流V4;另外一帧被分割为子视频流V1至V3,其中,通过隔行取像素的方式选中该另外一帧的一半形成子视频流V3,将该另外一帧的另外一半再进一步通过隔列取像素的方式平分形成子视频流V1和V2。更具体地,如图3所示,可以采用如下的分割方式:
1)将原始视频流V的第2i帧的所有偶数行且偶数列作为子视频流V1的第i帧;
2)将原始视频流V的第2i帧的所有偶数行且奇数列作为子视频流V2的第i帧;
3)将原始视频流V的第2i帧的所有奇数行作为子视频流V3的第i帧的上半场(TopField),子视频流V3的第i帧的下半场(Bottom Field)为上半场的Skip场;
4)将原始视频流V的第2i+1帧作为子视频流V4的第i帧。
进而,根据原始视频流V每帧的分辨率(M,N),采集帧率f,以及每帧持续显示的时间1/f,基于上述分割方式,分别设置子视频流V1-Vn每帧的分辨率、采集帧率以及每帧持续显示的时间。例如,在前述优选实施例中:
1)子视频流V1每帧的分辨率是(M/2,N/2),采集帧率为f/2,每帧需要持续显示的时间为1/(4*f);
2)子视频流V2每帧的分辨率是(M/2,N/2),采集帧率为f/2,每帧需要持续显示的时间为1/(4*f);
3)子视频流V3每帧的分辨率是(M,N),由2个相同的场组成,其中单场的分辨率是(M,N/2),采集帧率为f/2,每帧需要持续显示的时间为1/(2*f);
4)子视频流V4每帧的分辨率是(M,N),采集帧率为f/2,每帧需要持续显示的时间为1/f。
根据本发明的第二个优选实施例,也可以将原始视频流V’的第i帧的所有奇数行作为子视频流V1’的第i帧,原始视频流V’的第i帧的所有偶数行作为子视频流V2’的第i帧,从而将原始视频分割为2路子视频流。
根据本发明的第三个优选实施例,也可以在上述第一个优选实施例的分割基础上,参照上述将原始视频流中的偶数帧或奇数帧分割为V1至V3的分割方法将其中的子视频流V1进一步分割形成新的三路子视频流V-3、V-2、V-1,进而最终将原始视频流分割为V-3、V-2、V-1、V2、V3、V4的6路子视频流。
根据本发明的第四个优选实施例,也可以将原始视频流V00中的每4个连续帧作为一个整体来进行分割。如图4所示,对每四个连续帧中的后2帧采用前述第一个优选实施例中的方法分割为4路子视频流V21-V24,对该4个连续帧中的前2帧采用前述第三个优选实施例中的方法分割为6路子视频流V-13-V14,进而将原始视频流V00分割为10路子视频流。
在上述实施例中,从原始视频流中分割出的子视频流的数目均为偶数,但分割出的子视频流的数目是偶数或者奇数并非对本发明的限制。根据本发明的第五个优选实施例,还可以在前述第一个优选实施例的基础上,将子视频流V1进一步按照奇数行与偶数行一分为二,形成两路新的子视频流V-2’、V-1’,从而与子视频流V2、V3、V4将原始视频流分割5路子视频流。如图5所示。
(2)视频流编码
对子视频流V1-Vn进行编码,设置编码码率。编码标准并非对本发明的限制。根据本发明的实施例,可以采用现有技术中的任意编码标准,对子视频流进行编码,例如,MPEG1/2/4、AVS、H261/263/264/265等。根据本发明的实施例,对于子视频流V1-Vn,可以相同或不同的编码标准分别进行独立编码,相互之间没有相关性,以实现对每路子视频流的码流均可以被独立保存。例如,若n=4,则可以对V1使用H264,V2使用MPEG2,V3使用MPEG4,V4使用RMVB。
应当指出的是,编码质量指图像编码后再解码的清晰程度,对于同样的原始视频流,其压缩率越大,码率越低,则其编码质量越差。对于同样的原始视频流和码率,对其所使用的编码方式越先进,其编码质量越好。因此,本发明的实施例中,基于前述视频流分割的结果,尤其是子视频流V1-Vn各自的分辨率占原视频流的分辨率比例,设置子视频流V1-Vn的码率b1-bn,使得b1<b2<…<bn。
例如,在前述本发明的第一个优选实施例中,对子视频流V1、V2、V3和V4分别独立编码,设置编码码率,其中子视频流V1编码后的码率是b1,子视频流V2编码后的码率是b2,子视频流V3编码后的码率是b3,子视频流V4编码后的码率是b4,其中b1<b2<b3<b4。优选地,对于指定的编码质量,如果对原始视频流V编码后的码率为b,则子视频流V1编码后的码率是b/16(+),V2分别编码后的码率为b/8(+),子视频流V3编码后的码率为b/4(+),子视频流V4编码后的码率为b/2(+),以使子视频流V1-V4编码后的相应码流达到相同的编码质量。其中(+)表示略增加,增加的具数值由于视频内容的不同而不同。
二、传输阶段
该阶段采用尽力而为的策略,包括视频码流上行和视频码流下行两部分。
(1)视频码流上行
根据上行带宽大小,以及传输基于前述分割方式所产生的子视频流编码后的每路码流所需的带宽大小,按照子视频流的编号数字越小,其码率越低,则其优先级越高的优先顺序,将子视频流编码后的码流进行组合,以优先确保将带宽需求较小的低码率的码流进行上行传输,进而在接收端带宽未知的情况下使得所上行传输的码流组合中一定存在低于接收端的带宽的码流组合。
例如,在前述第一个优选实施例中,子视频流编码后的码流的优选顺序为:V1>V2>V3>V4。进而可将上述编码阶段生成的各路码流组合成如下4档组合(即,上行档位):
第1档:仅包括子视频流V1编码后的码流;
第2档:包括子视频流V1和V2编码后的码流;
第3档:包括子视频流V1、V2和V3编码后的码流;
第4档:包括子视频流V1、V2、V3和V4编码后的码流。
发送终端将视频流编码后产生的各路码流尽最大可能上传至服务器。发送终端获取本地到服务器的上行带宽,选择视频码率低于上行带宽的最大上行档位,将该档位对应的所***流传输至服务器。应当理解,根据本发明的实施例,可以根据不同的传输模式,采用现有技术中的任一获取网络带宽的方法,对于根据本发明的视频码流自适应传输和显示的方法而言,仅需获得网络带宽即可,不同的获取方式并不会对本发明所述的方法造成任何实质影响或改变。因此,获得网络带宽的方法并非对于本发明的限制,在此不予赘述
(2)视频码流下行
根据下行带宽的大小,依照前述每路码流的优先顺序,将上述服务器接收到的码流组合成不重复且尽量多的码流组合,以使得对于任意带宽的接收端都能选择到能够最大限度使用其带宽的码流组合,以确保接收端接收到的视频质量最优。
例如,在前述第一个优选实施例中,可将服务器接收到的码流组合成不重复的如下15档(即,下行档位):
第1档:仅包括子视频流V1编码后的码流;
第2档:仅包括子视频流V2编码后的码流;
第3档:包括子视频流V1和V2编码后的码流;
第4档:仅包括子视频流V3编码后的码流;
第5档:包括子视频流V1和V3编码后的码流;
第6档:包括子视频流V2和V3编码后的码流;
第7档:包括子视频流V1、V2和V3编码后的码流;
第8档:仅包括子视频流V4编码后的码流;
第9档:包括子视频流V1和V4编码后的码流;
第10档:包括子视频流V2和V4编码后的码流;
第11档:包括子视频流V1、V2和V4编码后的码流;
第12档:包括子视频流V3和V4编码后的码流;
第13档:包括子视频流V1、V3和V4编码后的码流;
第14档:包括子视频流V2、V3和V4编码后的码流;
第15档:包括全部子视频流V1、V2、V3和V4编码后的码流。
接收端将服务器接收到的视频流编码后生成的各路码流尽最大可能下载至本地。接收端获取本地到服务器的下行带宽并告知服务器(如前所述,获得网络带宽的方法并非对于本发明的限制,不再赘述)选择视频码率低于下行带宽的最大下行档位,将该档位对应的所***流传输至接收端并解码显示。应当指出的是,下行档位中的码流组合基于服务器接收到的上行档位中所包含的码流而确定,若服务器接收到的上行档位中不包含某一路视频流Vi编码后的码流,则下行档位中将不会出现包括该路视频流Vi的下行档位。
需要进一步指出的是,传输阶段所生成/使用的码流的组合依赖于在编码阶段中所分割得到的子视频流。因此,优选的,编码阶段中应选择使得所分割的子视频流满足子视频流Vn所占的像素个数是子视频流V1至V(n-1)所占像素个数的总和的分割方式(例如前述视频流分割中所述的第一、二、三、五实施例),以使得在保证编码质量一定的情况下,对于编码后得到的码流按照前述下行档位的组合方式(尤其是在上行带宽足够大的情况下),可以得到所需带宽均匀变化(例如,512K,1M,1.5M,2M...等)的下行档位组合,进而使得在下行传输时,下行档位中的码流组合可以与任一下行带宽在总体上取得最佳匹配(即,在下行档位数量相同的情况下,所需带宽均匀变化的下行档位与下行带宽之间的均方误差最小)。
三、显示阶段
该阶段采用随时接收随时显示的策略。
复用接收到的解码器输出的多路视频流进行显示。优选地,根据每路子视频流在原始视频流中的权重(即每路子视频流的分辨率占原始视频流的分辨率的比例)为解码后的每路子视频流分配显示时间。
例如,在前述第一个优选实施例中,假设在t时刻显示视频流V1的某一帧,则在(t+1/(4*f))时刻显示视频流V2的对应帧,在(t+1/(2*f))时刻显示视频流V3的对应帧,在(t+1/f)时刻显示视频流V4的对应帧,在(t+2/f)时刻显示视频流V1的下一帧,以此循环。如果某一路视频流Vi不存在,则忽略该路视频流的对应帧,持续显示上一帧。需要指出的是,视频通信***一般有两种视频码流传输模式,如果终端点位在同一局域网内或者相互“地址可见”,则终端点位可以点对点直接通信;如果终端点位不在同一局域网内且相互“地址不可见”,则终端点位之间无法直接通信,而是需要服务器进行数据中转(所有终端点位都可以和服务器直接通信),特别的,对于视频会议***,该服务器一般称为MCU(Multi-pointControl Unit)。而网络带宽并非某一终端点位的接入带宽,而是该终端点位到另一终端点位或服务器的传输带宽,分为上行和下行两部分,受通信双方的接入水平以及网络传输过程中各个节点的共同影响。例如终端A通过4G接入网络(接入带宽为上行1M、下行4M),终端B通过wifi接入网络(接入带宽上下行均为2M),那么终端A到终端B的网络带宽为上行1M,下行2M。由于服务器一般部署在骨干网上,其接入带宽水平较高,因此可以认为终端点位到服务器的网络带宽等于该终端点位的接入带宽。
由此可见,视频通信的过程中采用不同的通信模式不会在实质上影响前述方法的实施。因此,视频通信的过程中采用的通信模式并非对本发明的限制。根据本发明的其他实施例,根据本发明的视频码流自适应传输和显示的方法也适用于其他的视频通信模式。
下面结合附图和一个示例对本发明加以说明。为了方便理解,首先给出实施该示例的一个可能的应用场景。在进行视频会议时,参与视频会议的各方分别以专线、有线、Wifi、4G/3G方式接入网络,服务器位于骨干网中,视频采集以高清摄像机1920x1080/30fps为例。其基本步骤仍如图2所示。
一、编码阶段
(1)视频流分割
将原始视频流V(1920x1080/30fps)分割成视频流V1(960x540)、视频流V2(960x540)、视频流V3(1920x1080)和视频流V4(1920x1080)四路,如图3所示,具体分割如下:
1)原始视频流V的第2i帧的所有偶数行且偶数列作为视频流V1的第i帧,采集帧率为15fps,每帧需要持续显示的时间为1/(4*30)秒;
2)原始视频流V的第2i帧的所有偶数行且奇数列作为视频流V2的第i帧,采集帧率为15fps,每帧需要持续显示的时间为1/(4*30)秒;
3)原始视频流V的第2i帧的所有奇数行作为视频流V3的第i帧的上半场,视频流V3的第i帧的下半场为上半场的Skip场,单场的分辨率是(1920,540),采集帧率为15fps,每帧需要持续显示的时间为1/(2*30)秒;
4)原始视频流V的第2i+1帧作为视频流V4的第i帧,采集帧率为15fps,每帧需要持续显示的时间为1/30秒。
(2)视频流编码
对视频流V1、V2、V3和V4分别进行H264编码,如果原始视频流V编码后的期望码率为8Mbps,设置视频流V1编码后的码率是512kbps,视频流V2编码后的码率是1Mbps,视频流V3编码后的码率是2Mbps,视频流V4编码后的码率是4Mbps。
1)视频流V1和V2采用帧编码,将码流中的帧率字段设置为120fps,实际采集帧率为15fps,即每编码1帧,连续丢弃编码后面的7帧,如果是帧间编码(P帧),将码流中的参考帧字段设置为前向第7帧,即上一个实际编码的帧。
2)视频流V3采用场编码帧显示,将码流中的帧率字段设置为60fps,实际采集帧率为15fps,即每编码1帧,连续丢弃编码后面的3帧,每帧仅编码上半场,下半场直接设置为上半场的Skip场,如果是帧/场间编码(P帧/场),将码流中的参考帧/场字段设置为前向第3帧/第7场,即上一个实际编码的帧/场。
3)视频流V4采用帧编码,将码流中的帧率字段设置为30fps,实际采集帧率为15fps,即每编码1帧,随即丢弃编码后面的1帧,如果是帧间编码(P帧),将码流中的参考帧字段设置为前向第1帧,即上一个实际编码的帧。
二、传输阶段
(1)将上述编码阶段生成的各路码流组合成如下4档(上行档位):
第1档:仅包括视频流V1编码后的码流,需要的最低上行带宽为0.5M;
第2档:包括视频流V1和V2编码后的码流,需要的最低上行带宽为1.5M;
第3档:包括视频流V1、V2和V3编码后的码流,需要的最低上行带宽为3.5M;
第4档:包括全部视频流V1、V2、V3和V4编码后的码流,需要的最低上行带宽为7.5M。
发送端将视频流编码后产生的各路码流尽最大可能上传至服务器。发送端获取本地到服务器的上行带宽,选择视频码率低于上行带宽的最大上行档位,将该档位对应的所***流传输至服务器。
(2)将上述服务器接收到的码流组合成如下15档(下行档位):
第1档:仅包括视频流V1编码后的码流,需要的最低下行带宽为0.5M;
第2档:仅包括视频流V2编码后的码流,需要的最低下行带宽为1M;
第3档:包括视频流V1和V2编码后的码流,需要的最低下行带宽为1.5M;
第4档:仅包括视频流V3编码后的码流,需要的最低下行带宽为2M;
第5档:包括视频流V1和V3编码后的码流,需要的最低下行带宽为2.5M;
第6档:包括视频流V2和V3编码后的码流,需要的最低下行带宽为3M;
第7档:包括视频流V1、V2和V3编码后的码流,需要的最低下行带宽为3.5M;
第8档:仅包括视频流V4编码后的码流,需要的最低下行带宽为4M;
第9档:包括视频流V1和V4编码后的码流,需要的最低下行带宽为4.5M;
第10档:包括视频流V2和V4编码后的码流,需要的最低下行带宽为5M;
第11档:包括视频流V1、V2和V4编码后的码流,需要的最低下行带宽为5.5M;
第12档:包括视频流V3和V4编码后的码流,需要的最低下行带宽为6M;
第13档:包括视频流V1、V3和V4编码后的码流,需要的最低下行带宽为6.5M;
第14档:包括视频流V2、V3和V4编码后的码流,需要的最低下行带宽为7M;
第15档:包括全部视频流V1、V2、V3和V4编码后的码流,需要的最低下行带宽为7.5M。
接收端将服务器接收到的视频流编码后生成的各路码流尽最大可能下载至本地。接收端获取本地到服务器的下行带宽并告知服务器,选择视频码率低于下行带宽的最大下行档位,将该档位对应的所***流传输至接收端并解码显示。其中,若服务器接收到的上行档位中不包含某一路视频流Vi编码后的码流,则下行档位中将不会出现包括该路视频流Vi的下行档位。
如果原始视频流V编码后的期望码率为8Mbps,那么在相同编码质量下,视频流V1编码后的码率为512kbps,视频流V2编码后的码率为1Mbps,视频流V3编码后的码率为2Mbps,视频流V4编码后的码率为4Mbps,其组合基本覆盖了从3G、4G、Wifi到有线、专线、光纤的所有网路接入类型以及所有带宽水平。
三、显示阶段
假设在t时刻显示V1视频流的某一帧,则在(t+8.33ms)时刻显示V2视频流的对应帧,在(t+16.67ms)时刻显示V3视频流的对应帧,在(t+33.33ms)时刻显示V4视频流的对应帧,在(t+66.67ms)时刻显示V1视频流的下一帧,以此循环,如果某一路视频流Vi不存在,则忽略该视频流的对应帧,持续显示上一帧。
应用上述实施例的方法,能够实现:
(1)发送端和接收端均可使用标准的编解码器;
(2)在传输时根据带宽水平进行自适应组合,既可以最大程度利用可用带宽,又可避免由于带宽瓶颈而出现的视频卡顿以及马赛克现象;
(3)显示时简单的将多路解码器的输出复用即可,视频质量和原始视频流单独编码解码的效果相当;
(4)发送端、接收端和/或服务器对每路视频码流无论进行独立保存还是组合保存,均可以利用标准播放器进行回放。
以上所述仅为本发明示意性的具体实施方式,并非用以限定本发明的范围。任何本领域的技术人员,在不脱离本发明的精神和范围的前提下所作的等同变化、修改与结合,均应属于本发明要求保护的范围。本发明要求的保护范围由所附的权利要求书及其等同界定。
Claims (13)
1.一种视频编码方法,包括:
步骤1,将待传输的原始视频流V分割为n路子视频流,其中所述各路子视频流包含原始视频流中的不同像素,其中,所述n路子视频流中的至少一路为从所述原始视频流V中取帧而获得且该路子视频流的分辨率与原始视频流V的分辨率保持一致,并且所述n路子视频流中的至少一路为对所述原始视频流V中的帧进行下采样而获得,n是大于1的整数;
步骤2,对所述子视频流分别进行编码,形成多个子视频码流V1-Vn。
2.根据权利要求1所述的视频编码方法,其特征在于,在所述步骤1中分割后得到的子视频流Vn所占的像素个数是V1至V(n-1)所占像素个数的总和。
3.根据权利要求1所述的视频编码方法,其特征在于,所述步骤1包括:
把所述原始视频流V中的每两个连续的帧作为一个整体,将所述两个连续的帧中的帧A的所有偶数行且偶数列的像素作为第一路子视频流中的一帧,将所述帧A的所有偶数行且奇数列的像素作为第二路子视频流中的一帧,根据所述帧A的所有奇数行的像素获得第三路子视频流中的一帧,将所述两个连续的帧中的帧B作为第四路子视频流中的一帧;
其中,帧A为偶数帧、帧B为奇数帧,或者帧A为奇数帧、帧B为偶数帧。
4.根据权利要求1所述的视频编码方法,其特征在于,所述步骤1包括:
把所述原始视频流V中的每两个连续的帧作为一个整体,将所述两个连续的帧中的帧A的所有偶数行且奇数列的像素作为第一路子视频流中的一帧,根据所述帧A的所有奇数行的像素获得第二路子视频流中的一帧,将所述两个连续的帧中的帧B作为第三路子视频流中的一帧;
并且,将所述两个连续的帧中的帧A的所有偶数行且偶数列的像素作为一个整体进行分割,将其所有偶数行且偶数列的像素作为第四路子视频流中的一帧,将其所有偶数行且奇数列的像素作为第五路子视频流中的一帧,根据其所有奇数行的像素获得第六路子视频流中的一帧;
其中,帧A为偶数帧、帧B为奇数帧,或者帧A为奇数帧、帧B为偶数帧。
5.根据权利要求1所述的视频编码方法,其特征在于,所述步骤1包括:
把所述原始视频流V中的每两个连续的帧作为一个整体,将两个连续的帧中的帧A的所有偶数行且奇数列的像素作为第一路子视频流中的一帧,根据所述帧A的所有奇数行的像素获得第二路子视频流中的一帧,将所述两个连续的帧中的帧B作为第三路子视频流中的一帧;
并且,将所述两个连续的帧中的帧A的所有偶数行且偶数列的像素作为一个整体进行分割,将其奇数行的像素作为第四路子视频流中的一帧,将其偶数行的像素作为第五路子视频流中的一帧;
其中,帧A为偶数帧、帧B为奇数帧,或者帧A为奇数帧、帧B为偶数帧。
6.根据权利要求1所述的视频编码方法,其特征在于,所述步骤1包括:
对所述原始视频流V中的每四个连续的帧作为一个整体进行分割以获得所述n路子视频流V1-Vn中的每一路的一帧,包括:
将所述四个连续的帧中的后两帧作为一个整体,将所述后两帧中的帧A的所有偶数行且偶数列的像素作为第一路子视频流中的一帧,将所述帧A的所有偶数行且奇数列的像素作为第二路子视频流中的一帧,根据所述帧A的所有奇数行的像素获得第三路子视频流中的一帧,将所述两个连续的帧中的帧B作为第四路子视频流中的一帧;
将所述四个连续的帧中的前两帧作为一个整体,将所述前两帧中的帧A的所有偶数行且奇数列的像素作为第五路子视频流中的一帧,根据所述帧A的所有奇数行的像素获得第六路子视频流中的一帧,将所述两个连续的帧中的帧B作为第七路子视频流中的一帧;
并且,将所述前两帧中的帧A的所有偶数行且偶数列的像素作为一个整体进行分割,将其所有偶数行且偶数列的像素作为第八路子视频流中的一帧,将其所有偶数行且奇数列的像素作为第九路子视频流中的一帧,根据其所有奇数行的像素获得第十路子视频流中的一帧;
其中,帧A为偶数帧、帧B为奇数帧,或者帧A为奇数帧、帧B为偶数帧。
7.根据权利要求1所述的视频编码方法,其特征在于,所述步骤2进一步包括:
对所述子视频流分别独立进行编码。
8.根据权利要求1所述的视频编码方法,其特征在于,所述步骤2进一步包括:基于所述子视频流各自的分辨率占原视频流的分辨率比例,设置所述子视频流的码率。
9.一种对应于权利要求1所述的视频编码方法的视频码流的自适应传输方法,所述方法包括:选择子视频码流的组合中需要传输带宽最大的码流组合用于传输,其中,所述需要传输带宽最大的码流组合所需的传输带宽不高于用于传输所述码流组合的链路的传输带宽。
10.根据权利要求9所述的自适应传输方法,其特征在于,所述方法进一步包括:在选择用于上行传输的子视频码流组合之前,以优先包括低码率的子视频码流的方式对所述子视频码流进行组合。
11.根据权利要求9所述的自适应传输方法,其特征在于,所述方法进一步包括:在选择用于下行传输的子视频码流组合之前,根据待传输的子视频码流所需的传输带宽的大小,确定所述待传输的子视频码流的所有的不重复的码流组合。
12.一种用于对权利要求1所述的方法编码的视频码流进行显示的方法,所述方法包括:
步骤1,对所述视频码流进行解码;
步骤2,复用解码后的子视频流进行显示,若某一路子视频流的对应帧不存在,则持续显示前一子视频流的帧。
13.根据权利要求12所述的显示方法,其特征在于,所述步骤2进一步包括:
根据解码后的子视频流各自的分辨率占原始视频流的分辨率的比例,为所述解码后的子视频流分配显示时间,其中,为所述解码后的每一个子视频流所分配的显示时间与该子视频流的分辨率占原始视频流的分辨率的比例呈正比;
并根据所分配的显示时间复用所述解码后的子视频流进行显示,若某一路子视频流的对应帧不存在,则持续显示前一子视频流的帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610127762.7A CN105791836B (zh) | 2016-03-07 | 2016-03-07 | 视频编码方法、视频码流自适应传输方法和显示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610127762.7A CN105791836B (zh) | 2016-03-07 | 2016-03-07 | 视频编码方法、视频码流自适应传输方法和显示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105791836A CN105791836A (zh) | 2016-07-20 |
CN105791836B true CN105791836B (zh) | 2019-04-02 |
Family
ID=56387100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610127762.7A Active CN105791836B (zh) | 2016-03-07 | 2016-03-07 | 视频编码方法、视频码流自适应传输方法和显示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105791836B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107027052B (zh) * | 2017-02-28 | 2019-11-08 | 青岛富视安智能科技有限公司 | Svc视频自适应降帧率的方法及*** |
CN106998268A (zh) * | 2017-04-05 | 2017-08-01 | 网宿科技股份有限公司 | 一种基于推流终端网络状况的优化方法和***以及推流终端 |
CN108922175B (zh) * | 2018-06-22 | 2021-10-01 | 大连理工大学 | 记录多台机动车越实线违法行为的方法及装置 |
CN109068169A (zh) * | 2018-08-06 | 2018-12-21 | 青岛海信传媒网络技术有限公司 | 一种视频播放方法及装置 |
CN111314738A (zh) * | 2018-12-12 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 数据传输方法和装置 |
CN113315973B (zh) * | 2019-03-06 | 2022-12-20 | 深圳市道通智能航空技术股份有限公司 | 编码方法、图像编码器及图像传输*** |
CN109922318B (zh) * | 2019-03-22 | 2020-02-07 | 重庆紫光华山智安科技有限公司 | 一种多路视频传输调度方法、装置、存储介质及电子终端 |
CN110191342A (zh) * | 2019-07-02 | 2019-08-30 | 北京字节跳动网络技术有限公司 | 视频编码方法及设备、视频解码方法及设备 |
CN110830819B (zh) * | 2019-11-19 | 2022-03-25 | 聚好看科技股份有限公司 | 编码、解码方法、编码端和解码端 |
CN113573104B (zh) * | 2021-07-15 | 2023-05-23 | 北京数字电视国家工程实验室有限公司 | 一种传输码流分路和合路方法、码流分路器、合路器及*** |
CN113905248B (zh) * | 2021-09-29 | 2024-03-22 | 乐视云网络技术(北京)有限公司 | 直播视频数据传输方法、装置、设备以及存储介质 |
CN114040226B (zh) * | 2022-01-10 | 2022-03-11 | 北京小鸟科技股份有限公司 | 低带宽高分辨率视频传输的数据传输方法、***及设备 |
CN117412072A (zh) * | 2022-07-06 | 2024-01-16 | 北京字跳网络技术有限公司 | 一种视频资源管理方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223532A (zh) * | 2010-04-14 | 2011-10-19 | 联发科技股份有限公司 | 在编码单元进行视讯编码时执行混成多重假设移动补偿预测的方法以及装置 |
CN103718562A (zh) * | 2011-07-26 | 2014-04-09 | Lg电子株式会社 | 发送视频流的装置、接收视频流的装置、发送视频流的方法、接收视频流的方法 |
CN104601999A (zh) * | 2014-12-31 | 2015-05-06 | 乐视网信息技术(北京)股份有限公司 | 一种基于关键帧的编码方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2004301091B2 (en) * | 2003-08-19 | 2008-09-11 | Panasonic Corporation | Method for encoding moving image and method for decoding moving image |
-
2016
- 2016-03-07 CN CN201610127762.7A patent/CN105791836B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223532A (zh) * | 2010-04-14 | 2011-10-19 | 联发科技股份有限公司 | 在编码单元进行视讯编码时执行混成多重假设移动补偿预测的方法以及装置 |
CN103718562A (zh) * | 2011-07-26 | 2014-04-09 | Lg电子株式会社 | 发送视频流的装置、接收视频流的装置、发送视频流的方法、接收视频流的方法 |
CN104601999A (zh) * | 2014-12-31 | 2015-05-06 | 乐视网信息技术(北京)股份有限公司 | 一种基于关键帧的编码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105791836A (zh) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105791836B (zh) | 视频编码方法、视频码流自适应传输方法和显示方法 | |
US9215416B2 (en) | Method and system for switching between video streams in a continuous presence conference | |
US8228982B2 (en) | Adaptive video streaming system and method | |
CN1973550B (zh) | 使用冗余视频流的通过dsl的数字视频广播***中的快速频道改变 | |
CN1951119A (zh) | 能够针对dsl***的进行快速信道改变的方法及设备 | |
CN104661044B (zh) | 一种广电ott融合终端及其实现方法 | |
CN105635636A (zh) | 一种视频会议***及其实现视频图像传输控制的方法 | |
US8571027B2 (en) | System and method for multi-rate video delivery using multicast stream | |
CN103581610A (zh) | 进行不同参与设备的视频会议的方法与*** | |
CN101421936A (zh) | 用于在可缩放视频通信中提供差错弹性、随机接入和率控制的***和方法 | |
CN111405231A (zh) | 视频会议方法、装置、设备和计算机可读存储介质 | |
CN103108186A (zh) | 实现视频高清传播的方法 | |
CN1754385B (zh) | 图像数据分发装置、方法及图像数据接收方法 | |
CN113676404A (zh) | 数据传输方法、装置、设备、存储介质及程序 | |
CN104796793B (zh) | 机会式多媒体动态云平台和多中继分级协作的传输方法 | |
KR101396948B1 (ko) | 하이브리드 다시점 및 계층화 비디오 코딩 방법과 장치 | |
EP2557780A2 (en) | Method and system for switching between video streams in a continuous presence conference | |
KR101433168B1 (ko) | 하이브리드 다시점 및 계층화 비디오 코딩 방법과 장치 | |
CN101924906A (zh) | 一种多媒体实时交互***及方法 | |
US11457053B2 (en) | Method and system for transmitting video | |
CN205545736U (zh) | 一种视频在线播放装置 | |
EP2781088A1 (en) | Reducing amount op data in video encoding | |
CN101860471A (zh) | 一种媒体流切换方法、装置和*** | |
CN105306950B (zh) | 一种反馈粗量化重建帧的视频压缩远程传输*** | |
WO2009062679A1 (en) | Method and arrangement for personalized video encoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |