WO2008029550A1 - Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image data processing device - Google Patents

Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image data processing device Download PDF

Info

Publication number
WO2008029550A1
WO2008029550A1 PCT/JP2007/062833 JP2007062833W WO2008029550A1 WO 2008029550 A1 WO2008029550 A1 WO 2008029550A1 JP 2007062833 W JP2007062833 W JP 2007062833W WO 2008029550 A1 WO2008029550 A1 WO 2008029550A1
Authority
WO
WIPO (PCT)
Prior art keywords
image data
reference image
cache memory
stored
memory
Prior art date
Application number
PCT/JP2007/062833
Other languages
English (en)
French (fr)
Inventor
Hirofumi Morimoto
Tetsuo Kaneko
Original Assignee
Sony Corporation
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 Sony Corporation filed Critical Sony Corporation
Priority to EP07767639A priority Critical patent/EP2061256A4/en
Priority to US12/374,114 priority patent/US8400460B2/en
Publication of WO2008029550A1 publication Critical patent/WO2008029550A1/ja

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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • Image data processing method program for image data processing method, recording medium storing program for image data processing method, and image data processing apparatus
  • the present invention relates to an image data processing method, a program for the image data processing method, a recording medium on which the program for the image data processing method is recorded, and an image data processing apparatus.
  • the encoding of moving image data in the MPEG_4AVCZI TU_T H.264 format It can be applied to an encoding device and a decoding device.
  • the present invention issues address data so as to specify areas each having a plurality of readout units in the horizontal direction and the vertical direction, and stores reference image data in a cache memory, thereby reducing the cache memory capacity.
  • the memory bus access frequency can be reduced.
  • moving image data for which encoding processing has been completed is decoded and held in a frame memory, and the moving image data held in the frame memory is referred to and continued.
  • the moving image data of the frame is encoded.
  • the decoded moving image data is held in the frame memory, and the moving image data such as the following frame is decoded by referring to the moving image data.
  • FIG. 1 is a block diagram showing an MP EG-4 AVCZ ITU-TH.264 encoding apparatus.
  • the encoding device 1 encodes input image data D 1 to generate an output cast AD 2.
  • the encoding device 1 sequentially inputs the input image data D 1 to the subtraction unit 2 in the order according to the GOP structure.
  • the subtraction unit 2 subtracts the prediction value output from the selection unit 3 from the input image data D 1 and outputs a prediction error value.
  • the discrete cosine transform unit 4 The prediction error value is subjected to discrete cosine transform processing to output coefficient data.
  • the quantization unit 5 quantizes the coefficient data and outputs it.
  • the entropy coding unit 6 performs variable length coding processing on the output data of the quantization unit 5 and outputs the result.
  • the encoding device 1 adds various control codes, a motion vector MV, etc. to the output data of the entropy encoding unit 6 to generate an output stream D2.
  • the inverse quantization unit 7 performs an inverse quantization process on the output data of the quantization unit 5 and decodes the output data of the discrete cosine transform unit 4.
  • the inverse discrete cosine transform unit 8 performs an inverse discrete cosine transform process on the output data of the inverse quantization unit 7 and decodes the output data of the subtraction unit 2.
  • the addition unit 9 adds the predicted value output from the selection unit 3 to the output data of the inverse discrete transform unit 8, and decodes the input image data D1.
  • the deblocking filter 10 removes block distortion from the input image data D 1 decoded by the adder 9 and outputs the result.
  • the reference image memory 11 holds the image data D 3 output from the deblocking filter 10 as reference image data, and outputs it to the motion compensation unit 12.
  • the motion vector detection unit 13 detects and outputs the motion vector MV from the input image data D 1 in the inter-frame encoding process.
  • the motion compensation unit 12 compensates the motion of the reference image data with the motion vector MV and outputs it in the inter-frame coding process.
  • the weighted prediction unit 14 weights and adds the image data output from the motion compensation unit 12 to generate a prediction value in the interframe coding process.
  • the intra-screen prediction unit 15 generates a predicted value in the intra-frame encoding process from the output data of the addition unit 9 and outputs it.
  • the selection unit 3 selects the prediction value output from the weighted prediction unit 14 and the prediction value output from the intra-screen prediction unit 15 and outputs the selected prediction value to the subtraction unit 2.
  • the encoding control unit 17 controls the operation of each unit so that the code amount of the output stream D 2 becomes a predetermined target value.
  • Japanese Patent Application Laid-Open No. 2 0 06-3 1 4 8 0 describes the characteristics of an image when transferring data from a main memory to a cache memory in a sub-processor that decodes a compressed image. Based on the parameter that represents A configuration is disclosed that increases the probability of hitting a cache in subsequent processing by adaptively changing the memory area to be cached.
  • the present invention has been made in view of the above points.
  • An image data processing method capable of reducing the access frequency of the memory bus while reducing the capacity of the cache memory, a program for the image data processing method, and an image data processing method intends to propose a recording medium and an image data processing apparatus on which the above program is recorded.
  • the present invention generates a predicted value from reference image data held in a reference image memory using a cache memory, and encodes and / or decodes moving image data using the predicted value.
  • Applied to the image data processing method to identify a region on the screen of the reference image data by one-dimensional address data of the reference image memory, and use the cache memory for generating the predicted value A request step of reference image data for requesting the reference image data; a cache memory search step of searching for reference image data corresponding to the request from the reference image data stored in the cache memory; The cache image is stored when the reference image data is stored in the cache memory.
  • a first reference image data output step for outputting the reference image data stored in the memory in response to the request; and when the corresponding reference image data is not stored in the cache memory, the reference image memory
  • the corresponding reference image data stored in the cache memory is stored in the cache memory, and the corresponding reference image data is output in response to the request.
  • the reference image memory outputs the reference image data in a readout unit of a plurality of pixels continuous in a horizontal direction or a vertical direction, and the region is in a horizontal direction and a vertical direction. Each of the plurality of read unit areas is used.
  • the present invention also provides an image data processing method for generating a predicted value from reference image data stored in a reference image memory using a cache memory, and encoding and / or decoding moving image data using the predicted value.
  • the reference image data used for generating the predicted value in the cache memory is specified by a one-dimensional address data of the reference image memory to identify an area on the screen of the reference image data.
  • the cache memory stores A first reference image data output step for outputting the stored reference image data in response to the request; and when the corresponding reference image data is not stored in the cache memory, the reference image memory A second reference image data output step of storing the corresponding reference image data stored in the cache memory and outputting the corresponding reference image data in response to the request.
  • the memory outputs the reference image data in a reading unit of a plurality of pixels continuous in the horizontal direction or the vertical direction, and the area is a plurality of the reading unit areas in the horizontal direction and the vertical direction, respectively. To do.
  • the present invention also provides an image data processing method for generating a predicted value from reference image data stored in a reference image memory using a cache memory, and encoding and / or decoding moving image data using the predicted value.
  • the image data processing method specifies an area on the screen of the reference image data by one-dimensional address data of the reference image memory, and stores the cache memory in the cache memory.
  • a reference image data requesting step for requesting the reference image data to be used for generating the predicted value, and a reference image data corresponding to the request from the reference image data stored in the cache memory.
  • a first reference image data that is output in response to the request when the corresponding reference image data is stored in the cache memory.
  • the present invention provides an image data processing apparatus that uses a cache memory to generate a prediction value from reference image data held in a reference image memory, and encodes and / or decodes moving image data using the prediction value. And applying the one-dimensional address data of the reference image memory to identify an area on the screen of the reference image data, and re-registering the reference image data used for generating the predicted value in the cache memory.
  • the reference image data stored in the cache memory A first reference image data output unit that outputs in response to the request, and the corresponding reference image stored in the reference image memory when the corresponding reference image data is not stored in the cache memory.
  • a second reference image data output unit for storing the image data in the cache memory and outputting the corresponding reference image data in response to the request, wherein the reference image memory is horizontal or vertical
  • the reference image data is output in units of readout of a plurality of pixels that are continuous in the direction, so that the region is a region of a plurality of units of readout in the horizontal direction and the vertical direction, respectively.
  • the shape of the requested area is variously devised, the cache memory is reduced in size, and the frequency of occurrence of cache misses is reduced. can do. Therefore, it is possible to reduce the access frequency of the memory path while reducing the capacity of the cache memory. According to the present invention, it is possible to reduce the access frequency of the memory bus while reducing the capacity of the cache memory.
  • FIG. 1 is a block diagram showing a conventional encoding device.
  • FIG. 2 is a block diagram showing a decoding apparatus according to Embodiment 1 of the present invention.
  • FIG. 3 is a block diagram showing in detail a decoding unit of the decoding apparatus of FIG.
  • FIG. 4 is a schematic diagram showing a configuration of a reference image memory in the decoding apparatus of FIG.
  • FIG. 5 is a schematic diagram for explaining a cache memory in the decryption apparatus of FIG.
  • FIG. 6 is a schematic diagram for explaining the index of the cache memory in the decoding device of FIG.
  • FIG. 7 is a schematic diagram showing a configuration of a cache memory in the decoding apparatus of FIG.
  • FIG. 8 is a schematic diagram showing areas to be stored in the cache memory of FIG.
  • FIG. 9 is a schematic diagram for explaining the access to the cache memory in the decryption apparatus of FIG.
  • FIG. 10 is a schematic diagram for explaining the access to the cache memory according to an example different from FIG.
  • FIG. 11 is a schematic diagram for explaining the cache memory access in the conventional decryption apparatus.
  • FIG. 12 is a schematic diagram showing a configuration of a cache memory in the decoding apparatus according to the second embodiment of the present invention.
  • FIG. 13 is a schematic diagram for explaining an access to the cache memory in the decoding apparatus according to the second embodiment of the present invention.
  • FIG. 14 is a schematic diagram for explaining the cache memory access in the conventional decryption apparatus.
  • FIG. 15 is a schematic diagram for explaining the access to the cache memory according to an example different from FIG.
  • FIG. 16 is a schematic diagram for explaining a cache memory in the encoding apparatus according to the third embodiment of the present invention.
  • FIGS. 17 (A) and 17 (B) are schematic diagrams for explaining a cache memory in the encoding apparatus according to the fourth embodiment of the present invention.
  • FIG. 18 is a schematic diagram for explaining an index in the encoding apparatus of FIG.
  • FIG. 19 is a schematic diagram showing a specific configuration of FIG.
  • FIG. 20 is a flowchart showing the processing procedure of the decoding unit core in the decoding apparatus according to Embodiment 5 of the present invention.
  • FIG. 21 is a flowchart showing the continuation of FIG.
  • FIGS. 22 (A) and 22 (B) are plan views showing macroblocks of MP E G 2.
  • FIG. 22 (A) and 22 (B) are plan views showing macroblocks of MP E G 2.
  • FIGS. 23 (A) to 23 (G) are plan views showing MPEG4 / AVC macroblocks.
  • FIG. 24 (A), FIG. 24 (B) FIG. 24 is a schematic diagram for explaining region switching in the decoding apparatus according to the sixth embodiment of the present invention.
  • FIG. 25 is a flowchart showing the processing procedure of the decoding unit core in the decoding apparatus according to Embodiment 6 of the present invention.
  • FIG. 2 is a block diagram showing the decoding apparatus according to Embodiment 1 of the present invention.
  • This decoding device 21 is an MPEG-4AVCZI TU_T H.264 decoding device, reproduces the input bit stream D 11 from the recording medium 22, and generates moving image data D 1 2 is decoded and output to the monitor device 2 3.
  • the recording medium 22 is, for example, a hard disk device, a DVD (Digital Versatile Disk) or the like.
  • the data reading unit 24 reproduces the input bit stream D 11 from the recording medium 22. Also, the packet header of the reproduced input bit stream D 11 is analyzed, information necessary for decoding control such as picture type is detected and output to the reproduction control unit 25, and the bit stream D 13 is decoded to the decoding unit 2 Output to 6.
  • the reproduction control unit 25 controls the operation of each unit of the decoding device 21 based on information such as the picture type notified from the data reading unit 24.
  • the cache control unit 25 A sets the reference image data area to be stored in the cache memory 27.
  • the decoding unit 26 uses the reference image data D 16 stored in the reference image memory 28 B to sequentially process the bit stream D 13 output from the data reading unit 24 4 to obtain moving image data D 1 Decrypt 4 In this process, the decoding unit 26 processes the reference image data D 16 held in the reference image memory 28 B using the cache memory 27.
  • the frame buffer 28 is formed of, for example, DRAM, and temporarily stores the moving image data D 14 decoded by the decoding unit 26 in the decoded image memory 28 A under the control of the GUI controller 29. .
  • the stored moving image data is output to the monitor device 23 in the display order.
  • the frame buffer 28 also temporarily stores and holds the moving image data D 14 output from the decoding unit 26 as reference image data D 16 in the reference image memory 28 B, and controls the decoding unit 26. Thus, the held reference image data D 16 is output to the decoding unit 26.
  • the GUI controller 29 adjusts the read timing of the moving image data D 14 held in the decoded image memory 28 A.
  • FIG. 3 is a block diagram showing the decoding unit 26 in detail along with related components.
  • the decoding unit 26 has a decoding unit core 31 of an arithmetic processing circuit. By executing a predetermined processing program in the decoding unit core 31, the decoding unit core 31 can convert the video data D 1 from the bit stream D 13. Configure various function blocks to decrypt 4.
  • this processing program is installed and provided in advance in this decryption device 21, it is provided that it is recorded on various recording media such as an optical disk, a magnetic disk, and a memory card instead of this prior installation. Alternatively, it may be provided by downloading via a network such as the Internet.
  • the decoding unit core 31 detects the motion vector from the bit stream D 13 output from the data reading unit 24 by the motion vector detection unit 33. In addition, the decoding unit core 31 sequentially converts the bit stream D 13 by a variable length decoding unit, an inverse quantization unit, and an inverse discrete cosine transform unit (not shown), a variable length decoding process, an inverse quantization process, and an inverse discrete code. Performs sine conversion and decodes prediction error values.
  • the decoding unit core 3 1 uses the motion compensation unit 3 4 to predict the predicted value based on the motion vector detected by the motion vector detection unit 3 3.
  • the position of the reference image data D 16 used to generate the image is obtained, and the output of the reference image data D 16 at the obtained position is requested to the cache memory 27.
  • the decoding unit core 3 1 transfers the requested reference image data D 1 6 from the cache memory 2 7 to the motion compensation unit 3 4. Output to.
  • the decoding unit core 31 sends the requested reference image data D 16 to the reference image memory 28 B.
  • the acquired reference image data D 1 6 is stored in the cache memory 27 and is output to the motion compensation unit 34.
  • the decoding unit core 31 uses the reference image data D 16 to generate a prediction value used for decoding the image data.
  • the prediction value is added to the prediction error value, and the moving image data is decoded.
  • the decoding unit core 3 1 processes the decoded moving image data with a deblocking filter and outputs the processed data to the frame buffer 28.
  • Fig. 4 shows the reference image by comparison with the reference image data D16 for one frame. It is a figure which shows the address map of image memory 28B.
  • the most appropriate reference frame is selected from a plurality of reference frames and a predicted value is generated.
  • the reference image memory 28 B is formed so as to hold a plurality of reference frames. Therefore, the reference image memory 28 B is assigned an address so as to hold the plurality of reference frames, and the cache memory 27 can selectively store the reference image data D 16 for the plurality of frames. become.
  • the reference image memory 28B will be described as storing reference image data D16 for one frame.
  • the reference image memory 28 B is set to 8 pixels that are output in a row in the horizontal direction, and the reference image data D 16 in the region of 8 pixels x 1 pixel is accessed once. It is formed so that it can output. Therefore, in the reference image memory 28B, the readout unit of the reference image data is set to 8 pixels that are continuous in the horizontal direction.
  • multiple types of prediction value generation units are prepared in the interframe coding process, and prediction values are generated using the optimal generation unit.
  • these multiple types of generation units have horizontal and vertical sizes of 16 pixels x 16 pixels, 16 pixels x 8 pixels, 8 pixels x 16 pixels, 8 pixels x 8 pixels, 8 pixels, respectively.
  • Reference picture memory 2 8 B pixels that are output in a horizontal direction in a single access are 8 consecutive pixels in the horizontal direction.
  • the generation unit with the largest horizontal direction (16 pixels) XI 6 pixels, 16 pixels x 8 pixels which is smaller than the number of pixels in the horizontal direction and half the number of pixels in the horizontal direction of these generation units.
  • one address is assigned to the area of 8 pixels ⁇ 1 pixel that can be output all at once.
  • Reference image data with this area as a unit
  • FMh X vertical size FMv of the data D 1 6 as shown by the arrows in Fig. 4
  • the vertical scanning from the raster scan start side is repeated in order, from 0 to FMv X ( One-dimensional addresses up to FMh-1) are assigned. Therefore, in the upper part of this FMv X (FMh-1) address, the predetermined bit is a raster scan of a vertically long area obtained by dividing one screen by the reference image data D 1 6 in units of 8 pixels horizontally. The order from the start end side will be shown.
  • the lower bits of the FMv X (FMh-1) address indicate the order from the start side of the raster running in this vertically long area.
  • FIG. 5 is a diagram showing the configuration of the cache memory 27.
  • the cache memory 27 is a memory to which a one-dimensional address is assigned.
  • the horizontal size is set to 8 pixels that can be output from the reference image memory 28B at one time, and the index number is set to a predetermined number MV. Accordingly, the cache memory 27 is configured to output the reference image data D 16 of 8 pixels continuous in the horizontal direction all at once.
  • the cache memory 27 receives the reference image data of the predetermined area AR extracted from one screen of the reference image data D 16 from the reference image memory 28 B and holds it.
  • this area AR is a rectangular area
  • the horizontal size WS h is set to a size that is at least twice as large as 8 pixels that can be read from the reference image memory 28 B at one time.
  • the vertical size WS V is set to a predetermined number of lines, and in the example of FIG. 6, this number of lines is set to 16 lines. Therefore, in this embodiment, regarding the read unit of the reference image data from the reference image memory 28B, the area AR to be cut out is set as a plurality of read units in the horizontal direction and the vertical direction, respectively.
  • the vertical and horizontal sizes WS h and WS v of the region AR to be cut out are equal to or larger than the maximum size of the predicted value generation units in this embodiment.
  • the index number Mv of the cache memory 27 is set to a multiplication value of the horizontal and vertical sizes WS h XWS V of the predetermined area AR.
  • the decoding unit core 31 determines the position of this area AR based on the position of the reference image data D 16 used for generating the predicted value calculated by the motion compensation unit 34. Also, the cache memory 27 is requested to output the reference image data D 1 6 in this area AR. The At this time, the address data AD is issued to the cache memory 27 in the order indicated by the arrows in FIG. 6 and the output of the reference image data D 16 is requested to the cache memory 2 7. If the requested reference image data D 1 6 is not stored in the cache memory 27, the corresponding reference image data D 1 6 is obtained from the reference image memory 2 8 B, and a predicted value is generated. The acquired reference image data D 16 is stored in the cache memory 27.
  • the decoding unit core 3 1 starts raster scanning of a vertically long area obtained by dividing one screen by the reference image data D 1 6 horizontally in units of 8 pixels from the address data ADFM issued to the reference image memory 28 B.
  • the upper side indicating the order from the end side, the predetermined bit A, and the lower side indicating the order from the raster scanning start end side, and the predetermined bit B in each vertically long region are cut out and combined, and are continuously connected in the horizontal direction 8
  • a two-dimensional address indicating the position of the reference image data D 16 on the screen is generated for each pixel reference image data.
  • the decoding unit core 31 sets this two-dimensional address as an index of each reference image data held in the cache memory 27.
  • variable AR which is cut out by changing the number of bits A and lower-order bits B, M and N.
  • the number M of the upper bits A is increased, and the lower bits are correspondingly increased. This can be done by reducing the number N of bits of B.
  • the cache memory 27 is composed of one way of 2560 bytes.
  • 2 56 bytes are the size corresponding to the reference image data amount of the largest predicted value generation unit.
  • the size of the area AR to be cut out is set to the largest predicted value generation unit size by the cache control unit 25 A. Therefore, in the area AR to be cut out, the horizontal size WSh is set to 16 pixels, and the vertical size WSV is set to 16 pixels.
  • the decoding unit core 31 detects the motion compensation unit 3 4 by the magnitude of the motion vector MV 1.
  • the area ARA is calculated by displacing the area of this macroblock MB in the opposite direction to the motion vector MV1.
  • the address data AD of this area ARA is issued to the sequential cache memory 27, and the output of the reference image data D16 of this area ARA is requested to the cache memory 27.
  • FIG. 9 shows a case where a predicted value is generated for a macroblock MB of 16 pixels ⁇ 16 pixels.
  • the decoding unit core 31 creates two-dimensional address data from the upper bit A and the lower bit B of the address data AD in the same manner as described above with reference to FIG.
  • the index set in the cache memory 27 is sequentially searched with the address data, and it is judged whether or not the requested reference image data is held in the cache memory 27.
  • the decoding unit core 31 acquires this reference image data and generates a predicted value.
  • the address data ADFM of the reference image data D1 6 not held is issued, and the corresponding reference image data D1 6
  • the output is requested to the reference image memory 28 B, the reference image data is obtained from the reference image memory 28 B, and a predicted value is generated.
  • the reference image data held in the cache memory 27 is updated with the acquired reference image data, and the index is updated so as to correspond to the update of the reference image data.
  • the numbers in the cache memory 27 of each block of 8 pixels X 8 pixels in the reference image data D 16 are compared with those in FIG. And the storage location of the cache memory 27.
  • the cache memory 27 has 16 pixels X 8 pixels, 8 pixels XI 6 pixels macroblocks MB 1 and MB 2 processed in sequence, for example, as shown in FIG.
  • the reference image data referred to by the blocks MB 1 and MB 2 is stored.
  • each macro block and sub is stored.
  • the input bit stream D 1 1 reproduced from the recording medium 2 2 (FIG. 2) is decoded into moving image data D 1 4 by the decoding unit 26, and this moving image data D 1 4 is The data is output to the monitor device 23 via the decoded image memory 28 A and the GUI controller 29.
  • the decoded moving image data D 14 is stored as reference image data D 16 in the reference image memory 28 B, and a prediction value is generated when the decoding unit 26 decodes the moving image data D 14. Used for.
  • a motion vector is detected from the input bitstream D 11 by the motion vector detection unit 33 configured by the decoding unit core 31 of the decoding unit 26. Further, based on the detected motion vector, the address data AD of the reference image data D 16 used to generate the predicted value is obtained by the motion compensation unit 34, and the reference image data D 16 is obtained from the address data AD. Is done.
  • the decoding device 21 acquires the reference image data used for generating the predicted value from the cache memory 27. .
  • the decoding device 21 acquires the corresponding reference image data D 16 from the reference image memory 28 B. The corresponding reference image data D 16 is stored in the cache memory 27 and held.
  • the reference image data held in the cache memory 27 is repeatedly used when the prediction value is continuously generated using the same reference image data in continuous prediction value generation units.
  • the predicted value can be generated, and the moving image data D 14 can be decoded at a higher speed than when no cache memory is used.
  • the cache memory 27 is managed with a one-dimensional address in units of a plurality of pixels that can be read out once, simply applying the conventional method increases cache misses. Therefore, it is necessary to frequently access the reference image memory 28 B, and the access frequency of the memory bus increases.
  • FIG. 11 is referred to by the conventional method in comparison with Fig. 7 and Fig. 9.
  • 6 is a schematic diagram illustrating a case where image data is stored in a cache memory 27.
  • FIG. 11 When managing reference image data held by a one-dimensional address, the reference image data stored in the cache memory can only store one-dimensionally continuous image data on the screen of the reference image data D 16, As a result, when the cache memory of the size of this embodiment is used, as shown in Fig. 11, reference image data is stored only in a vertically long area of 8 pixels in the horizontal direction and 32 lines in the vertical direction. become unable.
  • the reference image data of the area ARA of 16 pixels x 16 pixels corresponding to this macro block is used. Even if you try to read from the cache memory, it will eventually result in a cache miss. That is, in the example of FIG. 11, it is necessary to read the reference image data of the right half of the area A RA from the reference image memory again. Therefore, the access frequency of the memory path increases.
  • One way to solve this problem is to enlarge the horizontal size of the cache memory to increase the number of pixels that can be read at the same time, and access the 1 x 6 x 16 pixel area even with one-dimensional address management.
  • a possible way to configure the cache memory is also possible.
  • the capacity of the cache memory becomes large and the configuration of the memory bus becomes complicated.
  • a method of using a 2-way cache memory is also conceivable, but this also increases the capacity of the cache memory and complicates the memory bus configuration.
  • 8 pixels by a plurality of continuous pixels in the horizontal direction which is a unit for reading the reference image data from the reference image memory 28B, are taken as a unit, and the horizontal direction and The reference image data is stored and held in the cache memory 27 by areas each having a plurality of readout units in the vertical direction. Further, the reference image data is requested by one-dimensional address data for specifying such an area.
  • the reference image data is held in the cache memory by a continuous area in the vertical direction of a simple readout unit as in the past. Compared to the case, it is possible to reduce cache misses while reducing the capacity of the cache memory.
  • the horizontal position on the screen of the reference image data D 16 is determined from the one-dimensional address data requesting the reference image data D 16.
  • the high-order side indicating the predetermined bit A and the low-order side indicating the vertical position and the predetermined bit B are cut out and combined to generate a two-dimensional address indicating the position of the reference image data D 16 on the screen.
  • this two-dimensional address is set as the index of the cache memory 27.
  • the reference image data D 1 6 stored in the cache memory 27 is It can be managed with a two-dimensional address in units of multiple pixels that can be read once. Therefore, an area of a desired size is set in the horizontal direction and the vertical direction in units of a plurality of pixels that can be read out once, and the reference image data of this area is stored in the cache memory 27. Also, it can be loaded from the cache memory 27. Therefore, even if the size of the cache memory 27 is not increased, the reference image data D 16 of the area corresponding to the predicted value generation unit can be stored in the cache memory 27, which is less likely to cause a cache miss. The frequency can be reduced, and the memory bus access frequency can be reduced.
  • a two-dimensional address is generated in the same manner for the address data for requesting the reference image data D 16, and the cache memory is compared by comparing the two-dimensional address with the cache memory 27. 2
  • the reference image data D 1 6 held in 7 is output to the decoding unit core 31, and the corresponding reference image data D 1 6 is not held in the cache memory 2 7, the reference image memory 2
  • the corresponding reference image data D 16 from 8 B is output to the decoding unit core 31.
  • the reference image data D 16 read from the reference image memory 28 B is stored in the cache memory 27, and the index is updated so as to correspond to the storage of the reference image data D 16.
  • Example 1 Effects of Example 1 According to the above configuration, the cache memory is reduced by issuing address data so as to identify areas each having a plurality of readout units in the horizontal direction and the vertical direction, and storing the reference image data in the cache memory.
  • the memory path access frequency can be reduced while increasing the capacity.
  • a two-dimensional address indicating the position of the reference image data on the screen is generated in units of a plurality of pixels that can be read at one time, and this two-dimensional address is set as an index of the cache memory. This makes it possible to reduce the memory bus access frequency while reducing the size of the cache memory.
  • this two-dimensional address is converted from the address data that accesses the cache memory to the upper side indicating the horizontal position of the reference image data on one screen, a predetermined bit, and the lower side indicating the vertical position.
  • a two-dimensional address can be created with a simple process by combining bits.
  • FIG. 12 is a schematic diagram showing the configuration of the cache memory 47 applied to the decryption device according to the second embodiment of the present invention in comparison with FIG.
  • the cache memory 47 is constituted by 2 ways.
  • the decryption device of this embodiment is configured in the same manner as the decryption device 21 of the first embodiment except that the configuration related to the cache memory 47 is different. This will be explained with reference to the drawing in Example 1.
  • the memory bus width is set to 64 bits, and the cache memory 47 is created in a 2-way configuration of 1 28 bytes. Therefore, it is possible to hold two areas of 8 pixels x 8 pixels in each way 4 7 A and 4 7 B, respectively.
  • each way 4 7 A and 4 and 7 B store the reference image data referenced by Macroblock MB 1 and MB 2, respectively.
  • each way 4 7 as described above with reference to FIG. A and 4 7 B can only store the reference image data D 1 6 in the vertically long area.
  • a cache miss occurs in the subsequent processing of the prediction value generation unit of the same size, and the reference image memory It will be necessary to refer to 2 8 B.
  • the reference image data D 1 6 of the area corresponding to the subsequent predicted value generation unit of the same size is stored in each cache memory 47. Since the data is stored in the ways 47A and 47B, the frequency of occurrence of cache misses can be reduced as compared with the conventional case.
  • the present invention is applied to a moving image data encoding apparatus based on the MPEG-4 AVCZ l TU-TH. 2 6 4 system, and cached for processing of reference image data used for generating predicted values. Apply memory. Therefore, in the encoding apparatus of this embodiment, a cache memory is provided between the reference image memory 11 and the motion compensation unit 12 in the configuration of FIG.
  • the encoding apparatus of this embodiment is configured in the same way as the encoding apparatus of FIG. 1 except that the configuration relating to this cache memory is different. This will be explained using the configuration of
  • the encoding apparatus of this embodiment is further configured by an encoding unit core in which each function block shown in FIG. 1 is an arithmetic processing circuit.
  • the processing program of the encoding unit core is provided in advance by being installed in the encoding device, but instead of this prior installation, an optical disk, a magnetic disk, a memory card, etc. It may be provided by being recorded on various recording media. It may be provided by downloading via a network such as a network.
  • the cache memory holds the reference image data of the predetermined area AR on the screen of the reference image data D3.
  • the AR size WS h and WS V are set in units of 8 pixels that are continuous in the horizontal direction, it may be difficult to make these ratios completely consistent.
  • the vertical and horizontal sizes WS h and WS v of the area AR are set so that the ratio of the size WSh and WS V is as close as possible to the ratio of the horizontal size MVS Ah and the vertical size MVS AV. Is done.
  • the vertical and horizontal sizes WS h and WS v of the area AR to be cut out are set to a size including the maximum size of the predicted value generation unit.
  • the encoding unit core uses a motion vector detected by the motion vector detection unit 13 to generate a prediction value for the motion compensation unit 12.
  • the position of the reference image data D3 used for generation is obtained.
  • the cache memory is requested to output the reference image data D3 at the obtained position.
  • the encoding unit core outputs the requested reference image data D 3 from the cache memory to the motion compensation unit 12.
  • the encoding unit core obtains the requested reference image data D3 from the reference image memory 11 and acquires the motion compensation unit 1 Output to 2.
  • the encoding unit core When acquiring this reference image data D 3 from the reference image memory 11 1, the encoding unit core acquires the reference image data D 3 of the area AR from the reference image memory 11 1 and holds it in the cache memory.
  • the cache memory index is updated to correspond to the storage of the reference image data.
  • the area AR is, for example, the position of the reference image data used to generate the predicted value is the center position of the area AR. Is set to In this case, the position of the reference image data used to generate the predicted value
  • 1S Area A R may be set so that it is displaced from the center position of area A R to the position of the predicted value generation unit that follows.
  • a two-dimensional address indicating the position of the reference image data on the screen is generated in units of a plurality of pixels that can be read out at one time by being applied to an encoding device.
  • the present invention is applied to a moving image data encoding apparatus based on the MPEG-4 AVC / ITU-TH H.264 protocol similar to the third embodiment, and the area stored in the cache memory is changed. Change shape.
  • the encoding device of this embodiment is configured in the same way as the encoding device of Embodiment 4 except that the configuration relating to this cache memory is different.
  • the encoding apparatus of this embodiment uses the horizontal direction and vertical direction corresponding to the motion search range of 3 2 pixels ⁇ 16 pixels shown in FIG. 17 (A) as the area of the reference image data D 3 stored in the cache memory.
  • a second area AR 2 of 8 pixels X 1 6 pixels is prepared. Therefore, when detecting a motion vector in a motion search range of 32 pixels ⁇ 16 pixels, the reference image data can be stored in the cache memory in the first area AR 1 to increase the hit rate.
  • the reference image data is stored in the cache memory in the second area AR 2, The hit rate can be increased.
  • the cache memory index is switched corresponding to the switching of the first and second areas AR 1 and AR 2. That is, also in this case, the bit A indicating the horizontal position and the bit B indicating the vertical position are cut out from the address data AD FM accessing the reference image memory 11 and joined to create an index of the cache memory.
  • the number of bits M of the upper bits A is increased, and the lower bit B is correspondingly increased.
  • the encoding unit core has indexes IN corresponding to the first and second areas AR 1 and AR 2 in the two logical operation units 51 and 52, respectively. 1. Generate IN 2.
  • the AND section 53 is used to select and output the indentus I N 1 corresponding to the first area A R 1 according to the logical value of the selection signal S E L instructing the switching of the index.
  • an inverted signal obtained by inverting the logic value of the selection signal SEL is generated using the inverter 54, and the index IN 2 corresponding to the second area AR2 is converted to the logic of the inverted signal using the AND section 55. Select output according to the value.
  • the encoding unit core uses these OR units 56 to obtain the logical sum of the output values of the AND units 53 and 55, and corresponds to the first and second regions by switching the selection signal SEL. Toggles generation of indentus.
  • the encoding unit core encodes the moving image data by switching the motion vector search range from various feature quantities of the moving image data to be encoded, and in conjunction with the switching of the motion vector search range.
  • the shape of the area stored in the cache memory is switched between the first and second areas AR 1 and AR 2.
  • the cache memory hit rate in the previous frame and the motion vector distribution detected in the previous frame can be applied to this feature amount.
  • the cache memory hit rate in the previous frame is below a certain value. If this happens, the current motion vector search range can be switched. For example, when a motion vector is detected in the horizontally long motion vector search range, most of the motion vectors detected in the previous frame have a small horizontal component and a large vertical component.
  • the search range of the toll is switched to a vertically long position. After all, these methods set the shape of the area of the reference image data stored in the cache memory in the current frame from the tendency in the previous frame.
  • the search range is switched according to the user's instruction, and the reference image data stored in the cache memory is linked to this.
  • the shape of the area may be switched.
  • the hit rate can be further improved and the moving image data can be encoded more efficiently.
  • the present invention is applied to a moving picture data encoding apparatus that switches between MPEG-4 AVC / I TU-TH.264 and MPE G 2 systems, and is stored in a cache memory.
  • the area shape is switched in conjunction with this switching of the encoding method.
  • the encoding apparatus of this embodiment is configured in the same way as the encoding apparatus of Embodiment 4 except that the configuration relating to the shape switching of the area stored in the cache memory is different.
  • the hit rate generally increases when the shape of the area stored in the cache memory is set to a shape close to a square shape.
  • the hit rate is higher when this region is formed in a horizontally long shape than in the case of the MPEG-4A VC / I TU-T H.264 system.
  • the square shape of 16 pixels ⁇ 16 pixels is stored in the cache memory.
  • Reference image data is stored.
  • the reference image data is stored in the cache memory in a horizontally long shape of 16 pixels ⁇ 8 pixels.
  • the hit rate can be further improved and the moving image data can be encoded more efficiently. it can.
  • the present invention is applied to a moving image data decoding apparatus according to the MPEG-4 AVC / I TU-T H.264 system similar to that in the second embodiment.
  • the shape of the area stored in the cache memory is switched as appropriate.
  • the encoding apparatus of this embodiment is practical except that the configuration related to the cache memory is different.
  • W The same configuration as the decoding device of the second embodiment.
  • the first area AR 1 of 16 pixels ⁇ 8 pixels is used as the area of the reference image data D 16 to be stored in the cache memory, and 8 pixels.
  • a second area AR 2 of X 16 pixels is prepared.
  • the decoding unit core 31 executes the processing procedure of FIG. 20 and FIG. 21 in units of frames, and sets the area of the reference image data D 16 stored in the cache memory in units of frames as the first or second unit. Set to area AR 1 or AR 2.
  • the decoding unit core 31 moves from step SP 1 to step SP 2 and determines whether or not the current frame is two frames or more of moving image data. If a negative result is obtained here, the decoding unit core 31 sets the area of the reference image data D 16 to be stored in the cache memory as the first or second area AR 1 or AR 2 set in advance. Move on to step SP 3.
  • step S P 2 the process proceeds from step S P 2 to step SP 4.
  • the decoding unit core 31 detects the motion compensation block size detected most frequently in the previous frame.
  • an area satisfying the most detected motion compensation block size is selected from the area AR 1 or AR 2. More specifically, when the most frequently detected motion compensation block size is horizontally long, the first area AR 1 of 16 pixels ⁇ 8 pixels is selected. If the most commonly detected motion compensation block size is vertically long, the second area AR2 of 8 pixels X I 6 pixels is selected.
  • the decoding unit core 31 sets the selected area as the area of the reference image data D 16 stored in the cache memory, and proceeds to step SP3.
  • step SP 3 the decoding unit core 31 analyzes the header of the input bitstream, acquires information such as the picture type, and notifies the reproduction control unit 25 of the information.
  • step SP7 the motion compensation block size is counted for each type.
  • the decoding unit core 3 1 determines the area of the reference image data D 16 to be stored in the cache memory in the subsequent frame by determining the count result in step SP 7 in the processing of step SP 4 in the subsequent frame. .
  • the decoding unit core 31 moves to step SP 8 to detect a motion vector, and in step SP 9, based on the motion vector detected in step SP 8. Calculate the position of the reference image data to generate the predicted value.
  • the reference image data at the position obtained by this calculation is reference image data included in an area having a size corresponding to the processing target macroblock, and hence is referred to as a reference macroblock below.
  • the decoding unit core 31 moves to step SP 10 and determines whether or not there is a reference macro block in the cache memory. If there is a reference macro block in the cache memory, the reference macro of this cache memory is determined. Generate predicted value from block and go to step SP 1 1. On the other hand, if there is no reference macroblock in the cache memory, the process moves to step SP12, where the reference macroblock is transferred from the reference image memory to the cache memory, and the predicted value is obtained from the transferred reference macroblock. Generate and move to step SP 1 1.
  • step SP 11 the decoding unit core 3 1 generates a differential error value by sequentially performing variable-length decoding processing, inverse quantization processing, and inverse discrete cosine transform processing on the processing target macroblock of the input bitstream,
  • step SP 13 the predicted value is added to the difference error value to decode the moving picture data of the macro block.
  • the processing procedure of 13 is the case of inter-frame coding processing.
  • intra-frame coding processing instead of this processing procedure, predicted values are generated by in-plane prediction, and moving image data is decoded. Turn into.
  • step SP 14 After completing the processing of step SP 1 3, the decoding unit core 3 1 moves to step SP 14 and determines whether or not the processing of all macroblocks of the current frame has been completed. Return to SP 8. On the other hand, if an affirmative result is obtained in step SP 14, the process proceeds from step SP 14 to step SP 15 to output the moving image data of the decoded current frame, and then the process proceeds to step SP 1 6 to perform this processing procedure. Exit.
  • the shape of the area of the reference image data D 16 stored in the cache memory is switched to a shape that is estimated to have a high hit rate to the cache memory. More specifically, in the front frame By switching to a shape corresponding to the generation unit predicted to be large in the current frame, the hit rate can be further improved and decoding can be performed efficiently.
  • the present invention is applied to a moving picture data decoding apparatus which switches between MPEG-4 AVC / I TU-TH.264 and MPE G 2 systems, and is stored in a cache memory.
  • the area shape is switched in conjunction with this switching of the encoding method.
  • the decoding device of this embodiment is configured in the same manner as the decoding device of Embodiment 2 except that the configuration relating to the shape switching of the area stored in the cache memory is different.
  • MPEG 2 provides two types of prediction value generation units: 16 pixels x 16 pixels and 16 pixels x 8 pixels. ing.
  • MPEG-1 4AVC / I TU—TH.264 has 16 pixels XI 6 pixels, 16 pixels 8 pixels, 8 pixels XI 6 Seven types of pixels, 8 pixels x 8 pixels, 4 pixels x 8 pixels, 8 pixels x 4 pixels, and 4 pixels x 4 pixels are prepared as predicted value generation units.
  • the cache memory when the input bit stream to be processed is the MP EG 2 system, the cache memory is configured in 2 ways, and as shown in Fig. 24 (A), 16 pixels Select the 8-pixel area AR 1 and store the reference image data in the cache memory.
  • the cache memory when the input bit stream to be processed is MP E G-4 AVC / I TU-T H.264, the cache memory is configured with one way, as shown in Fig. 24 (B). Select the AR2 of 16 pixels x 8 pixels and store the reference image data in the cache memory.
  • FIG. 25 is a flowchart showing a processing procedure of the decoding unit core 31 relating to the switching of the cache memory.
  • the decoding unit core 31 executes this processing procedure when starting the decoding process. That is, when starting this processing procedure, the decoding unit core 31 moves from step SP21 to step SP22, where it analyzes the input bitstream and detects the type of codec. Also, it is determined whether or not the detected codec type is MPEG-2. If a positive result is obtained here, the decoding unit core 31 moves from step SP 22 to step SP 23 and sets the area of the reference image data D 16 stored in the cache memory as the first area AR 1. Set to. Then, the process proceeds to step SP 24, where each part is instructed to start the codec process. Then, the process proceeds to step SP 25 and the process procedure is terminated.
  • step SP 22 the decoding unit core 31 moves from step SP 22 to step SP 26 and sets the area of the reference image data D 16 stored in the cache memory. After setting to the second area AR2, proceed to step SP24.
  • the hit rate can be further improved and the moving image data can be efficiently decoded. it can.
  • the present invention is applied to an encoding / decoding device.
  • the encoding / decoding apparatus of this embodiment is configured to be able to switch the program of the arithmetic processing means constituting the decoding unit core 31 described above with reference to FIG. Therefore, the configuration is switched between the encoding device and the decoding device.
  • moving image data is sequentially encoded by the configuration relating to the cache memory of the encoding device of the above-described embodiment.
  • moving image data is sequentially decoded by the configuration relating to the cache memory of the decoding device of the above-described embodiment. Therefore, the coding / decoding apparatus of this embodiment switches the shape of the area of the reference image data stored in the cache memory between the case of encoding and the case of decoding.
  • the hit rate is further improved and the moving image data is efficiently processed. Can be encoded and decoded.
  • this cache memory power is composed of 1 2 8 ways. Each way has a capacity of 16 or 3 2 units of reference image data read from the reference image memory (2 words or 4 words when 8 pixels x 8 pixels are 1 word) Is set.
  • this cache memory is configured so that the reference image data stored in each way can be specified by the tag of each way by omitting the setting of the index for the reference image data for 2 or 4 nodes.
  • the address data of the reference image memory for the first 8 pixels stored in each way is set in each tag. Therefore, in this embodiment, whether or not the reference image data corresponding to the cache memory is stored is determined by comparing the address data for accessing the cache memory and the tag set in the cache memory. If the reference image data corresponding to the cache memory is not stored, the prediction value is generated by loading from the reference image memory and stored in the cache memory, and the address of the first 8 pixels is set in the tag. As in this embodiment, even if the number of ways is increased and the reference image data is identified only by the tag instead of the index, the same effect as in the above-described embodiment can be obtained.
  • the unit for reading the reference image data from the reference image memory is set to 8 pixels that are continuous in the horizontal direction.
  • Various numbers of pixels can be set.
  • the present invention can be widely applied to a case where a plurality of pixels that are continuous in the vertical direction are used as a readout unit instead of a plurality of pixels that are continuous in the horizontal direction.
  • the present invention is not limited to this.
  • moving image data is interlaced.
  • Reference image stored in the cache memory according to the moving image data such as when switching the shape of this area between the case of the method and the progressive method, or when switching the shape of this area by the frame rate, etc.
  • the shape of the data area may be switched.
  • the case has been described in which moving image data is processed by configuring each function block by the arithmetic processing means.
  • the present invention is not limited to this, and moving image data is processed by a hardware configuration. Can also be widely applied.
  • the present invention can be applied to, for example, a moving image data encoding apparatus and decoding apparatus based on the MPEG-4 AVCZl TU-TH.264 format.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

