WO2007136095A1 - 動画像復号装置及び動画像復号方法 - Google Patents

動画像復号装置及び動画像復号方法 Download PDF

Info

Publication number
WO2007136095A1
WO2007136095A1 PCT/JP2007/060532 JP2007060532W WO2007136095A1 WO 2007136095 A1 WO2007136095 A1 WO 2007136095A1 JP 2007060532 W JP2007060532 W JP 2007060532W WO 2007136095 A1 WO2007136095 A1 WO 2007136095A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
decoding
unit
storage means
decoded data
Prior art date
Application number
PCT/JP2007/060532
Other languages
English (en)
French (fr)
Inventor
Masaki Maeda
Hideshi Nishida
Original Assignee
Panasonic 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 Panasonic Corporation filed Critical Panasonic Corporation
Publication of WO2007136095A1 publication Critical patent/WO2007136095A1/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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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

  • the present invention relates to an image decoding technique for decoding or expanding compressed image data, and more particularly to an image decoding technique suitable for decoding compressed image data that conforms to the MP EG (Moving Picture Experts Group) standard.
  • MP EG Motion Picture Experts Group
  • the MPEG standard for example, MPEG2 video standard (see Non-Patent Document 1) or MPEG4AVC (Adva need Video Coding) standard ( (See Non-Patent Document 2.)
  • MPEG2 video standard see Non-Patent Document 1
  • MPEG4AVC Advanced need Video Coding
  • a moving picture decoding apparatus that decodes moving picture data compressed in accordance with these standards (hereinafter referred to as compressed picture data) is also known, and a configuration example of a moving picture decoding apparatus of the MPEG2 video standard is shown in FIG. Shown in Note that the image decoding apparatus whose configuration example is shown in FIG. 14 is, for example, an MPEG2MP @ HL moving image decoder.
  • the video decoding device 100 includes an image decoding unit 110, a shared memory 120, a display processing unit 130, and a display device 135.
  • the shared memory 120 is a memory such as a large-capacity DRAM (Dynamic Random Access Memory), and stores the bit stream and the decoded image data decoded by the image decoding unit 110.
  • DRAM Dynamic Random Access Memory
  • variable-length decoding unit 112 performs variable-length decoding on the bit stream read from the shared memory 120 by a DMA (Direct Memory Access) unit 111, and performs block data obtained by quantization and frequency conversion. Is output to the inverse quantization inverse frequency conversion unit 113, and the motion vector data is output to the DMA unit 114.
  • DMA Direct Memory Access
  • the inverse quantization inverse frequency transform unit 113 performs inverse quantization and inverse frequency transform processing on the quantized and frequency converted block data, and obtains data (hereinafter referred to as transformed block) obtained by executing the processing.
  • DMA inverse quantization and inverse frequency transform processing
  • motion compensation processor Output to 115.
  • the DMA unit 114 reads reference image data from the shared memory 120 based on the motion vector data, and outputs the reference image data to the motion compensation processing unit 115.
  • the motion compensation processing unit 115 uses the reference image data for the converted block data to perform motion compensation processing (compensation processing equivalent to so-called motion compensation inverse processing), and is obtained by executing this processing.
  • the data (hereinafter referred to as compensated block data) is output to the DMA unit 116.
  • the DMA unit 116 stores the converted block data or the compensated block data in the shared memory 120 as decoded image data.
  • the display processing unit 130 reads the decoded image data from the shared memory 120 as display image data in the order necessary for display, and performs display processing on the display device 135 based on the read decoded image data.
  • Non-patent literature l ISO / IEC 13818-2 International Standard MPEG-2 Video
  • Non-Patent Document 2 ISO / IEC 14496-10 International Standard Information Technology-Coding of Audio-Visual object-Part 10: Advanced Video Coding
  • the access unit to the shared memory 120 is 16 bytes.
  • the operating frequency of the video decoding device 100 must be increased in order to read out the valid data in the above four memory accesses in the same time. Increasing the operating frequency leads to an increase in power consumption and heat generation.
  • an object of the present invention is to provide a moving picture decoding apparatus and a moving picture decoding method capable of efficiently performing data transfer in the moving picture decoding apparatus.
  • a moving picture decoding apparatus is a moving picture decoding apparatus capable of accessing a first storage means and a second storage means having a smaller access unit than the first storage means, Decoding means for sequentially performing decoding processing on the encoded moving image data to generate decoded data, and whether or not the decoding data generated by the decoding means is stored in the second storage means Determining means for determining based on a predetermined condition regarding the possibility of the decoded data being used in a subsequent decoding process, and the decoded data generated by the decoding means in the first storage means for displaying a moving image Storage means for storing the decoded data in the second storage means when it is determined by the determining means to be stored in the second storage means, and the decoding means performs decoding processing. When using the decoded data previously generated by, it reads the decoded data from the if the decoded data is stored in said second memory means a second storage means.
  • the moving picture decoding method of the present invention has a smaller unit of access than the first storage means and the first storage means!
  • the moving picture decoding apparatus is capable of accessing the second storage means.
  • a decoding step that sequentially decodes the encoded moving image data to generate decoded data, and the decoded data generated in the decoding step is stored in the second storage.
  • the decoded data generated in the No. step is stored in the first storage means for moving image display, and the decoded data is stored in the second storage means in the determination step if it is determined to be stored in the second storage means.
  • a storage step of storing also in the second storage means, and the decoding step uses the previously generated decoded data in the decoding process, and if the decoded data is stored in the second storage means, Read the decoded data from the second storage means
  • the memory access unit depends on the connection bit width of the data read port when burst transfer is not performed, and the connection bit width of the data read port and the number of cycles of burst transfer when burst transfer is performed. Depends on.
  • the decoded data is stored in the first storage means, and the decoding data that may be used in the subsequent decoding process is the first. 2 Also stored in storage means.
  • the decrypted data is read from the second storage means having a smaller access unit than the first storage means. For this reason, it is possible to suppress the amount of invalid decoded data to be read when reading decoded data for decoding processing.
  • the video decoding device only needs to operate at the same operating frequency as the configuration of the conventional example, except for the processing related to the storage and reading of the decoded data for decoding processing.
  • the calorific value does not increase. As a result, even if the access unit for storing and reading decoded data is reduced, an increase in power consumption and heat generation can be suppressed.
  • the first storage means is not stored in the second storage means if the decoded data is not stored in the second storage means.
  • the decoded data may be read out from.
  • the condition is stored in the second storage unit.
  • reading of the decoded data used in the decoding process is performed from the first storage means. For this reason, it is possible to execute the decoding process using the decoded data generated in the previous decoding process, while comparing all the decoded data that may be used in the subsequent decoding process in the second storage means.
  • the memory capacity of the second storage means can be reduced.
  • the moving image decoding apparatus further includes a display processing unit that performs a moving image display process on the display unit based on the decoded data, and the display processing unit performs the moving image display process on the display unit.
  • First storage means The decrypted data may be read out and used.
  • the decoding data for moving image display is read from the first storage means, it is possible to suppress an increase in the operating frequency for reading the decoded data for moving image display. be able to.
  • the storage means stores the decoded data when the decoded data stored in the second storage means is no longer used for a subsequent decoding process.
  • the memory area of the second storage means may be used for storing new decoded data.
  • the memory area of the second storage means storing the decoded data that is no longer used for the subsequent decoding process is used for storing new decoded data.
  • the memory capacity of the storage means can be suppressed.
  • the encoded moving image data is encoded according to the MPEG2 standard, and the predetermined condition is that the decoded data includes an I picture and a P picture.
  • the decoded data may be any one of them.
  • the encoded moving image data is encoded according to the MPEG2 standard, and the predetermined condition is that the decoded data is decoded according to an I picture or a P picture. It may be data.
  • the encoded moving image data is encoded according to the MPEG4AVC standard, and the predetermined condition includes a slice used in a later decoding process. It may be that.
  • FIG. 1 is a device configuration diagram of a video decoding device according to a first embodiment.
  • FIG. 2 is a diagram showing a relationship between a decoded image block and a reference block when the motion compensation processing unit in FIG. 1 performs motion compensation processing.
  • FIG. 3 is a flowchart showing a flow of image decoding processing performed by the image decoding unit in FIG.
  • FIG. 4 is a flowchart showing the flow of image decoding processing performed by the image decoding unit in FIG.
  • FIG. 5 is a flowchart showing the flow of a storage location control process performed by the image decoding unit in FIG.
  • FIG. 6A is a diagram showing an invalid transfer area related to reference image data in the first embodiment
  • FIG. 6B is a diagram showing an invalid transfer area related to reference image data in a conventional example.
  • FIG. 7 is a diagram showing the data transfer amount of the first embodiment and the data transfer amount of the conventional example.
  • FIG. 8 is a device configuration diagram of a video decoding device according to a second embodiment.
  • FIG. 9 is a diagram showing a relationship between a decoded image block and a reference block when the motion compensation processing unit in FIG. 8 performs motion compensation processing.
  • FIG. 10 is a flowchart showing the flow of image decoding processing performed by the image decoding unit in FIG.
  • FIG. 11 is a flowchart showing a flow of storage destination control processing (before decoding) performed by the image decoding unit in FIG. 8.
  • FIG. 12 is a flowchart showing the flow of storage destination control processing (after decoding) performed by the image decoding unit in FIG.
  • FIG. 13 is a diagram showing the data transfer amount of the second embodiment and the data transfer amount of the conventional example.
  • FIG. 14 is a device configuration diagram of a conventional video decoding device.
  • Variable length decoder 12
  • Variable length decoder 13 Inverse quantization inverse frequency converter
  • FIG. 1 is a device configuration diagram of a video decoding device according to the present embodiment.
  • the video decoding device 1 includes an image decoding unit 10, a shared memory 20, a reference image memory 30, a display processing unit 40, and a display device 45.
  • the image decoding unit 10 is a processing unit that performs a decoding process on the bit stream. Details of the image decoding unit 10 will be described later.
  • the shared memory 20 is a memory for storing the variable-length-decoded bitstream related to the compressed image data and the decoded image data obtained by the decoding process of the image decoding unit 10.
  • the reference image memory 30 is a memory for storing a part of the decoded image data obtained by the decoding process of the image decoding unit 10.
  • the decoded image data stored in the reference image memory 30 is the decoded image data that may be used in the decoding process of the image decoding unit 10, that is, the decoded image data related to the I picture and the P picture. Decoded image data It is.
  • the reference image memory 30 includes the first frame memory area 31 and And a second frame region 32. Each of the first frame memory area 31 and the second frame area 32 can store decoded picture data for one picture.
  • the access unit of the shared memory 20 is 16 bytes
  • the access unit of the reference image memory 30 is 4 bytes, which is smaller than the access unit of the shared memory 20.
  • the display processing unit 40 reads the decoded image data as display image data in the order required for the intermediate display of the decoded image data stored in the shared memory 20, and based on the read decoded image data, a monitor or the like. Display processing on the display device 45 is performed.
  • the image decoding unit 10 includes a DMA unit 11, a variable length decoding unit 12, an inverse quantization inverse frequency conversion unit 13, a DMA unit 14, a motion compensation processing unit 15, a storage destination control unit 16, and a flag storage. Part 17 and DMA part 18.
  • the DMA unit 11 reads the bit stream stored in the shared memory 20 and outputs it to the variable length decoding unit 12.
  • variable length decoding unit 12 performs variable length decoding on the bit stream input from the DMA unit 11, converts the quantized and frequency converted block data into motion vector data, etc., and performs quantization and frequency conversion.
  • the block data thus output is output to the inverse quantization inverse frequency converter 13, and the motion vector data is output to the DMA unit 14.
  • variable length decoding unit 12 outputs information indicating the picture type (hereinafter referred to as picture type information) included in the picture header of the picture layer in the bit stream to the storage destination control unit 16.
  • variable length decoding unit 12 includes picture type information, information indicating a macroblock type included in a macroblock header of a macroblock layer in the bitstream (hereinafter referred to as macroblock type information), and the like. Based on this, the control of the output destination of the inverse quantization inverse frequency converter 13 and the processing content of the motion compensation processor 15 are performed.
  • the inverse quantization inverse frequency transform unit 13 performs inverse quantization and inverse frequency transform processing on the quantized and frequency transformed block data input from the variable length decoding unit 12, and executes the processing.
  • the obtained data (converted block data) is output to the DMA unit 18 or the motion compensation processing unit 15 under the control of the variable length decoding unit 12.
  • the reason why the inverse quantization inverse frequency transform unit 13 outputs the transformed block data to the DMA unit 18 is that when the decoding target is an I picture, the decoding target is a P picture and the in-screen prediction is performed. This is the case where the decoding target is a B picture and the intra prediction is performed. In other cases, the converted block data is output to the motion compensation processing unit 15.
  • the DMA unit 14 refers to the decoded image data in the reference block from the reference image memory 30 based on the motion vector data related to the decoding target block input from the variable length decoding unit 12 under the control of the motion compensation processing unit 15. Read as image data and output to motion compensation processor 15.
  • the motion compensation processing unit 15 performs motion compensation processing on the converted data input from the inverse quantization inverse frequency conversion unit 13 using the reference image data input from the DMA unit 14, and Data (compensated block data) obtained by executing the process is output to the DMA unit 18.
  • FIG. 2 shows the relationship between the decoded image block and the reference block when the motion compensation processing unit 15 performs the motion compensation process.
  • the decoding target block is 16 pixels ⁇ 8 pixels
  • the reference block is 17 pixels ⁇ 9 pixels.
  • the motion vector data indicates the shift in the screen between the decoding target block and the reference block.
  • the storage destination control unit 16 controls the value of the memory designation flag stored in the flag storage unit 17 to store the decoded image data in the DMA unit 18 (shared memory 20, reference image memory 30). Control. In addition, the storage destination control unit 16 controls the value of the frame designation flag stored in the flag storage unit 17 to store the decoded image data storage destination (first frame memory area 31, second frame) by the DMA unit 18. Controls the frame memory area 32).
  • the storage destination control unit 16 may refer to the decoded image data in a motion compensation process in a picture following the decoding target picture. If there is, set the memory specification flag to 1. Storage location control unit 1 6.
  • the memory designation flag is set to 0 because there is no possibility that the decoded image data is referred to in the motion compensation process in the picture following the decoding target picture.
  • the decoded image data is stored only in the shared memory 20 when the memory designation flag is 0, and is stored in both the shared memory 20 and the reference image memory 30 when the memory designation flag is 1.
  • the storage destination control unit 16 sets the frame designation destination flag to 0 when the picture to be decoded is an I picture. Further, the storage destination control unit 16 sets the frame designation destination flag from 0 to 1 or from 1 to 0 when the decoding target picture is a P picture.
  • the decoded image data is stored in the first frame memory area 31 when the frame designation flag is 0, and is stored in the second frame memory area 32 when the frame designation flag is 1. .
  • the flag storage unit 17 is a memory for storing a memory designation flag and a frame designation flag.
  • the DMA unit 18 receives the converted block data or the motion compensation processing unit 15 input from the inverse quantization inverse frequency conversion unit 13.
  • the compensated block data that is input is stored in the shared memory 20 only as decoded image data.
  • the DMA unit 18 receives the converted block data input from the inverse quantization inverse frequency conversion unit 13 or the motion compensation processing unit 15 when the memory designation destination flag stored in the flag storage unit 17 is 1.
  • the compensated block data is stored in both the shared memory 20 and the reference image memory 30 as decoded image data.
  • the DMA unit 18 stores the decoded image data in the first frame memory area 31 in the case of the frame designation flag power ⁇ stored in the flag storage unit 17 and the frame designation flag is 1. In this case, it is stored in the second frame memory area 32.
  • the DMA unit 18 stores the decoded image data in the shared memory 20 and the reference image memory 30 in units of one picture.
  • FIGS. 3 and 4 are flowcharts showing the flow of the image decoding process performed by the image decoding unit 10 of FIG.
  • the bit stream stored in the shared memory 20 is read by the DMA unit 11, and the read bit stream is variable-length decoded by the variable-length decoding unit 12 (step Sl 1). It should be noted that the picture to be processed by the inverse quantization inverse frequency transform unit 13 and the motion compensation processing unit 15 before the processing by the inverse quantization inverse frequency transform unit 13 and the motion compensation processing unit 15 is performed.
  • the storage destination control unit 16 executes the storage destination control process whose processing procedure is shown in FIG. 5, and sets the values of the memory designation flag and the frame designation flag.
  • the variable length decoding unit 12 determines whether the picture type of the decoding target block is an I picture (step S12). In the case of an I picture (S12: YES), the inverse quantization inverse frequency transform unit 13 performs inverse quantization and inverse frequency transform on the quantized and frequency transformed block data input from the variable length decoding unit 12. The process is executed (step S13), and the converted block data is output to the DMA unit 18 (step S14).
  • step SI 2 determines whether the picture type of the decoding target block is a P picture (step S15). If it is a P picture (S15: YES), the variable length decoding unit 12 determines whether the content of the macroblock type is intra prediction (step S16). In the case of intra prediction (S16: YES), the inverse quantization inverse frequency transform unit 13 performs inverse quantization and inverse frequency on the quantized and frequency transformed block data input from the variable length decoding unit 12. Conversion processing is executed (step S13), and converted block data is output to the DMA unit 18 (step S14).
  • step S16 If the result of determination in step S16 is not intra-screen prediction, that is, inter-screen prediction (S16: NO), the inverse quantization inverse frequency transform unit 13 receives the quantization and input from the variable length decoding unit 12. Inverse quantization and inverse frequency conversion are performed on the frequency-converted block data, and the converted block data are output to the motion compensation processing unit 15 (step S17).
  • the DMA unit 14 reads the reference image data from the reference image memory 30 based on one motion vector data input from the variable length decoding unit 12, and reads the read reference image data. Is output to the motion compensation processing unit 15 (step S18).
  • the motion compensation processing unit 15 performs motion compensation processing in unidirectional prediction using the reference image data on the converted block data (step S19), and outputs the compensated block data to the DMA unit 18 (step S19). S20).
  • the reference image data is read by the DMA unit 14 so that the decoded image data stored in each of the first frame memory area 31 and the second frame memory 32 is one frame before based on the frame designation flag. This is done by determining whether it is the decoded image data of the current picture (I picture, P picture) or the decoded picture data of the previous picture (I picture, P picture).
  • step S 15 determines whether the content of the macroblock type is intra prediction (Ste S21).
  • the inverse quantization inverse frequency transform unit 13 performs inverse quantization and inverse frequency transform on the quantized and frequency transformed block data input from the variable length decoding unit 12. The process is executed (step S13), and the converted block data is output to the DMA unit 18 (step S14).
  • step S21 determines whether the content of the macroblock type is a one-way reference. (Step S22). If it is a one-way reference (S22: YES), the inverse quantization inverse frequency transform unit 13 performs inverse quantization and inverse frequency transform on the quantized and frequency transformed block data input from the variable length decoding unit 12. The converted block data is output to the motion compensation processing unit 15 (step S17).
  • the DMA unit 14 reads reference image data from the reference image memory 30 based on one motion vector data input from the variable length decoding unit 12, and sends the read reference image data to the motion compensation processing unit 15. Output (step S18).
  • the motion compensation processing unit 15 performs motion compensation processing in unidirectional prediction using the reference image data on the converted block data (step S19), and outputs the compensated block data to the DMA unit 18 (step S19). S20).
  • step S22 If the result of determination in step S22 is not a one-way reference, that is, if it is a two-way reference (S22: NO), the inverse quantization inverse frequency transform unit 13 receives the quantization and Inverse quantization and inverse frequency conversion processing for frequency converted block data The converted block data is output to the motion compensation processing unit 15 (step S23).
  • the DMA unit 14 reads reference image data from the reference image memory 30 based on each of the two motion vector data input from the variable length decoding unit 12, and outputs the read reference image data to the motion compensation processing unit 15. (Step S24).
  • the motion compensation processing unit 15 uses the reference image data for the converted block data to perform motion compensation processing in bidirectional prediction (step S25), and outputs the compensated block data to the DMA unit 18 ( Step S 26).
  • step S27 the DMA unit 18 determines whether or not the memory designation flag power ⁇ stored in the flag storage unit 17 (Ste S27). If the memory designation flag is 0 (S27: YES), the DMA unit 18 receives the converted block data input from the inverse quantization inverse frequency conversion unit 13 or the compensated block data input from the motion compensation processing unit 15. The decoded image data is stored in the shared memory 20 (step S28).
  • step S27 if the memory designation flag is not 0, that is, 1 (S27: NO), the DMA unit 18 determines whether or not the frame designation flag power ⁇ stored in the flag storage unit 17 Judgment is made (step S29). If the frame designation flag is 0 (S29: YES), the DMA unit 18 converts the converted block data input from the inverse quantization inverse frequency conversion unit 13 or the compensated block input from the motion compensation processing unit 15. The data is stored as decoded image data in the first frame memory area 31 of the reference image memory 30 (step S30) and also stored in the shared memory 20 (step S28).
  • step S29 if the frame designation flag is not 0, that is, 1 (S29: NO), the DMA unit 18 converts the converted block data input from the inverse quantization inverse frequency conversion unit 13 or The compensated block data input from the motion compensation processing unit 15 is stored as decoded image data in the second frame memory area 32 of the reference image memory 30 (step S31) and stored in the shared memory 20 (step S28). .
  • FIG. Fig. 5 shows the flow of the storage location control process performed by the image decoding unit 10 in Fig. 1. It is a flowchart.
  • the storage destination control unit 16 determines whether the decoding target picture is an I picture (step S36). If it is an I picture (S36: YES), the storage destination control unit 16 sets the memory designation flag stored in the flag storage unit 17 to 1 (step S37). Then, the storage destination control unit 16 discards the decoded image data in the first and second frame memory areas 31 and 32 of the reference image memory 30 (step S38). Further, the storage destination control unit 16 sets the frame designation flag stored in the flag storage unit 17 to 0 (step S43). Note that discarding the decoded image data means, for example, permitting overwriting of the data.
  • step S36 determines whether the picture to be decoded is a P picture (step S39). If it is a P picture (S39: YES), the storage destination control unit 16 sets the memory designation flag to 1 (step S40). The storage destination control unit 16 determines whether the frame designation flag is 1 (step S41). If the frame designation flag is 1 (S41: NO), the storage destination control unit 16 discards the decoded image data in the first frame memory area 31 of the reference image memory 30 (step S42), and sets the frame designation flag to 0. (Step S43).
  • step S41 As a result of the determination in step S41, if the frame designation flag is not 1, that is, 0 (S41: NO), the storage destination control unit 16 decodes the decoded image data in the second frame memory area 32 of the reference image memory 30. Is discarded (step S44), and the frame designation flag is set to 1 (step S45). If the result of determination in step S39 is that the picture is not a P picture, that is, a B picture (S39: NO), the storage destination control unit 16 sets the memory designation flag to 0 (step S46).
  • FIG. 6A is a diagram showing an invalid transfer area related to reference image data according to the present embodiment
  • FIG. 6B is a diagram showing an invalid transfer area related to reference image data in a conventional example.
  • FIG. 7 is a diagram showing the data transfer amount of the present embodiment and the data transfer amount of the conventional example.
  • FIG. 7 shows the data transfer amount per 2 GOP (Group of Pictures), and the GOP structure is “I, B, B, P, B, B, P, B, B, P, B, B, P, B, B, P, B, B, B, B ”.
  • One screen is 720 pixels x 480 pixels.
  • Read out the bit stream of the shared memory 20 and 120 store the decoded image data into the shared memory 20 and 120, and read out the display image data from the shared memories 20 and 120.
  • the transfer amount and the data transfer amount of the conventional example are the same.
  • Stored decoded image data in the reference image memory in this embodiment is 2.5 MByte per 1 GPO as shown below.
  • the reference image data is read from the reference image memory 30 at 18.5 MByte per 1 GPO as shown below.
  • the reference image data read from the shared memory 120 in the conventional example is 27.5 MByte per 1 GPO as shown below.
  • the total data transfer volume can be reduced compared to the conventional example.
  • this embodiment targets the MPEG4AVC standard.
  • the target bit stream is processed only in the sliding window, and no long-term picture is used.
  • FIG. 8 is an apparatus configuration diagram of the moving picture decoding apparatus according to the present embodiment.
  • components having substantially the same functional configuration as those in the first embodiment are denoted by the same reference numerals as those in the first embodiment, and the description thereof can be applied. The description is omitted in the form.
  • the moving picture decoding apparatus la includes an image decoding unit 50, a shared memory 20, a reference image memory 70, a display processing unit 40, and a display device 45.
  • the image decoding unit 50 is a processing unit that performs a decoding process on the bit stream. Details of the image decoding unit 50 will be described later.
  • the reference image memory 70 is a memory for storing a part of the decoded image data obtained by the decoding process of the image decoding unit 50.
  • the decoded image data stored in the reference image memory 70 is decoded image data that may be used in the decoding process of the image decoding unit 50, that is, naLrefjdc is 0! / Image data.
  • naLrefjdc is information indicating whether or not a slice that can be referred to by a NAL (Network Abstraction Layer) unit is included, and if naLrefjdc is not 0, a slice that can be a reference picture is included. Show that.
  • NAL Network Abstraction Layer
  • the reference image memory 70 has a first frame memory area 71, a second frame memory area 72, a third frame memory area 73, and a fourth frame memory area 74.
  • Each of the first to fourth frame memory areas 71 to 74 can store decoded picture data for one picture. It is like that.
  • the access unit of the shared memory 20 is 16 bytes
  • the access unit of the reference image memory 70 is 4 bytes, which is smaller than the access unit of the shared memory 20.
  • the image decoding unit 50 includes a DMA unit 51, a variable length decoding unit 52, an inverse quantization inverse frequency conversion unit 53, a DMA unit 54, a motion compensation processing unit 55, an intra-screen prediction processing unit 56, It has a fat packing filter 57, a storage destination control unit 58, a flag storage unit 59, and a DMA unit 60.
  • the DMA unit 51 reads the bit stream stored in the shared memory 20 and outputs it to the variable length decoding unit 52.
  • variable length decoding unit 52 performs variable length decoding and arithmetic decoding on the bit stream input from the DMA unit 51, and converts the bit stream into quantized and frequency converted block data, motion vectors, and the like. Then, the variable length decoding unit 52 outputs the quantized and frequency converted block data to the inverse quantization inverse frequency converting unit 53, and outputs the motion vector data and the reference picture number to the DMA unit 54.
  • variable length decoding unit 52 outputs the picture type information, naLrefjdc, and the like to the storage destination control unit 58.
  • variable length decoding unit 52 controls the output destination of the inverse quantization inverse frequency transform unit 53 and the processing content of the motion compensation processing unit 55 based on slice type information indicating the slice type and macro block type information. Control.
  • the inverse quantization inverse frequency transform unit 53 performs inverse quantization and inverse frequency transform on the quantized and frequency transformed block data input from the variable length decoding unit 52, and executes the processing
  • the data (converted block data) obtained by the above is output to the intra-screen prediction processing unit 56 or the motion compensation processing unit 55 under the control of the variable length decoding unit 52.
  • the inverse quantization inverse frequency transform unit 53 outputs the transformed block data to the intra prediction processing unit 56 when the decoding target is an I slice and the decoding target is a P slice and performs intra prediction. This is the case when the decoding target is a B slice and intra prediction is performed. In other cases, the converted block data is output to the motion compensation processing unit 55.
  • the DMA unit 54 is input from the variable length decoding unit 52 under the control of the motion compensation processing unit 55. Based on the motion vector data and the reference picture number related to the decoding target block, the decoded image data in the reference block is read as reference image data from the reference image memory 70 and output to the motion compensation processing unit 55.
  • the motion compensation processing unit 55 performs motion compensation processing on the converted block data input from the inverse quantization inverse frequency conversion unit 53 using the reference image data input from the DMA unit 54, and executes the processing.
  • the data (compensated block data) obtained by the above is output to the deblocking filter 57.
  • FIG. 9 shows the relationship between the decoded image block and the reference block when the motion compensation processing unit 55 performs the motion compensation process.
  • the decoding target block is 4 pixels ⁇ 4 pixels
  • the reference block is 9 pixels ⁇ 9 pixels.
  • the motion vector data indicates the shift in the screen between the decoding target block and the reference block.
  • the intra-screen prediction processing unit 56 performs intra-screen prediction processing on the transformed block data input from the inverse quantization inverse frequency transform unit 53, and obtains data (hereinafter, (Referred to as intra-block data) is output to the deblocking filter 57.
  • the deblocking filter 57 performs deblocking filter processing on the intra-block data input from the intra-frame prediction processing unit 56 or the compensated block data input from the motion compensation processing unit 55.
  • the obtained data (hereinafter referred to as filtered block data) is output to the DMA unit 60.
  • the storage destination control unit 58 stores the decoded image data storage destination (shared memory 20, reference image memory 70) by the DMA unit 60 by controlling the value of the memory designation flag stored in the flag storage unit 59. ) Is controlled. In addition, the storage destination control unit 58 controls the value of the frame designation flag stored in the flag storage unit 59 to thereby store the decoded image data storage destination (first to fourth frame memory areas 71 in the DMA unit 60). ⁇ 74) is controlled. Details of the processing of the storage location control unit 58 will be described later with reference to FIGS.
  • the flag storage unit 59 is a memory for storing a frame designation flag and a frame designation flag.
  • the DMA unit 60 stores the filtered block data input from the deblocking filter 57 only in the shared memory 20 as decoded image data when the memory designation destination flag power stored in the flag storage unit 59 is used.
  • the DMA unit 60 uses the filtered block data input from the deblocking filter 57 as decoded image data as a shared memory. 20 and the reference image memory 70.
  • the DMA unit 60 stores the decoded image data in the first frame memory area 71 in the case of the frame designation flag power SO stored in the flag storage unit 59, and in the case where the frame designation flag is 1,
  • the frame is stored in the second frame memory area 72.
  • the frame designation flag is 2
  • the frame is stored in the third frame memory area 73.
  • the frame designation flag is 3, the frame is stored in the fourth frame memory area 74.
  • the DMA unit 60 stores the decoded image data in the shared memory 20 and the reference image memory 70 in units of one picture.
  • FIG. 10 is a flowchart showing the flow of the image decoding process performed by the image decoding unit 50 of FIG.
  • the bit stream stored in shared memory 20 is read by DMA unit 51, and the read bit stream is variable-length decoded by variable-length decoding unit 52 (step S51). Note that the picture to be processed by the inverse quantization inverse frequency transform unit 53, the motion compensation processing unit 55, etc. before the processing by the inverse quantization inverse frequency transform unit 53 and the motion compensation processing unit 55 is performed.
  • the storage destination control unit 58 executes a storage destination control process whose processing procedure is shown in FIG.
  • the variable length decoding unit 52 determines whether the slice type of the decoding target block is an I slice (step S52). If it is an I slice (S52: YES), the inverse quantization inverse frequency transform unit 53 performs inverse quantization and frequency transform processing on the quantized and frequency transformed block data input from the variable length decoding unit 52.
  • the converted block data is output to the in-screen prediction processing unit 56 (step S53).
  • the intra-screen prediction processing unit 56 performs intra-screen prediction processing on the converted block data, and outputs the intra-block data to the deblocking filter 57 (step S54).
  • the deblocking filter 57 performs deblocking processing on the intra-block data, and the filtered block data is transferred to the DMA unit 60. (Step S55).
  • step S52 determines whether the slice type of the decoding target block is a P slice (step S56). If it is a P slice (S56: YES), the variable length decoding unit 52 determines whether or not the content of the macroblock type is intra prediction (step S57). If it is intra prediction (S57: YES), the inverse quantization inverse frequency transform unit 53 performs inverse quantization and frequency transform processing on the quantized and frequency transformed block data input from the variable length decoding unit 52. Is executed and the converted block data is output to the in-screen prediction processing unit 56 (step S53).
  • the intra-screen prediction processing unit 56 performs intra-screen prediction processing on the converted block data, and outputs the intra-block data to the deblocking filter 57 (step S54).
  • the deblocking filter 57 performs deblocking processing on the intra-block data, and outputs the filtered block data to the DMA unit 60 (step S55).
  • step S57 if the prediction is not intra-screen prediction, that is, inter-screen prediction (S57: NO), the inverse quantization inverse frequency transform unit 53 receives the quantization and input from the variable length decoding unit 52. Inverse quantization and frequency conversion are performed on the frequency-converted block data, and the converted block data are output to the motion compensation processing unit 55 (step S58).
  • the DMA unit 54 reads the reference image data from the reference image memory 70 based on one motion vector data and the reference picture number, and outputs the read reference image data to the motion compensation processing unit 55 (step S59).
  • the motion compensation processing unit 55 performs motion compensation processing in unidirectional prediction on the converted block data using the reference image data, and outputs the compensated block data to the deblocking filter 57 (step S60).
  • the deblocking filter 57 performs deblocking processing on the compensated block data, and outputs the filtered block data to the DMA unit 60 (step S61).
  • reading of reference image data by the DMA unit 54 is related to the previous picture in which the decoded image data stored in each of the first to fourth frame memories 71 to 74 is based on the frame designation flag. This is performed by determining whether the image data is decoded image data.
  • step S56 determines whether the content of the macroblock type is intra prediction.
  • the inverse quantization inverse frequency transform unit 53 performs inverse quantization and frequency transform processing on the quantized and frequency transformed block data input from the variable length decoding unit 52.
  • the converted block data is output to the in-screen prediction processing unit 56 (step S53).
  • the intra-screen prediction processing unit 56 performs intra-screen prediction processing on the converted block data, and outputs the intra-block data to the deblocking filter 57 (step S54).
  • the deblocking filter 57 performs a deblocking process on the intra-block data and outputs the filtered block data to the DMA unit 60 (step S55).
  • step S62 if the prediction is not intra-screen prediction, that is, inter-screen prediction (step S62: NO), the variable length decoding unit 12 refers to the content of the macroblock type in one direction. (Step S63). If it is a one-way reference (S63: YES), the inverse quantization inverse frequency converter 53 performs inverse quantization and frequency conversion on the quantized and frequency converted block data input from the variable length decoder 52. The converted block data is output to the motion compensation processing unit 55 (step S58). The DMA unit 54 reads the reference image data from the reference image memory 70 based on one motion vector data and the reference picture number, and outputs the read reference image data to the motion compensation processing unit 55 (step S 59).
  • the motion compensation processing unit 55 performs motion compensation processing in unidirectional prediction on the converted block data using the reference image data, and outputs the compensated block data to the deblocking filter 57 (step S60).
  • the deblocking filter 57 performs deblocking processing on the compensated block data, and outputs the filtered block data to the DMA unit 60 (step S61).
  • step S63 If the result of determination in step S63 is not a one-way reference, that is, if it is a two-way reference (S63: NO), the inverse quantization inverse frequency transform unit 53 receives the quantization and input from the variable length decoding unit 52. Inverse quantization and frequency conversion are performed on the frequency-converted block data, and the converted block data are output to the motion compensation processing unit 55 (step S64).
  • the DMA unit 54 reads the reference image data from the reference image memory 70 based on each of the two motion vector data and the corresponding reference picture number, and outputs the read reference image data to the motion compensation processing unit 55. (Step S65).
  • the motion compensation processing unit 55 A motion compensation process in bidirectional prediction is performed on the lock data using the reference image data, and the compensated block data is output to the deblocking filter 57 (step S66).
  • the deblocking filter 57 performs deblocking processing on the compensated block data, and outputs the filtered block data to the DMA unit 60 (step S67).
  • step S68 the DMA unit 18 determines whether or not the memory designation flag stored in the flag storage unit 59 is 1 ( Step S68).
  • the DMA unit 60 inputs from the deblocking filter 57 to the frame memory area of the reference image memory 70 pointed to by the frame designation flag stored in the flag storage unit 59.
  • the filtered block data to be processed is stored (step S69) and stored in the shared memory 20 (step S70). Note that after the storage of the decoded image data for one picture in the shared memory 20 or the like is completed, the storage destination control processing shown in FIG.
  • step S68 if the memory designation flag is not 1, that is, 0 (S68: NO), the DMA unit 60 shares the filtered block data input from the deblocking filter 57 as decoded image data. Store in memory 20 (step S70).
  • FIG. 11 is a flowchart showing the flow of the storage destination control process before the decoding process performed by the image decoding unit 50 of FIG.
  • the storage destination control unit 58 determines whether it is a decoding target picture power DR (Instantaneous Decoding Refresh) picture (step S71). If it is an IDR picture (S71: YES), the storage destination control unit 58 discards the decoded image data in the first to fourth frame memory areas 71 to 74 (step S72) and is stored in the flag storage unit 59. Set the frame designation flag to 0 (step S73).
  • DR Intelligent Decoding Refresh
  • step S73 After the processing of step S73 is performed, or when the result of the determination in step S71 is that there is no power in the IDR picture (S71: NO), the storage destination control unit 58 is input from the variable length decoding unit 52. It is determined whether naLrefjdc is 0 (step S74). If naLrefjdc is 0 (S74: Y ES), the storage destination control unit 58 sets the memory designation flag stored in the flag storage unit 59 to 0 (step S75).
  • step S74 if naLrefjdc is not 0 (S74: NO), the storage destination control unit 58 sets the memory designation flag stored in the flag storage unit 59 to 1 (step S76).
  • FIG. 12 is a flowchart showing the flow of the storage destination control process before the decoding process performed by the image decoding unit 50 of FIG.
  • the storage destination control unit 58 determines whether the naLrefjdc force ⁇ input from the variable length decoding unit 52 is reached (step S91). If naLrefjdc is 0 (S91: YES), the processing in FIG. 12 is terminated. If naLrefjdc is not 0 (S91: NO), the storage destination control unit 58 increments the value of the frame designation flag by 1 (step S92).
  • the storage destination control unit 58 determines whether or not it is the value of the frame designation flag (step S93). If it is the value of the frame designation flag (S93: YES), the storage destination control unit 58 sets the value of the frame designation flag to 0 (step S94).
  • step S94 After the processing of step S94 is performed, or when the frame designation flag is not 4 (S94: NO), the storage destination control unit 58 stores the frame designation area in the frame memory area designated by the frame designation flag. Thus, the decoded image data is discarded (step S95).
  • the access unit is 16 bytes, so it is necessary to access once, and a total of 16 bytes of data are read. In other words, 7 bytes of extra data are read per line.
  • the access unit is 4 bytes, so it is necessary to access 3 times, and a total of 12 bytes of data are read. Is called. In other words, reading 3 bytes of extra data per line It has been done.
  • the total data transfer amount can be suppressed as shown in FIG. 13, compared to the conventional example.
  • the present invention is not limited to the above-described embodiment.
  • the present invention may be as follows.
  • the force that the access unit to the shared memory 20 is 16 bytes, and the access unit to the reference image memories 30 and 70 is 4 bytes.
  • the access unit of the shared memory 20 and the reference image memories 30 and 70 should be determined in consideration of the size of the reference block.
  • the power to store all the decoded image data that can be referred to in the reference image memories 30 and 70 may be stored in the reference image memories 30 and 70.
  • the memory capacity of the reference image memory 30 can be made smaller than when all the decoded image data that can be referred to is stored in the reference image memory 30.
  • the DMA unit 14 may also be connected to the shared memory 20 and read out from the shared memory 20 if the referenced decoded image data relates to a P picture.
  • only the decoded image data related to the IDR picture may be stored in the reference image memory 70.
  • the DMA unit 54 may be connected to the shared memory 20 and read out from the shared memory 20 if the referenced decoded image data relates to a picture other than the IDR picture.
  • bit stream is managed only by the Sliding Window.
  • the power is managed by MMCO (Memory Management Control Operations). May be targeted.
  • the reference image memory 70 may be provided with four or more frame memory areas provided with four frame memory areas.
  • an external memory may be used as the shared memory 20, or an internal memory may be used.
  • an external memory may be used as the reference image memory 30, 70, or an internal memory may be used!
  • the image decoding units 10 and 50 of the first and second embodiments may be realized as an LSI (Large Scale Integration) that is typically an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include all or part of the configurations of the respective embodiments.
  • LSI Large Scale Integration
  • LSI is used here, but depending on the degree of integration, IC (Integrated Circuit), system LSI
  • the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible. You can use an FPGA (Field Programmable Gate Array) that can be programmed after manufacturing the LSI, or a reconfigurable processor that can reconfigure the connection and settings of the circuit cells inside the LSI.
  • FPGA Field Programmable Gate Array
  • the image decoding units 10 and 50 are realized by LSI, at least one of the shared memory 20, the reference image memories 30 and 70, and the display processing unit 40.
  • One can be incorporated into an LSI that implements the image decoding units 10 and 50.
  • the present invention is a DVD (Digital Versatile Disc) Video decoding devices such as players, digital televisions, and mobile phones can be used for IJ.
  • DVD Digital Versatile Disc
  • Video decoding devices such as players, digital televisions, and mobile phones can be used for IJ.

Abstract

 画像復号部10は、共有メモリ20に記憶されているビットストリームの復号を行うことにより得られる復号画像データを共有メモリ20に格納するとともに、復号画像データがIピクチャ及びPピクチャの何れかに関するものであれば共有メモリ20よりアクセス単位が小さい参照画像メモリ30にも格納する。画像復号部10は、復号の際に行う動き補償処理において、参照画像データとしての復号画像データの読み出しを参照画像メモリ30から行う。

Description

明 細 書
動画像復号装置及び動画像復号方法
技術分野
[0001] 本発明は、圧縮画像データを復号つまり伸長する画像復号技術に関し、特に、 MP EG (Moving Picture Experts Group)規格に準拠した圧縮画像データの復号に適し た画像復号技術に関する。
背景技術
[0002] 従来から、動画像データを伝送する際又は記録媒体に記録する際には、 MPEG規 格、例えば、 MPEG2ビデオ規格(非特許文献 1参照。)或いは MPEG4AVC (Adva need Video Coding)規格 (非特許文献 2参照。 )に従った圧縮処理を施す技術が知ら れている。
また、これらの規格に従って圧縮された動画像データ (以下、圧縮画像データと言う 。)を復号する動画像復号装置も知られており、 MPEG2ビデオ規格の動画像復号 装置の一構成例を図 14に示す。なお、図 14に一構成例を示す画像復号装置は、例 えば MPEG2MP@HLの動画像復号器である。
[0003] 動画像復号装置 100は、画像復号部 110と共有メモリ 120と表示処理部 130と表 示デバイス 135とを備える。
共有メモリ 120は、大容量の DRAM (Dynamic Random Access Memory)等のメモリ であって、ビットストリームを記憶すると共に、画像復号部 110により復号された復号 画像データを記憶する。
[0004] 画像復号部 110では、可変長復号部 112は DMA (Direct Memory Access)部 111 によって共有メモリ 120から読み出されたビットストリームを可変長復号し、量子化及 び周波数変換されたブロックデータを逆量子化逆周波数変換部 113へ出力し、動き ベクトルデータを DMA部 114へ出力する。
逆量子化逆周波数変換部 113は、量子化及び周波数変換されたブロックデータに 対して逆量子化及び逆周波数変換の処理を実行し、当該処理の実行により得られた データ(以下、変換済ブロックデータと言う。)を DMA部 116或いは動き補償処理部 115へ出力する。
[0005] DMA部 114は動きベクトルデータに基づいて参照画像データを共有メモリ 120か ら読み出し、参照画像データを動き補償処理部 115へ出力する。動き補償処理部 1 15は変換済ブロックデータに対して参照画像データを用 、て動き補償処理 (いわゆ る動き補償の逆処理に相当する補償処理)を実行し、当該処理の実行により得られ たデータ(以下、補償済ブロックデータと言う。)を DMA部 116へ出力する。
[0006] DMA部 116は、変換済ブロックデータ或いは補償済ブロックデータを復号画像デ ータとして共有メモリ 120へ格納する。
表示処理部 130は、共有メモリ 120から表示に必要な順番に復号画像データを表 示画像データとして読み出し、読み出した復号画像データに基づ!/ヽて表示デバイス 135への表示処理を行う。
非特許文献 l : ISO/IEC 13818-2 International Standard MPEG- 2 Video
非特許文献 2 : ISO/IEC 14496-10 International Standard Information Technology- C oding of Audio-Visual object-Part 10: Advanced Video Coding
発明の開示
発明が解決しょうとする課題
[0007] 上述した動画像復号装置 100では、共有メモリ 120に対してメモリアクセスを実行 する処理として、(1)ビットストリームの読み出し、(2)動き補償処理のための参照画 像データの読み出し、(3)復号画像データの格納、(4)画像表示のための復号画像 データの読み出し、がある。
例えば、共有メモリ 120へのアクセス単位を 16Byteとする。この場合、動き補償処 理のための参照画像データの読み出しに関して、参照ブロックのサイズが 17画素 X 9画素( 1画素当たりのデータ量は lByteに相当)となる場合、 1ライン当たり 2回ァク セスする必要がある。このため、 1ライン当たり 15 ( = 16 X 2— 17) Byte分の無効な データの読み出しが行われる。無効なデータの読み出しは、無駄に消費電力や発熱 量の上昇を招くという問題がある。
[0008] ここで、共有メモリ 120へのアクセス単位を 4Byteにすれば、 1ライン当たり 5回ァク セスする必要がある力 読み出される無効なデータは 1ライン当たり 3 (4 X 5— 17) By te分に減少する。
しかしながら、アクセス単位が 1/4になれば、上記の 4つのメモリアクセスにおいて 有効なデータを同じ時間で読み出すには動画像復号装置 100の動作周波数を高く しなければならない。動作周波数を高くすることは、消費電力や発熱量の上昇につな がる。
[0009] なお、一般に、復号する画像サイズに応じてデータ転送量が増加するため、復号対 象の画像サイズを HD (High Density)まで対象とするにはより高 ヽデータ転送能力が 必要となり、上記の問題はより顕在化するものと考えられる。
そこで、本発明は、動画像復号装置におけるデータ転送を効率的に行うことが可能 な動画像復号装置及び動画像復号方法を提供することを目的とする。
課題を解決するための手段
[0010] 上記目的を達成するために本発明の動画像復号装置は、第 1記憶手段と当該第 1 記憶手段よりアクセス単位が小さい第 2記憶手段にアクセス可能な動画像復号装置 であって、符号化された動画像データに対して順次復号処理を施して復号データを 生成する復号手段と、前記復号手段により生成される復号データを前記第 2記憶手 段に格納する力否かを、当該復号データが後の復号処理で用いられる可能性の有 無に関する所定の条件に基づいて決定する決定手段と、前記復号手段により生成さ れる復号データを動画像表示のために前記第 1記憶手段に記憶するとともに、前記 決定手段により前記第 2記憶手段に格納すると決定された場合には復号データを前 記第 2記憶手段にも格納する格納手段と、を備え、前記復号手段は、復号処理に際 して以前に生成した復号データを用いる場合、当該復号データが前記第 2記憶手段 に記憶されていれば前記第 2記憶手段から当該復号データを読み出す。
[0011] 本発明の動画像復号方法は、第 1記憶手段と当該第 1記憶手段よりアクセス単位が 小さ!、第 2記憶手段にアクセス可能な動画像復号装置にお 、て行われる動画像復 号方法であって、符号化された動画像データに対して順次復号処理を施して復号デ ータを生成する復号ステップと、前記復号ステップにお 、て生成された復号データを 前記第 2記憶手段に格納するか否かを、当該復号データが後の復号処理で用いら れる可能性の有無に関する所定の条件に基づいて決定する決定ステップと、前記復 号ステップにおいて生成された復号データを動画像表示のために前記第 1記憶手段 に記憶するとともに、前記決定ステップにお 、て前記第 2記憶手段に格納すると決定 された場合には復号データを前記第 2記憶手段にも格納する格納ステップと、を有し 、前記復号ステップは、復号処理に際して以前に生成した復号データを用いる場合 、当該復号データが前記第 2記憶手段に記憶されていれば前記第 2記憶手段から当 該復号データを読み出す。
[0012] なお、メモリアクセス単位は、バースト転送を行わない場合はデータの読み出し口の 接続ビット幅に依存し、バースト転送を行う場合はデータの読み出し口の接続ビット 幅とバースト転送のサイクル数とに依存する。
発明の効果
[0013] 上記の動画像復号装置及び動画像復号方法の夫々によれば、復号データは第 1 記憶手段に記憶されるとともに、後の復号処理で用いられる可能性がある復号デ一 タは第 2記憶手段にも記憶される。そして、復号処理に際して以前に生成した復号デ ータを用いる場合には、復号データの読み出しは第 1記憶手段よりアクセス単位が小 さい第 2記憶手段から行われる。このため、復号処理のための復号データの読み出し に関して、読み出される無効な復号データのデータ量を抑えることが可能になる。
[0014] また、例えば復号処理以外の処理のための復号データの読み出しを第 1記憶手段 力 行うようにすれば、復号処理のための復号データの格納及び読み出しに関する 処理のみ高い動作周波数で動作すればよい。このため、動画像復号装置は復号処 理のための復号データの格納及び読み出しに関する処理以外の処理は従来例の構 成と同じ動作周波数で動作すればよくなり、当該処理のために消費電力や発熱量が 上昇することはない。この結果、復号データの格納及び読み出しに関するアクセス単 位を小さくしても消費電力や発熱量の上昇を小さく抑えることができる。
[0015] 上記の動画像復号装置は、前記復号手段は、復号処理に際して以前に生成した 復号データを用いる場合、当該復号データが前記第 2記憶手段に記憶されていなけ れば前記第 1記憶手段から当該復号データを読み出すようにしてもよい。
上記の動画像復号装置によれば、例えば、所定の条件が後の復号処理で用いら れる可能性のある復号データの一部となるような条件の場合、第 2記憶手段に記憶さ れて 、な 、復号処理の際に用いる復号データの読み出しは第 1記憶手段から行わ れる。このため、以前の復号処理で生成された復号データを用いる復号処理の実行 を可能としつつ、後の復号処理で用いられる可能性のある復号データの全てを第 2 記憶手段に記憶する場合に比べて第 2記憶手段のメモリ容量が小さくてよくなる。
[0016] 上記の動画像復号装置は、復号データに基づいて表示手段への動画像表示処理 を行う表示処理手段を更に備え、前記表示処理手段は前記表示手段への動画像表 示処理に際して前記第 1記憶手段力 復号データを読み出して用いるようにしてもよ い。
上記の動画像復号装置によれば、動画像表示のための復号データの読み出しは 第 1記憶手段から行われるので、動画像表示のための復号データの読み出しに関し て動作周波数が高くなることを抑えることができる。
[0017] 上記の動画像復号装置は、前記格納手段は、前記第 2記憶手段に記憶されている 復号データが後の復号処理に用いられることがなくなると、当該復号データが記憶さ れて 、る前記第 2記憶手段のメモリ領域を新たな復号データの格納に用いるようにし てもよい。
上記の動画像復号装置によれば、後の復号処理に用いられる可能性がなくなった 復号データが記憶されていた第 2記憶手段のメモリ領域は新たな復号データの格納 に用いられるため、第 2記憶手段のメモリ容量を抑えることができる。
[0018] 上記の動画像復号装置は、前記符号化された動画像データは MPEG2規格に従 つて符号化されたものであって、前記所定の条件は、復号データが Iピクチャ及び Pピ クチャの何れかに係る復号データであることであってもよい。
上記の動画像復号装置は、前記符号ィ匕された動画像データは MPEG2規格に従 つて符号化されたものであって、前記所定の条件は、復号データが Iピクチャ又は Pピ クチャに係る復号データであることであってもよい。
[0019] 上記の動画像復号装置は、前記符号化された動画像データが MPEG4AVC規格 に従って符号ィ匕されたものであって、前記所定の条件は、後の復号処理で用いられ るスライスが含まれて 、ることであってもよ 、。
図面の簡単な説明 [0020] [図 1]第 1の実施の形態の動画像復号装置の装置構成図。
[図 2]図 1の動き補償処理部が動き補償処理を行う際の復号画像ブロックと参照プロ ックとの関係を示す図。
[図 3]図 1の画像復号部によって行われる画像復号処理の流れを示すフローチャート
[図 4]図 1の画像復号部によって行われる画像復号処理の流れを示すフローチャート
[図 5]図 1の画像復号部によって行われる格納先制御処理の流れを示すフローチヤ ート。
[図 6] (a)は第 1の実施の形態の参照画像データに関する無効な転送領域を示す図 であり、 (b)は従来例の参照画像データに関する無効な転送領域を示す図。
[図 7]第 1の実施の形態のデータ転送量及び従来例のデータ転送量を示す図。
[図 8]第 2の実施の形態の動画像復号装置の装置構成図。
[図 9]図 8の動き補償処理部が動き補償処理を行う際の復号画像ブロックと参照プロ ックとの関係を示す図。
[図 10]図 8の画像復号部によって行われる画像復号処理の流れを示すフローチヤ一
[図 11]図 8の画像復号部によって行われる格納先制御処理 (復号前)の流れを示す フローチャート。
[図 12]図 8の画像復号部によって行われる格納先制御処理 (復号後)の流れを示す フローチャート。
[図 13]第 2の実施の形態のデータ転送量及び従来例のデータ転送量を示す図。
[図 14]従来の動画像復号装置の装置構成図。
符号の説明
[0021] 1 動画像復号装置
10 画像復号部
11、 14、 18 DMA部
12 可変長復号部 13 逆量子化逆周波数変換部
15 動き補償処理部
16 格納先制御部
17 フラグ記憶部
20 共有メモリ
30 参照画像メモリ
31 第 1フレームメモリ領域
32 第 2フレームメモリ領域
40 表示処理部
45 表示デバイス
発明を実施するための最良の形態
[0022] 《第 1の実施の形態〉〉
以下、本発明の第 1の実施の形態について図面を参照しつつ説明する。但し、本 実施の形態は MPEG2ビデオ規格を対象とする。
<装置構成 >
本実施の形態の動画像復号装置の装置構成について図 1を参照しつつ説明する 。図 1は本実施の形態の動画像復号装置の装置構成図である。
[0023] 動画像復号装置 1は、画像復号部 10と共有メモリ 20と参照画像メモリ 30と表示処 理部 40と表示デバイス 45とを備える。
画像復号部 10はビットストリームに対して復号処理を施す処理部である。なお、画 像復号部 10の詳細は後述する。
共有メモリ 20は、圧縮画像データに係る可変長復号されたビットストリームを記憶す ると共に、画像復号部 10の復号処理によって得られた復号画像データを記憶するた めのメモリである。
[0024] 参照画像メモリ 30は、画像復号部 10の復号処理によって得られた復号画像データ の一部を記憶するためのメモリである。但し、参照画像メモリ 30に格納される復号画 像データは、画像復号部 10の復号処理の際に用いられる可能性がある復号画像デ ータ、つまり、 Iピクチャに関する復号画像データと Pピクチャに関する復号画像デー タとである。
MPEG2において参照される可能性がある復号画像データは直近に復号された最 大 2枚のピクチャ (Iピクチャ、 Pピクチャ)であることから、参照画像メモリ 30は、第 1フ レームメモリ領域 31と第 2フレーム領域 32とを有する。そして、第 1フレームメモリ領域 31と第 2フレーム領域 32は夫々 1ピクチャ分の復号画像データを格納することができ るようになっている。
[0025] 本実施の形態では、共有メモリ 20のアクセス単位が 16Byte、参照画像メモリ 30の アクセス単位は共有メモリ 20のアクセス単位より小さい 4Byteである。
表示処理部 40は、共有メモリ 20に記憶されている復号画像データの中力 表示に 必要な順番に復号画像データを表示画像データとして読み出し、読み出した復号画 像データに基づ 、てモニタ等の表示デバイス 45への表示処理を行う。
[0026] <画像復号部 >
画像復号部 10は、図 1に示すように、 DMA部 11と可変長復号部 12と逆量子化逆 周波数変換部 13と DMA部 14と動き補償処理部 15と格納先制御部 16とフラグ記憶 部 17と DM A部 18とを有する。
DMA部 11は、共有メモリ 20に記憶されているビットストリームを読み出し、可変長 復号部 12へ出力する。
[0027] 可変長復号部 12は、 DMA部 11から入力されるビットストリームを可変長復号し、 量子化及び周波数変換されたブロックデータと動きベクトルデータ等とに変換し、量 子化及び周波数変換されたブロックデータを逆量子化逆周波数変換部 13へ出力し 、動きベクトルデータを DMA部 14へ出力する。
また、可変長復号部 12は、ビットストリーム内のピクチャレイヤのピクチャヘッダに含 まれるピクチャタイプを示す情報 (以下、ピクチャタイプ情報と言う。)を格納先制御部 16へ出力する。
[0028] さらに、可変長復号部 12は、ピクチャタイプ情報やビットストリーム内のマクロブロッ クレイヤのマクロブロックヘッダに含まれるマクロブロックタイプを示す情報(以下、マ クロブロックタイプ情報と言う。)等に基づいて、逆量子化逆周波数変換部 13の出力 先の制御や動き補償処理部 15の処理内容の制御を行う。 逆量子化逆周波数変換部 13は、可変長復号部 12から入力される量子化及び周 波数変換されたブロックデータに対して逆量子化及び逆周波数変換の処理を実行し 、当該処理の実行により得られたデータ (変換済ブロックデータ)を、可変長復号部 1 2の制御により、 DMA部 18又は動き補償処理部 15へ出力する。
[0029] 但し、逆量子化逆周波数変換部 13が変換済ブロックデータを DMA部 18へ出力 するのは、復号対象が Iピクチャである場合、復号対象が Pピクチャであって画面内予 測を行う場合、及び、復号対象が Bピクチャであって画面内予測を行う場合、である。 それ以外の場合は、変換済ブロックデータは動き補償処理部 15へ出力される。
DMA部 14は、動き補償処理部 15の制御により、可変長復号部 12から入力される 復号対象ブロックに関連した動きベクトルデータに基づいて、参照画像メモリ 30から 参照ブロック内の復号画像データを参照画像データとして読み出し、動き補償処理 部 15へ出力する。
[0030] 動き補償処理部 15は、逆量子化逆周波数変換部 13から入力される変換済データ に対して、 DMA部 14から入力される参照画像データを用いて動き補償処理を実行 し、当該処理の実行により得られたデータ (補償済ブロックデータ)を DMA部 18へ出 力する。
動き補償処理部 15が動き補償処理を行う際の復号画像ブロックと参照ブロックとの 関係を図 2に示す。図 2の場合、復号対象ブロックは 16画素 X 8画素、参照ブロック は 17画素 X 9画素である。動きベクトルデータは復号対象ブロックと参照ブロックとの 画面内のずれを示す。
[0031] 格納先制御部 16は、フラグ記憶部 17に記憶されているメモリ指定フラグの値を制 御することによって DMA部 18による復号画像データの格納先(共有メモリ 20、参照 画像メモリ 30)の制御を行う。また、格納先制御部 16は、フラグ記憶部 17に記憶され ているフレーム指定フラグの値を制御することによって DMA部 18による復号画像デ ータの格納先 (第 1フレームメモリ領域 31、第 2フレームメモリ領域 32)の制御を行う。
[0032] 格納先制御部 16は、復号対象のピクチャが Iピクチャ及び Pピクチャの何れかの場 合、復号画像データが復号対象のピクチャに続くピクチヤでの動き補償処理におい て参照される可能性があるとして、メモリ指定フラグを 1にする。また、格納先制御部 1 6は、復号対象のピクチャが Bピクチャの場合、復号画像データが復号対象のピクチ ャに続くピクチヤでの動き補償処理において参照される可能性がないとして、メモリ指 定フラグを 0にする。
[0033] 但し、復号画像データは、メモリ指定フラグが 0の場合には共有メモリ 20にのみ格 納され、メモリ指定フラグが 1の場合には共有メモリ 20及び参照画像メモリ 30の双方 に格納される。
格納先制御部 16は、復号対象のピクチャが Iピクチャである場合にはフレーム指定 先フラグを 0にする。また、格納先制御部 16は、復号対象のピクチャが Pピクチャであ る場合にはフレーム指定先フラグを 0から 1にし、又は、 1から 0にする。
[0034] 但し、復号画像データは、フレーム指定フラグが 0の場合には第 1フレームメモリ領 域 31に格納され、フレーム指定フラグが 1の場合には第 2フレームメモリ領域 32に格 納される。
フラグ記憶部 17は、メモリ指定フラグ及びフレーム指定フラグを記憶するためのメモ リである。
[0035] DMA部 18は、フラグ記憶部 17に記憶されているメモリ指定先フラグ力^の場合、 逆量子化逆周波数変換部 13から入力される変換済ブロックデータ又は動き補償処 理部 15から入力される補償済ブロックデータを復号画像データとして共有メモリ 20の みに格納する。
また、 DMA部 18は、フラグ記憶部 17に記憶されているメモリ指定先フラグが 1の場 合、逆量子化逆周波数変換部 13から入力される変換済ブロックデータ又は動き補償 処理部 15から入力される補償済ブロックデータを復号画像データとして共有メモリ 2 0及び参照画像メモリ 30の双方に格納する。この場合、 DMA部 18は、復号画像デ ータを、フラグ記憶部 17に記憶されているフレーム指定フラグ力^の場合には第 1フ レームメモリ領域 31に格納し、フレーム指定フラグが 1の場合には第 2フレームメモリ 領域 32に格納する。
[0036] なお、本実施の形態では、 DMA部 18による復号画像データの共有メモリ 20及び 参照画像メモリ 30への格納は 1ピクチャ単位で行われる。
<画像復号部の動作:画像復号処理 > 図 1の画像復号部 10によって行われる画像復号処理について図 3及び図 4を参照 しつつ説明する。図 3及び図 4は図 1の画像復号部 10によって行われる画像復号処 理の流れを示すフローチャートである。
[0037] 共有メモリ 20に記憶されているビットストリームが DMA部 11によって読み出され、 読み出されたビットストリームが可変長復号部 12によって可変長復号される (ステップ Sl l)。なお、逆量子化逆周波数変換部 13や動き補償処理部 15によってこれから処 理が行われるピクチャにつ 、て、逆量子化逆周波数変換部 13や動き補償処理部 15 による処理が行われる前に、格納先制御部 16によって図 5に処理手順を示す格納 先制御処理が実行され、メモリ指定フラグ及びフレーム指定フラグの値が設定される
[0038] 可変長復号部 12は、復号対象ブロックのピクチャタイプが Iピクチャであるかを判定 する(ステップ S 12)。 Iピクチャであれば(S 12 : YES)、逆量子化逆周波数変換部 13 は可変長復号部 12から入力される量子化及び周波数変換されたブロックデータに 対して逆量子化及び逆周波数変換の処理を実行し (ステップ S 13)、変換済ブロック データを DMA部 18へ出力する(ステップ S14)。
[0039] ステップ SI 2の判定の結果、 Iピクチャでなければ(S12 :NO)、可変長復号部 12 は復号対象ブロックのピクチャタイプが Pピクチャであるかを判定する(ステップ S 15) 。 Pピクチャであれば(S 15 : YES)、可変長復号部 12はマクロブロックタイプの内容 が画面内予測であるかを判定する (ステップ S16)。画面内予測であれば(S16 : YE S)、逆量子化逆周波数変換部 13は可変長復号部 12から入力される量子化及び周 波数変換されたブロックデータに対して逆量子化及び逆周波数変換の処理を実行し (ステップ S13)、変換済ブロックデータを DMA部 18へ出力する(ステップ S14)。
[0040] ステップ S16の判定の結果、画面内予測でない、つまり画面間予測であれば(S16 : NO)、逆量子化逆周波数変換部 13は可変長復号部 12から入力される量子化及 び周波数変換されたブロックデータに対して逆量子化及び逆周波数変換の処理を 実行し、変換済ブロックデータを動き補償処理部 15へ出力する (ステップ S17)。
DMA部 14は、可変長復号部 12から入力される 1本の動きベクトルデータに基づ いて参照画像データを参照画像メモリ 30から読み出し、読み出した参照画像データ を動き補償処理部 15へ出力する (ステップ S18)。動き補償処理部 15は、変換済ブ ロックデータに対して参照画像データを用いて片方向予測での動き補償処理を実行 し (ステップ S19)、補償済ブロックデータを DMA部 18へ出力する(ステップ S20)。
[0041] なお、 DMA部 14による参照画像データの読み出しは、フレーム指定フラグに基づ いて第 1フレームメモリ領域 31及び第 2フレームメモリ 32の夫々に記憶されている復 号画像データが 1枚前のピクチャ(Iピクチャ、 Pピクチャ)に関する復号画像データで あるか、 2枚前のピクチャ (Iピクチャ、 Pピクチャ)の復号画像データであるかを判断し て行われる。
[0042] ステップ S 15の判定の結果、 Pピクチャでない、つまり Bピクチャであれば(S 15 : NO )、可変長復号部 12はマクロブロックタイプの内容が画面内予測であるかを判定する (ステップ S21)。画面内予測であれば(S21 : YES)、逆量子化逆周波数変換部 13 は可変長復号部 12から入力される量子化及び周波数変換されたブロックデータに 対して逆量子化及び逆周波数変換の処理を実行し (ステップ S 13)、変換済ブロック データを DMA部 18へ出力する(ステップ S14)。
[0043] ステップ S21の判定の結果、画面内予測でない、つまり画面間予測であれば(S21 : NO)、可変長復号部 12はマクロブロックタイプの内容が一方向参照であるかを判 定する (ステップ S22)。一方向参照であれば (S22 : YES)、逆量子化逆周波数変換 部 13は可変長復号部 12から入力される量子化及び周波数変換されたブロックデー タに対して逆量子化及び逆周波数変換の処理を実行し、変換済ブロックデータを動 き補償処理部 15へ出力する (ステップ S17)。
[0044] DMA部 14は、可変長復号部 12から入力される 1本の動きベクトルデータに基づ いて参照画像データを参照画像メモリ 30から読み出し、読み出した参照画像データ を動き補償処理部 15へ出力する (ステップ S18)。動き補償処理部 15は、変換済ブ ロックデータに対して参照画像データを用いて片方向予測での動き補償処理を実行 し (ステップ S19)、補償済ブロックデータを DMA部 18へ出力する(ステップ S20)。
[0045] ステップ S22の判定の結果、一方向参照でない、つまり二方向参照であれば(S22 : NO)、逆量子化逆周波数変換部 13は可変長復号部 12から入力される量子化及 び周波数変換されたブロックデータに対して逆量子化及び逆周波数変換の処理を 実行し、変換済ブロックデータを動き補償処理部 15へ出力する (ステップ S23)。
DMA部 14は、可変長復号部 12から入力される 2本の動きベクトルデータの各々 に基づいて参照画像データを参照画像メモリ 30から読み出し、読み出した参照画像 データを動き補償処理部 15へ出力する (ステップ S24)。動き補償処理部 15は、変 換済ブロックデータに対して参照画像データを用 、て双方向予測での動き補償処理 を実行し (ステップ S25)、補償済ブロックデータを DMA部 18へ出力する(ステップ S 26)。
[0046] ステップ S14、ステップ S20及びステップ S26の何れかの処理が行われた後、 DM A部 18は、フラグ記憶部 17に記憶されているメモリ指定フラグ力^であるかを判定す る(ステップ S27)。メモリ指定フラグが 0であれば(S27 : YES)、 DMA部 18は逆量 子化逆周波数変換部 13から入力される変換済ブロックデータ或いは動き補償処理 部 15から入力される補償済ブロックデータを復号画像データとして共有メモリ 20に格 納する(ステップ S 28)。
[0047] ステップ S27の判定の結果、メモリ指定フラグが 0でない、つまり 1であれば(S27 :N O)、 DMA部 18はフラグ記憶部 17に記憶されているフレーム指定フラグ力^である かを判定する(ステップ S29)。フレーム指定フラグが 0であれば(S29 : YES)、 DMA 部 18は、逆量子化逆周波数変換部 13から入力される変換済ブロックデータ或 、は 動き補償処理部 15から入力される補償済ブロックデータを復号画像データとして参 照画像メモリ 30の第 1フレームメモリ領域 31に格納する (ステップ S30)とともに、共有 メモリ 20に格納する(ステップ S28)。
[0048] ステップ S29の判定の結果、フレーム指定フラグが 0でない、つまり 1であれば(S29 : NO)、 DMA部 18は、逆量子化逆周波数変換部 13から入力される変換済ブロック データ或いは動き補償処理部 15から入力される補償済ブロックデータを復号画像デ ータとして参照画像メモリ 30の第 2フレームメモリ領域 32に格納する (ステップ S31) とともに、共有メモリ 20に格納する(ステップ S28)。
[0049] <画像復号部の動作:格納先制御処理 >
図 1の画像復号部 10によって行われる格納先制御処理について図 5を参照しつつ 説明する。図 5は図 1の画像復号部 10によって行われる格納先制御処理の流れを示 すフローチャートである。
格納先制御部 16は可変長復号部 12から入力されるピクチャタイプ情報に基づ 、 て復号対象のピクチャが Iピクチャであるかを判定する (ステップ S36)。 Iピクチャであ れば (S36 :YES)、格納先制御部 16はフラグ記憶部 17に記憶されているメモリ指定 フラグを 1にする (ステップ S37)。そして、格納先制御部 16は参照画像メモリ 30の第 1及び第 2フレームメモリ領域 31、 32の復号画像データを破棄する (ステップ S38)。 さらに、格納先制御部 16はフラグ記憶部 17に記憶されて 、るフレーム指定フラグを 0 にする (ステップ S43)。なお、復号画像データを破棄するとは、例えば、データの上 書きを許可することである。
[0050] ステップ S36の判定の結果、 Iピクチャでなければ(S36 :NO)、格納先制御部 16 は復号対象のピクチャが Pピクチャであるかを判定する (ステップ S39)。 Pピクチャで あれば (S39 :YES)、格納先制御部 16はメモリ指定フラグを 1にする (ステップ S40) 格納先制御部 16はフレーム指定フラグが 1であるかを判定する (ステップ S41)。フ レーム指定フラグが 1であれば(S41 :NO)、格納先制御部 16は参照画像メモリ 30の 第 1フレームメモリ領域 31の復号画像データを破棄し (ステップ S42)、フレーム指定 フラグを 0にする (ステップ S43)。
[0051] ステップ S41の判定の結果、フレーム指定フラグが 1でない、つまり 0であれば(S41 : NO)、格納先制御部 16は参照画像メモリ 30の第 2フレームメモリ領域 32の復号画 像データを破棄し (ステップ S44)、フレーム指定フラグを 1にする (ステップ S45)。 ステップ S39の判定の結果、 Pピクチャでない、つまり、 Bピクチャであれば(S39 :N O)、格納先制御部 16はメモリ指定フラグを 0にする (ステップ S46)。
[0052] <参照画像データに関する無効な転送領域の抑制 >
図 1の動画像復号装置 1による参照画像データに関する無効な転送領域が抑制さ れる様子について図 6を参照しつつ説明する。図 6 (a)は本実施の形態の参照画像 データに関する無効な転送領域を示す図であり、 (b)は従来例の参照画像データに 関する無効な転送領域を示す図である。
[0053] 図 6 (b)に示す従来例の場合、参照ブロックの 1ラインが 17Byteに相当していれば 、アクセス単位が 16Byteであるので 2回アクセスする必要があり、計 32Byte分のデ ータの読み出しが行われる。つまり、 1ラインあたり 15Byte分の余分なデータの読み 出しが行われたことになる。
これに対して、図 6 (a)に示す本実施の形態の場合、参照ブロックの 1ラインが 17B yteに相当していれば、アクセス単位力 Byteであるので 5回アクセスする必要があり 、計 20Byte分のデータの読み出しが行われる。つまり、 1ラインあたり 3Byte分の余 分なデータの読み出しが行われたことになる。
[0054] 従って、本実施の形態は、従来例に比べて、 1ラインあたり 12Byte分余分な読み 出しが抑制されている。
<データ転送量の抑制 >
図 1の動画像復号装置 1によるデータ転送量が抑制される様子について図 7を参照 しつつ説明する。図 7は本実施の形態のデータ転送量及び従来例のデータ転送量 を示す図である。
[0055] 但し、図 7は 2GOP (Group of Pictures)当たりのデータ転送量であって、 GOPの構 造が、「I、 B、 B、 P、 B、 B、 P、 B、 B、 P、 B、 B、 P、 B、 B」であるとする。
また、 1画面が 720画素 X 480画素とする。
共有メモリ 20、 120力ものビットストリームの読み出し、共有メモリ 20、 120への復号 画像データの格納、及び共有メモリ 20、 120からの表示画像データの読み出しに関 しては、本実施の形態のデータ転送量と従来例のデータ転送量は同じである。
[0056] 本実施の形態での参照画像メモリへの復号画像データの格納は、下記に示すよう に 1GPO当たり 2. 5MByteである。
2.5MByte=45 X 30 X (16 X 16 + 16 X 8) X 5Byte
本実施の形態での参照画像メモリ 30からの参照画像データの読み出しは、下記に 示すように 1GPO当たり 18. 5MByteである。
[0057] 18.5MByte=45 X 30 X (20 X 9 + 24 X 5) X 2 X (2 X 10 + 4)Byte
これに対して、従来例での共有メモリ 120からの参照画像データの読み出しは、下 記に示すように 1 GPO当たり 27. 5MByteである。
18.5MByte=45 X 30 X (32 X 9 + 24 X 5) X 2 X (2 X 10 + 4)Byte このため、本実施の形態は、従来例に比べ、 1GPO当たり 6. 5MByte ( = 27. 5— 2. 5 - 18. 5)分のデータ転送量を抑制することができ、図 7に示すように従来例に 比べトータルのデータ転送量が抑えられる。
[0058] 《第 2の実施の形態〉〉
以下、本発明の第 2の実施の形態について図面を参照しつつ説明する。但し、本 実施の形態は MPEG4AVC規格を対象とする。なお、本実施の形態において対象 とするビットストリームは Sliding Windowでのみ処理され、 Long- Termピクチャは使用さ れていない。
[0059] <装置構成 >
本実施の形態の動画像復号装置の装置構成について図 8を参照しつつ説明する 。図 8は本実施の形態の動画像復号装置の装置構成図である。但し、本実施の形態 において、第 1の実施の形態と実質的に同じ機能構成を有する構成要素には第 1の 実施の形態と同じ符号を付し、その説明が適用できるため、本実施の形態ではその 説明を省略する。
[0060] 動画像復号装置 laは、画像復号部 50と共有メモリ 20と参照画像メモリ 70と表示処 理部 40と表示デバイス 45とを備える。
画像復号部 50はビットストリームに対して復号処理を施す処理部である。なお、画 像復号部 50の詳細は後述する。
参照画像メモリ 70は、画像復号部 50の復号処理によって得られた復号画像データ の一部を記憶するためのメモリである。但し、参照画像メモリ 70に格納される復号画 像データは、画像復号部 50の復号処理の際に用いられる可能性がある復号画像デ ータ、つまり naLrefjdcが 0でな!/、ピクチャに関する復号画像データである。
[0061] なお、 naLrefjdcは NAL (Network Abstraction Layer)ユニットに参照され得るスライ スが含まれて 、る力否かを示す情報であり、 naLrefjdcが 0でなければ参照ピクチヤと なり得るスライスが含まれて 、ることを示す。
参照画像メモリ 70は第 1フレームメモリ領域 71、第 2フレームメモリ領域 72、第 3フ レームメモリ領域 73及び第 4フレームメモリ領域 74を有する。そして、第 1〜第 4フレ ームメモリ領域 71〜74は夫々 1ピクチャ分の復号画像データを格納することができる ようになっている。
[0062] 本実施の形態では、共有メモリ 20のアクセス単位が 16Byte、参照画像メモリ 70の アクセス単位は共有メモリ 20のアクセス単位より小さい 4Byteである。
<画像復号部 >
画像復号部 50は、図 8に示すように、 DMA部 51と可変長復号部 52と逆量子化逆 周波数変換部 53と DM A部 54と動き補償処理部 55と画面内予測処理部 56とデブ口 ッキングフィルタ 57と格納先制御部 58とフラグ記憶部 59と DMA部 60とを有する。
[0063] DMA部 51は、共有メモリ 20に記憶されているビットストリームを読み出し、可変長 復号部 52へ出力する。
可変長復号部 52は、 DMA部 51から入力されるビットストリームを可変長復号及び 算術復号し、量子化及び周波数変換されたブロックデータと動きベクトル等に変換す る。そして、可変長復号部 52は、量子化及び周波数変換されたブロックデータを逆 量子化逆周波数変換部 53へ出力するとともに、動きベクトルデータ及び参照ピクチ ャ番号を DMA部 54へ出力する。
[0064] また、可変長復号部 52は、ピクチャタイプ情報及び naLrefjdc等を格納先制御部 5 8へ出力する。
さら〖こ、可変長復号部 52は、スライスタイプを示すスライスタイプ情報やマクロブロッ クタイプ情報などに基づいて、逆量子化逆周波数変換部 53の出力先の制御や動き 補償処理部 55の処理内容の制御を行う。
[0065] 逆量子化逆周波数変換部 53は、可変長復号部 52から入力される量子化及び周 波数変換されたブロックデータに対して逆量子化及び逆周波数変換を実行し、当該 処理の実行により得られたデータ(変換済ブロックデータ)を、可変長復号部 52の制 御により、画面内予測処理部 56又は動き補償処理部 55へ出力する。
但し、逆量子化逆周波数変換部 53が変換済ブロックデータを画面内予測処理部 5 6へ出力するのは、復号対象が Iスライスに関する場合、復号対象が Pスライスであつ て画面内予測を行う場合、復号対象が Bスライスであって画面内予測を行う場合、で ある。それ以外の場合、変換済ブロックデータは動き補償処理部 55へ出力される。
[0066] DMA部 54は、動き補償処理部 55の制御により、可変長復号部 52から入力される 復号対象ブロックに関連した動きベクトルデータ及び参照ピクチャ番号に基づいて、 参照画像メモリ 70から参照ブロック内の復号画像データを参照画像データとして読 み出し、動き補償処理部 55へ出力する。
動き補償処理部 55は、逆量子化逆周波数変換部 53から入力される変換済ブロッ クデータに対して DMA部 54から入力される参照画像データを用いて動き補償処理 を実行し、当該処理の実行により得られたデータ (補償済ブロックデータ)をデブロッ キングフィルタ 57へ出力する。動き補償処理部 55が動き補償処理を行う際の復号画 像ブロックと参照ブロックとの関係を図 9に示す。図 9の場合、復号対象ブロックは 4画 素 X 4画素、参照ブロックは 9画素 X 9画素である。動きベクトルデータは復号対象ブ ロックと参照ブロックとの画面内のずれを示す。
[0067] 画面内予測処理部 56は、逆量子化逆周波数変換部 53から入力される変換済プロ ックデータに対して画面内予測処理を実行し、当該処理の実行により得られたデータ (以下、イントラ済ブロックデータと言う。)をデブロッキングフィルタ 57へ出力する。 デブロッキングフィルタ 57は、画面内予測処理部 56から入力されるイントラ済ブロッ クデータ又は動き補償処理部 55から入力される補償済ブロックデータに対してデブ ロッキングフィルタ処理を実行し、当該処理の実行により得られたデータ(以下、フィ ルタ済ブロックデータと言う。 )を DMA部 60へ出力する。
[0068] 格納先制御部 58は、フラグ記憶部 59に記憶されて 、るメモリ指定フラグの値を制 御することによって DMA部 60による復号画像データの格納先(共有メモリ 20、参照 画像メモリ 70)の制御を行う。また、格納先制御部 58は、フラグ記憶部 59に記憶され ているフレーム指定フラグの値を制御することによって DMA部 60による復号画像デ ータの格納先 (第 1〜第 4フレームメモリ領域 71〜74)の制御を行う。なお、格納先制 御部 58の処理の詳細は図 10及び図 11を参照して後述する。
[0069] フラグ記憶部 59は、フレーム指定フラグ及びフレーム指定フラグを記憶するための メモリである。
DMA部 60は、フラグ記憶部 59に記憶されているメモリ指定先フラグ力^の場合、 デブロッキングフィルタ 57から入力されるフィルタ済ブロックデータを復号画像データ として共有メモリ 20のみに格納する。 [0070] また、 DMA部 60は、フラグ記憶部 59に記憶されているメモリ指定先フラグが 1の場 合、デブロッキングフィルタ 57から入力されるフィルタ済ブロックデータを復号画像デ ータとして共有メモリ 20及び参照画像メモリ 70の双方に格納する。この場合、 DMA 部 60は、復号画像データを、フラグ記憶部 59に記憶されているフレーム指定フラグ 力 SOの場合には第 1フレームメモリ領域 71に格納し、フレーム指定フラグが 1の場合に は第 2フレームメモリ領域 72に格納し、フレーム指定フラグが 2の場合には第 3フレー ムメモリ領域 73に格納し、フレーム指定フラグが 3の場合には第 4フレームメモリ領域 74に格納する。
[0071] なお、本実施の形態では、 DMA部 60による復号画像データの共有メモリ 20及び 参照画像メモリ 70への格納は 1ピクチャ単位で行われる。
<画像復号部の動作:画像復号処理 >
図 8の画像復号部 50によって行われる画像復号処理について図 10を参照しつつ 説明する。図 10は図 8の画像復号部 50によって行われる画像復号処理の流れを示 すフローチャートである。
[0072] 共有メモリ 20に記憶されているビットストリームが DMA部 51によって読み出され、 読み出されたビットストリームが可変長復号部 52によって可変長復号される (ステップ S51)。なお、逆量子化逆周波数変換部 53や動き補償処理部 55などによってこれか ら処理が行われるピクチャについて、逆量子化逆周波数変換部 53や動き補償処理 部 55による処理が行われる前に、格納先制御部 58によって図 11に処理手順を示す 格納先制御処理が実行される。
[0073] 可変長復号部 52は、復号対象ブロックのスライスタイプが Iスライスであるかを判定 する (ステップ S52)。 Iスライスであれば (S52 : YES)、逆量子化逆周波数変換部 53 は可変長復号部 52から入力される量子化及び周波数変換されたブロックデータに 対して逆量子化及び周波数変換の処理を実行し、変換済ブロックデータを画面内予 測処理部 56へ出力する (ステップ S53)。画面内予測処理部 56は変換済ブロックデ ータに対して画面内予測処理を実行し、イントラ済ブロックデータをデブロッキングフ ィルタ 57へ出力する(ステップ S54)。デブロッキングフィルタ 57はイントラ済ブロック データに対してデブロッキング処理を実行し、フィルタ済ブロックデータを DMA部 60 へ出力する (ステップ S55)。
[0074] ステップ S52の判定の結果、 Iスライスでなければ(S52 : NO)、可変長復号部 52は 復号対象ブロックのスライスタイプが Pスライスであるかを判定する(ステップ S56)。 P スライスであれば(S56: YES)、可変長復号部 52はマクロブロックタイプの内容が画 面内予測であるかを判定する (ステップ S57)。画面内予測であれば (S57 : YES)、 逆量子化逆周波数変換部 53は可変長復号部 52から入力される量子化及び周波数 変換されたブロックデータに対して逆量子化及び周波数変換の処理を実行し、変換 済ブロックデータを画面内予測処理部 56へ出力する(ステップ S53)。画面内予測処 理部 56は変換済ブロックデータに対して画面内予測処理を実行し、イントラ済ブロッ クデータをデブロッキングフィルタ 57へ出力する(ステップ S54)。デブロッキングフィ ルタ 57はイントラ済ブロックデータに対してデブロッキング処理を実行し、フィルタ済 ブロックデータを DMA部 60へ出力する(ステップ S55)。
[0075] ステップ S57の判定の結果、画面内予測でない、つまり画面間予測であれば(S57 : NO)、逆量子化逆周波数変換部 53は可変長復号部 52から入力される量子化及 び周波数変換されたブロックデータに対して逆量子化及び周波数変換の処理を実 行し、変換済ブロックデータを動き補償処理部 55へ出力する (ステップ S58)。 DMA 部 54は 1本の動きベクトルデータ及び参照ピクチャ番号に基づいて参照画像データ を参照画像メモリ 70から読み出し、読み出した参照画像データを動き補償処理部 55 へ出力する (ステップ S59)。動き補償処理部 55は変換済ブロックデータに対して参 照画像データを用いて片方向予測での動き補償処理を実行し、補償済ブロックデー タをデブロッキングフィルタ 57へ出力する(ステップ S60)。デブロッキングフィルタ 57 は補償済ブロックデータに対してデブロッキング処理を実行し、フィルタ済ブロックデ ータを DMA部 60へ出力する(ステップ S61)。
[0076] なお、 DMA部 54による参照画像データの読み出しは、フレーム指定フラグに基づ いて第 1〜第 4フレームメモリ 71〜74の夫々に記憶されている復号画像データが何 枚前のピクチヤに関する復号画像データであるかを判断して行われる。
ステップ S56の判定の結果、 Pスライスでない、つまり Bスライスであれば(S56 : NO )、可変長復号部 52はマクロブロックタイプの内容が画面内予測であるかを判定する (ステップ S62)。画面内予測であれば(S62 : YES)、逆量子化逆周波数変換部 53 は可変長復号部 52から入力される量子化及び周波数変換されたブロックデータに 対して逆量子化及び周波数変換の処理を実行し、変換済ブロックデータを画面内予 測処理部 56へ出力する (ステップ S53)。画面内予測処理部 56は変換済ブロックデ ータに対して画面内予測処理を実行し、イントラ済ブロックデータをデブロッキングフ ィルタ 57へ出力する(ステップ S54)。デブロッキングフィルタ 57はイントラ済ブロック データに対してデブロッキング処理を実行し、フィルタ済みブロックデータを DMA部 60へ出力する(ステップ S 55)。
[0077] ステップ S62の判定の結果、画面内予測でな!、、つまり画面間予測であれば (ステ ップ S62 :NO)、可変長復号部 12は、マクロブロックタイプの内容が一方向参照であ るかを判定する(ステップ S63)。一方向参照であれば(S63 : YES)、逆量子化逆周 波数変換部 53は可変長復号部 52から入力される量子化及び周波数変換されたブ ロックデータに対して逆量子化及び周波数変換の処理を実行し、変換済ブロックデ ータを動き補償処理部 55へ出力する(ステップ S58)。 DMA部 54は 1本の動きべク トルデータ及び参照ピクチャ番号に基づいて参照画像データを参照画像メモリ 70か ら読み出し、読み出した参照画像データを動き補償処理部 55へ出力する (ステップ S 59)。動き補償処理部 55は変換済ブロックデータに対して参照画像データを用いて 片方向予測での動き補償処理を実行し、補償済ブロックデータをデブロッキングフィ ルタ 57へ出力する(ステップ S60)。デブロッキングフィルタ 57は補償済ブロックデー タに対してデブロッキング処理を実行し、フィルタ済ブロックデータを DMA部 60へ出 力する (ステップ S61)。
[0078] ステップ S63の判定の結果、一方向参照でない、つまり二方向参照であれば(S63 : NO)、逆量子化逆周波数変換部 53は可変長復号部 52から入力される量子化及 び周波数変換されたブロックデータに対して逆量子化及び周波数変換の処理を実 行し、変換済ブロックデータを動き補償処理部 55へ出力する (ステップ S64)。 DMA 部 54は 2本の動きベクトルデータの各々及びそれに対応する参照ピクチャ番号に基 づ 、て参照画像データを参照画像メモリ 70から読み出し、読み出した参照画像デー タを動き補償処理部 55へ出力する (ステップ S65)。動き補償処理部 55は変換済ブ ロックデータに対して参照画像データを用いて双方向予測での動き補償処理を実行 し、補償済ブロックデータをデブロッキングフィルタ 57へ出力する(ステップ S66)。デ ブロッキングフィルタ 57は補償済ブロックデータに対してデブロッキング処理を実行し 、フィルタ済ブロックデータを DMA部 60へ出力する(ステップ S67)。
[0079] ステップ S55、ステップ S61及びステップ S67の何れかの処理が行われた後、 DM A部 18は、フラグ記憶部 59に記憶されているメモリ指定フラグが 1であるかを判定す る(ステップ S68)。
メモリ指定フラグが 1であれば(S68 : YES)、 DMA部 60は、フラグ記憶部 59に記 憶されているフレーム指定フラグが指す参照画像メモリ 70のフレームメモリ領域に、 デブロッキングフィルタ 57から入力されるフィルタ済ブロックデータを格納する(ステツ プ S69)とともに、共有メモリ 20に格納する(ステップ S70)。なお、 1ピクチャ分の復号 画像データの共有メモリ 20などへの格納が終了した後、格納先制御部 58によって図 12に処理手順を示す格納先制御処理が実行される。
[0080] ステップ S68の判定の結果、メモリ指定フラグが 1でない、つまり 0であれば(S68 :N O)、 DMA部 60はデブロッキングフィルタ 57から入力されるフィルタ済ブロックデータ を復号画像データとして共有メモリ 20に格納する (ステップ S 70)。
<画像復号部の動作:復号処理前の格納先制御処理 >
図 8の画像復号部 50によって行われる復号処理前の格納先制御処理について図 11を参照しつつ説明する。図 11は図 8の画像復号部 50によって行われる復号処理 前の格納先制御処理の流れを示すフローチャートである。
[0081] 格納先制御部 58は、可変長復号部 52から入力されるピクチャタイプ情報に基づい て、復号対象のピクチャ力 DR (Instantaneous Decoding Refresh)ピクチャであるかを 判定する(ステップ S71)。 IDRピクチャであれば(S71: YES)、格納先制御部 58は 第 1〜第 4フレームメモリ領域 71〜74の復号画像データを破棄し (ステップ S72)、フ ラグ記憶部 59に記憶されているフレーム指定フラグを 0にする (ステップ S73)。
[0082] ステップ S73の処理が行われた後、或いは、ステップ S71の判定の結果 IDRピクチ ャでな力 た場合 (S71 :NO)、格納先制御部 58は、可変長復号部 52から入力され る naLrefjdcが 0であるかを判定する(ステップ S74)。 naLrefjdcが 0であれば(S74: Y ES)、格納先制御部 58はフラグ記憶部 59に記憶されているメモリ指定フラグを 0に する(ステップ S 75)。
[0083] ステップ S74の判定の結果、 naLrefjdcが 0でなければ(S74: NO)、格納先制御部 58はフラグ記憶部 59に記憶されているメモリ指定フラグを 1にする (ステップ S76)。
<画像復号部の動作:復号処理後の格納先制御処理 >
図 8の画像復号部 50によって行われる復号処理後の格納先制御処理について図 12を参照しつつ説明する。図 12は図 8の画像復号部 50によって行われる復号処理 前の格納先制御処理の流れを示すフローチャートである。
[0084] 格納先制御部 58は、可変長復号部 52から入力される naLrefjdc力 ^であるかを判 定する(ステップ S91)。 naLrefjdcが 0であれば(S91 : YES)、図 12の処理を終了す る。 naLrefjdcが 0でなければ(S91 :NO)、格納先制御部 58は、フレーム指定フラグ の値を 1増やす (ステップ S 92)。
格納先制御部 58は、フレーム指定フラグの値力 であるかを判定する (ステップ S9 3)。フレーム指定フラグの値力 であれば(S93 : YES)、格納先制御部 58は、フレ ーム指定フラグの値を 0にする(ステップ S94)。
[0085] ステップ S94の処理が行われた後、或いは、フレーム指定フラグが 4でなかった場 合 (S94 :NO)、格納先制御部 58は、フレーム指定フラグが指定するフレームメモリ 領域に格納されて 、る復号画像データを破棄する (ステップ S95)。
<参照画像データに関する無効な転送領域の抑制 >
図 8の動画像復号装置 laによる参照画像データに関する無効な転送領域の抑制 について記す。
[0086] 従来例の場合、参照ブロックの 1ラインが 9Byteに相当していれば、アクセス単位が 16Byteであるので 1回アクセスする必要があり、計 16Byte分のデータの読み出しが 行われる。つまり、 1ラインあたり 7Byte分の余分なデータの読み出しが行われたこと になる。
これに対して、本実施の形態の場合、参照ブロックの 1ラインが 9Byteに相当してい れば、アクセス単位が 4Byteであるので 3回アクセスする必要があり、計 12Byte分の データの読み出しが行われる。つまり、 1ラインあたり 3Byte分の余分なデータの読み 出しが行われたことになる。
[0087] 従って、本実施の形態は、従来例に比べて、 1ラインあたり 4Byte分余分な読み出 しが抑制されている。
従って、本実施の形態においても、第 1の実施の形態の場合と同様に、従来例に 比べ、図 13に示すようにトータルのデータ転送量を抑制することができる。
《補足〉〉
本発明は上記の実施の形態に限られるものではなぐ例えば、次のようなものであ つてもよい。
[0088] (1)第 1及び第 2の実施の形態の夫々において、共有メモリ 20へのアクセス単位を 16Byte、参照画像メモリ 30、 70へのアクセス単位を 4Byteとした力 これに限られる ものではなく、共有メモリ 20及び参照画像メモリ 30、 70のアクセス単位は参照ブロッ クのサイズ等を考慮して決定すればよ 、。
(2)第 1及び第 2の実施の形態の夫々では、参照される可能性のある復号画像デ ータの全てを参照画像メモリ 30、 70に格納するようにしている力 参照される可能性 のある復号画像データの一部を参照画像メモリ 30、 70に格納するようにしてもよい。
[0089] 例えば、第 1の実施の形態では、 Iピクチャに関する復号画像データのみを参照画 像メモリ 30に格納するようにしてもよい。これにより、参照される可能性のある復号画 像データの全てを参照画像メモリ 30に格納する場合に比べ、参照画像メモリ 30のメ モリ容量を小さくすることが可能になる。
この場合、 DMA部 14を共有メモリ 20にも接続し、参照される復号画像データが P ピクチャに関するものであれば、共有メモリ 20から読み出すようにすればよい。
[0090] また、第 2の実施の形態では、 IDRピクチャに関する復号画像データのみを参照画 像メモリ 70に格納するようにしてもょ 、。
この場合、 DMA部 54を共有メモリ 20にも接続し、参照される復号画像データが ID Rピクチャ以外のピクチャに関するものであれば、共有メモリ 20から読み出すようにす ればよい。
[0091] (3)第 2の実施の形態では、ビットストリームは Sliding Windowでのみ処理する場合 を対象としている力 MMCO (Memory Management Control Operations)での管理 を対象としてもよい。
この場合、 MMCOコマンドを解釈し、 Short- Termピクチャ、 Long- Termピクチャの 共有メモリ 20及び参照画像メモリ 70への書き込み、破棄を制御すればよ!、。
[0092] (4)第 1の実施の形態では、参照画像メモリ 30に 2つのフレームメモリ領域を設けて いるが、 3つ以上のフレームメモリ領域を設けても良い。また、第 2の実施の形態では 、参照画像メモリ 70に 4つのフレームメモリ領域を設けている力 5つ以上のフレーム メモリ領域を設けても良い。
(5)第 1及び第 2の実施の形態において、共有メモリ 20として外部メモリを用いるよ うにしてもよく、内部メモリを用いるようにしてもよい。また、参照画像メモリ 30、 70とし て外部メモリを用いるようにしてもよく、内部メモリを用いるようにしてもよ!、。
[0093] (6)第 1及び第 2の実施の形態の画像復号部 10、 50は、典型的には集積回路であ る LSI (Large Scale Integration)として実現されてもよい。これらは、個別に 1チップ化 されてもよいし、各実施の形態の全ての構成または一部の構成を含むように 1チップ 化されてもよい。
ここでは、 LSIとしたが、集積度の違いにより、 IC (Integrated Circuit)、システム LSI
、スーパー LSI、ウノレ卜ラ LSIと呼称されることちある。
[0094] また、集積回路化の手法は LSIに限られるものではなぐ専用回路または汎用プロ セッサで実現しても良い。 LSI製造後に、プログラムすることが可能な FPGA (Field P rogrammable Gate Array)や、 LSI内部の回路セルの接続や設定を再構成可能なリ コンフィギユラブル ·プロセッサを利用しても良 、。
さらに、半導体技術の進歩又は派生する別技術により LSIに置き換わる集積回路 化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積ィ匕を行っても 良い。バイオ技術の適応等が可能性としてあり得る。
[0095] (7)第 1及び第 2の実施の形態において、画像復号部 10、 50を LSIで実現する場 合、共有メモリ 20、参照画像メモリ 30、 70、及び表示処理部 40の少なくとも 1つを画 像復号部 10、 50を実現する LSIの中に組み込んでもよ 、。
産業上の利用可能性
[0096] 本発明は、 MPEG規格に従って圧縮された動画像データを再生する DVD (Digital Versatile Disc)プレーヤ、デジタルテレビ、及び携帯電話機等の動画像復号装置 禾 IJ用することがでさる。

Claims

請求の範囲
[1] 第 1記憶手段と当該第 1記憶手段よりアクセス単位が小さい第 2記憶手段にァクセ ス可能な動画像復号装置であって、
符号化された動画像データに対して順次復号処理を施して復号データを生成する 復号手段と、
前記復号手段により生成される復号データを前記第 2記憶手段に格納するか否か を、当該復号データが後の復号処理で用いられる可能性の有無に関する所定の条 件に基づいて決定する決定手段と、
前記復号手段により生成される復号データを動画像表示のために前記第 1記憶手 段に記憶するとともに、前記決定手段により前記第 2記憶手段に格納すると決定され た場合には復号データを前記第 2記憶手段にも格納する格納手段と、
を備え、
前記復号手段は、復号処理に際して以前に生成した復号データを用いる場合、当 該復号データが前記第 2記憶手段に記憶されていれば前記第 2記憶手段から当該 復号データを読み出す
ことを特徴とする動画像復号装置。
[2] 前記復号手段は、復号処理に際して以前に生成した復号データを用いる場合、当 該復号データが前記第 2記憶手段に記憶されていなければ前記第 1記憶手段から 当該復号データを読み出す
ことを特徴とする請求項 1記載の動画像復号装置。
[3] 復号データに基づ!/、て表示手段への動画像表示処理を行う表示処理手段を更に 備え、
前記表示処理手段は前記表示手段への動画像表示処理に際して前記第 1記憶手 段力 復号データを読み出して用いる
ことを特徴とする請求項 1記載の動画像復号装置。
[4] 前記格納手段は、前記第 2記憶手段に記憶されている復号データが後の復号処理 に用いられることがなくなると、当該復号データが記憶されている前記第 2記憶手段 のメモリ領域を新たな復号データの格納に用いる ことを特徴とする請求項 1記載の動画像復号装置。
[5] 前記符号ィ匕された動画像データは MPEG2規格に従って符号ィ匕されたものであつ て、
前記所定の条件は、復号データが Iピクチャ及び Pピクチャの何れかに係る復号デ ータである
ことを特徴とする請求項 1記載の動画像復号装置。
[6] 前記符号ィ匕された動画像データは MPEG2規格に従って符号ィ匕されたものであつ て、
前記所定の条件は、復号データが Iピクチャ又は Pピクチャに係る復号データである ことを特徴とする請求項 1記載の動画像復号装置。
[7] 前記符号化された動画像データが MPEG4AVC規格に従って符号化されたもの であって、
前記所定の条件は、後の復号処理で用いられるスライスが含まれて ヽる ことであることを特徴とする請求項 1記載の動画像復号装置。
[8] 第 1記憶手段と当該第 1記憶手段よりアクセス単位が小さい第 2記憶手段にァクセ ス可能な動画像復号装置において行われる動画像復号方法であって、
符号化された動画像データに対して順次復号処理を施して復号データを生成する 復号ステップと、
前記復号ステップにおいて生成された復号データを前記第 2記憶手段に格納する か否かを、当該復号データが後の復号処理で用いられる可能性の有無に関する所 定の条件に基づ 1、て決定する決定ステップと、
前記復号ステップにお 、て生成された復号データを動画像表示のために前記第 1 記憶手段に記憶するとともに、前記決定ステップにお!、て前記第 2記憶手段に格納 すると決定された場合には復号データを前記第 2記憶手段にも格納する格納ステツ プと、
を有し、
前記復号ステップは、復号処理に際して以前に生成した復号データを用いる場合 、当該復号データが前記第 2記憶手段に記憶されていれば前記第 2記憶手段から当 該復号データを読み出す
ことを特徴とする動画像復号方法。
PCT/JP2007/060532 2006-05-24 2007-05-23 動画像復号装置及び動画像復号方法 WO2007136095A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-143837 2006-05-24
JP2006143837A JP2009194405A (ja) 2006-05-24 2006-05-24 動画像処理装置

Publications (1)

Publication Number Publication Date
WO2007136095A1 true WO2007136095A1 (ja) 2007-11-29

Family

ID=38723405

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/060532 WO2007136095A1 (ja) 2006-05-24 2007-05-23 動画像復号装置及び動画像復号方法

Country Status (2)

Country Link
JP (1) JP2009194405A (ja)
WO (1) WO2007136095A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0591499A (ja) * 1991-09-30 1993-04-09 Sony Corp 動き補償付き差分符号化装置
JPH05260461A (ja) * 1992-03-13 1993-10-08 Fujitsu Ltd 動き補償予測装置
JPH11298903A (ja) * 1998-04-09 1999-10-29 Sony Corp ディジタル画像復号装置及び方法、並びに提供媒体
JPH11308617A (ja) * 1998-04-23 1999-11-05 Hitachi Ltd ディジタル画像符号化装置とこれに用いる動きベクトル検出装置
JP2002218474A (ja) * 2001-01-24 2002-08-02 Mitsubishi Electric Corp 画像データ符号化装置
JP2004072301A (ja) * 2002-08-05 2004-03-04 Matsushita Electric Ind Co Ltd 動きベクトル検出方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0591499A (ja) * 1991-09-30 1993-04-09 Sony Corp 動き補償付き差分符号化装置
JPH05260461A (ja) * 1992-03-13 1993-10-08 Fujitsu Ltd 動き補償予測装置
JPH11298903A (ja) * 1998-04-09 1999-10-29 Sony Corp ディジタル画像復号装置及び方法、並びに提供媒体
JPH11308617A (ja) * 1998-04-23 1999-11-05 Hitachi Ltd ディジタル画像符号化装置とこれに用いる動きベクトル検出装置
JP2002218474A (ja) * 2001-01-24 2002-08-02 Mitsubishi Electric Corp 画像データ符号化装置
JP2004072301A (ja) * 2002-08-05 2004-03-04 Matsushita Electric Ind Co Ltd 動きベクトル検出方法

