特許第6661699号(P6661699)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 寰發股▲ふん▼有限公司の特許一覧

特許6661699ビデオ符号化における構文の2値化とコンテキスト適応型符号化の方法と装置
<>
  • 特許6661699-ビデオ符号化における構文の2値化とコンテキスト適応型符号化の方法と装置 図000011
  • 特許6661699-ビデオ符号化における構文の2値化とコンテキスト適応型符号化の方法と装置 図000012
  • 特許6661699-ビデオ符号化における構文の2値化とコンテキスト適応型符号化の方法と装置 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6661699
(24)【登録日】2020年2月14日
(45)【発行日】2020年3月11日
(54)【発明の名称】ビデオ符号化における構文の2値化とコンテキスト適応型符号化の方法と装置
(51)【国際特許分類】
   H04N 19/13 20140101AFI20200227BHJP
   H04N 19/136 20140101ALI20200227BHJP
   H04N 19/176 20140101ALI20200227BHJP
   H04N 19/93 20140101ALI20200227BHJP
【FI】
   H04N19/13
   H04N19/136
   H04N19/176
   H04N19/93
【請求項の数】3
【全頁数】14
(21)【出願番号】特願2018-108394(P2018-108394)
(22)【出願日】2018年6月6日
(62)【分割の表示】特願2016-573768(P2016-573768)の分割
【原出願日】2015年6月18日
(65)【公開番号】特開2018-170771(P2018-170771A)
(43)【公開日】2018年11月1日
【審査請求日】2018年6月6日
(31)【優先権主張番号】62/014,970
(32)【優先日】2014年6月20日
(33)【優先権主張国】US
(31)【優先権主張番号】62/017,401
(32)【優先日】2014年6月26日
(33)【優先権主張国】US
(31)【優先権主張番号】62/020,518
(32)【優先日】2014年7月3日
(33)【優先権主張国】US
(31)【優先権主張番号】62/021,287
(32)【優先日】2014年7月7日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】516251901
【氏名又は名称】寰發股▲ふん▼有限公司
【氏名又は名称原語表記】HFI Innovation Inc.
(74)【代理人】
【識別番号】100082175
【弁理士】
【氏名又は名称】高田 守
(74)【代理人】
【識別番号】100106150
【弁理士】
【氏名又は名称】高橋 英樹
(72)【発明者】
【氏名】シャン シ タ
(72)【発明者】
【氏名】チャン ズー デ
【審査官】 岩井 健二
(56)【参考文献】
【文献】 特表2017−520157(JP,A)
【文献】 国際公開第2015/179810(WO,A1)
【文献】 Liwei Guo et al.,Evaluation of Palette Mode Coding on HM-12.0+RExt-4.1,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,15th Meeting: Geneva, CH,2013年10月,JCTVC-O0218_r1,pp.1-7
【文献】 L. Guo et al.,RCE4: Results of Test 2 on Palette Mode for Screen Content Coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,16th Meeting: San Jose, CA, USA,2014年 1月,JCTVC-P0198,pp.1-3
【文献】 JCTVC-P0198WD.doc,2014年 1月 8日,JCTVC-P0198 (version 3),pp.1-10,URL,http://phenix.it-sudparis.eu/jct/doc_end_user/documents/16_San%20Jose/wg11/JCTVC-P0198-v3.zip
【文献】 Rajan Joshi et al.,Non-SCCE3: Contexts for coding index runs,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,18th Meeting: Sapporo, JP,2014年 6月21日,JCTVC-R0174 (version 1),pp.1-3
【文献】 Shih-Ta Hsiang, Tzu-Der Chuang and Shawmin Lei,Run coding mode of the palette index map using a universal entropy coding scheme,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,18th Meeting: Sapporo, JP,2014年 7月,JCTVC-R0136,pp.1-7
【文献】 Shih-Ta Hsiang, Tzu-Der Chuang and Shawmin Lei,Non-SCCE4:Unified method for coding string matching using a universal entropy coding scheme,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,18th Meeting: Sapporo, JP,2014年 7月,JCTVC-R0137,pp.1-7
【文献】 Shih-Ta Hsiang et al.,CE6-related: Harmonization of CE6 TEST A4, A5, and A6,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,19th Meeting: Strasbourg, FR,2014年10月,JCTVC-S0269,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 − 19/98
(57)【特許請求の範囲】
【請求項1】
パレットインデックスマップを符号化する方法であって、
現在のブロックについてのパレットインデックスマップを受け取る工程と、
前記現在のブロックを通してあるスキャニング順序で、現在のパレットインデックスと同じパレットインデックスを有する連続した画素の数を決定する工程と、
2値化方法を用いて、前記連続した画素の数マイナス1を2値文字列に変換する工程と、
前記現在のパレットインデックスと前記2値文字列のうち少なくとも1つの2値の2値インデックスに応じて適応的に選択されるコンテキストに従って、前記2値文字列のうち前記少なくとも1つの2値に対してレギュラーCABACモードを適用することにより、コンテキスト適応型2値算術符号化(CABAC)による前記2値文字列の符号化を行う工程と、
を有する方法。
【請求項2】
パレットインデックスマップを復号化する方法であって、
インデックスモードに対応する現在のソースシンボルに関する現在のブロックの圧縮データを含む入力された符号化ビットストリームを受け取る工程と、
現在のランモードに対応する現在のパレットインデックスを決定する工程と、
前記現在のパレットインデックスと2値文字列のうち少なくとも1つの2値の2値インデックスに応じて適応的に選択されるコンテキストに従って、前記2値文字列のうち前記少なくとも1つの2値に対してレギュラーCABACモードを適用することにより、コンテキスト適応型2値算術符号化(CABAC)による前記2値文字列の復号化を行う工程と、
2値化方法を用いて、前記2値文字列を、前記現在のパレットインデックスと同じパレットインデックスを有する連続した画素の数に関連するランレングス値に変換する工程と、ここで、前記ランレングス値は、前記連続した画素の数マイナス1に対応し、
前記現在のブロックを通してあるスキャニング順序で、前記現在のパレットインデックスを用いて前記連続した画素の数を再構成する工程と、
を有する方法。
【請求項3】
前記現在のパレットインデックスは、前記入力された符号化ビットストリームから構文解析されるパレットインデックス、あるいは、再構成パレットインデックスに対応する
請求項2に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2014年6月20日に出願された米国特許仮出願番号62/014970、2014年6月26日に出願された米国特許仮出願番号62/017401、2014年7月3日に出願された米国特許仮出願番号62/020518、および、2014年7月7日に出願された米国特許仮出願番号62/021287から優先権を主張する。これら米国特許仮出願は、参照によって本願に引用される。
【0002】
本発明は、ビデオ符号化に関連する構文のエントロピー符号化に関する。特に、本発明は、ビデオ符号化に関する構文の2値化とコンテキスト適応型符号化の技術に関する。
【背景技術】
【0003】
高効率ビデオ符号化(HEVC)は、近年発展している新しい符号化基準である。高効率ビデオ符号化(HEVC)システムにおいて、H.264/AVCの固定サイズのマクロブロックは、符号化ユニット(CU)という名のフレキシブルブロックによって置き換えられる。CU中の画素は、同じ符号化パラメータを共有して、符号化効率を改善する。CUは、HEVCにおいて、符号化ツリーユニット(CTU)とも称される最大CU(LCU)から始まる。符号化ユニットの概念に加え、予測ユニット(PU)の概念もHEVCに導入される。一旦、CU階層ツリーの分割が行われると、各リーフCUは、予測タイプとPU分割にしたがって、さらに、一つ以上の予測ユニット(PU)に分割される。
【0004】
コンテキスト適応型2値算術符号化(CABAC)は、先進型ビデオ符号化、たとえば、H.264とHEVC中に幅広く用いられている高効率エントロピー符号化ツールである。たとえば、HEVC基準の各種構文要素が、CABACモードで符号化される。このとき、エントロピー符号化は、基礎の構文要素に関連するコンテキストに基づいて、適応的に、2値化構文要素に適用される。図1は、CABACプロセスを示すブロック図である。CABACエンジン中の演算コーダーはバイナリシンボル値だけを符号化することができるので、CABACプロセスは、2値化部(110)を用いて、構文要素の値を2進列に変換する必要がある。この変換プロセスは、一般に、2値化と称される。符号化プロセス中、確率モデルが、異なるコンテキストの符号化シンボルから徐々に組み立てられる。コンテキストモデラー(120)はモデリングの目的を果たす。通常のコンテキストベースの符号化期間中、2値演算符号器に相当するレギュラー符号化エンジン(130)が用いられる。次のバイナリシンボルを符号化するモデリングコンテキストの選択は、符号化情報により決定される。シンボルはコンテキストモデリング段階無しで符号化することも可能であり、複雑性を減少させるために、バイパスモードと一般的に称される等しい確率分布を採用する。バイパスシンボルに対しては、バイパス符号化エンジン(140)が用いられる。図1に示されるように、スイッチ(S1、S2、S3)を用いることにより、データフローの行き先をレギュラーCABAモードとバイパスモードとの間で切り替える。レギュラーCABACモードが選択されるとき、スイッチは上方コンタクトの方に切り替えられる。図1に示されるように、バイパスモードが選択されるとき、スイッチは下方コンタクトの方に切り替えられる。
【0005】
JCT標準化組織は、現在、HEVCスクリーンコンテンツ向け符号化(SCC)拡張を開発している過程にある。連続した色調を有する従来の加工しないビデオと対照的に、スクリーンコンテンツビデオは、通常、少量のパイロットカラーと鋭角および境界を含む。いくつかの新しいツールが現在研究されていて、未来のHEVC SCC拡張に採用される可能性がある。
【0006】
HEVCレンジ拡張(RExt)の初期開発中、既に、パレットベース符号化に取り組むいくつかの提案がなされている。例えば、JCTVC−N0247(Guo et al., “RCE3: Results of Test 3.1 on Palette Mode for Screen Content Coding”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 14th Meeting: Vienna, AT, 25 July - 2 Aug. 2013 Document: JCTVC-N0247)、及びJCTVC−O0218(Guo et al., “Evaluation of Palette Mode Coding on HM-12.0+RExt-4.1”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 15th Meeting: Geneva, CH, 23 Oct. - 1 Nov. 2013, Document: JCTVC-O0218)には、パレット予測と共有技術が開示されている。JCTVC−N0247において、各カラーコンポーネントのパレットが構築、および、送信される。パレットが、左側隣接CUから予測(あるいは、シェア)されて、ビットレートを減少させる。その後、それらのパレットインデックスを用いて、所定のブロック中の全画素が符号化される。JCTVC−N0247による符号化プロセスの例は次の通りである。
【0007】
1.パレットの送信:カラーインデックステーブルサイズがまず送信され、次に、パレットエレメンツが送信される。
2.画素値の送信:CU中の画素が、ラスター走査順序で符号化される。一つ以上の画素の各群において、まず、ランベースモードのフラグが送信されて、“ラン”モードまたは“上方コピー”モードが用いられるかどうかを示す。
2.1 Index_Mode:Index_Modeにおいて、まず、パレットインデックスがシグナリングされて、次に、ラン値を示す“palette_run”(たとえば、M)が続く。ラン値は、M個のサンプルの総数がすべて、Index_Modeを用いて符号化されることを示す。ビットストリームでシグナリングされるのと同じパレットインデックスを有するので、それ以上の情報は、現在の位置および続くM個の位置に送信される必要がない。パレットインデックス(たとえば、i)は、さらに、全部で3個のカラーコンポーネントによりシェアされてもよく、それは、YUVカラースペースの場合において、再構成された画素値が(Y,U,V)=(palette[i],palette[i],palette[i])であることを意味する。
2.2 Copy_Above_Mode:Copy_Above_Modeにおいて、値“copy_run”(たとえば、N)が送信される。これは、続くN個の位置(現在のものを含む)について、パレットインデックスは、上方ロウ中の対応するパレットインデックスと同じであることを示す。
3.剰余の送信:ステージ2で送信されるパレットインデックスが画素値に変換され、予測として用いられる。剰余情報は、HEVC剰余コーディングを用いて送信され、且つ、再構成の予測に加えられる。
【0008】
一般のビデオ符号化と共に、スクリーンコンテンツ向け符号化においてパレットモード符号化ブロックに対して生成される構文要素に関連する符号化効率をさらに改善する方法を開発することが望まれる。
【発明の概要】
【0009】
ビデオ符号化システムにおいて生成されるソースシンボルをエントロピー符号化及びエントロピー復号化する方法と装置を開示する。本発明によれば、まず、現在のシンボル値についてMSB(最上位ビット)インデックス、および、任意のリファインメントビットが決定される。単項コードあるいは短縮単項コードを用いて、現在のシンボル値のMSBインデックスに関連するプレフィックス部を2値化することにより第1の2進列が生成される。さらに、もしリファインメントビットが存在する場合、固定長コードあるいは短縮2進コードを用いて、現在のシンボル値の1つ以上のリファインメントビットに対応するサフィックス部を2値化することにより、第2の2進列が生成される。第1の2進列は、CABAC(コンテキスト適応型2値算術符号化)を用いて符号化される。第2の2進列が存在する場合、第2の2進列もCABACを用いて符号化される。
【0010】
プレフィックス部は、MSBインデックスプラス1に対応してもよい。また、xがゼロより大きい場合、プレフィックス部は(floor(log2(x)+1)であり、xが0である場合、プレフィックス部は0であってもよい。ここで、xは前記現在のシンボル値を示し、floor(y)は、y以下の最大整数を出力するfloor関数であり、log2()は、2を底とする対数関数である。第1の2進列の2値が閾値T以下の2値インデックスを有する場合、当該2値はレギュラーCABACモードで符号化されてもよい。第1の2進列の2値が閾値Tより大きい2値インデックスを有する場合、当該2値はバイパスモードで符号化されてもよい。
【0011】
1つの実施形態において、現在のソースシンボルは、SCC(スクリーンコンテンツ向け符号化)のパレットモード符号化ブロック中の連続的に繰り返すパレットインデックスのランレングスマイナス1を示す。第1の2進列は、(floor(log2((MaxPaletteRun))+1)に等しい最大値を有する短縮単項コードを用いてプレフィックス部を2値化することにより導出される。ここで、MaxPaletteRunは、現在の符号化ユニット(CU)中の残りのまだ符号化されていない画素の数のマイナス1に等しい。第2の2進列は、(MaxPaletteRun−(1<<(palette_run_msb_id_plus1−1)))に等しい最大を有する短縮2進コードを用いてサフィックス部を2値化することにより導出される。ここで、MaxPaletteRunは、現在の符号化ユニット(CU)中の残りのまだ符号化されていない画素の数のマイナス1に等しく、palette_run_msb_id_plus1は、プレフィックス部の値を示す。
【0012】
CABACは、連続的に繰り返すパレットインデックスのランタイプが条件とされていてもよく、レギュラーCABACモードは、第1の2進列、あるいは、第2の2進列の1つ以上の2値に適用されてもよい。例えば、現在のソースシンボルは、上方ロウ中の連続第1インデックスの第1ランレングスマイナス1を表す構文Copy_Above_Mode、あるいは、同じロウ中の連続第2インデックスの第2ランレングスマイナス1を表す構文Index_Modeに対応していてもよい。ゼロに等しい2値インデックスを有する第1の2進列の2値は、3個のコンテキストを有するレギュラーCABACモードで符号化される。パレットインデックスが第1閾値T1より小さい場合、第1コンテキストが選択される。パレットインデックスが第1閾値T1以上で、且つ、第2閾値T2より小さい場合、第2コンテキストが選択される。パレットインデックスが第2閾値T2以上である場合、第3コンテキストが選択される。第2閾値T2は、第1閾値T1より大きい。例えば、第1閾値T1は2であり、第2閾値T2は4あるいは8である。
【0013】
現在のソースシンボルは、二次元符号付きあるいは符号なしのソースベクトルの第1コンポーネント、あるいは、第2コンポーネントの絶対値に対応していてもよい。また、プレフィックス部は、サフィックス部及び符号ビットよりも前に符号化される。
【0014】
本発明の別の実施形態において、インデックスモードに対し、現在のブロックを通してあるスキャニング順序で、現在のパレットインデックスと同じパレットインデックスを有する連続した画素の数が決定される。2値化方法を用いて、連続した画素の数マイナス1が2値文字列に変換される。現在のパレットインデックスに応じて適応的に選択されるコンテキストに従って、2値文字列のうち少なくとも1つの2値に対してレギュラーCABACモードを適用することにより、コンテキスト適応型2値算術符号化(CABAC)による2値文字列の符号化が行われる。対応する復号プロセスも開示される。例えば、デコーダは、インデックスモードに対応する現在のソースシンボルに関する現在のブロックの圧縮データを含む入力された符号化ビットストリームを受け取る。現在のランモードに対応する現在のパレットインデックスが決定される。そして、現在のパレットインデックスに応じて適応的に選択されるコンテキストに従って、2値文字列のうち少なくとも1つの2値に対してレギュラーCABACモードを適用することにより、コンテキスト適応型2値算術符号化(CABAC)による2値文字列の復号化が行われる。2値化方法を用いて、2値文字列が、現在のパレットインデックスと同じパレットインデックスを有する連続した画素の数に関連するランレングス値に変換される。ここで、ランレングス値は、連続した画素の数マイナス1に対応する。デコーダ側において、現在のパレットインデックスは、入力された符号化ビットストリームから構文解析されるパレットインデックス、あるいは、再構成パレットインデックスに対応していてもよい。
【図面の簡単な説明】
【0015】
図1】CABAC(コンテキスト適応型2値算術符号化)のブロック図である。ソース構文は、レギュラーCABACモード、あるいは、バイパスモードを用いて、適応的に符号化される。
図2】本発明の一実施形態に係るソースシンボルのエントロピー符号化システムのフローチャートである。ソースシンボルはプレフィックス部及びサフィックス部で表され、プレフィックス部及びサフィックス部の2進列はCABACを用いて符号化される。
図3】本発明の一実施形態に係るソースシンボルのエントロピー復号化システムのフローチャートである。ソースシンボルはプレフィックス部及びサフィックス部で表され、プレフィックス部及びサフィックス部の2進列はCABACを用いて符号化される。
【発明を実施するための形態】
【0016】
以下の記述は、本発明を実現する最適なモードである。この記述は、本発明の一般原則を説明することを目的とするものであり、本発明を限定するものではない。本発明の範囲は、特許請求の範囲によって決定される。
【0017】
本発明は、ビデオ符号化等のソースデータ圧縮システムにおいて生成されるソースシンボルの普遍的なエントロピー符号化方法を開示する。本方法は、ソースシンボルに対応する符号なしの値を、最上位ビット(MSB)部分とその値のリファインメントビット部分の2つの部分からなるバイナリー形式で表す。MSB部分中の各要素には、インデックスが割り当てられる。結果として得られるコード名は、プレフィックス部とサフィックス部の連結となる。プレフィックス部は、シンボル値のMSBインデックスに関連する。一実施形態において、MSB部分は、floor(log2(x))にしたがって決定される。xは、ソースシンボルに関連する符号なしの値に対応する。floor(y)は、y以下の最大整数を出力するfloor関数である。log2(x)は2を底とする対数関数である。この例において、対応するMSB部分は、x=0の場合に無意味になる。したがって、“msb_id_plus1”により表されるMSB部分プラス1が導入される。符号なしのシンボルxのMSBプラス1、つまり“msb_id_plus1”は次のように導出される。
【0018】
【数1】
【0019】
最大構文値が知られている場合、プレフィックス部は、可変長さコード、たとえば、単項コードあるいは短縮単項コードを用いて符号化される。所定のシンボル値に関して、サフィックス部は存在するかもしれないし、存在しないかもしれない。サフィックス部はリファインメントビットを表す。msb_id_plus1>1の場合、サフィックス部は存在する。refinement_bitsにより示されるリファインメントビットの値は、固定長のバイナリーコード、あるいは、短縮2進コードを用いて2値化される。たとえば、最大構文値が知られている場合、リファインメントビットの値は、(“msb_id_plus1”−1)、あるいは、短縮2進コードに等しい文字列長さを有する文字列により示される。復号された構文値xは、以下にしたがって、復号されたプレフィックス部(すなわち、(“msb_id_plus1”−1))と復号されたサフィックス部(すなわち、“refinement_bits”)に基づいて導出される。
【0020】
【数2】
【0021】
表1は、本発明の実施形態を組み込んだ2値化プロセスによるシンボル値0〜31に対応するコード名2値文字列(2進列とも称される)を示す。“msb_id_plus1”の値は、式(1)に基づいて導出される。リファインメントビットの長さは(“msb_id_plus1”−1)にしたがって決定される。本発明による2値化プロセスは、上述の2値化プロセスを、符号付きシンボル値の絶対値プラス符号化情報に適用することによって、符号付きソースシンボルに適用することもできる。さらに、2値化プロセスを各ベクトルコンポーネントに用いることにより、2値化プロセスを、多次元ソースデータ、たとえば、ベクトルに適用することもできる。
【0022】
【表1】
【0023】
本発明によれば、“msb_id_plus1”に関して得られた2値文字列は、コンテキスト適応型2値算術符号化(CABAC)により符号化される。プレフィックス部は、更に複雑なコンテキストモデリングスキームにより、CABACで符号化される。本発明によれば、リファインメントと符号ビットは、より簡潔なコンテキストモデリングスキームで、あるいは、バイパスモードで符号化される。一実施形態において、プレフィックス部2値文字列は、閾値T以下である2値インデックス値を有する2値についてはCABACモードで符号化され、それ以外はバイパスモードで符号化される。一実施形態において、文脈選択は、2値インデックスに基づいて行われる。また、隣接インデックス値を有するいくつかの2値は、同じコンテキストをシェアすることができる。別の実施形態において、Tは、ビットストリーム構文解析スループット制約と符号化効率要求に基づいて、適応的に選択される。低い閾値Tの場合、より多くのシンボルがバイパスモードで符号化されるので、低い符号化効率の代わりに、ビットストリーム構文解析スループットを増加させる。閾値Tも、現在の符号化ユニット(CU)中の符号化CABAC2値の消費に応じて調整される。たとえば、現在の符号化ユニットにおいてより小さいCABAC符号化2値が望まれる場合、小さい閾値Tが用いられる。いくつかの実施形態において、閾値Tは、CUサイズに応じて適応的に選択される。たとえば、パレット符号化がCUに適用される場合、大きいCUサイズは、ランモードにおいて、長いランレングスになる。この場合、さらなる符号化効率向上のために、大きい閾値が用いられる。
【0024】
本発明は、普遍的符号化ツールとして開発され、多様な符号化統計に対応する異なる構文タイプのエントロピー符号化に役立つ。本発明は、特に、イントラブロックコピー(IntraBC)、パレット符号化、および、イントラ文字列コピーに例示される新たな符号化ツールに由来する、混合したビデオコンテンツタイプと多数の新しい構文タイプを有するスクリーンコンテンツ向け符号化に有益である。表2は、本発明の実施形態を組み込んだコンテキストベース符号化を用いた、符号なしソースシンボルの符号化/復号化を示す構文表である。異なるコンテキストモデリングスキームは、入力パラメータ“syntaxType”により特定される異なる構文タイプに使用される。表2に示されるように、構文“msb_id_plus1”により示されるプレフィックス部がまずシグナリングされる。“msb_id_plus1”の値が1より大きい場合、構文“refinement_bits”がシグナリングされる。言い換えれば、“msb_id_plus1”の値が0か1の場合、サフィックス部はシグナリングされない。
【0025】
【表2】
【0026】
上記で開示されるMSBインデックスのコンテキストベース符号化は、符号化プロセス期間中に生成される各種構文要素に適用可能である。たとえば、HEVC RExtで定められるスクリーンコンテンツ向け符号化(SCC)において、ブロック中のカラーインデックスは、“Run”モードを用いて符号化されてもよい。“Run”モードが選択されるとき、現在のパレットランモードにおいて連続的に繰り返す画素の数マイナス1がシグナリングされる。前述のように、Index_ModeとCopy_Above_Modeとで示される2種類の“Run”モードがある。一実施形態において、プレフィックス部とサフィックス部の両方を、最大ラン値“MaxPaletteRun”を用いて短縮シグナリングで符号化する。ここで、“MaxPaletteRun”は、現在の符号化ユニット(CU)中の残りのまだ符号化されていない画素の数量のマイナス1に等しい。結果として得られるプレフィックス構文“palette_run_msb_id_plus1”は、cMax=floor(log2((MaxPaletteRun))+1の短縮単項コードを用いて符号化される。ここで、関数floor(x)は、x以下である最大整数を出力する。サフィックス構文“palette_run_refinement_bits”は、cMax=MaxPaletteRun−(1<<(palette_run_msb_id_plus1−1))を有する短縮2進コードを用いて符号化される。さらに、プレフィックス“palette_run_msb_id_plus1”は、コンテキストベース符号化を用いて符号化される。ここで、コンテキストは、2値インデックスに基づいて形成される。二個の別々のコンテキストセットは、それぞれ、Copy_Above_Modeに等しい“palette_run_type_flag”とIndex_Modeに使用される。
【0027】
バイパスモードは、閾値Trより大きいインデックス値を有する2値を符号化するのに用いられる。たとえば、Trは、4か6に等しい。“palette_run_type_flag”がIndex_Modeに等しく、現在のパレットインデックスが大きいとき、パレットランレングスマイナス1は、通常、0に等しい。よって、2値インデックス0のコンテキストモデリングは、さらに、Index_Modeランタイプについて、現在のパレットインデックス“paletteIndex”が条件とされている。一実施形態において、(paletteIndex<T1)に対し、第1コンテキスト(すなわち、コンテキストインデックス=0)が選択される。(T1<=paletteIndex<T2)に対し、第2コンテキスト(すなわち、コンテキストインデックス=1)が選択される。(T2<=paletteIndex)に対し、第3コンテキスト(すなわち、コンテキストインデックス=1)が選択される。閾値T2は閾値T1より大きい。T1とT2の値は、適当に選択される。たとえば、T1は2に等しく、T2は、4か8に等しい。
【0028】
表3は、プレフィックス“palette_run_msb_id_plus1”のコンテキストベース符号化における文脈選択のマッピング表である。文脈選択は、冗長性除去による符号化された修正パレットインデックスに対応する構文解析パレットインデックスが条件とされる。文脈選択も、パレットテーブルにより用いられる実際のパレットインデックスに対応する再構成パレットインデックスが条件とされている。一実施形態において、“palette_run_type_flag”がCopy_Index_Modeに等しく、構文解析パレットインデックス値が閾値Tsより大きいとき、パレットラン符号化はスキップされる。この場合、パレットランレングスマイナス1が0になると推定される。一実施形態において、Tsは、現在のCU中のパレットカラーの数量から導出される。閾値Tr、T1、T2、あるいは、Tsは、SPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダー、および/あるいは、パレットモード符号化CUでシグナリングされる。
【0029】
【表3】
【0030】
構文要素に関連するMSBインデックスのコンテキストベース符号化の別の例において、得られたプレフィックス構文“palette_index_msb_id_plus1”は、cMax=floor(log2((MaxPaletteIdx))+1を有する短縮単項コードを用いて符号化される。サフィックス構文“palette_index_refinement_bits”は、cMax=MaxPaletteIdx−(1<<(palette_index_msb_id_plus1−1))を有する短縮2進コードにより符号化される。エントロピー符号化プレフィックス“palette_index_msb_id_plus1”のコンテキストモデリングは、2値インデックスが条件とされてもよい。エントロピー符号化プレフィックス“palette_index_msb_id_plus1”のコンテキストモデリングは、さらに、MaxPaletteIdxが条件とされてもよい。“MaxPaletteIdx”は、冗長性除去による最大修正パレットインデックスに対応する最大構文解析パレットインデックスを示す。別の実施形態において、“MaxPaletteIdx”は、パレットテーブルにより使用される最大の実際のパレットインデックスに対応する最大の再構成パレットインデックスを表す。表4は、プレフィックス“palette_index_msb_id_plus1”のコンテキストベース符号化における文脈選択のマッピングテーブルを示す。ここで、異なるコンテキストセットは、異なる値のcMax=floor(log2((MaxPaletteIdx))+1を有するCUに用いられてもよい。
【0031】
【表4】
【0032】
上記のコンテキストベースの符号化は、HEVC RExtに関連するスクリーンコンテンツ向け符号化(SCC)に用いられるイントラ文字列コピー(IntraBC)ツール中で使用される参照文字列に関連する別の構文要素にも適用可能である。たとえば、本発明によるコンテキストベース符号化は、構文要素dictionary_pred_length_minus1、dictionay_pred_offset_minus1、及び(dictionay_pred_offsetX、dictionay_pred_offsetY)のそれぞれで表される長さマイナス1、オフセットマイナス1、及びオフセットベクトルを表すMSBインデックスに適用可能である。長さの符号化において、残りのまだ符号化されていない画素の数マイナス1に等しい最大ラン値を用いてプレフィックス部とサフィックス部を符号化するために短縮シグナリングが用いられてもよい。オフセットベクトルの符号化において、本発明によるコンテキストベースの符号化は、各ベクトルコンポーネントの絶対値に適用可能である。表5から表7は、上述の構文要素のそれぞれで表される長さマイナス1、オフセットマイナス1、及びオフセットベクトル(x,y)に関する文脈選択のマッピング表である。
【0033】
【表5】
【0034】
【表6】
【0035】
【表7】
【0036】
インデックスモードにおいて、現在のパレットインデックスとランレングスがシグナリングされる。パレットインデックスは、通常、対応するランレングスの前にシグナリングされる。本発明の別の実施形態において、対応するランレングスは、パレットインデックスに基づいて、コンテキスト適応型符号化される。たとえば、インデックスモードに対し、現在のブロックを通してあるスキャニング順序で、現在のパレットインデックスと同じパレットインデックスを有する連続した画素の数が決定される。連続した画素の数のマイナス1は、2値化方法を用いて、2値文字列に変換される。同じパレットインデックスに基づいて適応的に選択されるコンテキストにしたがって、レギュラーCABACモードを、2値文字列の少なくとも一つの2値に適用することにより、コンテキスト適応型2値算術符号化(CABAC)による2値文字列の符号化が行われる。対応する復号化プロセスは、エンコーダにより実行されるこれらのステップを実行する。たとえば、デコーダは、インデックスモードに対応する現在のソースシンボルに関する現在のブロックの圧縮データを含む入力符号化ビットストリームを受けとる。現在のランモードに関する現在のパレットインデックスが決定される。その後、現在のパレットインデックスに基づいて適応的に選択されるコンテキストにしたがって、レギュラーCABACモードを、2値文字列の少なくとも一つの2値に適用することにより、コンテキスト適応型2値算術符号化(CABAC)による2値文字列の復号化が行われる。2値文字列は、2値化方法を用いて、現在のパレットインデックスと同じパレットインデックスを有する連続した画素の数に関連するランレングス値に変換される。ランレングス値は、連続した画素の数のマイナス1に対応する。現在のブロックを通してあるスキャニング順序で、現在のパレットインデックスを用いて、符号化された連続画素が再構成される。デコーダ側で、現在のパレットインデックスは、入力符号化ビットストリームから構文解析されるパレットインデックス、あるいは、再構成パレットインデックスに対応する。
【0037】
図2は、本発明の一実施形態によるソースシンボルのエントロピー符号化システムのフローチャートである。ソースシンボルは、プレフィックス部及びサフィックス部で表される。プレフィックス部及びサフィックス部の2進列は、CABACを用いて符号化される。工程210において、システムは、一連のシンボル値に属する現在のシンボル値を有する現在のソースシンボルを受けとる。入力データは、符号化される現在のブロックの画素データ、あるいは、カラーインデックスに対応する。入力データは、メモリ(たとえば、コンピュータメモリ、バッファ(RAMやDRAM)、あるいは、その他の媒体)、あるいは、プロセッサから取得される。工程220において、現在のシンボル値についてMSB(最上位ビット)インデックスと任意のリファインメントビットが決定される。工程230において、単項コードあるいは短縮単項コードを用いて、現在のシンボル値のMSBインデックスに関連するプレフィックス部を2値化することにより、第1の2進列が導出される。工程240において、もしリファインメントビットが存在する場合、固定長コードあるいは短縮2進コードを用いて、現在のシンボル値の1つ以上のリファインメントビットに対応するサフィックス部を2値化することにより、第2の2進列が導出される。工程250において、第1の2進列はCABAC(コンテキスト適応型2値算術符号化)を用いて符号化される。第2の2進列が存在する場合、第2の2進列もCABACを用いて符号化される。
【0038】
図3は、本発明の一実施形態に係るソースシンボルのエントロピー復号化システムのフローチャートである。ソースシンボルは、プレフィックス部及びサフィックス部で表される。プレフィックス部及びサフィックス部の2進列は、CABACを用いて符号化される。ステップ310において、システムは、現在のソースシンボルに関する圧縮データを含む入力符号化ビットストリームを受けとる。入力符号化ビットストリームは、メモリ(たとえば、コンピュータメモリ、バッファ(RAMやDRAM)、あるいは、その他の媒体)、あるいは、プロセッサから取得される。工程320において、符号化されたビットストリームは、CABAC(コンテキスト適応型2値算術符号化)を用いて復号化され、第1の2進列、および、もしあれば第2の2進列を回復する。工程330において、現在のソースシンボルの現在のシンボル値のMSB(最上位ビット)インデックスに関連するプレフィックス部は、単項コードあるいは短縮単項コードを用いて第1の2進列を復号化することにより回復される。工程340において、もし第2の2進列が存在する場合、現在のシンボル値の1つ以上のリファインメントビットに対応するサフィックス部は、固定長コードあるいは短縮2進コードを用いて第2の2進列を復号化することにより回復される。工程350において、現在のシンボル値のMSBインデックスと、もしリファインメントビットが存在する場合は現在のシンボル値のリファインメントビットとに基づいて、現在のソースシンボルが回復される。
【0039】
上記に示されたフローチャートは、本発明に係るプレフィックス部とサフィックス部を用いたエントロピー符号化を説明する。当業者は、本発明の精神と領域を脱しない範囲内で、各ステップを修正、再アレンジ、分割、結合して、本発明を実行することができる。本開示において、特定の構文と語義が用いられて、例を説明し、本発明の実施形態を実行する。当業者は、本発明の精神と領域を脱しない範囲内で、構文と語義を、等価の構文と語義と置き換えることにより、本発明を実施する。
【0040】
上記の説明により、当業者は、特定のアプリケーションとその要求のコンテキストに記述される通り、本発明を行うことができる。当業者なら、記述された具体例への各種修正が理解でき、ここで定義される一般原則は別の実施例にも応用できる。よって、本発明は、記述される特定の実施例に制限することを目的としておらず、原理と新規特徴と一致する最大範囲に一致する。上述の記述において、本発明の十分な理解を提供するため、各種特定の詳細が説明される。当業者なら、本発明が行えることが理解できる。
【0041】
上述の本発明の実施形態は、各種ハードウェア、ソフトウェアコード、または、それらの組み合わせで実行される。たとえば、本発明の実施形態は、画像圧縮チップに整合される回路、または、画像圧縮ソフトウェアに整合されるプログラムコードで、上述の処理を実行する。本発明の実施形態は、デジタルシグナルプロセッサ(DSP)で実行されるプログラムコードで、上述の処理を実行する。本発明は、さらに、コンピュータプロセッサ、デジタルシグナルプロセッサ、マイクロプロセッサ、または、フィールドプログラマブルゲートアレイ(FPGA)により実行される複数の機能を含む。これらのプロセッサは、本発明により具体化される特定の方法を定義する機械読み取り可能ソフトウェアコード、または、ファームウェアコードを実行することにより、本発明による特定のタスクを実行するように設定される。ソフトウェアコード、または、ファームウェアコードは、異なるプログラミング言語、および、異なるフォーマット、または、スタイルで開発される。ソフトウェアコードは、さらに、異なるターゲットプラットフォームにコンパイルされる。しかし、本発明によるタスクを実行するソフトウェアコードの異なるコードフォーマット、スタイル、および、言語、および、設定コードのその他の手段は、本発明の精神を逸脱しない。
【0042】
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
図1
図2
図3