WO2011158699A1 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
WO2011158699A1
WO2011158699A1 PCT/JP2011/063067 JP2011063067W WO2011158699A1 WO 2011158699 A1 WO2011158699 A1 WO 2011158699A1 JP 2011063067 W JP2011063067 W JP 2011063067W WO 2011158699 A1 WO2011158699 A1 WO 2011158699A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
sdram
bit
pixels
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2011/063067
Other languages
English (en)
French (fr)
Inventor
山田 恭裕
律彦 永井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Electronics Corp
Original Assignee
NTT Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Electronics Corp filed Critical NTT Electronics Corp
Priority to EP11795607.8A priority Critical patent/EP2584524A4/en
Priority to JP2012520382A priority patent/JP5616965B2/ja
Priority to CN201180029707.XA priority patent/CN102947859B/zh
Priority to CA2802666A priority patent/CA2802666C/en
Priority to US13/704,303 priority patent/US9286018B2/en
Publication of WO2011158699A1 publication Critical patent/WO2011158699A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1296Printer job scheduling or printer resource handling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images

Definitions

  • the present invention relates to an image processing apparatus that improves the access efficiency of an SDRAM in data processing of the number of bits of pixels that are not a power of 2 by using pixels without waste during image processing.
  • Patent Document 1 As a conventional technique for converting 16-bit and 10-bit, there is one described in Patent Document 1.
  • a cell of 12 pixels eg 3 ⁇ 4 as an example
  • 8 ⁇ 8 image block which is a unit of image processing frequently used in image compression, etc.
  • data for 8 pixels is not used for image processing of 8 ⁇ 8 blocks, which is a waste.
  • This waste eventually reduces access efficiency.
  • 72 pixels are accessed for 64 pixels, and the access efficiency is about 89%.
  • the present invention has been made in view of the above problems, and an object of the present invention is to use the pixels without waste during image processing and access efficiency of SDRAM in data processing of the number of bits of pixels that are not a power of 2 Providing an image processing apparatus that improves the
  • an image processing apparatus includes an image processing unit that processes data related to an image, and a memory that stores data before or after processing, and the image processing on the image is performed.
  • An area corresponding to a processing unit by a unit is a block, and an area smaller than the block corresponding to a transfer unit of data with the memory in the image is a cell, and one or more of the block and two or more in the scanning direction of the image It is characterized in that when the above cells are arranged, both ends in the scanning direction coincide with each other.
  • the present invention it is possible to use the pixels without waste during image processing, and improve the access efficiency of the SDRAM in data processing of the number of bits of pixels that are not a power of two.
  • FIG. 1 is a block diagram showing the configuration of an image processing apparatus according to an embodiment of the present invention. It is a figure showing a part of image processing device concerning an embodiment of the invention in detail. It is a flowchart in the case of reading data from SDRAM concerning embodiment of this invention. It is a flow chart in the case of writing data to SDRAM concerning an embodiment of the invention. It is a timing chart in the case of reading data from Bank A, B of SDRAM concerning embodiment of this invention.
  • FIG. 7 is a diagram showing a relationship between 16-bit data read and written from the SDRAM and 40-bit data read and written from the SRAM according to the embodiment of the present invention. It is a figure which shows the order of the setting of the address which concerns on embodiment of this invention, and burst transfer of data.
  • FIG. 7 is a diagram showing in detail the flow of the Read operation in the efficient continuous burst access according to the embodiment of the present invention in clock cycles.
  • FIG. 7 is a diagram showing that the efficiency of continuous burst access is realized even when accessing the “zigzag” according to the embodiment of the present invention.
  • FIG. 1 is a diagram showing the relationship between the block and the position of a cell included in the image of the image processing apparatus according to the present embodiment.
  • an area for eight pixels in the scanning direction (so-called horizontal direction) and eight pixels in the vertical direction (FIG. 1A) Processing is performed in units of blocks).
  • the data of one pixel is 10-bit.
  • the image processing apparatus is provided with an SDRAM (Synchronous Dynamic Random Access Memory), and the word as a unit of reading (hereinafter referred to as read) / write (hereinafter referred to as transfer) (generally referred to as transfer) is 16-bit. is there.
  • SDRAM Serial Dynamic Random Access Memory
  • 8-word continuous transfer burst access (burst transfer)) is performed.
  • the cell is an area (12 pixels) for 3 pixels in the scanning direction and 4 pixels in the vertical direction.
  • the processing of one block requires data of 64 pixels.
  • processing is performed with three blocks as the processing unit.
  • the number of blocks in the processing unit is preferably 10 or less.
  • the block is not limited to the area of 8 pixels in the scanning direction and 8 pixels in the vertical direction.
  • the block is a region for 8 pixels in the scanning direction and 16 pixels in the vertical direction, or as shown in FIG. 2B, 16 pixels for the scanning direction and 8 in the vertical direction It may be a region for pixels.
  • This block has, for example, a region of luminance components (Y component) for 8 pixels in the scanning direction and 8 pixels in the vertical direction, a region of color difference components (Cb components) for 4 pixels in the scanning direction and 8 pixels in the vertical direction, It consists of a region of color difference components (Cr components) for four pixels and eight pixels in the vertical direction.
  • Y component luminance components
  • Cb components color difference components
  • Cr components color difference components
  • the block is a region for 8 pixels in the scanning direction and 12 pixels in the vertical direction, or as shown in FIG. 2D, 12 pixels for the scanning direction and 8 in the vertical direction It may be a region for pixels.
  • This block includes, for example, a region of luminance components (Y component) for 8 pixels in the scanning direction and 8 pixels in the vertical direction, a region of color difference components (Cb components) for 4 pixels in the scanning direction and 4 pixels in the vertical direction, It consists of a region of color difference components (Cr components) for four pixels and four pixels in the vertical direction.
  • Y component luminance components
  • Cb components color difference components
  • Cr components color difference components
  • the cell is not limited to 12 pixels.
  • data of one pixel may be 12-bit and cells may be 10 pixels. Further, if two SDRAMs are used, if the doubled 16 words (256-bit) can be transferred by one burst access, the number of pixels of the cell can also be doubled.
  • the access efficiency of the SDRAM can be improved if the arrangement is performed based on the above criteria.
  • FIG. 3 is a block diagram showing the configuration of the image processing apparatus.
  • the image processing apparatus includes an image processing unit 1, an SRAM 2, an SDRAM 3, a data selector unit DS, a shift register unit 4, a data selector DS1, a counter 5, an SRAM address timing generation unit 6, an SRAM address generation table 7, and an SDRAM signal generation. And an SDRAM parameter setting unit 9.
  • the SRAM 2 is a work memory.
  • the SRAM is used as a work memory in the image processing apparatus because the random access is easy and the medium capacity is easily realized.
  • the buffer for the SDRAM 3 is composed of the SRAM 2 (work memory) and the shift register unit 4 (arrangement of a plurality of registers).
  • the SDRAM 3 has the same number of Banks, for example, eight Banks A to H, obtained by dividing a storage area into an even number.
  • the SRAM address generation table 7 shows the relationship between the configuration of the pixels in the image and the address (Bank address, Row address, Column address) of the SDRAM 3. That is, the table 7 for SRAM address generation indicates the Bank address, Row address and Column address on the SDRAM in which the data of the pixel at each position is stored.
  • the SDRAM parameter setting unit 9 is a part that sets and controls the access amount of the SDRAM 3 and the shape of the cell.
  • the SDRAM parameter setting unit 9 has different block shapes for luminance and color difference, or different block shapes for 4: 2: 2 format and 4: 2: 0 format. It is provided to require control.
  • FIG. 4 is a diagram showing a part of the image processing apparatus in detail.
  • the data selector unit DS includes data selectors DS2, DS3 and DS4.
  • the shift register unit 4 has shift registers 4AB and 4CD.
  • Data selector DS2 and shift register 4AB are used to access Banks A, C, E and G.
  • the data selector DS3 and shift register 4CD are used to access Banks B, D, F and H.
  • the shift register 4AB has a 4-stage shift register consisting of the registers 1a, 2a, 3a and 4a, and a 4-stage shift register consisting of the registers 1b, 2b, 3b and 4b.
  • the shift register 4CD has a four-stage shift register including registers 1c, 2c, 3c, and 4c, and a four-stage shift register including registers 1d, 2d, 3d, and 4d.
  • the data selectors DS2 and DS4 are connected by a 40-bit bus, and the data selectors DS3 and DS4 are also connected by a 40-bit bus.
  • Each register 1a, 2a, 3a, 4a, 1b, 2b, 3b, 4b and data selector DS2 are connected by a 16-bit bus (total 8 buses), and each register 1c, 2c, 3c, 4c, 1d, 2d , 3d and 4d and the data selector DS3 are also connected by a 16-bit bus (total 8 buses).
  • the registers 1a to 4a and the data selector DS1 are connected to a 16-bit bus by a clock signal Ra-CLK or the like.
  • the registers 1 b to 4 b and the data selector DS 1 are connected to a 16-bit bus by a clock signal Rb-CLK or the like.
  • the registers 1c to 4c and the data selector DS1 are connected to a 16-bit bus by a clock signal Rc-CLK or the like.
  • the registers 1d to 4d and the data selector DS1 are connected to a 16-bit bus by a clock signal Rd-CLK or the like.
  • the data selector DS1 and the SDRAM 3 are connected by a signal DQS, a signal DQSN (a signal obtained by delaying the signal DQS by a half clock cycle), and a 40-bit data signal DQ.
  • FIG. 5 is a flowchart in the case of reading data from the SDRAM. Here, it is assumed that “the number of blocks required until the right end of the block and the right end of the cell are aligned” in the description given with reference to FIG.
  • the SRAM address timing generation unit 6 refers to the SRAM address generation table 7 to calculate addresses (Bank address, Row address, Column address) for three unprocessed blocks of the SDRAM (S1).
  • the data of the calculated address is read from the SDRAM 3 through the data selector DS1, the shift register unit 4, and the data selector unit DS, and is written to the SRAM 2 (S3).
  • the SDRAM signal generation unit 8 controls the SDRAM 3 in accordance with the access timing of the SDRAM 3.
  • the SRAM address timing generation unit 6 performs access control of the SRAM 2.
  • the data selector DS1, the shift register unit 4, and the data selector unit DS perform layout conversion and temporary holding of data of the SRAM 2.
  • the SDRAM signal generation unit 8 controls the SDRAM 3 and also performs placement conversion and temporary holding control.
  • the SDRAM parameter setting unit 9 sets and controls the access amount of the SDRAM 3 and the shape of the cell.
  • the counter 5 is initialized to 0 (S5).
  • the image processing unit 1 reads data of one unprocessed block from the SRAM 2 (S7).
  • the SRAM address timing generation unit 6 generates an access control signal for reading.
  • the image processing unit 1 processes the data of one block (S9).
  • the image processing apparatus executes the processing of this flowchart in parallel at two different timings.
  • FIG. 6 is a flowchart in the case of writing data to the SDRAM. Also in this case, it is assumed that “the number of blocks required until the right end of the block and the right end of the cell are aligned” in the description performed with reference to FIG.
  • the counter 5 is initialized to 0 (S21).
  • the image processing unit 1 processes data of one unprocessed block (S23).
  • the image processing unit 1 writes the data to the SRAM 2 (S25).
  • the SRAM address timing generation unit 6 generates an access control signal for writing.
  • the SRAM address timing generation unit 6 refers to the table 7 for SRAM address generation, and calculates addresses (Bank address, Row address, Column address) for the processed three blocks (S31).
  • the processed three blocks of data are written from the SRAM 2 to the calculated position of the SDRAM 3 via the data selector unit DS, the shift register unit 4 and the data selector DS1 (S33), and the process returns to step S21.
  • the SDRAM signal generation unit 8 controls the SDRAM 3 in accordance with the access timing of the SDRAM 3.
  • the SRAM address timing generation unit 6 performs access control of the SRAM 2.
  • the data selector DS1, the shift register unit 4, and the data selector unit DS perform layout conversion and temporary holding of data of the SRAM 2.
  • the SDRAM signal generation unit 8 controls the SDRAM 3 and also performs placement conversion and temporary holding control.
  • the SDRAM parameter setting unit 9 sets and controls the access amount of the SDRAM 3 and the shape of the cell.
  • the data selector unit DS, the shift register unit 4, the data selector unit DS1, the SDRAM signal generation unit 8, and the SDRAM parameter setting unit 9 of the image processing apparatus are connected to two successive banks of SDRAM in order to reduce the idle period of the SDRAM. Execute in parallel with two access timings offset.
  • FIG. 7 is a timing chart in the case of reading data from Banks A and B of the SDRAM.
  • the data selector DS1 selects Bank A, and reads data to be transferred to the registers 1a to 4a and 1b to 4b from the SDRAM 3 using a 16-bit bus signal DQ.
  • 16-bit data transfer is performed eight times consecutively.
  • data selector DS1 transfers signal DQS output from SDRAM 3 to registers 1a-4a as clock signal Ra-CLK in the selection period of Bank A, and data for registers 1a-4a is a 16-bit bus. It is transmitted to the registers 1a to 4a via a signal.
  • the registers 1a to 4a acquire data at the timing of the clock signal Ra-CLK.
  • four data transfers that is, four data transfers are continuously performed.
  • data selector DS1 transfers signal DQSN output from SDRAM 3 to registers 1b-4b as clock signal Rb-CLK in the selection period of Bank A, and data for registers 1b-4b is a 16-bit bus. Transmit to registers 1b-4b via a signal.
  • the registers 1 b to 4 b acquire data at the timing of the clock signal Rb-CLK.
  • the remaining four data transfers that is, four data transfers are continuously performed. That is, the registers 1a to 4a and the registers 1b to 4b perform data transfer four times each with a timing difference of half a clock, and a total of eight data transfers are performed as one burst access.
  • the data selector DS1 selects Bank B, and reads data to be transferred to the registers 1c to 4c and 1d to 4d from the SDRAM 3 using a 16-bit bus signal DQ.
  • 16-bit data transfer is performed eight times.
  • data selector DS1 transfers signal DQS output from SDRAM 3 to registers 1c-4c as clock signal Rc-CLK in the selection period of Bank B, and data for registers 1c-4c is a 16-bit bus signal.
  • the registers 1c to 4c acquire data at the timing of the clock signal Rc-CLK.
  • four data transfers that is, four data transfers are performed.
  • the data selector DS1 transfers the signal DQSN output from the SDRAM 3 to the registers 1d to 4d as the clock signal Rd-CLK in the selection period of Bank B, and the data for the registers 1d to 4d is a 16-bit bus. It transmits to the registers 1d to 4d via a signal.
  • the registers 1d to 4d acquire data at the timing of the clock signal Rd-CLK.
  • the remaining four data transfers that is, four data transfers are performed.
  • the data selectors DS2 and DS4 transfer the data of the registers 1a to 4a and 1b to 4b to the SRAM 2 via the 40-bit bus signal.
  • 40-bit data transfer is performed three times.
  • the data selectors DS3 and DS4 perform 40-bit data of the registers 1c to 4c and 1d to 4d. To the SRAM 2 through the following bus signals.
  • the SRAM-Ad in the figure indicates an address signal of the SRAM when writing data to the SRAM 2, and the SRAM-WEN indicates a write signal to the SRAM at that time.
  • the shift register unit 4 can speed up the reading from the SDRAM by writing the other data of the Banks A and B to the SRAM while reading the data of one of the Banks A and B from the SDRAM. It can.
  • the leads from Banks A, C, E, G and from Banks B, D, F, H can also be speeded up for the same reason.
  • FIG. 8 is a timing chart in the case of writing data to Banks A and B of the SDRAM.
  • the data selectors DS2 and DS4 transfer data transmitted from the SRAM 2 via the 40-bit bus signal to the registers 1a to 4a and 1b to 4b in timing with the signal Rab-Load.
  • 40-bit data transfer is performed three times.
  • the data selectors DS3 and DS4 transfer the data transmitted from the SRAM 2 via the 40-bit bus signal to the registers 1c to 4c and 1d to 4d in timing with the signal Rcd-Load.
  • 40-bit data transfer is performed three times.
  • the SRAM-Ad in the figure shows an address signal of the SRAM when reading data from the SRAM 2, and the SRAM-Data shows a data signal at that time.
  • the data selector DS1 selects Bank A, and the clock signal Raw-CLK (clock signal Ra--) output from the registers 1a to 4a.
  • the reverse direction signal CLK) is transferred to the SDRAM 3 as the reverse direction signal DQSw of the signal DQS, and the data of the registers 1a to 4a is transferred to the SDRAM 3 by the 16-bit bus signal DQ.
  • 16-bit data transfer is performed four times.
  • the data selector DS1 outputs the clock signal Rbw-CLK (clock signal Ra-) output from the registers 1b to 4b.
  • the reverse direction signal CLK) is transferred to the SDRAM 3 as the reverse direction signal DQSNw of the signal DQSN, and the data of the registers 1b to 4b is transferred to the SDRAM 3 by the 16-bit bus signal DQ.
  • 16-bit data transfer is performed four times. That is, the registers 1a to 4a and the registers 1b to 4b perform data transfer four times each with a timing difference of half a clock, and a total of eight data transfers are performed as one burst access.
  • the data selector DS1 selects Bank B and sets the data of the registers 1c to 4c and 1d to 4d to a 16-bit bus signal. Transfer to the SDRAM 3 via Here, 16-bit data transfer is performed eight times.
  • the shift register unit 4 can speed up the reading from the SDRAM by writing the other data of the Banks A and B to the SRAM while reading the data of one of the Banks A and B from the SDRAM. It can.
  • the leads from Banks A, C, E, G and from Banks B, D, F, H can also be speeded up for the same reason.
  • FIG. 9 is a diagram showing the relationship between 16-bit data read and written from the SDRAM 3 and 40-bit data read and written from the SRAM 2. In the read from the SDRAM 3, the following data conversion is performed.
  • the data selector DS1 reads a 16-bit word eight times from the SDRAM 3 and holds it in, for example, the shift register 4AB. That is, the data selector DS1 reads 128-bit consisting of the words Wa0 to Wa7, and holds it in, for example, the shift register 4AB.
  • the data selector unit DS writes the data having four 10-bit words held in the shift register 4AB to the SRAM 2 three times. That is, the data selector unit DS converts the words Wa0 to Wa7 into 120-bits consisting of the words W00 to W03, W10 to W13, W20 to W23, and W30 to W33, and writes the same to the SRAM 2. The surplus 8-bit is discarded, for example, by the shift register 4AB and the data selector unit DS.
  • the image processing unit 1 reads the words W00 to W03, W10 to W13, and W20 to W23 from the SRAM 2.
  • the image processing unit 1 writes 120-bit consisting of the words W00 to W03, W10 to W13, and W20 to W23 to the SRAM 2.
  • the data selector unit DS reads the words W00 to W03, W10 to W13, and W20 to W23 from the SRAM 2, and holds them in, for example, the shift register 4AB. A surplus 8-bit is added to the words W00 to W03, W10 to W13, and W20 to W23.
  • the data selector DS1 converts the 128-bits after 8-bit addition into words Wa1 to Wa8 and writes the words to the SDRAM 3.
  • the Bank address to be accessed and the desired Row address in the Bank to be accessed are set to Active.
  • a predetermined time elapses after the first command Cmd-1 is issued
  • a second command Cmd-2 displays a Bank address to be accessed and a desired address in the Bank to be accessed.
  • a predetermined time burst delay time
  • 32 words of data are divided into four segments of eight words. Four segments are arranged in four banks A, B, C and D, respectively.
  • the first commands Cmd-1A, Cmd-1B, Cmd-1C, Cmd-1D are issued, and Bank A, B, C to be accessed are accessed. Addresses D and D, and desired Row addresses in Banks A, B, C and D to be accessed are set to Active (not shown in FIG. 11).
  • the second command Cmd-2A, Cmd-2B, Cmd-2C, Cmd-2D is issued, and the address of Bank A, B, C, D to be accessed and Bank A, B, to be accessed are The Read mode is specified with the start address (X1, Y1, etc.) of the Column on the desired Row address in C, D.
  • the clock width of each command, the clock width of burst delay time, and the clock width of 8-word burst access are 1 clock, 6 clocks, and 4 clocks, respectively, if the second command is issued every 4 clocks Burst access is performed efficiently and continuously (see FIG. 11).
  • the Cmd-2 latency time and the burst delay time are predetermined as specifications of the SDRAM.
  • the first command Cmd-1A, Cmd is used to perform burst access efficiently and continuously.
  • the second command Cmd-2B, Cmd-2C, Cmd-2D is issued.
  • the cell is horizontal 3 pixels ⁇ vertical 4 pixels. It is desirable that the cell also include descriptions of Bank address, Row address, and Column address.
  • 128-bit is expressed by 10-bit / pixel, it is allocated to 12 pixels (cell). There are several options for arranging these 12 pixels geometrically, but 1x12, 2x6, 3x4, 4x3, 6x2, 12x1 (the first number is horizontal) There are six types of layout methods in total: the number of pixels in the direction, and the second number the number of pixels in the vertical direction.
  • RA indicates a Row address
  • CA indicates a Column address.
  • the third stage Cells repeated in the order of Bank A, B, C, D are arranged, and the Column address changes. After the Column address reaches the maximum value, the Row address is changed and the cells repeated in the order of Bank A, B, C, D are arranged.
  • the fourth row ..., the cells repeated in the order of Bank E, F, G, H are arranged, the Column address changes, and when the Column address reaches the maximum value, the Row address is changed, Bank E, The cells repeated in the order of F, G and H are arranged, the Column address changes, and when the Column address reaches the maximum value, the Row address is changed and the cells repeated in the order of Bank E, F, G and H are arranged.
  • the reason why eight banks are alternately arranged is as follows.
  • the maximum access speed can not be obtained unless the two or more banks are alternately burst accessed. That is, since the gaps between the bursts are formed in consecutive accesses of the same Bank, the maximum access speed can not be executed continuously.
  • the Row address For access within the same Column of a Bank, the Row address needs to be changed because it is about 1024 words (16-Kbit) in size, but at this time extra time is required to change the Row address, so three or more It is necessary to use Banks alternately. It is rational in terms of circuit configuration to use four Banks alternately from the ease of control.
  • FIG. 13 is a timing chart when the configuration of the image data of FIG. 12 is adopted.
  • FIG. 13 shows the operation of eight Banks in the Read operation or the Write operation and the operation of two groups of registers in the Read operation or the Write operation along the broken line arrows of the 5 ⁇ 2 cell rectangular area of the SDRAM of FIG.
  • data transfer operation between the input / output of the image processing apparatus and the SDRAM access buffer register (reordering register) is performed.
  • the read operation of the SDRAM in the read operation, the access to the SRAM is followed by the access to the SRAM, and the bank data read is transferred to the SRAM of the image processing apparatus.
  • the SDRAM access is made after the SRAM access, and data from the image processing apparatus to be written next is transferred from the SRAM of the image processing apparatus to the SDRAM access buffer register.
  • one cell is configured as 3 pixels ⁇ 4 lines in FIG. 12, 12 pixels may be used for 1 burst access, such as 6 pixels ⁇ 2 lines.
  • a method may be considered in which all 12 pixels are luminance pixels or color difference pixels only in the case of the 4: 2: 2 color difference format.
  • different Banks may be used for the luminance signal and the color difference signal, or different Row addresses may be set for the luminance and the color difference.
  • 12 pixels may be allocated to six pixels for luminance, and the remaining six pixels may be allocated to color differences.
  • 128-bit 12-bit ⁇ 10 + 8-bit, and surplus 8-bit bits are not used and deleted.
  • the arrangement in the image memory in this case is 1 ⁇ 10, 2 ⁇ 5, 5 ⁇ 2, 10 ⁇ 1, and an appropriate one is selected from these.
  • the unit of burst access is 256 bits.
  • a method of setting 256-bit to 12-bit ⁇ 21 + 4-bit or a method of setting 12-bit ⁇ 20 + 16-bit can be considered.
  • four types of arrangement of 1 ⁇ 21, 3 ⁇ 7, 7 ⁇ 3, 21 ⁇ 1 can be considered for the arrangement in the image memory, and when allocated to 20 pixels, the arrangement in the image memory 1 ⁇ 20, 2 ⁇ 10, 4 ⁇ 5, 5 ⁇ 4, 10 ⁇ 2, 20 ⁇ 1 are conceivable.
  • this embodiment can cope with the problem.
  • ITU-T Recommendation H.2 which is a moving image coding international standard. It is possible to reduce the cost of encoders and decoders conforming to the “High 4: 2: 2 Profile” standard, the “High 10 Profile” standard, and the like for H.264, particularly for high-quality video.
  • the SDRAM access is not always sufficient. Therefore, although one SDRAM is sufficient from the storage capacity, two to four SDRAMs are used to secure the access amount.
  • a higher quality image can be obtained by expanding each pixel data from the conventional 8-bit to 10-bit, but in the case of an SDRAM, it is essential to improve the access efficiency.
  • the operating speed of the SDRAM has a clock frequency of 500 MHz or more, and the image signal processing itself has been parallelized.
  • the present invention is effective not only in the implementation of encoders and decoders suitable for such situations, but also in various signal processing applications of images (medical images, frame frequency conversion, image recognition devices, etc.).
  • HDD hard disk drive
  • HDD hard disk drive
  • This is also configured in the conventional power of 2 power unit value, and its storage capacity and access speed have been improved in recent years, but high quality AV (Audiovisual) applications such as 10-bit video and 20-bit audio etc.
  • high quality AV Audiovisual
  • the effects of the present invention are utilized.
  • DVDs Digital Versatile Disks
  • BDs Blu-ray Disks
  • the present invention can be used to realize a high quality signal processing apparatus.
  • the sector size of storage media such as HDD, DVD, and BD is larger (about 2048 bytes) than the burst size of the above-mentioned SDRAM, so every 128-bit (16 bytes) or 256-bit (32 bytes) like SDRAM.
  • Each 8-bit unit (byte) data configuration may be converted to a 10-bit unit or 12-bit unit data configuration.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Dram (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)

Abstract

画像処理装置では、3ブロックを処理単位として処理を行う。3ブロックの処理には、192(=64×3)画素のデータが必要となる。これは、16セルに相当するデータ量であり、画像の走査方向に沿って3つのブロックと16個のセルを配置した場合に互いの走査方向の両端が一致する。

Description

画像処理装置
 本発明は、画像処理時に画素を無駄なく使用して、2のべき乗でない画素のビット数のデータ処理においてSDRAMのアクセス効率を改善する画像処理装置に関するものである。
 16-bitと10-bitを変換する従来技術として、特許文献1に記載のものがある。この従来技術をSDRAMのバースト・アクセスに適用すると、1回のバースト・アクセスから12画素のセル(例として3×4)が得られる。これを画像圧縮などで多用されている画像処理の単位である8×8の画像ブロックを満たすように配置すると、6セルが必要となる。この場合、8画素分のデータが8×8ブロックの画像処理に使用されず、無駄になる。この無駄は、結局はアクセス効率の低下になる。この例の場合、64画素に対し72画素のアクセスをしていることになり、アクセス効率は約89%である。さらには、10-bit画素の場合には、12画素=120-bitのアクセスのために128-bitのアクセスをしているので、この部分のアクセス効率は約94%である。都合、約88%のアクセス効率となる。
 この89%のアクセス効率は十分なものでなく、可能な限り改善して100%近い効率となることが望ましい。
特開2001-144716号公報
 本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、画像処理時に画素を無駄なく使用して、2のべき乗でない画素のビット数のデータ処理においてSDRAMのアクセス効率を改善する画像処理装置を提供することにある。
 上記の課題を解決するために、本発明に係る画像処理装置は、画像に関するデータを処理する画像処理部と、処理前または処理後のデータを記憶するメモリとを備え、前記画像における前記画像処理部による処理単位に対応する領域をブロックとし、前記画像における前記メモリとのデータの転送単位に対応する前記ブロックより小さい領域をセルとし、前記画像の走査方向に沿って1以上の前記ブロックと2以上の前記セルを配置した場合に互いの前記走査方向の両端が一致するようになっていることを特徴とする。
 本発明によれば、画像処理時に画素を無駄なく使用して、2のべき乗でない画素のビット数のデータ処理においてSDRAMのアクセス効率を改善することができる。
本発明の実施の形態に係る画像処理装置の画像に含まれるブロックとセルの位置の関係を示す図である。 本発明の実施の形態に係るブロックの形状と大きさに関する別な例を示す図である。 本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。 本発明の実施の形態に係る画像処理装置の一部を詳細に示す図である。 本発明の実施の形態に係るSDRAMからデータをリードする場合のフローチャートである。 本発明の実施の形態に係るSDRAMにデータをライトする場合のフローチャートである。 本発明の実施の形態に係るSDRAMのBank A、Bからデータをリードする場合のタイミングチャートである。 本発明の実施の形態に係るSDRAMのBank A、Bへデータをライトする場合のタイミングチャートである。 本発明の実施の形態に係るSDRAMからリードライトされる16-bitのデータとSRAMからリードライトされる40-bitのデータの関係を示す図である。 本発明の実施の形態に係るアドレスの設定およびデータのバースト転送の順序を示す図である。 本発明の実施の形態に係る効率的な連続バースト・アクセスでのRead動作の流れを、クロック周期で詳細に示した図である。 本発明の実施の形態に係るSDRAMの1ワード=16-bit、画像データは10-bit/画素として、バースト・アクセス量が128-bitの場合の1フレームの画像データの構成例を示す図である。 図12の画像データの構成を採用した場合のタイミングチャートを示す図である。 本発明の実施の形態に係る“ジグザグ”にアクセスしても、連続バースト・アクセスの効率が実現されることを示す図である。
 以下、本発明の実施の形態について図面を参照して説明する。
 図1は、本実施の形態に係る画像処理装置の画像に含まれるブロックとセルの位置の関係を示す図である。本実施の形態に係る画像処理装置は、複数の画素をマトリクス状に配置した画像の中の、走査方向(いわゆる水平方向)8画素分、垂直方向8画素分の領域(図1(a)に示すブロック)を単位として処理を行う。1画素のデータは10-bitである。
 一方、画像処理装置は、SDRAM(Synchronous Dynamic Random Access Memory)を備え、その読み出し(以下、リードという)/書き込み(以下、ライトという)(転送と総称)の単位であるワードは、16-bitである。このSDRAMでは、8ワードの連続転送(バースト・アクセス(バースト転送))がなされる。一回のバースト・アクセスでは、16×8=128-bitが転送される。この128-bitには、12画素分のデータ(12×10=120-bit)が含まれる。この12画素を便宜的にセルという。
 図1(b)に示すように、例えば、セルは、走査方向3画素分、垂直方向4画素分の領域(12画素)である。1ブロックの処理には、64画素のデータが必要となる。図1(b)のように、セルが12画素であるなら、少なくとも6回のバースト転送(12画素×6セル=72画素分のデータ転送)が必要となる。
 すると、図1(c)に示すように、8画素分のデータが8×8ブロックの画像処理に使用されず、無駄になる。これは、画像の走査方向に沿って1つのブロックと6個のセルを配置した場合に互いの走査方向の両端を一致させることができないからである。
 そこで、画像処理装置では、3ブロックを処理単位として処理を行う。3ブロックの処理には、192(=64×3)画素のデータが必要となる。これは、16セルに相当するデータ量であり、図1(d)に示すように、画像の走査方向に沿って3つのブロックと16個のセルを配置した場合に互いの走査方向の両端が一致する。
 したがって、図1(c)に示したような、画像処理に使用されないデータがない。つまり、SDRAMのアクセス効率は100%である。
 ただし、処理単位のブロック数を多くすると、画像処理装置に使用される、SRAMの容量を大きくしなければならないので、処理単位のブロック数は、10以下が好ましい。 なお、ブロックは、走査方向8画素分、垂直方向8画素分の領域に限るものではない。
 例えば、ブロックは、図2(a)に示すように、走査方向8画素分、垂直方向16画素分の領域、または、図2(b)に示すように、走査方向16画素分、垂直方向8画素分の領域でもよい。このブロックは、例えば、走査方向8画素分、垂直方向8画素分の輝度成分(Y成分)の領域、走査方向4画素分、垂直方向8画素分の色差成分(Cb成分)の領域、走査方向4画素分、垂直方向8画素分の色差成分(Cr成分)の領域からなる。このような配置を4:2:2色差フォーマットという。
 または、ブロックは、図2(c)に示すように、走査方向8画素分、垂直方向12画素分の領域、または、図2(d)に示すように、走査方向12画素分、垂直方向8画素分の領域でもよい。このブロックは、例えば、走査方向8画素分、垂直方向8画素分の輝度成分(Y成分)の領域、走査方向4画素分、垂直方向4画素分の色差成分(Cb成分)の領域、走査方向4画素分、垂直方向4画素分の色差成分(Cr成分)の領域からなる。このような配置を4:2:0色差フォーマットという。 また、セルは、12画素に限るものではない。
 例えば、1画素のデータを12-bitとし、セルを10画素としてもよい。また、SDRAMを2個使用すれば、一回のバースト・アクセスで2倍の16ワード(256-bit)を転送できれば、セルの画素数も2倍にできる。
 このように、ブロックやセルの大きさや形状が変わった場合であっても、上記のような基準で配置を行えば、SDRAMのアクセス効率を向上させることができる。
 図3は、画像処理装置の構成を示すブロック図である。画像処理装置は、画像処理部1、SRAM2、SDRAM3、データセレクタ部DS、シフトレジスタ部4、データセレクタDS1、カウンタ5、SRAMアドレスタイミング生成部6と、SRAMアドレス生成用テーブル7と、SDRAM信号生成部8と、SDRAMパラメータ設定部9を有する。
 SRAM2は、ワークメモリである。SRAMは、ランダムアクセスが容易で、中規模容量のものを実現しやすいため、画像処理装置の内部のワークメモリとして用いられる。
 SDRAM3用のバッファは、SRAM2(ワークメモリ)とシフトレジスタ部4(複数レジスタの配列)から構成される。
 SDRAM3は、記憶領域を偶数個に分割してなる同数のBank、例えば、8個のBank A~Hを有する。
 SRAMアドレス生成用テーブル7は、画像内の画素の構成とSDRAM3のアドレス(Bankアドレス、Rowアドレス、Columnアドレス)の関係を示すものである。つまり、SRAMアドレス生成用テーブル7は、各位置の画素のデータが記憶されるSDRAM上のBankアドレス、RowアドレスおよびColumnアドレスを示すものである。
 SDRAMパラメータ設定部9は、SDRAM3のアクセス量とセルの形状を設定、制御する部分である。SDRAMパラメータ設定部9は、輝度と色差でブロックの形状が異なるため、または、4:2:2フォーマットと4:2:0フォーマットではブロックの形状が異なるため、同じ3ブロックのアクセスにおいても異なるアクセス制御が必要となるために設けられている。
 図4は、画像処理装置の一部を詳細に示す図である。データセレクタ部DSは、データセレクタDS2、DS3、DS4を有する。シフトレジスタ部4は、シフトレジスタ4AB、4CDを有する。
 データセレクタDS2、シフトレジスタ4ABは、Bank A、C、E、Gへのアクセスに使用される。データセレクタDS3、シフトレジスタ4CDは、Bank B、D、F、Hへのアクセスに使用される。
 シフトレジスタ4ABは、レジスタ1a、2a、3a、4aからなる4段のシフトレジスタと、レジスタ1b、2b、3b、4bからなる4段のシフトレジスタを有する。
 シフトレジスタ4CDは、レジスタ1c、2c、3c、4cからなる4段のシフトレジスタと、レジスタ1d、2d、3d、4dからなる4段のシフトレジスタを有する。
 データセレクタDS2、DS4は、40-bitのバスで接続され、データセレクタDS3、DS4も、40-bitのバスで接続される。
 各レジスタ1a、2a、3a、4a、1b、2b、3b、4bとデータセレクタDS2は、16-bitのバス(合計8バス)で接続され、各レジスタ1c、2c、3c、4c、1d、2d、3d、4dとデータセレクタDS3も、16-bitのバス(合計8バス)で接続される。
 レジスタ1a~4aとデータセレクタDS1は、16-bitのバスとクロック信号Ra-CLKなどで接続される。レジスタ1b~4bとデータセレクタDS1は、16-bitのバスとクロック信号Rb-CLKなどで接続される。レジスタ1c~4cとデータセレクタDS1は、16-bitのバスとクロック信号Rc-CLKなどで接続される。レジスタ1d~4dとデータセレクタDS1は、16-bitのバスとクロック信号Rd-CLKなどで接続される。データセレクタDS1とSDRAM3は、信号DQS、信号DQSN(信号DQSを半クロック周期分遅らせた信号)、40-bitのデータ信号DQで接続される。
 図5は、SDRAMからデータをリードする場合のフローチャートである。ここでは、図1を参照して行った説明における、「ブロックの右端とセルの右端とが揃うまでに必要なブロック数」が3であることとする。
 まず、SRAMアドレスタイミング生成部6が、SRAMアドレス生成用テーブル7を参照し、SDRAMの未処理の3ブロック分のアドレス(Bankアドレス、Rowアドレス、Columnアドレス)を算出する(S1)。
 次に、算出したアドレスのデータが、SDRAM3からデータセレクタDS1、シフトレジスタ部4、データセレクタ部DSを介してリードされ、SRAM2にライトされる(S3)。
 このとき、SDRAM信号生成部8は、SDRAM3のアクセス・タイミングに対応してSDRAM3を制御する。このとき、SRAMアドレスタイミング生成部6は、SRAM2のアクセス制御を行う。このとき、データセレクタDS1、シフトレジスタ部4、データセレクタ部DSは、SRAM2のデータの配置変換と一時保持を行う。SDRAM信号生成部8は、SDRAM3を制御するとともに、配置変換と一時保持の制御を行う。SDRAMパラメータ設定部9は、SDRAM3のアクセス量とセルの形状を設定、制御する。
 次に、カウンタ5を0に初期化する(S5)。次に、画像処理部1は、SRAM2から未処理の1ブロック分のデータをリードする(S7)。このとき、SRAMアドレスタイミング生成部6は、リードのためのアクセス制御信号を生成する。 
 次に、画像処理部1は、その1ブロック分のデータを処理する(S9)。
 次に、カウンタ5に1を加算する(S11)。次に、カウンタ5が3に等しいか否かを判定する(S13)。NOと判定された場合、ステップS7に戻し、YESと判定された場合、ステップS1に戻る。
 なお、画像処理装置は、SDRAMに効率的にアクセスするため、このフローチャートの処理を2つタイミングをずらして並行に実行する。
 図6は、SDRAMにデータをライトする場合のフローチャートである。ここでも、図1を参照して行った説明における、「ブロックの右端とセルの右端とが揃うまでに必要なブロック数」が3であることとする。
 カウンタ5を0に初期化する(S21)。次に、画像処理部1は、未処理の1ブロック分のデータを処理する(S23)。
 次に、画像処理部1は、そのデータをSRAM2にライトする(S25)。このとき、SRAMアドレスタイミング生成部6は、ライトのためのアクセス制御信号を生成する。
 次に、カウンタ5に1を加算する(S27)。次に、カウンタ5が3に等しいか否かを判定する(S29)。NOと判定された場合、ステップS23に戻る。
 YESと判定された場合、SRAMアドレスタイミング生成部6が、SRAMアドレス生成用テーブル7を参照し、処理された3ブロック分のアドレス(Bankアドレス、Rowアドレス、Columnアドレス)を算出する(S31)。
 次に、処理された3ブロック分のデータが、SRAM2からデータセレクタ部DS、シフトレジスタ部4、データセレクタDS1を介して、SDRAM3の算出された位置にライトされ(S33)、ステップS21に戻る。
 このとき、SDRAM信号生成部8は、SDRAM3のアクセス・タイミングに対応してSDRAM3を制御する。このとき、SRAMアドレスタイミング生成部6は、SRAM2のアクセス制御を行う。このとき、データセレクタDS1、シフトレジスタ部4、データセレクタ部DSは、SRAM2のデータの配置変換と一時保持を行う。SDRAM信号生成部8は、SDRAM3を制御するとともに、配置変換と一時保持の制御を行う。SDRAMパラメータ設定部9は、SDRAM3のアクセス量とセルの形状を設定、制御する。
 なお、画像処理装置のデータセレクタ部DS、シフトレジスタ部4、データセレクタ部DS1、SDRAM信号生成部8、SDRAMパラメータ設定部9は、SDRAMの遊休期間を少なくすべく、連続する2つのSDRAMのBankアクセスの2つタイミングをずらして並行に実行する。
 図7は、SDRAMのBank A、Bからデータをリードする場合のタイミングチャートである。
 まず、データセレクタDS1は、Bank Aを選択し、レジスタ1a~4a、1b~4bへ転送するためのデータをSDRAM3から16-bitのバス信号DQによりリードする。ここでは、16-bitのデータ転送が連続8回行われる。
 また、データセレクタDS1は、Bank Aの選択期間において、SDRAM3から出力される信号DQSをレジスタ1a~4aへクロック信号Ra-CLKとして転送し、レジスタ1a~4aのためのデータを16-bitのバス信号を介して、レジスタ1a~4aへ送信する。レジスタ1a~4aは、クロック信号Ra-CLKのタイミングでデータを取得する。ここでは、4回分のデータ転送つまり4回のデータ転送が連続に行われる。
 また、データセレクタDS1は、Bank Aの選択期間において、SDRAM3から出力される信号DQSNをレジスタ1b~4bへクロック信号Rb-CLKとして転送し、レジスタ1b~4bのためのデータを16-bitのバス信号を介して、レジスタ1b~4bへ送信する。レジスタ1b~4bは、クロック信号Rb-CLKのタイミングでデータを取得する。ここでは、残りの4回分のデータ転送つまり4回のデータ転送が連続に行われる。すなわち、レジスタ1a~4aとレジスタ1b~4bは、半クロックのタイミング差でそれぞれ4回のデータ転送が行われ、合わせて8回のデータ転送が1回のバースト・アクセスとして行われる。
 次に、データセレクタDS1は、Bank Bを選択し、レジスタ1c~4c、1d~4dへ転送するためのデータをSDRAM3から16-bitのバス信号DQによりリードする。ここでは、16-bitのデータ転送が8回行われる。
 また、データセレクタDS1は、BankBの選択期間において、SDRAM3から出力される信号DQSをレジスタ1c~4cへクロック信号Rc-CLKとして転送し、レジスタ1c~4cのためのデータを16-bitのバス信号を介して、レジスタ1c~4cへ送信する。レジスタ1c~4cは、クロック信号Rc-CLKのタイミングでデータを取得する。ここでは、4回分のデータ転送つまり4回のデータ転送が行われる。
 また、データセレクタDS1は、Bank Bの選択期間において、SDRAM3から出力される信号DQSNをレジスタ1d~4dへクロック信号Rd-CLKとして転送し、レジスタ1d~4dのためのデータを16-bitのバス信号を介して、レジスタ1d~4dへ送信する。レジスタ1d~4dは、クロック信号Rd-CLKのタイミングでデータを取得する。ここでは、残りの4回分のデータ転送つまり4回のデータ転送が行われる。
 また、Bank Bの選択期間において、データセレクタDS2、DS4は、レジスタ1a~4a、1b~4bのデータを40-bitのバス信号を介してSRAM2へ転送する。ここでは、40-bitのデータ転送が3回行われる。
 次に、Bank Aが次に選択され、レジスタ1a~4a、1b~4bが次のデータを取得する間において、データセレクタDS3、DS4は、レジスタ1c~4c、1d~4dのデータを40-bitのバス信号を介してSRAM2へ転送する。
 図のSRAM-Adは、SRAM2にデータをライトする際の、SRAMのアドレス信号を示し、SRAM-WENは、そのときのSRAMへの書き込み信号を示す。
 以降、同様に、レジスタ1a~4a、1b~4bを介してのBank Aからのリードと、レジスタ1c~4c、1d~4dを介してのBank Bからのリードが交互になされる。
 このように、Bank Aからのリードはレジスタ1a~4a、1b~4bを介して行われ、Bank Bからのリードはレジスタ1c~4c、1d~4dを介して行われるので、これらは交互に行われる。よって、Bank A、C、E、Gにいずれかからのリードと、Bank B、D、F、Hのいずれかからのリードも同様に、交互に行われる。
 また、シフトレジスタ部4は、Bank A、Bの一方のデータをSDRAMからリードする間において、Bank A、Bの他方のデータをSRAMにライトすることで、SDRAMからのリードを高速化することができる。Bank A、C、E、Gからのリードと、Bank B、D、F、Hのいずれかからのリードも、同様な理由で高速化することができる。
 図8は、SDRAMのBank A、Bへデータをライトする場合のタイミングチャートである。
 まず、データセレクタDS2、DS4は、SRAM2から40-bitのバス信号を介して送信されるデータを、信号Rab-Loadにタイミングを合わせて、レジスタ1a~4a、1b~4bへ転送する。ここでは、40-bitのデータ転送が3回行われる。
 次に、データセレクタDS3、DS4は、SRAM2から40-bitのバス信号を介して送信されるデータを、信号Rcd-Loadにタイミングを合わせて、レジスタ1c~4c、1d~4dへ転送する。ここでも、40-bitのデータ転送が3回行われる。
 図のSRAM-Adは、SRAM2からデータをリードする際の、SRAMのアドレス信号を示し、SRAM-Dataは、そのときのデータ信号を示す。
 また、このようにレジスタ1c~4c、1d~4dがデータを取得する間において、データセレクタDS1は、Bank Aを選択し、レジスタ1a~4aから出力されるクロック信号Raw-CLK(クロック信号Ra-CLKの逆方向信号)をSDRAM3へ信号DQSの逆方向信号DQSwとして転送し、レジスタ1a~4aのデータを16-bitのバス信号DQにより、SDRAM3へ転送する。ここでは、16-bitのデータ転送が4回行われる。
 また、Bank Aの選択期間において、つまり、レジスタ1c~4c、1d~4dがデータを取得する間において、データセレクタDS1は、レジスタ1b~4bから出力されるクロック信号Rbw-CLK(クロック信号Ra-CLKの逆方向信号)をSDRAM3へ信号DQSNの逆方向信号DQSNwとして転送し、レジスタ1b~4bのデータを16-bitのバス信号DQにより、SDRAM3へ転送する。ここでも、16-bitのデータ転送が4回行われる。すなわち、レジスタ1a~4aとレジスタ1b~4bは、半クロックのタイミング差でそれぞれ4回のデータ転送が行われ、合わせて8回のデータ転送が1回のバースト・アクセスとして行われる。
 次に、レジスタ1a~4a、1b~4bが次のデータを取得する間において、データセレクタDS1は、Bank Bを選択し、レジスタ1c~4c、1d~4dのデータを16-bitのバス信号を介して、SDRAM3へ転送する。ここでは、16-bitのデータ転送が8回行われる。
 以降、同様に、レジスタ1a~4a、1b~4bを介してのライトと、レジスタ1c~4c、1d~4dを介してのライトが交互になされる。
 このように、Bank Aへのライトはレジスタ1a~4a、1b~4bを介して行われ、Bank Bへのライトはレジスタ1c~4c、1d~4dを介して行われるので、これらは交互に行われる。よって、Bank A、C、E、Gのいずれかへのライトと、Bank B、D、F、Hのいずれかへのライトも同様に、交互に行われる。
 また、シフトレジスタ部4は、Bank A、Bの一方のデータをSDRAMからリードする間において、Bank A、Bの他方のデータをSRAMにライトすることで、SDRAMからのリードを高速化することができる。Bank A、C、E、Gからのリードと、Bank B、D、F、Hのいずれかからのリードも、同様な理由で高速化することができる。
 図9は、SDRAM3からリードライトされる16-bitのデータとSRAM2からリードライトされる40-bitのデータの関係を示す図である。SDRAM3からのリードにおいては、以下のような関係のデータ変換がなされる。
 まず、データセレクタDS1は、SDRAM3から16-bitのワードを8回リードし、例えばシフトレジスタ4ABに保持させる。つまり、データセレクタDS1は、ワードWa0~Wa7からなる128-bitをリードし、例えば、シフトレジスタ4ABに保持させる。
 次に、例えば、データセレクタ部DSは、シフトレジスタ4ABに保持された、10-bitのワードを4つ有するデータを3回でSRAM2へライトする。つまり、データセレクタ部DSは、ワードWa0~Wa7を、ワードW00~W03、W10~W13、W20~W23、W30~W33からなる120-bitに変換し、SRAM2にライトする。余剰の8-bitは、例えば、シフトレジスタ4ABとデータセレクタ部DSで破棄される。
 次に、画像処理部1は、ワードW00~W03、W10~W13、W20~W23をSRAM2からリードする。
 一方、SDRAM3へのライトにおいては、以下のような関係のデータ変換がなされる。
 まず、画像処理部1は、ワードW00~W03、W10~W13、W20~W23からなる120-bitをSRAM2へライトする。
 次に、データセレクタ部DSは、SRAM2からワードW00~W03、W10~W13、W20~W23をリードし、例えば、シフトレジスタ4ABに保持させる。ワードW00~W03、W10~W13、W20~W23には余剰の8-bitが付加される。
 次に、データセレクタDS1は、8-bit付加後の128-bitをワードWa1~Wa8に変換し、SDRAM3にライトする。
 (SDRAMのバースト・アクセスの概要)
 図10を参照してSDRAMのバースト・アクセスの概要を説明する。なお、図10では、各コマンドが大きな時間幅を有しているが、実際には1クロック幅である。
 SDRAMの内部は、複数のBank(DDR3-SDRAMでは4~8個のBank)に分割されている。例えば、2-GbitのSDRAMが8個のBankに分割されている場合、1個のBankは256-Mbitの大きさを有する。このSDRAMのワード幅が16-bitの場合、ワード数は16Mワード(=256-Mbit/16-bit)であるため、16Mワードに割り当てられるアドレスのビット数は24-bitとなる。この24-bitのアドレスはRowアドレスとColumnアドレスに分けられる。それゆえ、SDRAMにアクセスする場合、Bankアドレス、Rowアドレス、Columnアドレスからなるアドレス群が必要である。
 第1のコマンドCmd-1にて、アクセス対象のBankアドレスと、アクセス対象のBank内の所望のRowアドレスをActiveに設定する。第1のコマンドCmd-1を発行してから所定の時間(Cmd-2待ち時間)が経過すると、第2のコマンドCmd-2にて、アクセス対象のBankアドレスと、アクセス対象のBank内の所望のRowアドレス上のColumnの開始アドレスと、Read/Writeモード(バースト・アクセス設定を含む)を指定する。第2のコマンドCmd-2を発行してから所定の時間(バースト遅延時間)が経過すると、指定されたColumnの開始アドレスを起点にして、バースト・アクセス(8ワードの連続転送)によるReadあるいはWrite動作が行われる。
