JP3943129B2 - 3:2のプルダウンで映像をデコードしそして表示するメモリ利用法 - Google Patents

3:2のプルダウンで映像をデコードしそして表示するメモリ利用法 Download PDF

Info

Publication number
JP3943129B2
JP3943129B2 JP51546096A JP51546096A JP3943129B2 JP 3943129 B2 JP3943129 B2 JP 3943129B2 JP 51546096 A JP51546096 A JP 51546096A JP 51546096 A JP51546096 A JP 51546096A JP 3943129 B2 JP3943129 B2 JP 3943129B2
Authority
JP
Japan
Prior art keywords
field
frame
image information
memory
decoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP51546096A
Other languages
English (en)
Other versions
JPH10509569A (ja
Inventor
ソリン シー シスマス
Original Assignee
ゾーラン コーポレイション
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 ゾーラン コーポレイション filed Critical ゾーラン コーポレイション
Publication of JPH10509569A publication Critical patent/JPH10509569A/ja
Application granted granted Critical
Publication of JP3943129B2 publication Critical patent/JP3943129B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • H04N19/426Methods 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 using memory downsizing methods
    • H04N19/427Display on the fly, e.g. simultaneous writing to and reading from decoding memory
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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)
  • Television Systems (AREA)

Description

発明の分野
本発明は、一般に、3:2のプルダウンを用いた像の圧縮解除に係り、より詳細には、3:2のプルダウンを用いてB画像をデコードしそして表示することに係る。
先行技術の説明
デジタル処理、記憶及び通信システムのマルチメディア用途は、圧縮映像を表すための規格の発展から明らかなように、急速に進歩している。
1992年11月に認定されたMPEG−1(ムービングピクチャーエキスパートグループ1)国際規格(ISO/IEC 11172)は、主として、約1.5Mビット/s(メガビット/秒)の連続転送レートに対して開発されたものであるが、大巾な融通性を有している。従って、画像レートが約24ないし30連続(非飛び越し)画像/秒(画像/s)のときは、水平約350ペル(画素−像データのサンプル)x垂直約250ペルの空間解像度において良好な結果をもたらす。
1994年3月に採用されたMPEG−2国際規格原案(ISO/IEC 13818−2)は、改善された能力を規定するもので、制限のあるパラメータをもつメインレベル(MP@ML)シンタックスサブセットにおけるメインプロファイルが、デジタルTV用としてインターナショナル・レディオ・コンサルテーティブ・コミッティ(CCIR)601解像度で規定されており、即ちNTSC(ナショナル・テレビジョン・システム・コミッテイ)の場合には720x480@30フレーム/sで、そしてPAL/SECAM(フェーズ・オルターネーション・ライン/シーケンシャル・カラー・ウイズ・メモリ)の場合には720x576@25フレーム/sでインターレースされるというものである。デジタルテレビジョンパラメータの詳細は、CCIR推奨勧告601−2「スタジオ用デジタルテレビジョンのエンコードパラメータ(Encoding Parameters of Digital Television for Studios)」(1982年、1986年、1990年)に見ることができる。
TVスクリーンに表示される像は、一連のフレームである。各フレームは、全て奇数の線より成る上部フィールドと、全て偶数の線より成る下部フィールドの2つのフィールドに分割される。ここで、「上部フィールド」及び「下部フィールド」は、それぞれ「トップフィールド」及び「ボトムフィールド」のことを指すが、以下、「上部フィールド」及び「下部フィールド」という用語を使用する。これら2つのフィールドは、フレーム周期の半分に等しい間隔でインターレースして表示される。NTSCでは、フレーム周期が約30Hzであり、PAL/SECAMでは、25Hzである。
30画像/sで連続する映画のようなソース資料は、各画像(フレーム)を、インターレースして表示される2つのフィールドに分離することによりNTSCに変換することができる。
多くの映画は、24画像/sで連続する。このような映画は、3:2のプルダウンを用いて次のようにNTSCに変換される。各画像(フレーム)は、2つのフィールドに分離される。画像の半分は2つのフィールドとして表示され、そして他の半分(1つおきの画像)は、上部及び下部フィールドが常に交番する状態で3つのフィールドとして表示される。例えば、映画が、画像P0、P1、P2及びP3で構成される場合には、各画像が上部及び下部フィールドT0、B0、T1、B1、T2、B2、T3及びB3に分離される。画像P0及びP2は2つのフィールドとして表示され、そして画像P1及びP3は、3つのフィールドとして、T0、B0、T1、B1、T1、B2、T2、B3、T3、B3のように表示される。下部フィールドは、画像P2の上部フィールドの前に表示されることに注意されたい。この手順を繰り返すと、毎秒24枚の画像が表示され、即ち12枚の画像は2つのフィールドとして表示され、そして12枚の画像は3つのフィールドとして表示され、全部で60フィールド/秒(フィールド/s)となり、これは、NTSCフィールドレートである。
いずれの画像も2つ又は3つのフィールドとして表示できる一般化されたプルダウンを用いると、表示フレームレートと画像レートとの比は、1と1.5との間の任意の数となる。この一般化されたプルダウンを用いると、20ないし30画像/sの連続映画は、NTSCを用いて表示することができ、そして16.67−25画像/sの連続映画は、PAL/SECAMを用いて表示することができる。
このプルダウン特徴は、MPEGデコーダにも使用される。MPEG−1シーケンス及びMPEG−2の連続シーケンスは、これを用いて、NTSC及びPAL/SECAMディスプレイに、連続的にエンコードされた(ビット流に変換された)映画を表示する。ここで、「ビット流」は、「ビットストリーム」のことを指すが、以下、「ビット流」という用語を使用する。MPEG規格は、ビット流シンタックスを定義し、柔軟なデコーダがこのビット流をいかに処理して音声及び映像情報を抽出するか規定している。映像データの表示は、MPEG規格の範囲を越えるものであるが、テレビ受像機又はインターレース式モニタに表示する実際的なMPEG用途では、プルダウン特徴を具現化するディスプレイユニットが要望される。
MPEG−1ビット流は、連続走査像を表すもので、インターレース又は3:2のプルダウンを特定しない。プルダウン特徴は、デコーダ及びディスプレイユニットによって自律的に実行されねばならない。MPEG−2ビット流は、連続的及びインターレース式の両方のシーケンスを表すことができる。連続フレームは、3:2のプルダウンが行われる仕方を指令するために、top_field_first及びrepeat_first_fieldの2つのフラグを備えている。
MPEG−1及びMPEG−2の両方は、各画像を、マクロブロックと称する16x16の方形ペルブロックに分割し、これは、周波数変換、量子化及びエントロピーコード化の組合せを用いて1つづつエンコードされる。動画像圧縮及び予想コード化も、必要な高い圧縮を得るためにしばしば使用される。動画像圧縮は、過去の画像と、表示シーケンスにおいてその適当な位置の前にエンコードされた将来の画像との両方を用いて行われる。従って、デコーダは、2つの全画像を記憶できねばならない。デコードの際に両方向予想(即ち順方向及び逆方向の両方の予想)を必要とする画像は、B画像と称する。ここで、「B画像」は、「Bピクチャ」のことを指すが、以下、「B画像」という用語を使用する。このB画像は、他の画像を予想するのには使用されない。
データの崩壊に対してある程度の余裕を与えるために、各画像のマクロブロックは、一連の次々のマクロブロックであるスライスにグループ分けされる。各スライスは、その手前のスライスの情報に関わりなくデコードされる。MPEG−1は、マクロブロックの分布をスライスに制限するものではない。MPEG−2は、画像のマクロブロックの各行の始めから新たなスライスが開始されることを要求する。
上記したMPEG−2のメインレベルサブセットにおけるメインプロファイルは、ビット流をデコードするのに16メガビット(Mビット)のメモリで充分であるように定義されている。最近まで、メモリの編成は、次の通りである。
− 順方向予想画像に対し、720x576x8x1.5=4860Kビット
− 逆方向予想画像に対し、720x576x8x1.5=4860Kビット
− デコードされそして表示されるフレームに対し、720x576x8x1.5=4860Kビット
− 映像バッファとして1792Kビット
− システムバッファとして12Kビット
− 音声バッファとして4Kビット
これらの全ての数値を加算すると、丁度16Mビットとなる。全く余裕はない。
デマルチプレクス及びパケットオーバーヘッドのためのシステム搬送バッファとして少なくとも124Kビットの付加的なバッファが必要とされることが明らかである。3:2のプルダウン特徴がサポートされない場合には、B画像をメモリに完全に記憶せずに、それをいかにデコード及び表示するかはこれまでに知られており、従って、付加的な124Kビットのバッファを受け入れることができる。NTSCの場合には、フレーム当たり480本の線だけであり、従って、B画像がデコードされそして表示されるときにそれを完全に記憶することにより、3:2のプルダウンをサポートしながら、124Kビットのメモリを使用することができる。メモリのサイズは、PAL/SECAMに対し、3:2のプルダウン特徴がサポートされる場合に問題となる。この重要な特徴は、全B画像を記憶しながらもPAL/SECAMに対して実施するには非常に経費がかかることがこれまでに知られている。この経費は、あるサイズでは標準的なメモリしか入手できず、メモリが16Mビットを越えて増加すると、メモリコントローラの複雑さ及び消費電力も増加することによるものである。
発明の要旨
そこで、本発明の目的は、3:2のプルダウンを用いて画像をデコードし表示するのに必要なフレームバッファを、1つの全フレームに対して像情報を保持するのに必要なサイズ以下に減少することである。
本発明の付加的な特徴及び効果は、以下に詳細に説明し、その一部分は、以下の説明から明らかとなろうし、又本発明の実施により学習することもできよう。本発明の目的及び効果は、請求の範囲に特に指摘した手段及びその組合せにより実現できそして得ることができよう。
本発明は、圧縮された映像を表すビット流をデコードしそして表示するシステムに向けられる。このシステムは、デコーダと、該デコーダに接続されたメモリマネージャーと、該メモリマネージャーに接続されたディスプレイサブシステムと、該メモリマネージャーに接続されたメモリとを含む。メモリは、全フレームのデコードされた像情報を記憶するのに充分なサイズより小さいサイズのフレームバッファを含む。メモリマネージャーは、「上部フィールド第1(top field first)」信号及び「繰り返し第1フィールド(repeat first field)」信号に応答する。
本発明の方法は、3:2のプルダウンを用いて表示されるべきフレームをデコードし、そしてそのフレームのデコードされた像情報の一部分をフレームバッファに書き込むことを含む。フレームバッファのサイズは、全フレームのデコードされた像情報を記憶するのに充分なものではない。デコードされた像情報の第1部分は、フレームバッファの第1セットのメモリ位置に書き込まれる。全フレームをデコードした後に、フレームの一部分が2回目にデコードされる。少なくとも1回は表示された像情報を含む第1セットから、デコードされた像情報の第2部分がメモリ位置に書き込まれる。
【図面の簡単な説明】
以下、添付図面を参照し、本発明の好ましい実施形態を詳細に説明する。
図1は、3:2のプルダウンを使用してビット流をデコードしそして表示する通常の方法を示すタイミング図である。
図2、3、4A及び4Bは、本発明によりビット流をデコードしそして表示する方法を示すタイミング図である。
図5は、本発明によるデコード及び表示システムのブロック回路図である。
図6は、本発明によるデコード及び表示システムの別の実施形態を示すブロック回路図である。
図7は、図5のメモリコントローラ22の細部を示すブロック回路図である。
好ましい実施形態の詳細な説明
本発明は、幾つかの好ましい実施形態について以下に説明する。これらの好ましい実施形態は、3:2のプルダウンを用いて画像をデコードする装置及び方法である。従来知られているデコード方法を図1を参照して説明する。明らかなように、この方法では、1つの全フレームの像情報を保持するのに充分なサイズのフレームバッファを使用することが必要である。
一連のB画像に対して、デコード及び表示の両方に同じメモリが使用される。予想に使用される画像は、将来の画像を予想するのに必要であるためにオーバーライトすることができない。図1において、vdeflは、ディスプレイの垂直偏向信号である。上昇する線Aは、表示の進行(通常は上から下へ)を示し、そして下降する線Bは、垂直帰線周期を示す。太線Cは、表示のアクティブな部分を示し、そして非常に太いセグメントDは、マクロブロックの最初と最後の行を示す(画像はフレームがエンコードされそしてフィールドが表示されるので各フィールドに8本の表示線がある)。
図1は、一連の3つのB画像を示す。フレーム1は、3つのフィールドについて表示され、上部フィールドが繰り返される。デコード及び表示に同じメモリが使用されるので、フィールドが表示される前にそれにオーバーライトしたり又はフィールドがデコードされる前にそれを表示したりするのを回避するために幾つかの制約が課せられる。
− 上部フィールド0(上部0)のマクロブロックの最後の行が表示される前にフレーム0をデコードしなければならない。上部フィールド0のマクロブロックの最後の行は、時間t5とt6との間に表示される。従って、フレーム0は、t5の前にデコードされる。
− 下部フィールド0(下部0)のマクロブロックの最初の行が表示された後にのみフレーム1をデコードしなければならない。下部フィールド0のマクロブロックの最初の行は、時間t7とt8との間に表示される。従って、フレーム1は、t8の後にデコードされる。
− 上部フィールド1(上部1)のマクロブロックの最後の行が表示される前にフレーム1をデコードしなければならない。上部フィールド1のマクロブロックの最後の行は、時間t13とt14との間に表示される。従って、フレーム1は、t13の前にデコードされる。
− 上部フィールド1のマクロブロックの最初の行が2回目に表示された後にのみフレーム2をデコードしなければならない。上部フィールド1のマクロブロックの最初の行は、時間t19とt20との間に2回目の表示がなされる。従って、フレーム1は、t20の後にデコードされる。
− 下部フィールド2(下部2)のマクロブロックの最後の行が表示される前にフレーム2をデコードしなければならない。下部フィールド2のマクロブロックの最後の行は、時間t25とt26との間に表示される。従って、フレーム2は、t25の前にデコードされる。
これらの制約のために、デコーダは、2つのフィールドの表示周期(NTSCの場合は480本の線、そしてPAL/SECAMの場合は576本の線)に、1つの垂直帰線周期(NTSCの場合は22.5本の線、そしてPAL/SECAMの場合は24.5本の線)を加えて、16本の線を表示するに必要な時間を引いた時間内に、いずれのフレームもデコードできねばならない。デコーダは、NTSCの場合、フレーム周期の(480線+22.5線−16線)/525線=92.67%でフレームをデコードできねばならず、そしてPAL/SECAMの場合、(576線+24.5線−16線)/625線=93.52%でフレームをデコードできねばならない。
図1において、例えば、t5とt8との間から明らかなように、デコーダは、同じフレームのフィールド間に生じる垂直帰線消去周期中、及び上部フィールド1(上部1)が繰り返される間に停止される。本発明は、これら周期の幾つかを使用してマクロブロックの行の幾つかを2回デコードすることにより、メモリをセーブする。この付加的なデコード動作にアイドル周期が使用される程度まで、本発明は、処理能力の増加又はより広いメモリ帯域巾を必要としない。支払うべき費用は、メモリコントローラの複雑さの僅かな増加だけである。この同じ方法を用いて、NTSCの所要メモリを減少することができる。節約されたメモリを用いて、オフスクリーンメモリ又はグラフィックオーバーレイのような付加的な機能を与えることができる。
画像がR行のマクロブロックを有しそしてマクロブロックのr行を節約すべき場合には、2r行を2回デコードする必要がある。デコーダの速度を著しく増加せずに、マクロブロックのR/2行までを2回デコードすることができる。それ故、rはR/4以下であり、即ちフレームメモリの25%までを節約することができる。PAL/SECAM(R=36)の場合には、マクロブロックの9行までを節約することができ、そしてNTSC(R=30)の場合には、マクロブロックの7行までを節約することができる。テーブル1は、PAL/SECAMのメモリ節約能力を示し、そしてテーブル2は、NTSCのメモリ節約能力を示している。第3の欄は、メモリ割り当て単位(MAU)サイズsをマクロブロックの行で示す。MAUサイズsは、rの約数であることが必要であり、R/sは、偶数でなければならない。簡単さと融通性との間には兼ね合いがある。sが大きいほど、メモリコントローラは簡単になるが、sが小さいほど、操作の融通性は大きくなる。
Figure 0003943129
Figure 0003943129
上記の条件を受ける任意数R、r及びsに作用する一般的なアルゴリズムは、次の通りである。
3:2のプルダウンなしにB画像をデコードするときは、フレームの第1フィールドを表示すべきところより少なくとも1フィールド周期だけ前に開始するのが好ましい。2つのフィールドが同時にデコードされる。スクリーンの同じ部分に表示される2つのフィールドの区分を対応区分と称する。このような区分は、最も最近表示されたメモリ割り当て単位(少なくともマクロブロックの第1行)であって、既に表示された像情報が将来再表示されることのないメモリ割り当て単位に、このようなMAUが使用できるようになったときに、同時に書き込まれる。フレームの第2の半分をデコードする間に、表示されるべき第1フィールドの第1の半分に対する像情報を保持するのに使用された幾つかの又は全てのMAUが再使用される。
3:2のプルダウンを使用してB画像をデコードするときは、フレームの第1フィールドを表示すべきところより少なくとも1フィールド周期だけ前に開始するのが好ましい。2つのフィールドが同時にデコードされる。
フレームの第1の(R−2r)/Rについては、2つのフィールドの対応区分は、最も最近表示されたメモリ割り当て単位(少なくともマクロブロックの第1行)であって、既に表示された像情報が将来再表示されることのないメモリ割り当て単位に、このようなMAUが使用できるようになったときに、同時に書き込まれる。
フレームの第1の(R−2r)/Rをデコードした後に、フレームの残り部分がデコードされるが、表示されるべき第1フィールドの像情報のみが書き込まれる。第2フィールドの対応区分の像情報は破棄される。第1フィールドの像情報は、最も最近表示されたメモリ割り当て単位(少なくともマクロブロックの第1行)であって、既に表示された像情報が将来再表示されることのないメモリ割り当て単位に、このようなMAUが使用できるようになったときに書き込まれる。次いで、フレームの最後の2r/Rが再びデコードされるが、表示されるべき第2フィールドの像情報のみが書き込まれる。第1フィールドの対応区分の像情報は破棄される。第2フィールドの像情報は、最も最近表示されたメモリ割り当て単位(少なくともマクロブロックの第1行)であって、既に表示された像情報が将来再表示されることのないメモリ割り当て単位に、このようなMAUが使用できるようになったときに書き込まれる。これらのMAUは、表示されるべき第2フィールドの第1の半分に対する像情報を保持するのに使用される最初のMAUである。
上記方法は、表示されるべき情報が、処理能力及びメモリ帯域巾を著しく増加せずに時間内にデコードされる(マクロブロックの最後の行が表示され始める前にデコードが終了する)よう確保する。
2つのMAUの表示時間を比較せずに、上記一般的なアルゴリズムを実施することができる。このためには、現在デコードされているフレームのフィールドの区分と、現在デコードされているフレームの区分に対応していて、デコードされるべき直前のフレーム内でまだデコードされていない区分とを保持するためにどんなMAUが使用されたかに関する情報を維持することが必要となる。
デコード及び表示にメモリを割り当てるための上記アルゴリズムを書くためには、幾つかの表示法が必要になる。
R=マクロブロックの行での画像高さ
r=マクロブロックの行でのメモリ節約量
s=マクロブロックの行でのMAUサイズ
n=フレーム番号(現在デコードされているフレーム)
(n−1)=手前のデコードされたフレーム
F=フィールド−T(頂部)又はB(底部)
!F=反対のフィールド(!T==Bそして1B==t)
Fn=フレーム「n」のフィールド「F」
i=フィールドの区分番号i≦R/(2s)
Fni=フレーム「n」、区分「i」のフィールド「F」
M=メモリ割り当て単位M≦(R−r)/s
M(Fni)=「Fni」が記憶される「M」
D0、D1=一時的変数
top_field_first=MPEG−2映像ビット流からの又は内部で発生されたフラグ
repeat_first_field=MPEG−2映像ビット流からの又は内部で発生されたフラグ
C状の擬似コードで書き込まれるBフレームをデコードするときに適用されるべき一般的ルールは、次の通りである。
Figure 0003943129
Figure 0003943129
R=36、r=9及びs=9の場合の特定の解決策を、図2及びテーブル3を参照して説明する。3:2のプルダウンを用いてBフレームをデコードしそして表示するのに使用されるメモリは、各々マクロブロックの9行より成る3つのメモリ割り当て単位M0、M1及びM2に論理的に分割される。
図2は、一連の3つのB画像を示す。フレーム1は、3つのフィールドに対して表示され、上部フィールドが繰り返される。
フレーム0の第1フィールドは、t4とt10との間に表示される。フレーム0のデコード動作は、手前のフィールドが時間t0に表示され始めた8本の表示線巾の後に時間t1に開始される。時間t1において、表示されているフィールドの第2の半分を保持する1つのMAUのみは使用できない。従って、M0及びM1の2つのMAUが使用できる。上部フィールドの第1区分T00はM0に書き込まれ、そして下部フィールドの第1区分B00はM1に書き込まれる。これらMAUのうち、表示されるべき第1のものはM0であり、時間t4からt7までである。従って、フレーム0の第1区分のデコード動作は、遅くても、t7より8本の表示線だけ前のt6において終了しなければならない。
このフレームは3:2のプルダウンを用いて表示されないので、デコーダは、フレームの第2区分をデコードする前に、2つのMAUが使用できるようになるまで待機する。M2は、時間t1とt2との間に使用できるようになり、そして次に使用できるようになるMAUは、t4において表示され始めた8本の表示線の後のt5においてM0となる。上部フィールドの第2区分T01はM2に書き込まれ、そして下部フィールドの第2区分B01はM0に書き込まれる。これらMAUのうち、表示されるべき第1のものは、M2であり、時間t7からt10までである。従って、フレーム0の第2区分のデコード動作は、遅くとも、t10より8本の表示線だけ前のt9に終了しなければならない。
次のフレームであるフレーム1は、3:2のプルダウンを用いて表示される。フレーム1の第1フィールドは、t18とt24との間に表示される。デコーダは、2つのMAUが使用できるようになると、デコードを開始する。M2は、t7とt10との間に表示され、従って、t7より8本の表示線だけ後のt8に使用できるようになる。次に使用できるようになるMAUであるM1は、t11とt14との間に表示され、従って、t11より8本の表示線だけ後のt12に使用できるようになる。従って、フレーム1のデコード動作は、手前の下部フィールド0がt11において表示され始めた8本の表示線だけ後の時間t12に開始される。上部フィールドの第1区分T10は、M2に書き込まれ、そして下部フィールドの第1区分B10は、M1に書き込まれる。これらMAUのうち、表示されるべき第1のものはM2であり、t18からt21までである。従って、フレーム1の第1区分のデコード動作は、遅くとも、t21より8本の表示線だけ前のt20において終了しなければならない。
この点において、フレームの第1の(R−2r)/R(即ち1/2)がデコードされる。前記したように、フレームの残りがデコードされるが、MAUが使用できるようになったときに、表示されるべき第1フィールドに対する像情報のみが書き込まれる。次に使用できるようになるMAUは、t14に表示され始めた8本の表示線の後のt15におけるM0である。フレームの第2区分がデコードされそして上部フィールドの第2区分T11がM0に書き込まれる。この第2区分はt21とt24との間に表示され、従って、t24より8本の表示線だけ前のt23においてデコード動作が終了しなければならない。
この点において、全フレーム1が1回デコードされる。次いで、前記したように、フレームの最後の2r/R(即ち1/2)が再びデコードされるが、MAUが使用できるようになったときに、表示されるべき第2フィールドの像情報が書き込まれる。M2及びM0は、上部フィールドの繰り返しのためにセーブしなければならない。従って、最初に使用できるようになるMAUは、t25に表示され始めた8本の表示線の後のt26におけるM1である。フレームの第2区分が再びデコードされ、そして下部フィールドの第2区分B11がM1に書き込まれる。この第2区分は、t27とt29との間に表示され、従って、t29より8本の表示線だけ前のt28においてデコード動作を終了しなければならない。
表示されるべき次のフレームであるフレーム2は、2つのMAUが使用できるようになるや否やデコードされ始める。M1は、t27とt28との間に使用できるようになる。次に使用できるようになるMAUは、t30とt33との間に表示され始めた8本の表示線の後のt31におけるM2である。上部フィールドの第1区分T20は、M2に書き込まれ、そして下部フィールドの第1区分B20は、M1に書き込まれる。これらMAUのうち、最初に表示されるべきは、M1であり、t37からt40までである。従って、フレーム2の第1区分のデコード動作は、遅くとも、t40より8本の表示線だけ前のt39に終了しなければならない。
このフレームは3:2のプルダウンを用いて表示されないので、デコーダは、フレームの第2区分をデコードする前に、2つのMAUが使用できるようになるまで待機する。t33とt36との間に表示され始めた8本の表示線の後のt34に、M0が使用できるようになり、そして次に使用できるようになるMAUは、t37に表示され始めた8本の表示線の後のt38におけるM1である。上部フィールドの第2区分T21は、M1に書き込まれ、そして下部フィールドの第2区分B21は、M0に書き込まれる。これらのMAUのうち、最初に表示されるべきは、M0であり、t40からt43までである。従って、フレーム2の第2区分のデコード動作は、遅くとも、t43より8本の表示線だけ前のt42に終了しなければならない。
時々、同じMAUがデコード及び表示の両方に使用され、それ故、MAUデータが表示される前にそれにオーバーライトしたりMAUデータがデコードされる前にそれを表示したりすることを回避するために制約が適用される。これら制約により、デコーダは、1つのフィールドの表示周期から、16本の線を表示するのに必要な時間を差し引いた時間に、フレームの半分をデコードする必要がある(図2のt26とt28との間のB11のデコード動作を参照されたい)。あるフィールドは、それ以上にデコードすることができるが、他のフィールドについてはデコーダが計算帯域巾を必要とする。NTSCの場合は、デコーダは、フレーム周期の2x(240線−16線)/525線=85−33%にフレームをデコードする必要があり、そしてPAL/SECAMの場合には、フレーム周期の2x(288線−16線)/625線=87.04%にフレームをデコードする必要がある。この解決策(r=9;s=9)は、あるデコード動作に垂直帰線周期を使用できないので、既に知られている解決策に比して若干高速のデコーダを必要とする。
テーブル3は、repeat_first_field及びtop_field_firstの次の組合せで5つのフレームのMAU割り当てを示す。
− repeat_first_field=0、top_field_first=1
− repeat_first_field=0、top_field_first=1
− repeat_first_field=1、top_field_first=1
− repeat_first_field=1、top_field_first=0
− repeat_first_field=0、top_field_first=1
このようなフレームシーケンスは、各フレームが表示されるフィールド周期の数に基づき22332フレームシーケンスと称する。これは、3:2のプルダウンを伴ったり伴わなかったりする連続フレームの全ての考えられる組合せを含む最も短いフレームシーケンスである。
− 2つのフィールドの後に2つのフィールド
− 2つのフィールドの後に3つのフィールド
− 3つのフィールドの後に3つのフィールド
− 3つのフィールドの後に2つのフィールド
Figure 0003943129
Figure 0003943129
R=36、r=6及びs=6の場合の特定の解決策を、図3及びテーブル4を参照して説明する。3:2のプルダウンでBフレームをデコード及び表示するのに使用されるメモリは、各々マクロブロックの6行である5つのメモリ割り当て単位(MAU)−M0、M1、M2、M3及びM4に論理的に分割される。
図3は、一連の3つのB画像を示す。フレーム1は、3つのフィールドに対して表示され、上部フィールドが繰り返される。
フレーム0の第1フィールドは、t4とt13との間に表示される。フレーム0のデコード動作は、時間t0の前に、M0及びM1のMAUが使用できるようになったときに開始する。上部フィールドの第1区分T00はM0に書き込まれ、そして下部フィールドの第1区分B00はM1に書き込まれる。これらMAUのうち、最初に表示されるべきものはM0であり、t4からt7までである。従って、フレーム0の第1区分のデコード動作は、遅くても、t7より8本の表示線だけ前のt6において終了しなければならない。
このフレームは3:2のプルダウンを用いて表示されないので、デコーダは、フレームの第2区分をデコードする前に、2つのMAUが使用できるようになるまで待機する。M2及びM3対は、t1とt2との間に使用できるようになる。上部フィールドの第2区分T01は、M2に書き込まれ、そして下部フィールドの第2区分B01は、M3に書き込まれる。これらMAUのうち、最初に表示されるべきものは、M2であり、t7からt10までである。従って、フレーム0の第2区分のデコード動作は、遅くとも、t10より8本の表示線だけ前のt9において終了しなければならない。
このフレームは3:2のプルダウンを用いて表示されないので、デコーダは、フレームの第3区分をデコードする前に、更に2つのMAUが使用できるようになるまで待機する。M4は、t5の前に使用できるようになり、次に使用できるようになるMAUは、t4に表示され始めた8本の表示線の後のt5におけるM0である。上部フィールドの第3区分T02は、M4に書き込まれ、そして下部フィールドの第3区分B02は、M0に書き込まれる。これらMAUのうち、最初に表示されるべきものは、M4であり、t10からt13までである。従って、フレーム0の第3区分のデコード動作は、遅くとも、t13より8本の表示線だけ前のt12において終了しなければならない。
次のフレームであるフレーム1は、3:2のプルダウンを用いて表示される。フレーム1の第1フィールドは、t24とt33との間に表示される。デコーダは、2つのMAUが使用できるようになると、デコードを開始する。M2は、t7とt10との間に表示され、従って、t7より8本の表示線の後のt8に使用できるようになる。次に使用できるようになるMAUであるM4は、t10とt13との間に表示され、従って、t10より8本の表示線の後のt11において使用できるようになる。上部フィールドの第1区分T10は、M2に書き込まれ、そして下部フィールドの第1区分B10は、M4に書き込まれる。これらのMAUのうち、最初に表示されるべきものは、M2であり、t24からt27までである。従って、フレーム1の第1区分のデコード動作は、遅くとも、t27より8本の表示線だけ前のt26において終了しなければならない。
この点において、フレームの第1の(R−2r)/R(即ち、2/3)は、まだ完全にデコードされていない。デコーダは、フレームの第2区分をデコードする前に、更に2つのMAUが使用できるようになるまで待機する。M1は、t14に表示され始めた8本の表示線の後にt15において使用できるようになり、そして次に使用できるようになるMAUは、t17に表示され始めた8本の表示線の後のt18におけるM3である。上部フィールドの第2区分T11は、M1に書き込まれ、そして下部フィールドの第2区分B11は、M3に書き込まれる。これらMAUのうち、最初に表示されるべきものは、M1であり、t27からt30までである。従って、フレーム1の第2区分のデコード動作は、遅くとも、t30より8本の表示線だけ前のt29において終了しなければならない。
この点において、フレームの第1の(R−2r)/R(即ち、2/3)がデコードされる。前記したように、フレームの残りがデコードされるが、MAUが使用できるようになったときに、表示されるべき第1のフィールドの像情報のみが書き込まれる。次に使用できるようになるMAUは、t20に表示され始めた8本の表示線の後のt21におけるM0である。フレームの第3区分はデコードされ、そして上部フィールドの第3区分T12がM0に書き込まれる。この第3区分はt30とt33との間に表示され、デコード動作は、t33より8本の表示線だけ前のt32において終了しなければならない。
この点において、フレーム1全体が1回デコードされる。次いで、前記のように、フレームの最後の2r/R(即ち1/3)が再びデコードされるが、MAUが使用できるようになったときに、表示されるべき第2のフィールドの像情報のみが書き込まれる。M2、M1及びM0は、上部フィールドの繰り返しのためにセーブされねばならない。従って、最初に使用できるようになるMAUは、t34に表示され始めた8本の表示線の後のt34におけるM4である。フレームの第3区分が再びデコードされ、そして下部フィールドの第3区分B12がM4に書き込まれる。この第3区分はt40とt43との間に表示され、デコード動作は、t43より8本の表示線だけ前のt42において終了しなければならない。
次に表示されるべきフレームであるフレーム2は、2つのMAUが使用できるようになるや否やデコードされ始める。M3は、t37とt40との間に表示され始めた8本の表示線の後のt38に使用できるようになる。次に使用できるようになるMAUは、t40とt43との間に表示され始めた8本の表示線の後のt41におけるM4である。上部フィールドの第1区分T20は、M4に書き込まれ、そして下部フィールドの第1区分B20は、M3に書き込まれる。これらのMAUのうち、最初に表示されるべきものは、M3であり、t54からt57までである。従って、フレーム2の第1区分のデコード動作は、遅くとも、t57より8本の表示線だけ前のt56において終了しなければならない。
このフレームは3:2のプルダウンを用いて表示されないので、デコーダは、フレームの第2区分をデコードする前に、2つのMAUが使用できるようになるまで待機する。M2は、t44とt47との間に表示され始めた8本の表示線の後のt45に使用できるようになり、そして次に使用できるようになるMAUは、t47に表示され始めた8本の表示線の後のt48におけるM1である。上部フィールドの第2区分T21は、M1に書き込まれ、そして下部フィールドの第2区分B21は、M2に書き込まれる。これらのMAUのうち、最初に表示されるべきものは、M2であり、t57からt60までである。従って、フレーム2の第2区分のデコード動作は、遅くとも、t60より8本の表示線だけ前のt59において終了しなければならない。
このフレームは3:2のプルダウンを用いて表示されないので、デコーダは、フレームの第3区分をデコードする前に、2つのMAUが使用できるようになるまで待機する。M0は、t50とt53との間に表示され始めた8本の表示線の後のt51に使用できるようになり、そして次に使用できるようになるMAUは、t54に表示され始めた8本の表示線の後のt55におけるM3である。上部フィールドの第3区分T22は、M3に書き込まれ、そして下部フィールドの第3区分B22は、M0に書き込まれる。これらのMAUのうち、最初に表示されるべきものは、M0であり、t60からt63までである。従って、フレーム2の第3区分のデコード動作は、遅くとも、t63より8本の表示線だけ前のt62において終了しなければならない。
時々、同じMAUがデコード及び表示の両方に使用され、それ故、MAUデータが表示される前にそれにオーバーライトしたりMAUデータがデコードされる前にそれを表示したりすることを回避するために制約が適用される。これら制約により、デコーダは、1つのフィールドの表示周期から、16本の線を表示するのに必要な時間を差し引いた時間に、フレームの1/3をデコードする必要がある(図2のt26とt28との間のB11のデコード動作を参照されたい)。更に、デコーダは、1つのフレームの表示周期に1つのフレームをデコードする必要がある。あるフィールドは、更にゆっくりとデコードすることができるが、他のフィールドについてはデコーダが計算帯域巾を必要とする。従って、NTSC及びPAL/SECAMの両方に対し、デコーダは、フレーム周期の100%において1つのフレームをデコードする必要がある。この解決策は、メモリを節約するだけでなく、デコーダの処理能力もある程度節約し、全てのフレーム周期をデコード動作に使用することができる。これは、R=36、r=9又は8の場合を除き、テーブル1及び2に示す全てのR、rの組合せに対して言えることである。
テーブル4は、22332フレームシーケンスのMAU割り当てを示す。
Figure 0003943129
Figure 0003943129
R=36、r=9及びs=3の場合の特定の解決策を、図4A及び4Bとテーブル5を参照して以下に説明する。3:2のプルダウンでBフレームをデコードしそして表示するのに使用されるメモリは、各々マクロブロックの3行より成る9つのMAU、即ちM0−M8に論理的に分割される。フレーム全体を記憶するためには、12個のMAUが必要となる。9つのMAUは、図4A及び4Bに示されたように、上記で一般的に述べた方法に基づいてデコード及び表示のために割り当てられる。R=36、r=9及びs=9の解決策に比して、これは、大きな操作上の融通性を与えるが、メモリコントローラが複雑なものとなる。図4A及び4Bは、一連の3つのB画像を示す。フレーム1は、3つのフィールドに対して表示され、上部フィールドが繰り返される。2つの図は、重畳する。フレーム0の表示周期の部分は、両方の図に示されている。
テーブル5は、22332フレームシーケンスに対して考えられるMAU割り当てを示す。
Figure 0003943129
Figure 0003943129
Figure 0003943129
Figure 0003943129
R=30、r=5及びs=5の場合には、3:2のプルダウンでBフレームをデコードしそして表示するのに使用されるメモリは、各々マクロブロックの5行より成る5つのMAU、即ちM0−M4に論理的に分割される。全フレームを記憶するためには、6個のMAUが必要とされる。5つのMAUは、上記したR=36、r=6及びs=6の解決策による方法に基づいてデコード及び表示するように割り当てられる。唯一の相違は、R、r及びsが5/6でスケーリングされることである。
本発明によるデコード及び表示システム10のブロック図が、図5に示されている。このシステム10は、MPEG−2に適合するもので、デコーダ12と、該デコーダ12と通信するメモリコントローラ22と、該メモリコントローラ22と通信するメモリ24と、該メモリコントローラ22と通信する表示サブシステム26とを備えている。
デコーダ12は、パイプライン式のものであり、パーザ14と、該パーザ14と通信する逆量子化装置16と、該逆量子化装置16と通信するIDCT(逆離散的コサイン変換器)計算ユニット18と、該IDCT計算ユニット18と通信する動き補償装置20とを備えている。
メモリ24は、映像、デマルチプレクス及びパケットオーバーヘッドバッファ32と、第1予想画像バッファ34と、第2予想画像バッファ36と、フレームバッファ38と、システムバッファ及びシステム搬送バッファとして使用されるバッファ40とを備えている。フレームバッファ38は、フレーム全体の像情報を記憶するのに必要なサイズより小さいサイズである。
到来する映像ビット流は、信号30で示したようにメモリコントローラ22に到着し、メモリ24の映像バッファ32に記憶される。メモリコントローラ22は、信号52で示すように、メモリ24と通信する。次いで、ビット流は、信号42で示すように、パーザ14により読み取られる。
各フレームの始めに、パーザ14は、repeat_first_field及びtop_field_firstフラグを読み取る。repeat_first_fieldが真である場合には、パーザ14は、RFF(repeat_first_field)信号44をメモリコントローラ22にアサートする。top_field_firstが真である場合には、パーザ14は、TFF(top_field_first)信号46をメモリコントローラ22にアサートする。メモリコントローラ22は、フレームがデコードされるときに、各フレームの記憶の開始に信号44及び46をサンプルする。デコーダのパイプライン遅延により、信号は、それらがサンプルされるときに有効である。パイプライン遅延は、処理されたマクロブロックがデコーダ12により出力されるインターバルの一部分である。
B画像のデコード中に、動き補償装置20は、信号48で示すように、バッファ34及び36からメモリコントローラ22を経て順方向及び逆方向の予想情報を読み取り、そしてデコードされたフレーム情報を、信号50で示すように、メモリコントローラ22を経てフレームバッファ38に書き込む。
メモリコントローラ22は、デコーダ12及び表示サブシステム26によるメモリへのアクセス要求を調整する。又、メモリアクセスのタイミング及びメモリ位置を制御する。正しいタイミングを維持するために、メモリコントローラ22は、イネーブル信号54を用いてデコーダの処理を一時的に保留する。通常の動作中に、システムファンクションについてはバッファ40に、ビット流の書き込み及び読み取りについては映像バッファ32に、動き補償装置20により順方向及び逆方向予想バッファ34及び36に、そしてデコード及び表示についてはフレームバッファ38に、インターリーブされたメモリアクセスが生じる。
両フィールドの像情報がフレームバッファ38に同時に書き込まれるところのマクロブロックの最後の行のデコード中に、メモリコントローラ22は、マクロブロックの次の行の始めに、ビット流記憶位置信号56をアサートすることにより、フレームが2回デコードされることをパーザ14に知らせる。この信号は、マクロブロックの行と行との間にパーザ14によりサンプリングされる。信号56がアサートされると、パーザ14は、マクロブロックの次の行の始めに、スライスの開始位置をレジスタ28に記憶する。
3:2のプルダウンでのフレームの最初の完全なデコード動作が終わると、デコーダ12はアイドル状態となり、第2のデコード信号58がアサートされ始めるのを待機する。信号58がアサートされると、デコーダ12は、レジスタ28に記憶された位置において第2回目のデコードを開始する。
図6は、3:2のプルダウンを用いて、24画像/sの連続画像レートをもつMPEG−1ビット流をデコードするために、デコード及び表示システム10をいかに変更すべきかを示している。MPEG−1ビット流は、top_field_first及びrepeat_first_fieldフラグを含んでおらず、従って、TFF及びRFF信号各々46及び44は、信号60を用いてメモリコントローラ22’によりフレーム間でクロックされるカウンタ62によって発生される。カウンタ62は、2ビットカウンタであり、最下位ビットはRFF信号44でありそして最上位ビットはTFF信号46である。メモリコントローラ22’は、信号60を発生する点でメモリコントローラ22とは異なる。パーザ14’及びデコーダ12’は、信号44及び46を発生しない点でパーザ14及びデコーダ12とは異なる。
MPEG−1においては新たなスライスが必ずしもマクロブロックの各行の始めにスタートしないので、マクロブロックの各行の始めにスライスヘッダを挿入する前置プロセッサ64を設けることが必要となる。上記の変更以外は、デコード及び表示システム10’は、上記したシステム10と同様である。
図7は、本発明を実施するのに使用されるメモリコントローラ22の主要成分を示すブロック回路図である。フレームバッファメモリ割り当ての状態は、フィールドの各区分ごとに1つづつ、R/s個のエントリーをもつレジスタファイル72に保持される。これらエントリーの半分は、上部フィールドに使用され、そして他の半分は、下部フィールドに使用される。
新たなフレーム区分のデコード動作が始まると、その像情報を記憶するMAUのアドレスを決定しなければならない。信号50aを用いて動き補償装置20により与えられたマクロブロックの行は、分割器106によりs(MAUサイズ)で分割され、フィールド選択番号i(信号88)が得られる。この信号は、動き補償装置20により与えられたフィールド信号50b、TFF信号46及びRFF信号44と共に、ポインタ及びアドレス決定ユニット66により使用されて、レジスタファイル72への読み取りポインタ86が計算される。この読み取りポインタ86は、マルチプレクサ74によりレジスタファイル72のアドレスポートに付与される。マルチプレクサ74は、ポインタ及びアドレス決定ユニット66により与えられる選択信号66により制御される。次いで、データライン108a、108b及び108cを用いて、アドレスレジスタの内容がレジスタ80に読み込まれる。この内容は、デコード動作に使用されるMAUのアドレスである。このように、レジスタ80には、1つのMAUのみが書き込まれる(3:2のプルダウンでのフレームの最後の2r/Rのデコード中)か、又は2つのMAUが同時に書き込まれる(3:2のプルダウンを伴わないデコード中又は3:2のプルダウンでのフレームの最初の(R−2r)/Rのデコード中)かに基づいて1つ又は2つのMAUアドレスがロードされる。
次いで、レジスタファイル72は、書き込みポインタ88をフィールド信号89と組み合わせてマルチプレクサ74を経てアドレスとして付与し、そしてレジスタ80の内容をレジスタファイル72のアドレスされたレジスタに書き込むことにより更新される。レジスタ80に2つのMAUアドレスがロードされた場合には、レジスタファイル72への2つの書き込みが行われ、その間に、書き込みポインタ88は同じ値を有するが、フィールド信号89は異なる値を有する。
現在フィールド区分のデコードの残りの部分中に、レジスタ80の内容をマルチプレクサ84を経てアドレス52aとしてメモリ24へ付与することにより、適当なMAUがアドレスされる。メモリ24のライン52bは、動き補償装置20の出力50に接続される。その他の時には、ライン52bは、他の装置に接続されてもよい。
上記手順は、デコードされた像情報を記憶するために新たなMAUをアクセスすべきたびに繰り返される。
レジスタファイル72は、一貫したやり方で初期化される必要がある。即ち、表示されるべき第1のフィールドが上部又は下部フィールドの場合には、上部又は下部フィールドの第1のr/sエントリーを除く各エントリーが、0ないしR/s−1の範囲の異なる数を含んでいなければならない。このような初期化を行う簡単な方法は、次の通りである。表示されるべき第1のフィールドが上部フィールドである場合は、連続する上部フィールドのエントリーが、0からR/(2s)−1までの連続する数で初期化され、次いで、連続する下部フィールドのエントリーが、R/(2S)から(R−r)/s−1まで及び0からr/s−1までの連続する数で初期化される。表示されるべき第1のフィールドが下部フィールドである場合には、連続する下部フィールドのエントリーが、0からR/(2s)−1までの連続する数で初期化され、次いで、連続する上部フィールドのエントリーが、R/(2S)から(R−r)/s−1まで及び0からr/s−1までの連続する数で初期化される。
図1ないし4に示したように、画像は、デコード動作に対してフィールド周期遅延を伴って表示される。例えば、図2において、フレーム0は、t1にデコードされ始め、そしてt4に表示され始める。ディスプレイにより読み取られるべきMAUのアドレスを発生するために、ポインタ及びアドレス決定ユニット66は、表示タイミングブロック68からの信号70に基づいてレジスタファイル72への読み取りポインタ86を計算する。読み取りポインタ86は、マルチプレクサ74によりレジスタファイル72のアドレスポートに付与される。アドレスされたレジスタの内容は、次いで、データライン108a、108b及び108dを用いて、レジスタ82へ読み込まれる。この内容は、表示に使用されるMAUのアドレスである。
現在フィールド区分の表示の残り部分の間に、レジスタ82の内容をマルチプレクサ84を経てアドレス52aとしてメモリ24に付与することにより適当なMAUがアドレスされる。
上記の手順は、表示のために新たなMAUをアクセスすべきたびに繰り返される。
ポインタ及びアドレス決定ユニット66への入力88は、所与の時間にどんなフィールド区分がデコードされているかを指示するが、所与の時間にどんなマクロブロックがデコードされているかは指示しない。上記のように、ビット流記憶位置信号56は、マクロブロックの行と行との間にサンプリングされ、そしてビット流の位置の前にデコードされるべき区分にあるデコードされるべき最後のマクロブロック行を記憶すべきである間にのみアサートされねばならない。これを行うために、ユニット66により発生された信号92は、アンドゲート96により信号90と合成され、その出力が信号56である。信号90は、所定のMAUに対応するデコードされている区分において最後のものでないマクロブロック中にのみアサートされる。信号90は、次のように発生される。デコードされているマクロブロックの行を指定する信号50aは、減少装置104により最初に減少され、次いで、分割器102によりsで分割される。分割器102の出力100は、次いで、比較器94により信号88と比較される。比較器94の出力は、信号90である。
要約すれば、3:2のプルダウンで映像ビット流をデコードしそして表示するための装置及び方法が提供された。本発明は、デコードされた全フレームを保持するには充分でないサイズのフレームバッファを使用できるようにする。この際に、本発明は、メモリ節約を果たし、デコーダの設計に付加的な融通性を与え、そしてメモリコントローラの複雑さ及び電力消費を減少させる。MPEG−2デコーダの場合に、本発明は、16メガビットのメモリのみを用いた3:2のプルダウンのメインレベルデコーダにおいてPAL/SECAMメインプロファイルを実施できるようにする。
好ましい実施形態について本発明を説明したが、本発明は、これに限定されるものではない。むしろ、本発明の範囲は、請求の範囲のみによって限定されるものとする。

Claims (24)

  1. 圧縮された映像を表すビットストリームのフレームを3:2のプルダウンを用いてデコードしそして表示するための方法において、
    上記フレームをデコードして、デコードされた像情報を得ると共に、上記フレームのデコードされた像情報の一部だけをフレームバッファに書き込む段階を備え、この書き込み段階は、上記デコードされた像情報の第1部分を上記フレームバッファの第1セットのメモリ位置に書き込むことを含み、
    更に、上記第1セットのメモリ位置に書き込まれた像情報を表示するために読み出す段階を備え、そして
    上記フレームバッファに書き込まれていないフレームの残りの部分を再びデコードし、そのデコードされた像情報の第2部分を、既に表示されて将来再表示されることのない像情報を含む上記第1セットのメモリ位置に、上記情報の読出しを開始した後に書き込む段階を備え、
    それにより、フレームバッファのサイズを1フレームのデコードされた像情報全てを記憶するに充分なサイズより小さくしたことを特徴とする方法。
  2. 上記第1セットのメモリ位置は、上記フレームバッファのせいぜい1/3である請求項1に記載の方法。
  3. デコードされた像情報の上記第1部分は、上記フレームの第1フィールドの第1部分であり、上記第1フィールドは、上記フレームのトップフィールド又はボトムフィールドのいずれか一方のフィールドであり、上記第1フィールドは、最初に表示されるべきフィールドではなく、そしてデコードされた像情報の上記第2部分は、上記フレームの上記第1フィールドの第2部分である請求項1に記載の方法。
  4. 上記第1フィールドの上記第1部分は、上記第1フィールドの初期部分であり、そして上記第1フィールドの上記第2部分は、上記第1フィールドの最終部分である請求項3に記載の方法。
  5. 上記フレームの第2フィールドは、第1部分及び第2部分より成り、上記第2フィールドは、上記フレームのトップフィールド又はボトムフィールドの他方のフィールドであり、上記第2フィールドの上記第2部分は、上記第2フィールドの最終部分であり、そして上記第2フィールドの上記第1部分の全部又は一部は、上記第2フィールドの初期部分であり、
    第2フィールドの初期部分のデコードされた像情報の一部は、第1フィールドの初期部分の像情報と同時にフレームバッファに書き込まれ、
    第1フィールドの像情報は、第2フィールドの最終部分の像情報と同時にフレームバッファに書き込まれず、
    第2フィールドの最終部分の像情報は、第2フィールドの初期部分の像情報の直後にフレームバッファに書き込まれ、そして
    第2フィールドの像情報は、第1フィールドの最終部分の像情報と同時にフレームバッファに書き込まれない請求項4に記載の方法。
  6. 上記フレームバッファは、多数の同じサイズのメモリ割り当て単位に分割され、各々のメモリ割り当て単位は隣接しており、上記第1セットのメモリ位置は、1組の上記メモリ割り当て単位より成り、そして1フレームのデコードされた像情報全てを保持するに充分なメモリ割り当て単位のサイズの最小倍数は、メモリ割り当て単位のサイズの偶数倍である請求項1に記載の方法。
  7. メモリ割り当て単位のサイズは、マクロブロックの1行に対応する像情報を保持するのに必要なメモリのサイズに等しいか又はその倍数である請求項6に記載の方法。
  8. デコードされた像情報の上記第1部分は、上記フレームの第1フィールドの第1部分であり、上記第1フィールドは、上記フレームのトップフィールド又はボトムフィールドのいずれか一方のフィールドであり、上記第1フィールドは、最初に表示されるべきフィールドではなく、そしてデコードされた像情報の上記第2部分は、上記フレームの上記第1フィールドの第2部分である請求項6に記載の方法。
  9. 上記第1フィールドの上記第1部分は、上記第1フィールドの初期部分であり、そして上記第1フィールドの上記第2部分は、上記第1フィールドの最終部分である請求項8に記載の方法。
  10. 上記フレームの第2フィールドは、第1部分及び第2部分より成り、上記第2フィールドは、上記フレームのトップフィールド又はボトムフィールドの他方のフィールドであり、上記第2フィールドの上記第2部分は、上記第2フィールドの最終部分であり、そして上記第2フィールドの上記第1部分の全部又は一部は、上記第2フィールドの初期部分であり、
    第2フィールドの初期部分のデコードされた像情報の一部は、第1フィールドの初期部分のデコードされた像情報と同時にフレームバッファに書き込まれ、
    第1フィールドの像情報は、第2フィールドの最終部分の像情報と同時にフレームバッファにに書き込まれず、
    第2フィールドの最終部分の像情報は、第2フィールドの初期部分の像情報の直後にフレームバッファに書き込まれ、そして
    第2フィールドの像情報は、第1フィールドの、最終部分の像情報と同時にフレームバッファに書き込まれない請求項9に記載の方法。
  11. 2つのフィールドの像情報が同時に書き込まれるときは、メモリ割り当て単位の連続する対に同時に書き込まれ、各対のメモリ割り当て単位は、既にそれらの手前の内容を最後に表示し始めている2つの最も最近表示されたメモリ割り当て単位であり、そして
    1つのフィールドの像情報が別のフィールドの像情報と同時に書き込まれないときは、連続するメモリ割り当て単位に書き込まれ、各メモリ割り当て単位は、既にその手前の内容を最後に表示し始めている最も最近表示されたメモリ割り当て単位である請求項10に記載の方法。
  12. 書き込まれるべきメモリ割り当て単位は、現在デコードされているフレームのフィールドの区分と、現在デコードされているフレームの区分に対応し、デコードされるべき直前のフレームにおいてまだデコードされていない区分とを保持するのにどのメモリ割り当て単位を使用したかに関する情報から、2つのメモリ割り当て単位の表示時間を比較せずに決定される請求項11に記載の方法。
  13. 圧縮された映像を表すビットストリームのフレームを3:2のプルダウンを用いてデコードしそして表示するための方法において、
    上記フレームをデコードして、デコードされた像情報を得ると共に、上記フレームのデコードされた像情報の一部だけをフレームバッファに書き込む段階を備え、この書き込み段階は、上記デコードされた像情報の第1部分を上記フレームバッファの第1セットのメモリ位置に書き込むことを含み、
    更に、上記第1セットのメモリ位置に書き込まれた像情報を表示するために読み出す段階を備え、そして
    上記フレームバッファに書き込まれていないフレームの残りの部分を再びデコードし、そのデコードされた像情報の第2部分を、既に表示されて将来再表示されることのない像情報を含む上記第1セットのメモリ位置に、上記情報の読出しを開始した後に書き込む段階を備え、
    それにより、フレームバッファのサイズを1フレームのデコードされた像情報全てを記憶するに充分なサイズより小さくし、
    上記第1セットのメモリ位置は、上記フレームバッファのせいぜい1/3であり、
    上記フレームバッファは、多数の等しいサイズのメモリ割り当て単位に分割され、各メモリ割り当て単位は隣接し、上記第1セットのメモリ位置は、1組の上記メモリ割り当て単位より成り、そして1フレームのデコードされた像情報全てを保持するに充分なメモリ割り当て単位のサイズの最小倍数は、メモリ割り当て単位のサイズの偶数倍であり、そして
    上記デコード動作は、両方向の予想を含むことを特徴とする方法。
  14. 上記フレームバッファは、3つのメモリ割り当て単位より成り、そして上記第1セットのメモリ位置は、1つのメモリ割り当て単位より成る請求項13に記載の方法。
  15. 上記フレームバッファは、9つのメモリ割り当て単位より成り、そして上記第1セットのメモリ位置は、3つのメモリ割り当て単位より成る請求項13に記載の方法。
  16. 上記フレームバッファは、5つのメモリ割り当て単位より成り、そして上記第1セットのメモリ位置は、1つのメモリ割り当て単位より成る請求項13に記載の方法。
  17. 圧縮された映像を表すビットストリームのフレームを3:2のプルダウンを用いてデコードしそして表示するシステムにおいて、
    デコーダと、
    上記デコーダに接続されて、「トップフィールド第1」信号及び「繰り返し第1フィールド」信号に応答するメモリコントローラと、
    上記メモリコントローラに接続された表示サブシステムと、
    上記メモリコントローラに接続されたメモリであって、1フレームのデコードされた像情報全てを記憶するのに充分なサイズより小さいサイズのフレームバッファを含むメモリとを備え、
    上記デコーダは、フレームの一部を2回デコードし、
    上記メモリコントローラは、
    上記フレームをデコードして、デコードされた像情報を得ると共に、上記フレームのデコードされた像情報の一部だけをフレームバッファに書き込む段階を備え、この書き込み段階は、上記デコードされた像情報の第1部分を上記フレームバッファの第1セットのメモリ位置に書き込むことを含み、
    更に、上記第1セットのメモリ位置に書き込まれた像情報を表示するために読み出す段階を備え、そして
    上記フレームバッファに書き込まれていないフレームの残りの部分を再びデコードし、そのデコードされた像情報の第2部分を、既に表示されて将来再表示されることのない像情報を含む上記第1セットのメモリ位置に、上記情報の読出しを開始した後に書き込む、
    という段階を実行するように、デコーダ、表示サブシステム及びメモリを制御し、
    それにより、フレームバッファのサイズを1フレームのデコードされた像情報全てを記憶するに充分なサイズより小さくしたことを特徴とするシステム。
  18. 上記フレームバッファのサイズは、1フレームのデコードされた像情報全てを記憶するのに充分なサイズの少なくとも3/4である請求項17に記載のシステム。
  19. 上記デコーダは、2回デコードされるべきフレームの部分の開始点についての上記ビットストリーム内の位置を記憶するレジスタを含み、
    上記デコーダは、上記メモリコントローラにより発生されるビットストリーム記憶位置信号に応答し、そして
    上記デコーダは、上記メモリコントローラにより発生される第2デコード開始信号に応答する請求項17に記載のシステム。
  20. 上記「トップフィールド第1」信号は上記デコーダにより発生され、そして上記「繰り返し第1フィールド」信号は上記デコーダにより発生される請求項17に記載のシステム。
  21. 上記「トップフィールド第1」信号は、上記メモリコントローラによりクロックされるカウンタにより発生され、そして上記「繰り返し第1フィールド」信号は上記カウンタにより発生される請求項17に記載のシステム。
  22. 上記メモリコントローラに接続され、上記ビットストリームのマクロブロックの行の始めにスライスヘッダを挿入する前置プロセッサを更に備えた請求項21に記載のシステム。
  23. 上記メモリコントローラは、データポート及びアドレスポートを有するレジスタファイルと、該レジスタファイルのデータボート及び上記メモリのアドレスポートに接続されたメモリ割り当て単位デコードアドレスレジスタと、上記レジスタファイルのデータポート及び上記メモリのアドレスポートに接続されたメモリ割り当て単位表示アドレスレジスタとを備えている請求項17に記載のシステム。
  24. 上記フレームバッファは、複数のメモリ割り当て単位より成り、そして上記レジスタファイルは、1フレームのデコードされた像情報全てを記憶するに必要なメモリ割り当て単位の数に等しい数のアドレスを有する請求項23に記載のシステム。
JP51546096A 1994-11-04 1995-11-03 3:2のプルダウンで映像をデコードしそして表示するメモリ利用法 Expired - Fee Related JP3943129B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/334,646 1994-11-04
US08/334,646 US5646693A (en) 1994-11-04 1994-11-04 Memory utilization for video decoding and display with 3:2 pull-down
PCT/US1995/014334 WO1996014710A1 (en) 1994-11-04 1995-11-03 Memory utilization for video decoding and display with 3:2 pull-down

Publications (2)

Publication Number Publication Date
JPH10509569A JPH10509569A (ja) 1998-09-14
JP3943129B2 true JP3943129B2 (ja) 2007-07-11

Family

ID=23308140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51546096A Expired - Fee Related JP3943129B2 (ja) 1994-11-04 1995-11-03 3:2のプルダウンで映像をデコードしそして表示するメモリ利用法

Country Status (5)

Country Link
US (1) US5646693A (ja)
EP (1) EP0795251B1 (ja)
JP (1) JP3943129B2 (ja)
DE (1) DE69523335T2 (ja)
WO (1) WO1996014710A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3694912B2 (ja) * 1995-02-23 2005-09-14 株式会社日立製作所 メモリ制御方法及び画像復号装置
US6064803A (en) * 1995-03-01 2000-05-16 Matsushita Electric Industrial Co., Ltd. Image information decoder with a reduced capacity frame memory
KR0156186B1 (ko) * 1995-09-05 1998-11-16 구자홍 디지탈 영상데이타의 복호화장치 및 방법
JPH09139937A (ja) * 1995-11-14 1997-05-27 Fujitsu Ltd 動画ストリーム変換装置
US6968003B1 (en) * 1996-01-29 2005-11-22 International Business Machines Corporation Speed-memory tradeoff for MPEG decoders
KR100215824B1 (ko) * 1996-04-09 1999-08-16 구자홍 엠펙 디코더의 프레임 메모리 및 영상 데이타 디코딩방법
WO1997040629A1 (de) * 1996-04-23 1997-10-30 Siemens Aktiengesellschaft Videodecoder und entsprechendes verfahren
US5835636A (en) * 1996-05-28 1998-11-10 Lsi Logic Corporation Method and apparatus for reducing the memory required for decoding bidirectionally predictive-coded frames during pull-down
US5907372A (en) * 1996-06-28 1999-05-25 Hitachi, Ltd. Decoding/displaying device for decoding/displaying coded picture data generated by high efficiency coding for interlace scanning picture format
US5818533A (en) * 1996-08-08 1998-10-06 Lsi Logic Corporation Method and apparatus for decoding B frames in video codecs with minimal memory
KR100198541B1 (ko) * 1996-08-26 1999-06-15 구자홍 영상 프레임 데이터를 일 메모리에 저장하는 방법
US6118491A (en) * 1997-02-20 2000-09-12 Lsi Logic Corporation System and method for enforcing interlaced field synchronization in the presence of broken alternation in an MPEG video datastream
US6128340A (en) * 1997-03-14 2000-10-03 Sony Corporation Decoder system with 2.53 frame display buffer
AU7796998A (en) * 1997-05-30 1998-12-30 Sony Electronics Inc. Two pass decoding of mpeg b pictures for memory storage reduction
US5903311A (en) * 1997-05-30 1999-05-11 Sony Corporation Run level pair buffering for fast variable length decoder circuit
US5926227A (en) * 1997-07-28 1999-07-20 Lsi Logic Corporation Video decoder dynamic memory allocation system and method with error recovery
US6198773B1 (en) 1997-12-18 2001-03-06 Zoran Corporation Video memory management for MPEG video decode and display system
JPH11252552A (ja) * 1998-03-05 1999-09-17 Sony Corp ビデオ信号の圧縮符号化方法及び圧縮符号化装置、並びに、圧縮符号化データの多重化方法及び多重化装置
US6670996B2 (en) * 1998-08-20 2003-12-30 Intel Corporation Apparatus and method for display of progressive and interland video content
EP1758403A3 (en) 1998-12-23 2007-09-26 Zoran Corporation Video memory management for MPEG video decode and display system
EP1069777A4 (en) * 1999-02-05 2009-03-04 Sony Corp SYSTEMS AND METHODS FOR ENCODING AND DECODING, MULTIPLEXING SYSTEM AND METHOD, AND DISPLAY SYSTEM AND METHOD
US6658056B1 (en) 1999-03-30 2003-12-02 Sony Corporation Digital video decoding, buffering and frame-rate converting method and apparatus
US7573529B1 (en) 1999-08-24 2009-08-11 Digeo, Inc. System and method for performing interlaced-to-progressive conversion using interframe motion data
EP1243141B1 (en) * 1999-12-14 2011-10-19 Scientific-Atlanta, LLC System and method for adaptive decoding of a video signal with coordinated resource allocation
US7236204B2 (en) 2001-02-20 2007-06-26 Digeo, Inc. System and method for rendering graphics and video on a display
US7274857B2 (en) * 2001-12-31 2007-09-25 Scientific-Atlanta, Inc. Trick modes for compressed video streams
EP1487208A4 (en) * 2002-03-20 2010-03-17 Panasonic Corp VIDEO IMAGING DEVICE, VIDEO CONVERTING DEVICE, AND VIDEO EDITING DEVICE
JP2003299038A (ja) * 2002-04-05 2003-10-17 Sony Corp フレーム変換装置及びフレーム変換方法
US8259121B2 (en) * 2002-10-22 2012-09-04 Broadcom Corporation System and method for processing data using a network
US7966642B2 (en) * 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
ATE484157T1 (de) 2004-05-13 2010-10-15 Qualcomm Inc Synchronisierung von audio und video daten in einem drahtlosen nachrichtenübertragungssystem
US8600217B2 (en) * 2004-07-14 2013-12-03 Arturo A. Rodriguez System and method for improving quality of displayed picture during trick modes
JP2006339857A (ja) * 2005-05-31 2006-12-14 Toshiba Corp 復号化装置
US20090033791A1 (en) * 2007-07-31 2009-02-05 Scientific-Atlanta, Inc. Video processing systems and methods
KR101372418B1 (ko) * 2007-10-19 2014-03-12 (주)휴맥스 비트스트림 디코딩 장치 및 방법
US8300696B2 (en) * 2008-07-25 2012-10-30 Cisco Technology, Inc. Transcoding for systems operating under plural video coding specifications
JP6129574B2 (ja) * 2013-02-13 2017-05-17 ルネサスエレクトロニクス株式会社 画像処理装置
US9998750B2 (en) 2013-03-15 2018-06-12 Cisco Technology, Inc. Systems and methods for guided conversion of video from a first to a second compression format

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4276565A (en) * 1978-01-18 1981-06-30 British Broadcasting Corporation Method and apparatus for standards conversion of television signals
US4435792A (en) * 1982-06-30 1984-03-06 Sun Microsystems, Inc. Raster memory manipulation apparatus
JP2977104B2 (ja) * 1991-07-26 1999-11-10 ソニー株式会社 動画像データエンコード方法および装置、並びに動画像データデコード方法および装置
JP2802694B2 (ja) * 1991-10-30 1998-09-24 富士写真フイルム株式会社 画像再生装置および方法
JP3443867B2 (ja) * 1992-06-26 2003-09-08 ソニー株式会社 画像信号符号化、復号化方法及び画像信号記録媒体
JPH0651282A (ja) * 1992-07-31 1994-02-25 Canon Inc 表示制御装置
JPH06178274A (ja) * 1992-11-30 1994-06-24 Sony Corp 動画像復号化装置
JPH06237453A (ja) * 1993-02-09 1994-08-23 Sony Corp 動画像信号復号化装置
US5386233A (en) * 1993-05-13 1995-01-31 Intel Corporation Method for efficient memory use

