"ビデオ信号を符号化する方法であって、複数の定数値の各々が、ビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する前記複数の定数値を記憶することと、ビデオ符号化装置が、固定小数点変換のサイズに基づいて前記定数値のうちの1つを選択することと、前記ビデオ符号化装置が、前記固定小数点変換の前に前記定数値に等しいビット数だけ変換入力信号を左シフトすること、及び前記固定小数点変換の後に前記定数値に等しいビット数だけ変換出力信号を右シフトすることによって、前記定数値に等しい値を用いて前記固定小数点変換において可変局所ビット深度増加を適用することとを備える、方法。前記固定小数点変換が2次元固定小数点変換を備え、前記定数値のうちの1つを選択することが、前記2次元固定小数点変換の1つの段のサイズに基づいて前記定数値のうちの1つを選択することと、前記定数値を2倍にすることとを備え、可変局所ビット深度増加を適用することが、前記2倍にされた定数値よりも小さいか又はそれに等しい値を用いて前記2次元固定小数点変換において前記可変局所ビット深度増加を適用することを備える、請求項1に記載の方法。前記方法は、前記ビデオ信号に内部ビット深度増加が適用されたかどうかを決定することと、前記ビデオ信号に前記内部ビット深度増加が適用されたとき、前記内部ビット深度増加の値に基づいて前記定数値を調整することと、を更に含み、前記可変局所ビット深度増加を適用することが、前記調整された定数値に等しい値を用いて前記固定小数点変換において前記可変局所ビット深度増加を適用することを含む、請求項1に記載の方法。前記定数値を調整することは、前記調整された定数値がN-Bdに等しくなるように、前記定数値Nを前記内部ビット深度増加の前記値Bdだけ低減することを備える、請求項3に記載の方法。前記定数値を調整することは、N-Bd≧0となるように、前記内部ビット深度増加の前記値が前記定数値よりも小さいか又はそれに等しいとき、前記定数値Nを前記内部ビット深度増加の前記値Bdだけ低減することを備える、請求項4に記載の方法。前記定数値を調整することは、N-Bd<0となるように、前記内部ビット深度増加の前記値Bdが前記定数値よりも大きいとき、前記定数値Nを0に低減することを備える、請求項4に記載の方法。前記固定小数点変換の後に前記定数値に等しい前記ビット数だけ前記変換出力信号を右シフトすることより前に前記変換出力信号にオフセットを適用することをさらに備える、請求項1に記載の方法。前記定数値がNに等しく、前記変換出力信号にオフセットを適用することが、2N1に等しいオフセットを前記変換出力信号に適用することを備える、請求項7に記載の方法。前記可変局所ビット深度増加の前記オフセット及び右シフトを、前記変換出力信号に適用される他のオフセット及び右シフトと結合することをさらに備える、請求項7に記載の方法。前記ビデオ符号化装置に前記複数の定数値を記憶することより前に、前記複数の異なる変換サイズのうちの1つに関連する前記定数値の各々が、前記ビデオ信号の入力ビット深度値と、前記変換サイズに関連する変換ビット深度値と、前記変換サイズに関連する変換ビット精度値とに基づいて事前計算される、請求項1に記載の方法。前記定数値Nの各々が、BiBTRN≦Zを満たすように事前計算され、Biが前記ビデオ信号の前記入力ビット深度値であり、BTRが、前記変換サイズに関連する前記変換ビット深度値であり、Zが、前記変換サイズに関連する前記変換ビット精度値である、請求項10に記載の方法。前記複数の異なる変換サイズが、方形変換サイズ及び矩形変換サイズのうちの1つ以上を備える、請求項1に記載の方法。前記複数の異なる変換サイズが、4×4変換、4×8変換、8×4変換、8×8変換、8×16変換、16×8変換、16×16変換、16×32変換、32×16変換、32×32変換、32×64変換、64×32変換、64×64変換、64×128変換、128×64変換、及び128×128変換のうちの1つ以上を備える、請求項12に記載の方法。ビデオ信号を符号化するためのビデオ符号化装置であって、複数の定数値の各々が、ビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する前記複数の定数値を記憶するメモリと、前記ビデオ符号化装置において固定小数点変換のサイズに基づいて前記定数値のうちの1つを選択することと、前記ビデオ符号化装置において、前記固定小数点変換の前に前記定数値に等しいビット数だけ変換入力信号を左シフトすること、及び前記固定小数点変換の後に前記定数値に等しいビット数だけ変換出力信号を右シフトすることによって、前記定数値に等しい値を用いて前記固定小数点変換において可変局所ビット深度増加を適用することとを行うプロセッサとを備える、ビデオ符号化装置。前記ビデオ符号化装置がビデオ符号化装置を備え、前記ビデオ符号化装置が、前記ビデオ信号を符号化するエントロピー符号化ユニットをさらに備える、請求項14に記載のビデオ符号化装置。前記ビデオ符号化装置がビデオ復号装置を備え、前記ビデオ復号装置が、前記ビデオ信号を復号するエントロピー復号ユニットをさらに備える、請求項14に記載のビデオ符号化装置。前記固定小数点変換が2次元固定小数点変換を備え、前記プロセッサが、前記2次元固定小数点変換の1つの段のサイズに基づいて前記定数値のうちの1つを選択し、前記定数値を2倍にし、2倍にされた前記定数値よりも小さいか又はそれに等しい値を用いて前記2次元固定小数点変換において前記可変局所ビット深度増加を適用する、請求項14に記載のビデオ符号化装置。前記プロセッサは、前記ビデオ信号に内部ビット深度増加が適用されたかどうかを決定し、前記ビデオ信号に前記内部ビット深度増加が適用されたとき、前記内部ビット深度増加の値に基づいて前記定数値を調整し、前記調整された定数値に等しい値を用いて前記固定小数点変換において前記可変局所ビット深度増加を適用する、請求項14に記載のビデオ符号化装置。前記プロセッサは、前記調整された定数値がN-Bdに等しくなるように、前記定数値Nを前記内部ビット深度増加の前記値Bdだけ低減することによって前記定数値を調整する、請求項18に記載のビデオ符号化装置。前記プロセッサは、N-Bd≧0となるように、前記内部ビット深度増加の前記値が前記定数値よりも小さいか又はそれに等しいとき、前記定数値Nを前記内部ビット深度増加の前記値Bdだけ低減する、請求項19に記載のビデオ符号化装置。前記プロセッサは、N-Bd<0となるように、前記内部ビット深度増加の前記値Bdが前記定数値よりも大きいとき、前記定数値Nを0に低減する、請求項19に記載のビデオ符号化装置。前記プロセッサが、前記固定小数点変換の後に前記定数値に等しい前記ビット数だけ前記変換出力信号を右シフトすることより前に前記変換出力信号にオフセットを適用する、請求項14に記載のビデオ符号化装置。前記定数値がNに等しく、前記プロセッサが、2N1に等しいオフセットを前記変換出力信号に適用する、請求項22に記載のビデオ符号化装置。前記プロセッサが、前記可変局所ビット深度増加の前記オフセット及び右シフトを、前記変換出力信号に適用される他のオフセット及び右シフトと結合する、請求項22に記載のビデオ符号化装置。前記メモリに記憶されるより前に、前記複数の異なる変換サイズのうちの1つに関連する前記定数値の各々が、前記ビデオ信号の入力ビット深度値と、前記変換サイズに関連する変換ビット深度値と、前記変換サイズに関連する変換ビット精度値とに基づいて事前計算される、請求項14に記載のビデオ符号化装置。前記定数値Nの各々が、BiBTRN≦Zを満たすように事前計算され、Biが前記ビデオ信号の前記入力ビット深度値であり、BTRが、前記変換サイズに関連する前記変換ビット深度値であり、Zが、前記変換サイズに関連する前記変換ビット精度値である、請求項25に記載のビデオ符号化装置。前記複数の異なる変換サイズが、方形変換サイズ及び矩形変換サイズのうちの1つ以上を備える、請求項14に記載のビデオ符号化装置。前記複数の異なる変換サイズが、4×4変換、4×8変換、8×4変換、8×8変換、8×16変換、16×8変換、16×16変換、16×32変換、32×16変換、32×32変換、32×64変換、64×32変換、64×64変換、64×128変換、128×64変換、及び128×128変換のうちの1つ以上を備える、請求項27に記載のビデオ符号化装置。ビデオ信号を符号化するためのビデオ符号化装置であって、複数の定数値の各々が、ビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する前記複数の定数値を記憶するための手段と、前記ビデオ符号化装置において固定小数点変換のサイズに基づいて前記定数値のうちの1つを選択するための手段と、前記固定小数点変換の前に前記定数値に等しいビット数だけ変換入力信号を左シフトすること、及び前記固定小数点変換の後に前記定数値に等しいビット数だけ変換出力信号を右シフトすることによって、前記定数値に等しい値を用いて前記固定小数点変換において可変局所ビット深度増加を適用するための手段とを備える、ビデオ符号化装置。前記固定小数点変換が2次元固定小数点変換を備え、前記2次元固定小数点変換の1つの段のサイズに基づいて前記定数値のうちの1つを選択するための手段と、前記定数値を2倍にするための手段と、2倍にされた前記定数値よりも小さいか又はそれに等しい値を用いて前記2次元固定小数点変換において前記可変局所ビット深度増加を適用するための手段とをさらに備える、請求項29に記載のビデオ符号化装置。前記ビデオ信号に内部ビット深度増加が適用されたかどうかを決定するための手段と、前記ビデオ信号に前記内部ビット深度増加が適用されたとき、前記内部ビット深度増加の値に基づいて前記定数値を調整するための手段と、調整された前記定数値に等しい値を用いて前記固定小数点変換において前記可変局所ビット深度増加を適用するための手段とをさらに備える、請求項29に記載のビデオ符号化装置。前記固定小数点変換の後に前記定数値に等しい前記ビット数だけ前記変換出力信号を右シフトすることより前に前記変換出力信号にオフセットを適用するための手段をさらに備える、請求項29に記載のビデオ符号化装置。前記複数の異なる変換サイズが、方形変換サイズ及び矩形変換サイズのうちの1つ以上を備える、請求項29に記載のビデオ符号化装置。ビデオ信号を符号化するための命令を備えるコンピュータ可読記憶媒体であって、前記命令は、プロセッサ中で実行されると、複数の定数値の各々が、ビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する前記複数の定数値を記憶することと、ビデオ符号化装置が固定小数点変換のサイズに基づいて前記定数値のうちの1つを選択することと、前記ビデオ符号化装置が前記固定小数点変換の前に前記定数値に等しいビット数だけ変換入力信号を左シフトすること、及び前記固定小数点変換の後に前記定数値に等しいビット数だけ変換出力信号を右シフトすることによって、前記定数値に等しい値を用いて前記固定小数点変換において可変局所ビット深度増加を適用することとを前記プロセッサに行わせる、コンピュータ可読記憶媒体。前記固定小数点変換が2次元固定小数点変換を備え、前記命令が、前記2次元固定小数点変換の1つの段のサイズに基づいて前記定数値のうちの1つを選択することと、前記定数値を2倍にすることと、2倍にされた前記定数値よりも小さいか又はそれに等しい値を用いて前記2次元固定小数点変換において前記可変局所ビット深度増加を適用することとを前記プロセッサに行わせる、請求項34に記載のコンピュータ可読記憶媒体。前記ビデオ信号に内部ビット深度増加が適用されたかどうかを決定することと、前記ビデオ信号に前記内部ビット深度増加が適用されたとき、前記内部ビット深度増加の値に基づいて前記定数値を調整することと、調整された前記定数値に等しい値を用いて前記固定小数点変換において前記可変局所ビット深度増加を適用することとを前記プロセッサに行わせる命令をさらに備える、請求項34に記載のコンピュータ可読記憶媒体。前記固定小数点変換の後に選択された前記定数値に等しい前記ビット数だけ前記変換出力信号を右シフトすることより前に前記変換出力信号にオフセットを適用することを前記プロセッサに行わせる命令をさらに備える、請求項34に記載のコンピュータ可読記憶媒体。前記複数の異なる変換サイズが、方形変換サイズ及び矩形変換サイズのうちの1つ以上を備える、請求項34に記載のコンピュータ可読記憶媒体。本開示では、変換において可変局所ビット深度増加を適用することによって、ビデオ符号化に関連する変換の固定小数点実装によって導入される丸め誤差を緩和するための技術について説明する。より詳細には、本技術は、ビデオ符号化装置において固定小数点変換のサイズに基づいて定数値を選択し、その定数値に等しい値を用いて変換において可変局所ビット深度増加を適用することを含む。可変局所ビット深度増加を適用するための本技術は、固定小数点変換の前に定数値に等しいビット数だけ変換入力信号を左シフトし、固定小数点変換の後に定数値に等しいビット数だけ変換出力信号を右シフトすることを含む。固定小数点変換のサイズの定数値は、ビデオ符号化装置に記憶された複数の異なる変換サイズのための複数の定数値から選択される。定数値の各々は、ビデオ符号化によってサポートされる複数の異なる変換サイズのうちの1つについて事前計算される。図1は、システム10内の発信源機器12のビデオエンコーダ20及び宛先機器14のビデオデコーダ30に関連する固定小数点変換において可変局所ビット深度増加を適用するための技術を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。可変局所ビット深度増加の値が、複数の異なる変換サイズについて事前計算され、ビデオエンコーダ20とビデオデコーダ30とに記憶される。適切な可変局所ビット深度増加が、次いで、ビデオエンコーダ20とビデオデコーダ30とによってそれぞれの固定小数点変換のサイズに基づいて選択され得る。このようにして、可変局所ビット深度増加は、システム10内の特定の変換の固定小数点実装によって導入される丸め誤差を緩和し得る。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先機器14に送信する発信源機器12を含む。発信源機器12及び宛先機器14は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末PDA、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、発信源機器12及び宛先機器14は、通信チャネル16を介してビデオ情報を通信することができるワイヤレス通信デバイスを備え得、その場合、通信チャネル16はワイヤレスである。但し、ビデオ符号化に関連する固定小数点変換において可変局所ビット深度増加を適用することに関係する本開示の技術は、必ずしもワイヤレスアプリケーション又は設定に限定されるとは限らない。例えば、これらの技術は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、又は他のシナリオに適用され得る。従って、通信チャネル16は、符号化ビデオデータの送信に好適なワイヤレス又は有線媒体の任意の組合せを備え得る。図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、変調器/復調器モデム22と、送信機24とを含む。宛先機器14は、受信機26と、モデム28と、ビデオデコーダ30と、表示装置32とを含む。本開示によれば、発信源機器12のビデオエンコーダ20は、ビデオエンコーダ20に記憶された複数の定数値からの固定小数点変換のサイズに基づいて定数値を選択し、その定数値に等しい値を用いて変換において可変局所ビット深度増加を適用することによって、ビデオエンコーダ20に関連する固定小数点変換において可変局所ビット深度増加を適用するための技術を実行するように構成され得る。その上、宛先機器14のビデオデコーダ30は、同様に、ビデオデコーダ30に関連する固定小数点逆変換において可変局所ビット深度増加を適用するための技術を実行するように構成され得る。他の例では、発信源機器及び宛先機器は他の構成要素又は構成を含み得る。例えば、発信源機器12は、外部カメラなどの外部ビデオ発信源18からビデオデータを受信し得る。同様に、宛先機器14は、内蔵表示装置を含むのではなく、外部表示装置とインターフェースし得る。図1の図示のシステム10は一例にすぎない。ビデオ符号化に関連する固定小数点変換において可変局所ビット深度増加を適用するための技術は、任意のデジタルビデオ符号化及び/又は復号装置によって実行され得る。本開示の技術は、一般にコーデックと呼ばれる、ビデオエンコーダ/デコーダによっても実行され得る。さらに、本開示の技術はビデオプリプロセッサによっても実行され得る。発信源機器12及び宛先機器14は、発信源機器12が宛先機器14に送信するための符号化ビデオデータを生成する、そのような符号化装置の例にすぎない。幾つかの例では、機器12、14は、機器12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器12とビデオ機器14との間の一方向又は双方向のビデオ送信をサポートし得る。発信源機器12のビデオ発信源18は、ビデオカメラなどの撮像機器、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び/又はビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオ発信源18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、いわゆるカメラ付き携帯電話又はビデオ電話を形成し得る。但し、上述のように、本開示で説明する技術は、概してビデオ符号化に適用可能であり得、ワイヤレス及び/又は有線アプリケーションに適用可能であり得る。各場合において、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先機器14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機24は、増幅器、フィルタ、及び1つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。宛先機器14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調する。チャネル16を介して通信される情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、マクロブロック及び他の符号化ユニット、例えば、GOPの特性及び/又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。表示装置32は、復号されたビデオデータをユーザに対して表示し、陰極線管CRT、液晶ディスプレイLCD、プラズマディスプレイ、有機発光ダイオードOLEDディスプレイ、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。図1の例では、通信チャネル16は、無線周波数RFスペクトルあるいは1つ又は複数の物理伝送線路など、任意のワイヤレス又は有線通信媒体、又はワイヤレス媒体と有線媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、有線媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータを発信源機器12から宛先機器14に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル16は、発信源機器12から宛先機器14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG-4、Part10、アドバンストビデオ符号化AVCと呼ばれるITU-TH.264規格、又は高効率ビデオ符号化HEVCと呼ばれる新生の次世代ビデオ符号化規格など、ビデオ圧縮規格に従って動作し得る。但し、本開示の技術は、いかなる特定の符号化規格にも限定されない。他の例には、MPEG-2及びITU-TH.263がある。図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なMUX-DEMUXユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX-DEMUXユニットはITUH.223マルチプレクサプロトコル、又はユーザデータグラムプロトコルUDPなどの他のプロトコルに準拠し得る。ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャグループGOPは、概して、一連の1つ以上のビデオフレームを備える。GOPは、GOP中に含まれる幾つかのフレームを記述するシンタックスデータを、GOPのヘッダ、GOPの1つ以上のフレームのヘッダ、又は他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロック又はマクロブロックのパーティションに対応し得る。例えば、マクロブロックのサイズよりも小さいブロックサイズは、マクロブロックのパーティションと呼ばれることがある。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定の符号化規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロックを含み得、それらのマクロブロックは、サブブロックとも呼ばれるパーティションに構成され得る。一例として、ITU-TH.264規格は、ルーマ成分については16×16、8×8、又は4×4、及びクロマ成分については8×8など、様々なブロックサイズのイントラ予測をサポートし、並びにルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8及び4×4、及びクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。HEVC規格は、32×32、64×64、又は128×128までのブロックサイズのイントラ及びインター予測をサポートし得る。HEVC規格は、符号化ユニットCU:codingunitと、予測ユニットPU:predictionunitと、変換ユニットTU:transformunitとに基づく、より効率的でフレキシブルなビデオ符号化を与える。CUは、H.264規格において使用されるマクロブロックと同様の圧縮の基本ユニットである。HEVCでは、高精細度ビデオコンテンツを効果的に圧縮するために、32×32、64×64、さらには128×128までのCUサイズがサポートされる。PUはインター/イントラ予測のユニットであり、単一のCU中に複数のPUが存在し得る。TUは、変換のユニットであり、1つ以上のPUを含むことができる。従来の4×4及び8×8変換に加えて、TUでは16×16、32×32、64×64、及び128×128整数変換がサポートされ得る。さらに、TUでは、4×8、8×4、8×16、16×8、16×32、32×16、32×64、64×32、64×128、及び128×64を含む、矩形変換もサポートされ得る。本開示では、N×xNとN×byNは、垂直寸法及び水平寸法に関するブロックの画素寸法、例えば、16×x16画素又は16×by16画素を指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16画素を有しy=16、水平方向に16画素を有するx=16。同様に、N×Nブロックは、一般に、垂直方向にN画素を有し、水平方向にN画素を有し、但し、Nは非負整数値を表す。ブロック中の画素は行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要はない。例えば、ブロックはN×M画素を備え得、Mは必ずしもNに等しいとは限らない。ビデオブロックは、画素領域中の画素データのブロックを備え得、あるいは、符号化ビデオブロックと予測ビデオブロックとの画素差分を表す残差ビデオブロックデータに変換を適用した後の、変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換から出力された変換係数に量子化器を適用した後の、変換領域中の量子化変換係数のブロックを備え得る。より小さいビデオブロックは、より良好な解像度を与えることができ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。一般に、マクロブロック及び様々なパーティションはサブブロックと呼ばれることがあり、ビデオブロックと見なされ得る。さらに、スライスは、マクロブロック及び/又はサブブロックなどの複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、又はフレームの他の部分が復号可能なユニットとして定義され得る。上記で説明した、CUの符号化ユニットという用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループGOPなど、ビデオフレームの単独で復号可能な任意のユニット、又は適用可能な符号化技術に従って定義される別の単独で復号可能なユニットを指すことがある。予測データと残差データとを生成するためのイントラ予測又はインター予測符号化の後に、符号化のためのより効率的な方法で残差データを表す残差変換係数を生成するために残差データの変換が実行され得る。変換は、順方向又は逆離散コサイン変換DCT、整数変換、ウェーブレット変換、若しくは別の概念的に同様の線形変換を備え得る。場合によっては、変換は、変換のサイズに関係する幾つかのカスケードバタフライ構造を使用して実行される高速実装を有し得る。その上、計算量を低減するために、変換は固定小数点実装を有し得る。但し、固定小数点変換は変換出力信号において丸め誤差を導入し得る。これは、カスケードバタフライ段が丸めを用いて又は用いずにあるビット数だけ変換出力信号を右シフトするときに起こり得る。例えば、固定小数点変換中にnビット値がmビット値に右シフトされ得、但し、nはmよりも大きい。ビット損失の量は、一般に、変換のサイズに対応するカスケードバタフライ段の数に依存する。本開示の技術によれば、ビデオエンコーダ20及び/又はビデオデコーダ30は、固定小数点変換において可変局所ビット深度増加を適用することによって変換における丸め誤差を緩和し得る。より詳細には、本技術は、固定小数点変換のサイズに基づいて定数値を選択し、その定数値に等しい値を用いて変換において可変局所ビット深度増加を適用することを含む。可変局所ビット深度増加は、固定小数点変換の前に定数値に等しいビット数だけ変換入力信号を左シフトし、次いで、固定小数点変換の後に定数値に等しいビット数だけ変換出力信号を右シフトすることによって適用される。固定小数点変換のサイズの定数値は、ビデオエンコーダ20及び/又はビデオデコーダ30に記憶された複数の定数値から選択され得る。定数値の各々は、ビデオ符号化によってサポートされる複数の異なる変換サイズのうちの1つについて事前計算される。一般に、ビデオ符号化に関連する固定小数点変換は2次元変換を備える。一例として、2次元変換は、ビデオブロック内の画素データの行に第1段1次元変換を適用し、次いで、ビデオブロック内の画素データの列に第2段1次元変換を適用すること、又はその逆によって実行され得る。本開示の技術は、従って、2次元固定小数点変換の1つの段のサイズに基づいて定数値を選択することと、その定数値を2倍にすることと、2倍にされた定数値よりも小さいか又はそれに等しい値を用いて2次元変換において可変局所ビット深度増加を適用することとを含み得る。他の例では、局所ビット深度増加は、2次元変換の1つの段のために選択された定数値に等しい値を用いて2次元変換の各段において適用され得る。本技術によれば、ビデオ符号化規格によってサポートされる各異なる変換サイズについて異なる定数値が事前計算される。例えば、ITU-TH.264AVC規格は4×4及び8×8サイズの変換をサポートし得る。新生のHEVC規格は、TUのための4×4、4×8、8×4、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32、64×64、64×128、128×64、又は128×128を含む変換をサポートし得る。複数の定数値は、次いで、ビデオエンコーダ20及び/又はビデオデコーダ30に記憶され得、ビデオエンコーダ20及び/又はビデオデコーダ30において適用されるべき固定小数点変換のサイズに基づいて定数値のうちの適切な1つが選択され得る。固定小数点変換において可変局所ビット深度増加を適用すると、変換入力信号においてより高いビット精度が与えられ、変換中のビット深度の損失がオフセットされる。その上、固定小数点変換のサイズに基づいて計算された値を用いて可変局所ビット深度増加を適用すると、変換のサイズに対応するカスケードバタフライ段の数だけ変換出力信号を右シフトすることにより丸め誤差が低減又は除去される。一例では、ビデオエンコーダ20及び/又はビデオデコーダ30は、符号化されるべきビデオフレーム又はスライスの所定のCUについてのTUのサイズに基づいてビデオ符号化に関連する固定小数点変換において局所可変ビット深度増加を選択的に適用し得る。例えば、局所可変ビット深度増加は、32×32、64×64、又は128×128など、TUが比較的大きいときは変換において適用されるが、4×4又は8×8など、TUが小さいときは適用されないことがある。幾つかの例では、ビデオエンコーダ20は、任意のビデオブロック符号化を実行する前に、ビデオ発信源18から受信されたビデオ信号に内部ビット深度増加IBDIを適用し得る。例えば、ビデオエンコーダ20は、より高いビット精度のビデオ符号化を実行するために、ビデオ信号のビット深度を8ビットのそれの入力ビット深度から12ビットに増加させ得る。ビデオエンコーダ20はビデオ信号のビット深度を増加させ得、ビデオデコーダ30は、再構成されたビデオ信号のビット深度を後でそれの入力ビット深度に低減し得る。この場合、本技術によれば、固定小数点変換のサイズに基づいて選択される定数値はIBDIの値に基づいて調整され得る。例えば、ビデオ信号にIBDIが適用されたとき、固定小数点変換のサイズに基づいて選択される定数値はIBDIの値によって低減され得る。但し、その低減によって可変局所ビット深度増加が負値となることになるように、IBDIの値が定数値よりも大きい場合、定数値は0に低減され、固定小数点変換において可変局所ビット深度増加は適用されない。変換の後に、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータの量ができるだけ低減されるように変換係数が量子化されるプロセスを指す。量子化プロセスはまた、係数の一部又は全部に関連するビット深さを低減し得る。量子化の後に、例えば、コンテンツ適応型可変長符号化CAVLC、コンテキスト適応型2値算術符号化CABAC、又は別のエントロピー符号化方法に従って、量子化データのエントロピー符号化が実行され得る。エントロピー符号化用に構成された処理ユニット、又は別の処理ユニットは、量子化係数のゼロランレングス符号化、及び/又は符号化ブロックパターンCBP:codedblockpattern値、マクロブロックタイプ、符号化モード、フレーム、スライス、マクロブロック、又はシーケンスなどの符号化ユニットの最大マクロブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。ビデオエンコーダ20はさらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、及びGOPベースのシンタックスデータなどのシンタックスデータを、例えば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、又はGOPヘッダ中でビデオデコーダ30に送り得る。GOPシンタックスデータは、それぞれのGOP中の幾つかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化/予測モードを示し得る。ビデオ信号にIBDIが適用されたとき、ビデオエンコーダ20は、ビデオデコーダ30が復号ビデオ信号をそれの入力ビット深度に戻すためにIBDIを除去し得るように、IBDIの値を明示的にビデオデコーダ30に信号伝達し得る。幾つかの例では、ビデオエンコーダ20はまた、逆変換において可変局所ビット深度増加のために選択された定数値に関する情報を明示的にビデオデコーダ30に信号伝達し得る。本開示では、符号化という用語は符号化又は復号を指す。同様に、コーダという用語は、一般に、任意のビデオエンコーダ、ビデオデコーダ、又は複合エンコーダ/デコーダコーデックを指す。従って、コーダという用語は、本明細書では、ビデオ符号化又はビデオ復号を実行する専用コンピュータデバイス又は装置を指すために使用される。本開示の技術はエンコーダ又はデコーダに適用可能であり得る。例えば、ビデオエンコーダ20及びビデオデコーダ30の各々は、それぞれのカメラ、コンピュータ、モバイルデバイス、加入者デバイス、ブロードキャストデバイス、セットトップボックス、サーバなどの中に含まれ得る。ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサDSP、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。図2は、ビデオ符号化に関連する変換のバタフライ構造34を示す概念図である。上記で説明したように、ビデオ符号化に関連する変換は、図1のビデオエンコーダ20又はビデオデコーダ30など、ビデオ符号化装置内の高速実装を有し得る。変換のそのような高速実装は、変換のサイズに関係する幾つかのカスケードバタフライ構造を使用して実行され得る。図2に示すバタフライ構造34は、1つのそのようなバタフライ構造の一例である。例えば、1次元16点変換の場合、変換は、バタフライ構造34と同様の複数のカスケードバタフライ構造によって表され得る図3参照。少なくとも部分的にバタフライ構造34によって表される変換は、順方向離散コサイン変換DCT、整数変換、ウェーブレット変換、又は別の概念的に同様の線形変換を備え得る。バタフライ構造34によって実装される変換の部分は以下の式によって表され得る。YiWiXiWi1Xi1Yi1Wi1Xi-WiXi1但し、Xi及びXi1は変換入力値であり、Yi及びYi1は変換出力値であり、Wi及びWi1は重み係数weightingfactor又は増倍率multiplicationfactorである。変換入力信号は、X=X0,X1,X2...XMとして表され得、変換出力信号は、Y=Y0,Y1,Y2...YMとして表され得る。例えば、ビデオ符号化の場合、変換入力値は残差ビデオブロックの画素値を備え得、変換出力値は変換係数を備え得る。ビデオ復号の場合、変換入力値は、逆量子化された変換係数を備え得、変換出力値は残差ビデオブロックの画素値を備え得る。例えば、変換がDCTである場合、増倍率はサイン及びコサインである。他の変換タイプの場合、増倍率は、整数、ウェーブレットなどの形式をとり得る。図1のビデオエンコーダ20又はビデオデコーダ30など、ビデオ符号化装置内の計算量を低減するために、ビデオ符号化に関連する変換は、浮動小数点変換ではなく固定小数点変換として実装され得る。固定小数点変換の場合、増倍率は整数又は2進分数であり得る。2進分数は、分子が整数であり、分母が2のべき乗である有理数である。例えば、少なくとも部分的にバタフライ構造34によって表される変換の固定小数点実装では、増倍率は、形式Wi=A/2m及びWi1=B/2mの2進分数によって近似され得、但し、A、B、及びmは整数である。固定小数点では、2mによる除算は、mビットの右シフトとしても表され得る。バタフライ構造34の変換出力値は、従って、以下に式によって表され得る。YimYi1m但し、>>mは、丸めなしのmビットの右シフトを表す。変換の固定小数点実装における右シフトは、変換を表すために使用されるカスケードバタフライ構造の各々におけるビット深度の丸め誤差又は損失を導入する。ビット深度のこの損失の1つのさらなる理由は、バタフライ構造が丸めではなくクリッピングを実行することである。クリッピングが実行される理由は、各バタフライ段において丸めを実行すると計算量的にコストがかかり得るからである。固定小数点変換の変換出力信号の累積丸め誤差は、従って、変換のサイズとともに増加する。本開示の技術は、固定小数点変換の入力において可変局所ビット深度増加を適用することによって固定小数点変換における丸め誤差を緩和する。図3は、ビデオ符号化に関連する変換のカスケードバタフライ構造36を示す概念図である。一例では、カスケードバタフライ構造36は1次元16点変換を表し得る。カスケードバタフライ構造36は変換の1つの例示的な表現にすぎない。他の例では、変換を表すために、バタフライ構造の多くの他の変形形態及び組合せが互いにカスケードされ得る。カスケードバタフライ構造36によって表される変換は、順方向又は逆離散コサイン変換DCT、整数変換、ウェーブレット変換、若しくは別の概念的に同様の線形変換を備え得る。図示の例では、カスケードバタフライ構造36は、16点変換を表すために互いにカスケードされた、図2のバタフライ構造34と同様の、複数の個々のバタフライ構造を含む。例えば、カスケードバタフライ構造36は、変換入力値X0~X15のペア間のバタフライ構造を含む。さらに、カスケードバタフライ構造36は、16点変換を表すために36個の乗算を使用する。他の例では、カスケードバタフライ構造36は、変換入力値との異なる数学演算、例えば、加算又は乗算を実行する、異なる構成でカスケードされた、異なる数の変換入力値間の、変換入力値の異なるペア化pairings間の個々のバタフライ構造を含み得る。上記で説明したように、カスケードバタフライ構造36によって表される変換の固定小数点実装は、変換出力信号を右シフトすることにより、個々のバタフライ構造の各々においてビット深度の丸め誤差又は損失を導入する。ビット深度のこの損失の1つのさらなる理由は、バタフライ構造の各々が丸めではなくクリッピングを実行することである。図示の例では、図示の16点固定小数点変換は、従って、変換を表すために使用されるカスケードバタフライ構造の数に依存するそれの変換出力信号の累積丸め誤差を有する。他の例では、ビデオ符号化規格が32×32、64×64、128×128までのサイズの変換をサポートし得るので、固定小数点変換の累積丸め誤差は一層より大きくなり得る。その上、変換のサイズが増加するにつれて、バタフライ構造の各々における重み係数又は増倍率、例えば、mの値の増加として2進分数で表され得るWi=A/2mが低減され得る。mの値が増加すると、固定小数点変換のバタフライ構造の各々における右シフトがより大きくなり、従って、累積丸め誤差がより大きくなる。ビデオ符号化装置における順変換と、ビデオ復号装置における逆変換の両方におけるビット深度の関連する損失により、表示のためのビデオブロックのビット精度再構成が低くなり得る。本開示の技術は、固定小数点変換において可変局所ビット深度増加を適用することによって固定小数点変換における丸め誤差を緩和する。本技術は、固定小数点変換のサイズに基づいて定数値Nを選択し、その定数値に等しい値を用いて固定小数点変換において可変局所ビット深度増加を適用することを含む。定数値は、複数の異なる変換サイズについて事前計算された複数の定数値から選択され得る。可変局所ビット深度増加を適用することは、固定小数点変換の前に定数値に等しいビット数だけ変換入力信号Xを左シフトし、固定小数点変換の後に定数値に等しいビット数だけ変換出力信号Yを右シフトすることを含む。固定小数点変換において可変局所ビット深度増加が適用されたとき、変換入力信号はX’=X<<Nとして表され得、但し、<<NはNビットの左シフトを表し、変換出力信号はY’=Y2N1>>Nとして表され得、但し、2N1はオフセットを表し、>>NはNビットの右シフトを表す。他の例では、Nビットの右シフトの前に、異なるオフセットが変換出力信号に適用され得る。場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2MN1に等しい値を有し得、結合された右シフトは、MNに等しい値を有し得る。固定小数点変換の入力において可変局所ビット深度増加を適用すると、変換のためのより高いビット深度の変換入力信号が与えられる。その上、固定小数点変換のサイズに基づいて計算された値を用いて可変局所ビット深度増加を適用すると、変換の固定小数点実装による丸め誤差が低減又は除去される。上記で説明したように、カスケードバタフライ構造36は1次元16点変換を表し得る。一般に、ビデオ符号化に関連する固定小数点変換は2次元変換を備える。2次元変換は、ビデオブロック内の画素データの行に第1段1次元変換を適用し、次いで、ビデオブロック内の画素データの列に第2段1次元変換を適用すること、又はその逆によって実行され得る。例えば、2次元16×16変換は、カスケードバタフライ構造36と同様のカスケードバタフライ構造の2つのセットによって表され得る。本開示の技術は、2次元固定小数点変換の1つの段のサイズに基づいて定数値を選択することと、その定数値を2倍にすることと、2倍にされた定数値よりも小さいか又はそれに等しい値を用いて2次元変換において可変局所ビット深度増加を適用することとを含み得る。2倍にされた定数値よりも小さい値をもつ可変局所ビット深度は、丸め誤差を緩和するためにより低い定数値が十分に大きいとき、及び/又は変換を実装するために必要とされるビット深度を制限するためにより低い定数値が必要であるときに適用され得る。他の例では、局所ビット深度増加は、2次元変換の1つの段のために選択された定数値に等しい値を用いて2次元変換の各段において適用され得る。図4は、変換ユニット52の固定小数点実装における丸め誤差を緩和するために変換ユニット52において可変局所ビット深度増加を適用するための技術を実装し得る例示的なビデオエンコーダ20Aを示すブロック図である。ビデオエンコーダ20Aは、図1を参照しながら説明した発信源機器12内のビデオエンコーダ20の一例を備え得る。ビデオエンコーダ20Aは、マクロブロック又はマクロブロックのパーティション若しくはサブパーティションを含む、ビデオ信号のビデオフレーム内のブロックのイントラ符号化及びインター符号化を実行し得る。イントラ符号化は、所与のビデオフレーム内のビデオブロックの空間的冗長性を低減又は除去するために空間的予測に依拠する。インター符号化は、ビデオシーケンスの隣接フレーム内のビデオブロックの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモードIモードは、幾つかの空間ベースの圧縮モードのいずれかを指し、単方向予測Pモード、双方向予測Bモード、又は一般化されたP/B予測GPBモードなどのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。ビデオエンコーダ20Aは、符号化されるべきビデオ信号のビデオフレーム内の現在のビデオブロックを受信する。図4の例では、ビデオエンコーダ20Aは、予測ユニット40と、参照フレームメモリ64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。ビデオブロック再構成のために、ビデオエンコーダ20Aはまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ図4に図示せずも含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理するであろう。変換ユニット52の固定小数点実装の丸め誤差を補正するために変換ユニット52において可変局所ビット深度増加を適用するための本技術によれば、ビデオエンコーダ20Aはまた、定数値メモリ43とともに局所ビット深度増加LBDI:localizedbitdepthincreaseユニット42を含む。符号化プロセス中に、ビデオエンコーダ20Aは、符号化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは複数のビデオブロックに分割され得る。予測ユニット40は、時間圧縮を行うために、1つ以上の参照フレーム中の1つ以上のブロックに対して、受信されたビデオブロックのインター予測符号化を実行する。イントラ予測ユニットはまた、空間圧縮を行うために、符号化されるべきブロックと同じフレーム又はスライス中の1つ以上の隣接ブロックに対して、受信されたビデオブロックのイントラ予測符号化を実行し得る。予測ユニット40は、例えば、誤り結果に基づいて符号化モード、即ち、イントラ又はインターのうちの1つを選択するためのモード選択を実行し得、残差ブロックデータを生成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器50に供給し、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器62に供給する。予測ユニット40は、動き推定と動き補償の両方を実行し得る。他の例では、動き推定及び動き補償は別々の機能ユニットを備え得る。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム又は、他の符号化ユニット内の符号化されている現在のブロックに対する予測参照フレーム又は、他の符号化ユニット内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和SAD:sumofabsolutedifference、2乗差分和SSD:sumofsquaredifference、又は他の差分メトリックによって決定され得る画素差分に関して、符号化されるべきブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、マクロブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックを取込むfetching又は生成することに関与し得る。動き推定を実行するとき、予測ユニット40は、ビデオブロックを参照フレームメモリ64中の参照フレームのビデオブロックと比較することによってインター符号化フレームのビデオブロックの動きベクトルを計算する。予測ユニット40は、計算された動きベクトルをエントロピー符号化ユニット56に送る。動きベクトルによって識別される参照フレームブロックは予測ブロックと呼ばれることがある。予測ユニット40は、参照フレームの予測ブロックの誤差値を計算する。予測ユニット40はまた、予測ブロックに基づいて予測データを計算し得る。ビデオエンコーダ20Aは、符号化されている元のビデオブロックから、予測ユニット40からの予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つ以上の構成要素を表す。変換ユニット52は、離散コサイン変換DCT、整数変換、ウェーブレット変換、又は概念的に同様の線形変換などの変換を残差ビデオブロックに適用して、残差変換係数値を備えるビデオブロックを生成する。変換ユニット52は、変換を残差ブロックに適用して、残差変換係数のブロックを生成する。変換ユニット52は、残差情報を画素値領域から周波数領域などの変換領域に変換し得る。上記で説明したように、変換ユニット52の固定小数点実装は、変換ユニット52の固定小数点変換のサイズに対応するカスケードバタフライ構造の数だけの右シフトに起因して、それの変換出力信号においてビット深度の丸め誤差又は損失を導入し得る。変換ユニット52の固定小数点実装における丸め誤差を低減又は除去するために、LBDIユニット42は、定数値メモリ43から変換ユニット52の固定小数点変換のサイズに基づいて定数値を選択し、その定数値に等しい値を用いて変換ユニット52において可変局所ビット深度増加を適用する。より詳細には、LBDIユニット42は、変換ユニット52に入力される残差ビデオブロックデータに、その定数値に等しいビット数だけ左シフト44を導入する。LBDIユニット42はまた、変換ユニット52から出力された残差変換係数に、その定数値に等しいビット数だけ右シフト45を適用する。LBDIユニット42はまた、残差変換係数にオフセットを適用し、その後、オフセットされた残差変換係数に右シフト45を適用し得る。場合によっては、追加のオフセット及び右シフトが、変換出力信号に適用され得、可変局所ビット深度増加のオフセット及び右シフトと結合され得る。残差ビデオブロックのビット深度を増加させると、ビット精度は増加するが、高ビット精度ビデオブロックを処理するための計算量も増加する。LBDIユニット42は、従って、変換ユニット52において可変局所ビット深度増加を局所化されたままに保つために、変換ユニット52の直前及び直後に左シフト44及び右シフト45を適用する。このようにして、高複雑度処理は、変換ユニット52では必要とされるが、ビデオエンコーダ20A中の残りの機能ユニットでは必要でなくなり得る。LBDIユニット42内の定数値メモリ43は、ビデオエンコーダ20Aによって使用されるビデオ符号化規格によってサポートされる複数の異なる変換サイズについての複数の定数値を記憶する。定数値メモリ43に記憶された定数値の各々は、複数の異なる変換サイズのうちの1つについて事前計算される。このようにして、LBDIユニット42は、どんなサイズの固定小数点変換でも丸め誤差を効果的に低減するために、変換ユニット52によって適用される異なる変換サイズごとに異なる定数値を選択し得る。例えば、H.264AVC規格は4×4及び8×8サイズの変換をサポートし得る。新生のHEVC規格は、16×16、32×32、64×64、又は128×128までのサイズの方形変換及び/又は矩形変換をサポートし得る。定数値メモリ43に記憶された複数の異なる変換サイズのうちの1つのための定数値の各々は、ビデオ信号の入力ビット深度値Biと、固定小数点変換におけるオーバーフローを回避するのに必要な追加のビット数である変換ビット深度値BTRと、固定小数点変換に関連する変換ビット精度値Zとに基づいて事前計算される。定数値Nの各々は、式BiBTRN≦Zを満たすように事前計算され得る。場合によっては、定数値に等しい値を用いて可変局所ビット深度増加を適用することにより、変換入力信号が、ビデオエンコーダ20Aによってサポートされる全体的なビット深度よりも大きいビット深度を有することになるように、定数値は大きい値を有するように事前計算され得る。例えば、ビデオエンコーダ20Aが32ビットエンコーダを備える場合、32ビットよりも大きいビット深度を変換入力信号が有することになる定数値が事前計算され得る。その場合、定数値は、変換入力信号のビット深度がビデオエンコーダ20Aの全体的なビット深度を超えることがないように、定数値メモリ43に記憶される前に低減され得る。複数の異なる変換サイズのうちの1つのための定数値の各々を事前計算するために、変換ビット精度値Zは、ビデオエンコーダ及び/又はビデオデコーダの両方における固定小数点変換の実装に基づいて選択される。例えば、変換ビット精度値は、16、32、又は64ビットに等しくなり得る。変換ビット精度値は、固定小数点変換のサイズと、ビデオ符号化装置内に実装された変換に関連するレジスタのサイズとに依存し得る。その上、複数の異なる変換サイズのうちの1つのための定数値の各々を事前計算するために、固定小数点変換におけるオーバーフローを回避するのに必要な変換ビット深度値BTRは、固定小数点変換のサイズに基づいて決定される。より詳細には、変換ビット深度値は、固定小数点変換ユニットを表すカスケードバタフライ構造の各々における変換出力値のワーストケース分析に基づいて決定され得る。変換出力Yi及びYi1の可能な値の範囲は、個々のバタフライ構造の各々において、増倍率Wi及びWi1に基づいて計算され得る。固定小数点変換全体の変換出力信号の累積ビット範囲は、追加のビットの最大数、即ち、固定小数点変換におけるオーバーフローを回避するために必要とされる変換ビット深度値BTRを与える。幾つかの例では、変換ユニット52は2次元固定小数点変換を備え得る。例えば、変換ユニット52は、残差ビデオブロック内の画素データの行に第1段1次元変換を適用し、次いで、残差ビデオブロック内の画素データの列に第2段1次元変換を適用することによって、又はその逆によって2次元変換を実行し得る。一例として、変換ユニット52は16×16固定小数点変換を備え得る。LBDIユニット42は、定数値メモリ43に記憶された複数の定数値から変換ユニット52の固定小数点変換の16×16サイズに基づいて定数値を選択し得る。16×16サイズのために記憶される定数値は、例えば、12ビットに等しくなり得る。一例として、記憶される定数値は、サイズ16×16変換のための事前計算に基づき得、ビデオ信号の入力ビット深度値Biは8ビットに等しく、変換ビット精度値Zは32ビットに等しく、変換ビット深度値BTRは12ビットに等しい。定数値Nは、式BiBTRN≦Zを満たすように12ビットに等しく事前計算される。この例では、LBDIユニット42は、変換ユニット52に入力される残差ビデオブロックに12ビットの左シフト44を適用する。LBDIユニット42は、同様に、変換ユニット52から出力された残差変換係数に12ビットの右シフト45を適用する。LBDI42は、最初に、変換ユニット52から出力された残差変換係数にオフセットを適用し、その後、オフセットされた残差変換係数に右シフト45を適用し得る。一例では、LBDI42は、2N1に等しいオフセットを適用し得、但し、Nは定数値である。他の例では、右シフト45を適用する前に、変換ユニット52から出力された残差変換係数に異なるオフセットが適用され得る。場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2MN1に等しい値を有し得、結合された右シフトは、MNに等しい値を有し得る。場合によっては、定数値メモリ43は、1次元変換サイズに対応する定数値を記憶し得る。変換ユニット52が2次元固定小数点変換を備えるとき、LBDIユニット42は、変換ユニット52の2次元固定小数点変換の1つの段のサイズに基づいて定数値を選択し、2次元固定小数点変換の両方の段を考慮に入れるためにその定数値を2倍にし得る。LBDIユニット42は、次いで、2倍にされた定数値よりも小さいか又はそれに等しい値を用いて変換ユニット52において可変局所ビット深度増加を適用し得る。2倍にされた定数値よりも小さい値をもつ可変局所ビット深度は、丸め誤差を緩和するためにより低い定数値が十分に大きいとき、及び/又は変換を実装するために必要とされるビット深度を制限するためにより低い定数値が必要であるときに適用され得る。他の例では、LBDIユニット42は、2次元固定小数点変換の1つの段のために選択された定数値に等しい値を用いて変換ユニット52の2次元固定小数点変換の各段において局所ビット深度増加を適用し得る。LBDIユニット42は、変換のためのより高いビット深度の変換入力信号を与えるために、変換ユニット52において可変局所ビット深度増加を適用することによって変換ユニット52における丸め誤差を低減又は除去し得る。変換ユニット52に入力される残差ビデオブロックデータのより高いビット深度は、変換ユニット52の固定小数点変換を表すために使用されるカスケードバタフライ構造によって実行される右シフトの影響を緩和する。その上、変換ユニット52の固定小数点変換のサイズに基づいて計算された値を用いて可変局所ビット深度増加を適用すると、残差ビデオブロックデータに適用される特定の固定小数点変換による変換ユニット52における丸め誤差がより効果的に低減される。量子化ユニット54は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。特に、量子化ユニット54は、マクロブロック又はパーティション中の変換係数を走査するためにジグザグ走査又は他の走査パターンを適用し得る。量子化の後に、エントロピー符号化ユニット56は量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテンツ適応型可変長符号化CAVLC、コンテキスト適応型2値算術符号化CABAC、又は別のエントロピー符号化技術を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化されたビデオは、別のデバイスに送信されるか、又は後の送信若しくは検索のためにアーカイブされ得る。コンテキスト適応型2値算術符号化の場合、コンテキストは隣接マクロブロックに基づき得る。場合によっては、エントロピー符号化ユニット56又はビデオエンコーダ20Aの別のユニットは、エントロピー符号化に加えて他の符号化機能を実行するように構成され得る。例えば、エントロピー符号化ユニット56はマクロブロック及びパーティションのCBP値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット56は、マクロブロック又はそれのパーティション中の係数のランレングス符号化を実行し得る。エントロピー符号化ユニット56はまた、符号化されたビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。逆量子化ユニット58及び逆変換ユニット60は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。変換ユニット52に関して上記で説明した処理と同様に、LBDIユニット42は、定数値メモリ43から逆変換ユニット60の固定小数点逆変換のサイズに基づいて定数値を選択し、その定数値に等しい値を用いて逆変換ユニット60において可変局所ビット深度増加を適用する。幾つかの例では、LBDIユニット42は、変換ユニット52における定数値とは異なる、逆変換ユニット60における可変局所ビット深度増加のための定数値を選択し得る。場合によっては、逆変換ユニット60によって適用される固定小数点逆変換は、変換ユニット52によって適用された固定小数点順変換とは異なるサイズを有する。他の場合には、ビデオエンコーダ20Aのデコーダ部分は、ビデオエンコーダ20Aのエンコーダ部分よりも低いビット精度値を有するか、又は逆量子化ユニット58は、逆変換ユニット60における丸め誤差が変換ユニット52における丸め誤差よりもひどくならないような左シフトを生成し得る。定数値メモリ43は、従って、異なるビット精度値及び異なる逆量子化行列とともに符号化装置のための定数値の異なるセットを記憶し得る。但し、LBDIユニット42は、ドリフトを回避するために、対応するビデオデコーダ中の逆変換における可変局所ビット深度増加と同じである、逆変換ユニット60における可変局所ビット深度増加の定数値を選択することが重要である。LBDIユニット42は、逆変換ユニット60に入力される残差変換係数に、その定数値に等しいビット数だけ左シフト46を導入し、逆変換ユニット60から出力された残差ビデオブロックデータに、その定数値に等しいビット数だけ右シフト47を適用する。LBDI42はまた、逆変換ユニット60から出力された残差ビデオブロックデータにオフセットを適用し、その後、オフセットされた残差ビデオブロックデータに右シフト47を適用し得る。場合によっては、追加のオフセット及び右シフトが、変換出力信号に適用され得、可変局所ビット深度増加のオフセット及び右シフトと結合され得る。この場合も、LBDIユニット42は、逆変換ユニット60において可変局所ビット深度増加を局所化されたままに保つために、逆変換ユニット60の直前及び直後に左シフト46及び右シフト47を適用し得る。予測ユニット40は、残差ブロックを参照フレームメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。予測ユニット40はまた、再構成された残差ブロックに1つ又は複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器62は、再構成された残差ブロックを、予測ユニット40によって生成された動き補償予測ブロックに加算して、参照フレームメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインター符号化するために予測ユニット40によって参照ブロックとして使用され得る。図5は、逆変換ユニット78の固定小数点実装における丸め誤差を緩和するために逆変換ユニット78において可変局所ビット深度増加を適用するための技術を実装し得るビデオデコーダ30Aの一例を示すブロック図である。ビデオデコーダ30Aは、図1を参照しながら説明した宛先機器14内のビデオデコーダ30の一例を備え得る。ビデオデコーダ30Aは、図4からのビデオエンコーダ20Aなどのビデオエンコーダからビットストリーム中で受信された符号化ビデオシーケンスを復号する。図5の例では、ビデオデコーダ30Aは、エントロピー復号ユニット70と、予測ユニット72と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームメモリ82と、加算器80とを含む。逆変換ユニット78の固定小数点実装における丸め誤差を緩和するために逆変換ユニット78において可変局所ビット深度増加を適用するための本技術によれば、ビデオデコーダ30Aはまた、定数値メモリ85とともに局所ビット深度増加LBDIユニット84を含む。ビデオデコーダ30Aは、幾つかの例では、ビデオエンコーダ20A図4に関して説明した符号化パスとは概して逆の復号パスを実行し得る。予測ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得る。予測ユニット72は、ビットストリーム中で受信された動きベクトルを使用して、参照フレームメモリ82中の参照フレーム中の予測ブロックを識別し得る。予測ユニット72はまた、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット76は、ビットストリーム中で供給され、エントロピー復号ユニット70によって復号された量子化ブロック係数を逆量子化inversequantize、即ち、逆量子化dequantizeする。逆量子化プロセスは、例えば、H.264復号規格によって定義された従来のプロセスを含み得る。逆量子化プロセスはまた、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、各マクロブロックについてエンコーダ20Aによって計算される量子化パラメータの使用を含み得る。逆変換ユニット78は、残差ビデオブロックを生成するために、逆変換、例えば、逆DCT、逆整数変換、逆ウェーブレット変換、又は概念的に同様の逆線形変換を変換係数に適用する。逆変換ユニット78は、変換係数を周波数領域などの変換領域から画素領域に変換し得る。図4からの変換ユニット52に関して上記で説明したように、逆変換ユニット78の固定小数点実装は、逆変換ユニット78の固定小数点逆変換のサイズに依存するそれの変換出力信号においてビット深度の丸め誤差又は損失を導入し得る。逆変換ユニット78の固定小数点実装の丸め誤差を低減又は除去するために、LBDIユニット84は、定数値メモリ85から逆変換ユニット78の固定小数点逆変換のサイズに基づいて定数値を選択し、その定数値に等しい値を用いて逆変換ユニット78において可変局所ビット深度増加を適用するために、図4からのLBDIユニット42と実質的に同様の技術を実行する。より詳細には、LBDIユニット84は、逆変換ユニット78に入力される変換係数に、その定数値に等しいビット数だけ左シフト86を導入する。LBDIユニット84はまた、逆変換ユニット78から出力された残差ビデオブロックに、その定数値に等しいビット数だけ右シフト87を適用する。LBDIユニット84はまた、逆変換ユニット78から出力された残差ビデオブロックにオフセットを適用し、その後、オフセットされた残差ビデオブロックに右シフト87を適用し得る。場合によっては、追加のオフセット及び右シフトが、変換出力信号に適用され得、可変局所ビット深度増加のオフセット及び右シフトと結合され得る。LBDIユニット84は、逆変換ユニット78において可変局所ビット深度増加を局所化されたままに保つために、逆変換ユニット78の直前及び直後に左シフト86及び右シフト87を適用する。LBDIユニット84内の定数値メモリ85は、ビデオデコーダ30Aによって使用されるビデオ符号化規格によってサポートされる複数の異なる逆変換サイズについての複数の定数値を記憶する。定数値メモリ85に記憶された定数値の各々は、複数の異なる逆変換サイズのうちの1つについて事前計算される。このようにして、LBDIユニット84は、どんなサイズの固定小数点逆変換でも丸め誤差を効果的に低減するために、逆変換ユニット78によって適用される異なる逆変換サイズごとに異なる定数値を選択する。定数値メモリ85に記憶された複数の異なる逆変換サイズのうちの1つのための定数値の各々は、ビデオ信号の入力ビット深度値Biと、固定小数点逆変換におけるオーバーフローを回避するのに必要な追加のビット数である変換ビット深度値BTRと、固定小数点逆変換に関連する変換ビット精度値Zとに基づいて事前計算される。定数値Nの各々は、定数値が式BiBTRN≦Zを満たすように事前計算され得る。場合によっては、定数値に等しい値を用いて可変局所ビット深度増加を適用することにより、変換入力信号が、ビデオデコーダ30Aによってサポートされる全体的なビット深度よりも大きいビット深度を有することになるように、定数値は大きい値を有するように事前計算され得る。例えば、ビデオデコーダ30Aが32ビットデコーダを備える場合、32ビットよりも大きいビット深度を変換入力信号が有することになる定数値が事前計算され得る。その場合、定数値は、変換入力信号のビット深度がビデオデコーダ30Aの全体的なビット深度を超えることがないように、定数値メモリ85に記憶される前に低減され得る。場合によっては、ビデオデコーダ30Aは、逆変換ユニット78において可変局所ビット深度増加の定数値を選択するために、ビデオエンコーダ20Aから明示的に信号伝達された情報を受信し得る。例えば、ビデオデコーダ30Aは、ビデオエンコーダ20A中の逆変換ユニット60において適用される可変局所ビット深度増加のためにLBDIユニット42によって選択された定数値を明示的に受信し得る。LBDIユニット84は、エンコーダとデコーダとの間のドリフトを回避するために、ビデオエンコーダ20A中の逆変換ユニット60における可変局所ビット深度増加と同じである、逆変換ユニット78における可変局所ビット深度増加の定数値を選択することが重要である。幾つかの例では、逆変換ユニット78は2次元固定小数点変換を備え得る。一例として、逆変換ユニット78は16×16固定小数点逆変換を備え得る。LBDIユニット84は、定数値メモリ85に記憶された複数の定数値から逆変換ユニット78の固定小数点逆変換の16×16サイズに基づいて定数値を選択し得る。16×16サイズのために記憶される定数値は、例えば、12ビットに等しくなり得る。一例として、記憶される定数値は、サイズ16×16変換のための事前計算に基づき得、ビデオ信号の入力ビット深度値Biは8ビットに等しく、変換ビット精度値Zは32ビットに等しく、変換ビット深度値BTRは12ビットに等しい。定数値Nは、式BiBTRN≦Zを満たすように12ビットに等しく事前計算される。この例では、LBDIユニット84は、逆変換ユニット78に入力される変換係数に12ビットの左シフト86を適用する。LBDIユニット84は、同様に、逆変換ユニット78から出力された残差ビデオブロックに12ビットの右シフト87を適用する。LBDIユニット84は、最初に、逆変換ユニット78から出力された残差ビデオブロックにオフセットを適用し、その後、オフセットされた残差ビデオブロックに右シフト87を適用し得る。一例では、LBDIユニット84は、2N1に等しいオフセットを適用し得、但し、Nは定数値である。他の例では、右シフト87を適用する前に、逆変換ユニット78から出力された残差ビデオブロックに異なるオフセットが適用され得る。場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2MN1に等しい値を有し得、結合された右シフトは、MNに等しい値を有し得る。場合によっては、定数値メモリ85は、1次元変換サイズに対応する定数値を記憶し得る。逆変換ユニット78が2次元固定小数点変換を備えるとき、LBDIユニット84は、逆変換ユニット78の2次元固定小数点変換の1つの段のサイズに基づいて定数値を選択し、2次元固定小数点変換の両方の段を考慮に入れるためにその定数値を2倍にし得る。LBDIユニット84は、次いで、2倍にされた定数値よりも小さいか又はそれに等しい値を用いて逆変換ユニット78において可変局所ビット深度増加を適用し得る。2倍にされた定数値よりも小さい値をもつ可変局所ビット深度は、丸め誤差を緩和するためにより低い定数値が十分に大きいとき、及び/又は変換を実装するために必要とされるビット深度を制限するためにより低い定数値が必要であるときに適用され得る。他の例では、LBDIユニット84は、2次元固定小数点変換の1つの段のために選択された定数値に等しい値を用いて逆変換ユニット78の2次元固定小数点変換の各段において局所ビット深度増加を適用し得る。予測ユニット72は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。予測ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20Aによって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。予測ユニット72は、受信されたシンタックス情報に従って、ビデオエンコーダ20Aによって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。予測ユニット72は、シンタックス情報の幾つかを使用して、符号化ビデオシーケンスの1つ又は複数のフレームを符号化するために使用されるマクロブロックのサイズと、符号化ビデオシーケンスのフレームの各マクロブロックがどのように区分されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化マクロブロック又はパーティションのための1つ以上の参照フレーム又はリストと、符号化ビデオシーケンスを復号するための他の情報とを決定し得る。加算器80は、予測ユニット72によって生成された対応する予測ブロックに残差ブロックを加算して、復号ブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して復号ブロックをフィルタ処理することもある。復号されたビデオブロックは、次いで、参照フレームメモリ82に記憶され、参照フレームメモリ82は、参照ブロックを後続の動き補償に供給し、また、図1の表示装置32などの表示装置上での提示のために復号されたビデオを生成する。図6は、変換ユニット52において同じく可変局所ビット深度増加を適用するための技術を実装し得る内部ビット深度増加IBDIが使用される、例示的なビデオエンコーダ20Bを示すブロック図である。ビデオエンコーダ20Bは、図1を参照しながら説明した発信源機器12内のビデオエンコーダ20の一例を備え得る。その上、ビデオエンコーダ20Bは、IBDIの修正とともに、図4からのビデオエンコーダ20Aと実質的に同様に動作し得る。図4からのビデオエンコーダ20Aと同様に、ビデオエンコーダ20Bは、予測ユニット40と、参照フレームメモリ64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。ビデオブロック再構成のために、ビデオエンコーダ20Bはまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。変換ユニット52の固定小数点実装における丸め誤差を緩和するために変換ユニット52において可変局所ビット深度増加を適用するための本技術によれば、ビデオエンコーダ20Bはまた、定数値メモリ43とともにLBDIユニット42を含む。図6の図示の例では、ビデオエンコーダ20Bはまた、ビデオエンコーダ20Bが任意のビデオブロック符号化を実行する前に、ビデオ信号にIBDIを適用する、内部ビット深度増加IBDIユニット90を含む。一例では、IBDIユニット90は、より高いビット精度のビデオ符号化を実行するために、ビデオ信号に4ビットIBDIを適用してビデオ信号のビット深度を8ビットのそれの入力ビット深度から12ビットに増加させ得る。ビデオ信号にIBDIが適用されると、ビデオエンコーダ20B内のあらゆる機能ユニットにおいて高複雑度及び高ビット精度ビデオ処理が必要とされる。IBDIの適用によってビデオ信号の符号化はより正確になるが、IBDI90は、高ビット深度信号を処理及びバッファすることが可能なエンコーダのみにおいてIBDIを適用し得る。その上、IBDI90がビデオ信号にIBDIを適用したとき、ビデオエンコーダ20Bは、ビデオデコーダが復号ビデオ信号をそれの入力ビット深度に戻すためにIBDIを除去し得るように、図7のビデオデコーダ30Bなど、関連するビデオデコーダにIBDIの値を明示的に信号伝達し得る。変換ユニット52の固定小数点実装における丸め誤差を低減又は除去するために、LBDIユニット42は、定数値メモリ43から変換ユニット52の固定小数点変換のサイズに基づいて定数値を選択し、IBDIユニット90によって適用されたIBDIの値に基づいてその定数値を調整する。LBDIユニット42は、次いで、調整された定数値に等しい値を用いて変換ユニット52において可変局所ビット深度増加を適用する。より詳細には、LBDIユニット42は、変換ユニット52に入力される残差ビデオブロックデータに、調整された定数値に等しいビット数だけ左シフト94を導入する。LBDIユニット42はまた、変換ユニット52から出力された残差変換係数に、調整された定数値に等しいビット数だけ右シフト95を適用する。LBDIユニット42はまた、最初に、変換ユニット52から出力された残差変換係数にオフセットを適用し、その後、オフセットされた残差変換係数に右シフト95を適用し得る。場合によっては、追加のオフセット及び右シフトが、変換出力信号に適用され、可変局所ビット深度増加のオフセット及び右シフトと結合され得る。図4に関して上記で説明したように、LBDIユニット42内の定数値メモリ43は、ビデオエンコーダ20Bによって使用されるビデオ符号化規格によってサポートされる複数の異なる変換サイズについての複数の定数値を記憶する。定数値メモリ43に記憶された定数値の各々は、複数の異なる変換サイズのうちの1つについて事前計算される。ビデオ信号にIBDIが適用されたとき、LBDIユニット42は、定数値メモリ43から変換ユニット52の固定小数点変換のサイズに基づいて定数値を選択し続ける。但し、定数値が選択されると、LBDI42は、IBDIユニット90によって適用されたIBDIの値だけ定数値を低減し得る。しかしながら、LBDIユニット42は、定数値を非負値のみに低減し得、さもなければ定数値を0に等しく設定する。負の定数値の場合、LBDIユニット42は、変換ユニット42に入力される残差ビデオブロックに、左シフト94ではなく右シフトを適用し、変換出力信号の丸め誤差は潜在的により一層大きくなる。LBDIユニット42は、従って、IBDIの値が定数値よりも小さいか又はそれに等しい、即ち、N-Bd≧0である限り、調整された定数値がN-Bdに等しくなるように、IBDIユニット90によって適用されたIBDIの値Bdだけ定数値Nを低減する。IBDIユニット90によって適用されたIBDIの値Bdが定数値Nよりも大きい、即ち、N-Bd<0であるとき、LBDIユニット42は定数値Nを0に低減する。この場合、LBDIユニット42は、変換ユニット52において可変局所ビット深度増加を適用しない。一例として、IBDIユニット90は、ビデオエンコーダ20Bに入力されるビデオ信号に4ビットのIBDIを適用し得、変換ユニット52は固定小数点16×16変換を備え得る。LBDIユニット42は、サイズ16×16変換のための8ビットに等しくなるように定数値Nを選択し得る。LBDIユニット42は、次いで、調整された定数値が4ビットに等しくなるように、IBDIユニット90によって適用されたIBDIの値Bdだけ定数値Nを低減する。この例では、LBDIユニット42は、変換ユニット52に入力される残差ビデオブロックに4ビットの左シフト94を適用し、変換ユニット52から出力された残差変換係数に4ビットの右シフト95を適用する。別の例では、IBDIユニット90は、ビデオ信号に10ビットのIBDIを適用し得る。この場合、定数値NをIBDIの値Bdだけ低減すると負値が生じることになるので、LBDIユニット42は定数値Nを0に低減する。この例では、LBDIユニット42は、変換ユニット52において可変局所ビット深度増加を適用しない。変換ユニット52に関して上記で説明した処理と同様に、LBDIユニット42は、逆変換ユニット60の固定小数点逆変換のサイズに基づいて定数値を選択し、IBDIユニット90によって適用されたIBDIの値に基づいてその定数値を調整する。LBDIユニット42は、次いで、調整された定数値に等しい値を用いて逆変換ユニット60において可変局所ビット深度増加を適用する。幾つかの例では、LBDIユニット42は、変換ユニット52における定数値とは異なる、逆変換ユニット60における可変局所ビット深度増加のための定数値を選択し得、それは、異なる調整された定数値を生じる。但し、LBDIユニット42は、ドリフトを回避するために、対応するビデオデコーダ中の逆変換における可変局所ビット深度増加と同じである、逆変換ユニット60における可変局所ビット深度増加の定数値を選択し、調整することが重要である。LBDIユニット42は、逆変換ユニット60に入力される残差変換係数に、その定数値に等しいビット数だけ左シフト96を導入し、逆変換ユニット60から出力された残差ビデオブロックデータに、その定数値に等しいビット数だけ右シフト97を適用する。LBDIユニット42はまた、逆変換ユニット60から出力された残差ビデオブロックデータにオフセットを適用し、その後、オフセットされた残差ビデオブロックデータに右シフト97を適用し得る。場合によっては、追加のオフセット及び右シフトが、変換出力信号に適用され、可変局所ビット深度増加のオフセット及び右シフトと結合され得る。図7は、逆変換ユニット78において同じく可変局所ビット深度増加を適用するための技術を実装し得る内部ビット深度増加IBDIが使用される、ビデオデコーダ30Bの一例を示すブロック図である。ビデオデコーダ30Bは、図1を参照しながら説明した宛先機器14内のビデオデコーダ30の一例を備え得る。その上、ビデオデコーダ30Bは、IBDIの修正とともに、図5からのビデオデコーダ30Aと実質的に同様に動作し得る。図5からのビデオデコーダ30Aと同様に、ビデオデコーダ30Bは、エントロピー復号ユニット70と、予測ユニット72と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームメモリ82と、加算器80とを含む。逆変換ユニット78の固定小数点実装における丸め誤差を緩和するために逆変換ユニット78において可変局所ビット深度増加を適用するための本技術によれば、ビデオデコーダ30Bはまた、定数値メモリ85とともにLBDIユニット84を含む。ビデオデコーダ30Bは、図6からのビデオエンコーダ20Bなどのビデオエンコーダからビットストリーム中で受信された内部ビット深度増加IBDIを有する符号化ビデオシーケンスを復号する。場合によっては、ビデオデコーダ30Bは、逆変換ユニット78において可変局所ビット深度増加の定数値を選択し、調整するために、ビデオエンコーダ20Bから明示的に信号伝達された情報を受信し得る。例えば、ビデオデコーダ30Bは、ビデオエンコーダ20B中の逆変換ユニット60において適用される可変局所ビット深度増加の定数値を調整するために、LBDIユニット42によって選択された定数値と、LBDIユニット42によって使用されたIBDIの値とを明示的に受信し得る。LBDIユニット84は、エンコーダとデコーダとの間のドリフトを回避するために、ビデオエンコーダ20A中の逆変換ユニット60における可変局所ビット深度増加と同じである、逆変換ユニット78における可変局所ビット深度増加の定数値を選択し、調整することが重要である。図7の図示の例では、ビデオデコーダ30Bは、ビデオデコーダ30Bがビデオブロック復号を実行した後に、復号されたビデオ信号に逆IBDIを適用する、逆IBDIユニット100を含む。逆IBDIユニット100は、ビデオエンコーダ20B中のIBDIユニット90によってビデオ信号に適用されたIBDIの明示的に受信された値に等しい値を用いて、復号されたビデオ信号に逆IBDIを適用し得る。このようにして、ビデオデコーダ30Bは、復号されたビデオ信号をそれの入力ビット深度に戻すためにIBDIを除去し得る。一例では、逆IBDIユニット100は、復号されたビデオ信号のビット深度を12ビットから8ビットのそれの入力ビット深度に減少させるために、復号されたビデオ信号に4ビットの逆IBDIを適用し得る。逆変換ユニット78の固定小数点実装における丸め誤差を低減又は除去するために、LBDIユニット82は、定数値メモリ85から逆変換ユニット78の固定小数点逆変換のサイズに基づいて定数値を選択し、ビデオエンコーダ20B中のIBDIユニット90によって適用され、ビデオデコーダ30Bに明示的に信号伝達されたIBDIの値に基づいてその定数値を調整する。LBDIユニット84は、次いで、調整された定数値に等しい値を用いて逆変換ユニット78において可変局所ビット深度増加を適用する。より詳細には、LBDIユニット84は、逆変換ユニット78に入力される変換係数に、その調整された定数値に等しいビット数だけ左シフト106を導入する。LBDIユニット84はまた、逆変換ユニット78から出力された残差ビデオブロックに、その調整された定数値に等しいビット数だけ右シフト107を適用する。LBDIユニット84はまた、逆変換ユニット78から出力された残差ビデオブロックにオフセットを適用し、その後、オフセットされた残差ビデオブロックに右シフト107を適用し得る。場合によっては、追加のオフセット及び右シフトが、変換出力信号に適用され、可変局所ビット深度増加のオフセット及び右シフトと結合され得る。図5に関して上記で説明したように、LBDIユニット84内の定数値メモリ85は、ビデオデコーダ30Bによって使用されるビデオ符号化規格によってサポートされる複数の異なる逆変換サイズについての複数の定数値を記憶する。定数値メモリ85に記憶された定数値の各々は、複数の異なる逆変換サイズのうちの1つについて事前計算される。ビデオ信号にIBDIが適用されたとき、LBDIユニット84は、定数値メモリ85から逆変換ユニット78の固定小数点逆変換のサイズに基づいて定数値を選択し続ける。但し、定数値が選択されると、LBDI84は、ビデオエンコーダ20B中のIBDIユニット90によって適用され、ビデオデコーダ30Bに明示的に信号伝達されたIBDIの値だけ定数値を低減し得る。しかしながら、LBDIユニット84は、定数値を非負値のみに低減し得、さもなければ定数値を0に等しく設定する。負の定数値の場合、LBDIユニット84は、逆変換ユニット78に入力される変換係数に、左シフト106ではなく右シフトを適用し、変換出力信号の丸め誤差は潜在的により一層大きくなる。LBDIユニット84は、従って、IBDIの値が定数値よりも小さいか又はそれに等しい、即ち、N-Bd≧0である限り、調整された定数値がN-Bdに等しくなるように、IBDIの値Bdだけ定数値Nを低減する。IBDIの値Bdが定数値Nよりも大きい、即ち、N-Bd<0であるとき、LBDIユニット84は定数値Nを0に低減する。この場合、LBDIユニット84は、逆変換ユニット78において可変局所ビット深度増加を適用しない。一例として、IBDIユニット90は、ビデオエンコーダ20Bにおいてビデオ信号に4ビットのIBDIを適用していることがあり、逆変換ユニット78は固定小数点16×16変換を備え得る。LBDIユニット84は、サイズ16×16変換のための8ビットに等しくなるように定数値Nを選択し得る。LBDIユニット84は、次いで、調整された定数値が4ビットに等しくなるように、IBDIの値Bdだけ定数値Nを低減する。この例では、LBDIユニット84は、逆変換ユニット78に入力される変換係数に4ビットの左シフト106を適用し、逆変換ユニット78から出力された残差ビデオブロックに4ビットの右シフト95を適用する。別の例では、IBDIユニット90は、ビデオエンコーダ20Bにおいてビデオ信号に10ビットのIBDIを適用していることがある。この場合、定数値NをIBDIの値Bdだけ低減すると負値が生じることになるので、LBDIユニット84は定数値Nを0に低減する。この例では、LBDIユニット84は、逆変換ユニット78において可変局所ビット深度増加を適用しない。図8は、変換ユニットの固定小数点実装の丸め誤差を緩和するために変換ユニットにおいて可変局所ビット深度増加を適用する例示的な方法を示すフローチャートである。図8に示す方法は、図4からのビデオエンコーダ20Aと、図6からのビデオエンコーダ20Bとに関して説明する。ビデオエンコーダ20A又は20Bは、LBDIユニット42中の定数値メモリ43に複数の異なる変換サイズについての複数の定数値を記憶する130。上記で説明したように、複数の異なる変換サイズのうちの1つに関連する定数値の各々は、ビデオ信号の入力ビット深度値Biと、変換サイズに関連する変換ビット深度値BTRと、変換サイズに関連する変換ビット精度値Zとに基づいて事前計算される。例えば、各定数値Nは、式BiBTRN≦Zを満たすように事前計算され得る。ビデオエンコーダ20A又は20Bは、次いで、符号化されるべきビデオ信号を受信する132。ビデオ信号を受信すると、ビデオエンコーダ20A又は20BのLBDIユニット42は、変換ユニット52によって適用されるべき固定小数点変換のサイズを決定し、その固定小数点変換のサイズに基づいて定数値メモリ53に記憶された定数値を選択する134。LBDIユニット42は、次いで、受信されたビデオ信号に内部ビット深度増加IBDIが適用されたかどうかを決定する136。図4からのビデオエンコーダ20Aの例の場合のように、IBDIが適用されていない場合136のNO、変換ユニット52の直前に、LBDIユニット42は、変換ユニット52に入力される残差ビデオブロックデータに、選択された定数値に等しいビット数だけ左シフト44を適用する140。変換ユニット52は、次いで、左シフトされた残差ビデオブロックデータを変換係数に変換する142。変換ユニット52の直後に、LBDIユニット42は、変換ユニット52から出力された変換係数にオフセットを適用する144。例えば、LBDIユニット42は、2N1に等しいオフセットを変換係数に適用し得る。LBDIユニット42は、次いで、オフセット変換係数に、選択された定数値に等しいビット数だけ右シフト45を適用する146。場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2MN1に等しい値を有し得、結合された右シフトは、MNに等しい値を有し得る。図6からのビデオエンコーダ20Bの例の場合のように、IBDIが適用された場合136のYES、LBDIユニット42は、IBDIユニット90によってビデオ信号に適用されたIBDIの値を決定する。LBDIユニット42は、次いで、IBDIの値に基づいて、選択された定数値を調整する138。この場合、変換ユニット52の固定小数点変換のサイズのために選択された定数値Nは、調整された定数値がN-Bdに等しくなるように、IBDIの値Bdだけ低減されることになる。LBDIユニット42は、選択された定数値を非負値のみに低減し得る。例えば、LBDIユニット42は、N-Bd≧0となるように、IBDIの値が、選択された定数値よりも小さいか又はそれに等しいとき、選択された定数値をIBDIの値だけ低減する。N-Bd<0となるように、IBDIの値が、選択された定数値よりも大きい場合、LBDIユニット42は、選択された定数値を0に低減する。変換ユニット52の直前に、LBDIユニット42は、変換ユニット52に入力される残差ビデオブロックデータに、調整された定数値に等しいビット数だけ左シフト94を適用する140。変換ユニット52は、次いで、左シフトされた残差ビデオブロックデータを変換係数に変換する142。変換ユニット52の直後に、LBDIユニット42は、変換ユニット52から出力された変換係数にオフセットを適用する144。例えば、LBDIユニット42は、2N1に等しいオフセットを変換係数に適用し得る。LBDIユニット42は、次いで、オフセットされた変換係数に、調整された定数値に等しいビット数だけ右シフト95を適用する146。場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2MN1に等しい値を有し得、結合された右シフトは、MNに等しい値を有し得る。LBDIユニット42は、変換のためのより高いビット深度の変換入力信号を与えるために、変換ユニット52において可変局所ビット深度増加を適用することによって変換ユニット52の丸め誤差を低減又は除去し得る。変換ユニット52に入力される残差ビデオブロックデータのより高いビット深度は、変換ユニット52の固定小数点変換を表すために使用されるカスケードバタフライ構造によって実行される右シフトの量によってあまり損なわれない。その上、変換ユニット52の固定小数点変換のサイズに基づいて計算された値を用いて可変局所ビット深度増加を適用すると、残差ビデオブロックデータに適用される特定の固定小数点変換による変換ユニット52の丸め誤差がより効果的に低減される。図9は、逆変換ユニットの固定小数点実装の丸め誤差を緩和するために逆変換ユニットにおいて可変局所ビット深度増加を適用する例示的な方法を示すフローチャートである。図9に示す方法は、図5からのビデオデコーダ30Aと、図7からのビデオデコーダ30Bとに関して説明する。ビデオデコーダ30A又は30Bは、LBDIユニット84中の定数値メモリ85に複数の異なる変換サイズについての複数の定数値を記憶する150。上記で説明したように、複数の異なる変換サイズのうちの1つに関連する定数値の各々は、ビデオ信号の入力ビット深度値Biと、変換サイズに関連する変換ビット深度値BTRと、変換サイズに関連する変換ビット精度値Zとに基づいて事前計算される。例えば、各定数値Nは、式BiBTRN≦Zを満たすように事前計算され得る。ビデオデコーダ30A又は30Bは、次いで、復号されるべき符号化ビデオ信号を受信する152。符号化ビデオ信号を受信すると、ビデオデコーダ30A又は30BのLBDIユニット84は、逆変換ユニット78によって適用されるべき固定小数点逆変換のサイズを決定し、その固定小数点変換のサイズに基づいて定数値メモリ85に記憶された定数値を選択する154。LBDIユニット84は、次いで、ビデオエンコーダにおいてビデオ信号に内部ビット深度増加IBDIが適用されたかどうかを決定する156。ビデオ信号にIBDIが適用された場合、ビデオエンコーダは、ビデオデコーダ30A又は30BにIBDIの値を明示的に信号伝達し得る。図5からのビデオデコーダ30Aの例の場合のように、IBDIが適用されていない場合156のNO、逆変換ユニット78の直前に、LBDIユニット84は、逆変換ユニット78に入力される変換係数に、選択された定数値に等しいビット数だけ左シフト86を適用する160。逆変換ユニット78は、次いで、左シフトされた変換係数を残差ビデオブロックデータに逆変換する162。逆変換ユニット78の直後に、LBDIユニット84は、逆変換ユニット78から出力された残差ビデオブロックデータにオフセットを適用する164。例えば、LBDIユニット84は、2N1に等しいオフセットを残差ビデオブロックデータに適用し得る。LBDIユニット84は、次いで、オフセットされた残差ビデオブロックデータに、選択された定数値に等しいビット数だけ右シフト87を適用する166。場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2MN1に等しい値を有し得、結合された右シフトは、MNに等しい値を有し得る。図7からのビデオエンコーダ30Bの例の場合のように、IBDIが適用された場合156のYES、LBDIユニット84は、ビデオエンコーダ20Bによって明示的に信号伝達されたようにIBDIの値を決定する。LBDIユニット84は、次いで、IBDIの値に基づいて、選択された定数値を調整する158。この場合、変換ユニット52の固定小数点変換のサイズのために選択された定数値Nは、調整された定数値がN-Bdに等しくなるように、IBDIの値Bdだけ低減されることになる。LBDIユニット84は、選択された定数値を非負値のみに低減し得る。例えば、LBDIユニット84は、N-Bd≧0となるように、IBDIの値が、選択された定数値よりも小さいか又はそれに等しいとき、選択された定数値をIBDIの値だけ低減する。N-Bd<0となるように、IBDIの値が、選択された定数値よりも大きい場合、LBDIユニット84は、選択された定数値を0に低減する。逆変換ユニット78の直前に、LBDIユニット84は、逆変換ユニット78に入力される変換係数に、調整された定数値に等しいビット数だけ左シフト106を適用する160。逆変換ユニット78は、次いで、左シフトされた変換係数を残差ビデオブロックデータに逆変換する162。逆変換ユニット78の直後に、LBDIユニット84は、逆変換ユニット78から出力された残差ビデオブロックデータにオフセットを適用する164。例えば、LBDIユニット84は、2N1に等しいオフセットを残差ビデオブロックデータに適用し得る。LBDIユニット84は、次いで、オフセットされた残差ビデオブロックデータに、調整された定数値に等しいビット数だけ右シフト107を適用する166。場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2MN1に等しい値を有し得、結合された右シフトは、MNに等しい値を有し得る。LBDIユニット84は、変換のためのより高いビット深度の変換入力信号を与えるために、逆変換ユニット78において可変局所ビット深度増加を適用することによって逆変換ユニット78の丸め誤差を低減又は除去し得る。逆変換ユニット78に入力される変換係数のより高いビット深度は、逆変換ユニット78の逆固定小数点変換を表すために使用されるカスケードバタフライ構造によって実行される右シフトの量によってあまり損なわれない。その上、逆変換ユニット78の固定小数点逆変換のサイズに基づいて計算された値を用いて可変局所ビット深度増加を適用すると、変換係数に適用される特定の固定小数点逆変換による逆変換ユニット78の丸め誤差がより効果的に低減される。以下で提示する表1及び表2に、内部ビット深度増加IBDIが適用されないとき、線形変換において局所ビット深度増加を適用した最初の結果を与える。表1と表2は両方とも、幾つかのビデオシーケンスについて、IBDIが適用されたときの局所ビット深度増加がない場合と、IBDIが適用されないときの局所ビット深度増加がある場合とのビットレート低減割合を与えている。表1は、低遅延高効率、即ち、一般化されたP/BGPBの構成の結果を提示し、表2は、ランダムアクセス高効率、即ち、階層Bの構成の結果を提示している。局所ビット深度増加がある場合の平均ビットレート低減は、低遅延高効率構成では1.26であり表1、ランダムアクセス高効率構成では1.03である表2。1つ以上の例では、本開示において説明した機能又は動作は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能又は動作は、1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、1非一時的である有形コンピュータ可読記憶媒体、あるいは2信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技術の実装のための命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ若しくは1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージデバイス、フラッシュメモリ、若しくは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体など、非一時的媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスクdisk及びディスクdiscは、コンパクトディスクdiscCD、レーザディスクdisc、光ディスクdisc、デジタル多用途ディスクdiscDVD、フロッピー登録商標ディスクdisk及びブルーレイ登録商標ディスクdiscを含み、ディスクdiskは、通常、データを磁気的に再生し、ディスクdiscは、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。命令は、1つ以上のデジタル信号プロセッサDSPなどの1つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路ASIC、フィールドプログラマブル論理アレイFPGA、又は他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用するプロセッサという用語は、前述の構造、又は本明細書で説明した技術の実装に好適な他の構造のいずれかを指し得る。さらに、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供され得、若しくは複合コーデックに組み込まれ得る。また、本技術は、1つ以上の回路又は論理要素中に十分に実装され得る。本開示の技術は、ワイヤレスハンドセット、集積回路IC又はICのセット例えば、チップセットを含む、多種多様なデバイス又は装置において実施され得る。本開示では、開示する技術を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明したように1つ又は複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。"