(57)【要約】      （修正有）【課題】高ビット深度の画像に対して画像のビット深度によらず直交変換や動き補償といった演算処理において一定の精度を保った画像符号化装置及び画像復号装置を提供する。【解決手段】画像符号化装置は、対象画素と予測画素との差分に対して変換処理を行って係数を導出する導出手段と、係数に対応するデータと、係数に係る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグと、を符号化する符号化手段とを備える。【選択図】図９
2018142969.tif 000002
【特許請求の範囲】
【請求項１】
画像を符号化してビットストリームを生成する画像符号化装置であって、
対象画素と予測画素との差分に対して変換処理を行って係数を導出する導出手段と
前記係数に対応するデータと、前記係数に係る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグと、を符号化する符号化手段と
を有し、
前記フラグは、前記ビットストリームにおけるシーケンスのためのデータとして符号化される
ことを特徴とする画像符号化装置。
【請求項２】
前記変換処理は直交変換処理である
ことを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記導出手段は、前記画像に含まれるブロック単位に、前記係数を導出する
ことを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
前記対象画素に基づく予測処理を行って前記予測画素を導出する予測処理手段
を有することを特徴とする請求項１〜３のいずれか１項に記載の画像符号化装置。
【請求項５】
前記係数に対応するデータは、量子化処理が行われた前記係数を示すデータである
ことを特徴とする請求項１〜４のいずれか１項に記載の画像符号化装置。
【請求項６】
前記フラグは、前記係数が取り得る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグである
ことを特徴とする請求項１〜５のいずれか１項に記載の画像符号化装置。
【請求項７】
前記フラグは、前記変換処理において取り得る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグである
ことを特徴とする請求項１〜６のいずれか１項に記載の画像符号化装置。
【請求項８】
前記ビット深度は、符号化される前記画像のビット深度である
ことを特徴とする請求項１〜７のいずれか１項に記載の画像符号化装置。
【請求項９】
前記符号化手段は、前記ビット深度を示す情報を符号化する
ことを特徴とする請求項１〜８のいずれか１項に記載の画像符号化装置。
【請求項１０】
ビットストリームから画像を復号する画像復号装置であって、
前記画像の画素に係る係数に対応するデータと、前記係数に係る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグと、を前記ビットストリームから復号する復号手段と、
変換処理を行って、前記係数に基づく、対象画素と予測画素との差分を導出する導出手段と
を有し、
前記フラグは、前記ビットストリームにおけるシーケンスのためのデータから復号される
ことを特徴とする画像復号装置。
【請求項１１】
前記変換処理は逆直交変換処理である
ことを特徴とする請求項１０記載の画像復号装置。
【請求項１２】
前記導出手段は、前記画像に含まれるブロック単位に、前記係数に基づく前記差分を導出する
ことを特徴とする請求項１０又は１１に記載の画像復号装置。
【請求項１３】
前記予測画素と前記差分から前記画像を生成する生成手段
を有することを特徴とする請求項１０〜１２のいずれか１項に記載の画像復号装置。
【請求項１４】
前記係数は逆量子化処理が行われた後の変換係数であり、
前記導出手段は、前記逆量子化処理が行われた後の前記変換係数に対して前記変換処理を行うことで前記差分を導出する
ことを特徴とする請求項１０〜１３のいずれか１項に記載の画像復号装置。
【請求項１５】
前記フラグは、前記係数が取り得る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグである
ことを特徴とする請求項１０〜１４のいずれか１項に記載の画像復号装置。
【請求項１６】
前記フラグは、前記変換処理において取り得る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグである
ことを特徴とする請求項１０〜１５のいずれか１項に記載の画像復号装置。
【請求項１７】
前記ビット深度は、復号される前記画像のビット深度である
ことを特徴とする請求項１０〜１６のいずれか１項に記載の画像復号装置。
【請求項１８】
前記ビット深度を示す情報は、前記ビットストリームから復号される
ことを特徴とする請求項１０〜１７のいずれか１項に記載の画像復号装置。
【請求項１９】
前記導出手段は、前記フラグに応じた最小値及び最大値に従った前記変換処理を行って、前記係数から前記差分を導出する
ことを特徴とする請求項１０〜１８のいずれか１項に記載の画像復号装置。
【請求項２０】
画像を符号化してビットストリームを生成する画像符号化方法であって、
対象画素と予測画素との差分に対して変換処理を行って係数を導出する導出工程と
前記係数に対応するデータと、前記係数に係る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグと、を符号化する符号化工程と、
を有し、
前記フラグは、前記ビットストリームにおけるシーケンスのためのデータとして符号化される
ことを特徴とする画像符号化方法。
【請求項２１】
ビットストリームから画像を復号する画像復号方法であって、
前記画像の画素に係る係数に対応するデータと、前記係数に係る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグと、を前記ビットストリームから復号する復号工程と、
変換処理を行って、前記係数に基づく、対象画素と予測画素との差分を導出する導出工程と
を有し、
前記フラグは、前記ビットストリームにおけるシーケンスのためのデータから復号される
ことを特徴とする画像復号方法。
【請求項２２】
請求項１〜９のいずれか１項に記載の画像符号化装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【請求項２３】
請求項１０〜１９のいずれか１項に記載の画像復号装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関する。
【背景技術】
【０００２】
動画像の圧縮記録の符号化方式として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４と略す）が知られている。（非特許文献１）Ｈ．２６４においては、符号化技術の制限を定義した複数のプロファイルが定義されており、例えばＨｉｇｈ１０プロファイルは８ビット〜１０ビットまでのビット深度の画像に対応している。
【０００３】
近年、Ｈ．２６４の後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。ＪＣＴ−ＶＣ（Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔの間で設立された。このＪＣＴ−ＶＣにおいて、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＨＥＶＣと略す）として標準化が進められている。
【０００４】
ＨＥＶＣにおいても８ビット〜１０ビットまでのビット深度の画像に対応したＭａｉｎ１０プロファイルが定義されている。（非特許文献２）
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＩＴＵ−Ｔ  Ｈ．２６４  （０６／２０１１）  Ａｄｖａｎｃｅｄｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ
【非特許文献２】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ｋ１００３＿ｖ１０．ｄｏｃ  インターネット＜ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ‐ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１１＿Ｓｈａｎｇｈａｉ／ｗｇ１１／＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＨＥＶＣでは、直交変換や動き補償といった処理において、画像のビット深度に応じて演算精度を低下させることにより、実装の容易性を重視した構成となっている。例えば、下記の式（１）は色差信号の動き補償において、小数画素の動き補償処理に用いる計算式のうちの一つである。
ａｂ０，０＝（−２×Ｂ−１，０＋５８×Ｂ０，０＋１０×Ｂ１，０−２×Ｂ２，０）＞＞ｓｈｉｆｔ１…（１）
（ただし、ｓｈｉｆｔ１＝色差ビット深度−８であり、「＞＞」は右へのビットシフトを表す。）
【０００７】
上記の式（１）において、Ｂｉ，ｊは整数画素位置の色差画素を、ａｂ０，０は小数画素位置の色差画素を算出するための中間値を表している。式（１）では必ずビット深度に依存したｓｈｉｆｔ１による右へのビットシフト処理が含まれるため、中間値ａｂ０，０の取りうる値の範囲は画像のビット深度によらず一定となっている。こうした演算処理が導入されているため、ＨＥＶＣにおいてはより高ビット深度の画像をサポートする場合においてもハードウェアの実装コストはさほど上昇しないと考えられている。その反面、上述のビットシフト処理に代表される演算により、高ビット深度の画像に対しては演算精度の低下が発生し、画質が向上しないといった問題が生じている。
【０００８】
したがって、本発明は上述した課題を解決するためになされたものである。すなわち画像のビット深度によらず高ビット深度でも一定の精度を保った符号化処理と、ビット深度依存で高ビット深度では演算精度を低下させて実装の容易性を重視した符号化処理の両方をサポートする符号化・復号の実現を可能することを目的としている。
【課題を解決するための手段】
【０００９】
上述の問題点を解決するため、本発明の画像符号化装置以下の構成を有する、すなわち、画像を符号化してビットストリームを生成する画像符号化装置であって、対象画素と予測画素との差分に対して変換処理を行って係数を導出する導出手段と前記係数に対応するデータと、前記係数に係る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグと、を符号化する符号化手段とを有し、前記フラグは、前記ビットストリームにおけるシーケンスのためのデータとして符号化される。
【００１０】
また、本発明の画像復号装置は以下の構成を有する。すなわち、ビットストリームから画像を復号する画像復号装置であって、前記画像の画素に係る係数に対応するデータと、前記係数に係る最小値及び最大値がビット深度によって決定されるか又は固定であるかを示すフラグと、を前記ビットストリームから復号する復号手段と、変換処理を行って、前記係数に基づく、対象画素と予測画素との差分を導出する導出手段とを有し、前記フラグは、前記ビットストリームにおけるシーケンスのためのデータから復号される。
【発明の効果】
【００１１】
本発明により、画像のビット深度によらず高ビット深度でも一定の精度を保った符号化処理と、ビット深度依存で高ビット深度では演算精度を低下させて実装の容易性を重視した符号化処理の両方をサポートする符号化・復号が実現できる。結果としてアプリケーションごとの要求仕様によりこれらの符号化処理を切り替えることが可能になる。
【図面の簡単な説明】
【００１２】
【図１】実施形態１における画像符号化装置の構成を示すブロック図
【図２】実施形態２における画像復号装置の構成を示すブロック図
【図３】実施形態３における画像符号化装置の構成を示すブロック図
【図４】実施形態４における画像復号装置の構成を示すブロック図
【図５】実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャート
【図６】実施形態２に係る画像復号装置における画像復号処理を示すフローチャート
【図７】実施形態３に係る画像符号化装置における画像符号化処理を示すフローチャート
【図８】実施形態４に係る画像復号装置における画像復号処理を示すフローチャート
【図９】実施形態５における画像符号化装置の構成を示すブロック図
【図１０】実施形態６における画像復号装置の構成を示すブロック図
【図１１】実施形態５における画像符号化装置の別な構成を示すブロック図
【図１２】実施形態６における画像復号装置の別な構成を示すブロック図
【図１３】実施形態５に係る画像符号化装置における画像符号化処理を示すフローチャート
【図１４】実施形態６に係る画像復号装置における画像復号処理を示すフローチャート
【図１５】実施形態５に係る画像符号化装置における画像符号化処理を示す別なフローチャート
【図１６】実施形態６に係る画像復号装置における画像復号処理を示す別なフローチャート
【図１７】実施形態１によって生成され、実施形態２によって復号されるビットストリーム構造の一例を示す図
【図１８】実施形態３によって生成され、実施形態４によって復号されるビットストリーム構造の一例を示す図
【図１９】実施形態５によって生成され、実施形態６によって復号されるビットストリーム構造の一例を示す図
【図２０】本発明の画像符号化装置、復号装置に適用可能なコンピュータのハードウェア構成例を示すブロック図
【図２１】実施形態１および実施形態２におけるレンジ情報、画像のビット深度と量子化係数の取りうる範囲の関係性を示す図
【発明を実施するための形態】
【００１３】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１４】
＜実施形態１＞
以下、本発明の実施形態を、図面を用いて説明する。図１は本実施形態の画像符号化装置を示すブロック図である。図１において、１０１は画像データを入力する端子である。
【００１５】
１０２は入力部であり、入力された画像データのビット深度を解析するとともに正方形のブロック単位に分割する。１０３は変換量子化演算精度情報生成部であり、後述する変換量子化演算精度選択情報を生成する。と同時に、変換量子化部１０６で用いられる変換量子化処理や逆量子化逆変換部１０７で用いられる逆量子化逆変換処理の演算精度を示す変換量子化演算精度情報を生成する。１０４はヘッダ符号化部であり、画像のビット深度情報を初めとするビットストリームの復号に必要な情報を符号化し、ヘッダ符号データを生成する。
【００１６】
１０５は予測部であり、正方形に分割されたブロック単位でフレームメモリ１０９を参照してフレーム内予測であるイントラ予測やフレーム間予測であるインター予測などを行い、予測の方法を示す予測情報および予測誤差を生成する。１０６は変換量子化部であり、予測部１０５で生成された予測誤差をブロック単位で直交変換して変換係数を算出し、さらに変換係数を量子化して量子化係数を算出する。１０７は変換量子化部１０６で生成された量子化係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する逆量子化逆変換部である。
【００１７】
１０８は画像再生部であり、予測部１０５で生成された予測情報に基づいてフレームメモリ１０９を参照してイントラ予測やインター予測などを行い、逆量子化逆変換部１０７で生成された予測誤差から再生画像を生成する。１０９は画像再生部１０８で再生された画像を保持しておくフレームメモリである。１１０はブロック符号化部であり、予測部１０５で生成された予測情報や変換量子化部１０６で生成された量子化係数を符号化してブロック符号データを生成する。１１１は前段で生成されたヘッダ符号データおよびブロック符号データからビットストリームを形成して出力する統合符号化部である。１１２は端子であり、統合符号化部１１１で生成されたビットストリームを外部に出力する。
【００１８】
上記画像符号化装置における画像の符号化動作を以下に説明する。本実施形態では動画像データをフレーム単位に入力する構成となっているが、１フレーム分の静止画像データを入力する構成としても構わない。
【００１９】
端子１０１から入力された１フレーム分の画像データは入力部１０２に入力される。本実施形態では１０ビット深度の画像データが入力されるものとするが、入力される画像データのビット深度はこれに限定されない。入力部１０２では入力画像データのビット深度の解析を行い、ビット深度情報として後段のレンジ情報生成部１０３およびヘッダ符号化部１０４に出力する。ただし、ビット深度情報は外部から別途与えられ、変換量子化演算精度情報生成部１０３およびヘッダ符号化部１０４にそれぞれ入力する構成とすることも可能である。また、入力された画像データは正方形のブロック単位に分割され、予測部１０５に出力される。
【００２０】
変換量子化演算精度情報生成部１０３では、ビット深度によって演算精度を調節して実装容易性を優先した変換量子化処理を用いるか、ビット深度によらず演算精度を固定した変換量子化処理を用いるかを決定し、その情報を変換量子化演算精度選択情報とする。以下、前者のビット深度によって演算精度を調節した変換量子化処理を実装重視変換量子化処理、後者の演算精度を固定した変換量子化処理を精度重視変換量子化処理と呼称する。本実施形態では、前者の実装重視変換量子化処理が選択された場合には変換量子化演算精度選択情報は０となり、後者の精度重視変換量子化処理が選択された場合には変換量子化演算精度選択情報は１となるものとする。ただし、選択された変換量子化処理と変換量子化演算精度選択情報との組合せはこれらに限定されない。また、変換量子化演算精度選択情報の決定方法も特に限定されず、本符号化装置および対応する復号装置が使用されるアプリケーションを想定して符号化処理に先立って決定しておいても良いし、不図示のユーザによって選択されても良い。例えば、本実施形態の符号化装置が演算精度重視のアプリケーションで使用されることが想定される場合には、変換量子化演算精度選択情報を１とし、そうでなければ０とするといった具合である。
【００２１】
次に、変換量子化演算精度情報生成部１０３は、前述の変換量子化演算精度選択情報および入力部１０２から入力されたビット深度情報に基づいて変換量子化演算精度情報を生成する。変換量子化演算精度選択情報が１の場合には、画像のビット深度と基準となるビット深度である８ビットとの差分値を変換量子化演算精度情報とする。本実施形態では、画像のビット深度は１０ビットであるので、変換量子化演算精度情報は２となる。また、変換量子化演算精度選択情報が０の場合には、０を変換量子化演算精度情報とする。ただし、変換量子化演算精度情報の値と意味の組合せは上記に限定されず、画像のビット深度が基準となるビット深度よりも大きい場合に、変換量子化処理の演算精度を高めることを示すことが出来る情報であれば良い。
【００２２】
生成された変換量子化演算精度選択情報はヘッダ符号化部１０４に出力され、変換量子化演算精度情報は変換量子化部１０６および逆量子化逆変換部１０７に出力される。
【００２３】
ヘッダ符号化部１０４では、入力部１０２から入力されたビット深度情報および変換量子化演算精度情報生成部１０３から入力された変換量子化演算精度選択情報を初めとする復号に必要な情報を符号化し、ヘッダ符号データを生成する。このヘッダ符号データはビットストリームのヘッダ部に相当する。生成されたヘッダ符号データは統合符号化部１１１に出力される
一方、予測部１０５では入力部１０２で分割されたブロック単位の画像データが入力され、フレームメモリ１０９に格納されている符号化済みの画素を適宜参照してブロック単位の予測が行われ、予測画像が生成される。ブロック単位の入力画像と予測画像の差分として、予測誤差が生成され、変換量子化部１０６に入力される。また、予測部１０５では動きベクトルや予測モードなどの予測に必要な情報を予測情報として生成し、画像再生部１０８およびブロック符号化部１１０に出力する。
【００２４】
変換量子化部１０６では、まず、変換量子化演算精度情報生成部１０３から変換量子化演算精度情報を入力し、変換量子化処理における演算精度を決定する。本実施形態では、図２１に示されたテーブルに基づいて、演算精度として水平・垂直各方向の一次元の直交変換や量子化処理といった各演算結果の取りうる範囲を決定するものとする。ただし、変換量子化演算精度情報と各演算結果の取りうる範囲の組合せはこれらに限定されない。本実施形態では、０または２の値を持つ変換量子化演算精度情報が入力されることから、各演算結果はそれぞれ−３２７６８〜３２７６７または−１３１０７２〜１３１０７１の範囲をもつことになる。各演算結果が上記の範囲外になった場合の処理については特に限定しないが、クリップ処理やビットシフト処理により結果を上記の範囲内におさめることができる。
【００２５】
次に、上述の決定された演算精度に基づいて、予測部１０５から入力された予測誤差に対して直交変換を行い、変換係数を生成し、さらに変換係数を量子化し、量子化係数を生成する。生成された量子化係数は逆量子化逆変換部１０７およびブロック符号化部１１０に出力する。
【００２６】
逆量子化逆変換部１０７においても変換量子化部１０６と同様に、まず、変換量子化演算精度情報生成部１０３から変換量子化演算精度情報を入力し、逆量子化逆変換処理における演算精度を決定する。本実施形態では、変換量子化部１０６と同様に、図２１に示されたテーブルに基づいて、演算精度として逆量子化処理や垂直・水平各方向の一次元の直交変換処理といった各演算結果の取りうる範囲を決定するものとする。
【００２７】
次に、上述の決定された演算精度に基づいて、変換量子化部１０６から入力された量子化係数を逆量子化して変換係数を再生し、さらに再生された変換係数に逆直交変換して予測誤差を再生する。再生された予測誤差は画像再生部１０８に出力される。
【００２８】
画像再生部１０８では、予測部１０５から入力された予測情報に基づいて、フレームメモリ１０９を適宜参照して予測画像を生成し、生成された予測画像と逆量子化逆変換部１０７から入力された予測誤差から再生画像を生成する。生成された再生画像はフレームメモリ１０９に出力され、格納される。
【００２９】
ブロック符号化部１１０では、ブロック単位で、変換量子化部１０６から入力された量子化係数および予測部１０５から入力された予測情報をエントロピー符号化し、ブロック符号データを生成する。エントロピー符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。生成されたブロック符号データは統合符号化部１１１に出力される。
【００３０】
統合符号化部１１１では、ブロック単位の符号化処理に先駆けてヘッダ符号化部１０４で生成されて入力されたヘッダ符号データおよびブロック符号化部１１０から入力されたブロック符号データを多重化してビットストリームが形成される。最終的に、統合符号化部１１１で形成されたビットストリームは端子１１２から外部に出力される。
【００３１】
図１７（ａ）に本実施形態で生成されたビットストリームの一例を示す。変換量子化演算精度選択情報は変換量子化演算精度選択情報符号として、シーケンス、ピクチャ等のヘッダのいずれかに含まれる。また、ビット深度情報も同様にビット深度情報符号としてヘッダのいずれかに含まれる。
【００３２】
ただし、ビットストリームの構成はこれに限定されず、図１７（ｂ）に示されるように、変換量子化演算精度選択情報符号を符号化する代わりに、対応するプロファイルを決定し、決定したプロファイルをプロファイル情報符号として符号化してもよい。例えば、メイン１０ビットプロファイルとメイン１０ビット高精度プロファイルが存在し、それぞれが変換量子化演算精度選択情報＝０と変換量子化演算精度選択情報＝１に対応するものとする。すなわち、メイン１０ビットプロファイルでは変換量子化処理の各演算結果の取りうる範囲は画像のビット深度に関わらず一定であり、メイン１０ビット高精度プロファイルでは上記の範囲は画像のビット深度に応じて変わることになる。この場合、変換量子化演算精度選択情報が０の場合にはメイン１０ビットプロファイルを示す符号を、１の場合にはメイン１０ビット高精度プロファイルを示す符号をプロファイル情報符号として符号化する構成をとっても構わない。
【００３３】
図５は、実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャートである。
【００３４】
まず、ステップＳ５０１にて、入力部１０２は入力された画像データのビット深度の解析を行い、ビット深度情報を生成する。ステップＳ５０２にて、変換量子化演算精度情報生成部１０３は、変換量子化処理における演算精度を示す変換量子化演算精度情報を選択するための変換量子化演算精度選択情報を生成する。ステップＳ５０３にて、変換量子化演算精度情報生成部１０３は、ステップＳ５０２で生成された変換量子化演算精度選択情報およびステップＳ５０１で生成されたビット深度情報に基づいて変換量子化演算精度情報を生成する。ステップＳ５０４にて、ヘッダ符号化部１０４は、ステップＳ５０１で生成されたビット深度情報およびステップＳ５０２で生成された変換量子化演算精度選択情報を初めとする復号に必要な情報を符号化してヘッダ符号データを生成する。
【００３５】
ステップＳ５０５にて、統合符号化部１１１はステップＳ５０４で生成されたヘッダ符号データからビットストリームのヘッダ部を形成し、出力する。ステップＳ５０６にて、入力部１０２は入力された画像データから正方形のブロックを切り出し、予測部１０５は切り出されたブロック単位の画像データに対し、ブロック単位の予測を行い、予測画像を生成する。ブロック単位の入力画像データと予測画像との差分として予測誤差が生成される。さらに動きベクトルや予測モードなどの予測に必要な情報を予測情報として生成する。
【００３６】
ステップＳ５０７にて、変換量子化部１０６は、まず、ステップＳ５０３で生成された変換量子化演算精度情報に基づいて、変換量子化処理における演算精度を決定する。そして、決定された演算精度に基づいて、ステップＳ５０６で生成された予測誤差に直交変換を行って変換係数を生成し、さらに生成された変換係数を量子化し、量子化係数を生成する。ステップＳ５０８にて、逆量子化逆変換部１０７はまず、ステップＳ５０７と同様に、ステップＳ５０３で生成された変換量子化演算精度情報に基づいて逆量子化・逆変換処理における演算精度を決定する。そして、決定された演算精度に基づいて、ステップＳ５０７で生成された量子化係数を逆量子化して変換係数を再生し、さらに再生された変換係数に逆直交変換して予測誤差を再生する。
【００３７】
ステップＳ５０９にて、画像再生部１０８はステップＳ５０６で生成された予測情報に基づいて、フレームメモリ１０９を適宜参照して予測画像を生成する。そして生成された予測画像とステップＳ５０８で再生された予測誤差から再生画像を生成し、フレームメモリ１０９に格納する。ステップＳ５１０にて、ブロック符号化部１１０はステップＳ５０６で生成された予測情報およびステップＳ５０７で生成された量子化係数を符号化してブロック符号データを生成する。また、統合符号化部１１１は他の符号データも含め、ビットストリームを生成する。ステップＳ５１１にて、画像符号化装置はフレーム内の全てのブロックの符号化が終了したか否かの判定を行い、終了していれば符号化処理を終了し、そうでなければ次のブロックを対象としてステップＳ５０６に戻る。
【００３８】
以上の構成と動作により、特にステップＳ５０４で変換量子化演算精度選択情報を符号化することにより、アプリケーションの要求仕様に応じて演算精度や実装コストの異なる符号化処理の切り替え可能なビットストリームを生成することができる。
【００３９】
なお、本実施形態では、ステップＳ５０８、Ｓ５０９、Ｓ５１０の順序で符号化処理のフローを説明したが、順序はこれに限らず、ステップＳ５１０はステップＳ５０７の後に実行されれば良い。
【００４０】
また、本実施形態では、変換量子化演算精度選択情報に基づいてステップＳ５０７およびＳ５０８の変換量子化処理のみが変更される構成としたが、量子化係数の範囲の変更に伴い、ステップＳ５１０の符号化処理も変更する構成としても構わない。その場合、変換量子化演算精度選択情報もしくは変換量子化演算精度情報がブロック符号化部１１０にも入力される構成となる。この場合、量子化係数の範囲に応じて最適なエントロピー符号化方法を選択することができるため、より高効率な符号化が実現できる。
【００４１】
また、符号化する画像データのビット深度が８ビットであった場合、変換量子化演算精度選択情報符号を省略することも可能である。すなわち、ビット深度が８ビットであった場合、変換量子化演算精度情報は０に一意に決まるからであり、冗長な符号を削減することができる。
【００４２】
また、本実施形態において、図２１に示されたテーブルに基づいて、演算精度として水平・垂直各方向の一次元の直交変換や量子化処理といった各演算結果の取りうる範囲を決定したが、これに限定されない。例えば、変換量子化部１０６は変換量子化演算精度情報をａｑとした時、演算精度を−２（１５＋ａｑ）〜２（１５＋ａｑ）−１として求めても構わない。
【００４３】
また、前述のメイン１０ビットプロファイルとメイン１０ビット高精度プロファイルにおいて、前者では必ず変換量子化演算精度選択情報は０とするが、後者では変換量子化演算精度選択情報符号を設けて０／１を選択する構成をもちいても構わない。これにより、高精度のプロファイルでも演算精度の選択も行えるようになる。
【００４４】
なお、本実施形態では図５のステップＳ５０８において、ステップＳ５０３で生成された変換量子化演算精度情報に基づいて逆量子化・逆変換処理における演算精度を決定したが、ステップＳ５０７で求めた演算精度を用いてももちろん構わない。
【００４５】
また、本実施形態で生成されるビットストリームは図１７（ａ）に示される通り、変換量子化演算精度選択情報符号、ビット深度情報符号の順に符号化されるものとしたが、順序はこれに限定されない。
【００４６】
＜実施形態２＞
図２は、本発明の実施形態２に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態１で生成されたビットストリームの復号を例にとって説明する。
【００４７】
２０１はビットストリームを入力する端子である。２０２は分離復号部であり、ビットストリームから復号処理に関する情報であるヘッダ符号データおよび量子化係数や予測情報などブロック単位の情報であるブロック符号データに分離し、後段に出力する。２０３はヘッダ復号部であり、前述のヘッダ符号データを復号し、復号処理に関する情報を再生する。２０４は変換量子化演算精度情報設定部であり、逆量子化逆変換部２０６で用いられる逆量子化逆変換処理の演算精度を示す変換量子化演算精度情報を生成する。２０５はブロック復号部であり、ブロック符号データを復号して量子化係数や予測情報を再生する。
【００４８】
２０６はブロック復号部２０５で再生された量子化係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する逆量子化逆変換部である。２０７は画像再生部であり、ブロック復号部２０５で再生された予測情報に基づいてフレームメモリ２０８を参照してイントラ予測やインター予測などを行い、逆量子化逆変換部２０６で生成された予測誤差から再生画像データを生成する。２０８は画像再生部２０７で再生された画像データを保持しておくフレームメモリである。２０９は端子であり、再生された画像データを外部に出力する。
【００４９】
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では、実施形態１で生成されたビットストリームを復号する。
【００５０】
図２において、端子２０１から入力されたビットストリームは分離復号部２０２に入力される。本実施形態では図１７（ａ）に示されたビットストリームが入力されるものとする。分離復号部２０２では、入力されたビットストリームから復号処理に関する情報であるヘッダ符号データおよびブロック単位の情報であるブロック符号データに分離し後段に出力する。ヘッダ符号データはヘッダ復号部２０３に出力され、ブロック符号データはブロック復号部２０５に出力される。ヘッダ復号部２０３では、分離復号部２０２から入力されたヘッダ符号データから復号に必要な情報を復号し、変換量子化演算精度選択情報やビット深度情報を再生する。再生された変換量子化演算精度選択情報およびビット深度情報は変換量子化演算精度情報設定部２０４に出力される。
【００５１】
変換量子化演算精度情報設定部２０４では、ヘッダ復号部２０３から入力された変換量子化演算精度選択情報およびビット深度情報に基づいて変換量子化演算精度情報を生成する。実施形態１の変換量子化演算精度情報生成部１０３と同様に、本実施形態では、変換量子化演算精度選択情報が１の場合には、ビット深度情報と基準となるビット深度である８ビットとの差分値を変換量子化演算精度情報とする。実施形態１で生成されたビットストリームは１０ビットの画像が符号化されたものであるので、本実施形態におけるビット深度情報も１０ビットとなるため、変換量子化演算精度情報は２となる。一方、変換量子化演算精度選択情報が０の場合には、０を変換量子化演算精度情報とする。ただし、実施形態１と同様に、変換量子化演算精度選択情報と変換量子化演算精度情報の組合せはこれらに限定されない。生成された変換量子化演算精度情報は逆量子化逆変換部２０６に出力される。
【００５２】
一方、ブロック復号部２０５では、分離復号部２０２から入力されたブロック符号データを復号し、量子化係数および予測情報を再生する。再生された量子化係数は逆量子化逆変換部２０６に、予測情報は画像再生部２０７に出力される。逆量子化逆変換部２０６ではまず、実施形態１の逆量子化逆変換部１０７と同様に、変換量子化演算精度情報設定部２０４から入力された変換量子化演算精度情報に基づいて、逆量子化逆変換処理における演算精度を決定する。本実施形態でも、実施形態１の逆量子化逆変換部１０７と同様に、図２１に示されたテーブルに基づいて、演算精度として逆量子化処理や垂直・水平各方向の一次元の直交変換処理といった各演算処理の取りうる範囲を決定するものとする。
【００５３】
さらに、逆量子化逆変換部２０６では、上述の決定された演算精度に基づいて、ブロック復号部２０５から入力された量子化係数を逆量子化して変換係数を再生し、さらに再生された変換係数に逆直交変換して予測誤差を再生する。再生された予測誤差は画像再生部２０７に出力される。
【００５４】
画像再生部２０７では、ブロック復号部２０５から入力された予測情報に基づいて、フレームメモリ２０８を適宜参照して予測画像を生成し、生成された予測画像と逆量子化逆変換部２０６から入力された予測誤差から再生画像を生成する。再生された画像データはフレームメモリ２０８に出力され格納される。同時に、再生された画像データは端子２０９から外部に出力される。
【００５５】
図６は、実施形態２に係る画像復号装置における画像の復号処理を示すフローチャートである。
【００５６】
まず、ステップＳ６０１にて、分離復号部２０２は入力されたビットストリームから復号処理に関する情報であるヘッダ符号データを分離する。ステップＳ６０２にて、ヘッダ復号部２０３はステップＳ６０１で分離されたヘッダ符号データから復号に必要な情報を復号し、変換量子化演算精度選択情報やビット深度情報を再生する。ステップＳ６０３にて、変換量子化演算精度情報設定部２０４は、ステップＳ６０２で再生された変換量子化演算精度選択情報およびビット深度情報に基づいて変換量子化演算精度情報を生成する。ステップＳ６０４にて、逆量子化逆変換部２０６はステップＳ６０３で生成された変換量子化演算精度情報に基づいて逆量子化・逆変換処理における演算精度を決定する。ステップＳ６０５にて、ブロック復号部２０５は分離復号部２０２でビットストリームからブロック単位の符号化データとして分離されたブロック符号データを復号し、量子化係数および予測情報を再生する。
【００５７】
ステップＳ６０６にて、逆量子化逆変換部２０６はステップＳ６０４で決定された演算精度に基づいて、ステップＳ６０５で生成された量子化係数を逆量子化して変換係数を再生し、さらに再生された変換係数に逆直交変換して予測誤差を再生する。ステップＳ６０７にて、画像再生部２０７はステップＳ６０５で再生された予測情報に基づいて、フレームメモリ２０８を適宜参照して予測画像を生成する。そして生成された予測画像とステップＳ６０６で再生された予測誤差から再生画像を生成し、フレームメモリ２０８に格納する。同時に、再生された画像データは端子２０９から外部に出力される。ステップＳ６０８にて、画像復号装置はフレーム内の全てのブロックの復号が終了したか否かの判定を行い、終了していれば復号処理を終了し、そうでなければ次のブロックを対象としてステップＳ６０５に戻る。
【００５８】
以上の構成と動作により、特にステップＳ６０２で変換量子化演算精度選択情報を復号することにより、実施形態１で生成されたアプリケーションの要求仕様に応じて演算精度や実装コストの異なる復号処理の可能なビットストリームを復号することができる。
【００５９】
なお本実施形態では、入力されるビットストリームは図１７（ａ）に示された変換量子化演算精度選択情報が独立して符号化されたものであるとしたが、これに限定さない。例えば、図１７（ｂ）に示されるように、変換量子化演算精度選択情報符号を符号化する代わりに、対応するプロファイルを示すプロファイル情報符号が符号化されたものであっても良い。この場合、変換量子化演算精度情報設定部２０４では、プロファイル情報符号およびビット深度情報から変換量子化演算精度情報を生成することになる。
【００６０】
また、本実施形態では、変換量子化演算精度選択情報に基づいてステップＳ６０６の逆量子化逆変換処理のみが変更される構成としたが、量子化係数の範囲の変更に伴い、ステップＳ６０５の復号処理も変更する構成としてもよい。その場合、変換量子化演算精度選択情報もしくは変換量子化演算精度情報がブロック復号部２０５にも入力される構成となり、また、ブロック復号部２０５の復号処理は実施形態１のブロック符号化部１１０の符号化処理に対応している必要がある。この場合、量子化係数の範囲に応じて最適なエントロピー復号方法を選択することができるため、より高効率に符号化されたビットストリームの復号が実現できる。
【００６１】
＜実施形態３＞
図３は本実施形態の画像符号化装置を示すブロック図である。図３において、実施形態１の図１と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００６２】
３２３は動き補償演算精度情報生成部であり、後述する動き補償演算精度選択情報を生成する。と同時に、予測部３０５で用いられる動き補償処理の演算精度を示す動き補償演算精度情報を生成する。３０４はヘッダ符号化部であり、画像のビット深度情報を初めとするビットストリームの復号に必要な情報を符号化し、ヘッダ符号データを生成する。実施形態１のヘッダ符号化部１０４とは、変換量子化演算精度選択情報ではなく、後述の動き補償演算精度選択情報を符号化するところが異なる。
【００６３】
３０５は予測部であり、正方形に分割されたブロック単位でフレームメモリ１０９を参照してフレーム内予測であるイントラ予測やフレーム間予測であるインター予測などを行い、予測の方法を示す予測情報および予測誤差を生成する。実施形態１の予測部１０５とは、動き補償演算精度情報を入力し、入力された動き補償演算精度情報に基づいてインター予測を行うところが異なる。
【００６４】
３０６は変換量子化部であり、予測部３０５で生成された予測誤差をブロック単位で直交変換して変換係数を算出し、さらに変換係数を量子化して量子化係数を算出する。実施形態１の変換量子化部１０６とは変換量子化演算精度情報を入力せず、常に同一の演算精度で変換量子化処理を行うところが異なる。
【００６５】
３０７は変換量子化部３０６で生成された量子化係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する逆量子化逆変換部である。実施形態１の逆量子化逆変換部１０７とは変換量子化演算精度情報を入力せず、常に同一の演算精度で逆量子化逆変換処理を行うところが異なる。
【００６６】
３０８は画像再生部であり、予測部３０６で生成された予測情報に基づいてフレームメモリ１０９を参照してイントラ予測やインター予測などを行い、逆量子化逆変換部３０７で生成された予測誤差から再生画像を生成する。実施形態１の画像再生部１０８とは、動き補償演算精度情報を入力し、入力された動き補償演算精度情報に基づいてインター予測を行うところが異なる。
【００６７】
上記画像符号化装置における画像の符号化動作を以下に説明する。
【００６８】
入力部１０２では入力画像データのビット深度の解析を行い、ビット深度情報として後段の動き補償演算精度情報生成部３２３とヘッダ符号化部３０４に出力する。ただし、ビット深度情報は外部から別途与えられ、動き補償演算精度情報生成部３２３およびヘッダ符号化部３０４にそれぞれ入力する構成とすることも可能である。また、入力された画像データは正方形のブロック単位に分割され、予測部３０５に出力される。
【００６９】
動き補償演算精度情報生成部３２３では、ビット深度によって演算精度を調節して実装容易性を優先した動き補償処理を用いるか、ビット深度によらず演算精度を固定した動き補償処理を用いるかを決定し、その情報を動き補償演算精度選択情報とする。以下、前者のビット深度によって演算精度を調節した動き補償処理を実装重視動き補償処理、後者の演算精度を固定した動き補償処理を精度重視動き補償処理と呼称する。本実施形態では、前者の実装重視動き補償処理が選択された場合には動き補償演算精度選択情報は０となり、後者の精度重視動き補償処理が選択された場合には動き補償演算精度選択情報は１となるものとする。ただし、選択された動き補償処理と動き補償演算精度選択情報との組合せはこれらに限定されない。また、動き補償演算精度選択情報の決定方法も特に限定されず、本符号化装置および対応する復号装置が使用されるアプリケーションを想定して符号化処理に先立って決定しておいても良いし、不図示のユーザによって選択されても良い。例えば、本実施形態の符号化装置が演算精度重視のアプリケーションで使用されることが想定される場合には、動き補償演算精度選択情報を１とし、そうでなければ０とするといった具合である。
【００７０】
次に、動き補償演算精度情報生成部３２３は、前述の動き補償演算精度選択情報および入力部１０２から入力されたビット深度情報に基づいて動き補償演算精度情報を生成する。動き補償演算精度選択情報が０の場合には、画像のビット深度と基準となるビット深度である８ビットとの差分値を動き補償演算精度情報とする。本実施形態では画像のビット深度は１０ビットであるので、動き補償演算精度情報は２となる。また、動き補償演算精度選択情報が１の場合には、動き補償演算精度情報は０とする。ただし、動き補償演算精度情報の値と意味の組合せは上記に限定されず、画像のビット深度が基準となるビット深度よりも大きい場合に、動き補償処理の演算精度を高めることを示すことが出来る情報であれば良い。
【００７１】
生成された動き補償演算精度選択情報はヘッダ符号化部３０４に出力され、動き補償演算精度情報は予測部３０５および画像再生部３０８に出力される。
【００７２】
ヘッダ符号化部３０４では、入力部１０２から入力されたビット深度情報および動き補償演算精度情報生成部３２３から入力された動き補償演算精度選択情報を初めとする復号に必要な情報を符号化し、ヘッダ符号データを生成する。このヘッダ符号化データはビットストリームのヘッダ部に相当する。生成されたヘッダ符号データは統合符号化部１１１に出力される。
【００７３】
一方、予測部３０５では、入力部１０２で分割されたブロック単位の画像データおよび動き補償演算精度情報生成部３２３で生成された動き補償演算精度情報が入力される。次にブロック単位の予測を行い、フレーム内予測であるイントラ予測やフレーム間予測であるインター予測などの予測の方法を示す予測情報を生成する。予測情報の生成方法は特に限定されず、フレームメモリ１０９に格納されている符号化済みの画素と符号化対象ブロックの画素との類似度から決定しても良いし、画像の統計的な情報を用いて決定しても良い。生成された予測方法は画像再生部３０８およびブロック符号化部１１０に出力される。そして生成された予測情報に基づいてフレームメモリ１０９に格納されている符号化済みの画素を適宜参照し予測画像が生成される。予測画像の生成にあたり、符号化対象ブロックがインター予測符号化されている場合、動き補償演算精度情報に基づいた動き補償処理を行う。具体的には、前述の式（１）で示された色差信号の動き補償における小数画素の動き補償処理に用いる計算式のうちの一つは、本実施形態では下記の式（２）のようになる。
ａｂ０，０＝（−２×Ｂ−１，０＋５８×Ｂ０，０＋１０×Ｂ１，０−２×Ｂ２，０）＞＞ｓｈｉｆｔ…（２）
（ただし、ｓｈｉｆｔ＝動き補償演算精度情報であり、「＞＞」は右へのビットシフトを表す。）
【００７４】
上記の式（２）においても、前述の式（１）と同様に、Ｂｉ，ｊは整数画素位置の色差画素を、ａｂ０，０は小数画素位置の色差画素を算出するための中間値を表している。式（２）ではｓｈｉｆｔによる右へのビットシフト処理は動き補償演算精度情報に基づいている。そのため、動き補償演算精度情報生成部３２３にて実装重視動き補償処理が選択された場合、式（２）ではビット深度に依存した右へのビットシフト処理が含まれるため、中間値ａｂ０，０の取りうる値の範囲は画像のビット深度によらず一定となる。一方、動き補償演算精度情報生成部３２３にて精度重視動き補償が選択された場合、式（２）ではｓｈｉｆｔの値は常に０となり、右へのビットシフト処理は実行されず、演算精度を保った処理が可能となる。
【００７５】
最後に、予測部３０５では、ブロック単位の入力画像と生成された予測画像の差分として、予測誤差が生成され、変換量子化部３０６に出力される。
【００７６】
変換量子化部３０６では、予測部３０５から入力された予測誤差に対して直交変換を行い、変換係数を生成し、さらに変換係数を量子化し、量子化係数を生成する。生成された量子化係数は逆量子化逆変換部３０７およびブロック符号化部１１０に出力する。
【００７７】
逆量子化逆変換部３０７では、変換量子化部３０６から入力された量子化係数を逆量子化して変換係数を再生し、さらに再生された変換係数に逆直交変換して予測誤差を再生する。再生された予測誤差は画像再生部３０８に出力される。
【００７８】
画像再生部３０８では、予測部３０５から入力された予測情報および動き補償演算精度情報生成部３２３から入力された動き補償演算精度情報に基づいて、フレームメモリ１０９を適宜参照して予測画像を再生する。予測画像の生成にあたり、符号化対象ブロックがインター予測符号化されている場合、動き補償演算精度情報に基づいた動き補償処理を行う。具体的には、予測部３０５と同様に、式（２）に代表される動き補償処理を行う。
【００７９】
そして、画像再生部３０８では、生成された予測画像と逆量子化逆変換部３０７から入力された予測誤差から再生画像を生成する。生成された再生画像はフレームメモリ１０９に出力され、格納される。
【００８０】
図１８（ａ）に本実施形態で生成されたビットストリームの一例を示す。動き補償演算精度選択情報は動き補償演算精度選択情報符号として、シーケンス、ピクチャ等のヘッダのいずれかに含まれる。また、ビット深度情報も同様にビット深度情報符号としてヘッダのいずれかに含まれる。
【００８１】
ただし、ビットストリームの構成はこれに限定されず、図１８（ｂ）に示されるように動き補償演算精度選択情報符号を符号化する代わりに、対応するプロファイルを決定し、決定したプロファイルをプロファイル情報符号として符号化してもよい。例えば、メイン１０ビットプロファイルとメイン１０ビット高精度プロファイルが存在し、それぞれが動き補償演算精度選択情報＝０と動き補償演算精度選択情報＝１に対応するものとする。すなわち、メイン１０ビットプロファイルでは実装重視動き補償処理が選択され、メイン１０ビット高精度プロファイルでは精度重視動き補償処理が選択されることになる。この場合、動き補償演算精度選択情報が０の場合にはメイン１０ビットプロファイルを示す符号を、１の場合にはメイン１０ビット高精度プロファイルを示す符号をプロファイル情報符号として符号化する構成をとっても構わない。
【００８２】
図７は、実施形態３に係る画像符号化装置における符号化処理を示すフローチャートである。実施形態１の図５と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００８３】
ステップＳ７２２にて、動き補償演算精度情報生成部３２３は、動き補償処理における演算精度を示す動き補償演算精度情報を選択するための動き補償演算精度選択情報を生成する。本実施形態では、実装重視動き補償処理が選択された場合には動き補償演算精度選択情報は０となり、後者の精度重視動き補償処理が選択された場合には動き補償演算精度選択情報は１となるものとする。
【００８４】
ステップＳ７２３にて、動き補償演算精度情報生成部３２３は、ステップＳ７２２で生成された動き補償演算精度選択情報およびステップＳ５０１で生成されたビット深度情報に基づいて動き補償演算精度情報を生成する。ステップＳ７０４にて、ヘッダ符号化部３０４では、ステップＳ５０１で生成されたビット深度情報およびステップＳ５０２で生成された動き補償演算精度選択情報を初めとする復号に必要な情報を符号化してヘッダ符号データを生成する。
【００８５】
ステップＳ７０６にて、入力部１０２は入力された画像データから正方形のブロックを切り出し、予測部３０５は切り出されたブロック単位の画像データに対し、ブロック単位の予測を行う。さらに、フレーム内予測であるイントラ予測やフレーム間予測であるインター予測などの予測の方法を示す予測情報を生成する。そして生成された予測情報に基づいてフレームメモリ１０９に格納されている符号化済みの画素を適宜参照し、予測画像を生成する。予測画像の生成にあたり、符号化対象ブロックがインター予測符号化されている場合、ステップＳ７２３で生成された動き補償演算精度情報に基づいた動き補償処理を行う。具体的には前述の式（２）に代表される動き補償処理が実行される。さらにブロック単位の入力画像データと予測画像との差分として予測誤差を生成する。
【００８６】
ステップＳ７０７にて、変換量子化部３０６は、ステップＳ７０６で生成された予測誤差に直交変換を行って変換係数を生成し、さらに生成された変換係数を量子化し、量子化係数を生成する。ステップＳ７０８にて、逆量子化逆変換部３０７はステップＳ７０７で生成された量子化係数を逆量子化して変換係数を再生し、さらに再生された変換係数に逆直交変換して予測誤差を再生する。
【００８７】
ステップＳ７０９にて、画像再生部３０８はステップＳ７０６で生成された予測情報に基づいて、フレームメモリ１０９を適宜参照して予測画像を生成する。予測画像の生成に当たり、符号化対象ブロックがインター予測符号化されている場合、ステップＳ７２３で生成された動き補償演算精度情報に基づいた動き補償処理を行う。具体的には、ステップＳ７０６と同様に、式（２）に代表される動き補償処理を行う。そして生成された予測画像とステップＳ７０８で再生された予測誤差から再生画像を生成し、フレームメモリ１０９に格納する。ステップＳ７１１にて、画像符号化装置はフレーム内の全てのブロックの符号化が終了したか否かの判定を行い、終了していれば符号化処理を終了し、そうでなければ次のブロックを対象としてステップＳ７０６に戻る。
【００８８】
以上の構成と動作により、特にステップＳ７０４で動き補償演算精度選択情報を符号化することにより、アプリケーションの要求仕様に応じて演算精度や実装コストの異なる符号化処理の切り替え可能なビットストリームを生成することができる。
【００８９】
なお、本実施形態では、ステップＳ７０８、Ｓ７０９、Ｓ５１０の順序で符号化処理のフローを説明したが、順序はこれに限らず、ステップＳ５１０はステップＳ７０７の後に実行されれば良い。
【００９０】
また、符号化する画像データのビット深度が８ビットであった場合、動き補償演算精度選択情報符号を省略することも可能である。すなわち、ビット深度が８ビットで合った場合、動き補償演算精度情報は０に一意に決まるからであり、冗長な符号を削減することが出来る。
【００９１】
また、前述のメイン１０ビットプロファイルとメイン１０ビット高精度プロファイルにおいて、前者では必ず動き補償演算精度選択情報は０とするが、後者では動き補償演算精度選択情報符号を設けて０／１を選択する構成を用いても構わない。これにより、高精度のプロファイルでも演算精度の選択も行えるようになる。
【００９２】
また、本実施形態で生成されるビットストリームは図１８（ａ）に示される通り、動き補償演算精度選択情報符号、ビット深度情報符号の順に符号化されるものとしたが、順序はこれに限定されない。
【００９３】
＜実施形態４＞
図４は本実施形態の画像復号装置を示すブロック図である。図４において、実施形態２の図２と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。本実施形態では、実施形態３で生成されたビットストリームの復号を例にとって説明する。
【００９４】
４０３はヘッダ復号部であり、ビットストリームから分離されたヘッダ符号データを復号し、復号処理に関する情報を再生する。４２４は動き補償演算精度情報設定部であり、画像再生部４０７で用いられる動き補償処理の演算精度を示す動き補償演算精度情報を生成する。４０６はブロック復号部２０５で再生された量子化係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する逆量子化逆変換部である。実施形態２の逆量子化逆変換部２０６とは変換量子化演算精度情報を入力せず、常に同一の演算精度で逆量子化逆変換処理を行うところが異なる。
【００９５】
４０７は画像再生部であり、ブロック復号部２０５で再生された予測情報に基づいてフレームメモリ２０８を参照してイントラ予測やインター予測などを行い、逆量子化逆変換部２０６で生成された予測誤差から再生画像を生成する。実施形態２の画像再生部２０７とは、動き補償演算精度情報を入力し、入力された動き補償演算精度情報に基づいてインター予測を行うところが異なる。
【００９６】
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では、実施形態３で生成されたビットストリームを復号する。
【００９７】
ヘッダ復号部４０３では、分離復号部２０２から入力されたヘッダ符号データから復号に必要な情報を復号し、動き補償演算精度選択情報やビット深度情報を再生する。再生された動き補償演算精度選択情報およびビット深度情報は動き補償演算精度情報設定部４２４に出力される。
【００９８】
動き補償演算精度情報設定部４２４では、ヘッダ復号部４０３から入力された動き補償演算精度選択情報およびビット深度情報に基づいて動き補償演算精度情報を生成する。実施形態３の動き補償演算精度情報生成部３２３と同様に、本実施形態では、動き補償演算精度選択情報が０の場合には、ビット深度情報と基準となるビット深度である８ビットの差分値を動き補償演算精度情報とする。実施形態３で生成されたビットストリームは１０ビットの画像が符号化されたものであるので、本実施形態におけるビット深度情報も１０ビットとなるため、動き補償演算精度情報は２となる。一方、動き補償演算精度選択情報が１の場合には、０を動き補償演算精度情報とする。ただし、実施形態３と同様に、動き補償演算精度選択情報と動き補償演算精度情報の組合せはこれらに限定されない。生成された動き補償演算精度情報は画像再生部４０７に出力される。
【００９９】
逆量子化逆変換部４０６では、ブロック復号部２０５から入力された量子化係数を逆量子化して変換係数を再生し、さらに再生された変換係数に逆直交変換して予測誤差を再生する。再生された予測誤差は画像再生部４０７に出力される。
【０１００】
画像再生部４０７では、ブロック復号部２０５から入力された予測情報および動き補償演算精度情報設定部４２４から入力された動き補償演算精度情報に基づいてフレームメモリ２０８を適宜参照して予測画像を生成する。予測画像の生成にあたり、復号対象ブロックがインター予測符号化されている場合、動き補償演算精度情報に基づいた動き補償処理を行う。具体的には、前述の式（２）に代表される動き頬賞処理を行う。生成された予測画像と逆量子化逆変換部４０６から入力された予測誤差から再生画像を生成する。生成された再生画像はフレームメモリ２０８に出力され、格納される。
【０１０１】
図８は、実施形態４に係る画像復号装置における復号処理を示すフローチャートである。実施形態２の図６と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１０２】
ステップＳ８０２にて、ヘッダ復号部４０３はステップＳ６０１で分離されたヘッダ符号データから復号に必要な情報を復号し、動き補償演算精度選択情報やビット深度情報を再生する。ステップＳ８２３にて、動き補償演算精度情報設定部４２４はステップＳ８０２で再生された動き補償演算精度選択情報およびビット深度情報に基づいて動き補償演算精度情報を生成する。ステップＳ８２４にて、画像再生部４０７はステップＳ８２３で生成された動き補償変換量子化演算精度情報に基づいて後段の動き補償処理における演算精度を決定する。ステップＳ８０６にて、逆量子化逆変換部４０６はステップＳ６０５で生成された量子化係数を逆量子化して変換係数を再生し、さらに再生された変換係数に逆直交変換して予測誤差を再生する。
【０１０３】
ステップＳ８０７にて、画像再生部４０７はステップＳ６０５で再生された予測情報に基づいて、フレームメモリ２０８を適宜参照して予測画像を生成する。予測画像の生成に当たり、復号対象ブロックがインター予測符号化されている場合、ステップＳ８２４で決定された動き補償情報に基づいた動き補償処理を行う。具体的には、前述の式（２）に代表される動き補償処理を行う。そして生成された予測画像とステップＳ８０６で再生された予測画像から再生画像データを生成し、フレームメモリ２０８に格納する。同時に端子２０９から再生画像データを出力する。
【０１０４】
以上の構成と動作により、特にステップＳ８０２で動き補償演算精度選択情報を復号することにより、実施形態３で生成されたアプリケーションの要求仕様に応じて演算精度や実装コストの異なる復号処理の可能なビットストリームを復号することができる。
【０１０５】
なお、本実施形態では、入力されるビットストリームは図１８（ａ）に示された動き補償演算精度選択情報が独立して符号化されたものであるとしたが、これに限定されない。例えば、図１８（ｂ）に示されるように、動き補償演算精度選択情報符号を符号化する代わりに、対応するプロファイルを示すプロファイル情報符号が符号化されたものであっても良い。この場合、動き補償演算精度情報設定部４２４では、プロファイル情報符号およびビット深度情報から動き補償演算精度情報を生成することになる。
【０１０６】
＜実施形態５＞
図９は本実施形態の画像符号化装置を示すブロック図である。図９において実施形態１の図１および実施形態３の図３と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１０７】
９０２は入力部であり、入力された画像データのビット深度を解析するとともに正方形のブロック単位に分割する。実施形態１の入力部１０２とはビット深度情報を動き補償演算精度情報生成部３２３にも出力するところが異なる。９０４はヘッダ符号化部であり、画像のビット深度情報を初めとするビットストリームの復号に必要な情報を符号化し、ヘッダ符号データを生成する。
【０１０８】
上記の画像符号化装置における画像の符号化動作を以下に説明する。
【０１０９】
入力部９０２では入力画像データのビット深度の解析を行い、ビット深度情報として後段の動き補償演算精度情報生成部３２３、変換量子化演算精度情報生成部１０３およびヘッダ符号化部９０４に出力する。ただし、ビット深度情報は外部から別途与えられ、動き補償演算精度情報生成部３２３、変換量子化演算精度情報生成部１０３およびヘッダ符号化部９０４にそれぞれ入力する構成とすることも可能である。また、入力された画像データは正方形のブロック単位に分割され、予測部３０５に出力される。
【０１１０】
ヘッダ符号化部９０４では、まず、入力部９０２からビット深度情報を、動き補償演算精度情報生成部３２３から動き補償演算精度選択情報を、変換量子化演算精度情報生成部から変換量子化演算精度選択情報を入力する。そして入力されたこれらの情報を初めとする復号に必要な情報を符号化し、ヘッダ符号データを生成する。このヘッダ符号化データはビットストリームのヘッダ部に相当し、統合符号化部１１１に出力される。
【０１１１】
図１９（ａ）に本実施形態で生成されたビットストリームの一例を示す。変換量子化演算精度選択情報は変換量子化演算精度選択情報符号として、動き補償演算精度選択情報は動き補償演算精度選択情報符号として、シーケンス、ピクチャ等のヘッダのいずれかに含まれる。また、ビット深度情報も同様にビット深度情報符号としてヘッダのいずれかに含まれる。
【０１１２】
ただし、ビットストリームの構成はこれに限定されず、図１９（ｂ）に示されるように動き補償演算精度選択情報符号および変換量子化演算精度選択情報符号を符号化する代わりに対応するプロファイルを決定し、プロファイル情報符号として符号化しても良い。例えば、メイン１０ビットプロファイルとメイン１０ビット高精度プロファイルが存在し、メイン１０ビットプロファイルは変換量子化演算精度選択情報＝０および動き補償演算精度選択情報＝０に対応するものとする。また、メイン１０ビット高精度プロファイルは変換量子化演算精度選択情報＝１および動き補償演算精度選択情報＝１に対応するものとする。すなわち、メイン１０ビットプロファイルでは実装重視変換量子化処理および実装重視動き補償処理が選択され、メイン１０ビット高精度プロファイルでは精度重視変換量子化処理および精度重視動き補償処理が選択されることになる。この場合、変換量子化演算精度選択情報および動き補償演算精度選択情報が０の場合にはメイン１０ビットプロファイルを示す符号をプロファイル情報符号として符号化する。また、変換量子化演算精度選択情報および動き補償演算精度選択情報が１の場合にはメイン１０ビット高精度プロファイルを示す符号をプロファイル情報符号として符号化する構成をとっても構わない。
【０１１３】
図１３は、実施形態３に係る画像符号化装置における符号化処理を示すフローチャートである。実施形態１の図５および実施形態３の図７と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１１４】
ステップＳ１３０１にて、入力部９０２は入力された画像データのビット深度の解析を行い、ビット深度情報を生成する。ステップＳ１３０４にて、ヘッダ符号化部９０４は、復号に必要な情報を符号化してヘッダ符号データを生成する。復号に必要な情報には、ステップＳ１３０１で生成されたビット深度情報、ステップＳ５０２で生成された変換量子化演算精度選択情報およびステップＳ７２２で生成された動き補償演算精度選択情報が含まれる。
【０１１５】
以上の構成と動作により、特にステップＳ５０２およびＳ７２２で生成した符号化処理の演算精度の情報をステップＳ１３０４で符号化する。これによってアプリケーションの要求仕様に応じて演算精度や実装コストの異なる符号化処理の切り替え可能なビットストリームを生成することが出来る。
【０１１６】
なお、本実施形態では、ステップＳ５０８、Ｓ７０９、Ｓ５１０の順序で符号化処理のフローを説明したが、順序はこれに限らず、ステップＳ５１０はステップＳ５０７の後に実行されれば良い。
【０１１７】
また、符号化する画像データのビット深度が８ビットであった場合、変換量子化演算精度選択情報符号および動き補償演算精度選択情報符号を省略することも可能である。すなわち、ビット深度が８ビットであった場合、変換量子化演算精度情報および動き補償演算精度情報は０に一意に決まるからであり、冗長な符号を削減することができる。
【０１１８】
また、前述のメイン１０ビット高精度プロファイルにおいて、変換量子化演算精度選択情報符号および動き補償選択情報符号を設けて０／１を選択する構成を用いても構わない。これにより高精度のプロファイルでも演算精度の選択も行えるようになる。
【０１１９】
なお、本実施形態では図１３のステップＳ５０８において、ステップＳ５０３で生成された変換量子化演算精度情報に基づいて逆量子化・逆変換処理における演算精度を決定したが、ステップＳ５０７で求めた演算精度を用いてももちろん構わない。
【０１２０】
また、本実施形態で生成されるビットストリームは図１９（ａ）に示される通り、変換量子化演算精度選択情報符号、動き補償演算精度選択情報符号、ビット深度情報符号の順に符号化されるものとしたが、順序はこれに限定されない。
【０１２１】
さらに本実施形態では、動き補償演算精度情報生成部３２３および変換量子化演算精度情報生成部１０３を独立に設けたが、図１１に示されるように演算精度情報生成部１１４３を一つだけ設ける構成をとることも可能である。その場合、演算精度情報生成部１１４３で生成された演算精度情報は、予測部１１０５、変換量子化部１１０６、逆量子化逆変換部１１０７、および画像再生部１１０８に入力され、入力された演算精度情報に基づいた処理が行われる。また、ヘッダ符号化部１１０４では、演算精度選択情報とビット深度情報の符号化が行われる。
【０１２２】
また、その場合、対応する符号化処理を示すフローチャートは図１５のようになる。図１５において、ステップＳ１５０１はステップＳ５０１と同様に入力部１１０１でビット深度の解析を行う、ステップＳ１５４２は変換量子化処理および動き補償処理の演算精度選択情報を生成する。ステップＳ１５４３は変換量子化処理および動き補償処理の演算精度情報を生成する。ステップＳ１５０４は演算精度選択情報を符号化する。ステップＳ１５０６およびステップＳ１５０９ではステップＳ１５４３で生成した演算精度情報に基づき、動き補償処理を行う。ステップＳ１５０７ではステップＳ１５４３で生成した演算精度情報に基づき、変換量子化処理を行う。ステップＳ１５０８ではステップＳ１５４３で生成した演算精度情報に基づき、逆量子化逆変換処理を行う。
【０１２３】
これにより、変換量子化および動き補償でそれぞれ独立した変換量子化演算精度情報および動き補償演算精度情報を用いていたが、共通した演算精度情報を用いることができる。
【０１２４】
またその場合、生成されるビットストリームの一例は図１９（ｃ）によって示される。演算精度選択情報は演算精度選択情報符号として、シーケンス、ピクチャ等のヘッダのいずれかに含まれ、ビット深度情報も同様にビット深度情報符号としてヘッダのいずれかに含まれる。さらに上述の実施形態と同様に、演算精度選択情報を演算精度選択情報符号として符号化する代わりに、対応するプロファイルを決定し、決定したプロファイルをプロファイル情報として符号化してもよい。その場合、生成されるビットストリームの一例は図１９（ｂ）によって示される。
【０１２５】
＜実施形態６＞
図１０は本実施形態の画像符号化装置を示すブロック図である。図１０において実施形態の図２および実施形態４の図４と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１２６】
１００３はヘッダ復号部であり、ビットストリームから分離されたヘッダ符号データを復号し、復号処理に関する情報を再生する。
【０１２７】
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では、実施形態５で生成されたビットストリームを復号する。
【０１２８】
ヘッダ復号部１００３では、分離復号部２０２から入力されたヘッダ符号データから復号に必要な情報を復号し、動き補償演算精度選択情報、変換量子化演算精度選択情報およびビット深度情報を再生する。再生された動き補償演算精度選択情報は動き補償演算精度情報設定部４２４に出力され、再生された変換量子化演算精度選択情報は変換量子化演算精度情報設定部２０４に出力される。また、再生されたビット深度情報は変換量子化演算精度情報設定部２０４および動き補償演算精度情報設定部４２４に出力される。
【０１２９】
図１４は、実施形態６に係る画像復号装置における復号処理を示すフローチャートである。実施形態２の図６および実施形態４の図８と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１３０】
ステップＳ１４０２にて、ヘッダ復号部１００３はステップＳ６０１で分離されたヘッダ符号データから復号に必要な情報を復号し、動き補償演算精度選択情報、変換量子化演算精度選択情報およびビット深度情報を再生する。
【０１３１】
以上の構成と動作により、特にステップＳ１４０２で復号処理に関する動き補償演算精度選択情報、変換量子化演算精度選択情報の復号が可能になる。これにより、実施形態５で生成されたアプリケーションの要求仕様に応じて演算精度や実装コストの異なる復号処理の可能なビットストリームを復号できる。
【０１３２】
なお、本実施形態では、入力されるビットストリームは図１９（ａ）に示された変換量子化演算精度選択情報および動き補償演算精度選択情報が独立して符号化されたものであるとしたが、これに限定されない。例えば、図１９（ｂ）に示されるように、変換量子化演算精度選択情報符号および動き補償演算精度選択情報符号を符号化する代わりに、対応するプロファイルを示すプロファイル情報符号が符号化されたものであっても良い。この場合、動き補償演算精度情報設定部４２４および変換量子化演算精度情報設定部２０４では、プロファイル情報符号およびビット深度情報から動き補償演算精度情報および変換量子化演算精度情報を生成することになる。
【０１３３】
さらに本実施形態では、変換量子化演算精度情報設定部２０４と動き補償演算精度情報設定部４２４を独立に設けたが、図１２に示されるように演算精度情報設定部１２４４を一つだけ設ける構成をとることも可能である。その場合、演算精度情報設定部１２４４で設定された演算精度情報は、逆量子化逆変換部１２０６および画像再生部１２０７に入力され、入力された演算精度情報に基づいた処理が行われる。
【０１３４】
また、その場合、対応する復号処理を示すフローチャートは図１６のようになる。図１６において、Ｓ１６０２は演算精度選択情報を復号する。ステップＳ１６４３は逆量子化逆変換処理および動き補償処理の演算精度情報を再生する。ステップＳ１６４４は再生された演算精度情報に基づき、逆量子化逆変換処理および動き補償処理の演算精度情報を再生し、決定する。ステップＳ１６０６およびステップＳ１６０７ではステップＳ１６４４で決定したそれぞれの演算精度情報に基づき、逆量子化逆変換処理と動き補償処理を行う。これにより、変換量子化および動き補償でそれぞれ独立した変換量子化演算精度情報および動き補償演算精度情報を用いていたが、共通した演算精度情報を用いることができる。
【０１３５】
またその場合、入力されるビットストリームの一例は図１９（ｃ）によって示され、変換量子化演算精度選択情報および動き補償演算精度選択情報が独立して符号化されているものであるとしたが、これに限定されない。上述の実施形態と同様に、演算精度選択情報を演算精度選択情報符号として符号化されているものの代わりに、対応するプロファイルがプロファイル情報として符号化されているものであっても良い。その場合、入力されるビットストリームの一例は図１９（ｂ）によって示される。
【０１３６】
＜実施形態７＞
図１、図２、図３、図４、図９、図１０、図１１、図１２に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成しても良い。
【０１３７】
図２０は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１３８】
ＣＰＵ２００１は、ＲＡＭ２００２やＲＯＭ２００３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ２００１は、図１、図２、図３、図４、図９、図１０、図１１、図１２に示した各処理部として機能することになる。
【０１３９】
ＲＡＭ２００２は、外部記憶装置２００６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）２００７を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ２００２は、ＣＰＵ２００１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ２００２は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
【０１４０】
ＲＯＭ２００３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部２００４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ２００１に対して入力することができる。出力部２００５は、ＣＰＵ２００１による処理結果を表示する。また出力部２００５は例えば液晶ディスプレイで構成される。
【０１４１】
外部記憶装置２００６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置２００６には、ＯＳ（オペレーティングシステム）や、図１、図２、図３、図４、図９、図１０、図１１、図１２に示した各部の機能をＣＰＵ２００１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置２００６には、処理対象としての各画像データが保存されていても良い。
【０１４２】
外部記憶装置２００６に保存されているコンピュータプログラムやデータは、ＣＰＵ２００１による制御に従って適宜、ＲＡＭ２００２にロードされ、ＣＰＵ２００１による処理対象となる。Ｉ／Ｆ２００７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ２００７を介して様々な情報を取得したり、送出したりすることができる。２００８は上述の各部を繋ぐバスである。
【０１４３】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ２００１が中心となってその制御を行う。
【０１４４】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2018142969.tif 000003
【図２】
2018142969.tif 000004
【図３】
2018142969.tif 000005
【図４】
2018142969.tif 000006
【図５】
2018142969.tif 000007
【図６】
2018142969.tif 000008
【図７】
2018142969.tif 000009
【図８】
2018142969.tif 000010
【図９】
2018142969.tif 000011
【図１０】
2018142969.tif 000012
【図１１】
2018142969.tif 000013
【図１２】
2018142969.tif 000014
【図１３】
2018142969.tif 000015
【図１４】
2018142969.tif 000016
【図１５】
2018142969.tif 000017
【図１６】
2018142969.tif 000018
【図１７】
2018142969.tif 000019
【図１８】
2018142969.tif 000020
【図１９】
2018142969.tif 000021
【図２０】
2018142969.tif 000022
【図２１】
2018142969.tif 000023