JP2001231044A - Mpeg画像復号装置および方法 - Google Patents

Mpeg画像復号装置および方法

Info

Publication number
JP2001231044A
JP2001231044A JP2000035744A JP2000035744A JP2001231044A JP 2001231044 A JP2001231044 A JP 2001231044A JP 2000035744 A JP2000035744 A JP 2000035744A JP 2000035744 A JP2000035744 A JP 2000035744A JP 2001231044 A JP2001231044 A JP 2001231044A
Authority
JP
Japan
Prior art keywords
data
search
register
output
search means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000035744A
Other languages
English (en)
Inventor
Maki Nishizawa
真樹 西澤
Mitsuhiro Ishii
光広 石井
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2000035744A priority Critical patent/JP2001231044A/ja
Priority to US09/779,730 priority patent/US6778609B2/en
Priority to EP20010103227 priority patent/EP1126722A3/en
Publication of JP2001231044A publication Critical patent/JP2001231044A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 ビットストリームがエラーを含む場合等、規
格外のデータ列構造であっても、正常に画像を表示する
ことができるMPEG画像復号装置を提供する。 【解決手段】 MPEG画像復号装置に、ビットストリ
ームを構成するデータを一時格納し、格納したデータを
出力するバッファ1と、出力されたデータを空き領域に
格納するレジスタ2と、データ中から1バイト単位の照
合によって特定のコードを探索する第1のデータ探索手
段3と、1ビット単位の照合によって特定のコードを探
索する第2のデータ探索手段4と、第1または第2のデ
ータ探索手段の出力の一方を選択する探索動作制御手段
5と、選択した出力に基づいてレジスタが格納したデー
タ中から探索済みデータを分離し、残された未探索デー
タをレジスタ内の先頭に移動させ、末尾に空き領域を形
成させるシフタ6と、分離した探索済みのデータを復号
する復号手段7とを設けた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、MPEG形式で圧
縮された画像データのビットストリームを復号する装置
に関し、特にビットストリーム中から、このビットスト
リームに含まれる各個別データの先頭に位置するスター
トコードを検出する装置に関する。
【0002】
【従来の技術】MPEGのビットストリームは、6層の
階層構造を有するので、このビットストリームに含まれ
る個別データが、どの階層に属しているのかを明確にす
るために、ビットストリームの各階層には、スタートコ
ードと呼ばれる特別な符号が設けられている。
【0003】ビットストリーム中には、スタートコード
以外に、このスタートコードと同じビットパターンとな
る部分はなく、また、スタートコードの先頭は、ビット
ストリームにおけるバイト配置(1バイト)の先頭に位
置することが、MPEGの規格で決められている。この
ため、スタートコードは、ビットストリームをバイト単
位で探索すれば検出することができるはずである。
【0004】図5に、従来技術におけるMPEG画像復
号装置の一例を示す。このMPEG画像復号装置に入力
される、個別データが連続したビットストリームは、バ
ッファ101に格納される。バッファ101に格納され
たビットストリームすなわちデータは、格納された順に
取り出され、レジスタ102に移される。バイトサーチ
手段103は、前記レジスタ102に格納されたデータ
中から、個別データの開始点を示すスタートコードを探
索する。バイトサーチ手段103が、レジスタ102内
のデータからスタートコードを探索する際の照合の間隔
は、バイト単位とされている。これは、スタートコード
がバイト配置の先頭位置から始まることが、MPEGの
規格で規定されているからである。
【0005】バイトサーチ手段103は、レジスタ10
2に格納されたデータ中からスタートコードを検出する
と、レジスタ102に格納されたデータ中でのスタート
コードの位置すなわちアドレスを、シフタ104へ伝達
する。シフタ104は、バイトサーチ手段103から伝
達されたアドレスによって、レジスタ102から送られ
たデータ中でのスタートコードの位置を特定し、位置を
特定したスタートコードのうちの、あるスタートコード
から次のスタートコードまでのデータを、前記「あるス
タートコード」の情報を表す探索済みデータとしてデコ
ーダ105へ送る。デコーダ105は、シフタ104か
ら送られた探索済みデータをデコード(復号)する。
【0006】一方、シフタ104内における、「あるス
タートコード」の次のスタートコード以後のデータは、
シフタ104内で、探索済みデータが削除された分だけ
先頭方向へシフトされ、未探索データとして前記レジス
タ102へ戻される。レジスタ102は、シフタ104
から戻された未探索データの末尾にできた空き領域に、
バッファ101から次のデータを補充する。そして、バ
イトサーチ手段103は、次のスタートコードを探索す
る。
【0007】以上のように、ビットストリーム中では、
スタートコードの先頭は、バイト配置の先頭に位置する
ことが、MPEG規格で決められているので、上記従来
技術におけるMPEG画像復号装置は、ビットストリー
ム中のスタートコードをバイト単位で探索するものであ
った。
【0008】
【発明が解決しようとする課題】しかし、上記の従来技
術には、次のような問題がある。すなわち、何らかの影
響で、ビットストリームに不要のビットが挿入された
り、ビットストリーム中の必要なビットが欠落したりし
て、スタートコードの先頭がバイト配置の先頭からずれ
てしまうと、上記の従来技術では、スタートコードを検
出できないので、正常に画像を表示することができな
い。
【0009】本発明は、上記の問題を解決するためにな
されたもので、ビットストリームに不要のビットが挿入
されたり、ビットストリーム中の必要なビットが欠落し
たりして、ビットストリームがエラーを含む場合等、規
格外のデータ列構造であっても、正常に画像を表示する
ことができるMPEG画像復号装置を提供するものであ
る。
【0010】
【課題を解決するための手段】請求項1に記載の発明
は、MPEG形式で圧縮されたビットストリームを入力
し、このビットストリームを構成するデータを一時格納
し、格納したデータを、入力したのと同じ順序で出力す
るバッファと、このバッファが出力するデータを入力
し、自身内の空き領域に順次格納するレジスタと、この
レジスタが格納したデータ中から、1バイト単位の照合
によって、特定のコードの位置を探索し、探索結果を出
力する第1のデータ探索手段と、前記レジスタが格納し
たデータ中から、1ビット単位の照合によって、特定の
コードの位置を探索し、探索結果を出力する第2のデー
タ探索手段と、前記第1のデータ探索手段の出力、また
は第2のデータ探索手段の出力のいずれか一方を選択す
る探索動作制御手段と、この探索動作制御手段が選択し
た出力に基づいて、前記レジスタが格納したデータ中か
ら、探索済みのデータを分離し、残された未探索のデー
タをレジスタ内の先頭に移動させ、レジスタ内の末尾に
空き領域を形成させるシフタと、このシフタが分離した
探索済みのデータを復号する復号手段とを具備すること
を特徴とするMPEG画像復号装置である。
【0011】請求項2に記載の発明は、前記第1のデー
タ探索手段および第2のデータ探索手段は、前記特定の
コードとして、ビットストリームに含まれる個別データ
の先頭に位置するスタートコードを探索することを特徴
とする請求項1に記載のMPEG画像復号装置である。
【0012】請求項3に記載の発明は、前記探索動作制
御手段は、まず、前記第1のデータ探索手段の出力を選
択し、この第1のデータ探索手段が特定のコードを検出
することができなかった場合に、前記第2のデータ探索
手段の出力を選択することを特徴とする請求項1または
2に記載のMPEG画像復号装置である。
【0013】請求項4に記載の発明は、前記探索動作制
御手段は、まず、前記第1のデータ探索手段の出力を選
択し、この第1のデータ探索手段がレジスタ内の全ての
領域を探索しても特定のコードを検出することができな
かった場合に、前記第2のデータ探索手段の出力を選択
することを特徴とする請求項3に記載のMPEG画像復
号装置である。
【0014】請求項5に記載の発明は、前記探索動作制
御手段は、まず、前記第1のデータ探索手段の出力を選
択し、この第1のデータ探索手段が所定の時間内に特定
のコードを検出することができなかった場合に、前記第
2のデータ探索手段の出力を選択することを特徴とする
請求項1または2に記載のMPEG画像復号装置であ
る。
【0015】請求項6に記載の発明は、前記探索動作制
御手段は、まず、前記第1のデータ探索手段の出力を選
択し、この第1のデータ探索手段が所定のデータ量の照
合を行っても特定のコードを検出することができなかっ
た場合に、前記第2のデータ探索手段の出力を選択する
ことを特徴とする請求項1または2に記載のMPEG画
像復号装置である。
【0016】請求項7に記載の発明は、前記探索動作制
御手段は、まず、前記第1のデータ探索手段の出力を選
択し、この第1のデータ探索手段での照合における、照
合位置の移動量の積算値が、所定の限界値を超えた場合
に、前記第2のデータ探索手段の出力を選択することを
特徴とする請求項6に記載のMPEG画像復号装置であ
る。
【0017】請求項8に記載の発明は、前記探索動作制
御手段は、まず、前記第1のデータ探索手段の出力を選
択し、これと同時にビットストリーム中のビットエラー
量を検出し、このビットエラー量が、所定の限界値を超
えた場合に、前記第2のデータ探索手段の出力を選択す
ることを特徴とする請求項1または2に記載のMPEG
画像復号装置である。
【0018】請求項9に記載の発明は、少なくとも前記
バッファの一部と、第1のデータ探索手段と、第2のデ
ータ探索手段と、シフタと、探索動作制御手段と、復号
手段とを同一の半導体集積回路基板上に形成したことを
特徴とする請求項1ないし8のいずれかに記載のMPE
G画像復号装置である。請求項10に記載の発明は、M
PEG形式で圧縮されたビットストリームを入力し、こ
のビットストリームを構成するデータを一時格納し、格
納したデータを、入力したのと同じ順序で出力する一時
格納過程と、この一時格納過程において出力されたデー
タを入力し、レジスタ内の空き領域に順次格納するレジ
スタ格納過程と、このレジスタ格納過程において前記レ
ジスタが格納したデータ中から、1バイト単位の照合に
よって、特定のコードの位置を探索し、探索結果を出力
する第1のデータ探索過程と、前記レジスタ格納過程に
おいて前記レジスタが格納したデータ中から、1ビット
単位の照合によって、特定のコードの位置を探索し、探
索結果を出力する第2のデータ探索過程と、前記第1の
データ探索過程における出力、または第2のデータ探索
過程における出力のいずれか一方を選択する選択過程
と、この選択過程において選択された出力に基づいて、
前記レジスタが格納したデータ中から、探索済みのデー
タを分離し、残された未探索のデータをレジスタ内の先
頭に移動させ、レジスタ内の末尾に空き領域を形成させ
るシフト過程と、このシフト過程において分離された探
索済みのデータを復号する復号過程とを有することを特
徴とするMPEG画像復号方法である。請求項11に記
載の発明は、前記第1のデータ探索過程および第2のデ
ータ探索過程では、前記特定のコードとして、ビットス
トリームに含まれる個別データの先頭に位置するスター
トコードを探索することを特徴とする請求項10に記載
のMPEG画像復号方法である。
【0019】上記構成によれば、MPEG形式で圧縮さ
れたビットストリーム中から特定のコード、例えばスタ
ートコードを探索する際に、探索方法を動的に切り替え
ることができるので、特定のコードを確実に検出するこ
とができる。
【0020】
【発明の実施の形態】まず、図1を参照し、本発明の一
実施形態におけるMPEG画像復号装置の構成を説明す
る。符号1は、このMPEG画像復号装置に送り込まれ
るビットストリームを一時保管するバッファである。こ
のバッファ1は、MPEG画像復号装置に送り込まれる
ビットストリームを、送り込まれた順に記憶し、記憶し
たのと同じ順序で出力する。
【0021】符号2は、前記バッファ1が出力するビッ
トストリームすなわちデータを入力し、自身の内部に格
納するレジスタである。符号3は、前記レジスタ2内に
格納されたデータ中からスタートコードをバイト単位で
探索するバイトサーチ手段である。符号4は、前記レジ
スタ2内に格納されたデータ中からスタートコードをビ
ット単位で探索するビットサーチ手段である。これらの
バイトサーチ手段3およびビットサーチ手段4は、レジ
スタ2内に格納されたデータ中からスタートコードを検
出すると、レジスタ2内に格納されたデータ中でのスタ
ートコードの位置すなわちアドレスを出力する。
【0022】符号5は、前記バイトサーチ手段3の出力
か、またはビットサーチ手段4の出力かの、いずれか一
方を選択して出力する自動制御手段である。
【0023】符号6は、前記レジスタ2から送り出され
るデータを入力し、前記自動制御手段5が出力するアド
レスに基づいて、前記データをシフトするシフタであ
る。すなわち、このシフタ6は、前記レジスタ2から入
力したデータ中でのスタートコードの位置を、前記自動
制御手段5が出力するアドレスによって特定し、データ
における、あるスタートコードから次のスタートコード
までの部分を、探索済みデータとして、後述するデコー
ダ7へ送り、あるスタートコードの次のスタートコード
以後の部分を、先頭方向へシフトさせる。そして、先頭
へシフトされ、末尾に空き領域ができた状態のデータ
を、未探索データとして、前記レジスタ2へ戻す。レジ
スタ2は、シフタ6から戻された、先頭へシフトされ、
末尾に空き領域ができた状態の未探索データの、末尾の
空き領域に、前記バッファ1からデータを補充する。
【0024】符号7は、前記シフタ6から送り出された
探索済みデータをデコード(復号)し、画像データを復
元するデコーダである。
【0025】次に、本実施形態の動作を説明する。本実
施形態におけるMPEG画像復号装置に送り込まれるビ
ットストリームは、一旦バッファ1に格納される。この
バッファ1は、MPEG画像復号装置に送り込まれるビ
ットストリームを構成するデータを、送り込まれた順に
記憶し、記憶したのと同じ順序で出力する。すなわち、
このバッファ1は、送り込まれた時刻が古い順に、デー
タを出力する。
【0026】バッファ1から出力されたデータは、レジ
スタ2に格納される。バイトサーチ手段3は、前記レジ
スタ2内に格納されたデータ中から、スタートコードを
バイト単位で探索する。また、ビットサーチ手段4は、
前記レジスタ2内に格納されたデータ中から、スタート
コードをビット単位で探索する。これらのバイトサーチ
手段3およびビットサーチ手段4におけるスタートコー
ドの探索方法については、後に詳述する。
【0027】これらのバイトサーチ手段3およびビット
サーチ手段4は、レジスタ2内に格納されたデータ中か
らスタートコードを検出すると、レジスタ2内に格納さ
れたデータ中でのスタートコードの位置すなわちアドレ
スを出力する。
【0028】自動制御手段5は、バイトサーチ手段3の
出力と、ビットサーチ手段4の出力との両方を入力し、
どちらか一方を選択して出力する。この自動制御手段5
は、通常はバイトサーチ手段3の出力を選択する。そし
て、バイトサーチ手段3がレジスタ2内に格納されたデ
ータ中からスタートコードを検出することができなかっ
た場合に、スタートコードの探索手段をビットサーチ手
段4に切り替え、このビットサーチ手段4の出力を選択
する。
【0029】なお、ビットサーチ手段4がスタートコー
ドを検出したら、自動制御手段5は、再度スタートコー
ドの探索手段をバイトサーチ手段3に戻す。これは、バ
イトサーチ手段3の方が、スタートコードの探索にかか
る時間が短くてすむので、バイトサーチ手段3がスター
トコードを検出することができない特別の場合にのみ、
ビットサーチ手段3を利用するようにしたいためであ
る。
【0030】なお、ビットサーチ手段4がスタートコー
ドを所定の回数、正常な位置(バイト配置の先頭)で検
出した後、すなわちスタートコード間の間隔が1バイト
の整数倍に戻り、これが所定の回数確認された後に、バ
イトサーチ手段3による探索に戻してもよい。
【0031】レジスタ2内に格納されたデータ中から、
バイトサーチ手段3またはビットサーチ手段4によって
スタートコードが検出されたら、レジスタ2は、格納さ
れたデータの全てをシフタ6へ送る。
【0032】シフタ6は、レジスタ2から送られたデー
タ中の、スタートコードの位置を、前記自動制御手段5
から送られるアドレスによって特定し、データにおけ
る、あるスタートコードから、次のスタートコードまで
のデータを、探索済みデータとしてデコーダ7へ送る。
デコーダ7は、シフタ6から送られた探索済みデータを
デコード(復号)し、画像データを復元する。
【0033】そして、シフタ6内に残された、あるスタ
ートコードの次のスタートコード以後の部分、すなわち
あるスタートコードの次のスタートコードより、前記バ
ッファ1に送り込まれた時刻が新しいデータを、このシ
フタ6内で、先頭方向へシフト(移動)させる。そし
て、探索済みデータが削除された分だけ先頭へシフトさ
れ、末尾に空き領域ができた状態のデータを、未探索デ
ータとして、前記レジスタ2へ戻す。
【0034】レジスタ2は、シフタ6から戻された、先
頭へシフトされ、末尾に空き領域ができた状態の未探索
データの、末尾の空き領域に、前記バッファ1から次の
データを補充する。レジスタ2へのデータの補充が完了
すると、前記バイトサーチ手段3およびビットサーチ手
段4は、次のスタートコードの探索を開始する。
【0035】次に、図2を参照し、前記バイトサーチ手
段3およびビットサーチ手段4が、ビットストリーム中
からスタートコードを探索する動作を詳細に説明する。
【0036】図2(a)に示す、エラーのないビットス
トリームに対しては、バイトサーチ手段3によるバイト
毎の探索が利用される。すなわち、ビットストリームに
エラーがなければ、スタートコードの先頭Aは、必ずバ
イト配置の先頭に位置するので、あるスタートコード
と、次のスタートコードとの間隔は、必ずバイト単位す
なわち1バイト(8ビット)の整数倍となる。従って、
直前のスタートコードの位置が判っていれば、バイトサ
ーチ手段3は、ビットストリーム中をバイト毎に探索す
ることによって、もれなく全てのスタートコードを検出
することができる。
【0037】図2(b)は、エラーを含むビットストリ
ームの一例を示している。このビットストリームにおい
ては、何らかのエラーによって、スタートコードの先頭
Bが、バイト配置の先頭からずれている。
【0038】エラーの原因としては、次のようなことが
考えられる。すなわち、ビットストリームには、画像デ
ータ等のデータと、データ以外のヘッダが含まれてい
る。このようなビットストリーム中のデータを再生する
には、データと、データ以外のヘッダとを分離する必要
がある。この分離の過程で、正しい位置での分離が行わ
れないと、不要データの混入や、必要なデータの欠落が
起こる可能性がある。
【0039】また、ビットストリームが、ある回路ブロ
ックから次段の回路ブロックへ送られる際に、伝送エラ
ーが起こり、不要データの混入や、必要なデータの欠落
が起こる可能性がある。
【0040】上記のような原因により、あるスタートコ
ードと、次のスタートコードとの間隔が、バイト単位す
なわち1バイト(8ビット)の整数倍となっていない場
合には、バイトサーチ手段3によるバイト毎の探索で
は、スタートコードを取りこぼしてしまうので、ビット
サーチ手段4によるビット毎の探索に切り替えられ、こ
のビットサーチ手段4によるビット毎の探索が利用され
る。ビットサーチ手段4は、ビット単位で探索位置を移
動させるので、スタートコード間の間隔がバイト単位と
なっていない、エラーを含むビットストリームであって
も、もれなく全てのスタートコードを検出することがで
きる。
【0041】ビットサーチ手段4によるビット単位での
探索は、確実ではあるが、反面、時間がかかるので、通
常はバイトサーチ手段3によるバイト単位での探索が利
用される。そして、何らかの原因によって、ビットスト
リーム中に不要なビットが混入したり、あるいは必要な
ビットが欠落したりして、スタートコード間の間隔がバ
イト単位となっていない場合にのみ、ビットサーチ手段
4によるビット毎の探索が利用される。そして、ビット
サーチ手段4がスタートコードを検出したら、直ちにス
タートコードの探索手段がバイトサーチ手段3に戻され
る。
【0042】バイトサーチ手段3によるバイト単位での
探索と、ビットサーチ手段4によるビット単位での探索
との切り替えは、自動制御手段5が行う。すなわち、自
動制御手段5は、バイトサーチ手段3が、レジスタ2内
に格納されたデータ中からスタートコードを検出するこ
とができなかった場合に、スタートコードの探索手段を
ビットサーチ手段4に切り替える。
【0043】なお、上記の切り替えを、所定の時間内に
バイトサーチ手段3がスタートコードを検出することが
できなかった場合に行ってもよい。すなわち、バイトサ
ーチ手段3が、レジスタ2内に格納されたデータ中から
スタートコードを検出することができなかった場合であ
っても、前回のスタートコードの検出から所定の時間が
経過していなければ、レジスタ2内のデータを、シフタ
6を介してデコーダ7へ送り、次のデータをバッファ1
からレジスタ2へ取り込み、バイトサーチ手段3による
バイト毎の探索を継続させる。そして、前回のスタート
コードの検出から所定の時間が経過しても、バイトサー
チ手段3が、次のスタートコードを検出することができ
なかったときに、スタートコードの探索方法をビットサ
ーチ手段4によるビット毎の探索に切り替える。
【0044】また、上記の切り替えを、時間で行う代わ
りに、前回のスタートコードの検出からのデータ量(ビ
ット数またはバイト数)をカウントすることによって行
ってもよい。
【0045】ところで、ビットストリーム中のスタート
コードは、常に一定の間隔で挿入されているとは限らな
い。これは、スタートコードに続くデータの量が、常に
一定とは限らないためである。例えば、スタートコード
に続くデータが、簡単な画像のデータである場合には、
データ長は短く、スタートコード間の間隔は短くなる。
逆に、スタートコードに続くデータの情報量が多い場合
には、データ長が長くなり、スタートコード間の間隔は
長くなる。このように、スタートコード間の間隔は変動
する。
【0046】ただし、スタートコード間の間隔は、変動
はあるものの、所定の範囲内には入るはずである。すな
わち、スタートコード間の間隔は、所定の最大値と最小
値との間に入るはずである。従って、上記の時間または
データ量が、所定の最大値を超えた場合に、ビットスト
リームにエラーがあるとみなし、ビット単位の探索に切
り替えればよい。
【0047】なお、ビットストリーム中のビットエラー
量、例えば、所定の時間内における、ビットストリーム
中の特定のビットが規定の値となっていない回数を検出
し、このビットエラー量が所定のレベルを超えたとき、
バイトサーチ手段3によるバイト毎の探索から、ビット
サーチ手段4によるビット毎の探索に切り替えるように
してもよい。この場合、ビットストリーム中のビットエ
ラー量が所定のレベルより少なくなったら、バイトサー
チ手段3によるバイト毎の探索に戻せばよい。
【0048】次に、図3を参照し、バイトサーチ手段3
によるバイト毎のスタートコード探索の手順を、さらに
詳細に説明する。
【0049】まず、探索の手順の説明に先だって、スタ
ートコードの構造を説明する。スタートコードは、4バ
イトで構成されている。4バイトのスタートコードのう
ち、先頭の3バイト(24ビット)は、1バイト目が0
0(h)、2バイト目が00(h)、3バイト目が01
(h)に固定されている。ビットストリーム中には、こ
の3バイト以外に、この3バイトと同じパターンとなる
部分はない。なお、スタートコードの4バイト目が、こ
のスタートコードの具体的な種類を示す。例えば、この
1バイトが00(h)のときはpicture_start_codeを表
し、B3(h)のときはsequence_header_codeを表す。
画像サイズなどの情報は、これらの4バイトのスタート
コードの後に続いている。
【0050】従って、バイトサーチ手段3は、レジスタ
2に格納されたデータ中の連続する3バイトが、000
001(h)となっている部分を検出すれば、スタート
コードの位置を検出することができる。このため、バイ
トサーチ手段3は、レジスタ2に格納されたデータとの
照合のための3バイト(24ビット)の期待値として、
000001(h)を記憶している。
【0051】バイトサーチ手段3は、まず、図3(a)
に示すように、3バイトの期待値と、レジスタ2に格納
されたデータの、先頭の3バイトとの照合を行う。この
照合で、例えば2バイト目が不一致であった場合には、
図3(b)に示すように、期待値の先頭を、レジスタ2
に格納されたデータの、不一致となった2バイト目の次
の3バイト目に移動させ、再度照合を行う。すなわち、
バイトサーチ手段3は、照合の位置をバイト単位で移動
させる。
【0052】バイトサーチ手段3は、上記の動作を、期
待値とデータとが一致するまで繰り返す。期待値とデー
タが一致した位置が、スタートコードの先頭である。
【0053】次に、図4を参照し、ビットサーチ手段4
によるビット毎のスタートコード探索の手順を、さらに
詳細に説明する。
【0054】ビットサーチ手段4も、前記バイトサーチ
手段3と同様に、レジスタ2に格納されたデータ中の連
続する3バイトが、000001(h)となっている部
分を検出すれば、スタートコードの位置を検出すること
ができる。従って、ビットサーチ手段4も、レジスタ2
に格納されたデータとの照合のための3バイト(24ビ
ット)の期待値として、000001(h)を記憶して
いる。これは、換言すれば、23ビット分の“0”と1
ビット分の“1”とで構成された24ビットの期待値を
記憶している、ということである。
【0055】ビットサーチ手段4は、まず、図4(a)
に示すように、24ビットの期待値と、レジスタ2に格
納されたデータの、先頭の24ビットとの照合を行う。
この照合で、例えば4ビット目が不一致であった場合に
は、図4(b)に示すように、期待値の先頭を、レジス
タ2に格納されたデータの、不一致となった4ビット目
の次の5ビット目に移動させ、再度照合を行う。すなわ
ち、ビットサーチ手段4は、照合の位置をビット単位で
移動させる。
【0056】ビットサーチ手段4は、上記の動作を、期
待値とデータとが一致するまで繰り返す。期待値とデー
タが一致した位置が、スタートコードの先頭である。以
上のように、ビットサーチ手段4によるビット毎のスタ
ートコード探索では、照合の位置をビット単位で移動さ
せるので、ビットストリームがエラーを含み、スタート
コード間の間隔がバイト単位となっていない場合であっ
ても、スタートコードを検出することができる。
【0057】なお、上記実施形態では、バイト毎の探索
とビット毎の探索との2つの探索方法の切り替えを、ハ
ードウェアである自動制御手段5が行うものとしたが、
この切り替えをソフトウェアで行うこともできる。
【0058】また、上記実施形態には、スタートコード
の探索方法を切り替える例を示したが、本発明は、スタ
ートコード以外のパターンの検出にも適用することがで
きる。
【0059】
【発明の効果】本発明によれば、何らかの影響でビット
ストリーム中に不要データの挿入やデータの欠落が起こ
っても、スタートコードを検出することができるため、
ビットストリーム中のスタートコードを取りこぼしなく
確実に検出することができるので、スムーズな画像再生
が可能になる。
【図面の簡単な説明】
【図1】 本発明の一実施形態におけるMPEG画像復
号装置の構成図。
【図2】 バイトサーチ手段3およびビットサーチ手段
4が、ビットストリーム中からスタートコードを探索す
る動作を説明するための図。
【図3】 バイトサーチ手段3によるバイト毎のスター
トコード探索の手順を説明するための図。
【図4】 ビットサーチ手段4によるビット毎のスター
トコード探索の手順を説明するための図。
【図5】 従来技術におけるMPEG画像復号装置の一
例を示す図。
【符号の説明】
1 バッファ 2 レジスタ 3 バイトサーチ手段(第1のデータ探索手段) 4 ビットサーチ手段(第2のデータ探索手段) 5 自動制御手段(探索動作制御手段) 6 シフタ 7 デコーダ(復
号手段) 101 バッファ 102 レジスタ 103 バイトサーチ手段 104 シフタ 105 デコーダ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5C052 AA17 AC08 CC11 GB06 5C059 MA00 RB08 RB10 RC01 RF01 TA71 TB11 TC22 TD12 UA05 UA34 5J064 AA01 BA16 BC02 BC04 BD03

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 MPEG形式で圧縮されたビットストリ
    ームを入力し、このビットストリームを構成するデータ
    を一時格納し、格納したデータを、入力したのと同じ順
    序で出力するバッファと、 このバッファが出力するデータを入力し、自身内の空き
    領域に順次格納するレジスタと、 このレジスタが格納したデータ中から、1バイト単位の
    照合によって、特定のコードの位置を探索し、探索結果
    を出力する第1のデータ探索手段と、 前記レジスタが格納したデータ中から、1ビット単位の
    照合によって、特定のコードの位置を探索し、探索結果
    を出力する第2のデータ探索手段と、 前記第1のデータ探索手段の出力、または第2のデータ
    探索手段の出力のいずれか一方を選択する探索動作制御
    手段と、 この探索動作制御手段が選択した出力に基づいて、前記
    レジスタが格納したデータ中から、探索済みのデータを
    分離し、残された未探索のデータをレジスタ内の先頭に
    移動させ、レジスタ内の末尾に空き領域を形成させるシ
    フタと、 このシフタが分離した探索済みのデータを復号する復号
    手段とを具備することを特徴とするMPEG画像復号装
    置。
  2. 【請求項2】 前記第1のデータ探索手段および第2の
    データ探索手段は、前記特定のコードとして、ビットス
    トリームに含まれる個別データの先頭に位置するスター
    トコードを探索することを特徴とする請求項1に記載の
    MPEG画像復号装置。
  3. 【請求項3】 前記探索動作制御手段は、まず、前記第
    1のデータ探索手段の出力を選択し、この第1のデータ
    探索手段が特定のコードを検出することができなかった
    場合に、前記第2のデータ探索手段の出力を選択するこ
    とを特徴とする請求項1または2に記載のMPEG画像
    復号装置。
  4. 【請求項4】 前記探索動作制御手段は、まず、前記第
    1のデータ探索手段の出力を選択し、この第1のデータ
    探索手段がレジスタ内の全ての領域を探索しても特定の
    コードを検出することができなかった場合に、前記第2
    のデータ探索手段の出力を選択することを特徴とする請
    求項3に記載のMPEG画像復号装置。
  5. 【請求項5】 前記探索動作制御手段は、まず、前記第
    1のデータ探索手段の出力を選択し、この第1のデータ
    探索手段が所定の時間内に特定のコードを検出すること
    ができなかった場合に、前記第2のデータ探索手段の出
    力を選択することを特徴とする請求項1または2に記載
    のMPEG画像復号装置。
  6. 【請求項6】 前記探索動作制御手段は、まず、前記第
    1のデータ探索手段の出力を選択し、この第1のデータ
    探索手段が所定のデータ量の照合を行っても特定のコー
    ドを検出することができなかった場合に、前記第2のデ
    ータ探索手段の出力を選択することを特徴とする請求項
    1または2に記載のMPEG画像復号装置。
  7. 【請求項7】 前記探索動作制御手段は、まず、前記第
    1のデータ探索手段の出力を選択し、この第1のデータ
    探索手段での照合における、照合位置の移動量の積算値
    が、所定の限界値を超えた場合に、前記第2のデータ探
    索手段の出力を選択することを特徴とする請求項6に記
    載のMPEG画像復号装置。
  8. 【請求項8】 前記探索動作制御手段は、まず、前記第
    1のデータ探索手段の出力を選択し、これと同時にビッ
    トストリーム中のビットエラー量を検出し、このビット
    エラー量が、所定の限界値を超えた場合に、前記第2の
    データ探索手段の出力を選択することを特徴とする請求
    項1または2に記載のMPEG画像復号装置。
  9. 【請求項9】 少なくとも前記バッファの一部と、第1
    のデータ探索手段と、第2のデータ探索手段と、シフタ
    と、探索動作制御手段と、復号手段とを同一の半導体集
    積回路基板上に形成したことを特徴とする請求項1ない
    し8のいずれかに記載のMPEG画像復号装置。
  10. 【請求項10】 MPEG形式で圧縮されたビットスト
    リームを入力し、このビットストリームを構成するデー
    タを一時格納し、格納したデータを、入力したのと同じ
    順序で出力する一時格納過程と、 この一時格納過程において出力されたデータを入力し、
    レジスタ内の空き領域に順次格納するレジスタ格納過程
    と、 このレジスタ格納過程において前記レジスタが格納した
    データ中から、1バイト単位の照合によって、特定のコ
    ードの位置を探索し、探索結果を出力する第1のデータ
    探索過程と、 前記レジスタ格納過程において前記レジスタが格納した
    データ中から、1ビット単位の照合によって、特定のコ
    ードの位置を探索し、探索結果を出力する第2のデータ
    探索過程と、 前記第1のデータ探索過程における出力、または第2の
    データ探索過程における出力のいずれか一方を選択する
    選択過程と、 この選択過程において選択された出力に基づいて、前記
    レジスタが格納したデータ中から、探索済みのデータを
    分離し、残された未探索のデータをレジスタ内の先頭に
    移動させ、レジスタ内の末尾に空き領域を形成させるシ
    フト過程と、 このシフト過程において分離された探索済みのデータを
    復号する復号過程とを有することを特徴とするMPEG
    画像復号方法。
  11. 【請求項11】 前記第1のデータ探索過程および第2
    のデータ探索過程では、前記特定のコードとして、ビッ
    トストリームに含まれる個別データの先頭に位置するス
    タートコードを探索することを特徴とする請求項10に
    記載のMPEG画像復号方法。
JP2000035744A 2000-02-14 2000-02-14 Mpeg画像復号装置および方法 Pending JP2001231044A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000035744A JP2001231044A (ja) 2000-02-14 2000-02-14 Mpeg画像復号装置および方法
US09/779,730 US6778609B2 (en) 2000-02-14 2001-02-09 MPEG image decoding apparatus and method for switching operation of searching for specific code in bit stream
EP20010103227 EP1126722A3 (en) 2000-02-14 2001-02-12 MPEG image decoding apparatus and method for searching a specific code in the bitstream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000035744A JP2001231044A (ja) 2000-02-14 2000-02-14 Mpeg画像復号装置および方法

Publications (1)

Publication Number Publication Date
JP2001231044A true JP2001231044A (ja) 2001-08-24

Family

ID=18559901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000035744A Pending JP2001231044A (ja) 2000-02-14 2000-02-14 Mpeg画像復号装置および方法

Country Status (3)

Country Link
US (1) US6778609B2 (ja)
EP (1) EP1126722A3 (ja)
JP (1) JP2001231044A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4444762B2 (ja) * 2004-08-25 2010-03-31 パナソニック株式会社 デマルチプレクサ
US7587671B2 (en) * 2005-05-17 2009-09-08 Palm, Inc. Image repositioning, storage and retrieval
JP2007274051A (ja) * 2006-03-30 2007-10-18 Toshiba Corp バイト列探索器及び探索方法
US9031096B2 (en) * 2007-09-24 2015-05-12 Mediatek Inc. Multimedia data synchronization method and system
EP2043365B1 (en) * 2007-09-24 2013-06-19 MediaTek Inc. Multimedia data synchronization method and system
EP3295660A4 (en) * 2015-06-03 2019-05-29 MediaTek Inc. METHOD FOR PALLET CODING OF IMAGE AND VIDEO DATA

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751773A (en) * 1992-03-12 1998-05-12 Ntp Incorporated System for wireless serial transmission of encoded information
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
US5444743A (en) * 1993-11-18 1995-08-22 Hitachi America, Ltd. Synchronous pulse generator
US5943374A (en) 1995-12-11 1999-08-24 Hitachi Denshi Kabushiki Kaisha Out-of-synchronization recovery method and apparatus of data transmission system
JP3368160B2 (ja) 1995-12-11 2003-01-20 株式会社日立国際電気 データ伝送システムにおける同期復旧方法及びその装置
JPH11168458A (ja) 1997-09-12 1999-06-22 Matsushita Electric Ind Co Ltd 同期フラグ抽出方法、多重伝送方法ならびにバイト同期送信方法
JPH11136225A (ja) * 1997-10-30 1999-05-21 Matsushita Electric Ind Co Ltd ビットストリームにおけるスタートコードを検出する方法および装置
GB9807208D0 (en) * 1998-04-03 1998-06-03 Nds Ltd Method and apparatus for detecting a sequence in a bitstream

