(57)【要約】【課題】データ量が多い表データを２次元コードにコード化する際に、生成される２次元コードの数を低減することが可能な電子機器を提供する。【解決手段】電子機器１は、少なくとも、表データと、表データに基づいて生成されたコードと、を表示可能なディスプレイ１０と、表データに含まれる所定の桁数の数値データの桁数をそれぞれ削減して各数値データを圧縮する圧縮手段１１と、圧縮された各数値データをコード化してディスプレイ１０上に表示させるコード化手段１１と、を備える。【選択図】図２
2016095600.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも、表データと、前記表データに基づいて生成されたコードと、を表示可能なディスプレイと、
前記表データに含まれる所定の桁数の数値データの桁数をそれぞれ削減して各数値データを圧縮する圧縮手段と、
前記圧縮された各数値データをコード化して前記ディスプレイ上に表示させるコード化手段と、
を備えることを特徴とする電子機器。
【請求項２】
前記圧縮手段は、前記表データの前記数値データとして、小数以外のデータが含まれる場合には、当該小数以外のデータを小数の数値データに換算して、全ての前記数値データを小数の数値データとした後で、前記各数値データを圧縮することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記コード化手段は、前記表データがスプレッドシートの表データである場合には、前記数値データが入力されているセルの情報と、入力されている前記各数値データから圧縮された各数値データと、をコード化することを特徴とする請求項１または請求項２に記載の電子機器。
【請求項４】
前記コード化手段は、前記表データが、入力された関数式に代入する複数の値と、各値を当該関数式に代入した場合に算出される各値と、を表示したものである場合には、少なくとも前記関数式をコード化することを特徴とする請求項１から請求項３のいずれか一項に記載の電子機器。
【請求項５】
前記コードは、２次元コードであることを特徴とする請求項１から請求項４のいずれか一項に記載の電子機器。
【請求項６】
前記数値データは、桁数が定められた仮数部データと指数部データからなり、前記圧縮手段は、前記仮数部データの桁数を削除することを特徴とする請求項１から請求項５のいずれか一項に記載の電子機器。
【請求項７】
少なくとも、表データと、前記表データに基づいて生成されたコードと、を表示可能なディスプレイを備えたコンピュータを、
前記表データに含まれる所定の桁数の数値データの桁数をそれぞれ削減して各数値データを圧縮する圧縮手段、
前記圧縮された各数値データをコード化して前記ディスプレイ上に表示させるコード化手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器およびプログラムに係り、特に２次元コード等を表示可能な電子機器およびプログラムに関する。
【背景技術】
【０００２】
近年、ＱＲコード（登録商標）等の２次元コードをディスプレイ上に表示する電子機器が種々開発されている。そして、例えば、特許文献１には、文書編集装置で編集したテキストデータを２次元コードにコード化して表示し、それを例えば撮像機能付き携帯電話等に取り込み、取り込んだデータを例えば所定のウェブサイトにアップロードしたり、インターネットメールを介してパーソナルコンピュータに転送する等してテキストデータを他の電子デバイスに簡単に転送する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−７６５４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、関数電卓のような電子機器では、多様な計算が可能であり、また、統計計算やスプレッドシートを用いた表計算等に用いる表データ（テーブルデータ等ともいう。）を扱うことができる電子機器も少なくない。
【０００５】
しかし、表データのデータ量が大きくなると、そのような表データを例えば２次元コードにコード化した際に、生成される２次元コードが多数の２次元コードに分割されて表示される場合がある。そして、そのような場合、それらの２次元コードを１つ１つ撮像機能付きのスマートフォンや携帯電話、タブレット端末等で撮影する操作がユーザにとって大きな負担になり、電子機器の使い勝手が悪いと感じられてしまう虞れがある。
【０００６】
本発明は、上記の問題点を鑑みてなされたものであり、データ量が多い表データを２次元コードにコード化する際に、生成される２次元コードの数を低減することが可能な電子機器およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明の電子機器は、
少なくとも、表データと、前記表データに基づいて生成されたコードと、を表示可能なディスプレイと、
前記表データに含まれる所定の桁数の数値データの桁数をそれぞれ削減して各数値データを圧縮する圧縮手段と、
前記圧縮された各数値データをコード化して前記ディスプレイ上に表示させるコード化手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、データ量が多い表データを２次元コードにコード化する際に、生成される２次元コードの数を低減することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】電子機器の一例としての関数電卓の概観を示す平面図である。
【図２】関数電卓の内部構成を示すブロック図である。
【図３】関数電卓で表データを用いた演算処理を行う際の処理を説明するフローチャートである。
【図４】（Ａ）統計計算処理、（Ｂ）スプレッドシートを用いた表計算処理、（Ｃ）数表モードでの演算処理の各場合にディスプレイ上に表示される表データの例を表す図である。
【図５】関数電卓で表データを２次元コードにコード化して表示する際の処理を説明するフローチャートである。
【図６】ディスプレイ上に表示される２次元コードの例を表す図である。
【図７】（Ａ）２０ｂｙｔｅで表された数値データの構造の例、（Ｂ）数値データから削除される部分の例、および（Ｃ）圧縮データの構造の例を表す図である。
【図８】数表モードでの演算処理の場合にスマートフォン等の画面上に表示される関数式のグラフ等の例を表す図である。
【発明を実施するための形態】
【００１０】
以下、本発明に係る電子機器の実施の形態について、図面を参照して説明する。なお、以下では、電子機器が関数電卓である場合について説明するが、本発明は、電子機器が関数電卓である場合に限定されず、ディスプレイ上に２次元コード等のコード表示を行うことが可能な電子機器であればどのような電子機器にも適用される。また、発明の範囲は、図示例に限定されない。
【００１１】
図１は、本実施形態に係る電子機器の例としての関数電卓の平面図である。図１に示すように、関数電卓１は、各種キー群を有する入力キー群２と、ディスプレイ１０とを備えている。
【００１２】
入力キー群２は、ユーザから数値や計算記号等の数式構成要素の入力操作を受けたり、各種処理の指示操作を受けたりするためのキー群であり、それぞれ固有の機能を割り当てられた複数のキーを備えている。本実施形態においては、入力キー群２は、テンキー２０やカーソルキー２１、MENUキー２２、ACキー２３、CODEキー２４等を備えている。
【００１３】
このうち、テンキー２０は数値の入力操作を受けるキーである。また、カーソルキー２１は、ディスプレイ１０内で編集対象位置や選択対象位置を示すカーソルを所定の方向に移動させる場合等に押下されるキーであり、本実施形態では、上下左右の４方向について入力可能に構成されている。
【００１４】
MENUキー２２は、ユーザが種々の機能を設定したり選択したりする際に押下されるキーであり、ACキー２３は、それまで行った演算等を全てクリアするために押下するキーである。また、本実施形態では、ディスプレイ１０上に２次元コードが表示されている状態でACキー２３が押下されると、２次元コードのコード表示が解除され、ディスプレイ１０上の表示が、表データの入力表示等の、２次元コードをコード表示する直前の状態に戻るようになっている。また、CODEキー２４は、ディスプレイ１０に表示されたデータを２次元コードにコード化して表示させる際に押下されるキーである。
【００１５】
また、ディスプレイ１０は、反射型の単純マトリクス型の液晶ディスプレイ（Liquid Crystal Display）等により構成されており、入力キー群２などの操作に応じた文字や符号、記号、式、演算結果等の各種データや、前述したＱＲコード等の２次元コードを、複数のドットにより表示するようになっている。なお、ディスプレイ１０に、タッチパネルを、例えば表示画面全面に亘って一体的に設けることも可能である。また、以下では、コード表示として２次元コードを表示する場合について説明するが、バーコード等の１次元コードを表示する場合も同様に説明される。
【００１６】
［内部構成］
次に、関数電卓１の内部構造について説明する。図２は、関数電卓１の内部構成を示すブロック図である。図２に示すように、関数電卓１は、ＣＰＵ（Central Processing Unit）１１と、表示駆動部１２と、キー入力部１３と、通信部１４と、記録媒体読取部１５と、記憶部１６とを備えて構成されている。
【００１７】
表示駆動部１２は、ＣＰＵ１１からの制御に従って、前述したディスプレイ１０上に各種情報を表示するように駆動制御する。また、表示駆動部１２は、ユーザのキー操作によりディスプレイ１０上に表示を行う際のコントラスト比を調整するようになっている。
【００１８】
反射型の単純マトリクス型液晶ディスプレイの場合、印加する電圧値を変化させることで点灯（黒）部の反射率と非点灯（白）部の反射率が変化し、反射率の割合（白部の反射率／黒部の反射率）、すなわちコントラスト比が変化する。そのため、本実施形態では、ディスプレイ１０として、反射型単純マトリクス型の液晶ディスプレイが用いられており、表示駆動部１２は、液晶に印加する電圧値を変化させてコントラスト比を変化させるようになっている。
【００１９】
キー入力部１３は、前述した入力キー群２（前述したようにタッチパネルを設ける場合には入力キー群２とタッチパネル）を備えており、ユーザ操作により入力されたキーに対応するキー入力信号をＣＰＵ１１に出力する。そして、ＣＰＵ１１は、ユーザ操作により入力されたキーに対応するキー入力信号を受け付けて対応する表データや数式をディスプレイ１０上に表示させたり、演算を実行したり、或いは種々の処理を行う。
【００２０】
通信部１４は、関数電卓１を例えば図示しないネットワークに接続した場合等に、これを介してネットワーク等に接続される外部機器（例えばサーバやコンピュータ等）との間で通信を行う。
【００２１】
記録媒体読取部１５は、着脱自在に装着されるＵＳＢメモリ等の外部情報記録媒体１５Ａから情報を読み取るようになっている。なお、後述する本発明に係るプログラムを外部情報記録媒体１５Ａから記録媒体読取部１５経由で読み込むように構成することも可能であり、また、本発明に係るプログラムを関数電卓１から外部情報記録媒体１５Ａに読み出すことができるように構成することも可能である。
【００２２】
記憶部１６は、プログラムやデータ（表データや数式等を含む。）等を記憶するとともに、後述するＣＰＵ１１の作業領域として機能するメモリである。
【００２３】
本実施形態では、記憶部１６は、各種の記憶領域を備えており、少なくとも、関数電卓１の各種機能を実現するためのプログラム、特に表データを２次元コードにコード化するための本発明に係るプログラムを記憶する記憶領域１６０と、ユーザにより入力された表データを記憶する記憶領域１６１と、後述する圧縮データを記憶する記憶領域１６２と、生成されてディスプレイ１０上に表示された２次元コードを記憶する記憶領域１６３とを備えている。
【００２４】
ＣＰＵ１１は、関数電卓１の各部を中央制御する。具体的には、ＣＰＵ１１は、記憶部１６の各記憶領域に記憶されているシステムプログラムや各種アプリケーションプログラムの中から指定されたプログラムを読み出して記憶部１６の作業領域に展開し、記憶部１６に展開されたプログラムとの協働で、各種処理を実行する。また、ＣＰＵ１１は、表示駆動部１２を制御して、ディスプレイ１０上に必要な表示を行わせるようになっている。
【００２５】
［動作］
次に、本実施形態に係る電子機器である関数電卓１における動作について、各図面に示すフローチャートに基づいて説明する。また、本実施形態に係る電子機器である関数電卓１の作用についてもあわせて説明する。なお、以下で説明する関数電卓１の動作は、前述した本発明に係るプログラムに従って行われるため、以下の説明は、本発明に係るプログラムについての説明にもなっている。
【００２６】
［表データを用いた各種の処理について］
まず、本実施形態に係る関数電卓１で表データを用いた演算処理を行う際の処理について、図３に示すフローチャートに基づいて説明する。なお、以下では、表データを用いた演算処理として、統計計算処理と、スプレッドシートを用いた表計算処理と、数表モードでの演算処理とを行う場合について説明するが、本発明は、この場合に限定されず、表データを用いた他の演算処理を行う場合にも適用することが可能である。
【００２７】
図示を省略するが、関数電卓１のＣＰＵ１１は、MENUキー２２が押下されると、表示駆動部１２に対して、ディスプレイ１０上に、実行可能な演算処理の一覧を表示したメニュー画面を表示させる（ステップＳ１）。そして、ユーザにより上方向または下方向のカーソルキー２１が操作されて、メニュー画面上の一覧から実行する演算処理の項目をメニュー選択させる（ステップＳ２）。
【００２８】
［統計計算処理］
そして、ユーザによりメニュー画面の中から「統計計算」の項目が選択されると（ステップＳ３；ＹＥＳ）、ＣＰＵ１１は、表示駆動部１２に対して、ディスプレイ１０上に、数値データを入力するための入力テーブルを表示させる（ステップＳ４）。そして、ユーザにより、例えば図４（Ａ）に示すように、入力テーブルの各欄に数値データが入力される（ステップＳ５）。なお、本実施形態においては、統計計算は２変数統計計算が行われるものとし、ｘ、ｙの入力テーブルに対して数値が入力されるものとする。
【００２９】
そして、ユーザが数値データの入力を終了し、回帰式の算出やｘ、ｙの平均の算出等を指示すると、関数電卓１のＣＰＵ１１は、指示された演算処理を実行し、演算結果をディスプレイ１０上に表示させる（ステップＳ６）。
【００３０】
［スプレッドシートを用いた表計算処理］
また、関数電卓１のＣＰＵ１１は、ユーザによりメニュー画面の中から「スプレッドシート」の項目が選択されると（ステップＳ７；ＹＥＳ）、表示駆動部１２に対して、ディスプレイ１０上にスプレッドシートを表示させる（ステップＳ８）。そして、ユーザがスプレッドシートの各セルに定義式を設定し（ステップＳ９）、数値を入力すると（ステップＳ１０）、ＣＰＵ１１は、データを各セルの定義式に代入して演算処理を実行し、演算結果を各セルに表示させる（ステップＳ１１）。
【００３１】
例えば、図４（Ｂ）に示すように、ユーザがＡ１のセルに入力される値に対して、Ｂ１のセルにsin、Ｂ２のセルにcos、Ｂ３のセルにtanをそれぞれ演算するよう定義して、Ａ１のセルに数値「６０」を入力すると、ＣＰＵ１１は、sin60°、cos60°、tan60°を演算して、各演算結果を、ディスプレイ１０上に表示されているスプレッドシートのＢ１、Ｂ２、Ｂ３の各セルにそれぞれに表示させる。
【００３２】
［数表モードでの演算処理］
また、関数電卓１のＣＰＵ１１は、ユーザによりメニュー画面の中から「数表モード」の項目が選択されると（ステップＳ１２；ＹＥＳ）、表示駆動部１２に対して、ディスプレイ１０上で、ユーザに関数式と数値範囲とステップの入力を促す表示を行わせる。そして、ユーザの操作により関数式が入力され（ステップＳ１３）、数値範囲とステップが入力されると（ステップＳ１４）、ＣＰＵ１１は、入力された関数式に数値範囲とステップとで定義された各数値を代入して演算処理を実行し、各数値と演算結果の数表を生成して、ディスプレイ１０上に表示させる（ステップＳ１５）。
【００３３】
例えば、図４（Ｃ）に示すように、ユーザが関数式としてf(x)=sin(x)、g(x)=cos(x)を入力し、ｘの数値範囲として１から５、ステップとして０．２を入力すると、ＣＰＵ１１は、sin1°、sin1.2°、sin1.4°、sin1.6°・・・およびcos1°、cos1.2°、cos1.4°、cos1.6°・・・を演算して、各数値と演算結果の数表を生成して、ディスプレイ１０上に表示させる。
【００３４】
［表データを２次元コードにコード化して表示する処理について］
次に、本実施形態に係る関数電卓１で表データを２次元コードにコード化して表示する際の処理について、図５に示すフローチャートに基づいて説明する。なお、以下でも、表データを用いた演算処理として、統計計算処理と、スプレッドシートを用いた表計算処理と、数表モードでの演算処理とを行う場合について説明するが、本発明は、この場合に限定されず、表データを用いた他の演算処理を行う場合にも適用することが可能である。
【００３５】
関数電卓１のＣＰＵ１１は、ユーザがCODEキー２４（図１参照）を押下してディスプレイ１０上に表示されている表データや数式をコード化する指示があると（ステップＳ２１；ＹＥＳ）、ディスプレイ１０上に上記のような表データを表示中でない場合には（ステップＳ２２；ＮＯ）、その時点でディスプレイ１０上に表示されている表示内容に応じたコード化を行って（ステップＳ２３）、ディスプレイ１０上に２次元コードを表示する（ステップＳ３０）。
【００３６】
例えば、その時点でディスプレイ１０上に数式や文字等が表示されている場合には、数式や文字等をコード化して、ＣＰＵ１１は、図６に示すように、その数式や文字等に対応する２次元コードをディスプレイ１０上に表示する。
【００３７】
［統計計算処理の場合］
また、ユーザによるコード化の指示があり（ステップＳ２１；ＹＥＳ）、ディスプレイ１０上に表データを表示中である場合（ステップＳ２２；ＴＥＳ）、ＣＰＵ１１は、その表データが上記の［統計計算処理］によるものである場合には（ステップＳ２４；ＹＥＳ）、以下のように処理を行うようになっている。
【００３８】
すなわち、ＣＰＵ１１は、表データ（この場合は統計計算の表データ（図４（Ａ）参照））の各欄に入力された数値データとして、小数以外のデータ、例えばルート（√２等）等の記号で表わされたデータや、分数で表されたデータ、或いは数式等で表されたデータが含まれる場合には、その小数以外のデータを小数の数値データに換算して、全ての数値データを小数（整数を含む。）の数値データに小数化する（ステップＳ２５）。
【００３９】
このように、小数以外のデータを小数の数値データに換算して、全ての数値データを小数の数値データにすることで、ルート等の記号や分数或いは数式等で表されたデータと、小数で表されたデータを、全て同等に扱うことが可能となり、ＣＰＵ１１による以下の処理を容易に行うことが可能となる。
【００４０】
また、上記のように小数化する際、本実施形態では、ＣＰＵ１１は、小数以外のデータを小数に換算した数値データも、もともと小数として入力されていた数値データも、いずれも、所定の桁数の仮数と１０のべき乗の積の形で表すようになっている。
【００４１】
具体的には、関数電卓１は、演算対象の数値データを、図７（Ａ）に示すように、１５桁の仮数部と３桁の指数部に分けて各桁の数値データをＢＣＤ（Binary Coded Decimal）形式で記憶する。従って、ＣＰＵ１１は、図７（Ａ）に示すように、数値データを、仮数部であることを表すフラグＦ１の後に所定の桁数（この場合は１５桁）の仮数と、それに乗算する１０のべき乗の指数であることを表すフラグＦ２の後に所定の桁数（この場合は３桁）の指数を列記することで表すようになっている。例えば√２は、小数化すると、
√２＝１．４１４２１３５６２３７３０９…×１００
に換算されるため、この場合、ＣＰＵ１１は、小数化した√２を、
F1,1,4,1,4,2,1,3,5,6,2,3,7,3,0,9,F2,0,0,0    …（１）
と表す。
【００４２】
続いて、ＣＰＵ１１は、表データ（この場合は統計計算の表データ）をコード化する際には、上記のようにフラグと所定の桁数の仮数部と指数で表される各数値データのうち、図７（Ｂ）に網掛けして示すように、仮数部の７桁目以降の各桁の仮数データを削除して、仮数部の桁数（上記の場合は１５桁）を６桁に減らす。また、それと同時に各フラグ桁のフラグＦ１、Ｆ２も削除する（ステップＳ２６）。
【００４３】
そして、ＣＰＵ１１は、このようにしてフラグや仮数部の７桁目以降の仮数を削除した後に残ったデータを、図７（Ｃ）に示すように順番に詰めて並べる等して圧縮し（ステップＳ２７）、元の数値データに基づいて圧縮された各数値データを新たに生成する。すなわち、本実施形態では、ＣＰＵ１１が本発明の圧縮手段として機能するようになっている。
【００４４】
なお、上記のようにして圧縮して新たに生成された数値データを、元の数値データと区別するために、以下、圧縮データという。また、上記の例では、２０桁（２０ｂｙｔｅ）（図７（Ａ）参照。すなわちフラグ１桁、仮数部１５桁、フラグ１桁、指数３桁）であった元の数値データが、９桁（９ｂｙｔｅ）（図７（Ｃ）参照。すなわち仮数部６桁、指数３桁）の圧縮データに圧縮されることになる。√２の場合、上記（１）に示した形の元の数値データから、
1,4,1,4,2,1,0,0,0    …（２）
の形の圧縮データに圧縮される。
【００４５】
また、本実施形態では、各数値データが上記のようにして圧縮されて圧縮データとされた状態の表データを２次元コードにコード化してディスプレイ１０上に表示し、それをユーザが撮像機能付きのスマートフォンや携帯電話、タブレット端末等で撮影すると、圧縮データ等からなる表データ等の情報がサービスセンター等に転送され、例えばそれらから算出された回帰式のグラフ等を表示するための情報等がサービスセンター等から上記のスマートフォン等に転送されて、その情報等に基づいてスマートフォン等の画面上に回帰式のグラフ等が表示されるようなケースが想定されている。
【００４６】
そして、上記の例では、仮数部の７桁目以降の仮数を削除して仮数部の桁数を６桁に減らす場合について説明した。６桁としたのは、グラフ等を表示するスマートフォン等の表示画面の解像度が１０００×２０００程度であり、表現能力に対して無駄にならない大きさであることや関数電卓の内部回路の設計上の都合から設定したものである。しかし、これに限定されない。仮数部をどの桁数まで減らすか（圧縮するか）は、例えば、上記のようにしてスマートフォン等の画面上に表示された圧縮データに基づく回帰式のグラフ等と、圧縮されていない元の数値データに基づいて算出した場合の回帰式のグラフ等とのずれを、どの程度まで許容するか等によって決めることもできる。
【００４７】
一方、ＣＰＵ１１は、続いて、上記のようにして圧縮して生成した各圧縮データからなる表データをコード化して２次元コードを生成し、生成した２次元コードをディスプレイ１０上に表示させるようになっている。すなわち、本実施形態では、ＣＰＵ１１がコード化手段としても機能するようになっている。
【００４８】
具体的には、本実施形態では、ＣＰＵ１１は、上記のようにして圧縮した各圧縮データを、表データの行単位で文字列化する（ステップＳ２８）。すなわち、統計計算の表データが例えば図４（Ａ）に示したような表データである場合、ＣＰＵ１１は、行ごとに、Ｘ１の欄の圧縮データ（すなわち「１１」に対応する圧縮データ）の次に、Ｙ１の欄の圧縮データ（すなわち「３４」に対応する圧縮データ）を並べる。そして、その次に２行目のＸ２、Ｙ２の各欄の圧縮データ（すなわち「２２」と「４３」に対応する各圧縮データ）を並べる。このようにして、ＣＰＵ１１は、表データの行単位で各圧縮データを順番に並べる。
【００４９】
そして、圧縮データ（元の数値データも同様。）はＢＣＤ（Binary Coded Decimal）形式のデータであるから、ＣＰＵ１１は、上記のようにして順番に並べた各圧縮データをＡＳＣｉｉ（American standard code for information interchange）形式の文字列に変換する（ステップＳ２８）。そして、このようにしてＡＳＣＩＩ形式に変換した文字列をコード化して２次元コードを生成し（ステップＳ２９）、生成した２次元コードをディスプレイ１０上に表示させるようになっている（ステップＳ３０）。
【００５０】
なお、本実施形態では、ＣＰＵ１１は、元の数値データからなる表データや、圧縮後の圧縮データ、コード化した２次元コードを、前述した記憶部１６の記憶領域１６１、１６２、１６３（図２参照）にそれぞれ記憶させて保存するようになっている。
【００５１】
［効果］
上記のように、本実施形態では、表データをコード化して２次元コードをディスプレイ１０上に表示させる際に、表データに属する各数値データの仮数部の桁数を削減して圧縮データを生成し（圧縮手段としてのＣＰＵ１１の機能）、圧縮されて生成された各圧縮データをコード化して２次元コードを生成し、生成した２次元コードをディスプレイ１０上に表示させる（コード化手段としてのＣＰＵ１１の機能）ように構成した。
【００５２】
データ量が多い表データを２次元コードにコード化する際に、元の数値データのまま表データをコード化すると２次元コードが多数生成されてしまう。しかし、上記のように構成することで、表データに属する各数値データを、それらのデータ量が低減された圧縮データにそれぞれ圧縮した後の表データをコード化することになるため、生成される２次元コードの数を適切に低減することが可能となる。
【００５３】
そして、このように表データをコード化して生成される２次元コードの数が低減されることで、ディスプレイ１０上に表示された２次元コードを撮像機能付きのスマートフォン等で撮影するユーザの負担を的確に軽減することが可能となり、電子機器（関数電卓１）を使い勝手が良いものとすることが可能となる。
【００５４】
［スプレッドシートを用いた表計算処理の場合］
また、ユーザによるコード化の指示があり（図５のステップＳ２１；ＹＥＳ）、ディスプレイ１０上に表データを表示中である場合（ステップＳ２２；ＴＥＳ）、関数電卓１のＣＰＵ１１は、その表データが上記の［スプレッドシートを用いた表計算処理］によるものである場合には（ステップＳ３１；ＹＥＳ）、以下のように処理を行うようになっている。
【００５５】
この場合、ＣＰＵ１１は、上記の［統計計算処理］の場合と同様に、例えばスプレッドシート（図４（Ｂ）参照）の空欄のセルについては数値データを０として、各セルの数値データを圧縮してコード化するように構成することも可能である。しかし、［スプレッドシートを用いた表計算処理］の場合、図４（Ｂ）に示したように、スプレッドシートには、数値データが入力されていない空欄のセルが存在する場合が少なくない。
【００５６】
そこで、ＣＰＵ１１は、上記のように表データがスプレッドシートを用いた表計算処理による表データである場合には（ステップＳ３１；ＹＥＳ）、まず、数値データが入力されているセルの位置の情報をデータ化する（ステップＳ３２）。
【００５７】
すなわち、スプレッドシートに、例えば図４（Ｂ）に示したように数値データが入力されている場合、ＣＰＵ１１は、Ａの列を縦方向にＡ１、Ａ２、…の順に調べていき、数値データが入力されているセルに１、数値データが入力されていないセルに０を割り当てて、Ａの列について1,0,0,0,0・・のように数値データが入力されているセルの位置の情報を８ビット単位で区切ってデータ化する。続いて、Ｂの列についても縦方向にＢ１、Ｂ２、…の順に調べていき、Ｂの列について1,1,1,0,0・・のように数値データが入力されているセルの位置の情報をデータ化する。
【００５８】
そして、ＣＰＵ１１は、各数値データについて、上記の［統計計算処理］の場合と同様に小数化を行い（ステップＳ３３。図７（Ａ）参照）、フラグと仮数部の７桁目以降を削除して（ステップＳ３４。図７（Ｂ）参照）、各数値データを圧縮して（ステップＳ３５。図７（Ｃ）参照）、それぞれ圧縮データを生成する。以上が、［スプレッドシートを用いた表計算処理］の場合の圧縮手段としてのＣＰＵ１１の処理である。
【００５９】
一方、コード化手段としてのＣＰＵ１１は、［スプレッドシートを用いた表計算処理］の場合には、上記のステップＳ３２でデータ化した、数値データが入力されているセルの位置の情報の後に、この情報の順番に対応するセルの位置の圧縮データを並べていくことで、セルの位置の情報と各圧縮データを文字列化する（ステップＳ３６）。
【００６０】
そして、上記と同様に、セルの位置の情報や各圧縮データをＡＳＣｉｉ形式の文字列に変換し、ＡＳＣＩＩ形式に変換した文字列をコード化して２次元コードを生成し（ステップＳ２９）、生成した２次元コードをディスプレイ１０上に表示させる（ステップＳ３０）。なお、この場合も、ＣＰＵ１１は、元の数値データからなるスプレッドシート（表データ）や、圧縮データ、コード化した２次元コードを、記憶部１６の記憶領域１６１、１６２、１６３にそれぞれ記憶させて保存する。
【００６１】
［効果］
以上のように、本実施形態では、［スプレッドシートを用いた表計算処理］の場合も、前述した［統計計算処理］の場合と全く同様に、生成される２次元コードの数を適切に低減することが可能となる。
【００６２】
また、この［スプレッドシートを用いた表計算処理］の場合、数値データが入力されていない空欄のセルについては、圧縮データを生成しない。そのため、上記のように数値データが入力されていない空欄のセルにわざわざ０の数値データを割り当てて各セルの数値データを圧縮する場合に比べて、数値データが入力されていない空欄のセルについて圧縮データを生成しない分だけデータ量を減らすことが可能となり、その分だけ、生成される２次元コードの数をより低減することが可能となるといったメリットがある。
【００６３】
［数表モードでの演算処理の場合］
一方、上記の［数表モードでの演算処理］の場合には、上記のように、ユーザにより関数式f(x)やg(x)が入力され（図３のステップＳ１３）、数値範囲やステップが入力されると（ステップＳ１４）、入力された関数式に数値範囲とステップとで定義された各数値が代入されて演算処理が実行され、各数値と演算結果の数表が生成されてディスプレイ１０上に表示される（ステップＳ１５。図４（Ｃ）参照）。
【００６４】
そして、上記の数表モードの演算処理の場合には、前述したように、関数電卓１のディスプレイ１０上に表示された２次元コードをユーザが撮像機能付きのスマートフォン等で撮影してサービスセンター等に転送し、関数式f(x)等のグラフを表示するための情報等がサービスセンター等から上記のスマートフォン等に転送され、その情報等に基づいてスマートフォン等の画面上に関数式f(x)等のグラフ等が表示されるような使い方が考えられる。
【００６５】
例えば、前述した図４（Ｃ）に示した数表モードでの演算処理の場合、ユーザが入力した関数式はf(x)=sin(x)、g(x)=cos(x)であるから、スマートフォン等の画面上に、図８に示すようにsin(x)とcos(x)のグラフを表示するとともに、sin(x)やcos(x)のグラフ上の1°、1.2°、1.4°、1.6°の部分をそれぞれドットで示したようなグラフを表示するような使い方が考えられる。
【００６６】
このように、上記の数表モードでの演算処理のように、表データが、入力された関数式に代入する複数の値と、各値を当該関数式に代入した場合に算出される各値と、を表示したものである場合に、スマートフォン等の画面上にそれらの関数式を表示するような使い方をする場合には、前述した［統計計算処理の場合］等のように、表データの各欄（各セル）の各数値データの圧縮データをサービスセンター等に転送する必要はなく、入力された関数式そのものや、関数式に代入する複数の値（或いはユーザにより入力された数値範囲やステップ（図３のステップＳ１４参照））をサービスセンター等に転送すればよい。
【００６７】
そして、サービスセンター等では、関数式の情報や、関数式に代入する複数の値の情報さえあれば、スマートフォン等の画面上に例えば図８に示したような関数式のグラフ等を表示させるための必要な情報を生成することができる。
【００６８】
そこで、本実施形態では、図５のフローチャートに示すように、ユーザによるコード化の指示があり（ステップＳ２１；ＹＥＳ）、ディスプレイ１０上に表データを表示中である場合（ステップＳ２２；ＴＥＳ）、ＣＰＵ１１は、その表データが上記の［数表モードでの演算処理］によるものである場合には（ステップＳ３７；ＹＥＳ）、表データの各数値データの圧縮等は行わず、ユーザにより入力された関数式をＡＳＣｉｉ形式の文字列に変換する（ステップＳ３８）。
【００６９】
また、スマートフォン等の画面上に、関数式のグラフのほかにどのような表示を行うかにもよるが、ＣＰＵ１１は、上記のように関数式を文字列化する際に、ユーザにより入力された、関数式に代入する複数の値や、数値範囲やステップ等の必要な情報もあわせて文字列化する。そして、ＣＰＵ１１は、生成した文字列をコード化して２次元コードを生成し（ステップＳ２９）、生成した２次元コードをディスプレイ１０上に表示させるように構成される（ステップＳ３０）。
【００７０】
［効果］
以上のように、例えば［数表モードでの演算処理］のように、表データが、入力された関数式に代入する複数の値と、各値を当該関数式に代入した場合に算出される各値と、を表示したものである場合には、少なくとも当該関数式をコード化して２次元コードを生成するように構成することで、関数式に複数の値が代入されて算出された各数値データを圧縮してコード化して転送するよりも、関数式自体を文字列化してコード化する方が、生成される２次元コードの数をより的確に少なくすることが可能となり、通常、生成される２次元コードを１個にすることが可能となる。
【００７１】
そのため、ディスプレイ１０上に表示された２次元コードを撮像機能付きのスマートフォン等で撮影するユーザの負担を的確に軽減することが可能となり、電子機器（関数電卓１）を使い勝手が良いものとすることが可能となる。
【００７２】
なお、上記の［数表モードでの演算処理］の場合にも、各数値データを圧縮して圧縮データを生成し、それらを上記の関数式等とともに文字列化してコード化するように構成することも可能であり、表データの使い方に応じて、どのような情報を２次元コードにコード化するかは適宜決められる。
【００７３】
以上、本発明の実施形態を説明したが、本発明の範囲は、上述の実施形態等に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
＜請求項１＞
少なくとも、表データと、前記表データに基づいて生成されたコードと、を表示可能なディスプレイと、
前記表データに含まれる所定の桁数の数値データの桁数をそれぞれ削減して各数値データを圧縮する圧縮手段と、
前記圧縮された各数値データをコード化して前記ディスプレイ上に表示させるコード化手段と、
を備えることを特徴とする電子機器。
＜請求項２＞
前記圧縮手段は、前記表データの前記数値データとして、小数以外のデータが含まれる場合には、当該小数以外のデータを小数の数値データに換算して、全ての前記数値データを小数の数値データとした後で、前記各数値データを圧縮することを特徴とする請求項１に記載の電子機器。
＜請求項３＞
前記コード化手段は、前記表データがスプレッドシートの表データである場合には、前記数値データが入力されているセルの情報と、入力されている前記各数値データから圧縮された各数値データと、をコード化することを特徴とする請求項１または請求項２に記載の電子機器。
＜請求項４＞
前記コード化手段は、前記表データが、入力された関数式に代入する複数の値と、各値を当該関数式に代入した場合に算出される各値と、を表示したものである場合には、少なくとも前記関数式をコード化することを特徴とする請求項１から請求項３のいずれか一項に記載の電子機器。
＜請求項５＞
前記コードは、２次元コードであることを特徴とする請求項１から請求項４のいずれか一項に記載の電子機器。
＜請求項６＞
前記数値データは、桁数が定められた仮数部データと指数部データからなり、前記圧縮手段は、前記仮数部データの桁数を削除することを特徴とする請求項１から請求項５のいずれか一項に記載の電子機器。
＜請求項７＞
少なくとも、表データと、前記表データに基づいて生成されたコードと、を表示可能なディスプレイを備えたコンピュータを、
前記表データに含まれる所定の桁数の数値データの桁数をそれぞれ削減して各数値データを圧縮する圧縮手段、
前記圧縮された各数値データをコード化して前記ディスプレイ上に表示させるコード化手段、
として機能させるためのプログラム。
【符号の説明】
【００７４】
１    関数電卓（電子機器）
１０  ディスプレイ
１１  ＣＰＵ（圧縮手段、コード化手段）
F(x)、g(x)  関数式
【図１】
2016095600.tif 000003
【図２】
2016095600.tif 000004
【図３】
2016095600.tif 000005
【図４】
2016095600.tif 000006
【図５】
2016095600.tif 000007
【図６】
2016095600.tif 000008
【図７】
2016095600.tif 000009
【図８】
2016095600.tif 000010