(57)【要約】  高スループット２値化モードのために構成された電子デバイスが記載される。電子デバイスは、プロセッサおよびプロセッサと電子通信を行うメモリに記憶された命令を含む。電子デバイスは、変換および量子化された係数（ＴＣＱ）のブロックを取得する。電子デバイスは、高スループット２値化モード条件が満たされるかどうかを判定する。条件が満たされる場合には、電子デバイスは、ブロックを処理するために高スループット２値化モードを用いる。条件が満たされない場合には、電子デバイスは、ブロックを処理するために高スループット２値化モードを用いない。電子デバイスは、生成された第１または第２のビットストリームをデコーダへ送信する。
2015504256.tif 000002
【特許請求の範囲】
【請求項１】
変換係数と関連するビットストリームを復号するための方法であって、前記方法は、
ビットストリームを取得するステップ；
所定の条件に基づいて復号モードを決定するステップであって；
前記所定の条件が満たされる場合には、バイパス復号モードが利用されることが決定され；
前記所定の条件が満たされない場合には、レギュラー復号モードおよび前記バイパス復号モードが選択的に利用されることが決定される、前記ステップ；
決定された前記モードに従って前記ビットストリームを復号するステップ、
を備える方法。
【請求項２】
前記所定の条件が満たされる場合には、その振幅が１以上である任意の非ゼロ係数の少なくとも前記正負およびレベル情報が、前記バイパス復号によってそれぞれ復号され；
前記所定の条件が満たされない場合には、前記非ゼロ係数の前記振幅が１より大きいか否かを示す、前記第１のフラグ、および、１より大きい前記振幅をもつ前記非ゼロ係数の前記振幅が２より大きいか否かを示す、前記第２のフラグが、前記レギュラー復号によってそれぞれ復号され、その振幅が３以上である任意の非ゼロ係数の前記正負およびレベル情報が、前記バイパス復号によってそれぞれ復号される
ことをさらに備える、請求項１に記載の方法。
【請求項３】
前記所定の条件は、ゼロに等しくない振幅をもつ係数の前記数が、プリセットされた閾値より大きいかどうかを示す、請求項２に記載の方法。
【請求項４】
前記プリセットされた閾値は８に等しい、請求項３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、電子デバイスに関する。より具体的には、本開示は、符号化および／または復号のために拡張されたコンテキスト適応型２値算術符号化（ＣＡＢＡＣ：Ｃｏｎｔｅｘｔ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）を利用する電子デバイスに関する。
【背景技術】
【０００２】
本出願は、２０１２年４月１１日出願の「ＬＯＳＳＬＥＳＳ  ＣＯＤＩＮＧ  ＷＩＴＨ  ＤＩＦＦＥＲＥＮＴ  ＰＡＲＡＭＥＴＥＲ  ＳＥＬＥＣＴＩＯＮ  ＴＥＣＨＮＩＱＵＥ  ＦＯＲ  ＣＡＢＡＣ  ＩＮ  ＨＥＶＣ（ＨＥＶＣにおけるＣＡＢＡＣの異なるパラメータ選択技術を用いたロスレス符号化）」と題する米国特許出願第１３／４４４，７１０号の一部継続出願であり、米国特許出願第１３／４４４，７１０号は、２０１２年２月２日出願の「ＨＩＧＨ  ＴＨＲＯＵＧＨＰＵＴ  ＳＩＧＮＩＦＩＣＡＮＣＥ  ＭＡＰ  ＰＲＯＣＥＳＳＩＮＧ  ＦＯＲ  ＣＡＢＡＣ  ＩＮ  ＨＥＶＣ（ＨＥＶＣにおけるＣＡＢＡＣの高スループット有意性マップ処理）」と題する米国特許出願第１３／３６５，２１５号の一部継続出願であり、米国特許出願第１３／３６５，２１５号は、２０１２年１月２７日出願の「ＬＯＳＳＬＥＳＳ  ＣＯＤＩＮＧ  ＴＥＣＨＮＩＱＵＥ  ＦＯＲ  ＣＡＢＡＣ  ＩＮ  ＨＥＶＣ（ＨＥＶＣにおけるＣＡＢＡＣのロスレス符号化技術）」と題する米国特許出願第１３／３６０，６１５号の一部継続出願であり、米国特許出願第１３／３６５，６１５号は、２０１２年１月１９日出願の「ＨＩＧＨ  ＴＨＲＯＵＧＨＰＵＴ  ＢＩＮＡＲＩＺＡＴＩＯＮ（ＨＴＢ）  ＭＥＴＨＯＤ  ＦＯＲ  ＣＡＢＡＣ  ＩＮ  ＨＥＶＣ（ＨＥＶＣにおけるＣＡＢＡＣの高スループット２値化（ＨＴＢ）法）」と題する米国特許出願第１３／３５４，２７２号の一部継続出願であり、これらの出願のそれぞれは、参照によりその全体が本明細書に組み込まれる。
【０００３】
画像のブロックに関する符号化されたデータを多くのデコーダ（およびエンコーダ）が受信する（およびエンコーダが供給する）。典型的に、画像はブロックに分割され、ブロックのそれぞれが何らかの方法で、例えば、離散コサイン変換（ＤＣＴ：ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ）を用いて符号化されて、デコーダへ供給される。ブロックは、画像における矩形領域を示し、画素からなり、例えば、１６×１６のブロックは、幅が１６画素および高さが１６画素の領域である。デコーダは、符号化されたブロックを受信して、ブロックのそれぞれを何らかの方法で、例えば、逆離散コサイン変換を用いて復号する。
【０００４】
ビデオ符号化規格、例えば、ＭＰＥＧ−４  ｐａｒｔ１０（Ｈ．２６４）は、限られた周波数帯域幅および／または限られた記憶容量をもつチャネルを通じた送信のためにビデオデータを圧縮する。これらのビデオ符号化規格は、フレームをより効果的に符号化および復号するために、イントラ予測、空間領域から周波数領域への変換、量子化、エントロピー符号化、動き推定、および動き補償のような複数の符号化段階を含む。
【０００５】
国際電気通信連合電気通信標準化部門（ＩＴＵ−Ｔ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｓｅｃｔｏｒ）研究グループ１６（ＳＧ１６：Ｓｔｕｄｙ  ｇｒｏｕｐ  １６）作業班３（ＷＰ３：Ｗｏｒｋｉｎｇ  Ｐａｒｔｙ  ３）、および国際標準化機構／国際電気標準会議（ＩＳＯ／ＩＥＣ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）合同専門委員会１／小委員会２９／作業グループ１１（ＪＴＣ１／ＳＣ２９／ＷＧ１１：Ｊｏｉｎｔ  Ｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｔｔｅｅ  １／Ｓｕｂｃｏｍｍｉｔｔｅｅ  ２９／Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  １１）のビデオ符号化に関する共同作業チーム（ＪＣＴ−ＶＣ：Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）は、高効率ビデオ符号化規格（ＨＥＶＣ：Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｓｔａｎｄａｒｄ）と呼ばれるビデオ符号化規格に関する規格化の取り組みを開始した。いくつかの前のビデオ符号化規格と同様に、ＨＥＶＣは、ブロックに基づく符号化法である。既知のＨＥＶＣエンコーダの例が図１に示される。ＨＥＶＣデコーダも知られている。
【０００６】
ＨＥＶＣでは、変換および量子化された係数（ＴＱＣ：Ｔｒａｎｓｆｏｒｍｅｄ  ａｎｄ  Ｑｕａｎｔｉｚｅｄ  Ｃｏｅｆｆｉｃｉｅｎｔ）を損失なしに圧縮するために、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ：Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）が用いられる。ＴＱＣは、エンコーダにおいて、画像ブロックを順変換により処理して、変換係数を生成し、次に、複数の変換係数値をＴＱＣ値へマッピングする操作を用いて、この変換係数を量子化することによって決定される。ＴＱＣ値は、次に、係数レベル値、またはレベル値、としてデコーダへ通信され、次に、係数ごとのレベル値が、エンコーダにおいて計算された変換係数値に似てはいるが必ずしも同じではない、変換係数値へマッピングされる。ＣＡＢＡＣに基づく符号化および／または復号技術は、一般にコンテキスト適応型であり、これは、（ｉ）過去に符号化および／または復号された前のシンボルの値に基づいてシンボルを適応的に符号化することと、（ｉｉ）適応に用いる過去に符号化および／または復号されたシンボルのセットを特定するコンテキストとを指す。過去のシンボルは、空間的および／または時間的に隣接したブロックに位置する。多くの場合、コンテキストは、隣接したブロックのシンボル値に基づく。
【０００７】
上述のように、ＴＱＣを損失なしに圧縮するためにＣＡＢＡＣが用いられる。背景として、ＴＱＣは、変換サイズ（例えば、４×４、８×８、１６×１６、３２×３２、１６×３２）によって異なるブロック・サイズに由来してもよい。２次元の（２Ｄ）ＴＱＣは、エントロピー符号化の前に１次元（１Ｄ）アレイに変換される。一例において、４×４のブロックにおける２ＤアレイのＴＱＣは、表（１）に示されるように配置される。
【０００８】
【表１】
2015504256.tif 000003
【０００９】
２Ｄ  ＴＱＣを１Ｄアレイに変換するときに、ブロックは、斜めにジグザグ状にスキャンされる。例を続けると、表（１）に示される２ＤアレイのＴＱＣは、第１行および第１列、第１行および第２列、第２行および第１列、第３行および第１列、第２行および第２列、第１行および第３列、第１行および第４列、第２行および第３列、第３行および第２列、第４行および第１列などをスキャンすることによって１ＤアレイのＴＱＣ［４，０，３，−３，２，１，０，−１，０，・・・］に変換される。
【００１０】
ＴＱＣの１Ｄアレイは、ＣＡＢＡＣではシンタックス要素（ＳＥ：Ｓｙｎｔａｘ  Ｅｌｅｍｅｎｔ）の列によって表される。ＴＱＣの１Ｄアレイの例に関するＳＥの列の例が図２に示される。ＳＥは、次のパラメータ、すなわち、Ｌａｓｔ＿ｐｏｓｉｔｉｏｎ＿Ｘ／Ｙ、有意性マップ（Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｍａｐ）、および属性Ｇｒｅａｔｅｒ＿ｔｈａｎ＿１、Ｇｒｅａｔｅｒ＿ｔｈａｎ＿２、正負情報（Ｓｉｇｎ  Ｉｎｆｏｒｍａｔｉｏｎ）、ならびにＡｂｓｏｌｕｔｅ−３を表す。Ｌａｓｔ＿ｐｏｓｉｔｉｏｎ＿Ｘ／Ｙは、対応するブロックにおける最後の非ゼロ係数の位置（Ｘ／Ｙ）を表す。有意性マップは、各係数の有意性を表す。Ｇｒｅａｔｅｒ＿ｔｈａｎ＿１は、非ゼロの（すなわち、有意フラグが１の）係数ごとに係数振幅が１より大きいかどうかを示す。Ｇｒｅａｔｅｒ＿ｔｈａｎ＿２は、１より大きい振幅をもつ（すなわち、ｇｒｅａｔｅｒ＿ｔｈａｎ＿１フラグが１の）係数ごとに係数振幅が２より大きいかどうかを示す。
【００１１】
ＨＥＶＣにおけるＣＡＢＡＣでは、代表的なＳＥが符号化される。図３は、ＳＥを符号化するために用いるＣＡＢＡＣフレームワークを示す。ＣＡＢＡＣ符号化技術は、段階を用いたシンボルの符号化を含む。第１段階において、ＣＡＢＡＣは、入力シンボルを２値シンボルの列または「ビン」へマッピングするために「バイナライザ（ｂｉｎａｒｉｚｅｒ）」を用いる。入力シンボルは、ビットに符号化される前に２値化（ｂｉｎａｒｉｚｅ）されるか、別の状況では２値（１または０）シンボルの列に変換される、非２値シンボルである。ビンは、「バイパス符号化エンジン」または「レギュラー符号化エンジン」のいずれかを用いてビットに符号化することができる。
【００１２】
ＣＡＢＡＣにおけるレギュラー符号化エンジンでは、第２段階において、確率モデルが選択される。確率モデルは、２値化された入力シンボルの１つ以上のビンを算術符号化するために用いられる。このモデルは、最近符号化されたシンボルの関数であるコンテキストに依存して、利用可能な確率モデルのリストから選択される。確率モデルは、ビンが「１」または「０」である確率を記憶する。第３段階において、算術エンコーダは、選択された確率モデルに従って各ビンを符号化する。「０」および「１」に対応する２つの部分範囲がビンごとに存在する。第４段階は、確率モデルのアップデートを含む。選択された確率モデルは、実際に符号化されたビン値に基づいてアップデートされる（例えば、ビン値が「１」であった場合には、「１」の頻度数が増やされる）。ＣＡＢＡＣ復号のための復号技術は、処理を逆に行う。
【００１３】
ＣＡＢＡＣにおけるバイパス符号化エンジンに関しては、第２段階は、計算コストが高いコンテキスト推定および確率アップデートの段階を省略した、ビンからビットへの変換を含む。バイパス符号化エンジンは、入力ビンに関して一定の確率分布を仮定する。ＣＡＢＡＣ復号のための復号技術は、処理を逆に行う。
【００１４】
ＣＡＢＡＣは、２つのステップを概念的に用いてシンボルを符号化する。第１のステップにおいて、ＣＡＢＡＣは、入力シンボルからビンへの２値化を行う。第２のステップにおいて、ＣＡＢＡＣは、バイパス符号化エンジンまたはレギュラー符号化エンジンのいずれかを用いて、ビンからビットへの変換を行う。結果として生じる符号化されたビット値は、ビットストリームでデコーダへ供給される。
【００１５】
ＣＡＢＡＣは、２つのステップを概念的に用いてシンボルを復号する。第１のステップにおいて、ＣＡＢＡＣは、入力ビットをビン値に変換するために、バイパス復号エンジンまたはレギュラー復号エンジンのいずれかを用いる。第２のステップにおいて、ＣＡＢＡＣは、ビン値に対する送信されたシンボル値を復元するために、デバイナリゼーション（ｄｅ−ｂｉｎａｒｉｚａｔｉｏｎ）を行う。復元されたシンボルは、本質的に非２値である。復元されたシンボル値は、デコーダの残りの様態に用いられる。
【００１６】
前述のように、ＣＡＢＡＣの符号化および／または復号処理は、少なくとも２つの異なる演算モードを含む。第１のモードでは、確率モデルが、実際に符号化されたビン値に基づいてアップデートされ、一般に「レギュラー符号化モード」と呼ばれる。レギュラー符号化モードは、関連する計算が複雑であり、終了までにかなり時間がかかるのに加えて、いくつかの逐次的な直列操作を必要とする。第２のモードでは、確率モデルが、実際に符号化されたビン値に基づいてアップデートされず、一般に「バイパス符号化モード」と呼ばれる。第２のモードでは、ビンを復号するための確率モデルは、（おそらく一定の確率より他には）存在せず、従って、確率モデルをアップデートする必要はない。
【発明の概要】
【課題を解決するための手段】
【００１７】
好ましい実施形態は、変換係数と関連するビットストリームを復号するための方法であって、本方法は、ビットストリームを取得するステップ；所定の条件に基づいて復号モードを決定するステップであって；前記所定の条件が満たされる場合には、バイパス復号モードを利用することが決定され；前記所定の条件が満たされない場合には、レギュラー復号モードおよびバイパス復号モードを選択的に利用することが決定される、決定するステップ；決定されたモードに従ってビットストリームを復号するステップを備える。
【００１８】
技術的な問題
ＨＥＶＣにおいてＣＡＢＡＣ符号化を利用するときに、スループット性能は、以下には限定されないが、ビン／画素の総数、バイパス・ビン／画素数、およびレギュラー（またはコンテキスト）符号化されるビン／画素数のような、様々な因子に依存して異なりうる。一般的に言って、高ビットレート符号化（低量子化パラメータ（ＱＰ：Ｑｕａｎｔｉｚａｔｉｏｎ  Ｐａｒａｍｅｔｅｒ）値）の場合に関するスループットは、他の場合のスループットに比べて著しく低い。それゆえに、高ビットレートの場合には、スループットがかなりの処理リソース量を消費する、および／または、符号化／復号にかなり時間がかかる。以下の開示は、この問題および他の問題を解決する。
【００１９】
ＣＡＢＡＣは、残差サンプルを圧縮するために、ロスレス符号化モードで用いてよいことも知られている。一例において、残差サンプルは、画像における特定の位置に対応する値である。典型的に、残差サンプルは、画像における特定の位置に対応する値と、画像における同じ特定の位置に対応する予測値との差に対応する。代わりに、残差サンプルは、変換操作によって処理されなかった、つまりＴＱＣを生成するために通常は用いない変換操作を用いた画像における特定の位置に対応する値である。残差サンプルは、そのサンプルサイズ（例えば、４×４，８×８，１６×１６，３２×３２，１６×３２など）によって異なるブロック・サイズに由来しうる。ＴＱＣの符号化と同様に、２Ｄ残差サンプル・ブロックは、エントロピー符号化の前に最初に１Ｄアレイに変換される。一例において、４×４のブロックにおける２Ｄアレイの残差サンプルは、表（２）に示されるように配置される。
【００２０】
【表２】
2015504256.tif 000004
【００２１】
２Ｄ残差サンプルを１Ｄアレイに変換するときに、ブロックは、斜めにジグザグ状にスキャンされる。例を続けると、表（２）に示される２Ｄアレイの残差サンプルは、第１行および第１列、第１行および第２列、第２行および第１列、第３行および第１列、第２行および第２列、第１行および第３列、第１行および第４列、第２行および第３列、第３行および第２列、第４行および第１列などをスキャンすることによって１Ｄアレイの残差サンプル［４，０，３，−３，２，１，０，−１，０，・・・］に変換される。
【００２２】
残差サンプルの１Ｄアレイは、ＣＡＢＡＣではシンタックス要素（ＳＥ）の列によって表される。残差サンプルの１Ｄアレイの例に関するＳＥの列の例が図１１に示される。ＳＥは、次のパラメータ、すなわち、Ｌａｓｔ＿ｐｏｓｉｔｉｏｎ＿Ｘ／Ｙ、有意性マップ、および属性Ｇｒｅａｔｅｒ＿ｔｈａｎ＿１、Ｇｒｅａｔｅｒ＿ｔｈａｎ＿２、正負情報、ならびにＡｂｓｏｌｕｔｅ−３を表す。
【００２３】
ＨＥＶＣにおけるＣＡＢＡＣのロスレス符号化モードでは、代表的なＳＥが符号化される。図３のＣＡＢＡＣフレームワークは、ＳＥを符号化するために用いられる。ＣＡＢＡＣ符号化技術は、段階を用いたシンボルの符号化を含む。第１段階において、ＣＡＢＡＣは、入力シンボルを２値シンボルの列または「ビン」へマッピングするために「バイナライザ」を用いる。入力シンボルは、ビットに符号化される前に２値化されるか、別の状況では２値（１または０）シンボルの列に変換される、非２値シンボルである。ビンは、前述の「レギュラー符号化エンジン」を用いてビットに符号化することができる。
【００２４】
ＣＡＢＡＣのロスレス符号化モードにおけるレギュラー符号化エンジンでは、第２段階において、（ＣＡＢＡＣのロスレス符号化モードにおける「コンテキストモデル」としても知られる）確率モデルが選択される。モデルは、２値化された入力シンボルの１つ以上のビンを算術符号化するために用いられる。このモデルは、最近符号化されたシンボルの関数であるコンテキストに依存して、利用可能なモデルのリストから選択される。モデルは、ビンが「１」または「０」である確率を記憶する。第３段階において、算術エンコーダは、選択されたモデルに従って各ビンを符号化する。「０」および「１」に対応する２つの部分範囲がビン毎に存在する。第４段階は、モデルのアップデートを含む。選択されたモデルは、実際に符号化されたビン値に基づいてアップデートされる（例えば、ビンが「１」であった場合には、「１」の頻度数が増やされる）。ＣＡＢＡＣ復号のための復号技術は、処理を逆に行う。
【００２５】
前段落に記載されるように用いるモデルの数は、１８４である。具体的には、Ｌａｓｔ＿ｐｏｓｉｔｉｏｎ＿Ｘ／Ｙに３６モデル（Ｌａｓｔ＿ｐｏｓｉｔｉｏｎ＿Ｘに１８モデル、Ｌａｓｔ＿ｐｏｓｉｔｉｏｎ＿Ｙに１８モデル）を用い、有意性マップに４８モデル（４×４のブロック：輝度９、色差６；８×８のブロック：輝度１１、色差１１；１６×１６または３２×３２のブロック：輝度７、色差４）を用い、属性Ｇｒｅａｔｅｒ＿ｔｈａｎ＿１、Ｇｒｅａｔｅｒ＿ｔｈａｎ＿２，正負情報、およびＡｂｓｏｌｕｔｅ−３に１００モデル（輝度のＧｒｅａｔｅｒ＿ｔｈａｎ＿１フラグ：３０；色差のＧｒｅａｔｅｒ＿ｔｈａｎ＿１フラグ２０、輝度のＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグ：３０；色差のＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグ２０）を用いる。
【００２６】
ＨＥＶＣにおけるＣＡＢＡＣ符号化をロスレス符号化モードで利用するときに、符号化／復号は、計算が複雑である。計算複雑度の１つの理由は、先に説明したように、１８４モデルを用いることにある。この計算複雑度のために、符号化／復号は、かなりの処理リソース量を消費する、および／または、終了までにかなり時間がかかる。以下の開示は、これらの問題を解決する。
【図面の簡単な説明】
【００２７】
【図１】ＨＥＶＣエンコーダのブロック・ダイアグラムである。
【図２】ＣＡＢＡＣによるシンタックス要素のシーケンスを示す表である。
【図３】シンタックス要素のシーケンスに関するＣＡＢＡＣフレームワークのブロック・ダイアグラムである。
【図４】エンコーダおよびデコーダの例を示すブロック・ダイアグラムである。
【図５】電子デバイス上での高スループット２値化モードのための方法の一構成を示すフロー・ダイアグラムである。
【図６】高スループット２値化モードを用いて処理するエンコーダの一構成を示すフロー・ダイアグラムである。
【図７】復号側の電子デバイス上での高スループット２値化モードのための方法の一構成を示すフロー・ダイアグラムである。
【図８】高スループット２値化モードを用いて処理するデコーダの一構成を示すフロー・ダイアグラムである。
【図９】高スループット２値化モードにおいて入力値を決定するために用いるマッピング表を示す。
【図１０】高スループット２値化モードにおいて適応的２値化に用いる複数の２値化表を示す。
【図１１】ＣＡＢＡＣにおけるロスレス符号化モードによるシンタックス要素のシーケンスを示す表である。
【図１２】ロスレス符号化技術のためのエンコーダおよびデコーダの例を示すブロック・ダイアグラムである。
【図１３】電子デバイス上でのロスレス符号化のための方法の一構成を示すフロー・ダイアグラムである。
【図１４】図１３に示される構成によるシンタックス要素のシーケンスを示す表である。
【図１５】復号側の電子デバイス上でのロスレス復号のための方法の一構成を示すフロー・ダイアグラムである。
【図１６】電子デバイス上でのロスレス符号化のための方法の別の構成を示すフロー・ダイアグラムである。
【図１７】復号側の電子デバイス上でのロスレス符号化のための方法の別の構成を示すフロー・ダイアグラムである。
【図１８】電子デバイス上でのロスレス符号化のための方法のさらに別の構成を示すフロー・ダイアグラムである。
【図１９】復号側の電子デバイス上でのロスレス符号化のための方法のさらに別の構成を示すフロー・ダイアグラムである。
【図２０Ａ】高スループット２値化モード条件が満たされるかどうかを判定するためのエンコーダまたはデコーダの構成の例を示すフロー・ダイアグラムである。
【図２０Ｂ】高スループット２値化モード条件が満たされるかどうかを判定するためのエンコーダまたはデコーダの構成の例を示すフロー・ダイアグラムである。
【図２０Ｃ】高スループット２値化モード条件が満たされるかどうかを判定するためのエンコーダまたはデコーダの構成の例を示すフロー・ダイアグラムである。
【図２０Ｄ】高スループット２値化モード条件が満たされるかどうかを判定するためのエンコーダまたはデコーダの構成の例を示すフロー・ダイアグラムである。
【図２０Ｅ】高スループット２値化モード条件が満たされるかどうかを判定するためのエンコーダまたはデコーダの構成の例を示すフロー・ダイアグラムである。
【図２１】復号側の電子デバイス上で高スループット・モード条件が満たされるかどうかを判定するための方法の一構成を示すフロー・ダイアグラムである。
【図２２】復号側の電子デバイス上で高スループット・モード条件が満たされるかどうかを判定するための方法の別の構成を示すフロー・ダイアグラムである。
【図２３】エンコーダおよびデコーダの例を示すブロック・ダイアグラムである。
【図２４】復号側の電子デバイス上での高スループット有意性マップ復号のための方法の構成を示すフロー・ダイアグラムである。
【図２５】復号側の電子デバイス上での高スループット有意性マップ復号のための方法の別の構成を示すフロー・ダイアグラムである。
【図２６】復号側の電子デバイス上での復号バイパス機能による高スループット有意性マップ復号のための方法の構成を示すフロー・ダイアグラムである。
【図２７】復号側の電子デバイス上での復号法切り替え機能による高スループット有意性マップ復号のための方法の構成を示すフロー・ダイアグラムである。
【図２８】ＣＡＢＡＣにおけるロスレス符号化モードに従ってライスパラメータ（Ｒｉｃｅ  ｐａｒａｍｅｔｅｒ）をアップデートするために用いる表である。
【図２９】エンコーダおよびデコーダの例を示すブロック・ダイアグラムである。
【図３０】電子デバイス上での異なるパラメータ選択によるロスレス符号化のための方法の一構成を示すフロー・ダイアグラムである。
【図３１】復号側の電子デバイス上での異なるパラメータ選択によるロスレス符号化のための方法の一構成を示すフロー・ダイアグラムである。
【図３２】ＣＡＢＡＣに従って生成されるシンタックス要素の例である。
【図３３】エンコーダおよびデコーダの例を示すブロック・ダイアグラムである。
【図３４】電子デバイス上でのＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化のための方法の一構成を示すフロー・ダイアグラムである。
【図３５】復号側の電子デバイス上でのＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化のための方法の一構成を示すフロー・ダイアグラムである。
【図３６】図３４の構成に従って生成されたシンタックス要素の例である。
【図３７】削減されたライスパラメータ・アップデート表を例示する。
【図３８】復号側の電子デバイス上でのＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化のための方法の一構成を示すフロー・ダイアグラムである。
【図３９】復号側の電子デバイス上でのＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化のための方法の一構成を示すフロー・ダイアグラムである。
【図４０】復号側の電子デバイス上でのＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化のための方法の一構成を示すフロー・ダイアグラムである。
【発明を実施するための形態】
【００２８】
図４は、エンコーダおよびデコーダの例を示すブロック・ダイアグラムである。
【００２９】
システム４００は、デコーダ４１２によって復号されることになる符号化されたブロックを生成するためのエンコーダ４１１を含む。エンコーダ４１１およびデコーダ４１２は、ネットワークを通じて通信する。
【００３０】
エンコーダ４１１は、高スループット２値化モードを用いて符号化するように構成された電子デバイス４２１を含む。電子デバイス４２１は、プロセッサおよびプロセッサと電子通信を行うメモリを備え、メモリは、図５および６に示される操作を行うためにプロセッサによって実行可能な命令を記憶する。
【００３１】
デコーダ４１２は、高スループット２値化モードを用いて復号するように構成された電子デバイス４２２を含む。電子デバイス４２２は、プロセッサおよびプロセッサと電子通信を行うメモリを備え、メモリは、図７および８に示される操作を行うために実行可能な命令を記憶する。
【００３２】
図５は、電子デバイス上での高スループット２値化モードのための方法の一構成を示すフロー・ダイアグラムである。
【００３３】
ブロック５１１において、電子デバイス４２１は、変換および量子化された係数（ＴＱＣ）のブロックを取得する。菱形部５１２において、電子デバイス４２１は、高スループット２値化モード条件が満たされるかどうかを判定する。菱形部５１２で条件が満たされない場合には、ブロック５１３において、電子デバイス４２１は、（従来のＣＡＢＡＣ選択方式に従って）レギュラー符号化モードおよびバイパス符号化モードを選択的に用いることによってブロックを符号化する。
【００３４】
菱形部５１２で条件が満たされる場合には、ブロック５１４において、電子デバイス４２１は、ブロックを符号化するために高スループット２値化モードおよびバイパス符号化モードを用いる。電子デバイス４２１は、ブロック５１５において、生成されたビットストリームをネットワークを通じて送信する、および／または、生成されたビットストリームをメモリデバイスに記憶する。
【００３５】
ＨＴＢモードは、レベル値を符号化するためにバイパス符号化モードを用いる。レギュラー符号化モードとは対照的に、バイパス符号化モードは、入力ビンに関して一定の確率分布を仮定するので、計算コストが高いコンテキスト推定および確率アップデート段階は、バイパス符号化では省略される。
【００３６】
符号化のためにバイパス符号化モードを用いるのに加えて、ＨＴＢモードは、従来のＣＡＢＡＣと比較して、簡略化した正負符号付け構造を符号化に用いる。例えば、従来のＣＡＢＡＣは、Ｇｒｅａｔｅｒ＿ｔｈａｎ＿１、Ｇｒｅａｔｅｒ＿ｔｈａｎ＿２、正負情報、およびＡｂｓｏｌｕｔｅ−３を含む、符号化のための４つの副部分を必要とする。
【００３７】
図６は、高スループット２値化モードを用いて処理するエンコーダの一構成を示すフロー・ダイアグラムである。
【００３８】
ブロック６１２〜６１５は、ブロック５１４で行う操作をさらに詳細に示す。ブロック６１２において、電子デバイス４２１は、絶対値マイナス１関数を各非ゼロ値に適用し、かつ各非ゼロ値の正負をチェックすることによって、ＴＱＣのブロックからの任意の非ゼロ値に関して正負およびレベル情報を生成する。説明を容易にするために、本出願明細書の背景技術の部分からの１ＤアレイのＴＱＣの値［４，０，３，−３，２，１，０，−１，０，・・・］について考察する。絶対値マイナス１関数を各非ゼロ値に適用し、かつ各非ゼロ値の正負をチェックすると、次のように正負およびレベル情報の６つの組み合わせ、すなわち、＋３，＋２，−２，＋１，＋０および−０が生成される。
【００３９】
ブロック６１３において、電子デバイス４２１は、マッピング表を用いて、入力値を各生成された正負およびレベル情報の組み合わせへマッピングする。マッピング表の例は、図９に示される。図９は、ブロック６１２および６１３に従って入力値を決定するための数式も示す。
【００４０】
ブロック６１４において、電子デバイス４２１は、複数の２値化表、例えば、コンテキスト適応型可変長符号化（ＣＡＶＬＣ：Ｃｏｎｔｅｘｔ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）のＶＬＣ表を用いて、入力値の適応的２値化を行う。ＣＡＶＬＣのＶＬＣ表の例は、図１０に示される。図１０は、前の入力情報に基づいて２値化表をアップデートするための数式も示す。
【００４１】
一例において、ブロック６１４は、少なくとも第１の入力値を２値化するために列ＶＬＣ−Ｔａｂｌｅ−０（図１０）からの値を初めに用いることを含みうる。ＶＬＣ表番号は、前の値が所与の閾値、例えば３、５、１３、２７より大きいときに単調に増加してもよい。従って、第１の単調増加後に続く適応的２値化は、列ＶＬＣ−Ｔａｂｌｅ−１からの値を用い、第２の単調増加後に続く適応的２値化は、列ＶＬＣ−Ｔａｂｌｅ−２からの値を用いうるなどである。
【００４２】
ブロック６１５において、電子デバイス４２１は、ＣＡＢＡＣバイパス符号化モードを用いて、適応的２値化の結果として生じた値を符号化する。
【００４３】
≪高スループット２値化モード条件≫
一例において、画像データ・ブロックに対応する特性がプリセットされた閾値より大きい場合には、高スループット２値化モード条件が満たされ、例えば、電子デバイス４２１は、高スループット２値化モード・インジケータ、例えば、ＨＴＢモード・フラグを１の値に設定する（これは、もちろん、設計の志向に依存して、ＨＴＢモード・フラグのデフォルト値を変更するか、またはＨＴＢモード・フラグをデフォルト値のままにすることを含む）。
【００４４】
一例において、電子デバイス４２１は、符号化のビットレートがプリセットされた閾値より大きいかどうかを判定する。ビットレートがプリセットされた閾値より大きい場合には、高スループット２値化モード条件が満たされる。一例において、プリセットされたビットレート閾値は、ＱＰ１６に対応する。しかしながら、異なるＱＰ値に対応するプリセットされた閾値を用いてもよい。
【００４５】
一例において、高スループット２値化モード条件が満たされるかどうかの（電子デバイス４２１または電子デバイス４２２による）判定は、対応する画像データ・ブロックの（例えば、変換ユニットによって生成されるレベル値には限定されない）変換ユニットのレベルが、プリセットされた閾値より大きいかどうかに基づく。
【００４６】
一例において、高スループット２値化モード条件は、対応する画像データ・ブロックのゼロより大きいレベル値の数が、プリセットされた閾値、例えば、８より大きいときに満たすことができる。別の例において、高スループット２値化モード条件は、対応する画像データ・ブロックの第１のプリセットされた閾値より大きいレベル値の数が、第２のプリセットされた閾値より大きいときに満たされる。さらなる例において、高スループット２値化モード条件は、対応する画像データ・ブロックのレベル値が、プリセットされた値より大きいときに満たされる。
【００４７】
図２０Ａ〜Ｅは、すぐ前の２つの段落に記載される原理の少なくともいくつかに従って動作するシステムの例において、エンコーダまたはデコーダに用いる構成のいくつかの例を示す。図２０Ａは、示されるように、処理１６１１〜１６１６を示す。図２０Ｂは、示されるように、処理１７１１〜１７１６を示す。図２０Ｃは、処理１８０１〜１８０５および１８１４〜１８２０を示す。図２０Ｄは、処理１９０１〜１９０５および１９１４〜１９２０を示す。図２０Ｅでは、示されるように、図２０Ｃの処理が処理１８１６まで行われる。処理１８１６においてカウンタが閾値より大きい場合には、図２０Ｅに示されるように構成が続く。
【００４８】
一例において、高スループット２値化モード条件が満たされるかどうかの（電子デバイス４２１または電子デバイス４２２による）判定は、対応する画像データ・ブロックのスライス・レベルが、プリセットされた閾値より大きいかどうかに基づく。
【００４９】
≪高スループット２値化モード・インジケータ≫
一例において、電子デバイス４２１は、高スループット２値化インジケータを設定するように構成される。このインジケータの例は、ヘッダ、例えばスライスヘッダにおける、ＨＴＢモード・フラグである。高スループット２値化インジケータは、スライスヘッダに対応するブロック（単数または複数）に対して、図５に示される処理が実行されるか否かを判定するために用いられる。
【００５０】
一例において、ＨＴＢモード・フラグを「１」に設定すると、電子デバイス４２１は、ＨＴＢモード・フラグ値「１」の観測に応じて、スライスヘッダに対応するブロック（単数または複数）に対して図５のフローチャートに示される処理を行う。ＨＴＢモード・フラグを「０」に設定すると、電子デバイス４２１は、ＨＴＢモード・フラグ値「０」の観測に応じて、従来のＣＡＢＡＣ技術に従ってスライスヘッダに対応するブロック（単数または複数）を符号化する。
【００５１】
ＨＴＢモード・フラグ値は、復号のための電子デバイス４２２によっても観測される。一例において、電子デバイス４２２は、ＨＴＢモード・フラグ値「１」の観測に応じて、スライスヘッダに対応するブロック（単数または複数）に関して図７のフローチャートに示される処理に従って、ＨＴＢモード・フラグ値「１」を有するスライスヘッダに対応するブロック（単数または複数）を復号する。電子デバイス４２２は、ＨＴＢモード・フラグ値「０」の観測に応じて、従来のＣＡＢＡＣ技術に従って、ＨＴＢモード・フラグ値「０」を有するスライスヘッダに対応するブロック（単数または複数）を復号する。
【００５２】
図７は、復号側の電子デバイス上での高スループット２値化モードのための方法の一構成を示すフロー・ダイアグラムである。
【００５３】
ブロック７１０において、電子デバイス４２２は、ビットストリームを取得する。ブロック７１１において、電子デバイス４２２は、取得したビットストリームから２値シンボルを復元する。
【００５４】
菱形部７１２において、電子デバイス４２２は、高スループット２値化モード条件が満たされるかどうかを判定する。一例において、判定は、受信したビットストリームに対応する、スライスヘッダのような、ヘッダをチェックすることを含む。ヘッダのチェックは、取得したビットストリームに対応するスライスヘッダを高スループット２値化モード・インジケータの値に関してチェックすることをさらに備える。菱形部７１２で条件が満たされない場合には、ブロック７１３において、電子デバイス４２２は、レギュラー復号モードおよびバイパス符号化モードを選択的に用いることによって２値シンボルを復号する。
【００５５】
菱形部７１２で条件が満たされた場合には、ブロック７１４において、電子デバイス４２１は、２値シンボルを復号するために高スループット２値化モードおよびバイパス復号モードを用いる。電子デバイス４２２は、ブロック７１５において、取得したＴＱＣのブロックをメモリデバイスに記憶する、および／または、ビデオデータを復元する。
【００５６】
図８は、高スループット２値化モードを用いて処理するデコーダの一構成を示すフロー・ダイアグラムである。
【００５７】
ブロック８１２〜８１５は、ブロック７１４で行われる操作をさらに詳細に示す。ブロック８１２において、電子デバイス４２２は、符号化された２値シンボルをバイパス復号する。ブロック８１３において、電子デバイス４２２は、バイパス復号の結果をデバイナライズ（ｄｅ−ｂｉｎａｒｉｚｅ）する。ブロック８１４において、電子デバイス４２２は、マッピング表を用いて、デバイナリゼーション（ｄｅ−ｂｉｎａｒｉｚａｔｉｏｎ）によって復元された入力値を正負およびレベル情報へマッピングする。ブロック８１５において、電子デバイス４２２は、正負およびレベル情報を用いて、変換および量子化された係数（ＴＱＣ）のブロックを復号する。
【００５８】
一例において、プロセッサおよびプロセッサと電子通信を行うメモリを含んだ電子デバイスが提供される。メモリに記憶されるのは、操作を行うためにプロセッサによって実行可能な命令である。
【００５９】
一例において、操作は、変換および量子化された係数（ＴＱＣ）のブロックを取得することを含む。別の操作は、高スループット２値化モード条件が満たされるかどうかを判定することを含む。別の操作は、高スループット２値化モード条件が満たされるという判定に応じて、高スループット２値化モードを用いて第１のビットストリームを生成することを含む。別の操作は、高スループット２値化モード条件が満たされないという判定に応じて、第２のビットストリームを生成することを含む。また別の操作は、生成された第１または第２のビットストリームをデコーダへ送信することを含む。
【００６０】
一例において、高スループット２値化モードを用いた第１のビットストリームの生成は、追加の操作を含む。１つの操作は、絶対値マイナス１関数を各非ゼロ値に適用し、かつ各非ゼロ値の正負をチェックすることによって、ブロックからの任意の非ゼロ値に関して正負およびレベル情報を生成することを含む。別の操作は、マッピング表を用いて、入力値を各生成された正負およびレベル情報の組み合わせへマッピングすることを含む。別の操作は、複数の２値化表を用いて、マッピングした入力値の適応的２値化を行うことを含む。また別の操作は、適応的２値化の結果を符号化することを含む。
【００６１】
一例において、複数の２値化表は、ＣＡＶＬＣのＶＬＣ表を含む。適応的２値化の結果の符号化は、ＣＡＢＡＣバイパス符号化モードを利用する操作をさらに含む。
【００６２】
一例において、複数の２値化表を用いたマッピングした入力値の適応的２値化は、追加の操作を含む。１つの操作は、マッピングした入力値の１つがプリセットされた閾値より大きいかどうかを判定することを含む。別の操作は、前記マッピングした入力値がプリセットされた閾値より大きいという判定に応じて、表のアップデートを行うことを含む。一例において、表のアップデート選択は、一組の表からある表を選択することを備える。
【００６３】
一例において、第１のビットストリームの生成は、追加の操作を含む。１つの操作は、ＣＡＢＡＣによるレギュラー符号化モードおよびバイパス符号化モードを選択的に利用することによってブロックを符号化することを含む。別の操作は、バイパス符号化モードのみを利用して第１のビットストリームを生成することを含む。
【００６４】
一例において、高スループット２値化モード条件が満たされるかどうかの判定は、画像データ・ブロックに対応する特性がプリセットされた閾値より大きいかどうかに基づく。
【００６５】
一例において、高スループット２値化モード条件が満たされるかどうかの判定は、対応する画像データ・ブロックのスライス・レベルがプリセットされた閾値より大きいかどうかに基づく。
【００６６】
一例において、高スループット２値化モード条件が満たされるかどうかの判定は、対応する画像データ・ブロックの変換ユニットのレベルがプリセットされた閾値より大きいかどうかに基づく。
【００６７】
≪ＨＥＶＣにおけるＣＡＢＡＣのロスレス符号化技術≫
図１２は、ロスレス符号化技術のためのエンコーダおよびデコーダの例を示すブロック・ダイアグラムである。
【００６８】
システム１４００は、デコーダ１４１２によって復号されることになる符号化されたブロックを生成するためのエンコーダ１４１１を含む。エンコーダ１４１１およびデコーダ１４１２は、ネットワークを通じて通信する。
【００６９】
エンコーダ１４１１は、ＨＥＶＣにおけるＣＡＢＡＣのロスレス符号化技術を用いて符号化するように構成された電子デバイス１４２１を含む。電子デバイス１４２１は、プロセッサおよびプロセッサと電子通信を行うメモリを備え、メモリは、図１３、１６および１８に示される操作を行うためにプロセッサによって実行可能な命令を記憶する。
【００７０】
デコーダ１４１２は、ＨＥＶＣにおけるＣＡＢＡＣのロスレス符号化技術を用いて復号するように構成された電子デバイス１４２２を含む。電子デバイス１４２２は、プロセッサおよびプロセッサと電子通信を行うメモリを備え、メモリは、図１５、１７、および１９に示される操作を行うために実行可能な命令を記憶する。
【００７１】
図１３は、電子デバイス上でのロスレス符号化のための方法の一構成を示すフロー・ダイアグラムである。
【００７２】
ブロック９１１において、電子デバイス１４２１は、残差サンプルを表すブロックを取得する。一例において、ジグザグ・スキャン方向は、隣接画素間の空間的冗長性を除去するために用いるイントラ予測の方向に合うように再定義される。ロスレス・イントラ符号化モードには利用可能ないくつかのイントラ予測モードがある。一例において、垂直イントラ予測モードでは、上側の画素が現在の画素値の予測値になり、現在の値と予測値（垂直モードにおける上側の画素値）との間の差が残差サンプル値になる。コンテキストモデル選択は、イントラ予測の方向および対応するブロック・サイズにも依存する。
【００７３】
ブロック９１２において、電子デバイス１４２１は、シンタックス要素のシーケンスに用いるべき有意性マップを生成する。ブロック９１３において、電子デバイス１４２１は、ブロックの最後のスキャン位置に対応する有意性マップ・フィールドに、ブロックの最後の位置のレベルに対応する値を入力する。
【００７４】
ブロック９１４において、電子デバイス１４２１は、前記値を有する有意性マップを含んだシンタックス要素のシーケンスを生成する。シンタックス要素のシーケンスの生成は、従来のＣＡＢＡＣロスレス符号化モードの最後の位置を符号化するステップは除外する。
【００７５】
図１４は、図１３に示される構成によるシンタックス要素のシーケンスを示す表である。
【００７６】
図１４に示されるシンタックス要素のシーケンスを図１１に示されるシンタックス要素のシーケンスと対比することによって、いくつかの相違に気付くことができる。図１１に示されるシンタックス要素のシーケンスは、従来のＣＡＢＡＣロスレス符号化モードが最後の位置の符号化ステップを含むので、Ｌａｓｔ＿ｐｏｓｉｔｉｏｎ＿ＸフィールドおよびＬａｓｔ＿ｐｏｓｉｔｉｏｎ＿Ｙフィールドを含む。対照的に、図１４に示されるシンタックス要素のシーケンスは、図１４の構成が最後の位置の符号化ステップを省略するので、Ｌａｓｔ＿ｐｏｓｉｔｉｏｎ＿ＸフィールドおよびＬａｓｔ＿ｐｏｓｉｔｉｏｎ＿Ｙフィールドを含まない。
【００７７】
シンタックス要素の両方のシーケンスが有意性マップを含むが、有意性マップの間には相違がある。図１１のシンタックス要素のシーケンスの有意性マップでは、入力されたＬａｓｔ＿ｐｏｓｉｔｉｏｎ＿Ｘ／Ｌａｓｔ＿ｐｏｓｉｔｉｏｎ＿Ｙフィールドに対応すべき有意性マップ・フィールドは、入力されていない。対照的に、図１４では、ブロックの最後のスキャン位置に対応する有意性マップ・フィールドは、ブロックの最後の位置のレベルに対応する値、すなわちこのブロックの例では「０」が入力されている。
【００７８】
図１５は、復号側の電子デバイス上でのロスレス復号のための方法の一構成を示すフロー・ダイアグラムである。
【００７９】
ブロック１０１１において、電子デバイス１４２２は、ビットストリームから、ブロックの最後のスキャン位置に対応する値の数を含んだ有意性マップ・フィールドを有するシンタックス要素のシーケンスを復元する。ブロック１０１２において、電子デバイス１４２２は、有意性マップを用い、かつ有意性マップの前記値を用いて、ブロックのレベルを復号する。ブロック１０１３において、電子デバイス１４２２は、残差値に対応する取得したブロックをメモリデバイスに記憶する、および／または、ビデオデータを復元する。
【００８０】
図１６は、電子デバイス上でのロスレス符号化のための方法の別の構成を示すフロー・ダイアグラムである。
【００８１】
ブロック１１１１において、電子デバイス１４２１は、残差サンプルのブロックに関するレベル情報を表すシンタックス要素の列を取得する。ブロック１１１２において、電子デバイス１４２１は、複数の２値化表、例えば、ＣＡＶＬＣのＶＬＣ表（図１０）を用いて、シンタックス要素のシーケンスのＡｂｓｏｌｕｔｅ−３部分の値の適応的２値化を行い、シンタックス要素のシーケンスのＡｂｓｏｌｕｔｅ−３部分の値は、複数の２値化表のための入力値として用いる。前の入力情報に基づいて２値化表をアップデートするための式が以下に示される。
【００８２】
ｉｆ（‘ａｂｓ［ｃｏｅｆｆｉｃｉｅｎｔ（ｉ）］−３’＞（Ｔａｂｌｅ［ｖｌｃ］））ｖｌｃ＋＋；
ここで、Ｔａｂｌｅ［ｖｌｃ］＝｛３，５，１３，２７｝；
「ｉ」はスキャン位置を表し、「ｖｌｃ」は現在のｖｌｃ表番号を表す。
【００８３】
＊利用可能な前の「Ａｂｓｏｌｕｔｅ−３」が何もないので、ｖｌｃは最初にゼロ（またはイントラスライスでは１）に設定され、ｖｌｃが４に等しいときにｖｌｃ表のアップデートは停止される。
【００８４】
一例において、ブロック１１１１は、少なくとも第１の入力値を２値化するために、インタースライスでは列ＶＬＣ−Ｔａｂｌｅ−０（図１０）およびイントラスライスでは列ＶＬＣ−Ｔａｂｌｅ−１からの値を初めに用いることを含みうる。ＶＬＣ表番号は、前の値が所与の閾値、例えば３、５、１３、２７より大きいときに単調に増加してもよい。従って、第１の単調増加後に続く適応的２値化は、列ＶＬＣ−Ｔａｂｌｅ−１からの値を用い、第２の単調増加後に続く適応的２値化は、列ＶＬＣ−Ｔａｂｌｅ−２からの値を用いうるなどである。
【００８５】
ブロック１１１３において、電子デバイス１４２１は、ＣＡＢＡＣバイパス符号化モードを用いて、適応的２値化の結果として生じた値を符号化する。
【００８６】
図１７は、復号側の電子デバイス上でのロスレス符号化のための方法の別の構成を示すフロー・ダイアグラムである。
【００８７】
ブロック１２１１において、電子デバイス１４２２は、ビットストリームから２値シンボルを復元する。ブロック１２１２において、電子デバイス１４２２は、２値シンボルをバイパス復号する。ブロック１２１３において、電子デバイス１４２２は、バイパス復号の結果を適応的にデバイナライズする。ブロック１２１４において、電子デバイス１４２２は、適応的デバイナリゼーションの結果を用いて、残差情報を表すブロックを復元する。
【００８８】
図１８は、電子デバイス上でのロスレス符号化のための方法のさらに別の構成を示すフロー・ダイアグラムである。
【００８９】
ブロック１３１１において、電子デバイス１４２１は、ＣＡＢＡＣのコンテキストモデルのサブセットのみにアクセスする。ＣＡＢＡＣのコンテキストモデルの数は、１８４である。サブセットを生成するために、これらのコンテキストモデルは、コンテキストモデルの関連する特性に基づいて、例えば、どのコンテキストモデルが周波数成分と関連するかに基づいて、どのコンテキストモデルがスキャン位置と関連するかに基づいて、どのコンテキストモデルがＣＡＢＡＣの最後の位置の符号化ステップと関連するかに基づいてなど、またはそれらの任意の組み合わせに基づいてフィルタされる。フィルタリングは、一例において、電子デバイス１４２１によって行われるが、他の例では、電子デバイス１４２１がロスレス符号化モードのために供給されるサブセットにアクセスできるように、電子デバイス１４２１に対してサブセットが供給されてもよい。一例において、サブセットを生成するために、ＣＡＢＡＣのコンテキストモデルは、コンテキストモデルの関連する特性に基づいて、例えば、どのコンテキストモデルが周波数成分と関連するかに基づいて、どのコンテキストモデルがスキャン位置と関連するかに基づいて、どのコンテキストモデルがＣＡＢＡＣの最後の位置の符号化ステップと関連するかに基づいてなど、またはそれらの任意の組み合わせに基づいて分類される。一例において、周波数成分とスキャン位置とは等しく、交換可能である。
【００９０】
一例において、サブセットは、第１の周波数成分に等しくない周波数成分をもつＣＡＢＡＣコンテキストモデルは含まない。一例において、結果として生じるサブセットは、２６のコンテキストモデル、すなわち、有意性マップを符号化するための（一方は第１の輝度周波数成分に関し、他方は第１の色差周波数成分に関する）２つのコンテキストモデル、および、Ｇｒｅａｔｅｒ＿ｔｈａｎ＿１フラグの第１の輝度周波数成分を符号化するため、Ｇｒｅａｔｅｒ＿ｔｈａｎ＿１フラグの第１の色差周波数成分を符号化するため、輝度のＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグの第１の輝度周波数成分を符号化するため、およびＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグの第１の色差周波数成分を符号化するためのそれぞれ６つのコンテキストモデルを含むことになろう。延いては、Ｇｒｅａｔｅｒ＿ｔｈａｎ＿１およびＧｒｅａｔｅｒ＿ｔｈａｎ＿２のために合計２４のコンテキストモデルを用いる。一例において、前記第１の周波数成分は、ブロック１３１２において有意性マップを符号化するときにのみアクセスされる。
【００９１】
表（３）に示されるように、フラグの第１の輝度周波数を符号化するための６つのコンテキストモデルは、サブブロック・タイプおよびＬａｒｇｅｒＴ１値に依存し、ここで、ＬａｒｇｅｒＴ１値は、前のサブブロックにおける１より大きい係数レベル値の数である。一例において、用語「サブブロック」は、残差サンプル（またはブロックのＴＱＣへの）細分化を指す。例えば、４×４のサブブロック・サイズでは、８×８のサイズをもつ残差サンプルが４つの４×４のサブブロックに分割される。同様に、８×４のサブブロック・サイズでは、３２×８のサイズをもつ残差サンプルが８つの８×４のサブブロックに分割される。サブブロックは、符号化順によって特定され、サブブロック０が最初に符号化されるサブブロックを示す。一例において、最初に符号化されるサブブロックは、ブロックの右下に位置するサブブロックである。別の例では、最初に符号化されるサブブロックは、ブロックの中央に位置するサブブロックである。
【００９２】
【表３】
2015504256.tif 000005
【００９３】
ブロック１３１２において、電子デバイス１４２１は、有意性マップを符号化するためにコンテキストモデルのサブセットを用いる。
【００９４】
段落０１２２に記載されるように、第１の周波数成分（またはスキャン位置）に等しくない周波数成分（またはスキャン位置）をもつコンテキストモデルは、ロスレス符号化モードには用いない。これは、ロスレス符号化に関して計算複雑度およびメモリを削減する利益を有する。コンテキストモデルの第１のサブセットは、有意性マップの処理に用いる。コンテキストモデルの第２のサブセットは、レベルの符号化、例えば、Ｇｒｅａｔｅｒ_ｔｈａｎ＿１の符号化および／またはＧｒｅａｔｅｒ_ｔｈａｎ_２の符号化に用いる。第１のサブセットは、第２のサブセットと異なってもよい。
【００９５】
上記の原理の少なくともいくつかを適用する例において、有意性マップの処理に用いるコンテキストモデルの第１のサブセットは、１つのみのコンテキストモデルを備える。上記の原理の少なくともいくつかを適用する別の例では、有意性マップの処理に用いるコンテキストモデルの第１のサブセットは、色情報（輝度／色差）に基づく１つより多いコンテキストモデル、例えば、２つまたは３つのコンテキストモデルを備える。上記の原理の少なくともいくつかを適用するさらに別の例では、有意性マップの処理に用いるコンテキストモデルの第１のサブセットは、予測タイプ、例えば、ブロック内のフレーム内またはフレーム間予測の使用に基づく１つより多いコンテキストモデル、例えば、いくつかのコンテキストモデルを備える。上記の原理の少なくともいくつかを適用する別の例では、有意性マップの処理に用いるコンテキストモデルの第１のサブセットは、ブロック・サイズに基づく１つより多いコンテキストモデル、例えば、２つまたは３つのコンテキストモデルを備える。上記の原理の少なくともいくつかを適用する別の例では、有意性マップの処理に用いるコンテキストモデルの第１のサブセットは、サブブロック・タイプに基づく１つより多いコンテキストモデル、例えば、２つまたは３つのコンテキストモデルを備える。
【００９６】
上記の原理の少なくともいくつかを適用する例において、レベル符号化に用いるコンテキストモデルの第２のサブセットは、１つのみのコンテキストモデルを備える。上記の原理の少なくともいくつかを適用する別の例では、レベル符号化に用いるコンテキストモデルの第２のサブセットは、色情報（輝度／色差）に基づく１つより多いコンテキストモデル、例えば、２つまたは３つのコンテキストモデルを備える。上記の原理の少なくともいくつかを適用するさらに別の例では、レベル符号化に用いるコンテキストモデルの第２のサブセットは、ブロック予測タイプ、例えば、ブロック内のフレーム内またはフレーム間予測の使用に基づく１つより多いコンテキストモデル、例えば、いくつかのコンテキストモデルを備える。上記の原理の少なくともいくつかを適用する別の例では、レベル符号化に用いるコンテキストモデルの第１のサブセットは、ブロック・サイズに基づく１つより多いコンテキストモデル、例えば、２つまたは３つのコンテキストモデルを備える。上記の原理の少なくともいくつかを適用する別の例では、レベル符号化の処理に用いるコンテキストモデルの第１のサブセットは、サブブロック・タイプに基づく１つより多いコンテキストモデル、例えば、２つまたは３つのコンテキストモデルを備える。
【００９７】
図１９は、復号側の電子デバイス上でのロスレス符号化のための方法のさらに別の構成を示すフロー・ダイアグラムである。
【００９８】
ブロック１５１１において、電子デバイス１４２２は、ＣＡＢＡＣのコンテキストモデルのサブセットのみにアクセスする。ブロック１５１２において、電子デバイス１４２２は、コンテキストモデルのサブセットを用いてビットストリームから２値シンボルを復元する。ブロック１５１３において、電子デバイス１４２２は、復号の結果を用いてビデオデータを復元する。
【００９９】
以上では、電子デバイス１４２１によって実装される構成は、図１３、１６、および１８に示される。これらの構成のすべてを用いてエンコーダを構成すると、符号化性能は、既知のＣＡＢＡＣロスレス符号化モードに比べて向上する。しかしながら、これらの構成の一部を任意に組み合わせて、例えば、これらの構成の１つまたはこれらの構成の任意の２つを用いてエンコーダを構成しても、符号化性能は、可能かつ実用的であり、既知のＣＡＢＡＣロスレス符号化モードに比べて向上する。
【０１００】
以上では、電子デバイス１４２２によって実装される構成は、図１４、１７、および１９に示される。これらの構成のすべてを用いてデコーダを構成すると、符号化性能は、既知のＣＡＢＡＣロスレス符号化モードに比べて向上する。しかしながら、これらの構成の一部を任意に組み合わせて、例えば、これらの構成の１つまたはこれらの構成の任意の２つを用いてデコーダを構成しても、符号化性能は、可能かつ実用的であり、既知のＣＡＢＡＣロスレス符号化モードに比べて向上する。
【０１０１】
一例において、プロセッサおよびプロセッサと電子通信を行うメモリを含んだ電子デバイスが提供される。メモリに記憶されるのは、操作を行うためにプロセッサによって実行可能な命令である。
【０１０２】
一例において、操作は、ロスレス符号化のために残差サンプルを表すブロックを取得することを含む。別の操作は、有意性マップを生成することを含み、この生成は、ブロックの最後のスキャン位置に対応する有意性マップ・フィールドに、ブロックの最後位置のレベルに対応する値を入力することを含む。別の操作は、この値を有する有意性マップを含んだシンタックス要素のシーケンスを生成することを含む。また別の操作は、生成されたシンタックス要素のシーケンスを表すビットストリームをデコーダへ送信することを含む。
【０１０３】
一例において、シンタックス要素のシーケンスは、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ）の最後の位置を符号化するステップを行わずに生成される。
【０１０４】
一例において、別の操作は、複数の２値化表を用いて適応的２値化を行うことを含み、シンタックス要素のシーケンスのＡｂｓｏｌｕｔｅ−３部分の値は、複数の２値化表のための入力値として用いる。また別の操作は、適応的２値化の結果を符号化することを含む。複数の２値化表は、ＣＡＶＡＣのＶＬＣ表であってもよい。
【０１０５】
一例において、適応的２値化の結果の符号化は、追加の操作をさらに含む。追加の操作は、ＣＡＢＡＣバイパス符号化モードを利用することを含む。
【０１０６】
一例において、複数の２値化表を用いた入力値の適応的２値化は、追加の操作を含む。追加の操作は、入力値の１つがプリセットされた閾値より大きいかどうかを判定することを含む。追加の操作は、前記入力値がプリセットされた閾値より大きいという判定に応じて、表のアップデートを行うことを含む。
【０１０７】
一例において、別の操作は、ＣＡＢＡＣのコンテキストモデルのサブセットのみにアクセスすることを含む。別の操作は、有意性マップを符号化するためにコンテキストモデルのサブセットを用いることを含む。サブセットは、第１の周波数に等しくない周波数成分をもつＣＡＢＡＣのコンテキストモデルを備えてもよい。
【０１０８】
一例において、プロセッサおよびプロセッサと電子通信を行うメモリを含んだ電子デバイスが提供される。メモリに記憶されるのは、操作を行うためにプロセッサによって実行可能な命令である。
【０１０９】
一例において、操作は、ロスレス符号化のために残差サンプルを表すブロックを取得することを含む。別の操作は、ブロックを表すためにシンタックス要素のシーケンスを生成することを含む。別の操作は、複数の２値化表を用いて適応的２値化を行うことを含み、シンタックス要素のシーケンスのＡｂｓｏｌｕｔｅ−３部分の値は、複数の２値化表のための入力値として用いる。別の操作は、適応的２値化の結果を符号化することを含む。また別の操作は、符号化をデコーダへ送信することを含む。
【０１１０】
一例において、複数の２値化表は、ＣＡＶＬＣのＶＬＣ表である。
【０１１１】
一例において、適応的２値化の結果の符号化は、追加の操作を含む。追加の操作は、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ）バイパス符号化モードを利用することを含む。
【０１１２】
一例において、複数の２値化表を用いた入力値の適応的２値化は、追加の操作を含む。追加の操作は、入力値の１つがプリセットされた閾値より大きいかどうかを判定することを含む。追加の操作は、前記入力値がプリセットされた閾値より大きいという判定に応じて、表のアップデートを行うことを含む。
【０１１３】
一例において、別の操作は、有意性マップを生成することを含み、この生成は、ブロックの最後のスキャン位置に対応する有意性マップ・フィールドに、ブロックの最後のスキャン位置のレベルに対応する値を入力することを含む。別の操作は、生成された有意性マップを用いてシンタックス要素のシーケンスを生成することを含む。
【０１１４】
一例において、シンタックス要素のシーケンスは、ＣＡＢＡＣの最後の位置を符号化するステップを行なわずに生成される。
【０１１５】
一例において、方法が提供される。方法は、デコーダを用いて行われる。方法の１つの操作は、どのコンテキストモデルが周波数成分に関連するかに基づいて、コンテキスト適応型２値算術符号化（ＣＡＢＡＣ）のコンテキストモデルをフィルタすることを含む。方法の別の操作は、ビットストリームを取得することを含む。方法の別の操作は、ビットストリームから２値シンボルを復元することを含む。方法の別の操作は、フィルタされたコンテキストモデルを用いて２値シンボルを復号することを含む。方法のまた別の操作は、復号の結果を用いてビデオデータを復元することを含む。
【０１１６】
一例において、別の操作は、ビットストリームから、残差サンプルを表すブロックの最後のスキャン位置に対応する値が入力された有意性マップを有する、シンタックス要素のシーケンスを復元することを含む。別の操作は、有意性マップを用い、かつ有意性マップの前記値を用いて、ブロックのレベルを復号することを含む。
【０１１７】
一例において、ブロックのレベルの復号は、ＣＡＢＡＣの最後の位置を復号するステップを行わずに行われる。
【０１１８】
一例において、別の操作は、復元された２値シンボルをバイパス復号することを含む。別の操作は、バイパス復号の結果を適応的にデバイナライズすることを含む。別の操作は、デバイナリゼーションの結果を用いて残差情報を表すブロックを復元することを含む。
【０１１９】
一例において、別の操作は、適応的デバイナリゼーションのためにＣＡＶＬＣの複数のＶＬＣ表を用いることを含む。
【０１２０】
一例において、バイパス復号は、ＣＡＢＡＣバイパス復号モードを利用することを含む。
【０１２１】
図２１は、復号側の電子デバイス上で高スループット・モード条件が満たされるかどうかを判定するための方法の一構成を示すフロー・ダイアグラムである。
【０１２２】
ブロック２６１１において、電子デバイス４２２は、ビットストリームを取得する。ブロック２６１２において、電子デバイス４２２は、レベル値のブロックを取得する。一例において、ブロックは、ＴＱＣのブロックを備える。
【０１２３】
ブロック２６１３において、電子デバイス４２２は、ゼロに等しくないレベル値の数を決定する。菱形部２６１４において、電子デバイス４２２は、この数がプリセットされた閾値より大きいかどうかを判定する。一例において、プリセットされた閾値は８であり、これは４×４のブロックの値の数の半分である。Ｎ個のレベル値を有するブロック・サイズを用いた例では、閾値は、Ｎの５０％に相当する。一例において、電子デバイス４２２は、電子デバイス４２１からシグナリングを受信する。電子デバイス４２１によって送信されるシグナリングは、プリセットされた閾値を指定するか、またはプリセットされた閾値を決定するために電子デバイス４２１によって用いられる情報を含む。
【０１２４】
菱形部２６１４でこの数がプリセットされた閾値より大きくない場合には、ブロック２６１５において、電子デバイス４２２は、第１の２値化法を用いてゼロに等しくないレベル値を復号する。菱形部２６１４でこの数がプリセットされた閾値より大きい場合には、ブロック２６１６において、電子デバイス４２２は、第１の２値化法とは異なる第２の２値化法を用いてゼロに等しくないレベル値を復号する。一例において、第２の２値化法は、前述のＨＴＢモードのような、高スループット２値化モードを備える。一例において、第１の２値化法は、従来のＣＡＢＡＣの２値化を備える。
【０１２５】
図２２は、復号側の電子デバイス上で高スループット・モード条件が満たされるかどうかを判定するための方法の別の構成を示すフロー・ダイアグラムである。
【０１２６】
ブロック２７１１において、電子デバイス４２２は、ビットストリームを取得する。ブロック２７１２において、電子デバイス４２２は、レベル値のブロックを取得する。一例において、ブロックは、ＴＱＣのブロックを備える。
【０１２７】
ブロック２７１３において、電子デバイス４２２は、第１のプリセットされた閾値より大きい絶対値をもつレベル値の数を決定する。一例において、第１のプリセットされた閾値は、１または２のいずれかであるが、他の例では他の第１のプリセットされた閾値を用いてもよい。菱形部２７１４において、電子デバイス４２２は、この数が第２のプリセットされた閾値より大きいかどうかを判定する。一例において、第２のプリセットされた閾値は８であり、これは４×４のブロックの値の数の半分である。Ｎ個のレベル値を有するブロック・サイズを用いた例では、第２のプリセットされた閾値は、Ｎの５０％に相当する。
【０１２８】
一例において、電子デバイス４２２は、電子デバイス４２１からシグナリングを受信する。電子デバイス４２１によって送信されるシグナリングは、第１のプリセットされた閾値および／または第２のプリセットされた閾値を指定するか、または、第１のプリセットされた閾値および／または第２のプリセットされた閾値を決定するために電子デバイス４２１によって用いられる情報を含む。
【０１２９】
菱形部２７１４でこの数が第２のプリセットされた閾値より大きくない場合には、ブロック２７１５において、電子デバイス４２２は、第１の２値化法を用いてゼロに等しくないレベル値を復号する。菱形部２７１４でこの数がプリセットされた閾値より大きい場合には、ブロック２７１６において、電子デバイス４２２は、第１の２値化法とは異なる第２の２値化法を用いてゼロに等しくないレベル値を復号する。一例において、第２の２値化法は、高スループット・デバイナリゼーション・モード、かかる前述のＨＴＢモードを備える。一例において、第１の２値化法は、既知のＣＡＢＡＣ復号の２値化を備える。
【０１３０】
図２３は、エンコーダおよびデコーダの例を示すブロック・ダイアグラムである。
【０１３１】
システム２４００は、デコーダ２４１２によって復号されるべく符号化されたブロックを生成するためのエンコーダ２４１１を含む。エンコーダ２４１１およびデコーダ２４１２は、ネットワークを通じて通信する。
【０１３２】
デコーダ２４１２は、高スループット有意性マップ処理を用いて復号するように構成された電子デバイス２４２２を含む。電子デバイス２４２２は、プロセッサおよびプロセッサと電子通信を行うメモリを備え、メモリは、図２４〜２７に示される操作を行うために実行可能な命令を記憶する。
【０１３３】
エンコーダ２４１１は、プロセッサおよびプロセッサと電子通信を行うメモリを備える電子デバイス２４２１を含み、メモリは、図２４〜２７に示される構成の記載およびそれらに対応する記載から当業者によって理解されるであろう操作を行うためにプロセッサによって実行可能な命令を記憶する。
【０１３４】
図２４は、復号側の電子デバイス上での高スループット有意性マップ復号のための方法の構成を示すフロー・ダイアグラムである。
【０１３５】
ブロック２８０１において、電子デバイス２４２２は、ビットストリームを取得する。ブロック２８０２において、電子デバイス２４２２は、レベル値のブロックを取得する。一例において、ブロックは、ＴＱＣのブロックを備える。ブロック２８０３において、電子デバイス２４２２は、ブロックのレベル値、例えば、ブロックの第１のレベル値またはブロックの次のレベル値を取得する。
【０１３６】
菱形部２８０４において、電子デバイス２４２２は、取得したレベル値がブロックの最後のレベル値であるかどうかを判定する。菱形部２８０４で、取得したレベル値がブロックの最後のレベル値ではない場合には、電子デバイス２４２２は、菱形部２８１４へ進む。菱形部２８０４で、取得したレベル値が最後のレベル値である場合には、ブロック２８０５において、電子デバイス２４２２は、レベル値の大きさを復号する（これは、レベル値ごとに正負情報および絶対的な大きさの両方を決定することを含む）。
【０１３７】
再び菱形部２８１４を参照すると、電子デバイス２４２２は、第１の復号法を用いて、取得したレベル値がゼロでないかどうかを判定する。菱形部２８１４で、取得したレベル値がゼロでない場合には、電子デバイス２４２２は、ブロック２８１５へ進み、他の場合には、電子デバイス２４２２は、ブロック２８０３へ戻る。ブロック２８１５において、電子デバイス２４２２は、カウンタをインクリメントする。
【０１３８】
菱形部２８１６において、電子デバイス２４２２は、カウンタの現在のカウントがプリセットされた閾値より大きいかどうかを判定する。一例において、プリセットされた閾値は、図２１を参照して記載したプリセットされた閾値を含む。菱形部２８１６でカウンタの現在のカウントがプリセットされた閾値より大きい場合には、電子デバイス２４２２は、ブロック２８１７へ進む。他の場合には、電子デバイス２４２２は、ブロック２８０３へ戻る。
【０１３９】
ブロック２８１７において、電子デバイス２４２２は、ブロックの次のレベル値を取得する。菱形部２８１８において、電子デバイス２４２２は、取得したレベル値がブロックの最後のレベル値であるかどうかを判定する。菱形部２８１８で、取得したレベル値が最後のレベル値ではない場合には、電子デバイス２４２２は、ブロック２８１９へ進む。他の場合には、ブロック２８２０において、電子デバイス２４２２は、レベル値の大きさを復号する。
【０１４０】
ブロック２８１９において、電子デバイス２４２２は、第１の復号法とは異なる第２の復号法を用いて、取得したレベル値がゼロでないかどうかを判定する。一例において、第２の復号法は、高スループット復号法、バイパス復号法などを備える。一例において、第１の復号法は、ＣＡＢＡＣのレギュラー復号モードを備える。
【０１４１】
以上により、有意性マップは、要素ごとに、例えば、有意性マップ・フィールドごとに復号される。プリセットされた閾値に達したときに、電子デバイス２４２２は、残りの有意性マップ部分の復号を変更できる。残りの有意性マップ部分には高スループットまたはバイパス有意性マップ復号モードが用いられる。それゆえに、復号性能は、従来のＣＡＢＡＣ有意性マップ復号より向上する。
【０１４２】
図２５は、復号側の電子デバイス上での高スループット有意性マップ復号のための方法の別の構成を示すフロー・ダイアグラムである。
【０１４３】
図２５に示される方法では、示されるように、処理２８０１〜２８０５（図２４）と同様の処理２９０１〜２９０５が行われる。菱形部２９１４において、電子デバイス２４２２は、第１の復号法を用いて、取得したレベル値の絶対値が第１の閾値より大きいかどうかを判定する。一例において、第１の閾値は、１または２のいずれかであるが、他の例では他の第１の閾値を用いてもよい。菱形部２９１４で、取得したレベル値の絶対値が第１の閾値より大きい場合には、電子デバイス２４２２は、ブロック２９１５へ進む。他の場合には、電子デバイス２４２２は、ブロック２９０３へ戻る。ブロック２９１５において、電子デバイス２４２２は、カウンタをインクリメントする。
【０１４４】
菱形部２９１６において、電子デバイス２４２２は、カウンタの現在のカウントが第２のプリセットされた閾値より大きいかどうかを判定する。一例において、第２のプリセットされた閾値は８であり、これは４×４のブロックの値の数の半分である。Ｎ個のレベル値を有するブロック・サイズを用いた例では、第２のプリセットされた閾値は、Ｎの５０％に相当する。菱形部２９１６でカウンタの現在のカウントが第２の閾値より大きい場合には、電子デバイス２４２２は、ブロック２９１７へ進む。他の場合には、電子デバイス２４２２は、ブロック２９０３へ戻る。
【０１４５】
ブロック２９１７において、電子デバイス２４２２は、ブロックの次のレベル値を取得する。菱形部２９１８において、電子デバイス２４２２は、取得したレベル値がブロックの最後のレベル値であるかどうかを判定する。菱形部２９１８で、取得したレベル値がブロックの最後のレベル値ではない場合には、電子デバイス２４２２は、ブロック２９１９へ進む。他の場合には、ブロック２９２０において、電子デバイス２４２２は、レベル値の大きさを復号する。
【０１４６】
ブロック２９１９において、電子デバイス２４２２は、第１の復号法とは異なる第２の復号法を用いて、取得したレベル値の絶対値が第１の閾値より大きいかどうかを判定する。一例において、第２の復号法は、高スループット復号法、バイパス復号法などを備える。一例において、第１の復号法は、ＣＡＢＡＣのレギュラー復号モードを備える。
【０１４７】
以上により、有意性マップは、要素ごとに、例えば、有意性マップ・フィールドごとに復号される。プリセットされた閾値に達したときに、電子デバイス２４２２は、残りの有意性マップ部分の復号を変更できる。残りの有意性マップ部分には高スループットまたはバイパス有意性マップ復号モードが用いられる。それゆえに、復号性能は、従来のＣＡＢＡＣ有意性マップ復号より向上する。
【０１４８】
図２６は、復号側の電子デバイス上での復号バイパス機能による高スループット有意性マップ復号のための方法の構成を示すフロー・ダイアグラムである。
【０１４９】
図２６に示される方法では、示されるように、処理２８０１〜２８０４および２８１４〜２８１６（図２４）と同様の処理３００１〜３００４および３０１４〜３０１６が行われる。ブロック３００５において、電子デバイス２４２２は、第３の復号法、例えば、２値化法を用いて、レベル値の大きさを復元する。ブロック３０２０において、電子デバイス２４２２は、第３の復号法を用いて、レベル値の第１の部分の大きさを復元し、第４の復号法、例えば、異なる２値化法を用いて、レベル値の第２の部分の大きさを復元する。
【０１５０】
一例において、レベル値の第１の部分は、第１の復号法を用いて処理されるレベル値を含む。レベル値の第２の部分は、第１の復号法を用いて処理されないレベル値を含む。
【０１５１】
復号側の電子デバイス上での復号バイパス機能による高スループット有意性マップ復号のための方法の他の構成が、図２６に示される構成と同様に可能かつ実用的であることは明らかであろう。例えば、別の構成において、電子デバイス２４２２は、菱形部２９１４（図２５）に同様に、第１の復号法を用いて、取得したレベル値の絶対値が第１のプリセットされた閾値より大きいかどうかを判定する。さらに、電子デバイス２４２２は、菱形部２９１６（図２５）と同様に、カウンタが第２のプリセットされた閾値より大きいかどうかを判定する。
【０１５２】
以上により、有意性マップは、要素ごとに、例えば、有意性マップ・フィールドごとに復号される。プリセットされた閾値に達したときに、電子デバイス２４２２は、有意性マップの復号を停止する（有意性マップの残りの要素は復号されない）。その後、復号された要素に対応するレベル値は、２値化法（例えば、ゼロの値を送ることができる２値化法）を用いて処理され、一方で、残りの要素は、異なる２値化法（例えば、ゼロの値を送ることができない２値化法）を用いて処理される。それゆえに、復号性能は、従来のＣＡＢＡＣ有意性マップ復号より向上する。
【０１５３】
図２７は、復号側の電子デバイス上での復号法切り替え機能による高スループットモード有意性マップ復号のための方法の構成を示すフロー・ダイアグラムである。
【０１５４】
図２７に示される方法では、示されるように、処理２８０１〜２８０４および２８１４〜２８１９（図２４）と同様の処理３８０１〜３８０４および３８１４〜３８１９が行われる。ブロック３８０５において、電子デバイス２４２２は、第３の復号法（図２６の第３の復号法）を用いてレベル値の大きさを復元する。ブロック３８２０において、電子デバイス２４２２は、第３の復号法を用いてレベル値の第１の部分の大きさを復元し、第４の復号法（図２６の第４の復号法）を用いてレベル値の第２の部分の大きさを復元する。一例において、レベル値の第１の部分は、ブロック３８０３において取得したレベル値を含み、一方で、レベル値の第２の部分は、ブロック３８１７において取得したレベル値を含む。
【０１５５】
復号側の電子デバイス上での復号バイパス機能による高スループット有意性マップ復号のための方法の他の構成が、図２７に示される構成と同様に可能かつ実用的であることは明らかであろう。例えば、別の構成において、電子デバイス２４２２は、菱形部２９１４（図２５）と同様に、第１の復号法を用いて、取得したレベル値の絶対値が第１のプリセットされた閾値より大きいかどうかを判定する。さらに、電子デバイス２４２２は、菱形部２９１６（図２５）と同様に、カウンタが第２のプリセットされた閾値より大きいかどうかを判定する。
【０１５６】
一例において、プロセッサおよびプロセッサと電子通信を行うメモリを含んだ第１の電子デバイスが提供される。メモリに記憶されるのは、操作を行うためにプロセッサによって実行可能な命令である。
【０１５７】
一例において、操作は、ビットストリームを受信することを含む。別の操作は、受信したビットストリームに基づいてレベル値のブロックを取得することを含む。別の操作は、閾値に従ってレベル値の一部分を特定することを含む。別の操作は、その一部分を特定した後に、高スループット有意性マップ処理モードを用いてレベル値のすべての残りの値を処理することを含む。別の操作は、この処理に基づいてビデオデータを復元することを含む。
【０１５８】
一例において、プロセッサおよびプロセッサと電子通信を行うメモリを含んだ第２の電子デバイスが提供される。メモリに記憶されるのは、操作を行うためにプロセッサによって実行可能な命令である。操作は、第１の電子デバイスへシグナリングを送信することを含み、シグナリングは、閾値を特定する。
【０１５９】
以上により、有意性マップは、要素ごとに、例えば、有意性マップ・フィールドごとに復号される。プリセットされた閾値に達したときに、電子デバイス２４２２は、有意性マップの復号を停止する（有意性マップの残りの要素は復号されない）。その後、復号された要素に対応するレベル値は、２値化法（例えば、ゼロの値を送ることができる２値化法）を用いて処理され、一方で、残りの要素は、異なる２値化法（例えば、ゼロの値を送ることができない２値化法）を用いて処理される。それゆえに、復号性能は、従来のＣＡＢＡＣ有意性マップ復号より向上する。
【０１６０】
≪ＨＥＶＣにおけるＣＡＢＡＣの異なるパラメータ選択技術によるロスレス符号化≫
ＨＥＶＣにおけるＣＡＢＡＣ符号化をロスレス符号化モードで利用するときに、符号化／復号は、計算が複雑である。計算複雑度の１つの理由は、シンタックス要素「Ａｂｓｏｌｕｔｅ−３」を符号化することにある。既知のＣＡＢＡＣ符号化では、シンタックス要素を符号化するために指数ゴロムライス（Ｅｘｐｏｎｅｎｔｉａｌ−Ｇｏｌｏｍｂ−Ｒｉｃｅ）符号化法を用いる。
【０１６１】
背景として、指数ゴロムライス（Ｇ−Ｒ）符号化法は、図２８に示されるライスパラメータ・アップデート表を利用する。Ｇ−Ｒ符号化法は、次の段落でさらに詳細に説明されるように、ＣＡＢＡＣの既知のロスレス符号化モードにおいてシンタックス要素「Ａｂｓｏｌｕｔｅ−３」（すなわち、図２の表の最終行）を符号化するために適用される。
【０１６２】
ライスパラメータは、シンボルのビンへの変換を制御する。例によって説明するために、図２８の表およびＧ−Ｒ符号化を用いてシンボル０，１１，４．．．を変換することを考える。ここで「０」（第１のシンボル）は、サブブロックにおける最初のシンボルである。第１のシンボルがサブブロックにおける最初のシンボルなので、最初のシンボルに関してライスパラメータはゼロに初期化される。最初のシンボル「０」は、現在のライスパラメータのゼロを用いて符号化される。一例において、ライスパラメータＲＰを用いたシンボルの符号化処理は、Ｑｕｏｔｉｅｎｔ＝ｆｌｏｏｒ（（ｓｙｍｂｏｌ−１）／ＲＰ）の値を算出して、１に等しいビンに続く０に等しいビンのＱｕｏｔｉｅｎｔ列を含んだ出力を生成することからなる。ここで、Ｑｕｏｔｉｅｎｔ（商）は、整数であり、ｆｌｏｏｒ（）は、整数および分数成分を含んだ値を整数成分へマッピングする演算である。説明のために、ライスパラメータ３を用いてシンボル「５」を符号化すると、Ｑｕｏｔｉｅｎｔ値１および出力ビン「０１」を生じるであろう。同様に、ライスパラメータ３３を用いてシンボル「１００」を符号化すると、Ｑｕｏｔｉｅｎｔ値３および出力ビン「０００１」を生じるであろう。代わりの例では、ライスパラメータＲＰを用いたシンボルの符号化処理は、Ｑｕｏｔｉｅｎｔ＝ｆｌｏｏｒ（（ｓｙｍｂｏｌ−１）／ＲＰ）の値を算出して、０に等しいビンに続く１に等しいビンのＱｕｏｔｉｅｎｔ列を含んだ出力を生成することからなる。さらに別の例では、ライスパラメータＲＰを用いたシンボル符号化処理は、一組のルックアップ表からシンボルとビンのシーケンスとの間のマッピングを定義するＲＰ番目のルックアップ表を選択することから成る。図２８の表によるルックアップ結果がゼロであれば、ライスパラメータは、次のシンボルに関してアップデートしない。従って、第２のシンボル「１１」は、現在のライスパラメータのゼロを用いて符号化される。第２のシンボル「１１」に関するルックアップ結果（「２」）およびライスパラメータ「０」が現在のライスパラメータ値（すなわち、ゼロ）と異なれば、ライスパラメータは、ゼロから２へアップデートされる。従って、第３のシンボル「４」は、現在のライスパラメータ２を用いて符号化される。ルックアップ結果が現在のライスパラメータと異なる値でなければ、次のシンボルにはライスパラメータ２を用いる。
【０１６３】
既知のＣＡＢＡＣに従って「Ａｂｓｏｌｕｔｅ−３」値をＧ−Ｒ符号化する計算は複雑なので、符号化／復号は、かなりの処理リソース量を消費するか、および／または、終了までにかなり時間がかかる。以下の開示は、この問題および他の問題を解決する。
【０１６４】
図２９は、エンコーダおよびデコーダの例を示すブロック・ダイアグラムである。
【０１６５】
システム２９００は、デコーダ２９１２によって復号されることになる符号化されたブロックを生成するためのエンコーダ２９１１を含む。エンコーダ２９１１およびデコーダ２９１２は、ネットワークを通じて通信する。
【０１６６】
エンコーダ２９１１は、ＨＥＶＣにおけるＣＡＢＡＣの異なるパラメータ選択によるロスレス符号化を用いて符号化するように構成された電子デバイス２９２１を含む。電子デバイス２９２１は、プロセッサおよびプロセッサと電子通信を行うメモリを備え、メモリは、図３０に示される操作を行うためにプロセッサによって実行可能な命令を記憶する。
【０１６７】
デコーダ２９１２は、ＨＥＶＣにおけるＣＡＢＡＣの異なるパラメータ選択によるロスレス符号化を用いて復号するように構成された電子デバイス２９２２を含む。電子デバイス２９２２は、プロセッサおよびプロセッサと電子通信を行うメモリを備え、メモリは、図３１に示される操作を行うために実行可能な命令を記憶する。
【０１６８】
図３０は、電子デバイス上での異なるパラメータ選択によるロスレス符号化のための方法の一構成を示すフロー・ダイアグラムである。
【０１６９】
ブロック３０１１において、電子デバイス２９２１は、算術に基づくエンコーダ、例えば、ＣＡＢＡＣに基づくエンコーダを用いて符号化すべきデータのブロックを取得する。菱形部３０１２において、電子デバイス２９２１は、ブロックをロスレス符号化を用いて符号化すべきかどうかを判定する。ブロックをロスレス符号化を用いて符号化すべきでない場合には、ブロック３０１３において、電子デバイス２９２１は、データのブロックを符号化するために第１のＡｂｓｏｌｕｔｅ−３符号化技術を用いる。
【０１７０】
ブロックをロスレス符号化を用いて符号化すべきである場合には、ブロック３０１４において、電子デバイス２９２１は、データのブロックを符号化するために第２の異なるＡｂｓｏｌｕｔｅ−３符号化技術を用いる。ブロック３０１５において、電子デバイス２９２１は、生成されたビットストリームをネットワークを通じて送信するか、および／または、生成されたビットストリームをメモリデバイスに記憶する。
【０１７１】
一例において、第１のＡｂｓｏｌｕｔｅ−３符号化技術は、ＣＡＢＡＣ符号化のＲ−Ｇ符号化技術を備える、すなわち、ライスパラメータは、各サブブロック符号化段階においてゼロに初期化し、図２８に示される表の５つのライスパラメータが考慮される。一例において、第２の異なるＡｂｓｏｌｕｔｅ−３符号化技術は、各サブブロック符号化段階においてゼロで初期化しない、すなわち、別様に初期化するか、および／または、異なるライスパラメータ・アップデート表、例えば、縮小されたライスパラメータ・アップデート表を用いる。
【０１７２】
一例において、異なる初期化は、ライスパラメータを各サブブロックではなく各ブロックにおいてゼロに初期化することを備える。一例において、異なる初期化は、現在のサブブロックの最初のライスパラメータとして、前のサブブロックに用いた最後のライスパラメータを用いることを備える。
【０１７３】
一例において、異なる初期化は、残差サンプルの統計データに基づいて初期化することを備える。一例において、異なる初期化は、ブロック・タイプ、ブロック・サイズ、または色情報（輝度／色差）など、あるいはそれらの任意の組み合わせに基づいて、予め定義されたライスパラメータ値に初期化することを備える。ブロック・タイプは、ブロックのブロック・サイズ、ブロックの予測情報（イントラ／インター）、およびブロックの色情報（輝度／色差）に基づいてブロックを表すための値である。一例において、異なる初期化は、現在のブロック・タイプが、ある予め定義された値（単数または複数）、例えば「２」および／または「５」に等しいときに、ライスパラメータを予め定義された値「１」に初期化することを備える。
【０１７４】
一例において、異なるライスパラメータ・アップデート表は、第１のＡｂｓｏｌｕｔｅ−３符号化技術に用いるライスパラメータ・アップデート表より少ないライスパラメータを含む。一例において、異なるライスパラメータ・アップデート表は、（ライスパラメータが「０」および「１」に等しい）最初の２つの場合のみを含む。かかるライスパラメータ・アップデート表の実例は、図３７に含まれる。
【０１７５】
一例において、第２の異なるＡｂｓｏｌｕｔｅ−３符号化技術を用いる場合には、電子デバイス２９２１は、対応するインジケータ、例えば、第２の異なるＡｂｓｏｌｕｔｅ−３符号化技術に関連するフラグを１の値に設定する（これは、もちろん、設計の志向に依存して、前記フラグのデフォルト値を変更するか、または前記フラグをデフォルト値のままにすることを含む）。
【０１７６】
図３１は、復号側の電子デバイス上での異なるパラメータ選択によるロスレス符号化のための方法の一構成を示すフロー・ダイアグラムである。
【０１７７】
ブロック３１１０において、電子デバイス２９２２は、ビットストリームを取得する。ブロック３１１１において、電子デバイス２９２２は、取得したビットストリームから２値シンボルを復元する。
【０１７８】
菱形部３１１２において、電子デバイス２９２２は、２値シンボルをロスレス復号を用いて復号すべきかどうかを判定する。一例において、判定は、受信したビットストリームに対応する、スライスヘッダのような、ヘッダをチェックすることを含む。ヘッダのチェックは、取得したビットストリームに対応するスライスヘッダを、第２の異なるＡｂｓｏｌｕｔｅ−３符号化技術に関連するフラグの値に関してチェックすることをさらに備える。別の例では、判定は、ブロック・タイプまたは係数レベルのＴＱＣへの変換を制御する量子化パラメータのような、ブロックに関連する既に復号されたシンボルをチェックすることを含む。菱形部３１１２で条件が満たされない場合には、ブロック３１１３において、電子デバイス２９２２は、ＴＱＣのブロックを取得するために第１のＡｂｓｏｌｕｔｅ−３符号化技術を用いる。
【０１７９】
菱形部３１１２で条件が満たされた場合には、ブロック３１１４において、電子デバイス２９２１は、残差サンプルを取得するために第２の異なるＡｂｓｏｌｕｔｅ−３符号化技術を用いる。電子デバイス２９２２は、ブロック３１１５において、取得したＴＱＣのブロックまたは取得した残差サンプルをメモリデバイスに記憶するか、および／または、ビデオデータを復元する。
【０１８０】
≪ＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化≫
ＨＥＶＣにおけるＣＡＢＡＣ符号化を利用するときに、スループット性能は、以下には限定されないが、ビン／画素の総数、バイパス・ビン／画素数、およびレギュラー（またはコンテキスト）符号化されるビン／画素数のような、様々な因子に依存して異なりうる。このため、これらの因子に依存して、符号化は、かなりの処理リソース量を消費するか、および／または、かなり時間がかかる。以下の開示は、この問題および他の問題を解決する。
【０１８１】
背景として、既知のＣＡＢＡＣによれば、シンタックス要素の２５個までのレベル符号フラグ（ｌｅｖｅｌ  ｃｏｄｅ  ｆｌａｇ）がコンテキスト符号化される。残りのレベル符号フラグは、バイパス符号化される。予め定義された（一定）数のＧｒｅａｔｅｒ＿ｔｈａｎ＿１フラグ、すなわち８つのＧｒｅａｔｅｒ＿ｔｈａｎ＿１フラグがコンテキスト符号化される。予め定義された（一定）数のＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグ、すなわち１つがコンテキスト符号化される。有意性マップ・フラグのすべて、すなわち１６個までがコンテキスト符号化される（シンタックス要素は、ブロックの最後の位置情報に依存して１６個未満の有意性マップ・フラグを有することもある）。それゆえに、所与のサブセット・ブロック（２５ビン／１６画素＝１．５６ビン／画素）に対して最大２５個のコンテキスト符号化されたビンが必要とされる。上記の例は、４×４のサブブロックを用いるときである。
【０１８２】
図３４は、電子デバイス上でのＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化のための方法の一構成を示すフロー・ダイアグラムである。
【０１８３】
ブロック３４１１において、電子デバイス３３２１は、算術に基づくエンコーダ、例えば、ＣＡＢＡＣに基づくエンコーダを用いて符号化すべきデータのブロックを取得する。ブロック３４１２において、電子デバイス３３２１は、シンタックス要素の第１の量のレベル符号フラグ、例えば、ＣＡＢＡＣシンタックス要素のＧｒｅａｔｅｒ＿ｔｈａｎ＿１およびＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグをコンテキスト符号化する。第１の量は、第１の予め定義された数を含み、例えば９、すなわち、８つのＧｒｅａｔｅｒ＿ｔｈａｎ＿１フラグおよび１つのＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグを備える。
【０１８４】
ブロック３４１３において、電子デバイス３３２１は、シンタックス要素の有意性マップにおいて実際に符号化されたビンの数を特定する。ブロック３４１４において、電子デバイス３３２１は、第２の予め定義された数、例えば、ＣＡＢＡＣでは１６と、特定された数との差を決定する。ブロック３４１５において、電子デバイス３３２１は、第２の量のレベル符号フラグをコンテキスト符号化し、第２の量は、決定された差を含む。ブロック３４１６において、電子デバイス３３２１は、生成されたビットストリームをネットワークを通じて送信するか、および／または、生成されたビットストリームをメモリデバイスに記憶する。
【０１８５】
一例において、図３４に示される構成を用いる場合には、電子デバイス３３２１は、対応するインジケータ、例えばフラグを１の値に設定する（これは、もちろん、設計の志向に依存して、フラグのデフォルト値を変更するか、または、フラグをデフォルト値のままにすることを含む）。一例において、インジケータは、コンテキスト符号化される追加のＧｒｅａｔｅｒ＿ｔｈａｎ＿１および／またはＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグの数を特定する。
【０１８６】
上記の構成に従って生成されたシンタックス要素の例は、図３６に示される。この例において、例示のシンタックス要素の有意性マップにおいて実際に符号化されるビンの数は１２である。１６と１２との間で決定される差は４である。コンテキスト符号化されるレベル符号フラグの第１の量は、９（８つのＧｒｅａｔｅｒ＿ｔｈａｎ＿１フラグおよび１つのＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグ）である。コンテキスト符号化されるレベル符号フラグの第２の量は、４である。この特定の例において、これらの４つは、すべてＧｒｅａｔｅｒ＿ｔｈａｎ＿１フラグであるが、他の例では、これらの４つは、１つ以上のＧｒｅａｔｅｒ＿ｔｈａｎ＿１フラグおよび１つ以上のＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグ、または４つのＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグを含んでもよい。残りのレベル符号フラグは、バイパス符号化される。
【０１８７】
図３５は、復号側の電子デバイス上でのＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化のための方法の一構成を示すフロー・ダイアグラムである。
【０１８８】
ブロック３５１０において、電子デバイス３３２２は、ビットストリームを取得する。ブロック３５１１において、電子デバイス３３２２は、取得したビットストリームから２値シンボルを復元する。
【０１８９】
ブロック３５１２において、電子デバイス３３２２は、シンタックス要素の第１の量のレベル符号フラグ、例えば、ＣＡＢＡＣシンタックス要素のＧｒｅａｔｅｒ＿ｔｈａｎ＿１およびＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグをコンテキスト復号し、第１の量は、第１の予め定義された数に等しく、例えば９、すなわち、８つのＧｒｅａｔｅｒ＿ｔｈａｎ＿１フラグおよび１つのＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグに等しい。菱形部３５１３において、電子デバイス３３２２は、シンタックス要素の追加のレベル符号フラグがコンテキスト符号化されているかどうかを判定する。一例において、判定は、受信したビットストリームに対応する、スライスヘッダのような、ヘッダをチェックすることを含む。ヘッダのチェックは、取得したビットストリームに対応するスライスヘッダをインジケータ、例えばフラグ、の値に関してチェックすることをさらに備える。菱形部３５１３で電子デバイス３３２２が追加のレベル符号フラグはコンテキスト符号化されていないと判定した場合には、ブロック３５１４において、電子デバイス３３２２は、シンタックス要素の残りのレベル符号フラグをバイパス復号する。
【０１９０】
菱形部３５１３で電子デバイス３３２２が追加のレベル符号フラグがコンテキスト符号化されていると判定した場合には、ブロック３５１５において、電子デバイス３３２２は、シンタックス要素の第２の量のレベル符号フラグをコンテキスト復号する。一例において、電子デバイス３３２２は、スライスヘッダからの情報に基づいて、コンテキスト符号化された追加のＧｒｅａｔｅｒ＿ｔｈａｎ＿１および／またはＧｒｅａｔｅｒ＿ｔｈａｎ＿２フラグの数を特定する。ブロック３５１４において、電子デバイス３３２２は、残っているどのレベル符号フラグもバイパス復号する。ブロック３５１６において、電子デバイス３３２２は、取得したＴＱＣのブロックまたは取得した残差サンプルをメモリデバイスに記憶するか、および／または、ビデオデータを復元する。
【０１９１】
図３８は、復号側の電子デバイス上でのＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化のための方法の一構成を示すフロー・ダイアグラムである。
【０１９２】
ブロック３８５０において、電子デバイス３３２２は、ビットストリームを取得する。ブロック３８５１において、電子デバイス３３２２は、取得したビットストリームからレベル値のブロックを取得する。
【０１９３】
ブロック３８５３において、電子デバイス３３２２は、ブロックの最後の有意係数の位置を決定する。ブロック３８５４において、電子デバイス３３２２は、取得したブロックから有意係数をコンテキスト復号し、決定した位置に応じて、コンテキスト復号すべきシンボルの最大数を決定する。
【０１９４】
ブロック３８５５において、電子デバイス３３２２は、カウンタをリセットし、例えば、カウンタをゼロに設定する。菱形部３８５６において、電子デバイス３３２２は、復号すべきレベル符号フラグが残っているかどうかを判定する。菱形部３８５６でレベル符号フラグが何も残っていない場合には、ブロック３８５７において、電子デバイス３３２２は、取得したＴＱＣのブロックまたは取得した残差サンプルをメモリデバイスに記憶するか、および／または、ビデオデータを復元する。
【０１９５】
レベル符号フラグが残っている場合には（菱形部３８５６）、菱形部３８５８において、電子デバイス３３２２は、カウンタが閾値より大きいかどうかを判定する。一例において、閾値は、決定した最大値と関連付けられる。一例において、閾値は、決定した最大値とブロックの有意性マップ・フラグの数との差に対応する。菱形部３８５８でカウンタが閾値より大きい場合には、ブロック３８５９において、電子デバイス３３２２は、レベル符号フラグをバイパス復号する。菱形部３８５８でカウンタが閾値より大きくない場合には、ブロック３８６０において、電子デバイス３３２２は、レベル符号フラグをコンテキスト復号する。電子デバイス３３２２は、ブロック３８６１において、カウンタをインクリメントする。
【０１９６】
図３９は、復号側の電子デバイス上でのＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化のための方法の一構成を示すフロー・ダイアグラムである。
【０１９７】
ブロック３９５０において、電子デバイス３３２２は、ビットストリームを取得する。ブロック３９５１において、電子デバイス３３２２は、取得したビットストリームからレベル値のブロックを取得する。
【０１９８】
ブロック３９５３において、電子デバイス３３２２は、最後の有意係数の位置を決定する。ブロック３９５４において、電子デバイス３３２２は、取得したブロックから有意係数をコンテキスト復号し、決定した位置およびサブブロックの位置に応じて、コンテキスト復号すべきシンボルの最大数を決定する。処理３９５５〜３９６１は、処理３８５５〜３８６１に対応する。
【０１９９】
図４０は、復号側の電子デバイス上でのＨＥＶＣにおけるＣＡＢＡＣの高スループット符号化のための方法の一構成を示すフロー・ダイアグラムである。
【０２００】
ブロック４０５０において、電子デバイス３３２２は、ビットストリームを取得する。ブロック４０５１において、電子デバイス３３２２は、取得したビットストリームからレベル値のブロックを取得する。
【０２０１】
ブロック４０５３において、電子デバイス３３２２は、最後の有意係数の位置を決定する。ブロック４０５４において、電子デバイス３３２２は、取得したブロックから有意係数をコンテキスト復号し、ブロックの特性、例えば、ブロックの有意係数の数に応じて、コンテキスト復号すべきシンボルの最大数を決定する。処理４０５５〜４０６１は、処理３８５５〜３８６１に対応する。
【０２０２】
一例において、システムが提供される。システムは、電子デバイスを備え、電子デバイスは、ビットストリームからレベル値のブロックを取得し；ブロックのレベル符号フラグをコンテキスト復号し；ブロックの次のレベル符号フラグがあるかどうかをチェックし；次のレベル符号フラグがある場合には、コンテキスト符号化されたレベル符号フラグのカウントが閾値より大きいかどうかを判定し；カウントが閾値より大きくないという判定に応じて、次のレベル符号フラグをバイパス復号し；カウントが閾値より大きいという判定に応じて、次のレベル符号フラグをコンテキスト復号し；復号されたレベル符号フラグを用いてＴＱＣのブロックまたは残差サンプルを復元し；復元されたブロックをメモリデバイスに記憶するように、および／または、ビデオデータを復元するように構成される。
【０２０３】
電子デバイスは、次のレベル符号フラグのコンテキスト符号化に応じてカウントをインクリメントするように構成される。電子デバイスは、ブロックのすべてのレベル符号フラグが復号されるまで、チェック、判定、復号、およびインクリメントを繰り返すように構成される。電子デバイスは、第１のレベル符号フラグのコンテキスト符号化に応じてカウントをインクリメントするように構成される。
【０２０４】
電子デバイスは、ブロックの最後の有意係数の位置を決定し；ブロックの特性に少なくとも部分的に基づいて、コンテキスト復号すべきシンボルの最大数を決定するように構成される。電子デバイスは、最大数決定の結果に従って閾値を設定するように構成される。
【０２０５】
電子デバイスは、ブロックの最後の有意係数の位置を決定し；決定した位置に少なくとも部分的に基づいて、コンテキスト復号すべきシンボルの最大数を決定するように構成される。電子デバイスは、決定した位置に少なくとも部分的に基づき、サブブロックの位置に少なくとも部分的に基づいて、コンテキスト復号すべきシンボルの最大数を決定するように構成される。
【０２０６】
電子デバイスは、ブロックと関連するシンタックス要素の第１の量のレベル符号フラグをコンテキスト復号し、但し、第１の量は、第１の予め定義された数に等しいこととし； シンタックス要素の有意性マップにおいて実際に符号化されたビンの数を特定し；第２の予め定義された数と特定された数との差を決定し；シンタックス要素の第２の量のレベル符号フラグをコンテキスト復号し、但し、第２の量は、決定された差を含むこととするように構成される。一例において、第１の予め定義された数は９を含む。一例において、第２の予め定義された数は１６を含む。一例において、コンテキスト符号化された第１量のレベル符号フラグに対応するレベル符号フラグは、８つの「ｇｒｅａｔｅｒ＿ｔｈａｎ＿１」フラグおよび１つの「ｇｒｅａｔｅｒ＿ｔｈａｎ＿２」フラグを備える。一例において、コンテキスト符号化された第２の量のレベル符号フラグに対応するレベル符号フラグは、「ｇｒｅａｔｅｒ＿ｔｈａｎ＿１」フラグのみを備える。一例において、コンテキスト符号化された第２の量のレベル符号フラグに対応するレベル符号フラグは、「ｇｒｅａｔｅｒ＿ｔｈａｎ＿２」フラグのみを備える。一例において、コンテキスト符号化された第２の量のフラグに対応するレベル符号フラグは、第３の予め定義された数の「ｇｒｅａｔｅｒ＿ｔｈａｎ＿２」フラグおよび動的な数の「ｇｒｅａｔｅｒ＿ｔｈａｎ＿１」フラグを備え、動的な数は、第２の量と第３の予め定義された数との差を含む。
【０２０７】
一例において、システムが提供される。システムは、エンコーダの第１の電子デバイスを備え、第１の電子デバイスは、算術に基づくエンコーダを用いて符号化すべきデータのブロックを取得し；データのブロックをロスレス符号化を用いて符号化すべきかどうかを判定し；データのブロックをロスレス符号化を用いて符号化すべきでないという判定に応じて、データのブロックを符号化するために第１のＡｂｓｏｌｕｔｅ−３符号化技術を用い；データのブロックをロスレス符号化を用いて符号化すべきであるという判定に応じて、データのブロックを符号化するために第２のＡｂｓｏｌｕｔｅ−３符号化技術を用い；第２のＡｂｓｏｌｕｔｅ−３符号化技術は、第１のＡｂｓｏｌｕｔｅ−３符号化技術とは異なるものとし；符号化をメモリデバイスに記憶するように構成される。
【０２０８】
システムは、デコーダの第２の電子デバイスをさらに備え、第２の電子デバイスは、受信した２値シンボルをロスレス復号を用いて復号すべきかどうかを判定し；２値シンボルをロスレス復号を用いて復号すべきでないという判定に応じて、ＴＱＣのブロックを取得するために第１のＡｂｓｏｌｕｔｅ−３符号化技術を用い；２値シンボルをロスレス復号を用いて復号すべきであるという判定に応じて、残差サンプルを取得するために第２のＡｂｓｏｌｕｔｅ−３符号化技術を用いるように構成される。
【０２０９】
第１の電子デバイスは、データのブロックをロスレス符号化を用いて符号化すべきでないという判定に応じて、サブブロックの初期値に関してライスパラメータをゼロに初期化し；データのブロックをロスレス符号化を用いて符号化すべきであるという判定に応じて、サブブロックの初期値に関して前のサブブロックの最後の値からのライスパラメータを用いるように構成されてもよい。
【０２１０】
第１の電子デバイスは、データのブロックをロスレス符号化を用いて符号化すべきでないという判定に応じて、サブブロックの初期値に関してライスパラメータをゼロに初期化し；データのブロックをロスレス符号化を用いて符号化すべきであるという判定に応じて、サブブロックの初期値に関してライスパラメータのゼロへの初期化をバイパスするように構成されてもよい。
【０２１１】
第１の電子デバイスは、データのブロックをロスレス符号化を用いて符号化すべきであるという判定に応じて、ブロック・タイプ、ブロック・サイズ、および色情報（輝度／色差）を含む群から選択される少なくとも１つに基づいて、ライスパラメータを予め定義された値に初期化するように構成されてもよい。
【０２１２】
第１の電子デバイスは、データのブロックをロスレス符号化を用いて符号化すべきであるという判定に応じて、現在のブロック・タイプが２または５に等しいときにライスパラメータを１に初期化するように構成されてもよい。
【０２１３】
第１の電子デバイスは、データのブロックをロスレス符号化を用いて符号化すべきでないという判定に応じて、サブブロックの初期値に関してライスパラメータをゼロに初期化し；データのブロックをロスレス符号化を用いて符号化すべきであるという判定に応じて、サブブロックの初期値に関して、ライスパラメータのゼロへの初期化をバイパスするように構成されてもよい。
【０２１４】
第１の電子デバイスは、２値シンボルをロスレス復号を用いて復号すべきでないという判定に応じて、第１のライスパラメータ・アップデート表を利用し；２値シンボルをロスレス復号を用いて復号すべきであるという判定に応じて、第１のライスパラメータ・アップデート表と異なる第２のライスパラメータ・アップデート表を利用するように構成されてもよい。
【０２１５】
第２のライスパラメータ・アップデート表は、第１のライスパラメータ・アップデート表の短縮版を備えてもよい。一例において、第２のライスパラメータ・アップデート表のみが、現在のライスパラメータを２、３、または４にアップデートまたは初期化した後のアップデートを防止するように構成される。
【０２１６】
一例において、システムが提供される。システムは、エンコーダの第１の電子デバイスを備え、第１の電子デバイスは、算術に基づくエンコーダを用いて符号化すべきデータのブロックを取得し；シンタックス要素の第１の量のレベル符号フラグをコンテキスト符号化し、但し、第１の量は、第１の予め定義された数に等しいこととし；シンタックス要素の有意性マップにおいて実際に符号化されたビンの数を特定し；第２の予め定義された数と特定された数との差を決定し；シンタックス要素の第２の量のレベル符号フラグをコンテキスト符号化し、但し、第２の量は、決定された差を含むこととし；コンテキスト符号化によって生成されたビットストリームをメモリデバイスに記憶するように構成される。
【０２１７】
算術に基づくエンコーダは、ＣＡＢＡＣエンコーダを備える。第１の予め定義された数は９を含む。第２の予め定義された数は１６を含む。コンテキスト符号化された第１の量のレベル符号フラグに対応するレベル符号フラグは、８つの「ｇｒｅａｔｅ＿ｔｈａｎ＿１」フラグおよび１つの「ｇｒｅａｔｅｒ＿ｔｈａｎ＿２」フラグを備える。コンテキスト符号化された第２の量のレベル符号フラグに対応するレベル符号フラグは、「ｇｒｅａｔｅｒ＿ｔｈａｎ＿１」フラグのみを備えてもよい。コンテキスト符号化された第２の量のレベル符号フラグに対応するレベル符号フラグは、「ｇｒｅａｔｅｒ＿ｔｈａｎ＿２」フラグのみを備えてもよい。コンテキスト符号化された第２の量のフラグに対応するレベル符号フラグは、第３の予め定義された数の「ｇｒｅａｔｅｒ＿ｔｈａｎ＿２」フラグおよび動的な数の「ｇｒｅａｔｅｒ＿ｔｈａｎ＿１」フラグを備えてもよく、動的な数は、第２の量と第３の予め定義された数との差を含む。
【０２１８】
上記のシステムおよび装置は、本明細書に記載される操作のいくつかまたはすべてを行うために、専用のプロセッサシステム、マイクロコントローラ、プログラマブル論理デバイス、マイクロプロセッサ、またはそれらの任意の組み合わせを用いることができる。上記の操作のいくつかは、ソフトウェアで実装され、他の操作は、ハードウェアで実装される。本明細書に記載される操作、処理、および／または方法の１つ以上は、示される図面を参照して、本明細書に記載されるのと実質的に同様の装置、デバイス、および／またはシステムにより行われてもよい。
【０２１９】
処理デバイスは、メモリに記憶された命令または「コード」を実行する。メモリは、データも記憶する。処理デバイスは、以下には限定されないが、アナログプロセッサ、デジタルプロセッサ、マイクロプロセッサ、マルチコアプロセッサ、プロセッサアレイ、ネットワークプロセッサなどを含む。処理デバイスは、集積化制御システムまたはシステムマネージャの一部であってもよく、あるいはネットワーク化されたシステムと、局所的または遠隔的に無線送信によりインターフェース接続するように構成されたポータブル電子デバイスとして提供されてもよい。
【０２２０】
プロセッサメモリは、処理デバイスとともに集積化され、例えば、ＲＡＭまたはＦＬＡＳＨメモリが集積回路マイクロプロセッサ内などに配置される。他の例では、メモリは、外部ディスクドライブ、記憶アレイ、ポータブルＦＬＡＳＨキーフォブなどのような独立したデバイスを備える。メモリおよび処理デバイスは、例えば、Ｉ／Ｏポート、ネットワーク接続などにより動作可能なように連結されるか、または互いに通信を行い、処理デバイスは、メモリ上に記憶されたファイルを読み取る。関連するメモリは、設計（ＲＯＭ）によりアクセス許可の設定に基づいて「リードオンリ」であってもなくてもよい。メモリの他の例は、以下に限定されなくてもよいが、固体半導体デバイスに実装できるＷＯＲＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＦＬＡＳＨなどを含む。他のメモリは、従来型回転ディスクドライブのような可動部を含む。すべてのかかるメモリは、「機械読み取り可能」であり、処理デバイスによって読み取り可能である。
【０２２１】
操作命令またはコマンドは、（「コンピュータ・プログラム」または「コード」としても知られる）記憶されたコンピュータ・ソフトウェアの具体的な形で実装または具現される。プログラム、またはコードは、ディジタルメモリに記憶され、処理デバイスによって読み取られる。「コンピュータ読み取り可能な記憶媒体」（または代わりに、「機械読み取り可能な記憶媒体」）は、メモリが、コンピュータ・プログラムまたは他のデータの特質をもつデジタル情報を、少なくとも一時的に、記憶することが可能である限り、そして記憶された情報を適切な処理デバイスが「読み取る」ことができる限り、前述のタイプのメモリのすべてに加えて将来の新技術を含む。用語「コンピュータ読み取り可能な」は、完全なメインフレーム、ミニコンピュータ、デスクトップまたはラップトップコンピュータさえも示唆する「コンピュータ」の歴史的な使用法には限定されない。むしろ、「コンピュータ読み取り可能な」は、プロセッサ、処理デバイス、または任意の計算システムによって読み取り可能な記憶媒体を備える。かかる媒体は、コンピュータもしくはプロセッサによって局所的および／または遠隔的にアクセスされる任意の利用可能な媒体であり、揮発性および不揮発性媒体、ならびにリムーバブルおよびノンリムーバブル媒体、あるいはそれらの任意の組み合わせを含んでもよい。
【０２２２】
コンピュータ読み取り可能な記憶媒体に記憶されたプログラムは、コンピュータ・プログラム製品を備えてもよい。例えば、記憶媒体は、コンピュータ・プログラムを記憶または輸送する便利な手段として用いられる。便宜上、操作は、相互接続または結合された様々な機能ブロックもしくはダイアグラムとして記載される。しかしながら、これらの機能ブロックもしくはダイアグラムを同等な状態で単一の論理デバイス、境界が不明確なプログラムまたは操作に統合できる場合もある。
【０２２３】
本明細書に教示される概念は、多くの他の方法で個別の用途に適合できることを当業者は理解するであろう。特に、示された例は、本開示を読んだときに明らかになるであろう多くの代わりの実装の１つに過ぎないことを当業者は理解するであろう。
【０２２４】
本明細書は、数箇所で「ａｎ（１つの）」、「ｏｎｅ（１つの）」「ａｎｏｔｈｅｒ（別の）」または「ｓｏｍｅ（いくつかの）」例（単数または複数）を参照するが、これは、それぞれのかかる参照が同じ例（単数または複数）を対象とすること、あるいは特徴が単一の例にのみ当て嵌まることを必ずしも意味しない。
【図１】
2015504256.tif 000006
【図２】
2015504256.tif 000007
【図３】
2015504256.tif 000008
【図４】
2015504256.tif 000009
【図５】
2015504256.tif 000010
【図６】
2015504256.tif 000011
【図７】
2015504256.tif 000012
【図８】
2015504256.tif 000013
【図９】
2015504256.tif 000014
【図１０】
2015504256.tif 000015
【図１１】
2015504256.tif 000016
【図１２】
2015504256.tif 000017
【図１３】
2015504256.tif 000018
【図１４】
2015504256.tif 000019
【図１５】
2015504256.tif 000020
【図１６】
2015504256.tif 000021
【図１７】
2015504256.tif 000022
【図１８】
2015504256.tif 000023
【図１９】
2015504256.tif 000024
【図２０Ａ】
2015504256.tif 000025
【図２０Ｂ】
2015504256.tif 000026
【図２０Ｃ】
2015504256.tif 000027
【図２０Ｄ】
2015504256.tif 000028
【図２０Ｅ】
2015504256.tif 000029
【図２１】
2015504256.tif 000030
【図２２】
2015504256.tif 000031
【図２３】
2015504256.tif 000032
【図２４】
2015504256.tif 000033
【図２５】
2015504256.tif 000034
【図２６】
2015504256.tif 000035
【図２７】
2015504256.tif 000036
【図２８】
2015504256.tif 000037
【図２９】
2015504256.tif 000038
【図３０】
2015504256.tif 000039
【図３１】
2015504256.tif 000040
【図３２】
2015504256.tif 000041
【図３３】
2015504256.tif 000042
【図３４】
2015504256.tif 000043
【図３５】
2015504256.tif 000044
【図３６】
2015504256.tif 000045
【図３７】
2015504256.tif 000046
【図３８】
2015504256.tif 000047
【図３９】
2015504256.tif 000048
【図４０】
2015504256.tif 000049
【手続補正書】
【提出日】平成25年11月19日(2013.11.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
変換係数と関連するビットストリームを復号するための方法であって、前記方法は、
１）ビットストリームを取得するステップ；
２）前記サブブロックの特性に基づいて、第１または第２の復号を用いることによって前記ビットストリームからブロックの前記サブブロックのレベル情報を復号すべきかどうかを判定するステップ；
を備え、
前記サブブロックの前記特性が所定の条件を満足する場合には、前記第１の復号を用いることによって前記ビットストリームから前記サブブロックのレベル情報を復号し；
前記サブブロックの前記特性が前記所定の条件を満足しない場合には、前記第１の復号とは異なる前記第２の復号を用いることによって前記ビットストリームから前記サブブロックのレベル情報を復号する、
方法。
【請求項２】
前記第１の復号は、バイパス符号化を備え、前記第２の復号は、レギュラー符号化および前記バイパス符号化を備える、請求項１に記載の方法。
【請求項３】
前記所定の条件が満たされる場合には、その振幅が１以上である前記サブブロックの任意の非ゼロ係数の少なくとも正負およびレベル情報が、前記第１の復号のバイパス符号化によってそれぞれ復号され；
前記所定の条件が満たされない場合には、前記非ゼロ係数の振幅が１より大きいか否かを示す、第1のフラグ、および、１より大きい前記振幅をもつ前記非ゼロ係数の前記振幅が２より大きいか否かを示す、第２のフラグが、前記第２の復号のレギュラー符号化によってそれぞれ復号され、
その振幅が３以上である任意の非ゼロ係数の前記正負およびレベル情報が、前記第２の復号の前記バイパス符号化によってそれぞれ復号される
ことをさらに備える、請求項２に記載の方法。
【請求項４】
前記所定の条件は、前記サブブロックのゼロに等しくない振幅をもつ係数の前記数が、プリセットされた閾値以上であるかどうかを示す、請求項１〜３に記載の方法。
【請求項５】
前記プリセットされた閾値は８に等しい、請求項４に記載の方法。
【請求項６】
次のサブブロックの特性に基づいて、前記ビットストリームのブロックの前記次のサブブロックに関する前記決定を行い、前記次のサブブロックに関する前記決定の結果に基づいて、前記第１の復号または前記第２の復号を用いて前記次のサブブロックのレベル符号化を行うステップ、および
前記ビットストリームのブロックの前記サブブロックのすべてが復号されるまで前記行うステップを繰り返すステップ、
をさらに備える、請求項１に記載の方法。
【請求項７】
前記サブブロックは４×４のブロックである、請求項１〜６に記載の方法。
【国際調査報告】
2015504256.tif 000050