(57)【要約】【課題】より高速に符号量予測を行う。【解決手段】符号量予測部３９の２値化部８１は、入力されたシンタックス要素をシンボルデータに変換し、符号量計測部８３は、シンボルデータに適用される、CABACによる算術符号化（EncodeDecision、EncodeBypass、またはEncodeTerminate）においてビット単位で行われる再正規化処理の回数に基づいて、符号化データの予測符号量を計測する。本発明は、例えば、AVC-Intraを用いた符号化装置に適用することができる。【選択図】図６
2012089917.tif 000002
【特許請求の範囲】
【請求項１】
符号化される符号化データの符号量を予測する符号量予測手段を備える符号化装置において、
前記符号量予測手段は、
入力されたシンタックス要素をシンボルデータに変換する変換手段と、
前記シンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測手段と
を備える符号化装置。
【請求項２】
前記符号量予測手段は、前記シンボルデータに適用される算術符号化により出力される前記符号化データにEPB(Emulation Prevention Byte)を挿入することなく、前記符号化データの予測符号量を計測する
請求項１に記載の符号化装置。
【請求項３】
前記符号量予測手段は、前記シンボルデータに適用される算術符号化により出力される前記符号化データを蓄積することなく、前記符号化データの予測符号量を計測する
請求項２に記載の符号化装置。
【請求項４】
前記算術符号化は、CABAC（Context-based Adaptive Binary Arithmetic Coding）である
請求項１に記載の符号化装置。
【請求項５】
前記算術符号化は、CABACのEncodeDecision、EncodeBypass、またはEncodeTerminateの少なくともいずれか１つである
請求項４に記載の符号化装置。
【請求項６】
符号化される符号化データの符号量を予測する符号量予測手段を備える符号化装置の符号量予測方法において、
入力されたシンタックス要素が変換されたシンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測ステップと
を含む符号量予測方法。
【請求項７】
符号化される符号化データの符号量を予測する符号量予測処理をコンピュータに実行させるプログラムにおいて、
入力されたシンタックス要素が変換されたシンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測ステップと
を含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置および方法、並びにプログラムに関し、特に、高速に符号量予測を行うことができるようにする符号化装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、業務用または放送用を用途としたビデオコーデックとして、AVC-Intraがある（例えば、非特許文献１）。AVC-Intraには、フルHD（Full High Definition）対応のAVC-Intra 100と、ニュース放送向けのAVC-Intra 50とがある。このAVC-Intraによって圧縮（符号化）された画像は、主に、以下に示す特徴を有する。
【０００３】
・H.264およびMPEG-4 Part10 Advanced Video Coding（H.264/AVC）に準拠する。
・フレーム内（Intra Frame）圧縮のみで構成される。
・各圧縮フレームの符号量が一定である。
【０００４】
また、他に、AVC-Intra 100は10bit 4:2:2の、AVC-Intra 50は10bit 4:2:0のサンプリングフォーマットに、それぞれ対応しているといった特徴もある。
【０００５】
このようなAVC-Intraを用いた符号化装置においては、圧縮フレームの符号量を一定に保つために、圧縮フレームの正味の符号量が規定量に達しない場合、所定の手法によりダミーとなるデータ（ダミーデータ）が挿入される。このダミーデータは、画質の良し悪しには関与しないので、より高画質な画像を得るためには、挿入されるダミーデータの量をより少なくすることが望ましい。
【０００６】
挿入されるダミーデータの量をより少なくするためには、主に、量子化値が支配的になる、複数のエンコードパラメータについて符号化処理を行い、規定量を超えない最良のエンコードパラメータを特定する必要がある。
【０００７】
ここで、リアルタイムエンコードのような、処理に要する時間が重要になるユースケースにおいては、エンコードパラメータを特定する手法として、以下の２つの手法が考えられる。
（１）全てのエンコードパラメータの数の分の符号化器を用意し、それぞれ並列に符号化処理を実行させ、得られた符号化結果から最適なエンコードパラメータを特定する。
（２）所定回数の（複数パスの）エンコードにより、最適なエンコードパラメータを特定する。
【０００８】
上記（１）の手法によれば、エンコードパラメータとして、真の最適解を求めることができるが、多数の符号化器を用意する必要があり、実装コストが高くなってしまう。一方、（２）の手法によれば、真の最適解に到達しない可能性はあるが、少なくとも１つの符号化器を用意すればよく、実装コストを低く抑えることができる。
【０００９】
上述した（２）の手法においては、１回のエンコードにおける発生符号量を求めること（以下、符号量予測という）についての精度が要求されるが、求められる最も正確な符号量としては、H.264/AVCの場合、CABAC（Context-based Adaptive Binary Arithmetic Coding）やCAVLC（Context-based Adaptive Variable Length Coding）といった符号化方式によって実際にエンコードする際に発生する符号量を適用することが考えられる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】SMPTE RP 2027-2007, "AVC Intra-Frame Coding Specification for SSM Card Applications"
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した符号量予測においては、本来必要な符号量（ビット量）の計上の他に、保存用のストリームの書き出しや、CABACにおける出力ビット決定の演算などの処理が実行されるが、これらは、符号量予測の観点からすると、高速化の妨げとなり、不要な処理といえる。
【００１２】
本発明は、このような状況に鑑みてなされたものであり、より高速に符号量予測を行うことができるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の一側面の符号化装置は、符号化される符号化データの符号量を予測する符号量予測手段を備える符号化装置であって、前記符号量予測手段が、入力されたシンタックス要素をシンボルデータに変換する変換手段と、前記シンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測手段とを備える。
【００１４】
前記符号量予測手段には、前記シンボルデータに適用される算術符号化により出力される前記符号化データにEPB(Emulation Prevention Byte)を挿入することなく、前記符号化データの予測符号量を計測することができる。
【００１５】
前記符号量予測手段には、前記シンボルデータに適用される算術符号化により出力される前記符号化データを蓄積することなく、前記符号化データの予測符号量を計測することができる。
【００１６】
前記算術符号化は、CABAC（Context-based Adaptive Binary Arithmetic Coding）とすることができる。
【００１７】
前記算術符号化は、CABACのEncodeDecision、EncodeBypass、またはEncodeTerminateの少なくともいずれか１つとすることができる。
【００１８】
本発明の一側面の符号化方法は、符号化される符号化データの符号量を予測する符号量予測手段を備える符号化装置の符号量予測方法であって、入力されたシンタックス要素が変換されたシンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測ステップとを含む。
【００１９】
本発明の一側面のプログラムは、符号化される符号化データの符号量を予測する符号量予測処理をコンピュータに実行させるプログラムであって、入力されたシンタックス要素が変換されたシンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測ステップとを含む処理をコンピュータに実行させる。
【００２０】
本発明の一側面においては、入力されたシンタックス要素がシンボルデータに変換され、シンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、符号化データの予測符号量が計測される。
【発明の効果】
【００２１】
本発明の一側面によれば、より高速に符号量予測を行うことが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明を適用した符号化装置の一実施の形態の構成を示すブロック図である。
【図２】符号化部の構成を示すブロック図である。
【図３】EPB（Emulation Prevention Byte）の挿入について説明する図である。
【図４】算術符号化処理について説明する図である。
【図５】一般的な符号化処理における再正規化処理を説明するフローチャートである。
【図６】符号量予測部の構成を示すブロック図である。
【図７】符号化処理について説明するフローチャートである。
【図８】符号量予測処理について説明するフローチャートである。
【図９】符号量予測処理について説明するフローチャートである。
【図１０】符号量予測処理について説明するフローチャートである。
【図１１】符号量予測処理について説明するフローチャートである。
【図１２】符号量予測処理について説明するフローチャートである。
【図１３】復号装置の構成を示すブロック図である。
【図１４】復号処理について説明するフローチャートである。
【図１５】コンピュータのハードウェアの構成例を示すブロック図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について図を参照して説明する。
【００２４】
［符号化装置の構成］
図１は、本発明を適用した符号化装置の一実施の形態の機能的な構成を示している。
【００２５】
図１の符号化装置１１は、AVC-Intraを用いた符号化装置であり、H.264およびMPEG-4 Part10 Advanced Video Coding（H.264/AVC）の規格に準拠して、いわゆる２パスエンコード方式により符号化を行う。すなわち、まず、符号化装置１１は、入力された画像について、一旦固定の量子化ステップでエンコードを行い（１パス目のエンコード処理）、そのとき発生する符号量などのデータに基づいて本番のエンコード時に発生する目標符号量を決定する。次に、符号化装置１１は、その目標符号量が発生する量子化ステップで本番のエンコードを行う（２パス目のエンコード処理）。
【００２６】
符号化装置１１は、画像解析部３１、符号量制御部３２、モード決定部３３、イントラ予測部３４、直交変換部３５、量子化部３６、逆量子化部３７、逆直交変換部３８、符号量予測部３９、および符号化部４０から構成される。
【００２７】
画像解析部３１は、順次入力される画像の各フレーム画像を、輝度信号、および輝度信号に対応する色差信号によって構成される画像データに変換し、符号量制御部３２に供給する。
【００２８】
符号量制御部３２は、画像解析部３１からの各画像データが所定の量子化ステップでエンコードされたときに最適となる符号量を、目標符号量（量子化値）として設定する。また、符号量制御部３２は、符号量予測部３９から供給されてくる予測符号量に基づいて、目標符号量を再設定する。符号量制御部３２は、目標符号量が設定された画像データをモード決定部３３に供給する。
【００２９】
モード決定部３３は、符号量制御部３２からの画像データについて、マクロブロックモード（ＭＢモード）を決定し、ＭＢモードを決定した画像データをイントラ予測部３４に供給する。
【００３０】
イントラ予測部３４は、逆直交変換部３８から供給される参照画像に基づいて、イントラ予測処理を行うことで予測画像を生成し、モード決定部３３からの画像データと、生成した予測画像との差分を演算する。イントラ予測部３４は、演算の結果得られた差分情報（残差画像）を直交変換部３５に供給する。
【００３１】
直交変換部３５は、イントラ予測部３４からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部３６に供給する。
【００３２】
量子化部３６は、直交変換部３５からの変換係数を量子化し、逆量子化部３７、符号量予測部３９、および符号化部４０に供給する。
【００３３】
逆量子化部３７は、量子化部３６からの量子化された変換係数を逆量子化し、逆直交変換部３８に供給する。逆直交変換部３８は、逆量子化部３７からの変換係数に対して、逆直交変換を施し、参照画像としてイントラ予測部３４に供給する。
【００３４】
符号量予測部３９は、２パスエンコード方式における１パス目のエンコード処理の結果として量子化部３６から供給される、量子化された変換係数に基づいて、対応する画像データの符号量を予測する。符号量予測部３９は、予測した符号量（予測符号量）を符号量制御部３２に供給する。
【００３５】
符号化部４０は、２パスエンコード方式における２パス目のエンコード処理の結果として量子化部３６から供給される、量子化された変換係数をH.264/AVC方式で符号化し、得られた圧縮画像を、例えば、後段の図示せぬ記録装置や伝送路等に出力する。符号化部４０においては、CABAC（Context-Adaptive Binary Arithmetic Coding）による符号化が行われる。
【００３６】
［符号化部の構成］
次に、図２を参照して、符号化装置１１における符号化部４０の構成について説明する。
【００３７】
図２の符号化部４０は、２値化部６１、コンテキスト生成部６２、算術符号化部６３、バッファ６４、および挿入部６５から構成される。
【００３８】
２値化部６１は、量子化部３６から量子化された変換係数として供給されてくるシンタックスエレメント（SE: Syntax Element）を２値化してバイナリ列とし、その１ビットずつをシンボルとして算術符号化部６３に供給する。
【００３９】
コンテキスト生成部６２は、量子化部３６からのSEについて、発生確率の高いシンボルと、シンボルの発生確率についてのテーブルとをインデックス化したコンテキストインデックスを、算術符号化部６３に供給する。
【００４０】
算術符号化部６３は、２値化部６１からのシンボル、および、コンテキスト生成部６２からのコンテキストインデックスに基づいて算術符号化処理を実行し、符号化結果としての、出力ビットが決定したビットストリームを、バッファ６４に供給し、蓄積させる。
【００４１】
挿入部６５は、バッファ６４に蓄積されているビットストリームを監視し、所定のタイミングで、蓄積されたビットストリームを読み出す。挿入部６５は、読み出したビットストリームがH.264/AVCの規格に準拠したバイトストリーム（NAL（Network Abstraction Layer）構造）となるように、所定のバイト配列に対して、予め決められた１バイトのデータを挿入し、図示せぬ記録装置や伝送路等に出力する。
【００４２】
より詳細には、H.264/AVC方式では、ビデオ信号を符号化したRBSP（Raw Byte Sequence Payload）中に、図３の左側に示すような所定のデータ配列（0x00，0x00，0xXX(XXは00，01，02、または03)）が含まれている場合、H.264/AVC方式で規定されているスタートコード（0x00，0x00，0x01）が擬似的に出現してしまうことを抑止するため、そのRBSPを、図３の右側に示すように、0x00，0x00と0xXXの間に、EPB(Emulation Prevention Byte)と称する、図中網かけされた１バイトのデータ（0x03）を挿入した、EBSP（Encapsulated Byte Sequence Payload）に変換する規定がある。このように、H.264/AVC方式の符号化ビデオ信号においては、所定のデータ配列に対してEPBが挿入される。
【００４３】
［算術符号化処理の説明］
ここで、図４を参照して、図３の算術符号化部６３の算術符号化処理について説明する。
【００４４】
算術符号化処理においては、例えば符号化対象のデータ列、例えばシンボルや２値（０および１）の系列が出現確率に応じて区間[０，１]に射影され、数直線上の確率空間が区間内の数でバイナリ表現されて符号化される。
【００４５】
例えば、図４に示されるように、0.00…以上、1.00…未満の区間が、符号化対象のデータ内の個々のデータの出現確率を基に分割され、個々のデータを基に、分割された区間を選択する再帰的処理が行われ、符号化対象のデータに対応する区間を示すデータが符号とされる。以下、簡単のため、符号化対象のデータを２値として説明する。
【００４６】
まず、具体的には図４の状態Ａに示されるように、符号化対象のデータの内、出現確率が大きいデータをMPS（Most Probable Symbol）、出現確率が小さいデータをLPS（Least Probable Symbol）とし、それぞれの出現確率pMPS、pLPSに応じて所定の区間Ｐが分割される。ここで、現区間の幅（確率幅）をcodIRange、現区間の下限値をcodILowとする。また、出現確率pMPSは、１−pLPSと表される。
【００４７】
このように、初期状態では、図４の状態Ａに示されるように、幅codIRange、下限値codILowの値は、それぞれＰ，0.00…である。
【００４８】
符号化対象のデータ列の最初のデータがMPSの場合には、図４の状態Ａに示されるように、区間Ｐが出現確率pMPS，pLPSに応じて分割され、分割された区間の内、図４の状態Ｂに示されるようにMPSに対応する区間が選択される。このときの幅codIRange，下限値codILowの値は、P0（=pMPS），0.00…である。
【００４９】
次に、符号化対象のデータ列の内の２番目のデータがMPSの場合には、図４の状態Ｂに示されるように、区間が出現確率pMPS，pLPSに応じて分割され、分割された区間の内、図４の状態Ｃに示されるようにMPSに対応する区間が選択される。このときの幅codIRange，下限値codILowの値は、P00（=P0×pMPS），0.00…である。
【００５０】
次に、符号化対象のデータ列の内の３番目のデータがLPSの場合には、図４の状態Ｃに示されるように、区間が出現確率pMPS，pLPSに応じて分割され、分割された区間の内、図４の状態Ｄに示されるようにLPSに対応する区間が選択される。このときの幅codIRange，下限値codILowの値は、P00×pLPS，P001（codILow＋pMPS）である。
【００５１】
つまり、上述した符号化処理においてLPSの場合には、下限値codILowの値にpMPSが加算されて、下限値codILowが更新される。
【００５２】
このように、算術符号化処理においては、符号化対象のデータ列のビット長が大きくなるに従い、幅codIRangeが小さくなり、幅codIRangeを示すデータのビット数も多くなる。このため符号化処理の結果、確定したビットを出力することで、メモリの容量を削減する。
【００５３】
また、算術符号化処理においては、計算精度を保つために、図４の状態Ｅに示されるように、幅codIRangeが所定値よりも大きくなるように拡大する再正規化処理（Renormalize）が行われる。例えば再正規化処理においては、幅codIRangeの値が２倍されて、所定値よりも大きくなるように拡大される。
【００５４】
図５は、一般的な符号化処理における再正規化処理を説明するフローチャートである。
【００５５】
例えば、上述したように、符号化対象のデータ列を１ビット単位で符号化処理を行う毎に、図５に示すような再正規化処理が行われる。具体的には、まず、ステップＳ１において、幅codIRangeが予め設定された所定値よりも小さいか否かが判定され、所定値よりも小さい場合には、ステップＳ２において、下限値codILowの値の上位１ビットに応じた符号が出力される。その後、ステップＳ３およびステップＳ４において、幅codIRangeと下限値codILowの値が左シフト演算されることで２倍に拡大され、ステップＳ１の処理に戻る。ステップＳ１乃至Ｓ４の動作は、幅codIRangeの値が所定値以上になるまで繰り返される。
【００５６】
一方、ステップＳ１において、幅codIRangeの値が所定値以上の場合には、再正規化処理は終了する。
【００５７】
上述したように、再正規化処理においては、ビット毎に幅codIRangeが所定値であるか否が判別される。
【００５８】
［符号量予測部の構成］
次に、図６を参照して、符号化装置１１における符号量予測部３９の構成について説明する。
【００５９】
図６の符号量予測部３９は、２値化部８１、コンテキスト生成部８２、および符号量計測部８３から構成される。なお、２値化部８１およびコンテキスト生成部８２は、図２を参照して説明した符号化部４０における２値化部６１およびコンテキスト生成部６２と、それぞれ同様の機能を有するので、その説明は省略する。なお、符号量予測部３９は、符号化部４０に設けられているバッファ６４および挿入部６５を備えない。
【００６０】
符号量計測部８３は、２値化部８１からのシンボル、および、コンテキスト生成部８２からのコンテキストインデックスに基づいて、上述した算術符号化処理において、符号化対象のデータ列を１ビット単位で符号化処理を行う毎に実行される再正規化処理の回数に基づいて、符号化データの予測符号量を計測する。上述したように、算術符号化処理においては、再正規化処理は、符号化データが１ビット出力される毎に実行されるので、再正規化処理が実行される回数は、出力される符号化データのビット数、すなわち予測符号量を表すことになる。
【００６１】
なお、符号量計測部８３は、符号化データを出力せず、計測した予測符号量を、符号量制御部３２に供給する。
【００６２】
［符号化処理の説明］
次に、図７のフローチャートを参照して、符号化装置１１の符号化処理について説明する。上述したように、符号化装置１１は、２パスエンコード方式により符号化を行う。
【００６３】
ステップＳ１１において、画像解析部３１は、順次入力される画像の各フレーム画像を、輝度信号、および輝度信号に対応する色差信号によって構成される画像データに変換し、符号量制御部３２に供給する。
【００６４】
ステップＳ１２において、符号量制御部３２は、画像解析部３１からの各画像データが所定の量子化ステップでエンコードされたときに最適となる符号量を、目標符号量（量子化値）として設定する。符号量制御部３２は、目標符号量が設定された画像データをモード決定部３３に供給する。
【００６５】
ステップＳ１３において、モード決定部３３は、符号量制御部３２からの画像データについて、マクロブロックモード（ＭＢモード）を決定し、ＭＢモードを決定した画像データをイントラ予測部３４に供給する。
【００６６】
ステップＳ１４において、イントラ予測部３４は、逆直交変換部３８から供給される参照画像に基づいて、イントラ予測処理を行うことで予測画像を生成し、モード決定部３３からの画像データと、生成した予測画像との差分を演算する。イントラ予測部３４は、演算の結果得られた差分情報（残差画像）を直交変換部３５に供給する。
【００６７】
ステップＳ１５において、直交変換部３５は、イントラ予測部３４からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部３６に供給する。
【００６８】
ステップＳ１６において、量子化部３６は、直交変換部３５からの変換係数を量子化し、逆量子化部３７、符号量予測部３９、および符号化部４０に供給する。
【００６９】
ステップＳ１７において、逆量子化部３７は、量子化部３６からの量子化された変換係数を逆量子化し、逆直交変換部３８に供給する。
【００７０】
ステップＳ１８において、逆直交変換部３８は、逆量子化部３７からの変換係数に対して、逆直交変換を施し、参照画像としてイントラ予測部３４に供給する。
【００７１】
以上の処理が、２パスエンコード方式における１パス目のエンコード処理に対応する。
【００７２】
ステップＳ１８において、符号量予測部３９は、符号量予測処理を実行し、２パスエンコード方式における１パス目のエンコード処理の結果として量子化部３６から供給される、量子化された変換係数に基づいて、対応する画像データの符号量を予測する。具体的には、符号量予測部３９は、符号量予測処理を実行することにより、CABACによる符号化処理（算術符号化処理）における再正規化処理の回数に基づいて、符号化データの予測符号量を計測する。
【００７３】
ところで、CABACによる符号化処理は、供給されるSE（シンタックスエレメント）の種類に応じて、３種類の符号化処理に分類される。具体的には、CABACによる符号化処理においては、EncodeDecision、EncodeBypass、およびEncodeTerminateのうちのいずれかの処理が実行される。
【００７４】
このうち、EncodeBypassは、SEが変換係数の正負の符号などの場合に実行される処理であり、EncodeTerminateは、SEがスライスの終端を示す場合に実行される処理である。また、EncodeDecisionは、SEが上述した場合でないときに実行される。
【００７５】
符号量予測部３９による符号量予測処理においても、SEの種類に応じて、上述した３種類の符号化処理に対応した符号量予測処理が実行される。
【００７６】
［符号量予測処理１］
まず、図８のフローチャートを参照して、EncodeDecisionに対応した符号量予測処理について説明する。図８の符号量予測処理においては、２値化部８１からのシンボル（入力シンボル）のシンボル値binVal、および、コンテキスト生成部８２からのコンテキストインデックスctxIdxが、符号量計測部８３に供給されると開始される。
【００７７】
ステップＳ４１において、符号量計測部８３は、確率幅codIRangeの値を右へ６ビットシフトし、その下位２ビットをとった値をqCodIRangeIdxとし、H.264/AVCで規定されているテーブル値rangeTabLPSを用いて、LPSの確率幅codIRangeLPSを求めるとともに、確率幅codIRangeをMPSの確率幅に変更する。
【００７８】
ステップＳ４２において、符号量計測部８３は、入力シンボルのシンボル値binValと、MPSの値を示すvalMPSとが不一致であるか否かを判定する。不一致でないと判定された場合、すなわち、入力シンボルbinがMPSである場合、処理はステップＳ４３に進み、符号量計測部８３は、規定されているテーブル値transIdxMPSによって状態を遷移させ、pStateIdxを更新する。pStateIdxは、MPSの発生確率を持つテーブルのテーブル番号であり、その値が大きいほど、MPSの高い発生確率に対応するようになされている。
【００７９】
一方、ステップＳ４２において、シンボル値binValとvalMPSとが不一致であると判定された場合、すなわち、入力シンボルbinがLPSである場合、処理はステップＳ４４に進む。
【００８０】
ステップＳ４４において、符号量計測部８３は、LPSの確率幅codIRangeLPSを確率幅codIRangeに代入するとともに、規定されているテーブル値transIdxLPSによって状態を遷移させ、pStateIdxを更新する。
【００８１】
ステップＳ４３またはステップＳ４４の後、処理はステップＳ４５に進み、符号量計測部８３は、再正規化処理（RenormE）を実行する。
【００８２】
ここで、図９を参照して、再正規化処理（RenormE）について説明する。
【００８３】
ステップＳ５１において、符号量計測部８３は、確率幅codIRangeが予め設定された所定値（256）より小さいか否かを判定し、所定値より小さいと判定された場合、処理はステップＳ５２に進む。
【００８４】
ステップＳ５２において、符号量計測部８３は、算術符号化処理において出力される符号化データの符号量をカウントする変数bitcountを１インクリメントするとともに、確率幅codIRangeの値を１ビット左へシフトして、処理はステップＳ５１に戻る。すなわち、ステップＳ５１において、確率幅codIRangeが予め設定された所定値より小さくないと判定されるまで、ステップＳ５１およびＳ５２の処理は繰り返される。
【００８５】
そして、ステップＳ５１において、確率幅codIRangeが予め設定された所定値より小さくないと判定されると、処理は図８のフローチャートのステップＳ４５に戻り、さらに、図７のフローチャートのステップＳ１９に戻る。
【００８６】
［符号量予測処理２］
次に、図１０のフローチャートを参照して、EncodeBypassに対応した符号量予測処理について説明する。なお、EncodeBypassは、いわゆる再正規化処理を含んだ処理として規定されている。
【００８７】
ステップＳ６１において、符号量計測部８３は、算術符号化処理において出力される符号化データの符号量をカウントする変数bitcountを１インクリメントし、処理は図７のフローチャートのステップＳ１９に戻る。
【００８８】
［符号量予測処理３］
次に、図１１のフローチャートを参照して、EncodeTerminateに対応した符号量予測処理について説明する。
【００８９】
ステップＳ７１において、符号量計測部８３は、確率幅codIRangeの値を、２減算した値に更新する。
【００９０】
ステップＳ７２において、符号量計測部８３は、入力シンボルのシンボル値binValが０でないか否かを判定する。０でないと判定された場合、すなわち、シンボル値binValが１である場合、処理はステップＳ７３に進み、EncodeFlushが実行される。
【００９１】
ここで、図１２を参照して、EncodeFlushについて説明する。なお、EncodeFlushは、いわゆる再正規化処理を含んだ処理として規定されている。
【００９２】
ステップＳ８１において、符号量計測部８３は、算術符号化処理において出力される符号化データの符号量をカウントする変数bitcountに１０加算し、処理は図１１のフローチャートのステップＳ７３に戻る。
【００９３】
一方、ステップＳ７２において、符号量計測部８３は、入力シンボル値binValが０であると判定された場合、処理はステップＳ７４に進み、符号量計測部８３は、上述した再正規化処理（RenormE）を実行する。
【００９４】
ステップＳ７３またはステップＳ７４の後、処理は図７のフローチャートのステップＳ１９に戻る。
【００９５】
このようにして、符号量予測処理においては、実際の算術符号化処理のように、符号化データ（ビットストリーム）は出力されずに、算術符号化処理においてビット単位で符号化処理を行う毎に実行される再正規化処理の回数が、変数bitcountとしてカウントされる。すなわち、変数bitcountは、２パスエンコード方式における１パス目のエンコード処理によって得られた符号化データの符号量として計測され、その値は予測符号量として、符号量制御部３２に供給され、処理はステップＳ２０に進む。
【００９６】
ステップＳ２０において、符号量制御部３２は、符号量予測部３９からの予測符号量と、設定した目標符号量との差分が所定量より大きいか否かを判定する。
【００９７】
ステップＳ２０において、目標符号量との差分が所定量より大きいと判定された場合、処理はステップＳ２１に進み、符号量制御部３２は、符号量予測部３９から供給されてくる予測符号量を、目標符号量として再設定する。符号量制御部３２は、目標符号量が再設定された画像データを、モード決定部３３を介して、イントラ予測部３４に供給する。ここでは、モード決定部３３においてＭＢモードの決定は行われない。
【００９８】
以降、２パスエンコード方式における２パス目のエンコード処理が実行される。すなわち、ステップＳ２２乃至Ｓ２４においては、予測画像との差分が演算され、直交変換が施され、変換係数が量子化される。
【００９９】
そして、ステップＳ２５において、符号化部４０は、２パスエンコード方式における２パス目のエンコード処理の結果として量子化部３６から供給される、量子化された変換係数に対して、上述したCABACによる算術符号化処理を施し、得られた圧縮画像を、例えば、後段の図示せぬ記録装置や伝送路等に出力する。
【０１００】
一方、ステップＳ２０において、目標符号量との差分が所定量より大きくないと判定された場合、ステップＳ２１乃至Ｓ２４はスキップされ、ステップＳ２５において、符号化部４０は、２パスエンコード方式における１パス目のエンコード処理の結果として量子化部３６から供給される、量子化された変換係数に対して、上述したCABACによる算術符号化処理を施す。
【０１０１】
以上の処理によれば、符号量予測において、CABACによる符号化方式によって実際にエンコードする際に発生する符号量を、実際に符号化データ（ビットストリーム）を出力することなく、実際のエンコードにおける発生符号量と同等の精度で計測することができる。このように、実際にビットストリームが出力されないので、保存用のストリームの書き出しや、CABACにおける出力ビット決定の演算、EPBの挿入などの処理を実行することなく、予測符号量を計測することができ、より高速化に符号量予測を行うことが可能となる。
【０１０２】
また、以上においては、本発明の符号量予測処理を、複数パスのエンコードにより、最適なエンコードパラメータ（目標符号量）を特定する符号化処理に適用するようにしたが、全てのエンコードパラメータの数の分の符号化器を用意し、それぞれ並列に実行される符号化処理に適用した場合、保存用のストリームの書き出しが実行されないので、符号量予測部が、符号化部４０に設けられたようなバッファを備える必要がなく、実装コストを削減することが可能となる。
【０１０３】
［復号装置の構成例］
図１３は、上述した符号化装置１１によって符号化された符号化データを復号する復号装置の構成例を示している。
【０１０４】
符号化装置１１より符号化された符号化データは、所定の伝送路等を介して、復号装置１１１に伝送され、復号されるものとする。
【０１０５】
図１３に示される復号装置１１１は、復号部１３１、逆量子化部１３２、逆直交変換部１３３、演算部１３４、デブロックフィルタ１３５、および画像出力部１３６から構成される。
【０１０６】
復号部１３１は、伝送されてきた符号化データを蓄積し、所定のタイミングで、図１の符号化部４０の符号化方式に対応する方式で復号し、復号の結果得られた、シンタックスエレメント（SE）としての量子化された変換係数を、逆量子化部１３２に供給する。
【０１０７】
逆量子化部１３２は、復号部１３１からの量子化された変換係数を、図１の量子化部３６の量子化方式に対応する方式で逆量子化し、逆量子化された変換係数を、逆直交変換部１３３に供給する。
【０１０８】
逆直交変換部１３３は、逆量子化部１３２からの変換係数を、図１の直交変換部３５の直交変換方式に対応する方式で逆直交変換し、符号化装置１１において直交変換される前の差分情報に対応する復号差分情報（残差画像）を得て、演算部１３４に供給する。
【０１０９】
逆直交変換されて得られた復号差分情報は、演算部１３４に供給される。また、演算部１３４には、イントラ予測部１３７から予測画像が供給される。
【０１１０】
演算部１３４は、逆直交変換部１３３からの復号差分情報と、イントラ予測部１３７からの予測画像とを加算し、符号化装置１１のイントラ予測部３４により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部１３４は、その復号画像データをデブロックフィルタ１３５に供給する。
【０１１１】
デブロックフィルタ１３５は、演算部１３４からの復号画像データのブロック歪を除去した後、画像出力部１３６に供給する。
【０１１２】
画像出力部１３６は、デブロックフィルタ１３５からの復号画像データに対してD/A変換を施した後、図示せぬディスプレイに出力し、表示させる。
【０１１３】
デブロックフィルタ１３５の出力は、さらに、イントラ予測部１３７に供給される。
【０１１４】
イントラ予測部１３７は、デブロックフィルタ１３５からの復号画像データから予測画像を生成し、生成した予測画像を演算部１３４に供給する。
【０１１５】
［復号処理の処理］
次に、図１４を参照して、図１３の復号装置１１１の復号処理について説明する。
【０１１６】
復号処理が開始されると、ステップＳ１３１において、復号部１３１は、所定のタイミングで、伝送され蓄積されていた符号化データを復号し、復号の結果得られた、量子化された変換係数を、逆量子化部１３２に供給する。
【０１１７】
ステップＳ１１２において、逆量子化部１３２は、復号部１３１により復号されて得られた、量子化された変換係数を、図１の量子化部３６による量子化処理に対応する方法で逆量子化する。
【０１１８】
ステップＳ１１３において、逆直交変換部１３３は、逆量子化部１３２により逆量子化されて得られた変換係数を、図１の直交変換部３５による直交変換処理に対応する方法で逆直交変換する。これにより、図１の直交変換部３５の入力（イントラ予測部３４の出力）に対応する差分情報（残差画像）が復号されたことになる。
【０１１９】
ステップＳ１１４において、イントラ予測部１３７は、デブロックフィルタ１３５からの復号画像データから予測画像を生成し、生成した予測画像を演算部１３４に供給する。
【０１２０】
ステップＳ１１５において、演算部１３４は、イントラ予測部１３７からの予測画像と、逆直交変換部１３３からの差分情報（残差画像）とを加算する。これにより元の画像データが復号される。
【０１２１】
ステップＳ１１６において、デブロックフィルタ１３５は、ステップＳ１１５の処理により得られた画像データ（復号画像データ）を適宜フィルタリングする。これにより適宜復号画像データからブロック歪みが除去される。
【０１２２】
ステップＳ１１７において、画像出力部１３６は、復号画像データをD/A変換する。この復号画像データは図示せぬディスプレイに出力され、その画像が表示される。
【０１２３】
このようにして、符号化装置１１によって符号化された符号化データが復号される。
【０１２４】
上述した符号化処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等に、プログラム記録媒体からインストールされる。
【０１２５】
図１５は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１２６】
コンピュータにおいて、CPU（Central Processing Unit）９０１，ROM（Read Only Memory）９０２，RAM（Random Access Memory）９０３は、バス９０４により相互に接続されている。
【０１２７】
バス９０４には、さらに、入出力インタフェース９０５が接続されている。入出力インタフェース９０５には、キーボード、マウス、マイクロホン等よりなる入力部９０６、ディスプレイ、スピーカ等よりなる出力部９０７、ハードディスクや不揮発性のメモリ等よりなる記憶部９０８、ネットワークインタフェース等よりなる通信部９０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等のリムーバブルメディア９１１を駆動するドライブ９１０が接続されている。
【０１２８】
以上のように構成されるコンピュータでは、CPU９０１が、例えば、記憶部９０８に記憶されているプログラムを、入出力インタフェース９０５およびバス９０４を介して、RAM９０３にロードして実行することにより、上述した一連の処理が行われる。
【０１２９】
コンピュータ（CPU９０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリ等よりなるパッケージメディアであるリムーバブルメディア９１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１３０】
そして、プログラムは、リムーバブルメディア９１１をドライブ９１０に装着することにより、入出力インタフェース９０５を介して、記憶部９０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部９０９で受信し、記憶部９０８にインストールすることができる。その他、プログラムは、ROM９０２や記憶部９０８に、あらかじめインストールしておくことができる。
【０１３１】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１３２】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１３３】
１１  符号化装置，  ３９  符号量予測部，  ４０  符号化部，  ８１  ２値化部，  ８２  コンテキスト生成部，  ８３  符号量計測部
【図１】
2012089917.tif 000003
【図２】
2012089917.tif 000004
【図３】
2012089917.tif 000005
【図４】
2012089917.tif 000006
【図５】
2012089917.tif 000007
【図６】
2012089917.tif 000008
【図７】
2012089917.tif 000009
【図８】
2012089917.tif 000010
【図９】
2012089917.tif 000011
【図１０】
2012089917.tif 000012
【図１１】
2012089917.tif 000013
【図１２】
2012089917.tif 000014
【図１３】
2012089917.tif 000015
【図１４】
2012089917.tif 000016
【図１５】
2012089917.tif 000017