明細書
画像データ処理方法、 画像データ処理方法のプログラム、 画像データ処理方法 のプログラムを記録した記録媒体及び画像データ処理装置
発明の背景
技術分野
本発明は、 画像データ処理方法、 画像データ処理方法のプログラム、 画像デー タ処理方法のプログラムを記録した記録媒体及び画像データ処理装置に関し、 例 ぇばMPEG_4AVCZI TU_T H. 264方式による動画像データの符 号化装置、 復号化装置に適用することができる。 本発明は、 水平方向及び垂直方 向がそれぞれ複数の読み出し単位である領域を特定するようにァドレスデータを 発行して、 参照画像データをキャッシュメモリに格納することにより、 キヤッシ ュメモリを小容量化しつつ、 メモリバスのアクセス頻度を低下させることができ る。 背景技術
従来、 例えば H. 264ZMPEG—4 AVC等の符号化処理では、 符号化処 理の完了した動画像データをデコードしてフレームメモリに保持し、 このフレー ムメモリに保持した動画像データを参照して続くフレームの動画像データを符号 ィ匕している。 またこれに対応して複号化処理では、 デコードした動画像データを フレームメモリに保持し、 この動画像データを参照して続くフレーム等の動画像 データを復号している。
すなわち第 1図は、 MP EG— 4 AVCZ I TU— T H. 264方式の符号 化装置を示すブロック図である。 この符号化装置 1は、 入力画像データ D 1を符 号化処理して出カストリ一AD 2を生成する。
ここで符号化装置 1は、 GOP構造に従った順序で入力画像データ D 1を順次 減算部 2に入力する。 減算部 2は、 選択部 3から出力される予測値を、 入力画像 データ D 1から減算して予測誤差値を出力する。 離散コサイン変換部 4は、 この 予測誤差値を離散コサイン変換処理して係数データを出力する。 量子化部 5は、 この係数データを量子化して出力する。 エントロピー符号化部 6は、 量子化部 5 の出力データを可変長符号化処理して出力する。 符号化装置 1は、 このェントロ ピー符号化部 6の出力データに各種制御コード、 動きべクトル MV等を付加して 出力ストリーム D 2を生成する。
逆量子化部 7は、 量子化部 5の出力データを逆量子化処理し、 離散コサイン変 換部 4の出力データを復号する。 逆離散コサイン変換部 8は、 逆量子化部 7の出 力データを逆離散コサイン変換処理し、 減算部 2の出力データを復号する。 加算 部 9は、 逆離散変換部 8の出力データに、 選択部 3から出力される予測値を加算 し、 入力画像データ D 1を復号する。 デブロッキングフィルタ 1 0は、 加算部 9 で復号された入力画像データ D 1からブロック歪みを除去して出力する。
参照画像メモリ 1 1は、 このデブロッキングフィルタ 1 0から出力される画像 データ D 3を参照画像データとして保持し、 動き補償部 1 2に出力する。 動きべ クトル検出部 1 3は、 フレーム間符号化処理において、 入力画像データ D 1から 動きベク トル MVを検出して出力する。 動き補償部 1 2は、 フレーム間符号化処 理において、 参照画像データを動きベクトル MVで動き補正して出力する。 重み 付き予測部 1 4は、 この動き補償部 1 2から出力される画像データを重み付け加 算し、 フレーム間符号化処理における予測値を生成する。
画面内予測部 1 5は、 加算部 9の出力データからフレーム内符号化処理におけ る予測値を生成して出力する。 選択部 3は、 重み付き予測部 1 4から出力される 予測値、 画面内予測部 1 5から出力される予測値を選択して減算部 2に出力する 。 符号化制御部 1 7は、 出力ス トリーム D 2の符号量が所定の目標値になるよう に、 各部の動作を制御する。
このような符号化処理、 復号化処理において、 参照画像メモリ 1 1にキヤッシ ュメモリの構成を適用すれば、 一段と高速度に画像データを符号化処理、 復号化 処理できると考えられる。
このようなキャッシュメモリに関して、 日本特開 2 0 0 6— 3 1 4 8 0号公報 には、 圧縮画像を復号するサブプロセッサにおいて、 メインメモリからキヤッシ ュメモリにデータを転送する際に、 画像の特徴を表すパラメータに基づいてキヤ ッシュするメモリ領域を適応的に変化させることにより、 後続の処理でキヤッシ ュにヒットする確率を高くする構成が開示されている。
また日本特開平 1 1一 2 1 5 5 0 9号公報には、 現マクロブロックの動きべク トルが指し示す参照領域に対して、 右側に隣接する領域のデ一タをキャッシュメ モリにプリロードすることにより、 キャッシュヒット率を高くする構成が開示さ れている。
ところがこれらの手法は、 キャッシュヒット率は向上するものの、 キャッシュ メモリの容量を小容量化すると、 キャッシュヒット率が低下し、 メモリバスのァ クセス頻度が増大する問題がある。 発明の開示
本発明は以上の点を考慮してなされたもので、 キャッシュメモリを小容量化し つつ、 メモリバスのアクセス頻度を低下させることができる画像データ処理方法 、 画像データ処理方法のプログラム、 画像データ処理方法のプログラムを記録し た記録媒体及び画像データ処理装置を提案しようとするものである。
上記の課題を解決するため本発明は、 キャッシュメモリを使用して、 参照画像 メモリに保持した参照画像データから予測値を生成し、 前記予測値を用いて動画 像データを符号化及び又は復号化する画像データ処理方法に適用して、 前記参照 画像メモリの一次元のァドレスデータによって前記参照画像データの画面上にお ける領域を特定して、 前記キャッシュメモリに、 前記予測値の生成に使用する前 記参照画像データをリクエストする参照画像データのリクエストステップと、 前 記キャッシュメモリに格納された前記参照画像データから、 前記リクエストに対 応する参照画像データを検索するキャッシュメモリ検索ステップと、 前記対応す る前記参照画像データが前記キャッシュメモリに格納されている場合に、 該キヤ ッシュメモリに格納された参照画像データを前記リクエストに応答して出力する 第 1の参照画像データ出力ステップと、 前記対応する前記参照画像データが前記 キャッシュメモリに格納されていない場合に、 前記参照画像メモリに格納された 対応する前記参照画像データを前記キャッシュメモリに格納すると共に、 該対応 する前記参照画像データを前記リクエストに応答して出力する第 2の参照画像デ ータ出力ステップとを有し、 前記参照画像メモリは、 水平方向又は垂直方向に連 続する複数画素の読み出し単位で前記参照画像データを出力し、 前記領域が、 水 平方向及び垂直方向に、 それぞれ複数の前記読み出し単位の領域であるようにす る。
また本発明は、 キャッシュメモリを使用して、 参照画像メモリに保持した参照 画像データから予測値を生成し、 前記予測値を用いて動画像データを符号化及び 又は復号化する画像データ処理方法のプログラムに適用して、 前記参照画像メモ リの一次元のァドレスデータによって前記参照画像データの画面上における領域 を特定して、 前記キャッシュメモリに、 前記予測値の生成に使用する前記参照画 像データをリクエストする参照画像データのリクエストステップと、 前記キヤッ シュメモリに格納された前記参照画像データから、 前記リクエストに対応する参 照画像データを検索するキャッシュメモリ検索ステップと、 前記対応する前記参 照画像データが前記キャッシュメモリに格納されている場合に、 該キャッシュメ モリに格納された参照画像データを前記リクエストに応答して出力する第 1の参 照画像データ出力ステップと、 前記対応する前記参照画像データが前記キヤッシ ュメモリに格納されていない場合に、 前記参照画像メモリに格納された対応する 前記参照画像データを前記キャッシュメモリに格納すると共に、 該対応する前記 参照画像データを前記リクエストに応答して出力する第 2の参照画像データ出力 ステップとを有し、 前記参照画像メモリは、 水平方向又は垂直方向に連続する複 数画素の読み出し単位で前記参照画像データを出力し、 前記領域が、 水平方向及 び垂直方向に、 それぞれ複数の前記読み出し単位の領域であるようにする。
また本発明は、 キャッシュメモリを使用して、 参照画像メモリに保持した参照 画像データから予測値を生成し、 前記予測値を用いて動画像データを符号化及び 又は復号化する画像データ処理方法のプログラムを記録した記録媒体に適用して 、 前記画像データ処理方法は、 前記参照画像メモリの一次元のアドレスデータに よって前記参照画像データの画面上における領域を特定して、 前記キャッシュメ モリに、 前記予測値の生成に使用する前記参照画像データをリクエストする参照 画像データのリクエストステップと、 前記キャッシュメモリに格納された前記参 照画像データから、 前記リクエストに対応する参照画像データを検索するキヤッ シュメモリ検索ステップと、 前記対応する前記参照画像データが前記キヤッシュ メモリに格納されている場合に、 該キャッシュメモリに格納された参照画像デー タを前記リクエストに応答して出力する第 1の参照画像データ出力ステップと、 前記対応する前記参照画像データが前記キャッシュメモリに格納されていない場 合に、 前記参照画像メモリに格納された対応する前記参照画像データを前記キヤ ッシュメモリに格納すると共に、 該対応する前記参照画像データを前記リクエス トに応答して出力する第 2の参照画像データ出カステツプとを有し、 前記参照画 像メモリは、 水平方向又は垂直方向に連続する複数画素の読み出し単位で前記参 照画像データを出力し、 前記領域が、 水平方向及び垂直方向に、 それぞれ複数の 前記読み出し単位の領域であるようにする。
また本発明は、 キャッシュメモリを使用して、 参照画像メモリに保持した参照 画像データから予測値を生成し、 前記予測値を用いて動画像データを符号化及び 又は復号化する画像データ処理装置に適用して、 前記参照画像メモリの一次元の アドレスデータによつて前記参照画像データの画面上における領域を特定して、 前記キャッシュメモリに、 前記予測値の生成に使用する前記参照画像データをリ クエストする参照画像データのリクエスト部と、 前記キャッシュメモリに格納さ れた前記参照画像データから、 前記リクェストに対応する参照画像データを検索 するキャッシュメモリ検索部と、 前記対応する前記参照画像データが前記キヤッ シュメモリに格納されている場合に、 該キャッシュメモリに格納された参照画像 データを前記リクエストに応答して出力する第 1の参照画像データ出力部と、 前 記対応する前記参照画像データが前記キヤッシュメモリに格納されていない場合 に、 前記参照画像メモリに格納された対応する前記参照画像データを前記キヤッ シュメモリに格納すると共に、 該対応する前記参照画像データを前記リクエスト に応答して出力する第 2の参照画像データ出力部とを有し、 前記参照画像メモリ は、 水平方向又は垂直方向に連続する複数画素の読み出し単位で前記参照画像デ ータを出力し、 前記領域が、 水平方向及び垂直方向に、 それぞれ複数の前記読み 出し単位の領域であるようにする。
本発明の構成によれば、 リクエストする領域の形状を種々に工夫して、 キヤッ シュメモリを小容量化し、 かつキャッシュミスの発生頻度が低くなるように設定 することができる。 従ってキャッシュメモリを小容量化しつつ、 メモリパスのァ クセス頻度を低下させることができる。 本発明によれば、 キャッシュメモリを小容量化しつつ、 メモリバスのアクセス 頻度を低下させることができる。 図面の簡単な説明
第 1図は、 従来の符号化装置を示すブロック図である。
第 2図は、 本発明の実施例 1の複号化装置を示すブロック図である。
第 3図は、 第 2図の複号化装置の復号部を詳細に示すブロック図である。
第 4図は、 第 2図の復号化装置における参照画像メモリの構成を示す略線図で あ
第 5図は、 第 2図の復号化装置におけるキャッシュメモリの説明に供する略線 図である。
第 6図は、 第 2図の複号化装置におけるキャッシュメモリのインデックスの説 明に供する略線図である。
第 7図は、 第 2図の復号化装置におけるキヤッシュメモリの構成を示す略線図 である。
第 8図は、 第 7図のキャッシュメモリに格納する領域を示す略線図である。 第 9図は、 第 2図の復号化装置におけるキャッシュメモリのアクセスの説明に 供する略線図である。
第 1 0図は、 第 9図とは異なる例によるキヤッシュメモリのアクセスの説明に 供する略線図である。
第 1 1図は、 従来の復号化装置におけるキャッシュメモリのアクセスの説明に 供する略線図である。
第 1 2図は、 本発明の実施例 2の複号化装置におけるキャッシュメモリの構成 を示す略線図である。
第 1 3図は、 本発明の実施例 2の複号化装置におけるキャッシュメモリのァク セスの説明に供する略線図である。 第 14図は、 従来の復号化装置におけるキャッシュメモリのアクセスの説明に 供する略線図である。
第 15図は、 第 13図とは異なる例によるキャッシュメモリのアクセスの説明 に供する略線図である。
第 16図は、 本発明の実施例 3の符号化装置におけるキャッシュメモリの説明 に供する略線図である。
第 17 (A) 図、 第 17 (B) 図は、 本発明の実施例 4の符号化装置における キャッシュメモリの説明に供する略線図である。
第 18図は、 第 1 7図の符号化装置におけるインデックスの説明に供する略線 図である。
第 19図は、 第 18図の具体的構成を示す略線図である。
第 20図は、 本発明の実施例 5の復号化装置における復号部コアの処理手順を 示すフローチヤ一トである。
第 21図は、 第 20図の続きを示すフローチャートである。
第 22 (A) 図、 第 22 (B) 図は、 MP E G 2のマクロブロックを示す平面 図である。
第 23 (A) 図〜第 23 (G) 図は、 MPEG4/AVCのマクロブロックを 示す平面図である。
第 24 (A) 図、 第 24 (B) 図第 24図は、 本発明の実施例 6の複号化装置 における領域切り換えの説明に供する略線図である。
第 25図は、 本発明の実施例 6の復号化装置における復号部コアの処理手順を 示すフローチヤ一トである。 発明を実施するための最良の形態
以下、 適宜図面を参照しながら本発明の実施例を詳述する。
(1) 実施例 1の構成
第 2図は、 本発明の実施例 1の復号化装置を示すブロック図である。 この復号 化装置 21は、 MPEG—4AVCZI TU_T H. 264方式の復号化装置 であり、 記録媒体 22から入力ビットストリーム D 11を再生し、 動画像データ D 1 2を復号してモニタ装置 2 3に出力する。 なおここで記録媒体 2 2は、 例え ばハードディスク装置、 D V D (Digital Versatile Disk) 等である。
この復号化装置 2 1において、 データ読み出し部 2 4は、 記録媒体 2 2から入 カビットストリーム D 1 1を再生する。 また再生した入力ビットストリーム D 1 1のパケットヘッダを解析し、 ピクチャータイプ等の復号化制御に必要な情報を 検出して再生制御部 2 5に出力すると共に、 ビットストリーム D 1 3を復号部 2 6に出力する。
再生制御部 2 5は、 データ読み出し部 2 4から通知されるピクチャータイプ等 の情報に基づいて、 この複号化装置 2 1の各部の動作を制御する。 またキヤッシ ュ制御部 2 5 Aで、 キャッシュメモリ 2 7に格納する参照画像データの領域を設 定する。
復号部 2 6は、 参照画像メモリ 2 8 Bに保持された参照画像データ D 1 6を用 いて、 データ読み出し部 2 4から出力されるビットストリーム D 1 3を順次処理 して動画像データ D 1 4を復号する。 この処理において、 復号部 2 6は、 参照画 像メモリ 2 8 Bに保持された参照画像データ D 1 6をキャッシュメモリ 2 7を用 いて処理する。
フレームバッファ 2 8は、 例えば D R AMにより形成され、 G U Iコントロー ラ 2 9の制御により、 復号部 2 6で復号した動画像データ D 1 4を復号画像メモ リ 2 8 Aに一時格納して保持する。 またこの保持した動画像データを表示の順序 でモニタ装置 2 3に出力する。 またフレームバッファ 2 8は、 復号部 2 6から出 力される動画像データ D 1 4を参照画像データ D 1 6として参照画像メモリ 2 8 Bに一時格納して保持し、 復号部 2 6の制御によりこの保持した参照画像データ D 1 6を復号部 2 6に出力する。
G U Iコントローラ 2 9は、 復号画像メモリ 2 8 Aに保持した動画像データ D 1 4の読み出しのタイミング調整等を実行する。
第 3図は、 復号部 2 6を関連する構成と共に詳細に示すプロック図である。 復 号部 2 6は、 演算処理回路の復号部コア 3 1を有し、 この復号部コア 3 1で所定 の処理プログラムを実行することにより、 ビットストリーム D 1 3から動画像デ ータ D 1 4を復号する各種機能プロックを構成する。 なおこの実施例において、 この処理プログラムは、 事前にこの復号化装置 2 1にインストールされて提供さ れるものの、 この事前のインストールに代えて、 光ディスク、 磁気ディスク、 メ モリカード等の各種記録媒体に記録して提供するようにしてもよく、 またインタ ーネット等のネットワークを介したダウンロードにより提供するようにしてもよ レ、。
すなわち復号部コア 3 1は、 動きべクトル検出部 3 3で、 データ読み出し部 2 4から出力されるビッ トストリーム D 1 3から動きべクトルを検出する。 また復 号部コア 3 1は、 図示しない可変長復号部、 逆量子化部、 逆離散コサイン変換部 でビッ トス トリーム D 1 3を順次、 可変長復号化処理、 逆量子化処理、 逆離散コ サイン変換処理し、 予測誤差値を復号する。
また復号部コア 3 1は、 フレーム間符号化処理された画像データを復号化する 場合、 動き補償部 3 4において、 動きべクトル検出部 3 3で検出した動きべクト ルに基づいて、 予測値の生成に使用する参照画像データ D 1 6の位置を求め、 こ の求めた位置の参照画像データ D 1 6の出力をキヤッシュメモリ 2 7にリクエス トする。 ここでこのリクエストした参照画像データ D 1 6がキャッシュメモリ 2 7に保持されている場合、 復号部コア 3 1は、 リクエストされた参照画像データ D 1 6をキャッシュメモリ 2 7から動き補償部 3 4に出力する。 これに対してリ クエス トした参照画像データ D 1 6がキヤッシュメモリ 2 7に保持されていない 場合、 復号部コア 3 1は、 このリクエストした参照画像データ D 1 6を参照画像 メモリ 2 8 Bから取得して動き補償部 3 4に出力し、 また取得した参照画像デー タ D 1 6をキャッシュメモリ 2 7に保持する。 復号部コア 3 1は、 この参照画像 データ D 1 6を用いて、 画像データの復号に使用する予測値を生成する。 またこ の予測値を予測誤差値に加算し、 動画像データを復号する。 また復号部コア 3 1 は、 この復号した動画像データをデブロッキングフィルタで処理してフレームバ ッファ 2 8に出力する。
これに対してフレーム内符号化処理された画像データを復号化する場合、 フレ ームバッファ 2 8に出力する動画像データ D 1 4から予測値を生成し、 この予測 値を予測誤差値に加算して動画像データ D 1 4を復号する。
ここで第 4図は、 1フレーム分の参照画像データ D 1 6との対比により参照画 像メモリ 2 8 Bのァドレスマップを示す図である。 なお] VI P E G— 4 AV C / I T U - T H . 2 6 4方式では、 複数の参照フレームから最も適切な参照フレー ムを選択して予測値を生成することから、 この復号化装置 2 1において、 参照画 像メモリ 2 8 Bは、 複数の参照フレームを保持可能に形成される。 従って参照画 像メモリ 2 8 Bは、 この複数の参照フレームを保持可能にアドレスが割り当てら れ、 キャッシュメモリ 2 7は、 この複数フレーム分の参照画像データ D 1 6を選 択的に格納することになる。 しかしながら以下の説明では、 説明の簡略化のため に、 参照画像メモリ 2 8 Bは、 1フレーム分、 参照画像データ D 1 6を格納する ものとして説明する。
この復号化装置 2 1において、 参照画像メモリ 2 8 Bは、 バス幅が 6 4ビット ( 8バイト = 8画素) で作成される。 従って参照画像メモリ 2 8 Bは、 1回の参 照画像メモリ 2 8 Bのアクセスで、 8画素分まとめて参照画像データを出力でき るように形成される。 また参照画像メモリ 2 8 Bは、 このまとめて出力する 8画 素が水平方向に連続する 8画素に設定され、 8画素 X 1画素の領域の参照画像デ ータ D 1 6を 1回のアクセスで出力できるように形成される。 従って参照画像メ モリ 2 8 Bは、 参照画像データの読み出し単位が、 水平方向に連続する 8画素に 設定される。
ここで M P E G— 4 AV C / I T U— T H . 2 6 4方式では、 フレーム間符 号化処理における予測値の生成単位が複数種類用意されており、 最適な生成単位 を用いて予測値が生成される。 なおこの複数種類の生成単位は、 水平方向及び垂 直方向の大きさが、 それぞれ 1 6画素 X 1 6画素、 1 6画素 X 8画素、 8画素 X 1 6画素、 8画素 X 8画素、 8画素 X 4画素、 4画素 X 8画素、 4画素 X 4画素 であり、 いわゆるマクロブロック、 サブマクロブロックである。 参照画像メモリ 2 8 Bが 1回のアクセスでまとめて出力する水平方向に連続する 8画素は、 これ ら複数種類の予測値の生成単位のうちで、 最も水平方向が大きな生成単位 (1 6 画素 X I 6画素、 1 6画素 X 8画素) の、 水平方向の画素数より小さく、 またこ れらの生成単位の水平方向の画素数の 1 / 2の画素数である。
参照画像メモリ 2 8 Bは、 この 1回でまとめて出力可能な 8画素 X 1画素の領 域に 1つのァドレスが割り当てられる。 またこの領域を単位にした参照画像デー タ D 1 6の横サイズ FMh X縦サイズ FMvに対して、 第 4図において矢印で示 すように、 ラスタ走査開始側から縦方向の走查を順次繰り返す順序で、 順次 0か ら FMv X (FMh - 1 ) までの一次元のアドレスが割り当てられる。 従ってこ の FMv X (FMh- 1) のアドレスのうちの、 上位側、 所定ビットは、 参照画 像データ D 1 6による 1画面を水平方向に 8画素単位で区切った縦長の領域の、 ラスタ走査開始端側からの順序を示すことになる。 またこの FMv X (FMh— 1) のアドレスのうちの、 下位側ビットは、 この縦長の領域において、 ラスタ走 查開始端側からの順序を示すことになる。
また第 5図は、 キャッシュメモリ 27の構成を示す図である。 キャッシュメモリ 27は、 参照画像メモリ 28 Bと同様に、 一次元のアドレスが割り当てられたメ モリである。 キャッシュメモリ 27は、 参照画像メモリ 28 Bから 1回で出力可 能な 8画素分に横サイズが設定され、 ィンデックス数が所定数 M Vに設定される 。 従ってキャッシュメモリ 27は、 水平方向に連続する 8画素の参照画像データ D 16を 1回でまとめて出力できるように構成される。
ここで第 6図に示すように、 キャッシュメモリ 27は、 参照画像データ D 1 6 の 1画面から切り出された所定領域 ARの参照画像データを、 参照画像メモリ 2 8 Bから入力して保持する。 ここでこの領域 ARは、 矩形の領域であり、 水平方 向のサイズ WS hが、 参照画像メモリ 28 Bから 1回で口一ド可能な 8画素分の 2倍以上の大きさに設定される。 また縦方向のサイズ WS Vが、 所定ライン数に 設定され、 この第 6図の例では、 このライン数が 16ラインに設定される。 従つ てこの実施例では、 参照画像メモリ 28 Bからの参照画像データの読み出し単位 に関して、 この切り出す領域 ARが、 水平方向及び垂直方向にそれぞれ複数の読 み出し単位に設定される。 なおこの切り出す領域 ARの縦方向及び横方向のサイ ズ WS h、 WS vは、 この実施例では予測値生成単位のうちで最大の大きさ以上 とされる。 キャッシュメモリ 27のインデックス数 Mvは、 この所定領域 ARの 横方向及び縦方向のサイズ WS h XWS Vの乗算値に設定される。
復号部コア 31は、 動き補償部 34で計算された予測値の生成に使用する参照 画像データ D 1 6の位置に基づいて、 この領域 ARの位置を決定する。 またこの 領域 ARの参照画像データ D 1 6の出力をキャッシュメモリ 27にリクエストす る。 このときこの第 6図において矢印で示す順序でキャッシュメモリ 2 7にァド レスデータ A Dを発行して参照画像データ D 1 6の出力をキャッシュメモリ 2 7 にリクエストする。 また、 このリクエストした参照画像データ D 1 6がキヤッシ ュメモリ 2 7に格納されていない場合、 参照画像メモリ 2 8 Bから対応する参照 画像データ D 1 6を取得して予測値を生成し、 またこの取得した参照画像データ D 1 6をキャッシュメモリ 2 7に格納する。
このとき復号部コア 3 1は、 参照画像メモリ 2 8 Bに発行するァドレスデータ A D F Mから、 参照画像データ D 1 6による 1画面を水平方向に 8画素単位で区 切った縦長の領域のラスタ走査開始端側からの順序を示す上位側、 所定ビット A 、 各縦長の領域において、 ラスタ走査開始端側からの順序を示す下位側、 所定ビ ット Bを切り出して結合させ、 水平方向に連続する 8画素の参照画像データのそ れぞれに、 参照画像データ D 1 6の画面上での位置を示す二次元のアドレスを生 成する。 復号部コア 3 1は、 この二次元のアドレスをキャッシュメモリ 2 7に保 持する各参照画像データのインデックスに設定する。
なおこのように参照画像メモリ 2 8 Bに発行するァドレスデータ A D F Mの上 位側ビット A及び下位側ビット Bでキャッシュメモリ 2 7に保持した各参照画像 データのィンデックスを作成する場合、 この上位側ビット A及び下位側ビット B のビット数 M及び Nの可変により切り出す領域 A Rの可変にも柔軟に対応するこ とができる。 具体的に、 この第 6図に示した例に比して、 縦長の領域で参照画像 データを切り出す場合、 上位側ビット Aのビット数 Mを増大させ、 またこれに対 応して下位側ビット Bのビット数 Nを減少させることにより、 対応することがで さる。
より具体的に、 この実施例において、 キャッシュメモリ 2 7は、 第 7図に示す ように、 2 5 6バイトの 1ウェイで構成される。 なおここで 2 5 6バイトは、 最 も大きな予測値生成単位の参照画像データ量に対応するサイズである。 またキヤ ッシュ制御部 2 5 Aにより、 第 8図に示すように、 切り出す領域 A Rの大きさが 、 最も大きな予測値生成単位の大きさに設定される。 従って切り出す領域 A Rは 、 横方向のサイズ W S hが 1 6画素に設定され、 縦方向のサイズ W S Vが 1 6画 素に設定される。 復号部コア 3 1は、 第 9図に示すように、 所定のマクロプロック M Bで動きべ タ トル MV 1が検出されると、 動き捕償部 3 4で、 動きベクトル MV 1の大きさ だけ、 動きべクトル MV 1とは逆方向にこのマクロブロック M Bの領域を変位さ せた領域 A R Aを計算で求める。 またこの領域 A R Aのァドレスデータ A Dを順 次キャッシュメモリ 2 7に発行して、 この領域 A R Aの参照画像データ D 1 6の 出力をキャッシュメモリ 2 7にリクエストする。 なおこの第 9図は、 1 6画素 X 1 6画素のマクロプロック MBについて、 予測値を生成する場合である。
復号部コア 3 1は、 第 6図について上述したと同様にして、 このアドレスデー タ ADの上位側ビット A及ぴ下位側ビット Bから二次元のアドレスデータを作成 し、 この作成した二次元のアドレスデータでキャッシュメモリ 2 7に設定されて いるインデックスを順次検索し、 リクエストした参照画像データがキャッシュメ モリ 2 7に保持されているか否力判定する。
ここで第 9図に示すように、 リクエストした参照画像データがキャッシュメモ リ 2 7に保持されている場合、 復号部コア 3 1は、 この参照画像データを取得し て予測値を生成する。 これに対してリクエストした参照画像データがキャッシュ メモリ 2 7に保持されていない場合、 この保持されていない参照画像データ D 1 6のアドレスデータ A D F Mを発行して、 対応する参照画像データ D 1 6の出力 を参照画像メモリ 2 8 Bにリクエストし、 参照画像メモリ 2 8 Bから参照画像デ ータを取得して予測値を生成する。 またこの取得した参照画像データによってキ ャッシュメモリ 2 7に保持されている参照画像データを更新し、 またこの参照画 像データの更新に対応するようにインデックスを更新する。 なおここでこの第 9 図では、 丸付きの数字を用いて、 第 7図との対比により、 参照画像データ D 1 6 における 8画素 X 8画素の各ブロックの、 キャッシュメモリ 2 7におけるインデ ックスを示し、 またキャッシュメモリ 2 7の格納場所を示す。
なおキャッシュメモリ 2 7は、 1 6画素 X 8画素、 8画素 X I 6画素のマクロ ブロック M B 1、 M B 2を順次処理した場合には、 例えば第 1 0図に示すように 、 連続する 2つのマクロブロック M B 1、 M B 2が参照した参照画像データを格 納することになる。 また 8画素 X 8画素等の、 さらに大きさの小さいマクロブロ ック、 サプマクロプロックを処理した場合には、 同様に、 各マクロプロック、 サ ブマクロブロックが参照した参照画像データを格納することになる。
( 2 ) 実施例 1の動作
以上の構成において、 記録媒体 2 2から再生された入力ビットストリーム D 1 1は (第 2図) 、 復号部 2 6で動画像データ D 1 4に復号され、 この動画像デー タ D 1 4が復号画像メモリ 2 8 A、 G U Iコントローラ 2 9を介してモニタ装置 2 3に出力される。 またこの復号された動画像データ D 1 4が、 参照画像データ D 1 6として参照画像メモリ 2 8 Bに格納され、 復号部 2 6で動画像データ D 1 4を復号する際の予測値の生成に使用される。
より具体的に (第 3図) 、 入力ビットストリーム D 1 1は、 復号部 2 6の復号 部コア 3 1によって構成される動きベク トル検出部 3 3において、 動きベク トル が検出される。 またこの検出した動きベクトルに基づいて、 予測値の生成に使用 する参照画像データ D 1 6のァドレスデータ A Dが動き補償部 3 4で求められ、 このァドレスデータ A Dにより参照画像データ D 1 6が取得される。 このときキ ャッシュメモリ 2 7に対応する参照画像データ D 1 6が保持されている場合、 復 号化装置 2 1では、 キャッシュメモリ 2 7からこの予測値の生成に使用する参照 画像データが取得される。 これに対してキャッシュメモリ 2 7に対応する参照画 像データ D 1 6が保持されていない場合、 複号化装置 2 1では、 参照画像メモリ 2 8 Bから対応する参照画像データ D 1 6が取得され、 またこの対応する参照画 像データ D 1 6がキャッシュメモリ 2 7に格納されて保持される。
従ってこの復号化装置 2 1では、 連続した予測値生成単位で、 連続して同一の 参照画像データを用いて予測値を生成する場合に、 キャッシュメモリ 2 7に保持 された参照画像データを繰り返し使用して予測値を生成することができ、 何らキ ャッシュメモリを使用しない場合に比して、 高速度で動画像データ D 1 4を復号 化することができる。
しかしながらキャッシュメモリ 2 7は、 1回で読み出すことができる複数画素 を単位にした一次元のァドレスで管理されることから、 単に従来手法を適用した のでは、 キャッシュミスが多くなる。 従って頻繁に参照画像メモリ 2 8 Bをァク セスすることが必要になり、 メモリバスのアクセス頻度が増大する。
すなわち第 1 1図は、 第 7図及び第 9図との対比により、 従来手法により参照 画像データをキャッシュメモリ 2 7に格納する場合を示す略線図である。 一次元 のァドレスにより保持した参照画像データを管理する場合、 キャッシュメモリに 格納する参照画像データは、 参照画像データ D 1 6の画面上で一次元的に連続す る画像データしか格納し得ず、 これによりこの実施例のサイズのキヤッシュメモ リを用いた場合には、 この第 1 1図に示すように、 横方向 8画素、 縦方向 3 2ラ ィンの縦長の領域しか参照画像データを格納できなくなる。
従ってこの場合、 最大のサイズである 1 6画素 X 1 6画素のマクロブロックに ついて予測値を作成する場合に、 このマクロブロックに対応する 1 6画素 X 1 6 画素の領域 A R Aの参照画像データをキヤッシュメモリから読み出そうとしても 、 結局、 キャッシュミスとなる。 すなわちこの第 1 1図の例では、 領域 A R Aの 右側半分の参照画像データを改めて参照画像メモリから読み出すことが必要にな る。 従ってメモリパスのアクセス頻度が増大することになる。
この問題を解決する 1つの方法として、 キャッシュメモリの横方向のサイズを 拡大して同時に読み出すことが可能な画素数を増大させ、 一次元のァドレス管理 でも 1 6画素 X 1 6画素の領域をアクセス可能にキャッシュメモリを構成する方 法も考えられる。 しかしながらこの場合、 キャッシュメモリの容量が大きくなり 、 またメモリバスの構成が煩雑になる。 またキャッシュメモリを 2ウェイとする 方法も考えられるが、 この場合も、 キャッシュメモリの容量が大きくなり、 また メモリバスの構成が煩雑になる。
従って従来手法の場合、 キャッシュメモリを小容量化しつつ、 メモリバスのァ クセス頻度を低下させることが困難になる。
そこでこの実施例では (第 4図〜第 6図) 、 参照画像メモリ 2 8 Bからの参照 画像データの読み出し単位である水平方向に連続する複数画素による 8画素を単 位にして、 水平方向及び垂直方向にそれぞれ複数の読み出し単位による領域によ り、 参照画像データがキャッシュメモリ 2 7に格納されて保持される。 またこの ような領域を特定する一次元のァドレスデータにより参照画像データがリクエス 卜される。
その結果、 この領域の形状の設定により、 従来のように、 単なる読み出し単位 の垂直方向に連続する領域により参照画像データをキャッシュメモリに保持する 場合に比して、 キャッシュメモリを小容量化しつつ、 キャッシュミスを低減する ことが可能となる。
より具体的にこの実施例では (第 4図〜第 6図) 、 参照画像データ D 1 6をリ クエストする一次元のアドレスデータから、 参照画像データ D 1 6の画面上での 水平方向の位置を示す上位側、 所定ビット Aと、 垂直方向の位置を示す下位側、 所定ビット Bとを切り出して結合し、 参照画像データ D 1 6の画面上での位置を 示す二次元のアドレスが生成される。 復号化装置 2 1では、 この二次元のァドレ スがキャッシュメモリ 2 7のインデックスに設定される。
このように参照画像データ D 1 6の画面上での位置を示す二次元のァドレスを キャッシュメモリ 2 7のインデックスに設定すれば、 キャッシュメモリ 2 7に格 納した参照画像データ D 1 6を、 1回で読み出すことができる複数画素を単位に した二次元のアドレスで管理することができる。 従って、 この 1回で読み出すこ とができる複数画素を単位にして、 水平方向及び垂直方向に所望する大きさの領 域を設定して、 この領域の参照画像データをキャッシュメモリ 2 7に格納し、 ま たキャッシュメモリ 2 7からロードすることができる。 従ってキャッシュメモリ 2 7のサイズを大きくしなくても、 予測値の生成単位に対応する領域の参照画像 データ D 1 6をキャッシュメモリ 2 7に格納することができ、 従来に比してキヤ ッシュミスの頻度を低減することができ、 メモリバスのアクセス頻度を低減する ことができる。
そこでこの実施例では、 参照画像データ D 1 6をリクエストするアドレスデー タについても、 同様にして二次元のアドレスが生成され、 この二次元のアドレス とキヤッシュメモリ 2 7のィンデッタスとの比較によりキヤッシュメモリ 2 7に 保持された参照画像データ D 1 6が復号部コア 3 1に出力され、 また対応する参 照画像データ D 1 6がキャッシュメモリ 2 7に保持されていない場合には、 参照 画像メモリ 2 8 Bから対応する参照画像データ D 1 6が復号部コア 3 1に出力さ れる。 またこの場合、 参照画像メモリ 2 8 Bから読み出した参照画像データ D 1 6がキャッシュメモリ 2 7に格納され、 この参照画像データ D 1 6の格納に対応 するようにインデックスが更新される。
( 3 ) 実施例 1の効果 以上の構成によれば、 水平方向及ぴ垂直方向がそれぞれ複数の読み出し単位で ある領域を特定するようにァドレスデータを発行して、 参照画像データをキヤッ シュメモリに格納することにより、 キャッシュメモリを小容量化しつつ、 メモリ パスのアクセス頻度を低下させることができる。
より具体的に、 1回に読み出すことができる複数画素を単位にして、 参照画像 データの画面上の位置を示す二次元のァドレスを生成し、 この二次元のァドレス をキャッシュメモリのインデックスに設定することにより、 キャッシュメモリを 小容量化しつつ、 メモリバスのアクセス頻度を低下させることができる。
またこの二次元のァドレスを、 キャッシュメモリをアクセスするァドレスデー タから、 参照画像データの 1画面上での水平方向の位置を示す上位側、 所定ビッ トと、 垂直方向の位置を示す下位側、 所定ビットとを結合させて作成することに より、 簡易な処理で二次元のァドレスを作成することができる。
( 4 ) 実施例 2
第 1 2図は、 第 7図との対比により、 本発明の実施例 2の復号化装置に適用さ れるキャッシュメモリ 4 7の構成を示す略線図である。 この実施例の複号化装置 では、 キャッシュメモリ 4 7が 2ウェイにより構成される。 なおこの実施例の復 号化装置は、 このキャッシュメモリ 4 7に関する構成が異なる点を除いて、 実施 例 1の復号化装置 2 1と同一に構成されることにより、 以下においては、 適宜、 実施例 1の図面を流用して説明する。
この実施例の復号化装置は、 メモリバス幅が 6 4ビットに設定され、 キヤッシ ュメモリ 4 7は、 それぞれ 1 2 8バイ トの 2ウェイ構成で作成される。 従って 8 画素 X 8画素の領域については、 それぞれ各ウェイ 4 7 A、 4 7 Bに 2個ずつ保 持することが可能となる。
この復号化装置において、 復号部コア 3 1は、 1 6画素 X 1 6画素のマクロブ ロック MBの予測値を生成した場合には、 第 1 3図に示すように、 この 2つのゥ エイ 4 7 A及び 4 7 Bにこのマクロブロック M Bが参照した参照画像データが格 納されることになる。 従ってこの場合、 実施例 1について上述したと同様に、 キ ャッシュメモリを小容量化しつつ、 メモリバスのアクセス頻度を低下させること ができる。 これに対して 1 6画素 X 8画素、 8画素 X 1 6画素のマクロプロック M B 1、 M B 2を連続して処理した場合には、 第 1 4図に示すように、 各ウェイ 4 7 A及 び 4 7 Bにそれぞれマクロプロック M B 1、 M B 2が参照した参照画像データを 格納することになる。
これに対して第 1 5図に示すように、 単なる一次元のアドレスでキャッシュメ モリ 4 7に格納した参照画像データを管理する場合、 第 1 1図について上述した と同様に、 各ウェイ 4 7 A、 4 7 Bは、 縦長の領域しか参照画像データ D 1 6を 格納し得ず、 結局、 この場合も、 続く同一サイズの予測値生成単位の処理におい てキャッシュミスが発生し、 参照画像メモリ 2 8 Bを参照することが必要になる 。
しかしながらこの実施例では、 第 1 5図との対比により第 1 4図に示すように 、 この続く同一サイズの予測値生成単位に対応する領域の参照画像データ D 1 6 力 キャッシュメモリ 4 7の各ウェイ 4 7 A、 4 7 Bに格納されていることから 、 従来に比して、 キャッシュミスの発生頻度を低下させることができる。
この実施例によれば、 キャッシュメモリを 2ウェイで構成する場合でも、 実施 例 1と同様の効果を得ることができる。
( 5 ) 実施例 3
この実施例は、 M P E G—4 A V C Z l T U— T H . 2 6 4方式による動画 像データの符号化装置に本発明を適用して、 予測値の生成に使用する参照画像デ ータの処理にキャッシュメモリを適用する。 従ってこの実施例の符号化装置では 、 第 1図の構成において、 参照画像メモリ 1 1と動き補償部 1 2との間にキヤッ シュメモリが設けられる。 なおこの実施例の符号化装置は、 このキャッシュメモ リに関する構成が異なる点を除いて、 第 1図の符号化装置と同一に構成されるこ とカ ら、 以下においては、 適宜、 第 1図の構成を流用して説明する。
この実施例の符号化装置は、 さらに第 1図に示す各機能プロックが演算処理回 ! 路である符号化部コアで構成される。 なおこの実施例において、 この符号化部コ ァの処理プログラムは、 事前にこの符号化装置にインストールされて提供される i ものの、 この事前のインストールに代えて、 光ディスク、 磁気ディスク、 メモリ カード等の各種記録媒体に記録して提供するようにしてもよく、 またィンターネ 1 ット等のネットワークを介したダウンロードにより提供するようにしてもよい。 この符号化装置において、 キャッシュメモリは、 参照画像データ D 3の画面上 で所定領域 A Rの参照画像データを保持する。 この実施例では、 この領域 A尺の 縦方向及ぴ横方向のサイズ WS h、 WS vの比が、 第 1 6図に示すように、 動き べクトル検出部 1 3における動きべクトル探索範囲の横サイズ MVS Ah及び縦 サイズ MVSAvの比と等しくなるように設定される。 すなわちこの場合、 WS h : WS V =MVS Ah : MV S A vとなるように設定される。 なおこの実施例 でも水平方向に連続する 8画素を単位にしてこの切り出す領域 A Rのサイズ W S h、 WS Vを設定することから、 これらの比を完全に一致させることが困難な場 合も予測され、 この場合には、 サイズ WSh、 WS Vの比が可能な限り横サイズ MVS Ah及び縦サイズ MVS A Vの比に近づくように、 領域 A Rの縦方向及び 横方向のサイズ WS h、 WS vが設定される。 なお当然のことながら、 切り出す 領域 ARの縦方向及び横方向のサイズ WS h、 WS vは、 予測値生成単位の最大 の大きさを含む大きさに設定される。
符号化部コアは、 フレーム間符号化処理で動画像データを符号化する場合、 動 きべクトル検出部 1 3で検出した動きべク トルに基づいて、 動き補償部 1 2で、 予測値の生成に使用する参照画像データ D 3の位置を求める。 またこの求めた位 置の参照画像データ D 3の出力をキャッシュメモリにリクエストする。 ここでこ のリクエストした参照画像データ D 3がキャッシュメモリに保持されている場合 、 符号化部コアは、 リクエストした参照画像データ D 3をキャッシュメモリから 動き補償部 1 2に出力する。 これに対してリクエストした参照画像データ D 3が キャッシュメモリに保持されていない場合、 符号化部コアは、 このリクエストし た参照画像データ D 3を参照画像メモリ 1 1から取得して動き補償部 1 2に出力 する。
この参照画像データ D 3を参照画像メモリ 1 1から取得する際に、 符号化部コ ァは、 領域 A Rの参照画像データ D 3を参照画像メモリ 1 1から取得してキヤッ シュメモリに保持し、 またこの参照画像データの格納に対応するようにキヤッシ ュメモリのインデックスを更新する。 なおここでこの場合、 領域 ARは、 例えば 予想値の生成に使用する参照画像データの位置が領域 A Rの中央の位置となるよ うに設定される。 なおこの場合、 予想値の生成に使用する参照画像データの位置
1S 領域 A Rの中央位置から続く予測値生成単位の位置に変位した位置となるよ うに、 領域 A Rを設定するようにしてもよレ、。
この実施例によれば、 符号化装置に適用して、 1回に読み出すことができる複 数画素を単位にして、 参照画像データの画面上の位置を示す二次元のア ドレスを 生成し、 この二次元のァドレスをキヤッシュメモリのィンデッタスに設定するこ とにより、 キャッシュメモリを小容量化しつつ、 メモリバスのアクセス頻度を低 下させることができる。
( 6 ) 実施例 4
この実施例は、 実施例 3と同様の、 M P E G— 4 A V C / I T U— T H. 2 6 4方式による動画像データの符号化装置に本発明を適用して、 キャッシュメモ リに格納する領域の形状を切り換える。 なおこの実施例の符号化装置は、 このキ ャッシュメモリに関する構成が異なる点を除いて、 実施例 4の符号化装置と同一 に構成される。
この実施例の符号化装置は、 キャッシュメモリに格納する参照画像データ D 3 の領域として、 第 1 7 (A) 図に示す 3 2画素 X 1 6画素の動き探索範囲に対応 する水平方向及び垂直方向のサイズが 1 6画素 X 8画素の第 1の領域 A R 1と、 第 1 7 ( B ) 図に示す 1 6画素 X 3 2画素の動き探索範囲に対応する水平方向及 び垂直方向のサイズが 8画素 X 1 6画素の第 2の領域 AR 2とが用意される。 従って 3 2画素 X 1 6画素の動き探索範囲で動きべクトルを検出する場合には 、 第 1の領域 A R 1で参照画像データをキャッシュメモリに格納して、 ヒット率 を高くすることができる。 またこれとは逆に、 1 6画素 X 3 2画素の動き探索範 囲に動きべクトルを検出している場合には、 第 2の領域 A R 2で参照画像データ をキャッシュメモリに格納して、 ヒット率を髙くすることができる。
また第 6図との対比により第 1 8図に示すように、 この第 1及び第 2の領域 A R 1及び A R 2の切り換えに対応して、 キャッシュメモリのィンデッタスが切り 換えられる。 すなわちこの場合も、 横方向の位置を示すビット A、 縦方向の位置 を示すビット Bを参照画像メモリ 1 1をアクセスするァドレスデータ A D FMか ら切り出して接合し、 キャッシュメモリのインデックスを作成する。 このとき横 長の第 1の領域 A R 1の場合に比して、 縦長の第 2の領域のインデックスを作成 する場合、 上位側ビット Aのビット数 Mを増大させ、 またこれに対応して下位側 ビット Bのビット数 Nを減少させることにより、 これら 2つの領域 A R 1、 A R 2の形状の切り換えに対応してィンデックスを作成する。
より具体的に、 符号化部コアは、 第 1 9図に示すように、 2つの論理演算部 5 1、 5 2でそれぞれ第 1及び第 2の領域 A R 1及び A R 2に対応するィンデック ス I N 1、 I N 2を生成する。 またアンド部 5 3を用いて、 第 1の領域 A R 1に 対応するィンデッタス I N 1をインデックスの切り換えを指示する選択信号 S E Lの論理値に応じて選択出力する。 またインバータ 5 4を用いて、 この選択信号 S E Lの論理値を反転させた反転信号を生成し、 アンド部 5 5を用いて、 第 2の 領域 A R 2に対応するィンデックス I N 2を反転信号の論理値に応じて選択出力 する。 符号化部コアは、 これらオア部 5 6を用いて、 アンド部 5 3、 5 5の出力 値の論理和を得、 選択信号 S E Lの切り換えにより、 第 1及び第 2の領域に対応 するようにィンデッタスの生成を切り換える。
符号化部コアは、 符号化処理対象の動画像データの各種特徴量から、 動きべク トル探索範囲を切り換えて動画像データを符号化処理し、 またこの動きベクトル 探索範囲の切り換えに連動させて、 第 1及び第 2の領域 A R 1、 A R 2で、 キヤ ッシュメモリに格納する領域の形状を切り換える。 なおこの特徴量は、 例えば前 フレームにおけるキャッシュメモリのヒット率、 前フレームで検出される動きべ クトルの分布等を適用することができ、 例えば前フレームにおけるキャッシュメ モリのヒット率が一定値以下となった場合には、 現在の動きべクトル探索範囲を 切り換えることが考えられる。 また例えば横長の動きべクトル探索範囲で動きべ クトルを検出している状態で、 前フレームで検出される動きべクトルの多くが水 平方向成分が小さく、 垂直方向成分が大きい場合に、 動きベク トル探索範囲を縦 長に切り換える場合等である。 なおこれらの方法は、 結局、 前フレームにおける 傾向から、 現フレームにおいてキヤッシュメモリに格納する参照画像データの領 域の形状を設定することになる。
なお動画像データの特徴量に代えて、 ユーザーの指示により、 探索範囲を切り 換え、 これと連動するように、 キャッシュメモリに格納する参照画像データの領 域の形状を切り換えるようにしてもよい。
この実施例によれば、 符号化装置において、 キャッシュメモリに格納する参照 画像データの領域の形状を切り換えることにより、 一段とヒット率を向上して効 率良く動画像データを符号化処理することができる。
(7) 実施例 5
この実施例は、 MPEG— 4 AVC/ I TU— T H. 264方式と、 MPE G 2方式とで方式を切り換える、 動画像データの符号化装置に本発明を適用して 、 キャッシュメモリに格納する領域の形状を、 この符号化方式の切り換えに連動 させて切り換える。 なおこの実施例の符号化装置は、 このキャッシュメモリに格 納する領域の形状切り換えに関する構成が異なる点を除いて、 実施例 4の符号化 装置と同一に構成される。
ここで MP EG— 4 AVC, I TU— T H. 264方式では、 一般に、 キヤ ッシュメモリに格納する領域の形状を、 正方形形状に近い形状に設定した方が、 ヒット率が高くなる。 これに対して MP EG 2方式の場合では、 MPEG— 4A VC/ I TU-T H. 264方式の場合に比して、 この領域を横長の形状とし た方が、 ヒット率が高くなる。
そこでこの実施例の符号化装置では、 ユーザーが MPEG—4AVC/I TU — T H. 264方式の符号化処理を指示した場合には、 1 6画素 X 1 6画素の 正方形形状で、 キャッシュメモリに参照画像データを格納する。 これに対してュ 一ザ一が MP EG 2方式の符号化処理を指示した場合には、 16画素 X 8画素の 、 横長の形状で、 キャッシュメモリに参照画像データを格納する。
この実施例によれば、 符号化方式に応じてキヤッシュメモリに格納する参照画 像データの領域の形状を切り換えることにより、 一段とヒット率を向上して効率 良く動画像データを符号化処理することができる。
(8) 実施例 6
この実施例は、 実施例 2と同様の、 MPEG— 4 AVC/ I TU— T H. 2 64方式による動画像データの複号化装置に本発明を適用して、 実施例 5と同様 に、 適宜、 キャッシュメモリに格納する領域の形状を切り換える。 なおこの実施 例の符号化装置は、 このキャッシュメモリに関する構成が異なる点を除いて、 実 W 施例 2の復号化装置と同一に構成される。
すなわちこの実施例においても、 第 1 7図について上述したと同様に、 キヤッ シュメモリに格納する参照画像データ D 1 6の領域として、 1 6画素 X 8画素の 第 1の領域 AR 1と、 8画素 X 16画素の第 2の領域 AR 2とが用意される。 復号部コア 31は、 第 20図、 第 2 1図の処理手順をフレーム単位で実行して 、 フレーム単位で、 キャッシュメモリに格納する参照画像データ D 1 6の領域を 、 第 1又は第 2の領域 A R 1又は AR 2に設定する。
すなわち復号部コア 3 1は、 この処理手順を開始すると、 ステップ S P 1から ステップ S P 2に移り、 現フレームが、 動画像データの 2フレーム以降か否か判 断する。 ここで否定結果が得られると、 復号部コア 3 1は、 キャッシュメモリに 格納する参照画像データ D 16の領域を、 事前に設定された第 1又は第 2の領域 AR 1又は AR 2に設定し、 ステップ SP 3に移る。
これに対してステップ S P 2で肯定結果が得られると、 ステップ S P 2からス テツプ SP 4に移る。 ここで復号部コア 31は、 前フレームで最も多く検出され た動き補償ブロックサイズを検出する。 また続くステップ S P 5において、 この 最も多く検出された動き補償プロックサイズを満足する領域を、 領域 AR 1又は AR2から選択する。 より具体的に、 最も多く検出された動き捕償ブロックサイ ズが横長の場合、 1 6画素 X 8画素の第 1の領域 AR 1を選択する。 また最も多 く検出された動き補償ブロックサイズが縦長の場合、 8画素 X I 6画素の第 2の 領域 AR 2を選択する。 復号部コア 3 1は、 この選択した領域をキャッシュメモ リに格納する参照画像データ D 1 6の領域に設定し、 ステップ S P 3に移る。 ステップ S P 3において、 復号部コア 3 1は、 入力ビットストリームのヘッダ を解析し、 ピクチャータイプ等の情報を取得して再生制御部 25に通知する。 ま た続くステップ S P 7において、 動き捕償ブロックサイズを、 種類毎にカウント する。 復号部コア 3 1は、 このステップ S P 7のカウント結果を、 続くフレーム におけるステップ S P 4の処理で判定して続くフレームでキャッシュメモリに格 納する参照画像データ D 16の領域を決定することになる。
続いて復号部コア 3 1は、 ステップ S P 8に移り、 動きベク トルを検出し、 続 くステップ S P 9において、 ステップ S P 8で検出した動きべクトルに基づいて 、 予測値を生成する参照画像データの位置を計算する。 なおここでこの計算で求 められる位置の参照画像データは、 処理対象マクロプロックに対応する大きさの 領域に含まれる参照画像データであることから、 以下において、 参照マクロプロ ックと呼ぶ。
続いて復号部コア 3 1は、 ステップ S P 1 0に移り、 キャッシュメモリに参照 マクロプロックが存在するか否か判断し、 キヤッシュメモリに参照マクロプロッ クが存在する場合には、 このキヤッシュメモリの参照マクロプロックから予測値 を生成してステップ S P 1 1に移る。 これに対してキャッシュメモリに参照マク ロブロックが存在しない場合には、 ステップ S P 1 2に移り、 参照画像メモリか らキャッシュメモリに参照マクロプロックを転送し、 この転送した参照マクロブ ロックから予測値を生成してステップ SP 1 1に移る。
ステップ S P 1 1において、 復号部コア 3 1は、 入力ビットストリームの処理 対象マクロブロックを順次可変長複号化処理、 逆量子化処理、 逆離散コサイン変 換処理して差分誤差値を生成し、 続くステップ S P 1 3において、 この差分誤差 値に予測値を加算して当該マクロプロックの動画像データを復号する。
なおこれらステップ S P 7— S P 8— S P 9— S P 1 0— SP 1 1— S P 1 3 の処理手順、 ステップ S P 7— SP 8— SP 9— S P 1 0— S P 1 2— S P 1 1 -S P 1 3の処理手順は、 フレーム間符号化処理の場合であり、 フレーム内符号 化処理の場合には、 この処理手順に代えて、 面内予測により予測値を生成して動 画像データを複号化する。
復号部コア 3 1は、 ステップ S P 1 3の処理を完了すると、 ステップ S P 14 に移り、 現フレームの全マクロブロックの処理を完了したか否か判断し、 ここで 否定結果が得られると、 ステップ S P 8に戻る。 これに対してステップ S P 14 で肯定結果が得られると、 ステップ S P 14からステップ S P 1 5に移り、 復号 した現フレームの動画像データを出力した後、 ステップ S P 1 6に移ってこの処 理手順を終了する。
この実施例によれば、 過去の処理結果に基づいて、 キャッシュメモリに格納す る参照画像データ D 1 6の領域の形状を、 キャッシュメモリへのヒット率が高い と推定される形状に切り換えることにより、 より具体的には、 前フレームにおけ る予測値の生成単位の傾向から、 現フレームで多いと予測される生成単位に対応 する形状に切り換えることにより、 一段とヒット率を向上して効率良く復号化処 理することができる。
(9) 実施例 7
この実施例は、 MPEG— 4 AVC/I TU— T H. 264方式と、 MPE G 2方式とで方式を切り換える、 動画像データの復号化装置に本発明を適用して 、 キャッシュメモリに格納する領域の形状を、 この符号化方式の切り換えに連動 させて切り換える。 なおこの実施例の復号化装置は、 このキャッシュメモリに格 納する領域の形状切り換えに関する構成が異なる点を除いて、 実施例 2の複号化 装置と同一に構成される。
ここで第 22 (A) 図及び第 22 (B) 図に示すように、 MP EG 2では、 1 6画素 X 1 6画素、 1 6画素 X 8画素の 2種類が予測値生成単位として用意され ている。 これに対して第 23 (A) 図〜第 23 (G) 図に示すように、 MPEG 一 4AVC/I TU— T H. 264では、 16画素 X I 6画素、 16画素 8 画素、 8画素 X I 6画素、 8画素 X 8画素、 4画素 X 8画素、 8画素 X 4画素、 4画素 X 4画素の 7種類が予測値生成単位として用意されている。
これに対応してこの複号化装置では、 処理対象の入力ビットストリームが MP EG 2方式の場合、 キャッシュメモリを 2ウェイで構成し、 第 24 (A) 図に示 すように、 1 6画素 X 8画素の領域 AR 1を選択して、 キャッシュメモリに参照 画像データを格納する。 これに対して処理対象の入力ビットストリームが MP E G-4 AVC/ I TU-T H. 264方式の場合、 キャッシュメモリを 1ゥェ ィで構成し、 第 24 (B) 図に示すように、 16画素 X 8画素の領域 AR 2を選 択して、 キャッシュメモリに参照画像データを格納する。
第 25図は、 このキヤッシュメモリの切り換えに係る復号部コア 31の処理手 順を示すフローチャートである。 復号部コア 3 1は、 復号化処理の開始時、 この 処理手順を実行する。 すなわち復号部コア 3 1は、 この処理手順を開始すると、 ステップ S P 21からステップ S P 22に移り、 ここで入力ビットストリームを 解析してコーデックの種別を検出する。 またこの検出したコーデックの種別が M PEG 2か否か判断する。 ここで肯定結果が得られると、 復号部コア 3 1は、 ステップ S P 2 2からステ ップ S P 2 3に移り、 キヤッシュメモリに格納する参照画像データ D 1 6の領域 を第 1の領域 A R 1に設定する。 また続いてステップ S P 2 4に移り、 各部にコ 一デックの処理開始を指示した後、 ステップ S P 2 5に移ってこの処理手順を終 了する。
これに対してステップ S P 2 2で否定結果が得られると、 復号部コア 3 1は、 ステップ S P 2 2からステップ S P 2 6に移り、 キヤッシュメモリに格納する参 照画像データ D 1 6の領域を第 2の領域 A R 2に設定した後、 ステップ S P 2 4 に移る。
この実施例によれば、 符号化方式に応じてキャッシュメモリに格納する参照画 像データの領域の形状を切り換えることにより、 一段とヒット率を向上して効率 良く動画像データを復号化処理することができる。
( 1 0 ) 実施例 8
この実施例では、 符号化復号化装置に本発明を適用する。 ここでこの実施例の 符号化複号化装置は、 第 3図について上述した復号部コア 3 1を構成する演算処 理手段のプログラムを切り換えることができるように構成され、 このプログラム の切り換えによつて符号化装置と復号化装置とで構成を切り換える。
また符号化装置として動作する場合には、 上述した実施例の符号化装置のキヤ ッシュメモリに関する構成により順次動画像データを符号化処理する。 また復号 化装置として構成した場合には、 上述した実施例の複号化装置のキャッシュメモ リに関する構成により順次動画像データを復号化する。 従ってこの実施例の符号 化復号化装置は、 符号化する場合と複号化する場合とで、 キャッシュメモリに格 納する参照画像データの領域の形状を切り換える。
この実施例によれば、 符号化する場合と復号化する場合とで、 キャッシュメモ リに格納する参照画像データの領域の形状を切り換えることにより、 一段とヒッ ト率を向上して効率良く動画像データを符号化、 複号化処理することができる。
( 1 1 ) 実施例 9
この実施例では、 符号化復号化装置に本発明を適用して、 上述の各実施例と同 様にしてキャッシュメモリに格納する領域を設定し、 さらにはこの領域の形状を 切り換える。 この実施例では、 このキャッシュメモリ力 . 1 2 8ウェイで構成さ れる。 また各ウェイは、 参照画像メモリからの参照画像データの読み出し単位の 1 6個分又は 3 2個分 (8画素 X 8画素を 1ヮードとした場合の 2ヮード分又は 4ワード分) の容量に設定される。 またこのキャッシュメモリは、 これら 2ヮー ド分又は 4ヮード分の参照画像データに対するインデックスの設定が省略され、 各ウェイのタグによって、 各ウェイに格納した参照画像データを特定できるよう に構成される。 このためキャッシュメモリは、 各ウェイに格納する先頭 8画素分 の、 参照画像メモリのアドレスデータが、 各タグに設定される。 従ってこの実施 例では、 キヤッシュメモリをアクセスするァドレスデータとキヤッシュメモリに 設定されたタグとの比較により、 キャッシュメモリに対応する参照画像データが 格納されているか否か判定する。 またキャッシュメモリに対応する参照画像デー タが格納されていない場合には、 参照画像メモリからロードして予測値を生成す ると共にキャッシュメモリに格納し、 先頭 8画素のァドレスをタグに設定する。 この実施例のように、 ウェイ数を増大させ、 またインデックスに代えてタグの みにより参照画像データを識別するようにしても、 上述の実施例と同様の効果を 得ることができる。
( 1 2 ) 他の実施例
なお上述の実施例においては、 参照画像メモリから参照画像データを読み出す 単位を水平方向に連続する 8画素とした場合について述べたが、 本発明はこれに 限らず、 この読み出す単位の水平方向に連続する画素数にあっては種々に設定す ることができる。 また水平方向に連続する複数画素に代えて、 垂直方向に連続す る複数画素を読み出しの単位とする場合にも広く適用することができる。
また上述の実施例においては、 動画像データの処理に応じてキヤッシュメモリ に格納する参照画像データの領域の形状を切り換える場合について述べたが、 本 発明はこれに限らず、 例えば動画像データがインターレース方式の場合とプログ レツシブ方式の場合とで、 この領域の形状を切り換える場合、 またはフレームレ ートによってこの領域の形状を切り換える場合等、 動画像デ一タに応じてキヤッ シュメモリに格納する参照画像データの領域の形状を切り換えるようにしてもよ い。 また上述の実施例においては、 演算処理手段で各機能プロックを構成して動画 像データを処理する場合について述べたが、 本発明はこれに限らず、 ハードゥエ ァ構成により動画像データを処理する場合にも広く適用することができる。
また上述の実施例においては、 MP EG— 4 AVCZ I TU— T H. 264 方式、 MP EG 2方式で動画像データを処理する場合について述べたが、 本発明 はこれに限らず、 これら以外のフォーマットで、 参照画像メモリに保持した参照 画像データから予測値を生成して動画像データを処理する場合に広く適用するこ とができる。 産業上の利用可能性
本発明は、 例えば MPEG— 4 AVCZl TU— T H. 264方式による動 画像データの符号化装置、 復号化装置に適用することができる。

