JP2013534795A - ビデオ符号化における固定小数点変換のための可変局所ビット深度増加 - Google Patents

ビデオ符号化における固定小数点変換のための可変局所ビット深度増加 Download PDF

Info

Publication number
JP2013534795A
JP2013534795A JP2013519732A JP2013519732A JP2013534795A JP 2013534795 A JP2013534795 A JP 2013534795A JP 2013519732 A JP2013519732 A JP 2013519732A JP 2013519732 A JP2013519732 A JP 2013519732A JP 2013534795 A JP2013534795 A JP 2013534795A
Authority
JP
Japan
Prior art keywords
transform
value
video
bit depth
constant value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013519732A
Other languages
English (en)
Other versions
JP2013534795A5 (ja
JP5727006B2 (ja
Inventor
ジョシ、ラジャン・エル.
チエン、ウェイ−ジュン
カークゼウィックズ、マルタ
レズニク、ユリー
チェン、ペイソン
チュアン、シャオ−チアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2013534795A publication Critical patent/JP2013534795A/ja
Publication of JP2013534795A5 publication Critical patent/JP2013534795A5/ja
Application granted granted Critical
Publication of JP5727006B2 publication Critical patent/JP5727006B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本開示では、ビデオ符号化に関連する固定小数点変換において可変局所ビット深度増加を適用することによって、変換における丸め誤差を緩和するための技術について説明する。より詳細には、本技術は、ビデオ符号化装置において固定小数点変換のサイズに基づいて定数値を選択し、その定数値に等しい値を用いて変換において可変局所ビット深度増加を適用することを含む。可変局所ビット深度増加を適用することは、固定小数点変換の前に定数値に等しいビット数だけ変換入力信号を左シフトし、固定小数点変換の後に定数値に等しいビット数だけ変換出力信号を右シフトすることを含む。定数値は、ビデオ符号化装置に記憶された複数の定数値から選択される。定数値の各々は、ビデオ符号化によってサポートされる複数の異なる変換サイズのうちの1つについて事前計算される。

Description

本開示は、ビデオ符号化に関し、より詳細には、ビデオ符号化における固定小数点変換(fixed-point transform)に関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー又は衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信及び受信するために、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part10、アドバンストビデオ符号化(AVC:Advanced Video Coding)、又は提案されているITU−T H.265、高効率ビデオ符号化(HEVC:High Efficiency Video Coding)によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技術など、ビデオ圧縮技術を実装する。
ビデオ圧縮技術は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び/又は時間的予測を実行し得る。ブロックベースのビデオ符号化の場合、ビデオフレーム又はスライスはマクロブロックに区分され得る。各マクロブロックはさらに区分され得る。イントラ符号化(I)フレーム又はスライス中のマクロブロックは、隣接マクロブロックに対する空間的予測を使用して符号化される。インター符号化(P又はB又は一般化されたP/B)フレーム又はスライス中のマクロブロックは、同じフレーム又はスライス中の隣接マクロブロックに対する空間的予測、あるいは他の参照フレームに対する時間的予測を使用し得る。
ビデオ圧縮技術はまた、符号化のための効率的な方法で、符号化されるべき現在フレームのビデオブロックと、参照フレームの予測ビデオブロックとの間の差分である、残差ビデオブロックデータを表すために線形変換を実行し得る。場合によっては、ビデオ符号化装置は、カスケードバタフライ構造(cascaded butterfly structure)を使用して実行される線形変換の高速実装形態を使用し得る。変換を表すために使用されるカスケードバタフライ構造の数は変換のサイズに依存する。ビデオ符号化装置内の計算量を低減するために、線形変換は、浮動小数点変換(floating point transform)ではなく固定小数点変換として実装され得る。但し、固定小数点実装は、変換を表すために使用されるバタフライ構造のカスケードレベルの各々において丸め誤差(rounding error)を導入し得る。従って、固定小数点変換の場合、累積丸め誤差は変換のサイズとともに増加する。
本開示では、ビデオ符号化に関連する固定小数点変換において可変局所ビット深度増加を適用することによって、変換における丸め誤差を緩和するための技術について説明する。より詳細には、本技術は、ビデオ符号化装置において固定小数点変換のサイズに基づいて定数値を選択し、その定数値に等しい値を用いて変換において可変局所ビット深度増加を適用することを含む。可変局所ビット深度増加を適用するための本技術は、固定小数点変換の前に定数値に等しいビット数だけ変換入力信号を左シフトし、固定小数点変換の後に定数値に等しいビット数だけ変換出力信号を右シフトすることを含む。
本技術によれば、固定小数点変換のサイズの定数値は、ビデオ符号化装置に記憶された複数の異なる変換サイズのための複数の定数値から選択される。定数値の各々は、ビデオ符号化によってサポートされる複数の異なる変換サイズのうちの1つについて事前計算される。固定小数点変換は、変換のサイズに依存するビット深度の損失により変換出力信号の丸め誤差を導入し得る。固定小数点変換において可変局所ビット深度増加を適用すると、変換のためのより高いビット深度の変換入力信号が与えられる。その上、固定小数点変換のサイズに基づいて計算された値を用いて可変局所ビット深度増加を適用すると、変換の固定小数点実装による丸め誤差が低減又は除去され得る。
一例では、本開示は、ビデオ信号を符号化する方法であって、本方法は、定数値の各々がビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する複数の定数値を記憶することと、ビデオ符号化装置において固定小数点変換のサイズに基づいて定数値のうちの1つを選択することとを備える、方法を対象とする。本方法はさらに、ビデオ符号化装置において、固定小数点変換の前に定数値に等しいビット数だけ変換入力信号を左シフトすること、及び固定小数点変換の後に定数値に等しいビット数だけ変換出力信号を右シフトすることによって、定数値に等しい値を用いて固定小数点変換において可変局所ビット深度増加を適用することを含む。
別の例では、本開示は、ビデオ信号を符号化するためのビデオ符号化装置であって、本ビデオ符号化装置は、定数値の各々がビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する複数の定数値を記憶するメモリと、ビデオ符号化装置において固定小数点変換のサイズに基づいて定数値のうちの1つを選択することと、固定小数点変換の前に定数値に等しいビット数だけ変換入力信号を左シフトすること、及び固定小数点変換の後に定数値に等しいビット数だけ変換出力信号を右シフトすることによって、定数値に等しい値を用いて固定小数点変換において可変局所ビット深度増加を適用することとを行うプロセッサとを備える、ビデオ符号化装置を対象とする。
さらなる一例では、本開示は、ビデオ信号を符号化するためのビデオ符号化装置であって、本ビデオ符号化装置は、定数値の各々がビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する複数の定数値を記憶するための手段と、ビデオ符号化装置において固定小数点変換のサイズに基づいて定数値のうちの1つを選択するための手段とを備える、ビデオ符号化装置を対象とする。本ビデオ符号化装置はさらに、固定小数点変換の前に定数値に等しいビット数だけ変換入力信号を左シフトすること、及び固定小数点変換の後に定数値に等しいビット数だけ変換出力信号を右シフトすることによって、定数値に等しい値を用いて固定小数点変換において可変局所ビット深度増加を適用するための手段を含む。
別の例では、本開示は、ビデオ信号を符号化するための命令を備えるコンピュータ可読記憶媒体であって、命令は、プロセッサ中で実行されると、定数値の各々がビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する複数の定数値を記憶することと、ビデオ符号化装置において固定小数点変換のサイズに基づいて定数値のうちの1つを選択することと、ビデオ符号化装置において、固定小数点変換の前に定数値に等しいビット数だけ変換入力信号を左シフトすること、及び固定小数点変換の後に定数値に等しいビット数だけ変換出力信号を右シフトすることによって、定数値に等しい値を用いて固定小数点変換において可変局所ビット深度増加を適用することとをプロセッサに行わせる、コンピュータ可読記憶媒体を対象とする。
システム内の発信源機器のビデオエンコーダと宛先機器のビデオデコーダとに関連する固定小数点変換において可変局所ビット深度増加を適用するための技術を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。 ビデオ符号化に関連する変換のバタフライ構造を示す概念図。 ビデオ符号化に関連する変換のカスケードバタフライ構造を示す概念図。 変換ユニットの固定小数点実装における丸め誤差を緩和するために変換ユニットにおいて可変局所ビット深度増加を適用するための技術を実装し得る例示的なビデオエンコーダを示すブロック図。 逆変換ユニットの固定小数点実装における丸め誤差を緩和するために逆変換ユニットにおいて可変局所ビット深度増加を適用するための技術を実装し得る例示的なビデオデコーダを示すブロック図。 変換ユニットにおいて同じく可変局所ビット深度増加を適用するための技術を実装し得る内部ビット深度増加(IBDI:internal bit-depth increase)が使用される、例示的なビデオエンコーダを示すブロック図。 逆変換ユニットにおいて同じく可変局所ビット深度増加を適用するための技術を実装し得る内部ビット深度増加(IBDI)が使用される、例示的なビデオデコーダを示すブロック図。 変換ユニットの固定小数点実装における丸め誤差を緩和するために変換ユニットにおいて可変局所ビット深度増加を適用する例示的な方法を示すフローチャート。 逆変換ユニットの固定小数点実装における丸め誤差を緩和するために逆変換ユニットにおいて可変局所ビット深度増加を適用する例示的な方法を示すフローチャート。
本開示では、変換において可変局所ビット深度増加を適用することによって、ビデオ符号化に関連する変換の固定小数点実装によって導入される丸め誤差を緩和するための技術について説明する。より詳細には、本技術は、ビデオ符号化装置において固定小数点変換のサイズに基づいて定数値を選択し、その定数値に等しい値を用いて変換において可変局所ビット深度増加を適用することを含む。可変局所ビット深度増加を適用するための本技術は、固定小数点変換の前に定数値に等しいビット数だけ変換入力信号を左シフトし、固定小数点変換の後に定数値に等しいビット数だけ変換出力信号を右シフトすることを含む。固定小数点変換のサイズの定数値は、ビデオ符号化装置に記憶された複数の異なる変換サイズのための複数の定数値から選択される。定数値の各々は、ビデオ符号化によってサポートされる複数の異なる変換サイズのうちの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−T H.264規格、又は高効率ビデオ符号化(HEVC)と呼ばれる新生の次世代ビデオ符号化規格など、ビデオ圧縮規格に従って動作し得る。但し、本開示の技術は、いかなる特定の符号化規格にも限定されない。他の例には、MPEG−2及びITU−T H.263がある。図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャグループ(GOP)は、概して、一連の1つ以上のビデオフレームを備える。GOPは、GOP中に含まれる幾つかのフレームを記述するシンタックスデータを、GOPのヘッダ、GOPの1つ以上のフレームのヘッダ、又は他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、マクロブロック又はマクロブロックのパーティションに対応し得る。例えば、マクロブロックのサイズよりも小さいブロックサイズは、マクロブロックのパーティションと呼ばれることがある。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定の符号化規格に応じてサイズが異なり得る。各ビデオフレームは複数のスライスを含み得る。各スライスは複数のマクロブロックを含み得、それらのマクロブロックは、サブブロックとも呼ばれるパーティションに構成され得る。
一例として、ITU−T H.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:coding unit)と、予測ユニット(PU:prediction unit)と、変換ユニット(TU:transform unit)とに基づく、より効率的でフレキシブルなビデオ符号化を与える。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×(x)N」と「N×(by)N」は、垂直寸法及び水平寸法に関するブロックの画素寸法、例えば、16×(x)16画素又は16×(by)16画素を指すために互換的に使用され得る。一般に、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−T H.264(AVC)規格は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:coded block pattern)値、マクロブロックタイプ、符号化モード、(フレーム、スライス、マクロブロック、又はシーケンスなどの)符号化ユニットの最大マクロブロックサイズなどのシンタックス情報の生成など、他の処理機能を実行し得る。
ビデオエンコーダ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によって実装される変換の部分は以下の式によって表され得る。
Yi = Wi * Xi + Wi+1 * Xi+1
Yi+1 = Wi+1 * Xi − Wi * Xi+1,
但し、Xi及びXi+1は変換入力値であり、Yi及びYi+1は変換出力値であり、Wi及びWi+1は重み係数(weighting factor)又は増倍率(multiplication factor)である。変換入力信号は、X=(X0,X1,X2...XM)として表され得、変換出力信号は、Y=(Y0,Y1,Y2...YM)として表され得る。例えば、ビデオ符号化の場合、変換入力値は残差ビデオブロックの画素値を備え得、変換出力値は変換係数を備え得る。ビデオ復号の場合、変換入力値は、逆量子化された変換係数を備え得、変換出力値は残差ビデオブロックの画素値を備え得る。例えば、変換がDCTである場合、増倍率はサイン及びコサインである。他の変換タイプの場合、増倍率は、整数、ウェーブレットなどの形式をとり得る。
図1のビデオエンコーダ20又はビデオデコーダ30など、ビデオ符号化装置内の計算量を低減するために、ビデオ符号化に関連する変換は、浮動小数点変換ではなく固定小数点変換として実装され得る。固定小数点変換の場合、増倍率は整数又は2進分数であり得る。2進分数は、分子が整数であり、分母が2のべき乗である有理数である。例えば、少なくとも部分的にバタフライ構造34によって表される変換の固定小数点実装では、増倍率は、形式Wi=A/2m及びWi+1=B/2mの2進分数によって近似され得、但し、A、B、及びmは整数である。固定小数点では、2mによる除算は、mビットの右シフトとしても表され得る。バタフライ構造34の変換出力値は、従って、以下に式によって表され得る。
Yi = (A * Xi + B * Xi+1) >> m,
Yi+1 = (B * Xi − A * Xi+1) >> m,
但し、(>>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’=(Y+2N-1)>>Nとして表され得、但し、2N-1はオフセットを表し、(>>N)はNビットの右シフトを表す。他の例では、Nビットの右シフトの前に、異なるオフセットが変換出力信号に適用され得る。場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M-1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2M+N-1に等しい値を有し得、結合された右シフトは、(M+N)に等しい値を有し得る。
固定小数点変換の入力において可変局所ビット深度増加を適用すると、変換のためのより高いビット深度の変換入力信号が与えられる。その上、固定小数点変換のサイズに基づいて計算された値を用いて可変局所ビット深度増加を適用すると、変換の固定小数点実装による丸め誤差が低減又は除去される。
上記で説明したように、カスケードバタフライ構造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:localized bit-depth increase)ユニット42を含む。
符号化プロセス中に、ビデオエンコーダ20Aは、符号化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは複数のビデオブロックに分割され得る。予測ユニット40は、時間圧縮を行うために、1つ以上の参照フレーム中の1つ以上のブロックに対して、受信されたビデオブロックのインター予測符号化を実行する。イントラ予測ユニットはまた、空間圧縮を行うために、符号化されるべきブロックと同じフレーム又はスライス中の1つ以上の隣接ブロックに対して、受信されたビデオブロックのイントラ予測符号化を実行し得る。予測ユニット40は、例えば、誤り結果に基づいて符号化モード、即ち、イントラ又はインターのうちの1つを選択するためのモード選択を実行し得、残差ブロックデータを生成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器50に供給し、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器62に供給する。
予測ユニット40は、動き推定と動き補償の両方を実行し得る。他の例では、動き推定及び動き補償は別々の機能ユニットを備え得る。動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のフレーム(又は、他の符号化ユニット)内の符号化されている現在のブロックに対する予測参照フレーム(又は、他の符号化ユニット)内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、又は他の差分メトリックによって決定され得る画素差分に関して、符号化されるべきブロックにぴったり一致することがわかるブロックである。動きベクトルはまた、マクロブロックのパーティションの変位を示し得る。動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックを取込む(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.264(AVC)規格は4×4及び8×8サイズの変換をサポートし得る。新生のHEVC規格は、16×16、32×32、64×64、又は128×128までのサイズの方形変換及び/又は矩形変換をサポートし得る。
定数値メモリ43に記憶された複数の異なる変換サイズのうちの1つのための定数値の各々は、ビデオ信号の入力ビット深度値Biと、固定小数点変換におけるオーバーフローを回避するのに必要な追加のビット数である変換ビット深度値BTRと、固定小数点変換に関連する変換ビット精度値Zとに基づいて事前計算される。定数値Nの各々は、式Bi+BTR+N≦Zを満たすように事前計算され得る。
場合によっては、定数値に等しい値を用いて可変局所ビット深度増加を適用することにより、変換入力信号が、ビデオエンコーダ20Aによってサポートされる全体的なビット深度よりも大きいビット深度を有することになるように、定数値は大きい値を有するように事前計算され得る。例えば、ビデオエンコーダ20Aが32ビットエンコーダを備える場合、32ビットよりも大きいビット深度を変換入力信号が有することになる定数値が事前計算され得る。その場合、定数値は、変換入力信号のビット深度がビデオエンコーダ20Aの全体的なビット深度を超えることがないように、定数値メモリ43に記憶される前に低減され得る。
複数の異なる変換サイズのうちの1つのための定数値の各々を事前計算するために、変換ビット精度値Zは、ビデオエンコーダ及び/又はビデオデコーダの両方における固定小数点変換の実装に基づいて選択される。例えば、変換ビット精度値は、16、32、又は64ビットに等しくなり得る。変換ビット精度値は、固定小数点変換のサイズと、ビデオ符号化装置内に実装された変換に関連するレジスタのサイズとに依存し得る。
その上、複数の異なる変換サイズのうちの1つのための定数値の各々を事前計算するために、固定小数点変換におけるオーバーフローを回避するのに必要な変換ビット深度値BTRは、固定小数点変換のサイズに基づいて決定される。より詳細には、変換ビット深度値は、固定小数点変換ユニットを表すカスケードバタフライ構造の各々における変換出力値のワーストケース分析に基づいて決定され得る。変換出力Yi及びYi+1の可能な値の範囲は、個々のバタフライ構造の各々において、増倍率Wi及びWi+1に基づいて計算され得る。固定小数点変換全体の変換出力信号の累積ビット範囲は、追加のビットの最大数、即ち、固定小数点変換におけるオーバーフローを回避するために必要とされる変換ビット深度値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は、式Bi+BTR+N≦Zを満たすように12ビットに等しく事前計算される。
この例では、LBDIユニット42は、変換ユニット52に入力される残差ビデオブロックに12ビットの左シフト44を適用する。LBDIユニット42は、同様に、変換ユニット52から出力された残差変換係数に12ビットの右シフト45を適用する。LBDI42は、最初に、変換ユニット52から出力された残差変換係数にオフセットを適用し、その後、オフセットされた残差変換係数に右シフト45を適用し得る。一例では、LBDI42は、2N-1に等しいオフセットを適用し得、但し、Nは定数値である。他の例では、右シフト45を適用する前に、変換ユニット52から出力された残差変換係数に異なるオフセットが適用され得る。場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M-1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2M+N-1に等しい値を有し得、結合された右シフトは、(M+N)に等しい値を有し得る。
場合によっては、定数値メモリ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によって復号された量子化ブロック係数を逆量子化(inverse quantize)、即ち、逆量子化(de-quantize)する。逆量子化プロセスは、例えば、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の各々は、定数値が式Bi+BTR+N≦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は、式Bi+BTR+N≦Zを満たすように12ビットに等しく事前計算される。
この例では、LBDIユニット84は、逆変換ユニット78に入力される変換係数に12ビットの左シフト86を適用する。LBDIユニット84は、同様に、逆変換ユニット78から出力された残差ビデオブロックに12ビットの右シフト87を適用する。LBDIユニット84は、最初に、逆変換ユニット78から出力された残差ビデオブロックにオフセットを適用し、その後、オフセットされた残差ビデオブロックに右シフト87を適用し得る。一例では、LBDIユニット84は、2N-1に等しいオフセットを適用し得、但し、Nは定数値である。他の例では、右シフト87を適用する前に、逆変換ユニット78から出力された残差ビデオブロックに異なるオフセットが適用され得る。場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M-1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2M+N-1に等しい値を有し得、結合された右シフトは、(M+N)に等しい値を有し得る。
場合によっては、定数値メモリ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は、式Bi+BTR+N≦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は、2N-1に等しいオフセットを変換係数に適用し得る。LBDIユニット42は、次いで、オフセット変換係数に、選択された定数値に等しいビット数だけ右シフト45を適用する(146)。
場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M-1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2M+N-1に等しい値を有し得、結合された右シフトは、(M+N)に等しい値を有し得る。
図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は、2N-1に等しいオフセットを変換係数に適用し得る。LBDIユニット42は、次いで、オフセットされた変換係数に、調整された定数値に等しいビット数だけ右シフト95を適用する(146)。
場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M-1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2M+N-1に等しい値を有し得、結合された右シフトは、(M+N)に等しい値を有し得る。
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は、式Bi+BTR+N≦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は、2N-1に等しいオフセットを残差ビデオブロックデータに適用し得る。LBDIユニット84は、次いで、オフセットされた残差ビデオブロックデータに、選択された定数値に等しいビット数だけ右シフト87を適用する(166)。
場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M-1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2M+N-1に等しい値を有し得、結合された右シフトは、(M+N)に等しい値を有し得る。
図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は、2N-1に等しいオフセットを残差ビデオブロックデータに適用し得る。LBDIユニット84は、次いで、オフセットされた残差ビデオブロックデータに、調整された定数値に等しいビット数だけ右シフト107を適用する(166)。
場合によっては、可変局所ビット深度増加とともに追加のオフセット及び右シフトが変換出力信号に適用され得る。それらの場合、オフセットと右シフトは互いに結合され得る。例えば、追加のオフセットが2M-1の値を有し、追加の右シフトがMの値を有する場合、結合されたオフセットは、2M+N-1に等しい値を有し得、結合された右シフトは、(M+N)に等しい値を有し得る。
LBDIユニット84は、変換のためのより高いビット深度の変換入力信号を与えるために、逆変換ユニット78において可変局所ビット深度増加を適用することによって逆変換ユニット78の丸め誤差を低減又は除去し得る。逆変換ユニット78に入力される変換係数のより高いビット深度は、逆変換ユニット78の逆固定小数点変換を表すために使用されるカスケードバタフライ構造によって実行される右シフトの量によってあまり損なわれない。その上、逆変換ユニット78の固定小数点逆変換のサイズに基づいて計算された値を用いて可変局所ビット深度増加を適用すると、変換係数に適用される特定の固定小数点逆変換による逆変換ユニット78の丸め誤差がより効果的に低減される。
以下で提示する表1及び表2に、内部ビット深度増加(IBDI)が適用されないとき、線形変換において局所ビット深度増加を適用した最初の結果を与える。表1と表2は両方とも、幾つかのビデオシーケンスについて、IBDIが適用されたときの局所ビット深度増加がない場合と、IBDIが適用されないときの局所ビット深度増加がある場合とのビットレート低減割合を与えている。表1は、低遅延高効率、即ち、一般化されたP/B(GPB)の構成の結果を提示し、表2は、ランダムアクセス高効率、即ち、階層Bの構成の結果を提示している。局所ビット深度増加がある場合の平均ビットレート低減は、低遅延高効率構成では1.26%であり(表1)、ランダムアクセス高効率構成では1.03%である(表2)。
Figure 2013534795
Figure 2013534795
1つ以上の例では、本開示において説明した機能又は動作は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能又は動作は、1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技術の実装のための命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ若しくは1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージデバイス、フラッシュメモリ、若しくは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体など、非一時的媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
命令は、1つ以上のデジタル信号プロセッサ(DSP)などの1つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、又は他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技術の実装に好適な他の構造のいずれかを指し得る。さらに、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供され得、若しくは複合コーデックに組み込まれ得る。また、本技術は、1つ以上の回路又は論理要素中に十分に実装され得る。
本開示の技術は、ワイヤレスハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む、多種多様なデバイス又は装置において実施され得る。本開示では、開示する技術を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明したように1つ又は複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。

Claims (38)

  1. ビデオ信号を符号化する方法であって、
    複数の定数値の各々が、ビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する前記複数の定数値を記憶することと、
    ビデオ符号化装置が、固定小数点変換のサイズに基づいて前記定数値のうちの1つを選択することと、
    前記ビデオ符号化装置が、前記固定小数点変換の前に前記定数値に等しいビット数だけ変換入力信号を左シフトすること、及び前記固定小数点変換の後に前記定数値に等しいビット数だけ変換出力信号を右シフトすることによって、前記定数値に等しい値を用いて前記固定小数点変換において可変局所ビット深度増加を適用することと
    を備える、方法。
  2. 前記固定小数点変換が2次元固定小数点変換を備え、
    前記定数値のうちの1つを選択することが、前記2次元固定小数点変換の1つの段のサイズに基づいて前記定数値のうちの1つを選択することと、前記定数値を2倍にすることとを備え、
    可変局所ビット深度増加を適用することが、前記2倍にされた定数値よりも小さいか又はそれに等しい値を用いて前記2次元固定小数点変換において前記可変局所ビット深度増加を適用することを備える、
    請求項1に記載の方法。
  3. 前記方法は、
    前記ビデオ信号に内部ビット深度増加が適用されたかどうかを決定することと、
    前記ビデオ信号に前記内部ビット深度増加が適用されたとき、前記内部ビット深度増加の値に基づいて前記定数値を調整することと、を更に含み、
    前記可変局所ビット深度増加を適用することが、前記調整された定数値に等しい値を用いて前記固定小数点変換において前記可変局所ビット深度増加を適用することを含む、請求項1に記載の方法。
  4. 前記定数値を調整することは、前記調整された定数値がN−Bdに等しくなるように、前記定数値Nを前記内部ビット深度増加の前記値Bdだけ低減することを備える、請求項3に記載の方法。
  5. 前記定数値を調整することは、(N−Bd)≧0となるように、前記内部ビット深度増加の前記値が前記定数値よりも小さいか又はそれに等しいとき、前記定数値Nを前記内部ビット深度増加の前記値Bdだけ低減することを備える、請求項4に記載の方法。
  6. 前記定数値を調整することは、(N−Bd)<0となるように、前記内部ビット深度増加の前記値Bdが前記定数値よりも大きいとき、前記定数値Nを0に低減することを備える、請求項4に記載の方法。
  7. 前記固定小数点変換の後に前記定数値に等しい前記ビット数だけ前記変換出力信号を右シフトすることより前に前記変換出力信号にオフセットを適用することをさらに備える、請求項1に記載の方法。
  8. 前記定数値がNに等しく、前記変換出力信号にオフセットを適用することが、2N-1に等しいオフセットを前記変換出力信号に適用することを備える、請求項7に記載の方法。
  9. 前記可変局所ビット深度増加の前記オフセット及び右シフトを、前記変換出力信号に適用される他のオフセット及び右シフトと結合することをさらに備える、請求項7に記載の方法。
  10. 前記ビデオ符号化装置に前記複数の定数値を記憶することより前に、前記複数の異なる変換サイズのうちの1つに関連する前記定数値の各々が、前記ビデオ信号の入力ビット深度値と、前記変換サイズに関連する変換ビット深度値と、前記変換サイズに関連する変換ビット精度値とに基づいて事前計算される、請求項1に記載の方法。
  11. 前記定数値Nの各々が、Bi+BTR+N≦Zを満たすように事前計算され、Biが前記ビデオ信号の前記入力ビット深度値であり、BTRが、前記変換サイズに関連する前記変換ビット深度値であり、Zが、前記変換サイズに関連する前記変換ビット精度値である、請求項10に記載の方法。
  12. 前記複数の異なる変換サイズが、方形変換サイズ及び矩形変換サイズのうちの1つ以上を備える、請求項1に記載の方法。
  13. 前記複数の異なる変換サイズが、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に記載の方法。
  14. ビデオ信号を符号化するためのビデオ符号化装置であって、
    複数の定数値の各々が、ビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する前記複数の定数値を記憶するメモリと、
    前記ビデオ符号化装置において固定小数点変換のサイズに基づいて前記定数値のうちの1つを選択することと、前記ビデオ符号化装置において、前記固定小数点変換の前に前記定数値に等しいビット数だけ変換入力信号を左シフトすること、及び前記固定小数点変換の後に前記定数値に等しいビット数だけ変換出力信号を右シフトすることによって、前記定数値に等しい値を用いて前記固定小数点変換において可変局所ビット深度増加を適用することとを行うプロセッサと
    を備える、ビデオ符号化装置。
  15. 前記ビデオ符号化装置がビデオ符号化装置を備え、前記ビデオ符号化装置が、前記ビデオ信号を符号化するエントロピー符号化ユニットをさらに備える、請求項14に記載のビデオ符号化装置。
  16. 前記ビデオ符号化装置がビデオ復号装置を備え、前記ビデオ復号装置が、前記ビデオ信号を復号するエントロピー復号ユニットをさらに備える、請求項14に記載のビデオ符号化装置。
  17. 前記固定小数点変換が2次元固定小数点変換を備え、前記プロセッサが、前記2次元固定小数点変換の1つの段のサイズに基づいて前記定数値のうちの1つを選択し、前記定数値を2倍にし、2倍にされた前記定数値よりも小さいか又はそれに等しい値を用いて前記2次元固定小数点変換において前記可変局所ビット深度増加を適用する、請求項14に記載のビデオ符号化装置。
  18. 前記プロセッサは、
    前記ビデオ信号に内部ビット深度増加が適用されたかどうかを決定し、
    前記ビデオ信号に前記内部ビット深度増加が適用されたとき、前記内部ビット深度増加の値に基づいて前記定数値を調整し、
    前記調整された定数値に等しい値を用いて前記固定小数点変換において前記可変局所ビット深度増加を適用する、
    請求項14に記載のビデオ符号化装置。
  19. 前記プロセッサは、前記調整された定数値がN−Bdに等しくなるように、前記定数値Nを前記内部ビット深度増加の前記値Bdだけ低減することによって前記定数値を調整する、請求項18に記載のビデオ符号化装置。
  20. 前記プロセッサは、(N−Bd)≧0となるように、前記内部ビット深度増加の前記値が前記定数値よりも小さいか又はそれに等しいとき、前記定数値Nを前記内部ビット深度増加の前記値Bdだけ低減する、請求項19に記載のビデオ符号化装置。
  21. 前記プロセッサは、(N−Bd)<0となるように、前記内部ビット深度増加の前記値Bdが前記定数値よりも大きいとき、前記定数値Nを0に低減する、請求項19に記載のビデオ符号化装置。
  22. 前記プロセッサが、前記固定小数点変換の後に前記定数値に等しい前記ビット数だけ前記変換出力信号を右シフトすることより前に前記変換出力信号にオフセットを適用する、請求項14に記載のビデオ符号化装置。
  23. 前記定数値がNに等しく、前記プロセッサが、2N-1に等しいオフセットを前記変換出力信号に適用する、請求項22に記載のビデオ符号化装置。
  24. 前記プロセッサが、前記可変局所ビット深度増加の前記オフセット及び右シフトを、前記変換出力信号に適用される他のオフセット及び右シフトと結合する、請求項22に記載のビデオ符号化装置。
  25. 前記メモリに記憶されるより前に、前記複数の異なる変換サイズのうちの1つに関連する前記定数値の各々が、前記ビデオ信号の入力ビット深度値と、前記変換サイズに関連する変換ビット深度値と、前記変換サイズに関連する変換ビット精度値とに基づいて事前計算される、請求項14に記載のビデオ符号化装置。
  26. 前記定数値Nの各々が、Bi+BTR+N≦Zを満たすように事前計算され、Biが前記ビデオ信号の前記入力ビット深度値であり、BTRが、前記変換サイズに関連する前記変換ビット深度値であり、Zが、前記変換サイズに関連する前記変換ビット精度値である、請求項25に記載のビデオ符号化装置。
  27. 前記複数の異なる変換サイズが、方形変換サイズ及び矩形変換サイズのうちの1つ以上を備える、請求項14に記載のビデオ符号化装置。
  28. 前記複数の異なる変換サイズが、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に記載のビデオ符号化装置。
  29. ビデオ信号を符号化するためのビデオ符号化装置であって、
    複数の定数値の各々が、ビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する前記複数の定数値を記憶するための手段と、
    前記ビデオ符号化装置において固定小数点変換のサイズに基づいて前記定数値のうちの1つを選択するための手段と、
    前記固定小数点変換の前に前記定数値に等しいビット数だけ変換入力信号を左シフトすること、及び前記固定小数点変換の後に前記定数値に等しいビット数だけ変換出力信号を右シフトすることによって、前記定数値に等しい値を用いて前記固定小数点変換において可変局所ビット深度増加を適用するための手段と
    を備える、ビデオ符号化装置。
  30. 前記固定小数点変換が2次元固定小数点変換を備え、
    前記2次元固定小数点変換の1つの段のサイズに基づいて前記定数値のうちの1つを選択するための手段と、
    前記定数値を2倍にするための手段と、
    2倍にされた前記定数値よりも小さいか又はそれに等しい値を用いて前記2次元固定小数点変換において前記可変局所ビット深度増加を適用するための手段と
    をさらに備える、請求項29に記載のビデオ符号化装置。
  31. 前記ビデオ信号に内部ビット深度増加が適用されたかどうかを決定するための手段と、
    前記ビデオ信号に前記内部ビット深度増加が適用されたとき、前記内部ビット深度増加の値に基づいて前記定数値を調整するための手段と、
    調整された前記定数値に等しい値を用いて前記固定小数点変換において前記可変局所ビット深度増加を適用するための手段と
    をさらに備える、請求項29に記載のビデオ符号化装置。
  32. 前記固定小数点変換の後に前記定数値に等しい前記ビット数だけ前記変換出力信号を右シフトすることより前に前記変換出力信号にオフセットを適用するための手段をさらに備える、請求項29に記載のビデオ符号化装置。
  33. 前記複数の異なる変換サイズが、方形変換サイズ及び矩形変換サイズのうちの1つ以上を備える、請求項29に記載のビデオ符号化装置。
  34. ビデオ信号を符号化するための命令を備えるコンピュータ可読記憶媒体であって、前記命令は、プロセッサ中で実行されると、
    複数の定数値の各々が、ビデオ符号化に関連する複数の異なる変換サイズのうちの1つに関連する前記複数の定数値を記憶することと、
    ビデオ符号化装置が固定小数点変換のサイズに基づいて前記定数値のうちの1つを選択することと、
    前記ビデオ符号化装置が前記固定小数点変換の前に前記定数値に等しいビット数だけ変換入力信号を左シフトすること、及び前記固定小数点変換の後に前記定数値に等しいビット数だけ変換出力信号を右シフトすることによって、前記定数値に等しい値を用いて前記固定小数点変換において可変局所ビット深度増加を適用することと
    を前記プロセッサに行わせる、コンピュータ可読記憶媒体。
  35. 前記固定小数点変換が2次元固定小数点変換を備え、前記命令が、
    前記2次元固定小数点変換の1つの段のサイズに基づいて前記定数値のうちの1つを選択することと、
    前記定数値を2倍にすることと、
    2倍にされた前記定数値よりも小さいか又はそれに等しい値を用いて前記2次元固定小数点変換において前記可変局所ビット深度増加を適用することと
    を前記プロセッサに行わせる、請求項34に記載のコンピュータ可読記憶媒体。
  36. 前記ビデオ信号に内部ビット深度増加が適用されたかどうかを決定することと、
    前記ビデオ信号に前記内部ビット深度増加が適用されたとき、前記内部ビット深度増加の値に基づいて前記定数値を調整することと、
    調整された前記定数値に等しい値を用いて前記固定小数点変換において前記可変局所ビット深度増加を適用することと
    を前記プロセッサに行わせる命令をさらに備える、請求項34に記載のコンピュータ可読記憶媒体。
  37. 前記固定小数点変換の後に選択された前記定数値に等しい前記ビット数だけ前記変換出力信号を右シフトすることより前に前記変換出力信号にオフセットを適用することを前記プロセッサに行わせる命令をさらに備える、請求項34に記載のコンピュータ可読記憶媒体。
  38. 前記複数の異なる変換サイズが、方形変換サイズ及び矩形変換サイズのうちの1つ以上を備える、請求項34に記載のコンピュータ可読記憶媒体。
JP2013519732A 2010-07-15 2011-07-08 ビデオ符号化における固定小数点変換のための可変局所ビット深度増加 Expired - Fee Related JP5727006B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US36478410P 2010-07-15 2010-07-15
US61/364,784 2010-07-15
US37076010P 2010-08-04 2010-08-04
US61/370,760 2010-08-04
US13/159,063 2011-06-13
US13/159,063 US9185422B2 (en) 2010-07-15 2011-06-13 Variable localized bit-depth increase for fixed-point transforms in video coding
PCT/US2011/043462 WO2012009237A1 (en) 2010-07-15 2011-07-08 Variable localized bit depth increase for fixed-point transforms in video coding

Publications (3)

Publication Number Publication Date
JP2013534795A true JP2013534795A (ja) 2013-09-05
JP2013534795A5 JP2013534795A5 (ja) 2015-04-02
JP5727006B2 JP5727006B2 (ja) 2015-06-03

Family

ID=45466982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013519732A Expired - Fee Related JP5727006B2 (ja) 2010-07-15 2011-07-08 ビデオ符号化における固定小数点変換のための可変局所ビット深度増加

Country Status (6)

Country Link
US (1) US9185422B2 (ja)
EP (1) EP2594072B1 (ja)
JP (1) JP5727006B2 (ja)
KR (1) KR101477435B1 (ja)
CN (1) CN103004192B (ja)
WO (1) WO2012009237A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016534679A (ja) * 2013-09-20 2016-11-04 ヴィド スケール インコーポレイテッド 3dルックアップテーブル符号化に色域スケーラビリティを提供するシステムおよび方法
US9912925B2 (en) 2013-12-13 2018-03-06 Vid Scale, Inc. Providing 3D look-up table (LUT) estimation for color gamut scalability
WO2019003676A1 (ja) * 2017-06-29 2019-01-03 ソニー株式会社 画像処理装置と画像処理方法およびプログラム
WO2019159696A1 (ja) * 2018-02-14 2019-08-22 ソニー株式会社 画像処理装置および方法
WO2019159697A1 (ja) * 2018-02-14 2019-08-22 ソニー株式会社 画像処理装置および方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI433096B (zh) * 2011-01-27 2014-04-01 Novatek Microelectronics Corp 面板驅動電路
US9621890B2 (en) * 2011-10-20 2017-04-11 Thomson Licensing Method and device for encoding a video frame, method and device for decoding a video frame and storage medium
CN110234009B (zh) * 2012-01-20 2021-10-29 维洛媒体国际有限公司 色度量化参数扩展的解码方法及装置
TWI597968B (zh) 2012-12-21 2017-09-01 杜比實驗室特許公司 在高位元深度視訊的可適性編碼中,高精度升取樣
JP6157114B2 (ja) * 2012-12-28 2017-07-05 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
GB2521349A (en) * 2013-12-05 2015-06-24 Sony Corp Data encoding and decoding
US9516345B2 (en) 2014-03-17 2016-12-06 Qualcomm Incorporated Systems and methods for low complexity forward transforms using mesh-based calculations
US9432696B2 (en) 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US10863200B2 (en) * 2014-07-25 2020-12-08 Intel Corporation Techniques for performing a forward transformation by a video encoder using a forward transform matrix
CN105513587B (zh) * 2014-09-22 2020-07-24 联想(北京)有限公司 一种mfcc提取方法及装置
US11363282B1 (en) * 2016-09-07 2022-06-14 Quantum Radius Corporation System and method for low latency distributed image compression and composition
JP6324590B2 (ja) * 2017-05-25 2018-05-16 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2018142969A (ja) * 2018-04-11 2018-09-13 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN110662050B (zh) * 2018-06-29 2022-06-14 北京字节跳动网络技术有限公司 处理视频数据的方法、装置及存储介质
EP3751852A1 (en) * 2019-06-12 2020-12-16 intoPIX s.a. Encoder and method of encoding a sequence of frames
US11375219B2 (en) * 2019-09-24 2022-06-28 Tencent America LLC Coding method and system with improved dynamic internal bit depth
EP3843406A4 (en) * 2019-09-24 2021-10-27 Guangdong Oppo Mobile Telecommunications Corp., Ltd. METHOD OF DETERMINING A PREDICTED VALUE, ENCODER, DECODER AND COMPUTER STORAGE MEDIUM

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010505154A (ja) * 2006-06-26 2010-02-18 クゥアルコム・インコーポレイテッド 逆離散コサイン変換計算における誤差低減

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082450B2 (en) 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization
US7689052B2 (en) * 2005-10-07 2010-03-30 Microsoft Corporation Multimedia signal processing using fixed-point approximations of linear transforms
US8548265B2 (en) 2006-01-05 2013-10-01 Fastvdo, Llc Fast multiplierless integer invertible transforms
US8595281B2 (en) * 2006-01-11 2013-11-26 Qualcomm Incorporated Transforms with common factors
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
CN101458679B (zh) 2007-12-10 2012-01-25 辉达公司 统一反向离散余弦变换(idct)微码处理器引擎
US8607023B1 (en) 2009-12-16 2013-12-10 Applied Micro Circuits Corporation System-on-chip with dynamic memory module switching

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010505154A (ja) * 2006-06-26 2010-02-18 クゥアルコム・インコーポレイテッド 逆離散コサイン変換計算における誤差低減

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JOSHI,R., ET AL: "CE10: Scaled orthogonal integer transforms supporting recursive factorization structure[online]", JCTVC-E370_R1, JPN6014022863, 16 March 2011 (2011-03-16), ISSN: 0002824909 *
MARTA KARCZEWICZ, PEISONG CHEN, RAJAN JOSHI, XIANGLIN WANG, WEI-JUNG CHIEN, RAHUL PANCHAL: "Video coding technology proposal by Qualcomm Inc.", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 JVT-A1, JPN7013003926, 15 April 2010 (2010-04-15), ISSN: 0002669407 *
R. JOSHI, Y. REZNIK, AND M. KARCZEWICZ: "Simplified Transforms for Extended Block Sizes", ITU - TELECOMMUNICATIONS STANDARDIZATION SECTOR STUDY GROUP 16 QUESTION 6 VIDEO CODING EXPERTS GROUP, JPN7013003928, 6 July 2009 (2009-07-06), ISSN: 0002669408 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9955174B2 (en) 2013-09-20 2018-04-24 Vid Scale, Inc. Systems and methods for providing 3D look-up table coding for color gamut scalability
US10390029B2 (en) 2013-09-20 2019-08-20 Vid Scale, Inc. Systems and methods for providing 3D look-up table coding for color gamut scalability
JP2016534679A (ja) * 2013-09-20 2016-11-04 ヴィド スケール インコーポレイテッド 3dルックアップテーブル符号化に色域スケーラビリティを提供するシステムおよび方法
US10440340B2 (en) 2013-12-13 2019-10-08 Vid Scale, Inc. Providing 3D look-up table (LUT) estimation for color gamut scalability
US9912925B2 (en) 2013-12-13 2018-03-06 Vid Scale, Inc. Providing 3D look-up table (LUT) estimation for color gamut scalability
WO2019003676A1 (ja) * 2017-06-29 2019-01-03 ソニー株式会社 画像処理装置と画像処理方法およびプログラム
JPWO2019003676A1 (ja) * 2017-06-29 2020-04-30 ソニー株式会社 画像処理装置と画像処理方法およびプログラム
WO2019159697A1 (ja) * 2018-02-14 2019-08-22 ソニー株式会社 画像処理装置および方法
WO2019159696A1 (ja) * 2018-02-14 2019-08-22 ソニー株式会社 画像処理装置および方法
JPWO2019159696A1 (ja) * 2018-02-14 2021-01-28 ソニー株式会社 画像処理装置および方法
JPWO2019159697A1 (ja) * 2018-02-14 2021-01-28 ソニー株式会社 画像処理装置および方法
US11109046B2 (en) 2018-02-14 2021-08-31 Sony Corporation Image processing apparatus and image processing method
US11356701B2 (en) 2018-02-14 2022-06-07 Sony Corporation Image processing apparatus and image processing method
JP7235030B2 (ja) 2018-02-14 2023-03-08 ソニーグループ株式会社 画像処理装置および方法
JP7235031B2 (ja) 2018-02-14 2023-03-08 ソニーグループ株式会社 画像処理装置および方法

Also Published As

Publication number Publication date
EP2594072B1 (en) 2016-08-17
CN103004192B (zh) 2016-05-04
KR101477435B1 (ko) 2014-12-30
KR20130054354A (ko) 2013-05-24
US20120014455A1 (en) 2012-01-19
JP5727006B2 (ja) 2015-06-03
US9185422B2 (en) 2015-11-10
EP2594072A1 (en) 2013-05-22
CN103004192A (zh) 2013-03-27
WO2012009237A1 (en) 2012-01-19

Similar Documents

Publication Publication Date Title
JP5727006B2 (ja) ビデオ符号化における固定小数点変換のための可変局所ビット深度増加
JP2013534795A5 (ja)
US9838718B2 (en) Secondary boundary filtering for video coding
US10327008B2 (en) Adaptive motion vector resolution signaling for video coding
US9172972B2 (en) Low complexity interpolation filtering with adaptive tap size
KR20120128691A (ko) 모션 보간을 위한 색차 고 정밀도 모션 필터링
JP2017123665A (ja) イントラ予測を使用したビデオ符号化
US20120307893A1 (en) Fast computing of discrete cosine and sine transforms of types vi and vii
US20120163448A1 (en) Coding the position of a last significant coefficient of a video block in video coding
WO2011160010A1 (en) Joint coding of partition information in video coding
JP2013502624A (ja) メディアデータ符号化用8点変換
JP2012531670A (ja) メディアデータ符号化用8点変換
JP2014501084A (ja) ビデオコーディングにおける並列コンテキスト計算
JP5937205B2 (ja) ビデオコーディングのためのランモードベース係数コーディング
JP2018507625A (ja) パレットモードコード化のためのエスケープ画素をコード化すること
US20120147947A1 (en) Codeword adaptation for variable length coding
US20120163460A1 (en) Sub-pixel interpolation for video coding
US10567800B2 (en) Transform hardware architecture for video coding

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140205

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150202

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20150202

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150401

R150 Certificate of patent or registration of utility model

Ref document number: 5727006

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees