JP4879269B2 - Decoding method and apparatus - Google Patents
Decoding method and apparatus Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 111
- 238000012545 processing Methods 0.000 claims description 305
- 230000008569 process Effects 0.000 claims description 83
- 238000012546 transfer Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 10
- 230000000052 comparative effect Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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にて提案されている。
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.
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
そこで、本発明では、処理の対象となる符号化された画像データ(動画データ)に対して復号化装置が複数のプロセッサのソフトウェア処理、或いは、複数のデコーダのハードウェア処理、即ち、複数の処理部で上記の如き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
本発明によれば、異なるプロセッサ、或いは、異なるデコーダ間で担当する処理範囲の境界が少なくなり、同期処理によるオーバーヘッドの増加を抑制することができる。例えば、図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
尚、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
イントラ予測や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
つまり、プロセッサ#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
他方、プロセッサ#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
各プロセッサ#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
同期処理のオーバーヘッドを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
図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
図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
図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
イントラ予測や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
先ず、プロセッサ#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
次に、プロセッサ#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
次に、プロセッサ#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
(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
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
つまり、プロセッサ#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
他方、プロセッサ#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
各プロセッサ#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
図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
図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
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
先ず、プロセッサ#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
次に、プロセッサ#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
次に、プロセッサ#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
尚、上記各実施例においては、処理の対象となる符号化された画像データに対して復号化装置が複数のプロセッサのソフトウェア処理により上記の如き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.
参照マクロブロックは、対応する注目マクロブロックの右上に位置すること
を特徴とする、請求項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.
参照マクロブロックは、対応する注目マクロブロックの上に位置すること
を特徴とする、請求項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〜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 .
を特徴とする請求項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.
参照マクロブロックは、対応する注目マクロブロックの右上に位置すること
を特徴とする、請求項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.
参照マクロブロックは、対応する注目マクロブロックの上に位置すること
を特徴とする、請求項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.
を特徴とする、請求項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 .
を特徴とする請求項7〜11のいずれか1項記載の復号化装置。The decoding device according to any one of claims 7 to 11.
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)
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 |
WO2009142021A1 (en) * | 2008-05-23 | 2009-11-26 | パナソニック株式会社 | 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 |
JP5275454B2 (en) | 2009-03-31 | 2013-08-28 | パナソニック株式会社 | 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)
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)
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 |
-
2006
- 2006-08-15 JP JP2008529793A patent/JP4879269B2/en not_active Expired - Fee Related
- 2006-08-15 WO PCT/JP2006/316037 patent/WO2008020470A1/en active Application Filing
Patent Citations (6)
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 |
---|---|
JPWO2008020470A1 (en) | 2010-01-07 |
WO2008020470A1 (en) | 2008-02-21 |
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 | |
CN101490968B (en) | Parallel processing apparatus for video compression | |
US8031778B2 (en) | Picture decoding device and 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 | |
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 | |
JP2009267689A (en) | Moving image coding device, and moving image coding method | |
WO2015145504A1 (en) | Image decoding device, image decoding method, and integrated circuit | |
US20140029671A1 (en) | Image encoding or decoding apparatus, system, method, and storage medium for encoding or decoding a plurality of images in parallel | |
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 | |
JP2024019495A (en) | Image encoder, image decoder, image encoding method, and image decoding method | |
JPWO2009063646A1 (en) | Image decoding apparatus and image decoding method | |
JP5275454B2 (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 |
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 |