[go: up one dir, main page]

WO2006013690A1 - 画像復号装置 - Google Patents

画像復号装置 Download PDF

Info

Publication number
WO2006013690A1
WO2006013690A1 PCT/JP2005/012310 JP2005012310W WO2006013690A1 WO 2006013690 A1 WO2006013690 A1 WO 2006013690A1 JP 2005012310 W JP2005012310 W JP 2005012310W WO 2006013690 A1 WO2006013690 A1 WO 2006013690A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
block
reference image
memory
compensation
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/JP2005/012310
Other languages
English (en)
French (fr)
Inventor
Takeshi Tanaka
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to US11/632,548 priority Critical patent/US8428126B2/en
Priority to JP2006531327A priority patent/JP4668914B2/ja
Priority to EP05765215.8A priority patent/EP1775961B1/en
Publication of WO2006013690A1 publication Critical patent/WO2006013690A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Definitions

  • the present invention relates to an image decoding apparatus that decodes or expands a compressed image, and is particularly suitable for decoding a compressed image in accordance with the MPEG4 AV standard, Moving Picture Experts uroup phase 4 Advanced ideo Codings I3 ⁇ 4Ol4 496-10).
  • the present invention relates to image decoding technology.
  • MPEG Motion Picture Experts Group
  • ISOZIEC18818-2 MPEG2 video standard
  • ISOZIEC14496-2 MPEG4 visual standard
  • Such an image decoding apparatus decodes a variable-length encoded stream related to a compressed image taken in a memory such as a large-capacity DRAM (Dynamic Random Access Memory) and reads the stream from the memory.
  • Variable length decoding is used to extract motion vectors, block data, etc. for each macroblock (MB: Macroblock), and for each macroblock, block data is referenced with reference to the reference image specified by the motion vector in that memory.
  • motion compensation processing equivalent to so-called motion detection inverse processing (hereinafter referred to as “motion compensation processing”) is performed, and the decoded image obtained as a result of the motion compensation processing is recorded in the memory.
  • motion compensation processing equivalent to so-called motion detection inverse processing
  • a conventional image decoding apparatus performs pipeline control in which each component that performs each process necessary for decoding is operated in parallel in units of macroblocks in order to decode compressed images at high speed. .
  • FIG. 13 is a diagram illustrating an execution sequence of the knock line control in the conventional image decoding apparatus.
  • a variable-length decoder (VLD) processing queue, motion compensation processing unit, and DMA (Direct Memory Access) controller operate in parallel.
  • the DMA controller can perform stream transfer processing for DMA transfer of a variable-length encoded stream for one macroblock from the memory to the variable-length decoding processing unit, and motion compensation for the reference image corresponding to one macroblock from the memory.
  • the reference image transfer processing for DMA transfer to the processing unit and the decoded image transfer processing for DMA transfer of the decoded image corresponding to one macroblock obtained by the motion compensation processing unit to the memory are performed as synchronization cycles in the noise control. Executed in time division within each cycle time. Here, each cycle time is also called a time slot (TS)!
  • n is an arbitrary integer
  • the reference image transfer process corresponding to is executed by the DMA controller in the (n + 2) second time slot, and the motion compensation processing power corresponding to the macro block + is executed by the motion compensation processing unit in the third time slot.
  • the decoded image transfer process corresponding to the macroblock is executed by the DMA controller in the (n + 4) th time slot.
  • the conventional image decoding device has the maximum time required for processing in units of one macroblock for each component that executes reference image transfer processing, variable length decoding processing, motion compensation processing, and the like.
  • a cycle time that satisfies the decoding performance of one macroblock required by the image decoding device is determined, and pipeline control is performed so that each component executes processing in synchronization with each cycle time. is doing.
  • reference image transfer which is a memory access for supplying a reference image corresponding to each macro block to the motion compensation processing unit, in order to optimally perform pipeline control based on the processing time of one macro block unit. Each process was performed in one cycle time.
  • the MPEG4AVC standard (see Non-Patent Document 1) developed in recent years has scalability for target images, from small images such as QCIF (Quarter Common Intermediate Format) to HD (High Definition) images. This is a standard for content that is divided into multiple levels based on the size of the image.
  • the maximum number of motion vectors corresponding to one macroblock was 4 in the MPEG2 video standard, but increased to 32 in the MPEG4AVC standard.
  • Non-Patent Document 1 ISO / IEC 14496 10 Information technology-Coding of audiovisual objects ⁇ Part 10: Advanced video and oamg
  • the conventional image decoding apparatus described above is designed to be able to decode an image compressed in accordance with the provisions for the level corresponding to a large image of the MPEG4AVC standard, the conventional image decoding device can be used within one cycle time.
  • the memory bus bandwidth needs to be significantly increased to handle the possibility of transferring more than twice the reference image from the memory to the motion compensation processing unit. For this reason, a large-capacity memory for storing images needs to operate at a higher frequency, for example, and as a result, the manufacturing cost of the image decoding device increases greatly.
  • the present application has been made in view of the above problems, and is an image decoding apparatus capable of decoding an image compressed in accordance with a level definition corresponding to a large image of the MPEG4AVC standard.
  • An object of the present invention is to provide an image decoding device having a configuration for suppressing a large memory bus bandwidth.
  • an image decoding device decodes a compressed image for each block, and performs motion compensation for a block compressed based on a reference image.
  • An image decoding apparatus that performs decoding including compensation processing corresponding to the above, has a memory for storing a reference image group, and an input canister for storing the reference image, and is stored in an input buffer.
  • Compensation means for sequentially performing compensation processing for one block with reference to a reference image, and within each cycle time, as long as there is a reference image corresponding to one block, all the reference images are read from the memory and Reference image transfer means for writing to the input buffer; and determination means for determining whether or not the total amount of reference images read from the memory by the reference image transfer means at each cycle time is greater than a predetermined reference amount Greater and within the determined cycle time by said determining means, other than the access for the reference image reading, characterized in that it comprises a suppression means for suppressing access to the memory.
  • the cycle time is a period of a predetermined period of time, for example, a unit time in pipeline control.
  • the image decoding apparatus suppresses other memory accesses for reading the reference image within the cycle time when the amount of reference image read from the memory is large.
  • the maximum amount of data transferred in time can be reduced, which makes it possible to reduce the memory bus bandwidth.
  • the maximum amount of memory between the memory and the cycle time is achieved. Need to transfer the amount of data transfer.
  • the image according to the present invention Memory accesses temporarily inhibited within a certain cycle time A by the decoding device need only be performed at the next cycle time B when the data transfer amount for the reference image is reduced. Therefore, the image decoding apparatus according to the present invention does not cause any particular problem by suppressing memory access at a certain cycle time.
  • the image decoding apparatus further includes acquisition means for acquiring a motion vector corresponding to one block that is sequentially compressed based on the reference image, and the compensation means refers to the reference image. Then, based on the motion vector acquired by the acquisition unit, a compensation process for a block is performed, and all the reference images corresponding to one block transferred by the reference image transfer unit are Specified by each motion vector corresponding to the block acquired by the means, and the determination means has a total amount of reference images corresponding to the blocks read from the memory at each cycle time larger than a predetermined reference amount. Whether or not the number of motion vectors corresponding to the block acquired by the acquisition unit is greater than a predetermined threshold. Even Rukoto!,.
  • the image decoding apparatus further includes an output buffer for storing a decoded image for a block after compensation processing is performed by a compensation unit, and a decoded image for one block sequentially.
  • a decoded image transfer means for reading from the output buffer and writing to the memory, wherein the suppression means suppresses access to the memory by the decoded image transfer means within a cycle time determined to be large by the determination means. It is good to do.
  • VLD processing unit that shares the decoding of the compressed image by making the memory access for writing the decoded image into the memory a suppression control target. Between each unit such as motion compensation processing unit Therefore, the memory bus bandwidth can be controlled relatively easily without the need to change the processing time relationship.
  • the capacity of the output buffer is a capacity capable of storing decoded images of two blocks, and the decoded image transfer means is within the cycle time next to the cycle time suppressed by the suppression means.
  • the decoded image for two blocks in succession is read out and written into the memory, and the decoded image for one block is stored in the output buffer within the other cycle times. Read from and write to the memory.
  • the decoded image suppressed in a certain cycle time is written to the memory in the next cycle time, which is a relatively small amount of transfer of the reference image, it is performed in units of frames.
  • the compressed image can be decoded with almost no increase in the decoding time of the image.
  • the memory includes block header information including block information and block data including information indicating whether or not each block is compressed based on the reference image and a motion vector.
  • the image decoding apparatus further includes variable length decoding means for performing variable length decoding when an encoded stream is input, and an encoded stream from the memory.
  • variable length decoding means for performing variable length decoding when an encoded stream is input, and an encoded stream from the memory.
  • intra processing means for performing decoding processing without referring to a reference image for the block data of the sequentially transmitted block
  • the motion vector is obtained from the result of variable length decoding by the variable length decoding means, and the result of variable length decoding by the variable length decoding means is obtained.
  • the block data is transmitted to the compensation means for the block compressed based on the reference image, and is compressed based on the reference image for the block!
  • the output buffer after the decoding processing by the intra processing means is transmitted to the intra processing means.
  • the decoded image may be stored in the block! /.
  • the memory includes block header information and a block including information indicating whether or not the power is a block compressed based on the reference image for each block and a motion vector.
  • an encoded stream obtained by variable-length encoding data including data and the image decoding device further includes variable-length decoding means for performing variable-length decoding when encoded stream data is input.
  • a stream transfer unit that sequentially reads an encoded stream from the memory and inputs the encoded stream to the variable length decoding unit; and an intra processing unit that performs a decoding process that does not refer to a reference image on block data of the sequentially transmitted block
  • the obtaining means obtains the motion vector from the result of variable length decoding by the variable length decoding means, and further uses the block data resulting from variable length decoding by the variable length decoding means based on a reference image.
  • the compressed block is transmitted to the compensation means, and is compressed based on the reference image.
  • the block is previously compressed. Transmitted to the intra processing unit, the restraining means, the per cent, in the cycle time it is determined as large by the determining means Te, it is also possible to prevent access to the memory by the stream transfer unit.
  • the image decoding apparatus decodes a compressed image for each block! A block compressed based on a reference image! It is an image decoding device that performs decoding including compensation processing corresponding to motion compensation, and stores a reference image group memory and a reference image for two blocks for storing the reference image. Compensation means that has an input buffer with sufficient capacity and performs compensation processing for one block sequentially with reference to the reference image stored in the input buffer, and for each of the two blocks sequentially within two consecutive cycle times Reference image transfer means for reading all reference images from the memory and writing them in the input buffer as long as there is a corresponding reference image.
  • the image decoding apparatus further includes a processing unit that processes the decoded image after the compensation processing by the compensation unit is performed, and one of the processing unit and the compensation unit includes the reference image transfer The processing corresponding to one block for each cycle time is performed in parallel with the means, and the processing corresponding to the block started to be transferred within a certain cycle time by the reference image transfer means Just start running in a later cycle time!
  • the image decoding method performs decoding on a block-by-block basis for a compressed image stored in a memory together with a reference image group, and uses a block compressed based on the reference image!
  • An image decoding method that performs decoding including compensation processing corresponding to motion compensation, and sequentially reads all reference images from the memory as long as there is a reference image corresponding to one block within each cycle time.
  • the access to the memory other than the access for reading the reference image is suppressed within the cycle time determined to be more in the determination step.
  • suppression step characterized in that it comprises a compensation step for compensating processing for the plant constant for referring to a reference image stored in the buffer sequentially one block.
  • the image decoding method performs decoding on a block-by-block basis for a compressed image stored in a memory together with a reference image group, and uses a block compressed based on the reference image!
  • Image transfer that is read from the memory and written to a predetermined buffer.
  • the transmission step is executed in parallel with a compensation step for sequentially performing compensation processing for one block with reference to the reference image stored in the predetermined buffer.
  • the reference image Since the restriction to complete transfer within 1 cycle time is removed, the memory bus band allows the maximum data transfer amount of the reference image corresponding to 1 macroblock to be transferred within 1 cycle time. The width does not have to be determined, and the requirement for the memory bus bandwidth can be relaxed accordingly.
  • the semiconductor integrated circuit decodes a compressed image for each block, and blocks compressed based on the reference image!
  • the semiconductor integrated circuit performs decoding including compensation processing corresponding to motion compensation, and includes a memory storing a reference image group and an input buffer for storing the reference image.
  • Compensation circuit section that performs compensation processing for one block sequentially with reference to the reference image stored in, and all reference images as long as there is a reference image corresponding to one block sequentially within each cycle time,
  • a reference image transfer circuit unit that reads from the memory and writes the input image to the input buffer, and determines whether or not the total amount of reference images that the reference image transfer circuit unit reads from the memory at each cycle time is greater than a predetermined reference amount
  • a deterrence circuit unit that deters access.
  • the maximum data transfer amount within the cycle time is suppressed in order to suppress other memory accesses for reading the reference image during the cycle time when the amount of reference image read from the memory is large. This makes it possible to reduce the width of the memory bus band.
  • the semiconductor integrated circuit decodes a compressed image for each block, and generates a block compressed based on the reference image!
  • This is a semiconductor integrated circuit that performs decoding including compensation processing corresponding to motion compensation, and includes a memory storing a reference image group and two blocks of reference images for storing the reference image.
  • An input buffer with enough storage capacity And a compensation circuit unit that sequentially performs compensation processing for one block with reference to a reference image stored in the input buffer, and a reference image corresponding to each of the two blocks sequentially within two consecutive cycle times.
  • a reference image transfer circuit unit that reads out all reference images from the memory and writes them to the input canoffer as much as possible.
  • FIG. 1 is a configuration diagram of an image decoding device 100 according to Embodiment 1 of the present invention.
  • FIG. 2 is a diagram illustrating a structure of stream data of a compressed image.
  • FIG. 3 is a diagram illustrating a relationship between a macroblock and a reference image.
  • FIG. 4 is a flowchart showing control details of decoding by a control unit 110 for a macroblock.
  • FIG. 5 is a diagram showing an execution sequence of pipeline control by the control unit 110.
  • FIG. 6 is a diagram showing DMA transfer control in the image decoding apparatus 100.
  • FIG. 7 is a configuration diagram of an image decoding device 500 according to Embodiment 2 of the present invention.
  • FIG. 8 is a flowchart showing control details of decoding of macroblocks by control unit 510.
  • FIG. 9 is a diagram showing an execution sequence of pipeline control by control unit 510.
  • FIG. 10 is a flowchart showing DMA transfer instruction issue processing by control unit 510.
  • FIG. 11 is a diagram showing DMA transfer control in the image decoding apparatus 500.
  • FIG. 12 is a diagram showing an image of an image decoding device 100 in which a part other than the memory 120 is realized as the semiconductor integrated circuit 101.
  • FIG. 13 is a diagram illustrating an execution sequence of pipeline control in a conventional image decoding apparatus.
  • FIG. 1 is a configuration diagram of an image decoding device 100 according to Embodiment 1 of the present invention.
  • the image decoding apparatus 100 includes a control unit 110, a memory 120, a DMA controller 130, a variable length decoding (VLD) processing unit 140, an inverse frequency conversion processing unit 150, and a motion compensation processing unit 160. , An intra processing unit 170, a deblock filter processing unit 180, and an output buffer 190.
  • the memory 120 is a DRAM for storing an encoded stream in which a compressed image or the like is variable-length encoded, and for storing a reference image.
  • image is used as a term indicating a concept including image data that expresses the contents of the displayed image!
  • the DMA controller 130 has a queue for receiving an instruction accompanied by memory address designation or the like from the control unit 110, and according to the received instruction, the memory 120 and the VLD processing unit 140, the motion compensation processing unit 160, or the output buffer 190 Responsible for transferring data between the two.
  • the VLD processing unit 140 performs variable-length decoding on the encoded stream, and the stream data power of the compressed image It has the function of extracting the type and motion vector and transmitting them to the control unit, and extracting the block data representing the so-called difference value, which is the substance of the macro block and frequency-converted, and transmitting it to the inverse frequency conversion processing unit 150.
  • the compressed image stream data includes an I picture, a P picture, a B picture and! /, A slice header 210 indicating the picture type, etc., and a macro block header for each macro block. 220 and block data 230 are configured to be continuous.
  • the macro block header 220 includes a macro block type indicating whether an inter macro block compressed in the inter mode based on the reference image, an intra macro block compressed in the intra mode without using the reference image, and a motion. Including vectors.
  • the inverse frequency conversion processing unit 150 has a function of outputting a difference value obtained by performing inverse frequency conversion on the block data transmitted from the VLD processing unit 140.
  • the motion compensation processing unit 160 has an input buffer 161, calculates the reference image power stored in the input buffer 161, an image with a quarter-pel accuracy, and the macro block output by the inverse frequency conversion processing unit 150. It has a function of executing a compensation process for reconstructing an image by adding the difference value, that is, a process corresponding to a so-called inverse process of motion compensation (here, “motion compensation process” ⁇ ⁇ ).
  • the intra processing unit 170 has a function of performing intra processing, that is, a difference value for the macroblock output by the inverse frequency conversion processing unit 150 and the macroblock. It has a function of reconstructing an image by adding the peripheral image.
  • the deblocking filter processing unit 180 has a function of performing deblocking filter processing on the reconstructed image output from the motion compensation processing unit 160 or the intra processing unit 170, that is, a deblocking filter for suppressing block noise. It has a function of obtaining a decoded image by sending it to the output buffer 190.
  • the output canoffer 190 is a buffer memory having a capacity sufficient to store a decoded image for two macroblocks.
  • the control unit 110 includes a processor, a ROM (Read Only Memory), a timer, and the like in terms of hardware, and the processor executes the program stored in the ROM, so that the image decoding device 100
  • Each component implements pipeline control in which each process related to decoding in units of macroblocks is performed in parallel at predetermined cycle times.
  • the DMA controller 130, the VLD processing unit 140, the reverse frequency Controls the number conversion processing unit 150, the motion compensation processing unit 160, the intra processing unit 170, and the deblock filter processing unit 180, and as a functional component, a stream transfer control unit 111, an acquisition unit 112, and a reference image transfer control Unit 113, decoded image transfer control unit 114, and inhibition determination unit 116.
  • the stream transfer control unit 111 has a function of instructing the DMA controller 130 to transfer the encoded stream from the memory 120 to the VLD processing unit 140.
  • the acquisition unit 112 acquires a motion vector and a macroblock type from the VLD processing unit 140, transmits them to the reference image transfer control unit 113, counts the number of motion vectors, and transmits the number of the motion vectors to the suppression determination unit 116.
  • the reference image transfer control unit 113 identifies the position of each reference image according to each motion vector, specifies the address of each reference image, and sets each cycle time. 1 has a function of instructing the DMA controller 130 to transfer all reference images corresponding to one macroblock from the memory 120 to the input buffer 161 of the motion compensation processing unit 160.
  • the decoded image transfer control unit 114 is a non-output information storage unit that stores information indicating whether or not a force is transmitted from the output buffer 190 to the decoded image memory 120 within one cycle time. 115, and has a function of instructing the DMA controller 130 to transfer the decoded image in the output buffer 190 to the memory 120.
  • the suppression determination unit 116 includes a threshold storage unit 117 that stores a threshold value related to the number of motion vectors in advance, and compares the number of motion vectors transmitted from the acquisition unit 112 with the threshold value to determine the motion vector. It has a function of determining whether or not the number exceeds the threshold, and inhibiting the decoded image transfer control unit 114 from instructing transfer of the decoded image to the memory 120 according to the determination result.
  • the determination of whether or not the number of motion vectors exceeds the threshold in the suppression determination unit 116 is to indirectly determine whether or not the data transfer amount of the reference image corresponding to the motion vector is greater than a predetermined amount. Therefore, when the data transfer amount of the reference image in a certain cycle time is larger than the predetermined amount, the suppression determination unit 116 suppresses the instruction to write the decoded image in the memory 120 at the cycle time.
  • FIG. 3 is a diagram showing the relationship between the macroblock and the reference image.
  • a plurality of macro blocks formed by dividing the compressed image 300 are composed of a luminance signal and a color difference signal.
  • the luminance signal is shown.
  • one macro block is 16 pixels ⁇ 16 pixels. This is a signal for pixels.
  • the motion vector 301 is related to the macroblock 311 and the reference image.
  • the difference of the spatial position from 321 is shown.
  • the reference image 320 corresponds to a partial set of reference images such as the reference image 321.
  • the threshold value storage unit 117 stores a threshold value S that is the smallest integer that satisfies the following formula 1.
  • the function f (x) is a function indicating the total bit amount of the reference image when the number of motion vectors is the power
  • V is the upper limit number of motion vectors over two consecutive macroblocks
  • C is the total bit amount of decoded image for one macroblock.
  • the determination based on the threshold value S makes it possible to determine whether or not the amount of reference image for DMA transfer is greater than a predetermined amount equal to or greater than (V ⁇ S) + C.
  • the control unit 110 determines macroblocks to be sequentially decoded from among the macroblocks constituting the compressed image, and controls each component of the image decoding apparatus 100 within each cycle time by pipeline control.
  • One of the six macroblocks is processed in order, but here we explain what kind of processing is performed on one macroblock.
  • FIG. 4 is a flowchart showing the contents of decoding control performed on the macroblock by the control unit 110.
  • the stream transfer control unit 111 of the control unit 110 issues a transfer instruction to the DMA controller 130 to transfer the encoded stream from the memory 120 to the VLD processing unit 140 (step S11).
  • the DMA controller 130 that has received the transfer instruction of the encoded stream by the queue transfers the encoded stream for one macroblock.
  • the control unit 110 activates the VLD processing unit 140 (step S12), and the VLD processing unit 140 extracts the motion vector and the macroblock type from the encoded stream force and transmits the motion vector and the macroblock type to the acquisition unit 112 and the block. Data is extracted and transmitted to the inverse frequency conversion processing unit 150.
  • the control unit 110 activates the inverse frequency conversion processing unit 150 (step S13), and the inverse frequency conversion processing unit 150 performs inverse frequency conversion on the block data and outputs it.
  • the control unit 110 determines whether the macroblock type of the macroblock is an inter macroblock or an intra macroblock (step S14). If the macroblock type is an inter macroblock, the acquisition unit 112 of the control unit 110 The motion vector is transmitted to the reference image transfer control unit 113, and the reference image transfer control unit 113 calculates the position of each reference image based on the position of each macroblock and each motion vector. (Step S15), specify that address, and issue an instruction to the DMA controller 130 to transfer the reference image from the memory 120 to the input buffer 161 (step S16). The motion compensation processing unit 160 is activated (step S17), and the deblock filter processing unit 180 is activated (step S18). The DMA controller 130 that has received the transfer instruction of the reference image in step S16 by the queue selects all the reference images corresponding to one macroblock. Transfer to input buffer 161.
  • step S 17 the motion compensation processing unit 160 reconstructs the image based on the reference image in the input buffer 161 and the block data subjected to the inverse frequency conversion! sent to the block filtering process unit 180, also fat port Kkufiruta processing unit 180 as a result of step S 18 is to suppress the block noise of the reconstructed image is stored in the output Roh Ffa 1 9 ⁇ .
  • step S14 determines whether the macroblock type for the macroblock is an intra macroblock.
  • control unit 110 skips steps S15 to S17 and activates intra processing unit 170.
  • Step S19 the deblocking filter processing unit 180 is activated (Step S18).
  • the intra processing unit 170 reconstructs the image with the block data force subjected to the inverse frequency conversion and sends it to the deblock filter processing unit 180.
  • the suppression determination unit 116 of the control unit 110 compares the number of motion vectors acquired by the acquisition unit 112 with the threshold S stored in the threshold storage unit 117, and the number of motion vectors sets the threshold S. Beyond! In the case of uttering (step S20), the decoded image transfer control unit 114 sends the decoded image to the memory 120 without issuing an instruction related to the DMA transfer, and the unoutput information in the non-output information storage unit 115 is Then, a setting is made to indicate that the decoded image has not been sent to the memory (step S21).
  • the decoded image transfer control unit 114 refers to the non-output information and stores the decoded image for the previous macroblock in the memory. It is determined whether or not the transmission has been performed (step S22), and if the transmission has not been performed, the decoded image transfer control unit 114 sends the decoded image of a certain macroblock to the decoded image of the macro block.
  • step S23 Issuing an instruction to transfer the decoded image of 2 macroblocks from the output buffer 190 to the memory 120 together with the decoded image of the macroblock (step S23), then clear the unoutput information, that is, not output
  • the information is updated to indicate that there is no decoded image whose information has not been transmitted (step S24), and when the decoded image for the previous macroblock has not been transmitted, the decoded image transfer control unit 114
  • the DMA controller 130 issues an instruction to transfer the decoded image of a macro-block from the output node Ffa 190 in the memory 120 (step S25), and non-output information Clear the information (step S24).
  • step S23 or S25 block noise is suppressed by the deblocking filter processing unit 180, and the DMA transfer is performed to the decoded image power memory 120 stored in the output buffer 190.
  • the processing for one macro block has been basically explained in order according to FIG. 4.
  • the control unit 110 actually performs pipeline control, and in the flowchart of FIG.
  • the operation shown in each step is first executed at each cycle time, which is the periodic time of the knock line control.
  • the macroblocks to be processed are not the same repulsive force Step S11, Step S12, Step S13, Step S15 to S16, Step S17 or Step S19, Step S18, and Step S20 to S25 Each of these can be executed in any order as long as they are executed at the beginning of each cycle time.
  • each unit by the control unit 110 has a significance of transmitting the start of each cycle, and each unit corresponds to a basic block corresponding to one macro block within each cycle time. Do it.
  • FIG. 5 is a diagram illustrating an execution sequence of pipeline control by the control unit 110.
  • time slot TS n (where n is an arbitrary integer) means the nth cycle time.
  • MB #n indicates that the nth macroblock is a processing target.
  • the stream transfer processing performed by the DMA controller 130 according to the instruction of the stream transfer control unit 111 and the VLD processing unit 140 are performed.
  • Variable length decoding processing, inverse frequency conversion processing performed by the inverse frequency conversion processing unit 150, reference image transfer processing performed by the DMA controller 130 in accordance with instructions from the reference image transfer control unit 113, and a motion compensation processing unit The motion compensation processing performed by 160 or the intra processing performed by the intra processing unit 170, the deblocking filter processing performed by the deblocking filter processing unit 180, and the DMA controller 130 according to the instruction of the decoded image transfer control unit 114.
  • the decoded image transfer process to be performed is performed in parallel.
  • FIG. 5 illustrates the decoded image transfer process.
  • the number of motion vectors exceeds the threshold S
  • An example is shown assuming that the number has been exceeded.
  • FIG. 6 is a diagram showing DMA transfer control in the image decoding apparatus 100.
  • the DMA controller 130 performs a stream transfer process in which a variable-length encoded stream of one macroblock is DMA-transferred from the memory 120 to the VLD processing unit 140, and a reference image corresponding to one macroblock is motion-compensated from the memory 120.
  • Each cycle time includes a reference image transfer process for DMA transfer to the input buffer 1 61 of the processing unit 160 and a decoded image transfer process for DMA transfer of the decoded image corresponding to one macroblock stored in the output buffer 190 to the memory 120. Execute in a time-sharing manner.
  • symbol A indicates the transfer time of the encoded stream corresponding to one macroblock that is the target of the stream transfer process
  • symbol B indicates the target of the reference image transfer process.
  • An example of the transfer time of various amounts of reference images corresponding to one macroblock is shown.
  • Symbol C indicates the transfer time of the decoded image corresponding to one macroblock that is the target of the decoded image transfer process. ing.
  • the example in FIG. 6 corresponds to the example in FIG.
  • the amount of the reference image transferred by DMA is large!
  • the image decoding apparatus 100 according to Embodiment 1 described above has a configuration that performs DMA transfer of all reference images corresponding to one macro block within each cycle time.
  • the image decoding apparatus 500 according to Embodiment 2 also allows the DMA transfer of all reference images corresponding to one macroblock to be completed within one cycle time, and each successive two macroblocks are allowed to complete. It has a configuration that controls so that DMA transfer of all corresponding reference images is completed within 2 cycle times.
  • FIG. 7 is a configuration diagram of an image decoding device 500 according to Embodiment 2 of the present invention.
  • the image decoding apparatus 500 includes a control unit 510, a memory 120, a DMA controller 130, a variable length decoding (VLD) processing unit 140, an inverse frequency conversion processing unit 150, a buffer 551, and motion compensation.
  • a processing unit 560, an intra processing unit 170, a deblock filter processing unit 180, and an output buffer 590 are provided.
  • the same constituent elements as those of the image decoding apparatus 100 shown in Embodiment 1 are denoted by the same reference numerals as those in FIG. A detailed explanation of is omitted.
  • the motion compensation processing unit 560 includes an input buffer 561 having a capacity sufficient to store all reference images corresponding to two consecutive macroblocks, and the reference image data stored in the input buffer 561 is stored in the input buffer 561. In addition, it has a function of executing motion compensation processing for reconstructing an image by adding the image calculated by calculating a quarter-pel accuracy image and the difference value for the macroblock output by the inverse frequency conversion processing unit 150. .
  • the output canoffer 590 is a buffer memory having a capacity sufficient to store a decoded image for one macroblock.
  • control unit 510 includes a processor, a ROM (Read Only Memory), a timer, and the like in terms of hardware.
  • the control unit 510 includes Each component implements pipeline control in which each process related to decoding in units of macroblocks is performed in parallel at predetermined cycle times.
  • the DMA controller 130, the VLD processing unit 140, the reverse frequency The number conversion processing unit 150, the motion compensation processing unit 560, the intra processing unit 170, and the deblock filter processing unit 180 are controlled, and the stream transfer control unit 111, the acquisition unit 112, and the reference image transfer control are provided as functional components.
  • the reference image transfer control unit 513 specifies the position of each reference image according to each motion vector, and each reference image And a function for instructing the DMA controller 130 to transfer each reference image from the memory 120 to the input buffer 561 of the motion compensation processing unit 560.
  • This instruction is given at each cycle time start point.
  • the DMA transfer corresponding to the instruction stored in the queue of the MA controller 130 does not necessarily start at the start of the cycle time. However, the DMA transfer corresponding to the DMA transfer must be completed within two cycle times after the instruction to transfer the reference image.
  • the decoded image transfer control unit 514 has a function of instructing the DMA controller 130 to transfer the decoded image for one macroblock in the output buffer 590 to the memory 120 within one cycle time.
  • the noffer 551 is a buffer memory for temporarily storing the data output from the inverse frequency conversion processing unit 150.
  • the macro block processed at the cycle time in which the inverse frequency conversion processing unit 150 is processed is the next one. It is also provided for processing by the motion compensation processing unit 560 or the intra processing unit 170 in the next cycle time.
  • Control unit 510 determines macroblocks to be sequentially decoded from among the macroblocks constituting the compressed image, and sequentially controls each of the constituent elements of image decoding apparatus 500 within each cycle time by pipeline control. Or, the power to process any of the seven macroblocks Here, we first explain what processing is performed on one macroblock.
  • FIG. 8 is a flowchart showing the control contents of decoding of the macroblock by the control unit 510.
  • the stream transfer control unit 111 of the control unit 510 issues a transfer instruction to the DMA controller 130 to transfer the encoded stream from the memory 120 to the VLD processing unit 140 (step S51).
  • the DMA controller 130 that has received the transfer instruction of the encoded stream by the queue transfers the encoded stream for one macroblock.
  • the control unit 510 activates the VLD processing unit 140 (step S52), and the VLD processing unit 140 extracts the motion vector and the macroblock type from the encoded stream force and acquires the 1 12 and the block data is extracted and transmitted to the inverse frequency conversion processing unit 150.
  • Control unit 510 activates inverse frequency conversion processing unit 150 (step S53), and inverse frequency conversion processing unit 150 performs inverse frequency conversion on the block data and outputs the block data.
  • Control unit 510 determines whether the macro block type for the macro block is an inter macro block or an intra macro block (step S54), and if it is an inter macro block, acquisition unit 112 of control unit 510 operates.
  • the reference image transfer control unit 513 transmits the vector to the reference image transfer control unit 513, and the reference image transfer control unit 513 calculates the position of each reference image based on the position of each macroblock and each motion vector.
  • Step S55 specify the address, issue an instruction to the DMA controller 130 to transfer the reference image from the memory 120 to the input buffer 561 (step S56), and the motion compensation processing unit 560 is started (step S57), and the deblock filter processing unit 180 is started (step S58).
  • the DMA controller 130 that has received the reference image transfer instruction in step S56 by the queue transfers all the reference images corresponding to one macroblock to the input buffer 561.
  • step S57 the motion compensation processing unit 560 reconstructs the image based on the reference image in the input buffer 561 and the block data subjected to inverse frequency conversion and deblocks it! Then, as a result of step S58, the fat block filter processing unit 180 suppresses block noise of the reconstructed image and stores it in the output buffer 590.
  • step S54 if it is determined in step S54 that the macroblock type for the macroblock is an intra macroblock, control unit 510 skips steps S55 to S57 and activates intra processing unit 170. (Step S59), the deblocking filter processing unit 180 is activated (Step S58). As a result of this step S59, the intra processing unit 170 also reconstructs the image with the block data force subjected to inverse frequency conversion, and sends it to the deblock filter processing unit 180.
  • the decoded image transfer control unit 514 of the control unit 510 stores the decoded image of the macroblock stored in the output buffer 590 as a result after step S58 is performed in the memory 120.
  • An instruction is issued to the DMA controller 130 to transfer to (step S60).
  • the processing for one macro block has been basically explained in order according to FIG. 8, but the control unit 510 is actually performing pipeline control, and the processing in the flowchart of FIG. The operation shown in each step is first executed at each cycle time, which is the periodic time of the knock line control.
  • Step S51, Step S52, Step S53, Step S55 to S56, Step S57 or Step S59, Step S58, and Step S60 Is executed at the beginning of each site time. At this time, the execution order of steps S51, S55 to S56, and step S60 is determined as described later, but the other steps may be executed in any order. What! /
  • each unit by the control unit 110 has a significance of transmitting the start of each cycle, and each unit corresponds to a basic block corresponding to one macro block within each cycle time. Do it.
  • DMA transfer for all reference images corresponding to one macroblock by the DMA controller 130 does not have to be completed within one cycle time, but for all reference images corresponding to two consecutive macroblocks. DMA transfer power can be completed within one cycle time.
  • FIG. 9 is a diagram showing an execution sequence of pipeline control by the control unit 510.
  • time slot TS n (where n is an arbitrary integer) means the nth cycle time.
  • MB #n indicates that the nth macroblock is a processing target.
  • stream transfer processing performed by the DMA controller 130 in accordance with instructions from the stream transfer control unit 111 and variable length decoding performed by the VLD processing unit 140 Processing, reverse frequency conversion processing executed by the reverse frequency conversion processing unit 150, reference image transfer processing executed by the DMA controller 130 in accordance with instructions from the reference image transfer control unit 513, and executed by the motion compensation processing unit 160.
  • the DMA controller 130 Performed by the DMA controller 130 according to the instruction of the decoded image transfer control unit 514, the intra processing performed by the motion compensation processing or intra processing unit 170 to be performed, the deblocking filter processing performed by the deblocking filter processing unit 180, and The decoded image transfer process is performed in parallel.
  • FIG. 9 merely shows that the period during which the DMA transfer of the reference image corresponding to each macroblock can be performed is two cycle times, and is based on the MPEG4AVC standard.
  • the upper limit of the total number of motion vectors for two consecutive macroblocks is fixedly determined by the definition of the level corresponding to a large image, so when decoding such a large image, it is actually Above, for example, if the transfer of the reference image corresponding to the nth macroblock and the transfer of the reference image corresponding to the n + 1st macroblock are viewed together, both will be completed within 2 cycle times. .
  • FIG. 10 is a flowchart showing DMA transfer instruction issue processing by control unit 510.
  • the stream transfer control unit 111 issues a DMA transfer instruction for the encoded stream corresponding to the nth macroblock (step S71), and the decoded image transfer control unit 514 converts the n-6th macroblock.
  • the DMA transfer instruction for the corresponding decoded image is issued (step S72), and finally the DMA transfer instruction for all the reference images corresponding to the n-2nd macroblock is issued (step S72). S73).
  • FIG. 11 is a diagram showing DMA transfer control in the image decoding apparatus 500.
  • the DMA controller 130 performs a stream transfer process in which a variable-length encoded stream of one macroblock is DMA-transferred from the memory 120 to the VLD processing unit 140, and a reference image corresponding to one macroblock is motion-compensated from the memory 120.
  • Each cycle time includes a reference image transfer process for DMA transfer to the input buffer 5 61 of the processing unit 560 and a decoded image transfer process for DMA transfer of the decoded image corresponding to one macroblock stored in the output buffer 590 to the memory 120. Execute in a time-sharing manner.
  • symbol A indicates the transfer time of the encoded stream corresponding to one macroblock to be subject to stream transfer processing
  • symbol B represents one macroblock to be subject to reference image transfer processing. Examples of transfer times for various amounts of reference images corresponding to are shown
  • symbol C shows the transfer time of a decoded image corresponding to one macroblock to be subjected to the decoded image transfer process.
  • DMA transfer instructions are issued in the order according to FIG. That is, as soon as the DMA transfer is completed, the DMA controller 130 takes out DMA transfer instructions from the queue in the order in which they are instructed, and performs the next DMA transfer.
  • the upper limit of the total number of motion vectors for two consecutive macroblocks in a large image is fixedly set to 16 etc. due to the level definition corresponding to a large image in the MPEG4AVC standard.
  • the image decoding device has been described based on the first and second embodiments.
  • the image decoding device can be modified as follows, and the present invention is not limited to the image decoding device shown in the above-described embodiment. Of course.
  • the motion compensation processing unit includes the input buffer.
  • a buffer memory may be provided outside the motion compensation processing unit.
  • the image decoding device is configured.
  • Each unit formed may include an input buffer and an output buffer.
  • Each unit may not necessarily be an independent individual, but a plurality of units may be integrally molded.
  • the motion compensation processing unit executes the macroblock at the cycle time after DMA transfer from the memory of all the reference images corresponding to a macroblock to the input buffer is completed by the reference image transfer processing. However, as soon as the reference image is stored in the input buffer, the motion compensation processing unit may start the motion compensation processing for the macroblock even before the DMA transfer is completed. In some cases, for example, in the cycle time after the completion of the DMA transfer, the deblock filter processing unit may perform the deblock filter processing in response to the result of the motion compensation processing. That is, in the second embodiment, when the motion compensation processing unit starts the motion compensation process as soon as the reference image is acquired, the DMA transfer of the reference image corresponding to the macroblock within a certain cycle time is performed.
  • the image decoding apparatus shown in the second embodiment may be modified so that the deblocking filter processing corresponding to the macroblock starts executing within the cycle time two times after the cycle time when started. ,
  • Embodiment 1 when a DMA transfer from a memory of a reference image exceeding a predetermined amount within one cycle time is performed, DMA transfer to the memory of the decoded image within that cycle time is suppressed. It is sufficient to suppress any memory access other than DMA transfer of the reference image within the cycle time when the DMA transfer of the reference image exceeding the predetermined amount is performed. For example, DMA transfer from the memory of the encoded stream is performed. It may be deterred
  • the VLD processing unit may be provided with an input buffer that can store an extra 1 macroblock.
  • the threshold S shown in the first embodiment is a force determined to be the smallest integer satisfying Equation 1.
  • the threshold S is not necessarily the smallest integer. However, the smallest integer can minimize the memory bus bandwidth.
  • the configuration in which it is determined whether to temporarily suppress DMA transfer of the decoded image according to the result of comparing the threshold value S with the number of motion vectors is shown.
  • a configuration may be adopted in which it is determined whether or not the DMA transfer of the decoded image is temporarily suppressed according to a result of comparing the data amount of the reference image to be transferred with a predetermined amount.
  • Embodiments 1 and 2 an image decoding apparatus that performs decoding in units of macroblocks has been shown.
  • the present invention which may perform decoding in units of further subdividing macroblocks
  • the present invention can be applied when decoding is performed by dividing into blocks of an arbitrary size.
  • Nipline control (see Fig. 9) as shown in the second embodiment is performed not on a macroblock basis but on a block basis so that the block unit is basically processed in one cycle time. May be.
  • the block unit is, for example, a size of 4 ⁇ 4 pixels, which is 1Z16 of a macro block, or a size of 8 ⁇ 16 pixels, which is 1Z2. Even when pipeline control is performed in units of blocks, the restriction that the transfer for one block is executed in one cycle time is removed for the pipeline stage of the reference image transfer process.
  • Each of the image decoding devices 100 and 500 shown in the first and second embodiments may be configured as a semiconductor integrated circuit on one semiconductor chip, and the semiconductor integrated circuit is integrated into one package.
  • the memory 120 may exist outside the package.
  • FIG. 12 is a diagram showing an image of the image decoding device 100 in which the memory integrated circuit 101 other than the memory 120 is realized.
  • the image decoding apparatus can be used for image reproduction apparatuses such as DVD players and digital televisions that reproduce moving pictures compressed in accordance with the MPEG4 AVC standard.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 ブロック毎に圧縮画像の復号を行い、参照画像に基づいて圧縮されたブロックについては動き補償に呼応する補償処理を含む復号を行う画像復号装置は、参照画像群を格納しているメモリと、参照画像を格納するための入力バッファを有して入力バッファに格納された参照画像を参照して逐次1つのブロックについての補償処理を行う補償手段と、各サイクルタイム内に、逐次、1つのブロックに対応する参照画像がある限り全ての参照画像を前記メモリから読み出して前記入力バッファに書き込む参照画像転送手段と、各サイクルタイムにおいて前記参照画像転送手段が前記メモリから読み出す参照画像の総量が所定基準量より多いか否かを判定する判定手段と、前記判定手段により多いと判定されたサイクルタイム内において、参照画像の読み出しのためのアクセス以外の、前記メモリへのアクセスを抑止する抑止手段とを備える。

Description

明 細 書
画像復号装置
技術分野
[0001] 本発明は、圧縮画像を復号つまり伸長する画像復号装置に関し、特に、 MPEG4 AVし規格、 Moving Picture Experts uroup phase 4 Advanced ideo Codings I¾Ol4 496 - 10)に準拠した圧縮画像の復号に適した画像復号技術に関する。
背景技術
[0002] 従来、動画像を伝送する際又は記録媒体に記録する際には、 MPEG (Moving Pict ure Experts Group)規格、例えば MPEG2ビデオ規格(ISOZIEC18818— 2)や M PEG4ビジュアル規格(ISOZIEC14496— 2)に従った圧縮を施す技術が知られて おり、また、これらの規格に従って圧縮された画像を復号する画像復号装置も知られ ている。
[0003] このような画像復号装置は、大容量の DRAM (Dynamic Random Access Memory) 等のメモリに取り込んだ圧縮画像に係る可変長符号化されたストリームの復号を、そ のストリームをメモリから読み出して可変長復号して動きベクトルやブロックデータ等を マクロブロック(MB : Macroblock)毎に抽出し、マクロブロック毎に、そのメモリ内の、 動きベクトルに応じて特定される参照画像を参照してブロックデータに対して、いわゆ る動き検出の逆処理に相当する補償処理 (以下、この処理を「動き補償処理」という。 )を行 ヽ、動き補償処理の結果として得られる復号画像をメモリに記録すると ヽぅ手順 で実行する。ここで、復号されメモリに格納された復号画像群は、後続の圧縮画像の 復号の際に参照画像群として利用される。
[0004] なお、従来の画像復号装置は、圧縮画像の復号を高速に行うために、マクロブロッ ク単位で復号に必要な各処理を行う各構成要素を並列に動作させるパイプライン制 御を行う。
図 13は、従来の画像復号装置におけるノ ィプライン制御の実行シーケンスを例示 する図である。同図では、可変長復号(VLD : Variable- Length Decoder)処理ュ-ッ トと動き補償処理ユニットと DMA (Direct Memory Access)コントローラとが並列動作 可能であり、 DMAコントローラは、 1マクロブロック分の可変長符号化されたストリーム をメモリから可変長復号処理ユニットに DMA転送するストリーム転送処理と、 1マクロ ブロックに対応する参照画像をメモリから動き補償処理ユニットに DMA転送する参 照画像転送処理と、動き補償処理ユニットにより得られた 1マクロブロックに対応する 復号画像をメモリに DMA転送する復号画像転送処理とを、ノイブライン制御におけ る同期周期としての各サイクルタイム内で時分割して実行する。ここでは、個々のサイ クルタイムをタイムスロット(TS)とも!/、う。
[0005] 図 13に例示したパイプライン制御によれば、 nを任意の整数としており、 TS=nつ まり n番目のタイムスロットにお 、ては、 MB # nつまり n番目のマクロブロックに対応す るストリーム転送処理が DMAコントローラにより実行され、そのマクロブロックに対応 する可変長復号処理が TS =n+ 1つまり n+ 1番目のタイムスロットにお 、て可変長 復号処理ユニットにより実行され、そのマクロブロックに対応する参照画像転送処理 が n+ 2番目のタイムスロットにお 、て DMAコントローラにより実行され、そのマクロブ ロックに対応する動き補償処理力 + 3番目のタイムスロットにおいて動き補償処理ュ ニットにより実行され、そのマクロブロックに対応する復号画像転送処理が n+4番目 のタイムスロットにおいて DMAコントローラにより実行される。
[0006] このように、従来の画像復号装置は、参照画像転送処理、可変長復号処理、動き 補償処理等を実行する各構成要素が 1マクロブロック単位の処理に要する時間の最 大値でありかつ画像復号装置に要求される 1マクロブロック単位の復号性能を満足 するようなサイクルタイムを定めており、各構成要素がサイクルタイム毎に同期して処 理を実行するようにパイプライン制御を実施している。即ち、従来、 1マクロブロック単 位の処理時間を基準として最適にパイプライン制御するために、各マクロブロックに 対応する参照画像を動き補償処理ユニットに供給するためのメモリアクセスである参 照画像転送処理は、それぞれ 1サイクルタイムで行われていた。なお、 MPEG2ビデ ォ規格や MPEG4ビジュアル規格においては 1マクロブロックに対応する動きべタト ルの数の上限が定まるものであったため、その動きベクトルの数に相当する数の参照 画像の量を概算する等により画像復号装置におけるメモリバスバンド幅に関する要件 が定まった。 [0007] ところで、近年策定された MPEG4AVC規格 (非特許文献 1参照)は、対象画像に ついてスケーラビリティを有し、 QCIF (Quarter Common Intermediate Format)のよう な小さい画像から HD (High Definition)画像のような大きい画像までを対象とし、画 像の大きさに基づいて複数のレベルに区分した内容の規格となっている。 1マクロブ ロックに対応する動きベクトルの最大値は MPEG2ビデオ規格では 4本であったのに 対して、 MPEG4AVC規格では 32本と増加している。これにより、動画像の圧縮に 際して、動画の時間軸方向の冗長性の削減を一層効果的に行うことができるようにな る。但し、 HD画像のような大きな画像に対応するレベルにおいては、 1マクロブロック に対応する動きベクトルの数が増大したものの、動画再生のための復号処理におけ る演算量を一定範囲に抑制すべきとの見地等から、その 1マクロブロックとその前又 は後のマクロブロックとの間での動きベクトルの数の合計について上限が規定されて いる。
非特許文献 1: ISO/IEC 14496 10 Information technology - Coding of audiovisual objects― Part 10: Advanced videoし oamg
発明の開示
発明が解決しょうとする課題
[0008] 上述した従来の画像復号装置を、 MPEG4AVC規格の大きな画像に対応するレ ベルについての規定に準拠して圧縮された画像の復号を行えるようにしょうとすれば 、 1サイクルタイム内において従来の 2倍以上の量の参照画像をメモリから動き補償 処理ユニットに転送し得ることに対処するため、メモリバスバンド幅をかなり大きくする 必要がある。このため画像格納用の大容量のメモリは、例えば一層高い周波数で動 作するものである必要があり、この結果、画像復号装置の製造コストが大きく上昇して しまう。
[0009] そこで、本願は上記問題に鑑みてなされたものであり、 MPEG4AVC規格の大きな 画像に対応するレベルの規定に準拠して圧縮された画像を復号可能な画像復号装 置であって、必要なメモリバスバンド幅を抑制するための構成を備える画像復号装置 を提供することを目的とする。
課題を解決するための手段 [0010] 上記課題を解決するために、本発明に係る画像復号装置は、ブロック毎に圧縮画 像の復号を行 、、参照画像に基づ 、て圧縮されたブロックにつ 、ては動き補償に呼 応する補償処理を含む復号を行う画像復号装置であって、参照画像群を格納して ヽ るメモリと、参照画像を格納するための入カノ ッファを有し、入力バッファに格納され た参照画像を参照して逐次 1つのブロックについての補償処理を行う補償手段と、各 サイクルタイム内に、逐次、 1つのブロックに対応する参照画像がある限り全ての参照 画像を前記メモリから読み出して前記入力バッファに書き込む参照画像転送手段と、 各サイクルタイムにおいて前記参照画像転送手段が前記メモリから読み出す参照画 像の総量が所定基準量より多いか否かを判定する判定手段と、前記判定手段により 多いと判定されたサイクルタイム内において、参照画像の読み出しのためのアクセス 以外の、前記メモリへのアクセスを抑止する抑止手段とを備えることを特徴とする。
[0011] ここで、サイクルタイムは、周期的な所定時間分の期間であり、例えばパイプライン 制御における単位時間である。
発明の効果
[0012] 上述の構成によって、本発明に係る画像復号装置は、メモリからの参照画像の読 み出し量が多いサイクルタイム内においては、参照画像の読み出しの他のメモリァク セスを抑止するため、サイクルタイム内での最大データ転送量を抑えることができ、こ れによりメモリバスバンド幅を抑えることが可能になる。
なお、コスト削減のためにメモリ個数を抑えて例えば単一のメモリを用いるとして動き 検出の逆処理に相当する補償処理等を行って動画像を復号する場合には、そのメ モリに対して、参照画像を読み出すためのメモリアクセスの他に、後に参照画像とし て用いられ得る復号画像の書き込みのためのメモリアクセスや、圧縮画像の符号化ス トリームを読み出すためのメモリアクセス等が発生することになるところ、本発明に係る 画像復号装置によれば、参照画像の読み出し以外のこれらのメモリアクセスの少なく とも一部をあるサイクルタイムにおいて一時的に抑止することになる。
[0013] また、画像復号装置において例えばマクロブロック単位等のブロック単位で独立し て処理を行うことができることに基づき適切にパイプライン制御を行った場合に、サイ クルタイムにおいてメモリとの間での最大のデータ転送量の転送を行う必要があるも の力 参照画像についての転送であり、また、 MPEG4AVC規格の大きな画像に対 応するレベルの規定では 2マクロブロック分の動きベクトル数の上限が定められてい ることに鑑みれば、本発明に係る画像復号装置によりあるサイクルタイム A内におい て一時的に抑止されたメモリアクセスについては、参照画像についてのデータ転送 量が少なくなる次のサイクルタイム Bにお 、て実施すれば足りるようになる。従って、 本発明に係る画像復号装置が、あるサイクルタイムであるメモリアクセスを抑止したこ とにより特段の問題が生じるわけではない。
[0014] ここで、前記画像復号装置は、更に、逐次、参照画像に基づいて圧縮された 1つの ブロックに対応する動きベクトルを取得する取得手段を備え、前記補償手段は、前記 参照画像を参照して、前記取得手段により取得された動きベクトルに基づいて、プロ ックについての補償処理を行い、前記参照画像転送手段が転送する、 1つのブロック に対応する全ての参照画像それぞれは、前記取得手段により取得された当該ブロッ クに対応する各動きベクトルにより特定されるものであり、前記判定手段は、各サイク ルタイムにおいて前記メモリから読み出すブロックに対応する参照画像の総量が所 定基準量より多いか否かを、前記取得手段により取得された当該ブロックに対応する 動きベクトルの数が所定の閾値より多 、か否かにより判定することとしてもよ!、。
[0015] これにより、動きベクトルの数を得て所定の閾値と比較するという簡易な構成により 参照画像の総量が所定基準量より多いか否力を間接的に判定することができるよう になる。
また、前記画像復号装置は、更に、補償手段により補償処理の行われた後のブロッ クについての復号画像を格納するための出力バッファと、逐次、 1つのブロックにつ いての復号画像を、前記出力バッファから読み出して前記メモリに書き込む復号画 像転送手段とを備え、前記抑止手段は、前記判定手段により多いと判定されたサイク ルタイム内において、前記復号画像転送手段による前記メモリへのアクセスを抑止す ることとしてちよい。
[0016] これにより、必ずしも 1マクロブロック単位で迅速にメモリに書き込む必要性が低い 復号画像をメモリに書き込むためのメモリアクセスを抑止制御対象とすることで、圧縮 画像の復号を分担する VLD処理ユニットや動き補償処理ユニット等の各ユニット間 の処理時間の関係等を特段変更する必要もなく比較的容易にメモリバスバンド幅の 抑制をすることができるようになる。
[0017] また、前記出力バッファの容量は、 2ブロック分の復号画像を格納可能な容量であり 、前記復号画像転送手段は、前記抑止手段により抑止されたサイクルタイムの次の サイクルタイム内においては、連続して 2つ分のブロックについての復号画像を、前 記出力バッファ力 読み出して前記メモリに書き込み、それ以外のサイクルタイム内 においては、 1つ分のブロックについての復号画像を、前記出力バッファから読み出 して前記メモリに書き込むこととしてもょ 、。
[0018] これにより、あるサイクルタイムで抑止された復号画像のメモリへの書き込みは、参 照画像の転送量が相対的に少な 、こととなる次のサイクルタイムで行われるので、フ レーム単位での画像の復号時間をほとんど増大させることなく圧縮画像の復号が行 えるようになる。
また、前記メモリは、参照画像の他に、ブロック毎に参照画像に基づいて圧縮され たブロックである力否かを示す情報と動きベクトルとを含むブロックヘッダ情報とブロッ クデータとを含んでなるデータが可変長符号化されてなる符号化ストリームを格納し ており、前記画像復号装置は、更に、符号化ストリームが入力されると可変長復号す る可変長復号手段と、前記メモリから符号化ストリームを逐次読み出して前記可変長 復号手段に入力するストリーム転送手段と、逐次伝達されたブロックのブロックデータ に参照画像を参照しな ヽ復号処理を施すイントラ処理手段とを備え、前記取得手段 は、前記可変長復号手段により可変長復号された結果から前記動きベクトルの取得 を行い、更に、可変長復号手段により可変長復号された結果のブロックデータを、参 照画像に基づ 、て圧縮されたブロックにつ 、ては前記補償手段に伝達し、参照画像 に基づ!/、て圧縮されて 、な 、ブロックにつ 、ては前記イントラ処理手段に伝達し、前 記出力バッファには、前記補償手段により補償処理の行われた後のブロックについ ての復号画像の他に、前記イントラ処理手段により復号処理が施された後のブロック につ 、ての復号画像が格納されることとしてもよ!/、。
[0019] また、前記メモリは、参照画像の他に、ブロック毎に参照画像に基づいて圧縮され たブロックである力否かを示す情報と動きベクトルとを含むブロックヘッダ情報とブロッ クデータとを含んでなるデータが可変長符号化されてなる符号化ストリームを格納し ており、前記画像復号装置は、更に、符号化ストリームデータが入力されると可変長 復号する可変長復号手段と、前記メモリから符号化ストリームを逐次読み出して前記 可変長復号手段に入力するストリーム転送手段と、逐次伝達されたブロックのブロッ クデータに参照画像を参照しない復号処理を施すイントラ処理手段とを備え、前記取 得手段は、前記可変長復号手段により可変長復号された結果から前記動きベクトル の取得を行い、更に、可変長復号手段により可変長復号された結果のブロックデー タを、参照画像に基づ 、て圧縮されたブロックにつ 、ては前記補償手段に伝達し、 参照画像に基づ 、て圧縮されて 、な 、ブロックにつ 、ては前記イントラ処理手段に 伝達し、前記抑止手段は、前記判定手段により多いと判定されたサイクルタイム内に ぉ 、て、前記ストリーム転送手段による前記メモリへのアクセスを抑止することとしても よい。
[0020] これにより、単位時間あたりのメモリとの間でのデータ転送量が参照画像に比べて 一般に低い符号化ストリームに関してのメモリアクセスが抑止制御の対象となるため、 あるサイクルタイムで抑止された分を次のサイクルタイムで転送してもメモリバスバンド 幅を増大しなければならない要因とはならず、抑止の結果としてメモリバスバンド幅の 抑制が実現できるようになる。
[0021] また、本発明に係る画像復号装置は、ブロック毎に圧縮画像の復号を行!ヽ、参照 画像に基づ ヽて圧縮されたブロックにつ!ヽては動き補償に呼応する補償処理を含む 復号を行う画像復号装置であって、参照画像群を格納しているメモリと、参照画像を 格納するための、 2ブロック分の参照画像の格納に足りる容量の入力バッファを有し、 入力バッファに格納された参照画像を参照して逐次 1つのブロックについての補償 処理を行う補償手段と、連続した 2サイクルタイム内に、逐次、 2つのブロックそれぞれ に対応する参照画像がある限り全ての参照画像を前記メモリから読み出して前記入 力バッファに書き込む参照画像転送手段とを備えることを特徴とする。
[0022] これにより、 1マクロブロック分に対応する参照画像の最大データ転送量を 1サイク ルタイム内で転送可能なようにメモリバスバンド幅を決定しなくても良くなるため、その 分、メモリバスバンド幅についての要件を緩和することができるようになる。 ここで、前記画像復号装置は、更に、前記補償手段による補償処理が行われた後 の復号画像を処理する処理手段を備え、前記処理手段及び前記補償手段のうち 1 手段は、前記参照画像転送手段と並列にサイクルタイム毎に 1つのブロックに対応す る処理をし、かつ、前記参照画像転送手段により、あるサイクルタイム内に転送開始 されたブロックに対応する処理を、当該サイクルタイムの 2つ後のサイクルタイム内に 実行し始めることとしてちよ!、。
[0023] これにより、各マクロブロックに対応する参照画像に依存する処理を適切なタイミン グで処理することができるようになる。
また、本発明に係る画像復号方法は、参照画像群とともにメモリに格納された圧縮 画像につ 、てブロック毎に復号を行 、、参照画像に基づ!/、て圧縮されたブロックに っ ヽては動き補償に呼応する補償処理を含む復号を行う画像復号方法であって、各 サイクルタイム内に、逐次、 1つのブロックに対応する参照画像がある限り全ての参照 画像を、前記メモリから読み出し所定のノ ッファに書き込む参照画像転送ステップと 、各サイクルタイムにおいて前記参照画像転送ステップにより前記メモリから読み出 す参照画像の総量が所定基準量より多!、か否かを判定する判定ステップと、前記判 定ステップにより多いと判定されたサイクルタイム内において、参照画像の読み出し のためのアクセス以外の、前記メモリへのアクセスを抑止する抑止ステップと、前記所 定のバッファに格納された参照画像を参照して逐次 1つのブロックについての補償処 理を行う補償ステップとを含むことを特徴とする。
[0024] これにより、メモリからの参照画像の読み出し量が多いサイクルタイム内においては 、他のメモリアクセスを抑止するため、圧縮画像の復号に係るパイプライン制御にお けるサイクルタイム内での最大データ転送量を抑えることができ、これによりメモリバス バンド幅を抑えることが可能になる。
また、本発明に係る画像復号方法は、参照画像群とともにメモリに格納された圧縮 画像につ 、てブロック毎に復号を行 、、参照画像に基づ!/、て圧縮されたブロックに っ ヽては動き補償に呼応する補償処理を含む復号を行う画像復号方法であって、連 続した 2サイクルタイム内に、逐次、 2つのブロックそれぞれに対応する参照画像があ る限り全ての参照画像を前記メモリから読み出して所定のノ ッファに書き込む画像転 送ステップと、前記所定のバッファに格納された参照画像を参照して逐次 1つのプロ ックについての補償処理を行う補償ステップと並列に実行することを特徴とする。
[0025] これにより、圧縮画像の復号を各パイプラインステージが 1マクロブロック分に相当 する処理を基本的には 1サイクルタイム内で実行するようなパイプライン制御により実 現する場合において、参照画像のメモリからの転送については 1サイクルタイム内で 完了する制約を外しているため、 1マクロブロック分に対応する参照画像の最大デー タ転送量を 1サイクルタイム内で転送可能なようにメモリバスバンド幅を決定しなくても 良くなり、その分、メモリバスバンド幅についての要件を緩和することができるようにな る。
[0026] また、本発明に係る半導体集積回路は、ブロック毎に圧縮画像の復号を行い、参 照画像に基づ ヽて圧縮されたブロックにつ!ヽては動き補償に呼応する補償処理を含 む復号を行う半導体集積回路であって、参照画像群を格納しているメモリと、参照画 像を格納するための入力バッファを有し、入力バッファに格納された参照画像を参照 して逐次 1つのブロックについての補償処理を行う補償回路部と、各サイクルタイム内 に、逐次、 1つのブロックに対応する参照画像がある限り全ての参照画像を、前記メ モリから読み出して前記入力バッファに書き込む参照画像転送回路部と、各サイクル タイムにおいて前記参照画像転送回路部が前記メモリから読み出す参照画像の総 量が所定基準量より多いか否かを判定する判定回路部と、前記判定回路部により多 いと判定されたサイクルタイム内において、参照画像の読み出しのためのアクセス以 外の、前記メモリへのアクセスを抑止する抑止回路部とを備えることを特徴とする。
[0027] この半導体集積回路においては、メモリからの参照画像の読み出し量が多いサイク ルタイム内においては、参照画像の読み出しの他のメモリアクセスを抑止するため、 サイクルタイム内での最大データ転送量を抑えることができ、これによりメモリバスバン ド幅を抑えることが可能になる。
また、本発明に係る半導体集積回路は、ブロック毎に圧縮画像の復号を行い、参 照画像に基づ ヽて圧縮されたブロックにつ!ヽては動き補償に呼応する補償処理を含 む復号を行う半導体集積回路であって、参照画像群を格納しているメモリと、参照画 像を格納するための、 2ブロック分の参照画像の格納に足りる容量の入力バッファを 有し、入力バッファに格納された参照画像を参照して逐次 1つのブロックについての 補償処理を行う補償回路部と、連続した 2サイクルタイム内に、逐次、 2つのブロック それぞれに対応する参照画像がある限り全ての参照画像を前記メモリから読み出し て前記入カノッファに書き込む参照画像転送回路部とを備えることを特徴とする。
[0028] この半導体集積回路においては、 1マクロブロック分に対応する参照画像の最大デ ータ転送量を 1サイクルタイム内で転送可能なようにメモリバスバンド幅を決定しなく ても良くなるため、その分、メモリバスバンド幅についての要件を緩和することができる ようになる。
図面の簡単な説明
[0029] [図 1]本発明の実施形態 1に係る画像復号装置 100の構成図である。
[図 2]圧縮画像のストリームデータの構造を示す図である。
[図 3]マクロブロックと参照画像との関係を示す図である。
[図 4]制御部 110によるマクロブロックに対する復号の制御内容を示すフローチャート である。
[図 5]制御部 110によるパイプライン制御の実行シーケンスを示す図である。
[図 6]画像復号装置 100における DMA転送の制御を示す図である。
[図 7]本発明の実施形態 2に係る画像復号装置 500の構成図である。
[図 8]制御部 510によるマクロブロックに対する復号の制御内容を示すフローチャート である。
[図 9]制御部 510によるパイプライン制御の実行シーケンスを示す図である。
[図 10]制御部 510による DMA転送指示発行処理を示すフローチャートである。
[図 11]画像復号装置 500における DMA転送の制御を示す図である。
[図 12]メモリ 120以外を半導体集積回路 101として実現した画像復号装置 100のィメ ージを示す図である。
[図 13]従来の画像復号装置におけるパイプライン制御の実行シーケンスを例示する 図である。
符号の説明
[0030] 100、 500 画像復号装置 110、 510 制御部
111 ストリーム転送制御部
112 取得部
113, 513 参照画像転送制御部
114、 514 復号画像転送制御部
115 未出力情報格納部
116 抑止判定部
117 閾値記憶部
120 メモリ
130 DMAコントローラ
140 VLD処理ユニット
140 処理ユニット
150 逆周波数変換処理ユニット
160、 560 動き補償処理ユニット
161、 561 入力バッファ
170 イントラ処理ユニット
180 デブロックフィルタ処理ユニット
190、 590 出カノ ッファ
551 ノ ッファ 551
発明を実施するための最良の形態
<実施形態 1 >
以下、本発明の実施形態 1に係る画像復号装置 100について説明する。
<構成>
図 1は、本発明の実施形態 1に係る画像復号装置 100の構成図である。
画像復号装置 100は、同図に示すように、制御部 110、メモリ 120、 DMAコント口 ーラ 130、可変長復号 (VLD)処理ユニット 140、逆周波数変換処理ユニット 150、動 き補償処理ユニット 160、イントラ処理ユニット 170、デブロックフィルタ処理ユニット 1 80及び出力バッファ 190を備える。 [0032] ここで、メモリ 120は、圧縮された画像等が可変長符号化されてなる符号化ストリー ムを格納し、また、参照画像を格納するための DRAMである。なお、ここでは、画像 は、表示される画像内容を表現して!/ヽる画像データをも含む概念を示す用語として 用いる。
DMAコントローラ 130は、制御部 110からメモリアドレス指定等を伴う指示を受けつ けるキューを有し、受け付けた指示に従ってメモリ 120と、 VLD処理ユニット 140、動 き補償処理ユニット 160或いは出力バッファ 190との間でのデータ転送を行う機能を 担う。
[0033] VLD処理ユニット 140は、圧縮画像のストリームデータが可変長符号化されてなる 符号化ストリームが入力されると、符号化ストリームを可変長復号して、圧縮画像のス トリームデータ力もマクロブロックタイプと動きベクトルとを抽出し制御部に伝達すると ともに、マクロブロックの実体であり周波数変換されたいわゆる差分値を表現するプロ ックデータを抽出し逆周波数変換処理ユニット 150に伝達する機能を有する。なお、 図 2にデータ構造を示すように圧縮画像のストリームデータは、 Iピクチャ、 Pピクチャ、 Bピクチャと!/、つたピクチャタイプ等を示すスライスヘッダ 210に続 、てマクロブロック 毎にマクロブロックヘッダ 220及びブロックデータ 230が複数連続するように構成され ている。このマクロブロックヘッダ 220は、参照画像に基づいてインターモードで圧縮 されたインターマクロブロックカゝ、参照画像に基づかずにイントラモードで圧縮された イントラマクロブロックかの別を示すマクロブロックタイプと、動きベクトルとを含む。
[0034] 逆周波数変換処理ユニット 150は、 VLD処理ユニット 140から伝えられるブロック データを逆周波数変換して得られる差分値を出力する機能を有する。
動き補償処理ユニット 160は、入力バッファ 161を有し、入力バッファ 161に蓄積さ れた参照画像力 クォータペル精度の画像を算出して算出した画像と逆周波数変換 処理ユニット 150が出力するマクロブロックについての差分値とを加算することにより 画像を再構成する補償処理、つまりいわゆる動き補償の逆処理に相当する処理 (ここ では「動き補償処理」 ヽぅ。 )を実行する機能を有する。
[0035] イントラ処理ユニット 170は、イントラ処理を実施する機能、即ち逆周波数変換処理 ユニット 150が出力するそのマクロブロックについての差分値とそのマクロブロックの 周辺画像とを加算することにより画像を再構成する機能を有する。
デブロックフィルタ処理ユニット 180は、動き補償処理ユニット 160又はイントラ処理 ユニット 170が出力する再構成画像に対して、デブロックフィルタ処理を実施する機 能、即ちブロックノイズを抑圧するためのデブロックフィルタをカゝけることにより復号画 像を得て出力バッファ 190に送出する機能を有する。
[0036] 出カノ ッファ 190は、復号画像を 2マクロブロック分格納するに足りる容量を有する バッファメモリである。
また、制御部 110は、ハードウェア面においては、プロセッサ、 ROM (Read Only M emory)、タイマー等を含んで構成され、 ROMに格納されたプログラムをプロセッサが 実行することにより、画像復号装置 100の各構成要素に、マクロブロック単位の復号 に係る各処理を所定のサイクルタイム毎に並列に行わせるパイプライン制御を実現 するものであり、具体的には DMAコントローラ 130、 VLD処理ユニット 140、逆周波 数変換処理ユニット 150、動き補償処理ユニット 160、イントラ処理ユニット 170及び デブロックフィルタ処理ユニット 180を制御し、機能面における構成要素として、ストリ ーム転送制御部 111、取得部 112、参照画像転送制御部 113、復号画像転送制御 部 114及び抑止判定部 116を有する。
[0037] ここで、ストリーム転送制御部 111は、メモリ 120から VLD処理ユニット 140へと符号 ィ匕ストリームを転送させるよう DMAコントローラ 130への指示を行う機能を有する。 取得部 112は、 VLD処理ユニット 140から動きベクトル及びマクロブロックタイプを 取得し参照画像転送制御部 113に伝え、動きベクトルの数をカウントしその動きべク トルの数を抑止判定部 116に伝える機能を有する。
[0038] 参照画像転送制御部 113は、マクロブロックタイプがインターマクロブロックの場合 には各動きベクトルに応じて各参照画像の位置を特定して、各参照画像のアドレスを 指定して各サイクルタイムにおいて 1つのマクロブロックに対応する全ての参照画像 をメモリ 120から動き補償処理ユニット 160の入力バッファ 161へ転送させるよう DM Aコントローラ 130への指示を行う機能を有する。
[0039] 復号画像転送制御部 114は、 1サイクルタイム内で出力バッファ 190から復号画像 カ モリ 120へと送出されな力つた力否かを示す情報を格納する未出力情報格納部 115を含み、出力バッファ 190内の復号画像をメモリ 120へと転送させるよう DMAコ ントローラ 130への指示を行う機能を有する。
抑止判定部 116は、動きベクトル数に関する閾値を予め記憶して 、る閾値記憶部 1 17を含み、取得部 112から伝えられた動きベクトルの数とその閾値とを比較して、動 きベクトルの数が閾値を超えた力否かを判定し、判定結果に応じて、復号画像のメモ リ 120への転送指示を復号画像転送制御部 114が行うことを抑止する機能を有する 。なお、抑止判定部 116における動きベクトルの数が閾値を超えたか否かの判定は、 その動きベクトルに対応する参照画像のデータ転送量が所定量より多いか否かを間 接的に判定することになり、あるサイクルタイムにおける参照画像のデータ転送量が 所定量より多い場合に、抑止判定部 116は、そのサイクルタイムにおける復号画像の メモリ 120への書き込み指示を抑止する。
[0040] 図 3は、マクロブロックと参照画像との関係を示す図である。
圧縮画像 300を区分してなる複数のマクロブロックは、輝度信号と色差信号とから 構成されるところ、同図では輝度信号について示しており、輝度信号については 1つ のマクロブロックは 16画素 X 16画素分の信号である。 1つのマクロブロック 311が、 圧縮画像 300とは別時間にあたる画像フレームである参照画像 320のうちの一部の 参照画像 321と類似している場合に、動きベクトル 301は、マクロブロック 311と参照 画像 321との空間的位置の差分を示す。なお、参照画像 320は、参照画像 321等の 部分的な参照画像の集合に相当する。
[0041] なお、閾値記憶部 117には、次の数 1を満たすうちで最小の整数である閾値 Sが記 憶されている。
[数 1] f (S)≥f (V-S) +C
ここで、関数 f (x)は、動きベクトルの数力 である場合における参照画像の総ビット 量を示す関数であり、 Vは、連続した 2マクロブロックにわたっての動きベクトルの上限 数であり、 Cは 1マクロブロック分の復号画像の総ビット量である。
[0042] 従って、閾値 Sに基づく判定により、 DMA転送対象の参照画像の量力 ¾(V— S) + C以上である所定量より多いか否かの判定が行えるようになる。
<動作 > 以下、上述の構成を備える画像復号装置 100のマクロブロック単位での画像復号 の動作を、制御部 110による制御の流れに即して説明する。
[0043] 制御部 110は、圧縮画像を構成する各マクロブロックのうち逐次復号対象となるマ クロブロックを定めて、パイプライン制御により各サイクルタイム内に画像復号装置 10 0の各構成要素それぞれに順次 6つのマクロブロックの 、ずれかを処理させるが、ここ では、まず 1つのマクロブロックについてどのような処理が施されるかを説明する。 図 4は、制御部 110によるマクロブロックに対する復号の制御内容を示すフローチヤ ートである。
[0044] まず、制御部 110のストリーム転送制御部 111は、符号化ストリームをメモリ 120から VLD処理ュ-ット 140に転送させるよう DMAコントローラ 130に転送指示を発行す る (ステップ S 11)。この符号化ストリームの転送指示をキューにより受け付けた DMA コントローラ 130は、 1マクロブロック分の符号化ストリームの転送を行う。
[0045] 制御部 110は、 VLD処理ユニット 140を起動し (ステップ S12)、 VLD処理ユニット 140は、符号化ストリーム力も動きベクトルとマクロブロックタイプとを抽出して取得部 1 12に伝達するとともにブロックデータを抽出して逆周波数変換処理ユニット 150に伝 達する。
制御部 110は、逆周波数変換処理ユニット 150を起動し (ステップ S13)、逆周波数 変換処理ユニット 150は、ブロックデータに逆周波数変換を施して出力する。
[0046] 制御部 110は、マクロブロックについてのマクロブロックタイプがインターマクロブロ ックかイントラマクロブロックかを判別し (ステップ S 14)、インターマクロブロックであれ ば、制御部 110の取得部 112は動きベクトルを参照画像転送制御部 113に伝え、参 照画像転送制御部 113は、マクロブロックの位置と各動きベクトルとに基づいて各参 照画像の位置を算出することを通じて各参照画像のメモリ 120内でのアドレスを算出 し (ステップ S15)、そのアドレスを指定して DMAコントローラ 130に、参照画像をメモ リ 120から入カノくッファ 161に転送するように指示を発行し (ステップ S 16)、動き補償 処理ユニット 160を起動し (ステップ S17)、デブロックフィルタ処理ユニット 180を起 動する (ステップ S18)。このステップ S16による参照画像の転送指示をキューにより 受け付けた DMAコントローラ 130は、 1マクロブロックに対応する全ての参照画像を 入力バッファ 161に転送する。
[0047] また、ステップ S 17の結果として、動き補償処理ユニット 160は、入力バッファ 161 内の参照画像と、逆周波数変換されたブロックデータとに基づ!/ヽて画像を再構成し てデブロックフィルタ処理ユニット 180に送出し、またステップ S 18の結果としてデブ口 ックフィルタ処理ユニット 180は、再構成された画像のブロックノイズを抑圧して出力 ノ ッファ 19〇に蓄積する。
[0048] 一方、ステップ S 14においてマクロブロックについてのマクロブロックタイプがイント ラマクロブロックであると判別した場合には、制御部 110は、ステップ S15〜S17をス キップしてイントラ処理ユニット 170を起動し (ステップ S19)、デブロックフィルタ処理 ユニット 180を起動する(ステップ S18)。このステップ SI 9の結果としてイントラ処理 ユニット 170は、逆周波数変換されたブロックデータ力も画像を再構成してデブロック フィルタ処理ユニット 180に送出する。
[0049] また、制御部 110の抑止判定部 116は、取得部 112により取得された動きベクトル 数と閾値記憶部 117に記憶されている閾値 Sとを比較して、動きベクトル数が閾値 S を超えて!/ヽる場合には (ステップ S20)、復号画像転送制御部 114に復号画像をメモ リ 120に送出する DMA転送に係る指示を発行させずに、未出力情報格納部 115内 の未出力情報を、その復号画像のメモリへの送出がなされな力つた旨を示すように設 定する (ステップ S21)。これに対して、ステップ S20において、動きベクトル数が閾値 Sを超えていない場合には、復号画像転送制御部 114は、未出力情報を参照して前 のマクロブロック分の復号画像のメモリへの送出がなされていなかつたかを判定し (ス テツプ S22)、その送出がなされていな力 た場合には、復号画像転送制御部 114 は、 DMAコントローラ 130に、あるマクロブロックの復号画像にその前のマクロブロッ ク分の復号画像を合わせて 2マクロブロック分の復号画像を出力バッファ 190からメ モリ 120に転送するように指示を発行してから (ステップ S23)、未出力情報をクリア、 つまり未出力情報が未送出の復号画像が存在しな!、旨を示すように更新し (ステップ S24)、前のマクロブロック分の復号画像の送出がなされていな場合には、復号画像 転送制御部 114は、 DMAコントローラ 130に、あるマクロブロックの復号画像を出力 ノ ッファ 190からメモリ 120に転送するように指示を発行し (ステップ S25)、未出力情 報をクリアする (ステップ S 24)。
[0050] このステップ S23又は S25により、デブロックフィルタ処理ユニット 180によりブロック ノイズが抑制されて出力バッファ 190に格納されている復号画像力 メモリ 120に DM A転送されること〖こなる。
以上、基本的に 1つのマクロブロックについての処理を図 4に即して順を追って説 明したが、制御部 110は、実際は、パイプライン制御を行っており、図 4のフローチヤ ート中の各ステップに示す動作は、ノ ィプライン制御の周期的な時間である各サイク ルタイムにおいて最初に実行される。なお、処理対象となるマクロブロックは同一では な ヽ力 ステップ S11と、ステップ S12と、ステップ S13と、ステップ S15〜S16と、ステ ップ S17或いはステップ S19と、ステップ S18と、ステップ S20〜S25とのそれぞれは 、各サイクルタイムの最初に実行するのであればどの順で実行しても差し支えな 、。
[0051] また、制御部 110による各ユニットの起動は、各サイクルの開始を伝達する意義を 有し、各ュ-ットは各サイクルタイム内に基本的〖こ 1つのマクロブロックに対応する処 理を行う。
図 5は、制御部 110によるパイプライン制御の実行シーケンスを示す図である。 同図中、タイムスロット TS=n (nは任意の整数)は、 n番目のサイクルタイムを意味 する。また、 MB # nは、 n番目のマクロブロックが処理対象であることを示す。
[0052] 図 5に示すように、制御部 110によるパイプライン制御の下では、ストリーム転送制 御部 111の指示に従って DMAコントローラ 130により実施されるストリーム転送処理 と、 VLD処理ユニット 140により実施される可変長復号処理と、逆周波数変換処理ュ ニット 150により実施される逆周波数変換処理と、参照画像転送制御部 113の指示 に従って DMAコントローラ 130により実施される参照画像転送処理と、動き補償処 理ユニット 160により実施される動き補償処理又はイントラ処理ユニット 170により実 施されるイントラ処理と、デブロックフィルタ処理ユニット 180により実施されるデブロッ クフィルタ処理と、復号画像転送制御部 114の指示に従って DMAコントローラ 130 により実施される復号画像転送処理とが並列してなされる。
[0053] 従って、ある 1つのサイクルタイム内では、各ユニット等により 6つのマクロブロックが 並行的に処理対象とされる。サイクルタイムの長さは、復号に求められる速度を満た すように定められ、並列動作する各ユニットのうち 1マクロブロック単位の処理に要す る時間の最も長いユニットのその処理時間が 1サイクルタイム以内になるような処理性 能を各ユニットは発揮する必要がある。
[0054] なお、図 5では、復号画像転送処理については例示をしており、この例では、 TS = n+ 2で示されるサイクルタイム内において参照画像転送処理の対象となる n番目の マクロブロックについての動きベクトル数が閾値 Sを超えており、また、 TS=n+4で 示されるサイクルタイム内において参照画像転送処理の対象となる n+ 2番目のマク ロブロックについての動きベクトル数が閾値 Sを超えていたことを想定した例を示して いる。
[0055] このため、 TS=n+ 2で示されるサイクルタイム内では、参照画像転送処理におい て転送されるデータ量が所定量より多くなるため、上述のステップ S20〜S25で示し た制御により、 n— 3番目のマクロブロックを対象としての復号画像転送処理は抑止さ れ、そのために TS=n+ 3で示されるサイクルタイム内では n— 3番目のマクロブロッ クと n— 2番目のマクロブロックとの両方を対象としての復号画像転送処理が実施され ることになり、また、 TS =n+4で示されるサイクルタイム内では、参照画像転送処理 において転送されるデータ量が所定量より多くなるため、 n— 1番目のマクロブロック を対象としての復号画像転送処理は抑止され、そのために TS =n+ 5で示されるサ イタルタイム内では、 n— 1番目のマクロブロックと n番目のマクロブロックとの両方を対 象としての復号画像転送処理が実施されることになる。
[0056] 図 6は、画像復号装置 100における DMA転送の制御を示す図である。
DMAコントローラ 130は、 1マクロブロック分の可変長符号化されたストリームをメモ リ 120から VLD処理ユニット 140に DMA転送するストリーム転送処理と、 1マクロブロ ックに対応する参照画像をメモリ 120から動き補償処理ユニット 160の入力バッファ 1 61に DMA転送する参照画像転送処理と、出力バッファ 190に格納された 1マクロブ ロックに対応する復号画像をメモリ 120に DMA転送する復号画像転送処理とを、各 サイクルタイム内で時分割して実行する。
[0057] 同図中、記号 Aによりストリーム転送処理の対象となる 1マクロブロック分に相当する 符号化ストリームの転送時間を示しており、記号 Bにより参照画像転送処理の対象と なる 1マクロブロック分に対応する様々な量の参照画像の転送時間の例を示しており 、記号 Cにより復号画像転送処理の対象となる 1マクロブロック分に相当する復号画 像の転送時間を示している。なお、図 6の例は、図 5の例と対応している。
[0058] この例は、 TS =n+ 2で示されるサイクルタイム内においては DMA転送する参照 画像の総量が所定量を超えており、図 4のステップ S20の判定ブロックで yesと判定さ れ、そのサイクルタイム内では復号画像の DMA転送はなされず、次の TS =n+ 3で 示されるサイクルタイムで 2マクロブロック分の復号画像の DMA転送がなされることを 示している。なお、 MPEG4AVC規格の大きな画像に対応するレベルの規定により 、連続する 2つのマクロブロック分の動きベクトルの総数の上限が 16等と固定的に定 められて 、るため、 TS =n+ 2にお!/、て DMA転送される参照画像の量が多!、場合 には相対的に TS=n+ 3において DMA転送される参照画像の量は少ない又は 0に なる。なお、 1マクロブロックに対応する参照画像の最大量に対して 1マクロブロックに 対応する復号画像の量は十分に小さ ヽ。
[0059] 従って、ステップ S20〜S25で示されるような抑止判定部 116及び復号画像転送 制御部 114の動作の結果、 TS =n+ 2で示されるサイクルタイム内にお 、て復号画 像の転送が抑止されることになり、このサイクルタイム内でのメモリアクセスによる最大 データ転送量を減縮することができるようになるため、この画像復号装置 100におい ては、メモリバンド幅についての要件を比較的緩和できることになる。
<実施形態 2>
以下、本発明の実施形態 2に係る画像復号装置 500について説明する。
[0060] 前述した実施形態 1に係る画像復号装置 100は、各サイクルタイム内に 1マクロプロ ックに対応する全ての参照画像の DMA転送を行う構成を有する。これに対し、実施 形態 2に係る画像復号装置 500は、 1つのマクロブロックに対応する全ての参照画像 の DMA転送を 1サイクルタイム内で完了できないことも許容し、連続する 2マクロブロ ックそれぞれに対応する全ての参照画像の DMA転送を 2サイクルタイム内で完了す るように制御する構成を有する。
[0061] <構成 >
図 7は、本発明の実施形態 2に係る画像復号装置 500の構成図である。 画像復号装置 500は、同図に示すように、制御部 510、メモリ 120、 DMAコント口 ーラ 130、可変長復号 (VLD)処理ユニット 140、逆周波数変換処理ユニット 150、バ ッファ 551、動き補償処理ユニット 560、イントラ処理ユニット 170、デブロックフィルタ 処理ユニット 180及び出力バッファ 590を備える。なお、図 7に示した画像復号装置 5 00の各構成要素のうち実施形態 1で示した画像復号装置 100の構成要素と同一の ものについては、図 1と同じ符号を付しており、これらについては詳しい説明を省略す る。
[0062] 動き補償処理ユニット 560は、連続した 2つのマクロブロックに対応する全ての参照 画像を格納するのに十分な容量を有する入力バッファ 561を有し、入力バッファ 561 に蓄積された参照画像カゝらクォータペル精度の画像を算出して算出した画像と逆周 波数変換処理ユニット 150が出力するマクロブロックについての差分値とを加算する ことにより画像を再構成する動き補償処理を実行する機能を有する。
[0063] 出カノッファ 590は、復号画像を 1マクロブロック分格納するに足りる容量を有する バッファメモリである。
また、制御部 510は、ハードウェア面においては、プロセッサ、 ROM (Read Only M emory)、タイマー等を含んで構成され、 ROMに格納されたプログラムをプロセッサが 実行することにより、画像復号装置 500の各構成要素に、マクロブロック単位の復号 に係る各処理を所定のサイクルタイム毎に並列に行わせるパイプライン制御を実現 するものであり、具体的には DMAコントローラ 130、 VLD処理ユニット 140、逆周波 数変換処理ユニット 150、動き補償処理ユニット 560、イントラ処理ユニット 170及び デブロックフィルタ処理ユニット 180を制御し、機能面における構成要素として、ストリ ーム転送制御部 111、取得部 112、参照画像転送制御部 513及び復号画像転送制 御部 514を有する。
[0064] ここで、参照画像転送制御部 513は、取得部 112が取得したマクロブロックタイプが インターマクロブロックの場合には各動きベクトルに応じて各参照画像の位置を特定 して、各参照画像のアドレスを指定して、各参照画像をメモリ 120から動き補償処理 ユニット 560の入力バッファ 561へと転送させるよう DMAコントローラ 130への指示を 行う機能を有する。なお、この指示は、サイクルタイムの開始時点毎になされるが、 D MAコントローラ 130のキューに格納された指示に対応した DMA転送が行われ始め るのはそのサイクルタイムの開始時点とは限らない。但し、参照画像の DMA転送の 指示がなされてから 2つ分のサイクルタイム以内にそれに呼応した DMA転送の実行 は必ず完了する。
[0065] 復号画像転送制御部 514は、 1サイクルタイム内で出力バッファ 590内の 1マクロブ ロック分の復号画像をメモリ 120へと転送させるよう DMAコントローラ 130への指示を 行う機能を有する。
また、ノ ッファ 551は、逆周波数変換処理ユニット 150の出力したデータを一時的 に蓄積するためのバッファメモリであり、逆周波数変換処理ユニット 150があるサイク ルタイムにおいて処理したマクロブロックについて、その次のまた次のサイクルタイム において動き補償処理ユニット 560又はイントラ処理ユニット 170により処理されるよう にするために設けられて 、る。
[0066] <動作 >
以下、上述の構成を備える画像復号装置 500のマクロブロック単位での画像復号 の動作を、制御部 510による制御の流れに即して説明する。
制御部 510は、圧縮画像を構成する各マクロブロックのうち逐次復号対象となるマ クロブロックを定めて、パイプライン制御により各サイクルタイム内に画像復号装置 50 0の各構成要素それぞれに順次 6つ又は 7つのマクロブロックのいずれかを処理させ る力 ここでは、まず 1つのマクロブロックについてどのような処理が施されるかを説明 する。
[0067] 図 8は、制御部 510によるマクロブロックに対する復号の制御内容を示すフローチヤ ートである。
まず、制御部 510のストリーム転送制御部 111は、符号化ストリームをメモリ 120から VLD処理ュ-ット 140に転送させるよう DMAコントローラ 130に転送指示を発行す る (ステップ S51)。この符号化ストリームの転送指示をキューにより受け付けた DMA コントローラ 130は、 1マクロブロック分の符号化ストリームの転送を行う。
[0068] 制御部 510は、 VLD処理ユニット 140を起動し (ステップ S52)、 VLD処理ユニット 140は、符号化ストリーム力も動きベクトルとマクロブロックタイプとを抽出して取得部 1 12に伝達するとともにブロックデータを抽出して逆周波数変換処理ユニット 150に伝 達する。
制御部 510は、逆周波数変換処理ユニット 150を起動し (ステップ S53)、逆周波数 変換処理ユニット 150は、ブロックデータに逆周波数変換を施して出力する。
[0069] 制御部 510は、マクロブロックについてのマクロブロックタイプがインターマクロブロ ックかイントラマクロブロックかを判別し (ステップ S54)、インターマクロブロックであれ ば、制御部 510の取得部 112は動きベクトルを参照画像転送制御部 513に伝え、参 照画像転送制御部 513は、マクロブロックの位置と各動きベクトルとに基づいて各参 照画像の位置を算出することを通じて各参照画像のメモリ 120内でのアドレスを算出 し (ステップ S55)、そのアドレスを指定して DMAコントローラ 130に、参照画像をメモ リ 120から入力バッファ 561に転送するように指示を発行し (ステップ S56)、動き補償 処理ユニット 560を起動し (ステップ S57)、デブロックフィルタ処理ユニット 180を起 動する(ステップ S58)。このステップ S56による参照画像の転送指示をキューにより 受け付けた DMAコントローラ 130は、 1マクロブロックに対応する全ての参照画像を 入力バッファ 561に転送する。
[0070] また、ステップ S57の結果として、動き補償処理ユニット 560は、入力バッファ 561 内の参照画像と、逆周波数変換されたブロックデータとに基づ!/ヽて画像を再構成し てデブロックフィルタ処理ユニット 180に送出し、またステップ S58の結果としてデブ口 ックフィルタ処理ユニット 180は、再構成された画像のブロックノイズを抑圧して出力 バッファ 590に蓄積する。
[0071] 一方、ステップ S54においてマクロブロックについてのマクロブロックタイプがイント ラマクロブロックであると判別した場合には、制御部 510は、ステップ S55〜S57をス キップしてイントラ処理ユニット 170を起動し (ステップ S59)、デブロックフィルタ処理 ユニット 180を起動する(ステップ S58)。このステップ S59の結果としてイントラ処理 ユニット 170は、逆周波数変換されたブロックデータ力も画像を再構成してデブロック フィルタ処理ユニット 180に送出する。
[0072] 制御部 510の復号画像転送制御部 514は、ステップ S58が行われた後にその結果 として出力バッファ 590に格納されたマクロブロックについての復号画像をメモリ 120 に転送するように DMAコントローラ 130に対して指示を発行する (ステップ S60)。 以上、基本的に 1つのマクロブロックについての処理を図 8に即して順を追って説 明したが、制御部 510は、実際は、パイプライン制御を行っており、図 8のフローチヤ ート中の各ステップに示す動作は、ノ ィプライン制御の周期的な時間である各サイク ルタイムにおいて最初に実行される。即ち、処理対象となるマクロブロックは同一では な ヽ力 ステップ S51と、ステップ S52と、ステップ S53と、ステップ S55〜S56と、ステ ップ S57或いはステップ S59と、ステップ S58と、ステップ S60とのそれぞれは、各サ イタルタイムの最初に実行される。なお、その時において、ステップ S51と、ステップ S 55〜S56と、ステップ S60とについては、後述するように実行順序が定まっているが 、他のステップにつ 、てはどの順序で実行しても差し支えな!/、。
[0073] また、制御部 110による各ユニットの起動は、各サイクルの開始を伝達する意義を 有し、各ュ-ットは各サイクルタイム内に基本的〖こ 1つのマクロブロックに対応する処 理を行う。但し、 DMAコントローラ 130による 1つのマクロブロックに対応する全ての 参照画像についての DMA転送は 1つのサイクルタイム内に完了しなくてもよぐ連続 する 2つのマクロブロックそれぞれに対応する全ての参照画像についての DMA転送 力 つのサイクルタイム内に完了すればよい。
[0074] 図 9は、制御部 510によるパイプライン制御の実行シーケンスを示す図である。
同図中、タイムスロット TS=n (nは任意の整数)は、 n番目のサイクルタイムを意味 する。また、 MB # nは、 n番目のマクロブロックが処理対象であることを示す。
図 9に示すように、制御部 510によるパイプライン制御の下では、ストリーム転送制 御部 111の指示に従って DMAコントローラ 130により実施されるストリーム転送処理 と、 VLD処理ユニット 140により実施される可変長復号処理と、逆周波数変換処理ュ ニット 150により実施される逆周波数変換処理と、参照画像転送制御部 513の指示 に従って DMAコントローラ 130により実施される参照画像転送処理と、動き補償処 理ユニット 160により実施される動き補償処理又はイントラ処理ユニット 170により実 施されるイントラ処理と、デブロックフィルタ処理ユニット 180により実施されるデブロッ クフィルタ処理と、復号画像転送制御部 514の指示に従って DMAコントローラ 130 により実施される復号画像転送処理とが並列してなされる。 [0075] 従って、ある 1つのサイクルタイム内では、各ユニット等により 6つ又は 7つのマクロブ ロックが並行的に処理対象とされる。サイクルタイムの長さは、復号に求められる速度 を満たすように定められ、並列動作する各ユニットのうち 1マクロブロック単位の処理 に要する時間の最も長いユニットのその処理時間が 1サイクルタイム以内になるような 処理性能を各ユニットは発揮する必要がある。
[0076] なお、図 9では、参照画像転送処理については、各マクロブロックに対応する参照 画像の DMA転送が行われ得る期間が 2サイクルタイムあることを示しているだけであ り、 MPEG4AVC規格の大きな画像に対応するレベルの規定により、連続する 2つ のマクロブロック分の動きベクトルの総数の上限が固定的に定められて 、るため、そ のような大きな画像に対する復号の際には、実際上は、例えば n番目のマクロブロッ クに対応する参照画像の転送と n+ 1番目のマクロブロックに対応する参照画像の転 送とを合わせて見れば両方で 2サイクルタイム内に完了することになる。
[0077] 図 10は、制御部 510による DMA転送指示発行処理を示すフローチャートである。
各サイクルタイムの最初において、制御部 510のストリーム転送制御部 111、参照 画像転送制御部 513及び復号画像転送制御部 514が DMA転送指示を行う順序は 、定められており、同図に示すように、まずストリーム転送制御部 111により n番目の マクロブロックに対応する符号化ストリームの DMA転送の指示の発行がなされ (ステ ップ S71)、復号画像転送制御部 514により n— 6番目のマクロブロックに対応する復 号画像の DMA転送の指示の発行がなされ (ステップ S 72)、最後に n— 2番目のマク ロブロックに対応する全ての参照画像の DMA転送の指示の発行がなされる (ステツ プ S73)。
[0078] 図 11は、画像復号装置 500における DMA転送の制御を示す図である。
DMAコントローラ 130は、 1マクロブロック分の可変長符号化されたストリームをメモ リ 120から VLD処理ユニット 140に DMA転送するストリーム転送処理と、 1マクロブロ ックに対応する参照画像をメモリ 120から動き補償処理ユニット 560の入力バッファ 5 61に DMA転送する参照画像転送処理と、出力バッファ 590に格納された 1マクロブ ロックに対応する復号画像をメモリ 120に DMA転送する復号画像転送処理とを、各 サイクルタイム内で時分割して実行する。 [0079] 同図中、記号 Aによりストリーム転送処理の対象となる 1マクロブロック分に相当する 符号化ストリームの転送時間を示しており、記号 Bにより参照画像転送処理の対象と なる 1マクロブロック分に対応する様々な量の参照画像の転送時間の例を示しており 、記号 Cにより復号画像転送処理の対象となる 1マクロブロック分に相当する復号画 像の転送時間を示して 、る。
[0080] この例は、 TS =n+ 2で示されるサイクルタイム内においては DMA転送する 1マク ロブロックに対応する参照画像の総量が多いために、そのサイクルタイム内では DM A転送が完了せずに、 TS=n+ 3で示されるサイクルタイム内に入って漸くその DM A転送が完了する例である。 TS=n+ 3で示されるサイクルタイムを含む全てのサイ クルタイムの最初において図 10に従った順序で DMA転送指示はなされる。即ち、 D MAコントローラ 130は、 DMA転送が終了し次第、キューから、 DMA転送指示を指 示された順に取り出して次の DMA転送を行う。
[0081] なお、 MPEG4AVC規格の大きな画像に対応するレベルの規定により、大きな画 像においても連続する 2つのマクロブロック分の動きベクトルの総数の上限が 16等と 固定的に定められて 、るため、 TS = n + 2にお!/、て DMA転送される参照画像の量 が多 、場合には相対的に TS =n+ 3にお 、て DMA転送される参照画像の量は少 ない又は 0になる。
[0082] 従って、 1サイクルタイム内で 1マクロブロックに対応する全て参照画像の DMA転 送を完了しなくても、 2サイクルタイム内に完了しさえすればよいので、各サイクルタイ ム内でのメモリアクセスによる最大データ転送量を減縮することができるようになるた め、この画像復号装置 500においては、メモリバンド幅についての要件を比較的緩 禾ロでさること〖こなる。
<補足 >
以上、本発明に係る画像復号装置について実施形態 1、 2に基づいて説明したが、 以下のように変形することもでき、本発明は上述の実施形態で示した画像復号装置 に限られないことは勿論である。
(1)実施形態 1、 2では、動き補償処理ユニットは入力バッファを含むこととしたが、動 き補償処理ユニットの外部にバッファメモリを設けても良い。また画像復号装置を構 成する各ユニットはそれぞれ入力バッファや出力バッファを含むこととしてもよい。な お、各ユニットは、必ずしも独立した個体でなくてもよぐ複数が一体として成型されて ものであってもよい。
(2)実施形態 1、 2では、参照画像転送処理によりあるマクロブロックに対応する全て の参照画像のメモリから入力バッファへの DMA転送が完了した後のサイクルタイム で動き補償処理ユニットがそのマクロブロックについての動き補償処理を行うこととし たが、動き補償処理ユニットは入力バッファに参照画像が格納され次第、 DMA転送 が完了前でもそのマクロブロックについての動き補償処理を開始することとしてもよく 、この場合においては例えばその DMA転送が完了した後のサイクルタイムでは動き 補償処理の結果を受けてデブロックフィルタ処理ユニットがデブロックフィルタ処理を 行うこととしてもよい。即ち、実施形態 2について見れば、参照画像を取得し次第、動 き補償処理ユニットが動き補償処理を開始するという場合には、あるサイクルタイム内 にあるマクロブロックに対応する参照画像の DMA転送が開始されたときにそのマク ロブロックに対応するデブロックフィルタ処理をそのサイクルタイムの 2つ後のサイクル タイム内に実行開始するように、実施形態 2で示した画像復号装置を変形してもよ 、
(3)実施形態 1では、 1サイクルタイム内で所定量を超えた参照画像のメモリからの D MA転送が行われる際には、そのサイクルタイム内での復号画像のメモリへの DMA 転送を抑止することとした力 所定量を超えた参照画像の DMA転送が行われるサイ クルタイム内でその参照画像の DMA転送以外の何らかのメモリアクセスを抑止すれ ばよぐ例えば符号化ストリームのメモリからの DMA転送を抑止することとしてもよい
。なお、参照画像の転送量は、あるサイクルタイムで所定量より多ければ次のサイク ルタイムで少なくなることを前提とすれば、抑止したメモリアクセスは、例えばその抑止 したメモリサイクルの次のメモリサイクルを用いて実行するように制御するとよ 、。符号 化ストリームの DMA転送を抑止制御の対象とする場合には、例えば、符号化ストリー ムは実施形態 1で図 5により示したものより常に 1マクロブロック分に相当する量だけ 先読みすることとし、 VLD処理ユニットには 1マクロブロック分余分に蓄積可能な入力 ノ ッファを設けることとしてもよ 、。 (4)実施形態 1で示した閾値 Sは数 1を満たす最小の整数であることとした力 必ずし も最小の整数でなくてもよい。但し、最小の整数であればメモリバスバンド幅を最も大 きく抑えることができる。また、実施形態 1では閾値 Sと動きベクトルの数とを比較した 結果に応じて復号画像の DMA転送を一時的に抑止するか否かを決定する構成を 示したが、画像復号装置を、 DMA転送対象となる参照画像のデータ量と所定量とを 比較した結果に応じて復号画像の DMA転送を一時的に抑止するか否かを決定す る構成にしてちよい。
(5)実施形態 1、 2では、マクロブロック単位で復号を行う画像復号装置を示したが、 マクロブロックを更に細分ィ匕した単位で復号を行うこととしてもよぐ本発明は、画像を 小さな任意のサイズのブロック単位に分割して復号を行う場合に適用できる。
[0083] マクロブロック単位でなく、そのブロック単位で実施形態 2で示したようなノ ィプライ ン制御(図 9参照)を行 ヽ、そのブロック単位を基本的に 1サイクルタイムで処理するよ うにしてもよい。ブロック単位は、例えばマクロブロックの 1Z16である 4 X 4画素のサ ィズや、 1Z2である 8 X 16画素のサイズ等である。なお、ブロック単位でパイプライン 制御を行う場合も、参照画像転送処理のノ ィプラインステージにつ 、ては 1ブロック についての転送を 1サイクルタイムで実行するという制限を外すことになる。
(7)実施の形態 1、 2で示した画像復号装置 100、 500は、それぞれ半導体集積回 路として 1つの半導体チップ上に構成されていてもよぐまた、その半導体集積回路 を 1つのパッケージにした場合にメモリ 120はそのパッケージの外部に存在することと してもよい。なお、図 12は、メモリ 120以外を半導体集積回路 101として実現した画 像復号装置 100のイメージを示す図である。
産業上の利用可能性
[0084] 本発明に係る画像復号装置は、 MPEG4AVC規格に従って圧縮された動画像を 再生する DVDプレーヤ、デジタルテレビ等の画像再生装置にお!/、て利用可能であ る。

Claims

請求の範囲
[1] ブロック毎に圧縮画像の復号を行 、、参照画像に基づ 、て圧縮されたブロックにつ いては動き補償に呼応する補償処理を含む復号を行う画像復号装置であって、 参照画像群を格納して ヽるメモリと、
参照画像を格納するための入力バッファを有し、入カノッファに格納された参照画 像を参照して逐次 1つのブロックについての補償処理を行う補償手段と、
各サイクルタイム内に、逐次、 1つのブロックに対応する参照画像がある限り全ての 参照画像を前記メモリから読み出して前記入力バッファに書き込む参照画像転送手 段と、
各サイクルタイムにおいて前記参照画像転送手段が前記メモリから読み出す参照 画像の総量が所定基準量より多いか否かを判定する判定手段と、
前記判定手段により多いと判定されたサイクルタイム内において、参照画像の読み 出しのためのアクセス以外の、前記メモリへのアクセスを抑止する抑止手段とを備え る
ことを特徴とする画像復号装置。
[2] 前記画像復号装置は、更に、
逐次、参照画像に基づいて圧縮された 1つのブロックに対応する動きベクトルを取 得する取得手段を備え、
前記補償手段は、前記参照画像を参照して、前記取得手段により取得された動き ベクトルに基づ 、て、ブロックにつ!/、ての補償処理を行 、、
前記参照画像転送手段が転送する、 1つのブロックに対応する全ての参照画像そ れぞれは、前記取得手段により取得された当該ブロックに対応する各動きベクトルに より特定されるものであり、
前記判定手段は、各サイクルタイムにおいて前記メモリから読み出すブロックに対 応する参照画像の総量が所定基準量より多いか否かを、前記取得手段により取得さ れた当該ブロックに対応する動きべクトルの数が所定の閾値より多 、か否かにより判 定する
ことを特徴とする請求項 1記載の画像復号装置。
[3] 前記画像復号装置は、更に、
補償手段により補償処理の行われた後のブロックについての復号画像を格納する ための出力バッファと、
逐次、 1つのブロックについての復号画像を、前記出カノッファ力も読み出して前 記メモリに書き込む復号画像転送手段とを備え、
前記抑止手段は、前記判定手段により多いと判定されたサイクルタイム内において 、前記復号画像転送手段による前記メモリへのアクセスを抑止する
ことを特徴とする請求項 2記載の画像復号装置。
[4] 前記出力バッファの容量は、 2ブロック分の復号画像を格納可能な容量であり、 前記復号画像転送手段は、前記抑止手段により抑止されたサイクルタイムの次の サイクルタイム内においては、連続して 2つ分のブロックについての復号画像を、前 記出力バッファ力 読み出して前記メモリに書き込み、それ以外のサイクルタイム内 においては、 1つ分のブロックについての復号画像を、前記出力バッファから読み出 して前記メモリに書き込む
ことを特徴とする請求項 3記載の画像復号装置。
[5] 前記メモリは、参照画像の他に、ブロック毎に参照画像に基づいて圧縮されたプロ ックであるか否かを示す情報と動きベクトルとを含むブロックヘッダ情報とブロックデ 一タとを含んでなるデータが可変長符号化されてなる符号化ストリームを格納してお り、
前記画像復号装置は、更に、
符号化ストリームが入力されると可変長復号する可変長復号手段と、
前記メモリから符号化ストリームを逐次読み出して前記可変長復号手段に入力する ストリーム転送手段と、
逐次伝達されたブロックのブロックデータに参照画像を参照しな 、復号処理を施す イントラ処理手段とを備え、
前記取得手段は、前記可変長復号手段により可変長復号された結果から前記動き ベクトルの取得を行い、更に、可変長復号手段により可変長復号された結果のブロッ クデータを、参照画像に基づ 、て圧縮されたブロックにつ 、ては前記補償手段に伝 達し、参照画像に基づ!/、て圧縮されて 、な 、ブロックにつ 、ては前記イントラ処理手 段に伝達し、
前記出カノッファには、前記補償手段により補償処理の行われた後のブロックにつ いての復号画像の他に、前記イントラ処理手段により復号処理が施された後のブロッ クにつ 、ての復号画像が格納される
ことを特徴とする請求項 4記載の画像復号装置。
[6] 前記ブロックは、マクロブロックである
ことを特徴とする請求項 5記載の画像復号装置。
[7] 前記メモリは、参照画像の他に、ブロック毎に参照画像に基づいて圧縮されたプロ ックであるか否かを示す情報と動きベクトルとを含むブロックヘッダ情報とブロックデ 一タとを含んでなるデータが可変長符号化されてなる符号化ストリームを格納してお り、
前記画像復号装置は、更に、
符号化ストリームデータが入力されると可変長復号する可変長復号手段と、 前記メモリから符号化ストリームを逐次読み出して前記可変長復号手段に入力する ストリーム転送手段と、
逐次伝達されたブロックのブロックデータに参照画像を参照しな 、復号処理を施す イントラ処理手段とを備え、
前記取得手段は、前記可変長復号手段により可変長復号された結果から前記動き ベクトルの取得を行い、更に、可変長復号手段により可変長復号された結果のブロッ クデータを、参照画像に基づ 、て圧縮されたブロックにつ 、ては前記補償手段に伝 達し、参照画像に基づ!/、て圧縮されて 、な 、ブロックにつ 、ては前記イントラ処理手 段に伝達し、
前記抑止手段は、前記判定手段により多いと判定されたサイクルタイム内において 、前記ストリーム転送手段による前記メモリへのアクセスを抑止する
ことを特徴とする請求項 2記載の画像復号装置。
[8] ブロック毎に圧縮画像の復号を行 、、参照画像に基づ 、て圧縮されたブロックにつ いては動き補償に呼応する補償処理を含む復号を行う画像復号装置であって、 参照画像群を格納して ヽるメモリと、
参照画像を格納するための、 2ブロック分の参照画像の格納に足りる容量の入カバ ッファを有し、入力バッファに格納された参照画像を参照して逐次 1つのブロックにつ V、ての補償処理を行う補償手段と、
連続した 2サイクルタイム内に、逐次、 2つのブロックそれぞれに対応する参照画像 がある限り全ての参照画像を前記メモリから読み出して前記入力バッファに書き込む 参照画像転送手段とを備える
ことを特徴とする画像復号装置。
[9] 前記画像復号装置は、更に、前記補償手段による補償処理が行われた後の復号 画像を処理する処理手段を備え、
前記処理手段及び前記補償手段のうち 1手段は、前記参照画像転送手段と並列 にサイクルタイム毎に 1つのブロックに対応する処理をし、かつ、前記参照画像転送 手段により、あるサイクルタイム内に転送開始されたブロックに対応する処理を、当該 サイクルタイムの 2つ後のサイクルタイム内に実行し始める
ことを特徴とする請求項 8記載の画像復号装置。
[10] 前記ブロックは、マクロブロックである
ことを特徴とする請求項 9記載の画像復号装置。
[11] 参照画像群とともにメモリに格納された圧縮画像にっ 、てブロック毎に復号を行 ヽ 、参照画像に基づ ヽて圧縮されたブロックにつ ヽては動き補償に呼応する補償処理 を含む復号を行う画像復号方法であって、
各サイクルタイム内に、逐次、 1つのブロックに対応する参照画像がある限り全ての 参照画像を、前記メモリから読み出し所定のノ ッファに書き込む参照画像転送ステツ プと、
各サイクルタイムにおいて前記参照画像転送ステップにより前記メモリから読み出 す参照画像の総量が所定基準量より多いか否かを判定する判定ステップと、 前記判定ステップにより多いと判定されたサイクルタイム内において、参照画像の 読み出しのためのアクセス以外の、前記メモリへのアクセスを抑止する抑止ステップと 前記所定のバッファに格納された参照画像を参照して逐次 1つのブロックについて の補償処理を行う補償ステップとを含む
ことを特徴とする画像復号方法。
[12] 参照画像群とともにメモリに格納された圧縮画像にっ 、てブロック毎に復号を行 ヽ 、参照画像に基づ ヽて圧縮されたブロックにつ ヽては動き補償に呼応する補償処理 を含む復号を行う画像復号方法であって、
連続した 2サイクルタイム内に、逐次、 2つのブロックそれぞれに対応する参照画像 がある限り全ての参照画像を前記メモリから読み出して所定のバッファに書き込む画 像転送ステップと、
前記所定のバッファに格納された参照画像を参照して逐次 1つのブロックについて の補償処理を行う補償ステップと並列に実行する
ことを特徴とする画像復号方法。
[13] ブロック毎に圧縮画像の復号を行 、、参照画像に基づ 、て圧縮されたブロックにつ いては動き補償に呼応する補償処理を含む復号を行う半導体集積回路であって、 参照画像群を格納して ヽるメモリと、
参照画像を格納するための入力バッファを有し、入カノッファに格納された参照画 像を参照して逐次 1つのブロックについての補償処理を行う補償回路部と、
各サイクルタイム内に、逐次、 1つのブロックに対応する参照画像がある限り全ての 参照画像を、前記メモリから読み出して前記入力バッファに書き込む参照画像転送 回路部と、
各サイクルタイムにおいて前記参照画像転送回路部が前記メモリから読み出す参 照画像の総量が所定基準量より多いか否かを判定する判定回路部と、
前記判定回路部により多いと判定されたサイクルタイム内において、参照画像の読 み出しのためのアクセス以外の、前記メモリへのアクセスを抑止する抑止回路部とを 備える
ことを特徴とする半導体集積回路。
[14] ブロック毎に圧縮画像の復号を行 、、参照画像に基づ 、て圧縮されたブロックにつ いては動き補償に呼応する補償処理を含む復号を行う半導体集積回路であって、 参照画像群を格納して ヽるメモリと、
参照画像を格納するための、 2ブロック分の参照画像の格納に足りる容量の入カバ ッファを有し、入力バッファに格納された参照画像を参照して逐次 1つのブロックにつ V、ての補償処理を行う補償回路部と、
連続した 2サイクルタイム内に、逐次、 2つのブロックそれぞれに対応する参照画像 がある限り全ての参照画像を前記メモリから読み出して前記入力バッファに書き込む 参照画像転送回路部とを備える
ことを特徴とする半導体集積回路。
PCT/JP2005/012310 2004-08-04 2005-07-04 画像復号装置 Ceased WO2006013690A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/632,548 US8428126B2 (en) 2004-08-04 2005-07-04 Image decoding device with parallel processors
JP2006531327A JP4668914B2 (ja) 2004-08-04 2005-07-04 画像復号装置
EP05765215.8A EP1775961B1 (en) 2004-08-04 2005-07-04 Video decoding device and method for motion compensation with sequential transfer of reference pictures

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004228433 2004-08-04
JP2004-228433 2004-08-04

Publications (1)

Publication Number Publication Date
WO2006013690A1 true WO2006013690A1 (ja) 2006-02-09

Family

ID=35786985

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/012310 Ceased WO2006013690A1 (ja) 2004-08-04 2005-07-04 画像復号装置

Country Status (5)

Country Link
US (1) US8428126B2 (ja)
EP (1) EP1775961B1 (ja)
JP (1) JP4668914B2 (ja)
CN (1) CN100534193C (ja)
WO (1) WO2006013690A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007318517A (ja) * 2006-05-26 2007-12-06 Sony Corp 画像データの処理方法、画像データの処理方法のプログラム、画像データの処理方法のプログラムを記録した記録媒体及び画像データの処理装置
WO2012017858A1 (ja) * 2010-08-03 2012-02-09 ソニー株式会社 画像処理装置と画像処理方法
JP2012195703A (ja) * 2011-03-15 2012-10-11 Fujitsu Ltd トランスコード装置及びトランスコード方法
JP2014078891A (ja) * 2012-10-11 2014-05-01 Canon Inc 画像処理装置、画像処理方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602006018868D1 (de) * 2005-01-28 2011-01-27 Thomson Licensing Verfahren und vorrichtung zur framekodierung in echtzeit
EP2026585A4 (en) 2006-05-24 2016-08-31 Panasonic Ip Man Co Ltd IMAGE ENCODING DEVICE AND METHOD, AND IMAGE ENCODING INTEGRATED CIRCUIT
JP2008072647A (ja) * 2006-09-15 2008-03-27 Toshiba Corp 情報処理装置、デコーダおよび再生装置の動作制御方法
CN101543038B (zh) * 2007-05-17 2013-01-02 索尼株式会社 信息处理装置和方法
KR20090011223A (ko) * 2007-07-25 2009-02-02 삼성전자주식회사 방송처리장치 및 그 제어방법
KR101439848B1 (ko) * 2008-01-08 2014-09-17 삼성전자주식회사 움직임 보상 방법 및 장치
JP5275454B2 (ja) * 2009-03-31 2013-08-28 パナソニック株式会社 画像復号装置
US8186876B2 (en) * 2009-04-20 2012-05-29 Welch Allyn, Inc. Calibrated assembly for IR thermometer apparatus
US8136985B2 (en) * 2009-05-05 2012-03-20 Welch Allyn, Inc. IR thermometer thermal isolation tip assembly
US9877033B2 (en) * 2009-12-21 2018-01-23 Qualcomm Incorporated Temporal and spatial video block reordering in a decoder to improve cache hits
WO2011161949A1 (ja) * 2010-06-23 2011-12-29 パナソニック株式会社 画像復号装置、画像復号方法、集積回路およびプログラム
CN104170386A (zh) * 2012-03-16 2014-11-26 松下电器产业株式会社 图像解码装置以及图像解码方法
CN103402086B (zh) * 2013-07-22 2017-02-15 华为技术有限公司 一种用于视频编码系统的性能控制方法及编码器
US10396827B2 (en) * 2015-09-25 2019-08-27 SK Hynix Inc. Data storage device
US11177835B2 (en) 2015-09-25 2021-11-16 SK Hynix Inc. Data storage device
US11611359B2 (en) 2015-05-29 2023-03-21 SK Hynix Inc. Data storage device
US11515897B2 (en) 2015-05-29 2022-11-29 SK Hynix Inc. Data storage device
KR102285940B1 (ko) 2015-05-29 2021-08-05 에스케이하이닉스 주식회사 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법
US11087428B2 (en) * 2018-03-23 2021-08-10 Canon Kabushiki Kaisha Image processing apparatus, data processing apparatus, and image processing method
US11558637B1 (en) * 2019-12-16 2023-01-17 Meta Platforms, Inc. Unified search window to support multiple video encoding standards

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07240844A (ja) * 1993-03-19 1995-09-12 Mitsubishi Electric Corp 画像データ処理装置および画像データ処理方法
JPH07336689A (ja) * 1994-06-07 1995-12-22 Hitachi Ltd 動き補償回路
JPH0937249A (ja) * 1995-07-20 1997-02-07 Hitachi Ltd 符号化映像信号の復号化処理方法及びそれを用いた復号化装置
JPH10327412A (ja) * 1997-03-26 1998-12-08 Matsushita Electric Ind Co Ltd 画像復号化装置
JPH10341422A (ja) * 1997-04-07 1998-12-22 Matsushita Electric Ind Co Ltd 映像音声処理装置
JPH11252549A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 画像符号化/復号化装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293486A (en) * 1991-06-28 1994-03-08 Digital Equipment Corporation Deterministic method for allocation of a shared resource
JP3605826B2 (ja) * 1993-06-10 2004-12-22 ソニー株式会社 ビデオおよびオーディオ信号処理システムにおける補助情報のための合理的入力バッファの回路配列
JP3824678B2 (ja) * 1995-05-09 2006-09-20 株式会社ルネサステクノロジ 画像復号表示装置
DE69738878D1 (de) * 1996-04-12 2008-09-11 Sony Corp Bildkodierung mit Pufferunterlaufvermeidung
US6212236B1 (en) * 1997-03-26 2001-04-03 Matsushita Electric Industrial Co., Ltd. Image decoding apparatus
CN1156171C (zh) * 1997-04-07 2004-06-30 松下电器产业株式会社 提高处理效率的图象声音处理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07240844A (ja) * 1993-03-19 1995-09-12 Mitsubishi Electric Corp 画像データ処理装置および画像データ処理方法
JPH07336689A (ja) * 1994-06-07 1995-12-22 Hitachi Ltd 動き補償回路
JPH0937249A (ja) * 1995-07-20 1997-02-07 Hitachi Ltd 符号化映像信号の復号化処理方法及びそれを用いた復号化装置
JPH10327412A (ja) * 1997-03-26 1998-12-08 Matsushita Electric Ind Co Ltd 画像復号化装置
JPH10341422A (ja) * 1997-04-07 1998-12-22 Matsushita Electric Ind Co Ltd 映像音声処理装置
JPH11252549A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 画像符号化/復号化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NIEN-TSU WANG: "processing and storage models for MPEG-2 main level and high level video coding - A block-level pipeline approach", PHD THESIS, pages 40 - 118

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007318517A (ja) * 2006-05-26 2007-12-06 Sony Corp 画像データの処理方法、画像データの処理方法のプログラム、画像データの処理方法のプログラムを記録した記録媒体及び画像データの処理装置
WO2012017858A1 (ja) * 2010-08-03 2012-02-09 ソニー株式会社 画像処理装置と画像処理方法
JP2012195703A (ja) * 2011-03-15 2012-10-11 Fujitsu Ltd トランスコード装置及びトランスコード方法
JP2014078891A (ja) * 2012-10-11 2014-05-01 Canon Inc 画像処理装置、画像処理方法

Also Published As

Publication number Publication date
US20070206675A1 (en) 2007-09-06
EP1775961B1 (en) 2017-06-14
CN100534193C (zh) 2009-08-26
CN1993992A (zh) 2007-07-04
US8428126B2 (en) 2013-04-23
EP1775961A4 (en) 2012-02-08
EP1775961A1 (en) 2007-04-18
JPWO2006013690A1 (ja) 2008-05-01
JP4668914B2 (ja) 2011-04-13

Similar Documents

Publication Publication Date Title
WO2006013690A1 (ja) 画像復号装置
JP2801560B2 (ja) 動き画像符号化のための改善された低遅延符号化方法
JP2008529412A (ja) 中間ループフィルタデータを格納するスクラッチパッド
JP2011097617A (ja) デジタルビデオ符号化処理における可変精度ピクチャ間タイミング指定方法及び装置
CN101166277B (zh) 在用于处理运动图像的设备中访问存储器的方法
US9509940B2 (en) Image output device, image output method, and recording medium
US9386310B2 (en) Image reproducing method, image reproducing device, image reproducing program, imaging system, and reproducing system
JP2012085001A5 (ja)
JPH11168729A (ja) 画像復号化装置及び画像復号化方法
JP2002112268A (ja) 圧縮画像データ復号装置
US20110122952A1 (en) Motion estimation device
JP5115549B2 (ja) デコード方法、デコーダ及びデコード装置
KR102171119B1 (ko) 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법
JP2007318615A (ja) 動画再生装置、動画再生方法およびプログラム
JP4894793B2 (ja) デコード方法、デコーダ及びデコード装置
WO2009085788A1 (en) System, method and device for processing macroblock video data
US20050031042A1 (en) Method and system for providing a high speed multi-stream MPEG processor
JP2000324484A (ja) 画像データ処理装置
KR20170052143A (ko) 동영상 디코더에 적용되는 메모리 기반의 루프 필터
JP2014075708A (ja) 動画像符号化装置及び動画像符号化方法
JP2012019462A (ja) 画像復号装置および画像復号方法
JP2011077609A (ja) 再生装置および再生方法
JP2007288443A (ja) 画像データ復号装置
WO2010150465A1 (ja) AV(Audio Visual)データ再生回路、AVデータ再生装置、集積回路およびAVデータ再生方法
JP2004236321A (ja) ビデオデータ圧縮のための装置及び方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REEP Request for entry into the european phase

Ref document number: 2005765215

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2005765215

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11632548

Country of ref document: US

Ref document number: 2007206675

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2006531327

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580026262.4

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005765215

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11632548

Country of ref document: US