JP2000138932A - 可変長復号化方法及び装置 - Google Patents

可変長復号化方法及び装置

Info

Publication number
JP2000138932A
JP2000138932A JP31071698A JP31071698A JP2000138932A JP 2000138932 A JP2000138932 A JP 2000138932A JP 31071698 A JP31071698 A JP 31071698A JP 31071698 A JP31071698 A JP 31071698A JP 2000138932 A JP2000138932 A JP 2000138932A
Authority
JP
Japan
Prior art keywords
decoding
length
code
code length
variable
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
JP31071698A
Other languages
English (en)
Inventor
Junichi Oki
淳一 大木
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 JP31071698A priority Critical patent/JP2000138932A/ja
Publication of JP2000138932A publication Critical patent/JP2000138932A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 可変長復号化処理が停止状態となったとき、
新たなビットストリームの可変長復号化を開始可能にす
る 【解決手段】 符号長復号テーブル13は、バレルシフタ
ー11から供給されたビットストリームをアドレスとし
て、復号テーブルを参照し、符号長の可変長復号化を行
う。切替器16は、復号化制御回路15から供給される切替
信号に従って、符号長復号テーブル13から供給される符
号長または復号化制御回路15から供給される符号長の、
いづれか一方を選択して出力する。切替器16の出力は加
算器18およびゼロ計数回路17に供給される。ゼロ計数回
路17は、切替器16から供給される符号長を監視し、符号
長ゼロの連続する回数が予め定められたn回よりも多く
なったときリセット命令を出す。復号化制御回路15は、
ゼロ計数回路17からリセット信号を受けると、可変長復
号化の制御をリセットし、ヘッダのハンティングモード
に切替える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、MPEGなどの画
像圧縮用可変長符号の復号化装置に関する。
【0002】
【従来の技術】動画像信号の蓄積メディアへの記録ある
いは放送、伝送などに用いられる映像情報の圧縮手段と
してMPEG方式などが利用されている。MPEGでは
映像情報の圧縮において直交変換を利用して動画像信号
の周波数的な冗長度を低減している。そして周波数的な
冗長度が低減された信号は、連続する振幅ゼロの無効デ
ータで示されるランレングス(以後ランと言う)と、無
効データに続く振幅値がゼロ以外の有効データ(以後レ
ベルと言う)を組み合わせた2次元可変長符号化が行わ
れている。
【0003】MPEG方式で使われているDCT係数の
2次元可変長符号の一部分を表1に示す。
【0004】
【表1】 可変長復号化を行うために、表1の可変長符号を入力パ
ターンとし、ラン、レベルを出力する復号化テーブルを
ROM(リードオンリメモリ)などを利用して作成して
用いている。ROMを利用して可変長復号化テーブルを
作成する場合は、可変長符号をROMのアドレスとし、
そのアドレスで選択されたROMの領域には、その可変
長符号に対応するラン、レベル及び符号長の値を予め書
き込んでおく。例えば、001110の符号で選択され
るアドレス領域のデータは、ランが3、レベルが+1、
符号長が6として書き込まれる。そして可変長符号とし
て割り当てられていないアドレスにはラン、レベル、符
号長ともゼロを書き込んでおくことによって容易に可変
長復号化を行うことができる。
【0005】図1〜図2に可変長復号化の主な流れを示
す。可変長復号化が開始されると、まずシーケンスヘッ
ダのハンティングモードに入り、シーケンスヘッダ符号
が検出されるまでビットストリームの読み飛ばしを行
い、シーケンスヘッダ符号が検出されるとデコードを開
始する。シーケンスヘッダのデコードが終了すると、シ
ーケンスエクステンションのデコードが行われ、グルー
プオブピクチャヘッダのデコード、ピクチャヘッダのデ
コード、スライス層のデコードと続く。
【0006】そして、スライス層のデコードは図2に示
すように、スライスヘッダのデコード、マクロブロック
モードのデコード、動ベクトルのデコード、コーデッド
ブロックパタンのデコード、DCT係数のデコードと続
く。
【0007】図3に各種ヘッダ、エクステンション、ス
ライス層のデコードタイミングを示す。フレーム同期信
号は、フレームの先頭を表し、スライス同期信号はスラ
イスの先頭を表す。フレームは、複数のスライスによっ
て構成されている。シーケンスヘッダ、シーケンスエク
ステンション、グループオブピクチャヘッダは、複数フ
レームに1度伝送されて来る。ピクチャヘッダは毎フレ
ーム伝送されて来る。シーケンスヘッダ、シーケンスエ
クステンション、グループオブピクチャヘッダが伝送さ
れて来たフレームでは、フレームの先頭でシーケンスヘ
ッダ、シーケンスエクステンション、グループオブピク
チャヘッダ、ピクチャヘッダのデコードが行われ、続い
てスライス層のデコードが行われる。
【0008】シーケンスヘッダ、シーケンスエクステン
ション、グループオブピクチャヘッダが伝送されて来な
かったフレームでは、フレームの先頭でピクチャヘッダ
がデコードされ、続いてスライス層のスライスヘッダ、
マクロブロックヘッダ、動ベクトル、DCT係数などが
デコードされる。そして、2番目以降のスライスではス
ライス層のデータのみデコードされる。スライス層以外
のヘッダおよびエクステンションは固定長の符号で符号
化されており、符号そのものがその値を表しているの
で、ビットストリームから、それぞれのヘッダとして予
め定められている長さのビットを切り出すだけでよい。
スライス層は、情報量が多いため可変長符号を用いて符
号化することによって、情報量の低減が図られている。
【0009】可変長復号化は、表1に示されているDC
T係数の可変長符号のテーブルをROMなどに予め書き
込んでおき、テーブル参照することによって容易に可変
長符号の復号化を行うことができる。可変長復号化テー
ブルROMは、表1の可変長符号をROMのアドレスと
し、その符号に対応するラン、レベル、符号長を出力デ
ータとして書き込んでおく。
【0010】図4に、このような可変長復号化テーブル
ROMを備えた可変長復号化装置の構成例を示す。
【0011】レジスタ10は、線1810を介して与え
られるリクエスト信号が有効な場合に、線1000を介
して与えられたビットストリームを格納する。レジスタ
10の出力は、線1011を介してバレルシフター11
の上位32ビットに与えられる。また、バレルシフター
11の下位32ビットには線1000を介して新たなビ
ットストリームが与えられ、バレルシフター11の上位
32ビットのビットストリームに続く下位32ビットの
ビットストリームとなる。
【0012】バレルシフター11の出力は、線1112
を介してヘッダ検出器12、符号長復号テーブルROM
13および復号テーブルROM14に与えられる。ヘッ
ダ検出器12は、予め定められたビットパタンで構成さ
れているシーケンスヘッダ、エクステンションスタート
コード、グループオブピクチャヘッダ、ピクチャヘッ
ダ、スライスヘッダなどの各種ヘッダの検出を行う。ヘ
ッダ検出器12がヘッダを検出すると、そのヘッダの種
類を示す信号を線1215を介して復号化制御回路15
に与える。
【0013】復号化制御回路15は、電源が投入される
と、シーケンスヘッダが検出されるまでビットストリー
ムの読み飛ばし制御を行う。MPEG方式のヘッダは、
8ビット単位にバイトアラインされているので、復号化
制御回路15は、線1516を介して符号長8を切替器
16に与える。また、復号化制御回路15は、線156
1を介して復号化制御回路15が出力する符号長を選択
する切替信号を、切替器16に与える。さらに復号化制
御回路15は、復号化する符号の種類(動ベクトル、D
CT計数など)に応じて、符号テーブルを選択する信号
を線1513を介して符号長復号テーブルROM13お
よび復号テーブルROM14に与える。
【0014】符号長復号テーブルROM13は、線15
13を介して与えられた符号テーブル選択信号に従って
符号テーブルを選択し、バレルシフター11から与えら
れるビットストリームのテーブル参照を行い符号長を復
号する。そして復号化した符号長を線1316を介して
切替器16に与える。復号テーブルROM14は、線1
513を介して与えられた符号テーブル選択信号に従っ
て符号テーブルを選択し、バレルシフター11から与え
られるビットストリームのテーブル参照を行いデータを
復号し、復号データを線1400を介して出力する。
【0015】切替器16は、線1561を介して与えら
れる選択信号に従って、符号長復号テーブルROM13
または復号化制御回路15が出力する符号長を選択して
線1618を介して加算器18に与える。加算器18
は、切替器16から与えられた符号長と、レジスタ19
から線1911を介して与えられるシフト数を加算し
て、次回のシフト数を算出する。加算器18はシフト数
が31を越えると、新たなビットストリームの要求をす
るリクエストを、線1810を介して出力する。リクエ
スト信号が出力されると外部から新たなビットストリー
ムが与えられる。
【0016】加算器18で算出された次回のシフト数
は、線1819を介してレジスタ19に与えられる。レ
ジスタ19は、線1900を介して供給されるクロック
に従って、加算器18の出力の次回のシフト数を格納す
る。レジスタ19の出力のシフト数は線1911を介し
てバレルシフター11および加算器18に与えられる。
バレルシフター11は、シフト数に従ってビットストリ
ームをシフトし、復号化済みのビットストリームの廃棄
を行う。
【0017】以下、図4を参照しながら、DCT係数の
可変長復号化の動作について説明する。なお、ここで
は、入力のビットストリームが32ビット単位で入力さ
れる場合を例として説明する。
【0018】ヘッダーなどの復号化が終了し、DCT係
数の復号化を行っている状態で、レジスタ10にはリク
エスト信号によって格納した「01100000000
000011011001010001110」のビッ
トストリームが格納されており、また、線1000を介
して「0001000000001100000100
0000001100」のビットストリームが与えら
れ、この時レジスタ19から線1911を介してバレル
シフター11に与えられるシフト数がゼロであると仮定
する。
【0019】シフト数がゼロであるから、バレルシフタ
ー11は、入力のビットストリームをそのまま出力す
る。バレルシフター11の出力は、線1112を介して
復号テーブルROM14および符号長復号テーブルRO
M13に送られ、テーブル参照が行われる。バレルシフ
ター11から渡されたビットストリームの先頭4ビット
が「0110」であるから、復号テーブルROM14お
よび符号長復号テーブルROM13のアドレス0110
に予め書き込まれている値が出力される。復号テーブル
ROM14の出力のラン1、レベル+1は、線1400
を介してデコードデータとして出力される。そして符号
長復号テーブルROM13の出力の符号長4は、線13
16を介して切替器16に送られる。
【0020】復号化制御回路15は、符号長復号テーブ
ルROM13が出力する符号長を選択する切替信号を切
替器16与える。切替器16の出力の符号長は加算器1
8に与えられ、今回のシフト数と加算されて次のシフト
数となる。今回のシフト数がゼロで符号長が4であるか
ら、加算器18の出力は4となる。加算器18の出力の
次回のシフト数は、線1819を介してレジスタ19に
送られ、クロックのタイミングで格納される。
【0021】レジスタ19の出力は、次の時刻でシフト
数として線1911を介してバレルシフター11および
加算器18に送られる。そして次の時刻ではシフト数が
4であるので、バレルシフター11は、ビットストリー
ムを4ビットシフトして復号化済みの符号「0110」
を廃棄し、「0000000000011011001
010001110」を、符号長復号テーブルROM1
3および復号テーブルROM14に与える。復号テーブ
ルROM14はテーブル参照を行うと、今度の符号は
「00000000000110110」であることが
解り、線1400を介してラン31、レベル+1を出力
する。また、符号長復号テーブルROM13は線131
6を介して符号長17を切替器16に送る。
【0022】切替器16は符号長17を加算器18に送
る。加算器18はシフト数4と符号長17を加算して次
回のシフト数21を、線1819を介してレジスタ19
に送る。レジスタ19の出力は、線1911を介して次
回のシフト数としてバレルシフター11および加算器1
8に渡される。そして更に次の時刻ではシフト数が21
なので、バレルシフター11はビットストリームを21
ビットシフトして復号化済みの符号を廃棄し、新たな符
号を復号化テーブルROM14および符号長復号テーブ
ルROM13に送る。
【0023】復号テーブルROM14に送られるビット
ストリームは「01010001110」となり、テー
ブル参照されると、今度の符号は「01010」である
ことが解り、ラン2、レベル+1が出力される。また符
号長復号テーブルROM13から符号長5が出力され
る。シフト数が21で符号長が5であるから加算器18
は次のシフト数として26を出力する。加算器18の出
力はレジスタ19に送られる。レジスタ19は次の符号
の復号化の時に、シフト数26をバレルシフター11お
よび加算器18に与える。
【0024】そして次の時刻では、バレルシフター11
はシフト数が26であるから、ビットストリーム32ビ
ットのうちの復号化済みの26ビットを廃棄して復号テ
ーブルROM14および符号長復号テーブルROM13
に「001110」のビットストリームを送る。復号テ
ーブルROM14でテーブル参照されると今度の符号
は、「001110」であることがわかり、ラン3、レ
ベル+1を出力する。また符号長復号テーブルROM1
3から符号長6が出力される。そして加算器18は符号
長6とシフト数26を加算する。
【0025】次のシフト数は32となるが、レジスタ1
0から線1011を介してバレルシフター11に与えら
れる入力のビットストリームは、32ビットであり、3
2ビット全ての復号化を終了したため、加算器18は新
たなビットストリームを要求するリクエスト信号を線1
810を介して出力する。そして次のシフト数はゼロを
出力する。
【0026】本説明においては、入力ビットストリーム
の幅が32ビットであるので、加算器18は5ビットプ
ラス5ビットの加算を行い、5ビットのシフト数を出力
する。そしてシフト数が31を越えて桁上げが発生した
場合は、桁上げ信号をビットストリームのリクエストと
して出力する。リクエスト信号によって新たなビットス
トリーム32ビットをレジスタ10に格納し、バレルシ
フター11に与えて次の復号化を行う。上記説明は、正
しいビットストリームが供給された場合の例である。
【0027】次に、伝送路エラーなどによってビットス
トリームが誤った場合について説明する。伝送路エラー
によって誤りを含んだビットストリーム「011000
0000000000001100101000111
0」が供給されて、レジスタ10に格納され、バレルシ
フター11に与えられていると仮定して説明する。ま
た、最初のシフト数はゼロと仮定する。
【0028】バレルシフター11は、シフト数がゼロで
あるからビットストリームをそのまま復号テーブルRO
M14および符号長復号テーブルROM13に送る。復
号テーブルROM14および符号長復号テーブルROM
13がテーブル参照すると、「0110」の符号である
ことがわかり、ラン1、レベル+1、符号長4をそれぞ
れ出力する。ラン1、レベル+1は、線1400を介し
て出力される。また、符号長復号テーブルROM13は
符号長4を線1316を介して切替器16に送る。
【0029】復号化制御回路15は、符号長復号テーブ
ルROM13が出力する符号長を選択する切替信号を線
1561を介して切替器16に与える。切替器16は、
符号長復号テーブルROM13から与えられた符号長4
を加算器18に送る。加算器18は、符号長4とシフト
数ゼロを加算して、次のシフト数4を線1819を介し
てレジスタ19に送る。レジスタ19は、次の時刻でシ
フト数4を、線1911を介してバレルシフター11お
よび加算器18に与える。バレルシフター11は、ビッ
トストリームを4ビットシフトして、復号化済みのビッ
トストリームを廃棄し、「0000000000000
011001010001110」を復号テーブルRO
M14および符号長復号テーブルROM13に渡す。
【0030】可変長符号として14個ゼロが連続する符
号は、割り当てられていないため、復号テーブルROM
14は、ラン0、レベル0を出力する。また符号長復号
ROM13は符号長0を出力する。そして加算器18
は、符号長ゼロとシフト数4を加算して次のシフト数4
を出力し、レジスタ19に送る。レジスタ19は、次の
時刻でシフト数4をバレルシフター11および加算器1
8に与える。バレルシフター11は、シフト数が4で前
回と同様であるので、「00000000000000
11001010001110」を復号テーブルROM
14および符号長復号テーブルROM13に渡す。復号
テーブルROM14および符号長復号テーブルROM1
3には、14個ゼロが連続する符号は割り当てられてい
ないため、前回と同様にラン0、レベル0、符号長0を
出力することになり、新たなビットストリームの読込み
が行われず、可変長復号化動作が停止状態となってしま
う。
【0031】
【発明が解決しようとする課題】このように、伝送路エ
ラーなどによりビットストリームに誤りが発生すると、
可変長復号化が特定の復号化状態から抜け出す事ができ
なくなる場合があり、復号化画像がフリーズしたままの
状態で停止してしまうという問題があった。
【0032】本発明の目的は、上記問題点に鑑み、伝送
路エラーなどにより、可変長復号化処理が停止状態とな
ってしまった場合でも、新たなビットストリームの可変
長復号化を開始可能にする手段を提供することにある。
【0033】
【課題を解決するための手段】本発明は、MPEG方式
などの動画像信号の可変長復号化を行うにあたり、入力
ビットストリームから符号長を判定し、可変長復号化を
行ってDCT係数の振幅値などを再生した後、可変長復
号化を行ったビットストリームを廃棄し、新たなビット
ストリームを読み込んで処理する可変長復号化方法にお
いて、伝送路エラーなどでビットストリームに誤りが発
生し、可変長符号として定められていない符号が出現す
ることによって、可変長復号化処理が停止状態となり、
新たなビットストリームの読み込みが行えない状態とな
ったことを検出したときに、予め定められた所定の処理
を行うことにより、可変長復号化を再開することを特徴
とする。
【0034】前記再開処理として、伝送路エラーなどに
よってビットストリームに誤りが発生し、可変長符号と
して定められていない符号の出現により、符号長の判定
が不能となり、予め定められた回数以上連続して判定符
号長がゼロとなるか、あるいは予め定められた時間以上
判定符号長がゼロとなり、入力ビットストリームの読み
込みが停止した場合、スライスヘッダーの検出モードに
処理を切替える。
【0035】また、前記再開処理として、伝送路エラー
などによってビットストリームに誤りが発生し、可変長
符号として定められていない符号の出現により、予め定
められた時刻を過ぎても所定の可変長復号化処理が終了
しない場合は、スライスヘッダーの検出モードに処理を
切替える。
【0036】また、前記再開処理として、伝送路エラー
などによってビットストリームに誤りが発生し、可変長
符号として定められていない符号の出現により、符号長
の判定が不能となり、予め定められた回数以上連続して
判定符号長がゼロとなるか、あるいは予め定められた時
間以上判定符号長がゼロとなり、入力ビットストリーム
の読み込みが停止した場合、ピクチャヘッダーの検出モ
ードに処理を切替える。
【0037】また、前記再開処理として、伝送路エラー
などによってビットストリームに誤りが発生し、可変長
符号として定められていない符号の出現により、予め定
められた時刻を過ぎても所定の可変長復号化処理が終了
しない場合は、ピクチャヘッダーの検出モードに処理を
切替える。
【0038】本発明の可変長復号化装置は、入力ビット
ストリームをシフト数に応じてシフトするバレルシフタ
ーと、バレルシフター出力から予め定められたビットパ
タンからなるヘッダを検出するヘッダ検出手段と、ヘッ
ダ検出手段の出力に応じて符号テーブル選択信号、固定
符号長および、符号長切替え信号を発生する復号化制御
手段と、前記バレルシフター出力から符号長を解読する
符号長復号テーブルと、前記バレルシフター出力からラ
ンレングスとレベルからなる復号データを発生する復号
テーブルと、符号長テーブル出力の符号長と、復号化制
御手段の出力の固定長符号のいずれか一方を、前記符号
長切替え信号に従い選択して出力する符号長切替え手段
と、符号長切替え手段の出力の符号長と現在のシフト数
を加算して次のシフト数を出力し、次のシフト数が予め
定められた値よりも大となった場合は、入力ビットスト
リームの読込みリクエストを出力する加算器と、加算器
出力のシフト数を一時貯え、シフト数として出力するレ
ジスタと、シフト数ゼロが連続する回数を計数し、シフ
ト数ゼロの連続する回数が予め定められた回数を越えた
場合に、リセット信号を出力するゼロ計数回路と、リセ
ット信号に従ってヘッダ検出モードに制御を切替える復
号化制御回路を備える。
【0039】この発明によれば、符号長ゼロ即ちシフト
数ゼロが予め定められた回数以上連続した場合には、可
変長復号化処理の制御をリセットし、ピクチャヘッダま
たはスライスヘッダのハンティングモードに切替える。
MPEGでは、各種ヘッダの始まりを示すスタートコー
ドが、8ビット単位にバイトアラインされているので、
ヘッダのハンティングモードでは、符号長を強制的に8
とすることによって新たなビットストリームの読込みを
行い、伝送路エラーなどで誤ったビットストリームを読
み飛ばして廃棄することができる。そして次のピクチャ
ヘッダまたは次のスライスヘッダが検出されると、可変
長復号化を再開することができる。
【0040】また、本発明の他の可変長復号化装置は、
入力ビットストリームをシフト数に応じてシフトするバ
レルシフターと、バレルシフター出力から予め定められ
たビットパタンからなるヘッダを検出するヘッダ検出手
段と、ヘッダ検出手段の出力に応じて符号テーブル選択
信号、固定符号長および、符号長切替え信号を発生する
復号化制御手段と、前記バレルシフター出力から符号長
を解読する符号長復号テーブルと、前記バレルシフター
出力からランレングスとレベルからなる復号データを発
生する復号テーブルと、符号長テーブル出力の符号長
と、復号化制御手段の出力の固定長符号のいずれか一方
を、前記符号長切替え信号に従い選択して出力する符号
長切替え手段と、符号長切替え手段の出力の符号長と現
在のシフト数を加算して次のシフト数を出力し、次のシ
フト数が予め定められた値よりも大となった場合は、入
力ビットストリームの読込みリクエストを出力する加算
器と、加算器出力のシフト数を一時貯え、シフト数とし
て出力するレジスタと、スライス同期信号を基準とし
て、予め定められたタイミングで復号化の状態を参照
し、所定の復号化が終了していない場合には、リセット
信号を出力する状態監視手段と、復号化の状態を出力
し、状態監視手段の出力のリセット信号に従って、ヘッ
ダ検出モードに制御を切替える復号化制御回路を備え
る。
【0041】可変長復号化は、外部から与えられるフレ
ーム同期信号およびスライス同期信号を基準として処理
が行われる。正常な動作の場合、図3に示すように1ス
ライス分のビットストリームの可変長復号化は、1スラ
イス時間以内で終了する。そこで、この発明は、復号化
制御回路から与えられる復号化状態を、スライス同期信
号を基準として監視し、スライスの終了時刻またはスラ
イスの開始時刻においてスライスの可変長復号化が終了
していない場合には、ビットストリームにエラーがあ
り、可変長復号化が停止していることが考えられるの
で、リセット信号を発生する。このリセット信号によっ
て可変長復号化処理の制御はリセットされ、ピクチャヘ
ッダまたはスライスヘッダのハンティングモードに切替
られ、伝送路エラーなどで誤ったビットストリームを読
み飛ばして廃棄する。そして次のピクチャヘッダまたは
次のスライスヘッダを検出することにより、可変長復号
化を再開することができる。
【0042】
【発明の実施の形態】図5は、本発明の第1の実施の形
態を示すブロック図であり、図6は、その動作を説明す
るためのタイムチャートである。この実施の形態は、図
4記載の可変長復号化装置に、符号長ゼロの連続する回
数を計数してリセット信号を発生するゼロ計数回路17
を設け、符号長ゼロが予め定められた回数以上連続した
場合には、可変長復号化処理の制御をリセットし、ピク
チャヘッダまたはスライスヘッダのハンティングモード
に切替えるようにしている。
【0043】可変長復号化は、図1に示すように、シー
ケンスヘッダのデコードから始まる。可変長復号器に供
給されるビットストリームからシーケンスヘッダが検出
されるまで、ビットストリームの読み飛ばしを行い、シ
ーケンスヘッダが検出されると可変長復号化が開始され
る。シーケンスヘッダのデコードが終了すると、シーケ
ンスエクステンションのデコードが行われ、グループオ
ブピクチャヘッダのデコード、ピクチャヘッダのデコー
ド、スライス層のデコードと続く。そしてスライス層の
デコードは、図2に示すように、スライスヘッダのデコ
ード、マクロブロックモードのデコード、動ベクトルの
デコード、コーデッドブロックパタンのデコード、DC
T係数のデコードと続く。スライス層以外のヘッダおよ
びエクステンションは固定長の符号でその値を表してい
るので、ビットストリームから、それぞれのヘッダとし
て予め定められている長さのビットを切り出せばよい。
【0044】次に、本発明の動作について、図5〜図6
を参照して説明する。ここでは、32ビット単位でビッ
トストリームが供給されると仮定して説明する。
【0045】レジスタ10に線1000を介してビット
ストリームが供給される。また、レジスタ10には加算
器18から線1810を介してリクエスト信号が供給さ
れる。レジスタ10は、リクエスト信号が有効な場合に
線1000を介して供給されるビットストリームを格納
する。レジスタ10に格納されたビットストリームは、
線1011を介してバレルシフター11の上位の32ビ
ットに供給される。
【0046】また、線1000を介して供給されるビッ
トストリームは、リクエストが有効になると前回供給さ
れていた32ビットのビットストリームに続く新たな3
2ビットのビットストリームを供給する。そして新たな
ビットストリームはバレルシフター11の下位32ビッ
トに供給される。バレルシフター11の入力は、上位3
2ビット、下位32ビットの合計64ビットとなる。バ
レルシフター11は線1911を介して供給されるシフ
ト数に従ってビットストリームをシフトして線1112
を介してヘッダ検出器12、符号長復号テーブル13お
よび復号テーブル14に供給する。
【0047】ヘッダ検出器12は、線1112を介して
供給されるビットストリームに出現するシーケンスヘッ
ダ、エクステンションスタートコード、グループオブピ
クチャヘッダ、ピクチャヘッダ、スライスヘッダの検出
を行う。ヘッダ検出器12はヘッダを検出すると、線1
215を介してヘッダの種類を示す信号を復号化制御回
路15に供給する。復号化制御回路15は、電源が投入
されると初期状態としてシーケンスヘッダのハンティン
グモードとなる。
【0048】MPEGでは、各種ヘッダおよびスタート
コードは8ビット単位にバイトアラインされているの
で、シーケンスヘッダのハンティングモードでは、符号
長8を線1516を介して切替え器16に供給する。ま
た、復号化制御回路15は、線1561を介して切替器
16に符号長切替え信号を供給する。復号化制御回路1
5は、シーケンスヘッダのハンティングモードでは、復
号化制御回路15が供給する符号長を選択する切替信号
を切替器16に供給する。また復号化制御回路15は、
ヘッダ検出器12から線1215を介してシーケンスヘ
ッダが検出されたことを示す信号が供給されると、シー
ケンスヘッダの復号を開始する。
【0049】シーケンスヘッダは、予め定められた固定
長の符号で構成されているので、その符号長を順次線1
516を介して切替器16に供給し、シーケンスヘッダ
の復号化を進める。復号化制御回路15は、シーケンス
ヘッダの復号化が終了すると、シーケンスエクステンシ
ョンのハンティングモードに入り、シーケンスヘッダの
ハンティングモードと同様に、符号長8を線1516を
介して切替え器16に供給する。また線1516を介し
て復号化制御回路15から供給される符号長を選択する
切替信号を、線1561を介して切替器16に供給す
る。
【0050】復号化制御回路15は、シーケンスエクス
テンションの復号化が終了すると、グループオブピクチ
ャヘッダの復号化、そしてピクチャヘッダの復号化を行
うための符号長を線1561を介して出力する。ピクチ
ャヘッダの復号化が終了すると、スライス層の復号化を
行う。スライス層は可変長符号によって符号化されてい
るため、ヘッダ検出器12でスライスヘッダが検出さ
れ、線1215を介して復号化制御回路15に通知され
ると復号化制御回路15は、符号長復号テーブル13か
ら線1316を介して切替器16に供給される符号長を
選択する切替信号を、線1561を介して切替器16に
供給する。
【0051】スライス層の可変長復号化では、スライス
ヘッダ、マクロブロックモード、動ベクトル、コーデッ
ドブロックパタン、およびDCT係数の復号がを行れ
る。復号テーブル14および符号長復号テーブル13に
は、スライスヘッダ、マクロブロックモード、動ベクト
ル、コーデッドブロックパタン、およびDCT係数の可
変長復号化を行うための復号テーブル、および符号長の
復号テーブルを備えている。スライスヘッダ、マクロブ
ロックモード、動ベクトル、コーデッドブロックパタ
ン、およびDCT係数の復号化順序は予め定められてお
り、その順序に従って復号化制御回路15は、いづれか
の復号テーブルの符号を選択する選択信号を、線151
3を介して符号長復号テーブル13および復号テーブル
14に供給する。
【0052】符号長復号テーブル13は、線1112を
介してバレルシフター11から供給されたビットストリ
ームを、復号化制御回路15から線1513を介して供
給された復号テーブル選択信号で指定された符号長の復
号テーブルを選択して、符号長の可変長復号化を行う。
符号長復号テーブル13の出力の符号長は、線1316
を介して切替器16に供給される。切替器16は、復号
化制御回路15から線1561を介して供給される切替
信号に従って、符号長復号テーブル13から線1316
を介して供給される符号長または、復号化制御回路15
から線1516を介して供給される符号長の、いづれか
一方を選択して出力する。
【0053】切替器16の出力は線1618を介して加
算器18およびゼロ計数回路17に供給される。ゼロ計
数回路17は、線1618を介して切替器16から供給
された符号長に出現する符号長ゼロが連続する回数を計
数する。ゼロ計数回路17は、図6に示すように、切替
器16から線1618を介して供給される符号長を監視
し、符号長ゼロの連続する回数が予め定められたn回よ
りも多くなった場合、リセット信号をゼロから1に変化
させてリセット命令を出す。
【0054】リセット信号は、線1715を介して復号
化制御回路15に送られる。ゼロ計数回路17は、線1
618を介して供給された符号長が、ゼロ以外の値にな
るとリセットを解除する。復号化制御回路15は、ゼロ
計数回路17から線1715を介してリセット信号が与
えられると、可変長復号化の制御をリセットし、ピクチ
ャヘッダまたはスライスヘッダのハンティングモードに
切替える。
【0055】加算器18は、切替器16から線1618
を介して供給された符号長と、線1911を介して供給
されるシフト数を加算し、次のシフト数を求める。加算
器18で求められた次のシフト数は、線1819を介し
てレジスタ19に供給される。レジスタ19は、加算器
18から線1819を介して供給されたシフト数を、線
1900を介して供給されたクロックに従って格納し、
次の可変長復号化の時刻で出力する。レジスタ19の出
力のシフト数は、線1911を介してバレルシフター1
1および加算器18に供給される。復号テーブル14の
出力は線1400を介して可変長復号器の出力として出
力される。
【0056】なお、ゼロ計数回路17の替わりに、タイ
マーを設け、符号長ゼロによりタイマーをセットし、所
定時間内にゼロ以外の符号長が入力されないときには、
リセット信号を出力するようにしてもよい。
【0057】図7は、本発明の第2の実施の形態を示す
ブロック図であり、図8〜図9は、その動作を説明する
ためのタイムチャートである。この実施の形態は、図4
記載の可変長復号化装置に、状態監視回路20を設け、
復号化制御回路15から線1520を介して与えられる
復号化状態を、スライス同期信号を基準として監視し、
スライスの終了時刻またはスライスの開始時刻におい
て、スライスの可変長復号化が終了していない場合はビ
ットストリームにエラーがあり、可変長復号化が停止し
ていることが考えられるので、リセット信号を発生し線
2015を介して復号化制御回路15に与えるようにし
ている。
【0058】リセット信号によって可変長復号化処理の
制御はリセットされ、ピクチャヘッダまたはスライスヘ
ッダのハンティングモードに切替られ、伝送路エラーな
どで誤ったビットストリームを読み飛ばして廃棄する。
そして次のピクチャヘッダまたは次のスライスヘッダが
検出されると、可変長復号化を再開する。
【0059】次に、第2の実施の形態の動作について、
図を参照して説明する。レジスタ10、バレルシフター
11、ヘッダ検出器12、符号長復号テーブル13、復
号テーブル14、復号化制御回路15、切替器16、加
算器18、レジスタ19の機能および動作は第1の実施
の形態と同様である。
【0060】復号化制御回路15は、追加機能として復
号化の状態を示す信号を線1520を介して状態監視回
路20に与える。また状態監視回路20には、線200
0を介してスライス同期信号が供給される。復号化制御
回路15および状態監視回路20の動作について、図
8、図9を参照して説明する。
【0061】ビットストリームに誤りが無く、可変長復
号化が正常に行われている場合は、図8に示すように、
スライスの先頭で、そのスライスの可変長復号化処理が
開始され、スライスの可変長復号化が終了するとアイド
ル状態となり、次のスライス同期信号を待つ。そして次
のスライス同期が来ると、次のスライスの可変長復号化
を開始する。正常な動作の場合は、1スライス時間の中
で、1スライス分のビットストリームの可変長復号化が
終了し、アイドル状態となる。
【0062】つぎに伝送路エラーなどでビットストリー
ムに誤りがあった場合の動作を、図9を参照して説明す
る。スライス同期信号の先頭でスライスの可変長復号化
が開始されるが、次のスライス同期信号が来てもまだ処
理状態がスライスの可変長復号化処理中の場合は、可変
長復号化動作が異常であるため、リセット信号をゼロか
ら1に変化させてリセット命令を出す。リセット信号
は、図7の線2015を介して復号化制御回路15に送
られる。状態監視回路20は、復号化制御回路のリセッ
トが実行され、線1520を介して供給される復号化の
状態を示す信号が、ヘッダのハンティングモードとなっ
た場合は、リセット信号が1の状態からゼロへと変化さ
せリセットを解除する。
【0063】復号化制御回路15は、状態監視回路20
から線2015介して供給されるリセット信号がゼロか
ら1に変化すると、ピクチャヘッダまたはスライスヘッ
ダのいづれかのハンティングモードに入り、ヘッダのハ
ンティングモードに対応した制御信号を発生する。また
復号化制御回路15は、復号化の状態を示す信号を線1
520を介して状態監視回路20に供給する。
【0064】
【発明の効果】本発明を用いれば、伝送路エラーなどに
よりビットストリームに誤りがあり、可変長復号化が特
定の復号化状態から抜け出す事ができなくなって、停止
状態となってしまった場合でも、リセット信号により復
号化の状態をリセットし、ヘッダのハンティングモード
に状態を移すことによって、新たなビットストリームの
可変長復号化を開始することができ、復号化画像がフリ
ーズしたままの状態を素早く解除できる。
【図面の簡単な説明】
【図1】可変長復号化のフローを示す図である。
【図2】可変長復号化のフローを示す図である。
【図3】可変長復号化のデコードタイミングを示す図で
ある。
【図4】本発明の前提となる可変長復号化装置のブロッ
ク図である。
【図5】本発明の第1の実施の形態を示すブロック図で
ある。
【図6】本発明の第1の実施の動作を説明するためのタ
イムチャートである。
【図7】本発明の第2の実施の形態を示すブロック図で
ある。
【図8】本発明の第2の実施の動作を説明するためのタ
イムチャートである。
【図9】本発明の第2の実施の動作を説明するためのタ
イムチャートである。
【符号の説明】
10 レジスタ 11 バレルシフター 12 ヘッダ検出器 13 符号長復号テーブルROM 14 復号テーブルROM 15 復号化制御回路 16 切替器 17 ゼロ計数回路 18 加算器 19 レジスタ 20 状態監視回路

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 MPEG方式等の動画像信号の可変長復
    号化を行うにあたり、入力ビットストリームから符号長
    を判定し、可変長復号化を行ってDCT係数の振幅値等
    を再生した後、可変長復号化処理を行ったビットストリ
    ームを廃棄し、後続する新たなビットストリームを読み
    込んで次の復号化処理を行う可変長復号化方法におい
    て、 可変長符号として定められていない符号の出現により、
    可変長復号化処理が停止状態となり、新たなビットスト
    リームの読み込みが行われないとき、予め定めた所定の
    処理を行って、可変長復号化処理を再開することを特徴
    とする可変長復号化方法。
  2. 【請求項2】 前記判定した符号長が、所定回数以上連
    続してゼロとなったとき、前記可変長復号化処理が停止
    状態となっていると判断することを特徴とする請求項1
    記載の可変長復号化方法。
  3. 【請求項3】 前記判定した符号長が、所定時間以上連
    続してゼロとなったとき、前記可変長復号化処理が停止
    状態となっていると判断することを特徴とする請求項1
    記載の可変長復号化方法。
  4. 【請求項4】 所定の可変長復号化処理が、予め定めら
    れた時刻を過ぎても終了していないとき、前記可変長復
    号化処理が停止状態となっていると判断することを特徴
    とする請求項1記載の可変長復号化方法。
  5. 【請求項5】 前記可変長復号化処理が停止状態となっ
    ていると判断されたとき、スライスヘッダーの検出モー
    ドに処理を切替えることを特徴とする請求項1〜4のい
    ずれかに記載の可変長復号化方法。
  6. 【請求項6】 前記可変長復号化処理が停止状態となっ
    ていると判断されたとき、ピクチャヘッダーの検出モー
    ドに処理を切替えることを特徴とする請求項1〜4のい
    ずれかに記載の可変長復号化方法。
  7. 【請求項7】 入力ビットストリームをシフト数に応じ
    てシフトするバレルシフターと、 前記バレルシフター出力から予め定められたビットパタ
    ンからなるヘッダを検出するヘッダ検出手段と、 前記ヘッダ検出手段の出力に応じて、復号テーブル選択
    信号、固定符号長および、符号長切替え信号を発生する
    復号化制御手段と、 前記バレルシフター出力から符号長を解読する符号長復
    号テーブルと、 前記バレルシフター出力からランレングスとレベルから
    なる復号データを発生する復号テーブルと、 前記符号長テーブル出力の符号長と、前記復号化制御手
    段の出力の固定長符号のいずれか一方を、前記符号長切
    替え信号に従い選択して出力する符号長切替え手段と、 前記符号長切替え手段の出力の符号長と現在のシフト数
    を加算して次のシフト数を出力し、次のシフト数が予め
    定められた値よりも大となった場合は、入力ビットスト
    リームの読込みリクエストを出力する加算器と、 前記加算器出力のシフト数を一時貯え、シフト数として
    出力するレジスタと、 前記レジスタから前記シフト数を入力し、シフト数ゼロ
    が連続する回数を計数するとともに、前記シフト数ゼロ
    の連続する回数が予め定められた回数を越えた場合に、
    前記復号化制御手段にリセット信号を出力するゼロ計数
    回路とを備え、 前記復号化制御手段は、前記リセット信号を入力したと
    きには、ヘッダ検出モードに制御を切替えることを特徴
    とする可変長復号化装置。
  8. 【請求項8】 入力ビットストリームをシフト数に応じ
    てシフトするバレルシフターと、 前記バレルシフター出力から予め定められたビットパタ
    ンからなるヘッダを検出するヘッダ検出手段と、 前記ヘッダ検出手段の出力に応じて、復号テーブル選択
    信号、固定符号長および、符号長切替え信号を発生する
    復号化制御手段と、 前記バレルシフター出力から符号長を解読する符号長復
    号テーブルと、 前記バレルシフター出力からランレングスとレベルから
    なる復号データを発生する復号テーブルと、 前記符号長テーブル出力の符号長と、前記復号化制御手
    段の出力の固定長符号のいずれか一方を、前記符号長切
    替え信号に従い選択して出力する符号長切替え手段と、 前記符号長切替え手段の出力の符号長と現在のシフト数
    を加算して次のシフト数を出力し、次のシフト数が予め
    定められた値よりも大となった場合は、入力ビットスト
    リームの読込みリクエストを出力する加算器と、 前記加算器出力のシフト数を一時貯え、シフト数として
    出力するレジスタと、 スライス同期信号を基準として、予め定められたタイミ
    ングで復号化の状態を参照し、所定の復号化が終了して
    いない場合には、前記復号化制御手段にリセット信号を
    出力する状態監視手段とを備え、 前記復号化制御手段は、前記リセット信号を入力したと
    きには、ヘッダ検出モードに制御を切替えることを特徴
    とする可変長復号化装置。
