(57)【要約】【課題】  メモリ量やメモリアクセスの増大を抑えるとともに高速で動作可能な可変長復号装置を提供する。【解決手段】  挿入データ除去手段４は、ユニークコード検出手段３が出力するユニークコード検出信号がアクティブ（ユニークコードの存在を示すもの）だった場合、第１のデータ保持手段２に保持されているデータが取り除かれるべき挿入データであると判断しデータを出力せず、非アクティブ（ユニークコードの非存在を示すもの）だった場合、第１のデータ保持手段２に保持されているデータをそのまま第２のデータ保持手段５に出力する。第２のデータ保持手段５に保持されるデータは、挿入データが取り除かれた後のＲＢＳＰデータであり、以後通常の可変長復号処理を行うことができる。【選択図】      図１
2007312272.tif 000002
【特許請求の範囲】
【請求項１】
可変長符号化ストリームを復号するための可変長復号装置であって、
入力される可変長符号化ストリーム内のデータを保持する第１のデータ保持手段と、
前記第１のデータ保持手段に保持されているデータにユニークコードの少なくとも一部が存在するか否かを検出し、ユニークコード検出信号を生成するユニークコード検出手段と、
前記ユニークコード検出信号がユニークコードの存在を示す場合には、前記第１のデータ保持手段に保持されているデータからユニークコードの一部に挿入されている挿入データを除去して出力し、前記ユニークコード検出信号がユニークコードの非存在を示す場合には、前記第１のデータ保持手段に保持されているデータをそのまま出力する挿入データ除去手段と、
前記挿入データ除去手段が出力するデータを保持する第２のデータ保持手段と、
前記第２のデータ保持手段に保持されたデータを、供給されるシフト量指示信号の示すビット数シフトして出力するバレルシフタと、
前記バレルシフタが出力するデータを保持する第３のデータ保持手段と、
可変長符号語のビット列とビット長、及び可変長符号語に対応する値を記録した符号語テーブルと、
前記第３のデータ保持手段が保持するデータと前記符号語テーブル内の可変長符号語のビット列とを比較し、ビット列の一致した可変長符号語のビット長を前記符号語テーブルから得て、そのビット長を示す信号として前記シフト量指示信号を前記バレルシフタに出力すると共に、前記ビット列の一致した可変長符号語に対応する値を前記符号語テーブルから得て復号データとして出力する符号語一致検出手段と、
を備えたことを特徴とする可変長復号装置。
【請求項２】
前記バレルシフタは、前記ユニークコード検出信号がユニークコードの存在を示す場合に、前記第２のデータ保持手段に保持されたデータのシフト動作を停止し、前記第２のデータ保持手段からのデータの読出しを抑制する手段であることを特徴とする請求項１記載の可変長復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変長符号化ストリームを復号するための可変長復号装置に関するものであり、例えば、画像データを所定のブロックに分割し直交変換、量子化の後、可変長符号化して得られた可変長符号化ストリームを可変長復号して画像データを得るための可変長復号装置に関するものである。
【背景技術】
【０００２】
近年、画像情報のデジタル化に伴い、ＭＰＥＧ−２（ＩＳＯ／ＩＥＣ  １３８１８−２）に代表される画像符号化方式が標準化され普及している。ＭＰＥＧ−２では直交変換と動き補償を行った後、可変長符号化を行うことにより画像の冗長性を取り除き画像を圧縮符号化している。
【０００３】
さらに高圧縮率の要求から、Ｈ．２６４（ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６４  ｜  ＩＳＯ／ＩＥＣ  １４４９６−１０  ＡＶＣ）が標準化された。直交変換のモードや動き補償のモードが多彩になり、イントラでも予測を用いること等により高い符号化効率が実現されている。
【０００４】
可変長符号は符号化されるデータの発生頻度により異なる符号長の符号語が割り当てられている。可変長符号化された符号化ストリームを復号する際には、一般的に可変長符号の符号語を表すビット列のテーブルと入力ストリームのビット列のパターンマッチングを行うことにより復号を行う。画像の高精細化と共に符号化ストリームの転送レートが高くなり、高転送レートの符号化ストリームを復号するため、高速で動作可能な可変長復号装置が求められている。
【特許文献１】特開平７−２１２２４４号公報
【非特許文献１】Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−Ｇｅｎｅｒｉｃ  Ｃｏｄｉｎｇ  ｏｆ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  ａｎｄ  Ａｓｓｏｃｉａｔｅｄ  Ａｕｄｉｏ：  Ｖｉｄｅｏ  （ＩＴＵ−Ｔ  Ｒｅｃ．  Ｈ．２６２  ｜  ＩＳＯ／ＩＥＣ  １３８１８−２）  １９９５年
【非特許文献２】Ｄｒａｆｔ  ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ａｎｄ  Ｆｉｎａｌ  Ｄｒａｆｔ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  ｏｆ  Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  （ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６４  ｜  ＩＳＯ／ＩＥＣ  １４４９６−１０  ＡＶＣ）  ２００３年
【発明の開示】
【発明が解決しようとする課題】
【０００５】
符号化ストリームを復号する際、高速で動作可能な可変長復号装置として「可変長デコーダ」（特許文献１：特開平７−２１２２４４号公報）が提案されている。
可変長符号は、符号語によって符号長が異なるため符号化ストリームを先頭から順に復号していかなければ各符号語の区切りが分からない。そのため、伝送路でのデータ欠落や記録メディアからのデータ読出しエラー等により符号化ストリームの一部のデータに誤りがあった場合、その後の符号化ストリームを途中から正しく復号することが困難である。
【０００６】
ＭＰＥＧ−２ではスタートコードと呼ばれる符号化データ中には現れないユニークな符号（ユニークコード：他のいかなるコードの組み合わせでも表現できないコード）が挿入されており、復号処理においてストリームに誤りが検出された後の再同期ポイントとなっている。
【０００７】
Ｈ．２６４では符号化データであるＲＢＳＰ（Ｒａｗ  Ｂｙｔｅ  Ｓｅｑｕｅｎｃｅ  Ｐａｙｌｏａｄ）データ中にスタートコードを含むどのようなビット列の挿入も禁止されていないため、符号化データ中にスタートコードと同じビット列が現れる可能性がある。その代わり、その上位層であるＮＡＬ（Ｎｅｔｗｏｒｋ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ）では、ＭＰＥＧ−２と同様なユニークなスタートコードが挿入され、再同期ポイントとすると共に、ＲＢＳＰデータ中に挿入されたスタートコードと同じビット列をスタートコードとして認識しないように、そのビット列中に特定の挿入データを挿入することによりスタートコードのビット列と一致してスターとコードを誤検出することを防止している。従って、この符号化ストリームを復号する祭にはその挿入データを取り除いてから復号する必要がある。
【０００８】
Ｈ．２６４において、ＲＢＳＰデータの特定ビット列に挿入データを挿入しＮＡＬデータを生成する方法と、ＮＡＬデータ中から挿入データを取り除きＲＢＳＰデータを生成する方法を、図２を用いて説明する。
【０００９】
図２（ｂ）はスタートコードを表すビット列である。スタートコードの誤検出を避けるため、図２（ａ）、（ｂ）、（ｃ）のそれぞれのビット列はＮＡＬデータ中のバイトアラインされた位置に現れてはならないことになっている。ＲＢＳＰデータからＮＡＬデータを生成する祭、図２（ａ）、（ｂ）、（ｃ）、（ｄ）の各ビット列がＲＢＳＰデータ中のバイトアラインされた位置に現れた場合、挿入データである図２（ｅ）のビット列を挿入し、それぞれ図２（ｆ）、（ｇ）、（ｈ）、（ｉ）の各ビット列に変換しＮＡＬデータを生成する。逆にＮＡＬデータからＲＢＳＰデータを生成する祭、図２（ｊ）のビット列がＮＡＬデータ中のバイトアラインされた位置に現れた場合、ＬＳＢ側の８ビットが挿入データであり、このビット列を取り除くことによりＲＢＳＰデータを生成する。
【００１０】
挿入データを取り除いて復号する方法として、あらかじめスタートコードを検出しＮＡＬデータから挿入データを取り除いたＲＢＳＰデータを生成して復号する方法がある。しかしこの方法では一旦ＮＡＬデータから挿入データを取り除いたＲＢＳＰデータを作成するため、ＲＢＳＰデータの読み書きのためのメモリ量やメモリアクセス回数の増大を招くとともに高速動作を行う祭に大きな障害となる。
【００１１】
そこで本発明は、ＮＡＬデータを直接入力し復号を行うことを可能とし、メモリ量やメモリアクセスの増大を抑えるとともに高速で動作可能な可変長復号装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
そこで、上記課題を解決するために本発明は、下記の可変長復号装置を提供するものである。
（１）  可変長符号化ストリームを復号するための可変長復号装置であって、
入力される可変長符号化ストリーム内のデータを保持する第１のデータ保持手段と、
前記第１のデータ保持手段に保持されているデータにユニークコードの少なくとも一部が存在するか否かを検出し、ユニークコード検出信号を生成するユニークコード検出手段と、
前記ユニークコード検出信号がユニークコードの存在を示す場合には、前記第１のデータ保持手段に保持されているデータからユニークコードの一部に挿入されている挿入データを除去して出力し、前記ユニークコード検出信号がユニークコードの非存在を示す場合には、前記第１のデータ保持手段に保持されているデータをそのまま出力する挿入データ除去手段と、
前記挿入データ除去手段が出力するデータを保持する第２のデータ保持手段と、
前記第２のデータ保持手段に保持されたデータを、供給されるシフト量指示信号の示すビット数シフトして出力するバレルシフタと、
前記バレルシフタが出力するデータを保持する第３のデータ保持手段と、
可変長符号語のビット列とビット長、及び可変長符号語に対応する値を記録した符号語テーブルと、
前記第３のデータ保持手段が保持するデータと前記符号語テーブル内の可変長符号語のビット列とを比較し、ビット列の一致した可変長符号語のビット長を前記符号語テーブルから得て、そのビット長を示す信号として前記シフト量指示信号を前記バレルシフタに出力すると共に、前記ビット列の一致した可変長符号語に対応する値を前記符号語テーブルから得て復号データとして出力する符号語一致検出手段と、
を備えたことを特徴とする可変長復号装置。
（２）  前記バレルシフタは、前記ユニークコード検出信号がユニークコードの存在を示す場合に、前記第２のデータ保持手段に保持されたデータのシフト動作を停止し、前記第２のデータ保持手段からのデータの読出しを抑制する手段であることを特徴とする上記（１）記載の可変長復号装置。
【発明の効果】
【００１３】
本発明の可変長復号装置によれば、システム構成に必要なメモリ量を削減し、メモリアクセスの増大を抑えるとともに高速で動作可能な可変長復号装置を構成でき、安価で高性能な復号装置を提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら本発明の実施の形態について実施例に基づき説明する。
［第１実施例］
図１は、本発明における第１実施例である可変長復号装置の構成を示すブロック図である。可変長符号化ストリーム入力１が供給され第１のデータ保持手段２に保持される。第１のデータ保持手段２には可変長符号化ストリームの一部のバイトアラインされたデータが保持される。第１のデータ保持手段２に保持されているデータには、可変長符号化ストリーム中に含まれるユニークコードの一部又は全部が含まれるか、ユニークコードが全く含まれていないかのいずれかである。ここでいうユニークコードの一例としては、図２（ｊ）に示すビット列がそれに当たる。
【００１５】
ユニークコード検出手段３は、第１のデータ保持手段２に保持されているデータがユニークコードであるかどうかを検出し［保持されているデータにユニークコードの一部又は全部が存在するか否かを検出し（ユニークコードの少なくとも一部が存在するか否かを検出し）］、検出信号を出力する。ここで、第１のデータ保持手段２が１バイトのデータを保持し、ユニークコードが図２（ｊ）に示すビット列である場合を例にユニークコードの検出方法を説明する。
【００１６】
ユニークコードは３バイトであり、第１のデータ保持手段２に保持される３バイトの連続データが‘００００００００’、‘００００００００’、‘００００００１１’であった場合に、ユニークコードとして検出できる。つまり、第１のデータ保持手段２に‘００００００００’が連続して保持された回数を計数し、それが２回以上であり且つ第１のデータ保持手段２に現在保持されているデータが‘００００００１１’である場合にユニークコード検出信号をアクティブにする（ユニークコードの存在を示すものとする）。
【００１７】
次に挿入データ除去手段４は、ユニークコード検出手段３が出力するユニークコード検出信号がアクティブだった場合、第１のデータ保持手段２に保持されているデータが取り除かれるべき挿入データであると判断しデータを出力せず、非アクティブ（ユニークコードの非存在を示すもの）だった場合、第１のデータ保持手段２に保持されているデータをそのまま第２のデータ保持手段５に出力する。
【００１８】
ここで第２のデータ保持手段５に保持されるデータは、挿入データが取り除かれた後のＲＢＳＰデータであり、以後通常の可変長復号処理を行うことができる。バレルシフタ６は、第２のデータ保持手段５のデータを、符号語一致検出手段９から供給されるシフト量指示信号の示すビット数シフトして第３のデータ保持手段７に供給する。第３のデータ保持手段７には、これから復号される符号語の先頭ビットがＭＳＢから並んで保持されている。
【００１９】
符号語テーブル８には、全ての可変長符号語のビット列とビット長、及び各可変長符号語に対応する値とが記録されている。符号語一致検出手段９は、第３のデータ保持手段７が保持するデータと符号語テーブル８内の全ての可変長符号語のビット列とを比較する。そして、符号語一致検出手段９は、ビット列の一致した可変長符号語のビット長を符号語テーブル８から得て、そのビット長を示す信号としてシフト量指示信号をバレルシフタ６に出力する。さらに、符号語一致検出手段９は、前記ビット列の一致した可変長符号語に対応する値を符号語テーブル８から得て復号データ１０として出力する。
【００２０】
バレルシフタ６は、符号語一致検出手段９が出力するビット長（シフト量指示信号）に従ってシフト動作を行うことにより、次の復号対象の符号語を第３のデータ保持手段７に供給する。
【００２１】
以上のようにして本実施例は、挿入データを含む可変長符号化ストリームから挿入データを取り除きながら各可変長符号語の値を出力し復号することが可能である。これにより、システム構成に必要なメモリ量を削減し、メモリアクセスの増大を抑えるとともに高速で動作可能な可変長復号装置を構成でき、安価で高性能な復号装置を提供できる。
【００２２】
上記説明では第１のデータ保持手段２が保持するデータが１バイトである場合の例を示したが、同様の考え方で２バイト以上の場合にも拡張することが可能である。
［第２実施例］
図３は、本発明における第２実施例である可変長復号装置の構成を示すブロック図である。図１に示す第１実施例と大きく異なるのは、ユニークコード検出手段２３の出力であるユニークコード検出信号がバレルシフタ２６に接続され、バレルシフタの動作が異なることと、ユニークコード検出信号が無効信号出力３１として外部に出力されることである。その他は、第１実施例とほぼ同じ動作である。以下、第１実施例と異なる部分を中心に説明する。
【００２３】
ユニークコード検出手段２３でユニークコードが検出されユニークコード検出信号がアクティブ（ユニークコードの存在を示すもの）になった場合、挿入データ除去手段２４は第１のデータ保持手段２２に保持されているデータを第２のデータ保持手段２５に出力しない。このためユニークコードが検出された場合、第２のデータ保持手段２５には有効なデータが存在しない可能性がある。
【００２４】
例えば、第２のデータ保持手段２５に供給されるデータが１バイト単位であり、バレルシフタ２６が第２のデータ保持手段２５から読み出すデータも１バイト単位であるとし、第２のデータ保持手段２５は１バイト以上の任意バイト数のデータを保持できるものとする。この場合、ユニークコードが検出されると、第２のデータ保持手段２５から読み出されるデータ量より第２のデータ保持手段２５に供給されるデータ量が少ないので、第２のデータ保持手段２５に保持されるデータが減少し、有効なデータが存在しなくなる場合が想定される。
【００２５】
従って、ユニークコードが検出された場合、バレルシフタ２６の動作を停止し第２のデータ保持手段２５からのデータの読出しを抑制することでこの問題を回避できる。
バレルシフタ２６はユニークコード検出信号がアクティブの場合、符号語一致検出手段２９の出力であるシフト量指示信号の示すビット長（符号長）にかかわらずその動作を抑制する。これに伴い符号語一致検出手段２９のもう一方の出力である可変長符号語に対応する値を無効とするため、ユニークコード検出信号を無効信号出力として外部に出力する。
【００２６】
符号語一致検出手段２９に接続され、符号語一致検出手段２９で復号された値を用いて復号処理を行う手段（図示せず）において、無効信号出力３１を用いてその処理を制御することで正しい復号処理を行うことができる。
【００２７】
以上のようにして、本実施例は挿入データを含む可変長符号化ストリームから挿入データを取り除きながらデータが欠落することなく、各可変長符号語の値を出力し復号することが可能である。これにより、システム構成に必要なメモリ量を削減し、メモリアクセスの増大を抑えるとともに高速で動作可能な可変長復号装置を構成でき、安価で高性能な復号装置を提供できる。
【図面の簡単な説明】
【００２８】
【図１】可変長復号装置の第１実施例の構成を示す図である。
【図２】Ｈ．２６４のＮＡＬデータとＲＢＳＰデータの変換を説明する図である。
【図３】可変長復号装置の第２実施例の構成を示す図である。
【符号の説明】
【００２９】
１  可変長符号化ストリーム入力
２  第１のデータ保持手段
３  ユニークコード検出手段
４  挿入データ除去手段
５  第２のデータ保持手段
６  バレルシフタ
７  第３のデータ保持手段
８  符号語テーブル
９  符号語一致検出手段
１０  復号データ出力
２１  可変長符号化ストリーム入力
２２  第１のデータ保持手段
２３  ユニークコード検出手段
２４  挿入データ除去手段
２５  第２のデータ保持手段
２６  バレルシフタ
２７  第３のデータ保持手段
２８  符号語テーブル
２９  符号語一致検出手段
３０  復号データ出力
３１  無効信号出力
【図１】
2007312272.tif 000003
【図２】
2007312272.tif 000004
【図３】
2007312272.tif 000005