CN100397903C - 视频编解码过程中宏块数据读取的方法 - Google Patents
视频编解码过程中宏块数据读取的方法 Download PDFInfo
- Publication number
- CN100397903C CN100397903C CNB2004101014652A CN200410101465A CN100397903C CN 100397903 C CN100397903 C CN 100397903C CN B2004101014652 A CNB2004101014652 A CN B2004101014652A CN 200410101465 A CN200410101465 A CN 200410101465A CN 100397903 C CN100397903 C CN 100397903C
- Authority
- CN
- China
- Prior art keywords
- macro block
- block data
- address
- mapping table
- decoding process
- 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 36
- 238000013507 mapping Methods 0.000 claims abstract description 28
- 230000003139 buffering effect Effects 0.000 abstract description 4
- 239000013598 vector Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种视频编解码过程中宏块数据读取的方法,具体是首先接收当前帧输入;然后建立宏块地址映射表;最后开始视频编解码过程,并在需要读取某一宏块数据时,根据宏块地址映射表获得该宏块数据的地址,并按照宏块数据的行列顺序读取该宏块数据。本发明通过宏块地址映射表,储存宏块地址,使在视频数据编解码过程中,对宏块的读取操作时,可以从宏块地址映射表内直接获得宏块数据的地址,这样,就避免了现有技术中常常出现的缓冲命中失效的问题,从而可以有效的提高系统编解码效率。
Description
技术领域
本发明涉及一种视频编解码数据处理的方法,尤其是一种视频编解码过程中宏块数据读取的方法。
技术背景
基于运动估计的视频编码算法中往往将输入帧分割成若干宏块,其编解码的过程却以宏块(Macro Block)为单元进行。如解码时是利用参考帧和运动矢量得到预测帧,加上图像残差得到恢复数据。具体来讲是:首先从当前帧数据中读取一个宏块在参考帧中进行搜索(运动估计),得到一个预测运动矢量,然后用这个运动矢量得到一个预测值和当前宏块相减,并将相减之后的残差进行量化,变换编码。由于帧数据在内存中存储时是按帧的行列顺序地址存放,而对于每个宏块而言,其内部的数据地址是不连续的,因此,在对一个宏块进行编解码操作时,会造成系统内存访问的频繁失效,即缓冲命中失效(cache miss)。而每次内存访问失效都会引入额外的访问延时,从而降低了整个系统的性能。
发明内容
本发明的目的是:针对现有技术的不足,提供一种简单合理、可减少缓冲命中失误、提高编解码效率的视频编解码过程中宏块数据读取的方法。
为了解决上述技术问题,本发明所采取的技术方案是:一种视频编解码过程中宏块数据读取的方法,包括如下步骤:
步骤1、当前帧输入;
步骤2、建立宏块地址映射表;
步骤3、开始视频编解码过程,并在需要读取某一宏块数据时,根据宏块地址映射表获得该宏块数据的地址,并按照宏块数据的行列顺序读取该宏块数据。
所述宏块地址映射表可以根据输入的当前帧和分辨率建立。
所述宏块地址映射表内可以按照宏块数据的行列顺序,依次存储该宏块数据的偏移地址。
所述步骤3中需要读取某一宏块数据时,可以首先获得当前帧的基地址;然后从所述宏块地址映射表中查找该宏块的偏移地址,从而得到该宏块内宏块数据的全部地址,最后用缓存指令将所述宏块数据地址依次装载到缓存中,并且锁定这块地址,直到处理完该宏块。
所述宏块地址映射表内可以按照宏块数据的行列顺序,依次存储该宏块数据的地址。
所述步骤3中需要读取某一宏块数据时,可以首先利用缓存指令将所述宏块地址映射表内的宏块数据的地址依次装载到缓存中,并且锁定这块地址,直至处理完该宏块。
在上述技术方案中,本发明通过宏块地址映射表,储存宏块地址,使在视频数据编解码过程中,对宏块的读取操作时,可以从宏块地址映射表内直接获得宏块数据的地址,这样,就避免了现有技术中常常出现的缓冲命中失效的问题,从而可以有效的提高系统编解码效率。
具体实施方式
下面将结合具体实施例对本发明作进一步详细说明。
实施例1:
一种视频编解码过程中宏块数据读取的方法,其步骤如下:
步骤1,当前帧输入;
步骤2,根据输入的当前帧和分辨率建立宏块地址映射表。具体为:根据输入的当前帧和分辨率,确定宏块的大小及数量,从而推导出各个宏块内宏块数据的偏移地址。然后按照宏块数据的行列顺序,将所述宏块数据的偏移地址存储到所述宏块地址映射表内。
如采用本实施例处理宏块大小为16×16像素的当前帧,假设所述当前帧每行有16个宏块,则宏块地址映射表内按行列顺促存储宏块数据的偏移地址,即,先顺序存储第一个宏块的第一行的偏移地址:0x00~0x0f;第2行偏移地址:0x100~0x10f;……;第16行的偏移地址0xf00~0xf0f。然后顺序存储第二个宏块的第一行的偏移地址:0x10~0x1f;第2行偏移地址为:0x110~0x11f;……;第16行的偏移地址0xf10~0xf1f。依次类推,直至按顺序存储所有宏块内的宏块数据地址。
步骤3,开始视频编解码过程。当在需要读取某一宏块数据时,如变换和计算残差时,首先获得当前帧的基地址;然后从所述宏块地址映射表中查找该宏块的偏移地址,从而得到该宏块的地址,最后用缓存指令将该宏块的地址依次装载到缓存中,并且锁定这块地址,用于按照宏块的行列顺序读取宏块数据,直到处理完该宏块。
实施例2:
一种视频编解码过程中宏块数据读取的方法,其步骤如下:
步骤1,当前帧输入;
步骤2,根据输入的当前帧和分辨率建立宏块地址映射表。具体为:根据所输入的当前帧和分辨率,确定宏块的大小及数量,从而推导出各个宏块内宏块数据的地址。然后按照宏块数据的行列顺序,将所述宏块数据的地址依次存储在所述宏块地址映射表内。
步骤3,开始视频编解码过程。当在需要读取某一宏块数据时,如变换和计算残差时,首先利用缓存指令将所述宏块地址映射表内的宏块数据的地址依次装载到缓存中,并且锁定这块地址,用于按照宏块的行列顺序读取宏块数据,直至处理完该宏块。
由上述可知,本发明通过宏块地址映射表,可以将当前帧内各个宏块的宏块数据地址,按照其所在宏块的行列顺序缓存,这样就实现了系统读取宏块数据时,也按照宏块的行列顺序依次读取,而避免了现有技术中的缓冲命中失效的问题。因而可以大大提高系统的编解码效率。
Claims (4)
1.一种视频编解码过程中宏块数据读取的方法,包括如下步骤:
步骤1、当前帧输入;
步骤2、建立宏块地址映射表,其中按照宏块数据的行列顺序,依次存储有宏块数据的偏移地址或地址;
步骤3、开始视频编解码过程,并在需要读取某一宏块数据时,根据宏块地址映射表获得该宏块数据的地址,并按照宏块数据的行列顺序读取该宏块数据。
2.如权利要求1所述视频编解码过程中宏块数据读取的方法,其特征在于:
所述宏块地址映射表是根据输入的当前帧和分辨率建立。
3.如权利要求1所述视频编解码过程中宏块数据读取的方法,其特征在于:
所述宏块地址映射表内存储有宏块数据的偏移地址时,所述步骤3中需要读取某一宏块数据时,首先获得当前帧的基地址;然后从所述宏块地址映射表中查找该宏块的偏移地址,从而得到该宏块内宏块数据的全部地址,最后用缓存指令将所述宏块数据地址依次装载到缓存中,并且锁定这块地址,直到处理完该宏块。
4.如权利要求1所述视频编解码过程中宏块数据读取的方法,其特征在于:
所述宏块地址映射表内存储有宏块数据的地址时,所述步骤3中需要读取某一宏块数据时,首先利用缓存指令将所述宏块地址映射表内的宏块数据的地址依次装载到缓存中,并且锁定这块地址,直至处理完该宏块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004101014652A CN100397903C (zh) | 2004-12-21 | 2004-12-21 | 视频编解码过程中宏块数据读取的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004101014652A CN100397903C (zh) | 2004-12-21 | 2004-12-21 | 视频编解码过程中宏块数据读取的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1622627A CN1622627A (zh) | 2005-06-01 |
CN100397903C true CN100397903C (zh) | 2008-06-25 |
Family
ID=34766772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004101014652A Expired - Fee Related CN100397903C (zh) | 2004-12-21 | 2004-12-21 | 视频编解码过程中宏块数据读取的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100397903C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4712643B2 (ja) * | 2006-08-17 | 2011-06-29 | 富士通セミコンダクター株式会社 | フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置 |
CN101059958B (zh) * | 2007-03-15 | 2010-12-15 | 上海交通大学 | 利用缓存来加快量化数据取得的编码和解码方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623311A (en) * | 1994-10-28 | 1997-04-22 | Matsushita Electric Corporation Of America | MPEG video decoder having a high bandwidth memory |
JP2000050284A (ja) * | 1998-07-13 | 2000-02-18 | Motorola Inc | 運動ベクトルの格納および回収を用いることによりビデオ信号を符号化および解読するための方法および装置 |
US6212231B1 (en) * | 1996-12-25 | 2001-04-03 | Nec Corporation | Assign of pels of a macroblock for compression encoding to a memory sequence in one of banks of DRAM |
CN1314050A (zh) * | 1999-04-13 | 2001-09-19 | 索尼公司 | 视频处理装置和方法及介质 |
-
2004
- 2004-12-21 CN CNB2004101014652A patent/CN100397903C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623311A (en) * | 1994-10-28 | 1997-04-22 | Matsushita Electric Corporation Of America | MPEG video decoder having a high bandwidth memory |
US6212231B1 (en) * | 1996-12-25 | 2001-04-03 | Nec Corporation | Assign of pels of a macroblock for compression encoding to a memory sequence in one of banks of DRAM |
JP2000050284A (ja) * | 1998-07-13 | 2000-02-18 | Motorola Inc | 運動ベクトルの格納および回収を用いることによりビデオ信号を符号化および解読するための方法および装置 |
CN1314050A (zh) * | 1999-04-13 | 2001-09-19 | 索尼公司 | 视频处理装置和方法及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN1622627A (zh) | 2005-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8203648B2 (en) | Motion vector detecting apparatus and motion vector detecting method | |
US7965773B1 (en) | Macroblock cache | |
US20050190976A1 (en) | Moving image encoding apparatus and moving image processing apparatus | |
CN103533366B (zh) | 用于视频运动补偿的缓存方法与装置 | |
US9001882B2 (en) | System for entropy decoding of H.264 video for real time HDTV applications | |
US20070071099A1 (en) | External memory device, method of storing image data for the same, and image processor using the method | |
CN1168320C (zh) | 对图像预测编码的方法及视频编码器 | |
JP5043012B2 (ja) | キャッシュ・ローカリティを保存するビデオ符号化/復号化方法 | |
CN105578190A (zh) | 应用于视频硬解码的无损压缩方法及系统 | |
KR20060043180A (ko) | 메모리 인터페이스 및 데이터 처리 시스템 | |
CN103634604B (zh) | 一种面向多核dsp运动估计的数据预取方法 | |
CN100397903C (zh) | 视频编解码过程中宏块数据读取的方法 | |
CN101783958B (zh) | Avs视频标准中时域直接模式运动矢量的计算方法和装置 | |
US8225043B1 (en) | High performance caching for motion compensated video decoder | |
US9363524B2 (en) | Method and apparatus for motion compensation reference data caching | |
CN1140134C (zh) | 用于向分级运动估计器提供最佳数据的装置及其方法 | |
CN101365137B (zh) | 运动补偿参考数据载入方法和装置及解码器和编解码系统 | |
CN1878307A (zh) | 提高视频解码器中sdram总线效率的方法 | |
US20110066812A1 (en) | Transfer request block cache system and method | |
US20090157982A1 (en) | Multiple miss cache | |
CN110213592B (zh) | 适用于hevc标准中运动估计的电路及其工作方法 | |
CN101448160B (zh) | 带重建数据反馈的像素重建方法及解码器 | |
CN102055975A (zh) | 存储器存取控制设备及其方法 | |
CN109005410A (zh) | 一种系数存取方法和装置及机器可读介质 | |
CN1622626A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080625 Termination date: 20111221 |