JP2006129436A - ビデオ・エンコーディングのための非整数ピクセルの共用 - Google Patents

ビデオ・エンコーディングのための非整数ピクセルの共用 Download PDF

Info

Publication number
JP2006129436A
JP2006129436A JP2005154612A JP2005154612A JP2006129436A JP 2006129436 A JP2006129436 A JP 2006129436A JP 2005154612 A JP2005154612 A JP 2005154612A JP 2005154612 A JP2005154612 A JP 2005154612A JP 2006129436 A JP2006129436 A JP 2006129436A
Authority
JP
Japan
Prior art keywords
video
pixel values
integer pixel
estimation
correction
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.)
Pending
Application number
JP2005154612A
Other languages
English (en)
Inventor
Stephen Molloy
スティーブン・モーロイ
Ling Feng Huang
リン・フェン・ヒュアン
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 JP2006129436A publication Critical patent/JP2006129436A/ja
Pending legal-status Critical Current

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/423Methods 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 characterised by memory arrangements
    • 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/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/43Hardware specially adapted for motion estimation or compensation
    • 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
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Abstract

【課題】ビデオ・エンコーディングのための非整数ピクセルの共用。
【解決手段】本明細書は、ビデオ・エンコーディング技術及びそのような技術を実行するビデオ・エンコーディング装置を説明する。1実施形態では、本明細書は、映像推定のために非整数ピクセル値を発生する映像推定器、少なくとも3個の整数ピクセル値の入力を受信するフィルタを含む映像推定器、を具備するビデオ・エンコーディング装置を説明する。ビデオ・エンコーディング装置は、しかも、映像推定器によって発生された非整数ピクセル値を記憶するメモリ、及び映像補正のために記憶された非整数ピクセル値を使用する映像補正器、も含む。
【選択図】図1

Description

