JPH10313459A - ブロックを用いた動き補償によるビデオ信号の復号方法 及び装置 - Google Patents

ブロックを用いた動き補償によるビデオ信号の復号方法 及び装置

Info

Publication number
JPH10313459A
JPH10313459A JP9329402A JP32940297A JPH10313459A JP H10313459 A JPH10313459 A JP H10313459A JP 9329402 A JP9329402 A JP 9329402A JP 32940297 A JP32940297 A JP 32940297A JP H10313459 A JPH10313459 A JP H10313459A
Authority
JP
Japan
Prior art keywords
block
frame
memory
current
video
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
JP9329402A
Other languages
English (en)
Inventor
Bhanu Kapoor
カプア ブハヌ
Lode Nachtergaele
ナッチターガエル ロード
Francky Catthoor
キャットホア フランキイ
Stefan Janssens
ジャンセンズ ステファン
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.)
INTERUNIV MICRO ELEKTRO CT VZB
Interuniversitair Microelektronica Centrum vzw IMEC
Texas Instruments Inc
Original Assignee
INTERUNIV MICRO ELEKTRO CT VZB
Interuniversitair Microelektronica Centrum vzw IMEC
Texas Instruments 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 INTERUNIV MICRO ELEKTRO CT VZB, Interuniversitair Microelektronica Centrum vzw IMEC, Texas Instruments Inc filed Critical INTERUNIV MICRO ELEKTRO CT VZB
Publication of JPH10313459A publication Critical patent/JPH10313459A/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/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】 低いビットレートで通信するビデオ信号の、
圧縮されたビットストリーム情報を復号するプロセスの
電力消費を大幅に減らす装置と方法を開示する。 【解決手段】 装置20はオンチップのCPU32と共
有メモリ33を含む主集積回路30を備え、ビデオ復号
プロセス中に検索し生成したビデオ映像データを一時的
に記憶する。CPU32はプログラムにより、主メモリ
40ではなくメモリ33内のバッファにアクセスして、
前の予測PフレームPT-1 に組合わせP及びB予測プロ
セスを行う。前記組合わせP及びB予測プロセスは、表
示可能なビデオ映像の外を指す動きベクトルの成分を修
正し、メモリ33内の端バッファ44eから対応する端
画素Pedgeを検索して、制限のない動きベクトルを処理
する。またメモリ33は現在の予測Pブロックを記憶す
るバッファNEWBFRを有し、前の予測PフレームP
T-1 と現在の予測PフレームPT を同じメモリ空間に記
憶する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は通信の分野に関
し、より特定すると、比較的低いビットレートの通信線
で通信するビデオ信号の復号に関する。
【0002】
【従来の技術】この技術で知られているように、世界中
を巡る情報の通信の範囲と速度は、特にインターネット
により、近年非常に増加した。詳しく言うと、最近の通
信システムは高いビットレートで動作するので、簡単な
テキストから、オーディオ信号や、グラフィック映像
や、動画ビデオ情報に至るまで、広範囲の情報の通信が
可能になった。利用可能なビットレートの向上と相まっ
て、データ圧縮技術もこのような通信を、特にビデオ情
報の通信を可能にした。その結果エンドユーザは、特に
高速ディジタル通信網に接続されるワークステーション
では、情報をほとんど「実時間」で見るようなデータ速
度と表示の質で、これら全ての種類の情報を受けるのが
普通になった。これらの情報、特に動画ビデオ情報を実
時間で表示できるようになったので、ビデオ情報の製作
と流通が実質的に増加した。これは動画ビデオが情報の
通信の手段として好ましいことが多いからである。
【0003】しかし高速の電気通信設備は、どこでも、
どんな応用でも利用できるわけではない。例えば多くの
ホームコンピュータは、せいぜい28.8ないし56.
6kbps程度のビットレートのモデムを用いて、アナ
ログ電話回線により電気通信を行う。ノートブックコン
ピュータなどの携帯用コンピュータを用いた通信も急速
に増えており、情報の通信はセルラ及び無線リンクで行
われている。この需要に応えて、低いビットレート(6
4kbps以下)の装置で動画情報を通信するという要
求を満たすために、ビデオ圧縮法が開発された。よく知
られたビデオ圧縮法の例として、国際電気通信連合(I
TU)に準拠し、かつ動画エキスパートグループにより
MPEG規格に基づいて開発された、H.261及び
H.263ビデオ圧縮規格などがある。これらの方法
は、圧縮されたビデオ情報を低いビットレートの装置で
通信するのに広く用いられている。更に、H.263な
どのアルゴリズムによる圧縮は、現在提案されているM
PEG4規格に含まれる。
【0004】圧縮されたビデオ情報(H.263ビデオ
圧縮規格により圧縮された情報など)を受信すると、受
信したワークステーション即ちコンピュータは、動画を
表示するために、送られた情報のビデオ復号を行わなけ
ればならない。このようなビデオ復号を行うため、受信
コンピュータはメモリの読取りや書込みなどのデータ処
理命令を実行する。
【0005】参考のために図1と図2を参照して、H.
263規格による圧縮されたビデオ情報を受信して復号
する従来のビデオ復号装置の動作を説明する。この技術
の基本として、H.263のビデオ復号方式は、ビデオ
シーケンスにおけるフレームからフレームへの動きを動
きベクトルにより予測する。動きベクトルは二次元ベク
トルであって、前の(参照する)フレーム内の座標位置
と現在復号中のフレーム内の座標位置との偏差を与え
る。フレーム間の冗長な(即ち動かない)情報は、例え
ば離散コサイン変換(DCT)を用いて符号化し、ビデ
オ復号装置ではその逆を行う。送信されたフレームの冗
長部の逆変換と動きベクトルの結果から、表示可能なフ
レームを生成する。
【0006】図1は、H.263ビデオ復号において予
測フレームを生成するのに用いる一般的な名称と時間的
なシーケンスを示す。H.263規格によると、ビデオ
データの入力ビットストリームは表示可能なビデオフレ
ームに対応し、表示可能なビデオフレームは、現在復号
されたフレームと前に復号されたフレームをシーケンス
で用いて時間的に予測される。図1に示すように、フレ
ームPT-1 は前の予測フレームであって、ビデオシーケ
ンス内の、現在復号中のフレームの直前のフレームに対
応し、前の近傍フレームから予測されるので「P」フレ
ームと呼ぶ。次に、過去のPフレームPT-1 を用いて未
来の(または現在の)PフレームPT を予測する。後で
説明するように、またH.263規格に詳しい人に知ら
れているように、フレームPT の前方向予測は過去のP
フレームPT-1 に基づいて、また現在復号中のフレーム
から得られる動きベクトルに基づいて行う。H.263
規格では、過去のPフレームPT-1 からの前方向予測と
未来のPフレームPT からの後ろ方向予測を用いて、現
在のBフレームBT を予測する(「B」は、フレームB
T が双方向に予測されることを示す)。H.263規格
では復号されたPフレームPT とBフレームBT を合わ
せて「PB」フレームと呼び、表示されるフレームの基
礎になる。符号化方法が時間的及び空間的冗長を利用す
るので、H.263規格は低いビットレートの電気通信
チャンネルに特に適している。
【0007】復号されたPフレームPT とBフレームB
T を生成する従来のアルゴリズムを図2の絵画的表現で
示す。このように実現することは、テレノア(Telenor)
が提示しているC言語コンピュータプログラム(バージ
ョン1.3)(http://www.nta.no/brukere/DVC/h263_
software/(February,1995))に対応する。またこれを拡
張して、動きベクトルがフレームの外を指したり(即
ち、制限のない動きベクトル)、別の動きベクトルを用
いて重複ブロック動き補償(OBMC)法により動きを
補償したりすることも可能である。この例では、入力ビ
ットストリームIBSはデータのストリームを含み、ま
ずプロセス2で復号して、動きベクトルMVと、未補償
の復号されたマクロブロック3及び3’を生成する。復
号されたマクロブロック3は入力ビットストリームIB
Sからの情報のPブロックに対応し、復号されたマクロ
ブロック3’は入力ビットストリームIBSからの情報
のBブロックに対応する。入力ビットストリームの要素
であるMVと3と3’を前のPフレームPT-1 と共に用
いて、復号されたPフレームPT とBフレームBT を予
測する。この技術で知られているように、各フレーム
(PフレームまたはBフレーム)は、一般にQCIF書
式で9行の11マクロブロックに配置された多重マクロ
ブロックを含む。H.263規格における各マクロブロ
ックは、8x8アレーの画素から得られる6ブロックの
DCT係数に対応する。これらの6ブロックは、一般に
4ブロックのルミナンス(Y)データと2ブロックのク
ロミナンス(Cr,Cb)データを含む。
【0008】図2に示すように、前のPフレームPT-1
は、アレー信号oldframeとしてメモリ内に記憶
されている。プロセス8で、ビデオ復号装置は前のPフ
レームPT-1 の周辺に映像ブロック(例えば44マクロ
ブロック)の縁を追加する。これらの縁映像ブロックに
より、いわゆる「制限のない」動きベクトルが得られ
る。この動きベクトルは見られる映像領域の外に伸びて
よく、目に見える端の影響を余り感じない伸張映像が得
られる。図2に示すように、得られる縁付きのPフレー
ムPextT-1 はアレー信号edgeframeとして
メモリ内に記憶される。
【0009】図2に示すように、縁付きのPフレームP
extT-1 の各マクロブロックを前方向P予測プロセス
9に与え、復号プロセス2からの動きベクトルMVと共
に中間PフレームPnewT を生成し、アレー信号ne
wframeとしてメモリ内に記憶する。図3は、OB
MC動き補償が使用可能な場合の従来の前方向P予測プ
ロセス9の動作を示す流れ図である。図3に示すよう
に、前方向予測プロセス9は、まずプロセス9aで、ル
ミナンス(Y)情報とクロミナンス(Cr,Cb)情報
を含む縁付きの前のフレームPextT-1 を検索する。
プロセス9bで、OBMCインデックスiを初期化して
ゼロにし、前のフレームPextT-1 内のルミナンスデ
ータに4回の動き補償を行う。従来のビデオ復号装置で
は、図3のプロセス9cに示すように動きベクトルMV
を用いて、インデックスiについて、或る関数を呼び出
して前の予測フレームPextT-1 のルミナンスデータ
に適用することによりOBMC動き補償を行う。プロセ
ス9dと9eで、図示のようにインデックスiを増分し
てチェックし、ルミナンスOBMC補償ルーチンが終わ
ったかどうか判断する。ルミナンスデータのOBMC補
償は、プロセス9bから9eを一般にマクロブロック毎
に行い、4つのルミナンスブロックをそれぞれプロセス
9cと9dのループにより一度に1つずつ処理する。決
定プロセス9eでプロセス9cと9dのループが完了し
たと判断すると(決定9eが「はい」)、プロセス9f
で、動きベクトルMVを用いて縁付きの前のフレームP
extT- 1 内のクロミナンスCr情報に動き補償を行
い、またプロセス9gで、同様にクロミナンスCb情報
に動き補償を行う。次に9hで、得られた予測フレーム
PnewT をアレー信号newframeとして記憶す
る。
【0010】この技術で知られているように、H.26
3のビデオ圧縮と伸張にはOBMC以外の動き補償モー
ドが用いられる。これらの別のモードは上述のOBMC
モードと同様であるが、より簡単である。これらのより
簡単な動き補償モードの従来のアルゴリズムは、この技
術で知られている。
【0011】前方向P予測プロセス9に関連して、復号
されたPマクロブロック3をそれぞれ逆離散コサイン変
換(IDCT)プロセス4に与え、冗長空間領域のフレ
ーム間の情報に対応する変換Pブロック5を作る。プロ
セス10で、この変換Pブロック5と中間の予測フレー
ムPnewT の対応するマクロブロックを加算して、未
来の予測フレームPT を作る。図2に示すように、フレ
ームPT は、アレー信号newframeとして、メモ
リ内の中間の予測PフレームPnewT を置換する。
【0012】また縁付きの予測フレームPextT-1
前方向B予測プロセス12に与え、第1中間Bフレーム
B1T を生成する。これをアレー信号Bframeとし
てメモリ内に記憶する。図3は前方向B予測プロセス1
2の詳細も示す。これは上述の前方向P予測プロセス9
の後に実行する。この技術で知られているように、4ベ
クトルのOBMC補償プロセスはBframeの生成に
は適用しない。プロセス12は、まずプロセス12a
で、ルミナンス情報とクロミナンス情報を含む、前の縁
付きの予測PフレームPextT-1 を検索する。プロセ
ス12b、12c、12dは復号プロセス2からの動き
ベクトルMVを用いて、一般にマクロブロック毎に、縁
付きのPフレームPextT-1 からのルミナンス情報と
クロミナンスCr情報とクロミナンスCb情報に動き補
償を行う。次にプロセス12eで、得られたBフレーム
B1T は、アレー信号Bframeとしてメモリ内に記
憶する。
【0013】後ろ方向B予測プロセス14ではメモリ内
のアレー信号BframeからフレームB1T を検索
し、またメモリ内のアレー信号newframeから未
来の予測フレームPT を検索し、これらの検索されたフ
レームB1T とPT を組み合わせて第2中間Bフレーム
B2T を作る。これは、アレー信号Bframeとし
て、メモリ内の第1中間BフレームB1T を置換する。
復号されたBマクロブロック3’は、IDCTプロセス
4’に順次与えて変換Bマクロブロック5’を作り、こ
れと第2中間BフレームB2T の対応するマクロブロッ
クを加算プロセス16で加算すると、BフレームBT
得られる。フレームBT は、アレー信号Bframeと
してメモリ内に記憶し、第2中間BフレームB2T を置
換する。
【0014】上に述べたように、予測フレームPT とB
T の組合わせに対応するPBフレームを用いて、入力ビ
ットストリームIBSから復号された表示フレームを得
る。次に、次の受信フレームを同様にして復号する。現
在のPフレームPT は、次の復号動作では前のPフレー
ムPT-1 になる。PフレームPT を生成するとその後は
フレームPT-1 は必要なくなるので、この交換は単にア
レー信号newframeとoldframeのポイン
タを交換するだけである。
【0015】
【発明が解決しようとする課題】しかし、圧縮されたビ
デオに関する受信情報は大量かつ高速であり、この情報
を復号するのに必要な処理のために、受信コンピュータ
はかなりの電力を消費することが分かった。電池を電源
とするノートブックコンピュータなどの携帯用コンピュ
ータでは、電力消費は大きな関心事である。詳しく言う
と、圧縮されたビデオ情報を復号して表示するために主
メモリ資源(一般にオフチップメモリ)の複雑な種類の
データに高速でアクセスすると、電池の電力が大量に消
費されるので、復号されたビデオ情報を携帯用コンピュ
ータが受信して表示できる時間が短くなる。
【0016】詳しく言うと、従来のビデオ復号アルゴリ
ズムは、プログラム制御を容易にすることに最も重点を
置いて書かれている。しかし従来のH.263プロセス
について上に説明したことから明らかなように、動き補
償と予測を行うためにメモリアクセスが繰り返し行われ
る。例えば図2と図3を参照すると、復号されるフレー
ム毎に、アレー信号edgeframe内の各画素は、
1回書き込んで(プロセス8)2回読む(プロセス9と
12)。同様に図2を参照すると、復号するフレーム毎
に、アレー信号Bframe内の各画素は、3回書き込
んで(プロセス12、14、16)2回読み(プロセス
14、16)、またアレー信号newframe内の各
画素は、2回書き込んで(プロセス9、10)1回読む
(プロセス14)。
【0017】この点について参考までに、ビデオ及び映
像処理におけるメモリ関連の電力消費の影響について
は、F.Catthoor他の「低電力信号処理装置の
ための大域通信及びメモリ最適化変換(Global Communic
ation and Memory OptimizingTransformations for Low
Power Signal Processing Systems)」、VLSI信号
処理VII(VLSI Signal Processing VII)(IEEE、
1994年)、178−187ページ、に述べられてい
る。更にこの論文には、ビデオ復号の仕様を変換するこ
とによりそれ自身で大幅な電力削減ができることと、電
力削減の観点からメモリアクセス動作を最適にする変換
の例が開示されている。しかし、H.263規格に基づ
く特定のビデオ復号方式にこれらの考え方を適用するこ
とについてはこの論文には述べられていない。このよう
な適用はこれまでこの技術で開示されていないし、また
実施されていないはずである。
【0018】
【課題を解決するための手段】したがってこの発明の目
的は、圧縮されたビデオのビットストリーム情報を復号
するための電力消費を大幅に減らす、コンピュータ装置
とこれを操作する方法を与えることである。この発明の
別の目的は、少なくとも部分的にメモリ構成を選択する
ことによりこのような電力削減が得られる装置を与える
ことである。
【0019】この発明の別の目的は、ビデオを復号する
際のメモリアクセスの頻度を大幅に減らして電力を削減
する装置と方法を与えることである。この発明の別の目
的は、携帯用コンピュータ用に特に適した装置と方法を
与えることである。
【0020】この発明の別の目的は、電池を電源とした
場合に、圧縮されたビデオ情報を復号するのに特に適し
た装置と方法を与えることである。この発明の別の目的
と利点は、以下の説明と図面を参照すれば当業者には明
らかである。
【0021】この発明は、ビデオの復号に必要なメモリ
動作を大幅に少なくして電力消費を削減するようにした
電子装置で実現することができる。特定すると、この発
明はビデオ復号器のメモリを階層的に構成して実現す
る。詳しく言うと、ビデオ復号を行う論理回路と共にオ
ンチップメモリとして用いるように、バッファメモリの
大きさを選択する。更に、動きベクトルの決定に用いる
縁アレーブロックを生成するには多くのメモリアクセス
が必要であるが、この発明によりこのアクセスはなくな
る。更にこの発明は、生成される新しい予測フレームデ
ータを前の予測フレームデータと同じメモリ空間内に記
憶し、重なるブロックの選択されたグループをオンチッ
プバッファに複写する。またこのビデオ復号方法は、プ
ログラムループと機能において、PフレームとBフレー
ムの双方向予測を組合わせてメモリアクセスの頻度を減
らす。更に、新しい予測ブロック用に中間バッファを用
いることにより前と現在のフレームを同じメモリ内に記
憶して、ビデオ復号装置のチップ面積を減らすことがで
きる。この発明は単にビデオ復号装置の電力消費を減ら
すだけでなく、装置の性能を向上させるものである。
【0022】
【発明の実施の形態】
【実施例】図4を参照して、この発明の好ましい実施の
形態のビデオ復号装置20の構造を説明する。例示の装
置20は電池を電源とするコンピュータ装置であって、
ノートブックまたはその他の携帯用コンピュータ装置で
実現される、高度に集積された主集積回路30(即ち、
いわゆる「オンチップ装置」)を含む。この発明は、こ
のような電池を電源とする装置など、電力が制限される
装置に適用すると特に効果がある。または、主集積回路
30の機能を含むビデオ復号装置20は、より大きな装
置の中のボードレベルのサブシステムとして実現しても
よい。これは、メインフレームメモリやその他の大域シ
ステム構造の機能がビデオ復号処理装置とは別にオフチ
ップで実現される場合も含む。もちろんこの発明は、デ
スクトップ・ワークステーションやホーム娯楽センタな
どの他の構成の装置にも有用で役に立つものである。更
に、この例示のビデオ復号装置20は、後で説明する動
作を行うコンピュータプログラムを実行する、主集積回
路30内の汎用中央処理装置(CPU)32で実現して
もよい。もちろんこの発明は、ここに説明するビデオ復
号動作を実行する特注の論理、即ちハードウエアで実現
してもよい。
【0023】上述のように、装置20は主集積回路30
を含み、主集積回路30は単一の集積回路チップとし
て、CUP32を含む装置を操作する多くの重要な操作
回路を形成する。CPU32は、ここに説明するビデオ
復号動作の実行を含めて、種々のデータ処理命令を実行
する汎用のマイクロプロセッサである。または、CPU
32は、ここに説明する復号プロセスを実行するディジ
タル信号プロセッサ(DSP)、または特注または準特
注の論理であってもよい。また主集積回路30は入出力
回路34を含み、入出力回路34は入力ビデオのビット
ストリームIBSを受信する網インターフェース37な
どのシステム20内の種々の周辺装置をインターフェー
スする。網インターフェース37は、応用に従って、高
速アナログモデムまたはディジタルモデムや、ローカル
エリアネットワークまたはワイドエリアネットワークに
用いるインターフェースカードなどである。特定する
と、装置20が携帯用コンピュータの場合は、網インタ
ーフェース37は好ましくは無線モデムまたはセルラモ
デムである。また入出力回路34は、直接に、または制
御カードやバス(例えば、PCIバス、PS/2バス、
EIDEバスなど)により間接に、ビデオディスプレイ
38や、ディスク記憶装置39や、装置20内の他の入
出力装置(図示せず)、例えばキーボードや位置決め装
置など、をインターフェースする。装置20内の電池3
1は、主集積回路30にも、図4に示すように電力バス
PBUSにより周辺装置37、38、39にも電力を与
える。
【0024】この発明の好ましい実施の形態である装置
20は多数の記憶資源を備える。これは固体メモリであ
って、CPU32によりアクセスする。まず、CPU3
2自身はレジスタファイル35を有する。最近の中央処
理装置では普通であるが、レジスタファイル35は、入
力データと、CPU32が実行するデータ処理動作の結
果の出力のための、一時的な記憶装置である。この発明
のこの実施の形態では、CPU32はCBUSに接続す
る。CBUSは、主集積回路30内でオンチップ共有メ
モリ33及びメモリコントローラ36をインターフェー
スする。共有メモリ33は、後で説明するビデオ復号動
作に用いるバッファBFR用の記憶場所を有する。また
オンチップ共有メモリ33は、最近のCPUに有用な種
々のレベルのキャッシュメモリなどを備えてよい。共有
メモリ33は、好ましくは最近のCPU集積回路のキャ
ッシュメモリとして普通に用いられているスタティック
・ランダムアクセスメモリの1つまたはそれ以上のアレ
ーで実現する。共有メモリ33の好ましい構成と、特に
種々のバッファBFRの記憶場所の大きさについては、
後で詳細に説明する。
【0025】主集積回路30内のメモリコントローラ3
6も上に述べたオンチップバスCBUSに接続し、また
メモリバスMBUSを経てオフチップ主メモリ40に接
続する。もちろん主メモリ40は主集積回路30と共に
オンチップでもよいが、特にQCIF書式データの復号
では、共有メモリ33より「高い」階層レベルにする。
主メモリ40は高密度のダイナミック・ランダムアクセ
スメモリ(DRAM)で実現してよく、一般に数十メガ
バイト程度の大容量を持つ。メモリコントローラ36
は、CPU32がバスCBUSに出したメモリアクセス
要求が、共有メモリ33などのオンチップメモリ資源向
けか、主メモリ40内のオフチップメモリ資源向けかを
検出する。主メモリ40へのアクセスの場合は、メモリ
コントローラ36は適当な物理的アドレスと制御信号を
生成し、場合に従って出力データまたは入力データを処
理して、要求されたメモリアクセスを実行する。
【0026】次に図4と共に図5を参照して、この発明
の第1の好ましい実施の形態の、圧縮されたビデオ信号
を復号する方法を詳細に説明する。図5に示す方法は図
4の装置20により、特にその中の主集積回路30の動
作により行うことができる。この例では、圧縮と伸張は
H.263規格による。図5は図2と同様なデータ及び
処理の流れ図の形であり、Nachtergaele他
の「H.263ビデオ復号装置用の低電力データ伝送及
び記憶の研究(Low power data transfer and storage e
xploration for H.263 video decoder system)」、IE
EE VLSI信号処理会議議事録(Proceedings of IE
EE VLSI Signal Processing Conference) 、(IEE
E、1996年10月30日)、115−124ペー
ジ、で用いられたものである。この文献を全ての目的の
参照としてここに挿入する。
【0027】図5に示すように、入力ビットストリーム
IBSは網インターフェース37から入出力回路34に
入り、これをCPU32に送ってプロセス42で復号す
る。復号プロセス42は入力ビットストリームを従来の
方法で復号する。この復号はビデオ圧縮で従来用いられ
ている可逆的復号などの方法であり、動きベクトルMV
と、Pマクロブロック43と、Bマクロブロック43’
に分離して、図4の主集積回路30内の共有メモリ33
のバッファBFR内の対応するバッファPblockと
Bblock内に記憶する。
【0028】また図5に示すように、処理中の現在のマ
クロブロックとその近傍マクロブロックは全て前の予測
PフレームPT-1 からのもので、主メモリ40内のアレ
ー信号oldframeから検索し、共有のオンチップ
メモリ33内のバッファ44に記憶し、組合わせ前方向
P及びB予測プロセス46に与える。図5と図2を比較
すると明らかなように、この発明の好ましい実施の形態
のこの検索では、検索されたPフレームPT-1 には縁が
付いていない。しかし制限のない動きベクトル(即ち、
表示可能なフレームに制限されない)は、この発明の好
ましい実施の形態でも用いられる。これについては後で
説明する。
【0029】図5において、CPU32は組合わせ前方
向P及びB予測プロセス46を実行する。この発明の好
ましい実施の形態においてCPU32が実行するプロセ
ス46では、特に図3に関して述べた従来の方法に比べ
て、必要なメモリアクセス数が大幅に減少する。詳しく
言うと、図6に関連して以下に説明するように、主とし
てP及びB予測ループを再構成して組み合わせることに
よりメモリアクセスが減少する。またこの発明では、主
メモリの使用や縁及び端データの中間記憶を全く行わな
いようにデータの流れを変える補足的な方法により、メ
モリアクセス数を減らすことができる。この方法は単独
で用いてもよいし、またはP及びB予測ループの再構成
や組合わせと共に用いてもよい。図6のプロセスは1つ
のマクロブロックについて述べているが、図6に示すス
テップはフレーム内の各マクロブロック毎に繰り返され
るものである。
【0030】図6に示すように、CPU32はまずプロ
セス45を実行して、主メモリ40内のアレー信号ol
dframeから前のPフレームPT-1 の1つまたはそ
れ以上のマクロブロックを検索し、メモリ33内のバッ
ファ44に記憶する。図7はこの発明の好ましい実施の
形態で、H.263規格に準拠し、フレームの第i列、
第j行のマクロブロックPT (i,j)の予測に、前の
予測フレームPT-1 の9つのマクロブロックPT-1 (i
−1,j−1)からPT-1 (i+1,j+1)までを用
いることを示す。このようにこの例のプロセス45は、
9つの適当なマクロブロックPT-1 (i−1,j−1)
からPT-1 (i+1,j+1)までを検索してバッファ
44内に記憶する。次に組合わせ前方向P及びB予測プ
ロセス46で行う各メモリ検索動作はこのバッファ44
に対して行うのであって、主メモリ40に対してではな
い。装置20の電力消費が大幅に減少するのはこの点で
ある。この発明の好ましい実施の形態で行うバッファリ
ング動作では、例えば9つの適当なマクロブロックP
T-1 (i−1,j−1)からPT-1 (i+1,j+1)
までの2回以上読む値については、一時的な値をメモリ
階層の下位レベル(例えば、バッファ44)に割り当て
るので効率がよい。また以下の説明から明らかなよう
に、このようなバッファリングは書込み動作にも適用さ
れる。この場合、上位レベルに割り当て、かつ例えば予
測フレームなどのいくつかの情報で形成する信号は、最
終結果を得るまでは上位レベルのメモリに書き込まな
い。中間段階は共有メモリ33内のバッファなどの下位
レベルのメモリ内に記憶する。
【0031】図7において、当業者がこの明細書を参照
すれば理解できることであるが、OBMCモードでは特
定のブロックの3x3近傍以外にアクセスする必要があ
ることもある。したがって、主メモリ40からの画素を
検索するためにバッファ44にアクセスするときは、所
望の画素がバッファ44内にないことがあるのでチェッ
クする必要がある。ほとんどの動きベクトルは非常に小
さく、したがって3x3近傍内の位置を指すのが普通な
ので、このようなことはめったに起こらない。
【0032】この例では、予測プロセス46でまず現在
のマクロブロックのPフレームの前方向予測でOBMC
補償を行う。図6で、この補償を行うにはまずプロセス
46aでインデックスiを初期化し、動き補償プロセス
46bを含むループを4回通る。前のフレームPT-1
のルミナンス(Y)情報と該当する動きベクトルMVに
動き補償プロセス46bを行って、フレームPnewT
に関して記憶するルミナンス(Y)情報を生成する。イ
ンデックス増分プロセス46cと決定プロセス46dに
より、OBMC補償を4回行ったかどうか判断する。上
に説明したように、動き補償プロセス46bでは、CP
U32は該当する動き補償機能(図6のOBMC)を呼
び出して実行し、中間の予測PフレームPnewT のマ
クロブロック用のルミナンス(Y)情報を生成する。後
で説明するように、中間の予測PフレームPnewT
共有メモリ33内の別のバッファに記憶する。
【0033】この技術で知られているように、ビデオ装
置が対象を表示できない場合でも、H.263規格に従
う制限のない動きベクトルモードを用いて、動きベクト
ル(即ち、ビデオフレームの間の位置の偏差のベクトル
表現)は表示可能なフレーム内の位置から表示可能なフ
レーム外の位置を「指す」ことができる。表示されるビ
デオ映像の端の影響が非常に小さいので、このモードを
用いると、ビデオシーケンスを滑らかに表示することが
できる。しかし上に述べたように従来のビデオ復号装置
では、制限のない動きベクトルモードを行うのに単に前
の予測フレームPT-1 の記憶に必要なメモリを増やし
て、前の予測フレームPT-1 とその縁の領域から成る拡
張された前のフレームPextT-1 を(図2のアレー信
号edgeframeとして)メモリ内に記憶するだけ
である。例えば従来は、拡張された前のフレームPex
T-1 を記憶するには、前の予測フレームPT-1 に比べ
て更に44マクロブロックのメモリ容量が必要である。
【0034】しかしこの発明の好ましい実施の形態で
は、縁データへの依存性は、読む画素の位置の条件によ
り抑えることができる。これにより、縁データ内に記憶
されている画素の複写を読むのではなく、PフレームP
T-1 の境界の行と列から元のフレーム画素を読むことが
できる。この抑制は、オンチップメモリ33のバッファ
BFRでの局部緩衝を用いて複写を一時的に記憶するこ
とにより、文脈に依存して行うことが好ましい。その結
果、制限のない動きベクトルの処理のために従来のH.
263復号で用いる大きな縁領域は必要でない。これに
ついては、図8aから図8cに関連して説明する。
【0035】図8aは前の予測フレームPT-1 を絵画的
に示す図で、動きベクトルMVに関連する画素P
x (i,j)を含む。動きベクトルMVはx成分MVx
y 成分MVyを持ち、画素Pm を指す。この例では、
画素Pm はフレームPT-1 で規定される表示可能な領域
の外にある。図5に示すようにこの発明のこの好ましい
実施の形態では、表示可能なフレームの外にある画素P
m に対応する情報はどのメモリ位置にも記憶しない。こ
れは図2に示す従来のビデオ復号プロセスとは対照的で
ある。図2では、この画素はアレー信号edgefra
meの拡張された前の予測PフレームPextT-1 内に
記憶される。しかしP及びBフレームを予測するために
は、前方向予測プロセス46は画素Pm に関する情報が
必要である。この発明の好ましい実施の形態で、この情
報を生成する方法を図8bに関して説明する。
【0036】図8bに示すように、また図5と図8aに
関連して、プロセス55でCPU32はまず前のフレー
ムPT-1 からの端画素をバッファ44の1つ、即ち端バ
ッファ44e、に記憶する。好ましくは、プロセス55
を各フレームPT-1 毎に一度実行して、組合わせP及び
B予測プロセス46を実行する各マクロブロックの処理
に用いる。この発明のこの実施の形態では、前のフレー
ムPT-1 のちょうど端にある画素Pedgeだけを端バッフ
ァ44eに記憶する。また動き補償ではルミナンス情報
だけを用いるので、各端画素Pedgeのルミナンス情報
(Y)だけを主メモリ40から(アレー信号oldfr
ameから)検索して端バッファ44eに記憶する。ア
クセスを迅速に低電力で行うため、端バッファ44eは
もちろん主集積回路30内のオンチップ共有メモリ33
内に設ける。
【0037】端バッファ44eに記憶する情報の量は少
ないので、端バッファ44eがオンチップメモリ33の
中に占める部分は比較的小さい。QCIF書式ビデオの
例では、各フレームは144画素と176画素である
(即ち、よく知られているように、8x8画素の6ブロ
ックの9行の11マクロブロックで、クロミナンス情報
は(4:2:0)のように十進化する)。図8dは端バ
ッファ44eの配置の例で、TOP BFRとBOTT
OM BFRの部分はそれぞれフレームPT-1 の頂部と
底部の端画素のルミナンスデータに対応する176バイ
トの情報を含む。LEFT BFRとRIGHT BF
Rの部分はそれぞれフレームPT-1 の左と右の端画素の
ルミナンスデータに対応する144バイトの情報を含
む。この例では、端バッファ44eはオンチップメモリ
33の640バイト部分で容易に実現できる。もちろん
これは、従来のプロセスで用いられる主メモリ40内の
44マクロブロックの縁記憶に比べて非常に少なく、よ
り迅速にアクセスすることができる。
【0038】図8bに戻って、残りのプロセス56から
62までは、CPU32がルミナンス動き補償プロセス
46bの中で実行することが好ましい。即ち、CPU3
2はまず決定56を行って、現在の画素(例えば、図8
aの画素Px (i,j))に関連する復号プロセス2で
検索した動きベクトルMVが、例えば図8aの表示可能
なフレームPT-1 の外の画素位置を指すかどうか判断す
る。外を指さなければ(決定56が「いいえ」)、プロ
セス57で、動きベクトルMVが指す画素を主メモリ4
0内のアレー信号oldframeから検索して、従来
の方法でフレームPT の前方向予測に用いる。
【0039】もし動きベクトルMVが表示可能なフレー
ムPT-1 の外の画素位置を指す場合は(即ち、決定56
が「はい」)、CPU32はプロセス58を実行する。
即ち、動きベクトルMVの成分MVx とMVy を分析し
て、成分MVx とMVy の一方だけでも表示可能な領域
の外を指すかどうか判断する。図8aの例では、成分M
x はフレームPT-1 の表示可能な領域内にあるが、成
分MVy はフレームP T-1 の頂部領域外に出る。この発
明の好ましい実施の形態では、CPU32はプロセス5
8で成分MVy を修正して値
【数1】 にする。これはフレームPT-1 の端に制限されたy方向
の距離である。図8aの例の成分MVx
【数2】 を図8cに示す。もちろん画素Pm がx方向に表示可能
な領域の外にある場合は、成分MVx を同様に端の値
【数3】 に修正する。
【0040】次にプロセス60でCPU32は、フレー
ムPT-1 の端にあり、かつ現在の画素Px (i,j)と
プロセス58で修正された動きベクトルMVとの和に対
応する座標を持つ、修正画素
【数4】 を識別する。図8aと図8cの例では、修正された画素
【数5】 は、フレームPT-1 の端にある画素
【数6】 に対応する。端の画素
【数7】 を識別すると、CPU32はプロセス62を実行する。
即ち、修正画素
【数8】 のルミナンス情報を端バッファ44eから検索して、従
来の方法で動き補償プロセス46bに用いる。図8aと
図8cの例では、画素
【数9】 の位置がフレームPT-1 の頂部の端にあるので、この情
報は端バッファ44eのTOP BFR部分から検索す
る。
【0041】図8bに関して上に述べた端バッファプロ
セスは、アドレスに複雑な条件付き抑制をすることがで
きない固定プロセッサを用いて実現する場合に特に有用
である。この発明の別の実施の形態では、縁をなくすの
にアドレスフィルタを用る。特にCPU32が特注の集
積回路であって、アドレスフィルタ機能が占めるチップ
面積が無視できるような場合は、このようなアドレスフ
ィルタを特殊なハードウエアで実現することが好まし
い。または、汎用プロセッサ上で動作するソフトウエア
によりアドレスフィルタ機能を実現してもよい。ただし
サイクルのコストは大きくなる。この別の方法では、主
メモリから縁画素を読む間に(最初の読み)、または最
も新しく読んだ縁画素を保存しているレジスタを読む間
に、所望の画素アドレスを端画素のアドレスに直接変換
する。したがって、縁画素Pedgeの複写を記憶するため
の端バッファ44eは必要ない。画素データは主メモリ
40内かまたは所望の端画素用のレジスタ資源内にあ
り、直接これにアクセスすることができる。この別の方
法によるアドレスのフィルタリングと変換を、ルミナン
ス情報とクロミナンス情報の処理に用いてよい。CPU
32が特注のプロセッサである場合は、この別の方法は
特に有用である。それは、端バッファ44eのためのチ
ップ面積が必要でなくなり、しかもこの場合も、主メモ
リ44内の縁画素に重複してアクセスすることがほとん
どなくなるという利点があるからである。これについて
以下に説明する。
【0042】図8bの検索プロセスかまたは上に述べた
アドレスフィルタの応用を実現すると、画素データの縁
の複写を作るのに必要なメモリアクセス(QCIF書式
では、一般に16896回の書込みアクセスと必要な読
取り)を行わないので、「縁」データのアクセス数が大
幅に減少する。さらに、動き補償中に縁ブロックにアク
セスする際に、文脈に特有の境界抑制条件を再構成機能
に含めても、必要なアクセスはわずか数回である。例え
ば、境界での全体の減少は平均約8倍と考えてよい。動
きベクトルは小さくて0から15の画素位置の間に不均
一に分散していることを考えると、これは実際的であ
る。したがって、+−7画素にわたる、動きの均一な範
囲があると考えてよい。これは平均して、縁の外にある
画素の数が縁の中にある画素の数の約1/8であること
を示す。この仮定に基づけば、QCIF書式において
は、従来のように縁を作ることに比べて、読取りアクセ
スの数は16,128だけ減少すると結論してよい。も
ちろん、この結論はデータによって変わる。上に述べた
文脈に従う抑制を行うには、従来の縁の記憶に比べてよ
り複雑なプログラムコードとCPU32の追加の作業が
必要になるが、縁をなくすことにより主メモリ40への
アクセス数が減少するので電力消費の減少はやはり大幅
であり、メモリ転送の数とフレームの大きさ(即ち、縁
がない)が共に大幅に減少することから、最近の技術で
は24%から27%程度減少する。
【0043】図6に戻って、この発明のこの実施の形態
では、必要に応じて端バッファ44eからの端画素の検
索を含めて動き補償プロセス46bを4回通過して終了
すると、次にプロセス46eで、BフレームB1T を生
成するためにルミナンス(Y)情報の動き補償予測を行
う。プロセス46eで、CPU32はバッファBFRか
ら前のフレームPT-1 の現在のマクロブロックのルミナ
ンス情報を検索し、動き補償機能(MC)を呼び出し
て、この情報と復号された動きベクトルに実行し、予測
BフレームB1T のためのルミナンス(Y)情報を生成
して、これも共有メモリ33内のバッファに記憶する。
これについては後で説明する。
【0044】次にCPU32はプロセス46fを実行し
て、予測PフレームPnewT に用いるために前のフレ
ームPT-1 の現在のマクロブロック内のクロミナンス
(Cr)情報の動き補償を行い、次にプロセス46gを
実行して、予測BフレームB1 T に用いるために前のフ
レームPT-1 の現在のマクロブロック内のクロミナンス
(Cr)情報の動き補償を行う。同様に、CPU32は
プロセス46hを実行して、予測PフレームPnewT
に用いるために前のフレームPT-1 の現在のマクロブロ
ック内のクロミナンス(Cb)情報の動き補償を行い、
次にプロセス46iを実行して、予測BフレームB1T
に用いるために前のフレームPT-1 の現在のマクロブロ
ック内のクロミナンス(Cb)情報の動き補償を行う。
【0045】続いて、CPU32はプロセス47を実行
して、得られたフレームPnewTとB1T のマクロブ
ロックを共有メモリ33内のバッファBFRに記憶す
る。プロセス47は図6に示すように別のステップとし
て行ってもよいし、または各プロセス46b、46e、
46f、46g、46h、46iが終わったときに行っ
てもよい。どちらにしても、プロセス46が終わると、
共有のオンチップメモリ33内のバッファreconf
_pblockは予測PフレームPnewT の現在のマ
クロブロックのルミナンス(Y)データとクロミナンス
(Cr,Cb)データを保持し、共有のオンチップメモ
リ33内のバッファreconf_bblockは予測
BフレームB1T の現在のマクロブロックのルミナンス
(Y)データとクロミナンス(Cr,Cb)データを保
持する。後で説明するようにこれらの中間フレームPn
ewT とB1T を後の処理で用いるが、主メモリ40に
アクセスする必要がないので、装置20内の電力消費は
減少する。
【0046】更に上述の図6の説明から明らかなよう
に、この発明の好ましい実施の形態のプロセス46では
前方向のP予測と前方向のB予測をそのプログラムルー
プの再構成により組み合わせて、プロセス45で行った
ように、各マクロブロック毎に主メモリ40へのアレー
アクセスを1回だけ行う。また全面的に改善するには、
いくつかの機能を拡張することが好ましい。これについ
ての一般的な方法は次の文献に述べられている。即ち、
F.Catthoor他の「低電力信号処理装置のため
の大域通信及びメモリ最適化変換」、VLSI信号処理
VII(IEEE、1994年)、178−187ペー
ジと、S.Wuytack他の「低電力装置のための大
域通信及びメモリ最適化変換」、低電力設計に関する国
際会議(International Workshop on Low Power Design)
(IEEE、1994年)、203−208ページと、
米国特許出願番号第S.N.08/163,819号、
1993年12月8日出願であって、これらを全て引例
としてここに示す。これはB及びP予測プロセスはそれ
ぞれ主メモリの同一の前のPフレームPT-1 にアクセス
するもので、図2に関して説明した従来の方法に比べて
大きな改善である。特に、ビデオストリームの伸張と復
号の際にこれらのアクセスを行う頻度を考えると、アレ
ー信号oldframeの内容を検索するこの冗長なメ
モリアクセスがなくなることにより、特に上述のフレー
ムの縁をなくすことと合わせて、電力消費は大幅に減少
する。
【0047】この発明の好ましい実施の形態では、CP
U32は復号されたPマクロブロック43をバッファP
blockから検索し、これに逆離散コサイン変換(I
DCT)プロセス49を行って変換Pブロック51を生
成する。これを、共有オンチップメモリ33内の別のバ
ッファ、即ちバッファIDCT_Pblockに記憶す
る。この実施の形態のプロセス49ではIDCTを行う
が、もちろんこの技術で知られている他の変換符号化方
式(及びDCTのいくつかの変形のどれか)を代わりに
用いてもよい。次にCPU32はプロセス48で、バッ
ファreconf_pblockに記憶されている予測
フレームPnewT の現在のマクロブロックとPブロッ
ク51を加算して、PフレームPTの完全な現在の予測
マクロブロックを作る。CPU32はプロセス48で加
算を行った後、PフレームPT の予測マクロブロックを
主集積回路30の共有メモリ33内のバッファnew_
Pblockに記憶し、後で説明するようにこれを後ろ
方向B予測プロセス50に用いる。また、加算プロセス
48が終わると、主集積回路30のCPU32とメモリ
コントローラ36はバッファnew_Pblock内に
含まれるマクロブロックを、アレー信号newfram
e内の対応するマクロブロックとして主メモリ40に記
憶する。この記憶動作は、継続した復号プロセスとは別
に、メモリバスMBUSが装置20内で利用可能になる
ときに行う。
【0048】次にCPU32は後ろ方向B予測プロセス
50を行う。これには、バッファreconf_bbl
ock内に記憶されている中間BフレームB1T の予測
マクロブロックと、バッファnew_Pblock内に
記憶されているフレームPTの最近の予測マクロブロッ
クを用いる。この発明の好ましい実施の形態では、後ろ
方向B予測プロセス50は、現在の予測PフレームPT
の該当するマクロブロックを検索するのにアレー信号n
ewframeの内容を検索する必要がなく、従って検
索しない。これは前に図2に関して説明したように従来
の方法で、中間Bフレームと予測Pフレームを検索する
ときにも後ろ方向予測Bフレームを記憶するときにも、
主メモリにアクセスするのとは対照的である。したがっ
て、予測PフレームPT は主メモリ40のアレー信号n
ewframeに一度だけ書き込み、次のフレームの復
号を行うとき(即ち、現在の予測PフレームPT が前の
予測フレームPT-1 になるとき)まではそこから読まな
い。このように共有オンチップメモリ33内にバッファ
BFRを設けると、後ろ方向B予測プロセス50のため
に現在のPフレームPT を検索する必要がないので、装
置20の電力消費は減少する。
【0049】後ろ方向B予測プロセス50を行うと、第
2中間BフレームB2T 内にマクロブロックが得られ
る。これは、主集積回路30内の共有オンチップメモリ
33の中の別のバッファBFRの1つ、即ちバッファr
econb_bblockに記憶し、加算プロセス52
で用いる。上に述べたように、バッファBblockは
入力ビットストリームIBSから検索され復号された復
号Bマクロブロック43’を含む。CPU32は、復号
Bマクロブロック43’をIDCTプロセス53に与え
て変換Bマクロブロック54を得る。これを、共有メモ
リ33内のバッファIDCT_Bblock内に記憶す
る。後ろ方向B予測プロセス50が終わると、CPU3
2はバッファIDCT_Bblockから変換Bマクロ
ブロック54を検索して、マクロブロック54と、プロ
セス52でバッファreconb_Bblockから検
出された中間の予測BフレームB2T の現在のマクロブ
ロックを加算し、現在の予測BフレームBT 内にマクロ
ブロックを生成する。共有オンチップメモリ33内のバ
ッファnew_Bblockを用いて、加算プロセス5
2で生成された各マクロブロックを一時的に記憶する。
次に、この予測マクロブロックを、予測BフレームBT
の一部としてアレー信号Bframeに関して主メモリ
40に書込む。前に説明した組合わせP及びB予測プロ
セス46の場合と同様に、この発明のこの実施の形態の
プロセス50では共有メモリ33内のバッファにアクセ
スするので主メモリ40へのアクセスがなくなり、装置
内の電力消費が大幅に減少する。
【0050】次にCPU32と入出力回路34は、予測
PフレームPT と予測BフレームB T にそれぞれ対応す
るアレー信号newframeとBframeの内容を
用いて、H.263のビデオ復号及び表示の従来の方法
で、グラフィックディスプレイ38に表示する現在の映
像フレームを作る。
【0051】したがってこの発明のこの第1の実施の形
態により、電力は大幅に削減される。この結論は、電力
消散のモデルである一組の切替え容量方程式を用いた、
この発明に従って構成され操作される装置の動作のシミ
ュレーションに基づいている。一般に切換え容量方程式
は次の形式である。
【数10】 Cpd= A0 + A1rA2c+A3rc+A4r2 + A5c2 + A6w ただし、rはメモリの行数に対応し、cはメモリの列数
に対応し、wはメモリの語長に対応する。またAi の値
は、メモリの構造と製作技術で決まる定数である。Ai
の値はメモリの活動についての仮定を用いて決めてもよ
い。例えば、サイクルの50%は読取りにまた50%は
書込みに対応し、各サイクルは50%の語長を含み(入
力を書込みに、出力を読取りに)、また50%のアドレ
スビットを任意のサイクルのトグリングに、というよう
に。もちろんAi の値はオンチップメモリ33と主メモ
リ40の間で変わる。しかし、更に上述のモデルから明
らかなように、電力消費は特定のメモリ資源の大きさ
(即ち、rとcとwの値)に大きく依存する。
【0052】まず、この切換え容量モデルを用いたシミ
ュレーションから分かったことは、図8aに関して述べ
たように縁を除くことにより、ビデオ復号動作の際の装
置20の電力消費が16%程度減少することである。図
6で示したように、組合わせP及びB前方向予測プロセ
ス46に関して上に説明したループ変換を行うと、外部
フレームアクセスという冗長さを除くことにより、電力
消費が更に50%程度減少することがシミュレーション
により分かった。IDCT変換ブロックと加算する前
に、主メモリ40ではなくバッファreconf_Pb
lockとreconf_Bblockを用いて組合わ
せP及びB前方向予測プロセス46の結果を記憶するこ
とにより、電力消費が更に25%減少することがシミュ
レーションにより分かった。図5に関する例で説明した
ように、共有メモリ33内のバッファBFRを一般的に
用いて中間結果を記憶し、予測PフレームPT と予測B
フレームBT が完成するまで主メモリ40へのアクセス
を遅らせると、電力消費が更に37%減少することがシ
ミュレーションにより分かった。ビデオ復号において装
置20の電力要求がこのように大幅に減少すると、装置
20内の電池31の有効寿命に劇的な影響を与えること
が期待される。
【0053】この発明の第2の実施の形態は上述の電力
消費を削減するという特徴を持ち、過去及び未来の予測
Pフレームを同じ場所に記憶することにより、予測フレ
ームのマクロブロックを主メモリ40内に保持する範囲
を減らして、チップ面積を一層効率化できることが期待
される。これについて図9aから図9cまでにより説明
する。
【0054】図9aは、主メモリ40内に記憶された例
示の、前の予測フレームPT-1 の内容を絵画的に示す。
上に述べたように、従来の方法では前のフレームPT-1
はアレー信号oldframeに関連する。図9aのフ
レームPT-1 はQCIF書式に従っており、この表現で
は9行(y=1からy=9)の11(x=1からx=1
1)マクロブロックを含む。図9aに示す時点で、第j
列、第k行のマクロブロックPT-1 (i,k)は、上述
の組合わせP及びB予測プロセス46を実行中のマクロ
ブロックである。図6に示すようにこのプロセスでも、
マクロブロックPT (i,k)の予測には、前のフレー
ムPT-1 からの周囲の8マクロブロック(x=k+−
1,y=j+−1)が必要である。
【0055】この例では、マクロブロックPT-1 (x,
y)の処理はまずx方向であって、次はマクロブロック
T-1 (j+1,k)を処理する。このようにして行k
までのマクロブロックを全部処理すると、次に処理する
のはマクロブロックPT-1 (1、k+1)である。その
結果、前のフレームPT-1 の内容の多くはもうPフレー
ムPT の予測に用いる必要がない。詳しく言うと、yが
k−1より小さい全てのマクロブロックPT-1 (x,
y)と、y=k(即ち、第k行)でxがj−1より小さ
いマクロブロックPT-1 (x,y)は、その後の予測プ
ロセス46には必要ない。これらのマクロブロックを図
9aの斜線で示す。この発明のこの実施の形態では、こ
れらのマクロブロックを除去する。言い換えると、新し
いデータで上書きする。これについては後で説明する。
【0056】図9bは、図9aの対応する生成点での現
在及び未来のPフレームPT の内容を表す。従来の方法
では、上に述べたようにPフレームPT はアレー信号n
ewframeに関して主メモリ40内に記憶される。
この例では、マクロブロックPT (j,k)は上に述べ
たようにマクロブロックPT-1 (j+−1,k+−1)
の処理に基づいてすでに予測されている。しかし、yが
kより大きい場合と、yがkに等しくxがjより大きい
場合のマクロブロックPT (x,y)はまだ予測されて
いない。これらのマクロブロックを図9bの斜線で示
す。
【0057】次に図9cを参照して、フレームPT-1
T の中の有効なすなわち必要なデータを組み合わせ
て、バッファを用いて単一メモリ資源に入れることを説
明する。この発明の好ましい実施の形態では、現在必要
かまたは未来のマクロブロックの予測に必要な前のマク
ロブロックPT-1 (x,y)のデータの位置に対応する
マクロブロックPT (x,y)を一時的に記憶する限
り、予測マクロブロックP T (x,y)のデータを、前
の、もう使わないマクロブロックPT のデータに上書き
してよいことが分かった。詳しく言うと、予測する現在
のマクロブロックP T (j,k)と同じ第k行にある後
続のマクロブロックと、前の(k−1)行にありかつ列
の位置yがj−1以上であるマクロブロックは、マクロ
ブロックPTがすでにその位置に生成されていても、保
持しなければならない。
【0058】図9cに示すように、また後で詳細に説明
するように、この発明では主メモリ40内にあるアレー
信号old/newframeという単一メモリ資源を
用いて、前のフレームPT-1 マクロブロックと現在のフ
レームPT マクロブロックを共に記憶する。この例で
は、第k行以上のマクロブロックと行k−1かつ列j−
1以上のマクロブロックは前のフレームPT-1 のデータ
を含み、行k−2以下のマクロブロックと行k−1かつ
列j−1以下のマクロブロックは現在のフレームPT
対応する。追加のマクロブロックPT (x,y)、特定
すると行k内の列j以下に対応するものと行k−1内の
列j−1以上に対応するもの、を生成したので、好まし
くは主集積回路30のオンチップ共有メモリ33内にバ
ッファNEWBFRを設けて、FIFO方式で一時的に
記憶する。マクロブロックPT (j,k)の予測が終わ
ると、バッファNEWBFR内の最も古いマクロブロッ
ク(一般的にはマクロブロックPT (j−1,k−1)
で、アドレスはラップアラウンドする)を、メモリ資源
old/newframe内の対応するマクロブロック
T-1 (j−1,k−1)に上書きしてよい。
【0059】次に図10を参照して、この発明のこの好
ましい実施の形態を実行するビデオ復号装置20の動作
を詳細に説明する。図10において、図5と同じプロセ
スとバッファと結果は同じ参照番号と文字で示し、説明
は繰り返さない。
【0060】図10から明らかなように、この場合は前
のフレームPT-1 のマクロブロックは、主メモリ40内
のアレー信号old/newframeに記憶する。前
と同様に、マクロブロックPT-1 (x,y)とその3x
3近傍内の近傍マクロブロックを検索してバッファ44
内に記憶する(図7に示したように)。上述のように、
端画素Pedgeを予め検索して端バッファ44e内に記憶
し、組合わせ前方向P及びB予測プロセス46に与え
る。もちろんこれらの端画素Pedgeは、新しいフレーム
PTの再書込みを始める前に、前のPフレームPT-1
ら検索する。または前に述べたように、アドレスフィル
タを用いてアドレスを変換してもよい。
【0061】復号プロセス42と予測プロセス46と加
算プロセス48は、図8の場合と同様に、主メモリ40
から検索してバッファ44に記憶した前のフレームP
T-1 からの情報を用いて、前と同様に行う。上に述べた
ように、前のフレームPT-1 のデータを繰り返して読む
のは主メモリ40からではなく、下位レベルメモリ即ち
バッファ44からである。しかし加算プロセス48で生
成した各マクロブロックPT (x,y)は、主集積回路
30のオンチップ共有メモリ33内にあるバッファNE
WBFRの1つの位置に記憶する。この例では、バッフ
ァNEWBFRはNB1 からNB13までの13位置を含
む。これらは先入れ先出し方式で、即ち循環的に配置す
る。即ち、位置NB13には最も古いマクロブロックデー
タを記憶し、位置NB1には最も新しいマクロブロック
データを記憶する。
【0062】この発明の好ましい実施の形態で、バッフ
ァNEWBFRが新しいマクロブロックPT (x,y)
の生成に応じて動作する手順を示すと、まず最も古いマ
クロブロックを含む位置NB13を主メモリ40内のアレ
ー信号old/newframeに書き込む。詳しく言
うと、図9aから図9cに関して説明したように、加算
プロセス48でマクロブロックPT (j,k)を生成す
ると、位置NB13の内容をマクロブロックPT (j−
1,k−1)に書き込む(フレーム内のアドレスはラッ
プアラウンドする)。次にバッファNEWBFR内の各
マクロブロックの内容を進め、最も新しく生成されたマ
クロブロックPT (x,y)をバッファNEWBFRの
位置NB1 に書き込む。もちろん、一般にデータがバッ
ファNEWBFRの中で位置から位置に物理的に進むの
ではなく、図10に示す操作を実行する際に、1つまた
はそれ以上のポインタがデータを読み取る位置NB13
データを書き込む位置NB1 を示す。またはバッファN
EWBFRは、必要なときにデータを出し入れするスタ
ックとして配置してよい。
【0063】新しいマクロブロックPT (x,y)をバ
ッファNEWBFRの位置NB1 に記憶すると、予測プ
ロセスは次のマクロブロックPT(x+1,y)に移っ
て同様にして行う。更に、後ろ方向B予測プロセス50
は現在の予測マクロブロックPT (x,y)の結果を必
要とするので、現在のBフレームBTを上に述べた方法
で生成するとき、プロセス50はバッファNEWBFR
から、即ち位置NB1から、この情報にアクセスする。
【0064】その結果、この発明のこの第2の実施の形
態では、オンチップバッファNEWBFRと共に単一メ
モリ資源old/newframeを用いて、前の予測
フレームPT-1 と現在の予測PフレームPT を共に記憶
する。このように、前の予測フレームPT-1 と現在の予
測PフレームPT を同じメモリ資源内で組み合わせる
と、電力消費や実行性能に悪影響を与えることなく、ビ
デオ復号器ハードウエアを実現するのに必要なチップ面
積を大幅に減らすことができる。
【0065】このように上に述べたこの発明の好ましい
実施の形態では、ビデオ復号プロセスの電力消費が大幅
に減少する。ここに述べた各方法を組み合わせて用いれ
ば電力の減少は最大になるが、もちろん当業者は装置の
特徴に応じてこれらの方法の一部を用いることにより大
きな改善を行うことができる。
【0066】当業者がこの発明の明細書を参照して理解
するように、この発明の特許請求の範囲から逸れること
なく、ここに説明したこの発明の好ましい実施の形態の
種々の代替や変形を用いることができる。例えば、上に
説明したOBMC補償以外のH.263規格に従う動き
補償モードを用いてよく、これには制限はない。これら
の代替モードは上に述べたOBMCモードと同様である
が、より簡単である。したがって当業者はこの明細書を
参照して、これらの他のモードについて、上に述べたア
ルゴリズム変換やメモリ構成の解決を容易に実現するこ
とができる。
【0067】この発明の好ましい実施の形態に関して説
明したが、もちろんこれらの実施の形態の修正や代替が
考えられる。この発明の利点や特徴を持つ修正や代替
は、この明細書と図面を参照すれば当業者には明らかで
ある。これらの修正や代替はこの発明の特許請求の範囲
内にあるものである。
【関連出願のクロスレファレンス】この出願は、米国仮
出願番号第60/028,606号、1996年10月
23日出願を参照しその記載内容をここ導入し、35
U.S.C.§120に規定される権利を享有する。
【図面の簡単な説明】
【図1】従来のH.263規格に従う従来のBフレーム
及びPフレーム予測の絵画的表現。
【図2】H.263規格に従う従来のビデオ復号方法の
絵画的表現。
【図3】図2の従来のビデオ復号方法による前方向P予
測と前方向B予測動作を示す流れ図。
【図4】この発明の好ましい実施の形態におけるビデオ
復号装置のブロック図。
【図5】この発明の第1の好ましい実施の形態における
ビデオ復号方法の絵画的表現。
【図6】この発明の好ましい実施の形態における、組合
わせ前方向P及びB予測の動作を示す流れ図。
【図7】この発明の好ましい実施の形態における、予測
プロセスでのマクロブロック・バッファの使用と、フレ
ームデータのマクロブロックのためのメモリ使用を示す
絵画的表現。
【図8】aとbは、この発明の制限のない動きベクトル
を用いる動作の絵画的表現。この発明の制限のない動き
ベクトルを用いる動作の絵画的表現。cは、この発明の
好ましい実施の形態における、制限のない動きベクトル
を用いて縁をなくす動作を示す流れ図。dは、この発明
の好ましい実施の形態における、端画素を記憶するため
のオンチップメモリ内の縁バッファの配置を示すメモリ
マップ。
【図9】今後必要のない、またはまだ書き込まれていな
い情報の位置を示す、前及び現在の予測Pフレームのメ
モリ要求の絵画的表現。
【図10】この発明の第2の好ましい実施の形態におけ
るビデオ復号方法の絵画的表現。
【符号の説明】
20 ビデオ復号装置 30 主集積回路 32 中央処理装置(CPU) 31 電池 33 共有メモリ 34 入出力回路 36 メモリコントローラ 37 網インターフェース 40 主メモリ 44e 端バッファ
フロントページの続き (72)発明者 ブハヌ カプア アメリカ合衆国テキサス州アービング、メ ドー クリーク ドライブ 1131、アパー トメント 258 (72)発明者 ロード ナッチターガエル ベルギー国レウベン、プレディクヘレンシ ュトラート17 (72)発明者 フランキイ キャットホア ベルギー国テムセ、ホレベーク 66 (72)発明者 ステファン ジャンセンズ ベルギー国レンニク、ヤン バプティスト バン デル リンデルシュトラ ート 5

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 圧縮されたビデオデータの受信されたビ
    ットストリームを復号する方法であって、 前の予測ビデオフレームをメモリに記憶し、 現在のビデオフレームの動きベクトル情報を前記受信さ
    れたビットストリームから復号し、 前記前の予測ビデオフレームの複数のマクロブロックの
    それぞれについて、 前記現在のビデオフレームの動きベクトルの少なくとも
    1つの成分が、表示可能な映像範囲外を指すかどうか判
    断し、 前記判断ステップが、動きベクトルの少なくとも1つの
    成分が前記表示可能な映像範囲外を指すと判断すると、
    これに応じて前記動きベクトルに対応する画素アドレス
    を、前記表示可能な映像範囲の端に沿う画素位置に対応
    する端画素アドレスに変換し、 前記修正された画素アドレスに対応する画素データを検
    索し、 前記検索された画素データを用いて、前記前の予測ビデ
    オフレームのマクロブロックに動き補償を行う、ステッ
    プを含む、圧縮されたビデオデータの受信されたビット
    ストリームを復号する方法。
  2. 【請求項2】 前記判断ステップが、前記表示可能な映
    像範囲外を指す動きベクトルの成分はないと判断する
    と、これに応じてメモリの前記動きベクトルに対応する
    画素データにアクセスし、 前記検索された画素データを用いて、前記前の予測ビデ
    オフレームのマクロブロックに動き補償を行う、ことを
    更に含む、請求項1に記載の圧縮されたビデオデータの
    受信されたビットストリームを復号する方法。
  3. 【請求項3】 前記前の予測ビデオフレームはPフレー
    ムに対応し、 各マクロブロックは、ビデオ映像フレームの複数の画素
    のルミナンス及びクロミナンス変換係数を持ち、 また前記前の予測ビデオフレームの前記複数のマクロブ
    ロックのそれぞれについて、 前記受信されたビットストリームから逆変換係数を生成
    し、 動き補償を行う前記ステップの後で、前記マクロブロッ
    クに前記逆変換係数を加算して現在のPブロックを作
    り、 前記現在のPブロックをメモリに記憶する、ことを更に
    含む、請求項2に記載の圧縮されたビデオデータの受信
    されたビットストリームを復号する方法。
  4. 【請求項4】 前記前の予測Pフレームのマクロブロッ
    クのそれぞれについて、 前記マクロブロックに動き補償を行って前方向予測Bブ
    ロックを生成し、 前記マクロブロックに前記逆変換係数を加算して現在の
    Pブロックを作る前記ステップの後で、前記前方向予測
    Bブロックと現在のPブロックを用いて現在のBブロッ
    クを作り、 前記Bブロックをメモリに記憶する、ことを更に含む、
    請求項3に記載の圧縮されたビデオデータの受信された
    ビットストリームを復号する方法。
  5. 【請求項5】 計算装置であって、 圧縮されたビデオデータの入力ビットストリームを受信
    する回路と、 メモリ回路と、 前記受信回路とメモリ回路に結合し、次のステップを含
    む動作のシーケンスを繰り返し実行するようプログラム
    された中央処理装置、を備え、前記プログラムは、 前記メモリ回路にアクセスして、前記メモリ回路に記憶
    されている前の予測ビデオフレームの端画素を検索し、 前記検索された端画素に対応する画素データを端バッフ
    ァに記憶し、 現在のビデオフレームの動きベクトル情報を前記入力ビ
    ットストリームから復号し、 それぞれビデオ映像フレームの複数の画素のルミナンス
    及びクロミナンス変換係数を含む、前記前の予測ビデオ
    フレームの複数のマクロブロックのそれぞれについて、 前記現在のビデオフレームの動きベクトルの少なくとも
    1つの成分が表示可能な映像範囲外を指すかどうか判断
    し、 前記判断ステップが、動きベクトルの少なくとも1つの
    成分が前記表示可能な映像範囲外を指すと判断すると、
    これに応じて前記動きベクトルの少なくとも1つの成分
    を前記表示可能な範囲の端に修正して、修正された動き
    ベクトルを得、 前記端バッファにアクセスして、前記修正動きベクトル
    が指す端画素に対応する画素データを検索し、 前記検索された画素データを用いて、前記前の予測ビデ
    オフレームのマクロブロックに動き補償を行い、 動き補償を行った前記ステップの結果を用いて、現在の
    予測ビデオフレームを生成し、 前記現在の予測ビデオフレームを前記メモリ回路に記憶
    して、動作のシーケンスのその後の繰返しにおいて前の
    予測ビデオフレームとして用いる、計算装置。
  6. 【請求項6】 前記端バッファを前記中央処理装置と同
    じ集積回路上に実現し、 また前記メモリ回路は、 前記中央処理装置とは異なる集積回路上に実現して、前
    記前の予測ビデオフレームと現在の予測ビデオフレーム
    を記憶する、主メモリを備える、請求項5に記載の計算
    装置。
  7. 【請求項7】 前記プログラムされた動作のシーケンス
    は、 前記判断ステップが、前記表示可能な映像範囲外を指す
    動きベクトルの成分はないと判断すると、これに応じて
    メモリ回路の、前記動きベクトルに対応する画素データ
    にアクセスし、 前記検索された画素データを用いて、前記前の予測ビデ
    オフレームのマクロブロックに動き補償を行う、ことを
    更に含む、請求項5に記載の計算装置。
  8. 【請求項8】 前記前の予測ビデオフレームはPフレー
    ムに対応し、 また前記プログラムされた動作のシーケンスは、前記前
    の予測ビデオフレームの前記複数のマクロブロックのそ
    れぞれについて、 前記入力ビットストリームから逆変換係数を生成し、 動き補償を行う前記ステップの後で、前記マクロブロッ
    クに前記逆変換係数を加算して現在のPブロックを作
    り、 前記現在のPブロックを前記メモリ回路に記憶する、こ
    とを更に含む、請求項7に記載の計算装置。
  9. 【請求項9】 前記プログラムされた動作のシーケンス
    は、前記前の予測Pフレームのマクロブロックのそれぞ
    れについて、 前記マクロブロックに動き補償を行って前方向予測Bブ
    ロックを生成し、 前記マクロブロックに前記逆変換係数を加算して現在の
    Pブロックを作る前記ステップの後で、前記前方向予測
    Bブロックと現在のPブロックを用いて現在のBブロッ
    クを作り、 前記Bブロックを前記メモリ回路に記憶する、ことを更
    に含む、請求項8に記載の計算装置。
  10. 【請求項10】 計算装置であって、 圧縮されたビデオデータの入力ビットストリームを受信
    する回路と、 主メモリと、 主集積回路であって、 前記受信回路に結合された入出力回路と、 シーケンス内の複数のビデオ映像ブロックを最も新しい
    ブロックから最も古いブロックまで記憶する、新しいブ
    ロックバッファと、 前記主メモリに結合されたメモリコントローラと、 前記入出力回路と前記新しいブロックバッファと前記メ
    モリコントローラに結合され、次のステップを含む一連
    の動作を繰り返し行うようプログラムされた、中央処理
    装置、を備える主集積回路回路、を備え、 前記プログラムは、 ビデオフレーム内の第1の位置に対応する前の予測ビデ
    オ映像データの少なくとも1つのブロックを主メモリか
    ら検索し、 前記入力ビットストリームを復号して動きベクトル情報
    を得、 前記検索されたビデオ映像データの少なくとも1つのブ
    ロックと前記動きベクトル情報を組み合わせて、前記ビ
    デオフレーム内の第2の位置に対応するビデオ映像デー
    タの現在の予測ブロックを作り、 前記新しいブロックバッファ内の前記第2位置に対応す
    る前記現在の予測ブロックを、最も新しいブロックとし
    て記憶し、 前記新しいブロックバッファの最も古いブロックを、主
    メモリ内の、前記ビデオフレーム内の前記第1位置に対
    応する位置に記憶する、ステップを含む、計算装置。
  11. 【請求項11】 各ビデオフレームは複数のブロックと
    して行と列のシーケンスに配置され、 前の予測ビデオ映像データの少なくとも1つのブロック
    を検索する前記ステップは、前記ビデオフレーム内の前
    記第2位置に対応する前の予測ビデオ映像データの1つ
    のブロックと、前記第1位置を含む前記第2位置の近傍
    位置のブロックを検索し、前記第1位置は行と列のシー
    ケンス内で前記第2位置の前の行と前の列である、請求
    項10に記載の計算装置。
  12. 【請求項12】 前記プログラムされた動作のシーケン
    スは、前記入力ビットストリームを復号して逆変換係数
    を得ることを更に含み、 また前記組合わせステップは、 ビデオ映像データの前記少なくとも1つのブロックと動
    きベクトル情報から前方向P予測を行い、 前記逆変換係数を前記前方向P予測を行うステップの結
    果に加算する、ことを含む、請求項10に記載の計算装
    置。
  13. 【請求項13】 前記プログラムされた動作のシーケン
    スは、 ビデオ映像データの前記少なくとも1つのブロックと動
    きベクトル情報から前方向B予測を行って、ビデオ映像
    データの再構成されたBブロックを作り、 前記組合わせステップの後、ビデオ映像データの前記再
    構成されたBブロックと、第2位置に対応するビデオ映
    像データの前記現在の予測ブロックから、前方向B予測
    を行い、 前記前方向B予測ステップの結果と逆変換係数を組み合
    わせて、ビデオ映像データの現在のBブロックを作り、 ビデオ映像データの前記現在のBブロックを主メモリに
    記憶する、ことを更に含む、請求項12に記載の計算装
    置。
  14. 【請求項14】 計算装置であって、 圧縮されたビデオデータの入力ビットストリームを受信
    する回路と、 主メモリと、 主集積回路であって、 前記受信回路に結合された入出力回路と、 少なくとも1つのバッファと、 前記主メモリに結合されたメモリコントローラと、 前記入出力回路と前記メモリコントローラに結合され、
    次のステップを含む一連の動作を繰り返し行うようプロ
    グラムされた、中央処理装置、を備える主集積回路、を
    備え、 前記プログラムは、 前の予測Pフレーム映像データの少なくとも1つのブロ
    ックを主メモリから検索し、 前の予測Pフレーム映像データの前記検索された少なく
    とも1つのブロックを前記主集積回路のバッファに記憶
    し、 前記入力ビットストリームを復号して、動きベクトル情
    報と逆変換係数を得、 前記動きベクトル情報を用いて、前の予測Pフレーム映
    像データの前記検索され記憶された少なくとも1つのブ
    ロックに、組合わせ前方向P予測及び前方向B予測を行
    って、中間の現在のPブロックと第1の中間Bブロック
    を作り、 中間の現在のPブロックと逆変換係数を組み合わせて、
    新しい現在のPブロックを作り、 前記新しい現在のPブロックを、現在の予測Pフレーム
    の一部として主メモリに記憶する、ステップを含む、計
    算装置。
  15. 【請求項15】 前記プログラムされた動作のシーケン
    スは、 前記第1中間Bブロックと前記新しい現在のPブロック
    を用いて後ろ方向B予測を行って、第2の中間Bブロッ
    クを作り、 前記第2中間Bブロックと逆変換係数を組み合わせて、
    現在のBブロックを作り、 前記現在のBブロックを、現在の予測Bフレームの一部
    として主メモリに記憶する、ステップを更に含む、請求
    項14に記載の計算装置。
  16. 【請求項16】 前記プログラムされた動作のシーケン
    スは、 前記中間の現在のPブロックと逆変換係数を組み合わせ
    て新しい現在のPブロックを作る前記ステップの後、前
    記新しい現在のPブロックを前記主集積回路のバッファ
    に記憶し、 後ろ方向B予測を行う前記ステップは、前記新しい現在
    のPブロックを前記バッファから検索し、 前記新しい現在のPブロックを現在の予測Pフレームの
    一部として主メモリに記憶する前記ステップは、後ろ方
    向B予測を行う前記ステップの後に行う、ステップを更
    に含む、請求項15に記載の計算装置。