(SDRAMのバースト・アクセスを効率的に行う方法)
 図11を参照してSDRAMのバースト・アクセスを効率的に行う方法を説明する。
 例えば、32ワードのデータをSDRAMに配置する場合、SDRAMでは同じBankの異なるRowアドレスに連続してバースト・アクセスできないため、例えば、32ワードのデータを8ワードからなる4つのセグメントに分割して、4つのセグメントを4つのBank A,B,C,Dにそれぞれ配置する。このように配置された32ワードのデータを読み取る場合、最初に、第1のコマンドCmd-1A,Cmd-1B,Cmd-1C,Cmd-1Dを発行して、アクセス対象のBank A,B,C,Dのアドレスと、アクセス対象のBank A,B,C,D内の所望のRowアドレスをActiveに設定する(図11では図示略)。次に、第2のコマンドCmd-2A,Cmd-2B,Cmd-2C,Cmd-2Dを発行して、アクセス対象のBank A,B,C,Dのアドレスと、アクセス対象のBank A,B,C,D内の所望のRowアドレス上のColumnの開始アドレス(X1,Y1など)と、Readモードを指定する。ここで、各コマンドのクロック幅,バースト遅延時間のクロック幅,8-wordバースト・アクセスのクロック幅を、それぞれ1クロック,6クロック,4クロックとすると、第2のコマンドを4クロック毎に発行すると、バースト・アクセスが効率良く連続して行われる(図11参照)。
 Cmd-2待ち時間とバースト遅延時間は、SDRAMの仕様として予め定められている。上記の例において、Cmd-2待ち時間が3つの第1のコマンドを発行し終わる時間に等しい場合には、バースト・アクセスを効率良く連続して行うために、第1のコマンドCmd-1A,Cmd-1B,Cmd-1Cを発行した後に、第2のコマンドCmd-2Aを発行する。そして、第1のコマンドCmd-1Dを発行した後に、第2のコマンドCmd-2B,Cmd-2C,Cmd-2Dを発行する。
 通常、第1のコマンドの発行からバースト・アクセスの開始までには、12クロック程度の時間を要する。連続バースト・アクセスにおいて、アクセス対象のBankアドレスとRowアドレスが同じである場合には、最初に発行された第1のコマンドを共通に使用できるので、2つ目の第2のコマンドの発行から2回目のバースト・アクセスの開始までには、8クロック程度の時間を要する。SDRAMでは、8クロック以下の間隔で第1のコマンドを随時発行できるので、互いに異なるBankに対して、8ワードのバースト・アクセスを連続的に行うと、隙間のない最も効率の良いアクセスが可能となる。従って、SDRAMのアクセス効率のためには、(1)各Bankに配置されるデータのセグメントに対して、8ワードのバースト・アクセスを行う、(2) 隣接するデータのセグメントは互いに異なるBankに配置される、(3) 大きな量のデータに対して連続バースト・アクセスを行う場合には、必要に応じて、第1のコマンドにより、アクセス対象のBankアドレスとRowアドレスの変更を行う。
 このように、コマンドの最適なスケジューリングに基づいて、複数のBankに連続バースト・アクセスを行えば、単位時間あたりの最大アクセス量が実現される。Write動作時も同様な処理を行うことで、単位時間あたりの最大アクセス量が実現される。
 図12は、SDRAMの1ワード=16-bit、画像データは10-bit/画素として、バースト・アクセス量が128-bitの場合の1フレームの画像データの構成例を示す図である。
 ここでは、セルは、水平3画素×垂直4画素である。セルには、Bankアドレス、Rowアドレス、Columnアドレスの記述も含めるのが望ましい。
 128-bitを10-bit/画素で表現すると、12画素(セル)に割り当てられる。この12画素を幾何学的にどう配置するか、幾つかの選択肢があるが、1×12、2×6、3×4、4×3、6×2、12×1(最初の数字は水平方向の画素数、2つめの数字を垂直方向の画素数)の計6種類の配置方法がある。図中RAはRowアドレス、CAはColumnアドレスを示している。
 図12では、第1段、第3段、…はBank A、B,C、Dの順に繰り返したセルが並び、Columnアドレスが変化していく。Columnアドレスが最大値に達した後は、Rowアドレスを変えてBank A、B、C、Dの順に繰り返したセルが並ぶ。第2段、第4段、…はBank E、F、G、Hの順に繰り返したセルが並び、Columnアドレスが変化し、Columnアドレスが最大値に達すると、Rowアドレスを変えて、Bank E、F、G、Hの順に繰り返したセルが並び、Columnアドレスが変化し、Columnアドレスが最大値に達すると、Rowアドレスを変えてBank E、F、G、Hの順に繰り返したセルが並ぶ。
 図12において、網掛けの5×2の矩形領域中を、折れ線矢印で示した順序でアクセスする場合を説明する。上段のセルから下段のセルに移動した際に、同じBankであった場合は連続アクセスができない。垂直移動した際に同一Bankの連続アクセスを避け、別のBankとするためには、8個のBankを配置すればよい。このように、上段と下段でBank並びが変わるため、Rawアドレスの変化があっても、連続バースト・アクセスが可能となる。
 つまり、8個のBankを交互に配置しているのは以下の理由による。 2つ以上のBankを交互にバースト・アクセスしないと、最大アクセス速度が得られない。つまり、同一Bankのアクセスの連続にはバースト間のギャップができてしまうので、最大アクセス速度を連続して実行できない。
 あるBankの同一Column内のアクセスでは、1024ワード(16-Kbit)程度の大きさなのでRowアドレスを変更する必要があるが、そのときRowアドレス変更には余分な時間が必要なため、3つ以上のBankを交互に用いる必要がある。制御のしやすさから、4つのBankを交互に用いるのが回路構成上は合理的である。
 セルを水平方向にいくつかアクセスし、続いて垂直方向に1セルずらして再度セルをアクセスする場合、異なるBankでなければ最大アクセス速度を実行できないので、水平方向には4個のBankを順に並べ、垂直方向には2つのBankを交互に並べた配置とする。このようにすれば、どのような矩形領域(複数ブロック領域)でも最大アクセス速度でSDRAMのバースト・アクセスが実現できる。
 図13は、図12の画像データの構成を採用した場合のタイミングチャートを示す図である。図13は図12のSDRAMの5×2セルの矩形領域を折れ線矢印に沿って、Read動作、あるいはWrite動作における8個のBankの動作と2組のレジスタ群の動作を示している。
 図13において、SRAMアクセスとして示した部分は、画像処理装置の入出力とSDRAMアクセス用バッファ・レジスタ(並べ替えレジスタ)間のデータ転送動作が行われる。SDRAMのRead動作時は、Read動作ではSDRAMのアクセスの後SRAMアクセスとなり、ReadしたBankデータが画像処理装置のSRAMに転送される。SDRAMのWrite動作時は、SRAMアクセス後のSDRAMアクセスとなり、次にWriteすべき画像処理装置からのデータが、画像処理装置のSRAMからSDRAMアクセス用バッファ・レジスタに転送されている。
 図13に示すように、8個のセルで交互に配置することによって、5×2の矩形領域アクセスにおいても、Bank C、D、A,B,C、G、H、E,F,Gの順になり、連続バースト・アクセスが可能となっている。
 なお、図12では、1セルを3画素×4ラインとして構成しているが、6画素×2ラインなど、1バースト・アクセスで12画素であればよい。
 さらには、カラー画像を考えると、4:2:2色差フォーマットの場合だけでも、12画素を全て輝度画素、あるいは色差画素とする方法が考えられる。この場合、輝度信号と色差信号で異なるBankを用いてもいいし、輝度と色差で異なるRowアドレスを設定してもよい。また、12画素を、6画素分を輝度に、残り6画素分を色差に割り当ててもよい。
 本実施形態では、1画素を10-bitで処理した場合を説明したが、1画素を12-bitで処理する場合、データ幅12-bitとSDRAM高速バースト・アクセスの単位となる128-bitとの対応は、128-bit中、12-bitが10個として扱う。
 この場合、128-bit=12-bit×10+8-bitとし、余剰bitの8-bitは使用せず削除する。この場合の画像メモリでの配置は、1×10、2×5、5×2、10×1となり、これらから適切なものを選択する。
 2チップ構成のSDRAMを並列使用した場合、バースト・アクセスの単位が256-bitとなる。このとき、256-bitを12-bit×21+4-bitとする方法と、12-bit×20+16-bitとする方法が考えられる。21画素に割り当てた場合、画像メモリでの配置を1×21、3×7、7×3、21×1の4種類の配置が考えられ、20画素に割り当てた場合、画像メモリでの配置を1×20、2×10、4×5、5×4、10×2、20×1が考えられる。
 以上のように、メモリにアクセスする際のビット幅と画像処理装置にアクセスする際のビット幅が異なる場合であっても、本実施形態では対応が可能である。
 図14では、必ずしも水平方向の隣接領域へのアクセス、あるいは垂直方向の上限隣接領域への連続アクセスとはしなくても、“ジグザグ”にアクセスしても、連続バースト・アクセスの効率が実現されることを示している。
 以上、本発明の実施の形態について説明したが、上記画像処理装置によれば、より具体的な応用分野として、動画像符号化国際標準であるITU-T Recommendation H.264の、特に高品質映像を目的にした”High 4:2:2 Profile”規格、”High 10 Profile”規格などに準拠したエンコーダやデコーダを低価格に構成することが可能になる。
 動画像のエンコーダやデコーダの実装にはSDRAMの接続が不可欠と言える。近年、SDRAMはDDR、DDR2、そしてDDR3へと進化して、現在主流のDDR3 SDRAMの記憶容量は1-Gbit~2-Gbit程度になり、これはハイビジョン画像を30~60フレーム分記憶できる容量である。H.264のエンコーダあるいはデコーダの構成には通常4~6フレーム程度の記憶容量で実現可能であり、記憶容量としては近年のSDRAMは十分過ぎる容量がある。
 他方、SDRAMアクセスについては、必ずしも十分ではなく、そのため、記憶容量からはSDRAMが1個あれば十分だが、アクセス量を確保するため、2個~4個のSDRAMを用いている。
 各画素データを従来の8-bitから10-bitに拡張することにより、より高品質な画像が得られるが、SDRAMを考えると、そのアクセス効率を高める工夫が不可欠である。そして同時に、SDRAMの動作速度は500MHz以上のクロック周波数となり、画像信号処理自体も並列処理化となってきている。本発明はこうした状況に適したエンコーダとデコーダの実現と共に、画像のさまざまな信号処理応用(医療画像、フレーム周波数変換、画像認識装置など)においても効果を発揮する。
 また、高品質画像の長期的保存には、HDD(ハード・ディスク・ドライブ)も重要な記憶装置である。これも従来の2のべき乗数値単位の構成となっており、近年その記憶容量もアクセス速度も向上しているが、10-bitビデオや20-bitディオなどのような高品質AV(Audiovisual)応用には、本発明の効果が生かされる。HDDと同様にDVD(Digital Versatile Disk)やBD(Blu-ray Disk)なども2のべき乗数値のデータ構成のため、高品質信号処理装置の実現には本発明が生かされる。
 HDDやDVD、BDなどの蓄積メディアのセクターサイズは前述のSDRAMのバーストサイズに比較して大きいので(2048バイト程度)、SDRAMと同様に128-bit(16バイト)毎や256-bit(32バイト)毎に8-bit単位(バイト)のデータ構成から10-bit単位や12-bit単位のデータ構成に変換してもよい。
 1…画像処理部
 2…SRAM
 3…SDRAM
 4…シフトレジスタ部
 5…カウンタ
 6…SRAMアドレスタイミング生成部
 7…SRAMアドレス生成用テーブル
 8…SDRAM信号生成部
 9…SDRAMパラメータ設定部
 DS…データセレクタ部
 DS1~DS4…データセレクタ
 4AB、4CD…シフトレジスタ
 1a~4a、1b~4b、1c~4c、1d~4d…レジスタ