Claims

請求の範囲
1 . キャッシュメモリを使用して、 参照画像メモリに保持した参照画像データか ら予測値を生成し、 前記予測値を用いて動画像データを符号化及び又は複号化す る画像データ処理方法において、
前記参照画像メモリの一次元のァドレスデータによって前記参照画像データの 画面上における領域を特定して、 前記キャッシュメモリに、 前記予測値の生成に 使用する前記参照画像デ一タをリクエストする参照画像データのリクエストステ ップと、
前記キャッシュメモリに格納された前記参照画像データから、 前記リクエスト に対応する参照画像データを検索するキヤッシュメモリ検索ステップと、
前記対応する前記参照画像データが前記キャッシュメモリに格納されている場 合に、 該キャッシュメモリに格納された参照画像データを前記リクエストに応答 して出力する第 1の参照画像データ出力ステップと、
前記対応する前記参照画像データが前記キヤッシュメモリに格納されていない 場合に、 前記参照画像メモリに格納された対応する前記参照画像データを前記キ ャッシュメモリに格納すると共に、 該対応する前記参照画像データを前記リクェ ストに応答して出力する第 2の参照画像データ出カステツプとを有し、
前記参照画像メモリは、
水平方向又は垂直方向に連続する複数画素の読み出し単位で前記参照画像デー タを出力し、
前記領域が、 水平方向及び垂直方向に、 それぞれ複数の前記読み出し単位の領 域である
ことを特徴とする画像データ処理方法。
2 . 前記キャッシュメモリ検索ステップは、
前記一次元のァドレスデータを、 前記参照画像データの画面上における位置を 示す二次元のァドレスデータに変換し、 該二次元のァドレスデータを用いて前記 キヤッシュメモリのィンデックスを検索して、 前記リクエストに対応する参照画 像データを検索し、
前記第 2の参照画像データ出力ステップは、
前記二次元のァドレスデータをインデックスに設定して、 前記対応する前記参 照画像データを前記キヤッシュメモリに格納する
ことを特徴とする請求の範囲第 1項に記載の画像データ処理方法。
3 . 前記リクエストステップは、
前記領域の形状を、 前記動画像データの処理に応じて切り換える
ことを特徴とする請求の範囲第 1項に記載の画像データ処理方法。
4 . 前記動画像データの処理に応じた前記領域の形状の切り換えが、 前記動画像 データを符号化する場合と、 復号化する場合との切り換えである
ことを特徴とする請求の範囲第 3項に記載の画像データ処理方法。
5 . 前記動画像データの処理に応じた前記領域の形状の切り換えが、 前記動画像 データを符号化及び又は複号化する方式に応じた切り換えである
ことを特徴とする請求の範囲第 3項に記載の画像データ処理方法。
6 . 前記動画像データの処理に応じた前記領域の形状の切り換えが、 過去の処理 結果に基づいて、 前記キャッシュメモリへのヒット率が高いと推定される形状へ の切り換えである
ことを特徴とする請求の範囲第 3項に記載の画像データ処理方法。
7 . 前記キャッシュメモリへのヒット率が高いと推定される形状への切り換えが 、 前フレームにおける前記予測値の生成単位の傾向から、 現フレームで多いと予 測される前記生成単位に対応する形状への切り換えである
ことを特徴とする請求の範囲第 6項に記載の画像データ処理方法。
8 . キャッシュメモリを使用して、 参照画像メモリに保持した参照画像データか ら予測値を生成し、 前記予測値を用いて動画像データを符号化及び又は複号化す る画像データ処理方法のプログラムにおいて、
前記参照画像メモリの一次元のァドレスデータによって前記参照画像データの 画面上における領域を特定して、 前記キャッシュメモリに、 前記予測値の生成に 使用する前記参照画像データをリクエス トする参照画像データのリクエストステ ップと、
前記キャッシュメモリに格納された前記参照画像データから、 前記リクェス ト に対応する参照画像データを検索するキヤッシュメモリ検索ステップと、
前記対応する前記参照画像データが前記キャッシュメモリに格納されている場 合に、 該キャッシュメモリに格納された参照画像データを前記リクエストに応答 して出力する第 1の参照画像データ出力ステップと、
前記対応する前記参照画像データが前記キャッシュメモリに格納されていない 場合に、 前記参照画像メモリに格納された対応する前記参照画像データを前記キ ャッシュメモリに格納すると共に、 該対応する前記参照画像データを前記リクェ ストに応答して出力する第 2の参照画像データ出力ステップとを有し、
前記参照画像メモリは、
水平方向又は垂直方向に連続する複数画素の読み出し単位で前記参照画像デー タを出力し、
前記領域が、 水平方向及び垂直方向に、 それぞれ複数の前記読み出し単位の領 域である
ことを特徴とする画像データ処理方法のプログラム。
9 . キャッシュメモリを使用して、 参照画像メモリに保持した参照画像デ一タか ら予測値を生成し、 前記予測値を用いて動画像データを符号化及び又は複号化す る画像データ処理方法のプログラムを記録した記録媒体において、
前記画像データ処理方法は、
前記参照画像メモリの一次元のァドレスデータによつて前記参照画像データの 画面上における領域を特定して、 前記キャッシュメモリに、 前記予測値の生成に 使用する前記参照画像データをリクエストする参照画像データのリクエストステ ップと、
前記キャッシュメモリに格納された前記参照画像データから、 前記リクエスト に対応する参照画像データを検索するキヤッシュメモリ検索ステップと、
前記対応する前記参照画像データが前記キヤッシュメモリに格納されている場
'5 合に、 該キャッシュメモリに格納された参照画像データを前記リクエストに応答 して出力する第 1の参照画像データ出力ステップと、
前記対応する前記参照画像データが前記キャッシュメモリに格納されていない 場合に、 前記参照画像メモリに格納された対応する前記参照画像データを前記キ ャッシュメモリに格納すると共に、 該対応する前記参照画像データを前記リクェ0 ストに応答して出力する第 2の参照画像データ出力ステップとを有し、
前記参照画像メモリは、
水平方向又は垂直方向に連続する複数画素の読み出し単位で前記参照画像デー タを出力し、
前記領域が、 水平方向及び垂直方向に、 それぞれ複数の前記読み出し単位の領 5 域である
ことを特徴とする画像データ処理方法のプログラムを記録した記録媒体。
1 0 . キャッシュメモリを使用して、 参照画像メモリに保持した参照画像データ から予測値を生成し、 前記予測値を用いて動画像データを符号化及び又は複号化 0 する画像データ処理装置において、
前記参照画像メモリの一次元のァドレスデータによつて前記参照画像データの 画面上における領域を特定して、 前記キャッシュメモリに、 前記予測値の生成に 使用する前記参照画像データをリクエストする参照画像データのリクエスト部と 5 前記キャッシュメモリに格納された前記参照画像データから、 前記リクエスト に対応する参照画像データを検索するキヤッシュメモリ検索部と、
前記対応する前記参照画像データが前記キャッシュメモリに格納されている場 合に、 該キャッシュメモリに格納された参照画像データを前記リクエストに応答 して出力する第 1の参照画像データ出力部と、 前記対応する前記参照画像データが前記キヤッシュメモリに格納されていない 場合に、 前記参照画像メモリに格納された対応する前記参照画像データを前記キ ャッシュメモリに格納すると共に、 該対応する前記参照画像データを前記リクェ ストに応答して出力する第 2の参照画像データ出力部とを有し、
前記参照画像メモリは、
水平方向又は垂直方向に連続する複数画素の読み出し単位で前記参照画像デー タを出力し、
前記領域が、 水平方向及び垂直方向に、 それぞれ複数の前記読み出し単位の領 域である
ことを特徴とする画像データ処理装置。
PCT/JP2007/062833 2006-09-06 2007-06-20 Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image data processing device WO2008029550A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP07767639A EP2061256A4 (en) 2006-09-06 2007-06-20 IMAGE DATA PROCESSING METHOD, PROGRAM FOR THE SAME METHOD, RECORDING MEDIUM WITH THE RECORDED PROGRAM FOR PROCESSING IMAGE DATA, AND IMAGE DATA PROCESSING DEVICE
US12/374,114 US8400460B2 (en) 2006-09-06 2007-06-20 Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image date processing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-240963 2006-09-06
JP2006240963A JP4535047B2 (ja) 2006-09-06 2006-09-06 画像データ処理方法、画像データ処理方法のプログラム、画像データ処理方法のプログラムを記録した記録媒体及び画像データ処理装置

