(57)【特許請求の範囲】
【請求項１】
量子化済み変換係数の矩形ブロックについて逆量子化を行うための方法であって、前記方法は、
復号器が、量子化済み変換係数のＷｘＨのブロックを受け取ることであって、Ｗは、前記ブロックの行幅であり、Ｈは、前記ブロックの列の高さであることと；
前記復号器が、前記量子化済み変換係数のＷｘＨのブロックに逆量子化処理を施し、前記量子化済み変換係数のＷｘＨのブロックに対応するピクチャを生成するために使用される変換係数のブロックを生成することであって、前記逆量子化処理は、関数
【数１】
0005770378.tif 000019
の出力Ｍが整数値に等しい場合に、第１の逆量子化アルゴリズムを適用すること、及び前記出力Ｍが非整数値に等しい場合に第２の逆量子化アルゴリズムを適用することを含むことと
を含む、方法。
【請求項２】
前記第１の逆量子化アルゴリズムを適用することは、前記変換係数のブロックを生成するために使用される１組の第１の定数を計算するために第１のマッピングテーブルを使用することを含み、
前記第２の逆量子化アルゴリズムを適用することは、前記変換係数のブロックを生成するために使用される１組の第２の定数を計算するために第２のマッピングテーブルを使用することを含む、
請求項１に記載の方法。
【請求項３】
前記変換係数のブロックは、逆量子化関数
ｃｏｅｆｆＱ＝（（ｌｅｖｅｌｘＩＱ＜＜（ＱＰ／６））＋ｏｆｆｓｅｔ）＞＞ＩＱｂｉｔｓを使用して生成され、
ｌｅｖｅｌは、前記逆量子化関数に入力される、前記量子化済み変換係数のＷｘＨのブロックからの量子化済み変換係数であり、
ｃｏｅｆｆＱは、前記逆量子化関数から出力される対応する変換係数であり、
ＩＱは、前記出力Ｍが前記整数値に等しい場合に前記第１のマッピングテーブルから得られる定数であり、さもなければＩＱは、前記第２のマッピングテーブルから得られ、
ＱＰは、復号された量子化パラメータであり、
ＩＱｂｉｔｓは、前記逆量子化関数内で右シフトを行う際に使用される幾つかのビットを含む計算可能な定数であり、
ｏｆｆｓｅｔは、ＩＱＢｉｔｓに由来する計算可能な定数である、
請求項２に記載の方法。
【請求項４】
前記第１のマッピングテーブルは、ＩＱ＝ｇ１（ＱＰ％６）を含み、
ｇ１（ｘ＝０，１，２，３，４，５）＝｛４０，４５，５１，５７，６４，７２｝であり、
前記第２のマッピングテーブルは、ＩＱ＝ｇ２（ＱＰ％６）を含み、
ｇ２（ｘ＝０，１，２，３，４，５）＝｛５６，６３，７２，８０，９０，１０１｝である、
請求項３に記載の方法。
【請求項５】
前記第１の逆量子化アルゴリズムを適用することは、前記変換係数のブロックを生成するために使用される１組の第１の定数を計算するために第１のマッピングテーブルを使用することを含み、
前記第２の逆量子化アルゴリズムを適用することは、前記変換係数のブロックを生成するために使用される１組の第２の定数を計算するために、シフトされた第１のマッピングテーブルを使用することを含む、
請求項１に記載の方法。
【請求項６】
前記第１のマッピングテーブルは、ＩＱ＝ｇ（ＱＰ％６）を含み、
ｇ（ｘ＝０，１，２，３，４，５）＝｛４０，４５，５１，５７，６４，７２｝であり、
前記シフトされた第１のマッピングテーブルは、ＩＱ＝ｇ（（ＱＰ＋３）％６）を含み、
ｇ（ｘ＝０，１，２，３，４，５）＝｛４０，４５，５１，５７，６４，７２｝であり、
ＱＰは、復号された量子化パラメータである、
請求項５に記載の方法。
【請求項７】
前記第２の逆量子化アルゴリズムは、ＷｘＨ＝２Ｘ２が成立する場合に適用される、
請求項１に記載の方法。
【請求項８】
変換係数の矩形ブロックについて量子化を行うための方法であって、前記方法は、
符号器が、ピクチャから生成される変換係数のＷｘＨのブロックを受け取ることであって、Ｗは、前記ブロックの行幅でありＨは前記ブロックの列の高さであることと；
前記符号器が、前記変換係数のＷｘＨのブロックに量子化処理を施し、前記ピクチャを再構築するために用いられるビットシーケンスを生成するために使用される量子化済み変換係数のブロックを生成することと
を含み、
前記量子化処理は、関数
【数２】
0005770378.tif 000020
の出力Ｍが整数値に等しい場合に第１の量子化アルゴリズムを適用すること、及び前記出力Ｍが非整数値に等しい場合に第２の量子化アルゴリズムを適用することを含む、方法。
【請求項９】
前記第１の量子化アルゴリズムを適用することは、前記量子化済み変換係数のブロックを生成するために使用される１組の第１の定数を計算するために第１のマッピングテーブルを使用することを含み、
前記第２の量子化アルゴリズムを適用することは、前記量子化済み変換係数のブロックを生成するために使用される１組の第２の定数を計算するために第２のマッピングテーブルを使用することを含む、
請求項８に記載の方法。
【請求項１０】
前記量子化済み変換係数のブロックは、量子化関数
ｌｅｖｅｌ＝（ｃｏｅｆｆｘＱ＋ｏｆｆｓｅｔ）＞＞Ｑｂｉｔｓを使用して生成され、
ｃｏｅｆｆは、前記量子化関数に入力される前記ＷｘＨのブロックの変換係数からの変換係数であり、
ｌｅｖｅｌは、前記量子化関数から出力される対応する量子化済み変換係数であり、
Ｑは、前記出力Ｍが整数値に等しい場合に前記第１のマッピングテーブルから得られる定数であり、さもなければＱは、前記第２のマッピングテーブルから得られ、
Ｑｂｉｔｓは、前記量子化関数内の除算演算に相当する右シフトを実行する際に使用される幾つかのビットを含む計算可能な定数であり、
ｏｆｆｓｅｔは、Ｑｂｉｔｓを用いて得られる計算可能な定数である、
請求項９に記載の方法。
【請求項１１】
前記第１のマッピングテーブルは、Ｑ１＝ｆ１（ＱＰ％６）を含み、
ｆ１（ｘ＝０，１，２，３，４，５）＝｛２６２１４，２３３０２，２０５６０，１８３９６，１６３８４，１４５６４｝であり、
前記第２のマッピングテーブルは、Ｑ２＝ｆ２（ＱＰ％６）を含み、
ｆ２（ｘ＝０，１，２，３，４，５）＝｛１８５３６，１６４７７，１４５３８，１３００７，１１５８５，１０２９８｝であり、
ＱＰは、所定の量子化パラメータである、
請求項１０に記載の方法。
【請求項１２】
前記方法は更に、前記符号器が、前記出力Ｍが前記整数値に等しい場合に前記１組の第１の定数を使用して前記量子化済み変換係数のエントロピ符号化を実行するか否か判定することを、さもなければ前記１組の第２の定数を使用して前記量子化済み変換係数のエントロピ符号化を実行するか否か判定することを含む、
請求項１０に記載の方法。
【請求項１３】
前記第１の量子化アルゴリズムを適用することは、前記量子化済み変換係数のブロックを生成するために使用される１組の第１の定数を計算するために第１のマッピングテーブルを使用することを含み、
前記第２の量子化アルゴリズムを適用することは、前記量子化済み変換係数のブロックを生成するために使用される１組の第２の定数を計算するために、シフトされた第１のマッピングテーブルを使用することを含む、
請求項８に記載の方法。
【請求項１４】
前記第１のマッピングテーブルは、Ｑ１＝ｆ（ＱＰ％６）を含み、
ｆ（ｘ＝０，１，２，３，４，５）＝｛２６２１４，２３３０２，２０５６０，１８３９６，１６３８４，１４５６４｝であり、
前記シフトされた第１のマッピングテーブルは、Ｑ２＝ｆ（（ＱＰ＋３）％６）を含み、
ｆ（ｘ＝０，１，２，３，４，５）＝｛２６２１４，２３３０２，２０５６０，１８３９６，１６３８４，１４５６４｝であり、
ＱＰは、選択された量子化パラメータである、
請求項１３に記載の方法。
【請求項１５】
前記第２の量子化アルゴリズムは、ＷｘＨ＝２Ｘ２が成立する場合に適用される、
請求項８に記載の方法。
【請求項１６】
逆量子化ブロックを有する復号器を備えるシステムであって、
前記復号器は、
量子化済み変換係数の第１のＷｘＨのブロックを受け取ることであって、Ｗは前記ブロックの行幅でありＨは前記ブロックの列の高さであることと；
前記量子化済み変換係数の第１のブロックに逆量子化処理を施し、前記量子化済み変換係数の第１のＷｘＨのブロックに対応する第１のピクチャを生成するために使用される変換係数の第１のブロックを生成することと
を行うように構成され、
前記逆量子化処理は、関数
【数３】
0005770378.tif 000021
の出力Ｍが整数値に等しい場合に第１の逆量子化アルゴリズムを適用すること、及び前記出力Ｍが非整数値に等しい場合に第２の逆量子化アルゴリズムを適用することを含む、システム。
【請求項１７】
前記逆量子化ブロックは更に、
前記第１の逆量子化アルゴリズムを適用する一方で、第１のマッピングテーブルを用いて１組の第１の定数を計算することであって、前記１組の第１の定数は前記量子化済み変換係数の第１のブロックから前記変換係数の第１のブロックを生成するために逆量子化関数内で使用されることと；
前記第２の逆量子化アルゴリズムを適用する一方で、第２のマッピングテーブルを用いて１組の第２の定数を計算することであって、前記１組の第２の定数は前記量子化済み変換係数の第１のブロックから前記変換係数の第１のブロックを生成するために前記逆量子化関数内で使用されることと
を行うように構成される、
請求項１６に記載のシステム。
【請求項１８】
前記逆量子化ブロックは更に、
前記第１の逆量子化アルゴリズムを適用する一方で、第１のマッピングテーブルを用いて１組の第１の定数を計算することであって、前記１組の第１の定数は前記量子化済み変換係数の第１のブロックから前記変換係数の第１のブロックを生成するために逆量子化関数内で使用されることと；
前記第２の逆量子化アルゴリズムを適用する一方で、シフトされた第１のマッピングテーブルを用いて１組の第２の定数を計算することであって、前記１組の第２の定数は前記量子化済み変換係数の第１のブロックから前記変換係数の第１のブロックを生成するために前記逆量子化関数内で使用されることと
を行うように構成される、
請求項１６に記載のシステム。
【請求項１９】
前記システムは更に、量子化ブロックを有する符号器を備え、
前記符号器は、
第２のピクチャから生成される変換係数のＷｘＨの第２のブロックを受け取ることであって、Ｗは前記変換係数の第２のブロックの行幅でありＨは前記変換係数の第２のブロックの列の高さであることと；
前記変換係数の第２のブロックに量子化処理を施し、前記第２のピクチャを再構築するために用いられるビットシーケンスを生成するために使用される量子化済み変換係数の第２のブロックを生成することと
を行うように構成され、
前記量子化処理は、前記関数
【数４】
0005770378.tif 000022
の前記出力Ｍが前記整数値に等しい場合に第１の量子化アルゴリズムを適用すること、及び前記出力Ｍが前記非整数値に等しい場合に第２の量子化アルゴリズムを適用することを含む、
請求項１６に記載のシステム。
【請求項２０】
前記復号器は、高効率映像符号化規格に従って動作するように構成される、
請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にデータ圧縮に関し、より詳細には係数の矩形ブロックを量子化及び逆量子化するための方法及びシステムに関する。
【背景技術】
【０００２】
テレビ会議、デジタルメディアストレージ、テレビ放送、インターネット映像ストリーミング、通信などの様々な用途で、より高水準の映像圧縮に対する需要の高まりが生じている。一連の画像又は「ピクチャ」を含む映像は、符号器によって実行される符号化プロセス中に圧縮にかけられる。符号化プロセスは映像からビットストリーム（本明細書ではビットシーケンスとも呼ぶ）を生成し、ビットストリームは物理媒体によって記憶することも伝送することもできる。復号器は、復号プロセスを実行してビットストリームを読み取り、それにより映像の一連のピクチャを得る。本明細書で使用するとき、「符号化（ｃｏｄｉｎｇ）」という用語は、符号化プロセス若しくは復号プロセス中、又はその両方の間に使用されるプロセス及びアルゴリズムを指すために使用し、本明細書では符号化（ｅｎｃｏｄｉｎｇ）という用語及び復号という用語と区別なく使用する。
【０００３】
映像符号化プロセスは、複数のアルゴリズムを含み、その一部は、映像フレーム内及び映像フレーム間の冗長な情報又は重要でない情報を減らすことによって映像圧縮を実現するように適切に構成される。これらのアルゴリズムの１つは量子化であり、量子化では変換係数値の範囲を個々の量子値に圧縮し、映像のビットストリームを生成するために符号器によって使用される量子化済み変換係数を生成することを含む。復号器は、量子化済み変換係数を逆量子化して映像を再作成する。現在、量子化及び逆量子化アルゴリズムは、係数、例えば変換係数及び量子化済み変換係数それぞれの正方形ブロックについて最適化されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１１／００５５７２号パンフレット
【非特許文献】
【０００５】
【非特許文献１】ＧＵＯ  Ｌら：”Ｎｏｎ−Ｓｑｕａｒｅ  Ｔｒａｎｓｆｏｒｍ  ｆｏｒ  ２ＮｘＮ  ａｎｄ  Ｎｘ２Ｎ  Ｍｏｔｉｏｎ  Ｐａｒｔｉｔｉｏｎｓ”，６．ＪＣＴ−ＶＣ  ＭＥＥＴＩＮＧ；９７．  ＭＰＥＧ  ＭＥＥＴＩＮＧ；１４−７−２０１１−２２−７−２０１１；  ＴＯＲＩＮＯ；（ＪＯＩＮＴ  ＣＯＬＬＡＢＯＲＡＴＩＶＥ  ＴＥＡＭ  ＯＮ  ＶＩＤＥＯ  ＣＯＤＩＮＧ  ＯＦ  ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＡＮＤ  ＩＴＵ−Ｔ  ＳＧ．１６）；ＵＲＬ：  ＨＴＴＰ：／／ＷＦＴＰ３．ＩＴＵ．ＩＮＴ／ＡＶ−ＡＲＣＨ／ＪＣＴＶＣ−ＳＩＴＥ／，，ｎｏ．ＪＣＴＶＣ−Ｆ５６３，２０１１年７月１６日，ＸＰ０３０００９５８６
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、係数の矩形ブロックを量子化及び逆量子化するための方法及び機器が求められている。
【課題を解決するための手段】
【０００７】
添付図面では別々の図面を通して同様の参照番号が同一要素又は機能的に同様の要素を指し、添付図面は、以下の詳細な説明と共に本明細書に援用され、本明細書の一部を形成し、特許請求の範囲に記載の本発明を含む概念の実施形態を更に例示し、これらの実施形態の様々な原理及び利点を説明するのに役立つ。
【図面の簡単な説明】
【０００８】
【図１】一実施形態による、係数の矩形ブロックを量子化及び逆量子化する方法を実装する符号器及び復号器の簡略ブロック図である。
【図２】一実施形態による、変換係数の矩形ブロックを量子化する方法の流れ図である。
【図３】一実施形態による、量子化済み変換係数の矩形ブロックを逆量子化する方法の流れ図である。
【図４】一実施形態による、変換係数の矩形ブロックを量子化する方法の流れ図である。
【図５】一実施形態による、量子化済み変換係数の矩形ブロックを逆量子化する方法の流れ図である。
【発明を実施するための形態】
【０００９】
図中の要素は簡単且つ明瞭にするために示しており、必ずしも縮尺通りに描かれているとは限らないことを当業者なら理解されよう。例えば、本発明の実施形態を理解する一助となるように、図中の一部の要素の寸法を他の要素に比べて拡大することがある。
【００１０】
図中、機器及び方法のコンポーネントを必要に応じて従来の記号によって示しており、本明細書の説明の利益を有する当業者にとって容易に明らかな詳細によって本開示を不明瞭にしないために、本発明の実施形態の理解に関連がある具体的詳細だけを図示した。
【００１１】
一般的に言えば、様々な実施形態に従い、本開示は係数の矩形ブロックを量子化及び逆量子化するための方法及び機器を提供する。例えば、量子化済み変換係数の矩形ブロックについて逆量子化を行うための方法は、量子化済み変換係数のＷｘＨのブロックを受け取ることであって、Ｗはブロックの行幅でありＨはブロックの列の高さであることと、量子化済み変換係数のＷｘＨのブロックに逆量子化処理を施し、量子化済み変換係数のＷｘＨのブロックに対応するピクチャを生成するために使用される変換係数のブロックを生成することとを含む。逆量子化処理は、関数
【００１２】
【数１】
0005770378.tif 000002
【００１３】
の出力Ｍが整数値に等しい場合に第１の逆量子化アルゴリズムを適用すること、及び出力Ｍが非整数値に等しい場合に第２の逆量子化アルゴリズムを適用することを含む。
変換係数の矩形ブロックについて量子化を行うための方法は、ピクチャから生成される変換係数のＷｘＨのブロックを受け取ることであって、Ｗは、ブロックの行幅でありＨは、ブロックの列の高さであることと、変換係数のＷｘＨのブロックに量子化処理を施し、ピクチャを再構築するために用いられるビットシーケンスを生成するために使用される量子化済み変換係数のブロックを生成することとを含む。量子化処理は、関数
【００１４】
【数２】
0005770378.tif 000003
【００１５】
の出力Ｍが整数値に等しい場合に第１の量子化アルゴリズムを適用すること、及び出力Ｍが非整数値に等しい場合に第２の量子化アルゴリズムを適用することを含む。一実施形態では、量子化を行うための方法は更に、出力Ｍが整数値に等しい場合に１組の第１の定数を使用して量子化済み変換係数のエントロピ符号化を実行するか否か判定することと、さもなければ１組の第２の定数を使用して量子化済み変換係数のエントロピ符号化を実行するか否か判定することとを含む。
【００１６】
システムは、逆量子化ブロックを有する復号器と、量子化ブロックを有する符号器とを含む。逆量子化ブロックは、量子化済み変換係数のＷｘＨの第１のブロックであって、Ｗはブロックの行幅でありＨはブロックの列の高さである、第１のブロックを受け取り、量子化済み変換係数の第１のブロックに逆量子化処理を施し、量子化済み変換係数のＷｘＨの第１のブロックに対応する第１のピクチャを生成するために使用される変換係数の第１のブロックを生成するように構成される。逆量子化処理は、関数
【００１７】
【数３】
0005770378.tif 000004
【００１８】
の出力Ｍが整数値に等しい場合に第１の逆量子化アルゴリズムを適用すること、及び出力Ｍが非整数値に等しい場合に第２の逆量子化アルゴリズムを適用することを含む。
一実施形態では、逆量子化ブロックは更に、第１の逆量子化アルゴリズムを適用する一方で、第１のマッピングテーブルを用いて１組の第１の定数を計算することであって、１組の第１の定数は量子化済み変換係数の第１のブロックから変換係数の第１のブロックを生成するために逆量子化関数内で使用されること；及び第２の逆量子化アルゴリズムを適用する一方で、第２のマッピングテーブルを用いて１組の第２の定数を計算することであって、１組の第２の定数は量子化済み変換係数の第１のブロックから変換係数の第１のブロックを生成するために逆量子化関数内で使用されることを行うように、構成される。代替的実施形態では、逆量子化ブロックは更に、第１の逆量子化アルゴリズムを適用する一方で、第１のマッピングテーブルを用いて１組の第１の定数を計算することであって、１組の第１の定数は量子化済み変換係数の第１のブロックから変換係数の第１のブロックを生成するために逆量子化関数内で使用されること、及び第２の逆量子化アルゴリズムを適用する一方で、シフトされた第１のマッピングテーブルを用いて１組の第２の定数を計算することであって、１組の第２の定数は量子化済み変換係数の第１のブロックから変換係数の第１のブロックを生成するために逆量子化関数内で使用されることを行うように、構成される。
【００１９】
本システムの量子化ブロックは、第２のピクチャから生成される変換係数のＷｘＨの第２のブロックを受け取ることであって、Ｗは変換係数の第２のブロックの行幅でありＨは変換係数の第２のブロックの列の高さであること、及び変換係数の第２のブロックに量子化処理を施し、第２のピクチャを再構築するために用いられるビットシーケンスを生成するために使用される量子化済み変換係数の第２のブロックを生成することを行うように構成される。量子化処理は、関数
【００２０】
【数４】
0005770378.tif 000005
【００２１】
の出力Ｍが整数値に等しい場合に第１の量子化アルゴリズムを適用すること、及び出力Ｍが非整数値に等しい場合に第２の量子化アルゴリズムを適用することを含む。
次に図面、具体的には図１を参照し、一部の実施形態による係数の矩形ブロックを量子化及び逆量子化するための方法を実施する符号器の例示的簡略ブロック図が示されており、その全体を１００で表示する。符号器１００は、変換ブロック１０２、量子化ブロック１０４、エントロピ符号化ブロック１０６、逆量子化ブロック１０８、逆変換ブロック１１０、ループフィルタ１１２、空間予測ブロック１１４、基準バッファ１１６、時間予測ブロック１１８、及びスイッチ１２０を含む。
【００２２】
一実施形態では符号器１００がＨＥＶＣ符号器であり、そのため、高効率映像符号化（ＨＥＶＣ：Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）ドラフト規格（Ｈ．２６５及びＭＰＥＧ−Ｈ  Ｐａｒｔ２としても知られる）に従って動作するように構成される。例えば符号器は、ＨＥＶＣドラフト規格の少なくとも一部又はまだ発行されていない将来のＨＥＶＣ規格（本明細書では一括してＨＥＶＣ、ＨＥＶＣ規格、又はＨＥＶＣ仕様と呼ぶ）に準拠してデータ（例えば映像データ）処理を行う。但し代替的実施形態では、符号器１００は、他の規格又は独占権下にあるメディア圧縮技法に準拠するデータ（例えば映像、音声、又は他のメディア）処理を実施する。更に、符号器１００のブロック図は、本教示の実施形態を理解するのに必要なブロックしか示していない点で「単純化」されている。市販の符号器の実施形態の他の要素は説明図を簡略化するために省いている。
【００２３】
変換ブロック１０２、量子化ブロック１０４、エントロピ符号化ブロック１０６、逆量子化ブロック１０８、逆変換ブロック１１０、空間予測ブロック１１４、及び時間予測ブロック１１８は、符号器１００が、本教示に関して説明する機能、例えば残りの図２〜図５に関して以下で説明する機能を含む自らの機能を実行するために使用する異なるアルゴリズムを表す。本文脈で使用する「ブロック」は、ハードウェア装置によって実行される機能の論理的表現を含む。
【００２４】
一実施形態では、アルゴリズム１０２〜１１０、１１４、及び１１８、並びにループフィルタ１１２、基準バッファ１１６、及びスイッチ１２０が集積回路チップ上のハードウェアによって完全に実装される。代替的実施形態では、アルゴリズム１０２〜１１０、１１４、及び１１８が適切な記憶装置（即ちメモリ）上にソフトウェア又はファームウェアコードとして記憶され、符号器が、メモリ内に記憶されたアルゴリズムを実行するようにプログラムされた処理装置としてハードウェアによって部分的に実装される。本明細書で使用するとき、「アルゴリズム」は、符号器１００又は復号器の機能ブロック、例えば１０２〜１１０及び１１４内で実行される処理の全て又は一部を表す。しかしながら、「関数」は任意の等式又は公式を意味する。
【００２５】
ＨＥＶＣとは、ブロックベースの空間及び時間予測的ハイブリッド符号化方式である。ＨＥＶＣでは、入力ピクチャが、最大符号化単位（ＬＣＵ：ｌａｒｇｅｓｔ  ｃｏｄｉｎｇ  ｕｎｉｔ）として定義される正方形ブロックにまず分割される。本文脈で使用するとき（画像処理に関し）、「ブロック」は、特定の種類のブロック及びそのブロックがかけられた処理に応じた、画素、変換係数、量子化済み変換係数などの要素又はサンプルの二次元アレイ若しくは行列として定義される。そのため、本明細書ではブロック、アレイ、及び行列という用語を区別なく使用する。基本符号化単位が１６ｘ１６画素のマクロブロック（ＭＢ）である他の映像符号化規格とは異なり、ＨＥＶＣでは、基本符号化単位ＣＵは１２８ｘ１２８画素規模とすることができ、かかる基本符号化単位は、圧縮及び予測を画像の特性に適合させるためのより優れた柔軟性を符号化プロセス中にもたらす。
【００２６】
ＨＥＶＣでは、ＬＣＵを符号化単位（ＣＵ：ｃｏｄｉｎｇ  ｕｎｉｔ）として定義される４つの正方形ブロックに分割する（即ち分ける又は区分する）ことができ、各正方形ブロックはＬＣＵの４分の１の大きさである。各ＣＵは、より小さい、それぞれがＣＵの４分の１の大きさの、４つのＣＵへと更に分割することができる。この分割プロセスは、深度レベル基準やレート−歪み（ＲＤ：ｒａｔｅ  ｄｉｓｔｏｒｔｉｏｎ）基準など、一定の基準が満たされるまで繰り返されることができる。例えば、ＬＣＵの区分化として、最も低いＲＤコストを与える区分化が選択される。従ってＨＥＶＣでは、ＣＵが複数領域へのピクチャの区分化を定め、マクロブロック構造に取って代わり、以下でより詳細に説明する予測単位（ＰＵ：ｐｒｅｄｉｃｔｉｏｎ  ｕｎｉｔ）及び変換単位（ＴＵ：ｔｒａｎｓｆｏｒｍ  ｕｎｉｔ）として定義される１つ又は幾つかのブロックを含む。
【００２７】
ＨＥＶＣでは、ＬＣＵがＣＵへと分割される方法のＬＣＵ区分を示すために、４分木データ表現を使用する。具体的には４分木の各ノードにおいて、そのノードが４つのサブノードに更に分割される場合はビット「１」が割り当てられ、さもなければビット「０」が割り当てられる。バイナリデータの４分木表現は、ＣＵと共に符号化され、復号プロセスで使用するためにオーバヘッドとして伝送される。４分木の各葉において、２Ｌｘ２Ｌの寸法を有する最終ＣＵは（２Ｌは最終ＣＵの行幅及び列の高さの両方に等しい）、あり得る４つのブロック寸法のうちの１つを有することができ、各ＣＵパターン内の２Ｌｘ２Ｌ、２ＬｘＬ、Ｌｘ２Ｌ、及びＬｘＬのブロック寸法は予測単位（ＰＵ）として定義される。従って、最も大きいＰＵの大きさはＣＵの大きさに等しく、他の認められたＰＵの大きさは予測の種類、即ちイントラ予測又はインター予測に依存する。
【００２８】
本明細書では予測単位を、符号化プロセス中の予測のための基本単位として定める。ＣＵのレベルでは、イントラ（空間）予測又はインター（時間）予測のいずれかが符号器のコントローラ（図１には図示せず）によって選択され、コントローラは制御信号を（図１の）スイッチ１２０に与えて選択された予測の種類を知らせる。その後、選択された予測の種類は、ＣＵ内の全ＰＵに適用される。符号化モード（即ちイントラモード又はインターモード）を示すデータ及びイントラモードに関するイントラ予測方向は、記憶するための又は復号器へのビットストリーム内で伝送するための映像データに付随する。更に、符号化モード及びイントラ予測方向データは符号化（及び復号）アルゴリズムにとって、例えば符号器のコントローラ（図示せず）によってアクセス可能である。
【００２９】
より具体的には、ＨＥＶＣは、イントラピクチャ（即ちＩピクチャ又はフレーム）及びインターピクチャ（例えばＢ及びＰピクチャ又はフレーム）をサポートする。イントラピクチャは他の如何なるピクチャも参照することなしに独立に符号化され、それにより復号を開始できる可能な箇所を提供する。従って、イントラピクチャ内のＣＵを（対応するＴＵを符号化することによって）イントラ符号化するには空間予測しか認められない。本明細書で使用するとき、イントラ符号化（又はイントラモードでの符号化）は、イントラ（空間）予測アルゴリズム（例えば図１の１１４）を用いたブロックの符号化を意味し、空間予測はピクチャ内の空間相関を利用することでピクチャを表現するのに必要な伝送データの量を減らす。本明細書ではイントラ符号化されたブロックをイントラブロックと呼ぶ。予測モードは、前に符号化されたデータ（即ち空間又は時間）から信号を生成するための、予測とオリジナルとの間の残差を最小限にする方法を定める。
【００３０】
対照的に、インターピクチャはインター予測を用いて符号化され、インター予測は現在のピクチャ以外の基準ピクチャのデータ要素に由来する予測である。本明細書では時間（インター）予測アルゴリズム（例えば図１の１１８）を用いたブロックの符号化として定義するインター符号化（又はインターモードでの符号化）は、映像圧縮の殆どを行う。その理由は、インター符号化では、時間予測アルゴリズムを使用してピクチャから動き情報を抽出することにより、ピクチャと時間的基準との差だけが符号化されるからである。時間的基準とは、前に符号化されたイントラピクチャ又はインターピクチャである。インターピクチャは、イントラ予測及びインター予測の両方をサポートする。本明細書ではインター符号化されたブロックをインターブロックと呼ぶ。
【００３１】
上記で暗に示したように、ＣＵは、（イントラモードで）空間的に符号化するか、又は（インターモードで）時間的に予測符号化することができる。ＣＵがイントラモードで符号化される場合、ＣＵの各ＰＵは、独自の空間予測方向を有することができる。ＣＵがインターモードで符号化される場合、ＣＵの各ＰＵは、独自の動きベクトル及び関連する基準ピクチャを有することができる。図１の説明に再び戻り、ＨＥＶＣ符号器１００は、ＣＵの符号化を実施するために慨して以下のように動作する。一実施形態では、映像データに対応する現在の画素のＰＵブロックｘを所与として、スイッチ１２０の配置に応じた、空間予測ブロック１１４を用いる空間予測又は時間予測ブロック１１８を用いる時間予測により、予測ＰＵ，ｘ’がまず得られる。次いで予測ＰＵが現在のＰＵから引かれ、残差ＰＵ，ｅがもたらされる。
【００３２】
ＨＥＶＣは、これだけに限定されないが、水平、垂直、斜め４５度、斜め１３５度、ＤＣ等を含む３５個の可能な角度の空間予測方向をＰＵごとに提供する。予測方向は、＋／−［０，２，５，９，１３，１７，２１，２６，３２，３３，３４］の角度を有する。ＰＵごとの空間予測方向を示すために、任意の適切な構文を使用することができる。時間予測は、動き推定演算によって行われる。動き推定演算では、符号器１００内の復号プロセス（本明細書では復号器とも呼ぶ）（即ち逆量子化器１０８、逆変換１１０、及びループフィルタ１１２）を使用して生成され、基準バッファ１１６内に記憶される基準ピクチャに関し、現在のＰＵのベストマッチの予測を探す。ベストマッチの時間予測は、動きベクトル（ＭＶ：ｍｏｔｉｏｎ  ｖｅｃｔｏｒ）及び関連する基準ピクチャ（ｒｅｆＩｄｘ）によって記述される。Ｂピクチャ内のＰＵは、最大２つのＭＶを有することができる。適切な構文に従い、ＭＶ及びｒｅｆＩｄｘの両方が、時間予測ブロック１１８によって提供される。
【００３３】
画素（残差ＰＵ，ｅ及びＰＵを含むＣＵに対応する）の変換単位ブロック（ＴＵ）は、変換ブロック１０２内で変換演算にかけられ、それぞれが映像データに対応する複数の変換係数を含む、変換領域内のＴＵ，Ｅがもたらされる。ＨＥＶＣでは、様々な大きさの１組のブロック変換（ＴＵ）をＣＵに適用することができる。より具体的には、ＴＵは、ＰＵと同じ大きさとすることができ、又はＰＵの大きさを超えても良いがＣＵにはそれが当てはまらず、又はＰＵが複数のＴＵを含み得る。更に、ＴＵは、正方形ブロック（即ちブロックの縦横が等しい）とすることも矩形ブロック（即ちブロックの縦横が等しくない）とすることもできる。ＣＵ内の各ＴＵの大きさ及び位置は、ＲＱＴと呼ばれる別の４分木によって識別され、ＲＱＴは、記憶するための又は復号器へのビットストリーム内で伝送するための符号化済みＣＵに付随する。ＲＱＴ内に含まれるデータは、符号化（及び復号）アルゴリズムにとって、例えば符号器のコントローラ（図示せず）によってアクセス可能である。
【００３４】
より具体的には、ＨＥＶＣはブロック変換演算を使用し、このブロック変換演算は、ＴＵブロック内の画素の相関を失わせ、低次の変換係数にブロックのエネルギを圧縮する傾向がある。低次の変換係数は、周波数領域内にあると考えられるスカラ量として定められる。一実施形態では、変換ブロック１０２は、ＴＵブロック内の画素の離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｅｔ  Ｃｏｓｉｇｎ  Ｔｒａｎｓｌｆｏｒｍ）を行う。本明細書ではＴＵを、変換、量子化、及びエントロピ符号化演算中に処理されるブロック単位若しくは要素ブロックとして定義する。
【００３５】
変換ブロック１０２の出力Ｅは、高さＨ及び幅Ｗを有する、変換係数の二次元アレイ又は行列（ＷｘＨ）を含む変換単位ブロックである。残差の変換係数ＴＵ，Ｅが量子化ブロック１０４内で量子化され、量子化済み変換係数の二次元行列（ＷｘＨ）を含む変換単位ブロックが生成される。本明細書では、変換係数及び量子化済み変換係数の両方を慨して係数と呼ぶ。量子化は、データ圧縮において非常に重要な役割を果たす。ＨＥＶＣでは、量子化が、高精度の変換係数を有限数の可能な値に変換する。量子化は、不可逆の演算であり、量子化による損失を回復することはできない。
【００３６】
量子化済み変換係数がエントロピ符号化され、符号器１００からの最終的な圧縮ビットストリーム１２２（本明細書では一次元「ビットシーケンス」とも呼ぶ）がもたらされる。ＨＥＶＣでは、エントロピ符号化が、コンテキスト適応型二値算術符号化方式（ＣＡＢＡＣ：ｃｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ−ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ）を使用して実行される。他の映像圧縮技法では、ＣＡＢＡＣ並びにコンテキスト適応型可変長符号化方式（ＣＡＶＬＣ：ｃｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｖａｒｉａｂｌｅ−ｌｅｎｇｔｈ  ｃｏｄｉｎｇ）などの他のエントロピ符号化アルゴリズムを使用する。或る映像圧縮技法がＣＡＶＬＣ及びＣＡＢＡＣの両方を提供する場合、これらのエントロピ符号化技法の両方を実施することができる符号器（又は復号器）は、２つの構成に従って動作すると言える。その２つの構成とはつまり、ＣＡＶＬＣエントロピ符号化を実施する場合の低複雑度構成と、ＣＡＢＡＣエントロピ符号化を実施する場合の高効率構成である。
【００３７】
符号器１００内の復号プロセスでは、残差の量子化済み変換係数ＴＵが逆量子化ブロック１０８内で逆量子化され（量子化ブロック１０４の（厳密にではないが）逆の演算）、残差の逆量子化済み変換係数ＴＵ，Ｅ’がもたらされる。残差の逆量子化済み変換係数ＴＵ，Ｅ’は逆変換ブロック１１０内で逆変換され（変換ブロック１０２の逆）、再構築された残差ＴＵ，ｅ’がもたらされる。次いで、再構築された残差ＴＵ，ｅ’が対応する空間又は時間予測ｘ’に追加され、再構築されたＰＵ，ｘ’’が形成される。ＨＥＶＣでは、再構築されたＬＣＵにわたって適応ループフィルタ１１２が実行され、適応ループフィルタ１１２は、ブロックの境界を平滑化し、入力ピクチャと出力ピクチャとの間の符号化歪みを最小限にする。再構築されたピクチャが基準ピクチャである場合、それらのピクチャは、将来の時間予測用に基準バッファ１１６内に時間的基準として記憶される。
【００３８】
外部の復号器（図示せず）は、符号器のエントロピ符号化ブロック１０６の逆のアルゴリズムを実行するエントロピ復号ブロックを含み、そのため、ビットストリームを受け取り、量子化済み変換係数のブロック（ＴＵ）を生成する。復号器は更に、符号器１００内で復号プロセスを実行する要素と同じ要素を含み、それらの要素は、エントロピ復号ブロックから量子化済み変換係数を受け取り、対応する映像のピクチャを生成する。つまり復号器内の復号プロセスは更に、上記のように動作する逆量子化器１０８、逆変換１１０、ループフィルタ１１２、空間予測ブロック１１４、基準バッファ１１６、時間予測ブロック１１８、及びスイッチ１２０を含む。
【００３９】
残りの図２〜図５は、本開示の様々な実施形態を示す。より具体的には、図２及び図４は、一部の実施形態による変換係数の矩形ブロックを量子化する方法２００及び４００をそれぞれ示す。例えば、符号器１００が、方法２００及び４００の機能の少なくとも一部を量子化ブロック１０４内で実行する。従って、量子化ブロックは、図２及び図４に関して図示するように処理を実行するように構成される。図３及び図５は、一部の実施形態による量子化済み変換係数の矩形ブロックを逆量子化する方法３００及び５００をそれぞれ示す。例えば、（符号器１００内外の）復号器は、方法３００及び５００の機能の少なくとも一部を逆量子化ブロック１０８内で実行する。従って、逆量子化ブロックは、図３及び図５に関して図示するように処理を実行するように構成される。
【００４０】
ＨＥＶＣを用いて実施するための方法２００〜５００について以下で説明し、符号器及び復号器は、高効率映像符号化規格に従って動作するように構成される。従って、本明細書に記載する関数（等式）及びマッピングテーブルは、ＨＥＶＣのために最適化される。但し他の実施形態では、方法２００〜５００は、異なる映像圧縮規格を使って又は独占権下にある映像圧縮技法を使って実施されうる。従って、本明細書に記載する関数及びマッピングテーブルは、使用される特定の映像圧縮技法に少なくとも部分的に応じて異なり得る。
【００４１】
次に、符号器１００内で実行される方法２００の詳細に移る。２０２で、量子化ブロック１０４が、或るピクチャから生成された変換係数のＷｘＨのブロックを受け取り、Ｗは、ブロックの行幅でありＨはブロックの列の高さである。Ｗ及びＨは任意の正値とすることができるが、一実施形態ではＷ及びＨの両方が正の整数である。量子化ブロックは、本教示に従ってこのＷｘＨのブロックに量子化処理を施し、ピクチャを再構築するために用いられるビットシーケンスを生成するために使用される量子化済み変換係数のブロックを生成するように動作可能である。
【００４２】
２０４で、量子化ブロックはブロックの大きさ（即ちＷ及びＨの値）に応じて、（「はい」の分岐の後に続く）第１の量子化アルゴリズムを適用するか、（「いいえ」の分岐の後に続く）第２の量子化アルゴリズムを適用するかを決定する。一実施形態では、整数Ｘと共にＷｘＨ＝Ｘ２が成立する場合、又は関数
【００４３】
【数５】
0005770378.tif 000006
【００４４】
の出力Ｍが整数値（即ち整数）に等しい場合、符号器は、第１の量子化アルゴリズムを適用する。従って、上記の基準を満たす全ての正方形ＴＵブロック及び一部の矩形ブロックに、第１の量子化アルゴリズムが適用される。
【００４５】
さもなければ、（ＷｘＨ＝２Ｘ２が成立するＨＥＶＣにおいてなど）ＷｘＨ≠Ｘ２が成立するか、又は
【００４６】
【数６】
0005770378.tif 000007
【００４７】
が非整数値に等しい場合、符号器は、第２の量子化アルゴリズムを適用する。第１の量子化アルゴリズムとは対照的に、第２の量子化アルゴリズムは矩形ブロックにのみ適用される。複数の量子化アルゴリズム間のこの選択は、今までに無いものである。従来、単一の量子化アルゴリズムが変換係数の各ブロックに適用され、そのアルゴリズムは正方形のＴＵ向けに最適化されていた。
【００４８】
概して、図２に関して示す実施形態では、第１の量子化アルゴリズムを適用することは、量子化済み変換係数のブロックを生成するために使用される１組の第１の定数を計算するために第１のマッピングテーブルを使用することを含み、第２の量子化アルゴリズムを適用することは、量子化済み変換係数のブロックを生成するために使用される１組の第２の定数を計算するために第２のマッピングテーブルを使用することを含む。本明細書で定義するとき、マッピングテーブルとは、処理されている所与の変換係数の選択された量子化パラメータから定数Ｑを計算する際に使用される値、又は処理されている所与の量子化済み変換係数の復号された量子化パラメータから定数ＩＱを計算する際に使用される値のテーブルである。「シフトされた」マッピングテーブルは、１対のＱ計算関数又は１対のＩＱ計算関数内で使用される同じマッピングテーブルを指し、以下でより詳細に説明するように、対の中の関数の一方は、対の中の他方の関数の出力値をシフトする演算を含む。
【００４９】
より具体的には、量子化済み変換係数のブロックは、ブロック内の各変換係数に適用される以下の量子化関数（１）を用いて生成される。高価な除算演算又は乗算演算の代わりに、２＾ｎによる除算又は乗算のそれぞれに相当する、ビット数ｎによる右シフト又は左シフト（＞＞又は＜＜としてそれぞれ示す）を使用することが好ましく、広く受け入れられている。
【００５０】
量子化関数（１）は、
ｌｅｖｅｌ＝（ｃｏｅｆｆ＊Ｑ＋ｏｆｆｓｅｔ）＞＞Ｑｂｉｔｓ  （１）
として定義され、
ここでｃｏｅｆｆは、量子化関数（１）に入力されるＷｘＨのブロックの変換係数からの所与の変換係数であり、
ｌｅｖｅｌは、量子化関数（１）から出力される対応する量子化済み変換係数であり、
Ｑは、出力Ｍが整数値に等しい場合に第１のマッピングテーブルから得られる定数であり、さもなければＱは第２のマッピングテーブルによって得られ、
Ｑｂｉｔｓは、量子化関数内の除算演算に相当する右シフトを実行する際に使用される幾つかのビットを含む計算可能な定数であり、
ｏｆｆｓｅｔは、Ｑｂｉｔｓの値を用いて得られる計算可能な定数である。
【００５１】
第１の量子化アルゴリズムを適用する際（判定ブロック２０４の「はい」の分岐に関して示す）、符号器は（２０６〜２０８で）関数（１）を用いてシーケンス内のブロックの中の各変換係数、即ちｃｏｅｆｆを処理し、（２１０で）対応する量子化済み変換係数、即ちｌｅｖｅｌを（２１０で）求める。量子化処理の説明を簡単にするために、「第１の」変換係数の処理だけを示す。しかし、同様の処理が、ブロック内の残りの変換係数についても行われる。
【００５２】
より具体的には、２０６及び２０８で、量子化器は、第１の変換係数について、関数（１）への入力として必要なＱ、Ｑｂｉｔｓ、Ｏｆｆｓｅｔなどの全ての変数を計算する。つまり２０６で、量子化器は、Ｑを計算する。この事例ではＷｘＨ＝Ｘ２なので、Ｑ＝Ｑ１である。Ｑ１は、
Ｑ＝ｆ１（ＱＰ％６）、即ちモジュロ演算  （２）
として第１のマッピングテーブル（２）を用いて計算され、ここでｆ１（ｘ＝０，１，２，３，４，５）＝｛２６２１４，２３３０２，２０５６０，１８３９６，１６３８４，１４５６４｝である。従ってこの（ＷｘＨ＝Ｘ２が成立する）場合、変換係数のＷｘＨのブロックを量子化する際に使用するために、この第１のマッピングテーブルに基づいて１組の第１の定数Ｑが求められる。
【００５３】
２０８で、量子化器が、現在処理されている第１の変換係数ｃｏｅｆｆについて、Ｑｂｉｔｓを計算し、Ｑｂｉｔｓを用いてオフセットを計算し、ＱＰを使用する。一実施形態では、量子化パラメータＱＰは、入力構成ファイルによって予め定められ、又はレート歪み最適化やレート制御メカニズムなどの一定の規則に基づき符号器によって決定される。ＱＰは、符号化プロセスの一環として生成されるビットストリーム内に符号化される。以下の関数／等式（３）及び（４）をそれぞれ使い、Ｑｂｉｔｓ及びｏｆｆｓｅｔが計算され、求められ、又は得られる。
【００５４】
Ｑｂｉｔｓ＝（２１＋ＱＰ／６−ＩｎｔｅｇｅｒＭ−ＤＢ＋ＲｏｕｎｄｉｎｇＳｈｉｆｔ）  （３）
ここでＤＢ＝Ｂ−８（８ビット入力での内部ビット深度増加）であり、
【００５５】
【数７】
0005770378.tif 000008
【００５６】
であり、
ＩｎｔｅｇｅｒＭ＝Ｃｅｉｌ（Ｍ）であり、ここでＣｅｉｌ（Ｍ）は、
【００５７】
【数８】
0005770378.tif 000009
【００５８】
について最も近くて最も大きい整数値であり、
ここで、ＷｘＨ＝Ｘ２についてはＩｎｔｅｇｅｒＭ＝Ｍであり、又は
【００５９】
【数９】
0005770378.tif 000010
【００６０】
は整数値に等しく、
ＩｎｔｅｇｅｒＭ＝Ｍの場合、ＲｏｕｎｄｉｎｇＳｈｉｆｔ＝０であり、さもなければＲｏｕｎｄｉｎｇＳｈｉｆｔ＝（ＱＰ％６＋３）／６、ここで（ＨＥＶＣ実装では）ＩｎｔｅｇｅｒＭ＝Ｍ−０．５であり、
Ｂ＝ソースビット幅（例えば８又は１０）である。
【００６１】
ｏｆｆｓｅｔ＝１＜＜（Ｑｂｉｔｓ−１）  （４）
上記のように、Ｑｂｉｔｓ、Ｑ１、及びｏｆｆｓｅｔが求められると、量子化器は、量子化関数（１）を用いて（２１０で）対応する第１の量子化済み変換係数を求める。量子化済み変換係数のブロックＷｘＨが求められると、そのブロックは、エントロピ符号化され、記憶され又は復号器に与えられる最終的な圧縮ビットストリーム１２２が、２１４でもたらされる。ＨＥＶＣに適合する一実施形態では、符号器がレート歪み最適化による量子化（ＲＤＯＱ：Ｒａｔｅ  Ｄｉｓｔｏｒｔｉｏｎ  Ｏｐｔｉｍｉｚｅｄ  Ｑｕａｎｔｉｚａｔｉｏｎ）と呼ばれる機能を使用する。ＲＤＯＱが使用可能にされる場合、符号器は、ｌｅｖｅｌを符号化するコストとｌｅｖｅｌを符号化しないでおくコストとを比較することによって、各量子化済み変換係数をエントロピ符号化するか否か（２１２で）判定する。より具体的には、符号器は、値Ｑ１及びＱｂｉｔｓを使用し（ＷｘＨ＝Ｘ２が成立する場合）、及び以下の関数（５）、（６）、（７）、（８）、及び（９）を使用し、第１の量子化済み変換係数ｌｅｖｅｌのエントロピ符号化を行うか否か判定する。
【００６２】
ＵｎｃｏｄｅｄＣｏｓｔ＝ｕｎｃｏｄｅｄＥｒｒｏｒ２・ｅｒｒＳｃａｌｅ  （５）
ＣｏｄｅｄＣｏｓｔ＝ｃｏｄｅｄＥｒｒｏｒ２・ｅｒｒＳｃａｌｅ＋ｒａｔｅＣｏｓｔ  （６）
ここで、ｕｎｃｏｄｅｄＥｒｒｏｒ＝ｃｏｅｆｆ×Ｑ  （７）
ｃｏｄｅｄＥｒｒｏｒ＝ｃｏｅｆｆ×Ｑ−（ｌｅｖｅｌ＜＜Ｑｂｉｔｓ）  （８）
【００６３】
【数１０】
0005770378.tif 000011
【００６４】
が成立する。
ＵｎｃｏｄｅｄＣｏｓｔ＞ＣｏｄｅｄＣｏｓｔが成立する場合、ｌｅｖｅｌは、符号化される。さもなければｌｅｖｅｌは、符号化されないままである。
【００６５】
判定関数２０４に戻り、ＷｘＨ≠Ｘ２が成立するか、又は
【００６６】
【数１１】
0005770378.tif 000012
【００６７】
が非整数に等しい場合、方法２００のブロック２１６及び２０８〜２１４に関して図示するように、符号器は第２の量子化アルゴリズムを実行する。ＨＥＶＣ符号器構成では、第２の量子化アルゴリズムは、ＷｘＨ＝２Ｘ２が成立する場合（例えばＬｘ２Ｌ及び２ＬｘＬの矩形型のＴＵと共に）に、適用される。第２の量子化アルゴリズムを適用する際、符号器は、量子化関数（１）を用いてシーケンス内のブロックの中の各変換係数、即ちｃｏｅｆｆを処理し、対応する量子化済み変換係数、即ちｌｅｖｅｌを求める。量子化処理の説明を簡単にするために、「第１の」変換係数の処理だけを示す。しかし、同様の処理が、ブロック内の残りの変換係数についても行われる。
【００６８】
より具体的には、２１６で、量子化器がＱを計算する。この事例では、（ＷｘＨ≠Ｘ２なので）Ｑ＝Ｑ２であり、Ｑ２は、
Ｑ＝ｆ２（ＱＰ％６）  （１０）
として第２のマッピングテーブル（１０）を用いて計算され、ここで、ＨＥＶＣの実施形態ではｆ２（ｘ＝０，１，２，３，４，５）＝｛１８５３６，１６４７７，１４５３８，１３００７，１１５８５，１０２９８｝である。従って、この（ＷｘＨ≠Ｘ２が成立する）場合、変換係数のＷｘＨのブロックを量子化する際に使用するために、この第２のマッピングテーブルに基づいて１組の第２の定数Ｑが求められる。方法２００は、続けて上記のようにブロック２０８〜２１４の機能を実行し、変換係数のＷｘＨのブロックに対応するビットシーケンスを生成する。
【００６９】
次に、復号器内で実行される図３の方法３００の詳細に移る。３０２で、逆量子化ブロック（例えば１０４）は、量子化済み変換係数のＷｘＨのブロックを受け取り、Ｗは、ブロックの行幅でありＨはブロックの列の高さである。Ｗ及びＨは、任意の正値とすることができるが、一実施形態ではＷ及びＨの両方が、正の整数である。逆量子化ブロックは、本教示に従ってこのＷｘＨのブロックに逆量子化処理を施し、量子化済み変換係数のＷｘＨのブロックに対応するピクチャを生成するために用いられる（逆量子化済み）変換係数のブロックを生成するように動作可能である。
【００７０】
３０４で、逆量子化ブロックは、ブロックの大きさ（即ちＷ及びＨの値）に応じて、（「はい」の分岐の後に続く）第１の逆量子化アルゴリズムを適用するか、（「いいえ」の分岐の後に続く）第２の逆量子化アルゴリズムを適用するかを決定する。一実施形態では、整数Ｘと共にＷｘＨ＝Ｘ２が成立する場合、又は関数
【００７１】
【数１２】
0005770378.tif 000013
【００７２】
の出力Ｍが整数値（即ち整数）に等しい場合、復号器は、第１の逆量子化アルゴリズムを適用する。従って、上記の基準を満たす全ての正方形ＴＵブロック及び一部の矩形ブロックに第１の逆量子化アルゴリズムが適用される。
【００７３】
さもなければ、（ＷｘＨ＝２Ｘ２が成立するＨＥＶＣにおいてなど）ＷｘＨ≠Ｘ２が成立するか、又は
【００７４】
【数１３】
0005770378.tif 000014
【００７５】
が非整数値に等しい場合、復号器は、第２の逆量子化アルゴリズムを適用する。第１の逆量子化アルゴリズムとは対照的に、第２の逆量子化アルゴリズムは、矩形ブロックにのみ適用される。複数の逆量子化アルゴリズム間のこの選択は、今までに無いものである。従来、単一の逆量子化アルゴリズムが量子化済み変換係数の各ブロックに適用され、そのアルゴリズムは正方形のＴＵ向けに最適化されていた。
【００７６】
概して、図３に関して示す実施形態では、第１の逆量子化アルゴリズムを適用することは、変換係数のブロックを生成するために使用される１組の第１の定数を計算するために第１のマッピングテーブルを使用することを含み、第２の逆量子化アルゴリズムを適用することは、変換係数のブロックを生成するために使用される１組の第２の定数を計算するために第２のマッピングテーブルを使用することを含む。より具体的には、変換係数のブロックは、以下の逆量子化関数（１１）を用いて生成され、
ｃｏｅｆｆＱ＝（（ｌｅｖｅｌｘＩＱ＜＜（ＱＰ／６））＋ｏｆｆｓｅｔ）＞＞ＩＱｂｉｔｓ  （１１）
ｌｅｖｅｌは、逆量子化関数（１１）に入力される、量子化済み変換係数のＷｘＨのブロックからの第１の量子化済み変換係数であり、
ｃｏｅｆｆＱは、逆量子化関数（１１）から出力される対応する第１の変換係数であり、
ＩＱは、出力Ｍが整数値に等しい場合に第１のマッピングテーブルから得られる定数であり、さもなければＩＱは、第２のマッピングテーブルから得られ、
ＱＰは、復号された量子化パラメータであり、
ＩＱｂｉｔｓは、第１の関数内で右シフトを行う際に使用される幾つかのビットを含む計算可能な定数であり、
ｏｆｆｓｅｔは、ＩＱＢｉｔｓ又はＷｘＨに由来する計算可能な定数である。
【００７７】
第１の逆量子化アルゴリズムを適用する際（判定ブロック３０４の「はい」の分岐に関して示す）、復号器は、（３０６〜３０８で）関数（１１）を用いてシーケンス内のブロックの中の各量子化済み変換係数、即ちｌｅｖｅｌを処理し、（３１０で）対応する変換係数、即ちｃｏｅｆｆＱを求める。逆量子化処理の説明を簡単にするために、「第１の」量子化済み変換係数の処理だけを示す。しかし、同様の処理が、ブロック内の残りの量子化済み変換係数についても行われる。
【００７８】
より具体的には、３０６及び３０８で、逆量子化器は、第１の量子化済み変換係数について、関数（１１）への入力として必要なＩＱ、ｏｆｆｓｅｔ、ＩＱｂｉｔｓなどの全ての変数を計算する。つまり３０６で、逆量子化器は、ＩＱを計算する。この事例ではＷｘＨ＝Ｘ２なので、ＩＱ＝ＩＱ１が成立する。ＩＱ１は、
ＩＱ＝ｇ１（ＱＰ％６）、即ちモジュロ演算  （１２）
として第１のマッピングテーブル（１２）を用いて計算され、ここでｇ１（ｘ＝０，１，２，３，４，５）＝｛４０，４５，５１，５７，６４，７２｝である。従って、この（ＷｘＨ＝Ｘ２が成立する）場合、量子化済み変換係数のＷｘＨのブロックを逆量子化する際に使用するために、この第１のマッピングテーブルに基づいて１組の第１の定数ＩＱが求められる。
【００７９】
３０８で、逆量子化器は、現在処理されている第１の量子化済み変換係数ｌｅｖｅｌについて、ＩＱｂｉｔｓ及びｏｆｆｓｅｔを計算し、ＱＰを復号し、ＱＰは、第１の量子化済み変換係数のために符号器によって選択される量子化パラメータである。第１の逆量子化アルゴリズムを適用する一方で、以下の関数（１３）及び（１４）のそれぞれを使用し、ＩＱｂｉｔｓ及びｏｆｆｓｅｔが計算される。
【００８０】
ＩＱｂｉｔｓ＝（ＩｎｔｅｇｅｒＭ−１＋ＤＢ−ＲｏｕｎｄｉｎｇＳｈｉｆｔ）  （１３）
ここでＤＢ＝Ｂ−８（８ビット入力での内部ビット深度増加）であり、
Ｂ＝ソースビット幅であり、
【００８１】
【数１４】
0005770378.tif 000015
【００８２】
であり、
ＩｎｔｅｇｅｒＭ＝Ｃｅｉｌ（Ｍ）であり、ここでＣｅｉｌ（Ｍ）は
【００８３】
【数１５】
0005770378.tif 000016
【００８４】
について最も近くて最も大きい整数値であり、
ここで、ＷｘＨ＝Ｘ２についてはＩｎｔｅｇｅｒＭ＝Ｍであり、又は
【００８５】
【数１６】
0005770378.tif 000017
【００８６】
は整数値に等しく、
ＩｎｔｅｇｅｒＭ＝Ｍの場合、ＲｏｕｎｄｉｎｇＳｈｉｆｔ＝０であり、さもなければＲｏｕｎｄｉｎｇＳｈｉｆｔ＝（ＱＰ％６＋３）／６、ここで（ＨＥＶＣ実装では）ＩｎｔｅｇｅｒＭ＝Ｍ−０．５である。
【００８７】
ｏｆｆｓｅｔ＝１＜＜（ＩｎｔｅｇｅｒＭ−２＋ＤＢ）  （１４）
上記のように、ＩＱｂｉｔｓ、ＩＱ、及びｏｆｆｓｅｔが求められると、逆量子化器は、逆量子化関数（１１）を用いて（３１０で）対応する第１の変換係数を求める。一実施形態では、この逆量子化済み変換係数は、クリッピング（３１２）関数にかけられ、以下の関数（１５）に従って（−３２７６８，３２７６８）の範囲まで縮められる。
【００８８】
ｃｏｅｆｆＱ＝ｍｉｎ（３２７６７，ｍａｘ（−３２７６８，ｃｏｅｆｆＱ））  （１５）
３１４で、復号器は、逆量子化済み変換係数のブロックを用いて対応するピクチャを生成する。
【００８９】
判定関数３０４に戻り、ＷｘＨ≠Ｘ２が成立するか、又は
【００９０】
【数１７】
0005770378.tif 000018
【００９１】
が非整数値に等しい場合、方法３００のブロック３１６及び３０８〜３１４に関して図示するように、復号器は、第２の逆量子化アルゴリズムを実行する。ＨＥＶＣ復号器構成では、第２の逆量子化アルゴリズムは、ＷｘＨ＝２Ｘ２が成立する場合（例えばＬｘ２Ｌ及び２ＬｘＬの矩形型のＴＵと共に）に適用される。第２の逆量子化アルゴリズムを適用する際、復号器は逆量子化関数（１１）を用いてシーケンス内のブロックの中の各量子化済み変換係数、即ちｌｅｖｅｌを処理し、対応する（逆量子化済み）変換係数、即ちｃｏｅｆｆＱを求める。逆量子化処理の説明を簡単にするために、「第１の」量子化済み変換係数の処理だけを示す。しかし、同様の処理は、ブロック内の残りの量子化済み変換係数についても行われる。
【００９２】
より具体的には、３１６で、逆量子化器がＩＱを計算する。この事例では、（ＷｘＨ≠Ｘ２なので）ＩＱ＝ＩＱ２が成立し、ＩＱ２は、
ＩＱ＝ｇ２（ＱＰ％６）  （１６）
として第２のマッピングテーブル（１６）を用いて計算され、ここで、ＨＥＶＣの実施形態ではｇ２（ｘ＝０，１，２，３，４，５）＝｛５６，６３，７２，８０，９０，１０１｝である。従ってこの（ＷｘＨ≠Ｘ２が成立する）場合、量子化済み変換係数のＷｘＨのブロックを逆量子化する際に使用するために、この第２のマッピングテーブルに基づいて１組の第２の定数ＩＱが求められる。方法３００は、続けて上記のようにブロック３０８〜３１４の機能を実行し、変換係数のＷｘＨのブロックに対応するピクチャを生成する。
【００９３】
次に、符号器１００内で実行される図４の方法４００の詳細に移る。方法４００は、符号器内で実行される方法２００に似ており、上記で説明したが簡潔にするためにここでは繰り返し説明しない同様のブロック２０２〜２１４を含む。従ってこの実施形態では、判定ブロック２０４の「はい」の分岐の間に適用される第１の量子化アルゴリズムは、方法２００と方法４００とで同じである。しかし、ブロック２０４の「いいえ」の判定分岐で（ブロック４０２から始まり）実行される第２の量子化アルゴリズムは、方法４００内では異なる。
【００９４】
概して、図４に関して示す実施形態では、第１の量子化アルゴリズムを適用することは、量子化済み変換係数のブロックを生成するために使用される１組の第１の定数（Ｑ）を計算するために第１のマッピングテーブルを使用することを含み、第２の量子化アルゴリズムを適用することは、量子化済み変換係数のブロックを生成するために使用される１組の第２の定数（Ｑ）を計算するために、シフトされた第１のマッピングテーブルを使用することを含む。より具体的には、ＷｘＨ＝Ｘ２が成立する場合、Ｑ＝Ｑ１が第１のマッピングテーブルＱ＝ｆ（ＱＰ％６）を用いて上記のように計算され、ここで、ｆ（ｘ＝０，１，２，３，４，５）＝｛２６２１４，２３３０２，２０５６０，１８３９６，１６３８４，１４５６４｝である。他方で、４０２では、（ＷｘＨ≠Ｘ２が成立するので）Ｑ＝Ｑ２であり、Ｑ２は、以下のように定めるシフトされた第１のマッピングテーブル
Ｑ＝ｆ１（（ＱＰ＋３）％６）  （１７）
を用いて計算され、ここで、ｆ（ｘ＝０，１，２，３，４，５）＝｛２６２１４，２３３０２，２０５６０，１８３９６，１６３８４，１４５６４｝である。従ってこの（ＷｘＨ≠Ｘ２が成立する）場合、変換係数のＷｘＨのブロックを量子化する際に使用するために、シフトされた第１のマッピングテーブルに基づいて１組の第２の定数Ｑが求められる。
【００９５】
次に、復号器内で実行される図５の方法５００の詳細に移る。方法５００は、復号器内で実行される方法３００に似ており、上記で説明したが簡潔にするためにここでは繰り返し説明しない同様のブロック３０２〜３１４を含む。従ってこの実施形態では、判定ブロック３０４の「はい」の分岐の間に適用される第１の逆量子化アルゴリズムは、方法３００と方法４００とで同じである。しかし、ブロック３０４の「いいえ」の判定分岐で（ブロック５０２から始まり）実行される第２の逆量子化アルゴリズムは、方法５００内では異なる。
【００９６】
概して、図５に関して示す実施形態では、第１の逆量子化アルゴリズムを適用することは、（逆量子化済み）変換係数のブロックを生成するために使用される１組の第１の定数（ＩＱ）を計算するために第１のマッピングテーブルを使用することを含み、第２の逆量子化アルゴリズムを適用することは、変換係数のブロックを生成するために使用される１組の第２の定数（ＩＱ）を計算するために、シフトされた第１のマッピングテーブルを使用することを含む。より具体的には、上記のようにＷｘＨ＝Ｘ２が成立する場合、ＩＱ＝ＩＱ１は、第１のマッピングテーブルＩＱ＝ｇ１（ＱＰ％６）を用いて上記のように計算され、ここで、ｇ１（ｘ＝０，１，２，３，４，５）＝｛４０，４５，５１，５７，６４，７２｝である。但しこの事例では、５０２において、（ＷｘＨ≠Ｘ２が成立するので）ＩＱ＝ＩＱ２であり、ＩＱ２は、第１のマッピングテーブルのシフトされたバージョンを用いて計算される。従って、ＨＥＶＣにあるようにＭ＝ＩｎｔｅｇｅｒＭ−０．５の場合、シフトされたマッピングテーブルは以下の通りであり、
ＩＱ＝ｇ１（（ＱＰ＋３）％６）  （１８）
ここでｇ１（ｘ＝０，１，２，３，４，５）＝｛４０，４５，５１，５７，６４，７２｝である。従ってこの（ＷｘＨ≠Ｘ２が成立する）場合、量子化済み変換係数のＷｘＨのブロックを逆量子化する際に使用するために、シフトされた第１のマッピングテーブルに基づいて１組の第２の定数ＩＱが求められる。更に、ＨＥＶＣの実施形態では、変換係数を求めるために使用されるｏｆｆｓｅｔは、以下のように関数（１９）を用いて求められる。
【００９７】
ｏｆｆｓｅｔ＝１＜＜（ＩＱｂｉｔｓ−１）  （１９）
上記の明細書で特定の実施形態について説明してきた。但し、添付の特許請求の範囲に記載する本発明の範囲から逸脱することなしに、様々な修正及び変更を加えても良いことを当業者なら理解されよう。従って、本明細書及び図面は限定的な意味ではなく例示的な意味として考えるべきであり、そのようなあらゆる修正形態は本教示の範囲に含まれることを意図する。
【００９８】
これらの利益、利点、問題に対する解決策、及び何らかの利益、利点、若しくは解決策をもたらし得る、又はより顕著にし得る如何なる要素も、何れかの又は全ての請求項の重大な、所要の、又は不可欠な特徴若しくは要素として解釈すべきでない。本発明は、本願の係属中に加えられる任意の補正を含む添付の特許請求の範囲、及び発行されるそれらの請求項のあらゆる等価物によってのみ定められる。
【００９９】
概してこれらの教示では、図２〜図５に関して上記で詳述した本開示の実施形態による機能によって装置が構成され又は適合される。本明細書で使用するとき、「適合される（ａｄａｐｔｅｄ）」、「構成される（ｃｏｎｆｉｇｕｒｅｄ）」、「動作可能である（ｏｐｅｒａｂｌｅ）」、又は「する能力がある（ｃａｐａｂｌｅ  ｏｆ）」は、所望の機能を実行するためのソフトウェア及び／又はファームウェアでプログラムされた、ハードウェア又はハードウェアと処理装置との組合せを用いて示した装置が実装されることを意味する。
【０１００】
更に本明細書では、第１のと第２の、上部と下部などの関係語は、或るエンティティ又は行為を別のエンティティ又は行為と単に区別するために、かかるエンティティ又は行為間のそのような如何なる実際の関係又は順序を必ずしも必要とすることなしに、若しくは暗に示すことなしに使用することができる。用語「備える（ｃｏｍｐｒｉｓｅｓ）」、「備えている（ｃｏｍｐｒｉｓｉｎｇ）」、「有する（ｈａｓ）」、「有している（ｈａｖｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「含んでいる（ｉｎｃｌｕｄｉｎｇ）」、「含有する（ｃｏｎｔａｉｎｓ）」、「含有している（ｃｏｎｔａｉｎｉｎｇ）」、又はそれらの他の任意の変化形は、非排他的な包含を保護することを意図とし、それにより、列挙の要素を備え、有し、含み、含有するプロセス、方法、物品、又は機器はそれらの要素だけを含むのではなく、明確に列挙していない他の要素又はかかるプロセス、方法、物品、若しくは機器に固有でない他の要素を含んでも良い。「〜を備える（ｃｏｍｐｒｉｓｅｓ．．．ａ）」、「〜を有する（ｈａｓ．．．ａ）」、「〜を含む（ｉｎｃｌｕｄｅｓ．．．ａ）」、「〜を含有する（ｃｏｎｔａｉｎｓ．．．ａ）」が前に来る要素は、より多くの制約を受けることなしに、その要素を備え、有し、含み、含有するプロセス、方法、物品、又は機器において、同一の要素が更に存在することを排除するものではない。用語「ａ」及び「ａｎ」は、本明細書で明示的に別段の定めをした場合を除き１つ又は複数として定義する。用語「ほぼ（ｓｕｂｓｔａｎｔｉａｌｌｙ）」、「事実上（ｅｓｓｅｎｔｉａｌｌｙ）」、「おおよそ（ａｐｐｒｏｘｉｍａｔｅｌｙ）」、「約（ａｂｏｕｔ）」、又はそれらの他の任意の変型は、当業者なら理解するように近いものとして定義し、非限定的な一実施形態では、この用語は１０％以内、別の実施形態では５％以内、別の実施形態では１％以内、別の実施形態では０．５％以内であると定義される。本明細書で使用するとき、「結合される（ｃｏｕｐｌｅｄ）」という用語は、必ずしも直接的にではなく、且つ必ずしも機械的にではないが接続されているものとして定義する。特定の方法で「構成される（ｃｏｎｆｉｇｕｒｅｄ）」装置又は構造は、少なくともその方法で構成されるが、列挙されていない方法で構成することもできる。
【０１０１】
一部の実施形態が、マイクロプロセッサ、デジタル信号プロセッサ、特注プロセッサ、書替え可能ゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）などの、１個又は複数の汎用プロセッサ若しくは専用プロセッサ（又は「処理装置」）、並びに本明細書に記載の方法及び／又は機器の機能の一部、大部分、若しくは全てを特定の非プロセッサ回路と共に実施するためにその１個又は複数のプロセッサを制御する、記憶された固有のプログラム命令（ソフトウェア及びファームウェアの両方を含む）から成り得ることが理解されよう。或いは一部の又は全ての機能を、記憶されたプログラム命令を有しない状態機械によって、又は１つ若しくは複数の特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）内に実装することができ、各機能又は機能の幾つかの一部の組合せはカスタムロジックとして実装される。当然ながら、この２つの手法の組合せを使用することもできる。
【０１０２】
更に、本明細書に記載し権利を主張する方法を実行するように（例えばプロセッサを含む）コンピュータをプログラムするためのコンピュータ可読コードが記憶された、コンピュータ可読記憶媒体として一実施形態を実施することができる。そのようなコンピュータ可読記憶媒体の例には、これだけに限定されないが、ハードディスク、ＣＤ−ＲＯＭ、光学記憶装置、磁気記憶装置、ＲＯＭ（読取専用メモリ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ））、ＰＲＯＭ（プログラム可能読取専用メモリ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ））、ＥＰＲＯＭ（消去可能プログラム可能読取専用メモリ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ））、ＥＥＰＲＯＭ（電気的消去可能プログラム可能読取専用メモリ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ））、及びフラッシュメモリが含まれる。更に、例えば可用時間、最新技術、及び経済的配慮によって動機付けられる、場合によってはかなりの労力及び多くの設計上の選択があったとしても、本明細書に開示した概念及び原理によって導かれるとき、当業者はそうしたソフトウェア命令、プログラム、及びＩＣを最小限の実験で容易に作り出せることが予想される。
【０１０３】
本開示の要約は、技術的開示の性質を読者がすぐに確認できるようにするために提供する。要約は、特許請求の範囲又はその意味を解釈若しくは限定するために使用されないという理解の下で提出する。更に上記の詳細な説明では、本開示を簡素化するために様々な実施形態で様々な機能をまとめていることが分かる。この開示方法は、権利を主張する実施形態が、それぞれの請求項の中で明確に列挙するよりも多くの特徴を必要とするという意図を反映するものだと解釈すべきでない。むしろ、以下の請求項が反映するように、本発明の主題は開示した単一の実施形態の全ての特徴よりも少ない特徴にある。このため、各請求項が別々に権利を主張される主題として独立した状態で、以下の特許請求の範囲を詳細な説明の中に援用する。
【図１】
0005770378.tif 000023
【図２】
0005770378.tif 000024
【図３】
0005770378.tif 000025
【図４】
0005770378.tif 000026
【図５】
0005770378.tif 000027