JP9329402A 1996-10-23 1997-10-23 ブロックを用いた動き補償によるビデオ信号の復号方法 及び装置 Pending JPH10313459A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US2860696P 1996-10-23 1996-10-23
US028606 1996-10-23

Publications (1)

Publication Number Publication Date
JPH10313459A true JPH10313459A (ja) 1998-11-24

Family

ID=21844387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9329402A Pending JPH10313459A (ja) 1996-10-23 1997-10-23 ブロックを用いた動き補償によるビデオ信号の復号方法 及び装置

Country Status (3)

Country Link
US (1) US5978509A (ja)
EP (1) EP0838956A3 (ja)
JP (1) JPH10313459A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6791625B1 (en) 1998-12-15 2004-09-14 Matsushita Electric Industrial Co., Ltd. Video processing apparatus for performing address generation and control, and method therefor
KR100564967B1 (ko) * 2002-10-02 2006-03-28 엘지전자 주식회사 동영상 디코더 및 이를 이용한 디코딩 방법
JP2007529155A (ja) * 2003-07-09 2007-10-18 ブロードロジック ネットワーク テクノロジーズ インコーポレイテッド 高速マルチストリームmpegプロセッサを提供する方法およびシステム

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
US6233356B1 (en) * 1997-07-08 2001-05-15 At&T Corp. Generalized scalability for video coder based on video objects
US6993201B1 (en) 1997-07-08 2006-01-31 At&T Corp. Generalized scalability for video coder based on video objects
US6690835B1 (en) * 1998-03-03 2004-02-10 Interuniversitair Micro-Elektronica Centrum (Imec Vzw) System and method of encoding video frames
US6519287B1 (en) * 1998-07-13 2003-02-11 Motorola, Inc. Method and apparatus for encoding and decoding video signals by using storage and retrieval of motion vectors
EP0974906A3 (en) * 1998-07-24 2008-12-24 Interuniversitair Microelektronica Centrum Vzw Method for determining an optimized memory organization of a digital device
US6853385B1 (en) 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6380945B1 (en) 1998-11-09 2002-04-30 Broadcom Corporation Graphics display system with color look-up table loading mechanism
US6636222B1 (en) 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US6768774B1 (en) 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US7446774B1 (en) 1998-11-09 2008-11-04 Broadcom Corporation Video and graphics system with an integrated system bridge controller
US9668011B2 (en) 2001-02-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Single chip set-top box system
US8913667B2 (en) 1999-11-09 2014-12-16 Broadcom Corporation Video decoding system having a programmable variable-length decoder
US7286724B2 (en) * 1999-12-06 2007-10-23 Hyundai Curitel, Inc. Method and apparatus for searching, browsing and summarizing moving image data using fidelity for tree-structure moving image hierarchy
GB2362533A (en) * 2000-05-15 2001-11-21 Nokia Mobile Phones Ltd Encoding a video signal with an indicator of the type of error concealment used
US6819715B2 (en) * 2000-07-25 2004-11-16 Matsushita Electric Industrial Co., Ltd. Image decoding method, image decoding apparatus, and data storage medium
US7234126B2 (en) * 2000-08-23 2007-06-19 Interuniversitair Microelektronica Centrum Task concurrency management design method
US7218842B1 (en) 2001-07-25 2007-05-15 Cisco Technology, Inc. Efficient methods of performing motion compensation based decoding and recoding of compressed video bitstreams
US6996178B1 (en) * 2001-08-27 2006-02-07 Cisco Technology, Inc. Look ahead motion compensation
US7181070B2 (en) * 2001-10-30 2007-02-20 Altera Corporation Methods and apparatus for multiple stage video decoding
AUPR881001A0 (en) * 2001-11-12 2001-12-06 Lake Technology Limited Low latency computation in real time utilizing a dsp processor
DE10158658A1 (de) * 2001-11-30 2003-06-12 Bosch Gmbh Robert Verfahren zur gerichteten Prädiktion eines Bildblockes
US7667710B2 (en) * 2003-04-25 2010-02-23 Broadcom Corporation Graphics display system with line buffer control scheme
US7403566B2 (en) * 2003-06-03 2008-07-22 Hewlett-Packard Development Company, L.P. System, computer program product, and method for transmitting compressed screen images from one computer to another or many computers
US7715479B2 (en) * 2003-07-21 2010-05-11 International Business Machines Corporation Power-aware on-chip memory management for video coding algorithms
EP1503597A3 (en) * 2003-07-28 2007-01-03 Matsushita Electric Industrial Co., Ltd. Video decoding apparatus
US7627039B2 (en) * 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
US7889792B2 (en) 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
US7869503B2 (en) 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
US7986731B2 (en) 2004-02-06 2011-07-26 Apple Inc. H.264/AVC coder incorporating rate and quality controller
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
US7590299B2 (en) * 2004-06-10 2009-09-15 Samsung Electronics Co., Ltd. Increasing gamma accuracy in quantized systems
TWI245548B (en) * 2004-10-20 2005-12-11 Inst Information Industry Method and device for video decoding
US20080267291A1 (en) * 2005-02-18 2008-10-30 Joseph J. Laks Thomson Licensing Llc Method for Deriving Coding Information for High Resolution Images from Low Resolution Images and Coding and Decoding Devices Implementing Said Method
WO2006087319A2 (en) 2005-02-18 2006-08-24 Thomson Licensing Method for deriving coding information for high resolution pictures from low resoluton pictures and coding and decoding devices implementing said method
TWI308459B (en) * 2005-10-26 2009-04-01 Univ Nat Chiao Tung Context-aware frame memory scheme for motion compensation in video decoding
US7750974B2 (en) * 2005-11-10 2010-07-06 Broadcom Corporation System and method for static region detection in video processing
EP1969853A1 (en) * 2006-01-05 2008-09-17 Thomson Licensing Inter-layer motion prediction method
US8937997B2 (en) * 2006-03-16 2015-01-20 Apple Inc. Scalable video coding/multiplexing compatible with non-scalable decoders
KR100763914B1 (ko) * 2006-05-10 2007-10-05 삼성전자주식회사 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치
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
US7804435B2 (en) * 2006-08-31 2010-09-28 Ati Technologies Ulc Video decoder with reduced power consumption and method thereof
US7456760B2 (en) * 2006-09-11 2008-11-25 Apple Inc. Complexity-aware encoding
WO2008049052A2 (en) * 2006-10-18 2008-04-24 Apple Inc. Scalable video coding with filtering of lower layers
EP2095643A2 (fr) * 2006-12-21 2009-09-02 THOMSON Licensing Procede de decodage d'un bloc d'une image video
US8228992B2 (en) * 2007-10-12 2012-07-24 Broadcom Corporation Method and system for power-aware motion estimation for video processing
US20090304086A1 (en) * 2008-06-06 2009-12-10 Apple Inc. Method and system for video coder and decoder joint optimization
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
CN101729903B (zh) * 2008-10-24 2013-06-19 安凯(广州)微电子技术有限公司 一种读取参考帧数据的方法、系统和多媒体处理器
JP5537293B2 (ja) * 2009-07-03 2014-07-02 パナソニック株式会社 画像符号化装置及び画像復号化装置
KR101656881B1 (ko) * 2010-02-01 2016-09-12 삼성전자주식회사 데이터 처리 장치 및 방법
US8971413B2 (en) * 2010-05-24 2015-03-03 Intel Corporation Techniques for storing and retrieving pixel data
US8976856B2 (en) 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
JP2012142864A (ja) * 2011-01-05 2012-07-26 Sony Corp 画像処理装置及び画像処理方法
TWI523519B (zh) * 2011-01-28 2016-02-21 佳能企業股份有限公司 影像補償方法及系統

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0467259A (ja) * 1990-07-09 1992-03-03 Hitachi Ltd 情報処理装置
JPH0865685A (ja) * 1994-08-23 1996-03-08 Nec Corp 動きベクトル検出回路
JP2776284B2 (ja) * 1995-01-23 1998-07-16 日本電気株式会社 画像符号化装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6791625B1 (en) 1998-12-15 2004-09-14 Matsushita Electric Industrial Co., Ltd. Video processing apparatus for performing address generation and control, and method therefor
KR100564967B1 (ko) * 2002-10-02 2006-03-28 엘지전자 주식회사 동영상 디코더 및 이를 이용한 디코딩 방법
JP2007529155A (ja) * 2003-07-09 2007-10-18 ブロードロジック ネットワーク テクノロジーズ インコーポレイテッド 高速マルチストリームmpegプロセッサを提供する方法およびシステム
JP2012147457A (ja) * 2003-07-09 2012-08-02 Broadlogic Network Technologies Inc 高速マルチストリームmpegプロセッサを提供する方法およびシステム

Also Published As

Publication number Publication date
US5978509A (en) 1999-11-02
EP0838956A2 (en) 1998-04-29
EP0838956A3 (en) 2002-03-06

Similar Documents

Publication Publication Date Title
JPH10313459A (ja) ブロックを用いた動き補償によるビデオ信号の復号方法 及び装置
US6720978B2 (en) Method for storing and retrieving data that conserves memory bandwidth
US20050190976A1 (en) Moving image encoding apparatus and moving image processing apparatus
JP5245004B2 (ja) 高性能ビデオプロセッサ用の低電力メモリ階層
JP2008512967A (ja) 動画像の動き補償のためのキャッシング方法および装置
US20140086309A1 (en) Method and device for encoding and decoding an image
EP0602642B1 (en) Moving picture decoding system
JP2888288B2 (ja) 画像符号化装置
CN1163079C (zh) 用于视频解码的方法和设备
US20030222877A1 (en) Processor system with coprocessor
US6597810B1 (en) Image processor
Miyama et al. A sub-mW MPEG-4 motion estimation processor core for mobile video application
Nachtergaele et al. Low-power data transfer and storage exploration for H. 263 video decoder system
JP2005102144A (ja) Mpegのデータ処理装置
US7330595B2 (en) System and method for video data compression
Badawy et al. Algorithm-based low-power VLSI architecture for 2D mesh video-object motion tracking
Zhou et al. A hardware decoder architecture for general string matching technique
JP2002305749A (ja) 移動探知方法、ビデオ圧縮方法、並びに移動予測装置
Lin et al. Low power design for MPEG-2 video decoder
Llopis et al. A low-cost and low-power multi-standard video encoder
US20050033927A1 (en) Information-processing apparatus and electronic equipment using thereof
US9179156B2 (en) Memory controller for video analytics and encoding
Meng Low-power wireless video systems
Onoye et al. Single chip implementation of MPEG2 decoder for HDTV level pictures
Badawy et al. Low power video object motion-tracking architecture for very low bit rate online video applications