本明細書は、ディジタル・ビデオ処理に係り、特に、ビデオ・シーケンスのエンコーディングに関する。
ディジタル・ビデオ能力は、ディジタル・テレビ、ディジタル直接同報通信システム、ワイアレス通信装置、パーソナル・ディジタル・アシスタンツ(personal digital assistants)(PDA)、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ディジタル・カメラ、ディジタル記録装置、セルラ又は衛星無線電話機、及びその他を含む広範囲の装置に組み込まれることができる。ディジタル・ビデオ装置は、完全動画ビデオ・シーケンスを作成すること、修正すること、送信すること、記憶すること、及び上演することにおいて、従来のアナログ・ビデオ・システムに対して、著しい改善を提供できる。
多数の異なったビデオ・エンコーディング標準が、ディジタル・ビデオ・シーケンスをエンコーディングするために確立されてきている。例えば、ムービング・ピクチャ・エキスパート・グループ(Moving Picture Expert Group)(MPEG)は、MPEG−1、MPEG−2及びMPEG−4を含む多数の標準を開発している。その他の標準は、国際電気通信組合(International Telecommunication Union)(ITU)H.263標準、カルフォルニア州クーパティーノのアップル・コンピュータ社によって開発されたクイックタイム(QuickTimeTM)技術、ワシントン州レッドモンドのマイクロソフト社によって開発されたウィンドウズ(登録商標)(Windows(登録商標)TM)のためのビデオ、インテル社によって開発されたインデオ(IndeoTM)、ワシントン州シアトルのリアルネットワーク社からのリアルビデオ(RealVideoTM)、及びスーパーマック社によって開発されたシネパック(CinepakTM)を含む。ITU H.264標準及び専用の標準(propriety standards)を含む、新しい標準が、出現し続け、発展し続けている。
多くのビデオ・エンコーディング標準は、データを圧縮された方式でエンコーディングすることによってビデオ・シーケンスの向上した送信レートを可能にする。圧縮は、ビデオ・フレームの効率的な送信のために送信されることが必要なデータの全体量を削減できる。大多数のビデオ・エンコーディング標準は、例えば、圧縮しないで実現されることができるバンド幅よりも狭いバンド幅を介してビデオ及び画像送信を容易にするために設計されたグラフィックス圧縮技術及びビデオ圧縮技術を利用する。
MPEG標準及びITU H.263とITU H.264標準は、例えば、フレーム間圧縮を提供するために、一時的な相関又はフレーム間相関(inter-frame correlation)として呼ばれる、連続したビデオ・フレーム間の類似性を利用するビデオ・エンコーディング技術をサポートする。フレーム間圧縮技術は、ビデオ・フレームのピクセル−ベースの表示を映像表示に変換することによって複数のフレームにわたるデータの冗長性を利用する。さらに、ある種のビデオ・エンコーディング技術は、ビデオ・フレームをさらに圧縮するために、空間相関又はフレーム内相関(intra-frame correlation)として呼ばれる、フレーム内の類似性を利用できる。
圧縮をサポートするために、ディジタル・ビデオ装置は、一般的にディジタル・ビデオ・シーケンスを圧縮するためのエンコーダ、及びディジタル・ビデオ・シーケンスを復元する(decompress)ためのデコーダを含む。多くの場合に、エンコーダ及びデコーダは、統合されたエンコーダ/デコーダ(CODEC)を形成する。CODECは、ビデオ画像のシーケンスを規定するフレーム内のピクセルのブロックを取り扱う。MPEG−4標準において、例えば、エンコーダは、一般的に、送信されようとしているビデオ・フレームを、16×16ピクセル配列を具備する“マクロブロック”に分割する。ITU H.264標準は、16×16ビデオ・ブロック、16×8ビデオ・ブロック、8×16ビデオ・ブロック、8×8ビデオ・ブロック、8×4ビデオ・ブロック、4×8ビデオ・ブロック及び4×4ビデオ・ブロックをサポートする。
ビデオ・フレーム中の各ビデオ・ブロックに対して、エンコーダは、1又はそれより多くの直前のビデオ・フレーム(又は後続のフレーム)の同様の大きさにされたビデオ・ブロックを検索して、“最善予測(best prediction)”と呼ばれる、最も似ているビデオ・ブロックを同定する。現在のビデオ・ブロックをその他のフレームのビデオ・ブロックと比較するプロセスは、映像推定(motion estimation)として一般に呼ばれる。一旦“最善予測”がビデオ・ブロックに対して同定されると、エンコーダは、現在のビデオ・ブロックと最善予測との間の差異をエンコードできる。現在のビデオ・ブロックと最善予測との間の差異をエンコーディングするこのプロセスは、映像補正(motion compensation)として呼ばれるプロセスを含む。映像補正は、エンコードされようとしている現在のビデオ・ブロックと最善予測との間の差異を示す、差異ブロックを生成するプロセスを具備する。映像補正は、通常、映像ベクトルを使用して最善予測ブロックを引き出し、それから差異ブロック発生するために入力ブロックから最善予測を差し引く行為を呼ぶ。
映像補正が差異ブロックを生成した後で、一連の追加のエンコーディング・ステップが、一般に、差異ブロックをエンコードするために実行される。これらの追加のエンコーディング・ステップは、使用されようとしているエンコーディング標準に依存することがある。MPEG4準拠エンコーダにおいて、例えば、追加のエンコーディング・ステップは、8×8離散コサイン変換、引き続いてスカラ・イコライゼーション、引き続いてラスタ−ジグザグ再配列、引き続いてラン長エンコーディング、引き続いてハフマン・エンコーディングを含むことができる。
エンコードされた差異ブロックは、映像ベクトルとともに送信されることができる。映像ベクトルは、前のフレームからのどのビデオ・ブロックがエンコーディングのために使用されたかを示す。エンコーダは、映像ベクトル及びエンコードされた差異ブロックを受信し、ビデオ・シーケンスを再構成するために受信された情報をデコードする。
複数の標準において、1/2ピクセル値も、映像推定及び映像補正の間に発生される。MPEG4では、例えば、1/2ピクセル値は、2個の隣接するピクセル間の平均ピクセル値として発生される。1/2ピクセルは、候補ビデオ・ブロックにおいて使用され、映像推定の間に同定された最善予測の一部分を形成できる。2−タップ・フィルタが、映像推定及び映像補正プロセスにおいて必要であるので、比較的単純な2−タップ・フィルタは、1/2ピクセル値を発生するために使用されることができる。非整数ピクセル値の発生は、フレーム間相関の分解能を改善できるが、一般にエンコーディング及びデコーディング・プロセスを複雑にする。
[サマリー]
本明細書は、ビデオ・エンコーディング技術及びそのような技術を実施するビデオ・エンコーディング装置を説明する。説明されたビデオ・エンコーディング技術は、映像推定及び映像補正において非整数ピクセル値を容認する広範な各種のエンコーディング標準に対して有用である可能性がある。特に、ITU H.264標準のようなビデオ・エンコーディング標準は、ここに説明された技術から具体的に利益を受けることができる。ITU H.264標準は、映像推定及び映像補正において1/2ピクセル値及び1/4ピクセル値を使用する。より一般的に、所定の方向、例えば、垂直又は水平、の非整数ピクセル値の発生において3−タップ・フィルタ又はそれより大きなフィルタを指定するいずれかの標準は、ここに説明された技術から利益を受けることができる。その技術は、処理オーバーヘッドが装置サイズ及び電池消耗に著しく影響することがある携帯装置に対して特に有用である。
1実施形態では、本明細書は、映像推定のために非整数ピクセル値を発生する映像推定器を具備するビデオ・エンコーディング装置を説明する。映像推定器は、少なくとも3個の整数ピクセル値の入力を受信するフィルタを含む。装置は、しかも、映像推定器によって発生された非整数ピクセル値を記憶するメモリ、及び映像補正のために記憶された非整数ピクセル値を使用する映像補正器を含む。ITU H.264標準に準拠させるために、例えば、映像推定器は、6−タップ・フィルタを使用して1/2ピクセル値を発生でき、そして映像推定及び映像補正の両者における使用のために1/2ピクセル値を記憶する。映像推定器は、しかも、2−タップ・フィルタを使用して1/4ピクセル値を発生でき、そして、映像補正のために1/4ピクセル値を記憶することなく、映像推定に1/4ピクセル値を使用する。その場合には、映像補正器は、映像推定器によって発生され記憶されている1/2ピクセル値を使用するが、他の1個の2−タップ・フィルタを使用して1/4ピクセル値を再発生する。ある場合には、別々のフィルタが、水平及び垂直補間の両者のために実施されるが、任意の大きな(3タップ又はより大きな)フィルタの出力が、映像推定及び映像補正のために再使用される。その他の場合には、同一の大きなフィルタが、水平及び垂直補間の両者に対して使用されることができる。これらの場合には、しかしながら、エンコーディング装置のクロック速度が、速くされる必要がある可能性がある。
ここに説明されたこれらの技術及びその他の技術は、ハードウェア、ソフトウェア、ファームウェア、若しくはそれらの任意の組み合わせのディジタル・ビデオ装置において実行されることができる。ソフトウェアで実行されるのであれば、本技術は、実行される場合に、ここに説明された1又はそれより多くのエンコーディング技術を実行する、プログラム・コードを具備するコンピュータ読み取り可能な媒体へ向けられることができる。種々の実施形態のさらなる詳細は、添付されている図面及び下記の説明に述べられる。その他の特徴、目的及び利点は、説明及び図面から、並びに特許請求の範囲から明らかになる。
図1は、ソース装置12が通信リンク15を介して受信装置14へエンコードされたビデオ・データのシーケンスを送信する一例のシステム10を説明するブロック図である。ソース装置12及び受信装置14は、両者ともディジタル・ビデオ装置である。特に、ソース装置12は、ITU H.264ビデオ・エンコーディング標準のようなビデオ標準に整合するビデオ・データをエンコードする。ITU H.264標準は、映像推定及び映像補正において非整数ピクセル値を容認する。システム10は、非整数ピクセル値が発生され、記憶され、そして映像推定及び映像補正の両者に使用される技術を実施する。これは、同一の非整数ピクセル値を発生するために映像推定及び映像補正の両者において大きなフィルタの必要性を削除する。ここに説明された技術は、垂直又は水平補間に対してのような、所定の方向における非整数ピクセル値の発生において3−タップ・フィルタ又はそれより大きなフィルタを指定するいずれかの公表された標準又は専用の標準で特に有用である可能性がある。しかしながら、本明細書にしたがって、より小さなフィルタ(2−タップ・フィルタ)によって発生されたいずれかの非整数ピクセル値は、後で使用するためにこれらの値を記憶することなく、必要な場合に発生されることができる。
通信リンク15は、ワイアレス・リンク、物理送信ライン、光ファイバ、ローカル・エリア・ネットワークのようなパケット・ベースのネットワーク、インターネットのようなワイド・エリア・ネットワーク又はグローバル・ネットワーク、公衆交換電話ネットワーク(PSTN)、若しくはデータを転送できるいずれかのその他の通信リンクを具備できる。それゆえ、通信リンク15は、ソース装置12から受信装置14へビデオ・データを送信するためのいずれかの適切な通信媒体、若しくはおそらく異なるネットワーク及びリンクの集合体を表す。
ソース装置12は、ビデオ・データをエンコーディングでき、送信できる任意のディジタル・ビデオ装置であることができる。ソース装置12は、ディジタル・ビデオ・シーケンスを記憶するためのビデオ・メモリ16、シーケンスをエンコードするためのビデオ・エンコーダ18、及びソース装置12へ通信リンク15を介してエンコードされたシーケンスを送信するための送信機20を含むことができる。ビデオ・エンコーダ18は、ここで説明されるように、例えば、各種のハードウェア、ソフトウェア又はファームウェア、若しくは1又はそれより多くのディジタル・シグナル・プロセッサ(DSP)を含むことができる。DSPは、ビデオ・エンコーディング技術を制御するためにプログラム可能なソフトウェア・モジュールを与える。関係するメモリ及び論理回路系は、ビデオ・エンコーディング技術を制御することにおいてDSPをサポートするために与えられることができる。説明されるように、ビデオ・エンコーダ18は、非整数ピクセル値を発生するために構成されることができ、映像推定及び映像補正の両者に対して発生された非整数ピクセル値を使用できる。
ソース装置12は、しかも、ビデオ・シーケンスを取り込むために、ビデオ・カメラのようなビデオ取り込み装置23を含むことができ、メモリ16に取り込まれたシーケンスを記憶させることができる。特に、ビデオ取り込み装置23は、電荷結合素子(charge coupled device)(CCD)、電荷注入素子、フォトダイオードのアレイ、相補型MOS(complementary metal oxide semiconductor)(CMOS)装置、若しくはビデオ画像又はディジタル・ビデオ・シーケンスを取り込むことができるいずれかのその他の光応答素子を含むことができる。
さらなる例として、ビデオ取り込み装置23は、例えば、テレビ、ビデオ・カッセト・レコーダ、カムコーダ、若しくはその他のビデオ装置からのアナログ・ビデオ・データをディジタル・ビデオ・データへ変換するビデオ変換器である可能性がある。いくつかの実施形態では、ソース装置12は、通信リンク15を介してリアル−タイム・ビデオ・シーケンスを送信するために構成されることができる。その場合には、受信装置14は、リアル−タイム・ビデオ・シーケンスを受信でき、ユーザへビデオ・シーケンスを表示できる。あるいは、ソース装置12は、ビデオ・データ・ファイルとして、すなわち、リアル−タイムではなく、受信装置14へ送られるビデオ・シーケンスを取り込むことができ、エンコードできる。そのようにして、ソース装置12及び受信装置14は、例えば、移動ワイアレス・ネットワークにおいて、ビデオ・クリップ再生、ビデオ・メール、又はテレビ会議のようなアプリケーションをサポートできる。装置12及び14は、図1に具体的に図示されていない各種のその他の装置を含むことができる。
受信装置14は、ビデオ・データを受信することができ、デコードすることができるいずれかのディジタル・ビデオ装置の形式を取ることができる。例えば、受信装置14は、例えば、中間リンク、ルータ、その他のネットワーク装置、及びその他を介して、送信機20からエンコードされたディジタル・ビデオ・シーケンスを受信するための受信機22を含むことができる。受信装置14は、しかも、シーケンスをデコーディングするためのビデオ・デコーダ24、及びユーザへシーケンスを表示するための表示装置26を含むことができる。ある実施形態では、しかしながら、受信装置14は、統合された表示装置26を含まないことができる。そのような場合には、受信装置14は、単独の表示装置、例えば、テレビ又はモニタ、を駆動するために受信されたビデオ・データをデコードする受信機として働くことができる。
ソース装置12及び受信装置14に関する例の装置は、コンピュータ・ネットワーク上に置かれたサーバ、ワークステーション又はその他のデスクトップ演算装置、及びラップトップ・コンピュータ又はパーソナル・ディジタル・アシスタンツ(PDA)のような移動演算装置を含む。その他の例は、ディジタル・テレビ放送衛星、及び受信装置を含む。受信装置は、例えば、ディジタル・テレビ、ディジタル・カメラ、ディジタル・ビデオ・カメラ、若しくはその他のディジタル記録装置、ビデオ能力を有する携帯電話機のようなディジタル・ビデオ電話機、ビデオ能力がある直接双方向通信装置、その他のワイアレス・ビデオ装置、及びその他、である。
ある場合には、ソース装置12及び受信装置14は、それぞれ、ディジタル・ビデオ・データをエンコーディング及びデコーディングするためにエンコーダ/デコーダ(CODEC)(図示せず)を含む。特に、ソース装置12及び受信装置14の両者は、送信機及び受信機、同様にメモリ及び表示装置を含むことができる。下記に概略を示されたエンコーディング技術の多くは、エンコーダを含むディジタル・ビデオ装置の状況で説明される。しかしながら、エンコーダは、CODECの一部を形成することが理解される。その場合には、CODECは、ハードウェア、ソフトウェア、ファームウェア、DSP、マイクロプロセッサ、用途特定集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、単体ハードウェア素子、若しくはこれらの種々の組み合わせの中で実行されることができる。しかも、ここに説明されたエンコーディング技術は、各種のディジタル・フィルタ又はハードウェア素子がエンコーディング及びデコーディング・アプリケーションの両者に対して使用されることを可能にすることができる。
ソース装置12内部のビデオ・エンコーダ18は、ビデオ・データをエンコードするためにビデオ・フレームのシーケンスの内部のピクセルのブロック上で動作する。例えば、ビデオ・エンコーダ18は、送信されようとしているビデオ・フレームがピクセルのブロック(ビデオ・ブロックと呼ばれる)に分割される映像補正技術及び映像推定技術を実行できる。ビデオ・ブロックは、説明の目的で、任意のサイズのブロックを具備でき、所定のビデオ・シーケンスの範囲内で変化できる。一例として、ITU H.264標準は、16×16ビデオ・ブロック、16×8ビデオ・ブロック、8×16ビデオ・ブロック、8×8ビデオ・ブロック、8×4ビデオ・ブロック、4×8ビデオ・ブロック及び4×4ビデオ・ブロックをサポートする。より小さなビデオ・ブロックは、エンコーディングにおいてより良い分解能を提供でき、そして高いレベルの詳細を含むビデオ・フレームの位置選定のために具体的に使用されることができる。さらに、下記に説明されるように、ビデオ・エンコーダ18は、パイプライン方式で4×4ビデオ・ブロック上で動作するように設計されることができ、そして、必要に応じて、4×4ビデオ・ブロックからより大きなビデオ・ブロックを再構成できる。
ビデオ・ブロック中の各ピクセルは、クロミナンス(chrominance)及びルミナンス(luminance)の値で色彩及び強度のようなピクセルの視覚的な特性を規定するn−ビットの値、例えば、8ビット、によって表されることができる。しかしながら、映像推定は、人間の視覚が、色度(chromaticity)よりもルミナンスの変化により敏感であるため、ルミナンス成分にだけしばしば実行される。したがって、映像推定の目的のために、n−ビット値の全体は、所定のピクセルに対してルミナンスを定量化できる。本明細書の原理は、しかしながら、ピクセルのフォーマットに制限されず、そしてより単純なより少ないビット・フォーマット又はより複雑なより大きなビット・フォーマットを用いた使用に対して拡張されることができる。
ビデオ・フレーム中の各ビデオ・ブロックに対して、ソース装置12のビデオ・エンコーダ18は、類似のビデオ・ブロックを同定するために1又はそれより多くの既に送信された前のビデオ・フレーム(又は、後続のビデオ・フレーム)に対してメモリ16中に記憶されたビデオ・ブロックを検索することによって映像推定を実行する。前のビデオ・フレーム又は後続のビデオ・フレームからの“最善予測”を決定すると、ビデオ・エンコーダ18は、映像補正を実行して、エンコードされようとしている現在のビデオ・ブロックと最善予測との間の差異を表す差異ブロックを生成する。映像補正は、通常、映像ベクトルを使用して最善予測ブロックを取り込み、そして差異ブロックを発生するために入力ブロックから最善予測を差し引く行為を呼ぶ。
映像補正プロセスが差異ブロックを生成した後で、一連の追加のエンコーディング・ステップが、一般的に差異ブロックをエンコードするために実行される。これらの追加のエンコーディング・ステップは、使用されるエンコーディング標準に依存することができる。MPEG4準拠エンコーダでは、例えば、追加のエンコーディング・ステップは、8×8離散コサイン変換、引き続いてスカラ量子化、引き続いてラスタ−ジグザグ再配列、引き続いてラン長エンコーディング、引き続いてハフマン・エンコーディングを含むことができる。
一旦、エンコードされると、エンコードされた差異ブロックは、映像ベクトルとともに送信されることができる。映像ベクトルは、エンコーディングに対して使用された前のフレーム(又は、後続のフレーム)からビデオ・ブロックを同定する。このような方法で、独立した画像として各フレームをエンコーディングする代わりに、ビデオ・エンコーダ18は、隣接するフレーム間の差異をエンコードする。そのような技術は、ビデオ・シーケンスの各フレームを正確に表すために必要なデータの量を顕著に削減できる。
映像ベクトルは、エンコードされようとしているビデオ・ブロックの左上角に対して相対的にピクセルの位置を規定できる。しかしながら、映像ベクトルに関するその他のフォーマットが使用されることができる。いずれの場合でも、映像ベクトルを使用してビデオ・ブロックをエンコーディングすることによって、ビデオ・データのストリームの送信のために必要なバンド幅は、著しく削減されることができる。
ある場合には、ビデオ・エンコーダ18は、フレーム間エンコーディングに加えて、フレーム内エンコーディングをサポートできる。フレーム内エンコーディングは、空間相関又はフレーム内相関と呼ばれるフレーム内の類似性を利用して、ビデオ・フレームをさらに圧縮する。フレーム内圧縮は、一般的に、離散コサイン変換(DCT)エンコーディングのような、静止画を圧縮するためのテクスチャ・エンコーディングに基づく。フレーム内圧縮は、しばしばフレーム間圧縮とともに使用されるが、ある種の実施において代案として使用されることもできる。
受信装置14の受信機22は、映像ベクトルの形式でエンコードされたビデオ・データを受信でき、そしてエンコードされようとしているビデオ・ブロックと映像推定において使用された最善予測との間のエンコードされた差異を表すエンコードされた差異ブロックを受信できる。デコーダ24は、表示装置26を介してユーザに対する表示のためのビデオ・シーケンスを発生させるためにビデオ・デコーディングを実行する。受信装置14のデコーダ24も、エンコーダ/デコーダ(CODEC)として実行されることもできる。その場合には、ソース装置12及び受信装置14の両者は、ディジタル・ビデオ・シーケンスをエンコーディングし、送信し、受信し、そしてデコーディングする能力がある可能性がある。
本明細書にしたがって、所定の方向(水平又は垂直)にビデオ・エンコーディングしている間に、3個又はそれより多くの入力ピクセル値から発生された非整数ピクセル値は、ビデオ・エンコーダ18のローカル・メモリ中に記憶されることができ、それから映像推定及び映像補正の両者に対して使用されることができる。記憶された非整数ピクセル値は、別々にバッファされることがでる、若しくは、必要な場合に非整数ピクセル値が位置を決められることができ同定されることができる限りは、いずれかの特定のメモリ位置に割り当てられることができる。対照的に、所定の方向の2個の入力ピクセル値から発生された非整数ピクセル値は、長時間にわたって記憶される必要がないが、一般に映像推定又は映像補正に対して必要な場合に計算されることができる。
図2は、ビデオ・エンコーダ18Aを含む装置12Aのイグゼンプラリなブロック図である。図2の装置12Aは、図1の装置12に対応できる。図2に示されたように、装置12Aは、ビデオ・シーケンスをエンコードするためにビデオ・エンコーダ18A、及びエンコーディングの前後にビデオ・シーケンスを記憶させるためのビデオ・メモリ16Aを含む。装置12Aは、しかも、エンコードされたシーケンスを他の1個の装置へ送信するための送信機20A、そしておそらくビデオ・シーケンスを取り込みメモリ16A中に取り込んだシーケンスを記憶させるために、ビデオ・カメラのようなビデオ取り込み装置23Aも含む。装置12Aの種々の素子は、通信バス35Aを介して通信的に接続されることができる。フレーム内エンコーダ素子、各種のフィルタ、又はその他の素子のような、各種のその他の素子も、装置12Aに含まれることができるが、単純化のために具体的に図示されない。
ビデオ・メモリ16Aは、一般的に、比較的大きなメモリ空間を具備する。ビデオ・メモリ16Aは、例えば、ダイナミック・ランダム・アクセス・メモリ(dynamic random access memory)(DRAM)又はフラッシュ・メモリを具備できる。その他の例では、ビデオ・メモリ16Aは、不揮発性メモリ若しくはいずれかのその他のデータ記憶装置を具備できる。
ビデオ・エンコーダ18Aは、ビデオ・メモリ16Aに対して相対的に小さなそして早いメモリ空間を具備することができるローカル・メモリ25Aを含む。例として、ローカル・メモリ25Aは、シンクロナス・ランダム・アクセス・メモリ(synchronous random access memory)(SRAM)を具備できる。ローカル・メモリ25Aは、しかも、ビデオ・エンコーダ18Aのその他の構成要素とともに集積された“チップ搭載”メモリを具備できて、プロセッサ集中型のエンコーディング・プロセスの間にデータへの非常に高速なアクセスを提供する。所定のビデオ・フレームのエンコーディングの間に、エンコードされようとしている現在のビデオ・ブロックは、ビデオ・メモリ16Aからローカル・メモリ25Aへロードされることができる。最善予測の位置を決定することに使用される検索空間も、ビデオ・メモリ16Aからローカル・メモリ25Aへロードされることができる。検索空間は、1又はそれより多くの前のビデオ・フレーム(又は後続のフレーム)のピクセルのサブセットを具備できる。選択されたサブセットは、エンコードされようとしている現在のビデオ・ブロックにぴったりと符合する最善予測の同定のために可能性のある位置として事前に同定されることができる。
多くのビデオ標準において、部分ピクセル又は非整数ピクセルも、エンコーディング・プロセスの間に考慮に入れられる。例えば、MPEG−4において、1/2ピクセル値は、2個の隣接するピクセル間の平均値として計算される。MPEG−4に準拠したエンコーダにおいて、2個の隣接するピクセル間の平均値は、比較的単純なディジタル・フィルタを使用して、必要に応じて、所定の方向に対して容易に発生されることができる。比較的単純なディジタル・フィルタは、2個の入力及び1個の出力を有し、一般に2−タップ・ディジタル・フィルタと呼ばれる。
例として、単純なMPEG2又はMPEG4の場合には、補間が水平及び垂直の両者に実行されるのであれば、2−タップ・ディジタル・フィルタは、各方向に対して使用されることができる。あるいは、2方向の補間は、1個の4−タップ平均化フィルタとして行われることができる。フィルタが、所定の方向に2個より多くの入力を指定する場合、若しくは2方向補間に対して5個より多くの入力を指定する場合に、ここに説明される技術は、非常に有用になる。
ディジタル・フィルタのタップ加重は、エンコーディング標準によって指定される。MPEG−4をサポートするために、映像推定器26A及び映像補正器28Aは、類似の2−タップ・ディジタル・フィルタを含むことができる。2−タップ・ディジタル・フィルタは、ローカル・メモリ25Aにロードされた検索空間の整数ピクセル値を使用していつでも水平及び垂直方向に対して1/2ピクセル値が発生されることを可能にする。
いくつかのより新しい標準に関して、しかしながら、非整数ピクセルの発生は、より複雑である。例えば、多数のより新しい標準は、その2個のピクセルより多くの重み付けされた合計に基づいて所定の方向の1/2ピクセル値の発生を指定する。1つの特定の例として、ITU H.264標準は、6個のピクセル間の重み付けされた平均として水平及び垂直方向の両者における1/2ピクセル値の計算を指定する。部分水平ピクセルに対して、1/2ピクセル値の左の3個のピクセルは、1/2ピクセル値の右の3個のピクセルと同様に重み付けされる。部分垂直ピクセルに関して、1/2ピクセル値の上の3個のピクセルは、1/2ピクセル値の下の3個のピクセルと同様に重み付けされる。両方に場合に、6個の入力及び1個の出力を有するフィルタ(6−タップ・ディジタル・フィルタ)が、一般に1/2ピクセル値を発生するために必要である。
さらに、ITU H.264標準は、しかも、1/4ピクセル値の発生も指定する。1/4ピクセル値は、整数ピクセルと隣接する1/2ピクセルとの間の平均として計算される。それゆえ、1/4ピクセル値の発生は、一般的に、1/2ピクセル値を発生するために6−タップ・フィルタの使用を含み、引き続き1/4ピクセル値を発生するための2−タップ・フィルタの使用を含む。複数の専用の標準は、しかも、非整数ピクセル発生のためにその他の重み付け平均化ルールを使用する。これは、非整数ピクセル値の発生に対して著しい複雑性を与える可能性がある。
本明細書にしたがって、所定の方向の3個又はそれより多くの入力ピクセル値から発生された非整数ピクセル値は、検索空間の一部分としてローカル・メモリ25Aに記憶されることができる。記憶された非整数ピクセル値は、必要な場合に、非整数ピクセル値が位置を見つけられそして同定される限りは、別々にバッファされることができる、若しくはいずれかの特定のメモリ位置に割り当てられることができる。対照的に、2入力ピクセル値から発生された非整数ピクセル値は、任意の非常に長時間にわたり記憶される必要がないが、一般に必要に応じて計算されることができる。
本明細書は、非常に長時間にわたっていずれかの非整数ピクセル値を記憶させるためにローカル・メモリ25Aの追加のメモリ空間に対する必要性と、入力をフィルタし非整数ピクセル値を発生するために必要なハードウェア又は処理パワーとの間のトレードオフを容認する。2−タップ・フィルタは、一方向に実行することは非常に単純であり、そしてそれゆえ、2−タップ・フィルタは、必要な場合に、2入力から非整数ピクセル値を発生するためにビデオ・エンコーダの多くの位置で使用されることができる。しかしながら、一方向に対して3個より大きな入力を有するフィルタ、そして具体的にITU H.264標準に準拠して使用される6−タップ・フィルタは、より複雑である。これらのより大きなフィルタが必要である場合に、3個又はより多くの入力を受信する1個のフィルタを与えること、そしてその後、必要な場合に、エンコーディング・プロセスにおける再使用のためにローカル・メモリ25A中に大きなフィルタの出力を記憶する又はバッファすることはさらに有利である。
例えば、ビデオ・エンコーダ18Aは、映像推定器26A及び映像補正器28Aを含む。これらは、それぞれビデオ・エンコーディング・プロセスにおいて映像推定及び映像補正を実行する。図2に示されたように、映像推定器26A及び映像補正器28Aの両者は、それぞれ1又はそれより多くの非整数ピクセル演算ユニット32A及び36Aを含む。(複数の)非整数ピクセル演算ユニット32A及び36Aは、1若しくはそれより多くのディジタル・フィルタを具備できる。しかしながら、2−タップ・ディジタル・フィルタが(複数の)非整数ピクセル演算ユニット32A及び36Aの両者において重複する可能性がある一方で、いずれかのN−タップ・フィルタ(ここで、Nは3以上の整数を表す)は、ユニット32A及び36Aの1つだけで与えられることができる。3個より多くの入力を有するフィルタの出力は、エンコーディング・プロセスにおいて後で使用するために又は再使用するためにローカル・メモリ25A中に記憶されることができる。
ある場合には、別々のフィルタが水平及び垂直補間の両方に対して与えられるが、(3タップ又はより大きな)いずれかの大きなフィルタの出力は、映像推定及び映像補正に対して再使用されることができる。その他の場合には、同一の大きなフィルタが、水平及び垂直補間の両者に対して使用されることができ、そして、大きなフィルタの出力は、映像推定及び映像補正の両者に対する使用のために記憶されることができる。これらの場合には、しかしながら、1個のフィルタが水平及び垂直補間に対して使用されるので、クロック速度が増加される必要性があり、これは、電力消費を増加させることがある。
ローカル・メモリ25Aは、エンコードされようとしている現在のビデオ・ブロック及び検索空間でロードされる。検索空間は、フレーム間エンコーディングにおいて使用された1又はそれより多くの異なるビデオ・フレームのいくつか又は全てを具備する。映像推定器26Aは、最善予測を同定するために現在のビデオ・ブロックを検索空間中の種々のビデオ・ブロックと比較する。ある場合には、しかしながら、エンコーディングのための適切な符合が、各可能性のある候補を具体的にチェックすることなく、より早く同定されることがある。そして、その場合には、適切な符合は、効率的なビデオ・エンコーディングのために適切であるにも拘らず、実際には“最善”予測ではないことがある。
映像推定器26Aは、非整数ピクセル値を使用するエンコーディング・スキームをサポートする。特に、非整数ピクセル演算ユニット32Aは、検索空間を部分又は非整数ピクセル値に拡張する非整数ピクセル値を発生できる。水平非整数ピクセル値及び垂直非整数ピクセル値の両者が、発生されることができる。2個の入力から発生されたいずれかの非整数ピクセル値が、使用されることができ、それから、これらの非整数ピクセル値が、必要に応じて、2個の入力から容易に再発生させられるので、破棄される、又はローカル・メモリ25Aに上書きされる。しかしながら、3個又はそれより多くの入力から発生されたいずれかの非整数ピクセル値が、使用されることができ、3個又はそれより多くの入力から発生されたこれらの非整数ピクセル値は発生すること及び再発生することがより複雑であるので、エンコーディング・プロセスにおける引き続く使用のためにローカル・メモリ25A中に維持される。
ビデオ・ブロック符合ユニット34Aは、エンコードされようとしている現在のビデオ・ブロックとメモリ25Aの検索空間中の候補ビデオ・ブロックとの間の比較を実行する。候補ビデオ・ブロックは、(複数の)非整数ピクセル演算ユニット32Aによって発生された非整数ピクセル値を含むいずれかの候補ビデオ・ブロックを含む。例えば、ビデオ・ブロック符合ユニット34Aは、差異プロセッサ、若しくは最善予測(又は単に適切な予測)を同定するために差異計算を実行するソフトウェア・ルーチンを具備する。
例として、ビデオ・ブロック符合ユニット34Aは、SAD技術(絶対差異の合計技術:sum of absolute difference techniques)、SSD技術(二乗差異の合計技術:sum of squared difference techniques)、又は、希望されるならば、その他の比較技術を実行できる。SAD技術は、現在のビデオ・ブロックがそれに対して比較されようとしている候補ビデオ・ブロックのピクセル値を用いて、エンコードされようとしている現在のビデオ・ブロックのピクセル間の絶対的な差異演算を実行するタスクを含む。これらの絶対的な差異演算の結果は、現在のビデオ・ブロックと候補ビデオ・ブロックとの間の差異を表す差異値を規定するために合計される、すなわち、累積される。8×8ピクセル画像ブロックに対して、64の差異が、算出されそして合計され、且つ16×16ピクセル・マクロブロックに対して、256の差異が、算出されそして合計される。全ての演算の全体の合計は、候補ビデオ・ブロックに対する差異値を規定できる。
より低い差異値は、一般に、候補ビデオ・ブロックがより良く符合することを示し、そしてそれゆえ、より高い差異値、すなわち、歪の増加、を生み出す他の候補ビデオ・ブロックよりも映像推定エンコーディングにおける使用のためにより良い候補であることを示す。ある場合には、演算は、累積された差異値が規定されたしきい値を超えたときに終了されることができ、若しくはその他の候補ビデオ・ブロックがまだ考慮に入れられていない場合でさえも、適切な符合が早期に認められた場合に終了されることができる。
SSD技術は、しかも、候補ビデオ・ブロックのピクセル値を用いてエンコードされようとしている現在のビデオ・ブロックの複数のピクセル値の間の差異演算を実行するタスクも含む。しかしながら、SSD技術において、差異演算の結果は、二乗され、そしてそれから、二乗された値は、現在のビデオ・ブロックと候補ビデオ・ブロックとの間の差異を示す差異値を規定するために合計される、すなわち、累積される。その候補ビデオ・ブロックに対して、現在のマクロブロックは、比較されようとしている。あるいは、ビデオ・ブロック符合ユニット34Aは、その他の比較技術を使用できる。例えば、二乗平均誤差(Mean Square Error)(MSE)、規格化されたクロス相関関数(Normalized Cross Correlation Function)(NCCF)、若しくは他の1つの好適な比較アルゴリズムである。
最終的に、ビデオ・ブロック符合ユニット34Aは、“最善予測”を同定できる。最善予測は、エンコードされようとしているビデオ・ブロックに最もぴったりと符合する候補ビデオ・ブロックである。しかしながら、多くの場合に、適切な符合が最善予測の前に位置を見つけられることができ、その場合には、適切な符合はエンコーディングに対して使用されることができることが、理解される。以下の説明では、参照は、ビデオ・ブロック符合ユニット34Aによって同定された“最善予測”に対してなされるが、本明細書はその点に制限されないことが理解され、そして任意の適切な符合が、使用されることができ、おそらく最善予測よりもさらに迅速に同定されることができる。
ある実施形態では、ビデオ・ブロック符合ユニット34Aは、パイプライン方式で実行されることができる。例えば、ビデオ・ブロック符合ユニット34Aは、1より多くのビデオ・ブロックを同時に取り扱う処理パイプラインを具備できる。さらに、ある場合には、エンコードされようとしているビデオ・ブロックのサイズが、4ピクセル×4ピクセル・ビデオ・ブロックより大きい場合でさえも、処理パイプラインは、4ピクセル×4ピクセル・ビデオ・ブロック上で動作するように設計されることができる。その場合には、4ピクセル×4ピクセル候補ビデオ・ブロックの隣接するセットに対する差異演算は、大きなビデオ・ブロックに対する差異演算を表すために合計されることができる。大きなビデオ・ブロックは、例えば、2個の4ピクセル×4ピクセル候補を具備する4ピクセル×8ピクセル・ビデオ・ブロック、2個の4ピクセル×4ピクセル候補を具備する8ピクセル×4ピクセル・ビデオ・ブロック、4個の4ピクセル×4ピクセル候補を具備する8ピクセル×8ピクセル・ビデオ・ブロック、8個の4ピクセル×4ピクセル候補を具備する8ピクセル×16ピクセル・ビデオ・ブロック、8個の4ピクセル×4ピクセル候補を具備する16ピクセル×8ピクセル・ビデオ・ブロック、16個の4ピクセル×4ピクセル候補を具備する16ピクセル×16ピクセル・ビデオ・ブロック、及びその他である。
いずれの場合でも、一旦、最善予測がビデオ・ブロックに対してビデオ・ブロック符合ユニット34Aによって同定されると、映像補正器28は、現在のビデオ・ブロックと最善予測との間の差異を示している差異ブロックを生成する。ビデオ・ブロック・エンコーダ39Aは、差異ブロックを圧縮するために差異ブロックをさらにエンコードでき、そしてエンコードされた差異ブロックは、映像ベクトルとともに他の1個の装置への送信のために転送できる。映像ベクトルは、検索空間からのどの候補ビデオ・ブロックがエンコーディングに対して使用されたかを示す。単純化のために、映像補正の後でエンコーディングを実行するために使用される追加の構成要素は、特定の構成要素がサポートされようとしている特定の標準に依存して変化するはずであるので、差異ブロック・エンコーダ39Aとして一般化される。言い換えると、差異ブロック・エンコーダ39Aは、上記に説明されたように発生された差異ブロックに1又はそれより多くの従来のエンコーディング技術を実行できる。
映像補正器28Aは、最善予測のいずれかの非整数ピクセルを発生するために(複数の)非整数ピクセル演算ユニット36Aを含む。上記に概要を示されたように、しかしながら、映像補正器28Aの(複数の)非整数ピクセル演算ユニット36Aは、所定の方向に対する2−タップ・ディジタル・フィルタを含むだけであり、一般に大きなディジタル・フィルタを含まない。その理由は、映像推定器26Aの(複数の)非整数ピクセル演算ユニット32Aのいずれかの大きなディジタル・フィルタの出力は、映像推定及び映像補正の両者に使用するためにローカル・メモリ25A中に記憶されるためである。したがって、映像補正器28Aにおける所定の方向に対して3個又はそれより多くの入力を必要とするディジタル・フィルタを与える必要性が、回避されることができる。
差異ブロック計算ユニット38Aは、一般に現在のビデオ・ブロックと最善予測との間の差異を表す差異ブロックを発生する。差異ブロックは、しかも、“予測行列”又は“残差(residual)”としても呼ばれることがある。差異ブロックは、一般に最善予測のピクセル値と現在のビデオ・ブロックにおける差異を表す値の行列である。言い換えると:
差異ブロック=最善予測のピクセル値−現在のビデオ・ブロックのピクセル値
ビデオ・ブロック・エンコーダ39は、差異ブロックを圧縮するために差異ブロックをエンコードし、そしてエンコードされたビデオ・ブロックは、その後、他の1個の装置への送信のために送信機20Aへ転送される。ある場合には、エンコードされたビデオ・ブロックは、ビデオ・メモリ16Aに一時的に記憶されることができる。ビデオ・メモリ16Aでは、エンコードされたビデオ・ブロックは、累積され、それからビデオ・フレームのストリームとして送信機20Aによって送られる。いずれの場合でも、エンコードされたビデオ・ブロックは、エンコードされた差異ブロック及び映像ベクトルの形式を取ることができる。差異ブロックは、最善予測と現在のビデオ・ブロックのピクセル値の差異を表す。映像ベクトルは、フレームの範囲内で若しくはフレームから発生された部分ピクセルの範囲内でのいずれかで、最善予測の位置を同定する。異なるビデオ標準では、どのフレームへ映像ベクトルを適用するかを同定する種々の方法がある。例えば、参照画像インデックスを利用するH.264において、及びMPEG4又はMPEG2において、この情報は、マクロブロック・ヘッダ情報で搬送される。
図3は、ビデオ・エンコーダ18Bを含む装置12Bのイグゼンプラリなブロック図である。図3の装置12Bは、図1の装置12に対応することができ、図2の装置12Aに類似する。図3の装置12Bは、図2に説明された装置12Aのさらに特定の実施形態を表す。装置12Bは、例えば、ITU H.264ビデオ・エンコーディング標準に準拠することができる。
図3に示されたように、装置12Bは、ビデオ・シーケンスをエンコードするためのビデオ・エンコーダ18B、及びエンコーディングの前後のビデオ・シーケンスを記憶させるためのビデオ・メモリ16Bを含む。装置12Bは、しかも、エンコードされたシーケンスを他の1個の装置へ送信するための送信機20B、そしておそらくビデオ・シーケンスを取り込み、メモリ16B中に取り込んだシーケンスを記憶させるために、ビデオ・カメラのようなビデオ取り込み装置23Bも含むことができる。装置12Bの種々の素子は、通信バス35Bを介して通信的に接続されることができる。フレーム内エンコーダ素子、各種のフィルタ、又はその他の素子のような、各種のその他の素子も、装置12Bに含まれることができるが、単純化のために具体的に図示されない。
ビデオ・メモリ16Bは、一般的に、比較的大きなメモリ空間を具備する。ビデオ・メモリ16Bは、例えば、DRAM、フラッシュ・メモリ、おそらく不揮発性メモリ、又はいずれかのその他のデータ記憶装置を具備できる。
ビデオ・エンコーダ18Bは、ビデオ・メモリ16Bに対して相対的に小さなそして早いメモリ空間を具備することができるローカル・メモリ25Bを含む。例として、ローカル・メモリ25Bは、シンクロナス・ランダム・アクセス・メモリ(SRAM)を具備できる。ローカル・メモリ25Bは、しかも、ビデオ・エンコーダ18Bのその他の構成要素とともに集積された“チップ搭載”メモリを具備できて、プロセッサ集中型のエンコーディング・プロセスの間にデータへの非常に高速なアクセスを提供する。所定のビデオ・フレームのエンコーディングの間に、エンコードされようとしている現在のビデオ・ブロックは、ビデオ・メモリ16Bからローカル・メモリ25Bへロードされることができる。
映像推定器26Bは、最善予測を同定するために現在のビデオ・ブロックを検索空間中の種々のビデオ・ブロックと比較する。映像推定器26Bは、1/2ピクセル値及び1/4ピクセル値を使用するITU H.264エンコーディング・スキームをサポートする。特に、非整数ピクセル演算ユニット32Bは、1/2ピクセル補間のために6−タップ・フィルタ31を、及び1/4ピクセル補間のために2−タップ・フィルタ33を含むことができる。水平1/2と1/4ピクセル値及び垂直1/2と1/4ピクセル値の両者が、発生されることがある。
1/2ピクセル値は、ITU H.264ビデオ・エンコーディング標準にしたがって、6個の連続したピクセルの重み付けされた平均として6−タップ・フィルタ31により発生される。1/4ピクセル値は、整数ピクセル値と隣接する1/2ピクセル値の平均として2−タップ・フィルタ33により発生される。言い換えると、フィルタのタップ加重は、ITU H.264ビデオ・エンコーディング標準によって指定されることができるけれども、本明細書は、その点に限定されない。
ある場合には、別々の6−タップ・フィルタが、水平補間及び垂直補間の両者のために映像推定器26B中に与えられ、両方の6−タップ・フィルタの出力は、映像推定及び映像補正において使用されることができる。その他の場合には、同一の6−タップ・フィルタが、水平補間及び垂直補間の両者のために使用されることができる。後者の場合には、しかしながら、クロック速度は、速められる必要があり、これは電力消費を増加させる。したがって、映像推定において別々の水平補間及び垂直補間のために2個の6−タップ・フィルタを与えることがさらに望まれることがあり、それから、映像補正において水平補間及び垂直補間のために両方の6−タップ・ディジタル・フィルタの出力を再使用する。映像推定器26Bが、水平及び垂直1/2ピクセル補間に2個の6−タップ・フィルタを与えるか、1個の6−タップ・フィルタが水平及び垂直1/2ピクセル補間の両者に対して使用されるかどうかに拘らず、1個の2−タップ・ディジタル・フィルタが、1/4ピクセル補間に対して映像推定器26B及び映像補正器28Bのそれぞれに与えられることができる。しかしながら、追加の2−タップ・フィルタも、しかも処理速度を増加させるために含まれるはずである。
いずれの場合でも、本明細書にしたがって、6−タップ・フィルタ31の1/2ピクセル出力は、映像推定及び映像補正の両者のために使用される。言い換えると、6−タップ・フィルタ31の1/2ピクセル出力は、映像推定のために使用され、その後、映像補正におけるその後の使用のためにメモリ25Bに記憶される。対照的に、2−タップ・フィルタ33の1/4ピクセル出力は、映像推定のためにだけ使用され、その後、破棄される又はメモリ25Bにおいて上書きされる。
ビデオ・ブロック符合ユニット34Bは、エンコードされようとしている現在のビデオ・ブロックとメモリ25Bの検索空間中の候補ビデオ・ブロックとの間の比較を実行する。候補ビデオ・ブロックは、非整数ピクセル演算ユニット32Bによって発生された1/4又は1/2ピクセル値を含むいずれかの候補ビデオ・ブロックを含む。例えば、ビデオ・ブロック符合ユニット34Bは、差異プロセッサ、若しくは最善予測(又は単に適正な予測)を同定するために差異計算を実行するソフトウェア・ルーチンを具備できる。例として、ビデオ・ブロック符合ユニット34Bは、SAD技術、SSD技術、又は、二乗平均誤差(MSE)、規格化されたクロス相関関数(NCCF)、若しくは他の1つの好適な比較アルゴリズムのような、その他の比較技術を実行できる。
最終的に、ビデオ・ブロック符合ユニット34Bは、“最善予測”を同定できる。最善予測は、エンコードされようとしているビデオ・ブロックに最もぴったりと符合する候補ビデオ・ブロックである。ある実施形態では、ビデオ・ブロック符合ユニット34Bは、パイプライン方式で実行されることができる。例えば、ビデオ・ブロック符合ユニット34Bは、1より多くのビデオ・ブロックを同時に取り扱う処理パイプラインを具備できる。さらに、ある場合では、エンコードされようとしているビデオ・ブロックのサイズが、4ピクセル×4ピクセル・ビデオ・ブロックよりも大きい場合でさえも、処理パイプラインは、4ピクセル×4ピクセル・ビデオ・ブロック上で動作するように設計されることができる。パイプライン型の実施形態では、1/4ピクセル記憶に割り当てられたメモリは、ピクセルがパイプラインに一旦考慮に入れられると上書きされる。これは、必要なメモリの量を削減できる。当然、1/2ピクセル値は、ここに概要を述べたように、引き続く使用のために記憶される。
一旦、最善予測がビデオ・ブロックに対してビデオ・ブロック符合ユニット34Bによって同定されると、映像補正器28Bは、現在のビデオ・ブロックと最善予測との間の差異を示している差異ブロックを発生できる。映像補正器28Bは、差異ブロック・エンコーダ39Bへ差異ブロックを転送できる。差異ブロック・エンコーダ39Bは、ITU H.264エンコーディング標準によってサポートされる各種の追加のエンコーディングを実行する。差異ブロック・エンコーダ39Bは、映像ベクトルとともに他の1個の装置への送信のためにバス35Bを介して送信機20Bへエンコードされた差異ブロックを転送する。映像ベクトルは、どちらの候補ビデオ・ブロックがエンコーディングに対して使用されたかを示す。
映像補正器28Bは、ローカル・メモリ25Bに未だ記憶されていない最善予測のいずれかの非整数ピクセルを発生するための非整数ピクセル演算ユニット36Bを含む。映像補正器28Bの非整数ピクセル演算ユニット36Bは、1/4ピクセル値を発生するための2−タップ・ディジタル・フィルタを含むだけであり、一般に1/2ピクセル値を発生するための6−タップ・ディジタル・フィルタを含まない。その理由は、映像推定器26Bの6−タップ・ディジタル・フィルタ31の1/2ピクセル出力は、映像推定及び映像補正の両者に対して使用するためにローカル・メモリ25B中に記憶されるためである。したがって、映像補正器28B中に6−タップ・ディジタル・フィルタを与える必要性は、回避されることができる。再び、2−タップ・ディジタル・フィルタは、著しいチップ回路領域を必要とせずに非常に容易に与えられることができる。6−タップ・ディジタル・フィルタは、対照的に、もっともっと複雑である。したがって、所定のビデオ・ブロックのエンコーディング・プロセスの間に長い時間にわたって6−タップ・ディジタル・フィルタ31の1/2ピクセル出力をバッファするために必要な追加のメモリ空間は、追加の6−タップ・ディジタル・フィルタに対する必要性を削除できるため価値がある。
差異ブロック計算ユニット38Bは、一般に現在のビデオ・ブロックと最善予測との間の差異を表す差異ブロックを発生する。再び、差異ブロックは、一般に下記のように計算される:
差異ブロック=最善予測のピクセル値−現在のビデオ・ブロックのピクセル値
映像補正器28Bは、差異ブロック・エンコーダ39Bへ差異ブロックを転送する。差異ブロック・エンコーダ39Bは、差異ブロックをエンコードし圧縮して、そして他の1個の装置への送信のために送信機20Bへエンコードされた差異ブロックを送る。送信された情報は、エンコードされた差異ブロック及び映像ベクトルの形式を取ることができる。差異ブロックは、最善予測と現在のビデオ・ブロックのピクセル値の差異を表す。映像ベクトルは、フレームの内部で又はフレームから発生された部分ピクセルの内部のいずれかで、最善予測の位置を同定する。
図4は、4ピクセル×4ピクセル・ビデオ・ブロックに対応する位置の付近に形成されたイグゼンプラリな検索空間40の図である。特に、検索空間40は、前のビデオ・フレーム又は後続のビデオ・フレームのピクセルを具備できる。エンコードされようとしている現在のビデオ・ブロックは、検索空間40の最も中心のピクセル42の位置に対応する現在のフレームの4ピクセル×4ピクセル・ビデオ・ブロックを具備できる。
図5は、1/2ピクセル値の列を含むイグゼンプラリな検索空間50の図である。“Bxx”と名前を付けられたピクセル値は、水平1/2ピクセル値に対応し、ここで説明されたように、6−タップ・ディジタル・フィルタによって発生されることができる。例えば、ピクセルB00は、ピクセルA00−A05(図4)の重み付けされた平均を具備できる。フィルタのタップ加重は、異なる整数ピクセルに与えられる重み付けを規定でき、サポートされている標準によって指定されることができる。“Bxx”と名前を付けられた水平1/2ピクセル値は、ここで説明されたように、ローカル・メモリ中に記憶されることができ、映像推定及び映像補正の両者のために再使用されることができる。実際の記憶スキームは、異なる実行において変化することができる。一例では、水平バッファは、水平1/2ピクセル値、すなわち、“Bxx”と名前を付けられたもの、を具体的に記憶するためにローカル・メモリ中に維持される。
図6は、1/2ピクセル値の行及び列を含むイグゼンプラリな検索空間60の他の1つの図である。“Cxx”と名前を付けられたピクセル値は、垂直1/2ピクセル値に対応し、ここで説明されたように、映像推定器の6−タップ・ディジタル・フィルタによって発生されることができる。例えば、ピクセルC00は、ピクセルA02−A52(図5)の重み付けされた平均を具備でき、ピクセルC01は、ピクセルB00−B05(図5)の重み付けされた平均を具備できる。“Cxx”と名前を付けられた垂直1/2ピクセル値は、ここで説明されたように、ローカル・メモリ中に記憶されることができ、映像推定及び映像補正の両者のために再使用されることができる。しかしながら、記憶スキームは、異なる実行において変化することができる。一例では、垂直バッファは、垂直1/2ピクセル値、すなわち、“Cxx”と名前を付けられたもの、を具体的に記憶するためにローカル・メモリ中に維持される。
追加のバッファは、1/4ピクセル値に対して割り当てられることができるが、このバッファは、大きさがさらに制限されることがある。1/4ピクセル値は、1/4ピクセル・バッファ中に記憶されることができるが、その後、考慮に入れられた後で、その他の1/4ピクセル値で上書きされることができる。本明細書は、2−タップ・ディジタル・フィルタが、チップ装備の観点から、追加のメモリ空間より費用がかからないことを理解する。追加のメモリ空間は、そうでなければ、所定のビデオ・ブロックのエンコーディング・プロセス全体のために各発生された1/4ピクセル値を記憶させることを必要とされる。
付け加えると、同一のハードウェアは、エンコーディング及びデコーディングの両者に対して使用されることができる。デコーディング・スキームは、集中的でなく、一般に必要に応じて、ピクセル値の発生を必要とする。本明細書にしたがって、映像推定器及び映像補正器において使用される同一のディジタル・フィルタは、しかも、いずれかの非整数ピクセル値を発生するためにデコーディングにおいて使用されることができる。
図7は、4ピクセル×4ピクセル・ビデオ・ブロックをデコードするために使用されることができる検索空間70の図である。その場合に、いずれかの水平又は垂直ピクセル値が検索空間70に基づいて発生される必要があるならば、映像推定器の6−タップ・ディジタル・フィルタが、使用されることができる。ピクセル72のセットは、水平ピクセル値の全てを規定する。6−タップ・ディジタル・フィルタがITU H.264標準に準拠して使用される場合に、水平ピクセル値は、検索空間70から発生されることができる。示されたように、ピクセルB00は、ピクセルA00−A05の重み付けされた合計を具備し、ピクセル31Bは、ピクセルA31−A36の重み付けされた合計を具備する。整数ピクセルの重み付けされた合計に対応する垂直1/2ピクセル値は、類似の方法で発生されることができるが、単純化のために具体的に図示されない。
しかも、追加の垂直1/2ピクセル値は、ピクセル74の他の1つのセットを規定するために、ピクセル72のセットから発生されることができる。例えば、ピクセルC03は、ピクセルB03−B53の重み付けされた合計を具備できる。いずれかの1/4ピクセル値は、整数ピクセル値及び隣接する1/2ピクセル値である入力を有する2−タップ・ディジタル・フィルタを使用して、必要に応じて、同様に発生されることができる。例えば、ピクセルA02により近いピクセルA02とA03との間の1/4ピクセル値は、A02とB00の平均であるはずである。同様に、ピクセルA03により近いピクセルA02とA03との間の1/4ピクセル値は、B00とA03の平均であるはずである。
重要なことに、エンコーディングのために使用された同一のハードウェア、すなわち、6−タップ・ディジタル・フィルタ及び各種の2−タップ・ディジタル・フィルタ、は、入力としての検索空間70に基づいて、デコーディングのために必要ないずれかの出力を発生するために使用されることができる。したがって、ここに説明されたエンコーディング技術は、同一のハードウェアがエンコーディング及びデコーディングの両者に対して使用されることができるデコーディング・スキームと完全に整合する。
図8は、ビデオ・エンコーディング技術を説明するフロー図である。例示の目的のために、図8は、図3の装置12Bの観点から説明される。ビデオ・エンコーディング技術は、図8に説明された全てのステップ、若しくは説明されたステップのサブセットを具備できる。図8に示されたように、ビデオ・エンコーダ18Bは、ビデオ・メモリ16Bからローカル・メモリ25Bへ整数ピクセルの検索領域をロードする(81)。ビデオ・ブロック符合ユニット34Bは、それから直ぐに、整数ビデオ・ブロック、すなわち、整数ピクセル値だけを有するビデオ・ブロック、に対して映像推定差異演算を実行し始めることができる(82)。一方で、6−タップ・ディジタル・フィルタ31は、整数ピクセルの種々のサブセットの重み付けされた合計に基づいて1/2ピクセル値を発生する(83)。重要な点は、ビデオ・エンコーダ18Bは、映像推定において使用するだけでなく、引き続く映像補正における使用のために発生された1/2ピクセル値を記憶する(84)。
この点で、ビデオ・ブロック符合ユニット34Bは、1/2整数ビデオ・ブロック、すなわち、1/2整数ピクセル値を含むいずれかのビデオ・ブロック、に対して映像推定差異演算を実行できる(85)。2−タップ・ディジタル・フィルタ33は、1/4ピクセル値を、例えば、整数ピクセル値と隣接する1/2ピクセル値との平均として、発生する(86)。1/4ピクセル値は、映像推定に対して使用されることができるが、いずれかの引き続く使用のために記憶される必要がない。ビデオ・ブロック符合ユニット34Bは、1/4整数ビデオ・ブロック、すなわち、1/4整数ピクセル値を含むいずれかのビデオ・ブロック、に対して映像推定差異演算を実行できる(87)。
一旦、1/2ピクセル・ブロック及び1/4ピクセル・ブロックを含む各候補ビデオ・ブロックが、エンコードされようとしている現在のビデオ・ブロックに対して比較されると、映像推定器26Bは、最善予測を同定する(88)。しかしながら、上記に述べられたように、本明細書は、しかも、効果的なビデオ・エンコーディング及び圧縮のために好適な符合(match)であるにも拘らず、“最善の”符合である必要がない、適切な符合の使用を熟慮する。映像補正は、その後、実行される。
映像補正の間に、映像補正器28Bは、6−タップ・フィルタ31により発生され、ローカル・メモリ25Bに記憶された1/2ピクセル値を使用する(89)。しかしながら、2−タップ・フィルタ37は、映像補正のために必要ないずれかの1/4ピクセル値を発生する(90)。その場合には、2−タップ・フィルタ37は、2−タップ・ディジタル・フィルタ33によって以前に発生された少なくともいくつかの1/4ピクセル値を再発生できる。差異ブロック計算ユニット38Bは、差異ブロック、例えば、エンコードされようとしている現在のビデオ・ブロックと最善予測ビデオ・ブロックとの間の差異を示す、を発生する(91)。差異ブロックは、それからエンコードされ、ビデオ・エンコーディングに対して使用された候補ビデオ・ブロックの位置を同定する映像ベクトルとともに送信される。
複数の異なる実施形態が説明されてきた。技術は、非整数ピクセル演算を実行するために使用されるハードウェアとローカル・メモリ空間との間の効果的なバランスを実現することによって、ビデオ・エンコーディングを改善することができる。これらの方法及びおそらくその他の方法では、技術は、ITU H.264標準のような標準、若しくは多岐にわたる専用標準のいずれかを含む非整数ピクセル値を使用するいずれかのその他のビデオ・エンコーディング標準にしたがってビデオ・エンコーディングを改善できる。特に、ビデオ・エンコーディング標準が、特定の方向での非整数ピクセル値の発生において、3−タップ・フィルタ又はそれより大きなフィルタの使用を要求する場合にはいつでも、技術は、特に有効である。言い換えると、ビデオ・エンコーディング標準が、一方向の補間に対して3−タップ・フィルタ又はそれより大きなフィルタの使用を要求する場合にはいつでも、技術は、特に有効である。しかも、標準が、2方向の補間において5−タップ・フィルタ又はそれより大きなフィルタを使用して実行されることができるのであれば、技術は、有用である可能性もある。サポートされる所定の標準は、種々のフィルタのタップ加重を指定できる。
技術は、ハードウェア、ソフトウェア、ファームウェア、若しくはそれらの任意の組み合わせにおいて実行されることができる。ソフトウェアで実行されるのであれば、技術は、実行される場合に、装置においてビデオ・シーケンスをエンコードし上記に述べられた1又はそれより多くの方法を実行するプログラム・コードを具備するコンピュータ読み取り可能な媒体に向けられることができる。その場合には、コンピュータ読み取り可能な媒体は、シンクロナス・ダイナミック・ランダム・アクセス・メモリ(SDRAM)のようなダイナミック・ランダム・アクセス・メモリ(DRAM)、読み取り専用メモリ(ROM)、不揮発性ランダム・アクセス・メモリ(NVRAM)、電気的書き込み可能な読み取り専用メモリ(EEPROM)、フラッシュ・メモリ、及びその他を具備できる。
プログラム・コードは、コンピュータ読み取り可能な命令の形式でメモリに記憶されることができる。その場合には、DSPのようなプロセッサは、ここに説明された技術の1又はそれより多くを実行するためにメモリに記憶された命令を実行できる。ある場合には、技術は、エンコーディング・プロセスを加速するために映像推定器のような各種のハードウェア構成要素を呼び出すDSPによって実行されることができる。その他の場合には、ビデオ・エンコーダは、マイクロプロセッサ、1又はそれより多くの用途特定集積回路(ASIC)、1又はそれより多くのフィールド・プログラマブル・ゲート・アレイ(FPGA)、若しくはある種のその他のハードウェア−ソフトウェアの組み合わせとして与えられることができる。これらの実施形態及びその他の実施形態は、本発明の特許請求の範囲の範囲内である。
図1は、ソース・ディジタル・ビデオ装置が受信ディジタル・ビデオ装置へビデオ・データのエンコードされたシーケンスを送信する一例のシステムを説明するブロック図である。 図2は、ビデオ・エンコーダを含む装置のイグゼンプラリなブロック図である。 図3は、ビデオ・エンコーダを含む装置の他の1つのイグゼンプラリなブロック図である。 図4は、4−ピクセル×4−ピクセル・ビデオ・ブロックに対応する位置の近くに形成されたイグゼンプラリな検索空間の図である。 図5は、1/2ピクセル値の列を含むイグゼンプラリな検索空間の図である。 図6は、1/2ピクセル値の行及び列を含むイグゼンプラリな検索空間の図である。 図7は、検索空間及びデコーディングをサポートするために検索空間から発生されることができる種々のピクセルの図である。 図8は、ビデオ・エンコーディング技術を説明するフロー図である。
符号の説明
10…システム,35…通信バス,40,50,60,70…検索空間。

Claims (35)

  1. 映像推定のために非整数ピクセル値を発生する映像推定器、1方向補間のために少なくとも3個の整数ピクセル値の入力を受信するフィルタを含む映像推定器;
    映像推定器によって発生された非整数ピクセル値を記憶するメモリ;及び
    映像補正のために記憶された非整数ピクセル値を使用する映像補正器、
    を具備する、ビデオ・エンコーディング装置。
  2. 非整数ピクセル値は、1/2ピクセル値を具備し、
    映像推定器は、映像補正のために1/4ピクセル値を記憶することなく、映像推定のために1/2ピクセル値を使用して1/4ピクセル値を発生する;及び
    映像補正器は、映像補正のために1/2ピクセル値を使用して1/4ピクセル値を再発生する、
    請求項1の装置。
  3. 映像推定器は、映像推定及び映像補正のために1/2ピクセル値を発生するための6−タップ・フィルタ、及び映像推定のために1/4ピクセル値を発生する2−タップ・フィルタを含む;及び
    映像補正器は、映像補正のために1/4ピクセル値を再発生するための他の1個の2−タップ・フィルタを含む、
    請求項2の装置。
  4. 映像推定器は、水平及び垂直補間のために映像推定及び映像補正のための1/2ピクセル値を発生する2個の6−タップ・フィルタ、及び水平及び垂直補間のために映像推定のための1/4ピクセル値を発生する1個の2−タップ・フィルタを含む;及び
    映像補正器は、水平及び垂直補間のために映像補正のための1/4ピクセル値を再発生する他の1個の2−タップ・フィルタを含む、
    請求項2の装置。
  5. 装置は、ITU H.264ビデオ・エンコーディング標準に準拠し、6−タップ・フィルタ及び2−タップ・フィルタに対するタップ加重は、ITU H.264ビデオ・エンコーディング標準よって指定される、請求項4の装置。
  6. 映像推定器は、記憶された非整数ピクセル値に基づいて映像推定のために追加の非整数ピクセル値を発生する第2のフィルタを含む、請求項1の装置。
  7. 映像推定器は、映像補正のために追加の非整数ピクセル値を記憶することなく、映像推定のために追加の非整数ピクセル値を発生する、及び映像補正器は、映像補正のために追加の非整数ピクセル値を再発生するための第3のフィルタを含む、請求項6の装置。
  8. 装置は、4ピクセル×4ピクセル・ビデオ・ブロックに映像推定及び映像補正を実行する、請求項1の装置。
  9. 装置は、4ピクセル×4ピクセル・サブビデオ・ブロックより大きなビデオ・ブロックに対する差異行列及び映像ベクトルを発生するためにパイプライン方式で映像推定及び映像補正を実行する、請求項8の装置。
  10. 装置は、ディジタル・テレビ、ワイアレス通信装置、パーソナル・ディジタル・アシスタント、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ディジタル・カメラ、ディジタル記録装置、ビデオ能力を有するセルラ無線電話機、及びビデオ能力を有する衛星無線電話機の少なくとも1を含む、請求項1の装置。
  11. メモリは、ローカル・チップ搭載メモリを具備し、装置は、バスを介してローカル・チップ搭載メモリに電気的に接続されたチップ外ビデオ・メモリをさらに具備する、請求項1の装置。
  12. 映像推定器及び映像補正器によってエンコードされたビデオ・フレームを送信するための送信機をさらに具備する、請求項1の装置。
  13. リアルタイムでビデオ・フレームを取り込むためのビデオ取り込み装置、リアルタイムでビデオ・フレームをエンコードするために配置された映像推定器及び映像補正器、及びリアルタイムでエンコードされたビデオ・フレームを送信するために配置された送信機をさらに具備する、請求項12の装置。
  14. 非整数ピクセル値の発生は、水平又は垂直ピクセル補間を具備する、請求項1の装置。
  15. 映像推定及び映像補正のための非整数ピクセル値を発生するために少なくとも3個の整数ピクセル値の入力を受信する第1のフィルタ;
    映像推定のための追加の非整数ピクセル値を発生するために非整数ピクセル値の入力を受信する第2のフィルタ;及び
    映像補正のための追加の非整数ピクセル値を発生するために非整数ピクセル値の入力を受信する第3のフィルタ、
    を具備する、ビデオ・エンコーディング装置。
  16. 第1のフィルタは、映像推定及び映像補正のための非整数ピクセル値を発生するために整数ピクセル値の6個の入力を受信する6−タップ・フィルタを具備する;
    第2のフィルタは、映像推定のための追加の非整数ピクセル値を発生するために非整数ピクセル値の2個の入力を受信する2−タップ・フィルタを具備する;及び
    第3のフィルタは、映像補正のための追加の非整数ピクセル値を発生するために非整数ピクセル値の2個の入力を受信する2−タップ・フィルタを具備する、
    請求項15の装置。
  17. 装置は、ITU H.264ビデオ・エンコーディング標準に準拠し、6−タップ・フィルタ及び2−タップ・フィルタに対するタップ加重は、ITU H.264ビデオ・エンコーディング標準によって指定される、請求項15の装置。
  18. フィルタは、水平補間のために非整数ピクセル値を発生する、請求項15の装置。
  19. 垂直補間のために映像推定及び映像補正のための非整数ピクセル値を発生するために整数ピクセル値の6個の入力を受信する6−タップ・フィルタを具備する他の1個の第1のフィルタ;
    垂直補間のために映像推定のための追加の非整数ピクセル値を発生するために非整数ピクセル値の2個の入力を受信する2−タップ・フィルタを具備する他の1個の第2のフィルタ;及び
    垂直補間のために映像補正のための追加の非整数ピクセル値を発生するために非整数ピクセル値の2個の入力を受信する2−タップ・フィルタを具備する他の1個の第3のフィルタ、
    をさらに具備する、請求項18の装置。
  20. 水平又は垂直補間のために少なくとも3個の整数ピクセル値の入力を受信するフィルタを使用して映像推定のために非整数ピクセル値を発生すること;
    映像推定のために非整数ピクセル値を使用すること;
    非整数ピクセル値を記憶すること;及び
    映像補正のために記憶された非整数ピクセル値を使用すること、
    を具備する、ビデオ・エンコーディングの方法。
  21. 非整数ピクセル値は、1/2ピクセル値を具備し、方法は、
    映像補正のために1/4ピクセル値を記憶することなく、映像推定のために1/4ピクセル値を発生すること;及び
    映像補正のために1/4ピクセル値を再発生すること、
    をさらに具備する、請求項20の方法。
  22. 1/2ピクセル値を発生することは、6−タップ・フィルタを適用することを具備する;及び
    1/4ピクセル値を発生することは、2−タップ・フィルタを適用することを具備する、
    請求項21の方法。
  23. 方法は、ITU H.264ビデオ・エンコーディング標準に準拠し、6−タップ・フィルタ及び2−タップ・フィルタに対するタップ加重は、ITU H.264ビデオ・エンコーディング標準によって指定される、請求項22の方法。
  24. 記憶された非整数ピクセル値に基づいて映像推定のために追加の非整数ピクセル値を発生することをさらに具備する、請求項20の方法。
  25. 映像補正のために追加の非整数ピクセル値を記憶させることなく、映像推定のために追加の非整数ピクセル値を発生すること、及び映像補正のために追加の非整数ピクセル値を再発生することをさらに具備する、請求項24の方法。
  26. 4ピクセル×4ピクセル・ビデオ・ブロックに映像推定及び映像補正を実行することをさらに具備する、請求項20の方法。
  27. 4ピクセル×4ピクセル・サブビデオ・ブロックより大きなビデオ・ブロックに対する差異行列及び映像ベクトルを発生するためにパイプライン方式で映像推定及び映像補正を実行することをさらに具備する、請求項26の方法。
  28. 実行される場合に:
    水平又は垂直補間のために少なくとも3個の整数ピクセル値の入力を受信するフィルタを使用して非整数ピクセル値を発生する;
    映像推定のために非整数ピクセル値を使用する;
    非整数ピクセル値を記憶する;及び
    映像補正のために記憶された非整数ピクセル値を使用する、
    命令を具備する、コンピュータ読み取り可能な媒体。
  29. 非整数ピクセル値は、1/2ピクセル値を具備する、請求項28のコンピュータ読み取り可能な媒体であって、実行される場合に:
    映像補正のために1/4ピクセル値を記憶させることなく、映像推定のために1/4ピクセル値を発生する;及び
    映像補正のために1/4ピクセル値を再発生する、
    命令をさらに具備する、コンピュータ読み取り可能な媒体。
  30. 命令は、実行される場合に:
    6−タップ・フィルタを適用することによって1/2ピクセル値を発生する;及び
    2−タップ・フィルタを適用することによって1/4ピクセル値を発生する、
    請求項29のコンピュータ読み取り可能な媒体。
  31. 実行される場合に、4ピクセル×4ピクセル・ビデオ・ブロックに映像推定及び映像補正を実行する命令をさらに具備する、請求項28のコンピュータ読み取り可能な媒体。
  32. 実行される場合に、4ピクセル×4ピクセル・サブビデオ・ブロックより大きなビデオ・ブロックに対する差異行列及び映像ベクトルを発生するためにパイプライン方式で映像推定及び映像補正を実行する命令をさらに具備する、請求項31のコンピュータ読み取り可能な媒体。
  33. 水平又は垂直補間のための少なくとも3個の整数ピクセル値の入力を使用して映像推定のために非整数ピクセル値を発生するための手段;
    映像推定において非整数ピクセル値を使用するための手段;
    非整数ピクセル値を記憶させるための手段;及び
    映像補正のために記憶された非整数ピクセル値を使用するための手段、
    を具備する、装置。
  34. 整数ピクセル値の6個の入力を使用して映像推定のために非整数ピクセル値を発生するための手段;
    記憶された非整数ピクセル値の2個の入力を使用して映像推定のために追加の非整数ピクセル値を発生するための手段;及び
    記憶された非整数ピクセル値の2個の入力を使用して映像補正のために追加の非整数ピクセル値を発生するための手段、
    をさらに具備する、請求項33の装置。
  35. 映像推定のために非整数ピクセル値を発生する映像推定器、2方向補間のために少なくとも5個の整数ピクセル値の入力を受信するフィルタを含む映像推定器;
    映像推定器によって発生された非整数ピクセル値を記憶するメモリ;及び
    映像補正のために記憶された非整数ピクセル値を使用する映像補正器、
    を具備する、ビデオ・エンコーディング装置。

JP2005154612A 2004-10-27 2005-05-26 ビデオ・エンコーディングのための非整数ピクセルの共用 Pending JP2006129436A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/975,731 US20060088104A1 (en) 2004-10-27 2004-10-27 Non-integer pixel sharing for video encoding

Publications (1)

Publication Number Publication Date
JP2006129436A true JP2006129436A (ja) 2006-05-18

Family

ID=35840669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005154612A Pending JP2006129436A (ja) 2004-10-27 2005-05-26 ビデオ・エンコーディングのための非整数ピクセルの共用

Country Status (5)

Country Link
US (1) US20060088104A1 (ja)
EP (1) EP1653744A1 (ja)
JP (1) JP2006129436A (ja)
KR (1) KR100964515B1 (ja)
CN (1) CN1767644A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010507286A (ja) * 2006-10-13 2010-03-04 クゥアルコム・インコーポレイテッド 動き補償予測のための適応フィルタリングを備えたビデオ符号化

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050111545A1 (en) 2003-11-25 2005-05-26 Ram Prabhakar Dynamic packet size control for MPEG-4 data partition mode
US20060088104A1 (en) 2004-10-27 2006-04-27 Stephen Molloy Non-integer pixel sharing for video encoding
US20060133507A1 (en) * 2004-12-06 2006-06-22 Matsushita Electric Industrial Co., Ltd. Picture information decoding method and picture information encoding method
US7859574B1 (en) * 2005-07-19 2010-12-28 Maxim Integrated Products, Inc. Integrated camera image signal processor and video encoder
WO2007014378A2 (en) * 2005-07-28 2007-02-01 Thomson Licensing Motion estimation and compensation using a hierarchical cache
US8265151B1 (en) * 2005-12-14 2012-09-11 Ambarella Taiwan Ltd. Mode decision using approximate 1/2 pel interpolation
US8705630B2 (en) * 2006-02-10 2014-04-22 Nvidia Corporation Adapting one type of encoder to another type of encoder
US8208553B2 (en) * 2006-05-04 2012-06-26 Altera Corporation Methods and apparatus for quarter-pel refinement in a SIMD array processor
TWI326433B (en) * 2006-09-19 2010-06-21 Ind Tech Res Inst Method for saving interpolation data
KR100926752B1 (ko) 2007-12-17 2009-11-16 한국전자통신연구원 동영상 부호화를 위한 미세 움직임 추정 방법 및 장치
US8098957B2 (en) * 2008-02-13 2012-01-17 Qualcomm Incorporated Shared block comparison architechture for image registration and video coding
DE102011119177A1 (de) * 2011-11-23 2013-05-23 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Verfahren zum Erstellen eines ersten Parametersatzes
KR20130082304A (ko) * 2012-01-11 2013-07-19 한국전자통신연구원 고해상도용 상세단위 움직임 추정 장치
KR102301232B1 (ko) 2017-05-31 2021-09-10 삼성전자주식회사 다채널 특징맵 영상을 처리하는 방법 및 장치
KR102309918B1 (ko) * 2017-11-29 2021-10-08 한국전자기술연구원 비디오 부호화기에서 보간 필터를 이용한 고속 움직임 예측을 수행하기 위한 장치 및 이를 위한 방법
CN112215782B (zh) * 2020-10-29 2022-10-14 中国科学院长春光学精密机械与物理研究所 一种卷帘快门成像装置图像校正方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003026296A1 (en) * 2001-09-17 2003-03-27 Nokia Corporation Method for sub-pixel value interpolation
JP2004007337A (ja) * 2002-04-25 2004-01-08 Sony Corp 画像処理装置およびその方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5461423A (en) * 1992-05-29 1995-10-24 Sony Corporation Apparatus for generating a motion vector with half-pixel precision for use in compressing a digital motion picture signal
US5453799A (en) * 1993-11-05 1995-09-26 Comsat Corporation Unified motion estimation architecture
US5596369A (en) * 1995-01-24 1997-01-21 Lsi Logic Corporation Statistically derived method and system for decoding MPEG motion compensation and transform coded video data
KR100226684B1 (ko) * 1996-03-22 1999-10-15 전주범 반화소 움직임 추정장치
US6707853B1 (en) * 2000-01-10 2004-03-16 Intel Corporation Interface for performing motion compensation
US7630566B2 (en) * 2001-09-25 2009-12-08 Broadcom Corporation Method and apparatus for improved estimation and compensation in digital video compression and decompression
US20030169818A1 (en) * 2002-03-06 2003-09-11 Pere Obrador Video transcoder based joint video and still image pipeline with still burst mode
US8284844B2 (en) * 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US7349473B2 (en) * 2002-07-09 2008-03-25 Nokia Corporation Method and system for selecting interpolation filter type in video coding
US7408988B2 (en) * 2002-12-20 2008-08-05 Lsi Corporation Motion estimation engine with parallel interpolation and search hardware
US20060088104A1 (en) 2004-10-27 2006-04-27 Stephen Molloy Non-integer pixel sharing for video encoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003026296A1 (en) * 2001-09-17 2003-03-27 Nokia Corporation Method for sub-pixel value interpolation
JP2004007337A (ja) * 2002-04-25 2004-01-08 Sony Corp 画像処理装置およびその方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010507286A (ja) * 2006-10-13 2010-03-04 クゥアルコム・インコーポレイテッド 動き補償予測のための適応フィルタリングを備えたビデオ符号化
US9014280B2 (en) 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction

Also Published As

Publication number Publication date
EP1653744A1 (en) 2006-05-03
KR20060046205A (ko) 2006-05-17
US20060088104A1 (en) 2006-04-27
KR100964515B1 (ko) 2010-06-21
CN1767644A (zh) 2006-05-03

Similar Documents

Publication Publication Date Title
JP2006129436A (ja) ビデオ・エンコーディングのための非整数ピクセルの共用
US8761259B2 (en) Multi-dimensional neighboring block prediction for video encoding
US8340172B2 (en) Rate control techniques for video encoding using parametric equations
EP1862011B1 (en) Adaptive frame skipping techniques for rate controlled video encoding
EP1829381A2 (en) Motion estimation techniques for video encoding
JP3968712B2 (ja) 動き予測補償装置及びその方法
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
US7804901B2 (en) Residual coding in compliance with a video standard using non-standardized vector quantization coder
EP1679902A2 (en) Residual coding in compliance with a video standard using non-standardized vector quantization coder
US20100309981A1 (en) Reuse of a search region in motion estimation of multiple target frames
US20070153909A1 (en) Apparatus for image encoding and method thereof
US8218639B2 (en) Method for pixel prediction with low complexity
US20130170565A1 (en) Motion Estimation Complexity Reduction
WO2020181507A1 (zh) 图像处理的方法与装置
KR100928272B1 (ko) 동영상 부호화를 위한 움직임 추정 방법 및 장치
KR100955828B1 (ko) 참조 프레임 선택을 이용한 고성능 멀티미디어 코덱에 사용되는 움직임 추정 연산 방법
JP2001313948A (ja) 動きベクトル変換装置及び方法
JP2006261950A (ja) 周波数領域中のブロックマッチングの動き推定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110222