JP2014068247A - 符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラム - Google Patents
符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラム Download PDFInfo
- Publication number
- JP2014068247A JP2014068247A JP2012212926A JP2012212926A JP2014068247A JP 2014068247 A JP2014068247 A JP 2014068247A JP 2012212926 A JP2012212926 A JP 2012212926A JP 2012212926 A JP2012212926 A JP 2012212926A JP 2014068247 A JP2014068247 A JP 2014068247A
- Authority
- JP
- Japan
- Prior art keywords
- binary code
- code amount
- code string
- section width
- width
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】 動画像を符号化する際の符号量を効率的に求める。
【解決手段】 本発明は、対象画像と予測画像との残差信号や予測情報等の符号化情報に係る2値符号列の系列と、符号化情報に係るコンテキスト変数の系列とに基づいてエントロピー符号化手段から出力する符号の符号量を計算する符号量計算装置を備える動画像符号化装置に関する。そして、符号量計算装置は、処理開始時での初期区間幅を記憶する手段と、初期区間幅を初期値として更新される区間幅を保持する手段と、2値符号列の系列及びコンテキスト変数の系列に応じて保持する区間幅の状態遷移を制御する手段と、2値符号列ごとに正規化によって区間幅をビットシフトした回数をカウントする手段と、カウント値と初期区間幅に対応する符号量と処理終了時に保持する区間幅に対応する符号量とに基づいて、エントロピー符号化手段から出力する符号量を計算する手段とを有することを特徴とする。
【選択図】 図1
【解決手段】 本発明は、対象画像と予測画像との残差信号や予測情報等の符号化情報に係る2値符号列の系列と、符号化情報に係るコンテキスト変数の系列とに基づいてエントロピー符号化手段から出力する符号の符号量を計算する符号量計算装置を備える動画像符号化装置に関する。そして、符号量計算装置は、処理開始時での初期区間幅を記憶する手段と、初期区間幅を初期値として更新される区間幅を保持する手段と、2値符号列の系列及びコンテキスト変数の系列に応じて保持する区間幅の状態遷移を制御する手段と、2値符号列ごとに正規化によって区間幅をビットシフトした回数をカウントする手段と、カウント値と初期区間幅に対応する符号量と処理終了時に保持する区間幅に対応する符号量とに基づいて、エントロピー符号化手段から出力する符号量を計算する手段とを有することを特徴とする。
【選択図】 図1
Description
本発明は、符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラムに関し、例えば、H.264/MPEG−4AVC等の動画像符号化技術による動画像圧縮符号の処理に適用できる。
従来、H.264/MPEG−4AVC(以下、単に「H.264」と呼ぶ)等に代表される映像符号化技術による映像情報の圧縮符号化処理では、入力された画像を分割した処理単位毎に、動き補償予測等を行った予測画像と、入力された画像との差分である予測残差信号に、離散コサイン変換等の空間変換を施した変換係数を量子化し、さらに、これを算術符号等のエントロピー符号化することによって高効率の映像圧縮を実現している。
そして、従来の量子化処理により量子化雑音が発生した場合、復号側で再生される復号画像に歪が生じるが、量子化することによって、符号化すべき情報量が削減される。そして、従来の量子化処理では、量子化された係数情報等は算術符号等のエントロピー符号化により、情報の発生確率に応じた符号量となるように符号化される。例えば、H.264ではCABAC(Context−based Adaptive Binary Arithmetic Coding)と呼ばれるコンテキスト適応2値算術符号等が使用されている。
従来の映像符号化技術では、このような歪と符号量(レート)のトレードオフを評価し、符号化モード選択等に利用する技術としてレート歪最適化技術がある。レート歪最適化技術とは、複数の符号化モード等の選択肢について、その選択肢を選択した場合に得られる復号画像の対象画像に対する歪Dと、その選択肢で符号化したときに発生する符号量Rと、ラグランジュ乗数λで表されるRDコストJ(J=D+λR)を最小化するような選択をすることによって、レートと歪のトレードオフが最適な符号化をする方法である。
例えば、ある符号化単位(H.264ではマクロブロック等)で複数ある符号化モード候補(イントラモード、インターモード、スキップモード等〉からの選択を行う場合に、その選択肢で符号化したときに発生する符号量Rを計算する。この場合、従来技術では、実際に符号化してみることによって符号量を求める必要がある。また、その他にも、特許文献1の記載技術のように、コンテキスト変数が表す確率状態ごとに対応する符号量をテーブル引きにより求め、テーブル引きの結果を累積加算することで符号量を推定する方法がある。
しかしながら、従来の符号化技術のように実際に符号化を行ってみる方法では、出力されるビットパターンを求める処理等の演算量が多く処理の無駄が多い。さらに、従来技術では、符号量として整数精度のビット数しか得られず、算術符号がもつ整数符号長でない符号化が可能である特徴をモード選択等に有効に反映できない。
また、特許文献1の記載技術のように、符号量テーブルを用いて加算していく方法では、算術符号の区間幅の分布に関する近似が用いられているために精度の高い符号量の推定ができず、より符号化効率の高い最適な選択がなされない場合があるという課題があった。
上述のような課題に鑑みて、動画像を符号化する際の符号量を効率的に求めることができる符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラムが望まれている。
第1の本発明は、動画像を構成する対象画像と上記対象画像の予測画像との残差信号や予測情報等の符号化情報に係る2値符号列の系列と、上記符号化情報に係る2値符号列のそれぞれの確率状態を表すコンテキスト変数の系列とに基づいて、上記符号化情報のエントロピー符号化を行うエントロピー符号化手段を用いて、上記動画像の符号化を行う場合に、上記エントロピー符号化手段で出力する符号の符号量を計算する符号量計算装置において、(1)上記2値符号列の系列に係る処理開始時での初期区間幅を記憶する初期区間幅記憶手段と、(2)上記初期区間幅を初期値とし、上記2値符号列の系列に応じて更新される区間幅を保持する区間幅保持手段と、(3)上記2値符号列の系列及び上記コンテキスト変数の系列に応じて、上記区間幅保持手段の区間幅の状態遷移を制御する2値符号列処理手段と、(4)上記2値符号列処理手段が、正規化処理によって区間幅をビットシフトした回数をカウントするビットシフト回数カウント手段と、(5)上記ビットシフト回数カウント手段のカウント値と、上記初期区間幅に対応する符号量と、上記2値符号列の系列に係るすべての2値符号列の処理終了時に上記区間幅保持手段が保持する区間幅に対応する符号量とに基づいて、上記エントロピー符号化手段から出力する符号量を計算する計算手段とを有することを特徴とする。
なお、上述の第1の本発明の符号量計算装置には、「動画像を構成する対象画像と上記対象画像の予測画像との誤差信号に係る2値符号列の系列と、上記誤差信号に係る2値符号列のそれぞれの確率状態を表すコンテキスト変数の系列とに基づいて、上記誤差信号のエントロピー符号化を行うエントロピー符号化手段を用いて、上記動画像の符号化を行う場合に、上記エントロピー符号化手段で出力する符号の符号量を計算する符号量計算装置において、(1)上記2値符号列の系列に係る処理開始時での初期区間幅を初期値とし、上記2値符号列の系列に応じて更新される区間幅を保持する区間幅保持手段と、(2)上記2値符号列の系列及び上記コンテキスト変数の系列に応じて、上記区間幅保持手段の区間幅の状態遷移を制御する2値符号列処理手段と、(3)上記2値符号列ごとに、上記区間幅保持手段で更新される区間幅をビットシフトにより正規化する処理を行う正規化処理手段と、(4)上記正規化処理手段が、ビットシフトした回数をカウントするビットシフト回数カウント手段と、(5)上記ビットシフト回数カウント手段のカウント値と、上記初期区間幅に対応する符号量と、上記2値符号列の系列に係るすべての2値符号列の処理終了時に上記区間幅保持手段が保持する区間幅に対応する符号量とに基づいて、上記エントロピー符号化手段から出力する符号量を計算する計算手段とを有することを特徴とする符号量計算装置。」が含まれる。
第2の本発明は、動画像を構成する対象画像と上記対象画像の予測画像との残差信号や予測情報等の符号化情報に係る2値符号列と、上記符号化情報に係る2値符号列のそれぞれの確率状態を表すコンテキスト変数の系列とに基づいて、上記符号化情報のエントロピー符号化を行うエントロピー符号化手段と、上記エントロピー符号化手段で、動画像の符号化を行う場合に、必要となる符号量を推定する符号量計算手段とを備え、上記エントロピー符号化手段は、上記符号量計算装置の推定結果に基づいて選択された符号化情報に係る符号を出力する動画像符号化装置において、上記符号量計算手段として第1の本発明の符号量計算装置を適用したことを特徴とする。
第3の本発明は、動画像を構成する対象画像と上記対象画像の予測画像との残差信号や予測情報等の符号化情報に係る2値符号列と、上記符号化情報に係る2値符号列のそれぞれの確率状態を表すコンテキスト変数の系列とに基づいて、上記符号化情報のエントロピー符号化を行うエントロピー符号化手段を用いて、上記動画像の符号化を行う場合に、上記エントロピー符号化手段で出力する符号の符号量を計算する符号量計算プログラムにおいて、コンピュータを、(1)上記2値符号列の系列に係る処理開始時での初期区間幅を記憶する初期区間幅記憶手段と、(2)上記初期区間幅を初期値とし、上記2値符号列の系列に応じて更新される区間幅を保持する区間幅保持手段と、(3)上記2値符号列の系列及び上記コンテキスト変数の系列に応じて、上記区間幅保持手段の区間幅の状態遷移を制御する2値符号列処理手段と、(4)上記2値符号列処理手段が、正規化処理によって区間幅をビットシフトした回数をカウントするビットシフト回数カウント手段と、(5)上記ビットシフト回数カウント手段のカウント値と、上記初期区間幅に対応する符号量と、上記2値符号列の系列に係るすべての2値符号列の処理終了時に上記区間幅保持手段が保持する区間幅に対応する符号量とに基づいて、上記エントロピー符号化手段から出力する符号量を計算する計算手段として機能させることを特徴とする。
第4の本発明の動画像符号化プログラムは、コンピュータを、(1)動画像を構成する対象画像と上記対象画像の予測画像との残差信号や予測情報等の符号化情報に係る2値符号列と、上記符号化情報に係る2値符号列のそれぞれの確率状態を表すコンテキスト変数の系列とに基づいて、上記符号化情報のエントロピー符号化を行うエントロピー符号化手段と、(2)上記エントロピー符号化手段で、動画像の符号化を行う場合に、必要となる符号量を推定する符号量計算手段として機能させ、(3)上記エントロピー符号化手段は、上記符号量計算装置の推定結果に基づいて選択された符号化情報に係る符号を出力し、(4)上記符号量計算手段は、(4−1)上記2値符号列の系列に係る処理開始時での初期区間幅を記憶する初期区間幅記憶手段と、(4−2)上記初期区間幅を初期値とし、上記2値符号列の系列に応じて更新される区間幅を保持する区間幅保持手段と、(4−3)上記2値符号列の系列及び上記コンテキスト変数の系列に応じて状態遷移を制御する2値符号列処理手段と、(4−4)上記2値符号列処理手段が、正規化処理によって区間幅をビットシフトした回数をカウントするビットシフト回数カウント手段と、(4−5)上記ビットシフト回数カウント手段のカウント値と、上記初期区間幅に対応する符号量と、上記2値符号列の系列に係るすべての2値符号列の処理終了時に上記区間幅保持手段が保持する区間幅に対応する符号量とに基づいて、上記エントロピー符号化手段から出力する符号量を計算する計算手段とを有することを特徴とする。
本発明によれば、動画像を符号化する際の符号量を効率的に求めることができる。
(A)第1の実施形態
以下、本発明による符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラムの第1の実施形態を、図面を参照しながら詳述する。なお、第1の実施形態では、本発明の符号量計算装置を、動画像符号化装置を構成する符号量計算部として構成した例について示している。
以下、本発明による符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラムの第1の実施形態を、図面を参照しながら詳述する。なお、第1の実施形態では、本発明の符号量計算装置を、動画像符号化装置を構成する符号量計算部として構成した例について示している。
(A−1)第1の実施形態の構成
図2は、この実施形態の動画像符号化装置1の全体構成を示すブロック図である。なお、図2において、括弧内の符号は、後述する第2の実施形態でのみ用いられる符号である。
図2は、この実施形態の動画像符号化装置1の全体構成を示すブロック図である。なお、図2において、括弧内の符号は、後述する第2の実施形態でのみ用いられる符号である。
動画像符号化装置1は、画面分割部101、空間変換部102、量子化部103、エントロピー符号化部104、逆量子化部105、逆空間変換部106、ループ内フィルタ部107、参照画像バッファ108、インター予測部109、イントラ予測部110、符号化モード選択部111、符号量計算部112、予測残差信号生成部113、及び復号画像生成部114を有している。
動画像符号化装置1は、プロセッサ及びメモリ等を有するコンピュータ(1台に限定されず、複数台を分散処理し得るようにしたものであっても良い。)に、実施形態の動画像符号化プログラム(実施形態の符号量計算プログラムを含む)等をインストールすることにより構築しても良く、その場合でも、機能的には上述の図2のように示すことができる。なお、図2において、符号量計算部112以外の構成について限定されないものであり、例えば、H.264等に準拠した種々の動画像符号化装置と同様のものを適用することができるため、詳細については説明省略する。
画面分割部101は、対象画像(入力画像)を、マクロブロック等の処理単位領域ごとに画面分割して、予測残差信号生成部113に供給する。
予測残差信号生成部113は、画面分割部101から供給される分割済の画像データとインター予測部109又はイントラ予測部110から供給される予測画像とから、予測残差信号を得て、空間変換部102に供給するものである。
空間変換部102は、予測残差信号を、DCT(離散コサイン変換)やその整数近似変換等によって空間変換して変換係数を得る。そして、量子化部103は、その変換係数を、所定の量子化幅で量子化した結果として、量子化された予測残差信号を得て、エントロピー符号化部104に供給する。
そして、エントロピー符号化手段としてのエントロピー符号化部104は、量子化された予測残差信号とモード情報等の符号化情報についてエントロピー符号化(例えば、算術符号化等)を行って、その他の符号化情報とともに符号化ストリームのデータを生成する。この符号化ストリームのデータが、動画像符号化装置1の出力となる。
逆量子化部105は、量子化された予測残差信号を逆量子化する。そして、逆空間変換部106は、予測残差信号が逆量子化された結果に対して、逆空間変換(逆直交変換等)を行い、量子化誤差を伴う予測残差信号を得て、復号画像生成部114に供給する。
復号画像生成部114は、量子化誤差を伴う予測残差信号(逆空間変換部106からの入力信号)と予測画像(インター予測部109又はイントラ予測部110からの予測画像)より復号画像を得る。復号画像生成部114は、復号画像をループ内フィルタ部107及びイントラ予測部110に供給する。
ループ内フィルタ部107は、復号画像に対して、量子化によるブロック歪を軽減するデブロッキングフィルタ等として機能するものである。そして、ループ内フィルタ部107は、フィルタ処理した復号画像を参照画像バッファ108に供給する。
参照画像バッファ108は、ループ内フィルタ部107からのフィルタ処理した復号画像を、後続の画像の符号化時のインター予測の動き補償のための参照画像として保持する。なお、H.264/AVC標準の場合、動き補償で参照する画像は、現在符号化を行おうとしている画像の直前画像に限定されず、複数の時刻の画像が参照画像となり得る。
インター予測部109は、現在符号化を行おうとしている対象画像データと、参照画像バッファ108の参照画像から動き補償等の予測情報を得て予測画像データを生成するものである。イントラ予測部110は、対象画像の既に符号化され、局所復号された復号画像を用いて予測画像データを生成するものである。動画像符号化装置1では、符号化モード選択部111の制御に応じて、インター予測部109又はイントラ予測部110のいずれかを用いた予測画像データが、予測残差信号生成部113及び復号画像生成部114に供給される。
符号化モード選択部111は、対象画像ごとにイントラ予測に基づく符号化モード(イントラ予測部110が出力する予測画像に基づく符号化)と、インター予測に基づく符号化モード(インター予測部109が出力する予測画像に基づく符号化)のいずれかを決定する。この実施形態の動画像符号化装置1では、上述の2つの符号化モードに対応しているものとして説明するが、動画像符号化装置1が対応する符号化モードの数や種類については限定されないものである。そして、符号化モード選択部111は、複数の符号化モードから、レート歪最適化によって、RDコストが最小となるような符号化モードを選択する。このとき、符号化モード選択部111は、それぞれの符号化モードで符号化を行った場合の発生符号量Rを符号量計算部112によって求め、RDコストの算出に用いるものとする。
次に、エントロピー符号化部104の内部構成について、図3を用いて説明する。
この実施形態のエントロピー符号化部104では、エントロピー符号化としてCABACのような算術符号によるエントロピー符号化を行うものとする。
図3に示すように、この実施形態のエントロピー符号化部104は、2値化部201、コンテキスト計算部202、コンテキスト変数テーブル204、及び算術符号化部203を有している。
エントロピー符号化部104では、量子化部103からの、量子化された予測残差信号である係数情報やモード情報等が、シンタックス要素として入力される。
そして、そのシンタックス要素は、2値化部201により、ビンと呼ばれる2値符号列の系列に変換される。そして、コンテキスト計算部202は、シンタックス要素や周囲の符号化済み情報等に応じたコンテキストごとにビンの生起確率に関する状態を保持するコンテキスト変数テーブル204へのインデックスを求める。
そして、算術符号化部203は、2値化部201で生成されたビンごとに、対応するコンテキスト変数に応じた算術符号化を行い、符号化ビットストリームとして出力する。
次に、符号量計算部112の内部構成について図1を用いて説明する。
図1に示すように、符号量計算部112は、初期区間幅記憶部301、区間幅保持部302、ビット数カウンタ303、2値符号列処理部304、及び符号量算出部305を有している。
図1に示すように、符号量計算部112には、符号量を推定する符号化単位のシンタックス要素に対して、エントロピー符号化部104で生成されるのと同様のビン(2値符号列)の系列と、各ビンに対応するコンテキスト変数の系列が入力されるものとして説明する。
初期区間幅記憶部301は、符号量推定開始時の算術符号化部203の内部状態である区間幅情報を読み出して記憶するものである。
区間幅保持部302は、初期区間幅で初期化され、2値符号列処理部304により更新される区間幅を保持するものである。
2値符号列処理部304は、入力されるビンと、コンテキスト変数に応じて、算術符号化を実際に行う場合と同様に、区間幅保持部302の区間幅の状態遷移を制御するものである。
ビット数カウンタ303は、区間幅を正規化によってビットシフトした回数を保持するものである。
符号量算出部305は、計算対象となる符号化単位の2値符号列が処理されると、ビット数カウンタ303で保持される値と、2値符号列処理部304の処理終了時の区間幅に対応する符号量の和から、初期区間幅に対応する符号量を減算して、符号化対象の符号量として出力する。
(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態の動画像符号化装置1の動作について、を説明する。
(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態の動画像符号化装置1の動作について、を説明する。
上述の通り、動画像符号化装置1では、符号量計算部112以外の処理については、種々の動画像符号化装置と同様のものを適用することができるため、符号量計算部112以外の動作説明については省略する。
以下では、符号量計算部112が、計算対象となる対象画像の符号化単位について符号量を計算するする動作の具体例について説明する。
符号量計算部112では、符号量計算対象の符号化単位の2値符号列と、各ビンに対応するコンテキスト変数の系列が入力されると、まず、初期区間幅記憶部301に初期区間幅を記憶する。初期区間幅は、実際の算術符号化を行う算術符号化部203の内部状態を読み出したものであり、対象符号化単位までに符号化を行ったことによる算術符号化器(エントロピー符号化部104)の区間幅である。
また、このとき、区間幅保持部302は、この初期区間幅で初期化される。さらに、ビット数カウンタ303も0に初期化される。
そして、2値符号列処理部304は、入力される2値符号列の各ビンと対応するコンテキスト変数を用いて、実際に算術符号化を行う場合と同様に区間幅の状態遷移を処理する。
図4は、符号量計算部112(2値符号列処理部304)による各ビンの処理について示したフローチャートである。2値符号列処理部304は、各ビン(binVal)に対して、図4のフローチャートの処理を実行する。
まず、ビン(binVal)とコンテキスト変数(pStateIdx,valMPS)が入力されると、2値符号列処理部304は、区間幅保持部302に保持されている区間幅(codIRange)の分割幅を求める(S101)。
なお、区間幅はLPS(least probable symbol)とMPS(most probable symbol)のための区間に分割されているため、2値符号列処理部304は、その分割された区間幅を求めることになる(codIRangeLPS,codIRangeMPS)。すなわち、ステップS101では、区間幅保持部302に保持されている区間幅(codlRange)を分割したLPSとMPSのための区間幅(codIRangeLPS,CcodIRangeMPS)を求める。また、CABACではpStateIdxとcodIRangeの上位ビットによるテーブル引きでcodIRangeLPSを求めている。
そして、2値符号列処理部304は、今回入力されたビン(binVal)がMPSである(valMPSと等しい)か否かを判定する(S102)。2値符号列処理部304は、ステップS102で、今回入力されたビンがMPSと判定された場合後述するステップS103から動作し、MPSと判定されなかった場合(LPSだった場合)には後述するステップS107から動作する。
上述のステップS102で、今回入力されたビンがMPSと判定された場合、2値符号列処理部304は、区間幅保持部302の区間幅をMPSの区間幅に更新(codIRange=codIRangeMPS)し(S103)、さらに、コンテキスト変数の更新を行う(S104)。
そして、2値符号列処理部304は、更新された区間幅が256(16進数で「0x100」)より小さくなっているか否かを確認する(S105)。
そして、2値符号列処理部304は、更新された区間幅が256より小さくなっている場合には、正規化(ビットシフト)が1回必要であるので(MPSの場合は最大1回である)、ビット数カウンタ303の値(bitCount)を1増やし(bitCount=bitCount+1)、区間幅も1ビットシフトして正規化して(codIRange=codIRange<<1)(S106)、当該ビンの処理を終了する。なお、上述のステップS105で更新された区間幅が256以上と確認された場合には、2値符号列処理部304は、当該ビンの処理を終了する。
一方、上述のステップS102で、今回入力されたビン(binVal)がLPSと判断された場合、2値符号列処理部304は、区間幅保持部302の区間幅をLPSの区間幅に更新(codIRange=codlRangeLPS)し(S107)、さらに、コンテキスト変数の更新を行う(S108)。
そして、2値符号列処理部304は、区間幅が256(16進数で「0x100」)以上となるまで(正規化処理が完了するまで)、ビット数カウンタと区間幅の更新による正規化処理(上述のステップS106と同様のビットシフトの処理)を繰り返して、当該ビンに係る処理を終了する(S109、S110)。
なお、バイパス符号化(コンテキスト変数を伴わない確率1/2想定のビン)の場合は、2値符号列処理部304は、単純にビット数カウンタを1増やす(bitCount=bitCount+1)ように構成してもよい。また、バイパス符号化のビンが連続する場合は、2値符号列処理部304は、バイパス符号化ビン数mをビット数カウンタに加算(bitCount=bitCount+m)するよう構成しても良い。
以上の、図4のフローチャートの処理を入力されるビンの系列と、各ビンに対応するコンテキスト変数の系列に関して繰り返すことにより、区間幅保持部302の区間幅が、実際に算術符号化を行った場合と同様に状態遷移する。その結果、出力されるであろうビット数が、ビット数カウンタ303に保持されることになる。
符号量算出部305は、以上の処理によって求められたビット数カウンタ303の値(bitCount)と、初期区間幅記憶部301に記憶された初期区間幅(codIRangeS)と、対象系列処理後の区間幅保持部302の区間幅(codIRange)を用いて符号化対象に対する符号量を算出する。
CABACでは、算術符号の区間幅は9ビット精度で表現されており以下の(1)式を満たすように正規化されている。すなわち、CABACでは算術符号の区間幅が小さいほど1ビット以下の情報がすでに符号量として発生していることに相当し、その符号量は以下の(2)式のように示すことができる。なお、(1)、(2)式で、「0x100」及び「0x200」は16進数の表現となっている。
0×100≦coIRange<0x200 …(1)
−log2(codIRange/0x200) …(2)
そして、区間幅に対応する符号量を図5に示すように、例えば小数点以下16ビットの固定少数で表したテーブル(以下、「符号量テーブルT」と呼ぶ)として実現できる。
−log2(codIRange/0x200) …(2)
そして、区間幅に対応する符号量を図5に示すように、例えば小数点以下16ビットの固定少数で表したテーブル(以下、「符号量テーブルT」と呼ぶ)として実現できる。
符号量算出部305は、例えば小数点以下16ビットの固定少数として符号量Rを算出する場合、「bitCount」と、「codIRangeSとcodIRange」と、上述の符号量テーブルTとを用いて、以下の(3)式により求めることができる。そして、符号量算出部305は、求めた符号量Rを出力する。
R=(bitCount<<16)+T[codIRange−0×100]
−T[codIRangeS−0×100] …(3)
(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
−T[codIRangeS−0×100] …(3)
(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
動画像符号化装置1の符号量計算部112では、エントロピー符号化部104の算術符号化によって必要となる符号量を、実際に符号化することなく(出力ビットパターンを求める処理はせず)、整数精度より高精度に求めることができる。
具体的には、符号化モード選択部111では、実際に符号化を行った場合と同様の算術符号の区間幅の遷移処理を行うので、特許文献1のテーブル引きによる処理のような近似ではない符号量が計算できる。さらに、符号化モード選択部111では、符号化開始時の初期状態、及び終了時の状態の区間幅から、整数精度より高精度な符号量を求めることができる。これにより、動画像符号化装置1では、符号化モード選択部111において、より最適な符号化モード選択が可能となり、符号化効率が向上する。
(B)第2の実施形態
以下、本発明による符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラムの第2の実施形態を、図面を参照しながら詳述する。なお、第2の実施形態では、本発明の符号量計算装置を、動画像符号化装置を構成する符号量計算部として構成した例について示している。
以下、本発明による符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラムの第2の実施形態を、図面を参照しながら詳述する。なお、第2の実施形態では、本発明の符号量計算装置を、動画像符号化装置を構成する符号量計算部として構成した例について示している。
(B−1)第2の実施形態の構成
第2の実施形態の動画像符号化装置1Aの全体構成も、上述の図2を用いて示すことができる。
第2の実施形態の動画像符号化装置1Aの全体構成も、上述の図2を用いて示すことができる。
そして、図6は、第2の実施形態の動画像符号化装置1Aに搭載される符号量計算部112Aの機能的構成について示したブロック図であり、上述の図1と同一又は対応する部分には同一又は対応する符号を付している。
符号量計算部112Aでは、正規化回数テーブル306が追加されている点で第1の実施形態と異なっている。正規化回数テーブル306は、各ビンの区間幅に対応する正規化回数kを得ることを可能とするテーブルである。
上述の通り、2値符号列処理部304が各ビンに対して処理を行う際、当該ビンがLPSの場合は正規化処理を複数回行う必要がある。第1の実施形態の2値符号列処理部304は、LPSのビンに対する正規化回数をループ処理(上述のステップS109、S110の処理)で管理していたが、第2の実施形態では、ビンごとに対応する正規化回数kを取得可能な正規化回数テーブル306を用いて管理する。
すなわち、2値符号列処理部304は、各ビンについて処理する際に、当該ビンがLPSの場合は、正規化回数テーブル306から当該ビンに対応する正規化回数kを取得する。そして、2値符号列処理部304は、取得した正規化回数kの回数分の正規化処理(上述のステップS110と同様の処理)を実行する。
LPSのビンについては、更新された区間幅はcodIRangeLPSのみに依存している。したがって、符号量計算部112Aにおいて、codIRangeLPSに基づいて、ビンごとに必要な正規化回数kをあらかじめ正規化回数テーブル306として用意しておくことが可能である。
例えば、CABACではcodIRangeLPSが取りうる範囲に応じて限定したテーブルを用意しておくことが可能である。あるいは、codIRangeLPSを求めるテーブルに、対応する正規化回数も含めたテーブルとしておくことも可能である。
(B−2)第2の実施形態の動作
次に、以上のような構成を有する第2の実施形態の動画像符号化装置1A(符号量計算部112A)の動作について、第1の実施形態との差異を中心に説明する。
次に、以上のような構成を有する第2の実施形態の動画像符号化装置1A(符号量計算部112A)の動作について、第1の実施形態との差異を中心に説明する。
図7は、符号量計算部112Aを構成する符号量計算部112A(2値符号列処理部304)による各ビンの処理について示したフローチャートである。第2の実施形態の2値符号列処理部304は、各ビン(binVal)に対して、図7のフローチャートの処理を実行する。
図7に示すステップS201〜S208については、第1の実施形態のステップS101〜S108と同様であるので詳しい説明は省略する。
そして、第2の実施形態の符号量計算部112A(2値符号列処理部304)では、LPSのビンについて正規化する際に、第1の実施形態のようなループ処理(ステップS109、S110)ではなく、正規化回数テーブル306を用いた処理により複数回の正規化処理を実現している。
具体的には、2値符号列処理部304は、上述のステップS202で、処理対象となるビンがLPSと判定された場合、正規化回数テーブル306から当該ビンに対応する正規化回数k(codIRangeLPSに対応する正規化回数k)を正規化回数テーブル306から求める(S209)。そして、2値符号列処理部304は、区間幅保持部302が保持する区間幅に対して正規化回数kの回数分の正規化処理(ビットシフトの処理)を行う(S210)。
具体的にはステップS210において、2値符号列処理部304は、正規化回数kにしたがって、ビット数カウンタ303の値をkビット分増やし(bitCount=bitCount+k)、区間幅保持部302の区間幅もkビットシフトして正規化する(codIRange=codIRange<<k)。
以上の処理を入力されるビンの系列と、各ビンに対応するコンテキスト変数の系列に関して繰り返すことにより、符号量計算部112Aでは、区間幅保持部302の区間幅が、実際に算術符号化を行った場合と同様に状態遷移し、出力されるであろうビット数がビット数カウンタ303に求まる。
そして、符号量算出部305は、以上の処理によって求められたビット数カウンタ303の値(bitCount)と、初期区間幅記憶部301に記憶された初期区間幅(codIRangeS)と、対象系列処理後の区間幅保持部302の区間幅(codlRange)を用いて計算対象系列に対する符号量Rを算出し出力する。
(B−3)第2の実施形態の効果
第2の実施形態によれば、第1の実施形態の効果に加えて以下のような効果を奏することができる。
第2の実施形態によれば、第1の実施形態の効果に加えて以下のような効果を奏することができる。
第2の実施形態の符号量計算部112では、区間幅のビットシフトによる正規化処理を、第1の実施形態のようなループ処理ではなく、テーブル引き処理とすることで、第1の実施形態よりも符号量算出に必要な処理量を低減することができる。
(C)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(C−1)上記の各実施形態では、符号量計算部は動画像符号化装置の一部を構成するものとして説明したが、符号量計算部を独立した装置(符号量計算装置)として構築するようにしてもよい。その場合、本発明の符号量計算装置の機能的構成は、図1のように示すことができる。なお、本発明の符号量計算装置は、プロセッサ及びメモリ等を有するコンピュータ(1台に限定されず、複数台を分散処理し得るようにしたものであっても良い。)に、本発明の符号量計算プログラム等をインストールすることにより構築しても良く、その場合でも、機能的には上述の図1のように示すことができる。
(C−2)上記の実施形態では、本発明の動画像符号化装置は、H.264に基づくエントロピー符号化(CABAC)を用いる例について説明したが、算術符号化を用いるその他の種々の符号化に対応する映像符号化処理を適用するようにしてもよい。
1…動画像符号化装置11…画面分割部、102…空間変換部、103…量子化部、104…エントロピー符号化部、105…逆量子化部、106…逆空間変換部、107…ループ内フィルタ部、108…参照画像バッファ、109…インター予測部、110…イントラ予測部、111…符号化モード選択部、112…符号量計算部、113…予測残差信号生成部、114…復号画像生成部、201…2値化部、202…コンテキスト計算部、203…算術符号化部、204…コンテキスト変数テーブル、301…初期区間幅記憶部、302…区間幅保持部、303…ビット数カウンタ、304…2値符号列処理部、305…符号量算出部。
Claims (6)
- 動画像を構成する対象画像と上記対象画像の予測画像との残差信号や予測情報等の符号化情報に係る2値符号列の系列と、上記符号化情報に係る2値符号列のそれぞれの確率状態を表すコンテキスト変数の系列とに基づいて、上記符号化情報のエントロピー符号化を行うエントロピー符号化手段を用いて、上記動画像の符号化を行う場合に、上記エントロピー符号化手段で出力する符号の符号量を計算する符号量計算装置において、
上記2値符号列の系列に係る処理開始時での初期区間幅を記憶する初期区間幅記憶手段と、
上記初期区間幅を初期値とし、上記2値符号列の系列に応じて更新される区間幅を保持する区間幅保持手段と、
上記2値符号列の系列及び上記コンテキスト変数の系列に応じて、上記区間幅保持手段の区間幅の状態遷移を制御する2値符号列処理手段と、
上記2値符号列処理手段が、正規化処理によって区間幅をビットシフトした回数をカウントするビットシフト回数カウント手段と、
上記ビットシフト回数カウント手段のカウント値と、上記初期区間幅に対応する符号量と、上記2値符号列の系列に係るすべての2値符号列の処理終了時に上記区間幅保持手段が保持する区間幅に対応する符号量とに基づいて、上記エントロピー符号化手段から出力する符号量を計算する計算手段と
を有することを特徴とする符号量計算装置。 - 上記2値符号列に係る区間幅ごとに対応する正規化回数を取得することが可能な情報を保持する正規化回数情報保持手段をさらに有し、
上記2値符号列処理手段は、上記2値符号列に係る区間幅ごとに、上記正規化回数情報保持手段で保持されている情報に基づいた回数分のビットシフトにより正規化処理を行い、
上記ビットシフト回数カウント手段は、上記2値符号列に係る区間幅ごとに、上記正規化回数保持手段で保持されている情報に基づいた回数をカウンタ値に加算する
ことを特徴とする請求項1に記載の符号量計算装置。 - 上記2値符号列処理手段は、上記2値符号列の系列うち、バイパス符号化される2値符号列については、上記ビットシフト回数カウント手段のカウンタ値を加算する処理のみを行うことを特徴とする請求項2に記載の符号量計算装置。
- 動画像を構成する対象画像と上記対象画像の予測画像との残差信号や予測情報等の符号化情報に係る2値符号列と、上記符号化情報に係る2値符号列のそれぞれの確率状態を表すコンテキスト変数の系列とに基づいて、上記符号化情報のエントロピー符号化を行うエントロピー符号化手段と、上記エントロピー符号化手段で、動画像の符号化を行う場合に、必要となる符号量を推定する符号量計算手段とを備え、上記エントロピー符号化手段は、上記符号量計算装置の推定結果に基づいて選択された符号化情報に係る符号を出力する動画像符号化装置において、
上記符号量計算手段として請求項1〜3のいずれかの符号量計算装置を適用したことを特徴とする動画像符号化装置。 - 動画像を構成する対象画像と上記対象画像の予測画像との残差信号や予測情報等の符号化情報に係る2値符号列と、上記符号化情報に係る2値符号列のそれぞれの確率状態を表すコンテキスト変数の系列とに基づいて、上記符号化情報のエントロピー符号化を行うエントロピー符号化手段を用いて、上記動画像の符号化を行う場合に、上記エントロピー符号化手段で出力する符号の符号量を計算する符号量計算プログラムにおいて、
コンピュータを、
上記2値符号列の系列に係る処理開始時での初期区間幅を記憶する初期区間幅記憶手段と、
上記初期区間幅を初期値とし、上記2値符号列の系列に応じて更新される区間幅を保持する区間幅保持手段と、
上記2値符号列の系列及び上記コンテキスト変数の系列に応じて、上記区間幅保持手段の区間幅の状態遷移を制御する2値符号列処理手段と、
上記2値符号列処理手段が、正規化処理によって区間幅をビットシフトした回数をカウントするビットシフト回数カウント手段と、
上記ビットシフト回数カウント手段のカウント値と、上記初期区間幅に対応する符号量と、上記2値符号列の系列に係るすべての2値符号列の処理終了時に上記区間幅保持手段が保持する区間幅に対応する符号量とに基づいて、上記エントロピー符号化手段から出力する符号量を計算する計算手段と
して機能させることを特徴とする符号量計算プログラム。 - コンピュータを、
動画像を構成する対象画像と上記対象画像の予測画像との残差信号や予測情報等の符号化情報に係る2値符号列と、上記符号化情報に係る2値符号列のそれぞれの確率状態を表すコンテキスト変数の系列とに基づいて、上記符号化情報のエントロピー符号化を行うエントロピー符号化手段と、
上記エントロピー符号化手段で、動画像の符号化を行う場合に、必要となる符号量を推定する符号量計算手段として機能させ、
上記エントロピー符号化手段は、上記符号量計算装置の推定結果に基づいて選択された符号化情報に係る符号を出力し、
上記符号量計算手段は、
上記2値符号列の系列に係る処理開始時での初期区間幅を記憶する初期区間幅記憶手段と、
上記初期区間幅を初期値とし、上記2値符号列の系列に応じて更新される区間幅を保持する区間幅保持手段と、
上記2値符号列の系列及び上記コンテキスト変数の系列に応じて上記区間幅保持手段の区間幅の状態遷移を制御する2値符号列処理手段と、
上記2値符号列処理手段が、正規化処理によって区間幅をビットシフトした回数をカウントするビットシフト回数カウント手段と、
上記ビットシフト回数カウント手段のカウント値と、上記初期区間幅に対応する符号量と、上記2値符号列の系列に係るすべての2値符号列の処理終了時に上記区間幅保持手段が保持する区間幅に対応する符号量とに基づいて、上記エントロピー符号化手段から出力する符号量を計算する計算手段とを有する
ことを特徴とする動画像符号化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012212926A JP2014068247A (ja) | 2012-09-26 | 2012-09-26 | 符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012212926A JP2014068247A (ja) | 2012-09-26 | 2012-09-26 | 符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014068247A true JP2014068247A (ja) | 2014-04-17 |
Family
ID=50744231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012212926A Pending JP2014068247A (ja) | 2012-09-26 | 2012-09-26 | 符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014068247A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017123513A (ja) * | 2016-01-05 | 2017-07-13 | 日本電信電話株式会社 | 映像符号化方法、映像符号化装置及び映像符号化プログラム |
-
2012
- 2012-09-26 JP JP2012212926A patent/JP2014068247A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017123513A (ja) * | 2016-01-05 | 2017-07-13 | 日本電信電話株式会社 | 映像符号化方法、映像符号化装置及び映像符号化プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6730187B2 (ja) | データ符号化及び復号化 | |
TWI685245B (zh) | 資料編碼及解碼 | |
JP4354520B2 (ja) | 符号化装置 | |
JP6400092B2 (ja) | データ符号化及び復号化 | |
JP5492206B2 (ja) | 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置 | |
JP5139542B2 (ja) | Cabacコーダのための2パス量子化 | |
JP2023052667A (ja) | 従属量子化 | |
JP4949462B2 (ja) | 符号量推定方法、装置、そのプログラムおよび記録媒体 | |
JP2017118549A (ja) | データ符号化及び復号化 | |
JP4819940B2 (ja) | 動画像符号化装置 | |
KR102020101B1 (ko) | 비디오 코덱에서 신택스 요소 인코딩을 위한 방법 및 장치 | |
JP2018056685A (ja) | 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、画像復号装置、画像復号方法、及び画像復号プログラム | |
US20140286417A1 (en) | Data encoding and decoding | |
TWI650012B (zh) | 用於資料編碼和解碼之設備、方法及儲存媒體 | |
JP6476900B2 (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム | |
JP5231243B2 (ja) | 符号化装置及び符号化方法 | |
US20080144721A1 (en) | Video coding apparatus | |
KR101652183B1 (ko) | Vlc 코드워드들을 이용한 코딩 구문 요소들 | |
JP6708211B2 (ja) | 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体 | |
JP2009021775A (ja) | 符号化装置及び符号化方法 | |
JP2011176483A (ja) | 量子化装置、プログラム及び方法、並びに、動画像符号化装置 | |
JP2007074337A (ja) | 符号化装置及び符号化方法 | |
JP2014068247A (ja) | 符号量計算装置及びプログラム、並びに、動画像符号化装置及びプログラム | |
JP6402520B2 (ja) | 符号化装置、方法、プログラム及び機器 | |
JP6497100B2 (ja) | 映像符号化装置、方法及びプログラム |