JP2010093580A - デコーダおよびデコードプログラム - Google Patents
デコーダおよびデコードプログラム Download PDFInfo
- Publication number
- JP2010093580A JP2010093580A JP2008262080A JP2008262080A JP2010093580A JP 2010093580 A JP2010093580 A JP 2010093580A JP 2008262080 A JP2008262080 A JP 2008262080A JP 2008262080 A JP2008262080 A JP 2008262080A JP 2010093580 A JP2010093580 A JP 2010093580A
- Authority
- JP
- Japan
- Prior art keywords
- decoded
- macroblock
- decoding
- data
- encoded data
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims abstract description 81
- 238000007781 pre-processing Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 12
- 238000013139 quantization Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】復号処理を高効率化することが可能なデコーダおよびデコード方法を提供する。
【解決手段】デコーダは、復号対象のピクチャデータを書き込むべき記憶領域に前回復号したピクチャデータをコピーするコピー手段と、デコーダが取り込んだ符号化データから、復号対象のピクチャデータに含まれる次に復号すべきマクロブロックの符号化データを切り出す切り出し手段と、次に復号すべきマクロブロックの復号方法を示すデータに基づいて、次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致するか否かを判定する判定手段と、判定手段により両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを記憶領域に書き込み、一方、判定手段により両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データの復号処理を実行しない復号手段と、を備える。
【選択図】図4
【解決手段】デコーダは、復号対象のピクチャデータを書き込むべき記憶領域に前回復号したピクチャデータをコピーするコピー手段と、デコーダが取り込んだ符号化データから、復号対象のピクチャデータに含まれる次に復号すべきマクロブロックの符号化データを切り出す切り出し手段と、次に復号すべきマクロブロックの復号方法を示すデータに基づいて、次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致するか否かを判定する判定手段と、判定手段により両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを記憶領域に書き込み、一方、判定手段により両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データの復号処理を実行しない復号手段と、を備える。
【選択図】図4
Description
本発明は、一連のピクチャデータの符号化データを復号するデコーダおよびデコードプログラムに関する。
H.264/AVC規格に準拠した符号化および復号化を行うソフトウェアには、ジョイントモデル(Joint Model、以下JMと呼ぶ)と呼ばれる標準的なソフトウェアがある。このJMを採用したデコーダは、ピクチャデータの符号化データを取り込んで当該ピクチャデータを構成する複数のマクロブロックを逐次に復号し、このピクチャデータごとの復号を繰り返すことにより一連のピクチャデータを逐次に復号するものである。具体的には、JMを採用したデコーダは、1.ピクチャの符号化データの切り出し、2.マクロブロックの符号化データの切り出し、3.マクロブロック単位での復号化、4.デブロッキングフィルタ処理、5.ピクチャデータの出力、という手順を繰り返す。
図6は、JMを採用するデコーダにおいて一枚のピクチャの符号化データを復号する際の処理の流れを示している。ステップS601において、デコーダは、復号すべきピクチャデータの全てのマクロブロックを処理したか否かを判定し、全てのマクロブロックを処理していない場合にステップS602に進む。次に、ステップS602において、デコーダは、取り込んだ符号化データから次に復号すべきマクロブロックの符号化データを切り出す。ステップS603において、デコーダは、切り出したマクロブロックの符号化データを復号する処理を行う。
図6のステップS603では、復号対象のマクロブロックがPスライスまたはBスライスに含まれるものであり、デコーダが動き補償によりマクロブロックを復号する場合の処理の流れが示されている。ステップS603−1において、デコーダは、マクロブロックの復号処理を行うための前処理を行う。この前処理では、デコーダは、マクロブロックの復号方法を判別し、当該復号方法に従ってマクロブロックを復号するための準備を行う。
次に、ステップS603−2において、デコーダは、参照ピクチャが前回復号されたピクチャであり、且つ、マクロブロックの動きベクトルが0である、という判定条件を満たしているか否かを判定する。この判定条件が満たされる場合には、次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致していることを意味している。デコーダは、上記の判定条件が満たされることを判定した場合にはステップS603−3に進み、一方、上記の判定条件が満たされないことを判定した場合にはステップS603−4に進む。
ステップS603−2からステップS603−3に進んだ場合には、デコーダは、切り出したマクロブロックの符号化データに対して、動き補償、重み付き予測等の復号処理を行って、マクロブロックを復号する。一方、ステップS603−2からステップS603−4に進んだ場合には、デコーダは、前回復号したピクチャデータの同一位置のマクロブロックをコピーする。より詳しくは、デコーダ10は、前回復号したピクチャデータの同一位置のマクロブロックを格納した記憶領域にアクセスして、当該同一位置のマクロブロックのデータを読み出し、その後、次に復号すべきマクロブロックを格納するための記憶領域に、当該同一位置のマクロブロックのデータを書き込む。
なお、下記の特許文献1,2には、他の従来技術に係るデコーダが示されている。
特開2008−17527号公報
特開2007−312358号公報
上述したとおり、JMを採用したデコーダは、次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致していることを判定した場合に、前回復号したピクチャデータの同一位置のマクロブロックをコピーする。このマクロブロック単位でのコピー処理は、両マクロブロックが一致する度に行われるため、一枚のピクチャデータを復号する間に何回も行われる処理である。
したがって、デコーダは、一枚のピクチャデータを復号する間に、両マクロブロックが一致する度に何回もメモリにアクセスするため、メモリアクセスのオーバーヘッドが大きくなり、マクロブロックのコピー処理に要する時間が長くなる。その結果、JMを採用したデコーダでは、復号処理の効率が低下してしまう。
特に、動きが少ない動画像データを復号して再生する際には、マクロブロック単位でのコピー処理が大量に発生し、復号処理の効率が顕著に低下してしまう。すなわち、動きが少ない動画像を再生する際には、コピーするマクロブロックの1個のデータ量は小さいが、マクロブロックをコピーする回数が多いため、メモリアクセスのオーバーヘッドが大きくなり、マクロブロックのコピー処理に要する時間が長くなる。
本発明は、上記の課題を解決するためになされたもので、復号処理を高効率化することが可能なデコーダおよびデコード方法を提供することを目的とする。
上述した目的を達成するために、本発明は、ピクチャデータの符号化データを取り込んで当該ピクチャデータを構成する複数のマクロブロックを逐次に復号し、このピクチャデータごとの復号を繰り返すことにより一連のピクチャデータを逐次に復号するデコーダであって、復号対象のピクチャデータを書き込むべき記憶領域に前回復号したピクチャデータをコピーするコピー手段と、デコーダが取り込んだ符号化データから、復号対象のピクチャデータに含まれる次に復号すべきマクロブロックの符号化データを切り出す切り出し手段と、次に復号すべきマクロブロックの復号方法を示すデータに基づいて、次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致するか否かを判定する判定手段と、判定手段により両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを記憶領域に書き込み、一方、判定手段により両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データの復号処理を実行しない復号手段と、を備えることを特徴とする。
本発明のデコーダでは、復号対象のピクチャデータを書き込むべき記憶領域に前回復号したピクチャデータを予めコピーしておき、その後、復号対象のピクチャデータに含まれる次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致するか否かを判定する。そして、両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを記憶領域に書き込む。その一方で、両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データの復号処理を実行しない。このデコーダによれば、復号対象のピクチャデータを書き込むべき記憶領域に前回復号したピクチャデータを予めコピーしているため、復号対象のピクチャデータを構成する複数のマクロブロックを逐次に復号する際に、次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致していることが判定される度に、その前回復号したマクロブロックのデータをコピーする必要はない。よって、前回復号したピクチャデータのマクロブロックのコピーが頻繁に行われることを防止して、ピクチャデータの復号処理を高効率化することができる。
上述したデコーダにおいて、復号手段は、判定手段により両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号するための前処理を行ってから、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを記憶領域に書き込むことが好ましい。上記の構成によれば、両マクロブロックが一致しないことが判定された場合にのみ、次に復号すべきマクロブロックの符号化データを復号するための前処理が行われ、その一方で、両マクロブロックが一致することが判定された場合には前処理が行われない。よって、両マクロブロックが一致することが判定された場合に前処理が行われることを防止することにより、デコーダにおける無駄な処理を少なくし、ピクチャデータの復号処理を更に効率化することができる。
上述したデコーダにおいて、切り出し手段は、判定手段により両マクロブロックが一致することが判定された場合に、符号化データの切り出しを中断することが好ましい。上記の構成によれば、両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データの切り出しを中断することにより、デコーダにおける無駄な処理を少なくし、ピクチャデータの復号処理を更に効率化することができる。
上述した目的を達成するために、本発明は、ピクチャデータの符号化データを取り込んで当該ピクチャデータを構成する複数のマクロブロックを逐次に復号し、このピクチャデータごとの復号を繰り返すことにより一連のピクチャデータを逐次に復号するデコードプログラムであって、復号対象のピクチャデータを書き込むべき記憶領域に前回復号したピクチャデータをコピーするコピー機能と、デコードプログラムが取り込んだ符号化データから、復号対象のピクチャデータに含まれる次に復号すべきマクロブロックの符号化データを切り出す切り出し機能と、次に復号すべきマクロブロックの復号方法を示すデータに基づいて、次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致するか否かを判定する判定機能と、判定機能により両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを記憶領域に書き込み、一方、判定機能により両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データの復号処理を実行しない復号機能と、をコンピュータに実現させるデコードプログラムである。
上述したデコーダにおいて、復号機能は、判定機能により両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号するための前処理を行ってから、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを記憶領域に書き込むことが好ましい。
上述したデコーダにおいて、切り出し機能は、判定機能により両マクロブロックが一致することが判定された場合に、符号化データの切り出しを中断することが好ましい。
本発明によれば、一連のピクチャデータの符号化データを復号するデコーダおよびデコードプログラムであって、復号処理を高効率化することが可能なデコーダおよびデコードプログラムを提供することができる。
以下、添付図面を参照して、本発明の好適な実施形態について詳細に説明する。なお、説明において、同一要素または同一機能を有する要素には、同一符号を用いることとし、重複する説明は省略する。
図1には、本実施形態に係るデコーダ10のハードウェア構成が示されている。デコーダ10は、汎用のコンピュータを用いて構成されており、バス16により接続されたCPU(Central Processing Unit)12およびRAM(Random Access Memory)14を含んでいる。CPU12およびRAM14は、H.264/AVC規格に準拠した復号処理を行う演算処理部である。すなわち、CPU12は、H.264/AVC規格に準拠したデコードプログラムをRAM14に読み出して実行し、時系列に並んだ一連のピクチャデータである動画像データの符号化データの復号処理を行う。
本実施形態では、一連のピクチャの符号化データのビットストリームDinが、バス16を介してRAM14に入力される。CPU12およびRAM14は、ピクチャの符号化データを復号し、符号化前のピクチャデータをほぼ再生する。復号されたピクチャデータDoutは、バス16を介してRAM14から出力される。なお、図1に示されるハードウェア構成は単なる一例であり、他のハードウェア構成によりデコーダ10が構成されてもよい。
RAM14に入力されるビットストリームは、NAL(Network Abstraction Layer)ユニットというパケットを基本単位として構成されている。NALユニットには複数の種類があり、スライスデータを含むNALユニット、シーケンスパラメータセットのデータを含むNALユニット、ピクチャパラメータセットのデータを含むNALユニット、アクセスユニットデリミタのデータを含むNALユニット等がある。
スライスは、ピクチャ内で水平方向に延びる帯状の画像領域であり、複数のマクロブロックにより構成されている。スライスには、復号方法の異なる複数の種類があり、I(Intra)スライス、P(Predictive)スライス、B(Bi-predictive)スライス等がある。Iスライスは、画面内予測により復号化可能なスライスであり、Pスライスは、参照ピクチャを1枚用いた画面間予測により復号化可能なスライスであり、Bスライスは、参照ピクチャを最大2枚用いた画面間予測により復号化可能なスライスである。なお、このようなスライスごとの復号方法は、ピクチャパラメータセット、スライスデータ等のデータに基づいて判別可能である。
図2には、本実施形態に係るデコーダ10の概略的な機能を示す機能ブロック図が示されている。デコーダ10は、エントロピー復号部22と、逆量子化/逆DCT部24と、画面内予測部28と、動き補償部30と、重み付き予測部32と、デブロッキングフィルタ部34と、を含んで構成されている。これらの機能ブロックの夫々は、デコーダ10がデコードプログラムを実行することにより実現されるものである。
エントロピー復号部22は、ビットストリームを取り込むと、ビットストリームから一部の符号化データを切り出し、切り出した符号化データをエントロピー復号する。言い換えれば、エントロピー復号部22は、ビットストリームから次に復号するピクチャおよびマクロブロックの符号化データを切り出す切り出し部である。逆量子化/逆DCT部24は、エントロピー復号部22によりエントロピー復号されたマクロブロックの符号化データを逆量子化し、更に逆量子化された信号を逆離散コサイン変換する。
マクロブロックが画面内予測により復号可能なものである場合には、画面内予測部28は、同一のピクチャ内の情報を用いて画素値を予測する。一方、マクロブロックが画面間予測により復号可能なものである場合には、動き補償部30は、時間的に前後のピクチャの情報を用いて画素値を予測し、続いて、重み付き予測部32は、動き補償部30により処理された画素値に重み係数を掛けて、画面間に生じる明るさの時間変化に適応するように画素値を補正する。なお、画面内予測および画面間予測に必要な情報は、エントロピー復号部22から画面内予測部28、動き補償部30、重み付き予測部32に与えられる。
マクロブロックの復号方法が画面内予測または画面間予測のいずれであるかに応じて、スイッチ36が切り替えられる。画面内予測または画面間予測により得られたピクチャデータは、逆量子化および逆DCTにより得られたピクチャデータに加算される。デブロッキングフィルタ部34は、復号されたピクチャのブロックノイズを抑制して、そのブロックノイズが抑制されたピクチャデータを出力する。また、デブロッキングフィルタ部34は、動き補償部30の利用に供するため、ブロックノイズが抑制されたピクチャデータ40をRAM14に記憶する。
図3のフローチャートには、本実施形態のデコーダ10における復号処理の全体的な流れが示されている。図3の復号処理は、デコーダ10がデコードプログラムを実行することにより実現されるものである。
先ず、ステップS301において、デコーダ10は、ビットストリームに含まれる全てのピクチャの符号化データを復号したか否かを判定する。ここで、デコーダ10は、全てのピクチャの符号化データを復号していないことを判定した場合には、次に復号すべきピクチャの符号化データを復号するためにステップS302の処理に進む。一方、デコーダ10は、全てのピクチャの符号化データを復号したことを判定した場合には、復号処理を終了する。
次に、ステップS301からステップS302に進んだ場合には、デコーダ10は、次に復号すべきピクチャの符号化データの切り出しを行い、切り出した符号化データのエントロピー復号を行う。そして、ステップS303において、デコーダ10は、前回復号した直前のピクチャデータをコピーする。より詳しくは、デコーダ10は、RAM14において前回復号したピクチャデータを格納した記憶領域にアクセスして、当該前回復号したピクチャデータを読み出し、その後、RAM14において次に復号すべきピクチャデータを格納するための記憶領域に、当該前回復号したピクチャデータを書き込む。
次に、ステップS304において、デコーダ10は、復号対象のピクチャを構成する全てのマクロブロックの符号化データを復号したか否かを判定する。ここで、デコーダ10は、全てのマクロブロックの符号化データを復号していないことを判定した場合には、次に復号すべきマクロブロックの符号化データを復号するためにステップS305の処理に進む。一方、デコーダ10は、全てのマクロブロックの符号化データを復号したことを判定した場合には、ステップS307の処理に進む。
ステップS304からステップS305に進んだ場合には、デコーダ10は、ステップS302で切り出した復号対象のピクチャの符号化データから、次に処理すべきマクロブロックの符号化データの切り出しを行う。そして、ステップS306において、デコーダ10は、切り出したマクロブロックの符号化データを復号する。ここで行われる復号処理は、図2を参照して説明した逆量子化/逆DCT、画面内予測、動き補償、重み付き予測等の復号処理である。デコーダ10は、RAM14において復号対象のマクロブロックを格納するための記憶領域に、マクロブロックの復号化データを書き込む。
一方、ステップS304からステップS307に進んだ場合には、デコーダ10は、ブロックノイズを抑制するためにデブロッキングフィルタ処理を行う。そして、ステップS308において、デコーダ10は、デブロッキングフィルタ処理後のピクチャデータを出力する。また、デコーダ10は、他のピクチャを復号するための参照ピクチャとするために、デブロッキングフィルタ処理後のピクチャデータをRAM14に保持しておく。その後、デコーダ10は、ステップS301の処理に戻り、ビットストリームに含まれる全てのピクチャデータを処理したか否かを判定する。
図4のフローチャートには、図3におけるステップS303からステップS306までの処理がより詳しく示されている。また、図5には、本実施形態における復号処理が模式的に示されている。以下、図4および図5を参照して、本実施形態の復号処理をより詳しく説明する。
前述したように、ステップS303〜ステップS306において、デコーダ10は、前回復号したピクチャデータをコピーしてから、復号対象のピクチャデータに含まれる次に復号すべきマクロブロックの符号化データを切り出し、切り出したマクロブロックの符号化データを復号する。ステップS306−1〜ステップS306−3の処理は、PスライスまたはBスライスに含まれるマクロブロックを動き補償により復号する処理である。図5の上段には、前回復号したピクチャデータPn−1を読み出して、次に復号すべきピクチャデータPnを格納するための記憶領域に書き込む処理が示されている。
ステップS306−1において、デコーダ10は、次に復号すべきマクロブロックの復号方法を示すデータに基づいて、次に復号すべきマクロブロックの画素値が前回復号した直前のピクチャの同一位置のマクロブロックの画素値と一致するか否かを判定する。より具体的には、デコーダ10は、ピクチャパラメータセットやスライスヘッダなどのデータから次に復号すべきマクロブロックの復号方法を認識し、次に復号すべきマクロブロックの復号方法に基づいて、「次に復号すべきマクロブロックが前回復号したピクチャデータを参照するものであり、且つ、次に復号すべきマクロブロックの動きベクトルが0である」という判定条件が満たされるか否かを判定する。上記の判定条件が満たされる場合には、両マクロブロックが一致することが判断できる。その一方で、上記の判定条件が満たされない場合には、両マクロブロックが一致しないことが判断できる。
なお、ステップS306−1の判定処理は、次に復号すべきマクロブロックの符号化データを切り出す処理の途中、図4においてステップS305−1の切り出し処理の前半部分とステップS305−2の切り出し処理の後半部分との間に行われる。よって、ステップS306−1における両マクロブロックが一致するか否かの判定は、次に復号すべきマクロブロックの符号化データを切り出している途中で結論を出すことができる。すなわち、デコーダ10は、次に復号すべきマクロブロックの符号化データを切り出している途中で、ピクチャパラメータセットやスライスヘッダなどがエントロピー符号化された符号化データをエントロピー復号した時点で、これらのピクチャパラメータセットやスライスヘッダなどのデータに基づいて上記の判定条件が満たされるか否かを判定することが可能となる。よって、デコーダ10は、次に復号すべきマクロブロックの符号化データの全てを切り出してエントロピー復号する前に、次に復号すべきマクロブロックの符号化データを切り出している途中で上記判定の結論を出すことができる。
ステップS306−1において両マクロブロックが一致しないことが判定された場合には、デコーダ10は、次に復号すべきマクロブロックの符号化データを復号するためにステップS306−2の処理に進む。一方、ステップS306−1において両マクロブロックが一致することが判定された場合には、デコーダ10は、マクロブロックの符号化データの復号処理を実行せずに終了し、更に復号すべき別のマクロブロックが有るか否かを判定するためにステップS304の処理に進む。ステップS306−1からステップS304に進む時には、デコーダは、ステップS305で行われているマクロブロックの符号化データの切り出し処理を中断する。このように、両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データの切り出しを中断することにより、デコーダ10における無駄な処理を少なくし、ピクチャデータの復号処理を効率化している。
ステップS306−1からステップS306−2に進んだ場合には、デコーダ10は、次に復号すべきマクロブロックの符号化データを復号するための前処理を行う。ここで、前処理とは、ピクチャパラメータセットやスライスヘッダなどに含まれるパラメータデータに基づいて、逆量子化、逆DCT、画面内予測、動き補償、重み付き予測などの復号計算を行うための準備となる処理である。本実施形態では、ステップS306−1で両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号するための前処理が行われる。一方、ステップS306−1で両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データを復号するための前処理が行われない。よって、図6に示される従来技術(JM)と比較して、両マクロブロックが一致することが判定された場合に前処理が行われることが防止されているため、デコーダ10における無駄な処理を少なくし、ピクチャデータの復号処理を効率化している。
次に、ステップS306−3において、デコーダ10は、動き補償、重み付き予測などの復号処理を行うことにより、復号対象のマクロブロックの符号化データを復号して、当該マクロブロックの復号化データをRAM14に書き込む。このようにして、復号対象のマクロブロックのためのRAM14の記憶領域に、ステップS306−2およびステップS306−3の処理により復号されたマクロブロックの復号化データが書き込まれる。その後、デコーダ10は、ステップS304の処理に戻り、復号対象のピクチャデータを構成する全てのマクロブロックを処理したか否かを判定する。
前述したように、ステップS306−1において両マクロブロックが一致することが判定された場合には、デコーダ10は、ステップS306−2およびステップS306−3の処理を行うことなく、ステップ304に戻って復号対象のピクチャデータを構成する全てのマクロブロックを処理したか否かを判定する。ここで、ステップS306−2およびステップS306−3の処理を行う必要がない理由は、復号対象のマクロブロックのためのRAM14の記憶領域には既に前回復号したピクチャデータが書き込まれているからである。図5の下段には、復号されたピクチャデータPnが示されている。復号されたピクチャデータPnにおいて、斜線が付された領域は、画面内予測や動き補償などの復号処理が行われたマクロブロックであり、一方、斜線が付されない領域は、画面内予測や動き補償などの復号処理が行われなかったマクロブロックである。
本実施形態のデコーダ10では、復号対象のピクチャデータを書き込むべき記憶領域に前回復号したピクチャデータを予めコピーしておき、その後、復号対象のピクチャデータに含まれる次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致するか否かを判定する。そして、両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを記憶領域に書き込む。その一方で、両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データの復号処理を実行しない。このデコーダ10によれば、復号対象のピクチャデータを書き込むべき記憶領域に前回復号したピクチャデータを予めコピーしているため、復号対象のピクチャデータを構成する複数のマクロブロックを逐次に復号する際に、次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致していることが判定される度に、その前回復号したマクロブロックのデータをコピーする必要はない。よって、前回復号したピクチャデータのマクロブロックのコピーが頻繁に行われることを防止して、ピクチャデータの復号処理を高効率化することができる。
VGA(Video Graphics Array)画像の復号処理を行う場合を一例として説明すると、従来技術のデコーダ10では、VGA画像のマクロブロックの個数は1300個程度であるため、1回のコピー処理でコピーされるマクロブロック1個のデータ量はピクチャ1枚のデータ量の約1/1000であり、1枚のピクチャにつき数百回〜千数百回のコピー処理が行われていた。また、従来技術のデコーダ10では、マクロブロックのコピー処理をする場合でも、画面内予測や動き補償などのための前処理が行われており、このような前処理は無駄な処理となっていた。これに対して、本実施形態のデコーダ10では、1枚のピクチャにつき1回のコピーが行われるのみである。よって、1回のコピーにおけるデータ量は大きくなるが、コピー処理に必要なオーバーヘッドが抑制されるため、ピクチャデータの復号処理を高効率化することができる。なお、本実施形態の復号処理は、静止画像や動きの少ない動画像ほど、コピー処理に必要なオーバーヘッドを抑制できる効果が顕著となる。
以上の説明では、本実施形態のデコーダ10について説明したが、本発明はこれに限定されるものではない。例えば、本実施形態のデコーダ10はH.264/AVCの規格に準拠したデコーダであったが、他の規格に準拠したデコーダに本発明が適用されてもよい。また、本実施形態のデコーダ10は汎用的なCPU12およびRAM14により構成されたが、他の実施形態ではデコーダは復号処理を行う専用の集積回路により構成されてもよい。また、本実施形態のデコーダ10はPスライスに含まれるマクロブロックの復号処理について高効率化する効果を得たが、Bスライスに含まれるマクロブロックの復号処理についても高効率化する効果を得られる。
10・・・デコーダ、12・・・CPU、14・・・RAM、16・・・バス、22・・・エントロピー復号部、24・・・逆量子化/逆DCT部、28・・・画面内予測部、30・・・動き補償部、32・・・重み付き予測部、34・・・デブロッキングフィルタ部、36・・・スイッチ、40・・・ピクチャデータ。
Claims (6)
- ピクチャデータの符号化データを取り込んで当該ピクチャデータを構成する複数のマクロブロックを逐次に復号し、このピクチャデータごとの復号を繰り返すことにより一連のピクチャデータを逐次に復号するデコーダであって、
復号対象のピクチャデータを書き込むべき記憶領域に前回復号したピクチャデータをコピーするコピー手段と、
前記デコーダが取り込んだ符号化データから、復号対象のピクチャデータに含まれる次に復号すべきマクロブロックの符号化データを切り出す切り出し手段と、
次に復号すべきマクロブロックの復号方法を示すデータに基づいて、次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致するか否かを判定する判定手段と、
前記判定手段により両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを前記記憶領域に書き込み、一方、前記判定手段により両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データの復号処理を実行しない復号手段と、
を備えることを特徴とするデコーダ。 - 前記復号手段は、前記判定手段により両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号するための前処理を行ってから、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを前記記憶領域に書き込むことを特徴とする請求項1に記載のデコーダ。
- 前記切り出し手段は、前記判定手段により両マクロブロックが一致することが判定された場合に、前記符号化データの切り出しを中断することを特徴とする請求項1または2に記載のデコーダ。
- ピクチャデータの符号化データを取り込んで当該ピクチャデータを構成する複数のマクロブロックを逐次に復号し、このピクチャデータごとの復号を繰り返すことにより一連のピクチャデータを逐次に復号するデコードプログラムであって、
復号対象のピクチャデータを書き込むべき記憶領域に前回復号したピクチャデータをコピーするコピー機能と、
前記デコードプログラムが取り込んだ符号化データから、復号対象のピクチャデータに含まれる次に復号すべきマクロブロックの符号化データを切り出す切り出し機能と、
次に復号すべきマクロブロックの復号方法を示すデータに基づいて、次に復号すべきマクロブロックが前回復号したピクチャデータの同一位置のマクロブロックと一致するか否かを判定する判定機能と、
前記判定機能により両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを前記記憶領域に書き込み、一方、前記判定機能により両マクロブロックが一致することが判定された場合に、次に復号すべきマクロブロックの符号化データの復号処理を実行しない復号機能と、
をコンピュータに実現させるデコードプログラム。 - 前記復号機能は、前記判定機能により両マクロブロックが一致しないことが判定された場合に、次に復号すべきマクロブロックの符号化データを復号するための前処理を行ってから、次に復号すべきマクロブロックの符号化データを復号して当該マクロブロックの復号化データを前記記憶領域に書き込むことを特徴とする請求項4に記載のデコードプログラム。
- 前記切り出し機能は、前記判定機能により両マクロブロックが一致することが判定された場合に、前記符号化データの切り出しを中断することを特徴とする請求項4または5に記載のデコードプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008262080A JP2010093580A (ja) | 2008-10-08 | 2008-10-08 | デコーダおよびデコードプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008262080A JP2010093580A (ja) | 2008-10-08 | 2008-10-08 | デコーダおよびデコードプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010093580A true JP2010093580A (ja) | 2010-04-22 |
Family
ID=42255877
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008262080A Withdrawn JP2010093580A (ja) | 2008-10-08 | 2008-10-08 | デコーダおよびデコードプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2010093580A (ja) |
-
2008
- 2008-10-08 JP JP2008262080A patent/JP2010093580A/ja not_active Withdrawn
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6315911B2 (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
| JP5313916B2 (ja) | テクスチャ合成を利用した映像の符号化、復号化の方法及び装置 | |
| JP5722943B2 (ja) | 冗長ビデオ符号化方法および装置 | |
| KR100624426B1 (ko) | 파이프 라인 방식의 복호화 장치 및 방법과, 이 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체 | |
| CN111741289A (zh) | 处理立方体面图像的方法和装置 | |
| US20080069244A1 (en) | Information processing apparatus, decoder, and operation control method of playback apparatus | |
| CN115104308B (zh) | 视频编解码的方法、装置和存储介质 | |
| CN121691720A (zh) | 图像预测方法、编码器、解码器以及存储介质 | |
| CN115151941A (zh) | 用于视频编码的方法和设备 | |
| JP2024507377A (ja) | ビデオ処理の方法、デバイス、及びプログラム | |
| JP7827327B2 (ja) | イントラ予測モード向けのエントロピーコーディングのための方法、装置、及びコンピュータプログラム | |
| CN120935359A (zh) | 视频编解码方法、装置和存储介质 | |
| CN121037559A (zh) | 图像解码方法、解码器及计算机存储介质 | |
| CN115769575B (zh) | 视频解码的方法、计算机装置、设备及存储介质 | |
| CN117063469A (zh) | 对mpm列表构建的改进 | |
| CN109672889B (zh) | 约束的序列数据头的方法及装置 | |
| JP2012147291A (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
| US8165217B2 (en) | Image decoding apparatus and method for decoding prediction encoded image data | |
| KR101170799B1 (ko) | 영상 압축 방법 및 그 장치와 영상 복원 방법 및 그 장치 | |
| JP6469277B2 (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
| JP2007013298A (ja) | 画像符号化装置 | |
| JP2006295569A (ja) | 動画像復号装置 | |
| JP2010212817A (ja) | 画像復号化装置および画像復号化方法 | |
| CN115486072B (zh) | 视频编解码的方法、计算机装置、设备及计算机可读介质 | |
| CN115552898B (zh) | 视频处理方法和视频处理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120110 |