JP2006191642A - 非標準化ビデオ量子化コーダを使用するビデオ規格に準拠した残差コーディング - Google Patents

非標準化ビデオ量子化コーダを使用するビデオ規格に準拠した残差コーディング Download PDF

Info

Publication number
JP2006191642A
JP2006191642A JP2006001328A JP2006001328A JP2006191642A JP 2006191642 A JP2006191642 A JP 2006191642A JP 2006001328 A JP2006001328 A JP 2006001328A JP 2006001328 A JP2006001328 A JP 2006001328A JP 2006191642 A JP2006191642 A JP 2006191642A
Authority
JP
Japan
Prior art keywords
residual
standard
template
video
compressed
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
JP2006001328A
Other languages
English (en)
Other versions
JP5101818B2 (ja
JP2006191642A5 (ja
Inventor
Stephen Molloy
ステファン・モーロイ
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
Priority claimed from US11/271,218 external-priority patent/US7804901B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2006191642A publication Critical patent/JP2006191642A/ja
Publication of JP2006191642A5 publication Critical patent/JP2006191642A5/ja
Application granted granted Critical
Publication of JP5101818B2 publication Critical patent/JP5101818B2/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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04FFINISHING WORK ON BUILDINGS, e.g. STAIRS, FLOORS
    • E04F13/00Coverings or linings, e.g. for walls or ceilings
    • E04F13/07Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor
    • E04F13/08Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor composed of a plurality of similar covering or lining elements
    • E04F13/0801Separate fastening elements
    • E04F13/0832Separate fastening elements without load-supporting elongated furring elements between wall and covering elements
    • E04F13/0833Separate fastening elements without load-supporting elongated furring elements between wall and covering elements not adjustable
    • E04F13/0835Separate fastening elements without load-supporting elongated furring elements between wall and covering elements not adjustable the fastening elements extending into the back side of the covering elements
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04FFINISHING WORK ON BUILDINGS, e.g. STAIRS, FLOORS
    • E04F13/00Coverings or linings, e.g. for walls or ceilings
    • E04F13/07Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor
    • E04F13/08Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor composed of a plurality of similar covering or lining elements
    • E04F13/0801Separate fastening elements
    • E04F13/0832Separate fastening elements without load-supporting elongated furring elements between wall and covering elements
    • E04F13/0853Separate fastening elements without load-supporting elongated furring elements between wall and covering elements adjustable perpendicular to the wall
    • E04F13/0855Separate fastening elements without load-supporting elongated furring elements between wall and covering elements adjustable perpendicular to the wall adjustable in several directions, one of which is perpendicular to the wall
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】非標準化ビデオ量子化コーダを使用するビデオ規格に準拠した残差コーディング装置を提供する。
【解決手段】コーディング装置に、残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングする情報を記憶するメモリ、及び残差を残差テンプレートと比較し、残差に最もぴったりと符合する残差テンプレートの1つを識別し、かつ規格に準拠して圧縮された残差ブロックの対応する1つを選択する残差コーダを具備する。
【選択図】図1

Description

発明に関する本出願は、2005年1月6日に出願された、米国特許仮出願番号第60/642,023号、名称“非標準化ビデオ量子化エンコーダを使用する規格に基づいた残差エンコーディング(Standards-Based Residual Encoding Using A Non-Standardized Vector Quantization Encoder)”、に優先権を主張し、これは本出願の譲受人に譲渡され、これにより本明細書中に引用文献として特に取り込まれている。
本明細書は、ディジタル・ビデオ処理に係り、特に、規格に準拠して圧縮された残差(residual)ブロックを生成するエンコーディング技術に関する。
ディジタル・ビデオの能力は、ディジタル・テレビ、ディジタル直接放送システム、ワイアレス通信装置、パーソナル・ディジタル・アシスタンツ(personal digital assistants)(PDAs)、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ディジタル・カメラ、ディジタル記録装置、セルラ電話機又は衛星無線電話機、及びその他を含む、広範囲の装置に提供されることが可能である。ディジタル・ビデオ装置は、完全動画ビデオ・シーケンスを製作する際に、変更する際に、送信する際に、記憶する際に、記録する際に及び上演する際に従来型のアナログ・ビデオ・システムよりも著しい改善を提供することが可能である。
多数の異なるビデオ・コーディング規格が、ディジタル・ビデオ・シーケンスをコーディングするために制定されてきている。例えば、動画専門家グループ(Moving Picture Experts Group)(MPEG)は、MPEG−1、MPEG−2及びMPEG−4を含む多数の規格を開発している。その他の規格は、国際電気通信連合データ送信(International Telecommunication Union Telecommunications)(ITU−T)H.263規格、カリフォルニア州キューパティーノのアップル・コンピュータにより開発されたクイックタイム(QuickTime)(登録商標)技術、ワシントン州レドモンド市のマイクロソフト社により開発されたウィンドウズ(登録商標)のためのビデオ(Video for Windows(登録商標))、インテル社により開発されたインデオ(Indeo)(登録商標)、ワシントン州シアトル市のリアルネットワークス株式会社からのリアルビデオ(RealVideo)(登録商標)、及びスーパーマックス株式会社により開発されたシネパック(Cinepak)(登録商標)を含む。その上に、ITU−T H.264規格及び数多くの適正な規格類を含む、新たな規格類が現れ、展開され続けている。
複数のビデオ・コーディング規格は、圧縮された形式でデータをコーディングすることによりビデオ・シーケンスの改善された送信レートを可能にする。圧縮は、ビデオ・フレームの効率的な送信のためにこれから送信するために必要なデータの全体量を削減する。大部分のビデオ・コーディング規格は、例えば、圧縮なしで実現されるはずのバンド幅より狭いバンド幅でビデオ送信及び画像送信を容易にするように設計されたグラフィック圧縮技術及びビデオ圧縮技術を利用する。規格類は、一般的に、規格に準拠して圧縮された残差ブロック(residual block)を生成するために使用されるコーディング技術を述べるが、同様に、出力のビット・ストリームが規格に準拠する限り、他の技術が使用されることも可能にする。
MPEG規格類及びITU−T H.263とITU−T H.264規格のような、多くの規格類は、フレーム間圧縮を提供するために連続する複数のビデオ・フレーム間の類似性、一時的な相関又はフレーム間相関として呼ばれる、を利用するビデオ・コーディング技術をサポートする。フレーム間圧縮技術は、ビデオ・フレームの画素ベースの表示を動画表示に変換することにより複数のフレームにわたるデータ冗長性を活用する。その上に、複数のビデオ・コーディング技術は、空間相関又はフレーム内相関(intra-frame correlation)と呼ばれるフレーム内部の類似性を利用することができて、ビデオ・フレームをさらに圧縮する。
ビデオ・フレーム圧縮を実現するために、ディジタル・ビデオ装置は、一般的にディジタル・ビデオ・シーケンスを圧縮するためのエンコーダ、及びディジタル・ビデオ・シーケンスを逆圧縮するためのデコーダを含む。多くの場合に、エンコーダ及びデコーダは、ビデオ・シーケンスを規定するフレーム内の画素のブロック上で動作する統合された“CODEC”を形成する。本明細書中で使用されるように、用語“CODEC”は、エンコーダ、デコーダ又は統合されたエンコーダ/デコーダを呼ぶ。
MPEG−4規格では、CODECは、送信されようとしているビデオ・フレームを“マクロブロック”と呼ばれる複数のビデオ・ブロックに分割する。ITU−T H.264規格は、16×16ビデオ・ブロック、16×8ビデオ・ブロック、8×16ビデオ・ブロック、8×8ビデオ・ブロック、8×4ビデオ・ブロック、4×8ビデオ・ブロック、4×4ビデオ・ブロックをサポートする。その他の規格は、異なる大きさにされたビデオ・ブロックをサポートできる。ビデオ・フレーム中の各ビデオ・ブロックに対して、CODECは、1又はそれより多くの以前にエンコードされたビデオ・フレームの類似の大きさにされたビデオ・ブロックを検索して、“予測ブロック”と呼ばれる、類似のビデオ・ブロックを識別する。現在のビデオ・ブロックを他のフレームのビデオ・ブロックと比較する処理は、一般に動き推定(motion estimation)と呼ばれる。一旦“予測ブロック”が動き推定の間に現在のビデオ・ブロックに対して識別されると、CODECは、現在のビデオ・ブロックと予測ブロックとの間の差異をコード化することが可能である。
現在のビデオ・ブロックと予測ブロックとの間の差異をコーディングするこの処理は、動き圧縮と呼ばれる処理を含む。動き圧縮は、“残差(residual)”を生成することを包含する、残差は、コード化されようとしている現在のビデオ・ブロックと予測ブロックとの間の差異を表すデータのブロックである。特に、動き圧縮は、通常、動きベクトル(motion vector)を使用して予測ブロックを引き出し、そしてそれから残差を発生させるために入力ブロックから予測ブロックを引き算する動作を呼ぶ。残差は、一般的に元々のビデオ・ブロックより実質的に少ないデータを含み、差異ブロックにより表される。“内部(intra)”エンコーディングは、同様に“残差”を生成するが、エンコードされようとしているビデオ・ブロックと同じフレームの異なるビデオ・ブロックとの間の差異に基づかない。内部エンコーディングにおいて残差を生成する処理は、しばしば“内部予測”と呼ばれる。
いずれの場合においても、残差が生成された後で、一連の追加のステップが、残差をさらにコード化するために、及びデータをさらに圧縮するために同様に実行されることが可能である。これらの追加のステップは、使用されているコーディング規格に依存することがあるが、一般に“残差コーディング”と呼ばれる。MPEG−4に準拠するCODECにおいて、例えば、残差コーディングは、8×8離散型余弦変換、引き続くスカラ量子化、引き続くラスタからジズザグへの再配列、引き続くランレングス・エンコーディング、引き続くハフマン・エンコーディングを含むことができる。コード化された残差は、以前のフレーム(又は後続のフレーム)からのどのビデオ・ブロックがコーディングのために使用されたかを示す動きベクトルとともに送信されることが可能である。受信装置のCODECは、動きベクトル及びコード化された残差を受信し、そしてビデオ・シーケンスを再構成するために受信された情報をデコードする。
残差コーディング・ステップは、しばしばビデオ・コーディングにおいてボトルネックなる。これは、ビデオ電話方式(video telephony)(VT)アプリケーションおいて使用されるもののような、リアルタイム・ビデオに係わる問題になることがある。その上に、限られた演算上のリソース及び限られた電池電力は、VTアプリケーションのためのこれらの問題を複雑にする。あいにく、大部分の規格に対して、残差コーディング・ステップは、後続の処理が実行され前に前の処理が処理されることを必要とする連続した処理である。
[サマリー]
本明細書は、ベクトル量子化コーディングを使用する残差コーディング技術を記載し、ベクトル量子化コーディングはテンプレート・マッチングを頼りにする。本明細書中に記載された技術は、残差テンプレートをビデオ規格に準拠する事前に算出された圧縮された残差ブロックにマッピングする。例えば、残差テンプレートは、規格に準拠して圧縮された残差ブロックに直接マッピングされる、若しくは代わりに、残差テンプレートを表すベクトル量子化コード一覧表インデックスが規格に準拠して圧縮された残差ブロックにマッピングされることができる。どちらの場合でも、規格に準拠して圧縮された残差ブロックは、その後、規格に準拠する別の1つの装置に送信されることが可能である。本技術は、ビデオ・コーディング規格への準拠を維持したままで、より多くの並列処理を実行する能力のような、ベクトル量子化コーディングに関係する利点を活用することが可能である。
本明細書中に記載された技術は、残差テンプレートのセットに対する規格に準拠して圧縮された残差ブロックのセットを事前に算出することを含むことができる。コーディング装置は、残差テンプレートと規格に準拠して圧縮された残差ブロックのセットとの間のマッピングを記憶する。残差テンプレートは、変換された又は変換されていないテンプレートであり得る。記憶されたマッピングは、“コード一覧表”に具体的に表現されることができ、コード一覧表は、しかも、いずれかの冗長な残差テンプレート又は類似の残差テンプレートを削除することにより効率的に規定されることができる。残差コーディングを実行するために、コーディング装置は、テンプレート・マッチングを頼りにするベクトル量子化コーディングを利用することが可能であり、そしてベクトル量子化コーディングにおいて識別された最もぴったりと符合する残差テンプレートに関係する規格に準拠して圧縮された残差ブロックを識別するためにコード一覧表をアクセスすることが可能である。従来のベクトル量子化エンコーディング技術を用いてなされるように、残差テンプレートを識別するベクトル量子化コード一覧表インデックスを送信することよりはむしろ、規格に準拠して圧縮された残差ブロックは、その後送信されることが可能である。
1つの実施形態では、本明細書は、残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングする情報を記憶するメモリ、及び残差を残差テンプレートと比較し、残差に最もぴったりと符合する残差テンプレートの1つを識別し、かつ規格に準拠して圧縮された残差ブロックの対応する1つを選択する残差コーダを具備する、ビデオ・コーディング装置を提供する。
別の1つの実施形態では、本明細書は、残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングする情報を記憶すること、残差に最もぴったりと符合する残差テンプレートの1つを識別するために残差を残差テンプレートと比較すること、及び規格に準拠して圧縮された残差ブロックの対応する1つを選択することを具備する、ビデオ・コーディング方法を提供する。
別の1つの実施形態では、本明細書は、プロセッサにおいて実行する際に、残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングする記憶された情報をアクセスすること、残差に最もぴったりと符合する残差テンプレートの1つを識別するために残差を残差テンプレートと比較すること、及び規格に準拠するビット・ストリームの対応する1つを選択することをプロセッサにさせる命令を具備する、コンピュータ読み取り可能な媒体を提供する。
別の1つの実施形態では、本明細書は、ビデオ・エンコーディング装置においてベクトル量子化エンコーディング処理を制御するために当該媒体上に記憶されたデータ体系を具備するコンピュータ読み取り可能な媒体を提供し、ここにおいて、データ体系は、ベクトル量子化エンコーディング処理の残差テンプレートをビデオ・エンコーディング規格に準拠して圧縮された残差ブロックにマッピングする。
別の1つの実施形態では、本明細書は、残差テンプレートのセットを識別すること、規格に準拠して圧縮された残差ブロックのセットを発生するために残差テンプレートのセットに規格に準拠するコーディング処理を実行すること、及び残差テンプレートのセットを規格に準拠して圧縮された残差ブロックのセットにマッピングする情報を記憶すること、を具備する方法を提供する。
本明細書中に記載されたこれらの技術及びその他の技術は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせでビデオ・コーディング装置に与えられることができる。ソフトウェアにおいて与えられるのであれば、ソフトウェアは、命令をサポートするプログラム可能なプロセッサのような、プロセッサにおいて実行されることができる。一例として、命令は、単一命令複数データ(SIMD)命令であることができる。この場合には、本技術は、SIMDアーキテクチャを活用でき、残差コーディングの間に並列処理を可能にすることができる。本技術を実行するソフトウェアは、コンピュータ読み取り可能な媒体に初めに記憶され、そのような残差コーディングを実行するためにプロセッサにロードされ実行されることができる。
種々の実施形態のさらなる詳細は、添付された図面及び以下の明細書に説明される。その他の特徴、目的及び利点は、明細書及び図面から、並びに特許請求の範囲から明確になるであろう。
[詳細な説明]
本明細書は、ベクトル量子化コーディングを使用する残差(residual)コーディング技術を説明し、ベクトル量子化コーディングは、残差コーディング処理におけるテンプレート・マッチングを頼りにする。残差コーディングは、動き推定及び動き補償からの結果である“残差”、又は空間推定及び内部予測からの結果である“残差”のコーディングを呼ぶ。動き推定及び動き補償は、フレーム間圧縮を提供するために一時的なデータ相関又はフレーム間データ相関を活用する複数のビデオ・コーディング規格において使用される周知の技術である。エンコードされようとしている現在のビデオ・ブロックを別の1つフレームの種々の他のビデオ・ブロックと比較する処理は、一般に動き推定と呼ばれる。現在のビデオ・ブロックと予測ブロックとの間の差異をコーディングするこの処理は、動き補償と呼ばれる処理を含む。動き補償は、通常、動きベクトルを使用して予測ブロックを取り出し、次に入力ブロックから予測ブロックを引き算する動作を呼ぶ。動き補償の出力は、“残差”と呼ばれ、そして一般に、コード化されようとしている現在のビデオ・ブロックと動き推定により識別された予測ブロックとの間の差異を示すデータのブロックを具備する。空間推定技術及び内部予測技術は、同様に“残差”を生成し、フレーム内データ相関を活用するために使用される周知の技術を呼ぶ。
動き補償(又は内部予測)が残差を生成した後で、一連の追加のステップが、残差をさらにコード化し、そしてデータをさらに圧縮するために、同様に実行されることが可能である。実行される追加のステップは、使用されるコーディング規格に依存するが、一般に“残差コーディング”と呼ばれる。本明細書は、ベクトル量子化エンコーディング技術にしたがった残差エンコーディング技術を意図し、これは、エンコーディング処理を改善しかつ加速することができ、そして可能性として残差エンコーディングの間に使用される並列処理技術を可能にする。
残差ベクトル量子化コーディングにおいて、残差は、残差テンプレートと比較される。従来は、一旦、最も良く符合する残差テンプレートが識別されると、最も良く符合する残差テンプレートを識別するベクトル量子化コード一覧表インデックスが、送信される。ベクトル量子化コード一覧表インデックスは、コードワードと時々呼ばれる。しかしながら、本明細書にしたがって、規格に準拠するCODECに対して何の意味も持たないことがあるベクトル量子化コード一覧表インデックスを送信するよりはむしろ、残差テンプレートは、規格に準拠する事前に算出された圧縮された残差ブロックにマッピングされる。それから、規格に準拠して圧縮された残差ブロックは、送信されることが可能である。このようにして、本明細書中に説明された技術は、ビデオ・コーディング規格への準拠を維持したままで、並列処理を実行する能力のような、ベクトル量子化コーディングに関係する利点を活用できる。本明細書中で説明される技術は、変換された残差テンプレート又は変換されない残差テンプレートに関して適用されることができる。言い換えると、1又はそれより多くの残差エンコーディング・ステップは、テンプレート・マッチング技術に先立って適用されることができるが、いずれの場合でも、本明細書は、規格に準拠するような出力を可能にする。
本明細書の技術は、残差テンプレートのセットに関する規格に準拠して圧縮された残差ブロックのセットを事前に計算することを含むことができる。コーディング装置は、規格に準拠して圧縮された残差ブロックに対する残差テンプレートのマッピングを記憶する。マッピングは、コード一覧表を具備することができ、可能性として残差テンプレートを表現するためにベクトル量子化コード一覧表インデックスを使用することができる。残差コーディングを実行するために、コーディング装置は、テンプレート・マッチングを頼りにするベクトル量子化コーディングを利用することが可能であり、そしてベクトル量子化コーディングにおいて識別された最もぴったりと符合する残差テンプレートに関係する規格に準拠して圧縮された残差ブロックを識別するためにコード一覧表をアクセスすることが可能である。
図1は、具体例のビデオ・コーディング装置10を説明するブロック図である。ビデオ・コーディング装置10は、ビデオ・データをエンコーディングし、送信することができるディジタル・ビデオ装置の一部分を形成することができる。ビデオ・データは、ビデオ・カメラから取り込まれることができる、又はビデオ・アーカイブから取り出されることができる。コーディング装置10に取り込まれることができるディジタル・ビデオ装置の例は、ディジタル・テレビ、ディジタル直接放送システム、ワイアレス通信装置、パーソナル・ディジタル・アシスタント(personal digital assistant)(PDA)、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ディジタル・カメラ、ディジタル記録装置、セルラ電話機又は衛星無線電話機、若しくはビデオ電話方式(video telephony)(VT)能力を有する任意の電気通信装置を含む。装置10は、MPEG−4、ITU−T H.263、ITU−T H.264、又はフレーム間ビデオ・エンコーディングのための動き推定技術及び動き補償技術をサポートする別の1つのビデオ・エンコーディング規格に準拠することができる。
図1に示されたように、装置10は、ビデオ・シーケンスをエンコードするビデオ・エンコーディング装置12、およびエンコーディングの前又は後のビデオ・シーケンスを記憶するビデオ・メモリ4を含む。装置10は、しかも、エンコードされたシーケンスを別の1つの装置に送信する送信機6、及び可能性としてビデオ・シーケンスを取り込みメモリ4に取り込まれたシーケンスを記憶する、ビデオ・カメラのような、ビデオ取り込み装置8も含むことができる。装置10の種々の要素は、通信バス15を介して通信的に接続されることができる。フレーム内エンコーダ要素、種々のフィルタ、又はその他の要素のような、種々のその他の要素は、同様に、装置10に含まれることができるが、単純化のために具体的に図示されない。
ビデオ・メモリ4は、一般的に相対的に大きなメモリ空間を具備する。例えば、ビデオ・メモリ4は、ダイナミック・ランダム・アクセス・メモリ(DRAM)、又はFLASHメモリを具備できる。他の例では、ビデオ・メモリ4は、不揮発性メモリ又は任意の他のデータ記憶装置を具備できる。
ビデオ・エンコーディング装置12は、ハードウェア、ソフトウェア、ファームウェア、及び/又はプロセッサ又はディジタル・シグナル・プロセッサ(DSP)の組み合わせを含む、移動体無線電話機のための、いわゆる“チップ・セット”を具備することができる。ビデオ・エンコーディング装置12は、一般にローカル・メモリ14に接続されたビデオ・エンコーダ16を含む。ローカル・メモリ14は、ビデオ・メモリ4と比較してより小さなかつより早いメモリ空間を具備できる。例として、ローカル・メモリ14は、シンクロナス・ダイナミック・ランダム・アクセス・メモリ(SDRAM)を具備できる。ローカル・メモリ14は、ビデオ・エンコーディング装置12のその他の構成要素とともに集積された“搭載型”メモリを具備することができ、プロセッサに集中するエンコーディング処理の間にデータへの非常に早いアクセスを提供する。しかしながら、メモリ4及び14は、同一のメモリ部品に統合されることができる。ビデオ・エンコーダ16は、並列処理技術をサポートでき、これは、本明細書中に説明されるように残差エンコーディングの間に活用されることが可能である。
所与のビデオ・フレームのエンコーディングの間、エンコードされようとしている現在のビデオ・ブロックは、ビデオ・メモリ4からローカル・メモリ14にロードされることができる。予測ビデオ・ブロックの場所を決める際に使用される検索空間は、同様に、ビデオ・メモリ4からローカル・メモリ14にロードされることができる。検索空間は、1又はそれより多くの前のビデオ・フレーム(又は後続のフレーム)の画素の下位セットを具備できる。選択された下位セットは、エンコードされようとしている現在のビデオ・ブロックにぴったりと符合する予測ビデオ・ブロックの識別のために可能性の高い場所として事前に認識されることができる。
ローカル・メモリ14は、エンコードされようとしている現在のビデオ・ブロック及び検索空間とともにロードされ、フレーム間エンコーディングにおいて使用される1又はそれより多くのビデオ・フレームのいくつか又は全てを具備する。動き推定器/空間推定器13は、予測ビデオ・ブロックを識別するために検索空間中の種々のビデオ・ブロックと現在のビデオ・ブロックを比較する。動き推定器/空間推定器13は、一般に、フレーム間エンコーディングのための動き推定を実行する動き推定器、フレーム内エンコーディングのための空間推定を実行する空間推定器、又は動き推定及び空間推定のどちらかを実行することが可能な組み合わせユニットを意味する。一般に、予測ビデオ・ブロックは、フレーム間相関(又はフレーム内相関)の目的のために現在のビデオ・ブロックとの適切な符合を与えるために見出された候補ビデオ・ブロックであり、これは、最もぴたりと符合している候補ビデオ・ブロックである。予測ビデオ・ブロックは、動き推定処理の間に評価された複数の候補ビデオ・ブロックの1つであって、現在のビデオ・ブロックに対して相対的に最小の差異値を有するビデオ・ブロックを識別する。
エンコードされようとしている現在のビデオ・ブロックとメモリ14の検索空間中の候補ビデオ・ブロックとの間の比較を実行するために、動き推定器/空間推定器13は、絶対差異の和(sum of absolute difference)(SAD)技術、差異の二乗和(sum of squared difference)(SSD)技術、又はその他の比較技術を実行できる。このようにして、動き推定器/空間推定器13は、異なる候補ビデオ・ブロックに対する差異値を決定できる。より小さな差異値は、候補ビデオ・ブロックがより良く符合することを一般に示し、それゆえ、より大きな差異値を生じるその他の候補ビデオ・ブロックよりも動き推定エンコーディングにおける使用のためのより良い候補である。予測ビデオ・ブロックは、一旦ふさわしい符合が見出されると、識別されることができる。
一旦、予測ビデオ・ブロックがエンコードされようとしているビデオ・ブロックに対して動き推定器/空間推定器13によって識別されると、動き補償器/内部予測ユニット17は、残差を生成する。動き補償器/内部予測ユニット17は、フレーム間エンコーディングのための動き補償を実行する動き補償器、フレーム内エンコーディングのための空間補償を実行する内部予測ユニット、若しくはどちらのモードが使用されようとしているかに応じて動き補償及び内部予測のいずれかを実行することが可能な複合ユニットを意味する。再び、残差は、コード化されようとしている現在のビデオ・ブロックとコーディングに使用される予測ビデオ・ブロックとの間の差異を表すデータのブロックを具備する。特に、動き補償器/内部予測ユニット17は、動きベクトルを使用して予測ブロックを取り出し、それから入力ブロックから予測ブロックを引き算して残差を生成する。残差は、一般的に、元々のビデオ・ブロックより実質的に少ないデータを含み、差異ブロックにより表される。
動き補償器/内部予測ユニット17が残差を生成した後で、残差コーダ19は、本明細書中に説明されるように、残差にベクトル量子化エンコーディングを実行する。残差コーダ19は、一般に、自動照合を実行する非標準化ビデオ量子化コーダであり、規格に準拠して圧縮された残差ブロックを識別する。このようにして、残差コーダ19は、残差の非標準化ビデオ量子化エンコーディングの一部分として規格に準拠するビット・ストリームを識別することが可能である。例えば、残差コーダ19は、残差テンプレートのセットが動き補償器/内部予測ユニット17によって生成された残差に比較されるテンプレート・マッチング技術を呼び出すことができる。残差に最もぴったりと符合する残差テンプレートは、その後、エンコーディング処理において使用されることが可能である。テンプレート・マッチング処理に続いて、残差コーダ19は、選択されたテンプレートに対する規格に準拠して圧縮された残差ブロックを識別するためにコード一覧表18をアクセスする。ある複数の実施において、1又はそれより多くの変換は、テンプレート・マッチングに先立って実行されることができ、その場合には、テンプレート・マッチングに使用されるテンプレートは、変換されたテンプレートを具備することができる。いずれの場合でも、(変換された又は変換されていない)残差テンプレートは、コード一覧表18を使用して規格に準拠して圧縮された残差ブロックにマッピングされることが可能である。
本明細書にしたがって、ビデオ・エンコーディング装置10は、コード一覧表18を事前にロードされる、例えば、コード一覧表18は、(図示されたように)ローカル・メモリ14又は可能性としてビデオ・メモリ4中にロードされることができる。多くの場合には、例えば、全体のコード一覧表は、非常に大きいことがあり、ビデオ・メモリ4中に記憶されることがある。この場合には、コード一覧表18は、ビデオ・メモリ4中に記憶された完全なコード一覧表の一部分の記憶のためのキャッシュ・メモリであり得る。しかしながら、以下の説明における単純化のために、全体のコード一覧表がローカル・メモリ14中にコード一覧表18として記憶されると仮定される。いずれの場合でも、コード一覧表18は、残差テンプレートのセット(又は、テンプレート識別する値)を対応する規格に準拠して圧縮された残差ブロックのセットにマッピングする。規格に準拠して圧縮された残差ブロックは、ビデオ・トレーニング・シーケンスを使用してテンプレートのセットに対して事前に計算されることができる。しがたって、一旦、残差テンプレートの一つが残差コーダ19によって識別されると、コード一覧表18は、識別された残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングするためにアクセスされることが可能である。
コード一覧表18を生成するために、規格に準拠して圧縮された残差ブロックは、残差テンプレートのセットに対して事前に算出されることができる。コード一覧表18は、残差自身を圧縮された残差ブロックに直接マッピングすることにより、若しくは残差テンプレートを表現するためにベクトル量子化コード一覧表インデックスを使用することのどちらかによって、このマッピングを記憶する。コード一覧表18の事前算出は、サポートされている規格に準拠する残差テンプレートのそれぞれに対して実行された全ての残差エンコーディング・ステップを含むことができる。例えば、コード一覧表18の事前算出は、変換(例えば、DCT変換)、ジグ−ザグ・スキャニング、ラン・レングス・コーディング、可変長(ハフマン)コーディング、又は所与のコーディング規格において使用されるいずれかのその他の処理のような処理を含むことができる。1又はそれより多くのこれらの処理が残差のエンコーディングに先立って残差テンプレートに対して実行されるので、残差の実行時間エンコーディングは、加速されることが可能である。その上、テンプレート・マッチングを使用するベクトル量子化技術は、もし標準残差エンコーディング処理が残差に実行時間で実行されるのであれば不可能であるはずの並列処理技術を呼び出す。
図2は、本明細書の1実施形態にしたがった残差エンコーディング技術を説明する具体例のフロー図である。図2に示されたように、メモリ14は、残差テンプレートのセットを規格に準拠して圧縮された残差ブロックのセットにマッピングする情報を記憶する(21)。例えば、情報は、コード一覧表18を具備することができ、そして残差テンプレートと対応する圧縮された残差ブロックとの間の直接1対1マッピングを含むことができる、若しくは対応する圧縮された残差ブロックにマッピングされたベクトル量子化コード一覧表インデックスを具備することができる。ここにおいて、ベクトル量子化コード一覧表インデックスは、残差テンプレートを識別するコード・ワードである。圧縮された残差ブロックは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264のようなビデオ・コーディング規格、又は動き推定、動き補償及び残差エンコーディングを説明する別の1つのビデオ・コーディング規格に準拠するように事前に算出されることができる。
動き補償器/内部予測ユニット17により出力された各残差に対して、残差コーダ19は、残差をメモリ14中に記憶された残差テンプレートのセットに対して比較し、そして残差に最もぴったりと符合する残差テンプレートの1つを識別する(22)。例えば、テンプレート・マッチングは、SSD又はSAD技術を使用できる、若しくはエンコードされようとしている残差に対する残差テンプレートの比較を容易にするその他の比較技術を使用できる。再び、ある複数の場合には、残差テンプレートは、例えば、そこでは変換がテンプレート・マッチングに先立って実行されるインプリメンテーションのための、変換された残差テンプレートであることがある。いずれの場合でも、一旦、最もぴったり符合する残差テンプレートが識別されると、残差エンコーダ19は、コード一覧表18をアクセスして、対応する圧縮された残差ブロックを選択する(23)。この圧縮された残差ブロックは、識別された残差テンプレートに対して事前に算出される。このようにして、送信機6は、残差エンコーダ19がベクトル量子化エンコーディング処理を実行する場合でさえも、規格に準拠して圧縮された残差ブロックを送信できる。
再び、テンプレート・マッチングを使用するベクトル量子化技術は、もし標準残差エンコーディング技術が残差に実行時間において実行されるのであれば不可能なはずである並列処理技術を呼び出すことができる。例えば、残差エンコーダ19は、単一命令複数データ(single instruction multiple data)(SIMD)ソフトウェア命令を具備できる。SIMDソフトウェア命令は、並列処理をサポートするプロセッサ上で実行する。この場合には、テンプレート・マッチングは、並列方式で実行されることが可能である。残差エンコーダ19は、並列処理技術を使用して所与の残差を残差テンプレートのセットと比較できる若しくは複数のコード化されたビデオ・ブロックに関係する複数の残差を残差テンプレートのセットと比較できる。どちらの場合でも、ベクトル量子化エンコーディングは、エンコーディングを加速でき、しかも同様に本明細書中で説明されるように、結果として規格に準拠して圧縮された残差ブロック出力になる使用されようとしている並列処理技術を可能にする。
図3は、本明細書にしたがったコード一覧表を事前に算出するための具体例のアーキテクチャを説明するブロック図である。図3に示されたように、オフライン・コード一覧表発生ユニット30は、コード一覧表38を事前に算出する。コード一覧表38は、ビデオ・エンコーディング装置メモリ35中にロードされる。メモリ35は、装置10のローカル・メモリ14又はビデオ・メモリ4のどちらかに対応することができる、若しくは可能性として別のビデオ・コーディング装置において使用される別のタイプのメモリに対応することができる。コード一覧表38は、ルックアップ・テーブル(lookup table)(LUT)のようなデータ体系を備える。LUTは、残差テンプレートのセットを規格に準拠して圧縮された残差ブロックのセットにマッピングする。コード一覧表38は、残差テンプレートを記憶することができる、若しくは残差テンプレートを表すベクトル量子化コード一覧表インデックスを記憶することができる。後者の場合には、残差テンプレートは、テンプレート・マッチング処理における使用のために異なる場所に記憶されることがある。
コード一覧表発生ユニット30は、コード一覧表発生器33、テンプレート発生器31及び事前圧縮された残差発生器32を含み、これらは統合されることができる。一般に、オフライン・コード一覧表発生ユニット30は、1又はそれより多くのビデオ・トレーニング・シーケンスを使用して、コード一覧表38の記載事項(entry)を生成する。特に、コード一覧表発生器33は、従来のコード一覧表発生アルゴリズム、又はコード一覧表発生のための任意の技術を実行できる。テンプレート発生器31は、残差テンプレートのセットを発生することが可能である。一例では、テンプレート発生器31は、トレーニング・シーケンスからの入力残差に離散型余弦(DCT)変換及び正量子化を実行することにより、そしてそれから逆量子化及び逆DCT変換を実行することにより、残差テンプレートを発生する。より一般的に、テンプレート発生器31は、サポートされようとしているエンコーディング規格に基づいて残差に量子化及び/又は変換を実行する、そしてその後、残差に対する残差テンプレートを生成するために逆量子化及び/又は逆変換を実行する。
事前圧縮された残差発生器32は、量子化され変換された残差に残差エンコーディング・ステップを実行する。事前圧縮された残差発生器32によって実行される実際の残差エンコーディング・ステップは、サポートされようとしている規格により決定される。一例では、例えば、MPEG−4にしたがって、事前圧縮された残差発生器32は、ラスタからジグザグへの再配列、引き続いてラン−レングス・エンコーディング、引き続いてハフマン・エンコーディングを実行する。事前圧縮された残差発生器32の出力は、残差に対する規格に準拠して圧縮された残差ブロックである。そのようにして、トレーニング・シーケンスの所与の残差に対して、テンプレート発生器31は、残差テンプレートを発生し、そして事前圧縮された残差発生器32は、サポートされているビデオ・エンコーディング規格に準拠して対応する圧縮された残差ブロックを発生する。これらの出力は、その後、コード一覧表38に互いにマッピングされる。
コード一覧表発生器33は、しかも、重複したテンプレートの生成を回避するように、若しくはビデオ・メモリ35中に記憶される最終のコード一覧表38からいずれかの重複したテンプレートを削除するように設計される。再び、コード一覧表発生器33は、記載事項を規定でき、そしていずれかの公知のコード一覧表生成基準にしたがって、記載事項を可能性として削除できる。ある複数の場合には、コード一覧表発生器33は、コード一覧表38の記載事項を規定するためにエラー基準及び/又はエンコーディング品質因子を適用できる。このようにして、コード一覧表38の大きさは、著しく削減されることができ、それによってコード一覧表38を記憶するために必要とされる必要なメモリを削減する。その上に、コード一覧表38は、しかも、変換された残差テンプレートを規格に準拠する出力にマッピングするように規定されることができる。その場合には、エンコーディング処理は、テンプレート・マッチングに先立って変換を適用するはずである。どのようにしてコード一覧表が生成されるかに拘わらず、コード一覧表は、ビデオ・エンコーディング装置メモリ35に送信されることができ、ビデオ・エンコーディング装置メモリ35は、本明細書中で説明されるように、規格に準拠して圧縮された残差ブロック出力を用いてベクトル量子化残差エンコーディング技術を容易にするために実行時間においてアクセスされることが可能である。
図4は、残差コーディングの間に活用されることが可能なコード一覧表を事前に算出するための1つの具体例の技術を説明するフロー図である。図4に示されたように、テンプレート発生器31は、残差テンプレートのセットを識別する(41)。事前圧縮された残差発生器32は、規格に準拠したエンコーディング処理をテンプレートに実行して、規格に準拠して圧縮された残差ブロックのセットを生成する(42)。オフライン・コード一覧表発生ユニット30は、その後、残差テンプレートのセットと規格に準拠して圧縮された残差ブロックのセットとの間のマッピングを、例えば、ビデオ・エンコーディング装置メモリ35中にコード一覧表38として、記憶する(43)。このようにして、コード一覧表38は、事前に算出されることが可能であり、その結果、実効時間エンコーディングは、選択されたテンプレートに関係付けられた規格に準拠して圧縮された残差ブロックを識別するためにコード一覧表38をアクセスすることが可能である。
図5は、残差テンプレート及び対応する規格に準拠して圧縮された残差ブロックを事前に算出するための具体例のアーキテクチャ50を説明するより詳細なブロック図である。アーキテクチャ50は、テンプレート発生器31及び事前圧縮された残差発生器32の統合された実施形態、並びにコード一覧表発生器33に対応することがある。図5に示されたように、減算ユニット52は、トレーニング・セットから入力画像を受信する。画像の各ビデオ・ブロック(例えば、各“マクロブロック”)に対して、減算ユニット52は、ビデオ・ブロックから空間予測又は動き予測を引き算する。この意味で、減算ユニット52は、動き補償器の単純化された表現、又は内部予測ユニットの単純化された表現を意味する。減算ユニット52の出力は、残差を具備する。正変換ユニット54は、正DCT変換のような、残差への正変換を実行する。正量子化ユニット56は、それから、選択された量子化パラメータ(quantization parameter)(QP)を適用することにより変換された残差を量子化する。QPは、1又はそれより多くのエンコーディング・レート基準に基づいて選択される。
逆量子化ユニット58は、ユニット56の出力に逆量子化を実行し、そして逆変換ユニット60は、例えば、DCT変換を逆にして、逆変換を実行する。逆変換ユニット60の出力は、残差テンプレートの形式のコード一覧表記載事項を具備する。この意味で、残差テンプレートは、残差に非常に類似しているはずであるが、正量子化ステップ及び逆量子化ステップにおいて適用された量子化のレベルに応じてわずかに異なることがある。
逆変換ユニット60により出力された“コード一覧表記載事項”の中に表された残差テンプレートをマッピングするために、(正量子化ユニット56により出力された)残差の正変換された版又は正量子化された版は、同様にジグザグ・スキャン・ユニット62、ラン/レングス・エンコード・ユニット64及び可変長コード(variable length code)(VLC)ユニット66を通して送られる。ユニット62,64及び66は、一般にあるエンコーディング規格によって規定された一連の無損失残差エンコーディング・ユニットを表す。それゆえ、VLCユニット66の出力は、規格に準拠して圧縮された残差ブロックであり、例えば、これは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264、又は別の1つの規格のような規格に準拠することができる。標識“事前圧縮された残差ブロック”は、規格に準拠して圧縮された残差ブロックを意味する。逆量子化ユニット58により出力された“コード一覧表記載事項”は、VLCユニット66により出力された“事前圧縮された残差ブロック”にマッピングされることが可能である。この処理は、その後、トレーニング・セットの複数の画像に対して繰り返されることが可能であり、残差テンプレートのセットを規格に準拠して圧縮された残差ブロックのセットにマッピングするデータ体系(すなわち、コード一覧表)を生成する。同様に、複数のコード一覧表発生技術は、データ体系に実行されることができて、コード一覧表を記憶するために必要なメモリを削減するために重複したテンプレート又は類似のテンプレートを削除し、そしてベクトル量子化エンコーディング処理のために必要なテンプレート・マッチング演算の数を削減する。
図6は、本明細書にしたがった残差コーダの1つの実施形態を説明する具体例のブロック図である。具体的に、図6のアーキテクチャは、図1の構成要素に実質的に対応し、残差コーダ19、コード一覧表18、及び図1のメモリ14中に記憶された残差テンプレート・データベース(図示されず)を含む。図6のブロック図は、規格に準拠して圧縮された残差ブロックを出力するベクトル量子化テンプレート・マッチング技術を容易にするために実行時間において与えられることが可能な構成要素を図示する。
図6に示されたように、エンコードされようとしている入力ビデオ・ブロックは、減算ユニット82を介して予測ブロックから引き算されて、残差ブロックを生成する。隔たり演算ユニット84は、テンプレート・マッチングを実行して、残差の最もぴったりと符合する残差テンプレートを識別する。例えば、隔たり演算ユニット84は、例えば、メモリ中に記憶されることがある、残差テンプレート・データベース86をアクセスできる。残差テンプレート・データベース86は、コード一覧表において参照される全ての残差テンプレートの完全なデータベースである。隔たり演算ユニット84は、最善の符合を識別するために残差を残差テンプレートと比較するSSD技術またはSAD技術のような、比較を実行できる。隔たり演算ユニット84の出力、“最善符合インデックス”は、最善の符合を識別する。この点で、“最善符合インデックス”は、従来のベクトル量子化エンコーディングにおいて送信されるものに類似の、ベクトル量子化コード一覧表インデックス又はコードワードを具備する。しかしながら、そのような従来技術と異なって、図6のアーキテクチャは、“最善符合インデックス”を送信しない。その代わりに、“最善符合インデックス”は、コード一覧表ルックアップ(LUT)ユニット88によって適用される。
コード一覧表LUTユニット88は、コード一覧表90をアクセスする。コード一覧表は、事前に算出された規格に準拠して圧縮された残差ブロックへのベクトル量子化コード一覧表インデックス(すなわち、残差テンプレートに関するコードワード)のマッピングを記憶する。そのようにして、コード一覧表LUTユニット88は、“最善符合インデックス”にマッピングする規格に準拠して圧縮された残差ブロックの対応する1つを識別する。選択された規格に準拠して圧縮された残差ブロックは、図6に“事前圧縮された残差ブロック”として標識を付けられ、そしてマルチプレクサ92に転送される。マルチプレクサ92は、“事前圧縮された残差ブロック”を非残差ビット・ストリーム構成要素、例えば、残差に関係する動きベクトル及びサポートされている規格によって規定されることができる各種のヘッダ値、と統合する。ビット・ストリーム連結ユニット94は、同様に、例えば、サポートされている規格に準拠して、事前圧縮されたビデオ・ブロックを非残差ビット・ストリーム構成要素と結びつけるために使用されることができる。規格に準拠する“出力ビット・ストリーム”は、その後、同様に規格に準拠するCODECを含む別の装置に送信されることが可能である。
隔たり演算ユニット84により識別された最善符合の残差テンプレートは、同様に加算器96に転送されることが可能である。加算器96は、例えば、次の画像の動き推定における使用のために、画像を再現するために予測ビデオ・ブロックを加算して戻す。後フィルタ98は、同様に、例えば、再現された画像に逆ブロック・フィルタリング(de-block filtering)のような1又はそれより多くの後フィルタリング技術を実行するために呼び出されることができる。再現された画像は、圧縮後の入力画像のデコードされた版である。入力画像及び再現された画像は、例えば、いわゆる“マクロブロック”のようなビデオ・フレームの下位部分を具備することがある。
複数の実施形態が、説明されてきている。例えば、ベクトル量子化テンプレート・マッチングを使用するが、規格に準拠して圧縮された残差ブロックに帰結する残差コーディング技術が、説明されてきている。いくつかの具体例の規格が説明されてきているが、複数の技術は、残差コーディング処理を含む任意のビデオ・コーディング規格について適用されることができる。複数の技術は、変換されていない残差のテンプレート・マッチングの文脈において主に説明されてきている。しかしながら、説明された技術は、変換された残差に対して同等に適用可能であり、その場合には、変換は、本明細書中で説明されたテンプレート・マッチング技術に先立ってエンコーディング処理の中で実行されるはずである。“残差”は、変換された残差ブロック又は変換されていない残差ブロックを一般に呼ぶ。
本明細書中で説明された技術は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせにおいて実施されることができる。もし、ソフトウェアにおいて実施されるのであれば、技術は、ビデオ・シーケンスをコード化する装置において実行される場合に、本明細書中で説明された1又はそれより多くの残差コーディング技術を実行するプログラム・コードを具備するコンピュータ読み取り可能な媒体に向けられることができる。その場合には、コンピュータ読み取り可能な媒体は、シンクロナス・ランダム・アクセス・メモリ(synchronous random access memory)(SRAM)のようなランダム・アクセス・メモリ(random access memory)(RAM)、リード・オンリ・メモリ(read-only memory)(ROM)、不揮発性ランダム・アクセス・メモリ(non-volatile random access memory)(NVRAM)、電気的消去可能プログラム可能なリード・オンリ・メモリ(electrically erasable programmable read-only memory)(EEPROM)、FLASHメモリ、その他を具備できる。
プログラム・コードは、コンピュータ読み取り可能な命令の形式でメモリ中に記憶されることができる。その場合には、DSPのような1又はそれより多くのプロセッサは、1又はそれより多くの残差コーディング技術を実行するためにメモリ中に記憶された命令を実行できる。ある場合には、技術は、コーディング処理を加速するために種々のハードウェア構成要素を呼び出すDSPによって実行されることができる。その他の場合には、本明細書中で説明されたCODECは、1以上のマイクロプロセッサ、1以上の用途特定集積回路(application specific integrated circuit)、1以上のフィールド・プログラマブル・ゲート・アレイ(field programmable gate array)(FPGA)、若しくはその他の同等な集積論理回路又は単体論理回路あるいはハードウェア−ソフトウェアの組み合わせとして与えられることができる。これらの実施形態及びその他の実施形態は、特許請求の範囲内である。
図1は、本明細書中で説明される1又はそれより多くの残差コーディング技術を実施できるビデオ・コーディング装置の具体例のブロック図である。 図2は、本明細書にしたがった残差コーディング技術の1実施形態を説明するフロー図である。 図3は、本明細書にしたがったコード一覧表を事前に計算するための具体例の構造を説明するブロック図である。 図4は、残差コーディングの間に活用されることができるコード一覧表を事前に計算するための具体例の技術を説明するフロー図である。 図5は、残差テンプレートを事前に計算するための具体例の構造及び対応する規格に準拠して圧縮された残差ブロックを説明するブロック図である。 図6は、本明細書にしたがった残差コーダの1実施形態を説明する具体例のブロック図である。
符号の説明
10…ビデオ・コーディング装置,15…通信バス,52…減算ユニット,82…減算ユニット,92…マルチプレクサ,96…加算器。

Claims (34)

  1. 残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングする情報を記憶するメモリ;及び
    残差を残差テンプレートと比較し、残差に最もぴったりと符合する残差テンプレートの1つを識別し、かつ規格に準拠して圧縮された残差ブロックの対応する1つを選択する残差コーダ
    を具備するビデオ・コーディング装置。
  2. 残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングする情報は、規格に準拠するビット・ストリームにマッピングされたベクトル量子化コード一覧表インデックスのセットを具備する、ここにおいて、ベクトル量子化コード一覧表インデックスは、残差を表すコードワードを具備する、請求項1のビデオ・エンコーディング装置。
  3. 残差を発生するために動き推定を実行する動き推定器及び動き補償を実行する動き補償器をさらに具備する、請求項1のビデオ・コーディング装置。
  4. 規格に準拠して圧縮された残差ブロックは、次の規格:MPEG−2、MPEG−4、ITU−T H.263及びITU−T H.264、の1つに準拠する、請求項1のビデオ・コーディング装置。
  5. 情報は、規格に準拠するコーディング処理を残差テンプレートに実行することにより事前に算出されるコード一覧表を具備する、請求項1のビデオ・コーディング装置。
  6. 残差コーダは、並列処理技術を使用して残差を残差テンプレートと比較する、請求項1のビデオ・コーディング装置。
  7. 残差コーダは、複数のコード化されたビデオ・ブロックに関係する複数の残差を残差テンプレートと比較する及び対応する複数の規格に準拠するビット・ストリームを選択する、請求項1のビデオ・コーディング装置。
  8. 残差コーダは、並列処理技術を使用して複数の残差を残差テンプレートと比較する、請求項7のビデオ・コーディング装置。
  9. 残差コーダは、単一命令複数データ(SIMD)命令をサポートするプロセッサを具備する、ここにおいて、メモリは、残差を残差テンプレートと比較することと、残差に最もぴったりと符合する残差テンプレートの1つを識別すること、及び規格に準拠して圧縮された残差ブロックの対応する1つを選択すること、をプロセッサにさせるSIMD命令を記憶する、請求項1のビデオ・コーディング装置。
  10. 残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングする情報を記憶すること;
    残差に最もぴったりと符合する残差テンプレートの1つを識別するために残差を残差テンプレートと比較すること;及び
    規格に準拠して圧縮された残差ブロックの対応する1つを選択すること
    を具備するビデオ・コーディング方法。
  11. 残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングする情報は、規格に準拠するビット・ストリームにマッピングされたベクトル量子化コード一覧表インデックスを具備する、ここにおいて、ベクトル量子化コード一覧表インデックスは、残差を表すコードワードを具備する、請求項10のビデオ・コーディング方法。
  12. 動き推定及び動き補償を介して残差を発生することをさらに具備する、請求項10のビデオ・コーディング方法。
  13. 規格に準拠して圧縮された残差ブロックは、次の規格:MPEG−2、MPEG−4、ITU−T H.263及びITU−T H.264、の1つに準拠する、請求項10のビデオ・コーディング方法。
  14. 情報は、コード一覧表を具備し、当該方法は、残差テンプレートに規格に準拠するコーディング処理を実行することによりコード一覧表を事前に算出することをさらに具備する、請求項10のビデオ・コーディング方法。
  15. 並列処理技術を使用して残差を残差テンプレートと比較することをさらに具備する、請求項10のビデオ・コーディング方法。
  16. 複数のコード化されたビデオ・ブロックに関係する複数の残差を残差テンプレートと比較すること及び対応する複数の規格に準拠するビット・ストリームを選択することをさらに具備する、請求項10のビデオ・コーディング方法。
  17. 並列処理技術を使用して複数の残差を残差テンプレートと比較することをさらに具備する、請求項16のビデオ・コーディング方法。
  18. プロセッサにおいて実行する際に、プロセッサにおいて:
    残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングする記憶された情報をアクセスすること;
    残差に最もぴったりと符合する残差テンプレートの1つを識別するために、残差を残差テンプレートと比較すること;及び
    規格に準拠するビット・ストリームの対応する1つを選択すること
    をさせる命令を具備する、コンピュータ読み取り可能な媒体。
  19. 残差テンプレートを規格に準拠して圧縮された残差ブロックにマッピングする情報は、規格に準拠するビット・ストリームにマッピングされたベクトル量子化コード一覧表インデックスを具備する、ここにおいて、ベクトル量子化コード一覧表インデックスは、残差を表すコードワードを具備する、請求項18のコンピュータ読み取り可能な媒体。
  20. 規格に準拠して圧縮された残差ブロックは、次の規格:MPEG−2、MPEG−4、ITU−T H.263及びITU−T H.264、の1つに準拠する、請求項18のコンピュータ読み取り可能な媒体。
  21. 情報は、規格に準拠するコーディング処理を残差テンプレートに実行することにより事前に算出されるコード一覧表を具備する、請求項18のコンピュータ読み取り可能な媒体。
  22. 命令は、プロセッサに、並列処理技術を使用して残差を残差テンプレートと比較することをさせる、請求項18のコンピュータ読み取り可能な媒体。
  23. 命令は、プロセッサに、複数のコード化されたビデオ・ブロックに関係する複数の残差を残差テンプレートと比較すること及び対応する複数の規格に準拠するビット・ストリームを選択することをさせる、請求項18のコンピュータ読み取り可能な媒体。
  24. 命令は、プロセッサに、並列処理技術を使用して複数の残差を残差テンプレートと比較させる、請求項23のコンピュータ読み取り可能な媒体。
  25. 命令は、単一命令複数データ(SIMD)命令を具備する、請求項18のコンピュータ読み取り可能な媒体。
  26. ビデオ・エンコーディング装置においてベクトル量子化エンコーディング処理を制御するために当該媒体上に記憶されたデータ体系を具備するコンピュータ読み取り可能な媒体であって、ここにおいて、データ体系は、ベクトル量子化エンコーディング処理の残差テンプレートをビデオ・エンコーディング規格に準拠して圧縮された残差ブロックにマッピングする。
  27. データ体系は、規格に準拠するビット・ストリームにマッピングされたベクトル量子化コード一覧表インデックスを具備する、ここにおいて、ベクトル量子化コード一覧表インデックスは、残差を表すコードワードを具備する、請求項26のコンピュータ読み取り可能な媒体。
  28. 規格に準拠して圧縮された残差ブロックは、次の規格:MPEG−2、MPEG−4、ITU−T H.263及びITU−T H.264、の1つに準拠する、請求項26のコンピュータ読み取り可能な媒体。
  29. 情報は、残差テンプレートのセットに規格に準拠するコーディング処理を実行することにより事前に算出されるコード一覧表を具備する、請求項26のコンピュータ読み取り可能な媒体。
  30. 残差テンプレートのセットを識別すること;
    規格に準拠して圧縮された残差ブロックのセットを発生するために残差テンプレートのセットに規格に準拠するコーディング処理を実行すること;及び
    残差テンプレートのセットを規格に準拠して圧縮された残差ブロックのセットにマッピングする情報を記憶すること
    を具備する方法。
  31. 情報は、規格に準拠するビット・ストリームのセットにマッピングされたベクトル量子化コード一覧表インデックスのセットを具備する、ここにおいて、ベクトル量子化コード一覧表インデックスのセットは、残差のセットを表すコードワードを具備する、請求項30の方法。
  32. 規格に準拠して圧縮された残差ブロックは、次の規格:MPEG−2、MPEG−4、ITU−T H.263及びITU−T H.264、の1つに準拠する、請求項30の方法。
  33. 残差テンプレートのセットを規格に準拠して圧縮された残差ブロックのセットにマッピングする情報は、コード一覧表を具備する、請求項30の方法。
  34. 残差に最もぴったりと符合する残差テンプレートの1つを識別するために、少なくとも複数の残差テンプレートのセットと該残差を比較すること;及び
    コード一覧表から規格に準拠するビット・ストリームの対応する1つを選択すること
    によりビデオ・エンコーディング装置において残差コーディング処理を実行することをさらに具備する、請求項30の方法。
JP2006001328A 2005-01-06 2006-01-06 非標準化ビデオ量子化コーダを使用するビデオ規格に準拠した残差コーディング Expired - Fee Related JP5101818B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US64202305P 2005-01-06 2005-01-06
US60/642,023 2005-01-06
US11/271,218 2005-11-10
US11/271,218 US7804901B2 (en) 2005-01-06 2005-11-10 Residual coding in compliance with a video standard using non-standardized vector quantization coder

Publications (3)

Publication Number Publication Date
JP2006191642A true JP2006191642A (ja) 2006-07-20
JP2006191642A5 JP2006191642A5 (ja) 2012-09-06
JP5101818B2 JP5101818B2 (ja) 2012-12-19

Family

ID=36283803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006001328A Expired - Fee Related JP5101818B2 (ja) 2005-01-06 2006-01-06 非標準化ビデオ量子化コーダを使用するビデオ規格に準拠した残差コーディング

Country Status (4)

Country Link
EP (1) EP1679902A3 (ja)
JP (1) JP5101818B2 (ja)
KR (2) KR101396632B1 (ja)
CN (1) CN1848960B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4510069B2 (ja) * 2007-12-10 2010-07-21 シャープ株式会社 画像処理装置、画像表示装置、画像形成装置、画像処理方法、コンピュータプログラム及び記憶媒体
US8228990B2 (en) 2008-01-16 2012-07-24 Sony Corporation Template matching scheme using multiple predictors as candidates for intra-prediction
FR3033114A1 (fr) * 2015-02-19 2016-08-26 Orange Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CN113873244B (zh) * 2020-06-30 2023-10-20 华为技术有限公司 一种系数编解码方法和系数编解码装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02174388A (ja) * 1988-12-26 1990-07-05 Graphics Commun Technol:Kk 画像符号化装置
JPH07288474A (ja) * 1994-04-20 1995-10-31 Matsushita Electric Ind Co Ltd ベクトル量子化符号化装置と復号化装置
JPH09163405A (ja) * 1995-08-25 1997-06-20 Lucent Technol Inc カラービデオ符号器におけるクロミナンス情報の符号化方法と装置
JP2000163384A (ja) * 1998-11-25 2000-06-16 Hitachi Ltd 半導体装置
JP2001169291A (ja) * 1999-09-27 2001-06-22 Tadahiro Omi データ圧縮装置、データ圧縮方法及び記憶媒体
JP2004260282A (ja) * 2003-02-24 2004-09-16 Hokuto System Kk ベクトル量子化処理におけるコードブックの作成方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329313A (en) * 1992-04-01 1994-07-12 Intel Corporation Method and apparatus for real time compression and decompression of a digital motion video signal using a fixed Huffman table
US6192081B1 (en) * 1995-10-26 2001-02-20 Sarnoff Corporation Apparatus and method for selecting a coding mode in a block-based coding system
KR100239307B1 (ko) 1997-01-10 2000-01-15 전주범 윤곽선 영상 부호화기
KR100259471B1 (ko) 1997-06-25 2000-06-15 전주범 개선된형태부호화장치및방법
US6157328A (en) * 1998-10-22 2000-12-05 Sony Corporation Method and apparatus for designing a codebook for error resilient data transmission
KR100644570B1 (ko) * 1999-10-01 2006-11-13 삼성전자주식회사 영상부호화기의 비트레이트 제어방법 및 장치, 그리고 이에 적합한 부호화방법
US7003039B2 (en) * 2001-07-18 2006-02-21 Avideh Zakhor Dictionary generation method for video and image compression
CN1458646A (zh) * 2003-04-21 2003-11-26 北京阜国数字技术有限公司 一种滤波参数矢量量化和结合量化模型预测的音频编码方法
KR100718121B1 (ko) * 2003-05-16 2007-05-15 삼성전자주식회사 영상의 레지듀 예측을 이용한 영상 부호화/복호화 방법 및장치
CN1212014C (zh) * 2003-08-18 2005-07-20 北京工业大学 基于时空域相关性快速运动估计的视频编码方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02174388A (ja) * 1988-12-26 1990-07-05 Graphics Commun Technol:Kk 画像符号化装置
JPH07288474A (ja) * 1994-04-20 1995-10-31 Matsushita Electric Ind Co Ltd ベクトル量子化符号化装置と復号化装置
JPH09163405A (ja) * 1995-08-25 1997-06-20 Lucent Technol Inc カラービデオ符号器におけるクロミナンス情報の符号化方法と装置
JP2000163384A (ja) * 1998-11-25 2000-06-16 Hitachi Ltd 半導体装置
JP2001169291A (ja) * 1999-09-27 2001-06-22 Tadahiro Omi データ圧縮装置、データ圧縮方法及び記憶媒体
JP2004260282A (ja) * 2003-02-24 2004-09-16 Hokuto System Kk ベクトル量子化処理におけるコードブックの作成方法

Also Published As

Publication number Publication date
KR20060093016A (ko) 2006-08-23
CN1848960A (zh) 2006-10-18
JP5101818B2 (ja) 2012-12-19
EP1679902A3 (en) 2012-04-25
KR20130006578A (ko) 2013-01-17
CN1848960B (zh) 2011-02-09
KR101396632B1 (ko) 2014-05-16
EP1679902A2 (en) 2006-07-12

Similar Documents

Publication Publication Date Title
US9332270B2 (en) Apparatus capable of performing both block-matching motion compensation and global motion compensation and method thereof
EP1059812A2 (en) Methods and apparatus for context-based inter/intra coding mode selection
JP6049017B2 (ja) メモリ要求低減ビデオ送信システム
KR101356207B1 (ko) 데이터 인코딩/디코딩 방법 및 장치
JP2005507587A (ja) 空間的にスケーラブルな圧縮
JP2008543183A (ja) 複数の映像規格に従った映像符号化の際のブロックノイズ除去フィルタリング技術
US20120008686A1 (en) Motion compensation using vector quantized interpolation filters
US8781004B1 (en) System and method for encoding video using variable loop filter
WO2007081104A1 (en) Adaptive motion estimation/compensation device for mb-based illumination change and method thereof
US20120082217A1 (en) Motion compensation using decoder-defined vector quantized interpolation filters
KR20070028404A (ko) 픽처를 저장하는 방법, 비디오 복호기, 비디오 부호기,휴대 장치 및 컴퓨터 프로그램 제품
TWI468018B (zh) 使用向量量化解區塊過濾器之視訊編碼
US20050265444A1 (en) Moving image encoding/decoding apparatus and method
EP3104615B1 (en) Moving image encoding device and moving image encoding method
KR101375667B1 (ko) 영상의 부호화, 복호화 방법 및 장치
US7804901B2 (en) Residual coding in compliance with a video standard using non-standardized vector quantization coder
JP5101818B2 (ja) 非標準化ビデオ量子化コーダを使用するビデオ規格に準拠した残差コーディング
JP4686280B2 (ja) 動画像符号化装置
JP2006191642A5 (ja)
CN112313950B (zh) 视频图像分量的预测方法、装置及计算机存储介质
US20200382767A1 (en) Motion compensation reference frame compression
KR100530566B1 (ko) 적응적 변환방법을 이용하는 영상압축 부호화 및 복호화 장치및 그 방법
KR0130167B1 (ko) 동영상 압축 부호화 장치
CN113840144A (zh) 图像分量的预测方法、编码器、解码器及计算机存储介质
KR20040036224A (ko) 프레임 특성을 이용한 압축형식 변환방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111213

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111216

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120213

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20120213

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120706

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20120706

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120717

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120927

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees