(57)【要約】【課題】ＣＰＵの能力がさほど高くない場合でも、コードリーダで読み取ることのできる２次元コードの表示処理を迅速に行うことが可能な電子機器を提供する。【解決手段】電子機器１は、少なくとも、データと、前記データに基づいて生成された２次元コードと、が表示可能なディスプレイ１０と、ユーザによる２次元コード表示の指令があった場合に、第１のマスクパターンを用いてマスク処理された２次元コードを生成してディスプレイ１０上に表示させる２次元コード表示手段１１と、２次元コードがディスプレイ１０上に表示されている際に、ユーザにより所定の操作が行われると、第２のマスクパターンを用いたマスク処理により２次元コードを生成し直してディスプレイ１０上に再表示させる２次元コード変更表示手段１１とを備えている。【選択図】図２
2016095603.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも、データと、前記データに基づいて生成された２次元コードと、が表示可能なディスプレイと、
ユーザによる２次元コード表示の指令があった場合に、第１のマスクパターンを用いてマスク処理された２次元コードを生成して前記ディスプレイ上に表示させる２次元コード表示手段と、
前記２次元コードが前記ディスプレイ上に表示されている際に、ユーザにより所定の操作が行われると、第２のマスクパターンを用いたマスク処理により２次元コードを生成し直して前記ディスプレイ上に再表示させる２次元コード変更表示手段とを
備えたことを特徴とする電子機器。
【請求項２】
前記第１のマスクパターンと前記第２のマスクパターンとを記憶する記憶手段を備えることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記２次元コード表示手段は、前記データに基づいて生成される２次元コードが複数ある場合には、ユーザの操作に応じて１つずつ切り替えて２次元コードを表示させ、切り替え前に表示された２次元コードが前記２次元コード変更表示手段により再表示されたとしても、次の２次元コードは前記第１のマスクパターンでマスク処理することを特徴とする請求項１または請求項２に記載の電子機器。
【請求項４】
前記２次元コード変更表示手段により２次元コードが再表示された回数をカウントし、この回数が予め設定された回数に達したことに応じて、前記第１のマスクパターンと前記第２のマスクパターンとを交換する交換手段を備えたことを特徴とする請求項１から請求項３のいずれか一項に記載の電子機器。
【請求項５】
前記第１と第２のマスクパターンとは異なる２個のマスクパターンからなるマスクパターンの組を複数記憶している別マスクパターン記憶手段と、
前記２次元コード変更表示手段により２次元コードが再表示された回数をカウントし、この回数が予め設定された回数に達したことに応じて、前記第１のマスクパターンと前記第２のマスクパターンを前記別マスクパターン記憶手段に記憶されている他の組のマスクパターンに変更するマスクパターン変更手段とを備えたことを特徴とする請求項１から請求項３のいずれか一項に記載の電子機器。
【請求項６】
前記２次元コード表示手段により前記ディスプレイ上に表示された２次元コードが読み取り装置により読み取れなかった際にユーザにより操作される操作子を備え、
前記２次元コード変更表示手段は、前記所定の操作として、前記操作子が操作されることにより、第２のマスクパターンを用いたマスク処理により２次元コードを生成し直すことを特徴とする請求項１から請求項５のいずれか一項に記載の電子機器。
【請求項７】
少なくとも、データと、前記データに基づいて生成された２次元コードと、が表示可能なディスプレイを備えた電子機器のコンピュータを、
ユーザによる２次元コード表示の指令があった場合に、第１のマスクパターンを用いてマスク処理された２次元コードを生成して前記ディスプレイ上に表示させる２次元コード表示手段、
前記２次元コードが前記ディスプレイ上に表示されている際に、ユーザにより所定の操作が行われると、第２のマスクパターンを用いたマスク処理により２次元コードを生成し直して前記ディスプレイ上に再表示させる２次元コード変更表示手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器およびプログラムに係り、特に２次元コードを表示可能な電子機器およびプログラムに関する。
【背景技術】
【０００２】
近年、ＱＲコード（登録商標）等の２次元コードをディスプレイ上に表示する電子機器が種々開発されている。そして、例えば、特許文献１には、文書編集装置で編集したテキストデータを２次元コードにコード化して表示し、それを例えば撮像機能付きのスマートフォンや携帯電話、タブレット端末等に取り込み、取り込んだデータを例えば所定のウェブサイトにアップロードしたり、インターネットメールを介してパーソナルコンピュータに転送する等してテキストデータを他の電子デバイスに簡単に転送する技術が開示されている。
【０００３】
ところで、関数電卓のような電子機器では、ディスプレイ上に表示されている数式や表データ等を２次元コードにコード化して表示させるように構成することができる。そして、２次元コードを生成して表示する場合、２次元コードの符号化領域（すなわち位置検出パターンやタイミングパターン等の機能パターンを除く範囲）に、明暗の一方のモジュールが極端に多かったり、 位置検出パターン等に類似した模様がある等すると、２次元コードを撮像機能付きのスマートフォン等で撮影しても適切に取り込めない等の支障をきたす場合がある。
【０００４】
そこで、ＱＲコードでは８種類のマスクパターンが用意されており その中で明モジュールと暗のモジュール数を均一化するのに最適なものを選んでマスク処理（Masking）を行い、２次元コードを生成することで、上記のような事態が生じることを防止するようになっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−７６５４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、関数電卓のようにＣＰＵ（Central Processing Unit）の能力がさほど高くない電子機器で、１つの２次元コードを８種類のマスクパターンでマスク処理して比較する演算処理を行うように構成すると、マスク処理に時間がかかってしまい、ユーザが２次元コードを撮像機能付きのスマートフォン等のコードリーダーで撮影する際に待たされる時間が長くなり、電子機器がユーザにとって使い勝手が悪いものとなる。
【０００７】
また、統計計算処理やスプレッドシートを用いた表計算処理等で用いられるような表データを２次元コードにコード化すると、表データの大きさにもよるが、複数の２次元コードが生成される場合があるが、それらの２次元コードに対してそれぞれ８種類のマスクパターンでマスク処理を行う場合、ＣＰＵの能力がさほど高くない場合には、マスク処理に非常に長い時間がかかってしまうため、上記の問題がさらに深刻な問題となり得る。
【０００８】
本発明は、上記の問題点を鑑みてなされたものであり、ＣＰＵの能力がさほど高くない場合でも、コードリーダーが読み取ることができる２次元コードの表示を迅速に行うことが可能な電子機器およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
以上の課題を解決するため、本発明の電子機器は、
少なくとも、データと、前記データに基づいて生成された２次元コードと、が表示可能なディスプレイと、
ユーザによる２次元コード表示の指令があった場合に、第１のマスクパターンを用いてマスク処理された２次元コードを生成して前記ディスプレイ上に表示させる２次元コード表示手段と、
前記２次元コードが前記ディスプレイ上に表示されている際に、ユーザにより所定の操作が行われると、第２のマスクパターンを用いたマスク処理により２次元コードを生成し直して前記ディスプレイ上に再表示させる２次元コード変更表示手段とを
備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、電子機器のＣＰＵの能力がさほど高くない場合でも、コードリーダーが読み取ることができる２次元コードの表示を迅速に行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】電子機器の一例としての関数電卓の概観を示す平面図である。
【図２】関数電卓の内部構成を示すブロック図である。
【図３】関数電卓における基本動作の各処理を説明するフローチャートである。
【図４】（Ａ）ディスプレイ上に表示された数式の例、および（Ｂ）数式がコード化されて表示された２次元コードの例を表す図である。
【図５】関数電卓での２次元コードの表示処理における各処理を説明するフローチャートである。
【図６】２次元コードの表示処理における各操作とディスプレイ上に表示される表示の例等を表す表示画面の遷移図である。
【図７】変形例１における各処理を説明するフローチャートである。
【図８】変形例２における各処理を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明に係る電子機器の実施の形態について、図面を参照して説明する。なお、以下では、電子機器が関数電卓である場合について説明するが、本発明は、電子機器が関数電卓である場合に限定されず、ディスプレイ上に２次元コードを表示することが可能な電子機器であればどのような電子機器にも適用される。また、発明の範囲は、図示例に限定されない。
【００１３】
図１は、本実施形態に係る電子機器の例としての関数電卓の平面図である。図１に示すように、関数電卓１は、各種キー群を有する入力キー群２と、ディスプレイ１０とを備えている。
【００１４】
入力キー群２は、ユーザから数値や計算記号等の数式構成要素の入力操作を受けたり、各種処理の指示操作を受けたりするためのキー群であり、それぞれ固有の機能を割り当てられた複数のキーを備えている。本実施形態においては、入力キー群２は、テンキー２０やカーソルキー２１、ACキー２２、CODEキー２３、SHIFTキー２４等を備えている。
【００１５】
このうち、テンキー２０は数値の入力操作を受けるキーである。また、カーソルキー２１は、ディスプレイ１０内で編集対象位置や選択対象位置を示すカーソルを所定の方向に移動させる場合等に押下されるキーであり、本実施形態では、上下左右の４方向について入力可能に構成されている。
【００１６】
ACキー２２は、それまで行った演算等を全てクリアするために押下するキーである。また、本実施形態では、ディスプレイ１０上に２次元コードが表示されている状態でACキー２２が押下されると、２次元コードのコード表示が解除され、ディスプレイ１０上の表示が、数式や表データ等が表示された、２次元コードをコード表示する直前の状態に戻るようになっている。
【００１７】
また、CODEキー２３は、ディスプレイ１０に表示されたデータを２次元コードにコード化して表示させる際に押下されるキーである。なお、本実施形態では、ACキー２２の場合と同様に、ディスプレイ１０上に２次元コードが表示されている状態でCODEキー２３が押下された場合も、２次元コードのコード表示が解除され、ディスプレイ１０上の表示が、数式や表データ等が表示された、２次元コードをコード表示する直前の状態に戻るようになっている。
【００１８】
また、本実施形態では、SHIFTキー２４を押下してカーソルキー２１の「→」または「←」を押下すると、２次元コードのマスク処理に用いるマスクパターンを切り替えるようになっているが、この点については後で説明する。
【００１９】
また、ディスプレイ１０は、反射型の単純マトリクス型の液晶ディスプレイ（Liquid Crystal Display）等により構成されており、入力キー群２などの操作に応じた文字や符号、記号、数式、演算結果等の各種データや、前述したＱＲコード等の２次元コードを、複数のドットにより表示するようになっている。なお、ディスプレイ１０に、タッチパネルを、例えば表示画面全面に亘って一体的に設けることも可能である。
【００２０】
［内部構成］
次に、関数電卓１の内部構造について説明する。図２は、関数電卓１の内部構成を示すブロック図である。図２に示すように、関数電卓１は、ＣＰＵ１１と、表示駆動部１２と、キー入力部１３と、通信部１４と、記録媒体読取部１５と、記憶部１６とを備えて構成されている。また、図示を省略するが、関数電卓１は、このほかに、例えばディスプレイ１０上に表示する数式や表データ等を一時的に保存するＲＡＭ（Random Access Memory）等が適宜備えている。
【００２１】
表示駆動部１２は、ＣＰＵ１１からの制御に従って、前述したディスプレイ１０上に各種情報を表示するように駆動制御する。また、表示駆動部１２は、後述するようにユーザのキー操作によりディスプレイ１０上に表示を行う際のコントラスト比を調整するようになっている。
【００２２】
反射型の単純マトリクス型液晶ディスプレイの場合、印加する電圧値を変化させることで点灯（黒）部の反射率と非点灯（白）部の反射率が変化し、反射率の割合（白部の反射率／黒部の反射率）、すなわちコントラスト比が変化する。そのため、本実施形態では、ディスプレイ１０として、反射型単純マトリクス型の液晶ディスプレイが用いられており、表示駆動部１２は、液晶に印加する電圧値を変化させてコントラスト比を変化させるようになっている。
【００２３】
キー入力部１３は、前述した入力キー群２（前述したようにタッチパネルを設ける場合には入力キー群２とタッチパネル）を備えており、ユーザ操作により入力されたキーに対応するキー入力信号をＣＰＵ１１に出力する。そして、ＣＰＵ１１は、ユーザ操作により入力されたキーに対応するキー入力信号を受け付けて対応する数式や表データ等をディスプレイ１０上に表示させたり、演算を実行したり、或いは種々の処理を行う。
【００２４】
通信部１４は、関数電卓１を例えば図示しないネットワークに接続した場合等に、これを介してネットワーク等に接続される外部機器（例えばサーバやコンピュータ等）との間で通信を行う。
【００２５】
記録媒体読取部１５は、着脱自在に装着されるＵＳＢメモリ等の外部情報記録媒体１５Ａから情報を読み取るようになっている。なお、後述する本発明に係るプログラムを外部情報記録媒体１５Ａから記録媒体読取部１５経由で読み込むように構成することも可能であり、また、本発明に係るプログラムを関数電卓１から外部情報記録媒体１５Ａに読み出すことができるように構成することも可能である。
【００２６】
記憶部１６は、プログラム等を記憶するメモリである。本実施形態では、記憶部１６は、各種の記憶領域を備えており、少なくとも、関数電卓１の各種機能を実現するためのプログラム、特に表データを適切な２次元コードにコード化するための本発明に係るプログラムを記憶する記憶領域１６０と、後述する第１のマスクパターンおよび第２のマスクパターンをそれぞれ記憶する記憶領域１６１、１６２とを備えている。すなわち、本実施形態では、記憶部１６が、第１のマスクパターンおよび第２のマスクパターンが記憶された記憶手段として機能するようになっている。この第１、第２のマスクパターンは、例えば、規格化されている８種類のマスクパターンのうち２つが予め選定されて記憶されているものとする。
【００２７】
ＣＰＵ１１は、関数電卓１の各部を中央制御する。具体的には、ＣＰＵ１１は、記憶部１６の各記憶領域に記憶されているシステムプログラムや各種アプリケーションプログラムの中から指定されたプログラムを読み出して記憶部１６の作業領域に展開し、記憶部１６に展開されたプログラムとの協働で、各種処理を実行する。また、ＣＰＵ１１は、表示駆動部１２を制御して、ディスプレイ１０上に必要な表示を行わせるようになっている。
【００２８】
［動作］
次に、本実施形態に係る電子機器である関数電卓１における動作について、各図面に示すフローチャートに基づいて説明する。また、本実施形態に係る電子機器である関数電卓１の作用についてもあわせて説明する。なお、以下で説明する関数電卓１の動作は、前述した本発明に係るプログラムに従って行われるため、以下の説明は、本発明に係るプログラムについての説明にもなっている。
【００２９】
［基本動作］
まず、本実施形態に係る関数電卓１における基本動作について、図３に示すフローチャートに基づいて説明する。
【００３０】
関数電卓１のＣＰＵ１１は、装置の電源がオンされて（ステップＳ１）、関数電卓１の使用が開始されると、各機能部に所定の初期動作等を行わせて、計算機処理を開始する（ステップＳ２）。そして、ユーザによるコード表示指令すなわち２次元コードを生成して表示する指令がない場合（ステップＳ３；ＮＯ）、ＣＰＵ１１は、ユーザが数式や文字等の入力等の通常動作を行うと（ステップＳ４）、それに基づいてディスプレイ１０上に数式や文字等を表示したり演算結果を表示する等して、通常動作に基づく表示を行う（ステップＳ５）。
【００３１】
一方、ＣＰＵ１１は、ユーザがCODEキー２３を押下して２次元コード表示指令が行われると、ディスプレイ１０上に表示されている数式（図４（Ａ）参照）や表データ（後述する図６の左側の図参照）等のデータを２次元コードにコード化して、例えば図４（Ｂ）に示すようにディスプレイ１０上にコード化した２次元コードを表示する。すなわち、本実施形態では、ユーザは、ワンタッチ（CODEキー２３の押下）で、データをコード化してディスプレイ１０上に表示することができるようになっている。
【００３２】
具体的には、ＣＰＵ１１は、ユーザがCODEキー２３を押下してコード表示指令が行われると（ステップＳ３；ＹＥＳ）、ディスプレイ１０上に表示されているデータがコード化可能なデータであるか否かを判断する（ステップＳ６）。そして、コード化できないと判断すると（ステップＳ６；ＮＯ）、例えばディスプレイ１０上に「２次元コード化できません」等の表示を行ってエラー報知を行った上で（ステップＳ７）、通常動作（ステップＳ４）に戻る。
【００３３】
また、ＣＰＵ１１は、表示されているデータがコード化可能であると判断すると（ステップＳ６；ＹＥＳ）、ディスプレイ１０上に表示されているデータを２次元コード化する（ステップＳ８）。そして、マスク処理を含む２次元コード表示処理を行って、図４（Ｂ）に示したようにディスプレイ１０上に２次元コードを表示する（ステップＳ９）。この２次元コード表示処理については詳細を後述する。なお、図４（Ｂ）では、ディスプレイ１０上に２次元コードが１つだけ表示されているが、例えばデータ量が大きな表データを２次元コード化する場合等には、生成される２次元コードが複数になり、その場合には、ディスプレイ１０上には複数の２次元コードが順番に表示されるようになる。
【００３４】
ここで、ユーザが、ディスプレイ１０上に表示された２次元コードを撮像機能付きのスマートフォン等のリーダで読み取らせる等の動作を行うと、リーダ側では一連の動作（例えば読み取った数式に対応するグラフのスマートフォン等の画面上への表示等）が行われる。そして、ユーザがACキー２２（或いはCODEキー２３）を押下して２次元コード表示の解除を指示すると（ステップＳ１０；ＴＥＳ）、ＣＰＵ１１は、ディスプレイ１０上での２次元コードの表示を解除して、ディスプレイ１０上の表示を、数式や表データ等が表示された、２次元コードをコード表示する直前の状態に戻して、計算機処理（ステップＳ２）を再開するようになっている。
【００３５】
［２次元コード表示処理について］
次に、上記の２次元コード表示処理（図３のステップＳ９）について、図５に示すフローチャートや図６に示す表示画面の遷移図に基づいて説明する。
【００３６】
ここでは、図６の左側に示す表データが２次元コード化されて、９個の２次元コードが生成された場合を例にして説明する。なお以下では、マスク処理される前の２次元コードをオリジナル２次元コードと称することがある。
【００３７】
前述したように、図３のフローチャートのステップＳ８で、図６の左側に示した表データをコード化して、９個のオリジナルの２次元コードを生成すると、ＣＰＵ１１は、２次元コード表示処理（図３のステップＳ３）に移行する。そして、２次元コード表示処理では、ＣＰＵ１１は、まず、表示する対象の９個のオリジナル２次元コードのうち最初に表示する１個目の２次元コードのビットパターンのデータを取得する（図５のステップＳ１１）。
【００３８】
そして、ＣＰＵ１１は、記憶部１６の記憶領域１６１（図２参照）に記憶されている第１のマスクパターンを読み出し、１個目の２次元コードに対して第１のマスクパターンでマスク処理を行う（ステップＳ１２）。すなわち、１個目の２次元コードの符号化領域のビットパターンと第１のマスクパターンとをＸＯＲ（排他的論理和）して、第１のマスクパターンでマスク処理された新たな２次元コードを生成する。
【００３９】
そして、マスク処理後の２次元コードをディスプレイ１０上に表示する（ステップＳ１３。図６の中央の最上段の２次元コード参照）。
【００４０】
この時点で、ユーザは、ディスプレイ１０上に表示された２次元コードをスマートフォン等のリーダで読み取らせる。そして、図６では図示を省略したが、本実施形態では、ユーザは、カーソルキー２１（図１参照）の「→」を押下することで表示されている２次元コードのコントラスト比を高くし、カーソルキー２１の「←」を押下することでコントラスト比を低くすることができる。そのため、２次元コードをリーダで読み取ることができない場合には、ユーザは、カーソルキー２１の「→」や「←」を押下してコントラスト比を変更し、リーダによる再読み取りを行わせることができる。
【００４１】
ＣＰＵ１１は、上記のように、ユーザがカーソルキー２１の「→」や「←」を押下した場合には（ステップＳ１４；ＮＯ、ステップＳ１５；ＹＥＳ）、押下されたキーに応じて、表示駆動部１２（図２参照）がディスプレイ１０に与える電圧を変化させ、２次元コードの表示コントラスト比を高くしたり低くしたり変更する（ステップＳ１６）。そして、そのコントラスト比でディスプレイ１０上に２次元コードを表示させる（ステップＳ１３）。
【００４２】
一方、ユーザがSHIFTキー２４を押下してからカーソルキー２１の「→」または「←」を押下すると（ステップＳ１７；ＹＥＳ）、ＣＰＵ１１は、記憶部１６の記憶領域１６２に記憶されている第２のマスクパターンを読み出して、マスク処理に用いるマスクパターンを第１のマスクパターンから別のマスクパターンすなわち第２のマスクパターンに切り替える（図６の右側参照）。
【００４３】
そして、第２のマスクパターンを用いてオリジナルの２次元コードのマスク処理を行い（ステップＳ１８）、ディスプレイ１０上に、第２のマスクパターンでマスク処理をした２次元コードを表示させる（ステップＳ１３）。
【００４４】
すなわち、ＣＰＵ１１は、第１のマスクパターンを用いてマスク処理された２次元コードがディスプレイ１０上に表示されている際に、ユーザにより所定の操作（すなわち「SHIFT」と「→」の押下）が行われると、別のマスクパターン（第２のマスクパターン）に切り替えて元の２次元コードをマスク処理して、マスク処理された２次元コードを生成し直してディスプレイ１０上に再表示させるように構成されている。
【００４５】
なお、一旦マスクパターンを切り替えて表示した後に、再度ユーザがSHIFTキー２４とカーソルキー２１の「→」または「←」を押下した場合にも（ステップＳ１７；ＹＥＳ）、マスクパターンが切り替わるようになっている。
【００４６】
なお、マスクパターンは、規格化された８種類のマスクパターンの中から任意に２つのマスクパターンを抽出し、それらを用いて各種データに基づく２次元コードをマスク処理し、マスク処理後の２次元コードの符号化領域のビットパターンを見比べた場合に、ビットパターンの特徴が互いに大きく異なるような２つのマスクパターンが事前に選定され、電子機器の製造時に第１のマスクパターンと第２のマスクパターンとして記憶部１６の記憶領域１６１、１６２にそれぞれ予め記憶されるようになっている。
【００４７】
そのため、仮に、第１のマスクパターンを用いて生成された２次元コードが、例えばコントラスト比を変えてもスマートフォン等のリーダによって読み取ることができないような場合であっても、第２のマスクパターンを切り替えてパターンの異なる２次元コードを表示するので、コントラスト比の調整と組み合わせることで、スマートフォン等のリーダによって確実に読み取ることが期待できる。
【００４８】
上記のようにして、最初に生成された２次元コード（ステップＳ１２）、コントラスト比が変更された２次元コード（ステップＳ１６)、或いはマスクパターンが切り替えられてマスク処理された２次元コード（ステップＳ１８）をディスプレイ１０上に表示して（ステップＳ１３）、ユーザがそれをリーダで読み取り、続いて、ユーザによりカーソルキー２１の「↓」が押下されると（ステップＳ１４；ＹＥＳ）、未だ表示処理されていない次のオリジナル２次元コードがあるか判断する（ステップＳ１９)。
【００４９】
その際、図６に示したように、オリジナル２次元コードが複数生成され、２個目の２次元コード（図６中の「２／９」で表された２次元コード参照）が存在する場合（ステップＳ１９；ＹＥＳ）、次の２個目の２次元コードに処理対象が移る。一方、図４（Ｂ）に示したように、２次元コードが１個だけ生成され、次の２次元コードが存在しない場合には（ステップＳ１９；ＮＯ）、ＣＰＵ１１は、２次元コードの表示処理を終了する。
【００５０】
そして、次の２次元コードが存在する場合（ステップＳ１９；ＹＥＳ）、ＣＰＵ１１は、次の２次元コード（この場合は２個目の２次元コード）のビットパターン等のデータを取得して（ステップＳ２０）、第１のマスクパターンを用いたマスク処理（ステップＳ１２）を行うところから、上記の処理を繰り返す。
【００５１】
すなわち、本実施形態では、ＣＰＵ１１は、マスク処理を行う対象の２次元コードが複数存在する場合には、当該複数の２次元コードを１つずつ切り替えてマスク処理を行い、処理対象の２次元コードを切り替えるごとに、一のマスクパターン（第１のマスクパターン）と別のマスクパターン（第２のマスクパターン）のうち、一のマスクパターン（第１のマスクパターン）を用いるマスク処理から開始するように構成されている。このように構成すれば、前の２次元コードのマスク処理で最後に用いられたマスクパターンが第１のマスクパターンであったか第２のマスクパターンであったかを記憶する処理を行う必要がないため、プログラムの構築が容易になる等のメリットがある。
【００５２】
そして、本実施形態では、ＣＰＵ１１は、上記のようにして、「↓」キーが押下される毎にオリジナルの各２次元コードに対してマスク処理と表示処理を順次行うようになっている。
【００５３】
なお、２次元コードが複数生成されている場合、本実施形態では、上記のように、２次元コードのマスク処理を第１のマスクパターンから始める（ステップＳ１２参照）ように構成されているが、例えば、次の２次元コードに対する処理に移行した時点で（ステップＳ１９；ＹＥＳ）、前の２次元コードのマスク処理で最後に用いたマスクパターンでマスク処理を開始するように構成することも可能である。すなわち、前の２次元コードのマスク処理で最後に用いたマスクパターンが第２のマスクパターンであれば、次の２次元コードに対するマスク処理を、第２のマスクパターンを用いて行うように構成することも可能である。
【００５４】
また、前述したように、本実施形態では、ユーザによりACキー２２（或いはCODEキー２３）が押下されて２次元コード表示の解除が指示されると（図３のステップＳ１０；ＴＥＳ）、図６に示すように、ＣＰＵ１１は、ディスプレイ１０上での２次元コードの表示を解除して、ディスプレイ１０上の表示を、表データ等が表示された状態（すなわち２次元コードをコード表示する直前の状態）に戻すようになっている。
【００５５】
［効果］
このように、２次元コードに対するマスク処理を、１つのマスクパターン（第１のマスクパターン）を用いて行い、必要に応じて別のマスクパターン（第２のマスクパターン）に切り替えてマスク処理を行うため、１回のマスク処理に用いられるマスクパターンは常時１個のみとなり、ＣＰＵ１１の能力がさほど高くない場合でも、２次元コードのマスク処理を迅速に行うことが可能となる。
【００５６】
なお、上記の実施形態では、ユーザがカーソルキー２１の「↓」を押下して、マスク処理や表示を行う対象を次の２次元コードに移す（すなわち例えば「１／９」の２次元コードから「２／９」の２次元コードに移す）場合について説明したが、それとともに、ユーザがカーソルキー２１の「↑」を押下すると、マスク処理や表示を行う対象を前の２次元コードに移す（すなわち例えば「２／９」の２次元コードから「１／９」の２次元コードに移す）ように構成することも可能である。
【００５７】
また、以下、種々の変形例について説明する。
【００５８】
［変形例１］
上記の実施形態では、最初に２次元コードを表示する場合、及び、複数の２次元コードにおける次の２次元コードを表示する場合には、第１のマスクパターンを用いるようにしていた。しかし、２次元コードのマスク処理において最初に適用されるマスクパターンを、第１のマスクパターンに固定せず、第２のマスクパターンを最初に適用するように構成した方が、ユーザにとっても都合がよいと考えられる場合がある。
【００５９】
そこで、例えば、ＣＰＵ１１が、マスク処理に用いるマスクパターンを第１のマスクパターン（一のマスクパターン）と第２のマスクパターン（別のマスクパターン）との間で切り替えるためにユーザが行った所定の操作（SHIFTキー２４とカーソルキー２１の「→」の押下）の回数をカウントし、所定の操作の回数が予め設定された所定回数に達した時点で、ユーザによる２次元コード表示の指令があった場合に最初にマスク処理に用いるマスクパターンを、第１のマスクパターン（一のマスクパターン）と第２のマスクパターン（別のマスクパターン）との間で交換するように構成する。以下、図７のフローチャートを用いて具体的な構成例について説明する。
【００６０】
ＣＰＵ１１は、図７に示すように、２次元コードの表示処理において、図５に示したフローチャートにおけるステップＳ１〜Ｓ１８の処理と同様に各処理を行った後、ユーザによりカーソルキー２１の「↓」が押下された時点（ステップＳ１４；ＹＥＳ）、すなわち今回の２次元コードの表示処理が終了した時点で、対象を次の２次元コードに移す前に、今回のマスク処理で用いたマスクパターンが第２のマスクパターンであったか否かを判断する（ステップＳ２１）。
【００６１】
そして、マスクパターンが第２のマスクパターンであれば（ステップＳ２１；ＹＥＳ）、カウンターの値ｎを１だけインクリメントする（ステップＳ２２）。このカウンターの値ｎは、第２のマスクパターンでマスク処理された２次元コードがリーダにより読み取ることができた回数を表している。
【００６２】
そして、ＣＰＵ１１は、カウンターの値ｎ（すなわち所定の操作の回数）が予め設定された所定回数に達した場合には（ステップＳ２３；ＹＥＳ）、第１のマスクパターンを記憶する記憶部１６の記憶領域１６１に記憶されているマスクパターンと、第２のマスクパターンを記憶する記憶部１６の記憶領域１６２に記憶されているマスクパターンとを入れ替えて交換して（ステップＳ２４）、ユーザによる２次元コード表示の指令があった場合に最初にマスク処理に用いるマスクパターンを、第１のマスクパターンから第２のマスクパターンに切り替える。
【００６３】
また、上記のように、ユーザによる２次元コード表示の指令があった場合に最初にマスク処理に用いるマスクパターンを第１のマスクパターンから第２のマスクパターンに切り替えた後も上記のステップＳ２１〜Ｓ２４が継続されるため、その後、ユーザが所定の操作（SHIFTキー２４とカーソルキー２１の「→」の押下）を行った回数ｎが所定回数に達すれば（ステップＳ２３；ＹＥＳ）、今度は、ユーザによる２次元コード表示の指令があった場合に最初にマスク処理に用いるマスクパターンが第２のマスクパターンから第１のマスクパターンに切り替えられる。
【００６４】
このようにして、この変形例１では、マスク処理に用いるマスクパターンを第１のマスクパターン（一のマスクパターン）と第２のマスクパターン（別のマスクパターン）との間で切り替えるためにユーザが行った所定の操作（SHIFTキー２４とカーソルキー２１の「→」の押下）の回数ｎをカウントし、所定の操作の回数ｎが予め設定された所定回数に達した時点で、ユーザによる２次元コード表示の指令があった場合に最初にマスク処理に用いるマスクパターンを、第１のマスクパターン（一のマスクパターン）と第２のマスクパターン（別のマスクパターン）との間で交換するようになっている。
【００６５】
そして、このように構成することで、例えば、ユーザが自分のスマートフォン等で、関数電卓１（電子機器）のディスプレイ１０上に表示されたマスク処理後の２次元コードを取り込む際、スマートフォン等でマスク処理後の２次元コードを取り込むことができるようにマスク処理を行うマスクパターンが、ユーザによる２次元コード表示の指令があった場合に最初にマスク処理に用いられる第１のマスクパターンになる。
【００６６】
そのため、ユーザが、CODEキー２３を押下して（図３のステップＳ３；ＹＥＳ）、関数電卓１（電子機器）のディスプレイ１０上に表示された数式や表データ等を２次元コードにコード化して表示させ、表示されたマスク処理後の２次元コードをスマートフォン等で取り込むと、マスク処理後の２次元コードがスマートフォン等で確実に取り込まれるようになり、ユーザが所定の操作（SHIFTキー２４とカーソルキー２１の「→」の押下）を行ってマスクパターンを切り替えなくてもよくなる。
【００６７】
或いは、ユーザが所定の操作を行ってマスクパターンを切り替えなければならなくなる頻度を格段に低下させることが可能となる。そのため、関数電卓１（電子機器）をユーザにとって使い勝手がよいものとすることが可能となる。
【００６８】
［変形例２］
上記の実施形態や変形例１では、関数電卓１（電子機器）が予め記憶部１６に第１のマスクパターンと第２のマスクパターンの２個のマスクパターンが記憶されており、それらを切り替えながらマスク処理を行う場合について説明した。
【００６９】
しかし、記憶部１６に予め記憶させた第１、第２のマスクパターンのいずれのマスクパターンを用いたマスク処理を行っても、マスク処理後の２次元コードをスマートフォン等でうまく取り込むことができないような事態が生じる可能性は０ではない。
【００７０】
そこで、例えば、図示を省略するが、関数電卓１（電子機器）の記憶部１６に、２個のマスクパターンからなるマスクパターンの組を予め複数記憶させておく。例えば、前述した８種類のマスクパターンの中から、マスク処理後の２次元コードの符号化領域のビットパターンの特徴が互いに大きく異なるような２つのマスクパターンをそれぞれ組み合わせて４個の組を形成し、それらの組を予め記憶部１６に記憶させておく。
【００７１】
そして、ＣＰＵ１１は、マスク処理に用いるマスクパターンを、一のマスクパターンの組に属する第１のマスクパターン（一のマスクパターン）と第２のマスクパターン（別のマスクパターン）との間で切り替えるためにユーザが行った所定の操作（SHIFTキー２４とカーソルキー２１の「→」の押下）の回数をカウントし、所定の操作の回数が予め設定された回数に達した時点で、マスク処理に用いるマスクパターンの組を、当該一のマスクパターンの組から他の組に変更するように構成することが可能である。以下、図８のフローチャートを用いて具体的な構成例について説明する。
【００７２】
この場合、例えば、ユーザが所定の操作（SHIFTキー２４とカーソルキー２１の「→」の押下）を行い（ステップＳ１７；ＹＥＳ）、２次元コードに対して行われるマスク処理に用いられるマスクパターンを別のマスクパターンに切り替えてマスク処理（ステップＳ１８）を行うごとに、カウンターの値ｎを１だけインクリメントする（ステップＳ２５）。この場合のカウンターの値ｎも、ユーザが所定の操作（SHIFTキー２４とカーソルキー２１の「→」の押下）を行った回数を表しているが、この場合は、ユーザが所定の操作を行うごとにカウンターの値ｎすなわち所定の操作の回数ｎがインクリメントされる。
【００７３】
そして、ＣＰＵ１１は、カウンターの値ｎすなわち所定の操作の回数ｎが予め設定された所定回数に達した場合には（ステップＳ２６；ＹＥＳ）、第１のマスクパターンを記憶する記憶部１６の記憶領域１６１に記憶されているマスクパターンと、第２のマスクパターンを記憶する記憶部１６の記憶領域１６２に記憶されているマスクパターンに替えて、別の組の２つのマスクパターンをそれぞれ記憶領域１６１、１６２に記憶させて、マスクパターンの組を変更する（ステップＳ２７）。
【００７４】
すなわち、例えば、８種類のマスクパターンＡ〜Ｈを、予め、マスクパターンＡ、Ｂの組、マスクパターンＣ、Ｄの組、マスクパターンＥ、Ｆの組、マスクパターンＧ、Ｈの組に分けて記憶部１６に記憶させておく。そして、ＣＰＵ１１は、初めに、マスクパターンＡ、Ｂの組を選択して、記憶部１６の記憶領域１６１にマスクパターンＡ（第１のマスクパターン）、記憶部１６の記憶領域１６２にマスクパターンＢ（第２のマスクパターン）を記憶させて、上記のマスク処理や表示処理等を行う。
【００７５】
そして、この状態で、所定の操作の回数ｎが予め設定された所定回数に達した場合（ステップＳ２６；ＹＥＳ）、ＣＰＵ１１は、マスクパターンの組を変更して（ステップＳ２７）、例えば、マスクパターンＣ、Ｄの組を選択し、記憶部１６の記憶領域１６１に記憶されているマスクパターンＡをマスクパターンＣに（第１のマスクパターン）、記憶部１６の記憶領域１６２にマスクパターンＢをマスクパターンＤに（第２のマスクパターン）、それぞれを変更して、上記のマスク処理や表示処理等を行う。
【００７６】
このようにして、所定の操作の回数ｎが予め設定された所定回数に達するごとに（ステップＳ２６；ＹＥＳ）、マスクパターンの組を変更して（ステップＳ２７）、２次元コードの表示処理を行うように構成することが可能である。
【００７７】
そして、このように構成しても、２次元コードに対してマスク処理を行う際に、２次元コードに対して前述した８種類のマスクパターンで一斉にマスク処理を行うのではなく、マスク処理を行う際に用いられるマスクパターンは１種類（第１のマスクパターンまたは第２のマスクパターン）であるから、１回のマスク処理に用いられるマスクパターンは常時１個のみとなり、ＣＰＵ１１の能力がさほど高くない場合でも、２次元コードのマスク処理を迅速に行うことが可能となる。そのため、この変形例２においても、上記の実施形態や変形例１と同様の効果を的確に発揮することが可能となる。
【００７８】
また、仮に第１、第２のマスクパターンとして選択された２個のマスクパターンの組が不調で、それらのマスクパターンを用いてマスク処理された後の２次元コードをユーザがスマートフォン等で取り込もうとしてもなかなかうまく行かず、頻繁にマスクパターンを切り替えるような場合には、マスクパターンの組が自動的に変更され、新たなマスクパターンで２次元コードのマスク処理が行われるようになる。
【００７９】
そのため、少なくともマスクパターンのいずれかの組に変更された時点で、マスク処理後の２次元コードがスマートフォン等で確実に取り込まれるようになるため、ユーザが所定の操作（SHIFTキー２４とカーソルキー２１の「→」の押下）を行ってマスクパターンを切り替えなくてもよくなる。或いは、ユーザが所定の操作を行ってマスクパターンを切り替えなければならなくなる頻度を格段に低下させることが可能となる。そのため、関数電卓１（電子機器）をユーザにとって使い勝手がよいものとすることが可能となる。
【００８０】
なお、この変形例２において、関数電卓１（電子機器）の記憶部１６に予め用意しておくマスクパターンの数は、前述した８種類のマスクパターンの全てである必要はなく、２個のマスクパターンを２組（計４個のマスクパターン）、或いは３組（計６個のマスクパターン）であってもよい。
【００８１】
また、上記のように、どのマスクパターン同士を１つの組とするかを予め決めておくことも可能であるが、例えば、ＣＰＵ１１が、例えば８種類のマスクパターンの中から任意の２個のマスクパターンを抽出して１つの組とするように構成することも可能であり、マスクパターンの組に属する２個のマスクパターンの組み合わせ方は適宜決められる。
【００８２】
以上、本発明の実施形態や変形例を説明したが、本発明の範囲は、上述の実施形態や変形例等に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
＜請求項１＞
少なくとも、データと、前記データに基づいて生成された２次元コードと、が表示可能なディスプレイと、
ユーザによる２次元コード表示の指令があった場合に、第１のマスクパターンを用いてマスク処理された２次元コードを生成して前記ディスプレイ上に表示させる２次元コード表示手段と、
前記２次元コードが前記ディスプレイ上に表示されている際に、ユーザにより所定の操作が行われると、第２のマスクパターンを用いたマスク処理により２次元コードを生成し直して前記ディスプレイ上に再表示させる２次元コード変更表示手段とを
備えたことを特徴とする電子機器。
＜請求項２＞
前記第１のマスクパターンと前記第２のマスクパターンとを記憶する記憶手段を備えることを特徴とする請求項１に記載の電子機器。
＜請求項３＞
前記２次元コード表示手段は、前記データに基づいて生成される２次元コードが複数ある場合には、ユーザの操作に応じて１つずつ切り替えて２次元コードを表示させ、切り替え前に表示された２次元コードが前記２次元コード変更表示手段により再表示されたとしても、次の２次元コードは前記第１のマスクパターンでマスク処理することを特徴とする請求項１または請求項２に記載の電子機器。
＜請求項４＞
前記２次元コード変更表示手段により２次元コードが再表示された回数をカウントし、この回数が予め設定された回数に達したことに応じて、前記第１のマスクパターンと前記第２のマスクパターンとを交換する交換手段を備えたことを特徴とする請求項１から請求項３のいずれか一項に記載の電子機器。
＜請求項５＞
前記第１と第２のマスクパターンとは異なる２個のマスクパターンからなるマスクパターンの組を複数記憶している別マスクパターン記憶手段と、
前記２次元コード変更表示手段により２次元コードが再表示された回数をカウントし、この回数が予め設定された回数に達したことに応じて、前記第１のマスクパターンと前記第２のマスクパターンを前記別マスクパターン記憶手段に記憶されている他の組のマスクパターンに変更するマスクパターン変更手段とを備えたことを特徴とする請求項１から請求項３のいずれか一項に記載の電子機器。
＜請求項６＞
前記２次元コード表示手段により前記ディスプレイ上に表示された２次元コードが読み取り装置により読み取れなかった際にユーザにより操作される操作子を備え、
前記２次元コード変更表示手段は、前記所定の操作として、前記操作子が操作されることにより、第２のマスクパターンを用いたマスク処理により２次元コードを生成し直すことを特徴とする請求項１から請求項５のいずれか一項に記載の電子機器。
＜請求項７＞
少なくとも、データと、前記データに基づいて生成された２次元コードと、が表示可能なディスプレイを備えた電子機器のコンピュータを、
ユーザによる２次元コード表示の指令があった場合に、第１のマスクパターンを用いてマスク処理された２次元コードを生成して前記ディスプレイ上に表示させる２次元コード表示手段、
前記２次元コードが前記ディスプレイ上に表示されている際に、ユーザにより所定の操作が行われると、第２のマスクパターンを用いたマスク処理により２次元コードを生成し直して前記ディスプレイ上に再表示させる２次元コード変更表示手段、
として機能させるためのプログラム。
【符号の説明】
【００８３】
１    関数電卓（電子機器）
１０  ディスプレイ
１１  ＣＰＵ（２次元コード表示手段、２次元コード変更表示手段、交換手段、マスクパターン変更手段）
１６  記憶部（記憶手段、別マスクパターン記憶手段）
２１  カーソルキー（操作子）
２４  SHIFTキー（操作子）
ｎ    回数
【図１】
2016095603.tif 000003
【図２】
2016095603.tif 000004
【図３】
2016095603.tif 000005
【図４】
2016095603.tif 000006
【図５】
2016095603.tif 000007
【図６】
2016095603.tif 000008
【図７】
2016095603.tif 000009
【図８】
2016095603.tif 000010