JP4879269B2 - Decoding method and apparatus - Google Patents

Decoding method and apparatus Download PDF

Info

Publication number
JP4879269B2
JP4879269B2 JP2008529793A JP2008529793A JP4879269B2 JP 4879269 B2 JP4879269 B2 JP 4879269B2 JP 2008529793 A JP2008529793 A JP 2008529793A JP 2008529793 A JP2008529793 A JP 2008529793A JP 4879269 B2 JP4879269 B2 JP 4879269B2
Authority
JP
Japan
Prior art keywords
processing
macroblock
processor
line
processed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008529793A
Other languages
Japanese (ja)
Other versions
JPWO2008020470A1 (en
Inventor
雅彦 都市
賢 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008020470A1 publication Critical patent/JPWO2008020470A1/en
Application granted granted Critical
Publication of JP4879269B2 publication Critical patent/JP4879269B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

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

Description

本発明は、復号化方法及び装置に係り、特にH.264方式等の動画符号化規格で符号化(即ち、圧縮)された動画データを復号化する復号化方法及び装置に関する。   The present invention relates to a decoding method and apparatus. The present invention relates to a decoding method and apparatus for decoding moving image data encoded (that is, compressed) by a moving image encoding standard such as H.264.

H.264又はMPEG(Moving Picture Experts Group)4−AVC(Advanced Video Coding)方式は、ISOとITU−Tとの共同標準化組織であるJVTで策定され(ISO/IEC 14496−10又はITU−T Q6/16)、2003年に標準化された新しい圧縮伸張技術である。H.264−AVC方式(以下、単にH.264方式と言う)は、地上デジタルテレビ放送の中でも「1セグメント放送」と呼ばれる、携帯端末向けの放送で使用されることで知られている。H.264方式では、4×4画素の整数変換、9方向のイントラ(Intra)予測、7種類のサブマクロブロック(Sub Macro Block)分割、最小4×4画素毎の動きベクトル、マルチフレーム参照、ループ内フィルタ、算術符号等の新しい技術を導入しており、高い圧縮率を実現している。H.264方式を用いることにより、MPEG2方式と比較して半分のストリームサイズで、同等の再生画質を得ることができると言われている。
しかし、H.264方式で採用されているアルゴリズムは、符号化効率を重視しているために処理量が多い。このため、H.264方式の符号化及び復号化(エンコード及びデコード)を行う信号処理装置には、ソフトウェアによる並列処理を行う構成のものと、専用ハードウェアによる並列処理を行う構成のものとが用いられてきた。
H. H.264 or MPEG (Moving Picture Experts Group) 4-AVC (Advanced Video Coding) is developed by JVT which is a joint standardization organization between ISO and ITU-T (ISO / IEC 14496-10 or ITU-T Q6 / 16). ), A new compression / decompression technology standardized in 2003. H. The 264-AVC system (hereinafter simply referred to as the H.264 system) is known to be used in broadcasting for portable terminals called “one segment broadcasting” among terrestrial digital television broadcasting. H. In the H.264 system, 4 × 4 pixel integer conversion, 9-direction intra prediction, 7 types of sub macroblock division, minimum 4 × 4 pixel motion vector, multiframe reference, and in-loop New technologies such as filters and arithmetic codes have been introduced to achieve high compression rates. H. By using the H.264 system, it is said that the same reproduction image quality can be obtained with a half stream size compared to the MPEG2 system.
However, H. The algorithm employed in the H.264 method has a large amount of processing because importance is placed on coding efficiency. For this reason, H.C. For signal processing apparatuses that perform H.264 encoding and decoding (encoding and decoding), a configuration that performs parallel processing by software and a configuration that performs parallel processing by dedicated hardware have been used.

画像処理をソフトウェア或いはハードウェアによる並列処理で行う場合、画像単位で処理を割り当てる方法と、処理単位で割り当てる方法とが考えられる。ハードウェアによる実装の場合、処理単位で割り当てる方法が採用されることが多い。ソフトウェアによる並列処理の場合は、どちらの方法も採用できるが、画像単位で処理を割り当てる方法を採用した場合には、プロセッサ間の処理の偏りが少なく、プロセッサ数を増加させることにより大画面への拡張が容易となる。   When performing image processing by parallel processing using software or hardware, there are a method of assigning processing in units of images and a method of assigning in units of processing. In the case of hardware implementation, a method of assigning in units of processing is often adopted. In the case of parallel processing by software, either method can be adopted, but when the method of assigning processing in units of images is adopted, there is little bias in processing between processors, and the number of processors can be increased to increase the screen size. Expansion becomes easy.

しかし、H.264方式の各処理は、データ依存関係が複雑であり、並列処理を行う際には多くの同期処理が必要となる。   However, H. Each process of the H.264 system has a complicated data dependency, and many synchronization processes are required when performing parallel processing.

H.264方式の符号化及び復号化方法は、例えば特許文献1にて提案されている。又、H.264方式の復号化を並列処理で行う方法が、例えば非特許文献1にて提案されている。
特開2005−354361号公報 Yen-Kuang Chen et al., "Implementation of H.264 Encoder and Decoder on Personal Computers", Special Issue on Emerging H.264 /AVC Video Coding Standard, Journal of Visual Communication and Image Representation, Kumar, Mandal and Panchanathan
H. A H.264 encoding and decoding method is proposed in Patent Document 1, for example. H. For example, Non-Patent Document 1 proposes a method of performing H.264 decoding in parallel processing.
JP 2005-354361 A Yen-Kuang Chen et al., "Implementation of H.264 Encoder and Decoder on Personal Computers", Special Issue on Emerging H.264 / AVC Video Coding Standard, Journal of Visual Communication and Image Representation, Kumar, Mandal and Panchanathan

H.264方式は、マクロブロック(MB:Macro Block)間にデータ依存が多く、並列処理において並行に演算可能なMBに制限がある。例えば、H.264方式の復号化処理において、MB単位の処理で、注目MBの左、左上、上、右上のMBのデータを必要とする処理がある。このような処理の場合、注目MBの処理を開始するためには、注目MBの左、左上、上、右上のMBの処理が完了し、データの受け渡しを行われることが必要となる。このため、複数のプロセッサのソフトウェア処理、或いは、デコーダのハードウェア処理で上記の如きMBの処理を行う場合、処理完了の待ち合わせ、データの受け渡し等の同期処理が頻繁に発生し、オーバーヘッドが大きくなってしまうという問題があった。   H. In the H.264 system, there are many data dependencies between macro blocks (MB), and there is a limit to MBs that can be operated in parallel in parallel processing. For example, H.M. In the H.264 decoding process, there is a process that requires MB data on the left, upper left, upper, and upper right of the MB of interest in a process in MB units. In the case of such processing, in order to start the processing of the target MB, it is necessary to complete the processing of the left, upper left, upper, and upper right MBs of the target MB and transfer data. For this reason, when MB processing as described above is performed by software processing of a plurality of processors or hardware processing of a decoder, synchronization processing such as waiting for processing completion and data transfer frequently occurs, resulting in an increase in overhead. There was a problem that.

そこで、本発明は、H.264方式の復号化処理のような、複雑なデータ依存性がある処理が要求される画像処理に対して、効率の良い処理が行える復号化方法及び装置を提供することを概括的目的とする。   Therefore, the present invention relates to H.264. It is a general object to provide a decoding method and apparatus capable of performing efficient processing for image processing that requires processing having complicated data dependency such as decoding processing of H.264 system.

上記の課題は、処理の対象となる符号化された画像データに対して、複数の処理部でマクロブロック単位の並列処理を行う復号化方法であって、各処理部が処理を担当する処理範囲に、複数のマクロブロックラインを割り当て、該各処理部が処理する注目マクロブロックの処理を、該注目マクロブロックが属するマクロブロックラインより1つ先行するマクロブロックラインの参照マクロブロックの処理結果を用いて行い、第1の処理部の処理範囲内の最後のマクロブロックラインの参照マクロブロックの処理結果を用いて、第2の処理部の処理範囲内の最初のマクロブロックラインの注目マクロブロックの処理を行うことを特徴とする復号化方法によって達成できる。   The above problem is a decoding method in which a plurality of processing units perform parallel processing in units of macroblocks on encoded image data to be processed, and each processing unit is responsible for processing. A plurality of macroblock lines are allocated to the target macroblock processed by each processing unit, and the processing result of the reference macroblock of the macroblock line that precedes the macroblock line to which the target macroblock belongs is used. And processing the target macroblock of the first macroblock line within the processing range of the second processing unit using the processing result of the reference macroblock of the last macroblock line within the processing range of the first processing unit. Can be achieved by a decoding method characterized in that

