(57)【要約】【課題】  Ｗａｖｅｆｒｏｎｔでは算術符号化・復号化の並列性をライン単位で向上させる事は可能だが、予め指定された位置のブロックを符号化した情報を次のラインの左端のブロックの符号化に用いる必要がある。そのため、スライスの上端のラインには前記予め指定された位置のブロックが必要となり、スライスとＷａｖｅｆｒｏｎｔを組み合わせた時には、各スライスの形状が制限されるという課題があった。【解決手段】  スライスの上端のラインに属するブロック数が前記予め指定された数よりも少ない場合は、上端のラインの右端のブロックを符号化した情報を次のラインの左端のブロックの符号化に用いる。【選択図】  図１
2013098735.tif 000002
【特許請求の範囲】
【請求項１】
画像を分割して、１つ以上のブロックで構成される第１ブロック群と前記第１ブロック群に隣接する第２ブロック群とを生成する分割手段と、
前記第１ブロック群をブロック単位で符号化する第１符号化手段と、
前記第２ブロック群をブロック単位で符号化する第２符号化手段と、
前記第１符号化手段が所定位置のブロックを処理した後の符号化情報を記憶する記憶手段を有し、
前記記憶手段は、前記第１ブロック群が前記所定位置のブロックを含まない場合に、前記所定位置を第１ブロック群内のブロックに設定し、前記設定された所定位置に基づいて前記符号化情報を記憶し、前記第２符号化手段は当該符号化情報に基づいて符号化を開始することを特徴とする画像符号化装置。
【請求項２】
前記記憶手段は、前記第１ブロック群が前記所定位置のブロックを含まない場合に、前記第１ブロック群に含まれる最後のブロックを前記所定位置と設定して情報を記憶することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記記憶手段は、前記第１ブロック群が前記所定位置のブロックを含まない場合に、前記第１ブロック群に含まれる最初のブロックを前記所定位置と設定して情報を記憶することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
ビットストリームを分割して、１つ以上のブロックで構成される第１ブロック群と前記第１ブロック群に隣接する第２ブロック群とを生成する分割手段と、
前記第１ブロック群をブロック単位で復号する第１復号手段と、
前記第２ブロック群をブロック単位で復号する第２復号手段と、
前記第１復号手段が所定位置のブロックを処理した後の復号情報を記憶する記憶手段を有し、
前記記憶手段は、前記第１ブロック群が前記所定位置のブロックを含まない場合に、前記所定位置を第１ブロック群内のブロックに設定し、前記設定された所定位置に基づいて前記復号情報を記憶し、前記第２復号手段は、当該復号情報に基づいて復号を開始することを特徴とする画像復号装置。
【請求項５】
画像を分割して、１つ以上のブロックで構成される第１ブロック群と前記第１ブロック群に隣接する第２ブロック群とを生成する分割工程と、
前記第１ブロック群をブロック単位で符号化する第１符号化工程と、
前記第２ブロック群をブロック単位で符号化する第２符号化工程と、
前記第１符号化工程が所定位置のブロックを処理した後の符号化情報を記憶手段に記憶する記憶工程を有し、
前記記憶工程は、前記第１ブロック群が前記所定位置のブロックを含まない場合に、前記所定位置を第１ブロック群内のブロックに設定し、前記設定された所定位置に基づいて前記符号化情報を記憶し、前記第２符号化工程は当該符号化情報に基づいて符号化を開始することを特徴とする画像符号化装置の画像符号化方法。
【請求項６】
ビットストリームを分割して、１つ以上のブロックで構成される第１ブロック群と前記第１ブロック群に隣接する第２ブロック群とを生成する分割工程と、
前記第１ブロック群をブロック単位で復号する第１復号工程と、
前記第２ブロック群をブロック単位で復号する第２復号工程と、
前記第１復号工程が所定位置のブロックを処理した後の復号情報を記憶手段に記憶する記憶工程を有し、
前記記憶工程は、前記第１ブロック群が前記所定位置のブロックを含まない場合に、前記所定位置を第１ブロック群内のブロックに設定し、前記設定された所定位置に基づいて前記復号情報を記憶し、前記第２復号工程は、当該復号情報に基づいて復号を開始することを特徴とする画像復号装置の画像符号化方法。
【請求項７】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項１に記載の画像符号化装置として機能させることを特徴とするプログラム。
【請求項８】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項４に記載の画像復号装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関し、特にスライス分割時のエントロピー符号化・復号化に関する。
【背景技術】
【０００２】
動画像の圧縮記録に用いられる符号化方式として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知られている。（非特許文献１）
Ｈ．２６４においては、画像を複数のスライスに分割して符号化する事が可能である。各スライス間にはデータの依存性が少なく、並列に符号化・復号化処理を実施する事ができる。マルチコアのＣＰＵ等で並列に処理を実行し、処理時間を短縮できる事が、スライス分割の大きな利点の一つとして挙げられる。
【０００３】
また、各スライスはＨ．２６４に採用されている従来の２値算術符号化の手法によって、符号化される。すなわち、ｍｂ＿ｔｙｐｅ、ｍｂ＿ｑｐ＿ｄｅｌｔａ等の各シンタックス要素が２値化され、２値信号が生成される。各シンタックス要素には、あらかじめ発生確率がテーブル（以下、発生確率テーブル）として与えられ、前記２値信号は前記発生確率テーブルに基づいて算術符号化される。そして符号化が行われる毎に、符号化された２値信号が発生確率の高い方のシンボルであったか否か、という統計情報に基づいて発生確率テーブルが更新される。
【０００４】
近年、Ｈ．２６４よりも高効率な符号化方式の国際標準化を行う活動が開始され、ＪＣＴ−ＶＣ（Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔの間で設立された。ＪＣＴ−ＶＣでは、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ符号化方式（以下、ＨＥＶＣ）の標準化が進められている。
【０００５】
ＨＥＶＣの標準化にあたっては、種々の符号化手法が、符号化効率向上のみならず実装の容易性や処理時間の短縮といった点も含めて幅広く検討されている。処理時間の短縮の中には、並列性を高めるための手法も検討されている。その中には、エントロピー符号化・復号化を並列に処理するための、Ｗａｖｅｆｒｏｎｔと呼ばれる手法がある（非特許文献２）。
【０００６】
符号化対象の２値信号は、常に更新された発生確率テーブルを用いて符号化を行う必要があるため、統計情報をリセットしなければ処理を並列に行う事ができない。しかし、統計情報をリセットしてしまうと符号化効率が悪化してしまうという課題があった。
それに対してＷａｖｅｆｒｏｎｔは、複数の、予め指定された位置のブロックを符号化処理した時点での発生確率のテーブルを、処理対象のラインの次のラインの左端のブロックに適用する事する。これにより符号化効率の悪化を抑制し、ライン単位でのブロックの並列な符号化処理が可能となる。上記、Ｗａｖｅｆｒｏｎｔに関しては主に符号化処理に関して説明したが、復号処理に関しても同様である。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】ＩＴＵ−Ｔ  Ｈ．２６４  （０３／２０１０）  Ａｄｖａｎｃｅｄｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ
【非特許文献２】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ｆ２７４．ｄｏｃ  インターネット＜  ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／６＿Ｔｏｒｉｎｏ／ｗｇ１１／  ＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、Ｗａｖｅｆｒｏｎｔでは算術符号化・復号化の並列性をライン単位で向上させる事は可能だが、前記予め指定された位置のブロックを符号化した情報を次のラインの左端のブロックの符号化に用いる必要がある。そのため、スライスの上端のラインには前記予め指定された位置のブロックが必要となり、スライスとＷａｖｅｆｒｏｎｔを組み合わせた時には、各スライスの形状が制限されるという課題があった。
したがって、本願発明では、スライスの形状を制限せずに、Ｗａｖｅｆｒｏｎｔを用いてブロックをライン単位で並列に符号化・復号処理を行うことを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明の画像符号化装置は、画像を分割して、１つ以上のブロックで構成される第１ブロック群と前記第１ブロック群に隣接する第２ブロック群とを生成する分割手段と、前記第１ブロック群をブロック単位で符号化する第１符号化手段と、前記第２ブロック群をブロック単位で符号化する第２符号化手段と、前記第１符号化手段が所定位置のブロックを処理した後の符号化情報を記憶する記憶手段を有し、前記記憶手段は、前記第１ブロック群が前記所定位置のブロックを含まない場合に、前記所定位置を第１ブロック群内のブロックに再設定し、前記再設定された所定位置に基づいて前記符号化情報を記憶し、前記第２符号化手段は当該符号化情報に基づいて符号化を開始することを特徴とする。
【００１０】
また、上記の課題を解決するため、本発明の画像復号装置は、ビットストリームを分割して、１つ以上のブロックで構成される第１ブロック群のデータである第１ブロック群データと前記第１ブロック群に隣接する第２ブロック群のデータで構成される第２ブロック群データを生成する分割手段と、前記第１ブロック群データをブロック単位で復号する第１復号手段と、前記第２ブロック群データをブロック単位で復号する第２復号手段と、前記第１復号手段が所定位置のブロックを処理した後の復号情報を記憶する記憶手段を有し、前記記憶手段は、前記第１ブロック群が前記所定位置のブロックを含まない場合に、前記所定位置を第１ブロック群内のブロックに再設定し、前記再設定された所定位置に基づいて前記復号情報を記憶し、前記第２復号手段は、当該復号情報に基づいて復号を開始することを特徴とする。
【発明の効果】
【００１１】
本発明により、スライスの形状を制限せずに、Ｗａｖｅｆｒｏｎｔを用いてブロックをライン単位で並列に符号化・復号処理を行う事が可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施形態１における画像符号化装置の構成を示すブロック図
【図２】ブロックラインの構成を示す図
【図３】実施形態１の画像符号化装置における、フレームの符号化処理を示すフローチャート
【図４】実施形態１の画像符号化装置における、上端のブロックラインの符号化処理を示すフローチャート
【図５】実施形態１の画像符号化装置における、上端以外のブロックラインの符号化処理を示すフローチャート
【図６】実施形態１の画像符号化装置における、ブロックの符号化処理を示すフローチャート
【図７】上端のブロックライン及び上から二番目のブロックラインの統合を示す図
【図８】スライスの分割を示す図
【図９】実施形態２における画像復号装置の構成を示すブロック図
【図１０】実施形態２の画像復号装置における、フレームの復号処理を示すフローチャート
【図１１】実施形態２の画像復号装置における、上端のブロックラインの復号処理を示すフローチャート
【図１２】実施形態２の画像復号装置における、上端以外のブロックラインの復号処理を示すフローチャート
【図１３】実施形態２の画像復号装置における、ブロックの復号処理を示すフローチャート
【図１４】本発明の画像符号化装置、画像復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１４】
＜実施形態１＞
以下、本発明の第１の実施形態を、図面を用いて説明する。図１は本実施形態の画像符号化装置を示すブロック図である。
【００１５】
図１において、１０２及び１０３は、入力画像をｎ×ｎ画素（ｎは２以上の正の整数）に分割したブロックを図２のようにライン単位で符号化を行う符号化部である。以下、ブロックのラインをブロックラインと記す。本実施形態において、符号化部を２つ用いる場合について説明するが、本発明はこれに限定されない。図２は、セレクタ１０１に入力されたスライスを表す。細線による正方形で表されている２０１はブロックを表し、太線による長方形で表されている２０２はブロックラインを表している。更に、上端のブロックライン（０ライン目）を含む偶数番目のブロックラインを示す白色部のブロック（第１ブロック群）は第一符号化部１０２にて符号化される。また、奇数番目のブロックラインを示す斜線部のブロック（第２ブロック群）は第二符号化部１０３にて符号化される。以下、上端のブロックラインを上端ブロックラインと記す。
【００１６】
１０１は、処理対象のブロックが偶数番目のブロックラインに属するかを判定するセレクタである。セレクタ１０１には、フレームを分割したスライス単位の画像が入力される。そして前記ブロックが偶数番目のブロックラインに属しているのならば第一符号化部１０２へ前記ブロックを出力し、そうでないならば第二符号化部１０３へ前記ブロックを出力する。図８に、セレクタ１０１に入力されたスライスと、フレームの関係を示す。図８の画像は、フレームを二つのスライスに分割している。太線に囲まれた矩形がフレームであり、斜線部と白色部のブロックはそれぞれ異なるスライスに属している事を示している。
【００１７】
１０２、１０３の各符号化部においては、まず符号化対象のブロックで周辺の画素または他のフレームの参照による動き補償によって予測誤差を生成し、直交変換を行い、変換係数を生成する。次に、直交変換を行った変換係数に対する量子化パラメータを決定し、各変換係数を量子化し、量子化係数を生成する。次に、前記量子化係数を含む各シンタックス要素を２値化して２値信号を生成する。各シンタックス要素には、あらかじめ発生確率が発生確率テーブルとして与えられ、前記２値信号は前記発生確率テーブルに基づいて算術符号化される。そして符号化が行われる毎に、符号化された２値信号が発生確率の高い方のシンボルであったか否か、という統計情報を用いて発生確率テーブルが更新される。
【００１８】
１０４は第一符号化部１０２で生成された発生確率テーブルを保持する第一発生確率テーブル記憶部である。以下、第一発生確率テーブル記憶部１０４に記憶される発生確率テーブルを、第一発生確率テーブルと記す。
【００１９】
１０５は第二符号化部１０３で生成された発生確率テーブルを保持する第二発生確率テーブル記憶部である。以下、第二発生確率テーブル記憶部に記憶される発生確率テーブルを、第二発生確率テーブルと記す。
【００２０】
１０６は第一符号化部１０２で生成された符号データと、第二符号化部１０３で生成された符号データを統合し、ビットストリームとして出力する統合符号化部である。
【００２１】
本実施形態の画像符号化装置の動作を、図３から図６のフローチャートを用いて詳細に説明する。本実施形態では動画像データはフレームを分割したスライス単位で入力され、ブロックに分割されてラスタ順に処理される。本実施形態では動画像データをスライス単位に入力する構成となっているが、１フレーム分の静止画像データを入力する構成としても構わないし、フレーム単位に入力しても構わない。また、本実施形態では、説明を容易にするため、イントラ予測符号化の処理のみを説明するが、これに限定されずインター予測符号化の処理においても適用可能である。
【００２２】
まず、ステップＳ３０１では、処理対象のブロックが上端ブロックラインか否かが判定される。上端ブロックラインであるならば（ステップＳ３０１でＹｅｓ）ステップＳ３０２の処理に進み、そうでないならばステップＳ３０３の処理に進む。ここで、上端ブロックラインはスライスの上端である事を意味しており、別のスライスのブロックとの位置関係は考慮されない。即ち図８の白色部のスライスにおいては、ブロック８０１が属するブロックラインが前記上端ブロックラインとなる。
【００２３】
ステップＳ３０２の処理は、上端ブロックラインを符号化する処理であり、詳細は後述する。ステップＳ３０３の処理は、上端以外のブロックラインを符号化する処理であり、同じく詳細は後述する。また、セレクタ１０１によって、処理対象のブロックが属するブロックラインが、前記上端ブロックラインを０番目として、偶数番目であるか奇数番目であるかが判定される。偶数番目であるならば第一符号化部１０２で、そうでないならば第二符号化部１０３でそれぞれ独立に符号化されるものとする。
【００２４】
次に、ステップＳ３０４では、統合符号化部１０６において、第一符号化部１０２及び第二符号化部１０３から出力された各符号データを統合し、ビットストリームを生成、出力する。
【００２５】
次に、ステップＳ３０５では、処理対象のスライスの全ブロックラインを符号化したか否かを判定する。符号化済ならば（ステップＳ３０５でＹｅｓ）１スライスの符号化処理を終了し、そうでないならばステップＳ３０１の処理に進み、次のブロックラインを符号化する。
【００２６】
ステップＳ３０２の処理（上端ブロックラインを符号化する処理）に関して、図４のフローチャートを用いて詳細に説明する。上端ブロックラインは、偶数番目のブロックラインであるので、処理対象のブロックはセレクタ１０１によって第一符号化部１０２へ入力され符号化される。
【００２７】
まず、ステップＳ４０１において、格納フラグＦが０に初期化される。格納フラグＦは、前記発生確率テーブルを格納したか否かを示すフラグである。
【００２８】
次に、ステップＳ４０２において発生確率テーブルが所定の方法で初期化される。初期化された発生確率テーブルは、ブロックラインの左端のブロックの最初の２値信号を算術符号化する際に用いられ、後述するステップＳ４０３で随時更新される。以下、ブロックラインの最初のブロックの２値信号を算術符号化する際に用いられる発生確率テーブルを、ブロックライン基準発生確率テーブルと記す。
【００２９】
次に、ステップＳ４０３では、第一符号化部１０２によってブロック単位の画素データが符号化される。
【００３０】
本実施形態では、ブロックを６４×６４画素とするが、本発明はこれに限定されるものではなく、ブロックのサイズは３２×３２画素のように小さくてもよいし、１２８×１２８画素のように大きくてもよい。ステップＳ４０３のブロック符号化処理について、図６のフローチャートを用いて詳細に説明する。
【００３１】
まず、ステップＳ６０１では、入力された画像ブロックに対してブロック周辺の画素を利用したイントラ予測が行われ、予測誤差が生成される。
【００３２】
次に、ステップＳ６０２では、前記予測誤差に対して直交変換が行われ変換係数が生成される。更に、画像の特性や符号量等に基づいて決定された量子化パラメータ（以下、ブロック量子化パラメータと記す）を用いて、前記変換係数を量子化し、量子化係数を生成する。
【００３３】
次に、ステップＳ６０３では、量子化パラメータや予測モード等の各シンタックス要素が２値化され、２値信号が生成される。シンタックス要素毎に、Ｈ．２６４と同様に、ユーナリー・バイナリゼーション、固定長バイナリゼーション等の種々の２値化の手法が切り替えられて用いられる。更に、前記２値信号は前記発生確率テーブルに基づいて算術符号化される。
【００３４】
次に、ステップＳ６０４では、算術符号化された２値信号が、発生確率の高い方のシンボルであったか否かに基づいて前記発生確率テーブルが更新される。
【００３５】
次に、ステップＳ６０５では、ブロック内の全シンタックス要素が算術符号化されたか否かが判定される。全シンタックス要素が算術符号化されたならば（ステップＳ６０５でＹｅｓ）ブロック符号化処理を終了し、そうでないならばステップＳ６０３の処理に進む。
【００３６】
図４のフローチャートに戻り、ステップＳ４０４では、発生確率テーブルを格納する条件を満たしているか否かが判定される。本実施形態では、ステップＳ４０３で符号化したブロックが、フレームの左端から所定数個目のブロックであったか否かを、前記発生確率テーブルを格納する条件とする。以下、前記発生確率テーブルを格納する条件である所定数を記憶条件数と記す。前記条件を満たしている際には（ステップＳ４０４でＹｅｓ）ステップＳ４０５の処理に進み、条件を満たしていない場合はステップＳ４０７の処理に進む。本実施形態では、記憶条件数をフレームの左端からの所定数とするが、本発明はそれに限定されるものではない。例えば、図２のブロックライン２０２のようにブロックラインにフレームの左端のブロックが存在しない場合がある。その際は、フレームの左端からの所定数を記憶条件数としてもよいし、ブロックラインの左端からの所定数を記憶条件数としてもよい。
【００３７】
次に、ステップＳ４０５では、格納フラグＦが１に更新される。次に、ステップＳ４０６では、発生確率テーブルを第一発生確率テーブルとして、第一発生確率テーブル記憶部１０４に記憶する。第一発生確率テーブルは、次のブロックラインの左端のブロックを符号化する際のブロックライン基準発生確率テーブルとして用いられる。
【００３８】
次に、ステップＳ４０７において、処理対象のブロックラインの全ブロックを符号化したか否かが判定される。全てのブロックを符号化したならば（ステップＳ４０７でＹｅｓ）ステップＳ４０８の処理に進み、そうでないならばステップＳ４０３の処理に進みラスタ順で次のブロックを符号化する。
【００３９】
次に、ステップＳ４０８では、格納フラグＦの値が０か否かが判定される。格納フラグＦの値が０であるという事は、ステップＳ４０４の発生確率テーブル格納条件が一度も満たされなかった事を示す。すなわち、前記記憶条件数を満たすブロックが上端ブロックラインには存在しなかった事を示す。前記記憶条件数を満たすブロックが上端ブロックラインに存在するためには、上端ブロックラインに属するブロックの数が、フレームの水平方向のブロック数と記憶条件数との差より大きい必要がある。以下、前記記憶条件数を満たすブロックが上端ブロックラインに存在するために必要なブロックの数を必要ブロック数と記す。例えば、記憶条件数が４であり、フレームの水平方向のブロック数が１０であったとすると、必要ブロック数は、１０−４＋１＝７となる。また、前記記憶条件数をブロックラインの左端からの所定数である場合は、必要ブロック数は前記記憶条件数と同一の値となる。格納フラグＦの値が０の時はステップＳ４０９の処理に進み、そうでない場合は上端ブロックラインの符号化を終了する。
【００４０】
次に、ステップＳ４０９では、発生確率テーブルを第一発生確率テーブルとして、第一発生確率テーブル記憶部１０４に記憶した後に、上端ブロックラインの符号化を終了する。ステップＳ４０９では、上端ブロックラインの右端のブロックの符号化を終えた時点での発生確率テーブルが記憶される事になる。
【００４１】
一方、ステップＳ３０３の処理（上端以外のブロックラインを符号化する処理）に関して、図５のフローチャートを用いて詳細に説明する。各ブロックラインは、セレクタ１０１において偶数番目のブロックラインであるか否かが判定される。偶数番目のブロックラインであるならば第一符号化部１０２に処理対象のブロックの画像が入力され符号化される。奇数番目のブロックラインであるならば第二符号化部１０３に処理対象のブロックの画像が入力され符号化される。まず、奇数番目のブロックラインを第二符号化部１０３で符号化する際のフローについて説明する。
【００４２】
まず、ステップＳ５０１において、第一発生確率テーブルが第一発生確率テーブル記憶部１０４から、ブロックライン基準発生確率テーブルとして入力される。
【００４３】
ステップＳ５０２、Ｓ５０３、Ｓ５０５の処理は、それぞれステップＳ４０３、Ｓ４０４、Ｓ４０７の処理と同一であるため説明を省略する。
【００４４】
ステップＳ５０４の処理では、発生確率テーブルが第二発生確率テーブルとして、第二発生確率テーブル記憶部１０５に格納される。第二発生確率テーブルは、次のブロックラインの左端のブロックを算術符号化する際にブロックライン基準発生確率テーブルとして用いられる。
【００４５】
続いて、偶数番目のブロックラインを第一符号化部１０２で符号化する際のフローを説明する。
【００４６】
まず、ステップＳ５０１の処理では、第二発生確率テーブルが第二発生確率テーブル記憶部１０５からブロックライン基準発生確率テーブルとして入力される。
【００４７】
ステップＳ５０２、Ｓ５０３、Ｓ５０４、Ｓ５０５の処理に関しては、それぞれステップＳ４０３、Ｓ４０４、Ｓ４０６、Ｓ４０７の処理と同一であるため説明を省略する。
【００４８】
以上の構成と動作により、スライスの上端ブロックラインに属するブロック数が前記必要ブロック数より少なくても、上端ブロックラインの右端のブロックの発生確率テーブルを参照する事により２番目のブロックラインの左端のブロックを符号化する事が可能となる。
【００４９】
また、本実施形態においては、スライスの上端ブロックラインに属するブロック数が前記必要ブロック数より少ない場合は、右端のブロックの発生確率テーブルを次のラインの左端のブロックを符号化する際のブロックライン基準発生確率テーブルとして用いた。しかし、本発明はこれに限定されるものではなく、スライスの形状が制限されない構成となればよい。例えば、スライスの上端ブロックラインに属するブロックの数が記憶条件数よりも少ない場合は、予め初期化した発生確率テーブルを、次のブロックラインのブロックライン基準発生確率テーブルとしてもよい。他にも、スライスの上端ブロックラインに属するブロックの数が必要ブロック数よりも少ない場合は、スライスの上端ブロックラインの任意のブロックを符号化した時点での発生確率テーブルを次のブロックラインのブロックライン基準発生確率テーブルとしてもよい。他にも、スライスの上端ブロックラインに属するブロックの数が必要ブロック数よりも少ない場合は、上端ブロックラインと２番目のブロックラインを統合して第一符号化部１０２で符号化してもよい。図７に、ブロックラインの統合を示す。図７は、フレームを二つのスライスに分割している。太線で囲まれた部分はそれぞれスライスを表しており、７０１は上方のスライス、７０２は下方のスライスを表す。細線で囲まれる矩形はそれぞれブロックを表す。白色部のブロックが第一符号化部１０２で符号化され、斜線部のブロックが第二符号化部１０３で符号化される。ここで、記憶条件数を５、フレームの水平方向のブロック数を１０とする。フレームの水平方向と記憶条件数の差分の値は５であり、上端ブロックラインにはそれより多いブロックが必要であるため、前記必要ブロック数は６となる。しかし、スライス７０２の上端ブロックラインには、前記必要ブロック数以上のブロックが存在していない。そこでブロックラインを統合する事により、統合されたブロックラインは前記必要ブロック数以上のブロックを有する事になる。そして統合されたブロックラインを上端ブロックラインとして取扱い、ラスタ順で前記必要ブロック数目のブロックを符号化した時点での発生確率テーブルを、次のブロックラインのブロックライン基準発生確率テーブルとしてもよい。前記必要ブロック数を６とすると、スライス７０２の中でラスタ順で６番目のブロックである７０３のブロックを符号化した時点での発生確率テーブルが、次のブロックラインのブロックライン基準発生確率テーブルとなる。
【００５０】
また、本実施形態においてはエントロピー符号化に算術符号化を用いたが、本発明はこれに限定されるものではない。前記発生確率テーブルのような統計的な情報に基づいたエントロピー符号化を行う際に、ブロックラインの符号化の途中での、前記統計的な情報を次のブロックラインの左端のブロックをエントロピー符号化する際に用いるものならばよい。
【００５１】
なお、本実施形態で符号化部が２つの場合について説明したが、例えば第三符号化部、第三発生確率テーブル記憶部を加えることで、より多くの符号化部での並列処理が可能になることは明白である。
【００５２】
＜実施形態２＞
以下、本発明の第２の実施形態を、図面を用いて説明する。図９は本実施形態の画像復号装置を示すブロック図である。
【００５３】
図９において、９０１は、処理対象のブロックが偶数番目のブロックラインに属するかを判定するセレクタである。セレクタ９０１にはスライス単位にビットストリームが入力される。偶数番目のブロックラインに属しているのならば第一復号部９０２へ前記ビットストリームを分割した分割データを出力し、そうでないならば第二復号部９０３へ前記ビットストリームを分割した分割データ出力する。
【００５４】
９０２及び９０３は、入力されたビットストリームを、図２のようにブロックライン単位で復号を行う復号部である。本実施形態において、復号部を２つ用いる場合について説明するが、本発明はこれに限定されない。図２において、上端のブロックライン（０ライン目）を含む偶数番目のブロックラインを示す白色部のブロックは第一復号部９０２にて復号され、奇数番目のブロックラインを示す斜線部のブロックは第二復号部９０３にて復号される。以下、実施形態１の符号化装置と同様に、上端のブロックラインを上端ブロックラインと記す。
【００５５】
各復号部においては、まず復号対象のビットストリームの２値信号に対し発生確率テーブルが選択され、前記発生確率テーブルを基に算術復号が行われ、量子化係数を生成される。次に、前記量子化係数は、量子化パラメータに基づいて逆量子化が行われ、変換係数が生成される。次に、変換係数は逆直交変換が行われ、予測誤差が生成される。次に、復号対象のブロックの周辺の画素または他のフレームの参照による動き補償が行われ、復号対象のブロックの画像データが生成される。
【００５６】
９０４は第一復号部９０２で生成された発生確率テーブルを保持する第一発生確率テーブル記憶部である。
【００５７】
９０５は第二復号部９０３で生成された発生確率テーブルを保持する第二発生確率テーブル記憶部である。
【００５８】
９０６は第一復号部９０２、第二復号部９０３で生成された画像データを成形し、出力する画像データ統合部である。
【００５９】
本実施形態の画像復号装置の動作を、図１０から図１３のフローチャートを用いて詳細に説明する。本実施形態ではビットストリームはフレームを分割したスライス単位で入力され、前記ビットストリームはブロック単位の符号データに分割されて復号される。本実施形態ではビットストリームをスライス単位に入力する構成となっているが、フレーム単位に入力しても構わない。また、本実施形態では、説明を容易にするため、イントラ予測復号の処理のみを説明するが、これに限定されずインター予測復号の処理においても適用可能である。
【００６０】
まず、ステップＳ１００１では、セレクタ９０１が処理対象のブロックが上端ブロックラインか否かを判定する。本実施形態においてセレクタ９０１は、スライスヘッダやＰｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ（以下、ＰＰＳ）等の上位の階層のシンタックス要素の解析結果及び復号したブロック数に基づいて上端のブロックラインであるか否かを判定する。しかし、本発明はそれに限定されるものではない。例えば、入力されるビットストリームには、予めブロックラインの区切れ目に識別子が存在し、それを基にブロックラインが偶数番目であるか否かを判定してもよい。他にも、各ブロックラインのビットストリームの大きさや、次のブロックラインの開始位置を表す情報が与えられて、それを基にブロックラインが偶数か否かを判定してもよい。また、後述するステップＳ１００３において、ブロックラインが偶数番目であるか否かを判定する処理があるが、判定の基準となる情報はステップＳ１００１と同一である。上端ブロックラインであるならば（ステップＳ１００１でＹｅｓ）ステップＳ１００２の処理に進み、そうでないならばステップＳ１００３の処理に進む。実施形態１の符号化装置と同様に、上端ブロックラインはスライスの上端である事を意味しており、別のスライスのブロックとの位置関係は考慮されない。即ち図８の白色部のスライスにおいては、ブロック８０１が属するブロックラインが前記上端ブロックラインとなる。
【００６１】
ステップＳ１００２の処理は、上端ブロックラインを復号する処理であり、詳細は後述する。ステップＳ１００３の処理は、上端以外のブロックラインを復号する処理であり、同じく詳細は後述する。
【００６２】
次に、ステップＳ１００４では、画像データ統合部９０６において、第一復号部９０２及び第二復号部９０３から出力された各画像データを統合し、復号画像を生成、出力する。
【００６３】
次に、ステップＳ１００５では、処理対象のスライスの全ブロックラインを復号したか否かを判定する。復号済ならば（ステップＳ１００５でＹｅｓ）１スライスの復号処理を終了し、そうでないならばステップＳ１００１の処理に進み、次のブロックラインを復号する。
【００６４】
ステップＳ１００２の処理（上端ブロックラインを復号する処理）に関して、図１１のフローチャートを用いて詳細に説明する。上端ブロックラインは、偶数番目のブロックラインであるので、処理対象のブロックラインの符号データはセレクタ９０１によって第一復号部９０２へ入力され復号される。
【００６５】
図１０では、まず、ステップＳ１１０１において、格納フラグＦが０に初期化される。格納フラグＦは、前記発生確率テーブルを格納したか否かを示すフラグである。次に、ステップＳ１１０２において発生確率テーブルが所定の方法で初期化される。初期化された発生確率テーブルは、ブロックラインの左端のブロックの最初の２値信号を算術復号する際に用いられ、後述するステップＳ１１０３で随時更新される。以下、ブロックラインの最初のブロックの２値信号を算術復号する際に用いられる発生確率テーブルを、実施形態１の符号化装置と同様に、ブロックライン基準発生確率テーブルと記す。
【００６６】
次に、ステップＳ１１０３では、第一復号部９０２によってビットストリームがブロック単位で復号され画素データが生成される。
【００６７】
本実施形態では、ブロックを６４×６４画素とするが、本発明はこれに限定されるものではなく、ブロックのサイズは３２×３２画素のように小さくてもよいし、１２８×１２８画素のように大きくてもよい。ステップＳ１１０３のブロック復号処理について、図１３のフローチャートを用いて詳細に説明する。
【００６８】
まず、ステップＳ１３０１では、ビットストリームが、前記発生確率テーブルに基づいて算術復号され、２値信号が生成される。更に、Ｈ．２６４と同様にシンタックス要素毎に、ユーナリー・バイナリゼーション、固定長バイナリゼーション等の種々の２値化方式で２値化されている前記２値信号を復号し、量子化係数を含むシンタックス要素を生成する。
【００６９】
次に、ステップＳ１３０２では、算術復号された２値信号が、発生確率の高い方のシンボルであったか否かに基づいて前記発生確率テーブルが更新される。
【００７０】
次に、ステップＳ１３０３では、ブロック内の全シンタックス要素が算術復号されたか否かが判定される。全シンタックス要素が算術復号されたならば（ステップＳ１３０３でＹｅｓ）ステップＳ１３０４の処理に進み、そうでないならばステップＳ１３０１の処理に進む。
【００７１】
次に、ステップＳ１３０４では、前記量子化係数が逆量子化され、変換係数が生成される。更に、前記変換係数には逆直交変換が適用され、予測誤差が生成される。
【００７２】
次に、ステップＳ１３０５では、処理対象のブロックの周辺の画素からイントラ予測が行われ予測画像が生成される。更に、前記予測誤差と予測画像を足し合わせる事で、ブロック単位の画像データを生成する。
【００７３】
図１１のフローチャートに戻り、ステップＳ１１０３では、発生確率テーブルを格納する条件をみたしているか否かが判定される。本実施形態では、ステップＳ１１０３で復号したブロックが、フレームの左端から所定数目のブロックであったか否かを、前記発生確率テーブルを格納する条件とする。以下、前記発生確率テーブルを格納する条件である所定数を、実施形態１の符号化装置と同様に記憶条件数と記す。本実施形態では、記憶条件数をフレームの左端からの所定数とするが、本発明はそれに限定されるものではない。例えば、図２のブロックライン２０２のようにブロックラインにフレームの左端のブロックが存在しない場合がある。その際は、フレームの左端からの所定数を記憶条件数としてもよいし、ブロックラインの左端からの所定数を記憶条件数としてもよい。また本実施形態では、前記記憶条件数はスライスヘッダやＰＰＳ等の上位の階層のシンタックス要素として予め符号化されているものとする。しかし本発明はこれに限定されるものではなく、前記記憶条件数はビットストリームに依存しない固定値でもよい。前記条件を満たしている際には（ステップＳ１１０４でＹｅｓ）ステップＳ１１０５の処理に進み、前記条件を満たしていない場合はステップＳ１１０７の処理に進む。
【００７４】
ステップＳ１１０５では、格納フラグＦが１に更新される。次にステップＳ１１０６では、発生確率テーブルを第一発生確率テーブルとして、第一発生確率テーブル記憶部９０４に記憶する。第一発生確率テーブルは、次のブロックラインの左端のブロックを復号する際のブロックライン基準発生確率テーブルとして用いられる。
【００７５】
次に、ステップＳ１１０７において、処理対象のブロックラインの全ブロックを復号したか否かが判定される。全てのブロックを復号したならば（ステップＳ１１０７でＹｅｓ）ステップＳ１１０８の処理に進み、そうでないならばステップＳ１１０３の処理に進みラスタ順で次のブロックを復号する。
【００７６】
次に、ステップＳ１１０８では、格納フラグＦの値が０か否かが判定される。格納フラグＦの値が０であるという事は、ステップＳ１１０４の発生確率テーブル格納条件が一度も満たされなかった事を示す。すなわち、前記記憶条件数を満たすブロックが上端ブロックラインには存在しなかった事を示す。前記記憶条件数を満たすブロックが上端ブロックラインに存在するためには、上端ブロックラインに属するブロックの数が、フレームの水平方向のブロック数と記憶条件数との差より大きい必要がある。以下、前記記憶条件数を満たすブロックが上端ブロックラインに存在するために必要なブロックの数を必要ブロック数と記す。例えば、記憶条件数が４であり、フレームの水平方向のブロック数が１０であったとすると、必要ブロック数は、１０−４＋１＝７となる。また、前記記憶条件数をブロックラインの左端からの所定数である場合には、必要ブロック数は前記記憶条件数と同一の値となる。また、前記記憶条件数を、ブロックラインの左端からの所定数であるとすると、前記必要ブロック数は前記記憶条件数と同一となる。そして、格納フラグＦの値が０の時はステップＳ１１０９の処理に進み、そうでない場合は上端ブロックラインの復号を終了する。本実施形態では、格納フラグＦを用いて上端ブロックラインに属するブロックの数が前記必要ブロック数未満であったか否かを判定した。しかし本実施形態はこれに限定されるものではない。例えば、スライス単位の符号データのヘッダを解析し、前記スライスの最初のブロックのフレーム内における空間的な位置を算出し、それとフレームの横幅を基に上端ブロックラインに属するブロックの数が前記記憶条件数未満であったかを判定してもよい。
【００７７】
次に、ステップＳ１１０９では、発生確率テーブルを第一発生確率テーブルとして、第一発生確率テーブル記憶部９０４に記憶した後に、上端ブロックラインの復号を終了する。ステップＳ１１０９では、上端ブロックラインの右端のブロックの復号を終えた時点での発生確率テーブルが記憶される事になる。
【００７８】
ステップＳ１００３の処理（上端以外のブロックラインを復号する処理）に関して、図１２のフローチャートを用いて詳細に説明する。各ブロックラインは、セレクタ９０１において偶数番目のブロックラインであるか否かが判定される。偶数番目のブロックラインであるならば第一復号部９０２に処理対象のブロックのビットストリームが入力され復号される。奇数番目のブロックラインであるならば第二復号部９０３に処理対象のブロックのビットストリームが入力され復号される。まず、奇数番目のブロックラインを第二復号部９０３で復号する際のフローについて説明する。
【００７９】
まず、ステップＳ１２０１において、第一発生確率テーブルが第一発生確率テーブル記憶部９０４から、ブロックライン基準発生確率テーブルとして入力される。
【００８０】
ステップＳ１２０２、Ｓ１２０３、Ｓ１２０５の処理は、ステップＳ１１０３、Ｓ１１０４、Ｓ１１０７の処理と同一であるため説明を省略する。
【００８１】
ステップＳ１２０４の処理では、発生確率テーブルが第二発生確率テーブルとして、第二発生確率テーブル記憶部９０５に記憶される。第二発生確率テーブルは、次のブロックラインの左端のブロックを算術復号する際にブロックライン基準発生確率テーブルとして用いられる。
【００８２】
続いて、偶数番目のブロックラインを第一復号部９０２で復号する際のフローを説明する。
【００８３】
まず、ステップＳ１２０１の処理では、第二発生確率テーブルが第二発生確率テーブル記憶部９０５からブロックライン基準発生確率テーブルとして入力される。
【００８４】
ステップＳ１２０２、Ｓ１２０３、Ｓ１２０４、Ｓ１２０５の処理に関しては、ステップＳ１１０３、Ｓ１１０４、Ｓ１１０６、Ｓ１１０７の処理と同一であるため説明を省略する。
【００８５】
以上の構成と動作により、スライスの上端ブロックラインに属するブロック数が必要ブロック数より少なくても、上端のラインの右端のブロックの発生確率テーブルを参照する事により２番目のブロックラインの左端のブロックを復号する事が可能となる。
【００８６】
また、本実施形態においては、スライスの上端ブロックラインに属するブロック数が必要ブロック数より少ない場合は、右端のブロックの発生確率テーブルを次のラインの左端のブロックを復号する際のブロックライン基準発生確率テーブルとして用いた。しかし、本発明はこれに限定されるものではなく、スライスの形状が制限されない構成となればよい。例えば、スライスの上端ブロックラインに属するブロックの数が必要ブロック数よりも少ない場合は、予め初期化した発生確率テーブルを、次のブロックラインのブロックライン基準発生確率テーブルとしてもよい。他にも、スライスの上端ブロックラインに属するブロックの数が必要ブロック数よりも少ない場合は、スライスの上端ブロックラインの任意のブロックを復号した時点での発生確率テーブルを次のブロックラインのブロックライン基準発生確率テーブルとしてもよい。また、前記任意のブロックが何であるかという情報を予めシンタックス要素としてビットストリームに含めておいて、それを基にブロックライン基準発生確率テーブルを決定してもよい。他にも、スライスの上端ブロックラインに属するブロックの数が必要ブロック数よりも少ない場合は、上端ブロックラインと２番目のブロックラインを統合して第一復号部９０２で復号してもよい。実施形態１の符号化装置と同様に、図７にブロックラインの統合を示す。図７は、フレームを二つのスライスに分割している。太線で囲まれた部分はそれぞれスライスを表しており、７０１は上方のスライス、７０２は下方のスライスを表す。細線で囲まれる矩形はそれぞれブロックを表す。白色部のブロックが第一復号部９０２で復号され、斜線部のブロックが第二復号部９０３で復号される。ここで、記憶条件数を５、フレームの水平方向のブロック数を１０とする。フレームの水平方向と記憶条件数の差分の値は５であり、上端ブロックラインにはそれより多いブロックが必要であるため、前記必要ブロック数は６となる。しかし、スライス７０２の上端ブロックラインには５個しかブロックが存在していない。そこでブロックラインを統合する事により、統合されたブロックラインは必要ブロック数以上のブロックを有する事になる。そして統合されたブロックラインを上端ブロックラインとして取扱い、ラスタ順で必要ブロック数目のブロックを符号化した時点での発生確率テーブルを、次のブロックラインのブロックライン基準発生確率テーブルとしてもよい。前記必要ブロック数を６とすると、スライス７０２の中でラスタ順で６番目のブロックである７０３のブロックを復号した時点での発生確率テーブルが、次のブロックラインのブロックライン基準発生確率テーブルとなる。
【００８７】
また、本実施形態においてはエントロピー復号に算術復号を用いたが、本発明はこれに限定されるものではない。前記発生確率テーブルのような統計的な情報に基づいたエントロピー復号を行う際に、ブロックラインの復号の途中での、前記統計的な情報を次のブロックラインの左端のブロックをエントロピー復号する際に用いるものならばよい。
なお、本実施形態で復号部が２つの場合について説明したが、例えば第三復号部、第三発生確率テーブル記憶部を加えることで、より多くの復号部での並列処理が可能になることは明白である。
【００８８】
＜実施形態３＞
図１、図９に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、図１、図９に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
【００８９】
１４は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【００９０】
ＣＰＵ１４０１は、ＲＡＭ１４０２やＲＯＭ１４０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ１４０１は、図１、図９に示した各処理部として機能することになる。
【００９１】
ＲＡＭ１４０２は、外部記憶装置１４０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１４０９を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ１４０２は、ＣＰＵ１４０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１４０２は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
【００９２】
ＲＯＭ１４０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部１４０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ１４０１に対して入力することができる。表示部１４０５は、ＣＰＵ１４０１による処理結果を表示する。また表示部１４０５は例えば液晶ディスプレイのような表示装置で構成される。
【００９３】
外部記憶装置１４０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置１４０６には、ＯＳ（オペレーティングシステム）や、図１、図９に示した各部の機能をＣＰＵ１４０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置１４０６には、処理対象としての各画像データが保存されていても良い。
【００９４】
外部記憶装置１４０６に保存されているコンピュータプログラムやデータは、ＣＰＵ１４０１による制御に従って適宜ＲＡＭ１４０２にロードされ、ＣＰＵ１４０１による処理対象となる。Ｉ／Ｆ１４０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ１４０７を介して様々な情報を取得したり、送出したりすることができる。１４０８は上述の各部を繋ぐバスである。
【００９５】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ１４０１が中心となってその制御を行う。
【００９６】
＜その他の実施形態＞
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【００９７】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【００９８】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
2013098735.tif 000003
【図２】
2013098735.tif 000004
【図３】
2013098735.tif 000005
【図４】
2013098735.tif 000006
【図５】
2013098735.tif 000007
【図６】
2013098735.tif 000008
【図７】
2013098735.tif 000009
【図８】
2013098735.tif 000010
【図９】
2013098735.tif 000011
【図１０】
2013098735.tif 000012
【図１１】
2013098735.tif 000013
【図１２】
2013098735.tif 000014
【図１３】
2013098735.tif 000015
【図１４】
2013098735.tif 000016