(57)【特許請求の範囲】
【請求項１】
入力映像の信号を符号化する映像符号化装置が行う映像符号化方法であって、
符号化モードを選択する場合のコスト関数計算に用いる符号量推定値の計算を浮動小数点演算を用いて行う符号量推定値計算ステップを有し、
前記符号量推定値計算ステップでは、符号化単位の符号量の整数部分Ｂｗと、前記符号量の少数部分Ｂｆとを算出し、前記符号量推定値を「Ｂｗ＋Ｂｆ÷所定の値」によって計算し、
前記所定の値は、予め定められた固定値と前記固定値から±１％変動した値とのうちいずれかである、
映像符号化方法。
【請求項２】
前記固定値は、３２７６８である請求項１に記載の映像符号化方法。
【請求項３】
入力映像の信号を符号化する映像符号化装置であって、
符号化モードを選択する場合のコスト関数計算に用いる符号量推定値の計算を浮動小数点演算を用いて行う符号量推定値計算部を備え、
前記符号量推定値計算部は、符号化単位の符号量の整数部分Ｂｗと、前記符号量の少数部分Ｂｆとを算出し、前記符号量推定値を「Ｂｗ＋Ｂｆ÷所定の値」によって計算し、
前記所定の値は、予め定められた固定値と前記固定値から±１％変動した値とのうちいずれかである、
映像符号化装置。
【請求項４】
コンピュータに、請求項１又は請求項２に記載の映像符号化方法を実行させるための映像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化方法、映像符号化装置及び映像符号化プログラムに関する。
【背景技術】
【０００２】
従来から、代表的な映像符号化規格として、映像符号化国際規格Ｈ．２６４／ＡＶＣ（Advanced Video Coding、例えば、非特許文献１参照）及びＨ．２６５／ＨＥＶＣ（High Efficiency Video Coding、例えば、非特許文献２参照）が知られている。これらの規格を用いた映像符号化を高効率に行うために、圧縮ビット列符号を出力する最後段の処理として「エントロピー符号化」がある。Ｈ．２６４／ＡＶＣ及びＨ．２６５／ＨＥＶＣにおいては、このエントロピー符号化としてＣＡＢＡＣ（コンテキスト適応型二値算術符号化方式；Context Adaptive Binary Arithmetic Coding）という方法が用いられている。
【０００３】
また高能率映像符号化においては、個々の符号化単位（映像を構成するフレームを所定サイズに分割したブロック）の符号化を行う際、符号化モードと呼ばれる選択肢が多数あり、その選択肢の中から適切な符号化モードを選択することが可能となっている。このとき、符号化モードのどれを選べば最適であるかが重要である。すなわち、一定符号量において歪みを最小化する符号化モード、言い方を換えると一定歪み量の下で符号量を最小化する符号化モードを選択する必要がある。最適な符号化モードの選択にはＬａｇｒａｎｇｅの未定乗数法に基づいた方法が用いられており、「ＲＤ最適化（Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ最適化）」と呼ばれている。
【０００４】
ＲＤ最適化において用いる変数は３つある。１つ目の「Ｒ」はそのモードを選んで符号化単位を符号化をしたときのビット数（以下、「符号量推定値」という。）である。２つ目の「Ｄ」はそのときの復号信号と原信号の誤差二乗和である。そして３つ目の「λ」はラグランジュ未定乗数である。λは目標とする画質や符号量に応じて映像符号化装置が任意に選択するものである。そして、選択可能な各符号化モードについて、（１）式の「コスト関数」と呼ばれる量Ｃを最小化する符号化モードが選択される。
Ｃ＝Ｄ＋λＲ    ・・・（１）
【０００５】
Ｈ．２６５／ＨＥＶＣ及びＨ．２６４／ＡＶＣの実際の符号化ソフトウェアでは、ＲＤ最適化を行う場合に、実際のＣＡＢＡＣ符号化を行わず、発生符号量を推定によって求めることが多い。これはＣＡＢＡＣ符号化の処理量が比較的大きなものであるため、選択可能な各符号化モードについて符号量推定値Ｒを求める処理量が多大になってしまうのを避けるためである。
【０００６】
そのような発生符号量推定方法として、例えば非特許文献３の方法は符号化前段に現れるいくつかの数値から線形回帰により推定符号量を得ている。
【０００７】
より一般的な符号量推定方法として、符号化すべき信号の生起確率を用いた方法がある（例えば、非特許文献４、５、６参照）。これら方法により、高い精度でＣＡＢＡＣ発生符号量を推定しつつ、処理量を１〜２５％削減することができる。
【０００８】
例えば非特許文献６の方法は、Ｈ．２６５／ＨＥＶＣの参照ソフトウェアで用いられている方法であるが、既に出力されたビット量Ｂｗと、固定小数点数Ｂｆを用いて、（２）式によって符号量推定値Ｒを求めている。
Ｒ＝Ｂｗ＋（Ｂｆ＞＞１５）    ・・・（２）
（２）式において、’＞＞’は右ビットシフト演算である。すなわち、（２）式は、固定小数点数Ｂｆを右へ１５ビットシフトして得られた値にＢｗを加算して符号量推定値Ｒを求めている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】ISO/IEC 14496-10:2014 Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video Coding
【非特許文献２】ISO/IEC 23008-2:2015 Information technology -- High efficiency coding and media delivery in heterogeneous environments -- Part 2: High efficiency video coding
【非特許文献３】S. Guo, Z. Liu, D. Wang, Q. Han and Y. Song, "Linear rate estimation model for HEVC RDO using binary classification based regression" Data Compression Conference 2014, p. 406, Snowbird, March 2014
【非特許文献４】J. Hahm and C.-M. Kyung, "Efficient CABAC rate estimation for H.264/AVC mode decision," IEEE Trans. CSVT, vol. 20, no. 2, pp. 310-316, February 2010.
【非特許文献５】K. Won, J. Yang and B. Jeon, "Fast CABAC rate estimation for H.264/AVC mode decision," Electronics Letters, vol. 48, no. 19, pp. 1201-1203, September 2012.
【非特許文献６】F. Bossen, "CE1: Table-based bit estimation for CABAC," JCTVCG763, Geneva, November 2011
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、非特許文献３、４、５、６に記載の方法はいずれも、推定符号量を算出する過程で小数の推定値が得られていたのにこれを四捨五入または切り捨てを行って、推定符号量を整数としていた。これはＣＡＢＡＣが発生する符号は０または１のビットの羅列であることから自然なことと考えられていた。
【００１１】
しかしながら、確率ｐで起こる信号の符号量は正確には、ｌｏｇ２（ｐ）ビットとなり、必ずしも整数にはならない場合がある。ここでｌｏｇ２（ｐ）は２を底とするｐの対数である。例えば確率が０．６で起こる信号の符号量は約０．７３７ビットである。このように符号量は一般に０以上の小数値をとる。
【００１２】
したがって従来方法では推定符号量に対して、四捨五入または切り捨てを行うことにより、数値を丸めて整数化していたため、符号量推定値Ｒに１ビット未満の丸め誤差が含まれていた。元々が推定値ではあるため、実際のＣＡＢＡＣ符号量との誤差も当然あるが、従来は、実際の符号量との誤差に加えて前述の丸め誤差が含まれた値を用いてＲＤ最適化が行われていた。すなわち誤差が比較的多く含まれてしまっている符号量推定値Ｒに基づくコスト関数Ｃの最小化を行っていたため、最適な符号化モードが得られていない可能性があり、さらには符号化効率が低下するという問題がある。
【００１３】
この１ビット未満の丸め誤差は、符号量推定値Ｒが数千ビットと大きい場合は無視できる量であるが、例えば前述の確率が０．６の場合、この符号量を丸めて１ビットとすると、元の符号量に加わる誤差の割合は、（３）式のように３５．７％となり、無視できない程度に大きな割合を占める。
（１−ｌｏｇ２（ｐ））／ｌｏｇ２（ｐ）×１００＝３５．７［％］  ・・・（３）
【００１４】
本発明は、このような事情に鑑みてなされたもので、符号量推定値Ｒの精度を向上させることができる映像符号化方法、映像符号化装置及び映像符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の一態様は、入力映像の信号を符号化する映像符号化装置が行う映像符号化方法であって、符号化モードを選択する場合のコスト関数計算に用いる符号量推定値の計算を浮動小数点演算を用いて行う符号量推定値計算ステップを有する映像符号化方法である。
【００１６】
本発明の一態様は、前記映像符号化方法であって、前記符号量推定値計算ステップでは、符号化単位の符号量の整数部分Ｂｗと、前記符号量の少数部分Ｂｆとを算出し、前記符号量推定値を「Ｂｗ＋Ｂｆ÷所定の値」によって計算する。
【００１７】
本発明の一態様は、前記映像符号化方法であって、前記符号量推定値をビットシフト演算によって算出する場合のビットシフト数をｎとしたときに、前記所定の値は、２ｎである。
【００１８】
本発明の一態様は、前記映像符号化方法であって、前記所定の値は、３２７６８である。
【００１９】
本発明の一態様は、入力映像の信号を符号化する映像符号化装置であって、符号化モードを選択する場合のコスト関数計算に用いる符号量推定値の計算を浮動小数点演算を用いて行う符号量推定値計算部を備える映像符号化装置である。
【００２０】
本発明の一態様は、コンピュータに、前記映像符号化方法を実行させるための映像符号化プログラムである。
【発明の効果】
【００２１】
本発明によれば、固定少数点のビットシフトを用いずに、浮動小数点演算を用いて、符号量推定値Ｒを求めるようにしたため、符号量推定値Ｒの精度を向上させることができる。符号量推定値Ｒの精度向上により、映像符号化において、ＲＤ最適化を精緻化することができるため、より適切な符号化モードが選択されるようになり、より少ない符号量でより高い品質の復号映像が得られるという効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】一般的な映像符号化装置の構成を示すブロック図である。
【図２】図１に示す映像符号化装置の動作を示すフローチャートである。
【図３】図１に示す符号化制御部１１５の動作を示すフローチャートである。
【図４】図３に示す符号量推定値Ｒを算出するステップＳ１６の動作を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、本発明の実施形態による映像符号化装置を説明する。なお、本明細書において、画像とは、静止画像、または動画像を構成する１フレーム分の画像のことをいう。また映像とは、動画像と同じ意味であり、一連の画像の集合である。
【００２４】
はじめに、Ｈ．２６５／ＨＥＶＣまたはＨ．２６４／ＡＶＣを含む一般的な映像符号化装置の構成を説明する。図１は、一般的な映像符号化装置１０の構成を示すブロック図である。図１に示す映像符号化装置１０は、符号化対象の映像信号１００を入力し、ブロックに分割してブロック毎に符号化することによって、より小さい符号化データ１１８を生成して出力する。
【００２５】
映像符号化装置１０は、減算部１０２、変換・量子化部１０４、逆量子化・逆変換部１０６、加算部１０７、歪除去フィルタ１０８、フレームメモリ１０９、画面内予測部１１１、動き推定部１１２、画面間予測部１１４、符号化制御部１１５、エントロピー符号化部１１７を備える。
【００２６】
なお、映像符号化装置１０の構成を図１を参照して説明するに際して、映像符号化装置１０が普通に有する公知の機能・構成については、本発明の説明に直接関わりがない限り、その説明及び構成の図示を省略する。
【００２７】
次に、図２を参照して、図１に示す映像符号化装置１０の動作を説明する。図２は、図１に示す映像符号化装置１０の動作を示すフローチャートである。ここでは、映像符号化装置１０が、Ｈ．２６５／ＨＥＶＣに準拠した映像符号化装置であるものとして説明する。
【００２８】
まず、外部から入力された映像信号は、予測単位（Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ）と呼ばれる処理単位ごとのブロックに分割される。減算部１０２は、予測単位毎に予測信号１０１を映像信号１００から減算し、その結果から予測残差信号１０３を生成して出力する（ステップＳ１）。予測信号１０１は、画面内予測部１１１による画面内予測または画面間予測部１１４による画面間予測を行った結果、いずれかの予測結果に基づいて生成される信号である。
【００２９】
次に、変換・量子化部１０４は、この予測残差信号１０３を変換及び量子化して出力する（ステップＳ２）。ここでいう変換とは、圧縮しようとする情報を、より圧縮率を高めるためにその意味内容が失われない別の情報表現の形に変換することである。この変換を行うには、ＤＣＴ（離散コサイン変換；Discrete Cosine Transform）、ＤＳＴ（離散サイン変換；Discrete Sine Transform）などが用いられる。
【００３０】
次に、エントロピー符号化部１１７は、変換・量子化部１０４の結果である量子化係数１０５をエントロピー符号化して、符号化データ１１８として出力する（ステップＳ３）。
【００３１】
一方、量子化係数１０５の値は逆量子化・逆変換部１０６において逆量子化・逆変換を施す（ステップＳ４）。ここでいう逆変換とは、逆ＤＣＴ（逆離散コサイン変換）または逆ＤＳＴ（逆離散サイン変換）を行うことである。
【００３２】
次に、加算部１０７は、画面内予測部１１１または画面間予測部１１４のいずれかから出力する予測信号１０１と、逆量子化・逆変換部１０６の出力信号とを加算する。続いて、歪除去フィルタ１０８は、加算部１０７から出力する信号に対し、歪除去を施す（ステップＳ５）。
【００３３】
歪除去フィルタ１０８の出力は、変換復号画像が再現されたものになり、その信号が復号映像信号１１０として出力される（ステップＳ６）。この復号映像信号１１０は、フレームメモリ１０９に記憶される（ステップＳ７）とともに、符号化制御部１１５に対して出力される。
【００３４】
動き推定部１１２は、フレームメモリ１０９に記憶された復号映像信号１１０と映像信号１００とを用いて、対象ブロックが時間を経てどの程度動いたかを推定し、その結果である動き情報１１３を生成して出力する。この動き情報１１３及びフレームメモリ１０９に記憶されている復号映像信号１１０を用いて、画面間予測部１１４は対象ブロックの予測信号１０１を生成する。または、画面内予測部１１１は、フレームメモリ１０９に記憶されている復号映像信号１１０を用いて、対象ブロックの予測信号１０１を生成して出力する（ステップＳ８）。
【００３５】
なお、エントロピー符号化部１１７は、符号化制御部１１５から出力する制御データ１１６、変換・量子化部１０４から出力する量子化係数１０５、動き推定部１１２から出力する動き情報１１３を符号化し、符号化データ１１８として出力する。
【００３６】
また、以上の一連の処理において、いくつかの処理部は符号化制御部１１５が出力する制御データ１１６に基づいて動作する。符号化制御部１１５は、映像信号１００と復号映像信号１１０を参照し、制御データを出力する。制御データ１１６は、例えば変換・量子化部１０４及び逆量子化・逆変換部１０６においては量子化幅や変換するブロックの大きさを指定する。
【００３７】
また、符号化制御部１１５は、画面内予測部１１１及び画面間予測部１１４においては対象ブロックが画面内予測・画面間予測いずれにより予測するかを指定する。そして、符号化制御部１１５は、画面内予測の場合どのような予測方法であるか、どのような大きさのブロック単位で予測を行うか、画面間予測の場合予測を２枚のフレームから行うか１枚のフレームから行うかを指定する。また、符号化制御部１１５は、動き推定部１１２においては画面間予測を行う単位のサイズや参照する過去符号化フレームを出力する。
【００３８】
ここで説明した符号化制御部１１５が出力する制御データ１１６により指定される「量子化幅」や「変換するブロックの大きさ」情報などが「モード」と呼ばれるものである。複数あるモードの選択肢の中から最もコスト関数を小さくするモードを選ぶことで、与えられたビットレートで最高の画質を得ることができる。
【００３９】
次に、図３を参照して、図１に示す符号化制御部１１５の動作を説明する。図３は、図１に示す符号化制御部１１５の動作を示すフローチャートである。まず、符号化制御部１１５は、別途与えられる未定乗数λの値を入力する（ステップＳ１１）。続いて、符号化制御部１１５は、対象ブロックの映像信号１００を入力する（ステップＳ１２）。
【００４０】
次に、符号化制御部１１５は、対象となる映像符号化装置１０内の処理部において試行可能なモードを順次列挙し、試行モードとして設定する（ステップＳ１３）。符号化制御部１１５は、設定した試行モードを用いて符号化を試行し（ステップＳ１４）、得られた復号画像信号と原画像信号の差の二乗の総和を歪み量Ｄとする（ステップＳ１５）。
【００４１】
また、符号化制御部１１５は、非特許文献６などに記載の技術により、対応する符号量推定値Ｒを推定する（ステップＳ１６）。そして、符号化制御部１１５は、（１）式に基づきコスト関数Ｃを計算する（ステップＳ１７）。符号化制御部１１５は、求めたコスト関数Ｃが試行した中で最も小さいか否かを判定し（ステップＳ１８）、最も小さければこの時点のモードを記憶する（ステップＳ１９）。
【００４２】
次に、対象となる処理部において試行可能なモードをすべて終えたかを判定し（ステップＳ２０）、終えていなければステップＳ１３に戻って、処理を繰り返す。終えていれば、符号化制御部１１５は、コスト関数Ｃが最小であった記憶されているモードを出力し（ステップＳ２１）、終了する。
【００４３】
次に、図４を参照して、図３に示す符号量推定値Ｒを算出するステップＳ１６の動作の詳細を説明する。図４は、符号化制御部１１５が図３に示す符号量推定値Ｒを算出するステップＳ１６の動作を示すフローチャートである。
【００４４】
非特許文献６の具体的方法はＨ．２６５／ＨＥＶＣの参照ソフトウェアに記載されているため詳細な説明を省略する。まず、符号化制御部１１５は、指定モードにおいて符号化を試行した際のＣＡＢＡＣの内部状態より整数符号量Ｂｗを算出する（ステップＳ４１）。続いて、符号化制御部１１５は、小数符号量Ｂｆを算出する（ステップＳ４２）。最後に符号化制御部１１５は、（４）式に基づいて符号量推定値Ｒを算出して出力する（ステップＳ４３）。（４）式は、浮動小数点を用いた演算を用いて計算する。
Ｒ＝Ｂｗ＋Ｂｆ÷３２７６８
＝Ｂｗ＋Ｂｆ÷２１５    ・・・（４）
【００４５】
このように、符号量推定値Ｒを浮動小数点を用いて演算を行うことにより、ビットシフトによって算出するより計算精度を向上させることが可能となる。この構成により、符号量推定値Ｒの算出時に丸め誤差が含まれることがなくなり、符号量推定値Ｒを正確に算出することができるようになるため、最適な符号化モードが得られる可能性が高まり、符号化効率が向上することが期待できるという効果が得られる。
【００４６】
なお、「３２７６８」という値は、固定値である必要はなく、±１％程度（３２４４０〜３３０９５）変動しても、復号画像には影響を与えないようにすることができるとともに、右ビットシフトを用いて計算するよりは、精度を高めることができる。
【００４７】
また、前述した説明では、３２７６８（＝２１５）で割り算する例を示したが、（２）式をＲ＝Ｂｗ＋（Ｂｆ＞＞ｎ）としたとき、すなわち、ｎビット右シフトするとしたとき、（４）式は、（４）’式とすればよい。
Ｒ＝Ｂｗ＋Ｂｆ÷２ｎ    ・・・（４）’
この場合も割り算は、浮動小数点演算によって行えばよい。ただし、２ｎは事前に計算してその値を代入して計算をした方が計算速度は向上する。
【００４８】
なお、（４）式、（４）’式による浮動小数点演算は、符号量推定値を出力する処理の最終段階で実数Ｒを整数化する処理を有している符号化ソフトウェアであれば適用可能である。例えば、非特許文献４、５に記載されている計算処理において適用可能である。
【００４９】
以上説明したように、符号量の推定手順においてより誤差の少ない推定を行うように構成した。この構成によれば、映像符号化において画質改善の要となっている符号化最適化において、効率を高める符号化モードの選択を誤る可能性を低下させることができる。したがって、映像符号化において、より高い符号化効率が実現され、より少ない符号量でより高い品質の復号映像を得ることができる。
【００５０】
前述した実施形態における映像符号化装置の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００５１】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【００５２】
画像・映像の非可逆符号化において、映像品質の改善及び符号化ビットレートの削減を目的として、画像の符号化・復号を行うことが不可欠な用途に適用できる。
【符号の説明】
【００５３】
１００…映像信号、１０１…予測信号、１０２…減算部、１０３…予測残差信号、１０４…変換・量子化部、１０５…量子化係数、１０６…逆量子化・逆変換部、１０７…加算部、１０８…歪除去フィルタ、１０９…フレームメモリ、１１０…復号映像信号、１１１…画面内予測部、１１２…動き推定部、１１３…動き情報、１１４…画面間予測部、１１５…符号化制御部、１１６…制御データ、１１７…エントロピー符号化部、１１８…符号化データ
【図１】
0006495834.tif 000002
【図２】
0006495834.tif 000003
【図３】
0006495834.tif 000004
【図４】
0006495834.tif 000005