Claims (1)

  1.  画像に関するデータを処理する画像処理部と、
     処理前または処理後のデータを記憶するメモリとを備え、
     前記画像における前記画像処理部による処理単位に対応する領域をブロックとし、前記画像における前記メモリとのデータの転送単位に対応する前記ブロックより小さい領域をセルとし、前記画像の走査方向に沿って1以上の前記ブロックと2以上の前記セルを配置した場合に互いの前記走査方向の両端が一致するようになっていることを特徴とする画像処理装置。
PCT/JP2011/063067 2010-06-17 2011-06-07 画像処理装置 Ceased WO2011158699A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP11795607.8A EP2584524A4 (en) 2010-06-17 2011-06-07 Image processing device
JP2012520382A JP5616965B2 (ja) 2010-06-17 2011-06-07 画像処理装置
CN201180029707.XA CN102947859B (zh) 2010-06-17 2011-06-07 图像处理装置
CA2802666A CA2802666C (en) 2010-06-17 2011-06-07 Image processing device
US13/704,303 US9286018B2 (en) 2010-06-17 2011-06-07 Image processing device for improved access efficiency

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-138566 2010-06-17
JP2010138566 2010-06-17

Publications (1)

Publication Number Publication Date
WO2011158699A1 true WO2011158699A1 (ja) 2011-12-22

Family

ID=45348104

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/063067 Ceased WO2011158699A1 (ja) 2010-06-17 2011-06-07 画像処理装置

Country Status (6)

Country Link
US (1) US9286018B2 (ja)
EP (1) EP2584524A4 (ja)
JP (1) JP5616965B2 (ja)
CN (1) CN102947859B (ja)
CA (1) CA2802666C (ja)
WO (1) WO2011158699A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5614490B2 (ja) * 2011-03-10 2014-10-29 Nttエレクトロニクス株式会社 メモリアクセス装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9514510B2 (en) * 2013-03-29 2016-12-06 Mediatek Inc. Method and apparatus for arranging pixels of picture in storage units each having storage size not divisible by pixel size

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001144716A (ja) 1999-11-12 2001-05-25 Matsushita Electric Ind Co Ltd 映像信号の時分割多重分離装置
JP2007312358A (ja) * 2006-04-17 2007-11-29 Matsushita Electric Ind Co Ltd 画像データ転送方法、画像処理装置、及び撮像システム
JP2009116763A (ja) * 2007-11-09 2009-05-28 Sony Corp 画像処理装置および画像データのメモリアクセス方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5881383A (ja) * 1981-11-11 1983-05-16 Dainippon Screen Mfg Co Ltd 2値画像のデ−タ圧縮方法
JPH10269706A (ja) * 1997-03-27 1998-10-09 Sony Corp 情報再生装置及び情報再生方法
JP3687269B2 (ja) * 1997-05-08 2005-08-24 ブラザー工業株式会社 画像処理装置
US6456746B2 (en) * 1999-01-26 2002-09-24 Sarnoff Corporation Method of memory utilization in a predictive video decoder
US6801209B1 (en) * 1999-12-30 2004-10-05 Intel Corporation Method and apparatus for storing data in a block-based memory arrangement
JP2004264540A (ja) * 2003-02-28 2004-09-24 Toshiba Tec Corp 画像形成装置及び画像形成装置の画像表示方法
JP2004334295A (ja) * 2003-04-30 2004-11-25 Yamaha Corp 記憶装置
US20090070570A1 (en) * 2007-09-11 2009-03-12 Shubhodeep Roy Choudhury System and Method for Efficiently Handling Interrupts
WO2010014696A1 (en) * 2008-07-29 2010-02-04 Marvell World Trade, Ltd. Processing rasterized data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001144716A (ja) 1999-11-12 2001-05-25 Matsushita Electric Ind Co Ltd 映像信号の時分割多重分離装置
JP2007312358A (ja) * 2006-04-17 2007-11-29 Matsushita Electric Ind Co Ltd 画像データ転送方法、画像処理装置、及び撮像システム
JP2009116763A (ja) * 2007-11-09 2009-05-28 Sony Corp 画像処理装置および画像データのメモリアクセス方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2584524A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5614490B2 (ja) * 2011-03-10 2014-10-29 Nttエレクトロニクス株式会社 メモリアクセス装置

Also Published As

Publication number Publication date
EP2584524A4 (en) 2017-05-24
CN102947859B (zh) 2016-03-30
CA2802666A1 (en) 2011-12-22
CN102947859A (zh) 2013-02-27
EP2584524A1 (en) 2013-04-24
US20130088756A1 (en) 2013-04-11
JPWO2011158699A1 (ja) 2013-08-19
JP5616965B2 (ja) 2014-10-29
US9286018B2 (en) 2016-03-15
CA2802666C (en) 2015-08-11

Similar Documents

Publication Publication Date Title
US8918589B2 (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
US7668040B2 (en) Memory device, memory controller and memory system
EP1990804B1 (en) Memory device, memory controller and memory system
US7755953B2 (en) Semiconductor memory device with minimum burst length bit transfer in parallel to and from a FIFO block
CN106201363B (zh) 视频流像素级数据随机实时访问的存储器及存储方法
CN103237157B (zh) 一种实时高清视频图像转置器
CN100446084C (zh) 画面数据传送方法、影像数据传送方法以及时序控制模块
JP6131357B1 (ja) 半導体記憶装置とそのアドレス制御方法
JP5137374B2 (ja) メモリマッピング方法及び装置
JP5616965B2 (ja) 画像処理装置
CN101903868B (zh) 存储装置以及其控制方法
TW200923650A (en) Data accessing apparatus and method
JP2002260380A (ja) 集積回路メモリ、そのメモリを含むシステム及びその動作方法、並びに半導体装置
JP3288327B2 (ja) 映像メモリ回路
JP4821410B2 (ja) メモリ制御方法、メモリ制御装置、画像処理装置およびプログラム
JP2012113597A (ja) メモリ装置、メモリ制御回路及びメモリ制御システム
TW201235974A (en) Image processing apparatus and memory accessing method thereof
JP4415785B2 (ja) 画像信号処理装置およびその方法
JP2008146235A (ja) 画像処理装置
JP2008041142A (ja) メモリアクセス方法
JP2008226128A (ja) 信号処理回路

Legal Events

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

Ref document number: 201180029707.X

Country of ref document: CN

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

Ref document number: 11795607

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012520382

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 2802666

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 13704303

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011795607

Country of ref document: EP