(57)【要約】【課題】エスケープコードによる例外処理をプロセッサで処理する可変長復号装置において、エスケープコードが頻発するようなビットストリームでは、一つのエスケープシーケンスのコードを検出するのに、割り込み処理のオーバーヘッドがあるので、多数のエスケープコードが頻発すると、例外処理のサイクルが増大し、ハフマンデコード全体の処理性能が低下してしまう。【解決手段】可変長復号部のハフマンテーブルメモリには、エスケープコードは例外処理を実行するための識別コードになり、復号データ領域を、プロセッサの命令メモリの例外処理の開始番地としておく。エスケープコードをビットストリームから取得すると、テーブルメモリから直接例外処理部のプログラムカウンタに命令メモリの番地が格納され、例外処理が即座に実行できる。これにより割り込み処理のオーバーヘッドなしに例外処理が実施でき、ハフマンデコード処理性能の低下を防止できる。【選択図】図１
2008124600.tif 000002
【特許請求の範囲】
【請求項１】
可変長符号化されたビットストリームからビットパターンを切り出すビット切り出し制御部と、
前記ビットパターンを参照アドレスとして、第１の復号データまたはエスケープ状態信号と例外処理を行うためのプログラムを格納した命令メモリのアドレスを出力するハフマンテーブルと、
前記エスケープ状態信号と前記命令メモリのアドレスにより前記プログラムを実行して第２の復号データを出力する例外処理部と、
前記第１の復号データと前記第２の復号データの何れかを選択するセレクタとを備えた
可変長復号装置。
【請求項２】
請求項１において、
前記ハフマンテーブルは書き換え可能であり、復号フィールドの中に、エスケープ状態ビットと前記命令メモリのアドレスを格納できることを特徴とする可変長復号装置。
【請求項３】
請求項１において、
前記例外処理部は、前記ビット切り出し制御部を制御する命令と、前記例外処理部の動作停止命令を実行することを特徴とする可変長復号装置。
【請求項４】
請求項３において、
前記例外処理部は、前記停止命令を実行すると、
例外理終了後に前記第２の復号データを前記セレクタに転送し、
所定の命令メモリのアドレスに遷移し、
次のエスケープ状態信号が出力されるまで停止することを特徴とする可変長復号装置。
【請求項５】
請求項１から請求項４の何れかに記載の可変長復号装置を内蔵した再生端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は可変長符号化された、複数の国際規格のビットストリームを切り出して、ハフマンテーブルのマッチングよりハフマン復号するか、あるいはエスケープ信号による特殊処理を実施して復号値を算出する可変長復号装置に関するものである。
【背景技術】
【０００２】
図5に可変長復号化されたビットストリームの例として画像圧縮の国際規格として有名なMPEG-4の場合の典型的な可変長復号化処理をあげる。ハフマンテーブルと呼ばれる復号値を参照する記憶手段があり、ビットストリームの”1001010100”に相当するアドレスには「LAST=0,RUN=1,LEVEL=5」という復号データが、”0000011”に相当するアドレスには「エスケープ状態ビット」という1ビットの信号が、予め格納されている。前記例では２つのコードのみを挙げたが、他にも規格書ハフマンテーブルに従って定義されている復号値が格納されている。可変長符号化されたビットストリームデータを可変長復号化する場合、前記ハフマンテーブルとマッチングをとって復号データを出力する。
【０００３】
ビットストリームによっては、前記例の”0000011”のコードのような、復号値のないコードにマッチングする場合がある。これはエスケープコードと言われる通常のハフマンデコードとは異なる処理を実施するための識別信号である。前記エスケープコードに照合すると、ハフマンテーブルメモリから「エスケープ状態ビット」を読み出し、可変長復号装置がエスケープ状態と判断して、エスケープ処理という特殊処理を実施する。本例の場合は、エスケープコードの直後の2ビットを処理モードビットとし、”11”ならば、処理モードビット直後のビットをLASTとする。LASTの直後の5ビットをRUNとする。5ビットのRUNフィールドの直後の1ビットはマーカーなので、1ビットスキップしてその後の12bitをLEVELとする。12ビットのLEVELフィールド直後の1ビットはマーカーなので、1ビットスキップする。このようにしてLAST=0,RUN=1,LEVEL=686という復号値を得る。特殊処理のアルゴリズムは国際規格によって様々である。
【０００４】
複数の国際規格の復号アルゴリズムに対して、エスケープ処理を実施している従来例として、特許文献１のように可変長復号部にプロセッサを付けておき、ハフマンテーブルメモリからエスケープコードを検出したら例外処理と判定し、起動制御（割り込み）信号をプロセッサに出力して、プロセッサの割り込み処理ルーチンからそれぞれの例外処理ルーチンに分岐して例外処理を実施するものがある。図３は、前記特許文献1に記載された従来の可変長復号装置を示すものである。図３において、アドレス生成部６５でエスケープコードを示す番地を生成して、テーブルメモリ６３からデータが読み出されると、可変長復号部６６では例外処理の割り込み信号をプロセッサ６１に対して出力する。プロセッサ６１は割り込み信号により、割り込みルーチンに遷移して、特殊処理を実行して可変長復号部６６に転送する。複数の国際規格アルゴリズムに対して例外処理をプロセッサで処理するので適応的に処理が実行できエスケープ処理回路の増大を防ぐことができる。
【特許文献１】特開2001−308715号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来の構成では、近年、高画質（高周波成分にレベルが多発するようなデータ）、高音質（量子化値が小さくスペクトルレベルが大きいもの）の所謂ビットレートの高いビデオやオーディオのビットストリームにはエスケープシーケンスのコードの割合が高くなってきている。従来例の構成で、エスケープコードが頻発するようなビットストリームでは一つのエスケープシーケンスのコードを検出するのに、割り込みルーチンにおいて、規格アルゴリズムの判定や演算リソースの退避処理を実施した後、それぞれの例外処理ルーチンに分岐して例外処理を実施していては、割り込みルーチンから各種アルゴリズムの処理ルーチンに遷移するまで数十サイクルの処理サイクルかかるので、多数のエスケープコードが頻発すると、割り込みルーチンのオーバーヘッドにより、全体の処理サイクルが増大するという課題を有していた。
【０００６】
本発明は、前記従来の課題を解決するもので、可変長復号の例外処理をプロセッサで処理する場合に割り込み処理のオーバーヘッドを削減して高速な処理を可能になる可変長復号装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記従来の課題を解決するために、第１の発明に係る可変長復号装置は、可変長符号化されたビットストリームを切り出すビット切り出し制御部と、ビット切り出し制御部からのビットパターンをアドレスとして、ハフマンテーブルから復号データを読み出してハフマンデコードするハフマンデコード部と、ハフマンテーブルからの読み出しの結果、エスケープコードとなった場合に、前記ハフマンデコード部からエスケープコード認識信号と、エスケープコードによる特殊処理をプロセッサで処理するための命令メモリの先頭番地を出力し、前記プロセッサは前記エスケープ状態信号と命令メモリの先頭番地により特殊処理を実施して、補正された復号値をハフマンデコード部に出力する例外処理部を有する。本構成によって、エスケープコードによる例外処理において、プロセッサの命令メモリ番地の先頭アドレスを直接変更するので、従来のプロセッサの割り込みルーチン処理よりも処理が高速化される。
【０００８】
第２の発明に係る可変長復号装置は、ハフマンデコード部のハフマンテーブルは書き換え可能な記憶手段であり、ハフマンテーブルメモリの復号フィールドの中に、エスケープ状態ビットとプロセッサの命令メモリアドレスを格納する。本構成によって、エスケープコードの内容が変更になっても、容易に書き換えることが可能であるので、新規規格の追加等の変更に対しても柔軟に対応することができる。
【０００９】
第３の発明に係る可変長復号装置は、例外処理部のプロセッサは、ハフマンデコード部のビット切り出し制御部を制御できるような命令と、プロセッサ停止命令を有する。本構成によって、例外処理時のビットストリームの切り出しや参照などビットレベルの処理が可能となるので例外処理の高速化が期待できる。
【００１０】
第４の発明に係る可変長復号装置は、プロセッサ停止命令は、例外処理部のプロセッサの特殊処理終了後、補正された復号結果をハフマンデコード部に転送し、指定された命令メモリのアドレスに遷移して、次のエスケープ状態信号が起動されるまで停止している。本構成によって、例外処理部のプロセッサは例外処理専用となり、停止期間中は回路停止状態を容易に実現できるので、例えばクロックゲーティング等の機構を組み込めば、装置全体としての低消費電力化が実現できる。
【００１１】
第５の発明に係る可変長復号装置は、第１〜第４の発明に係る可変長復号装置を内蔵したオーディオやビデオの再生端末である。本構成によって、再生端末は、ビットレートが高い様々な国際規格のストリームに対しても再生が可能となり。再生の過程で映像のこま落ちや音楽の途切れなく、高品位のオーディオ・ビデオデータを享受することが可能となる。
【発明の効果】
【００１２】
本発明による第一の効果は、従来例のような割り込み処理のオーバーヘッドを削減できるため、エスケープコードによる特殊処理も含めハフマンデコード処理を高速に実施することが可能となる。
【００１３】
本発明による第二の効果は、従来例のような割り込み制御回路を実装する必要がないので可変長復号装置の実装回路が削減可能である。またプロセッサを特殊処理専用に使用するため通常動作では停止させることが可能であるので、装置全体としての低消費電力化が実現できる。
【００１４】
本発明による第三の効果は、新規の国際規格の追加あるいは例外処理部の特殊処理が一部変更になり、命令メモリのスタートアドレスが変更になったとしても、ハフマンテーブルのエスケープコードのアドレスに相当するデータの内容を変更するのみでよく、可変長復号化装置の大幅な変更を伴うことなく、可変長復号化装置のシステムの変更が容易に可能である。
【発明を実施するための最良の形態】
【００１５】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１６】
（実施の形態）
図１は、本発明の実施の形態における可変長復号化装置を示した図である。コマンドバッファ１０１にて予めハフマンデコードするためのコマンドを格納しておく。コマンドバッファ１０１を起動させるとコマンド制御部１０２がコマンドバッファ１０１の内容を解読して順番に実行制御する。まず入力ビットストリームからビットストリームバッファ１０３にビットストリームが格納されコマンドバッファ１０１のコマンドの内容に従ってビットストリーム切り出し制御部１０４にてビットストリームバッファ１０３に格納されたビットストリームの一部が切り出される。切り出したデータをハフマンテーブルメモリ１０６のアドレスとしてハフマンテーブルメモリ１０６にリードアクセスを実施すると、ハフマンテーブルメモリ１０６からデータが出力される。出力されたデータはハフマンデコード値、エスケープコードA１０５、エスケープコードB１０７にあげるような命令メモリ番地の値と、切り出したビットストリームの長さ（図示しない）である。ハフマンテーブルメモリ１０６は、国際規格のテーブル表記に準拠する形で予めデータが格納されている。エスケープコードは、ハフマンテーブルメモリ１０６の中に１つでも複数あってもかまわない。一回のハフマンデコードで前記データはテーブルメモリ出力１０８へ格納され、ビットストリームの長さがビットストリーム切り出し制御部１０４にフィードバックされ、次のビットストリームの切り出しが可能になっている。ハフマンテーブルメモリ１０６からのデータは一旦ハフマンテーブルメモリ出力１０８に格納される。ビットストリームのコードがエスケープコードならば、テーブルメモリ出力１０８のデータは例外処理部２００にデータが転送される。ビットストリームのコードが通常のコードであればハフマンテーブルメモリ１０８のデータはセレクタ１０９でセレクトされ復号結果として出力される。
【００１７】
命令メモリ２０２にはエスケープコードによる特殊処理を実施するための命令コードが、複数の規格分、予め格納されている。格納の例としては、規格Aは命令メモリ２０２の０番地から１２７番地、規格Bは１２８番地から２５５番地などである。各規格に割り当てられた命令メモリの領域の最終番地には、停止命令が格納されており、本停止命令が発行されると、ある指定された番地（図示しない）にプログラムカウンタが移動する。プログラムカウンタ２０１は、ハフマンデコード部１００からエスケープ状態信号が挿入されない限り、常にある指定された番地（図示しない）で停止している。
【００１８】
ビット切り出し制御部１０４の結果がエスケープコードAの場合を例にとって特殊処理の動作を説明する。なおエスケープコードBの場合も特殊処理の動作フローは同じである。ビット切り出し制御部１０４の結果がエスケープコードAの場合にハフマンテーブルメモリ１０６のアドレスはエスケープコードA１０５の番地を示す。前記番地からデータを読み出すと１ビットのエスケープ状態信号と、命令メモリ２０２で、エスケープコードAで処理すべき特殊処理ルーチンのアドレスの先頭が出力される。コマンド制御部１０２はエスケープ状態信号を検知すると、ハフマンデコード部１００でのハフマンデコード処理を一旦停止して、例外処理部２００からの特殊処理の完了命令による完了信号が入力されるまで、処理再開待ち状態となる。テーブルメモリ出力１０８から出力されたエスケープ状態信号と命令メモリ番地は、プログラムカウンタ２０１にセットされる。さらにエスケープ状態信号の立ち上がりエッジを起動信号として例外処理部２００を起動させる。
【００１９】
プログラムカウンタ２０１の指し示すアドレスから順番に予め格納されている命令コードに従って処理を実施する。処理の途中でビットストリーム切り出し制御部１０４のビットストリームの制御（ビット切り出し、参照、ビットストリーム更新等）を行えるような命令コードが発行されている場合は、命令制御部２０３から、ビットストリーム切り出し制御部１０４を制御する信号を出力してビットストリーム切り出し制御部１０４の結果が演算ブロック２０４に格納されることになる。前記結果を用いて演算ブロック２０４でさらに処理することも可能となる。一連の特殊処理ルーチンの結果、演算ブロック２０４で得られた結果をセレクタ１０９に転送する命令コードを発行され、前記結果はセレクタ１０９でセレクトされ復号結果として出力される。セレクタ１０９への転送命令の発行の後、停止命令が発行されることになり、プログラムカウンタ２０１は常にある指定された番地をさして停止する。前記停止命令の信号を、コマンド制御部１０２は受け取ると、ハフマンデコード部１００は処理待ち状態から、ハフマンデコード処理再開状態となり。ハフマンデコード処理を再開する。
【００２０】
本構成の可変長復号装置を内蔵した再生装置にて、今後、アルゴリズムの進化で高圧縮でかつ高品質な復号フォーマットによる配信サービスが提供される可能性が高い。その場合はCDなどの記憶媒体や、ネットワークによるダウンロードによるドライバ取得により、新規復号フォーマットに対する情報、即ちハフマンテーブル情報や、例外処理ルーチン情報をそれぞれハフマンテーブルメモリ１０６や、命令メモリ２０２に格納することが可能となる。再生装置が簡単に新規の高圧縮高品質の音楽映像フォーマットを再生可能となる。
【００２１】
かかる構成によれば、例外処理部が特殊処理専用のブロックで一つの特殊処理で完結するので、従来例のような割り込み処理に特有の演算リソースの退避等のオーバーヘッドを削減できるため、エスケープコードによる特殊処理も含めハフマンデコード処理を高速に実施することが可能となる。
【００２２】
また、従来例のような割り込み制御回路を実装する必要がないので可変長復号装置の実装回路が削減可能である。またプロセッサを特殊処理専用に使用するため通常動作では停止させることが可能であるので、装置全体としての低消費電力化が実現できる。また、新規の国際規格の追加あるいは例外処理部の特殊処理が一部変更になり、命令メモリのスタートアドレスが変更になったとしても、ハフマンテーブルのエスケープコードのアドレスに相当するデータの内容を変更するのみでよく、可変長復号化装置の大幅な変更を伴うことなく、可変長復号化装置のシステムの変更が容易に可能である。
【産業上の利用可能性】
【００２３】
本発明にかかる可変長復号装置は、様々な国際規格に対して可変長復号処理が効率的に処理が可能な特徴を有し、携帯電話やPDAでのオーディオやビデオの再生装置等として有用である。またDVDやディジタルテレビ等のオーディオやビデオの再生機器用途にも応用できる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態における可変長復号化装置を示した図
【図２】本発明の実施の形態における可変長復号化処理のフローチャート
【図３】従来の可変長復号化装置を示した図
【図４】従来の可変長復号化処理のフローチャート
【図５】可変長復号の典型的な処理について示した図
【符号の説明】
【００２５】
１００    ハフマンデコード部
１０１    ハフマンデコード部を動作させるコマンドバッファ
１０２    コマンド制御部、ハフマンデコード部の全体制御を実施
１０３    ビットストリームバッファ
１０４    ビットストリーム切り出し制御部
１０５    １０４からの切り出し結果エスケープコードAの番地
１０６    ハフマンテーブルメモリ復号結果や命令メモリ番地を格納
１０７    １０４からの切り出し結果エスケープコードBの番地
１０８    ハフマンテーブルメモリからの出力格納バッファ
１０９    復号値出力データセレクタ
２００    例外処理部
２０１    プログラムカウンタ（命令メモリポインタ制御）
２０２    命令メモリ
２０３    命令制御部
２０４    演算ブロック
６１    プロセッサ
６２    ビットストリームレジスタ
６３    テーブルメモリ
６４    データ読み出し部
６５    アドレス生成部
６６    可変長復号部
６７    シフタ部
６８    ビットストリーム取り込み部
６９    画像信号生成部
【図１】
2008124600.tif 000003
【図２】
2008124600.tif 000004
【図３】
2008124600.tif 000005
【図４】
2008124600.tif 000006
【図５】
2008124600.tif 000007