(57)【要約】【課題】データ伝送量を増大させずに表示座標系を拡大する。【解決手段】表示処理クライアント１は、グラフィック表示の座標値を示す３２ビット整数を構成するビット列の値に応じて、指数部付き１６ビット整数の指数部の値を決定し、送信対象のビット列に対して算術シフト処理を実行して表示処理サーバ２に送信する。表示処理サーバ２では、受信した指数部付き１６ビット整数を３２ビット整数に変換した上で算術シフトを実行して元のビット数のビット列に復元し、これをグラフィック表示の座標値として用いる。これにより、表示処理クライアント１と表示処理サーバ２間のデータ伝送量を増加させること無く、表示座標の範囲を拡大することができるようになる。【選択図】      図１
2005084983.tif 000002
【特許請求の範囲】
【請求項１】
第１のビット長をもつ第１のビット列の値を検出する検出手段と、
前記第１のビット列に対して、前記検出手段が検出した値に基づいたシフト量のシフト処理を行なう第１の処理手段と、
前記第１のビット列の最下位ビットから前記第１のビット長未満である第２のビット長分のビット列の値を論理演算により前記検出手段が検出した値に基づいた値に変換する処理を行なう第２の処理手段と、
前記第１および第２の処理手段により処理されたビット列の最下位ビットから前記第２のビット長を超え、かつ前記第１のビット長未満である第３のビット長分のビット列を抽出する抽出手段と
を具備したことを特徴とする情報処理装置。
【請求項２】
第１のビット長をもつ第１のビット列を得る手段と、
前記第１のビット長を超える第２のビット長をもち、かつ、最下位ビットから前記第１のビット長分のビット列が前記第１のビット列である第２のビット列を生成する手段と、
前記第２のビット列の最下位ビットから前記第１のビット長未満である第３のビット長分のビット列の値を検出する検出手段と、
前記第２のビット列に対して、前記検出手段により検出された値に基づいたシフト量のシフト処理を行なう手段と
を具備したことを特徴とする情報処理装置。
【請求項３】
コンピュータを制御するための情報処理プログラムであって、
前記コンピュータを、
第１のビット長をもつ第１のビット列の値を検出する検出手段、
前記第１のビット列に対して、前記検出手段が検出した値に基づいたシフト量のシフト処理を行なう第１の処理手段、
前記第１のビット列の最下位ビットから前記第１のビット長未満である第２のビット長分のビット列の値を論理演算により前記検出手段が検出した値に基づいた値に変換する処理を行なう第２の処理手段、
前記第１および第２の処理手段により処理されたビット列の最下位ビットから前記第２のビット長を超え、かつ前記第１のビット長未満である第３のビット長分のビット列を抽出する抽出手段
として機能させるようにした、コンピュータ読み取り可能な情報処理プログラム。
【請求項４】
コンピュータを制御するための情報処理プログラムであって、
前記コンピュータを、
第１のビット長をもつ第１のビット列を得る手段、
前記第１のビット長を超える第２のビット長をもち、かつ、最下位ビットから前記第１のビット長分のビット列が前記第１のビット列である第２のビット列を生成する手段、
前記第２のビット列の最下位ビットから前記第１のビット長未満である第３のビット長分のビット列の値を検出する検出手段、
前記第２のビット列に対して、前記検出手段により検出された値に基づいたシフト量のシフト処理を行なう手段
として機能させるようにした、コンピュータ読み取り可能な情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばグラフィックなどのデータを、複数のコンピュータ間で送受信して、送信先のコンピュータにグラフィック表示させる情報処理装置およびそのためのプログラムに関する。
【背景技術】
【０００２】
従来、従来、グラフィックなどのデータを、複数のコンピュータ間で送受信して、送信先のコンピュータにグラフィック表示させる、図１１に示すような構成の画像データ表示処理システムがある。この画像データ表示処理システムは、表示処理クライアント１０１と表示処理サーバ１０２により構成される分散処理システムであり、表示処理クライアント１０１が表示処理サーバ１０２に対して通信回線１０４を介してグラフィックなどの表示要求を行なう。表示処理サーバ１０２は、表示要求に基づいてグラフィック等の描画を行ない、これを表示器１０３に表示する。
【０００３】
表示要求の一般的な例を図１２に示す。表示要求は、描画するグラフィックの種類を指定する表示コマンドと、グラフィックの表示位置，大きさ等を指定する表示パラメータにより構成されるのが一般的である。
【０００４】
次に表示位置，大きさ等を指定する際に使用される表示座標系の一般的な例を図１３に示す。表示されるグラフィックはピクセルとして描画されることから、表示座標系は整数で表現されるのが一般的であり、表示位置（表示座標）や大きさ等もこれに従う。
【０００５】
表示座標系の整数の種類としては、１６ビットまたは３２ビットが一般的に使用される。例えば図１２に示した表示パラメータの表示座標値など、正負の値をもつパラメータには符号あり整数が用いられる。例えば図１２に示した表示パラメータの幅、高さおよび表示半径など、負の値をもたないパラメータには符号なし整数が使用される場合もある（例えば、特許文献１、特許文献２参照）。
【特許文献１】特開平５−３２４２７０号公報
【特許文献２】国際公開第０１／０４２９０３号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図１３は、１６ビットの整数を使用した表示座標系の例であるが、この場合使用可能な座標値範囲は−３２，７６８〜３２，７６７となる。図１３に示す表示座標系の領域１０５には、表示器３の表示領域１０６が含まれる。また、３２ビットの整数を使用した場合には座標範囲は、−２，１４７，４８３，６４８〜２，１４７，４８３，６４７となる。
【０００７】
表示処理クライアント１０１から表示処理サーバ１０２への表示要求は、表示器１０３（表示画面）へのグラフィックの表示量に比例して多くなる。また、表示パラメータに含まれる表示座標値、大きさ等の量は、表示するグラフィックの複雑さに比例して多くなる。したがって、複雑でかつ多くの図形を（特に大きな）画面に表示するためには、通信回線１０４を介して多くの量のデータ（表示要求）を表示処理クライアント１０１から表示処理サーバ１０２に伝送する必要がある。
【０００８】
１６ビットの整数を使用した場合には、伝送量は小さくて済むが、３２ビットの整数を使用した場合と比較して、使用できる表示座標系が狭くなってしまう。一方、３２ビットの整数を使用した場合には、座標系の広さとしては十分だが、１６ビットの整数を使用した場合と比較して、表示要求のデータ伝送量が大きくなり（最大約２倍）、特に伝送帯域の狭い通信回線を使用しなければならないような場合には、システムとして成立しなくなる可能性があった。
【０００９】
本発明は、前記課題に鑑みなされたもので、データ伝送量を増大させずに表示座標系を拡大することが可能になる情報処理装置およびそのためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
すなわち、本発明に係わる情報処理装置は、第１のビット長をもつ第１のビット列の値を検出する検出手段と、前記第１のビット列に対して、前記検出手段が検出した値に基づいたシフト量のシフト処理を行なう第１の処理手段と、前記第１のビット列の最下位ビットから前記第１のビット長未満である第２のビット長分のビット列の値を論理演算により前記検出手段が検出した値に基づいた値に変換する処理を行なう第２の処理手段と、前記第１および第２の処理手段により処理されたビット列の最下位ビットから前記第２のビット長を超え、かつ前記第１のビット長未満である第３のビット長分のビット列を抽出する抽出手段とを具備したことを特徴とする。
【００１１】
このような構成によれば、第１のビット列に対して、当該ビット列の値にしたがった処理がなされ、この処理されたビット列の最下位ビットから前記第２のビット長分のビット列を抽出するので、第１のビット列のビット長の大小に関わらず、これを第２のビット長をもつビット列に変換することができる。
【発明の効果】
【００１２】
本発明に関わる情報処理装置では、表示処理クライアントは、１６ビットを超える符号あり整数を構成するビット列の値に応じて、指数部付き１６ビット整数の指数部の値を決定し、符号あり整数のビット列に対する算術シフト処理を実行して指数部付き１６ビット整数の符号あり整数部の値を決定して、これら符号あり整数部および指数部により構成したビット列を表示処理サーバに送信する。そして、表示処理サーバは、受信した指数部付き１６ビット整数に対する算術シフト処理により元のビット長の符号あり整数に復元し、これをグラフィック表示における座標値として用いるので、表示処理クライアントと表示処理サーバ間のデータ伝送量を増加させること無く、表示座標の範囲を拡大することができるようになる。
【発明を実施するための最良の形態】
【００１３】
以下図面により本発明の実施形態について説明する。  
図１は、本発明の実施形態にしたがった画像データ通信システムの構成例を示すブロック図である。  
図１に示した画像データ通信システムは、分散処理システムと呼ばれるものであり、表示処理クライアント１、表示処理サーバ２および表示器３が設けられる。表示処理クライアント１は表示パラメータコード変換部１ａを備え、表示処理サーバ２は、表示パラメータコード再変換部２ａを備える。
【００１４】
表示処理クライアント１は、描画するグラフィックの表示要求を生成する。表示要求は、グラフィックの種類を示す表示コマンドと、その表示位置（座標値）や大きさなどを示す表示パラメータにより構成される。本実施形態では、表示パラメータで表示座標や大きさ等を示す数値を３２ビット整数（符号あり）または３２ビット整数（符号なし）で表現する。
【００１５】
表示処理クライアント１により生成した表示要求中の表示パラメータに含まれる数値が３２ビット整数（符号あり）の場合には、これを表示パラメータコード変換部１ａにより、指数部付き１６ビット整数（符号あり）に変換し、表示パラメータに含まれる数値が３２ビット整数（符号なし）の場合には、表示パラメータコード変換部１ａにより、指数部付き１６ビット整数（符号なし）に変換する。
【００１６】
表示処理クライアント１は、表示パラメータコード変換部１ａにより変換された表示パラメータを含む表示要求を、通信回線４を介して表示処理サーバ２に送信する。
【００１７】
表示処理サーバ２は、表示処理クライアント１から送信された表示要求（コード変換済み）を受信すると、表示パラメータコード再変換部２ａにより、表示要求（コード変換済み）の表示パラメータの内、表示座標，大きさ等を示す指数部付き１６ビット整数を元の３２ビット整数に変換する。表示パラメータの数値部分が指数部付き１６ビット整数（符号あり）の場合には、これを表示パラメータコード再変換部２ａにより３２ビット整数（符号あり）に変換し、表示パラメータに含まれる数値部分が指数部付き１６ビット整数（符号なし）の場合には、これを表示パラメータコード再変換部２ａにより３２ビット整数（符号なし）に変換する。
【００１８】
図２は、指数部付き１６ビット整数（符号あり）のビット列の構成を示す図である。  
指数部付き１６ビット整数（符号あり）の下位２ビットは指数部であり、残りの上位１４ビットは符号あり整数部である。ただし、符号あり整数部の最上位ビットは正負符号（Ｓ）であり、一般的な整数（符号あり）と同様に負の値は２の補数で表現する。ＭＳＢは、符号あり整数部の最上位ビットであり、ＬＳＢは、符号あり整数部の最下位ビットである。
【００１９】
本実施形態において、座標値などの表示に用いる１０進数と、指数部付き１６ビット整数（符号あり）とは次のような関係がある。  
Ｘ＝ｍ＊２２ｅ・・・式（１）
式（１）中のＸは、座標値として用いる１０進数、ｍは、指数部付き１６ビット整数（符号あり）の符号あり整数部を１０進数に変換した値、ｅは、指数部付き１６ビット整数の指数部を１０進数に変換した値を示す。
【００２０】
以下に、表示パラメータにおける数値データが３２ビット整数（符号あり）で表現されている場合に、これを指数部付き１６ビット整数（符号あり）に変換する処理（表示要求のコード変換処理）について説明する。
【００２１】
図３は、表示パラメータにおける数値データが３２ビット整数（符号あり）で表現されている場合における、図１に示した表示パラメータコード変換部１ａによる、表示要求のコード変換処理を示すフローチャートである。  
まず、表示装置クライアント１により表示要求が生成されると、表示パラメータコード変換部１ａによりこれを認識し（ステップＳ１）、表示要求に含まれる表示パラメータのうち、表示座標値などを示す３２ビット整数（符号あり）を抽出する（ステップＳ２）。３２ビット整数（符号あり）は、その最上位ビットが正負符号ビットである。
【００２２】
そして、３２ビット整数（符号あり）が１４ビット以下の符号あり整数で表現できるか否かを判別する（ステップＳ３）。ここでは、３２ビット整数（符号あり）を１０進数に変換した値が−８１９２〜８１９１の間にあるか否かを判別する。
【００２３】
ステップＳ３により「ＹＥＳ」と判別された場合には、３２ビット整数（符号あり）の最下位ビットから下位１４ビット目までの１４ビット分のビット列を指数部付き１６ビット整数（符号あり）の符号あり整数部に変換するために、３２ビット整数（符号あり）に対するシフト量を“右算術シフト量なし”と算出する。この算出結果に基づいて、３２ビット整数（符号あり）を構成するビット列に対し右算術シフト処理は行なわない（ステップＳ４）。
【００２４】
そして、ステップＳ４による右算術シフト処理のシフト量（シフト量なし）に基づいて、指数部付き１６ビット整数（符号あり）の指数部のビット列を“００”と設定するために、ステップＳ２で抽出したビット列に対して２ビット分の左算術シフト処理を行なう（ステップＳ５）。
【００２５】
そして、左算術シフト処理後の３２ビット整数（符号あり）を構成するビット列の下位１６ビット分のビット列を指数部付き１６ビット整数（符号あり）を構成するためのビットとして抽出する（ステップＳ６）。ここでは、左算術シフト処理後の３２ビット整数（符号あり）を、１６ビット整数（符号あり）に代入することにより行なう。
【００２６】
一方、ステップＳ３により「ＮＯ」と判別された場合には、３２ビット整数（符号あり）が１６ビット以下の符号あり整数で表現できるか否かを判別する（ステップＳ７）。ここでは、３２ビット整数（符号あり）を１０進数に変換した値が−３２７６８〜３２７６７の間にあるか否かを判別する。
【００２７】
ステップＳ７により「ＹＥＳ」と判別された場合には、３２ビット整数（符号あり）の下位３ビット目から下位１６ビット目までの１４ビット分のビット列を指数部付き１６ビット整数（符号あり）の符号あり整数部に変換するために、３２ビット整数（符号あり）に対するシフト量を“右算術シフト２ビット分”と算出する。この算出結果に基づいて、３２ビット整数（符号あり）を構成するビット列に対して２ビット分の右算術シフト処理をする（ステップＳ７−１）。
【００２８】
そして、右算術シフト処理のシフト量（２ビット）に基づいて、指数部のビット列を“０１”と設定するために、右算術シフト処理後の３２ビット整数（符号あり）を構成するビット列に対して２ビット分の左算術シフト処理を行った後、これを構成するビット列のうち下位２ビット分のビット列を論理和演算により“０１”に変換する（ステップＳ８）。そして、ステップＳ６と同様の処理により、論理和演算後のビット列のうち下位１６ビット分のビット列を抽出して、指数部付き１６ビット整数（符号あり）として構成する（ステップＳ９）。
【００２９】
一方、ステップＳ７により「ＮＯ」と判別された場合には、３２ビット整数（符号あり）が１８ビット以下の符号あり整数で表現できるか否かを判別する（ステップＳ１０）。ここでは、３２ビット整数（符号あり）を１０進数に変換した値が−１３１０７２〜１３１０７１の間にあるか否かを判別する。
【００３０】
ステップＳ１０により「ＹＥＳ」と判別された場合には、３２ビット整数（符号あり）の下位５ビット目から下位１８ビット目までの１４ビット分のビット列を指数部付き１６ビット整数（符号あり）の符号あり整数部に変換するために、３２ビット整数（符号あり）に対するシフト量を“右算術シフト４ビット分”と算出する。この算出結果に基づいて、３２ビット整数（符号あり）を構成するビット列に対して４ビット分の右算術シフト処理をする（ステップＳ１１）。
【００３１】
そして、右算術シフト処理のシフト量（４ビット）に基づいて、指数部のビット列を“１０”と設定するために、右算術シフト処理後の３２ビット整数（符号あり）を構成するビット列に対して２ビット分の左算術シフト処理を行った後、これを構成するビット列のうち下位２ビット分のビット列を論理和演算により“１０”に変換する（ステップＳ１２）。そして、ステップＳ６と同様の処理により、論理和演算後のビット列のうち下位１６ビット分のビット列を抽出して、これらを前述したように指数部付き１６ビット整数（符号あり）として構成する（ステップＳ１３）。
【００３２】
一方、ステップＳ１０により「ＮＯ」と判別された場合には、３２ビット整数（符号あり）が２０ビット以下の符号あり整数で表現できるか否かを判別する（ステップＳ１４）。ここでは、３２ビット整数（符号あり）を１０進数に変換した値が−５２４２８８〜５２４２８７の間にあるか否かを判別する。
【００３３】
ステップＳ１４により「ＹＥＳ」と判別された場合には、３２ビット整数（符号あり）の下位７ビット目から下位２０ビット目までの１４ビット分のビット列を指数部付き１６ビット整数（符号あり）の符号あり整数部に変換するために、３２ビット整数（符号あり）に対するシフト量を“右算術シフト６ビット分”と算出する。この算出結果に基づいて、３２ビット整数（符号あり）を構成するビット列に対し６ビット分の右算術シフト処理をする（ステップＳ１５）。
【００３４】
そして、右算術シフト処理のシフト量（６ビット）に基づいて、指数部のビット列を“１１”と設定するために、右算術シフト処理後の３２ビット整数（符号あり）を構成するビット列に対して２ビット分の左算術シフト処理を行った後、これを構成するビット列のうち下位２ビット分のビット列を論理和演算により“１１”に変換する（ステップＳ１６）。そして、ステップＳ６と同様の処理により、論理和演算後のビット列のうち下位１６ビット分のビット列を指数部付き１６ビット整数（符号あり）として抽出する（ステップＳ１７）。
【００３５】
一方、ステップＳ１４により「ＮＯ」と判別された場合には、エラーメッセージを表示処理クライアント１側の表示器（図示せず）に表示し、ステップＳ１の処理に戻る（ステップＳ１８→Ｓ１）。また、エラー処理の方法としては、元の値を２０ビット以下に表現するように変換する方法も考えられる。
【００３６】
ステップＳ６、Ｓ９、Ｓ１３またはＳ１７により指数部付き１６ビット整数（符号あり）のビット列が抽出された場合には、これを含んだ表示パラメータと表示コマンドを組み合わせたコード変換済み表示要求を、通信回線４を介して表示処理サーバ２に送信する（ステップＳ１９）。
【００３７】
表示処理サーバ２は、表示装置クライアント１により送信されたコード変換済み表示要求を受信すると、表示要求内の表示パラメータに含まれる指数部付き１６ビット整数（符号あり）を、表示パラメータコード再変換部２ａにより元の３２ビット整数（符号あり）に再変換し、この３２ビット整数が含まれた表示要求にしたがってグラフィックの描画を行ない、これを表示器３に表示させる。
【００３８】
次に、表示処理サーバ２により受信したコード変換済み表示要求に含まれる表示パラメータの指数部付き１６ビット整数（符号あり）を、表示パラメータコード再変換部２ａにより元の３２ビット整数（符号あり）に再変換するまでの処理（表示要求のコード再変換処理）について説明する。
【００３９】
図４は、表示パラメータにおける数値データが３２ビット整数（符号あり）で表現されている場合における、図１に示した表示パラメータコード再変換部２ａによる、表示要求のコード再変換処理を示すフローチャートである。  
まず、表示パラメータコード再変換部２ａにより、コード変換済み表示要求を認識する（ステップＡ１）と、表示要求内の表示パラメータに含まれる指数部付き１６ビット整数（符号あり）を抽出する（ステップＡ２）。
【００４０】
そして、指数部付き１６ビット整数（符号あり）の下位２ビットで構成されるビット列、つまり指数部付き１６ビット整数（符号あり）の指数部のビット列の各ビットの値を検出し、さらに、指数部付き１６ビット整数（符号あり）を３２ビット整数（符号あり）に変換する（ステップＡ３）。ここでは、指数部付き１６ビット整数（符号あり）を３２ビット整数（符号あり）の下位１６ビット分に代入することにより行なう。
【００４１】
ステップＡ３による検出の結果、指数部のビット列が“００”であった場合（ステップＡ４のＹＥＳ）には、表示処理クライアント１により認識された３２ビット整数（符号あり）の最下位ビットから１４ビット目までの１４ビット分のビット列がそのまま指数部付き１６ビット整数（符号あり）の符号あり整数部として抽出されている。よって指数部付き１６ビット整数（符号あり）の符号あり整数部の最下位ビットを３２ビット整数（符号あり）の最下位ビットとすればよい。  
これにしたがって、ステップＡ３により生成された３２ビット整数（符号あり）のビット列に対し２ビット分の右算術シフト処理をする（ステップＡ５）。
【００４２】
ステップＡ３による検出の結果、指数部のビット列が“０１”であった場合（ステップＡ６のＹＥＳ）には、表示処理クライアント１により認識された３２ビット整数（符号あり）のビット列のうち下位３ビット目から１６ビット目までの１４ビット分のビット列が指数部付き１６ビット整数（符号あり）の符号あり整数部として抽出されている。よって指数部付き１６ビット整数（符号あり）の符号あり整数部の最下位ビットを３２ビット整数（符号あり）の下位３ビット目とすればよい。
【００４３】
これにしたがい、まず、ステップＡ３により生成された３２ビット整数（符号あり）のビット列に対し２ビット分の右算術シフト処理をする（ステップＡ７）。そして、右算術シフト処理されたビット列に対して、２ビット分の左算術シフト処理をする（ステップＡ８）。
【００４４】
ステップＡ３による検出の結果、指数部のビット列が“１０”であった場合（ステップＡ９のＹＥＳ）には、表示処理クライアント１により認識された３２ビット整数（符号あり）のビット列のうち下位５ビット目から１８ビット目までの１４ビット分のビット列が指数部付き１６ビット整数（符号あり）の符号あり整数部として抽出されている。よって指数部付き１６ビット整数（符号あり）の符号あり整数部の最下位ビットを３２ビット整数（符号あり）の下位５ビット目とすればよい。
【００４５】
これにしたがい、まず、ステップＡ３により生成された３２ビット整数（符号あり）のビット列に対し２ビット分の右算術シフト処理をする（ステップＡ１０）。そして、右算術シフト処理されたビット列に対して、４ビット分の左算術シフト処理をする（ステップＡ１１）。
【００４６】
ステップＡ３による検出の結果、指数部のビット列が“１１”であった場合（ステップＡ９のＮＯ）には、表示処理クライアント１により認識された３２ビット整数（符号あり）のビット列のうち下位７ビット目から２０ビット目までの１４ビット分のビット列が指数部付き１６ビット整数（符号あり）の符号あり整数部として抽出されている。よって指数部付き１６ビット整数（符号あり）の符号あり整数部の最下位ビットを３２ビット整数（符号あり）の下位７ビット目とすればよい。
【００４７】
これにしたがい、まず、ステップＡ３により生成された３２ビット整数（符号あり）のビット列に対し２ビット分の右算術シフト処理をする（ステップＡ１２）。そして、右算術シフト処理されたビット列に対して、６ビット分の左算術シフト処理をする（ステップＡ１３）。
【００４８】
ステップＡ５，Ａ８，Ａ１１またはＡ１３により３２ビット整数（符号あり）のビット列が復元されると、表示パラメータコード再変換部２ａにより、復元された３２ビット整数（符号あり）の値を表示パラメータの数値として反映する。
【００４９】
このような構成とすれば、表示処理クライアント１は、例えば１６ビットを超えるような符号あり整数の各ビットの値に応じて、シフト処理および論理和演算を実行して指数部付き１６ビット整数（符号あり）を生成し、これを表示処理サーバ２に送信する。そして、表示処理サーバ２では、受信した指数部付き整数（符号あり）を構成するビット列に対するシフト処理を実行して元のビット数のビット列で構成される整数に復元し、これをグラフィック表示の座標値として用いるので、表示処理クライアント１と表示処理サーバ２間のデータ伝送量を増加させること無く、表示座標の範囲を拡大することができるようになる。
【００５０】
図５は、ｅ（指数部）の値と、ｅを指数部付き１６ビット整数（符号あり）の指数部に用いた場合に表現できる座標値Ｘとの関係を示す図である。  
図５に示すように、ｅの値を１０進数に変換した値、つまり１６ビット整数（符号あり）の指数部のビット列が“００”であった場合には、３２ビット整数（符号あり）により示される座標値がそのまま表示処理サーバ２に認識されるので、復元した３２ビット整数（符号あり）を１０進数に変換した座標値Ｘは、−８１９２〜８１９１の間となる。
【００５１】
また、指数部のビット列が“０１”であった場合には、復元後の３２ビット整数（符号あり）の下位２ビットの値が必ず“０”となるので、座標値Ｘは、−３２７６８〜３２７６４の間となる。
【００５２】
また、指数部のビット列が“１０”であった場合には、復元後の３２ビット整数（符号あり）の下位４ビットの値が必ず“０”となるので、座標値Ｘは、−１３１０７２〜１３１０５６の間となる。
【００５３】
また、指数部のビット列が“１１”であった場合には、復元後の３２ビット整数（符号あり）の下位６ビットの値が必ず“０”となるので、座標値Ｘは、−５２４２８８〜５２４２２４の間となる。
【００５４】
図６は、表示処理クライアント１により３２ビット整数（符号あり）を指数部付き１６ビット整数（符号あり）に変換した後で、これを表示処理サーバ２により３２ビット整数（符号あり）に再変換して表現した表示座標領域の第１象限を示す図である。
【００５５】
図６では、指数部付き１６ビット整数（符号あり）の指数部の１０進数（ｅ）を１とした場合の表示座標領域１１、同じく、指数部の１０進数ｅを“０”とした場合の表示座標領域１２、および表示器３の表示領域１３を示す。また、表示要求にしたがって描画した図形１４が示される。
【００５６】
例えば指数部の１０進数ｅを“１”とした場合には、３２ビット整数（符号あり）と、指数部付き１６ビット整数（符号あり）との変換および再変換の過程で、３２ビット整数（符号あり）の下位２ビットの値が“０”となるので、変換前の座標値に対して、再変換後の座標値は、最大で３（変換前）−０（再変換後）＝３ドット分の変位が生ずることになる。
【００５７】
しかし、表示領域１３の座標値と離れた座標値の精度が低下したとしても、表示領域１３に対して表示座標領域が十分に大きい場合には、描画されるグラフィック表示に与える影響は、Ｘ軸方向、Ｙ軸方向ともに小さくなる。このため、表示領域１３内の表示誤差は小さく、オペレータに与える非常に影響は殆ど無い。
【００５８】
次に、表示パラメータにおける数値データが３２ビット整数（符号なし）で表現されている場合に、これを指数部付き１６ビット整数（符号なし）に変換する処理を説明する。  
図７は、指数部付き１６ビット整数（符号なし）の各ビット列の構成を示す図である。  
指数部付き１６ビット整数（符号なし）は、その下位２ビットが指数部であり、残りのビットつまり上位１４ビットは符号なし整数部である。ＭＳＢは、符号なし整数部の最上位ビットであり、ＬＳＢは、符号なし整数部の最下位ビットである。
【００５９】
座標表示に用いる１０進数と、指数部付き１６ビット整数（符号なし）により表現する１０進数との関係は、式１と同様の式により示される。ただし、ｍは符号なし整数部の値を１０進数に変換した値である。
【００６０】
以下に、表示パラメータにおける数値データが３２ビット整数（符号なし）で表現されている場合の表示要求のコード変換処理について説明する。  
図８は、表示パラメータにおける数値データが３２ビット整数（符号なし）で表現されている場合における、図１に示した表示パラメータコード変換部１ａによる、表示要求のコード変換処理を示すフローチャートである。  
まず、表示装置クライアント１により表示要求が生成されると、表示パラメータコード変換部１ａによりこれを認識し（ステップＢ１）、表示要求に含まれる表示パラメータのうち、表示座標値などの３２ビット整数（符号なし）を抽出する（ステップＢ２）。
【００６１】
そして、３２ビット整数（符号なし）が１４ビット以下の符号なし整数で表現できるか否かを判別する（ステップＢ３）。ここでは、３２ビット整数（符号なし）を１０進数に変換した値が０〜１６３８３の間にあるか否かを判別する。
【００６２】
ステップＢ３により「ＹＥＳ」と判別された場合には、３２ビット整数（符号なし）の最下位ビットから下位１４ビット目までの１４ビット分のビット列を指数部付き１６ビット整数（符号なし）の符号なし整数部に変換するために、３２ビット整数（符号なし）に対するシフト量を“右論理シフト量なし”と算出する。この算出結果に基づいて、３２ビット整数（符号なし）を構成するビット列に対し右論理シフト処理は行なわない（ステップＢ４）。
【００６３】
そして、ステップＢ４による右論理シフト処理のシフト量（シフト量なし）に基づいて、指数部付き１６ビット整数（符号なし）の指数部のビット列を“００”と設定するために、ステップＢ２で抽出したビット列に対して２ビット分の左論理シフト処理を行なう（ステップＢ５）。
【００６４】
そして、左論理シフト処理後の３２ビット整数（符号なし）を構成するビット列のうち下位１６ビット分のビット列を指数部付き１６ビット整数（符号なし）として抽出する。ここでは、左論理シフト処理後の３２ビット整数（符号なし）を１６ビット整数（符号なし）に代入することにより行なう（ステップＢ６）。
【００６５】
一方、ステップＢ３により「ＮＯ」と判別された場合には、３２ビット整数（符号なし）が１６ビット以下の符号なし整数で表現できるか否かを判別する（ステップＢ７）。ここでは、３２ビット整数（符号なし）を１０進数に変換した値が０〜６５５３５の間にあるか否かを判別する。
【００６６】
ステップＢ７により「ＹＥＳ」と判別された場合には、３２ビット整数（符号なし）の下位３ビット目から下位１６ビット目までの１４ビット分のビット列を指数部付き１６ビット整数（符号なし）の符号なし整数部に変換するために、３２ビット整数（符号なし）に対するシフト量を“右論理シフト２ビット分”と算出する。この算出結果に基づいて、３２ビット整数（符号なし）を構成するビット列に対して２ビット分の右論理シフト処理を行なう。（ステップＢ７−１）。
【００６７】
そして、右論理シフト処理のシフト量（２ビット）に基づいて、指数部のビット列を“０１”と設定するために、右論理シフト処理後の３２ビット整数（符号なし）を構成するビット列に対して２ビット分の左論理シフト処理を行った後、これを構成するビット列のうち下位２ビット分のビット列を論理和演算により“０１”に変換する（ステップＢ８）。そして、ステップＢ６と同様の処理により、論理和演算後のビット列のうち下位１６ビット分のビット列を、指数部付き１６ビット整数（符号なし）として構成する（ステップＢ９）。
【００６８】
一方、ステップＢ７により「ＮＯ」と判別された場合には、３２ビット整数（符号なし）が１８ビット以下の符号なし整数で表現できるか否かを判別する（ステップＢ１０）。ここでは、３２ビット整数（符号なし）を１０進数に変換した値が０〜２６２１４３の間にあるか否かを判別する。
【００６９】
ステップＢ１０により「ＹＥＳ」と判別された場合には、３２ビット整数（符号なし）の下位５ビット目から下位１８ビット目までの１４ビット分のビット列を指数部付き１６ビット整数（符号なし）の符号なし整数部に変換するために、３２ビット整数（符号なし）に対するシフト量を“右論理シフト４ビット分”と算出する。この算出結果に基づいて、３２ビット整数（符号なし）を構成するビット列に対して４ビット分の右論理シフト処理をする（ステップＢ１１）。
【００７０】
そして、右論理シフト処理のシフト量（４ビット）に基づいて、指数部のビット列を“１０”と設定するために、右論理シフト処理後の３２ビット整数（符号なし）を構成するビット列に対して２ビット分の左論理シフト処理を行った後、これを構成するビット列のうち下位２ビット分のビット列を論理和演算により“１０”に変換する（ステップＢ１２）。そして、ステップＢ６と同様の処理により、論理和演算後のビット列のうち下位１６ビット分のビット列を指数部付き１６ビット整数（符号なし）として抽出する（ステップＢ１３）。
【００７１】
一方、ステップＢ１０により「ＮＯ」と判別された場合には、３２ビット整数（符号なし）を２０ビット以下の符号なし整数で表現できるか否かを判別する（ステップＢ１４）。ここでは、３２ビット整数（符号なし）を１０進数に変換した値が０〜１０４８５７５の間にあるか否かを判別する。
【００７２】
ステップＢ１４により「ＹＥＳ」と判別された場合には、３２ビット整数（符号なし）の下位７ビット目から下位２０ビット目までの１４ビット分のビット列を指数部付き１６ビット整数（符号なし）の符号なし整数部に変換するために、３２ビット整数（符号なし）に対するシフト量を“右論理シフト６ビット分”と算出する。この算出結果に基づいて、３２ビット整数（符号なし）を構成するビット列に対し６ビット分の右論理シフト処理をする（ステップＢ１５）。
【００７３】
そして、右論理シフト処理のシフト量（６ビット）に基づいて、指数部のビット列を“１１”と設定するために、右論理シフト処理後の３２ビット整数の（符号なし）を構成するビット列に対して２ビット分の左論理シフト処理を行った後、これを構成するビット列のうち下位２ビット分のビット列を論理和演算により“１１”に変換する（ステップＢ１６）。そして、ステップＢ６と同様の処理により、論理和演算後のビット列のうち下位１６ビット分のビット列を指数部付き１６ビット整数（符号なし）として抽出する（ステップＢ１７）。
【００７４】
一方、ステップＢ１４により「ＮＯ」と判別された場合には、エラーメッセージを表示処理クライアント１側の表示器（図示せず）に表示し、ステップＢ１の処理に戻る（ステップＢ１８→Ｂ１）。
【００７５】
ステップＢ６、Ｂ９、Ｂ１３またはＢ１７により指数部付き１６ビット整数（符号なし）のビット列が抽出された場合には、これを含んだ表示パラメータと表示コマンドを組み合わせたコード変換済み表示要求を、通信回線４を介して表示処理サーバ２に送信する（ステップＢ１９）。
【００７６】
表示処理サーバ２は、表示装置クライアント１により送信されたコード変換済み表示要求を受信すると、表示要求内の表示パラメータに含まれる指数部付き１６ビット整数（符号なし）を、表示パラメータコード再変換部２ａにより元の３２ビット整数（符号なし）に再変換し、この３２ビット整数が含まれた表示要求にしたがってグラフィックの描画を行ない、これを表示器３に表示させる。
【００７７】
次に、表示処理サーバ２により受信したコード変換済み表示要求に含まれる表示パラメータの１６ビット整数（符号なし）を、表示パラメータコード再変換部２ａにより元の３２ビット整数（符号なし）に再変換するまでの処理（表示要求のコード再変換処理）について説明する。
【００７８】
図９は、表示パラメータにおける数値データが３２ビット整数（符号なし）で表現されている場合における、図１に示した表示パラメータコード再変換部２ａによる、表示要求のコード再変換処理を示すフローチャートである。  
まず、表示パラメータコード再変換部２ａにより、コード変換済み表示要求を認識する（ステップＣ１）と、表示要求内の表示パラメータに含まれる指数部付き１６ビット整数（符号なし）を抽出する（ステップＣ２）。
【００７９】
そして、指数部付き１６ビット整数の下位２ビットで構成される指数部のビット列の各ビットの値を検出し、さらに、指数部付き１６ビット整数（符号なし）を３２ビット整数（符号なし）に変換する（ステップＣ３）。ここでは、指数部付き１６ビット整数（符号なし）を３２ビット整数（符号なし）の下位１６ビット分に代入することにより行なう。
【００８０】
ステップＣ３による検出の結果、指数部のビット列が“００”であった場合（ステップＣ４のＹＥＳ）には、表示処理クライアント１により認識された３２ビット整数（符号なし）の最下位ビットから１４ビット目までの１４ビット分のビット列がそのまま指数部付き１６ビット整数（符号なし）の符号なし整数部として抽出されている。よって指数部付き１６ビット整数（符号なし）の符号なし整数部の最下位ビットを３２ビット整数（符号なし）の最下位ビットとすればよい。
【００８１】
これにしたがって、ステップＣ３により生成された３２ビット整数（符号なし）のビット列に対し２ビット分の右論理シフト処理をする（ステップＣ５）。
【００８２】
また、ステップＣ３による検出の結果、指数部のビット列が“０１”であった場合（ステップＣ６のＹＥＳ）には、表示処理クライアント１により認識された３２ビット整数（符号なし）のビット列のうち下位３ビット目から１６ビット目までの１４ビット分のビット列が指数部付き１６ビット整数（符号なし）の符号なし整数部として抽出されている。よって指数部付き１６ビット整数（符号なし）の符号なし整数部の最下位ビットを３２ビット整数（符号なし）の下位３ビット目とすればよい。
【００８３】
これにしたがい、まず、ステップＣ３により生成された３２ビット整数（符号なし）のビット列に対し２ビット分の右論理シフト処理をする（ステップＣ７）。そして、右論理シフト処理されたビット列に対して、２ビット分の左論理シフト処理をする（ステップＣ８）。
【００８４】
また、ステップＣ３による検出の結果、指数部のビット列が“１０”であった場合（ステップＣ９のＹＥＳ）には、表示処理クライアント１により認識された３２ビット整数（符号なし）のビット列のうち下位５ビット目から１８ビット目までの１４ビット分のビット列が指数部付き１６ビット整数（符号なし）の符号なし整数部として抽出されている。よって指数部付き１６ビット整数（符号なし）の符号なし整数部の最下位ビットを３２ビット整数（符号なし）の下位５ビット目とすればよい。
【００８５】
これにしたがい、まず、ステップＣ３により生成された３２ビット整数（符号なし）のビット列に対し２ビット分の右論理シフト処理をする（ステップＣ１０）。そして、右論理シフト処理されたビット列に対して、４ビット分の左論理シフト処理をする（ステップＣ１１）。
【００８６】
また、ステップＣ３による検出の結果、指数部のビット列が“１１”であった場合（ステップＣ９のＮＯ）には、表示処理クライアント１により認識された３２ビット整数（符号なし）のビット列のうち下位７ビット目から２０ビット目までの１４ビット分のビット列が指数部付き１６ビット整数（符号なし）の符号なし整数部として抽出されている。よって指数部付き１６ビット整数（符号なし）の符号なし整数部の最下位ビットを３２ビット整数（符号なし）の下位７ビット目とすればよい。
【００８７】
これにしたがい、まず、ステップＣ３により生成された３２ビット整数（符号なし）のビット列に対し２ビット分の右論理シフト処理をする（ステップＣ１２）。そして、右論理シフト処理されたビット列に対して、６ビット分の左論理シフト処理をする（ステップＣ１３）。
【００８８】
ステップＣ５，Ｃ８，Ｃ１１またはＣ１３により、３２ビット整数（符号なし）のビット列が復元されると、表示パラメータコード再変換部２ａにより、復元された３２ビット整数（符号なし）の値を表示パラメータの数値として反映する。
【００８９】
このような構成とすれば、表示処理クライアント１は、例えば１６ビットを超えるような符号なし整数の各ビットの値に応じて、シフト処理および論理和演算を実行して指数部付き１６ビット整数（符号なし）を生成し、これを表示処理サーバ２に送信する。そして、表示処理サーバ２では、受信した指数部付き１６ビット整数（符号なし）に対するシフト処理を実行して元のビット数のビット列で構成される整数に復元し、これをグラフィック表示における長さや半径などの数値として用いるので、表示処理クライアント１と表示処理サーバ２間のデータ伝送量を増加させること無く、使用可能な数値の範囲を拡大することができるようになる。
【００９０】
図１０は、ｅの値と、ｅを指数部付き１６ビット整数（符号なし）の指数部に用いた場合に表現できる座標値Ｘとの関係を示す図である。  
図１０に示すように、ｅの値を１０進数に変換した値、つまり符号なし１６ビット整数の指数部のビット列が“００”であった場合には、復元した３２ビット整数（符号なし）を１０進数に変換した数値Ｘは、０〜１６３８３の間となる。
【００９１】
また、指数部のビット列が“０１”であった場合には、論理シフトにより、３２ビット整数（符号なし）の下位２ビットの値が必ず“０”となるので、復元した座標値Ｘは、０〜６５５３２の間となる。
【００９２】
また、指数部のビット列が“１０”であった場合には、論理シフトにより、３２ビット整数（符号なし）の下位４ビットの値が必ず“０”となるので、復元した３２ビット整数（符号なし）を１０進数に変換した座標値Ｘは、０〜２６２１２８の間となる。
【００９３】
また、指数部のビット列が“１１”であった場合には、論理シフトにより、３２ビット整数（符号なし）の下位６ビットの値が必ず“０”となるので、復元した座標値Ｘは、０〜１０４８５１２の間となる。
【００９４】
本実施の形態では、表示要求のコード変換処理は、元データの３２ビット整数の値に基づいて、この３２ビット整数を構成するビット列に対し右シフト処理および左シフト処理を行ない、このシフト処理後のビット列の下位２ビットを論理和演算により“００”、“０１”、“１０”または“１１”とする手順としたが、これに限らず、表示処理サーバ２に送信する際に、指数部付き１６ビット整数を構成するビット列の下位２ビットの値が、３２ビット整数の値に基づいた“００”、“０１”、“１０”または“１１”となるならば、例えば、シフト処理に先立って、元データである３２ビット整数の下位２ビットの値を論理演算により“００”、“０１”、“１０”または“１１”に変換し、この論理演算後のビット列に対して、元データの３２ビット整数を構成するビット列の値に基づいたシフト量のシフト処理を行なう手順としてもよい。
【００９５】
また、本実施の形態では、表示要求のコード再変換処理は、表示処理サーバ２が認識した指数部付き１６ビット整数に対して、右シフト処理および左シフト処理を行なって元データに復元する手順としたが、これに限らず、元データの復元がなされるならば、例えば、シフト処理に先立って、指数部付き１６ビット整数の下位２ビットを論理演算により“００”に変換し、この論理演算後のビット列に対し、表示処理サーバ２による認識時の指数部付き１６ビット整数の指数部の値に基づいたシフト量のシフト処理を行なう手順としてもよい。
【００９６】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００９７】
【図１】本発明の実施形態にしたがった画像データ通信システムの構成例を示すブロック図。
【図２】指数部付き１６ビット整数（符号あり）の各ビット列の構成を示す図。
【図３】図１に示した表示パラメータコード変換部１ａによる、表示要求のコード変換処理（その１）を示すフローチャート。
【図４】図１に示した表示パラメータコード再変換部２ａによる、表示要求のコード再変換処理（その１）を示すフローチャート。
【図５】指数部ｅの値と、ｅを指数部付き１６ビット整数（符号あり）の指数部に用いた場合に表現できる座標値Ｘとの関係を示す図。
【図６】図１に示した表示処理サーバ２により表現した表示座標領域の一例を示す図。
【図７】指数部付き１６ビット整数（符号なし）の各ビット列の構成を示す図。
【図８】図１に示した表示パラメータコード変換部１ａによる、表示要求のコード変換処理（その２）を示すフローチャート。
【図９】図１に示した表示パラメータコード再変換部２ａによる、表示要求のコード再変換処理（その２）を示すフローチャート。
【図１０】指数部ｅの値と、ｅを指数部付き１６ビット整数（符号なし）の指数部に用いた場合に表現できる座標値Ｘとの関係を示す図。
【図１１】従来の画像データ表示処理システムの構成を示す図。
【図１２】図１０に示した画像データ表示処理システムによる表示要求の例を示す図。
【図１３】１６ビット整数を使用した表示座標系の例を示す図。
【符号の説明】
【００９８】
１…表示処理クライアント、１ａ…表示パラメータコード変換部、２…表示処理サーバ、２ａ…表示パラメータコード再変換部、３…表示器、４…通信回線、１１，１２…表示座標領域、１３…表示領域、１４…描画図形。
【図１】
2005084983.tif 000003
【図２】
2005084983.tif 000004
【図３】
2005084983.tif 000005
【図４】
2005084983.tif 000006
【図５】
2005084983.tif 000007
【図６】
2005084983.tif 000008
【図７】
2005084983.tif 000009
【図８】
2005084983.tif 000010
【図９】
2005084983.tif 000011
【図１０】
2005084983.tif 000012
【図１１】
2005084983.tif 000013
【図１２】
2005084983.tif 000014
【図１３】
2005084983.tif 000015