JP2004328647A - 復号化方法、および復号化装置 - Google Patents

復号化方法、および復号化装置 Download PDF

Info

Publication number
JP2004328647A
JP2004328647A JP2003124080A JP2003124080A JP2004328647A JP 2004328647 A JP2004328647 A JP 2004328647A JP 2003124080 A JP2003124080 A JP 2003124080A JP 2003124080 A JP2003124080 A JP 2003124080A JP 2004328647 A JP2004328647 A JP 2004328647A
Authority
JP
Japan
Prior art keywords
start code
data
video stream
variable
decoding
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
JP2003124080A
Other languages
English (en)
Inventor
Takeshi Isomura
剛 磯村
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
Priority to JP2003124080A priority Critical patent/JP2004328647A/ja
Publication of JP2004328647A publication Critical patent/JP2004328647A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】スタートコード直前に誤りが発生した場合でも、スタートコードが可変長符号として復号化処理されてしまう誤動作を防止し、誤りの発生直後から復号化処理が可能な復号化装置を、容易に実現する。
【解決手段】ビデオバッファ制御部113は、復号処理制御部102からの可変長復号処理の終了通知に基づく読出制御信号RPcntにより、スタートコードの先頭データよりも所定のビット数だけ手前のデータからのビデオストリームを、スタートコード検出部101に対して供給するように、ビデオストリームバッファ112を制御する。スタートコード検出部101は、検出指令信号STに応じて、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、画像データの圧縮符号化に利用される可変長符号を含む符号化データを復号する復号化方法、および復号化装置に関する。
【0002】
【従来の技術】
画像や音声等の各種情報信号をデジタル化して信号処理する技術がめざましく進歩し、これに伴ない、既存のアナログテレビジョン放送に代わるデジタル放送システムが実用化されている。一方、デジタル放送システムの実用化とともに、これらのデジタル放送による番組を、ハードディスクドライブ(Hard Disc Drive、以下、HDDと呼ぶ。)やDVD−RAM(DigitalVersatile Disc−RAM)等にデジタル形式で記録する記録再生装置も実用化されている。このようなデジタル化した信号を処理するにあたり、最も重要となる要素の1つとして、デジタル化された画像信号、音声信号やその他の情報データ等を圧縮符号化処理する技術が挙げられる。この圧縮符号化処理技術の規格としては、MPEG(Moving Picture ImageCoding Experts Group)、JPEG(Joint Photographic Coding Experts Group)等が国際的に知られ、とりわけ動画像を扱う分野においてはMPEG規格に基づく方式が主流になりつつある。
【0003】
MPEG規格に基づく圧縮符号化方式は、動画像データのデータ量を削減するために、動画像データの時間的または空間的相関性を利用し、動画像データの圧縮符号化を行なう。さらに、時間的相関性を利用する手法としては、連続する2つのフレームの差分を符号化したり、画像の動きを検出して動き補償を行なったりする。また、空間的相関性を利用する手法としては、例えば、画像を縦方向、横方向ともに8画素ずつの複数ブロックに分割し、各ブロック内のデータを直交変換する。さらに、直交変換による変換係数を、例えば、低周波成分から高周波成分の順に並び替えるスキャン変換し、可変長符号化を行なう。このように、MPEG規格に基づく圧縮符号化方式は、このような2つの手法を併用して、動画像データを圧縮符号化する方式である。MPEG規格に基づき圧縮符号化された動画像データは、データ量が削減されたビットストリームの状態で伝送、あるいは蓄積され、復号化処理によりもとの動画像データに復元される。
【0004】
このようなビットストリームの伝送などにおいて、例えば、伝送路誤りや記録媒体からの読み取りエラーにより、ビットストリームに誤りが発生する場合がある。さらに、このような誤りやエラーが可変長符号に対して発生した場合、ビットストリームから動画像データに復元する復号化処理が正常に動作しないおそれがあった。とりわけ、誤ったビットストリームをたまたま可変長符号として復号化できると、本来の符号とは異なる符号長として復号され、その後に続く符号が正常に復号されなくなる場合があった。特に、誤りの直後にスタートコードがあった場合、スタートコードのビットのいくつかを可変長復号処理してしまい、スタートコードとして検出できず、エラーから復帰できるポイントが先へずれてしまうという課題があった。このため、このような課題を解決する手法の一例として、スタートコードの誤検出を防止する機能を備え、可変長符号化データにエラーが発生した場合であっても、直後に復号化処理を開始することが可能な復号化装置が提案されている(例えば、特許文献1参照)。
【0005】
図5は、従来のスタートコードの誤検出を防止する機能を備えた復号化装置のブロック図である。
【0006】
図5において、従来の復号化装置は、スタートコードの誤検出を防止するための機能を備えたシステムデコード部920、および供給されたビットストリームを復号化する復号処理部910により構成される。復号処理部910において、復号処理部910の各部を制御する復号処理制御部902は、まず、第2のスタートコード検出部901に対して、切替部904を制御しビデオストリームに含まれるスタートコードを供給するとともに、スタートコードの検出を指令する。スタートコードの検出を行なう第2のスタートコート検出部901は、スタートコードを検出すると、復号処理制御部902に対してスタートコード検出を通知する。この通知により、復号処理制御部902は、ヘッダ・エクステンションのデコードを行ない、さらにスライスヘッダを検出するまでこの動作を繰り返す。スライスヘッダが検出されると、復号処理制御部902は、切替部904を切り替えるように制御するとともに、可変長復号処理を行なうVLD(Variable Length codes Decode、可変長復号の略称)処理部903に対して、可変長復号処理を開始するよう指令する。VLD処理部903は、供給されたビットストリームに対して、それに応じた可変長復号処理を行なう。可変長復号処理が終わると、復号処理制御部902へ通知し、復号したDCT係数を、後段の画像復号処理へ渡し、画像データへの復号が行なわれる。さらに、従来の復号化装置は、復号処理部910の入力前段に、システムデコード部920を設け、スタートコードの誤検出を防止するための処理を行なっている。システムデコード部920において、まず、データ分離部921は、入力のビットストリームから、ビデオストリーム、およびオーディオストリーム等に分離する。第1のスタートコード検出部922は、分離されたビデオストリームに対して、予め決められたスタートコードのパターンを検索し、ビデオストリームに含まれるスタートコードを検出する。データ挿入部923は、スタートコードが検出される毎に、検出されたスタートコードの直前に、24ビットまたは32ビット程度の連続する”0”データを付加して、後段の復号処理部910へ出力する。これによって、スタートコード直前のデータに誤りが発生し、可変長符号として処理されてしまったとしても、スタートコードが失われることを防止できる。すなわち、先頭のデータが誤りによりエスケープコードとみなされて扱われる場合、ランおよびレベルの固定長符号として処理されるのは、スタートコードの直前に付加した”0”データ24ビットのうちの18ビットである。そのため、この後に続くスタートコードのデータは処理されずに残っているので、第2のスタートコード検出部901での正確なスタートコードの検出が可能となる。また、このような機能により、誤りの直後にスタートコードがあった場合でも、スタートコードの未検出を防止でき、直後に復号化処理を開始することができる。
【0007】
【特許文献1】
特開2002−33668号公報
【0008】
【発明が解決しようとする課題】
しかしながら、従来の復号化装置は、供給されたビットストリームに対して、さらに”0”のデータを付加するため、復号化処理のためのデータ量が増加することとなり、例えば、復号化に用いるバッファの、バッファ容量を増加させる必要が生じ、バッファ用メモリ等のハードウエア量が増大する。また、スタードコード検出部を2箇所に設ける必要があるため、これによっても、ハードウエア量が増大し、復号化処理を実現する回路規模が増加するという課題を有していた。
【0009】
本発明は、以上のような課題を解決するためになされたもので、スタートコード直前のデータに誤りが発生した場合であっても、スタートコードが可変長符号化データとして復号化処理されてしまう誤動作を防止し、復号化品質の向上を図った復号化装置、および復号化方法であって、回路規模の増加を抑制し、容易に、上述したような誤動作の防止を可能とした復号化方法、および復号化装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記課題を解決するため、本発明の復号化方法は、画像データを可変長符号化したビットストリームであるビデオストリームを復号化する復号化方法であって、ビデオストリームに含まれるスタートコードを検出するステップと、スタートコードの検出結果に基づいて、スタートコードに続く可変長符号化データの可変長復号処理を行ない、可変長復号処理の終了とともに終了通知を発行するステップとを備え、上記スタートコードを検出するステップは、終了通知に基づいて、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始する構成である。
【0011】
また、本発明の復号化装置は、画像データを可変長符号化したビットストリームであるビデオストリームを復号化する復号化装置であって、ビデオストリームに含まれるスタートコードを検出するスタートコード検出手段と、スタートコード検出手段によるスタートコードの検出結果に基づいて、スタートコードに続く可変長符号化データの可変長復号処理を行ない、可変長復号処理の終了とともに終了通知を発行する可変長復号処理手段と、可変長復号処理手段からの終了通知に基づき、スタートコード検出手段に対して、スタートコードの検出を行なうよう検出指令を発行する制御手段とを備え、スタートコード検出手段は、制御手段からのスタートコードの検出指令に応じて、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始する構成である。
【0012】
このような構成により、スタートコードを検出するとき、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始するため、スタートコード直前のデータに誤りが発生した場合であっても、スタートコードが可変長符号化データとして復号化処理されてしまう誤動作を容易に防止でき、誤りの発生直後から復号化処理が可能であり、復号化品質の向上を図ることができる。
【0013】
また、本発明の復号化装置は、画像データを可変長符号化したビットストリームであるビデオストリームを復号化する復号化装置であって、ビデオストリームを蓄積するビデオストリームバッファと、ビデオストリームバッファの書き込み、および読み出しを制御するビデオバッファ制御手段と、ビデオストリームバッファから読み出されたビデオストリームに含まれるスタートコードを検出するスタートコード検出手段と、スタートコード検出手段によるスタートコードの検出に応じて、ビデオストリームバッファから読み出されたビデオストリームのスタートコード間に含まれる可変長符号化データを可変長復号処理する可変長復号処理手段と、可変長復号処理手段によるスタートコード間の可変長復号処理の終了を検出し、可変長復号処理の終了をビデオバッファ制御手段に通知する復号処理制御部とを備えた構成である。さらに、本発明の復号化装置は、ビデオバッファ制御手段は、復号処理制御部からの可変長復号処理の終了通知に基づき、スタートコードの先頭データよりも所定のビット数だけ手前のデータからスタートコード検出手段に対して供給するように、ビデオストリームバッファを制御し、スタートコード検出手段は、供給されたビデオストリームに対し、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始する構成である。
【0014】
このような構成により、スタートコード検出処理時に、ビットストリームを読み出すデータ位置を制御し、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始する機能を有しているため、スタートコード直前のデータに誤りが発生した場合であっても、スタートコードが可変長符号化データとして復号化処理されてしまう誤動作を防止でき、誤りの発生直後から復号化処理が可能であり、復号化品質の向上を図ることができる。また、ビットストリームを読み出すデータ位置を制御する機能のみを付加すればよいため、回路規模の増加を抑制できるとともに、容易に、上述した誤動作の防止を可能としている。
【0015】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【0016】
(実施の形態1)
図1は、本実施の形態における復号化装置の構成の一例を示すブロック図である。本復号化装置は、画像データを可変長符号化したビットストリームであるビデオストリームに対し、可変長復号化処理を含む復号化処理を実行し、画像データへと復号化する復号化装置である。
【0017】
図1において、画像や音声データを可変長符号化したビットストリームが入力端子110に供給される。データ分離部111は、供給されたビットストリームから、画像データに対応するビデオストリーム、音声データに対応するオーディオストリーム、およびビットストリームに含まれるシステム情報を分離し、それぞれ所定の処理手段に供給する。
【0018】
ビデオストリームバッファ(以下、適宜、バッファと呼ぶ)112は、データ分離部111により分離されたビデオストリームを所定のビット数分、一時的に蓄積する蓄積手段である。本実施の形態では、バッファ112が、書き込みポインタ信号(以下、適宜、書込信号と呼ぶ)WP、および読み出しポインタ信号(以下、適宜、読出信号と呼ぶ)RPにより制御され、循環的に書き込み、および読み出しが可能なリングバッファとして機能する一例を挙げて説明する。
【0019】
ビデオバッファ制御部(以下、適宜、バッファ制御部と呼ぶ)113は、バッファ112の書き込み、および読み出しを制御するバッファ制御手段である。バッファ制御部113は、バッファ112の書き込み、および読み出しを制御するための、上述した書込信号WP、および読出信号RPを、バッファ112に供給する。すなわち、バッファ制御部113からの書込信号WP、および読出信号RPのタイミングにより、バッファ112によるリングバッファが実現される。また、バッファ制御部113は、図1に示す読出制御信号RPcntにより、読出信号RPのタイミングを可変できる機能を有している。以上のようなバッファ112とバッファ制御部113との構成により、通常は、バッファ112に供給されたビデオストリームが、書込信号WP、および読出信号RPにより決定される所定の時間だけ遅れてバッファ112から出力される。また、バッファ制御部113に対して、読出制御信号RPcntが通知されることで、バッファ112は、上記所定の時間の遅れに対してさらに遅れたタイミングでビデオストリームを出力する。
【0020】
切替部104は、切替信号CNTの制御により、バッファ112から供給されたビデオストリームを切り替えて、次に説明するスタートコード検出部101、またはVLD処理部103に選択的に供給する。
【0021】
スタートコード検出部101は、切替部104から供給されたビデオストリームに含まれるスタートコードを検出するスタートコード検出手段である。MPEG方式に基づくビデオストリームでは、シーケンスヘッダに始まり、シーケンスエクステンション、GOP(Group Of Picture)ヘッダ、ピクチャヘッダ、スライスヘッダと続き、これらの層が画像の基本単位として、この順に細かく区分される。これらのヘッダおよびエクステンションは、識別子として先頭に32ビットのスタートコードが置かれる。このスタートコードは、スタートコードプリフィックスと呼ばれる24ビットの固定パターン(16進表記で、「000001」)と、8ビットの識別コードとにより構成される。それに続いて、それぞれのヘッダ、またはエクステンションのデータが続く。スライスヘッダに続くスライス層のデータは、マクロブロックモード、動きベクトル、コーデッドブロックパターン、係数データと続く。このスライス層毎のデータが可変長符号化されている。スタートコード検出部101は、スタートコードを検出すると、次に説明するVLD処理部103、および復号処理制御部102にスタートコード検出信号(以下、適宜、検出信号と呼ぶ)Sdetを通知する。
【0022】
VLD(Variable Length codes Decode、可変長復号の略称)処理部103は、スタートコード検出部101によるスタートコードの検出に応じて、バッファ112から読み出されたビデオストリームのスタートコード間に含まれる可変長符号化データを可変長復号処理する可変長復号処理手段である。VLD処理部103は、スタートコード検出信号Sdetに応じて可変長復号処理を開始する。また、VLD処理部103は、可変長復号処理により復号した係数データなどを、後段のデコーダ105に供給する。VLD処理部103は、可変長復号処理を終了すると可変長復号処理終了信号(以下、適宜、終了信号と呼ぶ)Vendを、終了通知として復号処理制御部102に通知する。また、デコーダ105は、供給された係数データを逆量子化処理、逆直交変換処理し、さらに動き補償処理等を行なって、非符号化データである画像データを復元する。
【0023】
復号処理制御部(以下、適宜、制御部と呼ぶ)102は、VLD処理部103からの終了信号Vendに基づき、スタートコード検出部101に対して、スタートコードの検出を行なうよう検出指令を発行する制御手段である。制御部102は、VLD処理部103によるスタートコード間の可変長復号処理の終了を検出し、可変長復号処理の終了をバッファ制御部113に通知する。本実施の形態では、制御部102は、VLD処理部103から終了信号Vend受け取ることにより、可変長復号処理の終了を検出している。また、本実施の形態では、制御部102は、上述の読出制御信号RPcntにより、バッファ制御部113に可変長復号処理の終了を通知している。さらに、制御部102は、終了信号Vend受け取ると、切替部104に対して切替信号CNTを通知し、スタートコード検出部101に対しては、スタートコードの検出を開始するよう検出指令信号STを通知する。このとき、切替部104は、バッファ112から供給されたビデオストリームを、スタートコード検出部101に供給するように切り替える。また、制御部102は、スタートコード検出部101から検出信号Sdetを受け取ると、切替信号CNTにより、バッファ112から供給されたビデオストリームを、VLD処理部103に供給するように切替部104を制御する。これにより、切替部104は、ビデオストリームを、VLD処理部103に供給するように切り替える。
【0024】
上述したように、バッファ制御部113は、読出制御信号RPcntが通知されることで、通常の所定時間の遅れに対してさらに遅れたタイミングで、ビデオストリームがバッファ112から出力されるように機能する。すなわち、制御部102は、バッファ制御部113に対して、可変長復号処理の終了に応じて読出制御信号RPcntを通知する。このため、バッファ制御部113は、制御部102からの可変長復号処理の終了通知に基づき、スタートコードの先頭データよりも所定のビット数だけ手前のデータからスタートコード検出部101に対して供給するように、バッファ112を制御する。さらに、スタートコード検出部101は、制御部102からのスタートコードの検出指令信号STに応じて、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始する。このように、本発明の復号化装置は、スタートコード検出部101がスタートコードを検出するとき、スタートコードの先頭データよりも所定のビット数だけ手前のデータから検出を開始することを特徴とする。
【0025】
以下、本実施の形態の復号化装置は、このような構成とすることにより、スタートコード直前のデータに誤りが発生した場合であっても、スタートコードが可変長符号化データとして復号化処理されてしまう誤動作を容易に防止し、復号化品質の向上を図ることを可能とする動作について説明する。
【0026】
図2は、本実施の形態における復号化装置の通常時の動作を説明するためのタイミングチャートである。また、図3は、本実施の形態における復号化装置において、ビデオストリームの可変長符号化データにエラーが発生したときの動作を説明するためのタイミングチャートである。
【0027】
以下、まず、図2のタイミングチャートを参照しながら、本復号化装置の通常時の動作について説明する。図2の(a)は、バッファ112に供給されるビデオストリームのデータ構成を示している。図2の(a)に示すように、スタートコード、ヘッダに続き、MB1、MB2と順に示すマクロブロック毎の可変長符号化データが続く。さらに、MBnで示すマクロブロックの可変長符号化データが最終のデータであり、この後、次のスタートコードが始まる。なお、MBで示すマクロブロックは、画像を直交変換するときの基本画素構成であり、スタートコードで最小区分されるスライス層は、複数個のマクロブロック単位で符号化データが構成されている。
【0028】
図2の(b)は、バッファ112に蓄積されるビデオストリームの様子を示している。図2の(b)では、バッファ制御部113の書き込みポインタを所定の値とすることで、バッファ112が入力のビデオストリームに対して所定の時間Tだけ遅延したビデオストリームを出力する様子を示している。また、所定の時間Tの遅延は、バッファ制御部113からの書き込みポインタに基づく書込信号WP、および読み出しポインタに基づく読出信号RPにより決定される。
【0029】
図2の(c)は、制御部102から出力される切替信号CNTを示している。すなわち、制御部102は、VLD処理部103から終了信号Vend受け取ると、図2の(c)に示すように、切替信号CNTの論理値を”H”とする。また、制御部102は、スタートコード検出部101から検出信号Sdetを受け取ると、所定時間の遅延の後、切替信号CNTの論理値を”L”とする。制御部102は、このような切替信号CNTにより、切替部104を制御する。切替部104は、切替信号CNTに応じて、バッファ112から供給されたビデオストリームを、切替信号CNTの論理値が”H”のときには、スタートコード検出部101に供給し、切替信号CNTの論理値が”L”のときには、VLD処理部103に供給する。
【0030】
図2の(d)は、制御部102から出力される検出指令信号STを示している。すなわち、制御部102は、VLD処理部103から終了信号Vend受け取ると、図2の(d)に示すようなタイミングで、検出指令信号STをスタートコード検出部101に通知する。スタートコード検出部101は、この検出指令信号STを受け取るとスタートコードの検出を開始する。
【0031】
図2の(e)は、スタートコード検出部101が切替部104から受け取るビデオストリームを示している。すなわち、図2の(e)に示すように、切替部104への切替信号CNTが論理値”H”のときのみ、スタートコード検出部101にビデオストリームが供給される。また、制御部102は、VLD処理部103から終了信号Vend受け取ると、バッファ制御部113に対して読出制御信号RPcntを通知する。バッファ制御部113は、読出制御信号RPcntが通知されると、所定の時間Tの遅延に対してさらに遅延したタイミングでビデオストリームを出力する。すなわち、バッファ112は、図2の(b)で示すビデオストリームに対して、基準とする所定の読み出しポインタでビデオストリームを読み出すが、読出制御信号RPcntの通知により、基準のポインタに対してさらに図2の(b)に示すスタートコードオフセット(以下、適宜、オフセットと呼ぶ)SCofs分だけ前方向にシフトした読み出しポインタが設定される。これにより、バッファ112からは、基準とした所定の時間Tの遅延に対して、オフセットSCofs分だけさらに遅延したビデオストリームが出力される。また、VLD処理部103から終了信号Vendが制御部102に通知されると、制御部102は、読出制御信号RPcntにより、バッファ制御部113に対して、基準とする所定の読み出しポインタに戻すよう通知する。以上のような動作により、スタートコード検出部101には、図2の(c)で示す切替信号CNTが論理値”H”の期間、図2の(e)で示す所定時間Tの遅延に対してさらに遅延したビデオストリームが供給される。すなわち、スタートコード検出部101は、図2の(d)で示す検出指令信号STに応じて、スタートコードの先頭データよりも所定のビット数だけ手前のデータからスタートコードの検出を開始する。また、スタートコード検出部101は、スタートコードの検出を終了すると、VLD処理部103、および制御部102に検出信号Sdetを通知する。
【0032】
図2の(f)は、VLD処理部103が切替部104から受け取るビデオストリームを示している。すなわち、図2の(f)に示すように、切替部104への切替信号CNTが論理値”L”のときのみ、VLD処理部103にビデオストリームが供給される。また、このとき、図2の(e)のときとは逆に、バッファ制御部113にはオフセットSCofs分だけの遅延が通知されないため、バッファ112からは、基準とした所定の時間Tだけ遅延したビデオストリームが出力される。すなわち、スタートコード検出部101は、図2の(e)で示すスタートコードを検出すると検出信号SdetをVLD処理部103に通知する。VLD処理部103は、検出信号Sdetの通知により可変長符号化処理の準備を行ない、図2の(f)で示すようにマクロブロックMB1から順番に、それぞれのマクロブロックに対して可変長符号化処理を行なう。また、図2の(f)で示すように、VLD処理部103は、マクロブロックMBnまでの可変長符号化処理が終了すると、制御部102に対し終了信号Vendを通知する。
【0033】
次に、図3のタイミングチャートを参照しながら、本復号化装置における、ビデオストリームの可変長符号化データにエラーが発生したときの動作について説明する。図3に示す(a)から(f)までは、それぞれ図2に示す(a)から(f)に対応している。図3では、図3の(a)に示すように、バッファ112に供給されるビデオストリームにデータエラーが発生した場合を示している。特に、図3では、このデータエラーがスタートコードの手前の可変長符号化データに対して生じた場合を示している。このため、図3の(f)で示すように、VLD処理部103は、データエラーにより、誤った可変長符号化処理を続行することとなり、後続のスタートコードに対しても可変長符号化処理を行なってしまうことがある。しかし、スタートコード検出部101に対しては、図2を用いて説明したように、スタートコードの先頭データよりも所定のビット数だけ手前のデータからのビデオストリームが供給される。このため、スタートコード検出部101は、スタートコード直前でデータエラーが発生したにもかかわらず、スタートコード手前のデータからスタートコードの検出を開始するので、このスタートコードを検出することができる。よって、次に供給される可変長符号化データに対しては、VLD処理部103により可変長符号化処理を実行できる。
【0034】
以上説明したように、本復号化装置は、スタートコード検出部101に供給するビデオストリームとして、スタートコードの先頭データよりも所定のビット数だけ手前のデータから供給し、検出を開始しているため、例えば、ビットストリームにエラーが発生したり、特殊再生の際に可変長符号化データが途中で連結された場合でも、直後に復号化を開始することができる。また、バッファ112を制御するバッファ制御部113の読み出しポインタを制御するのみでよいため、回路規模を増加させることなく容易に実現できる。
【0035】
なお、本実施の形態においては、バッファ112、およびバッファ制御部113により構成したリングバッファを利用し、スタートコード検出部101に対して、スタートコードの先頭データよりも所定のビット数だけ手前のデータから供給することで、スタートコード検出部101が、所定のビット数だけ手前のデータからスタートコードの検出を開始する一例を挙げて説明した。しかし、例えば、リングバッファに代えて、入力したビデオストリームに対し先入れ先出し処理を行ない、先入れ先出し処理したビデオストリームのデータを、スタートコード検出手段に対して供給するFIFO(First In First Out)メモリを利用した構成によっても本発明を実現することができる。すなわち、スタートコード検出手段は、このFIFOメモリから、例えば、常に所定のビット数分のデータを並列に入力し、スタートコード検出手段は比較器を利用してスタートコードを検出するような構成に対しても、本発明を適用可能である。
【0036】
図4は、スタートコード検出手段としてのスタートコード検出部201が、FIFOメモリからのデータを常時受け取り、スタートコードの検出を行なうような構成の復号化装置に、本発明を適用した一例を示すブロック図である。FIFOメモリ202は、入力したビデオストリームに対し先入れ先出し処理を行ない、順次遅延した所定のビット数分のデータをスタートコード検出部201に供給する。スタートコード検出部201は、ビデオストリームの所定のビット数分のデータをFIFOメモリ202から受け取り、例えば比較器によりスタートコードの固定パターン(16進表記で、「000001」)を常時比較し、比較の結果、この固定パターンと一致することで、検出信号Sdetを出力する。また、制御部102は、VLD処理部103からの終了信号Vendに基づき、スタートコード検出部201に対して、スタートコードの検出を行なうよう検出指令信号STを発行する。このとき、制御部102は、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始するように、検出指令信号STをスタートコード検出部201に通知する。よって、このような構成によっても、スタートコード検出部201は、制御部102からの検出指令信号STに応じて、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始することができ、例えば、ビットストリームにエラーが発生したり、特殊再生の際に可変長符号化データが途中で連結された場合でも、直後に復号化を開始することができる。
【0037】
また、以上の説明からもわかるように、本発明の復号化装置は、スタートコード検出手段が、スタートコードの検出指令に応じて、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始することにより、例えば、ビットストリームにエラーが発生したような場合でも、直後に復号化を開始することを可能としている。よって、例えば、ビデオストリームに含まれるスタートコードを検出するステップと、スタートコードの検出結果に基づいて、スタートコードに続く可変長符号化データの可変長復号処理を行ない、可変長復号処理の終了とともに終了通知を発行するステップとを備え、スタートコードを検出するステップは、終了通知に基づいて、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始するようなステップを有した符号化方法を実行することによっても、本発明を実現することができる。
【0038】
また、本実施の形態においては、スタートコードの検出、可変長復号処理、復号処理の制御等を機能ブロックにより実現する例を挙げて説明したが、スタートコード検出手段や可変長復号処理手段として、プログラムに従って実行するプロセッサを利用して、上述したような符号化方法を実行させ、本発明の復号化装置を実現することも可能である。すなわち、本発明の復号化装置は、上述のビデオストリームバッファなどビデオストリームを蓄積するメモリに加えて、プログラムに従って実行するプロセッサと、プロセッサを動作させるためのプログラムを格納するプログラムメモリと、プロセッサを動作させるためのプログラムを備えた構成とする。さらに、このプログラムが、メモリに蓄積されたビデオストリームに含まれるスタートコードを検出するステップと、スタートコードの検出結果に基づいて、スタートコードに続く可変長符号化データの可変長復号処理を行ない、可変長復号処理の終了とともに終了通知を発行するステップと、終了通知に基づき、スタートコードを検出するステップにおいて、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始するように、メモリの読み出しアドレスを制御するステップとを有した復号化方法を、実現するためのプログラムとすることでも本発明の復号化装置を実現できる。
【0039】
【発明の効果】
以上説明したように、本発明は、復号化方法、および復号化装置において、スタートコード検出処理時に、ビットストリームを読み出すデータ位置を制御し、スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置からスタートコードの検出を開始する機能を設けている。これにより、スタートコード直前のデータに誤りが発生した場合であっても、スタートコードが可変長符号化データとして復号化処理されてしまう誤動作を防止し、復号化品質の向上を可能としている。すなわち、本発明の復号化方法、および復号化装置は、上述した誤動作を防止し、復号化品質の向上を図るために、例えばポインタを戻す機能のみを付加すればよいため、回路規模の増加を抑制し、容易に、上述した誤動作の防止を可能とした復号化方法、および復号化装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の復号化装置の構成を示すブロック図
【図2】本発明の復号化装置の通常時の動作を説明するためのタイミングチャート
【図3】本発明の復号化装置において、可変長符号化データにエラーが発生したときの動作を説明するためのタイミングチャート
【図4】本発明の復号化装置において、FIFOメモリを利用したときの構成を示すブロック図
【図5】従来の復号化装置の構成を示すブロック図
【符号の説明】
101,201 スタートコード検出部
102,902 復号処理制御部(制御部)
103,903 VLD処理部
104,904 切替部
105 デコーダ
110 入力端子
111,921 データ分離部
112 ビデオストリームバッファ(バッファ)
113 ビデオバッファ制御部(バッファ制御部)
202 FIFOメモリ
901 第2のスタートコード検出部
910 復号処理部
920 システムデコード部
922 第1のスタートコード検出部
923 データ挿入部

Claims (8)

  1. 画像データを可変長符号化したビットストリームであるビデオストリームを復号化する復号化方法であって、
    前記ビデオストリームに含まれるスタートコードを検出するステップと、
    前記スタートコードの検出結果に基づいて、前記スタートコードに続く可変長符号化データの可変長復号処理を行ない、前記可変長復号処理の終了とともに終了通知を発行するステップとを備え、
    前記スタートコードを検出するステップは、前記終了通知に基づいて、前記スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置から前記スタートコードの検出を開始することを特徴とする復号化方法。
  2. 画像データを可変長符号化したビットストリームであるビデオストリームを復号化する復号化装置であって、
    前記ビデオストリームに含まれるスタートコードを検出するスタートコード検出手段と、
    前記スタートコード検出手段による前記スタートコードの検出結果に基づいて、前記スタートコードに続く可変長符号化データの可変長復号処理を行ない、前記可変長復号処理の終了とともに終了通知を発行する可変長復号処理手段と、
    前記可変長復号処理手段からの前記終了通知に基づき、前記スタートコード検出手段に対して、前記スタートコードの検出を行なうよう検出指令を発行する制御手段とを備え、
    前記スタートコード検出手段は、前記制御手段からの前記スタートコードの検出指令に応じて、前記スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置から前記スタートコードの検出を開始することを特徴とする復号化装置。
  3. 前記ビデオストリームを蓄積し、前記蓄積したビデオストリームを前記スタートコード検出手段に供給するリングバッファと、
    書き込みポインタ、および読み出しポインタにより、前記リングバッファを、循環的に書き込み、および読み出しが可能なように制御するバッファ制御手段とを、さらに、備え、
    前記バッファ制御手段は、前記制御手段からの前記スタートコードの検出指令に応じて前記読み出しポインタを発行し、
    前記リングバッファは、前記読み出しポインタの発行により、前記スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置から前記ビデオストリームを、前記スタートコード検出手段に供給することを特徴とする請求項2記載の復号化装置。
  4. 前記ビデオストリームを入力し、前記入力したビデオストリームに対し先入れ先出し処理を行ない、前記先入れ先出し処理したビデオストリームのデータを、前記スタートコード検出手段に対して供給するFIFOメモリを、さらに、備え、
    前記スタートコード検出手段は、前記制御手段からの前記スタートコードの検出指令に応じて、前記FIFOメモリから順次に供給される前記ビデオストリームのデータに対し、前記スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置から前記スタートコードの検出を開始することを特徴とする請求項2記載の復号化装置。
  5. 前記ビデオストリームを蓄積し、前記蓄積したビデオストリームを前記スタートコード検出手段に供給するメモリと、
    前記メモリのデータ書き込み、および読み出しの制御を行なうメモリ制御部とを、さらに、備え、
    前記メモリ制御部は、前記制御手段からの前記スタートコードの検出指令に応じて、前記メモリの読み出しアドレスを制御し、
    前記メモリは、前記読み出しアドレスの制御により、前記スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置から前記ビデオストリームを、前記スタートコード検出手段に供給することを特徴とする請求項2記載の復号化装置。
  6. 画像データを可変長符号化したビットストリームであるビデオストリームを復号化する復号化装置であって、
    前記ビデオストリームを蓄積するビデオストリームバッファと、
    前記ビデオストリームバッファの書き込み、および読み出しを制御するバッファ制御手段と、
    前記ビデオストリームバッファから読み出されたビデオストリームに含まれるスタートコードを検出するスタートコード検出手段と、
    前記スタートコード検出手段によるスタートコードの検出に応じて、前記ビデオストリームバッファから読み出されたビデオストリームのスタートコード間に含まれる可変長符号化データを可変長復号処理する可変長復号処理手段と、
    前記可変長復号処理手段によるスタートコード間の可変長復号処理の終了を検出し、前記可変長復号処理の終了を前記バッファ制御手段に通知する復号処理制御部とを備え、
    前記バッファ制御手段は、前記復号処理制御部からの前記可変長復号処理の終了通知に基づき、スタートコードの先頭データよりも所定のビット数だけ手前のデータから前記スタートコード検出手段に対して供給するように、前記ビデオストリームバッファを制御し、
    前記スタートコード検出手段は、前記供給されたビデオストリームに対し、前記スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置から前記スタートコードの検出を開始することを特徴とする復号化装置。
  7. 画像データを可変長符号化したビットストリームであるビデオストリームを復号化する復号化装置であって、
    前記ビデオストリームを蓄積するメモリと、
    前記メモリのデータ書き込み、および読み出しの制御を行なうメモリ制御手段と、
    プログラムに従って実行するプロセッサと、
    前記プロセッサを動作させるためのプログラムを格納するプログラムメモリと、
    前記プロセッサを動作させるためのプログラムとを具備し、
    前記プログラムは、
    前記メモリに蓄積されたビデオストリームに含まれるスタートコードを検出するステップと、
    前記スタートコードの検出結果に基づいて、前記スタートコードに続く可変長符号化データの可変長復号処理を行ない、前記可変長復号処理の終了とともに終了通知を発行するステップと、
    前記終了通知に基づき、前記スタートコードを検出するステップにおいて、前記スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置から前記スタートコードの検出を開始するように、前記メモリの読み出しアドレスを制御するステップと、を備えたことを特徴とする復号化装置。
  8. 画像データを可変長符号化したビットストリームであるビデオストリームを蓄積するメモリと、前記メモリのデータ書き込み、および読み出しの制御を行なうメモリ制御手段と、プログラムに従って実行するプロセッサと、前記プロセッサに前記ビデオストリームの可変長復号化処理を実行させるためのプログラムを格納するプログラムメモリとを具備した復号化装置の可変長復号化処理プログラムであって、
    前記プロセッサに、
    前記メモリに蓄積されたビデオストリームに含まれるスタートコードを検出するステップと、
    前記スタートコードの検出結果に基づいて、前記スタートコードに続く可変長符号化データの可変長復号処理を行ない、前記可変長復号処理の終了とともに終了通知を発行するステップと、
    前記終了通知に基づき、前記スタートコードを検出するステップにおいて、前記スタートコードの先頭データよりも所定のビット数だけ手前のデータ位置から前記スタートコードの検出を開始するように、前記メモリの読み出しアドレスを制御するステップと、
    を実行させるための復号化処理プログラム。
JP2003124080A 2003-04-28 2003-04-28 復号化方法、および復号化装置 Pending JP2004328647A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003124080A JP2004328647A (ja) 2003-04-28 2003-04-28 復号化方法、および復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003124080A JP2004328647A (ja) 2003-04-28 2003-04-28 復号化方法、および復号化装置

Publications (1)

Publication Number Publication Date
JP2004328647A true JP2004328647A (ja) 2004-11-18

Family

ID=33501782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003124080A Pending JP2004328647A (ja) 2003-04-28 2003-04-28 復号化方法、および復号化装置

Country Status (1)

Country Link
JP (1) JP2004328647A (ja)

Similar Documents

Publication Publication Date Title
KR100232992B1 (ko) 동화상 디코딩 회로
JP3923898B2 (ja) 画像符号化方法及び装置
US6052415A (en) Early error detection within an MPEG decoder
JP3302939B2 (ja) 独立に圧縮された偶数および奇数フィールド・データ用のビデオ信号圧縮解除装置
JP2004129216A (ja) 画像復号化方法及び装置
JP3649729B2 (ja) ディジタル・ビデオ処理システムにおけるエラーを隠す装置
JP2000115778A (ja) ビデオ・デ―タ中のフラッシュ・フレ―ムの検出および符号化
JP2000295616A (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及びプログラム記録媒体
KR100987777B1 (ko) 에러의 전파를 방지하고 병렬 처리가 가능한 디코딩 방법및 그 디코딩 장치
JP3918263B2 (ja) 圧縮符号化装置および符号化方法
JP4997243B2 (ja) 画像符号化装置、その方法およびその集積回路
JP4010617B2 (ja) 画像復号化装置及び画像復号化方法
JP2002027483A (ja) 画像符号化装置、画像復号化装置および記憶媒体
US20140037014A1 (en) Stream generation apparatus and stream generation method
JP3565182B2 (ja) 可変長符号の入力が中断されることを防止する方式及びその方法
JP2004328647A (ja) 復号化方法、および復号化装置
JP3810830B2 (ja) 符号化映像信号の復号化処理方法及びそれを用いた復号化装置
JP5189618B2 (ja) 映像符号化方法,映像符号化装置および映像符号化プログラム
JP2003018595A (ja) 映像符号化装置、映像復号化装置、映像符号化方法、映像復号化方法
JP3918540B2 (ja) 映像符号化装置、映像符号化方法、トランスコーダ装置及びトランスコード方法
US6459736B1 (en) Moving picture decoding apparatus and method
JP2011129979A (ja) 画像処理装置
KR101161604B1 (ko) 비디오 스트림의 립 싱크 제어 방법 및 그 장치
JP2887177B2 (ja) 動画像圧縮符号の復号方法及び復号装置
JP2002290742A (ja) 画像エラーストリーム補正方法及び復号化装置