JP2000115773A - 可変速度mpeg―2ビデオシンタックスプロセッサ - Google Patents

可変速度mpeg―2ビデオシンタックスプロセッサ

Info

Publication number
JP2000115773A
JP2000115773A JP11290339A JP29033999A JP2000115773A JP 2000115773 A JP2000115773 A JP 2000115773A JP 11290339 A JP11290339 A JP 11290339A JP 29033999 A JP29033999 A JP 29033999A JP 2000115773 A JP2000115773 A JP 2000115773A
Authority
JP
Japan
Prior art keywords
state
processing
macroblock
time
record
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.)
Granted
Application number
JP11290339A
Other languages
English (en)
Other versions
JP3797830B2 (ja
Inventor
Robert T Ryan
ティー.ライアン ロバート
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of JP2000115773A publication Critical patent/JP2000115773A/ja
Application granted granted Critical
Publication of JP3797830B2 publication Critical patent/JP3797830B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

(57)【要約】 【課題】MPEG−2ビデオデコーダは、MPEG−2
符号化画像データを復号し、スライスおよびマクロブロ
ック層に対するMPEG−2シンタックスを解析する。 【解決手段】 MPEG−2映像信号デコーダは、状態
マシンとして実現されるシンタックスパーサを有してい
る。状態マシンは、MPEG−2ビットストリームを復
号化するために別個のパース動作が行われる、複数の状
態を規定する。状態マシンの各状態について異なる処理
時間が確立される。状態の各処理時間の終わりよりも前
に特定の状態のための処理が完了しても、その時間区間
の終わりまではその状態から次の状態への遷移は起こら
ない。各状態のための処理時間は、状態マシンに結合さ
れたマイクロプロセッサによって設定される。各状態の
ための処理時間は、イメージの内容に基づいて、あるい
は状態マシンを実現するために用いられた回路中の変化
に対応するために、変化され得る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、Moving P
ictures Experts Group(MPE
G)によって仕様が定められるMPEG−2形式に従っ
て圧縮された画像データを処理するためのデコーダに関
し、より詳細には、MPEG−2ビットストリームの各
セグメントの復号に対して、異なる時間間隔が割り当て
られ得るデコーダに関する。
【0002】
【従来の技術】MPEG−2規格のもとで実施されるビ
デオ信号圧縮は、本質的に可変速度である。ビデオデー
タは、画像シーケンスの空間周波数コンテンツに基づく
か、またはシーケンス内の個々の画像のうちの空間周波
数コンテンツの違いに基づいて圧縮される。
【0003】MPEG−2ビデオ符号化規格の教示とし
て参照することにより本願に援用するMPEG−2規格
のシンタックスは、”Generic Coding
ofMoving Pictures and Ass
ociated AudioInformation:
Video”と題され、ISO/IEC、Genev
a、Switzerlandから入手できるInter
nationalStandard 13818−2
Recommendation ITU−TH.262
に説明されている。この規格は、オーディオおよびビデ
オデータ両方を伝達するために用いられるデータレコー
ドのいくつかの層を定義する。簡略化の目的で、本明細
書ではオーディオデータの復号は説明しない。特定のビ
デオシーケンスを説明する符号化データは、複数の入れ
子状の層、即ちシーケンス層、映像グループ層、映像
層、スライス層、およびマクロブロック層で表現され
る。マクロブロックレコードを除く各層は、その層を識
別する開始コードで始まる。このレコードは、ヘッダー
データおよびペイロード(pay load)データを
含む。
【0004】シーケンス層は、比較的大きな数の連続画
像の復号に影響を及ぼす映像サイズおよびアスペクトレ
シオなどのパラメータを定義する。映像グループ層は、
より小さい数の画像に対するパラメータを定義し、映像
層は、単一画像に対するパラメータを定義する。一つの
画像の中では、スライスレコードが、複数のマクロブロ
ックから成る画像の水平セグメントに対するパラメータ
を定義する。
【0005】
【発明が解決しようとする課題】従って、実際の画像デ
ータは、マクロブロック層の中にある。典型的なMPE
G−2ビットストリームでは、映像、映像グループおよ
びシーケンスレコードより多いマクロブロックおよびス
ライスレコードがある。従って、シーケンスレコード、
映像グループレコード、および映像レコードに対するヘ
ッダーは、従来のマイクロプロセッサ上で動作するソフ
トウェアに適用されたアルゴリズムを用いて復号され得
る。しかし、スライスレコードおよびマクロブロックレ
コードは、ビットストリーム中でより頻繁に発生し、典
型的には専用目的のハードウェアを用いて復号される。
【0006】典型的なデコーダでは、スライス及びマク
ロブロックレコードのヘッダーを復号するのに用いられ
る回路は、マクロブロックレコードのペイロードを復号
するのに用いられる回路によって束縛される。マクロブ
ロック復号処理において任意の変更を行った場合、典型
的には、スライスおよびマクロブロックヘッダーを処理
する回路に対しても、対応する変更が行われる。例え
ば、既存のマクロブロックデコーダが、より小さなジオ
メトリ(例えば、1ミクロン処理から半ミクロン処理で
トランスレイトされる)を有する半導体処理技術を用い
て適用された場合、完全なビットストリームが適切に処
理されるように、スライスおよびマクロブロックヘッダ
ーを復号するハードウェアを再設計する必要があり得
る。
【0007】
【課題を解決するための手段】本発明による装置は、各
々がヘッダ情報およびペイロードデータを有する多数の
レコードタイプを定義する、所定のプロトコルに適合す
るデジタル符号化信号を処理するための装置であって、
該多数のレコードタイプのうち少なくとも選択されたレ
コードタイプ中の該ヘッダ情報をパースする状態マシン
であって、該状態マシンは別個のパース動作を行う状態
を定義し、状態間の遷移は該デジタル符号化信号をパー
スすることによって決定される、状態マシンと、複数の
該状態タイプについて、第1の状態および第2の状態の
ための各状態時間を含む各処理時間を定義するための手
段と、該第1の状態によって表される処理ステップを行
うための処理手段と、該第1の状態のための該各定義さ
れた処理時間が過ぎて該第2の状態に遷移するまで待つ
ための遅延手段と、を有し、それにより上記目的が達成
される。
【0008】本発明による装置は、前記状態タイプの各
々のための前記各処理時間を適応的に指定するための手
段をさらに有し、各状態の該処理時間は前記レコードの
前記ペイロードデータに応じて変化してもよい。
【0009】本発明による装置は、前記状態タイプの各
々のための前記各処理時間を適応的に指定するための手
段をさらに有し、各状態の該処理時間は、前記状態マシ
ンに結合された他の処理要素中の変化に応じて変化して
もよい。
【0010】本発明による装置は、スライスレベルレコ
ードを有し、各スライスレベルレコードはヘッダ情報お
よび複数のマクロブロックレベルレコードを有し、各マ
クロブロックレベルレコードはヘッダ情報および周波数
領域係数値の複数のブロックを有しているMPEG−2
符号化信号を処理するための装置であって、該装置は、
該スライスレベルレコード中の該ヘッダ情報をパースす
る第1の状態および、該マクロブロックレベルレコード
中のヘッダ情報をパースする第2の状態を有することに
より、該MPEG−2符号化信号から該周波数領域係数
値の複数のブロックを抽出する状態マシンであって、該
第1および第2の状態のための各処理時間を定義する手
段と、該第1の状態によって表される処理ステップを行
うための処理手段と、該第1の状態のための該各定義さ
れた処理時間が過ぎて該第2の状態に遷移するまで待つ
ための遅延手段と、該第2の状態によって表される処理
ステップを該複数のマクロブロック中の該ヘッダ情報に
対して行うことにより、該複数のマクロブロックから該
周波数領域係数値のブロックを抽出する処理手段と、を
有する状態マシンと、該抽出された周波数領域係数値の
ブロックを、空間領域画素値に変換するためのマクロブ
ロック復号化手段と、を有し、それにより上記目的が達
成される。
【0011】本発明における装置は、前記複数のマクロ
ブロックは予測的に符号化されたマクロブロックおよび
双方向的に予測的に符号化されたマクロブロックを含
み、該予測的に符号化されたマクロブロックのマクロブ
ロックヘッダは単一の動きベクトルを有し、該双方向的
に予測的に符号化されたマクロブロックは複数の動きベ
クトルを有し、該装置はさらに、前記第1および第2の
状態の各々のための前記各処理時間を適応的に指定する
ための手段をさらに有し、該第2の状態の該処理時間は
予測的に符号化されたマクロブロックおよび双方向的に
予測的に符号化されたマクロブロックの処理に応じて変
化してもよい。
【0012】本発明における装置は、前記MPEG−2
データ信号の単一のイメージの復号化のために所定の時
間量が割り当てられ、前記第1および第2の状態の各々
のための前記各処理時間を適応的に指定するための前記
手段は、該所定の時間量の各第1および第2の部分を該
第1および第2の状態のための該各処理時間として指定
してもよい。
【0013】本発明による装置は、前記状態タイプの各
々のための前記各処理時間を適応的に指定するための手
段をさらに有しており、各状態の該処理時間は前記マク
ロブロック復号化手段中の変化に応じて変化してもよ
い。
【0014】本発明による方法は、各々がヘッダ情報お
よびペイロードデータを有する多数のレコードタイプを
定義する、所定のプロトコルに適合するデジタル符号化
信号を処理するための方法であって、状態マシンの各状
態において別個のパース動作を行い、該デジタル符号化
信号がパースされる際に状態間を遷移することにより、
該多数のレコードタイプのうち少なくとも選択されたレ
コードタイプ中の該ヘッダ情報をパースする工程と、複
数の該状態について、該状態のうち第1の状態および該
状態のうち第2の状態のための各状態時間を含む各処理
時間を定義する工程と、該第1の状態によって表される
処理ステップを行うための工程と、該第1の状態のため
の該各定義された処理時間が過ぎて該第2の状態に遷移
するまで待つ工程と、を有し、それにより上記目的が達
成される。
【0015】本発明による方法は、前記状態タイプの各
々のための前記各処理時間を適応的に指定する工程をさ
らに有し、各状態の該処理時間は前記レコードの前記ペ
イロードデータに応じて変化してもよい。
【0016】本発明による方法は、前記状態タイプの各
々のための前記各処理時間を適応的に指定する工程をさ
らに有し、各状態の該処理時間は、前記状態マシンの外
部のレコードに対して行われる処理中の変化に応じて変
化してもよい。
【0017】本発明による方法は、スライスレベルレコ
ードを有し、各スライスレベルレコードはヘッダ情報お
よび複数のマクロブロックレベルレコードを有し、各マ
クロブロックレベルレコードはヘッダ情報および周波数
領域係数値の複数のブロックを有しているMPEG−2
符号化信号を処理するための方法であって、該方法は、
第1の状態において該スライスレベルレコードの該ヘッ
ダ情報をパースし、第2の状態において該マクロブロッ
クレベルレコードのヘッダ情報をパースすることによ
り、該MPEG−2符号化信号から該周波数領域係数値
の複数のブロックを抽出する工程であって、該第1およ
び第2の状態のための各処理時間を定義する工程と、該
第1の状態において該スライスヘッダ情報を処理する工
程と、該第1の状態のための該各定義された処理時間が
過ぎて該第2の状態に遷移するまで待つ工程と、該第2
の状態において該マクロブロックヘッダ情報を処理する
ことにより、該複数のマクロブロックから該周波数領域
係数値のブロックを抽出する工程と、該抽出された周波
数領域係数値のブロックを、空間領域画素値に変換する
工程と、を有し、それにより上記目的が達成される。
【0018】本発明による方法は、前記複数のマクロブ
ロックは予測的に符号化されたマクロブロックおよび双
方向的に予測的に符号化されたマクロブロックを含み、
該予測的に符号化されたマクロブロックのマクロブロッ
クヘッダは単一の動きベクトルを有し、該双方向的に予
測的に符号化されたマクロブロックは複数の動きベクト
ルを有し、該方法はさらに、前記第1および第2の状態
の各々のための前記各処理時間を適応的に指定する工程
をさらに有し、該第2の状態の該処理時間は予測的に符
号化されたマクロブロックおよび双方向的に予測的に符
号化されたマクロブロックの処理に応じて変化してもよ
い。
【0019】本発明による方法は、前記MPEG−2デ
ータ信号の単一のイメージの復号化のために所定の時間
量が割り当てられ、前記第1および第2の状態の各々の
ための前記各処理時間を適応的に指定する前記工程は、
該所定の時間量の各第1および第2の部分を該第1およ
び第2の状態のための該各処理時間として指定してもよ
い。
【0020】本発明による方法は、前記状態タイプの各
々のための前記各処理時間を適応的に指定する工程をさ
らに有しており、各状態の該処理時間は前記マクロブロ
ック復号化手段中の変化に応じて変化してもよい。
【0021】本発明は、デジタル符号化された信号を復
号する装置において実現される。装置は、符号化信号の
ヘッダー情報を解析する状態マシンを含む。状態マシン
は、個別の解析処理に対応する状態を定義する。状態マ
シン内の各状態は、その状態に対して定義された処理時
間を含む。ある状態から次の状態への移行は、その状態
によって実行される実際の処理動作が完成したかどうか
に拘わらず、所定の時間が終了するまで適用されない。
キャッシュ(cach)状態に対する処理時間は、状態
マシンに結合されたマイクロプロセッサによって設定さ
れる。これらの処理時間は、画像コンテンツに基づいて
変更されてもよく、または状態マシンを適用するのに使
用する回路での変更を適応させるために変更されてもよ
い。また、状態変化に対する処理時間は、状態マシンに
結合された他の処理要素での変更を適応させるために調
節されてもよい。
【0022】本発明の局面の一つでは、状態マシンはM
PEG−2符号化画像データを復号し、スライスおよび
マクロブロック層に対するMPEG−2シンタックスを
解析する。
【0023】本発明のさらに別の局面では、所定の数の
復号サイクルが、画像を復号するために定義され、マイ
クロプロセッサが割り当てられた処理時間を調節し、所
定の数の復号サイクルに入る画像に対する総処理時間を
一致させる。
【0024】
【発明の実施の形態】以下、本発明を、MPEG−2デ
ータストリーム用のシンタックスパーサに関連して説明
するが、本発明は、信号処理動作全体の中の一部とし
て、プロトコルのシンタックスをパーシングすることが
望まれるようなデジタルデータプロトコルについて広範
に実施可能である。以下の記載内容におけるMPEG−
2シンタックスは、デジタル信号用プロトコルの一例に
過ぎない。
【0025】図1は、本発明の実施形態によるデコーダ
システムの一例を示すブロック図である。このシステム
は、デコードプロセッサ110、高帯域幅メモリ120
および制御マイクロプロセッサ130の3つの構成要素
を有する。本実施形態において用いられている高帯域幅
メモリ120は、NECおよび東芝から入手可能なRA
MBUSメモリシステムである。
【0026】以下、図1に示すデコーダの動作を簡単に
説明する。第1のステップとして、デコード集積回路
(IC)110を、マイクロプロセッサ130によって
特定のコンフィギュレーションに初期化する。このデコ
ーダを、例えば、525P信号をデコードするために使
用する場合、マイクロプロセッサインターフェース11
2を介してデコードプロセッサ110の内部回路に適切
な制御値が付与される。便宜上、マイクロプロセッサ1
30とIC110内の各部材との間の制御バスは省略し
ている。このバスは、例えば、従来のI2Cバスであり
得る。
【0027】IC110を初期化した後、入力ビットス
トリームをパーサ116に付与する。図2を参照して後
述するパーサは、ビットストリームをメモリ120に格
納するものである。さらに、パーサは、シーケンス層、
グループオブピクチャ層およびピクチャ層の開始コード
を特定し、これらの開始コードが格納されているメモリ
位置をマイクロプロセッサ130に知らせる。図1に示
すデコーダ例の場合、マイクロプロセッサが、これらの
層のヘッダ情報をデコードする。
【0028】DRAM制御およびアドレス生成器126
は、ビットストリームデータをメモリ120に格納する
ようにRACインターフェース170を制御する。本実
施形態において、メモリ120の一部は、入力ビットス
トリームを保持するバッファとして使用できるように予
約されている。このバッファ領域は、MPEG−2規格
に記載されているVBVバッファに相当する。
【0029】ビットストリームデータは、メモリ120
のVBVバッファ領域に書き込まれた後、やはりDRA
M制御およびアドレス生成回路126の制御下で、メモ
リ120から読み出されてバッファメモリ121に格納
される。メモリ121は、メモリ120からバーストで
書き込まれ、可変長デコーダ(VLD)118によって
空にされる(emptied)FIFOメモリである。
この動作は、ビットストリームのシンタックスによって
決まる。
【0030】VLD118は、ビットストリームのスラ
イス層およびマクロブロック層をパーシングし、これに
より、複数ブロックの量子化された離散コサイン変換係
数値を生成する。これらのブロック単位の値は、FIF
Oメモリ128に付与される。このFIFOメモリ12
8は、VLD118およびマクロブロックデコード回路
132間のデータをバッファリングする。このメモリ
は、MPEG−2規格で定められた逆スキャン機能をも
果たし得る。回路132は、逆量子化器134を有す
る。逆量子化器134は、量子化された係数値を統一フ
ォーマットに変換し、逆離散コサイン変換(IDCT)
プロセッサは、周波数ドメイン係数を空間ドメインピク
セル値または差分ピクセル値に変換する。逆量子化器1
34およびIDCTプロセッサ142は、これらの処理
を行うための補助として、それぞれ、メモリ136およ
び144を有する。回路132からの出力データは、ブ
ロック単位のピクセル値または差分ピクセル値である。
【0031】このブロック単位の値がピクセル値である
場合、これらのピクセル値は、動き補償プロセッサ16
1によって以前にデコードされた画像フレームの値と組
み合わされる。動き補償プロセッサ161は、加算およ
びクリッピング回路158および160を有する。次
に、これらの回路は、ハーフピクセルおよび補間回路1
66によって提供される以前にデコードされたフレーム
から画像データを得る。補間回路166は、バッファメ
モリ168を用いて、以前にデコードされたフレームか
ら画像絵素(ピクセル)を得る。これらのメモリのデー
タ値は、DRAM制御およびアドレス生成回路126に
よってメモリ120から提供される。
【0032】動き補償プロセッサ161によって生成さ
れたデコード済み画像は、バッファメモリ162および
164に格納される。バッファメモリ162および16
4からのデコード済み画像データはメモリ120に格納
され、その後、表示されるか、あるいは、後に受信する
画像フィールドまたはフレームからの動き補償符号化さ
れたデータをデコードする際に参照フレームデータとし
て使用される。表示されるデータは、メモリ120にブ
ロックフォーマットで格納され、ラスタスキャンフォー
マットでメモリ174に転送され、そして、ディスプレ
イプロセッサ175の制御下でディスプレイデバイス
(図示せず)に与えられる。
【0033】オンスクリーンディスプレイ(on−sc
reen display)(OSD)プロセッサ17
1も、DRAM制御およびアドレス生成回路126およ
びRACインターフェース170を介してメモリ120
に対してデータを送受信できるように接続されている。
本実施形態の場合、OSDプロセッサ171は、ユーザ
メニューおよびクロースキャプションテキスト(clo
se−captiontext)を表示画像に重ねて表
示する。
【0034】上記のように、VLDプロセッサ118
は、ビットストリーム中のスライスおよびマクロブロッ
ク情報をデコードし、デコードおよび量子化された係数
値をマクロブロックデコード回路132に送る。回路1
32が行う処理は、個別のブロックのピクセル値に対す
る逆離散コサイン変換の演算を含む。毎秒30フレーム
のフレームレートを有する高精細度画像の場合、この処
理を可能な限り高速に行うことが望ましい。なぜなら、
1つの高精細度ビデオ画像フレームには多数のブロック
が含まれているからである。もし、規格精細度の画像
(即ち、MP@ML)のみをデコードするのであれば、
この処理はそれ程決定的にはならない。従って、処理し
ようとする画像の種類に応じて、非常に高速な処理技術
(例えば、0.2ミクロン)を用いて、あるいは、比較
的低速な処理技術(即ち、1ミクロン)を用いてマクロ
ブロックデコーダを構成することが望ましい。
【0035】マクロブロックデコーダの構成に用いる処
理技術を変更すると、マクロブロックの処理速度が変化
し、ひいては、システム全体の同期化に影響を与える。
VLDプロセッサ118をマクロブロックデコーダ13
2と同じ技術を用いて構成した場合、これらの2つのデ
コーダによって行われる処理ステップの釣り合いがとれ
ないかもしれない。従って、所与のマクロブロックデコ
ーダ処理構成について、VLDプロセッサ118を完全
に設計し直すほうが望ましい場合がある。
【0036】あるいは、本発明において、ある状態から
別の状態への遷移にかかる時間をプログラムできる状態
マシンとしてVLDプロセッサ118を設計してもよ
い。このように、処理技術の変更によって、VLDが、
マクロブロックデコーダ132が対応できる速度よりも
高速にビットストリームを処理するようになったとして
も、VLDを再プログラムして選択された状態遷移にか
かる時間を長くすることにより、VLDの処理をマクロ
ブロックの処理に同期させることができる。
【0037】図2は、本発明による可変長デコーダ11
8のブロック図である。図2に示すように、圧縮された
MPEG−2ビデオデータストリームが、シフトマルチ
プレクサ210によってメモリ121から受信される。
シフトマルチプレクサ210は、48ビット分のビット
ストリームを、可変速度パーサ212、VLCルックア
ップテーブル214およびマクロブロックパラメータデ
コーダ220に付与する。VLCルックアップテーブル
214は、マクロブロックヘッダから取り出した複数の
値を保持する。パーサ212は、これらの値を用いて、
可変長符号化されたDCT係数値を固定長係数値に変換
する。変換された固定長係数値は、MPEG−2可変速
度パーサ212に付与される。VLCルックアップテー
ブルによって保持される値には、マクロブロックアドレ
シング値、マクロブロックタイプ、マクロブロックパタ
ーンおよびマクロブロック動きベクトルが含まれる。様
々なレベルのレコードについてヘッダ情報は可変長符号
化されていないので、可変速度パーサ212によってこ
の情報を直接ビットストリームから抽出することができ
る。デコーダ212は、パーシングレートルックアップ
テーブル216にも接続される。図3〜図22を参照し
て後述するように、パーシングレートルックアップテー
ブル216は、MPEG−2シンタックス全体で規定さ
れている1組のシンタックス項目(syntactic
al items)のそれぞれについて、パーシング時
間を規定する。図3を参照して後述するように、これら
のシンタックス項目のそれぞれは、パーサ212の状態
マシン構成の各状態によってパーシングされる。パーシ
ングレートルックアップテーブル216はマイクロプロ
セッサ130によってロードされ、その値は、可変速度
パーサ212によって読み出される。
【0038】上記のように、VLD18は、MPEG−
2シンタックスのスライス層およびマクロブロック層し
かパーシングしない。このシンタックスのシーケンス
層、グループオブピクチャ層およびピクチャ層は、マイ
クロプロセッサ130によってパーシングされる。スラ
イスおよびマクロブロックレコードのデコードに関する
パラメータ値は、ピクチャデコードパラメータブロック
218を介してマイクロプロセッサ130によって提供
される。
【0039】可変速度パーサ212は、複数のマクロブ
ロックを、個別ブロック単位のDCT係数値にデコード
する。マクロブロック層からデコードされる上記係数値
および他のヘッダ項目は、マクロブロックパラメータデ
コーダ220に提供される。このデコーダ220は、D
CT係数および動きベクトルをマクロブロックデコード
回路132に提供する。制御回路222は、可変速度パ
ーサ212に接続されており、デコーダ132が信号R
EADYをアサートしたときに複数ブロックのDCT係
数をマクロブロックデコーダ132に提供する。
【0040】図3は、図1に示すVLDプロセッサ11
8の状態マシン構成の状態図である。この状態マシン
は、スライスおよびマクロブロックレコードのデコード
処理を15の状態に分割する。これらの各状態の定義
は、後に図4〜図19を参照して詳細に示す。
【0041】これら15個の状態には、サーチ0 31
0、サーチ1 312、サーチ2314および開始コー
ド316の4つの状態が含まれている。これらの状態
は、ビットストリーム中の開始コード、具体的にはスラ
イス開始コードの位置を特定する。スライス開始コード
が特定されると、状態マシンはスライス状態318に遷
移する。
【0042】状態マシンは、スライス状態318から、
Xスライス情報状態320およびマクロブロックアドレ
ス状態322に遷移する。状態322では、ビットスト
リームのマクロブロックヘッダ部分のデコードを開始す
る。ステップ322において、マクロブロックアドレス
が算出された後、状態マシンは、状態324に遷移し
て、ビットストリーム中に含まれるマクロブロックヘッ
ダ情報からマクロブロックタイプを決定する。ステップ
324においてマクロブロックタイプが決定されると、
状態マシンは状態326に遷移して、マクロブロック量
子化情報を取り出すとともに、状態328を通して、同
マクロブロックについて存在するあらゆる動きベクトル
を取り出す。状態326において、マクロブロックが符
号化されたマクロブロックであると判断した場合、制御
は状態330に遷移してこの符号化されたマクロブロッ
クを処理する。マクロブロックが符号化されたマクロブ
ロックであると判断されなかった場合、状態326およ
び状態330を経て、制御は状態332に遷移し、そし
て、マクロブロックデコーダ132が次のブロックの係
数値を受け入れるための準備状態になるまで待機する。
【0043】マクロブロックは2つの方法でスキップさ
れ得る。第1に、MPEG−2シンタックスにおいて、
いくつかのマクロブロックを、MPEG−2シンタック
スにおいてスキップされたマクロブロックとしてマーク
しておく方法がある。これらのマクロブロックレコード
には、ヘッダ情報はあるが、係数値はない。マクロブロ
ックをスキップするもう1つの方法は、以下の通りであ
る。マクロブロックデコーダがビットストリーム中にお
いてエラーに出くわして、そのスライス中の残りのブロ
ックをスキップしようとするとき、いずれの場合にも、
スキップ状態334が待機状態332を満足するという
ものである。待機状態が満足され、マクロブロックデコ
ーダ132が次のブロックの係数値を受け入れると、状
態マシンは、状態336に遷移して、これらの係数値を
マクロブロックデコーダ132に提供する。これらの値
を提供した後、状態マシンは、状態338に遷移して、
同スライス中にまだ他のマクロブロックが存在するかど
うかを判定する(その場合、状態マシンは状態322に
遷移する)か、あるいは、新たなスライスが処理される
のかどうか(その場合、状態マシンは状態310に遷移
する)を判定する。
【0044】上記のように、マイクロプロセッサは、完
了時間(completion time)を割り当て
る。完了時間とは、ある状態に入ってから、状態図にお
いて次に何らかの状態遷移が生じるまでの時間である。
本構成の場合、ある状態において行われる全ての処理
は、この時間間隔の間に行われる。実際の状態遷移は、
この時間間隔によって示される回数だけシステムクロッ
ク周期が経過してからでないと起こらない。本構成によ
れば、VLDプロセッサを、各シンタックス項目につい
て最悪ケースシンタックス処理(worst case
syntaxprocessing)を行うように設
計するのではなく、より短いあるいはより長い項目シン
タックスを処理できるように適応的に変更することが可
能になる。
【0045】例えば、MPEG規格に従って、マクロブ
ロックは、デュアルプライムマクロブロックとして定義
され得る。その場合、このマクロブロックは、4つの動
きベクトルを含み得る。これに対して、フレーム内符号
化されたマクロブロックには、動きベクトルが全くな
い。状態マシンが、フレーム内符号化されたマクロブロ
ックをデコードしているとき、そのベクトル状態には短
い処理時間あるいは0の処理時間が割り当てられ得る。
しかし、システムがデュアルプライムマクロブロックを
デコードしているときには、余分な動きベクトルを正し
くデコードするために、そのベクトル状態に通常状態処
理時間の2倍の処理時間が割り当てられ得る。
【0046】図4は、状態サーチ0 310における状
態マシンの動作を示すフローチャートである。この処理
における第1のステップはステップ412である。ステ
ップ412において、可変速度パーサ212は、前の状
態の処理時間が経過し終わるまで待機し、そして、状態
サーチ0のパーシングレートルックアップテーブル21
6にアクセスする。テーブル216から返される値は、
状態マシンが状態サーチ0から他の状態に遷移できるよ
うになるまでに経過するシステムクロックパルス数を規
定する値である。サーチ0処理における第1のステップ
はステップ414である。ステップ414においては、
入力ビットストリームを分析することにより、ビットス
トリーム中の次のバイトがスライス開始コード値を表す
ものであるかどうかを判定する。本願において対象とな
る開始コード値は、画像フレームにおけるスライスの垂
直位置に応じて0x01〜0xAFまでの値をとり得る
スライス開始コードである。
【0047】ステップ414においてスライス開始コー
ド値が見つかった場合、状態マシンは、次に、図8を参
照して後述するスライス状態318に遷移する。ステッ
プ414においてスライス開始コード値が見つからなか
った場合、サーチ0処理における次のステップ(ステッ
プ416)において、ビットストリーム中の次のバイト
が開始コードプレフィックスに対応しているかどうかを
判定する。MPEG−2規格の定義によれば、開始コー
ドプレフィックスとは、23個の「0」ビットに1つの
「1」ビットが付いたストリングである。ビットストリ
ーム中において開始コードが見つかったかどうかを判定
するために、状態マシンは、パーサによって別々にパー
シングされる「0」の集まりの全てについて、その
「0」の個数を計数する。従って、ビットストリーム中
において開始コードプレフィックスが見つかったかどう
かを判定する際に、ステップ416では、次のバイトの
値が「1」であり且つこの1つの「1」バイトの直前に
少なくとも2つの「0」バイトが計数されていたかどう
かを判定する。これらの条件を満足すると、ステップ4
16において開始コードプレフィックスが見つかったと
判定され、状態マシンは、次に、開始コード状態316
に遷移する。見つからなかった場合、制御はステップ4
18に進む。
【0048】ステップ418において、サーチ0処理
は、ビットストリーム中の以降のバイトが複数の「0」
バイトであるかどうかを判定する。そうであった場合、
これらの「0」バイトをビットストリームから除去し、
現在の「0」バイトカウント値を、サーチ0状態のロー
カル変数(図示せず)に格納し、サーチ2状態314を
状態マシンの次の状態としてマークする。そうでなかっ
た場合、ステップ320を実行する。ステップ320で
は、ビットストリーム中の次のバイトが0であるかどう
かを判定する。そうであった場合、この「0」バイトを
ビットストリームから除去し、現在の「0」カウント値
を1つだけインクリメントし、状態マシンの次の状態を
状態サーチ1とする。ビットストリーム中に1つも
「0」バイトが含まれていない場合、ビットストリーム
中の次のバイトは非「0」でなければならない。従っ
て、このバイトをビットストリームから除去し、制御は
ステップ412に進む。これは、実質的に、状態サーチ
0から状態サーチ0に戻る遷移である。ステップ412
において、サーチ0状態310は、既に状態サーチ0に
割り当てられた時間が経過するまで待機し、そして、状
態サーチ0に新たに割り当てられた時間をフェッチす
る。
【0049】図5は、状態サーチ1のフローチャートで
ある。サーチ1状態312の処理は、ステップ510か
ら開始される。ステップ510は、前の状態に割り当て
られた時間が経過するまで待機し、そして、パーシング
レートルックアップテーブル216(図2に図示)から
状態サーチ1の新しい割り当て時間をフェッチする。状
態サーチ1の割り当て時間をフェッチした後、ステップ
512を実行して、ビットストリーム中の次のバイトが
スタート開始コード値に対応するかどうかを判定する。
そうであった場合、制御は、スライス状態318に遷移
する。ステップ512においてスライス開始コードが見
つからなかった場合、ステップ514を実行して、ビッ
トストリーム中の次のバイトがスライス開始コードプレ
フィックスに対応するかどうかを判定する。ステップ5
14においてプレフィックスが見つかった場合、状態マ
シンは開始コード状態316に遷移する。ステップ51
4において開始コードプレフィックスが見つからなかっ
た場合、ステップ516において、ビットストリーム中
の次の1バイトまたは次の複数バイトの値が「0」であ
るかどうかを判定する。そうであった場合、状態マシン
は次にサーチ2状態314に遷移する。逆にビットスト
リーム中の次のバイトが「0」でなかった場合、状態マ
シンは次にサーチ0状態310に遷移する。
【0050】図6は、サーチ2状態314で行われる処
理を示すフローチャートである。この状態は、MPEG
ビットストリーム内のある開始コードの前に挿入される
ゼロ値スタフィングビットを処理する。サーチ2状態3
14は、ステップ610で開始される。ステップ610
においては、状態マシンが、前の状態に割り当てられた
時間が経過するまで待ち、その後、サーチ2状態に現在
割り当てられている時間をパースルックアップテーブル
216からフェッチする。ステップ610の後、制御
は、ステップ612に移り、ビットストリーム内の次の
バイトがスライスに対応しているか否かを決定する。対
応している場合、状態マシンは、スライス状態318に
移る。それ以外の場合、ステップ614が実行される。
ステップ614において、サーチ2プロセスが、ビット
ストリーム内の次のバイトが開始コードプレフィスクに
対応しているか否かを決定する。開始コードプレフィス
クがステップ614で見い出される場合、状態マシンは
開始コード状態316に移る。それ以外の場合、制御
は、サーチ2プロセスのステップ616に移る。ステッ
プ616は、ビットストリーム内の次のバイトがゼロで
あるか否かを決定する。ゼロである場合、これらのゼロ
値バイトがビットストリームから除去されて、制御はス
テップ610に移る。これは本質的に、状態サーチ2自
体からの移行である。ビットストリームがスタフィング
ビットの長いシーケンスを含む場合、状態サーチ2は、
すべてのスタフィングビットがビットストリームから除
去されるまで、ループバックし続ける。ステップ616
においてビットストリーム内の次のバイトが0でない場
合、状態マシンは、図4を参照して上述したサーチ0状
態310に移る。
【0051】図7は、開始コード状態316における状
態マシンの動作を示すフローチャートである。このプロ
セスのステップ710は、前の状態が完了するまで待
ち、開始コード状態に現在割り当てられている時間量を
ルックアップテーブル216からフェッチする。上述し
たように、状態マシンは、開始コードプレフィスクがビ
ットストリーム内に見出された場合、開始コード状態に
入る。ステップ712において、開始コードプレフィク
スは、ビットストリームから除去され、ビットストリー
ムの次のバイトが調べられて、次のバイトがスライス開
始コード値に対応しているか否かが決定される。対応し
ている場合、状態マシンは、スライス状態318に移
る。それ以外の場合、開始コード値は、スライス開始コ
ード値ではなく、状態マシンはサーチ0状態310に移
る。
【0052】図8は、スライス状態318における状態
マシンの動作を示すフローチャートである。ステップ8
10において、プロセスは、前の状態の処理が完了する
まで待ち、スライス処理に現在割り当てられている時間
をパースレートルックアップテーブル216からフェッ
チする。上記で言及したMPEG−2仕様書からのスラ
イスヘッダ用シンタックスダイアグラムである表1に示
すように、スライスヘッダ内の最初の項目は、スライス
用の量子化器スケール情報である。 表1 マクロブロック
【0053】
【表1】
【0054】マクロブロックシンタックスで用いられる
用語は、上記で言及したMPEG−2ビデオ仕様書内で
定義されている。
【0055】ステップ812において、この情報がビッ
トストリームから取り出されて保存される。ステップ8
14において、ビットストリーム内の次のビットが調べ
られて、このスライス用に追加の情報が定義されている
か否かが決定される。定義されている場合、状態マシン
はXスライス情報状態320に移る。それ以外の場合、
追加のビットに続く次の情報がマクロブロックの始まり
となる。マクロブロックの処理は、状態マクロブロック
アドレス322への状態マシンの移行から始まる。
【0056】図9は、状態Xスライス情報320におけ
る状態マシンの動作を示すフローチャートである。状態
マシンは、ステップ910で、前の状態が完了するまで
待ち、Xスライス情報状態に現在割り当てられている時
間をフェッチする。その後、ステップ912が呼び出さ
れて、ビットストリームからの追加の情報が廃棄され
る。ステップ914において、プロセスは、除去された
追加の情報記録の直後のバイトをチェックして、別の追
加の情報記録がスライスヘッダに含まれているか否かを
決定する。含まれている場合、制御は、ステップ910
に移る。ステップ910は、本質的に、Xスライス情報
状態320からのそれ自体への移行であり、ステップ9
10において、次の追加の情報記録が除去される。一
旦、すべての追加の情報記録がスライスヘッダから廃棄
されると、ステップ914によって、状態マシンは状態
マクロブロックアドレス322に移る。
【0057】図10は、状態マクロブロックアドレス3
22によって行われるプロセスを示すフローチャートで
ある。図10に示すプロセスは、前の状態が完了するま
で待ち、マクロブロックアドレスに現在割り当てられて
いる数のクロックサイクルをパースレートルックアップ
テーブル216からフェッチした後、ステップ1012
でマクロブロックアドレスを演算する。MPEG規格に
おいて、スライス用開始コードは、再生画像上でスライ
スの垂直方向位置を示すように符号化される。さらに、
マクロブロック用MPEG−2シンタックスである表3
に示すように、マクロブロック記録の最初の項目は、ス
ライス内でのマクロブロックのアドレスを定義するアド
レスインクリメント値である。ステップ1012は、開
始コード値とアドレスインクリメント値とをビットスト
リームから取り出し、現在のスライス開始コード値を用
いて、画像内のマクロブロック用アドレスを計算する。
ステップ1012の後、状態マシンは状態マクロブロッ
クタイプ324に移る。
【0058】図11は、状態マクロブロックタイプ32
4によって行われる処理を示すフローチャートである。
ステップ1110において、状態マシンは、前の状態が
完了するまで待ち、状態マクロブロックタイプに現在割
り当てられている時間をフェッチする。その後、ステッ
プ1112が実行されて、マクロブロックヘッダからマ
クロブロックタイプフィールドがフェッチされる。
【0059】マクロブロックタイプは、マクロブロック
によって行われる動作補償処理がフレームベースである
かフィールドベースであるか、および、マクロブロック
のDCT符号化がフレームベースであるかフィールドベ
ースであるかを決定する。ステップ1114において、
これらの値が状態マシンにより保存される。ステップ1
114の後、状態マシンは、マクロブロック量子化器状
態326に移る。
【0060】図12は、マクロブロック量子化器状態3
26中に行われる処理を示すフローチャートである。以
下に述べるように、状態マシンは、各マクロブロックに
ついて数回この状態に入り得る。なぜなら、この状態
は、マクロブロックから動作ベクトル情報を抽出するベ
クトル状態への状態移行を含むからである。マクロブロ
ックシンタックスが、状態326が最初に呼び出された
後の複数回の呼び出しの間、適切に解釈されることを確
実にするために、いくつかのブール変数、すなわち、Q
SCALE、GOT FORWARD、およびGOT
BACKWARDが定義されている。これらのブール
変数の使用を以下に述べる。
【0061】ステップ1210において、状態マシンは
前の状態が完了するまで待ち、マクロブロック量子化器
状態に現在割り当てられている時間をフェッチする。ス
テップ1212において、状態マシンは、ブール状態変
数Q SCALEをテストして、マクロブロック用量子
化器スケール符号が獲得されたか否かを決定する。獲得
されていない場合、マクロブロック量子化器は、ステッ
プ1214において、マクロブロック用量子化器スケー
ル符号としてビットストリームから次の値をフェッチ
し、ステップ1216において、ブール変数GOT Q
SCALEを設定する。次に、マクロブロック量子化
器プロセスは、ステップ1218において、ブール変数
GOT FORWARDをテストして、フォワード動作
ベクトルがこのマクロブロック用に獲得されたか否かを
決定する。獲得されていない場合、ステップ1220に
おいて、ブール変数GOT FORWARDが設定さ
れ、状態マシンはベクトル状態328に移る。しかし、
ステップ1218において変数GOT FORWARD
が設定されている場合は、制御はステップ1222に移
って、ブール変数GOT BACKWARDがテストさ
れる。マクロブロック用にバックワード動作ベクトルが
獲得されている場合、このブール変数が設定される。獲
得されていない場合、制御はステップ1224に移る。
ステップ1224において、ブール変数GOT BAC
KWARDが設定され、状態マシンの次の状態がベクト
ル状態328に設定される。ステップ1222において
ブール変数GOT BACKWARDが設定された場
合、ステップ1226が呼び出されて、マクロブロック
ヘッダ内にマーカビットが存在するか否かが決定され
る。存在する場合、ステップ1228が呼び出されて、
ビットストリームからマーカビットが廃棄され、制御は
ステップ1230に移る。ステップ1230はマクロブ
ロックヘッダがマーカビットを含まない場合にはステッ
プ1226の後に実行される。ステップ1230におい
て、状態マクロブロック量子化器は、マクロブロックが
符号化ブロックパターンを含むか否かを決定する。含む
場合、状態マシンは、符号化ブロック状態330に移
る。それ以外の場合、マクロブロックのブロックはマク
ロブロックプロセッサ132(図1に示す)に進む準備
が整っており、状態マシンは待機状態332に移る。
【0062】図13および図14は、ベクトル状態32
8における状態マシンの動作を示すフローチャートであ
る。ステップ310において、状態マシンは、前の状態
が完了するまで待ち、ベクトル状態に現在割り当てられ
ている時間をパースレートルックアップテーブル216
からフェッチする。図12を参照して上述したように、
ベクトル状態は、フォワード動作ベクトルまたはバック
ワード動作ベクトルのいずれかをフェッチするために呼
び出される。MPEG規格においては、マクロブロック
は単一のフォワード動作ベクトルを有する予想されたマ
クロブロック、フォワード動作ベクトルとバックワード
動作ベクトルとを有する双方向に予想されたマクロブロ
ック、または各フィールドに対して1つずつ、すなわち
2つのフォワード動作ベクトルと2つのバックワード動
作ベクトルとを有するデュアルプライムマクロブロック
として指定され得る。
【0063】ベクトルプロセスのステップ1312にお
いて、マクロブロックヘッダがテストされ、マクロブロ
ックが1セットの動作ベクトルと2セットの動作ベクト
ルのいずれを有するかが決定される。マクロブロックが
2セットの動作ベクトルを有する場合、制御はステップ
1314に移って、マクロブロックヘッダから第1の動
作ベクトル用の動作垂直フィールド選択値がフェッチさ
れる。その後、制御はステップ1320に移る。ステッ
プ1320は、プロセスGET VECTを呼び出し
て、2ベクトルセットのうちの第1の動作ベクトル用
に、マクロブロックヘッダから実際の動作ベクトル情報
をフェッチする。このステップは以下に図14を参照し
て詳細に述べる。ステップ1320の後、ステップ13
22が実行され、第2の動作ベクトル用の動作垂直フィ
ールド選択値がフェッチされ保存される。ステップ13
22の後、ステップ1324でプロセスGET VEC
Tが再び呼び出され、ビットストリームから動作ベクト
ルセットの第2の動作ベクトル用の動作ベクトル値が抽
出される。ステップ1312において、プロセスが、マ
クロブロックがわずか1つの動作ベクトルのみを含むと
決定した場合、制御はステップ1316に移る。ステッ
プ1316において、単一の動作ベクトルが動作垂直フ
ィールド選択値を含むか否かが決定される。含む場合、
ステップ1318において、この情報が動作ベクトルヘ
ッダから取り出され、制御はステップ1324に移る。
ステップ1324において、実際のベクトル情報がフェ
ッチされる。ステップ1324の後、状態マシンはマク
ロブロック量子化器状態326に移る。状態マシンは、
ベクトル状態328の後再びこの状態になって、マクロ
ブロックから獲得する必要のある動作ベクトルが他にな
いことを確認する。双方向に符号化された画像内のデュ
アルプライムマクロブロックの場合でさえも、ある与え
られたマクロブロックに関して必要な、マクロブロック
量子化器状態を介する通過は僅か2つであるべきであ
る。
【0064】図14は、図13のステップ1320およ
び1324に示すプロセスGETVECTの動作を示す
フローチャートである。このプロセスの第1のステップ
であるステップ1412において、水平動作符号がマク
ロブロック内の動作ベクトル情報からフェッチされる。
ステップ1414において、動作ベクトル情報の次のビ
ットがビットストリームからフェッチされ、この動作ベ
クトル用の残留情報が存在するか否かが決定される。存
在する場合、ステップ1416において、残留情報がビ
ットストリームから取り出されて保存される。ステップ
1418および1420において、ビットストリーム内
の次の情報がテストされて、動作ベクトルがデュアルプ
ライム動作ベクトルであるか否かが決定される。ステッ
プ1422、1424、1426、1428および14
30において、上記プロセスが反復される。但し、これ
らのステップにおいては、垂直動作ベクトル情報がフェ
ッチされる。ステップ1432は、プロセスGET V
ECTの終わりである。このステップの後、プロセスは
ベクトル状態328の、GET VECTの呼び出しの
直後の点に戻る。
【0065】図15は、状態マシンの符号化ブロック状
態330によって実行されるプロセスを示すフローチャ
ートである。ステップ1510において、符号化ブロッ
クプロセスは、前の状態が完了するまで待ち、パースレ
ートルックアップテーブル216から、符号化ブロック
状態に現在割り当てられている時間値をフェッチする。
ステップ1512において、プロセスは、マクロブロッ
クヘッダから符号化ブロック情報をフェッチする。一旦
ステップ1512において符号化ブロック情報がフェッ
チされると、マクロブロックのブロックはマクロブロッ
クプロセッサ132に送られる準備が整い、その結果、
状態マシンは待機状態332に入る。
【0066】図16は、待機状態332の動作を示すフ
ローチャートである。ステップ1610において、状態
マシンは、前の状態が完了するまで待ち、パースレート
ルックアップテーブル216から、待機状態に現在割り
当てられている時間をフェッチする。ステップ1612
において、待機状態は、マクロブロックデコーダ132
によって供給されるREADY信号が、デコーダ132
が別のマクロブロックを受け入れる準備が整ったことを
示すか否かを決定する。準備が整っていない間、ステッ
プ1612が反復され、マクロブロックデコーダ132
により供給されるこの信号をテストし続ける。
【0067】一旦マクロブロックデコーダが、デコーデ
ィング用にマクロブロックを受け入れる準備が整ったこ
とを示すと、制御はステップ1614に移って、マクロ
ブロックがスキップされたマクロブロックか否かを決定
する。上述したように、マクロブロックは2つの場合に
スキップされる:1)マクロブロックがMPEG−2シ
ンタックス内でスキップされるとマーキングされている
場合、および2)マクロブロックデコーダがエラーにな
り、スライス記録内の残りのマクロブロックをスキップ
するようにパーサ212に指示した場合。ステップ61
4においてマクロブロックスキップフラグがセットされ
た場合、状態マシンはスキップ状態334に移る。それ
以外の場合、状態マシンは、ブロック状態336に移
る。
【0068】図17は、ブロック状態336の動作を示
すフローチャートである。ステップ1710において、
プロセスは、処理されたばかりのブロックが現在のマク
ロブロックの最後のブロックであったか否かを決定す
る。最後のブロックであった場合、状態マシンは終了状
態338に移る。それ以外の場合、ステップ1712が
実行されて、マクロブロックデコーダ132がREAD
Y信号をアサートしたか否かが決定される。マクロブロ
ックデコーダ132は、逆量子化および逆離散コサイン
変換処理用のブロックを受け取る準備が整ったときにR
EADY信号を供給する。ブロックを受け取る準備が整
ったときに、ステップ1714が実行されて、制御はマ
クロブロックデコーダ132に移る。ステップ1714
でブロックを処理した後、制御は上述したようにステッ
プ1710に移る。マクロブロック内のすべてのブロッ
クが処理されるまで、このプロセスが続けられる。
【0069】図18は、スキップ状態334の動作を示
すフローチャート図である。スキップ状態は、ステップ
1814、すなわちスキップされたブロックの処理以外
は、ブロック状態と実質的に同じである。このステップ
は、1)マクロブロックがMPEG−2シンタックスに
おけるスキップされたマクロブロックとしてマークされ
た場合は何もせず、あるいは2)ブロックがマクロブロ
ックデコーダ中のエラーによりスキップされた場合は、
スキップされるブロックに対応するバイトをビットスト
リームから除去する。これは、マクロブロック中の全て
のブロックが処理されるまで継続される。最後のブロッ
クが処理された後、ステップ1810は制御を待機状態
332に移す。
【0070】図19は、終了状態(End stat
e)338における状態マシンの動作を示すフローチャ
ート図である。ステップ1910において、状態マシン
は、以前の状態が完了するのを待ち、終了状態に割り当
てられた現在時刻を、パース速度ルックアップテーブル
216から取り出す。状態1912において、状態マシ
ンは、現在のスライスの処理が完了しているか否かを決
定する。もし完了していれば、制御はステップ1914
に移って、デコーダが別のスライスを処理する準備がで
きるまで待つ。ステップ1914の後、制御はサーチ0
状態310に移り、図4を参照して上述したように次の
スライスレコードの開始コードのサーチを開始する。
【0071】ステップ1912において、このスライス
中において処理されるべきマクロブロックがまだあれ
ば、ステップ1916が実行されてビットストリーム中
の次のバイトが開始コードに対応するか否かを決定す
る。もし対応していなければ、スライス中に少なくとも
1つのマクロブロックが存在しており、状態マシンにお
ける次の状態が図10を参照して上述したマクロブロッ
クアドレス状態322に設定される。ステップ1916
においてビットストリーム中の次のバイトが開始コード
に対応していれば、スライス中の最後のマクロブロック
は既に処理されており、サーチ0状態310が状態マシ
ンの次の状態として設定される。
【0072】図20、21、および22は、本発明の状
態マシンの応用例を示している。これらの図の各々は、
マクロブロックを復号化するために用いられる一連の状
態を示している。図20は、スライス中の最初のマクロ
ブロックであるフレーム内またはフィールドイントラコ
ード化マクロブロックの、パース例を示している。終了
状態338に始まり、状態マシンはサーチ0状態310
に遷移し、次にサーチ1状態312に遷移し、そして開
始コード状態316に遷移する。処理のこの時点におい
て、状態マシンはビットストリーム中の開始コードに既
に遭遇している。また状態316において、開始コード
がスライス開始コードであると決定され、状態マシンの
次の状態がスライス状態318にされ、この状態におい
てスライス状態が復号化される。
【0073】状態338、310、312、316、お
よび318の各々は、比較的少量の処理を必要とする。
従って、これらの状態の各々は、1つの状態サイクル時
間内で完了され得る。しかし、プロセス内の次の状態で
ある状態マクロブロックアドレス322は図20に示し
た以前の状態のいずれよりも多くの処理時間を必要とす
る。パースレートルックアップテーブル216におい
て、この状態には以前の状態のいずれよりも2倍の状態
処理時間が割り当てられる。これを図面において状態3
22の太い境界線で表している。マクロブロックアドレ
ス状態322の後、状態マシンはマクロブロックタイプ
状態324、マクロブロック量子化器326状態に遷移
した後、待機状態332に遷移し、マクロブロックデコ
ーダ132がイントラコード化されたマクロブロックの
ブロックを受け入れるのを待つ。
【0074】図21は、スライス中の最初のマクロブロ
ックではない、予測的に符号化されたマクロブロック
(P−フレームまたはP−フィールド)を復号化する際
における、状態マシンの動作を示す。図21は終了状態
338から始まった後、マクロブロックアドレス状態3
32が続き、図20と同様に、終了状態には1状態時間
が与えられ、マクロブロックアドレス状態332には2
状態時間が与えられる。状態322の後、状態マシンは
マクロブロックタイプ状態324およびマクロブロック
量子化器状態326に遷移する。状態326の後、状態
マシンはベクトル状態328に遷移する。ベクトル状態
における処理は他の状態におけるよりもより広範に行わ
れるため、2状態処理時間がベクトル状態328に割り
当てられる。図12および13を参照して上述したよう
に、ベクトル状態の処理後、状態マシンは再びマクロブ
ロック量子化器状態に戻り、得るべき動きベクトルが他
に無いことを確実にする。これは予測的に符号化された
マクロブロックであるため、ビットストリームは1つの
動きベクトルしか含まない。マクロブロック量子化器状
態326の後、状態マシンは符号化ブロック状態330
に遷移した後、待機状態332に遷移する。
【0075】図22は、デュアル−プライムマクロブロ
ックでもある双方向符号化されたマクロブロックを処理
する際の状態マシンの動作を示している。上述のよう
に、このマクロブロックは4組の動きベクトルを有して
いる。図22に示す状態マシンの最初の5つの状態は、
図21と同じである。しかし、最初の動きベクトル群が
得られた後、2度目のベクトル状態が呼び出されること
により、図13を参照して上述したデュアルプライムマ
クロブロックのために第2の組の順方向動きベクトルを
得る。ベクトル状態が2度目に呼び出された後、状態マ
シンはマクロブロック量子化器状態326に遷移し、そ
して最初の逆方向動きベクトルを得るために再びベクト
ル状態328に遷移する。これはデュアルプライム動き
ベクトルであるため、ベクトル状態が再び呼び出される
ことにより第2の逆方向動きベクトルを得る。ベクトル
状態が2度目に呼び出された後、マクロブロック量子化
器状態326が再び呼び出され、その後待機状態332
となる。
【0076】図3に示す状態マシンにおいて、各状態時
間に対してn回のクロックサイクルが割り当てられてい
るならば、図20に示すイントラコード化マクロブロッ
クのシンタックス処理は10状態時間にわたり、一方、
図21に示す予測的に符号化されたマクロブロックに対
する処理は10状態時間にわたり、図22に示す双方向
符号化されたマクロブロックに対する処理は16状態時
間にわたる。
【0077】従来の可変長デコーダにおいては、ビット
ストリーム中の全てのマクロブロックのシンタックス処
理に割り当てられた時間は、最悪の場合の処理(図22
に示したもの)に適合する必要がある。対して、処理時
間を様々な状態に対して適応的に割当てることにより、
本発明のデコーダは、スライスおよびマクロブロックの
シンタックス処理において多大な時間節約を達成し得
る。この時間節約は、より低速なシンタックスプロセッ
サが、比較的高速なマクロブロックデコーダとともに動
作することを可能にする。また、状態遅延を増加し得る
ため、本来甚大なシンタックスプロセッサは、より低速
なマクロブロックデコーダと適合するように単に状態遅
延を増加することにより、低速化され得る。従って、可
変速パーサ212およびマクロブロックデコーダ132
の所与の集積回路(IC)実施態様はスケールアップま
たはスケールダウンされ得、また得られたICにおける
任意のタイミング変化はパーサ212の状態タイミング
を調整することによって補償され得る。
【0078】本発明をMPEG−2デコーダ用のマクロ
ブロックシンタックスプロセッサについて説明したが、
本発明は、入力信号を処理することにより別のプロセッ
サで処理される情報を抽出する任意の状態マシンについ
て、実施され得る。このようにしてプリプロセッサは、
様々な他の処理ハードウェアに適合され得る。
【0079】本発明を例示的な実施形態について説明し
たが、本発明は、付属の請求の範囲内において上記に概
説したように実施され得ることが意図される。
【0080】MPEG−2映像信号デコーダは、状態マ
シンとして実現されるシンタックスパーサを有してい
る。状態マシンは、MPEG−2ビットストリームを復
号化するために別個のパース動作が行われる、複数の状
態を規定する。状態マシンの各状態について異なる処理
時間が確立される。状態の各処理時間の終わりよりも前
に特定の状態のための処理が完了しても、その時間区間
の終わりまではその状態から次の状態への遷移は起こら
ない。各状態のための処理時間は、状態マシンに結合さ
れたマイクロプロセッサによって設定される。各状態の
ための処理時間は、イメージの内容に基づいて、あるい
は状態マシンを実現するために用いられた回路中の変化
に対応するために、変化され得る。状態の処理時間はま
た、状態マシンとは別であるが自身が行う処理について
状態マシンに依存するような他の処理要素中の変化に対
応するようにも、調節され得る。処理時間を変化させる
ための一つの方法は、イメージまたは一連のイメージの
処理を、所定の最大時間区間に適合させることである。
【0081】
【発明の効果】本発明における可変速度MPEG−2ビ
デオシンタックスプロセッサによって、MPEG−2形
式に従って圧縮された画像データを処理するためのデコ
ーダが提供される。本発明によると、MPEG−2ビッ
トストリームの各セグメントの復号に対して、異なる時
間間隔が割り当てられ得る。
【図面の簡単な説明】
【図1】本発明の実施形態を含むMPEG−2ビデオデ
コーダのブロック図である。
【図2】図1に示すビデオデコーダにおいて使用するの
に適切なVLDデコーダのブロック図である。
【図3】本発明の実施形態を含む状態マシンの状態図で
ある。
【図4】状態マシンが図3に示すサーチ0状態にあると
きに、状態マシンによって実行される処理を説明するの
に役立つフローチャートである。
【図5】状態マシンが図3に示すサーチ1状態にあると
きに、状態マシンによって実行される処理を説明するの
に役立つフローチャートである。
【図6】状態マシンが図3に示すサーチ2状態にあると
きに、状態マシンによって実行される処理を説明するの
に役立つフローチャートである。
【図7】状態マシンが図3に示す開始コード状態にある
ときに、状態マシンによって実行される処理を説明する
のに役立つフローチャートである。
【図8】状態マシンが図3に示すスライス状態にあると
きに、状態マシンによって実行される処理を説明するの
に役立つフローチャートである。
【図9】状態マシンが図3に示すXスライス情報状態に
あるときに、状態マシンによって実行される処理を説明
するのに役立つフローチャートである。
【図10】状態マシンが図3に示すマクロブロックアド
レス状態にあるときに、状態マシンによって実行される
処理を説明するのに役立つフローチャートである。
【図11】状態マシンが図3に示すマクロブロックタイ
プ状態にあるときに、状態マシンによって実行される処
理を説明するのに役立つフローチャートである。
【図12】状態マシンが図3に示すマクロブロック量子
化状態にあるときに、状態マシンによって実行される処
理を説明するのに役立つフローチャートである。
【図13】状態マシンが図3に示すベクトル状態にある
ときに、状態マシンによって実行される処理を説明する
のに役立つフローチャートである。
【図14】図13に示すフローチャートのGET VE
CT手順を説明するのに役立つフローチャートである。
【図15】状態マシンが図3に示す符号化ブロック状態
にあるときに、状態マシンによって実行される処理を説
明するのに役立つフローチャートである。
【図16】状態マシンが図3に示す待機状態にあるとき
に、状態マシンによって実行される処理を説明するのに
役立つフローチャートである。
【図17】状態マシンが図3に示すブロック状態にある
ときに、状態マシンによって実行される処理を説明する
のに役立つフローチャートである。
【図18】状態マシンが図3に示すスキップ状態にある
ときに、状態マシンによって実行される処理を説明する
のに役立つフローチャートである。
【図19】状態マシンが図3に示す終了状態にあるとき
に、状態マシンによって実行される処理を説明するのに
役立つフローチャートである。
【図20】フレーム内符号化マクロブロックの復号にお
いて、図3に示す状態マシンによって実行される模範的
な状態移行の図である。
【図21】予測的符号化マクロブロックの復号におい
て、図3に示す状態マシンによって実行される模範的な
状態移行の図である。
【図22】双方向性予測的符号化マクロブロックの復号
において、図3に示す状態マシンによって実行される模
範的な状態移行の図である。
【符号の説明】 110 デコード集積回路 112 マイクロプロセッサインターフェース 116 パーサ 118 可変長デコーダ 120、121 メモリ 126 アドレス生成器 128 メモリ 130 マイクロプロセッサ 132 マクロブロックデコード回路 134 逆量子化器 136、144、150、162メモリ 158、160 加算およびクリッピング 161 動き補償プロセッサ 164、168、174 メモリ 166 ハーフピクセルおよび補間 170 RACインターフェース 171 OSDプロセッサ 175 ディスプレイ制御

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 各々がヘッダ情報およびペイロードデー
    タを有する多数のレコードタイプを定義する、所定のプ
    ロトコルに適合するデジタル符号化信号を処理するため
    の装置であって、 該多数のレコードタイプのうち少なくとも選択されたレ
    コードタイプ中の該ヘッダ情報をパースする状態マシン
    であって、該状態マシンは別個のパース動作を行う状態
    を定義し、状態間の遷移は該デジタル符号化信号をパー
    スすることによって決定される、状態マシンと、 複数の該状態タイプについて、第1の状態および第2の
    状態のための各状態時間を含む各処理時間を定義するた
    めの手段と、 該第1の状態によって表される処理ステップを行うため
    の処理手段と、 該第1の状態のための該各定義された処理時間が過ぎて
    該第2の状態に遷移するまで待つための遅延手段と、 を有する装置。
  2. 【請求項2】 前記状態タイプの各々のための前記各処
    理時間を適応的に指定するための手段をさらに有し、各
    状態の該処理時間は前記レコードの前記ペイロードデー
    タに応じて変化する、請求項1に記載の装置。
  3. 【請求項3】 前記状態タイプの各々のための前記各処
    理時間を適応的に指定するための手段をさらに有し、各
    状態の該処理時間は、前記状態マシンに結合された他の
    処理要素中の変化に応じて変化する、請求項1に記載の
    装置。
  4. 【請求項4】 スライスレベルレコードを有し、各スラ
    イスレベルレコードはヘッダ情報および複数のマクロブ
    ロックレベルレコードを有し、各マクロブロックレベル
    レコードはヘッダ情報および周波数領域係数値の複数の
    ブロックを有しているMPEG−2符号化信号を処理す
    るための装置であって、該装置は、 該スライスレベルレコード中の該ヘッダ情報をパースす
    る第1の状態および、該マクロブロックレベルレコード
    中のヘッダ情報をパースする第2の状態を有することに
    より、該MPEG−2符号化信号から該周波数領域係数
    値の複数のブロックを抽出する状態マシンであって、 該第1および第2の状態のための各処理時間を定義する
    手段と、 該第1の状態によって表される処理ステップを行うため
    の処理手段と、 該第1の状態のための該各定義された処理時間が過ぎて
    該第2の状態に遷移するまで待つための遅延手段と、 該第2の状態によって表される処理ステップを該複数の
    マクロブロック中の該ヘッダ情報に対して行うことによ
    り、該複数のマクロブロックから該周波数領域係数値の
    ブロックを抽出する処理手段と、を有する状態マシン
    と、 該抽出された周波数領域係数値のブロックを、空間領域
    画素値に変換するためのマクロブロック復号化手段と、 を有する、装置。
  5. 【請求項5】 前記複数のマクロブロックは予測的に符
    号化されたマクロブロックおよび双方向的に予測的に符
    号化されたマクロブロックを含み、該予測的に符号化さ
    れたマクロブロックのマクロブロックヘッダは単一の動
    きベクトルを有し、該双方向的に予測的に符号化された
    マクロブロックは複数の動きベクトルを有し、 該装置はさらに、前記第1および第2の状態の各々のた
    めの前記各処理時間を適応的に指定するための手段をさ
    らに有し、該第2の状態の該処理時間は予測的に符号化
    されたマクロブロックおよび双方向的に予測的に符号化
    されたマクロブロックの処理に応じて変化する、請求項
    4に記載の装置。
  6. 【請求項6】 前記MPEG−2データ信号の単一のイ
    メージの復号化のために所定の時間量が割り当てられ、
    前記第1および第2の状態の各々のための前記各処理時
    間を適応的に指定するための前記手段は、該所定の時間
    量の各第1および第2の部分を該第1および第2の状態
    のための該各処理時間として指定する、 請求項5に記載の装置。
  7. 【請求項7】 前記状態タイプの各々のための前記各処
    理時間を適応的に指定するための手段をさらに有してお
    り、各状態の該処理時間は前記マクロブロック復号化手
    段中の変化に応じて変化する、 請求項4に記載の装置。
  8. 【請求項8】 各々がヘッダ情報およびペイロードデー
    タを有する多数のレコードタイプを定義する、所定のプ
    ロトコルに適合するデジタル符号化信号を処理するため
    の方法であって、 状態マシンの各状態において別個のパース動作を行い、
    該デジタル符号化信号がパースされる際に状態間を遷移
    することにより、該多数のレコードタイプのうち少なく
    とも選択されたレコードタイプ中の該ヘッダ情報をパー
    スする工程と、 複数の該状態について、該状態のうち第1の状態および
    該状態のうち第2の状態のための各状態時間を含む各処
    理時間を定義する工程と、 該第1の状態によって表される処理ステップを行うため
    の工程と、 該第1の状態のための該各定義された処理時間が過ぎて
    該第2の状態に遷移するまで待つ工程と、 を有する方法。
  9. 【請求項9】 前記状態タイプの各々のための前記各処
    理時間を適応的に指定する工程をさらに有し、各状態の
    該処理時間は前記レコードの前記ペイロードデータに応
    じて変化する、請求項8に記載の方法。
  10. 【請求項10】 前記状態タイプの各々のための前記各
    処理時間を適応的に指定する工程をさらに有し、各状態
    の該処理時間は、前記状態マシンの外部のレコードに対
    して行われる処理中の変化に応じて変化する、請求項8
    に記載の方法。
  11. 【請求項11】 スライスレベルレコードを有し、各ス
    ライスレベルレコードはヘッダ情報および複数のマクロ
    ブロックレベルレコードを有し、各マクロブロックレベ
    ルレコードはヘッダ情報および周波数領域係数値の複数
    のブロックを有しているMPEG−2符号化信号を処理
    するための方法であって、該方法は、 第1の状態において該スライスレベルレコードの該ヘッ
    ダ情報をパースし、第2の状態において該マクロブロッ
    クレベルレコードのヘッダ情報をパースすることによ
    り、該MPEG−2符号化信号から該周波数領域係数値
    の複数のブロックを抽出する工程であって、 該第1および第2の状態のための各処理時間を定義する
    工程と、 該第1の状態において該スライスヘッダ情報を処理する
    工程と、 該第1の状態のための該各定義された処理時間が過ぎて
    該第2の状態に遷移するまで待つ工程と、 該第2の状態において該マクロブロックヘッダ情報を処
    理することにより、該複数のマクロブロックから該周波
    数領域係数値のブロックを抽出する工程と、 該抽出された周波数領域係数値のブロックを、空間領域
    画素値に変換する工程と、 を有する、方法。
  12. 【請求項12】 前記複数のマクロブロックは予測的に
    符号化されたマクロブロックおよび双方向的に予測的に
    符号化されたマクロブロックを含み、該予測的に符号化
    されたマクロブロックのマクロブロックヘッダは単一の
    動きベクトルを有し、該双方向的に予測的に符号化され
    たマクロブロックは複数の動きベクトルを有し、 該方法はさらに、前記第1および第2の状態の各々のた
    めの前記各処理時間を適応的に指定する工程をさらに有
    し、該第2の状態の該処理時間は予測的に符号化された
    マクロブロックおよび双方向的に予測的に符号化された
    マクロブロックの処理に応じて変化する、 請求項11に記載の方法。
  13. 【請求項13】 前記MPEG−2データ信号の単一の
    イメージの復号化のために所定の時間量が割り当てら
    れ、前記第1および第2の状態の各々のための前記各処
    理時間を適応的に指定する前記工程は、該所定の時間量
    の各第1および第2の部分を該第1および第2の状態の
    ための該各処理時間として指定する、 請求項12に記載の方法。
  14. 【請求項14】 前記状態タイプの各々のための前記各
    処理時間を適応的に指定する工程をさらに有しており、
    各状態の該処理時間は前記マクロブロック復号化手段中
    の変化に応じて変化する、 請求項11に記載の方法。
JP29033999A 1998-10-09 1999-10-12 可変速度mpeg−2ビデオシンタックスプロセッサ Expired - Fee Related JP3797830B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/169.580 1998-10-09
US09/169,580 US6263019B1 (en) 1998-10-09 1998-10-09 Variable rate MPEG-2 video syntax processor

Publications (2)

Publication Number Publication Date
JP2000115773A true JP2000115773A (ja) 2000-04-21
JP3797830B2 JP3797830B2 (ja) 2006-07-19

Family

ID=22616304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29033999A Expired - Fee Related JP3797830B2 (ja) 1998-10-09 1999-10-12 可変速度mpeg−2ビデオシンタックスプロセッサ

Country Status (6)

Country Link
US (1) US6263019B1 (ja)
EP (1) EP0993202A3 (ja)
JP (1) JP3797830B2 (ja)
KR (1) KR100375845B1 (ja)
CN (1) CN1119757C (ja)
TW (1) TW443070B (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6573905B1 (en) 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US7446774B1 (en) * 1998-11-09 2008-11-04 Broadcom Corporation Video and graphics system with an integrated system bridge controller
US6661422B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US7982740B2 (en) 1998-11-09 2011-07-19 Broadcom Corporation Low resolution graphics mode support using window descriptors
US6798420B1 (en) 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
US6636222B1 (en) 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US6608630B1 (en) * 1998-11-09 2003-08-19 Broadcom Corporation Graphics display system with line buffer control scheme
US6768774B1 (en) 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US6453424B1 (en) * 1999-03-31 2002-09-17 International Business Machines Corporation System and method for temporally controlling instruction execution
US6538656B1 (en) 1999-11-09 2003-03-25 Broadcom Corporation Video and graphics system with a data transport processor
US8913667B2 (en) * 1999-11-09 2014-12-16 Broadcom Corporation Video decoding system having a programmable variable-length decoder
US9668011B2 (en) * 2001-02-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Single chip set-top box system
EP1285348A4 (en) * 2000-05-31 2004-06-30 Prediwave Corp METHODS FOR PROVIDING ON-DEMAND VIDEO SERVICES FOR BROADCAST SYSTEMS
US20020175998A1 (en) * 2000-05-31 2002-11-28 Hoang Khoi Nhu Data-on-demand digital broadcast system utilizing prefetch data transmission
US20020059635A1 (en) * 2000-05-31 2002-05-16 Hoang Khoi N. Digital data-on-demand broadcast cable modem termination system
US20020066100A1 (en) * 2000-05-31 2002-05-30 Khoi Hoang Method for providing data services for a large number of small-sized data files
US20020049980A1 (en) * 2000-05-31 2002-04-25 Hoang Khoi Nhu Controlling data-on-demand client access
US20020138845A1 (en) * 2000-05-31 2002-09-26 Khoi Hoang Methods and systems for transmitting delayed access client generic data-on demand services
US6557030B1 (en) * 2000-05-31 2003-04-29 Prediwave Corp. Systems and methods for providing video-on-demand services for broadcasting systems
US20020023267A1 (en) * 2000-05-31 2002-02-21 Hoang Khoi Nhu Universal digital broadcast system and methods
US20020059620A1 (en) * 2000-05-31 2002-05-16 Hoang Khoi Nhu Selective inactivation and copy-protection
US20030084461A1 (en) * 2001-10-25 2003-05-01 Khoi Hoang Method and apparatus for transmitting non-VOD services
DE10129108A1 (de) * 2001-06-16 2003-01-02 Harman Becker Automotive Sys Verfahren und Schaltungsanordnung zur Datenübertragung
US20030051249A1 (en) * 2001-08-20 2003-03-13 Khoi Hoang System and method for data insertion (commercials) in client generic data-on-demand broadcast transmissions
US20030055915A1 (en) * 2001-09-14 2003-03-20 Ngo Kin Cuc Method and apparatus for transmitting data over a network
JP2003169327A (ja) * 2001-11-30 2003-06-13 Matsushita Electric Ind Co Ltd ソフトウェアでのmpeg−2ビデオ可変長復号化方法
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US7667710B2 (en) 2003-04-25 2010-02-23 Broadcom Corporation Graphics display system with line buffer control scheme
DE10331803A1 (de) * 2003-07-14 2005-02-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Umsetzen in eine transformierte Darstellung oder zum inversen Umsetzen der transformierten Darstellung
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
EP1536647A1 (en) * 2003-11-26 2005-06-01 STMicroelectronics Limited A video decoding device
JP4407472B2 (ja) * 2004-10-29 2010-02-03 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
US20060288194A1 (en) * 2005-06-17 2006-12-21 Lewis Innovative Technologies Real-time processor
KR101232780B1 (ko) * 2006-01-12 2013-09-03 (주)휴맥스 통합 코덱 장치 및 방법
CN101159872B (zh) * 2007-11-22 2010-12-01 威盛电子股份有限公司 Mpeg-2压缩格式译码器及mpeg-2压缩格式译码方法
GB2482731B (en) * 2010-08-13 2016-12-21 Advanced Risc Mach Ltd A video decoding apparatus and method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3177295T4 (de) 1980-04-11 1994-05-26 Ampex Vordezimierungsfilter für Bildveränderungssystem.
DE3177088D1 (en) 1981-04-10 1989-09-21 Ampex Controller for system for spatially transforming images
WO1982003741A1 (en) 1981-04-10 1982-10-28 Bennett Phillip Patrick System for spatially transforming images
CA2062200A1 (en) * 1991-03-15 1992-09-16 Stephen C. Purcell Decompression processor for video applications
TW241350B (ja) * 1991-11-07 1995-02-21 Rca Thomson Licensing Corp
GB2264417B (en) 1992-02-17 1995-12-06 Sony Broadcast & Communication Video standards conversion
US6047112A (en) * 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
WO1995008221A1 (en) 1993-09-13 1995-03-23 Analog Devices, Inc. Digital to analog conversion using nonuniform sample rates
US5623311A (en) * 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
US5812791A (en) * 1995-05-10 1998-09-22 Cagent Technologies, Inc. Multiple sequence MPEG decoder
KR0153671B1 (ko) * 1995-06-30 1998-11-16 배순훈 고선명 텔레비젼 엔코더의 레이트 콘트롤러
KR0182026B1 (ko) * 1995-12-21 1999-05-01 김광호 엠펙 비디오 디코더용 구문 분석기
US5737019A (en) 1996-01-29 1998-04-07 Matsushita Electric Corporation Of America Method and apparatus for changing resolution by direct DCT mapping
US5812760A (en) * 1996-06-25 1998-09-22 Lsi Logic Corporation Programmable byte wise MPEG systems layer parser
US6256348B1 (en) * 1996-08-30 2001-07-03 Texas Instruments Incorporated Reduced memory MPEG video decoder circuits and methods

Also Published As

Publication number Publication date
EP0993202A2 (en) 2000-04-12
KR20000028931A (ko) 2000-05-25
US6263019B1 (en) 2001-07-17
CN1119757C (zh) 2003-08-27
TW443070B (en) 2001-06-23
CN1261701A (zh) 2000-08-02
KR100375845B1 (ko) 2003-03-15
JP3797830B2 (ja) 2006-07-19
EP0993202A3 (en) 2001-09-12

Similar Documents

Publication Publication Date Title
JP3797830B2 (ja) 可変速度mpeg−2ビデオシンタックスプロセッサ
US5990958A (en) Apparatus and method for MPEG video decompression
US5923375A (en) Memory reduction in the MPEG-2 main profile main level decoder
JP3395166B2 (ja) 統合ビデオ復号化システム、フレーム・バッファ、符号化ストリーム処理方法、フレーム・バッファ割当て方法及び記憶媒体
KR100376207B1 (ko) 비디오신장프로세서에있어서디램(dram)의효율적인어드레싱을행하기위한방법및장치
JP3942630B2 (ja) 映像デコーダにおけるチャンネル・バッファの管理
US5850258A (en) High level video decoding apparatus capable of decoding video data of a plurality of channels coded at a lower level
KR20000075760A (ko) 비디오 영상에 대한 오류 은닉
TW450004B (en) Programmable filter for removing selected user data from an MPEG-2 bit-stream
EP1161097A1 (en) MPEG decoder
JP2001285861A (ja) 画像信号符号化装置
US6720893B2 (en) Programmable output control of compressed data from encoder
JP4712195B2 (ja) ビデオ・データのダウン・コンバージョンに関する方法および装置
JPH07222164A (ja) ディジタルビデオ・ビットストリームコーダ
JP2894958B2 (ja) 画像復号化方式および装置
JP2005124091A (ja) 復号装置及び復号方法
US6829303B1 (en) Methods and apparatus for decoding images using dedicated hardware circuitry and a programmable processor
US5666115A (en) Shifter stage for variable-length digital code decoder
JPH09135446A (ja) Mpeg用ビデオデコーダ
WO2002089494A1 (en) Optimized mpeg-2 encoding for computer-generated output
JP4906197B2 (ja) 復号装置および方法、並びに記録媒体
US20080056377A1 (en) Neighboring Context Management
JP4214554B2 (ja) 動画像復号化装置
KR100252810B1 (ko) 엠펙디코더
WO1996036178A1 (en) Multiple sequence mpeg decoder and process for controlling same

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060418

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees