CN101443808B - 用于图像和视频处理的存储器组织方案和控制器结构 - Google Patents

用于图像和视频处理的存储器组织方案和控制器结构 Download PDF

Info

Publication number
CN101443808B
CN101443808B CN2007800018747A CN200780001874A CN101443808B CN 101443808 B CN101443808 B CN 101443808B CN 2007800018747 A CN2007800018747 A CN 2007800018747A CN 200780001874 A CN200780001874 A CN 200780001874A CN 101443808 B CN101443808 B CN 101443808B
Authority
CN
China
Prior art keywords
pixel data
image
memory
memory word
storer
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
Application number
CN2007800018747A
Other languages
English (en)
Other versions
CN101443808A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101443808A publication Critical patent/CN101443808A/zh
Application granted granted Critical
Publication of CN101443808B publication Critical patent/CN101443808B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

本发明描述对图像处理有用的存储器组织方案。还描述利用所述组织方案的存储器控制器结构。所述组织方案和控制器结构对形成视频序列的图像的高性能、高质量图像处理尤其有用,但还可应用于其它图像处理设置中。所述存储器的所描述的技术和组织结构还允许视频装置的其它存储应用程序共享所述存储器。

Description

用于图像和视频处理的存储器组织方案和控制器结构
技术领域
本发明涉及图像和视频处理,且更明确地说,涉及用于视频序列的图像帧处理的存储器存储技术。
背景技术
数字视频能力可并入广泛范围的装置中,包含数字电视、数字直播系统、无线通信装置、便携式数字助理(PDA)、膝上型计算机、台式计算机、直接双向通信装置(有时称为“无线对讲机(walkie-talkie)”)和无线电电话(例如,蜂窝式、卫星或基于陆地的无线电电话)。这些装置可在产生、修改、传输、存储和播放全运动视频序列方面提供优于常规模拟视频系统的显著改进。
已建立了许多视频处理和编码技术以用于传送数字视频序列。举例来说,运动图像专家组(MPEG)已研发出许多视频编码标准,包含MPEG-1、MPEG-2和MPEG-4。其它标准包含ITU H.263标准和ITU H.264标准。此外,各种公司也已研发出许多专有标准,且新标准不断出现并逐渐发展。
这些视频标准中的许多标准使用数据压缩。举例来说,许多视频编码技术利用经设计以通过利用时间或帧间相关性而压缩数据的图形和视频压缩算法来提供帧间压缩。帧间压缩技术通过将图像帧的基于像素的表示转换成运动表示来利用帧上的数据冗余。另外,视频压缩技术常常使用图像帧内的相似性(称为空间或帧内相关性),从而允许可进一步压缩图像帧内的运动表示的帧内压缩。帧内压缩通常基于用于压缩静止图像的常规技术,例如,离散余弦变换(DCT)变换。
然而,在执行视频压缩之前,常常对视频序列的图像帧执行许多“前端”图像处理技术。举例来说,常常对从图像传感器产生的图像使用前端图像处理技术。此些图像处理技术的实例包含(只列出少数几种)去马赛克(demosaicing)、透镜滑离校正(lens rolloffcorrection)、缩放、色彩校正、色彩转换和空间滤波。所述处理可改进视觉图像质量属性,例如,色调再现、色彩饱和度、色相再现和锐度。
举例来说,在视频应用中使用的一些图像传感器使用布置在相应传感器的表面上的彩色滤光片阵列(CFA)来对场景进行取样。可使用多种CFA图案,且可使用数字信号处理器(DSP)来针对每一感光点获得三个色彩值。然而,为了获得高质量彩色视频图像,可能需要图像处理技术。这些图像处理技术在本文中称为“前端”图像处理,因为所述技术通常先于图像压缩或由视频编码单元进行的其它视频编码。然而,换句话说,这些图像处理技术可称为“后处理”步骤,因为所述处理发生在图像被图像传感器俘获之后。
遗憾的是,这些图像处理步骤可能在实时视频电话(VT)应用中出现实时视频编码的问题。举例来说,为了确保视频序列的实时传输,所有图像处理需要非常快速地执行。因此,实时图像处理可能需要非常高带宽的存储器和非常大的存储器容量,以便确保可执行大量的图像处理(通常通过若干不同的图像处理模块)。遗憾的是,存储器带宽和存储器空间对于大多数视频编码装置来说是有限的。
发明内容
本发明描述对图像处理有用的用于存储器的组织方案。所述组织方案对形成视频序列的图像的高质量、高性能图像处理尤其有用,但还可应用于其它图像处理设置中。所述存储器的所描述的技术和组织结构还允许视频装置的其它存储应用程序共享所述存储器。
根据本发明,将存储器字界定为包含多个图像的像素数据。举例来说,每一存储器字可包含处理管线或视频序列中的若干循序图像的像素数据。存储器的邻接存储器字可包含循序图像的邻接像素的数据。还描述存储器控制器结构,所述存储器控制器结构有助于从每一存储器字分离出像素数据,以便允许将不同图像的像素数据发送到不同图像处理模块以用于并行图像处理。根据本发明将图像数据布置在共享的存储器字中可加速图像传感器处理,且对实时视频电话(VT)应用来说可能尤其合乎需要。另外,本文中所描述的存储器组织方案和控制器结构还可支持将其它信息存储在存储器字内的能力,所述信息例如是由装置的数字信号处理器(DSP)执行的32位或64位指令,或其它类型的非像素信息。因此,本文中所描述的存储器布置和控制器结构可允许前端视频处理和其它应用程序两者共享存储器。
在一个实施例中,本发明提供一种方法,其包括:将包含第一图像的第一像素数据和第二图像的第一像素数据的第一存储器字存储在存储器中;以及将包含第一图像的第二像素数据和第二图像的第二像素数据的第二存储器字存储在存储器中。
在另一实施例中,本发明提供一种装置,其包括:存储器,所述存储器包含第一存储器字和第二存储器字,所述第一存储器字包含第一图像的第一像素数据和第二图像的第一像素数据,所述第二存储器字包含第一图像的第二像素数据和第二图像的第二像素数据;以及控制器,所述控制器在存储器存取循环中存取第一存储器字,以传递第一和第二图像的第一像素数据。
在另一实施例中,本发明提供一种存储器,所述存储器包括第一存储器字和第二存储器字,所述第一存储器字包含第一图像的第一像素数据和第二图像的第一像素数据,所述第二存储器字包含第一图像的第二像素数据和第二图像的第二像素数据。
在附图和以下描述内容中陈述本发明的一个或一个以上实施例的细节。从所述描述内容和图式以及从权利要求书中将明白本发明的其它特征、目标和优势。
附图说明
图1是说明可实施本文中所描述的存储器组织技术的示范性装置的框图。
图2是说明可实施本文中所描述的存储器组织技术的示范性装置的另一框图。
图3和图4是说明根据本发明的示范性存储器组织的图。
图5是说明根据本发明的组织有不同图像的像素数据的示范性存储器字的图。
图6是说明示范性控制器结构的框图,所述控制器结构用以支持本文中所描述的存储器字且允许存储器用于其它目的。
图7是说明根据本发明实施例的示范性过程的流程图。
具体实施方式
本发明描述用于存储器的组织方案,其中多个不同图像的像素数据包含在存储器字中。换句话说,可将给定存储器字界定为包含多个图像的像素数据。若干图像的连续像素存储在存储器的邻接行中,其中每一行由包含一个或一个以上图像的像素数据的存储器字界定。根据本发明,将图像数据布置在存储器字中可加速前端图像处理,这对于实时视频电话(VT)来说尤其合乎需要。还描述存储器控制器结构,所述存储器控制器结构有助于从每一存储器字分离出像素数据,以便允许将不同图像的像素数据发送到不同图像处理模块以用于并行图像处理。在一些实施例中,多个并行图像处理操作可“共享”给定存储器字,因为可将多个图像的像素数据从共享的存储器字同时解多路复用(即,分配)到多个图像处理操作。实际上,这允许多个图像处理操作同时存取共享的存储器字,并处理包封在存储器字的不同部分内的不同图像。
所描述的存储器组织方案和控制器结构还可支持存储其它信息的能力,所述信息例如是由装置的数字信号处理器(DSP)执行的32位或64位指令、存储为高速缓冲存储器的信息或其它类型的数据。换句话说,存储器组织方案允许相对较宽的存储器字(例如,宽度为64个位),其允许存储器用于许多应用。同时,所描述的存储器控制器结构允许将相对较宽的存储器字分成较小单元,例如,从给定存储器字分离出若干图像的像素,使得前端图像处理模块可并行地处理若干图像的像素。以此方式,所描述的组织方案和控制器结构可加速前端图像处理,这对于实时视频电话(VT)应用来说尤其合乎需要。
图1是说明示范性视频编码装置2的框图。视频编码装置2可形成能够编码和传输视频数据的数字视频装置的一部分。视频数据可从视频摄像机俘获、从视频档案检索,或以另一方式获得。编码装置2可在例如以下装置的装置内实施:数字电视、数字直播系统、无线通信装置、个人数字助理(PDA)、膝上型计算机、台式计算机、数码相机、数字记录装置、具有网络功能的数字电视、蜂窝式或卫星无线电电话,或具有VT能力的任何电信装置。编码装置2可遵照视频编码标准,例如,MPEG-4、ITU-T H.263、ITU-TH.264,或任何其它视频编码标准。编码装置2可支持帧间编码技术(例如,运动估计和运动补偿),且还可支持其它技术(例如,用于帧内编码的空间估计和帧内预测编码技术)。
如图1中所展示,编码装置2包含视频编码设备4以对视频序列进行编码,且包含视频存储器14以在此编码之前和之后存储视频序列。装置2还可包含发射器16以将经编码的序列传输到另一装置,且可能包含视频俘获装置12(例如,视频摄像机)以俘获视频序列,并将俘获的序列存储在存储器14中。编码装置2的各种元件可经由通信总线15以通信方式耦合。编码装置10中还可包含许多其它元件,但为了简洁没有在图1中具体说明。图1中所说明的结构只是示范性的,因为本文中所描述的技术可用多种其它结构来实施。
视频存储器14通常包括相对较大的存储器空间。举例来说,视频存储器14可包括动态随机存取存储器(DRAM)或快闪存储器。存储器14可基于所谓的“或非(NOR)”或“与非(NAND)”存储器技术或任何其它数据存储技术。在其它实例中,视频存储器14可包括非易失性存储器或任何其它类型的数据存储单元。
视频编码设备4可包括用于移动无线电电话的所谓的“芯片组”,所述芯片组包含硬件、软件、固件的组合,和/或一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其各种组合。视频编码设备4通常包含耦合到局部存储器8的视频编码器6。视频编码器6可包括用于对数字视频数据进行编码和解码的编码器/解码器(CODEC(编解码器))。局部存储器8可包括相对于视频存储器14较小且较快的存储器空间。举例来说,局部存储器8可包括同步动态随机存取存储器(SDRAM)。局部存储器8可包括与视频编码设备4的其它组件集成的“芯片上”存储器,以在处理器密集型编码处理期间提供对数据的非常快速的存取。然而,存储器14和8可组合成同一存储器零件,或可以许多其它配置实施。
视频编码设备4包含存储器控制器10,其控制存储器获取和到局部存储器8的回写。此外,图1中所说明的结构只是示范性的,因为存储器8和存储器控制器10中所实施的技术还可应用于其它结构,且还可应用于外部存储器14的组织。
举例来说,视频编码器6可包含前端视频处理单元18和视频编码单元19。前端视频处理单元18通常对视频序列的帧执行一种或一种以上图像处理技术以改进图像质量,且从而改进视频序列的质量。举例来说,前端视频处理单元18可执行例如去马赛克、透镜滑离校正、缩放、色彩校正、色彩转换和空间滤波的技术。另外,前端视频处理单元18还可执行其它技术。一般来说,单元18所执行的技术称为“前端”图像处理技术,因为所述技术通常先于由视频编码器6进行的编码。
视频俘获装置12可包括图像传感器,所述图像传感器包含布置在相应传感器的表面上的彩色滤光片阵列(CFA)。在这种情况下,单元18所执行的前端图像处理可改进装置12所俘获的视频序列的质量。举例来说,视频编码器6可包括经编程以界定单元18的DSP,所述单元18执行图像俘获装置12所俘获的图像的前端处理。如本文中所描述,存储器8中所实施的组织方案可改进图像处理带宽效率,且允许存储器8(或存储器14)的同一区域用于这些前端图像处理目的和其它存储目的两者。
视频编码单元19执行分度编码(viding coding),其可包含一个或一个以上视频压缩技术,例如,帧间压缩或帧内压缩。举例来说,视频编码单元19可实施运动估计和运动补偿技术,以利用时间或帧间数据相关性来提供帧间压缩。替代地或另外,视频编码单元19可执行空间估计和帧内预测技术,以利用空间或帧内数据相关性来提供帧内压缩。运动补偿(或帧内预测)的输出称为“残差”,且通常包括指示待编码的当前视频区块与运动估计或空间估计所识别的预测区块之间的差异的数据区块。
在视频编码单元19已执行运动补偿(或帧内预测)以产生残差之后,还可执行一系列额外步骤,以进一步对所述残差进行编码且进一步压缩数据。所执行的额外步骤可视正使用的编码标准而定,但其通常称为“残差编码”。在任何情况下,视频编码单元19可执行这些视频压缩技术中的一者或一者以上以减少(例如)经由视频装置2的发射器16将视频序列传送到另一装置所需的数据的量。
本发明的技术可易于在由前端视频处理单元18进行的图像处理期间应用。明确地说,本发明涵盖用于局部存储器8(或例如外部存储器14的类似存储器)的组织技术,所述技术可改进图像处理带宽效率,且允许存储器8(或存储器14)的同一区域用于其它存储目的,例如,用于视频压缩或甚至用于非视频应用。另外,本发明提出用于存储器控制器10的结构,所述结构可利用存储器8(或存储器14)中的数据组织方案。尽管相对于前端图像处理出于示范性目的而进行描述,但本文中所描述的存储器结构可应用于处理多个图像的其它环境。
图2是说明可实施本文中所描述的存储器组织技术的示范性装置20的另一框图。在这个实例中,装置20包含存储器22和存储器控制器24,所述存储器控制器24控制对存储器22的存取。存储器控制器24可耦合到图像处理单元26,所述图像处理单元26包含多个图像处理模块(标记为28A、28B和28C且统称为“模块28”)。尽管为了简洁而说明了三个模块,但图像处理单元26可包含任何数目的图像处理模块28。模块28可包含去马赛克模块、透镜滑离校正模块、缩放模块、色彩校正模块、色彩转换模块和空间滤波模块或许多其它前端图像处理模块。另外,模块28可包含执行同一功能的多个图像处理模块,从而允许对不同图像并行地执行所述功能。
根据本发明的技术,与若干不同图像相关联的像素可存储在同一存储器字中,且可将存储器字分成可由模块28并行地处理的像素。在某些实施例中,可从存储器22同时读取与不同图像相关联的图像数据,且将其分配给模块28。实际上,这允许模块28以高效方式共享存储器22。
存储器控制器24还可耦合到其它装置,例如,数字信号处理器(DSP)25、或其它类型或硬件、处理器或逻辑电路。以此方式,存储器22的内容可在不同类型的硬件、处理器和处理单元中使用。此外,本发明具体地涵盖对存储器22的内容的图像处理非常有用的存储器组织方案,但其是灵活的,使得其它类型的数据也可存储在存储器22中。
装置20可对应于图1的装置2,但本发明未必限于这方面。举例来说,存储器22可对应于存储器8或14中的任一者,且存储器控制器24可对应于存储器控制器10。图像处理单元26可对应于前端视频处理单元18,且DSP 25可对应于视频编码单元19。然而,此外,图2中所说明的结构可更广泛地应用于许多装置和系统,且未必限于图1的装置2。
根据本发明,将存储器22组织成存储器字,其中每一存储器字可用以存储与多个不同图像相关联的像素数据。举例来说,存储器22中的存储器字中的每一者可经界定以支持若干图像的像素数据,即使当前正存储较少数图像,给定字也不需要以像素数据完全充填。作为一个实例,若干不同图像的相应第一像素可存储在第一存储器字中。每一所述不同图像的相应下一像素可存储在第二存储器字中。因此,若干图像的连续像素可存储在存储器22的邻接行中,其中每一行由包含若干图像的像素数据的存储器字界定。
存储器控制器24经配置以允许从存储器22中的存储器字提取数据,使得可同时将一个存储器字的不同数据发送到模块28中的不同者,以进行并行处理。模块28中的每一者可经配置以在时间间隔中处理其相应数据,所述时间间隔大体上类似于(或等同于)模块中的其它者的处理时间。这允许图像数据的高效同时处理。
然而,如果特定存储器字用以存储非像素数据(例如,可执行指令),那么存储器控制器24允许将整个存储器字(在这种情况下是指令)发送到DSP 25。其它非像素信息也可存储在存储器字中。存储器控制器24可接收界定存储器字的内容的命令,且如果给定存储器字用以存储若干不同图像的像素数据,那么存储器控制器24可从存储器字同时分离出所述像素数据,使得可并行地处理与不同图像相关联的像素数据。
图3是说明根据本发明的示范性存储器组织的示范性图。图3的数据结构30可存储在存储器22中。如图3中所展示,数据结构30的每一行包括存储器字,所述存储器字包含多个不同图像(即,零个或更多图像)的像素数据。举例来说,第一行(第一存储器字)可包含图像P的像素数据P0、图像Q的像素数据Q0和图像R的像素数据R0。P0可表示图像P的第一像素,Q0可表示图像Q的第一像素,且R0可表示图像R的第一像素。还可包含其它图像的第一像素。举例来说,如果存储器字的宽度为64个位,且每一像素包括8个位,那么单个存储器字中可存储八个不同图像的八个不同像素。
类似地,第二行(第二存储器字)可包含图像P的像素数据P1、图像Q的像素数据Q1和图像R的像素数据R1。P1可表示图像P的第二像素,Q1可表示图像Q的第一像素,且R1可表示图像R的第一像素。因此,图像P、Q和R的邻接像素可存储在存储器的邻接行中。尽管给定图像的一个以上像素也可存储在给定存储器字中,但每一行可只包含相当于若干不同图像的数据的一个像素。
在图3的数据结构30的实例中,每一个存储器字能够存储图像P、Q和R的像素数据。在这种情况下,每一图像可包含N+1个像素,其中N+1表示经分配以存储所述图像的行的数目。如下文更详细描述,存储器字的一个或一个以上区段(或槽(slot))可不包含任何数据,例如,只要正在处理较少数目的图像且存储器字中的每一者中存在额外空间。事实上,同一组织方案可用以存储和处理单个图像,在这种情况下,每一存储器字可只包含一个数据像素。然而,在这种情况下,每一存储器字中的额外空间将通常是未使用的。
此外,数据结构30可在邻接存储器空间内(例如,图3的存储器22内)针对每N+1个行而重复,从而允许使用共享的存储器字来存储额外群组的图像,如图4中进一步说明。
图4是说明根据本发明的存储器组织的另一示范性图。图4的数据结构40可存储在存储器22中,且表示根据本发明的存储器的逻辑组织。如图4中所展示,数据结构40的每一行包括存储器字,所述存储器字包含多个不同图像的像素数据。然而,在这种情况下,最初的N+1个行(最初的N+1个存储器字)包含图像P、Q和R的像素数据,而随后的行(随后的存储器字)包含图像X、Y和Z的像素数据。
如图3和图4中所说明的存储器字的行配置可对前端图像处理高度有利。在这种情况下,存储器控制器24可经配置以同时分离不同图像的像素数据,且将不同图像的像素数据转发到图像处理单元26的不同图像处理模块28。因此,可由图像处理单元26并行地处理若干图像,从而允许多个模块28高效地共享存储器22。此外,通过遍历存储器22中的数据结构30(图3)的整个长度,存储器控制器24可确定已存取了图像P、Q和/或R的所有像素。因此,希望在每一存储器字中包含相应图像的一个像素,但在数据结构30的邻接存储器字中包含所述图像的所有像素。在这种情况下,历经数据结构30一遍可确保图像处理单元26对数据结构30中的任何给定图像进行处理。
同时,数据结构30和40中的存储器字(行)的相对较大的宽度可允许此些数据用以存储非像素数据或其它类型的数据。可存储在存储器中的其它类型的数据的实例包含图形深度信息、图形缓冲器的z缓冲器信息或计算机可执行软件指令。在又一实施例中,所存储的数据可包括用于任何目的(包含非视频应用)的高速缓冲存储器。控制信号可由存储器控制器24接收以界定任何存储器字的性质。对于64位存储器字来说,一些字可以是可执行软件指令,所述可执行软件指令可被存取且转发到DSP 25以供执行。其它存储器字可包含不同图像的像素数据(如图3和图4中所展示)。其它字可包含其它类型的数据,例如,图形缓冲器信息或高速缓冲存储器。重要的是,存储器控制器24经配置以支持存储器22的存储器字中的这些不同类型的信息。存储器22本身可采取多种实体配置中的任一种。举例来说,存储器22可构成八组8位宽的存储器模块。作为另一实例,存储器22可构成两组32位宽的字可定址存储器模块。作为又一实例,存储器22可包括提供64位宽的字可定址存储器的单个存储器模块。
图5是描绘根据本发明的组织有不同类型的数据的存储器字51到55的另一图。存储器字51、52、53和54包含若干图像的像素数据,如本文中所描述。举例来说,存储器字51包含八个不同图像的像素0。类似地,存储器字52包含八个不同图像的像素1,存储器字52包含八个不同图像的像素2,且存储器字53包含八个不同图像的像素N。然而,在一些情况下,存储器字51到54中可存储少于八个像素。在这种情况下,像素“槽”中的一者或一者以上可以是空白的,或存储有无效数据。
存储器字51到54中的像素“槽”中的每一者可对应于特定前端图像处理模块。明确地说,八个图像中的每一者可有一个像素存储在每一存储器字的同一“槽”中。以此方式,如果图像需要发送到特定图像处理模块,那么所述图像可存储在存储器字51到54的对应“槽”中。接着,历经存储器字51到54一遍可确保可根据需要处理给定图像的像素。在其它实例中,还可将相同像素发送到多个图像处理模块。
常规前端图像处理通常是循序的。即,常常在可相对于给定图像执行下一过程之前,整体上执行第一过程。本发明的教示保持执行循序前端图像处理的能力,但允许相对于序列的若干不同图像并行地执行此些过程。再次参看图5,举例来说,图像1可存储在存储器字51到54的对应于第一图像处理模块的存储器槽中,而图像2可存储在存储器字51到54的对应于不同图像处理模块的存储器槽中。其它图像可类似地存储在存储器字51到54的存储器槽中。
在循序前端图像处理和随后回写到存储器之后,给定图像本质上可历经存储器字的若干个槽。换句话说,在图5中,图像2(其存储在存储器字51到54的第二槽中)可预先存储在不同槽(例如,第一槽)中,经处理且接着回写到第二槽。以此方式,可仍以循序方式处理每一个图像。然而,存储器组织方案允许并行地对若干图像执行此循序处理(实质上,在图像经由处理和回写而遍历存储器字的不同槽时形成所谓的成像处理管线)。存储器控制器24包含有助于像素跟踪、从相应的存储器字分离出像素、将像素转发到适当模块28和将像素回写到不同存储器字的逻辑。
图6是存储器控制器60的框图,所述存储器控制器60是存储器控制器24(图2)的一个示范性实施例。存储器控制器60包含存储器输出逻辑61,所述存储器输出逻辑61有助于同时从存储在存储器中的存储器字提取数据,使得可将给定存储器字中的数据的不同部分转发到不同处理模块。另外,存储器控制器60还包含存储器输入逻辑62,所述存储器输入逻辑62接收经处理的数据,并将所述经处理的数据组合于可回写到存储器的存储器字中。可分别将控制信号63和64发送到逻辑61和62,以便对数据如何流入和流出存储器进行控制。
举例来说,当从存储器接收到存储器字时,输出逻辑61可将数据分成各种子部分,可将所述子部分发送到一个或一个以上不同模块。在图6的实例中,存储器字可包括图5的存储器字51到55中的一者。举例来说,如果从存储器接收到存储器字51,那么存储器控制器的输出逻辑61可分离八个不同图像的像素数据。控制信号63识别存储器字中包含什么类型的数据。因此,八个不同图像的像素数据(如图5的存储器字51中所展示)可对应于第一数据、第二数据、第三数据、第四数据、第五数据、第六数据、第七数据和第八数据(如图6中所展示)。存储器输出逻辑61将给定存储器字的不同数据转发到不同处理模块。
另一方面,如果从存储器接收到包括非像素信息的存储器字55,那么存储器控制器的输出逻辑61可确定将此信息发送到哪里。举例来说,如果存储器字55为计算机可执行指令,那么可将存储器字55转发到共用处理模块(例如,DSP 25(图2))以供执行。此外,控制信号63识别存储器字中包含什么类型的数据,且在这种情况下,控制信号63将存储器字55识别为包含非像素数据,例如,待由DSP 25执行的计算机可执行指令。
存储器输入逻辑62通常执行输出逻辑61的反向过程,以将数据回写到存储器。因此,如果八个不同图像的八个像素由八个不同模块执行,那么存储器输入逻辑62可接收不同图像的经处理的像素数据,且将经处理的像素数据组合成回写到存储器的存储器字。另一方面,如果经处理的数据对应于非像素数据,那么控制信号64可照此识别所述数据,且所述数据可作为非像素数据存储在存储器中。以此方式,存储器控制器60允许操纵存储器字中的若干不同图像的像素数据,但也支持存储和提取来自存储在存储器的共用数据结构中的存储器字的非像素数据的能力。
图7是说明根据本发明实施例的过程的流程图。将鉴于图2而描述图7。如图7中所展示,存储器22存储包含第一图像的第一像素数据和第二图像的第一像素数据的第一存储器字(70)。换句话说,存储器字包含两个或两个以上不同图像的像素数据。存储器22还存储包含第一图像的第二像素数据和第二图像的第二像素数据的第二存储器字(71)。因此,存储在存储器22中的连续存储器字可存储不同图像的邻接像素。
存储器控制器24从存储器22存取第一存储器字(例如,在存储器循环中)(72)。由控制器24进行的存储器存取可响应于(例如)从图像处理单元26传递的前端图像处理命令。存储器控制器24将第一图像的第一像素数据传递到第一图像处理模块(例如,模块28A),且将第二图像的第一像素数据传递到第二图像处理模块(例如,模块28B)(73)。模块28A和28B同时处理第一和第二图像的第一像素数据(74),并将经处理结果返回到存储器控制器24。存储器控制器24接着将第一和第二图像的第一像素数据的经处理版本存储在共用存储器字中(例如,在另一存储器循环中)(75)。所述经处理版本可存储在不同于原始存储器字的存储器字中,且此外,可将像素数据的经处理版本移动到存储器字的不同相应槽,使得对此些数据的随后处理将在图像处理模块28中的不同者中发生。
存储器控制器24接着从存储器22存取第二存储器字(例如,在另一存储器循环中)(76),且将第一图像的第二像素数据传递到第一图像处理模块(例如,模块28A),且将第二图像的第二像素数据传递到第二图像处理模块(例如,模块28B)(77)。以此方式,模块28A和28B接收同一图像的相继像素以用于图像处理。模块28A和28B同时处理第一和第二图像的第二像素数据(78),且将经处理结果返回到存储器控制器24。存储器控制器24接着将第一和第二图像的第二像素数据的经处理版本存储在共用存储器字中(例如,在另一存储器循环中)(79)。所述过程可针对存储在存储器22中的许多连续存储器字而继续,使得模块28A和28B可处理不同图像的所有像素。
尽管将图7陈述为流程图,但请注意,根据本发明的教示,存储器存取通常与任一图像处理并行地发生。这可确保存储器在读取/写入之间不存在闲置循环。因此,不应将图7的流程图视为要求循序地执行步骤。相反,可同时执行图7中所展示的步骤中的一者或一者以上。一般来说,每当图像处理模块使用循环来进行处理时,可执行同时的存储器存取以促进处理时间的高效使用。
在存储器循环期间,从存储器提取存储器字,将其分成其像素,且转发不同像素以供处理。在下一存储器循环期间,对像素的经处理版本进行组合,并将其存储回共用存储器字。所述过程通过循环历经存储在存储器中的循序存储器字、以像素提取和随后的回写而继续,直到已处理存储器字的所有像素为止。然而,此外,存储器存取通常与处理模块所执行的图像处理并行地发生。
每一图像的所有像素可存储在邻接存储器字中。以此方式,如果存储在存储器字中的给定图像需要处理,那么完整历经存储器字可确保给定模块接收到所述图像的所有像素。此外,由于若干图像的像素存储在存储器字中,所以完整历经存储器字可允许相对于不同图像并行地执行若干循序图像处理技术。
此外,根据本发明将图像数据布置在存储器字中可改进前端图像处理带宽效率,这对于实时VT应用来说尤其合乎需要。所描述的用于存储器控制器的结构尤其有助于从每一存储器字分离出像素数据,以便允许将不同图像的像素数据发送到不同图像处理模块以用于并行图像处理。另外,本文中所描述的存储器组织方案支持存储其它信息的能力,所述信息例如是由DSP执行的32位或64位指令,或用于其它应用程序的数据。举例来说,同一存储器可在不在前端图像处理中用于存储像素时用作图形缓冲器。同时,所描述的存储器控制器结构允许将相对较宽的存储器字分成较小单元,例如,从给定存储器字分离出若干图像的像素,使得前端图像处理模块可并行地处理若干图像的像素。以此方式,所描述的组织方案和控制器结构可加速前端图像处理,这对于实时VT应用来说尤其合乎需要;而仍能向存储器提供灵活性,使得其可用于其它目的,例如,当不执行前端视频处理时。
然而,可对本文中所描述的技术进行各种修改。举例来说,在一些情况下,存储器控制器可经配置以将同一像素数据发送到一个以上图像处理模块。而且,在2D空间滤波的一些情况下,图像处理模块中的一者或一者以上可接收若干行输入(例如,与邻接图像相关联的若干像素或图像的邻接像素),且可基于所述若干行输入而输出一行输出(在这种情况下,是经滤波的输出)。这些和其它实施例均在所附权利要求书的范围内。

Claims (30)

1.一种用于数据处理的方法,其包括:
将包含第一图像的第一像素数据和第二图像的第一像素数据的第一存储器字存储在存储器中;以及
将包含所述第一图像的第二像素数据和所述第二图像的第二像素数据的第二存储器字存储在所述存储器中。
2.根据权利要求1所述的方法,其进一步包括将包含第一图像的第三像素数据和所述第二图像的第三像素数据的第三存储器字存储在所述存储器中。
3.根据权利要求1所述的方法,其中所述第一存储器字进一步包含第三图像的第一像素数据,且其中所述第二存储器字进一步包含所述第三图像的第二像素数据。
4.根据权利要求1所述的方法,其中所述第一和第二存储器字包括所述存储器的连续行。
5.根据权利要求1所述的方法,其中所述第一和第二图像的邻接像素存储在所述存储器的连续行中,且所述第一和第二存储器字每一者包含来自多个图像的像素。
6.根据权利要求1所述的方法,其进一步包括:
在存储器存取循环中从所述存储器存取所述第一存储器字,以便同时检索所述第一图像的第一像素数据和所述第二图像的第一像素数据;
响应于在所述存储器存取循环中存取所述第一存储器字而将所述第一图像的所述第一像素数据传递到第一图像处理模块;以及
响应于在所述存储器存取循环中存取所述第一存储器字而将所述第二图像的所述第一像素数据传递到第二图像处理模块。
7.根据权利要求6所述的方法,其进一步包括:
在所述第一图像处理模块中处理所述第一图像的所述第一像素数据;以及
同时在所述第二图像处理模块中处理所述第二图像的所述第一像素数据。
8.根据权利要求7所述的方法,其进一步包括:
将所述第一图像的所述第一像素数据的经处理版本与所述第二图像的所述第一像素数据的经处理版本组合在共用存储器字中;以及
在不同存储器存取循环中,将所述共用存储器字存储回所述存储器。
9.根据权利要求1所述的方法,其进一步包括:
在存储器存取循环中,从所述存储器存取所述第一存储器字;
响应于在所述存储器存取循环中存取所述第一存储器字而将所述第一和第二图像的所述第一像素数据传递到图像处理模块;
在所述图像处理模块中处理所述第一和第二图像的所述第一像素数据;以及
在不同存储器存取循环中,将所述第一和第二图像的所述第一像素数据的经处理版本存储回所述存储器,其中所述第一和第二图像的所述第一像素数据的所述经处理版本存储在所述存储器的共用存储器字中。
10.根据权利要求1所述的方法,其进一步包括将非像素数据存储在所述存储器中。
11.根据权利要求1所述的方法,其中所述第一存储器字符合可由处理器执行的指令的宽度,所述方法进一步包括存储来自包含所述第一图像和所述第二图像的多个图像的第一像素数据,以便由像素数据封装整个宽度的所述第一存储器字。
12.一种用于数据处理的装置,其包括:
存储器,其包含第一存储器字和第二存储器字,所述第一存储器字包含第一图像的第一像素数据和第二图像的第一像素数据,所述第二存储器字包含所述第一图像的第二像素数据和所述第二图像的第二像素数据;以及
控制器,其在存储器存取循环中存取所述第一存储器字,以传递所述第一和第二图像的所述第一像素数据。
13.根据权利要求12所述的装置,其中所述存储器包含第三存储器字,所述第三存储器字包含第一图像的第三像素数据和所述第二图像的第三像素数据。
14.根据权利要求12所述的装置,其中所述第一存储器字进一步包含第三图像的第一像素数据,且其中所述第二存储器字进一步包含所述第三图像的第二像素数据。
15.根据权利要求12所述的装置,其中所述第一和第二存储器字包括所述存储器的连续行。
16.根据权利要求12所述的装置,其中所述第一和第二图像的邻接像素存储在所述存储器的邻接行中,且所述第一和第二存储器字每一者包含来自视频序列的多个图像的像素。
17.根据权利要求12所述的装置,其进一步包括:
第一图像处理模块;以及
第二图像处理模块,其中所述控制器响应于在所述存储器存取循环中存取所述第一存储器字而将所述第一图像的所述第一像素数据传递到所述第一图像处理模块,且所述控制器响应于在所述存储器存取循环中存取所述第一存储器字而将所述第二图像的所述第一像素数据传递到所述第二图像处理模块。
18.根据权利要求17所述的装置,进一步其中:
所述第一图像处理模块处理所述第一图像的所述第一像素数据;以及
所述第二图像处理模块同时处理所述第二图像的所述第一像素数据。
19.根据权利要求18所述的装置,进一步其中:
所述控制器将所述第一图像的所述第一像素数据的经处理版本与所述第二图像的所述第一像素数据的经处理版本组合在共用存储器字中;以及
所述控制器在不同存储器存取循环中将所述共用存储器字存储回所述存储器。
20.根据权利要求12所述的装置,其进一步包括图像处理模块,其中:
所述控制器响应于在所述存储器存取循环中存取所述第一存储器字而将所述第一和第二图像的所述第一像素数据传递到图像处理模块;
所述图像处理模块处理所述第一和第二图像的所述第一像素数据;以及
所述控制器在不同存储器存取循环中将所述第一和第二图像的所述第一像素数据的经处理版本存储回所述存储器中,其中所述第一和第二图像的所述第一像素数据的所述经处理版本存储在所述存储器的共用存储器字中。
21.根据权利要求12所述的装置,其中所述存储器进一步包含非像素数据。
22.一种用于数据处理的设备,其包括:
用于将包含第一图像的第一像素数据和第二图像的第一像素数据的第一存储器字存储在存储器中的装置;以及
用于将包含所述第一图像的第二像素数据和所述第二图像的第二像素数据的第二存储器字存储在所述存储器中的装置。
23.根据权利要求22所述的设备,其进一步包括用于将包含第一图像的第三像素数据和所述第二图像的第三像素数据的第三存储器字存储在所述存储器中的装置。
24.根据权利要求22所述的设备,其中所述第一存储器字进一步包含第三图像的第一像素数据,且其中所述第二存储器字进一步包含所述第三图像的第二像素数据。
25.根据权利要求22所述的设备,其中所述第一和第二存储器字包括所述存储器的连续行。
26.根据权利要求22所述的设备,其中所述第一和第二图像的邻接像素存储在所述存储器的连续行中,且所述第一和第二存储器字每一者包含来自多个图像的像素。
27.根据权利要求22所述的设备,其进一步包括:
用于在存储器存取循环中从所述存储器存取所述第一存储器字的装置,以便同时检索所述第一图像的第一像素数据和所述第二图像的第一像素数据;
用于响应于在所述存储器存取循环中存取所述第一存储器字而将所述第一图像的所述第一像素数据传递到第一图像处理模块的装置;以及
用于响应于在所述存储器存取循环中存取所述第一存储器字而将所述第二图像的所述第一像素数据传递到第二图像处理模块的装置。
28.根据权利要求27所述的设备,其进一步包括:
用于在所述第一图像处理模块中处理所述第一图像的所述第一像素数据的装置;以及
用于同时在所述第二图像处理模块中处理所述第二图像的所述第一像素数据的装置。
29.根据权利要求28所述的设备,其进一步包括:
用于将所述第一图像的所述第一像素数据的经处理版本与所述第二图像的所述第一像素数据的经处理版本组合在共用存储器字中的装置;以及
用于在不同存储器存取循环中,将所述共用存储器字存储回所述存储器的装置。
30.根据权利要求22所述的设备,其进一步包括:
用于在存储器存取循环中,从所述存储器存取所述第一存储器字的装置;
用于响应于在所述存储器存取循环中存取所述第一存储器字而将所述第一和第二图像的所述第一像素数据传递到图像处理模块的装置;
用于在所述图像处理模块中处理所述第一和第二图像的所述第一像素数据的装置;以及
用于在不同存储器存取循环中,将所述第一和第二图像的所述第一像素数据的经处理版本存储回所述存储器,其中所述第一和第二图像的所述第一像素数据的所述经处理版本存储在所述存储器的共用存储器字中的装置。
CN2007800018747A 2006-01-05 2007-01-05 用于图像和视频处理的存储器组织方案和控制器结构 Expired - Fee Related CN101443808B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/327,241 US8045021B2 (en) 2006-01-05 2006-01-05 Memory organizational scheme and controller architecture for image and video processing
US11/327,241 2006-01-05
PCT/US2007/060188 WO2007117722A2 (en) 2006-01-05 2007-01-05 Memory organizational scheme and controller architecture for image and video processing

Publications (2)

Publication Number Publication Date
CN101443808A CN101443808A (zh) 2009-05-27
CN101443808B true CN101443808B (zh) 2013-01-23

Family

ID=38223921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800018747A Expired - Fee Related CN101443808B (zh) 2006-01-05 2007-01-05 用于图像和视频处理的存储器组织方案和控制器结构

Country Status (6)

Country Link
US (1) US8045021B2 (zh)
EP (1) EP1992162B1 (zh)
JP (1) JP5139322B2 (zh)
KR (1) KR101232523B1 (zh)
CN (1) CN101443808B (zh)
WO (1) WO2007117722A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013011856A (ja) * 2011-06-01 2013-01-17 Canon Inc 撮像システムおよびその制御方法
CN102930501B (zh) * 2012-10-12 2014-12-10 四川虹微技术有限公司 一种控制dibr系统中图像存储的多口内存控制器
US9424490B2 (en) * 2014-06-27 2016-08-23 Microsoft Technology Licensing, Llc System and method for classifying pixels
CN104184963B (zh) * 2014-09-05 2017-10-13 无锡英斯特微电子有限公司 光电导航系统中高效资源利用的方法
CN106201363B (zh) * 2016-07-26 2023-01-31 四川大学 视频流像素级数据随机实时访问的存储器及存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083257A (en) * 1989-04-27 1992-01-21 Motorola, Inc. Bit plane partitioning for graphic displays
US5265172A (en) * 1989-10-13 1993-11-23 Texas Instruments Incorporated Method and apparatus for producing optical flow using multi-spectral images
US6675187B1 (en) * 1999-06-10 2004-01-06 Agere Systems Inc. Pipelined linear array of processor elements for performing matrix computations
US6778177B1 (en) * 1999-04-15 2004-08-17 Sp3D Chip Design Gmbh Method for rasterizing a graphics basic component

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541075A (en) 1982-06-30 1985-09-10 International Business Machines Corporation Random access memory having a second input/output port
EP0255280A3 (en) 1986-07-24 1990-10-24 Gec Avionics Limited Data storage
JPS63204595A (ja) 1987-02-20 1988-08-24 Fujitsu Ltd マルチプレ−ンビデオram構成方式
JP3317316B2 (ja) 1994-05-24 2002-08-26 富士写真フイルム株式会社 画像処理装置
US5585863A (en) 1995-04-07 1996-12-17 Eastman Kodak Company Memory organizing and addressing method for digital video images
EP0892972A1 (en) 1996-04-12 1999-01-27 Intergraph Corporation High-speed video frame buffer using single port memory chips where pixel intensity values for display regions are stored at consecutive addresses of memory blocks
JPH10334226A (ja) 1997-06-04 1998-12-18 Hitachi Ltd 画像データ記憶装置
JPH11205747A (ja) * 1998-01-20 1999-07-30 Victor Co Of Japan Ltd シャフリング回路およびデシャフリング回路
JP3959407B2 (ja) 2004-05-24 2007-08-15 株式会社日立製作所 画像処理装置及び画像処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5083257A (en) * 1989-04-27 1992-01-21 Motorola, Inc. Bit plane partitioning for graphic displays
US5265172A (en) * 1989-10-13 1993-11-23 Texas Instruments Incorporated Method and apparatus for producing optical flow using multi-spectral images
US6778177B1 (en) * 1999-04-15 2004-08-17 Sp3D Chip Design Gmbh Method for rasterizing a graphics basic component
US6675187B1 (en) * 1999-06-10 2004-01-06 Agere Systems Inc. Pipelined linear array of processor elements for performing matrix computations

Also Published As

Publication number Publication date
JP5139322B2 (ja) 2013-02-06
JP2009522698A (ja) 2009-06-11
WO2007117722A3 (en) 2008-12-18
KR20080092418A (ko) 2008-10-15
EP1992162B1 (en) 2018-07-18
KR101232523B1 (ko) 2013-02-12
US20070153095A1 (en) 2007-07-05
WO2007117722A2 (en) 2007-10-18
EP1992162A2 (en) 2008-11-19
US8045021B2 (en) 2011-10-25
CN101443808A (zh) 2009-05-27

Similar Documents

Publication Publication Date Title
US8218641B2 (en) Picture encoding using same-picture reference for pixel reconstruction
US7684491B2 (en) Reference data buffer for intra-prediction of digital video
CN101341757B (zh) 本地宏块信息缓冲器
JP2009544225A (ja) ビデオ圧縮用並列処理装置
US7536487B1 (en) Low power memory hierarchy for high performance video processor
JPH08237662A (ja) ビデオ・デコンプレッション・プロセッサのための画素内挿フィルタ
CN101385334A (zh) 图像捕捉设备和方法、记录设备和方法及再现设备和方法
US20060133512A1 (en) Video decoder and associated methods of operation
CN101443808B (zh) 用于图像和视频处理的存储器组织方案和控制器结构
CN103945225A (zh) 用于图像和视频处理的缩放器结构
US20060044165A1 (en) Variable length decoding device
US7813432B2 (en) Offset buffer for intra-prediction of digital video
US7929777B2 (en) Variable length decoding device, variable length decoding method and image capturing system
JP2008182527A (ja) 画像符号化装置及び方法、並びに撮像システム
FR2702862A1 (fr) Appareil et procédé de traitement de données d'image capables de traiter des données d'images à vitesse élevée.
CN102769753A (zh) H264编码器及编码方法
US7542612B2 (en) Signal processing method and signal processing device
US6097843A (en) Compression encoding apparatus, encoding method, decoding apparatus, and decoding method
US20080123744A1 (en) Tiled memory array for full search motion estimation
US7330595B2 (en) System and method for video data compression
JP4559785B2 (ja) 信号処理方法および信号処理装置
Chang et al. A Quality Scalable H. 264/AVC Baseline Intra Encoder for High Definition Video Applicaitons
CN114339249A (zh) 视频解码方法、可读介质及其电子设备
Zhang et al. A new implementation of the post-stage tasks of motion estimation timation using SIMD architecture
KR20000025300A (ko) 영상 부호화기의 프레임 메모리 클록 할당방법

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

Termination date: 20220105