CN102271258A - 一种针对低编码率的视频编码方法及其装置 - Google Patents
一种针对低编码率的视频编码方法及其装置 Download PDFInfo
- Publication number
- CN102271258A CN102271258A CN201110221429XA CN201110221429A CN102271258A CN 102271258 A CN102271258 A CN 102271258A CN 201110221429X A CN201110221429X A CN 201110221429XA CN 201110221429 A CN201110221429 A CN 201110221429A CN 102271258 A CN102271258 A CN 102271258A
- Authority
- CN
- China
- Prior art keywords
- data
- video
- coding
- residual error
- sampled
- 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
本发明实施例公开了一种针对低编码率的视频编码方法及其装置,其中,该视频编码方法包括:对视频数据进行抽样并获得抽样后的数据;将所述抽样后的数据进行移植并获得移植后的数据;对所述移植后的数据进行编码并获得编码后的数据。在本发明实施例中,针对低码率条件在单核上实现了高清视频的实时编码,能够更加充分地发挥DSP的并行计算能力,能加快编码速度。
Description
技术领域
本发明涉及多媒体技术领域,尤其涉及一种针对低编码率的视频编码方法及其装置。
背景技术
H.264编码算法总体上分为视频编码层(Video Coding Layer,VCL)和网络适配层(Network Abstraction Layer,NAL)。视频编码层是视频处理的核心,完成对视频有效数据的描述;网络适配层主要是实现在不同网络应用中的数据打包。H.264的视频编码层框图如图1所示,其方法和H.263等视频压缩标准类似,都是基于块的混合编码方法。新一代视频压缩标准H.264由于采用了很多新技术,使其编码性能要远远优于其它标准,尽管H.264和其他视频压缩标准的主要结构相似,但是由于使用了许多特殊的数据处理方法,使得编码效率有了很大的提高,主要体现在帧内预测、帧间预测、熵编码、整数变换、量化和扫描等。但是帧间编码需要对残差块数据进行整数变换和量化,耗时较大,H.264标准中残差数据处理的执行流程如图2所示。
尽管H.264的编码性能优于其它标准,但是在低码率条件下,采用H.264编码算法的结果却不尽如人意,比如在较窄的带宽中传输高清视频流,压缩比非常高,必须对现有的压缩方法进行改进,并且由于H.264编码过程较为复杂,基于这一标准的实时编解码技术面临着巨大的挑战,对于高分辨力图像更是很难做到实时,因此如何提高H.264的编码效率和编码速度是制约其发展的瓶颈。
现有的基于数字信号处理器(digital signal processor,DSP)的视频压缩具有易扩展、方便更改、成本低的特点,是一种较好的解决方案。TI推出了基于C64x+内核的DSP,D1分辨率的H.264实时编解码技术在单片DSP上实现已成为可能。但是基于DSP的视频压缩由于耗时的问题,使得视频压缩方法在DSP上实现时具有较大的困难。由于高清格式视频压缩的实现困难,目前还没有在单核上实现该方法。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种针对低编码率的视频编码方法及其装置,可以在低码率下实现高清视频的实时编码。
为了解决上述问题,本发明提供了一种针对低编码率的视频编码方法,所述视频编码方法包括:
对视频数据进行抽样并获得抽样后的数据;
将所述抽样后的数据进行移植并获得移植后的数据;
对所述移植后的数据进行编码并获得编码后的数据。
优选地,所述对所述移植后的数据进行编码并获得编码后的数据的步骤包括:
对通过帧间编码针对所述视频数据所获得的残差数据进行预测;
若预测的残差数据的宏块均是全零块,则对所述残差数据进行熵编码;
若预测的残差数据的宏块不是全零块,则对所述残差数据进行整数变换并获得变换后的数据;
对所述变换后的数据进行量化并获得量化后的数据;
对所述量化后的数据进行熵编码。
优选地,根据对通过帧间编码针对所述视频数据所获得的残差数据进行预测;其中,L=15+Qp/6,QM=Qp%6(QM为量化步长,Qp为量化参数,Qp每增加6,QM加倍),A(QM,u,v)为量化参数矩阵,A(QM,0,0)为量化矩阵的最大值。
优选地,所述对视频数据进行抽样并获得抽样后的数据的步骤包括:
对所述视频数据的亮度分量进行抽样;
对所述视频数据的色度分量进行抽样。
相应地,本发明还提供了一种针对低编码率的视频编码装置,所述装置包括:
抽样模块,用于对视频数据进行抽样并获得抽样后的数据;
移植模块,用于将所述抽样模块抽样后的数据进行移植并获得移植后的数据;
编码模块,用于对所述移植模块移植后的数据进行编码并获得编码后的数据。
优选地,所述编码模块包括:
预测单元,用于对通过帧间编码针对所述视频数据所获得的残差数据进行预测;
编码单元,用于若所述预测单元所预测的残差数据的宏块均是全零块时,则对所述残差数据进行熵编码;
变换单元,用于若所述预测单元预测的残差数据的宏块不是全零块时,则对所述残差数据进行整数变换并获得变换后的数据;
量化单元,用于对所述变换单元所变换后的数据进行量化并获得量化后的数据;
所述编码单元还用于对所述量化后的数据进行熵编码。
优选地,所述预测模块用于根据对通过帧间编码针对所述视频数据所获得的残差数据进行预测;其中,L=15+Qp/6,QM=Qp%6(QM为量化步长,Qp为量化参数,Qp每增加6,QM加倍),A(QM,u,v)为量化参数矩阵,A(QM,0,0)为量化矩阵的最大值。
优选地,所述抽样模块包括:
亮度抽样单元,用于对所述视频数据的亮度分量进行抽样;
色度抽样单元,用于对所述视频数据的色度分量进行抽样。
在本发明实施例中,针对低码率条件在单核上实现了高清视频的实时编码,能够更加充分地发挥DSP的并行计算能力,能加快编码速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是现有技术中H.264的视频编码层的框图;
图2是现有H.264标准中残差数据的处理过程的示意图;
图3是本发明实施例的针对低编码率的视频编码方法的流程示意图;
图4是本发明实施例的全零块预测过程的示意图;
图5a、5b是本发明实施例的抽样过程的示意图;
图6是本发明实施例的移植过程的示意图;
图7是本发明实施例中的SAD计算过程的示意图;
图8是本发明实施例的针对低编码率的视频编码装置的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明在于针对低码率条件下的H.264视频压缩,提出一种基于C64x+内核实现高清720p25f/s的H.264视频压缩方法,能够提高计算速度,加快编码速度以提高视频压缩的速度。
图3是本发明实施例的针对低编码率的视频编码方法的流程示意图,如图3所示,该视频编码方法包括:
S301,对视频数据进行抽样并获得抽样后的数据;
S302,将抽样后的数据进行移植并获得移植后的数据;
S303,对移植后的数据进行编码并获得编码后的数据。
进一步地,S303包括:
对通过帧间编码针对视频数据所获得的残差数据进行预测;
若预测的残差数据的宏块均是全零块,则对残差数据进行熵编码;
若预测的残差数据的宏块不是全零块,则对残差数据进行整数变换并获得变换后的数据;
对变换后的数据进行量化并获得量化后的数据;
对量化后的数据进行熵编码。
对通过帧间编码针对视频数据所获得的残差数据进行预测的步骤在具体实施中,可根据对通过帧间编码针对视频数据所获得的残差数据进行预测;其中,L=15+Qp/6,QM=Qp%6(QM为量化步长,Qp为量化参数,Qp每增加6,QM加倍),A(QM,u,v)为量化参数矩阵,A(QM,0,0)为量化矩阵的最大值。H.264帧间编码需要对残差块的数据进行整数变换和量化,耗时较多,原H.264标准中执行流程如图2所示。很多情况下,特别是压缩比较大时,残差块的绝对值一般较小,经量化后系数大多为0,如果在变换和量化前就可以正确判决出全零块,可以避免后续的变换、量化以及反变换、反量化等运算过程,可以大大节省运算时间,对此,本发明采用了降低全零块漏判率的判决条件,
式中:L=15+Qp/6,QM=Qp%6(QM为量化步长,Qp为量化参数,Qp每增加6,QM加倍),A(QM,u,v)为量化参数矩阵,A(QM,0,0)为量化矩阵的最大值。该判决在一定程度上解决了全零块判断的问题,但是并未从提高量化及变换速度的角度出发,运算时不能充分发挥DSP的性能,结合图4所示的全零块预测过程的示意图,可以判断16*16块是否为全零块。如果将计算出的阈值乘以16作为新判据的阈值,在判断出的16*16全零块内部可能存在非全零的4*4块,从而导致误判。在预测模式选择或者运动估计过程中,16*16块的误差绝对值求和(Sum of Absolute Differences,SAD)已经被计算,不会增加额外的运算时间,因此,在低码率条件下,即量化步长较大时,采用本发明实施例的零块提前预测方法可以取得很好的效果。
在具体实施中,S301可包括:对视频数据的亮度分量进行抽样;对视频数据的色度分量进行抽样。
在进行视频编码时,首先将YUV视频数据通过千兆网络从PC端传到DSP中,在DSP中对数据进行抽样、编码,最后把数据回传到主机。下面结合图5a、5b对YUV视频数据抽样过程进行描述。读入的720p YUV 4:2:0的高清数据流首先进行抽样,由于编码是基于16*16宏块,抽样后的图像分辨力必须被16整除。对视频数据的亮度分量抽样如图5a所示,抽样只保留图中黑色的点,水平方向和竖直方向以二抽一的方式进行抽样,保留中间16行,抽样后图像尺寸为640*368。色度分量也作相应的抽样,如图5b所示,抽样后为320*184。
DSP的算法移植主要包括更改数据输入输出接口及配置硬件资源。对于输入输出接口,源程序使用fread和fwrite函数来读取和保存数据,通过JTAG口操作,速度较慢,采用网口对数据进行读入和保存。程序执行流程如图6所示,定义了两个任务,一个负责数据的读入和保存,另一个负责完成编码,任务之间的通信使用旗语信号量来实现。
另外,程序优化可以按以下步骤进行:
步骤1:存储及cache优化。TMS320C6455具有高速的两级缓存结构,内部一级缓冲L1P SRAM和L1D SRAM分别有32kbyte,全部设置为cache。内部RAM有2Mbyte,可以设置为SRAM,cache或部分cache和部分RAM。通过分析数据、程序的大小以及耗时的影响,从内部L2SRAM中分配64kbyte用作二级cache。占用空间相对较小的程序段放入内部SRAM原始视频数据和参考帧数据相对较大,放于外部DDR2存储器中。在内部RAM中开辟双缓冲区用作ping-pong操作,编码前将需要的数据搬移到缓存区,以减少L2miss[]。
步骤2:程序级优化。使用CCS的profiler工具或直接调用芯片的timer模块来测试并记录函数的执行时间,将程序中的耗时部分用内联函数、线性汇编等优化以提高速度。H.264压缩标准中运动估计、整数变换、反整数变换量化、反量化、帧间预测插值等是最耗时的部分,将其用线性汇编优化,如耗时比例较大的运动估计中SAD的计算,可以采用SUBABS4和DOTPU4指令实现,如图7所示。
步骤3:编译选项优化。设置-pm,-o3,-mt等选项编译程序。经过以上3步优化编码速度可以达到25f/s(帧/秒)以上。
在本发明实施例中,针对低码率条件在单核上实现了高清视频的实时编码,能够更加充分地发挥DSP的并行计算能力,能加快编码速度。
另外,本发明实施例还提供了一种针对低编码率的视频编码装置,如图8所示,该装置包括:
抽样模块80,用于对视频数据进行抽样并获得抽样后的数据;
移植模块81,用于将抽样模块抽样后的数据进行移植并获得移植后的数据;
编码模块82,用于对移植模块移植后的数据进行编码并获得编码后的数据。
进一步地,编码模块82包括:
预测单元,用于对通过帧间编码针对视频数据所获得的残差数据进行预测;
编码单元,用于若预测单元所预测的残差数据的宏块均是全零块时,则对残差数据进行熵编码;
变换单元,用于若预测单元预测的残差数据的宏块不是全零块时,则对残差数据进行整数变换并获得变换后的数据;
量化单元,用于对变换单元所变换后的数据进行量化并获得量化后的数据;
编码单元还用于对量化后的数据进行熵编码。
具体实施中,预测模块用于根据对通过帧间编码针对视频数据所获得的残差数据进行预测;其中,L=15+Qp/6,QM=Qp%6(QM为量化步长,Qp为量化参数,Qp每增加6,QM加倍),A(QM,u,v)为量化参数矩阵,A(QM,0,0)为量化矩阵的最大值。
进一步地,抽样模块70包括:
亮度抽样单元,用于对视频数据的亮度分量进行抽样;
色度抽样单元,用于对视频数据的色度分量进行抽样。
关于本发明实施例中的针对低编码率的视频编码装置中的各模块与单元所实现的抽样、移植、编码、优化等过程的实现可参见本发明方法实施例中的相关描述,这里不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的数字家庭网络进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种针对低编码率的视频编码方法,其特征在于,所述视频编码方法包括:
对视频数据进行抽样并获得抽样后的数据;
将所述抽样后的数据进行移植并获得移植后的数据;
对所述移植后的数据进行编码并获得编码后的数据。
2.如权利要求1所述的针对低编码率的视频编码方法,其特征在于,所述对所述移植后的数据进行编码并获得编码后的数据的步骤包括:
对通过帧间编码针对所述视频数据所获得的残差数据进行预测;
若预测的残差数据的宏块均是全零块,则对所述残差数据进行熵编码;
若预测的残差数据的宏块不是全零块,则对所述残差数据进行整数变换并获得变换后的数据;
对所述变换后的数据进行量化并获得量化后的数据;
对所述量化后的数据进行熵编码。
3.如权利要求2的针对低编码率的视频编码方法,其特征在于,根据对通过帧间编码针对所述视频数据所获得的残差数据进行预测;其中,L=15+Qp/6,QM=Qp%6(QM为量化步长,Qp为量化参数,Qp每增加6,QM加倍),A(QM,u,v)为量化参数矩阵,A(QM,0,0)为量化矩阵的最大值。
4.如权利要求1至3任意一项的针对低编码率的视频编码方法,其特征在于,所述对视频数据进行抽样并获得抽样后的数据的步骤包括:
对所述视频数据的亮度分量进行抽样;
对所述视频数据的色度分量进行抽样。
5.一种针对低编码率的视频编码装置,其特征在于,所述装置包括:
抽样模块,用于对视频数据进行抽样并获得抽样后的数据;
移植模块,用于将所述抽样模块抽样后的数据进行移植并获得移植后的数据;
编码模块,用于对所述移植模块移植后的数据进行编码并获得编码后的数据。
6.如权利要求5所述的视频编码装置,其特征在于,所述编码模块包括:
预测单元,用于对通过帧间编码针对所述视频数据所获得的残差数据进行预测;
编码单元,用于若所述预测单元所预测的残差数据的宏块均是全零块时,则对所述残差数据进行熵编码;
变换单元,用于若所述预测单元预测的残差数据的宏块不是全零块时,则对所述残差数据进行整数变换并获得变换后的数据;
量化单元,用于对所述变换单元所变换后的数据进行量化并获得量化后的数据;
所述编码单元还用于对所述量化后的数据进行熵编码。
8.如权利要求5至7任意一项所述的视频编码装置,其特征在于,所述抽样模块包括:
亮度抽样单元,用于对所述视频数据的亮度分量进行抽样;
色度抽样单元,用于对所述视频数据的色度分量进行抽样。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110221429XA CN102271258A (zh) | 2011-08-03 | 2011-08-03 | 一种针对低编码率的视频编码方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110221429XA CN102271258A (zh) | 2011-08-03 | 2011-08-03 | 一种针对低编码率的视频编码方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102271258A true CN102271258A (zh) | 2011-12-07 |
Family
ID=45053399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110221429XA Pending CN102271258A (zh) | 2011-08-03 | 2011-08-03 | 一种针对低编码率的视频编码方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102271258A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959780A (zh) * | 2011-12-15 | 2014-07-30 | 联发科技(新加坡)私人有限公司 | 量化电平截取装置及方法 |
US9565441B2 (en) | 2011-12-15 | 2017-02-07 | Hfi Innovation Inc. | Method and apparatus for quantization level clipping |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014129A (zh) * | 2007-03-06 | 2007-08-08 | 孟智平 | 一种视频数据压缩方法 |
CN101193304A (zh) * | 2007-09-14 | 2008-06-04 | 四川虹微技术有限公司 | 一种视频编码快速变换量化的实现方法 |
-
2011
- 2011-08-03 CN CN201110221429XA patent/CN102271258A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014129A (zh) * | 2007-03-06 | 2007-08-08 | 孟智平 | 一种视频数据压缩方法 |
CN101193304A (zh) * | 2007-09-14 | 2008-06-04 | 四川虹微技术有限公司 | 一种视频编码快速变换量化的实现方法 |
Non-Patent Citations (4)
Title |
---|
WEI HE ET AL: "Food proteins as novel nanosuspension stabilizers for poorly water-soluble drugs", 《INTERNATIONAL JOURNAL OF PHARMACEUTICS》 * |
YONG HO MOON ET AL: "An Improved Early Detection Algorithm for All-Zero Blocks in H.264 Video Encoding", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 * |
张勇一: "《建筑装饰材料》", 31 August 2010, 西南交通大学出版社 * |
韩文俊,任国强,吴钦章: "低码率下实时高清视频压缩方案", 《电视技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103959780A (zh) * | 2011-12-15 | 2014-07-30 | 联发科技(新加坡)私人有限公司 | 量化电平截取装置及方法 |
US9565441B2 (en) | 2011-12-15 | 2017-02-07 | Hfi Innovation Inc. | Method and apparatus for quantization level clipping |
US9749635B2 (en) | 2011-12-15 | 2017-08-29 | Hfi Innovation Inc. | Method and apparatus for quantization level clipping |
CN103959780B (zh) * | 2011-12-15 | 2017-10-13 | 寰发股份有限公司 | 量化电平截取装置及方法 |
CN107493475A (zh) * | 2011-12-15 | 2017-12-19 | 寰发股份有限公司 | 量化电平截取装置及方法 |
CN107493475B (zh) * | 2011-12-15 | 2019-05-17 | 寰发股份有限公司 | 量化电平截取装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11317101B2 (en) | Inter frame candidate selection for a video encoder | |
CN102395030B (zh) | 基于视频压缩码流的运动分析方法、码流转换方法及其装置 | |
KR101941955B1 (ko) | 재귀적 블록 파티셔닝 | |
CN110235444A (zh) | 使用多条参考线的帧内预测 | |
CA2797569C (en) | Method and device for video predictive encoding | |
CN105474639A (zh) | 视频编码装置、视频解码装置、视频系统、视频编码方法、视频解码方法以及程序 | |
US9648340B2 (en) | Method and device for encoding/decoding motion vector | |
TWI741239B (zh) | 視頻資料的幀間預測方法和裝置 | |
CN107277505B (zh) | 基于软硬件分区的avs-2视频解码器装置 | |
CN100574447C (zh) | 基于avs视频编码的快速帧间预测模式选择方法 | |
CN102710940B (zh) | 基于dsp平台利用运动估计算法实现优化视频编码的方法 | |
CN107820095A (zh) | 一种长期参考图像选择方法及装置 | |
CN105208394B (zh) | 一种实时数字图像压缩预测方法与系统 | |
CN110351552A (zh) | 视频编码中一种快速编码方法 | |
CN102946533B (zh) | 视频编码 | |
CN102271258A (zh) | 一种针对低编码率的视频编码方法及其装置 | |
TWI727826B (zh) | 使用內預測之寫碼技術 | |
CN101998117B (zh) | 视频转码方法和装置 | |
EP3939300A1 (en) | Method and device for image encoding and decoding | |
CN103731671A (zh) | 图像处理装置及图像处理方法 | |
CN101765008B (zh) | 视频编解码方法、装置和系统 | |
CN1383330A (zh) | 检测编码视频数据流中的噪音的方法 | |
WO2018205781A1 (zh) | 一种实现运动估计的方法及电子设备 | |
CN102143362B (zh) | 从mpeg2或h.263格式到h.264格式的视频转换编码的处理方法及装置 | |
CN103327340A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111207 |