上記の課題は、処理の対象となる符号化された画像データをマクロブロック単位で並列処理する複数の処理部を備え、各処理部が処理を担当する処理範囲に、複数のマクロブロックラインが割り当てられ、該各処理部が処理する注目マクロブロックの処理は、該注目マクロブロックが属するマクロブロックラインより1つ先行するマクロブロックラインの参照マクロブロックの処理結果を用いて行われ、第1の処理部の処理範囲内の最後のマクロブロックラインの参照マクロブロックの処理結果を用いて、第2の処理部の処理範囲内の最初のマクロブロックラインの注目マクロブロックの処理が行なわれることを特徴とする復号化装置によって達成できる。   The above problem includes a plurality of processing units that perform parallel processing of encoded image data to be processed in units of macroblocks, and a plurality of macroblock lines are assigned to a processing range in which each processing unit is responsible for processing. The processing of the target macroblock processed by each processing unit is performed using the processing result of the reference macroblock of the macroblock line that precedes the macroblock line to which the target macroblock belongs. The target macroblock of the first macroblock line within the processing range of the second processing unit is processed using the processing result of the reference macroblock of the last macroblock line within the processing range of the second processing unit. Can be achieved by a decoding device.

本発明によれば、H.264方式の復号化処理のような、複雑なデータ依存性がある処理が要求される画像処理に対して効率の良い処理が行える復号化方法及び装置を実現することができる。   In accordance with the present invention, H.264. It is possible to realize a decoding method and apparatus capable of performing efficient processing for image processing that requires processing having complicated data dependency, such as H.264 decoding processing.

H.264方式の復号化処理のデータ依存を説明する図である。H. FIG. 3 is a diagram for explaining data dependency of a decoding process of the H.264 method. MB毎にプロセッサを割り当てた場合の考えられる処理順序とデータ転送を説明する図である。It is a figure explaining the processing order and data transfer which can be considered when a processor is allocated for every MB. MB毎にプロセッサを割り当てた場合の本発明の処理順序とデータ転送を説明する図である。It is a figure explaining the processing order and data transfer of this invention at the time of allocating a processor for every MB. MB毎にプロセッサを割り当てた場合の本発明の処理順序とデータ転送を説明する図である。It is a figure explaining the processing order and data transfer of this invention at the time of allocating a processor for every MB. 第1実施例の処理順序とデータ転送を2つのプロセッサを用いる場合について説明する図である。It is a figure explaining the case where two processors are used for the processing order and data transfer of 1st Example. 第1実施例の処理の概略を説明するフローチャートである。It is a flowchart explaining the outline of the process of 1st Example. 第1実施例のオーバーヘッドを比較例と比較して示す図である。FIG. 6 is a diagram showing the overhead of the first embodiment in comparison with a comparative example. 第1実施例の処理順序とデータ転送を3つのプロセッサを用いる場合について説明する図である。It is a figure explaining the case where three processors are used for the processing order and data transfer of 1st Example. 第1実施例における3つのプロセッサの処理を説明するフローチャートである。It is a flowchart explaining the process of three processors in 1st Example. 第2実施例の処理順序とデータ転送を2つのプロセッサを用いる場合について説明する図である。It is a figure explaining the case where two processors are used for the processing order and data transfer of 2nd Example. 第2実施例の処理の概略を説明するフローチャートである。It is a flowchart explaining the outline of the process of 2nd Example. 第2実施例の処理順序とデータ転送を3つのプロセッサを用いる場合について説明する図である。It is a figure explaining the case where three processors are used for the processing order and data transfer of 2nd Example. 第2実施例における3つのプロセッサの処理を説明するフローチャートである。It is a flowchart explaining the process of three processors in 2nd Example.

符号の説明Explanation of symbols

11,21 プロセッサ 11, 21 processor

H.264方式は、マクロブロック(MB:Macro Block)間にデータ依存が多く、並列処理において並行に演算可能なMBに制限がある。 H.264方式の処理であるイントラ予測、モーションベクトル(MV:Motion Vector)予測及びデブロッキングフィルタ(DF:Deblocking Filter)処理は、注目MBの周囲のMBのデータが必要とされるデータ依存性がある。そのため、処理の完了待ち合わせ、データの受け渡し等を含む同期処理が頻繁に発生する。又、並行に演算可能なMBに制限がある。   H. In the H.264 system, there are many data dependencies between macro blocks (MB), and there is a limit to MBs that can be operated in parallel in parallel processing. H. Intra prediction, motion vector (MV) prediction, and deblocking filter (DF) processing, which are H.264 processes, have data dependency that requires MB data around the MB of interest. For this reason, synchronous processing including processing completion waiting, data delivery, etc. frequently occurs. In addition, there is a limit to MB that can be calculated in parallel.

そこで、本発明は、この制限の中で、符号化された画像データ(動画データ)の局所性及び同期処理の簡略化に着目した並列処理順序を提供する。   Therefore, the present invention provides a parallel processing order focusing on the locality of the encoded image data (moving image data) and simplification of the synchronization processing within this limitation.

H.264方式の復号化処理において、MB単位の処理で、図1に示すようにハッチングで示す注目MBの左、左上、上、右上の参照MBのデータを必要とする処理がある。図1は、H.264方式の復号化処理のデータ依存を説明する図であり、(a)はイントラ予測及びMV予測の場合のデータ依存を示し、(b)はDF処理の場合のデータ依存を示す。図1中、各矩形領域は、1つのMBを示す。図1からわかるように、注目MBの処理を開始するためには、イントラ予測又はMV予測の場合であれば注目MBの左、左上、上、右上の参照MBの処理が完了してデータの受け渡しが行われることが必要となり、DF処理の場合であれば注目画素の上の参照MBの処理が完了してデータの受け渡しが行われることが必要となる。   H. In the H.264 decoding process, there is a process in units of MB that requires data of reference MBs on the left, upper left, upper, and upper right of the target MB indicated by hatching as shown in FIG. FIG. 2A and 2B are diagrams for explaining data dependence in a H.264 decoding process, where FIG. 2A shows data dependence in the case of intra prediction and MV prediction, and FIG. 2B shows data dependence in the case of DF processing. In FIG. 1, each rectangular area represents one MB. As can be seen from FIG. 1, in order to start processing of the target MB, in the case of intra prediction or MV prediction, processing of the reference MB on the left, upper left, upper and upper right of the target MB is completed and data is transferred. In the case of DF processing, it is necessary to complete processing of the reference MB above the target pixel and transfer data.

このため、復号化装置が複数のプロセッサのソフトウェア処理、或いは、デコーダのハードウェア処理で上記の如きMBの処理を行う場合、例えば図2に示すような処理順序で行うことが考えられる。図2は、一例としてイントラ予測の場合にMB毎にプロセッサ(又は、デコーダ)を割り当てる、考えられる処理順序とデータ転送を説明する図である。図2中、各矩形領域は1つのMBを示し、太い実線の矢印は処理順序を示し、細い実線の矢印はデータ転送を示し、説明の便宜上2つのプロセッサ#1,#2が用いられるものとする。しかし、この考えられる処理順序を用いたのでは、処理を行うプロセッサ#1,#2が1マクロブロックライン(MBライン)毎に変わり、処理完了の待ち合わせ、データの受け渡し等の同期処理が頻繁に発生し、オーバーヘッドが大きくなってしまう。   For this reason, when the decoding apparatus performs the MB processing as described above by the software processing of a plurality of processors or the hardware processing of a decoder, it may be performed in the processing order as shown in FIG. FIG. 2 is a diagram illustrating a possible processing order and data transfer in which a processor (or decoder) is allocated to each MB in the case of intra prediction as an example. In FIG. 2, each rectangular area indicates one MB, a thick solid line arrow indicates the processing order, a thin solid line arrow indicates data transfer, and two processors # 1 and # 2 are used for convenience of explanation. To do. However, if this possible processing order is used, the processors # 1 and # 2 that perform processing change for each macroblock line (MB line), and synchronization processing such as waiting for processing completion and data delivery is frequently performed. Occurs and the overhead becomes large.

そこで、本発明では、処理の対象となる符号化された画像データ(動画データ)に対して復号化装置が複数のプロセッサのソフトウェア処理、或いは、複数のデコーダのハードウェア処理、即ち、複数の処理部で上記の如きMB単位の処理を行う場合、各プロセッサ(又は、デコーダ)が処理を担当する範囲(以下、処理範囲とも言う)を1MBライン毎ではなく複数のMBライン毎にし、図3又は図4に示すような大略縦方向(即ち、同一MBライン上の横方向以外の方向)に配置されたMBを優先する順序で処理を行う。図3及び図4は、イントラ予測の場合にMB毎にプロセッサを割り当てる本発明の処理順序とデータ転送を説明する図である。図3及び図4中、各矩形領域は1つのMBを示し、太い実線の矢印は処理順序を示し、細い実線の矢印はデータ転送を示す。説明の便宜上、図3では2つのプロセッサ#1,#2が用いられ、図4では3つのプロセッサ#1〜#3が用いられ、各プロセッサ#1,#2,#3が処理を担当する処理範囲は4MBライン毎であるものとする。   Therefore, in the present invention, the decoding apparatus performs software processing of a plurality of processors or hardware processing of a plurality of decoders, that is, a plurality of processes, on encoded image data (moving image data) to be processed. 3 to perform processing in units of MB as described above, the range in which each processor (or decoder) is in charge of processing (hereinafter also referred to as a processing range) is set to a plurality of MB lines instead of every 1 MB line. Processing is performed in the order of priority for MBs arranged in a substantially vertical direction as shown in FIG. 4 (that is, directions other than the horizontal direction on the same MB line). 3 and 4 are diagrams for explaining the processing order and data transfer according to the present invention in which a processor is assigned to each MB in the case of intra prediction. 3 and 4, each rectangular area indicates one MB, a thick solid line arrow indicates a processing order, and a thin solid line arrow indicates data transfer. For convenience of explanation, two processors # 1 and # 2 are used in FIG. 3, three processors # 1 to # 3 are used in FIG. 4, and each processor # 1, # 2, and # 3 is responsible for processing. It is assumed that the range is every 4 MB line.

