(57)【要約】      （修正有）【課題】読取装置による読取精度を向上させるように電子機器に二次元コードを表示できる二次元コード生成方法及び電子機器を提供する。【解決手段】二次元コード生成方法は、水平な仮想面に対する携帯端末１の傾きθ１を示す情報を取得することと、水平な仮想面に対する読取装置２１の読取面の傾きθ２を示す情報を取得することと、携帯端末１の傾きθ１と読取面の傾きθ２とを比較することと、読取装置２１で読み取られる、携帯端末１の傾きθ１と読取面の傾きθ２との比較結果に応じて異なる形の二次元コードを生成することと、携帯端末２１の表示部に二次元コードを表示することとを備える。【選択図】図３
2020046878.tif 000002
【特許請求の範囲】
【請求項１】
水平な仮想面に対する携帯端末の傾きを示す情報を取得することと、
水平な仮想面に対する読取装置の読取面の傾きを示す情報を取得することと、
前記携帯端末の傾きと前記読取面の傾きとを比較することと、
前記読取装置で読み取られる二次元コードであって、前記携帯端末の傾きと前記読取面の傾きとの比較結果に応じて異なる形の二次元コードを生成することと、
前記携帯端末の表示部に前記二次元コードを表示することと、
を備える二次元コード生成方法。
【請求項２】
前記二次元コードを生成することは、前記携帯端末の傾きが前記読取面の傾きと異なることを示す比較結果に応じて、前記二次元コードを構成する第１の辺の長さと前記第１の辺と対向する第２の辺の長さが異なるように前記二次元コードを生成することを含む、請求項１に記載の二次元コード生成方法。
【請求項３】
前記二次元コードを生成することは、前記読取面の傾きに対する前記携帯端末の傾きの差が所定の閾値を超えることを示す比較結果に応じて、前記二次元コードを構成する第１の辺の長さと前記第１の辺と対向する第２の辺の長さが異なるように前記二次元コードを生成することを含む、請求項１に記載の二次元コード生成方法。
【請求項４】
前記二次元コードを生成することは、前記二次元コードを構成する前記第１の辺と前記第２の辺を、前記二次元コードが前記表示部に表示された際に前記読取面から遠い辺または前記読取面から近い辺のいずれかに分類することと、前記読取面から遠い辺の長さを前記読取面から近い辺の長さよりも長くするように前記二次元コードを生成することを含む、請求項２または３に記載の二次元コード生成方法。
【請求項５】
前記二次元コードを生成することは、前記読取面の傾きに対する前記携帯端末の傾きの差の大きさに応じて、前記読取面から遠い辺の長さと前記読取面から近い辺の長さとの差を変更することを含む、請求項４に記載の二次元コード生成方法。
【請求項６】
前記携帯端末の傾きを示す情報は、前記携帯端末を所持するユーザの進行方向に沿う第１の方向の前記携帯端末の第１の傾きを示す情報を含み、
前記読取面の傾きを示す情報は、前記読取装置を備えるゲートの延在方向に沿う第２の方向の前記読取面の第２の傾きを示す情報を含み、
前記携帯端末の傾きと前記読取面の傾きとを比較することは、前記第１の傾きと前記第２の傾きとを比較することを含む、
請求項１に記載の二次元コード生成方法。
【請求項７】
前記携帯端末の傾きを示す情報は、水平な仮想面において前記第１の方向と直交する第３の方向の前記携帯端末の第３の傾きを示す情報を含み、
前記読取面の傾きを示す情報は、水平な仮想面において前記第２の方向と直交する第４の方向の前記読取面の第４の傾きを示す情報を含み、
前記携帯端末の傾きと前記読取面の傾きとを比較することは、前記第３の傾きと前記第４の傾きとを比較することを含む、
請求項６に記載の二次元コード生成方法。
【請求項８】
水平な仮想面に対する携帯端末の傾きを検出する検出部と、
水平な仮想面に対する読取装置の読取面の傾きを示す情報を記憶する記憶部と、
前記携帯端末の傾きと前記読取面の傾きとを比較し、前記読取装置で読み取られる二次元コードであって、前記携帯端末の傾きと前記読取面の傾きとの比較結果に応じて異なる形の二次元コードを生成する処理部と、
前記二次元コードを表示する表示部と、
を備える電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、二次元コード生成方法及び電子機器に関する。
【背景技術】
【０００２】
ＱＲコード（登録商標）などの二次元コードが普及している。二次元コードは、様々なシーンで用いられている。  
二次元コードの印刷された普通乗車券も実用化されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５９０６７４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザが読取装置の読取面に対して二次元コードを傾けて翳すと、読取装置は、二次元コードが歪んだ状態の画像を取得する。読取装置は、二次元コードが歪んだ状態の画像から二次元コードを読み取るのは難しい。二次元コードの中には、歪みを修正する機能が盛り込まれたものも存在する。しかしながら、この機能によって修正できる歪みの大きさには限界がある。
【０００５】
本発明の実施形態は、読取装置による読取精度を向上させるように電子機器に二次元コードを表示することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態に係る二次元コード生成方法は、水平な仮想面に対する携帯端末の傾きを示す情報を取得することと、水平な仮想面に対する読取装置の読取面の傾きを示す情報を取得することと、前記携帯端末の傾きと前記読取面の傾きとを比較することと、前記読取装置で読み取られる二次元コードであって、前記携帯端末の傾きと前記読取面の傾きとの比較結果に応じて異なる形の二次元コードを生成することと、前記携帯端末の表示部に前記二次元コードを表示することとを備える。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る携帯端末の構成を例示するブロック図である。
【図２】実施形態に係る携帯端末の外観を例示する図である。
【図３】実施形態に係る携帯端末の使用例を示す図である。
【図４】実施形態に係る携帯端末の別の使用例を示す図である。
【図５】実施形態に係る読取装置が取得する二次元コードの画像を例示する図である。
【図６】実施形態に係る携帯端末に表示される二次元コードを例示する図である。
【図７】実施形態に係る携帯端末における二次元コード生成処理を例示するフローチャートである。
【発明を実施するための形態】
【０００８】
以下、実施形態について図面を参照して説明する。  
携帯端末１の構成について説明する。
【０００９】
図１は、携帯端末１の構成を例示するブロック図である。  
携帯端末１は、二次元コードを表示する電子機器の一例である。
【００１０】
携帯端末１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３、記憶部１０４、入力部１０５、表示部１０６、バッテリ１０７及びセンサ１０８を備える。
【００１１】
ＣＰＵ１０１は、携帯端末１の各要素を制御するプロセッサである。ＣＰＵ１０１は、処理部の一例である。ＣＰＵ１０１は、ＲＯＭ１０２または記憶部１０４が記憶するプログラムを実行することにより各種の処理を実行する。例えば、ＣＰＵ１０１は、二次元コード生成用アプリケーションプログラムを実行し、二次元コード生成処理を実行する。二次元コード生成処理については後述する。
【００１２】
ＲＯＭ１０２は、ＣＰＵ１０１が実行するプログラム及び制御データなどを記憶する。ＲＯＭ１０２は、二次元コード生成用アプリケーションプログラムを記憶していてもよい。  
ＲＡＭ１０３は、ワーキングメモリである。
【００１３】
記憶部１０４は、書換え可能な不揮発性のメモリである。記憶部１０４は、ＣＰＵ１０１が実行するプログラム及び各種データなどを記憶する。例えば、記憶部１０４は、二次元コード生成用アプリケーションプログラムを記憶していてもよい。
【００１４】
入力部１０５は、ユーザ操作による入力指示を受け付ける入力デバイスである。例えば、入力部１０５は、キーボードまたは表示部１０６に積層されたタッチパッドである。  
表示部１０６は、各種画面を表示するデバイスである。例えば、表示部１０６は、液晶ディスプレイである。
【００１５】
バッテリ１０７は、携帯端末１の各要素に電力を供給する要素である。例えば、バッテリ１０７は、リチウムイオン電池であるが、これに限定されない。
【００１６】
センサ１０８は、水平な仮想面に対する携帯端末１の傾きを連続的に検出するセンサである。センサ１０８は、検出部の一例である。センサ１０８は、携帯端末１の傾きの検出に応じて、携帯端末１の傾きを示す情報をＣＰＵ１０１へ連続的に出力する。携帯端末１の傾きを示す情報は、携帯端末１の傾き情報ともいう。携帯端末１の傾きについては後述する。例えば、センサ１０８は、ジャイロセンサであるが、これに限定されない。
【００１７】
図２は、携帯端末１の外観を例示する図である。  
携帯端末１は、表面１１側に表示部１０６を備える。第１端部１１１は、携帯端末１の長手方向の一端部である。第２端部１１２は、携帯端末１の長手方向の他端部である。表示部１０６は、ＣＰＵ１０１の制御により、二次元コードＣを表示する。例えば、二次元コードＣは、乗車券であるが、これに限定されない。
【００１８】
二次元コードＣは、四つの辺で構成される四角形である。二次元コードＣは、矩形を基本形とする。辺Ｃ１及び辺Ｃ２は、二次元コードＣを構成する辺である。辺Ｃ１は、表示部１０６の第１端部１１１側に表示される辺である。辺Ｃ１は、第１の辺の一例である。辺Ｃ２は、辺Ｃ１と対向する辺であり、表示部１０６の第２端部１１２側に表示される辺である。辺Ｃ２の長さは、辺Ｃ１の長さと等しい。辺Ｃ２は、第２の辺の一例である。
【００１９】
次に、携帯端末１の傾きについて説明する。  
図３は、携帯端末１の使用例を示す図である。  
ユーザは、携帯端末１の表示部１０６に表示されている二次元コードＣを用いてゲート２を通過する。
【００２０】
例えば、ゲート２は、改札機である。ゲート２は、読取装置２１を備える。読取装置２１は、読取面２１１を備える。読取面２１１は、平面または略平面である。読取装置２１は、読取面２１１に翳された二次元コードＣの画像を取得する。例えば、読取装置２１は、ＣＭＯＳ（Ｃｏｍｐｌｉｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサにより画像を取得する。読取装置２１は、画像から二次元コードＣを読み取り、二次元コードＣに格納されている情報を取得する。
【００２１】
ユーザは、ゲート２を通過する際に、携帯端末１の表示部１０６に表示されている二次元コードＣを読取装置２１の読取面２１１に翳す。二次元コードＣは、読取装置２１で読み取られる。ＣＰＵ１０１は、センサ１０８から携帯端末１の傾き情報を連続的に取得する。ＣＰＵ１０１は、携帯端末１の傾き情報を二次元コード生成用アプリケーションプログラムへ通知する。ＲＡＭ１０３または記憶部１０４は、携帯端末１の傾き情報を記憶する。例えば、携帯端末１の傾き情報は、携帯端末１を所持するユーザの進行方向に沿う第１の方向の携帯端末１の第１の傾きθ１を示す情報を含む。
【００２２】
記憶部１０４は、水平な仮想面に対する読取装置２１の読取面２１１の傾きを示す情報を予め記憶している。読取面２１１の傾きを示す情報は、読取面２１１の傾き情報ともいう。例えば、読取面２１１の傾き情報は、読取装置２１を備えるゲート２の延在方向に沿う第２の方向の読取面２１１の第２の傾きθ２を示す情報を含む。例えば、第２の傾きθ２は、約１０°であるが、これに限定されない。
【００２３】
なお、図３では、携帯端末１を所持するユーザの進行方向に沿う第１の方向とゲート２の延在方向に沿う第２の方向が一致しているが、一致していなくてもよい。また、図３では、携帯端末１の表面１１は、読取面２１１と平行である。そのため、携帯端末１の第１の傾きθ１は、読取面２１１の第２の傾きθ２と等しい。
【００２４】
なお、携帯端末１の傾き情報は、水平な仮想面において第１の方向と直交する第３の方向の携帯端末１の第３の傾きを示す情報を含んでいてもよい。読取面２１１の傾き情報は、水平な仮想面において第２の方向と直交する第４の方向の読取面２１１の第４の傾きを示す情報を含んでいてもよい。
【００２５】
図４は、携帯端末１の別の使用例を示す図である。  
携帯端末１の表面１１は、第１端部１１１と読取面２１１との間隔が第２端部１１２と読取面２１１との間隔よりも大きくなるように読取面２１１と対向している。図４に示す状態の携帯端末１の第１の傾きθ１の大きさは、図３に示す状態の携帯端末１の第１の傾きθ１の大きさよりも大きい。そのため、図３に示す状態では、携帯端末１の第１の傾きθ１は、読取面２１１の第２の傾きθ２よりも大きい。
【００２６】
次に、読取装置２１が取得する二次元コードＣの画像について説明する。  
ここでは、表示部１０６は、図２に示すように、基本形となる矩形の二次元コードＣを表示しているものとする。
【００２７】
まず、図３に示すように、携帯端末１の表面１１が読取面２１１と平行であるとする。この場合、二次元コードＣの各辺を表示する表示部１０６の各位置と読取面２１１との間隔は、互いに等しい。そのため、読取装置２１は、表示部１０６に表示される二次元コードＣの形と相似である矩形の二次元コードＣの画像を取得する。読取装置２１は、二次元コードＣに格納されている情報を取得することができる。
【００２８】
次に、図４に示すように、携帯端末１の表面１１が読取面２１１に対して傾いて対向しているとする。図５は、この状態において読取装置２１が取得する二次元コードＣの画像を例示する図である。この場合、二次元コードＣを構成する辺Ｃ１を表示する表示部１０６の位置と読取面２１１との間隔は、辺Ｃ２を表示する表示部１０６の位置と読取面２１１との間隔よりも大きい。そのため、読取装置２１は、辺Ｃ１の長さ（大きさ）が辺Ｃ２の長さ（大きさ）よりも短い（小さい）形の二次元コードＣの画像を取得する。例えば、読取装置２１は、表示部１０６に表示される矩形の二次元コードＣの形とは異なる台形の二次元コードＣの画像を取得する。二次元コードＣの形は矩形から大きく歪んでいるので、読取装置２１は、二次元コードＣに格納されている情報を取得することができない。
【００２９】
このように、読取面２１１に対する携帯端末１の表面１１の傾きに応じて、読取装置２１は、異なる形の二次元コードＣの画像を取得する。
【００３０】
次に、携帯端末１の傾きに応じて表示部１０６に表示される二次元コードＣの形について説明する。  
図６は、図４に示すように携帯端末１の表面１１が読取面２１１に対して傾いて対向している状態で、表示部１０６に表示される二次元コードＣを例示する図である。
【００３１】
ＣＰＵ１０１は、以下に例示するように、表示部１０６に表示する二次元コードＣを生成する。
【００３２】
まず、ＣＰＵ１０１は、センサ１０８から携帯端末１の傾き情報を取得する。ＣＰＵ１０１は、記憶部１０４から読取面２１１の傾き情報を取得する。次に、ＣＰＵ１０１は、携帯端末１の傾き情報及び読取面２１１の傾き情報に基づいて、携帯端末１の傾きと読取面２１１の傾きとを比較する。例えば、ＣＰＵ１０１は、携帯端末１の第１の傾きと読取面２１１の第２の傾きとを比較する。ＣＰＵ１０１は、携帯端末１の第１の傾きと読取面２１１の第２の傾きとの比較により、読取面２１１に対する携帯端末１の傾き度合を導き出す。
【００３３】
次に、ＣＰＵ１０１は、携帯端末１の傾きと読取面２１１の傾きとの比較結果に応じて異なる形の二次元コードＣを生成する。これにより、ＣＰＵ１０１は、読取装置２１が矩形または略矩形の二次元コードＣの画像を取得することができるように、適切な形の二次元コードＣを生成することができる。
【００３４】
例えば、ＣＰＵ１０１は、携帯端末１の第１の傾きと読取面２１１の第２の傾きとの比較結果に応じて異なる形の二次元コードＣを生成する。ここでは、ＣＰＵ１０１は、第１の方向と交わる辺Ｃ１及び辺Ｃ２のうちの少なくとも何れか一方の長さを変更することで、異なる形の二次元コードＣを生成する。
【００３５】
これにより、ＣＰＵ１０１は、ユーザの進行方向に沿う第１の方向とゲート２の延在方向に沿う第２の方向が一致する場合に、適切な形の二次元コードＣを生成することができる。
【００３６】
ＣＰＵ１０１は、携帯端末１の傾きが読取面２１１の傾きと同じであることを示す比較結果に応じて、基本形となる矩形の二次元コードＣを生成する。例えば、ＣＰＵ１０１は、携帯端末１の第１の傾きが読取面２１１の第２の傾きと同じであることを示す比較結果に応じて、辺Ｃ１の長さとＣ２の長さが同じになるように二次元コードＣを生成する。
【００３７】
他方、ＣＰＵ１０１は、携帯端末１の傾きが読取面２１１の傾きと異なることを示す比較結果に応じて、対向する２辺の長さが異なるように二次元コードＣを生成する。例えば、ＣＰＵ１０１は、携帯端末１の第１の傾きが読取面２１１の第２の傾きと異なることを示す比較結果に応じて、辺Ｃ１の長さとＣ２の長さが異なるように二次元コードＣを生成する。
【００３８】
これにより、ＣＰＵ１０１は、携帯端末１の傾きが読取面２１１の傾きと異なる場合に、適切な形の二次元コードＣを生成することができる。
【００３９】
典型例では、ＣＰＵ１０１は、辺Ｃ１と辺Ｃ２を、二次元コードＣが表示部１０６に表示された際に読取面２１１から遠い辺または読取面２１１から近い辺のいずれかに分類する。ＣＰＵ１０１は、読取面２１１から遠い辺の長さを読取面２１１から近い辺の長さよりも長くするように二次元コードＣを生成する。図６に示す例では、辺Ｃ１は、辺Ｃ２よりも読取面２１１から遠い辺である。そのため、ＣＰＵ１０１は、辺Ｃ１の長さを辺Ｃ２の長さよりも長くする。
【００４０】
これにより、ＣＰＵ１０１は、二次元コードＣを構成する適切な辺の長さを調整することで、適切な形の二次元コードＣを生成することができる。
【００４１】
さらに、ＣＰＵ１０１は、読取面２１１の傾きに対する携帯端末１の傾きの差の大きさに応じて、読取面２１１から遠い辺の長さと読取面２１１から近い辺の長さとの差を変更してもよい。例えば、ＣＰＵ１０１は、読取面２１１の第２の傾きに対する携帯端末１の第１の傾きの差の大きさに応じて、読取面２１１から遠い辺の長さと読取面２１１から近い辺の長さとの差を変更する。
【００４２】
図６に示す例では、ＣＰＵ１０１は、読取面２１１の第２の傾きに対する携帯端末１の第１の傾きの差が大きくなるに応じて、辺Ｃ１の長さと辺Ｃ２の長さとの差を大きくする。ＣＰＵ１０１は、辺Ｃ２の長さを固定した状態で辺Ｃ１の長さを変更することで、辺Ｃ１の長さと辺Ｃ２の長さとの差を大きくしてもよい。これに代えて、ＣＰＵ１０１は、辺Ｃ１と辺Ｃ２の両方の長さを変更することで、辺Ｃ１の長さと辺Ｃ２の長さとの差を大きくしてもよい。
【００４３】
これにより、ＣＰＵ１０１は、読取面２１１の傾きに対する携帯端末１の傾きの差が大きくなったとしても、適切な形の二次元コードＣを生成することができる。
【００４４】
なお、ＣＰＵ１０１は、所定の閾値を用いて読取面２１１の傾きに対する携帯端末１の傾きを評価し、対向する２辺の長さが異なるように二次元コードＣを生成してもよい。所定の閾値は、読取面２１１の傾きに対する携帯端末１の傾きの差に相当する値である。所定の閾値は、携帯端末１が読取面２１１に対して傾いていたとしても、読取装置２１が二次元コードＣを読み取ることができる値である。所定の閾値は、任意に設定可能である。
【００４５】
この例では、ＣＰＵ１０１は、読取面２１１の傾きに対する携帯端末１の傾きの差を所定の閾値と比較する。ＣＰＵ１０１は、読取面２１１の傾きに対する携帯端末１の傾きの差が所定の閾値以下であることを示す比較結果に応じて、基本形となる矩形の二次元コードＣを生成する。他方、ＣＰＵ１０１は、読取面２１１の傾きに対する携帯端末１の傾きの差が所定の閾値を超えることを示す比較結果に応じて、二次元コードＣを構成する対向する２辺の長さが異なるように二次元コードＣを生成する。
【００４６】
例えば、ＣＰＵ１０１は、読取面２１１の第２の傾きに対する携帯端末１の第１の傾きの差が所定の閾値を超えることを示す比較結果に応じて、辺Ｃ１の長さとＣ２の長さが異なるように二次元コードＣを生成する。
【００４７】
これにより、ＣＰＵ１０１は、読取面２１１の傾きに対する携帯端末１の傾きの差が所定の閾値を超える場合に、適切な形の二次元コードＣを生成することができる。ＣＰＵ１０１は、読取面２１１の傾きに対する携帯端末１の傾きの差が所定の閾値を超えるまでは二次元コードＣの形を変更しないので、処理負荷を軽減することができる。
【００４８】
なお、ＣＰＵ１０１は、携帯端末１の第１の傾きと読取面２１１の第２の傾きとの比較結果に応じて異なる形の二次元コードＣを生成しているが、これに限定されない。ＣＰＵ１０１は、携帯端末１の第３の傾きと読取面２１１の第４の傾きとを比較してもよい。ＣＰＵ１０１は、上述の例と同様に、携帯端末１の第３の傾きと読取面２１１の第４の傾きとの比較結果に応じて異なる形の二次元コードＣを生成してもよい。
【００４９】
例えば、ユーザは、自身の右側にある読取装置２１に対して左手に持った携帯端末１を翳すこともある。携帯端末１は、読取面２１１に対して一方向ではなく、複数方向に傾くことがある。ＣＰＵ１０１は、携帯端末１が読取面２１１に対して複数方向に傾いていても、適切な形の二次元コードＣを生成することができる。
【００５０】
また、ＣＰＵ１０１は、携帯端末１の第１の傾きと読取面２１１の第２の傾きとの比較結果及び携帯端末１の第３の傾きと読取面２１１の第４の傾きとの比較結果の両方に基づいて異なる形の二次元コードＣを生成してもよい。
【００５１】
ＣＰＵ１０１は、表示部１０６に二次元コードＣを表示する。図６に示す例では、ＣＰＵ１０１は、図５に示す二次元コードＣの形とは対称となる形の二次元コードＣを表示部１０６に表示する。そのため、表示部１０６は、読取装置２１による読取精度を向上させるように形を変更した二次元コードＣを表示することができる。
【００５２】
これにより、読取装置２１は、表示部１０６に表示される台形の二次元コードＣの形とは異なる矩形または略矩形の二次元コードＣの画像を取得することができる。ユーザが読取面２１１に対して傾けて携帯端末１を翳したとしても、読取装置２１は、矩形または略矩形の二次元コードＣの画像を取得することができる。その結果、読取装置２１は、画像から二次元コードＣを読み取り、二次元コードＣに格納されている情報を取得することができる。
【００５３】
なお、ＣＰＵ１０１は、センサ１０８から携帯端末１の傾き情報を連続的に取得するので、携帯端末１の傾きの変化に応じて、二次元コードの形を連続的に変更する。これにより、表示部１０６は、携帯端末１の傾きの変化に応じて、二次元コードの形を連続的に変更しながら二次元コードを表示することができる。
【００５４】
次に、携帯端末１による二次元コード生成処理について説明する。  
図７は、携帯端末１における二次元コード生成処理を例示するフローチャートである。
【００５５】
ＣＰＵ１０１は、二次元コード生成アプリケーションプログラムを起動する（ステップＳ１０１）。ステップＳ１０１では、ＣＰＵ１０１は、ユーザによる入力部１０５での起動操作に基づいて、二次元コード生成アプリケーションプログラムを起動する。
【００５６】
ＣＰＵ１０１は、傾き情報を取得する（ステップＳ１０２）。ステップＳ１０２では、ＣＰＵ１０１は、センサ１０８から携帯端末１の傾き情報を取得する。ＣＰＵ１０１は、記憶部１０４から読取面２１１の傾き情報を取得する。
【００５７】
ＣＰＵ１０１は、二次元コードを生成する（ステップＳ１０３）。ステップＳ１０３では、ＣＰＵ１０１は、携帯端末１の傾き情報及び読取面２１１の傾き情報に基づいて、携帯端末１の傾きと読取面２１１の傾きとを比較する。ＣＰＵ１０１は、上述のように、携帯端末１の傾きと読取面２１１の傾きとの比較結果に応じて、異なる形の二次元コードを生成する。ＣＰＵ１０１は、携帯端末１の傾きの変化に応じて二次元コードＣの形を逐次変更する。
【００５８】
ＣＰＵ１０１は、表示部１０６に二次元コードを表示する（ステップ１０４）。ステップＳ１０４では、ＣＰＵ１０１は、携帯端末１の傾きの変化に応じて二次元コードＣの形を変更しながら表示部１０６に表示する。
【００５９】
ＣＰＵ１０１は、二次元コード生成アプリケーションプログラムを終了するか否かを判断する（ステップＳ１０５）。ステップＳ１０５では、ＣＰＵ１０１は、ユーザによる入力部１０５での終了操作に基づいて、二次元コード生成アプリケーションプログラムの終了を判断する。
【００６０】
ＣＰＵ１０１は、二次元コード生成アプリケーションプログラムを終了すると判断した場合（ステップＳ１０５、Ｙｅｓ）、二次元コード生成処理を終了する。ＣＰＵ１０１は、二次元コード生成アプリケーションプログラムを終了しないと判断した場合（ステップＳ１０５、Ｎｏ）、ステップＳ１０２に戻って処理を繰り返す。
【００６１】
なお、ゲート２は、改札機を例にして説明したが、これに限定されない。ゲート２は、空港の搭乗ゲートなど、人が通過するゲートであればよい。
【００６２】
なお、読取装置２１は、ゲート２に設けられているものとして説明したが、これに限定されない。読取装置２１は、ゲート２以外に設けられていてもよい。例えば、読取装置２１は、精算機に設けられていてもよい。この場合、携帯端末１は、精算用のアプリケーションプログラムで精算機に設けられている読取装置２１の読取面２１１の傾き情報を管理すればよい。
【００６３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００６４】
１…携帯端末、２…ゲート、１１…表面、２１…読取装置、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…記憶部、１０５…入力部、１０６…表示部、１０７…バッテリ、１０８…センサ、１１１…第１端部、１１２…第２端部、２１１…読取面、Ｃ…二次元コード、Ｃ１…辺、Ｃ２…辺。
【図１】
2020046878.tif 000003
【図２】
2020046878.tif 000004
【図３】
2020046878.tif 000005
【図４】
2020046878.tif 000006
【図５】
2020046878.tif 000007
【図６】
2020046878.tif 000008
【図７】
2020046878.tif 000009