(57)【要約】【課題】ｎビット長のデジタルデータをｍビット長（ｍ＞ｎ）のデータに拡張する際に、下位（ｍ−ｎ）ビット長のデータを、容易な処理によって少ない変換誤差で補填する。【解決手段】ビット長拡張装置１０は、ビット長ｎの入力データＤｎを、ｎよりも大きなビット長ｍの出力データＤｍにビット拡張する際に、補填が必要となる出力データＤｍの下位の（ｍ−ｎ）ビットに対して、入力データＤｎの上位（ｍ−ｎ）ビットを割り当てることによって、複雑な処理を行うことなく、ｍビットの出力データＤｍを生成する。【選択図】    図１
2005012284.tif 000002
【特許請求の範囲】
【請求項１】
ｎ（ｎは正の整数）ビット長のデジタルデータを、ｍビット（ｍは、ｍ＞ｎの整数）長のデジタルデータに拡張するビット長拡張装置において、
該ｍビットのデータのうち、上位ｎビットには元のデータの全ｎビットデータを割り当て、下位（ｍ−ｎ）ビットには元のデータの上位（ｍ−ｎ）ビットデータを再度割り当てることによりｍビットの出力データを生成する第１のビット長拡張手段を有するビット長拡張装置。
【請求項２】
最上位ビットに符号情報が含まれるｎ（ｎは正の整数）ビット長のデジタルデータを、ｍビット（ｍは、ｍ＞ｎの整数）長のデジタルデータに拡張するビット長拡張装置において、
該ｍビットのデータのうち、上位ｎビットには元のデータの全ｎビットデータを割り当て、下位（ｍ−ｎ）ビットには元のデータの最上位ビットの次の第２位のビットから上位（ｍ−ｎ）ビットまでのデータを割り当てることによりｍビットの出力データを生成する第２のビット長拡張手段を有するビット長拡張方法。
【請求項３】
前記第１のビット長拡張手段は、
前記ｎビットの入力データを、ビット長（ｍ−ｎ）ビットの上位入力データおよびビット長（ｎ−（ｍ−ｎ））の下位入力データに分離する第１のデータ分離手段と、
該ｍビットのデータのうち、上位（ｍ−ｎ）ビットには該上位入力データを割り当て、その次の（ｎ−（ｍ−ｎ））ビットには該下位入力データを割り当て、更にその次の下位（ｍ−ｎ）ビットには該上位入力データを再度割り当てることによりｍビットの出力データを生成する第１のデータ合成手段とを有する請求項１に記載のビット長拡張装置。
【請求項４】
前記第２のビット長拡張手段は、
前記ｎビットの入力データを、最上位ビットの最上位入力データ、該最上位ビットの次の第２位のビットからビット長（ｍ−ｎ）ビットまでの上位入力データ、およびビット長（ｎ−（ｍ−ｎ）−１）の下位入力データに分離する第２のデータ分離手段と、
前記ｍビットのデータのうち、該最上位ビットには該最上位入力データを割り当て、該最上位ビットの次の第２位のビットから上位（ｍ−ｎ）ビットには該上位入力データを割り当て、その次の（ｎ−（ｍ−ｎ）−１）ビットには該下位入力データを割り当て、更にその次の下位（ｍ−ｎ）ビットには該上位入力データを再度割り当てることによりｍビットの出力データを生成する第２のデータ合成手段とを有する請求項２に記載のビット長拡張装置。
【請求項５】
前記第１のビット長拡張手段または第２のビット長拡張手段は、
前記ｎビットの入力データを一方向に（ｍ−ｎ）回ビットシフトさせた第１変数を生成する第１変数生成手段と、
該ｎビットの入力データを他方向に（ｎ−（ｍ−ｎ））回ビットシフトさせた第２変数を生成する第２変数生成手段と、
該第１変数と第２変数の論理和からｍビットの出力データを生成する第１論理合成手段とを有する請求項１または２に記載のビット長拡張装置。
【請求項６】
前記第２のビット長拡張手段は、
前記ｎビットの入力データの最上位ビットの次の第２位のビットから（ｎ−１）ビットのデータを一方向に（ｍ−ｎ）回ビットシフトさせた第３変数を生成する第３変数生成手段と、
該（ｎ−１）ビットのデータを他方向に（ｎ−（ｍ−ｎ）−１）回ビットシフトさせた第４変数を生成する第４変数生成手段と、
該第３変数と第４変数との論理和からｍ−１ビットのデータを生成し、該ｍ−１ビットの最上位に最上位ビットデータとして、該最上位ビットの入力データを付加してｍビットの出力データを生成する第２論理合成手段とを有する請求項２に記載のビット長拡張装置。
【請求項７】
請求項１〜６の何れかに記載のビット長拡張装置の入力データおよび出力データのうち少なくともいずれかにデータ処理を施すデータ処理装置。
【請求項８】
ｎ（ｎは正の整数）ビット長のデジタルデータを、ｍビット（ｍは、ｍ＞ｎの整数）長のデジタルデータに拡張するビット長拡張方法において、
該ｍビットのデータのうち、上位ｎビットには元のデータの全ｎビットデータを割り当て、下位（ｍ−ｎ）ビットには元のデータの上位（ｍ−ｎ）ビットデータを再度割り当てることによりｍビットのデータを生成する第１のビット長拡張ステップを有するビット長拡張方法。
【請求項９】
最上位ビットに符号情報が含まれるｎ（ｎは正の整数）ビット長のデジタルデータを、ｍビット（ｍは、ｍ＞ｎの整数）長のデジタルデータに拡張するビット長拡張方法において、
該ｍビットのデータのうち、上位ｎビットには元のデータの全ｎビットデータを割り当て、下位（ｍ−ｎ）ビットには元のデータの最上位ビットの次の第２位のビットから上位（ｍ−ｎ）ビットまでのデータを割り当てることによりｍビットのデータを生成する第２のビット長拡張ステップを有するビット長拡張方法。
【請求項１０】
前記第１のビット長拡張ステップまたは第１のビット長拡張ステップは、
前記ｎビットの入力データを一方向に（ｍ−ｎ）回ビットシフトさせた第１変数を生成する第１変数生成ステップと、
該ｎビットの入力データを他方向に（ｎ−（ｍ−ｎ））回ビットシフトさせた第２変数を生成する第２変数生成ステップと、
該第１変数と第２変数の論理和からｍビットのデータを生成する第１論理合成ステップとを有する請求項８または９に記載のビット長拡張方法。
【請求項１１】
前記第２のビット長拡張ステップは、
前記ｎビットの入力データの最上位ビットの次の第２位のビットから（ｎ−１）ビットまでのデータを一方向に（ｍ−ｎ）回ビットシフトさせた第３変数を生成する第３変数生成ステップと、
該（ｎ−１）ビットのデータを他方向に（ｎ−（ｍ−ｎ）−１）回ビットシフトさせた第４変数を生成する第４変数生成ステップと、
該第３変数と第４変数との論理和からｍ−１ビットのデータを生成し、該ｍ−１ビットの最上位に最上位ビットデータとして、該最上位ビットの入力データを付加してｍビットのデータを生成する第２論理合成ステップとを有する請求項９に記載のビット長拡張方法。
【請求項１２】
請求項８〜１１の何れかに記載のビット長拡張方法のステップをコンピュータに実行させるための制御プログラム。
【請求項１３】
請求項１２に記載の制御プログラムが記録されたコンピュータ読み取り可能な可読記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルデータをその使用環境に応じてビット長変換する際に用いられるビット長拡張装置、これを用いたデータ処理装置、ビット長拡張方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体に関する。
【０００２】
【従来の技術】
近年、様々な情報・データがデジタル信号化されて処理されている。しかしながら、同じ種類の情報・データであっても、そのデータを処理するデータ処理装置の性能や処理能力、必要とされる処理精度、データの運用に関わる仕様や規定事項などの条件のような所謂使用環境に応じて、それぞれに適したビット長のデジタル信号によって処理を行う必要がある。このため、同じ情報・データであっても、一つの使用環境から異なる使用環境に情報・データを移動させる場合には、それぞれの使用環境に適したビット長でデータ処理を行うことができるように、ビット長を変換する必要がある。
【０００３】
例えば、使用環境Ｎに適したビット長がｎ（ｎは正の整数）ビットであり、使用環境Ｍに適したビット長がｍ（ｍは正の整数）ビットである場合に、同じ情報・データであっても、使用環境Ｎから使用環境Ｍにデータを移動させる際には、そのビット長をｎからｍに変換する必要がある。
【０００４】
ここで、図６（ａ）に示すように、ｎ＞ｍである場合には、ｎビットのデータの下位（ｎ−ｍ）ビットを切り捨てて、上位ｍビットを使用することによって、ｍビットのデータを生成することができる。
【０００５】
しかしながら、図６（ｂ）に示すように、ｎ＜ｍである場合には、ｍビットのデータにおいて不足する下位（ｍ−ｎ）ビットを何らかの方法で補う必要がある。
【０００６】
このように、ｎビットのデータをｍビットのデータに拡張する際に、ｍビットのデータの下位（ｍ−ｎ）を補うための最も容易な方法としては、例えば（ｍ−ｎ）ビットの不足分を全て「０」または「１」によって補填する方法が挙げられる。
【０００７】
また、オーディオ関連分野などでは、例えば特許文献１〜３などのように、下位ビットを発生させるための方法が多く提案されている。
【０００８】
例えば、許文献１には、Ｎビットのオーディオデータから下位Ｍビットと符号ビットＳとを抽出して（Ｓ＋Ｍ）ビットのデータを生成し、これに｛Ｎ−（Ｓ＋Ｍ）｝ビットの擬似データＬを付加して（Ｓ＋Ｌ＋Ｍ）ビットのデータを生成し、これに残響ビットＸを付加して（Ｓ＋Ｌ＋Ｍ＋Ｘ）ビットのデータを生成し、（Ｓ＋Ｌ＋Ｍ）ビットのデータとＮビットのデータを置換して（Ｎ＋Ｘ）ビットのデータを生成することによって、フェードアウト部で違和感無くビット長を拡張することができるビット長拡張方法が開示されている。
【０００９】
また、特許文献２には、サンプリングデータ間の差分を抽出して、数サンプルにわたって変化がなく、１ＬＳＢのみが変化するような微小レベル部を検出し、１ＬＳＢ変化の前後数サンプルにわたって緩やかなレベル変化出力となるようにＬＳＢ以下のデータを生成して加算させることによって、全体的になめらかなデータ変化を得ることができるビット拡張装置が開示されている。
【００１０】
さらに、特許文献３には、入力オーディオデータのサンプル間の差分データ列を算出して、差分データが０である無変化点連続区間と差分データが１ＬＢ以上である変化点とを算出し、無変化連続区間に隣接する変化点の差分データを用いて二つの変化率を算出して、無変化連続区間と二つの変化率に基づいて無変化連続区間のデータの下位ビットをビット長拡張させることによって、デジタルオーディオデータから入力アナログオーディオ信号の振幅に近いオーディオ信号を再生することができるデジタルオーディオ再生装置が開示されている。
【００１１】
【特許文献１】
特開平９−４６１７９号公報
【特許文献２】
特開平４−３５４２０８号公報
【特許文献３】
特開平１０−２４２８５９号公報
【００１２】
【発明が解決しようとする課題】
しかしながら、ｎビットのデータをｍビット（ｍ＞ｎ）のデータに拡張する際に、ｍビットのデータのうち、下位（ｍ−ｎ）ビットを全て「０」または「１」によって補填する方法では、「０」の場合には最大値に近づくほど誤差が大きくなり、「１」の場合には最小値に近づくほど誤差が大きくなるという問題が生じる。
【００１３】
例えば、使用環境Ｎで扱われるビット長ｎのデータＤｎを、使用環境Ｍで使用するためにビット長ｍのデータＤｍに変換しようとした場合に、図７の矢印Ａ１に示すように、下位（ｍ−ｎ）ビットの不足分を全て「０」で補填すると、Ｄｎが最大値になってもＤｍは最大値にならない。また、図７の矢印Ａ２に示すように、下位（ｍ−ｎ）ビットの不足分を全て「１」で補填すると、Ｄｎが最小値（０）になってもＤｍは０にならない。
【００１４】
また、上記特許文献１〜３に開示されているビット長拡張方法では、いずれも複雑な処理が必要となるため、オーディオ関連分野以外の技術分野に応用することは容易ではない。
【００１５】
本発明は、上記従来の問題を解決するもので、ｎビット長のデジタルデータをｍビット長（ｍ＞ｎ）のデータにビット長を拡張する際に、複雑な処理とならず、下位（ｍ−ｎ）ビット長のデータを、より少ない誤差で補填することができて、幅広い技術分野で応用できるビット長拡張装置、これを用いたデータ処理装置、ビット長拡張方法、これをコンピュータに実行させるための制御プログラムおよび、これを記録したコンピュータ読み取り可能な可読記録媒体を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明のビット長拡張装置は、ｎ（ｎは正の整数）ビット長のデジタルデータを、ｍビット（ｍは、ｍ＞ｎの整数）長のデジタルデータに拡張するビット長拡張装置において、該ｍビットのデータのうち、上位ｎビットには元のデータの全ｎビットデータを割り当て、下位（ｍ−ｎ）ビットには元のデータの上位（ｍ−ｎ）ビットデータを再度割り当てることによりｍビットの出力データを生成する第１のビット長拡張手段を有しており、そのことにより上記目的が達成される。
【００１７】
本発明のビット長拡張装置は、最上位ビットに符号情報が含まれるｎ（ｎは正の整数）ビット長のデジタルデータを、ｍビット（ｍは、ｍ＞ｎの整数）長のデジタルデータに拡張するビット長拡張装置において、該ｍビットのデータのうち、上位ｎビットには元のデータの全ｎビットデータを割り当て、下位（ｍ−ｎ）ビットには元のデータの最上位ビットの次の第２位のビットから上位（ｍ−ｎ）ビットまでのデータを割り当てることによりｍビットの出力データを生成する第２のビット長拡張手段を有しており、そのことにより上記目的が達成される。
【００１８】
また、好ましくは、本発明のビット長拡張装置における第１のビット長拡張手段は、前記ｎビットの入力データを、ビット長（ｍ−ｎ）ビットの上位入力データおよびビット長（ｎ−（ｍ−ｎ））の下位入力データに分離する第１のデータ分離手段と、該ｍビットのデータのうち、上位（ｍ−ｎ）ビットには該上位入力データを割り当て、その次の（ｎ−（ｍ−ｎ））ビットには該下位入力データを割り当て、更にその次の下位（ｍ−ｎ）ビットには該上位入力データを再度割り当てることによりｍビットの出力データを生成する第１のデータ合成手段とを有する。
【００１９】
さらに、好ましくは、本発明のビット長拡張装置における第２のビット長拡張手段は、前記ｎビットの入力データを、最上位ビットの最上位入力データ、該最上位ビットの次の第２位のビットからビット長（ｍ−ｎ）ビットまでの上位入力データ、およびビット長（ｎ−（ｍ−ｎ）−１）の下位入力データに分離する第２のデータ分離手段と、前記ｍビットのデータのうち、該最上位ビットには該最上位入力データを割り当て、該最上位ビットの次の第２位のビットから上位（ｍ−ｎ）ビットには該上位入力データを割り当て、その次の（ｎ−（ｍ−ｎ）−１）ビットには該下位入力データを割り当て、更にその次の下位（ｍ−ｎ）ビットには該上位入力データを再度割り当てることによりｍビットの出力データを生成する第２のデータ合成手段とを有する。
【００２０】
さらに、好ましくは、本発明のビット長拡張装置における第１のビット長拡張手段または第２のビット長拡張手段は、前記ｎビットの入力データを一方向に（ｍ−ｎ）回ビットシフトさせた第１変数を生成する第１変数生成手段と、該ｎビットの入力データを他方向に（ｎ−（ｍ−ｎ））回ビットシフトさせた第２変数を生成する第２変数生成手段と、該第１変数と第２変数の論理和からｍビットの出力データを生成する第１論理合成手段とを有する。
【００２１】
さらに、好ましくは、本発明のビット長拡張装置における第２のビット長拡張手段は、前記ｎビットの入力データの最上位ビットの次の第２位のビットから（ｎ−１）ビットのデータを一方向に（ｍ−ｎ）回ビットシフトさせた第３変数を生成する第３変数生成手段と、該（ｎ−１）ビットのデータを他方向に（ｎ−（ｍ−ｎ）−１）回ビットシフトさせた第４変数を生成する第４変数生成手段と、該第３変数と第４変数との論理和からｍ−１ビットのデータを生成し、該ｍ−１ビットの最上位に最上位ビットデータとして、該最上位ビットの入力データを付加してｍビットの出力データを生成する第２論理合成手段とを有する。
【００２２】
本発明のデータ処理装置は、請求項１〜６の何れかに記載のビット長拡張装置の入力データおよび出力データのうち少なくともいずれかにデータ処理を施し、そのことにより上記目的が達成される。
【００２３】
本発明のビット長拡張方法は、ｎ（ｎは正の整数）ビット長のデジタルデータを、ｍビット（ｍは、ｍ＞ｎの整数）長のデジタルデータに拡張するビット長拡張方法において、該ｍビットのデータのうち、上位ｎビットには元のデータの全ｎビットデータを割り当て、下位（ｍ−ｎ）ビットには元のデータの上位（ｍ−ｎ）ビットデータを再度割り当てることによりｍビットのデータを生成する第１のビット長拡張ステップを有しており、そのことにより上記目的が達成される。
【００２４】
本発明のビット長拡張方法は、最上位ビットに符号情報が含まれるｎ（ｎは正の整数）ビット長のデジタルデータを、ｍビット（ｍは、ｍ＞ｎの整数）長のデジタルデータに拡張するビット長拡張方法において、該ｍビットのデータのうち、上位ｎビットには元のデータの全ｎビットデータを割り当て、下位（ｍ−ｎ）ビットには元のデータの最上位ビットの次の第２位のビットから上位（ｍ−ｎ）ビットまでのデータを割り当てることによりｍビットのデータを生成する第２のビット長拡張ステップを有しており、そのことにより上記目的が達成される。
【００２５】
また、好ましくは、本発明のビット長拡張方法における第１のビット長拡張ステップまたは第１のビット長拡張ステップは、前記ｎビットの入力データを一方向に（ｍ−ｎ）回ビットシフトさせた第１変数を生成する第１変数生成ステップと、該ｎビットの入力データを他方向に（ｎ−（ｍ−ｎ））回ビットシフトさせた第２変数を生成する第２変数生成ステップと、該第１変数と第２変数の論理和からｍビットのデータを生成する第１論理合成ステップとを有する。
【００２６】
さらに、好ましくは、本発明のビット長拡張方法における第２のビット長拡張ステップは、前記ｎビットの入力データの最上位ビットの次の第２位のビットから（ｎ−１）ビットまでのデータを一方向に（ｍ−ｎ）回ビットシフトさせた第３変数を生成する第３変数生成ステップと、該（ｎ−１）ビットのデータを他方向に（ｎ−（ｍ−ｎ）−１）回ビットシフトさせた第４変数を生成する第４変数生成ステップと、該第３変数と第４変数との論理和からｍ−１ビットのデータを生成し、該ｍ−１ビットの最上位に最上位ビットデータとして、該最上位ビットの入力データを付加してｍビットのデータを生成する第２論理合成ステップとを有する。
【００２７】
本発明の制御プログラムは、請求項８〜１１の何れかに記載のビット長拡張方法のステップをコンピュータに実行させるためのものであり、そのことにより上記目的が達成される。
【００２８】
本発明の可読記録媒体は、請求項１２に記載の制御プログラムが記録されたコンピュータ読み取り可能であり、そのことにより上記目的が達成される。
【００２９】
上記構成により、以下に、本発明の作用について説明する。
【００３０】
本発明にあっては、図２に示すように、ビット長ｎのデータＤｎを、ｎよりも大きいビット長ｍのデータＤｍにビット長を拡張する際に、補填が必要となる（ｍ−ｎ）ビットの下位ビットに対してそれぞれ、Ｄｎの上位（ｍ−ｎ）ビットをそれぞれ割り当てることによって、従来のように複雑な処理を行うことなく、ｍビットのデータＤｍを生成することが可能となる。
【００３１】
また、Ｄｎが最大値のときにはＤｍも最大値となり、Ｄｎが最小値のときにはＤｍも最小値となるため、（ｍ−ｎ）ビットの不足分を全て「１」または「０」で補填する従来技術に比べて誤差を大幅に削減することが可能となる。
【００３２】
ｎビットのデータの最上位ビットに符号情報が含まれている場合には、補填が必要な下位（ｍ−ｎ）ビットに、元のデータの最上位ビットを除く第二位のビットから上位（ｍ−ｎ）ビットを割り当てることができる。
【００３３】
【発明の実施の形態】
以下に、本発明のビット長拡張装置を実施形態１〜３としてデータ処理装置に適用した場合について、図面を参照しながら説明する。
【００３４】
（実施形態１）
本実施形態１では、本発明をビット長拡張装置としてハードウェア（ビット長拡張回路）によって実現する例について説明する。
【００３５】
図１は、本発明のデータ処理装置の実施形態１における要部構成を示すブロック図である。
【００３６】
図１において、このデータ処理装置１００は、ｎ（ｎは正の整数）ビット長のデジタルデータを、ｍビット（ｍは、ｍ＞ｎの整数）長のデジタルデータに拡張する第１のビット長拡張手段としてのビット長拡張回路１０と、ビット長拡張回路１０からのビット長拡張した出力データに各種データ処理を施すデータ処理部５とを備えている。本発明のデータ処理装置１００としては、例えばオーディオ機器で、旧式の機器から出力される１０ビット階調（本発明ではｎ＝１０）のデジタルデータを、最新式の１６ビット階調（同ｍ＝１６）に対応した装置に入力するためのデータ変換器などが挙げられる。
【００３７】
ビット長拡張回路１０は、入力回路１と、第１のデータ分離手段としての分離回路２と、第１のデータ合成手段としての合成回路３と、ビット長拡張した出力データを出力する出力回路４とを有しており、ｍビットのデータのうち、上位ｎビットには元のデータの全ｎビットデータを割り当て、下位（ｍ−ｎ）ビットには元のデータの上位（ｍ−ｎ）ビットデータを再度割り当てることによりｍビットの出力データを生成する。
【００３８】
入力回路１は、外部からビット長ｎ（ｎは正の整数）の入力データＤｎが入力されてそれが出力される。
【００３９】
分離回路２は、入力データＤｎを、ビット長（ｍ−ｎ）の上位入力データＤｎ１と、ビット長（ｎ−（ｍ−ｎ））の下位入力データＤｎ２とに分離する。ここで、ｍは、ｍ＞ｎの正数である。
【００４０】
合成回路３は、上位入力データＤｎ１が上位（ｍ−ｎ）ビットに割り当てられ、下位入力データＤｎ２がその次の（ｎ−（ｍ−ｎ））ビットに割り当てられ、さらに、図２に示すように、上位入力データＤｎ１が下位（ｍ−ｎ）ビットに再度割り当てられて、ビット長ｍの出力データＤｍを生成する。
【００４１】
出力部４は、合成回路３からのビット長ｍ（ｍはｍ＞ｎの整数）に拡張されたデータＤｍを外部に出力する。
【００４２】
上記構成により、図３（ａ）を用いて、符号情報が含まれない入力データＤｎのビット長を８、出力データのビット長Ｄｍを１５とした場合のビット長拡張装置１０の動作について説明する。
【００４３】
図３（ａ）に示すように、まず、ビット長ｎ＝８の入力データＤｎが（ｍ−ｎ）＝１５−８＝７ビット長の上位入力データおよびビット長（ｎ−（ｍ−ｎ））＝８−７＝１ビット長の下位入力データＤｎ２に分離される。
【００４４】
次に、上位入力データＤｎ１が上位（ｍ−ｎ）＝７ビットに割り当てられ、下位入力データＤｎ２がその次の（ｎ−（ｍ−ｎ））＝１ビットに割り当てられ、さらに、上位入力データＤｎ１が下位（ｍ−ｎ）＝７ビットに再度割り当てられて、ビット長ｍ＝１５の出力データＤｍが生成されている。
【００４５】
以上により、本実施形態１によれば、ビット長ｎのデータＤｎを、ｎよりも大きいビット長ｍのデータＤｍにビット長を拡張する際に、補填が必要となる（ｍ−ｎ）ビットの下位ビットに対してそれぞれ、データＤｎの上位（ｍ−ｎ）ビットをそれぞれ割り当てることによって、従来のように複雑な処理を行うことなく、ｍビットのデータＤｍを容易に生成することができる。この場合に、入力データＤｎが最大値のときにはＤｍも最大値となり、入力データＤｎが最小値のときにはＤｍも最小値となるため、（ｍ−ｎ）ビットの不足分を全て「１」または「０」で補填する従来技術に比べて誤差を大幅に削減することができる。
【００４６】
また、本実施形態１のビット長拡張回路１０をデータ処理装置１００に実装する場合に、符号情報（正または負を示す情報など）がいずれかに固定されていれば、分離回路２および合成回路３の動作を単純な配線のみで実現することが可能となる。
【００４７】
（実施形態２）
上記実施形態１では、入力データの最上位ビットに符号情報が含まれていない場合について説明したが、本実施形態２では、入力データの最上位ビットに符号情報（正または負を示す情報など）が含まれている場合について説明する。図１を共用して説明する。
【００４８】
図１において、このデータ処理装置１００Ａは、ｎ（ｎは正の整数）ビット長のデジタルデータを、ｍビット（ｍは、ｍ＞ｎの整数）長のデジタルデータに拡張する第２のビット長拡張手段としてのビット長拡張回路１０Ａと、データ処理部５とを備えている。
【００４９】
ビット長拡張回路１０Ａは、入力回路１と、第２のデータ分離手段としての分離回路２Ａと、第２のデータ合成手段としての合成回路３Ａと、ビット長拡張した出力データを出力する出力回路４とを有しており、ｍビットのデータのうち、上位ｎビットには元のデータの全ｎビットデータを割り当て、下位（ｍ−ｎ）ビットには元のデータの最上位ビットの次の第２位のビットから上位（ｍ−ｎ）ビットまでのデータを割り当てることによりｍビットの出力データを生成する。
【００５０】
分離回路２Ａは、入力されたビット長ｎのデータＤｎが、符号情報を示す最上位ビットからなる最上位入力データＤｎ０、最上位ビットを除く第２位のビットからビット長（ｍ−ｎ）ビットの上位入力データＤｎ１、およびビット長（ｎ−（ｍ−ｎ）−１）の下位入力データＤｎ２にデータ分離する。
【００５１】
合成回路３Ａは、最上位入力データ（符号情報）が最上位ビットに割り当てられ、上位入力データＤｎ１が最上位ビットの次の第２位のビットから上位（ｍ−ｎ）ビットに割り当てられ、下位入力データＤｎ２がその次の（ｎ−（ｍ−ｎ）−１）ビットに割り当てられ、さらに、上位入力データＤｎ１が下位（ｍ−ｎ）ビットに再度割り当てられて、最上位ビットに符号情報を含むビット長ｍの出力データを生成する。
【００５２】
上記構成により、図３（ｂ）を用いて、符号情報が含まれた入力データのビット長を８、出力データのビット長を１５とした場合のビット長拡張回路の動作例を説明する。
【００５３】
図３（ｂ）に示すように、最上位ビットに符号情報が含まれているビット長ｎ＝８の入力データＤｎが、符号情報ｓを示す最上位ビットからなる最上位入力データＤｎ０、最上位ビットを除く第２位のビットからビット長（ｍ−ｎ）＝１５−８＝７ビットの上位入力データＤｎ１、およびビット長（ｎ−（ｍ−ｎ）−１）＝８−８＝０の下位入力データＤｎ２に分離される。この例では、下位入力データＤｎ２は０ビットであるために、図３（ｂ）では示されていない。
【００５４】
最上位入力データ（符号情報）が最上位ビットに割り当てられ、上位入力データＤｎ１が最上位ビットを除く第２位のビットから上位（ｍ−ｎ）＝７ビットに割り当てられ、下位入力データＤｎ２がその次の（ｎ−（ｍ−ｎ）−１）＝０ビットに割り当てられ、さらに、上位入力データＤｎ１が、更にその次の下位（ｍ−ｎ）＝７ビットに再度割り当てられて、最上位に符号情報ｓを含むビット長ｍの出力データＤｍを生成する。
【００５５】
以上により、本実施形態２のビット長拡張装置１０Ａによれば、ｎビットのデータの最上位ビットに符号情報ｓが含まれている場合に、補填が必要な下位（ｍ−ｎ）ビットに、元のデータの最上位ビットを除く第２位のビットから上位（ｍ−ｎ）ビットを割り当てることができる。この場合にも、入力データＤｎが最大値の場合には上位入力データが全て「１」になるため、出力データＤｍも最大値となる。また、入力データＤｎが最小値の場合には上位入力データが全て「０」になるため、出力データＤｍも最小値となる。したがって、従来技術のように、複雑な処理を行うことなく、変換誤差を少なくすることができる。
【００５６】
なお、上記実施形態１，２では、本発明のビット長拡張装置１０，１０Ａをハードウウェア（ビット長拡張回路）によって実現する場合について説明してきたが、これに限らず、ソフトウェア（制御プログラム）によっても上記実施形態１，２の機能を実現することができる。
【００５７】
次に、ソフトウェアによる本発明のビット長拡張装置の実施形態３について説明する。
【００５８】
（実施形態３）
図４は、本発明のデータ処理装置の実施形態３における要部構成を示すブロック図である。
【００５９】
図４において、このデータ処理装置２０は、コンピュータにより構成されており、本発明のビット長拡張処理を行うビット長拡張装置と、ビット長拡張装置の入力データおよび出力データの少なくとも何れかにデータ処理を施すデータ処理部との機能を有している。
【００６０】
ビット長拡張装置は、各種データなどを記憶する記憶部としてのＲＯＭ２１およびＲＡＭ２２と、ユーザが各種操作指令やデータ（操作入力データの他に受信データを含む）などを入力可能とする入力部２３と、各種画像を表示したり、データをプリントアウトしたりさらにはデータ送信したりする出力部２４と、各部を制御して本発明のビット長拡張処理を行う制御部２５とを有する。
【００６１】
ＲＯＭ２１は、ビット長拡張制御処理用の制御プログラムおよびそのデータが記憶されている。この制御プログラムおよびそのデータは、ＣＤ（光ディスク）やＤＶＤなどの可読記録媒体からインターフェイス（図示せず）を介してダウンロードされ得る。
【００６２】
ＲＡＭ２２は、制御部２５が動作するに際してワークメモリとして機能する。
【００６３】
制御部２５はコンピュータのＣＰＵ（中央演算処理装置）で構成されており、ビット長拡張制御処理用の制御プログラムに基づいて、ビット長ｎの入力データＤｎを、ｎよりも大きなビット長ｍのデータＤｍにビット拡張する際に、補填が必要となる（ｍ−ｎ）ビットの下位ビットに対して、入力データＤｎの上位（ｍ−ｎ）ビットを割り当てることによってｍビットの出力データＤｍを生成する制御が為される。なお、上記データ処理部の機能も制御部２５により実行される。
【００６４】
具体的には、制御部２５は、ｎビットの入力データを一方向に（ｍ−ｎ）回ビットシフトさせた第１変数を生成する第１変数生成手段と、ｎビットの入力データを他方向に（ｎ−（ｍ−ｎ））回ビットシフトさせた第２変数を生成する第２変数生成手段と、これらの第１変数と第２変数の論理和からｍビットの出力データを生成する第１論理合成手段とを有する。
【００６５】
この制御部２５が実行する制御プログラムは、ｎビットの入力データを一方向に（ｍ−ｎ）回ビットシフトさせた第１変数を生成する第１変数生成ステップと、ｎビットの入力データを他方向に（ｎ−（ｍ−ｎ））回ビットシフトさせた第２変数を生成する第２変数生成ステップと、これらの第１変数と第２変数の論理和からｍビットのデータを生成する第１論理合成ステップとを有している。
【００６６】
上記構成により、以下、その動作を図５を用いて説明する。
【００６７】
図５（ａ）は、図４の制御部２５で用いるデータとしての数値と変数を示す図、図５（ｂ）は、図４の制御部２５が実行するビット長拡張処理手順を示すフローチャートである。
【００６８】
予め有効ビット長ｎ（ｎは正の整数）が明らかになっている符号情報ｓを含まない入力値Ｄｎに対して、ビット操作・演算処理を施して、上位ｎビットには元のデータの全ｎビットを割り当て、下位（ｍ−ｎ）ビットには元のデータの上位（ｍ−ｎ）ビットを再度割り当てることによって、有効ビット数ｍ（ｍは、ｍ＞ｎの正の整数）が明らかになっている符号情報ｓを含まない出力値（戻り値）Ｄｍを生成する場合について説明する。予め、戻り値Ｄｍよりも十分大きなビット長を有する変数ＡおよびＢを用意する。図５（ａ）では、ｎ＝１５およびｍ＝２４に対して、ビット長３２の変数ＡおよびＢが用意されているものとする。
【００６９】
図５（ｂ）に示すように、まず、ステップＳ１において、変数ＡおよびＢにそれぞれ１５ビットの入力値Ｄｎを代入する。
【００７０】
次に、ステップＳ２において、変数Ａに対して左シフト（一方向にシフト）のビット操作を（ｍ−ｎ）回行う。図５（ａ）の例では、変数Ａが（ｍ−ｎ）＝２４−１５＝９ビットだけ左シフトされる。
【００７１】
これと同様に、ステップＳ３において、変数Ｂに対して右シフト（他方向シフト）のビット操作を（ｎ−（ｍ−ｎ））回行う。このとき、ＬＳＢから押し出されたビットは切り捨てるものとする。この例では、変数Ｂが（ｎ−（ｍ−ｎ））＝１５−（２４−１５）＝６ビットだけ右シフトされ、ＬＳＢから押し出された６ビットを切り捨てる。
【００７２】
最後に、ステップＳ４において、変数Ａと変数Ｂとの論理和を算出する。即ち、変数Ｂを変数Ａに代入することによって、所望の出力データとしての戻り値Ｄｍを生成する。この例では、２４ビットの戻り値Ｄｍが生成される。
【００７３】
なお、入力値Ｄｎおよび戻り値Ｄｍに符号情報ｓが含まれている場合にも、最上位ビットが符合情報ｓであればその位置に変化がないので、上記の場合と同様に行うことができるが、次のように行ってもよい。
【００７４】
即ち、ここでは詳細な説明は省略するが、ステップＳ１において、入力値Ｄｎを変数ＡおよびＢに代入する前に、符号情報を示す最上位ビットを待避させて、入力値Ｄｎの最上位ビットを除く第２位のビットから（ｎ−１）ビットまでのデータを変数ＡおよびＢに代入する。
【００７５】
次に、ステップＳ２において変数Ａに対して左シフトのビット操作を（ｍ−ｎ）回行い（第３変数生成ステップ；第３変数生成手段）、ステップＳ３において変数Ｂに対して右シフトのビット操作を（ｎ−（ｍ−ｎ）−１）回行う（第４変数生成ステップ；第４変数生成手段）。
【００７６】
最後に、ステップＳ４において、変数Ａと変数Ｂとの論理和を算出する（第２論理合成ステップ；第２論理合成手段）。この場合にも、変数Ｂを変数Ａに代入すると共に、待避させていた最上位ビットを最上位に付加することによって、最上位に符号情報ｓを含む戻り値Ｄｍを生成することができる。
【００７７】
なお、上記実施形態３では、本発明のビット長拡張装置をソフトウェア（制御プログラム）によって実現する場合について説明してきたが、これに限らず、ハードウウェア（ビット長拡張回路）によっても上記実施形態３の機能を実現することができる。
【００７８】
以上により、上記実施形態１〜３によれば、ビット長ｎの入力データＤｎを、ｎよりも大きなビット長ｍの出力データＤｍにビット拡張する際に、補填が必要となる出力データＤｍの下位の（ｍ−ｎ）ビットに対して、入力データＤｎの上位（ｍ−ｎ）ビットを割り当てることによって、複雑な処理を行うことなく、ｍビットの出力データＤｍを生成することができる。また、入力データＤｎの最上位ビットに符号情報ｓが含まれている場合には、補填が必要となる入力データＤｎの下位の（ｍ−ｎ）ビットに対して、最上位ビットを除く第２位のデータから上位（ｍ−ｎ）ビットを割り当てることができる。このようにして、ｎビット長のデジタルデータをｍビット長（ｍ＞ｎ）のデータに拡張する際に、下位（ｍ−ｎ）ビット長のデータを、容易なビット長拡張処理によって少ないビット長変換誤差で補填することができる。
【００７９】
【発明の効果】
以上により、本発明によれば、簡単な処理により、最小限の変換誤差にてデジタル信号のビット長拡張処理を行って、それぞれの使用環境に適したビット長でのデータを生成することができる。
【図面の簡単な説明】
【図１】本発明のデータ処理装置の実施形態１、２における要部構成を示すブロック図である。
【図２】本発明の基本原理について説明するための図である。
【図３】（ａ）は符号情報が含まれていない場合のデータ処理例を示す図、（ｂ）は符号情報が含まれている場合のデータの処理例を示す図である。
【図４】本発明のデータ処理装置の実施形態３における要部構成を示すブロック図である。
【図５】（ａ）は、図４の制御部で用いる数値と変数を示す図、（ｂ）は、図４の制御部によるビット長拡張処理手順を示すフローチャートである。
【図６】（ａ）はビット長を減少させる場合の従来の処理例について説明するための図、（ｂ）はビット長を拡張させる場合の従来の処理例について説明するための図である。
【図７】従来のビット長拡張方法の問題点を説明するための図である。
【符号の説明】
１    入力回路
２、２Ａ    分離回路
３、３Ａ    合成回路
４    出力回路
１０、１０Ａ  ビット長拡張装置
１００、１００Ａ、２００  データ処理装置
２１  ＲＯＭ
２２  ＲＡＭ
２３  入力部
２４  出力部
２５  制御部
【図１】
2005012284.tif 000003
【図２】
2005012284.tif 000004
【図３】
2005012284.tif 000005
【図４】
2005012284.tif 000006
【図５】
2005012284.tif 000007
【図６】
2005012284.tif 000008
【図７】
2005012284.tif 000009