本発明によれば、異なるプロセッサ、或いは、異なるデコーダ間で担当する処理範囲の境界が少なくなり、同期処理によるオーバーヘッドの増加を抑制することができる。例えば、図3のように2つのプロセッサ#1,#2で上記復号化処理のMB単位の処理を行う場合、各プロセッサ#1,#2の担当する処理範囲のMBライン数をNとすると、同期処理の回数は上記考えられる方法と比べると1/N回に減少させることができる。初回の同期処理までに、例えば一方のプロセッサ#1では(N+1)N/2個のMBの処理が必要であり、その間、他方のプロセッサ#2は処理を開始できないので、同期オーバーヘッドをOH、復号化処理の対象となるMBの総数をTM、MBの1つ当たりの処理量をAとすると、OH×TM×(N−1)/N>A×(N+1)×N/2という条件が成立するとき、本発明を導入することによる同期オーバーヘッドOHの減少効果が得られる。   According to the present invention, the boundaries of processing ranges handled by different processors or different decoders are reduced, and an increase in overhead due to synchronization processing can be suppressed. For example, as shown in FIG. 3, when two processors # 1 and # 2 perform the above MB decoding process, if the number of MB lines in the processing range in charge of each processor # 1 and # 2 is N, The number of synchronization processes can be reduced to 1 / N times as compared with the above conceivable method. Before the first synchronization process, for example, one processor # 1 needs to process (N + 1) N / 2 MBs, and during that time, the other processor # 2 cannot start the process. When the total number of MBs to be processed is TM and the processing amount per MB is A, the condition OH × TM × (N−1) / N> A × (N + 1) × N / 2 is satisfied. In this case, the effect of reducing the synchronization overhead OH can be obtained by introducing the present invention.

尚、DB処理の場合にMB毎にプロセッサを割り当てる本発明の処理も、上記イントラ予測の場合と同様に大略縦方向(即ち、同一MBライン上の横方向以外の方向)に配置されたMBを優先する順序で行われ、上記と同様の効果を得ることができるが、その詳細については以下の実施例と共に説明する。   In the DB processing, the processing of the present invention for allocating a processor for each MB is similar to the case of the intra prediction, and MBs arranged in a substantially vertical direction (that is, directions other than the horizontal direction on the same MB line) The same effects as described above can be obtained in the order of priority, and details thereof will be described together with the following examples.

以下に、本発明の復号化方法及び装置の各実施例を、図面と共に説明する。   Embodiments of the decoding method and apparatus of the present invention will be described below with reference to the drawings.

(第1実施例)
先ず、本発明の復号化方法及び装置の第1実施例を図5〜図8と共に説明する。
(First embodiment)
First, a first embodiment of the decoding method and apparatus according to the present invention will be described with reference to FIGS.

図5は、第1実施例の処理順序とデータ転送を2つのプロセッサを用いる場合について説明する図である。図5中、各矩形領域は1つのMBを示し、各矩形領域内の数字は処理順序を示し、細い実線の矢印はデータ転送を示す。説明の便宜上、図5では2つのプロセッサ#1,#2が用いられ、各プロセッサ#1,#2が処理を担当する範囲は3MBライン毎であるものとする。   FIG. 5 is a diagram for explaining the processing sequence and data transfer of the first embodiment when two processors are used. In FIG. 5, each rectangular area indicates one MB, a number in each rectangular area indicates a processing order, and a thin solid line arrow indicates data transfer. For convenience of explanation, it is assumed in FIG. 5 that two processors # 1 and # 2 are used, and the range in which each processor # 1 and # 2 takes charge of processing is every 3 MB line.

イントラ予測やMV予測のように、処理対象となる符号化された画像データ(動画データ)の1フレーム内の注目MBに対する処理を行う際に注目MBの右上を含む参照MBのデータを必要とする場合、図5に示すような順序で処理を行う。各MBラインは例えば5つのMBからなり、各MBは例えば16×16画素のデータからなる。   As in intra prediction or MV prediction, when processing the target MB in one frame of the encoded image data (moving image data) to be processed, reference MB data including the upper right of the target MB is required. In this case, processing is performed in the order as shown in FIG. Each MB line is composed of, for example, 5 MBs, and each MB is composed of, for example, data of 16 × 16 pixels.

注目MBの処理が終了すると、次は斜め左下の参照MBの処理を行う。処理を行っているプロセッサの処理範囲の最後(一番下又は下端)のMBラインの注目MBまで処理が到達すると、この処理範囲の一番上(1番目)のMBラインの未処理のMBのうち、最も左のMBを注目MBとしての処理を行う。1番目のMBラインに未処理のMBがない場合は上から2番目のMBラインから注目MBの候補を探し、2番目のMBラインにも候補がない場合には更にその下の3番目のMBラインから候補を探す。各プロセッサ#1,#2、或いは、各専用ハードウェア(デコーダ)が担当する処理範囲のMBライン数は3なので、このようにして先ず3(3+1)/2=6個のMBの処理を行い、それ以降は3個のMBの処理に対して1個の同期処理を行う処理を、処理範囲の最後(一番下のMBラインの右端のMB)に到達するまで繰り返す。このようにして各処理範囲内の全てのMBの処理が終わるまで処理を繰り返す。   When the processing of the target MB is completed, the processing of the reference MB on the lower left is performed next. When processing reaches the target MB of the last (bottom or bottom) MB line of the processing range of the processor that is processing, the unprocessed MB of the top (first) MB line of this processing range Of these, the leftmost MB is processed as the target MB. If there is no unprocessed MB in the first MB line, the candidate for the target MB is searched from the second MB line from the top, and if there is no candidate in the second MB line, the third MB below it Search for candidates from the line. Since the number of MB lines in the processing range handled by each processor # 1, # 2 or each dedicated hardware (decoder) is 3, in this way, 3 (3 + 1) / 2 = 6 MBs are first processed. Thereafter, the process of performing one synchronization process for the process of three MBs is repeated until the end of the processing range (the rightmost MB of the lowest MB line) is reached. In this way, the processing is repeated until the processing of all MBs in each processing range is completed.

つまり、プロセッサ#1は、図5に示すように、1番目のMBラインの一番左の注目MB「1」の処理が終了すると、1番目のMBラインの未処理で最も左のMB「2」を注目MBとして処理を行う。次は、斜め左下の2番目のMBラインにあるMB「3」を注目MBとして処理を行い、1番目のMBラインの未処理で最も左のMB「4」を注目MBとして処理を行う。次は、斜め左下の2番目、3番目のMBラインにあるMB「5」、「6」を注目MBとして処理を行い、6個のMBの処理が行われる。それ以降は、3個のMBの処理に対して1個の同期処理を行う処理を、処理範囲の最後(一番下のMBラインの右端のMB)に到達するまで繰り返す。   That is, as shown in FIG. 5, when the processing of the leftmost noticed MB “1” of the first MB line is completed, the processor # 1 unprocessed of the first MB line and leftmost MB “2” "Is processed as a target MB. Next, MB “3” in the second MB line diagonally lower left is processed as the target MB, and the leftmost MB “4” in the first MB line is processed as the target MB. Next, processing is performed with the MBs “5” and “6” in the second and third MB lines diagonally lower left as the target MB, and processing of six MBs is performed. Thereafter, the process of performing one synchronization process for the processes of three MBs is repeated until the end of the processing range (the rightmost MB of the lowest MB line) is reached.

