JP4138056B2 - マルチスタンダード脱圧縮及び/又は圧縮装置 - Google Patents

マルチスタンダード脱圧縮及び/又は圧縮装置 Download PDF

Info

Publication number
JP4138056B2
JP4138056B2 JP33323597A JP33323597A JP4138056B2 JP 4138056 B2 JP4138056 B2 JP 4138056B2 JP 33323597 A JP33323597 A JP 33323597A JP 33323597 A JP33323597 A JP 33323597A JP 4138056 B2 JP4138056 B2 JP 4138056B2
Authority
JP
Japan
Prior art keywords
decoder
processor
block
motion compensation
output
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 - Lifetime
Application number
JP33323597A
Other languages
English (en)
Other versions
JPH10248067A (ja
Inventor
ジーガーズ ディアツ ロール
バラクリシュナン ジェイェンドラン
ユージン オーエン ジェファーソン
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.)
STMicroelectronics lnc USA
Original Assignee
STMicroelectronics lnc USA
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 STMicroelectronics lnc USA filed Critical STMicroelectronics lnc USA
Publication of JPH10248067A publication Critical patent/JPH10248067A/ja
Application granted granted Critical
Publication of JP4138056B2 publication Critical patent/JP4138056B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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
    • 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
    • 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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ビデオ及び/又はオーディオ脱圧縮及び/又は圧縮装置の技術分野に関するものであって、更に詳細には、幾つかの脱圧縮プロトコルのうちの一つに準拠してエンコードされたビットストリームをデコーディングすることが可能であり及び/又は幾つかの脱圧縮プロトコルのうちの一つに準拠してビットストリームをエンコーディングすることが可能な脱圧縮及び/又は圧縮装置及び方法に関するものである。
【0002】
【従来の技術】
圧縮されていないビデオ画像のデジタル表示の大きさは画像の分解能及び色深さに依存する。圧縮されていないビデオ画像と付随するオーディオ信号のシーケンスからなる動画は、例えばコンパクトディスク(CD)のような従来の記録媒体上に全てを納めるためにはすぐに大きくなりすぎることとなる。更に、この様な圧縮されていない動画を通信リンクを介して送信することは、送信すべきデータの量が過剰なものであるので許容できない程度に高価なものである。
【0003】
従って、ビデオ及びオーディオシーケンスを送信するか又は格納する前に圧縮することが有益的である。これらのシーケンスを圧縮するためのシステムを開発すべく多大の努力が払われている。MPEG−1,MPEG−2,H.261及びH.263などのDCTアルゴリズムを基礎とした現在使用されている幾つかのコーディングスタンダードが存在している。(MPEGは、「Motion Picture Expert Group(動画エキスパートグループ)」、国際標準化機構(ISO)委員会、に対するアクロニムである。)MPEG−1,MPEG−2,H.261,H.263スタンダードは、エンコード(即ち、圧縮)されたビットストリームをどの様にしてデコード(即ち、脱圧縮)するかを記述するデコンプレッション(decompression)即ち脱圧縮プロトコルを包含している。結果的に得られるビットストリームがスタンダードに適合している限り、エンコーディングはどの様な態様で行うことも可能である。
【0004】
ビデオ及び/又はオーディオ圧縮装置(以後、エンコーダという)は、ビデオ及び/又はオーディオシーケンスを送信又は格納する前に、該シーケンスをエンコード即ちコード化するために使用される。その結果得られるエンコードされたビットストリームは、該ビデオ及び/又はオーディオシーケンスを出力する前に、ビデオ及び/又はオーディオ脱圧縮装置(以後、デコーダという)によってデコードされる。しかしながら、ビットストリームは、それがデコーダによって使用されるスタンダードと適合する場合にのみ、デコーダによってデコードすることが可能である。多数のシステム上でビットストリームをデコードすることが可能であるためには、ビデオ及び/又はオーディオシーケンスを広く受入れられているエンコーディング/デコーディングスタンダードに従ってエンコードすることが有益的である。MPEGスタンダードは、一方向通信用に現在広く受入れられているスタンダードである。H.261及びH.263は、例えばビデオ電話などのような二方向通信用に現在広く受入れられているスタンダードである。
【0005】
デコードされると、そのデコードされたビデオ及びオーディオシーケンスは、例えばテレビ又はビデオテープレコーダ(VCR)、などのビデオ及びオーディオを出力することが専用の電子システム上において、又は例えばコンピュータのような画像表示及びオーディオはシステムの一つの特徴であるに過ぎない電子システム上において出力させることが可能である。デコーダは、これらの電子システムが出力を行う前に圧縮されているビットストリームを圧縮されていないデータへデコードすることを可能とするためにこれらの電子システムへ付加されることを必要とする。エンコーダは、この様なシステムが送信又は格納されるべきビデオ及び/又はオーディオシーケンスを圧縮することを可能とするために付加されることを必要とする。二方向通信の場合にはエンコーダとデコーダの両方が付加されることを必要とする。
【0006】
図1Aは例えばMPEG−2デコーダ10のような典型的なデコーダのアーキテクチャを示した概略ブロック図を示している。デコーダ10は、ビデオ及びオーディオの両方のデコーダとするか、又は単にビデオデコーダとすることが可能であり、その場合にはデコーダ10のオーディオ部分は公知の従来の態様で実行することが可能である。エンコードされているビットストリームが入力バッファ、典型的には先入れ先出し(FIFO)バッファ(以後、FIFO30)によって受取られるが、該バッファは任意のタイプのメモリとすることが可能である。FIFO30は、前に受取ったデータがデコードされている間に、入力してくるエンコードされたビットストリームをバッファする。
【0007】
ビデオ用のエンコードされたビットストリームは圧縮されたフレーム(即ち、圧縮フレーム)を包含している。フレームは、ビデオシーケンスにおいて一つの表示可能な画像に対するエンコードされたデータを表わすデータ構造である。このデータ構造は、輝度ピクセルの一つの二次元アレイと、クロミナンスサンプル、即ち色差サンプルの二つの二次元アレイとから構成されている。
【0008】
色差サンプルは、典型的に、垂直方向及び水平方向の両方において輝度サンプルのサンプリング速度の半分でサンプルされ、4:2:0(輝度:クロミナンス:クロミナンス)のサンプリングモードを発生する。しかしながら、色差はその他の周波数でサンプル即ち採取することも可能であり、例えば、垂直方向においては輝度のサンプリング速度の半分であり且つ水平方向においては輝度のものと同一のサンプリング速度でサンプリングし、4:2:2のサンプリングモードを発生することが可能である。
【0009】
フレームは、典型的に、例えばマクロブロックなどのより小さなサブユニットへ細分化される。マクロブロックは、16×16アレイの輝度サンプルと二つの8×8アレイの隣接クロミナンスサンプルとを具備するデータ構造である。マクロブロックは、運動(「動き」ともいう)補償情報と6個のブロックデータ構造とを具備するヘッダ部分を包含している。ブロックはDCTを基礎とした変換コーディングに対する基本的単位であり、且つ8×8サブアレイのピクセルをエンコーディングするデータ構造である。マクロブロックは四つの輝度ブロックと二つのクロミナンスブロックとを表わす。
【0010】
MPEG−1及びMPEG−2の両方とも複数個のタイプのコード化されたフレーム、例えばイントラ(I)フレーム、前方予測(P)フレーム、及び双方向予測(B)フレームをサポートしている。Iフレームはイントラピクチャ(intrapicture)即ちピクチャ間コーディングのみを包含している。P及びBフレームは、ピクチャ間コーディングとインターピクチャ(interpicture)即ちピクチャ間コーディングの両方を包含することが可能である。I及びPフレームは、ピクチャ間コーディング用の基準フレームとして使用される。ピクチャ間コーディングにおいて、二つのフレームの間の冗長性は可及的に取除かれ、且つ二つのフレームの間の残存差、即ちピクチャ間予測エラー、該フレームは予測フレームとしてデコードされる。運動ベクトルも運動補償を使用するピクチャ間コーディングにおいて送信される。運動ベクトルは、どれほど遠くに且つどの方向にマクロブロックが予測マクロブロックと比較して移動したかを記述する。ピクチャ間コーディングは、デコーダ10が現在の画像をデコード又はエンコードするために必要な情報を有する前の及び/又は将来の画像、即ちI及び/又はPフレームへのアクセスを有することを必要とする。これらの前の及び/又は将来の画像は格納され次いで現在の画像をデコードするために使用されることを必要とする。
【0011】
Iフレームに対するピクチャ間コーディングは、ブロックを基礎としたDCT技術を使用してフレーム内の元のピクセル間の冗長性を減少させることを関与させるが、その他のコーディング技術を使用することも可能である。P及びBフレームの場合には、ピクチャ間コーディングは、ピクチャ間予測エラーピクセル間の冗長性を除去するために同一のDCTを基礎とした技術を使用することを関与させる。
【0012】
FIFO30の出力端はマクロブロックヘッダパーサ36へ結合している。ヘッダパーサ36は、該情報をマクロブロックへ分解即ち構文解析し、次いで該マクロブロックを分解即ち構文解析し且つ各マクロブロックのヘッダ部分をアドレス演算回路96へ送給する。アドレス演算回路96は、運動補償エンジン90がアクセスすることを必要とする予測フレームを決定するために実行すべき予測のタイプを決定する。運動ベクトル情報を使用して、アドレス演算回路96は、デコードされるべき与えられたマクロブロックに対する運動補償予測をデコードするために必要とされる予測フレーム、且つ該フレーム内の予測マクロブロックが位置されるべきメモリ160のアドレスを決定する。
【0013】
予測マクロブロックはメモリ160から得られ且つアドレス演算回路96へ結合されている半pelフィルタ78内に入力される。典型的に、メモリ160との全てのインターフェースを制御するデコーダ内のDMAエンジン162が存在している。半pelフィルタ78は該運動ベクトルによって支配されて、フェッチされた予測マクロブロックに関して垂直方向及び水平方向の半ピクセル補間を実行する。これにより予測マクロブロックが得られる。
【0014】
前述した如く、Iフレーム内のピクセルブロック及びP又はBフレーム内の予測エラーピクセルブロックはDCTを基礎とした技術を使用してエンコード即ちコード化される。このアプローチにおいては、ピクセルはDCTを使用してDCT係数へ変換される。これらの係数は、次いで、量子化テーブルに従って量子化される。量子化されたDCT係数は、次いで、効率を最大とさせるために更に可変長ホフマンコードとしてエンコードされ、最も頻繁に繰返される値に対して最も小さなコードが与えられ且つ頻度が減少するに従いコードの長さが増加する。しかしながら、脱圧縮プロトコルに依存して、ホフマンコード以外のコードを使用することが可能である。該係数は矩形状アレイフォーマットに順番付けされ、最も大きな値はアレイの左上であり且つ典型的にアレイの右下に向かって値が減少していく。直列データビットストリームを発生させるために、該アレイを再度順番付けする。該係数の直列化の順番はアレイの右上角部から開始するジグザグフォーマットであり、即ち該アレイがマトリクスフォーマットにあるものとすると、ジグザグフォーマットにおける要素の順番は、図1Bに示したように、11,12,21,31,22,13,14などである。量子化は、このジグザグスキャンの前又は後に実行することが可能である。
【0015】
再度図1Aを参照すると、ヘッダパーサ36はエンコードしたブロックデータ構造を可変長コード(VLC)デコーダ42へ送給する。VLCデコーダ42は、エンコードしたブロックを表わす可変長コードをデコードし且つそれらを固定長パルスコード変調(PCM)コードへ変換する。これらのコードはエンコードしたブロックのDCT係数を表わしている。PCMコードは、ジグザグフォーマットで得られた8×8ブロックアレイの直列表現である。VLCデコーダ42へ接続している逆ジグザグスキャナ54は、ジグザグフォーマットで得られた8×8ブロックアレイの直列表現を矩形状の8×8ブロックアレイへ変換し、それを逆量子化器48へ通過させる。逆量子化器48は、適宜の量子化テーブルに基づいて逆量子化を実行し且つそれをIDCT回路66へ通過させる。IDCT回路66はその入力ブロックに関して逆DCTを実行し且つ脱圧縮された8×8ブロックを発生させる。本発明者らは、これらの回路を機能的ブロックへ分解することが可能であることを知得した。現在の技術においては、該デコーダは、典型的に、機能的ブロックへグループ化させることなしに、一つ又は複数個のチップ上において集積化されている。
【0016】
予測マクロブロック及びピクチャ間予測エラーは加算回路72において加算され且つ組立ユニット102へ通過される。ピクチャ間圧縮においては、幾つかのフレームがデコードされるべき将来のフレームへアクセスすることを必要とするので、必要とされるフレームは、そのフレームがそれらを必要とする前に送給されるべきである。MPEG−2スタンダードにおいては、フレームは脱圧縮のために過去のフレームと将来のフレームの両方を必要とする場合があるので、圧縮フレームはそれらがビデオシーケンスにおいて表示されるのと同一の順番で送給されるものではない。組立ユニット102は、該情報が脱圧縮されたフレームに対応するメモリ内の正しい位置に配置されることを確保する。結果的に得られるデコードされたマクロブロックは、組立ユニット102によって指定されている場所においてメモリ160内に格納されることを必要とする。全てのフレームがメモリ160内に格納されることを必要とする。なぜならば、デコードされたマクロブロックは、脱圧縮プロトコルの格納及び送信フォーマットに起因して、ディスプレイへ送られるべき次のマクロブロックではない場合があるからである。MPEG−2及びピクチャ間圧縮を使用するその他の脱圧縮プロトコルにおいて、フレームは過去及び将来のフレームに基づいてエンコードされ、従ってフレームを適切にデコードするためには、フレームは順番に送給されるのではなく、それらが表示されるまで格納されることを必要とする。典型的なMPEG−2デコーダ10は、主レベルモードにおいて主プロファイルで(MLにおけるMP)動作するためには16Mbitsのメモリを必要とする。このことは、デコーダが2Mbyteメモリ160を必要とすることを意味している。
【0017】
デコーダ10は、何れか一つ又は組合わせのスタンダードに従ってフォーマット化されたビットストリームをデコードするために設計することが可能である。組合わせのスタンダードに従ってフォーマット化されているビットストリームをデコードするために、デコーダ10は各脱圧縮プロトコルに従ってビットストリームをデコーディングするための回路を包含することが必要である。この回路は特定の脱圧縮プロトコルに対して特定的のものである。ヘッダ10は、更に、特定の脱圧縮プロトコルに適合してビットストリームをエンコードするために別個のエンコーディング回路を必要とする場合がある。デコーダ10は、単に、各所望の脱圧縮プロトコルに対しての複数個のデコーダ、及び多分複数個のエンコーダの組合わせである。例えば、MPEG−2スタンダード又はH.261スタンダードの何れかに適合すべくエンコードされているビットストリームを脱圧縮することの可能なデコーダ10は、二組のデコード用回路を有しており、各組が、各スタンダードに対して一つずつ且つその特定のスタンダードに対して特定的なそれ自身の運動補償回路、それ自身のブロックデコード用回路を包含している。デコーダ10が特定の脱圧縮プロトコルに適合する画像シーケンスをエンコードすることが可能であることが所望される場合には、その特定の脱圧縮プロトコルに適合するシーケンスをエンコードするために特定的な回路を有する別個のエンコード用回路を付加することが必要である。この別個の組の回路に対する必要性はデコーダのダイ面積を著しく増加させるので、問題である。半導体業界における長い間の目標は、与えられた機能性に対しての集積回路装置のダイ面積を減少させることであった。ダイ面積を減少させることの幾つかの利点は、同一の寸法のシリコンウエハ上に製造することの可能なダイの数を増加させ、且つそれから得られるダイ当たりの価格を減少させることである。このことは、装置の量を増加させ且つ価格を低下させることとなる。ダイ面積を増加させると、装置のコストを著しく増加させるので問題を発生させる。
【0018】
これは、ダイ面積における増加を押え込むために、装置へ付加される脱圧縮スタンダードの数を最小限に維持することを推奨している。しかしながら、デコーダ10は幾つかの広く受入れられているスタンダードに準拠してフォーマット化されたシーケンスをデコードし且つエンコードすることが可能であることが有益的である。このことは、デコーダ10が多数のビデオ及び/又はオーディオシーケンスをデコードすることを可能とすることを許容する。更に、ビデオ電話の場合には、デコーダ10はシーケンスをデコードし且つエンコードすることが可能でなければならず、従ってデコーダとエンコーダの両方を必要としている。
【0019】
現在ではたくさんの使用可能な画像が存在しており、そのうちの多くは異なるスタンダードに準拠している。又、通常MPEG−1又はMPEG−2スタンダードに準拠してエンコードされている送信又は格納された画像を受取ることが可能であると共に、三箇所の画像が通常H.261又はH.263スタンダードに準拠してエンコードされるビデオ電話を使用して通信を行うことが可能であることの願望が存在している。このことは、両方のことを行うことの可能なデコーダをコンピュータ又はその他の同様の装置内に組込むことが有益的であるようにしている。しかしながら、この様な柔軟性は、消費者によって益々要求が高くなっているものであるが、装置に対するより大きなダイ面積を犠牲にして得られるものであり且つこの様なデコーダを製造するコストを著しく増加させていた。
【0020】
【発明が解決しようとする課題】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、改良したビデオ及び/又はオーディオ脱圧縮及び/又は圧縮装置及び方法を提供することを目的とする。
【0021】
【課題を解決するための手段】
本発明は、マルチスタンダードデコーダの動作方法及び回路を提供する。本デコーダは、圧縮フレームをパーシング(parsing)即ち構文解析(分解)し且つ該圧縮フレームにおける運動補償情報とブロックデータ構造とを分離させるパーサ(parser)を包含している。本デコーダは、更に、ブロックデータ構造におけるピクセル及びピクチャ間予測エラーをデコードするためのブロックデコーダモジュールと、運動補償情報を使用して予測マクロブロックを得るための運動補償エンジンと、デコードしたピクチャ間予測エラー及びデコードした運動補償予測エラーを加算するための加算回路とを包含している。ブロックデコーダ及び運動補償エンジンは別個にアクセスすることが可能である。
【0022】
別の実施例においては、該ブロックデコーダ及び運動補償エンジンは、更に、別個にアクセスすることの可能なモジュールへ分解することが可能である。
【0023】
本発明の一つの利点は、回路のダイ面積及びコストを減少させることが可能であるということであり、なぜならば、機能的回路を脱圧縮の異なる動作のため及び異なるスタンダードに対して再使用することが可能であり、従って圧縮フレームの脱圧縮を実行するために必要な回路を減少させているからである。
【0024】
本発明の別の利点は、デコーダがプロセサへ接続される場合に、デコーダの機能的ブロックのうちの幾つか又は幾つかの一部をプロセサにおいて実行することが可能であり、デコーダが一つを超えた数のフレームを同時的に脱圧縮することを可能としている点である。
【0025】
本発明の別の利点は、デコーダがプロセサへ接続されている場合に、デコーダの機能的ブロックのうちの幾つか又は幾つかの一部がプロセサにおいて実行することが可能であり、それによりデコーダが同時的に圧縮フレームを脱圧縮し且つ脱圧縮フレームを圧縮することを可能としている点である。
【0026】
本発明のさらなる利点は、フレームの脱圧縮のどの部分がプロセサにおいて実行され且つどの部分がデコーダのハードウエアで実行されるかのプロセサにおける動的再構成が、例えばプロセサをより強力なものと置換させるか又はメモリの付加などの電子システムにおける何らかの修正を考慮に入れる付加的な利点を提供するという点であり、且つデコーダが元々設計されているスタンダードと同一の機能的ブロックのほとんどを使用する将来のデコーディングスタンダードが単にソフトウエアに対する修正だけで受け付けることを可能とするという点である。
【0027】
【発明の実施の形態】
図2は本発明の一実施例に基づくデコーダ200のアーキテクチャの概略ブロック図を示している。図1乃至5に共通な部分は同一の参照番号を使用して示してある。デコーダ200はマルチスタンダードデコーダであって、それは多数の異なるフォーマットのうちの何れかでエンコードされている入力をデコードすることが可能である。それらのスタンダードは、例えばMPEG−2,MPEG−1,H.261,H.263のようなピクチャ内及びピクチャ間圧縮の両方を使用する任意のスタンダードとすることが可能である。本発明を使用して、デコーダのダイ面積をより小さくすることは、典型的に、デコーダが準拠するスタンダードが全て同一の拠り所となるアルゴリズムに基づくものであって、異なるアルゴリズムに基づくものではない場合に得られるものである。図2は、特に、フレームを脱圧縮するために離散余弦変換(DCT)を使用するデコーダ200を示しているが、異なるデコーディング技術を使用するデコーダを使用することも可能である。デコーダ200は、ビデオ又はオーディオ、又はビデオとオーディオの組合わせのデコーダとすることが可能である。
【0028】
デコーダ200は複数個のスタンダードの組合わせに従ってフォーマット化されたビットストリームをデコードすることが可能である。本発明の好適実施例においては、デコーダ200は、幾つかの広く受入れられているDCTスタンダードに準拠してフォーマット化されたビットストリームをデコーディングすることの可能なマルチスタンダードデコーダである。図2及び3に示した実施例においては、デコーダ200は、MPEG−1,MPEG−2,H.261,H.263に適合するビットストリームをデコーディングすることが可能である。このことは、デコーダ200が、多数のビデオ及び/又はオーディオシーケンスをデコードすることが可能であることを許容する。図2及び3に示した本発明の実施例においては、デコーダは、更に、デコーダ200がビデオ電話において使用することを可能とさせるためにH.261及びH.263スタンダードに適合するシーケンスをエンコードすることが可能である。デコーダ200がフォーマットされているビットストリームをデコーディングすることが可能であり且つ適合すべきシーケンスをエンコーディングすることの可能などのスタンダードを選択するかということは、デコーダ200の所望のコスト、効率及び適用場面に基づいている。
【0029】
デコーダ200は複数個の機能的ブロック又はモジュールから構成されている。機能的ブロックの間には接続が存在しており、機能的ブロックの各々が他の機能的ブロックの一つ又は幾つかによってアクセスすることを可能としている。図2に示した実施例においては、一つを超えた数のモジュールによってアクセスされるべき機能的ブロックの間にマルチプレクサ(MUX)が配置されている。デコーダ200はバッファ、即ちFIFO30を包含している。FIFO30は、従来のデコーダにおいて見られるようなFIFOと同様のものであり、且つ前に受取った圧縮データがデコードされている間に入力してくる圧縮データをバッファするために使用される。FIFO30はヘッダパーサ36へ結合している。ヘッダパーサ36は従来のデコーダにおいて見られるようなヘッダパーサと同様であり、エンコードされているデータをマクロブロックへ構文解析即ち分解し且つマクロブロックのヘッダから運動補償情報を抽出すべく機能する。
【0030】
ヘッダパーサ36の第一出力端はブロックデコーダモジュール50のVLCデコーダ42へ結合している。ブロックデコーダモジュール50はブロックアレイモジュール44とIDCTモジュール46とを包含している。VLCデコーダ42は逆ジグザグスキャナ(IZZ)54と結合している。IZZ54の出力端はMUX104の入力端へ結合している。FIFO30の出力端はMUX104の入力端へ結合しており、FIFO30内に格納されている圧縮データがパーサ36及びブロックアレイモジュール44をバイパスして直接的にMUX104へ行くことを可能としている。MUX104、及び機能的ブロックの間の接続を形成するために使用されているデコーダ内の任意のその他のMUXの選択入力は、例えばプロセサ又はマイクロコントローラなどの予めプログラムされている論理回路である。この予めプログラムされている論理回路は、MUXの出力が接続される機能的ブロックに対して実行されるべき次の動作が何であるかを比較すべくプログラムされている。MUX104の出力端はIDCTモジュール46の逆量子化器48の入力端へ接続している。逆量子化器48はIDCT回路66へ結合している。IDCT回路66の出力端はMUX106へ結合している。MUX104の出力端はIDCTモジュール46をバイパスするためにMUX106の他方の入力端である。これらのMUXは、次に実行されるべきデコーディング又はエンコーディング動作に基づいて、幾つかの異なる機能的ブロックへ一つの機能的ブロックがアクセスすることを可能とするために機能的ブロック間の接続として機能する。MUX106は、MUX104と結合して、ブロックデコーダモジュール50全体をバイパスする。DCTを基礎としていないデコーダにおいては、デコーダモジュールはブロックアレイデコーダモジュール44及びIDCTモジュール46の代わりに使用されるDCTでないアルゴリズムに基づいて情報をデコードするための回路を有している。ブロックデコーダモジュール50、ブロックアレイモジュール44、IDCTモジュール46はパイプラインとして構成することが可能である。ブロックデコーダモジュール50は、ピクセル及びピクチャ間予測エラーの両方をデコードする。
【0031】
パーサ36の第二出力端は、MUX108を介して運動補償エンジン90のアドレス演算回路96へ結合しているが、該MUXは、該エンコーダが存在しない場合、又は運動補償エンジンへアクセスしない場合には除去することが可能である。アドレス演算回路96は半pelフィルタ78へ接続している。メモリ160は運動補償エンジン90の半pelフィルタ78へ結合している。運動補償エンジン90の出力及びブロックデコーダモジュール50の出力は加算回路72において加算される。その結果は組立ユニット102へ通過される。組立ユニット102の出力はデコーダ200の出力である。デコーダ200の出力は典型的にメモリ160を介して表示発生器130へ結合される。該デコーダは、更に、それが動作すべく設計されている電子システムに依存してその他のブロックを有することが可能である。
【0032】
エンコーダモジュール88はメモリ160へ結合しているが、デコーダ200はエンコーダモジュールなしで動作することが可能である。上述したように、エンコーダモジュール88はビデオ電話用のH.261及びH.263スタンダードに適合すべくデータシーケンスをエンコードする。該エンコーダモジュールは、デコーダ200がビデオ電話用のシーケンスを処理することが可能であるようにされるべき場合には付加すべきである。
【0033】
ビデオ電話及び電話会議の場合には、各エンドユーザは受信と送信の両方を行うことが可能でなければならない。H.261及びH.263はビデオ電話用に現在広く受入れられているスタンダードである。H.261及びH.263スタンダードに適合すべくシーケンスをエンコードすることの可能なエンコーダは、MPEG−1又はMPEG−2スタンダードに準拠するエンコーダよりも複雑性が少なく、分解能及びフレーム速度がより低く、従って、デコードされた画像の品質をMPEG−1又はMPEG−2スタンダードに適合するエンコーダからのものよりも幾分低下させる可能性がある。この様なエンコーダは廉価であり且つ実時間で動作すべきである。このことは、典型的に、MPEG−1又はMPEG−2スタンダードに適合すべくシーケンスをエンコードするためのエンコーダよりもより効率の悪いものとさせる。即ち、この様なエンコーダの元のデータレートとエンコードしたビットストリームのデータレートとの間の比である圧縮係数が、与えられた画像品質に対して、MPEGエンコーダの圧縮係数よりも低いことを意味している。しかしながら、この様なエンコーダは複雑性がより少ないので、MPEG−1及び/又はMPEG−2スタンダードに適合することの可能なエンコーダよりも一層廉価であり且つ一層高速である。このことは、ビデオ電話を可能なものとさせている。なぜならば、信号をエンコードする場合の長い遅延及び多くのユーザにとって高すぎるようなコストは両方共ビデオ電話においては許容不可能なものだからである。
【0034】
図2に示した実施例においては、デコーダ200はMPEG−1,MPEG−2,H.261,H.263スタンダードに準拠してフォーマット化されたビットストリームをデコードすることが可能であり且つH.261及びH.263スタンダードに適合してビットストリームを発生させるためにシーケンスをエンコードすることが可能である。このことは、デコーダ200をビデオ電話に使用することを可能なものとさせている。MPEG−1及びMPEG−2ではなくH.261及びH.263スタンダードに適合すべくエンコーディングすることは、最も高い圧縮係数を得るためにエンコーディングによる送信及び格納のコストを減少させることの願望と、装置を大量に市場に出すことを可能とするのに十分に低くコストを維持することとの願望を均衡させている。
【0035】
エンコーダモジュール88は入力してくるフレームを受取るための入力端を有している。入力してくるフレームにおける各マクロブロック、以後入力してくるマクロブロックという、は加算回路110及び運動予測エンジン86へ伝搬する。デコーダ200がプロセサ75へ結合されていると、運動予測はデコーダハードウエアによるか又はソフトウエアにおけるプロセサ75によるか、又は、好適には、両者の組合わせによって実行することが可能である。運動予測モジュール86は入力してくるマクロブロックを将来及び過去のフレームにおけるマクロブロックと比較して、最も共通性を有するものはどのマクロブロックであるか、及びどのフレームにおけるもの、即ちI又はPフレームにおけるものであるかを決定する。最も共通性を有するマクロブロックはこの入力してくるマクロブロックに対する予測マクロブロックである。運動予測エンジン86は入力してくるマクロブロックと予測マクロブロックとの間の運動ベクトルを決定する。運動予測エンジン86において決定される運動ベクトルはデータMUX120の入力及び運動補償エンジン90の入力である。運動補償エンジン90は予測マクロブロックを得る。運動補償エンジン90の出力は加算回路72の入力及び加算回路110の入力である。デコーダ200の運動補償エンジン90は、MUX108を介してエンコーダモジュールにおいて使用することが可能であるが、デコーダ200がプロセサへ結合されている場合には、該プロセサ及びメモリは以下に更に説明するようにMUX108の代わりに使用することが可能である。エンコーダ88において必要とされる運動補償エンジン用のデコーダ200内に既に存在する運動補償エンジン90を使用することは、エンコーダモジュール88が運動補償エンジン90を再使用することを可能とし、付加的な運動補償エンジンに対して必要とされるようなダイ空間を節約している。
【0036】
予測マクロブロックは加算回路110において入力してくるマクロブロックから減算される。例えばそのフレームがIフレームである場合のように予測マクロブロックが存在しない場合には、入力してくるマクロブロックのピクセルに対して何も付加されることはない。予測マクロブロックが存在する場合には、入力してくる予測マクロブロックのピクセルは入力してくるマクロブロックのピクセルから減算され、入力してくるマクロブロックに対して予測エラーピクセルが発生される。
【0037】
加算回路の出力端はDCT回路112へ接続されており、該回路112は量子化器114へ接続されている。DCT回路112は、入力フレームにおけるピクセルからなる各8×8ブロックに関してDCTを実行する。量子化器114は適宜の量子化テーブルに基づいて該値を量子化する。量子化器114の出力端はジグザグスキャナ(ZZ)116及びIDCTモジュール46へMUX104を介して接続されている。入力してくるマクロブロックが例えばI及びPフレームにおけるマクロブロックのような予測マクロブロックとして機能することが可能である場合には、それはIDCTモジュール46へ送られ、次いでそれが何らかの入力してくるマクロブロックに対する予測マクロブロックである場合には、検索されるべきバッファへ送られる。
【0038】
入力してくるマクロブロックがエンコードされると、それは量子化される。データが量子化される場合には常に幾らかの損失が存在する。デコーダは、量子化された予測マクロブロックに対して予測エラーを付加することによってマクロブロックをデコーディングする。エンコーダにおいて得られた予測エラーが量子化された予測マクロブロックに基づいている場合にはエラーはより少なくなる。従って、予測マクロブロックとして使用することの可能な何れかの入力してくるマクロブロックは、格納される前に、量子化器114及び逆量子化器48を通過する。従って、エンコーダモジュール88はこれらのマクロブロックを脱圧縮するために逆量子化器及びIDCT回路を必要とする。運動予測モジュール86をMUX104へ接続させることは、エンコーダモジュール88がブロックデコーダモジュール50によって使用されたのと同一のIDCTモジュール46を使用することを可能とする。エンコーダモジュール88が同一のIDCTモジュール46を使用することを可能とすることは、何ら回路を付加したりダイ空間を付加したりすることなしに、エンコーダモジュール88がハードウエアにおいて比較されるべきマクロブロックのデコーディングを実行し脱圧縮を高速化させることを可能とする。
【0039】
IDCTモジュール46の出力は加算回路122の入力である。上述したように、運動補償エンジン90の出力は加算回路122の入力である。予測マクロブロックは加算回路122において、予測マクロブロックが存在する場合に、IDCT回路66によってデコードされた予測エラーへ加算(付加)されて圧縮されていない入力してくるマクロブロックを発生する。加算回路122の出力はバッファ126内に格納される。該バッファは、典型的には、FIFOであるが、該バッファはメインメモリの一部とすることが可能である。I及びPフレームにおけるマクロブロックはバッファ126内に格納され且つそれらが比較のために必要とされる予測マクロブロックである場合には、検索される。バッファ126は運動予測(推定)エンジン86へ接続している。
【0040】
上述した如く、量子化器114の出力端はZZ116へ接続している。ZZ116は入力してくるフレームの8×8矩形ブロックアレイをジグザグフォーマットにおける直列表現へ変換する。ZZ116はVLCエンコーダ118へ接続しており、該エンコーダ118はデータMUX120へ接続している。次いで、VLCエンコーダ118は、典型的には、ホフマンコードを使用して、エンコードされているブロックのDCT係数を表わす固定長PCMコードをVLCへエンコードする。これは、典型的にプロセサから得られるヘッダ情報と結合されて、エンコードされたビットストリームを形成する。データMUX120の動作は、その他の機能的ブロックのほとんどと同様に、プロセサ75によって実行することが可能である。エンコードされたビットストリームはデータMUX120の出力であり、それは、又、エンコーダモジュール88の出力でもある。
【0041】
エンコーダモジュール88は論理回路によって制御される。デコーダ200がプロセサ75へ結合される場合には、該プロセサはエンコーダモジュール88を制御する。しかしながら、エンコーダ88は、例えばマイクロコントローラなどのそれ自身の小型のプロセサを有することが可能である。
【0042】
本発明の一実施例においては、デコーダ200は、更に、プロセサ75へ結合している。プロセサ75は、プロセサ75においてソフトウエアにおいて実行されるべき機能的ブロックのうちの幾つか又は幾つかのうちの一部が機能的ブロックのうちの幾つか又は幾つかのうちの一部を完全に置換するか、又はハードウエアかソフトウエアかの何れかで該機能を実行することを可能とする。例えばH.261及びH.263に対する運動推定(予測)ブロックのほとんどのようなソフトウエアにおいて実行すべきことがそれほど大変なことではない機能的ブロックの幾つか又は幾つかのうちの一部を完全に置換させることは、ダイ空間を節約することを可能とし且つほとんどの大変な機能的ブロックをハードウエアの中に維持したままシステムのコストを減少させ、従ってそれらはシステムが実時間で動作するのに十分に高速で実行することが可能である。実時間で動作することは、デコーダ200が人間の観察者がデコーディングにおける何らかの遅延を検知することが可能であるような典型的に1秒の1/30であるスクリーンリフレッシュ間の時間において画像全体をデコードするのに十分に高速に動作するものでなければならないことを意味している。目標とするところは、人間の観察者にとって気が付くこととなるような程度に多くのフレームを落とすことなしに、デコーダ200を実時間で動作させることである。デコーダ200が動画をデコーディングする場合に実時間で動作するものではない場合には、デコードされた動画は、デコーダ200が次の画像を処理するためにメモリへのアクセスを得ることが可能となるまで、画像間において周期的に停止し且つ待機することとなる。デコーダがビデオ電話を可能とするエンコーダを有している場合には、実時間で動作するものではないということは、例えば通話の一端においての会話などのイベントの発生からそのイベントが通話の他端において表示されるまでの間の時間の長さがエンコーダ及びデコーダの両方がバス及びメインメモリへアクセスを得るために待機せねばならない時間だけ増加されることを意味している。装置が追い付くことが可能となるまで、会話中に途切れが存在することとなる。このことはビデオ会議を行うのに必要な時間を増加させ、且つその様な会議は参加者に対して不快なものとさせる。
【0043】
プロセサ75において実行される動作がどれ程のものであるかは、プロセサ75の処理能力(容量)及び速度とエンコードされたビットストリームが実時間でコンパイルするスタンダードによって特定された機能を実行するために必要とされる処理の複雑性及び量との均衡に基づいている。プロセサの処理能力(容量)及び速度は、プロセサがデコーダ200が典型的に1秒の1/30であるスクリーンリフレッシュ間の時間においてフレームをデコードすることを可能とするのに十分に高速で機能を実行するのに必要な能力(容量)及び速度か又はそれより上であるべきである。プロセサの容量及び速度が特定のスタンダードに対して必要とされる容量及び速度よりも上であるか否かの決定は、そのスタンダードの条件、そのスタンダードに適合すべくフレームを脱圧縮するためにデコーダによって必要とされる時間、その脱圧縮を実行するためのメモリ条件、プロセサに対して使用可能なメモリ、プロセサの能力に基づいて行われる。MUXはこの情報に基づいてプログラムされており且つフレームがコンパイルされているスタンダード、即ちMPEG−2,H.263などが何れであるかの情報を受取るべきである。この様にして、圧縮フレームがコンパイルされているスタンダード及びデコーダが設けられているシステムの能力に基づいて、デコーダは、機能をソフトウエアで実行することが可能であるか又はハードウエアで実行することが可能であるかを動的に決定することが可能である。
【0044】
デコーダを機能的ブロックへ分離させ且つそれをプロセサへ接続させることは、機能的ブロックのうちの幾つか又は幾つかの一部をプロセサによって実行することを可能とし、ハードウエアをその他のタスクのために解放し且つデコーダ200がより多くの機能を同時的に実行することを可能とさせる。
【0045】
動作について説明すると、圧縮フレームを脱圧縮することが必要とされるI又はPフレーム、即ち該必要とされるフレームを脱圧縮する。圧縮フレームはヘッダパーサ36によってマクロブロックへ構文解析即ち分解される。ヘッダパーサ36は、又、該マクロブロックを二つの部分、即ち運動補償情報を含むマクロブロックのヘッダ部分と、圧縮ブロックデータ構造とに分離する。圧縮ブロックデータ構造はブロックデコーダモジュール50において脱圧縮される。運動補償情報は予測マクロブロックを得るために運動補償エンジン90によって使用される。これら二つのステップは、好適には、同時的に実行されるが、それらは任意の順番で実行することも可能である。これら二つのステップの結果は加算される。好適には、各マクロブロックの二つの部分へのパーシング(構文解析、即ち分解)、運動補償エンジン90による予測マクロブロックを得ること、及び該加算はP及びBフレームに対してのみ実行される。Iフレームの場合には、運動補償エンジン90及びブロックデコーダモジュール50の一部をバイパスすることが可能である。次いで、該圧縮フレームはメモリ160内に格納され、次いで表示発生器130へ転送される。本願出願人に譲渡されている発明者Jefferson E. Owen及びJeyendran Balakrishnanの米国特許出願で「DCTを基礎とした技術を使用して圧縮情報を格納することにより脱圧縮に対して必要とされるメモリの減少(Reducing the Menory Required for Decompression by Storing Compressed Information Using DCT Based Techniques)」という名称の同時係属中の米国特許出願(代理人ドケット番号95−C−014)(引用により本明細書に取込む)に記載されている技術を使用して、脱圧縮されたフレーム(即ち、脱圧縮フレーム)をメモリ160内に格納する前に再圧縮させてメモリ条件を減少させることが可能である。
【0046】
デコーダをハードウエア又はソフトウエアで実施することの可能な別個のモジュール及び機能的ブロックへ分離することは、一つを超えた数のモジュール又は機能的ブロックによってそれらのモジュール及び機能的ブロックへの接続を形成することを可能とする。このことは、該モジュール及び機能的ブロックをその他のモジュールにおいて再使用することを可能とし、圧縮フレームの脱圧縮を実施することの回路の必要性を減少させるという利点を提供している。
【0047】
次に、デコーダ200の詳細な動作について説明する。本実施例においては、圧縮フレームがFIFO30内に読込まれるが、任意のタイプのメモリをバッファとして使用することが可能である。圧縮フレームをヘッダパーサ36によってより小さなサブユニット、本実施例においてはマクロブロックへパーシング即ち構文解析(分解)する。異なる実施例においては、圧縮画像をフレームより大きな単位でFIFO内へ読込むことが可能であり、且つヘッダパーサ36が、その画像をマクロブロックへ分解するまで、それをパーシング即ち分解(構文解析)する。
【0048】
P及びBフレームの場合には、ヘッダパーサ36はマクロブロックを二つの部分、即ち運動補償情報を含むマクロブロックのヘッダ部分と圧縮したブロックデータ構造とに分離する。マクロブロックのヘッダ部分は運動補償エンジン90へ送られる。圧縮ブロックデータ構造はブロックデコーダモジュール50のVLCデコーダ42へ送られる。
【0049】
ブロックデコーダモジュール50はデータピクセル及びピクチャ間予測エラーをデコードする。VLCデコーダ42はエンコードしたブロックを表わす可変長コードをデコードし且つそれらを、ジグザグフォーマットで得られた8×8ブロックアレイの直列表示であるエンコードしたブロックを有するDCT係数を表わす固定長PCMコードへ変換する。IZZ54は、この直列表現を矩形の8×8ブロックアレイへ変換し、且つその結果を逆量子化器48へ通過させる。逆量子化器48は、適宜の量子化テーブルに基づいて逆量子化を実施する。逆ジグザグスキャニングは、逆量子化の前又は後の何れかに実施することが可能であり、且つIZZ54と逆量子化器48の順番は、逆量子化器48をVLCデコーダ42へ結合させ且つIZZ54をIDCT回路66へ結合させた状態で逆にすることが可能である。その結果をIDCT回路66へ通過させる。IDCT回路66は逆DCTを実施し且つ矩形状のアレイフォーマットで脱圧縮した8×8ブロックデータ構造を発生する。
【0050】
運動補償エンジン90は予測マクロブロックを得る。上述したように、運動予測情報はアドレス演算回路96の入力である。アドレス演算回路96は、どのフレームを運動補償エンジン90がアクセスすることを必要とするかを決定するために実施されるべき予測のタイプを決定する。アドレス演算回路96は、デコードされるフレームの運動ベクトル及びタイプを使用して予測フレーム、及び予測マクロブロックが位置されているメモリ160内のアドレスを決定する。該予測マクロブロックはメモリ160から得られ且つ半pelフィルタ72内に入力される。典型的に、メモリ160とのインターフェースの全てを制御するデコーダ内のDMAエンジン162が存在している。半pelフィルタ72は予測マクロブロックに関して水平方向及び垂直方向の半ピクセル補間を実施する。
【0051】
運動補償エンジン90によって得られた半ピクセルフィルタ済み予測マクロブロック及びブロックデコーダモジュール50によってデコードされたピクチャ間予測エラーは加算回路72において加算され且つ組立ユニット102へ通過される。ピクチャ間コーディングにおいては、あるフレームがデコードされるべき将来のフレームへのアクセスを必要とするので、必要とされるフレームは、典型的に、それらを必要とするフレームの前にエンコーダによって送られる。MPEG−2スタンダードはピクチャ間予測を使用し、従って、圧縮フレームはビデオシーケンスにおいて表示されるのと同一の順番で送られるものではない。組立ユニット102は、該情報が脱圧縮されるフレームに対応してメモリ内の正しい位置に配置されることを確保する。該組立ユニットは、好適にはソフトウエアで適切なアドレス演算によって実施されるが、それはマルチプレクサにおいて実施することも可能である。
【0052】
その結果得られるデコードされたマクロブロックは組立ユニット102によってそのために指定された場所においてメモリ160内に格納されることを必要とする。全てのフレームがメモリ160内に格納されることを必要とする。なぜならば、デコードされたマクロブロックは、脱圧縮プロトコルの格納及び送信フォーマットに起因してディスプレイへ送られるべき次のマクロブロックではない場合があるからである。MPEG−2及びその他のピクチャ間コーディングを使用する脱圧縮プロトコルにおいては、フレームは過去及び将来のフレームに基づいてエンコードされ、従って、フレームを適切にデコードするためには、フレームはエンコーダによって順番に送られるものではなく、従ってそれらが表示されるまで格納されることを必要とする。更に、I及びPフレームは、それらを他のフレームをデコードするために使用することが可能であるように格納されることを必要とする。
【0053】
Iフレームはピクチャ間圧縮のみを包含している。従って、Iフレームマクロブロックのヘッダ内には運動補償情報は存在しておらず、且つ運動補償エンジン90は省略することが可能である。Iフレームのブロックデータ構造におけるピクセルはブロックデコーダモジュール50においてデコードされ且つ出力120は組立ユニット102に対して経路付けされる。Iフレームは、運動補償エンジン及び加算回路をバイパスすることが可能である。運動補償エンジン90及び加算回路をバイパスすることは、Iフレームを脱圧縮するのに必要な時間が減少されるという付加的な利点を提供している。
【0054】
一つを超える数の機能的ブロックによってアクセスされるべき機能的ブロックをバイパスさせることを可能とし且つデコーダ内のそれらの物理的位置とは異なった順番でアクセスすることを可能とする機能的ブロック間の接続は、図2に示したように、適宜の位置に配置したマルチプレクサによって行うことが可能であるか、又は機能的ブロック間の接続は図3に示したようにプロセサによって制御することが可能である。
【0055】
上述したデコーダの如きデコーダ200′は、MPEG−1,MPEG−2,H.261,H.263に準拠すべきフォーマット化されているビットストリームをデコーディングし且つH.261及びH.263スタンダードに準拠してシーケンスをエンコーディングすることが可能なマルチスタンダードデコーダである。デコーダ200′は、更に、複数個の機能的モジュールから構成されている。該機能的モジュールの各々はその他の機能的モジュールの一つ又は幾つかによってアクセスすることが可能である。該モジュールはメモリ160及びプロセサ75へ接続されており、プロセサ75が機能的ブロックのアクセスを制御することを可能としている。典型的に、デコーダ200′内にはDMAエンジン162が設けられており、それはメモリ160とのインターフェースの全てを制御する。
【0056】
デコーダ200′はバッファ、即ちFIFO30を包含しており、それは、従来のデコーダにおいて見られるようなFIFOと同様であり且つ前に受取った圧縮データをデコードしている間に入力してくる圧縮データをバッファする。FIFO30はヘッダパーサ36へ結合している。ヘッダパーサ36は、エンコードされているデータをマクロブロックへ構文解析即ち分解し且つマクロブロックのヘッダから運動補償情報を抽出する。FIFO30は、更に、プロセサ75へ結合されており、圧縮データをプロセサ内において構文解析即ち分解することを可能とし、且つヘッダパーサ36をバイパスすることを可能とする。
【0057】
ヘッダパーサ36はプロセサ75及びメモリ160へ接続している。プロセサ75はブロックデコーダモジュール50′へ接続しており、該モジュールは、ブロックデコーダモジュール50のと同様に、ブロックアレイデコーダモジュール44とIDCTモジュール46とを有している。ブロックアレイデコーダモジュール44はIZZ54へ接続しているVLCデコーダ42を有している。IDCTモジュール46は、IDCT回路66へ結合している逆量子化器48を有している。プロセサ75はVLCデコーダ42、逆量子化器48、IDCT回路66へ結合している。ブロックデコーダモジュール50′、及びブロックアレイデコーダモジュール44及びIDCTモジュール46はパイプライン形態で示してあるが、それらはその他の形態とすることも可能である。ブロックデコーダモジュール50′はピクセル及びピクチャ間予測エラーをデコードする。
【0058】
ヘッダパーサ36の第二出力端は運動補償エンジン90のアドレス演算回路96へ結合している。プロセサ75は、更に、アドレス演算回路96へ結合している。運動補償エンジン90は、半pelフィルタ78へ結合しているアドレス演算回路96を有している。運動補償エンジン90は予測マクロブロックを得る。ブロックデコーダモジュール50′及び運動補償エンジン90の出力は加算回路72において加算される。加算回路72の出力端は組立ユニット102へ結合しており、且つ組立ユニット102の出力端はメモリ160へ結合している。メモリ160は半pelフィルタ78及び運動補償エンジン90のアドレス演算回路96へ結合している。該メモリは、更に、VLCデコーダ42、IZZ54、逆量子化器48及びブロックデコーダ回路のIDCT回路66、及びヘッダパーサ36及び加算回路72へ結合している。
【0059】
組立ユニット102の出力はデコーダ200′の出力である。デコーダ200′の出力端は、典型的にメモリ160を介して、表示発生器130へ結合している。本デコーダは、それが動作すべく設計されている電子システムに依存してその他のブロックを有することも可能である。
【0060】
エンコーダモジュール88′がメモリ160及びプロセサ75へ結合しているが、デコーダ200′はエンコーダモジュール88′なしで動作することが可能である。エンコーダモジュール88′は、デコーダ200′がビデオ電話用のシーケンスを処理することが可能であるように決定されている場合に付加されるべきである。
【0061】
エンコーダモジュール88′は、MUXによって実施される動作及びプロセサ75によって実施される動作を除いて、図2におけるエンコーダモジュール88と同一の回路を有しており且つ動作を行う。
【0062】
プロセサ75は機能的ブロックの幾つか又は幾つかの一部を完全に置換させるか又はハードウエアか又はソフトウエアの何れかで該機能を実施することを可能とするために、デコーダ200′の機能的ブロックのうちの幾つかをプロセサ75においてソフトウエアで実施することを可能とする。例えばH.261及びH.263用の運動推定(予測)ブロック86の大多数などのようなソフトウエアで実施すべきことがそれほど大変なものではない機能的ブロックの幾つか又は幾つかの一部を完全に置換させることは、ほとんどの大変な機能的ブロックをハードウエア内に維持し従ってシステムが実時間で動作するのに十分に高速でそれらを実施することを可能としながら、ダイ空間を節約することを可能とし且つシステムのコストを低下させる。
【0063】
動作について説明すると、圧縮フレームを脱圧縮することを必要とするI又はPフレームは脱圧縮され、即ちそれらは必要とされるフレームである。圧縮フレームはマクロブロックへ分解(構文解析)され、それらは、以下に更に詳細に説明するように、プロセサによるか、又はプロセサとヘッダパーサ36の組合わせによって、ヘッダパーサ36によってヘッダ部分と圧縮ブロックデータ構造とに分離される。圧縮ブロックデータ構造はブロックデコーダモジュール50′において脱圧縮される。予測マクロブロックは運動圧縮エンジン90によって得られる。これら二つのステップは、好適には、同時的に実施されるが、それらは任意の順番で実施することが可能である。これら二つのステップの結果は加算される。好適には、各マクロブロックの二つの部分へのパーシング(構文解析即ち分解)、運動補償エンジン90によって予測マクロブロックを得ること、及び加算はP及びBフレームに対してのみ実施され、Iフレームに対しては、運動補償エンジン90及びブロックデコーダモジュール50′の一部をバイパスすることが可能である。再圧縮フレームはメモリ160内に格納することが可能であり、次いで表示発生器130へ転送することが可能である。
【0064】
デコーダをハードウエア又はソフトウエアの別個のモジュール及び機能的ブロックへ分離することは、一つを超える数のモジュール又は機能的ブロックによって該モジュール及び機能的ブロックに対して接続を構成することを可能とする。このことは、モジュール及び機能的ブロックをその他のモジュールにおいて再使用することを可能とし、圧縮フレームの脱圧縮を回路が実施することの必要性を減少している。デコーダを機能的ブロックへ分離し且つそれをプロセサへ接続することは、プロセサによって実施されるべき機能的ブロックの幾つか又は幾つかの一部がその他のタスクのためにハードウエアを解放することを可能とし、デコーダ200′がより多くの機能を同時的に実施することを可能とする。
【0065】
次に、デコーダ200′の詳細な動作の一実施例について図3及び図4Aを同時的に参照して説明する。本実施例においては、圧縮画像フレームがFIFO30内に読込まれるが、任意のタイプのメモリをバッファとして使用することが可能である。圧縮されているフレーム(圧縮フレーム)はより小さなサブユニット、本実施例においてはマクロブロック、へ分解(構文解析)される。P及びBフレームの場合には、該マクロブロックは二つの部分、即ち運動補償情報を含むマクロブロックのヘッダ部分と圧縮されているブロックデータ構造とに分離される。該マクロブロックのヘッダ部分は運動補償エンジン90へ送られる。圧縮されているブロックデータ構造はブロックデコーダモジュール50′のVLCデコーダ42へ送られる。ヘッダパーサ36は、フレームをスライスへ分解(構文解析)し且つフレームヘッダ内に含まれる量子化、及びフレーム及び運動補償タイプ情報を分離するフレームヘッダパーサ37と、スライスをマクロブロックへ分解(構文解析)するスライスヘッダパーサ38と、ブロックデータ構造からマクロブロックヘッダを分離するMBLKヘッダパーサ39とから構成されている。ヘッダパーサ36はプロセサ75へ結合されており、且つヘッダパーサの動作の幾つかはプロセサ75において実施することが可能である。
【0066】
プロセサ75においてどれだけ多くの動作が実施されるかは、プロセサ75の処理能力及びスピードと、エンコードされているビットストリームが実時間で適合するスタンダードによって特定される機能を実施するために必要な処理の複雑性及び量との均衡に基づいている。このことは、パーシング(分解、即ち構文解析)動作とプロセサ75において機能的ブロックのうちの一つ又は一つの一部を実施することが所望される場合の任意のその他の動作の両方に適用される。例えば、プロセサの処理能力(容量)が少なくとも能力(容量)スレッシュホールドにあり且つプロセサの速度が少なくとも速度スレッシュホールドにあり、その場合にプロセサの能力スレッシュホールドと速度スレッシュホールドとが一体となってヘッダパーサ36の動作全体をデコーダ200′が典型的に1秒の1/30であるスクリーンリフレッシュ間の時間内にフレームをデコードすることを可能とするのに十分に高速で実施することを可能とする場合には、ヘッダパーサ36の全体をプロセサで置換させることが可能である。FIFO30は、更に、プロセサ75へ接続しており、且つヘッダパーサ36がプロセサ75によって完全に置換させることが可能である場合には、ビットストリームがプロセサ75へ送られてヘッダパーサ36へは送られない。プロセサの能力(容量)及び速度が特定のスタンダードに対する能力(容量)及び速度より上であるか否かの決定は、プロセサ75におけるソフトウエアによって行われる。該ソフトウエアは、ビットストリームが準拠しているスタンダード、即ちMPEG−2,H.263などへのアクセス、そのスタンダードの条件、そのスタンダードに準拠してフレームを脱圧縮するためにデコーダによって必要とされる時間、その脱圧縮を実施するためのメモリ条件、プロセサが使用可能なメモリ、及びプロセサの能力(容量)へのアクセスを有するべきである。
【0067】
このことは、プロセサ75がハードウエアがその他の機能、例えば圧縮されていないフレームのエンコーディング、又は圧縮フレームをデコードするのと同時的に別の圧縮されているフレームのデコーディングなどのその他の機能を実施するためにハードウエアを解放するという利点を提供する。このフレームの脱圧縮のどの部分がプロセサ75において実施され且つデコーダのハードウエアにおいて何が実施されるかのプロセサ75における動的再形態特定は、例えばプロセサをより強力なものと置換させるか又はメモリを付加するなどの電子システムにおける何らかの修正を考慮に入れることの利点を提供している。それは、又、デコーダ200′が元々そのために設計されているスタンダードと同一の機能的ブロックのほとんどを使用する将来のデコーディングスタンダードを受付ることを可能とするという利点を提供している。前者及び後者の両方は単にソフトウエアに対する修正のみで行うことが可能である。例えばH.261又はH.263のような演算の要求がより少ないスタンダードに適合するビットストリームの場合には、MPEG−1に適合するものよりも、プロセサ75において脱圧縮のより多くのものを行うことが可能であり、且つMPEG−1スタンダードに適合するビットストリームのより多くの脱圧縮をMPEG−2に適合するものよりもプロセサ75において行うことが可能である。
【0068】
圧縮フレームを分解(構文解析)した後に、その結果得られるデータはメモリ160内に格納される。ブロックデコーダモジュール50′はデータピクセル及びピクチャ間予測エラーをデコードする。VLCデコーダ42はエンコードされているブロックを表わす可変長コードをデコードし且つそれらを、ジグザグフォーマットで得られる8×8ブロックアレイの直列表現であるエンコードされているブロックを有するDCT係数を表わす固定長PCMコードへ変換させる。IZZ54は、この直列表現を矩形状の8×8ブロックアレイへ変換し、且つその結果を逆量子化器48ヘ通過させる。逆量子化器48は、適宜の量子化テーブルに基づいて逆量子化を実施する。その結果はIDCT回路66へ通過される。IDCT回路66は逆DCTを実施し且つ矩形状アレイフォーマットで脱圧縮された8×8ブロックデータ構造を発生する。
【0069】
運動補償エンジン90は予測マクロブロックを得る。上述したように、運動補償情報はアドレス演算回路96の入力である。アドレス演算回路96は、運動補償エンジン90がアクセスすることを必要とするのがどのフレームであるかを決定するために実施すべき予測のタイプを決定する。アドレス演算回路96は、予測フレーム(及び予測マクロブロック)が位置されているメモリ160におけるアドレスを決定するためにデコードされるフレームのタイプ及び運動ベクトルを使用する。予測マクロブロックはメモリ160から得られ且つ半pelフィルタ72内へ入力される。典型的には、メモリ160とのインターフェースの全てを制御するデコーダ内のDMAエンジン162が存在している。半pelフィルタ72は、予測マクロブロックに関して水平方向及び垂直方向の半ピクセル補間を実施する。
【0070】
運動補償エンジン90によって得られた半ピクセルフィルタ処理済み予測マクロブロック、及びブロックデコーダモジュール50′によってデコードされたピクチャ間予測エラーは加算回路72において加算され且つ組立ユニット102へ通過される。ピクチャ間コーディングにおいては、幾つかのフレームがデコードされるべき将来のフレームへのアクセスを必要とするので、必要とされるフレームは、典型的に、該フレームがそれらを必要とする前に、エンコーダによって送られる。MPEG−2スタンダードはピクチャ間予測を使用し、従って、圧縮フレームはビデオシーケンスにおいて表示されるのと同一の順番で送られるものではない。組立ユニット102は、脱圧縮中のフレームに対応してメモリ内の正しい位置にその情報が配置されることを確保する。組立ユニットは、適切なアドレス演算、好適にはソフトウエアで実施されるが、それはマルチプレクサで実施することも可能である。
【0071】
結果的に得られるデコードされたマクロブロックは組立ユニット102によってそのために指定された場所内にメモリ160内に格納されることを必要とする。全てのフレームはメモリ160内に格納されることを必要とする。なぜならば、デコードされたマクロブロックは脱圧縮プロトコルの格納及び送信フォーマットに起因して、ディスプレイへ送信されるべき次のマクロブロックではない場合があるからである。MPEG−2及びピクチャ間コーディングを使用するその他の脱圧縮プロトコルにおいては、フレームは過去及び将来のフレームに基づいてエンコードされ、従って、適切にフレームをデコードするためには、フレームはエンコーダによって順番に送られるのではなく、従って、表示されるまで格納されることを必要とする。更に、I及びPフレームは、それらは他のフレームをデコードするために使用することが可能であるように格納されることを必要とする。
【0072】
Iフレームはピクチャ間圧縮のみを包含している。従って、Iフレームマクロブロックのヘッダ内には運動補償情報が存在しておらず、且つ運動補償エンジン90を省略することが可能である。ピクチャ間圧縮はブロックデコーダモジュール50′においてコード化され、且つ出力120は組立ユニット102に対して経路付けされる。Iフレームは、運動補償エンジン及び加算回路72をバイパスすることが可能である。運動補償エンジン90及び加算回路72をバイパスすることは、Iフレームを脱圧縮するための時間が減少されるという付加的な利点を提供する。
【0073】
エンコーダモジュール88の動作の一実施例について図3及び図4Bを同時的に参照して説明する。例えばP又はBフレームにおけるマクロブロックのような運動補償を有することが可能なフレーム内の各入力してくるマクロブロックは、運動推定(予測)エンジン86において、バッファ126内に格納されているマクロブロックと比較される。この運動推定は、デコーダハードウエアによって又はソフトウエアにおいてプロセサ75によって、又は好適には、これら二つの組合わせによって実施することが可能である。運動推定モジュール86は、入力してくるマクロブロックを将来及び過去のフレームにおけるマクロブロックと比較して、どのマクロブロック、及びどのフレームにおける、即ちI又はPフレームにおいて、それが最も共通性を有するものであるかを決定する。最も共通性を有するマクロブロックはこの入力してくるマクロブロックに対する予測マクロブロックである。運動推定エンジン86は入力してくるマクロブロックと予測マクロブロックとの間の運動ベクトルを決定する。運動推定エンジン86において決定された運動ベクトルはメモリ160内に格納される。運動補償エンジン90は、この運動ベクトルを獲得し且つ予測マクロブロックを得、それは、次いで、メモリ160内に格納される。
【0074】
予測マクロブロックは加算回路110において入力してくるマクロブロックから減算される。例えばそのフレームがIフレームである場合のように予測マクロブロックが存在しないフレームの場合には、運動推定エンジン86及び運動補償エンジン90はバイパスされ且つ入力してくるマクロブロックのピクセルに対して何も付加されるものはない。予測マクロブロックが存在する場合には、該予測マクロブロックのピクセルが入力してくるマクロブロックのピクセルから減算されて、入力してくるマクロブロックに対する予測エラーピクセルを得る。DCT回路は、入力フレームにおけるピクセルの各8×8ブロックに関してDCTを実施する。量子化器114は、適宜の量子化テーブルに基づいて該値を量子化し、且つその結果をメモリ160内に配置させる。
【0075】
入力してくるマクロブロックが例えばI及びPフレームにおけるマクロブロックのような予測マクロブロックとして機能することが可能である場合には、量子化予測エラーがIDCTモジュール46へ送られ、従って入力してくるマクロブロックはフレームバッファ126内に格納し、それが何らかのその他の入力してくるマクロブロックに対する予測マクロブロックである場合に検索することが可能である。
【0076】
IDCTモジュール46の出力及び運動補償エンジン90の出力は加算回路122において加算される。予測マクロブロックが加算回路122において、予測マクロブロックが存在する場合に、IDCT回路66によってデコードされた予測エラーへ加算されて、圧縮されていない入力してくるマクロブロックを得る。加算回路122の出力はフレームバッファ126内に格納される。I及びPフレームにおけるマクロブロックはバッファ126内に格納され、且つ、それらが比較のために必要とされる予測マクロブロックである場合には、検索される。バッファ126は運動推定エンジン86へ接続している。
【0077】
量子化器114の出力は、更に、8×8矩形状ブロックアレイへ、ZZ116によってジグザグフォーマットにその直列表現へ変換される。VLCエンコーダ118は、次いで、エンコードされているブロックのDCT係数を表わす固定長PCMコードを、典型的に、ホフマンコードを使用して、VLCへエンコード即ちコード化させる。これは、データMUX120において、運動ベクトルを含むヘッダ情報と結合されて、エンコードされたビットストリームを形成する。このエンコードされたビットストリームはデータMUX120の出力であり、それは、更に、エンコーダモジュール88の出力でもある。好適には、ZZ116及び逆量子化器は同時的に動作する。
【0078】
図5は、コンピュータ80におけるデコーダ200′の一つの適用例を示している。コンピュータ80は、入力装置73、出力装置74、メモリ160、及び該デコーダを有しており、それらは全てバス77を介してプロセサ75へ結合されている。デコーダ200′は、更に、例えばDVDプレーヤ又はテレビシステムなどの画像を使用するその他の任意のシステムにおいて使用することも可能である。
【0079】
デコーダをハードウエア又はソフトウエアで実施することの可能な別個のモジュール及び機能的ブロックへ分離することは、一つを超える数のモジュール又は機能的ブロックによって該モジュール及び機能的ブロックへの接続を構成することを可能とする。このことは、該モジュール及び機能的ブロックを、その他のモジュールにおいて再使用することを可能とし、圧縮フレームの脱圧縮を実施するのに必要な回路を減少させる。更に、好適実施例においては、Iフレームは運動補償回路90及び加算回路72をバイパスし、従って圧縮フレームを脱圧縮するための時間を減少させる。
【0080】
更に、デコーダがプロセサ75へ接続されている場合には、それは、機能的ブロックのうちの幾つか又は幾つかの一部をプロセサ75において実施することを可能とする。それは、デコーダが同一のビットストリーム内におけるか、又は二つの別個のビットストリームから同時的に、一つを超える数のフレームを脱圧縮することを可能とするという付加的な利点を提供している。なぜならば、他のフレームがこれらの機能を実施するためのデコーダのハードウエアを使用している間に、該フレームのうちの一つに対する幾つかの機能のうちの一つの脱圧縮の一部をソフトウエアで実施することが可能だからである。それは、又、デコーダが圧縮フレームを脱圧縮し且つ脱圧縮フレームを圧縮することを同時的に行うことを可能とする。これは、デコーダがビットストリームをエンコードする場合に準拠する脱圧縮スタンダードが同じように複雑なものでない場合に特に有効である。なぜならば、より複雑性のないスタンダードに準拠するビットストリームのより多くのものをプロセサにおいて脱圧縮することが可能だからである。フレームの脱圧縮のどの部分をプロセサにおいて実施し且つデコーダのハードウエアにおいて何を実施するかのプロセサにおける動的再形態特定は、例えばプロセサをより強力なものと置換させたり又はメモリを付加させたりするような電子システムにおける何らかの修正を考慮に入れるという付加的な利点を提供し、且つ、全て単にソフトウエアの修正だけで、元々デコーダに対して設計されているスタンダードと同一の機能的ブロックのほとんどを使用する将来のデコーディングスタンダードを受入れることが可能であるという利点を提供している。
【0081】
圧縮に関するさらなる技術的背景は、国際標準化機構、情報技術最大で約1.5MBITS/Sまでのデジタル格納媒体用の動画及び関連するオーディオのコーディング、パート1−6、国際標準化機構、情報技術−動画及び関連オーディオ情報の一般的なコーディング、パート1−4、データシート「STi3500A」エスジーエス−トムソンマイクロエレクトロニクス社のデータシート、STi3500a−MPEGオーディオ−MPEG−2ビデオ集積化デコーダ用の先進情報(1995年6月)、Watkinsoon,John「ビデオ及びオーディオにおける圧縮(COMPRESSION IN VIDEO AND AUDIO)」、フォーカルプレス、1995年、Minoli,Daniel「ビデオダイヤルトーン技術(VIDEO DIALTONE TECHNOLOGY)」、マッグローヒル出版社、1995年において見出すことが可能である。コンピュータアーキテクチャに関するさらなる技術的背景は、Anderson,Don及びTom Shanley「ISAシステムアーキテクチャ(ISA SYSTEM ARCHITECTURE)」、第3版、John Swindle編、マインドシェアインコーポレイテッド、アジソン・ウエズリ出版社、1995年において見出すことが可能である。尚、これらの全ての文献は引用によって本明細書に取込む。
【0082】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ限定されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【図1A】 典型的なデコーダのアーキテクチャを示した概略ブロック図。
【図1B】 ジグザグスキャンの一例を示した概略図。
【図2】 本発明の一実施例に基づくデコーダのアーキテクチャを示した概略ブロック図。
【図3】 本発明の別の実施例に基づくデコーダのアーキテクチャを示した概略ブロック図。
【図4A】 図3のデコーダの動作の一部を示したフローチャート。
【図4B】 図3におけるデコーダの動作の別の部分を示したフローチャート。
【図5】 図3に示した本発明の実施例に基づくデコーダを含むコンピュータを示した概略ブロック図。
【符号の説明】
30 FIFO
36 ヘッダパーサ
42 VLCデコーダ
44 ブロックアレイモジュール
46 IDCTモジュール
48 逆量子化器
50 ブロックデコーダモジュール
54 逆ジグザグスキャナ(IZZ)
66 IDCT回路
72 加算回路
75 プロセサ
78 半pelフィルタ
86 運動推定エンジン
88 エンコーダモジュール
90 運動圧縮エンジン
96 アドレス演算回路
102 組立ユニット
104 マルチプレクサ(MUX)
110 加算回路
112 DCT回路
114 量子化器
116 ジグザグスキャナ(ZZ)
126 バッファ
130 表示発生器
160 メモリ
200 デコーダ

Claims (42)

  1. メモリへ結合されており圧縮フレームをデコードするデコーダにおいて、
    第一及び第二出力端を具備しており、圧縮フレームを構文解析し且つ前記圧縮フレームにおける動き補償情報とブロックデータ構造とに分離するパーサ、
    前記パーサの第一出力端へ結合している入力端を具備しており、前記ブロックデータ構造におけるピクセル及びピクチャ間予測エラーをデコードするブロックデコーダ、
    前記パーサの第二出力端へ結合している入力端を具備しており、前記動き補償情報を使用して予測マクロブロックを得る動き補償エンジン、
    前記ブロックデコーダの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備しており、前記デコードしたピクチャ間予測エラーと予測マクロブロックとを加算する加算回路、
    プロセサ速度及び容量に関する情報及びプロセサに対して使用可能なメモリに関する情報を包含するプロセサであって、前記プロセサの容量及び速度が本デコーダを実時間で動作させ且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であるか否かを決定するためにプログラム可能なプロセサ、
    前記プロセサの容量及び速度が本デコーダを実時間で動作させ且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であることに応答して、前記ブロックデコーダの一部及び前記動き補償エンジンの一部をバイパスするための第一コネクタ、
    を有することを特徴とするデコーダ。
  2. 請求項1において、前記第一コネクタがプロセサを有していることを特徴とするデコーダ。
  3. メモリへ結合されており圧縮フレームをデコードするデコーダにおいて、
    第一及び第二出力端を具備しており、圧縮フレームを構文解析し且つ前記圧縮フレームにおける動き補償情報とブロックデータ構造とに分離するパーサ、
    前記パーサの第一出力端へ結合している入力端を具備しており、前記ブロックデータ構造におけるピクセル及びピクチャ間予測エラーをデコードするブロックデコーダ、
    前記パーサの第二出力端へ結合している入力端を具備しており、前記動き補償情報を使用して予測マクロブロックを得る動き補償エンジン、
    前記ブロックデコーダの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備しており、前記デコードしたピクチャ間予測エラーと予測マクロブロックとを加算する加算回路、
    プロセサ速度及び容量に関する情報とプロセサに対して使用可能なメモリに関する情報とを包含するプロセサであって、前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であるか否かを決定するためにプログラム可能なプロセサ、
    前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であることに応答して前記パーサをバイパスする第二コネクタ、
    を有することを特徴とするデコーダ。
  4. 請求項3において、前記第二コネクタがプロセサを有していることを特徴とするデコーダ。
  5. メモリへ結合されており圧縮フレームをデコードするデコーダにおいて、
    第一及び第二出力端を具備しており、圧縮フレームを構文解析し且つ前記圧縮フレームにおける動き補償情報とブロックデータ構造とに分離するパーサ、
    前記パーサの第一出力端へ結合している入力端を具備しており、前記ブロックデータ構造におけるピクセル及びピクチャ間予測エラーをデコードするブロックデコーダ、
    前記パーサの第二出力端へ結合している入力端を具備しており、前記動き補償情報を使用して予測マクロブロックを得る動き補償エンジン、
    前記ブロックデコーダの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備しており、前記デコードしたピクチャ間予測エラーと予測マクロブロックとを加算する加算回路、
    プロセサ速度及び容量に関する情報と、プロセサに対して使用可能なメモリに関する情報とを包含するプロセサであって、前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であるか否かを決定するためにプログラム可能なプロセサ、
    前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であることに応答して前記動き補償エンジン及び前記加算回路をバイパスする第三コネクタ、
    を有することを特徴とするデコーダ。
  6. 請求項1,3,5の内のいずれか1項において、更に、前記動き補償エンジンを含むエンコーダを有することを特徴とするデコーダ。
  7. 請求項1,3,5の内のいずれか1項において、前記ブロックデコーダが、
    前記ブロックデコーダの入力端へ結合している入力端を具備するブロックアレイモジュール、
    前記ブロックデコーダの出力端へ結合している出力端と前記ブロックアレイへ結合している入力端とを具備するIDCTモジュール、
    を有することを特徴とするデコーダ。
  8. 請求項7において、更に、前記IDCTモジュールを包含するエンコーダを有していることを特徴とするデコーダ。
  9. 請求項7において、前記ブロックアレイモジュールが、
    前記デコーダモジュールの入力端へ結合している入力端を具備しており、前記ブロックデータ構造のDCT係数をデコードするVLCデコーダ、
    前記ブロックデータ構造の直列表示をアレイ表示へ変換する逆ジグザグスキャナ、
    を有することを特徴とするデコーダ。
  10. 請求項7において、前記IDCTモジュールが、
    前記ブロックデータ構造の係数の逆量子化を実行する逆量子化器、
    前記ブロックデータ構造の係数に関し逆離散余弦変換を実行する逆離散余弦変換回路、
    を有することを特徴とするデコーダ。
  11. 請求項1、3,5の内のいずれか1項において、前記デコーダがMPEG−2スタンダードに準拠してフォーマット化されたビットストリームをデコーディングすることが可能であることを特徴とするデコーダ。
  12. 請求項1,3,5の内のいずれか1項において、前記動き補償エンジンが、
    圧縮フレームをデコードするために必要とされるフレームのメモリ内のアドレス及び実行されるべき予測のタイプを決定するアドレス演算回路、
    前記必要とされるフレームにおけるサブユニットが圧縮フレームのサブユニットと相関するか否かを決定する半pelフィルタ、
    を有することを特徴とするデコーダ。
  13. メモリとプロセサとに結合されており圧縮フレームをデコードするデコーダにおいて、
    第一及び第二出力端を具備しており、圧縮フレームを構文解析し且つ前記圧縮フレームにおける動き補償情報とブロックデータ構造とに分離するパーサ、
    前記ブロックデータ構造におけるピクセル及びピクチャ間予測エラーをデコードするブロックデコーダであって、前記ブロックデコーダの出力端へ結合している出力端とブロックアレイへ結合している入力端とを具備するIDCTモジュールを具備する前記パーサの第一出力端へ結合している入力端を具備しているブロックデコーダ、
    前記パーサの第二出力端へ結合している入力端を具備しており、前記動き補償情報を使用して予測マクロブロックを得るための動き補償エンジン、
    前記デコーダモジュールの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備しており、前記デコードしたピクチャ間予測エラーと前記予測マクロブロックとを加算する加算回路、
    前記メモリへ結合しており前記IDCTモジュールを包含するエンコーダ、
    プロセサ速度及び容量に関する情報とプロセサに対して使用可能なメモリに関する情報とを包含するプロセサであって、前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であるか否かを決定するためにプログラムすることの可能なプロセサ、
    前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であることに応答して前記ブロックデコーダの一部と前記動き補償エンジンの一部とをバイパスする第一コネクタ、
    を有することを特徴とするデコーダ。
  14. 請求項13において、前記第一コネクタがプロセサを有していることを特徴とするデコーダ。
  15. メモリとプロセサとに結合されており圧縮フレームをデコードするデコーダにおいて、
    第一及び第二出力端を具備しており、圧縮フレームを構文解析し且つ前記圧縮フレームにおける動き補償情報とブロックデータ構造とに分離するパーサ、
    前記ブロックデータ構造におけるピクセル及びピクチャ間予測エラーをデコードするブロックデコーダであって、前記ブロックデコーダの出力端へ結合している出力端とブロックアレイへ結合している入力端とを具備するIDCTモジュールを具備する前記パーサの第一出力端へ結合している入力端を具備しているブロックデコーダ、
    前記パーサの第二出力端へ結合している入力端を具備しており、前記動き補償情報を使用して予測マクロブロックを得るための動き補償エンジン、
    前記デコーダモジュールの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備しており、前記デコードしたピクチャ間予測エラーと前記予測マクロブロックとを加算する加算回路、
    前記メモリへ結合しており前記IDCTモジュールを包含するエンコーダ、
    プロセサ速度及び容量に関する情報とプロセサに対して使用可能なメモリに関する情報とを包含しているプロセサであって、前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であるか否かを決定するためにプログラム可能なプロセサ、
    前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものを超えていることに応答して前記パーサをバイパスする第二コネクタ、
    を有することを特徴とするデコーダ。
  16. 請求項1において、前記第二コネクタがプロセサを有していることを特徴とするデコーダ。
  17. メモリとプロセサとに結合されており圧縮フレームをデコードするデコーダにおいて、
    第一及び第二出力端を具備しており、圧縮フレームを構文解析し且つ前記圧縮フレームにおける動き補償情報とブロックデータ構造とに分離するパーサ、
    前記ブロックデータ構造におけるピクセル及びピクチャ間予測エラーをデコードするブロックデコーダであって、前記ブロックデコーダの出力端へ結合している出力端とブロックアレイへ結合している入力端とを具備するIDCTモジュールを具備する前記パーサの第一出力端へ結合している入力端を具備しているブロックデコーダ、
    前記パーサの第二出力端へ結合している入力端を具備しており、前記動き補償情報を使用して予測マクロブロックを得るための動き補償エンジン、
    前記デコーダモジュールの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備しており、前記デコードしたピクチャ間予測エラーと前記予測マクロブロックとを加算する加算回路、
    前記メモリへ結合しており前記IDCTモジュールを包含するエンコーダ、
    プロセサ速度及び容量に関する情報と、プロセサに対して使用可能なメモリに関する情報とを包含するプロセサであって、前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされているモジュールを実行するのに必要なものより上であるか否かを決定するためにプログラム可能なプロセサ、
    前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされているモジュールを実行するのに必要なものを超えていることに応答して前記動き補償エンジン及び前記加算回路をバイパスする第三コネクタ、
    を有することを特徴とするデコーダ。
  18. 請求項13,15,17の内のいずれか1項において、更に、前記動き補償エンジンを包含するエンコーダを有していることを特徴とするデコーダ。
  19. 請求項13,15,17の内のいずれか1項において、前記動き予測モジュールがプロセサを有していることを特徴とするデコーダ。
  20. 請求項13,15,17の内のいずれか1項において、前記デコーダがMPEG−2スタンダードに準拠してフォーマット化されたビットストリームをデコーディングすることが可能であることを特徴とするデコーダ。
  21. 請求項13,15,17の内のいずれか1項において、前記ブロックデコーダが、更に、ブロックアレイモジュールを有しており、前記ブロックアレイモジュールが、
    前記デコーダモジュールの入力端へ結合している入力端を具備しており、前記ブロックデータ構造のDCT係数をデコードするVLCデコーダ、
    前記ブロックデータ構造の直列表示をアレイ表示へ変換する逆ジグザグスキャナ、
    を具備することを特徴とするデコーダ。
  22. 請求項13,15,17の内のいずれか1項において、前記IDCTモジュールが、
    前記ブロックデータ構造の係数の逆量子化を実行する逆量子化器、
    前記ブロックデータ構造の係数に関して逆離散余弦変換を実行する逆離散余弦変換回路、
    を有することを特徴とするデコーダ。
  23. 請求項13,15,17の内のいずれか1項において、前記動き補償エンジンが、
    圧縮フレームをデコードするために必要とされるフレームのメモリにおけるアドレス及び実行されるべき予測のタイプを決定するアドレス演算回路、
    前記必要とされるフレームにおけるサブユニットが圧縮フレームのサブユニットと相関するか否かを決定する半pelフィルタ、
    を有することを特徴とするデコーダ。
  24. コンピュータにおいて、
    入力装置、
    出力装置、
    プロセサ、
    メモリ、
    デコーダ、
    を有しており、前記デコーダが、
    第一及び第二出力端を具備しており、圧縮フレームを構文解析し且つ前記圧縮フレームにおける動き補償情報とブロックデータ構造とに分離するパーサ、
    前記ブロックデータ構造におけるピクセル及びピクチャ間予測エラーをデコードするブロックデコーダであって、前記ブロックデコーダの出力端へ結合している出力端と前記ブロックアレイへ結合している入力端とを具備するIDCTモジュールを具備する前記パーサの第一出力端へ結合している入力端を具備するブロックデコーダ、
    前記パーサの第二出力端へ結合している入力端を具備しており、前記動き補償情報を使用して予測マクロブロックを得るための動き補償エンジン、
    前記デコーダモジュールの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備しており、前記デコードされたピクチャ間予測エラーと予測マクロブロックとを加算する加算回路、
    を有しており、
    前記プロセサがプロセサ速度及び容量に関する情報と、プロセサに対して使用可能なメモリに関する情報とを包含しており、前記プロセサは前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要とされるものより上であるか否かを決定するためにプログラム可能であり、更に、前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要とするものより上であることに応答して前記ブロックデコーダの一部と前記動き補償エンジンの一部とをバイパスするための第一コネクタが設けられている、
    ことを特徴とするコンピュータ。
  25. 請求項24において、前記第一コネクタがプロセサを有していることを特徴とするコンピュータ。
  26. コンピュータにおいて、
    入力装置、
    出力装置、
    プロセサ、
    メモリ、
    デコーダ、
    を有しており、前記デコーダが、
    第一及び第二出力端を具備しており、圧縮フレームを構文解析し且つ前記圧縮フレームにおける動き補償情報とブロックデータ構造とに分離するパーサ、
    前記ブロックデータ構造におけるピクセル及びピクチャ間予測エラーをデコードするブロックデコーダであって、前記ブロックデコーダの出力端へ結合している出力端と前記ブロックアレイへ結合している入力端とを具備するIDCTモジュールを具備する前記パーサの第一出力端へ結合している入力端を具備するブロックデコーダ、
    前記パーサの第二出力端へ結合している入力端を具備しており、前記動き補償情報を使用して予測マクロブロックを得るための動き補償エンジン、
    前記デコーダモジュールの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備しており、前記デコードされたピクチャ間予測エラーと予測マクロブロックとを加算する加算回路、
    を有しており、
    前記プロセサがプロセサ速度及び容量に関する情報と、プロセサに対して使用可能なメモリに関する情報とを包含しており、前記プロセサは、前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するために必要なものより上であるか否かを決定するためにプログラム可能であり、且つ更に、前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するために必要なものより上であることに応答して前記パーサをバイパスする第二コネクタが設けられている、
    ことを特徴とするコンピュータ。
  27. 請求項26において、前記第二コネクタがプロセサを有していることを特徴とするコンピュータ。
  28. コンピュータにおいて、
    入力装置、
    出力装置、
    プロセサ、
    メモリ、
    デコーダ、
    を有しており、前記デコーダが、
    第一及び第二出力端を具備しており、圧縮フレームを構文解析し且つ前記圧縮フレームにおける動き補償情報とブロックデータ構造とに分離するパーサ、
    前記ブロックデータ構造におけるピクセル及びピクチャ間予測エラーをデコードするブロックデコーダであって、前記ブロックデコーダの出力端へ結合している出力端と前記ブロックアレイへ結合している入力端とを具備するIDCTモジュールを具備する前記パーサの第一出力端へ結合している入力端を具備するブロックデコーダ、
    前記パーサの第二出力端へ結合している入力端を具備しており、前記動き補償情報を使用して予測マクロブロックを得るための動き補償エンジン、
    前記デコーダモジュールの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備しており、前記デコードされたピクチャ間予測エラーと予測マクロブロックとを加算する加算回路、
    を有しており、
    前記プロセサがプロセサ速度及び容量に関する情報とプロセサに対して使用可能なメモリに関する情報とを包含しており、前記プロセサは前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であるか否かを決定するためにプログラム可能であり、且つ、更に、前記プロセサの容量及び速度が本デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上であることに応答して、前記動き補償エンジン及び前記加算回路をバイパスする第三コネクタが設けられている、
    ことを特徴とするコンピュータ。
  29. 請求項24,26,28の内のいずれか1項において、更にエンコーダを有していることを特徴とするコンピュータ。
  30. 請求項29において、前記エンコーダがIDCTモジュールを包含していることを特徴とするコンピュータ。
  31. 請求項29において、更に、動き補償エンジンを包含するエンコーダを有していることを特徴とするコンピュータ。
  32. 請求項24,26,28の内のいずれか1項において、前記デコーダがMPEG−2スタンダードに準拠してフォーマット化されたビットストリームをデコーディングすることが可能であることを特徴とするコンピュータ。
  33. 請求項24,26,28の内のいずれか1項において、前記ブロックデコーダが、更に、ブロックアレイモジュールを有しており、前記ブロックアレイモジュールが、
    前記デコーダモジュールの入力端へ結合している入力端を具備しており、前記ブロックデータ構造のDCT係数をデコードするVLCデコーダ、
    前記ブロックデータ構造の直列表示をアレイ表示へ変換するための逆ジグザグスキャナ、
    を有することを特徴とするコンピュータ。
  34. 請求項24,26,28の内のいずれか1項において、前記IDCTモジュールが、
    前記ブロックデータ構造の係数の逆量子化を実行する逆量子化器、
    前記ブロックデータ構造の係数に関して逆離散余弦変換を実行する逆離散余弦変換回路、
    を有することを特徴とするコンピュータ。
  35. 請求項24,26,28の内のいずれか1項において、前記動き補償エンジンが、
    圧縮フレームをデコードするために必要とされるフレームのメモリにおけるアドレス及び実行されるべき予測のタイプを決定するアドレス演算回路、
    前記必要とされるフレームにおけるサブユニットと圧縮フレームのサブユニットとが相関するか否かを決定する半pelフィルタ、
    を有することを特徴とするコンピュータ。
  36. メモリ及びプロセサへのアクセスを持っており、且つブロックデコーダ、動き補償エンジン、前記ブロックデコーダの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備している加算回路を持っているデコーダの動作方法において、
    前記ブロックデコーダ内の圧縮フレームをデコードし、
    動き補償予測エラーを包含するフレームを有する圧縮フレームに応答して、
    必要とされるデコードされたフレームを発生させるために圧縮フレームをデコードさせるために必要とされるフレームをデコードし、
    前記必要とされるデコードされたフレームを動き補償エンジンへ供給し、
    前記動き補償エンジンにおける予測フレームを決定し、
    前記ブロックデコーダの出力を前記動き補償エンジンの出力と加算してデコードされたフレームを得、
    前記プロセサの速度及び処理容量を決定し、
    前記プロセサの容量が少なくとも容量スレッシュホールドであり且つ前記プロセサの速度が少なくとも速度スレッシュホールドであることに応答して前記パーサをバイパスし、
    前記パーサをバイパスすることに応答して前記プロセサによって圧縮フレームの構文解析のステップを実行する、
    上記各ステップを有することを特徴とする方法。
  37. 請求項36において、前記ブロックデコーダにおける圧縮フレームをデコードするステップ及び必要とされるデコードされたフレームを発生するために圧縮フレームをデコードするのに必要なフレームをデコードするステップを同時的に実行することを特徴とする方法。
  38. 請求項36において、前記デコーダが、更に、エンコーダを有しており、更に前記エンコーダにおいて圧縮されていないフレームを圧縮するステップを有することを特徴とする方法。
  39. 請求項36において、更に、
    前記圧縮フレームを構文解析し、
    前記動き補償エンジンにおいて圧縮フレームをデコードするステップの前に実行するものであって動き補償情報を前記動き補償エンジンへ供給し、
    前記ブロックデコーダにおいて圧縮フレームをデコードするステップの前に実行するものであって、前記ブロックデータ構造を前記ブロックデコーダへ供給する、
    上記各ステップを有することを特徴とする方法。
  40. 請求項39において、前記圧縮フレームを構文解析するステップが、前記ブロックデコーダへ結合されている第一出力端と前記動き補償エンジンへ結合している第二出力端とを具備するパーサによって実行されることを特徴とする方法。
  41. メモリ及びプロセサへのアクセスを持っており、且つブロックデコーダ、動き補償エンジン、前記ブロックデコーダの出力端へ結合している第一入力端と前記動き補償エンジンの出力端へ結合している第二入力端とを具備している加算回路を持っているデコーダの動作方法において、
    前記ブロックデコーダ内の圧縮フレームをデコードし、
    動き補償予測エラーを包含するフレームを有する圧縮フレームに応答して、
    必要とされるデコードされたフレームを発生させるために圧縮フレームをデコードさせるために必要とされるフレームをデコードし、
    前記必要とされるデコードされたフレームを動き補償エンジンへ供給し、
    前記動き補償エンジンにおける予測フレームを決定し、
    前記ブロックデコーダの出力を前記動き補償エンジンの出力と加算してデコードされたフレームを得、
    前記プロセサの速度及び処理容量を決定し、
    前記プロセサが、前記デコーダが実時間で動作し且つ圧縮フレームに対して前記プロセサによってバイパスされたモジュールを実行するのに必要なものより上の容量及び速度を有することに応答して、前記ブロックデコーダの一部及び前記動き補償エンジンの一部をバイパスする、
    上記各ステップを有することを特徴とする方法。
  42. 請求項36又は41において、前記デコーダがMPEG−2スタンダードに準拠してフォーマット化されたビットストリームをデコーディングすることが可能であることを特徴とする方法。
