CN1571516A - 视频编码 - Google Patents
视频编码 Download PDFInfo
- Publication number
- CN1571516A CN1571516A CN 200410037726 CN200410037726A CN1571516A CN 1571516 A CN1571516 A CN 1571516A CN 200410037726 CN200410037726 CN 200410037726 CN 200410037726 A CN200410037726 A CN 200410037726A CN 1571516 A CN1571516 A CN 1571516A
- Authority
- CN
- China
- Prior art keywords
- frame
- subframe
- compression
- divided
- controller
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
帧内压缩或帧间压缩压缩比差别很大,对任一帧单纯采用一种方法,使压缩后的帧长度变化很大,引起帧的延迟,造成网络不稳定。对实时性要求比较高的应用中,这种延迟和不稳定对应用的影响非常大,而且是不必要的。本发明把帧划分成多个部分,每一部分的压缩方式的选择是独立的,由一个过程来控制。这种方法与单纯采用一种压缩方式的方法相比,几乎不会减少总的压缩比,但却可以很容易使压缩后帧长差别很小。本发明还提出帧的不同部分重要性是不同的,考虑了帧内不同部分变化不相同,因此,对帧的不同部分特别处理。
Description
技术领域:
本发明涉及视频的编码方法和译码方法。主要应用在低带宽,视频实时要求高的情况,如视频会议,实时监控等应用。
背景技术:
最近,包括以数据流的形式出现的视频和音频信息的多媒体应用得到很大的使用。典型的视频流包括一个图像序列,常常被称为帧。这些帧包括被安排成长方形的像素集。在现有的视频存在两种冗余:空间的和时间的,因此存在两种压缩方式:帧内(Intraframe)压缩和帧间预测压缩(Interframe)、一般包括前向预测和双向预测。对应压缩方式产生的帧分别称为内部帧和预测帧。帧内压缩只利用帧本身内的像素空间相关性,而不使用来自过去的或将来的帧的信息进行编码。内部帧被用作解码/解压缩其它帧的基础,以及提供对于编码的序列的访问点,由此可进行解码。预测帧是从所谓的参考帧通过运动补偿预测被编码/压缩的帧。由于在典型的视频序列中相邻的帧是高度相关的,所以当使用预测帧可以达到更高的压缩。因此,内部帧一般情况下比预测帧要大。在MPEG-2,MPEG-4,H.261,H.262和H.263中,规定了三种图像:内部帧(I帧),预测帧(包括前向预测帧(P帧),双向预测帧(B帧))。每种图像类型利用图像序列中的不同类型的冗余度,导致不同的压缩效率。
视频流中帧的频率并不是很频繁的变化。内部帧被用作解码/解压缩其它帧的基础,提供对于编码的序列的访问点,在视频流中可能存在出错,特别是在网络传输中。因此,在一些编码标准中,每相隔一定数量的预测帧,就需要一个内部帧。在视频流中,如果一个图像是内部帧,则数据量就大一些,如果是预测帧,数据量就相对小一些。一般情况下,P帧比I帧小,B帧比P帧小。
压缩帧长度是变化的,这种变化有一部分是由于压缩算法引起的,把这种抖动称为系统抖动;但还有一部分是视频信息量变化引起的,如视频中大量物体的运动,称之为信息量抖动。
一般说来帧播放的时间间隔与产生时间间隔一般是相同的,所有压缩帧都受到具有最大长度的压缩帧的发送延迟的影响。为了使视频流的数据率以一个更一致的速率进行,必须在流的两端设定缓冲区。总的来说,每一个压缩帧发送延迟和缓冲区等待所要时间之和是相同的,都等于:
LM为最大帧长,B是发送压缩帧的可用带宽。
这种延迟与可用带宽成反比,与最大帧长成正比。运动补偿预测的视频编码方法,采用内部压缩与采用预测编码所生成的压缩帧长度差别很大。在实际的应用中,如果保留大量的带宽,就会造成很大的浪费,否则就造成很大的延时,如视频会议等系统。
在网络应用中,QoS技术对数据流的速率变化都有一些限制。RSVP要对带宽预留,DiffServ对数据流的突发有一些很严格的限制。ATM有RT-VBR服务,但对数据速率的变化还是有一些要求,并且还容易丢包。现在的网络技术是完全支持不变速度的数据传输的,如ATM-CBR,以及现在各种QoS技术,可以通过预留带宽而减少丢包。
由公式(1),可以看出减少LM可以降低ta。而在视频流中,压缩帧中的内部帧和预测帧的长度差距是很大的,因此,消除压缩帧长度的系统抖动,使LM减少,降低ta有很重要的实际意义。
发明内容:
本发明的目的就是要消除因压缩算法引起压缩后帧长的系统抖动,从而使每一个压缩帧长度之间差别变小,易于传输。
在本发明中,每一帧不再单纯采用一种压缩方式,而是混合两种压缩方式。每一帧被划分成多个部分,每一部分称之为子帧。所有子帧采用的压缩方式(帧内压缩或帧间预测压缩)不完全相同。视频流在接收端,根据子帧对应的压缩方式,采用不同的方式译码后,通过装配,恢复出整个帧。因此,在本发明中,增加了两个过程,一个是帧划分,把帧划分成多个部分;另一个是控制每一部分的压缩方式,内部压缩或预测压缩,称为压缩方式控制器,有时简称为帧控制器。
帧划分的输出结果是把帧划分成多个部分,主要有两种划分方式:固定划分和变动划分。在固定划分中,帧的划分在视频流中是不变的,这样译码端可以知道这种划分,在压缩后的视频流中就不需要加入关于划分的信息。在变动划分中,帧的划分在视频流中是变动的,因此压缩后的视频流中必须有划分信息,译码端译码后,就可以把子帧装配成帧。帧划分主要考虑下面的因素:
1.视频流要求的帧内压缩的频率。一般说来帧划分输出的子帧数量要大于等于帧内压缩的频率,因为子帧是帧控制器能操作的最小单元,而压缩后的帧至少有一个子帧是帧内压缩,这样就会增加帧内压缩的频率。
2.帧划分后的,每部分采用的压缩算法,有一些压缩算法对划分后的部分有一些要求,如长宽,形状等,因此必须要考虑的。
3.与前一帧相比,帧像素的变化情况,尽可能把相邻的,变化量比较大的像素划分到同一个块内。
压缩方式控制器决定了每一子帧的压缩方式,可以有多种算法实现,但其实现方式依赖于帧划分。帧控制器的目的是使压缩帧长度均匀,减少由系统引起的变化,并在一定程度上增加压缩比,但是要在一定程度上保证对视频流的随机访问及在网络传输中误差的消除。本说明书提供两个压缩方式控制器的实现,这两种实现的帧划分是固定的。第一个实现介绍一个基本的帧控制器,完成最基本的目的,使帧被压缩编码后长度比较均匀,消除系统抖动。
假设视频流在网络中传输中为了防止错误积累,要求采用内部压缩的间隔是v。帧划分过程把帧被划分成v等分(划分要考虑压缩算法对子帧长宽的要求),并为每一个子帧设定位置编号。假设一个子帧的编号为i,所在帧的顺序号为s,如果(i+s)%v(i+s除以v后的余数)为0,则这个子帧采用帧内压缩,否则采用帧间压缩。在视频流中任意连续的v个帧,每一个压缩帧中,有一个子内部帧,其它为子预测帧。满足了内部帧间隔要求,同时每一个压缩帧的子内部帧和子预测帧数量是一样的,因此每一个压缩帧的大小可以相差很小。附图3说明了这种算法。这种算法非常简单,对现在的编码标准也不需要改变。
另一个帧控制器的实现考虑了更多的因素,一些特别的应用,特别是实时视频流要通过网络传输,帧控制器减少采用帧内压缩方式的次数,提高压缩比。需要考虑的因素包括:
1.一些应用,图像中只有一部分变化比较多,对于变化比较少的部分,帧内压缩的间隔自然可以增加;对于变化比较多的子帧,帧内压缩的频率高一些。
2.在一些情况下,由于子帧内像素变化非常大,采用预测方式并没有太多的价值,这时就可以采用帧内压缩。
3.帧中每一个像素的重要性也是不同的,在边界的往往比在中心的重要性要低一些。因此,边界子帧可以少采用帧内压缩。
4.在网络的传输中,数据会产生错误,变化较小的子帧,对应传输到译码器的数据也少,因此,产生错误数量的数学期望就小;反之,则高。错误产生的概率少,就少用帧内压缩方式,反之,就多用。
考虑到上面的因素,帧控制器的实现就必须与现在的压缩编译码系统结合起来,附图2就是采用本发明后,帧间预测编码器的变化,因帧划分过程比较简单,把它与帧控制器(6)合在一起了。
综合上面的因素,帧控制所依赖的因素如下:
1.子帧的变化量,记为C1,C2,C3,C4,……Ck
2.每个子帧的比重,记为W1,W2,W3,W4,……Wk
3.闸值T,假设错误数量的数学期望与子帧的变化量成正比关系,在子帧的变化量到达闸值,就采用帧内压缩。
4.子帧内像素变化量S,子帧内像素变化很大,有必要采用帧内压缩。每个子帧的比重预先设定。闸值T也预先设定。子帧的预测误差用来表示子帧的变化量。子帧内像素的变化,在附图2中是由运动估值(5)来为帧控制器提供信息。
上面介绍了两个帧控制器的实现,
总之,本说明书提出了一种清除压缩后帧长系统抖动的方法,并能在一定程度上增加压缩比。这种方法特别在视频会议等实时视频应用中有很重要的意义。
内部帧编码效率较低;预测帧编码效率较高。因此,在实时应用中,对网络带宽的需求因帧压缩方式的不同而产生很大的变化。而现在的网络并没有一种技术能很好满足这种要求。本发明则把帧分成子帧并分别压缩,把内部帧分散在多个压缩帧中,每一个子帧的压缩方式统一控制,从而消除压缩后的帧长度系统抖动。利用本发明还可以使帧压缩更符合应用实际,在子帧中增加了比重,根据子帧内像素变化做特别的处理。因此,本发明在一定程度上可以提高压缩比,以及提高图像质量。
附图说明:
图1显示使用运动补偿预测的视频编码系统的示意图。图的上半部分是编码器,图的下半部分是译码器。
图2是运动补偿预测的视频编码系统使用本发明后的示意图。在图2中帧控制器(6)根据运动估值(5)的信息和本身的记录生成要把各个子帧采用的编码方式传给运动区编码(7),运动区编码(7)结合各个子帧的压缩方式生成必要的运动信息。运动估值(5)提供粗略的预测误差。因为在帧中存在两种压缩方式,因此MC预测(8)、预测误差编码(1)和预测误差译码(3)需要做一些小的改变,增加处理子帧的能力。对应的译码器也需要增加处理子帧的能力。在运动补偿预测的视频编码系统中,一般使用的是块预测。因此对原来的算法并不会改变很多。
图3显示,在不对现在的各种压缩标准的算法做修改,而直接使用本发明的方法,上图是编码方法,而下图是译码方法。编码分为三个步骤:
1.帧划分(51)把帧分成k个相同的部分。
2.每一部分采用独立的视频编码器(53),由帧控制器(52)控制。
3.把每一部分编码后的数据与帧划分的信息由复接(54)发送出去。
对于译码,也分为三个步骤:
1.分接(63)收到数据,取出每一部分编码后的数据与帧划分信息。
2.每部分采用独立的视频译码器(62)。
3.帧划分信息与每个独立的视频由帧装配(61)装配在一起生成一个帧。
应当说明,上面的例子并不是对本发明的限制。帧控制器是本发明的核心,本文所描述的设计并不是对本发明的限制,只是提出两个设计方式。本发明也不仅仅限于运动补偿预测的视频编码系统,对任何利用帧内部的相关性压缩和利用帧间相关性压缩而产生压缩帧长抖动,本方法都可以用来消除或减少这种抖动。本领域的技术人员能够在不背离本发明的随后权利要求的精神范围内设计多种替代的变形。
Claims (10)
1.用于视频流的视频编译码器,视频编码器具有帧划分,用于把一个视频帧被划分成多个部分,具有帧控制器,用于控制各个部分采用的压缩方式。视频译码器具有帧装配过程,是帧划分的逆过程,用于把各个子帧装配成完整的帧。
2.按权利要求1所述的帧划分,其特征在于帧划分部分或全部基于下面的因素:
(a)视频流采用帧内压缩的频率,
(b)帧划分后的,子帧采用的压缩算法限制,
(c)与前面帧相比,帧像素的变化。
3.按权利要求1所述的帧控制器,其特征在于帧控制器部分或全部基于下面的因素:
(a)压缩后的可能帧长度,
(b)子帧自最近一次采用帧内压缩以来,总的变化量,
(c)压缩编码后子帧的长度,
(d)子帧的权重,
(e)如果要通过网络传输,网络可能的失误率。
4.按权利要求1所述的帧装配,其特征在于要根据子帧在帧内的位置,把帧装配起来。
5.按权利要求1所述的方法,一种实现是对现有的压缩编译码不做任改变,只是基于它们。帧划分,帧控制器和帧装配被预先设定好。
6.按权利要求1所述的方法,一种实现是加入到现有的压缩编译码中,并对现有的编译码做一些改动。
7.按权利要求5所述的实现,压缩编码过程分为三步骤:
(a)对帧执行帧划分,
(b)然后把子帧作为一个帧,对应每个子帧,有一个单独的压缩编码器压缩编码,其压缩方式由帧控制器来控制,
(c)把子帧压缩后的数据复接,传输或存储。
8.按权利要求5所述的实现,译码过程分为三个步骤:
(a)分接,取出子帧的压缩数据,
(b)每个子帧的压缩数据都有一个单独的译码器进行译码,
(c)译码后交给帧装配过程,生成完整帧。
9.按权利要求6所述的帧划分过程和帧控制器,合并到现有的运动预测编码过程中。其特征在于:
(a)帧划分利用运动估值提供的信息做出帧划分,
(b)帧控制器利用存储的信息与运动估值提供的信息决定压缩方式,
(c)帧的预测误差提供帧内像素变化信息。
(d)运动估值向帧划分和帧控制器提供粗略的估值误差和运动向量,
(e)MC预测生成预测帧要判断子帧压缩方式的不同,生成预测帧。
(f)运动区编码编码帧划分信息和子帧的压缩方式信息。
10.按权利要求6所述的帧装配,合并到现有的运动预测译码过程中。其特征在于:
(a)译码器能够识别各子帧的压缩方式,
(b)译码器能够知道帧的划分方式,并实现帧装配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410037726 CN1571516A (zh) | 2004-05-10 | 2004-05-10 | 视频编码 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410037726 CN1571516A (zh) | 2004-05-10 | 2004-05-10 | 视频编码 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1571516A true CN1571516A (zh) | 2005-01-26 |
Family
ID=34481726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410037726 Pending CN1571516A (zh) | 2004-05-10 | 2004-05-10 | 视频编码 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1571516A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114793299A (zh) * | 2022-04-27 | 2022-07-26 | 中移(杭州)信息技术有限公司 | 流媒体传输控制方法、系统、设备与介质 |
-
2004
- 2004-05-10 CN CN 200410037726 patent/CN1571516A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114793299A (zh) * | 2022-04-27 | 2022-07-26 | 中移(杭州)信息技术有限公司 | 流媒体传输控制方法、系统、设备与介质 |
CN114793299B (zh) * | 2022-04-27 | 2024-05-24 | 中移(杭州)信息技术有限公司 | 流媒体传输控制方法、系统、设备与介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
McCanne et al. | Low-complexity video coding for receiver-driven layered multicast | |
CN1264355C (zh) | 视频编码方法 | |
Aravind et al. | Packet loss resilience of MPEG-2 scalable video coding algorithms | |
US9167259B1 (en) | Method and system for scalable representation, storage, transmission and reconstruction of media streams | |
US5260783A (en) | Layered DCT video coder for packet switched ATM networks | |
EP1638333A1 (en) | Rate adaptive video coding | |
EP1217841A2 (en) | Bitstream separating and merging system, apparatus, method and computer program product | |
US20020054638A1 (en) | Coded signal separating and merging apparatus, method and computer program product | |
CN1466853B (zh) | 视频处理方法、设备和系统 | |
US20010048768A1 (en) | Method for computational graceful degradation in an audiovisual compression system | |
WO1996006505A1 (en) | Method and apparatus for decoding digital video using parallel processing | |
US20060114995A1 (en) | Method and system for high speed video encoding using parallel encoders | |
US7826530B2 (en) | Use of out of order encoding to improve video quality | |
US6879634B1 (en) | Method and system for transmitting media streams over a variable bandwidth network | |
CN1943241A (zh) | 用于接收视频数据的设备和方法 | |
KR100952185B1 (ko) | 순방향 에러 정정 코드를 이용하여 비디오의 드리프트 없는 단편적인 다중 설명 채널 코딩을 위한 시스템 및 방법 | |
CN1726644A (zh) | 用于多种描述编码的设备和方法 | |
JPH07298258A (ja) | 画像符号化復号化方法 | |
KR20050031460A (ko) | 하이브리드 예측 코드를 사용하는 다중 표현 움직임보상을 수행하는 방법 및 장치 | |
Lei et al. | Adaptive video transcoding and streaming over wireless channels | |
EP0777387A2 (en) | Method and apparatus for encoding digital video signals | |
CN1656816A (zh) | 使用较高质量的参考帧改进效率的fgst结构 | |
Girod et al. | Scalable codec architectures for internet video-on-demand | |
CN1571516A (zh) | 视频编码 | |
JPH10224794A (ja) | 動画像符号化データの階層化方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |