そこで本発明は、各種規格に準拠した可変長符号化データの復号において、可変長復号テーブルの置換え回数の削減とキャッシュミス回数の低減を図った可変長復号方法及び装置を提供することを目的とする。
第1の発明に係る可変長復号方法は、複数の規格の内のある1つの規格に従って可変長符号化された符号化データを可変長復号する可変長復号方法であって、符号化データが準拠する対象規格の復号テーブルを、複数の規格の復号テーブルを保持する大容量メモリから読み出す読み出しステップと、読み出された復号テーブルを復号テーブルメモリに格納する第1格納ステップと、対象規格に関する規格情報を規格情報記録部に格納する第2格納ステップと、規格情報記録部に格納されている規格情報を参照して、符号化データの対象規格を、前回復号された符号化データの規格と比較する比較ステップと、復号テーブルメモリに格納された復号テーブルを用いて、符号化データを可変長復号する復号ステップとを含む。比較ステップにおける比較の結果、復号される符号化データの対象規格が、前回復号された符号化データの規格と同じであると判定された場合、復号ステップでは、復号テーブルメモリにすでに格納されている復号テーブルを用いて符号化データを復号する。比較ステップにおける比較の結果、復号される符号化データの対象規格が、前回復号された符号化データの規格と異なると判定された場合、第1格納ステップでは、対象規格の復号テーブルを、大容量メモリから転送して復号テーブルメモリに新たに格納し、復号ステップでは、復号テーブルメモリに新たに格納された復号テーブルを用いて符号化データを復号し、第2格納ステップでは、対象規格に関する規格情報を規格情報記録部に新たに格納する。
この方法によれば、規格情報記録部に格納された規格情報を参照することにより、前回と同じ規格に準拠した符号化データを復号する場合には、当該規格の復号テーブルを大容量メモリから復号テーブルメモリに転送(ダウンロードとも言う)する必要がない。したがって、当該規格の復号テーブルの転送に必要とされる処理及び消費電力を削減できる。
第2の発明に係る可変長復号方法では、第1の発明に加え、規格情報は、符号化データに伴って通知され、比較ステップでは、通知された規格情報を参照して比較を行う。
第3の発明に係る可変長復号方法は、第1の発明に加え、符号化データのビットストリームを解析し、符号化データが準拠している対象規格を特定して、新たな規格情報を生成する、解析ステップをさらに含み、比較ステップでは、解析ステップにおいて生成された規格情報を参照する。
これらの方法によれば、規格情報は、外部からの通知によるか、あるいは、外部からの通知がない場合には、復号する符号化データのビットストリームを解析することによって、取得することができる。このようにして取得した規格情報を参照して、大容量メモリから復号テーブルメモリに復号テーブルを転送する必要があるかどうかを判定できる。
第4の発明に係る可変長復号方法は、第1の発明に加え、対象規格の復号テーブルの各テーブルデータについて、復号処理において使用された使用頻度を示す頻度情報を頻度情報記録部に格納する第3格納ステップをさらに含み、第1格納ステップでは、頻度情報記録部に格納されている頻度情報を参照して、復号テーブルの一部のテーブルデータを使用頻度の高い順に復号テーブルメモリに格納する。
この方法によれば、復号テーブルメモリとして、キャッシュメモリを採用し、復号テーブルの一部のテーブルデータを格納する場合、使用頻度の高いテーブルデータを復号テーブルメモリに優先的に格納できるので、復号処理におけるキャッシュミスの発生確率を低減できる。したがって、キャッシュミス発生に伴う復号テーブルの転送処理回数を低減でき、その結果、復号処理の高速化と消費電力の低減を実現できる。
第5の発明に係る可変長復号方法では、第4の発明に加え、頻度情報は、復号処理された符号化データを識別する識別情報と関連づけて格納されており、第1格納ステップでは、新たな符号化データの復号に際して、頻度情報記録部に格納されている頻度情報のうち、新たな符号化データの識別情報と一致する識別情報に関連づけられた頻度情報を参照して、復号テーブルのテーブルデータの内の、使用頻度の高いテーブルデータを復号テーブルメモリに格納する。
この方法によれば、符号化データの復号において、識別番号を参照することにより、同じ識別番号を持つ、過去に復号した符号化データの頻度情報を利用できる。したがって、過去に再生したことのある動画像を再度再生する場合、その頻度情報を利用して、復号テーブルのテーブルデータの内の、使用頻度の高いテーブルデータを復号テーブルメモリに格納できる。したがって、復号処理におけるキャッシュミスの発生確率を低減でき、効率よい復号を実現できる。
第6の発明に係る可変長復号方法は、第1の発明に加え、対象規格の復号テーブルの各テーブルデータについて、復号処理において使用された使用順序を示す順序情報を順序情報記録部に格納する第4格納ステップをさらに含み、第1格納ステップでは、順序情報記録部に格納されている順序情報を参照して、復号テーブルの一部のテーブルデータを使用順序に従って復号テーブルメモリに格納する。
この方法によれば、復号テーブルメモリとして、キャッシュメモリを採用し、復号テーブルのテーブルデータを格納する場合、過去に復号した順番にテーブルデータを復号テーブルメモリに格納できるので、復号処理におけるキャッシュミスの発生を回避できる。したがって、キャッシュミス発生に伴う復号テーブルの転送処理が不要となり、その結果、復号処理の高速化と消費電力の低減を実現できる。
第7の発明に係る可変長復号方法では、第6の発明に加え、順序情報は、復号処理された符号化データを識別する識別情報と関連づけて格納されており、第1格納ステップでは、新たな符号化データの復号に際して、順序情報記録部に格納されている順序情報のうち、新たな符号化データの識別情報と一致する識別情報に関連づけられた順序情報を参照して、復号テーブルのテーブルデータを使用順序に従って前記復号テーブルメモリに格納する。
この方法によれば、符号化データの復号において、識別番号を参照することにより、同じ識別番号を持つ、過去に復号した符号化データの順序情報を利用できる。したがって、過去に再生したことのある動画像を再度再生する場合、その順序情報を利用して、復号テーブルのテーブルデータを使用順序に従って復号テーブルメモリに格納できる。したがって、復号処理におけるキャッシュミスの発生を回避でき、効率よい復号を実現できる。
第8の発明に係る可変長復号装置は、複数の規格の内のある1つの規格に従って可変長符号化された符号化データを可変長復号する可変長復号装置であって、プロセッサと、符号化データが復号される時に参照される、複数の規格の復号テーブルを保持する大容量メモリと、符号化データを格納している符号化データメモリと、プロセッサの制御を受けて、符号化データメモリに格納されている符号化データを復号し、復号データを生成する可変長復号処理部と、復号データを格納する復号データメモリと、符号化データが準拠している対象規格に関する規格情報を格納する規格情報記録部とを備える。可変長復号処理部は、符号化データの復号処理を制御する制御部と、対象規格の復号テーブルを格納する復号テーブルメモリとを有する。
この構成によれば、複数の規格の内のある1つの規格に従って可変長符号化された符号化データを、効率よく可変長復号する可変長復号装置を提供できる。この構成の可変長復号装置は、複数の規格の復号テーブルを保持する大容量メモリから、復号に必要な規格のテーブルデータのみを復号データメモリに格納するので、効率的に復号処理を実行できる。
第9の発明に係る可変長復号装置では、第8の発明に加え、プロセッサは、規格情報記録部に格納されている規格情報を参照して、対象規格が、前回復号処理された符号化データの規格と同じかどうかの比較を行う。比較の結果、対象規格が、前回復号処理された符号化データの規格と同じであると判定された場合、可変長復号処理部は、復号テーブルメモリに格納されている復号テーブルを用いて、復号処理を実施する。比較の結果、対象規格が、前回復号処理された符号化データの規格と異なると判定された場合、プロセッサは、対象規格に関する新たな規格情報を規格情報記録部に格納し、対象規格の復号テーブルを大容量メモリから復号テーブルメモリに転送し、可変長復号処理部は、転送された復号テーブルを用いて、復号処理を実施する。
この構成によれば、復号する符号化データの規格が、前回復号処理した符号化データの規格と同じかどうかの比較を、規格情報を参照して実行できる。規格が同じ場合には、大容量メモリから復号テーブルメモリへの復号テーブルの転送を行わずに、前回使用した復号テーブルを利用して、符号化データを復号できる。したがって、当該規格の復号テーブルの転送に必要とされる処理及び消費電力を削減できる。この構成では、規格情報の比較と、規格情報記録部の制御と、対象規格の復号テーブルの転送とをプロセッサが行う。
第10の発明に係る可変長復号装置では、第9の発明に加え、規格情報記録部は、プロセッサの一部により構成される。
この構成によれば、プロセッサが有するメモリの一部を、規格情報記録部として利用するので、新たな記憶部を設置する必要がない。
第11の発明に係る可変長復号装置では、第8の発明に加え、プロセッサは、規格情報記録部に格納されている規格情報を参照して、対象規格が、前回復号処理された符号化データの規格と同じかどうかの比較を行う。比較の結果、対象規格が、前回復号処理された符号化データの規格と同じであると判定された場合、可変長復号処理部は、復号テーブルメモリに格納されている復号テーブルを用いて、復号処理を実施する。比較の結果、対象規格が、前回復号処理された符号化データの規格と異なると判定された場合、可変長復号処理部は、対象規格に関する新たな規格情報を規格情報記録部に格納し、対象規格の復号テーブルを大容量メモリから復号テーブルメモリに転送し、可変長復号処理部は、転送した復号テーブルを用いて、復号処理を実施する。
この構成によれば、復号する符号化データの規格が、前回復号処理した符号化データの規格と同じかどうかの比較を、規格情報を参照して実行できる。規格が同じ場合には、大容量メモリから復号テーブルメモリへの復号テーブルの転送を行わずに、前回使用した復号テーブルを利用して、符号化データを復号できる。したがって、当該規格の復号テーブルの転送に必要とされる処理及び消費電力を削減できる。この構成では、プロセッサが、規格情報の比較を行い、可変長復号処理部が、規格情報記録部の制御と、対象規格の復号テーブルの転送とを行う。
第12の発明に係る可変長復号装置では、第8の発明に加え、可変長復号処理部は、規格情報記録部に格納されている規格情報を参照して、対象規格が、前回復号処理された符号化データの規格と同じかどうかの比較を行う。比較の結果、対象規格が、前回復号処理された符号化データの規格と同じであると判定された場合、可変長復号処理部は、復号テーブルメモリに格納されている復号テーブルを用いて、復号処理を実施する。比較の結果、対象規格が、前回復号処理された符号化データの規格と異なると判定された場合、可変長復号処理部は、対象規格に関する新たな規格情報を規格情報記録部に格納し、対象規格の復号テーブルを大容量メモリから復号テーブルメモリに転送し、可変長復号処理部は、転送した復号テーブルを用いて、復号処理を実施する。
この構成によれば、復号する符号化データの規格が、前回復号処理した符号化データの規格と同じかどうかの比較を、規格情報を参照して実行できる。規格が同じ場合には、大容量メモリから復号テーブルメモリへの復号テーブルの転送を行わずに、前回使用した復号テーブルを利用して、符号化データを復号できる。したがって、当該規格の復号テーブルの転送に必要とされる処理及び消費電力を削減できる。この構成では、可変長復号処理部が、規格情報の比較と、規格情報記録部の制御と、対象規格の復号テーブルの転送とを行う。
第13の発明に係る可変長復号装置では、第12の発明に加え、規格情報記録部は、可変長復号処理部の一部により構成される。
この構成によれば、可変長復号処理部の有する制御部によって、規格情報記録部を制御できる。
第14の発明に係る可変長復号装置では、第12の発明に加え、可変長復号処理部は、符号化データのビットストリームを解析して、符号化データが準拠する対象規格を特定する。
この構成によれば、規格情報が既知でない符号化データに対しても、復号する符号化データのビットストリームを解析することによって、その規格情報を取得することができる。このようにして取得した規格情報を参照して、大容量メモリから復号テーブルメモリに復号テーブルを転送する必要があるかどうかを判定できる。
第15の発明に係る可変長復号装置では、第12の発明に加え、復号テーブルメモリは、キャッシュメモリにより構成され、制御部は、対象規格の復号テーブルの一部のテーブルデータを、所定のルールに従って、復号テーブルメモリに格納する。
第16の発明に係る可変長復号装置では、第15の発明に加え、所定のルールは、対象規格の復号テーブルの各テーブルデータが有する符号の長さに基づいて決定される。
第17の発明に係る可変長復号装置では、第15の発明に加え、所定のルールは、対象規格の復号テーブルの各テーブルデータが復号処理において使用された使用頻度と使用順序の少なくともいずれかに基づいて決定される。
これらの構成によれば、高速、小型のキャッシュメモリに復号テーブルを格納し、高速の復号処理を実現できる。キャッシュメモリは、復号テーブルの一部のテーブルデータのみを格納するので、復号時にいわゆるキャッシュミスが発生することがある。これらの構成によれば、キャッシュミスが発生した場合の、テーブルデータの置換えを、所定のルール(例えば、テーブルデータが有する符号の長さが短い順、あるいは、テーブルデータが復号処理において使用された頻度が高い順)に従って実行する。したがって、合理的でかつ効率の良い可変長復号装置を実現できる。また、過去に復号したことのある符号化データを再度復号する場合には、過去の復号において使用した順番にテーブルデータを置換えることができるので、キャッシュミスの発生を防止できる。
第18の発明に係る可変長復号装置では、第15の発明に加え、可変長復号処理部は、対象規格の復号テーブルの各テーブルデータについて、復号処理において使用された使用頻度を示す頻度情報を記録する頻度情報記録部をさらに有し、制御部は、頻度情報記録部に記録されている頻度情報を参照して、復号テーブルのテーブルデータを使用頻度の高い順に復号テーブルメモリに格納する。
これらの構成によれば、復号テーブルメモリに高速動作のキャッシュメモリを採用し、かつ、頻度情報を参照して、使用頻度の高い順にテーブルデータをキャッシュメモリに格納する。その結果、復号処理におけるキャッシュミスの発生確率を低減できる。したがって、キャッシュミス発生に伴う復号テーブルの転送処理回数を低減でき、復号処理の高速化と消費電力の低減を実現できる。
第19の発明に係る可変長復号装置では、第18の発明に加え、頻度情報は、復号処理された符号化データを識別する識別情報と関連づけて記録されており、制御部は、新たな符号化データの復号に際して、頻度情報記録部に記録されている頻度情報のうち、新たな符号化データの識別情報と一致する識別情報に関連づけられた頻度情報を参照して、復号テーブルのテーブルデータを使用頻度の高い順に復号テーブルメモリに格納する。
この構成によれば、符号化データの復号において、識別番号を参照することにより、同じ識別情報を持つ、過去に復号した符号化データの頻度情報を利用して、使用頻度の高いテーブルデータを復号テーブルメモリに格納できる。したがって、同じ動画像の再生などにおいて、復号処理におけるキャッシュミスの発生確率を低減でき、効率よい復号を実現できる。
第20の発明に係る可変長復号装置では、第15の発明に加え、可変長復号処理部は、対象規格の復号テーブルの各テーブルデータについて、復号処理において使用された使用順序を示す順序情報を記録する順序情報記録部をさらに有し、制御部は、順序情報記録部に記録されている順序情報を参照して、復号テーブルのテーブルデータを使用順序に従って復号テーブルメモリに格納する。
第21の発明に係る可変長復号装置では、第20の発明に加え、順序情報は、復号処理された符号化データを識別する識別情報と関連づけて記録されており、制御部は、新たな符号化データの復号に際して、順序情報記録部に記録されている順序情報のうち、新たな符号化データの識別情報と一致する識別情報に関連づけられた順序情報を参照して、復号テーブルのテーブルデータを使用順序に従って前記復号テーブルメモリに格納する。
これらの構成によれば、新たな符号化データの復号に際して、復号テーブルのテーブルデータが使用される順序を順序情報として記録し、識別情報と関連づけて管理することにより、過去に復号したことのある符号化データを再度復号する場合には、キャッシュメモリへのテーブルデータの置換えを、復号において使用した順番に実施することができるので、キャッシュミスの発生を防止できる。このことは、同じ動画を何度も視聴する場合に、効力を発揮する。
第22の発明に係る半導体装置は、複数の規格の内のある1つの規格に従って可変長符号化された符号化データを可変長復号する半導体装置であって、符号化データを格納している符号化データメモリと、符号化データメモリに格納されている符号化データを復号し、復号データを生成する可変長復号処理部と、復号データを格納する復号データメモリと、符号化データが準拠している対象規格に関する規格情報を格納する規格情報記録部とを備え、可変長復号処理部は、符号化データの復号処理を制御する制御部と、規格情報を参照して、対象規格の復号テーブルを格納する復号テーブルメモリとを有する。
この構成によれば、本発明の半導体装置を、全体を制御するプロセッサと、複数の規格の復号テーブルを保持する大容量メモリと組み合わせることにより、各種規格に準拠した可変長符号化データを復号する、高効率の可変長復号装置を実現できる。
第23の発明に係る半導体装置は、第22の発明に加え、可変長復号処理部を制御するプロセッサをさらに備える。
この構成によれば、本発明の半導体装置を、複数の規格の復号テーブルを保持する大容量メモリと組み合わせることにより、各種規格に準拠した可変長符号化データを復号する、高効率の可変長復号装置を実現できる。
第24の発明に係る半導体装置は、第22の発明に加え、複数の規格の復号テーブルを保持する大容量メモリと、大容量メモリと可変長復号処理部とを制御するプロセッサをさらに備え、プロセッサは、規格情報を参照して、対象規格の復号テーブルを、大容量メモリから可変長復号処理部へ転送する。
この構成によれば、新たな機能的エレメントを外部に付加することなく、本発明の半導体装置のみで、各種規格に準拠した可変長符号化データを復号する、高効率の可変長復号装置を実現できる。
第25の発明に係る半導体装置では、第24の発明に加え、可変長復号処理部は、対象規格の復号テーブルの各テーブルデータについて、復号処理において使用された使用頻度を示す頻度情報を記録する頻度情報記録部をさらに有し、制御部は、頻度情報記録部に記録されている頻度情報を参照して、復号テーブルのテーブルデータを使用頻度の高い順に前記復号テーブルメモリに格納する。
この構成によれば、復号テーブルメモリに高速動作のキャッシュメモリを採用し、かつ、頻度情報を参照して、使用頻度の高い順にテーブルデータをキャッシュメモリに格納する。その結果、復号処理におけるキャッシュミスの発生確率を低減できる。したがって、キャッシュミス発生に伴う復号テーブルの転送処理回数を低減でき、復号処理の高速化と消費電力の低減を実現した半導体装置を提供できる。
第26の発明に係る電子装置は、複数の規格の内の少なくとも1つの規格に従って可変長符号化された符号化データを外部から入力する入力インターフェース部と、入力インターフェース部を介して入力された符号化データを可変長復号し、復号データを生成する可変長復号デバイスと、復号データを信号処理して、再生信号を出力する再生処理部と、再生信号を外部に出力する出力インターフェース部とを備え、可変長復号デバイスは、プロセッサと、複数の規格の符号化データに対応した複数の復号テーブルを保持する大容量メモリと、入力インターフェース部を介して入力された符号化データを格納する符号化データメモリと、符号化データが準拠している対象規格に関する規格情報を格納する規格情報記録部と、規格情報を参照して、対象規格の復号テーブルを、大容量メモリから入力し、格納する復号テーブルメモリと、復号テーブルメモリに格納されている対象規格の復号テーブルを参照して、符号化データメモリに格納されている符号化データを復号する可変長復号処理部と、可変長復号処理部が復号した復号データを格納する復号データメモリとを有する。プロセッサは、規格情報を参照して、対象規格の復号テーブルを、大容量メモリから復号テーブルメモリに転送する。
この構成によれば、可変長符号化された動画像データを高速復号処理できる動画像復号装置、または、可変長符号化された音楽データを高速復号処理できる音楽再生装置を実現できる。これらの電子装置は、復号テーブルの置換え効率が良いため、消費電力が少ないという特徴を有する。これらの電子装置には、カメラつき携帯電話器、携帯音楽再生装置などが含まれる。、
第27の発明に係る電子装置では、第26の発明に加え、可変長復号処理部は、対象規格の復号テーブルの各テーブルデータについて、復号処理において使用された使用頻度を示す頻度情報を記録する頻度情報記録部をさらに有し、プロセッサは、頻度情報記録部に記録されている頻度情報を参照して、復号テーブルのテーブルデータを使用頻度の高い順に復号テーブルメモリに格納する。
この構成によれば、復号テーブルメモリに高速動作のキャッシュメモリを採用し、かつ、頻度情報を参照して、使用頻度の高い符号をキャッシュメモリに格納できる。その結果、復号処理におけるキャッシュミスの発生確率を低減できる。したがって、キャッシュミス発生に伴う復号テーブルの転送処理回数を低減でき、復号処理の高速化と消費電力の低減を実現した電子装置を提供できる。
本発明によれば、各種規格に準拠した可変長符号化データの復号において、可変長復号テーブルの置換え回数の削減とキャッシュミス回数の低減を図った可変長復号方法及び可変長復号装置を提供できる。
以下図面を参照しながら、本発明の実施の形態を説明する。
本発明の実施の形態に関する以下の記述においては、一連の動画像信号、一連の静止画像信号、あるいは、一連の音楽信号が、ある可変長符号化規格に従って可変長符号化されたものを、符号化データと呼び、この符号化データに、符号化に伴うヘッダデータや付随データを付加したものを、ビットストリームと呼ぶこととする。
また、以下の記述では、MPEG−2方式、MPEG−4方式、H.263方式などの符号化標準を、単に「規格」と呼ぶこととする。
(実施の形態1)
図1は、本発明の実施の形態1における可変長復号装置のブロック図である。本形態の可変長復号装置は、CPU20、可変長復号処理部30、符号化データメモリ40、復号データメモリ50、大容量メモリ60、及び、規格情報記録部70を備え、可変長復号処理部30は、制御部31と復号テーブルメモリ32とを有する。
図1に示す本形態の可変長復号装置の動作を、図6に示すフローチャートに従って、説明する。すなわち、図6は、本発明の実施の形態1における可変長復号装置のフローチャートである。
図1において、符号化データメモリ40には、復号すべき符号化データを含むビットストリームが格納されている。復号テーブルメモリ32には、前回復号した符号化データが準拠する規格の復号テーブルが格納されている。規格情報記録部70に、過去に復号した符号化データが準拠する規格を示す規格情報が格納されている。さらに、大容量メモリ60には、各種規格に対応する複数の復号テーブルが保持されている。
本形態の可変長復号装置では、図6に示すステップS10(開始)からステップS12(対象規格の判定)までを、CPU20が行う。
図6に示すステップS10において、復号処理が開始される。
ステップS11において、CPU20は、復号する符号化データが準拠する規格(対象規格と呼ぶ)を示す規格情報を取得する。この規格情報は、通常、符号化データに付随して、符号化データとともに大容量メモリ60に格納されている。
ステップS12において、CPU20は、取得した規格情報と、規格情報記録部70に格納されている、過去に復号した符号化データの規格情報とを比較し、対象規格が、前回復号した符号化データの規格と同じかどうかを判定する。CPU20は、判定の結果と、対象規格を示す規格情報とを可変長復号処理部30に通知する。
ステップS12における判定の結果が「Yes」(対象規格が、前回復号した符号化データの規格と同じ)の場合、可変長復号処理部30の制御部31は、制御をステップS15に進め、判定の結果が「No」(同じでない)の場合、制御をステップS13に進める。
ステップS13において、制御部31は、CPU20から通知された対象規格の規格情報を規格情報記録部70に格納する。
ステップS14において、制御部31は、対象規格の復号テーブルを、大容量メモリ60から復号テーブルメモリ32に転送する。
ステップS15において、制御部31は、復号テーブルメモリ32に格納されている復号テーブルを使って、符号化データメモリ40に格納されているビットストリーム(復号すべき符号化データを含むビットストリーム)を逐次復号し、復号データを復号データメモリ50に格納する。
全ビットストリームの復号が完了すると、制御は、ステップS16に進み、復号処理が終了する。
以上説明したように、本形態の可変長復号装置では、復号に先立って、対象規格の規格情報を取得し、取得した規格情報を、規格情報記録部70に格納されている規格情報(すなわち、過去に復号した符号化データの規格を示す規格情報)と比較する。比較の結果、対象規格が、前回復号した符号化データの規格と同じと判定された場合には、復号テーブルの新たな転送(ダウンロードとも言う)をせずに、すでに復号テーブルメモリ32に格納されている復号テーブルを使って、復号を行う。このように、本形態の可変長復号装置は、従来、復号の度に実行していた復号テ−ブルの転送を、規格が前回復号時の規格と異なる時だけ実行するため、復号テーブルの不必要な転送処理を回避でき、その分、消費電力の削減を行うことができる。
(実施の形態2)
図2は、本発明の実施の形態2における可変長復号装置のブロック図である。図2において、 図1と同様な構成要素については、同一の符号を付すことにより、説明を省略する。
本形態の可変長復号装置は、CPU20、可変長復号処理部30、符号化データメモリ40、復号データメモリ50、及び、大容量メモリ60を備え、CPU20は、規格情報記録部21を有し、可変長復号処理部30は、制御部31と復号テーブルメモリ32とを有する。すなわち、図1に示した本発明の実施の形態1における可変長復号装置と比較して、本形態の可変長復号装置では、規格情報記録部21が、CPU20の一部として構成されている。
図2に示す本形態の可変長復号装置の動作を、図7に示すフローチャートに従って、説明する。すなわち、図7は、本発明の実施の形態2における可変長復号装置のフローチャートである。
本形態の可変長復号装置では、図7に示すステップS20(開始)からステップS24(対象規格の復号テーブルの転送)までを、CPU20が行う。
図7に示すステップS20において、復号処理が開始される。
ステップS21において、CPU20は、復号する符号化データが準拠する規格(対象規格と呼ぶ)を示す規格情報を取得する。
ステップS22において、CPU20は、取得した規格情報と、規格情報記録部21に格納されている、過去に復号した符号化データの規格情報とを比較し、対象規格が、前回復号した符号化データの規格と同じかどうかを判定する。ここまでの処理は、図6に示す、本発明の実施の形態1における可変長復号装置の処理と同様である。
ステップS22における判定結果が「Yes」(対象規格が、前回復号した符号化データの規格と同じ)の場合、CPU20は、制御をステップS25に進め、判定結果が「No」(同じでない)の場合、制御をステップS23に進める。
ステップS23において、CPU20は、取得した対象規格の規格情報を規格情報記録部21に格納する。
ステップS24において、CPU20は、対象規格の復号テーブルを、大容量メモリ60から復号テーブルメモリ32に転送する。
ステップS25において、可変長復号処理部30の制御部31は、復号テーブルメモリ32に格納されている復号テーブルを使って、符号化データメモリ40に格納されているビットストリーム(復号すべき符号化データを含むビットストリーム)を逐次復号し、復号データを復号データメモリ50に格納する。
全ビットストリームの復号が完了すると、制御は、ステップS26に進み、復号処理が終了する。
このように、本形態の可変長復号装置では、CPU20が有するメモリの一部を規格情報記録部21として利用し、本発明の実施の形態1における可変長復号装置と同様の処理を行うことができる。したがって、本形態の可変長復号装置では、本発明の実施の形態1と同様の効果を得ることができる。
本形態の可変長復号装置は、CPU20の処理能力に余裕がある場合の構成として好適である。また、規格情報記録部21を独立の回路として構成する必要がないので、本形態の可変長復号装置は、その分、回路規模を小さくできる。
(実施の形態3)
図3は、本発明の実施の形態3における可変長復号装置のブロック図である。図3において、 図1と同様な構成要素については、同一の符号を付すことにより、説明を省略する。
本形態の可変長復号装置は、CPU20、可変長復号処理部30、符号化データメモリ40、復号データメモリ50、及び、大容量メモリ60を備え、可変長復号処理部30は、制御部31と復号テーブルメモリ32と規格情報記録部33とを有する。すなわち、図1に示した本発明の実施の形態1における可変長復号装置と比較して、本形態の可変長復号装置では、規格情報記録部33が、可変長復号処理部30の内部に構成されている。
図3に示す本形態の可変長復号装置は、規格情報を、符号化データの復号に先立って予め取得できない場合に、特に効力を発揮する。本形態の可変長復号装置の動作を、図8に示すフローチャートに従って、説明する。すなわち、図8は、本発明の実施の形態3における可変長復号装置のフローチャートである。図8では、可変長復号装置は、符号化データの復号処理を開始する以前に、規格情報を取得できないと仮定している。
図8に示すステップS30において、復号処理が開始される。
ステップS31において、制御部31は、復号する符号化データを含むビットストリームのヘッダを解析する。
ヘッダの解析では、符号化データのビットストリームに含まれる、各規格に固有の「スタートコード」を検出して、そのビットストリームが準拠している規格を特定することができる。例えば、MPEG−4やH.263等の画像符号化規格で定められているビットストリームシンタックスは、階層構造をとっており、各階層の先頭には、「スタートコード」と呼ばれる特殊な符号が配置されている。ビットストリームの復号時には、この「スタートコード」を検出しながら処理を進めて行くので、この「スタートコード」を検出する過程で、復号中の符号化データが準拠している規格を特定できる。
ステップS32において、制御部31は、ヘッダの解析により、復号する符号化データの規格(すなわち、対象規格)を特定し、対象規格の規格情報を作成する。
ステップS33において、制御部31は、作成した規格情報と、規格情報記録部33に格納されている、過去に復号した符号化データの規格情報とを比較し、対象規格が、前回復号した符号化データの規格と同じかどうかを判定する。
ステップS33における判定結果が「Yes」(対象規格が、前回復号した符号化データの規格と同じ)場合、制御部31は、制御をステップS36に進め、判定結果が「No」(同じでない)場合、制御をステップS34に進める。
ステップS34において、制御部31は、ステップS32において作成した対象規格の規格情報を規格情報記録部33に格納する。
ステップS35において、制御部31は、対象規格の復号テーブルを、大容量メモリ60から復号テーブルメモリ32に転送する。
ステップS36において、制御部31は、復号テーブルメモリ32に格納されている復号テーブルを使って、符号化データメモリ40に格納されている、符号化データを含むビットストリームを逐次復号し、復号データを復号データメモリ50に格納する。
全ビットストリームの復号が完了すると、制御は、ステップS37に進み、復号処理が終了する。
以上説明したように、本形態の可変長復号装置では、復号する符号化データの規格情報を復号処理に先立って取得できない場合、復号する符号化データのビットストリームを解析することにより、復号する符号化データの対象規格を特定でき、特定した対象規格の規格情報を新たに作成する。こうして作成した対象規格の規格情報と、過去に復号した符号化データの規格を示す規格情報(規格情報記録部33に格納されている)とを比較する。比較の結果、対象規格が、前回復号した符号化データの規格と同じ場合には、可変長復号処理部30は、復号テーブルの新たな転送をせずに、すでに復号テーブルメモリ32に格納されている復号テーブルを使って、復号を行うことができる。
このように、従来は、復号テ−ブルの転送を復号の度に実行していたが、本形態の可変長復号装置では、対象規格が前回の復号時の規格と異なる時だけ、復号テ−ブルの転送を実行すればよい。したがって、可変長復号処理部30は、不必要な転送処理を回避でき、その分、消費電力を削減できる。
なお、本形態の可変長復号装置において、符号化データの復号に先立って、対象規格の規格情報を取得できる場合は、図8に示すフローチャートのステップS31とステップS32を割愛すればよい。
(実施の形態4)
図4は、本発明の実施の形態4における可変長復号装置のブロック図である。図4において、 図3と同様な構成要素については、同一の符号を付すことにより、説明を省略する。
本形態の可変長復号装置では、図3に示す本発明の実施の形態3の可変長復号装置に加えて、可変長復号処理部30が、頻度情報記録部34をさらに有する。
また、本形態の復号テーブルメモリ32は、小面積のキャッシュメモリで構成されており、復号テーブルのテーブルデータの一部を格納する。
頻度情報記録部34には、テーブルデータごとの使用頻度を表す頻度情報が格納されている。テーブルデータごとの使用頻度は、一連の符号化データを復号した時に、復号テーブルの各テーブルデータが何度使用されたかを示す。さらに、この頻度情報は、符号化データごとに一意に付けられた識別番号と関連づけられて格納される。この頻度情報は、復号テーブルの一部のテーブルデータを復号テーブルメモリ32に格納する時、どのテーブルデータを格納するかを選択するために利用される。
本形態の可変長復号装置の動作を、図9に示すフローチャートに従って、説明する。すなわち、図9は、本発明の実施の形態4における可変長復号装置のフローチャートである。
ステップS40において、復号処理が開始される。
ステップS41において、制御部31は、復号しようとする符号化データの識別番号を対象識別番号として取得する。もし、復号しようとする符号化データに識別番号が付与されていない場合は、一意で新たな識別番号をこの符号化データに付与する。
ステップS42において、制御部31は、頻度情報記録部34を参照して、取得した対象識別番号が、前回復号した符号化データの識別番号と同じかどうかを判定する。
ステップS42における判定結果が「Yes」(対象識別番号が、前回復号した符号化データの識別番号と同じ)の場合、制御部31は、制御をステップS49に進める。ステップS49において、制御部31は、符号化データメモリ40から符号化データのビットストリームを読み出し、すでに復号テーブルメモリ32に格納されている復号テーブル(前回復号時と同じ復号テーブル)を使って、可変長復号し復号データを生成する。制御部31は、その復号データを復号データメモリ50に格納し、ステップS54で、処理を終了する。
ステップS42における判定結果が「No」(対象識別番号が、前回復号した符号化データの識別番号と同じでない)の場合、制御部31は、制御をステップS43に進める。
ステップS43において、制御部31は、復号しようとする符号化データの規格情報を取得する。この規格情報は、通常、符号化データに付随している。もし、規格情報が符号化データに付随していない場合は、本発明の実施の形態3と同様に、ビットストリームの解析を行い、対象規格の特定と規格情報の作成を行う(図8に示したステップS31とステップS32)。
ステップS44において、制御部31は、取得した規格情報を規格情報記録部33に格納する。
ステップS45において、制御部31は、頻度情報記録部34を参照して、対象識別番号が、前回よりもさらに過去に復号した符号化データの識別番号と同じかどうかを判定する。
ステップS45における判定結果が「Yes」(対象識別番号が、前回よりもさらに過去に復号した符号化データの識別番号と同じ)の場合、制御部31は、制御をステップS46に進め、判定結果が「No」(同じでない)の場合、制御部31は、制御をステップS50に進める。
ステップS46において、制御部31は、頻度情報記録部34から、対象識別番号に関連づけられた頻度情報を読み出す。
ステップS47において、制御部31は、読み出した頻度情報を対象識別番号と関連づけて、頻度情報記録部34に格納する。この処理は、実際には、当該頻度情報を利用して復号処理を実施した日付の更新のみを行えばよい。
ステップS48において、制御部31は、対象規格の復号テーブルの一部のテーブルデータを、所定のルールに従って、大容量メモリ60から復号テーブルメモリ32に転送する。この場合、所定のルールは、頻度情報に基づいて定められる。すなわち、読み出した対象識別番号の頻度情報を参照し、使用頻度が高い順に選択されたテーブルデータを、大容量メモリ60から復号テーブルメモリ32に転送する。頻度情報の利用の仕方の詳細については後述する。
ステップS49において、制御部31は、符号化データメモリ40から符号化データを含むビットストリームを読み出し、復号テーブルメモリ32に格納された復号テーブルを使って、可変長復号し復号データを生成する。制御部31は、その復号データを復号データメモリ50に格納し、ステップS54で、処理を終了する。
ステップS45における判定結果が「No」(対象識別番号が、前回よりもさらに過去に復号した符号化データの識別番号のいずれとも同じでない)の場合、制御は、ステップS50に移り、ステップS50からステップS54の処理が実行される。
ステップS50において、復号する符号化データは、以前に復号したことがないため、参照する頻度情報が頻度情報記録部34に格納されていない。この場合、制御部31は、所定のルールを、「Run」と「Level」の値に基づいて定める。すなわち、制御部31は、対象規格の復号テーブルの一部のテーブルデータを、「Run」と「Level」のそれぞれの値が小さい順に選択して、大容量メモリ60から復号テーブルメモリ32に転送する。
ステップS51において、制御部31は、符号化データメモリ40から符号化データを含むビットストリームを読み出し、復号テーブルメモリ32に格納された復号テーブルを使って、可変長復号し復号データを生成する。制御部31は、その復号データを復号データメモリ50に格納する。
ステップS52において、制御部31は、ステップS51で実施した復号処理において、各テーブルデータが使用された使用頻度を集計し、新たな頻度情報を作成する。
ステップS53において、制御部31は、新たに作成した頻度情報を対象識別番号と関連づけて、頻度情報記録部34に格納し、ステップS54で、処理を終了する。
図10は、本発明の実施の形態4における識別番号による頻度情報の管理方法の例示図である。図10(a)に示すように、本形態の識別番号による頻度情報の管理方法では、過去に復号した符号化データは、識別番号「ID001」、「ID002」、「ID003」によって登録され、それぞれの頻度情報番号と、規格と、復号処理時刻とに関連づけられて、復号処理時刻の新しい順番に、頻度情報記録部34に格納されている。
いま、識別番号「ID003」の符号化データを持つ動画像を再度再生する場合を説明する。識別番号「ID003」のエントリーは、頻度情報記録部34において、最も新しい復号処理時刻を有し、最上欄に格納されている。したがって、制御部31は、この動画像の符号化データが、前回復号した符号化データと同じであると判定して、復号テーブルメモリ32にすでに格納されている復号テーブルを使って符号化データを復号する。
このように、前回復号した符号化データを復号する場合には、復号テーブルの新たな転送は不要となり、処理効率の向上と省電力を達成できる。
次に、識別番号「ID001」の符号化データを持つ動画像を、日をおいて再度再生する場合を説明する。制御部31は、図10(a)を参照して、この動画像の符号化データが、前回よりもさらに過去に復号した符号化データと同じであると判定する。制御部31は、識別番号「ID001」に関連づけられている頻度情報番号「INFO−1」の頻度情報に基づいて、大容量メモリ60から復号テーブルメモリ32に一部のテーブルデータを、使用頻度の高い順に、転送する。そして、制御部31は、復号テーブルメモリ32に格納された復号テーブルを使って符号化データを復号する。復号処理が終了すると、制御部31は、図10(b)に示すように、識別番号「ID001」の復号処理時刻を更新する。
このように、以前に復号し、識別番号がすでに登録されている符号化データを復号する場合には、対応する頻度情報を利用して、その符号化データの復号に最適な一部のテーブルデータを復号テーブルメモリ32に転送できるので、効率的な復号処理が実現できる。
また、頻度情報記録部34に登録されていない符号化データをもつ動画像を再生する場合を説明する。図10(c)に示すように、制御部31は、新しい識別番号「ID004」をこの符号化データに付与し、この符号化データが準拠する規格を取得して、その規格の復号テーブルの一部のテーブルデータを復号テーブルメモリ32に格納して、符号化データを復号する。復号が終了すると、頻度情報番号「INFO−4」の頻度情報を作成して、識別番号「ID004」と共に、頻度情報記録部34に格納する。この頻度情報は、識別番号「ID004」の符号化データを再度復号する時に利用される。
上述したように、本形態の可変長復号装置は、復号テーブルメモリ32に、高速動作する小面積のキャッシュメモリを使用しているため、復号テーブルメモリ32には、当該規格の復号テーブルのすべてを格納できない。そのため、復号の途中において、復号しようとする符号化データに対する、復号テーブルのテーブルデータが復号テーブルメモリ32に格納されていないという事態が起こることがある(一般に、これを、キャッシュミスと言う)。この場合には、復号テーブルメモリ32に格納されている、復号テーブルの一部を置換える必要がある。頻度情報を利用した置換え方法について、以下に説明する。
図11は、本発明の実施の形態4における復号テーブルの部分図である。図11は、復号テーブルのテーブルデータが保持されている大容量メモリ60のアドレスを16進表示している。これらのアドレスデータは、H.263の規格に示される符号化データの「LAST=0」の部分に対応する。図11の縦軸は、「Run」の個数、横軸は、「Level」の値である。
図14は、本発明の実施の形態4における復号テーブルメモリ32の初期の格納状態図である。本形態の復号テーブルメモリ32は、キャッシュメモリであり、図14に示すように、アドレス空間は、アドレス「0」からアドレス「13」の20個である(アドレスは、16進表示)。復号テーブルメモリ32のそれぞれのアドレスには、図11に示す実線枠100で示される大容量メモリ60のアドレスにある20個のテーブルデータが、初期値として、転送されている。
ここに、テーブルデータは、「Run」と「Level」の値が、可変長符号と関連づけられて格納されているデータである。例えば、図14に示すアドレス「0」のテーブルデータ「R_0、L_1」は、可変長符号「10s」(「s」は、「Level」の符号を表す)と関連づけられている。また、アドレス「1」のテーブルデータ「R_0、L_2」は、可変長符号「1111s」と関連づけられている。
制御部31は、図14に示す復号テーブルを使って、復号を実施し、各テーブルデータが使用された回数を使用頻度として累積記録する。
図12は、本発明の実施の形態4における途中段階の頻度情報を示す図である。図12は、ある符号化データが途中段階まで復号された時、復号テーブルメモリ32に転送された図14のテーブルデータの各々が、それまでに使用された回数を、図11に示す大容量メモリ60上のアドレスと関連づけて示している。図12の実線枠120内の各値は、図14に示す復号テーブルメモリ32に格納されている各テーブルデータの使用頻度である。例えば、図12の実線枠120内のテーブルデータ「R_0、L_1」は、10回使用され、テーブルデータ「R_0、L_2」は、6回使用されていることを示す。
次に、復号処理の途中において、ビットストリームの復号しようとする部分に対応する復号テーブルのテーブルデータが、復号テーブルメモリ32に格納されていない場合の処理について説明する。
例えば、ビットストリームの一部分「0001 1100s」を復号する時、このビットストリームに関連づけられているテーブルデータ「R_13、L_1」は、図14に示すように、復号テーブルメモリ32には格納されてない。すなわち、キャッシュミスが発生する。
制御部31は、復号テーブルメモリ32に格納されているテーブルデータの一部を、図11の破線枠110に示す、大容量メモリ60のアドレスにある5個のテーブルデータで置換える。この時、制御部31は、図12に示した頻度情報を参照し、復号テーブルメモリ32に格納されているテーブルデータの内、使用頻度が低い順に選択した5個のテーブルデータを、図11の破線枠110に示す、大容量メモリ60のアドレスをもつ5個のテーブルデータと置換える。
図15は、本発明の実施の形態4における復号テーブルメモリ32の置換え後の格納状態図である。図15には、説明のために備考欄を設けており、備考欄に文字「置換」が記されているところが、置換えられたテーブルデータを表す。この例では、復号するビットストリーム「0001 1100s」に関連づけられているテーブルデータ「R_13、L_1」が、1回の置換えで、復号テーブルメモリ32のアドレス「11」に転送されているので、キャッシュミスは解消し、制御部31は、復号処理を続け、頻度情報を収集する。
さらに、キャッシュミスが生じた場合には、大容量メモリ60の次のアドレスから始まる5個のテーブルデータ(図11の、「R_15、L_1」から「R_19、L_1」の5個のテーブルデータ)を選択し、復号テーブルメモリ32にある、使用頻度が低い5個のテーブルデータと置換える。該当するテーブルデータが復号テーブルメモリ32に格納されるまで、同様の置換え操作を繰り返す。
図13は、本発明の実施の形態4における最終段階の頻度情報を示す図である。図13は、何度かキャッシュミスに対する処理を行い、1つの符号化データの復号が終了した段階の、各テーブルデータの使用頻度を表している。この頻度情報は、例えば、図10(c)に示したように、識別番号「ID004」、頻度情報番号「INFO−4」として、頻度情報記録部34に格納され、同じ符号化データを次回に復号する時に利用される。この場合には、図13に示す実線枠130で囲われた20個のテーブルデータが、大容量メモリ60から復号テーブルメモリ32に、初期値として転送される。
図13に示した、使用頻度が高い20個のテーブルデータ(実線枠130で囲まれたテーブルデータ)が、符号長の長さに基づいて選択した、初期の20個のテーブルデータ(図11の実線枠105で囲まれたテーブルデータ)とは、かなり異なることに注意されたい。このことは、初期の20個のテーブルデータに代わって、使用頻度が高い20個のテーブルデータを利用することにより、復号テーブルメモリ32でのキャッシュミスが低減されることを示している。また、頻度情報が、復号する符号化データ、従って、再生する動画像によって異なることは、言うまでもない。
以上説明したように、本形態の可変長復号装置では、復号テーブルメモリ32は、キャッシュメモリを採用したため、復号テーブルの一部のテーブルデータしか格納できない。このため、本形態の可変長復号装置では、頻度情報記録部34を設け、各テーブルデータの使用頻度を頻度情報として管理し、使用頻度の高いテーブルデータを復号テーブルメモリ32に格納することにより、キャッシュミスの発生回数を低減している。これにより、キャッシュミスの発生に伴うテーブルデータの置換え処理の必要な回数が減少し、効率の良い復号処理と消費電力の削減とを実現できる。
また、本形態の可変長復号装置では、復号テーブルメモリ32に小面積のキャッシュメモリを採用しているため、可変長復号装置を小型化できる。
さらに、本形態の可変長復号装置では、各符号化データを識別番号によって管理し、各符号化データが復号時に使用する復号テーブルの頻度情報は、この識別番号と関連づけられて格納されている。したがって、同じ識別番号の符号化データは、その頻度情報を読み出して利用することにより、キャッシュミスの発生が少ない、効率よい復号ができる。このことは、例えば、同じ動画像を、続けて何度も再生したり、あるいは、日をおいて何度も再生したりする利用法において、効率よい可変長復号装置を提供できることを意味する。
なお、本形態の可変長復号装置では、復号テーブルメモリ32は、20個のアドレス空間を有するキャッシュメモリで構成されると仮定している。しかし、キャッシュメモリのアドレス空間は、必要に応じて、増減できる。
また、本形態の可変長復号装置では、復号テーブルメモリ32のテーブルデータの置換えは、5個単位で行ったが、一度に置換えるテーブルデータの個数は、任意に決めてよい。
(実施の形態5)
図5は、本発明の実施の形態5における可変長復号装置のブロック図である。図5において、 図4と同様な構成要素については、同一の符号を付すことにより、説明を省略する。
本形態の可変長復号装置では、図4に示す本発明の実施の形態4の可変長復号装置に加えて、可変長復号処理部30が、順序情報記録部35をさらに有する。順序情報記録部35は、一連の符号化データを復号した際、復号テーブルのテーブルデータが使用された使用順序を、順序情報として、識別番号と関連づけて、格納する。
本形態の可変長復号装置の動作を以下に説明する。
図5に示す復号テーブルメモリ32は、本発明の実施の形態4と同様に、図14に示す20個のアドレスを有するキャッシュメモリからなると仮定する。
まず、ある動画像を初めて再生するため、一連の符号化データを初めて復号する場合を想定する。
ある動画像の符号化データを初めて復号する場合、復号テーブルメモリ32には、この符号化データが準拠している規格の復号テーブルから、20個のテーブルデータが、所定のルールに従って格納される。この符号化データは初めての復号であるため、参照できる頻度情報も順序情報もない。この場合、制御部31は、所定のルールを、例えば、「Run」と「Level」の値に基づいて定める。すなわち、制御部31は、復号テーブルのテーブルデータを、「Run」と「Level」のそれぞれの値の小さい順に選択して、大容量メモリ60から、復号テーブルメモリ32に転送し、復号を開始する。
復号の開始とともに、制御部31は、復号に使用されたテーブルデータの順序を、順序情報として、順序情報記録部35に記録する。復号の途中において、キャッシュミスが発生した場合、制御部31は、「Run」と「Level」のそれぞれの値が次に小さいテーブルデータを、大容量メモリ60から復号テーブルメモリ32に転送し、復号テーブルメモリ32に格納されている、まだ使用されていないテーブルデータの内、「Run」と「Level」のそれぞれの値が最も大きいテーブルデータと置換する。
キャッシュミスが発生するたびにこの操作を繰り返して、復号処理を行う。この結果、復号テーブルメモリ32には、それぞれ少なくとも一度は使用されたテーブルデータが20個格納される。
いま、復号テーブルメモリ32に格納されるテーブルデータを、記号「A」、「B」、「C」・・・で表す。復号の開始から使用されたテーブルデータの順序が、
「ABCDE FGADH IJABK ACBLM NODPQ RST・・・」
であったとする。(記号間のスペースは、見やすくするために意図的に挿入されたもので、テーブルデータではない。)この例では、テーブルデータA、B、C、Dは、複数回使用されているが、その他のテーブルデータはそれぞれ1回使用されている。その結果、28回の復号処理で、異なる20個のテーブルデータ
順序情報を記録することの欠点は、順序情報の量が大きいことである。このため、長い動画像の符号化データの復号処理では、すべての順序情報を格納するには、大きなメモリを必要とする。そこで、長い動画像の符号化データを復号する場合、復号処理の最初の部分では、順序情報を利用し、途中から頻度情報を利用して、テーブルデータの置換えを行う。この結果、長い動画像の符号化データを再度復号する場合、順序情報を利用する最初の部分では、キャッシュミスは発生しない。また、格納すべき順序情報の容量を適当な値に抑えることができる。
本形態の可変長復号装置は、同じ動画像を何度も復号して再生する用途において、特に有効である。
(実施の形態6)
図16は、本発明の実施の形態6における半導体装置のブロック図、及び、外部CPUと外部大容量メモリとの接続図である。
図16に示すように、本形態の半導体装置100は、制御部31と復号テーブルメモリ32を有する可変長復号処理部30、符号化データメモリ40、復号データメモリ50、及び、規格情報記録部70を備える。
本形態の半導体装置100は、図16に示すように、外部のCPU20と外部の大容量メモリ60とを接続することによって、図1に示した本発明の実施の形態1の可変長復号装置を実現できる。
本形態の半導体装置100に、外部のCPU20と外部の大容量メモリ60とを接続して実現した可変長復号装置は、図1に示した本発明の実施の形態1の可変長復号装置と同様の機能を有する。その動作も、図1に示した本発明の実施の形態1の可変長復号装置と同様であるから、説明を省略する。
図17は、本発明の実施の形態6における半導体装置の別のブロック図、及び、外部大容量メモリとの接続図である。
図17に示すように、本形態の半導体装置200は、制御部31と復号テーブルメモリ32を有する可変長復号処理部30、符号化データメモリ40、復号データメモリ50、規格情報記録部70、及び、CPU20を備える。
本形態の半導体装置200は、図17に示すように、外部の大容量メモリ60を接続することによって、図1に示した本発明の実施の形態1の可変長復号装置を実現できる。
本形態の半導体装置200に、外部の大容量メモリ60を接続して実現した可変長復号装置は、図1に示した本発明の実施の形態1の可変長復号装置と同様の機能を有する。その動作も、図1に示した本発明の実施の形態1の可変長復号装置と同様であるから、説明を省略する。
図18は、本発明の実施の形態6における半導体装置のさらに別のブロック図である。
図18に示すように、本形態の半導体装置300は、制御部31と復号テーブルメモリ32を有する可変長復号処理部30、符号化データメモリ40、復号データメモリ50、規格情報記録部70、CPU20、及び、大容量メモリ60を備える。
本形態の半導体装置300は、図1に示した本発明の実施の形態1の可変長復号装置を実現できる。本形態の半導体装置300は、図1に示した本発明の実施の形態1の可変長復号装置と同様の機能を有し、同様の動作をする。したがって、説明を省略する。
図19は、本発明の実施の形態6における半導体装置のさらに別のブロック図である。
図19に示すように、本形態の半導体装置400は、CPU20、可変長復号処理部30、符号化データメモリ40、復号データメモリ50、及び、大容量メモリ60を備え、可変長復号処理部30は、制御部31、復号テーブルメモリ32、規格情報記録部33、及び、頻度情報記録部34を有する。
本形態の半導体装置400は、図4に示した本発明の実施の形態4の可変長復号装置を実現できる。本形態の半導体装置400は、図4に示した本発明の実施の形態1の可変長復号装置と同様の機能を有し、同様の動作をする。したがって、説明を省略する。
なお、本形態の半導体装置400は、可変長復号処理部30が、さらに順序情報記録部35を備えることも有益である。この場合、本形態の半導体装置400は、本発明の実施の形態5の可変長復号装置を実現できる。
なお、本形態の半導体装置100、200、300では、それぞれの可変長復号処理部30が、半導体装置400の可変長復号処理部30のように、その内部に頻度情報記録部34を備えることもできる。そうすることによって、これらの半導体装置100、200、300は、図4に示した本発明の実施の形態4の可変長復号装置と同様に、外部あるいは内部の大容量メモリ60から復号テーブルメモリ32へのテーブルデータの転送を、頻度情報を利用して、効率的に実行できる。その結果、本形態の半導体装置100、200、300、400は、入力された符号化データが準拠する符号化規格の復号テーブルの一部を、テーブルデータの規格情報と頻度情報を利用して、復号テーブルメモリ32であるキャッシュメモリに効率よく転送する。この結果、復号テーブルの置換え回数の削減とキャッシュミス回数の低減を図った復号処理を実現できる。
さらに、本形態の半導体装置100、200、300、400では、それぞれの可変長復号処理部30が、さらに、順序情報記録部35を備えることもできる。その結果、本形態の半導体装置100、200、300、400は、順序情報を利用して、同じ動画像を再生する場合、キャッシュミスの発生確立が極めて低い、可変長復号処理を実現できる。
(実施の形態7)
図20は、本発明の実施の形態7における電子装置のブロック図である。本形態の電子装置500は、入力インターフェース510、可変長復号デバイス520、再生処理部530、及び、出力インターフェース540を備える。
入力インターフェース510には、SDカード、DVD、HDDなどの小型情報記録メディアや、インターネットに接続するLANなどの、入力デバイス550が接続され、動画像データ、静止画像データ、オーディオ/音声データなどの可変長符号化データを含んだ、ビットストリームデータがこれらの入力デバイス550から入力される。
可変長復号デバイス520は、入力されたビットストリームデータを解析し、それに含まれる符号化データを可変長復号し、復号データを生成する。
再生処理部530は、可変長復号デバイス520が生成した復号データを信号処理し、画像信号とオーディオ/音声信号を出力する。
出力インターフェース540には、ディスプレイ、スピーカなどの外部の出力デバイス560が接続される。
本発明の実施の形態1においては、規格情報記録部70は、可変長復号処理部30とCPU20からアクセス可能な配置とした。また、本発明の実施の形態2においては、規格情報記録部21が、CPU20の一部として構成されている。さらに、本発明の実施の形態3、4、5においては、規格情報記録部33は、可変長復号処理部30の1つの要素として構成されている。しかし、規格情報記録部は、大容量メモリ60の一部として、その内部に配置してもよい。また、規格情報記録部は、大容量メモリ60の外部であって、CPU20からアクセスできる位置に、配置しても良い。