JP2009141539A - 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 - Google Patents
画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP2009141539A JP2009141539A JP2007314193A JP2007314193A JP2009141539A JP 2009141539 A JP2009141539 A JP 2009141539A JP 2007314193 A JP2007314193 A JP 2007314193A JP 2007314193 A JP2007314193 A JP 2007314193A JP 2009141539 A JP2009141539 A JP 2009141539A
- Authority
- JP
- Japan
- Prior art keywords
- macroblock
- block
- prediction
- processing
- prediction mode
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】本発明は、画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体に関し、例えばH.264/MPEG−4AVC規格の符号化装置又は復号化装置に適用して、動作周波数を高くしなくても、解像度の高い画像データを符号化処理又は復号化処理できるようにする。
【解決手段】本発明は、イントラ4×4予測モード等における予測値の生成処理において、各マクロブロックのラスタ走査開始端側及び終了端側(mm0、mm1)、(mm14、mm15)では逐次処理により予測値を生成し、残りの箇所(mm2〜mm13)では並列処理により予測値を生成する。
【選択図】 図1
【解決手段】本発明は、イントラ4×4予測モード等における予測値の生成処理において、各マクロブロックのラスタ走査開始端側及び終了端側(mm0、mm1)、(mm14、mm15)では逐次処理により予測値を生成し、残りの箇所(mm2〜mm13)では並列処理により予測値を生成する。
【選択図】 図1
Description
本発明は、画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体に関し、例えばH.264/MPEG−4AVC(ITU-T Rec. H.264 ISO/IEC 14496-10 AVC )規格の符号化装置又は復号化装置に適用することができる。本発明は、イントラ4×4予測モード等における予測値の生成処理において、各マクロブロックのラスタ走査開始端側及び終了端側では逐次処理により予測値を生成し、残りの箇所では並列処理により予測値を生成することにより、動作周波数を高くしなくても、解像度の高い画像データを符号化処理又は復号化処理できるようにする。
従来、H.264/MPEG−4AVC規格の符号化装置及び復号化装置は、ラスタ走査の順序で順次マクロブロックを処理して画像データを符号化処理及び復号化処理している。ここでマクロブロックは、画像データの基本の処理単位であり、輝度成分では16画素×16画素のブロックである。従って図18に示すように、例えば8個×4個のマクロブロックM0〜M31で構成されるピクチャーを処理する場合、従来の符号化装置及び復号化装置は、矢印で示す順序でマクロブロックM0〜M31を順次処理する。
またH.264/MPEG−4AVC規格の符号化装置及び復号化装置は、処理の完了した隣接マクロブロックの処理結果を参照して各マクロブロックを処理する。従って図19に示すように、例えば座標(x,y)のマクロブロックM(x,y)を処理する場合には、左上のマクロブロックM(x−1,y−1)、真上のマクロブロックM(x,y−1)、右上のマクロブロックM(x+1,y−1)、左のマクロブロックM(x−1,y)の処理結果を参照してマクロブロックM(x,y)を符号化処理、復号化処理する。なお図19では参照関係を矢印で示す。また1つのピクチャーの最上段のマクロブロック及び左端のマクロブロックでは、処理結果である参照画像データが上方及び左方に存在しないことから、それぞれ上方向及び左方向からの参照は中止される。
このマクロブロックの処理順序に関して、特開2006−129284号公報には、複数のマクロブロックを同時並列的に処理する方法が提案されている。
またH.264/MPEG−4AVC規格では、インター予測及びイントラ予測に複数の予測モードが用意されており、符号化装置は、複数の予測モードから最適予測モードを検出して各マクロブロックを符号化処理する。具体的に、H.264/MPEG−4AVC規格では、イントラ予測に、イントラ16×16予測モード、イントラ8×8予測モード及びイントラ4×4予測モードが用意されている。
ここでイントラ16×16予測モードは、マクロブロック単位で予測値を作成してマクロブロックを符号化処理する予測モードである。またイントラ8×8予測モードは、1つのマクロブロックを水平方向及び垂直方向にそれぞれ2等分して作成される8画素×8画素のブロック単位で予測値を生成してマクロブロックを符号化処理する予測モードである。またイントラ4×4予測モードは、イントラ8×8予測モードにおける8画素×8画素のブロックを水平方向及び垂直方向にそれぞれ2等分して作成される4画素×4画素のブロック単位で予測値を生成してマクロブロックを符号化処理する予測モードである。またイントラ16×16予測モード、イントラ8×8予測モード及びイントラ4×4予測モードには、それぞれ予測方向の異なる複数の予測モードが設けられている。
従来、符号化装置及び復号化装置は、イントラ8×8予測モードでは、図20において矢印で処理順序を示すように、ラスタ走査順に8画素×8画素のブロック(以下、単に8画素×8画素ブロックと呼ぶ)m0〜m3を順次処理する。またイントラ4×4予測モードでは、図21において矢印で処理順序を示すように、破線で示す8画素×8画素のブロックをラスタ走査順に処理し、各8画素×8画素のブロック内では、それぞれ4画素×4画素のブロック(以下、単に4画素×4画素ブロックと呼ぶ)(mm0、mm1、mm4、mm5)、(mm2、mm3、mm6、mm7)、(mm8、mm9、mm12、mm13)、(mm10、mm11、mm14、mm15)をラスタ走査順に処理する。従ってこの図21の例では、4画素×4画素ブロックmm0、mm1、mm4、mm5、mm2、mm3、mm6、mm7、mm8、mm9、mm12、mm13、mm10、mm11、mm14、mm15の順序で4画素×4画素ブロックmm0〜mm15を順次処理する。
また図19との対比により図22に示すように、4×4予測モードにおいて、符号化装置及び復号化装置は、処理の完了した隣接する4画素×4画素ブロックの処理結果を参照して各4画素×4画素ブロックを処理する。従って例えば4画素×4画素ブロックmm9を処理する場合、左上の4画素×4画素ブロックmm4、真上の4画素×4画素ブロックmm5、右上の4画素×4画素ブロックmm6、左の4画素×4画素ブロックmm8の処理結果を参照して4画素×4画素ブロックmm9を符号化処理、復号化処理する。なお破線で示す8画素×8画素のブロックのうちで、左側の各ブロックにおける末尾の4画素×4画素ブロックmm5、mm13を処理する場合、右上の4画素×4画素ブロックmm6、mm10の参照は中止される。H.264/MPEG−4AVC規格では、この参照関係の方向が9種類の予測モードによって定義される。
ところで符号化処理、復号化処理する画像データの解像度が高くなると、1つのピクチャーを構成するマクロブロック数が増大し、マクロブロックに割り当て可能な処理時間が短くなる。従って符号化装置及び復号化装置では、1つの4画素×4画素ブロックを高速度で処理することが必要になる。
その結果、従来のH.264/MPEG−4AVC規格の符号化装置及び復号化装置では、高解像度の画像データを処理する場合、動作周波数を高くすることが必要になる問題があった。ここで符号化装置及び復号化装置は、動作周波数が高くなると、消費電力が増大し、また集積回路化することが困難になる場合もある。
特開2006−129284号公報
本発明は以上の点を考慮してなされたもので、動作周波数を高くしなくても、解像度の高い画像データを符号化処理又は復号化処理することができる画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体を提案しようとするものである。
上記の課題を解決するため請求項1の発明は、マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理装置に適用して、前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理部と、前記前処理部で検出された前記最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理部と、前記予測誤差値を処理して前記符号化データを生成する符号化部とを有し、前記マクロブロック処理部は、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値をそれぞれ作成する第1及び第2の予測値生成部と、前記最適予測モードの予測値を前記入力画像データから減算して前記予測誤差値を生成する減算器とを有し、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を、前記第1の予測値生成部で逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を、前記第1及び第2の予測値生成部で同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を、前記第1又は第2の予測値生成部で逐次作成する。
また請求項7の発明は、マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理装置に適用して、前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理部と、前記前処理部で検出された前記最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理部と、前記予測誤差値を処理して前記符号化データを生成する符号化部とを有し、前記前処理部は、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記第2のブロックにおける複数の予測モードの予測値をそれぞれ作成する第1及び第2の予測演算器を有し、前記第2のブロックにおける複数の予測モードの予測値に基づいて、前記最適予測モードを検出し、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を、前記第1の予測演算器で逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を、前記第1及び第2の予測演算器で同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を、前記第1又は第2の予測演算器で逐次作成する。
また請求項11の発明は、マクロブロック単位で符号化データを復号化処理して画像データを復号する画像処理装置に適用して、前記符号化データの最適予測モードを前記マクロブロック毎に検出する前処理部と、前記前処理部で検出された最適予測モードの予測値を生成するマクロブロック処理部と、前記符号化データを処理して得られる予測誤差値に前記最適予測モードの予測値を加算して前記画像データを復号する復号化部とを有し、前記マクロブロック処理部は、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値をそれぞれ作成する第1及び第2の予測値生成部を有し、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を、前記第1の予測値生成部で逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を、前記第1及び第2の予測値生成部で同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を、前記第1又は第2の予測値生成部で逐次作成する。
また請求項16の発明は、マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法に適用して、前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、前記マクロブロック処理のステップは、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値生成ステップと、前記最適予測モードの予測値を前記入力画像データから減算して前記予測誤差値を生成する予測誤差値生成ステップとを有し、前記予測値生成ステップは、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する。
また請求項17の発明は、マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法に適用して、前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、前記前処理のステップは、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記第2のブロックにおける複数の予測モードの予測値を作成する予測演算ステップと、前記第2のブロックにおける複数の予測モードの予測値に基づいて、前記入力画像データの最適予測モードを検出する最適予測モード検出ステップとを有し、前記予測演算ステップは、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する。
また請求項18の発明は、マクロブロック単位で符号化データを復号化処理して画像データを復号する画像処理方法に適用して、前記符号化データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、前記前処理のステップで検出された前記符号化データの最適予測モードの予測値を生成するマクロブロック処理のステップと、前記符号化データを処理して得られる予測誤差値に前記最適予測モードの予測値を加算して前記画像データを復号する復号化処理のステップとを有し、前記マクロブロック処理のステップは、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値生成成ステップとを有し、前記予測値生成ステップは、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する。
また請求項19の発明は、マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法のプログラムに適用して、前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、前記マクロブロック処理のステップは、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値生成ステップと、前記最適予測モードの予測値を前記入力画像データから減算して前記予測誤差値を生成する予測誤差値生成ステップとを有し、前記予測値生成ステップは、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する。
また請求項20の発明は、マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法のプログラムに適用して、前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、前記前処理のステップは、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記第2のブロックにおける複数の予測モードの予測値を作成する予測演算ステップと、前記第2のブロックにおける複数の予測モードの予測値に基づいて、前記入力画像データの最適予測モードを検出する最適予測モード検出ステップとを有し、前記予測演算ステップは、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する。
また請求項21の発明は、マクロブロック単位で符号化データを復号化処理して画像データを復号する画像処理方法のプログラムに適用して、前記符号化データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、前記前処理のステップで検出された前記符号化データの最適予測モードの予測値を生成するマクロブロック処理のステップと、前記符号化データを処理して得られる予測誤差値に前記最適予測モードの予測値を加算して前記画像データを復号する復号化処理のステップとを有し、前記マクロブロック処理のステップは、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値生成ステップを有し、前記予測値生成ステップは、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する。
また請求項22の発明は、マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法のプログラムを記録した記録媒体に適用して、前記画像処理方法のプログラムは、前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、前記マクロブロック処理のステップは、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値生成ステップと、前記最適予測モードの予測値を前記入力画像データから減算して前記予測誤差値を生成する予測誤差値生成ステップとを有し、前記予測値生成ステップは、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する。
また請求項23の発明は、マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法のプログラムを記録した記録媒体に適用して、前記画像処理方法のプログラムは、前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、前記前処理のステップは、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記第2のブロックにおける複数の予測モードの予測値を作成する予測演算ステップと、前記第2のブロックにおける複数の予測モードの予測値に基づいて、前記入力画像データの最適予測モードを検出する最適予測モード検出ステップとを有し、前記予測演算ステップは、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する。
また請求項24の発明は、マクロブロック単位で符号化データを復号化処理して画像データを復号する画像処理方法のプログラムを記録した記録媒体に適用して、前記画像処理方法のプログラムは、前記符号化データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、前記前処理のステップで検出された前記符号化データの最適予測モードの予測値を生成するマクロブロック処理のステップと、前記符号化データを処理して得られる予測誤差値に前記最適予測モードの予測値を加算して前記画像データを復号する復号化処理のステップとを有し、前記マクロブロック処理のステップは、前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値生成ステップを有し、前記予測値生成ステップは、1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する。
請求項1、請求項16、請求項19、又は請求項22の構成によれば、符号化処理における最適予測モードの予測値生成処理において、1つのマクロブロックのラスタ走査開始端及びラスタ走査終了端側を除く第2のブロックについては、複数の第2のブロックで同時並列的に予測値を生成することができる。従って1つのマクロブロックの処理に要する時間を従来に比して短くすることができ、動作周波数を高くしなくても、解像度の高い画像データを符号化処理することができる。
また請求項7、請求項17、請求項20、又は請求項23の構成によれば、最適予測モードを検出する際の予測値の生成処理において、1つのマクロブロックのラスタ走査開始端及びラスタ走査終了端側を除く第2のブロックについては、複数の第2のブロックで同時並列的に予測値を生成することができる。従って1つのマクロブロックの処理に要する時間を従来に比して短くすることができ、動作周波数を高くしなくても、解像度の高い画像データを符号化処理することができる。
請求項11、請求項18、請求項21、又は請求項24の構成によれば、復号化処理における予測値の生成処理において、1つのマクロブロックのラスタ走査開始端及びラスタ走査終了端側を除く第2のブロックについては、複数の第2のブロックで同時並列的に予測値を生成することができる。従って1つのマクロブロックの処理に要する時間を従来に比して短くすることができ、動作周波数を高くしなくても、解像度の高い画像データを復号化処理することができる。
本発明によれば、動作周波数を高くしなくても、解像度の高い画像データを符号化処理又は復号化処理することができる。
以下、適宜図面を参照しながら本発明の実施例を詳述する。
(1)実施例の構成
図2は、本発明の実施例1の符号化装置を示すブロック図である。この符号化装置1は、H.264/MPEG−4AVC規格に従って入力画像データD1を符号化処理し、符号化データD2を出力する。なお符号化装置1には、各部に画像データ等を一時格納するメモリが設けられるものの、図2及び図5においては、このメモリの記載を省略して示す。
図2は、本発明の実施例1の符号化装置を示すブロック図である。この符号化装置1は、H.264/MPEG−4AVC規格に従って入力画像データD1を符号化処理し、符号化データD2を出力する。なお符号化装置1には、各部に画像データ等を一時格納するメモリが設けられるものの、図2及び図5においては、このメモリの記載を省略して示す。
この符号化装置1において、前処理部2は、ピクチャータイプに従って入力画像データD1を並べ替え処理した後、マクロブロック毎に、最適予測モードを検出する。
すなわち前処理部2は、インター予測の最適予測モードを検出するインター予測演算器、イントラ予測の最適予測モードを検出するイントラ予測演算器が設けられる。またイントラ予測演算器には、イントラ16×16予測モード用の予測演算器、イントラ8×8予測モード用の予測演算器、イントラ4×4予測モード用の予測演算器が設けられ、これらの予測演算器を用いてそれぞれイントラ16×16予測モード、イントラ8×8予測モード、イントラ4×4予測モードの最適予測モードを検出する。
具体的に、イントラ4×4予測モード用の予測演算器は、4画素×4画素ブロック毎に、各予測モードの予測値を生成する。また生成した予測値を予測モード毎に入力画像データD1から減算して各予測モードの予測誤差値を計算し、この予測誤差値から4画素×4画素ブロック毎の発生符号量を予測モード毎に計算する。なおこの発生符号量の計算は、例えば予測誤差値の2乗和に4画素×4画素ブロックのヘッダ符号量を加算して求められる。イントラ4×4予測モード用の予測演算器は、この計算した発生符号量が最も少ない予測モードを検出して4画素×4画素ブロックの最適予測モードを検出する。
前処理部2は、各4画素×4画素ブロックで検出される最適予測モードをマクロブロックでまとめてイントラ4×4予測モードの最適予測モードに設定する。またこの各4画素×4画素ブロックの最適予測モードにおける発生符号量をマクロブロックで集計し、イントラ4×4予測モードにおける発生符号量を計算する。
イントラ8×8予測モード用の予測演算器は、8画素×8画素ブロック毎に、各予測モードの予測値を生成する。また生成した予測値を予測モード毎に入力画像データD1から減算して各予測モードの予測誤差値を計算し、イントラ4×4予測モード用の予測演算器と同様にして、この予測誤差値から8画素×8画素ブロック毎の発生符号量を予測モード毎に計算する。イントラ8×8予測モード用の予測演算器は、この計算した発生符号量が最も少ない予測モードを検出して8画素×8画素ブロックの最適予測モードを検出する。
前処理部2は、各8画素×8画素ブロックの最適予測モードをマクロブロックでまとめてイントラ8×8予測モードの最適予測モードに設定する。またこの8画素×8画素ブロックの最適予測モードにおける発生符号量をマクロブロックで集計し、イントラ8×8予測モードにおける発生符号量を計算する。
これに対してイントラ16×16予測モード用の予測演算器は、イントラ16×16予測モードにおける各予測モードの予測値を生成する。また生成した予測値を予測モード毎に入力画像データD1から減算して各予測モードの予測誤差値を計算し、イントラ4×4予測モード用の予測演算器と同様にして、この予測誤差値から16画素×16画素ブロックの発生符号量を予測モード毎に計算する。イントラ16×16予測モード用の予測演算器は、この計算した発生符号量が最も少ない予測モードを検出して16画素×16画素ブロックの最適予測モードを検出する。
前処理部2は、この16画素×16画素ブロックの最適予測モードをイントラ16×16予測モードの最適予測モードに設定し、またこの16画素×16画素ブロックの最適予測モードにおける発生符号量をイントラ16×16予測モードにおける発生符号量に設定する。
前処理部2は、イントラ予測モード用の予測演算器において、これらイントラ4×4予測モード、イントラ8×8予測モード、イントラ16×16予測モードにおける発生符号量から、最も発生符号量の少ない予測モードを検出してイントラ予測の最適予測モードに設定する。また同様にして、インター予測モード用の予測演算器において、インター予測に定義された動き補償ブロック、参照フレーム毎に、動きベクトルを検出して発生符号量を計算し、最も発生符号量の少ない動き補償ブロック、参照フレームを検出してインター予測モードの最適予測モードに設定する。
前処理部2は、これらイントラ予測モードの最適予測モードとインター予測モードの最適予測モードとから、発生符号量の少ない側の予測モードをマクロブロック毎に検出し、各マクロブロックの最適予測モードを検出する。
前処理部2は、図3に示すように、イントラ4×4予測モード用の予測演算器2Aに2つの予測演算器2AA、2ABが設けられる。ここで予測演算器2AA、2ABは、それぞれ4画素×4画素ブロック毎に最適予測モード、発生符号量を計算する。
前処理部2は、各マクロブロックにおいて、この2つの予測演算器2AA、2ABのうちの一方の予測演算器2AAを用いて4画素×4画素ブロックの処理を開始し、これら2つの予測演算器2AA、2ABで4画素×4画素ブロックの処理を同時並列的に実行可能になると、これら2つの予測演算器2AA、2ABで同時並列的に4画素×4画素ブロックを処理する。
ここで図1は、この2つの予測演算器2AA、2ABの処理順序を示す略線図である。すなわち図22について上述した参照関係により、イントラ4×4予測モードでは、ラスタ走査開始側端の4画素×4画素ブロックmm0、続く右側の4画素×4画素ブロックmm1については、逐次処理することが必要である。しかしながら4画素×4画素ブロックmm1の処理を完了すると、続く右側の4画素×4画素ブロックmm2と、左下側の4画素×4画素ブロックmm4とを処理することが可能となる。従ってこの場合、4画素×4画素ブロックmm2及びmm4を同時並列的に処理することができる。またこの2つの4画素×4画素ブロックmm2及びmm4を処理すると、この2つの4画素×4画素ブロックmm2及びmm4の右側の4画素×4画素ブロックmm3及びmm5を処理することが可能となる。従ってこの場合、4画素×4画素ブロックmm3及びmm5を同時並列的に処理することができる。またこの4画素×4画素ブロックmm3及びmm5を処理すると、それぞれ左下側の4画素×4画素ブロックmm8及びmm6を同時並列的に処理することができ、また続いて右側の4画素×4画素ブロックmm9及びmm7を同時並列的に処理することができる。またさらに4画素×4画素ブロックmm12及びmm10、4画素×4画素ブロックmm13及びmm11を順次、同時並列的に処理することができ、末尾の2つの4画素×4画素ブロックmm14及びmm15については、逐次処理することが必要になる。
そこで前処理部2は、最上段の4画素×4画素ブロックmm0、mm1、mm2、mm3の処理を予測演算器2AAに割り当てる。また残る3段の4画素×4画素ブロックmm4〜mm15のうち、中央から右側の4画素×4画素ブロックmm6、mm7、mm10、mm11、mm14、mm15の処理及び中央から左側の4画素×4画素ブロックmm4、mm5、mm8、mm9、mm12、mm13の処理をそれぞれ予測演算器2AA及び2ABに割り当てる。前処理部2は、各割り当てをそれぞれ予測演算器2AA、2ABでラスタ走査順に処理する。
その結果、前処理部2は、図4に処理ステップを示すように、先頭2つの4画素×4画素ブロックmm0、mm1及び末尾2つの4画素×4画素ブロックmm14、mm15を予測演算器2AAで逐次処理して4画素×4画素ブロックmm14、mm15における最適予測モード及び発生符号量を検出し、この4つの4画素×4画素ブロックmm0、mm1、mm14、mm15を除く残り12個の4画素×4画素ブロックmm2〜mm13を予測演算器2AA、2ABで同時並列的に処理して4画素×4画素ブロックmm2〜mm13における最適予測モード及び発生符号量を検出する。
前処理部2は、検出した各マクロブロックの最適予測モードを、マクロブロックを特定するアドレス、最適予測モードで符号化処理するのに必要な情報等と共に、状態管理部3に通知する。なおここで最適予測モードで符号化処理するのに必要な情報は、動きベクトル、参照フレーム、処理対象の8画素×8画素ブロック等を特定する情報等である。
マクロブロック(MB)処理部4は、前処理部2で検出された最適予測モードで画像データD1の予測値を作成し、この予測値と画像データD1との予測誤差値を直交変換処理、量子化処理して出力する。マクロブロック処理部4は、この予測値生成処理、直交変換処理、量子化処理を、状態管理部3の割り当てに従って、マクロブロック単位で、ラスタ走査順に実行する。
すなわち図5に示すように、マクロブロック処理部4において、動き補正処理部6は、最適予測モードがインター予測の場合に、メモリ7に保持された参照画像データから最適予測モードの予測値を生成して出力する。イントラ予測部8は、最適予測モードがイントラ予測の場合に、メモリ7に保持された参照画像データから最適予測モードの予測値を生成して出力する。
減算回路9は、動き補正処理部6から出力される予測値又はイントラ予測部8から出力される予測値を対応する画像データD1から減算して予測誤差値を出力する。直交変換部10は、例えばディスクリートコサイン変換回路により構成され、減算回路9から出力される予測誤差値を直交変換処理して出力する。量子化処理部11は、直交変換部10の出力データを量子化処理して出力する。逆量子化処理部12は、量子化処理部11の出力データを逆量子化処理し、直交変換部10の出力データを復号する。逆直交変換部13は、逆量子化処理部12の出力データを逆直交変換処理し、減算回路9の出力データを復号する。加算回路14は、逆直交変換部13の出力データに予測値を加算して画像データD1を復号する。メモリ7は、加算回路14で復号された画像データを参照画像データとして一時格納する。
このマクロブロック処理部4は、それぞれ予測値を作成する2つの予測値生成部8A及び8Bがイントラ予測部8に設けられる。ここで予測値生成部8A及び8Bは、イントラ4×4予測モード、イントラ8×8予測モード、イントラ16×16予測モードに共通に使用される汎用の演算回路である。イントラ予測部8は、最適予測モードがイントラ16×16予測モードの場合、一方の予測値生成部8Aを使用して、マクロブロック単位で最適予測モードの予測値を生成して出力する。また最適予測モードがイントラ8×8予測モードの場合も、一方の予測値生成部8Aを使用して、図20について上述した順序で、8画素×8画素ブロックの予測値を順次生成して出力する。
これに対して最適予測モードがイントラ4×4予測モードの場合、マクロブロック処理部4は、2つの予測値生成部8A及び8Bを用いて、図1について上述したと同一の割り当て及び順序で、4画素×4画素ブロックの予測値を順次生成して出力する。
後処理部15(図2)は、マクロブロック処理部4の出力データD3を可変長符号化処理した後、ヘッダ等を付加して符号化データD2を出力する。状態管理部3は、前処理部2、マクロブロック処理部4、後処理部15の処理を管理するコントローラであり、前処理部2、マクロブロック処理部4、後処理部15からマクロブロック毎に処理の完了を受け付けると共に、これら前処理部2、マクロブロック処理部4、後処理部15にそれぞれ処理可能なマクロブロックを処理に必要な情報と共に通知する。
図6は、本発明の実施例1の復号化装置を示すブロック図である。この復号化装置21は、H.264/MPEG−4AVC規格の符号化データD2を入力して画像データD1を復号する。なお復号化装置21には、各部に画像データ等を一時格納するメモリが設けられるものの、図6及び図7においては、このメモリの記載を省略して示す。
この復号化装置21において、前処理部22は、符号化装置1の後処理部15(図2)とは逆に、符号化データD2を入力して可変長復号化処理する。またこの符号化データD2に設定されたヘッダから最適予測モードの情報、マクロブロック等を特定するアドレス、最適予測モードで符号化処理するのに必要な情報等を検出して状態管理部23に通知する。
マクロブロック(MB)処理部24は、状態管理部23の割り当てに従って、マクロブロック単位で、ラスタ走査順に、前処理部22の出力データD3を処理して画像データD1を復号する。すなわち図7は、マクロブロック処理部24を示すブロック図である。マクロブロック処理部24において、動き補正処理部26は、符号化データD2の最適予測モードがインター予測の場合に、メモリ27に保持された参照画像データから最適予測モードの予測値を生成して出力する。イントラ予測部28は、符号化データD2の最適予測モードがイントラ予測の場合に、メモリ27に保持された参照画像データから最適予測モードの予測値を生成して出力する。
逆量子化処理部30は、前処理部22の出力データD3を逆量子化処理して出力する。逆直交変換部31は、逆量子化処理部30の出力データを逆直交変換処理し、予測誤差値を復号する。加算回路29は、動き補正処理部26から出力される予測値又はイントラ予測部28から出力される予測値を、逆直交変換部31から出力される予測誤差値に加算して画像データD1を復号する。メモリ27は、加算回路29で復号された画像データを参照画像データとして一時格納する。
このマクロブロック処理部24は、符号化装置1のイントラ予測部8と同一に、それぞれ予測値を生成する2つの予測値生成部28A及び28Bがイントラ予測部28に設けられる。イントラ予測部28は、最適予測モードがイントラ16×16予測モードの場合、一方の予測値生成部28Aを使用して、マクロブロック単位で最適予測モードの予測値を生成して出力する。また最適予測モードがイントラ8×8予測モードの場合も、一方の予測値生成部28Aを使用して、図20について上述した順序で、8画素×8画素ブロックの予測値を順次生成して出力する。
これに対して最適予測モードがイントラ4×4予測モードの場合、マクロブロック処理部24は、2つの予測値生成部28A及び28Bを用いて、図1について上述したと同一の割り当て及び順序で、4画素×4画素ブロックの予測値を順次生成して出力する。
後処理部35(図6)は、マクロブロック処理部24の出力データD1を並べ直して画像データD1を出力する。なお後処理部35は、デブロッキングフィルタを有し、参照画像データD1は、このデブロッキングフィルタでブロッキング歪みが除去されてメモリ27に格納される。
状態管理部23は、前処理部22、マクロブロック処理部24、後処理部35の処理を管理するコントローラであり、前処理部22、マクロブロック処理部24、後処理部35からマクロブロック毎に処理の完了を受け付けると共に、これら前処理部22、マクロブロック処理部24、後処理部35にそれぞれ処理可能なマクロブロックを処理に必要な情報と共に通知する。
(2)実施例の動作
以上の構成において、画像データD1(図2)は、前処理部2において、ラスタ走査の順序でマクロブロック毎に最適予測モードが検出され、続くマクロブロック処理部4において、最適予測モードの予測値が計算される。またこの予測値との予測誤差値が直交変換処理、量子化処理された後(図5)、後処理部15で可変長符号化処理されて符号化データD2が生成される。
以上の構成において、画像データD1(図2)は、前処理部2において、ラスタ走査の順序でマクロブロック毎に最適予測モードが検出され、続くマクロブロック処理部4において、最適予測モードの予測値が計算される。またこの予測値との予測誤差値が直交変換処理、量子化処理された後(図5)、後処理部15で可変長符号化処理されて符号化データD2が生成される。
画像データD1は、前処理部2における処理において、4画素×4画素ブロック毎に、複数の予測モードから最適な予測モードが検出されてイントラ4×4予測モードの最適予測モードが検出され、また同様にして8画素×8画素ブロック毎に、複数の予測モードから最適な予測モードが検出されてイントラ8×8予測モードの最適予測モードが検出される。またイントラ16×16予測モードの最適予測モードが検出され、イントラ4×4予測モードの最適予測モード、イントラ8×8予測モードの最適予測モード及びイントラ16×16予測モードの最適予測モードからイントラ予測モードの最適予測モードが検出される。また同様にしてインター予測モードの最適予測モードが検出され、インター予測モードの最適予測モード及びイントラ予測モードの最適予測モードからマクロブロックの最適予測モードが検出される。
ここでイントラ4×4予測モードの最適予測モードを検出する処理は、マクロブロックの4画素×4画素ブロック毎に、イントラ4×4予測モードに設けられた複数の予測モードから最も発生符号量の少ない予測モードを検出する処理であることから、従来のように、ラスタ走査順に4画素×4画素ブロックを逐次処理していたのでは(図21参照)、画像データD1が高解像度の場合に、リアルタイムで画像データD1を処理できなくなり、結局、符号化装置の動作速度を高速度化することが必要になる。
そこでこの実施例では、前処理部2のイントラ4×4予測モード用の予測演算器2Aに、それぞれ4画素×4画素ブロックにおける予測値及び発生符号量を計算する2つの予測演算器2AA及び2ABが設けられ(図3)、各マクロブロックのラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックを除く12個の4画素×4画素ブロックについては、この2つの予測値生成部2AA及び2ABの同時並列的な処理により各4画素×4画素ブロックの最適予測モード及び発生符号量が順次求められ、残るラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックについてのみ予測値生成部2AAで逐次処理される。
その結果、従来のラスタ走査順の4画素×4画素ブロックの逐次処理では、16ステップ要していた処理を、符号化装置1では10ステップで実行することができ(図4)、従来に比して4画素×4画素ブロックの処理に要する時間を短縮することができる。従って処理速度を高速度化しなくても、高解像度の画像データD1をリアルタイムで符号化処理することができる。
またマクロブロック処理部4においても、最適予測モードがイントラ4×4予測モードの場合に、従来と同様に、ラスタ走査順に4画素×4画素ブロックを逐次処理していたのでは(図21参照)、画像データD1が高解像度の場合に、リアルタイムで画像データD1を処理できなくなり、結局、符号化装置の動作速度を高速度化することが必要になる。
そこでこの実施例では、マクロブロック処理部4のイントラ予測部8に2つの予測値生成部8A、8Bが設けられ、最適予測モードがイントラ16×16予測モード、イントラ8×8予測モードの場合、この2つの予測値生成部8A、8Bの一方を用いて予測値が生成される。
これに対して最適予測モードがイントラ4×4予測モードの場合、前処理部2と同様に、各マクロブロックのラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックを除く12個の4画素×4画素ブロックについては、この2つの予測値生成部8A、8Bの同時並列的な処理により各4画素×4画素ブロックの予測値が順次求められ、残るラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックについてのみ予測値生成部8Aの逐次処理により予測値が生成される。
その結果、このマクロブロック処理部4における予測値の生成処理でも、従来の逐次処理では16ステップ要していた処理を、10ステップで実行することができ(図4)、従来に比して4画素×4画素ブロックの処理に要する時間を短縮することができる。従って処理速度を高速度化しなくても、高解像度の画像データD1をリアルタイムで符号化処理することができる。
これに対して復号化装置21(図6)では、符号化データD2が前処理部22で可変長復号化処理された後、マクロブロック処理部24において(図7)、逆量子化処理、逆直交変換処理されて予測誤差値が復号される。またイントラ予測部28で生成されるイントラ予測の予測値又は動き補正処理部26で生成されるインター予測の予測値と予測誤差値が加算されて画像データD1が復号され、後処理部35において、元の配列に画像データD1が並び替えられて出力される。
この復号化装置21のマクロブロック処理部24における予測値生成処理についても、最適予測モードがイントラ4×4予測モードの場合、従来と同様に、ラスタ走査順に4画素×4画素ブロックを逐次処理していたのでは、画像データD1が高解像度の場合に、リアルタイムで画像データD1を処理できなくなり、結局、復号化装置の動作速度を高速度化することが必要になる。
そこでこの実施例では、マクロブロック処理部24のイントラ予測部28に2つの予測値生成部28A、28Bが設けられ、最適予測モードがイントラ16×16予測モード、イントラ8×8予測モードの場合、この2つの予測値生成部28A、28Bの一方を用いて予測値が生成される。
これに対して最適予測モードがイントラ4×4予測モードの場合、前処理部2と同様に、各マクロブロックのラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックを除く12個の4画素×4画素ブロックについては、この2つの予測値生成部28A及び28Bの同時並列的な処理により各4画素×4画素ブロックの予測値が順次求められ、残るラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックについてのみ予測値生成部28Aの逐次処理により予測値が生成される。
その結果、このマクロブロック処理部24における予測値の生成処理でも、従来の逐次処理では16ステップ要していた処理を、10ステップで実行することができ(図4)、従来に比して4画素×4画素ブロックの処理に要する時間を短縮することができる。従って処理速度を高速度化しなくても、高解像度の画像データD1をリアルタイムで復号化処理することができる。
(3)実施例の効果
以上の構成によれば、符号化装置のマクロブロック処理部におけるイントラ4×4予測モードの予測値の生成処理において、各マクロブロックのラスタ走査開始端側及び終了端側では逐次処理により予測値を生成し、残りの箇所では並列処理により予測値を生成することにより、従来に比して4画素×4画素ブロックの処理に要する時間を短縮することができ、処理速度を高速度化しなくても、高解像度の画像データをリアルタイムで符号化処理することができる。
以上の構成によれば、符号化装置のマクロブロック処理部におけるイントラ4×4予測モードの予測値の生成処理において、各マクロブロックのラスタ走査開始端側及び終了端側では逐次処理により予測値を生成し、残りの箇所では並列処理により予測値を生成することにより、従来に比して4画素×4画素ブロックの処理に要する時間を短縮することができ、処理速度を高速度化しなくても、高解像度の画像データをリアルタイムで符号化処理することができる。
またこのマクロブロック処理部におけるイントラ4×4予測モードが、マクロブロック、8画素×8画素ブロック及び4画素×4画素ブロックにそれぞれ設けられた複数の予測モードから選択された最適予測モードであることから、H.264/MPEG−4AVC規格の符号化処理に適用して、処理速度を高速度化しなくても、高解像度の画像データをリアルタイムで符号化処理することができる。
また符号化装置の前処理部におけるイントラ4×4予測モードの最適予測モードの検出処理において、各マクロブロックのラスタ走査開始端側及び終了端側では逐次処理により予測値を生成し、残りの箇所では並列処理により予測値を生成することにより、従来に比して4画素×4画素ブロックの処理に要する時間を短縮することができ、処理速度を高速度化しなくても、高解像度の画像データをリアルタイムで符号化処理することができる。
またこの場合も、このイントラ4×4予測モードの最適予測モードにおける予測値と、マクロブロック及び8画素×8画素ブロックの予測値とから、入力画像データの最適予測モードを検出することにより、H.264/MPEG−4AVC規格の符号化処理に適用して、処理速度を高速度化しなくても、高解像度の画像データをリアルタイムで符号化処理することができる。
また復号化装置のマクロブロック処理部におけるイントラ4×4予測モードの予測値の生成処理において、各マクロブロックのラスタ走査開始端側及び終了端側では逐次処理により予測値を生成し、残りの箇所では並列処理により予測値を生成することにより、従来に比して4画素×4画素ブロックの処理に要する時間を短縮することができ、処理速度を高速度化しなくても、高解像度の画像データをリアルタイムで復号化処理することができる。
この実施例の符号化装置及び復号化装置は、連続するマクロブロックを4画素×4画素ブロック単位で処理する場合の処理順序が異なる点を除いて、上述の実施例1の符号化装置1及び復号化装置21と同一に構成される。従って以下においては、適宜、実施例1の符号化装置及び復号化装置の構成を流用して説明する。
ここで図8は、実施例2の符号化装置における前処理部の処理順序を示す略線図である。この実施例の前処理部2は、各マクロブロック内では、実施例1の前処理部2と同一に、ラスタ走査開始端側の2個の4画素×4画素ブロックmm0、mm1を一方の予測値生成部2AAで処理した後、続く12個の4画素×4画素ブロックmm3〜mm13を2つの予測値生成部2AA、2ABで同時並列的に処理し、残る2個の4画素×4画素ブロックmm14、mm15を一方の予測値生成部2AAで処理する。
この実施例の前処理部2は、この末尾の2個の4画素×4画素ブロックmm14、mm15を一方の予測値生成部2AAで処理している間、他方の予測値生成部2ABで続くマクロブロックのラスタ走査開始端側の2個の4画素×4画素ブロックmm0、mm1を処理する。
その結果、この実施例の前処理部は、マクロブロックのラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックmm0、mm1、mm14、mm15を除く12個の4画素×4画素ブロックmm3〜mm13を2つの処理部で同時並列的に処理するようにして、ラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックmm0、mm1、mm14、mm15についても、連続するマクロブロックで同時並列的に処理し、一段と4画素×4画素ブロックの処理速度を向上する。
すなわちこの図8の例では、図9に処理順序を示すように、一方の予測値生成部2AAで第1のマクロブロックAの4画素×4画素ブロックmm0、mm1を逐次処理した後、4画素×4画素ブロックmm4、mm5、mm8、mm9、mm12、mm13及び4画素×4画素ブロック、mm2、mm3、mm6、mm7、mm10、mm11を予測値生成部2AA及び2ABで同時並列的に処理する。またこのマクロブロックAの末尾の2個の4画素×4画素ブロックmm14、mm15を一方の予測値生成部2AAで逐次処理し、この一方の予測値生成部2AAの逐次処理と同時並列的に、続くマクロブロックBの先頭2個の4画素×4画素ブロックmm0、mm1を他方の予測値生成部2ABで逐次処理する。
また続いて、この続くマクロブロックBの4画素×4画素ブロックmm4、mm5、mm8、mm9、mm12、mm13及び4画素×4画素ブロック、mm2、mm3、mm6、mm7、mm10、mm11を予測値生成部2AB及び2AAで同時並列的に処理した後、末尾の2個の4画素×4画素ブロックmm14、mm15を一方の予測値生成部2ABで逐次処理し、この一方の予測値生成部2ABの逐次処理と同時並列的に、さらに続くマクロブロックCの先頭2個の4画素×4画素ブロックmm0、mm1を他方の予測値生成部2AAで逐次処理する。なお図9においては、この連続する3つのマクロブロックA、B、Cを符号A、B、Cで示す。
従ってこの実施例では、連続するイントラ4×4予測モードにおける連続するマクロブロックの処理に要する時間を、従来の逐次処理の場合に比して(図21)、1/2に低減することができ、一段と処理速度を高速度化しなくても、高解像度の画像データをリアルタイムで確実に符号化処理、復号化処理することができる。
図10は、この実施例の符号化装置のマクロブロック処理部の処理順序を示す略線図である。この実施例のマクロブロック処理部は、ラスタ走査順にマクロブロックを順次処理するようにして、最適予測モードがイントラ4×4予測モードのマクロブロックが連続する場合、前処理部2と同様に、マクロブロックのラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックmm0、mm1 、mm14、mm15を除く12個の4画素×4画素ブロックmm2〜mm15を2つの予測値生成部8A、8Bで同時並列的に処理する。またラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックmm0、mm1 、mm14、mm15については、連続するマクロブロックで同時並列的に処理し、一段とイントラ4×4予測モードの処理速度を向上する。
これに対してイントラ4×4予測モードのマクロブロック及びイントラ8×8予測モードのマクロブロックが連続する場合、イントラ4×4予測モードのマクロブロックにおいて、ラスタ走査開始端側及び終了端側の各2個の4画素×4画素ブロックmm0、mm1を除く12個の4画素×4画素ブロックmm2〜mm13を2つの予測値生成部で同時並列的に処理する。またラスタ走査終了端側の2個の4画素×4画素ブロックmm14、mm15については、続くイントラ8×8予測モードの先頭、2個の8画素×8画素ブロックm0、m1と同時並列的に処理し、一段とイントラ4×4予測モードの処理速度を向上する。
なおイントラ4×4予測モードのマクロブロック及びイントラ16×16予測モードのマクロブロックが連続する場合、末尾の4画素×4画素ブロックmm15の処理を完了して、続くイントラ16×16予測モードのマクロブロックM0の処理を開始する。
これに対してイントラ4×4予測モードのマクロブロックの先頭、2個の4画素×4画素ブロックmm0、mm1については、参照画像データが復号されて予測可能となった場合には、直前マクロブロックの処理を完了する前であっても、処理を開始する。従って図11に示すように、直線マクロブロックがイントラ8×8予測モードの場合、2つ目の8画素×8画素ブロックm1の処理を完了した時点で、4画素×4画素ブロックmm0、mm1の処理を開始し、この場合も、8画素×8画素ブロックm0、m1と4画素×4画素ブロックmm0、mm1とを同時並列的に処理して、一段とイントラ4×4予測モードの処理速度を向上する。
なおイントラ16×16予測モードのマクロブロックとイントラ4×4予測モードのマクロブロックとが連続する場合には、イントラ16×16予測モードのマクロブロックの処理の完了を待って、続くイントラ4×4予測モードのマクロブロックの処理を開始する。またイントラ16×16予測モードのマクロブロックとイントラ8×8予測モードのマクロブロックとが連続する場合、これとは逆にイントラ8×8予測モードのマクロブロックとイントラ16×16予測モードのマクロブロックとが連続する場合にあっても、一方のマクロブロックの処理の完了を待って、続くマクロブロックの処理を開始する。
これに対して復号化装置のマクロブロック処理部においては、符号化装置のマクロブロック処理部と同一の処理順序で各マクロブロックを処理する。
この実施例によれば、第1の実施例の構成に加えて、さらにイントラ4×4予測モードにおける先頭及び又は末尾の2個の4画素×4画素ブロックについても、連続するマクロブロックで同時並列的に処理することにより、4画素×4画素ブロックの処理に要する時間を一段と短縮することができ、処理速度を高速度化しなくても、高解像度の画像データをリアルタイムで確実に符号化処理、復号化処理することができる。
図12は、図2との対比により本発明の実施例3の符号化装置を示すブロック図である。この実施例の符号化装置41は、マクロブロック処理部4に代えて複数のマクロブロック処理部4A、4B、……、4Nが設けられる点、及び状態管理部3、後処理部5に代えて状態管理部43、後処理部25が設けられる点除いて、実施例1又は実施例2の符号化装置と同一に構成される。ここでマクロブロック処理部4A、4B、……、4Nは、それぞれマクロブロック処理部4と同一に構成される。
ここで上述の実施例2では、連続するマクロブロックの最適予測モードがイントラ4×4予測モードの場合、先頭及び末尾の4画素×4画素ブロックを連続するマクロブロックで同時並列的に処理することができる。また連続するマクロブロックの最適予測モードがイントラ4×4予測モード及びイントラ8×8予測モードの場合も、同様に処理することができる。従って実施例1の構成に比して、4画素×4画素ブロックの処理に要する時間を短くすることができる。
しかしながら連続するマクロブロックの最適予測モードの一方がイントラ16×16予測モードの場合、参照画像データの復号が間に合わないことにより、連続するマクロブロックにおける同時並列的な処理が困難になる。
そこでこの実施例では、複数のマクロブロック処理部4A、4B、……、4Nを使用して複数のマクロブロックを同時並列的に処理するようにして、イントラ4×4予測モードにおける末尾の2つの4画素×4画素ブロックの処理を開始する時点で、ラスタ走査順に連続するマクロブロック以外のマクロブロックを選択可能とし、各マクロブロック処理部で続いて処理するマクロブロックの最適予測モードがイントラ16×16予測モードの場合でも、この続いて処理するマクロブロックとの間で同時並列的に4画素×4画素ブロックを処理できるようにする。
ここでH.264/MPEG−4AVC規格では、図18及び図19について上述した参照関係が各マクロブロックM0、M1、M2、……に存在することから、各ピクチャーの処理では、図18との対比により図13(A)に示すように、ラスタ走査開始端側の2つのマクロブロックM0、M1は逐次処理することが必要である。なおこの図13においては、処理の完了したマクロブロック、続いて処理可能なマクロブロックをそれぞれハッチングで示す。
しかしながらマクロブロックM1の処理を完了した時点で、マクロブロックM1の右隣のマクロブロックM2と、続くスライスの左端のマクロブロックM8とが図19について上述した参照関係を満足することになり、このマクロブロックM2、M8が処理可能となる。従ってこの時点では、このマクロブロックM2、M8を同時並列的に処理することができる。またこのマクロブロックM2、M8の処理を完了すると、マクロブロックM2、M8の右隣のマクロブロックM3、M9が図19について上述した参照関係を満足することになり、このマクロブロックM3、M9を同時並列的に処理することが可能となる。
またこのマクロブロックM3、M9の処理を完了すると、図13(B)に示すように、マクロブロックM3、M9の右隣のマクロブロックM4、M10に加えて、続くスライスの左端のマクロブロックM16が図19について上述した参照関係を満足することになる。従ってこの時点では、これらのマクロブロックM4、M10、M16を同時並列的に処理することが可能となる。
またこのマクロブロックM4、M10、M16の処理を完了すると、マクロブロックM4、M10、M16の右隣のマクロブロックM5、M11、M17が図19について上述した参照関係を満足することになり、このマクロブロックM5、M11、M17を同時並列的に処理することが可能となる。またこのマクロブロックM5、M11、M17の処理を完了すると、図13(C)に示すように、マクロブロックM5、M11、M17の右隣のマクロブロックM6、M12、M18と、続くスライスの左端のマクロブロックM24が図19について上述した参照関係を満足することになる。従ってこの時点で、これらのマクロブロックM6、M12、M18、M24を同時並列的に処理することが可能となる。
そこでこの実施例では、ラスタ走査開始端側のマクロブロックM0から1つのマクロブロック処理部でマクロブロックM0、M1、……の処理を開始して、処理可能となったマクロブロックに順次マクロブロック処理部を割り当てて画像データD1を複数のマクロブロック処理部で並列処理し、従来に比して1つのピクチャーの処理に要する時間を格段的に短くする。
ここで例えば2つのマクロブロック処理部で1つのピクチャーを処理するものとして、図14に示すように、先頭の2つのスライスの処理をこれら2つのマクロブロック処理部に割り当てるものとする。この場合、マクロブロックM4、M10の処理を完了した時点で処理可能なマクロブロックM5、M11、M16のうち、マクロブロックM5、M11を2つのマクロブロック処理部で同時並列的に処理することになる。
この場合、このマクロブロックM5、M11の最適予測モードがイントラ4×4予測モードであって、続くマクロブロックM6、M12の最適予測モードがイントラ16×16予測モードの場合、実施例2について上述したように、それぞれマクロブロック処理部でマクロブロックM5、M11の処理を完了しなければ、続くマクロブロックM6、M12の処理を開始することが困難になる。従ってこの2つのマクロブロック処理部においては、マクロブロックM5、M11の末尾の2個の4画素×4画素ブロックについては、2つの予測値生成部のうちの一方の予測値生成部のみで処理することになる。
しかしながらこのマクロブロックM5、M11の末尾の2個の4画素×4画素ブロックであっても、既に処理可能となっているマクロブロックM16との間では、同時並列的に処理することができる。
そこでこの実施例の符号化装置は、イントラ4×4予測モードのマクロブロックを処理するマクロブロック処理部において、4画素×4画素ブロックの並列処理を終了した時点で、処理可能なマクロブロックを検索し、処理可能なマクロブロックとそれまで処理していたマクロブロックの末尾の2個の4画素×4画素ブロックとを、マクロブロック処理部に設けられた2つの予測値生成部8A、8Bで同時並列的に処理する。
従って図15に示すように、検索によって検出される処理可能なマクロブロックの最適予測モードがイントラ4×4予測モードの場合、マクロブロック処理部は、それまで処理していたマクロブロックの末尾の2つの4画素×4画素ブロックmm14、mm15と、検出されたマクロブロックの先頭の2つの4画素×4画素ブロックmm0、mm1とを予測値生成部8A、8Bで同時並列的に処理した後、この検出されたマクロブロックを予測値生成部8A、8Bで同時並列的に処理する。
また検索によって検出される処理可能なマクロブロックの最適予測モードがイントラ8×8予測モードの場合、マクロブロック処理部は、それまで処理していたマクロブロックの末尾の2つの4画素×4画素ブロックmm14、mm15と、検出されたマクロブロックの先頭の2つの8画素×8画素ブロックm0、m1とを予測値生成部8A、8Bで同時並列的に処理した後、この検出されたマクロブロックを予測値生成部8Bで処理する。
また検索によって検出される処理可能なマクロブロックの最適予測モードがイントラ16×16予測モードの場合、マクロブロック処理部は、それまで処理していたマクロブロックの末尾の2つの4画素×4画素ブロックmm14、mm15と、検出されたマクロブロックM0とを予測値生成部8A、8Bで同時並列的に処理する。
従ってこの実施例では、連続するマクロブロックの最適予測モードの一方がイントラ16×16予測モードの場合であっても、マクロブロックの末尾の4画素×4画素ブロックを続くマクロブロックとの間で同時並列的に処理することができ、実施例2に比して一段と処理に要する時間を短くすることができる。なお4画素×4画素ブロックの並列処理を終了した時点で、処理可能なマクロブロックを検出できない場合、改めてマクロブロックの処理を完了した時点で処理可能なマクロブロックを検索し、検出したマクロブロックを処理する。
そこでこの符号化装置41において、状態管理部43は、1つのピクチャーにおけるマクロブロックの処理の完了を監視し、各マクロブロック処理部4A〜4Nからの要求により処理可能なマクロブロックを選択して通知する。
具体的に、状態管理部43は、前処理部2で最適予測モードの検出が完了していないマクロブロック、前処理部2で最適予測モードの検出が完了したマクロブロック、マクロブロック処理部4A〜4Nで処理中のマクロブロック、マクロブロック処理部4A〜4Nで処理の完了したマクロブロックに区分して、1つのピクチャーにおけるマクロブロックの処理状況を記録し、この記録を前処理部2及びマクロブロック処理部4A〜4Nからマクロブロックの処理の完了通知で更新する。
また各マクロブロック処理部4A〜4Nからの要求により、この記録から、処理の完了したマクロブロックとの間で図19について上述した参照関係を有し、かつ前処理部2で最適予測モードの検出を完了しているマクロブロックを検出する。状態管理部43は、この検出したマクロブロックの1つを処理可能なマクロブロックとして対応するマクロブロック処理部4A〜4Nに処理に必要な情報と共に通知する。なおここでこの処理に必要な情報は、最適予測モード、動きベクトル、参照フレーム等の情報である。
またマクロブロック処理部4A〜4Nは、最適予測モードがイントラ4×4予測モードのマクロブロックを処理している場合、4画素×4画素ブロックの並列処理を終了した時点で、処理可能なマクロブロックの通知を状態管理部43に要求し、この要求により通知されるマクロブロックを続いて処理するマクロブロックに設定する。マクロブロック処理部4A〜4Nは、それまで処理していたマクロブロックの末尾の2個の4画素×4画素ブロックと、この続くマクロブロックを2つの予測値生成部8A、8Bで同時並列的に処理する。なお4画素×4画素ブロックの並列処理を終了した時点での要求で、処理可能なマクロブロックを状態管理部43で検出できない場合、マクロブロックの処理を完了した時点で改めて処理可能なマクロブロックの通知を要求する。
これに対してマクロブロック処理部4A〜4Nは、最適予測モードがイントラ4×4予測モード以外のマクロブロックを処理している場合、マクロブロックの処理を完了した時点で処理可能なマクロブロックの通知を要求し、この要求により通知されるマクロブロックを続く処理対象のマクロブロックに設定して処理する。なおこの最適予測モードがイントラ4×4予測モード以外のマクロブロックを処理している場合に、図11について上述したように、マクロブロックの処理途中で処理可能なマクロブロックの通知を要求し、この要求により通知されるマクロブロックを、未使用の予測値生成部で続いて処理するマクロブロックの処理を開始するようにしてもよい。
後処理部45は、複数のマクロブロック処理部4A〜4Nの出力データを入力し、マクロブロック単位のラスタ走査順に並べ代えた後、ヘッダを付加して出力する。
図16は、この実施例の復号化装置を示すブロック図である。この復号化装置61は、マクロブロック処理部24に代えて複数のマクロブロック処理部24A〜24Nが設けられる点、及び状態管理部23、後処理部35に代えて状態管理部63、後処理部65が設けられる点を除いて、実施例1又は実施例2の復号化装置と同一に構成される。またマクロブロック処理部24A、24B、……、24Nは、それぞれマクロブロック処理部24と同一に構成される。
この復号化装置61のマクロブロック処理部24A〜24Nは、符号化装置41のマクロブロック処理部4A〜4Nと同一の処理順序で順次マクロブロックを処理し、状態管理部63は、符号化装置41の状態管理部43と同一に、各部におけるマクロブロックの処理を監視し、マクロブロック処理部24A〜24Nに処理可能なマクロブロックを通知する。
後処理部65は、マクロブロック処理部24A〜24Nから出力される画像データをラスタ走査順に並べ直した後、ピクチャーを並べ直して出力する。
この実施例によれば、マクロブロック処理部を複数設け、1つのピクチャーのラスタ走査開始端側のマクロブロックから入力画像データの処理を開始した後、処理可能となったマクロブロックに複数のマクロブロック処理部を順次割り当てて、入力画像データを複数のマクロブロック処理部で並列処理することにより、一段と符号化処理、復号化処理に要する時間を短くすることができる。
また状態監視部により各マクロブロックの処理を監視し、1つのマクロブロックにおける4画素×4画素ブロックの並列処理を完了した時点で、この状態監視部で処理可能な他のマクロブロックを検出して続いて処理するマクロブロックに設定することにより、ラスタ走査の順序でイントラ4×4予測モードとイントラ16×16予測モードのマクロブロックが連続している場合でも、イントラ4×4予測モードの末尾の2個の4画素×4画素ブロックを続くマクロブロックとの間で並列処理することができ、実施例2に比して一段と4画素×4画素ブロックの処理に要する時間を短くすることができる。
この実施例では、実施例1〜3について上述した符号化装置及び復号化装置をソフトウエアにより構成する。図17は、実施例1の符号化装置及び復号化装置を例にして、この実施例4の符号化装置及び復号化装置の動作を示すタイムチャートである。この実施例では、1つのマクロブロックの先頭及び末尾の各2個の4画素×4画素ブロックmm0、mm1、mm14、mm15、残り12の4画素×4画素ブロックmm2〜mm13のうち、予測値生成部8A、8B(予測演算器2AA、2AB)にそれぞれ割り当てた4×4画素ブロックmm2〜mm11、mm4〜mm13の処理をそれぞれスレッド1〜3により実行する。
なおこの実施例の符号化装置及び復号化装置を構成するプログラムは、符号化装置及び復号化装置に事前にインストールして提供するようにしてもよく、光ディスク、磁気ディスク、メモリカード等の記録媒体を介して、さらにはインターネット等のネットワークを介して提供するようにしてもよい。
この実施例によれば、符号化装置及び復号化装置をソフトウエアにより構成する場合でも、上述の実施例と同様の効果を得ることができる。
なお上述の実施例においては、マクロブロック処理部に、最適予測モードの予測値を生成する予測値生成部のみ複数個設ける場合について述べたが、本発明はこれに限らず、予測値生成部に減算部の構成を加えて複数系統としてもよい。
また上述の実施例においては、前処理部に、4画素×4画素ブロックの最適予測モード、発生符号量を検出する予測演算部を複数個設ける場合について述べたが、本発明はこれに限らず、実用上十分な処理速度を確保できる場合には、前処理部に、予測値生成部のみ複数個設け、発生符号量、最適予測モードを検出する構成を、これら複数個の予測値生成部で共通化してもよい。
また上述の実施例においては、符号化装置において、前処理部及びマクロブロック処理部に予測演算部及び予測値生成部をそれぞれ複数個設ける場合について述べたが、本発明はこれに限らず、前処理部にのみ予測演算部を複数個設けるようにしてもよく、またマクロブロック処理部にのみ予測値生成部を複数個設けるようにしてもよい。
また上述の実施例2、3においては、参照画像データから予測値を生成して最適予測モードを検出する場合について述べたが、本発明はこれに限らず、実用上十分な予測精度を確保できる場合には、参照画像データに代えて入力画像データから予測値を生成して最適予測モードを検出するようにしてもよく、この場合にも、上述の各実施例の構成を適用することができる。
また上述の実施例においては、本発明をH.264/MPEG−4AVC規格の符号化装置及び復号化装置に適用する場合について述べたが、本発明はこれに限らず、例えばWMV9(Windows Media Video 9 (商標))規格の符号化装置及び復号化装置等、同様のフォーマットによる符号化装置及び復号化装置に広く適用することができる。
本発明は、例えばH.264/MPEG−4AVC規格の符号化装置及び復号化装置に適用することができる。
1、41……符号化装置、2、22……前処理部、3、23、43、63……状態管理部、4、4A〜4N、24、24A〜24N……マクロブロック処理部、15、35、45、65……後処理部、2A……イントラ4×4予測モード用予測演算器、2AA、2AB……予測演算器、8、28A……イントラ予測部、8A、8B、28A、28B……予測値生成部、9……減算回路、21、61……復号化装置
Claims (24)
- マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理装置において、
前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理部と、
前記前処理部で検出された前記最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理部と、
前記予測誤差値を処理して前記符号化データを生成する符号化部とを有し、
前記マクロブロック処理部は、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値をそれぞれ作成する第1及び第2の予測値生成部と、
前記最適予測モードの予測値を前記入力画像データから減算して前記予測誤差値を生成する減算器とを有し、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を、前記第1の予測値生成部で逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を、前記第1及び第2の予測値生成部で同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を、前記第1又は第2の予測値生成部で逐次作成する
ことを特徴とする画像処理装置。 - 前記マクロブロック処理部は、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を、前記第1又は第2の予測値生成部で逐次作成する間、
前記1つのマクロブロックに続いて処理するマクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を、前記第2又は第1の予測値生成部で作成する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記画像処理装置は、
前記マクロブロック処理部を複数有し、
1つのピクチャーのラスタ走査開始端側のマクロブロックから前記入力画像データの処理を開始した後、処理可能となったマクロブロックに前記複数のマクロブロック処理部を順次割り当てて、前記入力画像データを前記複数のマクロブロック処理部で並列処理する
ことを特徴とする請求項2に記載の画像処理装置。 - 前記画像処理装置は、
前記1つのピクチャーにおけるマクロブロックの処理の完了を監視する状態監視部を有し、
前記マクロブロック処理部は、
前記状態監視部の監視結果に基づいて、前記複数の第2のブロックの予測値を、前記第1及び第2の予測値生成部で同時並列的に作成する処理を完了した時点で、処理可能な他のマクロブロックを検出して前記続いて処理するマクロブロックに設定する
ことを特徴とする請求項3に記載の画像処理装置。 - 前記前処理部は、
前記第2のブロックにおける複数の予測モードと、前記マクロブロック及び又は前記第1のブロックにおける複数の予測モードとから、最も発生符号量の少ない予測モードを選択して前記入力画像データの最適予測モードを検出する
ことを特徴とする請求項4に記載の画像処理装置。 - 前記前処理部は、
前記第2のブロックにおける複数の予測モードと、前記マクロブロック及び又は前記第1のブロックにおける複数の予測モードとから、最も発生符号量の少ない予測モードを選択して前記入力画像データの最適予測モードを検出する
ことを特徴とする請求項1に記載の画像処理装置。 - マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理装置において、
前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理部と、
前記前処理部で検出された前記最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理部と、
前記予測誤差値を処理して前記符号化データを生成する符号化部とを有し、
前記前処理部は、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記第2のブロックにおける複数の予測モードの予測値をそれぞれ作成する第1及び第2の予測演算器を有し、
前記第2のブロックにおける複数の予測モードの予測値に基づいて、前記最適予測モードを検出し、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を、前記第1の予測演算器で逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を、前記第1及び第2の予測演算器で同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を、前記第1又は第2の予測演算器で逐次作成する
ことを特徴とする画像処理装置。 - 前記前処理部は、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を、前記第1又は第2の予測演算器で逐次作成する間、
前記1つのマクロブロックに続くマクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を、前記第2又は第1の予測演算器で作成する
ことを特徴とする請求項7に記載の画像処理装置。 - 前記前処理部は、
前記マクロブロック及び又は前記第1のブロックにおける複数の予測モードの予測値を生成する第3の予測演算器を有し、
前記第2のブロックにおける複数の予測モードの予測値と、前記マクロブロック及び又は前記第1のブロックにおける複数の予測モードの予測値とに基づいて、最も発生符号量の少ない予測モードを選択して前記入力画像データの最適予測モードを検出する
ことを特徴とする請求項8に記載の画像処理装置。 - 前記前処理部は、
前記マクロブロック及び又は前記第1のブロックにおける複数の予測モードの予測値を生成する第3の予測演算器を有し、
前記第2のブロックにおける複数の予測モードの予測値と、前記マクロブロック及び又は前記第1のブロックにおける複数の予測モードの予測値とに基づいて、最も発生符号量の少ない予測モードを選択して前記入力画像データの最適予測モードを検出する
ことを特徴とする請求項7に記載の画像処理装置。 - マクロブロック単位で符号化データを復号化処理して画像データを復号する画像処理装置において、
前記符号化データの最適予測モードを前記マクロブロック毎に検出する前処理部と、
前記前処理部で検出された最適予測モードの予測値を生成するマクロブロック処理部と、
前記符号化データを処理して得られる予測誤差値に前記最適予測モードの予測値を加算して前記画像データを復号する復号化部とを有し、
前記マクロブロック処理部は、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値をそれぞれ作成する第1及び第2の予測値生成部を有し、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を、前記第1の予測値生成部で逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を、前記第1及び第2の予測値生成部で同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を、前記第1又は第2の予測値生成部で逐次作成する
ことを特徴とする画像処理装置。 - 前記マクロブロック処理部は、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を、前記第1又は第2の予測値生成部で逐次作成する間、
前記1つのマクロブロックに続いて処理するマクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を、前記第2又は第1の予測値生成部で作成する
ことを特徴とする請求項11に記載の画像処理装置。 - 前記画像処理装置は、
前記マクロブロック処理部を複数有し、
1つのピクチャーのラスタ走査開始端側のマクロブロックから前記入力画像データの処理を開始した後、処理可能となったマクロブロックに前記複数のマクロブロック処理部を順次割り当てて、前記入力画像データを前記複数のマクロブロック処理部で並列処理する
ことを特徴とする請求項12に記載の画像処理装置。 - 前記画像処理装置は、
前記1つのピクチャーにおけるマクロブロックの処理の完了を監視する状態監視部を有し、
前記マクロブロック処理部は、
前記状態監視部の監視結果に基づいて、前記1つのマクロブロックの前記第2のブロックの予測値を、前記第1及び第2の予測値生成部で同時並列的に作成する処理を完了した時点で、処理可能な他のマクロブロックを検出して前記続いて処理するマクロブロックに設定する
ことを特徴とする請求項13に記載の画像処理装置。 - 前記最適予測モードが、前記符号化データの生成時、前記第2のブロックにおける複数の予測モードと、前記マクロブロック及び又は前記第1のブロックにおける複数の予測モードとから選択された最も発生符号量の少ない予測モードである
ことを特徴とする請求項14に記載の画像処理装置。 - マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法において、
前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、
前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、
前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、
前記マクロブロック処理のステップは、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する前記予測値生成ステップと、
前記最適予測モードの予測値を前記入力画像データから減算して前記予測誤差値を生成する予測誤差値生成ステップとを有し、
前記予測値生成ステップは、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する
ことを特徴とする画像処理方法。 - マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法において、
前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理ステップと、
前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、
前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、
前記前処理のステップは、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記第2のブロックにおける複数の予測モードの予測値を作成する予測演算ステップと、
前記第2のブロックにおける複数の予測モードの予測値に基づいて、前記入力画像データの最適予測モードを検出する最適予測モード検出ステップとを有し、
前記予測演算ステップは、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する
ことを特徴とする画像処理方法。 - マクロブロック単位で符号化データを復号化処理して画像データを復号する画像処理方法において、
前記符号化データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、
前記前処理のステップで検出された前記符号化データの最適予測モードの予測値を生成するマクロブロック処理のステップと、
前記符号化データを処理して得られる予測誤差値に前記最適予測モードの予測値を加算して前記画像データを復号する復号化処理のステップとを有し、
前記マクロブロック処理のステップは、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値作成ステップを有し、
前記予測値作成ステップは、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する
ことを特徴とする画像処理方法。 - マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法のプログラムにおいて、
前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、
前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、
前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、
前記マクロブロック処理のステップは、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値生成ステップと、
前記最適予測モードの予測値を前記入力画像データから減算して前記予測誤差値を生成する予測誤差値生成ステップとを有し、
前記予測値生成ステップは、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する
ことを特徴とする画像処理方法のプログラム。 - マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法のプログラムにおいて、
前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理ステップと、
前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、
前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、
前記前処理のステップは、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記第2のブロックにおける複数の予測モードの予測値を作成する予測演算ステップと、
前記第2のブロックにおける複数の予測モードの予測値に基づいて、前記入力画像データの最適予測モードを検出する最適予測モード検出ステップとを有し、
前記予測演算ステップは、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する
ことを特徴とする画像処理方法のプログラム。 - マクロブロック単位で符号化データを復号化処理して画像データを復号する画像処理方法のプログラムにおいて、
前記符号化データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、
前記前処理のステップで検出された前記符号化データの最適予測モードの予測値を生成するマクロブロック処理のステップと、
前記符号化データを処理して得られる予測誤差値に前記最適予測モードの予測値を加算して前記画像データを復号する復号化処理のステップとを有し、
前記マクロブロック処理のステップは、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値作成ステップとを有し、
前記予測値作成ステップは、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する
ことを特徴とする画像処理方法のプログラム。 - マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法のプログラムを記録した記録媒体において、
前記画像処理方法のプログラムは、
前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、
前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、
前記予測誤差値を処理して前記符号化データを生成する符号化処理のステップとを有し、
前記マクロブロック処理のステップは、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値生成ステップと、
前記最適予測モードの予測値を前記入力画像データから減算して前記予測誤差値を生成する予測誤差値生成ステップとを有し、
前記予測値生成ステップは、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する
ことを特徴とする画像処理方法のプログラムを記録した記録媒体。 - マクロブロック単位で入力画像データを符号化処理して符号化データを出力する画像処理方法のプログラムを記録した記録媒体において、
前記画像処理方法のプログラムは、
前記入力画像データの最適予測モードを前記マクロブロック毎に検出する前処理ステップと、
前記前処理のステップで検出された前記入力画像データの最適予測モードで前記入力画像データを処理して予測誤差値を生成するマクロブロック処理のステップと、
前記予測誤差値を処理して前記符号化データを生成する復号化処理のステップとを有し、
前記前処理のステップは、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記第2のブロックにおける複数の予測モードの予測値を作成する予測演算ステップと、
前記第2のブロックにおける複数の予測モードの予測値に基づいて、前記入力画像データの最適予測モードを検出する最適予測モード検出ステップとを有し、
前記予測演算ステップは、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する
ことを特徴とする画像処理方法のプログラムを記録した記録媒体。 - マクロブロック単位で符号化データを復号化処理して画像データを復号する画像処理方法のプログラムを記録した記録媒体において、
前記画像処理方法のプログラムは、
前記符号化データの最適予測モードを前記マクロブロック毎に検出する前処理のステップと、
前記前処理のステップで検出された前記符号化データの最適予測モードの予測値を生成するマクロブロック処理のステップと、
前記符号化データを処理して得られる予測誤差値に前記最適予測モードの予測値を加算して前記画像データを復号する復号化処理のステップとを有し、
前記マクロブロック処理のステップは、
前記マクロブロックを分割して作成される第1のブロックをそれぞれ分割して作成される第2のブロック毎に、前記最適予測モードの予測値を作成する予測値作成ステップとを有し、
前記予測値作成ステップは、
1つの前記マクロブロックのラスタ走査開始端の前記第1のブロックにおけるラスタ走査開始端側の前記第2のブロックの予測値を逐次作成した後、
前記1つのマクロブロックにおける複数の前記第2のブロックの予測値を同時並列的に作成し、
前記1つのマクロブロックのラスタ走査終了端の前記第1のブロックにおけるラスタ走査終了端側の前記第2のブロックの予測値を逐次作成する
ことを特徴とする画像処理方法のプログラムを記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007314193A JP2009141539A (ja) | 2007-12-05 | 2007-12-05 | 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007314193A JP2009141539A (ja) | 2007-12-05 | 2007-12-05 | 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009141539A true JP2009141539A (ja) | 2009-06-25 |
Family
ID=40871740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007314193A Pending JP2009141539A (ja) | 2007-12-05 | 2007-12-05 | 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009141539A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012176368A1 (ja) * | 2011-06-22 | 2012-12-27 | 日本電気株式会社 | 動画像符号化方法及び動画像符号化装置並びにコンピュータ可読媒体 |
CN103581688A (zh) * | 2012-08-02 | 2014-02-12 | 北京大学 | 一种视频图像的编码和解码方法及装置 |
-
2007
- 2007-12-05 JP JP2007314193A patent/JP2009141539A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012176368A1 (ja) * | 2011-06-22 | 2012-12-27 | 日本電気株式会社 | 動画像符号化方法及び動画像符号化装置並びにコンピュータ可読媒体 |
JPWO2012176368A1 (ja) * | 2011-06-22 | 2015-02-23 | 日本電気株式会社 | 動画像符号化方法及び動画像符号化装置並びにプログラム |
US9264715B2 (en) | 2011-06-22 | 2016-02-16 | Nec Corporation | Moving image encoding method, moving image encoding apparatus, and computer-readable medium |
CN103581688A (zh) * | 2012-08-02 | 2014-02-12 | 北京大学 | 一种视频图像的编码和解码方法及装置 |
CN103581688B (zh) * | 2012-08-02 | 2017-09-12 | 北京大学 | 一种视频图像的编码和解码方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106797464B (zh) | 用于视频编码和解码中的矢量编码的方法和装置 | |
TWI527438B (zh) | 圖像編碼方法、圖像解碼方法、圖像編碼裝置、圖像解碼裝置及其程式產品 | |
JP5152190B2 (ja) | 符号化装置、符号化方法、符号化プログラムおよび符号化回路 | |
JP2019024224A (ja) | 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム | |
MX2014008778A (es) | Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video. | |
BR112014010839B1 (pt) | Processo de codificação e decodificação de imagens, dispositivo de codificação e decodificação e suportes legíveis por computador correspondentes | |
CN115002481A (zh) | 编码或解码视频数据的方法和装置 | |
JPWO2010029850A1 (ja) | 画像符号化装置、画像復号化装置、画像符号化方法、画像復号化方法、及びそのプログラム | |
JP2013090120A (ja) | 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム | |
JP2024019495A (ja) | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法 | |
JP2010045690A (ja) | 動画像符号化装置および動画像符号化方法 | |
JP2023181491A (ja) | 画像復号装置、画像復号方法及びプログラム | |
JP2009141539A (ja) | 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 | |
US20160014415A1 (en) | Method and apparatus for performing wave-front parallel encoding procedure with constraint on coding mode and/or quantization parameter selection | |
JP2010141513A (ja) | 演算装置及び動画像符号化装置 | |
JP2015165644A (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2009246511A (ja) | 動画像符号化装置及びその制御方法、コンピュータプログラム | |
JP7403246B2 (ja) | 画像復号装置、画像復号方法 | |
JP2013102258A5 (ja) | ||
JP4704343B2 (ja) | 画像符号化装置及び方法 | |
JPWO2017082304A1 (ja) | 情報圧縮装置、情報圧縮方法、情報圧縮プログラム、及び、符号化装置 | |
CN112313950B (zh) | 视频图像分量的预测方法、装置及计算机存储介质 | |
JP2010035025A (ja) | 符号化装置およびその方法 | |
JP6080077B2 (ja) | 画像符号化方法及び画像符号化装置 | |
CN116546217A (zh) | 解码预测方法、装置及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090330 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090403 |