JP33323597A 1996-12-03 1997-12-03 マルチスタンダード脱圧縮及び/又は圧縮装置 Expired - Lifetime JP4138056B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/758779 1996-12-03
US08/758,779 US5920353A (en) 1996-12-03 1996-12-03 Multi-standard decompression and/or compression device

Publications (2)

Publication Number Publication Date
JPH10248067A JPH10248067A (ja) 1998-09-14
JP4138056B2 true JP4138056B2 (ja) 2008-08-20

Family

ID=25053087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33323597A Expired - Lifetime JP4138056B2 (ja) 1996-12-03 1997-12-03 マルチスタンダード脱圧縮及び/又は圧縮装置

Country Status (5)

Country Link
US (1) US5920353A (ja)
EP (1) EP0847204A3 (ja)
JP (1) JP4138056B2 (ja)
KR (1) KR100574415B1 (ja)
TW (1) TW366666B (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US6108584A (en) * 1997-07-09 2000-08-22 Sony Corporation Multichannel digital audio decoding method and apparatus
US6426975B1 (en) * 1997-07-25 2002-07-30 Matsushita Electric Industrial Co., Ltd. Image processing method, image processing apparatus and data recording medium
US6594311B1 (en) * 1997-10-20 2003-07-15 Hitachi America, Ltd. Methods for reduced cost insertion of video subwindows into compressed video
JP3990011B2 (ja) * 1997-10-31 2007-10-10 沖電気工業株式会社 復号画像変換回路および復号画像変換装置
US6229852B1 (en) * 1998-10-26 2001-05-08 Sony Corporation Reduced-memory video decoder for compressed high-definition video data
US7844167B1 (en) * 1998-12-08 2010-11-30 Stmicroelectronics, Inc. System and apparatus for digital audio/video decoder splitting signal into component data streams for rendering at least two video signals
US20020114395A1 (en) * 1998-12-08 2002-08-22 Jefferson Eugene Owen System method and apparatus for a motion compensation instruction generator
US6414996B1 (en) * 1998-12-08 2002-07-02 Stmicroelectronics, Inc. System, method and apparatus for an instruction driven digital video processor
US6490324B1 (en) * 1998-12-08 2002-12-03 Stmicroelectronics, Inc. System, method and apparatus for a variable output video decoder
US6366544B1 (en) * 1999-02-09 2002-04-02 Advanced Communication Design, Inc. Universal CD player
US7194555B2 (en) * 2000-01-12 2007-03-20 Marco Scibora Compression and remote storage apparatus for data, music and video
US6850568B1 (en) * 2000-01-12 2005-02-01 Sony Corporation Method and apparatus for decoding mpeg video signals
US6459452B1 (en) * 2000-03-31 2002-10-01 Intel Corporation System, method, and apparatus for decoding digital video sequences
JP2001318745A (ja) * 2000-05-11 2001-11-16 Sony Corp データ処理装置およびデータ処理方法、並びに記録媒体
US6930689B1 (en) * 2000-12-26 2005-08-16 Texas Instruments Incorporated Hardware extensions for image and video processing
EP1231794A1 (en) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. A process for changing the resolution of MPEG bitstreams, a system and a computer program product therefor
EP1231793A1 (en) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. A process for changing the syntax, resolution and bitrate of MPEG bitstreams, a system and a computer program product therefor
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US8111754B1 (en) 2001-07-11 2012-02-07 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US20030112863A1 (en) 2001-07-12 2003-06-19 Demos Gary A. Method and system for improving compressed image chroma information
US20030167211A1 (en) * 2002-03-04 2003-09-04 Marco Scibora Method and apparatus for digitally marking media content
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
KR100556357B1 (ko) * 2002-12-04 2006-03-03 엘지전자 주식회사 디지털 비디오 포맷을 지원하는 엠펙 비디오 디코딩 시스템
US7660352B2 (en) * 2003-04-04 2010-02-09 Sony Corporation Apparatus and method of parallel processing an MPEG-4 data stream
US20050094730A1 (en) * 2003-10-20 2005-05-05 Chang Li F. Wireless device having a distinct hardware video accelerator to support video compression and decompression
US20050232355A1 (en) * 2004-04-15 2005-10-20 Srinivas Cheedela Video decoder for supporting both single and four motion vector macroblocks
EP1599049A3 (en) * 2004-05-21 2008-04-02 Broadcom Advanced Compression Group, LLC Multistandard video decoder
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
CN1870757B (zh) * 2004-05-21 2010-11-10 美国博通公司 多标准视频解码器
US8861602B2 (en) * 2004-06-22 2014-10-14 Broadcom Corporation Motion vector reconstruction in an entropy decoder
TWI271106B (en) * 2005-10-25 2007-01-11 Novatek Microelectronics Corp Apparatus and method for motion estimation supporting multiple video compression standards
US8249140B2 (en) * 2005-12-30 2012-08-21 Intel Corporation Direct macroblock mode techniques for high performance hardware motion compensation
US20070189621A1 (en) * 2006-02-15 2007-08-16 Aten International Co., Ltd Image transmission system
JP4825644B2 (ja) * 2006-11-14 2011-11-30 ルネサスエレクトロニクス株式会社 画像復号装置、画像符号化装置、およびシステムlsi
KR100840195B1 (ko) * 2006-11-28 2008-06-23 쎄텍 주식회사 표준 dvd 디스크 제작시 읽기 에러 생성 방법
US8711901B2 (en) * 2007-03-12 2014-04-29 Vixs Systems, Inc. Video processing system and device with encoding and decoding modes and method for use therewith
KR101305514B1 (ko) * 2007-04-17 2013-09-06 (주)휴맥스 비트스트림 디코딩 장치 및 방법
KR101305491B1 (ko) 2007-04-17 2013-09-17 (주)휴맥스 비트스트림 디코딩 장치 및 방법
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
KR101590633B1 (ko) 2008-11-11 2016-02-02 삼성전자주식회사 슬라이스 단위로 분할된 동영상을 처리하는 동영상 부호화/복호화장치 및 동영상 부호화/복호화방법
US8542737B2 (en) * 2010-03-21 2013-09-24 Human Monitoring Ltd. Intra video image compression and decompression
KR101596409B1 (ko) * 2011-03-15 2016-02-23 인텔 코포레이션 저 메모리 액세스 모션 벡터 유도
US9026568B2 (en) * 2012-03-30 2015-05-05 Altera Corporation Data compression for direct memory access transfers
US20140205012A1 (en) * 2013-01-21 2014-07-24 Mediatek Inc. Method and apparatus using software engine and hardware engine collaborated with each other to achieve hybrid video encoding
US10057590B2 (en) 2014-01-13 2018-08-21 Mediatek Inc. Method and apparatus using software engine and hardware engine collaborated with each other to achieve hybrid video encoding
US10020819B1 (en) 2017-09-28 2018-07-10 Amazon Technologies, Inc. Speculative data decompression

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2382049A1 (fr) * 1977-02-23 1978-09-22 Thomson Csf Processeur pour terminal informatique utilisant un recepteur de television
KR920006283B1 (ko) * 1988-02-19 1992-08-03 미쯔비시덴끼 가부시끼가이샤 디지탈신호 처리방식
FR2666189B1 (fr) * 1990-08-22 1992-12-04 Sgs Thomson Microelectronics Systeme de reglage des filtres de traitement du signal video composite dans un appareil secam multistandard.
US5212742A (en) * 1991-05-24 1993-05-18 Apple Computer, Inc. Method and apparatus for encoding/decoding image data
US5706290A (en) * 1994-12-15 1998-01-06 Shaw; Venson Method and apparatus including system architecture for multimedia communication
FR2696068B1 (fr) * 1992-09-18 1994-12-30 Sgs Thomson Microelectronics Circuit d'identification de standard télévisé.
DE69329332T2 (de) * 1993-05-26 2001-02-22 Stmicroelectronics S.R.L., Agrate Brianza Fernsehbilderdekodierarchitektur zur Ausführung eines 40 ms-Prozessalgorithmus in HDTV
US5608459A (en) * 1993-08-13 1997-03-04 Texas Instruments Incorporated Video data decoder having motion compensation and image memory circuitry on single substrate
TW377935U (en) * 1994-08-10 1999-12-21 Gen Instrument Corp Dram mapping for a digital video decompression processor
US5838380A (en) * 1994-09-30 1998-11-17 Cirrus Logic, Inc. Memory controller for decoding a compressed/encoded video data frame
US5566089A (en) * 1994-10-26 1996-10-15 General Instrument Corporation Of Delaware Syntax parser for a video decompression processor
AU5734496A (en) * 1995-05-10 1996-11-29 Cagent Technologies, Inc. Multiple sequence mpeg decoder and process for controlling ame
US5774206A (en) * 1995-05-10 1998-06-30 Cagent Technologies, Inc. Process for controlling an MPEG decoder
US5818967A (en) * 1995-06-12 1998-10-06 S3, Incorporated Video decoder engine

Also Published As

Publication number Publication date
EP0847204A3 (en) 2000-03-01
EP0847204A2 (en) 1998-06-10
US5920353A (en) 1999-07-06
KR19980063746A (ko) 1998-10-07
JPH10248067A (ja) 1998-09-14
KR100574415B1 (ko) 2006-12-07
TW366666B (en) 1999-08-11

Similar Documents

Publication Publication Date Title
JP4138056B2 (ja) マルチスタンダード脱圧縮及び/又は圧縮装置
US6668019B1 (en) Reducing the memory required for decompression by storing compressed information using DCT based techniques
US11758184B2 (en) Line-based compression for digital image data
US5768537A (en) Scalable MPEG2 compliant video encoder
JP3529624B2 (ja) ピクチャの符号化方法および符号化装置
EP0585051B1 (en) Image processing method and apparatus
JPH104550A (ja) Mpeg−2復号方法及びmpeg−2ビデオ復号器
US20080123748A1 (en) Compression circuitry for generating an encoded bitstream from a plurality of video frames
JP2000050263A (ja) 画像符号化並びに復号化装置及びこれを用いた撮像装置
US7454124B2 (en) Video reproducing apparatus and reproducing method
US7092446B2 (en) Compression-encoded data decoding apparatus
US20030147468A1 (en) Image data coding apparatus capable of promptly transmitting image data to external memory
EP0858206A1 (en) Method for memory requirement reduction in a video decoder
JP2002112262A (ja) 画像符号化装置
JP3141149B2 (ja) 画像符号化装置
JPH07336681A (ja) 画像変換装置
AU2003200519B2 (en) Method for Converting Digital Signal and Apparatus for Converting Digital Signal
Zhang A high-performance, low power and memory-efficient VLD for MPEG applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071204

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080402

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080605

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term