Also Published As

Publication number Publication date
WO1996014710A1 (en) 1996-05-17
JPH10509569A (ja) 1998-09-14
US5646693A (en) 1997-07-08
EP0795251B1 (en) 2001-10-17
DE69523335D1 (de) 2001-11-22
DE69523335T2 (de) 2002-07-04
EP0795251A1 (en) 1997-09-17
EP0795251A4 (en) 1998-03-18

Similar Documents

Publication Publication Date Title
JP3943129B2 (ja) 3:2のプルダウンで映像をデコードしそして表示するメモリ利用法
KR100376607B1 (ko) 통합 비디오 디코딩 시스템 및 그를 이용한 비디오 데이터의 인코딩 스트림 처리 방법과, 비디오 디코딩 시스템의 프레임 버퍼 할당 방법과, 기록 매체
KR100320476B1 (ko) 비디오 디코더 및 디코딩 방법
US6104416A (en) Tiling in picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences
US6088391A (en) Method and apparatus for segmenting memory to reduce the memory required for bidirectionally predictive-coded frames
US6442206B1 (en) Anti-flicker logic for MPEG video decoder with integrated scaling and display functions
KR100376207B1 (ko) 비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치
US5561465A (en) Video decoder with five page memory for decoding of intraframes, predicted frames and bidirectional frames
KR100298533B1 (ko) Mpeg비디오압축해제용방법및장치
US5835636A (en) Method and apparatus for reducing the memory required for decoding bidirectionally predictive-coded frames during pull-down
US5729303A (en) Memory control system and picture decoder using the same
WO2000059219A1 (en) Digital video decoding, buffering and frame-rate converting method and apparatus
EP1245119B1 (en) Method and apparatus for video decoding on a multiprocessor system
US6525783B1 (en) Video decoding system
JP3123938B2 (ja) 映像フレームデータを一メモリに貯蔵する方法
JP3869038B2 (ja) 復号化方法及び受信装置
US6614437B1 (en) Apparatus and method for efficient memory utilization in an electronic system
JP3307822B2 (ja) 画像処理装置
KR0180168B1 (ko) 영상부호화를 위한 프레임 재배열 장치
Wittig Parallelism in the decoding of MPEG digital video
JPH10117356A (ja) 画像処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050906

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051206

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060718

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061018

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070405

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees