WO2010001433A1 - メモリ装置及びそれを制御するメモリコントローラ - Google Patents

メモリ装置及びそれを制御するメモリコントローラ Download PDF

Info

Publication number
WO2010001433A1
WO2010001433A1 PCT/JP2008/001702 JP2008001702W WO2010001433A1 WO 2010001433 A1 WO2010001433 A1 WO 2010001433A1 JP 2008001702 W JP2008001702 W JP 2008001702W WO 2010001433 A1 WO2010001433 A1 WO 2010001433A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
generation unit
memory
memory device
control signal
Prior art date
Application number
PCT/JP2008/001702
Other languages
English (en)
French (fr)
Inventor
佐藤貴彦
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 富士通マイクロエレクトロニクス株式会社
Priority to CN200880130151.1A priority Critical patent/CN102292774B/zh
Priority to JP2010518823A priority patent/JP5126360B2/ja
Priority to PCT/JP2008/001702 priority patent/WO2010001433A1/ja
Priority to EP08790101A priority patent/EP2299449A1/en
Priority to KR20107029621A priority patent/KR101226394B1/ko
Publication of WO2010001433A1 publication Critical patent/WO2010001433A1/ja
Priority to US12/981,075 priority patent/US8493400B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access

Definitions

  • the present invention relates to a memory device and a memory controller that controls the memory device, and more particularly to a memory device that stores image data and the memory controller thereof.
  • Memory devices particularly large-capacity SDRAMs among semiconductor memory devices, are widely used as frame memories in image processing devices.
  • the frame memory for storing image data has a strong demand for large capacity in order to support full high-definition screens.
  • the MPEG standard in response to the MPEG standard having the compression and decompression processing of moving images, it is required to access image data in an arbitrary area at high speed in addition to memory access by normal raster scanning.
  • the MPEG standard includes a process of searching for an image that matches an image in a predetermined rectangular area in order to detect a motion vector. This motion vector search process requires frequent and large-capacity read operations on the frame memory.
  • the memory device has a plurality of memory unit areas selected by input addresses, stores image data in the plurality of memory unit areas according to a predetermined memory map, and is adjacent by one input address. The output data is read from the memory unit area to be written and the input data is written to the adjacent memory unit area.
  • General-purpose SDRAM has burst read and burst write functions, and can efficiently access storage areas with continuous addresses. Therefore, in the case of a memory map that stores image data in the raster scan direction of 2D image data in a continuous address area, access to raster scan 2D image data is very efficient and processed per unit time.
  • the memory bandwidth which is the number of possible data, becomes very large. However, memory access in a direction or area different from the raster scan decreases the memory access efficiency and decreases the memory bandwidth.
  • Patent Document 1 vertical image data of a two-dimensional image is stored in the same row address and column address areas of a plurality of bank areas in a memory, and a plurality of bank areas are activated simultaneously, It describes that the image data in a row is accessed simultaneously. That is, by storing the image data of the two-dimensional image based on a special memory map, the access efficiency of the image data of a plurality of lines is increased.
  • a video RAM has a DRAM for storing image data of a two-dimensional image and a serial access memory SAM for controlling the data of the DRAM, and the serial access memory SAM can count in ascending or descending order. And a serial address counter is written in descending order to write an image that is reversed left and right.
  • a video RAM has a DRAM for storing image data of a two-dimensional image and a serial access memory SAM for controlling the cache of the DRAM data, and the address counter of the serial access memory is subtracted from the addition mode. It is described that the mode can be changed and the addition value of the address counter can be set from the outside as an arbitrary number.
  • Patent Document 4 image data read by an image reading device is written in an image memory so that the addresses of adjacent pixel data in the sub-scanning direction are continuous addresses, and the image is read in the opposite direction. It describes that page mode read processing is performed on data.
  • Patent Document 5 describes a video RAM similar to Patent Document 2. JP 2005-116128 A JP-A-8-190372 JP-A-6-243675 JP-A-5-334426 Japanese Patent Laid-Open No. 5-54657
  • Patent Documents 1 to 5 all disclose the configuration of a system having a DRAM, and do not relate to the internal configuration of a DRAM that stores image data. Therefore, these prior arts cannot increase the bandwidth of DRAM storing image data. On the other hand, a memory device that can efficiently perform special access corresponding to various image processing is expected.
  • an object of the present invention is to provide a memory device capable of efficiently performing special access.
  • Another object of the present invention is to provide a memory device capable of efficiently performing continuous access of a two-dimensional image in an arbitrary direction.
  • Another object of the present invention is to provide a memory device that can efficiently access an arbitrary two-dimensional area of a two-dimensional image.
  • the memory device has a plurality of memory unit areas selected by an address, a memory cell array for storing two-dimensional array data in the plurality of memory unit areas, and an internal address for selecting the memory unit area based on an external address And an decoder for selecting the memory unit area by decoding the internal address.
  • the plurality of memory unit areas store data arranged in a first direction among the matrix of the two-dimensional array data based on the lower bit group of the internal address, and based on the upper bit group of the address Stores data arranged in the second direction in the matrix of two-dimensional array data.
  • the internal address control unit sequentially generates internal addresses corresponding to the scanning direction based on a scanning direction control signal for controlling a plurality of scanning directions including at least an oblique direction of the two-dimensional array data.
  • the internal address controller sequentially generates the lower and upper addresses in parallel based on the scanning direction control signal in the oblique direction, burst access in the oblique direction is possible. Furthermore, since the internal address control unit sequentially generates lower and upper addresses based on the scanning direction control signal, burst access in the scanning direction specified by the scanning direction control signal becomes possible.
  • a memory controller for controlling the memory device inputs a position coordinate that defines a rectangular area to be accessed, a vertical and horizontal length, and an inclination, generates a burst direction determination unit that generates the scanning direction control signal, and generates a control command.
  • a command issuing unit for outputting to the memory device and an address issuing unit for generating the external address and outputting the external address to the memory device.
  • the scanning direction control signal is output to the memory device.
  • the memory device can perform burst access in various directions for two-dimensional array data such as image data.
  • FIG. 6 is a detailed view of the memory map of FIG. 5. It is a figure which shows the memory map in a page area
  • FIG. 6 is a timing chart of the memory device when scanning in an oblique direction.
  • FIG. 6 is a timing chart of the memory device when scanning in an oblique direction. It is a figure which shows the horizontal scanning access in a page area
  • FIG. 4 is a timing chart for a memory device when performing burst access of a rectangular area. It is a partial block diagram of the lower address generation unit for backward access. It is a figure which shows the example of the memory map which has a time axis.
  • Memory device 41 Column address control unit 44: Row address control unit 47: Memory core 48: Memory cell array 49: Column decoder 50: Row decoder
  • FIG. 1 is a configuration diagram of an image encoding system.
  • the memory device corresponds to the frame memory 10 that stores two-dimensional array data such as image data.
  • the image encoding system includes a processing selection unit 18 that selects either intra prediction processing for compressing input image data IMin within the same frame or inter prediction processing for compression in the time axis direction. And an encoding processing unit 20 that encodes the input image data IMin based on the processed processing and outputs the encoded output image data CDout.
  • the image coding system includes an intra prediction processing unit 14 and an inter prediction processing unit 16 including a motion prediction processing 17.
  • the intra prediction processing unit 14 and the inter prediction processing unit 16 access the frame memory 10 via the memory controller 12 respectively, and with respect to the image data of a desired region among the image data stored in the frame memory. Read or write.
  • the process selection unit 18 selects a more suitable process based on the result of the intra prediction process and the result of the inter prediction process.
  • the intra prediction processing unit 14 and the inter prediction processing unit 16 frequently access the frame memory 10 via the memory controller 12. Therefore, the frame memory 10 needs to efficiently access image data in a desired area by the intra prediction processing unit 14 and the inter prediction processing unit 16.
  • the intra prediction process and the inter prediction process are processes performed in a compression technique in the MPEG standard, for example.
  • writing of image data to the frame memory 10 and reading of image data from the frame memory 10 are performed with high frequency.
  • motion prediction processing is performed in which the motion direction of the same image is detected to obtain a motion vector between frame images having different time axis directions.
  • FIG. 2 is a diagram for explaining designation of an access area for image data in the image encoding system.
  • the processing units 14 and 16 have the origin coordinates (Xa, Ya) of the access area 22, the horizontal length Lh, the vertical height Lv, and the inclination. Information of 0 ° is supplied to the memory controller 12.
  • the processing units 14 and 16 have the origin coordinates (Xa, Ya) of the access area 22, the length Lh in the first direction, and the second direction. Information about the length Lv and the inclination of 45 ° is supplied to the memory controller 12.
  • the memory device is configured to be able to access various access areas as described above with higher efficiency (large bandwidth).
  • the memory device can perform burst read and burst write in the row direction or column direction of image data in accordance with the shape of the access area.
  • the memory device can perform burst read and burst write of image data in an oblique direction with a desired inclination according to the inclination of the access area.
  • the memory device can also switch the burst direction between forward and backward.
  • the memory device can continuously burst read or write the image data in the two-dimensional access area based on a single column command and column address.
  • FIG. 3 is a diagram showing the configuration of the memory controller and the connection configuration with the memory device in the present embodiment.
  • the memory controller 12 is supplied with memory map information MAP from a host system such as the processing units 14 and 16 in FIG.
  • the memory map information MAP is information on how to store the two-dimensional arrangement data in the memory device 10.
  • the memory controller 12 is supplied with the access control data Acn, and the memory register control unit 35 generates mode register setting data MRSdata to be set in the mode register 40 in the memory device 10.
  • the mode register setting data MRSd includes, for example, step information STEP and width information WIDTH when the column address control unit 41 generates a column address. These step information and width information will be described in detail in the description of the memory device.
  • the memory controller 12 inputs information on the origin coordinates (Xa, Ya), inclination SLOP, length Lh, Lv for specifying the access area from the host system, and the burst direction determination unit 32 determines the optimum burst direction. , Burst direction information (corresponding to a vector address VA described later) is generated. Further, the address calculation unit 30 calculates an address to be output to the memory device 10 based on the starting point coordinates (Xa, Ya) and the burst direction information.
  • the memory controller 12 is connected to the memory device 10 via a command bus (for example, 4 bits) 38, an address bus (for example, 12 bits) 37, and a data bus (for example, 32 bits) 36.
  • the command issuing unit 33 generates four command signals / CS, / RAS, / CAS, / WE that specify various commands, active ACT, precharge PRE, read RD, write WR, mode register set MRS, etc. Output to the command bus 38 at an appropriate timing.
  • the address issuing unit 31 outputs the bank address BA, the row address RA, the column address CA, the vector address VA, the mode register set data MRSdata, and the like to the address bus 37 together with the command from the command issuing unit. Then, the memory controller 12 outputs write data to the data bus 36 and inputs read data from the data bus 36.
  • the control of the memory device 10 by the memory controller 12 is, for example, as follows.
  • the memory controller 12 outputs mode register set data MRSdata together with the mode register set command MRS at power-on or at other predetermined timing.
  • the memory device 10 stores the mode register set data MRSdata in the mode register 40.
  • the memory controller 12 When performing the read or write operation, the memory controller 12 outputs the bank address BA and the row address RA together with the active command ACT, and activates the page area corresponding to the bank address BA and the row address RA to the memory device 10. Thereafter, the memory controller 12 outputs the bank address BA, the column address CA, and the vector address VA together with the read command RD or the write command RW, and accesses a desired memory unit area in the page area that is in the active state.
  • the memory unit area is an area having a memory cell group composed of a plurality of bits or a plurality of bytes selected by an address.
  • the column address control unit 41 in the memory device 10 sequentially generates internal column addresses corresponding to the scanning direction in the access area according to the supplied column address CA and vector address VA.
  • a memory core (not shown) having a plurality of memory unit areas corresponding to the scanning direction is continuously input / output. That is, the memory device 10 can continuously read or write two-dimensional array data in an arbitrary scanning direction in response to a single column command (read or write) and a column address in the burst mode. .
  • the memory device can perform burst access in an arbitrary angular direction by setting the step information STEP in the mode register and inputting the vector address VA.
  • the access area is a two-dimensional area
  • the column address control unit 41 responds to one column-related command (read or write) and the column address.
  • Column addresses corresponding to the two-dimensional access area can be continuously generated, and the memory device 10 can continuously read or write data in the two-dimensional access area.
  • the bank address BA, the row address RA, the column address CA, etc. may be supplied to the memory device in multiples (in a time division manner) or non-multiple (in a batch without time division). )
  • the memory controller may supply the memory device.
  • FIG. 4 is a configuration diagram of the memory device according to the present embodiment.
  • the memory device 10 receives command signals / CS, / RAS, / CAS, / WE for specifying a command from the memory controller via the command bus 38, and the command control unit 40 receives the command.
  • the mode register 40, the row timing control unit 43, and the column timing control unit 42 are controlled.
  • the command control unit 40 sets the mode register set data MRSdata supplied to the address bus 37 in the mode register 40.
  • the command control unit 40 controls the row timing control unit 43 to perform an active operation.
  • the command control unit 40 controls the column timing control unit 42 to perform a read or write operation.
  • the memory device 10 receives an address signal A [11: 0] from the memory controller via the address bus 37, and the external row address raext is supplied to the row address control unit 44 via the row buffer 46, and the external column address caext is supplied to the column address control unit 41 via the column buffer 45. Also, the memory device inputs the vector address VA [2: 0] from the memory controller through the dedicated bus 39 or through some bits of the address bus 37, and the external vector address vaext is the column address control unit. 41. Further, the control signal selcntext corresponding to the step information and width information set in the mode register 40 is also supplied to the column address control unit 41.
  • the row address control unit 44 generates an internal row address raint from the external row address raext and supplies it to the row decoder 50.
  • the row address is composed of 12 bits, for example.
  • the column address control unit 41 generates an internal column address caint based on the external column address caext, the vector address vaext, the control signal selcntext, etc., and supplies it to the column decoder 49. It should be noted that “ext” is added to the reference sign for the address and control signal supplied from the outside to the memory device 10. Further, “int” is added to the reference sign for the address and control signal generated inside the memory device 10.
  • FIG. 5 is a diagram showing an example of a memory map of the memory device according to the present embodiment.
  • image data in the image processing system including the display device 1 is stored in the memory device 10.
  • the image data is composed of data such as a luminance signal Y and color difference signals Ca and Cb of each pixel and an RGB gradation signal of each pixel, and each signal is composed of, for example, 8-bit (1 byte) data.
  • the memory device 10 is generally a large-capacity and high-speed semiconductor memory device in which an integrated circuit is formed on a semiconductor substrate such as an SDRAM.
  • a memory device is composed of a plurality of banks, four banks Bank0 to Bank3 in FIG. 1, each bank Bank0 having a plurality of blocks BLK-0, each block having a plurality of word lines WL and bit lines BL. And memory cells MC at the intersections thereof.
  • the memory cell includes a MOS transistor having a gate connected to a word line and a capacitor connected to the MOS transistor.
  • four banks are associated with bank addresses BA0-BA3
  • word lines WL are associated with row addresses RA0-RA7
  • bit lines BL are associated with column addresses CA0-CA127.
  • the page area Page specified by the bank address BA and the row address RA is arranged in a matrix of two-dimensional arrangement data which is image data.
  • One page area Page has 128 memory unit areas specified by column addresses CA0-127 as shown in the enlarged area PageE, and each memory unit area stores 4-byte data BY0-3. To do.
  • the 4-byte data BY0-3 is input / output via the 32-bit input / output terminals DQ0-31 of the memory device.
  • the above memory map 2 is suitable for operating the memory device 10 such as SDRAM having a plurality of banks at high speed.
  • the SDRAM drives the selected word line in the selected bank in response to the active command given together with the bank address BA and the row address RA, outputs the data of the memory cell to the bit line, An active operation for amplifying the bit line potential by activating the sense amplifier associated with the bit line is performed. Thereafter, the SDRAM performs a read operation for reading data from the selected bit line in response to a read command given together with the column address CA. Alternatively, the SDRAM performs a write operation for writing the write data to the selected bit line in response to a write command given together with the column address CA and the write data after the active operation.
  • each bank can independently perform an active operation, a read operation, and a write operation.
  • different bank addresses BA0-3 are associated with page areas Page adjacent to each other in the vertical and horizontal directions. That is, bank addresses BA0 and BA1 are alternately arranged in odd rows of the memory map 2, and bank addresses BA2 and BA3 are alternately arranged in even rows. Further, in the raster direction (row direction) of the memory map 2, the row address RA0-7 is incremented while being repeated two by two, and each row of the memory map 2 is folded at four row addresses RA0-3 and RA4-7. Yes.
  • FIG. 6 is a detailed diagram of the memory map of FIG. FIG. 6 shows the relationship between the memory map 2, the bank addresses BA0 and BA1, the row address RA, and the column address CA.
  • the bank addresses BA0 and BA1 are represented by binary numbers “0, 1”
  • the row address RA is represented by a decimal number “0 to K ⁇ 1, 0 to L ⁇ 1”.
  • a plurality of page areas Page corresponding to the matrix direction of the two-dimensional arrangement data which is image data are associated based on the bank address BA and the row address RA. That is, the lower bank address BA0 and the lower row address RA correspond to the page area Page in the row direction, and the upper bank address BA1 and the upper row address RA correspond to the page area Page in the column direction.
  • FIG. 6 shows a part of the enlarged memory map 2E. Similar to FIG. 5, adjacent two-row and two-column page areas surrounded by a thick frame correspond to “BA0, RA0”, “BA1, RA0”, “BA2, RA0”, “BA3, RA0” of bank and row addresses. It is attached. The row direction is folded at the row address RAK-1. Each page area further includes a plurality of memory unit areas associated with each other by a column address CA. In FIG. 6, a specific value of the column address CA is omitted.
  • mapping a plurality of page areas into rectangles contributes to improving access efficiency.
  • the four bank areas are simultaneously activated by an active operation that requires a long time. By changing the bank address and the column address together with the column-related command, it becomes possible to access the data of the active memory cell in a short time.
  • FIG. 7 is a diagram showing a memory map in the page area.
  • one page area Page has a memory unit area MU (256 areas) of 16 rows and 16 columns selected by column addresses A00 to A07.
  • column addresses CA00 to CAff in hexadecimal notation are displayed in each memory unit area MU.
  • the memory unit area MU stores 4 bytes (32 bits) of data corresponding to the 32-bit DQ interface.
  • the plurality of memory unit areas MU are data arranged in the row direction of the two-dimensional array data based on the lower bit group CA-L (A00 to A03) of the column address.
  • the data arranged in the column direction of the two-dimensional array data based on the upper bit group CA-U (A04 to A07) in the column address.
  • each data (8 bits) is stored separately in one pixel data (RGB ⁇ )
  • four pixel image data is stored in one memory unit area MU.
  • image data of pixels in one row and four columns is stored in one memory unit region MU
  • image data of 64 ⁇ 16 pixels is stored in one page region Page.
  • image data of 2 rows and 2 columns of pixels is stored in one memory unit area MU
  • image data of 32 ⁇ 32 pixels is stored in one page area.
  • image data of pixels of 4 rows and 1 column is stored in one memory unit region MU
  • image data of 16 ⁇ 64 pixels is stored in one page region.
  • column addresses are expressed in hexadecimal numbers (CA00 to CAff).
  • CA00 to CAff the 4-bit column addresses A00 to A03 and A04 to A07 are expressed in binary numbers (0, 1).
  • FIG. 8 is a diagram showing a configuration for generating a column address in the column address control unit 41 in the present embodiment.
  • the column address control unit 41 inputs the 8-bit external column address caext ⁇ 07:04>, caext ⁇ 03:00>, and the 8-bit internal column address caint ⁇ 07:04>, caint ⁇ 03:00>. Generated and supplied to the column decoder in the memory core.
  • the column address control unit 41 sequentially generates and outputs internal column addresses as many as the burst length.
  • the column address control unit 41 includes a lower address generation unit 80 that generates the lower bit group caint ⁇ 03:00> of the internal column address, and an upper address generation unit 84 that generates the upper bit group caint ⁇ 07:04> of the internal address. And an address generation unit control circuit 88 for controlling the operation of the lower address generation unit 80 and the upper address generation unit 84 based on the scanning direction control signal vaext ⁇ 03:00> of the two-dimensional array data.
  • the internal column addresses corresponding to the scanning direction of the signal vaext ⁇ 02:00> are sequentially generated.
  • the lower bit group and the upper bit group are divided into 4 bits, but the present invention is not limited to this, and may be divided into 2 bits and 6 bits, and 3 bits and 5 bits. In this case, the ratio of the matrix of the memory unit area in the page area shown in FIG. 7 differs depending on the number of upper bits and the number of lower bits.
  • the lower address generation unit 80 includes a 4-bit counter 81, a step setting circuit 82 for setting the number of steps of the counter (increase / decrease number per clock), and a folding width setting for setting the maximum counter value (corresponding to the folding width). And a circuit 83.
  • the step setting circuit 82 is a selector circuit that selects which bit of the counter the count control signal countlz should be input to.
  • the step setting circuit 82 selects according to the step control signal selcntls (2 bits) set in the mode register 40.
  • the folding width setting circuit 83 is a selector circuit that selects which bit of the counter output is to be output as a count end signal (a kind of carry signal) caintle, and the folding width control signal selcntlw (set in the mode register 40).
  • the bit of the counter is selected according to (2 bits).
  • the upper address generation unit 84 includes a 4-bit counter 81, a step setting circuit 82 for setting the number of steps of the counter (increase / decrease number per clock), and a maximum count value (folding width) of the counter. And a folding width setting circuit 83 for setting The step setting circuit 86 and the folding width setting circuit 87 are the same as the circuits 82 and 83 in the lower address generation unit 80.
  • an address operation control signal selcntlext supplied from the memory controller together with the mode register set command is set.
  • This address calculation control signal selcntlext has a step control signal selcntls (2 bits for each lower and upper order) and a folding width control signal selcntlw (2 bits for each lower and upper order).
  • the address generation unit control circuit 88 controls the operation of the lower and upper address generation units 80 and 84 in accordance with the scanning direction control signal vaext supplied from the memory controller.
  • the scanning direction control signal vaext is a 3-bit signal, and is a signal that specifies a total of eight scanning directions of up, down, left and right directions and four diagonal directions.
  • FIG. 9 is a diagram showing a specific example of the scanning direction control signal vaext.
  • reference numeral 90 denotes a specific example of the scanning direction control signal vaext
  • a 3-bit scanning direction control signal vaext is assigned to the upper and lower column directions, left and right row directions, and four diagonal directions from the current pixel CPX.
  • This scanning direction control signal can be supplied by a method in which the memory controller sets the mode register together with the mode register setting command and a method in which the memory controller supplies the column direction command.
  • Reference numeral 92 in FIG. 9 indicates the assignment of address terminals A00 to A11 when supplied together with column commands.
  • an active command ACT which is a row command
  • 12-bit row addresses RA00-RA11 are input to 12-bit address terminals A00-A11.
  • the 8-bit column address CA00-CA07 is input to the address terminals A00-A07
  • the auto precharge signal AP is supplied to the address terminal A10
  • the remaining addresses The 3-bit scanning direction control signals VA0-VA2 are input to the terminals A08, A09, A11. Since the scanning direction control signal vaext is input to the address terminal, it is also referred to as a vector address.
  • the address generation unit control circuit 88 outputs the clock CLK for count control as the count control signal countlz of the lower address generation unit 80 according to the scanning direction control signal vaext, Controls whether the count control signal countuz or both count control signals countlx and countuz are output. Further, the address generation unit control circuit 88 outputs the count end signal (carry signal) caintle of the lower address generation unit 80 as the upper count control signal countuz in accordance with the scanning direction control signal vaext, or the upper address generation unit It controls whether 84 count end signal (carry signal) caintue is output as the lower count control signal countlz. Then, the address generation unit control circuit 88 outputs the reverse control signals reverslz and reversuz to the lower and upper address generation units 80 and 84 in accordance with the scanning direction control signal vaext.
  • the clock CLK is output as the count control signal countlz of the lower address generation unit 80, and the count end signal caintle of the lower address generation unit 80 is supplied as the count control signal of the upper address generation unit 84.
  • the clock CLK is output as the count control signal countuz of the upper address generation unit 84, and the count end signal caintue of the upper address generation unit 84 is supplied as the count control signal of the upper address generation unit 80.
  • the clock is output as the lower and upper count control signals.
  • the following describes how the address generation unit control circuit 88 controls the lower and upper address generation units 80 and 84 in accordance with the scanning direction control signal vaext.
  • Scanning direction control signal vaext 000: Forward clock CLK is connected to lower count control signal countlz in the row direction; Lower count end signal (carry signal) caintle is connected to higher count control signal countuz; Reverse control signals reverselz and reverseuz are both set to forward; As a result, the low-order to high-order clock control circuits 80 and 84 are connected in series, and the 8-bit internal column address caint ⁇ 07:00> is sequentially counted up in synchronization with the clock CLK. That is, the upper address generation unit 84 performs a count operation in synchronization with the count end signal caintle of the lower address generation unit 80.
  • Scanning direction control signal vaext 001: Forward clock CLK in the column direction is connected to upper count control signal countuz; Upper count end signal (carry signal) caintue is connected to lower count control signal countlz; Reverse control signals reverselz and reverseuz are both set to forward; As a result, the upper and lower clock control circuits 84 and 80 are connected in series, the 4-bit upper internal column address caint ⁇ 07:04> is sequentially counted up in synchronization with the clock CLK, and the upper count end signal In synchronization with cainteue, the 4-bit lower internal column address caint ⁇ 03:00> is sequentially counted up.
  • Scanning direction control signal vaext 011:
  • Clock CLK is connected to upper and lower count control signals countuz and countlz in the lower right direction; Reverse control signals reverselz and reverseuz are both set to forward;
  • the upper and lower clock control circuits 84 and 80 count up in parallel with the clock CLK. That is, the upper internal column address caint ⁇ 07:04> and the lower internal column address caint ⁇ 03:00> are sequentially counted up in parallel.
  • Scanning direction control signal vaext 101:
  • Clock CLK is connected to upper and lower count control signals countuz and countlz in the upper right direction; Reverse control signals reverselz and reverseuz are set to forward and reverse;
  • the upper and lower clock control circuits 84 and 80 count in parallel with the clock CLK, and count down and count up, respectively. That is, the upper internal column address caint ⁇ 07:04> is sequentially counted down, and the lower internal column address caint ⁇ 03:00> is sequentially counted up.
  • Scanning direction control signal vaext 010: Clock CLK is connected to upper and lower count control signals countuz and countlz in the lower left direction; Reverse control signals reverselz and reverseuz are set to reverse and forward; As a result, the upper and lower clock control circuits 84 and 80 count in parallel with the clock CLK, and count up and count down, respectively. That is, the upper internal column address caint ⁇ 07:04> is sequentially counted up, and the lower internal column address caint ⁇ 03:00> is sequentially counted down.
  • Scanning direction control signal vaext 100: Clock CLK is connected to upper and lower count control signals countuz and countlz in the upper left direction; Reverse control signals reverselz and reverseuz are both set to reverse; As a result, the upper and lower clock control circuits 84 and 80 count in parallel with the clock CLK and both count down. That is, the upper internal column address caint ⁇ 07:04> is sequentially counted down, and the lower internal column address caint ⁇ 03:00> is also sequentially counted down.
  • the upper and lower address generation units 80 and 84 count up or count down at a set step according to the step control signal selcntls.
  • the oblique scanning direction is 45 degrees with respect to the horizontal and vertical directions (when the number of lower and upper steps is equal), and the direction other than 45 degrees with respect to the horizontal and vertical directions. (When the number of lower and upper steps is different). For example, if the number of lower steps is set to 1 and the number of upper steps is set to 2, scanning can be performed in the direction of Keima jump.
  • the upper and lower address generation units 80 and 84 repeat counting up or counting down with the set folding width in accordance with the folding width control signal selcntlw. By appropriately setting the return width, access to an arbitrary rectangular area can be performed by burst access using a single column command.
  • the continuous count numbers by the upper and lower address generation units 80 and 84 are controlled by the number of clocks CLK based on the burst length.
  • both control signals may be set in the mode register 40 by the mode register set command, or may be input from the address terminal together with the column related command.
  • the scanning direction control signal vaext is input together with the column command
  • the address calculation control signal selcntlext is set in the mode register 40 by the mode register set command.
  • the moving image data is composed of continuous frame image data.
  • compression processing according to the MPEG standard the motion direction of the same figure between frame images is obtained as a motion vector, and only the difference between the motion vector and the figure is used as data of the next frame image. As a result, the data amount of the next frame image can be compressed.
  • this motion vector search a microblock image in a subsequent frame image that matches or is similar to the image data of a microblock composed of 16 ⁇ 16 pixels is searched.
  • FIG. 10 is a diagram illustrating an example of the moving direction of a moving image.
  • FIG. 10 A
  • FIG. 10 (B) there are many vertical movements as shown in FIG. 10 (B).
  • the movement in the horizontal and vertical directions account for most of the movement of the figure.
  • the probability that a figure moves in an oblique direction is relatively low.
  • FIG. 11 is a diagram showing a moving direction and a moving amount distribution of a moving image.
  • FIG. 11A shows the distribution of moving directions of moving images.
  • One memory unit area (4 bytes) stores image data of 4 pixels, and four memory unit areas CA67 to CA97 are 4 ⁇ 4 pixel image data.
  • image data of four memory unit areas that match or are similar to the image data of 4 ⁇ 4 pixels in the memory unit areas CA67 to CA97 are searched. Therefore, setting the search area based on the motion direction statistics and the motion amount statistics contributes to the efficiency of the motion vector search process.
  • the search for a region in an oblique direction and a large movement amount d has a relatively low probability of detecting a matching or similar figure.
  • FIG. 12 is a diagram illustrating an example of a motion vector search range.
  • the page area Page is composed of a 16 ⁇ 16 memory unit area, and a matrix of image data that is two-dimensional arrangement data is associated with the 16 ⁇ 16 memory unit area.
  • a motion vector search is performed on a block diagram of 4 ⁇ 4 pixels in the central four memory unit areas CA67 to CA97.
  • the search efficiency is improved by searching the rhomboid RHB area excluding the four corner areas in the page area Page. be able to. Since the rhombus region RHB has a half area of one page region Page, if the search region is changed to the rhombus region RHB, the search region is halved. Therefore, access in the case of searching for a motion vector in the rhombus region RHB will be described below.
  • FIG. 13 is a diagram showing an example of a diamond area access method.
  • RHB rhomboid area
  • FIG. 13A on the memory device side, if burst read or burst write is performed while scanning in an oblique direction as indicated by an arrow, access can be made with the same burst length, so the access efficiency to the memory device is increased.
  • image data in a frame memory is stored in a work memory (FIG. 13B) in the system.
  • the system work memory (FIG. 13B) has 8 ⁇ 16.
  • the image data of the memory unit area is stored.
  • FIG. 14 is a diagram for explaining scanning in an oblique direction.
  • the column address control unit in the memory device is required to sequentially generate the column addresses CA07 to CA7e in the arrow direction of FIG. That is, in order to scan in an oblique direction, the lower column address CA-L and the upper column address CA-U must be incremented in parallel. Therefore, as described in the column address control unit 41 in FIG. 8, the lower address generation unit 80 and the upper address generation unit 84 are appropriately controlled so as to operate in parallel, so that the above-described oblique scanning is performed in the burst mode. be able to.
  • FIG. 15 is a diagram showing a column address control unit that performs oblique scanning. 16 and 17 are detailed views of the column address control unit that performs oblique scanning.
  • the step control signal selcntls is set to step number 1 (step 1), and the selectors of the step setting circuits 82 and 86 are set to supply the count control signals countlz and countuxz to A00 and A04 of the counters 81 and 85, respectively.
  • the folding width control signal selcntlw is set to the folding width 16 (width 16), and the selectors of the folding width setting circuits 83 and 87 are set to select the outputs of the counters 81 and 85, A03 and A07.
  • the count end signals caintle and caintue are not connected to either.
  • FIGS. 16 and 17 show detailed diagrams only for the lower address generation unit.
  • the four selectors 161 select either the count control signal countlz or the output caint0-3 of the lower digit of the counter 81.
  • the selection of the selector 161 is performed based on a control signal control (step 1, 2, 4, 8) obtained by decoding the 2-bit step control signal selcntls by the decoder 160.
  • step 1, 2, 4, 8 obtained by decoding the 2-bit step control signal selcntls by the decoder 160.
  • the selector SL00 is set to step 1 and the input in2 is selected, and the other selector SL01-03 selects the input in1.
  • the 4-bit counter 81 is supplied with the external column address caext0-3 as an initial value to the initial value terminal init, and repeats the count-up operation in synchronization with the clock signal clkca0-3 from the selector 161. At the falling edge of the clock clk, each flip-flop of the counter 81 repeats the toggle operation of the output out from the L level to the H level or from the H level to the L level.
  • the 4-bit counter 81 sequentially counts up the initial value in synchronization with the count control signal countlz. Then, as shown in FIG. 16, the internal column addresses caint0-3 are output from the output terminal out of the counter 81, respectively. Since the lower and upper address generation units are set to step1 by the step control signal, the scanning direction is 45 degrees with respect to the vertical and horizontal directions. However, the scanning direction can be set to a direction different from 45 degrees by appropriately setting the number of steps. Therefore, burst access for scanning in an oblique direction at an arbitrary angle can be performed by the scanning direction control signal vaext and the step control signal.
  • each of the four selectors SL10-13 performs a selection operation based on a control signal control (width02, 04, 08, 16) obtained by decoding the 2-bit folded width control signal selcntlw by the decoder 170.
  • 18 and 19 are timing charts of the memory device when scanning in an oblique direction.
  • 18 shows an example of a memory device that does not have an oblique burst mode
  • FIG. 19 shows an example of a memory device that has an oblique burst mode.
  • a clock CLK command signals CS, RAS, CAS, WE
  • a bank address BA are shown.
  • a column address CA input accompanying the read command RD is also shown.
  • the shaded portion indicates the operation of bank BA1, and the other portions indicate the operation of bank BA0. That is, in this example, two banks are interleaved.
  • the memory device does not have an oblique burst mode.
  • the precharge command PRE is input to the bank BA0 at time t0
  • the precharge operation is performed at the bank BA0 from time t1.
  • the read operation is repeated in the bank BA1 in response to the read command RD.
  • An active command ACT is input to the bank BA0 at time t3 after one clock of time t1 and after RAS precharge time tRP. Therefore, the read command is not issued to the bank BA1 during one clock cycle from the time t3.
  • the bank BA0 performs an active operation based on a row address (not shown). Meanwhile, the bank BA1 repeats the read operation in response to the read command RD again.
  • read command RD and column address CA are successively input to bank BA0.
  • the memory device is not in burst mode, but responds to eight read commands RD and eight types of column addresses CA07 to CA7e that are successively input to each of eight memory unit areas arranged in an oblique direction. Repeat the read operation.
  • the precharge command PRE for the bank BA1 is issued at time t5
  • the active command ACT for the bank BA1 is issued at time t7. Therefore, the read command RD for the bank BA0 is not issued for one clock period from the time t7.
  • the memory controller needs to issue eight column commands, the read command RD, and the column address CA in order to scan in an oblique direction. Further, the memory device cannot operate in the burst mode, and continuous read command input is interrupted by the bank interleave operation.
  • the memory device has an oblique burst mode function.
  • the column address control unit Since the burst length BL is set to 8 in advance, the column address control unit continuously generates internal column addresses CA18, CA29, CA3a, CA4b, CA5c, CA6d, CA7e, and reads 32 bits x 8 times Is done. Meanwhile, at time t5, the active command ACT for the bank BA1 is issued, but the burst read operation in the bank BA0 is not disturbed.
  • the read command RDA is a read command with auto precharge, and can be specified by setting the auto precharge bit of the address terminal A10 shown in FIG. 9 to the H level.
  • the oblique angle can be set to an arbitrary angle by the scanning direction control signal vaext and the step control signal selcntls.
  • an arbitrary angle means an arbitrary angle within the range of the restriction by the position of the memory unit area on the memory map.
  • FIG. 20 is a diagram showing horizontal scanning access in the page area.
  • the column address control unit in the memory device preferentially increments the lower column address CA-L ( Arrow 200), it is necessary to increment the upper column address CA-U by the carry signal of the lower column address. As a result, burst reading can be performed continuously in the horizontal direction.
  • FIG. 21 is a diagram showing the vertical scanning access in the page area.
  • the column address control unit in the memory device preferentially increments the upper column address CA-U ( Arrow 210), it is necessary to increment the lower column address CA-L by the carry signal of the upper column address. As a result, burst reading can be continuously performed in the vertical direction.
  • FIG. 22 is a diagram showing burst direction determination processing by the memory controller.
  • the burst direction determination unit 32 in the memory controller 12 of FIG. 3 performs this determination process.
  • the input / output terminal DQ of the memory device is constituted by 32 bits and the image data of one pixel is constituted by 8 bits.
  • FIG. 23 is a flowchart of burst direction determination processing by the memory controller.
  • the burst direction determination circuit in the memory controller converts the number of pixels into the number of columns in the memory device (S21).
  • the burst direction is set in the horizontal direction (S24). Conversely, if Nv> Nh, the burst direction is set in the vertical direction. This is because the burst mode access can be effectively used by setting the burst direction in a longer direction.
  • FIG. 24 is a diagram showing an example of scanning access (burst access) in the vertical direction.
  • image data of 4 pixels is stored in the memory unit area, and a rectangular area of 4 ⁇ 8 pixels is accessed. Therefore, it is necessary to access eight memory unit areas in the vertical direction from column addresses CA20 to CA90.
  • the column address control unit 41 in the memory device sequentially generates CA20-CA90 by incrementing the upper column address CA-U from the top column address CA20.
  • FIG. 25 is a configuration diagram of a column address control unit that performs scanning access (burst access) in the vertical direction.
  • the lower address generation unit 80 and the upper address generation unit 84 are connected upside down in order to perform burst access in the vertical direction. That is, the address generation unit control circuit 88 supplies the clock CLK to the upper address generation unit 84 as a count control signal countuz, and count control of the count end signal (carry signal) caintue of the upper address generation unit 84 to the lower address generation unit 80 is performed. Supply as signal countlz.
  • the step control signal selcontls is set to step step1 for both the lower and upper levels, and the lower counter 81 and the upper counter 85 simultaneously increment the count value by +1 in response to the count control signal. Further, the folding width control signal selcntlw is set to the width width16 for both the lower and upper sides, and the most significant bits of the lower counter 81 and the upper counter 85 are selected by the selectors 83 and 87.
  • the upper counter 84 first increments the count value by +1 in synchronization with the clock CLK, and the lower counter 81 sets the count value in synchronization with the count end signal caintue of the upper counter 84. Increment by +1.
  • the column address control unit 41 generates column addresses caext0-7 supplied from the outside as initial values CA20 and addresses up to the final value CA90 in order as internal column addresses caint0-7.
  • FIGS. 26 and 27 are timing charts in the case of accessing by scanning in the vertical direction.
  • FIG. 26 is a timing chart when the memory device does not have a vertical burst mode.
  • the precharge command PRE is input to the bank BA0 at time t0
  • the precharge operation is performed at the bank BA0 from time t1.
  • the read operation is repeated in the bank BA1 in response to the read command RD.
  • An active command ACT is input to the bank BA0 at time t3 after one clock of time t1 and after RAS precharge time tRP. Therefore, the read command is not issued to the bank BA1 during one clock cycle from the time t3.
  • the bank BA0 performs an active operation based on a row address (not shown). Meanwhile, the bank BA1 repeats the read operation in response to the read command RD again.
  • read command RD and column address CA are successively input to bank BA0.
  • the memory device is not in burst mode, but responds to 8 read commands RD and 8 types of column addresses CA20 to CA90, which are input continuously, to 8 memory unit areas arranged in the vertical direction. Repeat the read operation.
  • the precharge command PRE for the bank BA1 is issued at time t5
  • the active command ACT for the bank BA1 is issued at time t7. Therefore, the read command RD for the bank BA0 is not issued for one clock period from the time t7.
  • the memory controller needs to issue eight column commands, that is, a read command RD and a column address CA in order to scan and access in the vertical direction. Further, the memory device cannot operate in the burst mode, and continuous read command input is interrupted by the bank interleave operation.
  • FIG. 27 is a timing chart when the memory device has a vertical burst mode function.
  • the column address control unit continuously generates internal column addresses CA20, CA30, CA40, CA50, CA60, CA70, CA80, and 32 bits x 8 read operations Is done. Meanwhile, at time t5, the active command ACT for the bank BA1 is issued, but the burst read operation in the bank BA0 is not disturbed.
  • the memory device since the memory device has the burst mode function in the vertical direction, it is possible to efficiently perform the vertical scan access when accessing the rectangular area having more memory unit areas in the vertical direction.
  • FIG. 28 shows another example of scanning access (burst access) in the vertical direction.
  • image data of 4 pixels is stored in the memory unit area, and a rectangular area of 8 ⁇ 8 pixels is accessed. Therefore, it is necessary to access eight memory unit areas in the vertical direction from column addresses CA20 to CA90 and eight memory unit areas in the vertical direction from column addresses CA21 to CA91.
  • the image data of the rectangular area of 8 ⁇ 8 pixels is accessed.
  • the burst length BL is set to 8 and two column commands RD and WR are supplied to the memory device together with the column addresses CA20 and CA21. By doing so, it is possible to access image data in a rectangular area of 8 ⁇ 8 pixels. Therefore, the busy state of the bus between the memory controller and the memory device can be shortened.
  • FIG. 29 is a diagram for explaining access when motion prediction is performed.
  • 8-bit data per pixel is mapped to a DQ interface memory device having a word configuration of ⁇ 16 bits.
  • motion prediction it is assumed that a search is performed for ⁇ 4 pixels in the vertical direction and ⁇ 8 pixels in the horizontal direction for a square rectangle 290 of 4 ⁇ 4 pixels surrounded by a thick frame.
  • the rectangle 290 moves 9 times in the column direction and 9 times in the row direction within the rectangular area 292, and the image data of the rectangle 290 and the destination rectangle image data are totaled 81 times. Processing to compare is performed.
  • the coincidence image data is detected, the direction of the detected rectangular area from the rectangle 290 becomes a motion vector.
  • FIGS. 30 and 31 are diagrams for explaining another access when motion prediction is performed.
  • 8-bit data per pixel is mapped to a DQ interface memory device having a word configuration of ⁇ 16 bits. Then, a motion vector search is performed for a 4 ⁇ 4 pixel rectangular region.
  • the 8 ⁇ 8 pixel rectangular area 300 (rectangular area surrounded by CA46-CA4c-CAcc-Cac4) that is twice the size of the processing target rectangle is halved in the matrix direction.
  • the rectangular area 302 (rectangular area surrounded by CA24-CA2d-Cadd-Cad4), the thinned-out area is searched in the area thinned by 1/2 in the matrix direction. This first search is performed four times in the row direction and three times in the column direction, for a total of 12 accesses and comparison processes.
  • the optimum position in the first search is assumed to be a rectangular area 314 (area surrounded by CA66-CA69-Cad9-Cad6) with the memory unit area of column address CA66 as the upper left corner. .
  • the above two-step search algorithm is already known.
  • the memory controller cannot use burst read to access the data thinned out to 1 ⁇ 2 of FIG. It is necessary to issue a command and a corresponding column address to the memory device.
  • data can be accessed by accessing data that is not reduced to 1/2 by burst read and discarding unnecessary data.
  • the access efficiency to the memory device is greatly reduced.
  • FIG. 32 and 33 are configuration diagrams of the column address control unit in the first search of the two-stage search algorithm.
  • FIG. 32 shows a part of the lower address generation unit 80
  • FIG. 33 shows a part of the upper address generation unit 84.
  • the configuration of the column address control unit in the first search is similar to the configuration shown in FIG. That is, the address generation unit control circuit 88 supplies the clock CLK to the upper address generation unit 84 as a count control signal, and supplies the upper end count signal caintue to the lower address generation unit 80 as a count control signal. This makes it possible to efficiently perform a burst access of a rectangular area that is long in the vertical direction. Further, the step setting circuits 82 and 86 of the lower and upper address generation units set the step width to Step2. As a result, the count value can be incremented with a step width of 2 in synchronization with the count control signal, and burst access can be made to the memory unit area that has been decimated 1/2.
  • FIGS. 32 and 33 will be described.
  • the increment operation is performed in the higher digits than A01 and A05 of the counters 81 and 85 in synchronization with the clock CLK.
  • the lower and upper address generation units 80 and 84 increment the internal column address with an increment (number of steps) of 2. Therefore, the burst mode can be used also in the access of the rectangular area thinned out by half as shown in FIG. Note that no clock is input to the input int1 of the selector SL00 of the lower address generation unit 80 of FIG. Similarly, no clock is input to the input int1 of the selector SL04 of the upper address generation unit 84 in FIG. Therefore, the values of the column addresses A00 and A04 of the initial setting values are maintained in the A00 and A04 bits of the counter.
  • FIG. 34 is a timing chart of the memory device in the first search of the two-stage search algorithm.
  • the column address control unit in the memory device sequentially generates internal column addresses CA24, CA44, CA64, CA84, and the memory unit areas of the column addresses CA24, CA44, CA64, CA84 in FIG. to access.
  • the memory unit area thinned by 1 ⁇ 2 Burst access to is enabled.
  • steps 4 and 8 burst access to the memory unit area thinned by 1/4 or 1/8 is possible. The above is the explanation of the thinned burst access.
  • the count end values of the lower and upper address generation units can be arbitrarily set by setting the return width setting circuits 83 and 87 by the return width control signal selcntlw of the lower and upper address generation units of the present embodiment. Thereby, the address generation unit can repeatedly generate count values in an arbitrary range in synchronization with the clock CLK. If this is used, a rectangular area composed of memory unit areas with different column addresses in the matrix direction can be burst-accessed with a single column command and the first column address. However, because of counter operation restrictions, the return address of the column address in the rectangular area is both lower and upper addresses.
  • CA 1,3,7, F.
  • FIG. 35 is a diagram for explaining the burst access of the rectangular area in the present embodiment.
  • eight column commands and column addresses CA00, CA10, CA20, CA30, CA40, CA50, CA60, CA70 are supplied to the memory device.
  • the memory device sequentially generates 16 internal column addresses. , 16 memory unit areas are burst accessed. For this purpose, it is necessary to set the folding width control signal selcntlw in the column address control unit.
  • FIG. 36 is a configuration diagram of the column address control unit for burst access of a rectangular area in the present embodiment.
  • the address generation unit 88 supplies the synchronization clock CLK to the count control signal countuz of the upper address generation unit 84 so that vertical scanning access can be performed, and the count end signal of the upper address generation unit 84.
  • the step control signal selcntls is set to Step1 for both the lower and upper levels, and the loopback control signal selcontlw is set to Width16, Set to Width8.
  • the column address control unit sequentially generates internal column addresses CA01, CA11, CA21, CA31, CA41, CA51, CA61, CA71 from the column address CA01 incremented on the lower side by the increment operation of the upper address generation unit 84. To do. As a result, the rectangular area can be accessed by burst access with a burst length of 16.
  • FIG. 37 and FIG. 38 are configuration diagrams of a part of the upper address generation unit for burst access of a rectangular area.
  • the upper address generation unit 84 has a 4-bit counter 85 between the step setting circuit 86 and the folding width setting circuit 87.
  • the folding width setting circuit 87 includes selector groups SL14-SL17 and selector groups SL24-SL27.
  • the higher-order address generation unit 84 includes a first decoder 170A that generates a control signal width02-16 for controlling the selector group SL14-SL17, and a control signal cnt02en for controlling the selector group SL24-SL27. -cnt16en and a second decoder 170B for generating.
  • the decoder 170A controls only the return width width08 to the H level based on the return width control signal selcntlw, and only the selector SL16 selects the output caint6 of the counter A06 and the count end signal caintue Output as.
  • the decoder 170B in FIG. 38 controls the control signal cnt08en, cnt04en and nt02en are controlled to H level, only the control signal cont16en is controlled to L level, the selector SL27 selects the input in2, and the other selectors SL26, SL25 and SL24 select input in1.
  • a 3-bit counter including counters A04, A05, and A06 is configured, and the internal column addresses caint4-6 are sequentially set to 000-111.
  • the column address control unit sequentially increments the upper column address from the top column address CA00.
  • the internal column address reaches CA70
  • the upper internal column address is folded back to 0000, and again from the column address CA01.
  • the column address is incremented sequentially until CA71 is reached.
  • 16 internal column addresses CA00-CA70, CA01-CA71 corresponding to the burst length 16 are generated.
  • the folding control signal by appropriately setting the folding control signal, the lower column address or the upper column address can be folded at 2, 4, 8, and 16, and the internal column address necessary for burst access to the rectangular area can be generated. become.
  • FIG. 39 is a timing chart for the memory device in the case of burst access of a rectangular area.
  • FIG. 39 is a timing chart of burst access similar to FIG. 27.
  • the column address control unit in the memory device After t3, internal column addresses CA00, CA10 to CA70 and CA01, CA11 to CA71 are sequentially generated.
  • the memory layer performs burst access of the rectangular area by burst access with a burst length of 16 by inputting a column command and a column address once.
  • FIG. 40 is a partial configuration diagram of the lower address generation unit for backward access.
  • FIG. 40 shows only the counter 81 of the lower address generation unit 80, and the step setting circuit and the folding width setting circuit are omitted.
  • An EOR gate group 400 is provided before the initial value input terminal init of the counter 81, and an EOR gate group 402 is provided after the output terminal out.
  • the address generation unit control circuit 88 includes the EOR gate groups 400 and 402, the count direction of the lower and upper address generation units can be set to either forward or reverse. Therefore, even if the direction of the vector address VA is the backward direction of the column address, the column address control unit can sequentially generate the internal column address in the backward direction corresponding to the burst mode.
  • FIG. 41 is a diagram showing an example of a memory map having a time axis.
  • the description has been made on the assumption of a memory map that stores image data, which is two-dimensionally arranged data, in one page area in FIG.
  • the column address control unit is configured by dividing the column address into a lower level and an upper level.
  • the number of column address divisions is not limited to 2, but may be 3 or more.
  • FIG. 41 shows an example in which the number of column address divisions is three.
  • the lower column address CA-L (A00-A03) and the middle column address CA-M (A04-A07) are associated with the horizontal and vertical directions of the two-dimensional array data
  • the upper column address CA-U ( A08-A09) are associated with the time axis direction time. In this way, by dividing the column address into three, four page areas Page0-3 of the two-dimensional array specified by the lower and middle column addresses are specified by the upper column address.
  • CA08 and CA09 are added as addresses for specifying the time axis direction, and the lower column addresses CA03 to CA00 allocated in the horizontal direction of the image and the intermediate positions allocated in the vertical direction of the image.
  • the column address CA07 to CA04 and the upper column addresses CA09 to CA08 assigned in the time axis direction are used, and the column address control unit is constituted by three address generation units. According to such a column address control unit, it is possible to perform burst access in the time axis direction of an image.
  • two-dimensional array data such as image data can be burst accessed in various directions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Image Input (AREA)

Abstract

 メモリ装置は,二次元配列データをアドレスにより選択される複数のメモリ単位領域に記憶するメモリセルアレイと,外部アドレスに基づいてメモリ単位領域を選択する内部アドレスを生成する内部アドレス制御部と,内部アドレスをデコードしてメモリ単位領域を選択するデコーダとを有する。そして,複数のメモリ単位領域は,内部アドレスの下位ビット群に基づいて二次元配列データの行列のうち第1の方向に配列されたデータを記憶し,アドレスの上位ビット群に基づいて二次元配列データの行列のうち第2の方向に配列されたデータを記憶し,内部アドレス制御部は,二次元配列データの少なくとも斜め方向を含む複数の走査方向を制御する走査方向制御信号に基づいて前記走査方向に対応する内部アドレスを順次生成する。

Description

メモリ装置及びそれを制御するメモリコントローラ
 本発明は,メモリ装置及びそれを制御するメモリコントローラに関し,特に,画像データを格納するメモリ装置とそのメモリコントローラに関する。
 メモリ装置,特に半導体メモリ装置のうち大容量のSDRAMは,画像処理装置内のフレームメモリとして広く利用されている。画像データを格納するフレームメモリは,フルハイビジョン画面に対応するために大容量化の要望が強い。一方で,動画の圧縮や解凍の処理を有するMPEG規格に対応して,通常のラスタスキャンによるメモリアクセスに加えて,任意の領域の画像データを高速にアクセスすることが要請されている。たとえば,MPEG規格には,動きベクトルを検出するために所定の矩形領域の画像と一致する画像を探索する処理が含まれている。この動きベクトルの探索処理は,フレームメモリに対する頻繁で且つ大容量のリード動作が必要になる。
 様々な画像処理に対応可能なアクセス機能を有するメモリ装置について,本出願人は特許出願を行った。例えば,特願2006-345415号(2006年12月22日出願(未公開))。これによれば,メモリ装置は,入力アドレスにより選択される複数のメモリ単位領域を有し,所定のメモリマップにしたがって画像データを複数のメモリ単位領域内に格納し,1回の入力アドレスにより隣接するメモリ単位領域から出力データを読み出し及び隣接するメモリ単位領域に入力データを書き込む。
 汎用のSDRAMは,バーストリードやバーストライト機能を有し,連続するアドレスの記憶領域に対するアクセスを効率よく行うことができる。したがって,連続するアドレス領域内に二次元画像データのラスタスキャン方向の画像データを格納するメモリマップの場合は,二次元画像データをラスタスキャンするアクセスは非常に高い効率になり,単位時間当たりに処理可能なデータ数であるメモリの帯域幅は非常に大きくなる。しかし,ラスタスキャンとは異なる方向または領域へのメモリのアクセスは,メモリのアクセス効率を低下させメモリの帯域幅の低下を招く。
 このような汎用のSDRAMの不都合を解消するために,様々な提案がされている。例えば,以下の特許文献1~5などである。
 特許文献1には,メモリ内の複数のバンク領域の同じロウアドレス及びコラムアドレスの領域内に二次元画像の垂直方向の画像データを格納し,複数のバンク領域を同時にアクティブ化することで,複数行の画像データを同時にアクセスすることが記載されている。つまり,特殊なメモリマップに基づいて二次元画像の画像データを格納することで,複数行の画像データのアクセス効率を高めている。
 特許文献2には,ビデオRAM(VRAM)が二次元画像の画像データを格納するDRAMとDRAMのデータをキャッシュ制御するシリアルアクセスメモリSAMとを有し,シリアルアクセスメモリSAMが昇順もしくは降順にカウント可能なシリアルアドレスカウンタを有し,シリアルアドレスカウンタを降順にカウントさせることで,左右逆転させた画像をDRAMに書き込みすることが記載されている。
 特許文献3には,ビデオRAM(VRAM)が二次元画像の画像データを格納するDRAMとDRAMのデータをキャッシュ制御するシリアルアクセスメモリSAMとを有し,シリアルアクセスメモリのアドレスカウンタを加算モードと減算モードに変更可能であり,且つアドレスカウンタの加算値を任意の数として外部より設定可能にしたことが記載されている。
 特許文献4には,画像読み取り装置にて読み取られた画像データを,副走査方向に隣り合う画素データのアドレスが連続アドレスとなるように画像メモリ内に書き込み,そして,縦横逆に読み取られた画像データに対してはページモード読み出し処理を行うことが記載されている。
 特許文献5には,特許文献2と同様のビデオRAMが記載されている。
