CN1509475B - 存储设备、运动矢量检测器、和运动补偿预测编码器 - Google Patents

存储设备、运动矢量检测器、和运动补偿预测编码器 Download PDF

Info

Publication number
CN1509475B
CN1509475B CN038002795A CN03800279A CN1509475B CN 1509475 B CN1509475 B CN 1509475B CN 038002795 A CN038002795 A CN 038002795A CN 03800279 A CN03800279 A CN 03800279A CN 1509475 B CN1509475 B CN 1509475B
Authority
CN
China
Prior art keywords
unit
data
storage unit
storage
line
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
CN038002795A
Other languages
English (en)
Other versions
CN1509475A (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.)
Sony Corp
Original Assignee
Sony Corp
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
Priority claimed from JP2002004955A external-priority patent/JP4165070B2/ja
Priority claimed from JP2002052022A external-priority patent/JP4273695B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN1509475A publication Critical patent/CN1509475A/zh
Application granted granted Critical
Publication of CN1509475B publication Critical patent/CN1509475B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/14Word line organisation; Word line lay-out

Abstract

本发明涉及存储设备等。存储设备包括一个或多个存储块。存储块含有由以矩阵形式排列的多个存储单元(210)组成的存储单元阵列。多个存储单元(210)的区域包括沿着字线(WL)方向划分的多个分区(201a-201e)。字线(WL)的每一条含有与多个分区相对应划分的多条分选择线(WLa-WLe)。存储块含有转换在每个分区中同时激活的分字线(WL)的转换机构(220)。与每条分字线相关的多个存储单元(210)存储水平或垂直阵列的像素数据。新的存储设备能够同时访问构成具有任意结构的像素块的数项像素数据。

Description

存储设备、运动矢量检测器、和运动补偿预测编码器
技术领域
本发明涉及存储单元电路、存储设备、运动矢量检测器、和运动补偿预测编码器。
背景技术
关于顺序数据,人们往往更喜欢同时处理相对小区域内的数据。例如,在处理图像数据时,从目标像素和它周围像素的数项数据中生成要对目标像素进行处理的数据。在通过块匹配对运动矢量的运动估计(ME)中,根据在前一帧中在某一位置上具有预定维的给定像素块内的给定像素数据,作出在随后的帧中,在具有与上面像素块相同维的像素块内的像素数据的哪一个与上面给定像素数据最接近的估计。两个像素块的位置之间的位移被定义为运动矢量。
这里,从存储图像数据的存储器中同时读出在上面像素块内的数项像素数据,并且,还对每个像素同时进行相应像素数据项之间的差值的计算。这样的数据处理导致自然的、因此易理解的处理系统或算法的使用。
但是,传统上,诸如同步DRAM(动态随机访问存储器)之类的通用存储器用作存储图像数据的存储器,因此,高传送速率地从通用存储器中同时读出像素数据和将它们暂时累积在寄存器中,形成必要的抽头或必要的像素块。在这种情况下,当累积所有数据项时,不可避免地造成等待时间,这妨碍了图像数据的高速和有效处理。
在运动图形的传统数据处理中,使用了代表随时间位移的图像中一个对象的运动方向和幅值的运动矢量。为了高效编解码,这样的运动矢量用在图像的运动补偿预测编码中。
作为用于确定这个图像的运动幅值确定方法,日本专利公开第H7-222157号公开了根据输入图像数据形成具有不同分辨率的多个分层类的图像数据并使用所述多个分层类的图像数据确定输入图像的设定位置的运动矢量以减少运算量的方法。
在这种运动矢量确定方法中,首先根据诸如求平均和低通滤波之类的平均值分层,求输入图像数据(分层类1的图像数据)的平均值,生成像素个数减少了的图像数据(分层类2的图像数据)。接着,在分层类2的图像数据中确定粗运动矢量,然后,根据粗运动矢量,在分层类1的图像数据中确定细运动矢量,借此,利用减少了的计算量来确定运动矢量。
显而易见,分层类的个数不限于在如上所述的例子中的两个。通过依次重复平均值分层,可以像上面的情况那样确定运动矢量,进一步生成像素个数进一步减少的图像数据的分层类3和4。
在这种情况下,当可以独立地进行各个分层类的图像数据的读/写时,如果同一存储单元存储属于各个分层类的图像数据,那么,可以使效率提高。
发明内容
因此,本发明的一个目的是提供一种能够同时访问构成具有诸如长方形和十字形之类的任意结构的像素块的数项像素数据,和能够容易地改变像素块的位置,从而便于高速有效地对它们进行处理的存储设备等。
本发明的另一个目的是提供一种通过允许不同分层类的图像数据可以独立地被写入存储单元和从存储单元中读出,能够提高利用各个分层类的图像数据检测运动矢量的效率的运动矢量检测器,并提供一种用在这样的运动矢量检测器中的存储设备,和提供一种用在这样的存储设备中的存储单元电路。
根据本发明的存储设备是包括一个或多个存储块的存储设备,其中,每个存储块包括以矩阵形式排列的多个存储单元、和选择沿着矩阵的一个方向延伸的存储单元列的多条选择线,每行对应于一个存储单元列;其中,矩阵形式排列的多个存储单元的区域含有沿着矩阵的一个方向划分的多个分区;其中,多条选择线的每一条含有与多个分区相对应划分的多条分选择线;和其中,存储块还包括对在关联分区中同时激活的分选择线进行转换的转换机构。
从随时间位移的参考帧和搜索帧中检测运动矢量的根据本发明的新运动矢量检测器包括第1存储单元,用于存储构成参考帧的数项像素数据;第2存储单元,用于存储构成搜索帧的数项像素数据;运算单元,用于接收从第1存储单元中读出的参考块的像素数据和搜索块中多个候选块的像素数据,多个候选块的像素数据与参考块关联和是从第2存储单元中读出的,和用于相对于各侯选块计算多个候选块中的像素数据与和每个像素数据项对应的参考块的像素数据之间的差值;和运动矢量检测单元,用于根据与在运算单元中运算的各多个候选块关联的每个像素数据所计算的差值检测与参考块关联的运动矢量,其中,第1和第2存储单元的每一个包括一个或多个半导体存储块;其中,半导体存储块含有多条位线、与多条位线垂直相交的多条字线、和以矩阵形式排列并与位线和字线相连接的多个存储单元;其中,以矩阵形式排列的多个存储单元的区域含有沿着字线方向划分的多个分区;其中,多条选择线的每一条含有与多个分区相对应划分的多条分字线;和其中,半导体存储块还含有对在分区中同时被激活的分字线进行转换的转换机构。
并且,从随时间位移的参考帧和搜索帧中检测运动矢量的根据本发明的另一种运动矢量检测器包括第1存储单元,用于存储构成参考帧的数项像素数据;第2存储单元,用于接收从第1存储单元中读出的参考块的像素数据做为参考数据,和用于相对于各侯选块计算在与所述参考块关联的搜索区域中多个侯选块的像素数据和相应于像素数据项的参考块的数据像素之间的差值,和运动矢量检测单元,用于根据每个像素数据项相对于在第2存储单元中运算的每个侯选块的差值检测与所述参考块关联的运动矢量;其中,第1存储单元包括一个或多个第1半导体存储块,和第2存储块包括一个或多个第2半导体存储块;其中,第1半导体存储块含有多条位线、与多条位线垂直相交的多条字线、和以矩阵形式排列并与位线和字线相连接的多个存储单元;其中,以矩阵形式排列的多个存储单元的区域含有沿着字线方向划分的多个分区;其中,多条选择线的每一条含有与多个分区相对应划分的多条分字线;其中,第1半导体存储块还含有对在分区中同时被激活的分字线进行转换的转换机构;其中,第2半导体存储块含有多条位线;与多条位线垂直相交的多条字线;接收参考数据的参考数据输入线,参考数据输入线与位线垂直相交或沿着位线平行延伸;输出运算数据的运算数据输出线,运算数据输出线与多条位线垂直相交或沿着位线平行延伸;接收单元选择信号的单元选择线,单元选择线与多条字线垂直相交或沿着多条字线平行延伸;以矩阵形式排列的多个存储单元,这些单元与位线、字线、参考数据输入线、运算数据输出线和单元选择线相连接;和利用从多条运算数据输出线输出的至少一部分运算数据进行数字运算,以获得差值的辅助运算单元,其中,存储单元包括存储数据“1”或“0”的存储单元;接收参考数据的参考数据输入单元,参考数据输入单元与参考数据输入线相连接;利用存储在存储单元中的存储数据和从参考数据输入单元接收的参考数据进行逻辑运算的运算功能单元;把在运算功能单元中获得的运算数据输出到运算数据输出线的运算数据输出单元,运算数据输出单元与运算数据输出线相连接;接收单元选择信号的单元选择信号输入单元,单元选择信号输入单元与单元选择线相连接;和根据在单元选择信号输入单元中接收的单元选择信号,把通过运算功能单元中的运算获得的运算数据输出到运算数据输出单元的输出控制单元;其中,以矩阵形式排列的多个存储单元的区域含有沿着单元选择线方向划分的多个分区;其中,多条选择线的每一条含有与多个分区相对应划分的多条分单元选择线;和其中,第2半导体存储块还含有对在关联分区中同时被激活的分单元选择线进行转换的转换机构。
根据本发明的运动补偿预测编码器利用上述运动矢量检测器检测的运动矢量执行运动补偿。
在本发明中,存储设备包括一个或多个存储块。存储块含有由以矩阵形式排列的多个存储单元组成的存储单元阵列和选择各存储单元列的多条选择线,选择线被排列成与沿着存储单元阵列的矩阵的一个方向的存储单元列的每一个相对应。
例如,存储块包括多条位线、与多条位线垂直相交的多条字线和以矩阵形式排列的多个存储单元,这些单元与位线和字线相连接。上面多条选择线是字线和上述的矩阵一个方向是沿着字线的方向。
并且,存储块包括多条位线;与多条位线垂直相交的多条字线;接收参考数据的参考数据输入线,参考数据输入线与多条位线垂直相交或沿着多条位线平行延伸;输出运算数据的运算数据输出线,运算数据输出线与多条位线垂直相交或沿着多条位线平行延伸;接收单元选择信号的单元选择线,单元选择线与多条字线垂直相交或沿着多条字线平行延伸和以矩阵形式排列的多个存储单元,这些单元与位线、字线、参考数据输入线、运算数据输出线和单元选择线相连接;其中,存储单元包括存储数据“1”或“0”的存储单元;接收参考数据的参考数据输入单元,参考数据输入单元与参考数据输入线相连接;利用存储在存储单元中的存储数据和从参考数据输入单元接收的参考数据进行逻辑运算的运算功能单元;把在运算功能单元中获得的运算数据输出到运算数据输出线的运算数据输出单元,运算数据输出单元与运算数据输出线相连接;接收单元选择信号的单元选择信号输入单元,单元选择信号输入单元与单元选择线相连接;和根据在单元选择信号输入单元中接收的单元选择信号,把通过运算功能单元中的运算获得的运算数据输出到运算数据输出单元的输出控制单元;其中,多条选择线是多条单元选择线,和其中,矩阵的一个方向是沿着单元选择线的方向。
在这个例子中,在运算功能单元中对存储在存储单元中的存储数据和从参考数据输入单元接收参考数据进行逻辑运算,并且,在接收到输入给单元选择信号输入单元的单元选择信号的基础上,将最后运算数据从运算功能单元输出到运算数据输出单元。在辅助运算单元中,利用输出到存储单元的运算数据输出单元的运算数据进行数值计算,把最后运算数据输出到运算数据输出单元。
例如,在辅助运算单元的运算单元中利用通过数种逻辑运算获取的数项最后运算数据进行数值计算的同时,在存储单元的运算功能单元中平行地进行数种逻辑运算,
此外,例如,辅助运算单元可以包括,例如,第1辅助运算单元和第2辅助运算单元,使第1辅助运算单元利用通过存储单元的运算功能单元获取的运算数据进行第1数值计算,而第2辅助运算单元利用通过多个第1辅助运算单元的运算获取的数项运算数据进行第2数值计算。在本例中,如果第1数值计算是相减和第2数值计算是绝对值计算,那么,获得作为来自辅助运算单元的运算数据的差绝对值。
以矩阵形式排列的多个存储单元的区域含有沿着矩阵的方向划分的多个分区。多条选择线的每一条含有与多个分区相对应划分的多条分选择线。存储块含有对在分区中同时被激活的分选择线进行转换的转换机构。
利用这种方式,通过把选择线的每一条构造成含有多条分选择线,和通过提供对在分区中同时激活的分选择线进行转换的转换机构,可以在以矩阵形式排列的多个存储单元上对构成给定图像数据的像素数据进行适当定位,从而,允许同时访问构成具有诸如长方形或十字形的任意结构的像素块的像素数据,和容易地改变像素块的位置。
例如,可以以整多个像素为单位,沿着水平或垂直方向移动如上所述的像素块,和通过把构成给定图像数据的整多个水平或垂直阵列存储在与一条分单元选择线相关的多个存储单元中,将所述像素块在水平或垂直方向移动一个像素。
当如上所述的存储设备用于运动矢量检测器或运动补偿预测编码器的运动矢量检测电路时,运动矢量检测处理的效率和随之而来的速度得到极大提高。
本发明的存储单元电路配有存储数据“1”或“0”的存储单元、和将存储单元与位线并连的多个访问晶体管。
根据本发明,多个访问晶体管的栅极可以与不同字线连接。于是,存储单元的选择可以利用多条字线的任何一条来实现。
根据本发明的存储设备包括以矩阵形式排列和混合的第1存储单元和第2存储单元。第1存储单元分别与第1字线和第2字线相连接。第2存储单元只与第1字线相连接。第1字线沿着矩阵的列方向延伸,而第2字线以在矩阵的数行上延伸的阶梯形式提供。
根据本发明,以矩阵形式排列和混合第1存储单元和第2存储单元。由于第1存储单元与第1和第2字线相连接,对于,第2存储单元只与第1字线相连接。
第1字线被排列成沿着矩阵的列方向延伸。因此,第1字线可以有选择地激活列存储单元(第1存储单元和第2存储单元)。相反,第2字线被安排成以阶梯形式在矩阵的数行上延伸。因此,第2字线可以有选择地只激活在矩阵的数行上延伸的的第1存储单元。
因此,可以通过第2字线同时只激活在矩阵的数行上延伸的第1存储单元,以便进行存储数据的读/写。
注意,第2字线的阶梯形式以预定数量的元为单位沿着矩阵的列方向重复,从而,利用第2字线同时激活配备在以预定数量存储单元为单位沿着矩阵的列方向重复的数行上的第1存储单元。这使数据可以从存储单元中读出和写入存储单元中。
第2字线包括具有不同阶梯形式的多条共享第2字线,从而,使第2字线的每一条可以同时激活以不同阶梯形式排列在矩阵的数行上的第1存储单元。在这种情况下,如果分别与多条第2字线相连接的第1存储单元是不同存储单元,那么,第2字线的每一条可以激活分离的第1存储单元。
根据本发明的另一种运动矢量检测器包括图像分层装置,用于从输入图像数据中生成具有不同分辨率的多个分层类的图像数据;运动矢量检测装置,用于根据图像分层装置形成的多个分层类的图像数据,利用块匹配处理检测输入图像的预定位置的运动矢量;和作为存储单元的上述存储设备,用于存储多个分层类的图像数据,其中,把多个类的图像数据当中最低分层类的图像数据存储在第2存储单元中,和把除了最低类之外其它分层类的图像数据存储在第1存储单元中。
在本发明中,从输入图像数据中生成具有不同分辨率的多个分层类的图像数据,和在多个分层类的图像数据的基础上使用块匹配处理技术检测位置输入图像中的特定位置处的运动矢量。
将多个分层类的图像数据当中最低分层类图像数据存储在只与第1字线相连接的第2存储单元中。相反,将除了最低类之外其它分层类的图像数据存储在与第1和第2字线相连接的第1存储单元中。
于是,在多个分层类的图像数据当中,最低分层类图像数据可以通过第1字线激活第2存储单元来读/写。另一方面,除了最低类之外其它分层类的图像数据可以独立于所述最低类图像数据而通过第2字线激活第1存储单元来读/写。因此,可以有效地进行运动矢量检测处理。
在本发明中,共享具有不同阶梯形式的多条第2字线;与多条第2字线相连接的第1存储单元是不同存储单元;与多条第2字线相连接第1存储单元的每一个存储属于不同分层类的图像数据,从而,通过第2字线的每一条激活第1存储单元,和由此,使不同分层类的图像数据可以被读/写。
附图说明
图1是显示根据本发明的运动补偿预测编码器的配置的方块图;
图2是例示检测运动的块匹配方法的图形;
图3A和3B是每一个都例示应用于运动检测的块匹配方法的图形;
图4A-4C是每一个都例示应用于运动检测的块匹配方法的图形;
图5是例示应用于运动检测的块匹配方法的图形;
图6是显示运动矢量检测电路的配置的方块图;
图7是显示累积搜索帧的图像数据的帧存储器(搜索帧存储器)的配置的图形;
图8是例示复制构成搜索帧存储器的存储块当中的像素数据的图形;
图9是显示构成搜索帧存储器的存储块的布置的图形;
图10是显示构成搜索帧存储器的存储块的布置的图形;
图11是显示构成搜索帧存储器的另一种存储块的布置的图形;
图12是显示构成搜索帧存储器的另一种存储块的布置的图形;
图13是显示SRAM单元的配置的图形;
图14是显示DRAM单元的配置的图形;
图15是显示含有运算功能单元的存储单元的配置的图形;
图16是显示含有运算功能单元的另一种存储单元的配置的图形;
图17是显示含有运算功能单元的又一种存储单元的配置的图形;
图18是显示含有运算功能单元的再一种存储单元的配置的图形;
图19是显示进行相加和相减的辅助运算单元的配置的图形;
图20是显示计算差绝对值的辅助运算单元的配置的图形;
图21是显示计算差绝对值的辅助运算单元(对一个像素数据)的配置的图形;
图22A和22B是分别显示存储单元阵列内搜索帧的像素数据和存储位置的图形;
图23是显示对分单元选择线进行转换的转换机构的布置的图形;
图24A和24B是分别显示存储单元阵列内搜索帧的像素数据和存储位置的图形;
图25A和25B是分别显示存储单元阵列内搜索帧的像素数据和存储位置的图形;
图26A和26B是分别显示存储单元阵列内搜索帧的像素数据和存储位置的图形;
图27是显示转换分单元选择线的转换机构的另一种布置的图形;
图28是显示转换分单元选择线的转换机构的又一种布置的图形;
图29是显示累积参考帧的图像数据的帧存储器(参考帧存储器)的配置的图形;
图30是显示构成参考帧存储器的存储块的布置的图形;
图31是显示构成参考帧存储器的存储块的布置的图形;
图32A和32B是分别显示存储单元阵列内搜索帧的像素数据和存储位置的图形;
图33是显示转换分字线的转换机构的布置的图形;
图34是显示另一种运动矢量检测电路的配置的方块图;
图35A和35B是例示分层结构的图形;
图36A和36B是例示分层结构的图形;
图37是显示运动矢量检测的过程的流程图;
图38是显示又一种运动矢量检测电路的配置的方块图;
图39是显示评估计算电路的配置的方块图;
图40是显示再一种运动矢量检测电路的配置的方块图;
图41是显示存储块中一部分存储单元阵列的图形;
图42是显示第1存储单元的配置的图形;
图43是显示第2存储单元的配置的图形;和
图44是显示存储块的配置的图形。
实施本发明的最佳方式
图1显示了根据本发明一个实施例的运动补偿预测编码器100的配置。
编码器100包括接收图像数据(构成运动图像的帧数据)Di的输入端101、计算在输入端101上接收的图像数据Di与如后所述的运动补偿电路110提供的预测图像数据之间的差值的减法器102、对减法器101获得的差数据进行DCT(离散余弦变换)运算的DCT电路103、量化在DCT电路103中获得的DCT系数的量化电路104、和输出量化电路104获得的编码数据Do的输出端105。
编码器100还包括对在量化电路104中获得的编码数据Do进行逆量化的逆量化电路106、对逆量化电路106的输出数据进行逆DCT运算获得差数据的逆DCT电路107、将在逆DCT电路107中获得的差数据和在补偿电路110中获得的预测图像数据相加以恢复它的原来图像数据的加法器108、和存储在加法器108中恢复的图像数据的帧存储器109。
编码器100进一步包括读取存储在帧存储器108中的图像数据,根据从运动矢量检测电路111(如后详述)接收的运动矢量MV进行运动补偿运算,然后把预测图像数据提供给如上所述的减法器102和加法器108的运动补偿电路110、和检测在输入端101处接收的图像数据Di的运动矢量MV和把它提供给补偿电路110的运动矢量检测电路111。
现在参照图1描述运动补偿预测编码器100的操作。
把在输入端101处接收的图像数据Di提供给减法器102和运动矢量检测电路111。减法器102计算图像数据Di与由运动补偿电路110提供的预测图像数据之间的差值。
减法器102获得的差数据被提供给执行离散余弦变换的DCT电路103。DCT电路103获得的DCT系数被提供给量化电路104,以便对系数进行量化。量化电路104获得的编码数据Do被输出到输出端105。
把量化电路104获得的编码数据Do提供给逆量化电路106,以便对其进行逆量化。把这个逆量化电路106的输出数据提供给进行逆DCT的逆DCT电路107,以恢复差数据。差数据和由运动补偿电路110提供给预测数据由加法器108相加,以恢复原来图像数据,并且把恢复的图像数据存储在帧存储器109中。
运动补偿电路110读取存储在帧存储器109中的前一帧的图像数据,和根据从运动矢量检测电路111接收的运动矢量MV,进行运动补偿,以获得经过运动补偿的预测图像数据。如上所述,把预测图像数据提供给减法器102,以获得差数据,和提供给加法器108,以恢复图像数据。
下面,详细描述运动矢量检测电路111。
在运动矢量检测电路111中,利用块匹配方法检测运动矢量。根据该方法,如图2所示,通过移动预定搜索区内搜索帧的候选块,找出与搜索帧的参考块最佳匹配的候选块,以便获得运动矢量。
在块匹配方法中,例如,如图3A所示,给定一个在水平方向含有H个像素和在垂直方向含有V行的图像,把该图像分段成P个像素×Q行的块,其中,如图3B所示,P是一个块中水平像素的个数和Q是一个块中垂直像素的个数。在如图3B所示的例子中,P=5和Q=5。像素c是块的中心像素位置。
图4A-4C显示了中心像素位于像素位置c处的参考块和中心像素位于像素位置c′处的候选块之间的位置关系。请注意,中心像素位于像素位置c处的参考块是参考帧中的目标参考块,和搜索帧中与目标参考块匹配的候选块被定位在中心像素在像素位置c′上的位置处。在块匹配方法中,通过找出搜索区内与参考块最佳匹配的候选块来检测运动矢量。
在如图4A所示的例子中,检测用(+1,+1)表示的、与沿着水平方向移动了+1个像素和沿着垂直方向移动了+1行相对应的运动矢量。在图4B中,检测运动矢量(+3,+3)。在图4C中,检测运动矢量(+2,-1)。为参考帧的每个参考块获得一个运动矢量。
假设搜索运动矢量的区域通过沿着水平方向的±S个像素和沿着垂直方向的±T行给出,需要将参考块与相对于搜索块的中心c沿着水平方向偏移了±S个像素和沿着垂直方向偏移了±T行的具有中心c′的候选块相比较。
图5显示了当参考帧中参考块的中心c被设置在位置R处时,有必要将参考块与搜索帧中的(2S+1)(2T+1)个候选块相比较。也就是说,中心c′在图5的网格内的任何地方的所有候选块都可以是加以比较的候选者。图5显示了S=4和T=3的例子。
通过检测在搜索区中进行比较获得的评估值(例如,各个帧差的绝对值之和,各个帧差的平方之和,或帧差的各个绝对值的n次方之和)当中的最小评估值,检测运动矢量。如图5所示的搜索区是设置了候选块的中心的区域。可以包括所有这样的候选块的搜索区的维数是(2S+P)×(2T+Q)。
图6显示了运动矢量检测电路111的结构。
这个运动矢量检测电路111含有控制整个电路的操作的控制器121、接收图像数据Di的输入端122、累积参考帧的图像数据的帧存储器123、和累积搜索帧的图像数据的帧存储器124。控制器121控制这些帧存储器123和124的读/写操作。
当将某个帧的图像数据从输入端122提供给已经被写入的帧存储器123时,从帧存储器123中读出存储在帧存储器123中与前一帧关联的图像数据,并且将其提供给已经被写入的帧存储器124。
在控制器121的控制下,把来自帧存储器124的参考块的像素数据提供给帧存储器124。帧存储器124相对于与搜索区中与参考块相对应的多个候选块为每个像素数据计算候选块的各个像素数据与参考块的像素数据之间的差值,并且输出差绝对值。
运动矢量检测电路111含有累加器126,用于从帧存储器124接收与各个候选块关联的为每个像素数据计算的差绝对值和累积差绝对值;和关联表127,用于存储与多个候选块相对应的、由累加器126获得的累积差绝对值,作为关联值。
运动矢量检测电路111还含有判断电路128,用于根据与在关联表127中存储的各候选块对应的关联值,检测运动矢量MV;和输出端129,用于输出判断电路128检测的运动矢量MV。判断电路128检测含有最小关联值的候选块的位置,作为运动矢量MV。
参照图6,描述运动矢量检测电路111的操作。
把输入到输入端122的图像数据Di提供给对参考帧的图像数据进行累积的帧存储器123。在这种情况下,从帧存储器123中检索存储在帧存储器123中的前一帧图像数据,并且将其提供给作为搜索帧的图像数据加以累积的帧存储器124。
从帧存储器123中读出参考块的图像数据,并且将其提供给帧存储器124。在帧存储器124中,相对于也和搜索区中参考块对应的各侯选块,为像素数据的每一项计算和输出候选块的像素数据和参考块的像素数据之间的差绝对值。如果在这种情况下,参考块和候选块由P个像素和Q行组成(参见图3B),由此,可以得到用于所述多个侯选块中每一个的PxQ个差绝对值。
因此,从帧存储器124输出相对于各侯选块为每个像素数据项所计算的差绝对值,并且将其依次提供给累加器126和累积在累加器126中。在累加器126中累积的与各侯选块相关的累积值被提供给关联表127,并且作为关联值被存储。在判断电路128中,根据存储在关联表127中的多个候选块的每一个的关联值,检测具有最小关联值的候选块的位置,作为运动矢量MV。
将参考帧中多个参考块的图像数据按顺序从帧存储器123提供给帧存储器124。在帧存储器124、加法器126、关联表127、和判断电路128中对各个参考块重复相似的操作。因此,在判断电路128中,按顺序为参考块的每一个检测运动矢量MV。利用这种方式,从输出端129依次输出在判断电路128中检测的运动矢量MV。
下面,详细描述帧存储器124。
在如图7所示的例子中,帧存储器124包括4个存储块125a-125d。但是,构成帧存储器124的存储块的个数不限于4个。存储块125a-125d的每一个包括数据输入单元、数据输出单元、参考数据输入单元、和运算数据输出单元。存储块125a、125b、125c、和125d分别存储搜索帧的左上部分、右上部分、左下部分、和右下部分的像素数据。
当预定候选块的中心像素的范围处在搜索帧的左上部分、右上部分、左下部分、和右下部分的任何一个中时,它只足以激活相应的存储块125a、125b、125c、和125d,从而抑制了功耗。
在这种情况下,将靠近搜索帧左上、右上、左下和右下边界部分的边界处的像素数据项以副本的形式存储在对应的存储块125a-125d中。以副本形式将像素数据项存储在存储块125a-125d中的理由是因为中心像素位于边缘附近的候选块需要边缘之外的像素数据。
图8显示了分别存储在存储块125a、125b、125c、和125d中的搜索帧的左上、右上、左下和右下部分Fa、Fb、Fc、和Fd。存储块125a和125b存储水平重叠的像素数据ha和hb;存储块125c和125d存储水平重叠的像素数据hc和hd;存储块125a和125c存储垂直重叠的像素数据va和vc;和存储块125b和125d存储垂直重叠的像素数据vb和vd。在水平和垂直方向重叠的像素的个数随候选块的水平和垂直维数增加而增加。
图9显示了存储块125(代表存储块125a-125d的任何一个)的配置。
存储块125含有以矩阵形式排列的多个存储单元的存储单元阵列131、输入和输出存储数据的输入/输出端口132(包括列地址解码器)、用于存储数据的行地址解码器133、输入参考数据的输入端口和辅助运算单元134(包括列地址解码器)、和用于参考数据的行地址解码器135。
存储单元阵列131包括沿着行方向延伸的传送数据的多条位线BL和/BL(/BL代表带上划线的BL)、沿着列方向延伸和与多条位线BL和/BL垂直相交的多条字线WL、用于输入参考数据的、与多条位线BL和/BL平行延伸的参考数据输入线RDL和/RDL(/RDL代表带上划线的RDL)、用于输出运算数据的、与多条位线BL和/BL平行延伸的运算数据输出线DAL和/DBL、用于输入单元选择信号的、与字线WL平行延伸的单元选择线WLF、和以矩阵形式排列并与各条位线BL和/BL、字线WL、参考数据输入线RDL和/RDL、运算数据输出线DAL和/DBL和单元选择线WLF相连接的多个存储单元140。
图10示出了图9所示除存储单元阵列131以外的存储块125的细节。
用于存储数据的列地址解码器132a、地址缓冲器132b和I/O缓冲器132c构成如图9所示的输入和输出存储数据的输入/输出端口132。列地址解码器132a包括I/O选通门(列开关)和读出放大器。列地址解码器132a经过地址缓冲器132b接收列地址。
列地址解码器132a响应经过地址缓冲器132b提供的列地址的每一个,使多条位线BL和/BL与位于存储单元阵列131的列方向的预定数量的存储单元140保持连接,使存储数据能够通过I/O缓冲器132c和列地址解码器132a沿着列方向被写入预定存储单元中和从预定存储单元中读出。
用于存储数据的行地址解码器133经过地址缓冲器133a接收行地址。行地址解码器133响应经过地址缓冲器133a提供的行地址,激活与存储单元阵列131的预定行方向存储单元140相连接的字线,使存储数据能够经过I/O缓冲器132c和列地址解码器132a被写入预定行方向存储单元140中和从预定行方向存储单元140中读出。
用于参考数据的列地址解码器134a、地址缓冲器134b、I/O缓冲器134c和辅助运算单元134d构成如图9所示的输入参考数据的输入端口和辅助运算单元134。列地址解码器132a包括I/O选通门(列开关)和读出放大器。列地址解码器132a经过地址缓冲器132b接收列地址。
列地址解码器134a响应经过地址缓冲器134b提供的列地址的每一个,使多条运算数据输出线DAL和DBL和多条参考数据输入线RDL和/RDL与预定数量的存储单元阵列131的列存储单元140保持连接。这使得参考数据能够被预定数量的列存储单元140所接收,和使运算数据能够经过I/O缓冲器134c和列地址解码器134a从预定数量的列存储单元140提供给辅助运算单元134d。
用于参考数据的行地址解码器135经过地址缓冲器135a接收行地址。行地址解码器135响应经过地址缓冲器135a提供的行地址,将单元选择信号提供给与存储单元阵列131的预定行方向存储单元140相连接的单元选择线WLF,以激活单元选择线WLF。因此,可以经过I/O缓冲器134c和列地址解码器134a把参考数据输入预定的行方向存储单元140中,并且,可以经过列地址解码器134a和I/O缓冲器134c将运算数据从预定行方向存储单元140提供到辅助运算单元134d。
控制电路136根据控制输入,控制如上所述的存储块125的各个电路的操作。正如后面所详述的那样,存储单元阵列131中以矩阵形式排列的多个存储单元140的区域含有沿着单元选择线WLF的方向划分的多个分区,和多条单元选择线WLF的每一条由与各个分区相关的多条分单元选择线组成。存储单元阵列131包括用于对在每个分区中被同时激活的分单元线进行转换的转换机构。控制电路136还控制所述转换机构。
图11显示了本发明的另一种存储块125(125a-125d)的结构。如图11和9所示的相似部件用相同的标号表示。图11所示存储块125的结构与如图9所示的存储块125的结构的不同之处在于,参考数据输入线RDL和/RDL、运算数据输出线DAL和DBL、和单元选择线WLF与如图9所示的存储块的那些线相比,具有不同的方向。
存储块125包括含有以矩阵形式排列的多个存储单元的存储单元阵列131、用于输入和输出存储数据的输入/输出端口132(包括列地址解码器)、用于存储数据的行地址解码器133、用于输入参考数据的输入端口和辅助运算单元134(包括列地址解码器)和用于参考数据的行地址解码器135。
存储单元阵列131包括沿着它的行方向延伸并用于传送数据的多条位线BL和/BL、沿着列方向延伸和与多条位线BL和/BL垂直相交的多条字线WL、与多条位线BL和/BL垂直相交并用于输入参考数据的参数数据输入线RDL和/RDL、与多条位线BL和/BL垂直相交并用于输出运算数据的运算数据输出线DAL和/DBL、与字线WL垂直相交并用于输入单元选择信号的单元选择线WLF、和以矩阵形式排列和分别与位线BL和/BL、字线WL、参考数据输入线RDL和/RDL、运算数据输出线DAL和/DBL、和单元选择线WLF相连接的多个存储单元140。
图12详细示出了如图11所示的存储块125除了存储单元阵列131之外的部分。图12和10的相似部件用相同的标号表示。
用于存储数据的列地址解码器132a、地址缓冲器132b、和I/O缓冲器132c构成如图11所示的用于输入和输出存储数据的输入/输出端口132。列地址解码器132a包括I/O选通门(列开关)和读出放大器。列地址解码器132a经过地址缓冲器132b接收列地址。
列地址解码器132a响应经过地址缓冲器132b提供的列地址的每一个,使多条位线BL和/BL与存储单元阵列131的预定数量的列存储单元140保持连接,使存储数据能够经过I/O缓冲器132c和列地址解码器132a,被写入预定列存储单元中和从预定列存储单元中读出。
行地址解码器133经过地址缓冲器133a接收行地址。行地址解码器133响应经过地址缓冲器133a提供的行地址,激活与存储单元阵列131的预定行方向存储单元140相连接的字线,使存储数据能够经过I/O缓冲器132c和列地址解码器132a被写入预定行方向存储单元140中和从预定行方向存储单元140中读出。
用于参考数据的列地址解码器134a、地址缓冲器134b、I/O缓冲器134c、和辅助运算单元134d构成如图11所示的输入参考数据的输入端口和辅助运算单元134。列地址解码器132a包括I/O选通门(列开关)和读出放大器。列地址解码器132a经过地址缓冲器132b接收列地址。
列地址解码器134a响应经过地址缓冲器134b提供的列地址的每一个,使多条运算数据输出线DAL和DBL和多条参考数据输入线RDL和/RDL与存储单元阵列131的预定多个行方向存储单元140保持连接。这使参考数据能够被预定多个行方向存储单元140接收,和使运算数据能够经过I/O缓冲器134c和列地址解码器134a从预定多个行方向存储单元140提供给辅助运算单元134d。
用于参考数据的行地址解码器135经过地址缓冲器135a接收行地址。行地址解码器135响应通过地址缓冲器135a提供的行地址的每一个,将单元选择信号提供给与存储单元阵列131的预定列存储单元140相连接的单元选择线WLF,以激活单元选择线WLF。因此,可以经过I/O缓冲器134c和列地址解码器134a把参考数据输入到预定列存储单元140中,并且,可以经过列地址解码器134a和I/O缓冲器134c将运算数据从预定列存储单元140提供给辅助运算单元134d。
此外,控制电路136根据控制输入,控制如上所述的存储块125的各个电路的操作。正如后面所详述的那样,存储单元阵列131中以矩阵形式排列的多个存储单元140的区域含有沿着单元选择线WLF的方向划分的多个分区,和多条单元选择线WLF的每一条由与多个分区的每一个相关的多条分单元选择线组成。存储单元阵列131包括用于对在各个分区中同时激活的分单元选择线进行转换的转换机构。控制电路136还控制转换机构。
下面将描述存储单元140。
首先,描述众所周知的SRAM(静态随机访问存储器)单元和众所周知的DRAM(动态随机访问存储器)单元。
图13示出了示范性SRAM单元的结构。p-型MOS(金属氧化物半导体)晶体管Q1(代表负载)和n-型MOS晶体管Q3串联在电源和地之间,形成CMOS(互补金属氧化物半导体)反相器11,和p-型MOS晶体管Q2(代表负载)和n-型MOS晶体管Q4串联在电源和地之间,形成CMOS反相器12。这些CMOS反相器11和12的输出,即,存储节点N1和N2的电位分别用作CMOS反相器12和11的输入,即分别用作n-型MOS晶体管Q4和Q3的栅极输入。
CMOS反相器11的存储节点N1通过其栅极与字线WL相连接的访问晶体管Q5与位线BL相连接。另一方面,CMOS反相器12的存储节点N2通过其栅极与字线WL相连接的访问晶体管Q6与位线/BL相连接。
在具有这里所示结构的SRAM单元中,“1”或“0”的数据存储在由成对CMOS反相器11和12组成的存储单元13中。
通过访问晶体管Q5和Q6在这个存储单元13和位线BL和/BL之间进行读和写的数据传输。
图14显示了示范性DRAM单元的结构。电容器C1和C2相互串联,并且把电压Vcc/2(Vcc是电源电压)提供给电容器C1和C2的中点P。电容器C1与点P相对的一端被定义为存储节点N1,这个节点通过其栅极与字线WL相连接的访问晶体管Q7与位线BL相连接。
电容器C2与点P相对的一端被定义为存储节点N2,存储节点N2经过其栅极与字线WL相连接的访问晶体管Q8与位线/BL相连接。
在具有这里所示结构的DRAM单元中,数据“1”或“0”被存储在由成对CMOS电容器C1和C2组成的存储单元14中。通过访问晶体管Q7和Q8在这个存储单元14和位线BL和/BL之间进行读和写的数据传输。
图15显示了根据本发明这个实施例的存储单元的结构。
存储单元141的存储节点N1通过其栅极与字线WL相连接的访问晶体管Q11与位线BL相连接。另一方面,存储单元141的存储节点N2通过其栅极与字线WL相连接的访问晶体管Q12与位线/BL相连接。
应当理解,如果存储单元140是基于SRAM单元的那一种,那么,它的存储单元141被结构成如图13所示的SRAM单元的存储单元13,和如果存储单元140是基于DRAM单元的那一种,那么,它的存储单元141被结构成如图14所示的DRAM单元的存储单元14。
在这种情况下,数据“1”或“0”被存储在存储单元141中。经过访问晶体管Q11和Q12在这个存储单元14和位线BL和/BL之间进行读和写的数据传输。也就是说,以与结合如图13和14所示的存储单元所述相同的方式进行存储数据从存储单元141的读出和存储数据到存储单元141的写入。
其栅极分别与存储单元141的存储节点N1和N2相连接的n-型MOS晶体管Q13和Q14的漏极相互连接。MOS晶体管Q13的源极与被提供有参考数据RD的输入端142a相连接,和MOS晶体管Q14的源极接地。其栅极分别与存储单元141的存储节点N1和N2相连接的n-型MOS晶体管Q15和Q16的漏极相互连接。MOS晶体管Q15的源极与输入端142a相连接,和MOS晶体管Q16的源极与被提供有参考数据/RD(/RD代表带上划线的RD,表示RD的反相)的输入端142b相连接。
输入端142a与被用于提供参考数据RD的上述参考数据输入线RDL相连接。另一方面,输入端142b与被用于提供参考数据/RD的上述参考数据输入线/RDL相连接。
MOS晶体管Q13-Q18构成对存储在存储单元141中的存储数据和参考数据RD进行异或非(ExNOR)运算和逻辑乘(AND)运算的运算功能单元。在MOS晶体管Q15和Q16的节点Pa处提供ExNOR运算的输出,和在MOS晶体管Q13和Q14的节点Pb处提供AND运算的输出。
n-型MOS晶体管Q17的漏极与MOS晶体管Q15和Q16的节点Pa相连接,和MOS晶体管Q17的源极与输出运算数据DA的输出端143相连接。n-型MOS晶体管Q18的漏极与MOS晶体管Q13和Q14的节点Pb相连接,和MOS晶体管Q18的源极与输出运算数据DB的输出端144相连接。MOS晶体管Q17和Q18的栅极与把单元选择信号CS提供给它的输入端145相连接。
输出端143与被提供了运算数据DA的上述运算数据输出线DAL相连接。另一方面,输出端144与被提供了运算数据DB的上述运算数据输出线DBL相连接。输入端145与被提供了单元选择信号CS的上述单元选择线WLF相连接。
请注意,MOS晶体管Q17和Q18构成作为输出控制单元的传输门,并且,当把“1”的单元选择信号提供给输入端145时,该传输门变成导通的。在这种情况下,在节点Pa处提供的ExNOR运算的输出经过MOS晶体管Q17传送给输出端143,作为运算数据DA。类似地,在节点Pb处提供的AND运算的输出经过MOS晶体管Q18传送给输出端144,作为运算数据DB。
因此,可以与存储数据的读/写无关地,也就是说,可以在不影响存储数据的情况下对存储在存储单元141中的存储数据和参考数据RD进行运算并输出运算数据DA和DB。
尽管如图15所示的存储单元被描述成构成存储单元块125的存储单元140,但是,具有相似运算功能单元的任何其它存储单元也可替代地用作相同目的。图16-18显示了其它可替代存储单元。在这些图16-18中,与图15的相似部件相对应的部件用相同的标号表示。也可以具有其它配置。
图27显示了另一种转换机构的配置。转换机构180A是与各个分区131a-131e相关配备的。图27只显示了分区131b和131c。
这些转换机构180A需要与单元选择线WLF(由分单元选择线WLFa-WLFe组成)平行的位置的、用于输入单元选择信号的全局选择线/GWL(/GWL表示带上划线的GWL,用于输入单元选择信号“0”)。
转换机构180A的每一个包括NOR门和OR门。具体地说,沿着行方向在任一奇数行中的每一个转换机构都含有其输入端与全局选择线/GWL相连接、其输出端与关联分单元选择线相连接的NOR门NG,而沿着行方向在任何偶数行中的每一个转换机构都含有其输入端与全局选择线GWL相连接、其输出端与关联分单元选择线相连接的OR门OG。通过它们的输入端将转换控制信号/φ(/φ表示带上划线的φ,表示转换控制信号φ的反相)提供给NOR门NG和OR门OG。将控制信号/φ独立地提供给与各个分区131a-131e相关提供的转换机构180A。
现在描述利用转换机构180A对各个分区131a-131e中的单元选择线进行的选择操作。
在如图27所示的例子中,假设在分区131b中选择第2行的分单元选择线WLFb,和在分区131c中选择第1行的分单元选择线WLFc。
在这种情况下,把单元选择信号“0”分别提供给第1和第2行的全局选择线/GWLi和/GWLi+1。把“1”的转换控制信号/φj提供给分区131b的转换机构180A。这使第2行的OR门OG在它的输出端输出“1”,激活第2行的分单元选择线WLFb。
另一方面,把“0”的转换控制信号/φj提供给分区131c的转换机构180A。这使第1行的NOR门NG在它的输出端输出“1”,激活第1行的分单元选择线WLFc。
因此,当存储单元阵列131的各个分区131a-131e配有如上所述的转换机构180A时,可以以与在利用相邻分区131a-131e之间的转换机构180的前例中相同的方式,在各个分区131a-131e中同时激活分单元选择线,从而允许同时选择用于存储与每个位相关的构成任一侯选块的全部数据的多个存储单元140。
根据这种利用转换机构180A的配置,由于在单元选择信号传输线上没有i=0,1,...,n-1。
第0位数据是LSB(最低有效位),和第(n-1)位数据是MSB(最高有效位)。
从图19可以看出,n-型MOS晶体管Q31和Q32的漏极相互连接。n-型MOS晶体管Q33和Q34的漏极也相互连接。MOS晶体管Q34的源极接地。被作为运算数据Dai而提供有来自相应存储单元140的运算数据DA(输出ExNOR)的输入端151经过相互串联的反相器IN1和IN2连接到MOS晶体管Q32和Q34的各自栅极上。被提供有作为运算数据Dai的来自相应存储单元140的运算数据DA(输出ExNOR)的输入端151经过相互串联的反相器IN1和IN2与MOS晶体管Q32和Q34的各个栅极串联。反相器IN1和IN2的节点与MOS晶体管Q31和Q32的栅极连接。
被提供有来自其低阶的进位输出/Ci(/Ci-1代表带上划线的Ci-1,表示进位输出Ci-1的反相)的输入端152被连接到MOS晶体管Q32的源极并经过反相器IN3连接到MOS晶体管Q31和Q33各自的源极。
将来自相应存储单元140的运算数据DB(输出AND)作为运算数据DBi提供给它的输入端153与NOR门154的输入端相连接。MOS晶体管Q33和Q34的节点与NOR门154的输入端相连接。这个NOR门154的输出端与用于将进位输出/Ci(/Ci代表带上划线的Ci,表示进位输出Ci的反相)输出到它的较高阶的输出端相连接。MOS晶体管Q31和Q32的节点经过反相器IN4与用于输出运算数据Si的输出端156相连接。
这里请注意,与侯选块给定像素数据(n位)对应的n个辅助运算单元150获得通过从所述侯选块的像素数据中减去相关参考块的像素数据而给出的相减值输出。也就是说,当用Xi和Yi(i=0,1,...,n-1)分别表示候选块的给定像素数据和相应参考块的像素数据时,通过提供如上所述的存储单元140作为参考数据RD的/Yi(/Yi代表带上划线的Yi,表示数据Yi的反相),和通过设置C-1=1,根据如下公式(1)和(2)分别获得运算输出Si和进位输出Ci:
Si = Xi ⊕ Yi ‾ ⊕ Ci - 1 . . . ( 1 )
Ci = Xi · Yi ‾ + ( Xi ⊕ Yi ‾ ) · Ci - 1 . . . ( 2 )
其中,在各个运算符号中,表示异或(exclusive OR)运算,“·”表示与(AND)运算,和“+”表示或(OR)运算。
这个相减值输出是以进位输出Cn-1设有正号或负号的偏置二进制格式获得的。
尽管在如上所述的实施例中使用了相减值输出,但是,也可以通过提供Yi作为存储单元140的参考数据RD,和通过设置C-1=0,根据如下公式(3)和(4)获得运算输出Si和进位输出Ci,作为相加值输出:
Si = Xi ⊕ Yi ⊕ Ci - 1 . . . ( 3 )
Ci = Xi · Yi + ( Xi ⊕ Yi ) · Ci - 1 . . . ( 4 )
其中,在各个运算符号中,表示异或运算,“·”表示与运算,和“+”表示或运算。
下面,描述辅助运算单元170。
在存储块125的辅助运算单元134d中,为n个辅助运算单元150的每一个配备辅助运算单元170,以获得如上所述,通过从相应候选块的像素数据中减去参考块的像素数据给出的相减值输出。也就是说,在辅助运算单元134d中配备了个数与构成候选块的像素数据的个数相同的m个辅助运算单元170。图20显示了m个辅助运算单元170的第k辅助运算单元(k=0,1,...,和m-1)。
从图20可看出,被提供有n个辅助运算单元150的各个运算输出Si(i=0,1,...,n-1)的输入端1710、1711、....、和171n-1与分别异或(ExOR)门1720、172、....、和172n-1的各个输入端相连接。
被提供有第(n-1)辅助运算单元150的进位输出/Cn-1的输入端173与ExOR门1720、1721、....、和172n-1共接。这些ExOR门1720、1721、....、和172n-1的输出端与n-位全加器174的各个输入端a0、a1、...、和an-1相连接。
n-位全加器174的输入端b0与上述输入端173相连接,和n-位全加器174的输入端b1、b2、...和bn-1接地。n-位全加器174的输出端o0、o1、..和bon-1分别与输出差绝对值Dk(Dk0-Dkn-1)的输出端1750、1751、....、和175n-1相连接。
在如图20所示的辅助运算单元170中,当Cn-1等于1和运算输出Si(i=0,1,...,n-1)指出正值时,差绝对值Dk(k=0,1,...,n-1)分别变成Si(i=0,1,...,n-1)。另一方面,当Cn-1等于0和运算输出Si(i=0,1,...,n-1)指出负值时,通过ExOR门1720、1721,....、和172n-1使运算输出Si(i=0,1,...,n-1)的所有位反相。随后,n-位全加器174使LSB加1,以计算运算输出Si(i=0,1,...,n-1)的绝对值,这样就得到了差绝对值Dk(k=0,1,...,n-1)。
图21示出了辅助运算单元134d中用于获得与构成一个侯选块的第k个像素数据相关的差绝对值Dk(i=0,1...,n-1)的部分,该单元包括n个辅助运算单元150和一个辅助运算单元170。在辅助运算单元134d中,存在其个数与构成候选块的像素数据的个数相同的、如图21所示的m个系统。
如上所述,在辅助运算单元134d中,通过响应提供给地址缓冲器135a的行地址的每一个和提供给地址缓冲器134b的列地址的每一个,从以矩阵形式排列的多个存储单元140中同时选择为每一位存储构成候选块的m个像素数据的m×n个存储单元140,可以同时和并行进行相减和差绝对值运算。
在下文中,将描述能够同时选择用于存储与每个位相关的构成一个候选块的m像素数据的mxn个存储单元的配置。
图22A示意性地例示了存储在构成搜索帧存储器124的一个存储块125中的像素数据。为了简单起见,假设一个存储块125存储在水平方向由15个像素组成和在垂直方向由10行组成的像素数据,每个像素数据是1-位数据。
图22B显示了存储单元阵列131中像素数据的各自存储位置。在这里所示的例子中,正方网格的每一个代表存储单元140。存储单元阵列131含有沿着参考数据的列方向(这个列方向与图10的存储块125中存储数据的列方向相同,并且与图12的存储块125中存储数据的行方向相同)排成一线的50个存储单元140。请注意,存储单元阵列131中的多个存储单元140沿着列方向被划分成5个分区131a-131e。
在这里所示的例子中,在分区131a中连续的第1、第2和第3行的10个存储单元中分别存储一个垂直列的像素数据“00”-“90”、“05”-“95”、和“0a”-“9a”。类似地,在分区131b中连续的第1、第2、和第3行的10个存储单元分别存储一个垂直列的像素数据“01”-“91”、“06”-“96”、和“0b”-“9b”。在分区131c中连续的第1、第2、和第3行的10个存储单元分别存储一个垂直列的像素数据“02”-“92”、“07”-“97”、和“0c”-“9c”。
利用相同的方式,在分区131d中连续的第1、第2、和第3行的10个存储单元分别存储一个垂直列的像素数据“03”-“93”、“08”-“98”、和“0d”-“9d”。另外,在分区131e中连续的第1、第2、和第3行的10个存储单元分别存储一个垂直列的像素数据“04”-“94”、“09”-“99”、和“0e”-“9e”。
如上所述的多条单元选择线WLF(参见图9和11)分别由与分区131a-131e相对应划分的5条分单元选择线WLFa-WLFe(在图22B中未示出)组成。存储单元阵列131配有对在各个分区131a-131e内可同时激活的分单元选择线进行转换的转换机构。例如,如图22B所示,多个转换机构180配备在两个相邻分区131a-131e的每一对之间。
图23显示了示范性转换机构180的另一种配置。转换机构180的每一个包括由与p-型MOS晶体管并联的n-型MOS晶体管组成的CMOS传输门组成。这个转换机构180含有位于属于同一行的两条相邻分单元选择线之间连接它们的传输门TG1和位于属于相邻行的两条相邻分单元选择线之间连接它们的传输门TG2。
把转换控制信号φ提供给传输门TG1的n-型MOS晶体管的栅极和传输门TG2的p-型MOS晶体管的栅极。把转换控制信号/φ(/φ代表带上划线的φ,意味着转换控制信号φ的反相)提供给传输门TG1的p-型MOS晶体管的栅极和传输门TG2的n-型MOS晶体管的栅极。把控制信号φ和/φ独立地提供给安排在两个相邻分区131a-131e之间的这些转换机构。
现在描述转换机构180的操作。当φ=1和/φ=0时,传输门TG1变成导通,连接同一行的分单元选择线。另一方面,当φ=0和/φ=1时,传输门TG2变成导通的,连接相邻行的分单元选择线。
由于这样的转换机构180配备在如上所述的存储单元阵列131的任何两个相邻分区131a-131e之间,可以同时选择为每一位存储构成任意候选块的所有像素数据的多个存储单元140。
例如,对于在图22A中加阴影线的候选块,利用转换机构180,可以把“1”的单元选择信号从用于参考数据的行地址解码器135(参见图10和12)提供到用虚线表示的、在图22B中连接起来的各个分区131a-131e的分单元选择线WLFa-WLFe,激活分单元选择线,从而,通过用于参考数据的列地址解码器134a(参见图10和22)的I/O门(列开关)选择在图22B中加阴影线的存储单元140。
举另一个例子,对于在图24A中加阴影线的候选块,使用转换机构180,并且,通过用于参考数据的列地址解码器134a的I/O选通门(列开关)选择在图24B中加阴影线的存储单元140,可以把“1”的单元选择信号从用于参考数据的行地址解码器135提供到用虚线表示的、在图24B中连接起来的各个分区131a-131e的分单元选择线WLFa-WLFe,激活分单元选择线。
利用这种方式,通过由I/O选通门(列开关)适当地选择存储单元140,可以处理具有诸如长方形或十字形之类的任意形状的任何候选块。注意,由于构成图像数据的一个垂直列的像素数据存储在与一条分单元选择线相关的多个存储单元140中,通过与I/O选通门(列开关)协作的转换机构180可以沿着水平和/或垂直方向以一个像素为单位移动候选块。
不言而喻,尽管在上面的描述中为了简便起见,假设每个像素数据含有一个位,但是,有必要提供n个存储单元140,以便存储所有像素数据,从而,例如,沿着列方向连续排列这些存储单元140。
在如图22B和24B所示的例子中还描述了与各个分单元选择线WLFa-WLFe相关的多个存储单元140存储一个垂直列的像素数据。但是,与各个分单元选择线WLFa-WLFe相关的多个存储单元140可以存储一个水平行的像素数据。
与各个分单元选择线WLFa-WLFe相关的多个存储单元140还可以存储构成像素数据的m行×m列(m是大于1的整数)的像素数据。在这种情况下,当存储着m个水平行的像素数据时,候选块的位置可以以m个像素为单位沿着垂直方向移动,而当存储着m个垂直列的像素数据时,它可以以m个像素为单位沿着水平方向移动。
图25A示意性地例示了存储在构成搜索帧存储器124的一个存储块125中的像素数据。为了简单起见,假设一个存储块125存储在水平方向由15个像素组成和在垂直方向由10行组成的像素数据,每个像素数据是1-位数据。
图25B显示了存储单元阵列131中像素数据的各自存储位置。在这里所示的例子中,正方网格的每一个对应于各自存储单元140。存储单元阵列131含有沿着参考数据的列方向(这个列方向与图10的存储块125中存储数据的列方向相同,并且与图12的存储块125中存储数据的行方向相同)排成一线的50个存储单元140。请注意,存储单元阵列131中的多个存储单元140沿着列方向被划分成5个分区131a-131e。
在这里所示的例子中,在分区131a中连续的第1和第2行的10个存储单元分别存储一个水平行的像素数据“00”-“09”、和“50”-“59”。类似地,在分区131b中连续的第1和第2行的10个存储单元分别存储一个水平行的像素数据“10”-“19”和“60”-“69”。在分区131c中连续的第1和第2行的10个存储单元分别存储一个水平行的像素数据“20”-“29”和“70”-“79”。
以此类推,在分区131d中连续的第1和第2行的10个存储单元分别存储一个水平行的像素数据“30”-“39”和“80”-“89”。另外,在分区131e中连续的第1和第2行的10个存储单元分别存储一个水平行的像素数据“40”-“49”和“90”-“99”。
如上所述的多条单元选择线WLF(参见图9和11)分别由与分区131a-131e相对应划分的5条分单元选择线WLFa-WLFe(在图22B中未示出)组成。存储单元阵列131配有对在各个分区131a-131e内可同时激活的分单元选择线进行转换的转换机构(参见图23)。
由于如果与各条分单元选择线WLFa-WLFe相对应的多个存储单元140存储一个水平行的像素数据,那么,这样的转换机构180配备在存储单元阵列131的任何两个相邻分区131a-131e之间,所以,可以同时选择为每一位存储构成任意候选块的所有像素数据的多个存储单元140。
例如,对于在图25A中加阴影线的候选块,使用转换机构180,并且,通过用于参考数据的列地址解码器134a(参见图10和22)的I/O选通门(列开关)选择在图25B中加阴影线的存储单元140,可以把“1”的单元选择信号从用于参考数据的行地址解码器135(参见图10和12)提供到用虚线表示的、在图25B中连接起来的各个分区131a-131e的分单元选择线WLFa-WLFe,激活分单元选择线。
举另一个例子,对于在图26A中加阴影线的候选块,使用转换机构180,并且,通过用于参考数据的列地址解码器134a的I/O选通门(列开关)选择在图26B中加阴影线的存储单元140,可以把“1”的单元选择信号从用于参考数据的行地址解码器135提供到用虚线表示的、在图26B中连接起来的各个分区131a-131e的分单元选择线WLFa-WLFe,激活分单元选择线。
在如上所述的例子中已经显示了转换机构180(图23)配备在存储单元阵列131的相邻分区131a-131e的各对之间,以便对在存储单元阵列131的关联分区131a-131e中同时激活的分单元选择线进行转换。但是,转换机构也可以具有其它配置。
图27显示了另一种转换机构的配置。转换机构180A是与各个分区131a-131e相关配备的。图27只显示了分区131b和131c。
这些转换机构180A需要与单元选择线WLF(由分单元选择线WLFa-WLFe组成)平行的位置的、用于输入单元选择信号的全局选择线/GWL(/GWL表示带上划线的GWL,用于输入单元选择信号“0”)。
转换机构180A的每一个包括NOR门和OR门。具体地说,沿着行方向在任一奇数行中的每一个转换机构都含有其输入端与全局选择线/GWL相连接、其输出端与关联分单元选择线相连接的NOR门NG,而沿着行方向在任何偶数行中的每一个转换机构都含有其输入端与全局选择线GWL相连接、其输出端与关联分单元选择线相连接的OR门OG。通过它们的输入端将转换控制信号/φ(/φ表示带上划线的φ,表示转换控制信号φ的反相)提供给NOR门NG和OR门OG。将控制信号/φ独立地提供给与各个分区131a-131e相关提供的转换机构180A。
现在描述利用转换机构180A对各个分区131a-131e中的单元选择线进行的选择操作。
在如图27所示的例子中,假设在分区131b中选择第2行的分单元选择线WLFb,和在分区131c中选择第1行的分单元选择线WLFc。
在这种情况下,把单元选择信号“0”分别提供给第1和第2行的全局选择线/GWLi和/GWLi+1。把“1”的转换控制信号/φj提供给分区131b的转换机构180A。这使第2行的OR门OG在它的输出端输出“1”,激活第2行的分单元选择线WLFb。
另一方面,把“0”的转换控制信号/φj提供给分区131c的转换机构180A。这使第1行的NOR门NG在它的输出端输出“1”,激活第1行的分单元选择线WLFc。
因此,当存储单元阵列131的各个分区131a-131e配有如上所述的转换机构180A时,可以以与在利用相邻分区131a-131e之间的转换机构180的前例中相同的方式,在各个分区131a-131e中同时激活分单元选择线,从而允许同时选择用于存储与每个位相关的构成任一侯选块的全部数据的多个存储单元140。
根据这种利用转换机构180A的配置,由于在单元选择信号传输线上没有配备传输门,避免了如在配备在转换机构180的传输线中的多个传输门TG1和TG2中所遇到那样的单元选择信号的传输延迟。
图28显示了又一种转换机构的图形。转换机构180B也是与各个分区131a-131e相关配备的。图28只显示了分区131b和131c。
这些转换机构180B需要处在与单元选择线WLF(由分单元选择线WLFa-WLFe组成)平行的位置的、输入单元选择信号的全局选择线GWL(把单元选择信号“1”提供给它的GWL)。
转换机构180B利用CMOS传输门。具体地说,在行方向上任一奇数行中的每一个转换机构都配有连接全局选择线GWL和分单元选择线WLFa-WLFe的每一条的传输门TG3,而在行方向上任一偶数行中的每一个转换机构都配有连接全局选择线GWL和分单元选择线WLFa-WLFe的每一条的传输门TG4。
将转换控制信号提供给传输门TG3的n-型MOS晶体管的栅极和传输门TG4的p-型MOS晶体管的栅极,和将转换控制信号/φ(/φ表示带上划线的φ,意味着转换控制信号φ的反相)提供给传输门TG3的p-型MOS晶体管的栅极和传输门TG4的n-型MOS晶体管的栅极。将控制信号φ和/φ独立地提供给与各个分区131a-131e相关提供的转换机构180B。
现在描述利用转换机构180B对各个分区131a-131e中的单元选择线进行的选择操作。
在如图28所示的例子中,假设在分区131b中选择第2行的分单元选择线WLFb,和在分区131c中选择第1行的分单元选择线WLFc。
在这种情况下,把单元选择信号“0”分别提供给第1和第2行的全局选择线GWLi和GWLi+1。把“0”和“1”的转换控制信号φ和/φj提供给分区131b的转换机构180B。这使第2行的传输门TG4导通,将“1”的单元选择信号从全局选择线GWLi+1提供到分单元选择线WLFc,激活第2行的分单元选择线WLFb。
另一方面,把“1”和“0”的转换控制信号φ和/φj提供给分区131c的转换机构180B。这使第1行的传输门TG3导通,将“1”的单元选择信号从全局选择线GWLi提供给分单元选择线WLFc,激活第1行的分单元选择线WLFc。
因此,当存储单元阵列131的各个分区131a-131e配有如上所述的转换机构180B时,可以以与在利用相邻分区131a-131e之间的转换机构180的前例中相同的方式,在各个分区131a-131e中同时激活分单元选择线,从而允许同时选择用于存储与每个位相关的构成任一侯选块的全部像素的多个存储单元140。
根据这种利用转换机构180B的布置,由于在单元选择信号传输线上只配备了一个传输门,使单元选择信号的传输延迟与在配备在转换机构180的传输线中的多个传输门TG1和TG2中所遇到的传输延迟相比缩短了。
下面,描述累积参考帧的图像数据的帧存储器123(参见图6)。
如图29所示,帧存储器123还包括4个像前面所述的帧存储器124那样的存储块191a-191d。存储块191a-191d的每一个包括数据输入单元和数据输出单元。将图像数据Di输入数据输入单元中和从数据输出单元输出图像数据Do。存储块191a、191b、191c、和191d分别存储参考帧的左上部分、右上部分、左下部分、和右下部分。
当预定参考块的中心像素的范围处在参考帧的左上部分、右上部分、左下部分、和右下部分的任何一个中时,它只足以激活相应存储块191a、191b、191c、和191d,从而抑制了功耗。
在这种情况下,像帧存储器124的存储块125a-125d的前例那样,像素数据的图像被以副本的形式存储在与参考帧的左上边缘部分、右上边缘部分、左下边缘部分和右下边缘部分的边缘相对应的相应存储单元191a-191d中。将像素数据项已副本形式存储在存储块191a-191d中的理由是因为中心像素位于边缘附近的候选块需要边缘之外的像素数据。
图30显示了另一种示范性存储块191(191a-191d)的配置。
存储块191含有以矩阵形式排列的多个存储单元的存储单元阵列201、输入和输出存储数据的输入/输出端口202(包括列地址解码器)、和用于存储数据的行地址解码器203。
存储单元阵列201包括沿着行方向延伸的用于传送数据的多条位线BL和/BL(/BL表示带上划线的BL)、沿着列方向延伸和与多条位线BL和/BL垂直相交的多条字线WL和以矩阵形式排列并与各条位线BL和/BL和字线WL相连接的多个存储单元210。
图31显示了如图30所示的存储块191除了存储单元阵列201之外的部分的细节。
用于存储数据的列地址解码器202a、地址缓冲器202b和I/O缓冲器202c构成如图30所示的输入和输出存储数据的输入/输出端口202。列地址解码器202a包括I/O选通门(列开关)和读出放大器。列地址解码器202a通过地址缓冲器202b接收列地址。
列地址解码器202a响应经过地址缓冲器202b提供的每一个列地址,使多条位线BL和/BL与位于存储单元阵列201的列方向的预定数量的存储单元210保持连接,使存储数据能够经过I/O缓冲器202c和列地址解码器202a,沿着列方向被写入预定存储单元和从预定存储单元中读出。
用于存储数据的行地址解码器203经过地址缓冲器203a接收行地址。然后,行地址解码器203响应经过地址缓冲器203a提供的行地址,激活与存储单元阵列201的预定行方向存储单元210相连接的字线WL,使存储数据能够经过I/O缓冲器202c和列地址解码器202a,被写入预定行方向存储单元210中和从预定行方向存储单元210中读出。
控制电路204根据控制输入,控制如上所述的存储块191的各个电路的操作。正如后面所详述的那样,存储单元阵列201中以矩阵形式排列的多个存储单元的区域含有沿着字线WL的方向划分的多个分区,和多条单元选择线WLF的每一条由与各个分区相关的多条分单元选择线组成。存储单元阵列201包括转换在分区的每一个中同时激活的分单元选择线的转换机构。控制电路204还控制转换机构。
与如上所述的存储块125不同,存储单元210不含有运算功能单元。存储单元210可以具有与如图13所示的SRAM单元,或如图14所示的DRAM单元相同的结构。这里,省略存储器210的进一步细节。
存储块191可以同时选择为每个位选择构成任意参考块的所有像素数据的多个存储单元210。后面将进一步描述这种布置。
图32A示意性地例示了存储在构成搜索帧存储器123的一个存储块191中的像素数据。为了简单起见,假设一个存储块191存储在水平方向由15个像素组成和在垂直方向由10行组成的像素数据,每个像素数据是1-位数据。
图32B显示了存储单元阵列201中像素数据的各自存储位置。在这里所示的例子中,正方网格的每一个代表存储单元210。存储单元阵列201含有沿着列方向排成一线的50个存储单元210。请注意,存储单元阵列201中的多个存储单元210沿着列方向被划分成5个分区201a-201e。
在这里所示的例子中,在分区201a中连续的第1、第2、和第3行的10个存储单元分别存储一个垂直列的像素数据“00”-“90”、“05”-“95”、和“0a”-“9a”。类似地,在分区201b中连续的第1、第2、和第3行的10个存储单元分别存储一个垂直列的像素数据“01”-“91”、“06”-“96”、和“0b”-“9b”。并且,在分区201c中连续的第1、第2、和第3行的10个存储单元分别存储一个垂直列的像素数据“02”-“92”、“07”-“97”、和“0c”-“9c”。
利用相同的方式,在分区201d中连续的第1、第2和第3行的10个存储单元分别存储一个垂直列的像素数据“03”-“93”、“08”-“98”和“0d”-“9d”。另外,在分区201e中连续的第1、第2、和第3行的10个存储单元分别存储一个垂直列的像素数据“04”-“94”、“09”-“99”和“0e”-“9e”。
如上所述的多条字线WL(参见图30)的每一条由与分区201a-201e相对应划分的5条分单元选择线WLFa-WLFe(在图22B中未示出)组成。存储单元阵列201配有转换在各个分区201a-201e内可同时激活的分字线的转换机构。例如,如图32B所示,转换机构220配备在两个相邻分区201a-201e的每一对之间。
图33显示了示范性转换机构220的另一种布置。转换机构220的每一个具有与如上所述配备在存储块125的存储单元阵列131中的转换机构180(参见图23)相同的配置。
转换机构220的每一个包括由与p-型MOS晶体管并联的n-型MOS晶体管组成的CMOS传输门。这个转换机构220含有位于属于同一行的两条相邻分字线之间连接它们的传输门TG1和位于属于相邻行的两条相邻分单元选择线之间连接它们的传输门TG2。
把转换控制信号φ提供给传输门TG1的n-型MOS晶体管的栅极和传输门TG2的p-型MOS晶体管的栅极。把转换控制信号/φ(/φ代表带上划线的φ,意味着转换控制信号φ的反相)提供给传输门TG1的p-型MOS晶体管的栅极和传输门TG2的n-型MOS晶体管的栅极。把控制信号φ和/φ独立地提供给排列在两个相邻分区201a-201e之间的这些转换机构220。
现在描述转换机构220的操作。当φ=1和/φ=0时,传输门TG1变成导通的,连接同一行的分单元选择线。另一方面,当φ=0和/φ=1时,传输门TG2变成导通的,连接相邻行的分单元选择线。
由于这样的转换机构220配备在如上所述的存储单元阵列131的任何两个相邻分区201a-201e之间,可以同时选择为每一位存储构成任意候选块的所有像素数据的多个存储单元210。因此,可以把构成参考块的所有像素数据的位数据作为参考数据从参考帧存储器123提供到搜索帧存储器124。
例如,对于在图32A中加阴影线的候选块,利用转换机构220,可以把“1”的信号从用于参考数据的行地址解码器203(参见图31)提供到用虚线表示的、在图32B中连接起来的各个分区201a-201e的分字线WLa-WLe,激活分字线,从而,通过用于参考数据的列地址解码器202a(参见图31)的I/O选通门(列开关)选择在图32B中加阴影线的存储单元210。
这样,通过I/O选通门(列开关)适当地选择存储单元210,可以处理具有诸如长方形或十字形之类的任意形状的任何候选块。注意,由于构成图像数据的一个垂直列的像素数据存储在与一条分字线相关的多个存储单元140中,通过与I/O选通门(列开关)协作的转换机构220可以沿着水平和/或垂直方向以一个像素为单位移动参考块。
不言而喻,尽管在上面的描述中为了简便起见,假设每个像素数据含有一个位,但是,当每个像素数据含有n-位数据时,必须提供n个存储单元210,以便存储所有像素数据,从而,例如,沿着列方向连续地排列这些存储单元210。
在上面如图32B所示的例子中还描述了与各条分字线WLa-WLe相关的多个存储单元210存储一个垂直列的像素数据。但是,与各条分字线WLa-WLe相关的多个存储单元210也可以存储一个水平行的像素数据。
与各个分字线WLa-WLe相关的多个存储单元210还可以存储构成像素数据的m行×m列(m是大于1的整数)的像素数据。在这种情况下,当存储着m个水平行的像素数据时,候选块的位置可以以m个像素为单位沿着垂直方向移动,而当存储着m个垂直列的像素数据时,它可以以m个像素为单位沿着水平方向移动。
上面所示的例子中已经表示,转换机构220(参见图33)分别配备在相邻分区201a-201e的各对之间,以便转换在存储单元阵列201的各个分区201a-201e内同时激活的分字线。但是,像在如上所述的存储块125的存储单元阵列131中那样,转换机构220也可以分别具有与如图27或28所示的转换机构180A或180B相似的可替代配置。但是,在这种情况下,存储单元阵列201需要含有与字线WL(由分字线WLa-WLe组成)并行地配备的、输入单元选择信号的全局字线。
尽管省略对它们的详细描述,但是,在存储块125的存储数据方也可以采用如上所述的存储块191的配置。通过同时选择为每一位存储形成块的整个像素数据的多个存储单元140,这种结构使得可以同时读/写构成任意块的全部像素数据。
如上所述,根据本发明,构成存储块125的存储单元140包括进行逻辑运算的运算功能单元(参见图15),和存储块125含有利用运算数据进行数值计算的辅助运算单元134d(参见图10和12),从而,无需通过宽数据总线把数据发送到处理电路,就可以使快速有效的运算处理得以实现。
在存储块125中,利用多条位线BL和/BL和多条字线WL进行存储数据的读写,同时,通过多条参考数据输入线RDL和/RDL、多条运算数据输出线DAL和DBL和多条单元选择线WLF输出运算数据(参见图9和11)。这种布置使存储数据被独立读/写和使运算数据输出,从而,使处理总的来说既灵活又有效。
在构成搜索帧存储器124的存储块125中,存储单元阵列131中以矩阵形式排列的多个存储单元140的区域由沿着单元选择线WLF的方向划分的多个分区131a-131e组成;多条单元选择线WLF的每一条由与多个分区131a-131e相关划分的多条分单元选择线WLFa-WLFe组成;和配备转换机构180、180A、和180B,以转换在各个分区131a-131e内同时激活的分单元选择线(参见图22A、22B、23、27、和28),从而,使辅助运算单元134d能够运算,以便把以分单元选择线为单位以阶梯形式排列的多个存储单元140的运算数据输出到多条运算数据输出线DAL和DBL。
在这种情况下,与一条分单元选择线相关的多个存储单元140存储构成图像数据的整数多个垂直列或水平行,即,一个列或行或m个列或行(m大于1)的像素数据;可以把与形成候选块的多项像素数据相关的运算数据同时输出到多条运算数据输出线DAL和DBL;并且,多个辅助运算单元150和170可以同时利用这些数据平行地进行数值计算(参见图19和20);于是,对于属于找出运动矢量MV所示的给定候选块的多个像素数据,可以同时获得差绝对值码元D0-Dm-1,从而,显著提高数据处理效率。
我们记得,通过利用存储块125的用于参考数据的列地址解码器134a的I/O选通门(列开关)选择存储单元140,可以处理诸如长方形和十字形之类的任意形状的候选块。由于与一条分单元选择线相关的多个存储单元140存储构成图像数据的整数多个垂直列或水平行的像素数据,通过与I/O选通门(列开关)协作的转换机构180(180A,180B)可以沿着水平和垂直两个方向容易地移动候选块的位置。
在构成参考帧存储器123的存储块191中,存储单元阵列201中以矩阵形式排列的多个存储单元210的区域由沿着字线WL的方向划分的多个分区201a-201e组成;多条字线WL的每一条由与多个分区201a-201e相关的多条分字线WLa-WLe组成;和配备转换机构220,以转换在各个分区201a-201e内同时激活的分单元选择线(参见图32A、32B、和33),从而,使以分字线为单位以阶梯形式排列的多个存储单元310同时得到选择。
在这种情况下,与一条分字线相关的多个存储单元140存储构成图像数据的整数多个垂直列或水平行,(一个列或行或m个列或行(m大于1))的像素数据,以便可以同时读取构成参考块的数项像素数据,从而,将它们同时提供给搜索帧存储器124和使数据能够得到高速处理。
通过利用存储块191的用于存储数据的列地址解码器202a的I/O选通门(列开关)选择存储单元210,可以处理包括长方形或十字形在内任意形状的参考块。由于与一条分字线相关的多个存储单元210存储构成图像数据的整多个垂直列或水平行的像素数据,通过与I/O选通门(列开关)协作的转换机构220可以沿着水平和垂直两个方向容易地移动候选块的位置。
搜索帧存储器124包括多个存储块,例如,4个存储块125a-125d,其中以副本的形式存储着搜索帧的左上部分、右上部分、左下部分、和右下部分的像素数据。当预定候选块的中心像素的范围处在搜索帧的左上部分、右上部分、左下部分、和右下部分的任何一个中时,它只足以分别激活存储块125a、125b、125c、和125d,从而抑制了功耗。
参考帧存储器123包括多个存储块,例如,4个存储块191a-191d,其中以副本的形式存储着参考帧的左上部分、右上部分、左下部分、和右下部分的像素数据。当预定候选块的中心像素的范围处在参考帧的左上部分、右上部分、左下部分、和右下部分的任何一个中时,它只足以分别激活存储块191a、191b、191c、和191d,从而抑制了功耗。
因此,在搜索帧存储器124中和在参考帧存储器123中,为了分别获得有关候选块的像素数据和参考块的像素数据的运算数据,只需要激活存储块之一,其它存储块可以用于其它处理。这使复杂处理得到有效处理。
利用如上所述的参考帧存储器123和搜索帧存储器124的运动矢量检测电路111和运动补偿预测编码器100可以提高检测运动矢量MV的处理的速度和效率。
在如上所述的实施例中,搜索帧存储器124由存储块125a-125d组成,和这些存储块按原样输出差绝对值D0-Dm-1。可选地,搜索帧存储器124可以进一步包括集成地包括累积差绝对值D0-Dm-1的电路、存储累积值的电路和从累积值中检测运动矢量MV的电路的电路块。这种配置进一步有助于更快速和更有效的数据处理。
在如上所述的实施例中,构成各个帧存储器123和124的4个存储块被表示成存储各个帧的左上部分、右上部分、左下部分、和右下部分的像素数据。可以根据输入它们的次序或根据与各个像素的位置相关的相位将像素数据存储在4个存储块中。
在如图6所示的运动矢量检测电路111中,在存储搜索帧的像素数据的帧存储器124中计算差绝对值,从中为与多个候选块的每一个相对应的每项像素数据获得差绝对值。可选地,可以把获取这些差绝对值的运算电路放置在帧存储器的外部。
图34示出了像如上所述那样的运动矢量检测电路111A的配置。在图34和6中相似的部件用相同的标号表示。
这个运动矢量检测电路111A含有控制整个电路111A的操作的控制器121、接收图像数据Di的输入端122、累积参考帧的图像数据的帧存储器123和累积搜索帧的图像数据的帧存储器124A。控制器121控制这些帧存储器123和124A的读写操作。
当将经过输入端122输入的帧的图像数据写入帧存储器123时,从帧存储器123中读出存储在帧存储器123中与前一帧相关的图像数据,并且将其提供给帧存储器124。
在控制器121的控制下,由于从帧存储器123输出预定参考块的图像数据,按顺序从帧存储器124A输出搜索区中与参考块相关的多个候选块的像素数据。
在这里所示的例子中,帧存储器123可以含有4个存储块191;在存储块的每一个中,可以同时选择存储构成任意参考块的像素数据的多个存储单元210;并且,如上所述,可以同时输出参考块的像素数据(参见图29-33)。在所示的例子中,尽管省略对它的详细描述,但帧存储器124A也可以像帧存储器123那样,含有这样配置的4个帧存储块191,即,在存储块的每一个中,可以同时选择存储构成任意候选块的像素数据的多个存储单元210,且可以同时输出候选块的像素数据。
运动矢量检测电路111A还含有运算电路130,用于从帧存储器123接收参考块的像素数据和从帧存储器124A接收搜索区中与参考块相关的多个候选块的像素数据,和用于针对各个候选块,计算和输出候选块的像素数据和参考块的像素数据之间的、与相应像素数据的每一项有关的差绝对值。
运动矢量检测电路111A还含有累加器126,用于从运算电路130接收与各个候选块相关的为像素数据的每一项计算的差绝对值,以便累积差绝对值;和关联表127,用于存储由累加器126获得的、与各个候选块有关的累积值,作为关联值。
运动矢量检测电路111A还含有判断电路128,用于根据存储在关联表127中的与各个候选块相对应的关联值检测运动矢量MV;和输出端129,用于输出判断电路128检测的运动矢量MV。判断电路128检测含有最小关联值的候选块的位置,作为运动矢量MV。
参照图34,描述运动矢量检测电路111A的操作。
把输入到输入端122的图像数据Di提供给作为参考帧的图像数据加以累积的帧存储器123。在这种情况下,从帧存储器123中检索存储在帧存储器123中的、前一帧的图像数据,并且将其提供给作为搜索帧的图像数据加以累积的帧存储器124。
从帧存储器123中读出参考块的图像数据,并且将其提供给运算电路130。还读取运算电路130,并且把搜索区中与参考块相关的多个候选块的每一个提供给运算电路130。在运算电路130中,与多个候选块的每一个相关为像素数据的每一项计算计算和输出候选块的像素数据和参考块的像素数据之间的差绝对值。
因此,从运算电路130输出与多个候选块的每一个相关为像素数据的每一项计算的差绝对值,并且将其依次提供给累加器126和累积在累加器126中。把为多个候选块的每一个累积在累加器126中的累积值提供给关联表127,并且将其存储成关联值。在判断电路128中,根据存储在关联表127中的多个候选块的每一个的关联值,检测具有最小关联值的候选块的位置,作为运动矢量MV。
将参考帧中多个参考块的图像数据按顺序从帧存储器123提供给运算电路130。与各个参考块的像素数据相关,将多个候选块的像素数据从帧存储器124A提供给运算电路130。在运算电路130、累加器126、关联表127和判断电路128中对各个参考块重复相似的操作。因此,在判断电路128中,按顺序为各个参考块检测运动矢量MV。于是,从输出端129依次输出判断电路128检测的运动矢量MV。
这样,与如图6所示的运动矢量检测电路111中一样,在如图34所示的运动矢量检测电路111A中,也可以有效地检测运动矢量MV。
根据上面实施例,在如上所述的判断电路128中,运动矢量MV是根据差绝对值的累积(和值),在运动矢量检测电路111或111A中得到检测的。但是,请注意,通过计算差绝对值的平方或n次方的和值也可以同样好地检测运动矢量。为此,如图6所示的运动矢量检测电路111可以被配置成计算直接来自帧存储器124的每个差值的平方或n次方,或者,如图34所示的运动矢量检测电路111A可以被配置成在运算电路130中计算每个差值的平方或n次方。
尽管在上面的实施例中,新的存储设备被例示成应用于运动矢量检测电路111和111A和运动补偿预测编码器100,它当然也可以应用于不同类型的设备。
根据新的存储设备,它含有多条选择线,每条选择线由多条分选择线组成;和转换机构,用于转换在各个分区中同时激活的分单元选择线。因此,通过在以矩阵形式排列的存储单元内分配构成给定图像数据的像素数据,可以同时访问构成具有长方形和十字形之类的任意结构的像素块的像素数据,从而,通过一个操作同时处理构成像素块的像素数据和易于改变像素块的位置。因此,利用形成这样的像素块的像素数据,可以进行快速有效的数据处理。
例如,通过把整多个垂直列或水平行的构成给定图像数据的像素数据存储在与分单元选择线相关的多个存储单元中,可以以整多个像素为单位沿着水平或垂直方向移动像素块,或以一个像素为单位沿着水平或垂直方向移动像素块。
根据具体体现本发明的存储设备,构成存储块的存储单元包括进行逻辑运算的运算功能单元和利用存储块上的运算数据进行数值计算的辅助运算单元。这使得无需利用宽带数据总线把数据传送到处理电路,就可以使所需的快速有效运算处理得以实现。
在根据本发明的存储设备中,利用位线和字线进行存储数据的读写,并且,通过多条参考数据输入线、多条运算数据输出线、和多条单元选择线输出运算数据。因此,可以与输出运算数据独立地进行存储数据的读写,从而,使数据处理总的来说既灵活又有效。
在根据本发明的存储设备中,存储设备包括这样配置的多个存储块,即,可以只激活必要的存储块,以抑制功耗。
在根据本发明的存储设备中,除了一个或多个存储块之外,存储设备进一步包括处理从存储块输出的运算数据的电路块,从而,使数据处理既更灵活又更有效。
新的运动矢量检测器和运动补偿预测编码器利用基于本发明的存储设备,从而,使检测运动矢量的处理达到更加快速和更加有效。这样就实现了更加快速和更加有效的检测运动矢量的处理。
接着,描述如图1所示的运动补偿预测编码器110的另一种运动矢量检测电路的布置。在下文中,为了方便起见,用标号300指这另一种运动矢量检测电路111。
块匹配方法也用在检测运动矢量的运动矢量检测电路300中。运动矢量检测电路300首先利用平均值分层方法分层输入的图像数据,形成多个分层类的图像数据,并且,分层代表各个分成类的高频成分的数据(称为活度)形成活度数据(称为分层活度),从而利用该数据在各个分层类中检测运动矢量(运动量)。
实际上,利用块匹配方法从排在最高的类开始按顺序评估每个分层类的图像数据和活度数据,获取它们的评估值。然后,通过综合估计评估值确定各个分层类中的运动矢量。当根据运动矢量按顺序确定排在最低的类的评估值时,可以通过运动补偿参考地检测输入图像的运动矢量。
图35A和35B显示了如何生成分层图像数据。图35A具体例示了从输入图像数据中生成3个分层类的图像数据的情况。分层类1只代表输入图像数据。在这里所示的例子中,可以根据下面的公式(5)计算平均值,获得第n分层类(n=2,3)的图像数据Mn(x,y):
M n ( x , y ) = 1 4 Σ i = 0 1 Σ j = 0 1 M n - 1 ( 2 x - 1 + i , 2 y - 1 + j ) . . . ( 5 )
这里,第n分层类的块大小的尺度沿着水平和垂直两个方向被降低为第(n-1)分层类的块大小的尺度的1/2。因此,如此形成的分层类1到3的图像数据在分辨率方面是不同的。
将平均值分层图像数据进一步活度分层成如图35B所示那样,形成活度数据。通过如下面的公式(6)所示,计算包括在分层类2的图像数据和输入图像数据(分层类1的图像数据)中的相应像素的差绝对值之和,获取用Δ2(x,y)表示的、分层类2的活度数据:
Δ 2 ( x , y ) = 1 4 Σ i = 0 1 Σ j = 0 1 | M 1 ( 2 x - 1 + i , 2 y - 1 + j ) - M 2 ( x , y ) | . . . ( 6 )
类似地,通过如下面的公式(7)所示,计算包括在分层类3的图像数据和输入图像数据(分层类1的图像数据)中的相应像素的差绝对值之和,获取用Δ3(x,y)表示的、分层类3的活度数据:
Δ 3 ( x , y ) = 1 16 Σ i = 0 3 Σ j = 0 3 | M 1 ( 4 x - 3 + i , 4 y - 3 + j ) - M 3 ( x , y ) | . . . ( 7 )
由于活度数据Δ2(x,y)和Δ3(x,y)是基于如从公式(6)和(7)中看到那样的输入图像数据的,可以从活度数据中提取忠实于输入图像数据的那个的、它的高频成分。
因此,通过活度数据的计算,像图35B所示那样获得它的分层结构。可以看出,分层可以包括在排在最低的类上面的那些分层平面。这样的活度数据反映了在平均值分层图像数据中表现出来的特征缺失量。
图36A和36B例示了分层结构的特例。图36A显示了平均值分层,和图36B显示了活度分层。
当由与输入图像数据(分层类1的图像数据)相关的x1、x2、...、x15、和x16组成的4×4个像素的一个块被分层时,利用下面基于公式(5)的公式(8)获得平均值分层类2的图像数据中的像素y1、y2、y3、和y4:
y1=(x1+x2+x3+x4)/4
y2=(x5+x6+x7+x8)/4
y3=(x9+x10+x11+x12)/4
y4=(x13+x14+x15+x16)/4            ...(8)
当由基于类2的y1、y2、y3、和y4组成的2×2个像素被分层时,利用下面基于公式(5)的公式(9)获得平均值分层类3的图像数据中的像素z1:
z1=(y1+y2+y3+y4)/4                ...(9)
利用下面基于公式(6)的公式(10),从平均值分层类2的图像数据中的像素y1、y2、y3、和y4和类1的图像数据中的像素x1、x2、...、x15、和x16中计算出活度分层类2的活度数据:
a 1=(|x1-y1|+|x2-y1|+|x 3-y1|+|x4-y1|)/4
a2=(|x5-y2|+|x6-y2|+|x7-y2|+|x8-y2|)/4
a3=(|x9-y3|+|x10-y3|+|x11-y3|+|x12-y3|)/4
a4=(|x13-y4|+|x14-y4|+|x15-y4|+|x16-y4|)/4       ...(9)
进一步,利用下面基于公式(7)的公式(11),从平均值分层类3的图像数据中的像素z1和类1的图像数据中的像素x1、x2、...、x15、和x16中计算出活度分层类3的活度数据:
b1=(|x1-z1|+|x2-z1|+|x3-z1|+|x4-z1|+|x5-z1|+|x6-z1|+|x7-
z1|+|x8-z1|+|x9-z1|+|x10-z1|+|x11-z1|+|x12-z1|+|x13-z1|
+|x14-z1|+|x15-z1|+|x16-z1|)/16               ...(11)
然后,利用如此获得的平均值分层图像数据和活度分层活度数据,通过块匹配方法,在各个分层类中检测运动矢量。块匹配估计函数通过下面用当前半帧t表示的公式(12)给出:
E ( Y ) n ( u n , v n ) =
Σ x Σ y | M n t - 2 ( x - u n - 2 u n + 1 , y - v n - 2 v n + 1 ) - M n t ( x , y ) | . . . ( 12 )
其中,成对数(un,vn)代表分层类n中的运动矢量。
给出估计函数E(Y)n的最小值的矢量V′n=(un,vn)被识别为要检测的运动矢量。根据下面的公式(13)获得当前类中的运动矢量Vn
Vn=V′n+2Vn+1                 ...(13)
在这里所示的实施例中,利用下面的公式(14),也以与公式(12)中相同的方式获得图35B的活度数据的评估函数:
E ( D ) n ( u n , v n ) =
Σ x Σ y | Δn t - 2 ( x - u n - 2 u n + 1 , y - v n - 2 v n + 1 ) - Δn t ( x , y ) | . . . ( 14 )
设新的估计函数E(G)n通过下面的公式(15)给出:
E(G)n=w1·E(Y)n+w2·E(D)n        ...(15)
其中,w1和w2是加权因子。
然后,通过找出使估计函数E(G)n达到最小的矢量,确定运动矢量。在不存在活度数据的最低分层类中,只利用如公式(12)给出那样的估计函数E(Y)n作出估计。
因此,利用平均值分层图像数据和活度分层活度数据两者的估计使正确的运动矢量得到检测,如果给定分层类中的最佳估计值不正确,那么,利用其它估计值。因此,提高了每个分层类中运动矢量检测的精度。由于在各个分层类中提高了运动矢量检测的精度,如公式(13)给出的最终运动矢量检测的精度也因此而得到提高。
图37是显示在给定参考块(例如,由16×16个像素组成的块大小)中检测运动矢量的过程的流程图。
首先,在步骤SP 1中,获取从输入图像数据中检测运动矢量的参考块。接着,在步骤SP 2中,按照公式(5)平均值分层,和按照公式(6)和(7)活度分层参考块的图像数据,以生成,例如,分层类1、类2、和类3的图像数据、和分层类3的活度数据。
在下一步骤SP 3中,确定当前处理的类是否是最低类(类1)。如果不是,那么,在步骤SP 4中,询问在整个搜索区中是否完成了搜索。如果搜索还没有完成,过程转到步骤SP 5,在步骤SP 5中,根据公式(12)和(14),利用图像数据和活度数据的以前数据(存储在存储器中)和当前数据计算估计函数E(Y)n和E(D)n的值(称为评估值),然后,过程返回到步骤SP 4。
另一方面,如果在步骤SP 4中搜索完成了,过程转到步骤SP 6,在步骤SP 6中,利用为活度数据的以前数据获得的估计函数E(Y)n和E(D)n,评估通过公式(15)获得的新评估函数E(G)n,以获得最佳评估值。然后,过程转到步骤SP 7。
在步骤SP 7中,从最佳评估值中确定运动矢量V′n。在下一步骤SP 8中,根据公式(13)加倍和相加在上一类中确定的运动矢量Vn+1,以获得在当前处理的类中的运动矢量Vn。然后,过程返回到步骤SP 3。
如果在步骤SP 3中确定当前处理的类是最低类,那么,在步骤SP 9中结束对参考块进行运动矢量检测的处理。
图38显示了运动矢量检测电路300的配置。在这个运动矢量检测电路300中,把输入图像数据Di输入将数据依次分块成预定大小(例如,由16×16个像素组成的块大小)的块的分块电路302。把从分块电路302依次输出的参考块的图像数据提供给分层类1的帧存储器303和评估值计算电路304、和分层类2的活度分层电路306、和分层类3的活度分层电路307。
分层类2的平均值分层电路305对从分块电路302依次输出的类1的参考块的图像数据进行由公式(5)定义的平均值分层处理,以获得类2的参考块的图像数据。把类2的最后图像数据提供给类2的帧存储器309、活度分层电路306、和评估值计算电路326、和类3的平均值分层电路310。
类2的活度分层电路306利用从分块电路302按顺序输出的类1的参考块的图像数据和从平均值分层电路305输出的类2的参考块的图像数据,进行由公式(6)定义的活度分层处理,以获得类2的参考块的活度数据。把如此获得的类2的最后活度数据分别提供给类2的帧存储器312和评估值计算电路327。
类3的平均值分层电路310对从平均值分层电路305依次输出的参考块的图像数据进行由公式(5)定义的平均值分层处理,以获得类3的参考块的图像数据。把如此获得的类3的最后图像数据提供给类3的帧存储器314、活度分层电路307、和评估值计算电路319。
类3的活度分层电路307利用从分块电路302依次输出的参考块的图像数据和从平均值分层电路310输出的参考块的图像数据,进行由公式(7)定义的活度分层处理,以获得类3的参考块的活度数据。把如此获得的类2的最后活度数据分别提供给类2的帧存储器312和评估值计算电路327。
在运动矢量检测电路300中,平均值分层从分块电路302依次输出的参考块的图像数据,作为如图35A所示的分层类1、2和3的图像数据,和活度分层从分块电路302依次输出的参考块的图像数据,作为如图35B所示的分层类1、2和3的活度数据。
在检测各个参考块的每个运动矢量过程中,首先检测排在最高的类(类3)中的运动矢量。搜索块电路317从存储在帧存储器314中的前一(搜索)帧中类3的图像数据中依次读出搜索区中与各个候选块相关的类3的图像数据,并且把如此读取的数据提供给评估值计算电路319。
评估值计算电路319利用从平均值分层电路310提供的类3的参考块的图像数据和来自搜索块317的类3的每一个候选块的图像数据,根据由公式(12)定义的估计函数E(Y)3获取每个候选块的评估值。
此外,搜索块电路318从存储在帧存储器316中的前一(搜索)帧中类3的活度数据中依次读出搜索区中与各个候选块相关的类3的活度数据,并且把活度数据提供给评估值计算电路320。
评估值计算电路320利用从活度分层电路307提供的类3的参考块的图像数据和从搜索块318提供的类3的每一个候选块的活度数据,根据由公式(14)定义的估计函数E(D)3获取每个候选块的评估值。
在相加电路(加法器)321中根据公式(15)首先加权,然后求和由各个评估值计算电路319和320获得的每个候选块的评估值。把如此获得的基于新评估函数E(G)3的每个候选块的评估值输入运动矢量检测单元322中。
在这个实施例中,评估值计算电路340(319和320)具有如图39所示的配置。更具体地说,评估值计算电路340含有参考块存储器341和候选块存储器342。参考块存储器341存储从平均值分层电路310提供的类3的参考块的图像数据、或从活度分层电路307提供的类3的参考块的活度数据。候选块存储器342存储从搜索块电路317提供的类3的候选块的图像数据、或从搜索块电路318提供的类3的候选块的活度数据。
按照存储器控制器343所寻址那样的次序读出参考块存储器314和候选块存储器342的内容,并且,通过寄存器344和345将其馈送到对其进行相减的相减电路(减法器)346。在绝对值电路347中将如此获得的差数据转换成绝对值,并且,在相加电路348和寄存器349中累积和相加它们。将最后累积和取作候选块的评估值。在评估值计算电路340中依次计算各个候选块的评估值,并且按照评估值存储器控制器所寻址那样的次序将其输入评估值存储器350中。
事实上,关于在分块类2和3中的处理,在存储在评估值存储器350中之前,计算平均值分层图像数据的评估值和活度分层活度数据的评估值的加权和。
在这里所示的实施例中,运动矢量检测单元360(和322)被配置成如图40所示那样。如图40所示,运动矢量检测单元360按照评估值存储器控制器351指定的地址所寻址那样的次序,从评估值存储器350当中依次读取各个候选块的评估值,并且把这些值输入比较器361和寄存器362中。比较器361将另一个输入值与从评估值存储器350当中读出的评估值相比较,并且,如果从评估值存储器350当中读出的评估值较小,它就发出指令寄存器362和363更新它们的内容的信号。
寄存器363设置读取评估值存储器350的地址的顺序。因此,存储在评估值存储器350中的评估值按顺序得到评估。从寄存器363发出给出最小评估值的地址,从矢量检测单元360输出这个最小评估值,作为运动矢量MV。
回头参照图38,接着进行分层类2中运动矢量的检测。在这种情况下,将如上所述在用于类3的运动矢量检测单元322中获得的类3的运动矢量提供给类2的帧存储器309和312,以便利用运动矢量进行关联搜索区的运动补偿。
搜索块电路324从存储在帧存储器390中的前一(搜索)帧类2的图像数据中依次读取搜索区中与每个候选块相关的类2的图像数据,并且把图像数据提供给评估值计算电路326。在这个类2中的搜索区比在如上所述的类3中的搜索区窄。
评估值计算电路326利用从平均值分层电路305提供的类2的参考块的图像数据和从搜索块电路324提供的类2的各个候选块的图像数据,根据由公式(12)定义的评估函数E(Y)2,获取各个候选块的评估值。
搜索块电路325从存储在帧存储器312中的前一(搜索)帧中类2的活度数据中依次读取搜索区(搜索域)中与每个候选块相关的类2的活度数据,并且把数据提供给评估值计算电路327。
评估值计算电路327利用从活度分层电路306提供的类2的参考块的活度数据和从搜索块电路325提供的类2的每个候选块的活度数据,根据由公式(14)定义的评估函数E(D)2,获取每个候选块的评估值。
根据公式(15)加权和在相加电路(加法器)328中求和在评估值计算电路326和327中获得的评估值。把如此获得的基于新评估函数E(G)2的各个候选块的评估值输入运动矢量检测单元329中。在运动矢量检测单元329中,轮流评估各个候选块的评估值,以获得运动矢量。
在相加电路323中,像公式(13)所示那样,将在运动矢量检测单元329中获得的运动矢量加入类3的运动矢量中,得出类2的运动矢量。请注意,评估值计算电路326和327和运动矢量检测单元329被分别构造成与评估值计算电路340(参见图39)和运动矢量检测单元360(参见图40)具有相同配置。
接着,进行类2的运动矢量的检测。在这种情况下,将如上所述在相加电路323中获得的类2的运动矢量提供给类1的帧存储器303。通过运动矢量补偿搜索区。
搜索块电路331从存储在帧存储器303中的前一(搜索)帧中类1的图像数据中依次读取搜索区(搜索域)中与每个候选块相关的类1的图像数据,并且把数据提供给评估值计算电路304。类1中的搜索区比如上所述的类2中的搜索区还要窄。
评估值计算电路304利用从分块电路302提供的类1的参考块的图像数据和从搜索块电路331提供的类1的各个候选块的图像数据,根据由公式(12)定义的评估函数E(Y)1,获取各个候选块的值。
把在评估值计算电路304中获得的各个候选块的评估值提供给运动矢量检测单元332。运动矢量检测单元332按顺序评估各个候选块的评估值,以获得运动矢量。在相加电路330中像公式(13)所表述的那样将这个运动矢量加入类2的运动矢量中,输出其和值,作为类1的运动矢量,即,感兴趣参考块的运动矢量MV。请注意,评估值计算电路304和运动矢量检测单元332被分别构造成与评估值计算电路340(参见图39)和运动矢量检测单元360(参见图40)具有相同配置。
因此,在根据块匹配方法检测运动矢量的过程中,通过分层分辨率不同的给定图像和利用分层图像,对每个分层类评估活度分层活度数据的评估值,从而,在使计算精度达到最大的同时,使检测运动矢量的计算量达到最小。
在这里所示的实施例中,分别存储类1、2、和3的图像数据的帧存储器303、309、和314被构造成含有相同的存储块450。
图41显示了包括在存储块450中的存储单元阵列460的一部分460a的配置。这个部分460a适用于存储类1的16-像素图像数据(对应于图36A的像素x1-x16)、从类1的像素数据中获得的类2的4-像素图像数据(对应于图36A的像素y1-y4)、和从类2的像素数据中获得的类3的1-像素图像数据(对应于图36A的像素z1)。每个像素的图像数据是8-位数据。
部分460a含有以矩阵形式排列的、21列×8行的存储单元461。在每一行中的21个存储单元461包括5个第存储单元461a和16个第2存储单元461b。16个存储单元461b存储类1的2个像素的图像数据(16个位)。5个第1存储单元461a存储类2的4-位图像数据和类3的1-位图像数据。
第1存储单元461a和第2存储单元461b与作为第1字线的字线WL1相连接。第1存储单元461a还与作为第2字线的字线WL2和WL3相连接。字线WL1_i-WL1_i+7的每一条沿着列方向延伸,并且与沿着列方向分布的21个存储单元461(461a,461b)相连接。
字线WL2_k-WL2_k+1的每一条被配置成沿着连接每个行的4个第1存储单元461a的4个行的阶梯形式延伸。类似地,字线WL3_j被配置成沿着连接每个行的1个第1存储单元461a的8个行的阶梯形式延伸。这样,与字线WL2_k-WL2_k+1连接的第1存储单元461a不同于与字线WL3_j连接的第1存储单元461a。
上面的描述涉及分别存储类1、2和3的16-像素、4-像素、和1-像素图像数据的存储单元阵列460的一部分460a。但是,显而易见,也可以类似地配置存储单元阵列460的其它部分。因此,以21个存储单元为单位沿着列方向周期性重复字线WL2和WL3的阶梯形式。
在如图41所示的存储单元阵列460的一部分460a中,可以通过字线WL1同时激活沿着列方向延伸的21个存储单元461(461a,461b),使图像数据能够被写入这些存储单元461中和从这些存储单元461中读出。
进一步,可以通过字线WL2同时激活在4个行上以阶梯形式排列的部分460a的16个第1存储单元461a,从而,使图像数据能够被写入这些第1存储单元461a中和从这些第1存储单元461a中读出。更进一步,可以通过字线WL3同时激活在8个行上以阶梯形式排列的部分460a的8个第1存储单元461a,从而,使图像数据能够被写入这些第1存储单元461a中和从这些第1存储单元461a中读出。
因此,根据这里所示的实施例,通过字线WL1激活这些存储单元,可以从第2存储单元461b中读出类1的图像数据,和把类1的图像数据写入第2存储单元461b中。类似地,通过字线WL2激活第1存储单元461a,可以从第1存储单元461a中读出类2的图像数据,和把类2的图像数据写入第1存储单元461a中。通过字线WL3激活第1存储单元461a,也可以从第1存储单元461a中读出分层类3的图像数据,和把分层类3的图像数据写入第1存储单元461a中。
这样,可以有效地将类1-3的图像数据存储在同一个存储块450中,并且,可以与类1的图像数据无关地从中读出类2和3的图像数据和将类2和3的图像数据写其中,这有助于运动矢量的有效检测。
接着,进一步描述第1存储单元461a。图42显示了第1存储单元461a的布置。在这种情况下,代表负载件的P-型MOS晶体管Q1和n-型MOS晶体管Q3被串联在电源和地之间,形成COM反相器471,和代表负载件的P-型MOS晶体管Q2和n-型MOS晶体管Q4被串联在电源和地之间,形成COM反相器472。将各个CMOS反相器471和472的输出,即,各个存储节点N1和N2的电位耦合到各个CMOS反相器472和471的输入端,即,各个n-型MOS晶体管Q4和Q3的栅极。
CMOS反相器471的存储节点N1通过其栅极与字线WL1相连接的访问晶体管Q6和其栅极与字线WL2或字线WL3连接的访问晶体管Q5两者与位线BL相连接。请注意,访问晶体管Q5和Q6相互并联。
另一方面,CMOS反相器472的存储节点N2通过其栅极与字线WL1相连接的访问晶体管Q7和其栅极与字线WL2或字线WL3连接的访问晶体管Q8两者与位线/BL(/BL代表加上划线的BL)相连接。访问晶体管Q7和Q8也相互并联。
在具有这样的配置的第1存储单元461a中,把“1”或“0”的数据存储在由一对CMOS反相器471和742组成的存储单元473中。通过访问晶体管Q5和Q7或访问晶体管Q6和Q8为存储单元473和位线BL或/BL之间的读写而转换数据。也就是说,可以通过字线WL1或字线WL2和WL3作出存储单元473的选择。
顺便提一下,如图42所示的第1存储单元461a是基于普通SRAM(静态随机访问存储器)单元的。但是,它也可以基于诸如高阻抗负载型存储单元、TFT-负载型存储单元、DRAM(动态随机访问存储器)单元之类另一种类型的SRAM单元。
接着,描述第2存储单元461B。在图43中,与图42的相似部件相对应的那些部件用与图42中相同的标号表示。
如图所示,代表负载件的P-型MOS晶体管Q1和n-型MOS晶体管Q3被串联在电源和地之间,形成COM反相器471,和代表负载件的P-型MOS晶体管Q2和n-型MOS晶体管Q4被串联在电源和地之间,形成COM反相器472。将各个CMOS反相器471和472的输出,即,各个存储节点N1和N2的电位耦合到各个CMOS反相器472和471的输入端,即,各个n-型MOS晶体管Q4和Q3的栅极。
CMOS反相器471的存储节点N1通过其栅极与字线WL1相连接的访问晶体管Q5两者与位线BL相连接。另一方面,CMOS反相器472的存储节点N2通过其栅极与字线WL1相连接的访问晶体管Q7与位线/BL相连接。
在具有这样的配置的第2存储单元461b中,把“1”或“0”的数据存储在由一对CMOS反相器471和742组成的存储单元473中。通过访问晶体管Q5和Q7为存储单元473和位线BL或/BL之间的读写而转换数据。也就是说,可以通过字线WL1作出存储单元473的选择。
不言而喻,如图43所示的第2存储单元461b是普通SRAM(静态随机访问存储器)单元。但是,它也可以是诸如高阻抗负载型存储单元、TFT-负载型存储单元、或DRAM单元之类另一种类型的SRAM单元。
接着,描述构成帧存储器303、309、和314的存储块450。图44显示了存储块450的配置。
存储单元块450含有包含以矩阵形式排列的多个存储单元的存储单元阵列460、用于存储数据的输入/输出端口462、用于存储数据的第1到第3行地址解码器463-465、和控制电路466。
用于存储数据的输入/输出端口462包括用于存储数据的列地址解码器462a、地址缓冲器462b、和I/O缓冲器462c。列地址解码器462a包括I/O门选通(列开关)和读出放大器。通过地址缓冲器462b把列地址输入到列地址解码器462a。
列地址解码器462a响应通过地址缓冲器462b提供的列地址的每一个,使多条位线BL和/BL与位于存储单元阵列460的列方向的多个存储单元461的预定个保持连接,使存储数据能够通过I/O缓冲器462c和列地址解码器462a,沿着列方向被写入预定存储单元中和从预定存储单元中读出。
通过地址缓冲器463a把行地址提供给用于存储数据的第1行地址解码器463。行地址解码器463响应通过地址缓冲器463a提供的行地址的每一个,激活与位于存储单元阵列460的行方向的预定存储单元461相连接的字线WL1,使存储数据能够通过I/O缓冲器462c和列地址解码器462a,沿着行方向被写入预定存储单元461(461a,461b)中和从预定存储单元461(461a,461b)中读出。
通过地址缓冲器464a把行地址提供给用于存储数据的第2行地址解码器464。行地址解码器464响应通过地址缓冲器464a提供的行地址,激活与位于存储单元阵列460的行方向的预定存储单元461相连接的字线WL2,使存储数据能够通过I/O缓冲器462c和列地址解码器462a,沿着行方向被写入预定存储单元461(461a)中和从预定存储单元461(461a)中读出。
通过地址缓冲器465a把行地址提供给用于存储数据的第3行地址解码器465。行地址解码器465响应通过地址缓冲器465a提供的行地址,激活与位于存储单元阵列460的行方向的预定存储单元461相连接的字线WL3,使存储数据能够通过I/O缓冲器462c和列地址解码器462a,沿着行方向被写入预定存储单元461(461a)中和从预定存储单元461(461a)中读出。
控制电路466根据控制输入控制如上所述的存储块450的各个电路的操作。
如上所述,在这个实施例中,运动矢量检测电路300(参见图38)的帧存储器303、309和314包括同一存储块450(参见图44)。分层类1-3的图像数据存储在同一存储块450中,和可以与类1的图像数据无关地分别读写分层类2和类3的图像数据。因此,可以有效地进行运动矢量的数据处理。
在如上所示和所述的例子中,把图像数据分层成3个类来检测运动矢量MV。但是,本发明不限于这种例子。例如,多于3个分层类或小于3个分层类的方案也可以用在运动矢量检测中。在这种情况下,各个类的图像数据将存储在同一存储块中。
也就是说,与如上所述的实施例中一样,以矩阵形式排列和以存储单元阵列混合存储单元阵列的第1存储单元461a和第2存储单元461b。第1存储单元461a与沿着矩阵的列方向延伸的第1字线相连接和与排列成在多个行上以阶梯形式延伸的第2字线相连接。第2存储单元461b只与第1字线相连接。
与第2字线相连接的第1存储单元461a存储除了最低类(类1)之外其它分层类的图像数据。当把输入的图像数据分层成多于3个分层类时,多条第2字线被配置成具有不同阶梯形式,使得与多条第2字线的每一条相连接的第1存储单元461a相互不同,并且,它们存储不同分层类的图像数据。
在如上所述的实施例中,已经表明,属于分层类1-3的图像数据存储在以矩阵形式包括21个列和8个行的存储单元461的存储单元阵列460的一部分460a中。但是,与各个类相对应的图像数据可以存储在以矩阵形式排列存储单元的独立存储单元阵列460的一部分460a中。
在上述例子中,如图42所示,第1存储单元461a由一对相互并联的访问晶体管构成。可选地,它也可以由多于两个的并行访问晶体管构成。在那种情况下,可以利用与3个或更多个的各个访问晶体管相连接的字线的任何一条选择存储单元。
在如上所述的实施例中,最低类(类1)的图像数据存储在存储单元阵列460的第2存储单元461b中,和通过顺序平均值分层获得的、除了最低类之外其它平均值分层类的图像数据存储在第1存储单元461a中。一般说来,第1存储单元461a可以存储通过处理存储在第2存储单元461b中的图像数据获得的图像数据等。显而易见,这个存储设备可以用于存储除了图像数据之外的其它数据。
新的存储单元电路包括将存储“1”或“0”的存储单元与位线相连接的并联的多个访问晶体管。请注意,可以利用多条字线的任何一条建立存储单元的选择。
本发明的存储设备包括分别与第1字线和第2字线连接的第1存储单元、和只与第1字线连接的第2存储单元,第1和第2存储单元以矩阵形式排列,其中,第1字线的每一条沿着矩阵的列方向延伸和第2字线在矩阵的多个行上沿着阶梯形式延伸。应该明白,通过第2字线只可以同时激活分布在矩阵的多个行上的第1存储单元,使存储数据能够得以读写。
本发明的运动矢量检测器从输入的图像数据中构造具有不同分辨率的多个分层类的图像数据,并且,利用图像数据的多个分层类检测与输入图像数据中特定位置相关的运动矢量,其中,运动矢量检测器把作为存储单元的如上所述存储设备用于存储多个分层类的图像数据,其中,多个分层类的图像数据当中最低类的图像数据存储在第2存储单元中,和其中,除了最低类之外其它多个分层类的图像数据存储在第1存储单元中。这使得各个分层类的图像数据可以独立地从存储设备中读出和写入存储设备中。因此,改善了运动矢量的有效检测处理。
工业可应用性
如上所述,新的存储单元电路、存储设备、运动矢量检测器、和运动补偿预测编码器适用于基于,例如,块匹配方法的运动矢量检测器,和适用于利用运动矢量检测器检测的运动矢量的编码器。

Claims (17)

1.一种包括一个或多个存储块的存储设备,
其中,每个存储块包括以矩阵形式排列的多个存储单元和选择沿着所述矩阵的一个方向延伸的存储单元列的多条选择线,每行对应于一个存储单元列;
其中,以矩阵形式排列的所述多个存储单元的区域含有沿着所述矩阵的所述一个方向划分的多个分区;
其中,所述多条选择线的每一条由与所述多个分区相对应划分的多条分选择线组成;和
其中,所述存储块还包括用于对在关联分区中同时激活的分选择线进行转换的转换机构。
2.根据权利要求1所述的存储设备,其中,所述转换机构处在彼此相邻的第1和第2分区之间,和
其中,所述转换机构包括用于有选择地将和所述第1分区相关的第1分选择线与和所述第2分区相关的第2分选择线相连接的转换电路,所述第2分区与所述第1分区相邻,所述第2分选择线处于相对于所述第1分选择线的所述矩阵的其它方向的相同或相邻位置处。
3.根据权利要求1所述的存储设备,其中,所述存储块还包括接收选择信号的全局选择线,所述全局选择线沿着所述矩阵的所述一个方向延伸,并且在所述矩阵的所述一个方向上排列的每组分选择线都被提供有所述全局选择线;和
其中,所述转换机构含有有选择地把所述选择信号从所述关联全局选择线提供到第1和第2分选择线的任何一条的门选通电路,所述第1和第2分选择线沿着矩阵的其它方向彼此相邻,所述门电路与分区的每一个相关地配备。
4.根据权利要求1所述的存储设备,其中,在分区的每一个中与一条分选择线相对应的多个存储单元存储整多个垂直或水平阵列的构成图像数据的像素数据。
5.根据权利要求1所述的存储设备,其中,所述存储块包括:
多条位线;
与所述多条位线垂直相交的多条字线;和
以矩阵形式排列的多个存储单元,所述单元与所述位线和所述字线相连接,
其中,所述多条选择线是所述字线;和
其中,所述矩阵的所述一个方向是沿着字线的方向。
6.根据权利要求1所述的存储设备,其中,所述存储块包括:
多条位线;
与所述多条位线垂直相交的多条字线;
接收参考数据的多条参考数据输入线,所述参考数据输入线与所述多条位线垂直相交或沿着所述多条位线平行延伸;
输出运算数据的多条运算数据输出线,所述运算数据输出线与所述多条位线垂直相交或沿着所述多条位线平行延伸;
接收单元选择信号的多条单元选择线,所述单元选择线与所述多条字线垂直相交或沿着所述多条位线平行延伸;和
以所述矩阵形式排列的多个存储单元,所述单元与所述位线、所述字线、所述参考数据输入线、所述运算数据输出线、和所述单元选择线相连接,
其中,所述存储单元包括:
存储数据“1”或“0”的存储单元;
接收所述参考数据的参考数据输入单元,所述参考数据输入单元与所述参考数据输入线相连接;
利用存储在所述存储单元中的存储数据和从所述参考数据输入单元接收的参考数据进行逻辑运算的运算功能单元;
把在所述运算功能单元中获得的运算数据输出到所述运算数据输出线的运算数据输出单元,所述运算数据输出单元与所述运算数据输出线相连接;
接收所述单元选择信号的单元选择信号输入单元,所述单元选择信号输入单元与所述单元选择线相连接;和
根据在所述单元选择信号输入单元中接收的所述单元选择信号,把通过所述运算功能单元中的运算获得的所述运算数据输出到所述运算数据输出单元,其中,所述多条选择线是所述多条单元选择线;和
其中,所述矩阵的一个方向是沿着所述单元选择线的方向。
7.根据权利要求7所述的存储设备,其中,所述存储单元的所述运算功能单元并行地进行数种逻辑运算;和
其中,所述存储单元与所述多条运算数据输出线相连接,以分别输出由所述数种逻辑运算获得的数项运算数据。
8.根据权利要求6所述的存储设备,其中,所述存储块还包括利用从所述多条运算数据输出线输出的至少一部分所述运算数据进行数值计算的辅助运算单元。
9.根据权利要求8所述的存储设备,其中,所述辅助运算单元含有:
第1多个辅助运算单元,每一个用于利用从每个分区中与激活分单元选择线相关的多个存储单元输出的运算数据,进行第1数值计算;和
第2多个辅助运算单元,每一个用于按所述第1多个辅助运算单元的预定个,利用在所述第1辅助运算单元的所述预定个中的运算所得的运算数据,进行第2数值计算。
10.根据权利要求9所述的存储设备,其中,所述第1数值计算是减法,和所述第2数值计算是绝对值计算。
11.根据权利要求6所述的存储设备,还包括根据从所述一个或多个存储块输出的所述运算数据进行数据处理的电路块。
12.一种从随时间位移的参考帧和搜索帧中检测运动矢量的运动矢量检测器,包括:
第1存储单元,用于存储构成所述参考帧的数项像素数据;
第2存储单元,用于存储构成所述搜索帧的数项像素数据;
运算单元,用于接收从所述第1存储单元中读出的参考块的像素数据和搜索块中多个候选块的像素数据,所述多个候选块的像素数据与所述参考块相关和是从所述第2存储单元中读出的,和用于与多个候选块的每一个相关,按相应像素数据项计算所述多个候选块中的像素数据与所述参考块的像素数据之间的差值;和
运动矢量检测单元,用于根据在所述运算单元中运算的、为与多个候选块的每一个相关的每个像素数据项计算的所述差值,检测与所述参考块相关的运动矢量;
其中,所述第1和第2存储单元的每一个包括一个或多个半导体存储块;
其中,所述半导体存储块含有:
多条位线;
与所述多条位线垂直相交的多条字线;和
以矩阵形式排列和与所述位线和所述字线相连接的多个存储单元;
其中,以矩阵形式排列的所述多个存储单元的区域含有沿着字线方向划分的多个分区;
其中,所述多条字线的每一条由与所述多个分区相对应划分的多条分字线组成;和
其中,所述半导体存储块还含有转换在所述分区中同时激活的分字线的转换机构。
13.根据权利要求12所述的运动矢量检测器,其中,每个分区中与一条分字线相关的多个存储单元存储整多个垂直或水平阵列的构成图像数据的像素数据。
14.一种从随时间位移的参考帧和搜索帧中检测运动矢量的运动矢量检测器,包括:
第1存储单元,用于存储构成所述参考帧的数项像素数据;
第2存储单元,用于接收从所述第1存储单元中读出的参考块的像素数据,作为参考数据,和用于与多个候选块的每一个相关,按相应像素数据项计算与所述参考块相关的搜索区中的多个候选块中的像素数据与所述参考块的像素数据之间的差值;和
运动矢量检测单元,用于根据在所述第2存储单元中运算的、为与多个候选块的每一个相关的每个像素数据项计算的所述差值,检测与所述参考块相关的运动矢量;
其中,所述第1存储单元包括一个或多个第1半导体存储块,和所述第2存储块包括一个或多个第2半导体存储块;
其中,所述第1半导体存储块含有:
多条位线;
与所述多条位线垂直相交的多条字线;和
以矩阵形式排列和与所述位线和所述字线相连接的多个存储单元,
其中,以矩阵形式排列的所述多个存储单元的区域含有沿着字线方向划分的多个分区;
其中,所述多条字线的每一条由与所述多个分区相对应划分的多条分字线组成;
其中,所述第1半导体存储块还含有转换在分区中同时激活的分字线的转换机构;
其中,所述第2半导体存储块含有:
多条位线;
与所述多条位线垂直相交的多条字线;
接收参考数据的多条参考数据输入线,所述参考数据输入线与所述位线垂直相交或沿着所述位线平行延伸;
输出运算数据的多条运算数据输出线,所述运算数据输出线与所述多条位线垂直相交或沿着所述位线平行延伸;
接收单元选择信号的多条单元选择线,所述单元选择线与所述多条字线垂直相交或沿着所述多条字线平行延伸;
以矩阵形式排列的多个存储单元,所述单元与所述位线、所述字线、所述参考数据输入线、所述运算数据输出线、和所述单元选择线相连接;和
利用从所述多条运算数据输出线输出的至少一部分所述运算数据进行数值运算,以获得所述差值的辅助运算单元,
其中,所述存储单元包括:
存储数据“1”或“0”的存储单元;
接收所述参考数据的参考数据输入单元,所述参考数据输入单元与所述参考数据输入线相连接;
利用存储在所述存储单元中的存储数据和从所述参考数据输入单元接收的参考数据进行逻辑运算的运算功能单元;
把在所述运算功能单元中获得的运算数据输出到所述运算数据输出线的运算数据输出单元,所述运算数据输出单元与所述运算数据输出线相连接;
接收所述单元选择信号的单元选择信号输入单元,所述单元选择信号输入单元与所述单元选择线相连接;和
根据在所述单元选择信号输入单元中接收的所述单元选择信号,把通过所述运算功能单元中的运算获得的所述运算数据输出到所述运算数据输出单元的输出控制单元;
其中,以矩阵形式排列的所述多个存储单元的区域含有沿着单元选择线方向划分的多个分区;
其中,所述多条单元选择线的每一条由与多个分区相对应划分的多条分单元选择线组成;和
其中,所述第2半导体存储块还含有转换在关联分区中同时激活的分单元选择线的转换机构。
15.根据权利要求14所述的运动矢量检测器,其中,在每个分区中与一条分单元选择线相关的多个存储单元存储整多个垂直或水平阵列的构成图像数据的像素数据。
16.一种在运动矢量检测电路中从随时间位移的参考帧和搜索帧中检测运动矢量,和利用运动矢量进行运动补偿的运动补偿预测编码器,其中,所述运动矢量检测电路包括:
第1存储单元,用于存储构成所述参考帧的数项像素数据;
第2存储单元,用于存储构成所述搜索帧的数项像素数据;
运算单元,用于接收从所述第1存储单元中读出的参考块的像素数据和搜索块中多个候选块的像素数据,所述多个候选块的像素数据与所述参考块相关和是从所述第2存储单元中读出的,和用于与多个候选块的每一个相关,按相应像素数据项计算所述多个候选块中的像素数据与所述参考块的像素数据之间的差值;和
运动矢量检测单元,用于根据在所述运算单元中运算的、为与多个候选块的每一个相关的每个像素数据项计算的所述差值,检测与所述参考块相关的运动矢量;
其中,所述第1和第2存储单元的每一个包括一个或多个半导体存储块;
其中,所述半导体存储块含有:
多条位线;
与所述多条位线垂直相交的多条字线;和
以矩阵形式排列和与所述位线和所述字线相连接的多个存储单元;
其中,以矩阵形式排列的所述多个存储单元的区域含有沿着字线方向划分的多个分区;
其中,所述多条字线的每一条由与所述多个分区相对应划分的多条分字线组成;和
其中,所述半导体存储块还含有转换在所述分区中同时激活的分字线的转换机构。
17.一种在运动矢量检测电路中从随时间位移的参考帧和搜索帧中检测运动矢量,和利用运动矢量进行运动补偿的运动补偿预测编码器,其中,所述运动矢量检测电路包括:
第1存储单元,用于存储构成所述参考帧的数项像素数据;
第2存储单元,用于接收从所述第1存储单元中读出的参考块的像素数据,作为参考数据,和用于与多个候选块的每一个相关,按相应像素数据项计算与所述参考块相关的搜索区中的多个候选块中的像素数据与所述参考块的像素数据之间的差值;和
运动矢量检测单元,用于根据在所述第2存储单元中运算的、为与多个候选块的每一个相关的每个像素数据项计算的所述差值,检测与所述参考块相关的运动矢量;
其中,所述第1存储单元包括一个或多个第1半导体存储块,和所述第2存储块包括一个或多个第2半导体存储块;
其中,所述第1半导体存储块含有:
多条位线;
与所述多条位线垂直相交的多条字线;和
以矩阵形式排列和与所述位线和所述字线相连接的多个存储单元,
其中,以矩阵形式排列的所述多个存储单元的区域含有沿着字线方向划分的多个分区;
其中,所述多条字线的每一条由与所述多个分区相对应划分的多条分字线组成;
其中,所述第1半导体存储块还含有对在分区中同时激活的分字线进行转换的转换机构;
其中,所述第2半导体存储块含有:
多条位线;
与所述多条位线垂直相交的多条字线;
接收参考数据的多条参考数据输入线,所述参考数据输入线与所述位线垂直相交或沿着所述位线平行延伸;
输出运算数据的多条运算数据输出线,所述运算数据输出线与所述多条位线垂直相交或沿着所述位线平行延伸;
接收单元选择信号的多条单元选择线,所述单元选择线与所述多条字线垂直相交或沿着所述多条字线平行延伸;
以矩阵形式排列的多个存储单元,所述单元与所述位线、所述字线、所述参考数据输入线、所述运算数据输出线、和所述单元选择线相连接;和
利用从所述多条运算数据输出线输出的至少一部分所述运算数据进行数值运算,以获得所述差值的辅助运算单元,
其中,所述存储单元包括:
存储数据“1”或“0”的存储单元;
接收所述参考数据的参考数据输入单元,所述参考数据输入单元与所述参考数据输入线相连接;
利用存储在所述存储单元中的存储数据和从所述参考数据输入单元接收的参考数据进行逻辑运算的运算功能单元;
把在所述运算功能单元中获得的运算数据输出到所述运算数据输出线的运算数据输出单元,所述运算数据输出单元与所述运算数据输出线相连接;
接收所述单元选择信号的单元选择信号输入单元,所述单元选择信号输入单元与所述单元选择线相连接;和
根据在所述单元选择信号输入单元中接收的所述单元选择信号,把通过所述运算功能单元中的运算获得的所述运算数据输出到所述运算数据输出单元的输出控制单元;
其中,以矩阵形式排列的所述多个存储单元的区域含有沿着单元选择线方向划分的多个分区;
其中,所述多条单元选择线的每一条由与多个分区相对应划分的多条分单元选择线组成;和
其中,所述第2半导体存储块还含有对在关联分区中同时激活的分单元选择线进行转换的转换机构。
CN038002795A 2002-01-11 2003-01-10 存储设备、运动矢量检测器、和运动补偿预测编码器 Expired - Fee Related CN1509475B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP4955/2002 2002-01-11
JP2002004955A JP4165070B2 (ja) 2002-01-11 2002-01-11 半導体メモリ装置、動きベクトル検出装置および動き補償予測符号化装置
JP52022/2002 2002-02-27
JP2002052022A JP4273695B2 (ja) 2002-02-27 2002-02-27 動きベクトル検出装置
PCT/JP2003/000166 WO2003060921A1 (fr) 2002-01-11 2003-01-10 Circuit a cellule de memoire, memoire, detecteur de vecteur de mouvement et codeur de prediction de compensation de mouvement

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN2007101619517A Division CN101127236B (zh) 2002-01-11 2003-01-10 存储单元电路
CN2007101619663A Division CN101127237B (zh) 2002-01-11 2003-01-10 存储设备和运动矢量检测器

Publications (2)

Publication Number Publication Date
CN1509475A CN1509475A (zh) 2004-06-30
CN1509475B true CN1509475B (zh) 2010-05-26

Family

ID=26625499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038002795A Expired - Fee Related CN1509475B (zh) 2002-01-11 2003-01-10 存储设备、运动矢量检测器、和运动补偿预测编码器

Country Status (4)

Country Link
US (2) US7573939B2 (zh)
KR (1) KR100927760B1 (zh)
CN (1) CN1509475B (zh)
WO (1) WO2003060921A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889304B2 (en) * 2001-02-28 2005-05-03 Rambus Inc. Memory device supporting a dynamically configurable core organization
US7500075B1 (en) 2001-04-17 2009-03-03 Rambus Inc. Mechanism for enabling full data bus utilization without increasing data granularity
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US8391039B2 (en) 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
US6825841B2 (en) * 2001-09-07 2004-11-30 Rambus Inc. Granularity memory column access
EP1557840B1 (en) * 2002-10-15 2012-12-05 Sony Corporation Memory device, motion vector detection device, and detection method
US8094723B2 (en) * 2003-12-31 2012-01-10 Intel Corporation Motion estimation sum of all differences (SAD) array having reduced semiconductor die area consumption
CN100401371C (zh) 2004-02-10 2008-07-09 恩益禧电子股份有限公司 能够实现高速访问的图像存储器结构
US8190808B2 (en) * 2004-08-17 2012-05-29 Rambus Inc. Memory device having staggered memory operations
US7301831B2 (en) 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
US7280428B2 (en) 2004-09-30 2007-10-09 Rambus Inc. Multi-column addressing mode memory system including an integrated circuit memory device
US7254075B2 (en) * 2004-09-30 2007-08-07 Rambus Inc. Integrated circuit memory system having dynamic memory bank count and page size
US8595459B2 (en) 2004-11-29 2013-11-26 Rambus Inc. Micro-threaded memory
CN1870873A (zh) * 2005-05-28 2006-11-29 深圳富泰宏精密工业有限公司 铰链装置及应用该铰链装置的便携式电子装置
US20070260841A1 (en) 2006-05-02 2007-11-08 Hampel Craig E Memory module with reduced access granularity
US8923400B1 (en) 2007-02-16 2014-12-30 Geo Semiconductor Inc Method and/or apparatus for multiple pass digital image stabilization
US8149911B1 (en) * 2007-02-16 2012-04-03 Maxim Integrated Products, Inc. Method and/or apparatus for multiple pass digital image stabilization
JP4876080B2 (ja) * 2008-01-25 2012-02-15 富士重工業株式会社 環境認識装置
JP4956452B2 (ja) * 2008-01-25 2012-06-20 富士重工業株式会社 車両用環境認識装置
JP5286805B2 (ja) * 2008-01-31 2013-09-11 沖電気工業株式会社 動きベクトル検出装置及び方法、動画像符号化装置及び方法、並びに、動画像復号化装置及び方法
EP2330011B1 (en) 2008-08-26 2016-10-05 Hitachi, Ltd. Operation arrangement support system and method thereof
US9268719B2 (en) 2011-08-05 2016-02-23 Rambus Inc. Memory signal buffers and modules supporting variable access granularity
US9570192B1 (en) * 2016-03-04 2017-02-14 Qualcomm Incorporated System and method for reducing programming voltage stress on memory cell devices
US10460817B2 (en) * 2017-07-13 2019-10-29 Qualcomm Incorporated Multiple (multi-) level cell (MLC) non-volatile (NV) memory (NVM) matrix circuits for performing matrix computations with multi-bit input vectors
CN114566207B (zh) * 2022-04-29 2022-07-19 长鑫存储技术有限公司 存储器的测试方法及测试装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59110086A (ja) 1982-12-14 1984-06-25 Nippon Telegr & Teleph Corp <Ntt> 集積記憶回路
JPH01267600A (ja) 1988-04-19 1989-10-25 Hitachi Ltd バッファメモリ
JPH01294295A (ja) * 1988-05-20 1989-11-28 Fujitsu Ltd パーシャル・ランダム・アクセス・メモリ
JP2683919B2 (ja) * 1988-07-29 1997-12-03 三菱電機株式会社 半導体記憶装置
JPH02246087A (ja) * 1989-03-20 1990-10-01 Hitachi Ltd 半導体記憶装置ならびにその冗長方式及びレイアウト方式
JPH0547173A (ja) * 1991-08-09 1993-02-26 Mitsubishi Electric Corp ダイナミツク型半導体記憶装置および画像データ発生装置
JP3114305B2 (ja) 1991-11-29 2000-12-04 川崎製鉄株式会社 記憶装置及びそのアドレス指定方法
JPH05206398A (ja) 1992-01-28 1993-08-13 Toshiba Corp 半導体記憶装置
JP2557594B2 (ja) * 1992-04-16 1996-11-27 株式会社東芝 半導体記憶装置
JPH0695937A (ja) 1992-09-11 1994-04-08 Daikin Ind Ltd メモリアクセス装置
JP3277418B2 (ja) 1993-09-09 2002-04-22 ソニー株式会社 動きベクトル検出装置および方法
JP2842181B2 (ja) * 1993-11-04 1998-12-24 日本電気株式会社 半導体メモリ装置
JPH07250328A (ja) * 1994-01-21 1995-09-26 Mitsubishi Electric Corp 動きベクトル検出装置
JP3494306B2 (ja) 1994-01-31 2004-02-09 ソニー株式会社 動き量検出方法及び動き量検出装置
JP3280867B2 (ja) 1996-10-03 2002-05-13 シャープ株式会社 半導体記憶装置
TW358296B (en) * 1996-11-12 1999-05-11 Matsushita Electric Ind Co Ltd Digital picture encoding method and digital picture encoding apparatus, digital picture decoding method and digital picture decoding apparatus, and data storage medium
JP4215844B2 (ja) * 1997-11-05 2009-01-28 日本テキサス・インスツルメンツ株式会社 半導体記憶装置
JP3861957B2 (ja) 1998-02-03 2006-12-27 ソニー株式会社 記憶装置、並びに書き込み方法および読み出し方法
JPH11312885A (ja) * 1998-04-27 1999-11-09 Oki Electric Ind Co Ltd 電子機器の冷却構造
JP3376301B2 (ja) * 1998-12-04 2003-02-10 株式会社東芝 半導体記憶装置
FI990038A (fi) * 1999-01-11 2000-07-12 Nokia Mobile Phones Ltd Menetelmä dynaamisen muistin virkistämiseksi
JP2000287214A (ja) 1999-03-31 2000-10-13 Toshiba Corp 動き検出方法および装置
JP2001195893A (ja) * 2000-01-13 2001-07-19 Mitsubishi Electric Corp スタティック型半導体記憶装置
JP4535563B2 (ja) * 2000-04-28 2010-09-01 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP2003036671A (ja) 2001-07-25 2003-02-07 Matsushita Electric Ind Co Ltd メモリコア、マルチポートビデオメモリ、および画像信号処理装置
US6970509B2 (en) * 2001-07-31 2005-11-29 Wis Technologies, Inc. Cell array and method of multiresolution motion estimation and compensation
JP4595270B2 (ja) 2001-09-14 2010-12-08 ソニー株式会社 記憶装置およびそれを用いた画像処理装置
JP2003109380A (ja) 2001-09-28 2003-04-11 Sony Corp 記憶装置、記憶方法、および記憶装置のアクセス方法
US6901027B2 (en) * 2002-04-30 2005-05-31 Sony Corporation Apparatus for processing data, memory bank used therefor, semiconductor device, and method for reading out pixel data

Also Published As

Publication number Publication date
US7573939B2 (en) 2009-08-11
CN1509475A (zh) 2004-06-30
WO2003060921A1 (fr) 2003-07-24
KR100927760B1 (ko) 2009-11-20
KR20040074910A (ko) 2004-08-26
US20040120197A1 (en) 2004-06-24
US20090154566A1 (en) 2009-06-18

Similar Documents

Publication Publication Date Title
CN1509475B (zh) 存储设备、运动矢量检测器、和运动补偿预测编码器
CN1706001B (zh) 存储器器件和检测运动向量的设备和方法
US9411726B2 (en) Low power computation architecture
JP3251421B2 (ja) 半導体集積回路
US20160232951A1 (en) Compute memory
US5331585A (en) Orthogonal transformation processor for compressing information
CN1316856A (zh) 运动估计器
US20210232899A1 (en) Neural electronic circuit
US5583803A (en) Two-dimensional orthogonal transform processor
CN101127237B (zh) 存储设备和运动矢量检测器
JP2022539495A (ja) 負および正の値に対する非対称スケーリングファクタをサポートするシステムおよび方法
JP4224876B2 (ja) 記憶装置、並びに書き込み方法および読み出し方法
EP0722630A1 (en) Low power analog absolute differencing circuit and architecture
Wichard et al. Time series prediction with ensemble models applied to the CATS benchmark
JPS62251881A (ja) 画像処理装置
KR20240025540A (ko) 깊이별 콘볼루션을 위한 메모리 아키텍처에서의 컴퓨테이션
JP4543307B2 (ja) メモリ装置、および動きベクトルの検出装置
Li et al. RAWAtten: Reconfigurable accelerator for window attention in hierarchical vision transformers
JPH07200539A (ja) 二次元dct演算装置
Saber et al. Most effective sampling scheme for prediction of stationary stochastic processes
KR100246033B1 (ko) 고속 실시간 처리 움직임 추정을 위한 연산방법 및 이를 위한 연산장치
KR920006286B1 (ko) 움직임 보상연산 방법
JP4273695B2 (ja) 動きベクトル検出装置
Han et al. CAT: Using Cross Attention Transformation to Build Correlation of RGB-D for Road Detection
Zimmermann et al. Modeling of the german yield curve by error correction neural networks

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

Termination date: 20140110