JP5502487B2 - 逆離散コサイン変換の最大ダイナミックレンジのシグナリング - Google Patents

逆離散コサイン変換の最大ダイナミックレンジのシグナリング Download PDF

Info

Publication number
JP5502487B2
JP5502487B2 JP2009534828A JP2009534828A JP5502487B2 JP 5502487 B2 JP5502487 B2 JP 5502487B2 JP 2009534828 A JP2009534828 A JP 2009534828A JP 2009534828 A JP2009534828 A JP 2009534828A JP 5502487 B2 JP5502487 B2 JP 5502487B2
Authority
JP
Japan
Prior art keywords
output value
module
media data
idct output
idct
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.)
Expired - Fee Related
Application number
JP2009534828A
Other languages
English (en)
Other versions
JP2010507995A (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 JP2010507995A publication Critical patent/JP2010507995A/ja
Application granted granted Critical
Publication of JP5502487B2 publication Critical patent/JP5502487B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Description

本出願は、2006年10月23日に出願された米国仮出願60/862,591の利益を主張する。その全内容は、参照によりここに組込まれる。
本開示はコンピュータグラフィックス、より詳しくはグラフィックスデータの圧縮に関する。
多くの既存の画像および映像符号化標準は、解像度の高い画像及び映像が比較的コンパクトなファイルまたはデータストリームとして格納されるか送信されることを可能にするために圧縮技術を用いる。このような符号化標準は、Joint Photographic Experts Group(JPEG),Moving Pictures Experts Group(MPEG)-1,MPEG2,MPEG-4 part 2,H.261,H.263,H.264/Advanced Video Coding(H.264/AVC)および他の画像または映像符号化標準を含む。
これらの多くの標準に従って、映像フレームは“空間”符号化を用いて圧縮される。これらのフレームは、原フレーム(つまりiフレーム)かもしれないし、または動き補償を用いる時間符号化処理によって生成された残差フレームかもしれない。空間符号化の間に、フレームは画素ブロックに等しいサイズに分割される。例えば、圧縮されていないフレームが8×8画素ブロックセットに分割されてもよい。各画素ブロックについて、画素成分は画素成分値のマトリクスへ分離される。例えば、各画素ブロックはY画素成分値のマトリクス、U画素成分値のマトリクスおよびV画素成分値のマトリクスに分割されてもよい。この例において、Y画素成分値は輝度値を表し、またUを及びV画素成分値は色度値を表わす。
さらに、空間符号化の間に、符号化フレーム内の画素成分値の各マトリクスに、フォワード離散コサイン変換(FDCT)が適用される。理想的な一次元FDCTは、以下のように定義される。
Figure 0005502487
ここで、sはN個のオリジナル値の配列、tはN個の変換値の配列であり、係数cは以下で与えられる。
Figure 0005502487
理想の二次元FDCTは、以下の式によって定義される。
Figure 0005502487
ここで、sはN個のオリジナル値の配列、tはN個の変換値の配列であり、また、c(i,j)は一次元の場合で定義されたc(k)により、c(i,j)=c(i)c(j)によって与えられる。
FDCTを用いて画素成分値のブロックが変換されるとき、係数マトリクスが生成される。その後、この係数マトリクスは量子化され、また例えばハフマンまたは算術符号を用いて符号化されてもよい。映像ビットストリームは、映像フレームの非圧縮系列内の映像フレーム内の画素成分値のすべてのブロック上での当該処理を行った結果の組み合わせを表わす。
この処理を逆にすることにより、映像ビットストリームから圧縮されていない映像フレームを得てもよい。特に、ビットストリーム映像の各係数マトリクスは伸張され、また伸張された値は逆量子化係数マトリクスを得るために逆量子化される。その後、画素成分値のマトリクスを得るために逆離散コサイン変換(IDCT)が逆量子化係数の各マトリクスに適用される。理想的な一次元IDCTは、以下によって定義される。
Figure 0005502487
ここで、sはN個のオリジナル値の配列、tはN個の変換値の配列であり、係数cは以下で与えられる。
Figure 0005502487
理想の二次元IDCTは、以下の式によって定義される。
Figure 0005502487
その後、結果として生じる画素成分値のマトリクスは画素ブロックへと再構築され、またこれらの画素ブロックは復号映像フレームを形成するために再構築される。復号映像フレームがイントラ符号化フレームであれば、映像フレームは直ちに完全に復号される。しかし、復号映像フレームがインター符号化フレームである場合、復号映像フレームは単に復号残差フレームである。完全なフレームは、復号映像フレームに関連する動きベクトルを用いて予測フレームを作成し、次に復号残差フレームに予測フレームを加えることにより生成される。
復号装置が生成不可能なIDCT出力値を生成すべき係数マトリクスへのIDCTの適用を復号装置が試みる場合、原メディアデータと復号メディアデータ間の重大な差が生じるかもしれない。このような差は、復号メディアデータの品質を著しく低下させるかもしれない。復号装置がメディアデータの符号化バージョンに関連するIDCT出力値を生成することができない場合に、復号装置がメディアデータを復号するのを回避することができる。
技術は、符号化メディアデータセットが復号される場合に生成されるであろう逆離散コサイン変換(IDCT)出力値の最大ダイナミックレンジを伝えることに関して説明される。これらの技術に従って、符号化装置は1または複数の映像フレームのセットに関連する符号化メディアデータを含むメディアファイルを生成してもよい。メディアファイルは、さらに符号化メディアデータが復号されるとき生成されるIDCT出力値の最大ダイナミックレンジを示すレンジ表示要素を含んでいてもよい。メディアファイルを受信する復号装置は、符号化メディアデータを復号する前に、レンジ表示要素を用いて符号化メディアデータを復号するべきかどうかを決定してもよい。例えば、復号装置が示されたIDCT出力値の範囲内のIDCT出力値を生成できない場合、復号装置は符号化メディアデータを復号しなくともよい。
一つの態様では、方法は復号モジュールによって1または複数の映像フレームのセットを表す符号化メディアデータと、符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを受信することを含む。方法は、さらに符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを決定することを含む。さらに、方法は符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含んでいないとき、第1の動作を用いて符号化メディアデータに基づきIDCT出力値セットを生成することを含む。さらに、方法はIDCT出力値セットを用いて映像フレームのセットにおける映像フレームに関連する再構成映像フレームを生成することを含む。方法は、さらにメディアプレゼンテーションモジュールに前記再構成映像フレームを提示させることを含む。
別の態様において、方法は復号装置からIDCT出力値の最大ダイナミックレンジを示すメッセージを受信することを含む。さらに、方法は前記メッセージの受信に応答して、1または複数の映像フレームのセットを表す第1の符号化メディアデータセットを生成することを含む。ここで、前記第1の符号化メディアデータセットと関連するIDCT出力値は、IDCT出力値の最大ダイナミックレンジの外にあるIDCT出力値を含まない。方法は、さらに復号装置に第1の符号化メディアデータセットを出力することを含む。
別の態様において、装置は1または複数の映像フレームのセットと、符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを受信する通信用インタフェースを含む。装置は、さらに前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを決定するレンジチェックモジュールを含む。さらに、装置は前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含まないとき、第1の動作を用いて前記符号化メディアデータに基づきIDCT出力値セットを生成する第1の逆変換モジュールを含む。装置は、さらに前記IDCT出力値セットを用いて前記映像フレームのセット内の映像フレームに関連する再構成映像フレームを生成する画像再構成モジュールを含む。さらに、装置はメディアプレゼンテーションユニットに前記再構成映像フレームを提示させるプレゼンテーションドライバを含む。
別の態様において、装置は復号装置からIDCT出力値の最大ダイナミックレンジを示すメッセージを受信する通信用インタフェースを含む。装置は、さらに前記メッセージの受信に応答して、1または複数の映像フレームのセットを表す第1の符号化メディアデータセットを生成する符号化モジュールを含む。ここで、前記第1の符号化メディアデータセットと関連するIDCT出力値は、IDCT出力値の最大ダイナミックレンジの外にあるIDCT出力値を含まない。前記通信用インタフェースは、前記復号装置に第1の符号化メディアデータセットを出力する。
別の態様において、装置は1または複数の映像フレームのセットと、符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを受信する手段を含む。装置は、さらに前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを決定する手段を含む。さらに、装置は前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含まないとき、第1の動作を用いて前記符号化メディアデータに基づきIDCT出力値セットを生成する手段を含む。さらに、装置は前記IDCT出力値セットを用いて前記映像フレームのセット内の映像フレームに関連する再構成映像フレームを生成する手段を含む。装置は、さらにメディアプレゼンテーションユニットに前記再構成映像フレームを提示させる手段を含む。
別の態様において、装置は復号装置からIDCT出力値の最大ダイナミックレンジを示すメッセージを受信する手段を含む。装置は、さらに前記メッセージの受信に応答して、1または複数の映像フレームのセットを表す第1の符号化メディアデータセットを生成する手段を含む。ここで、前記第1の符号化メディアデータセットと関連するIDCT出力値は、IDCT出力値の最大ダイナミックレンジの外にあるIDCT出力値を含まない。装置は、さらに前記復号装置に前記第1の符号化メディアデータセットを出力する手段を含む。
別の態様において、集積回路は1または複数の映像フレームのセットと、符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを受信する回路を含む。前記集積回路は、さらに前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを決定する回路を含む。さらに、前記集積回路は前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含まないとき、第1の動作を用いて前記符号化メディアデータに基づきIDCT出力値セットを生成する回路を含む。さらに、前記集積回路は前記IDCT出力値セットを用いて前記映像フレームのセット内の映像フレームに関連する再構成映像フレームを生成する回路を含む。前記集積回路は、さらにメディアプレゼンテーションユニットに前記再構成映像フレームを提示させる回路を含む。
別の態様において、集積回路は復号装置からIDCT出力値の最大ダイナミックレンジを示すメッセージを受信する回路を含む。前記集積回路は、さらに前記メッセージの受信に応答して、1または複数の映像フレームのセットを表す第1の符号化メディアデータセットを生成する回路を含む。ここで、前記第1の符号化メディアデータセットと関連するIDCT出力値は、IDCT出力値の最大ダイナミックレンジの外にあるIDCT出力値を含まない。前記集積回路は、さらに前記復号装置に前記第1の符号化メディアデータセットを出力する回路を含む。
別の態様において、システムは符号化装置と復号装置を含む。前記復号装置は、1または複数の映像フレームのセットを表す第1の符号化メディアデータセットと、符号化メディアデータに関連する逆離散コサイン変換(IDCT)出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを受信する第1の通信用インタフェースを含む。前記復号装置は、さらに前記第1の符号化メディアデータセットに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを決定するレンジチェックモジュールを含む。さらに、前記復号装置は前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むとき、前記第1の通信インタフェースに前記符号化装置へIDCT出力値の最大ダイナミックレンジを示すメッセージを出力させるレンジネゴシエーションモジュールを含む。さらに、前記復号装置は前記第1の符号化メディアデータセットに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含まないとき、第1の動作を用いて前記第1の符号化メディアデータセットに基づきIDCT出力値セットを生成する第1の逆変換モジュールを含む。さらに、前記復号装置は前記IDCT出力値セットを用いて前記映像フレームのセットにおける映像フレームに関連する再構成映像フレームを生成する画像再構成モジュールを含む。前記復号装置は、さらにメディアプレゼンテーションユニットに前記再構成映像フレームを提示させるプレゼンテーションドライバを含む。前記符号化装置は、前記復号装置から所定範囲を示すメッセージを受信する第2の通信用インタフェースを含む。前記符号化装置は、さらに前記メッセージの受信に応答して、1または複数の映像フレームのセットを表す第2の符号化メディアデータセットを生成する符号化モジュールを含む。ここで、前記第1の符号化メディアデータセットと関連するIDCT出力値は、IDCT出力値の最大ダイナミックレンジの外にあるIDCT出力値を含まない。前記第2の通信用インタフェースは、前記復号装置に前記第2の符号化メディアデータセットを出力する。
この開示において説明された技術は、ハードウェア、ソフトウェア、ファームウェアまたは任意のそれらの組み合わせにおいて実装されてもよい。ソフトウェアで実装される場合、当該ソフトウェアはマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)またはディジタル信号プロセッサ(DSP)のような1または複数のプロセッサを用いて実行されてもよい。当該技術を実行するソフトウェアは、コンピュータ読み取り可能な媒体に最初に格納され、1または複数のプロセッサを用いてロードされ実行されてもよい。
従って、この開示はさらに実行可能命令を備えるコンピュータ読み取り可能な媒体を意図している。前記命令は、1または複数のプロセッサによって実行されたとき、前記1または複数のプロセッサに1または複数の映像フレームのセットを表す符号化メディアデータと、符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを受信させる。さらに、前記命令は前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを前記1または複数のプロセッサに決定させる。前記命令は、さらに前記1または複数のプロセッサに、前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含まないとき、第1の動作を用いて前記符号化メディアデータに基づきIDCT出力値セットを生成させる。さらに、前記命令は前記1または複数のプロセッサに前記IDCT出力値セットを用いて前記映像フレームのセットにおける映像フレームに関連する再構成映像フレームを生成させる。前記命令は、さらに前記1または複数のプロセッサに対して、メディアプレゼンテーションユニットに前記再構成映像フレームを提示させるメディアプレゼンテーションユニットに前記再構成映像フレームを提示させる。
別の例では、コンピュータ読み取り可能な媒体は、1または複数のプロセッサによって実行されたとき前記1または複数のプロセッサに復号装置からIDCT出力値の最大ダイナミックレンジを示すメッセージを受信させる命令を含む。前記命令は、さらに前記1または複数のプロセッサに前記メッセージの受信に応答して、1または複数の映像フレームのセットを表す第1の符号化メディアデータセットを生成させる。前記第1の符号化メディアデータセットと関連するIDCT出力値は、IDCT出力値の最大ダイナミックレンジの外にあるIDCT出力値を含まない。さらに、前記命令は前記復号装置に前記第1の符号化メディアデータセットを出力させる。
コンピュータ読み取り可能な媒体は、場合によっては、メーカーに売られ、および/または装置において用いられるコンピュータプログラム製品の一部を構成してもよい。コンピュータプログラム製品は、コンピュータ読み取り可能な媒体を含んでいてもよく、場合によってはさらにパッケージ部材を含んでいてもよい。
1または複数の例の詳細は、添付の図面と以下の説明において述べられる。他の特徴、目的および利点は、詳細な説明と図面および請求の範囲から明らかとなるであろう。
図1は、符号化装置および復号装置を含む例示のシステムを示すブロック図である。 図2は、符号化モジュールの例示の詳細を示すブロック図である。 図3は、復号モジュールの例示の詳細を示すブロック図である。 図4は、図2において示された、例示の符号化モジュールの動作例を示すフローチャートである。 図5は、図3において示された例示の復号モジュールの動作例を示すフローチャートである。 図6は、図2において示された例示の符号化モジュールの付加的な動作例を示すフローチャートである。 図7は、図3において示された例示の復号モジュール他の動作例を示すフローチャートである。
図1は、符号化装置4および復号装置6を含む例示のシステム2を示すブロック図である。システム2は、例示のシステムであり、他の多くの配置および実装が可能なことは理解されよう。
符号化装置4および復号装置6はパーソナルコンピュータ、移動体電話、サーバ、ネットワーク機器、車両内に一体化されたコンピュータ、ビデオゲームプラットフォーム、ポータブルビデオゲーム装置、コンピュータワークステーション、コンピューター・キオスク、電子看板、メインフレームコンピュータ、テレビジョンセットトップボックス、ネットワーク電話、携帯情報端末、携帯メディアプレーヤ、家庭メディアプレーヤ、ディジタル映像プロジェクタまたは別のタイプの電子機器を含んでもよい。
符号化装置4は、メディアデータを生成するメディアソース8を含んでもよい。メディアソース8は、イメージデータを取得するディジタルのビデオまたは静止画カメラを含んでもよい。メディアソース8は、符号化装置4に組み込まれてもよいし、あるいは、周辺機器またはネットワークデバイスとして符号化装置4に取り付けられてもよい。
図1の例では、符号化装置4はさらにプロセッサ10を含む。プロセッサ10は、ディジタル信号プロセッサ(DSP)、マイクロプロセッサ、特定用途向け集積回路(ASIC)または他のあるタイプの集積回路であってもよい。符号化装置4内の符号化モジュール12は、メディアソース8によって生成されたメディアデータを符号化してもよい。符号化モジュール12は様々な方法で実装されてもよい。例えば、符号化モジュール12は、プロセッサ10にメディアソース8からのメディアデータを符号化させる命令を含んでもよい。別の例では、符号化モジュール12は、メディアソース8によって生成されたメディアデータを符号化する集積回路として実装されてもよい。まだ別の例において、符号化モジュール12は1または複数のハードウェアおよびソフトウェアユニットの組み合わせであってもよい。
図1の例では、符号化装置4はさらに通信用インタフェース14を含む。
通信用インタフェース14は、符号化装置4から、復号装置6を含む1または複数の他の装置へデータを送信させ、また復号装置6を含む1または複数の他の装置から受信されるデータを符号化装置で受信させることができる。通信用インタフェース14は、種々様々のインタフェースタイプのいずれであってもよい。例えば、通信用インタフェース14は一種のネットワークインタフェースであってもよい。無線インタフェースのタイプは、イーサネット(登録商標)インタフェース、トークンリングインタフェース、Wi−Fiインタフェース、WiMaxインタフェース、無線の広帯域インタフェース、非同期転送モード(ATM)インタフェース、Bluetooth(登録商標)インタフェースまたは、他の有線あるいは無線ネットワークインタフェースのタイプを含む。別の例では、通信用インタフェース14は、ユニバーサルシリアルバス(USB)インタフェース、ファイヤワイヤインタフェース、シリアルケーブルインタフェースまたは別のタイプの機器インタフェースのような機器インタフェースバスでもよい。
復号装置6は、通信用インタフェース16を含んでもよい。通信用インタフェース16は、通信用インタフェース14のように、種々様々のインタフェースタイプのいずれかであってよい。例えば、通信用インタフェース16は、ネットワークインタフェース、機器インタフェースバスまたは別のタイプのインタフェースでもよい。通信用インタフェース16は、異なる様々なデータを送信および受信してもよい。例えば、通信用インタフェース16はメディアオブジェクトを受信してもよい。この開示において用いられるように、「メディアオブジェクト」は、取り出され再生される可聴および/または可視信号からのデータセットである。例えば、「メディアオブジェクト」は、映像ビットストリーム、オーディオまたはビデオファイル、あるいは取り出され再生される可聴および/または可視信号からの別のタイプのデータかもしれない。
通信用インタフェース16がメディアオブジェクトを受信する場合、復号装置6内の復号モジュール18はメディアオブジェクト内の符号化メディアデータを復号してもよい。復号モジュール18は、様々な方法で実装されてもよい。例えば、復号モジュール18は、メディアオブジェクト内の符号化メディアデータを復号する集積回路を含んでもよい。別の例では、復号モジュール18は復号装置6内のプロセッサ20によって実行されたときプロセッサ20にメディアオブジェクト内の符号化メディアデータを復号させる一連の命令として実装されてもよい。プロセッサ20は、マイクロプロセッサ、ディジタル信号プロセッサ、ASICまたは他のタイプの集積回路でよい。携帯電話機のような小型機器において共通しているように、プロセッサ20は数値計算を実行するために固定小数点数演算を用いてもよい。例えば、プロセッサ20は数値計算に対する値を格納するために16ビットのレジスタを用いてもよい。
復号装置6内のプレゼンテーションドライバ22は、復号モジュール18によって復号されたメディアデータをメディアプレゼンテーションモジュール24に提示させる。言いかえれば、プレゼンテーションドライバ22はメディアプレゼンテーションモジュール24に、復号されたメディアデータを表わす可聴および/または可視信号を出力させてもよい。例えば、メディアプレゼンテーションモジュール24は、映像データを提示するコンピュータモニタを含んでもよい。メディアプレゼンテーションモジュール24は、復号装置6に一体化されてもよいし、あるいは1または複数の有線または無線リンクを介して周辺機器として復号装置6に接続されてもよい。プレゼンテーションドライバ22は、メディアプレゼンテーションモジュール24にメディアデータを提示させる、プロセッサ20上で実行されるデバイスドライバまたは他のソフトウェア、ハードウェアまたはファームウェアユニット、または他のいくつかのメカニズムを含んでもよい。
符号化モジュール12がメディアソース8によって生成されたメディアデータ内に含まれる1または複数の映像フレームのセットを符号化するとき、符号化モジュール12は映像フレームセットにおける映像フレーム内の画素成分値のブロック上でフォワード離散コサイン変換(FDCT)を行うことにより、係数マトリクスを生成してもよい。係数マトリクスを生成した後、符号化モジュール12は、係数マトリクス内の係数の量子化により量子化係数マトリクスを生成してもよい。係数マトリクス内の係数の量子化は、係数マトリクスにおける高頻度の係数に関連する情報量を減らすかもしれない。
符号化モジュール12が映像フレームセット内の映像フレームについて量子化係数マトリクスセットを生成した後、符号化モジュール12は量子化係数マトリクスに関連する逆離散コサイン変換(IDCT)出力値の最大ダイナミックレンジを決定してもよい。量子化係数マトリクスに関連するIDCT出力値は、量子化係数マトリクスの逆量子化による逆量子化係数マトリクスの生成と、逆量子化係数マトリクス上でIDCTを行うことによるIDCT出力値のマトリクスの生成によって得られる、IDCT出力値のマトリクスにおけるIDCT出力値を表わす。例えば、符号化モジュール12は量子化係数マトリクスセットに関連するIDCT出力値が−1805から1805までの範囲内にあることを決定してもよい。
符号化モジュール12が量子化係数マトリクスセットに関連するIDCT出力値の最大ダイナミックレンジを特定した後、符号化モジュール12は映像フレームセットに関連する量子化係数マトリクスのエントロピー符号化バージョン、映像フレームセットに関連する動きデータ、およびレンジ表示要素を含むメディアオブジェクトを生成してもよい。例えば、符号化モジュール12は映像フレームセットに関連する量子化係数マトリクスのエントロピー符号化バージョンを含むMPEG2トランスポートストリーム、および量子化係数マトリクスに関連するIDCT出力値の最大ダイナミックレンジを示すビットストリームヘッダ要素を生成してもよい。レンジ表示要素は、映像フレームセットに関連する量子化係数マトリクス内のIDCT出力値の最大ダイナミックレンジを示す。
レンジ表示要素は、様々な方法でIDCT出力値の範囲を示してもよい。第1の例においては、レンジ表示要素は映像フレームセットに関連する量子化係数マトリクスにおけるいかなるIDCT出力値をも表わすのに必要なビットの最大値を明示的に指定してもよいし、そうでなければ表示してもよい。第2の例において、レンジ表示要素は映像フレームセットに関連する量子化係数マトリクス内の最大のIDCT出力値および最小のIDCT出力値を明示的に指定してもよいし、そうでなければ表示してもよい。
符号化モジュール12は、メディアオブジェクトを生成した後に様々な動作を行ってもよい。例えば、符号化モジュール12は通信用インタフェース14に対して、復号装置6または別の装置にメディアオブジェクトを出力させてもよい。別の例では、符号化モジュール12はメディアオブジェクトを後の使用のためにコンピュータ読み取り可能な媒体(図示せず)に格納してもよい。
通信用インタフェース16は、映像フレームセットに関連する符号化メディアデータセット、映像フレームセットに関連する動きデータセット、およびレンジ表示要素を受信してもよい。通信用インタフェース16がこのようなメディアオブジェクトを受信する場合、復号モジュール18はメディアオブジェクトからレンジ表示要素を抽出してもよい。レンジ表示要素を抽出した後に、復号モジュール18はレンジ表示要素によって示された範囲が所定範囲外のIDCT出力値を含むかどうかを決定してもよい。この所定範囲は、復号モジュール18が生成可能なIDCT出力値の範囲でもよい。例えば、レンジ表示要素は符号化メディアデータに関連するIDCT出力値が[−1024,1023]の範囲内にあり、復号モジュール18が単に[−256,255]の範囲内のIDCT出力値を生成することができてもよいことを示してもよい。従って、この例においては、復号モジュール18はレンジ表示要素によって示された範囲が、復号モジュール18が生成可能なIDCT出力値の範囲外にあるIDCT出力値を含むことを決定してもよい。
もし、レンジ表示要素によって示された範囲が所定範囲より大きくないことを復号モジュール18が決定すれば、復号モジュール18は次にメディアオブジェクト内の復号メディアデータセットに対してエントロピー復号処理を行い、それによって映像フレームセットに関連する量子化係数マトリクスセットを生成してもよい。さらに、復号モジュール18はメディアオブジェクト内の動きデータに対しエントロピー復号処理を行ってもよい。その後、復号モジュール18は映像フレームセットに関連する量子化係数マトリクスの各々に対して逆量子化動作を行うことにより、逆量子化係数マトリクスを生成してもよい。次に、復号モジュール18は各逆量子化係数マトリクスにIDCTを適用してIDCT出力値のマトリクスを得てもよい。復号モジュール18は、IDCT出力値のマトリクスの再構築により、映像フレームセットに関連する再構成残差画像を生成してもよい。再構成残差画像を生成した後に、復号モジュール18は再構成残差画像と映像フレームセットに関連する動きデータセットと共に生成された予測画像とを用いて原映像フレームの再構成バージョンを生成してもよい。次に、プレゼンテーションドライバ22はメディアプレゼンテーションモジュール24に、原映像フレームセットの再構成バージョンを示す可視信号を出力させてもよい。
この開示において説明された技術は、いくつかの利点を備えてもよい。例えば、復号装置が生成不可能なIDCT出力値を生成すべき係数マトリクスへのIDCTの適用を復号装置が試みる場合、原メディアデータと復号メディアデータ間の重大な差が生じてもよい。このような差は、復号メディアデータの品質を著しく低下させるかもしれない。この開示において説明された技術は、復号装置がメディアデータの符号化バージョンに関連するIDCT出力値を生成することができない場合に、復号装置がメディアデータを復号するのを回避してもよい。
以下の例は、このポイントについて示す。残差画像内の典型的な画素成分値は、−256から255まで変動してもよい。従って、画素成分値は511個の異なる取り得る値のうちの1つかもしれない。この理由で、これら511個の取り得る値(つまり、29=512)の各々を表わすために9ビットが必要とされる。理想的な場合では、IDCTはこの例において−256から255まで変動するIDCT出力値(つまり残差画像内の画素成分値)を生成すべきである。しかし、係数の量子化により引き起こされた誤りにより、IDCTは−1805から1805まで変動するIDCT出力値を生成してもよい。従って、IDCT出力値は3610個の異なる取り得る値のうちの1つであるかもしれない。これらの3610個の取り得る値の各々を表わすために、12ビットが要求されるだろう(つまり、211=2048では不十分であるから、212=4096が必要であろう)。コストと複雑性を最小化するために、プロセッサ20は数値を格納するために16ビットレジスタを用いてもよい。さらに、IDCTを適用するために復号モジュール18によって用いられるアルゴリズムの最終ステージは、7つの位置で右シフトを要求してもよい。この理由で、復号モジュール18をプロセッサ20上で実行する場合、9ビットだけがIDCT出力値を表わし続けている(つまり、16−7=9)。9ビットのみでIDCT出力値を表わすので、IDCT出力値は255より大きくなく、かつ−256より小さくてよい。従って、プロセッサ20が復号モジュール18の命令を実行して逆離散コサイン変換を行う場合、−256に満たないかまたは255を越える値を処理するときに、プロセッサ20は重大な誤りを生成するかもしれない。
図2は、符号化モジュール12詳細な例を示すブロック図である。符号化モジュール12は、1セットの「モジュール」を含んでもよい。これらのモジュールは、符号化モジュール12のソフトウェア命令のサブセットを含んでもよい。また、これらのモジュールはASICを含んでもよい。別の代替案では、これらのモジュールはソフトウェア命令とASICを含んでもよい。
図2の例に示されるように、符号化モジュール12はメディアソース8から1または複数の非符号化映像フレームセットを受信してもよい。映像フレームセットは、単一の映像フレーム、1または複数の「画像のグループ」または他の数の映像フレームを含んでもよい。メディアソース8から受信される各映像フレームは、1または複数のスライスを含んでいてもよい。映像フレームのスライスは、ともに映像フレーム全体を含む、映像フレームの個別の部分である。例えば、アドバンストビデオコーディング(AVC)/H.264標準は、個々の映像フレームに関して1または複数のスライスがあってもよいと指定する。しかし、モーションピクチャエキスパートグループ(MPEG)−2標準は、スライスの概念を含んでいない。もっと正確に言えば、MPEG2標準では全部揃った映像フレームだけが考慮される。一般性を維持するために、この開示は映像フレーム全体を含んでいてもよいし、含んでいなくてもよい映像フレームのエリアのことを示すために、用語「画像(picture)」を用いる。
符号化モジュール12がメディアソース8によって生成された映像フレームセット内の映像フレームに関連する画像(つまり、「現画像」)を受信する場合、符号化モジュール12内のイントラ予測モジュール28は現画像をパーティションセットに分割してもよい。これらのパーティションのサイズは、等しくても等しくなくてもよい。例えば、符号化モジュール12がMPEG2標準に従って映像フレームセット内の画像を符号化する場合、イントラ予測モジュール28は、現画像を幅16画素、高さ16画素のパーティションに分割してもよい。MPEG2標準のコンテキストでは、これらのパーティションは「マクロブロック」と称される。別の例では、符号化モジュール12がAVC/H.264標準に従って映像フレームセット内の画像を符号化する場合、イントラ予測モジュール28は、現画像を16×16、16×8、8×16、8×8、4×8、8×4および4×4の次元を持つパーティションに分割してもよい。さらに、符号化モジュール12がAVC/H.264標準に従って映像フレームセット内の画像を符号化する場合、イントラ予測モジュール28は現画像の特定されたパーティションの各々に関してイントラ符号化モードを特定してもよい。例えば、AVC/H.264標準は、幅16画素、高さ16画素のパーティションについて4つの異なるイントラ符号化モードを指定する。さらに、AVC/H.264標準は、幅4画素、高さ4画素のパーティションについて9つの異なるイントラ符号化モードを指定する。現画像のパーティションを特定した後に、イントラ予測モジュール28は、フォワード変換モジュール44に現画像のパーティションを供給してもよい。さらに、符号化モジュール12がAVC/H.264標準に従って画像セットを符号化する場合、イントラ予測モジュール28は現画像の各パーティションのイントラ符号化モードを指定する情報を変換モジュール44に供給してもよい
さらに、符号化モジュール12がメディアソース8から現画像を受信する場合、符号化モジュール12における動き推定モジュール32は現画像上で動き推定を行う。現画像上で動き推定を行うために、動き推定モジュール32は現画像がイントラ符号化画像またはインター符号化画像として符号化されることになっているかどうかを最初に決定してもよい。現画像がイントラ符号化画像として符号化されることになっていることを動き推定モジュール32が決定した場合、動き推定モジュール32はそれ以上の動作を行わなくてもよい。しかし、現画像がインター符号化画像として符号化されることになっていることを動き推定モジュール32が決定した場合、動き推定モジュール32は現画像をパーティションセットに分割してもよい。その後、動き推定モジュール32は現画像の各パーティションについて動きデータを生成してもよい。動きデータのタイプは、現画像が予測画像(Pピクチャ)、または双予測画像(Bピクチャ)として符号化されることになっているかどうかに依存してもよい。従って、動き推定モジュール32は、現画像がPピクチャまたはBピクチャとして符号化されることになっているかどうかを決定してもよい。
現画像がPピクチャとして符号化されることになっていることを動き推定モジュール32が決定した場合、動き推定モジュール32は現画像の各パーティションについて、参照バッファ36内の前画像の対応するエリアの特定を試みてもよい。動き推定モジュール32が現画像のパーティションに対応する、参照バッファ36内の画像のエリアの特定に成功した場合、動き推定モジュール32は特定されたエリアとパーティションとの間の垂直移動および水平移動を示す動きベクトルを生成してもよい。例えば、動き推定モジュール32は、特定されたエリアが現画像のパーティションより下の10画素および現画像のパーティションより右の2.5画素であることを示す動きベクトルを生成してもよい。
現画像がBピクチャとして符号化されることになっていることを動き推定モジュール32が決定した場合、動き推定モジュール32は現画像の各パーティションについて、参照バッファ36内の第1の画像の対応するエリア、および参照バッファ36内の第2の画像の対応するエリアの特定を試みてもよい。符号化モジュール12がMPEG2標準に従って映像フレームセットを符号化する場合、第1の画像は現画像に関連する映像フレームに先行し、また、第2の画像は現画像に関連する映像フレームに続く。その後、動き推定モジュール32は2つの動きベクトルを指定するパーティションについての動きデータを生成してもよい。これらの動きベクトルの1番目は、前画像において特定されたエリアからの移動を示してもよく、また、これらの動きベクトルの2番目は、後画像の特定されたエリアからの移動を示してもよい。動き推定モジュール32が現画像のパーティションに対応する、参照バッファ36内の画像のエリアの特定に成功しない場合、動き推定モジュール32はパーティションと前画像の対応する位置のエリアとの間に動きがないことを示す動きデータを生成してもよい。符号化モジュール12がAVC/H.264標準に従って映像フレームセットを符号化する場合、第1の画像および第2の画像の両方が現画像に関連する映像フレームに先行するか続いてもよく、または第1の画像が現画像に関連する映像フレームに先行し、第2の画像が現画像に関連する映像フレームに続いてもよい。動き推定モジュール32はそのとき、パーティションの符号化タイプに依存して、参照フレーム内の特定されたエリアを指し示す動きデータを生成してもよい。
動き推定モジュール32が現画像の各パーティションについて動きデータを生成した後、動き推定モジュール32は符号化モジュール12内の動き補償モジュール34に動きデータを供給してもよい。現画像について予測画像を生成するために、動き補償モジュール34は動きデータを現画像のパーティションに用いてもよい。現画像について予測画像を生成するために、動き補償モジュール34は符号化モジュール12が現画像をPピクチャまたはBピクチャとして符号化しているかどうかを決定してもよい。
符号化モジュール12が現画像をPピクチャとして符号化する場合、現画像に関連する動きデータは、現画像の各パーティションについて、1または複数の動きベクトルおよび参照バッファ30内の1または複数の画像を指定してもよい。動き補償モジュール34は、参照バッファ36から現画像に関連する動きデータによって指し示された各参照画像を取り出してもよい。動き補償モジュール34は、参照バッファ36から参照画像を取り出した後、現画像の各パーティションについて、1または複数の取り出された参照画像の対応するエリアを特定するパーティションの動きベクトルを用い、次に現画像のパーティションに特定されたエリアをコピーしてもよい。このように動き補償モジュール34は、現画像に関連する予測画像の適切な位置に参照画像からエリアを「移動させる。」
符号化モジュール12が現画像をBピクチャとして符号化する場合、現画像に関連する動きデータの内容は、現画像を符号化するために用いられる画像符号化標準に依存してもよい。例えば、MPEG2標準は現画像の「マクロブロック」に関連する動きデータが、現画像に関連する映像フレームに先行する参照画像のエリアを指定し、また現画像に関連する映像フレームに続く参照画像のエリアを指定すると定めている。第2の例においては、AVC/H.264標準は現画像のパーティションに関連する動きデータが、現画像に関連する映像フレームの前またはそのフレームの後に生じる2またはそれ以上の参照画像を指定してもよいと定めている。いずれかの例において、動き補償モジュール76は、予測画像の各パーティションについてパーティションに関連する動きデータによって指し示される参照画像のエリアに基づいたパーティションの画素成分値を補間してもよい。
動き補償モジュール34が現画像に関連する予測画像を生成した後、符号化モジュール12における残差画像作成モジュール38は、メディアソース8によって生成された現画像および動き補償モジュール34によって生成された予測画像を用いて、現画像に関連する残差画像を生成してもよい。例えば、残差画像作成モジュール38は、現画像に予測画像の負のバージョンを加えることにより、残差画像を生成してもよい。残差画像は現画像より少ない情報を含んでもよく、従って現画像より少数のビットを用いて符号化されてもよい。残差画像作成モジュール38が現画像について残差画像を生成した後、残差画像作成モジュール38はフォワード変換モジュール30に残差画像を供給してもよい。
フォワード変換モジュール30が残差画像作成モジュール38から残差画像を受信するか、イントラ予測モジュール28からイントラ符号化命令を伴う現画像のオリジナルバージョンを受信する場合、フォワード変換モジュール30は画像を画素ブロックに分割してもよい。例えば、フォワード変換モジュール30は画像を各々が8×8ブロックの64画素からなる画素ブロックに分割してもよい。その後、フォワード変換モジュール30は、各画素ブロックについて、ブロック内画素の色成分を画素成分値のマトリクスに分離してもよい。例えば、フォワード変換モジュール30は、画素ブロックからy値のマトリクス、Cr値のマトリクスおよびCb値のマトリクスを抽出してもよい。y値は画素の輝度を指定し、Cr値はy値を引いた画素の赤色を指定し、またCb値はy値を引いた画素の青色を指定してもよい。
フォワード変換モジュール30が画素成分値のマトリクスを抽出した場合、フォワード変換モジュール30は画素成分値のマトリクスの各々に関して、画素成分値のマトリクスに二次元のフォワード離散コサイン変換を適用することにより、係数マトリクスを生成してもよい。フォワード変換モジュール30は、様々な手法で係数マトリクスを生成してもよい。例えば、フォワード変換モジュール30は、プロセッサ20内の浮動小数点モジュールを利用して係数マトリクスを生成してもよい。フォワード変換モジュール30は、画素成分値の各々の左シフトにより離散コサイン変換を適用する処理を始めてもよい。例えば、フォワード変換モジュール30は、離散コサイン変換の適用により除去された精度のビット数、および離散コサイン変換を適用した後に基準化因数(スケールファクタ)によって分割することにより除去された精度のビット数、による画素成分値の各々について左シフトしてもよい。フォワード変換モジュール30は、係数マトリクスの行ベクトルの各々に対して離散コサイン変換を行ってもよい。係数マトリクスの行ベクトルの各々について離散コサイン変換を行うことは、中間値のマトリクスを生成する。次に、フォワード変換モジュール30は、中間値のマトリクスの列ベクトルの各々に対して離散コサイン変換を行ってもよい。中間値のマトリクスの列ベクトルの各々に対して離散コサイン変換を行うことは、係数値のマトリクスをもたらす。
フォワード変換モジュール30が係数マトリクスを生成する場合、符号化モジュール12における量子化モジュール40は係数マトリクス内の係数の量子化により量子化係数マトリクスを生成してもよい。量子化モジュール46は、カスタムまたは標準の量子化マトリクスにおける対応する位置の数に係数マトリクスの各係数を分割し、次に量子化係数を生成するために生じる商を丸めることによって、係数マトリクス内の係数を量子化してもよい。例えば、量子化モジュール40は以下の標準量子化マトリクスによって各係数を分割してもよい。
Figure 0005502487
量子化モジュール40が量子化係数マトリクスを量子化した後、量子化モジュール40は、符号化モジュール12におけるエントロピー符号化モジュール42および符号化モジュール12における逆量子化モジュール44に量子化係数マトリクスを供給してもよい。
量子化モジュール40から量子化係数マトリクスを受信する際、エントロピー符号化モジュール42は、量子化係数マトリクスにエントロピー符号化スキームを適用することにより、符号化メディアデータセットを生成してもよい。例えば、エントロピー符号化モジュール42は量子化係数マトリクスにハフマンまたはコンテキスト適応算術符号化スキームを適用してもよい。量子化係数マトリクスにエントロピー符号化スキームを適用するために、エントロピー符号化モジュール42は、量子化係数マトリクス内の量子化係数のジグザグスキャンを行うことにより、量子化係数マトリクス内の量子化係数のベクトルを生成してもよい。言いかえれば、エントロピー符号化モジュール42は、量子化係数の2次元マトリクス内の全ての量子化係数を量子化係数の1次元ベクトル中へ配列してもよい。その後、エントロピー符号化モジュール42は、量子化係数のベクトルにハフマン符号化または算術符号化のようなランレングス符号化スキームを適用してもよい。
量子化係数マトリクスへのエントロピー符号化スキームの適用に加えて、エントロピー符号化モジュール42は、映像フレームのシーケンスにおいて映像フレームのパーティションに関連する動きデータにエントロピー符号化スキームを適用してもよい。例えば、エントロピー符号化モジュール42は、動きデータにハフマンまたはコンテキスト適応算術符号化を適用してもよい。
逆量子化モジュール44が量子化モジュール40から量子化係数マトリクスを受信する場合、逆量子化モジュール44は、量子化係数マトリクス上で逆量子化動作を行うことにより、逆量子化係数マトリクスを生成する。例えば、逆量子化モジュール44は、量子化モジュール40によって用いられる量子化マトリクスの対応する位置で量子化係数マトリクス内の各係数に数を乗じることにより、逆量子化係数マトリクスを生成してもよい。何故なら、量子化モジュール40は量子化マトリクス内の数によって係数マトリクスの係数を分割した後に係数を丸め、逆量子化係数マトリクスはオリジナルの係数マトリクスと同一ではないかもしれない。逆量子化モジュール44が逆量子化係数マトリクスを生成する場合、逆量子化モジュール44は符号化モジュール12内の逆変換モジュール46に逆量子化係数マトリクスを供給してもよい。
逆変換モジュール46が逆量子化係数マトリクスを受信する場合、逆変換モジュール46は、逆量子化係数マトリクス上でIDCTを行うことにより、IDCT出力値のマトリクスを生成する。逆変換モジュール46が画素ブロックの各画素成分値に関してIDCT出力値のマトリクスを生成した場合、逆変換モジュール46は、IDCT出力値のマトリクスを用いて、現画像に関連する再構成残差画像内の画素ブロックを生成してもよい。逆変換モジュール46が現画像に関連する再構成残差画像内の各画素ブロックを再構成した場合、逆変換モジュール46は再構成画素ブロックを組み合わせることにより残差画像を再構成してもよい。次に、逆変換モジュール46は、画像再構成モジュール48およびレンジ検出モジュール54に再構成残差画像を供給してもよい。
画像再構成モジュール48が逆変換モジュール46から再構成残差画像を受信する場合、画像再構成モジュール48は逆変換モジュール46によって生成された再構成残差画像および動き補償モジュール34によって生成された予測画像を用いて、現画像の再構成バージョンを生成してもよい。画像再構成モジュール48は、予測画像に再構成残差画像を加えることにより、現画像の再構成バージョンを生成してもよい。現画像の再構成バージョンを生成した後に、画像再構成モジュール48は参照バッファ36中に現画像の再構成バージョンを格納してもよい。このように動き補償モジュール34は、映像フレームセットにおける他のフレームについて、参照画像として現画像の再構成バージョンを用いてもよい。参照画像として画像のオリジナルバージョンではなく画像の再構成バージョンを用いることは、より正確な予測画像をもたらすであろう。
レンジ検出モジュール50は、映像フレームセット内の映像フレームに関連する再構成残差画像内のIDCT出力値の最大ダイナミックレンジを特定してもよい。説明を簡単にするため、この開示では映像フレームセット内の映像フレームに関連する再構成残差画像内のIDCT出力値のことを「再構成残差画像内のIDCT出力値」と呼ぶ。例えば、量子化誤差がない状態で、再構成残差画像に関連するIDCT出力値は、[−256,255]以内にあってもよい。しかし、量子化誤差に起因して再構成残差画像内のIDCT出力値は[−1805,1805]以内に収まってもよい。この例において、レンジ検出モジュール50は[−1805,1805]を再構成残差画像内のIDCT出力値の最大ダイナミックレンジであると特定してもよい。IDCT出力値の最大ダイナミックレンジに対する量子化誤差の影響に関する追加情報は、
[1] Zhou M. and De Lameillieure J. , "IDCT output range in MPEG video coding", Signal Processing: IMAGE COMMUNICATION, Vol. 11, No. 2, pp. 137-145, Dec. 1997 the entire content of which is hereby incorporated by reference, 及び
[2] Y. Reznik, “On clipping and dynamic range of variables in IDCT designs”, ISO/IEC JTC1/SC29 WG11 input document MPEG2006/M14004, October 2006, Hangzhou, China, the entire content of which is hereby incorporated by reference.
で見いだすことができる。
レンジ検出モジュール50は、様々な方法で再構成残差画像内のIDCT出力値の最大ダイナミックレンジを特定してもよい。
レンジ検出モジュール50が再構成残差画像に関連するIDCT出力値の最大ダイナミックレンジをいかに特定するかの第1の例では、レンジ検出モジュール50は逆変換モジュール46からの現画像に関連する再構成残差画像を受信した上で、再構成残差画像内で最も大きなIDCT出力値および残差画像内で最も小さなIDCT出力値を特定してもよい。その後、レンジ検出モジュール50は、再構成残差画像内で最も大きなIDCT出力値が、映像フレームセットに関連する再構成残差画像内で以前に観測された最も大きなIDCT出力値より大きいかどうかを決定してもよい。レンジ検出モジュール50が、再構成残差画像内で最も大きなIDCT出力値は、映像フレームセットに関連する再構成残差画像で以前に観測された最も大きなIDCT出力値より大きいと決定した場合、レンジ検出モジュール50は映像フレームセット内で最も大きなIDCT出力値を再構成残差画像内で最も大きなIDCT出力値に設定してもよい。同様に、レンジ検出モジュール50は、再構成残差画像内で最も小さなIDCT出力値が、映像フレームセット内の以前に観測された最も小さなIDCT出力値より小さいかどうかを決定してもよい。レンジ検出モジュール50が、再構成残差画像内で最も小さなIDCT出力値は、映像フレームセット内で以前に観測された最も小さなIDCT出力値より小さいと決定した場合、レンジ検出モジュール50は映像フレームセットに関連する再構成残差画像内で最も小さなIDCT出力値を再構成残差画像内で最も小さなIDCT出力値に設定してもよい。このように、レンジ検出モジュール50は映像フレームセットに関連する最も大きなIDCT出力値、および映像フレームセットに関連する最も小さなIDCT出力値を特定してもよい。
レンジ検出モジュール50が再構成残差画像に関連するIDCT出力値の最大ダイナミックレンジをいかに特定するかの第2の例においては、レンジ検出モジュール50は映像フレームセットに関連する各再構成残差画像を受信してもよい。レンジ検出モジュール50は、映像フレームセットに関連する各再構成残差画像を受信した後、映像フレームセットに関連する各再構成残差画像内の全てのIDCT出力値についてビット論理和演算を行って、一時的な値(temporary value)を生成してもよい。その後、レンジ検出モジュール50は、当該一時的な値のうちの1にセットされる最上位ビットより重要でないビットの数を決定してもよい。この数は1を加えると、映像フレームセットに関連する再構成残差画像内の全てのIDCT出力値を表わすのに必要なビット数と等しくなる。映像フレームセットに関連する再構成残差画像内のいかなるIDCT出力値も表わすのに必要なビットの最大値は、映像フレームセットに関連する再構成残差画像内のIDCT値の最大ダイナミックレンジの指標として役立つであろう。
レンジ検出モジュール50が映像フレームセットに関連する再構成残差画像内のIDCT出力値の最大ダイナミックレンジをいかに特定するかの第3の例では、レンジ検出モジュール50は下記の式を用いて、映像フレームセットに関連する再構成残差画像に関連するIDCT出力値の最大ダイナミックレンジを計算してもよい。
Figure 0005502487
この式は、区間[a,b](b>a)内にその要素を備えたN×N入力ブロックベクトルgに適用可能であり、また量子化係数マトリクスは[0,ηmax]の範囲内の量子化ファクタによって量子化および逆量子化される。ここに、ηmaxは最大の量子化ファクタである。
レンジ検出モジュール50が映像フレームセットに関連する再構成残差画像内のIDCT出力値の最大ダイナミックレンジを特定した後、レンジ検出モジュール50は、オブジェクト生成モジュール52に特定されたレンジを提供してもよい。オブジェクト生成モジュール52は、エントロピー符号化モジュール42によって生成された符号化メディアデータセット、エントロピー符号化モジュール42によって生成された符号化動きデータセット、およびレンジ検出モジュール50により特定されたIDCT出力値の最大ダイナミックレンジを用いて、メディアオブジェクトを生成してもよい。例えば、オブジェクト生成モジュール52は、符号化メディアデータセットと、符号化動きデータセット、および映像フレームセットに関連するIDCT出力値の最大ダイナミックレンジを示すビットストリーム要素を特定するMPEG2トランスポートストリームを生成してもよい。
図2の例では、符号化モジュール12はさらにレンジコンフィギュレーションモジュール54を含む。レンジコンフィギュレーションモジュール54は、映像フレームセットに関連する再構成残差画像内のIDCT出力値がIDCT出力値の所定範囲内に収まるように映像フレームセットを符号化すべく符号化モジュール12を構成する。例えば、復号装置6は映像フレームセットに関連する符号化メディアデータを含む、符号化装置4によって生成されたメディアオブジェクトを受信してもよい。この例において、復号装置6は符号化メディアデータに関連するIDCT出力値が所定範囲外になることをメディアオブジェクト内のレンジ表示要素が示すかどうかを決定してもよい。例えば、この例において所定範囲は復号装置6が16ビットのディジタル信号プロセッサ(DSP)を用いて生成するであろう一連のIDCT出力値でもよい。さらに、符号化メディアデータに関連する1または複数のIDCT出力値が所定範囲外になることをレンジ表示要素が示すことを復号装置6が決定した場合、復号装置6は符号化メディアデータに関連する1または複数のIDCT出力値が所定範囲外になることを示す1または複数のメッセージを符号化装置4に送信してもよい。符号化装置4内の通信用インタフェース14がこのようなメッセージを受信する場合、レンジコンフィギュレーションモジュール54は、符号化モジュール12が同じ映像フレームセットに関連する代替メディアデータセットを含む代替メディアオブジェクトを生成するような映像フレームセットを符号化すべく符号化モジュール12を再構成してもよい。代替メディアデータに関連するIDCT出力値は、復号装置6によって示されたIDCT出力値の所定範囲内にある。
レンジコンフィギュレーションモジュール54は、様々な方法で符号化モジュール12を再構成してもよい。例えば、レンジコンフィギュレーションモジュール54は、符号化モジュール12に対して復号装置6に所定範囲外のIDCT出力値を生成させない新たなメディアオブジェクトを生成させてもよい。例えば、レンジコンフィギュレーションモジュール54は、量子化モジュール40にフォワード変換モジュール30によって生成された係数マトリクス内の係数を量子化させるために、代替量子化マトリクスを用いて代替量子化係数マトリクスを生成してもよい。量子化モジュール40が代替量子化係数マトリクスを生成した後、逆量子化モジュール44は代替量子化マトリクスを用いて代替逆量子化係数マトリクスを生成し、代替量子化係数マトリクス内の量子化係数を逆量子化してもよい。次に、逆変換モジュール46は代替逆量子化係数マトリクス上でIDCTを行うことにより、代替残差画像を生成してもよい。レンジ検出モジュール50は、逆変換モジュール50によって生成された代替残差画像内のIDCT出力値について新たな最大ダイナミックレンジを計算してもよい。その後、エントロピー符号化モジュール42は代替量子化係数マトリクスセット上でエントロピー符号化動作を行ってもよい。次に、オブジェクト生成モジュール52は、代替量子化係数を特定する代替メディアオブジェクトと、映像フレームセットに関連するIDCT出力値の新たな最大ダイナミックレンジを示すビットストリーム要素を生成してもよい。その後、符号化装置4は復号装置6に代替メディアオブジェクトを送ってもよい。
図3は、復号モジュール18の一例の詳細を示すブロック図である。復号モジュール18は、エントロピー復号モジュール70、レンジチェックモジュール72、レンジネゴシエーションモジュール74、動き補償モジュール76、逆量子化モジュール78、第1の逆変換モジュール80、第2の逆変換モジュール82、残差再構成モジュール84および画像再構成モジュール86を含んでもよい。これらのモジュールは、復号モジュール18のソフトウェア命令のサブセットを含んでもよい。また、これらのモジュールは、プロセッサ20内のASICを含んでもよい。別の代替案では、これらのモジュールはソフトウェア命令とASICを含んでもよい。
復号モジュール18は、符号化メディアデータセット、符号化動きデータセットおよびレンジ表示要素を含むメディアオブジェクトを受信してもよい。メディアオブジェクト内の符号化メディアデータセットは、映像フレームセットに関係している。メディアオブジェクト内の符号化動きデータセットは、符号化メディアデータセットに関係している。メディアオブジェクト内のレンジ表示要素は、映像フレームセット内の映像フレームに関連する再構成残差画像内の画素成分値の最大ダイナミックレンジを示す。以上に説明されるように、この開示は映像フレームセットに関連する符号化メディアデータに基づいた再構成残差画像内の画素成分値を「符号化メディアデータセットに関連するIDCT出力値」として参照している。
復号モジュール18がメディアオブジェクトを受信する場合、レンジチェックモジュール72がレンジ表示要素によって示されたIDCT出力値の範囲が所定範囲内にあるかどうかを決定してもよい。図3の例では、この所定範囲は第1の逆変換モジュール80が生成可能なIDCT出力値の範囲かもしれない。例えば、レンジ表示要素は、符号化メディアデータセットに関連するIDCT出力値の−256から255までの範囲を示してもよい。第1の逆変換モジュール80は、第1の動作を用いて逆量子化係数マトリクスにIDCTを適用する。第1の逆変換モジュール80が−256から255までの範囲のIDCT出力値を生成することができる場合、次にレンジチェックモジュール72は第1の逆変換モジュール80がレンジ表示要素によって示されたIDCT出力値の範囲内のいかなるIDCT出力値も生成できることを決定してもよい。しかし、レンジ表示要素が符号化メディアデータセットに関連するIDCT出力値の−1805から1805までの範囲を示す場合、レンジチェックモジュール72は第1の逆変換モジュール80がレンジ表示要素によって示されたIDCT出力値の範囲内の1または複数のIDCT出力値を生成することができないことを決定してもよい。
第1の動作を行う場合、第1の逆変換モジュール80がIDCT出力値を制限された範囲でのみ生成できる様々な理由があるかもしれない。例えば、第1の逆変換モジュール80は、9ビットの2の補数フォーマットを用いて表わされるIDCT出力値のみを生成することができるIDCTアルゴリズムを実装してもよい。IDCTアルゴリズムは、16ビットのプラットフォーム上で実装されてもよいので、このようなIDCTアルゴリズムは有利かもしれない。多くの現代の携帯用ハンドセットおよび他の無線通信装置は、このIDCTアルゴリズムを実装可能な16ビットのDSPを含む。研究は、MPEG−1およびMPEG2が[−1805,1805]の範囲内のIDCT出力値を生成できるかもしれないことを示した。[−1805,1805]の範囲内のIDCT出力値は、9ビットの2の補数フォーマットで表わすことができない。むしろ、[−1805,1805]の範囲内のIDCT出力値は、12ビットの2の補数フォーマットで表わされるために必要とされるかもしれない。16ビットのプラットフォーム上に12ビットの2の補数IDCT出力値を生成するIDCTアルゴリズムを実装することは、可能ではないかもしれない。
レンジチェックモジュール72が、第1の逆変換モジュール80がレンジ表示要素によって示されたIDCT出力値の範囲内の1または複数のIDCT出力値を生成することができないことを決定した場合、レンジチェックモジュール72は様々な異なる動作を行ってもよい。
第1の例では、第1の逆変換モジュール80がレンジ表示要素によって示されたIDCT出力値の範囲内の1または複数のIDCT出力値を生成することができないことをレンジチェックモジュール72が決定した場合、レンジチェックモジュール72はメディアオブジェクトの取得を復号モジュール18内のレンジネゴシエーションモジュール74に試みさせてもよい。メディアオブジェクトの代替バージョンにおける映像フレームに関連する、符号化メディアデータに基づく再構成残差画像は、第1の逆変換モジュール80が生成可能な最も大きいか最も小さいIDCT出力値より大きいかまたは小さいIDCT出力値を含んでいない。メディアオブジェクトのIDCT出力値のマトリクスの取得を試みるために、レンジネゴシエーションモジュール74は通信用インタフェース16を用いて符号化装置4と通信してもよい。この通信に応答して、符号化装置4はメディアオブジェクトのIDCT出力値のマトリクスを生成してもよい。符号化装置4は、メディアオブジェクトのIDCT出力値のマトリクスを生成するために様々な技術を用いてもよい。例えば、図2の例ではフォワード変換モジュール30によって生成された係数マトリクスを量子化する場合、量子化モジュール40は異なる量子化マトリクスを用いてもよい。
第2の例においては、第1の逆変換モジュール80がレンジ表示要素によって示されたIDCT出力値の範囲内の1または複数のIDCT出力値を生成することができないことをレンジチェックモジュール72が決定した場合、レンジチェックモジュール72は第1の逆変換モジュール80ではなく、第2の逆変換モジュール82にIDCT出力値を生成させてもよい。第2の逆変換モジュール82は、逆量子化係数マトリクスにIDCTを適用する第2の動作を行う。この第2の例においては、第2の逆変換モジュール82がレンジ表示要素によって示されたIDCT出力値の範囲内のIDCT出力値をすべて生成することができる。しかし、第2の逆変換モジュール80はIDCT出力値を生成するために第1の逆変換モジュール80よりより長い時間を必要とするか、および/または第1の逆変換モジュール80より多くの電力を消費するかもしれない。
第1の逆変換モジュール80がレンジ表示要素によって示されたIDCT出力値の範囲内の1または複数のIDCT出力値を生成することができないことをレンジチェックモジュール72が決定した場合、エントロピー復号モジュール70はメディアオブジェクト内の符号化メディアデータセットに対してエントロピー復号スキームを適用してもよい。符号化メディアデータセットへのエントロピー復号スキームの適用の結果、エントロピー復号モジュール70は1または複数の画像に関連する量子化係数マトリクスセットを生成する。さらに、エントロピー復号モジュール70は、メディアオブジェクト内の符号化された動きデータセットにエントロピーを復号するスキームを適用してもよい。
符号化された動きデータセットへのエントロピー復号スキームの適用の結果、エントロピー復号モジュール70は、映像フレームセットに関連する1または複数の画像の各パーティションについての動きデータを生成する。エントロピー復号モジュール70が画像に関連する量子化係数マトリクスセットを生成した後、エントロピー復号モジュール70は第1の逆変換モジュール80に当該画像に関連する量子化係数マトリクスセットを供給し、また動き補償モジュール76に当該画像に関連する動きデータを提供してもよい。
動き補償モジュール76が現画像に関連する動きデータセットを受信する場合、動き補償モジュール76は現画像がIピクチャ、PピクチャまたはBピクチャとして符号化されるかどうかを決定する。現画像がIピクチャとして符号化される場合、動き補償モジュール76は各画素成分値がゼロと等しい「再構成予測画像」を生成してもよい。
現画像がPピクチャとして符号化される場合、現画像に関連する動きデータは、現画像の各パーティションについての動きベクトルを含んでもよい。上述したように、現画像のパーティションに関連する動きベクトルは参照画像を指し示し、また指し示された参照画像内のエリアと現画像のパーティション間の移動を指し示してもよい。現画像がPピクチャとして符号化されることを動き補償モジュール76が決定した場合、動き補償モジュール76は参照バッファ90から現画像に関連する動きデータセット内の動きベクトルによって指し示された各画像を取り出してもよい。動き補償モジュール76は参照画像を取り出した後に、参照画像と動きベクトルを用いて現画像に関連する予測画像を生成してもよい。予測画像は、現画像のパーティションと同じパーティションを持つ。現画像に関連する予測画像を生成するために、動き補償モジュール76は予測画像の各パーティションについて、現画像の対応するパーティションに関連する動きベクトルによって指し示された参照画像のエリアを予測画像のパーティションにコピーしてもよい。
現画像がBピクチャとして符号化される場合、現画像に関連する動きデータの内容は、現画像を符号化するために用いられる画像符号化標準に依存してもよい。例えば、MPEG2標準は現画像の「マクロブロック」に関連する動きデータが、現画像に関連する映像フレームに先行する参照画像のエリアを指定し、また現画像に関連する映像フレームに続く参照画像のエリアを指定すると定めている。第2の例においては、AVC/H.264標準は現画像のパーティションに関連する動きデータが、現画像に関連する映像フレームの前またはそのフレームの後に生じる2またはそれ以上の参照画像を指定してもよいと定めている。いずれかの例において、動き補償モジュール76は、予測画像の各パーティションについてパーティションに関連する動きデータによって指し示される参照画像のエリアに基づいたパーティションの画素成分値を補間してもよい。
逆量子化モジュール78がエントロピー復号モジュール70から量子化係数マトリクスを受信する場合、逆量子化モジュール78は現画像に関連する各量子化係数マトリクス上で逆量子化動作を行うことにより、現画像に関連する逆量子化係数マトリクスセットを生成してもよい。逆量子化モジュール78は、量子化マトリクス内の対応する位置で量子化係数マトリクス内の各係数に値を乗じることにより、量子化係数マトリクス内の係数上で逆量子化動作を行ってもよい。
第1の逆変換モジュール80は、画素成分値のマトリクスを生成するために各マトリクスにIDCTを適用してもよい。第1の逆変換モジュール80は、逆量子化係数マトリクスにIDCTを適用するために様々な異なるアルゴリズムを用いてもよい。例えば、逆量子化係数マトリクスが8×8マトリクスである場合、第1の逆変換モジュール80は、逆量子化係数マトリクスの各行ベクトルに8ポイントの一次元IDCTを適用することにより、中間の係数マトリクスを生成してもよい。この事例では、その後、第1の逆変換モジュール80は、中間の係数マトリクスの各列ベクトルに8ポイントの一次元IDCTを適用することにより、IDCT出力値のマトリクスを生成してもよい。別の事例では、第1の逆変換モジュール80は、逆量子化係数マトリクスに二次元IDCTを適用することにより、IDCT出力値のマトリクスを生成してもよい。
第1の逆変換モジュール80または第2の逆変換モジュール82が現画像に関連するIDCT出力値のマトリクスを生成した後、残差再構成モジュール84はIDCT出力値のマトリクスを用いて現画像に関連する再構成残差画像を生成してもよい。残差再構成モジュール84は、様々な方法で再構成残差画像を生成してもよい。例えば、残差再構成モジュール84は、IDCT出力値のマトリクスと現画像の対応する位置に関連する他のIDCT出力値のマトリクスとを組み合わせることにより、画素ブロックを生成してもよい。この例において、残差再構成モジュール84は輝度値を表わすIDCT出力値のマトリクス、Cb色度値を表わすIDCT出力値のマトリクス、およびCr色度値を表わすIDCT出力値のマトリクスを受信してもよい。この例において、残差再構成モジュール84はIDCT出力値のこれらのマトリクスを組み合わせて画素ブロックを作成してもよい。残差再構成モジュール84が現画像に関連する画素ブロックの生成を終了する場合、残差再構成モジュール84は現画像に関連する各画素ブロックを残差再構成モジュール84が生成するまで、画素ブロックをバッファリングしてもよい。残差再構成モジュール84が現画像に関連する各画素ブロックを生成した後、残差再構成モジュール84は現画像に関連する画素ブロックを組み合わせて現画像に関連する再構成残差画像を形成してもよい。
復号モジュール18内の画像再構成モジュール86は、現画像に関連する再構成残差画像および現画像に関する予測画像を用いて現画像の再構成バージョンを生成する。画像再構成モジュール86は、様々な方法で現画像に関連する再構成残差画像および現画像に関する予測画像を用いて現画像の再構成バージョンを生成してもよい。例えば、画像再構成モジュール86は再構成残差画像内の各画素成分値を予測画像における等位置の画素成分値に加えることにより、現画像の再構成バージョンを生成してもよい。画像再構成モジュール86が現画像の再構成バージョンを生成した後、動き補償モジュール76が映像フレームセットに関連する他の画像のための動き補償を行うとき、参照画像として現画像の再構成バージョンを用いるように、画像再構成モジュール86は参照バッファ90において現画像の再構成バージョンを格納してもよい。
図4は、符号化モジュール12(図2)の動作例を示すフローチャートである。まず、符号化モジュール12は、メディアソース8からの映像フレームセット中の符号化されていない映像フレームに関連する現画像を受信する(100)。符号化モジュール12が現画像を受信する場合、動き推定モジュール32は動き推定動作を行うことにより現画像についての動きデータを生成してもよい(102)。例えば、符号化モジュール12が現画像をPピクチャとして符号化する場合、動き推定モジュール32は現画像の各パーティションについて動きベクトルを生成してもよい。動き推定モジュール32が現画像についての動きデータを生成した後、動き補償モジュール34は、動きデータを用いて動き補償動作を行い、現画像に関連する予測画像を生成してもよい(104)。次に、残差画像作成モジュール38は、動き補償モジュール34によって生成された予測画像およびオリジナルの現画像を用いて、現画像に関連する残差画像を生成してもよい(106)。
次に、フォワード変換モジュール30は、現画像に関連する変換係数マトリクスセットを生成してもよい(108)。フォワード変換モジュール30は、符号化モジュール12が現画像をイントラ符号化画像またはインター符号化画像として符号化しているかどうかに依存する様々な方法で、現画像に関連する変換係数マトリクスセットを生成してもよい。例えば、符号化モジュール12が現画像をイントラ符号化画像として符号化する場合、フォワード変換モジュール30はオリジナルの現画像の各パーティションにフォワードDCTを適用してもよい。符号化モジュール12が現画像をインター符号化画像として符号化する場合、フォワード変換モジュール30は現画像に関連する残差画像の各パーティションにフォワードDCTを適用してもよい。
フォワード変換モジュール30が現画像に関連する変換係数マトリクスを生成した後、量子化モジュール40は現画像に関連する変換係数マトリクス内の係数の量子化により、現画像に関連する量子化係数マトリクスセットを生成する(110)。その後、エントロピー符号化モジュール42は、現画像に関連する量子化係数マトリクスセットおよび現画像に関連する動きデータセット上で、エントロピー符号化動作を行ってもよい(112)。次に、逆量子化モジュール44は、現画像に関連する量子化係数マトリクスセット内の係数の逆量子化によって、現画像に関連する逆量子化係数マトリクスセットを生成する(114)。逆量子化係数マトリクスの生成後、逆変換モジュール46は現画像に関連する逆量子化係数マトリクス内の逆量子化係数にIDCTを適用することによって、現画像に関連するIDCT出力値のマトリクスを生成する(116)。
逆変換モジュール46がIDCT出力値のマトリクスを生成した後、レンジ検出モジュール50は、現画像が映像フレームセットに関連する最後の画像かどうかを決定してもよい(118)。レンジ検出モジュール50が、現画像が映像フレームセットに関連する最後の画像でないことを決定すると(118について“NO”)、符号化モジュール12は、映像フレームセットに関連する別の画像を受信してもよい(100)。そうでなければ、レンジ検出モジュール50が、現画像が映像フレームセットに関連する最後の画像であることを決定すると(118について“YES”)、レンジ検出モジュール50は映像フレームセットに関連するIDCT出力値の最大ダイナミックレンジを計算してもよい(120)。レンジ検出モジュール50が映像フレームセットに関連するIDCT出力値の最大ダイナミックレンジを計算した後、オブジェクト生成モジュール52は、映像フレームセットに関連するエントロピー符号化された量子化係数マトリクス、映像フレームセットに関連する動きデータセット、および映像フレームセットに関連するIDCT出力値の最大ダイナミックレンジを示すレンジ表示要素を含むメディアオブジェクトを生成してもよい(122)。
図5は、復号モジュール18の動作例を示すフローチャートである。最初に、復号モジュール18は映像フレームセットに関連する符号化メディアデータ、映像フレームセットに関連する符号化動きデータ、及びレンジレンジ表示要素を含むメディアオブジェクトを受信する(130)。復号モジュール18がメディアオブジェクトを受信した後、レンジチェックモジュール72はメディアオブジェクトからレンジ表示要素を抽出する(132)。レンジチェックモジュール72は、その後レンジ表示要素によって示されたIDCT出力値の範囲が所定範囲外のIDCT出力値を含むかどうかを決定してもよい(134)。例えば、レンジチェックモジュール72はレンジ表示要素によって示されたIDCT出力値の範囲が、第1の逆変換モジュール80が生成可能なIDCT出力値の範囲より大きいかどうかを決定してもよい。レンジチェックモジュール72は、レンジ表示要素によって示されたIDCT出力値の範囲が所定範囲外のIDCT出力値を含むことを決定した場合(134について“YES”)、レンジネゴシエーションモジュール74は、一つの実装例では符号化装置4にメディアオブジェクトの代替バージョンについての要求を送信してもよい(136)。レンジネゴシエーションモジュール74がメディアオブジェクトの代替バージョンを要求する場合、レンジチェックモジュール74は第1の逆変換モジュール80が生成可能なIDCT出力値の最大ダイナミックレンジを示すレンジ表示要素を生成してもよい。通信用インタフェース16は、メディアオブジェクトの代替バージョンについての要求を送信した後に、メディアオブジェクトの代替バージョンを受信してもよい(137)。
一方、レンジチェックモジュール72が、レンジ表示要素によって示されたIDCT出力値の範囲が所定範囲外のIDCT出力値を含まないことを決定した場合(134について“NO”)、復号モジュール18内のエントロピー復号モジュール70は、メディアオブジェクトにおけるフレームメディアデータセットおよび動きデータセットのエントロピー復号処理を行ってもよい(138)。エントロピー復号モジュール70は、メディアデータを符号化するために用いられるエントロピー符号化処理と対応するエントロピー復号処理を行ってもよい。例えば、エントロピー符号化モジュール42がメディアデータを符号化するためにハフマン符号化を用いる場合、エントロピー復号モジュール70は画像を復号するためにハフマン復号を用いる。各符号化メディアデータセットへのエントロピー復号処理の適用の結果、エントロピー復号モジュール70は映像フレームセットにおける映像フレームに関連する画像に関連する量子化係数マトリクスセットを生成する。
エントロピー復号モジュール70が動きデータに対するエントロピー復号動作を行った後、復号モジュール18内の動き補償モジュール76は、動きデータを用いて動き補償動作を行い、それによって現画像に関連する予測画像を生成してもよい(140)。
引き続き、または動き補償モジュール76と平行して、復号モジュール18内の逆量子化モジュール78は、現画像に関連する量子化係数マトリクスに逆量子化動作を適用することにより、映像フレームセットに関連する現画像に関連する逆量子化係数マトリクスセットを生成してもよい(142)。逆量子化モジュール78は、量子化マトリクスの対応する位置に関連する数を量子化係数に乗じることにより、量子化係数マトリクスを逆量子化してもよい。例えば、量子化係数マトリクスの位置(0,0)での量子化係数が−26で、量子化マトリクスの位置(0,0)での数が16である場合、逆量子化係数マトリクスの位置(0,0)での逆量子化係数は、−416(つまり、−26*16=−416)である。この例では、オリジナルの係数−415(つまり、丸め(415/16)=−26))と結果の係数−416との差に注意されたい。この差は「量子化誤差」である。
逆量子化モジュール78が現画像に関連する逆量子化係数マトリクスを生成した後、第1の逆変換モジュール80は逆量子化係数マトリクスセットにIDCTを適用することにより、現画像に関連するIDCT出力値のマトリクスセットを生成する(144)。次に、残差再構成モジュール84は現画像に関連するIDCT出力値のマトリクスセットを用いて現画像に関連する再構成残差画像を生成する(146)。残差再構成モジュール84が現画像に関連する再構成残差画像を生成した後、画像再構成モジュール86は現画像に関連する再構成残差画像および予測画像を用いて現画像の再構成バージョンを生成する(148)。一旦、画像再構成モジュール86が現画像の再構成バージョンを生成すれば、プレゼンテーションドライバ22はメディアプレゼンテーションユニット24に現画像の再構成バージョンを提示させてもよい(150)。
現画像が映像フレームセットに関連する最後の画像でない場合(152について“YES”)、動き補償モジュール76は、現画像に続く映像フレームセットに関連する画像について動き補償動作などを行う(140)。一方、現画像が映像フレームセットに関連する最後の画像である場合(152について“NO”)、復号モジュール18は映像フレームセットの復号を終了する(154)。
図6は、符号化モジュール12の追加の動作例を示すフローチャートである。最初に、符号化装置4内の通信用インタフェース14は、復号装置6からメディアオブジェクトについての要求を受信する(170)。通信用インタフェース14は、所定範囲を示すレンジ表示要素と同時にこの要求を受信してもよい。例えば、通信用インタフェース14は、復号装置6内の復号モジュールが生成可能なIDCT出力値の最大ダイナミックレンジを示すレンジ表示要素を復号装置6から受信してもよい。
通信用インタフェース14がメディアオブジェクトについての要求を受信する場合、レンジコンフィギュレーションモジュール54は、要求されたメディアオブジェクトを生成するために符号化モジュール12を構成してもよい(172)。例えば、通信用インタフェース14が復号装置6からレンジ表示要素を受信している場合、レンジコンフィギュレーションモジュール54は、メディアオブジェクトにおける符号化メディアデータと関連するIDCT出力値が復号装置6から受信されたレンジ表示要素によって示された範囲外でない場合、メディアオブジェクトを生成するように符号化モジュール12を構成してもよい。上述したように、レンジコンフィギュレーションモジュール54は、量子化モジュール40および逆量子化モジュール44によって用いられる量子化マトリクスの構成を含む様々な方法で符号化モジュール12を構成してもよい。
レンジコンフィギュレーションモジュール54が符号化モジュール12を構成した後、符号化モジュール12は要求されたメディアオブジェクトを生成してもよい。図示のように、図6の動作例では、符号化モジュール12は動き推定モジュール32を用いて要求されたメディアオブジェクトの映像フレームセットに関連する現画像のための動きデータを生成することにより、要求されたメディアオブジェクトを生成してもよい(174)。その後、動き補償モジュール34は現画像に関連する予測画像を生成してもよい(176)。次に、残差画像作成モジュール38は、予測画像および現画像を用いて現画像に関連する残差画像を生成してもよい(178)。残差画像作成モジュール38が残差画像を生成した後、フォワード変換モジュール30は残差画像内の画素成分値についてフォワード離散コサイン変換を行うことにより、映像フレームセットに少なくとも一部が関連する変換係数マトリクスを生成する(179)。その後、量子化モジュール40は現画像に関連する量子化係数マトリクスセットを生成してもよい(180)。量子化モジュール40は、変換モジュール30によって既に生成された、現画像に関連する変換係数マトリクス内の係数を、量子化マトリクスを用いて量子化することにより、現画像に関連する量子化係数マトリクスセットを生成してもよい。その後、エントロピー符号化モジュール42は量子化係数マトリクス上でエントロピー符号化動作を行ってもよい(182)。
さらに、逆量子化モジュール44は現画像に関連する逆量子化係数マトリクスセットを生成してもよい(184)。その後、逆変換モジュール46は現画像に関連する逆量子化係数マトリクスセットにIDCTを適用することにより、現画像に関連するIDCT出力値セットを生成してもよい(186)。
逆変換モジュール46が現画像に関連する量子化係数マトリクスの代替セットを生成した後、レンジ検出モジュール50は現画像が映像フレームセットに関連する最後の画像かどうかを決定してもよい(188)。現画像が映像フレームセットに関連する最後の画像でない場合(188について“NO”)、量子化モジュール40は要求されたメディアオブジェクトにおける映像フレームセットに関連する別の画像のための動きデータなどを生成してもよい(174)。一方、現画像が映像フレームセットに関連する最後の画像である場合(188について“YES”)、レンジ検出モジュール50は映像フレームセットについて逆変換モジュール46によって生成されたIDCT出力値の範囲を計算してもよい(190)。その後、オブジェクト生成モジュール52は、映像フレームセットに関連するエントロピー符号化された量子化係数セット、映像フレームセットに関連するエントロピー符号化された動きデータセット、および映像フレームセットに関連する代替IDCT出力値セットの最大ダイナミックレンジを示すレンジ表示要素を含むメディアオブジェクトを生成してもよい(192)。続いて、通信用インタフェース14はメディアオブジェクトを出力してもよい(194)。
図7は、図3において示された例示の復号モジュールの別の動作例を示すフローチャートである。最初に、復号モジュール18は映像フレームセットに関連する符号化されたメディアデータセット、映像フレームセットに関連する符号化された動きデータセット、およびレンジ表示要素を含むメディアオブジェクトを受信する(200)。復号モジュール18がメディアオブジェクトを受信した後、レンジチェックモジュール72はメディアオブジェクトからレンジ表示要素を抽出する(202)。次に、復号モジュール18内のエントロピー復号モジュール70は、メディアオブジェクト内の符号化メディアデータセットおよび動きデータセット上でエントロピー復号処理を行ってもよい(204)。エントロピー復号モジュール70は、メディアデータを符号化するために用いられるエントロピー符号化処理に対応するエントロピー復号処理を行ってもよい。例えば、エントロピー符号化モジュール42がメディアデータを符号化するためにハフマン符号化を用いる場合、エントロピー復号モジュール70は画像を復号するためにハフマン復号を用いる。各符号化メディアデータセットへのエントロピー復号処理の適用の結果、エントロピー復号モジュール70は映像フレームセットにおける映像フレームに関連する画像に関連する量子化係数マトリクスセットを生成する。
エントロピー復号モジュール70が動きデータに対するエントロピー復号動作を行った後、復号モジュール18内の動き補償モジュール76は、動きデータを用いて動き補償動作を行い、それによって現画像に関連する予測画像を生成してもよい(206)。引き続き、または動き補償モジュール76と平行して、復号モジュール18内の逆量子化モジュール78は、現画像に関連する量子化係数マトリクスに逆量子化動作を適用することにより、映像フレームセットに関連する現画像に関連する逆量子化係数マトリクスセットを生成してもよい(208)
逆量子化モジュール78が現画像に関連する逆量子化係数マトリクスを生成した後、レンジチェックモジュール72はレンジ表示要素によって示されたIDCT出力値の範囲が所定範囲外のIDCT出力値を含むかどうかを決定してもよい(210)。レンジチェックモジュール72がレンジ表示要素によって示されたIDCT出力値の範囲が所定範囲外のIDCT出力値を含まないことを決定した場合(210について“NO”)、第1の逆変換モジュール80は逆量子化係数マトリクスセットにIDCTを適用することにより、第1の動作を用いて現画像に関連するIDCT出力値セットのマトリクスを生成してもよい(212)。そうでなければ、レンジチェックモジュール72はレンジ表示要素によって示されたIDCT出力値の範囲が所定範囲外のIDCT出力値を含むと決定した場合(210について“YES”)、第2の逆変換モジュール82は、逆量子化係数マトリクスセットにIDCTを適用することにより、第2の動作を用いて現画像に関連するIDCT出力値セットのマトリクスを生成してもよい(214)。
第1の逆変換モジュール80または第2の逆変換モジュール82のいずれかがIDCT出力値のマトリクスセットを生成した後、残差再構成モジュール84は現画像に関連するIDCT出力値のマトリクスセットを用いて、現画像に関連する再構成残差画像を生成する(216)。残差再構成モジュール84が現画像に関連する再構成残差画像を生成した後、画像再構成モジュール86は現画像に関連する再構成残差画像および予測画像を用いて、現画像の再構成バージョンを生成する(218)。一旦、画像再構成モジュール86が現画像の再構成バージョンを生成すれば、プレゼンテーションドライバ22はメディアプレゼンテーションユニット24に現画像の再構成バージョンを提示させてもよい(220)。
現画像が映像フレームセットに関連する最後の画像でない場合(222について“YES”)、動き補償モジュール76は、現画像に続く映像フレームセットに関連する画像について動き補償動作などを行う(206)。一方、現画像が映像フレームセットに関連する最後の画像である場合(222について“NO”)、復号モジュール18は映像フレームセットの復号を終了する(224)。
ここでは説明された技術は、ハードウェア、ソフトウェア、ファームウェアまたは任意のそれらの組み合わせにおいて実装されてもよい。モジュールかコンポーネントとして記述されたいかなる機能も、集積回路または集積論理デバイスにおいて、別々に離散的な、しかし相互利用可能な論理デバイスとして共に実装されてもよい。当該技術は、ソフトウェアで実装されるなら、実行されると上述した1つまたは複数の方法を行うという命令を含むコンピュータ読み込み可能な媒体によって少なくとも一部が実現されてもよい。コンピュータ読み取り可能な媒体は、コンピュータプログラム製品の一部を構成してもよく、それはパッケージ部材を含んでもよい。コンピュータ読み取り可能な媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)のようなランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、不揮発性RAM(NVRAM)、電気的消去・プログラム可能なリードオンリーメモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などを含んでもよい。当該技術はさらに、または代わりに、少なくとも一部が、コードを命令またはデータ構造の形態で搬送または通信し、またコンピュータによってアクセスされ、読み出され、およぴ/または実行され得るコンピュータ読み取り可能な通信メディアによって実現されてもよい。
コードは、1または複数のディジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレー(FPGA)または他の等価な集積化されるかまたは個別の論理回路のような1または複数のプロセッサによって実行されてもよい。従って、ここでは用いられた用語「プロセッサ」は、先の構造または、ここで説明された技術の実装に適した他の構造のうちのどれを指してもよい。さらに、いくつかの態様では、ここで説明された機能性は符号化および復号のために構成されるか、または組み合わせられた映像符号化−復号器(CODEC)に組み入れられた専用ソフトウェアモジュールまたはハードウェアモジュール内に備えられてもよい。
種々の例が説明された。これらの例および他の例は、以下の請求の範囲の範囲内である。

Claims (22)

  1. 復号化モジュールが1つ以上の映像フレームのセットを表す符号化メディアデータと、前記符号化メディアデータに関連する逆離散コサイン変換(IDCT)出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを受信すること;
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを決定すること;
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含まないとき、前記符号化メディアデータに基づきIDCT出力値セットを生成する第1動作を行うこと;
    前記IDCT出力値セットを用いて前記映像フレームのセットにおける映像フレームに関連する再構成映像フレームを生成すること;及び
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含むとき、前記第1動作とは異なる第2動作を行うこと、を含み
    前記第2動作を行うことは、
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含むとき、代替メディアオブジェクトを要求すること;及び
    前記代替メディアオブジェクトを受信すること;を含み、
    前記代替メディアオブジェクトは、前記映像フレームのセットを表わす代替符号化メディアデータを含み、
    前記代替符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジは前記所定範囲外のIDCT出力値を含まない、方法。
  2. 符号化メディアデータ上でエントロピー復号動作を行い、映像フレームのセットに関連する量子化係数マトリクスセットを生成すること;及び
    前記量子化係数マトリクスセット内の量子化係数の逆量子化によって、前記映像フレームのセットに少なくとも一部が関連する逆量子化係数マトリクスを生成すること;をさらに具備し、
    前記IDCT出力値セットを生成するために前記第1動作を行うことは、前記逆量子化係数マトリクスにIDCTを適用することにより前記IDCT出力値セットを生成すること、を含む請求項1の方法。
  3. 前記IDCT出力値セットを用いて再構成映像フレームを生成することは、
    前記IDCT出力値を含む再構成残差画像を生成すること;
    前記映像フレームのセットに関連する動きデータを用いて動き補償動作を行うことにより、前記映像フレームのセットに関連する予測画像を生成すること;及び
    前記再構成残差画像及び前記予測画像を用いて、再構成画像を生成すること;を含む請求項1の方法。
  4. 1つ以上の映像フレームのセットを表す符号化メディアデータと、前記符号化メディアデータに関連する逆離散コサイン変換(IDCT)出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを受信する通信用インタフェースと;
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを決定するレンジチェックモジュールと;
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含まないとき、前記符号化メディアデータに基づきIDCT出力値セットを生成する第1動作を行う第1の逆変換モジュールと;
    前記IDCT出力値セットを用いて前記映像フレームのセット内の映像フレームに関連する再構成映像フレームを生成する画像再構成モジュールと;及び
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含むとき、代替メディアオブジェクトを要求するレンジネゴシエーションモジュールと;を具備し、
    前記通信用インタフェースは、前記代替メディアオブジェクトを受信し、前記代替メディアオブジェクトは、前記映像フレームのセットを表わす代替符号化メディアデータを含み、前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジは前記所定範囲外のIDCT出力値を含まない、装置。
  5. 前記符号化メディアデータについてエントロピー復号動作を行って前記映像フレームのセットに関連する量子化係数マトリクスセットを生成するエントロピー復号モジュール;および
    前記量子化係数マトリクスセット内の量子化係数を逆量子化して前記映像フレームのセットに少なくとも一部分が関連する逆量子化係数マトリクスセットを生成する逆量子化モジュール;をさらに具備し、
    前記第1の逆変換モジュールは、前記逆量子化係数マトリクスセットにIDCTを適用することにより、前記IDCT出力値セットを生成する、請求項4の装置。
  6. 前記IDCT出力値を含む再構成残差画像を生成する残差再構成モジュール;および
    前記映像フレームのセットに関連する動きデータを用いて動き補償動作を行うことにより、前記映像フレームのセットに関連する予測画像を生成する動き補償モジュール;をさらに具備し、
    前記画像再構成モジュールは、前記再構成残差画像および前記予測画像を用いて前記再構成映像フレームを生成する、請求項4の装置。
  7. 前記通信用インタフェースは無線通信用インタフェースである請求項4の装置。
  8. 復号装置から逆離散コサイン変換(IDCT)出力値の最大ダイナミックレンジを示すメッセージを受信すること;
    前記メッセージの受信に応答して、1以上の映像フレームのセットを表す第1の符号化メディアデータセットを生成すること、および
    前記復号装置に前記第1の符号化メディアデータセットを出力すること;を含み、
    前記第1の符号化メディアデータセットと関連するIDCT出力値は、前記示されたIDCT出力値の最大ダイナミックレンジ外のIDCT出力値を含まない、方法。
  9. 前記映像フレームのセットを表わす第2の符号化メディアデータセットを生成すること;
    前記第2の符号化メディアデータセットに関連するIDCT出力値の最大ダイナミックレンジを計算すること;
    前記第2の符号化メディアデータセットを含むメディアオブジェクト、および前記第2の符号化メディアデータセットと関連するIDCT出力値の最大ダイナミックレンジを示すレンジ表示要素を生成すること;および
    前記復号装置に前記メディアオブジェクトを出力すること;をさらに含み、
    前記メッセージを受信することは、前記第2の符号化メディアデータセットと関連するIDCT出力値の最大ダイナミックレンジが、前記メッセージに示された前記最大ダイナミックレンジ外の値を含むとき、前記復号装置に前記メディアオブジェクトを出力した後に前記メッセージを受信することを含む、請求項8の方法。
  10. 前記第1の符号化メディアデータセットを生成することは、
    前記映像フレームのセット内の映像フレームに関連する残差画像を生成すること;
    前記残差画像内の画素成分値に対してフォワード離散コサイン変換を行うことにより、少なくとも一部が前記映像フレームのセットに関連する変換係数マトリクスを生成すること;
    前記変換係数マトリクス内の変換係数を量子化することにより、少なくとも一部が前記映像フレームのセットに関連する量子化係数マトリクスを生成すること;および
    前記量子化係数マトリクスに対しエントロピー符号化動作を行って前記第1の符号化メディアデータセットを作成すること;を含む、請求項8の方法。
  11. 前記映像フレームのセットを含むメディアオブジェクトの要求を前記復号装置から受けること;をさらに含み、
    前記メッセージを受信することは、前記要求とともに前記メッセージを受信することを含む請求項8の方法。
  12. 復号装置から逆離散コサイン変換(IDCT)出力値の最大ダイナミックレンジを示すメッセージを受信する通信用インタフェース;及び
    前記メッセージの受信に応答して、1以上の映像フレームのセットを表す第1の符号化メディアデータセットを生成する符号化モジュール;を具備し、
    前記第1の符号化メディアデータセットと関連するIDCT出力値は、前記示されたIDCT出力値の最大ダイナミックレンジ外のIDCT出力値を含まなく、
    前記通信用インタフェースは、前記復号装置に前記第1の符号化メディアデータセットを出力する、装置。
  13. 前記符号化モジュールは、前記映像フレームのセットを表わす第2の符号化メディアデータセットを生成し;
    前記符号化モジュールは、
    前記第2の符号化メディアデータセットに関連するIDCT出力値の最大ダイナミックレンジを計算するレンジ検出モジュール;
    前記第2の符号化メディアデータセットを含むメディアオブジェクトおよび前記第2の符号化メディアデータセットと関連するIDCT出力値の最大ダイナミックレンジを示すレンジ表示要素を生成するオブジェクト生成モジュールとを含み、
    前記通信用インタフェースは前記通信用インタフェースが前記メッセージを受信する前に前記復号装置に前記メディアオブジェクトを出力する、請求項12の装置。
  14. 前記第2の符号化メディアデータセットに関連するIDCT出力値の最大ダイナミックレンジが前記メッセージに示された前記最大ダイナミックレンジ外の値を含むことを前記復号装置が決定した場合、前記メッセージは前記復号装置から受信される、請求項13の装置。
  15. 前記符号化モジュールは、
    前記映像フレームのセット内の映像フレームに関連する残差画像を生成する残差画像作成モジュール;
    前記残差画像内の画素成分値に対してフォワード離散コサイン変換を行うことにより、少なくとも一部が映像フレームのセットに関連する変換係数マトリクスを生成するフォワード変換モジュール;
    前記変換係数マトリクス内の変換係数を量子化することにより、少なくとも一部が映像フレームのセットに関連する量子化係数マトリクスを生成する量子化モジュール;および
    前記量子化係数マトリクスに対しエントロピー符号化動作を行って前記第1の符号化メディアデータセットを作成するエントロピー符号化モジュール;を具備する請求項12の装置。
  16. 前記通信用インタフェースは、前記映像フレームのセットを含むメディアオブジェクトの要求を前記復号装置から受け、
    前記通信用インタフェースは、前記要求とともに前記メッセージを受信する請求項12の装置。
  17. 符号化装置;および
    復号装置;を具備し、
    前記復号装置は、
    1以上の映像フレームのセットを表す第1の符号化メディアデータセットと、符号化メディアデータに関連する逆離散コサイン変換(IDCT)出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを前記符号化装置から受信する第1の通信用インタフェース;
    前記第1の符号化メディアデータセットに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを決定するレンジチェックモジュール;
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含むとき、前記第1の通信用インタフェースに前記符号化装置へ前記IDCT出力値の最大ダイナミックレンジを示すメッセージを出力させるレンジネゴシエーションモジュール;
    前記第1の符号化メディアデータセットに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含まないとき、前記第1の符号化メディアデータセットに基づきIDCT出力値セットを生成する第1の動作を行う第1の逆変換モジュール;及び
    前記IDCT出力値セットを用いて前記映像フレームのセットにおける映像フレームに関連する再構成映像フレームを生成する画像再構成モジュール;を具備し、
    前記符号化装置は、
    前記復号装置から前記所定範囲を示すメッセージを受信する第2の通信用インタフェース;
    前記メッセージの受信に応答して、前記1以上の映像フレームのセットを表す第2の符号化メディアデータセットを生成する符号化モジュール;を具備し、
    前記第2の符号化メディアデータセットと関連するIDCT出力値は、前記所定範囲外のIDCT出力値を含まなく、
    前記第2の通信用インタフェースは、前記復号装置に前記第2の符号化メディアデータセットを出力する、システム。
  18. 前記符号化モジュールは、
    前記第2の符号化メディアデータセットに関連するIDCT出力値の最大ダイナミックレンジを計算するレンジ検出モジュール;
    前記第2の符号化メディアデータセットを含む第2のメディアオブジェクト、および前記第2の符号化メディアデータセットと関連するIDCT出力値の最大ダイナミックレンジを示す第2のレンジ表示要素を生成するオブジェクト生成モジュール;を具備し、
    前記第2の通信用インタフェースは、前記復号装置に前記メディアオブジェクトを出力する、請求項17のシステム。
  19. 前記符号化モジュールは、
    前記映像フレームのセット内の映像フレームに関連する残差画像を生成する残差画像作成モジュール;
    前記残差画像内の画素成分値に対してフォワード離散コサイン変換を行うことにより、少なくとも一部が映像フレームのセットに関連する変換係数マトリクスを生成するフォワード変換モジュール;
    前記変換係数マトリクス内の変換係数を量子化することにより、少なくとも一部が映像フレームのセットに関連する量子化係数マトリクスを生成する量子化モジュール;および
    前記量子化係数マトリクスに対しエントロピー符号化動作を行って前記第2の符号化メディアデータセットを作成するエントロピー符号化モジュール;をさらに具備する、請求項17のシステム。
  20. 前記復号装置は、
    前記第1の符号化メディアデータセットに対してエントロピー復号動作を行って前記映像フレームのセットに関連する量子化係数マトリクスセットを生成するエントロピー復号モジュールと;
    前記量子化係数マトリクスセット内の量子化係数を逆量子化して前記映像フレームのセットに少なくとも一部分が関連する逆量子化係数マトリクスセットを生成する逆量子化モジュールと;をさらに具備し、
    前記第1の逆変換モジュールは、前記逆量子化係数マトリクスセットにIDCTを適用することにより、前記IDCT出力値セットを生成する請求項17のシステム。
  21. 復号化モジュールが、1つ以上の映像フレームのセットを表す符号化メディアデータと、前記符号化メディアデータに関連する逆離散コサイン変換(IDCT)出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを受信すること;
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを決定すること;
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含まないとき、前記符号化メディアデータに基づきIDCT出力値セットを生成する第1動作を行うこと;
    前記IDCT出力値セットを用いて前記映像フレームのセットにおける映像フレームに関連する再構成映像フレームを生成すること;及び
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含むとき、前記第1動作とは異なる第2動作を行うこと、を含み
    前記第2動作は、前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含むとき、前記符号化メディアデータに基づいて前記IDCT出力値セットを生成する、方法。
  22. 1つ以上の映像フレームのセットを表す符号化メディアデータと、前記符号化メディアデータに関連する逆離散コサイン変換(IDCT)出力値の最大ダイナミックレンジを表すレンジ表示要素とを含むメディアオブジェクトを受信する通信用インタフェースと;
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが所定範囲外のIDCT出力値を含むかどうかを決定するレンジチェックモジュールと;
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含まないとき、前記符号化メディアデータに基づきIDCT出力値セットを生成する第1動作を行う第1の逆変換モジュールと;
    前記IDCT出力値セットを用いて前記映像フレームのセット内の映像フレームに関連する再構成映像フレームを生成する画像再構成モジュールと;及び
    前記符号化メディアデータに関連するIDCT出力値の最大ダイナミックレンジが前記所定範囲外のIDCT出力値を含むとき、前記符号化メディアデータに基づきIDCT出力値セットを生成する第2動作を行う第2の逆変換モジュールと、を具備する装置。
JP2009534828A 2006-10-23 2007-10-23 逆離散コサイン変換の最大ダイナミックレンジのシグナリング Expired - Fee Related JP5502487B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86259106P 2006-10-23 2006-10-23
US60/862,591 2006-10-23
US11/865,915 US8300698B2 (en) 2006-10-23 2007-10-02 Signalling of maximum dynamic range of inverse discrete cosine transform
US11/865,915 2007-10-02
PCT/US2007/082291 WO2008052007A2 (en) 2006-10-23 2007-10-23 Signalling of maximum dynamic range of inverse discrete cosine transform

Publications (2)

Publication Number Publication Date
JP2010507995A JP2010507995A (ja) 2010-03-11
JP5502487B2 true JP5502487B2 (ja) 2014-05-28

Family

ID=39281479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009534828A Expired - Fee Related JP5502487B2 (ja) 2006-10-23 2007-10-23 逆離散コサイン変換の最大ダイナミックレンジのシグナリング

Country Status (10)

Country Link
US (1) US8300698B2 (ja)
EP (1) EP2090111B1 (ja)
JP (1) JP5502487B2 (ja)
KR (2) KR101269305B1 (ja)
CN (1) CN101529917B (ja)
BR (1) BRPI0717313A2 (ja)
CA (1) CA2665243C (ja)
IN (1) IN2014MN02406A (ja)
RU (1) RU2417547C2 (ja)
WO (1) WO2008052007A2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4725127B2 (ja) * 2005-02-16 2011-07-13 ソニー株式会社 復号装置および方法、記録媒体、並びにプログラム
US8385424B2 (en) * 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8571340B2 (en) * 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8208745B2 (en) * 2008-01-31 2012-06-26 Analog Devices, Inc. Spatial domain video enhancement/scaling system and method
KR101346008B1 (ko) 2009-03-13 2013-12-31 돌비 레버러토리즈 라이쎈싱 코오포레이션 고 동적 범위, 가시 동적 범위, 및 광색역 비디오의 층상 압축
US9069713B2 (en) * 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
JP5482474B2 (ja) * 2010-06-09 2014-05-07 富士通株式会社 符号化装置及び符号化プログラム
US20130003856A1 (en) * 2011-07-01 2013-01-03 Samsung Electronics Co. Ltd. Mode-dependent transforms for residual coding with low latency
EP2750387B1 (en) 2011-09-22 2019-06-19 LG Electronics Inc. Video decoding method and video decoding apparatus
KR20130050896A (ko) * 2011-11-07 2013-05-16 삼성전자주식회사 비디오 복호화 과정에서 역양자화 및 역변환의 데이터를 클리핑하는 역변환 방법 및 그 장치
WO2013106190A1 (en) 2012-01-09 2013-07-18 Dolby Laboratories Licensing Corporation Hybrid reference picture reconstruction method for single and multiple layered video coding systems
FR2993084A1 (fr) * 2012-07-09 2014-01-10 France Telecom Procede de codage video par prediction du partitionnement d'un bloc courant, procede de decodage, dispositifs de codage et de decodage et programmes d'ordinateur correspondants
US10015515B2 (en) * 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
JP6315911B2 (ja) * 2013-07-09 2018-04-25 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6466258B2 (ja) * 2014-08-07 2019-02-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 再生装置、再生方法および記録媒体
WO2020113065A1 (en) * 2018-11-27 2020-06-04 Op Solutions, Llc Adaptive block update of unavailable reference frames using explicit and implicit signaling
PH12019000380A1 (en) * 2018-12-17 2020-09-28 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129015A (en) 1990-04-19 1992-07-07 Ricoh Company Ltd. Apparatus and method for compressing still images without multiplication
DE9016732U1 (ja) 1990-12-11 1992-04-09 Robert Bosch Gmbh, 7000 Stuttgart, De
US5122875A (en) 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
RU2096955C1 (ru) 1991-03-01 1997-11-27 Е.И.Дюпон Де Немур Энд Компани Вододиспергируемая гранулированная пестицидная композиция, получаемая методом экструзии, и способ ее получения
US5285402A (en) 1991-11-22 1994-02-08 Intel Corporation Multiplyless discrete cosine transform
US5539836A (en) 1991-12-20 1996-07-23 Alaris Inc. Method and apparatus for the realization of two-dimensional discrete cosine transform for an 8*8 image fragment
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
RU2122295C1 (ru) 1994-04-29 1998-11-20 Виктор Павлович Дворкович Способ покадрового сжатия изображений
US6549666B1 (en) 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
US5701263A (en) 1995-08-28 1997-12-23 Hyundai Electronics America Inverse discrete cosine transform processor for VLSI implementation
US6026183A (en) 1995-10-27 2000-02-15 Texas Instruments Incorporated Content-based video compression
US5825927A (en) * 1996-01-16 1998-10-20 Hitachi America, Ltd. Methods and apparatus for encoding video data in a manner that is well suited for decoding by regular or downconverting decoders
US5754456A (en) 1996-03-05 1998-05-19 Intel Corporation Computer system performing an inverse cosine transfer function for use with multimedia information
US6020838A (en) 1996-12-23 2000-02-01 National Instruments Corporation System and method for generating a sigma-delta correction circuit using matrix calculation of linearity error correction coefficients
CN1157071C (zh) 1997-01-31 2004-07-07 西门子公司 一个数字化图象编码和解码的方法和装置
TW376628B (en) 1997-05-06 1999-12-11 Holtek Semiconductor Inc Method of accelerating JPEG quantization calculation in image compression
US6134270A (en) 1997-06-13 2000-10-17 Sun Microsystems, Inc. Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
JP3524747B2 (ja) 1998-01-30 2004-05-10 三洋電機株式会社 離散コサイン変換回路
US6587590B1 (en) 1998-02-02 2003-07-01 The Trustees Of The University Of Pennsylvania Method and system for computing 8×8 DCT/IDCT and a VLSI implementation
TW395135B (en) 1998-03-03 2000-06-21 Nat Science Council A high throughput and regular architecture of 2-D 8x8 DCT/IDCT using direct form
US6539058B1 (en) 1998-04-13 2003-03-25 Hitachi America, Ltd. Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders
US6792149B1 (en) 1998-05-07 2004-09-14 Sarnoff Corporation Method and apparatus for resizing an image frame including field-mode encoding
US6310919B1 (en) * 1998-05-07 2001-10-30 Sarnoff Corporation Method and apparatus for adaptively scaling motion vector information in an information stream decoder
KR20000013653A (ko) 1998-08-12 2000-03-06 이종하 정/역 최적화 정수형 여현변환장치 및 그 방법
EP0990992A3 (de) 1998-09-28 2002-02-13 Siemens Aktiengesellschaft Diskreter/invers-diskreter Cosinus-Transformationsvorrichtung und Anordnung
US6020383A (en) * 1999-01-11 2000-02-01 Eastman Chemicals Company Method for reducing blood cholesterol and/or blood triglycerides
GB2347038A (en) 1999-02-18 2000-08-23 Nokia Mobile Phones Ltd A video codec using re-transmission
US6167092A (en) * 1999-08-12 2000-12-26 Packetvideo Corporation Method and device for variable complexity decoding of motion-compensated block-based compressed digital video
KR100683380B1 (ko) * 2000-02-21 2007-02-15 주식회사 팬택앤큐리텔 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치
JP2001318910A (ja) 2000-02-29 2001-11-16 Sony Corp 逆離散コサイン変換装置
DE10116204A1 (de) 2000-08-12 2002-02-21 Bosch Gmbh Robert Verfahren zur ganzzahligen Approximation von Transformationskoeffizienten sowie Coder und Decoder
KR100357689B1 (ko) * 2000-11-13 2002-10-19 삼성전자 주식회사 일관된 화질을 가지는 실시간 가변 비트율 엠펙 비디오전송 시스템
US6859815B2 (en) 2000-12-19 2005-02-22 Koninklijke Philips Electronics N.V. Approximate inverse discrete cosine transform for scalable computation complexity video and still image decoding
US6873655B2 (en) * 2001-01-09 2005-03-29 Thomson Licensing A.A. Codec system and method for spatially scalable video data
US6799192B1 (en) 2001-01-09 2004-09-28 Apple Computer, Inc. Method and apparatus for inverse discrete cosine transform
US8374237B2 (en) * 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
JP2002374531A (ja) 2001-06-15 2002-12-26 Victor Co Of Japan Ltd 復号装置
US6909753B2 (en) * 2001-12-05 2005-06-21 Koninklijke Philips Electronics, N.V. Combined MPEG-4 FGS and modulation algorithm for wireless video transmission
US7007055B2 (en) 2002-03-12 2006-02-28 Intel Corporation Method of performing NxM Discrete Cosine Transform
US20030215011A1 (en) 2002-05-17 2003-11-20 General Instrument Corporation Method and apparatus for transcoding compressed video bitstreams
US7379956B2 (en) 2002-07-14 2008-05-27 Apple Inc. Encoding and decoding data arrays
KR100376060B1 (en) 2002-10-25 2003-03-17 Humax Co Ltd Method and system for re-setting image size using inverse discrete cosine transform
US7792891B2 (en) 2002-12-11 2010-09-07 Nvidia Corporation Forward discrete cosine transform engine
TWI224931B (en) 2003-07-04 2004-12-01 Mediatek Inc Scalable system for inverse discrete cosine transform and method thereof
TWI257054B (en) 2003-09-03 2006-06-21 Mediatek Inc Rapid and low cost of inverse discrete cosine transform system and method thereof
KR20060135613A (ko) 2003-09-24 2006-12-29 텍사스 인스트루먼츠 인코포레이티드 8×8 변환 및 양자화
GB0323038D0 (en) * 2003-10-02 2003-11-05 Koninkl Philips Electronics Nv Method and apparatus for improved inverse transform calculation
JP3951036B2 (ja) 2003-11-27 2007-08-01 インターナショナル・ビジネス・マシーンズ・コーポレーション 動的小数点方式、動的小数点演算方法、並びに2次元逆離散コサイン変換方法及びその装置
US20050196055A1 (en) * 2004-03-04 2005-09-08 Sheng Zhong Method and system for codifying signals that ensure high fidelity reconstruction
CN100433837C (zh) * 2004-03-18 2008-11-12 华中科技大学 视频编码的整数变换方法
CN100546196C (zh) * 2005-12-01 2009-09-30 武汉大学 一种二维矢量数据的压缩方法
US8385424B2 (en) 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms

Also Published As

Publication number Publication date
KR20120030591A (ko) 2012-03-28
RU2417547C2 (ru) 2011-04-27
US20080095245A1 (en) 2008-04-24
JP2010507995A (ja) 2010-03-11
WO2008052007A3 (en) 2008-08-07
EP2090111A2 (en) 2009-08-19
US8300698B2 (en) 2012-10-30
KR101155835B1 (ko) 2012-06-21
BRPI0717313A2 (pt) 2013-10-15
IN2014MN02406A (ja) 2015-08-21
WO2008052007A2 (en) 2008-05-02
KR20090073245A (ko) 2009-07-02
CA2665243C (en) 2013-05-28
CN101529917A (zh) 2009-09-09
CA2665243A1 (en) 2008-05-02
CN101529917B (zh) 2011-08-31
EP2090111B1 (en) 2014-09-17
RU2009119494A (ru) 2010-11-27
KR101269305B1 (ko) 2013-05-29

Similar Documents

Publication Publication Date Title
JP5502487B2 (ja) 逆離散コサイン変換の最大ダイナミックレンジのシグナリング
JP5777080B2 (ja) 合成ビデオのためのロスレス・コード化および関連するシグナリング方法
Chen et al. Dictionary learning-based distributed compressive video sensing
US8170097B2 (en) Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in series with video
KR101336204B1 (ko) 다시점 비디오에서 전역변이를 이용하여 상이한 시점의 화면들을 압축 또는 복호하는 인코더와 인코딩하는 방법 및디코더와 디코딩하는 방법
EP0539833A2 (en) A motion video compression system with multiresolution features
US9883190B2 (en) Video encoding using variance for selecting an encoding mode
JP2010501911A (ja) 逆離散コサイン変換の計算中の誤差の低減
JPH1175186A (ja) スケーリングされた順方向および逆方向の離散コサイン変換と、これを使用するビデオ圧縮伸長システム
KR101357388B1 (ko) 임베디드 그래픽스 코딩: 병렬 디코딩을 위한 재배열된 비트스트림
Albalawi et al. A hardware architecture for better portable graphics (BPG) compression encoder
KR20130070574A (ko) 메모리 요건을 완화한 영상 전송 시스템
WO2023040600A1 (zh) 图像编码方法、图像解码方法、装置、电子设备及介质
EP1307054A2 (en) Video decoder including a scale-down function for scaling down an image and method thereof
RU2419855C2 (ru) Снижение ошибок в ходе вычисления обратного дискретного косинусного преобразования
KR101346942B1 (ko) 벡터 임베디드 그래픽 코딩
US8611418B2 (en) Decoding a progressive JPEG bitstream as a sequentially-predicted hybrid video bitstream
KR20220043215A (ko) 무손실 및 거의-무손실 압축을 위한 양자화기
JP2022549773A (ja) 映像データの可逆符号化
US8111753B2 (en) Video encoding method and video encoder for improving performance
AU2020392151B2 (en) Image/video encoding/decoding method and device
US20230028326A1 (en) Image coding method based on partial entry point-associated information in video or image coding system
AU2020392150B2 (en) Slice and tile configuration for image/video coding
US20030223498A1 (en) Video encoding method and video encoder for improving performance
JP2011109390A (ja) 画像符号化装置、画像符号化方法、画像復号装置、及び、画像復号方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120112

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130129

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140117

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: 20140212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140313

R150 Certificate of patent or registration of utility model

Ref document number: 5502487

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees