CN100499815C - 一种支持视频帧随机读取的视频编解码方法 - Google Patents
一种支持视频帧随机读取的视频编解码方法 Download PDFInfo
- Publication number
- CN100499815C CN100499815C CN 200710062633 CN200710062633A CN100499815C CN 100499815 C CN100499815 C CN 100499815C CN 200710062633 CN200710062633 CN 200710062633 CN 200710062633 A CN200710062633 A CN 200710062633A CN 100499815 C CN100499815 C CN 100499815C
- Authority
- CN
- China
- Prior art keywords
- frame
- decoding
- coding
- frames
- code 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000013139 quantization Methods 0.000 claims description 25
- 230000009466 transformation Effects 0.000 claims description 13
- 230000001131 transforming effect Effects 0.000 claims description 4
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 235000001674 Agaricus brunnescens Nutrition 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种支持视频帧随机读取的视频编解码方法,属于计算机多媒体技术领域。本编码方法为:对视频帧进行分组,将组内所有帧设置成I帧,P帧,B帧和随机读取帧W帧,并对组内的所有帧I帧,P帧,B帧进行传统编码,对W帧首先按照P帧的编码方式进行编码,再利用分布式视频编码的编码方法参考离该W帧最近的I帧以及该I帧与该W帧之前的任意一帧对该W帧进行编码;解码方法为:当不需要进行随机读取时,对各组的I帧、P帧、B帧进行传统解码,W帧按P帧的方法进行解码;当需要进行随机读取时,利用分布式视频编码的解码方法进直接对W帧行解码;本方法不但可提高视频帧的随机读取性能,而且生成的码流具有一定的抗差错性能。
Description
技术领域
本发明属于计算机多媒体技术领域,特别涉及视频编解码设计技术。
背景技术
计算机硬件、软件技术的飞速发展,使得人们获取和处理信息量巨大的视频数据成为可能。各种基于视频数据的应用如视频监控、视频点播服务、视频检索等如雨后春笋一般涌现出来。许多视频应用都有一个共同要求,就是要能从视频码流中快速解出某一帧,这也就是视频帧随机读取。
视频编码标准H.261、H.263、MPEG-1、MPEG-2、MPEG-4对这一问题都没有给出很好的解决方案。在这些编码方案中,原始视频帧被分成两类:一类是帧内编码帧,另外一类是帧间编码帧。帧内编码帧就是在编码该帧的时候只考虑了帧内的相关性,没有利用其它帧的信息,这种帧也称为I帧。帧间编码帧是编码该帧的时候考虑了帧间的相关性,利用到前面或后面帧的信息,这些帧对该帧来说就叫参考帧。在视频编码中,如果编码时候只利用了前面的帧作为参考帧就叫P帧,如果同时利用了前面的帧和后面的帧作为参考帧就叫B帧。现有的视频编码标准在编码时首先将所有的视频帧分组,也就是固定数目的连续视频帧放在一起,每个分组是一个编码单元。不同分组之间的编码结构就是分组中每个帧的编码类型是相同的。在每一个分组中,第一个帧是I帧,后面的帧可以根据需要定为I帧,P帧或B帧。对于视频数据来说,视频帧之间的相关性很强,P帧、B帧越多则编码的码率越低,但是由于P帧、B帧在解码的时候需要知道它编码的时候用到的参考帧,所以得先解码参考帧,这样在随机解码一帧的时候,首先要找到它前面最近的I帧,然后从这个I帧开始依次解码最终得到该帧。很明显如果一个视频流中的I帧太少,则导致随机解码某一帧的时候需要解码的帧数比较多,这也就是随机读取的性能比较差。如果视频流中的I帧比较多,虽然随机读取的性能提高了,但是结果是压缩性能的降低,即I帧越多压缩性能越低。
最新的视频编码标准H.264/MPEG-4 AVC提出了利用SP/SI帧来解决视频帧随机读取问题。SP帧的编码方法和P帧类似,不同的是SP帧在编码的时候使用了不同的参考帧,可以用不同的参考帧进行解码、重构。SI帧是SP帧的一种特殊情况,它在编码的时候只用到帧内相关性。这种方法有一个缺陷就是SP帧在解码的时候至少要收到一个编码时用到的参考帧,这导致视频帧随机读取能力在一定程度上还是受限的。由于有时SP的位置会离其参考帧比较远,而在有的应用中由于解码时所能存储的帧的数量有限,所以SP帧的参考帧可能会被扔掉,这样只能解码到SP帧在编码时所参考的下一个参考帧才能对SP帧进行解码。对于这种应用SP/SI帧的方法还是有一定的局限性。
发明内容
本发明的目的是克服已有技术的不足之处,根据视频应用中对视频帧随机读取的要求,分布式视频编码的原理,提出了一种支持视频帧随机读取的视频编解码方法,本方法不但可提高视频帧的随机读取性能,而且生成的码流具有一定的抗差错性能。
本发明提出的一种支持视频帧随机读取的视频编解码方法,其特征在于,其中编码方法为:首先对视频帧进行分组,根据对压缩性能以及随机读取性能的需要,将组内所有帧设置成I帧,P帧,B帧和随机读取帧W帧,并利用传统的视频编码方法对组内的所有帧I帧,P帧,B帧进行编码,对W帧首先按照P帧的编码方式利用传统的视频编码方法进行编码,再利用分布式视频编码的编码方法参考离该W帧最近的I帧以及该I帧与该W帧之前的任意一帧对该W帧进行编码;
解码方法为:当不需要进行随机读取时,按照传统的视频解码方法对各组的I帧、P帧、B帧进行解码,W帧按P帧的方法进行解码;当需要进行随机读取时,利用分布式视频编码的解码方法直接对W帧进行解码;具体分两种情况:如果当前已解码帧是离该W帧最近的I帧或与该I帧与W帧之间的任意一帧,则直接利用分布式视频编码的解码方法参考解出来的当前帧对该W帧进行解码;否则首先对离该W帧最近的I帧按照传统的视频解码方法解码,然后利用分布式视频编码的解码方法参考解码得到的I帧对该W帧进行解码。
本发明的特点及技术效果
1)本发明由于采用了分布式视频编码的方法,而分布式视频编码的解码方法的核心算法使用了信道编码,所以在解码时只要知道了编码W帧时用到的I帧之后,该W帧之前的任何一帧,在通常情况下都能无差错解出当前的W帧。
2)本发明由于采用了分布式视频编码的方法,而分布式视频编码中的核心算法使用信道编码实现的,所以生成的码流具有一定的抗差错性能。
3)由于在编码W帧的时候利用了前面帧的信息,所以比纯I帧编码的码率低,故压缩性能较高。
附图说明
图1为本发明方法的编码流程图。
图2为本发明采用的分布式视频编码的编码流程图。
图3本发明方法的解码流程图。
图4分布式视频编码的解码流程图。
具体实施方式
本发明提出的一种支持视频帧随机读取的视频编解码方法结合附图及实施例详细说明如下:
本发明提出的一种支持视频帧随机读取的视频编解码方法结合附图及实施例详细说明如下:本发明提出的一种支持视频帧随机读取的视频编解码方法,其特征在于,其中编码方法为:首先对视频帧进行分组,根据对压缩性能以及随机读取性能的需要,将组内所有帧设置成I帧,P帧,B帧和随机读取帧W帧,并利用传统的视频编码方法对组内的所有帧I帧,P帧,B帧进行编码,对W帧首先按照P帧的编码方式利用传统的视频编码方法进行编码,再利用分布式视频编码的编码方法参考离该W帧最近的I帧以及该I帧与该W帧之前的任意一帧对该W帧进行编码;
解码方法为:当不需要进行随机读取时,按照传统的视频解码方法对各组的I帧、P帧、B帧进行解码,W帧按P帧的方法进行解码;当需要进行随机读取时,利用分布式视频编码的解码方法直接对W帧进行解码;具体分两种情况:如果当前已解码帧是离该W帧最近的I帧或与该I帧与W帧之间的任意一帧,则直接利用分布式视频编码的解码方法参考解出来的当前帧对该W帧进行解码;否则首先对离该W帧最近的I帧按照传统的视频解码方法解码,然后利用分布式视频编码的解码方法参考解码得到的I帧对该W帧进行解码。
本发明所述编码方法的具体步骤,如图1所示,包括:
1)将视频帧分组,连续的相同个数的视频帧分为一组(采用一般视频编码标准规定的方法);
2)将组内所有帧设置成I帧,P帧,B帧和随机读取帧W帧(各种帧的设置可根据对压缩性能以及随机读取性能来确定);
3)如果当前要编码帧Fk是I帧,则对其进行变换、量化、熵编码得到码流B1;
4)如果当前要编码帧Fk是P帧,则首先以为参考帧,进行运动估计,将得到的运动向量进行编码得到码流B2,另外,将运动向量和进行运动补偿并将得到结果与编码帧Fk求差得到残差,对残差进行变换、量化、熵编码得到码流B1;
5)如果当前要编码帧Fk是B帧,则首先以和为参考帧,进行运动估计,将得到的运动向量进行编码得到码流B2,另外,将运动向量和进行运动补偿并将得到结果与Fk求差得到残差,对残差进行变换、量化、熵编码得到码流B1;
所述步骤6)中分布式视频编码的编码方法,如图2所示,包括以下步骤:
(2)将待编码帧Fk生成的每个位平面进行信道编码生成校验比特,并用生成的对应的位平面用来确定每个位平面要传输的校验比特(也就是要使解码端在利用中的任何一帧生成的位平面以及收到的对应位平面确定的传输的校验比特都能使用信道解码的方法正确的解出待编码帧Fk生成的相应的位平面);
(3)将每个位平面要传输的校验比特复用得到校验比特流B3。
本发明的解码方法,具体步骤如图3所示,包括:
所述步骤10)中的分布式视频编码的解码方法,如图4所示,包括以下步骤:
(1)将收到的校验比特流B3解复用,并将不同位平面的校验比特分开;
(4)将各个位平面进行合成,然后进行反变换、反量化最终得到重构帧
上述各图中,Fk为原始视频数据的第k帧,分别为第k-1、k、k+1帧经过编码解码后的重构帧,为离第k帧最近的I帧的重构帧,为离第k帧最近的I帧的下一帧的重构帧,为离第k帧最近的I帧和第k帧之间(包括该I帧)的任意一帧的重构帧,B1,B2,B3分别为残差编码的码流,运动矢量编码的码流和对W帧进行分布式视频编码的码流。
本发明方法的一个实施例结合图1、2、3、4详细说明如下:
本实施例的编码方法包括以下步骤:
1)将视频帧分组,连续的40个视频帧被分到一组;
2)按如下形式设定分组中的帧的类型:I-B-B-P-B-B-P...,其中第22帧为W帧;
3)如果当前要编码帧Fk是I帧,则对其进行离散余弦变换(DCT-discrete cosine transform),用均匀量化的方法进行量化,最后用变长编码(VLC-variable length coding)的方法进行熵编码,得到码流B1;
4)如果当前要编码帧Fk是P帧,则首先以为参考帧,利用H.264标准中采用的运动估计算法进行运动估计,将得到的运动向量用变长编码的方法进行熵编码得到码流B2;另外,将运动向量和进行运动补偿得到结果与Fk求差得到残差,然后对残差进行DCT变换,之后用均匀量化的方法进行量化,最后用变长编码的方法进行熵编码,得到码流B1;
5)如果当前要编码帧Fk是B帧,则首先以和为参考帧,利用H.264标准中采用的运动估计算法进行运动估计,将得到的运动向量用变长编码的方法进行熵编码得到码流B2;另外,将运动向量和进行运动补偿得到结果与Fk求差得到残差,然后对残差进行DCT变换,之后用均匀量化的方法进行量化,最后用变长编码的方法进行熵编码,得到码流B1;
本实施例步骤6)中的分布式视频编码的编码方法包括以下步骤:
(2)将待编码帧Fk生成的每个位平面都码率可伸缩的凿孔涡轮码(RCPT codes-RateCompatible Punctured Turbo codes)的编码方法进行信道编码生成校验比特,然后用 生成的对应的位平面来确定传输的校验比特(也就是要使解码端在利用 中的任何一帧生成的位平面以及收到的对应位平面的传输的校验比特都能使用信道解码的方法正确的解出待编码帧Fk生成的相应的位平面);
(3)将每个位平面要传输的校验比特复用得到校验比特流B3。
本实施例的解码方法包括以下步骤:
7)I帧的解码:对残差编码的码流B1用变长解码(VLD-variable length decoding)的方法进行熵解码,用均匀量化的反量化方法进行反量化,之后进行反离散余弦变换(IDCT-inverse discrete cosine transform),就得到了解码帧
8)对P帧的解码:首先对残差编码码流B1用VLD进行熵解码,用均匀量化的反量化方法进行反量化,之后进行IDCT得到残差图像,然后对运动矢量码流B2用VLD的方法进行熵解码得到运动矢量并与一起进行运动补偿,最后将运动补偿得到的结果与残差图像相加,就得到了解码帧
9)对B帧的解码:首先对残差编码码流B1用VLD进行熵解码,用均匀量化的反量化方法进行反量化,之后进行IDCT得到残差图像,然后对运动矢量码流B2用VLD的方法进行熵解码得到运动矢量并与一起进行运动补偿,最后将运动补偿得到的结果与残差图像相加,就得到了解码帧
本实施例步骤10)的分布式视频编码的解码方法包括以下步骤:
1)将收到的校验比特流B3解复用,也就是将不同位平面的校验比特分开;
2)对进行DCT变换,之后用均匀量化的方法进行量化,然后分成位平面;
Claims (5)
1、一种支持视频帧随机读取的视频编解码方法,其特征在于,其中编码方法为:首先对视频帧进行分组,将组内每一帧分别设置成I帧、P帧、B帧或随机读取帧W帧,并利用传统的视频编码方法对组内的所有I帧、P帧、B帧进行编码,对W帧首先按照P帧的编码方式利用传统的视频编码方法进行编码,再利用分布式视频编码的编码方法参考离该W帧最近的I帧以及该I帧与该W帧之前的任意一帧对该W帧进行编码;
解码方法为:当不需要进行随机读取时,按照传统的视频解码方法对各组的I帧、P帧、B帧进行解码,W帧按P帧的方法进行解码;当需要进行随机读取时,利用分布式视频编码的解码方法直接对W帧进行解码,具体分两种情况:
a)如果当前已解码帧是离该W帧最近的I帧或是该I帧与W帧之间的任意一帧,则直接利用分布式视频编码的解码方法参考解出来的当前帧对该W帧进行解码;
b)否则首先对离该W帧最近的I帧按照传统的视频解码方法解码,然后利用分布式视频编码的解码方法参考解码得到的I帧对该W帧进行解码。
2、如权利要求1所述的方法,其特征在于,所述编码方法包括以下步骤:
1)将视频帧分组,连续的相同个数的视频帧分为一组;
2)将组内每一帧分别设置成I帧、P帧、B帧或随机读取帧W帧;
3)如果当前要编码帧Fk是I帧,则对其进行变换、量化、熵编码得到码流B1;
4)如果当前要编码帧Fk是P帧,则首先以为参考帧,进行运动估计,将得到的运动向量进行编码得到码流B2,另外,将运动向量和进行运动补偿并将得到结果与编码帧Fk求差得到残差,对残差进行变换、量化、熵编码得到码流B1;
5)如果当前要编码帧Fk是B帧,则首先以和为参考帧,进行运动估计,将得到的运动向量进行编码得到码流B2,另外,将运动向量和进行运动补偿并将得到结果与Fk求差得到残差,对残差进行变换、量化、熵编码得到码流B1;
4、如权利要求1所述的方法,其特征在于,所述解码方法,具体包括以下步骤:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710062633 CN100499815C (zh) | 2007-01-12 | 2007-01-12 | 一种支持视频帧随机读取的视频编解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710062633 CN100499815C (zh) | 2007-01-12 | 2007-01-12 | 一种支持视频帧随机读取的视频编解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101005622A CN101005622A (zh) | 2007-07-25 |
CN100499815C true CN100499815C (zh) | 2009-06-10 |
Family
ID=38704440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710062633 Expired - Fee Related CN100499815C (zh) | 2007-01-12 | 2007-01-12 | 一种支持视频帧随机读取的视频编解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100499815C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459840B (zh) * | 2007-12-13 | 2010-04-21 | 华为技术有限公司 | 视频图像编码和解码方法及装置和系统 |
CN102270262A (zh) * | 2011-08-23 | 2011-12-07 | 复旦大学 | 集成电路仿真模拟波形压缩和解压缩方法及装置 |
US10182248B2 (en) * | 2016-11-21 | 2019-01-15 | Cisco Technology, Inc. | Keyframe mitigation for video streams with multiple receivers |
CN113767626B (zh) * | 2020-04-01 | 2024-03-26 | 华为技术有限公司 | 视频增强的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6563549B1 (en) * | 1998-04-03 | 2003-05-13 | Sarnoff Corporation | Method and apparatus for adaptively encoding an information stream |
WO2005074293A1 (en) * | 2004-01-30 | 2005-08-11 | Samsung Electronics Co., Ltd. | Video coding apparatus and method for inserting key frame adaptively |
CN1669321A (zh) * | 2002-07-16 | 2005-09-14 | 诺基亚有限公司 | 用于在视频编码中随机存取和逐步更新图像的方法 |
EP1713280A2 (en) * | 2005-04-14 | 2006-10-18 | Samsung Electronics Co., Ltd. | Scalable video coding |
-
2007
- 2007-01-12 CN CN 200710062633 patent/CN100499815C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6563549B1 (en) * | 1998-04-03 | 2003-05-13 | Sarnoff Corporation | Method and apparatus for adaptively encoding an information stream |
CN1669321A (zh) * | 2002-07-16 | 2005-09-14 | 诺基亚有限公司 | 用于在视频编码中随机存取和逐步更新图像的方法 |
WO2005074293A1 (en) * | 2004-01-30 | 2005-08-11 | Samsung Electronics Co., Ltd. | Video coding apparatus and method for inserting key frame adaptively |
EP1713280A2 (en) * | 2005-04-14 | 2006-10-18 | Samsung Electronics Co., Ltd. | Scalable video coding |
Non-Patent Citations (6)
Title |
---|
Distributed Video Coding. BERND GIROD ET AL.PROCEEDINGS OF THE IEEE,Vol.93 No.1. 2005 |
Distributed Video Coding. BERND GIROD ET AL.PROCEEDINGS OF THE IEEE,Vol.93 No.1. 2005 * |
H.264/AVC中的SP/SI帧技术. 万萍等.电视技术,第1期. 2004 |
H.264/AVC中的SP/SI帧技术. 万萍等.电视技术,第1期. 2004 * |
Random Access for Compressed Light Fields Using MultipleRepresentations. PRASHANT RAMANATHAN ET AL.IEEE 6th Workshop on multimedia Signal Processing. 2004 |
Random Access for Compressed Light Fields Using MultipleRepresentations. PRASHANT RAMANATHAN ET AL.IEEE 6th Workshop on multimedia Signal Processing. 2004 * |
Also Published As
Publication number | Publication date |
---|---|
CN101005622A (zh) | 2007-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2006204634B2 (en) | Runlength encoding of leading ones and zeros | |
CN101742313B (zh) | 基于压缩感知技术的分布式信源编码的方法 | |
CN101282479B (zh) | 基于感兴趣区域的空域分辨率可调整编解码方法 | |
CN101232619B (zh) | 嵌入帧内编码块的视频编码方法 | |
CN101835042B (zh) | 基于无反馈速率控制的Wyner-Ziv视频编码系统及方法 | |
CN100512446C (zh) | 一种基于自适应时域亚采样的多描述视频编解码方法 | |
US20090074077A1 (en) | Video source coding with decoder side information | |
CN101854548A (zh) | 一种面向无线多媒体传感器网络的视频压缩方法 | |
CN103002280A (zh) | 基于hvs&roi的分布式编解码方法及系统 | |
CN104301730A (zh) | 基于视频移动设备的双向视频编解码系统及其方法 | |
WO2019179096A1 (zh) | 一种基于压缩感知的质量可分级快速编码方法 | |
CN102572428B (zh) | 面向多媒体传感网分布式编解码的边信息估计方法 | |
AU2006204632B2 (en) | Parallel concatenated code with bypass | |
CN111726614A (zh) | 一种基于空域下采样与深度学习重建的hevc编码优化方法 | |
CN100499815C (zh) | 一种支持视频帧随机读取的视频编解码方法 | |
CN1889687A (zh) | 一种无预测循环的抗误码视频编码方法 | |
CN102333223A (zh) | 视频数据编码方法、解码方法、编码系统和解码系统 | |
CN101083767A (zh) | 一种视频编解码方法 | |
Li et al. | Data partitioning and reversible variable length codes for robust video communications | |
CN100499816C (zh) | 一种流式视频像素域转码的方法 | |
CN102790881B (zh) | 基于帧级编码端速率控制的变换域分布式视频编解码器 | |
CN104144347B (zh) | 一种基于可逆数据隐藏的h.264/avc视频i帧错误恢复方法 | |
Pereira | Distributed video coding: Basics, main solutions and trends | |
CN100466749C (zh) | 一种基于分布式信源编码的抗误码图像编解码方法 | |
Lee et al. | A two-stage multiple description video coder with drift-preventing motion compensated prediction |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090610 Termination date: 20140112 |