WO2013094388A1 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
WO2013094388A1
WO2013094388A1 PCT/JP2012/081111 JP2012081111W WO2013094388A1 WO 2013094388 A1 WO2013094388 A1 WO 2013094388A1 JP 2012081111 W JP2012081111 W JP 2012081111W WO 2013094388 A1 WO2013094388 A1 WO 2013094388A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
luminance data
memory
internal memory
Prior art date
Application number
PCT/JP2012/081111
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 US14/367,632 priority Critical patent/US9443319B2/en
Publication of WO2013094388A1 publication Critical patent/WO2013094388A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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 an image processing device, and more particularly to an image processing device that performs motion search with reference to a reference image stored in an external memory.
  • Patent Document 1 discloses an image processing apparatus according to the background art.
  • the image processing apparatus includes a frame memory configured by SDRAM (Synchronous Dynamic Random Access Memory) and a motion search unit connected to the frame memory.
  • the frame memory stores an encoding target image, a coarse search reference image, and a fine search reference image.
  • the reference image for rough search is created in advance by reduction processing and stored in the frame memory.
  • the motion search unit reads an image to be encoded and a reference image for coarse search from the frame memory, and performs a motion search using these images, thereby obtaining a motion vector as a result of the coarse search.
  • the motion search unit reads, from the frame memory, a reference image in the peripheral region of the motion vector among the reference images for dense search, and performs a motion search using the image to be encoded and the reference image.
  • a motion vector as a result of the dense search is obtained.
  • the frame memory is constituted by an SDRAM having a low operating speed. Therefore, there is a high possibility that a waiting time is generated when the motion search unit accesses the frame memory. As a result, there is a problem that the time required for motion search becomes longer as a whole.
  • the present invention has been made to solve such a problem, and an object thereof is to obtain an image processing apparatus capable of performing motion search at high speed with a simple configuration.
  • An image processing apparatus is an image processing apparatus that performs a motion search with reference to a first image stored in an external memory, and includes a second in a predetermined range in the first image.
  • a first internal memory for storing images, which can be accessed at a higher speed than the external memory, and a predetermined range of images in the second image are read from the first internal memory and used for rough search based on the images.
  • An image creation unit that creates the third image, a second internal memory that stores the third image created by the image creation unit and that is accessible at a higher speed than the external memory, and the second internal memory
  • a first search processing unit that reads the third image from the memory and performs a first motion search based on the third image, and a search result obtained by the first search processing unit in the second image
  • a fourth image in a predetermined range Read from the internal memory, and is characterized in further comprising a said second search processing unit that performs a detailed second motion search than searching the first motion on the basis of the fourth image.
  • the image creating unit creates the third image based on the image read from the first internal memory.
  • the first search processing unit performs the first motion search based on the third image read from the second internal memory.
  • the second search processing unit performs a second motion search based on the fourth image read from the first internal memory.
  • each of the first and second internal memories is a memory that can be accessed at a higher speed than the external memory. Therefore, compared with the case where the image creation unit, the first search processing unit, and the second search processing unit read an image from the external memory, the time required for reading is shortened, so that the motion search is performed at high speed as a whole. It becomes possible.
  • the image processing apparatus is the image processing apparatus according to the first aspect, in particular, a third internal memory accessible at a higher speed than the external memory, and the second search processing unit.
  • a transfer processing unit that reads out a fifth image in a predetermined range in the second image from the first internal memory based on the search result by the first image, and stores the fifth image in the third internal memory;
  • a third search processing unit that reads the fifth image from the internal memory and performs a third motion search that is more detailed than the second motion search based on the fifth image. To do.
  • the transfer processing unit stores the fifth image read from the first internal memory in the second internal memory.
  • the third search processing unit performs a third motion search based on the fifth image read from the third internal memory.
  • the third internal memory is a memory that can be accessed faster than the external memory. Therefore, compared with the case where the transfer processing unit and the third search processing unit read an image from the external memory, the time required for reading is shortened, so that the motion search as a whole can be performed at high speed.
  • the image processing apparatus is the image processing apparatus according to the first or second aspect, in which the second image includes luminance data and color difference data, and the unit of the first internal memory.
  • the storage area stores unit luminance data corresponding to luminance data of 8 columns ⁇ 2 rows in the pixel space or unit color difference data corresponding to color difference data of 8 columns ⁇ 4 rows in the pixel space. It is what.
  • the unit storage area of the first internal memory has unit luminance data corresponding to luminance data of 8 columns ⁇ 2 rows in the pixel space, or 8 columns in the pixel space.
  • Unit color difference data corresponding to the color difference data for 4 rows is stored. Accordingly, unit luminance data for 8 columns ⁇ 2 rows to be stored in the unit storage area of the second internal memory, and unit luminance data for 4 columns ⁇ 4 rows to be stored in the unit storage area of the third internal memory. Can be easily created based on the unit luminance data stored in the unit storage area of the first internal memory.
  • An image processing apparatus is the image processing apparatus according to the third aspect, in which the first internal memory has a plurality of memory banks, two in the column direction and two in the row direction.
  • the four unit luminance data arranged in four are stored in different memory banks.
  • the eight unit luminance data arranged in the column direction and in the row direction are stored in different memory banks of the first internal memory. Accordingly, these eight unit luminance data can be simultaneously written into the first internal memory and can be simultaneously read out from the first internal memory.
  • An image processing apparatus is the image processing apparatus according to the third or fourth aspect, in which the first internal memory has a plurality of memory banks, one in the column direction, and Eight unit luminance data arranged in the row direction are stored in different memory banks.
  • eight unit luminance data arranged in the column direction and eight in the row direction are stored in different memory banks of the first internal memory. Accordingly, these eight unit luminance data can be simultaneously written into the first internal memory and can be simultaneously read out from the first internal memory.
  • An image processing apparatus is the image processing apparatus according to any one of the third to fifth aspects, and in particular, the first internal memory has a plurality of memory banks, and is arranged in a column direction.
  • the eight unit color difference data arranged in a row and four in the row direction are stored in different memory banks.
  • eight unit color difference data arranged in the column direction and in the row direction are stored in different memory banks of the first internal memory. Accordingly, these eight unit color difference data can be simultaneously written into the first internal memory and simultaneously read out from the first internal memory.
  • the image processing device is the image processing device according to any one of the third to sixth aspects, and in particular, the first internal memory has a plurality of memory banks and is arranged in a column direction.
  • the four unit luminance data arranged in a row and four in the row direction, and the two unit color difference data arranged in the column direction and two in the row direction are stored in different memory banks. Is.
  • the image processing apparatus of the seventh aspect four unit luminance data arranged in the column direction and four in the row direction, and two unit color differences arranged in the column direction and two in the row direction. Data is stored in different memory banks of the first internal memory. Accordingly, the four unit luminance data and the two unit color difference data can be simultaneously written into the first internal memory and can be simultaneously read out from the first internal memory.
  • the image processing device is the image processing device according to any one of the third to seventh aspects, and in particular, the first internal memory has a plurality of memory banks and is arranged in the column direction.
  • the four unit luminance data arranged in a row and two in the row direction, and the two unit color difference data arranged in the column direction and one in the row direction are stored in different memory banks. Is.
  • the image processing apparatus of the eighth aspect four unit luminance data arranged in the column direction and two in the row direction, and two unit color differences arranged in the column direction and one in the row direction. Data is stored in different memory banks of the first internal memory. Accordingly, the four unit luminance data and the two unit color difference data can be simultaneously written into the first internal memory and can be simultaneously read out from the first internal memory.
  • the image processing apparatus is an image processing apparatus according to any one of the third to eighth aspects, particularly based on the position coordinates of the unit luminance data and the unit color difference data in the pixel space.
  • the first internal memory further includes a first address setting unit for setting a memory bank in which each unit luminance data and each unit color difference data is to be stored among a plurality of memory banks included in the first internal memory. is there.
  • the first address setting unit includes a plurality of memory banks included in the first internal memory based on the position coordinates of the unit luminance data and the unit color difference data in the pixel space.
  • a memory bank to store each unit luminance data and each unit color difference data is set. Therefore, each unit luminance data and each unit color difference data can be stored in an appropriate memory bank.
  • the image processing device is the image processing device according to the ninth aspect, in which the first address setting unit further includes position coordinates of unit luminance data and unit color difference data in the pixel space. Based on the above, an address in the memory bank for storing each unit luminance data and each unit color difference data is set.
  • the first address setting unit stores each unit luminance data and each unit color difference data based on the position coordinates of the unit luminance data and the unit color difference data in the pixel space. Set the address in the memory bank. Accordingly, each unit luminance data and each unit color difference data can be stored at an appropriate address in the memory bank.
  • the image processing apparatus is the image processing apparatus according to any one of the third to tenth aspects, and in particular, reading and writing of data with respect to the first internal memory is performed in a time division manner. It is characterized by being performed.
  • reading and writing of data with respect to the first internal memory are performed in a time division manner. Therefore, since the first internal memory can be configured using a single port RAM, the circuit scale can be reduced.
  • the image processing device is the image processing device according to any one of the third to eleventh aspects, and particularly sets the size of the second image in the row direction in units of a predetermined number of rows.
  • one or a plurality of the second images can be stored in the first internal memory.
  • one or a plurality of second images are stored in the first internal memory by setting the size of the second image in the row direction in units of a predetermined number of rows. Is possible. Therefore, not only a motion search using one reference image but also a motion search using a plurality of reference images can be performed.
  • the image processing device is the image processing device according to any one of the third to twelfth aspects, particularly within a period during which a motion search for a certain current macroblock is performed.
  • luminance data and color difference data of an area necessary for processing for the next current macroblock are written in the first internal memory.
  • luminance data of a region required in processing for the next current macroblock within a period in which motion search for a certain current macroblock is performed is written to the first internal memory. Therefore, after the motion search for a certain current macroblock is completed, the process for the next current macroblock can be started without delay.
  • An image processing device is the image processing device according to any one of the third to thirteenth aspects, and in particular, the image creation unit is arranged in a column direction in the first internal memory.
  • One unit luminance data of 8 columns ⁇ 2 rows in the pixel space is created based on four unit luminance data arranged in two and two in the row direction, and the unit luminance data is stored in the second internal memory. It is characterized by being stored in the unit storage area.
  • the image creation unit is configured to generate a pixel space based on the four unit luminance data arranged in the column direction and in the row direction in the first internal memory.
  • One unit luminance data of 8 columns ⁇ 2 rows is created. Therefore, it is possible to easily create a reduced image obtained by reducing the image stored in the first internal memory to 1 ⁇ 4.
  • An image processing device is the image processing device according to the fourteenth aspect, in which the second internal memory has a plurality of memory banks, two in the column direction and two in the row direction.
  • the four unit luminance data arranged in four are stored in different memory banks.
  • eight unit luminance data arranged in the column direction and four in the row direction are stored in different memory banks of the second internal memory. Accordingly, these eight unit luminance data can be simultaneously written into the second internal memory and can be simultaneously read out from the first internal memory.
  • the image processing device is the image processing device according to the fourteenth or fifteenth aspect, in which the second internal memory has a plurality of memory banks, one in the column direction and Eight unit luminance data arranged in the row direction are stored in different memory banks.
  • eight unit luminance data arranged in the column direction and eight in the row direction are stored in different memory banks of the second internal memory. Accordingly, these eight unit luminance data can be simultaneously written into the second internal memory and can be simultaneously read out from the first internal memory.
  • the image processing apparatus is the image processing apparatus according to any one of the fourteenth to sixteenth aspects, particularly based on the position coordinates of the unit luminance data in the pixel space.
  • a second address setting unit for setting a memory bank in which each unit luminance data is to be stored among the plurality of memory banks included in the internal memory.
  • the second address setting unit is configured to select each of the plurality of memory banks included in the second internal memory based on the position coordinates of the unit luminance data in the pixel space.
  • a memory bank in which unit luminance data is to be stored is set. Accordingly, each unit luminance data can be stored in an appropriate memory bank.
  • the image processing device is the image processing device according to the seventeenth aspect, in which the second address setting unit is further based on the position coordinates of the unit luminance data in the pixel space.
  • An address in a memory bank for storing each unit luminance data is set.
  • the second address setting unit sets an address in the memory bank that stores each unit luminance data based on the position coordinates of the unit luminance data in the pixel space. Accordingly, each unit luminance data can be stored at an appropriate address in the memory bank.
  • An image processing device is the image processing device according to any one of the fourteenth to eighteenth aspects, and in particular, reading and writing of data with respect to the second internal memory is performed in a time-sharing manner. It is characterized by being performed.
  • reading and writing of data with respect to the second internal memory are performed in a time division manner. Therefore, since the second internal memory can be configured using a single port RAM, the circuit scale can be reduced.
  • the image processing device is the image processing device according to any one of the fourteenth to nineteenth aspects, and particularly sets the size of the third image in the row direction in units of a predetermined number of rows.
  • one or a plurality of the third images can be stored in the second internal memory.
  • the image processing device of the twentieth aspect by setting the size of the third image in the row direction in units of a predetermined number of rows, one or more third images are stored in the second internal memory. Is possible. Therefore, not only a motion search using one reference image but also a motion search using a plurality of reference images can be performed.
  • the image processing apparatus is the image processing apparatus according to any one of the fourteenth to twentieth aspects, particularly during a period in which a motion search for a certain current macroblock is being performed.
  • luminance data of an area necessary for processing for the next current macroblock is written in the second internal memory.
  • the luminance data of the area required in the processing for the next current macroblock within the period in which the motion search for the certain current macroblock is performed. are written into the second internal memory. Therefore, after the motion search for a certain current macroblock is completed, the process for the next current macroblock can be started without delay.
  • An image processing device is the image processing device according to any one of the third to twenty-first aspects, and in particular, the transfer processing unit is arranged in the column direction in the first internal memory.
  • Two unit luminance data for four columns ⁇ four rows in the pixel space are generated based on two unit luminance data for eight columns ⁇ two rows arranged in one row and two rows, and the unit luminance data Is stored in the unit storage area of the third internal memory.
  • the transfer processing unit is configured to store in the pixel space based on the two unit luminance data arranged in the column direction and in the row direction in the first internal memory. Two unit luminance data of 4 columns ⁇ 4 rows are generated. Therefore, it is possible to easily convert the unit luminance data for 8 columns ⁇ 2 rows into the unit luminance data for 4 columns ⁇ 4 rows.
  • An image processing device is the image processing device according to the twenty-second aspect, in which the third internal memory has a plurality of memory banks, and four in the column direction and in the row direction. The four 16 pieces of unit luminance data are stored in different memory banks.
  • the 16 unit luminance data arranged in the column direction and in the row direction are stored in different memory banks of the third internal memory. Accordingly, these 16 unit luminance data can be simultaneously written into the third internal memory and simultaneously read out from the third internal memory.
  • the third internal memory is based on the position coordinates of the unit luminance data in the pixel space.
  • a third address setting unit is further provided for setting a memory bank in which each unit luminance data is to be stored among the plurality of memory banks.
  • the third address setting unit is configured to select each of the plurality of memory banks included in the third internal memory based on the position coordinates of the unit luminance data in the pixel space.
  • a memory bank in which unit luminance data is to be stored is set. Accordingly, each unit luminance data can be stored in an appropriate memory bank.
  • the image processing device is the image processing device according to the twenty-fourth aspect, in which the third address setting unit is further based on the position coordinates of the unit luminance data in the pixel space, An address in a memory bank for storing each unit luminance data is set.
  • the third address setting unit sets an address in the memory bank for storing each unit luminance data based on the position coordinates of the unit luminance data in the pixel space. . Accordingly, each unit luminance data can be stored at an appropriate address in the memory bank.
  • An image processing device is the image processing device according to any one of the twenty-third to twenty-fifth aspects, and in particular, the plurality of memory banks included in the third internal memory include the first memory bank.
  • a plurality of memory banks belonging to the set and a plurality of memory banks belonging to the second set are included, and reading and writing of data with respect to each of the first set and the second set are performed in a time-sharing manner. It is what.
  • the third internal memory can be configured using a single-port RAM, so that the circuit scale can be reduced.
  • the image processing apparatus is the image processing apparatus according to the twenty-sixth aspect, in particular, the first set and the second set for performing a motion search for a certain current macroblock. Data necessary for performing a motion search for the next current macroblock is written to the other of the first set and the second set within a period in which data is read from one side. It is characterized by.
  • the image processing device of the twenty-seventh aspect in order to perform motion search for a certain current macroblock, the following is performed within a period in which data is read from one of the first set and the second set. Data necessary for performing motion search for the current macroblock is written in the other of the first set and the second set. Therefore, after the motion search for a certain current macroblock is completed, the process for the next current macroblock can be started without delay.
  • the image processing device is the macroblock part mode included in the search result by the second search processing unit, particularly in the image processing device according to any one of the twenty-second to twenty-seventh aspects. Accordingly, a predetermined number of unit luminance data is stored in the third internal memory.
  • a predetermined number of unit luminance data is stored in the third internal memory in accordance with the macroblock part mode included in the search result by the second search processing unit. Therefore, the motion search by the third search processing unit can be appropriately performed according to the macroblock part mode.
  • An image processing device is the image processing device according to any one of the twenty-second to twenty-eighth aspects, in particular, the third internal memory has a current macroblock in the pixel space. Based on the position, a reference image for Skip / Direct vector and a reference image for (0,0) vector are further stored.
  • the third internal memory further stores a reference image for Skip / Direct vector and a reference image for (0, 0) vector. Accordingly, it is possible to improve the accuracy of motion search by the third search processing unit.
  • FIG. 1 shows the structure of the encoder which concerns on embodiment of this invention. It is a figure which shows the internal structure of the motion search part shown in FIG. It is a figure which shows the structure of LSRAM. It is a figure which shows the 1st example of the image stored in LSRAM. It is a figure which shows the 2nd example of the image stored in LSRAM. It is a figure for demonstrating the arrangement
  • FIG. 10 is a diagram showing the luminance data shown in FIG. 8 and the color difference data shown in FIG. 9 side by side. It is a figure for demonstrating the setting method of the bank index of the luminance data by an address generation part. It is a figure for demonstrating the setting method of the bank index of the color difference data by an address generation part. It is a figure for demonstrating the update rule of the image data written in LSRAM from a frame memory. It is a figure for demonstrating the update rule of the image data written in LSRAM from a frame memory. It is a figure for demonstrating the update rule of the image data written in LSRAM from a frame memory. It is a figure for demonstrating the update rule of the image data written in LSRAM from a frame memory. It is a figure for demonstrating the update rule of the image data written in LSRAM from a frame memory. It is a figure for demonstrating the update rule of the image data written in LSRAM from a frame memory.
  • FIG. 1 is a diagram showing a configuration of an encoder 1 according to an embodiment of the present invention.
  • the encoder 1 is H.264.
  • the image processing apparatus is compliant with the H.264 standard and is connected to a frame memory 2 as an external memory.
  • the frame memory 2 is composed of, for example, a DRAM (Dynamic Random Access Memory) and can store one or a plurality of reference images.
  • the encoder 1 includes a motion search unit 4, a motion compensation unit 5, a deblocking filter 6, a processing unit 7, and an entropy encoding unit 8.
  • the processing unit 7 performs processing such as orthogonal transformation, quantization, and inverse quantization.
  • FIG. 2 is a diagram showing an internal configuration of the motion search unit 4 shown in FIG.
  • the motion search unit 4 includes three SRAMs (Static Random Access Memory) as internal memories.
  • the three SRAMs are referred to as “LSRAM 11”, “MSRAM 13”, and “SSRAM 17”, respectively, for easy discrimination.
  • the LSRAM 11, MSRAM 13, and SSRAM 17 can be accessed at a higher speed than the frame memory 2.
  • the motion search unit 4 includes an image creation unit 12, search processing units 14, 15, and 18, and a transfer processing unit 16.
  • the LSRAM 11 is written with a predetermined range of luminance and color difference images (second image) in the reference image (first image) stored in the frame memory 2 by DMA (Direct Memory Access) control.
  • the image creation unit 12 reads out an image having a predetermined range of luminance in the second image from the LSRAM 11, and creates a reduced image (third image) for coarse search by performing a 1/4 resize process on the image. To do.
  • the third image created by the image creation unit 12 is stored in the MSRAM 13.
  • the search processing unit 14 reads the third image from the MSRAM 13 and performs a motion search (reduced pixel search) based on the third image.
  • the result of the reduced pixel search by the search processing unit 14 is input to the search processing unit 15.
  • the search processing unit 15 reads an image having a predetermined range of luminance (fourth image) in the second image from the LSRAM 11, and based on the fourth image, the search processing unit 15 is more detailed than the reduced pixel search.
  • a motion search (integer precision pixel search) is performed.
  • the result of the integer precision pixel search by the search processing unit 15 is input to the transfer processing unit 16 and the search processing unit 18.
  • the transfer processing unit 16 reads an image having a predetermined range of luminance (fifth image) in the second image from the LSRAM 11 and stores the fifth image in the SSRAM 17.
  • the search processing unit 18 reads the fifth image from the SSRAM 17 and performs a motion search (decimal accuracy pixel search) that is more detailed than the integer accuracy pixel search based on the fifth image. In addition, the search processing unit 18 reads a complementary color difference image from the LSRAM 11. Note that the reduced pixel search by the search processing unit 14, the integer accuracy pixel search by the search processing unit 15, and the decimal accuracy pixel search by the search processing unit 18 are executed by macroblock pipeline processing.
  • FIG. 3 is a diagram showing the configuration of the LSRAM 11.
  • the LSRAM 11 is divided into a plurality of memory banks.
  • the LSRAM 11 is composed of a total of eight memory banks, ie, a 0th bank 220 to a seventh bank 227.
  • an input / output interface 21 having an address generation unit 23 is connected to each memory bank.
  • the LSRAM 11 is an image writing operation from the frame memory 2, an image reading operation to the image creating unit 12, an image reading operation to the search processing unit 15, an image reading operation to the transfer processing unit 16, and a search processing unit.
  • the image reading operation to 18 is switched in a time division manner and executed. Different memory banks can be accessed at the same time, and the number of divisions of the memory banks is set to a number that can execute the write operation and read operation in these time divisions without delay.
  • FIG. 4 is a diagram illustrating a first example of an image stored in the LSRAM 11.
  • the LSRAM 11 stores 1920 columns ⁇ 160 rows of image data (luminance data and color difference data) out of the 1920 columns ⁇ 1080 rows of the reference image 30.
  • the storage area 36 includes a search window 32 centered on the current macroblock 31, an overlap area 33 corresponding to the delay of the macroblock pipeline process, and a resizing process of an image used in the next macroblock processing time.
  • the necessary update area 34 is included.
  • An area 35 is image data written from the frame memory 2 to the LSRAM 11 in preparation for updating the current macroblock.
  • FIG. 5 is a diagram illustrating a second example of an image stored in the LSRAM 11.
  • the height (size in the row direction) of the search window 32 can be arbitrarily set in units of 8 rows with a maximum value of 160 rows. Therefore, when there are a plurality of reference images (two reference images 301 and 302 in the example of FIG. 5), the height of the search window 32 is set according to the number of the reference images, so The storage area 361 and the storage area 362 in the reference image 302 can be stored in the LSRAM 11.
  • FIG. 6 is a diagram for explaining an arrangement rule for luminance data stored in the LSRAM 11.
  • 6A shows a pixel space of 16 columns ⁇ 4 rows in the image
  • FIG. 6B shows a storage area for four words in the LSRAM 11 (that is, four unit storage areas). Show.
  • the unit storage area of the LSRAM 11 stores unit luminance data (hereinafter referred to as “8 ⁇ 2 pack words”) corresponding to luminance data of 8 columns ⁇ 2 rows in the pixel space. Since each luminance data is 8 bits in the example of the present embodiment, each 8 ⁇ 2 packed word and one word of the LSRAM 11 is 128 bits.
  • FIG. 7 is a diagram for explaining the arrangement rule of the color difference data stored in the LSRAM 11.
  • 7A shows a pixel space of 16 columns ⁇ 4 rows in the image
  • FIG. 7B shows a storage area for two words in the LSRAM 11 (that is, two unit storage areas). Show.
  • unit color difference data corresponding to color difference data for 8 columns ⁇ 4 rows in the pixel space is stored in the unit storage area of the LSRAM 11.
  • FIG. 8 is a diagram for explaining the distribution of the luminance data in the LSRAM 11 to the memory banks.
  • FIG. 8 shows 64 8 ⁇ 2 packed words included in a pixel space of 32 columns ⁇ 32 rows.
  • the numbers in the figure represent bank indexes assigned to the memory banks of the 0th bank 220 to the seventh bank 227.
  • any eight unit luminance data arranged in the column direction and eight in the row direction are stored in different memory banks.
  • Any eight unit luminance data arranged in a row and four in the row direction are stored in different memory banks.
  • FIG. 9 is a diagram for explaining the distribution of the color difference data in the LSRAM 11 to the memory banks.
  • FIG. 9 shows 32 8 ⁇ 2 packed words included in a pixel space of 32 columns ⁇ 32 rows corresponding to luminance. The numbers in the figure represent bank indexes. As shown in FIG. 9, by assigning the color difference data to each memory bank, any eight unit color difference data arranged in the column direction and four in the row direction are stored in different memory banks.
  • FIG. 10 is a diagram showing the luminance data shown in FIG. 8 and the color difference data shown in FIG. 9 side by side.
  • Eight unit luminance data (one in the column direction ⁇ 8 in the row direction) included in the region R1 can be read or written to the LSRAM 11 at the same time. Further, the eight unit luminance data (2 in the column direction ⁇ 4 in the row direction) included in the region R2 can be simultaneously read or written to the LSRAM 11. Further, the eight unit color difference data (2 in the column direction ⁇ 4 in the row direction) included in the region R3 can be simultaneously read or written to the LSRAM 11.
  • the four unit luminance data (2 in the column direction ⁇ 2 in the row direction) and two unit color difference data (2 in the column direction ⁇ 1 in the row direction) included in the region R4 are stored in the LSRAM 11 Can be read or written simultaneously.
  • the four unit luminance data (1 in the column direction ⁇ 4 in the row direction) and the two unit color difference data (1 in the column direction ⁇ 2 in the row direction) included in the region R5 are the LSRAM 11 Can be read or written simultaneously.
  • FIG. 11 is a diagram for explaining a method for setting a bank index of luminance data by the address generation unit 23.
  • the address generation unit 23 sets the bank index of each pack word based on the column direction coordinate (x coordinate) and the row direction coordinate (y coordinate) in the pixel space in the pixel space.
  • “%” means an operation for obtaining a remainder.
  • FIG. 12 is a diagram for explaining a method of setting the bank index of the color difference data by the address generation unit 23.
  • the address generation unit 23 sets an address (bank address BA) in the memory bank for storing each pack word based on the x coordinate and the y coordinate in pack word units in the pixel space.
  • FIGS. 13 to 16 are diagrams for explaining an update rule for image data written from the frame memory 2 to the LSRAM 11. Image data of an area necessary for processing for the next current macroblock is written from the frame memory 2 to the LSRAM 11 within a period in which motion search for the current current macroblock is performed.
  • the current macroblock 31 is located at the upper left corner of the reference image 30.
  • image data in an overlapping range (a hatched area) between the search window 32 and the reference image 30 is written from the frame memory 2 to the LSRAM 11.
  • the image data of the area 35 corresponding to one macro block in contact with the lower right corner of the search window 32 is Data is written from the memory 2 to the LSRAM 11.
  • FIG. 17 is a diagram showing the configuration of the MSRAM 13.
  • the MSRAM 13 is divided into a plurality of memory banks.
  • the MSRAM 13 is composed of a total of eight memory banks, ie, a 0th bank 420 to a seventh bank 427.
  • an input / output interface 41 having an address generation unit 43 is connected to each memory bank.
  • the MSRAM 13 switches the image writing operation from the image creating unit 12 and the image reading operation to the search processing unit 14 in a time-sharing manner. Different memory banks can be accessed at the same time, and the number of divisions of the memory banks is set to a number that can execute the write operation and read operation in these time divisions without delay.
  • FIG. 18 is a diagram illustrating a first example of an image stored in the MSRAM 13. As shown as a thick line storage area 51 in the figure, the MSRAM 13 stores luminance data obtained by reducing the images in the search window 32 and the update area 34 to 1 ⁇ 4 (1/2 in each direction of row and column).
  • the MSRAM 13 stores luminance data obtained by reducing the images in the search window 32 and the update area 34 to 1 ⁇ 4 (1/2 in each direction of row and column).
  • FIG. 19 is a diagram illustrating a second example of an image stored in the MSRAM 13.
  • the height of the search window 32 can be arbitrarily set in units of four lines with the maximum value being 80 lines. Therefore, when there are a plurality of reference images (two reference images 301 and 302 in the example of FIG. 19), the height of the search window 32 is set according to the number of the reference images, so The storage area 511 and the storage area 512 in the reference image 302 can be stored in the MSRAM 13.
  • FIG. 20 is a diagram showing image resizing processing by the image creating unit 12.
  • the image creating unit 12 reads four 8 ⁇ 2 packed words arranged in the pixel space with two in the column direction and two in the row direction from the LSRAM 11, and these four 8 ⁇ 2 packs. By performing processing such as filtering or pixel thinning on the word, one 8 ⁇ 2 packed word reduced to 1 ⁇ 4 is created. Then, the created 8 ⁇ 2 packed word is stored in the unit storage area of the MSRAM 13.
  • FIG. 21 is a diagram for explaining the distribution of the luminance data in the MSRAM 13 to the memory banks.
  • FIG. 21 shows 64 8 ⁇ 2 packed words included in a pixel space of 32 columns ⁇ 32 rows.
  • the numbers in the figure represent bank indexes assigned to the memory banks of the 0th bank 420 to the seventh bank 427.
  • the address generation unit 43 sets the bank index of each pack word based on the x coordinate and y coordinate in pack word units in the pixel space.
  • any eight unit luminance data arranged in the column direction and eight in the row direction are stored in different memory banks.
  • Any eight unit luminance data arranged in a row and four in the row direction are stored in different memory banks.
  • FIG. 22 is a diagram showing the luminance data shown in FIG. Eight unit luminance data (1 in the column direction ⁇ 8 in the row direction) included in the region R11 can be read or written to the MSRAM 13 simultaneously. Further, the eight unit luminance data (2 in the column direction ⁇ 4 in the row direction) included in the region R12 can be simultaneously read or written to the MSRAM 13.
  • the address generation unit 43 sets a bank address BA in a memory bank for storing each pack word based on the x coordinate and the y coordinate in pack word units in the pixel space.
  • FIG. 23 is a diagram showing a setting example of the bank address BA in the MSRAM 13.
  • FIG. 23 shows 64 8 ⁇ 2 packed words similar to FIG. The numbers in the figure represent the bank address BA.
  • FIGS. 24 to 28 are diagrams for explaining an update rule for image data written from the image creation unit 12 to the MSRAM 13. Image data of an area necessary for processing for the next current macroblock is written from the image creation unit 12 to the MSRAM 13 during a period in which motion search for the current current macroblock is performed.
  • the current macroblock 31 is located at the upper left corner of the reference image 30.
  • image data of an overlapping range (a hatched area) between the search window 32 and the reference image 30 is written from the image creation unit 12 to the MSRAM 13.
  • the image data in the region 34 that is in contact with the right side of the search window 32 is transferred from the image creation unit 12 to the MSRAM 13. Written.
  • FIG. 29 is a diagram showing the configuration of the SSRAM 17.
  • the SSRAM 17 is divided into a plurality of memory banks.
  • the total of the 0th bank 720 to 15th bank 72f belonging to the first set 74 and the 0th bank 730 to 15th bank 73f belonging to the second set 75 is the total. It is composed of 32 memory banks.
  • Each of the first set 74 and the second set 75 switches the image writing operation from the transfer processing unit 16 and the image reading operation to the search processing unit 18 by switching in a time division manner. Different memory banks can be accessed at the same time, and the number of divisions of the memory banks is set to a number that can execute the write operation and read operation in these time divisions without delay.
  • Writing image data to the 0th bank 720 to the 15th bank 72f belonging to the first set 74 and reading image data from the 0th bank 730 to the 15th bank 73f belonging to the second set 75 are performed simultaneously. Is possible. Similarly, reading of image data from the 0th bank 720 to the 15th bank 72f belonging to the first set 74 and writing of image data to the 0th bank 730 to the 15th bank 73f belonging to the second set 75 are performed. It is possible to do it at the same time.
  • the search processing unit 18 targets the subsequent second current macroblock during the period in which the reference image is read from the memory bank of the first set 74.
  • the reference image used in the motion search is written from the transfer processing unit 16 to the memory bank of the second set 75.
  • the search processing unit 18 reads a subsequent third current macroblock within a period during which the reference image is read from the memory bank of the second set 75.
  • the reference image used in the target motion search is written from the transfer processing unit 16 to the memory bank of the first set 74.
  • Each memory bank has a storage area for 32 words, the first 16 words are used for storing image data for forward prediction, and the last 16 words are used for storing image data for backward prediction.
  • an input / output interface 71 having an address generation unit 76 is connected to each memory bank.
  • FIG. 30 is a diagram illustrating an example of an image stored in the SSRAM 17.
  • the SSRAM 17 stores the luminance data of the reference macro block 81 and its surrounding storage area 82.
  • the reference macroblock 81 is a macroblock indicated by a motion vector MV obtained as a result of integer precision pixel search by the search processing unit 15.
  • the search processing unit 15 is a macro block part mode 1 using one block of 16 columns ⁇ 16 rows, a macro block part mode 2 using two blocks of 16 columns ⁇ 8 rows, and a block of 8 columns ⁇ 16 rows.
  • a motion search is performed for each of the macroblock part mode 3 using two blocks and the macroblock part mode 4 using four blocks of 4 columns ⁇ 4 rows, and the motion vector of one mode having the highest similarity among them. Is output as a search result.
  • the storage area 82 is one, and the motion vector of the macro block part mode 2 or the macro block part mode 3 is included.
  • the SSRAM 17 stores a reference image for a Skip / Direct vector and a reference image for a (0,0) vector.
  • the Skip / Direct vector is H.264. It is a general term for motion vectors in Skip / Direct macroblock mode defined in the H.264 standard, and is generated based on information about a plurality of blocks adjacent to the current macroblock.
  • the (0,0) vector is a motion vector of a macroblock at the same position as the current macroblock in the reference image.
  • FIG. 31 is a diagram showing pack word conversion by the transfer processing unit 16.
  • the transfer processing unit 16 transfers pixel data from the LSRAM 11 to the SSRAM 17
  • an 8 ⁇ 2 packed word corresponding to luminance data for 8 columns ⁇ 2 rows in the pixel space is stored in the pixel space.
  • Unit luminance data (hereinafter referred to as “4 ⁇ 4 pack words”) corresponding to luminance data of 4 columns ⁇ 4 rows is converted.
  • 4 ⁇ 4 pack words Unit luminance data corresponding to luminance data of 4 columns ⁇ 4 rows
  • two 8 ⁇ 2 packed words arranged in the column direction and two in the row direction are read from the LSRAM 11, and the boundary between the two packed words is changed to change the pixel space.
  • two 4 ⁇ 4 packed words arranged in the column direction and one in the row direction are converted.
  • each created 4 ⁇ 4 packed word is stored in the unit storage area of the SSRAM 17.
  • FIG. 32 is a diagram for explaining distribution of luminance data to the memory bank in the SSRAM 17.
  • FIG. 32 shows 256 4 ⁇ 4 packed words included in a pixel space corresponding to 64 columns ⁇ 64 rows.
  • the number on the left side of the frame represents the bank index BI, and the number on the right side represents the bank address BA.
  • a set of storage areas for 16 words in 16 memory banks is a group whose bank address BA is “0” “1” “2” “4” “5” “6” “8” “9” “a” G1, a group G2 whose bank address BA is “3” “7” “b” “c”, a group G3 whose bank address BA is “d”, and a bank address BA “e” “f” It is classified into group G4.
  • the group G1 stores reference images for decimal pixel search based on the result of integer pixel search by the search processing unit 15.
  • a reference image for Skip / Direct vector is stored.
  • the group G3 stores (0, 0) vector reference images.
  • the group G4 is a spare area that is not used.
  • the address generation unit 76 sets a bank index BI and a bank address BA where each pack word is to be stored based on the x coordinate and y coordinate in pack word units in the pixel space. As shown in FIG. 32, by distributing the luminance data to each memory bank, arbitrary 16 unit luminance data arranged in the column direction and four in the row direction are stored in different memory banks.
  • FIG. 33 is a diagram showing the luminance data shown in FIG. Arbitrary 16 unit luminance data (4 in the column direction ⁇ 4 in the row direction) included in the region R21 in the group G1 can be simultaneously read or written to the SSRAM 17. Similarly, any 16 unit luminance data included in the region R22 in the group G2 and 16 unit luminance data included in the region R23 in the group G3 can be simultaneously read or written to the SSRAM 17. is there.
  • 34 to 39 are diagrams each showing a storage area of the reference image in the SSRAM 17.
  • FIG. 34 shows an example in which the motion vector of the macro block part mode 1 is included in the search result by the search processing unit 15.
  • an integer accuracy image with a size of 21 columns ⁇ 21 rows is required. Since 4 columns ⁇ 4 rows of pixel data are stored in one word, if there are 6 storage areas in the column direction and 6 storage areas in the row direction, the size of 21 columns ⁇ 21 rows from any coordinate position An integer precision image can be obtained.
  • the reference image is stored in a storage area corresponding to 7 in the column direction and 7 in the row direction indicated by a thick line in the figure.
  • the search processing unit 18 reads the reference image from the SSRAM 17 by reading the pixel data in units of 13 columns ⁇ 13 rows four times with respect to the reference image storage area.
  • a motion search is performed on a block of 16 columns ⁇ 16 rows, each block of 16 columns ⁇ 8 rows, 8 columns ⁇ 16 rows, and 8 columns ⁇ 8 rows inherent in the block of 16 columns ⁇ 16 rows is used.
  • motion search in each of the macro block part mode 1, the macro block part mode 2, the macro block part mode 3, and the macro block part mode 4 is also performed.
  • FIG. 35 shows an example in which the motion vector of the macroblock part mode 2 is included in the search result by the search processing unit 15.
  • an integer accuracy image with a size of 21 columns ⁇ 13 rows is required. Since 4 columns ⁇ 4 rows of pixel data are stored in one word, if there are 6 storage regions in the column direction and 4 storage regions in the row direction, the size of 16 columns ⁇ 8 rows from any coordinate position An integer precision image can be obtained.
  • the reference images are stored in two storage areas of 7 in the column direction and 5 in the row direction indicated by the thick line in the drawing.
  • the search processing unit 18 reads the reference image from the SSRAM 17 by reading the pixel data in units of 13 columns ⁇ 13 rows twice for each of the two storage areas of the reference image.
  • macro block part mode is performed by evaluating each block of 8 columns ⁇ 8 rows inherent in the block of 16 columns ⁇ 8 rows.
  • the motion search in each mode of 2 and macroblock part mode 4 is also performed.
  • FIG. 36 shows an example in which the motion vector of the macro block part mode 3 is included in the search result by the search processing unit 15.
  • an integer accuracy image with a size of 13 columns ⁇ 21 rows is required. Since 4 columns ⁇ 4 rows of pixel data are stored in one word, if there are 4 storage regions in the column direction and 6 storage regions in the row direction, the size of 8 columns ⁇ 16 rows from any coordinate position An integer precision image can be obtained.
  • the reference images are stored in two storage areas of 5 in the column direction and 7 in the row direction indicated by the bold lines in the drawing.
  • the search processing unit 18 reads the reference image from the SSRAM 17 by reading the pixel data in units of 13 columns ⁇ 13 rows twice for each of the two storage areas of the reference image.
  • the macro block part mode is evaluated by evaluating each block of 8 columns ⁇ 8 rows inherent in the block of 8 columns ⁇ 16 rows.
  • the motion search in each mode of 3 and macroblock part mode 4 is also performed.
  • FIG. 37 shows an example in which the motion vector of the macro block part mode 4 is included in the search result by the search processing unit 15.
  • an integer accuracy image with a size of 13 columns ⁇ 13 rows is required. Since 4 columns ⁇ 4 rows of pixel data are stored in one word, if there are 4 storage regions in the column direction and 4 storage regions in the row direction, the size of 8 columns ⁇ 8 rows from any coordinate position An integer precision image can be obtained.
  • the reference images are stored in four storage areas of 5 in the column direction and 5 in the row direction indicated by the bold lines in the drawing.
  • the search processing unit 18 reads the reference image from the SSRAM 17 by reading the pixel data in units of 13 columns ⁇ 13 rows once for each of the four storage areas of the reference image. Then, a motion search in the macro block part mode 4 is performed on each block of 8 columns ⁇ 8 rows.
  • FIG. 38 shows the storage area of the reference image for Skip / Direct vector.
  • an integer accuracy image with a size of 21 columns ⁇ 21 rows is required. Since 4 columns ⁇ 4 rows of pixel data are stored in one word, if there are 6 storage areas in the column direction and 6 storage areas in the row direction, the size of 21 columns ⁇ 21 rows from any coordinate position An integer precision image can be obtained. Therefore, the reference image is stored in a storage area of 6 in the column direction indicated by the bold line in the figure ⁇ 6 in the row direction.
  • FIG. 39 shows the storage area for the (0,0) vector reference image.
  • the reference image is stored in a storage area corresponding to 4 columns in the column direction and 4 rows in the row direction shown in the figure.
  • the image creation unit 12 creates a reduced image for rough search based on the image read from the LSRAM 11.
  • the search processing unit 14 performs a reduced pixel search based on the reduced image read from the MSRAM 13.
  • the search processing unit 15 performs an integer precision pixel search based on the image read from the LSRAM 11.
  • both the LSRAM 11 and the MSRAM 13 are memories accessible at a higher speed than the frame memory 2. Accordingly, compared with the case where the image creation unit 12, the search processing unit 14, and the search processing unit 15 read out an image from the frame memory 2, the time required for reading is shortened, so that the motion search can be performed at high speed as a whole. It becomes possible.
  • the transfer processing unit 16 stores the image read from the LSRAM 11 in the SSRAM 17.
  • the search processing unit 18 performs a decimal precision pixel search based on the image read from the SSRAM 17.
  • the SSRAM 17 is a memory that can be accessed at a higher speed than the frame memory 2. Therefore, compared with the case where the transfer processing unit 16 and the search processing unit 18 read an image from the frame memory 2, the time required for reading is shortened, so that the motion search as a whole can be performed at high speed.
  • the unit storage area of the LSRAM 11 has unit luminance data corresponding to luminance data of 8 columns ⁇ 2 rows in the pixel space, or 8 columns in the pixel space ⁇
  • Unit color difference data corresponding to the color difference data for four rows is stored. Accordingly, unit luminance data for 8 columns ⁇ 2 rows to be stored in the unit storage area of the MSRAM 13 and unit luminance data for 4 columns ⁇ 4 rows to be stored in the unit storage area of the SSRAM 17 are stored in the unit storage area of the LSRAM 11. It can be easily created based on the stored unit luminance data.
  • eight unit luminance data arranged in two in the column direction and four in the row direction are stored in different memory banks of the LSRAM 11. Accordingly, these eight unit luminance data can be simultaneously written into the LSRAM 11 and can be simultaneously read from the LSRAM 11.
  • eight unit luminance data arranged in the column direction and eight in the row direction are stored in different memory banks of the LSRAM 11. Accordingly, these eight unit luminance data can be simultaneously written into the LSRAM 11 and can be simultaneously read from the LSRAM 11.
  • eight unit color difference data arranged in the column direction and four in the row direction are stored in different memory banks of the LSRAM 11. Accordingly, these eight unit color difference data can be simultaneously written into the LSRAM 11 and can be simultaneously read from the LSRAM 11.
  • the motion search unit 4 according to the present embodiment, four unit luminance data arranged in the column direction and four in the row direction, and two arranged in the column direction and two in the row direction. Are stored in different memory banks of the LSRAM 11. Therefore, these four unit luminance data and two unit color difference data can be simultaneously written into the LSRAM 11 and can be simultaneously read from the LSRAM 11.
  • the motion search unit 4 according to the present embodiment, four unit luminance data arranged in the column direction and two arranged in the row direction, and two arranged in the column direction and two arranged in the row direction. Are stored in different memory banks of the LSRAM 11. Therefore, these four unit luminance data and two unit color difference data can be simultaneously written into the LSRAM 11 and can be simultaneously read from the LSRAM 11.
  • the address generation unit 23 is based on the position coordinates of the unit luminance data and the unit color difference data in the pixel space, and among the plurality of memory banks included in the LSRAM 11. A memory bank in which each unit luminance data and each unit color difference data is to be stored is set. Therefore, each unit luminance data and each unit color difference data can be stored in an appropriate memory bank.
  • the address generation unit 23 stores each unit luminance data and each unit color difference data based on the position coordinates of the unit luminance data and unit color difference data in the pixel space. Set the address in the memory bank to store. Accordingly, each unit luminance data and each unit color difference data can be stored at an appropriate address in the memory bank.
  • the motion search unit 4 According to the motion search unit 4 according to the present embodiment, reading and writing of data with respect to the LSRAM 11 are performed in a time division manner. Therefore, since the LSRAM 11 can be configured using a single port RAM, the circuit scale can be reduced.
  • one or a plurality of reference images can be stored in the LSRAM 11 by setting the size of the search window 32 in the row direction in units of a predetermined number of rows. . Therefore, not only a motion search using one reference image but also a motion search using a plurality of reference images can be performed.
  • the image creating unit 12 in the pixel space based on the four unit luminance data arranged in the column direction and two in the row direction in the LSRAM 11.
  • One unit luminance data of 8 columns ⁇ 2 rows is created. Therefore, it is possible to easily create a reduced image obtained by reducing the image stored in the LSRAM 11 to 1 ⁇ 4.
  • eight unit luminance data arranged in the column direction and four in the row direction are stored in different memory banks of the MSRAM 13. Accordingly, these eight unit luminance data can be simultaneously written into the MSRAM 13 and simultaneously read from the MSRAM 13.
  • eight unit luminance data arranged in the column direction and eight in the row direction are stored in different memory banks of the MSRAM 13. Accordingly, these eight unit luminance data can be simultaneously written into the MSRAM 13 and simultaneously read from the MSRAM 13.
  • the address generation unit 43 uses the unit luminance data of the plurality of memory banks included in the MSRAM 13 based on the position coordinates of the unit luminance data in the pixel space. Set the memory bank to store. Accordingly, each unit luminance data can be stored in an appropriate memory bank.
  • the address generation unit 43 sets an address in the memory bank that stores each unit luminance data based on the position coordinates of the unit luminance data in the pixel space. To do. Accordingly, each unit luminance data can be stored at an appropriate address in the memory bank.
  • reading and writing of data with respect to the MSRAM 13 are performed in a time division manner. Therefore, since the MSRAM 13 can be configured using a single port RAM, the circuit scale can be reduced.
  • one or a plurality of reference images can be stored in the MSRAM 13 by setting the size of the search window 32 in the row direction in units of a predetermined number of rows. . Therefore, not only a motion search using one reference image but also a motion search using a plurality of reference images can be performed.
  • an area required for processing for the next current macroblock within a period in which motion search for a current macroblock is performed. are written in the MSRAM 13. Therefore, after the motion search for a certain current macroblock is completed, the process for the next current macroblock can be started without delay.
  • the transfer processing unit 16 includes two unit luminance data for 8 columns ⁇ 2 rows arranged in the LSRAM 11 in the column direction and in the row direction. Based on the above, two unit luminance data for 4 columns ⁇ 4 rows in the pixel space are generated. Therefore, it is possible to easily convert the unit luminance data for 8 columns ⁇ 2 rows into the unit luminance data for 4 columns ⁇ 4 rows.
  • 16 unit luminance data arranged in the column direction and 4 in the row direction are stored in different memory banks of the SSRAM 17. Accordingly, these 16 unit luminance data can be simultaneously written into the SSRAM 17 and simultaneously read from the SSRAM 17.
  • the address generation unit 76 uses the unit luminance data of the plurality of memory banks included in the SSRAM 17 based on the position coordinates of the unit luminance data in the pixel space. Set the memory bank to store. Accordingly, each unit luminance data can be stored in an appropriate memory bank.
  • the address generation unit 76 sets the address in the memory bank that stores each unit luminance data based on the position coordinates of the unit luminance data in the pixel space. To do. Accordingly, each unit luminance data can be stored at an appropriate address in the memory bank.
  • reading and writing of data with respect to each of the first set 74 and the second set 75 included in the SSRAM 17 are performed in a time division manner. Therefore, since the SSRAM 17 can be configured using a single port RAM, the circuit scale can be reduced.
  • data is read from one of the first set 74 and the second set 75 in order to perform motion search for a certain current macroblock.
  • Data necessary for performing a motion search for the next current macroblock is written to the other of the first set 74 and the second set 75 within the period. Therefore, after the motion search for a certain current macroblock is completed, the process for the next current macroblock can be started without delay.
  • a predetermined number of unit luminance data is stored in the SSRAM 17 in accordance with the macroblock part mode included in the search result by the search processing unit 15. Accordingly, it is possible to appropriately perform a motion search by the search processing unit 18 according to the macroblock part mode.
  • the SSRAM 17 further stores the reference image for Skip / Direct vector and the reference image for (0, 0) vector. Therefore, it is possible to improve the accuracy of motion search by the search processing unit 18.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 簡易な構成によって動き探索を高速に行うことが可能な画像処理装置を得る。画像処理装置は、第1画像内の所定範囲の第2画像を格納する、フレームメモリ(2)よりも高速にアクセス可能なLSRAM(11)と、第2画像内の所定範囲の画像をLSRAM(11)から読み出し、当該画像に基づいて粗探索用の第3画像を作成する画像作成部(12)と、画像作成部(12)によって作成された第3画像を格納する、フレームメモリ(2)よりも高速にアクセス可能なMSRAM(13)と、MSRAM(13)から第3画像を読み出し、当該第3画像に基づいて第1の動き探索を行う探索処理部(14)と、探索処理部(14)による探索結果に基づいて第2画像内の所定範囲の第4画像をLSRAM(11)から読み出し、当該第4画像に基づいて第1の動き探索よりも詳細な第2の動き探索を行う探索処理部(15)と、を備える。

Description

画像処理装置
 本発明は、画像処理装置に関し、特に、外部メモリに格納されている参照画像を参照して動き探索を行う画像処理装置に関する。
 例えば下記特許文献1には、背景技術に係る画像処理装置が開示されている。当該画像処理装置は、SDRAM(Synchronous Dynamic Random Access Memory)によって構成されたフレームメモリと、フレームメモリに接続された動き探索部とを備えている。フレームメモリには、符号化対象の画像、粗探索用の参照画像、及び密探索用の参照画像が格納されている。粗探索用の参照画像は、縮小処理によって予め作成されて、フレームメモリに格納されている。動き探索部は、まず、符号化対象の画像及び粗探索用の参照画像をフレームメモリから読み出し、これらの画像を用いて動き探索を行うことにより、粗探索の結果としての動きベクトルを求める。次に、動き探索部は、密探索用の参照画像のうち、当該動きベクトルの周辺領域の参照画像をフレームメモリから読み出し、符号化対象の画像と当該参照画像とを用いて動き探索を行うことにより、密探索の結果としての動きベクトルを求める。
特開2007-96696号公報
 しかしながら、上記特許文献1に開示された画像処理装置によると、動き探索部とフレームメモリとの間で大量のデータを授受する必要がある。しかも、フレームメモリは、動作速度の遅いSDRAMによって構成されている。従って、動き探索部がフレームメモリにアクセスする際に待ち時間が発生する可能性が高く、その結果、全体として動き探索の所要時間が長くなるという問題がある。
 本発明はかかる問題を解決するために成されたものであり、簡易な構成によって動き探索を高速に行うことが可能な画像処理装置を得ることを目的とする。
 本発明の第1の態様に係る画像処理装置は、外部メモリに格納されている第1画像を参照して動き探索を行う画像処理装置であって、前記第1画像内の所定範囲の第2画像を格納する、前記外部メモリよりも高速にアクセス可能な第1の内部メモリと、前記第2画像内の所定範囲の画像を前記第1の内部メモリから読み出し、当該画像に基づいて粗探索用の第3画像を作成する画像作成部と、前記画像作成部によって作成された前記第3画像を格納する、前記外部メモリよりも高速にアクセス可能な第2の内部メモリと、前記第2の内部メモリから前記第3画像を読み出し、当該第3画像に基づいて第1の動き探索を行う第1の探索処理部と、前記第1の探索処理部による探索結果に基づいて前記第2画像内の所定範囲の第4画像を前記第1の内部メモリから読み出し、当該第4画像に基づいて前記第1の動き探索よりも詳細な第2の動き探索を行う第2の探索処理部と、を備えることを特徴とするものである。
 第1の態様に係る画像処理装置によれば、画像作成部は、第1の内部メモリから読み出した画像に基づいて第3画像を作成する。また、第1の探索処理部は、第2の内部メモリから読み出した第3画像に基づいて第1の動き探索を行う。また、第2の探索処理部は、第1の内部メモリから読み出した第4画像に基づいて第2の動き探索を行う。ここで、第1及び第2の内部メモリはいずれも、外部メモリよりも高速にアクセス可能なメモリである。従って、画像作成部、第1の探索処理部、及び第2の探索処理部が外部メモリから画像を読み出す場合と比較すると、読み出しの所要時間が短縮されるため、全体として動き探索を高速に行うことが可能となる。
 本発明の第2の態様に係る画像処理装置は、第1の態様に係る画像処理装置において特に、前記外部メモリよりも高速にアクセス可能な第3の内部メモリと、前記第2の探索処理部による探索結果に基づいて前記第2画像内の所定範囲の第5画像を前記第1の内部メモリから読み出し、当該第5画像を前記第3の内部メモリに格納する転送処理部と、前記第3の内部メモリから前記第5画像を読み出し、当該第5画像に基づいて前記第2の動き探索よりも詳細な第3の動き探索を行う第3の探索処理部と、をさらに備えることを特徴とするものである。
 第2の態様に係る画像処理装置によれば、転送処理部は、第1の内部メモリから読み出した第5画像を第2の内部メモリに格納する。また、第3の探索処理部は、第3の内部メモリから読み出した第5画像に基づいて第3の動き探索を行う。ここで、第3の内部メモリは、外部メモリよりも高速にアクセス可能なメモリである。従って、転送処理部及び第3の探索処理部が外部メモリから画像を読み出す場合と比較すると、読み出しの所要時間が短縮されるため、全体として動き探索を高速に行うことが可能となる。
 本発明の第3の態様に係る画像処理装置は、第1又は第2の態様に係る画像処理装置において特に、前記第2画像は輝度データ及び色差データを含み、前記第1の内部メモリの単位記憶領域には、画素空間における8列×2行分の輝度データに相当する単位輝度データ、又は画素空間における8列×4行分の色差データに相当する単位色差データが格納されることを特徴とするものである。
 第3の態様に係る画像処理装置によれば、第1の内部メモリの単位記憶領域には、画素空間における8列×2行分の輝度データに相当する単位輝度データ、又は画素空間における8列×4行分の色差データに相当する単位色差データが格納される。従って、第2の内部メモリの単位記憶領域に格納すべき8列×2行分の単位輝度データ、及び第3の内部メモリの単位記憶領域に格納すべき4列×4行分の単位輝度データを、第1の内部メモリの単位記憶領域に格納されている単位輝度データに基づいて容易に作成することが可能となる。
 本発明の第4の態様に係る画像処理装置は、第3の態様に係る画像処理装置において特に、前記第1の内部メモリは複数のメモリバンクを有し、列方向に2個かつ行方向に4個並ぶ8個の単位輝度データは、異なるメモリバンクに格納されることを特徴とするものである。
 第4の態様に係る画像処理装置によれば、列方向に2個かつ行方向に4個並ぶ8個の単位輝度データは、第1の内部メモリの異なるメモリバンクに格納される。従って、これら8個の単位輝度データを、第1の内部メモリに同時に書き込むことができるとともに、第1の内部メモリから同時に読み出すことができる。
 本発明の第5の態様に係る画像処理装置は、第3又は第4の態様に係る画像処理装置において特に、前記第1の内部メモリは複数のメモリバンクを有し、列方向に1個かつ行方向に8個並ぶ8個の単位輝度データは、異なるメモリバンクに格納されることを特徴とするものである。
 第5の態様に係る画像処理装置によれば、列方向に1個かつ行方向に8個並ぶ8個の単位輝度データは、第1の内部メモリの異なるメモリバンクに格納される。従って、これら8個の単位輝度データを、第1の内部メモリに同時に書き込むことができるとともに、第1の内部メモリから同時に読み出すことができる。
 本発明の第6の態様に係る画像処理装置は、第3~第5のいずれか一つの態様に係る画像処理装置において特に、前記第1の内部メモリは複数のメモリバンクを有し、列方向に2個かつ行方向に4個並ぶ8個の単位色差データは、異なるメモリバンクに格納されることを特徴とするものである。
 第6の態様に係る画像処理装置によれば、列方向に2個かつ行方向に4個並ぶ8個の単位色差データは、第1の内部メモリの異なるメモリバンクに格納される。従って、これら8個の単位色差データを、第1の内部メモリに同時に書き込むことができるとともに、第1の内部メモリから同時に読み出すことができる。
 本発明の第7の態様に係る画像処理装置は、第3~第6のいずれか一つの態様に係る画像処理装置において特に、前記第1の内部メモリは複数のメモリバンクを有し、列方向に1個かつ行方向に4個並ぶ4個の単位輝度データ、及び列方向に1個かつ行方向に2個並ぶ2個の単位色差データは、異なるメモリバンクに格納されることを特徴とするものである。
 第7の態様に係る画像処理装置によれば、列方向に1個かつ行方向に4個並ぶ4個の単位輝度データ、及び列方向に1個かつ行方向に2個並ぶ2個の単位色差データは、第1の内部メモリの異なるメモリバンクに格納される。従って、これら4個の単位輝度データ及び2個の単位色差データを、第1の内部メモリに同時に書き込むことができるとともに、第1の内部メモリから同時に読み出すことができる。
 本発明の第8の態様に係る画像処理装置は、第3~第7のいずれか一つの態様に係る画像処理装置において特に、前記第1の内部メモリは複数のメモリバンクを有し、列方向に2個かつ行方向に2個並ぶ4個の単位輝度データ、及び列方向に2個かつ行方向に1個並ぶ2個の単位色差データは、異なるメモリバンクに格納されることを特徴とするものである。
 第8の態様に係る画像処理装置によれば、列方向に2個かつ行方向に2個並ぶ4個の単位輝度データ、及び列方向に2個かつ行方向に1個並ぶ2個の単位色差データは、第1の内部メモリの異なるメモリバンクに格納される。従って、これら4個の単位輝度データ及び2個の単位色差データを、第1の内部メモリに同時に書き込むことができるとともに、第1の内部メモリから同時に読み出すことができる。
 本発明の第9の態様に係る画像処理装置は、第3~第8のいずれか一つの態様に係る画像処理装置において特に、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、前記第1の内部メモリが有する複数のメモリバンクのうち、各単位輝度データ及び各単位色差データを格納すべきメモリバンクを設定する第1のアドレス設定部をさらに備えることを特徴とするものである。
 第9の態様に係る画像処理装置によれば、第1のアドレス設定部は、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、第1の内部メモリが有する複数のメモリバンクのうち、各単位輝度データ及び各単位色差データを格納すべきメモリバンクを設定する。従って、各単位輝度データ及び各単位色差データを、適切なメモリバンクに格納することが可能となる。
 本発明の第10の態様に係る画像処理装置は、第9の態様に係る画像処理装置において特に、前記第1のアドレス設定部はさらに、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、各単位輝度データ及び各単位色差データを格納するメモリバンク内のアドレスを設定することを特徴とするものである。
 第10の態様に係る画像処理装置によれば、第1のアドレス設定部は、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、各単位輝度データ及び各単位色差データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データ及び各単位色差データを、メモリバンク内の適切なアドレスに格納することが可能となる。
 本発明の第11の態様に係る画像処理装置は、第3~第10のいずれか一つの態様に係る画像処理装置において特に、前記第1の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われることを特徴とするものである。
 第11の態様に係る画像処理装置によれば、第1の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのRAMを用いて第1の内部メモリを構成できるため、回路規模を削減することが可能となる。
 本発明の第12の態様に係る画像処理装置は、第3~第11のいずれか一つの態様に係る画像処理装置において特に、行方向に関する前記第2画像のサイズを所定の行数単位で設定することにより、前記第1の内部メモリ内に一又は複数の前記第2画像を格納可能であることを特徴とするものである。
 第12の態様に係る画像処理装置によれば、行方向に関する前記第2画像のサイズを所定の行数単位で設定することにより、第1の内部メモリ内に一又は複数の第2画像を格納可能である。従って、一の参照画像を用いた動き探索のみならず、複数の参照画像を用いた動き探索を行うことが可能となる。
 本発明の第13の態様に係る画像処理装置は、第3~第12のいずれか一つの態様に係る画像処理装置において特に、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データ及び色差データが、前記第1の内部メモリに書き込まれることを特徴とするものである。
 第13の態様に係る画像処理装置によれば、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データ及び色差データが、第1の内部メモリに書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
 本発明の第14の態様に係る画像処理装置は、第3~第13のいずれか一つの態様に係る画像処理装置において特に、前記画像作成部は、前記第1の内部メモリ内において列方向に2個かつ行方向に2個並ぶ4個の単位輝度データに基づいて、画素空間における8列×2行分の1個の単位輝度データを作成し、当該単位輝度データを前記第2の内部メモリの単位記憶領域に格納することを特徴とするものである。
 第14の態様に係る画像処理装置によれば、画像作成部は、第1の内部メモリ内において列方向に2個かつ行方向に2個並ぶ4個の単位輝度データに基づいて、画素空間における8列×2行分の1個の単位輝度データを作成する。従って、第1の内部メモリに格納されている画像を1/4に縮小した縮小画像を、簡易に作成することが可能となる。
 本発明の第15の態様に係る画像処理装置は、第14の態様に係る画像処理装置において特に、前記第2の内部メモリは複数のメモリバンクを有し、列方向に2個かつ行方向に4個並ぶ8個の単位輝度データは、異なるメモリバンクに格納されることを特徴とするものである。
 第15の態様に係る画像処理装置によれば、列方向に2個かつ行方向に4個並ぶ8個の単位輝度データは、第2の内部メモリの異なるメモリバンクに格納される。従って、これら8個の単位輝度データを、第2の内部メモリに同時に書き込むことができるとともに、第1の内部メモリから同時に読み出すことができる。
 本発明の第16の態様に係る画像処理装置は、第14又は第15の態様に係る画像処理装置において特に、前記第2の内部メモリは複数のメモリバンクを有し、列方向に1個かつ行方向に8個並ぶ8個の単位輝度データは、異なるメモリバンクに格納されることを特徴とするものである。
 第16の態様に係る画像処理装置によれば、列方向に1個かつ行方向に8個並ぶ8個の単位輝度データは、第2の内部メモリの異なるメモリバンクに格納される。従って、これら8個の単位輝度データを、第2の内部メモリに同時に書き込むことができるとともに、第1の内部メモリから同時に読み出すことができる。
 本発明の第17の態様に係る画像処理装置は、第14~第16のいずれか一つの態様に係る画像処理装置において特に、画素空間内における単位輝度データの位置座標に基づいて、前記第2の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する第2のアドレス設定部をさらに備えることを特徴とするものである。
 第17の態様に係る画像処理装置によれば、第2のアドレス設定部は、画素空間内における単位輝度データの位置座標に基づいて、第2の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する。従って、各単位輝度データを、適切なメモリバンクに格納することが可能となる。
 本発明の第18の態様に係る画像処理装置は、第17の態様に係る画像処理装置において特に、前記第2のアドレス設定部はさらに、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定することを特徴とするものである。
 第18の態様に係る画像処理装置によれば、第2のアドレス設定部は、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データを、メモリバンク内の適切なアドレスに格納することが可能となる。
 本発明の第19の態様に係る画像処理装置は、第14~第18のいずれか一つの態様に係る画像処理装置において特に、前記第2の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われることを特徴とするものである。
 第19の態様に係る画像処理装置によれば、第2の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのRAMを用いて第2の内部メモリを構成できるため、回路規模を削減することが可能となる。
 本発明の第20の態様に係る画像処理装置は、第14~第19のいずれか一つの態様に係る画像処理装置において特に、行方向に関する前記第3画像のサイズを所定の行数単位で設定することにより、前記第2の内部メモリ内に一又は複数の前記第3画像を格納可能であることを特徴とするものである。
 第20の態様に係る画像処理装置によれば、行方向に関する前記第3画像のサイズを所定の行数単位で設定することにより、第2の内部メモリ内に一又は複数の第3画像を格納可能である。従って、一の参照画像を用いた動き探索のみならず、複数の参照画像を用いた動き探索を行うことが可能となる。
 本発明の第21の態様に係る画像処理装置は、第14~第20のいずれか一つの態様に係る画像処理装置において特に、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データが、前記第2の内部メモリに書き込まれることを特徴とするものである。
 第21の態様に係る画像処理装置によれば、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データが、第2の内部メモリに書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
 本発明の第22の態様に係る画像処理装置は、第3~第21のいずれか一つの態様に係る画像処理装置において特に、前記転送処理部は、前記第1の内部メモリ内において列方向に1個かつ行方向に2個並ぶ8列×2行分の2個の単位輝度データに基づいて、画素空間における4列×4行分の2個の単位輝度データを生成し、当該単位輝度データを前記第3の内部メモリの単位記憶領域に格納することを特徴とするものである。
 第22の態様に係る画像処理装置によれば、転送処理部は、第1の内部メモリ内において列方向に1個かつ行方向に2個並ぶ2個の単位輝度データに基づいて、画素空間における4列×4行分の2個の単位輝度データを生成する。従って、8列×2行分の単位輝度データから4列×4行分の単位輝度データへの変換を簡易に行うことが可能となる。
 本発明の第23の態様に係る画像処理装置は、第22の態様に係る画像処理装置において特に、前記第3の内部メモリは複数のメモリバンクを有し、列方向に4個かつ行方向に4個並ぶ16個の単位輝度データは、異なるメモリバンクに格納されることを特徴とするものである。
 第23の態様に係る画像処理装置によれば、列方向に4個かつ行方向に4個並ぶ16個の単位輝度データは、第3の内部メモリの異なるメモリバンクに格納される。従って、これら16個の単位輝度データを、第3の内部メモリに同時に書き込むことができるとともに、第3の内部メモリから同時に読み出すことができる。
 本発明の第24の態様に係る画像処理装置は、第22又は第23の態様に係る画像処理装置において特に、画素空間内における単位輝度データの位置座標に基づいて、前記第3の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する第3のアドレス設定部をさらに備えることを特徴とするものである。
 第24の態様に係る画像処理装置によれば、第3のアドレス設定部は、画素空間内における単位輝度データの位置座標に基づいて、第3の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する。従って、各単位輝度データを、適切なメモリバンクに格納することが可能となる。
 本発明の第25の態様に係る画像処理装置は、第24の態様に係る画像処理装置において特に、前記第3のアドレス設定部はさらに、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定することを特徴とするものである。
 第25の態様に係る画像処理装置によれば、第3のアドレス設定部は、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データを、メモリバンク内の適切なアドレスに格納することが可能となる。
 本発明の第26の態様に係る画像処理装置は、第23~第25のいずれか一つの態様に係る画像処理装置において特に、前記第3の内部メモリが有する複数のメモリバンクには、第1セットに属する複数のメモリバンクと、第2セットに属する複数のメモリバンクとが含まれ、前記第1セット及び前記第2セットの各々に対するデータの読み出し及び書き込みは、時分割で行われることを特徴とするものである。
 第26の態様に係る画像処理装置によれば、第3の内部メモリが有する第1セット及び第2セットの各々に対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのRAMを用いて第3の内部メモリを構成できるため、回路規模を削減することが可能となる。
 本発明の第27の態様に係る画像処理装置は、第26の態様に係る画像処理装置において特に、あるカレントマクロブロックを対象とする動き探索を行うために前記第1セット及び前記第2セットの一方からデータの読み出しが行われている期間内に、次のカレントマクロブロックを対象とする動き探索を行うために必要となるデータが、前記第1セット及び前記第2セットの他方に書き込まれることを特徴とするものである。
 第27の態様に係る画像処理装置によれば、あるカレントマクロブロックを対象とする動き探索を行うために第1セット及び第2セットの一方からデータの読み出しが行われている期間内に、次のカレントマクロブロックを対象とする動き探索を行うために必要となるデータが、第1セット及び第2セットの他方に書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
 本発明の第28の態様に係る画像処理装置は、第22~第27のいずれか一つの態様に係る画像処理装置において特に、前記第2の探索処理部による探索結果に含まれるマクロブロックパートモードに応じて、所定数の単位輝度データが前記第3の内部メモリに格納されることを特徴とするものである。
 第28の態様に係る画像処理装置によれば、第2の探索処理部による探索結果に含まれるマクロブロックパートモードに応じて、所定数の単位輝度データが第3の内部メモリに格納される。従って、マクロブロックパートモードに応じて、第3の探索処理部による動き探索を適切に行うことが可能となる。
 本発明の第29の態様に係る画像処理装置は、第22~第28のいずれか一つの態様に係る画像処理装置において特に、前記第3の内部メモリには、画素空間内におけるカレントマクロブロックの位置に基づいて、Skip/Directベクトル用参照画像、及び(0,0)ベクトル用参照画像がさらに格納されることを特徴とするものである。
 第29の態様に係る画像処理装置によれば、第3の内部メモリには、Skip/Directベクトル用参照画像、及び(0,0)ベクトル用参照画像がさらに格納される。従って、第3の探索処理部による動き探索の精度を向上することが可能となる。
 本発明によれば、簡易な構成によって動き探索を高速に行うことが可能な画像処理装置を得ることができる。
 この発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
本発明の実施の形態に係るエンコーダの構成を示す図である。 図1に示した動き探索部の内部構成を示す図である。 LSRAMの構成を示す図である。 LSRAMに格納される画像の第1の例を示す図である。 LSRAMに格納される画像の第2の例を示す図である。 LSRAMに格納する輝度データの配置ルールを説明するための図である。 LSRAMに格納する色差データの配置ルールを説明するための図である。 LSRAMにおける輝度データのメモリバンクへの振り分けを説明するための図である。 LSRAMにおける色差データのメモリバンクへの振り分けを説明するための図である。 図8に示した輝度データと図9に示した色差データとを並べて示す図である。 アドレス生成部による輝度データのバンクインデックスの設定手法を説明するための図である。 アドレス生成部による色差データのバンクインデックスの設定手法を説明するための図である。 フレームメモリからLSRAMに書き込まれる画像データの更新ルールを説明するための図である。 フレームメモリからLSRAMに書き込まれる画像データの更新ルールを説明するための図である。 フレームメモリからLSRAMに書き込まれる画像データの更新ルールを説明するための図である。 フレームメモリからLSRAMに書き込まれる画像データの更新ルールを説明するための図である。 MSRAMの構成を示す図である。 MSRAMに格納される画像の第1の例を示す図である。 MSRAMに格納される画像の第2の例を示す図である。 画像作成部による画像のリサイズ処理を示す図である。 MSRAMにおける輝度データのメモリバンクへの振り分けを説明するための図である。 図21に示した輝度データを示す図である。 MSRAMにおけるバンクアドレスの設定例を示す図である。 画像作成部からMSRAMに書き込まれる画像データの更新ルールを説明するための図である。 画像作成部からMSRAMに書き込まれる画像データの更新ルールを説明するための図である。 画像作成部からMSRAMに書き込まれる画像データの更新ルールを説明するための図である。 画像作成部からMSRAMに書き込まれる画像データの更新ルールを説明するための図である。 画像作成部からMSRAMに書き込まれる画像データの更新ルールを説明するための図である。 SSRAMの構成を示す図である。 SSRAMに格納される画像の例を示す図である。 転送処理部によるパックワード変換を示す図である。 SSRAMにおける輝度データのメモリバンクへの振り分けを説明するための図である。 図32に示した輝度データを示す図である。 SSRAM内における参照画像の格納領域をそれぞれ示す図である。 SSRAM内における参照画像の格納領域をそれぞれ示す図である。 SSRAM内における参照画像の格納領域をそれぞれ示す図である。 SSRAM内における参照画像の格納領域をそれぞれ示す図である。 SSRAM内における参照画像の格納領域をそれぞれ示す図である。 SSRAM内における参照画像の格納領域をそれぞれ示す図である。
 以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
 図1は、本発明の実施の形態に係るエンコーダ1の構成を示す図である。エンコーダ1は、H.264規格に準拠した画像処理装置であり、外部メモリとしてのフレームメモリ2に接続されている。フレームメモリ2は、例えばDRAM(Dynamic Random Access Memory)によって構成されており、一又は複数の参照画像を格納可能である。図1の接続関係で示すように、エンコーダ1は、動き探索部4、動き補償部5、デブロッキングフィルタ6、処理部7、及びエントロピー符号化部8を備えて構成されている。処理部7は、直交変換、量子化、及び逆量子化等の処理を行う。
 図2は、図1に示した動き探索部4の内部構成を示す図である。図2の接続関係で示すように、動き探索部4は、内部メモリとしての3個のSRAM(Static Random Access Memory)を備えて構成されている。本実施の形態では、区別を容易にするために、3個のSRAMをそれぞれ「LSRAM11」、「MSRAM13」、及び「SSRAM17」と称する。LSRAM11、MSRAM13、及びSSRAM17は、フレームメモリ2よりも高速にアクセス可能である。また、動き探索部4は、画像作成部12、探索処理部14,15,18、及び転送処理部16を備えて構成されている。
 LSRAM11には、DMA(Direct Memory Access)制御によって、フレームメモリ2に格納されている参照画像(第1画像)内の所定範囲の輝度及び色差の画像(第2画像)が書き込まれる。画像作成部12は、第2画像内の所定範囲の輝度の画像をLSRAM11から読み出し、当該画像に対して1/4のリサイズ処理を行うことにより粗探索用の縮小画像(第3画像)を作成する。画像作成部12によって作成された第3画像は、MSRAM13に格納される。探索処理部14は、MSRAM13から第3画像を読み出し、当該第3画像に基づいて動き探索(縮小画素探索)を行う。探索処理部14による縮小画素探索の結果は探索処理部15に入力される。探索処理部15は、入力された探索結果に基づいて、第2画像内の所定範囲の輝度の画像(第4画像)をLSRAM11から読み出し、当該第4画像に基づいて縮小画素探索よりも詳細な動き探索(整数精度画素探索)を行う。探索処理部15による整数精度画素探索の結果は転送処理部16及び探索処理部18に入力される。転送処理部16は、入力された探索結果に基づいて、第2画像内の所定範囲の輝度の画像(第5画像)をLSRAM11から読み出し、当該第5画像をSSRAM17に格納する。探索処理部18は、SSRAM17から第5画像を読み出し、当該第5画像に基づいて整数精度画素探索よりも詳細な動き探索(小数精度画素探索)を行う。また、探索処理部18は、補完用の色差の画像をLSRAM11から読み出す。なお、探索処理部14による縮小画素探索と、探索処理部15による整数精度画素探索と、探索処理部18による小数精度画素探索とは、マクロブロックパイプライン処理によって実行される。
 図3は、LSRAM11の構成を示す図である。LSRAM11は、複数のメモリバンクに分割されており、この例では第0バンク220~第7バンク227の合計8個のメモリバンクによって構成されている。また、アドレス生成部23を有する入出力インタフェース21が、各メモリバンクに接続されている。LSRAM11は、フレームメモリ2からの画像の書き込み動作、画像作成部12への画像の読み出し動作、探索処理部15への画像の読み出し動作、転送処理部16への画像の読み出し動作、及び探索処理部18への画像の読み出し動作を、時分割で切り替えて実行する。異なるメモリバンクには同時にアクセスすることが可能であり、メモリバンクの分割数は、これらの時分割での書き込み動作及び読み出し動作を遅滞なく実行可能な数に設定される。
 図4は、LSRAM11に格納される画像の第1の例を示す図である。図中太線の格納領域36として示すように、LSRAM11には、1920列×1080行の参照画像30のうち、1920列×160行分の画像データ(輝度データ及び色差データ)が格納される。格納領域36には、カレントマクロブロック31を中心とするサーチウインドウ32と、マクロブロックパイプライン処理の遅延分に相当するオーバーラップ領域33と、次のマクロブロック処理時間で使用する画像のリサイズ処理に必要なアップデート領域34とが含まれる。また、領域35は、カレントマクロブロックの更新に備えてフレームメモリ2からLSRAM11に書き込まれる画像データである。
 図5は、LSRAM11に格納される画像の第2の例を示す図である。サーチウインドウ32の高さ(行方向のサイズ)は、最大値を160行として8行単位で任意に設定可能である。従って、複数の参照画像(図5の例では2個の参照画像301,302)が存在する場合には、その個数に応じてサーチウインドウ32の高さを設定することにより、参照画像301内の格納領域361と、参照画像302内の格納領域362とをLSRAM11に格納することができる。
 図6は、LSRAM11に格納する輝度データの配置ルールを説明するための図である。図6の(A)は画像内の16列×4行分の画素空間を示しており、図6の(B)はLSRAM11内の4ワード分の記憶領域(つまり4個の単位記憶領域)を示している。図6に示すように、LSRAM11の単位記憶領域には、画素空間における8列×2行分の輝度データに相当する単位輝度データ(以下「8×2パックワード」と称す)が格納される。本実施の形態の例において各輝度データは8ビットであるため、8×2パックワード及びLSRAM11の1ワードはいずれも128ビットである。
 図7は、LSRAM11に格納する色差データの配置ルールを説明するための図である。図7の(A)は画像内の16列×4行分の画素空間を示しており、図7の(B)はLSRAM11内の2ワード分の記憶領域(つまり2個の単位記憶領域)を示している。図7に示すように、LSRAM11の単位記憶領域には、画素空間における8列×4行分の色差データに相当する単位色差データが格納される。本実施の形態の例ではYUV420フォーマットの画像データを扱うため、輝度相当で8列×4行分の画素空間の中には16個(128ビット)の色差データが存在する。
 図8は、LSRAM11における輝度データのメモリバンクへの振り分けを説明するための図である。図8には、32列×32行分の画素空間に含まれる64個の8×2パックワードを示している。図中の数字は、第0バンク220~第7バンク227の各メモリバンクに付されるバンクインデックスを表している。図8に示したように輝度データを各メモリバンクに振り分けることにより、列方向に1個かつ行方向に8個並ぶ任意の8個の単位輝度データは異なるメモリバンクに格納され、また、列方向に2個かつ行方向に4個並ぶ任意の8個の単位輝度データは異なるメモリバンクに格納される。
 図9は、LSRAM11における色差データのメモリバンクへの振り分けを説明するための図である。図9には、輝度相当で32列×32行分の画素空間に含まれる32個の8×2パックワードを示している。図中の数字はバンクインデックスを表している。図9に示したように色差データを各メモリバンクに振り分けることにより、列方向に2個かつ行方向に4個並ぶ任意の8個の単位色差データは異なるメモリバンクに格納される。
 図10は、図8に示した輝度データと図9に示した色差データとを並べて示す図である。領域R1に含まれる8個の単位輝度データ(列方向に1個×行方向に8個)は、LSRAM11に対して同時に読み出し又は書き込みが可能である。また、領域R2に含まれる8個の単位輝度データ(列方向に2個×行方向に4個)は、LSRAM11に対して同時に読み出し又は書き込みが可能である。また、領域R3に含まれる8個の単位色差データ(列方向に2個×行方向に4個)は、LSRAM11に対して同時に読み出し又は書き込みが可能である。また、領域R4に含まれる4個の単位輝度データ(列方向に2個×行方向に2個)と2個の単位色差データ(列方向に2個×行方向に1個)とは、LSRAM11に対して同時に読み出し又は書き込みが可能である。また、領域R5に含まれる4個の単位輝度データ(列方向に1個×行方向に4個)と2個の単位色差データ(列方向に1個×行方向に2個)とは、LSRAM11に対して同時に読み出し又は書き込みが可能である。
 図11は、アドレス生成部23による輝度データのバンクインデックスの設定手法を説明するための図である。アドレス生成部23は、画素空間におけるパックワード単位での列方向の座標(x座標)及び行方向の座標(y座標)に基づいて、各パックワードのバンクインデックスを設定する。なお、図中の「%」は剰余を求める演算を意味している。また、除算の剰余は切り捨てる。例えば、ある輝度データのパックワードをLSRAM11に書き込むにあたり、y座標を「4」で除算した値をさらに「2」で除算した際の剰余が「0」で、y座標を「4」で除算した際の剰余が「0」で、x座標を「2」で除算した際の剰余が「0」である場合には、そのパックワードにはバンクインデックスBI=「0」が設定され、当該パックワードはLSRAM11の第0バンク220に格納される。
 図11に示した関係を式で表すと、
 BI=((x%2)^((y/4)%2))*4+(y%4)
となる。なお、式中の「^」は排他的論理和を求める演算を意味している。
 図12は、アドレス生成部23による色差データのバンクインデックスの設定手法を説明するための図である。アドレス生成部23は、画素空間におけるパックワード単位でのx座標及びy座標に基づいて、各パックワードのバンクインデックスを設定する。例えば、ある色差データのパックワードをLSRAM11に書き込むにあたり、y座標を「2」で除算した値をさらに「4」で除算した際の剰余が「1」で、x座標を「2」で除算した際の剰余が「0」である場合には、そのパックワードにはバンクインデックスBI=「4」が設定され、当該パックワードはLSRAM11の第4バンク224に格納される。
 図12に示した関係を式で表すと、
 BI=((((y/4)%2)==(x%2))<<2)+((((y/2)%2))<<1)+((y/4)%2)
となる。なお、式中の「」はビット単位の反転を意味している。
 また、アドレス生成部23は、画素空間におけるパックワード単位でのx座標及びy座標に基づいて、各パックワードを格納するメモリバンク内のアドレス(バンクアドレスBA)を設定する。各メモリバンクにおいて、前半2/3の領域(BA=「0」~「2559」には輝度データが格納され、後半1/3の領域(BA=「2560」~「3839」)には色差データが格納される。
 輝度データのバンクアドレスを設定するための式は、
 BA=(x/2)+(y/4)*128
となる。
 色差データのバンクアドレスを設定するための式は、
 BA=(x/2)+(y/8)*128+2560
となる。
 図13~16は、フレームメモリ2からLSRAM11に書き込まれる画像データの更新ルールを説明するための図である。現在のカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の画像データが、フレームメモリ2からLSRAM11に書き込まれる。
 図13を参照して、処理開始時には、カレントマクロブロック31は参照画像30の左上隅に位置している。この場合、サーチウインドウ32と参照画像30との重複範囲(斜線を付した領域)の画像データが、フレームメモリ2からLSRAM11に書き込まれる。
 図14を参照して、カレントマクロブロック31が参照画像30の上辺に接している時には、参照画像30内でサーチウインドウ32の右辺に接している領域35の画像データが、フレームメモリ2からLSRAM11に書き込まれる。
 図15を参照して、サーチウインドウ32の右辺が参照画像30の右辺に接している時には、サーチウインドウ32の下辺より1マクロブロックライン下で参照画像30の左辺に接している1マクロブロック相当の領域35の画像データが、フレームメモリ2からLSRAM11に書き込まれる。
 図16を参照して、カレントマクロブロック31が参照画像30の中央部に位置している通常更新時には、サーチウインドウ32の右下隅に接している1マクロブロック相当の領域35の画像データが、フレームメモリ2からLSRAM11に書き込まれる。
 図17は、MSRAM13の構成を示す図である。MSRAM13は、複数のメモリバンクに分割されており、この例では第0バンク420~第7バンク427の合計8個のメモリバンクによって構成されている。また、アドレス生成部43を有する入出力インタフェース41が、各メモリバンクに接続されている。MSRAM13は、画像作成部12からの画像の書き込み動作、及び探索処理部14への画像の読み出し動作を、時分割で切り替えて実行する。異なるメモリバンクには同時にアクセスすることが可能であり、メモリバンクの分割数は、これらの時分割での書き込み動作及び読み出し動作を遅滞なく実行可能な数に設定される。
 図18は、MSRAM13に格納される画像の第1の例を示す図である。図中太線の格納領域51として示すように、MSRAM13には、サーチウインドウ32及びアップデート領域34の画像を1/4(行及び列の各方向に1/2ずつ)に縮小した輝度データが格納される。
 図19は、MSRAM13に格納される画像の第2の例を示す図である。MSRAM13に関しては、サーチウインドウ32の高さは、最大値を80行として4行単位で任意に設定可能である。従って、複数の参照画像(図19の例では2個の参照画像301,302)が存在する場合には、その個数に応じてサーチウインドウ32の高さを設定することにより、参照画像301内の格納領域511と、参照画像302内の格納領域512とをMSRAM13に格納することができる。
 図20は、画像作成部12による画像のリサイズ処理を示す図である。図20に示すように、画像作成部12は、画素空間内で列方向に2個かつ行方向に2個並ぶ4個の8×2パックワードをLSRAM11から読み出し、これら4個の8×2パックワードに対してフィルタリング又は画素間引き等の処理を行うことにより、1/4に縮小された1個の8×2パックワードを作成する。そして、作成した8×2パックワードをMSRAM13の単位記憶領域に格納する。
 図21は、MSRAM13における輝度データのメモリバンクへの振り分けを説明するための図である。図21には、32列×32行分の画素空間に含まれる64個の8×2パックワードを示している。図中の数字は、第0バンク420~第7バンク427の各メモリバンクに付されるバンクインデックスを表している。アドレス生成部43は、画素空間におけるパックワード単位でのx座標及びy座標に基づいて、各パックワードのバンクインデックスを設定する。図21に示したように輝度データを各メモリバンクに振り分けることにより、列方向に1個かつ行方向に8個並ぶ任意の8個の単位輝度データは異なるメモリバンクに格納され、また、列方向に2個かつ行方向に4個並ぶ任意の8個の単位輝度データは異なるメモリバンクに格納される。
 図22は、図21に示した輝度データを示す図である。領域R11に含まれる8個の単位輝度データ(列方向に1個×行方向に8個)は、MSRAM13に対して同時に読み出し又は書き込みが可能である。また、領域R12に含まれる8個の単位輝度データ(列方向に2個×行方向に4個)は、MSRAM13に対して同時に読み出し又は書き込みが可能である。
 また、アドレス生成部43は、画素空間におけるパックワード単位でのx座標及びy座標に基づいて、各パックワードを格納するメモリバンク内のバンクアドレスBAを設定する。
 図23は、MSRAM13におけるバンクアドレスBAの設定例を示す図である。図23には、図21と同様の64個の8×2パックワードを示している。図中の数字はバンクアドレスBAを表している。この例では、列方向に1個かつ行方向に8個並ぶ8個のパックワードに対して、共通のバンクアドレスBAが設定されている。例えば、左上の8個のパックワードに対してBA=0が設定され、その右隣の8個のパックワードに対してBA=1が設定されている。
 図24~28は、画像作成部12からMSRAM13に書き込まれる画像データの更新ルールを説明するための図である。現在のカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の画像データが、画像作成部12からMSRAM13に書き込まれる。
 図24を参照して、処理開始時には、カレントマクロブロック31は参照画像30の左上隅に位置している。この場合、サーチウインドウ32と参照画像30との重複範囲(斜線を付した領域)の画像データが、画像作成部12からMSRAM13に書き込まれる。
 図25を参照して、カレントマクロブロック31が参照画像30の上辺に接している時には、参照画像30内でサーチウインドウ32の右辺に接している領域34の画像データが、画像作成部12からMSRAM13に書き込まれる。
 図26を参照して、サーチウインドウ32の右辺が参照画像30の右辺に接している時には、サーチウインドウ32及びその下辺より1マクロブロックライン下で参照画像30の左辺に接している領域34の画像データが、画像作成部12からMSRAM13に書き込まれる。
 図27を参照して、カレントマクロブロック31が参照画像30の中央部に位置している通常更新時には、サーチウインドウ32の右辺に接している領域34の画像データが、画像作成部12からMSRAM13に書き込まれる。
 図28を参照して、カレントマクロブロック31が参照画像30の下辺に接している時には、参照画像30内でサーチウインドウ32の右辺に接している領域34の画像データが、画像作成部12からMSRAM13に書き込まれる。
 図29は、SSRAM17の構成を示す図である。SSRAM17は、複数のメモリバンクに分割されており、この例では第1セット74に属する第0バンク720~第15バンク72fと第2セット75に属する第0バンク730~第15バンク73fとの合計32個のメモリバンクによって構成されている。第1セット74及び第2セット75の各々は、転送処理部16からの画像の書き込み動作、及び探索処理部18への画像の読み出し動作を、時分割で切り替えて実行する。異なるメモリバンクには同時にアクセスすることが可能であり、メモリバンクの分割数は、これらの時分割での書き込み動作及び読み出し動作を遅滞なく実行可能な数に設定される。
 第1セット74に属する第0バンク720~第15バンク72fへの画像データの書き込みと、第2セット75に属する第0バンク730~第15バンク73fからの画像データの読み出しとを、同時に行うことが可能である。同様に、第1セット74に属する第0バンク720~第15バンク72fからの画像データの読み出しと、第2セット75に属する第0バンク730~第15バンク73fへの画像データの書き込みとを、同時に行うことが可能である。第1のカレントマクロブロックを対象とする動き探索を行うために探索処理部18が第1セット74のメモリバンクから参照画像を読み出している期間内に、続く第2のカレントマクロブロックを対象とする動き探索で使用する参照画像が転送処理部16から第2セット75のメモリバンクに書き込まれる。次に、第2のカレントマクロブロックを対象とする動き探索を行うために探索処理部18が第2セット75のメモリバンクから参照画像を読み出している期間内に、続く第3のカレントマクロブロックを対象とする動き探索で使用する参照画像が転送処理部16から第1セット74のメモリバンクに書き込まれる。
 各メモリバンクは32ワード分の記憶領域を有しており、前半の16ワードは前方予測用の画像データの格納に使用され、後半の16ワードは後方予測用の画像データの格納に使用される。また、アドレス生成部76を有する入出力インタフェース71が、各メモリバンクに接続されている。
 図30は、SSRAM17に格納される画像の例を示す図である。SSRAM17には、参照マクロブロック81及びその周辺の格納領域82の輝度データが格納される。参照マクロブロック81は、探索処理部15による整数精度画素探索の結果として得られた動きベクトルMVで示されるマクロブロックである。
 探索処理部15は、16列×16行のブロックを1個用いたマクロブロックパートモード1、16列×8行のブロックを2個用いたマクロブロックパートモード2、8列×16行のブロックを2個用いたマクロブロックパートモード3、及び4列×4行のブロックを4個用いたマクロブロックパートモード4のそれぞれについて動き探索を行い、その中で類似度の最も高い一つのモードの動きベクトルを探索結果として出力する。従って、探索処理部15による探索結果にマクロブロックパートモード1の動きベクトルが含まれる場合には格納領域82は1個となり、マクロブロックパートモード2又はマクロブロックパートモード3の動きベクトルが含まれる場合には格納領域82は2個となり、マクロブロックパートモード4の動きベクトルが含まれる場合には格納領域82は4個となる。
 また、図30には示さないが、SSRAM17には、Skip/Directベクトル用参照画像、及び(0,0)ベクトル用参照画像が格納される。Skip/Directベクトルは、H.264規格で定義されているSkip/Directマクロブロックモードの動きベクトルの総称であり、カレントマクロブロックに隣接する複数のブロックに関する情報に基づいて生成される。また、(0,0)ベクトルは、参照画像内でカレントマクロブロックと同じ位置のマクロブロックの動きベクトルである。
 図31は、転送処理部16によるパックワード変換を示す図である。図31に示すように、転送処理部16は、LSRAM11からSSRAM17に画素データを転送する際に、画素空間における8列×2行分の輝度データに相当する8×2パックワードを、画素空間における4列×4行分の輝度データに相当する単位輝度データ(以下「4×4パックワード」と称す)に変換する。具体的には、画素空間内で列方向に1個かつ行方向に2個並ぶ2個の8×2パックワードをLSRAM11から読み出し、2個のパックワードの境界を変更することにより、画素空間内で列方向に2個かつ行方向に1個並ぶ2個の4×4パックワードに変換する。そして、作成した各4×4パックワードをSSRAM17の単位記憶領域に格納する。
 図32は、SSRAM17における輝度データのメモリバンクへの振り分けを説明するための図である。図32には、64列×64行分に相当する画素空間に含まれる256個の4×4パックワードを示している。枠内の左側の数字はバンクインデックスBIを表しており、右側の数字はバンクアドレスBAを表している。
 16個のメモリバンクの16ワード分の記憶領域の集合は、バンクアドレスBAが「0」「1」「2」「4」「5」「6」「8」「9」「a」であるグループG1と、バンクアドレスBAが「3」「7」「b」「c」であるグループG2と、バンクアドレスBAが「d」であるグループG3と、バンクアドレスBAが「e」「f」であるグループG4とに分類される。グループG1には、探索処理部15による整数精度画素探索の結果に基づく小数精度画素探索用の参照画像が格納される。グループG2には、Skip/Directベクトル用参照画像が格納される。グループG3には、(0,0)ベクトル用参照画像が格納される。グループG4は使用されていない予備の領域である。アドレス生成部76は、画素空間におけるパックワード単位でのx座標及びy座標に基づいて、各パックワードを格納すべきバンクインデックスBI及びバンクアドレスBAを設定する。図32に示したように輝度データを各メモリバンクに振り分けることにより、列方向に4個かつ行方向に4個並ぶ任意の16個の単位輝度データは異なるメモリバンクに格納される。
 図33は、図32に示した輝度データを示す図である。グループG1内の領域R21に含まれる任意の16個の単位輝度データ(列方向に4個×行方向に4個)は、SSRAM17に対して同時に読み出し又は書き込みが可能である。同様に、グループG2内の領域R22に含まれる任意の16個の単位輝度データ、及びグループG3内の領域R23に含まれる16個の単位輝度データは、SSRAM17に対して同時に読み出し又は書き込みが可能である。
 図34~39は、SSRAM17内における参照画像の格納領域をそれぞれ示す図である。
 図34には、探索処理部15による探索結果にマクロブロックパートモード1の動きベクトルが含まれる場合の例を示している。この場合、16列×16行のサイズの画像に対する1/4画素精度の画像を6タップフィルタによって作成するためには、21列×21行のサイズの整数精度画像が必要となる。1ワードに4列×4行分の画素データが格納されているため、列方向に6個×行方向に6個の格納領域があれば、任意の座標位置から21列×21行のサイズの整数精度画像を得ることができる。また、±1.0の範囲での探索を考慮して、図中太線で示す列方向に7個×行方向に7個分の格納領域に参照画像を格納する。この場合、探索処理部18は、参照画像の格納領域に対して13列×13行単位での画素データの読み出しを4回行うことにより、SSRAM17から参照画像を読み出す。そして、16列×16行のブロックに対する動き探索を行う際に、その16列×16行のブロックに内在する16列×8行、8列×16行、及び8列×8行の各ブロックに対しても評価を行うことにより、マクロブロックパートモード1、マクロブロックパートモード2、マクロブロックパートモード3、及びマクロブロックパートモード4の各モードでの動き探索を併せて行う。
 図35には、探索処理部15による探索結果にマクロブロックパートモード2の動きベクトルが含まれる場合の例を示している。この場合、16列×8行のサイズの画像に対する1/4画素精度の画像を6タップフィルタによって作成するためには、21列×13行のサイズの整数精度画像が必要となる。1ワードに4列×4行分の画素データが格納されているため、列方向に6個×行方向に4個の格納領域があれば、任意の座標位置から16列×8行のサイズの整数精度画像を得ることができる。また、±1.0の範囲での探索を考慮して、図中太線で示す列方向に7個×行方向に5個分の2個の格納領域に参照画像をそれぞれ格納する。この場合、探索処理部18は、参照画像の2個の格納領域の各々に対して13列×13行単位での画素データの読み出しを2回行うことにより、SSRAM17から参照画像を読み出す。そして、16列×8行のブロックに対する動き探索を行う際に、その16列×8行のブロックに内在する8列×8行の各ブロックに対しても評価を行うことにより、マクロブロックパートモード2及びマクロブロックパートモード4の各モードでの動き探索を併せて行う。
 図36には、探索処理部15による探索結果にマクロブロックパートモード3の動きベクトルが含まれる場合の例を示している。この場合、8列×16行のサイズの画像に対する1/4画素精度の画像を6タップフィルタによって作成するためには、13列×21行のサイズの整数精度画像が必要となる。1ワードに4列×4行分の画素データが格納されているため、列方向に4個×行方向に6個の格納領域があれば、任意の座標位置から8列×16行のサイズの整数精度画像を得ることができる。また、±1.0の範囲での探索を考慮して、図中太線で示す列方向に5個×行方向に7個分の2個の格納領域に参照画像をそれぞれ格納する。この場合、探索処理部18は、参照画像の2個の格納領域の各々に対して13列×13行単位での画素データの読み出しを2回行うことにより、SSRAM17から参照画像を読み出す。そして、8列×16行のブロックに対する動き探索を行う際に、その8列×16行のブロックに内在する8列×8行の各ブロックに対しても評価を行うことにより、マクロブロックパートモード3及びマクロブロックパートモード4の各モードでの動き探索を併せて行う。
 図37には、探索処理部15による探索結果にマクロブロックパートモード4の動きベクトルが含まれる場合の例を示している。この場合、8列×8行のサイズの画像に対する1/4画素精度の画像を6タップフィルタによって作成するためには、13列×13行のサイズの整数精度画像が必要となる。1ワードに4列×4行分の画素データが格納されているため、列方向に4個×行方向に4個の格納領域があれば、任意の座標位置から8列×8行のサイズの整数精度画像を得ることができる。また、±1.0の範囲での探索を考慮して、図中太線で示す列方向に5個×行方向に5個分の4個の格納領域に参照画像をそれぞれ格納する。この場合、探索処理部18は、参照画像の4個の格納領域の各々に対して13列×13行単位での画素データの読み出しを1回行うことにより、SSRAM17から参照画像を読み出す。そして、その8列×8行の各ブロックに対してマクロブロックパートモード4での動き探索を行う。
 図38には、Skip/Directベクトル用参照画像の格納領域を示している。この場合、16列×16行のサイズの画像に対する1/4画素精度の画像を6タップフィルタによって作成するためには、21列×21行のサイズの整数精度画像が必要となる。1ワードに4列×4行分の画素データが格納されているため、列方向に6個×行方向に6個の格納領域があれば、任意の座標位置から21列×21行のサイズの整数精度画像を得ることができる。従って、図中太線で示す列方向に6個×行方向に6個分の格納領域に参照画像を格納する。
 図39には、(0,0)ベクトル用参照画像の格納領域を示している。この場合は1/4画素精度の画像の生成は不要であるため、16列×16行のサイズの画像を得るためには、16列×16行のサイズの整数精度画像があればよい。また、任意の座標位置からの画素選択も不要であるため、図中太線で示す列方向に4個×行方向に4個分の格納領域に参照画像を格納する。
 このように本実施の形態に係る動き探索部4によれば、画像作成部12は、LSRAM11から読み出した画像に基づいて粗探索用の縮小画像を作成する。また、探索処理部14は、MSRAM13から読み出した縮小画像に基づいて縮小画素探索を行う。また、探索処理部15は、LSRAM11から読み出した画像に基づいて整数精度画素探索を行う。ここで、LSRAM11及びMSRAM13はいずれも、フレームメモリ2よりも高速にアクセス可能なメモリである。従って、画像作成部12、探索処理部14、及び探索処理部15がフレームメモリ2から画像を読み出す場合と比較すると、読み出しの所要時間が短縮されるため、全体として動き探索を高速に行うことが可能となる。
 また、本実施の形態に係る動き探索部4によれば、転送処理部16は、LSRAM11から読み出した画像をSSRAM17に格納する。また、探索処理部18は、SSRAM17から読み出した画像に基づいて小数精度画素探索を行う。ここで、SSRAM17は、フレームメモリ2よりも高速にアクセス可能なメモリである。従って、転送処理部16及び探索処理部18がフレームメモリ2から画像を読み出す場合と比較すると、読み出しの所要時間が短縮されるため、全体として動き探索を高速に行うことが可能となる。
 また、本実施の形態に係る動き探索部4によれば、LSRAM11の単位記憶領域には、画素空間における8列×2行分の輝度データに相当する単位輝度データ、又は画素空間における8列×4行分の色差データに相当する単位色差データが格納される。従って、MSRAM13の単位記憶領域に格納すべき8列×2行分の単位輝度データ、及びSSRAM17の単位記憶領域に格納すべき4列×4行分の単位輝度データを、LSRAM11の単位記憶領域に格納されている単位輝度データに基づいて容易に作成することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、列方向に2個かつ行方向に4個並ぶ8個の単位輝度データは、LSRAM11の異なるメモリバンクに格納される。従って、これら8個の単位輝度データを、LSRAM11に同時に書き込むことができるとともに、LSRAM11から同時に読み出すことができる。
 また、本実施の形態に係る動き探索部4によれば、列方向に1個かつ行方向に8個並ぶ8個の単位輝度データは、LSRAM11の異なるメモリバンクに格納される。従って、これら8個の単位輝度データを、LSRAM11に同時に書き込むことができるとともに、LSRAM11から同時に読み出すことができる。
 また、本実施の形態に係る動き探索部4によれば、列方向に2個かつ行方向に4個並ぶ8個の単位色差データは、LSRAM11の異なるメモリバンクに格納される。従って、これら8個の単位色差データを、LSRAM11に同時に書き込むことができるとともに、LSRAM11から同時に読み出すことができる。
 また、本実施の形態に係る動き探索部4によれば、列方向に1個かつ行方向に4個並ぶ4個の単位輝度データ、及び列方向に1個かつ行方向に2個並ぶ2個の単位色差データは、LSRAM11の異なるメモリバンクに格納される。従って、これら4個の単位輝度データ及び2個の単位色差データを、LSRAM11に同時に書き込むことができるとともに、LSRAM11から同時に読み出すことができる。
 また、本実施の形態に係る動き探索部4によれば、列方向に2個かつ行方向に2個並ぶ4個の単位輝度データ、及び列方向に2個かつ行方向に1個並ぶ2個の単位色差データは、LSRAM11の異なるメモリバンクに格納される。従って、これら4個の単位輝度データ及び2個の単位色差データを、LSRAM11に同時に書き込むことができるとともに、LSRAM11から同時に読み出すことができる。
 また、本実施の形態に係る動き探索部4によれば、アドレス生成部23は、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、LSRAM11が有する複数のメモリバンクのうち、各単位輝度データ及び各単位色差データを格納すべきメモリバンクを設定する。従って、各単位輝度データ及び各単位色差データを、適切なメモリバンクに格納することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、アドレス生成部23は、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、各単位輝度データ及び各単位色差データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データ及び各単位色差データを、メモリバンク内の適切なアドレスに格納することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、LSRAM11に対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのRAMを用いてLSRAM11を構成できるため、回路規模を削減することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、行方向に関するサーチウインドウ32のサイズを所定の行数単位で設定することにより、LSRAM11内に一又は複数の参照画像を格納可能である。従って、一の参照画像を用いた動き探索のみならず、複数の参照画像を用いた動き探索を行うことが可能となる。
 また、本実施の形態に係る動き探索部4によれば、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データ及び色差データが、LSRAM11に書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、画像作成部12は、LSRAM11内において列方向に2個かつ行方向に2個並ぶ4個の単位輝度データに基づいて、画素空間における8列×2行分の1個の単位輝度データを作成する。従って、LSRAM11に格納されている画像を1/4に縮小した縮小画像を、簡易に作成することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、列方向に2個かつ行方向に4個並ぶ8個の単位輝度データは、MSRAM13の異なるメモリバンクに格納される。従って、これら8個の単位輝度データを、MSRAM13に同時に書き込むことができるとともに、MSRAM13から同時に読み出すことができる。
 また、本実施の形態様に係る動き探索部4によれば、列方向に1個かつ行方向に8個並ぶ8個の単位輝度データは、MSRAM13の異なるメモリバンクに格納される。従って、これら8個の単位輝度データを、MSRAM13に同時に書き込むことができるとともに、MSRAM13から同時に読み出すことができる。
 また、本実施の形態に係る動き探索部4によれば、アドレス生成部43は、画素空間内における単位輝度データの位置座標に基づいて、MSRAM13が有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する。従って、各単位輝度データを、適切なメモリバンクに格納することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、アドレス生成部43は、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データを、メモリバンク内の適切なアドレスに格納することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、MSRAM13に対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのRAMを用いてMSRAM13を構成できるため、回路規模を削減することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、行方向に関するサーチウインドウ32のサイズを所定の行数単位で設定することにより、MSRAM13内に一又は複数の参照画像を格納可能である。従って、一の参照画像を用いた動き探索のみならず、複数の参照画像を用いた動き探索を行うことが可能となる。
 また、本実施の形態に係る動き探索部4によれば、あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データが、MSRAM13に書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、転送処理部16は、LSRAM11内において列方向に1個かつ行方向に2個並ぶ8列×2行分の2個の単位輝度データに基づいて、画素空間における4列×4行分の2個の単位輝度データを生成する。従って、8列×2行分の単位輝度データから4列×4行分の単位輝度データへの変換を簡易に行うことが可能となる。
 また、本実施の形態に係る動き探索部4によれば、列方向に4個かつ行方向に4個並ぶ16個の単位輝度データは、SSRAM17の異なるメモリバンクに格納される。従って、これら16個の単位輝度データを、SSRAM17に同時に書き込むことができるとともに、SSRAM17から同時に読み出すことができる。
 また、本実施の形態に係る動き探索部4によれば、アドレス生成部76は、画素空間内における単位輝度データの位置座標に基づいて、SSRAM17が有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する。従って、各単位輝度データを、適切なメモリバンクに格納することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、アドレス生成部76は、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する。従って、各単位輝度データを、メモリバンク内の適切なアドレスに格納することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、SSRAM17が有する第1セット74及び第2セット75の各々に対するデータの読み出し及び書き込みは、時分割で行われる。従って、シングルポートのRAMを用いてSSRAM17を構成できるため、回路規模を削減することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、あるカレントマクロブロックを対象とする動き探索を行うために第1セット74及び第2セット75の一方からデータの読み出しが行われている期間内に、次のカレントマクロブロックを対象とする動き探索を行うために必要となるデータが、第1セット74及び第2セット75の他方に書き込まれる。従って、あるカレントマクロブロックを対象とする動き探索が完了した後に、次のカレントマクロブロックを対象とする処理を、滞りなく開始することが可能となる。
 また、本実施の形態に係る動き探索部4によれば、探索処理部15による探索結果に含まれるマクロブロックパートモードに応じて、所定数の単位輝度データがSSRAM17に格納される。従って、マクロブロックパートモードに応じて、探索処理部18による動き探索を適切に行うことが可能となる。
 また、本実施の形態に係る動き探索部4によれば、SSRAM17には、Skip/Directベクトル用参照画像、及び(0,0)ベクトル用参照画像がさらに格納される。従って、探索処理部18による動き探索の精度を向上することが可能となる。
 この発明は詳細に説明されたが、上記した説明は、すべての局面において、例示的であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
 1 エンコーダ
 2 フレームメモリ
 4 動き探索部
 11 LSRAM
 12 画像作成部
 13 MSRAM
 14,15,18 探索処理部
 16 転送処理部
 17 SSRAM
 23,43,76 アドレス生成部
 74 第1セット
 75 第2セット

Claims (29)

  1.  外部メモリに格納されている第1画像を参照して動き探索を行う画像処理装置であって、
     前記第1画像内の所定範囲の第2画像を格納する、前記外部メモリよりも高速にアクセス可能な第1の内部メモリと、
     前記第2画像内の所定範囲の画像を前記第1の内部メモリから読み出し、当該画像に基づいて粗探索用の第3画像を作成する画像作成部と、
     前記画像作成部によって作成された前記第3画像を格納する、前記外部メモリよりも高速にアクセス可能な第2の内部メモリと、
     前記第2の内部メモリから前記第3画像を読み出し、当該第3画像に基づいて第1の動き探索を行う第1の探索処理部と、
     前記第1の探索処理部による探索結果に基づいて前記第2画像内の所定範囲の第4画像を前記第1の内部メモリから読み出し、当該第4画像に基づいて前記第1の動き探索よりも詳細な第2の動き探索を行う第2の探索処理部と、
    を備える、画像処理装置。
  2.  前記外部メモリよりも高速にアクセス可能な第3の内部メモリと、
     前記第2の探索処理部による探索結果に基づいて前記第2画像内の所定範囲の第5画像を前記第1の内部メモリから読み出し、当該第5画像を前記第3の内部メモリに格納する転送処理部と、
     前記第3の内部メモリから前記第5画像を読み出し、当該第5画像に基づいて前記第2の動き探索よりも詳細な第3の動き探索を行う第3の探索処理部と、
    をさらに備える、請求項1に記載の画像処理装置。
  3.  前記第2画像は輝度データ及び色差データを含み、
     前記第1の内部メモリの単位記憶領域には、画素空間における8列×2行分の輝度データに相当する単位輝度データ、又は画素空間における8列×4行分の色差データに相当する単位色差データが格納される、請求項1又は2に記載の画像処理装置。
  4.  前記第1の内部メモリは複数のメモリバンクを有し、
     列方向に2個かつ行方向に4個並ぶ8個の単位輝度データは、異なるメモリバンクに格納される、請求項3に記載の画像処理装置。
  5.  前記第1の内部メモリは複数のメモリバンクを有し、
     列方向に1個かつ行方向に8個並ぶ8個の単位輝度データは、異なるメモリバンクに格納される、請求項3又は4に記載の画像処理装置。
  6.  前記第1の内部メモリは複数のメモリバンクを有し、
     列方向に2個かつ行方向に4個並ぶ8個の単位色差データは、異なるメモリバンクに格納される、請求項3~5のいずれか一つに記載の画像処理装置。
  7.  前記第1の内部メモリは複数のメモリバンクを有し、
     列方向に1個かつ行方向に4個並ぶ4個の単位輝度データ、及び列方向に1個かつ行方向に2個並ぶ2個の単位色差データは、異なるメモリバンクに格納される、請求項3~6のいずれか一つに記載の画像処理装置。
  8.  前記第1の内部メモリは複数のメモリバンクを有し、
     列方向に2個かつ行方向に2個並ぶ4個の単位輝度データ、及び列方向に2個かつ行方向に1個並ぶ2個の単位色差データは、異なるメモリバンクに格納される、請求項3~7のいずれか一つに記載の画像処理装置。
  9.  画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、前記第1の内部メモリが有する複数のメモリバンクのうち、各単位輝度データ及び各単位色差データを格納すべきメモリバンクを設定する第1のアドレス設定部をさらに備える、請求項3~8のいずれか一つに記載の画像処理装置。
  10.  前記第1のアドレス設定部はさらに、画素空間内における単位輝度データ及び単位色差データの位置座標に基づいて、各単位輝度データ及び各単位色差データを格納するメモリバンク内のアドレスを設定する、請求項9に記載の画像処理装置。
  11.  前記第1の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われる、請求項3~10のいずれか一つに記載の画像処理装置。
  12.  行方向に関する前記第2画像のサイズを所定の行数単位で設定することにより、前記第1の内部メモリ内に一又は複数の前記第2画像を格納可能である、請求項3~11のいずれか一つに記載の画像処理装置。
  13.  あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データ及び色差データが、前記第1の内部メモリに書き込まれる、請求項3~12のいずれか一つに記載の画像処理装置。
  14.  前記画像作成部は、前記第1の内部メモリ内において列方向に2個かつ行方向に2個並ぶ4個の単位輝度データに基づいて、画素空間における8列×2行分の1個の単位輝度データを作成し、当該単位輝度データを前記第2の内部メモリの単位記憶領域に格納する、請求項3~13のいずれか一つに記載の画像処理装置。
  15.  前記第2の内部メモリは複数のメモリバンクを有し、
     列方向に2個かつ行方向に4個並ぶ8個の単位輝度データは、異なるメモリバンクに格納される、請求項14に記載の画像処理装置。
  16.  前記第2の内部メモリは複数のメモリバンクを有し、
     列方向に1個かつ行方向に8個並ぶ8個の単位輝度データは、異なるメモリバンクに格納される、請求項14又は15に記載の画像処理装置。
  17.  画素空間内における単位輝度データの位置座標に基づいて、前記第2の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する第2のアドレス設定部をさらに備える、請求項14~16のいずれか一つに記載の画像処理装置。
  18.  前記第2のアドレス設定部はさらに、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する、請求項17に記載の画像処理装置。
  19.  前記第2の内部メモリに対するデータの読み出し及び書き込みは、時分割で行われる、請求項14~18のいずれか一つに記載の画像処理装置。
  20.  行方向に関する前記第3画像のサイズを所定の行数単位で設定することにより、前記第2の内部メモリ内に一又は複数の前記第3画像を格納可能である、請求項14~19のいずれか一つに記載の画像処理装置。
  21.  あるカレントマクロブロックを対象とする動き探索が行われている期間内に、次のカレントマクロブロックを対象とする処理において必要となる領域の輝度データが、前記第2の内部メモリに書き込まれる、請求項14~20のいずれか一つに記載の画像処理装置。
  22.  前記転送処理部は、前記第1の内部メモリ内において列方向に1個かつ行方向に2個並ぶ2個の単位輝度データに基づいて、画素空間における4列×4行分の2個の単位輝度データを生成し、当該単位輝度データを前記第3の内部メモリの単位記憶領域に格納する、請求項3~21のいずれか一つに記載の画像処理装置。
  23.  前記第3の内部メモリは複数のメモリバンクを有し、
     列方向に4個かつ行方向に4個並ぶ16個の単位輝度データは、異なるメモリバンクに格納される、請求項22に記載の画像処理装置。
  24.  画素空間内における単位輝度データの位置座標に基づいて、前記第3の内部メモリが有する複数のメモリバンクのうち、各単位輝度データを格納すべきメモリバンクを設定する第3のアドレス設定部をさらに備える、請求項22又は23に記載の画像処理装置。
  25.  前記第3のアドレス設定部はさらに、画素空間内における単位輝度データの位置座標に基づいて、各単位輝度データを格納するメモリバンク内のアドレスを設定する、請求項24に記載の画像処理装置。
  26.  前記第3の内部メモリが有する複数のメモリバンクには、第1セットに属する複数のメモリバンクと、第2セットに属する複数のメモリバンクとが含まれ、
     前記第1セット及び前記第2セットの各々に対するデータの読み出し及び書き込みは、時分割で行われる、請求項23~25のいずれか一つに記載の画像処理装置。
  27.  あるカレントマクロブロックを対象とする動き探索を行うために前記第1セット及び前記第2セットの一方からデータの読み出しが行われている期間内に、次のカレントマクロブロックを対象とする動き探索を行うために必要となるデータが、前記第1セット及び前記第2セットの他方に書き込まれる、請求項26に記載の画像処理装置。
  28.  前記第2の探索処理部による探索結果に含まれるマクロブロックパートモードに応じて、所定数の単位輝度データが前記第3の内部メモリに格納される、請求項22~27のいずれか一つに記載の画像処理装置。
  29.  前記第3の内部メモリには、画素空間内におけるカレントマクロブロックの位置に基づいて、Skip/Directベクトル用参照画像、及び(0,0)ベクトル用参照画像がさらに格納される、請求項22~28のいずれか一つに記載の画像処理装置。
PCT/JP2012/081111 2011-12-22 2012-11-30 画像処理装置 WO2013094388A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/367,632 US9443319B2 (en) 2011-12-22 2012-11-30 Image processor for motion searches

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-281870 2011-12-22
JP2011281870A JP5917907B2 (ja) 2011-12-22 2011-12-22 画像処理装置

Publications (1)

Publication Number Publication Date
WO2013094388A1 true WO2013094388A1 (ja) 2013-06-27

Family

ID=48668287

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/081111 WO2013094388A1 (ja) 2011-12-22 2012-11-30 画像処理装置

Country Status (3)

Country Link
US (1) US9443319B2 (ja)
JP (1) JP5917907B2 (ja)
WO (1) WO2013094388A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5917907B2 (ja) * 2011-12-22 2016-05-18 株式会社メガチップス 画像処理装置
JP5865696B2 (ja) * 2011-12-22 2016-02-17 株式会社メガチップス 画像処理装置
JP6490896B2 (ja) * 2013-12-17 2019-03-27 株式会社メガチップス 画像処理装置
CN110177279B (zh) * 2014-03-28 2021-10-08 联咏科技股份有限公司 视频处理装置与其视频处理电路

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072301A (ja) * 2002-08-05 2004-03-04 Matsushita Electric Ind Co Ltd 動きベクトル検出方法
JP2007189518A (ja) * 2006-01-13 2007-07-26 Matsushita Electric Ind Co Ltd 信号処理装置、撮像装置、ネットワークカメラシステム及び映像システム
JP2008022134A (ja) * 2006-07-11 2008-01-31 Megachips Lsi Solutions Inc 整数画素動き予測機構、1/4画素輝度用動き予測機構、1/4画素色差用動き予測機構、組合せ輝度用動き予測機構、組合せ輝度・色差用動き予測機構及び1/4画素輝度・色差用動き予測機構
JP2008141288A (ja) * 2006-11-30 2008-06-19 Fujitsu Ltd 動きベクトル検出装置および動きベクトル検出方法
WO2008136178A1 (ja) * 2007-04-26 2008-11-13 Panasonic Corporation 動き検出装置、動き検出方法、及び動き検出プログラム
JP2009284208A (ja) * 2008-05-22 2009-12-03 Renesas Technology Corp 動画像符号化装置及び動画像記録装置
JP2010119084A (ja) * 2008-11-11 2010-05-27 Korea Electronics Telecommun 高速動き探索装置及びその方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004248024A (ja) * 2003-02-14 2004-09-02 Kanebo Ltd 画像処理装置
US7038612B2 (en) * 2003-08-05 2006-05-02 Raytheon Company Method for SAR processing without INS data
US7705884B2 (en) * 2004-07-21 2010-04-27 Zoran Corporation Processing of video data to compensate for unintended camera motion between acquired image frames
JP2007006381A (ja) * 2005-06-27 2007-01-11 Toshiba Corp 画像処理装置
JP4590335B2 (ja) 2005-09-28 2010-12-01 キヤノン株式会社 画像処理装置及び画像処理方法
JP2008052522A (ja) * 2006-08-25 2008-03-06 Fujitsu Ltd 画像データアクセス装置及び画像データアクセス方法
TWI506595B (zh) * 2011-01-11 2015-11-01 Altek Corp 全景影像產生方法及裝置
JP5865696B2 (ja) * 2011-12-22 2016-02-17 株式会社メガチップス 画像処理装置
JP5917907B2 (ja) * 2011-12-22 2016-05-18 株式会社メガチップス 画像処理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072301A (ja) * 2002-08-05 2004-03-04 Matsushita Electric Ind Co Ltd 動きベクトル検出方法
JP2007189518A (ja) * 2006-01-13 2007-07-26 Matsushita Electric Ind Co Ltd 信号処理装置、撮像装置、ネットワークカメラシステム及び映像システム
JP2008022134A (ja) * 2006-07-11 2008-01-31 Megachips Lsi Solutions Inc 整数画素動き予測機構、1/4画素輝度用動き予測機構、1/4画素色差用動き予測機構、組合せ輝度用動き予測機構、組合せ輝度・色差用動き予測機構及び1/4画素輝度・色差用動き予測機構
JP2008141288A (ja) * 2006-11-30 2008-06-19 Fujitsu Ltd 動きベクトル検出装置および動きベクトル検出方法
WO2008136178A1 (ja) * 2007-04-26 2008-11-13 Panasonic Corporation 動き検出装置、動き検出方法、及び動き検出プログラム
JP2009284208A (ja) * 2008-05-22 2009-12-03 Renesas Technology Corp 動画像符号化装置及び動画像記録装置
JP2010119084A (ja) * 2008-11-11 2010-05-27 Korea Electronics Telecommun 高速動き探索装置及びその方法

Also Published As

Publication number Publication date
JP5917907B2 (ja) 2016-05-18
JP2013132002A (ja) 2013-07-04
US9443319B2 (en) 2016-09-13
US20140369562A1 (en) 2014-12-18

Similar Documents

Publication Publication Date Title
US20200327079A1 (en) Data processing method and device, dma controller, and computer readable storage medium
US20180137414A1 (en) Convolution operation device and convolution operation method
US20200327078A1 (en) Data processing method and device, dma controller, and computer readable storage medium
JP5917907B2 (ja) 画像処理装置
EP3093757B1 (en) Multi-dimensional sliding window operation for a vector processor
CN106846255B (zh) 图像旋转实现方法及装置
US8953904B2 (en) Image processing apparatus and method of operating image processing apparatus
JP5865696B2 (ja) 画像処理装置
JP5035412B2 (ja) メモリコントローラ及びそれを使用したメモリシステム
CN116010299A (zh) 一种数据处理方法、装置、设备及可读存储介质
US11775809B2 (en) Image processing apparatus, imaging apparatus, image processing method, non-transitory computer-readable storage medium
JP4970378B2 (ja) メモリコントローラおよび画像処理装置
JP2016134005A (ja) 画像処理装置
JP6050583B2 (ja) 画像処理装置及びメモリアクセス制御方法
JP2008541259A (ja) ブロックアクセスが可能なバッファメモリを有する画像処理回路
CN101996142A (zh) 一种访问存储器的方法及装置
JP4170173B2 (ja) ブロックマッチング演算装置
US10726516B2 (en) Arithmetic logic unit (ALU)-centric operations in graphics processing units (GPUs)
JP7427972B2 (ja) 半導体記憶装置、コントローラ、及び方法
CN108833872B (zh) 一种yuy2颜色空间快速缩放或放大的方法
JP5605225B2 (ja) メモリ制御装置、メモリマッピング方法、及び、プログラム
KR20190055693A (ko) 영상의 해상도 변환을 위한 영상 처리 장치
CN118151863A (zh) 访问sram的方法、装置及芯片
JP2024072386A (ja) 画像処理装置及び画像処理方法
CN117742594A (zh) 数据存储方法及装置、电子设备和存储介质

Legal Events

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

Ref document number: 12859705

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14367632

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12859705

Country of ref document: EP

Kind code of ref document: A1