CN101990102A - 嵌入式设备上视频解码过程中数据读取方法及装置 - Google Patents

嵌入式设备上视频解码过程中数据读取方法及装置 Download PDF

Info

Publication number
CN101990102A
CN101990102A CN2010105381726A CN201010538172A CN101990102A CN 101990102 A CN101990102 A CN 101990102A CN 2010105381726 A CN2010105381726 A CN 2010105381726A CN 201010538172 A CN201010538172 A CN 201010538172A CN 101990102 A CN101990102 A CN 101990102A
Authority
CN
China
Prior art keywords
data
read
frame
information
dimensional matrix
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
CN2010105381726A
Other languages
English (en)
Other versions
CN101990102B (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.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics 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 Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN 201010538172 priority Critical patent/CN101990102B/zh
Publication of CN101990102A publication Critical patent/CN101990102A/zh
Application granted granted Critical
Publication of CN101990102B publication Critical patent/CN101990102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开一种嵌入式设备上视频解码过程中数据读取方法及装置,设置一个宽度和高度都为零的二维矩阵框,并记录下最小的横向纵向坐标值和最大的横向纵向坐标值信息,并根据内部空间情况设置二维矩阵框最大能够读取的数据值,和最多读取块数据个数;加入需要读取的二维数据,对二维矩阵框进行大小调整,使得需要读取的数据落到这个二维矩阵框内;按照确定下来的二维数据框的信息,到外部读取匹配数据到内部存储空间,并对可以从数据框内读取到数据的的块信息进行调整,使其都转向内部空间进行读取需要的数据。本发明是一种自适应的数据存取方法,能够根据硬件资源配置好的空间智能选择最理想的高效的取数方式进行取数,使数据带宽利用率达到最高。

Description

嵌入式设备上视频解码过程中数据读取方法及装置
技术领域
本发明涉及视频解码技术,具体是指一种嵌入式设备上视频解码过程中数据读取方法及装置。
背景技术
对于嵌入式视频解码芯片,都是采用SDRAM或者DDR存储器作为内存,进行大数据量的存储,但是SDRAM和DDR的时序本身就决定了在该器件上的数据访问,每次数据传输开始都需要固定的消耗几个时钟周期tRCD用于稳定存储数据行的选取和稳定。
SDRAM时序如图1和图2所示,在开始传输行选取稳定后在该行内连续存取都能够达到每个时钟周期一个数据单位数据的传输。假设每次行选取和稳定需要6个时钟周期,SDRAM的频率为133MHz,那么如果每次传输只读取一个数据单位,那么每秒时间内只能读取到133*1000000/(6+1)及19M的单位数据。如果每次传输连续读取8个单位数据在一秒钟的时间内就可以读取133*1000000/(6+8)*8及76M的单位数据。所以每次数据传输过程中连续传输数据量的大小直接会影响该次传输的时钟利用的效率,及数据带宽的使用率。单次读写的数据量越小,数据带宽的利用率就会越低,连续读取的数据量越大,数据带宽的利用率就越高。
为缓解这种存储器本身行为对数据带宽利用率的影响,只有通过提高每次数据存取的数据量来提高存储器带宽的利用率。视频解码时,以宏块为单位的解码时大多需要在解码的时候从已经解码好的数据中获取一块于当前宏块数据匹配的二维数据矩阵作为当前宏块的匹配数据。这样的操作需要的数据量大,需要占用很大的数据带宽。
在现有的嵌入式设备视频解码领域中主要有三种运动匹配数据获取的方式。
第一种是采用CPU的cache机制在使用数据的时候,由cache相关的硬件模块提前读取到高速数据缓存,供解码使用。这种方式虽然cache硬件模块可以较高效率的读取数据,但由于硬件不能预知需要读取数据的大小,因此在读取的时候实际会读入很多无效数据,从而是实际数据消耗量增大不少,影响带宽的利用率,这种方式在通用嵌入式CPU如ARM和MIPS上的应用较多。这种方式靠CPU所带的硬件cache机制进行存取由于效率低下的问题,只能解码一些较小分辨率的视频文件。
第二种方式是将当前解码宏块需要的数据通过DMA等高效设备读入到内部供解码使用。这种方式可以在内部使用一块较小的高速RAM存放读取进来的需要使用的数据进行告诉处理,但是通常都会有重复读取的部分,影响实际效率,而且每个宏块读取,开始读取的次数会很多,导致这种SDRAM或DDR的页面选取消耗的时钟也多起来,从而降低了数据的读取时的时钟利用效率,及带宽的效率,这种方式一般在DSP系统或者硬件解码系统上比较常见。这种方式资源消耗较少,但是效率还是不够高,对数据的利用率还是比较低的。
第三种方式是使用很大的cache空间来直接预先读取很多个宏块,甚至一个宏块行的数据,这样可以减少很多重复需要的数据,而且单次读取的数据量也很大,所以读取的效率很高。但是由于预先不知道实际需要的数据,所以,在运动比较负责的场景下,很多数据不再欲取数据范围内的时候,需要单独从外面取一些,这样也存在着数据浪费的问题,这种方式最适合的是静态或者左右缓慢移动镜头的场景,比较有限,而且需要开销很大的cache空间,而RAM在芯片内的成本很高,高速RAM的功耗也很大,所以在成本要求严格的嵌入式系统中,不太适合使用。这种方式很少有使用,在一些不太计较成本和功耗,如电视机等平台上有一些使用这种方案的硬件设计。
发明内容
本发明所要解决的技术问题在于提供一种高效的视频解码过程中数据读取方法及装置,可以使得解码时候的数据带宽利用率提升,来实现相同资源条件下更好的视频解码表现。
本发明采用以下技术方案解决上述技术问题:
本发明提供一种嵌入式设备上视频解码过程中数据读取方法,包括如下步骤:
步骤一:设置一个宽度和高度都为零的二维矩阵框,并记录下最小的横向纵向坐标值和最大的横向纵向坐标值信息,并根据内部空间情况设置二维矩阵框最大能够读取的数据值,和最多读取块数据个数;
步骤二:加入一个需要读取的二维数据,通过需读取数据MV信息和需要读取数据的大小对前面设置的二维矩阵框进行大小调整,及通过与记录的坐标信息进行比较,调整该信息,使得需要读取的数据落到这个二维矩阵框内;
步骤三:对调整后的数据框内数据量的大小和利用率进行判断,如果超过设置的空间界限,或利用率太低即加入后实际需要读取需要占用更加多的时间,则还原此次的大小调整并转到步骤六,否,则转到步骤四;
步骤四:判断读取到的数据块数目是否达到限定的最大值,如果是,转到步骤六,否,则转到步骤五;
步骤五:判断是否还有数据需要读取,如果有,则转到步骤二,如果没有,转到步骤六;
步骤六:按照确定下来的二维数据框的信息,到外部读取匹配数据到内部存储空间,并对可以从数据框内读取到数据的的块信息进行调整,使其都转向内部空间进行读取需要的数据;
步骤七:根据调整后的信息进行继续解码。
本发明还提供一种嵌入式设备上的视频解码装置,包括:
矩阵框设置单元,用于设置一个宽度和高度都为零的二维矩阵框,并记录下最小的横向纵向坐标值和最大的横向纵向坐标值信息,并根据内部空间情况设置二维矩阵框最大能够读取的数据值,和最多读取块数据个数;
矩阵框调整单元,用于加入一个需要读取的二维数据,通过需读取数据MV信息和需要读取数据的大小对前面设置的二维矩阵框进行大小调整,及通过与记录的坐标信息进行比较,调整该信息,使得需要读取的数据落到这个二维矩阵框内;
第一判断单元,用于对调整后的数据框内数据量的大小和利用率进行判断,如果超过设置的空间界限,或利用率太低即加入后实际需要读取需要占用更加多的时间,则还原此次的大小调整并触发下述的读取设置单元工作,否,则触发下述的第二判断单元工作;
第二判断单元,用于判断读取到的数据块数目是否达到限定的最大值,如果是,转到步骤六,否,则转到步骤五;
第三判断单元,用于判断是否还有数据需要读取,如果有,则触发矩阵框调整单元工作,如果没有,触发读取设置单元工作;
读取设置单元,用于按照确定下来的二维数据框的信息,到外部读取匹配数据到内部存储空间,并对可以从数据框内读取到数据的的块信息进行调整,使其都转向内部空间进行读取需要的数据;
视频解码单元,用于根据调整后的信息进行继续解码。
本发明的优点在于:本发明是一种自适应的数据存取方法,能够根据硬件资源配置好的空间智能选择最理想的高效的取数方式进行取数,使数据带宽利用率达到最高。
附图说明
下面参照附图结合实施例对本发明作进一步的描述。
图1是视频解码芯片中SDRAM时序图。
图2是视频解码芯片中SDRAM连续读取时序图。
图3是本发明工作流程示意图。
图4本发明是取数示意图。
具体实施方式
本发明提供一种嵌入式设备上视频解码过程中数据读取方法,如图3所示,包括如下步骤:
步骤一:设置一个宽度和高度都为零的二维矩阵框,并记录下最小的横向纵向坐标值和最大的横向纵向坐标值信息,并根据内部空间情况设置二维矩阵框最大能够读取的数据值,和最多读取块数据个数;
步骤二:加入一个需要读取的二维数据,通过需读取数据移动向量(Motion Vect,MV)信息和需要读取数据的大小对前面设置的二维矩阵框进行大小调整,及通过与记录的坐标信息进行比较,调整该信息,使得需要读取的数据落到这个二维矩阵框内;
步骤三:对调整后的数据框内数据量的大小和利用率进行判断,如果超过设置的空间界限,或利用率太低即加入后实际需要读取需要占用更加多的时间,则还原此次的大小调整并转到步骤六,否,则转到步骤四;
步骤四:判断读取到的数据块数目是否达到限定的最大值,如果是,转到步骤六,否,则转到步骤五;
步骤五:判断是否还有数据需要读取,如果有,则转到步骤二,如果没有,转到步骤六;
步骤六:按照确定下来的二维数据框的信息,到外部读取匹配数据到内部存储空间,并对可以从数据框内读取到数据的的块信息进行调整,使其都转向内部空间进行读取需要的数据;
步骤七:根据调整后的信息进行继续解码。
本发明的取数方法要求码流解析和图像重建异步进行,在重建模块中,根据前面码流解析得到的MV信息,按照当前要需要匹配进行取数的宏块N为开始位置建立一个需要读取的二维数据框(虚线框),如图4所示。向后每个宏块MV所框取数据范围进行搜寻,判断加入一个宏块的MV后数据框改变的大小是否能够比单独各个宏块取数的效率高,如果是,加入这次的取数范围并修改取数框的大小,并进入下一个宏块加入的影响判断,直到取数宏块空间范围达到内部RAM空间的最大值为止;如果加入一个宏块后会导致取数框增大过多,及会多取许多无效数据到内部,那么也要停止搜索。停止搜索后将前面搜索的数据作为一个数据框进行整块的数据读取,这样框内所有的宏块需要的数据都在这个高速取数的范围内,加快了取数的效率。这样处理后如图上的第一个框取范围为例,如果不进行任何处理取数,那么需要取3个17×17B的数据进来进行运算,如果总线是32Bit的总线,那么为减少开销,至少需要取3×17×5W的单位数据,按照前面SDRAM的时序设置分析,需要3×17×(6+5),及561个信号周期完成取数过程,但是如果采用我们的改进方案,只需要读取18×49B的数据,按照32Bit的总线,需要读取18×13W的数据单位,消耗时间为18×(6+13)及342个信号周期,比直接取数节省了219个cycle,节省了39%的数据带宽,这对于嵌入式设备来说,有很明显的帮助。由于采取了自适应的方式进行取数,不会造成取数的浪费,即使在运动特别剧烈的时候,效率也只会和单宏块取数方式相同。
本发明还提供一种嵌入式设备上的视频解码装置,包括:
矩阵框设置单元,用于设置一个宽度和高度都为零的二维矩阵框,并记录下最小的横向纵向坐标值和最大的横向纵向坐标值信息,并根据内部空间情况设置二维矩阵框最大能够读取的数据值,和最多读取块数据个数;
矩阵框调整单元,用于加入一个需要读取的二维数据,通过需读取数据MV信息和需要读取数据的大小对前面设置的二维矩阵框进行大小调整,及通过与记录的坐标信息进行比较,调整该信息,使得需要读取的数据落到这个二维矩阵框内;
第一判断单元,用于对调整后的数据框内数据量的大小和利用率进行判断,如果超过设置的空间界限,或利用率太低即加入后实际需要读取需要占用更加多的时间,则还原此次的大小调整并触发下述的读取设置单元工作,否,则触发下述的第二判断单元工作;
第二判断单元,用于判断读取到的数据块数目是否达到限定的最大值,如果是,转到步骤六,否,则转到步骤五;
第三判断单元,用于判断是否还有数据需要读取,如果有,则触发矩阵框调整单元工作,如果没有,触发读取设置单元工作;
读取设置单元,用于按照确定下来的二维数据框的信息,到外部读取匹配数据到内部存储空间,并对可以从数据框内读取到数据的的块信息进行调整,使其都转向内部空间进行读取需要的数据;
视频解码单元,用于根据调整后的信息进行继续解码。
本发明是一种自适应的数据存取方法,能够根据硬件资源配置好的空间智能选择最理想的高效的取数方式进行取数,使数据带宽利用率达到最高。相对于以前的常用方案,节省了30%~40%的带宽消耗,这对成本和性能都有较高要求的嵌入式多媒体系统来说,是一笔很大的资源节省。

Claims (2)

1.一种嵌入式设备上视频解码过程中数据读取方法,其特征在于:包括如下步骤:
步骤一:设置一个宽度和高度都为零的二维矩阵框,并记录下最小的横向纵向坐标值和最大的横向纵向坐标值信息,并根据内部空间情况设置二维矩阵框最大能够读取的数据值,和最多读取块数据个数;
步骤二:加入一个需要读取的二维数据,通过需读取数据移动向量MV信息和需要读取数据的大小对前面设置的二维矩阵框进行大小调整,及通过与记录的坐标信息进行比较,调整该信息,使得需要读取的数据落到这个二维矩阵框内;
步骤三:对调整后的数据框内数据量的大小和利用率进行判断,如果超过设置的空间界限,或利用率太低即加入后实际需要读取需要占用更加多的时间,则还原此次的大小调整并转到步骤六,否,则转到步骤四;
步骤四:判断读取到的数据块数目是否达到限定的最大值,如果是,转到步骤六,否,则转到步骤五;
步骤五:判断是否还有数据需要读取,如果有,则转到步骤二,如果没有,转到步骤六;
步骤六:按照确定下来的二维数据框的信息,到外部读取匹配数据到内部存储空间,并对可以从数据框内读取到数据的的块信息进行调整,使其都转向内部空间进行读取需要的数据;
步骤七:根据调整后的信息进行继续解码。
2.一种嵌入式设备上的视频解码装置,其特征在于,包括:
矩阵框设置单元,用于设置一个宽度和高度都为零的二维矩阵框,并记录下最小的横向纵向坐标值和最大的横向纵向坐标值信息,并根据内部空间情况设置二维矩阵框最大能够读取的数据值,和最多读取块数据个数;
矩阵框调整单元,用于加入一个需要读取的二维数据,通过需读取数据MV信息和需要读取数据的大小对前面设置的二维矩阵框进行大小调整,及通过与记录的坐标信息进行比较,调整该信息,使得需要读取的数据落到这个二维矩阵框内;
第一判断单元,用于对调整后的数据框内数据量的大小和利用率进行判断,如果超过设置的空间界限,或利用率太低即加入后实际需要读取需要占用更加多的时间,则还原此次的大小调整并触发下述的读取设置单元工作,否,则触发下述的第二判断单元工作;
第二判断单元,用于判断读取到的数据块数目是否达到限定的最大值,如果是,转到步骤六,否,则转到步骤五;
第三判断单元,用于判断是否还有数据需要读取,如果有,则触发矩阵框调整单元工作,如果没有,触发读取设置单元工作;
读取设置单元,用于按照确定下来的二维数据框的信息,到外部读取匹配数据到内部存储空间,并对可以从数据框内读取到数据的的块信息进行调整,使其都转向内部空间进行读取需要的数据;
视频解码单元,用于根据调整后的信息进行继续解码。
CN 201010538172 2010-11-09 2010-11-09 嵌入式设备上视频解码过程中数据读取方法及装置 Active CN101990102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010538172 CN101990102B (zh) 2010-11-09 2010-11-09 嵌入式设备上视频解码过程中数据读取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010538172 CN101990102B (zh) 2010-11-09 2010-11-09 嵌入式设备上视频解码过程中数据读取方法及装置

Publications (2)

Publication Number Publication Date
CN101990102A true CN101990102A (zh) 2011-03-23
CN101990102B CN101990102B (zh) 2013-07-24

Family

ID=43746403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010538172 Active CN101990102B (zh) 2010-11-09 2010-11-09 嵌入式设备上视频解码过程中数据读取方法及装置

Country Status (1)

Country Link
CN (1) CN101990102B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331720A (zh) * 2015-06-17 2017-01-11 福州瑞芯微电子股份有限公司 一种视频解码相关信息存储方法和装置
CN108492243A (zh) * 2018-04-13 2018-09-04 福州新迪微电子有限公司 一种基于块处理的图像旋转装置、系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645928A (zh) * 2005-02-03 2005-07-27 清华大学 用于压缩视频信号解码的图像存储方法
WO2007093780A2 (en) * 2006-02-13 2007-08-23 Snell & Wilcox Limited Method and apparatus for modifying a moving image sequence
CN101304520A (zh) * 2007-05-09 2008-11-12 扬智科技股份有限公司 影像解码系统及其运动补偿的自适性快取方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1645928A (zh) * 2005-02-03 2005-07-27 清华大学 用于压缩视频信号解码的图像存储方法
WO2007093780A2 (en) * 2006-02-13 2007-08-23 Snell & Wilcox Limited Method and apparatus for modifying a moving image sequence
CN101304520A (zh) * 2007-05-09 2008-11-12 扬智科技股份有限公司 影像解码系统及其运动补偿的自适性快取方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331720A (zh) * 2015-06-17 2017-01-11 福州瑞芯微电子股份有限公司 一种视频解码相关信息存储方法和装置
CN106331720B (zh) * 2015-06-17 2020-03-27 福州瑞芯微电子股份有限公司 一种视频解码相关信息存储方法和装置
CN108492243A (zh) * 2018-04-13 2018-09-04 福州新迪微电子有限公司 一种基于块处理的图像旋转装置、系统和方法

Also Published As

Publication number Publication date
CN101990102B (zh) 2013-07-24

Similar Documents

Publication Publication Date Title
US20150092834A1 (en) Context re-mapping in cabac encoder
CN102968390A (zh) 基于预先解码分析的配置信息缓存管理方法及系统
CN103888771A (zh) 基于gpgpu技术的并行视频图像处理方法
CN105224165A (zh) 为计算装置上部分模糊图形图像促进动态和有效的预启动裁剪
CN104125458A (zh) 内存数据无损压缩方法及装置
CN109451317A (zh) 一种基于fpga的图像压缩系统及方法
CN100474929C (zh) 一种运动补偿数据载入装置及方法
CN101990102B (zh) 嵌入式设备上视频解码过程中数据读取方法及装置
CN102340668B (zh) 一种基于可重构技术的mpeg2亮度插值的实现方法
CN103634604A (zh) 一种面向多核dsp运动估计的数据预取方法
CN109089120B (zh) 分析辅助编码
CN110648356A (zh) 一种基于视觉数字信号处理的多目标跟踪处理优化方法
WO2019127926A1 (zh) 一种稀疏神经网络的计算方法及计算装置、电子装置、计算机可读存储介质以及计算机程序产品
CN103975583A (zh) 捕获多个视频通道用于视频分析和编码
US10440359B2 (en) Hybrid video encoder apparatus and methods
Li et al. Reducing dram image data access energy consumption in video processing
TWI601075B (zh) 移動補償影像處理裝置與影像處理方法
CN104038766A (zh) 用于以图像帧为基础执行并行视频编码的装置及其方法
CN202995701U (zh) 基于预先解码分析的数据信息缓存管理系统
Lee et al. Multi-core platform for an efficient H. 264 and VC-1 video decoding based on macroblock row-level parallelism
CN103891272B (zh) 用于视频分析和编码的多个流处理
CN102541808A (zh) Soc芯片系统及实现Soc芯片中可配置缓冲器的方法
CN103327340A (zh) 一种整数搜索方法及装置
CN103034455A (zh) 基于预先解码分析的数据信息缓存管理方法及系统
CN104025028A (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
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Patentee after: FUZHOU ROCKCHIP ELECTRONICS CO., LTD.

Address before: 350003 Fujian city of Fuzhou Province Copper Road Software Park A District No. 18

Patentee before: Fuzhou Rockchip Semiconductor Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee after: Ruixin Microelectronics Co., Ltd

Address before: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee before: Fuzhou Rockchips Electronics Co.,Ltd.