他方、プロセッサ#2は、上記プロセッサ#1と同様の処理順序で処理を行うが、最初に処理する第1番目のMBラインの処理については同期処理で転送されてくるプロセッサ#1の処理結果を用いる。つまり、プロセッサ#1による最初の6個のMBの処理及び次の3個のMBの処理が行われた時点で、プロセッサ#2は夫々の3番目のMBラインのMB「6」、「9」の処理結果を用いてプロセッサ#2が処理するMBラインでは1番目のMBラインの一番左の注目MB「1」の処理を行う。この1番目のMBラインの一番左の注目MB「1」の処理が終了すると、プロセッサ#1による次の3個のMBの処理が行われた時点で、プロセッサ#2は3番目のMBラインのMB「12」の処理結果を用いてプロセッサ#2が処理するMBラインでは1番目のMBラインの未処理で最も左のMB「2」を注目MBとして処理を行う。プロセッサ#2は、それ以降は上記プロセッサ#1の処理順序と同様の処理順序で、プロセッサ#2が処理するMBラインでは1番目のMBラインの処理についてはプロセッサ#1の処理結果を用いて、処理範囲の全てのMBの処理が終わるまで処理を繰り返す。   On the other hand, the processor # 2 performs processing in the same processing order as the processor # 1, but the processing result of the processor # 1 transferred in the synchronous processing is processed for the processing of the first MB line to be processed first. Use. That is, at the time when the first six MBs and the next three MBs are processed by the processor # 1, the processor # 2 has the MBs “6” and “9” of each third MB line. In the MB line processed by the processor # 2 using the processing result, the leftmost attention MB “1” of the first MB line is processed. When the processing of the leftmost noticed MB “1” of the first MB line is completed, the processor # 2 is the third MB line when the next three MBs are processed by the processor # 1. In the MB line processed by processor # 2 using the processing result of MB “12”, the leftmost MB “2” in the unprocessed first MB line is processed as the target MB. After that, the processor # 2 uses the processing order of the processor # 1 for the processing of the first MB line in the MB line processed by the processor # 2, using the processing order of the processor # 1. The process is repeated until all MBs in the processing range have been processed.

各プロセッサ#1,#2、或いは、各専用ハードウェア(デコーダ)が担当する処理範囲のMBライン数をNとすると、先ずN(N+1)/2個のMBの処理を行い、以下N個のMBの処理と1個の同期処理を処理範囲の右端に到達するまで繰り返す。これにより、処理範囲の繰り返し部では、N個のMB毎に1個の同期処理が必要となり、同期処理を上記考えられる方法(以下、比較例と言う)と比較するとN分の1に削減できる。   Assuming that the number of MB lines in the processing range handled by each processor # 1, # 2 or each dedicated hardware (decoder) is N, N (N + 1) / 2 MBs are processed first. The MB process and one synchronization process are repeated until the right end of the processing range is reached. As a result, in the repetitive part of the processing range, one synchronization process is required for every N MBs, and the synchronization process can be reduced to 1 / N compared with the above-described method (hereinafter referred to as a comparative example). .

同期処理のオーバーヘッドをOHとした場合、本実施例では図7(a)に示すように、図7(b)の比較例の場合と比較して同期処理の回数がN分の1になる。図7は、第1実施例のオーバーヘッドOHを比較例と比較して示す図である。図7中、ハッチングを施された矩形領域はMBの処理を示し、黒く塗られた矩形領域は同期処理を示す。本実施例では、プロセッサ#2が処理を開始できるのは、プロセッサ#1が処理を開始してから{N(N+1)/2+N}個のMBの処理分だけ遅延されたタイミングであるが、画像サイズが大きく、同期処理のオーバーヘッドOHが大きい場合には、比較例より画像処理に対して効率の良い処理が行えることがわかる。   When the overhead of synchronization processing is OH, in this embodiment, as shown in FIG. 7A, the number of times of synchronization processing is 1 / N as compared with the comparative example of FIG. 7B. FIG. 7 is a diagram showing the overhead OH of the first embodiment in comparison with the comparative example. In FIG. 7, the hatched rectangular area indicates MB processing, and the black rectangular area indicates synchronization processing. In the present embodiment, the processor # 2 can start processing at a timing delayed by the processing of {N (N + 1) / 2 + N} MBs after the processor # 1 starts processing. It can be seen that when the size is large and the overhead OH of the synchronization processing is large, the processing can be performed more efficiently than the comparative example.

図6は、第1実施例の処理の概略を説明するフローチャートである。図6に示す処理は、プロセッサ11により実行される。プロセッサ11は、CPU及び記憶部等からなる周知の構成を有する情報処理装置であり、復号化装置はこのようなプロセッサ11が複数個、並列処理可能に接続された構成を有する。   FIG. 6 is a flowchart for explaining the outline of the processing of the first embodiment. The processing shown in FIG. 6 is executed by the processor 11. The processor 11 is an information processing apparatus having a known configuration including a CPU, a storage unit, and the like, and the decoding apparatus has a configuration in which a plurality of such processors 11 are connected so as to be capable of parallel processing.

図6において、ステップS1は最初のN(N+1)/2個のMBの処理を行う。これにより、図5に示す1番目〜3番目のMBラインのMB「1」〜「6」の処理が行われる。ステップS2は処理対象となる符号化された画像データの1フレームの処理範囲の各MBラインの右端のMBが処理されるまで、ステップS3,S4の処理を繰り返す。ステップS3はN個のMBの処理を行い、ステップS4は処理完了の待ち合わせ、データの受け渡し等を含む同期処理を行う。ステップS5は処理範囲の最後のMBラインについてステップS2〜S4が行われたか否かを判定し、判定結果がNOであると処理はステップS2へ戻り、YESであると処理は終了する。   In FIG. 6, step S1 processes the first N (N + 1) / 2 MBs. Thereby, the processing of MBs “1” to “6” of the first to third MB lines shown in FIG. 5 is performed. In step S2, the processes in steps S3 and S4 are repeated until the rightmost MB of each MB line in the processing range of one frame of the encoded image data to be processed is processed. In step S3, N MBs are processed, and in step S4, synchronous processing including waiting for completion of processing, data transfer, and the like is performed. In step S5, it is determined whether or not steps S2 to S4 have been performed for the last MB line in the processing range. If the determination result is NO, the process returns to step S2, and if YES, the process ends.

上記の如く2つのプロセッサ#1,#2を並列処理に用いる場合、各プロセッサ#1,#2は図6に示す処理を行うが、プロセッサ#2の場合、注目MBに対する処理を行う際に注目MBの右上を含む参照MBのデータを必要とする点ではプロセッサ#1の場合の処理と同じであるが、プロセッサ#2が処理するMBラインでは1番目のMBラインのMBを処理する際にはプロセッサ#1が処理するMBラインでは3番目のMBラインのMBに対する処理結果を用いる点だけ異なる。   When two processors # 1 and # 2 are used for parallel processing as described above, each processor # 1 and # 2 performs the processing shown in FIG. 6, but in the case of processor # 2, attention is paid when performing processing on the target MB. The same processing as in the case of the processor # 1 is required in that the data of the reference MB including the upper right of the MB is required. However, when processing the MB of the first MB line in the MB line processed by the processor # 2, The MB line processed by the processor # 1 is different only in that the processing result for the MB of the third MB line is used.

図8は、第1実施例の処理順序とデータ転送を3つのプロセッサを用いる場合について説明する図であり、図9は、第1実施例における3つのプロセッサの処理を説明するフローチャートである。図8中、各矩形領域は1つのMBを示し、各矩形領域内の数字は処理範囲の左上から右上、右下への処理順序を示し、細い実線の矢印はデータ転送を示す。又、説明の便宜上、各プロセッサ#1,#2,#3が処理を担当する処理範囲はNマクロブロック(MB)ライン毎であり、各MBラインはW個のMBからなるものとする。ここで、N,Wはいずれも2以上の整数であり、N≠WであってもN=Wであっても良いが、好ましくはN<Wである。各MBは、例えば16×16画素のデータからなる。   FIG. 8 is a diagram for explaining the processing sequence and data transfer in the first embodiment when three processors are used, and FIG. 9 is a flowchart for explaining the processing of the three processors in the first embodiment. In FIG. 8, each rectangular area indicates one MB, the numbers in each rectangular area indicate the processing order from the upper left to the upper right and the lower right of the processing range, and the thin solid arrows indicate data transfer. For convenience of explanation, it is assumed that the processing range in which each processor # 1, # 2, # 3 is in charge of processing is every N macroblock (MB) lines, and each MB line is composed of W MBs. Here, N and W are both integers of 2 or more, and N ≠ W or N = W, but preferably N <W. Each MB is composed of data of 16 × 16 pixels, for example.

イントラ予測やMV予測のように、処理対象となる符号化された画像データの1フレーム内の注目MBに対する処理を行う際に注目MBの右上を含む参照MBのデータを必要とする場合、図8に示すような順序で処理を行う。   When reference MB data including the upper right of the target MB is required when processing the target MB in one frame of the encoded image data to be processed, such as intra prediction or MV prediction, FIG. Processing is performed in the order shown in FIG.