Publications (1)

Publication Number Publication Date
WO2008029550A1 true WO2008029550A1 (en) 2008-03-13

Family

ID=39156995

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/062833 WO2008029550A1 (en) 2006-09-06 2007-06-20 Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image data processing device

Country Status (7)

Country Link
US (1) US8400460B2 (ja)
EP (1) EP2061256A4 (ja)
JP (1) JP4535047B2 (ja)
KR (1) KR20090064370A (ja)
CN (1) CN101502125A (ja)
TW (1) TW200814790A (ja)
WO (1) WO2008029550A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012227608A (ja) * 2011-04-15 2012-11-15 Toshiba Corp 画像符号化装置及び画像復号装置
JP2013126083A (ja) * 2011-12-14 2013-06-24 Fujitsu Ltd 画像処理装置
JP2014513883A (ja) * 2011-03-07 2014-06-05 日本テキサス・インスツルメンツ株式会社 ビデオ符号化のためのキャッシュ方法およびシステム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011097197A (ja) * 2009-10-27 2011-05-12 Yamaha Corp メモリアクセス制御装置
JP2011097198A (ja) * 2009-10-27 2011-05-12 Yamaha Corp メモリアクセス制御装置
JP5734700B2 (ja) * 2011-02-24 2015-06-17 京セラ株式会社 携帯情報機器および仮想情報表示プログラム
JP5736863B2 (ja) * 2011-03-15 2015-06-17 富士通株式会社 トランスコード装置及びトランスコード方法
KR20130043322A (ko) * 2011-10-20 2013-04-30 삼성전자주식회사 디스플레이 컨트롤러 및 이를 포함하는 디스플레이 장치
CN102769753B (zh) * 2012-08-02 2015-12-09 豪威科技(上海)有限公司 H264编码器及编码方法
US20140184630A1 (en) * 2012-12-27 2014-07-03 Scott A. Krig Optimizing image memory access
CN106331720B (zh) * 2015-06-17 2020-03-27 福州瑞芯微电子股份有限公司 一种视频解码相关信息存储方法和装置
KR20180028796A (ko) * 2016-09-09 2018-03-19 삼성전자주식회사 이미지 표시 방법, 저장 매체 및 전자 장치
CN106776374B (zh) * 2017-01-23 2021-04-13 中核控制系统工程有限公司 一种基于fpga的高效数据缓冲方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231035A (ja) * 1993-02-03 1994-08-19 Oki Electric Ind Co Ltd メモリアクセス装置
JPH11215509A (ja) * 1998-01-28 1999-08-06 Nec Corp 動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体
WO2005109205A1 (ja) * 2004-04-15 2005-11-17 Matsushita Electric Industrial Co., Ltd. 矩形領域に対するバーストメモリアクセス方法
JP2006031480A (ja) 2004-07-16 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4315312A (en) * 1979-12-19 1982-02-09 Ncr Corporation Cache memory having a variable data block size
US6125429A (en) * 1998-03-12 2000-09-26 Compaq Computer Corporation Cache memory exchange optimized memory organization for a computer system
US7234040B2 (en) * 2002-01-24 2007-06-19 University Of Washington Program-directed cache prefetching for media processors
JP4744510B2 (ja) 2004-04-22 2011-08-10 シリコン ハイブ ビー・ヴィー データ値の多次元アレイへのパラレルなアクセスを提供するデータ処理装置
JP4180547B2 (ja) 2004-07-27 2008-11-12 富士通株式会社 動画像データ復号装置、および復号プログラム
US20060050976A1 (en) * 2004-09-09 2006-03-09 Stephen Molloy Caching method and apparatus for video motion compensation
US7275143B1 (en) * 2004-12-13 2007-09-25 Nvidia Corporation System, apparatus and method for avoiding page conflicts by characterizing addresses in parallel with translations of memory addresses
JP4275085B2 (ja) * 2005-02-17 2009-06-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、およびデータストリーム生成方法
US7965773B1 (en) * 2005-06-30 2011-06-21 Advanced Micro Devices, Inc. Macroblock cache

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231035A (ja) * 1993-02-03 1994-08-19 Oki Electric Ind Co Ltd メモリアクセス装置
JPH11215509A (ja) * 1998-01-28 1999-08-06 Nec Corp 動き補償処理方法及びシステム並びにその処理プログラムを記録した記録媒体
WO2005109205A1 (ja) * 2004-04-15 2005-11-17 Matsushita Electric Industrial Co., Ltd. 矩形領域に対するバーストメモリアクセス方法
JP2006031480A (ja) 2004-07-16 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014513883A (ja) * 2011-03-07 2014-06-05 日本テキサス・インスツルメンツ株式会社 ビデオ符号化のためのキャッシュ方法およびシステム
JP2012227608A (ja) * 2011-04-15 2012-11-15 Toshiba Corp 画像符号化装置及び画像復号装置
JP2013126083A (ja) * 2011-12-14 2013-06-24 Fujitsu Ltd 画像処理装置

