JPH1198020A - ビットストリーム解析方法及び装置 - Google Patents

ビットストリーム解析方法及び装置

Info

Publication number
JPH1198020A
JPH1198020A JP25861797A JP25861797A JPH1198020A JP H1198020 A JPH1198020 A JP H1198020A JP 25861797 A JP25861797 A JP 25861797A JP 25861797 A JP25861797 A JP 25861797A JP H1198020 A JPH1198020 A JP H1198020A
Authority
JP
Japan
Prior art keywords
bit stream
decoding
huffman
data
detection
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
JP25861797A
Other languages
English (en)
Inventor
Nozomi Ozaki
望 尾崎
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP25861797A priority Critical patent/JPH1198020A/ja
Priority to US09/158,034 priority patent/US6185339B1/en
Publication of JPH1198020A publication Critical patent/JPH1198020A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof

Abstract

(57)【要約】 【課題】 順次処理を行うべきビットストリームの解析
や可変長符号の復号において、高速のクロックや高速の
回路技術を必要とすることなく、処理能力の向上を実現
する。 【解決手段】 MPEGビデオストリームをデコードす
るMPEGビデオデコーダであり、スライスレイヤのス
ライススタートコードを検出して2つのサブストリーム
に分割するプレパーサ3(ビットストリーム分割器)
と、分割されたサブストリームをそれぞれデコードする
ビデオデコーダ9,10と、ビデオデコーダ9,10に
よりデコードされたデータを整合性を保って合成するメ
モリコントローラ(メモリインターフェイス)6及び外
付けメモリ4とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像圧縮や音声圧
縮など可変長符号化とヘッダ情報の付加により生成され
る圧縮されたビットストリームを高速にデコードするデ
コーダ回路に使用されるビットストリーム解析方法及び
装置に関し、特に、ビットレートが高く、回路の高速化
だけでは対応が難しい可変長符号器やストリームパーサ
ーへの応用が可能なものである。
【0002】
【従来の技術】従来より、例えば画像や音声などの圧縮
技術では、算術的な変換を施した後の画像や音声などの
データに可変長符号化(Variable Length Coding)を施
し、さらにその後、ヘッダ情報を付加することで、圧縮
されたビットストリームを生成することが多く用いられ
る。
【0003】このように、画像や音声などを可変長符号
化すると共にヘッダ情報を付加して生成された圧縮ビッ
トストリームの解析と当該ビットストリームに含まれる
可変長符号の復号とを行う際、従来は、1個のビットス
トリーム解析装置でヘッダ情報の解析と可変長符号の復
号とが遂次行われる。従来より、このビットストリーム
の解析、特に可変長符号の復号の高速化を実現するため
には、回路上で様々な高速化への工夫がなされてきた。
【0004】
【発明が解決しようとする課題】ところで、上記ビット
ストリームの解析を行う場合において、上記ヘッダ情報
の解析処理を高速化するためには、例えば、一時に扱え
るヘッダの長さ、或いは個数を増加させたり、処理クロ
ックを増加させるなどの方法がとられてきた。
【0005】一方、上記可変長符号の復号の際は、ビッ
トストリームの符号テーブルへの入力、一致符号の長さ
の読み出し、バレルシフタでのシフト量への加算、バレ
ルシフタでのシフト、というような一連の処理ループが
必要であり、このため、当該可変長符号の復号処理の高
速化を目的として例えば処理クロックを増加させること
などの手法をとることは困難である。その上、可変長符
号は、基本的には1次元に連なったビットストリームを
先頭から遂次解析、判別する必要があるため、それら処
理を並列化するようなことも難しい。
【0006】そこで、本発明はこのような状況に鑑みて
なされたものであり、順次処理を行うべきビットストリ
ームの解析や可変長符号の復号において、高速のクロッ
クや高速の回路技術を必要とすることなく、処理能力の
向上が実現可能な、ビットストリーム解析方法及び装置
を提供することを目的とする。
【0007】
【課題を解決するための手段】本発明は、圧縮エンコー
ドデータを含むと共に所定の単位毎に異なる特定コード
パターンが付加されてなるビットストリームを解析する
ビットストリーム解析方法及び装置であり、一の単位の
特定コードパターンを検出し、その検出に応じてビット
ストリームを複数のサブストリームに分割し、これら複
数のサブストリームをそれぞれデコードして整合性を保
たせて合成することにより、上述した課題を解決する。
【0008】すなわち本発明は、ビットストリームの先
読みにより特定コードパターンの検出(例えばヘッダ情
報の処理)を行い、その検出に応じてビットストリーム
を複数のサブストリームに分割し、それらサブストリー
ムを並列にデコード処理することにより、処理能力の向
上を実現する。このように、本発明は特定コードパター
ン(例えばヘッダ情報レベル)でのビットストリームの
分割が可能な場合に適応可能で、MPEGでは例えばス
ライス毎に処理を分割する。
【0009】また、本発明は、ハフマン符号化した圧縮
エンコードデータを含むビットストリームを解析するビ
ットストリーム解析方法及び装置であり、ビットストリ
ームの途中位置からのデータを1ビットづつシフトしな
がらハフマンテーブルと比較して一致の有無を検出し、
その一致の有無検出結果に基づいてハフマン符号の境界
位置を検出し、別にビットストリームの先頭位置からデ
コードしたデータと上記境界位置からデコードしたデー
タとを合成することにより、上述した課題を解決する。
【0010】すなわち本発明は、可変長符号の復号器で
のビットストリームの分割であり、ビットストリームの
先読みを行う際に、ビットストリームの先頭からの処理
とは別に、ビットストリームの適当な場所から先読みを
行い、このビットストリームをハフマンデコーダのテー
ブルに入力する。何れかのハフマンテーブルの値に一致
すればそのまま通常の方法での可変長符号の復号を行っ
ていく。もし、一致するものがなければ、1ビットずら
して再度一致するかどうかを上記と同様に処理する。こ
のようにして、ハフマンテーブルでの一致が起こるまで
1ビットづつシフトを行い、一致したところからは通常
と同様の処理を行って、可変長符号の復号、ヘッダの処
理等を行い、複数のブロックで並列してビットストリー
ムの解析を行って処理能力の向上を図るようにしてい
る。
【0011】上述のように、ビットストリームの解析を
並列化処理すれば、処理ブロックのクロック周波数の増
大を必要とすることなくビットストリームの処理能力の
向上が実現できる。近年のLSI(大規模集積回路)プ
ロセスの縮小化による動作速度の上昇がある反面、電源
電圧の低減による消費電力の削減の強い要求により、高
速での動作が単純には実現が難しくなってきており、本
発明のような並列化による処理能力向上はこれらの要求
にも適している。
【0012】
【発明の実施の形態】以下、本発明の好ましい実施の形
態について、図面を参照しながら説明する。
【0013】国際規格の圧縮技術としてJPEG(Join
t Photographic Coding Experts Group)やMPEG(M
oving Picture Image Coding Experts Group)などが幅
広く用いられているが、本発明実施の形態では、上記M
PEGの圧縮技術を例に挙げて説明する。もちろん、本
発明は上記MPEGへの応用に限るものではなく、様々
な圧縮技術に応用することができることは言うまでもな
い。なお、MPEGとは、国際標準化機構/国際電機標
準会議 合同技術委員会1/専門部会 29(ISO/IEC J
TC1/SC29(International Organization for Stan-dardi
zation/International Electrotechnical Commission,
Joint Technical Commitee 1/Sub Commitee 29:)の蓄
積用動画像符号化の検討組織の略称であり、MPEG1
標準としてISO11172が、MPEG2標準として
ISO13818がある。これらの国際標準において、
システム多重化の項目でISO11172−1及びIS
O13818−1が、映像符号化の項目でISO111
72−2及びISO13818−2が、音声符号化の項
目でISO11172−3及びISO13818−3
が、それぞれ標準化されている。
【0014】先ず、本発明実施の形態の具体的内容の説
明を行う前に、上記MPEGについて簡単に説明し、ま
た、本発明との差異を明確にすべくMPEGのビットス
トリーム解析の一般的な手法について述べた後に、本発
明実施の形態にて採用するビットストリーム解析の手法
について詳細に説明する。
【0015】MPEGでは、圧縮されたビットストリー
ムは幾つかの所定単位すなわちレイヤに階層化されてい
る。図1には、MPEGでのレイヤを簡単に示してい
る。この図1において、最上位のビットストリーム(bi
t stream)には、当該ビットストリームの内容を示すシ
ーケンスヘッダ(Sequence_header)と画像のデータが
含まれる。
【0016】画像データは、図1に示すように、グルー
プオブピクチャ(GOP:Group_of_picture)、ピクチ
ャ(Picture)、スライス(Slice)、マイクロブロック
(Macroblock)、ブロック(Block)などの階層を持
つ。ピクチャレイヤが1フレーム又は1フィールドのデ
ータに相当する。スライスレイヤまでには、それぞれそ
の先頭にヘッダコード或いはスタートコードが配置され
ている。すなわち、ビットストリームにはシーケンスヘ
ッダコード(SHC:Sequence_header_code)が、GO
Pにはグループスタートコード(GSC:Group__start
_code)が、ピクチャにはピクチャスタートコード(P
SC:Picture_start_code)が、スライスにはスライス
スタートコード(SSC:Slice_start_code)が配置さ
れている。各スタートコードは32ビットでバイトアラ
イメントされており、各レイヤごとに一意に決められて
いるのでレイヤの位置検出に使用することができる。一
方、マイクロブロックレイヤ以下では何種類かの可変長
符号を含んでいる。
【0017】ここで、一般的なMPEGデコーダでは、
ビットストリームの先頭から解析を始め、順次上位のレ
イヤの処理から下位のレイヤの処理へ移りながら遂次処
理が行われる。マイクロプロセッサなどのソフトウェア
の処理の場合でも、各処理に対応した回路を持つハード
ワイヤードロジックの場合でも、同様にビットストリー
ムの先頭からの処理が行われる。具体的にいうと、ヘッ
ダ情報はビットストリーム上で検出された後、抽出され
適切なレジスタに保持され、デコード動作や後の動作制
御に使用される。ビットストリームの解析が進み可変長
符号まで達した際には、ビットストリームを可変長符号
(ハフマン符号)のテーブルに入力し、一致するハフマ
ンコードを検出して復号化を行う。特に、ハフマン符号
では符号の切れ目が不明確なため、ビットストリームの
先頭からの遂次処理が必要となっている。このように、
一般に、ビットストリームのデコードには先頭からの遂
次デコードが原則であり、特にハフマン符号のデコード
の並列化は不可能と思われていた。
【0018】これに対して、本発明実施の形態では、M
PEG等のビットストリームのデコード処理において、
以下に述べる第1,第2の2つのビットストリーム解析
手法によって、並列化を実現し、処理の高速化を図って
いる。なお、第1,第2の2つのビットストリーム解析
手法は、それぞれビットストリームを分割して複数個の
デコーダにより並列して処理を行うという基本思想は同
じである。
【0019】第1のビットストリーム解析手法から説明
する。当該第1のビットストリーム解析手法は、スター
トコーダなどの一意に検出できる特定パターンによりビ
ットストリームの境界についての情報を得て、ビットス
トリームをある程度の塊として分割し、それら塊を並列
処理して処理の高速化を実現するものである。すなわ
ち、第1のビットストリーム解析手法は、連続するビッ
トストリームの切れ目としてスタートコードを検出し、
処理の分割を行うビットストリームの分割方法に関わる
ものである。
【0020】この第1のビットストリーム解析手法を実
現する構成では、入力されたビットストリームから適当
なレイヤのスタートコードが検出され、順次別々のスト
リームバッファへ送られる。各ストリームバッファから
読み出されたビットストリームは、ヘッダの解析やハフ
マン符号のデコードを行うブロックに送られ、それぞれ
独立にデコードされる。デコードされた結果は、後段で
並べ替えが行われ、整合がとられる。上記ビットストリ
ームの分割のために使用されるスタートコードとして
は、前記ピクチャスタートコード(PSC)やスライス
スタートコード(SSC)などがあるが、MPEGでは
フレーム間の処理があるためより細かい分割であるスラ
イスレイヤでの処理が望ましいと思われ、本実施の形態
ではこのスライススタートコードでの分割を採用する。
【0021】この第1のビットストリーム解析手法を実
現する構成は、スタートコードの検出が一意に行え、誤
動作がないことが保証されているのであれば、一般的な
構成に簡単な回路を追加するのみで実現できる。しかし
ながら、偽のスタートコードを検出(スタートコードの
誤検出)してしまう可能性がある場合には、検出された
スタートコードが適切であり、その後いかなる矛盾も生
じないことを持って妥当な分割であることを保証する必
要がある。万が一、分割後に矛盾が発生した際には、再
度検出をやり直す機構などが必要となる。これらの機能
が必要かどうかは、ビットストリームの文法の構成や要
求されるデコーダの品質、信頼性に依存する。
【0022】図2には、上記第1のビットストリーム解
析手法をMPEGビデオデコーダに適用した場合の具体
的な構成例を示す。なお、この図2の構成は、MPEG
のビデオデコーダへの応用を示したものであるが、図示
と説明を簡略化するために、通常のビデオデコーダで必
要となるその他の機能、例えばグラフィックス関連のブ
ロックやオーディオのデコーダなどについては省略され
ている。また、デコーダの実現方法についても様々なも
のが考えられるが、この図2の例では、1個の外付けメ
モリと、2個のビデオデコーダブロックと、本実施の形
態のビットストリーム解析手法を実現するのに必要なビ
ットストリーム分割器とを有してなる構成を示した。ま
た、以下の説明では、スライスレベルでの分割を実現し
たものを例に挙げている。また、分割数は簡単のため2
つとした。
【0023】この図2において、上記第1のビットスト
リーム解析手法を実現するMPEGデコーダ1には、M
PEGのビットストリーム2が入力される。この入力さ
れたビットストリーム2は、ビットストリーム分割器
(以下、プレパーサ3と呼ぶ)に送られて後述するよう
に2つに分割される。これら分割されたビットストリー
ムは、それぞれ内部データバス5及びメモリコントロー
ラ(メモリインターフェイス)6を介して外付けのメモ
リ4の別々のビットストリームバッファ領域7,8に書
き込まれる。
【0024】上記ビットストリームバッファ領域7に書
き込まれたビットストリームは、読み出されてメモリコ
ントローラ6及び内部データバス5を介して一方のビデ
オデコーダ9に送られ、上記ビットストリームバッファ
領域8に書き込まれたビットストリームは、読み出され
てメモリコントローラ6及び内部データバス5を介して
他方のビデオデコーダ10に送られ、それぞれデコード
処理される。
【0025】上記ビデオデコーダ9及びビデオデコーダ
10にてそれぞれデコード処理された結果のデータ1
1,12は、内部データバス5を介しメモリコントロー
ラ6の制御のもとで再び外付けのメモリ4に送られ、上
記領域7,8とは別の領域13に書き込まれて画像が合
成される。
【0026】このようにしてデコードされて合成された
領域13の画像データは、当該外付けのメモリ4から読
み出され、メモリコントローラ6及び内部データバス5
を介して表示ブロック14に送られる。当該表示ブロッ
ク14は、上記画像データをディスプレイに表示するた
めの表示データに変換して出力する。
【0027】ここで、上記領域13にて再合成された画
像は、通常のデコーダでのデコード結果と同じものであ
り、これは図示しないフレーム間の処理(例えば動き補
償:Motion Compersation)を行うためのブロックなど
にも送られて使用される。
【0028】図3には、上記図2のプレパーサ3(ビッ
トストリーム分割器)でのビットストリームの分割の様
子の一例を示す。
【0029】この図3の(b)に示すビットストリーム
15は、前記図2の入力されたビットストリーム2であ
る。このビットストリーム15は、上記プレパーサ3に
よって、図3の(a)及び(c)に示す2つのサブスト
リーム16,17にスライス単位で分割される。このと
き、スライスレイヤよりも上位のレイヤのデータ(デー
タ18,19)は、これら2つのサブストリームのどち
らか一方に入れられる。図3では、当該上位のレイヤの
データ18,19を図3の(a)に示すようにサブスト
リーム16に入れた例を挙げている。また、この図3に
おいてデータ20,21などは、元のビットストリーム
15から切り出されたスライス単位のデータの塊であ
る。このように分割されたサブビットストリームは、上
述したように、外付けのメモリ4を介して図2の2つの
ビデオデコーダ9,10に送られデコードされることに
なる。
【0030】次に、本発明の第2のビットストリーム解
析手法について説明する。当該第2のビットストリーム
解析手法は、上記第1のビットストリーム解析手法より
も、さらに細かな単位でビットストリームを分割し、そ
れら分割したデータを並列処理して処理の高速化を実現
するものである。すなわち、この第2のビットストリー
ム解析手法は、ハフマンコードレベルでのビットストリ
ームの分割に関わるものであり、ビットストリームを先
読みによって読み出し、ハフマンコードとの一致(連続
した一致)を指標としてその境界を検出し、当該検出の
後にデコードを行って、後段でこれらの結果を整合性の
取れた形で合成し、全体のデコードを行うようにする。
【0031】ここで、ハフマンコードは、入力されたビ
ットストリームの可変なある長さにつき、対応するデコ
ード結果が一意に決まるものであり、ハフマンテーブル
にビットストリームを入力すると一つ且つ唯一のコード
が一致する。ハフマンコードでのデコードは、通常はビ
ットストリームの先頭から順次行っていくべきもので、
ビットストリームの途中からデコードを始めても一般的
にはハフマンテーブルには一致せず、正常な動作は望め
ない。
【0032】これに対し、本発明の第2のビットストリ
ーム解析手法では、このハフマンコードレベルでのビッ
トストリームの分割に際し、1ビットシフトによるハフ
マンコードの検索機能と、連続した一致が得られた場合
に初めて当初のハフマンコードの検出が正常だったとし
て動作を続行する機能とを持つことを特徴としている。
ただし、上述のようにビットストリームの途中からハフ
マンコードの検出を行った場合、コードの切れ目が正し
い位置でない限り、ハフマンテーブルへの一致(以下、
ハフマンテーブルへの一致をヒットと呼ぶことにする)
が間違って発生する場合がある。このような場合にデコ
ードを続けていくと、何れどこかの段階で矛盾が発生す
る。このため、最初のヒットが正しいと判断するのは、
当該初めのヒットに続いてある回数だけヒットが連続し
たときのみとし、その途中で不一致が生じた場合にはス
タート位置を変えて再度検出を行うようにする。
【0033】上述したように、本発明の第2のビットス
トリーム解析手法では、ビットストリームの先頭の処理
とは別に、ビットストリームの適当な位置からハフマン
コードの検索を上記の方法で行い、ハフマンコードに一
致した場所から、別のハフマンデコーダ及びヘッダ処理
ブロックでの処理を行い、並列なビットストリームの処
理を行うようにしている。その後の各デコード結果は、
後段で整合性を保ってつながれる。
【0034】ここで、MPEGにおいては、マイクロブ
ロックレイヤ以下にも数種類のハフマンテーブルが存在
する。上述のようにビットストリームの途中からハフマ
ンコードの検索を開始した場合、どのハフマンテーブル
を使うべきか不明であるが、当該第2のビットストリー
ム解析手法では、これらのすべて(あるいは複数個の)
ハフマンテーブルとの比較を同時に行う。このように同
時に比較したハフマンテーブルにおいて、例えば一致し
たものが一つのハフマンテーブルであった場合には、適
切な順番に従って選ばれたハフマンテーブルを使用して
デコード動作を続行する。もし、デコード途中で矛盾が
生じた場合には、次に選択されるハフマンテーブルを使
って再度デコードを行う。以下同様の動作により適切な
ハフマンテーブルの選択とデコードを行う。
【0035】図4には、上記第2のビットストリーム解
析手法を適用した場合の具体的な構成例を示す。
【0036】この図4において、ビットストリーム22
は、FIFOメモリ(先入れ先出しメモリ)であるビッ
トストリームバッファ23に一旦蓄えられた後、読み出
され、このビットストリーム22の先頭データ24は一
方のハフマンデコーダ25に送られる。当該ハフマンデ
コーダ25は、幾つかのハフマンテーブル26を備えて
なり、供給されたビットストリーム24に対して通常と
同じようにその先頭からデコードを行うものであり、ヘ
ッダ情報の検索、ハフマンデコード処理を行う。
【0037】また、ヒット検出及び制御回路27は、ハ
フマンコードの前記ヒット検出とビットストリームバッ
ファ23の制御を行うものである。当該ヒット検出及び
制御回路27は、上記ビットストリームバッファ23の
適当な位置からビットストリーム29を読み出させ、他
方のハフマンデコーダ30に送らせる。このハフマンデ
コーダ30も幾つかのハフマンテーブルを備えてなるも
のであり、上記ビットストリーム29に対してハフマン
コードとの一致の検索を1ビットづつシフトしながら行
い、ハフマンコードの境界を探す。ここで、最初のハフ
マンコードとの一致(ヒット)の後、予め決められた回
数のヒットが連続して検出された場合、当該ハフマンデ
コーダ30からヒット信号31がヒット検出及び制御回
路27に送られる。上記ヒット信号31を受け取ると、
ヒット検出及び制御回路27は、ストリームバッファ2
3から上記ヒット信号31に対応する位置(境界位置)
からビットストリーム29を読み出し、そのビットスト
リーム29をハフマンデコーダ30に送り、これにより
当該ハフマンデコーダ30では当該ビットストリーム2
9に対するデコード処理が開始される。
【0038】上記2つのハフマンデコーダ25,30か
らのデコード結果のデータ33,34は、出力バッファ
35の適切な位置にそれぞれ書き込まれて合成され、デ
コード結果の出力データ36として出力される。この出
力バッファ35での合成の方法などは、ビットストリー
ムの解析結果や読み出し位置などの情報をもとに管理さ
れる。
【0039】なお、この図4の例では、ハフマンコード
レベルだけのデータの扱いについてのみ言及したが、実
際のビットストリームは各種のヘッダ情報を持つもので
あり、本発明は何れにも適用できる。上述の説明では省
いたが、このようなヘッダの処理もハフマンデコーダ2
5、30に含む場合もある。
【0040】また、図4のストリームバッファ23や出
力バッファ35は、前記図2の例と同様に外付けメモリ
内に構成することも可能である。
【0041】上述したように、本発明実施の形態によれ
ば、前記第1,第2の2つのビットストリーム解析手法
により、ビットストリームの並列処理を実現することが
でき、高速化などの要求に応えることができる。すなわ
ち、可変長符号の復号器(デコーダ)を使用すること
で、従来の動作速度と設計技術でさらに高レートなビッ
トストリームのデコードを容易に行うことができる。ま
た、本発明実施の形態では、高レートな処理を実現する
のみならず、より低速な処理での高レートの処理も可能
となり、低電圧化、低消費電力化なども実現できる。
【0042】また、本発明実施の形態の説明では、ビッ
トストリームを2つに分割した例を取り上げ、これらの
実現回路をすべて別々に設けるようにしているが、ビッ
トストリームの分割という基本思想を保ったままでハー
ドウェアの一部を共用することも可能である。
【0043】さらに、第2のビットストリーム解析にお
いては、これらに加え、ハフマンテーブルのヒットの検
出機能とビットストリームのシフトなどの機能を有する
ため、ビットストリームのエラーの処理などもこの機構
を使用して実現することができる。
【0044】
【発明の効果】以上の説明で明らかなように、本発明の
ビットストリーム解析方法及び装置においては、一の単
位の特定コードパターンを検出し、その検出に応じてビ
ットストリームを複数のサブストリームに分割し、これ
ら複数のサブストリームをそれぞれデコードして整合性
を保たせて合成することにより、順次処理を行うべきビ
ットストリームの解析や可変長符号の復号において、高
速のクロックや高速の回路技術を必要とすることなく、
処理能力の向上が実現可能とする。
【0045】また、本発明のビットストリーム解析方法
及び装置においては、ビットストリームの途中位置から
のデータを1ビットづつシフトしながらハフマンテーブ
ルと比較して一致の有無を検出し、その一致の有無検出
結果に基づいてハフマン符号の境界位置を検出し、ビッ
トストリームの先頭位置からデコードしたデータと上記
境界位置からデコードしたデータとを合成することによ
り、順次処理を行うべきビットストリームの解析や可変
長符号の復号において、高速のクロックや高速の回路技
術を必要とすることなく、処理能力の向上が実現可能で
ある。
【0046】すなわち本発明によれば、ビットストリー
ムの並列処理を実現することができ、高速化などの要求
に応えることができ、従来の動作速度と設計技術でさら
に高レートなビットストリームのデコードを容易に行う
ことができる。また、本発明によれば、高レートな処理
を実現するのみならず、より低速な処理での高レートの
処理も可能となり、低電圧化、低消費電力化なども実現
できる。
【図面の簡単な説明】
【図1】MPEGでのレイヤ構造を示す図である。
【図2】第1のビットストリーム解析手法をMPEGビ
デオデコーダに適用した場合の具体的な構成例を示すブ
ロック回路図である。
【図3】図2のプレパーサ3(ビットストリーム分割
器)でのビットストリームの分割の様子の一例を説明す
るための図である。
【図4】第2のビットストリーム解析手法を適用した場
合の具体的な構成例を示すブロック回路図である。
【符号の説明】
1 MPEGビデオデコーダ、 2,22,24,29
ビットストリーム、3 プレパーサ(ビットストリー
ム分割器)、 4 外付けメモリ、 5 内部データバ
ス、 6 メモリコントローラ(メモリインターフェイ
ス)、 7,8 ビットストリームバッファ領域、
9,10 ビデオデコーダ、 14 表示ブロック、
23 ストリームバッファ、 25,30 ハフマンデ
コーダ、26 ハフマンテーブル、 27 ヒット検出
及び制御回路、 35 出力バッファ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 圧縮エンコードデータを含むと共に所定
    の単位毎に異なる特定コードパターンが付加されてなる
    ビットストリームを、解析するビットストリーム解析方
    法において、 一の単位の特定コードパターンを検出する検出工程と、 当該一の単位の特定コードパターンの検出に応じて上記
    ビットストリームを複数のサブストリームに分割する分
    割工程と、 上記分割された複数のサブストリームをそれぞれデコー
    ドする複数のデコード工程と、 上記デコードされた複数のデータを整合性を保って合成
    する制御工程とを有することを特徴とするビットストリ
    ーム解析方法。
  2. 【請求項2】 上記ビットストリームは、動画像圧縮符
    号化の国際標準規格であるMPEGのビデオストリーム
    であり、 上記一の単位の特定コードパターンとして当該MPEG
    のビデオストリームのスライスヘッダコードを使用する
    ことを特徴とする請求項1記載のビットストリーム解析
    方法。
  3. 【請求項3】 上記特定コードパターンの検出後に、予
    め設定した回数の連続した所定動作の試行を行い、 上記連続した所定動作の試行にて誤りが発生しないとき
    にはデコード動作を行い、 上記連続した所定動作の試行にて誤りが発生したときに
    は再度新しい位置から上記特定コードパターンの検出動
    作を行うことを特徴とする請求項1記載のビットストリ
    ーム解析方法。
  4. 【請求項4】 圧縮エンコードデータを含むと共に所定
    の単位毎に異なる特定コードパターンが付加されてなる
    ビットストリームを、解析するビットストリーム解析装
    置において、 一の単位の特定コードパターンを検出する検出手段と、 当該一の単位の特定コードパターンの検出に応じて上記
    ビットストリームを複数のサブストリームに分割する分
    割手段と、 上記分割された複数のサブストリームをそれぞれデコー
    ドする複数のデコード手段と、 上記デコードされた複数のデータを整合性を保って合成
    する制御手段とを有することを特徴とするビットストリ
    ーム解析装置。
  5. 【請求項5】 上記ビットストリームは、動画像圧縮符
    号化の国際標準規格であるMPEGのビデオストリーム
    であり、 上記所定の階層の特定コードパターンとして当該MPE
    Gのビデオストリームのスライスヘッダコードを使用す
    ることを特徴とする請求項4記載のビットストリーム解
    析装置。
  6. 【請求項6】 上記特定コードパターンの検出後に、予
    め設定した回数の連続した所定動作の試行を行い、 上記連続した所定動作の試行にて誤りが発生しないとき
    には上記デコード動作を行い、 上記連続した所定動作の試行にて誤りが発生したときに
    は再度新しい位置から上記特定コードパターンの検出動
    作を行うことを特徴とする請求項4記載のビットストリ
    ーム解析装置。
  7. 【請求項7】 ハフマン符号化された圧縮エンコードデ
    ータを含むビットストリームを、解析するビットストリ
    ーム解析方法において、 上記ビットストリームを先頭からデコードする第1のデ
    コード工程と、 上記ビットストリームの途中位置からのデータを1ビッ
    トづつシフトしながらハフマンテーブルと比較して一致
    の有無を検出する一致検出工程と、 上記ハフマンテーブルとの一致の有無検出結果に基づい
    てハフマン符号の境界位置を検出する境界検出工程と、 上記ビットストリームの上記境界位置からデコードを行
    う第2のデコード工程と、 上記第1のデコード工程による上記ビットストリームの
    先頭位置からのデコード結果と上記第2のデコード工程
    による上記ビットストリームの境界位置からのデコード
    結果とを合成する合成工程とを有することを特徴とする
    ビットストリーム解析方法。
  8. 【請求項8】 上記一致検出工程では、複数種類のハフ
    マンテーブルとの同時比較を行い、一致したハフマンテ
    ーブルを用いて、予め設定した範囲内で一致の有無の検
    出を継続し、当該設定した範囲内で一致の有無の検出に
    て誤りが発生したときには再度1ビットシフトとハフマ
    ンテーブルへの比較を行うことを特徴とする請求項7記
    載のビットストリーム解析方法。
  9. 【請求項9】 ハフマン符号化された圧縮エンコードデ
    ータを含むビットストリームを、解析するビットストリ
    ーム解析装置において、 上記ビットストリームを先頭からデコードする第1のデ
    コード手段と、 上記ビットストリームの途中位置からのデータを1ビッ
    トづつシフトしながらハフマンテーブルと比較して一致
    の有無を検出する一致検出手段と、 上記ハフマンテーブルとの一致の有無検出結果に基づい
    てハフマン符号の境界位置を検出する境界検出手段と、 上記ビットストリームの上記境界位置からデコードを行
    う第2のデコード手段と、 上記第1のデコード手段による上記ビットストリームの
    先頭位置からのデコード結果と上記第2のデコード手段
    による上記ビットストリームの境界位置からのデコード
    結果とを合成する合成手段とを有することを特徴とする
    ビットストリーム解析装置。
  10. 【請求項10】 上記一致検出手段では、複数種類のハ
    フマンテーブルとの同時比較を行い、一致したハフマン
    テーブルを用いて、予め設定した範囲内で一致の有無の
    検出を継続し、当該設定した範囲内で一致の有無の検出
    にて誤りが発生したときには再度1ビットシフトとハフ
    マンテーブルへの比較を行うことを特徴とする請求項9
    記載のビットストリーム解析装置。
JP25861797A 1997-09-24 1997-09-24 ビットストリーム解析方法及び装置 Pending JPH1198020A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP25861797A JPH1198020A (ja) 1997-09-24 1997-09-24 ビットストリーム解析方法及び装置
US09/158,034 US6185339B1 (en) 1997-09-24 1998-09-22 Bit stream analyzing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25861797A JPH1198020A (ja) 1997-09-24 1997-09-24 ビットストリーム解析方法及び装置

Publications (1)

Publication Number Publication Date
JPH1198020A true JPH1198020A (ja) 1999-04-09

Family

ID=17322774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25861797A Pending JPH1198020A (ja) 1997-09-24 1997-09-24 ビットストリーム解析方法及び装置

Country Status (2)

Country Link
US (1) US6185339B1 (ja)
JP (1) JPH1198020A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668086B1 (en) * 1999-05-18 2003-12-23 Canon Kabushiki Kaisha Tile-based image data decoding method and apparatus
JP2009048469A (ja) * 2007-08-21 2009-03-05 Fujitsu Ltd 情報処理装置及び情報処理方法
JP2012175703A (ja) * 2011-02-18 2012-09-10 Arm Ltd 並列ビデオ復号処理
JP2020526095A (ja) * 2017-06-28 2020-08-27 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc Gpu並列ハフマン復号化

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6522694B1 (en) * 1998-10-09 2003-02-18 Matsushita Electric Industrial Co., Ltd. Programmable filter for removing stuffing bits from an MPEG-2 bit-stream
US6373898B1 (en) * 1999-04-06 2002-04-16 Ravisent Technologies, Inc. High-speed start code scanner for MPEG-2 data streams
US6643332B1 (en) * 1999-07-09 2003-11-04 Lsi Logic Corporation Method and apparatus for multi-level coding of digital signals
US6847687B2 (en) * 2000-03-08 2005-01-25 Matsushita Electric Industrial Co., Ltd. Audio and video processing apparatus
KR100440952B1 (ko) * 2001-08-04 2004-07-21 삼성전자주식회사 압축 영상 비트 스트림의 부호어 교환을 통한 비트율 변환 방법 및 이에 적합한 장치
US7283591B2 (en) * 2003-03-28 2007-10-16 Tarari, Inc. Parallelized dynamic Huffman decoder
US8166422B2 (en) * 2003-11-21 2012-04-24 Kyocera Corporation System and method for arranging and playing a media presentation
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
CN1870757B (zh) * 2004-05-21 2010-11-10 美国博通公司 多标准视频解码器
EP1599049A3 (en) * 2004-05-21 2008-04-02 Broadcom Advanced Compression Group, LLC Multistandard video decoder
US8576924B2 (en) * 2005-01-25 2013-11-05 Advanced Micro Devices, Inc. Piecewise processing of overlap smoothing and in-loop deblocking
DE602005012944D1 (de) * 2005-06-21 2009-04-09 Ivoclar Vivadent Ag Dentalmaterialien mit einer aussergewöhnlicher Verteilung des Fluor
EP2150059A1 (en) * 2008-07-31 2010-02-03 Vodtec BVBA A method and associated device for generating video
FR2951896A1 (fr) * 2009-10-23 2011-04-29 France Telecom Procede d'encapsulation de sous-flux de donnees, procede de desencapsulation et programmes d'ordinateur correspondants
US8325757B2 (en) * 2009-12-17 2012-12-04 Silicon Image, Inc. De-encapsulation of data streams into multiple links

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2660090B1 (fr) * 1990-03-23 1994-07-29 Thomson Csf Dispositif de visualisation par projection a boucle de contre-reaction pour la correction de l'ensemble des defauts de l'image projetee.
US5253053A (en) * 1990-12-31 1993-10-12 Apple Computer, Inc. Variable length decoding using lookup tables
US5148272A (en) * 1991-02-27 1992-09-15 Rca Thomson Licensing Corporation Apparatus for recombining prioritized video data
US5122875A (en) * 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
US5111292A (en) * 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
US5168356A (en) * 1991-02-27 1992-12-01 General Electric Company Apparatus for segmenting encoded video signal for transmission
JP3184011B2 (ja) * 1992-07-20 2001-07-09 株式会社東芝 帯域圧縮信号処理装置
US5668598A (en) * 1995-03-27 1997-09-16 International Business Machines Corporation Motion video compression system with guaranteed bit production limits
US5652629A (en) * 1995-09-12 1997-07-29 International Business Machines Corporation Bidirectional motion estimation in a motion video compression system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668086B1 (en) * 1999-05-18 2003-12-23 Canon Kabushiki Kaisha Tile-based image data decoding method and apparatus
JP2009048469A (ja) * 2007-08-21 2009-03-05 Fujitsu Ltd 情報処理装置及び情報処理方法
JP2012175703A (ja) * 2011-02-18 2012-09-10 Arm Ltd 並列ビデオ復号処理
JP2020526095A (ja) * 2017-06-28 2020-08-27 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc Gpu並列ハフマン復号化

Also Published As

Publication number Publication date
US6185339B1 (en) 2001-02-06

Similar Documents

Publication Publication Date Title
JPH1198020A (ja) ビットストリーム解析方法及び装置
US5850258A (en) High level video decoding apparatus capable of decoding video data of a plurality of channels coded at a lower level
US20060294174A1 (en) Hardware-based CABAC decoder
US20080212683A1 (en) Image Decoding Device, Image Encoding Device and System LSI
JPH0955935A (ja) 画像および音声符号化装置
US9355644B2 (en) Method and apparatus for searching in a layered hierarchical bit stream followed by replay, said bit stream including a base layer and at least one enhancement layer
US20120243619A1 (en) Apparatus processing video stream
US8861602B2 (en) Motion vector reconstruction in an entropy decoder
US5666115A (en) Shifter stage for variable-length digital code decoder
US8228214B2 (en) Variable-length code decoding apparatus and method
JPH11215009A (ja) 符号復号装置
US7590295B2 (en) Semiconductor device and an image processor
CN1219073A (zh) 用于对音频/视频压缩编码数据解码的解码方法和解码器
KR20030062229A (ko) 비디오 데이터를 런-렝스 인코딩하는 방법 및 장치
JP2638424B2 (ja) 可変長復号化装置
US20020191697A1 (en) Method and apparatus for decoding and coding images with scene change detection function
US20080225173A1 (en) Signal processing apparatus
JP2005130352A (ja) 復号化装置
KR0147122B1 (ko) 엠펙2의 트랜스포트 디코더 장치
US8023564B2 (en) System and method for providing data starting from start codes aligned with byte boundaries in multiple byte words
JP3309601B2 (ja) 画像符号化装置および画像復号化装置
JPH0965329A (ja) データ加工装置
JPH1022833A (ja) 可変長符号復号装置
JP2000209100A (ja) デコ―ダ及びデコ―ド方法
JPH07143012A (ja) 可変長符号の復号方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051220