(57)【要約】【課題】本発明は、画像データ処理装置、画像データ処理方法、画像データ処理方法のプログラム及び画像データ処理方法のプログラムを記録した記録媒体に関し、例えばＨ．２６４／ＡＶＣにより画像データを符号化、復号化する場合に適用して、従来に比して符号化処理速度、復号化処理速度を高速度化することができるようにする。【解決手段】本発明は、１つのマクロブロック内において、処理中のサブマクロブロックＳＭ１、ＳＭ２の処理を完了しないうちに、隣接するサブマクロブロックＳＭ２、ＳＭ３において、予測値を生成可能となったサブブロックＳＳＭ８、ＳＳＭ９、ＳＳＭ１２の処理を開始して、これらのサブブロックＳＳＭ８、ＳＳＭ９、ＳＳＭ１２を同時並列的に処理する。【選択図】        図１
2008079170.tif 000002
【特許請求の範囲】
【請求項１】
所定フォーマットで画像データを符号化及び又は復号化する画像データ処理装置において、
前記所定フォーマットは、
マクロブロック内では、前記マクロブロックを分割して形成されるサブマクロブロックをラスタ走査する順序で順次選択すると共に、前記サブマクロブロック内では、前記サブマクロブロックを分割して形成されるサブブロックをラスタ走査する順序で順次選択した際に、既に選択された隣接するサブブロックの復号化した画像データを参照して予測値を生成し、
前記予測値を用いて処理対象の前記サブブロックの前記画像データを符号化及び又は復号化するフォーマットであり、
前記データ処理装置は、
１つの前記マクロブロック内において、処理中の前記サブマクロブロックの前記画像データの符号化又は復号化を完了しないうちに、隣接するサブマクロブロックにおいて、前記予測値を生成可能となったサブブロックの前記画像データの符号化又は復号化を開始して、前記処理中の前記サブマクロブロックの前記サブブロックの画像データと、前記予測値を生成可能となったサブブロックの画像データとを同時並列的に符号化又は復号化する
ことを特徴とするデータ処理装置。
【請求項２】
前記サブブロックの処理順序を記録したテーブルを有し、
前記テーブルを参照して、前記サブブロックの処理を順次開始する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記予測値を生成する予測部と、
前記予測値を用いて、前記画像データを符号化又は復号化する演算部とを有し、
前記演算部におけるパイプライン処理により、前記画像データを符号化又は復号化する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
所定フォーマットで画像データを符号化及び又は復号化する画像データ処理方法において、
前記所定フォーマットは、
マクロブロック内では、前記マクロブロックを分割して形成されるサブマクロブロックをラスタ走査する順序で順次選択すると共に、前記サブマクロブロック内では、前記サブマクロブロックを分割して形成されるサブブロックをラスタ走査する順序で順次選択した際に、既に選択された隣接するサブブロックの復号化した画像データを参照して予測値を生成し、
前記予測値を用いて処理対象の前記サブブロックの前記画像データを符号化及び又は復号化するフォーマットであり、
前記データ処理方法は、
１つの前記マクロブロック内において、処理中の前記サブマクロブロックの前記画像データの符号化又は復号化を完了しないうちに、隣接するサブマクロブロックにおいて、前記予測値を生成可能となったサブブロックの前記画像データの符号化又は復号化を開始して、前記処理中の前記サブマクロブロックの前記サブブロックの画像データと、前記予測値を生成可能となったサブブロックの画像データとを同時並列的に符号化又は復号化する
ことを特徴とする画像データ処理方法。
【請求項５】
所定フォーマットで画像データを符号化及び又は復号化する画像データ処理方法のプログラムにおいて、
前記所定フォーマットは、
マクロブロック内では、前記マクロブロックを分割して形成されるサブマクロブロックをラスタ走査する順序で順次選択すると共に、前記サブマクロブロック内では、前記サブマクロブロックを分割して形成されるサブブロックをラスタ走査する順序で順次選択した際に、既に選択された隣接するサブブロックの復号化した画像データを参照して予測値を生成し、
前記予測値を用いて処理対象の前記サブブロックの前記画像データを符号化及び又は復号化するフォーマットであり、
前記データ処理方法のプログラムは、
１つの前記マクロブロック内において、処理中の前記サブマクロブロックの前記画像データの符号化又は復号化を完了しないうちに、隣接するサブマクロブロックにおいて、前記予測値を生成可能となったサブブロックの前記画像データの符号化又は復号化を開始して、前記処理中の前記サブマクロブロックの前記サブブロックの画像データと、前記予測値を生成可能となったサブブロックの画像データとを同時並列的に符号化又は復号化する処理ステップを有する
ことを特徴とする画像データ処理方法のプログラム。
【請求項６】
所定フォーマットで画像データを符号化及び又は復号化する画像データ処理方法のプログラムを記録した記録媒体において、
前記所定フォーマットは、
マクロブロック内では、前記マクロブロックを分割して形成されるサブマクロブロックをラスタ走査する順序で順次選択すると共に、前記サブマクロブロック内では、前記サブマクロブロックを分割して形成されるサブブロックをラスタ走査する順序で順次選択した際に、既に選択された隣接するサブブロックの復号化した画像データを参照して予測値を生成し、
前記予測値を用いて処理対象の前記サブブロックの前記画像データを符号化及び又は復号化するフォーマットであり、
前記データ処理方法のプログラムは、
１つの前記マクロブロック内において、処理中の前記サブマクロブロックの前記画像データの符号化又は復号化を完了しないうちに、隣接するサブマクロブロックにおいて、前記予測値を生成可能となったサブブロックの前記画像データの符号化又は復号化を開始して、前記処理中の前記サブマクロブロックの前記サブブロックの画像データと、前記予測値を生成可能となったサブブロックの画像データとを同時並列的に符号化又は復号化する処理ステップを有する
ことを特徴とする画像データ処理方法のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ処理装置、画像データ処理方法、画像データ処理方法のプログラム及び画像データ処理方法のプログラムを記録した記録媒体に関し、例えばＨ．２６４／ＡＶＣ（Advanced Video Coding ）により画像データを符号化、復号化する場合に適用することができる。本発明は、１つのマクロブロック内において、処理中のサブマクロブロックの処理を完了しないうちに、隣接するサブマクロブロックにおいて、予測値を生成可能となったサブブロックの処理を開始して、複数のサブブロックを同時並列的に処理することにより、従来に比して符号化処理速度、復号化処理速度を高速度化することができるようにする。
【背景技術】
【０００２】
近年、放送局、一般家庭等では、画像データの冗長性を有効に利用して効率良く画像データを伝送、蓄積する装置が普及しつつあり、このような装置は、例えばＭＰＥＧ（Moving Picture Experts Group）等の方式に準拠して、離散コサイン変換等の直交変換と動き補償とを用いて画像データをデータ圧縮している。
【０００３】
ここでこのような方式の１つであるＭＰＥＧ２（ＩＳＯ（International Organization for Standardization）／ＩＥＣ（International Electrotechnical Commition）１３８１８−２）は、汎用の画像符号化方式として定義された方式であり、飛び越し走査方式、順次走査方式の双方に対応できるように定義され、また標準解像度画像、高精細画像の双方に対応できるように定義されている。このＭＰＥＧ２は、現在、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに広く用いられている。ＭＰＥＧ２では、例えば７２０×４８０画素の標準解像度、飛び越し走査方式の画像データを４〜８〔Ｍｂｐｓ〕のビットレートにデータ圧縮することができ、また１９２０×１０８８画素の高解像度、飛び越し走査方式の画像データを１８〜２２〔Ｍｂｐｓ〕のビットレートにデータ圧縮することができ、高画質で高い圧縮率を確保することができる。
【０００４】
しかしながらＭＰＥＧ２は、放送用に適合した高画質符号化方式であり、ＭＰＥＧ１より符号量の少ない高圧縮率の符号化方式には対応していない。これに対して近年の携帯端末の普及により、ＭＰＥＧ１より符号量の少ない高圧縮率の符号化方式のニーズの高まりが予測される。このためＭＰＥＧ４の規格が、ＩＳＯ／ＩＥＣ（International 0rganization for Standardization／International Electrotechnical Commission ）１４４９６−２により１９９８年１２月に国際標準に承認された。
【０００５】
またこのような方式にあっては、当初はテレビ会議用の画像符号化を目的としたものであったＨ．２６Ｌ（ＩＴＵ（International Telecommunication Union ）−ＴＱ６／１６ＶＣＥＧ）の規格化が進み、ＭＰＥＧ２、ＭＰＥＧ４に比して演算量が増大するものの、ＭＰＥＧ２、ＭＰＥＧ４に比して高い符号化効率を確保できるようになり、またＭＰＥＧ４の活動の一環として、このＨ２６Ｌをベースにして各種機能を取り入れ、さらに一段と高い符号化効率を確保する符号化方式の標準化が、Joint Model of Enhanced-Compression Video Codingとして進められた。この方式は、２００３年３月に、Ｈ．２６４／ＡＶＣとして国際標準に設定された。ここでこのＨ．２６４／ＡＶＣは、ＭＰＥＧ−４Ｐａｒｔ１０とも称され、以下においては、単にＡＶＣ規格と呼ぶ。
【０００６】
ここでこのＡＶＣ規格では、複数のイントラ予測モードと複数のインター予測モードとから最適な予測モードを選択し、この最適な予測モードで予測値を生成する。ＡＶＣ規格では、この予測値を画像データから減算して差分データ（予測誤差データ）を生成し、この差分データを直交変換処理、量子化処理、可変長符号化処理して符号化データを生成する。
【０００７】
ここでＡＶＣ規格では、イントラ予測モードに、イントラ４×４予測モード、イントラ８×８予測モード、イントラ１６×１６予測モードが用意されている。ＡＶＣ規格では４×４画素のブロック単位で差分データを直交変換処理し、イントラ４×４予測モードは、この直交変換処理のブロック単位で、イントラ予測に係る予測値を生成するモードである。これに対して８×８予測モード、１６×１６予測モードは、この直交変換処理のブロックの複数個を単位にしてイントラ予測に係る予測値を生成するモードである。
【０００８】
このうちイントラ４×４予測モードでは、図１５に示すように、予測値を生成する４×４画素ａ〜ｐのブロックに対して、近傍１３個の画素Ａ〜Ｍの一部を使用して予測値が生成される。なおここでこの１３個の画素Ａ〜Ｍは、このブロックの走査開始端側、垂直方向に隣接する４個の画素Ａ〜Ｄと、この４個の画素Ａ〜Ｄの走査終了端側の画素Ｄに続く４個の画素Ｅ〜Ｈと、このブロックの走査開始端側、水平方向に隣接する４個の画素Ｉ〜Ｌと、この水平方向に隣接する４個の画素Ｉ〜Ｌのうちの走査開始端側の画素Ｉの上方に位置する画素Ｍとにより形成される。以下、これらの画素Ａ〜Ｉを参照画素と呼ぶ。
【０００９】
イントラ４×４予測モードでは、これら１３個の参照画素Ａ〜Ｍと、予測値を生成するブロック（画素ａ〜ｐのブロック）との相対的な関係により、図１６及び図１７に示すように、モード０〜モード８の予測モードが定義される。ここで図１６は、予測値を生成するブロックを、予測値の生成に使用する参照画素から見た方向で予測モードを定義する図であり、例えばモード０では、矢印が真上から真下に向かっていることから、予測値を生成するブロックの真上に位置する参照画素Ａ〜Ｄを用いて予測値が生成される。またモード１では、矢印が水平に左から右に向かっていることから、予測値を生成するブロックの水平方向、走査開始端側に隣接する参照画素Ｉ〜Ｊを用いて予測値が生成される。図１７は、この矢印で示す関係を具体的に記述した図表であり、図１８は、図１５の関係をさらに詳細に記述した図である。
【００１０】
この図１８（Ａ）において矢印により示すように、モード０において、予測値を生成する４×４個の画素ａ〜ｐのうち、垂直方向に連続する１列目の画素ａ、ｅ、ｉ、ｍは、その上方向の画素Ａの画素値が予測値に設定される。また続く２列目の画素ｂ、ｆ、ｊ、ｎは、その上方向の画素Ｂの画素値が予測値に設定され、続く３列目及び４列目の画素ｃ、ｇ、ｋ、ｏ及びｄ、ｈ、ｌ、ｐは、それぞれ上方の画素Ｃ及びＤの画素値が予測値に設定される。
【００１１】
また図１８（Ｂ）に同様に示すように、モード１において、予測値を生成する４×４個の画素ａ〜ｐのうち、水平方向に連続する１ラインの画素ａ〜ｄは、その左方の画素Ｉの画素値が予測値に設定される。また続く２ライン目の画素ｅ〜ｈは、その左方の画素Ｊの画素値が予測値に設定され、続く３ライン目及び４ライン目の画素ｉ〜ｌ及びｍ〜ｐは、それぞれ左方の画素Ｋ及びＬの画素値が予測値に設定される。
【００１２】
これに対してモード２は、図１８（Ｃ）に示すように、１３個の画素Ａ〜Ｍのうち、このブロックの垂直方向及び水平方向に隣接する画素Ａ〜Ｄ及びＩ〜Ｌより予測値を生成するモードであり、これらの画素Ａ〜Ｄ及びＩ〜Ｌの画素値を用いた所定の演算処理により各画素ａ〜ｐの予測値が生成される。
【００１３】
またモード３は、図１８（Ｄ）に示すように、１３個の画素Ａ〜Ｍのうち、水平方向に連続する画素Ａ〜Ｈより予測値を生成するモードであり、これらの画素Ａ〜Ｈの画素値を用いた所定の演算処理により各画素ａ〜ｐの予測値が生成される。またモード４は、図１８（Ｅ）に示すように、１３個の画素Ａ〜Ｍのうち、４×４個の画素ａ〜ｐによるブロックに隣接する画素Ａ〜Ｄ、Ｉ〜Ｍとにより予測値を生成するモードであり、これらの画素Ａ〜Ｄ、Ｉ〜Ｍの画素値を用いた所定の演算処理により各画素ａ〜ｐの予測値が生成される。
【００１４】
またモード５は、図１８（Ｆ）に示すように、１３個の画素Ａ〜Ｍのうち、４×４個の画素ａ〜ｐによるブロックに隣接する画素Ａ〜Ｄ、Ｉ〜Ｋにより予測値を生成するモードであり、これらの画素Ａ〜Ｄ、Ｉ〜Ｋの画素値を用いた所定の演算処理により各画素ａ〜ｐの予測値が生成される。またモード６は、図１８（Ｇ）に示すように、４×４個の画素ａ〜ｐによるブロックに隣接する画素Ａ〜Ｃ、Ｉ〜Ｍにより予測値を生成するモードであり、これらの画素Ａ〜Ｃ、Ｉ〜Ｍの画素値を用いた所定の演算処理により各画素ａ〜ｐの予測値が生成される。またモード７及びモード８は、図１８（Ｈ）及び（Ｉ）に示すように、それぞれ画素Ａ〜Ｇ及び画素Ｉ〜Ｌにより予測値を生成するモードであり、これらの画素の画素値を用いた所定の演算処理により予測値が生成される。
【００１５】
ＡＶＣ規格では、１６画素×１６画素のマクロブロックを順次ラスタ走査する順序で、符号化データが形成される。またマクロブロック内では、図１９に示すように、１６画素×１６画素のマクロブロックを水平方向及び垂直方向に２分割して形成される８画素×８画素のサブマクロブロックＳＭ０〜ＳＭ３をラスタ走査する順序で符号化データが生成される。また８画素×８画素のサブマクロブロックＳＭ０〜ＳＭ３では、４画素×４画素のサブブロックＳＳＭ０〜ＳＳＭ１５を順次ラスタ走査する順序で符号化データが生成される。
【００１６】
従って１つのマクロブロック内において、４画素×４画素のサブブロックＳＳＭ０〜ＳＳＭ１５から得られる符号化データは、この図１９において矢印で示す順序で順次出力される。なおこの図１９における各サブブロックＳＳＭ０〜ＳＳＭ１５の数字は、この矢印で示す処理順序を示すものである。また以下において、４画素×４画素のサブマクロブロックは、８画素×８画素のサブマクロブロックと区別の為に、単にサブブロックと呼ぶ。
【００１７】
ＡＶＣ規格では、この符号化データにおける順序に対応するようにマクロブロック、サブマクロブロック、サブブロックをそれぞれラスタ走査する順序で、順次マクロブロック、サブマクロブロック、サブブロックを選択した場合に、既に選択された隣接サブブロックの、復号化した参照画像の画素値を使用して各サブブロックの予測値を生成しており、上述したモード０〜８は、原則として予測値の生成に使用する参照画素が有意な場合に適用される。
【００１８】
なおこの符号化データの順序で各サブブロックを順次処理する場合、図１９に示す１６個のサブブロックＳＳＭ０〜ＳＳＭ１５のうち、サブブロックＳＳＭ３及びＳＳＭ１１では、右隣上側に隣接するサブブロックが存在するにも係わらず、この右隣上側に隣接するサブブロックの処理完了を待たずに符号化処理されることになる。従ってＡＶＣ規格では、これらのサブブロックＳＳＭ３及びＳＳＭ１１については、参照画素Ｄの画素値を参照画素Ｅ〜Ｈに割り当ててモード３、モード７の予測値を生成するように定義され、右隣上側に隣接するサブブロックより先に符号化処理する場合でも、これらモード３、モード７を適用できるように定義されている。
【００１９】
ところでこれら符号化時、復号時の各処理をパイプライン処理で同時並列的に実行すれば、従来に比して高速度で画像データを処理することができると考えられる。
【００２０】
しかしながらＡＶＣでは、マクロブロック、サブマクロブロック、サブブロックをそれぞれラスタ走査する順序で、順次マクロブロック、サブマクロブロック、サブブロックを選択した場合に、既に選択されている隣接サブブロックの、復号化した参照画像の画素値を利用して各サブブロックの予測値を生成していることから、符号化時、復号時、各処理をパイプライン処理で同時並列的に実行するようにしても、処理速度を十分に高速度化することが困難な問題がある。
【００２１】
すなわち図２０は、図１９に示す順序で順次サブブロックＳＳＭ０〜ＳＳＭ１５を符号化処理する場合のタイムチャートである。なおこの図２０では、図１９の各サブブロックＳＳＭ０〜ＳＳＭ１５に記載した数字で、各サブブロックＳＳＭ０〜ＳＳＭ１５の処理を示し、各処理において、何らサブブロックを処理していない期間を空白で示す。
【００２２】
この場合、各サブブロックＳＳＭ０〜ＳＳＭ１５は、予測値生成処理でそれぞれ予測値が生成され、この予測値を用いて予測誤差が計算される。またこの予測誤差が順次、直交変換処理、量子化処理されて符号化データが生成される。またこの量子化処理結果が、逆量子化処理、逆直交変換処理されて予測誤差が復号された後、この予測誤差が予測値と加算されて画像データが復号化される。従って番号４、８、１２のサブブロックＳＳＭ４、ＳＳＭ８、ＳＳＭ１２を除いて、直前のサブブロックの処理を完了しなければ、続くサブブロックを処理することが困難になり、これらの処理を同時並列的に実行するようにしても、処理速度を十分に高速度化することが困難な問題がある。
【００２３】
また図２１は、図１９に示す順序で、順次サブブロックＳＳＭ０〜ＳＳＭ１５を復号する場合のタイムチャートである。なおこの図２１では、図１９の各サブブロックＳＳＭ０〜ＳＳＭ１５に記載した数字で、各サブブロックＳＳＭ０〜ＳＳＭ１５の処理を示し、各処理において、何らサブブロックを実行していない期間を空白で示す。
【００２４】
この場合も、各サブブロックＳＳＭ０〜ＳＳＭ１５は、予測値生成処理でそれぞれ予測値が生成され、また順次符号化データが逆量子化処理、逆直交変換処理されて予測誤差が復号される。またこの予測誤差が予測値と加算されて画像データが復号される。従ってこの場合も、番号４、８、１２のサブブロックＳＳＭ４、ＳＳＭ８、ＳＳＭ１２を除いて、直前のサブブロックの処理を完了しなければ、続くサブブロックを処理することが困難になる。
【非特許文献１】「Draft Errata List with Revision-Marked Corrections for H.264/AVC」, JVT-1050, Thomas Wiegand et al., Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG, 2003
【発明の開示】
【発明が解決しようとする課題】
【００２５】
本発明は以上の点を考慮してなされたもので、従来に比して符号化処理速度、復号化処理速度を高速度化することができる画像データ処理装置、画像データ処理方法、画像データ処理方法のプログラム及び画像データ処理方法のプログラムを記録した記録媒体を提案しようとするものである。
【課題を解決するための手段】
【００２６】
上記の課題を解決するため請求項１の発明は、所定フォーマットで画像データを符号化及び又は復号化する画像データ処理装置に適用して、前記所定フォーマットは、マクロブロック内では、前記マクロブロックを分割して形成されるサブマクロブロックをラスタ走査する順序で順次選択すると共に、前記サブマクロブロック内では、前記サブマクロブロックを分割して形成されるサブブロックをラスタ走査する順序で順次選択した際に、既に選択された隣接するサブブロックの復号化した画像データを参照して予測値を生成し、前記予測値を用いて処理対象の前記サブブロックの前記画像データを符号化及び又は復号化するフォーマットであり、前記データ処理装置は、１つの前記マクロブロック内において、処理中の前記サブマクロブロックの前記サブブロックの前記画像データの符号化又は復号化を完了しないうちに、隣接するサブマクロブロックにおいて、前記予測値を生成可能となったサブブロックの前記画像データの符号化又は復号化を開始して、前記処理中の前記サブマクロブロックの画像データと、前記予測値を生成可能となったサブブロックの画像データとを同時並列的に符号化又は復号化する。
【００２７】
また請求項４の発明は、所定フォーマットで画像データを符号化及び又は復号化する画像データ処理方法に適用して、前記所定フォーマットは、マクロブロック内では、前記マクロブロックを分割して形成されるサブマクロブロックをラスタ走査する順序で順次選択すると共に、前記サブマクロブロック内では、前記サブマクロブロックを分割して形成されるサブブロックをラスタ走査する順序で順次選択した際に、既に選択された隣接するサブブロックの復号化した画像データを参照して予測値を生成し、前記予測値を用いて処理対象の前記サブブロックの前記画像データを符号化及び又は復号化するフォーマットであり、前記データ処理方法は、１つの前記マクロブロック内において、処理中の前記サブマクロブロックの前記画像データの符号化又は復号化を完了しないうちに、隣接するサブマクロブロックにおいて、前記予測値を生成可能となったサブブロックの前記画像データの符号化又は復号化を開始して、前記処理中の前記サブマクロブロックの前記サブブロックの画像データと、前記予測値を生成可能となったサブブロックの画像データとを同時並列的に符号化又は復号化する。
【００２８】
また請求項５の発明は、所定フォーマットで画像データを符号化及び又は復号化する画像データ処理方法のプログラムに適用して、前記所定フォーマットは、マクロブロック内では、前記マクロブロックを分割して形成されるサブマクロブロックをラスタ走査する順序で順次選択すると共に、前記サブマクロブロック内では、前記サブマクロブロックを分割して形成されるサブブロックをラスタ走査する順序で順次選択した際に、既に選択された隣接するサブブロックの復号化した画像データを参照して予測値を生成し、前記予測値を用いて処理対象の前記サブブロックの前記画像データを符号化及び又は復号化するフォーマットであり、前記データ処理方法のプログラムは、１つの前記マクロブロック内において、処理中の前記サブマクロブロックの前記画像データの符号化又は復号化を完了しないうちに、隣接するサブマクロブロックにおいて、前記予測値を生成可能となったサブブロックの前記画像データの符号化又は復号化を開始して、前記処理中の前記サブマクロブロックの前記サブブロックの画像データと、前記予測値を生成可能となったサブブロックの画像データとを同時並列的に符号化又は復号化する処理ステップを有するようにする。
【００２９】
また請求項６の発明は、所定フォーマットで画像データを符号化及び又は復号化する画像データ処理方法のプログラムを記録した記録媒体に適用して、前記所定フォーマットは、マクロブロック内では、前記マクロブロックを分割して形成されるサブマクロブロックをラスタ走査する順序で順次選択すると共に、前記サブマクロブロック内では、前記サブマクロブロックを分割して形成されるサブブロックをラスタ走査する順序で順次選択した際に、既に選択された隣接するサブブロックの復号化した画像データを参照して予測値を生成し、前記予測値を用いて処理対象の前記サブブロックの前記画像データを符号化及び又は復号化するフォーマットであり、前記データ処理方法のプログラムは、１つの前記マクロブロック内において、処理中の前記サブマクロブロックの前記画像データの符号化又は復号化を完了しないうちに、隣接するサブマクロブロックにおいて、前記予測値を生成可能となったサブブロックの前記画像データの符号化又は復号化を開始して、前記処理中の前記サブマクロブロックの前記サブブロックの画像データと、前記予測値を生成可能となったサブブロックの画像データとを同時並列的に符号化又は復号化する処理ステップを有するようにする。
【００３０】
請求項１、請求項４、請求項５又は請求項６の構成によれば、処理中のサブマクロブロックのサブブロックと、隣接サブマクロブロックで予測値を生成可能となったサブブロックとを同時並列的に符号化又は復号化することから、従来に比して高速度で画像データを符号化、復号化することができる。
【発明の効果】
【００３１】
本発明によれば、従来に比して符号化処理速度、復号化処理速度を高速度化することができる。
【発明を実施するための最良の形態】
【００３２】
以下、適宜図面を参照しながら本発明の実施例を詳述する。
【実施例１】
【００３３】
（１）実施例の構成
図２は、本発明の実施例１の符号化復号化装置の一部構成を示すブロック図である。この符号化復号化装置１は、この図２に示す符号化部１Ａにおいて、ＡＶＣ規格に従ってビデオ信号ＳＶを符号化処理して符号化データＤ４を出力し、また後述する復号化部で、ＡＶＣ規格の符号化データＤ４を復号化してビデオ信号ＳＶを出力する。
【００３４】
すなわちこの符号化部１Ａにおいて、アナログディジタル変換部（Ａ／Ｄ）２は、ビデオ信号ＳＶをアナログディジタル変換処理して画像データＤ１を出力する。画面並べ替えバッファ３は、このアナログディジタル変換部２から出力される画像データＤ１のフレームをＧＯＰ（Group of Pictures ）構造に応じて並べ替えて出力する。また１フレーム内では、マクロブロック単位で順次ラスタ走査する順序に、画像データＤ１を並べ替えて出力する。また各マクロブロック内では、各マクロブロックで選択された最適予測モードに対応する順序で画像データＤ１を並べ替えて出力する。
【００３５】
減算部４は、この画面並べ替えバッファ３から出力される画像データＤ６を受け、イントラ符号化においては、イントラ予測部５で生成される予測値との予測残差データＤ２を生成して出力するのに対し、インター符号化においては、動き予測・補償部６で生成される予測値との予測残差データＤ２を生成して出力する。直交変換部７は、減算部４の出力データＤ２を入力し、離散コサイン変換、カルーネン・レーベ変換等の直交変換処理を実行し、その処理結果である変換係数データＤ３を出力する。
【００３６】
量子化部８は、レート制御部９のレート制御による量子化スケールで、直交変換部７から出力される変換係数データＤ３を量子化して出力する。可逆符号化部１０は、この量子化部８の出力データＤ５を可変長符号化、算術符号化等により可逆符号化処理して出力する。また可逆符号化部１０は、イントラ予測モードに関する情報、動きベクトルに関する情報等をイントラ予測部５、動き予測・補償部６から取得し、これらの情報を符号化データＤ４のヘッダ情報に設定して出力する。
【００３７】
バッファ１１は、この可逆符号化部１０から出力される符号化データＤ４を蓄積し、ＡＶＣ規格で定義された順序に並べ直し、伝送路の伝送速度に応じた速度で出力する。レート制御部９は、このバッファ１１の空き容量を監視して発生符号量を監視し、この監視結果に基づいて量子化部８の量子化スケールを切り換え、符号化データＤ４の符号量を制御する。
【００３８】
逆量子化部１３は、量子化部８の出力データＤ５を逆量子化処理し、量子化部８の入力データＤ３を再生する。逆直交変換部１４は、逆量子化部１３の出力データを逆直交変換処理し、直交変換部７の入力データＤ２を再生する。加算部１５は、この逆直交変換部１４の出力データに予測値を加算し、減算部４の入力データＤ６を再生する。デブロックフィルタ１６は、この加算部１５の出力データからブロック歪を除去して出力する。フレームメモリ１７は、このデブロックフィルタ１６の出力データを参照画像データとして記録して保持する。
【００３９】
動き予測・補償部６は、インター符号化において、このフレームメモリ１７に保持された参照画像データを用いて、画像並べ替えバッファ３から出力される画像データの動きベクトルを検出する。またこの検出した動きベクトルを使用してフレームメモリ１７に保持した参照画像データを動き補償し、インター符号化における予測値を生成して出力する。イントラ予測部５は、イントラ符号化において、フレームメモリ１７に蓄積された参照画像データから予測値を生成し、減算部４に出力する。
【００４０】
符号化部１Ａでは、順次入力される入力画像データＤ１を順次処理して１６画素×１６画素のマクロブロック単位で最適予測モードを検出し、この最適予測モードで対応する１６画素×１６画素のマクロブロックを処理するようにイントラ予測部５、動き予測・補償部６等の動作が制御される。
【００４１】
この図２に示す構成により、符号化復号化装置１は、マクロブロック毎に、図３に示す処理手順を実行してビデオ信号ＳＶを符号化処理する。なおこの図３では、並べ替えバッファ３の処理は省略して示す。すなわち符号化復号化装置１は、この処理手順を開始すると、ステップＳＰ１からステップＳＰ２に移り、アナログディジタル変換部２でビデオ信号ＳＶを画像データに変換する。また続くステップＳＰ３において、検出した最適予測モードに基づいて、処理対象のサブブロックをイントラ予測するか否か判断する。ここでイントラ予測する場合には、ステップＳＰ３からステップＳＰ４に移り、イントラ予測部５で予測値を生成する。またインター予測する場合には、ステップＳＰ３からステップＳＰ５に移り、動き予測・補償部６で予測値を生成する。
【００４２】
符号化復号化装置１では、続くステップＳＰ６において、並べ替えバッファ３から出力される画像データから、ステップＳＰ４又はステップＳＰ５で生成した予測値を減算して予測誤差を計算する。また続くステップＳＰ７において、直交変換部７で予測誤差を直交変換処理し、続くステップＳＰ８において、量子化部８で量子化処理する。符号化復号化装置１では、この量子化処理結果を可逆符号化部１０で可変長符号化処理した後、バッファ１１を介して出力する。
【００４３】
またこの可逆符号化部１０等の処理と平行して、続くステップＳＰ９において、逆量子化部１３で逆量子化処理した後、続くステップＳＰ１０において、逆直交変換部１４で逆直交変換処理する。また続くステップＳＰ１１において、ステップＳＰ４又はステップＳＰ５で生成した予測値を加算して画像データＤ１を復号する。符号化復号化装置１は、この復号化した画像データＤ１をバッファメモリに保持し、続くステップＳＰ１２において、１マクロブロックの処理を完了したか否か判断し、ここで否定結果が得られると、ステップＳＰ３に戻る。
【００４４】
これに対してステップＳＰ１２で肯定結果が得られると、ステップＳＰ１３に移り、バッファメモリに保持した画像データＤ１をデブロックフィルタで処理してフレームメモリ１７に格納し、ステップＳＰ１４に移ってこの処理手順を終了する。
【００４５】
図４は、符号化復号化装置１の復号化部１Ｂを示すブロック図である。この復号化部１Ｂにおいて、バッファ２１は、伝送路を介して入力される符号化データＤ４を一時蓄積して所定順序で出力する。可逆復号化部２２は、このバッファ２１の出力データを可変長復号化、算術復号化等により復号化処理し、符号化部１Ａにおける可逆符号化部１０の入力データＤ５を再生する。またこのときこの出力データＤ５がイントラ符号化されたものである場合、ヘッダに格納されたイントラ予測モードの情報をイントラ予測部２３に伝送するのに対し、この出力データがインター符号化されたものである場合、ヘッダに格納された動きベクトルに関する情報を動き予測・補償部２４へ伝送する。
【００４６】
逆量子化部２５は、可逆復号化部２２の出力データを逆量子化処理し、符号化部１Ａの量子化部８に入力される変換係数データＤ３を再生する。逆直交変換部２６は、この逆量子化部２５から出力される変換係数データＤ３を受け、４次の逆直交変換処理を実行し、符号化部１Ａの直交変換部７に入力される予測誤差データＤ２を再生する。
【００４７】
加算部２７は、逆直交変換部２６から出力される予測誤差データＤ２を受け、イントラ符号化において、イントラ予測部２３で生成される予測値を加算して出力するのに対し、インター符号化において、動き予測・補償部２４から出力される予測値を加算して出力する。従って加算部２７は、符号化部１Ａにおける減算部４の入力データＤ６を再生する。
【００４８】
デブロックフィルタ２８は、この加算部２７の出力データＤ６からブロック歪を除去して出力し、画面並べ替えバッファ２９は、このデブロックフィルタ２８から出力される画像データのフレームをＧＯＰ構造に応じて並べ替えて出力する。ディジタルアナログ変換部（Ｄ／Ａ）３０は、この画面並べ替えバッファ２９の出力データＤ１をディジタルアナログ変換処理して出力する。
【００４９】
フレームメモリ３１は、デブロックフィルタ２８の出力データを参照画像データとして記録して保持する。動き予測・補償部２４は、インター符号化において、可逆復号化部２２から通知される動きベクトルの情報を用いてフレームメモリ３１に保持された参照画像データを動き補償し、インター符号化の予測値を生成する。動き予測・補償部２４は、この予測値を加算部２７に出力する。またイントラ予測部２３は、イントラ符号化において、可逆復号化部２２から通知されるイントラ予測モードに基づいてフレームメモリ３１に保持された参照画像データから予測値を生成し、この予測値を加算部２７に出力する。
【００５０】
この図４の構成により、符号化復号化装置１は、図５の処理手順をマクロブロック毎に実行してビデオ信号ＳＶを復号する。なおこの図５では、バッファ２１、画面並べ替えバッファ２９の処理は省略して示す。すなわち符号化復号化装置１は、この処理手順を開始すると、ステップＳＰ２１からステップＳＰ２２に移り、順次入力される符号化データＤ４を可逆復号化部２２で可逆復号する。また続くステップＳＰ２３において、逆量子化部２５で逆量子化処理し、続くステップＳＰ２４において、逆直交変換部２６で逆直交変換処理し、予測誤差データＤ２を復号する。
【００５１】
符号化復号化装置１は、これらステップＳＰ２３、ステップＳＰ２４の処理と平行して、ステップＳＰ２５において、符号化データＤ４に設定された予測モードに基づいて、処理対象のサブブロックをイントラ予測するか否か判断する。ここでイントラ予測する場合には、ステップＳＰ２５からステップＳＰ２６に移り、イントラ予測部２３で予測値を生成する。またインター予測する場合には、ステップＳＰ２５からステップＳＰ２７に移り、動き予測・補償部２４で予測値を生成する。
【００５２】
符号化復号化装置１は、続くステップＳＰ２８において、ステップＳＰ２４で復号した予測誤差データＤ２に、ステップＳＰ２６又はステップＳＰ２７で生成した予測値を加算して画像データＤ１を復号する。復号化部１Ｂは、この復号した画像データＤ１をバッファメモリに保持し、続くステップＳＰ２９において、１マクロブロックの処理を完了したか否か判断し、ここで否定結果が得られると、ステップＳＰ２３に戻る。
【００５３】
これに対してステップＳＰ２９で肯定結果が得られると、ステップＳＰ３０において、バッファメモリに保持した画像データＤ１をデブロックフィルタで処理してフレームメモリ１７に格納する。また続くステップＳＰ３１においてデブロックフィルタで処理した画像データをディジタルアナログ変換処理してビデオ信号ＳＶを復号した後、ステップＳＰ３２に移ってこの処理手順を終了する。
【００５４】
図６は、これらこの実施例の符号化復号化装置の要部構成を示すブロック図である。この符号化復号化装置１は、符号化部１Ａ及び復号化部１Ｂで、イントラ予測部５、（２３）、動き予測・補償部６、２４が共用化され、また演算処理部４１で符号化部１Ａ及び復号化部１Ｂの主要部が構成される。
【００５５】
すなわち演算部４１は、符号化部１Ａの減算部４、直交変換部７、量子化部８、逆量子化部１３、逆直交変換部１４、加算部１５が設けられる。演算部４１は、図示しないコントローラの制御により動作を切り換え、復号時、演算部４、直交変換部７、量子化部８が動作を停止すると共に、量子化部８の出力データに代えて、可逆復号化部２２から出力される符号化データＤ４を逆量子化部１３、逆直交変換部１４、加算部１５で順次処理して画像データＤ１を復号し、図４について上述した逆量子化部２５、逆直交変換部２６、加算部２７を、逆量子化部１３、逆直交変換部１４、加算部１５で構成する。
【００５６】
なおイントラ予測部５、（２３）には、イントラ予測に使用する参照画像データを一時格納して保持するローカルメモリ５Ａが設けられ、イントラ予測部５、（２３）は、このローカルメモリ５Ａの記録を用いた予測演算部５Ｂの演算処理で予測値を生成する。
【００５７】
この符号化復号化装置１は、符号化部１Ａ及び復号化部１Ｂにおいて、順次ラスタ走査する順序で順次マクロブロックを処理するように、図示しないコントローラで画面並べ替えバッファ３、バッファ２１を制御し、またこれに対応するように各部を制御する。またイントラ４×４予測モードを除くイントラ１６×１６予測モード及びイントラ８×８予測モードでは、１つのマクロブロック内においてラスタ走査する順序で順次サブマクロブロックを処理するように、またサブマクロブロック内においてラスタ走査する順序で順次サブブロックを処理するように、画面並べ替えバッファ３、バッファ２１を制御し、またこれに対応するように各部を制御する。なおインター予測では、予測モードに応じて設定されたサブマクロブロック、サブブロックを順次処理するように、各部を制御する。
【００５８】
これに対してイントラ４×４予測モードでは、１つのマクロブロック内において、処理中のサブマクロブロックの処理を完了しないうちに、隣接するサブマクロブロックにおいて、予測値を生成可能となったサブブロックの処理を開始し、それまで処理中のサブブロックの画像データと、処理を開始したサブブロックの画像データとを同時並列的に処理する。
【００５９】
より具体的に、図１は、図１９との対比によりこの実施例におけるサブブロックの処理順序を示す図であり、図７は、この図１の順序で符号化処理する場合のタイムチャートである。この符号化復号化装置１において、符号化部１Ａは、第１のサブマクロブロックＳＭ０では、ラスタ走査の順序で、サブブロックＳＳＭ０〜ＳＳＭ３を順次処理する。従って図７に示すように、この第１のサブマクロブロックＳＭ０のサブブロックＳＳＭ１〜ＳＳＭ３では、直前のサブブロックＳＳＭ０〜ＳＳＭ２の符号化処理の完了を待って処理を開始することになる。また続いて、この符号化復号化装置１は、続くラスタ走査順のサブマクロブロックＳＭ１の先頭サブブロックＳＳＭ４を処理する。
【００６０】
ここでこの続くサブマクロブロックＳＭ１の先頭サブブロックＳＳＭ４は、第１のサブマクロブロックＳＭ０の最後のサブブロックＳＳＭ３の処理を開始した時点では、ラスタ走査開始端側に隣接するサブブロックＳＳＭ１が既に符号化処理を完了していることになる。従って符号化部１Ａは、サブブロックＳＳＭ３の符号化処理の完了を待機することなく、この先頭サブブロックＳＳＭ４の処理を開始し、サブブロックＳＳＭ３及びＳＳＭ４を同時並列的に符号化処理する。
【００６１】
またサブブロックＳＳＭ３及びＳＳＭ４を同時並列的に符号化処理して、先に処理を開始したサブブロックＳＳＭ３の符号化処理を完了すると、符号化部１Ａでは、第３のサブマクロブロックＳＭ２の先頭サブブロックＳＳＭ８が符号化処理可能となる。そこで符号化部１Ａは、サブブロックＳＳＭ３の符号化処理を完了すると、この符号化処理可能となった第３のサブマクロブロックＳＭ２の先頭サブブロックＳＳＭ８の処理を開始する。従ってこの場合も、それまで処理中のサブブロックＳＳＭ４と、この処理を開始したサブブロックＳＳＭ８とを同時並列的に処理する。
【００６２】
またサブブロックＳＳＭ４及びＳＳＭ８を同時並列的に処理して、先に処理を開始したサブブロックＳＳＭ４の処理が完了すると、このサブブロックＳＳＭ４に続くサブブロックＳＳＭ５が処理可能となる。そこで符号化部１Ａは、サブブロックＳＳＭ４の符号化処理を完了すると、続くサブブロックＳＳＭ５の符号化処理を開始し、この場合も、サブブロックＳＳＭ８及びＳＳＭ５を同時並列的に符号化処理する。
【００６３】
またサブブロックＳＳＭ８及びＳＳＭ５を同時並列的に処理して、先に処理を開始したサブブロックＳＳＭ８の符号化処理を完了した時点では、何れのサブブロックも処理可能とならないことから、この場合、符号化部１Ａは、残るサブブロックＳＳＭ５のみを符号化処理する。またこの残るサブブロックＳＳＭ５の符号化処理を完了すると、このサブブロックＳＳＭ５に続くサブブロックＳＳＭ６が処理可能となり、符号化部１Ａは、この続くサブブロックＳＳＭ６の符号化処理を開始する。
【００６４】
ここでこのサブブロックＳＳＭ６の符号化処理を完了すると、続くサブブロックＳＳＭ７と、続くサブマクロブロックＳＭ２のサブブロックＳＳＭ９とが符号化処理可能となる。符号化部１Ａは、この場合、続くサブマクロブロックＳＭ２のサブブロックＳＳＭ９の符号化処理を開始し、続いて残る符号化処理可能なサブブロックＳＳＭ７の処理を開始し、これらサブブロックＳＳＭ９及びＳＳＭ７を同時並列的に処理する。
【００６５】
またサブブロックＳＳＭ９及びＳＳＭ７を同時並列的に処理して、先に処理を開始したサブブロックＳＳＭ９の符号化処理を完了すると、続くサブブロックＳＳＭ１０が符号化処理可能となることから、符号化部１Ａは、サブブロックＳＳＭ９の符号化処理を完了すると、続くサブブロックＳＳＭ１０の符号化処理を開始し、サブブロックＳＳＭ７及びＳＳＭ１０を同時並列的に処理する。
【００６６】
またサブブロックＳＳＭ７及びＳＳＭ１０を同時並列的に処理して、先に処理を開始したサブブロックＳＳＭ７の符号化処理を完了すると、このサブブロックＳＳＭ７の属するサブマクロブロックＳＭ１は符号化処理が完了し、末尾のサブマクロブロックＳＭ３の先頭サブブロックＳＳＭ１２が符号化処理可能となる。従って符号化部１Ａは、サブブロックＳＳＭ７の符号化処理を完了すると、末尾のサブマクロブロックＳＭ３の先頭サブブロックＳＳＭ１２の符号化処理を開始し、符号化処理中のサブブロックＳＳＭ１０とこの先頭サブブロックＳＳＭ１２とを同時並列的に処理する。
【００６７】
またこのようにサブブロックＳＳＭ１０及びＳＳＭ１２を同時並列的に処理して、先に処理を開始したサブブロックＳＳＭ１０の符号化処理を完了すると、続くサブブロックＳＳＭ１１が符号化処理可能となる。そこで符号化部１Ａは、サブブロックＳＳＭ１０の符号化処理を完了すると、続くサブブロックＳＳＭ１１の符号化処理を開始し、符号化処理中のサブブロックＳＳＭ１２と処理を開始したサブブロックＳＳＭ１１とを同時並列的に処理する。
【００６８】
またこのようにしてサブブロックＳＳＭ１２及びサブブロックＳＳＭ１１を同時並列的に処理して、先に処理を開始したサブブロックＳＳＭ１２の符号化処理を完了すると、続くサブブロックＳＳＭ１３が符号化処理可能となる。従って符号化部１Ａは、サブブロックＳＳＭ１２の符号化処理を完了すると、続くサブブロックＳＳＭ１３の符号化処理を開始し、符号化処理中のサブブロックＳＳＭ１１と処理を開始したサブブロックＳＳＭ１３とを同時並列的に処理する。
【００６９】
またサブブロックＳＳＭ１２及びＳＳＭ１３を同時並列的に処理して、先に処理を開始したサブブロックＳＳＭ１２の符号化処理を完了した時点では、何れのサブブロックも処理可能とならないことから、この場合、符号化部１Ａは、残るサブブロックＳＳＭ１３のみを符号化処理する。またこの残るサブブロックＳＳＭ１３の符号化処理を完了すると、このサブブロックＳＳＭ１３に続くサブブロックＳＳＭ１４が処理可能となり、符号化部１Ａは、この続くサブブロックＳＳＭ１４の符号化処理を開始する。またこの続くサブブロックＳＳＭ１４の符号化処理を完了すると、最後のサブブロックＳＳＭ１５が処理可能となり、このサブブロックＳＳＭ１５の処理を開始する。
【００７０】
これに対して図８は、復号化部１Ｂにおける処理を示すタイムチャートである。復号化部１Ｂは、符号化部１Ａと同一の順序で、各サブブロックＳＳＭ０〜ＳＳＭ１５を処理する。符号化復号化装置１は、この図１に示す処理順序でサブブロックＳＳＭ０〜ＳＳＭ１５を処理するように、イントラ４×４予測モードでは、画面並べ替えバッファ３から画像データを出力し、またこの画像データの出力に対応するようにイントラ予測部５で予測値を生成する。またこの図１に示す順序で生成した符号化データを、図１９について上述した順序で出力するように、バッファ１１で符号化データを関連する情報と共に並べ直して出力する。また復号化時には、同様に、順次得られる符号化データＤ４を並べ直して復号化した後、正しい順序に並べ直して出力する。
【００７１】
符号化復号化装置１では、サブブロックの処理順序がテーブル４２に記録されており（図６）、図示しないコントローラは、このテーブル４２の記録に従って各部の動作を制御して図１の順序で順次サブブロックを処理する。
【００７２】
（２）実施例の動作
以上の構成において、この符号化復号化装置１では、コントローラの制御により符号化部１Ａが構成されて画像データＤ１を符号化処理し、また復号化部１Ｂが構成されて画像データＤ１を復号化する（図６）。
【００７３】
すなわち符号化部１Ａにおいて（図２）、順次入力されるビデオ信号ＳＶは、アナログディジタル変換部２で画像データＤ１に変換された後、画面並べ替えバッファ３で順序が並べ替えられる。またイントラ予測部５、動き予測・補償部６で生成された予測値が減算部４で減算されて予測残差データＤ２が生成され、この予測残差データＤ２が順次直交変換処理、量子化処理、可逆符号化処理された後、ＡＶＣ規格の順序に並べ直されて符号化データＤ４として出力される。従って画像データＤ１は、予測値の生成処理、予測残差の生成処理、直交変換処理、量子化処理、可逆符号化処理のパイプライン処理により、順次符号化処理される。また符号化部１Ａでは、量子化処理結果が逆量子化処理、逆直交変換処理されて予測残差データＤ２が復号され、この予測残差データＤ２が予測値と加算されて元の画像データＤ１が復号され、参照画像データとしてフレームメモリ１７に格納される。従って逆量子化処理、逆直交変換処理、予測値との加算処理にあっても、パイプライン処理により順次処理される。符号化部１Ａでは、このフレームメモリ１７に格納された参照画像データを用いて、イントラ予測部５、動き予測・補償部６でそれぞれイントラ予測、インター予測の予測値が生成される。
【００７４】
ここでＡＶＣ規格では、順次、マクロブロックをラスタ走査する順序で符号化する。またイントラ４×４予測モードでは、マクロブロック内において、サブマクロブロックをラスタ走査する順序で順次選択すると共に、サブマクロブロック内では、サブブロックをラスタ走査する順序で選択した際に、既に選択された隣接するサブブロックの復号化した画像データを参照して予測値を生成する。
【００７５】
従ってこの処理順序で単に画像データをイントラ４×４予測モードで処理する場合には、図２０に示すように、僅か３つのサブブロックＳＳＭ４、ＳＳＭ８、ＳＳＭ１２でのみ、一時的に同時並列的にサブブロックを処理することが可能となるだけであり、その結果、同時並列的に符号化処理可能に符号化部１Ａが構成されている場合にあっても、十分に高速度に画像データを符号化処理することが困難になる。
【００７６】
そこでこの符号化部１Ａでは（図１）、テーブル４２の記録に従って、１つのマクロブロック内において、処理中のサブマクロブロックの処理を完了しないうちに、隣接するサブマクロブロックで予測値を生成可能となったサブブロックの処理を開始するようにして、処理中のサブマクロブロックと、予測値を生成可能となったサブブロックとを同時並列的に処理して符号化データを生成する。
【００７７】
この場合、処理中のサブマクロブロックの処理を完了しないうちに、隣接するサブマクロブロックで予測値を生成可能となったサブブロックの処理を開始すれば、図２１との対比により図７に示すように、同時並列的に処理可能なサブブロックの数が増大し、単にサブマクロブロック、サブブロックをラスタ走査する順序で処理する場合に比して、格段的に高速度で画像データを符号化処理することができる。
【００７８】
また復号化部１Ｂにおいて（図４）、順次入力される符号化データＤ４は、可逆復号化部２２、逆量子化部２５、逆直交変換部２６で順次処理されて予測残差データＤ２が復号され、またこの予測残差データＤ２に予測値が加算されて画像データが復号される。またこの画像データが参照画像データとしてフレームメモリ３１に格納され、この参照画像データを用いてイントラ予測部２３、動き予測・補償部２４でそれぞれイントラ予測、インター予測の予測値が生成される。
【００７９】
従って復号化部１Ｂにおいても、画像データは、順次パイプライン処理されて復号される。また符号化時と同様に、テーブル４２の記録に従って、１つのマクロブロック内において、処理中のサブマクロブロックの処理を完了しないうちに、隣接するサブマクロブロックで予測値を生成可能となったサブブロックの処理を開始するようにして、処理中のサブマクロブロックと、予測値を生成可能となったサブブロックとを同時並列的に処理して復号化される。
【００８０】
従ってこの場合も、図２２との対比により図８に示すように、単にサブマクロブロック、サブブロックをラスタ走査する順序で処理する場合に比して、同時並列的に処理可能なサブブロックの数が増大し、従来に比して格段的に高速度で画像データを符号化処理することができる。
【００８１】
（３）実施例の効果
以上の構成によれば、１つのマクロブロック内において、処理中のサブマクロブロックの処理を完了しないうちに、隣接するサブマクロブロックにおいて、予測値を生成可能となったサブブロックの処理を開始して、これらのサブブロックを同時並列的に処理することにより、従来に比して符号化処理速度、復号化処理速度を高速度化することができる。
【実施例２】
【００８２】
図９は、図１との対比により本発明の実施例２の符号化復号化装置におけるサブブロックの処理順序を示す図表であり、図１０及び図１１は、この図９の処理順序でサブブロックを符号化、復号化する場合のタイムチャートである。この実施例の符号化復号化装置は、この図９に示す処理順序で、１つのマクロブロック内において、処理中のサブマクロブロックの処理を完了しないうちに、隣接するサブマクロブロックにおいて、予測値を生成可能となったサブブロックの処理を開始して、複数のサブブロックを同時並列的に処理する。この実施例の符号化復号化装置は、この処理順序が異なる点を除いて、実施例１の符号化復号化装置と同一に構成される。
【００８３】
この実施例のように、実施例１とは異なる順序で符号化処理、復号化処理するようにしても、実施例１と同一の効果を得ることができる。
【実施例３】
【００８４】
図１２は、図１との対比により本発明の実施例３の符号化復号化装置におけるサブブロックの処理順序を示す図表である。この実施例の符号化復号化装置は、この図１２に示す処理順序で、１つのマクロブロック内において、処理中のサブマクロブロックの処理を完了しないうちに、隣接するサブマクロブロックにおいて、予測値を生成可能となったサブブロックの処理を開始して、複数のサブブロックを同時並列的に処理する。この実施例の符号化復号化装置は、この処理順序が異なる点を除いて、実施例１、実施例２の符号化復号化装置と同一に構成される。
【００８５】
この実施例のように、実施例１、実施例２とは異なる順序で符号化処理、復号化処理する場合でも、実施例１と同一の効果を得ることができる。
【実施例４】
【００８６】
図１３は、本発明の実施例４の符号化復号化装置を示すブロック図である。この実施例の符号化復号化装置５１は、マルチコアプロセッサ５２を用いて構成される。この実施例の符号化復号化装置５１は、マルチコアプロセッサ５２を用いて構成される点を除いて、上述の実施例と同一に構成される。
【００８７】
すなわちこの符号化復号化装置５１において、外部メモリ５３は、処理対象のデータ、処理結果のデータ、処理途中の各種データ、参照画像データを記録して保持する。
【００８８】
マルチコアプロセッサ５２は、それぞれキャッシュメモリを有する複数のＣＰＵ（Central Processing Unit ）５４Ａ、５４Ｂ、……を有し、符号化処理時、これらＣＰＵ５４Ａ、５４Ｂ、……で、図２について上述した各処理部を構成する。またこれらＣＰＵ５４Ａ、５４Ｂ、……が実行するプログラムを切り換えて、復号化部を構成し、図４について上述した各処理部を構成する。
【００８９】
この実施例において、これらＣＰＵ５４Ａ、５４Ｂ、……の実行するプログラムは、この符号化復号化装置５１に事前にインストールされて提供されるものの、これに代えて光ディスク、磁気ディスク、メモリカード等の記録媒体に記録して提供するようにしてもよく、インターネット等のネットワークを介したダウンロードにより提供するようにしてもよい。
【００９０】
この実施例のように、マルチコアプロセッサを用いて符号化復号化装置を構成する場合でも、上述の実施例と同様に、高速度で画像データを符号化、復号化することができる。
【実施例５】
【００９１】
図１４は、本発明の実施例５の符号化復号化装置を示すブロック図である。この実施例の符号化復号化装置６１は、ＶＬＩＷ（Very Long Instruction Word）プロセッサ６２をを用いて構成される。この実施例の符号化復号化装置は、ＶＬＩＷプロセッサ６２を用いて構成される点を除いて、上述の実施例４と同一に構成される。
【００９２】
この実施例によれば、ＶＬＩＷプロセッサを用いて符号化復号化装置を構成する場合でも、上述の実施例と同様の効果を得ることができる。
【実施例６】
【００９３】
なお上述の実施例においては、本発明を符号化復号化装置に適用する場合について述べたが、本発明はこれに限らず、符号化装置、復号化装置に適用することもできる。
【００９４】
また上述の実施例においては、ＡＶＣ規格で符号化、復号化する場合について述べたが、本発明はこれに限らず、同様の種々のフォーマットで符号化、復号化する場合に広く適用することができる。
【産業上の利用可能性】
【００９５】
本発明は、衛星放送、ケーブルテレビジョン、インターネット、携帯電話等における画像データの伝送、各種記録媒体への画像データの記録に適用することができる。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施例１の符号化復号化装置におけるサブブロックの処理順序を示す図である。
【図２】本発明の実施例１の符号化復号化装置における符号化部の構成を示すブロック図である。
【図３】図２の符号化部における処理手順を示すフローチャートである。
【図４】本発明の実施例１の符号化復号化装置における復号化部の構成を示すブロック図である。
【図５】図４の復号化部における処理手順を示すフローチャートである。
【図６】本発明の実施例１の符号化復号化装置を示すブロック図である。
【図７】図１の順序による符号化処理のタイムチャートである。
【図８】図１の順序による復号化処理のタイムチャートである。
【図９】本発明の実施例２の符号化復号化装置におけるサブブロックの処理順序を示す図である。
【図１０】図９の順序による符号化処理のタイムチャートである。
【図１１】図９の順序による復号化処理のタイムチャートである。
【図１２】本発明の実施例３の符号化復号化装置におけるサブブロックの処理順序を示す図である。
【図１３】本発明の実施例４の符号化復号化装置を示すブロック図である。
【図１４】本発明の実施例５の符号化復号化装置を示すブロック図である。
【図１５】イントラ４×４予測モードにおける参照画素を示す平面図である。
【図１６】イントラ４×４予測モードの説明に供する略線図である。
【図１７】イントラ４×４予測モードを示す図表である。
【図１８】イントラ４×４予測モードにおける参照画素との関係を示す略線図である。
【図１９】サブブロックの処理順序を示す図である。
【図２０】図１９の処理順序による符号化時のタイムチャートである。
【図２１】図１９の処理順序による復号化時のタイムチャートである。
【符号の説明】
【００９７】
１、５１、６１……符号化復号化装置、１Ａ……符号化部、１Ｂ……復号化部、４……減算部、５、２３……イントラ予測部、６、２４……動き予測・補償部、７……直交変換部、８……量子化部、１０、２２……可逆符号化部、１３、２５……逆量子化部１３、２５……逆直交変換部、１５、２７……加算部、１７、３１……フレームメモリ
【図１】
2008079170.tif 000003
【図２】
2008079170.tif 000004
【図３】
2008079170.tif 000005
【図４】
2008079170.tif 000006
【図５】
2008079170.tif 000007
【図６】
2008079170.tif 000008
【図７】
2008079170.tif 000009
【図８】
2008079170.tif 000010
【図９】
2008079170.tif 000011
【図１０】
2008079170.tif 000012
【図１１】
2008079170.tif 000013
【図１２】
2008079170.tif 000014
【図１３】
2008079170.tif 000015
【図１４】
2008079170.tif 000016
【図１５】
2008079170.tif 000017
【図１６】
2008079170.tif 000018
【図１７】
2008079170.tif 000019
【図１８】
2008079170.tif 000020
【図１９】
2008079170.tif 000021
【図２０】
2008079170.tif 000022
【図２１】
2008079170.tif 000023