特開2005-116128号公報 特開平8-190372号公報 特開平6-243675号公報 特開平5-334426号公報 特開平5-54657号公報
 上記の特許文献1~5は,いずれもDRAMを有するシステムの構成を開示するものであり,画像データを格納するDRAMの内部構成に関するものではない。したがって,これらの先行技術は,画像データを格納するDRAMの帯域幅を大きくすることはできない。一方で,種々の画像処理に対応した特殊なアクセスを効率的に行うことができるメモリ装置が期待されている。
 そこで,本発明の目的は,特殊なアクセスを効率的に行うことができるメモリ装置を提供することにある。
 本発明の別の目的は,二次元画像の任意の方向への連続アクセスを効率的に行うことができるメモリ装置を提供することにある。
 さらに,本発明の別の目的は,二次元画像の任意の二次元領域のアクセスを効率的に行うことができるメモリ装置を提供することにある。
 メモリ装置は,アドレスにより選択される複数のメモリ単位領域を有し,二次元配列データを前記複数のメモリ単位領域に記憶するメモリセルアレイと,外部アドレスに基づいて前記メモリ単位領域を選択する内部アドレスを生成する内部アドレス制御部と,前記内部アドレスをデコードして前記メモリ単位領域を選択するデコーダとを有する。前記複数のメモリ単位領域は,前記内部アドレスの下位ビット群に基づいて前記二次元配列データの行列のうち第1の方向に配列されたデータを記憶し,前記アドレスの上位ビット群に基づいて前記二次元配列データの行列のうち第2の方向に配列されたデータを記憶する。さらに,前記内部アドレス制御部は,前記二次元配列データの少なくとも斜め方向を含む複数の走査方向を制御する走査方向制御信号に基づいて前記走査方向に対応する内部アドレスを順次生成する。
 内部アドレス制御部が,斜め方向の走査方向制御信号に基づいて,下位及び上位アドレスを並行して順次生成するので,斜め方向へのバーストアクセスが可能になる。さらに,内部アドレス制御部が,走査方向制御信号に基づいて下位及び上位アドレスを順次生成するので,走査方向制御信号により特定される走査方向へのバーストアクセスが可能になる。
 上記のメモリ装置を制御するメモリコントローラは,アクセス対象の矩形領域を規定する位置座標と縦横の長さと傾きとを入力し,前記走査方向制御信号を生成するバースト方向判定部と,制御コマンドを生成して前記メモリ装置に出力するコマンド発行部と,前記外部アドレスを生成して前記メモリ装置に出力するアドレス発行部とを有する。そして,前記走査方向制御信号が前記メモリ装置に出力される。
 メモリ装置は,画像データなどの二次元配列データに対して種々の方向にバーストアクセスすることができる。
