JP2012089917A - 符号化装置および方法、並びにプログラム - Google Patents
符号化装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2012089917A JP2012089917A JP2010232559A JP2010232559A JP2012089917A JP 2012089917 A JP2012089917 A JP 2012089917A JP 2010232559 A JP2010232559 A JP 2010232559A JP 2010232559 A JP2010232559 A JP 2010232559A JP 2012089917 A JP2012089917 A JP 2012089917A
- Authority
- JP
- Japan
- Prior art keywords
- code amount
- unit
- encoding
- encoded
- encoded data
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 145
- 238000005259 measurement Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 230000002265 prevention Effects 0.000 claims description 4
- 238000010606 normalization Methods 0.000 abstract description 2
- 238000013139 quantization Methods 0.000 description 39
- 238000004364 calculation method Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000010191 image analysis Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】より高速に符号量予測を行う。
【解決手段】符号量予測部39の2値化部81は、入力されたシンタックス要素をシンボルデータに変換し、符号量計測部83は、シンボルデータに適用される、CABACによる算術符号化(EncodeDecision、EncodeBypass、またはEncodeTerminate)においてビット単位で行われる再正規化処理の回数に基づいて、符号化データの予測符号量を計測する。本発明は、例えば、AVC-Intraを用いた符号化装置に適用することができる。
【選択図】図6
【解決手段】符号量予測部39の2値化部81は、入力されたシンタックス要素をシンボルデータに変換し、符号量計測部83は、シンボルデータに適用される、CABACによる算術符号化(EncodeDecision、EncodeBypass、またはEncodeTerminate)においてビット単位で行われる再正規化処理の回数に基づいて、符号化データの予測符号量を計測する。本発明は、例えば、AVC-Intraを用いた符号化装置に適用することができる。
【選択図】図6
Description
本発明は、符号化装置および方法、並びにプログラムに関し、特に、高速に符号量予測を行うことができるようにする符号化装置および方法、並びにプログラムに関する。
近年、業務用または放送用を用途としたビデオコーデックとして、AVC-Intraがある(例えば、非特許文献1)。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)圧縮のみで構成される。
・各圧縮フレームの符号量が一定である。
・フレーム内(Intra Frame)圧縮のみで構成される。
・各圧縮フレームの符号量が一定である。
また、他に、AVC-Intra 100は10bit 4:2:2の、AVC-Intra 50は10bit 4:2:0のサンプリングフォーマットに、それぞれ対応しているといった特徴もある。
このようなAVC-Intraを用いた符号化装置においては、圧縮フレームの符号量を一定に保つために、圧縮フレームの正味の符号量が規定量に達しない場合、所定の手法によりダミーとなるデータ(ダミーデータ)が挿入される。このダミーデータは、画質の良し悪しには関与しないので、より高画質な画像を得るためには、挿入されるダミーデータの量をより少なくすることが望ましい。
挿入されるダミーデータの量をより少なくするためには、主に、量子化値が支配的になる、複数のエンコードパラメータについて符号化処理を行い、規定量を超えない最良のエンコードパラメータを特定する必要がある。
ここで、リアルタイムエンコードのような、処理に要する時間が重要になるユースケースにおいては、エンコードパラメータを特定する手法として、以下の2つの手法が考えられる。
(1)全てのエンコードパラメータの数の分の符号化器を用意し、それぞれ並列に符号化処理を実行させ、得られた符号化結果から最適なエンコードパラメータを特定する。
(2)所定回数の(複数パスの)エンコードにより、最適なエンコードパラメータを特定する。
(1)全てのエンコードパラメータの数の分の符号化器を用意し、それぞれ並列に符号化処理を実行させ、得られた符号化結果から最適なエンコードパラメータを特定する。
(2)所定回数の(複数パスの)エンコードにより、最適なエンコードパラメータを特定する。
上記(1)の手法によれば、エンコードパラメータとして、真の最適解を求めることができるが、多数の符号化器を用意する必要があり、実装コストが高くなってしまう。一方、(2)の手法によれば、真の最適解に到達しない可能性はあるが、少なくとも1つの符号化器を用意すればよく、実装コストを低く抑えることができる。
上述した(2)の手法においては、1回のエンコードにおける発生符号量を求めること(以下、符号量予測という)についての精度が要求されるが、求められる最も正確な符号量としては、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の少なくともいずれか1つとすることができる。
本発明の一側面の符号化方法は、符号化される符号化データの符号量を予測する符号量予測手段を備える符号化装置の符号量予測方法であって、入力されたシンタックス要素が変換されたシンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測ステップとを含む。
本発明の一側面のプログラムは、符号化される符号化データの符号量を予測する符号量予測処理をコンピュータに実行させるプログラムであって、入力されたシンタックス要素が変換されたシンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測ステップとを含む処理をコンピュータに実行させる。
本発明の一側面においては、入力されたシンタックス要素がシンボルデータに変換され、シンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、符号化データの予測符号量が計測される。
本発明の一側面によれば、より高速に符号量予測を行うことが可能となる。
以下、本発明の実施の形態について図を参照して説明する。
[符号化装置の構成]
図1は、本発明を適用した符号化装置の一実施の形態の機能的な構成を示している。
図1は、本発明を適用した符号化装置の一実施の形態の機能的な構成を示している。
図1の符号化装置11は、AVC-Intraを用いた符号化装置であり、H.264およびMPEG-4 Part10 Advanced Video Coding(H.264/AVC)の規格に準拠して、いわゆる2パスエンコード方式により符号化を行う。すなわち、まず、符号化装置11は、入力された画像について、一旦固定の量子化ステップでエンコードを行い(1パス目のエンコード処理)、そのとき発生する符号量などのデータに基づいて本番のエンコード時に発生する目標符号量を決定する。次に、符号化装置11は、その目標符号量が発生する量子化ステップで本番のエンコードを行う(2パス目のエンコード処理)。
符号化装置11は、画像解析部31、符号量制御部32、モード決定部33、イントラ予測部34、直交変換部35、量子化部36、逆量子化部37、逆直交変換部38、符号量予測部39、および符号化部40から構成される。
画像解析部31は、順次入力される画像の各フレーム画像を、輝度信号、および輝度信号に対応する色差信号によって構成される画像データに変換し、符号量制御部32に供給する。
符号量制御部32は、画像解析部31からの各画像データが所定の量子化ステップでエンコードされたときに最適となる符号量を、目標符号量(量子化値)として設定する。また、符号量制御部32は、符号量予測部39から供給されてくる予測符号量に基づいて、目標符号量を再設定する。符号量制御部32は、目標符号量が設定された画像データをモード決定部33に供給する。
モード決定部33は、符号量制御部32からの画像データについて、マクロブロックモード(MBモード)を決定し、MBモードを決定した画像データをイントラ予測部34に供給する。
イントラ予測部34は、逆直交変換部38から供給される参照画像に基づいて、イントラ予測処理を行うことで予測画像を生成し、モード決定部33からの画像データと、生成した予測画像との差分を演算する。イントラ予測部34は、演算の結果得られた差分情報(残差画像)を直交変換部35に供給する。
直交変換部35は、イントラ予測部34からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部36に供給する。
量子化部36は、直交変換部35からの変換係数を量子化し、逆量子化部37、符号量予測部39、および符号化部40に供給する。
逆量子化部37は、量子化部36からの量子化された変換係数を逆量子化し、逆直交変換部38に供給する。逆直交変換部38は、逆量子化部37からの変換係数に対して、逆直交変換を施し、参照画像としてイントラ予測部34に供給する。
符号量予測部39は、2パスエンコード方式における1パス目のエンコード処理の結果として量子化部36から供給される、量子化された変換係数に基づいて、対応する画像データの符号量を予測する。符号量予測部39は、予測した符号量(予測符号量)を符号量制御部32に供給する。
符号化部40は、2パスエンコード方式における2パス目のエンコード処理の結果として量子化部36から供給される、量子化された変換係数をH.264/AVC方式で符号化し、得られた圧縮画像を、例えば、後段の図示せぬ記録装置や伝送路等に出力する。符号化部40においては、CABAC(Context-Adaptive Binary Arithmetic Coding)による符号化が行われる。
[符号化部の構成]
次に、図2を参照して、符号化装置11における符号化部40の構成について説明する。
次に、図2を参照して、符号化装置11における符号化部40の構成について説明する。
図2の符号化部40は、2値化部61、コンテキスト生成部62、算術符号化部63、バッファ64、および挿入部65から構成される。
2値化部61は、量子化部36から量子化された変換係数として供給されてくるシンタックスエレメント(SE: Syntax Element)を2値化してバイナリ列とし、その1ビットずつをシンボルとして算術符号化部63に供給する。
コンテキスト生成部62は、量子化部36からのSEについて、発生確率の高いシンボルと、シンボルの発生確率についてのテーブルとをインデックス化したコンテキストインデックスを、算術符号化部63に供給する。
算術符号化部63は、2値化部61からのシンボル、および、コンテキスト生成部62からのコンテキストインデックスに基づいて算術符号化処理を実行し、符号化結果としての、出力ビットが決定したビットストリームを、バッファ64に供給し、蓄積させる。
挿入部65は、バッファ64に蓄積されているビットストリームを監視し、所定のタイミングで、蓄積されたビットストリームを読み出す。挿入部65は、読み出したビットストリームがH.264/AVCの規格に準拠したバイトストリーム(NAL(Network Abstraction Layer)構造)となるように、所定のバイト配列に対して、予め決められた1バイトのデータを挿入し、図示せぬ記録装置や伝送路等に出力する。
より詳細には、H.264/AVC方式では、ビデオ信号を符号化したRBSP(Raw Byte Sequence Payload)中に、図3の左側に示すような所定のデータ配列(0x00,0x00,0xXX(XXは00,01,02、または03))が含まれている場合、H.264/AVC方式で規定されているスタートコード(0x00,0x00,0x01)が擬似的に出現してしまうことを抑止するため、そのRBSPを、図3の右側に示すように、0x00,0x00と0xXXの間に、EPB(Emulation Prevention Byte)と称する、図中網かけされた1バイトのデータ(0x03)を挿入した、EBSP(Encapsulated Byte Sequence Payload)に変換する規定がある。このように、H.264/AVC方式の符号化ビデオ信号においては、所定のデータ配列に対してEPBが挿入される。
[算術符号化処理の説明]
ここで、図4を参照して、図3の算術符号化部63の算術符号化処理について説明する。
ここで、図4を参照して、図3の算術符号化部63の算術符号化処理について説明する。
算術符号化処理においては、例えば符号化対象のデータ列、例えばシンボルや2値(0および1)の系列が出現確率に応じて区間[0,1]に射影され、数直線上の確率空間が区間内の数でバイナリ表現されて符号化される。
例えば、図4に示されるように、0.00…以上、1.00…未満の区間が、符号化対象のデータ内の個々のデータの出現確率を基に分割され、個々のデータを基に、分割された区間を選択する再帰的処理が行われ、符号化対象のデータに対応する区間を示すデータが符号とされる。以下、簡単のため、符号化対象のデータを2値として説明する。
まず、具体的には図4の状態Aに示されるように、符号化対象のデータの内、出現確率が大きいデータをMPS(Most Probable Symbol)、出現確率が小さいデータをLPS(Least Probable Symbol)とし、それぞれの出現確率pMPS、pLPSに応じて所定の区間Pが分割される。ここで、現区間の幅(確率幅)をcodIRange、現区間の下限値をcodILowとする。また、出現確率pMPSは、1−pLPSと表される。
このように、初期状態では、図4の状態Aに示されるように、幅codIRange、下限値codILowの値は、それぞれP,0.00…である。
符号化対象のデータ列の最初のデータがMPSの場合には、図4の状態Aに示されるように、区間Pが出現確率pMPS,pLPSに応じて分割され、分割された区間の内、図4の状態Bに示されるようにMPSに対応する区間が選択される。このときの幅codIRange,下限値codILowの値は、P0(=pMPS),0.00…である。
次に、符号化対象のデータ列の内の2番目のデータがMPSの場合には、図4の状態Bに示されるように、区間が出現確率pMPS,pLPSに応じて分割され、分割された区間の内、図4の状態Cに示されるようにMPSに対応する区間が選択される。このときの幅codIRange,下限値codILowの値は、P00(=P0×pMPS),0.00…である。
次に、符号化対象のデータ列の内の3番目のデータがLPSの場合には、図4の状態Cに示されるように、区間が出現確率pMPS,pLPSに応じて分割され、分割された区間の内、図4の状態Dに示されるようにLPSに対応する区間が選択される。このときの幅codIRange,下限値codILowの値は、P00×pLPS,P001(codILow+pMPS)である。
つまり、上述した符号化処理においてLPSの場合には、下限値codILowの値にpMPSが加算されて、下限値codILowが更新される。
このように、算術符号化処理においては、符号化対象のデータ列のビット長が大きくなるに従い、幅codIRangeが小さくなり、幅codIRangeを示すデータのビット数も多くなる。このため符号化処理の結果、確定したビットを出力することで、メモリの容量を削減する。
また、算術符号化処理においては、計算精度を保つために、図4の状態Eに示されるように、幅codIRangeが所定値よりも大きくなるように拡大する再正規化処理(Renormalize)が行われる。例えば再正規化処理においては、幅codIRangeの値が2倍されて、所定値よりも大きくなるように拡大される。
図5は、一般的な符号化処理における再正規化処理を説明するフローチャートである。
例えば、上述したように、符号化対象のデータ列を1ビット単位で符号化処理を行う毎に、図5に示すような再正規化処理が行われる。具体的には、まず、ステップS1において、幅codIRangeが予め設定された所定値よりも小さいか否かが判定され、所定値よりも小さい場合には、ステップS2において、下限値codILowの値の上位1ビットに応じた符号が出力される。その後、ステップS3およびステップS4において、幅codIRangeと下限値codILowの値が左シフト演算されることで2倍に拡大され、ステップS1の処理に戻る。ステップS1乃至S4の動作は、幅codIRangeの値が所定値以上になるまで繰り返される。
一方、ステップS1において、幅codIRangeの値が所定値以上の場合には、再正規化処理は終了する。
上述したように、再正規化処理においては、ビット毎に幅codIRangeが所定値であるか否が判別される。
[符号量予測部の構成]
次に、図6を参照して、符号化装置11における符号量予測部39の構成について説明する。
次に、図6を参照して、符号化装置11における符号量予測部39の構成について説明する。
図6の符号量予測部39は、2値化部81、コンテキスト生成部82、および符号量計測部83から構成される。なお、2値化部81およびコンテキスト生成部82は、図2を参照して説明した符号化部40における2値化部61およびコンテキスト生成部62と、それぞれ同様の機能を有するので、その説明は省略する。なお、符号量予測部39は、符号化部40に設けられているバッファ64および挿入部65を備えない。
符号量計測部83は、2値化部81からのシンボル、および、コンテキスト生成部82からのコンテキストインデックスに基づいて、上述した算術符号化処理において、符号化対象のデータ列を1ビット単位で符号化処理を行う毎に実行される再正規化処理の回数に基づいて、符号化データの予測符号量を計測する。上述したように、算術符号化処理においては、再正規化処理は、符号化データが1ビット出力される毎に実行されるので、再正規化処理が実行される回数は、出力される符号化データのビット数、すなわち予測符号量を表すことになる。
なお、符号量計測部83は、符号化データを出力せず、計測した予測符号量を、符号量制御部32に供給する。
[符号化処理の説明]
次に、図7のフローチャートを参照して、符号化装置11の符号化処理について説明する。上述したように、符号化装置11は、2パスエンコード方式により符号化を行う。
次に、図7のフローチャートを参照して、符号化装置11の符号化処理について説明する。上述したように、符号化装置11は、2パスエンコード方式により符号化を行う。
ステップS11において、画像解析部31は、順次入力される画像の各フレーム画像を、輝度信号、および輝度信号に対応する色差信号によって構成される画像データに変換し、符号量制御部32に供給する。
ステップS12において、符号量制御部32は、画像解析部31からの各画像データが所定の量子化ステップでエンコードされたときに最適となる符号量を、目標符号量(量子化値)として設定する。符号量制御部32は、目標符号量が設定された画像データをモード決定部33に供給する。
ステップS13において、モード決定部33は、符号量制御部32からの画像データについて、マクロブロックモード(MBモード)を決定し、MBモードを決定した画像データをイントラ予測部34に供給する。
ステップS14において、イントラ予測部34は、逆直交変換部38から供給される参照画像に基づいて、イントラ予測処理を行うことで予測画像を生成し、モード決定部33からの画像データと、生成した予測画像との差分を演算する。イントラ予測部34は、演算の結果得られた差分情報(残差画像)を直交変換部35に供給する。
ステップS15において、直交変換部35は、イントラ予測部34からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部36に供給する。
ステップS16において、量子化部36は、直交変換部35からの変換係数を量子化し、逆量子化部37、符号量予測部39、および符号化部40に供給する。
ステップS17において、逆量子化部37は、量子化部36からの量子化された変換係数を逆量子化し、逆直交変換部38に供給する。
ステップS18において、逆直交変換部38は、逆量子化部37からの変換係数に対して、逆直交変換を施し、参照画像としてイントラ予測部34に供給する。
以上の処理が、2パスエンコード方式における1パス目のエンコード処理に対応する。
ステップS18において、符号量予測部39は、符号量予測処理を実行し、2パスエンコード方式における1パス目のエンコード処理の結果として量子化部36から供給される、量子化された変換係数に基づいて、対応する画像データの符号量を予測する。具体的には、符号量予測部39は、符号量予測処理を実行することにより、CABACによる符号化処理(算術符号化処理)における再正規化処理の回数に基づいて、符号化データの予測符号量を計測する。
ところで、CABACによる符号化処理は、供給されるSE(シンタックスエレメント)の種類に応じて、3種類の符号化処理に分類される。具体的には、CABACによる符号化処理においては、EncodeDecision、EncodeBypass、およびEncodeTerminateのうちのいずれかの処理が実行される。
このうち、EncodeBypassは、SEが変換係数の正負の符号などの場合に実行される処理であり、EncodeTerminateは、SEがスライスの終端を示す場合に実行される処理である。また、EncodeDecisionは、SEが上述した場合でないときに実行される。
符号量予測部39による符号量予測処理においても、SEの種類に応じて、上述した3種類の符号化処理に対応した符号量予測処理が実行される。
[符号量予測処理1]
まず、図8のフローチャートを参照して、EncodeDecisionに対応した符号量予測処理について説明する。図8の符号量予測処理においては、2値化部81からのシンボル(入力シンボル)のシンボル値binVal、および、コンテキスト生成部82からのコンテキストインデックスctxIdxが、符号量計測部83に供給されると開始される。
まず、図8のフローチャートを参照して、EncodeDecisionに対応した符号量予測処理について説明する。図8の符号量予測処理においては、2値化部81からのシンボル(入力シンボル)のシンボル値binVal、および、コンテキスト生成部82からのコンテキストインデックスctxIdxが、符号量計測部83に供給されると開始される。
ステップS41において、符号量計測部83は、確率幅codIRangeの値を右へ6ビットシフトし、その下位2ビットをとった値をqCodIRangeIdxとし、H.264/AVCで規定されているテーブル値rangeTabLPSを用いて、LPSの確率幅codIRangeLPSを求めるとともに、確率幅codIRangeをMPSの確率幅に変更する。
ステップS42において、符号量計測部83は、入力シンボルのシンボル値binValと、MPSの値を示すvalMPSとが不一致であるか否かを判定する。不一致でないと判定された場合、すなわち、入力シンボルbinがMPSである場合、処理はステップS43に進み、符号量計測部83は、規定されているテーブル値transIdxMPSによって状態を遷移させ、pStateIdxを更新する。pStateIdxは、MPSの発生確率を持つテーブルのテーブル番号であり、その値が大きいほど、MPSの高い発生確率に対応するようになされている。
一方、ステップS42において、シンボル値binValとvalMPSとが不一致であると判定された場合、すなわち、入力シンボルbinがLPSである場合、処理はステップS44に進む。
ステップS44において、符号量計測部83は、LPSの確率幅codIRangeLPSを確率幅codIRangeに代入するとともに、規定されているテーブル値transIdxLPSによって状態を遷移させ、pStateIdxを更新する。
ステップS43またはステップS44の後、処理はステップS45に進み、符号量計測部83は、再正規化処理(RenormE)を実行する。
ここで、図9を参照して、再正規化処理(RenormE)について説明する。
ステップS51において、符号量計測部83は、確率幅codIRangeが予め設定された所定値(256)より小さいか否かを判定し、所定値より小さいと判定された場合、処理はステップS52に進む。
ステップS52において、符号量計測部83は、算術符号化処理において出力される符号化データの符号量をカウントする変数bitcountを1インクリメントするとともに、確率幅codIRangeの値を1ビット左へシフトして、処理はステップS51に戻る。すなわち、ステップS51において、確率幅codIRangeが予め設定された所定値より小さくないと判定されるまで、ステップS51およびS52の処理は繰り返される。
そして、ステップS51において、確率幅codIRangeが予め設定された所定値より小さくないと判定されると、処理は図8のフローチャートのステップS45に戻り、さらに、図7のフローチャートのステップS19に戻る。
[符号量予測処理2]
次に、図10のフローチャートを参照して、EncodeBypassに対応した符号量予測処理について説明する。なお、EncodeBypassは、いわゆる再正規化処理を含んだ処理として規定されている。
次に、図10のフローチャートを参照して、EncodeBypassに対応した符号量予測処理について説明する。なお、EncodeBypassは、いわゆる再正規化処理を含んだ処理として規定されている。
ステップS61において、符号量計測部83は、算術符号化処理において出力される符号化データの符号量をカウントする変数bitcountを1インクリメントし、処理は図7のフローチャートのステップS19に戻る。
[符号量予測処理3]
次に、図11のフローチャートを参照して、EncodeTerminateに対応した符号量予測処理について説明する。
次に、図11のフローチャートを参照して、EncodeTerminateに対応した符号量予測処理について説明する。
ステップS71において、符号量計測部83は、確率幅codIRangeの値を、2減算した値に更新する。
ステップS72において、符号量計測部83は、入力シンボルのシンボル値binValが0でないか否かを判定する。0でないと判定された場合、すなわち、シンボル値binValが1である場合、処理はステップS73に進み、EncodeFlushが実行される。
ここで、図12を参照して、EncodeFlushについて説明する。なお、EncodeFlushは、いわゆる再正規化処理を含んだ処理として規定されている。
ステップS81において、符号量計測部83は、算術符号化処理において出力される符号化データの符号量をカウントする変数bitcountに10加算し、処理は図11のフローチャートのステップS73に戻る。
一方、ステップS72において、符号量計測部83は、入力シンボル値binValが0であると判定された場合、処理はステップS74に進み、符号量計測部83は、上述した再正規化処理(RenormE)を実行する。
ステップS73またはステップS74の後、処理は図7のフローチャートのステップS19に戻る。
このようにして、符号量予測処理においては、実際の算術符号化処理のように、符号化データ(ビットストリーム)は出力されずに、算術符号化処理においてビット単位で符号化処理を行う毎に実行される再正規化処理の回数が、変数bitcountとしてカウントされる。すなわち、変数bitcountは、2パスエンコード方式における1パス目のエンコード処理によって得られた符号化データの符号量として計測され、その値は予測符号量として、符号量制御部32に供給され、処理はステップS20に進む。
ステップS20において、符号量制御部32は、符号量予測部39からの予測符号量と、設定した目標符号量との差分が所定量より大きいか否かを判定する。
ステップS20において、目標符号量との差分が所定量より大きいと判定された場合、処理はステップS21に進み、符号量制御部32は、符号量予測部39から供給されてくる予測符号量を、目標符号量として再設定する。符号量制御部32は、目標符号量が再設定された画像データを、モード決定部33を介して、イントラ予測部34に供給する。ここでは、モード決定部33においてMBモードの決定は行われない。
以降、2パスエンコード方式における2パス目のエンコード処理が実行される。すなわち、ステップS22乃至S24においては、予測画像との差分が演算され、直交変換が施され、変換係数が量子化される。
そして、ステップS25において、符号化部40は、2パスエンコード方式における2パス目のエンコード処理の結果として量子化部36から供給される、量子化された変換係数に対して、上述したCABACによる算術符号化処理を施し、得られた圧縮画像を、例えば、後段の図示せぬ記録装置や伝送路等に出力する。
一方、ステップS20において、目標符号量との差分が所定量より大きくないと判定された場合、ステップS21乃至S24はスキップされ、ステップS25において、符号化部40は、2パスエンコード方式における1パス目のエンコード処理の結果として量子化部36から供給される、量子化された変換係数に対して、上述したCABACによる算術符号化処理を施す。
以上の処理によれば、符号量予測において、CABACによる符号化方式によって実際にエンコードする際に発生する符号量を、実際に符号化データ(ビットストリーム)を出力することなく、実際のエンコードにおける発生符号量と同等の精度で計測することができる。このように、実際にビットストリームが出力されないので、保存用のストリームの書き出しや、CABACにおける出力ビット決定の演算、EPBの挿入などの処理を実行することなく、予測符号量を計測することができ、より高速化に符号量予測を行うことが可能となる。
また、以上においては、本発明の符号量予測処理を、複数パスのエンコードにより、最適なエンコードパラメータ(目標符号量)を特定する符号化処理に適用するようにしたが、全てのエンコードパラメータの数の分の符号化器を用意し、それぞれ並列に実行される符号化処理に適用した場合、保存用のストリームの書き出しが実行されないので、符号量予測部が、符号化部40に設けられたようなバッファを備える必要がなく、実装コストを削減することが可能となる。
[復号装置の構成例]
図13は、上述した符号化装置11によって符号化された符号化データを復号する復号装置の構成例を示している。
図13は、上述した符号化装置11によって符号化された符号化データを復号する復号装置の構成例を示している。
符号化装置11より符号化された符号化データは、所定の伝送路等を介して、復号装置111に伝送され、復号されるものとする。
図13に示される復号装置111は、復号部131、逆量子化部132、逆直交変換部133、演算部134、デブロックフィルタ135、および画像出力部136から構成される。
復号部131は、伝送されてきた符号化データを蓄積し、所定のタイミングで、図1の符号化部40の符号化方式に対応する方式で復号し、復号の結果得られた、シンタックスエレメント(SE)としての量子化された変換係数を、逆量子化部132に供給する。
逆量子化部132は、復号部131からの量子化された変換係数を、図1の量子化部36の量子化方式に対応する方式で逆量子化し、逆量子化された変換係数を、逆直交変換部133に供給する。
逆直交変換部133は、逆量子化部132からの変換係数を、図1の直交変換部35の直交変換方式に対応する方式で逆直交変換し、符号化装置11において直交変換される前の差分情報に対応する復号差分情報(残差画像)を得て、演算部134に供給する。
逆直交変換されて得られた復号差分情報は、演算部134に供給される。また、演算部134には、イントラ予測部137から予測画像が供給される。
演算部134は、逆直交変換部133からの復号差分情報と、イントラ予測部137からの予測画像とを加算し、符号化装置11のイントラ予測部34により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部134は、その復号画像データをデブロックフィルタ135に供給する。
デブロックフィルタ135は、演算部134からの復号画像データのブロック歪を除去した後、画像出力部136に供給する。
画像出力部136は、デブロックフィルタ135からの復号画像データに対してD/A変換を施した後、図示せぬディスプレイに出力し、表示させる。
デブロックフィルタ135の出力は、さらに、イントラ予測部137に供給される。
イントラ予測部137は、デブロックフィルタ135からの復号画像データから予測画像を生成し、生成した予測画像を演算部134に供給する。
[復号処理の処理]
次に、図14を参照して、図13の復号装置111の復号処理について説明する。
次に、図14を参照して、図13の復号装置111の復号処理について説明する。
復号処理が開始されると、ステップS131において、復号部131は、所定のタイミングで、伝送され蓄積されていた符号化データを復号し、復号の結果得られた、量子化された変換係数を、逆量子化部132に供給する。
ステップS112において、逆量子化部132は、復号部131により復号されて得られた、量子化された変換係数を、図1の量子化部36による量子化処理に対応する方法で逆量子化する。
ステップS113において、逆直交変換部133は、逆量子化部132により逆量子化されて得られた変換係数を、図1の直交変換部35による直交変換処理に対応する方法で逆直交変換する。これにより、図1の直交変換部35の入力(イントラ予測部34の出力)に対応する差分情報(残差画像)が復号されたことになる。
ステップS114において、イントラ予測部137は、デブロックフィルタ135からの復号画像データから予測画像を生成し、生成した予測画像を演算部134に供給する。
ステップS115において、演算部134は、イントラ予測部137からの予測画像と、逆直交変換部133からの差分情報(残差画像)とを加算する。これにより元の画像データが復号される。
ステップS116において、デブロックフィルタ135は、ステップS115の処理により得られた画像データ(復号画像データ)を適宜フィルタリングする。これにより適宜復号画像データからブロック歪みが除去される。
ステップS117において、画像出力部136は、復号画像データをD/A変換する。この復号画像データは図示せぬディスプレイに出力され、その画像が表示される。
このようにして、符号化装置11によって符号化された符号化データが復号される。
上述した符号化処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等に、プログラム記録媒体からインストールされる。
図15は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)901,ROM(Read Only Memory)902,RAM(Random Access Memory)903は、バス904により相互に接続されている。
バス904には、さらに、入出力インタフェース905が接続されている。入出力インタフェース905には、キーボード、マウス、マイクロホン等よりなる入力部906、ディスプレイ、スピーカ等よりなる出力部907、ハードディスクや不揮発性のメモリ等よりなる記憶部908、ネットワークインタフェース等よりなる通信部909、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等のリムーバブルメディア911を駆動するドライブ910が接続されている。
以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部908に記憶されているプログラムを、入出力インタフェース905およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU901)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリ等よりなるパッケージメディアであるリムーバブルメディア911に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア911をドライブ910に装着することにより、入出力インタフェース905を介して、記憶部908にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部909で受信し、記憶部908にインストールすることができる。その他、プログラムは、ROM902や記憶部908に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 符号化装置, 39 符号量予測部, 40 符号化部, 81 2値化部, 82 コンテキスト生成部, 83 符号量計測部
Claims (7)
- 符号化される符号化データの符号量を予測する符号量予測手段を備える符号化装置において、
前記符号量予測手段は、
入力されたシンタックス要素をシンボルデータに変換する変換手段と、
前記シンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測手段と
を備える符号化装置。 - 前記符号量予測手段は、前記シンボルデータに適用される算術符号化により出力される前記符号化データにEPB(Emulation Prevention Byte)を挿入することなく、前記符号化データの予測符号量を計測する
請求項1に記載の符号化装置。 - 前記符号量予測手段は、前記シンボルデータに適用される算術符号化により出力される前記符号化データを蓄積することなく、前記符号化データの予測符号量を計測する
請求項2に記載の符号化装置。 - 前記算術符号化は、CABAC(Context-based Adaptive Binary Arithmetic Coding)である
請求項1に記載の符号化装置。 - 前記算術符号化は、CABACのEncodeDecision、EncodeBypass、またはEncodeTerminateの少なくともいずれか1つである
請求項4に記載の符号化装置。 - 符号化される符号化データの符号量を予測する符号量予測手段を備える符号化装置の符号量予測方法において、
入力されたシンタックス要素が変換されたシンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測ステップと
を含む符号量予測方法。 - 符号化される符号化データの符号量を予測する符号量予測処理をコンピュータに実行させるプログラムにおいて、
入力されたシンタックス要素が変換されたシンボルデータに適用される算術符号化においてビット単位で行われる再正規化処理の回数に基づいて、前記符号化データの予測符号量を計測する計測ステップと
を含む処理をコンピュータに実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010232559A JP2012089917A (ja) | 2010-10-15 | 2010-10-15 | 符号化装置および方法、並びにプログラム |
US13/267,120 US20120106635A1 (en) | 2010-10-15 | 2011-10-06 | Encoder, encoding method, and program |
CN2011103068816A CN102457729A (zh) | 2010-10-15 | 2011-10-08 | 编码器、编码方法、和程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010232559A JP2012089917A (ja) | 2010-10-15 | 2010-10-15 | 符号化装置および方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012089917A true JP2012089917A (ja) | 2012-05-10 |
Family
ID=45996755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010232559A Withdrawn JP2012089917A (ja) | 2010-10-15 | 2010-10-15 | 符号化装置および方法、並びにプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120106635A1 (ja) |
JP (1) | JP2012089917A (ja) |
CN (1) | CN102457729A (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016003130A1 (ko) * | 2014-06-29 | 2016-01-07 | 엘지전자(주) | 제한된 캐리 연산에 의한 산술 코딩을 수행하기 위한 방법 및 장치 |
PL411574A1 (pl) * | 2015-03-16 | 2016-09-26 | Politechnika Poznańska | System i sposób określania kosztu zastosowania określonego typu kodowania w koderze wizyjnym |
CN108391129B (zh) * | 2018-04-25 | 2019-09-27 | 西安万像电子科技有限公司 | 数据编码方法及装置 |
PL3723373T3 (pl) * | 2018-09-02 | 2023-11-06 | Lg Electronics Inc. | Sposób dekodowania sygnału obrazu, sposób kodowania sygnału obrazu i nośnik danych |
CN112035669B (zh) * | 2020-09-09 | 2021-05-14 | 中国科学技术大学 | 基于传播异质图建模的社交媒体多模态谣言检测方法 |
-
2010
- 2010-10-15 JP JP2010232559A patent/JP2012089917A/ja not_active Withdrawn
-
2011
- 2011-10-06 US US13/267,120 patent/US20120106635A1/en not_active Abandoned
- 2011-10-08 CN CN2011103068816A patent/CN102457729A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20120106635A1 (en) | 2012-05-03 |
CN102457729A (zh) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9154792B2 (en) | Progressive coding of position of last significant coefficient | |
TWI685245B (zh) | 資料編碼及解碼 | |
KR101356733B1 (ko) | 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치 | |
US8487791B2 (en) | Parallel entropy coding and decoding methods and devices | |
EP2362657B1 (en) | Parallel entropy coding and decoding methods and devices | |
KR100718134B1 (ko) | 비트율에 적응적인 영상 데이터 이진 산술 부호화/복호화장치 및 방법 | |
US20180338144A1 (en) | Method and apparatus for entropy-encoding and entropy-decoding video signal | |
US10791341B2 (en) | Binary arithmetic coding with progressive modification of adaptation parameters | |
TW201547256A (zh) | 在一視訊寫碼處理中之係數階寫碼 | |
US9544599B2 (en) | Context adaptive data encoding | |
KR20160032119A (ko) | 비디오 코딩 프로세스에서 계수 레벨 코딩을 위한 라이스 파라미터 초기화 | |
US20120314760A1 (en) | Method and system to reduce modelling overhead for data compression | |
US20140286417A1 (en) | Data encoding and decoding | |
JP2017507519A (ja) | データ符号化及び復号化 | |
JP5231243B2 (ja) | 符号化装置及び符号化方法 | |
US20150326859A1 (en) | Video quantization-parameter encoding method, video quantization-parameter decoding method, device, and program | |
US20220417563A1 (en) | Escape coding for coefficient levels | |
JP2012089917A (ja) | 符号化装置および方法、並びにプログラム | |
US10499074B2 (en) | Binary arithmetic coding with small tables or short-operand multiplications for video coding | |
JP5116704B2 (ja) | 画像符号化装置及び画像符号化方法 | |
US10070127B2 (en) | Method and apparatus for arithmetic coding and termination | |
KR101710619B1 (ko) | 단계적인 영상 부호화, 복호화 방법 및 장치 | |
US8638246B2 (en) | Encoding and decoding methods and devices using a secondary codeword indicator | |
US20120147972A1 (en) | Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program | |
CA2788490A1 (en) | Encoding and decoding methods and devices using a secondary codeword indicator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140107 |