JP31071698A 1998-10-30 1998-10-30 可変長復号化方法及び装置 Pending JP2000138932A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31071698A JP2000138932A (ja) 1998-10-30 1998-10-30 可変長復号化方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31071698A JP2000138932A (ja) 1998-10-30 1998-10-30 可変長復号化方法及び装置

Publications (1)

Publication Number Publication Date
JP2000138932A true JP2000138932A (ja) 2000-05-16

Family

ID=18008628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31071698A Pending JP2000138932A (ja) 1998-10-30 1998-10-30 可変長復号化方法及び装置

Country Status (1)

Country Link
JP (1) JP2000138932A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007032058A1 (ja) * 2005-09-13 2007-03-22 Mitsubishi Denki Kabushiki Kaisha 復号装置
JP2011050097A (ja) * 2010-11-04 2011-03-10 Oki Semiconductor Co Ltd 画像データ転送回路
JP4763853B2 (ja) * 2008-03-31 2011-08-31 パナソニック株式会社 可変長符号復号化装置及びその方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007032058A1 (ja) * 2005-09-13 2007-03-22 Mitsubishi Denki Kabushiki Kaisha 復号装置
JPWO2007032058A1 (ja) * 2005-09-13 2009-03-19 三菱電機株式会社 復号装置
JP4642854B2 (ja) * 2005-09-13 2011-03-02 三菱電機株式会社 復号装置
US7992074B2 (en) 2005-09-13 2011-08-02 Mitsubishi Electric Corporation Decoding device
JP4763853B2 (ja) * 2008-03-31 2011-08-31 パナソニック株式会社 可変長符号復号化装置及びその方法
US8228214B2 (en) 2008-03-31 2012-07-24 Panasonic Corporation Variable-length code decoding apparatus and method
JP2011050097A (ja) * 2010-11-04 2011-03-10 Oki Semiconductor Co Ltd 画像データ転送回路

