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