CN101494789A - 视频编解码方法 - Google Patents

视频编解码方法 Download PDF

Info

Publication number
CN101494789A
CN101494789A CN 200910116303 CN200910116303A CN101494789A CN 101494789 A CN101494789 A CN 101494789A CN 200910116303 CN200910116303 CN 200910116303 CN 200910116303 A CN200910116303 A CN 200910116303A CN 101494789 A CN101494789 A CN 101494789A
Authority
CN
China
Prior art keywords
frame
image
macro block
decoding
coefficient
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.)
Granted
Application number
CN 200910116303
Other languages
English (en)
Other versions
CN101494789B (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.)
Guangzhou Xinultra Electronic Technology Co., Ltd.
Original Assignee
WUXI ALPSCALE INTEGRATED CIRCUITS CO 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 WUXI ALPSCALE INTEGRATED CIRCUITS CO Ltd filed Critical WUXI ALPSCALE INTEGRATED CIRCUITS CO Ltd
Priority to CN 200910116303 priority Critical patent/CN101494789B/zh
Publication of CN101494789A publication Critical patent/CN101494789A/zh
Application granted granted Critical
Publication of CN101494789B publication Critical patent/CN101494789B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种视频编解码方法,基于MPEG-4标准,在系数预测算法中,在内存中保存图像第一行宏块的系数,预测出第二行宏块;然后将所述内存中的数据更新为当第二行宏块的系数,进一步预测出第三行宏块,直到解码出整幅图像。在可变长编解码算法中,根据VLC码表中码字的开头数字对码字进行分类,将所述VLC码表分为至少2张。在图像填充算法中,原始图像的四个角上的正方形填充区域的大小为16×16像素。所解码的视频文件的每一帧都是I帧或者P帧。本发明通过对系数预测、可变长编解码、图像填充等算法的改进,使视频解码所占用的内存非常小,从而降低mp4产品的制作成本以及功耗。

Description

视频编解码方法
技术领域
本发明涉及视频编解码领域。
背景技术
MPEG-4是当今比较流行的一种动态图象压缩编码标准,采用该压缩标准,可以在很窄的带宽下传输高质量的图像。同时,由于MPEG-4标准引入视频对象的概念,编码是基于对象的,因而具有可交互性。这些特点对多媒体的应用起到了推动作用。
当今的嵌入式多媒体mp4播放设备大部分都是基于MPEG-4及其衍生标准生产的。在对视频文件进行解码时,解码芯片的CPU需要进行大量复杂的运算,对内存容量的要求非常大。现有的多媒体mp4播放设备,内存容量一般在几兆字节。内存容量大增加了成本开销,并且内存需要动态刷新,是嵌入式设备功耗的一个主要方面,内存越大则功耗越高。
发明的内容
本发明的申请人为了解决现有多媒体mp4播放设备对内存容量的要求非常大的问题,进行了改进研究,提出了一种视频编解码方法,优化了MPEG-4的编解码算法,从而大量减少了内存占用以及设备功耗。
本发明的技术方案如下:
一种视频编解码方法,基于MPEG-4标准,在系数预测算法中,在内存中保存图像第一行宏块的系数,预测出第二行宏块;然后将所述内存中的数据更新为当第二行宏块的系数,进一步预测出第三行宏块,直到解码出整幅图像。
作为进一步的技术方案:
在可变长编解码算法中,根据VLC码表中码字的开头数字对码字进行分类,将所述VLC码表分为至少2张。
在图像填充算法中,原始图像的四个角上的正方形填充区域的大小为16×16像素。
所解码的视频文件的每一帧都是I帧或者P帧。
上述技术方案中:
所述宏块是指MPEG-4标准中将一幅图像分割成许多大小相同的方块。
所述VLC是指MPEG-4标准中的可变字长编码。
所述图像填充是指MPEG-4标准中将一幅图像的四周用与边界相同的颜色扩展。
所述I帧称为参考帧,是完全记载一帧全部图像数据的帧。
所述P帧称为前向预测帧,是根据与前一帧图像的比较,去掉与前帧相似的数据而构成的帧。
本发明的有益技术效果是:
本发明优化了MPEG-4的编解码算法,对系数预测、可变长编解码以及图像填充算法进行了改进,使视频解码所占用的内存非常小,从而降低mp4产品的制作成本以及功耗。
所解码的视频文件只有I、P帧,而没有B帧,使得在解码视频文件时只需要一个参考帧,相当于将所需视频帧的内存从三个减少到两个,减少大量的内存消耗。并且P帧比B帧压缩率低,视频质量更好。
附图说明
图1是系数预测算法的示意图。
图2是运动矢量的示意图。
图3是图像填充区域的示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
MPEG-4标准中的视频解码部分包括多种基本算法。具体见表1:
表1MPEG-4视频解码的基本算法
Figure A20091011630300041
Figure A20091011630300051
注:上表只列出了整个MPEG-4视频解码过程的一部分。
可以理解,上述解码算法有与之对应得编码算法。
关于上述各算法的具体内容,在MPEG-4标准文件中均能找到。
本发明对其中的系数预测、可变长编解码以及图像填充算法进行改进。以下分别进行详细说明。
系数预测算法的改进
MPEG-4标准中规定将一幅图像分割成一个个16×16像素大小的宏块进行编解码。在系数预测中,量化系数的平均能量可以通过邻近宏块的预测得到进一步的降低。预测可以是从上方的宏块开始,可以是从左边的宏块开始,也可以是从左上的宏块开始。预测的方向是自适应的,并且是基于周围宏块水平和竖直方向的DC梯度(正梯度和负梯度)来选定的。该选定的宏块,称为参考宏块。
如图1所示,图中每一个方块表示一个宏块(Macroblock)。宏块X参考的宏块有3个选择:上边的宏块C、左边的宏块A和左上的宏块B。宏块Y参考的宏块也有3个选择:上边的宏块D、左边的宏块X和左上的宏块C。帧内编码时,若已知宏块B、C、D的系数,首先以宏块B为参考宏块预测出宏块A,然后以宏块C、宏块A或宏块B为参考宏块预测出宏块X,进一步以宏块D、宏块X或宏块C为参考宏块预测出宏块Y。同样的方法,已知块A、X、Y的系数,则可以预测出下一行宏块。
在MPEG-4标准中规定,需要保存整幅图像的全部宏块的系数,这要占用很大的内存。但通过以上所述可以看到,只要在内存中保存第一行宏块的系数,就能预测出第二行宏块。当要进一步预测第三行的宏块时,只需将同一内存更新为第二行宏块的系数就行了,直到解码出整幅图像。所以在系数预测算法中,只需在内存中保存一行宏块的系数就够了,而不要保存整幅图像全部宏块的系数,这样可以减少内存的占用。
可变长编解码算法的改进
VLC(Variable-Length Code)是指MPEG-4标准中的可变长编码。在可变长编码中,对于出现概率大的信息符号编以短字长的码,对于出现概率小的信息符号编以长字长的码。如果码字长度严格按照符号概率大小的相反顺序排列,则平均码字长一定小于按任何其他符号顺序排列方式得到的码字长度。游程编码后的可变字长编码多用霍夫曼编码,MPEG-4编码标准提供VLC码表,根据游程编码得到的符号直接查表得到相应的码字。VLC码表是根据概率分布并对大量典型图像素材进行统计制成的。可变长解码则是上述可变长编码的逆运算,也要使用到VLC码表。
MPEG-4标准中使用的VLC码表,其最长的码长有12位。解码时,如果像目前的开源软件那样直接初始化12位长的表格会占用很大的内存。因为要存储的表格不仅是码字,还有3个标志。本发明根据VLC码表中码字的开头数字对码字进行分类。本实施例中,分类如下:开头是1的归为第一类,01的归为第二类,001为第3类,0001为第4类,00001为第5类,0000010为第6类,其他为第7类,一共将VLC码表分为7张。这样就使得每张码表的有效码长变短,解码时占用的内存变小。由于还是查表,对于解码的速度基本没有影响。
需要注意的是,尽管本实施例将VLC码表分为了7张表,但实际上表的张数不限于7张,张数是可变的。进一步的,可以将上述最后一类表再细分,也可以将上述最后几类表归到一起。
图像填充算法的改进
如图2所示,其中VOP(Video Object Plane,视频对象平面)是指在某一时刻某一帧画面的视频对象。(dx,dy)是运动物体的位移矢量,称为运动矢量。若Reference VOP(参考视频对象平面)的运动物体位置中心点为(xref,yref),在Current VOP(当前视频对象平面)中移动到(xcurr,ycurr),则须将Current VOP帧的(xcurr,ycurr)点的运动物体与Reference VOP帧的(xref,yref)点相减,得到运动矢量(dx,dy)。运动估计,就是求运动矢量的过程。运动补偿,是利用运动矢量从前一帧内读出预测宏块,形成当前帧运动物体的预测值。
在MPEG-4标准中,运动预测的和运动补偿一般是基于16×16宏块的。以宏块为单位在前一帧搜索与当前宏块内容最相近的宏块,称为块匹配。块匹配的目的就是求运动矢量。
对标准宏块的运动估计和补偿,可以采用传统的基于块的运动估计和补偿技术。而对位于边界任意形状的VOP轮廓宏块,则要采用图像填充(ImagePadding)技术,即用一定的灰度值填充轮廓宏块中位于边界以外的像素。图像填充技术利用了VOP内部的像素值来外推VOP外的像素值,以此获得运动预测的参考值。
具体的图像填充区域如图3所示,其中MB为原始VOP图像,A、B、C、D和E1、E2、E3、E4位于MB边界以外,是需要填充的区域。其中区域A以与MB左边界a相同的像素向左填充,填充过后,A区域中横向的每一排的像素是相同的。同样的;区域B以与MB右边界b相同的像素向右填充;区域C以与MB上边界c相同的像素向上填充;区域D以与MB下边界d相同的像素向下填充。区域E1、E2、E3、E4则分别以与MB相对应的角e1、e2、e3、e4相同的像素填充。
MPEG-4标准中要求图像填充的E1、E2、E3、E4区域的大小为64×64像素。但是由于块匹配时宏块最远会搜索到VOP的四个角上,宏块只有16×16像素,所以只需在外围填充16个像素就够了。因此,只需取E1、E2、E3、E4区域的大小为16×16像素。这样可以减少很大的外围填充区域,从而减少内存的使用。
此外,本发明所解码的视频文件的每一帧都是I帧或者P帧,不包括B帧。具体地说,是通过转码工具将原有的视频文件转码为适合嵌入式mp4设备播放的文件格式,转码后只生成I、P帧,而不生成B帧。
所述I、P、B帧,是指图像组的构成单元。I帧称为参考帧,所谓参考帧是其它帧都参考的起始帧,所以I帧是一个能够完全记载这一帧全部图像数据的帧。亦称作全帧。P帧是前向预测帧,是根据与前一帧图像的比较,去掉与前帧相似的数据而构成的帧。B帧是双向预测帧,是根据与前后一帧图像的比较而得到的帧。P、B帧是一个不完全帧,它需要依靠I帧而成立。
转码后视频文件没有B帧。这样就使得在解码视频文件时只需要一个参考帧,相当于将所需视频帧的内存从三个减少到两个,可以减少大量的内存消耗,这样做的另一个好处在于P帧视频质量比B帧好。这样转码后的视频文件会比存在B帧编码的视频文件大,但是这只会对外存的大小有要求,而对于内存没有要求。因为解码一帧得到的数据流的大小是一样的,解码时只需读一段数据解码一段然后继续读入数据就行了。现在外存的价格很低也不需要动态刷新。
上述实施方式中:
所述内存是指动态存储器SDRAM。
所述外存是指闪盘、硬盘等。
所述转码工具是指将视频文件从一种格式转换成另一种格式的软件。
所述解码是指将视频文件还原到原来的一幅幅图片,并显示在屏上。
所述宏块是指MPEG-4标准中将一幅图像分割成许多大小相同的方块。
所述图像填充是指MPEG-4标准中将一幅图像的四周用与边界相同的颜色扩展。
所述开源软件,是指开放源代码软件。
最后需要注意的是,以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

Claims (4)

1.一种视频编解码方法,基于MPEG-4标准,其特征在于:在系数预测算法中,在内存中保存图像第一行宏块的系数,预测出第二行宏块;然后将所述内存中的数据更新为当第二行宏块的系数,进一步预测出第三行宏块,直到解码出整幅图像。
2.根据权利要求1所述的视频编解码方法,其特征在于:在可变长编解码算法中,根据VLC码表中码字的开头数字对码字进行分类,将所述VLC码表分为至少2张。
3.根据权利要求1所述的视频编解码方法,其特征在于:在图像填充算法中,原始图像的四个角上的正方形填充区域的大小为16×16像素。
4.根据权利要求1所述的视频编解码方法,其特征在于:所解码的视频文件的每一帧都是I帧或者P帧。
CN 200910116303 2009-03-06 2009-03-06 视频编解码方法 Expired - Fee Related CN101494789B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910116303 CN101494789B (zh) 2009-03-06 2009-03-06 视频编解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910116303 CN101494789B (zh) 2009-03-06 2009-03-06 视频编解码方法

Publications (2)

Publication Number Publication Date
CN101494789A true CN101494789A (zh) 2009-07-29
CN101494789B CN101494789B (zh) 2012-05-30

Family

ID=40925145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910116303 Expired - Fee Related CN101494789B (zh) 2009-03-06 2009-03-06 视频编解码方法

Country Status (1)

Country Link
CN (1) CN101494789B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969560A (zh) * 2010-11-01 2011-02-09 北京中科大洋科技发展股份有限公司 一种多核平台下Mpeg2高清编码器的Slice码率分配方法
CN102404571A (zh) * 2011-11-22 2012-04-04 浙江大学 视频图像编解码中的二进制化的方法和装置
CN107155134A (zh) * 2017-05-16 2017-09-12 深圳市乃斯网络科技有限公司 终端视频区间划分方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969560A (zh) * 2010-11-01 2011-02-09 北京中科大洋科技发展股份有限公司 一种多核平台下Mpeg2高清编码器的Slice码率分配方法
CN101969560B (zh) * 2010-11-01 2012-09-05 北京中科大洋科技发展股份有限公司 一种多核平台下MPEG2高清编码器的Slice码率分配方法
CN102404571A (zh) * 2011-11-22 2012-04-04 浙江大学 视频图像编解码中的二进制化的方法和装置
CN107155134A (zh) * 2017-05-16 2017-09-12 深圳市乃斯网络科技有限公司 终端视频区间划分方法及系统

Also Published As

Publication number Publication date
CN101494789B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
JP7368414B2 (ja) 画像予測方法および装置
CN104811721B (zh) 视频解码数据存储方法及运动向量数据的计算方法
JP5002286B2 (ja) 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
CN102498719B (zh) 基于跳过模式对图像进行编码和解码的方法和设备
TW202005400A (zh) 廣義三叉樹
CN102438139B (zh) 本地宏块信息缓冲器
CN105578190B (zh) 应用于视频硬解码的无损压缩方法及系统
CA2797569C (en) Method and device for video predictive encoding
CN105325000A (zh) 图像编码装置、图像编码方法、图像解码装置和图像解码方法
TW201347553A (zh) 於視訊寫碼中之低延遲視訊緩衝
CN103618898B (zh) 一种支持随机访问的复杂度图像无损压缩方法
CN101248668A (zh) 使用时间分层的特技播放
CN1306726A (zh) 视频译码器
CN101080932A (zh) 具有基于上下文的参数缓冲器的图像解码器
CN105072353A (zh) 一种基于多gpu的图像解码拼控算法
CN105163117A (zh) 一种图像编码、处理方法及装置
CN101494789B (zh) 视频编解码方法
CN101584220A (zh) 对视频信号进行编码的方法和系统、编码的视频信号、对视频信号进行解码的方法和系统
CN102714733B (zh) 运动图像编码方法、运动图像解码方法、运动图像编码装置以及运动图像解码装置
Lee et al. Design of VLSI architecture of autocorrelation-based lossless recompression engine for memory-efficient video coding systems
Wu et al. A low-cost slice interleaving DSC decoder architecture for real-time 8K video decoding
CN101888545B (zh) 一种低码率信源压缩编码方法
CN114339263A (zh) 一种针对视频数据的无损处理方法
CN104519360B (zh) 一种基于hevc的压缩方法
TW201338553A (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
ASS Succession or assignment of patent right

Owner name: GUANGZHOU XINULTRA ELECTRONIC TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: WUXI ALPSCALE INTEGRATED CIRCUITS CO., LTD.

Effective date: 20150319

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 214028 WUXI, JIANGSU PROVINCE TO: 213000 CHANGZHOU, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20150319

Address after: 213000 building 450-1-1, building No. 588, South Wu Road, Wujin hi tech Industrial Development Zone, Changzhou, Jiangsu,

Patentee after: Guangzhou Xinultra Electronic Technology Co., Ltd.

Address before: 214028 B-6F, 2 Taishan Road, New District, Jiangsu, Wuxi

Patentee before: Wuxi Alpscale Integrated Circuits Co., Ltd.

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: 20120530

Termination date: 20170306