画像符号化システムの構成図である。 画像符号化システムでの画像データに対するアクセス領域の指定を説明する図である。 本実施の形態におけるメモリコントローラの構成とメモリ装置との接続構成とを示す図である。 本実施の形態におけるメモリ装置の構成図である。 本実施の形態におけるメモリ装置の構成図である。 図5のメモリマップの詳細図である。 ページ領域内のメモリマップを示す図である。 本実施の形態におけるコラムアドレス制御部41内のコラムアドレスを生成する構成を示す図である。 走査方向制御信号vaextの具体例を示す図である。 動画の動き方向の例を示す図である。 動画の動き方向と動き量の分布を示す図である。 動きベクトルの探索範囲の一例を示す図である。 菱形領域のアクセス方法の一例を示す図である。 斜め方向の走査について説明する図である。 斜め方向走査を行うコラムアドレス制御部を示す図である。 斜め方向走査を行うコラムアドレス制御部の詳細図である。 斜め方向走査を行うコラムアドレス制御部の詳細図である。 斜め方向に走査する場合のメモリ装置のタイミングチャート図である。 斜め方向に走査する場合のメモリ装置のタイミングチャート図である。 ページ領域内の水平走査アクセスを示す図である。 ページ領域内の垂直走査アクセスを示す図である。 メモリコントローラによるバースト方向判定処理を示す図である。 メモリコントローラによるバースト方向判定処理のフローチャート図である。 垂直方向に走査アクセス(バーストアクセス)する例を示す図である。 垂直方向に走査アクセス(バーストアクセス)するコラムアドレス制御部の構成図である。 垂直方向に走査してアクセスする場合のタイミングチャート図である。 垂直方向に走査してアクセスする場合のタイミングチャート図である。 垂直方向に走査アクセス(バーストアクセス)する別の例を示す図である。 動き予測を行うときのアクセスを説明する図である。 動き予測を行うときの別のアクセスを説明する図である。 動き予測を行うときの別のアクセスを説明する図である。 2段階探索アルゴリズムの1回目の探索におけるコラムアドレス制御部の構成図である。 2段階探索アルゴリズムの1回目の探索におけるコラムアドレス制御部の構成図である。 2段階探索アルゴリズムの1回目の探索におけるメモリ装置のタイミングチャート図である。 本実施の形態における矩形領域のバーストアクセスを説明する図である。 本実施の形態における矩形領域のバーストアクセスする場合のコラムアドレス制御部の構成図である。 矩形領域のバーストアクセスする場合の上位アドレス生成ユニットの一部の構成図である。 矩形領域のバーストアクセスする場合の上位アドレス生成ユニットの一部の構成図である。 矩形領域のバーストアクセスする場合のメモリ装置にタイミングチャート図である。 逆進アクセスする場合の下位アドレス生成ユニットの一部構成図である。 時間軸を有するメモリマップの例を示す図である。
符号の説明
10:メモリ装置       41:コラムアドレス制御部
44:ロウアドレス制御部   47:メモリコア
48:メモリセルアレイ    49:コラムデコーダ
50:ロウデコーダ
 以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
 [画像符号化システム,メモリコントローラ,メモリ装置の概略]
 図1は,画像符号化システムの構成図である。本実施の形態のメモリ装置は,画像データなどの二次元配列データを記憶するフレームメモリ10に対応する。画像符号化システムは,入力画像データIMinに対して同一フレーム内で圧縮を行うイントラ予測の処理と,時間軸方向で圧縮を行うインター予測の処理のいずれかを選択する処理選択部18と,選択された処理に基づいて入力画像データIMinの符号化を行い符号化された出力画像データCDoutを出力する符号化処理部20とを有する。さらに,画像符号化システムは,イントラ予測処理部14と,動き予測処理17を含むインター予測処理部16とを有する。そして,イントラ予測処理部14とインター予測処理部16とは,それぞれメモリコントローラ12を経由してフレームメモリ10にアクセスし,フレームメモリに記憶された画像データのうち所望の領域の画像データに対して,リードまたはライトを行う。処理選択部18は,イントラ予測処理の結果とインター予測処理の結果に基づいて,より適している処理を選択する。イントラ予測処理部14とインター予測処理部16は,メモリコントローラ12を介して,フレームメモリ10に頻繁にアクセスする。そのため,フレームメモリ10は,イントラ予測処理部14とインター予測処理部16による所望の領域の画像データに対するアクセスを効率良く行うことが必要になる。
 上記のイントラ予測処理と,インター予測処理は,例えば,MPEG規格における圧縮技術において行われる処理である。これらの処理では,フレームメモリ10への画像データのライトと,フレームメモリ10からの画像データのリードとを高い頻度で行われる。例えば,インター予測処理では,時間軸方向の異なるフレーム画像間で,同じ画像の動き方向を検出して動きベクトルを求める動き予測処理が行われる。この動き予測処理では,16×16画素の小さな矩形領域の画像が,異なるフレームの画像内のどの位置に移動したかを探索する処理が必要になり,フレームメモリ10へのリード動作が繰り返される。
 図2は,画像符号化システムでの画像データに対するアクセス領域の指定を説明する図である。図2(A)の矩形領域アクセスの場合は,処理部14,16は,アクセス領域22の起点座標(Xa,Ya)と,水平方向の長さLhと,垂直方向の高さLvと,傾き0°の情報を,メモリコントローラ12に供給する。また,図2(B)の菱形領域アクセスの場合は,処理部14,16は,アクセス領域22の起点座標(Xa,Ya)と,第1の方向の長さLhと,第2の方向の長さLvと,傾き45°の情報を,メモリコントローラ12に供給する。
 本実施の形態におけるメモリ装置は,上記のような様々なアクセス領域に対して,より高い効率(大きな帯域幅)でアクセスできるように構成されている。メモリ装置は,例えば,アクセス領域の形状に応じて画像データの行方向または列方向にバーストリード及びバーストライトを行うことができる。さらに,メモリ装置は,アクセス領域の傾きに応じて画像データを所望の傾きの斜め方向にバーストリード及びバーストライトを行うことができる。また,メモリ装置は,バースト方向を順進と逆進のいずれにも切り換えることもできる。そして,メモリ装置は,1回のコラム系命令とコラムアドレスに基づいて,二次元のアクセス領域内の画像データを連続してバーストリードまたはバーストライトすることができる。
 図3は,本実施の形態におけるメモリコントローラの構成とメモリ装置との接続構成とを示す図である。メモリコントローラ12は,図1の処理部14,16など上位のシステムから,メモリマップ情報MAPを供給され,レジスタ34に格納する。メモリマップ情報MAPは,メモリ装置10内に二次元配置データをどのように格納するかについての情報である。また,メモリコントローラ12は,アクセス制御データAcnを供給され,メモリレジスタ制御部35が,メモリ装置10内のモードレジスタ40に設定すべきモードレジスタ設定データMRSdataを生成する。このモードレジスタ設定データMRSdには,例えば,コラムアドレス制御部41によるコラムアドレス生成時のステップ情報STEPや幅情報WIDTHなどが含まれる。これらのステップ情報や幅情報については,メモリ装置の説明で詳述する。
 メモリコントローラ12は,上位のシステムから,アクセス領域を特定する起点座標(Xa,Ya),傾きSLOP,長さLh,Lvの情報を入力し,バースト方向判定部32が最適なバースト方向を判定し,バースト方向情報(後述するベクトルアドレスVAに対応)を生成する。さらに,アドレス算出部30は,起点座標(Xa,Ya)とバースト方向情報に基づいて,メモリ装置10に出力すべきアドレスを算出する。
 メモリコントローラ12は,メモリ装置10と,コマンドバス(例えば4ビット)38,アドレスバス(例えば12ビット)37,データバス(例えば32ビット)36を介して接続されている。コマンド発行部33は,種々のコマンド,アクティブACT,プリチャージPRE,リードRD,ライトWR,モードレジスタセットMRSなどを特定する4つのコマンド信号/CS,/RAS,/CAS,/WEを生成し,適切なタイミングでコマンドバス38に出力する。アドレス発行部31は,コマンド発行部によるコマンドと共に,バンクアドレスBA,ロウアドレスRA,コラムアドレスCA,ベクトルアドレスVA,モードレジスタセットデータMRSdataなどを,アドレスバス37に出力する。そして,メモリコントローラ12は,データバス36にライトデータを出力し,データバス36からリードデータを入力する。
 メモリコントローラ12によるメモリ装置10の制御は,例えば,次の通りである。メモリコントローラ12は,電源投入時やその他の所定のタイミングで,モードレジスタセットコマンドMRSと共にモードレジスタセットデータMRSdataを出力する。これに応答して,メモリ装置10は,モードレジスタ40にモードレジスタセットデータMRSdataを格納する。リード又はライト動作を行う場合,メモリコントローラ12は,アクティブコマンドACTと共にバンクアドレスBAとロウアドレスRAを出力し,メモリ装置10にバンクアドレスBAとロウアドレスRAに対応するページ領域をアクティブ状態にする。その後,メモリコントローラ12は,リードコマンドRDまたはライトコマンドRWと共にバンクアドレスBAとコラムアドレスCAとベクトルアドレスVAとを出力し,アクティブ状態にされているページ領域内の所望のメモリ単位領域にアクセスする。ここで,メモリ単位領域とは,アドレスにより選択される複数ビットまたは複数バイトからなるメモリセル群を有する領域である。
 そして,バーストモードでは,メモリ装置10内のコラムアドレス制御部41は,供給されるコラムアドレスCAとベクトルアドレスVAに応じて,アクセス領域内の走査方向に対応する内部コラムアドレスを順次生成し,セルアレイを有するメモリコア(図示せず)に,走査方向に対応する複数のメモリ単位領域のデータの入出力を連続して行わせる。つまり,メモリ装置10は,バーストモードにおいて,1回のコラム系命令(リードまたはライト)とコラムアドレスに応答して,任意の走査方向の二次元配列データを連続してリードまたはライトすることができる。
 さらに,走査方向が斜め方向の場合,メモリ装置は,ステップ情報STEPをモードレジスタに設定すると共にベクトルアドレスVAを入力することで,任意の角度方向へのバーストアクセスも可能になる。また,アクセス領域が二次元の領域の場合,幅情報WIDTHをモードレジスタに設定することで,1回のコラム系命令(リードまたはライト)とコラムアドレスに応答して,コラムアドレス制御部41は,二次元のアクセス領域に対応するコラムアドレスを連続して生成することができ,メモリ装置10は,二次元のアクセス領域内のデータを連続してリードまたはライトすることができる。
 なお,上記のバンクアドレスBA,ロウアドレスRA,コラムアドレスCAなどは,マルチプルに(時分割で)メモリコントローラがメモリ装置に供給する場合もあれば,ノンマルチプルに(時分割せずに一括して)メモリコントローラがメモリ装置に供給する場合もある。
 図4は,本実施の形態におけるメモリ装置の構成図である。メモリ装置10は,図3で説明したとおり,メモリコントローラからコマンドバス38を介してコマンドを特定するコマンド信号/CS,/RAS,/CAS,/WEを入力し,コマンド制御部40が,そのコマンドに対応して,モードレジスタ40,ロウタイミング制御部43,コラムタイミング制御部42を制御する。たとえば,モードレジスタセットコマンドMRSに応答して,コマンド制御部40がモードレジスタ40にアドレスバス37に供給されたモードレジスタセットデータMRSdataを設定する。また,アクティブコマンドACTに応答して,コマンド制御部40は,ロウタイミング制御部43を制御してアクティブ動作をさせる。さらに,リードまたはライトコマンドRD,WRに応答して,コマンド制御部40は,コラムタイミング制御部42を制御してリードまたはライト動作をさせる。
 メモリ装置10は,メモリコントローラからアドレスバス37を介してアドレス信号A[11:0]を入力し,外部ロウアドレスraextは,ロウバッファ46を介してロウアドレス制御部44に供給され,外部コラムアドレスcaextは,コラムバッファ45を介してコラムアドレス制御部41に供給される。また,メモリ装置は,メモリコントローラから専用のバス39を介してまたはアドレスバス37の一部のビットを介して,ベクトルアドレスVA[2:0]を入力し,外部ベクトルアドレスvaextはコラムアドレス制御部41に供給される。さらに,モードレジスタ40に設定されたステップ情報や幅情報に対応する制御信号selcntextも,コラムアドレス制御部41に供給される。
 そして,ロウアドレス制御部44は,外部ロウアドレスraextから内部ロウアドレスraintを生成し,ロウデコーダ50に供給する。ロウアドレスは例えば12ビットで構成される。また,コラムアドレス制御部41は,外部コラムアドレスcaext,ベクトルアドレスvaext,制御信号selcntextなどに基づいて,内部コラムアドレスcaintを生成し,コラムデコーダ49に供給する。なお,メモリ装置10に外部から供給されるアドレスや制御信号には「ext」を引用符号に付けている。また,メモリ装置10の内部で生成されるアドレスや制御信号には「int」を引用符号に付けている。
 図5は,本実施の形態におけるメモリ装置のメモリマップの一例を示す図である。図5において,表示デバイス1を含む画像処理システムにおける画像データは,メモリ装置10内に記憶される。画像データは,各画素の輝度信号Yと色差信号Ca,Cbや,各画素のRGB階調信号などのデータで構成され,各信号は例えば8ビット(1バイト)のデータで構成される。
 一方,メモリ装置10は,一般的にSDRAMなどの半導体基板上に集積回路が形成された大容量且つ高速の半導体メモリ装置からなる。このようなメモリ装置は,複数のバンク,図1では4つのバンクBank0~3で構成され,各バンクBank0は複数のブロックBLK-0を有し,各ブロックは複数のワード線WLとビット線BLとその交差位置のメモリセルMCとを有する。メモリセルは,図示しないがワード線にゲートが接続されたMOSトランジスタとそのMOSトランジスタに接続されたキャパシタとで構成される。そして,図5の例では,4つのバンクはバンクアドレスBA0-BA3に対応付けられ,ワード線WLはロウアドレスRA0-RA7に対応付けられ,ビット線BLはコラムアドレスCA0-CA127に対応付けられる。
 バンクアドレスBAとロウアドレスRAの組み合わせによりバンク内のワード線WLが選択され,コラムアドレスCAによりビット線BLが選択される。つまり,バンクアドレスBA,ロウアドレスRA,コラムアドレスCAの組み合わせにより,4バイトBY0-3のデータがアクセスされる。1バイトは8ビットで構成されるので,一回のアクセスで4バイト,つまり4×8=32ビットのデータがメモリの入出力端子DQに関連付けられて,読み出しまたは書き込みが行われる。一般に,上記の1バイトのデータが画素の8ビットデータ信号に対応する。
 図5に示されたメモリマップ2によれば,バンクアドレスBAとロウアドレスRAにより特定されるページ領域Pageが画像データである二次元配置データの行列に配置される。そして,1つのページ領域Pageは,拡大領域PageEに示されるとおり,コラムアドレスCA0-127で特定される128個のメモリ単位領域を有し,各メモリ単位領域は4バイトBY0-3のデータを記憶する。この4バイトBY0-3のデータが,メモリ装置の32ビットの入出力端子DQ0-31を経由して入出力される。
 上記のメモリマップ2は,複数バンク構成のSDRAMなどのメモリ装置10を高速動作させるのに適している。前述したとおり,SDRAMは,バンクアドレスBAとロウアドレスRAと共に与えられるアクティブコマンドに応答して,選択されたバンク内の選択されたワード線を駆動し,メモリセルのデータをビット線に出力し,ビット線に対応付けられたセンスアンプを活性化してビット線電位を増幅するアクティブ動作を行う。その後,SDRAMは,コラムアドレスCAと共に与えられるリードコマンドに応答して,選択されたビット線からデータを読み出すリード動作を行う。あるいは,SDRAMは,アクティブ動作後に,コラムアドレスCA及び書き込みデータと共に与えられるライトコマンドに応答して,選択されたビット線に書き込みデータを書き込むライト動作を行う。リード動作またはライト動作の後にプリチャージコマンドによるプリチャージ動作が行われ,再度,アクティブ動作,リードまたはライト動作になる。このように,SDRAMでは,各バンクが独立してアクティブ動作,リード動作,ライト動作を行うことができる。
 図5のメモリマップ2によれば,上下左右に隣接するページ領域Pageには異なるバンクアドレスBA0-3が対応付けられる。すなわち,メモリマップ2の奇数行にはバンクアドレスBA0,1が交互に配置され,偶数行にはバンクアドレスBA2,3が交互に配置される。さらに,メモリマップ2のラスタ方向(行方向)に,ロウアドレスRA0-7が2つずつ繰り返しながらインクリメントされ,メモリマップ2の各行は,4つのロウアドレスRA0-3,RA4-7で折り返されている。
 図6は,図5のメモリマップの詳細図である。図6には,メモリマップ2と,バンクアドレスBA0,BA1とロウアドレスRAとコラムアドレスCAとの関係が示されている。バンクアドレスBA0,BA1は「0,1」の二進数表示であり,ロウアドレスRAは「0~K-1,0~L-1」の十進数表示である。図6に示されるとおり,メモリマップ2は,画像データである二次元配置データの行列方向に対応する複数のページ領域Pageが,バンクアドレスBAとロウアドレスRAとに基づいて対応付けされている。つまり,下位のバンクアドレスBA0と下位のロウアドレスRAとが行方向のページ領域Pageに対応し,上位のバンクアドレスBA1と上位のロウアドレスRAとが列方向のページ領域Pageに対応する。
 図6には,拡大されたメモリマップ2Eの一部が示されている。図5と同様に,太枠で囲われた隣接する2行2列のページ領域が,バンク及びロウアドレスの「BA0,RA0」「BA1,RA0」「BA2,RA0」「BA3,RA0」に対応付けられている。そして,ロウアドレスRAK-1で行方向が折り返されている。また,各ページ領域内は,更にコラムアドレスCAにより対応付けられる複数のメモリ単位領域を有する。図6中では,コラムアドレスCAの具体的な値は省略されている。
 たとえば,フルハイビジョンの1920×1080のサイズの画像データをメモリに割り付ける場合,1画素の情報を8bit*4(RGBα)と仮定すると,1画面のデータ量は約64Mbitである。MPEGのエンコーダとデコーダでは,前述のとおり矩形領域の画像データを処理することが頻繁に行われる。したがって,図6に示したとおり,複数のページ領域を矩形にマッピングすることが,アクセス効率向上に寄与する。さらに,隣接するページ領域を異なるバンクアドレスに割り当てて,太枠の4つのページ領域に同じロウアドレスを割り当てることで,長時間が必要なアクティブ動作により4つのバンク領域を同時にアクティブ状態にしたあと,コラム系コマンドと共にバンクアドレスとコラムアドレスを変更することで,アクティブ状態のメモリセルのデータを短時間でアクセスすることが可能になる。
 図7は,ページ領域内のメモリマップを示す図である。図7の例では,1つのページ領域Pageは,コラムアドレスA00-A07により選択される16行16列のメモリ単位領域MU(256領域)を有する。図中,各メモリ単位領域MUには,16進数表記のコラムアドレスCA00~CAffが表示されている。メモリ単位領域MUは,32ビットのDQインターフェースに対応して,4バイト(32ビット)のデータを記憶する。そして,図7のメモリマップによれば,複数のメモリ単位領域MUは,コラムアドレスのうち下位のビット群CA-L(A00~A03)に基づいて二次元配列データの行方向に配列されたデータを記憶し,コラムアドレスのうち上位のビット群CA-U(A04~A07)に基づいて二次元配列データの列方向に配列されたデータを記憶する。
 よって,1画素のデータ(RGBα,8ビット×4=32ビット)がまとめて格納される場合は,1つのメモリ単位領域MUに1画素の画像データ(RGBα)が格納される。よって,その場合は1つのページ領域Pageには16×16画素の画像データが格納される。
 また,1画素のデータ(RGBα)のうち各データ(8ビット)が分離して格納される場合は,1つのメモリ単位領域MUに4画素の画像データが格納される。その場合,1つのメモリ単位領域MU内に1行4列の画素の画像データを格納すれば,1つのページ領域Pageには64×16画素の画像データが格納される。また,1つのメモリ単位領域MU内に2行2列の画素の画像データを格納すれば,1つのページ領域には32×32画素の画像データが格納される。さらに,1つのメモリ単位領域MU内に4行1列の画素の画像データを格納すれば,1つのページ領域には16×64画素の画像データが格納される。これらの区別は,メモリマップに基づいてメモリコントローラが制御する。
 なお,図7のメモリ単位領域MUには,コラムアドレスが16進数(CA00~CAff)で表記されている。一方,下位のビット群CA-L,上位のビット群CA-Uでは,各4ビットのコラムアドレスA00~A03,A04~A07が2進数(0,1)で表記されている。
 [コラムアドレス制御部]
 図8は,本実施の形態におけるコラムアドレス制御部41内のコラムアドレスを生成する構成を示す図である。コラムアドレス制御部41は,8ビットの外部コラムアドレスcaext<07:04>,caext<03:00>を入力し,8ビットの内部コラムアドレスcaint<07:04>,caint<03:00>を生成し,メモリコア内のコラムデコーダに供給する。バーストモードがモードレジスタ40に設定された場合は,コラムアドレス制御部41は,バースト長の数の内部コラムアドレスを順次生成し出力する。
 コラムアドレス制御部41は,内部コラムアドレスの下位ビット群caint<03:00>を生成する下位アドレス生成ユニット80と,内部アドレスの上位ビット群caint<07:04>を生成する上位アドレス生成ユニット84と,二次元配列データの走査方向制御信号vaext<03:00>に基づいて下位アドレス生成ユニット80と上位アドレス生成ユニット84の動作を制御するアドレス生成ユニット制御回路88とを有し,走査方向制御信号vaext<02:00>の走査方向に対応する内部コラムアドレスを順次生成する。この例では,下位ビット群と上位ビット群とは4ビットずつに分けられているが,これに限られず,2ビットと6ビット,3ビットと5ビットに分けられていても良い。その場合は,図7に示したページ領域内のメモリ単位領域の行列の割合が上位ビット数と下位ビット数とに応じて異なることになる。
 下位アドレス生成ユニット80は,4ビットカウンタ81と,カウンタのステップ数(クロック当たりの増減数)を設定するステップ設定回路82と,カウンタの最大カウント値(折り返し幅に対応)を設定する折り返し幅設定回路83とを有する。ステップ設定回路82は,カウント制御信号countlzをカウンタのどのビットに入力すべきかを選択するセレクタ回路であり,モードレジスタ40に設定されたステップ制御信号selcntls(2ビット)に応じて選択する。また,折り返し幅設定回路83は,どのビットのカウンタ出力をカウント終了信号(一種のキャリー信号)caintleとして出力すべきかを選択するセレクタ回路であり,モードレジスタ40に設定された折り返し幅制御信号selcntlw(2ビット)に応じてカウンタのビットを選択する。
 上位アドレス生成ユニット84は,下位アドレス生成ユニット80と同様に,4ビットカウンタ81と,カウンタのステップ数(クロック当たりの増減数)を設定するステップ設定回路82と,カウンタの最大カウント値(折り返し幅に対応)を設定する折り返し幅設定回路83とを有する。ステップ設定回路86と折り返し幅設定回路87も,下位アドレス生成ユニット80内の回路82,83と同じである。
 モードレジスタ40には,メモリコントローラからモードレジスタセットコマンドと共に供給されるアドレス演算制御信号selcntlextが設定される。このアドレス演算制御信号selcntlextは,ステップ制御信号selcntls(下位上位それぞれに2ビット)と,折り返し幅制御信号selcntlw(下位上位それぞれに2ビット)とを有する。
 アドレス生成ユニット制御回路88は,メモリコントローラから供給される走査方向制御信号vaextに応じて,下位及び上位アドレス生成ユニット80,84の動作を制御する。走査方向制御信号vaextは,3ビットの信号であり,上下左右方向と4つの斜め方向の合計8つの走査方向を特定する信号である。
 図9は,走査方向制御信号vaextの具体例を示す図である。図中90は走査方向制御信号vaextの具体例を示し,現在の画素CPXから上下の列方向と左右の行方向と4つの斜め方向に対応して3ビットの走査方向制御信号vaextが割り当てられる。
 この走査方向制御信号の供給は,メモリコントローラがモードレジスタ設定コマンドと共にモードレジスタに設定する方法と,コラム系コマンドと共に供給する方法とが考えられる。図9中の92は,コラム系コマンドと共に供給する場合のアドレス端子A00-A11の割り当てを示す。ロウ系コマンドであるアクティブコマンドACTの発行と共に,12ビットのアドレス端子A00-A11に,12ビットのロウアドレスRA00-RA11が入力される。また,コラム系コマンドであるライトまたはリードコマンドWR/RDの発行と共に,アドレス端子A00-A07に8ビットのコラムアドレスCA00-CA07が入力され,アドレス端子A10にオートプリチャージ信号APが,残りのアドレス端子A08,A09,A11には,3ビットの走査方向制御信号VA0-VA2が入力される。走査方向制御信号vaextは,アドレス端子に入力されるので,ベクトルアドレスとも称する。
 図8に戻り,アドレス生成ユニット制御回路88は,走査方向制御信号vaextに応じて,カウント制御をするクロックCLKを下位アドレス生成ユニット80のカウント制御信号countlzとして出力するか,上位アドレス生成ユニット84のカウント制御信号countuzとして出力するか,若しくは,両方のカウント制御信号countlx,countuzとして出力するかを制御する。さらに,アドレス生成ユニット制御回路88は,走査方向制御信号vaextに応じて,下位アドレス生成ユニット80のカウント終了信号(キャリー信号)caintleを上位へのカウント制御信号countuzとして出力するか,上位アドレス生成ユニット84のカウント終了信号(キャリー信号)caintueを下位へのカウント制御信号countlzとして出力するかを制御する。そして,アドレス生成ユニット制御回路88は,走査方向制御信号vaextに応じて,下位及び上位アドレス生成ユニット80,84に逆進制御信号reverslz,reversuzを出力する。
 つまり,走査方向が行方向の場合は,クロックCLKを下位アドレス生成ユニット80のカウント制御信号countlzとして出力し,下位アドレス生成ユニット80のカウント終了信号caintleを上位アドレス生成ユニット84のカウント制御信号として供給する。走査方向が列方向の場合は,クロックCLKを上位アドレス生成ユニット84のカウント制御信号countuzとして出力し,上位アドレス生成ユニット84のカウント終了信号caintueを上位アドレス生成ユニット80のカウント制御信号として供給する。さらに,走査方向が斜め方向の場合は,クロックを下位及び上位のカウント制御信号として出力する。
 以下は,走査方向制御信号vaextに応じて,アドレス生成ユニット制御回路88がどのように下位及び上位アドレス生成ユニット80,84を制御するかを説明する。
 (1)走査方向制御信号vaext=000:行方向へ順進