図9は、3つのプロセッサ#1,#2,#3の処理を示す。プロセッサ#1はステップS101−1〜S108−1を行い、プロセッサ#2はステップS101−2〜S108−2,S111−2〜S113−2を行い、プロセッサ#3はステップS101−3〜S108−3,S111−3〜S113−3を行う。図9中、実質的に同じステップには同一符号にプロセッサ#1〜#3に対応する添え字「−1」〜「−3」を付けて示す。   FIG. 9 shows the processing of the three processors # 1, # 2, and # 3. The processor # 1 performs steps S101-1 to S108-1, the processor # 2 performs steps S101-2 to S108-2, S111-2 to S113-2, and the processor # 3 performs steps S101-3 to S108-3. , S111-3 to S113-3. In FIG. 9, substantially the same steps are indicated by subscripts “−1” to “−3” corresponding to the processors # 1 to # 3 attached to the same reference numerals.

先ず、プロセッサ#1の処理を説明する。プロセッサ#1の処理が開始されると、ステップS101−1は変数i(整数)をi=1に設定する。ステップS102−1はi番目のMB「i」の処理を行い、ステップS103−1はMBが処理範囲の左端に位置しているか否かを判定する。ステップS103−1の判定結果がNOであると、ステップS104−1はMBが処理範囲の下端に位置しているか否かを判定する。ステップS104−1の判定結果がNOであると、ステップS105−1は現在のMBの左下のMBの処理を行い、処理はステップS103−1へ戻る。他方、ステップS104−1の判定結果がYESであると、ステップS106−1はプロセッサ#2へのデータ転送を行い、ステップS107−1はi=(W+N−1)であるか否かを判定する。ステップS106−1のデータ転送では、N番目のMBラインのMBの処理結果がプロセッサ#2へ転送される。ステップS107−1の判定結果がNOであると、ステップS108−1はiをi=i+1にインクリメントし、処理はステップS102−1へ戻る。ステップS107−1の判定結果がYESであると、プロセッサ#1の処理は終了する。   First, the processing of processor # 1 will be described. When the processing of the processor # 1 is started, step S101-1 sets a variable i (integer) to i = 1. Step S102-1 performs processing of the i-th MB “i”, and step S103-1 determines whether or not the MB is located at the left end of the processing range. If the decision result in the step S103-1 is NO, a step S104-1 decides whether or not the MB is located at the lower end of the processing range. If the decision result in the step S104-1 is NO, the step S105-1 performs a process on the lower left MB of the current MB, and the process returns to the step S103-1. On the other hand, if the decision result in the step S104-1 is YES, the step S106-1 performs data transfer to the processor # 2, and the step S107-1 determines whether i = (W + N-1). . In the data transfer in step S106-1, the processing result of the MB of the Nth MB line is transferred to the processor # 2. If the decision result in the step S107-1 is NO, the step S108-1 increments i to i = i + 1, and the process returns to the step S102-1. If the decision result in the step S107-1 is YES, the process of the processor # 1 is finished.

次に、プロセッサ#2の処理を説明する。プロセッサ#2の処理が開始されると、ステップS101−2は変数i(整数)をi=1に設定する。ステップS111−2はプロセッサ#1からのデータ転送を待つ同期処理を行う。従って、最初は、プロセッサ#2が1番目のMBラインの1番目のMB「1」を処理するのに必要である、プロセッサ#1が処理したN番目のMBラインのMBの処理結果がプロセッサ#1から転送されてくると、処理はステップS112−2へ進む。ステップS112−2はi≦Wであるか否かを判定し、判定結果がYESであると、ステップS113−2はプロセッサ#1からのデータ転送を待つ同期処理を行う。従って、プロセッサ#2がMBを処理するのに必要である、プロセッサ#1が処理したN番目のMBラインのMBの処理結果がプロセッサ#1から転送されてくると、処理はステップS102−2へ進む。ステップS112−2の判定結果がNOであると、処理はステップS102−2へ進む。プロセッサ#2の他の処理は、基本的には上記プロセッサ#1の処理と同じである。   Next, the processing of processor # 2 will be described. When the processing of the processor # 2 is started, the step S101-2 sets the variable i (integer) to i = 1. In step S111-2, a synchronization process for waiting for data transfer from the processor # 1 is performed. Therefore, initially, the processing result of the MB of the Nth MB line processed by the processor # 1 that is necessary for the processor # 2 to process the first MB “1” of the first MB line is the processor # 2. When transferred from 1, the process proceeds to step S112-2. In step S112-2, it is determined whether i ≦ W. If the determination result is YES, step S113-2 performs a synchronization process for waiting for data transfer from the processor # 1. Therefore, when the processing result of the MB of the Nth MB line processed by the processor # 1 necessary for the processor # 2 to process the MB is transferred from the processor # 1, the processing proceeds to step S102-2. move on. If the decision result in the step S112-2 is NO, the process advances to a step S102-2. The other processing of the processor # 2 is basically the same as the processing of the processor # 1.

次に、プロセッサ#3の処理を説明する。プロセッサ#3の処理が開始されると、ステップS101−3は変数i(整数)をi=1に設定する。ステップS111−3はプロセッサ#2からのデータ転送を待つ同期処理を行う。従って、最初は、プロセッサ#3が1番目のMBラインの1番目のMB「1」を処理するのに必要である、プロセッサ#2が処理したN番目のMBラインのMBの処理結果がプロセッサ#2から転送されてくると、処理はステップS112−3へ進む。ステップS112−3はi≦Wであるか否かを判定し、判定結果がYESであると、ステップS113−3はプロセッサ#2からのデータ転送を待つ同期処理を行う。従って、プロセッサ#3がMBを処理するのに必要である、プロセッサ#2が処理したN番目のMBラインのMBの処理結果がプロセッサ#2から転送されてくると、処理はステップS102−3へ進む。ステップS112−3の判定結果がNOであると、処理はステップS102−3へ進む。プロセッサ#4の他の処理は、基本的には上記プロセッサ#2の処理と同じである。
(第2実施例)
次に、本発明の復号化方法及び装置の第2実施例を図9〜図12と共に説明する。
Next, the processing of processor # 3 will be described. When the processing of processor # 3 is started, step S101-3 sets variable i (integer) to i = 1. In step S111-3, a synchronization process for waiting for data transfer from the processor # 2 is performed. Therefore, initially, the processing result of the MB of the Nth MB line processed by the processor # 2 which is necessary for the processor # 3 to process the first MB “1” of the first MB line is the processor # 3. When transferred from 2, the process proceeds to step S112-3. In step S112-3, it is determined whether i ≦ W. If the determination result is YES, step S113-3 performs a synchronization process for waiting for data transfer from the processor # 2. Therefore, when the processing result of the MB of the Nth MB line processed by processor # 2 necessary for processor # 3 to process the MB is transferred from processor # 2, the process proceeds to step S102-3. move on. If the decision result in the step S112-3 is NO, the process advances to a step S102-3. Other processing of the processor # 4 is basically the same as the processing of the processor # 2.
(Second embodiment)
Next, a second embodiment of the decoding method and apparatus according to the present invention will be described with reference to FIGS.

図9は、第2実施例の処理順序とデータ転送を2つのプロセッサを用いる場合について説明する図である。図9中、各矩形領域は1つのMBを示し、各矩形領域内の数字は処理順序を示し、細い実線の矢印はデータ転送を示す。説明の便宜上、図9では2つのプロセッサ#1,#2が用いられ、各プロセッサ#1,#2が処理を担当する処理範囲は3MBライン毎であるものとする。   FIG. 9 is a diagram for explaining the processing order and data transfer of the second embodiment when two processors are used. In FIG. 9, each rectangular area indicates one MB, a number in each rectangular area indicates the processing order, and a thin solid line arrow indicates data transfer. For convenience of explanation, it is assumed in FIG. 9 that two processors # 1 and # 2 are used, and the processing range in which each processor # 1 and # 2 takes charge of processing is every 3 MB line.

DF処理のように、処理対象となる符号化された画像データの1フレーム内の注目MBに対する処理を行う際に注目MBの上の参照MBのデータを必要とする場合、図9に示すような順序で処理を行う。各MBラインは例えば4つのMBからなり、各MBは例えば16×16画素のデータからなる。   When the reference MB data above the target MB is required when processing the target MB in one frame of the encoded image data to be processed as in the DF processing, as shown in FIG. Process in order. Each MB line is composed of, for example, four MBs, and each MB is composed of data of 16 × 16 pixels, for example.

注目MBの処理が終了すると、次は下のMBの処理を行う。プロセッサの処理範囲の最後(一番下)のMBラインの注目MBまで処理が到達すると、この処理範囲の一番上(1番目)のMBラインの未処理のMBのうち、最も左のMBを注目MBとしての処理を行う。各プロセッサ#1,#2、或いは、各専用ハードウェア(デコーダ)が担当するMBライン数は3なので、このようにして3個のMBの処理に対して1個の同期処理を行う処理を、処理範囲の最後(一番下のMBラインの右端のMB)に到達するまで繰り返す。このようにして各処理範囲内の全てのMBの処理が終わるまで処理を繰り返す。   When the processing for the target MB is completed, the next MB is processed. When processing reaches the target MB of the last (bottom) MB line in the processor's processing range, the leftmost MB among the unprocessed MBs in the top (first) MB line of this processing range Processing as the target MB is performed. Since each processor # 1, # 2 or each dedicated hardware (decoder) is in charge of 3 MB lines, the process of performing one synchronization process for the process of 3 MBs in this way, Repeat until the end of the processing range (the rightmost MB of the bottom MB line) is reached. In this way, the processing is repeated until the processing of all MBs in each processing range is completed.