Also Published As

Publication number Publication date
JP2009194405A (ja) 2009-08-27

Similar Documents

Publication Publication Date Title
US8428126B2 (en) Image decoding device with parallel processors
JP4570532B2 (ja) 動き検出装置、動き検出方法、集積回路およびプログラム
Kang et al. MPEG4 AVC/H. 264 decoder with scalable bus architecture and dual memory controller
CN110740318A (zh) 用于视频处理和视频译码的自动自适应长期参考帧选择
JP2011147189A (ja) トランスコード装置及びトランスコード方法
US20060203917A1 (en) Information processing apparatus with a decoder
WO2009142003A1 (ja) 画像符号化装置及び画像符号化方法
JP5395307B2 (ja) 動画像復号化装置および動画像復号化方法
WO2010140338A1 (ja) 画像符号化装置、方法、集積回路、プログラム
JP2010288166A (ja) 動画像符号化装置、放送波記録装置及び、プログラム
JP2006254231A (ja) 情報処理装置および同装置で用いられるプログラム
JP2000050263A (ja) 画像符号化並びに復号化装置及びこれを用いた撮像装置
WO2012046366A1 (ja) 画像再生方法、画像再生装置、画像再生プログラム、撮像システム、および再生システム
US6862318B2 (en) Image data encoding device
JP6013547B2 (ja) 画像符号化装置および画像符号化方法
JP4942610B2 (ja) トランスコード装置及びトランスコード方法
US20110122952A1 (en) Motion estimation device
JP2003230148A (ja) 画像データ符号化装置
WO2007136095A1 (ja) 動画像復号装置及び動画像復号方法
JPH11308618A (ja) 画像信号処理装置及び方法並びに画像信号再生装置
US8897368B2 (en) Image coding device, image coding method, image coding integrated circuit and image coding program
TW202209889A (zh) 精細控制影像編碼及解碼程序方法及裝置
JP4515870B2 (ja) 信号処理装置及び映像システム
KR100718419B1 (ko) 비디오 디코더의 저장 장치 및 그 제어 방법
KR100556341B1 (ko) 메모리 대역폭이 감소된 비디오 디코더 시스템

Legal Events

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

Ref document number: 07743966

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07743966

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)