(57)【要約】【課題】  従来の符号化方式や現在標準化活動中のＨＥＶＣ符号化方式においては、直交変換方法が複数存在する場合でも対応する量子化マトリクスが１つしか定義できず、直交変換方法に最適な量子化マトリクスを適用することができなかった。【解決手段】  入力された画像を複数のブロックに分割し、参照する画素からの予測残差を生成するし、前記予測残差に対し変換を行い、生成された変換係数を量子化して係数データを生成し、生成された係数データをエントロピー符号化し、エントロピー符号化された前記係数データのデータ量が所定の閾値を超えた場合は、前記ブロックに分割された画像を示すデータを選択し、前記係数データのデータ量が前記所定の閾値を超えない場合は、前記エントロピー符号化された係数データを選択し、選択されたデータを符号列として出力する。【選択図】  図１
2014011481.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像を複数のブロックに分割し、参照する画素からの予測残差を生成する予測手段と、
前記予測残差に対し変換を行い、生成された変換係数を量子化して係数データを生成する量子化手段と、
生成された係数データをエントロピー符号化するエントロピー符号化手段と、
エントロピー符号化された前記係数データのデータ量が所定の閾値を超えた場合は、前記ブロックに分割された画像を示すデータを選択し、前記係数データのデータ量が前記所定の閾値を超えない場合は、前記エントロピー符号化された係数データを選択する選択手段と、
選択されたデータを符号列として出力する符号列出力手段と
を有することを特徴とする画像符号化装置。
【請求項２】
前記所定の閾値は、画像復号方法により復号可能な処理の組み合わせを示すプロファイルに基づいて閾値を設定する閾値設定手段によって設定されることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記閾値設定手段は、閾値をブロックの大きさに基づいて導出することを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記閾値設定手段は、復号処理の並列処理を可能ならしめる処理の有無を示すプロファイルに基づいて、ブロックのデータ量の閾値を導出することを特徴とする請求項２に記載の画像符号化装置。
【請求項５】
前記並列処理の単位は、画面内を符号化順序で分割したスライスであることを特徴とする請求項４に記載の画像符号化装置。
【請求項６】
前記並列処理の単位は、画面内を長方形に分割したタイルであることを特徴とする請求項４に記載の画像符号化装置。
【請求項７】
前記並列処理の単位は、高さを１ブロック分とするラインで画面内を分割したブロックラインであることを特徴とする請求項４に記載の画像符号化装置。
【請求項８】
前記プロファイルは、前記選択手段が、前記ブロック単位でエントロピー符号化されたデータのデータ量と閾値との比較結果に関わらず、前記ブロック分割された画像を示すデータと前記エントロピー符号化された係数データのうち任意のデータを選択可能ならしめる組み合わせを含むことを特徴とする請求項２に記載の画像符号化装置。
【請求項９】
前記所定の閾値は、前記符号列に含まれる単位時間あたりの画素数を定義する符号化レベルに基づいて閾値を設定する閾値設定手段によって設定されることを特徴とする請求項１に記載の画像符号化装置。
【請求項１０】
前記選択手段は、エントロピー符号化された係数データのビット数と所定の閾値を比較することを特徴とする請求項１に記載の画像符号化装置。
【請求項１１】
前記エントロピー符号化手段は、符号化対象のデータを２値データに変換する２値変換手段と、該２値データに対して算術符号化を行う算術符号化手段を有し、
前記選択手段は、２値データのビット数と所定の閾値とを比較することを特徴とする請求項１に記載の画像符号化装置。
【請求項１２】
前記エントロピー符号化手段は、前記算術符号化されたデータまたは前記２値データのいずれかを符号化対象のデータ種別に応じて選択して出力する符号選択手段をさらに有し、
前記選択手段は、前記算術符号化されたデータが選択されるデータ種別に対応する２値データのビット数と閾値を比較することを特徴とする請求項１１に記載の画像符号化装置。
【請求項１３】
ブロック単位でエントロピー符号化された画像に対応する符号列を復号する画像復号装置であって、
前記符号列から、符号化の処理の組み合わせを示すプロファイルを識別するプロファイル識別子を復号する復号手段と、
前記符号列から、エントロピー符号化したデータとエントロピー符号化をしていないデータのいずれが含まれるかをブロック単位で識別するための符号化タイプ識別子を判定する判定手段を含み、
前記プロファイルは、エントロピー符号化されたデータ量のブロック単位での上限値を導出するものであることを特徴とする画像復号装置。
【請求項１４】
前記エントロピー符号化されたデータのデータ量は、エントロピー符号化されたデータのビット数であることを特徴とする請求項１３に記載の画像復号装置。
【請求項１５】
前記符号列は、符号化対象のデータを２値データに変換し、該２値データに対して算術符号化を行うことにより生成されたものであり、前記エントロピー符号化されたデータのデータ量は、２値データのビット数であることを特徴とする請求項１３に記載の画像復号装置。
【請求項１６】
前記エントロピー符号化されたデータ量のブロック単位での上限値が、ブロックの大きさに基づいて導出されることを特徴とする請求項１３に記載の画像復号装置。
【請求項１７】
画像符号化装置における画像符号化方法であって、
入力された画像を複数のブロックに分割し、参照する画素からの予測残差を生成する予測工程と、
前記予測残差に対し変換を行い、生成された変換係数を量子化して係数データを生成する量子化工程と、
生成された係数データをエントロピー符号化するエントロピー符号化工程と、
エントロピー符号化された前記係数データのデータ量が所定の閾値を超えた場合は、前記ブロックに分割された画像を示すデータを選択し、前記係数データのデータ量が前記所定の閾値を超えない場合は、前記エントロピー符号化された係数データを選択する選択工程と、
選択されたデータを符号列として出力する符号列出力工程とを有することを特徴とする画像符号化方法。
【請求項１８】
ブロック単位でエントロピー符号化された画像に対応する符号列を復号する画像復号装置における画像復号方法であって、
前記符号列から、符号化の処理の組み合わせを示すプロファイルを識別するプロファイル識別子を復号する復号手段と、
前記符号列から、エントロピー符号化したデータとエントロピー符号化をしていないデータのいずれが含まれるかをブロック単位で識別するための符号化タイプ識別子を判定する判定手段を含み、
前記プロファイルは、エントロピー符号化されたデータ量のブロック単位での上限値を導出するものであることを特徴とする画像復号方法。
【請求項１９】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項１に記載の画像符号化装置として機能させることを特徴とするプログラム。
【請求項２０】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項１３に記載の画像復号装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関し、特にエントロピー符号化のバイパス処理に関する。
【背景技術】
【０００２】
動画像の圧縮記録に用いられる符号化方式として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知られている。（非特許文献１）
Ｈ．２６４においては、エントロピー符号化された１６×１６画素のマクロブロックを出力するのみならず、Ｉ−ＰＣＭモードと呼ばれる原画像データをそのまま出力するモードを、マクロブロック単位で選択することも可能である。なお、Ｈ．２６４では、マクロブロックのビット数が３２００ビットを超えてはならないという制限がある。よって、エントロピー符号化されたマクロブロックのデータ量が３２００ビットを超えた場合は、Ｉ−ＰＣＭモードを選択するか、量子化スケール値を上げて再符号化する等の処理を行う必要がある。
【０００３】
また、Ｈ．２６４にはＣＡＶＬＣ（コンテキスト適応型可変長符号化）とＣＡＢＡＣ（コンテキスト適応型算術符号化）と呼ばれる２つのエントロピー符号化方式が採用されており、いずれを用いるかをピクチャ単位で選択することが可能である。
【０００４】
ＣＡＢＡＣでは、エントロピー符号化対象の各シンタックス要素が２値化され、２値データが生成される。各シンタックス要素には、あらかじめ発生確率がテーブル（以下、発生確率テーブル）として与えられ、前記２値データは前記発生確率テーブルに基づいて算術符号化される。そして符号化が行われる毎に、符号化された２値データが発生確率の高い方のシンボルであったか否か、という統計情報に基づいて発生確率テーブルが更新される。
【０００５】
ＣＡＢＡＣはＣＡＶＬＣと比較して圧縮率が高いという長所があるが、上述した処理を行うため１クロックサイクルあたりの処理性能が低いという短所がある。特に、ＣＡＢＡＣは２値データのビット数に依存して１マクロブロックあたりの処理時間が変動するため、圧縮率が低いときは復号処理性能が足りなくなる可能性がある。そこで、ビット数が上述の３２００ビットに近い圧縮率のマクロブロックが発生し得ることが原画像の解析や量子化値の設定から予想されるピクチャに対しては、ＣＡＶＬＣを選択することにより復号処理性能の不足を防げる。
【０００６】
近年、Ｈ．２６４の後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始されて、ＪＣＴ−ＶＣ（Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔの間で設立された。ＪＣＴ−ＶＣでは、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ符号化方式（以下、ＨＥＶＣ）の標準化が進められている。
【０００７】
ＨＥＶＣの標準化にあたっては、種々の符号化ツールが、符号化効率向上のみならず実装の容易性や処理時間の短縮といった観点も含めて幅広く検討されている。処理時間の短縮の中には、マルチコアのＣＰＵ等の上で動作させる事を想定した、並列性を高めるための手法も検討されている。それらの手法の例として、エントロピー符号化・復号を並列に処理するために、画像をスライス、タイル、ブロックラインといった単位に分割する手法が挙げられる。
【０００８】
一方、エントロピー符号化方式についてはＣＡＢＡＣのみを使用することを前提に検討が進んでいる。上述のようにエントロピー符号化・復号を並列に処理するための手法が導入されているため、所定のサイズの画像データを符号化・復号するためにＣＡＢＡＣに要求される処理性能には幅がある。
【０００９】
さらに、ＨＥＶＣでは、Ｈ．２６４のマクロブロックに代わってＬＣＵ（Ｌａｒｇｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ）と呼ばれるブロックを単位として符号化を行う。ＬＣＵは１６×１６画素、３２×３２画素、６４×６４画素の中から選択することができる。ＬＣＵの中はさらにＣＵ（Ｃｏｄｉｎｇ  Ｕｎｉｔ）と呼ばれるサブブロックに分割することができ、ＣＵを単位としてＩ−ＰＣＭモードを選択することが可能である。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】ＩＴＵ−Ｔ  Ｈ．２６４  （０３／２０１０）  Ａｄｖａｎｃｅｄｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ
【非特許文献２】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ｈ１００３  インターネット＜  ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／８＿Ｓａｎ％２０Ｊｏｓｅ／ｗｇ１１／  ＞
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、既に述べたようにＨＥＶＣではＣＡＢＡＣのみをエントロピー符号化に使用することが検討されているので、圧縮率が低いために復号処理に時間を要するサブブロックが発生し得ることが予想されても、高速なエントロピー符号化方式に切り替えられない。また、デジタルビデオカメラ等のリアルタイム圧縮処理を前提とする応用分野では、上述のようなサブブロックに対して量子化スケーリング値を上げて再符号化することは、要求処理性能の観点から困難である。
【００１２】
これに対する解決手段としては、Ｉ−ＰＣＭモードを選択するか否かを判定する閾値となるサブブロックのデータ量上限値を、従来よりも低く設定する方法がある。なぜならば、Ｉ−ＰＣＭモードでは原画像データがそのまま符号列として出力されるので、復号処理ではエントロピー復号処理をバイパスすることができるからである。
【００１３】
例えば、１６×１６画素のサブブロックをエントロピー符号化する場合の閾値を、Ｈ．２６４において対応する閾値である３２００ビットではなく５００ビットとする。一方、サブブロックをＩ−ＰＣＭモードで符号化する場合は５００ビットを超えることを許容する。上述のようにＣＡＢＡＣは２値データのビット数に依存してサブブロックあたりの処理時間が変動し、おおよそ２値データ１ビットあたり１サイクルで処理されることが一般的である。よって、上記閾値が５００ビットの場合、１６×１６画素のサブブロックをおおよそ５００サイクル前後でエントロピー復号処理できると見積もることができる。
【００１４】
しかしながら、上述のようにＨＥＶＣにはエントロピー符号化・復号を並列に処理するための手法が導入されており、復号装置側において並列処理を構成する各々のエントロピー復号部に求められる処理性能は一定ではない。無論、エントロピー復号処理の性能は、復号処理をＣＰＵ上のソフトウェアで具現化する場合にはＣＰＵの性能にも依存し、復号処理をＬＳＩ上の専用回路として具現化する場合はＬＳＩの動作周波数にも依存する。
【００１５】
しかしながら、Ｉ−ＰＣＭモードを選択するか否かを判定する閾値を一律に低く設定した場合、エントロピー復号部の処理性能に余裕があるのにＩ−ＰＣＭモードが過剰に選択される可能性がある。Ｉ−ＰＣＭモードが過剰に選択された場合、非圧縮のデータである原画像データのサブブロックが符号列に数多く出力されることになるので、圧縮効率の低下を招いてしまう。
【００１６】
一方で、上記閾値を高く設定した場合は、エントロピー復号を並列に処理できない復号装置においてはエントロピー復号処理性能が不足し、復号された動画像のコマ落ちが発生する可能性がある。
【００１７】
したがって、本発明は、エントロピー復号処理性能の不足に起因する復号画像のコマ落ちを防ぎ、且つエントロピー符号化をバイパスしたデータが過剰に符号列に出力されるのを防げることが可能な符号化・復号を実現することを目的としている。
【課題を解決するための手段】
【００１８】
上述の問題点を解決するため、本発明の画像符号化装置は以下の構成を有する。すなわち、入力された画像を複数のブロックに分割し、参照する画素からの予測残差を生成する予測手段と、前記予測残差に対し変換を行い、生成された変換係数を量子化して係数データを生成する量子化手段と、生成された係数データをエントロピー符号化するエントロピー符号化手段と、エントロピー符号化された前記係数データのデータ量が所定の閾値を超えた場合は、前記ブロックに分割された画像を示すデータを選択し、前記係数データのデータ量が前記所定の閾値を超えない場合は、前記エントロピー符号化された係数データを選択する選択手段と、選択されたデータを符号列として出力する符号列出力手段とを有する。
【００１９】
さらに、本発明の画像復号装置は以下の構成を有する。すなわち、ブロック単位でエントロピー符号化された画像に対応する符号列を復号する画像復号装置であって、前記符号列から、符号化の処理の組み合わせを示すプロファイルを識別するプロファイル識別子を復号する復号手段と、前記符号列から、エントロピー符号化したデータとエントロピー符号化をしていないデータのいずれが含まれるかをブロック単位で識別するための符号化タイプ識別子を判定する判定手段を含み、前記プロファイルは、エントロピー符号化されたデータ量のブロック単位での上限値を導出するものであることを特徴とする。
【発明の効果】
【００２０】
本発明の画像符号化方法では、復号可能な処理の組み合わせを示すプロファイルや、符号列に含まれる単位時間あたりの画素数を定義する符号化レベルを基に、エントロピー符号化をバイパスするか否かが選択される。よって、画像復号装置のエントロピー復号処理性能に最適な符号列を出力できる。従って、エントロピー復号処理性能の不足に起因する復号画像のコマ落ちを防ぐことができ、且つエントロピー符号化をバイパスしたデータが過剰に符号列に出力されるのを防げるので圧縮率を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】実施形態１の画像符号化装置の構成を表すブロック図
【図２】実施形態１のデータ選択部１０８の処理を説明するフローチャート
【図３】実施形態１のデータ選択部１０８により導出される閾値を説明する表
【図４】実施形態１の変形例のデータ選択部１０８により導出される閾値を説明する表
【図５】実施形態１の変形例のデータ選択部１０８により導出される閾値を説明する表
【図６】実施形態１の変形例のデータ選択部１０８により導出される閾値を説明する表
【図７】実施形態２のエントロピー符号化部１０７の構成を表すブロック図
【図８】実施形態２のデータ選択部１０８の処理を説明するフローチャート
【図９】実施形態２のデータ選択部１０８により導出される閾値を説明する表
【図１０】実施形態２の変形例のデータ選択部１０８により導出される閾値を説明する表
【図１１】実施形態２の変形例のデータ選択部１０８により導出される閾値を説明する表
【図１２】実施形態３のデータ選択部１０８の処理を説明するフローチャート
【図１３】実施形態４のデータ選択部１０８の処理を説明するフローチャート
【図１４】実施形態４のデータ選択部１０８により導出される閾値を説明する表
【図１５】実施形態４の変形例のデータ選択部１０８により導出される閾値を説明する表
【図１６】実施形態４の変形例のデータ選択部１０８により導出される閾値を説明する表
【図１７】実施形態５の画像復号装置の構成を表すブロック図
【図１８】実施形態５の全体制御部４０９の処理を説明するフローチャート
【図１９】実施形態５の変形例の全体制御部４０９の処理を説明するフローチャート
【図２０】実施形態５のエントロピー復号部５０１及び５１１の処理を説明するフローチャート
【図２１】実施形態５の変形例のエントロピー復号部５０１及び５１１の処理を説明するフローチャート
【図２２】実施形態５のエントロピー復号部５０１及び５１１の構成を表すブロック図
【図２３】実施形態６のエントロピー復号部５０１及び５１１の処理を説明するフローチャート
【図２４】実施形態７のエントロピー復号制御部５０２１による判定処理を説明するフローチャート
【図２５】実施形態８のエントロピー復号制御部５０２１による判定処理を説明するフローチャート
【図２６】スライス、タイル、ブロックラインへの分割を例示する図
【図２７】実施形態４の変形例のデータ選択部１０８により導出される閾値を説明する表
【図２８】本発明の画像符号化装置、復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図
【発明を実施するための形態】
【００２２】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００２３】
＜実施形態１＞
本発明の実施形態１の画像符号化装置について図１を参照して説明する。図１は、本実施形態の画像符号化装置の構成を表すブロック図である。
【００２４】
１００はブロック分割部であり、ブロック単位で入力された原画像データを、画像の特性に合わせて所定の大きさのサブブロックに分割して出力する。入力される画像データのブロックの大きさは６４×６４画素、３２×３２画素、１６×１６画素の３通りである。なお、ブロックを複数のサブブロックに分割せず、入力されたブロックをそのままサブブロックとしてもよい。サブブロックの大きさは最小で８×８画素である。よって、ブロック分割部１００から出力されるサブブロックの大きさは、６４×６４画素、３２×３２画素、１６×１６画素、８×８画素の４通りである。
【００２５】
１０１は原画像バッファであり、ブロック分割部１００から出力されたブロック分割後の原画像データを保持する。
【００２６】
１０２は予測残差生成部であり、ブロック分割部１００から出力されたブロック分割後の原画像データに対し、フレーム内予測またはフレーム間予測を行い、予測残差データを出力する。フレーム内予測を行う場合は、予測対象のブロックに隣接する画素を基に参照画像データを生成し、該参照画像データとの原画像データとの差分を算出する。フレーム間予測を行う場合は、フレームメモリ１０６から参照画像データを読み出し、原画像データとの差分を算出する。ここで、上記サブブロックをさらに予測ブロックに分割してもよいが、予測ブロックのサイズについての詳細は非特許文献２により公知であるため説明を省略する。また、予測残差生成部１０２は、イントラ予測モードや動きベクトルなどのヘッダデータを出力する。
【００２７】
１０３は変換・量子化部であり、予測残差生成部１０２から出力された予測残差を変換し、変換後の係数データを量子化して出力する。ここで、上記サブブロックをさらに変換ブロックに分割してもよいが、変換ブロックのサイズについての詳細は非特許文献２により公知であるため説明を省略する。
【００２８】
１０４は逆変換・逆量子化部であり、変換・量子化部１０３から出力された係数データを逆量子化し、逆変換を行う。
【００２９】
１０５は局所復号部であり、フレーム間予測符号化されたサブブロックに対しては、逆変換・逆量子化部１０４から出力されたデータと、フレームメモリ１０６から読み出した参照画像データを加算する。フレーム内予測符号化されたサブブロックに対しては、隣接する画素を基にした参照画像データを加算する。加算によって復号された画像データは、後続する原画像データの符号化のために、フレームメモリ１０６へ書き込まれる。
【００３０】
１０７はエントロピー符号化部であり、変換・量子化部１０３から出力された係数データをエントロピー符号化する。また、エントロピー符号化部１０７は、予測残差生成部１０２から出力されるヘッダデータもエントロピー符号化する。
【００３１】
１１０は閾値設定部であり、後述するデータ選択部１０８で用いられる閾値を、画像復号装置により復号可能な処理の組み合わせを示すプロファイルに基づいて導出し、データ選択部１０８に設定する。
【００３２】
１０８はデータ選択部であり、エントロピー符号化部１０７でエントロピー符号化されたデータをサブブロック単位で保持する図示されないバッファを備える。原画像バッファ１０１で保持された原画像データとエントロピー符号化されたデータのうち出力するデータを、設定された閾値に基づいてサブブロック単位で選択する。即ち、エントロピー符号化をバイパスしたデータと、エントロピー符号化されたデータのいずれかを選択する。
【００３３】
なお、エントロピー符号化をバイパスしたデータ（原画像データ）が選択された場合、後続するサブブロックやフレームの予測符号化において該原画像データが参照される。よって、この場合は原画像バッファ１０１から出力されるデータを、予測残差生成部１０２及び局所復号部１０５に入力する。１０９は符号列出力部であり、データ選択部１０８によって選択されたデータを外部へ出力する。
【００３４】
次に、データ選択部１０８によるサブブロック単位でのデータの選択方法を、図２に示すフローチャートを参照して説明する。まず、サブブロックのビット数と閾値を比較する（ステップＳ１０１）。サブブロックのビット数が閾値より大きい場合（ステップＳ１０１でＹｅｓ）、エントロピー符号化をバイパスしたデータ（原画像データ）をステップＳ１０２で選択する。そうでない場合（ステップＳ１０１でＮｏ）、ステップＳ１０３でエントロピー符号化されたデータを選択する。
【００３５】
なお、ＨＥＶＣでは、エントロピー符号化をバイパスしたデータ（原画像データ）を選択できるサブブロックの大きさの範囲が、シーケンス・パラメータ・セットに属するパラメータにより定まる。該範囲外の大きさのサブブロックを処理する場合、データ選択部１０８は常にエントロピー符号化されたデータを選択する。
【００３６】
次に、閾値設定部１１０による閾値の導出方法の一例について図３を用いて説明する。図３は、プロファイル毎の閾値を示す表である。プロファイルは、画像に対する符号化を開始する前に、予め外部から閾値設定部１１０に設定される。図３において、「復号可能な処理」の欄は、画像復号装置により復号可能な処理の組み合わせのうち、並列処理を可能ならしめる処理を記載している。
【００３７】
なお、本発明は図３に示すプロファイルの名称、復号可能な処理または閾値の具体的な値に限定されるものではない。例えば、図４に例示するプロファイルの名称、処理または閾値であってもよい。
【００３８】
ベースライン・プロファイルでは、並列処理を可能ならしめる処理はスライスのみである。メイン・プロファイルでは、スライス、タイル、ブロックラインが、並列処理を可能ならしめる処理として使用できる。なお、スライスとは画面内を符号化順序で分割するものである。タイルとは、画面内を長方形に分割するものである。ブロックラインは、１ブロック分の高さのラインで画面を分割するものである。
【００３９】
これらは１つの画像内で階層的に併用することが可能であり、ベースライン・プロファイルよりも処理の並列度を上げることができる。例えば、図２６（ａ）で示すように１スライスに複数のタイルが含まれてもよいし、図２６（ｂ）で示すように１スライスに複数のブロックラインが含まれてもよい。
【００４０】
並列度の向上により、画像復号装置内部のエントロピー復号部１つあたりの要求処理性能はベースライン・プロファイルよりも下がるので、ベースライン・プロファイルよりも高い閾値が導出される。無論、並列処理を可能ならしめる処理の多寡に限定されずに、閾値を導出してもよい。例えば、図３においてメイン・プロファイルとハイ・プロファイルは、並列処理を可能ならしめる処理の種類は同一であるが、ハイ・プロファイルの方がメイン・プロファイルよりも高い閾値が導出される。
【００４１】
また、図５に示すように、ハイ・プロファイルのような上位のプロファイルでは閾値を設けないことにより、前記データ量と閾値との比較結果に関わらず、データ選択部１０８が任意のデータを選択可能にできるようにしてもよい。
【００４２】
以上説明したように、本実施形態の画像符号化装置では、プロファイルに基づいて１サブブロックあたりのデータ量の閾値を導出し、該閾値を超えた場合はエントロピー符号化をバイパスしたデータを出力するようにしている。
【００４３】
背景技術の説明で述べたように、画像復号装置ではエントロピー符号化をバイパスしたデータを高速に符号列から取り出すことができるため、該データに対しては高速に復号処理できる。一方、エントロピー符号化したデータに対する復号処理はデータ量に依存しており、１サブブロックあたりのデータ量が大きいほど復号処理に長い時間を要する。よって、画像復号装置で可能な並列処理の有無を示すプロファイルに応じて前記閾値を変えることにより、画像復号装置のエントロピー復号処理性能に最適な符号列を出力できる。例えば、エントロピー復号の並列処理ができない画像復号装置に対しては、極度に復号処理時間が増大するブロックの発生を抑制することで、エントロピー復号部の処理性能不足に起因する復号画像のコマ落ちを防ぐことができる。一方、エントロピー復号の並列処理ができる画像復号装置に対しては、エントロピー符号化をバイパスしたデータが過剰に符号列に出力されるのを防げるので、圧縮率を向上させることができる。
【００４４】
なお、本発明はプロファイルによる１サブブロックあたりのデータ量の制限に限定されるものではない。例えば、閾値設定部１１０は、図６に示すように符号列に含まれる単位時間あたりの画素数を定義する符号化レベルから閾値を導出してもよい。図６において、「単位時間あたりの画素数」は１秒あたりに画像復号装置が処理可能な画素数を表す。レベル１をサポートする画像復号装置では１秒あたり５５２，９６０画素を処理できればよいが、レベル４及びレベル４．１をサポート画像復号装置では１秒あたり６２，６６８，８００画素を処理しなければならない。処理すべき単位時間あたりの画素数が増えるほどエントロピー復号部に許容される１サブブロックあたりの処理時間が減少する。よって、レベルが上がるごとに１サブブロックあたりのデータ量の閾値を低く設定し、極度に復号処理時間が増大するサブブロックの発生を抑制することで、エントロピー復号部の処理性能不足に起因する復号画像のコマ落ちを防ぐことができる。
【００４５】
さらに、単位時間あたりの画素数が増大しても、並列処理を可能ならしめる処理がプロファイルに含まれている場合は、エントロピー復号部に許容される１サブブロックあたりの処理時間は増加する。このような場合は１サブブロックあたりデータ量の閾値の制限を緩めることができるので、図６のレベル４．１のように閾値をレベル４よりも増やしてもよいし、４．２のように閾値を設けずデータ選択部１０８が任意のデータを選択できるようにしてもよい。
【００４６】
＜実施形態２＞
本発明の実施形態２の画像符号化装置を説明する。本実施形態の画像符号化装置の全体の構成は、図１に示した実施形態１の画像符号化装置と同一であるが、エントロピー符号化部１０７の内部は、図７に示すブロック図の構成となっている。以下、図７を参照して本実施形態の画像符号化装置を説明する。
【００４７】
２０１はエントロピー符号化制御部であり、後述する２値変換部２０２、算術符号化部２０３、符号選択部２０４に対して、符号化対象のデータ種別（シンタクス要素の種別）を与える。
【００４８】
２０２は２値変換部であり、入力された係数データ及びヘッダデータを２値データに変換する。２値データへの変換方法はデータ種別により異なるが、非特許文献２により公知なので説明を省略する。また、２値変換部２０２は、２値データのビット数をデータ選択部１０８へ出力する。
【００４９】
２０３は算術符号化部であり、符号化対象のデータ種別に応じて発生確率テーブルを選択し、選択した発生確率テーブルに基づいて前記２値データを算術符号化する。
【００５０】
２０４は符号選択部であり、前記２値データと前記算術符号化されたデータのいずれかを、データ種別に応じて選択してデータ選択部１０８へ出力する。
【００５１】
次に、本実施形態のデータ選択部１０８によるサブブロック単位でのデータの選択方法について図８を用いて説明する。まず、ステップＳ２０１でサブブロック内の２値データのビット数を累算する。次に、ステップＳ２０２でサブブロックのビット数と閾値を比較する。サブブロックの２値データのビット数が閾値より大きい場合（ステップＳ２０２でＹｅｓ）、エントロピー符号化をバイパスしたデータ（原画像データ）をＳ２０３で選択する。そうでない場合（ステップＳ２０２でＮｏ）、エントロピー符号化されたデータをステップＳ２０４で選択する。
【００５２】
次に、本実施形態の閾値設定部１１０による閾値の導出方法を説明する。図９は、プロファイル毎の２値データのビット数の閾値を示す表である。実施形態１の画像符号化装置の説明に用いた図３と同様に、「復号可能な処理」は、画像復号装置により復号可能な処理の組み合わせのうち、並列処理を可能ならしめる処理を記載している。実施形態１と同様に、本実施形態ではプロファイルに基づいて閾値を導出している。無論、本発明はこれに限定されるものではなく、図１０のハイ・プロファイルで示すように閾値を設けず、データ選択部１０８が任意のデータを選択できるようにしてもよい。
【００５３】
さらに、本発明はこれに限定されるものではなく、図１１に示すように符号列に含まれる単位時間あたりの画素数を定義する符号化レベルから閾値を導出してもよい。また、本発明は図９、図１０及び図１１に示す具体的な閾値に限定されるものではなく、他の値であってもよい。
【００５４】
以上説明したように、本実施形態の画像符号化装置では、プロファイルやレベルに基づいて１サブブロックあたりの２値データのビット数の閾値を導出し、該閾値を超えた場合はエントロピー符号化をバイパスしたデータを出力するようにしている。一般的に算術復号の速度は２値データ１ビットあたり１クロックサイクルで処理されるため、サブブロックに対する復号処理時間はサブブロックの２値データのビット数に依存している。よって、極度に復号処理時間が増大する２値データが多いサブブロックの発生を抑制することで、エントロピー復号部の処理性能不足に起因する復号画像のコマ落ちを防ぐことができる。
【００５５】
なお、本発明はこれに限定されるものではなく、データ選択部１０８は、算術符号化が符号選択部２０４によって選択されるデータ種別に対応する２値データのビット数のみをステップＳ２０１で累算してもよい。すなわち、算術符号化される２値データのビット数だけをステップＳ２０１で累算してもよい。
【００５６】
＜実施形態３＞
本発明の実施形態３の画像符号化装置を説明する。本実施形態の画像符号化装置の全体の構成は、図１に示した実施形態１の画像符号化装置と同一である。さらに、エントロピー符号化部１０７の内部は、図７に示した実施形態２の画像符号化装置と同一である。
【００５７】
閾値設定部１１０による閾値の導出方法は実施形態１及び実施形態２の画像符号化装置と異なり、プロファイルやレベルに依らずサブブロックの大きさに応じて定まる値が導出される。ただし、本発明はこれに限定されるものではなく、プロファイルやレベルに応じて異なる値を導出してもよい。
【００５８】
データ選択部１０８によるサブブロック単位でのデータの選択方法は、実施形態２の画像符号化装置と異なる。以下、本実施形態の画像符号化装置におけるサブブロック単位でのデータの選択方法を、図１２のフローチャートを参照して説明する。
【００５９】
まず、サブブロック内の２値データのビット数の累算値を表す変数ＢｉｎＴｏｔａｌを０に初期化する（ステップＳ３０１）。次に、符号化対象のデータ種別（シンタクス要素）のビット数ＢｉｎＳｉｚｅを取得する（ステップＳ３０２）。
【００６０】
取得したＢｉｎＳｉｚｅに対応するデータ種別が、算術符号化されるデータ種別である場合（ステップＳ３０３でＹｅｓ）、ステップＳ３０４でＢｉｎＳｉｚｅを２倍する。そうでない場合（ステップＳ３０３でＮｏ）、ステップＳ３０５へ処理を進める。なお、本発明はＢｉｎＳｉｚｅを２倍することに限定されるものではなく、２値データの種別に応じた２値データのビット数の重み付けを変える方法は他のものであってもよい。ステップＳ３０５で、ＢｉｎＴｏｔａｌにＢｉｎＳｉｚｅを加算する。
【００６１】
サブブロックのエントロピー符号化を終えた場合（ステップＳ３０６でＹｅｓ）はステップＳ３０７へ処理を進める。そうでない場合（ステップＳ３０６でＮｏ）はステップＳ３０２へ処理を進め、後続するデータ種別の２値データのビット数の取得とＢｉｎＴｏｔａｌへの加算を行う。
【００６２】
ステップＳ３０７で、ＢｉｎＴｏｔａｌと閾値とを比較する。ＢｉｎＴｏｔａｌが閾値よりも大きい場合は（ステップＳ３０７でＹｅｓ）、エントロピー符号化をバイパスしたデータを選択（ステップＳ３０８）。そうでない場合は（ステップＳ３０７でＮｏ）、エントロピー符号化データを選択する（ステップＳ３０９）。
【００６３】
以上説明したように、本実施形態の画像符号化装置では、２値データの種別に応じて２値データのビット数の重み付けを変えてサブブロックのビット数を累算し、該累算されたビット数と閾値とを比較している。算術符号化をバイパスしたデータの符号列と算術符号化されたデータの符号列とではエントロピー復号の速度に相違がある。よって、このように２値データのビット数の重み付けを変えることにより、エントロピー復号部が安定した処理性能で復号できる符号列を生成することができるため、復号画像のコマ落ちを防ぐことができる。
【００６４】
＜実施形態４＞
本発明の実施形態４の画像符号化装置について説明する。本実施形態の画像符号化装置は、実施形態２の画像符号化装置と同一であるが、閾値設定部１１０が導出する閾値と、データ選択部１０８による処理が異なる。
【００６５】
閾値設定部１１０は、図１４に示すように、サブブロックの大きさに基づいて第１閾値と第２閾値を導出し、データ選択部１０８に設定する。データ選択部１０８による処理を、図１３に示すフローチャートを用いて説明する。
【００６６】
ステップＳ４０１では、サブブロック内のエントロピー符号化データのビット数を累算する。ステップＳ４０２で、サブブロック内の２値データのビット数を累算する。ステップＳ４０３では、サブブロック内のエントロピー符号化データのビット数と第１閾値とを比較する。サブブロック内のエントロピー符号化データのビット数が第１閾値より大きい場合（ステップＳ４０３でＹｅｓ）は、ステップＳ３０６へ処理を進める。そうでない場合（ステップＳ４０３でＮｏ）は、ステップＳ３０４へ処理を進める。ステップＳ４０４では、サブブロック内の２値データのビット数と第２閾値とを比較する。サブブロック内の２値データのビット数が第２閾値より大きい場合（ステップＳ４０４でＹｅｓ）は、ステップＳ４０６へ処理を進める。そうでない場合（ステップＳ４０３でＮｏ）は、ステップＳ４０５へ処理を進める。ステップＳ４０５では、エントロピー符号化データを選択して符号列出力部１０９へ出力する。ステップＳ４０６では、エントロピー符号化をバイパスしたデータ（原画像データ）を選択して符号列出力部１０９へ出力する。
【００６７】
以上説明したように、本実施形態の画像符号化装置では、サブブロック内のエントロピー符号化データのビット数が第１閾値を超えた場合、エントロピー符号化をバイパスしたデータを出力する。また、サブブロック内の２値データのビット数が第２閾値を超えた場合も、エントロピー符号化をバイパスしたデータを出力する。
【００６８】
サブブロック内の２値データのビット数だけを抑制する場合は、画像復号装置の処理性能を満たしたとしても圧縮率の低い符号列が生成される可能性がある。しかしながら、本実施形態の画像符号化装置ではサブブロック内のエントロピー符号化データのビット数も閾値以下に抑えるので、画像復号装置の処理性能を満たし且つ圧縮率の高い符号列を出力できる。
【００６９】
また、ステップＳ４０３とステップＳ４０４の順番を入れ替えてもよい。即ち、先にサブブロック内の２値データのビット数が第２閾値より大きいか否かを判定する。該２値データのビット数が第２閾値より大きければステップＳ４０６を実行し、そうでなければサブブロック内のエントロピー符号化データのビット数が第１閾値より大きいか否かを判定する。該ビット数が第１閾値より大きければステップＳ４０６を実行し、そうでなければステップＳ４０５を実行する。
【００７０】
さらに、閾値設定部１１０は、図１５に示すようにプロファイルに基づいて第１閾値と第２閾値を導出し、データ選択部１０８に設定してもよい。また、閾値設定部１１０は、図１６に示すようにレベルに基づいて第１閾値と第２閾値を導出してもよい。
【００７１】
さらに、本発明は図１４、図１５及び図１６に示す具体的な閾値に限定されるものではなく、他の値であってもよい。
【００７２】
なお、本発明はこれに限定されるものではなく、ステップＳ４０２において、算術符号化対象の２値データのビット数だけを累算してもよい。この場合、例えば図２７に示すように、第１閾値よりも第２閾値を小さくすることにより、１クロックサイクルあたりの処理性能が低い算術復号化されるデータのビット数を減らせるので、画像復号装置の処理性能を満たし且つ圧縮率の高い符号列を出力できる。
【００７３】
＜実施形態５＞
本発明の実施形態５の画像復号装置について、図１７を参照して説明する。図１７は本実施形態の画像復号装置の構成を表すブロック図である。本実施形態の画像復号装置は復号処理の並列処理を可能ならしめる構成になっており、２つの符号列を並列に復号できる。なお、本発明はこれに限定されるものではなく、２つより多くの符号列に対する復号処理の並列処理が可能な構成であってもよく、復号処理の並列処理をサポートしない構成であってもよい。並列処理を可能ならしめる処理の具体的な内容は、本発明の実施形態１で図２６を参照して説明したものと同一である。
【００７４】
５００は符号列バッファであり、外部から入力された符号列を一時的に格納する。５０９は全体制御部であり、符号列バッファ５００に格納されている符号列のうち、動画像シーケンス・パラメータやピクチャ・パラメータなどを表すシンタクス要素を復号し、その他の部位を制御する。非特許文献２に開示されているように、シーケンス・パラメータの集合であるシーケンス・パラメータ・セットに含まれるシンタクス要素には、プロファイルとレベルがある。
【００７５】
以下、図１８のフローチャートを参照して、全体制御部５０９がシーケンス・パラメータ・セットを復号するフローを説明する。
【００７６】
符号列バッファ５００に格納されている符号列のうち、シーケンス・パラメータ・セットからパラメータの一つを復号する（ステップＳ５０１）。該パラメータがプロファイルを示すプロファイル識別子であるか否かを判定する（ステップＳ５０２）。該ヘッダがプロファイル識別子でない場合は（ステップＳ５０２でＮｏ）、ステップＳ５０５へ処理を進める。該ヘッダがプロファイル識別子である場合は（ステップＳ５０２でＹｅｓ）、ステップＳ５０３へ処理を進める。
【００７７】
ステップＳ５０３では、本実施形態の画像復号装置が符号列を復号処理可能であるか否かを、プロファイルを基に判定する。具体的には、全体制御部５０９は、図４に示すプロファイルで定義された閾値を、エントロピー符号化されたデータのビット数のブロック単位での上限値とする。該上限値が、後述するエントロピー復号部５０２及び５１２によって処理可能なデータ量の上限値を超える場合は、復号可能でないプロファイルであると判定される（ステップＳ５０３でＮｏ）。この場合は、全体制御部５０９は当該符号列を本実施形態の動画像復号装置で復号できないことを外部へ通知し（ステップＳ５０４）、処理を終了する。復号可能なプロファイルであると判定した場合は（ステップＳ５０３でＹｅｓ）、ステップＳ５０５へ処理を進める。
【００７８】
ステップ５０５では、シーケンス・パラメータ・セットの復号を完了したか否かを判定する。シーケンス・パラメータ・セットの復号を完了した場合（ステップＳ５０５でＹｅｓ）は処理を終了し、そうでない場合（ステップＳ５０５でＮｏ）はステップＳ５０１へ処理を移行する。
【００７９】
なお、本発明は図４で示されるプロファイルの名称、復号可能な処理、具体的な閾値に限定されるものではなく、例えば図３に示すようなものであってもよい。また、図５に示すように、閾値がないプロファイルがあってもよい。この場合、もしも動画像復号装置がハイ・プロファイルをサポートする場合は、ステップＳ５０３の判定は常に“Ｙｅｓ”となる。
【００８０】
さて、全体制御部５０９は、各種パラメータ・セットを復号した後、符号列入力部５０１及び５１１に、エントロピー復号部５０２及び５１２による復号対象の符号列の開始アドレスを設定する。具体的には、前記プロファイルが復号処理の並列処理を可能ならしめる処理が有ることを示すプロファイルである場合、全体制御部５０９は、並列処理可能な複数の符号列の開始アドレスを導出するためのシンタクス要素を復号する。全体制御部５０９は、該シンタクス要素を基に複数の符号列の開始アドレスを導出し、各開始アドレスに対応する符号列バッファ５００のメモリアドレスを計算し、該メモリアドレスを符号列入力部５０１及び５１１に設定する。
【００８１】
次に、符号列入力部５０１及び５１１を説明する。符号列入力部５０１及び５１１は、全体制御部５０９により設定された符号列バッファ５００のメモリアドレスの先頭から順番に復号対象の符号列を読み出し、エントロピー復号部５０２及び５１２に各々入力する。
【００８２】
５０２及び５１２はエントロピー復号部であり、入力された符号列をエントロピー復号する。エントロピー復号では、具体的には、算術復号処理と逆２値化処理が行われる。エントロピー復号部５０２及び５１２の内部の構成については後述する。エントロピー復号部５０２及び５１２によるサブブロックの復号処理について、図２０に示すフローチャートを参照して説明する。
【００８３】
ステップＳ５２１で符号化タイプ識別子を復号する。符号化タイプ識別子が、エントロピー符号化をバイパスしたデータを示す場合（ステップＳ５２２でＹｅｓ）、符号列から画像データを読み出して画像バッファ５０６及び５１６へ出力し（ステップＳ５２３）、処理を終了する。そうでない場合（ステップＳ５２２でＮｏ）、ステップＳ５２４へ処理を進める。ステップＳ５２４では動きベクトルや予測モードなどを表すヘッダデータを復号し、予測復号部５０４及び５１４へ出力する。ステップＳ５２５では変換係数を復号して逆変換・逆量子化部５０３及び５１３へ出力し、サブブロックの復号処理を終了する。
【００８４】
さて、５０３及び５１３は逆変換・逆量子化部であり、変換係数を逆量子化・逆変換し、予測残差データを出力する。５０４及び５１４は予測復号部であり、ヘッダデータに基づいて予測残差データを復号する。予測モードがフレーム間予測符号化を示す場合は、予測復号部５０４及び５１４はフレームメモリ５０５から参照データを読み出して、該参照データを参照して復号する。予測モードがフレーム内予測符号化を示す場合は、予測復号部５０４及び５１４は復号対象のサブブロックの周辺に位置する画素を参照して復号する。
【００８５】
５０６及び５１６は画像バッファであり、エントロピー復号部５０２及び５１２から各々出力された画像データを保持する。５０８及び５１８は復号制御部であり、エントロピー復号部５０１及び５１１によって各々復号された符号化タイプ識別子を、画像出力部５０７及び５１７へ各々入力する。５０７及び５１７は画像出力部であり、符号化タイプがエントロピー符号化をバイパスしたデータを示すものである場合、画像バッファ５０６及び５１６に保持されている画像データを読み出して外部に出力する。そうでない場合は、予測復号部５０４及び５１４で復号された画像データを各々外部へ出力する。
【００８６】
次に、図２０を参照して先に説明した処理を具現化するエントロピー復号部５０２及び５１２の内部の構成を、図２２を参照して説明する。
【００８７】
５０２２は、入力された符号列の頭出しを行うシフタである。５０２３は算術復号部であり、復号対象のデータ種別（シンタクス要素の種別）に応じて発生確率テーブルを選択し、選択した発生確率テーブルに基づいて符号列を算術復号し、２値データを出力する。
【００８８】
５０２４は逆２値変換部であり、算術復号された２値データまたは符号列に入っている２値データを、復号対象のデータ種別に応じてヘッダデータまたは変換係数データに逆２値変換する。変換係数は逆変換・逆量子化部５０３及び５１３へ出力され、動きベクトルや予測モードなどを表すヘッダデータは、予測復号部５０４及び５１４へ出力される。
【００８９】
５０２５は画像データ読み出し部であり、前記符号化タイプがエントロピー符号化をバイパスしたデータを示す場合、画像データをシフタ５０２２から読み出す。読み出された画像データは画像バッファ５０６及び５１６へ出力される。
【００９０】
５０２１はエントロピー復号制御部であり、現在の復号対象のデータ種別（シンタクス要素）に基づいて、算術復号部５０２３と逆２値変換部５０２４を制御する。以下、エントロピー復号制御部５０２１による処理を説明する。
【００９１】
逆２値変換された符号化タイプがエントロピー符号化されたデータを示す場合、エントロピー復号制御部５０２１は、後続する符号列の復号を算術復号部５０２３及び逆２値変換部５０２４に指示する。
【００９２】
以上説明したように、本実施形態の画像復号装置は、プロファイルを基にサブブロックあたりのデータ量の上限値を導出し、入力された符号列を復号処理可能であるか否かについて該上限値を基に判定する。よって、復号途中でエントロピー復号部の処理性能が足りずにコマ落ちする可能性が低減される。
【００９３】
なお、本発明はこれに限定されるものではなく、復号可能な単位時間あたりの画素数を定義する符号化レベルを識別するレベル識別子を復号し、該レベルを基にエントロピー符号化されたデータのビット数のサブブロック単位での上限値を導出してもよい。以下、図１９のフローチャートを参照して説明する。
【００９４】
図１９のフローチャートの各ステップは、ステップＳ５１２とＳ５１３を除いて、図１８のフローチャートにおいて対応するステップと同一である。ステップＳ５１２において、復号したパラメータがレベル識別子であるか否かを判定する。ステップＳ５１３において、該レベルが、本実施形態の画像復号装置において復号可能なレベルに該当するか否かを判定する。具体的には、図６に示すレベルを基に導出される閾値をエントロピー符号化されたデータのビット数のサブブロック単位での上限値とし、該上限値を基に復号可能か否かを判定する。
【００９５】
なお、本発明は図６に示すレベル及び具体的な閾値には限定されない。さらに、復号制御部５０８及び５１８は、入力された符号列のうちエントロピー符号化されたデータのサブブロックあたりのビット数をエントロピー復号部５０２及び５１２から受け取り、サブブロック単位で閾値と比較してもよい。図２１のフローチャートを参照して説明する。
【００９６】
図２１において、ステップＳ５３１からステップＳ５３５までは図２０の対応するステップと同一である。ステップＳ５３６において、サブブロックのデータのビット数が閾値よりも大きい場合（ステップＳ５３６でＹｅｓ）、外部へその旨を通知して（ステップＳ５３７）、処理を終了する。そうでない場合（ステップＳ５３６でＮｏ）、そのまま処理を終了する。
【００９７】
このような処理により、もしプロファイルやレベルから導出される上限値を超えているエントロピー符号化されたデータが原因で復号処理の時間が増大し、コマ落ちなどの問題が発生した場合、その原因を解析することが容易となる。
【００９８】
＜実施形態６＞
本発明の実施形態６の画像復号装置について説明する。本実施形態の画像復号装置全体の構成は、図１７に示した実施形態５の画像復号装置と同一であり、エントロピー復号部５０２及び５１２の構成は図２２と同一である。
【００９９】
全体制御部５０９の処理フローも図１８や図１９で示したフローと同一であるが、閾値の定義が異なる。具体的には、図９から図１１のいずれかで示したプロファイルやレベルに応じて導出される閾値を、サブブロックあたりの２値データのビット数の上限値とする。該２値データのビット数の上限値がエントロピー復号部により処理可能な値を超えている場合は、図１８のステップＳ５０４や図１９のステップＳ５１４と同様に、本実施形態の動画像復号装置で復号できないことを外部へ通知し、処理を終了する。
【０１００】
さらに、エントロピー復号制御部５０２１が、エントロピー符号化されたデータのサブブロックあたりの２値データのビット数を累算し、閾値と比較するようにしてもよい。図２３のフローチャートにその例を示す。
【０１０１】
図２３のフローチャートの各ステップは、ステップＳ６０６とＳ６０７を除いて、図２０のフローチャートにおいて対応するステップと同一である。ステップＳ５０６でサブブロックの２値データのビット数と閾値と比較し、該２値データのビット数が閾値よりも大きい場合は（ステップＳ６０６でＹｅｓ）、外部へその旨を通知し（ステップ６０７）、処理を終了する。そうでない場合（ステップＳ６０６でＮｏ）、そのまま処理を終了する。
【０１０２】
このように、本実施形態の画像復号装置は、２値データのビット数に基づいて復号処理可能か否かを判定している。上述したように、一般的に算術復号の速度は２値データ１ビットあたり１クロックサイクルで処理されるため、サブブロックに対する復号処理時間はサブブロックの２値データのビット数に依存している。よって、極度に復号処理時間が増大する２値データが多いサブブロックの発生を予め検出することができる。
【０１０３】
＜実施形態７＞
本発明の実施形態７の画像復号装置について説明する。本実施形態の画像復号装置全体の構成は、図１７と同一であり、エントロピー復号部の構成は図２２と同一である。全体制御部５０９の処理は実施形態６の画像復号装置と同一であるが、本発明はこれに限定されるものではない。例えば、サブブロックあたりの２値データのビット数の上限値をプロファイルやレベルに依らず一定にしてもよい。
【０１０４】
一方、エントロピー復号制御部５０２１による処理は、図２２に示す各部位に対する制御に加えて、図２４のフローチャートで示されるサブブロック単位の判定処理が含まれる。以下、図２４を参照してサブブロック単位の判定処理を説明する。
【０１０５】
まず、サブブロック内の２値データのビット数の合計値を表す変数ＢｉｎＴｏｔａｌを０に初期化する（ステップＳ７０１）。次に、復号対象のデータ種別（シンタクス要素）のビット数ＢｉｎＳｉｚｅを取得する（ステップＳ７０２）。
【０１０６】
取得したＢｉｎＳｉｚｅに対応するデータ種別が、算術符号化されたデータ種別である場合（ステップＳ７０３でＹｅｓ）、ステップＳ７０４でＢｉｎＳｉｚｅを２倍する。そうでない場合（ステップＳ７０３でＮｏ）、ステップＳ７０５へ処理を進める。なお、本発明はＢｉｎＳｉｚｅを２倍することに限定されるものではなく、２値データの種別に応じた２値データのビット数の重み付けを変える方法は他のものであってもよい。
【０１０７】
ステップＳ７０５で、ＢｉｎＴｏｔａｌにＢｉｎＳｉｚｅを加算する。サブブロックのエントロピー復号を終えた場合（ステップＳ７０６でＹｅｓ）はステップＳ７０７へ処理を進める。そうでない場合（ステップＳ７０６でＮｏ）はステップＳ７０２へ処理を進め、後続するデータ種別の２値データのビット数の取得とＢｉｎＴｏｔａｌへの加算を行う。
【０１０８】
ステップＳ７０７で、ＢｉｎＴｏｔａｌと閾値とを比較する。ＢｉｎＴｏｔａｌが閾値よりも大きい場合は（ステップＳ７０７でＹｅｓ）、外部へその旨を通知し（ステップＳ３０８）、サブブロックの処理を終了する。そうでない場合は（ステップＳ３０７でＮｏ）、そのままサブブロックの処理を終了する。
【０１０９】
以上説明したように、本実施形態の画像復号装置では、２値データの種別に応じて２値データのビット数の重み付けを変えてサブブロックのビット数を累算し、該累算されたビット数と閾値とを比較している。算術符号化をバイパスしたデータの符号列と算術符号化されたデータの符号列とではエントロピー復号の速度に相違がある。よって、このように２値データのビット数の重み付けを変えることにより、復号処理性能が不足しているときに起こりうる復号画像のコマ落ち等が発生した場合の原因を解析することができる。
【０１１０】
＜実施形態８＞
本発明の実施形態８の画像復号装置について説明する。本実施形態の画像復号装置全体の構成は、図１７と同一であり、エントロピー復号部の構成は図２２と同一である。全体制御部５０９の処理フローは実施形態６の画像復号装置と同一であるが、図１４に示すように、第１閾値と第２閾値を導出する点が異なる。
【０１１１】
一方、エントロピー復号制御部５０２１による処理は、図２５に示す各部位に対する制御に加えて、図２２のフローチャートで示されるサブブロック単位の判定処理が含まれる。以下、サブブロック単位の判定処理を、図２５を参照して説明する。
【０１１２】
ステップＳ８０１では、サブブロック内のエントロピー符号化データのビット数を累算する。ステップＳ８０２で、サブブロック内の２値データのビット数を累算する。ステップＳ８０３では、サブブロック内のエントロピー符号化データのビット数と第１閾値とを比較する。サブブロック内のエントロピー符号化データのビット数が第１閾値より大きい場合（ステップＳ８０３でＹｅｓ）は、ステップＳ８０４へ処理を進める。そうでない場合（ステップＳ８０３でＮｏ）は、ステップＳ８０５へ処理を進める。
【０１１３】
ステップＳ８０４では、エントロピー符号化データのビット数が第１閾値より大きいサブブロックを検出したことを外部へ通知し、処理を終了する。ステップＳ８０５では、サブブロック内の２値データのビット数と第２閾値とを比較する。サブブロック内の２値データのビット数が第２閾値より大きい場合（ステップＳ８０５でＹｅｓ）は、ステップＳ８０６へ処理を進める。そうでない場合（ステップＳ８０５でＮｏ）は処理を終了する。ステップＳ８０６では、２値データのビット数が第２閾値より大きいサブブロックを検出したことを外部へ通知し、処理を終了する。
【０１１４】
以上説明したように、本実施形態の画像符号化装置では、サブブロック内のエントロピー符号化データのビット数が第１閾値を超えた場合、あるいは、サブブロック内の２値データのビット数が第２閾値を超えた場合に、外部にその旨を通知する。これにより、復号処理性能が不足しているときに起こりうる復号画像のコマ落ち等が発生した場合の原因を解析することができる。
【０１１５】
また、ステップＳ８０３とステップＳ８０５の順番を入れ替えてもよい。即ち、先にサブブロック内の２値データのビット数が第２閾値より大きいか否かを判定する。該２値データのビット数が第２閾値より大きければ、その旨を外部へ通知して処理を終了する。そうでなければサブブロック内のエントロピー符号化データのビット数が第１閾値より大きいか否かを判定する。該ビット数が第１閾値より大きければ、その旨を外部へ通知して処理を終了する。
【０１１６】
さらに、全体制御部５０９は、図１５に示すようにプロファイルに基づいて第１閾値と第２閾値を導出してもよいし、図１６に示すようにレベルに基づいて第１閾値と第２閾値を導出してもよく、本発明はこれらの具体的な値に限定されるものではない。また、本発明はこれに限定されるものではなく、ステップＳ８０２において、算術符号化対象の２値データのビット数だけを累算してもよい。この場合、例えば図２７に示す閾値を用いてもよい。
【０１１７】
＜実施形態９＞
図１、図７、図１７、図２２に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、図１、図７、図１７、図２２に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
【０１１８】
図２８は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１１９】
ＣＰＵ２８０１は、ＲＡＭ２８０２やＲＯＭ２８０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ２８０１は、図１、図７、図１７、図２２に示した各処理部として機能することになる。
【０１２０】
ＲＡＭ２８０２は、外部記憶装置２８０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）２８０７を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ２８０２は、ＣＰＵ２８０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ２８０２は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
【０１２１】
ＲＯＭ２８０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部２８０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ２８０１に対して入力することができる。出力部２８０５は、ＣＰＵ２８０１による処理結果を出力する。また出力部２８０５は例えば液晶ディスプレイのような表示装置で構成して処理結果を表示することができる。
【０１２２】
外部記憶装置２８０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置２８０６には、ＯＳ（オペレーティングシステム）や、図１、図７、図１７、図２２に示した各部の機能をＣＰＵ２８０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置２８０６には、処理対象としての各画像が保存されていても良い。
【０１２３】
外部記憶装置２８０６に保存されているコンピュータプログラムやデータは、ＣＰＵ２８０１による制御に従って適宜ＲＡＭ２８０２にロードされ、ＣＰＵ２８０１による処理対象となる。Ｉ／Ｆ２８０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ２８０７を介して様々な情報を取得したり、送出したりすることができる。２８０８は上述の各部を繋ぐバスである。
【０１２４】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ２８０１が中心となってその制御を行う。
【０１２５】
＜その他の実施形態＞
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１２６】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
2014011481.tif 000003
【図２】
2014011481.tif 000004
【図３】
2014011481.tif 000005
【図４】
2014011481.tif 000006
【図５】
2014011481.tif 000007
【図６】
2014011481.tif 000008
【図７】
2014011481.tif 000009
【図８】
2014011481.tif 000010
【図９】
2014011481.tif 000011
【図１０】
2014011481.tif 000012
【図１１】
2014011481.tif 000013
【図１２】
2014011481.tif 000014
【図１３】
2014011481.tif 000015
【図１４】
2014011481.tif 000016
【図１５】
2014011481.tif 000017
【図１６】
2014011481.tif 000018
【図１７】
2014011481.tif 000019
【図１８】
2014011481.tif 000020
【図１９】
2014011481.tif 000021
【図２０】
2014011481.tif 000022
【図２１】
2014011481.tif 000023
【図２２】
2014011481.tif 000024
【図２３】
2014011481.tif 000025
【図２４】
2014011481.tif 000026
【図２５】
2014011481.tif 000027
【図２６】
2014011481.tif 000028
【図２７】
2014011481.tif 000029
【図２８】
2014011481.tif 000030