つまり、プロセッサ#1は、図10に示すように、1番目のMBラインの一番左の注目MB「1」の処理が終了すると、MB「1」の下に位置する2番目のMBラインの最も左のMB「2」を注目MBとして処理を行う。次は、MB「2」の下に位置する3番目のMBラインの最も左のMB「3」を注目MBとして処理を行う。次に、1番目のMBラインの未処理で最も左のMB「4」を注目MBとして処理を行い、下に位置する2番目、3番目のMBラインにあるMB「5」、「6」を注目MBとして処理を行う。それ以降は、同様にして、3個のMBの処理に対して1個の同期処理を行う処理を、処理範囲の最後(一番下のMBラインの右端のMB)に到達するまで繰り返す。   That is, as shown in FIG. 10, when the processing of the leftmost target MB “1” of the first MB line is completed, the processor # 1 determines the second MB line located below the MB “1”. Processing is performed with the leftmost MB “2” as the target MB. Next, processing is performed with the leftmost MB “3” of the third MB line located below MB “2” as the target MB. Next, the leftmost MB “4” of the first MB line is processed as the target MB, and MBs “5” and “6” in the second and third MB lines located below are processed. Process as the MB of interest. Thereafter, similarly, the process of performing one synchronization process for the process of three MBs is repeated until the end of the processing range (the rightmost MB of the lowest MB line) is reached.

他方、プロセッサ#2は、上記プロセッサ#1と同様の処理順序で処理を行うが、最初に処理する第1番目のMBラインの処理については同期処理で転送されてくるプロセッサ#1の処理結果を用いる。つまり、プロセッサ#1による最初の3個のMBの処理が行われた時点で、3番目のMBラインのMB「3」の処理結果を用いて、プロセッサ#2が処理するMBラインでは1番目のMBラインの一番左の注目MB「1」の処理を行う。1番目のMBラインの一番左の注目MB「1」の処理が終了すると、2番目のMBラインのMB「2」を注目MBとして処理を行う。プロセッサ#2は、それ以降は上記プロセッサ#1の処理順序と同様の処理順序で、1番目のMBラインの処理についてはプロセッサ#1の処理結果を用いて、処理範囲内の全てのMBの処理が終わるまで処理を繰り返す。   On the other hand, the processor # 2 performs processing in the same processing order as the processor # 1, but the processing result of the processor # 1 transferred in the synchronous processing is processed for the processing of the first MB line to be processed first. Use. That is, when the first three MBs are processed by the processor # 1, the processing result of the MB “3” of the third MB line is used, and the first MB line processed by the processor # 2 is processed. The processing of the leftmost noticed MB “1” of the MB line is performed. When the processing of the leftmost noticed MB “1” of the first MB line is completed, the process is performed with MB “2” of the second MB line as the noticed MB. Processor # 2 thereafter processes all MBs in the processing range using the processing order of processor # 1 and the processing result of processor # 1 for the processing of the first MB line. Repeat the process until is finished.

各プロセッサ#1,#2、或いは、各専用ハードウェア(デコーダ)が担当する処理範囲のMBライン数をNとすると、N個のMBの処理と1個の同期処理を処理範囲の右端に到達するまで繰り返す。これにより、処理範囲の繰り返し部では、N個のMB毎に1個の同期処理が必要となり、同期処理を上記比較例と比較するとN分の1に削減できる。   If the number of MB lines in the processing range handled by each processor # 1, # 2 or each dedicated hardware (decoder) is N, N MB processing and one synchronization processing will reach the right end of the processing range. Repeat until Thereby, in the repetition part of a processing range, one synchronous process is needed for every N MB, and a synchronous process can be reduced to 1 / N compared with the said comparative example.

図11は、第2実施例の処理の概略を説明するフローチャートである。図10に示す処理は、プロセッサ21により実行される。プロセッサ21は、CPU及び記憶部等からなる周知の構成を有する情報処理装置であり、復号化装置はこのようなプロセッサ21が複数個、並列処理可能に接続された構成を有する。   FIG. 11 is a flowchart for explaining the outline of the processing of the second embodiment. The process shown in FIG. 10 is executed by the processor 21. The processor 21 is an information processing apparatus having a known configuration including a CPU, a storage unit, and the like, and the decoding apparatus has a configuration in which a plurality of such processors 21 are connected so as to be capable of parallel processing.

図11において、ステップS21は処理範囲の各MBラインの右端のMBが処理されるまで、ステップS22,S23の処理を繰り返す。ステップS22はN個のMBの処理を行い、ステップS23は処理完了の待ち合わせ、データの受け渡し等を含む同期処理を行う。ステップS24は処理範囲の最後のMBラインについてステップS21〜S23が行われたか否かを判定し、判定結果がNOであると処理はステップS21へ戻り、YESであると処理は終了する。   In FIG. 11, step S21 repeats the processing of steps S22 and S23 until the rightmost MB of each MB line in the processing range is processed. In step S22, N MBs are processed, and in step S23, synchronization processing including waiting for completion of processing, data transfer, and the like is performed. In step S24, it is determined whether or not steps S21 to S23 have been performed for the last MB line in the processing range. If the determination result is NO, the process returns to step S21, and if it is YES, the process ends.

上記の如く2つのプロセッサ#1,#2を並列処理に用いる場合、各プロセッサ#1,#2は図11に示す処理を行うが、プロセッサ#2の場合、注目MBに対する処理を行う際に注目MBの上を含む参照MBのデータを必要とする点ではプロセッサ#1の場合の処理と同じであるが、プロセッサ#2が処理するMBラインでは1番目のMBラインの処理についてはプロセッサ#1の3番目のMBラインのMBに対する処理結果を用いる点だけ異なる。   When two processors # 1 and # 2 are used for parallel processing as described above, each processor # 1 and # 2 performs the processing shown in FIG. 11, but in the case of processor # 2, attention is paid when performing processing on the target MB. The processing is the same as that in the case of the processor # 1 in that the data of the reference MB including the MB is required. However, in the MB line processed by the processor # 2, the processing of the first MB line is performed by the processor # 1. The only difference is that the processing result for the MB of the third MB line is used.

図12は、第2実施例の処理順序とデータ転送を3つのプロセッサを用いる場合について説明する図であり、図13は、第2実施例における3つのプロセッサの処理を説明するフローチャートである。図12中、各矩形領域は1つのMBを示し、各矩形領域内の数字は処理範囲の左上から右上、右下への処理順序を示し、細い実線の矢印はデータ転送を示す。又、説明の便宜上、各プロセッサ#1,#2,#3が処理を担当する処理範囲は、例えば夫々の処理性能に合わせてP,Q,Rマクロブロック(MB)ライン毎であり、各MBラインはW個のMBからなるものとする。ここで、P,Q,R,Wはいずれも2以上の整数であり、P,Q,RはいずれもNと等しくても異なっても良いが、好ましくはWより小さい。又、本実施例ではP,Q,RはP>R>Qなる関係を満足しているが、この関係に限定されるものではない。各MBは、例えば16×16画素のデータからなる。   FIG. 12 is a diagram for explaining the processing sequence and data transfer of the second embodiment when three processors are used, and FIG. 13 is a flowchart for explaining the processing of the three processors in the second embodiment. In FIG. 12, each rectangular area represents one MB, the numbers in each rectangular area indicate the processing order from the upper left to the upper right and the lower right of the processing range, and the thin solid arrows indicate data transfer. For convenience of explanation, the processing range in which each processor # 1, # 2, # 3 is in charge of processing is, for example, for each P, Q, R macroblock (MB) line in accordance with the processing performance, and each MB. A line shall consist of W MBs. Here, P, Q, R, and W are all integers of 2 or more, and P, Q, and R may be equal to or different from N, but are preferably smaller than W. In this embodiment, P, Q, and R satisfy the relationship P> R> Q, but the relationship is not limited to this. Each MB is composed of data of 16 × 16 pixels, for example.

DF処理のように、処理対象となる符号化された画像データの1フレーム内の注目MBに対する処理を行う際に注目MBの上を含む参照MBのデータを必要とする場合、図12に示すような順序で処理を行う。   As shown in FIG. 12, when the processing for the target MB in one frame of the encoded image data to be processed is required as in the DF processing, the reference MB data including the upper part of the target MB is required. Processes in the correct order.

図13は、3つのプロセッサ#1,#2,#3の処理を示す。プロセッサ#1はステップS201−1〜S207−1を行い、プロセッサ#2はステップS201−2〜S207−2,S211−2を行い、プロセッサ#3はステップS201−3〜S207−3,S211−3を行う。図13中、実質的に同じステップには同一符号にプロセッサ#1〜#3に対応する添え字「−1」〜「−3」を付けて示す。   FIG. 13 shows the processing of the three processors # 1, # 2, and # 3. The processor # 1 performs steps S201-1 to S207-1, the processor # 2 performs steps S201-2 to S207-2 and S211-2, and the processor # 3 performs steps S201-3 to S207-3 and S211-3. I do. In FIG. 13, substantially the same steps are indicated by subscripts “−1” to “−3” corresponding to the processors # 1 to # 3 attached to the same reference numerals.

先ず、プロセッサ#1の処理を説明する。プロセッサ#1の処理が開始されると、ステップS201−1は変数i(整数)をi=1に設定する。ステップS202−1はi番目のMB「i」の処理を行い、ステップS203−1はMBが処理範囲の下端に位置しているか否かを判定する。ステップS203−1の判定結果がNOであると、ステップS204−1は現在のMBの下のMBの処理を行い、処理はステップS203−1へ戻る。他方、ステップS203−1の判定結果がYESであると、ステップS205−1はプロセッサ#2へのデータ転送を行い、ステップS206−1はi=(W+P−1)であるか否かを判定する。ステップS205−1のデータ転送では、P番目のMBラインのMBの処理結果がプロセッサ#2へ転送される。ステップS206−1の判定結果がNOであると、ステップS207−1はiをi=i+1にインクリメントし、処理はステップS202−1へ戻る。ステップS206−1の判定結果がYESであると、プロセッサ#1の処理は終了する。   First, the processing of processor # 1 will be described. When the processing of the processor # 1 is started, the step S201-1 sets a variable i (integer) to i = 1. Step S202-1 performs processing of the i-th MB “i”, and step S203-1 determines whether or not the MB is located at the lower end of the processing range. If the decision result in the step S203-1 is NO, the step S204-1 performs a process on the MB below the current MB, and the process returns to the step S203-1. On the other hand, if the decision result in the step S203-1 is YES, a step S205-1 performs data transfer to the processor # 2, and a step S206-1 decides whether i = (W + P-1). . In the data transfer in step S205-1, the MB processing result of the Pth MB line is transferred to the processor # 2. If the decision result in the step S206-1 is NO, the step S207-1 increments i to i = i + 1, and the process returns to the step S202-1. If the decision result in the step S206-1 is YES, the process of the processor # 1 is finished.

次に、プロセッサ#2の処理を説明する。プロセッサ#2の処理が開始されると、ステップS201−2は変数i(整数)をi=1に設定する。ステップS211−2はプロセッサ#1からのデータ転送を待つ同期処理を行う。従って、最初は、プロセッサ#2が1番目のMBラインの1番目のMB「1」を処理するのに必要である、プロセッサ#1が処理したP番目のMBラインのMBの処理結果がプロセッサ#1から転送されてくると、処理はステップS202−2へ進む。プロセッサ#2の他の処理は、基本的には上記プロセッサ#1の処理と同じであるが、ステップS206−2はi=(W+Q−1)であるか否かを判定する。   Next, the processing of processor # 2 will be described. When the processing of processor # 2 is started, step S201-2 sets variable i (integer) to i = 1. In step S211-2, a synchronization process for waiting for data transfer from the processor # 1 is performed. Therefore, initially, the processing result of the MB of the Pth MB line processed by the processor # 1 that is necessary for the processor # 2 to process the first MB “1” of the first MB line is the processor # 2. When transferred from 1, the process proceeds to step S202-2. The other processing of the processor # 2 is basically the same as the processing of the processor # 1, but step S206-2 determines whether i = (W + Q-1).

次に、プロセッサ#3の処理を説明する。プロセッサ#3の処理が開始されると、ステップS201−3は変数i(整数)をi=1に設定する。ステップS211−3はプロセッサ#2からのデータ転送を待つ同期処理を行う。従って、最初は、プロセッサ#3が1番目のMBラインの1番目のMB「1」を処理するのに必要である、プロセッサ#2が処理したQ番目のMBラインのMBの処理結果がプロセッサ#2から転送されてくると、処理はステップS202−3へ進む。プロセッサ#4の他の処理は、基本的には上記プロセッサ#2の処理と同じであるが、ステップS206−3はi=(W+R−1)であるか否かを判定する。   Next, the processing of processor # 3 will be described. When the processing of processor # 3 is started, step S201-3 sets variable i (integer) to i = 1. A step S211-3 performs a synchronization process waiting for data transfer from the processor # 2. Therefore, initially, the processing result of the MB of the Qth MB line processed by the processor # 2 which is necessary for the processor # 3 to process the first MB “1” of the first MB line is the processor # 3. When transferred from 2, the process proceeds to step S202-3. The other processing of the processor # 4 is basically the same as the processing of the processor # 2, but step S206-3 determines whether i = (W + R-1).

尚、上記各実施例においては、処理の対象となる符号化された画像データに対して復号化装置が複数のプロセッサのソフトウェア処理により上記の如きMB単位の処理を行っているが、複数のデコーダのハードウェア処理により上記の如きMB単位の処理を行う場合、デコーダとしては物理的に別々の複数のデコーダを用いても、物理的には単一のデコーダ内の複数のデコーダ部を用いても良いことは言うまでもない。   In each of the above embodiments, the decoding apparatus performs the above-described MB unit processing on the encoded image data to be processed by software processing of a plurality of processors. When performing the above-described MB unit processing by hardware processing, it is possible to use a plurality of physically separate decoders as a decoder, or physically use a plurality of decoder units within a single decoder. It goes without saying that it is good.

本発明は、H.264方式の復号化処理のような、複雑なデータ依存性がある処理が要求される画像処理に対して適用可能である。   The present invention relates to H.264. The present invention can be applied to image processing that requires complicated data-dependent processing such as H.264 decoding processing.

以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。   While the present invention has been described with reference to the embodiments, it is needless to say that the present invention is not limited to the above-described embodiments, and various modifications and improvements can be made within the scope of the present invention.

Claims (12)

処理の対象となる符号化された画像データに対して、複数の処理部でマクロブロック単位の並列処理を行う復号化方法であって、
各処理部が処理を担当する処理範囲に、複数のマクロブロックラインを割り当て、
該各処理部が処理する第1数個の注目マクロブロックの処理を、該注目マクロブロックが属するマクロブロックラインより1つ先行するマクロブロックラインの参照マクロブロックの処理結果を用いて前記注目マクロブロック毎に行うとともに、前記第1数個の注目マクロブロックの処理の後に第2数個の注目マクロブロック毎に同期処理を行い、
第1の処理部の処理範囲内の最後のマクロブロックラインの参照マクロブロックの処理結果を用いて、第2の処理部の処理範囲内の最初のマクロブロックラインの注目マクロブロックの処理を行う
ことを特徴とする、復号化方法。
A decoding method for performing parallel processing in units of macroblocks on a plurality of processing units for encoded image data to be processed,
Assign multiple macroblock lines to the processing range that each processing unit is in charge of processing,
The process of the first several target macroblock to respective processing unit to process said target macroblock using the processing result of the reference macroblock of the macroblock line remarked macroblock preceding one from the macroblock lines belonging And performing synchronization processing for each of the second several macroblocks after the processing of the first several macroblocks ,
The target macroblock of the first macroblock line within the processing range of the second processing unit is processed using the processing result of the reference macroblock of the last macroblock line within the processing range of the first processing unit. A decoding method characterized by the above.
該複数の処理部の処理を、複数のプロセッサのソフトウェア処理、或いは、複数のデコーダのハードウェア処理で行うこと
を特徴とする、請求項1記載の復号化方法。
The decoding method according to claim 1, wherein the processing of the plurality of processing units is performed by software processing of a plurality of processors or hardware processing of a plurality of decoders.
該各処理部の処理は、H.264−AVC規格に準拠したイントラ予測又はモーションベクトル予測であり、
参照マクロブロックは、対応する注目マクロブロックの右上に位置すること
を特徴とする、請求項1又は2記載の復号化方法。
The processing of each processing unit is H.264. 264-AVC standard intra prediction or motion vector prediction,
The decoding method according to claim 1 or 2, wherein the reference macroblock is located at the upper right of the corresponding macroblock of interest.
各処理部の処理は、H.264−AVC規格に準拠したデブロッキングフィルタ処理であり、
参照マクロブロックは、対応する注目マクロブロックの上に位置すること
を特徴とする、請求項1又は2記載の復号化方法。
The processing of each processing unit is H.264. 264-AVC standard compliant deblocking filter processing,
The decoding method according to claim 1 or 2, wherein the reference macroblock is positioned above the corresponding target macroblock.
前記第1数は、前記複数のマクロブロックラインの数をNとするとN(N+1)/2で示されること
を特徴とする、請求項1〜4のいずれか1項記載の復号化方法。
5. The decoding method according to claim 1, wherein the first number is represented by N (N + 1) / 2, where N is the number of the plurality of macroblock lines .
前記第2数は、前記マクロブロックラインの数であることThe second number is the number of the macroblock lines
を特徴とする請求項1〜5のいずれか1項記載の符号化方法。The encoding method according to claim 1, wherein:
処理の対象となる符号化された画像データをマクロブロック単位で並列処理する複数の処理部を備え、
各処理部が処理を担当する処理範囲に、複数のマクロブロックラインが割り当てられ、
該各処理部が処理する第1数個の注目マクロブロックの処理は、該注目マクロブロックが属するマクロブロックラインより1つ先行するマクロブロックラインの参照マクロブロックの処理結果を用いて前記注目マクロブロック毎に行われるとともに、前記第1数個の注目マクロブロックの処理の後に第2数個の注目マクロブロック毎に同期処理が行われ、
第1の処理部の処理範囲内の最後のマクロブロックラインの参照マクロブロックの処理結果を用いて、第2の処理部の処理範囲内の最初のマクロブロックラインの注目マクロブロックの処理が行なわれること
を特徴とする、復号化装置。
A plurality of processing units that perform parallel processing of encoded image data to be processed in units of macroblocks,
A plurality of macro block lines are assigned to the processing range in which each processing unit is in charge of processing,
Processing of the first several target macroblock to respective processing unit to process the remarked macroblock using said processing result of one preceding reference macroblock of the macroblock line from macroblock line belonging target macroblock And a synchronization process is performed for each of the second several macroblocks after the processing of the first several macroblocks ,
Using the processing result of the reference macroblock of the last macroblock line within the processing range of the first processing unit, the target macroblock of the first macroblock line within the processing range of the second processing unit is processed. A decoding device characterized by the above.
該複数の処理部は、ソフトウェア処理を行う複数のプロセッサ、或いは、ハードウェア処理を行う複数のデコーダで構成されることを特徴とする、請求項記載の復号化装置。8. The decoding apparatus according to claim 7 , wherein the plurality of processing units include a plurality of processors that perform software processing or a plurality of decoders that perform hardware processing. 各処理部の処理は、H.264−AVC規格に準拠したイントラ予測又はモーションベクトル予測であり、
参照マクロブロックは、対応する注目マクロブロックの右上に位置すること
を特徴とする、請求項7又は8記載の復号化装置。
The processing of each processing unit is H.264. 264-AVC standard intra prediction or motion vector prediction,
The decoding apparatus according to claim 7 or 8 , wherein the reference macroblock is located at an upper right of the corresponding macroblock of interest.
該各処理部の処理は、H.264−AVC規格に準拠したデブロッキングフィルタ処理であり、
参照マクロブロックは、対応する注目マクロブロックの上に位置すること
を特徴とする、請求項7又は8記載の復号化装置。
The processing of each processing unit is H.264. 264-AVC standard compliant deblocking filter processing,
The decoding device according to claim 7 or 8 , wherein the reference macroblock is located on the corresponding target macroblock.
前記第1数は、前記複数のマクロブロックラインの数をNとするとN(N+1)/2で示されること
を特徴とする、請求項7〜10のいずれか1項記載の復号化装置。
The decoding apparatus according to any one of claims 7 to 10 , wherein the first number is represented by N (N + 1) / 2 where N is the number of the plurality of macroblock lines .
前記第2数は、前記マクロブロックラインの数であることThe second number is the number of the macroblock lines
を特徴とする請求項7〜11のいずれか1項記載の復号化装置。The decoding device according to any one of claims 7 to 11.
JP2008529793A 2006-08-15 2006-08-15 Decoding method and apparatus Expired - Fee Related JP4879269B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/316037 WO2008020470A1 (en) 2006-08-15 2006-08-15 Decoding method and device

Publications (2)

Publication Number Publication Date
JPWO2008020470A1 JPWO2008020470A1 (en) 2010-01-07
JP4879269B2 true JP4879269B2 (en) 2012-02-22

Family

ID=39082003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008529793A Expired - Fee Related JP4879269B2 (en) 2006-08-15 2006-08-15 Decoding method and apparatus

Country Status (2)

Country Link
JP (1) JP4879269B2 (en)
WO (1) WO2008020470A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8565315B2 (en) 2007-11-16 2013-10-22 Panasonic Corporation Image decoding device and image decoding method
CN101803388B (en) * 2008-05-23 2012-11-21 松下电器产业株式会社 Image decoding device, image decoding method, image encoding device, and image encoding method
US8311111B2 (en) * 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
WO2010113227A1 (en) * 2009-03-31 2010-10-07 パナソニック株式会社 Image decoding device
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
KR101676788B1 (en) 2014-10-17 2016-11-16 삼성전자주식회사 Method and apparatus for parallel video decoding based on multi-core system
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11234678A (en) * 1998-02-18 1999-08-27 Victor Co Of Japan Ltd Image transmission method by splitting
JP2001218201A (en) * 2000-02-01 2001-08-10 Nippon Telegr & Teleph Corp <Ntt> Parallel image decoder, parallel image decoding method and program recording medium for parallel image decoding
JP2006129285A (en) * 2004-10-29 2006-05-18 Sony Corp Coding and decoding apparatus, and coding and decoding method
JP2006295721A (en) * 2005-04-13 2006-10-26 Pioneer Electronic Corp Image encoding apparatus and image encoding method
JP2007251605A (en) * 2006-03-16 2007-09-27 Matsushita Electric Ind Co Ltd Decoder, decoding method, program, and recording medium
JP2007335931A (en) * 2006-06-12 2007-12-27 Nippon Telegr & Teleph Corp <Ntt> Filter processing method of moving picture, device, and filter processing program and recording medium thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09294262A (en) * 1996-04-26 1997-11-11 Hitachi Ltd Image coder
JP2004140473A (en) * 2002-10-15 2004-05-13 Sony Corp Image information coding apparatus, decoding apparatus and method for coding image information, method for decoding
JP4453518B2 (en) * 2004-10-29 2010-04-21 ソニー株式会社 Encoding and decoding apparatus and encoding and decoding method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11234678A (en) * 1998-02-18 1999-08-27 Victor Co Of Japan Ltd Image transmission method by splitting
JP2001218201A (en) * 2000-02-01 2001-08-10 Nippon Telegr & Teleph Corp <Ntt> Parallel image decoder, parallel image decoding method and program recording medium for parallel image decoding
JP2006129285A (en) * 2004-10-29 2006-05-18 Sony Corp Coding and decoding apparatus, and coding and decoding method
JP2006295721A (en) * 2005-04-13 2006-10-26 Pioneer Electronic Corp Image encoding apparatus and image encoding method
JP2007251605A (en) * 2006-03-16 2007-09-27 Matsushita Electric Ind Co Ltd Decoder, decoding method, program, and recording medium
JP2007335931A (en) * 2006-06-12 2007-12-27 Nippon Telegr & Teleph Corp <Ntt> Filter processing method of moving picture, device, and filter processing program and recording medium thereof

Also Published As

Publication number Publication date
WO2008020470A1 (en) 2008-02-21
JPWO2008020470A1 (en) 2010-01-07

Similar Documents

Publication Publication Date Title
JP4879269B2 (en) Decoding method and apparatus
US11647190B2 (en) Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and program
EP2659675B1 (en) Method for picture segmentation using columns
CN107087170B (en) Encoding device, encoding method, decoding device, and decoding method
CN104380740A (en) Encoding device, encoding method, decoding device, and decoding method
US20080298473A1 (en) Methods for Parallel Deblocking of Macroblocks of a Compressed Media Frame
US9392278B2 (en) Image encoding or decoding apparatus, system, method, and storage medium for encoding or decoding a plurality of images in parallel
US20170311001A1 (en) Moving image encoding method, moving image decoding method, moving image encoding device, and moving image decoding device
JP2010273190A (en) Apparatus, and method for processing decoding, data distribution program and decoding processing program
JP2007251865A (en) Image data processing apparatus, image data processing method, program for image data processing method, and recording medium recording program for image data processing method
WO2015145504A1 (en) Image decoding device, image decoding method, and integrated circuit
JP2024019495A (en) Image encoder, image decoder, image encoding method, and image decoding method
JPWO2009063646A1 (en) Image decoding apparatus and image decoding method
US8971401B2 (en) Image decoding device
JP2024019496A (en) Image encoder, image decoder, image encoding method, and image decoding method
EP2814254A1 (en) Combined parallel and pipelined video encoder
JP4802928B2 (en) Image data processing device
US9219926B2 (en) Image encoding apparatus, image encoding method and program, image decoding apparatus, image decoding method and program
JP2008289105A (en) Image processing device and imaging apparatus equipped therewith
US11425423B1 (en) Memory storage for motion estimation and visual artifact redcution
JP2008172545A (en) Image encoding/decoding device
JP2021061547A (en) Image encoding device, image encoding method, and program
JP2007180862A (en) Image encoding device and image coding method
JP2009302896A (en) Image encoder and image encoding method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111101

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees