(57)【要約】【課題】ＰＬＡを使用する可変長デコーダにおいて使用されない回路資源を削減すること。【解決手段】ＡＮＤ処理部において、１つのエントリで１つの符号を検出するモードと、１つのエントリで複数の符号を検出するモードを有し、１つのエントリで１つの符号を検出するモードでは前期従来の構成と同じ動作を行い、１つのエントリで複数の符号を検出するモードでは複数の符号を検出し、いずれかの符号を検出したときにＯＲ処理部に通知する。【選択図】図１
2006041659.tif 000002
【特許請求の範囲】
【請求項１】
可変長の符号を復号化するデコーダであって、第一の入力データが予め設定されたパターンと一致するかどうかを検出するＡＮＤ処理部と、前記ＡＮＤ処理部が前記第一の入力データと前記予め設定されたパターンの一致を検出すると予め設定されたデータと第二の入力データの論理和を出力し、前記ＡＮＤ処理部が前記第一の入力データと前記予め設定されたパターンの一致を検出しないと前記第二の入力データを出力するＯＲ処理部から構成されるエントリが複数存在し、各エントリの前記第一の入力データは前記デコーダの入力に接続され、各エントリの前記第二の入力データは隣接するエントリの前記ＯＲ処理部の出力に接続されるプログラマブル論理アレイを有し、前記プログラマブル論理アレイの全てのエントリの前記ＡＮＤ処理部に、１つの符号を前記予め設定されたパターンに設定するモードと、複数の符号を前記予め設定されたパターンに設定するモードを有することを特徴とする復号化装置。
【請求項２】
可変長の符号を復号化するデコーダであって、第一の入力データが予め設定されたパターンと一致するかどうかを検出するＡＮＤ処理部と、前記ＡＮＤ処理部が前記第一の入力データと前記予め設定されたパターンの一致を検出すると予め設定されたデータと第二の入力データの論理和を出力し、前記ＡＮＤ処理部が前記第一の入力データと前記予め設定されたパターンの一致を検出しないと前記第二の入力データを出力するＯＲ処理部から構成されるエントリが複数存在し、各エントリの前記第一の入力データは前記デコーダの入力に接続され、各エントリの前記第二の入力データは隣接するエントリの前記ＯＲ処理部の出力に接続されるプログラマブル論理アレイを有し、前記プログラマブル論理アレイの一部のエントリの前記ＡＮＤ処理部に、１つの符号を前記予め設定されたパターンに設定するモードと、複数の符号を前記予め設定されたパターンに設定するモードを有することを特徴とする復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
可変長符号で符号化されたデータを復号化する可変長デコーダに関するものである。
【背景技術】
【０００２】
ＮＴＳＣやＰＡＬ等の地上波アナログ放送方式および衛星放送方式のデジタル化などのＡＶ機器のデジタル化に伴って、情報量の多い動画像をデジタル信号で効率的に通信するために、動画像圧縮技術が用いられている。動画像圧縮技術の代表的なものとして、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｉｓｐｅｒｔｓ  Ｇｒｏｕｐ）による方式がある。これはＩＳＯ／ＩＥＣにおいて議論され、国際標準化されたもので、画面間や画面内の相関を利用してデータ量を圧縮する符号化方式であり、差分符号化や変換符号化されたデータを可変長符号化することによってデータを圧縮する符号化方式である。
【０００３】
可変長符号化は、無損失のデータ圧縮のために使用される符号化で、データの統計的性質をもとに、固定長のデータを可変長符号に変換する。つまり、データの発生頻度に応じて、発生頻度の大きいデータを短い符号長の符号に変換し、発生頻度の小さいデータを長い符号長の符号に変換する。このデータと可変長符号の対応は符号表と呼ばれ、符号化するデータの統計的性質に応じた符号表を用いることによって、データを圧縮することが可能となる。
【０００４】
一方、可変長符号化されたデータの復号化処理は、符号化時に使用された符号表にしたがって復号化値を得る変換となる。
【０００５】
一般に、可変長符号の復号化処理は符号化処理に比べて処理負荷が大きい。これは、可変長符号の復号化処理が、１つの符号の復号化を完了しなければ次の符号を復号化することができないという逐次的な処理であることによる。特に、映像データを遅延やコマ落ちなどを起こさずに再生するリアルタイム処理を実現する場合、可変長デコーダは高い処理性能が必要となり、このような要求を満たすために可変長デコーダは専用のハードウェアによって実現されることが多い。
【０００６】
ＭＰＥＧでは、符号化するデータに応じて異なる符号表を用いて可変長符号化される。これは、符号化するデータごとに統計的性質が異なるためである。さらに、ＭＰＥＧ−２（ＩＳＯ／ＩＥＣ  １３８１８）やＭＰＥＧ−４（ＩＳＯ／ＩＥＣ  １４４９６）のように符号化方式が異なる場合においても、可変長符号化で使用される符号表は異なる。このため、複数の符号化方式に対応する可変長デコーダを実現する場合、異なる符号表を複数実装しなければならず、回路規模が増大する。
【０００７】
特許文献１では、メモリを用いて符号表を実現する可変長符号の復号化方法が示されている。この方法で可変長デコーダを実現すると、メモリに格納されたデータを書き換えることによって複数の異なる符号表に対応することが可能になるが、メモリアクセスのためのアドレス計算や、メモリに格納されたデータのアクセスタイムによって、リアルタイム処理を実現するような高い処理性能を得ることは困難である。
【０００８】
一方、プログラマブル  ロジック  アレイ（ＰＬＡ）を用いて符号表を実現する方式が非特許文献１に記載されている。ＰＬＡは、ＡＮＤ処理部とＯＲ処理部の対によって１つのエントリが構成され、そのエントリが複数個存在するものである。各エントリのＡＮＤ処理部には同じデータが入力され、各ＡＮＤ処理部は予め設定されたパターンと、入力データが一致するかどうかを検出する。ＯＲ処理部は、対応するＡＮＤ処理部が一致を検出した場合に、予め設定された値と隣接するＯＲ処理部の出力の論理和を出力し、対応するＡＮＤ処理部が一致を検出しない場合には、隣接するＯＲ処理部の出力をそのまま出力する。このＰＬＡを用いる方法は、メモリを用いる方法に比べて、アドレス計算が不要であるため、より高い処理性能を実現することができる。
【特許文献１】特開２００１−２６７９３１号公報
【非特許文献１】「An Entropy Coding System for Digital HDTV Applications」、IEEE Transactions on Circuits and Systems for Video Technology、第１号（1991年、３月）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、前記従来のＰＬＡを使用する可変長デコーダでは、ＰＬＡのＡＮＤ処理部において、１つのエントリに１つの符号が割り当てられるため、符号長の短い符号が割り当てられたエントリには、使用されない回路資源が存在してしまい、回路規模の増大を招くという課題を有していた。
【００１０】
本発明は、前記従来の課題を解決するもので、回路規模の増大を抑制した可変長デコーダを提供することを目的とする。
【課題を解決するための手段】
【００１１】
前記従来の課題を解決するために、本発明の可変長デコーダは、ＡＮＤ処理部において、１つのエントリで１つの符号を検出するモードと、１つのエントリで複数の符号を検出するモードを有する。１つのエントリで１つの符号を検出するモードでは前期従来の構成と同じ動作を行い、１つのエントリで複数の符号を検出するモードでは複数の符号を検出し、いずれかの符号を検出したときにＯＲ処理部に通知する。
【００１２】
本構成によって、符号長の短い複数の符号をＡＮＤ処理部の１つのエントリに割り当てることができる。
【発明の効果】
【００１３】
本発明の可変長デコーダによれば、符号長の短い複数の符号をＡＮＤ処理部の１つのエントリに割り当てることができるため、従来の構成では使用されない回路資源を使用することが可能となり、回路規模の不必要な増大を抑制することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１５】
図６および図７は可変長符号を復号化するために用いる符号表を示す。可変長符号の符号表は、符号と、その符号の長さと、その符号に対応する復号化値から構成される。図６では、例えば、符号００００１は、５ビットの符号長で、対応する復号化値は２となる。
【００１６】
図４は、本発明の一実施例による可変長デコーダを説明するためのブロック図であり、バッファ４０１とデータ切り出し部４０４と、デコーダ４０６から構成される。バッファ４０１は、可変長符号化された入力データ４００を一時的に格納するためのバッファであり、データ切り出し部４０４からの要求４０２にしたがってバッファに保持している可変長符号化されたデータ４０３をデータ切り出し部４０４に出力する。データ切り出し部４０４は、バッファ４０１から入力されるデータ４０３からデコーダ４０６の入力ビット数切り出し、切り出したデータ４０５をデコーダ４０６に出力する。デコーダ４０６は、符号表に基づいて切り出したデータ４０５に対応する符号長データ４０８をデータ切り出し部４０４に出力するとともに、復号化値４０７を出力し、１つの可変長符号の復号化が完了する。次の可変長符号を復号化するには、データ切り出し部４０４は、デコーダ４０６から入力される符号長データ４０８分のデータを読み進め、次のデータを切り出してデコーダ４０６に出力する。
【００１７】
図５は、本発明の一実施例による可変長デコーダの具体的な動作を、図７の符号表に基づいて符号化された符号の復号化によって説明するものである。時間ｔ０に、００１０００１００１１１１０１０００という可変長符号化されたデータが、データ切り出し部４０４に入力されると、データ切り出し部４０４はデコーダ４０６に００１０００の６ビットのデータを出力する。デコーダ４０６は、符号表に基づいて、００１０００の入力から符号００１に対応する符号長３と復号化値４を出力し、１つの符号の復号化処理を完了する。次に、時間ｔ１において、データ切り出し部４０４は００１０００１００１１１１０１０００から３ビット読み進めた箇所から切り出した６ビットのデータ０００１００を切り出してデコーダ４０６に出力する。デコーダ４０６は、符号表に基づいて、０００１００の入力から符号０００１００に対応する符号長６と復号化値１を出力し、１つの符号の復号化処理を完了する。以降の符号についても同様に処理され、復号化が行われる。
【００１８】
図８は、デコーダ４０６がＰＬＡによって構成されることを説明するブロック図である。デコーダ４０６は、ＡＮＤ処理部８００、ＡＮＤ処理部８０２、ＡＮＤ処理部８０４、ＡＮＤ処理部８０６と、ＯＲ処理部８０１、ＯＲ処理部８０３、ＯＲ処理部８０５、ＯＲ処理部８０７から構成される。ＡＮＤ処理部８００、ＡＮＤ処理部８０２、ＡＮＤ処理部８０４、ＡＮＤ処理部８０６は同じ回路構成を有する。ＡＮＤ処理部８００は、設定保持部８０８、設定保持部８０９、設定保持部８１０、設定保持部８１１、設定保持部８１２、設定保持部８１３とマッチング検出部８１４、マッチング検出部８１５、マッチング検出部８１６、マッチング検出部８１７、マッチング検出部８１８、マッチング検出部８１９と、論理積演算器８２０、論理積演算器８２１、論理積演算器８２２から構成される。設定保持部８０８、設定保持部８０９、設定保持部８１０、設定保持部８１１、設定保持部８１２、設定保持部８１３は同じ回路構成を有する。また、マッチング検出部８１４、マッチング検出部８１５、マッチング検出部８１６、マッチング検出部８１７、マッチング検出部８１８、マッチング検出部８１９は同じ回路構成を有する。
【００１９】
設定保持部８０８は、入力８２７が０か、１か、または無視（ｘ）であるかの何れかを指定する値を保持する。マッチング検出部８１４は設定保持部８０８が保持する値が指定する値と入力８２７が一致するかどうかを検出し、一致する場合には１を出力し、一致しない場合には０を出力する。設定保持部８０８が無視（ｘ）を指定する値を保持しているときには、入力８２７の値に依らずに常に１を出力する。このようなＡＮＤ処理部によって、例えば、００１という入力を検出したい場合には、設定保持部８０８と設定保持部８０９に０を指定する値を設定し、設定保持部８１０に１を指定する値を設定し、設定保持部８１２と設定保持部８１３にｘを指定する値を設定することによって所望の入力パターンを検出することが可能となる。
【００２０】
ＯＲ処理部８０１、ＯＲ処理部８０３、ＯＲ処理部８０５、ＯＲ処理部８０７の動作を説明する。ＯＲ処理部８０３、ＯＲ処理部８０５、ＯＲ処理部８０７は同じ回路構成を有する。ＯＲ処理部８０１はＡＮＤ処理部８００から入力される検出信号８２３が１のときに設定された値を出力し、検出信号８２３が０のときには０を出力する。ＯＲ処理部８０３は、ＡＮＤ処理部８０２から入力される検出信号８２５が１のときに設定された値とＯＲ処理部８０１からのＯＲ処理部出力データ８２４の論理和を出力し、検出信号８２５が０のときにはＯＲ処理部８０１からのＯＲ処理部出力データ８２４を出力する。
【００２１】
上記、ＰＬＡを用いたデコーダ４０６を用いて図６および図７の符号表を実現する場合の設定を図９と図１０を用いて説明する。
【００２２】
図９は図６の符号表を実現するときの設定である。図９の設定０はＡＮＤ処理部の設定保持部で指定する値であり、設定１および設定２はＯＲ処理部に設定する値である。エントリは、ＡＮＤ処理部とＯＲ処理部の対の何れであるかに対応し、エントリが１のものはＡＮＤ処理部８００とＯＲ処理部８０１に対応し、２のものはＡＮＤ処理部８０２とＯＲ処理部８０３に対応する。例えば、図９のエントリ１では、設定保持部８０８と設定保持部８０９と設定保持部８１０と設定保持部８１１に０を指定する値が設定され、設定保持部８１２に１を指定する値が設定され、設定保持部８１３にｘを指定する値が設定され、ＡＮＤ処理部８００の検出信号８２３が１のときに、ＯＲ処理部８０１は符号長である５と復号化値である２を出力するように設定される。なお、符号長と復号化値の両方を復号化する構成として設定１と設定２を設けたが、設定１のみまたは設定２のみをＯＲ処理部に設定する構成としてもよい。
【００２３】
図１は本発明の一実施の形態を示すブロック図である。図１において、図８と同じ構成要素については同じ符号を用い、説明を省略する。
【００２４】
図１の本発明の一実施の形態におけるデコーダ４０６は、ＡＮＤ処理部１００、ＡＮＤ処理部１０１、ＡＮＤ処理部１０２は同じ回路構成を有する。ＡＮＤ処理部１００は、ＡＮＤ処理部８００にモード保持部１０６とセレクタ１０３、セレクタ１０４、セレクタ１０５、セレクタ１０８と論理和演算器１０７が追加されたものである。モード保持部１０６は、ＡＮＤ処理部１００で２つの符号を同時に検出するかどうかを保持する。モード保持部１０６が２つの符号を同時に検出するモードを保持するとき、セレクタ１０３は入力８２７を選択し、セレクタ１０４は入力８２８を選択し、セレクタ１０５は入力８２９を選択し、セレクタ１０８は論理和演算器１０７の出力を選択する。モード保持部１０６が１つの符号のみを検出するモードを保持するとき、セレクタ１０３は入力８３０を選択し、セレクタ１０４は入力８３１を選択し、セレクタ１０５は入力８３２を選択し、セレクタ１０８は論理積演算器８２２の出力を選択する。
【００２５】
上記、本発明の一実施の形態を用いて図６および図７の符号表に基づいて符号長を復号化する場合の設定を図２と図３を用いて説明する。
【００２６】
図３は図７の符号長を復号化する符号表を実現するときの設定である。図３の設定０はＡＮＤ処理部の設定保持部で指定する値であり、設定１はモード保持部に設定する値であり、設定２はＯＲ処理部に設定する値である。エントリは、ＡＮＤ処理部とＯＲ処理部の対の何れであるかに対応し、エントリが１のものはＡＮＤ処理部１００とＯＲ処理部８０１に対応し、２のものはＡＮＤ処理部１０２とＯＲ処理部８０３に対応する。モード保持部で設定する値は、０は１つの符号のみを検出するモードであることを指定し、１は２つの符号を検出するモードであることを指定する。例えば、図３のエントリ１では、モード保持部に１が指定されているため、エントリ１のＡＮＤ処理部は２つの符号を検出する。この例では、ＡＮＤ処理部１００において、００１という符号と１１１という符号が同時に検出される。
【００２７】
図２は図６の符号長を復号化する符号表を実現するときの設定である。図２の設定では設定１が全て０であるので、全てのエントリはそれぞれ１つの符号を検出する。
【００２８】
かかる構成によれば、モード保持部とセレクタと論理和演算器を追加することにより、使用されない回路資源を削減することができ、ＰＬＡのエントリ数（個数）を削減することができる。
【００２９】
本発明のデコーダとプロセッサを接続し、上記図２および図３の設定を、プロセッサ上で動作するプログラムによって行ってもよい。図１１は本発明のデコーダに図２のエントリ１の設定を行うプログラムの例である。ｗｔ命令はデータをレジスタに書き込む命令で、１行目では、『０』というデータが本発明のデコーダにおけるエントリ１の設定０の最上位ビットを表すレジスタ（％ｃｏｎｆ＿１＿０＿０）に書き込まれる。２行目から６行目では、１行目と同様にエントリ１の設定０の設定が行われる。６行目で書き込まれる『２』というデータは図２の『ｘ』をあらわす。設定１の設定は７行目の％ｃｏｎｆ＿１＿１への書き込みによって行われ、設定２の設定は８行目の％ｃｏｎｆ＿１＿２への書き込みによって行われる。本発明のデコーダの設定を専用命令で行うこともできる。図１２は上記ｗｔ命令のような汎用的な命令ではなく、本発明のデコーダ専用の命令で設定するプログラムの例である。ｓｅｔｃｏｎｆ１命令はエントリ１の設定を行う命令であり、ｓｅｔｃｏｎｆ２命令はエントリ２の設定を行う命令で、ｓｅｔｃｏｎｆ３命令はエントリ３の設定を行う命令である。このような専用命令を用いて設定することで、本発明のデコーダの設定に要する時間を削減することができる。
【００３０】
なお、上記一実施の形態では、ＡＮＤ処理部では２つの符号を検出する構成としたが、３つ以上の符号を検出する構成としてもよいし、上記一実施の形態では、全てのエントリで複数の符号を検出することができる構成としたが、一部のエントリのみ複数の符号を検出できる構成としてもよいし、上記一実施の形態では、エントリごとにモードを設けたが複数のエントリごとにモードを設けてもよい。
【産業上の利用可能性】
【００３１】
本発明に係る復号化装置等は、ＬＳＩ等の電子回路で実現される映像デコーダ等として利用することができる。例えば、符号化された動画像を復号化して再生するコンピュータ、ＰＤＡ、デジタル放送受信機及び携帯電話機等に備えられる映像デコーダ等として有用である。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施の形態における可変長デコーダのデコーダの構成を示す図
【図２】本発明の実施の形態１における可変長デコーダの設定を示す図
【図３】本発明の実施の形態１における可変長デコーダの設定を示す図
【図４】本発明の実施の形態における可変長デコーダを説明する図
【図５】本発明の実施の形態における可変長デコーダの動作の模式図
【図６】可変長符号の符号表を示す図
【図７】可変長符号の符号表を示す図
【図８】ＰＬＡによる可変長デコーダのデコーダを示す図
【図９】ＰＬＡによる可変長デコーダの設定を示す図
【図１０】ＰＬＡによる可変長デコーダの設定を示す図
【図１１】デコーダを設定するプログラムを示す図
【図１２】デコーダを設定するプログラムを示す図
【符号の説明】
【００３３】
１００    ＡＮＤ処理部
１０１    ＡＮＤ処理部
１０２    ＡＮＤ処理部
１０３    セレクタ
１０４    セレクタ
１０５    セレクタ
１０６    モード保持部
１０８    セレクタ
４００    入力データ
４０１    バッファ
４０２    要求
４０３    データ
４０４    データ切り出し部
４０５    切り出したデータ
４０６    デコーダ
４０７    出力データ
４０８    符号長データ
８００，８０２，８０４，８０６    ＡＮＤ処理部
８０１，８０３，８０５，８０７    ＯＲ処理部
８０８，８０９，８１０，８１１，８１２，８１３    設定保持部
８１４，８１５，８１６，８１７，８１８，８１９    マッチング検出部
８２０，８２１，８２２    論理積演算器
８２３    検出信号
８２４    ＯＲ処理部出力データ
８２５    検出信号
８２６    ＯＲ処理部出力データ
８２７，８２８，８２９，８３０，８３１，８３２    入力データ
【図１】
2006041659.tif 000003
【図２】
2006041659.tif 000004
【図３】
2006041659.tif 000005
【図４】
2006041659.tif 000006
【図５】
2006041659.tif 000007
【図６】
2006041659.tif 000008
【図７】
2006041659.tif 000009
【図８】
2006041659.tif 000010
【図９】
2006041659.tif 000011
【図１０】
2006041659.tif 000012
【図１１】
2006041659.tif 000013
【図１２】
2006041659.tif 000014