Similar Documents

Publication Publication Date Title
EP0582122B1 (en) Scramble apparatus and descramble apparatus
US8320451B2 (en) Replacement of frame data in a video stream signal
JP3365771B2 (ja) ビデオ信号圧縮装置
JP3302939B2 (ja) 独立に圧縮された偶数および奇数フィールド・データ用のビデオ信号圧縮解除装置
KR0151234B1 (ko) 화상재생장치 및 화상복호장치
JP4402219B2 (ja) ビデオ・データ中のフラッシュ・フレームの検出および符号化
JP2003304542A (ja) ビデオ信号圧縮解除装置
KR20040033275A (ko) 비디오 인코딩 방법, 비디오 디코딩 방법, 비디오 인코딩장치, 비디오 디코딩 장치, 비디오 인코딩 프로그램, 및비디오 디코딩 프로그램
JPH0686262A (ja) 画像符号化装置
JP2004007753A (ja) 画像復号化方法及び装置
US5841380A (en) Variable length decoder and method for decoding two codes per clock cycle
US6285789B1 (en) Variable length code decoder for MPEG
US6748114B1 (en) Moving picture encoding method and moving picture encoding apparatus
US5991445A (en) Image processing apparatus
JP3053781B2 (ja) 動画像圧縮符号の復号方法及び復号装置
JP3194317B2 (ja) 画像信号用可変レート符号化装置
JP2002027483A (ja) 画像符号化装置、画像復号化装置および記憶媒体
JP3147859B2 (ja) 映像信号の多チャネル符号化装置
JP2000138932A (ja) 可変長復号化方法及び装置
JPH11308617A (ja) ディジタル画像符号化装置とこれに用いる動きベクトル検出装置
JP2820630B2 (ja) 画像復号装置
EP1119207A1 (en) Device for encoding motion picture signals and encoding method
JP3661879B2 (ja) 画像信号復号化方法及び画像信号復号化装置
JP2002077922A (ja) 画像制御システム及び画像復号化装置
JP3807110B2 (ja) 画像符号化装置