CN1649416A - 运动矢量检测装置以及移动图像照相机 - Google Patents

运动矢量检测装置以及移动图像照相机 Download PDF

Info

Publication number
CN1649416A
CN1649416A CNA2004101015689A CN200410101568A CN1649416A CN 1649416 A CN1649416 A CN 1649416A CN A2004101015689 A CNA2004101015689 A CN A2004101015689A CN 200410101568 A CN200410101568 A CN 200410101568A CN 1649416 A CN1649416 A CN 1649416A
Authority
CN
China
Prior art keywords
block
unit
motion vector
control unit
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004101015689A
Other languages
English (en)
Other versions
CN100382604C (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.)
Nuvoton Technology Corp Japan
Original Assignee
松下电器产业株式会社
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 松下电器产业株式会社 filed Critical 松下电器产业株式会社
Publication of CN1649416A publication Critical patent/CN1649416A/zh
Application granted granted Critical
Publication of CN100382604C publication Critical patent/CN100382604C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D13/00Pumping installations or systems
    • F04D13/02Units comprising pumps and their driving means
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D13/00Pumping installations or systems
    • F04D13/02Units comprising pumps and their driving means
    • F04D13/06Units comprising pumps and their driving means the pump being electrically driven
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D13/00Pumping installations or systems
    • F04D13/12Combinations of two or more pumps
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F04POSITIVE - DISPLACEMENT MACHINES FOR LIQUIDS; PUMPS FOR LIQUIDS OR ELASTIC FLUIDS
    • F04DNON-POSITIVE-DISPLACEMENT PUMPS
    • F04D15/00Control, e.g. regulation, of pumps, pumping installations or systems
    • F04D15/02Stopping of pumps, or operating valves, on occurrence of unwanted conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种参照参考帧对包括在目标帧中的目标块进行运动矢量检测的运动矢量检测装置,该装置包括:参考帧存储单元,存储由预定数量的参考块构成的参考帧;目标块存储单元,存储包括在目标帧中的目标块;参考块存储单元,包括检测区,存储包括与所述目标块相对应的参考块在内的参考块,以及预备区;写入单元,读取在包括与后继目标块相对应的参考块在内的参考块中未被存储在检测区内的参考块,并将读取的参考块写入所述预备区;以及检测单元,参照所述参考块对运动矢量进行检测。

Description

运动矢量检测装置以及移动图像照相机
本申请以在日本递交的申请号为2004-017674的申请为基础,该申请的内容在此引用以作参考。
技术领域
本发明涉及一种在运动补偿预测编码过程中检测运动矢量的技术,该运动补偿预测编码是移动图像的压缩方法之一。
背景技术
近年来,已经出现一种能够实现高压缩比的图像压缩技术。这项技术可以用于数码相机和数码摄像机。
MPEG(移动图像专家组)是一种为人们所熟知的移动图像压缩方法。在MPEG方法中,采用运动补偿预测对图像数据进行有效地压缩,通过这项技术只需对目标图像的位移数据和差分数据进行编码。在这种运动补偿预测方法中,可以采用多种方法,例如块匹配法,计算表示目标图像位移的运动矢量。
专利文献1[早期公开号为3-85884(美国的专利申请号为5,173,771)的日本专利]提供了一种参考图像数据缓冲器,其包括第一存储体和第二存储体。将沿参考帧图像中的水平方向设置并且作为一个处理单元的四十三块图像写入第一存储体。每一块图像由16像素×8行组成。读取存储在第一存储体中的图像数据以计算运动矢量。与此同时,将参考帧图像中紧随其后的处理单元写入第二存储体,接下来将对这一单元进行处理。然后,第一存储体再接替第二存储体的作用,反之亦然。读取存储在第二存储体中的数据,计算运动矢量,与此同时将参考帧图像中接下来的处理单元写入第一存储体。这些操作将按照上述规律重复进行。
下面将对专利文献1中给出的方法予以说明,这里假设参考图像数据缓冲器的容量尽可能小。更确切地说,假设一帧图像由128像素×128行的图像数据组成。将一帧图像平均分为六十四(8×8)个宏块。在该帧中,按照由左至右、从上到下的顺序对宏块进行编号。一个宏块包括16像素×16行的图像数据。在下文中,将宏块的编号称为“块编号”。而且,将包括在参考帧图像中块编号为“n”的宏块称为“参考块n”,将包括在目标帧图像中编号为“n”的宏块称为“目标块n”,其余依此类推。另外,构成参考帧图像的宏块称为参考块,构成目标帧图像的宏块称为目标块。
如图25A所示,参考图像数据缓冲器200包括第一存储体50和第二存储体51。各存储体由9个区组成,并且各区具有存储一个宏块的容量。
在一个目标块运动矢量的检测过程中,“参考区”是指位于包含3行×3列参考块的参考帧图像中的区,使得与目标块具有相同编号的参考块位于这些参考块的中心。参考帧图像存储在参考帧存储器中。
首先,如图25A所示,第一存储体50中编号为50e、50f、50h和50i的区分别存储参考块“1”、参考块“2”、参考块“9”和参考块“10”。这些参考块包括在目标块编号为“1”的参考区内。
接下来,如图25B所示,在存储在第一存储体的参考块中检测运动矢量。与此同时,包括在目标块编号为“2”的参考区内的编号为“1”、“2”、“3”、“9”、“10”和“11”的参考块从参考帧存储器中分别传输到第二存储体51的区51e到区51i中。
接下来,第一存储体50将接替第二存储体的任务,反之亦然。然后,如图25C所示,包括在目标块编号为“3”的参考区内的参考块“2”、“3”、“4”、“10”、“11”和“12”从参考帧存储器分别传输到第一存储体的区50d到50i中。与此同时,在存储在第二存储体51的参考块中检测运动矢量。
有关检测运动矢量的操作将按照上述描述重复进行。
这里,在图25B中,存储在第一存储体50的区50h内的参考块“2”和存储在第二存储体51的区51e内的参考块“2”是冗余的。另外,存储在第一存储体50的区50i中的参考块“10”和存储在第二存储体51的区51f内的参考“10”也是冗余的。而且,在图25C中,参考块“2”、参考块“3”、参考块“10”和参考块“11”既存储在第一存储体50中,又存储在第二存储体51中。
存储在参考图像数据缓冲器200中的参考块根据需要从参考帧存储器中传输。因此,在上述情况中,会多次将相同的数据从参考帧存储器传输到参考图像数据缓冲器中,这种做法会降低工作效率。
发明内容
因此,本发明的目的在于提供一种运动矢量检测装置、运动矢量检测方法以及移动图像照相机,其能够减少从参考帧存储器到参考图像数据缓冲器的冗余数据传输。
上述目的通过运动矢量检测装置实现,该装置参照参考帧以检测包括在目标帧的目标块的运动矢量,该装置包括:参考帧存储单元,用于存储由预订数目的参考块组成的参考帧;目标块存储单元,用于存储包括在目标帧中的目标块;包含检测区和预备区的参考块存储单元,其中检测区存储多个参考块,其中包括与所述目标块相对应的参考块;写入单元,用于在包括与后继目标块相对应的参考块的多个参考块中读取一个或多个未存储在检测区内的参考块,并将读取的参考块写入预备区中,后继目标块与所述目标块相邻;检测单元,根据存储在检测区内的参考块检测目标块的运动矢量。
根据所述结构,参考块存储单元包括预备区,而且在包括与后继目标块相对应的参考块在内的多个参考块中,写入单元只把未存储在检测区内的参考块写入预备区。因此,按照本发明的运动矢量检测装置,在将检测后继目标块的运动矢量所需的参考块从参考帧存储单元传输到参考块存储单元的过程中,可以消除先前读取的用于检测目标块运动矢量的参考块和用于检测后继目标块运动矢量的参考块之间的冗余。
检测单元可以在写入单元执行写入操作的同时检测目标块的运动矢量。
根据所述功能,可以提高运动矢量检测的处理速度。
上述目标是由一运动矢量检测装置完成的,该装置能够在参考帧的基础上检测出包括在目标帧中的目标块的运动矢量,其包括:参考帧存储单元,用于存储由预订数目的参考块组成的参考帧;目标块存储单元,用于存储包括在目标帧中的目标块;参考块存储单元,用于存储多个参考块,其中包含与目标块相对应的参考块;设置单元,用于在参考块存储单元中根据目标块在目标帧中所处的位置设置检测区和预备区,在检测区中存储多个参考块,其中包括与目标块相对应的参考块;写入单元,用于在多个参考块(包括与后继目标块相对应的参考块)中读取一个或多个未存储在检测区内的参考块,并将所读取的参考块写入预备区,所述后继目标块与该目标块相邻;检测单元,可以基于存储在检测区中的参考块检测目标块的运动矢量。
根据所述结构,可以将参考块存储单元中的任一区设置为检测区。这意味着,可以连续检测目标帧中相邻目标块的运动矢量。
检测单元可以在写入单元执行写入操作的同时检测目标块的运动矢量。
利用所述功能,可以提高运动矢量检测的处理速度。
设置单元可以通过对检测区的设置,将对应于目标块的参考块设置在检测区的中央。
凭借所述功能,可以精确地检测到各目标块的运动矢量。
可以通过物理地址标识存储在参考块存储单元中的各参考块,这一物理地址指示出存储在参考块存储单元中的参考块的位置,所述检测单元包括:指定单元,用于指定一逻辑地址,这一逻辑地址可以标识参考块在检测区中所处的位置;转换单元,用于将逻辑地址转换为物理地址;读取单元,用于从参考块存储单元中逐像素地读取根据物理地址确定的参考块;重复控制单元,用于控制指定单元、转换单元和读取单元,使之循环往复地完成检测区内所有参考块的指定、转换和读取操作;计算单元,利用读取的参考块和目标块计算目标块的运动矢量。
凭借所述功能,无论检测区在参考块存储单元中所处的位置如何,运动矢量都可以得到检测。这是充分利用了参考块存储单元。
参考块存储单元可以存储多个参考块,其中包括与目标块相对应的参考块,这里的目标块与目标帧的边缘相邻,设置单元把包括与目标块相对应的参考块在内的多个参考块设置为检测区中的计算范围,检测单元会基于检测区内包括在计算范围中的参考块检测运动矢量。
凭借所述结构,可以精确地检测到与目标帧边缘相邻的目标块图像的运动矢量。
参考帧存储单元可以包含多个存储单元,这些存储单元按照矩阵形式排列,可以通过一个行地址和一个列地址确定各存储单元的位置,构成参考帧的各参考块存储在多个存储单元中,这些存储单元的位置由相同的行地址确定,写入单元从多个存储单元(它们的位置由相同的行地址指定)中读取参考块。
根据所述结构,可以先固定一个行地址,然后,只需按顺序指定列地址就可以高速读取参考帧图像。
参考块存储单元可以包含一存储3行×4列参考块的区域,设置单元可以将检测区设置为一个存储3行×3行参考块的区域,预备区则可以存储3行×1列参考块。
凭借所述结构,可以对构成目标帧图像某一行的目标块的运动矢量进行连续检测。
参考块存储单元可以包含一个存储3行×5列参考块的区域,设置单元可以将检测区设置成一个存储3行×3列的区域,预备区则可以存储3行×2列参考块。
凭借所述结构,可以对构成一个目标帧的各目标块的运动矢量进行连续检测。
附图说明
下述说明连同所附的体现本发明具体实施例的附图可以清晰地描述本发明所具有的这些和其它目的、优点和特征。
图1示出了移动图像照相机100的结构框图;
图2示出了移动图像照像机100所处理的帧图像的一个示例;
图3示出了运动检测装置130的结构框图;
图4示出了第一实施例中参考图像数据缓冲器134的结构;
图5示出了根据在目标帧上的位置对各目标块的分类;
图6示出了参考图像数据缓冲器134的物理地址和运动矢量计算单元所使用的逻辑地址空间234之间的关系;
图7示出了运动检测单元130所执行的检测构成一帧的目标块的运动矢量的操作流程图(接图8);
图8示出了运动检测单元130所执行的检测构成一帧的目标块的运动矢量的操作流程图(接图7);
图9示出了参考帧存储器控制单元133所执行的选择参考块的操作流程图;
图10示出了运动检测单元所执行的检测各目标块的运动矢量的操作流程图;
图11示出了运动检测控制单元132所执行的选择写入目的地的操作流程图;
图12示出了参考图像数据缓冲器134中的检测区的转换图;
图13示出了第一实施例的效果图;
图14示出了在第二实施例中运动检测单元130b的结构方框图;
图15示出了在第二种实施例中参考图像数据缓冲器134b的结构方框图;
图16示出了参考图像数据缓冲器134b的物理地址和运动矢量计算单元所采用的逻辑地址空间234b之间的关系;
图17示出了运动检测单元130b所执行的检测构成一帧的目标块的运动矢量的操作流程图(接图18);
图18示出了运动检测单元130b所执行的检测构成一帧的目标块的运动矢量的操作流程图(接图17);
图19示出了运动检测单元130b所执行的检测一个目标块的运动矢量的操作流程图;
图20示出了运动检测控制单元132b所执行的选择写入目的地的操作流程图;
图21示出了参考图像数据缓冲器134b中检测区的转换图;
图22示出了在变型例(1)中参考帧存储器131所存储的参考帧的示例;
图23在时间行上示出了在存储页模式下进行参考帧存储器131的写入/读取操作时,输出到参考帧存储器的时钟信号、指令类型、地址类型以及输入到参考帧存储器131或由其输出的像素数据示意图;
图24在时间行上示出了在脉冲模式下进行参考帧存储器131的写入/读取操作时,输出到参考帧存储器的时钟信号、指令类型、地址类型以及输入到参考帧存储器131或由其输出的像素数据的示意图;
图25示出了采用传统技术的参考图像数据缓冲器200的结构及其检测区转换的示意图;
具体实施方式
1.第一实施例
下面按照本发明的优选实施例描述移动图像照像机100。
1.1移动图像照像机100的结构
如图1所示,移动图像照像机100包括照像机单元101、分类单元102、开关103、减法单元104、DCT单元105、量化单元106、可变长度编码单元107、缓冲存储器108、速率控制单元109、主存储器110、预测图像生成单元123、加法单元124、反DCT单元125、反量化单元126、开关127、运动检测单元130和参考帧存储器131。
照像机单元101在固定的时间间隔上由探测到的光生成由128像素×128行组成的帧图像信号。基于所生成的帧图像信号,照像机单元101生成由量度信号Y和色差信号Cr、Cb组成的帧图像。之后,照像机单元101将这一帧图像输出到分类单元102。
分类单元102接收来自照像机单元101的帧图像,并确定该帧图像的类别,即由帧内编码生成的I-图像(帧内编码图像)、由帧间编码生成的P-图像(预测图像)或B-图像(双向图像)。首先,分类单元102将I-图像输出至减法单元104,然后,将P-图像和B-图像输出至减法单元104和运动检测单元130。如图2所示,由分类单元102处理的各帧图像都包括六十四个宏块,这些宏块通过将帧图像300等分成8行8列生成。各宏块包括16像素×16行的像素数据。这些宏块从1到64连续编码,具体的编码方式为:第一行的八个宏块从左至右的编码为1到8,第二行的八个编码从左至右的编码为9到16,其余依此类推。各块编号表示宏块在帧图像中所处的位置和编码的顺序。
当输出编码为“1”的P-图像或I-图像的宏块时,分类单元102将表示帧图像开始的控制信号输出到运动检测单元130。
在分类单元102、减法单元104、DCT单元105、量化单元106、可变长度编码单元107、预测图像生成单元123、加法单元124、反DCT单元125、反量化单元126、运动检测单元130和参考帧存储器131中,以宏块为单元进行帧图像的处理。
减法单元104接收到来自分类单元102的I-图像的宏块,并将接收到的宏块原封不动地输出给DCT单元105。而且,减法单元104还接收来自分类单元102的P-图像宏块或B-图像宏块,以及接收来自预测图像生成单元123的P-图像或B-图像宏块的预测图像,并通过从接收来自分类单元102的宏块减去预测图像而生成差分数据。减法单元104将生成的P-图像或B-图像宏块的差分数据输出到DCT单元105。
DCT单元105接收来自减法单元104的I-图像宏块。而且,DCT单元105还接收来自减法单元104的P-图像或B-图像宏块的差分数据。DCT单元105对接收到的I-图像宏块,以及P-图像宏块的差分数据或B-图像宏块的差分数据执行DCT变换(离散余弦变换),并由此生成DCT系数。然后,DCT单元105将生成的DCT系数输出到量化单元106。
量化单元106接收来自DCT单元105的I-图像宏块的DCT系数、P-图像宏块的差分数据的DCT系数以及B-图像宏块的差分数据的DCT系数。然后,量化单元106对接收到的DCT系数执行量化操作,以生成量化DCT系数,并将生成的I-图像宏块的量化DCT系数和P-图像宏块的差分数据的量化DCT系数输出到可变长度编码单元107和反量化单元126。而且,量化单元106还将B-图像宏块的差分数据的DCT系数输出到可变长度编码单元107。
可变长度编码单元107接收来自量化单元106的I-图像宏块的量化DCT系数、或P-图像宏块的差分数据的量化DCT系数、或B-图像宏块的差分数据的量化DCT系数。而且,可变长度编码单元107还接收来自运动检测单元130的P-图像或B-图像的运动矢量。然后,可变长度编码单元107根据接收到的各块数据的出现频率生成可变长度码,具体的方式是:可变编码单元107为出现频率高的数据块分配短代码,为出现频率低的数据块分配长代码。然后,可变长度编码单元107将生成的可变长度码输出到缓冲存储器108。
缓冲存储器108接收来自可变长度编码单元107的可变长度码,并将这些代码存储起来。存储在缓冲存储器108中的可变长度码将被输出到主存储器110。
速率控制单元109负责监测缓冲存储器108接收到的可变长度码中包含的比特数量,并对量化单元106的量化位阶进行优化。
主存储器110接收来自缓冲存储器108的可变长度码,并将这些代码存储起来。存储在主存储器110中的可变长度码将被输出到外部存储设备(CD-R、存储卡等)。
反量化单元126接收I-图像宏块的量化DCT系数,或P-图像宏块的差分数据的量化DCT系数。然后,反量化单元126对接收到的量化DCT系数执行反量化操作,以生成DCT系数。之后,反量化单元126将生成的I-图像宏块的DCT系数或P-图像宏块的差分数据的DCT系数输出到反DCT单元125。
反DCT单元125接收来自反量化单元126的I-图像宏块的DCT系数,或P-图像宏块的差分数据的DCT系数,并对接收到的DCT系数执行反DCT变换,进而生成I-图像的宏块或P-图像宏块的差分数据。之后,反DCT单元125将生成的I-图像宏块或P-图像宏块的差分数据输出到加法单元124。
加法单元124接收来自反DCT单元125的I-图像宏块或P-图像宏块的差分数据,以及来自预测图像生成单元123的P-图像宏块预测图像。之后,加法单元124将接受到的I-图像宏块原封不动地输出到参考帧存储器131。此外,加法单元124还将接收到的P-图像宏块的差分数据与P-图像宏块的预测图像相加,生成P-图像宏块,并将生成的P-图像宏块输出到参考帧存储器131。
参考帧存储器131接收来自加法单元124的I-图像宏块和P-图像宏块,并将接收到的这些宏块存储起来。
运动检测单元130接收来自分类单元102的P-图像宏块或B-图像宏块,并基于存储在参考帧存储器131内的I-图像宏块或P-图像宏块检测接收到的P-图像宏块或B-图像宏块的运动矢量,并将检测到的运动矢量输出到可变长度编码单元107和预测图像生成单元123。在面将对运动检测单元130进行详细说明。
预测图像生成单元123接收来自运动检测单元130的P-图像宏块或B-图像宏块的运动矢量,并基于接收的运动矢量和存储在参考帧存储器131内的I-图像或P-图像宏块生成P-图像或B-图像的预测图像。之后,预测图像生成单元123将生成的P-图像宏块的预测图像输出到减法单元104和加法单元124。另外,预测图像生成单元123还将B-图像宏块的预测图像输出到减法单元104。
1.2参考帧存储器131
参考帧存储器131由RAM构成,用于存储I-图像和P-图像的帧图像,在运动补偿预测编码中,运动矢量的检测和预测图像的生成都在这些帧图像的基础上完成。将由加法单元124输出并存储在参考帧存储器131中的I-图像或P-图像称为参考帧,并将构成各参考帧的宏块称为参考块。
1.3运动检测单元130
如图3所示,运动检测单元130包括运动检测控制单元132、参考帧存储器控制单元133、参考图像数据缓冲器134、目标图像数据缓冲器135、运动矢量计算单元136、输入单元137和输出单元138。
(1)输入单元137
输入单元137接收作为运动矢量检测目标的P-图像宏块或B-图像宏块(下文称该宏块为目标块),并将接收到的目标块传输到目标图像数据缓冲器135。与此同时,输入单元137将表示目标块接收的控制信号发送给运动检测控制单元132。需特别指出的是,当输入单元137接收到表示来自分类单元102的添加到目标块上的表示帧图像开始的控制信号时,输入单元137将接收到的表示帧图像开始的控制信号输出到运动检测控制单元132。
(2)参考图像数据缓冲器134和目标图像数据缓冲器135
如图3所示,参考图像数据缓冲器134包括141到144四个存储器,各存储器的容量为16像素×48行。存储器141到144分别由单独的总线146到149连接到运动矢量计算单元136和参考帧存储器控制单元133。存储器141到144还分别由单独的总线151到154连接到运动检测控制单元132。
各存储器有三个块区,各块区具有存储一个宏块的容量。图4示出了参考图像数据缓冲器134中此类块区的示意图。
如图4所示,参考图像数据缓冲器134由1到12共十二个块区组成,这些块区按照三行四列的矩阵形式排列。存储器141由第一列中的块区1、5和9组成,存储器142由第二列中的块区2、6和10组成。存储器143由第三列中的块区3、7和11组成,存储器144由第四列中的块区4、8和12组成。
第一行的块区1到4所分配的物理地址分别为“1”、“2”、“3”、“4”。第二行的块区5到8所分配的物理地址分别为“5”、“6”、“7”、“8”。第三行块区9到12所分配的物理地址分别为“9”、“10”、“11”、“12”。各物理地址表示相应块区所处的位置。
各块区都由按16行16列的矩阵形式排列的存储单元组成。各存储单元会分配一单元地址。更确切地说,物理地址为“1”的块区中第一行的十六个存储单元所分配的单元地址分别为0到15。物理地址为“2”的块区中第一行的存储单元所分配到的单元地址分别为16到31。物理地址为“3”的块区中第一行的存储单元所分配到的单元地址分别为32到47。物理地址为“4”的块区中第一行的存储单元所分配到的单元地址分别为48到63。另外,物理地址为“1”的块区中第二行的十六个存储单元所分配到的单元地址分别为64到79。物理地址为“2”的块区中第二行的存储单元所分配到的单元地址分别为80到95。物理地址为“3”的块区中第二行的存储单元所分配到的单元地址分别为96到111。物理地址为“4”的块区中第二行存储单元所分配到的单元地址分别为112到127。这样,连续的单元地址就通过这种方式分配给每行的六十四个存储单元,单元地址0到3071分别分配给参考图像数据缓冲器134中的3072个存储单元。
参考图像数据缓冲器134接收来自参考帧存储器控制单元133的参考块,并将接收到的参考块存储起来。
目标图像数据缓冲器135具有存储一个宏块的容量,其接收来自输入单元137的目标块,并将接收到的目标块存储起来。
(3)运动检测控制单元132
运动检测控制单元132按如下方式控制检测运动矢量的整个操作。
在下面针对运动矢量检测的说明中,“参考区”是指参考帧图像中包含3行×3列参考块的区域,使得与目标块具有相同编号的参考块包含在这些参考块的中心。
一帧的运动矢量检测的控制
在下述说明中,将包括构成帧图像一行的区域称为宏块行。将块编号为“n”的参考块称为参考块“n”,将块编号为“n”的目标块称为目标块“n”。
运动检测控制单元132通过下面的操作(i)到(iii)控制一帧图像的运动矢量检测。
(i)初始化
运动检测控制单元132通过输入单元137接收来自分类单元102的表示帧图像开始的控制信号。然后,运动检测控制单元132将块变量“n”的值设置为“1”,并利用块变量“n=1”设置PAT标志。
运动检测控制单元132会将块变量“n”存储起来,它表示作为运动矢量检测目标的目标块的块编号。在接收到来自输入单元137并表示已经接收到了目标块的控制信号后,运动检测控制单元132使块变量“n”加“1”。下面描述PAT标志。
(ii)各宏块行的重复操作
对目标帧中的各宏块行重复执行下述(A)到(C)操作。
(A)运动检测控制单元132将参考块写入参考图像数据缓冲器134。该参考块用于检测位于宏块行起始处的目标块的运动矢量。
(B)运动检测控制单元132对构成一个宏块行的第一到第七个目标块重复执行下面的操作(a)和操作(b)。
(a)运动检测控制单元132对各目标块并行执行下面的操作(a-1)和操作(a-2)
(a-1)检测各目标块的运动矢量
(a-2)写入与后继目标块相对应的参考块
(b)运动检测控制单元132接收来自输入单元137并表示接收到了目标块的控制信号。该目标块将成为运动矢量检测的下一目标。然后,运动检测控制单元132使块变量“n”加“1”,并利用加和后产生的块变量设置PAT标志。
(C)运动检测控制单元132对宏块行中的第八个目标块执行运动矢量检测。接下来,运动检测控制单元132接收来自输入单元137的表示已经接收到了目标块的控制信号。该目标块成为运动矢量检测的下一个目标。然后,运动检测控制单元132使块变量“n”加“1”,并利用加和后生成的块变量设置PAT标志。
(iii)运动检测控制单元132检测目标块“64”的运动矢量,并结束一帧的运动矢量检测。
下面将对上述的操作(i)到(iii)进行详细说明。
(i)初始化
运动检测控制单元132接收来自输入单元137并表示帧图像开始的控制信号,并将块变量“n”的值设置为“1”。
然后,运动检测控制单元132设置一个四位的PAT标志。下面是对PAT标志的详细说明。
如图5所示,目标帧310被划分成六十四个宏块。各宏块都被划分为如目标帧320所示的9个区320a到320i中的一个。各宏块的划分是根据该宏块是否靠近这一帧的上、下、左、右边缘完成的。区320a包括既邻接左边缘,又邻接上边缘的目标块“1”。区320包括邻接上边缘的目标块“2”到“7”。区320c包括邻接左边缘的目标块“9”、“17”……“49”。区320d包括不邻接任一边缘的目标块“10”到“15”,“18”到“23”……“50”到“55”。区320e包括既邻接下边缘,又邻接左边缘的目标块“57”。区320f包括邻接下边缘的目标块“58”到“63”。区320g包括既邻接上边缘,又邻接右边缘的目标块“8”。区320h包括邻接右边缘的目标块“16”、“24”……“56”。区320i包含既邻接右边缘,又邻接下边缘的目标块“64”。
PAT标志由第一位、第二位、第三位和第四位组成。如果目标块邻接目标帧的上边缘,那么第一位就被设置为“1”。如果目标块未与上边缘相邻接,那么第一位就被设置为“0”。如果目标块邻接目标帧的下边缘,那么第二位就被设置为“1”。如果目标块未与目标帧的下边缘相邻接,那么第二位将被设置为“0”。如果目标块与目标帧的左边缘相邻接,那么第三位将被设置为“1”。如果目标块未与目标帧的左边缘相邻接,那么第三位将被设置为“0”。如果目标块与目标帧的右边缘相邻接,那么第四位将被设置为“1”。如果目标块未与目标帧的右边缘相邻接,那么第四位将被设置为“0”。
包括在目标帧320的区320a内的目标块“1”既邻接上边缘,又邻接左边缘。所以,第一位和第三位为“1”,第二位和第四位均为“0”。因此,其PAT标志为“1010”。
包括在区320b中的目标块“2”到“7”邻接上边缘。因此,第一位为“1”,第二位、第三位和第四位均为“0”。进而其PAT标志为“1000”。包括在区320c中的目标块“9”、“17”……“49”邻接左边缘。因此,第三位为“1”,第一位、第二位和第四位均为“0”。进而其PAT标志为“0010”。包括在区320d中的目标块“10”到“15”,“18”到“23”……“50”到“55”未与任何边缘相邻接。因此所有的位均为“0”。进而其PAT标志为“0000”。包括在区320e中的目标块“57”既邻接下边缘,又邻接左边缘。因此,第二位和第三位为“1”,第一位和第四位为“0”。进而其PAT标志为“0110”。包括在区320f中的目标块“58”到“63”与下边缘相邻接。因此,第二位为“1”,第一位、第三位和第四位为“0”。进而其PAT标志为“0100”。包括在区320g中的目标块“8”既与上边缘相邻接,又与右边缘相邻接。因此第一位和第四位为“1”,第二位和第三位为“0”。进而其PAT标志为“1001”。包括在区320h中的目标块“16”、“24”……“56”与右边缘相邻接,因此,第四位为“1”,第一位、第二位和第三位为“0”。进而其PAT标志为0001。包块在区320i中的目标块“64”既邻接下边缘,又邻接右边缘。因此,第二位和第四位为“1”,第一位和第三位为“0”。进而其PAT标志为“0101”。
运动检测控制单元132通过下述方式利用块变量“n”将PAT标志的各位设置为“0”或“1”。
运动检测控制单元132判断是否满足n≤8这一条件,如果满足,将第一位设置为“1”,如果不满足,将第一位设置为“0”。运动检验控制单元132判断是否满足n≥57这一条件,如果满足,将第二位设置为“1”,否则设为“0”。接下来,运动检测控制单元132计算n/8的余数。如果余数为“1”,运动检测控制单元132会将第三位设置为“1”,如果余数不是“1”,就会将第三位设置为“0”。运动检测控制单元132判断n/8的余数是否为“0”。如果n/8的余数为“0”,运动检测控制单元会将第四位设置为“1”。如果n/8的余数不为“0”,运动检测控制单元就会将第四位设置为“0”。
每次块变量“n”发生改变时,运动矢量控制单元132都会按照上述方式,根据改变后的块变量“n”计算PAT标志。
(ii)各宏块行的重复操作
对目标帧中的各宏块行重复执行下面的操作(A)到(C)。
(A)运动检测控制单元132输出宏块行顶部目标块的块变量“n”,并将PAT标志设置到参考帧存储器控制单元133。然后,运动检测控制单元132指示参考帧存储器控制单元133读取检测目标块“n”的运动矢量所需的参考块,并将读取的参考块输出到参考图像数据缓冲器134。
接下来,运动检测控制单元132将参考帧存储器控制单元133输出的参考块存储到参考图像数据缓冲器134的一个块区中。这一块区已经被预先确定为写入目的地。在下面有关参考帧存储器控制单元133的说明当中,会对参考帧存储器控制单元133输出的参考块进行详细介绍。
而且,在被设置成与宏块行的顶端目标块相对应的参考块的写入目的地的块区当中,运动检测控制单元132将右上方的块区的物理地址设置为参数“t”。该参数“t”用于在参考图像数据缓冲器134中计算目的地块区的物理地址。与后继目标块相对应的参考块将被写入该目的地块区。在下面的(a-2)中将对参数“t”进行详细描述。
更确切地讲,运动检测控制单元132将四个参考块分别存储在参考图像数据缓冲器134所包括的物理地址为“6”、“7”、“10”和“11”的块区中。这四个参考块对应于包括在区320a中的目标块(PAT标志为1010)。然后,运动检测控制单元132将参数“t”设置为“7”。
运动检测控制单元132将六个参考块分别存储到包括在参考图像数据缓冲器134中的物理地址为“2”、“3”、“6”、“7”、“10”和“11”的块区中。这六个参考块对应于区320c中包括的目标块(PAT标志为0010)。然后,运动检测控制单元132将参数“t”设置为“3”。
运动检测控制单元132将四个参考块分别存储到包括在参考图像数据缓冲器134中物理地址分别为“2”、“3”、“6”、“7”的块区中。这四个参考块对应于包括在区320e中的目标块(PAT标志为0110)。然后,运动检测控制单元132将参数“t”设置为“3”。
完成上述操作后,运动检测控制单元132为参数“k”设置初值,即“k=0”。每次对运动矢量进行检测时,利用参数“k”读取参考块。在下面的操作(a-1)中将对参数“k”进行详细的说明。
(B)接下来,如果PAT标志为“1010”、“1000”、“0010”,“0000”和“0100”(宏块行中第一到第七目标块)中的任一个时,运动检测控制单元132将根据块编号“n”的PAT标志重复执行下面的操作(a)和操作(b)。如果PAT标志为“1001”和“0001”(位于宏块行的末尾的目标块),运动检测控制单元132执行操作(C)。如果PAT标志为“0101”(目标块“64”),运动检测控制单元132将执行操作(iii)。
(a)运动检测控制单元对各目标块并行执行下面的(a-1)和(a-2)处理。
注意,运动检测控制单元132可以单独控制存储器141到144,因为运动检测控制单元132和参考图像数据缓冲器134中的存储器141到144是通过独立的总线151到154相连接的。因此,运动检测控制单元132可以从包括指定为检测区的块区的存储器中读取数据,与此同时向包括监测器以外的块区的存储器中写入数据。这意味着运动检测控制单元132可以并行执行(a-1)操作和(a-2)操作。
(a-1)各目标块的运动矢量检测
运动检测控制单元132通过下面的操作①到操作④控制各目标块的运动矢量检测。
①首先,运动检测控制单元132将一个块区指定为检测区,该块区用来存储检测目标块“n”的运动矢量所必需的参考块。该块区包括在参考图像数据缓冲器134中。下面进行详细说明。
如图6所示,在运动矢量的检测过程中,运动矢量计算单元136所采用的逻辑地址空间234由按照3行3列的矩阵形式排列的逻辑块区组成。逻辑地址“1”、“2”、“3”分别分配给第一行从左至右的三个逻辑块区。逻辑地址“4”、“5”、“6”分别分配给第二行从左至右的三个逻辑块区。逻辑地址“7”、“8”、“9”分别分配给第三行从左至右的三个块区。
逻辑地址与物理地址不同。运动检测控制单元132通过公式“m=i+I+k”计算逻辑地址“i”(i=1到9)对应的物理地址“m”(m=1到12)。这个包括了9个块区,并且各块区都具有计算的物理地址“m”的区域就是目标块“n”的检测区。检测区中的块区与逻辑地址空间中的逻辑块区相互对应,使得与目标块具有相同块编号的参考块放置在逻辑地址空间的中心。参数“I”由逻辑地址“i”确定,当i=1到3时,I=0。当i=4到6时,I=1。当i=7到9时,I=2。注意,当i=1到3并且m>4时,m=m-4。当i=4到6并且m>8时,m=m-4。当i=7到9并且m>12时,m=m-4。
参数“k”是一个取值范围为0到3的变量。每次执行目标块的运动矢量检测时,参数“k”上就加1,同时参考图像数据缓冲器134中的检测区移至下一列。
下面将参考图6描述检测区按照参数“k”的变化而转换。
当k=0时,逻辑地址“i”和物理地址“m”之间的关系为“m=i+I”。在这种情况下,具体如图6A所示,包括分别具有物理地址为“1”、“2”、“3”、“5”、“6”、“7”、“9”、“10”和“11”的块区的区30将成为检测区。当k=1时,逻辑地址“i”和物理地址“m”之间的关系为“m=i+I+1”。在这种情况下,如图6B所示,包括分别具有物理地址为“2”、“3”、“4”、“6”、“7”、“8”、“10”、“11”和“12”的块区的区31将成为检测区。当k=2时,逻辑地址“i”和物理地址“m”之间的关系为“m=i+I+2”。在这种情况下,如图6C所示,包括分别具有物理地址为“3”、“4”、“7”、“8”、“11”和“12”的块区的区32a和包括分别具有物理地址分别为“1”、“5”和“9”的块区的32b将成为检测区。当k=3时,逻辑地址“i”与物理地址“m”之间的关系为“m=i+I+3”。在这种情况下,如图6D所示,包括分别具有物理地址为“4”、“8”和“12”的块区的区33a和包括分别具有物理地址为“1”、“2”、“5”、“6”、“9”和“10”的块区的区33b将成为检测区。
②逻辑地址空间包含3×3个逻辑块区,其中对应于存储着与目标块“n”具有相同块编号的参考块的逻辑块放置在中心。对于包括在区320a中的目标块来讲,与存储着检测其运动矢量所需的参考块的块区相对应的逻辑块区只是分别具有逻辑地址为“5”、“6”、“8”和“9”的逻辑块区。而且,对于包括在区320b中的目标块来讲,与存储着检测其运动矢量所需的参考块的块区相对应的逻辑块区只是分别具有逻辑地址为“4”、“5”、“6”、“7”、“8”、“9”的逻辑块区。对于包括在区320c中的目标块来讲,与存储着检测其运动矢量所需的参考块的块区相对应的逻辑块区只是分别具有逻辑地址为“2”、“3”、“5”、“6”、“8”、和“9”的逻辑块区。对于包括在区320e中的目标块来讲,与存储着检测其运动矢量所需的参考块的块区相对应的逻辑块区只是分别具有逻辑地址为“2”、“3”、“5”、“6”的逻辑块区。对于包括在区320f中的目标块来讲,与存储着检测其运动矢量所需的参考块的块区相对应的逻辑块区只是分别具有逻辑地址为“1”、“2”、“3”、“4”、“5”和“6”的逻辑块区。对于包括在区320g中的目标块来讲,与存储着检测其运动矢量所需的参考块的块区相对应的逻辑块区只是分别具有逻辑地址为“4”、“5”、“7”、“8”的逻辑块区。对于包括在区320h中的目标块来讲,与存储着检测其运动矢量所需的参考块的块区相对应的逻辑块区只是分别具有逻辑地址为“1”、“2”、“4”、“5”、“7”和“8”的逻辑块区。对于包括在区320i中的目标块来讲,与存储着检测其运动矢量所需的参考块的块区相对应的逻辑块区只是分别具有逻辑地址为“1”、“2”、“4”、“5”的逻辑块区。因此,运动检测控制单元132在检测区中指定计算范围,避免在运动矢量检测的过程中使用上述范围之外的逻辑块区。更确切地说,运动检测控制单元132通过使用块匹配法指定目标块位移(x,y)的范围,进而确定下面给出的计算范围。在下文中将对块匹配法进行详细说明。
如果目标块位于区320a(PAT标志为“1010”)中,运动检测控制单元132指定计算范围为0≤x≤16,0≤y≤16。如果目标块位于区320b(PAT标志为“1000”)中,那么运动检测控制单元132指定计算范围为-16≤x≤16,0≤y≤16。如果目标块位于区320c(PAT标志为“0010”)中,那么运动检测控制单元132指定计算范围为0≤x≤16,-16≤y≤16。如果目标块位于区320d(PAT标志为“0000”)中,那么运动检测控制单元132指定计算范围为-16≤x≤16,-16≤y≤16。如果目标块位于区320e(PAT标志为“0110”)中,那么运动检测控制单元132指定计算范围为0≤x≤16,-16≤y≤0。如果目标块位于区320f(PAT标志为“0100”)中,那么运动检测控制单元132指定计算范围为-16≤x≤16,-16≤y≤0。如果目标块位于区320g(PAT标志为“1001”)中,那么运动检测控制单元132指定计算范围为-16≤x≤0,0≤y≤16。如果目标块位于区320h(PAT标志为“0001”)中,那么运动检测控制单元132指定计算范围为-16≤x≤0,-16≤y≤16。如果目标块位于区320i(PAT标志为“0101”)中,那么运动检测控制单元指定计算范围为-16≤x≤0,-16≤y≤0。
③接下来,运动检测控制单元132将按照上述规律确定的计算范围和执行运动矢量检测的指令输出到运动矢量计算单元136。
然后,运动检测控制单元132会反复执行下面的操作③-1到操作③-4,直到从运动矢量计算单元136接收到表示运动矢量检测已经结束的控制信号为止。当接收到表示运动矢量检测已经结束的控制信号时,运动检测控制单元132会命令输出单元138将检测到的运动矢量输出到预测图像生成单元123和可变长度编码单元107中。
③-1首先,运动检测控制单元132从运动矢量计算单元136接收在目标块上的像素位置(p,j)和逻辑地址空间上的坐标(x’,y’)。(在下文中会对像素位置(p,j)和坐标(x’,y’)进行详细说明)。
③-2运动检测控制单元132从目标图像数据缓冲器135中读取与接收到的像素位置(p,j)相对应的图像数据,并将读取的图像数据输出到运动矢量计算单元136。
③-3运动检测控制单元132通过下述计算将接收到的逻辑地址空间上的坐标(x’,y’)转换成单元地址。
首先,运动检测控制单元132判断参数“k”的值。如果k=0,运动检测控制单元132计算“X=x’+16”和“Y=y’+16”的值。如果k=1,运动检测控制单元132计算“X=x’+32”和“Y=y’+16”的值。如果k=2,运动检测控制单元1 32计算“X=x’+48”(x’≤15),“X=x’-16”(x’≥16)和“Y=y’+16”的值。如果k=3,运动检测控制单元1 32计算“X=x’+64”(x’≤-1),“X=x’”(x’≥0)和“Y=y’+16”的值。
这里,X与构成参考图像数据缓冲器134的48行×64列存储器单元的各列逐一对应,并且表示包括其单元地址将要进行计算的存储器单元的列。Y与构成参考图像数据缓冲器134的48行×64列存储器单元的各行逐一对应,并且表示包括其单元地址将要进行计算的存储器的行。(0≤x≤63,0≤y≤47)然后,运动检测控制单元132计算单元地址“X+64Y”的值。
③-4运动检测控制单元132读取存储在具有计算的单元地址的存储单元中的像素数据,并将读取的像素数据输出到运动矢量计算单元136。
④运动检测控制单元132向参数“k”加“1”,并判断参数“k”是否满足k=4。如果k=4,运动检测控制单元将“k”设置为“0”。如果k≠4,运动检测控制单元132执行下一步操作。
(a-2)写入与目标块“n+1”相对应的参考块
通过下述操作,将检测运动矢量检测的下一个目标块“n+1”的运动矢量所需的参考块写入参考图像数据缓冲器134。
首先,运动检测控制单元132计算“n’=n+1”的值,该值通过向块变量“n”加“1”得到。然后,运动检测控制单元132利用上面(i)中描述的方法设定块变量“n’”的PAT标志。
运动检测控制单元132将块变量“n’”的值和设置完毕的块变量“n’”的PAT标志输出到参考帧存储器控制单元133,并且控制参考块的读取并将读取的参考块输出到参考图像数据缓冲器134。
然后,运动检测控制单元132选择参考图像数据缓冲器134内的写入目的地,并按照块变量“n’”PAT标志将参数“t”写入参考块。
如果目标块所处的区为320a或320b,那么参数“t”的范围是4到7,如果目标块所处的区为320c到320f,那么参数“t”的范围为0到3。每次向参考图像数据缓冲器134中写入与目标块相对应的参考块时,参数“t”都会加“1”,并且参考图像数据缓冲器134中准备写入参考块的写入目的地区移到下一列。
如果块变量“n’”的PAT标志为“1000”,运动检测控制单元132判断参数“t”是否满足t=8。如果t=8,运动检测控制单元132将“t”设置为“4”。如果t≠8,运动检测控制单元执行下一步操作。然后,运动检测控制单元132将物理地址分别为“t+1”和“t+5”的块区指定为写入目的地区,并使参数“t”加“1”。
如果块变量“n’”的PAT标志为“0000”或“0100”,那么运动检测控制单元132判断参数“t”是否满足t=4这一条件。如果t=4,运动检测控制单元132将“t”设置为“0”。如果t≠4,运动检测控制单元132将执行下一步操作。然后,运动检测控制单元132将物理地址分别为“t+1”、“t+5”和“t+9”的块区指定为写入目的地区,并使参数“t”加“1”。
完成了加法操作后,运动检测控制单元132将参考帧存储器控制单元133输出的参考块写入指定为写入目的地的块区。
(b)接下来,运动检测控制单元132接收到来自输入单元137并且表示已经接收到目标块的控制信号,并向块变量加“1”。然后,运动检测控制单元132利用相加后的块变量结果设置PAT标志。
(c)运动检测控制单元132按照(a-1)中描述的操作执行宏块行中第8个目标块的运动矢量检测。然后,运动检测控制单元132利用执行完加法操作后得到的块变量设置PAT标志。
(iii)运动检测控制单元132按照(a-1)中描述的操作检测目标块“64”的运动矢量,并且完成了对一帧运动矢量的检测。
(4)参考帧存储器控制单元133
参考帧存储器控制单元133从运动检测控制单元132接收块变量“n”和由块变量“n”计算的PAT标志。然后,参考帧存储器控制单元133接收读取和输出参考块的指令。
参考帧存储器控制单元133根据接收到的PAT标志执行下述计算,并选择下一次将要从参考帧存储器131传输到参考图像数据缓冲器134的参考块。执行选择操作的目的在于防止存储在参考图像数据缓冲器134内的参考块产生重复。
如果目标块位于区320a(PAT标志为“1010”),参考帧存储器控制单元133选择块编号分别为“n”、“n+1”、“n+8”和“n+9”的参考块。
如果目标块位于区320b(PAT标志为“1000”),参考帧存储器控制单元133选择块编号分别为“n+1”和“n+9”参考块。
如果目标块位于区320c(PAT标志为“0010”),参考帧存储器控制单元133选择块编号分别为“n-8”、“n-7”、“n”、“n+1”、“n+8”和“n+9”的参考块。
如果目标块位于区320d(PAT标志为“0000”),参考帧存储器控制单元133选择块编号分别为“n-7”、“n+1”和“n+9”的参考块。
如果目标块位于区320e(PAT标志为“0110”),参考帧存储器控制单元133选择块编号分别为“n-8”、“n-7”、“n”和“n+1”的参考块。
如果目标块位于区320f(PAT标志为“0100”),参考帧存储器控制单元133选择块编号分别为“n-7”和“n+1”的参考块。
如果目标块位于区320g到320i(PAT标志为“1001”、“0001”或“0101”),参考帧存储器控制单元133不选择任何参考块并且执行下一步操作。
然后,参考帧存储器控制单元133从参考帧存储器131中读取选定的参考块,并将读取的参考块输出到参考图像数据缓冲器134。
(5)运动矢量计算单元136
对于运动矢量的计算,需要定义一坐标系。在该坐标系下,逻辑地址空间中逻辑地址为“5”的逻辑块区的左上方像素所处的位置定义为原点(0,0)。x’轴表示的值从左至右逐渐增加,y’轴表示的值从上至下增加。借助这一坐标系,可以采用坐标的形式表示各像素。逻辑地址空间内的各像素都处于-16≤x’≤31和-16≤y’≤31所表示的范围内。
如果目标块的位置转换到了上面定义的逻辑地址空间中,那么将通过(x,y)表示这种转换的位移。如果目标块与逻辑地址为“5”的逻辑块区相同,那么该位移由(0,0)表示。目标块将在-16≤x≤16和-16≤y≤16所表示的范围内发生位移。
另外,坐标值“p”和坐标值“j”定义在目标块内的16行×16列像素上。坐标值“p”按照按从左到右的顺序从0增加到15,坐标值“j”按照从上到下的顺序从0增加到15。通过(p,j)表示各像素。像素位置为(p,j)的像素数据由“初始(p,j)”表示。
如果目标块在逻辑空间内的位移为(x,y),那么,与目标块上的像素位置(p,j)相对应的逻辑地址空间上的像素坐标为(p+x,j+y)。与逻辑空间上的坐标(p+x,j+y)相对应的参考块上的像素数据由“当前(p+x,j+y)”表示。
运动矢量计算单元136接收来自运动检测控制单元132的用于检测运动矢量的计算范围和指令。运动矢量计算单元136通过执行操作(i)和操作(ii)检测运动矢量。下面是对操作(i)和操作(ii)的说明。
(i)运动矢量检测
在运动检测控制单元132指定的检测区内,所有位移(x,y)的运动矢量通过下面的操作(a)和操作(b)进行检测。
(a)误差值S(x,y)的计算
对各“p”和“j”(0≤p≤15,0≤j≤15)执行下面的操作(a-1)至操作(a-3)计算位移(x,y)的误差值S(x,y)。利用公式1作为误差值的一个例子,可以按照下述操作计算出绝对平均误差值。
(a-1)运动矢量计算单元136将目标块上的像素位置(p,j)和逻辑地址空间上与像素位置(p,j)相对应的的坐标(p+x,j+y)输出到运动检测控制单元132。(为简化起见,假设x’和y’分别满足x’=p+x和y’=j+y)。
(a-2)接下来,运动矢量计算单元136从运动检测控制单元132接收目标块“n”上与像素位置(p,j)相对应的像素数据“初始(p,j)”和参考块上与坐标(x’,y’)相对应的像素数据“当前(x’,y’)”。
(a-3)将接收到的像素数据分配给下面的公式1。
公式1
S ( x , y ) = Σ j = 0 15 Σ p = 0 15 | original ( p , j ) - previous ( p + x , j + y ) |
original:初始previous:当前
(b)运动矢量计算单元136比较各位移(x,y)计算出的误差值S(x,y),并确定最小位移(x,y)。
(ii)输出运动矢量
运动矢量计算单元136将操作(i)中确定的最小位移(x,y)作为目标块“n”的运动矢量输出到输出单元138,并将表示检测已经结束的控制信号输出到运动检测控制单元132。
通常将按照上述方法计算运动矢量的方法称为“块匹配法”。
(6)输出单元138
输出单元138按照来自运动检测控制单元132的指令接收由运动矢量计算单元136计算的运动矢量,并将接收到的运动矢量输出到预测图像生成单元123和可变长度编码单元107。
1.4运动检测单元130的操作
(1)检测一帧运动矢量的操作
下面参照图7和图8中的流程图对检测一帧运动矢量的操作进行说明。
输入单元137接收来自分类单元102的目标块“1”和表示帧图像开始的控制信号,并将接收到的目标块“1”写入目标图像数据缓冲器135,并将表示帧图像开始的控制信号传输到运动检测控制单元132。运动检测控制单元132将块变量“n”设置为“n=1”并将PAT标志设置为由块变量计算出的“1010”(步骤S301)。
在步骤S302到S338中,对各宏块行重复执行步骤S303到S337的处理,直到完成目标帧内所有宏块行的矢量检测为止。
运动检测控制单元132将设置好的PAT标志和块变量“n”输出到参考帧存储器控制单元133,并命令参考帧存储器控制单元133输出参考块(步骤S303)。
参考帧存储器控制单元133根据从运动检测控制单元132接收到的PAT标志和块变量“n”选择需要读取的参考块(步骤S304)。然后,参考帧存储器控制单元133从参考帧存储器131中读取选定的参考块,并将读取的参考块输出到参考图像数据缓冲器134(步骤S305)。
接下来,运动检测控制单元132标识设定的的PAT标志(步骤S306)。
如果标识出的PAT标志为“1010”(步骤S306),那么运动检测控制单元132在参考图像数据缓冲器134中将物理地址分别为“6”、“7”、“10”和“11”的块区指定为步骤S305输出的参考块的写入目的地,并将该参考块写入指定的块区(步骤S307)。
接下来,运动检测控制单元132将参数“t”设置为物理地址“7”的值(步骤S308)。该地址所属的块区位于步骤S307中指定为写入目标的块区的右上方。
如果标识出的PAT标志为“0010”(步骤S306),那么运动检测控制单元132在参考图像数据缓冲器134中将物理地址分别为“2”、“3”、“6”、“7”、“10”和“11”的块区指定为步骤S305输出的参考块的写入目的地,并将该参考块写入指定的块区(步骤S310)。
接下来,运动检测控制单元132将参数“t”的值设置为物理地址“3”的值(步骤S311)。该地址所属的块区位于步骤S310中指定为写入目的地的块区的右上方。
如果标识出的PAT标志为“0110”(步骤S306),那么运动检测控制单元132在参考图像数据缓冲器134中将物理地址分别为“2”、“3”、“6”和“7”的块区指定为步骤S305输出的参考块的写入目的地,并将该参考块写入指定的块区(步骤S312)。
接下来,运动检测控制单元132将参数“t”的值设置为物理地址“3”的值(步骤S313)。该地址所属的块区位于步骤S312中指定为写入目的地的块区的右上方。
然后,将参数“k”设置为k=0(步骤S315)。
接下来,运动检测控制单元132对PAT标志进行判断(步骤S321)。如果PAT标志为“1010”、“1000”、“0010”、“0000”、“0110”和“0100”中的任何一个(步骤S321),那么运动检测控制单元132从参考图像数据缓冲器134内的检测区中读取参考块,从目标图像数据缓冲器135中读取目标块“n”,并将读取的参考块和目标块“n”输出到运动矢量计算单元136。运动矢量计算单元136计算运动矢量(步骤S322)。
步骤S324到S329与步骤S322并行进行。
运动检测控制单元132通过向块编号“n”加“1”的方式计算“n’”,并在块变量“n’”的基础上设置PAT标志(步骤S324)。
然后,运动检测控制单元132将计算出的块变量“n’”和块变量“n’”的PAT标志输出到参考帧存储器控制单元133,并控制与目标块“n’”相对应的参考块的读取和输出(步骤S325)。
参考帧存储器控制单元133根据接收到的PAT标志和块变量“n’”选择需要读取的参考块(步骤S326)。然后,参考帧存储器控制单元133从参考帧存储器131中读取选定的参考块,并将读取的参考块输出到参考图像数据缓冲器134(步骤S327)。
接下来,运动检测控制单元132根据块变量“n’”的PAT标志和参数“k”选择参考图像数据缓冲器134中作为写入目的地的块区(步骤S328)。然后,运动检测控制单元132将步骤S327输出的参考块写入选定的块区(步骤S329)。
输入单元137接收来自分类单元102的目标块“n+1”,并将接受到的目标块“n+1”写入目标图像数据缓冲器135,并将表示接收到了目标块的控制信号输出到运动检测控制单元132。运动检测控制单元132使块变量“n”加“1”,并利用块变量“n”设置PAT标志(步骤S330)。
如果判定的PAT标志为“1001”或“0001”(步骤S321),运动检测控制单元132从参考图像数据缓冲器134的检测区中读取参考块,从目标图像数据缓冲器135中读取目标块“n”,并将读取的参考块和目标块“n”输出到运动矢量计算单元136。运动矢量计算单元136接收参考块和目标块“n”,并根据接收到的参考块和目标块“n”计算运动矢量(步骤S335)。
接下来,输入单元137从分类单元102接收目标块,并将接收到的目标块写入目标图像数据缓冲器135,并且将表示已经接收到目标块的控制信号输出到运动检测控制单元132。运动检测控制单元132使块变量“n”加“1”,并利用块变量设置PAT标志(步骤S336)。
如果判定的PAT标志为“0101”(步骤S321),运动检测控制单元132从参考图像数据缓冲器134的检测区读取参考块,从目标图像数据缓冲器135中读取目标块“n”,并将读取的参考块和目标块“n”输出到运动矢量计算单元136。运动矢量计算单元136接收参考块和目标块“n”,并根据接收到的参考块和目标块“n”计算运动矢量(步骤S337)。然后,运动检测控制单元132完成一帧运动矢量检测的全部操作。
(2)参考帧存储器控制单元执行的参考块选择
下面参照图9所示的流程图描述从参考帧存储器131传输到参考图像数据缓冲器134的参考块的选择操作。注意,下面对图7中的步骤S304和图8中的步骤S326进行详细说明。
接收到来自运动检测控制单元132的块变量“n”和PAT标志后,参考帧存储器控制单元133根据接收到的PAT标志执行下述操作(步骤S250)。
如果PAT标志为“1010”(步骤S250),那么参考帧存储器控制单元133选择块编号分别为“n”、“n+1”、“n+8”和“n+9”的参考块(步骤S251)。
如果PAT标志为“1000”(步骤S250),那么参考帧存储器控制单元133选择块编号分别为“n+1”和“n+9”的参考块(步骤S252)。
如果PAT标志为“0010”(步骤S250),那么参考帧存储器控制单元133选择块编号分别为“n-8”、“n-7”、“n”、“n+1”、“n+8”和“n+9”的参考块(步骤S253)。
如果PAT标志为“0000”(步骤S250),那么参考帧存储器控制单元133选择块编号分别为“n-7”、“n+1”和“n+9”的参考块(步骤S254)。
如果PAT标志为“0110”(步骤S250),那么参考帧存储器控制单元133选择块编号分别为“n-8”、“n-7”、“n”和“n+1”的参考块(步骤S255)。
如果PAT标志为“0100”(步骤S250),那么参考帧存储器控制单元133选择块编号分别为“n-7”和“n+1”的参考块(步骤S256)。如果PAT标志为“1001”、“0001”或“0101”,那么参考帧存储器控制单元133将不会选择任何参考块,并执行下一步操作。
(3)各目标块的运动矢量检测
下面将参照图10所示的流程图详细描述检测各目标块的运动矢量的操作。注意,下面对步骤S322、S335和S337进行详细说明。
可以通过公式“m=i+I+k”并利用参数“I”和“k”得出与逻辑地址“i”(i=1到9)相对应的物理地址“m”(步骤S341)。参数“I”随着逻辑地址“i”的变化而发生变化。如果i=1到3,则I=0。如果i=4到6,则I=1。如果i=7到9,则I=2。参数“k”的取值范围为0到3,其初始值为“0”。注意如果i=1到3并且m>4,则m=m-4。如果i=4到6并且m>8,则m=m-4。如果i=7到9并且m>12,则m=m-4。检测区就是由上面公式推导出的9个物理地址所代表的区组成的区域。
接下来,运动检测控制单元132将设定好的与PAT标志相对应的计算范围和运动矢量检测指令输出到运动矢量计算单元136(步骤S342)。
运动矢量计算单元136根据接收到的来自运动检测控制单元132的指令在接收到的计算范围内检测运动矢量(步骤S343)。
运动矢量检测结束后,运动检测控制单元132通过输出单元138将检测到的运动矢量输出到预测图像生成单元123和可变长度编码单元107(步骤S344)。
接下来,运动检测控制单元132使参数“k”加“1”(步骤S345)。这时,运动检测控制单元132会判断是否满足k=4(步骤S346)。如果k=4,运动检测控制单元132将“k”设置为“0”。如果k≠4(步骤S346),运动检测控制单元132跳开此步操作,并结束对各目标块的运动矢量检测。
(4)参考块写入目的地的选择
下面参照图11所示的流程图对选择参考图像数据缓冲器134中的块区的操作进行说明,该块区将作为参考帧存储器控制单元133输出的参考块的写入目的地。注意,下面对图8所示的流程图中的步骤S328进行详细说明。
运动检测控制单元132根据从块变量“n’”计算出的PAT标志执行下述处理(步骤S351)。
如果PAT标志为“1000”(步骤S351),运动检测控制单元132判断是否满足t=8(步骤S352)。如果t=8,运动检测控制单元132将“t”设置为“4”(步骤S353)。如果t≠8,运动检测控制单元132跳过该操作并执行步骤S354。
接下来,运动检测控制单元132在参考图像数据缓冲器134中将物理地址分别为“t+1”和“t+5”的块区指定为参考块的写入目的地(步骤S354),并执行步骤S363。
如果PAT标志为“0000”或“0100”(步骤S351),运动检测控制单元132判断是否满足t=4(步骤S360)。如果t=4,运动检测控制单元将“t”设置为“0”(步骤S361)。如果t≠4,运动检测控制单元跳开该操作并执行步骤S362。
然后,运动检测控制单元132将参考图像数据缓冲器134中物理地址分别为“t+1”、“t+5”和“t+9”的块区指定为参考块的写入目的地(S362)。然后,运动检测控制单元132使参数“t”加“1”(步骤S363),并执行步骤S329。
(5)运动检测控制单元132执行的改变检测区的操作在参考图像数据缓冲器134中,通过上述计算确定检测区和参考块的写入目的地。每处理完一目标块后,检测区和参考块的写入目的地就向下一区域转换。图12示出了在目标帧中位于第一行的宏块行中的目标块运动矢量的检测过程中,检测区和参考块写入目的地的转换。图12中的编号代表存储在各块区内的参考块的块编号。下面给出了在参考图像数据缓冲器134中改变参考块的写入目的地和运动矢量检测区的操作说明。
首先,参考帧存储器控制单元133根据块变量“n=1”和PAT标志“1010”输出检测目标块“1”的运动矢量所需的参考块。如图12A所示,输出的参考块“1”、“2”、“9”和“10”将被分别写入物理地址为“6”、“7”、“10”和“11”的块区。
接下来,如图12B所示,运动检测控制单元132将包含3行3列块区的区域13设置为检测区。区域13的中央是存储目标块“1”的块区。然后,运动矢量计算单元136对运动矢量进行计算。与此同时,如图12B所示,在检测目标块“2”的运动矢量所需的参考块中,没有存储到参考图像数据缓冲器134中的参考块“3”和参考块“11”被写入物理地址分别为“8”和“12”的块区。
目标块“1”的运动矢量检测完成后,如图12C所示,运动检测控制单元132将包含3行3列块区的区域15设置为检测区。区域15的中央是存储参考块“2”的块区。与此同时,在检测目标块“3”的运动矢量所需的参考块中,没有存储到参考图像数据缓冲器134中的参考块“4”和参考块“12”被写入物理地址分别为“5”和“9”的块区。
目标块“2”的运动矢量检测完成后,如图12D所示,运动检测控制单元132将包含3行2列块区的区域17a和包含3行1列块区的区域17b设置为检测区。区域17a包含存储参考块“3”的块区。然后,运动矢量计算单元136对运动矢量进行计算。尽管检测区17a和17b彼此分隔开,但这样并不会产生问题,因为下面还要按照上述的说明在逻辑地址空间中对它们进行重新定位。与此同时,如图12D所示,在检测目标块“4”所需的参考块中,没有存储到参考图像数据缓冲器134的参考块“5”和参考块“13”被写入物理地址分别为“6”和“10”的块区。
目标块“3”的运动矢量检测完成后,如图12E所示,运动检测控制单元1 32将包含3行1列块区的区域19a和包含3行2列块区的区域19b设置为检测区。区域19b包含存储参考块“4”的块区。然后,运动矢量计算单元136对运动矢量进行计算。与此同时,如图12E所示,在检测目标块“5”所需的参考块中,未存储到参考图像数据缓冲器134的参考块“6”和参考块“14”被写入物理地址分别为“7”和“11”的块区。
目标块“4”的运动矢量检测完成后,如图12F所示,运动检测控制单元132将包含3行3列块区的区域21设置为检测区。在区域21的中央为存储参考块“5”的块区。然后,运动矢量计算单元136对运动矢量进行计算。与此同时,如图12F所示,在检测目标块“6”所需的参考块中,未存储到参考图像数据缓冲器134的参考块“7”和参考块“15”被写入物理地址分别为“8”和“12”的块区。
如上所述,通过逐行移动检测区可以重复将参考块写入检测区外的块区的操作。
1.5效果/总结
如上所述,按照本发明,参考图像数据存储器134由四个存储器141到144构成,这些存储器由运动检测控制单元132独立控制。
运动检测控制单元132在参考图像数据缓冲器134中指定检测区,并从检测区中逐像素地读取参考块,然后将读取的参考块输出到运动矢量计算单元136。与此同时,运动检测控制单元132将检测下一目标块的运动矢量所需的参考块写入未指定为检测区的区域。这里,参考帧存储器控制单元133对参考块进行选择,避免参考图像数据缓冲器134中的参考块发生重复。
图13示出了在检测到目标帧上的目标块的运动矢量的同时,从参考帧存储器131新传输到参考图像数据缓冲器134的参考块的编号。如果采用传统技术,由参考帧存储器131传输到参考图像数据缓冲器134的参考块总数为每目标帧484个。相反,如果采用本发明,参考块的总数仅为每目标帧176个。可见,本发明可以在参考图像数据缓冲器134容量较小的条件下,降低参考块的冗余传输。因此,本发明可以显著降低总流量。
2.第二实施例
下面描述按照本发明另一优选实施例的移动图像照像机100。
2.1移动图像照像机100的结构
移动图像摄像机100包括照像机单元101、分类单元102、开关103、减法单元104、DCT单元105、量化单元106、可变长度编码单元107、缓冲存储器108、速率控制单元109、主存储器110、预测图像生成单元123、加法单元124、反DCT单元125、反量化单元126、开关127、运动检测单元130b和参考帧存储器131。照像机单元101、分类单元102、开关103、减法单元104、DCT单元105、量化单元106、可变长度编码单元107、缓冲存储器108、速率控制单元109、主存储器110、预测图像生成单元123、加法单元124、反DCT单元125、反量化单元126、开关127和参考帧存储器131的结构和所执行的操作与第一实施例中相同,所以这里省略了相关描述。
2.2运动检测单元130b
如图14所示,运动检测单元130b包括运动检测控制单元132b、参考帧存储器控制单元133、参考图像数据缓冲器134b、目标图像数据缓冲器135、运动矢量计算单元136、输入单元137和输出单元138。参考帧存储器控制单元133、运动矢量计算单元136、输入单元137和输出单元138的结构和所执行的操作与第一实施例中相同,目标图像数据缓冲器135的结构与第一实施例中相同。因此,这里省略了相关说明。
(1)参考图像数据缓冲器134
如图14所示,参考图像数据缓冲器134b包括5个存储器,即存储器161到165,各存储器都具有存储16像素×48行的容量。存储器161到165通过独立的总线166到170分别连接到运动矢量计算单元136和参考帧存储器控制单元133。存储器161到165还通过独立的总线171到175分别连接到运动检测控制单元132b。
另外,如图15所示,参考图像数据缓冲器134b由15个块区构成,即按照3行5列的矩阵形式排列的块区81到95。各块区都具有存储一个宏块的容量。存储器161由第一列中的块区81、86和91组成。存储器162由第二列中的块区82、87和92组成。存储器163由第三列中的块区83、88和93组成。存储器164由第四列中的块区84、89和94组成。存储器165由第五列中的块区85、90和95组成。
第一行中的块区81到块区85所分配到的物理地址分别为“1”、“2”、“3”、“4”、“5”。第二行中的块区86到90所分配到的物理地址分别为“6”、“7”、“8”、“9”、“10”。第三行中的块区91到95所分配到的物理地址分别为“11”、“12”、“13”、“14”和“15”。各物理地址都可以表示块区所处的位置。
构成各块区的存储单元都按照16行16列的矩阵形式排列。单元地址分配到各存储单元。更确切地说,物理地址为“1”的块区81中,第一行中的16个存储单元所分配到的单元地址分别为0到15。物理地址为“2”的块区82中,第一行的存储单元所分配到的单元地址分别为16到31。物理地址为“3”的块区83中,第一行的存储单元所分配到的单元地址分别为32到47。物理地址为“4”的块区84中,第一行的存储单元所分配到的单元地址分别为48到63。物理地址为“5”的块区85中,第一行的存储单元所分配到的单元地址分别为64到79。在物理地址为“1”的块区81中,第二行的16个存储单元所分配到的单元地址分别为80到95。在物理地址为“2”的块区82中,第二行的存储单元所分配到的单元地址分别为96到111。在物理地址为“3”的块区83中,第二行的存储单元所分配到的单元地址分别为112到127。在物理地址为“4”的块区84中,第二行的存储单元所分配到的单元地址分别为128到143。物理地址为“5”的块区85中,第二行的存储单元所分配到的单元地址分别为144到159。这样,连续的单元地址就分配给每行的八十个存储单元,单元地址0到3839分别分配给构成参考图像数据缓冲器134b的3840个存储单元。
参考图像数据缓冲器134b接收来自参考帧存储器控制单元133的参考块,并将接收到的参考块存储起来。
(2)运动检测控制单元132b
一帧的运动矢量检测的控制
运动检测控制单元132b通过下面的操作(i)和操作(ii)对一帧图像的运动矢量检测进行控制。
在下面对运动矢量检测的说明中,“参考区”表示参考帧图像中包括3行3列参考块的区域,使得与目标块具有相同编号的参考块包含在这些参考块的中央。
(i)初始化
运动检测控制单元132b接收来自输入单元137的表示帧图像开始的控制信号,将块变量“n”设置为“1”,并控制检测目标块“1”的运动矢量所需的“参考块”向参考图像数据缓冲器134b的写入过程。
运动检测控制单元132b将表示作为运动矢量检测目标的目标块的块编号的块变量“n”存储起来。在接收到来自输入单元137的表示已经接收到了目标块的控制信号后,运动检测控制单元132使块变量“n”加“1”。
需特别指出的是,在接收到来自输入单元137的表示帧图像开始的控制信号时,运动检测控制单元132b将块变量“n”设置为“1”。
PAT的设置方式与第一实施例中相同,这里省略了相关说明。
(ii)对每个宏块行的重复操作
运动检测控制单元132b对目标块“1”到“64”同时执行操作(a)和操作(b)。
(a)检测各目标块中的运动矢量
(b)写入与下一目标块相对应的参考块。
下面对上述的操作(i)和操作(ii)进行详细说明。
(i)初始化
在接收到来自输入单元137的表示帧图像开始的控制信号时,运动检测控制单元132b将块变量“n”设置为“1”,并利用块编号“n=1”将PAT标志设置为“1010”。
接下来,运动检测控制单元132b将PAT标志“1010”和块编号“n=1”输出到参考帧存储器控制单元133,并命令参考帧存储器控制单元133读取和输出该参考块。
运动检测控制单元132b将参考帧存储器133输出的参考块存储在参考图像数据缓冲器134b的块区中。这些被预先确定为写入目的地的块区的物理地址分别为“7”、“8”、“12”和“13”。然后,运动检测控制单元132b将参数“t”设置为“8”。参数“t”的作用在于计算参考图像数据缓冲器134b中作为写入目的地的块区的物理地址。该目的地块区位于与后继目标块相对应的参考块内。参数“t”是取值范围为5到9的变量。运动检测控制单元132b每将一与目标块相对应的参考块写入参考图像数据缓冲器134b,就会使“t”加“1”或加“2”,这样,参考图像数据缓冲器134b内的参考块写入目的地区就会移到下一列或下下一列。
(ii)运动检测控制单元132b对目标块“1”到“64”重复并且并行执行下面的操作(a)和操作(b)。运动检测控制单元132b可以独立控制存储器161到165,因为运动检测控制单元132b和参考图像数据缓冲器134b中的存储器161到165是通过独立总线171到175分别连接的。因此,运动检测控制单元132b可以在从指定为检测区的块区内读取数据的同时,向检测区以外的块区内写入数据。
(a)各目标块的运动矢量检测
运动检测控制单元132b通过下面的操作①到操作③控制各目标块的运动矢量检测。
①如图16所示,在运动矢量的检测过程中,运动矢量计算单元136所采用的逻辑地址空间234b包括按照3行3列矩阵的形式排列的多个逻辑块区。第一行从左至右的三个逻辑块区分配的逻辑地址分别为“1”、“2”、“3”。第二行从左至右的三个逻辑块区分配的逻辑地址分别为“4”、“5”、“6”。第三行从左至右的三个块区分配的逻辑地址分别为“7”、“8”、“9”。
逻辑地址与参考图像数据缓冲器134b中的物理地址不同。运动检测控制单元132b通过公式“m=i+I+k”计算与逻辑地址“i”(i=1到12)相对应的物理地址“m”(m=1到15)。目标块“n”的检测区是由九个块区组成的区域,其中各块区都具有经计算得出的物理地址“m”。检测区内的块区与逻辑地址空间内的逻辑块区相互对应,使得与目标块具有相同块编号的参考块放置在逻辑地址空间的中央。参数“I”由逻辑地址“i”确定。如果i=1到3,则I=0。如果i=4到6,则I=2。如果i=7到9,I=4。注意,如果i=1到3且m>5,则m=m-5。另外,如果i=4到6且m>10,则m=m-5。如果i=7到9且m>15,则m=m-5。
如上所述,参数k是取值范围为0到4的变量。检测区根据参数“k”移到下一列或下下一列。下面将参照图16描述检测区是如何根据参数“k”的变化进行转换的。
当k=0时,逻辑地址“i”和物理地址“m”之间的关系为“m=i+I”,这时,如图16A所示,由物理地址分别为“1”、“2”、“3”、“6”、“7”、“8”、“11”、“12”和“13”的块区组成的区域70将成为检测区。
当k=1时,逻辑地址“i”和物理地址“m”之间的关系为“m=i+I+1”,这时,如图16B所示,由物理地址分别为“2”、“3”、“4”、“7”、“8”、“9”、“12”、“13”和“14”的块区组成的区域71将成为检测区。当k=2时,逻辑地址“i”和物理地址“m”之间的关系为“m=i+I+2”,这时,如图16C所示,由物理地址分别为“3”、“4”、“5”、“8”、“9”、“10”、“13”、“14”和“15”的块区组成的区域72将成为检测区。当k=3时,逻辑地址“i”和物理地址“m”之间的关系为“m=i+I+3”,这时,如图16D所示,由物理地址分别为“4”、“5”、“9”、“10”、“14”和“15”的块区组成的区域73a和由逻辑地址分别为“1”、“6”和“11”的块区组成的区域73b将成为检测区。当k=4时,逻辑地址“i”和物理地址“m”之间的关系为“m=i+I+4”,这时,如图16E所示,由物理地址分别为“5”、“10”和“15”的块区组成的区域74a和由物理地址分别为“1”、“2”、“6”、“7”、“11”和“12”的块区组成的区域74b将成为检测区。
②接下来,运动检测控制单元132b会将计算范围和执行运动矢量计算的指令输出到运动矢量计算单元136。这里的计算范围与第一实施例中相同,因此省略了相关说明。
然后,运动检测控制单元132b将重复执行②-1到②-4直到从运动矢量计算单元136接收到表示运动矢量检测已经结束的控制信号为止。接收到表示运动矢量检测已经结束的控制信号后,运动检测控制单元132b命令输出单元将检测到的运动矢量输出到预测图像生成单元123和可变长度编码单元107。
-1运动检测控制单元132b从运动矢量计算单元136接收目标块上的像素位置(p,j)和逻辑地址空间内的坐标(x’,y’)。目标块上的像素位置(p,j)和逻辑地址空间内的坐标(x’,y’)与第一实施例中相同,因此这里省略了相关说明。
-2运动检测控制单元132b从目标图像数据缓冲器135中读取与接收到的像素位置(p,j)相对应的图像数据,并将读取的数据输出到运动矢量计算单元136。
-3运动检测控制单元132b将接收到的逻辑空间内的坐标(x’,y’)转换成单元地址。
更确切地说,首先,运动检测控制单元132b判断参数“k”的值。如果k=0,则运动检测控制单元132b计算X=x’+16和Y=y’+16的值。如果k=1,则运动检测控制单元132b计算X=x’+32和Y=y’+16的值。如果k=2,则运动检测控制单元132b计算X=x’+48和Y=y’+16的值。如果k=3,则运动检测控制单元132b计算X=x’+64(x’≤15),X=x’-16(x’≥16)和Y=y’+16的值。如果k=4,则运动检测控制单元132b计算X=x’+80(x’≤-1),X=x’(x’≥0)和Y=y’+16的值。
这里,X与构成参考图像数据缓冲器134b的48行80列存储单元中的每一列逐一对应,并且表示包括将要进行计算的单元地址所属的存储单元的列。Y与构成参考图像数据缓冲器134b的48行80列存储单元中的每一行逐一对应,并且表示包括将要进行计算的单元地址所属的存储单元的行。(0≤X≤79,0≤Y≤47)
然后,运动检测控制单元132b计算单元地址“X+80Y”。
-4运动检测控制单元132b读取存储在具有计算的单元地址的存储单元中的图像数据,并将读取的像素数据输出到运动矢量计算单元136。
③运动检测控制单元132b判断PAT标志
如果PAT标志为“1001”或“0001”(表示位于宏块行中的最后一目标块),运动检测控制单元132b使参数“k”加“2”。如果PAT标志为“1010”、“1000”、“0000”、“0110”和“0100”中的任何一个,那么运动检测控制单元132b使参数“k”加“1”。
执行完上述计算后,运动检测控制单元132b判断是否满足k≥5。如果k≥5,运动检测控制单元132b就从参数“k”上减“5”。如果k<5,则运动检测控制单元132b就跳过该步骤,并且执行下一步。
如果经判断,PAT标志为“0101”(目标块“64”),那么运动检测控制单元132b跳过上述加法操作,并结束一帧的运动矢量检测。
(b)写入与下一目标块相对应的参考块
运动检测控制单元132b按照下述操作将与运动检测的下一目标相对应的参考块写入参考图像数据缓冲器134b。
运动检测控制单元132b判断PAT标志是否为“0101”(目标块“64”)。如果PAT标志为“0101”,结束操作(a),一帧的运动矢量检测结束。
如果PAT标志不是“0101”,那么运动检测控制单元132b使块编号“n”加“1”,从而求得n’=n+1的值,并利用块变量“n’”设置PAT标志。
然后,运动检测控制单元132b将块变量“n’”的值和PAT标志输出到参考帧存储器控制单元133,并且对参考块的读取以及将读取的参考块输出到参考图像数据缓冲器134b进行控制。
接下来,运动检测控制单元132b根据下述操作在参考图像数据缓冲器134b中选择参考块的写入目的地。
首先,运动检测控制单元132b判断参数“t”是否满足t≥10。如果t≥10,运动检测控制单元132b就从“t”上减“5”。如果t<10,运动检测控制单元132b就会跳过这一减法操作,并且执行下一步操作。
接下来,运动检测控制单元132b采取下述方式,根据块变量“n’”的PAT标志,在参考图像数据缓冲器134b中选择参考块的写入目的地。
如果块变量“n’”的PAT标志为“1000”,运动检测控制单元132b将物理地址分别为“t+1”和“t+6”的块区指定为写入目的地区,并使参数“t”加“1”。
如果块变量“n’”的PAT标志为“0010”,运动检测控制单元132b将物理地址分别为“t-4”、“t-3”、“t+1”、“t+2”、“t+6”和“t+7”的块区指定为写入目的地区。这时,运动检测控制单元132b判断是否满足“t+7≥16”。如果t+7≥16,运动检测控制单元132b将物理地址为“t-8”的块区指定为写入目的地区,而不是将物理地址为“t+7”的块区指定为写入目的地区。如果t+7<16,运动检测控制单元132b就跳过这一操作,并使参数“t”加“2”。
如果块变量“n’”的PAT标志为“0000”,运动检测控制单元132b将物理地址分别为“t-4”、“t+1”和“t+6”的块区指定为写入目的地区,并使参数“t”加“1”。
如果块变量“n’”的PAT标志为“0110”,运动检测控制单元132b将物理地址分别为“t-4”、“t-3”、“t+1”和“t+2”的块区指定为写入目的地区。这时,运动检测控制单元1 32b判断是否满足“t+2≥11”。如果t+2≥11,运动检测单元132b将物理地址为“t-8”的块区指定为写入目的地区,而不是将物理地址为“t+2”的块区指定为写入目的地区。如果t+2<11,运动检测控制单元132b就跳过该操作,并使参数“t”加“2”。
如果块变量“n’”的PAT标志为“0100”,运动检测控制单元132b将物理地址分别为“t-4”和“t+1”的块区指定为写入目的地区,并使参数“t”加“1”。
如果块变量“n’”的PAT标志为“1001”或“0001”,运动检测控制单元132b将不选择任何块区作为写入目的地区,这时只需使参数“t”加“1”。
如上所述,运动检测控制单元132b根据“n’”的PAT标志将参考帧存储器控制单元133输出的参考块写入指定为写入目的地的块区。
在接收到表示已经接收到了来自输入单元137的目标块的控制信号后,运动检测控制单元132b使块变量“n”上加“1”,并根据加法运算得出的块变量“n”设置PAT标志。
2.3运动检测单元130b的操作
(1)检测一帧运动矢量的操作
下面将参照图17和图18所示的流程图对一帧运动矢量检测的相关操作进行说明。
输入单元137从分类单元102接收到目标块“1”和表示帧图像开始的控制信号,将接收到的目标块“1”写入目标图像数据缓冲器135,并将表示帧图像开始的控制信号输出到运动检测控制单元132b。运动检测控制单元132b将块变量“n”设置为“n=1”并根据块变量将PAT标志设置为“1010”(步骤S401)。
运动检测控制单元132b将设置好的PAT标志“1010”和块编号“n=1”输出到参考帧存储器控制单元133,并控制参考块的读取并将读取的参考块输出到参考图像数据缓冲器134b(步骤S402)。
参考帧存储器控制单元133根据PAT标志和从运动检测控制单元132b接收到的块编号“n=1”选择将要读取的参考块(步骤S403)。然后,参考帧存储器控制单元133读取选定的参考块,并将读取的参考块输出到参考图像数据缓冲器134b(步骤S404)。由参考帧存储器控制单元133执行的选择参考块的操作与第一实施例中的相同,因此,这里省略了相关说明。
接下来,参考帧存储器控制单元133将步骤S404中输出的参考块写入到参考图像数据缓冲器134中物理地址分别为“7”、“8”、“12”和“13”的块区中(步骤S405)。
然后,参考帧存储器控制单元133将参数“t”设为“8”,并将参数“k”设为“0”(步骤S406)。
在步骤S407到S428中,步骤S410到S427中的操作反复执行,直到构成一个目标帧的块编码分别为1到64的所有目标块都经过处理为止。
运动检测控制单元132b命令运动矢量计算单元136检测运动矢量,运动矢量计算单元136计算运动矢量(步骤S410)。
步骤S420到S427与步骤S410同时进行。首先,运动检测控制单元132b判断块变量“n”的PAT标志是否为“0101”(步骤S420)。如果PAT为“0101”,运动检测控制单元132b结束步骤S410,同时也结束对各目标块运动矢量检测的重复操作(步骤S428)。
如果PAT标志不是“0101”(步骤S420),运动检测控制单元132b计算块变量n’=n+1的值,并根据块变量n’设置PAT标志(步骤S421)。
然后,运动检测控制单元1 32b将块变量“n’”和“n’”的PAT标志输出到参考帧存储器控制单元133(步骤S422)。
参考帧存储器控制单元133根据接收到的PAT标志和块变量n’选择将要读取的参考块(步骤S423),并将选定的参考块输出到参考图像数据缓冲器134b(步骤S424)。
然后,运动检测控制单元132b在参考图像数据缓冲器134b中选择写入目的地,步骤S424中输出的参考块将被写入选定的写入目的地区中(步骤S425)。
运动检测控制单元132b将步骤S424中输出的参考块存储到步骤S425指定为写入目的地的块区内(步骤S426)。
输入单元137接收到来自分类单元102的目标块“n+1”,将接收到的目标块“n+1”写入目标图像数据缓冲器135,并将表示已经接收到目标块的控制信号输出到运动检测控制单元132b。接收到表示已经接收到了目标块的控制信号后,运动检测控制单元132b使块变量“n”加“1”,并利用加法运算得出的块变量“n”设置PAT标志(步骤S427)。
注意,在图17的步骤S403和图18的步骤S423中执行的有关参考块选择的操作与第一实施例中相同,因此,这里省略了相关说明。
(2)一个目标块的运动矢量检测
下面将参照图19所示的流程图说明一个目标块的运动矢量检测的相关操作。注意,下面对图18中的步骤S410进行详细描述。
运动检测控制单元132b利用参数“I”和参数“k”,通过公式“m=i+I+k”计算与逻辑地址“i”相对应的物理地址“m”(步骤S440)。参数“I”随着逻辑地址“i”的不同而变化。如果i=1到3,则I=0。如果i=4到6,则I=2。如果i=7到9,则i=4。参数“k”的取值范围为0到4,并且随着一帧运动矢量检测的进行而变化。注意,当i=1到3且m>5时,m=m-5。当i=4到6且m>10时,m=m-5。当i=7到9且m>15时,m=m-5。检测区是由上面公式推导出的九个物理地址所代表的块区。
接下来,运动矢量检测控制单元132b将计算范围和运动矢量检测的指令输出到运动矢量计算单元136(步骤S441)。
运动矢量计算单元136接收来自运动检测控制单元132b的指令,并计算包括在计算范围内的运动矢量(步骤S442)。
运动矢量计算结束后,运动检测控制单元132b通过输出单元138将计算的运动矢量输出到预测图像生成单元123和可变长度编码单元107(步骤S443)。
然后,运动检测控制单元132b判断块变量“n”的PAT标志。如果PAT标志为“1001”或者“0001”,运动检测控制单元132b使参数“k”加“2”(步骤S446)。如果PAT标志为“1010”、“1000”、“0010”、“0000”、“0110”和“0100”中的任何一个,运动检测控制单元132b使参数“k”加“1”(步骤S447)。这时,运动检测控制单元132b判断是否满足k≥5(步骤S450)。如果k≥5,运动检测控制单元132b使“k”减“5”(步骤S451)。如果k<5(步骤S450),运动检测控制单元132b结束目标块的运动矢量检测,并执行步骤S428。
如果经判断,PAT标志为“0101”(步骤S445),运动检测控制单元132b跳过这一操作,并且执行步骤S428。
(3)参考块写入目的地的选择
下面将参照图20所示的流程图对参考图像数据缓冲器134中写入目的地的块区选择进行说明。注意,下面是对图18中步骤S425的详细说明。
运动检测控制单元132b根据块变量“n’”的PAT标志和参数“t”选择写入目的地。
首先,运动检测控制单元132b判断参数“t”是否满足t≥10(步骤S460)。如果t≥10,运动检测控制单元使参数“t”减“5”,即“t=t-5”(步骤S461)。如果t<10,运动检测控制单元132b跳过该操作,并执行步骤S462。
然后,运动检测控制单元132b判断块变量“n’”的PAT标志(步骤S462),并根据PAT标志选择写入目的地。
如果PAT标志为“1000”(步骤S462),运动检测控制单元132b将物理地址分别为“t+1”和“t+6”的块区指定为写入目的地区(步骤S463),使参数“t”加“1”(步骤S464)并结束写入目的地的选择。这时,处理过程跳转至步骤S426。
如果块变量“n’”的PAT标志为“0010”(步骤S462),运动检测控制单元132b将物理地址分别为“t-4”、“t-3”、“t+1”、“t+2”、“t+6”和“t+7”的块区指定为写入目的地区(步骤S465)。然后,运动检测控制单元132b判断是否满足t+7≥16(步骤S466)。如果t+7≥16,运动检测控制单元132b指定物理地址为“t-8”的块区为写入目的地,而不是指定物理地址为“t+7”的块区为写入目的地(步骤S467)。如果t+7<16,运动检测控制单元132b就跳过这一操作并执行步骤S468。然后,运动检测控制单元132b使参数“t”加“2”(步骤S468),结束写入目的地的选择,并且执行步骤S426。
如果块变量“n’”的PAT标志为“0000”(步骤S462),运动检测控制单元132b指定物理地址分别为“t-4”、“t+1”和“t+6”的块区为写入目的地区(步骤S470),使参数“t”加“1”(步骤471),结束写入目的地的选择,并执行步骤S426。
如果块变量“n’”的PAT标志为“0110”(步骤S462),运动检测控制单元132b将物理地址分别为“t-4”、“t-3”、“t+1”和“t+2”的块区指定为写入目的地区(步骤S475)。然后,运动检测控制单元132b判断是否满足t+2≥11(步骤S476)。如果t+2≥11,运动检测控制单元132b将物理地址为“t-8”的块区指定为写入目的地,而不是将物理地址为“t+2”的块区指定为写入目的地(步骤S477)。如果t+2<11,运动检测控制单元132b就跳过该操作,并且执行步骤S478。然后,运动检测控制单元132b使参数“t”加“2”,结束写入目的地的选择,并执行步骤S426。
如果块变量“n’”的PAT标志为“0100”(步骤S462),运动检测控制单元132b将物理地址分别为“t-4”和“t+1”的块区指定为写入目的地区(步骤S480),使参数“t”加“1”(步骤S481),结束写入目的地区的选择,并且执行步骤S426。
如果块变量“n’”的PAT标志为“1001”或“0001”(步骤S462),运动检测控制单元132b不将任何块区指定为写入目的地区,并将直接执行步骤S481。
(4)由运动检测控制单元132b执行的改变检测区的操作
参考图像数据缓冲器134b中的检测区和参考块的写入目的地区通过上述计算设定,每处理完一个目标块,参考块的写入目的地就移至下一区域。图21示出了在对一目标帧的目标块进行运动矢量检测的过程中,检测区和参考块写入目的地区域的转换。图21中的数字表示存储在各块区中的参考块的块编码。下文对改变参考图像数据缓冲器134b中的写入目的地区和运动矢量检测区的操作进行了说明。
目标块“1”到“6”的检测与第一实施例中执行的检测相同,在这一过程中,检测区和目标块区每次移动一行。因此,这里省略了相关说明。下文对目标块“7”和其后目标块的检测进行说明。
如图21A所示,运动检测控制单元132b将包括3行3列块区的区域40设置为检测区,并检测目标块“6”的运动矢量。位于区域40中央的块区将存储参考块“6”。与此同时,在检测目标块“7”的运动矢量所需的参考块当中,将未存储在参考图像数据缓冲器134b内的参考块“8”和参考块“16”写入物理地址分别为“9”和“14”的块区内。
如图21B所示,当目标块“6”的运动矢量检测结束后,运动检测控制单元132b将包括3行3列块区的区域42设置为检测区,并检测目标块“7”的运动矢量。位于区域42中央的块区将存储参考块“7”。这时,已经将检测目标块“8”所需的参考块写入了参考图像数据缓冲器134b。因此,并为发生从参考帧存储器131到参考图像数据缓冲器134b的数据转移。
如图21C所示,在结束对目标块“7”的运动矢量检测后,运动检测控制单元132b将包括3行3列块区的区域43设置为检测区,并检测目标块“8”的运动矢量。位于区域43中央的块区将存储目标块“8”。与此同时,检测目标块“9”的运动矢量所需的参考块“1”、“2”、“9”、“10”、“17”和“18”将被写入物理地址分别为“1”、“2”、“6”、“7”、“11”和“12”的块区。
如图21D所示,在结束对目标块“8”的运动矢量检测后,运动检测控制单元132b将包括3行1列块区的区域45a和包含3行2列块区的区域45b设置为检测区,并执行运动矢量检测。区域45b包括存储参考块“9”的块区。与此同时,在检测目标块“10”的运动矢量所需的参考块中,将未存储在参考图像数据缓冲器134b中的参考块“3”、“11”和“19”写入物理地址分别为“3”、“8”和“13”的块区中。
按照这种方式,设置检测区和目的地块区的操作通过每次移动一行或两行的方式重复执行,直到构成一帧的六十四个目标块的运动矢量检测全部结束为止。
2.5第二实施例的效果
根据本发明,参考图像数据缓冲器134b包括5个存储器,即存储器161到165。可以通过运动检测控制单元132b对它们进行独立控制。
运动检测控制单元132b在参考图像数据缓冲器134b中指定检测区,读取存储在检测区中的参考块,并将读取的参考块输出到运动矢量计算单元136。与此同时,运动检测控制单元132b将检测下一目标块的运动矢量所需的参考块写入未被指定为检测区的区域内。这时,参考帧存储器控制单元133对参考块进行选择,以确保在参考图像数据缓冲器134b中不会出现参考块重复的现象。
借助这一结构,在每个目标帧的运动矢量检测过程中,由参考帧存储器131向参考图像数据缓冲器134b转移的参考块的总数为176个,这意味着数据流量的显著降低。
而且,凭借第二实施例中描述的结构,一帧图像的运动矢量检测速度要高于第一实施例中的检测速度。
如图13所示,由参考帧存储器131最新转移到图像数据缓冲器134b的参考块的数量应为位于宏块行顶部的四个或六个。但是,在第一实施例中,参考图像数据缓冲器134包含3行4列的块区,而且未被指定为检测区的块区所具有的容量只能存储3个宏块。因此,在检测宏块行最后一个目标块的运动矢量时,不可能将对应于下一宏块行顶部的目标块的参考块写入参考图像数据缓冲器134。这意味着在第一实施例中,在结束某一宏块行最后一目标块的运动矢量检测之后,才能将对应于下一宏块行顶部目标块的参考块写入参考图像数据缓冲器134。因此,需要等待周期。
在第二实施例中,参考图像数据缓冲器134b包括3行5列块区,总是有六个宏块的块区未被指定为检测区。因此,可以在检测宏块行最后一个目标块的运动矢量的过程中,将对应于下一宏块行顶部目标块的参考块写入参考图像数据缓冲器134b。这表明在第一实施例中需要的等待周期在第二实施例中并不存在。对于构成目标帧的六十四个目标块而言,运动矢量检测和对应于下一个目标块的参考块的写入都同时进行。
上述方法实现了一帧运动矢量检测速度的提高。
3.变型
前面基于两个实施例对本发明进行了解释。但是,本发明肯定不局限于上述实施例。下述内容也包含在本发明当中。
(1)可以按照下述说明对第一实施例和第二实施例中参考帧存储器131的数据写入和数据读取进行改动。
(A)如图22所示,参考帧存储器131包含16384个存储单元,这些存储单元按照64行256列的矩阵形式排列。存储单元的位置通过行地址1到64和列地址1到256确定,各存储单元的容量为8字节。为简化起见,用“行r”表示行地址“r”(r=1到64)并且用“列c”代表列地址“c”(c=1到256)。
在构成参考块“1”的16行16列像素数据中,第1行的16个像素将分别存储在指定为行“1”,列“1”到列“16”的存储单元中。第2行的16个像素将分别存储在由行“1”,列“17”到列“32”确定的存储单元中。依此类推,第3行到第16行的像素数据将存储在由行“1”,列“33”到列“256”确定的存储单元中。
和参考块“1”的分配方式相同,构成参考块“2”的像素数据将被存储到由行“2”,列“1”到列“256”确定的存储单元内。
通过这种方式,参考帧中的参考块“3”到“64”将被存储到包括在一列中的由行“3”到行“64”确定的存储单元中,其中每行包括256个存储单元。
(B)加法单元124
加法单元124按照第1行到第16行的顺序,将16行16列像素数据输出到参考帧存储器131。
如图23所示,加法单元输出与时钟信号231保持同步的指令241、地址251和数据261。
指令241a用于输出表示操作开始的指令“开始”。指令241b代表读取和写入由参考帧存储器131输出的指令。如果该指令是针对读取的,就会输出“读取”,如果是针对写入的,就会输出“写入”。
(i)存储页模式下的写入
下面将参照图23对存储页模式下的写入操作进行描述,在存储页模式下,通过将行固定,只输出列的方式对一行中的存储单元进行访问。
加法单元124在“t1”时刻将表示操作开始的指令241a(开始)输出到参考帧存储器131。与此同时,加法单元124输出行地址251a(行“1”),即数据将被写入的该存储单元的地址。
加法单元124在时刻“t3”输出指令241b(写入)。与此同时,加法单元124输出列地址251b(列1),即数据将被写入的该存储单元的地址。
加法单元124在时刻“t5”输出像素数据261a。
加法单元124在时刻“t7”输出列地址251c(列“2”),即下一次输出的存储单元的地址,并在时刻“t9”输出像素数据261b。
采用这种方式,不断重复与时钟信号231同步的列和像素数据的输出,就可以将像素数据存储到由行“1”和列“3”到列“256”确定的存储单元中。如果构成参考块“1”的256块像素数据分别存储到由行“1”和列“1”到列“256”确定的存储单元中,加法单元124就会输出行“2”。然后,加法单元124执行构成参考块“2”的像素数据的输出。
通过这种方式,参考块“3”到“64”将被输出到参考帧存储器131中行“3”到行“64”的存储单元中,构成该参考帧的所有64个参考块都将被输出到参考帧存储器131。
也可以采用下面的方法(ii)。
(ii)脉冲模式下的写入
下面将参照图24对脉冲模式下的写入进行说明,在这一模式下,只输出位于访问起始处的存储单元的行和列,在所述输出结束后,会有多个后继存储单元被访问。
如图24所示,加法单元在与时钟信号232保持同步的条件下,将地址252和像素数据262输出到参考帧存储器131。
指令242a代表表示操作开始的指令“开始”的输出。指令242b代表输出到参考帧存储器131的读取或写入指令。如果这一指令是针对读取的,指令242b将为“读取”,如果这一指令是针对写入的,指令242b将为“写入”。
加法单元124在时刻“t1”输出指令242a(开始),与此同时输出写入目的地存储单元的行地址252a(行1)。然后,加法单元124会在时刻“t3”输出指令242b(写入),与此同时输出写入目的地存储单元的列地址252b(列“1”)。
加法单元124在时刻“t5”输出像素数据262a,在时刻“t6”输出像素数据262b。同样地,加法单元124按顺序输出与时钟信号232保持同步的像素数据262c、262d、262e……。输出的像素数据262a、262b、262c……将被分别存储在由行“1”和列“1”到列“256”确定的存储单元内。
如果构成参考块“1”的所有像素数据都被分别存储在由行“1”和列“1”到列“256”确定的存储单元内,那么加法单元就输出行“2”,并且数据处理移至对构成参考块“2”的像素数据的输出上。
同样地,参考块“3”到“64”将被输出到参考帧存储器131中行“3”到行“64”的存储单元内,这样,构成参考帧的所有六十四个参考块都被写入参考帧存储器131中。
(C)参考帧存储器控制单元133
如上所述,参考帧存储器控制单元133选择参考块,该参考块根据从运动检测控制单元132接收到的块变量和PAT标志由参考帧存储器131输出至参考图像数据缓冲器134。
然后,参考帧存储器控制单元133按照下述方式从参考帧存储器131中读取选定的参考块。
例如,这里接收到了块变量“1”和PAT标志“1010”。在这种情况下,参考帧存储器控制单元133选择参考块“1”、“2”、“9”和“10”,并从参考帧存储器131中读取这些参考块。
(i)存储页模式下的读取
下面将参照图23描述由参考帧存储器控制单元133执行的从参考帧存储器131中进行数据读取的操作。
参考帧存储器控制单元133在时刻“t1”将表示操作开始的指令251a(开始)输出到参考帧存储器131,与此同时输出读取源单元的行地址251a(行“1”)。
参考帧存储器控制单元133在时刻“t3”输出指令241b(读取),与此同时输出读取源单元的列地址251b(列“1”)。
参考帧存储器控制单元133在时刻“t5”接收到像素数据261a。
参考帧存储器控制单元133在时刻“t7”输出下一次读取的存储单元的列地址251c(列“2”),并在时刻“t9”接收像素数据261b。
采用这种方式,在与时钟信号231保持同步的情况下,重复列的输出和像素数据的接收,参考帧存储器控制单元133接收到分别存储在由行“1”和列“3”到列“256”确定的存储单元内的像素数据。
当构成参考块“1”的所有256块像素数据均从由行“1”和列“1”到列“256”确定的存储单元输出后,参考帧存储器控制单元133就输出行“2”,并且数据处理移至分别存储在由行“2”和列“1”到列“256”确定的存储单元内的参考块“2”的读取上。
结束对参考块“2”的读取后,参考帧存储器控制单元133将采取同样的方式读取参考块“9”和参考块“10”。
也可以采用下面的方法(ii)。
(ii)脉冲模式下的读取
下面将参照图24描述如何在脉冲模式下从参考帧存储器131中读取数据。
参考帧存储器控制单元133在时刻“t1”输出指令242a(开始),与此同时,输出读取源存储单元的行地址252a(行“1”)。然后,参考帧存储器控制单元133在时刻“t3”输出指令242b(读取),与此同时,输出读取源存储单元的列地址252b(列“1”)。
参考帧存储器控制单元133在时刻“t5”接收到像素数据262a,并在时刻“t6”接收到像素数据262b。同样地,参考帧存储控制单元133会在与时钟信号232保持同步的情况下,接收像素数据262c、262d、262e……。当分别存储在由行“1”和列“1”到列“256”确定的存储单元内的构成参考块“1”的所有256块像素数据均输出后,参考帧存储器控制单元133就输出行“2”,并且数据处理移至分别存储在由列“1”到列“256”确定的存储单元内的构成参考块“2”的256块像素数据的读取上。
(D)变型(1)的效果
(i)就存储页模式下执行读取和写入操作而言,如果针对某一列进行数据读取和写入,那么不要求加法单元124和参考帧存储器控制单元133分别输出由列“2”到列“256”确定的存储单元的行。因此,省略了255个存储单元的行输出。
(ii)就脉冲模式下执行读取和写入操作而言,在结束了确定某列存储单元顶部存储单元位置的行地址的输出并输出列“1”后,不要求加法单元124或参考帧存储器控制单元133输出后继的列“2”到列“256”的地址。因此,省略了255个存储单元的行和列的输出。
通过省略地址的输出,可以降低数据读取和写入所需的时间。
(2)在上述第一实施例中,参考图像数据缓冲器134由四个存储器,即存储器“141”到“144”构成,而且这些存储器通过独立的总线分别连接到参考帧存储器131和运动检测控制单元132上。但是,这只是一个示例性结构,还可以采用其他结构。
例如,参考图像数据缓冲器134可以包含12个块区,这些块区按照3行4列的矩阵形式排列,而且可以具有用于读取的端口和用于写入的端口。参考图像数据缓冲器134可以通过一条总线连接到运动检测控制单元132和参考帧存储器单元131。如第一实施例中所述,数据从参考图像数据缓冲器134的检测区内读取,并向检测区外的块区内写入。因此,数据的读取和写入不会在一个块区内同时发生。
同样,在第二实施例中,参考图像数据缓冲器134可以包含15个块区,这些块区按照3行5列的矩阵形式排列,并且可以具有用于读取的端口和用于写入的端口。可以通过一条总线将参考图像数据缓冲器134b连接至运动检测控制单元132b和参考帧存储器单元131。
(3)在上述实施例中,参考帧上的参考区由3行3列参考块组成,其中与运动矢量检测目标块具有相同编号的参考块位于中央。但是,参考区也可以由5行5列参考块组成。
在这种情况下,参考图像数据缓冲器134所包含的块区将按照5行6列的矩阵形式排列。
运动矢量检测的执行方式与第一实施例中相同。
(4)本发明可以是上述方法。本发明也可以是上述实施例和上述变型的结合。
尽管通过举例的形式参照附图对本发明进行了充分描述,但值得注意的是,对于那些精通所属技术领域的人员来讲,显然存在着多种多样的改动和变型。因此,除非此类改动和变型与本发明的范围相背离,否则这些改动和变型将被划归到本发明的范围之内。
行业使用范围
本发明适用于下述行业:生产和销售带有移动图像照像机功能的设备,例如数码摄像机和配有摄像头的便携式电话等;以经营、连续和重复的方式创建和使用图像内容的行业,例如电影行业和媒体行业等。

Claims (12)

1、一种参照参考帧对包括在目标帧中的目标块进行运动矢量检测的运动矢量检测装置,包括:
参考帧存储单元,用于存储由预定数量的参考块组成的参考帧;
目标块存储单元,用于存储包括在目标帧中的目标块;
包括检测区和预备区的参考块存储单元,所述检测区存储多个包括与所述目标块相对应的参考块的参考块;
写入单元,用于在包括与后继目标块相对应的参考块在内的多个参考块中,读取一个或多个未存储在检测区内的参考块,并将读取的参考块写入预备区,所述后继目标块与所述目标块相邻;以及
检测单元,用于参照存储在所述检测区内的参考块检测目标块的运动矢量。
2、按照权利要求1所述的运动矢量检测装置,其特征在于,所述检测单元对所述目标块的运动矢量检测与所述写入单元执行的写入操作并行进行。
3、一种基于参考帧对包括在目标帧中的目标块进行运动矢量检测的运动矢量检测装置,包括:
参考帧存储单元,用于存储由预定数量的参考块组成的参考帧;
目标块存储单元,用于存储包括在目标帧中的目标块;
参考块存储单元,用于存储包括与所述目标块相对应的参考块在内的多个参考块;
设置单元,用于基于所述目标块在所述目标帧中的位置设置检测区和预备区,所述检测区存储包括与所述目标块相对应的参考块在内的多个参考块;
写入单元,用于在包括与后继目标块相对应的参考块在内的多个参考块中读取未被存储在预备区内的参考块,并将读取的参考块写入预备区,所述后继目标块与所述目标块相邻,以及
检测单元,用于根据存储在所述检测区内的参考块检测所述目标块的运动矢量。
4、按照权利要求3所述的运动矢量检测装置,其特征在于,所述检测单元对所述目标块的运动矢量检测与所述写入单元执行的写入操作并行进行。
5、按照权利要求4所述的运动矢量检测装置,其特征在于,所述设置单元对所述检测区进行设置,使得与所述目标块相对应的参考块放置在所述检测区的中心。
6、按照权利要求5所述的运动矢量检测装置,其特征在于,存储在所述参考块存储单元内的各参考块由表示存储在所述参考块存储单元中的参考块的位置的物理地址确定,而且
所述检测单元包括:
指定单元,用于指定表示存储在所述检测区内的所述参考块的位置的逻辑地址;
转换单元,用于将所述逻辑地址转换为物理地址;
读取单元,用于从所述参考块存储单元中逐像素读取由所述物理地址确定的参考块;
重复控制单元,用于对所述指定单元、转换单元和读取单元进行重复控制,从而对所述检测区内的所有参考块执行所述指定、转换和读取操作;以及
计算单元,用于利用读取的参考块和目标块计算所述目标块的运动矢量。
7、按照权利要求6所述的运动矢量检测装置,其特征在于,所述参考块存储单元存储多个参考块,在这些参考块中包括与邻接所述目标帧边缘的所述目标块相对应的参考块。
所述设置单元将包括与所述目标块相对应的参考块在内的多个参考块设置为检测区内的一个计算范围,以及
所述检测单元根据包括在所述检测区的所述计算范围内的参考块计算运动矢量。
8、按照权利要求3所述的运动矢量检测装置,其特征在于,所述参考帧存储单元包括多个按照矩阵形式排列的存储器单元,各存储器单元的位置由行地址和列地址确定,各参考块构成存储在多个具有相同的行地址的存储器单元内的参考帧,以及
所述写入单元从由相同的行地址确定的所述多个存储器单元内读取所述参考块。
9、按照权利要求3所述的运动矢量检测装置,其特征在于,所述参考块存储单元包括用于存储3行4列参考块的区域,以及
所述设置单元将所述检测区设置为用于存储3行3列参考块的区域,并将所述预备区设置为用于存储3行1列参考块的区域。
10、按照权利要求3所述的运动矢量检测装置,其特征在于,所述参考块存储单元包括用于存储3行5列参考块的区域,以及
所述设置单元将所述检测区设置为用于存储3行3列参考块的区域,并将所述预备区设置为用于存储3行2列参考块的区域。
11、一种根据参考帧检测包括在目标帧内的目标块的运动矢量检测方法,包括:
参考帧存储步骤,存储由预定数量的参考块构成的参考帧;
目标块存储步骤,存储包括在目标帧图像内的目标块;
参考块存储步骤,存储包括与所述目标块相对应的参考块在内的多个参考块;
设置步骤,根据所述目标块在所述目标帧中的位置,在所述参考块存储单元中设置检测区和预备区,所述检测区存储包括与所述目标块相对应的参考块在内的多个参考块;
写入步骤,在包括与后继目标块相对应的参考块在内的多个参考块中读取一个或多个未存储在所述检测区内的参考块,并将读取的参考块写入所述预备区,所述后继目标块与所述目标块相邻,以及
检测步骤,根据存储在所述检测区内的参考块检测所述目标块的运动矢量。
12、一种根据参考帧并利用运动补偿预测对包括在目标帧中的目标块进行压缩的移动图像照相机,包括:
参考帧存储单元,用于存储由预定数量的参考块构成的参考帧;
目标块存储单元,用于存储包括在目标帧中的目标块;
参考块存储单元,用于存储包括与所述目标块相对应的参考块在内的多个参考块;
设置单元,用于根据所述目标块在所述目标帧中的位置在所述参考块存储单元中设置检测区和预备区,所述检测区存储包括与所述目标块相对应的所述参考块在内的多个参考块;
写入单元,用于在包括与后继目标块相对应的参考块在内的多个参考块中读取一个或多个未存储在所述检测区内的参考块,并将读取的参考块写入所述预备区,所述后继目标块与所述目标块相邻,以及
检测单元,用于根据存储在所述检测区内的参考块检测所述目标块的运动矢量。
CNB2004101015689A 2004-01-26 2004-12-23 运动矢量检测装置以及移动图像照相机 Active CN100382604C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004017674 2004-01-26
JP2004017674A JP4511842B2 (ja) 2004-01-26 2004-01-26 動きベクトル検出装置及び動画撮影装置

Publications (2)

Publication Number Publication Date
CN1649416A true CN1649416A (zh) 2005-08-03
CN100382604C CN100382604C (zh) 2008-04-16

Family

ID=34792516

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004101015689A Active CN100382604C (zh) 2004-01-26 2004-12-23 运动矢量检测装置以及移动图像照相机

Country Status (4)

Country Link
US (1) US7627036B2 (zh)
JP (1) JP4511842B2 (zh)
KR (1) KR20050077009A (zh)
CN (1) CN100382604C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118561A (zh) * 2010-05-27 2011-07-06 周渝斌 监控系统中相机移动检测系统及方法
CN103262537A (zh) * 2010-12-20 2013-08-21 索尼公司 图像处理装置和方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383421B2 (en) * 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US7280753B2 (en) 2003-09-03 2007-10-09 Canon Kabushiki Kaisha Display apparatus, image processing apparatus, and image processing system
US7451293B2 (en) * 2005-10-21 2008-11-11 Brightscale Inc. Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing
TW200803464A (en) * 2006-01-10 2008-01-01 Brightscale Inc Method and apparatus for scheduling the processing of multimedia data in parallel processing systems
JP2007189518A (ja) * 2006-01-13 2007-07-26 Matsushita Electric Ind Co Ltd 信号処理装置、撮像装置、ネットワークカメラシステム及び映像システム
US20070195888A1 (en) * 2006-02-17 2007-08-23 Via Technologies, Inc. Intra-Frame Prediction Processing
US8498340B2 (en) * 2006-04-04 2013-07-30 Himax Technologies Limited Method and device for decoding and displaying video frames
JP4682384B2 (ja) 2006-07-11 2011-05-11 株式会社メガチップス 1/4画素輝度用動き予測機構、組合せ輝度用動き予測機構、及び組合せ輝度・色差用動き予測機構
US20080055307A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski Graphics rendering pipeline
US20080059762A1 (en) * 2006-09-01 2008-03-06 Bogdan Mitu Multi-sequence control for a data parallel system
US20080059763A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data
US20080059764A1 (en) * 2006-09-01 2008-03-06 Gheorghe Stefan Integral parallel machine
US20080244238A1 (en) * 2006-09-01 2008-10-02 Bogdan Mitu Stream processing accelerator
US9563433B1 (en) 2006-09-01 2017-02-07 Allsearch Semi Llc System and method for class-based execution of an instruction broadcasted to an array of processing elements
US20080059467A1 (en) * 2006-09-05 2008-03-06 Lazar Bivolarski Near full motion search algorithm
US8098898B2 (en) 2006-10-27 2012-01-17 Panasonic Corporation Motion detection device, MOS (metal-oxide semiconductor) integrated circuit, and video system
JP5080899B2 (ja) * 2007-08-08 2012-11-21 キヤノン株式会社 映像処理装置及びその制御方法
CN101453656B (zh) * 2007-11-29 2011-06-01 华为技术有限公司 视频编码、解码方法及装置和视频编解码系统
JP4982907B2 (ja) * 2010-12-07 2012-07-25 株式会社メガチップス 1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構
JP5711370B2 (ja) * 2011-06-30 2015-04-30 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法および画像復号方法
US10747659B2 (en) * 2018-02-06 2020-08-18 Western Digital Technologies, Inc. Flash fast program mode for high definition video recording and high resolution camera burst mode recording

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2564504B2 (ja) * 1984-08-23 1996-12-18 日本電気株式会社 画像メモリ−
JPH0385884A (ja) 1989-08-29 1991-04-11 Sony Corp 画像の動き検出回路
JP3011344B2 (ja) * 1991-07-01 2000-02-21 沖電気工業株式会社 画像処理装置
ATE148607T1 (de) * 1991-09-30 1997-02-15 Philips Electronics Nv Bewegungsvektorschätzung, bewegungsbildkodierung- und -speicherung
JP3337515B2 (ja) * 1993-03-24 2002-10-21 三菱電機株式会社 動きベクトル検出装置
JPH07250328A (ja) 1994-01-21 1995-09-26 Mitsubishi Electric Corp 動きベクトル検出装置
JP3119994B2 (ja) * 1994-04-28 2000-12-25 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 画像データの処理方法およびそれに用いる記憶装置ならびに画像データの処理装置
JP3769773B2 (ja) * 1995-04-20 2006-04-26 ソニー株式会社 動きベクトル検出装置および検出方法
JPH1051787A (ja) * 1996-08-01 1998-02-20 Sharp Corp 動きベクトル検出装置
JP3276073B2 (ja) * 1997-08-07 2002-04-22 松下電器産業株式会社 動きベクトル検出装置および動きベクトル検出方法
EP0896300B1 (en) * 1997-08-07 2002-01-30 Matsushita Electric Industrial Co., Ltd. Device and method for motion vector detection
JP2000232644A (ja) * 1999-02-10 2000-08-22 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法および装置およびそのプログラムを記憶した記憶媒体
WO2001010135A1 (en) * 1999-07-29 2001-02-08 Mitsubishi Denki Kabushiki Kaisha Moving vector detecting method
JP2001136533A (ja) * 1999-11-10 2001-05-18 Matsushita Electric Ind Co Ltd 動きベクトル検出装置、動きベクトル検出方法および動きベクトル検出プログラム記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118561A (zh) * 2010-05-27 2011-07-06 周渝斌 监控系统中相机移动检测系统及方法
CN102118561B (zh) * 2010-05-27 2013-09-11 周渝斌 监控系统中相机移动检测系统及方法
CN103262537A (zh) * 2010-12-20 2013-08-21 索尼公司 图像处理装置和方法

Also Published As

Publication number Publication date
US20050163220A1 (en) 2005-07-28
KR20050077009A (ko) 2005-07-29
JP2005210647A (ja) 2005-08-04
US7627036B2 (en) 2009-12-01
JP4511842B2 (ja) 2010-07-28
CN100382604C (zh) 2008-04-16

Similar Documents

Publication Publication Date Title
CN1649416A (zh) 运动矢量检测装置以及移动图像照相机
CN1260979C (zh) 图像处理装置及系统、解码装置、编码装置及编码方法
CN1156171C (zh) 提高处理效率的图象声音处理装置
CN1175670C (zh) 图像信号转换方法和设备以及图像提供系统
CN1284376C (zh) 动态图像译码装置和方法
CN1220390C (zh) 图像处理设备和图像处理方法
CN1286575A (zh) 噪声检测方法、噪声检测装置及图象编码装置
CN1993993A (zh) 图像处理设备、其程序、及其方法
CN1744720A (zh) 可变长度解码装置
CN1956545A (zh) 图像处理装置、图像处理方法、记录介质和程序
CN1545813A (zh) 图象编码装置、图象译码装置、图象编码方法、图象译码方法、图象编码程序和图象译码程序
CN1939830A (zh) 电梯群管理系统及其控制方法
CN1596547A (zh) 移动图像编码设备、移动图像解码设备、移动图像编码方法、移动图像解码方法、程序和存储程序的计算机可读记录媒介
CN1922630A (zh) 图象处理装置、图象处理系统、图象处理方法、图象处理程序及集成电路装置
CN101060628A (zh) 图像数据传输方法、图像处理装置和摄像系统
CN1658665A (zh) 存储器管理方法、图像处理设备和存储器管理程序
CN1204753C (zh) 基于相邻像素预测的帧内预测方法
CN1253013C (zh) 预测装置、编码装置、逆预测装置、解码装置
CN1229758C (zh) 正交变换图像的分辨率变换装置和方法
CN1756357A (zh) 信息处理设备以及其中使用的程序
CN1758761A (zh) 编码装置以及成像装置
CN1269077C (zh) 图象处理器以及图象处理方法
CN1102279C (zh) 图象控制装置
CN1170437C (zh) 图像信号混洗装置和方法
CN1265647C (zh) 块组编码结构及基于块组结构的自适应分阶段预测编码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200602

Address after: Osaka

Patentee after: Panasonic semiconductor solutions Co.,Ltd.

Address before: Osaka

Patentee before: Panasonic Corp.