JPH09224254A - 動き推定のための装置および方法 - Google Patents

動き推定のための装置および方法

Info

Publication number
JPH09224254A
JPH09224254A JP9008232A JP823297A JPH09224254A JP H09224254 A JPH09224254 A JP H09224254A JP 9008232 A JP9008232 A JP 9008232A JP 823297 A JP823297 A JP 823297A JP H09224254 A JPH09224254 A JP H09224254A
Authority
JP
Japan
Prior art keywords
field
frame
error
motion
vector
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
JP9008232A
Other languages
English (en)
Inventor
Neil Linzer Elliott
エリオット・ニール・リンツァー
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH09224254A publication Critical patent/JPH09224254A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/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/53Multi-resolution motion estimation; Hierarchical motion estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】 本発明の目的は、経済的な動き推定方式を使
用することである。 【解決手段】 本発明には、動き推定を実行するための
システムおよび方法が含まれる。インターレース式フレ
ームは、フィールドに基づくスケーリングを使用するこ
とによって解像度を減らされ、最初の探索は、解像度を
減らされたフレームに対して実行される。この最初の探
索は、現フレームのフィールドと基準フレームのフィー
ルドの間の動き誤差を計算して、フィールド間動きを近
似的に記述するベクトルを得ることによって実行され
る。これらの同一の動き誤差は、フレーム誤差の計算に
使用され、フレーム誤差は、フレーム間動きを近似的に
記述するベクトルを得るのに使用される。その後、近似
フィールド・ベクトルと近似フレーム・ベクトルの精度
を上げて、より正確なベクトルを得る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ圧縮の分野
に関し、具体的には、ディジタル・モーション・ビデオ
信号を圧縮するためのシステムおよび方法に関する。
【0002】
【従来の技術】ディジタル伝送網と、ディジタル記憶媒
体と、超大規模集積(VLSI)デバイスと、ビデオ信
号およびオーディオ信号のディジタル処理の技術的進歩
は、ディジタル・ビデオの伝送と記憶を広範囲の応用分
野で経済的にすることに集中している。ディジタル・ビ
デオ信号の記憶と伝送は、多くの応用分野の中心であ
り、ビデオ信号の非圧縮表現は、大量の記憶域を必要と
するので、ディジタル・ビデオ圧縮技法の使用が、この
進歩しつつある技術にとって重要である。これに関し
て、ディジタル・ビデオ信号の圧縮に関する複数の国際
規格が、この10年間に出現してきたが、現在さらに多
くの標準規格が開発中である。これらの標準規格は、テ
レビ電話(video-telephony)およびテレビ会議、同軸
ケーブル網および光ファイバ網ならびに地上放送および
衛星放送での高品位ディジタル・テレビジョン送信、C
D−ROM、ディジタル・オーディオ・テープおよびウ
ィンチェスタ・ディスク駆動装置での対話型マルチメデ
ィア製品を含む、さまざまな応用分野での圧縮ディジタ
ル・ビデオの伝送と記憶のためのアルゴリズムに適用さ
れる。
【0003】これらの標準規格のいくつかでは、共通の
核となる圧縮技法に基づくアルゴリズム、たとえばCC
ITT(国際電信電話諮問委員会)勧告H.120、C
CITT勧告H.261、ISO/IECのMPEG−
1およびMPEG−2標準規格が用いられる。MPEG
アルゴリズムは、国際標準化機構(ISO)および国際
電気標準会議(IEC)の合同技術委員会の一部である
Moving Picture Experts Group(MPEG)によって開
発された。MPEG委員会は、ビデオ信号および関連オ
ーディオ信号を多重化した圧縮表現の標準規格を開発し
てきた。この標準規格では、圧縮ビット・ストリームの
構文と復号の方法は指定されるが、エンコーダに使用さ
れるアルゴリズムには、新規性と多様性についてかなり
の許容範囲が残されている。
【0004】MPEG−1アルゴリズムとMPEG−2
アルゴリズムのどちらもが、変換符号化と動き補償のハ
イブリッド・エンコーダとして記述できる。エンコーダ
が動き補償を効率的に使用するためには、通常は、動き
推定と称するタスクを実行しなければならない。
【0005】動き推定は、一般的に、あるピクチャの特
定の領域が、時間的に前または後に発生する1つまたは
複数のピクチャのどこ「から生じる」かの決定と、現ピ
クチャの1領域が、どれだけ正確に他のピクチャ「から
生じた」といえるかの決定として記述できる。
【0006】
【発明が解決しようとする課題】動き推定は、MPEG
−2エンコーダが実行するタスクのうちで最も計算集中
型のタスクの1つである。したがって、MPEG−2エ
ンコーダを作成する際の重要な考慮点が、経済的な動き
推定方式を使用することである。
【0007】
【課題を解決するための手段】本発明には、動き推定を
実行するためのシステムおよび方法が含まれる。インタ
ーレース式フレームは、フィールドに基づくスケーリン
グを使用して解像度を減らされ、最初の探索は、解像度
を減らされたフレームに対して実行される。この最初の
探索は、現フレームのフィールドと基準フレームのフィ
ールドの間の動き誤差を計算して、フィールド間動きを
近似的に記述するベクトルを得ることによって実行され
る。これらの同一の動き誤差は、フレーム誤差の計算に
使用され、フレーム誤差は、フレーム間動きを近似的に
記述するベクトルを得るのに使用される。その後、近似
フィールド・ベクトルと近似フレーム・ベクトルの精度
を上げて、より正確なベクトルを得る。
【0008】有利なことに、本発明は、ISO/IEC
MPEG−2標準規格と共に使用するのに適したエン
コーダを実施することができる。
【0009】
【発明の実施の形態】
a.MPEG−2環境 本発明は、MPEG−2エンコーダに関連して適用でき
るので、本発明を理解しやすくするために、MPEG−
2圧縮アルゴリズムの本発明に関係する態様の一部を再
検討する。しかし、本発明は、MPEGアルゴリズムの
特徴の一部を共有する他のビデオ・コーディング・アル
ゴリズムにも適用可能であることに留意されたい。
【0010】まず、テキストのページ、イメージ、会話
の一部、ビデオ・シーケンスなどのデータ・オブジェク
トの圧縮は、1)そのオブジェクトのトークンの集合へ
の分解、2)なんらかの意味で最小の長さを有する2進
文字列によるこれらのトークンの表現、および3)明瞭
に定義された順序での文字列の連結、を含む、一連のス
テップとみなすことができることを理解されたい。ステ
ップ2およびステップ3は、ロスレスすなわち、原デー
タを反転時に忠実に回復可能であり、ステップ2は、エ
ントロピ・コーディングとして既知である。ステップ1
は、一般にロスレスまたはロッシイのいずれかとするこ
とができる。ほとんどのビデオ圧縮アルゴリズムは、ビ
ット速度要件が厳格なので、ロッシイである。ロッシイ
圧縮アルゴリズムが成功すると、冗長で不適切な情報が
除去され、視覚的に重要ではない傾向を有する部分では
比較的大きい誤差が許容され、人間の観察者が非常に敏
感なシーケンスの態様は注意深く表現される。ステップ
1のためにMPEG−2アルゴリズムで使用される技法
は、予測/補間動き補償ハイブリッドDCT/DPCM
コーディングとして説明できる。可変長コーディングと
も称するハフマン・コーディングを、ステップ2で使用
する。すでに述べたように、MPEG−2標準規格は、
実際にはデコーダと圧縮ビット・ストリーム構文の仕様
であるが、以下のMPEG−2仕様の説明は、提示を簡
単にするために、主にエンコーダの観点から見たもので
ある。
【0011】MPEG−2ビデオ標準規格では、ISO
−IEC JTC1/SC29/WG11、「Generic
Coding of Moving Pictures and Associated Audio Inf
ormation: Video, International Standard」(199
4年)に記載されているように、伝送用のビデオのコー
ド化表現が指定されている。このアルゴリズムは、イン
タレース式または非インタレース式のコンポーネント・
ビデオに対して動作するように設計されている。各ピク
チャは、3つの成分すなわち、輝度(Y)、赤色差(C
r)および青色差(Cb)を有する。ビデオ・データは、
Yサンプルごとに1つのCrサンプルと1つのCbサンプ
ルがある4:4:4フォーマット、水平方向で輝度サン
プルの半分のCrサンプルとCbサンプルがある4:2:
2フォーマット、または、水平方向と垂直方向の両方で
輝度サンプルの半分のCrサンプルとCbサンプルがある
4:2:0フォーマットでコーディングすることができ
る。
【0012】MPEG−2データ・ストリームは、シス
テム情報およびおそらくは他のビットストリームと共
に、層化されているとみなすことができるシステム・デ
ータ・ストリームにパックされる、ビデオ・ストリーム
とオーディオ・ストリームからなる。MPEG−2デー
タ・ストリームのビデオ層内では、圧縮データがさらに
層化される。層の編成を説明すると、本発明の理解に役
立つであろう。MPEG−2ビデオ層構造のこれらの層
を、図1ないし図3に示す。これらの層は、圧縮アルゴ
リズムの動作ならびに圧縮ビット・ストリームの構成に
関係がある。最上位の層は、全シーケンスの制御情報と
パラメータを含むビデオ・シーケンス層である。次の層
では、シーケンスが、「グループ・オブ・ピクチャ」
(GOP)と称する連続するピクチャの組に分割され
る。この層の一般的な図解を、図1に示す。復号は、基
本的に前のGOPに無関係に、任意のGOPの先頭から
開始することができる。あるGOPに含まれるピクチャ
の数に制限はなく、すべてのGOPに同数のピクチャが
含まれる必要もない。
【0013】第3の層であるピクチャ層は、単一のピク
チャである。この層の一般的な図解を、図2に示す。各
ピクチャの輝度成分は、16×16個の領域に分割され
る。色差成分は16×16個の輝度領域と空間的に同じ
位置にある適当なサイズのブロックに分割され、4:
4:4ビデオの場合には16×16、4:2:2ビデオ
の場合には8×16、4:2:0ビデオの場合には8×
8である。これら同位置の輝度領域と色差領域がひとま
とめになって、「マクロブロック」(MB)と称する第
5層を構成する。ピクチャ内のマクロブロックは、マク
ロブロック1から始めて、辞書順に連続した番号をつけ
られる。
【0014】ピクチャ層とMB層の間には、第4層の
「スライス」層がある。各スライスは、ある個数の連続
するMBからなる。最後に、各MBは、4つの8×8輝
度ブロックと、4:4:4ビデオでは8つ、4:2:2
ビデオでは4つ、4:2:0ビデオでは2つのクロミナ
ンス・ブロックからなる。シーケンス層、GOP層、ピ
クチャ層およびスライス層のすべてが、ヘッダを関連付
けられている。ヘッダは、バイト位置合せされた開始コ
ードから始まり、ヘッダには、対応する層に含まれるデ
ータに関する情報が含まれる。
【0015】ピクチャは、フィールド構造またはフレー
ム構造のいずれかとすることができる。フレーム構造の
ピクチャには、全フレームすなわち、奇数走査線を含む
1フィールドと偶数走査線を含むもう1つのフィールド
の組合せを再構成するための情報が含まれる。フィール
ド構造のピクチャには、1フィールドを再構成するため
の情報が含まれる。各輝度フレームの幅(画素単位)を
Cと表記し、高さをRと表記する(Cは列(columns)
を表し、Rは行(rows)を表す)と、フレーム構造のピ
クチャには、C×R画素の情報が含まれ、フィールド構
造のピクチャには、C×R/2画素の情報が含まれる。
【0016】フィールド構造のピクチャのマクロブロッ
クには、単一のフィールドからの16×16画素セグメ
ントが含まれる。フレーム構造のピクチャのマクロブロ
ックには、両方のフィールドによって構成されるフレー
ムからの16×16画素セグメントが含まれ、各マクロ
ブロックには、2つのフィールドのそれぞれからの16
×8領域が含まれる。
【0017】GOP内には、3タイプのピクチャが現れ
る可能性がある。ピクチャ・タイプを区別する相違点
は、使用される圧縮方法である。第1のタイプであるイ
ントラモード(Intramode)ピクチャすなわちIピクチ
ャは、他のピクチャから独立に圧縮される。Iピクチャ
間の距離に対する固定された上限は存在しないが、ラン
ダム・アクセスおよび他の特殊モードの動作が容易にな
るように、Iピクチャは、1シーケンスを通じて十分頻
繁に存在することが期待される。予測動き補償(Predic
tively motion-compensated)ピクチャすなわちPピク
チャは、そのピクチャの圧縮データと、前に表示された
IピクチャまたはPピクチャから再構成される2つのフ
ィールドから再構成される。両方向動き補償(Bidirect
ionally motion-compensated)ピクチャすなわちBピク
チャは、そのピクチャの圧縮データと、前に表示された
IピクチャまたはPピクチャから再構成される2つのフ
ィールドと、将来表示されるIピクチャまたはPピクチ
ャから再構成される2つのフィールドから再構成され
る。再構成されるIピクチャまたはPピクチャは、他の
ピクチャの再構成に使用される可能性があるので、これ
らをアンカ・ピクチャと称する。
【0018】一般的な圧縮技法が、変換コーディングで
ある。MPEG−2および複数の他の圧縮標準規格で
は、離散コサイン変換(DCT)が選択された。Iピク
チャの圧縮は、1)画素のブロックのDCTを求めるス
テップと、2)DCT係数を量子化するステップと、
3)結果をハフマン・コーディングするステップによっ
て達成される。MPEG−2では、DCT演算によっ
て、n×n画素のブロックをn×n個の変換係数の組に
変換する。複数の国際圧縮標準規格と同様に、MPEG
−2アルゴリズムでは、8×8のDCTブロック・サイ
ズが使用される。DCT変換自体はロスレス演算であ
り、それを実行する計算装置およびアルゴリズムの精度
の範囲内で逆転可能である。
【0019】第2ステップであるDCT係数の量子化
は、MPEG−2アルゴリズムにおけるロスの主な原因
である。DCT係数の2次元配列の要素をcmnと表し
(mとnは0から7までの範囲)、切捨補正または丸め
補正を除くと、量子化は、各DCT係数cmnをwmn×Q
Pで割ることによって達成される。ここで、wmnは重み
係数であり、QPは量子化パラメータである。重み係数
mnを用いると、視覚的な重要さが低い係数に粗い量子
化を適用できるようになる。量子化パラメータQPは、
MPEG−2の品位対ビット速度のトレード・オフのた
めの主な手段である。QPは、1ピクチャ内のMBごと
に変更できることに留意されたい。
【0020】量子化の後に、各MBのDCT係数情報
は、ハフマン・コードの組を使用して編成され、コード
化される。このステップの詳細は、本発明の理解にとっ
て本質的ではなく、当技術分野で一般に理解されている
ので、本明細書ではこれ以上説明しない。
【0021】ほとんどのビデオ・シーケンスでは、連続
するピクチャの間に高い度合の相関がみられる。ピクチ
ャをコーディングする前にこの冗長性を除去するのに有
用な方法が、「動き補償」である。MPEG−2では、
動き補償の複数の方法のためのツール(下で説明)が提
供される。
【0022】動き補償の多くの方法が、下記の共通点を
有する。マクロブロックごとに、1つまたは複数の動き
ベクトルがビット・ストリーム内で符号化される。これ
らの動きベクトルを用いると、デコーダが、予測マクロ
ブロックと称するマクロブロックを再構成できるように
なる。エンコーダは、符号化されるマクロブロックから
「予測」マクロブロックを減算して、「差分」マクロブ
ロックを形成する。エンコーダは、差分マクロブロック
の圧縮に、イントラ・マクロブロックの圧縮に使用され
るものと基本的に類似したツールを使用する。
【0023】ピクチャのタイプ(I、PまたはB)と構
造(フィールドまたはフレーム)によって、使用できる
動き補償の方法が決定される。エンコーダは、ピクチャ
内のマクロブロックごとに、これらの方法の中から選択
する。エンコーダは、各マクロブロックについて選択さ
れた動き補償方法と共に使用する動きベクトルも選択す
る。この処理を、動き推定と称する。好ましい実施例で
は、本発明は、フレーム構造のピクチャの動き推定を扱
う。フレーム構造のピクチャの動き補償方法を、これか
ら説明する。
【0024】動き補償の方法を、使用されるマクロブロ
ック・モードと動き補償モードによって説明する。マク
ロブロック・モードには、イントラ(I)モード、順方
向(F)モード、逆方向(B)モード、補間双方向(F
B)モードの4つがある。Iモードの場合、動き補償は
使用されない。他のマクロブロック・モードの場合、フ
レーム(FR)またはフィールド(FI)動き補償モー
ドを使用することができる(場合によっては、別のモー
ド(デュアル・プライム)も使用できる。デュアル・プ
ライムの動き推定方法は、本発明の対象ではなく、した
がって、デュアル・プライム動き補償は説明しない)。
本明細書では、マクロブロックによって使用されるマク
ロブロック・モードと動き補償モードの組合せを、動き
補償「方法」と呼称する。動き補償方法には、F/F
R、B/FR、FB/FR、F/FI、B/FIおよび
FB/FIの6つがある。これらの方法を、下で説明す
る。
【0025】どのピクチャのマクロブロックでも、Iマ
クロブロック・モードで圧縮できる。このモードは、I
ピクチャ内で使用可能な唯一のマクロブロック・モード
であり、動き補償を使用しない。
【0026】Fマクロブロック・モードは、Pピクチャ
またはBピクチャでは使用できるが、Iピクチャでは使
用できない。Fマクロブロック・モードを使用する時に
は、現ピクチャの前に表示されるアンカ・ピクチャ(前
アンカ・フレーム)から最も最近に復号された上フィー
ルドと下フィールドから、予測マクロブロックが形成さ
れる。
【0027】BまたはFBのマクロブロック・モード
は、Bピクチャでは使用できるが、IピクチャまたはP
ピクチャでは使用できない。Bマクロブロック・モード
を使用する時には、現ピクチャの後で表示される最も最
近に復号されれた2つのアンカ・フィールド(将来のア
ンカ・フレーム)から、予測マクロブロックが形成され
る。FBマクロブロック・モードを使用する時には、将
来のアンカ・フレームと前アンカ・フレームから予測マ
クロブロックが形成される。
【0028】Fマクロブロック・モードとFR動き補償
モードを使用する動き補償の方法(F/FR)は、次の
ように説明できる。エンコーダは、単一のベクトルをビ
ット・ストリーム内で送る。このベクトルは、以前のフ
レーム内のインデックスの組を生成するのに使用され、
予測マクロブロックは、これらのインデックスの位置に
置かれる16×16領域である。この動き補償方法を使
用する時には、2つのフィールドの間に区別がない。す
なわち、以前のフレームと現マクロブロックは、2つの
フィールドではなく単一のイメージとみなされ、予測マ
クロブロックは、以前のフレームのどの位置からでも開
始することができる。
【0029】動き補償のB/FR方法は、以前のフレー
ムではなく将来のフレームが予測マクロブロックの生成
に使用される点を除いて、F/FR方法と同一である。
【0030】Fマクロブロック・モードとFI動き補償
モードを使用する動き補償方法は(F/FI)、次のよ
うに説明できる。エンコーダは、ビット・ストリーム内
で2つのベクトルを送る。各ベクトルは、以前のフレー
ムのフィールドのうちの1つから16×8画素の配列を
形成するのに使用される。各ベクトルと共に基準フレー
ムのどのフィールドを使用するかを示すために、2ビッ
トを送る。予測マクロブロックは、これら2つの配列を
インターリーブすることによって形成される。すなわ
ち、第1の配列は、予測マクロブロックの奇数走査線を
提供し、第2の配列は、偶数走査線を提供する(各配列
は、予測マクロブロックの異なるフィールドに使用され
る)。
【0031】動き補償のB/FI方法は、以前のフレー
ムではなく将来のフレームが、予測マクロブロックの生
成に使用される点を除いて、F/FI方法と同一であ
る。
【0032】動き補償のFB/FR方法は、次のように
動作する。エンコーダは、2つの動きベクトルすなわ
ち、1つの順方向ベクトルと1つの逆方向ベクトルを送
る。順方向ベクトルは、動き補償のF/FR方法でベク
トルを使って予測マクロブロックを形成するのと同じ方
法で、以前のフレームからマクロブロックを構成するの
に使用され、逆方向ベクトルは、動き補償のB/FR方
法でベクトルを使って予測ブロックを形成するのと同じ
方法で、将来のフレームからマクロブロックを構成する
のに使用される。これら2つのマクロブロックの平均を
とって、予測マクロブロックを形成する。
【0033】動き補償のFB/FI方法は、次のように
動作する。エンコーダは、4つの動きベクトルすなわ
ち、2つの順方向ベクトルと2つの逆方向ベクトルを送
る。順方向ベクトルは、動き補償のF/FI方法で2つ
のベクトルを使って予測マクロブロックを形成するのと
同じ方法で、以前のフレームからマクロブロックを構成
するのに使用され、逆方向ベクトルは、動き補償のB/
FI方法で2つのベクトルを使って予測マクロブロック
を形成するのと同じ方法で、将来のフレームからマクロ
ブロックを構成するのに使用される。これら2つのマク
ロブロックの平均をとって、予測マクロブロックを形成
する。
【0034】動き補償のモードのいずれかのために送ら
れるベクトルは、半画素単位とすることができる。動き
補償のF/FR、F/FI、B/FRおよびB/FI方
法の場合、使用されるベクトルが半画素単位の時には、
空間補間を使用して予測マクロブロックを生成する。F
B/FRおよびFB/FI方法の場合、使用されるベク
トルが半画素単位の時には、空間補間を使用して、予測
マクロブロックを作るために平均をとられるマクロブロ
ックを生成する。
【0035】エンコーダは、動き推定を実行して、使用
する動き補償の方法と動きベクトルを決定する。エンコ
ーダが使用する可能性がある方法の1つが、ベクトルと
動き補償方法の規則に従う組合せのすべてを調べ、各組
合せの誤差を計算し、誤差が最も小さい組合せを選択す
ることである。誤差尺度の例が、動き補償方法と動きベ
クトルの特定の組合せによって使用される差分マクロブ
ロックのノルムである。この方法(網羅的探索)は、計
算集中的であるから、実際にはほとんど使用されない。
【0036】各MBのコーディングに使用されるMBモ
ードとそのモードに関連する動きベクトルに関係する付
随情報をコーディングする必要を除いて、動き補償され
たマクロブロックのコーディングは、イントラモードM
Bのコーディングに非常に類似している。量子化にわず
かな相違があるが、wmn×QPによる除算というモデル
は、やはりあてはまる。
【0037】MPEG−2アルゴリズムは、固定ビット
速度伝送媒体と共に使用することができる。しかし、各
ピクチャのビット数は、ピクチャ処理のタイプの相違、
ならびに、コーディングされるシーンの空間−時間的複
雑さの時間に伴う不可避の変動のために、正確に一定で
はなくなる。MPEG−2アルゴリズムでは、バッファ
に基づく速度制御戦略を使用して、ビット速度に許容さ
れる変動に意味のある限界を設ける。VBV(Video Bu
ffer Verifier)は、仮想バッファの形で考案され、そ
の唯一の仕事は、各ピクチャのコーディングに使用され
るビット数に上限を設け、その結果、総合ビット速度が
ターゲットの割振りと等しくなり、ターゲットからの短
期間偏差が制限されるようにすることである。この速度
制御方式は、次のように説明することができる。バッフ
ァの後に仮定のデコーダがあるシステムを検討する。バ
ッファは、一定のビット速度で、記憶媒体からのビット
・ストリームに含まれる圧縮データを書き込まれる。バ
ッファ・サイズとビット速度の両方が、圧縮ビット・ス
トリーム内で伝送されるパラメータである。やはりビッ
ト・ストリーム内の情報から導出される初期遅延の後
に、仮定のデコーダは、最初のピクチャに関連するデー
タのすべてを即座にバッファから除去する。その後、そ
のシーケンスのピクチャ速度に等しい間隔で、デコーダ
は、バッファ内の最も古いピクチャに関連するデータの
すべてを除去する。
【0038】このビット・ストリームがMPEG−2速
度制御要件を満足するためには、各ピクチャのすべての
データが、デコーダがそれを必要とする瞬間にバッファ
内で使用可能になり、バッファは絶対にオーバーフロー
してはならない。この可用性要件は、通常は、各ピクチ
ャ内で許容されるビット数の上限および下限に置き換え
られる。所与のピクチャの下限と上限は、その前のすべ
てのピクチャで使用されたビット数に依存する。この要
件を満たすビット・ストリームを作成するのは、エンコ
ーダの機能である。
【0039】図4は、通常のMPEG−2エンコーダを
簡略化したブロック図である。MPEG−2符号化は、
当技術分野で一般に既知であるから、MPEG−2エン
コーダの構成要素のすべてを図示するのではなく、主要
構成要素と、本発明の諸態様を理解するのに必要な要素
を中心に図示した。具体的に言うと、MPEG−2エン
コーダの構成要素のうち、フレーム・メモリ401、動
き推定ユニット402、速度制御ユニット403、動き
補償ユニット413、変換ユニット414、量子化ユニ
ット415、可変長エンコーダ・ユニット419および
出力バッファ421を図示した。図4のビデオ・エンコ
ーダへの入力は、画素データY、CbおよびCrを含む信
号409である。出力は、圧縮ビット・ストリーム42
2である。
【0040】図4のエンコーダの場合、入力画素データ
は、フレーム・メモリ401に記憶される。動き推定ユ
ニット402は、各マクロブロックの動き推定を行う。
具体的に言うと、マクロブロックのそれぞれについて、
動き推定ユニット402は、どの動き補償方法を使用す
るかと、どの動きベクトルを使用するかを決定する。
【0041】動き推定ユニット402は、動き補償方法
と動きベクトルを、信号412として動き補償ユニット
413に送る。この信号は、信号411としてフレーム
・メモリ401から取り出される画素データと共に、差
分マクロブロックの計算に動き補償ユニット413によ
って使用され、差分マクロブロックは、信号426とし
て変換ユニット414に送られる。
【0042】変換ユニット414は、差分マクロブロッ
ク(信号426)を8×8ブロックにセグメント化し、
各ブロックのDCTを計算する。これらは、信号425
として量子化ユニット415に送られる。
【0043】量子化ユニット415は、速度制御ユニッ
ト403(後で説明する)から信号417として送られ
る量子化パラメータQpに基づいて、各DCT係数を量
子化する。これらの量子化されたDCT係数は、信号4
24として可変長エンコーダ・ユニット419に送られ
る。
【0044】マクロブロックごとに、可変長エンコーダ
・ユニット419は、量子化されたDCT係数(量子化
ユニット415からの信号424)と、マクロブロック
・モードと、動き補償モードおよび動きベクトル(動き
推定ユニット402からの信号416)と、Qp(速度
制御ユニット403からの信号418)の圧縮表現を作
る。圧縮マクロブロックは、信号420として出力バッ
ファ421に送られる。
【0045】出力バッファ421は、可変長エンコーダ
419から信号420として各マクロブロックの圧縮表
現を受け取る。その後、出力バッファ421は、圧縮ビ
ット・ストリーム422として、先着順サービス式に受
け取ったビットを送り出す。出力バッファ421が満杯
であることを示す信号は、信号423として速度制御ユ
ニット403に送られる。
【0046】速度制御ユニット403は、各マクロブロ
ックのQpの値を決定する。速度制御ユニット403
は、通常、出力バッファ421がほぼ満杯の場合には将
来のマクロブロックのQpの値を増加させ、出力バッフ
ァ421がほぼ空の場合には将来のマクロブロックのQ
pの値を減少させる。
【0047】"ISO-IEC/JTC1/SC29/WG11 Coded Represen
tation of Picture and Audio Information: Test Mode
l 5, Draft, 1993"に、通常の動き推定ユニットが記載
されている。これから、この参考文献に記載の方法に類
似した動き推定方法を説明する。動き補償の方法のそれ
ぞれ(F/FR、F/FI、B/FR、B/FI、FB
/FR、FB/FI)について、候補ベクトル(または
ベクトル・セット)を選択する。最も小さい「予測誤
差」を有する方法が、そのマクロブロックについて使用
される方法として選択され、その方法について前に選択
された候補ベクトル(またはベクトル・セット)が、使
用されるベクトル(またはベクトル・セット)になる。
予測誤差とは、予測マクロブロックが現マクロブロック
(符号化されつつあるマクロブロック)と一致しない度
合を示す数である。例として、常に予測誤差として差分
マクロブロックの「1ノルム」を使用する通常の動き推
定ユニットを説明する。1組の数の1ノルムとは、これ
らの数の絶対値の合計である。したがって、予測マクロ
ブロックの行i列jの画素をa(i,j)と表し、現マ
クロブロックの行i列jの画素をc(i,j)と表す
と、差分マクロブロックの1ノルムΔaは、次式で表さ
れる。
【数1】
【0048】時間的補間を使用しない方法のそれぞれ
(F/FR、F/FI、B/FRおよびB/FI)につ
いて、所与の範囲内の各ベクトル(1つまたは複数)を
検査する。ベクトル(1つまたは複数)ごとに、予測誤
差を計算する。方法ごとに、最小の予測誤差を与えるベ
クトルまたはベクトル・セットを、候補ベクトルまたは
候補ベクトル・セットとして選択する。FB/FR方法
の場合、候補ベクトルは、F/FR方法およびB/FR
方法の候補として選択されるものと同一のベクトルであ
る。別々の計算を行って、所与の候補ベクトルによるF
B/FR方法の予測誤差を計算する。FB/FI方法の
場合、候補ベクトルは、F/FI方法およびB/FI方
法の候補として選択されるものと同一のベクトルであ
る。別々の計算を行って、所与の候補ベクトルによるF
B/FI方法の予測誤差を計算する。
【0049】方法のそれぞれについてベクトル(または
ベクトル・セット)を選択した後に、最小の1ノルムを
有する方法および候補ベクトル(またはベクトル・セッ
ト)を選択する。
【0050】b.エンコーダの好ましい実施態様 本発明のビデオ・エンコーダは、図17に示される動き
推定ユニットを有する、図4に示された形のエンコーダ
である。図17の動き推定ユニットの動作は、次のよう
に説明できる。
【0051】ビデオ・データは、信号1102としてメ
モリ1104に送られる。階層フィールド/フレーム計
算エンジン1108は、メモリ1104に記憶されたビ
デオ・データを信号1106として読み取り、マクロブ
ロックごとにF/FR、F/FI、B/FRおよびB/
FIの動き補償方法の候補ベクトルを計算し、これらの
候補ベクトルは、信号1110として補間機構および最
終決定機構1114に送られる。補間機構および最終決
定機構1114は、FB/FR方法とFB/FI方法の
候補動きベクトルを計算し、どの動き補償方法を使用す
るかを決定する。
【0052】補間機構および最終決定機構1114の動
作は、通常通りである。たとえば、「ISO-IEC/JTC1/SC2
9/WG11 Coded Representation of Picture and Audio I
nformation: Test Model 5, Draft, 1993」の動き推定
機構は、図17の動き推定機構と共に使用するのに適し
た補間機構および最終決定機構を有する。
【0053】図17に示された動き推定機構と従来の動
き推定機構、たとえば、「ISO-IEC/JTC1/SC29/WG11 Cod
ed Representation of Picture and Audio Informatio
n: Test Model 5, Draft, 1993」の動き推定機構の間の
相違は、図17の動き推定機構が、階層フィールド/フ
レーム計算エンジン1108を用いて候補動きベクトル
を計算することである。
【0054】図5は、階層フィールド/フレーム計算エ
ンジン1108の詳細なブロック図である。ビデオ・デ
ータ(全解像度)は、信号502として入り、メモリ5
04(全解像度ビデオ・データを記憶)とスケーラ50
6に向かう。スケーラ506は、入力ビデオのフィール
ドに基づくスケーリングを実行して、その解像度を下
げ、結果の解像度が下がったビデオ・データを信号50
8として出力する。信号508によって供給される解像
度を減らされたビデオ・データは、メモリ510に記憶
される(フィールドに基づくスケーリングとは、各フィ
ールドが、水平または垂直の解像度を減らされるように
スケーリングされ、スケーリングされたフィールドが、
より低解像度のフレームに再構成されることを意味す
る)。
【0055】フィールド誤差計算ユニット514は、解
像度を減らされたビデオを、メモリ510から信号51
2として読み取り、各マクロブロックのフィールド動き
補償モードと逆方向マクロブロック・モード(F/FI
動き補償方法)またはフィールド動き補償モードと順方
法マクロブロック・モード(B/FI動き補償方法)の
異なる粗ベクトルの誤差を計算する。これらのベクトル
を粗ベクトルと称するのは、これらが、解像度を減らさ
れたデータから計算され、したがって、全解像度のデー
タから計算されるベクトルほどの精度で動きを記述して
いないからである。これらの誤差およびベクトルは、フ
ィールド誤差フレーム誤差変換ユニット518によって
信号516として読み取られ、フィールド誤差フレーム
誤差変換ユニット518は、フィールド誤差から、各マ
クロブロックのフレーム動き補償モードおよび逆方向マ
クロブロック・モード(F/FI動き補償方法)または
フレーム動き補償モードおよび順方向マクロブロック・
モード(B/FI動き補償方法)の異なる粗動きベクト
ルの誤差を計算する。好ましい実施例では、フィールド
誤差フレーム誤差変換ユニット518が、フレーム誤差
に対応するデータを用いて計算される2つのフィールド
誤差の合計として各フレーム誤差を計算する。これらの
誤差およびベクトル(信号520)ならびにフィールド
誤差およびベクトル(信号516)は、精度向上決定ユ
ニット522によって読み取られる。
【0056】精度向上決定ユニット522は、粗動きベ
クトルの精度を高める必要があるかどうかを決定する。
たとえば、1実施例では、精度向上決定ユニット522
が、各方向(Pピクチャの場合は順方向、Bピクチャの
場合は順方向と逆方向)について、最小の誤差を有する
粗フレーム・ベクトルの精度を高めるかどうかと、各マ
クロブロックの上フィールドと下フィールドのそれぞれ
について、最小の誤差を有する粗フィールド・ベクトル
の精度を高めるかどうかを決定する。精度を高められる
ベクトルを識別するデータは、精度向上決定ユニット5
22によって生成され、信号523として精度向上ユニ
ット525に送られ、精度向上ユニット525は、メモ
リ504から全解像度画素データを信号524として読
み取ることによって、粗ベクトルの精度を高めて、信号
526として最終候補ベクトルを作る。
【0057】フィールドに基づくスケーリングを実行す
るためにスケーラがどのように働くかを示す最初の例
は、図7および図8からわかる。この例では、水平スケ
ーリングだけが実行される。図7は、全解像度フレーム
を示す図であり、図8は、水平に4:1にスケーリング
された同一のフレームを示す図である。この例では、ス
ケーリングは、4画素の平均をとることによって行われ
る。全解像度フレーム(図7)は、20列(Aないし
X)を有し、解像度を減らされたフレーム(図8)は、
5列だけを有する。後者の第1列は、図7の列A、列
B、列Cおよび列Dの平均であり、第2列は、列E、列
F、列G、列Hの平均であり、以下同様である。
【0058】スケーラがフィールドに基づくスケーリン
グをどのように実行するかを示す第2の例は、図9およ
び図10からわかる。この例では、垂直スケーリングだ
けが実行される。図9は、全解像度フレームを示す図で
あり、図10は、垂直に2:1にスケーリングされた同
一のフレームを示す図である。この例では、スケーリン
グは、2画素の平均をとることによって行われる。全解
像度フレーム(図9)は、20行(AないしX)を有
し、解像度を減らされたフレーム(図10)は、10行
だけを有する。後者の第1行は、図9の行AおよびCの
平均であり、第2行は、行BおよびDの平均であり、第
3行は行EおよびGの平均、第4行は行FおよびHの平
均、以下同様である。解像度を減らされたフレーム(図
10)では、上フィールド(奇数行)が、全解像度フレ
ーム(図9)の上フィールド(奇数行)からのデータを
スケーリングすることによって形成されることに留意さ
れたい。同様に、解像度を減らされたフレーム(図1
0)では、下フィールド(偶数行)が、全解像度フレー
ム(図9)の下フィールド(偶数行)からのデータをス
ケーリングすることによって形成される。
【0059】図11および図12は、水平に2:1、垂
直に2:1のスケーリングが行われる、解像度を減らさ
れた基準フレームおよび現マクロブロックを示す図であ
る。図11は、10×10画素サイズの解像度を減らさ
れた基準フレーム(元のフレームが20×20画素であ
ったことを意味する)を示す図である。図12は、解像
度を減らされた現マクロブロックを示す図である。全解
像度マクロブロックは16×16であるから、解像度を
減らされたマクロブロックは、8×8である。図13お
よび図14は、図11のフレームを2つのフィールドと
して示す図であり、図13は上フィールド、図14は下
フィールドを示す図である。図15および図16は、図
12のマクロブロックをマクロブロックの2つのフィー
ルドとして示す図であり、図15は上フィールド、図1
6は下フィールドを示す図である。図11、図12、図
13、図14、図15および図16は、フィールド誤差
計算ユニット514およびフィールド誤差フレーム誤差
変換ユニット518の動作の例を与えるのに使用され
る。
【0060】図15のマクロブロックの上フィールドを
検討する。この領域は、図13に示された上フィールド
の8つの同様のサイズの領域と比較することができる。
フィールド誤差計算ユニット514は、下記の場合のそ
れぞれの誤差を計算する。 マクロブロック フィールド基準ブ 誤差 ・フィールド ロックの左上角 上 A0_0 TT_0_0 上 A0_1 TT_0_1 上 A0_2 TT_0_2 上 A0_3 TT_0_3 上 A2_0 TT_1_0 上 A2_1 TT_1_1 上 A2_2 TT_1_2 上 A2_3 TT_1_3 フィールド誤差計算ユニット514は、上マクロブロッ
ク・フィールドと下基準フィールドの間の誤差も計算す
る。 マクロブロック フィールド基準ブ 誤差 ・フィールド ロックの左上角 上 A1_0 BT_0_0 上 A1_1 BT_0_1 上 A1_2 BT_0_2 上 A1_3 BT_0_3 上 A3_0 BT_1_0 上 A3_1 BT_1_1 上 A3_2 BT_1_2 上 A3_3 BT_1_3 また、フィールド誤差計算ユニット514は、下マクロ
ブロック・フィールドと上基準フィールドの間の誤差も
計算する。 マクロブロック フィールド基準ブ 誤差 ・フィールド ロックの左上角 下 A0_0 TB_0_0 下 A0_1 TB_0_1 下 A0_2 TB_0_2 下 A0_3 TB_0_3 下 A2_0 TB_1_0 下 A2_1 TB_1_1 下 A2_2 TB_1_2 下 A2_3 TB_1_3 さらに、フィールド誤差計算ユニット514は、下マク
ロブロック・フィールドと下基準フィールドの間の誤差
も計算する。 マクロブロック フィールド基準ブ 誤差 ・フィールド ロックの左上角 下 A1_0 BB_0_0 下 A1_1 BB_0_1 下 A1_2 BB_0_2 下 A1_3 BB_0_3 下 A3_0 BB_1_0 下 A3_1 BB_1_1 下 A3_2 BB_1_2 下 A3_3 BB_1_3 たとえば、誤差BT_0_1は、 A1_1 A1_2 A1_3 A1_4 A1_5 A1_6 A1_7 A1_8 A3_1 A3_2 A3_3 A3_4 A3_5 A3_6 A3_7 A3_8 A5_1 A5_2 A5_3 A5_4 A5_5 A5_6 A5_7 A5_8 A7_1 A7_2 A7_3 A7_4 A7_5 A7_6 A7_7 A7_8 と B0_0 B0_1 B0_2 B0_3 B0_4 B0_5 B0_6 B0_7 B2_0 B2_1 B2_2 B2_3 B2_4 B2_5 B2_6 B2_7 B4_0 B4_1 B4_2 B4_3 B4_4 B4_5 B4_6 B4_7 B6_0 B6_1 B6_2 B6_3 B6_4 B6_5 B6_6 B6_7 の間の差の尺度である。たとえば、1ノルムを用いて誤
差を計算する場合、BT_0_1は、上のブロックの対
応する値の絶対値の合計になる。誤差TB_1_1は、 A2_1 A2_2 A2_3 A2_4 A2_5 A2_6 A2_7 A2_8 A4_1 A4_2 A4_3 A4_4 A4_5 A4_6 A4_7 A4_8 A6_1 A6_2 A6_3 A6_4 A6_5 A6_6 A6_7 A6_8 A8_1 A8_2 A8_3 A8_4 A8_5 A8_6 A8_7 A8_8 と B1_0 B1_1 B1_2 B1_3 B1_4 B1_5 B1_6 B1_7 B3_0 B3_1 B3_2 B3_3 B3_4 B3_5 B3_6 B3_7 B5_0 B5_1 B5_2 B5_3 B5_4 B5_5 B5_6 B5_7 B7_0 B7_1 B7_2 B7_3 B7_4 B7_5 B7_6 B7_7 の間の差の尺度である。これら2つの誤差を組み合わせ
て、位置A1_1から始まるフレーム・ブロック(図1
1に示されたフレーム内)と、マクロブロック(全体)
(図12)の間の誤差を計算することができる。実際、 A1_1 A1_2 A1_3 A1_4 A1_5 A1_6 A1_7 A1_8 A2_1 A2_2 A2_3 A2_4 A2_5 A2_6 A2_7 A2_8 A3_1 A3_2 A3_3 A3_4 A3_5 A3_6 A3_7 A3_8 A4_1 A4_2 A4_3 A4_4 A4_5 A4_6 A4_7 A4_8 A5_1 A5_2 A5_3 A5_4 A5_5 A5_6 A5_7 A5_8 A6_1 A6_2 A6_3 A6_4 A6_5 A6_6 A6_7 A6_8 A7_1 A7_2 A7_3 A7_4 A7_5 A7_6 A7_7 A7_8 A8_1 A8_2 A8_3 A8_4 A8_5 A8_6 A8_7 A8_8 と B0_0 B0_1 B0_2 B0_3 B0_4 B0_5 B0_6 B0_7 B1_0 B1_1 B1_2 B1_3 B1_4 B1_5 B1_6 B1_7 B2_0 B2_1 B2_2 B2_3 B2_4 B2_5 B2_6 B2_7 B3_0 B3_1 B3_2 B3_3 B3_4 B3_5 B3_6 B3_7 B4_0 B4_1 B4_2 B4_3 B4_4 B4_5 B4_6 B4_7 B5_0 B5_1 B5_2 B5_3 B5_4 B5_5 B5_6 B5_7 B6_0 B6_1 B6_2 B6_3 B6_4 B6_5 B6_6 B6_7 B7_0 B7_1 B7_2 B7_3 B7_4 B7_5 B7_6 B7_7 の間の絶対画素差の合計は、BT_0_1とTB_1_
1の和に等しい。前に述べたように、好ましい実施例で
は、フィールド誤差フレーム誤差変換ユニット518
が、フレーム誤差に対応するデータを用いて計算される
2つのフィールド誤差の和として各フレーム誤差を計算
する。したがって、上のフレーム・ブロックに関して、
フレーム誤差は、BT_0_1+TB_1_1として計
算される。図11および図12のすべての一致のフレー
ム誤差がどのように計算されるかのわかりやすいリスト
を下に示す。 フレーム・ブロッ 誤差の計算値 クの左上角 A0_0 TT_0_0 + BB_0_0 A0_1 TT_0_1 + BB_0_1 A0_2 TT_0_2 + BB_0_2 A0_3 TT_0_3 + BB_0_3 A1_0 BT_0_0 + TB_1_0 A1_1 BT_0_1 + TB_1_1 A1_2 BT_0_2 + TB_1_2 A1_3 BT_0_3 + TB_1_3 A2_0 TT_2_0 + BB_2_0 A2_1 TT_2_1 + BB_2_1 A2_2 TT_2_2 + BB_2_2 A2_3 TT_2_3 + BB_2_3 A3_0 BT_2_0 + TB_3_0 A3_1 BT_2_1 + TB_3_1 A3_2 BT_2_2 + TB_3_2 A3_3 BT_2_3 + TB_3_3
【0061】好ましい実施例では、フィールド誤差フレ
ーム誤差変換ユニット518が、上のリストから明白な
パターンに従ってフレーム誤差を計算する。すなわち、
水平にx画素、垂直にy画素のオフセットを有する現マ
クロブロックの上フィールドを予測する基準フレームの
上フィールドの粗フィールド誤差を、水平にx画素、垂
直にy画素のオフセットを有する現マクロブロックの下
フィールドを予測する基準フレームの下フィールドの粗
フィールド誤差に加算して、水平にx画素、垂直に2y
画素のオフセットに対応するフレーム誤差を得、水平に
x画素、垂直にy画素のオフセットを有する現マクロブ
ロックの上フィールドを予測する基準フレームの下フィ
ールドの粗フィールド誤差を、水平にx画素、垂直にy
+1画素のオフセットを有する現マクロブロックの下フ
ィールドを予測する基準フレームの上フィールドの粗フ
ィールド誤差に加算して、水平にx画素、垂直に2y+
1画素のオフセットに対応するフレーム誤差を得る。
【0062】前に述べたように、1実施例では、精度向
上決定ユニット522は、各方向(Pピクチャの場合は
順方向、Bピクチャの場合は順方向と逆方向)につい
て、最小の誤差を有する粗フレーム・ベクトルの精度を
高めるかどうかと、各マクロブロックの上フィールドと
下フィールドのそれぞれについて、最小の誤差を有する
粗フィールド・ベクトルの精度を高めるかどうかを決定
する。もう1つの実施例では、マクロブロックのそれぞ
れと方向のそれぞれについて、精度向上決定ユニット5
22は、フレーム・ベクトルだけまたはフィールド・ベ
クトルだけの精度を高める。前者は、フィールド誤差が
フレーム誤差より実質的に大きい(たとえば、フィール
ド誤差の和がフレーム誤差の1.5倍以上になる)場合
に行われ、後者はそれ以外の場合に行われる。
【0063】精度向上ユニット525は、次のように動
作する。粗(フィールドまたはフレーム)ベクトルは、
その粗ベクトルがスケーリングされたビデオ・データか
ら計算されたという事実を補償するように粗ベクトルを
スケーリングすることによって精度を高められる。たと
えば、スケーラ506が、水平に4:1、垂直に2:1
の係数でビデオをスケーリングすると仮定する。水平x
画素、垂直y画素の粗ベクトルは、水平4x画素、垂直
2y画素のベクトルにスケーリングされる。その後、ス
ケーリングされたベクトルに中心を合わされた長方形領
域内のベクトルの誤差を計算する。前の例では、精度向
上ユニット525が、区間[4x−7、4x+7]の水
平成分と区間[4y−3、4y+3]の垂直成分を有す
るベクトルのすべてを調べることができる。その後、最
小の誤差を有するベクトルを選択する。
【0064】デコーダに接続された、本発明のエンコー
ダのブロック図を図18に示す。ビデオ・エンコーダ1
202には、階層フィールド/フレーム計算エンジン1
206を含む動き推定ユニット1204が含まれる。ビ
デオ・エンコーダ1202は、ビデオ・デコーダ121
0に送られる圧縮ビデオ・ストリーム1208を作る。
ビデオ・デコーダ1210は、ビデオを圧縮解除し、圧
縮解除されたビデオを信号1212として表示装置また
は記憶装置1214に送る。
【0065】本発明に使用される動き推定方法の概要
を、図6に示す。ステップ602で、現フレームと基準
フレームが入力される。ステップ604で、基準フレー
ムを小さいフレームにスケーリングし、ステップ606
で、現フレームを小さいフレームにスケーリングする。
どちらの場合でも、フィールドに基づくスケーリングを
使用する。ステップ608で、現フレームの各マクロブ
ロックの各フィールドのデータを、基準フレームの同様
のサイズの領域と比較することによって、フィールドに
基づく誤差を計算する。ステップ610で、フィールド
に基づく誤差からフレームに基づく誤差を計算する。ス
テップ612で、精度向上候補としてフィールド・ベク
トルを選択する。ステップ614で、精度向上候補とし
てフレーム・ベクトルを選択する。ステップ616で、
精度向上候補のどちらの精度を高めるかに関する決定を
行う。ステップ618で、精度向上候補の精度を高め
る。
【0066】本発明は、特定応用分野向け集積回路(A
SIC)内で、または、汎用コンピュータ上で実行され
るプログラム・コードとして、実施することができる。
【0067】好ましい実施例によって本発明を説明した
ので、当業者であれば、さまざまな修正および改良を想
起するであろう。したがって、好ましい実施例は、1例
として提供されたものであり、制限として提供されたも
のではないことを理解されたい。本発明の範囲は、請求
の範囲によって定義される。
【0068】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0069】(1)水平方向および垂直方向のうちの少
なくとも1つで入力ビデオのフィールドに基づくスケー
リングを実行するためのスケーラと、前記スケーラに結
合され、現フレームの各フィールド内の領域と基準フレ
ームの各フィールド内の領域との間の誤差を計算するた
めのフィールド誤差計算ユニットと、前記フィールド誤
差計算ユニットに結合され、現フレーム内の領域と基準
フレーム内の領域との間の誤差を計算するためのフィー
ルド誤差フレーム誤差変換ユニットと、前記フィールド
誤差計算ユニットおよび前記フィールド誤差フレーム誤
差変換ユニットに結合され、精度を高めるベクトルを選
択するための精度向上決定ユニットと、前記精度向上決
定ユニットに結合され、前記精度向上決定ユニットによ
って選択されたベクトルの精度を高めるための精度向上
ユニットとを含む、動き推定ユニット。 (2)前記スケーラが、水平方向のみでビデオをスケー
リングすることを特徴とする、上記(1)に記載の動き
推定ユニット。 (3)前記スケーラが、水平方向に4対1の比率でビデ
オをスケーリングすることを特徴とする、上記(2)に
記載の動き推定ユニット。 (4)前記スケーラが、水平方向と垂直方向の両方でビ
デオをスケーリングすることを特徴とする、上記(1)
に記載の動き推定ユニット。 (5)前記フィールド誤差フレーム誤差変換ユニット
が、フィールド誤差の和としてフレーム誤差を計算する
ことを特徴とする、上記(1)に記載の動き推定ユニッ
ト。 (6)さらに、前記スケーラおよび前記精度向上ユニッ
トに結合されたフレーム・メモリを含み、該フレーム・
メモリが、ビデオ供給源から符号化されるピクチャを含
むソース・ビデオ・データを受け取り、記憶するように
接続されることを特徴とする、上記(1)に記載の動き
推定ユニット。 (7)基準フレームと現フレーム内の少なくとも1つの
領域とをフィールドに基づいてスケーリングするステッ
プと、前記スケーリングに応答して、現フレーム内の少
なくとも1つの領域について、少なくとも1つの領域内
の上フィールドと基準フレーム内の第1領域との間の第
1粗フィールド間誤差と、少なくとも1つの領域内の下
フィールドと基準フレーム内の第2領域との間の第2粗
フィールド間誤差とを計算するステップと、前記第1粗
フィールド間誤差と前記第2粗フィールド間誤差との和
としてフレーム間誤差を計算するステップと、前記フレ
ーム間誤差の計算に応答して、少なくとも1つの領域の
フレーム間動きを記述する動きベクトルを決定するステ
ップとを含む、ビデオ符号化と共に使用するための動き
推定の方法。 (8)前記スケーリングするステップが、水平方向のみ
でビデオをスケーリングするステップを含むことを特徴
とする、上記(7)に記載の方法。 (9)前記スケーリングするステップが、水平方向のみ
で4対1の比率でビデオをスケーリングするステップを
含むことを特徴とする、上記(7)に記載の方法。 (10)前記スケーリングするステップが、水平方向お
よび垂直方向でビデオをスケーリングするステップを含
むことを特徴とする、上記(7)に記載の方法。 (11)複数の解像度を下げられたフレームを作るた
め、フィールドに基づくスケーリングを用いてインタレ
ース式フレームの解像度を下げるステップと、現フレー
ムのフィールドと基準フレームのフィールドとの間のフ
ィールド間動きを近似的に記述するベクトルを得るた
め、現フレームのフィールドと基準フレームのフィール
ドとの間のフィールド動き誤差を計算することによっ
て、解像度を下げられたフレームに対する第1探索を実
行するステップと、前記フィールド動き誤差を使用して
フレーム動き誤差を計算するステップと、前記フレーム
動き誤差を使用してフレーム間動きを近似的に記述する
ベクトルを得るステップと、より正確なベクトルを得る
ために、フィールド間動きを近似的に記述するベクトル
と、フレーム間動きを近似的に記述するベクトルとの精
度を高めるステップとを含む、動き推定を実行するため
の方法。
【図面の簡単な説明】
【図1】2つのGOP(ピクチャのグループ)の例を示
す図である。
【図2】ピクチャのマクロブロック(MB)分割の例
(4:2:0フォーマットの場合)を示す図である。
【図3】マクロブロックのブロック分割(4:2:0フ
ォーマットの場合)を示す図である。
【図4】ビデオ・エンコーダのブロック図である。
【図5】図17の階層フィールド・フレーム計算エンジ
ンのブロック図である。
【図6】本発明の原理による、動き推定の方法を示す流
れ図である。
【図7】本発明の原理による、水平イメージ・スケーリ
ングの例を示す図である。
【図8】本発明の原理による、水平イメージ・スケーリ
ングの例を示す図である。
【図9】本発明の原理による、垂直イメージ・スケーリ
ングの例を示す図である。
【図10】本発明の原理による、垂直イメージ・スケー
リングの例を示す図である。
【図11】本発明の原理による、フレーム形式で示され
た、解像度を下げられたフレームの例を示す図である。
【図12】本発明の原理による、フレーム形式で示され
た、解像度を下げられたマクロブロックの例を示す図で
ある。
【図13】本発明の原理による、フレーム形式で示され
た、解像度を減らされたフレームの例を示す図である。
【図14】本発明の原理による、フレーム形式で示され
た、解像度を減らされたフレームの例を示す図である。
【図15】本発明の原理による、フレーム形式で示され
た、解像度を減らされたマクロブロックの例を示す図で
ある。
【図16】本発明の原理による、フレーム形式で示され
た、解像度を減らされたマクロブロックの例を示す図で
ある。
【図17】本発明の実施例による、動き推定ユニットの
ブロック図である。
【図18】本発明の実施例による、エンコーダ/デコー
ダ対のブロック図である。
【符号の説明】
504 メモリ 506 スケーラ 510 メモリ 514 フィールド誤差計算ユニット 518 フィールド誤差フレーム誤差変換ユニット 522 精度向上決定ユニット 525 精度向上ユニット 1104 メモリ 1108 階層フィールド/フレーム計算エンジン 1114 補間機構および最終決定機構 1202 ビデオ・エンコーダ 1204 動き推定ユニット 1206 階層フィールド/フレーム計算エンジン 1208 圧縮ビデオ・ストリーム 1210 ビデオ・デコーダ 1214 表示装置または記憶装置

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】水平方向および垂直方向のうちの少なくと
    も1つで入力ビデオのフィールドに基づくスケーリング
    を実行するためのスケーラと、 前記スケーラに結合され、現フレームの各フィールド内
    の領域と基準フレームの各フィールド内の領域との間の
    誤差を計算するためのフィールド誤差計算ユニットと、 前記フィールド誤差計算ユニットに結合され、現フレー
    ム内の領域と基準フレーム内の領域との間の誤差を計算
    するためのフィールド誤差フレーム誤差変換ユニット
    と、 前記フィールド誤差計算ユニットおよび前記フィールド
    誤差フレーム誤差変換ユニットに結合され、精度を高め
    るベクトルを選択するための精度向上決定ユニットと、 前記精度向上決定ユニットに結合され、前記精度向上決
    定ユニットによって選択されたベクトルの精度を高める
    ための精度向上ユニットとを含む、動き推定ユニット。
  2. 【請求項2】前記スケーラが、水平方向のみでビデオを
    スケーリングすることを特徴とする、請求項1に記載の
    動き推定ユニット。
  3. 【請求項3】前記スケーラが、水平方向に4対1の比率
    でビデオをスケーリングすることを特徴とする、請求項
    2に記載の動き推定ユニット。
  4. 【請求項4】前記スケーラが、水平方向と垂直方向の両
    方でビデオをスケーリングすることを特徴とする、請求
    項1に記載の動き推定ユニット。
  5. 【請求項5】前記フィールド誤差フレーム誤差変換ユニ
    ットが、フィールド誤差の和としてフレーム誤差を計算
    することを特徴とする、請求項1に記載の動き推定ユニ
    ット。
  6. 【請求項6】さらに、前記スケーラおよび前記精度向上
    ユニットに結合されたフレーム・メモリを含み、該フレ
    ーム・メモリが、ビデオ供給源から符号化されるピクチ
    ャを含むソース・ビデオ・データを受け取り、記憶する
    ように接続されることを特徴とする、請求項1に記載の
    動き推定ユニット。
  7. 【請求項7】基準フレームと現フレーム内の少なくとも
    1つの領域とをフィールドに基づいてスケーリングする
    ステップと、 前記スケーリングに応答して、現フレーム内の少なくと
    も1つの領域について、少なくとも1つの領域内の上フ
    ィールドと基準フレーム内の第1領域との間の第1粗フ
    ィールド間誤差と、少なくとも1つの領域内の下フィー
    ルドと基準フレーム内の第2領域との間の第2粗フィー
    ルド間誤差とを計算するステップと、 前記第1粗フィールド間誤差と前記第2粗フィールド間
    誤差との和としてフレーム間誤差を計算するステップ
    と、 前記フレーム間誤差の計算に応答して、少なくとも1つ
    の領域のフレーム間動きを記述する動きベクトルを決定
    するステップとを含む、ビデオ符号化と共に使用するた
    めの動き推定の方法。
  8. 【請求項8】前記スケーリングするステップが、水平方
    向のみでビデオをスケーリングするステップを含むこと
    を特徴とする、請求項7に記載の方法。
  9. 【請求項9】前記スケーリングするステップが、水平方
    向のみで4対1の比率でビデオをスケーリングするステ
    ップを含むことを特徴とする、請求項7に記載の方法。
  10. 【請求項10】前記スケーリングするステップが、水平
    方向および垂直方向でビデオをスケーリングするステッ
    プを含むことを特徴とする、請求項7に記載の方法。
  11. 【請求項11】複数の解像度を下げられたフレームを作
    るため、フィールドに基づくスケーリングを用いてイン
    タレース式フレームの解像度を下げるステップと、 現フレームのフィールドと基準フレームのフィールドと
    の間のフィールド間動きを近似的に記述するベクトルを
    得るため、現フレームのフィールドと基準フレームのフ
    ィールドとの間のフィールド動き誤差を計算することに
    よって、解像度を下げられたフレームに対する第1探索
    を実行するステップと、 前記フィールド動き誤差を使用してフレーム動き誤差を
    計算するステップと、 前記フレーム動き誤差を使用してフレーム間動きを近似
    的に記述するベクトルを得るステップと、 より正確なベクトルを得るために、フィールド間動きを
    近似的に記述するベクトルと、フレーム間動きを近似的
    に記述するベクトルとの精度を高めるステップとを含
    む、動き推定を実行するための方法。
JP9008232A 1996-02-05 1997-01-21 動き推定のための装置および方法 Pending JPH09224254A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/596,933 US5737023A (en) 1996-02-05 1996-02-05 Hierarchical motion estimation for interlaced video
US08/596933 1996-02-05

Publications (1)

Publication Number Publication Date
JPH09224254A true JPH09224254A (ja) 1997-08-26

Family

ID=24389334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9008232A Pending JPH09224254A (ja) 1996-02-05 1997-01-21 動き推定のための装置および方法

Country Status (3)

Country Link
US (1) US5737023A (ja)
JP (1) JPH09224254A (ja)
KR (1) KR100246168B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015518343A (ja) * 2012-04-26 2015-06-25 ソニー株式会社 データ符号化及び復号化

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108039A (en) * 1996-05-23 2000-08-22 C-Cube Microsystems, Inc. Low bandwidth, two-candidate motion estimation for interlaced video
US5905542A (en) * 1996-12-04 1999-05-18 C-Cube Microsystems, Inc. Simplified dual prime video motion estimation
US6005621A (en) * 1996-12-23 1999-12-21 C-Cube Microsystems, Inc. Multiple resolution video compression
US6229850B1 (en) 1997-07-22 2001-05-08 C-Cube Semiconductor Ii, Inc. Multiple resolution video compression
KR100556450B1 (ko) * 1998-05-28 2006-05-25 엘지전자 주식회사 움직임 벡터 추정에 의한 오류 복원 방법
US6249617B1 (en) * 1998-11-16 2001-06-19 Winbond Electronics, Corp. Video encounter having an integrated scaling mechanism
US6421466B1 (en) 1999-09-29 2002-07-16 Neomagic Corp. Hierarchical motion estimation with levels of varying bit width for digital video compression
US6483876B1 (en) 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation
KR100396892B1 (ko) * 2000-10-05 2003-09-03 삼성전자주식회사 비디오 mp3 시스템, 축소 비디오데이터 생성장치와생성방법 및 축소 비디오데이터 복원장치 및 복원방법
US7023491B2 (en) * 2001-02-28 2006-04-04 Thomson Licensing Method and device for displaying frozen pictures on video display device
US6914938B2 (en) * 2002-06-18 2005-07-05 Motorola, Inc. Interlaced video motion estimation
US7088776B2 (en) 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
AU2008201106C1 (en) * 2002-07-15 2011-06-09 Apple Inc. Method and bitstream for variable accuracy inter-picture timing specification for digital video encoding
KR20040008359A (ko) * 2002-07-18 2004-01-31 삼성전자주식회사 계층적 움직임 벡터 탐색을 이용한 움직임 추정 방법 및장치 및 그를 적용한 동영상 부호화 시스템
US8254461B2 (en) * 2002-07-24 2012-08-28 Apple Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US7170934B2 (en) * 2002-12-20 2007-01-30 Lsi Logic Corporation Method and/or apparatus for motion estimation using a hierarchical search followed by a computation split for different block sizes
US7502415B2 (en) * 2003-07-18 2009-03-10 Microsoft Corporation Range reduction
US8014450B2 (en) 2003-09-07 2011-09-06 Microsoft Corporation Flexible range reduction
US7649539B2 (en) 2004-03-10 2010-01-19 Microsoft Corporation Image formats for video capture, processing and display
WO2006031093A1 (en) * 2004-09-16 2006-03-23 Samsung Electronics Co., Ltd. Wavelet transform apparatus and method, scalable video coding apparatus and method employing the same, and scalable video decoding apparatus and method thereof
JP4166781B2 (ja) * 2005-12-09 2008-10-15 松下電器産業株式会社 動きベクトル検出装置および動きベクトル検出方法
US8880571B2 (en) * 2006-05-05 2014-11-04 Microsoft Corporation High dynamic range data format conversions for digital media
EP1879399A1 (en) * 2006-07-12 2008-01-16 THOMSON Licensing Method for deriving motion data for high resolution pictures from motion data of low resolution pictures and coding and decoding devices implementing said method
US8054886B2 (en) * 2007-02-21 2011-11-08 Microsoft Corporation Signaling and use of chroma sample positioning information
DE102009001520B4 (de) * 2009-03-12 2016-02-25 Entropic Communications, Inc. Vorrichtung und Verfahren zur Zwischenbildinterpolation
KR101702553B1 (ko) * 2009-07-04 2017-02-03 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
US8325815B2 (en) * 2010-02-08 2012-12-04 Himax Technologies Limited Method and system of hierarchical motion estimation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193003A (en) * 1989-08-15 1993-03-09 Sony Corporation Apparatus for decoding digital video data with small memory requirement
US5134478A (en) * 1991-02-19 1992-07-28 Intel Corporation Method and apparatus for compressing and decompressing a digital video signal using predicted and error images
US5436665A (en) * 1992-03-03 1995-07-25 Kabushiki Kaisha Toshiba Motion picture coding apparatus
US5270813A (en) * 1992-07-02 1993-12-14 At&T Bell Laboratories Spatially scalable video coding facilitating the derivation of variable-resolution images
US5463422A (en) * 1993-10-13 1995-10-31 Auravision Corporation Data processing technique for limiting the bandwidth of data to be stored in a buffer
TW283289B (ja) * 1994-04-11 1996-08-11 Gen Instrument Corp

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015518343A (ja) * 2012-04-26 2015-06-25 ソニー株式会社 データ符号化及び復号化
JP2018129858A (ja) * 2012-04-26 2018-08-16 ソニー株式会社 データ符号化及び復号化

Also Published As

Publication number Publication date
KR970064259A (ko) 1997-09-12
US5737023A (en) 1998-04-07
KR100246168B1 (ko) 2000-03-15

Similar Documents

Publication Publication Date Title
US5737023A (en) Hierarchical motion estimation for interlaced video
US9549195B2 (en) Image decoding device and method thereof using inter-coded predictive encoding code
KR100253931B1 (ko) 디지탈 영상 시퀀스의 디코딩 방법 및 장치
EP0912063B1 (en) A method for computational graceful degradation in an audiovisual compression system
US6404814B1 (en) Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal
US7072397B2 (en) Optimal encoding of motion compensated video
US6687296B1 (en) Apparatus and method for transforming picture information
US7110451B2 (en) Bitstream transcoder
US6504872B1 (en) Down-conversion decoder for interlaced video
EP1940177B1 (en) Apparatus for encoding interlaced macroblock texture information
JPH09154137A (ja) 動き依存予測を使用したビデオ情報の圧縮方法と装置
US6829373B2 (en) Automatic setting of optimal search window dimensions for motion estimation
US6795498B1 (en) Decoding apparatus, decoding method, encoding apparatus, encoding method, image processing system, and image processing method
KR100238622B1 (ko) 새로운 적응형 양자화기를 이용한 동영상 압축 시스템 및 방법
US5757967A (en) Digital video decoder and deinterlacer, format/frame rate converter with common memory
US5652629A (en) Bidirectional motion estimation in a motion video compression system
US20090296822A1 (en) Reduced Memory Mode Video Decode
US7068721B2 (en) Method and configuration for coding a digitized picture, and method and configuration for decoding a digitized picture
KR100210124B1 (ko) 영상복호화기의 데이터 디포맷팅 회로
Chen et al. An adaptive implementation of the MPEG encoder
JP2001145108A (ja) 画像情報変換装置及び方法
MXPA98008515A (en) Method to reduce the power requirements of the process of a vi decoder

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040405

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040408