(57)【要約】【課題】画質劣化を齎すことなく処理にかかるサイクル数を軽減し、高速に符号化が可能な画像符号化装置等を提供する。【解決手段】量子化部２３０は、量子化パラメータに従って、各直交変換ブロック内の変換係数を量子化する。逆量子化部２４０は、量子化パラメータに従って量子化された直交変換係数を逆量子化することで得た変換係数から直交変換ブロックを復元する。なお、上記直交変換係数の逆量子化は、並列処理（例えば、２並列処理又は４並列処理）される。逆直交変換部２５０は、復元された直交変換ブロックを用いて差分マクロブロックを復元する。差分マクロブロックの復元の際、逆直交変換部２５０は、全体制御部２６０の指示により、差分マクロブロックを構成する各４×４ブロックにおいては、それぞれの右隣の４×４ブロックのイントラ予測に使用する最右端１列の画素の逆直交変換演算を優先して実行する。【選択図】図１
2007180862.tif 000002
【特許請求の範囲】
【請求項１】
行単位又は列単位の画素データに対して演算が可能な第１処理と第２処理とを含み、予め規定された数の画素から構成される単位ブロック毎に符号化対象ピクチャを符号化する画像符号化装置であって、
前記第２処理において使用される行単位又は列単位の画素データに対する演算を優先して実行する第１処理手段と、
前記第１処理において前記第２処理の開始に必要な行単位又は列単位の画素データに対する演算が終了次第、前記第２処理を開始する第２処理手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記第１処理手段は、イントラ予測処理で使用される第１の単位ブロックにおける右端の列単位の画素データに対する、逆直交変換処理における一部の逆直交変換演算を優先して実行し、
前記第２処理手段は、前記逆直交変換演算を終えた前記第１の単位ブロックにおける右端の列単位の画素データを用いて、前記第１の単位ブロックの右隣の第２の単位ブロックの画素に対するイントラ予測処理を開始する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記第１処理手段は、逆直交変換処理で使用される、第１の単位ブロックにおける行単位の画素データが優先して算出されるように、前記第１の単位ブロックにおける列単位の逆量子化処理を、左右の隣り合うＮ個の画素単位で並列処理を表す並列度Ｎで実行し、
前記第２処理手段は、前記第１の単位ブロックにおける逆量子化処理を終えた行単位の画素データを用いて、前記第１の単位ブロックに対する逆直交変換処理の実行を開始する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項４】
前記第２処理手段は、さらに、
イントラ予測処理で使用される、前記第１の単位ブロックにおける右端の列単位の画素データに対する前記逆直交変換処理を優先して実行する
ことを特徴とする請求項３記載の画像符号化装置。
【請求項５】
前記画像符号化装置は、さらに、
前記第１の単位ブロックにおける列単位の画素データに対する量子化処理を前記並列度Ｎで実行する第３処理手段を備える
ことを特徴とする請求項３記載の画像符号化装置。
【請求項６】
行単位又は列単位の画素データに対して演算が可能な第１処理と第２処理とを含み、予め規定された数の画素から構成される単位ブロック毎に符号化対象ピクチャを符号化する画像符号化方法であって、
前記第２処理において使用される行単位又は列単位の画素データに対する演算を優先して実行する第１処理ステップと、
前記第１処理において前記第２処理の開始に必要な行単位又は列単位の画素データに対する演算が終了次第、前記第２処理を開始する第２処理ステップと
を含むことを特徴とする画像符号化方法。
【請求項７】
行単位又は列単位の画素データに対して演算が可能な第１処理と第２処理とを含み、予め規定された数の画素から構成される単位ブロック毎に符号化対象ピクチャを符号化する画像符号化装置に用いる、コンピュータに実行させるためのプログラムであって、
前記プログラムは、
前記第２処理において使用される行単位又は列単位の画素データに対する演算を優先して実行する第１処理ステップと、
前記第１処理において前記第２処理の開始に必要な行単位又は列単位の画素データに対する演算が終了次第、前記第２処理を開始する第２処理ステップと
を含むプログラム。
【請求項８】
行単位又は列単位の画素データに対して演算が可能な第１処理と第２処理とを含み、予め規定された数の画素から構成される単位ブロック毎に符号化対象ピクチャを符号化する集積回路であって、
前記第２処理において使用される行単位又は列単位の画素データに対する演算を優先して実行する第１処理手段と、
前記第１処理において前記第２処理の開始に必要な行単位又は列単位の画素データに対する演算が終了次第、前記第２処理を開始する第２処理手段と
を備えることを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＰＥＧシリーズおよびＨ．２６４／ＡＶＣ等の規格に準拠した画像符号化技術に関し、特に、イントラ予測を用いる画像符号化処理の効率化技術に関する。
【背景技術】
【０００２】
デジタル画像（デジタル動画像を含む。以下単に「画像」という。）の圧縮技術として、より符号化効率の高いＨ．２６４／ＡＶＣ（ITU-Ｔ Recommendation H.264 and ISO/IEC 14496-10 Advanced Video Coding）が規格化されている。Ｈ．２６４／ＡＶＣ（以下「Ｈ．２６４」と略称する。）に準拠した画像符号化方式および画像復号化方式は、従来のＭＰＥＧ２（ISO/IEC 133818-2）の場合に比べ、２倍近い高符号化効率を実現するが、膨大な演算量を必要とするため、画素数の小さい画角への適用が一般的である。
【０００３】
図６は、Ｈ．２６４に準拠した従来の画像符号化装置４００の機能構成を示すブロック図の一例である。図６に示すように、画像符号化装置４００は、ブロック分割部１０、差分処理部１５ 、直交変換部２０、量子化部３０ 、符号化部１３０、蓄積バッファ１４０ 、逆量子化部４０ 、逆直交変換部５０、加算処理部５５ 、デブロッキングフィルタ６０、フレームメモリ７０および７１ 、動き推定部８０、イントラ推定部９０、モード選択部１００、モードスッチ１０５、イントラ予測部１１０、動き補償部１２０、レート制御部１５０および全体制御部４６０を備える。
【０００４】
一般に、入力画像１１の各ピクチャは、予め規定された数の画素から構成される単位ブロックに分割され、この単位で符号化が行われる。この単位ブロックはマクロブロックと呼ばれ、１６画素×１６ライン（以下「１６×１６画素」という。）から構成される１個の輝度信号（Ｙ信号）ブロックと、それと空間的に対応する８画素×８ライン（以下「８×８画素」という。）の２つの色差信号（Ｃｒ信号およびＣｂ信号）ブロックから構成されている。
【０００５】
ブロック分割部１０は、入力画像１１を受け付けると、各ピクチャをマクロブロックに分割（以下、これを「入力マクロブロック」という。）し、差分処理部１５に出力する。
【０００６】
差分処理部１５は、入力マクロブロックの各画素に対して、イントラ予測部１１０または動き補償部１２０で生成されたマクロブロック（以下、これを「予測マクロブロック」という。）の空間的に対応する各画素との間で差分処理を施し（以下、これを「差分マクロブロック」という。）、差分マクロブロックを直交変換部２０に出力する。
【０００７】
直交変換部２０は、差分処理部１５から取得した差分マクロブロックに対して、直交変換ブロック単位で画素領域表現を周波数領域表現に変換する直交変換処理を行う。なお、この場合の直交変換処理は、２並列又は４並列等のパイプライン処理で行ってもよい。また、直交変換ブロックのサイズは、従来のＭＰＥＧ方式では８×８画素であるが、Ｈ．２６４では４画素×４ライン（以下「４×４画素」という。）又は８×８画素である。
【０００８】
直交変換部２０は、４×４画素の各直交変換ブロックの直流成分のみを集めた直交変換ブロックを信号成分毎に構成し、さらに直交変換を行う。直交変換ブロック内の各変換係数は量子化部３０に出力される。
【０００９】
量子化部３０は、レート制御部１５０から取得した量子化パラメータに従って、各直交変換ブロック内の変換係数を量子化して符号化部１３０に出力する。なお、量子化された変換係数（以下、これを「直交変換係数」という。）は、符号化部１３０に供給されると同時に、逆量子化部４０に供給される。
【００１０】
符号化部１３０は、量子化部３０から量子化された変換係数を受け取り、符号化を行う。Ｈ．２６４に準拠した符号化部１３０は、可変長符号化を用いたＣＡＶＬＣ（Context-based Adaptive Variable Length Coding）あるいはＣＡＢＡＣ（Context-based Adaptive Binary Arithmetic Coding）を用いて符号化を行う。符号化された画像信号は蓄積バッファ１４０に蓄積される。
【００１１】
逆量子化部４０は、レート制御部１５０から取得した量子化パラメータに従って量子化された直交変換係数を逆量子化することで得た変換係数から直交変換ブロックを復元する。
【００１２】
逆直交変換部５０は、復元された直交変換ブロックを用いて差分マクロブロックを復元する。復元された差分マクロブロックは、予測マクロブロックと共に加算処理部５５に入力される。
【００１３】
加算処理部５５は、復元された差分マクロブロックと予測マクロブロックの各画素に対して加算処理を施し、再生マクロブロックを生成する。この再生マクロブロックは、デブロッキングフィルタ６０に送信されると共に、さらに予測処理に用いるため、フレームメモリ７０に蓄積される。
【００１４】
なお、デブロッキングフィルタ６０は、再生マクロブロックから構成される復号画像に含まれるブロック歪の除去を行う。ブロック歪が除去された復号画像はフレームメモリ７１に格納される。
【００１５】
次に、上記予測マクロブロックを生成するための予測方法および予測タイプについて説明する。
【００１６】
予測方法には、大きく分けて２種類あり、それぞれイントラ予測（「画面内予測」ともいう。） 、動き補償予測（「動き補償フレーム間予測」あるいは「インター予測」ともいう。）と呼ばれる。以下では、イントラ予測の概要について説明する。
【００１７】
Ｈ．２６４のイントラ予測は、復号画像のフレーム内の符号化済みの画素を用いて、マクロブロック内の画素を予測する方法であり、２種類の予測タイプがある。２種類の予測タイプは、イントラ予測を行う際のブロックサイズ（４×４画素又は１６×１６画素）によって区別されており、それぞれ、「イントラ４×４予測」、「イントラ１６×１６予測」と呼ばれている。
【００１８】
イントラ予測では、上記４×４画素や１６×１６画素で構成されるブロックの単位で周辺のブロックの画素を利用して予測を行っている。
【００１９】
図７（ａ）は、イントラ４×４予測によって予測される符号化対象画素（画素ａから画素ｐの１６画素）とイントラ予測に用いる符号化済みの隣接画素（ＡからＭの１３画素）の配置を示す図である。ここで、前記符号化対象画素は、ブロック分割部１０から出力された符号化対象のマクロブロック内の画素である。一方、符号化済みの隣接画素は、復号化され復元されたマクロブロックあるいはブロックの画素でフレームメモリ７０から読み出された画素である。
【００２０】
図７（ｂ）〜（ｊ）は、イントラ４×４予測における予測方向を示す図であり、符号化済みの隣接画素の画素値をもとに、予測方向に沿って、Ｈ．２６４で規定された演算式によって対象画素を算出する。ここで、このときの予測方向を予測モード番号（予測モード０から予測モード８）で示し、図７（ｂ）における予測モード０の予測方向は垂直下方、図７（ｃ）における予測モード1の予測方向は水平、図７（ｄ）における予測モード２の予測はＤＣ（平均）、図７（ｅ）における予測モード３の予測方向は斜め左下、図７（ｆ）における予測モード４の予測方向は斜め右下、図７（ｇ）における予測モード５の予測方向は垂直右方、図７（ｈ）における予測モード６の予測方向は水平下方、図７（ｉ）における予測モード７の予測方向は垂直左方、図７（ｊ）における予測モードの予測方向は水平上方をそれぞれ示している。
【００２１】
上記イントラ４×４予測は、輝度信号の予測に適用される。例えば、予測モード０の場合、予測対象画素の４×４画素ブロックの上側に隣接する復号済みの画素データを用いて垂直下方の予測を行い，予測画像を生成する。この予測モード０は，予測対象の画像領域に垂直方向エッジや境界がある場合に有効な予測モードである。モード０以外の予測モードの場合も同様にそれぞれが特定方向のエッジや境界に対して有効な予測モードとなっており、隣接ブロックの復号済みの画素を用いてイントラ予測処理の一部を行う。
【００２２】
このようにイントラ予測においては、周辺のブロックに対する演算結果を用いて予測処理を行うため、周辺のブロックに対する逆直交変換処理が完了していることが必要になる。仮に、周辺ブロックの逆直交変換処理が完了していない場合には、その処理の完了を待って処理することなり、処理の遅延が発生することになる。
【００２３】
図８は、マクロブロックを構成する直交変換ブロックにおけるイントラ予測の順序を説明するための図である。図８に示すように、４×４ブロック単位でイントラ予測を行う場合、「ブロック０」、「ブロック１」、「ブロック２」、・・・「ブロック１５」という順序で処理していくことになる。ここで、ブロック１のイントラ予測を行うためには、ブロック０に対するイントラ予測処理、直交変換処理、量子化処理、逆量子化処理、逆直交変換処理を施してはじめてブロック１の処理に必要な周辺のブロック情報（この場合、ブロック１の上位の各ブロック情報は処理済とする。）が得られることになる。つまり、ブロック０について直交変換処理、量子化処理、逆量子化処理、逆直交変換処理を行っている間は、ブロック１のイントラ予測ができず、処理待ちが発生する。なお、ブロック４の場合は、イントラ予測に必要なブロック１については既に処理が完了しているため、ブロック３の処理の後続けて処理を行うことができる。
【００２４】
このようにイントラ予測においては、処理ブロックによって連続的に処理できる箇所とできない箇所が存在する。そのため、この順序をうまく工夫すれば連続的に処理できる箇所が増え、パイプライン処理が効率的に実行でき、処理時間を短縮することが可能となる。
【００２５】
特許文献１においては、このようにイントラ予測の処理順序を効率的に変えることにより、パイプライン処理の時間を短縮する提案がなされている。
【特許文献１】特開２００４−１４０４７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
ここで、Ｈ．２６４の処理に必要な処理時間と処理量との関係について調べてみる。例えば、ハイビジョン映像（１９２０×１０８８画素）をＨ．２６４により圧縮符号化する場合には、１６×１６画素単位で表されるマクロブロック（以下「ＭＢ」とも記す。）あたりの処理数は、１画面あたり、
（１９２０×１０８８）÷（１６×１６）  ＝  ８，１６０ＭＢ    （１）
となり、フレームレートを毎秒３０フレームとすると、１秒あたり、
８，１６０×３０ｆｐｓ＝２４４，８００ＭＢ／ｓｅｃ            （２）
となる。
【００２７】
これは、仮にＣＰＵの動作周波数を１００ＭＨｚとした場合、１つのマクロブロックの圧縮符号化に費やすことのできるサイクル数は、
１００ＭＨｚ÷２４４，８００＝４０８サイクル                  （３）
となる。
【００２８】
ここで、４×４画素単位で直交変換処理を行う場合の処理サイクルを考えてみると、４画素同時に処理するとして単純に２次元の直交変換処理に要するサイクル数は、水平方向４行、垂直方向４列の演算を必要とし、約４＋４＝８サイクルが必要となる。１マクロブロックでは１６回の直交変換演算を行うことになるので１６×８＝１２８サイクル、さらに逆直交変換処理も含めて考えると直交変換処理については１２８＋１２８＝２５６サイクルを消費することになる。
【００２９】
さらに、量子化処理や逆量子化処理まで考えると、上記の４０８サイクルを超えてしまうことになり、このままでは符号化処理が実現できないということになる。
【００３０】
このように、膨大な処理演算が必要なＨ．２６４によってハイビジョン画像のような大量データの圧縮符号化は、単純に処理するだけでは実現が困難である。そのため、演算アルゴリズムを工夫したり、演算の並列度を高くしたり、周波数を上げたりすることによって処理の効率化を図ることが必要になる。
【００３１】
例えば、図9に示すように、直交変換処理や逆直交変換処理は、行又は列単位（つまり、４画素単位や8画素単位など）の処理が一般的であるが、量子化処理は画素単位の処理であるため、ブロック間にはバッファを設けて処理時間の違いを吸収する必要がある。
【００３２】
図１０（ａ）は、Ｈ２６４における直交変換演算を表す式である。また、図１０（ｂ）は、Ｈ２６４における逆直交変換演算を表す式である。
【００３３】
図１１（ａ）は、直交変換演算における行方向および列方向の行列演算の様子を表す図であり、図１２（ａ）が、この直交変換演算をバタフライ演算により実現する様子を示す図である。
【００３４】
また、図１１（ｂ）は、逆直交変換演算における行方向および列方向の行列演算の様子を表す図であり、図１２（ｂ）が、この逆直交変換演算をバタフライ演算により実現する様子を示す図である。
【００３５】
上記図１１（ａ）、（ｂ）に示されるように、従来のバタフライ演算では、行方向および列方向における計算の順序は、一律昇順（即ち、ｉ＝０．．３、ｊ＝０．．３）である。
【００３６】
上記記特許文献１の中に示されているイントラ予測は、処理の効率化を図る一手法であり、イントラ処理の順序を変えてパイプライン処理の効率化を実現するもので、単純に決められた処理順序ではなく、処理待ち時間を短くする順序でブロックを処理しようというものである。
【００３７】
そのため、上記の方法では、イントラ予測処理のみを最適化してパイプライン処理に要する時間を短縮しようというもので、イントラ予測処理以外の直交変換処理、量子化処理については考慮されていない。
【００３８】
さらに、パイプライン処理の高速化のために、参照する周辺のマクロブロックを一部別のマクロブロック情報で代用したり、参照できないものとして処理するため、画質劣化を伴うものであった。
【００３９】
そこで、本発明は、上記の課題に鑑みてされたものであり、Ｈ．２６４のような符号化方式において、画質劣化をもたらすことなく処理にかかるサイクル数を軽減し、高速に符号化が可能な画像符号化装置等を提供することを目的とする。
【課題を解決するための手段】
【００４０】
上記課題を解決するために、本発明に係る画像符号化装置は、行単位又は列単位の画素データに対して演算が可能な第１処理と第２処理とを含み、予め規定された数の画素から構成される単位ブロック毎に符号化対象ピクチャを符号化する画像符号化装置であって、前記第２処理において使用される行単位又は列単位の画素データに対する演算を優先して実行する第１処理手段と、前記第１処理において前記第２処理の開始に必要な行単位又は列単位の画素データに対する演算が終了次第、前記第２処理を開始する第２処理手段とを備えることを特徴とする。
【００４１】
これにより、Ｈ．２６４のような符号化方式において、画質劣化をもたらすことなく処理にかかるサイクル数を軽減し、高速に符号化が可能な画像符号化装置等を提供することができる。
【００４２】
また、前記第１処理手段は、イントラ予測処理で使用される第１の単位ブロックにおける右端の列単位の画素データに対する、逆直交変換処理における一部の逆直交変換演算を優先して実行し、前記第２処理手段は、前記逆直交変換演算を終えた前記第１の単位ブロックにおける右端の列単位の画素データを用いて、前記第１の単位ブロックの右隣の第２の単位ブロックの画素に対するイントラ予測処理を開始することを特徴とする。
【００４３】
また、前記第１処理手段は、逆直交変換処理で使用される、第１の単位ブロックにおける行単位の画素データが優先して算出されるように、前記第１の単位ブロックにおける列単位の逆量子化処理を、左右の隣り合うＮ個の画素単位で並列処理を表す並列度Ｎで実行し、前記第２処理手段は、前記第１の単位ブロックにおける逆量子化処理を終えた行単位の画素データを用いて、前記第１の単位ブロックに対する逆直交変換処理の実行を開始することを特徴とする。
【００４４】
また、前記第２処理手段は、さらに、イントラ予測処理で使用される、前記第１の単位ブロックにおける右端の列単位の画素データに対する前記逆直交変換処理を優先して実行してもよい。
【００４５】
また、前記画像符号化装置は、さらに、前記第１の単位ブロックにおける列単位の画素データに対する量子化処理を前記並列度Ｎで実行する第３処理手段を備えることとしてもよい。
【００４６】
さらに、本発明は、上記画像符号化装置における特徴的な構成手段をステップとする画像符号化方法として実現したり、それらのステップをパーソナルコンピュータ等に実行させるプログラムとして実現することもできる。そして、そのプログラムをＤＶＤ等の記録媒体やインターネット等の伝送媒体を介して広く流通させることができるのは云うまでもない。
【発明の効果】
【００４７】
以上のように、本発明に係る画像符号化装置は、演算順序を制御することにより、直交変換処理及び量子化処理において、後段の処理ブロック（例えば、イントラ符号化処理）の演算に必要となる最低限のデータを優先的に演算するため、並列演算の高速化が促進され、より効率的に符号化処理を行うことが可能となるという格別な効果を奏する。
【発明を実施するための最良の形態】
【００４８】
以下、本発明に係る画像符号化装置の実施の形態について図面を参照しながら説明する。なお、以下の実施の形態において本発明について図面を用いて説明するが、本発明をこれらに限定することを意図するものではない。
【００４９】
図１は、本実施の形態に係る画像符号化装置２００の機能構成を示すブロック図である。図１に示すように、画像符号化装置２００は、ブロック分割部１０、差分処理部１５ 、直交変換部２０、量子化部２３０ 、符号化部１３０、蓄積バッファ１４０ 、逆量子化部２４０ 、逆直交変換部２５０、加算処理部５５ 、デブロッキングフィルタ６０、フレームメモリ７０および７１ 、動き推定部８０、イントラ推定部９０、モード選択部１００、モードスッチ１０５、イントラ予測部１１０、動き補償部１２０、レート制御部１５０および全体制御部２６０を備える。なお、上記従来技術に係る画像符号化装置４００と同じ機能構成については同じ符番を付し、その説明は省略する。
【００５０】
量子化部２３０は、レート制御部１５０から取得した量子化パラメータに従って、各直交変換ブロック内の変換係数を量子化して符号化部１３０に出力する。なお、上記変換係数の量子化については、全体制御部２６０の指示により、左右の隣り合うＮ個の画素単位で並列処理（具体的には、隣り合う複数の画素単位で２並列又は４並列等のパイプライン処理）を実施する。なお、この場合のＮを「並列度」という。なお、本実施の形態において、量子化処理は、本発明の第３処理の一例であり、量子化部は、本発明の第３処理手段の一例である。
【００５１】
逆量子化部２４０は、レート制御部１５０から取得した量子化パラメータに従って量子化された直交変換係数を逆量子化することで得られた変換係数から直交変換ブロックを復元する。なお、後述するイントラ予測処理やイントラ予測部との関係においては、本実施の形態における逆直交変換処理は本発明の第１処理の一例であり、逆直交変換部は本発明の第１処理手段の一例である。さらに、上記量子化処理や量子化部との関係においては、本実施の形態における逆量子化処理は、本発明の第１処理の一例であり、逆量子化部は、本発明の第１処理手段の一例である。
【００５２】
なお、詳細は後述するが、上記量子化部２３０および逆量子化部２４０では、それぞれの後段の処理内容を考慮した並列処理を実施するため、従来の単純に並列処理を行う場合に比べて処理時間（処理に要するサイクル数）を短縮させることが可能である。
【００５３】
逆直交変換部２５０は、復元された直交変換ブロックを用いて差分マクロブロックを復元する。差分マクロブロックの復元の際、逆直交変換部２５０は、全体制御部２６０の指示により、差分マクロブロックを構成する各４×４ブロックにおいては、それぞれの右隣の４×４ブロックのイントラ予測処理に使用される列単位の画素である、最右端１列の画素の逆直交変換演算を優先して最初に実行する。例えば、４×４ブロックについて列方向の逆直交変換演算を４並列８サイクルで実行する場合は、最右端１列の画素の逆直交変換演算を最初に（後述するように、列方向の逆直交変換部をｊ＝３．．０の順序で）実行することで、従来に比べ、６サイクル短縮させることが可能となる（従来は、最左端１列の画素の逆直交変換演算を最初に（即ち、ｊ＝０．．３の順序で）実行していたため）。なお、イントラ予測処理やイントラ予測部との関係においては、本実施の形態における逆直交変換処理は本発明の第１処理の一例であり、逆直交変換部は本発明の第１処理手段の一例である。さらに、上記逆量子化処理や逆量子化部との関係においては、本実施の形態における逆直交変換処理は本発明の第２処理の一例であり、逆直交変換部は本発明の第２処理手段の一例である。
【００５４】
イントラ予測部１１０は、復号画像のフレーム内の符号化済みの画素を用いて、マクロブロック内の画素の予測を行う。例えば、逆直交変換処理においてイントラ予測処理の開始に必要な行単位の画素データに対する演算が終了次第、当該イントラ予測処理を開始する。なお、本実施の形態において、イントラ予測処理は、本発明の第２処理の一例であり、イントラ予測部は、本発明の第２処理手段の一例である。
【００５５】
全体制御部２６０は、例えばＲＡＭおよび制御プログラムを格納するＲＯＭを備えるマイクロコンピュータであり、画像符号化装置２００全体を制御する。特に、全体制御部２６０は、量子化部２３０および逆量子化部２４０における並列度、並びに逆直交変換部２５０における差分マクロブロックを復元する際の演算順序を決定（具体的には、列方向の演算順序をｊ＝３．．０になるように設定）する。
【００５６】
図２（ａ）〜（ｃ）は、本実施の形態に係る量子化部２３０における量子化処理および逆量子化部２４０における逆量子化処理における、並列度による計算速度の差を説明するための図である。一般に、量子化処理および逆量子化処理は、画素単位の処理であるため、並列処理を行わない場合は１画素処理するのに１サイクル必要とする。一方、８×８画素を２並列で処理する場合は、８×８÷２＝３２サイクル、同様に８×８画素を４並列で処理する場合は、８×８÷４＝１６サイクルそれぞれ必要とする。
【００５７】
図２（ａ）は、８×８画素で構成される直交変換ブロックに対して並列度「１」（即ち、並列処理を行わない）で量子化処理又は逆量子化処理を行う例である。
【００５８】
この場合、量子化処理の処理順序は、画素番号で表すと「００」→「１０」→・・・「７０」→「０１」→・・・「０２」→・・・「０７」→・・・「７７」の順序で処理される。この後、逆量子化処理の場合も上記量子化処理と同じ順序で処理される。なお、逆量子化処理の場合は、画素番号が「０７」まで終えた時点で（即ち、最上段の１行全ての画素（画素番号「００」〜「０７」の８画素）について逆量子化処理が終えた時点で）、次段の処理である逆直交変換処理を開始することができる。つまり、図２（ａ）に示す画素番号「１７」〜「７７」の網掛け部分の７画素については逆量子化処理を終えていなくとも逆直交変換処理を開始することができる。
【００５９】
一方、図２（ｂ）に示すように、並列度「２」（即ち、２画素ずつ並列処理を行う）で逆量子化処理を行う場合は、画素番号が「０６＆０７」まで終えた時点で（最上段の１行全ての画素について逆量子化処理が終えた時点で）、次段の処理である逆直交変換処理を開始することができる。つまり、図２（ｂ）に示す画素番号「１６」〜「７６」および「１７」〜「７７」の網掛け部分の１４画素については逆量子化処理を終えていなくとも逆直交変換処理を開始することができる。
【００６０】
同様に、図２（ｃ）に示すように、並列度「４」（即ち、４画素ずつ並列処理を行う）で逆量子化処理を行う場合は、画素番号が「０４＆０５＆０６＆０７」まで終えた時点で、次段の処理である逆直交変換処理を開始することができる。つまり、図２（ｃ）に示す画素番号「１４」〜「７４」、「１５」〜「７５」、「１６」〜「７６」および「１７」〜「７７」の網掛け部分の２８画素については逆量子化処理を終えていなくとも逆直交変換処理を開始することができる。
【００６１】
なお、上記のような左右に隣り合う画素同士で並列処理を行う場合と、上下に隣り合う画素同士で並列処理を行う場合とを比較すると、「並列度２」の場合では４サイクル、「並列度４」の場合では６サイクルの差が生じる。即ち、本発明に係る左右に隣り合う画素同士で並列処理を行う場合の方が、「並列度２」の場合では４サイクル、「並列度４」の場合では６サイクル早く次段の処理である逆直交変換処理を開始することができる。
【００６２】
以上のように、本実施の形態における量子化処理および逆量子化処理（例えば８×８画素のブロックを対象にした場合）を、並列度２、３２サイクルで実行する場合は、従来の単純に２並列で処理した場合に比べて４サイクルずつ短縮させることが可能となり、同様に、並列度４、１６サイクルで実行する場合も、従来の単純に４並列で処理した場合に比べて６サイクルずつ短縮させることが可能となる。
【００６３】
図３（ａ）、（ｂ）は、本実施の形態に係る逆直交変換部２５０における逆直交変換処理の様子を示す図である。図３（ａ）に示されるように、差分マクロブロックの復元の際、逆直交変換部２５０は、全体制御部２６０の指示により、差分マクロブロックを構成する各４×４画素の直交変換ブロックにおいては、それぞれの右隣の直交変換ブロックのイントラ予測に使用する最右端１列の画素の逆直交変換演算を最初に実行する。
【００６４】
図３（ａ）に示されるように、逆直交変換部２５０における逆直交変換処理における行方向の演算については、上から下（即ち、ｉ＝０．．３）に列単位で演算を行っても、下から上（即ち、ｉ＝３．．０）に行単位で演算を行っても計算速度上の差がない。しかし、逆直交変換処理における列方向の演算については、左から右（即ち、ｊ＝０．．３）に列単位で演算を行った場合と、右から左（即ち、ｊ＝３．．０）に列単位で演算を行った場合とでは、３サイクルの計算速度差が生じる。つまり、図３（ａ）を参照しながら説明すると、逆直交変換処理（直交変換処理も同様。）の場合は、列方向（及び行方向）の４画素分を同時に演算する際、従来は左端から演算するため４列目であるが、本発明では右端から演算するため最初の１列目として演算が終了し、（４−１）＝３サイクルの処理時間の削減が可能となる。したがって、逆直交変換処理における列方向の演算については、右から左（即ち、ｊ＝３．．０）に列単位で演算を行うこととする（図３（ｂ）参照）。
【００６５】
図４は、本実施の形態に係る画像符号化装置２００の動作の流れを示すフローチャートである。
【００６６】
最初に、全体制御部２６０は、逆直交変換部２５０における列方向の演算順序を降順（例えば、ｊ＝３．．０）に設定する。さらに、全体制御部２６０は、量子化部２３０および逆量子化部２４０における並列度を特定する。なお、この並列度については、予め規定しておいてもよいし、ユーザから変更を受け付けることとしてもよい。
【００６７】
この後、全体制御部２６０は、上記の設定後、符号化対象ピクチャの各マクロブロックについて、直交変換処理および量子化処理（Ｓ１０３）、逆量子化処理および（Ｓ１０４）、並びにイントラ予測処理（Ｓ１０５）を実行する（Ｓ１０２〜Ｓ１０６）。なお、上記直交変換処理および量子化処理（Ｓ１０３）を終えたマクロブロックについては、符号化処理を行う（Ｓ１０７）。
【００６８】
図５は、本実施の形態に係る画像符号化装置２００の計算サイクルの概要を示すタイムチャートである。図５には、８×８画素ブロックに対する直交変換処理、量子化処理、逆量子化処理および一部の逆直交変換処理について示している。また、図５では、直交変換処理を２つのプロセッサを用いた並列処理で行っている（ＴＡおよびＴＢ）。同様に、逆直交変換処理についても２つのプロセッサを用いた並列処理を行っている（ＩＴＢおよびＩＴＡ）。さらに、上記直交変換処理および逆直交変換処理は、各行毎（例えば、「ｈ0」で示される１行目は画素番号「００」〜「０７」で構成）および各列毎（例えば、「ｖ0」で示される１列目は画素番号「００」〜「７０」で構成）に２サイクル（例えば、直交変換処理の「ｈ0」については、「サイクル０」と「サイクル１」）で処理を行っている。
【００６９】
一方、図５における量子化処理（Ｑ１およびＱ２）並びに逆量子化処理（ＩＱ１およびＩＱ２）については、それぞれ２つのプロセッサを用いて並列度２で実行している。従って、上記図５の場合は、少なくとも６つのプロセッサを用いていることとなる。
【００７０】
さらに、図５に示されるように、「サイクル３７」の時点で一番上の１行目の逆量子化処理が完了しているため、「サイクル３８」で逆直交変換処理の起動が可能であることも示されている。
【００７１】
以上のように、本発明に係る画像符号化装置によれば、後段の処理に影響する一部の処理を早く完了させるため、符号化処理全体としての計算速度を向上させることが可能となる。
【産業上の利用可能性】
【００７２】
本発明は今後デジタル放送の普及、ハイビジョンムービーの普及に伴い、圧縮方法として採用されると予想されるＨ．２６４／ＡＶＣに関して、簡単な構成で処理効率を高めることが可能となるものであり、今後ますます多くの用途で使用されることになる。
【図面の簡単な説明】
【００７３】
【図１】本発明に係る画像符号化装置２００の機能構成を示すブロック図である。
【図２】（ａ）〜（ｃ）は、本発明における量子化処理および逆量子化処理における、並列度による計算速度の差を説明するための図である。
【図３】（ａ）は、本発明に係る逆直交変換部における逆直交変換処理の順序を示す図である。（ｂ）は、本発明に係る逆直交変換部における逆直交変換処理の行列演算の様子を示す図である。
【図４】本発明に係る画像符号化装置の動作の流れを示すフローチャートである。
【図５】本発明に係る画像符号化装置の計算サイクルの概要を示すタイムチャートである。
【図６】Ｈ．２６４に準拠した従来の画像符号化装置の機能構成を示すブロック図の一例である。
【図７】（ａ）は、イントラ４×４予測によって予測される符号化対象画素とイントラ予測に用いる符号化済みの隣接画素の配置を示す図である。（ｂ）〜（ｊ）は、イントラ４×４予測における各予測モードの予測方向を示す図である。
【図８】マクロブロックを構成する直交変換ブロックにおけるイントラ予測の順序を説明するための図である。
【図９】従来の画像符号化装置における並列処理が可能な機能構成を示すブロック図の一例である。
【図１０】（ａ）は、Ｈ２６４における直交変換演算を表す式である。（ｂ）は、Ｈ２６４における逆直交変換演算を表す式である。
【図１１】（ａ）は、Ｈ２６４における直交変換演算の行列演算を表す式である。（ｂ）は、Ｈ２６４における逆直交変換演算の行列演算を表す式である。
【図１２】（ａ）は、直交変換演算をバタフライ演算により実現する様子を示す図である。（ｂ）は、逆直交変換演算をバタフライ演算により実現する様子を示す図である。
【符号の説明】
【００７４】
１０            ブロック分割部
１１            入力画像
１２            ビットストリーム
１５            差分処理部
２０            直交変換部
３０、２３０    量子化部
４０、２４０    逆量子化部
５０、２５０    逆直交変換部
５５            加算処理部
６０            デブロッキングフィルタ
７０、７１      フレームメモリ
８０            動き推定部
９０            イントラ推定部
１００            モード選択部
１０５            モードスイッチ
１１０            イントラ予測部
１２０            動き補償部
１３０            符号化部
１４０            蓄積バッファ
１５０            レート制御部
２００、４００    画像符号化装置
２６０、４６０    全体制御部
【図１】
2007180862.tif 000003
【図２】
2007180862.tif 000004
【図３】
2007180862.tif 000005
【図４】
2007180862.tif 000006
【図５】
2007180862.tif 000007
【図６】
2007180862.tif 000008
【図７】
2007180862.tif 000009
【図８】
2007180862.tif 000010
【図９】
2007180862.tif 000011
【図１０】
2007180862.tif 000012
【図１１】
2007180862.tif 000013
【図１２】
2007180862.tif 000014