Also Published As

Publication number Publication date
TWI347785B (ja) 2011-08-21
CN101502125A (zh) 2009-08-05
US8400460B2 (en) 2013-03-19
KR20090064370A (ko) 2009-06-18
EP2061256A1 (en) 2009-05-20
TW200814790A (en) 2008-03-16
US20090322772A1 (en) 2009-12-31
JP4535047B2 (ja) 2010-09-01
EP2061256A4 (en) 2010-07-07
JP2008066913A (ja) 2008-03-21

Similar Documents

Publication Publication Date Title
WO2008029550A1 (en) Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image data processing device
RU2720648C1 (ru) Способ и устройство для кодирования или декодирования изображения с предсказанием информации движения между уровнями в соответствии со схемой сжатия информации движения
TWI717776B (zh) 應用於視訊內容編碼之多重參考鄰邊之畫面內預測之自適應性濾波方法、使用上述方法的視訊編碼裝置及視訊解碼裝置
JP5340289B2 (ja) 画像復号装置、画像復号方法、集積回路及びプログラム
JP4746550B2 (ja) 画像符号化装置
JP5152190B2 (ja) 符号化装置、符号化方法、符号化プログラムおよび符号化回路
JP4480156B2 (ja) 画像処理装置及び方法
JP2011160470A (ja) 画像の符号化および復号化
JP2007524309A (ja) ビデオ復号の方法
WO2010106670A1 (ja) 画像符号化装置、画像符号化制御方法および画像符号化プログラム
JP4346573B2 (ja) 符号化装置と方法
JP4675383B2 (ja) 画像復号化装置および方法、画像符号化装置
JP2018511237A (ja) コンテンツ適応型bピクチャパターンビデオエンコーディング
TWI418219B (zh) 用於動態補償系統之資料映像方法及快取記憶體系統
JP2007067526A (ja) 画像処理装置
JP2007325119A (ja) 画像処理装置及び画像処理方法
JP2003348594A (ja) 画像復号装置及び方法
JP5020391B2 (ja) 復号化装置及び復号化方法
KR101602871B1 (ko) 데이터 부호화 방법 및 장치와 데이터 복호화 방법 및 장치
JP2015226199A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP4515870B2 (ja) 信号処理装置及び映像システム
JP5206070B2 (ja) 復号装置および復号方法
KR100556341B1 (ko) 메모리 대역폭이 감소된 비디오 디코더 시스템
JPH10164596A (ja) 動き検出装置
JP2011097488A (ja) 映像圧縮符号化装置

Legal Events

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

Ref document number: 200780029958.1

Country of ref document: CN

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

Ref document number: 07767639

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12374114

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2007767639

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020097004638

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE