WO2006057182A1 - 復号化回路、復号化装置、及び復号化システム - Google Patents

復号化回路、復号化装置、及び復号化システム Download PDF

Info

Publication number
WO2006057182A1
WO2006057182A1 PCT/JP2005/020952 JP2005020952W WO2006057182A1 WO 2006057182 A1 WO2006057182 A1 WO 2006057182A1 JP 2005020952 W JP2005020952 W JP 2005020952W WO 2006057182 A1 WO2006057182 A1 WO 2006057182A1
Authority
WO
WIPO (PCT)
Prior art keywords
macroblock
decoding
motion vector
transfer
buffer
Prior art date
Application number
PCT/JP2005/020952
Other languages
English (en)
French (fr)
Inventor
Keishi Chikamura
Takeshi Tanaka
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to JP2006547732A priority Critical patent/JP4106070B2/ja
Priority to CN2005800402672A priority patent/CN101065973B/zh
Priority to US11/791,220 priority patent/US8649439B2/en
Publication of WO2006057182A1 publication Critical patent/WO2006057182A1/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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/513Processing of motion vectors
    • 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
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Definitions

  • Decoding circuit decoding device, and decoding system
  • the present invention relates to a decoding circuit, a decoding device, and a decoding key system that sequentially decode a plurality of macroblocks constituting a coded picture in a predetermined order.
  • motion compensation interframe prediction is an important element of video compression coding Z decoding technology.
  • Motion-compensated interframe prediction refers to the continuous frames (screen
  • moving picture compression methods such as MPEG (Moving Picture Experts Group)
  • each unit called a ⁇ macroblock '' divided into pictures is moved forward or backward in display order.
  • a “motion vector” is used to indicate in which direction and to what extent the macroblock in the other picture is located.
  • the picture to be compared is called a “reference picture”.
  • MPEG 4-AVC Advanced Video Coding
  • a method called “motion-compensated interframe prediction” is used (see Non-Patent Document 1).
  • Bi-directional motion compensation compensation inter-frame prediction is a method of selecting two arbitrary reference pictures from the preceding and following pictures and performing prediction prediction between these two reference pictures. Note that a picture for which bi-directional motion compensation inter-frame prediction is performed is referred to as a “bi-predictive picture” and abbreviated as “picture”.
  • the direct mode is a code mode in which a motion vector is calculated for each macroblock using a motion vector of another macroblock that has already been decoded without encoding a motion vector.
  • the macro block is in direct mode. If the motion vector of the macroblock is encoded using the motion vector of the macroblock on the same coordinate as the macroblock in the picture immediately before the picture to which the macroblock belongs, Done.
  • a conventional process for decoding a macroblock encoded in the direct mode will be briefly described with reference to FIG.
  • the MPEG standard sequentially decodes each macroblock in a picture.
  • a certain amount of the motion vector of each degenerated macroblock is stored.
  • motion vectors of four pictures are stored, and if it is composed of 8160 macroblocks per picture, a total of 32640 macroblocks are stored. It is necessary to memorize the motion vector. It is not practical to store such a large number of motion vectors in a decoding circuit because it cannot catch up with a normal noffer. For this reason, the motion vector of each decoded macroblock is stored in a memory such as a DRAM (Dynamic Random Access Memory) outside the decoding circuit that performs decoding.
  • DRAM Dynamic Random Access Memory
  • step S200 it is determined whether or not the power is not received.
  • a DMA (Direct Memory Access) transfer instruction is issued (step S201) to obtain the motion vector of other macroblocks to be referenced from the external memory. Based on the motion vector transferred from the external memory, the motion vector of the macroblock is determined (step S202).
  • DMA Direct Memory Access
  • Non-Patent Document 1 ITU-T Recommendation H.264 “Advanced Video Coding for Generic Audiov isual Services”
  • step S 200 after it is determined that the macroblock is encoded in the direct mode (step S 200), the external memory is accessed (step S 200). S201), the motion vectors of other necessary macroblocks are acquired. Since the transfer from the external memory to the decoding circuit is necessary, it takes time as shown by the arrow in the figure, and as a result, the total time T for decoding the macroblock of the B picture is long. There is a problem of time.
  • an object of the present invention is to provide a decoding circuit, a decoding device, and a decoding system that can decode a B picture encoded in the direct mode at high speed.
  • the decoding circuit sequentially decodes a plurality of macroblocks constituting a picture encoded in accordance with the MPEG (Moving Picture Experts Group) standard in a predetermined order. And a transfer means for transferring data to and from an external memory existing outside the decoding circuit, a buffer for holding a motion vector of the macroblock, and one macro Before the decoding of the block is completed, the motion vector of another macro block referred to when the macro block after the one macro block is encoded in the direct mode is transferred from the external memory to the buffer.
  • a buffer transfer instructing unit for instructing the transfer unit to transfer, and a motion vector of each macroblock are sequentially specified.
  • Decoding means for calculating and specifying the motion vector of the macroblock based on the motion vector held in the buffer when encoded in the rect mode, and transferring the specified motion vector to the external memory And an external memory transfer instruction means for instructing the transfer means to do so.
  • this decoding circuit is realized by an integrated circuit, and the capacity of the buffer in the circuit is limited.
  • the transfer means is realized by a DMA controller.
  • the motion vector that will be required by the macroblock to be decoded in the future is transferred in advance from the external memory to the buffer in the circuit.
  • This advanced transfer configuration is unnecessary unless the macroblock is coded in direct mode.
  • a macroblock is coded in direct mode, When decoding a macroblock, the motion vector can be specified immediately. As a result, when the macroblock is coded in the direct mode, the time required for decoding the macroblock can be shortened.
  • the buffer transfer instructing unit may determine whether a macro block following the one macro block is between the start of decoding and the completion of the decoding of the one macro block.
  • the transfer means is instructed to transfer a motion vector of another macro block to be referred to when it is coded in the direct mode from the external memory to the buffer.
  • the motion vector referred to when the n + 1st macroblock is encoded in the direct mode is transferred to the buffer in the circuit. Therefore, even when the n + 1st macroblock is coded in the direct mode, the motion vector can be determined immediately when decoding is performed. In addition, the size of the buffer in the circuit can be reduced to the minimum size that can hold the motion vector referenced by the next macroblock in the next order.
  • FIG. 1 is a block diagram showing a configuration of a decoding system 10 according to the present invention.
  • FIG. 2 is a schematic diagram showing the structure of data encoded according to the MPEG standard.
  • FIG. 3 is a schematic diagram showing a method for calculating a motion vector in a temporal direct mode.
  • FIG. 4 is a flowchart showing a decoding key processing operation of the decoding key system 10.
  • FIG. 5 is a timing chart showing a decoding key processing operation of the decoding key system 10.
  • FIG. 6 is a schematic diagram showing a method of calculating a motion vector in the spatial direct mode.
  • FIG. 7 is a timing chart showing a conventional decoding process.
  • the decoding key system 10 includes a decoding key circuit 100 and an external memory 200 and a storage medium 300 connected to the decoding key circuit 100.
  • the external memory 200 is a writable memory such as DRAM used as a work area, and in particular, temporarily stores data necessary for the decryption circuit 100 to be described later to execute decryption processing.
  • DRAM dynamic random access memory
  • the storage medium 300 is a large-capacity storage medium such as an HDD (Hard Disk Drive), and stores moving image data (hereinafter sometimes referred to as “stream”) encoded according to the MPEG standard. . These streams are, for example, those in which a user has recorded a television program.
  • the decoding key circuit 100 is an integration circuit that performs decoding of a stream encoded according to the MPEG standard. When decrypting a stream, a stream that is sequentially read from the HDD 300 into the work area of the external memory 200 is input and decrypted.
  • the decoding circuit 100 includes a stream transfer instruction unit 101, a decoding unit 102, a DMA controller 103, a reference image transfer instruction unit 104, a noffer transfer instruction unit 105, a nofer 106, a buffer erasure unit 107, and an external memory transfer instruction unit. 108, an inverse frequency conversion processing unit 109, a motion compensation processing unit 110, an intra processing unit 111, a deblock filter processing unit 112, and a decoded image transfer instruction unit 113.
  • the stream transfer instruction unit 101 has a function of instructing the DMA controller 103 to transfer a stream from the external memory 200 to a buffer 106 described later.
  • the decoding key unit 102 variable-length-decodes a variable-length encoded stream according to the MPEG standard in units of macro blocks, and outputs the macro block type, motion vector, and pixel residual value of the macro block. It has the function to do.
  • For motion vectors if the macroblock is coded in a mode other than the direct mode, it is determined by decoding the macroblock, while the macroblock is coded in the direct mode. In this case, calculation is performed using a motion vector held in a buffer 106 described later.
  • the DMA controller 103 has a function of transferring data between the external memory 200 and each buffer such as a notch 106 provided in the decoding circuit 100 by a DMA method.
  • the reference image transfer instruction unit 104 has a function of instructing the DMA controller 103 to transfer the reference image indicated by the motion vector output from the decoding unit 101 from the external memory 200 to the buffer 106.
  • the noffer transfer instruction unit 105 transfers a motion vector of another macroblock that has already been decoded and referred to when the macroblock has been encoded in the direct mode to the buffer 105 described later. A function of instructing the DMA controller 103.
  • the nother 106 is a storage area for temporarily storing data in the decoding circuit 100, and has a capacity for storing at least one macroblock motion vector. In particular, it is output from the DMA controller 103 in response to an instruction from the noffer transfer instruction unit 105. The motion vector is temporarily stored.
  • the external memory transfer instruction unit 107 has a function of instructing the DMA controller 103 to transfer the motion vector determined every time the decoding unit 102 decodes a macroblock to the external memory 200. .
  • the inverse frequency conversion processing unit 108 has a function of performing inverse frequency conversion on the pixel value residual output from the decoding unit 102 and outputting the result.
  • the motion compensation processing unit 109 combines the pixel value residual output from the inverse frequency conversion processing unit 108 and the reference image transferred in accordance with the transfer instruction from the reference image transfer instruction unit 104, and combines them. It has a function of outputting an image as a decoded image.
  • the intra processing unit 110 is a macroblock that is encoded in a mode that does not require inter-frame prediction (hereinafter referred to as “intra macroblock”).
  • the inverse frequency transform processing unit 108 has a function of decoding using the macro block pixel value residual output and outputting a decoded image.
  • the deblock filter processing unit 111 has a function of performing deblock filter processing for reducing block noise on the decoded images output from the motion compensation processing unit 109 and the intra processing unit 110.
  • the decoded image transfer unit 112 has a function of instructing the DMA controller 103 to transfer the decoded image subjected to the deblock filter processing by the deblock filter processing unit 111 to the external memory 200.
  • a stream encoded according to the MPEG standard also has a plurality of picture forces ( ⁇ 1, ⁇ 2, ⁇ 3 ⁇ ⁇ ).
  • Each picture is a still image constituting a stream that is a moving image, and corresponds to one screen.
  • each picture is horizontally divided into slices having a width of 16 lines (slice # 1, slice # 2, ⁇ slice # ⁇ ).
  • a slice is a basic unit for coding a picture.
  • a macroblock (hereinafter abbreviated as “ ⁇ ”) is obtained by further dividing each slice into more powerful portions. May be indicated).
  • a macroblock is a basic unit for decoding including motion compensation interframe prediction.
  • MPEG4-AVC Advanced Video Coding
  • HDTV High Definition Television
  • the motion vector is information indicating how much and in which direction the macroblock moves in comparison with other pictures positioned forward or backward in the display order in each macroblock. If so, it is specified at the stage of variable length decoding of the macroblock.
  • anchor picture one picture of the reference pictures of the decoding target macroblock is referred to ( Refer to AP01).
  • the motion vector of MB01 is calculated according to the following equation using the motion vector of a macroblock (hereinafter referred to as “anchor block”) (AB01) located on the same coordinates as MB01.
  • mvCol is the value of the motion vector of AB01 and indicates which macroblock in the reference picture hits AB01.
  • tb is the time interval between the other reference picture and the picture of MB01.
  • td is the time interval between the other reference picture and AP01. The values of tb and td are notified from the decoding unit 102.
  • the motion vectors mvLO and mvLl of MB01 are calculated.
  • the macroblock MB00 on AP01 and the macroblock MB02 on the other reference picture are used as reference images. Is decided The
  • the stream acquisition unit 101 performs DM
  • the A controller 103 is instructed to transfer the stream from the external memory 200, and in response to this, the DMA controller 103 transfers the stream from the external memory 200 to the decoding unit 102 (step S100).
  • the decoding unit 102 Upon receiving the stream, the decoding unit 102 starts decoding processing for each picture constituting the stream in units of macroblocks (step S101). Where the nth macroblock
  • the (n + 1) th macroblock Instruct the transfer of the buffer to transfer the motion vector of the anchor block (hereinafter referred to as “( n + 1) -th anchor block”) that is encoded in direct mode from the external memory 200 to the buffer 106.
  • the unit 105 instructs the DMA controller 103 (step S102).
  • the decoding unit 102 In decoding of the n-th macroblock started in step S101, first, the decoding unit 102 refers to the macroblock header, and the macroblock for which the macroblock performs interframe prediction (hereinafter referred to as "interblock”). It is determined whether it is a macroblock (hereinafter referred to as “intra macroblock”) that is not subjected to inter-frame prediction (step S103).
  • step S103 If the result of determination in step S103 is an inter macroblock (step S103: YES), it is further determined whether or not the encoding format of the nth macroblock is in direct mode (Ste S 104).
  • step S104 uses the motion vector stored in the buffer 106 to A motion vector of the macro block is calculated (step S105).
  • the (n ⁇ 1) -th macroblock is transferred in parallel to the noffer 106 while being decoded.
  • n- th anchor block a motion vector of an anchor block to be referred to when the n-th macroblock is encoded in the direct mode is stored.
  • step S 104 determines whether the code key format is a mode other than the direct mode. If the result of determination in step S 104 is that the code key format is a mode other than the direct mode, the decoding key unit 102 performs variable length decoding on the nth macroblock.
  • the motion vector is identified at the stage (step S106).
  • the decoding unit 102 outputs the identified motion vector to the buffer in the external memory transfer instruction unit 107, and the external memory transfer instruction unit 108 that has received the motion vector transfers the motion vector to the external memory 200.
  • the DMA controller 103 is instructed (step S107).
  • the address in the external memory 200 to which the motion vector is transferred and the nth macroblock are transferred in association with each other.
  • the reference image transfer instruction unit 104 transfers the reference image based on the motion vector output from the decoding unit 102 from the external memory 200 to the buffer in the motion compensation processing unit 109. 103 is instructed (step S108).
  • the inverse frequency transform processing unit 108 performs inverse frequency transform on the pixel residual value output from the decoding unit 102 (step S109).
  • the motion compensation processing unit 109 receives the pixel value residual output from the inverse frequency conversion processing unit 108 and the reference image transferred via the DMA controller 103 in accordance with the transfer instruction from the reference image transfer instruction unit 104. And the synthesized image is output as a decoded image (step S110) .On the other hand, if the result of determination in step S103 is an intra macroblock instead of an inter macroblock, information indicating that it is an intra block. Is transferred to the external memory 200 (step S111).
  • the inverse frequency transform processing unit 108 performs inverse frequency transform on the pixel residual value output by the decoding unit 102 (step S112).
  • the intra processing unit 110 also generates a reference image for the peripheral image power of the nth macroblock, and outputs an image added with the pixel residual value output by the inverse frequency transform processing unit 108 as a decoded image (step S113).
  • the deblock filter processing unit 111 performs deblocking processing for removing block noise on the decoded image output in step SI 10 or step SI 13, and stores it in the buffer in the decoded image transfer instruction unit 112. Output (step S114).
  • the decoded image transfer instruction unit 112 instructs the DMA controller 103 to transfer the deblocked decoded image to the external memory 200 (step S115).
  • Step S116 the motion vector of the (n + 1) -th anchor block is transferred to the buffer 106 via the DMA controller 103 in accordance with the motion vector transfer instruction in step S102.
  • n is incremented. Subsequently, the (n + 1) -th decoding and the transfer of the motion vector of the (n + 2) -th anchor block are started (steps S101 and S102).
  • the n th macroblock decoding process (steps S103 to S115) and the motion vector of the (n + 1) th anchor block are performed. Are transferred in parallel to the buffer 106 (steps S102 and S116).
  • the (n + 1) -th macroblock is coded in the direct mode, the (n + 1) -th macroblock is immediately stored in the buffer 106 when the (n + 1) -th macroblock is decoded.
  • the motion vector can be calculated using the motion vector of the second anchor block.
  • step 200 once the macroblock type is determined (step 200) and it is found that the macroblock is encoded in the direct mode, the process moves to the DMA controller 103.
  • Vector transfer is instructed (step S201). For this reason, even when the decoding process of the macroblock is completed, it is necessary to wait for the transfer from the external memory 200 to be completed. As a result, the overall time T required to decode the macroblock is reduced. It will be long.
  • the decoding process (steps S103 to S115) of the nth macroblock and the motion beta of the (n + 1) th anchor block Transfer to the buffer 106 is executed in parallel.
  • the (n + 1) -th macroblock is coded in the direct mode, at the timing T2, when the (n + 1) -th macroblock is decoded, it is immediately stored in the buffer 106.
  • the motion vector can be calculated using the motion vector of the (n + 1) -th anchor block.
  • the time T2 required to decode the (n + 1) -th macroblock is shortened. This parallel processing is repeated until the nth, (n + 1) th, (n + 2) th, ..., and (n + x) th end of the stream, so for any macroblock The same effect is produced.
  • the decoding system 10 has been described based on the embodiment. Various modifications can be made to the configuration and operation of this embodiment.
  • the capacity of the force buffer 106 which describes the operation of transferring the motion vector of the anchor block for the next macroblock to the buffer 106 in parallel with the decoding process of the macroblock, is increased.
  • a plurality of motion vectors related to a plurality of anchor blocks for a plurality of macro blocks may be transferred together.
  • the burst length may be insufficient and the transfer efficiency may be insufficient.
  • the number of transfers between the external memory 200 and the buffer 106 can be reduced, the burst length can be increased, and the transfer efficiency can be improved.
  • the number of macroblock anchor block motion vectors to be transferred depends on the size of the notifier 106. As long as it is up to one as in the above embodiment, the force that can minimize the size of the buffer 106 is not limited to the maximum number of times that the size of the buffer 106 allows.
  • the external memory transfer instruction means 107 instructs to transfer the decoded motion vector to the external memory 200, it also transfers a plurality of motion vectors related to a plurality of macroblocks collectively.
  • the “time direct mode” has been described as the direct mode.
  • the “space direct mode” may be used! /.
  • the motion vector of the macroblock (MB01) to be decoded another macroblock that has already been decoded in the picture of MB01 is referred to. Specifically, the motion vectors of the left macroblock (MB (A)), the upper macroblock (MB (B)), and the upper right macroblock (MB (C)) of MB01 are used. Then, the motion vector of MB01 is calculated according to the following formula.
  • mv median (mvA, mvB, mvC
  • mvA is the motion vector of MB (A).
  • mvB is the motion vector of MB (B).
  • mvC is a motion vector of MB (C). Based on Equation 3, the motion vector mv of MB01 is calculated.
  • step S102 in the flowchart shown in FIG. 4 the left, upper, and upper right positions in the picture of the (n + 1) -th macroblock are displayed.
  • the DMA controller 103 may be instructed to transfer the motion vectors (total of three motion vectors) of each macroblock located to the buffer 106.
  • the size of the Koffa 106 is memorized, and a total of three motion vectors are stored. Match the size you want.
  • the decoding circuit, decoding device, and decoding system according to the present invention can be applied to a device that decodes and reproduces video encoded according to the MPEG standard, and realizes high-speed decoding. Useful as.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

 ダイレクトモードで符号化されたBピクチャを高速に復号化することのできる復号化回路、復号化装置、及び復号化システムを提供する。  n番目のマクロブロックの復号化処理(ステップS103~116)と、(n+1)番目用アンカーブロックの動きベクトルのバッファ106への転送(ステップS102及びS117)とが並列して実行される。これより、(n+1)番目のマクロブロックがダイレクトモードで符号化されていた場合に、タイミングT2において、(n+1)番目のマクロブロックを復号化する際にすぐにバッファ106内の(n+1)番目用アンカーブロックの動きベクトルを用いて動きベクトルを算出する。  

Description

明 細 書
復号化回路、復号化装置、及び復号化システム
技術分野
[0001] 本発明は、符号ィ匕されたピクチャを構成する複数のマクロブロックを所定の順番で 逐次復号化する復号化回路、復号化装置、及び復号ィ匕システムに関する。
背景技術
[0002] 従来、動画像圧縮符号化 Z復号化技術の重要な要素に、「動き補償フレーム間予 測」がある。動き補償フレーム間予測とは、動画像を構成する連続したフレーム (画面
)内のピクチヤがどのように動いたかを検出して効率よく圧縮する手法である。 MPEG (Moving Picture Experts Group)等の代表的な動画像圧縮方法では、動き補償フレ ーム間予測を行う際、ピクチャを分割した「マクロブロック」と呼ばれる単位毎に、表示 順で前方又は後方に位置する他のピクチャ内のマクロブロックと比較してどの方向へ どの程度動くかを示す「動きベクトル」を使用する。なお、比較されるピクチャを「参照 ピクチャ」と呼ぶ。
[0003] また、近年、新たな動画像圧縮符号化 Z復号化技術として規格化された、 MPEG 4— AVC (Advanced Video Coding)においては、さらに高度な動き補償フレーム間 予測である、「双方向動き補償フレーム間予測」という手法が用いられる (非特許文献 1を参照)。
ここで、双方向動き補償フレーム間予測について簡単に説明する。
[0004] 双方向動きネ ΐ償フレーム間予測とは、前後にあるピクチヤから任意の参照ピクチャ を 2枚選択し、この 2枚の参照ピクチャ力 動き補償フレーム間予測を行う手法である 。なお、双方向動き補償フレーム間予測を行う対象となるピクチャを「双予測ピクチャ (Bi-predictive Picture)」と呼び、略して「 ピクチャ」と呼ぶ。
ところで、 Bピクチャの符号ィ匕を行う際、「ダイレクトモード」と呼ばれる符号ィ匕モード で符号ィ匕することがある。ダイレクトモードとは、動きベクトルを符号化せずに、既に過 去に復号化された他のマクロブロックの動きベクトルを用いてマクロブロック毎に動き ベクトルを算出する符号ィ匕モードである。具体的には、マクロブロックがダイレクトモー ドで符号化されていた場合、当該マクロブロックが属するピクチャの 1つ前のピクチャ 内における、当該マクロブロックと同じ座標上のマクロブロックの動きベクトルを用いて 、当該マクロブロックの動きベクトルの計算が行われる。ダイレクトモードで符号化され たマクロブロックを復号ィ匕する従来の処理について、図 7を参照しながら簡単に説明 する。
[0005] まず、前提として、将来ダイレクトモードで符号化されたマクロブロックを復号化する ことに備えて、 MPEG規格では、ピクチャ内の各マクロブロックを逐次復号ィ匕していく 中で、復号ィ匕された各マクロブロックの動きベクトルを一定量記憶しておくようになつ ている。例えば、 MPEG4—AVCの 1仕様によれば、 4枚のピクチヤの動きベクトルを 記憶しておくようになっており、 1ピクチャ当たり 8160マクロブロックで構成されている とすると、合計 32640個のマクロブロックの動きベクトルを記憶しておく必要がある。こ れだけ大量の動きベクトルを復号ィ匕回路内に記憶しておくには通常のノ ッファでは 追いつかず、現実的ではない。そのため、復号ィ匕された各マクロブロックの動きべタト ルを、復号化を行う復号化回路外にある DRAM (Dynamic Random Access Memory) 等のメモリに記憶しておくようになって 、る。
[0006] ここで、図 7に示すように、 Bピクチャのマクロブロックを復号ィ匕する際、まず、当該マ クロブロックの先頭に含まれるマクロブロックタイプ情報を参照し、当該マクロブロック がダイレクトモードで符号ィ匕されて 、る力否かを判断する (ステップ S200)。
ダイレクトモードで符号ィ匕されて 、た場合、参照する他のマクロブロックの動きべタト ルを外部メモリから取得するよう DMA (Direct Memory Access)転送指示を行 ヽ(ス テツプ S201)、この結果として外部メモリから転送された動きベクトルに基づいて当該 マクロブロックの動きベクトルを決定する(ステップ S202)。
非特許文献 1 : ITU— T勧告 H. 264 「Advanced Video Coding for Generic Audiov isual Services」
発明の開示
発明が解決しょうとする課題
[0007] ところ力 図 7に示したような従来の手法では、マクロブロックがダイレクトモードで符 号化されて ヽることが判定された (ステップ S 200)後で、外部メモリにアクセスし (ステ ップ S 201)、必要となる他のマクロブロックの動きベクトルを取得するようになっている 。外部メモリから復号ィ匕回路内への転送が必要なために、図中の矢印で示すように 時間がかかってしまい、その結果、 Bピクチャのマクロブロックを復号化する全体の時 間 Tが長時間化してしまうという課題がある。
[0008] マクロブロックを復号化する時間 Tが長時間化すると、 Bピクチャの復号化も遅延し てしまい、結果、動画像全体を復号化する時間にまで影響が及ぶ可能性がある。 そこで、本発明は、ダイレクトモードで符号化された Bピクチャを高速に復号化する ことのできる復号ィ匕回路、復号化装置、及び復号ィ匕システムを提供することを目的と する。
課題を解決するための手段
[0009] 上記課題を解決するために、本発明に係る復号化回路は、 MPEG (Moving Pictur e Experts Group)規格に従って符号化されたピクチャを構成する複数のマクロブロッ クを所定の順番で逐次復号化する復号化回路であって、前記復号化回路の外部に 存在する外部メモリとの間でデータ転送を行う転送手段と、マクロブロックの動きべク トルを保持するためのバッファと、一のマクロブロックを復号ィ匕し終える前に、当該一 のマクロブロック以降のマクロブロックがダイレクトモードで符号ィ匕されていた場合に 参照される別のマクロブロックの動きベクトルを、前記外部メモリから前記バッファに転 送するよう前記転送手段に指示するバッファ転送指示手段と、逐次各マクロブロック の動きベクトルを特定するものであり、マクロブロックがダイレクトモードで符号化され ていた場合に、前記バッファに保持されている動きベクトルに基づいて当該マクロブ ロックの動きベクトルを計算して特定する復号化手段と、特定した動きベクトルを前記 外部メモリに転送するよう前記転送手段に指示する外部メモリ転送指示手段とを備え ることを特徴とする。ここで、この復号ィ匕回路は集積回路により実現されるものであり、 回路内のバッファには容量に制約がある。また、転送手段は、 DMAコントローラで実 現される。
発明の効果
[0010] 以上の構成により、回路内のノッファ容量の制約により、復号ィ匕済みの動きベクトル の記憶をいつたん外部メモリに記憶しておく必要がある復号ィ匕回路であっても、マク ロブロックの復号ィ匕を開始する前に、将来復号ィ匕するマクロブロックが必要とするであ ろう動きベクトルを外部メモリから先行的に回路内のバッファに転送しておく。この先 行的に転送を行う構成により、マクロブロックがダイレクトモードで符号ィ匕されていな い限り不要にはなるが、あるマクロブロックがダイレクトモードで符号ィ匕されて 、た場 合には、このマクロブロックを復号ィ匕するときにすぐさま動きベクトルを特定することが できる。この結果、マクロブロックがダイレクトモードで符号ィ匕されているときに、当該 マクロブロックの復号ィ匕に要する時間を短縮することができる。
[0011] また、上記復号ィ匕回路において、前記バッファ転送指示手段は、一のマクロブロッ クの復号ィ匕を開始して力も完了するまでの間に、当該一のマクロブロックに続くマクロ ブロックがダイレクトモードで符号ィ匕されていた場合に参照される別のマクロブロック の動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指 示することを特徴とする。
[0012] この構成により、 n番目のマクロブロックを復号している間に、 n+ 1番目のマクロブロ ックがダイレクトモードで符号ィ匕されていた場合に参照する動きベクトルを回路内の バッファに転送しておくため、 n+ 1番目のマクロブロックがダイレクトモードで符号化 されていた場合でも、復号ィ匕するときにすぐさま動きベクトルを決定することができる。 また、回路内のバッファのサイズを、 1つ先の順番のマクロブロックが参照する動きべ タトルを保持できる最小限のサイズに抑えることができる。
図面の簡単な説明
[0013] [図 1]本発明に係る復号ィ匕システム 10の構成を示すブロック図である。
[図 2]MPEG規格に準じて符号化されたデータの構造を示す概略図である。
[図 3]時間ダイレクトモード時の動きベクトルの算出方法を示す概略図である。
[図 4]復号ィ匕システム 10の復号ィ匕処理動作を示すフローチャートである。
[図 5]復号ィ匕システム 10の復号ィ匕処理動作を示すタイミングチャートである。
[図 6]空間ダイレクトモード時の動きベクトルの算出方法を示す概略図である。
[図 7]従来の復号ィ匕処理を示すタイミングチャートである。
符号の説明
[0014] 10 復号化システム 100 復号化回路
101 ストリーム転送指示部
102 復号化部
103 DMAコントローラ
104 参照画像転送指示部
105 バッファ転送指示部
106 ノ ッファ
107 外部メモリ転送指示部
108 逆周波数変換処理部
109 動き補償処理部
110 イントラ処理部
111 デブロックフィルタ処理部
112 復号画像転送指示部
200 外部メモリ
300 記憶媒体
発明を実施するための最良の形態
[0015] 以下、本発明の実施の形態について、図面を参照しながら説明する。
< 1.構成 >
く 1— 1.復号ィ匕システム 10の構成〉
図 1に示すように、復号ィ匕システム 10は、復号ィ匕回路 100と、当該復号ィ匕回路 100 に接続されて 、る外部メモリ 200と記憶媒体 300とから構成されて 、る。
[0016] 外部メモリ 200は、作業領域として使用される DRAM等の書き込み可能なメモリで あり、特に、後述する復号ィ匕回路 100が復号ィ匕処理を実行する上で必要となるデー タを一時的に記憶する。
記憶媒体 300は、 HDD (Hard Disk Drive)等の大容量記憶媒体であり、 MPEG規 格に準じて符号化された動画像データ (以下、「ストリーム」と呼ぶ場合がある)を記憶 している。これらのストリームは、例えば、ユーザがテレビ番組を録画したもの等である [0017] 復号ィ匕回路 100は、 MPEG規格に準じて符号ィ匕されたストリームの復号ィ匕を行う集 積回路である。ストリームの復号化にあたっては、 HDD300から外部メモリ 200の作 業領域に逐次読み込まれるストリームを入力し、復号化する。
く 1— 2.復号ィ匕回路 100の構成〉
復号ィ匕回路 100は、ストリーム転送指示部 101、復号化部 102、 DMAコントローラ 103、参照画像転送指示部 104、ノ ッファ転送指示部 105、ノ ッファ 106、バッファ 消去部 107、外部メモリ転送指示部 108、逆周波数変換処理部 109、動き補償処理 部 110、イントラ処理部 111、デブロックフィルタ処理部 112、及び復号画像転送指 示部 113を備える。
[0018] ストリーム転送指示部 101は、外部メモリ 200から後述するバッファ 106にストリーム を転送するよう DMAコントローラ 103に指示する機能を有する。
復号ィ匕部 102は、 MPEG規格に準じて可変長符号ィ匕されたストリームをマクロプロ ック単位で可変長復号化し、当該マクロブロックのマクロブロックタイプ、動きベクトル 、及び画素残差値を出力する機能を有する。動きベクトルについては、マクロブロック がダイレクトモード以外のモードで符号ィ匕されて 、る場合は、マクロブロックを復号ィ匕 することで決定し、一方、マクロブロックがダイレクトモードで符号ィ匕されている場合は 、後述するバッファ 106に保持されて 、る動きベクトルを用 、て算出するものである。
[0019] DMAコントローラ 103は、 DMA方式により、外部メモリ 200と復号ィ匕回路 100内に 備わるノ ッファ 106等の各バッファとの間でデータを転送する機能を有する。
参照画像転送指示部 104は、復号ィ匕部 101が出力した動きベクトルが示す参照画 像を外部メモリ 200からバッファ 106に転送するよう DMAコントローラ 103に指示す る機能を有する。
[0020] ノッファ転送指示部 105は、マクロブロックがダイレクトモードで符号ィ匕されていた 場合に参照する、既に復号ィ匕された別のマクロブロックの動きベクトルを、後述するバ ッファ 105に転送するよう DMAコントローラ 103に指示する機能を有する。
ノ ッファ 106は、復号ィ匕回路 100内で一時的にデータを記憶しておく記憶領域で あり、マクロブロックの動きベクトルを少なくとも 1つ記憶できる容量を有している。特に 、 ノッファ転送指示部 105からの指示に応じて DMAコントローラ 103から出力される 動きベクトルを一時的に記憶する。
[0021] 外部メモリ転送指示部 107は、復号ィ匕部 102がマクロブロックを復号ィ匕するたびに 決定される動きベクトルを外部メモリ 200に転送するよう、 DMAコントローラ 103に指 示する機能を有する。
逆周波数変換処理部 108は、復号ィ匕部 102が出力した画素値残差を逆周波数変 換して出力する機能を有する。
[0022] 動き補償処理部 109は、逆周波数変換処理部 108が出力した画素値残差と、参照 画像転送指示部 104からの転送指示に応じて転送される参照画像とを合成し、合成 した画像を復号画像として出力する機能を有する。
イントラ処理部 110は、マクロブロックがフレーム間予測を必要としてないモードで 符号化されて ヽるマクロブロック(以下、「イントラマクロブロック」と呼ぶ)である場合に
、逆周波数変換処理部 108が出力したマクロブロックの画素値残差を用いて復号ィ匕 し、復号画像を出力する機能を有する。
[0023] デブロックフィルタ処理部 111は、動き補償処理部 109及びイントラ処理部 110が 出力した復号画像に対し、ブロックノイズを低減するためのデブロックフィルタ処理を 行う機能を有する。
復号画像転送部 112は、デブロックフィルタ処理部 111でデブロックフィルタ処理さ れた復号画像を外部メモリ 200に転送するよう、 DMAコントローラ 103に指示する機 能を有する。
< 2.データ構造 >
ここで、復号ィ匕システム 10が復号ィ匕を行うデータについて説明する。
[0024] 図 2に示すように、 MPEG規格に準じて符号ィ匕されたストリームは、複数のピクチャ 力も構成されている(Ρ1、 Ρ2、 Ρ3 · · · Ρη)。各ピクチャは、動画像であるストリームを 構成する静止画であり、 1画面に相当する。
さらに、各ピクチャは、 16ライン幅を有するスライスで水平方向に分割されている (ス ライス # 1、スライス # 2 · · 'スライス # η)。スライスは、ピクチャの符号化を行う基本単 位である。
[0025] そして、各スライスをさらに細力べ分割したものがマクロブロック(以下、「ΜΒ」と略し て表記することがある)である。マクロブロックは、動き補償フレーム間予測を含む、復 号化を行う基本単位である。例えば、 MPEG4 - AVC (Advanced Video Coding)の HDTV (High Definition Television:高精細テレビ)品質の場合、 1つのピクチャが 81 60個のマクロブロックに分割される。
[0026] ここで、 Bピクチャのマクロブロックの動きベクトルについて説明する。
動きベクトルは、各マクロブロックにおいて、表示順で前方又は後方に位置する他 のピクチャと比較してどの方向へどの程度動くかを示す情報であり、マクロブロックが ダイレクトモード以外のモードで符号ィ匕されている場合は、当該マクロブロックを可変 長復号化する段階で特定される。
[0027] 一方、マクロブロックがダイレクトモードで符号ィ匕されている場合は、当該マクロブロ ックの動きベクトルを決定するために別のマクロブロックの動きベクトルを用いて算出 する必要がある。なお、本実施形態においては、「時間ダイレクトモード」での動きべ タトルの算出方法について説明する。
図 3を参照すると、復号化対象のマクロブロック(MB01)の動きベクトルを算出する ために、当該復号化対象マクロブロックの参照ピクチヤのうち一方のピクチャ(以下、「 アンカーピクチャ」)と呼ぶ)(AP01)を参照する。 AP01の中で、 MB01と同じ座標上 に位置するマクロブロック(以下、「アンカーブロック」と呼ぶ)(AB01)の動きベクトル を用いて、以下の式に従って MB01の動きベクトルを算出する。
[数 1]
mvLO = mvCol * tb/td
[数 2]
mvL上 = mvLO― mvCol
ここで、 mvColは、 AB01の動きベクトルの値であり、 AB01が参照ピクチャ内のど のマクロブロックに当たるかを示す。 tbは、他方の参照ピクチャと MB01のピクチャと の時間間隔である。 tdは、他方の参照ピクチャと AP01との時間間隔である。 tbと td の値は、復号化部 102から通知される。式 1及び式 2から、 MB01の動きベクトルであ る mvLOと mvLlが算出され、 mvLOと mvLlとにより、 AP01上のマクロブロック MB0 0と他方の参照ピクチャ上のマクロブロック MB02とを参照画像とすることが決定され る。
< 3.動作 >
次に、復号ィ匕システム 10の復号ィ匕処理動作について説明する。
[0028] 図 4に示すように、復号化回路 100において、まず、ストリーム取得部 101が、 DM
Aコントローラ 103に対して、外部メモリ 200からストリームを転送するよう指示し、これ を受けて、 DMAコントローラ 103は、外部メモリ 200から復号化部 102にストリームを 転送する(ステップ S 100)。
ストリームを受けた復号ィ匕部 102は、ストリームを構成するピクチャをマクロブロック 単位で復号ィ匕処理を開始する(ステップ S101)。ここで、 n番目のマクロブロックにつ
V、ての復号化を開始するものとする。
[0029] また、ステップ S 101のける n番目のマクロブロックの復号化と並列して、 n番目に続 く(n+ 1)番目のマクロブロックについて、当該(n+ 1)番目のマクロブロックがもしダ ィレクトモードで符号化されて 、た場合に参照するアンカーブロック(以下、「 (n+ 1) 番目用アンカーブロック」と呼ぶ)の動きベクトルを外部メモリ 200からバッファ 106へ 転送するよう、ノ ッファ転送指示部 105が DMAコントローラ 103に対して指示する( ステップ S 102)。
[0030] ステップ S101で開始した n番目のマクロブロックの復号化においては、まず、復号 化部 102はマクロブロックヘッダを参照し、当該マクロブロックがフレーム間予測を行 うマクロブロック(以下、「インターマクロブロック」と呼ぶ)である力、フレーム間予測を 行わな ヽマクロブロック(以下、「イントラマクロブロック」と呼ぶ)であるかを判断する( ステップ S 103)。
[0031] ステップ S103での判断の結果、インターマクロブロックであった場合は(ステップ S 103 :YES)、さらに、 n番目のマクロブロックの符号化形式がダイレクトモードである か否かを判断する (ステップ S 104)。
ステップ S 104での判断の結果、符号ィ匕形式がダイレクトモードであった場合は (ス テツプ S104 : YES)、復号化部 102は、バッファ 106に記憶されている動きベクトルを 用いて n番目のマクロブロックの動きベクトルを算出する(ステップ S105)。ここで、ノ ッファ 106には、(n— 1)番目のマクロブロックが復号ィ匕される間に並列して転送され た、 n番目のマクロブロックがダイレクトモードで符号ィ匕されているときに参照するアン カーブロック(以下、「n番目用アンカーブロック」と呼ぶ)の動きベクトルが記憶されて いる。
[0032] 一方、ステップ S 104での判断の結果、符号ィ匕形式がダイレクトモード以外のモード であった場合は、復号ィ匕部 102は、 n番目のマクロブロックを可変長復号ィ匕を行う段 階で動きベクトルを特定する (ステップ S 106)。
復号ィ匕部 102は、特定された動きベクトルを外部メモリ転送指示部 107内のバッフ ァに出力し、これを受けた外部メモリ転送指示部 108は、動きベクトルを外部メモリ 20 0に転送するよう、 DMAコントローラ 103に指示する(ステップ S107)。ここで、動きべ タトルを転送する外部メモリ 200内のアドレスと n番目のマクロブロックとが対応付けら れて転送される。
[0033] そして、参照画像転送指示部 104は、復号ィ匕部 102から出力された動きベクトルに 基づく参照画像を外部メモリ 200から動き補償処理部 109内のノ ッファに転送するよ う、 DMAコントローラ 103に指示する(ステップ S 108)。
また、この間、逆周波数変換処理部 108は、復号ィ匕部 102が出力した画素残差値 を逆周波数変換する (ステップ S 109)。
[0034] 動き補償処理部 109は、逆周波数変換処理部 108が出力した画素値残差と、参照 画像転送指示部 104からの転送指示に応じて DMAコントローラ 103を介して転送さ れる参照画像とを合成し、合成した画像を復号画像として出力する (ステップ S110) 一方で、ステップ S 103での判断の結果、インターマクロブロックではなくイントラマク ロブロックであった場合は、イントラブロックであるという情報を外部メモリ 200に転送 するよう、 DMAコントローラ 103に指示する(ステップ S 111)。
[0035] 逆周波数変換処理部 108は、復号化部 102が出力した画素残差値を逆周波数変 換する (ステップ S 112)する。
イントラ処理部 110は、 n番目のマクロブロックの周辺画像力も参照画像を生成し、 逆周波数変換処理部 108が出力した画素残差値と加算した画像を復号画像として 出力する (ステップ S113)。 [0036] 続いて、ステップ SI 10又はステップ SI 13で出力された復号画像に対し、デブロッ クフィルタ処理部 111は、ブロックノイズを取り除くデブロック処理を行い、復号画像転 送指示部 112内のバッファに出力する (ステップ S 114)。
復号画像転送指示部 112は、デブロック処理された復号画像を外部メモリ 200に転 送するよう、 DMAコントローラ 103に指示する(ステップ S 115)。
[0037] 上記ステップ S103〜S115と並列して、ステップ S 102での動きベクトル転送指示 に応じ、(n+ 1)番目用アンカーブロックの動きベクトルが DMAコントローラ 103を介 してバッファ 106に転送される(ステップ S 116)。
ステップ S101〜S116における n番目のマクロブロックの復号化と、これと並列して 行われるステップ S102及び S116における(n+ 1)番目用アンカーブロックの動きべ タトルの転送とが完了すると、 nをインクリメントして、続、て (n+ 1)番目の復号化と (n + 2)番目用アンカーブロックの動きベクトルの転送が開始する (ステップ S 101及び S 102)。
[0038] 以上、本実施形態によれば、 DMA転送を利用することで、 n番目のマクロブロック の復号化処理 (ステップ S103〜115)と、(n+ 1)番目用アンカーブロックの動きべク トルがバッファ 106への転送 (ステップ S102及び S116)とが並列して実行される。こ れより、(n+ 1)番目のマクロブロックがダイレクトモードで符号ィ匕されていたとしても、 (n+ 1)番目のマクロブロックを復号ィ匕する際にすぐにバッファ 106内の(n+ 1)番目 用アンカーブロックの動きベクトルを用いて動きベクトルを算出することができる。
[0039] さらに、従来の処理とを比較し、本実施形態の処理の効果を説明する。従来の処理 を示す図 7を参照すると、いったんマクロブロックタイプを判断して (ステップ 200)、マ クロブロックがダイレクトモードで符号化されていると分かった段階で、 DMAコント口 ーラ 103へ動きベクトルの転送を指示する(ステップ S201)。このため、マクロブロック の復号化処理が完了しても、外部メモリ 200からの転送が完了するのを待たなけれ ばならず、結果、マクロブロックを復号ィ匕するのに要する全体的な時間 Tが長くなつて しまう。
[0040] これに対し、本実施形態の処理を示す図 5を参照すると、 n番目のマクロブロックの 復号化処理 (ステップ S103〜115)と、(n+ 1)番目用アンカーブロックの動きべタト ルのバッファ 106への転送 (ステップ S102及び S116)とが並列して実行される。これ より、(n+ 1)番目のマクロブロックがダイレクトモードで符号ィ匕されていた場合に、タ イミング T2において、(n+ 1)番目のマクロブロックを復号ィ匕する際にすぐにバッファ 106内の(n+ 1)番目用アンカーブロックの動きベクトルを用いて動きベクトルを算出 することができる。その結果、(n+ 1)番目のマクロブロックを復号ィ匕するのに要する 時間 T2が短縮される。この並列処理は、インクリメントされ n番目、(n+ 1)番目、(n + 2)番目 · · ·とストリームが終わる(n+x)番目まで繰り返し実行されるため、どのマク ロブロックに対しても同様の効果を奏する。
[0041] 以上、実施形態に基づいて説明してきたように、本発明によれば、 Bピクチャを構成 する各マクロブロックがダイレクトモードで符号ィ匕されて 、た場合に、その復号化を高 速に行うことができ、結果、 Bピクチャの復号ィ匕を高速ィ匕することができる。
<変形例>
以上、本発明に係る復号ィ匕システム 10を実施形態に基づいて説明してきた力 こ の実施形態の構成及び動作に様々な変形を加えることが可能である。
[0042] 上記実施形態では、マクロブロックの復号化処理と並列して、 1つ先のマクロブロッ ク用アンカーブロックの動きベクトルをバッファ 106へ転送する動作を説明した力 バ ッファ 106の容量を大きくし、幾つか先の複数のマクロブロック用アンカーブロックに 係る複数の動きベクトルをまとめて転送するようにしてもょ 、。
例えば、外部メモリ 200として、連続するデータ転送に適した SDRAM等のメモリを 使用している場合、 1つの動きベクトル毎に転送を行うとバースト長が不足し、転送効 率が不足することがある。
[0043] このため、 SDRAM等のメモリを使用している場合、例えば、 n番目のマクロブロック の復号化処理と並列して、(n+ 1)番目のマクロブロック用アンカーブロックの動きべ タトルと、これにさらに続く(n+ 2)番目のマクロブロック用アンカーブロックの動きべク トルとをまとめて 1回で転送するようにすればよ!、。
このように、一回の DMA転送で転送するデータ量を増やすことで、外部メモリ 200 とバッファ 106間の転送回数を減らし、バースト長を大きくして転送効率を向上させる ことができる。 [0044] なお、幾つ先のマクロブロック用アンカーブロックの動きベクトルまで転送しておくか は、ノ ッファ 106のサイズに左右される。上記実施形態のように 1つ後までであれば、 バッファ 106のサイズが最小限で抑えられる力 バッファ 106のサイズが許す限り幾 つ後までかにつ 、て限定されな 、。
また、さらに、外部メモリ転送指示手段 107が、復号化された動きベクトルを外部メ モリ 200に転送するよう指示する際も、複数のマクロブロックに係る複数の動きべタト ルをまとめて転送するようにしてもょ 、。
<補足 >
上記実施形態においては、ダイレクトモードとして、「時間ダイレクトモード」について 説明したが、「空間ダイレクトモード」であってもよ!/、。
[0045] すなわち、マクロブロックが空間ダイレクトモードで符号ィ匕されている場合は、当該 マクロブロックの動きベクトルを決定するために、アンカーブロックの動きベクトルととも に、当該マクロブロックの周辺マクロブロックの動きベクトルを用いる。
図 6を参照すると、復号化対象のマクロブロック(MB01)の動きベクトルを算出する ために、 MB01のピクチャ内で既に復号化されている別のマクロブロックを参照する。 具体的には、 MB01の左位置のマクロブロック(MB (A) )、上位置のマクロブロック( MB (B) )、及び右上位置のマクロブロック(MB (C) )のそれぞれの動きベクトルを用 いて、以下の式に従って MB01の動きベクトルを算出する。
[数 3]
mv = median (mvA、 mvB、 mvCノ
ここで、 mvAは MB (A)の動きベクトルである。 mvBは MB (B)の動きベクトルであ る。 mvCは MB (C)の動きベクトルである。式 3力ら、 MB01の動きベクトルである mv が算出される。
[0046] なお、本発明を空間ダイレクトモードに適用する場合は、図 4に示すフローチャート 内のステップ S102において、(n+ 1)番目のマクロブロックのピクチャ内で左位置、 上位置、及び右上位置に位置するマクロブロックそれぞれの動きベクトル (合計 3つ の動きベクトル)をバッファ 106に転送するよう、 DMAコントローラ 103に指示すれば よい。また、この場合、ノッファ 106のサイズを、合計 3つの動きベクトルを記憶してお けるサイズに合わせればよ 、。
産業上の利用可能性
本発明に係る復号ィ匕回路、復号化装置、及び復号ィ匕システムは、 MPEG規格に 従って符号化された映像を復号化して再生する装置に適用可能であり、高速な復号 化を実現する技術として有用である。

Claims

請求の範囲
[1] MPEG (Moving Picture Experts Group)規格に従って符号化されたピクチャを構 成する複数のマクロブロックを所定の順番で逐次復号ィ匕する復号ィ匕回路であって、 前記復号化回路の外部に存在する外部メモリとの間でデータ転送を行う転送手段 と、
マクロブロックの動きベクトルを保持するためのバッファと、
一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブ ロックがダイレクトモードで符号ィ匕されていた場合に参照される別のマクロブロックの 動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示 するバッファ転送指示手段と、
逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレク トモードで符号ィ匕されていた場合に、前記バッファに保持されている動きベクトルに 基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、 特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外 部メモリ転送指示手段とを備える
ことを特徴とする復号ィ匕回路。
[2] 前記バッファ転送指示手段は、一のマクロブロックの復号ィ匕を開始して力 完了す るまでの間に、当該一のマクロブロックに続くマクロブロックがダイレクトモードで符号 化されて!/、た場合に参照される別のマクロブロックの動きベクトルを、前記外部メモリ 力 前記バッファに転送するよう前記転送手段に指示する
ことを特徴とする請求項 1記載の復号ィ匕回路。
[3] MPEG (Moving Picture Experts Group)規格に従って符号化されたピクチャを構 成する複数のマクロブロックを所定の順番で逐次復号ィ匕する復号ィ匕装置であって、 前記復号化装置の外部に存在する外部メモリとの間でデータ転送を行う転送手段 と、
マクロブロックの動きベクトルを保持するためのバッファと、
一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブ ロックがダイレクトモードで符号ィ匕されていた場合に参照される別のマクロブロックの 動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示 するバッファ転送指示手段と、
逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレク トモードで符号ィ匕されていた場合に、前記バッファに保持されている動きベクトルに 基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、 特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外 部メモリ転送指示手段とを備える
ことを特徴とする復号化装置。
MPEG (Moving Picture Experts Group)規格に従って符号化されたピクチャを構 成する複数のマクロブロックを所定の順番で逐次復号化する復号化回路と、当該復 号ィ匕回路の外部に存在する外部メモリとを含んで成る復号ィ匕システムであって、 前記復号化回路は、
前記外部メモリとの間でデータ転送を行う転送手段と、
マクロブロックの動きベクトルを保持するためのバッファと、
一のマクロブロックを復号化し終える前に、当該一のマクロブロック以降のマクロブ ロックがダイレクトモードで符号ィ匕されていた場合に参照される別のマクロブロックの 動きベクトルを、前記外部メモリから前記バッファに転送するよう前記転送手段に指示 するバッファ転送指示手段と、
逐次各マクロブロックの動きベクトルを特定するものであり、マクロブロックがダイレク トモードで符号ィ匕されていた場合に、前記バッファに保持されている動きベクトルに 基づいて当該マクロブロックの動きベクトルを計算して特定する復号化手段と、 特定した動きベクトルを前記外部メモリに転送するよう前記転送手段に指示する外 部メモリ転送指示手段とを備える
ことを特徴とする復号ィ匕システム。
PCT/JP2005/020952 2004-11-26 2005-11-15 復号化回路、復号化装置、及び復号化システム WO2006057182A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006547732A JP4106070B2 (ja) 2004-11-26 2005-11-15 復号化回路、復号化装置、及び復号化システム
CN2005800402672A CN101065973B (zh) 2004-11-26 2005-11-15 解码电路、解码装置及解码系统
US11/791,220 US8649439B2 (en) 2004-11-26 2005-11-15 Decoding circuit, decoding device, and decoding system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004342198 2004-11-26
JP2004-342198 2004-11-26

Publications (1)

Publication Number Publication Date
WO2006057182A1 true WO2006057182A1 (ja) 2006-06-01

Family

ID=36497920

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/020952 WO2006057182A1 (ja) 2004-11-26 2005-11-15 復号化回路、復号化装置、及び復号化システム

Country Status (4)

Country Link
US (1) US8649439B2 (ja)
JP (2) JP4106070B2 (ja)
CN (2) CN101065973B (ja)
WO (1) WO2006057182A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010131422A1 (ja) * 2009-05-13 2010-11-18 パナソニック株式会社 画像復号装置、集積回路、画像復号方法及び画像復号システム
CN102986225A (zh) * 2010-06-25 2013-03-20 索尼公司 信息处理设备和信息处理方法
JP2017108434A (ja) * 2012-02-07 2017-06-15 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101961889B1 (ko) 2011-02-09 2019-03-25 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
JP5768510B2 (ja) * 2011-06-06 2015-08-26 富士通株式会社 動画像符号化方法および動画像符号化装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000036841A1 (en) * 1998-12-15 2000-06-22 Matsushita Electric Industrial Co., Ltd. Method and apparatus for image processing
WO2000043868A1 (en) * 1999-01-20 2000-07-27 Hitachi, Ltd. Data processor and device for arithmetic operation
WO2003075580A1 (fr) * 2002-03-04 2003-09-12 Matsushita Electric Industrial Co., Ltd. Procede de codage d'image mobile et procede de decodage d'image mobile
JP2003259377A (ja) * 2002-03-06 2003-09-12 Matsushita Electric Ind Co Ltd 動画像符号化方法、動画像復号化方法および符号列フォーマット
JP2004040512A (ja) * 2002-07-03 2004-02-05 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07236117A (ja) * 1994-02-24 1995-09-05 Nec Corp 画像処理装置
US5974184A (en) * 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6850568B1 (en) * 2000-01-12 2005-02-01 Sony Corporation Method and apparatus for decoding mpeg video signals
ES2602202T3 (es) * 2001-11-06 2017-02-20 Panasonic Intellectual Property Corporation Of America Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento
JP2004007563A (ja) * 2002-04-19 2004-01-08 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
CN1194544C (zh) * 2003-04-25 2005-03-23 北京工业大学 基于时空域相关性运动矢量预测的视频编码方法
US8731054B2 (en) * 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000036841A1 (en) * 1998-12-15 2000-06-22 Matsushita Electric Industrial Co., Ltd. Method and apparatus for image processing
WO2000043868A1 (en) * 1999-01-20 2000-07-27 Hitachi, Ltd. Data processor and device for arithmetic operation
WO2003075580A1 (fr) * 2002-03-04 2003-09-12 Matsushita Electric Industrial Co., Ltd. Procede de codage d'image mobile et procede de decodage d'image mobile
JP2003259377A (ja) * 2002-03-06 2003-09-12 Matsushita Electric Ind Co Ltd 動画像符号化方法、動画像復号化方法および符号列フォーマット
JP2004040512A (ja) * 2002-07-03 2004-02-05 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010131422A1 (ja) * 2009-05-13 2010-11-18 パナソニック株式会社 画像復号装置、集積回路、画像復号方法及び画像復号システム
JP5468604B2 (ja) * 2009-05-13 2014-04-09 パナソニック株式会社 画像復号装置、集積回路、画像復号方法及び画像復号システム
US9001893B2 (en) 2009-05-13 2015-04-07 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus, integrated circuit, image decoding method, and image decoding system
CN102986225A (zh) * 2010-06-25 2013-03-20 索尼公司 信息处理设备和信息处理方法
CN102986225B (zh) * 2010-06-25 2016-02-17 索尼公司 信息处理设备和信息处理方法
JP2017108434A (ja) * 2012-02-07 2017-06-15 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
JP2018033187A (ja) * 2012-02-07 2018-03-01 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
CN101980540A (zh) 2011-02-23
CN101065973A (zh) 2007-10-31
CN101980540B (zh) 2012-04-25
CN101065973B (zh) 2011-01-12
JP2008141782A (ja) 2008-06-19
JP4625096B2 (ja) 2011-02-02
JPWO2006057182A1 (ja) 2008-06-05
US8649439B2 (en) 2014-02-11
JP4106070B2 (ja) 2008-06-25
US20080008244A1 (en) 2008-01-10

Similar Documents

Publication Publication Date Title
US8743972B2 (en) Coding adaptive deblocking filter and method for use therewith
KR100772379B1 (ko) 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치
JP2008529412A (ja) 中間ループフィルタデータを格納するスクラッチパッド
JP2011151430A (ja) 画像処理装置およびそれを搭載した撮像装置
JP5496047B2 (ja) 画像再生方法、画像再生装置、画像再生プログラム、撮像システム、および再生システム
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
JP4625096B2 (ja) 復号化回路、復号化装置、及び復号化システム
JP2012085001A5 (ja)
JPWO2009063646A1 (ja) 画像復号装置及び画像復号方法
JP5275454B2 (ja) 画像復号装置
WO2011047330A2 (en) Low-cost video encoder
JP3990392B2 (ja) 可変長復号化装置、可変長復号化方法および撮像システム
JP2002218474A (ja) 画像データ符号化装置
US20140105306A1 (en) Image processing apparatus and image processing method
JP5694674B2 (ja) 画像符号化装置、画像符号化復号化システム、画像符号化方法、画像表示方法
JP2009260421A (ja) 動画像処理システム、符号化装置、符号化方法、符号化プログラム、復号化装置、復号化方法および復号化プログラム
JP2007329528A (ja) 動きベクトル復号化方法および復号化装置
US20130156114A1 (en) Data Movement Reduction In Video Compression Systems
TWI520618B (zh) 影像資料處理方法以及影像處理裝置
JP4802928B2 (ja) 画像データ処理装置
JP2006166308A (ja) 復号化装置及び復号化方法
JP2011055023A (ja) 画像符号化装置及び画像復号化装置
KR100708183B1 (ko) 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법
US20100111181A1 (en) Video processing apparatus and methods
JP2012169765A (ja) 符号化装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006547732

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11791220

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 200580040267.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05806855

Country of ref document: EP

Kind code of ref document: A1

WWP Wipo information: published in national office

Ref document number: 11791220

Country of ref document: US