クロックCLKが下位のカウント制御信号countlzに接続;
下位のカウント終了信号(キャリー信号)caintleが上位のカウント制御信号countuzに接続;
逆進制御信号reverselz,reversuzは共に順進に設定;
その結果,下位から上位のクロック制御回路80,84に直列に接続され,クロックCLKに同期して,8ビットの内部コラムアドレスcaint<07:00>が順次カウントアップされる。つまり,上位アドレス生成ユニット84は,下位アドレス生成ユニット80のカウント終了信号caintleに同期してカウント動作を行う。
 (2)走査方向制御信号vaext=111:行方向へ逆進
クロックCLKが下位のカウント制御信号countlzに接続;
下位のカウント終了信号(キャリー信号)caintleが上位のカウント制御信号countuzに接続;
逆進制御信号reverselz,reversuzは共に逆進に設定;
その結果,下位と上位のクロック制御回路80,84が直列に接続され,クロックCLKに同期して,8ビットの内部コラムアドレスcaint<07:00>が順次カウントダウンされる。つまり,上位アドレス生成ユニット84は,下位アドレス生成ユニット80のカウント終了信号caintleに同期してカウント動作を行う。なお,逆進によるカウントダウン動作については,後に詳述する。また,逆進制御信号reversuzは順進に設定されてもよい。
 (3)走査方向制御信号vaext=001:列方向へ順進
クロックCLKが上位のカウント制御信号countuzに接続;
上位のカウント終了信号(キャリー信号)caintueが下位のカウント制御信号countlzに接続;
逆進制御信号reverselz,reversuzは共に順進に設定;
その結果,上位から下位のクロック制御回路84,80に直列に接続され,クロックCLKに同期して,4ビットの上位内部コラムアドレスcaint<07:04>が順次カウントアップされ,上位のカウント終了信号cainteueに同期して4ビットの下位内部コラムアドレスcaint<03:00>が順次カウントアップされる。
 (4)走査方向制御信号vaext=110:列方向へ逆進
クロックCLKが上位のカウント制御信号countuzに接続;
上位のカウント終了信号(キャリー信号)caintueが下位のカウント制御信号countlzに接続;
逆進制御信号reverselz,reversuzは共に逆進に設定;
その結果,上位から下位のクロック制御回路84,80に直列に接続され,クロックCLKに同期して,4ビットの上位内部コラムアドレスcaint<07:04>が順次カウントダウンされ,上位のカウント終了信号cainteueに同期して4ビットの下位内部コラムアドレスcaint<03:00>が順次カウントダウンされる。なお,逆進制御信号reverslzは順進に設定されてもよい。
 (5)走査方向制御信号vaext=011:右下方向へ
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは共に順進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウントアップする。つまり,上位内部コラムアドレスcaint<07:04>と下位内部コラムアドレスcaint<03:00>とが並行して順次カウントアップされる。
 (6)走査方向制御信号vaext=101:右上方向へ
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは順進,逆進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウント動作し,それぞれカウントダウン,カウントアップする。つまり,上位内部コラムアドレスcaint<07:04>が順次カウントダウンされ,下位内部コラムアドレスcaint<03:00>が順次カウントアップされる。
 (7)走査方向制御信号vaext=010:左下方向へ
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは逆進,順進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウント動作し,それぞれカウントアップ,カウントダウンする。つまり,上位内部コラムアドレスcaint<07:04>が順次カウントアップされ,下位内部コラムアドレスcaint<03:00>が順次カウントダウンされる。
 (8)走査方向制御信号vaext=100:左上方向へ
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは共に逆進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウント動作し,共にカウントダウンする。つまり,上位内部コラムアドレスcaint<07:04>が順次カウントダウンされ,下位内部コラムアドレスcaint<03:00>も順次カウントダウンされる。
 上位と下位のアドレス生成ユニット80,84は,ステップ制御信号selcntlsに応じて,設定されたステップでカウントアップまたはカウントダウンする。このステップ値を適宜設定することで,斜めの走査方向を水平,垂直方向に対して45度の方向(下位,上位のステップ数が等しい場合),水平,垂直方向に対して45度以外の方向(下位,上位のステップ数が異なる場合)に走査することができる。例えば,下位のステップ数を1,上位のステップ数を2に設定すれば,桂馬飛びの方向に走査することができる。
 また,上位と下位のアドレス生成ユニット80,84は,折り返し幅制御信号selcntlwに応じて,設定された折り返し幅でカウントアップまたはカウントダウンを繰り返す。この折り返し幅を適宜設定することで,任意の矩形領域へのアクセスを1回のコラム系コマンドによるバーストアクセスで行うことができる。
 そして,上位と下位のアドレス生成ユニット80,84による連続カウント数は,前述のバースト長に基づいてクロックCLKの数で制御される。
 以上の通り,走査方向制御信号vaextとアドレス演算制御信号selcntlextとは,共に,アドレス演算方法を制御する信号である。したがって,両制御信号が共にモードレジスタセットコマンドによりモードレジスタ40に設定されてもよいし,コラム系コマンドと共にアドレス端子から入力してもよい。図8の実施の形態では,走査方向制御信号vaextがコラム系コマンドと共に入力され,アドレス演算制御信号selcntlextがモードレジスタセットコマンドによりモードレジスタ40に設定されている。
 以下,斜め走査アクセス,水平及び垂直走査アクセス,特殊な走査アクセスについて順に詳述する。
 [斜め走査アクセス]
 動画データは連続するフレーム画像データで構成される。MPEG規格による圧縮処理では,フレーム画像間で同じ図形の動き方向を動きベクトルとして求め,動きベクトルと図形の差分のみを次のフレーム画像のデータとすることが行われる。これにより次のフレーム画像のデータ量を圧縮することができる。この動きベクトルの探索では,16×16画素からなるマイクロブロックの画像データと一致または類似する後続のフレーム画像内のマイクロブロック画像を探索する。
 図10は,動画の動き方向の例を示す図である。動画の場合,図10(A)に示すように水平方向の動きが多く,次いで,図10(B)に示すように垂直方向の動きが多い。つまり水平方向と垂直方向の動きが図形の動きの大半を占めている。一方,斜め方向に図形が移動する確率は比較的低い。
 図11は,動画の動き方向と動き量の分布を示す図である。図11(A)は,動画の動き方向の分布を示す。1つのメモリ単位領域(4バイト)が4画素の画像データを記憶し,4つのメモリ単位領域CA67-CA97が4×4画素の画像データとする。この場合,動きベクトル探索では,メモリ単位領域CA67-CA97の4×4画素の画像データと一致または類似する4つのメモリ単位領域の画像データを探索する。したがって,動画の動き方向と動き量の統計に基づいて,探索領域を設定することが,動きベクトル探索処理の効率化に寄与する。
 図11(A)の左側には,サンプルの動画データについて調べた動き方向の角度θと移動頻度の関係が示されている。水平方向に対応するθ=0,π,2πの方向の移動頻度が高く,垂直方向に対応するθ=π/2,3π/2の方向に移動頻度が次に高く,それ以外の角度の移動頻度は低くなっている。つまり,図10で説明した,動画の動き方向は水平方向が最も多く次に垂直方向が多く斜め方向は少ないことが立証されている。図11(B)の左側には,サンプルの動画データについて調べた動き量dと移動頻度の関係が示されている。これによれば,移動距離が短いほど移動頻度が高くなっている。
 これらの統計結果によれば,動きベクトルの探索では,斜め方向で且つ移動量dが大きい領域の探索は一致または類似する図形を検出する確率が比較的低いことが理解できる。
 図12は,動きベクトルの探索範囲の一例を示す図である。ページ領域Pageは16×16のメモリ単位領域で構成され,この16×16のメモリ単位領域に二次元配置データである画像データの行列が対応付けられている。そして,いま仮に中心の4つのメモリ単位領域CA67~CA97内の4×4画素のブロック図形について,動きベクトルの探索を行うと仮定する。従来のようにページ領域Page内の16×16のメモリ単位領域すべてについて探索をするためには,これら256個のメモリ単位領域に対してアクセスする必要がある。
 しかしながら,図10,11で説明したとおり,動画の動き方向と動き量の統計によれば,ページ領域Page内の4つの角の領域を除いた菱形RHBの領域を探索することで探索効率を高めることができる。菱形領域RHBは1つのページ領域Pageの1/2の面積であるので,探索領域を菱形領域RHBにすれば探索領域が半減する。そこで,この菱形領域RHB内で動きベクトルの探索を行う場合のアクセスについて以下に説明する。
 図13は,菱形領域のアクセス方法の一例を示す図である。ページ領域Page内の菱形領域RHBをアクセスする場合,従来のコラムアドレスをインクリメントして行方向に走査しながらアクセスすると,同じバースト長でバーストリードまたはバーストライトができず,アクセス効率が低下する。そこで,図13(A)に示したとおり,メモリ装置側では,矢印のように斜め方向に走査しながらバーストリードまたはバーストライトすると,同じバースト長でアクセスできるのでメモリ装置へのアクセス効率が高くなる。通常の画像符号化システムでは,フレームメモリ内の画像データをシステム内のワークメモリ(図13(B))に格納する。
 図13のように,フレームメモリ(図13(A))内の菱形領域RHBに対して,矢印の斜め方向の走査ができれば,システムワークメモリ(図13(B))内には,8×16のメモリ単位領域の画像データが格納される。
 図14は,斜め方向の走査について説明する図である。菱形領域に対して斜め方向に走査するためには,メモリ装置内のコラムアドレス制御部が,図14の矢印方向にコラムアドレスCA07-CA7eを順次生成することが求められる。すなわち,斜め方向に走査するためには,下位のコラムアドレスCA-Lと上位のコラムアドレスCA-Uとを並行してインクリメントしなければならない。そこで,図8のコラムアドレス制御部41で説明したように下位アドレス生成ユニット80と上位アドレス生成ユニット84とを並行動作するように適宜制御することで,上記の斜め方向の走査をバーストモードで行うことができる。
 図15は,斜め方向走査を行うコラムアドレス制御部を示す図である。図16,17は,斜め方向走査を行うコラムアドレス制御部の詳細図である。図15において,アドレス生成ユニット88は,走査方向制御信号vaext=011に応じて,クロックCLKを下位及び上位アドレス生成ユニット80,84のカウント制御信号countlz,countuxzに同時に供給する。さらに,ステップ制御信号selcntlsがステップ数1(step1)に設定されて,ステップ設定回路82,86のセレクタがカウント制御信号countlz,countuxzをそれぞれカウンタ81,85のA00とA04に供給するように設定される。また,折り返し幅制御信号selcntlwが折り返し幅16(width16)に設定されて,折り返し幅設定回路83,87のセレクタがカウンタ81,85のA03とA07の出力を選択するように設定される。また,カウント終了信号caintle,caintueは,いずれにも接続されていない。
 上記のように設定することで,コラムアドレス制御部41では,クロックCLKに同期して,下位及び上位のアドレス生成ユニット80,84が並行してカウントアップ動作を行う。よって,両アドレス生成ユニット80,84のカウンタ81,85に初期値CA07=00000111(下位に0111,上位に0000)を設定し,8回のクロックCLKに同期してコラムアドレスを生成すれば,図14に示したメモリ単位領域CA07-CA7eへのアクセスをページモードで行うことができる。
 図16,17には,下位アドレス生成ユニットのみ詳細図が示されている。ここに示すとおり,ステップ設定回路82は,4つのセレクタ161(SL00-SL03)が,カウント制御信号countlzおよびカウンタ81の下位桁の出力caint0-3のいずれか一方を選択する。このセレクタ161の選択は,2ビットのステップ制御信号selcntlsをデコーダ160でデコードした制御信号control(step1,2,4,8)に基づいて行われる。図16の例では,step1に設定されていてセレクタSL00のみ入力in2を選択し,他のセレクタSL01-03は入力in1を選択している。
 また,4ビットのカウンタ81は,外部コラムアドレスcaext0-3が初期値として初期値端子initに供給され,セレクタ161からのクロック信号clkca0-3に同期してカウントアップ動作を繰り返す。クロックclkの立ち下がりエッジでカウンタ81の各フリップフロップが出力outをLレベルからHレベルへ,またはHレベルからLレベルへのトグル動作を繰り返す。
 以上の設定により,カウント制御信号countlzに同期して,4ビットカウンタ81は,初期値を順次カウントアップする。そして,図16に示されるとおり,カウンタ81の出力端子outから内部コラムアドレスcaint0-3がそれぞれ出力される。ステップ制御信号により下位,上位アドレス生成ユニットはstep1に設定されているので,走査方向は垂直,水平方向に対して45度方向である。ただし,ステップ数を適宜設定することで,走査方向を45度とは異なる方向にも設定することができる。よって,走査方向制御信号vaextとステップ制御信号とにより,任意の角度の斜め方向に走査するバーストアクセスが可能になる。
 一方,図17に示されるとおり,カウンタ81の出力端子outからの内部コラムアドレスcaint0-3のうち,折り返し幅設定回路83内のセレクタ171で選択された信号のみが,カウント終了信号(キャリー信号)caintleとして出力される。4つのセレクタSL10-13は,それぞれ2ビットの折り返し幅制御信号selcntlwをデコーダ170でデコードした制御信号control(width02,04,08,16)に基づいて選択動作を行う。
 図18,図19は,斜め方向に走査する場合のメモリ装置のタイミングチャート図である。図18は斜め方向のバーストモードを有しないメモリ装置の例を,図19は,斜め方向のバーストモードを有するメモリ装置の例をそれぞれ示す。図中,クロックCLKと,コマンド信号であるCS,RAS,CAS,WEと,バンクアドレスBAとが示されている。また,リードコマンドRDに付随して入力されるコラムアドレスCAも示されている。網掛けした部分はバンクBA1の動作を,それ以外の部分はバンクBA0の動作をそれぞれ示す。つまり,この例では,2つのバンクがインターリーブ動作している。
 図18の場合,メモリ装置は斜め方向のバーストモードを有しない。時間t0でバンクBA0に対してプリチャージコマンドPREが入力されると,時間t1からバンクBA0でプリチャージ動作が行われる。その間,バンクBA1ではリードコマンドRDに応答してリード動作が繰り返されている。時間t1の1クロック後からRASプリチャージタイムtRP後の時間t3でバンクBA0に対してアクティブコマンドACTが入力される。したがって,時間t3から1クロック周期の間は,バンクBA1へのリードコマンドの発行は行われない。このアクティブコマンドに応答して,バンクBA0では図示しないロウアドレスに基づいてアクティブ動作が行われる。その間,バンクBA1では再度リードコマンドRDに応答してリード動作を繰り返す。
 そして,RASCASディレイタイムtRCD後の時間t6で,バンクBA0に対してリードコマンドRDとコラムアドレスCAとが連続して入力される。メモリ装置は,バーストモードではなく,連続して入力される8回のリードコマンドRDと8種類のコラムアドレスCA07-CA7eとにそれぞれ応答して,斜め方向に並んだ8つのメモリ単位領域に対してリード動作を繰り返す。そして,図18の例では,時間t5でバンクBA1に対しするプリチャージコマンドPREが発行されていて,時間t7でバンクBA1に対するアクティブコマンドACTが発行されている。よって,時間t7から1クロックの期間,バンクBA0に対するリードコマンドRDは発行されていない。
 このように,図18の例では,メモリコントローラは斜め方向に走査するために,8回のコラム系コマンド,リードコマンドRDとコラムアドレスCAとを発行する必要がある。また,メモリ装置は,バーストモードで動作できず,バンクインターリーブ動作により,連続するリードコマンドの入力が中断する。
 図19の場合,メモリ装置は斜め方向のバーストモード機能を有する。図15,16,17に示したコラムアドレス制御部の動作により,1回のリードコマンドRDと先頭コラムアドレスCA07を入力すると,コラム制御回路が連続して内部コラムアドレスCA18,CA29,CA3a,CA4b,CA5c,CA6d,CA7eを生成し,32ビットデータのリード動作を連続8回行う。すなわち,時間t1でバンクBA0に対してアクティブコマンドACTが入力されると,RASCASディレイタイムtRCD後の時間t3でリードコマンドRDAと先頭コラムアドレスCA07と走査方向制御信号VA=011とが入力される。あらかじめ,バースト長BL=8に設定されているので,コラムアドレス制御部が内部コラムアドレスCA18,CA29,CA3a,CA4b,CA5c,CA6d,CA7eを連続して生成し,32ビット×8回のリード動作が行われる。その間,時間t5ではバンクBA1に対するアクティブコマンドACTが発行されているが,バンクBA0でのバーストリード動作はディスターブされていない。なお,リードコマンドRDAは,オートプリチャージ付きリードコマンドであり,図9に示したアドレス端子A10のオートプリチャージビットをHレベルに設定することで指定することができる。
 このように,メモリ装置が斜め方向のバーストモード機能を有することで,菱形領域をアクセスする場合の斜め方向の走査アクセスを効率的に行うことができる。そして,斜め方向の角度は,走査方向制御信号vaextとステップ制御信号selcntlsとにより任意の角度に設定することができる。ここで任意の角度とは,メモリマップ上のメモリ単位領域の位置による制約の範囲内で任意の角度という意味である。
 [水平及び垂直走査アクセス]
 図20は,ページ領域内の水平走査アクセスを示す図である。ページ領域Page内を矢印に示したとおり水平方向(行方向)に走査しながらアクセスするためには,メモリ装置内のコラムアドレス制御部が,下位のコラムアドレスCA-Lを優先してインクリメントし(矢印200),下位のコラムアドレスのキャリー信号により上位のコラムアドレスCA-Uをインクリメントすることが必要である。これにより,水平方向に連続してバーストリード可能になる。
 図21は,ページ領域内の垂直走査アクセスを示す図である。ページ領域Page内を矢印に示したとおり垂直方向(列方向)に走査しながらアクセスするためには,メモリ装置内のコラムアドレス制御部が,上位のコラムアドレスCA-Uを優先してインクリメントし(矢印210),上位のコラムアドレスのキャリー信号により下位のコラムアドレスCA-Lをインクリメントすることが必要である。これにより,垂直方向に連続してバーストリード可能になる。
 図22は,メモリコントローラによるバースト方向判定処理を示す図である。図3のメモリコントローラ12内のバースト方向判定部32がこの判定処理を行う。図22中の220に示されるとおり,メモリ装置の入出力端子DQが32ビットで構成され,1つの画素の画像データが8ビットで構成されているとする。さらに,メモリマップによれば,コラムアドレスで選択されるメモリ単位領域には,水平方向の画素数Dh=4,垂直方向の画素数Dv=1の画像データが記憶されるものとする。そして,図22中の221に示されるとおり,上位システムから傾き=0,水平方向画素数Lh=8,垂直方向画素数Nv=8のアクセス領域へのアクセス要求があるとする。この場合のバー数と方向判定処理について説明する。
 図23は,メモリコントローラによるバースト方向判定処理のフローチャート図である。メモリコントローラは,上位システムからアクセス領域の水平方向と垂直方向の画素数がLh=8,Lv=8のアクセス要求を受信する(S20)。メモリコントローラ内のバースト方向判定回路は,画素数をメモリ装置内のコラム数に変換する(S21)。その結果,図22の221に示されるとおり,バースト方向判定回路は,水平方向のコラム数Nh=Lh/Dh=2,垂直方向のコラム数Nv=Lv/Dv=8を演算する(S22)。そして,バースト方向判定回路は,この水平方向のコラム数Nhと垂直方向のコラム数Nvとを比較することで,最適なバースト方向の判定を行う(S23)。Nv≦Nhであれば水平方向にバースト方向が設定される(S24)。逆に,Nv>Nhであれば垂直方向にバースト方向が設定される。より長い方向にバースト方向を設定することで,バーストモードによるアクセスを有効に活用できるからである。
 図24は,垂直方向に走査アクセス(バーストアクセス)する例を示す図である。この例では,メモリ単位領域内に4画素の画像データが格納され,4×8画素の矩形領域がアクセスされる例である。したがって,コラムアドレスCA20からCA90まで垂直方向の8つのメモリ単位領域に対してアクセスが必要になる。この場合は,メモリ装置内のコラムアドレス制御部41が,先頭のコラムアドレスCA20から上位のコラムアドレスCA-UをインクリメントしてCA20-CA90を順次生成する。
 図25は,垂直方向に走査アクセス(バーストアクセス)するコラムアドレス制御部の構成図である。コラムアドレス制御部41は,垂直方向にバーストアクセスするために,下位アドレス生成ユニット80と上位アドレス生成ユニット84とが上下逆に接続される。すなわち,アドレス生成ユニット制御回路88は,クロックCLKを上位アドレス生成ユニット84にカウント制御信号countuzとして供給し,上位アドレス生成ユニット84のカウント終了信号(キャリー信号)caintueを下位アドレス生成ユニット80にカウント制御信号countlzとして供給する。そして,ステップ制御信号selcontlsは下位及び上位ともにステップstep1に設定され,下位カウンタ81と上位カウンタ85は並行してカウント制御信号に応答してカウント値を+1する。また,折り返し幅制御信号selcntlwは下位及び上位ともに幅width16に設定され,下位カウンタ81と上位カウンタ85の最上位ビットがセレクタ83,87により選択される。
 上記の通り設定されることで,クロックCLKに同期して,上位カウンタ84が先にカウント値を+1ずつインクリメントし,上位カウンタ84のカウント終了信号caintueに同期して,下位カウンタ81がカウント値を+1ずつインクリメントする。その結果,コラムアドレス制御部41は,外部から供給されるコラムアドレスcaext0-7を初期値CA20として最終値CA90までのアドレスを順に内部コラムアドレスcaint0-7として生成する。
 図26,27は,垂直方向に走査してアクセスする場合のタイミングチャート図である。図26は,メモリ装置が垂直方向のバーストモードを有しない場合のタイミングチャート図である。図18と同様に,時間t0でバンクBA0に対してプリチャージコマンドPREが入力されると,時間t1からバンクBA0でプリチャージ動作が行われる。その間,バンクBA1ではリードコマンドRDに応答してリード動作が繰り返されている。時間t1の1クロック後からRASプリチャージタイムtRP後の時間t3でバンクBA0に対してアクティブコマンドACTが入力される。したがって,時間t3から1クロック周期の間は,バンクBA1へのリードコマンドの発行は行われない。このアクティブコマンドに応答して,バンクBA0では図示しないロウアドレスに基づいてアクティブ動作が行われる。その間,バンクBA1では再度リードコマンドRDに応答してリード動作を繰り返す。
 そして,RASCASディレイタイムtRCD後の時間t6で,バンクBA0に対してリードコマンドRDとコラムアドレスCAとが連続して入力される。メモリ装置は,バーストモードではなく,連続して入力される8回のリードコマンドRDと8種類のコラムアドレスCA20-CA90とにそれぞれ応答して,垂直方向に並んだ8つのメモリ単位領域に対してリード動作を繰り返す。そして,図26の例では,時間t5でバンクBA1に対しするプリチャージコマンドPREが発行されていて,時間t7でバンクBA1に対するアクティブコマンドACTが発行されている。よって,時間t7から1クロックの期間,バンクBA0に対するリードコマンドRDは発行されていない。
 このように,図26の例では,メモリコントローラは垂直方向に走査してアクセスするために,8回のコラム系コマンド,即ちリードコマンドRDとコラムアドレスCAとを発行する必要がある。また,メモリ装置は,バーストモードで動作できず,バンクインターリーブ動作により,連続するリードコマンドの入力が中断する。
 図27は,メモリ装置が垂直方向のバーストモード機能を有する場合のタイミングチャート図である。図25のコラムアドレス制御部41の動作により,1回のリードコマンドRDと先頭コラムアドレスCA20を入力すると,コラムアドレス制御部が連続して内部コラムアドレスCA20,CA30,CA40,CA50,CA60,CA70,CA80を生成し,32ビットデータのリード動作を連続8回行う。すなわち,時間t1でバンクBA0に対してアクティブコマンドACTが入力されると,RASCASディレイタイムtRCD後の時間t3でリードコマンドRDAと先頭コラムアドレスCA20と走査方向制御信号VA=001とが入力される。あらかじめ,バースト長BL=8に設定されているので,コラムアドレス制御部が内部コラムアドレスCA20,CA30,CA40,CA50,CA60,CA70,CA80を連続して生成し,32ビット×8回のリード動作が行われる。その間,時間t5ではバンクBA1に対するアクティブコマンドACTが発行されているが,バンクBA0でのバーストリード動作はディスターブされていない。
 このように,メモリ装置が垂直方向のバーストモード機能を有することで,垂直方向により多くのメモリ単位領域を有する矩形領域をアクセスする場合の垂直方向の走査アクセスを効率的に行うことができる。
 図28は,垂直方向に走査アクセス(バーストアクセス)する別の例を示す図である。この例では,メモリ単位領域内に4画素の画像データが格納され,8×8画素の矩形領域がアクセスされる例である。したがって,コラムアドレスCA20からCA90まで垂直方向の8つのメモリ単位領域とコラムアドレスCA21からCA91まで垂直方向の8つのメモリ単位領域に対してアクセスが必要になる。
 従来のSDRAMでは,水平方向にしかバーストアクセスできないので,バースト長BL=2に設定し,コラムアドレスCA20,CA30,CA40,CA50,CA60,CA70,CA80と共に8回のコラム系コマンドRD,WRをメモリ装置に供給することで,8×8画素の矩形領域の画像データにアクセスする。
 それに対して,本実施の形態の垂直方向にバーストアクセスできるメモリ装置の場合は,バースト長BL=8に設定し,コラムアドレスCA20,CA21と共に2回のコラム系コマンドRD,WRをメモリ装置に供給すれば,8×8画素の矩形領域の画像データにアクセスすることができる。よって,メモリコントローラとメモリ装置間のバスのビジー状態を短くすることができる。
 [特殊な走査アクセス]
 以下,特殊な走査アクセスとして,間引きバーストアクセスと,矩形領域のバーストアクセスと,順進・逆進のアクセスとについて説明する。
 [間引きバーストアクセス]
 図29は,動き予測を行うときのアクセスを説明する図である。この例では,ワード構成が×16ビットのDQインターフェースのメモリ装置に,1画素あたり8ビットのデータがマッピングされている。動き予測では,太枠で囲んだ4×4画素の正方形の矩形290について,垂直方向に±4画素,水平方向に±8画素の探索が行われるとする。つまり,動きベクトル探索では,長方形領域292内で矩形290が列方向に9回,行方向に9回それぞれ移動しながら,合計81回,矩形290の画像データと移動先の矩形の画像データとを比較する処理が行われる。一致画像データが検出されると,矩形290からその検出された矩形領域の方向が動きベクトルになる。
 図30,図31は,動き予測を行うときの別のアクセスを説明する図である。この例でも,ワード構成が×16ビットのDQインターフェースのメモリ装置に,1画素あたり8ビットのデータがマッピングされている。そして,4×4画素の矩形領域について動きベクトルの探索が行われる。
 図30のアクセス例では,最初に,処理対象矩形の2倍サイズである8×8画素の矩形領域300(CA46-CA4c-CAcc-Cac4で囲まれる矩形領域)のうち行列方向に1/2に間引いたものを,矩形領域302(CA24-CA2d-Cadd-Cad4で囲まれる矩形領域)内で行列方向に1/2に間引いた領域で探索する。この1回目の探索は,行方向に4回,列方向に3回,合計で12回のアクセスと比較処理の回数になる。
 次に,図31に示されるとおり,1回目の探索で最適な位置が仮にコラムアドレスCA66のメモリ単位領域を左上隅とする矩形領域314(CA66-CA69-Cad9-Cad6で囲まれる領域)とする。その場合,2回目の探索では,4×4画素の矩形領域310(CA66-CA67-CA97-CA96で囲まれる領域)について,当該矩形領域314より1周り大きな矩形領域312(CA55-CA5a-Caea-Cae5で囲まれる領域)内を探索する。この探索では1/2間引きは行わない。この探索には,行方向に5回,列方向に7回,合計で35回のアクセスと比較処理が必要になる。図30の1回目の探索が12回だったので,1回目と2回目の探索の合計は,12+35=47回になる。この回数は,図29の場合の81回に比較すると約58%に削減される。
 上記の2段階探索アルゴリズムは,既に公知である。そして,上記の2段階探索アルゴリズムを採用した場合,図30の1/2に間引いたデータについてアクセスをするためには,メモリコントローラは,バーストリードを利用することはできず,8回のコラム系コマンドと対応するコラムアドレスとをメモリ装置に発行することが必要である。または,バーストリードにより1/2に間引かないデータをアクセスし,不要なデータを読み捨てることでもアクセス可能である。しかし,いずれの場合も,メモリ装置へのアクセス効率は大幅に低下する。
 図32,図33は,2段階探索アルゴリズムの1回目の探索におけるコラムアドレス制御部の構成図である。図32は下位アドレス生成ユニット80の一部を示し,図33は上位アドレス生成ユニット84の一部を示す。
 1回目の探索におけるコラムアドレス制御部の構成は,図25に示した構成と類似する。つまり,アドレス生成ユニット制御回路88が,上位アドレス生成ユニット84にクロックCLKをカウント制御信号として供給し,下位アドレス生成ユニット80に上位側のカウント終了信号caintueをカウント制御信号として供給する。これにより,垂直方向に長い矩形領域のバーストアクセスを効率的に行うことができる。さらに,下位及び上位アドレス生成ユニットのステップ設定回路82,86は,ステップ幅をStep2に設定する。これにより,カウント制御信号に同期してステップ幅2でカウント値をインクリメントすることができ,1/2間引きしたメモリ単位領域にバーストアクセスが可能になる。
 次に,図32,33について説明する。上記の通り,1回目の探索では,1/2間引きしたメモリ単位領域にアクセスする必要がある。そこで,下位及び上位アドレス生成ユニット80,84では,ステップ制御信号selcntls=Step2により,セレクタSL01,SL05がカウント制御信号cuntlz,countuzを選択して,カウンタ81,85にクロックclka1,clkca5として出力する。それにより,バーストモードでクロックCLKに同期して,カウンタ81,85のA01,A05より上位の桁でインクリメント動作が行われる。その結果,下位及び上位アドレス生成ユニット80,84は,増分(ステップ数)が2で内部コラムアドレスをインクリメントする。よって,図32に示した1/2間引きした矩形領域のアクセスにおいても,バーストモードを使用することができる。なお,図32の下位アドレス生成ユニット80のセレクタSL00の入力int1には,何のクロックも入力されない。同様に,図33の上位アドレス生成ユニット84のセレクタSL04の入力int1にも,何のクロックも入力されない。よって,カウンタのA00,A04ビットは,初期設定値のコラムアドレスA00,A04の値が維持される。
 図34は,2段階探索アルゴリズムの1回目の探索におけるメモリ装置のタイミングチャート図である。このタイミングチャート図に示されるとおり,時間t3でバンクアドレスBA0とコラムアドレスCA24とベクトルアドレスVA=001と共に,リードコマンドRDAがメモリ装置に入力されている。それに応答して,メモリ装置内のコラムアドレス制御部は,内部コラムアドレスCA24,CA44,CA64,CA84を順次生成し,図30のコラムアドレスCA24,CA44,CA64,CA84のメモリ単位領域を連続してアクセスする。
 上記の通り,下位及び上位アドレス生成ユニット80,84にて,ステップ設定回路82,86内のセレクタを,ステップ制御信号selcntls, selcntusによりステップStep2に設定することで,1/2間引いたメモリ単位領域へのバーストアクセスが可能になる。同様に,ステップStep4,Step8に設定すると,1/4,1/8間引いたメモリ単位領域へのバーストアクセスが可能になる。以上が間引きバーストアクセスの説明である。
 [矩形領域のバーストアクセス]
 次に,矩形領域のバーストアクセスについて説明する。本実施の形態の下位及び上位アドレス生成ユニットの折り返し幅制御信号selcntlwにより折り返し幅設定回路83,87を設定することで,下位及び上位アドレス生成ユニットのカウント終了値を任意に設定することができる。それにより,アドレス生成ユニットはクロックCLKに同期して任意の範囲のカウント値を繰り返し生成することができる。これを利用すれば,行列方向にコラムアドレスが異なるメモリ単位領域からなる矩形領域を,1回のコラム系コマンドと先頭コラムアドレスによりバーストアクセスすることができる。ただし,カウンタ動作の制約から,矩形領域のコラムアドレスの折り返しアドレスは,下位,上位アドレスともに
CA=1,3,7,Fの位置になる。
 図35は,本実施の形態における矩形領域のバーストアクセスを説明する図である。仮に,図35中のコラムアドレスCA00-CA01-CA71-CA70で囲まれた矩形領域をバーストアクセスするとする。従来のバーストアクセスでは,バースト長をBL=2に設定して,8回のコラム系コマンドとコラムアドレスCA00,CA10,CA20,CA30,CA40,CA50,CA60,CA70がメモリ装置に供給される。また,図25,27などで説明した垂直方向の走査アクセスが可能な場合では,バースト長BL=8に設定して,2回のコラム系コマンドとコラムアドレスCA00,CA01がメモリ装置に供給される。
 それに対して,図35の矩形領域のバーストアクセスでは,1回のコラム系コマンドと矩形領域の先頭コラムアドレスCA00をメモリ装置に供給すれば,メモリ装置が内部で16の内部コラムアドレスを順次生成し,16のメモリ単位領域をバーストアクセスする。そのためには,コラムアドレス制御部において,折り返し幅制御信号selcntlwを設定する必要がある。
 図36は,本実施の形態における矩形領域のバーストアクセスする場合のコラムアドレス制御部の構成図である。コラムアドレス制御部41では,垂直方向の走査アクセスができるように,アドレス生成ユニット88が,同期クロックCLKを上位アドレス生成ユニット84のカウント制御信号countuzに供給し,上位アドレス生成ユニット84のカウント終了信号(キャリー信号)caintue
を下位アドレス生成ユニット80のカウント制御信号countlzに供給する。そして,ステップ制御信号selcntlsを下位上位共にStep1に設定し,折り返し制御信号selcontlwを下位,上位でWidth16,
Width8に設定する。そして,バースト長BL=16に設定すれば,コラムアドレス制御部は,先頭コラムアドレスCA00から,上位アドレス生成ユニット84のインクリメント動作により,内部コラムアドレスCA00,CA10,CA20,CA30,CA40,CA50,CA60,CA70を順次生成したあと,カウンタA06の桁上げ信号をカウント終了信号(キャリー信号)caintueとして出力し,それを下位アドレス生成ユニットのカウント制御信号countlzとしてカウンタA00に入力する。これに応答して,下位アドレス生成ユニット80が下位アドレスを+1インクリメントする。さらに,コラムアドレス制御部は,下位側でインクリメントされたコラムアドレスCA01から,上位アドレス生成ユニット84のインクリメント動作により,内部コラムアドレスCA01,CA11,CA21,CA31,CA41,CA51,CA61,CA71を順次生成する。これにより,バースト長16のバーストアクセスにより,矩形領域のアクセスを行うことができる。
 図37,図38は,矩形領域のバーストアクセスする場合の上位アドレス生成ユニットの一部の構成図である。図37に示されるとおり,上位アドレス生成ユニット84は,ステップ設定回路86と,折り返し幅設定回路87との間に,4ビットカウンタ85を有する。折り返し幅設定回路87は,セレクタ群SL14-SL17とセレクタ群SL24-SL27とを有する。さらに,図38に示されるとおり,上位アドレス生成ユニット84は,セレクタ群SL14-SL17を制御する制御信号width02-16を生成する第1のデコーダ170Aと,セレクタ群SL24-SL27を制御する制御信号cnt02en-cnt16enを生成する第2のデコーダ170Bとを有する。
 図37の上位アドレス生成ユニット84では,デコーダ170Aが,折り返し幅制御信号selcntlwに基づいて折り返し幅width08のみをHレベルに制御し,セレクタSL16のみがカウンタA06の出力caint6を選択してカウント終了信号caintueとして出力する。同様に,折り返し幅width08=Hに応答して,図38のデコーダ170Bが,制御信号cnt08en,
cnt04en, nt02enをHレベルに制御し,制御信号cont16enのみをLレベルに制御し,セレクタSL27が入力in2を選択し,他のセレクタSL26,
SL25, SL24が入力in1を選択する。これにより,カウンタA04,A05,A06からなる3ビットカウンタが構成され,内部コラムアドレスcaint4-6が順次000-111になる。最上位のアドレスcaint7は初期値caext7に固定される。つまり,図38のデコーダ回路170Bは,制御信号380がLレベルに設定されているので,折り返し幅信号width02-16に応じて制御信号cnt02en-cnt16enを生成する。具体的には,折り返し幅信号width02-16のうちwidth02=Hならcnt02en=Hとなり1ビットカウンタに設定される。width04=Hなら=Hとなり2ビットカウンタに設定される。width16=Hならcnt02en,cnt04en,cnt08en,cnt16en=Hとなり4ビットカウンタに設定される。
 以上の構成により,コラムアドレス制御部は,先頭のコラムアドレスCA00から上位コラムアドレスを順次インクリメントし,内部コラムアドレスがCA70に達すると上位の内部コラムアドレスを0000に折り返し,再度,コラムアドレスCA01から上位コラムアドレスを順次インクリメントし,CA71に達する。これで,バースト長16に対応する16の内部コラムアドレスCA00-CA70,CA01-CA71が生成されることになる。このように,折り返し制御信号を適宜設定することで,下位コラムアドレスまたは上位コラムアドレスを2,4,8,16で折り返すことができ,矩形領域に対するバーストアクセスに必要な内部コラムアドレスの生成が可能になる。
 図36において,下位と上位アドレス生成ユニットへのカウント制御信号への接続を通常通りに接続すれば,水平方向に長い矩形領域を1回のコラム系コマンドと先頭コラムアドレスによりバーストアクセスすることができる。
 図39は,矩形領域のバーストアクセスする場合のメモリ装置にタイミングチャート図である。図39は,図27と同様のバーストアクセスのタイミングチャートであり,時間t3でリードコマンドRDAと共にコラムアドレスCA00,ベクトルアドレスVA=001が入力されると,メモリ装置内のコラムアドレス制御部は,時間t3以降に内部コラムアドレスCA00,CA10~CA70とCA01,CA11~CA71とを順次生成する。これにより,1回のコラム系コマンドとコラムアドレスの入力により,メモリ層は,バースト長16のバーストアクセスで矩形領域のバーストアクセスを行う。
 [順進・逆進のアクセス]
 図40は,逆進アクセスする場合の下位アドレス生成ユニットの一部構成図である。図40には,下位アドレス生成ユニット80のカウンタ81についてのみ示されていて,ステップ設定回路と折り返し幅設定回路は省略されている。カウンタ81の初期値入力端子initの前段にEORゲート群400が設けられ,出力端子outの後段にEORゲート群402が設けられている。これらのEROゲート群400,402の一方の入力端子には逆進制御信号reverslzが入力され,逆進制御信号reverslz=Hであれば,外部コラムアドレスcaext0-3がEORゲート群400で反転してカウンタ81に入力され,カウンタ出力がEORゲート群4002で反転して内部コラムアドレスcaint0-3として出力される。逆進制御信号reverslz=Lであれば,EORゲート群400,402は他方の入力信号を反転せずにそのまま出力する。
 つまり,逆進制御信号reverslz=Hであれば,例えば外部コラムアドレスcaext0-3=1111を反転した0000がカウンタに初期値設定され,カウンタ81がカウント制御信号countlzに同期して0000から順次インクリメントし,その出力値を反転した4ビットアドレスが内部コラムアドレスcaint0-3として出力される。よって,外部コラムアドレスcaext0-3=1111に対しては,逆進制御により,内部コラムアドレスcaint0-3は,1111~0000と逆進方向にカウントダウンされることになる。
 アドレス生成ユニット制御回路88は,EORゲート群400,402を有するので,下位及び上位アドレス生成ユニットのカウント方向を順進,逆進のいずれかに設定することができる。よって,ベクトルアドレスVAの方向がコラムアドレスの逆進方向であっても,コラムアドレス制御部は,バーストモードに対応して逆進方向の内部コラムアドレスを順次生成することができる。
 図41は,時間軸を有するメモリマップの例を示す図である。上記の実施の形態では,図7などにおいて,二次元配列されたデータである画像データを1つのページ領域内に格納するメモリマップを前提に説明した。この場合,水平方向と垂直方向とからなる二次元空間内の任意の方向の走査アクセスを可能にするために,コラムアドレスを下位と上位とに分割してコラムアドレス制御部を構成した。
 本実施の形態は,コラムアドレスの分割数は2に限られず3またはそれ以上であってもよい。図41は,コラムアドレスの分割数が3の例である。下位コラムアドレスCA-L(A00-A03)と中位コラムアドレスCA-M(A04-A07)とが二次元配列データの水平方向と垂直方向とに対応付けられると共に,上位コラムアドレスCA-U(A08-A09)が時間軸方向timeに対応付けられている。このように,コラムアドレスを3つに分割することで,下位と中位コラムアドレスにより特定される二次元配列のページ領域Page0-3が,上位コラムアドレスにより4つ特定される。
 例えば、動画データの圧縮ではフレーム内の圧縮だけでなく,時間軸方向の圧縮も行われる。また,最近は60フレーム/秒のオリジナル画像データに対し,フレーム間に補間フレームを追加することで画像をより美しく見えるようにすることが行われる。このような場合,画面の水平・垂直方向だけでなく,時間軸方向のアクセスも高速に行うメモリ装置が必要になる。その場合のメモリのページ領域への画像データのマッピングとして,時間軸方向も含めた直方体空間をメモリにマッピングすることが有益である。すなわち,図41に示されるとおり,時間軸方向を指定するアドレスとしてCA08,CA09を追加し,画像の水平方向に割り付けられた下位コラムアドレスCA03~CA00と,画像の垂直方向に割り付けられた中位コラムアドレスCA07~CA04と,時間軸方向に割り付けられた上位コラムアドレスCA09~CA08とし,コラムアドレス制御部を3つのアドレス生成ユニットで構成する。かかるコラムアドレス制御部によれば,画像の時間軸方向にバーストアクセスすることが可能になる。
 本発明によれば,画像データなどの二次元配列データに対して種々の方向にバーストアクセスすることができる。

Claims (16)

  1.  アドレスにより選択される複数のメモリ単位領域を有し,二次元配列データを前記複数のメモリ単位領域に記憶するメモリセルアレイと,
     外部アドレスを入力し,当該外部アドレスに基づいて前記メモリ単位領域を選択する内部アドレスを生成する内部アドレス制御部と,
     前記内部アドレスをデコードして前記メモリ単位領域を選択するデコーダとを有し,
     前記複数のメモリ単位領域は,前記内部アドレスの下位ビット群に基づいて前記二次元配列データの行列のうち第1の方向に配列されたデータを記憶し,前記アドレスの上位ビット群に基づいて前記二次元配列データの行列のうち第2の方向に配列されたデータを記憶し,
     前記内部アドレス制御部は,前記内部アドレスの下位ビット群を生成する下位アドレス生成ユニットと,前記内部アドレスの上位ビット群を生成する上位アドレス生成ユニットと,前記二次元配列データの走査方向を制御する走査方向制御信号に基づいて前記下位アドレス生成ユニットと上位アドレス生成ユニットの動作を制御するアドレス生成ユニット制御回路とを有し,前記走査方向制御信号の走査方向に対応する内部アドレスを順次生成することを特徴とするメモリ装置。
  2.  請求項1記載のメモリ装置において,
     前記アドレスはロウアドレスとコラムアドレスとを有し,
     前記メモリセルアレイは前記ロウアドレスで選択される複数のページ領域を有し,当該ページ領域は前記コラムアドレスで選択される複数の前記メモリ単位領域を有し,
     前記内部アドレス制御部は前記内部アドレスのうち内部コラムアドレスを生成することを特徴とするメモリ装置。
  3.  請求項2記載のメモリ装置において,
     アクティブコマンドに応答して,前記ロウアドレスで選択されるページ領域がアクティブ動作を行い,前記アクティブコマンド後に供給されるリードコマンド又はライトコマンドに応答して,前記コラムアドレスに対応する前記メモリ単位領域にリード動作またはライト動作が行われ,
     バーストモードでは,前記リードコマンド又はライトコマンドに応答して,内部アドレス制御部がバースト長の数の内部コラムアドレスを順次生成し,当該順次生成される内部コラムアドレスにより選択される前記メモリ単位領域にリード動作またはライト動作が繰り返されることを特徴とするメモリ装置。
  4.  請求項3記載のメモリ装置において,
     前記走査方向制御信号が斜め方向の場合に,前記アドレス生成ユニット制御回路は,前記下位アドレス生成ユニットと上位アドレス生成ユニットとを並行して動作させて,上位内部コラムアドレスと下位内部コラムアドレスとを並行して順次生成させることを特徴とするメモリ装置。
  5.  請求項4記載のメモリ装置において,
     前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,カウンタ制御信号に応答してカウント値を変更するカウンタ回路をそれぞれ有することを特徴とするメモリ装置。
  6.  請求項5記載のメモリ装置において,
     前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,さらに,ステップ制御信号に応じて前記カウンタ制御信号を前記カウンタ回路のいずれかの桁に入力する下位ステップ設定回路と上位ステップ設定回路をそれぞれ有するメモリ装置。
  7.  請求項6記載のメモリ装置において,
     前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,前記走査方向制御信号と前記ステップ制御信号とに応じた角度方向に対応する下位内部コラムアドレスと上位内部コラムアドレスとを順次生成することを特徴とするメモリ装置。
  8.  請求項5記載のメモリ装置において,
     前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,さらに,折り返し幅制御信号に応じて前記カウンタ回路のいずれかの桁の出力信号をキャリー信号として出力する下位折り返し幅設定回路と上位折り返し幅設定回路をそれぞれ有することを特徴とするメモリ装置。
  9.  請求項5記載のメモリ装置において,
     前記カウンタ回路は,外部から供給されるコラムアドレスが初期値として設定され,前記バースト長の数だけカウント制御信号に応答してカウント値を変更して下位及び上位内部コラムアドレスを順次生成することを特徴とするメモリ装置。
  10.  請求項3記載のメモリ装置において,
     前記走査方向データが前記第1または第2の方向の場合に,前記アドレス生成ユニット制御回路は,前記下位アドレス生成ユニットと上位アドレス生成ユニットとを直列に動作させ,
     前記走査方向データが前記第1の方向の場合に,前記アドレス生成ユニット制御回路は,クロックに応答して前記下位アドレス生成ユニットが下位の内部コラムアドレスを順次生成し,前記下位アドレス生成ユニットが生成するキャリー信号に応答して前記上位アドレス生成ユニットが上位の内部コラムアドレスを順次生成し,
     前記走査方向データが前記第2の方向の場合に,前記アドレス生成ユニット制御回路は,クロックに応答して前記上位アドレス生成ユニットが上位の内部コラムアドレスを順次生成し,前記上位アドレス生成ユニットが生成するキャリー信号に応答して前記下位アドレス生成ユニットが下位の内部コラムアドレスを順次生成することを特徴とするメモリ装置。
  11.  請求項3において,
     前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,カウンタ制御信号に応答してカウント値を変更するカウンタ回路をそれぞれ有し,さらに,折り返し幅制御信号に応じて前記カウンタ回路のいずれかの桁の出力信号をキャリー信号として出力する下位折り返し幅設定回路と上位折り返し幅設定回路をそれぞれ有し,
     2つの方向にそれぞれ複数のメモリ単位領域を有する矩形領域をアクセスする場合,前記リードコマンドまたはライトコマンドと外部コラムアドレスとに応答して,前記下位または上位アドレス生成ユニットは,前記折り返し幅制御信号に応じて設定された折り返し幅で内部コラムアドレスの発生を繰り返すことを特徴とするメモリ装置。
  12.  請求項3記載のメモリ装置において,
     前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,カウンタ制御信号に応答してカウント値を変更するカウンタ回路をそれぞれ有し,
     さらに,前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,逆進制御信号に応答して,カウント初期値を反転して前記カウンタ回路に供給し,前記カウンタ回路のカウント値を反転して出力するゲート群を有することを特徴とするメモリ装置。
  13.  請求項1記載のメモリ装置において,
     前記アドレス生成ユニット制御回路は,前記走査方向制御信号が前記第1の方向の場合は,前記下位アドレス生成ユニットを優先して動作させて前記下位アドレスを順次変化させ,前記走査方向制御信号が前記第2の方向の場合は,前記上位アドレス生成ユニットを優先して動作させて前記上位アドレスを順次変化させ,前記走査方向制御信号が前記第1及び第2の方向とは異なる斜め方向の場合は,前記下位及び上位アドレス生成ユニットを並行して動作させて前記下位及び上位アドレスを並行して順次変化させることを特徴とするメモリ装置。
  14.  アドレスにより選択される複数のメモリ単位領域を有し,二次元配列データを前記複数のメモリ単位領域に記憶するメモリセルアレイと,
     外部アドレスを入力し,当該外部アドレスに基づいて前記メモリ単位領域を選択する内部アドレスを生成する内部アドレス制御部と,
     前記内部アドレスをデコードして前記メモリ単位領域を選択するデコーダとを有し,
     前記複数のメモリ単位領域は,前記内部アドレスの下位ビット群に基づいて前記二次元配列データの行列のうち第1の方向に配列されたデータを記憶し,前記アドレスの上位ビット群に基づいて前記二次元配列データの行列のうち第2の方向に配列されたデータを記憶し,
     前記内部アドレス制御部は,前記二次元配列データの少なくとも斜め方向を含む複数の走査方向を制御する走査方向制御信号に基づいて前記走査方向に対応する内部アドレスを順次生成することを特徴とするメモリ装置。
  15.  請求項1または14に記載のメモリ装置を制御するメモリコントローラにおいて,
     アクセス対象の矩形領域を規定する位置座標と縦横の長さと傾きとを入力し,前記走査方向制御信号を生成するバースト方向判定部と,
     制御コマンドを生成して前記メモリ装置に出力するコマンド発行部と,
     前記外部アドレスを生成して前記メモリ装置に出力するアドレス発行部とを有し,
     前記走査方向制御信号が前記メモリ装置に出力されることを特徴とするメモリコントローラ。
  16.  請求項15記載のメモリコントローラにおいて,
     前記バースト方向判定部は,前記縦横の長さのうちより長い縦または横の方向を走査方向とする前記走査方向制御信号を生成することを特徴とするメモリコントローラ。
PCT/JP2008/001702 2008-06-30 2008-06-30 メモリ装置及びそれを制御するメモリコントローラ WO2010001433A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN200880130151.1A CN102292774B (zh) 2008-06-30 2008-06-30 存储器装置以及控制该存储器装置的存储器控制器
JP2010518823A JP5126360B2 (ja) 2008-06-30 2008-06-30 メモリ装置及びそれを制御するメモリコントローラ
PCT/JP2008/001702 WO2010001433A1 (ja) 2008-06-30 2008-06-30 メモリ装置及びそれを制御するメモリコントローラ
EP08790101A EP2299449A1 (en) 2008-06-30 2008-06-30 Memory device and memory controller for controlling the same
KR20107029621A KR101226394B1 (ko) 2008-06-30 2008-06-30 메모리 장치
US12/981,075 US8493400B2 (en) 2008-06-30 2010-12-29 Memory device and memory control for controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/001702 WO2010001433A1 (ja) 2008-06-30 2008-06-30 メモリ装置及びそれを制御するメモリコントローラ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/981,075 Continuation US8493400B2 (en) 2008-06-30 2010-12-29 Memory device and memory control for controlling the same

Publications (1)

Publication Number Publication Date
WO2010001433A1 true WO2010001433A1 (ja) 2010-01-07

Family

ID=41465548

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/001702 WO2010001433A1 (ja) 2008-06-30 2008-06-30 メモリ装置及びそれを制御するメモリコントローラ

Country Status (6)

Country Link
US (1) US8493400B2 (ja)
EP (1) EP2299449A1 (ja)
JP (1) JP5126360B2 (ja)
KR (1) KR101226394B1 (ja)
CN (1) CN102292774B (ja)
WO (1) WO2010001433A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693751A (zh) * 2011-03-23 2012-09-26 海力士半导体有限公司 半导体存储装置的地址延迟电路
JP2019057349A (ja) * 2017-09-21 2019-04-11 東芝メモリ株式会社 半導体記憶装置

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5262741B2 (ja) * 2009-01-19 2013-08-14 パナソニック株式会社 色分布分析装置及び色分布分析方法
KR101927255B1 (ko) * 2011-12-27 2018-12-12 한국전자통신연구원 레지스터 윈도우 오버플로우/언더플로우 처리 장치
KR101975330B1 (ko) * 2012-04-06 2019-05-07 삼성전자주식회사 퓨즈 장치에 저장된 데이터를 리드하는 방법 및 이를 이용하는 장치들
US8942473B2 (en) * 2012-07-25 2015-01-27 Ko Hung Lin Image processing method and display apparatus
EP3061233B1 (en) 2013-10-25 2019-12-11 Microsoft Technology Licensing, LLC Representing blocks with hash values in video and image coding and decoding
EP3061253A1 (en) 2013-10-25 2016-08-31 Microsoft Technology Licensing, LLC Hash-based block matching in video and image coding
KR102166762B1 (ko) * 2013-12-26 2020-10-16 에스케이하이닉스 주식회사 메모리 및 이를 포함하는 메모리 시스템
US9507601B2 (en) * 2014-02-19 2016-11-29 Mediatek Inc. Apparatus for mutual-transposition of scalar and vector data sets and related method
WO2015131325A1 (en) * 2014-03-04 2015-09-11 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
US10368092B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
CN105706450B (zh) * 2014-06-23 2019-07-16 微软技术许可有限责任公司 根据基于散列的块匹配的结果的编码器决定
KR102358276B1 (ko) 2014-09-30 2022-02-04 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 코딩을 위한 해시 기반 인코더 결정
EP3018587B1 (en) * 2014-11-05 2018-08-29 Renesas Electronics Europe GmbH Memory access unit
KR20160112439A (ko) * 2015-03-19 2016-09-28 에스케이하이닉스 주식회사 반도체 메모리 장치 및 동작 방법
US9639649B2 (en) * 2015-08-18 2017-05-02 Kabushiki Kaisha Toshiba Semiconductor memory device, method for designing semiconductor memory device, and recording medium having designing method recorded therein
CN108431785B (zh) * 2016-01-25 2021-12-10 爱信艾达株式会社 存储器控制器
US10390039B2 (en) 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US10684955B2 (en) * 2017-04-21 2020-06-16 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations
US10956315B2 (en) 2018-07-24 2021-03-23 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access
KR101956180B1 (ko) 2018-10-30 2019-03-08 김경기 추진 분사식 해충 방제기 및 그를 구비하는 이류체 압축 방식의 추진 분사식 해충 방제시스템
JP6897885B2 (ja) * 2019-03-08 2021-07-07 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP7235389B2 (ja) * 2019-03-29 2023-03-08 ラピスセミコンダクタ株式会社 半導体記憶装置
US11348622B2 (en) * 2020-05-06 2022-05-31 Micron Technology, Inc. Conditional write back scheme for memory
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks
CN114388019B (zh) * 2022-01-14 2023-09-19 长鑫存储技术有限公司 存储器的检测方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02250132A (ja) * 1988-11-29 1990-10-05 Matsushita Electric Ind Co Ltd デュアルポートダイナミックメモリ
JPH0554657A (ja) 1991-08-21 1993-03-05 Fujitsu Ltd 半導体記憶装置
JPH05334426A (ja) 1992-06-04 1993-12-17 Anritsu Corp 画像データ記憶装置
JPH06243675A (ja) 1993-02-23 1994-09-02 Hitachi Ltd 半導体記憶装置およびその処理システム
JPH0896572A (ja) * 1994-09-27 1996-04-12 Matsushita Electric Ind Co Ltd 半導体メモリ及びその使用方法、カラムデコーダ並びに画像プロセッサ
JPH08190372A (ja) 1995-01-11 1996-07-23 Hitachi Ltd Vramおよびこれを用いた表示制御システム
JP2004192110A (ja) * 2002-12-09 2004-07-08 Sony Corp 半導体装置及び画像データ処理装置
JP2005116128A (ja) 2003-10-10 2005-04-28 Fujitsu General Ltd フレームメモリ回路
JP2006323604A (ja) * 2005-05-18 2006-11-30 Sony Corp データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP2006345415A (ja) 2005-06-10 2006-12-21 Alegria Kk 電話交換システム、電話交換方法、電話交換プログラム及び記録媒体
JP2007251865A (ja) * 2006-03-20 2007-09-27 Sony Corp 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
JP2008048178A (ja) * 2006-08-16 2008-02-28 Sony Corp 復号処理装置及び復号処理方法並びに復号処理プログラム
JP2008159131A (ja) 2006-12-22 2008-07-10 Fujitsu Ltd メモリ装置,メモリコントローラ及びメモリシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4387370A (en) * 1980-12-18 1983-06-07 Rca Corporation Apparatus for angularly scanning memory addresses
US5142637A (en) * 1988-11-29 1992-08-25 Solbourne Computer, Inc. Dynamic video RAM incorporating single clock random port control
JPH07113904B2 (ja) * 1990-04-11 1995-12-06 株式会社東芝 メモリ・アクセス装置
US5293540A (en) * 1991-07-29 1994-03-08 Nview Corporation Method and apparatus for merging independently generated internal video with external video
TW247359B (en) * 1993-08-30 1995-05-11 Hitachi Seisakusyo Kk Liquid crystal display and liquid crystal driver
KR100224807B1 (ko) * 1994-01-31 1999-10-15 윤종용 반도체 메모리장치 및 고속억세스 방법
US5973993A (en) * 1998-02-27 1999-10-26 Micron Technology, Inc. Semiconductor memory burst length count determination detector
GB2362473B (en) * 2000-05-18 2002-08-21 3Com Corp On-chip detector of clock glitches
JP4286192B2 (ja) * 2003-08-25 2009-06-24 オリンパス株式会社 画像処理装置及び画像処理方法
JP2008288946A (ja) * 2007-05-18 2008-11-27 Seiko Epson Corp アドレス生成装置及び撮像素子

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02250132A (ja) * 1988-11-29 1990-10-05 Matsushita Electric Ind Co Ltd デュアルポートダイナミックメモリ
JPH0554657A (ja) 1991-08-21 1993-03-05 Fujitsu Ltd 半導体記憶装置
JPH05334426A (ja) 1992-06-04 1993-12-17 Anritsu Corp 画像データ記憶装置
JPH06243675A (ja) 1993-02-23 1994-09-02 Hitachi Ltd 半導体記憶装置およびその処理システム
JPH0896572A (ja) * 1994-09-27 1996-04-12 Matsushita Electric Ind Co Ltd 半導体メモリ及びその使用方法、カラムデコーダ並びに画像プロセッサ
JPH08190372A (ja) 1995-01-11 1996-07-23 Hitachi Ltd Vramおよびこれを用いた表示制御システム
JP2004192110A (ja) * 2002-12-09 2004-07-08 Sony Corp 半導体装置及び画像データ処理装置
JP2005116128A (ja) 2003-10-10 2005-04-28 Fujitsu General Ltd フレームメモリ回路
JP2006323604A (ja) * 2005-05-18 2006-11-30 Sony Corp データアクセス装置、データアクセス方法、プログラムおよび記録媒体
JP2006345415A (ja) 2005-06-10 2006-12-21 Alegria Kk 電話交換システム、電話交換方法、電話交換プログラム及び記録媒体
JP2007251865A (ja) * 2006-03-20 2007-09-27 Sony Corp 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
JP2008048178A (ja) * 2006-08-16 2008-02-28 Sony Corp 復号処理装置及び復号処理方法並びに復号処理プログラム
JP2008159131A (ja) 2006-12-22 2008-07-10 Fujitsu Ltd メモリ装置,メモリコントローラ及びメモリシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693751A (zh) * 2011-03-23 2012-09-26 海力士半导体有限公司 半导体存储装置的地址延迟电路
JP2019057349A (ja) * 2017-09-21 2019-04-11 東芝メモリ株式会社 半導体記憶装置

Also Published As

Publication number Publication date
KR101226394B1 (ko) 2013-01-24
KR20110015030A (ko) 2011-02-14
US8493400B2 (en) 2013-07-23
US20110128810A1 (en) 2011-06-02
CN102292774A (zh) 2011-12-21
JP5126360B2 (ja) 2013-01-23
JPWO2010001433A1 (ja) 2011-12-15
EP2299449A1 (en) 2011-03-23
CN102292774B (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
JP5126360B2 (ja) メモリ装置及びそれを制御するメモリコントローラ
KR100864473B1 (ko) 메모리 장치, 메모리 컨트롤러 및 메모리 시스템
KR100873111B1 (ko) 메모리 장치, 메모리 컨트롤러 및 메모리 시스템
US8918589B2 (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
US7737986B2 (en) Methods and systems for tiling video or still image data
US6965980B2 (en) Multi-sequence burst accessing for SDRAM
US5850483A (en) Image decompressing apparatus with efficient image data transfer
JPH08307875A (ja) 画像メモリ装置および動きベクトル検出回路
JPH10283770A (ja) 半導体メモリ装置およびその読み出しおよび書き込み方法
EP2092759B1 (en) System for interleaved storage of video data
US8436865B2 (en) Memory controller and memory system using the same
US7088369B2 (en) Checkerboard buffer using two-dimensional buffer pages and using bit-field addressing
CN107204199B (zh) 半导体存储器装置及其地址控制方法
KR20040095795A (ko) 영상 데이터 처리 시스템 및 영상 데이터 독출/기입 방법
US20080044107A1 (en) Storage device for storing image data and method of storing image data
EP0959428B1 (en) Image processing apparatus, special effect apparatus and image processing method
US6819323B2 (en) Structure and method for gaining fast access to pixel data to store graphic image data in memory
JPH06189292A (ja) 動画像復号装置
JP2000330864A (ja) 同期式dramの制御方法
JP2012113597A (ja) メモリ装置、メモリ制御回路及びメモリ制御システム
CA2802666A1 (en) Image processing device
JP2008146235A (ja) 画像処理装置
JP4696515B2 (ja) メモリマッピング方法及びメモリインターフェイス回路

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880130151.1

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08790101

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010518823

Country of ref document: JP

REEP Request for entry into the european phase

Ref document number: 2008790101

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2008790101

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20107029621

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE