(57)【要約】      （修正有）【課題】パイプライン処理による高速化が可能なイントラ予測処理を実現する画像符号化装置を提供する。【解決手段】入力画像の各ブロックを同一サイズもしくは小さいサイズの処理ユニットに分割し、イントラ予測値算出手段が、参照する処理ユニットとの位置関係や当該処理ユニットの状態によって、再構成画素値保持手段から得られる参照する処理ユニットの再構成画素値および前記イントラ予測値保持手段から得られる参照する処理ユニットのイントラ予測値を切り替えて当該処理ユニットの予測値を算出する。【選択図】図１
2012147292.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を複数のブロックに分割するブロック分割手段と、
各ブロックを同一サイズもしくは小さいサイズの処理ユニットに分割する処理ユニット分割手段と、
それぞれの処理ユニットを単位として当該処理ユニットの周辺の複数または１つの所定の処理ユニットを参照して当該処理ユニットの予測値を算出するイントラ予測値算出手段と、
それぞれの処理ユニットにおいて前記入力画像と前記イントラ予測値算出手段の結果から所定の方法で当該処理ユニットの再構成画素値を算出する再構成画素値算出手段と、
前記再構成画素算出手段の結果を保持する再構成画素値保持手段と、
前記イントラ予測値算出手段による結果を保持するイントラ予測値保持手段を有し、
前記イントラ予測値算出手段が、当該処理ユニットと参照する処理ユニットとの位置関係や当該処理ユニットの状態によって、前記再構成画素値保持手段から得られる参照する処理ユニットの再構成画素値および前記イントラ予測値保持手段から得られる参照する処理ユニットのイントラ予測値を切り替えて当該処理ユニットの予測値を算出することを特徴とする画像符号化装置。
【請求項２】
画像符号化装置における画像符号化方法であって、
入力画像を複数のブロックに分割するブロック分割工程と、
各ブロックを同一サイズもしくは小さいサイズの処理ユニットに分割する処理ユニット分割工程と、
それぞれの処理ユニットを単位として当該処理ユニットの周辺の複数または１つの所定の処理ユニットを参照して当該処理ユニットの予測値を算出するイントラ予測値算出工程と、
それぞれの処理ユニットにおいて前記入力画像と前記イントラ予測値算出工程の結果から所定の方法で当該処理ユニットの再構成画素値を算出する再構成画素値算出工程と、
前記再構成画素値算出工程の結果を保持手段に保持する再構成画素値保持工程と、
前記イントラ予測値算出工程の結果を保持手段に保持するイントラ予測値保持工程を有し、
当該処理ユニットと参照する処理ユニットとの位置関係や当該処理ユニットの状態によって、前記再構成画素値保持工程から得られる参照する処理ユニットの再構成画素値および前記イントラ予測値保持工程から得られる参照する処理ユニットのイントラ予測値を切り替えて当該処理ユニットの予測値を算出することを特徴とする画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関し、特に画像中のフレーム内予測符号化方法に関する。
【背景技術】
【０００２】
通信や記録などの映像アプリケーションの発達に伴い、それに応える形で様々な動画像標準規格がこれまでに開発され、また現在も開発されている。こうした標準規格としては、ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ−Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｓｅｃｔｏｒ）やＩＳＯ／ＩＥＣ（ＩＳＯ：  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｏｒｇａｎｉｚａｔｉｏｎ、  ＩＥＣ：  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）が規格化した、Ｈ．２６１、Ｈ．２６３、ＭＰＥＧ−２  Ｖｉｄｅｏ、ＭＰＥＧ−４  Ｖｉｓｕａｌ、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４と略す）等の方式が知られている。
【０００３】
Ｈ．２６４は２００３年に標準化され、１セグメント地上デジタル放送などで広く使われている。Ｈ．２６４の特徴は、従来の符号化方式に加えて４×４画素単位で整数変換を用い、イントラ予測も複数用意されている点にある。また、ループ・フィルタを用い、前後に複数のフレームの参照を可能にしつつ、動き補償を７種類のサブブロックで行うという特徴がある。また、ＭＰＥＧ−４  Ｖｉｓｕａｌと同様に、１／４画素精度の動き補償を行うことができる。さらに、エントロピー符号化として、ユニバーサル可変長符号化やコンテキスト適応可変長符号化等を用いるという特徴がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＩＳＯ／ＩＥＣ１４４９６−１０：２００４Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ−−Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ−−Ｐａｒｔ１０：Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ
【非特許文献２】ＩＴＵ−Ｔ  Ｈ．２６４  Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述のＨ．２６４のように周辺の符号化済みの再構成画素を用いてイントラ予測を行う符号化方式においては、参照するブロックの予測誤差に対し、直交変換・量子化・逆量子化・逆直交変換の各処理を完了させなければ参照することができない。このため、イントラ予測処理のパイプライン化を行うことが極めて難しいという課題があった。
【０００６】
したがって、本発明は前記課題を考慮して、パイプライン処理による高速化が可能なイントラ予測処理を実現する画像符号化装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上述の問題点を解決するため、本発明の画像符号化装置は以下の構成を有する。すなわち、入力画像を複数のブロックに分割するブロック分割手段と、各ブロックを同一サイズもしくは小さいサイズの処理ユニットに分割する処理ユニット分割手段と、それぞれの処理ユニットを単位として当該処理ユニットの周辺の複数または１つの所定の処理ユニットを参照して当該処理ユニットの予測値を算出するイントラ予測値算出手段と、それぞれの処理ユニットにおいて前記入力画像と前記イントラ予測値算出工程の結果から所定の方法で当該処理ユニットの再構成画素値を算出する再構成画素値算出手段と、前記再構成画素算出工程の結果を保持する再構成画素値保持手段と、前記イントラ予測値算出手段による結果を保持するイントラ予測値保持手段を有し、前記イントラ予測値算出手段が、当該処理ユニットと参照する処理ユニットとの位置関係や当該処理ユニットの状態によって、前記再構成画素値保持手段から得られる参照する処理ユニットの再構成画素値および前記イントラ予測値保持手段から得られる参照する処理ユニットのイントラ予測値を切り替えて当該処理ユニットの予測値を算出することを特徴とする。
【発明の効果】
【０００８】
本発明により、処理のパイプライン化によってイントラ予測の処理を高速化させる効果があり、高速の符号化・復号が可能になる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１〜第７および第１５の実施例としての画像符号化装置の構成を示すブロック図
【図２】本発明の第８〜第１４の実施例としての画像復号装置の構成を示すブロック図
【図３】本発明の第１〜第７の実施例としての画像符号化動作を示すフローチャート
【図４】本発明の第１〜第７の実施例としてのイントラ予測動作を示すフローチャート
【図５】本発明の第１〜第７の実施例としてのイントラ予測動作の別な形態を示すフローチャート
【図６】本発明の第８〜第１４の実施例としての画像復号動作を示すフローチャート
【図７】本発明の第８〜第１４の実施例としての画素再構成動作を示すフローチャート
【図８】本発明の第８〜第１４の実施例としての画素再構成動作の派生形を示すフローチャート
【図９】本発明の第１の実施例としてのイントラ予測に用いられる参照方法の状態の一例を表す図
【図１０】従来の画像符号化装置において、イントラ予測に用いられる参照画素の決定方法を示したフローチャート
【図１１】本発明の第１、８の実施例において、イントラ予測に用いられる参照画素の決定方法を示したフローチャート
【図１２】本発明の第２、９の実施例において、イントラ予測に用いられる参照画素の決定方法を示したフローチャート
【図１３】本発明の第３、１０の実施例において、イントラ予測に用いられる参照画素の決定方法を示したフローチャート
【図１４】本発明の第４、１１の実施例において、イントラ予測に用いられる参照画素の決定方法を示したフローチャート
【図１５】本発明の第５、１２の実施例において、イントラ予測に用いられる参照画素の決定方法を示したフローチャート
【図１６】本発明の第６、１３の実施例において、イントラ予測に用いられる参照画素の決定方法を示したフローチャート
【図１７】本発明の第７、１４の実施例において、イントラ予測に用いられる参照画素の決定方法を示したフローチャート
【図１８】本発明の第１６の実施に係る画像符号化・復号装置の構成を示すブロック図
【図１９】本発明の適用前後でのイントラ予測の処理順序の一例を表す図
【図２０】本発明の第１５の実施例としてのイントラ予測動作を示すフローチャート
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本願発明をその好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
＜実施例１＞
以下、本発明の第１の実施例を、図面を用いて説明する。図１は本発明を適用した画像符号化装置を示すブロック図である。図１において、１は入力画像を複数のブロックに分割するブロック分割部である。２は各ブロックをブロックと同一サイズもしくはブロックよりも小さいサイズの処理ユニットに分割する処理ユニット分割部である。３４は各処理ユニットにおいて、イントラ予測モードを決定し、そのイントラ予測モードを用いてイントラ予測値を算出するイントラ予測部である。２１はそのイントラ予測値を保持しておくイントラ予測値保持部である。５はイントラ予測値と処理ユニット単位の入力画素の差分を算出し、その差分を係数データとして変換・量子化し、量子化係数を算出する変換・量子化部である。６はその量子化係数を逆量子化・逆変換し、それをイントラ予測値に加算することにより再構成画素値を算出する再構成画素値算出部である。７はその再構成画素値を保持しておく再構成画素値保持部である。８は量子化係数をエントロピー符号化するエントロピー符号化部である。
【００１２】
上記のように構成された画像符号化装置における画像の符号化動作を以下で説明する。本実施例では、動画像データをフレーム単位に入力する構成となっているが、１フレーム分の静止画像データを入力する構成としても構わない。また、説明を容易にするため、イントラ予測の処理のみを説明するが、これに限定されずインター予測処理と混合して用いても構わない。
【００１３】
入力された１フレーム分の画像データはブロック分割部１に入力され、ブロック単位に分割され、処理ユニット分割部２に出力される。処理ユニット分割部２では、ブロック単位に分割された画像データはブロックと同一もしくは小さい大きさの処理ユニットに分割される。処理ユニット単位に分割された画像データは後述のイントラ予測部３４および変換・量子化部５に入力される。
【００１４】
イントラ予測部３４では、入力された処理ユニット単位に分割された画像データに対して最適なイントラモードを決定する。そして決定されたイントラ予測モードを用いて、周辺の処理ユニットの予測値を後述のイントラ予測値保持部２１から入力し、周辺の処理ユニットの再構成画素値を後述の再構成画素値保持部７から入力し、イントラ予測値を算出する。算出されたイントラ予測値は後述のイントラ予測値保持部２１、再構成画素値算出部６および変換・量子化部５に出力される。
【００１５】
イントラ予測値保持部２１では、そのイントラ予測値の情報が保持される。保持されたイントラ予測値は、対象となるイントラ予測値がイントラ予測値算出部のイントラ予測値の算出過程によって参照された場合、イントラ予測部３４に出力され、イントラ予測値の算出に用いられる。
【００１６】
一方、変換・量子化部５では、イントラ予測部３４からはイントラ予測値が入力され、処理ユニット分割部２からは処理ユニット単位の入力画像データが入力され、それらの差分を求める。その差分を変換・量子化し、量子化係数を算出する。算出された量子化係数は再構成画素値算出部６およびエントロピー符号化部８に出力される。
【００１７】
再構成画素値算出部６では、その量子化係数を逆量子化、逆変換した後、イントラ予測部３４の出力であるイントラ予測値を加算し、再構成画素値を算出する。算出された再構成画素値は再構成画素値保持部７に出力される。
【００１８】
再構成画素値保持部７では、その再構成画素値の情報が保持される。保持された再構成画素値は、対象となる再構成画素値はイントラ予測部３４に出力され、イントラ予測値の算出過程で必要に応じて参照される。
【００１９】
エントロピー符号化部８では、量子化係数をエントロピー符号化した後、ビットストリームとして出力する。
【００２０】
以上、符号化の処理の簡単な流れを、図面を用いて説明する。図３は、第１実施例に係る画像符号化装置における画像符号化処理を示すフローチャートである。
【００２１】
まず、ステップ１００１にて、フレーム単位の入力画像をブロック単位に分割する。それぞれのブロックはステップ１００２にて、ブロックと同一もしくは小さい大きさの処理ユニットに分割される。ステップ１００４にて、符号化する処理ユニットのイントラ予測モードを決定し、そして符号化する処理ユニットの予測値を計算し、さらに入力画像との差分を求め、差分の変換・量子化を行う。ステップ１００５にて、量子化された係数をエントロピー符号化する。ステップ１００６では、ブロック内の全ての処理ユニットの符号化が終了したか否かの判定を行い、終了していればステップ１００７に進み、終了していなければ次の処理ユニットを対象としてステップ１００２に戻る。ステップ１００７では、フレーム内の全てのブロックの符号化が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを対象としてステップ１００１に戻る。
【００２２】
ステップ１００４の予測・変換・量子化処理について、図面を用いてさらに具体的に説明する。図４はステップ１００４の第１実施例における詳細な処理を示すフローチャートである。
【００２３】
まず、ステップ２０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第１実施例では図１１に示される方法により、左方参照画素を算出する。ステップ４２１にて、左方処理ユニットの予測値から参照画素を算出する。すなわち、第１実施例では参照処理ユニットの予測値のみから参照画素を算出する。
【００２４】
次に、ステップ２０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第１実施例ではステップ２０１と同様に図１１に示される方法により、上方参照画素を算出する。ステップ２０１と同様に、ステップ４２１にて、上方処理ユニットの予測値から参照画素を算出する。すなわち、第１実施例では、上方参照画素も左方参照画素も参照処理ユニットの予測値のみから参照画素を算出する。図９を用いて説明すれば、例えば符号化する処理ユニットがＴであった場合、第１実施例では、左方の処理ユニットＳおよび上方の処理ユニットＬの予測値を用いて、処理ユニットＴの予測値の算出に用いられる参照画素とする。
【００２５】
ステップ２０４にて、算出された参照画素を用いて各イントラ予測モードの予測値を算出する。ステップ２０８にて、各予測値を比較して符号化に最適なイントラ予測モードを決定する。ステップ２２６にて、決定したイントラ予測モードの予測値を将来の処理ユニットからの参照に備えて蓄積する。ステップ２０５にて、入力画素と算出された予測値との差分求め、これを変換・量子化し、量子化係数を算出する。ステップ２０６にて、算出された量子化係数を逆量子化・逆変換し残差係数を算出する。最後にステップ２０７にて、算出された残差係数に予測値を加算し、再構成画素値を算出し、それを将来の処理ユニットからの参照に備えて蓄積した後、処理を終了する。
【００２６】
図１９（ａ）は従来の符号化方式、例えばＨ．２６４でのイントラ予測の処理順序の一例を示したものである。従来の方式では、符号化する処理ユニット（ｎ＋１）の予測値は参照処理ユニット（ｎ）の再構成画素のみを用いて算出される。そのため、特に左右で隣り合った処理ユニットが連続して処理される場合には、次の処理ユニット（ｎ＋１）の予測値の算出には前の処理ユニットの再構成画素の算出を待つ必要があった。これに対する、本発明でのイントラ予測の処理順序の一例が図１９（ｂ）で示されている。この例では、符号化する処理ユニット（ｎ＋１）の予測値の算出に参照処理ユニット（ｎ）の予測値を用いて算出する場合を想定している。これにより、前の処理ユニット（ｎ）の再構成画素算出を待たずに符号化する処理ユニット（ｎ＋１）を算出することができ、処理のパイプライン化による高速化が可能となる。
【００２７】
なお、本実施例において、イントラ予測に用いる参照画素の算出には図４で示したように、左方と上方の処理ユニットを参照する形式をとっているがこれに限定されず、図５で示されたように、左上の処理ユニットを用いて参照画素の算出を行ってももちろん構わない。（例えば図９で符号化する処理ユニットがＴである場合のＫ）同様に、右上の処理ユニットや左下の処理ユニットを用いて参照画素の算出を行っても構わない。（例えば図９で符号化する処理ユニットがＬである場合のＥやＳ）
【００２８】
本実施例においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測を使用できるフレームにおいても対応できることは明らかである。
【００２９】
また、本実施例の各部または全部の機能をソフトウェアで記述し、ＣＰＵ等の演算装置によって処理をさせてももちろん構わない。
【００３０】
さらには、符号化データ内にブロックの符号化前にフレームやスライスといった単位で当該手法を用いるか否かを表すサイド情報を用いることにより、従来の手法と提案手法を切り替える構成をとることによって、細かい制御を行うことも可能になる。例えば、高速性が要求される場合には当該手法を用いるが、高速性よりも従来方法との互換を重視する場合は当該手法を用いないことができるようになる。
【００３１】
＜実施例２＞
本発明の第２の実施例は画像符号化装置の構成（図１）、画像符号化装置のフローチャート（図３）は第１実施例と同様であるため、説明を省略する。
【００３２】
図４は図３のステップ１００４の第２実施例における詳細な処理を示すフローチャートである。図４自体は第１実施例と同様であるが、ステップ２０１およびステップ２０２の内容が第１実施例と異なっているため、この部分についてのみ説明する。
【００３３】
ステップ２０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第２実施例では、図１２に示される方法により、左方参照画素を算出する。まず、ステップ４３１にて、左方参照処理ユニットが符号化する処理ユニットの直前に予測処理が行われた処理ユニットか否かの判定が行われる。左方参照処理ユニットが符号化する処理ユニットの直前に予測処理が行われた処理ユニットであった場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【００３４】
図４に戻り、次にステップ２０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第２実施例では、図１２に示される方法により、上方参照画素を算出する。まず、ステップ４３１にて、上方参照処理ユニットが符号化する処理ユニットの直前に予測処理が行われた処理ユニットか否かの判定が行われる。上方参照処理ユニットが符号化する処理ユニットの直前に予測処理が行われた処理ユニットであった場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【００３５】
図９を用いて説明すると、例えば符号化する処理ユニットがＴであり、処理ユニットＴが属するブロック内で、処理ユニットＫ、Ｌ、Ｓ、Ｔの順に予測処理が行われているとする。左方の参照画素の算出について、第２実施例では、左方の処理ユニットＳはＴの直前に予測処理が行われた処理ユニットであるため、処理ユニットＳの予測値を用いて左方参照画素とする。一方、上方の参照画素の算出については、第２実施例では、上方の処理ユニットＬはＴの直前に予測処理が行われた処理ユニットではないため、処理ユニットＬの再構成画素値を用いて上方参照画素とする。
【００３６】
ステップ２０４、２０８、２２６、２０５、２０６、２０７の処理は第１実施例と同様であるため、説明を省略する。
【００３７】
本発明は、イントラ予測に用いられる参照画素の算出にあたり、条件によって参照処理ユニットの予測値および再構成画素を切り替えて用いることを特徴としている。この場合、予測値の使用割合が高くなるほど予測精度が低くなってしまい、最終的には符号化効率も低下してしまう。そのため、第２実施例では、予測値を用いる対象を直前の処理ユニットに制限することにより、符号化効率の低下の影響を抑えつつ、処理ユニットレベルでの処理のパイプライン化による高速化を実現している。
【００３８】
なお、第１実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【００３９】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第１実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【００４０】
＜実施例３＞
本発明の第３の実施例は画像符号化装置の構成（図１）、画像符号化装置のフローチャート（図３）は第１実施例と同様であるため、説明を省略する。
【００４１】
図４は図３のステップ１００４の第３実施例における詳細な処理を示すフローチャートである。図４自体も第１実施例と同様であるが、ステップ２０１およびステップ２０２の内容が第１実施例と異なっているため、この部分についてのみ説明する。
【００４２】
ステップ２０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第３実施例では、図１３に示される方法により、左方参照画素を算出する。まず、ステップ４４１にて、左方参照処理ユニットが符号化する処理ユニットと同一のブロックに属するか否かの判定が行われる。左方参照処理ユニットが符号化する処理ユニットと同一のブロックに属する場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【００４３】
次にステップ２０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第３実施例では、図１３に示される方法により、上方参照画素を算出する。まず、ステップ４４１にて、上方参照処理ユニットが符号化する処理ユニットと同一のブロックに属するか否かの判定が行われる。上方参照処理ユニットが符号化する処理ユニットと同一のブロックに属している場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【００４４】
図９を用いて説明すると、例えば符号化する処理ユニットがＳであるとする。左方の参照画素の算出については、第３実施例では、左方の処理ユニットＲは処理ユニットＳが属しているブロックとは異なるブロックに属しているため、処理ユニットＲの再構成画素を用いて左方参照画素とする。一方、上方の参照画素の算出については、第３実施例では、上方の処理ユニットＫは処理ユニットＳと同一のブロックに属しているため、処理ユニットＫの予測値を用いて上方参照画素とする。
【００４５】
ステップ２０４、２０８、２２６、２０５、２０６、２０７の処理は第１実施例と同様であるため、説明を省略する。
【００４６】
第３実施例では、予測値を用いる対象を同一のブロックに属している処理ユニットに制限することにより、符号化効率の低下の影響を抑えつつ、ブロック内の処理ユニットレベルでの処理のパイプライン化による高速化を実現している。
【００４７】
なお、第１実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【００４８】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第１実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【００４９】
＜実施例４＞
本発明の第４の実施例は画像符号化装置の構成（図１）、画像符号化装置のフローチャート（図３）は第１実施例と同様であるため、説明を省略する。
【００５０】
図４は図３のステップ１００４の第４実施例における詳細な処理を示すフローチャートである。図４自体も第１実施例と同様であるが、ステップ２０１およびステップ２０２の内容が第１実施例と異なっているため、この部分についてのみ説明する。
【００５１】
ステップ２０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第４実施例では、図１４に示される方法により、左方参照画素を算出する。まず、ステップ４５１にて、左方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックと同一かあるいは直前に予測処理を行ったブロックであるか否かの判定が行われる。左方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックと同一か直前に予測処理を行ったブロックである場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【００５２】
次にステップ２０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第４実施例では、図１４に示される方法により、上方参照画素を算出する。まず、ステップ４５１にて、上方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックと同一かあるいは直前に予測処理を行ったブロックであるか否かの判定が行われる。上方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックと同一か直前に予測処理を行ったブロックである場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【００５３】
図９を用いて説明すると、例えば符号化する処理ユニットがＫであるとする。左方の参照画素の算出については、第４実施例では、左方の処理ユニットＪは処理ユニットＫが属しているブロックの直前に予測処理を行ったブロックに属しているため、処理ユニットＪの予測値を用いて左方参照画素とする。一方、上方の参照画素の算出については、第４実施例では、上方の処理ユニットＣが属するブロックは、処理ユニットＫの属するブロックとは同一でなく、直前に予測処理されたブロックでもないため、処理ユニットＣの再構成画素を用いて上方参照画素とする。
【００５４】
ステップ２０４、２０８、２２６、２０５、２０６、２０７の処理は第１実施例と同様であるため、説明を省略する。
【００５５】
第４実施例では、予測値を用いる対象を同一もしくは直前に予測されたブロックに属している処理ユニットに制限することにより、符号化効率の低下の影響を抑えつつ、ブロックレベルでの処理のパイプライン化による高速化を実現している。
【００５６】
なお、第１実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【００５７】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第１実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【００５８】
＜実施例５＞
本発明の第５の実施例は画像符号化装置の構成（図１）、画像符号化装置のフローチャート（図３）は第１実施例と同様であるため、説明を省略する。
【００５９】
図４は図３のステップ１００４の第５実施例における詳細な処理を示すフローチャートである。図４自体も第１実施例と同様であるが、ステップ２０１およびステップ２０２の内容が第１実施例と異なっているため、この部分についてのみ説明する。
【００６０】
ステップ２０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第５実施例では、図１５に示される方法により、左方参照画素を算出する。まず、ステップ４６１にて、左方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックと垂直位置が同一か否かの判定が行われる。左方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックと垂直位置が同一である場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【００６１】
次にステップ２０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第５実施例では、図１５に示される方法により、上方参照画素を算出する。まず、ステップ４６１にて、上方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックと垂直位置が同一であるか否かの判定が行われる。上方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックと垂直位置が同一である場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【００６２】
図９を用いて説明すると、例えば符号化する処理ユニットがＭであるとする。左方の参照画素の算出については、第５実施例では、左方の処理ユニットＬは処理ユニットＭが属しているブロックと同一の垂直位置を持ったブロックに属しているため、処理ユニットＬの予測値を用いて左方参照画素とする。一方、上方の参照画素の算出については、第５実施例では、上方の処理ユニットＥが属するブロックは、処理ユニットＭの属するブロックとは垂直位置が異なるブロックであるため、処理ユニットＥの再構成画素を用いて上方参照画素とする。
【００６３】
ステップ２０４、２０８、２２６、２０５、２０６、２０７の処理は第１実施例と同様であるため、説明を省略する。
【００６４】
第５実施例では、予測値を用いる対象を同一の垂直位置のブロックに属している処理ユニットに制限することにより、符号化効率の低下の影響を抑えつつ、水平方向の１ブロックライン単位での処理のパイプライン化による高速化を実現している。
【００６５】
なお、第１実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【００６６】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第１実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【００６７】
＜実施例６＞
本発明の第６の実施例は画像符号化装置の構成（図１）、画像符号化装置のフローチャート（図３）は第１実施例と同様であるため、説明を省略する。
【００６８】
図４は図３のステップ１００４の第６実施例における詳細な処理を示すフローチャートである。図４自体も第１実施例と同様であるが、ステップ２０１およびステップ２０２の内容が第１実施例と異なっているため、この部分についてのみ説明する。
【００６９】
ステップ２０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第６実施例では、図１６に示される方法により、左方参照画素を算出する。まず、ステップ４７１にて、左方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックの所定数分のブロック前までに含まれるか否かの判定が行われる。左方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックの所定数分のブロック前までに含まれる場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【００７０】
次にステップ２０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第６実施例では、図１６に示される方法により、上方参照画素を算出する。まず、ステップ４７１にて、上方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックの所定数分のブロック前までに含まれるか否かの判定が行われる。上方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックの所定数分のブロック前までに含まれる場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【００７１】
図９を用いて説明すると、例えば符号化する処理ユニットがＯであるとし、前記所定数分のブロックを５ブロックであるとする。左方の参照画素の算出については、第６実施例では、左方の処理ユニットＮは、処理ユニットＭが属するブロックの１つ前のブロックに属しているおり、その値は所定数である５よりも小さいため、処理ユニットＮの予測値を用いて左方参照画素とする。一方、上方の参照画素の算出については、第６実施例では、上方の処理ユニットＧは、処理ユニットＯが属するブロックの４つ前のブロックに属しており、その値は所定数である５よりも小さいため、処理ユニットＧの予測値を用いて上方参照画素とする。
【００７２】
ステップ２０４、２０８、２２６、２０５、２０６、２０７の処理は第１実施例と同様であるため、説明を省略する。
【００７３】
第６実施例では、予測値を用いる対象を所定数前までのブロックに属している処理ユニットに制限することにより、符号化効率の低下の影響を抑えつつ、複数のブロック単位での処理のパイプライン化による高速化を実現している。
【００７４】
なお、第１実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【００７５】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第１実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【００７６】
＜実施例７＞
本発明の第７の実施例は画像符号化装置の構成（図１）、画像符号化装置のフローチャート（図３）は第１実施例と同様であるため、説明を省略する。
【００７７】
図４は図３のステップ１００４の第７実施例における詳細な処理を示すフローチャートである。図４自体も第１実施例と同様であるが、ステップ２０１およびステップ２０２の内容が第１実施例と異なっているため、この部分についてのみ説明する。
【００７８】
ステップ２０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第７実施例では、図１７に示される方法により、左方参照画素を算出する。まず、ステップ４８１にて、符号化する処理ユニットの大きさが所定の処理ユニットの大きさよりも小さいか否かの判定が行われる。符号化する処理ユニットの大きさが所定の処理ユニットの大きさよりも小さい場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【００７９】
次にステップ２０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第７実施例では、図１７に示される方法により、上方参照画素を算出する。まず、ステップ４８１にて、符号化する処理ユニットの大きさが所定の処理ユニットの大きさよりも小さいか否かの判定が行われる。符号化する処理ユニットの大きさが所定の処理ユニットの大きさよりも小さい場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【００８０】
ステップ２０４、２０８、２２６、２０５、２０６、２０７の処理は第１実施例と同様であるため、説明を省略する。
【００８１】
第７実施例では、予測値を用いる対象を符号化する処理ユニットの大きさに依存させることにより、符号化効率の低下の影響を抑えつつ、符号化する処理ユニットの大きさによって異なった処理のパイプライン化を可能にすることによる高速化を実現している。
【００８２】
なお、第１実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【００８３】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第１実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【００８４】
本実施例の所定の処理ユニットの大きさは固定値でも構わないし、サイド情報として符号化データ内に多重化させる方法をとっても構わない。また、所定の処理ユニットの大きさをブロックの大きさと依存関係を持たせても構わない。一例としては、処理ユニットの大きさがブロックの大きさの半分以下の場合には、参照処理ユニットの予測値を用いて参照画素を算出し、それ以外の場合には参照処理ユニットの再構成画素を用いて参照画素を算出するようなケースが想定される。
【００８５】
＜実施例８＞
図２は、本発明の第８の実施に係る画像復号装置の構成を示すブロック図である。本実施例では、第１実施例で生成された符号化データの復号を例にとって説明する。
【００８６】
図２において、１０１は符号データを入力する符号データ入力部である。１０２は符号データから処理ユニットの構成やイントラ予測モードなどの情報を復号するヘッダ情報復号部である。１０３は処理ユニット単位で量子化係数を復号するエントロピー復号部である。１０４はエントロピー復号部１０３で得られた量子化係数を逆量子化・逆直交変換し、それを後述のイントラ予測値算出部１３６で算出されるイントラ予測値に加算して再構成画素値を算出する再構成画素値復号部である。１０５はその再構成画素値を保持しておく再構成画素値保持部である。１３６はヘッダ情報復号部１０２で復号したイントラ予測モードを用いてイントラ予測値を算出するイントラ予測値算出部である。１２１はそのイントラ予測値を保持しておくイントラ予測値保持部である。
【００８７】
上記のように構成された画像復号装置における画像の復号動作を以下で説明する。符号データ入力部１０１は１フレーム分の符号化データを入力し、ブロック単位の符号化データをヘッダ情報復号部１０２に出力する。ヘッダ情報復号部１０２は上記ブロック単位の符号化データを入力し、処理ユニットの構成やイントラ予測モードなどの情報を復号する。そのイントラ予測モード情報はイントラ予測値算出部１３６に出力される。また、ブロック単位の符号化データから量子化係数にあたる部分を抽出し、エントロピー復号部１０３に出力する。エントロピー復号部１０３は、その抽出された符号化データから量子化係数を復号し、再構成画素値復号部１０４に出力する。再構成画素値復号部１０４はその入力された量子化係数を逆量子化・逆変換して残差係数を算出し、それに後述のイントラ予測値算出部１３６から入力される予測値を加算し、再構成画素値を算出する。算出された再構成画素値は再構成画素値保持部１０５に出力される。再構成画素値保持部１０５は、その再構成画素値を保持し、必要に応じてイントラ予測値算出部１３６に出力する。また、外部に復号画像の一部として出力する。イントラ予測値算出部１３６は、適宜イントラ予測値保持部１２１に保持された周囲の予測値と再構成画素値保持部１０５に保持された周囲の画素値からヘッダ情報復号部１０２の出力であるイントラ予測モードを用いて予測値を算出する。算出された予測値は再構成画素値復号部１０４およびイントラ予測値保持部１２１に出力される。イントラ予測値保持部１２１は予測値を保持し、必要に応じてイントラ予測値算出部１３６に出力する。
【００８８】
以上、復号の処理の簡単な流れを、図面を用いて説明する。図６は、第８実施例に係る画像復号装置における画像復号処理を示すフローチャートである。
【００８９】
まず、ステップ１１０１にて、入力符号化データからブロック単位の情報を復号する。ステップ１１０２にて、各ブロック内に存在する予測の単位である各処理ユニットのイントラ予測モードを復号する。ステップ１１０３にて、処理ユニット単位の情報や係数をエントロピー復号する。ステップ１１０４にて、復号された予測誤差の逆量子化・逆変換を行い、係数値を算出する。ステップ１１０５にて、ステップ１１０２の結果から予測値を算出し、それとステップ１１０４の結果である係数値を足し合わせて再構成画素を算出する。ステップ１１０６にて、ブロック内の全ての処理ユニットの復号が終了したか否かを判定する。終了していればステップ１１０７に進む。そうでなれば処理の対象をブロック内の次の処理ユニットに移し、ステップ１１０２に戻る。ステップ１１０７ではフレーム内の全てのブロックの復号が終了したか否かを判定し、終了していれば全ての動作を停止して処理を終了する。そうでなければ処理の対象をフレーム内の次のブロックに移し、ステップ１１０１に戻る。
【００９０】
上記のフローチャートのうち、ステップ１１０５の処理について、図面を用いてさらに具体的に説明する。図７はステップ１１０５の第８実施例における再構成画素を算出処理の詳細を示すフローチャートである。
【００９１】
まず、ステップ３０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第８実施例では図１１に示される方法により、左方参照画素を算出する。ステップ４２１にて、左方処理ユニットの予測値から参照画素を算出する。
【００９２】
次に、ステップ３０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第８実施例ではステップ３０１と同様、図１１に示される方法により、上方参照画素を算出する。
【００９３】
図９を用いて説明すれば、例えば符号化する処理ユニットがＴであった場合、第８実施例では、左方の処理ユニットＳおよび上方の処理ユニットＬの予測値を用いて、処理ユニットＴの予測値の算出に用いられる参照画素とする。
【００９４】
ステップ３０４にて、算出された参照画素を用いて予測値を算出する。ステップ３２６にて、算出された予測値を将来の処理ユニットからの参照に備えて蓄積する。ステップ３０５にて、図６のステップ１１０４で算出された逆変換係数を取得し、それを予測値に加算して、再構成画素値を算出する。ステップ３０６にて算出された再構成画素値を将来の処理ユニットからの参照に備えて蓄積した後、処理を終了する。
【００９５】
以上の構成と動作により、第１実施例で処理のパイプライン化により高速化された符号化方法を用いて生成された符号化データを復号することができる。
【００９６】
なお、本実施例において、イントラ予測に用いる参照画素の算出には図７で示したように、左方と上方の処理ユニットを参照する形式をとっているがこれに限定されず、図８で示されたように、左上の処理ユニットを用いて参照画素の算出を行ってももちろん構わない。（例えば図９で符号化する処理ユニットがＴである場合のＫ）同様に、右上の処理ユニットや左下の処理ユニットを用いて参照画素の算出を行っても構わない。（例えば図９で符号化する処理ユニットがＬである場合のＥやＳ）
なお、本実施例においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測も使用できるフレームにおいても対応できることは明らかである。
【００９７】
また、本実施例の各部または全部の機能をソフトウェアで記述し、ＣＰＵ等の演算装置によって処理をさせてももちろん構わない。
【００９８】
さらには、符号化データ内にブロックの符号化前にフレームやスライスといった単位で当該手法を用いるか否かを表すサイド情報を用いられている符号を用いることができる。これにより、従来の手法と提案手法を切り替える構成をとることによって、細かい制御を行うことも可能になる。例えば、高速性が要求される場合には当該手法を用いるが、高速性よりも従来方法との互換を重視する場合は当該手法を用いないことができるようになる。
【００９９】
＜実施例９＞
本発明の第９の実施例は画像符号化装置の構成（図２）、画像符号化装置のフローチャート（図６）は第８実施例と同様であるため、説明を省略する。本実施例では、第２実施例で生成された符号化データの復号を例にとって説明する。
【０１００】
図７は図６のステップ１１０５の第９実施例における詳細な処理を示すフローチャートである。図７自体は第８実施例と同様であるが、ステップ３０１およびステップ３０２の内容が第８実施例と異なっているため、この部分についてのみ説明する。
【０１０１】
ステップ３０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第９実施例では、図１２に示される方法により、左方参照画素を算出する。まず、ステップ４３１にて、左方参照処理ユニットが符号化する処理ユニットの直前に予測処理が行われた処理ユニットか否かの判定が行われる。左方参照処理ユニットが符号化する処理ユニットの直前に予測処理が行われた処理ユニットであった場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【０１０２】
次にステップ３０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第９実施例では、図１２に示される方法により、上方参照画素を算出する。まず、ステップ４３１にて、上方参照処理ユニットが符号化する処理ユニットの直前に予測処理が行われた処理ユニットか否かの判定が行われる。上方参照処理ユニットが符号化する処理ユニットの直前に予測処理が行われた処理ユニットであった場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【０１０３】
図９を用いて説明すると、例えば符号化する処理ユニットがＴであり、処理ユニットＴが属するブロック内で、処理ユニットＫ、Ｌ、Ｓ、Ｔの順に予測処理が行われているとする。左方の参照画素の算出について、第９実施例では、左方の処理ユニットＳはＴの直前に予測処理が行われた処理ユニットであるため、処理ユニットＳの予測値を用いて左方参照画素とする。一方、上方の参照画素の算出については、第９実施例では、上方の処理ユニットＬはＴの直前に予測処理が行われた処理ユニットではないため、処理ユニットＬの再構成画素値を用いて上方参照画素とする。
【０１０４】
ステップ３０４、３２６、３０５、３０６の処理は第８実施例と同様であるため、説明を省略する。
【０１０５】
以上の構成と動作により、第２実施例で処理のパイプライン化により高速化された符号化方法を用いて生成された符号化データを復号することができる。
【０１０６】
なお、第８実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【０１０７】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第８実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【０１０８】
＜実施例１０＞
本発明の第１０の実施例は画像符号化装置の構成（図２）、画像符号化装置のフローチャート（図６）は第８実施例と同様であるため、説明を省略する。本実施例では、第３実施例で生成された符号化データの復号を例にとって説明する。
【０１０９】
図７は図６のステップ１１０５の第１０実施例における詳細な処理を示すフローチャートである。図７自体は第８実施例と同様であるが、ステップ３０１およびステップ３０２の内容が第８実施例と異なっているため、この部分についてのみ説明する。
【０１１０】
ステップ３０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第１０実施例では、図１３に示される方法により、左方参照画素を算出する。まず、ステップ４４１にて、左方参照処理ユニットが符号化する処理ユニットと同一のブロックに属するか否かの判定が行われる。左方参照処理ユニットが符号化する処理ユニットと同一のブロックに属する場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【０１１１】
次にステップ３０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第１０実施例では、図１３に示される方法により、上方参照画素を算出する。まず、ステップ４４１にて、上方参照処理ユニットが符号化する処理ユニットと同一のブロックに属するか否かの判定が行われる。上方参照処理ユニットが符号化する処理ユニットと同一のブロックに属している場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【０１１２】
図９を用いて説明すると、例えば符号化する処理ユニットがＳであるとする。左方の参照画素の算出については、第１０実施例では、左方の処理ユニットＲは処理ユニットＳが属しているブロックとは異なるブロックに属しているため、処理ユニットＲの再構成画素を用いて左方参照画素とする。一方、上方の参照画素の算出については、第１０実施例では、上方の処理ユニットＫは処理ユニットＳと同一のブロックに属しているため、処理ユニットＫの予測値を用いて上方参照画素とする。
【０１１３】
ステップ３０４、３２６、３０５、３０６の処理は第８実施例と同様であるため、説明を省略する。
【０１１４】
以上の構成と動作により、第３実施例で処理のパイプライン化により高速化された符号化方法を用いて生成された符号化データを復号することができる。
【０１１５】
なお、第８実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【０１１６】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第８実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【０１１７】
＜実施例１１＞
本発明の第１１の実施例は画像符号化装置の構成（図２）、画像符号化装置のフローチャート（図６）は第８実施例と同様であるため、説明を省略する。本実施例では、第４実施例で生成された符号化データの復号を例にとって説明する。
【０１１８】
図７は図６のステップ１１０５の第１１実施例における詳細な処理を示すフローチャートである。図７自体は第８実施例と同様であるが、ステップ３０１およびステップ３０２の内容が第８実施例と異なっているため、この部分についてのみ説明する。
【０１１９】
ステップ３０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第１１実施例では、図１４に示される方法により、左方参照画素を算出する。まず、ステップ４５１にて、左方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックと同一かあるいは直前に予測処理を行ったブロックであるか否かの判定が行われる。左方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックと同一か直前に予測処理を行ったブロックである場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【０１２０】
次にステップ３０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第１１実施例では、図１４に示される方法により、上方参照画素を算出する。まず、ステップ４５１にて、上方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックと同一かあるいは直前に予測処理を行ったブロックであるか否かの判定が行われる。上方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックと同一か直前に予測処理を行ったブロックである場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【０１２１】
図９を用いて説明すると、例えば符号化する処理ユニットがＫであるとする。左方の参照画素の算出については、第１１実施例では、左方の処理ユニットＪは処理ユニットＫが属しているブロックの直前に予測処理を行ったブロックに属しているため、処理ユニットＪの予測値を用いて左方参照画素とする。一方、上方の参照画素の算出については、第４実施例では、上方の処理ユニットＣが属するブロックは、処理ユニットＫの属するブロックとは同一でなく、直前に予測処理されたブロックでもないため、処理ユニットＣの再構成画素を用いて上方参照画素とする。
【０１２２】
ステップ３０４、３２６、３０５、３０６の処理は第８実施例と同様であるため、説明を省略する。
【０１２３】
以上の構成と動作により、第４実施例で処理のパイプライン化により高速化された符号化方法を用いて生成された符号化データを復号することができる。
【０１２４】
なお、第８実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【０１２５】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第８実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【０１２６】
＜実施例１２＞
本発明の第１２の実施例は画像符号化装置の構成（図２）、画像符号化装置のフローチャート（図６）は第８実施例と同様であるため、説明を省略する。本実施例では、第５実施例で生成された符号化データの復号を例にとって説明する。
【０１２７】
図７は図６のステップ１１０５の第１２実施例における詳細な処理を示すフローチャートである。図７自体は第８実施例と同様であるが、ステップ３０１およびステップ３０２の内容が第８実施例と異なっているため、この部分についてのみ説明する。
【０１２８】
ステップ３０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第１２実施例では、図１５に示される方法により、左方参照画素を算出する。まず、ステップ４６１にて、左方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックと垂直位置が同一か否かの判定が行われる。左方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックと垂直位置が同一である場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【０１２９】
次にステップ３０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第１２実施例では、図１５に示される方法により、上方参照画素を算出する。まず、ステップ４６１にて、上方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックと垂直位置が同一であるか否かの判定が行われる。上方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックと垂直位置が同一である場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【０１３０】
図９を用いて説明すると、例えば符号化する処理ユニットがＭであるとする。左方の参照画素の算出については、第１２実施例では、左方の処理ユニットＬは処理ユニットＭが属しているブロックと同一の垂直位置を持ったブロックに属しているため、処理ユニットＬの予測値を用いて左方参照画素とする。一方、上方の参照画素の算出については、第１２実施例では、上方の処理ユニットＥが属するブロックは、処理ユニットＭの属するブロックとは垂直位置が異なるブロックであるため、処理ユニットＥの再構成画素を用いて上方参照画素とする。
【０１３１】
ステップ３０４、３２６、３０５、３０６の処理は第８実施例と同様であるため、説明を省略する。
【０１３２】
以上の構成と動作により、第５実施例で処理のパイプライン化により高速化された符号化方法を用いて生成された符号化データを復号することができる。
【０１３３】
なお、第８実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【０１３４】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第８実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【０１３５】
＜実施例１３＞
本発明の第１３の実施例は画像符号化装置の構成（図２）、画像符号化装置のフローチャート（図６）は第８実施例と同様であるため、説明を省略する。本実施例では、第６実施例で生成された符号化データの復号を例にとって説明する。
【０１３６】
図７は図６のステップ１１０５の第１３実施例における詳細な処理を示すフローチャートである。図７自体は第８実施例と同様であるが、ステップ３０１およびステップ３０２の内容が第８実施例と異なっているため、この部分についてのみ説明する。
【０１３７】
ステップ３０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第１３実施例では、図１６に示される方法により、左方参照画素を算出する。まず、ステップ４７１にて、左方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックの所定数分のブロック前までに含まれるか否かの判定が行われる。左方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックの所定数分のブロック前までに含まれる場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【０１３８】
次にステップ３０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第１３実施例では、図１６に示される方法により、上方参照画素を算出する。まず、ステップ４７１にて、上方参照処理ユニットが属するブロックが、符号化する処理ユニットが属するブロックの所定数分のブロック前までに含まれるか否かの判定が行われる。上方参照処理ユニットが属するブロックが符号化する処理ユニットが属するブロックの所定数分のブロック前までに含まれる場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【０１３９】
図９を用いて説明すると、例えば符号化する処理ユニットがＯであるとし、前記所定数分のブロックを５ブロックであるとする。左方の参照画素の算出については、第１３実施例では、左方の処理ユニットＮは、処理ユニットＭが属するブロックの１つ前のブロックに属しているおり、その値は所定数である５よりも小さいため、処理ユニットＮの予測値を用いて左方参照画素とする。一方、上方の参照画素の算出については、第１３実施例では、上方の処理ユニットＧは、処理ユニットＯが属するブロックの４つ前のブロックに属しており、その値は所定数である５よりも小さいため、処理ユニットＧの予測値を用いて上方参照画素とする。
【０１４０】
ステップ３０４、３２６、３０５、３０６の処理は第８実施例と同様であるため、説明を省略する。
【０１４１】
以上の構成と動作により、第６実施例で処理のパイプライン化により高速化された符号化方法を用いて生成された符号化データを復号することができる。
なお、第８実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【０１４２】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第８実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【０１４３】
＜実施例１４＞
本発明の第１４の実施例は画像符号化装置の構成（図２）、画像符号化装置のフローチャート（図６）は第８実施例と同様であるため、説明を省略する。本実施例では、第７実施例で生成された符号化データの復号を例にとって説明する。
【０１４４】
図７は図６のステップ１１０５の第１４実施例における詳細な処理を示すフローチャートである。図７自体は第８実施例と同様であるが、ステップ３０１およびステップ３０２の内容が第８実施例と異なっているため、この部分についてのみ説明する。
【０１４５】
ステップ３０１にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第１４実施例では、図１７に示される方法により、左方参照画素を算出する。まず、ステップ４８１にて、符号化する処理ユニットの大きさが所定の処理ユニットの大きさよりも小さいか否かの判定が行われる。符号化する処理ユニットの大きさが所定の処理ユニットの大きさよりも小さい場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、左方参照処理ユニットの再構成画素値から左方参照画素を算出する。一方、ステップ４２１にて、左方参照処理ユニットの予測値から左方参照画素を算出する。
【０１４６】
次にステップ３０２にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第１４実施例では、図１７に示される方法により、上方参照画素を算出する。まず、ステップ４８１にて、符号化する処理ユニットの大きさが所定の処理ユニットの大きさよりも小さいか否かの判定が行われる。符号化する処理ユニットの大きさが所定の処理ユニットの大きさよりも小さい場合にはステップ４２１に進み、そうでない場合にはステップ４０１に進む。ステップ４０１にて、上方参照処理ユニットの再構成画素値から上方参照画素を算出する。一方、ステップ４２１にて、上方参照処理ユニットの予測値から上方参照画素を算出する。
【０１４７】
ステップ３０４、３２６、３０５、３０６の処理は第８実施例と同様であるため、説明を省略する。
【０１４８】
以上の構成と動作により、第７実施例で処理のパイプライン化により高速化された符号化方法を用いて生成された符号化データを復号することができる。
【０１４９】
なお、第８実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【０１５０】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第８実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
【０１５１】
＜実施例１５＞
本発明の第１５の実施例は画像符号化装置の構成（図１）、画像符号化装置のフローチャート（図３）は第１実施例と同様であるため、説明を省略する。
【０１５２】
図２０は図３のステップ１００４の第１５実施例における詳細な処理を示すフローチャートである。
【０１５３】
ステップ５１１にて、符号化する処理ユニットが属しているブロックの上端に隣接しているか否かの判定が行われ、隣接している場合は、ステップ５１２に進み、そうでない場合はステップ５１３に進む。ステップ５１２にて、符号化する処理ユニットが属しているブロックの左端に隣接しているか否かの判定が行われ、隣接している場合は、ステップ５０１に進み、そうでない場合はステップ５０３に進む。一方、ステップ５１３にて、符号化する処理ユニットが属しているブロックの左端に隣接しているか否かの判定が行われ、隣接している場合は、ステップ５０５に進み、そうでない場合はステップ５０７に進む。
【０１５４】
ステップ５０１、５０３、５０５、５０７にて、符号化する処理ユニットのイントラ予測値の算出に用いられる左方参照画素を算出する。この第１５実施例では、図１０または図１１のいずれかに示される方法により、左方参照画素を算出する。例えば、ステップ５０１、５０５では図１１に示される方法で左方参照画素を算出し、ステップ５０３、５０７では図１０に示される方法で左方参照画素を算出することができる。ただし、算出方法の組み合わせはこれに限定されない。
【０１５５】
次に、ステップ５０２、５０４、５０６、５０８にて、符号化する処理ユニットのイントラ予測値の算出に用いられる上方参照画素を算出する。この第１５実施例では、図１０または図１１のいずれかに示される方法により、上方参照画素を算出する。例えば、ステップ５０２、５０４では図１１に示される方法で上方参照画素を算出し、ステップ５０６、５０８では図１０に示される方法で上方参照画素を算出することができる。ただし、算出方法の組み合わせはこれに限定されない。
【０１５６】
ステップ２０４、２０８、２２６、２０５、２０６、２０７の処理は第１実施例と同様であるため、説明を省略する。
【０１５７】
第１５実施例では、符号化する処理ユニットのブロック内の相対位置によって予測値を用いる対象を柔軟に設定することにより、実装環境による符号化性能とパイプライン化による高速化を好適に実現することができる。
【０１５８】
なお、第１実施例同様に左方と上方の処理ユニットを用いて参照画素を生成するだけでなく、左上や右上、左下の処理ユニットを用いて参照画素を生成しても構わない。
【０１５９】
また、本実施例においても、従来の手法を提案手法で置き換える形での構成例を示したが、第１実施例同様に、例えば符号化データ内に含まれるサイド情報を用いて、従来の手法と提案手法を切り替える構成をとってももちろん構わない。
本実施例の所定の処理ユニットの大きさは固定値でも構わないし、サイド情報として符号化データ内に多重化させる方法をとっても構わない。
【０１６０】
＜実施例１６＞
図１８は本発明の第１５の実施に係る画像符号化・復号装置の構成を示すブロック図である。
【０１６１】
図１８において、６００は装置全体の制御、及び種々の処理を行う中央演算装置（ＣＰＵ）、６０１は本装置の制御に必要なオペレーティングシステム（ＯＳ）、ソフトウェア、演算に必要な記憶領域を提供するメモリである。６０２は種々の装置をつなぎ、データ、制御信号をやり取りするバスである。６０３は装置の起動、各種条件の設定、再生の指示を行うための端末である。６０４はソフトウェアを蓄積する記憶装置である。６０５はストリームを蓄積する記憶装置である。記憶装置６０４および、６０５はシステムから切り離して移動できるメディアで構成することも出来る。６０６は動画像を撮像するカメラである。６０７は画像を表示するモニタであり、６０９は通信回路であり、ＬＡＮ、公衆回線、無線回線、放送電波等で構成されている。６０８は通信回路６０９を介してストリームを送受信する通信インターフェースである。
【０１６２】
このような構成において動画像符号化処理について説明する。カメラ６０６から入力された画像データを符号化し、通信回路６０９に出力する場合を例にとって説明する。
【０１６３】
記憶装置６０４には図３に示されるフローチャートを記述した画像符号化ソフトウェアが蓄積されており、端末６０３からソフトウェアが起動されると、記憶装置６０４から画像符号化ソフトウェアが読みだされ、メモリ６０１に展開されて符号化処理を開始する。カメラ６０６から入力された画像データが画像符号化ソフトウェアによって最適なイントラ予測モードを用いて符号化され、通信インターフェース６０８を介して出力される。
【０１６４】
また、通信回路６０９から通信インターフェース６０８を介して入力された符号化データを復号して、モニタ６０７に表示する場合を例にとって説明する。
【０１６５】
記憶装置６０４には図６に示されるフローチャートを記述した画像復号ソフトウェアが蓄積されており、端末６０３からソフトウェアが起動されると、記憶装置６０４から画像復号ソフトウェアが読みだされ、メモリ６０１に展開されて復号処理を開始する。
【０１６６】
通信回路６０９から通信インターフェース６０８を介して入力された符号化データは画像復号ソフトウェアによって、復号され、画僧データを生成し、モニタ６０７に表示する。
【０１６７】
なお、画像データはカメラ６０６からの入力に限定されず、記憶装置６０５から読み出したりしても構わない。また、符号化データも通信インターフェース６０８への入出力に限定されず、記憶装置６０５に記録し、読み出しても構わない。
このように本発明はソフトウェアとして動作させることが可能である。
【図１】
2012147292.tif 000003
【図２】
2012147292.tif 000004
【図３】
2012147292.tif 000005
【図４】
2012147292.tif 000006
【図５】
2012147292.tif 000007
【図６】
2012147292.tif 000008
【図７】
2012147292.tif 000009
【図８】
2012147292.tif 000010
【図９】
2012147292.tif 000011
【図１０】
2012147292.tif 000012
【図１１】
2012147292.tif 000013
【図１２】
2012147292.tif 000014
【図１３】
2012147292.tif 000015
【図１４】
2012147292.tif 000016
【図１５】
2012147292.tif 000017
【図１６】
2012147292.tif 000018
【図１７】
2012147292.tif 000019
【図１８】
2012147292.tif 000020
【図１９】
2012147292.tif 000021
【図２０】
2012147292.tif 000022