Also Published As

Publication number Publication date
EP1126722A3 (en) 2005-03-23
US6778609B2 (en) 2004-08-17
EP1126722A2 (en) 2001-08-22
US20010014126A1 (en) 2001-08-16

Similar Documents

Publication Publication Date Title
EP0166023B1 (en) Method and system for data compression and restoration
CN1916961B (zh) 可中断图形处理单元及其控制方法
TWI310137B (en) Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
CN100538736C (zh) 存储和回存状态上下文在图形处理单元的方法和装置
JP3225638B2 (ja) データを圧縮するための装置及び方法並びにデータ処理システム
CN1202782A (zh) 具有分包基本流解码器的活动图像专家组标准ⅱ系统
JPH11136225A (ja) ビットストリームにおけるスタートコードを検出する方法および装置
CA2181736A1 (en) Frame synchronisation method
US8947272B2 (en) Decoding encoded data
JPH0817403B2 (ja) デジタルデータ流中のパケットの境界を検出する方法および装置
JPH11252062A (ja) 通信方式における信号の同期化および巡回冗長検査を効率的に実行する方法および装置
JP2001231044A (ja) Mpeg画像復号装置および方法
US7383492B2 (en) First-in/first-out (FIFO) information protection and error detection method and apparatus
JPH1139315A (ja) フォーマットされた文書を順序付けされたワードリストへ変換する方法
JP2774490B2 (ja) 画像コードの復号装置
US6895542B2 (en) Data recovery circuit and method and data receiving system using the same
JP2729491B2 (ja) 可変長文字列検出装置
CN1462553A (zh) 复制和处理音视频信息的方法和装置
JP2561791B2 (ja) Fm多重放送受信機
JP2774488B2 (ja) 画像コードの復号装置
JP3182250B2 (ja) 自動繰返し検出入力装置
JPH1065753A (ja) 通信プロトコル処理方法
KR960043916A (ko) 주문형 비디오 시스템에서의 데이타 에러 복원 방법
SU1488804A2 (ru) Имитатор канала
JPH0146912B2 (ja)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040316