(57)【要約】  コンピュータプログラムを生成するためのシステムであって、  説明文（３）及び／またはグラフィカルシンボル（４）を有する複数の情報の物理的伝達部（２）と、  デジタル画像を撮像するように構成する画像撮像デバイス（５）と、  デジタル画像を処理して、画像上の伝達部（２）を認識して、伝達部（２）の互いに対する配置を決定し、抽出された配置をコンピュータプログラムへと変換するように構成されたコンピュータデバイス（６）と  を備え  情報の物理的伝達部（２）は、コンピュータデバイス（６）内のコンピュータプログラムの要素と関連付けられる長方形の対比マーカ（７）を有することを特徴とする、  システム。
2019525365.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータプログラムを生成するためのシステムであって、
説明文及び／またはグラフィカルシンボルを有する複数の、情報の物理的伝達部と、
デジタル画像を撮像するように構成された、画像撮像デバイスと、
デジタル画像を処理して前記デジタル画像上の前記情報の物理的伝達部を認識して、前記情報の物理的伝達部の互いに対する配置を決定して、抽出された前記配置をコンピュータプログラムに変換するように構成された、コンピュータデバイスと、
を備え、
前記情報の物理的伝達部は、前記コンピュータデバイス内のコンピュータプログラムの要素と関連付けられる、長方形の対比マーカを有する、
システム。
【請求項２】
前記コンピュータプログラムの要素は、値か、変数か、関数か、関数の部分か、演算子か、表か、プログラミングライブラリか、オブジェクトか、クラスか、メソッドか、コマンドか、または命令である、
請求項１に記載のシステム。
【請求項３】
前記長方形の対比マーカは、マトリックスバーコードを形成する要素を有する、
請求項１または２に記載のシステム。
【請求項４】
前記情報の物理的伝達部は、陥没部または突出部の形で外周に延在する、少なくとも１つの接続ゾーンを有する、
請求項１から３のいずれか１項に記載のシステム。
【請求項５】
前記コンピュータデバイス及び前記画像撮像デバイスは、単一デバイスに統合されている、
請求項１から４のいずれか１項に記載のシステム。
【請求項６】
前記長方形の対比マーカは、正方形の形を有する、
請求項１に記載のシステム。
【請求項７】
前記長方形の対比マーカは、前記情報の物理的伝達部の中央からずれている、
請求項１または４に記載のシステム。
【請求項８】
説明文及び／またはグラフィカルシンボルを有する複数の、情報の物理的伝達部と、画像撮像デバイスと、コンピュータデバイスとを備えるシステムを使用することで、コンピュータプログラムを生成するための方法であって、
前記画像撮像デバイスによって、前記情報の物理的伝達部の配置のデジタル画像を撮像する段階と、
撮像された前記デジタル画像を、前記コンピュータデバイスに転送する段階と、
前記コンピュータデバイスで、前記デジタル画像を処理する段階と、
前記コンピュータデバイスで、前記デジタル画像上の前記情報の物理的伝達部を認識する段階と、
前記コンピュータデバイスで、前記情報の物理的伝達部の互いに対する前記配置を決定する段階と、
前記コンピュータデバイスで、抽出された前記配置をコンピュータプログラムに変換する段階と、
備え、
前記情報の物理的伝達部は、前記コンピュータデバイス内のコンピュータプログラムの要素と関連付けられる長方形の対比マーカを有し、
前記方法は、前記長方形の対比マーカ及び前記長方形の対比マーカの頂点の座標を識別することで、前記デジタル画像を処理する段階と、
識別された前記長方形の対比マーカの頂点の前記座標に関するデータに基づいて、前記デジタル画像の遠近を修正することで、前記デジタル画像を変換する段階と
を備える、
方法。
【請求項９】
前記長方形の対比マーカは、正方形の形を有する、
請求項８に記載の方法。
【請求項１０】
前記長方形の対比マーカは、前記情報の物理的伝達部の中央からずれている、
請求項８または９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、有形ユーザインターフェイス（ＴＵＩを使用して、コンピュータプログラムを生成するデバイス、及びコンピュータプログラムを生成する方法に関連する。本発明は、特に子供及び若者によるプログラミングの学習に適用可能である。
【背景技術】
【０００２】
ユーザとの対話を担当するデバイスまたはソフトウェアの部分として理解されているユーザインターフェイス（ＵＩ）は、ポインティングデバイスの操作に最近はほとんど基づいており、カーソルは表示スクリーンに表示されている。そのようなタイプのグラフィカルユーザインターフェイス（ＧＵＩ）は、コンシューマデバイスにおいて主流である。タッチユーザインターフェイスは人気を得ており、コンピュータの制御は、ユーザの体（通常は指）と、入力デバイス及び出力デバイスの機能が組み合わされているタッチパッドまたはタッチスクリーンとの接触によって行われる。しかし、コンピュータまたは他のデバイスをプログラミングするためのインターフェイスは、コマンドラインインターフェイス（ＣＬＩ）によって依然として主流になっており、コマンドはキーボードを使用して、テキストラインのシークエンスとしてコンピュータに入力される。
【０００３】
しかし、人間にとっての自然な行動方法は、物理的オブジェクトを使用することである。デバイスの表示スクリーンに生成されるオブジェクトのみを操作すること、及びテキストコマンドを入力することは、人間にとって自然なことではない。したがって、コンピュータの動作を制御するために、物理的オブジェクト（情報の物理的伝達部）を操作することに基づく有形ユーザインターフェイス（ＴＵＩ）には、高いポテンシャルがある。そのようなインターフェイスもまた、コンピュータプログラミングにおいて使用されてもよい。
【０００４】
米国特許ＵＳ６１７５９５４は、情報の物理的伝達部と、画像撮像デバイスと、及び画像撮像デバイスからのシグナルを処理するコンピュータデバイスとを備える、コンピュータプログラムを生成するためのデバイスを開示している。それは、コンピュータデバイスへの情報の物理的伝達部の位置及び構成に関する情報の、技術的転送の問題に対処している。
【０００５】
ＰＣＴ特許出願ＷＯ２０１５／１９７６９１は、コンピュータプログラムを生成する際に、その使用もまた見い出すデータ入力の方法を開示している。この方法では、情報の物理的伝達部と、測定デバイス（これもまた画像撮像デバイスであってよい）と、コンピュータデバイスとが使用されてもよく、情報の物理的伝達部の位置及び構成に関するデータに基づいて、コンピュータプログラムのための入力データが生成される。説明される方法は、コンピュータデバイスにおいて、機能（これはアルゴリズムの部分であってもよい）を各々の情報の物理的伝達部割り当てることと、及び続いてコンピュータデバイスにおいて測定デバイスによって検索されたデータに基づいて、コンピュータプログラムのための入力データを生成することに基づいている。
【０００６】
ＴＵＩの特別役割は、学生の手の及び知覚についての技能が限定されている、幼稚園及びコンピュータサイエンスの学習の初期の学校の段階に関連する。このような場合、物理的インターフェイス要素の使用は、子供との作業をかなり容易にして、データ入力をゲームや遊びと類似したものにすることで、彼らの注意を効果的に引くことを可能とする。
【０００７】
いくつかの公知デバイスは、コンピュータにおけるコンピュータアルゴリズムの要素を割り当てる、コンピュータプログラミングを学習するための物理的ブロック（情報の物理的伝達部）を使用する。ユーザは、ブロックを組み立てることで、完全なアルゴリズムを生成する。アルゴリズムは、コンピュータまたは、タブレットもしくはスマートフォンのようなモバイルデバイスで実行されてもよい。これらのシステムに関連する技術的問題は、物理的ブロック（情報の物理的伝達部）の相互の位置及び構成に関する情報を、コンピュータデバイスに転送するための方法が、正確でエラーがないことをどのように保証するかである。
【０００８】
米国特許出願ＵＳ２０１６／０１１２２７９は、電子要素を備える別個のブロックを、示している。このコンセプトは、Ｇｏｏｇｌｅと、スタンフォード大学と、ＩＤＥＯによるプロジェクトである、「ブロックプロジェクト」で使用されている。ブロックは、これらの相互の位置と構成に関する情報を転送するために、まとめて接続され、互いに及び制御モジュールと通信する。
【０００９】
Ｔａｎｇｉｂｌｅ  Ｐｌａｙ，  Ｉｎｃ．，による別のプロジェクトのＯｓｍｏ  ｃｏｄｉｎｇは、電子要素を欠く情報の物理的伝達部を構成するブロックを備える。これらの認識は、（設定を固定するための特別なパッドに配置された）物理的ブロックの形及び色の分析に基づいて、タブレットのカメラ用の撮影アドオンによって行われる。ブロックは、人間にとって判読可能なグラフィカルシンボルを備え、そのおかげでユーザはブロックとともにアルゴリズムを直感的に構成し得て、続いてタブレットによって実行されてもよい。そのような認識スキームもまた、米国特許ＵＳ９３５４７１６（Ｓｈａｒｍａ  ｅｔ  ａｌ）に開示されており、物理的ブロック（情報の物理的伝達部）の位置及び構成の認識の類似するスキームに基づいている。コンピュータ表示スクリーンにおけるユーザインターフェイスオブジェクトを、物理的に可視化するためのシステムが開示されており、コンピュータプログラムを生成するためのデバイスとしてもまた使用されてもよい。システムは、情報の物理的伝達部と、画像撮像デバイスと、及び画像撮像デバイスからのシグナルを処理するためのコンピュータデバイスとを備える。システムは以下の方法に従って動作する。情報の物理的伝達部は作業スペースに配置される。次に、画像撮像デバイスを使用することで、平面に情報の物理的伝達部の配置が記録される。画像撮像デバイスによって撮像された画像は、コンピュータデバイスに転送される。情報の物理的伝達部の相互の位置と構成と形と色に関するデータは、コンピュータデバイスに判読可能なデータへと変換される。情報の物理的伝達部の配置は、情報の物理的伝達部の形及び色の分析に基づいて認識される。
【００１０】
米国特許ＵＳ６３６６３００は、ビジュアルプログラミングの方法及びシステムを開示しており、オブジェクト選択手段が、これに接続された負荷の動作を定義する動作グラフィカルオブジェクトを選択するために使用され、動作選択手段が動作グラフィカルオブジェクトの動作のタイプを選択するために使用され、関連オブジェクト選択手段が、動作グラフィカルオブジェクトに関連する関連グラフィカルオブジェクトの動作を選択するために使用され、動作ルールセッティング手段が、動作グラフィカルオブジェクトの動作ルールをセッティングするために使用される。
【００１１】
中国特許出願ＣＮ１０２１３６２０８は、マテリアルオブジェクトプログラミング方法及びシステムを開示している。当該方法は、
マテリアルオブジェクトプログラミング表示環境の設定を確定する段階と、
ユーザによって配置されたマテリアルオブジェクトプログラミングブロックのシークエンスを撮影する段階と、
撮影された画像をマテリアルオブジェクトプログラミング処理モジュールへ画像取得ユニットを使用してアップロードする段階と、
マテリアルオブジェクトブロックのシークエンスを対応する関数的かつ意味論的シークエンスへと、マテリアルオブジェクトプログラミング処理モジュールを使用することで、コンピュータビジョン識別方式及びマテリアルオブジェクトプログラミングブロックの位置情報に従って変換する段階と、
現在の関数的かつ意味論的シークエンスが、マテリアルオブジェクト表示環境の文法的かつ意味論的ルールを満たすか否か決定する段階と、
もし現在の関数的かつ意味論的シークエンスがマテリアルオブジェクト表示環境の文法的かつ意味論的ルールを満たさない場合は、対応するエラープロンプトをフィードバックする段階と、
プロンプト情報を使用することによって、対応するマテリアルオブジェクトプログラミングブロックを置換する段階と、
配置されたマテリアルオブジェクトプログラミングブロックのシークエンスに対応する関数的かつ意味論的シークエンスが、マテリアルオブジェクト表示環境の文法的かつ意味論的ルールを満たすまで上記の段階を繰り返す段階と、
プログラミングタスクを完了する段階と
を備える。
【発明の概要】
【００１２】
本発明に従ってコンピュータプログラムを生成するためのデバイスもまた、自然言語の説明文、及び／または人間に判読可能なグラフィカルシンボルがその上に存在する、情報の物理的伝達部を備える。情報の物理的伝達部は、空間的に定義された任意のオブジェクトであってよい。情報の物理的伝達部もまた、コンピュータアイコンの物理的に均等なもの（フィコン（ｐｈｉｃｏｎ）または物理的アイコン）として定義されてもよい。
【００１３】
コンピュータプログラムを生成するためのデバイスの要素もまた、画像撮像デバイス及び画像撮像デバイスからのシグナルを処理するコンピュータデバイスであり、好ましくは例えばタブレットまたはスマートフォンのように、両デバイスは単一のデバイスの内部で統合される。
【００１４】
コンピュータデバイスにおいて、コンピュータプログラムの要素は、各情報の物理的伝達部に割り当てられる。特にそのような要素は、値と、任意の種類の変数と、関数、関数の部分と、演算子と、表とプログラミングライブラリと、オブジェクトと、クラスと、メソッドと、コマンドと、命令と、及び任意のタイプの任意のデータの定義とであってもよい。情報の物理的伝達部へのアルゴリズムの要素の割り当ては、（製造者によって）販売前にだけでなく（ユーザによって）その使用中にもまた、デバイスを使用する任意の段階で行われてもよい。
【００１５】
コンピュータデバイスとの用語は、情報処理を目的とする任意のデバイスまたは電子機器をカバーする。特にそれは、パーソナルコンピュータか、タブレットか、スマートフォンか、工業ロボットか、またはインテリジェント家庭用電化製品であってもよい。
【００１６】
画像撮像デバイスとの用語は特に、デジタル写真カメラか、またはビデオカメラか、コンピュータモニタもしくはタブレットもしくはスマートフォン内に構成されたものもまた、カバーする。
【００１７】
本発明に従ったデバイスは、情報の物理的伝達部がその上に、高コントラストのマーカを備えることを特徴とし、上記マーカは好ましくは長方形か、好ましくは正方形の形を有する。
【００１８】
マーカは、情報の物理的伝達部の正確な認識を可能にする。識別子が情報の物理的伝達部に割り当てられるから、順番に論理的値を割り当てられたマーカの明るいエリアと暗いエリアを分析することによって、デコードすることが可能なのである。
【００１９】
情報の物理的伝達部が配置された平面に対して、画像撮像デバイスが常に平行とは限らないという事実に起因する遠近を修正するために、長方形マーカの使用もまた、画像撮像デバイスからのデータの処理を可能とする。
【００２０】
そのような遠近の修正を実行するために、マーカの輪郭を形成する長方形の頂点の位置にある情報が使用される。好ましい特徴として、正方形の形の使用は、所与の要素がマーカであるか否かの、コンピュータビジョンを使用しての決定を単純化する。
【００２１】
好ましくは、情報の物理的伝達部は、陥没部または突出部の形で外周に延在する、少なくとも１つの接続ゾーンを備える。陥没部及び／または突出部は、伝達部の反対側に存在し得る。伝達部の形状は、ユーザの特定の言語に合わしてもよく、例えば文が左から右に読み取られる言語や、または文が右から左にもしくは上から下に読み取られる言語に、合わしてもよい。そのような方法で構成された接続ゾーンは、情報の物理的伝達部の正確な相互配置を可能とする。
【００２２】
好ましくは、高コントラストマーカが情報の物理的伝達部の対称軸の外側に配置される。この特徴は、情報の物理的伝達部の方向決定を単純化する。
【００２３】
本発明に従ってコンピュータプログラムを生成する方法は、本発明に従ってコンピュータプログラムを生成するためのデバイスの要素の協働に基づいている。例えば、
人間に判読可能な自然言語及び／またはグラフィカルシンボルによる説明が配置された情報の物理的伝達部と、
画像撮像デバイスと、及び
コンピュータデバイスであって、各情報の物理的伝達部に、コンピュータプログラムの要素が割り当てられており、画像撮像デバイスからの画像シグナルを処理するように構成されているコンピュータデバイス。
【００２４】
方法は以下の、
平面に情報の物理的伝達部を配置する段階と、
画像撮像デバイスによって情報の物理的伝達部の配置の画像を撮像する段階と、
撮像された画像をコンピュータデバイスに転送する段階と、
識別マーカを選択された動作と関連付ける構造に基づいて、情報の物理的伝達部の順序付けられた識別子の配列から、コンピュータデバイスにおいて、コンピュータプログラムを生成する段階と
を備える。
【００２５】
方法は、情報の物理的伝達部に、高コントラストで、長方形のマーカ、好ましくは正方形マーカ（情報の物理的伝達部の対称軸の外側であることが有益である）が存在することと、
コンピュータデバイスが、アルゴリズムを生成する前に、以下の、
マーカ及びそれらの頂点の座標を識別し、続いて、
識別マーカの頂点の座標に関するデータに基づいて、遠近を修正するために撮像画像を変換する
段階を実行するように構成されることを特徴とする。
【００２６】
長方形で高コントラストのマーカの使用は、情報の物理的伝達部の位置及び構成の、正確な認識及びコンピュータデバイスへの伝達を可能にする。
【００２７】
高コントラストマーカは、コンピュータビジョン技術によって容易に検出され得るが、一方で異なるマーカの間の差が最大限まで大きくなる。これは、本発明に従った方法及びデバイスが、ローエンドハードウェア構成を有するデバイスを使用して、効率的に動作し得ることを意味する。そのような解決法は、平面照明により影響されない（情報の物理的伝達部の形及び色の認識に基づいたシステムにおいては、情報の物理的伝達部の色の検出を困難にする）。
【００２８】
そのような解決法は、平面に対して固定された画像撮像デバイスの配置もまた必要としない。例えばタブレットまたはスマートフォンのように、コンピュータデバイス及び画像撮像デバイスが単一デバイスに統合されているコンシューマデバイスの場合、例えばＵＳ９３５４７１６（Ｓｈａｒｍａ  ｅｔ  ａｌ）特許から知られているように、デバイスを固定するための特別なパッドの使用の必要性を排除する。画像撮像は異なる位置で実行されてもよく、かなりのサイズの平面をカバーしてもよい。
【００２９】
本発明に従ったデバイスもまた、特にＵＳ  ２０１６／０１１２２７９（Ｋａｌａｎｉｔｈｉ  ｅｔ  ａｌ）の特許出願に開示されているように、生産するのがより高価で電力源を必要とする電子ブロックを使用する解決法に対して、製造に関してはコストが効率的であり、操作も容易である。本発明に従ったデバイスは、厚紙（または代替的に子供向けのゲームと、通常関連付けらえる摩耗と断裂に耐える他のマテリアル）で作られた情報の物理的伝達部のセット、及びオンラインで利用可能なモバイルソフトウェアアプリケーションの形で商品化されてもよい。
【図面の簡単な説明】
【００３０】
本発明のオブジェクトが、好ましい実施形態で図面に示される。
【図１】本発明に従ったデバイスのブロック図を示す。
【図２】平坦な厚紙ブロックまたはパズルピースの形の、情報の物理的伝達部の詳細な構成を示す。
【図３】情報の物理的伝達部が配置される作業スペースを決定する、厚紙ボードの詳細な構成を示す。
【図４】平坦な厚紙ブロックまたはパズルピースの形の、情報の物理的伝達部の例を示す。
【図５】本発明に従ったデバイスとともに使用されてもよいプログラミング学習のためのコンピュータ表示スクリーン、及びマーカのスキャン前に示されるグラフィカルインターフェイスの要素を示す。
【図６】本発明に従ったデバイスとともに使用されてもよいプログラミング学習のためのコンピュータ表示スクリーン、及びマーカのスキャンの後に示されるグラフィカルインターフェイスの要素を示す。
【図７】情報の物理的伝達部の配置の例、及び本発明に従ったデバイスで生成されるコンピュータプログラムで制御されてもよいコンピュータゲームの表示スクリーンを示す。
【図８】本発明に従った方法を示す、概略図を示す。
【図９】デバイスの機能的構造の概略図を示す。
【発明を実施するための形態】
【００３１】
本発明に従ってコンピュータプログラムを生成するためのデバイスが、図１から９内に好ましい実施形態で示される。デバイスは、パズルピースの平坦な厚紙ブロックの形を有する情報の物理的伝達部２を備える。
【００３２】
ポーランド語または英語のような自然言語による説明文３、及び／または例えば靴底模様（段階の象徴）や、矢印（回転を象徴する）や、クエスチョンマーク（質問またはＩＦ関数を象徴する）などのような、人間に判読可能なグラフィカルシンボル４が、情報の物理的伝達部２に記載されている。
【００３３】
各伝達部２には、好ましくは左端から所与の距離の左側に、例えば白、及び黒や赤や暗赤色や紫や緑や青または柳緑のような異なる対比色の具合に、例えば少なくとも２つの対比色の要素７Ａ、７Ｂを有するマーカのような、対比長方形マーカ７が配置されている。マーカの他の実施形態においては、２より多い対比色が、マーカを定義するために使用されてもよい。好ましくは、マーカ７の要素７Ａ、７Ｂは、例えば特定のパターンを生成する要素の２次元配列のような、マトリックスバーコードを形成する。 
【００３４】
好ましくは、マーカ７は、対称軸の外側に配置されているか、または伝達部２の中央からずれている。これは、撮像画像のブロックの方向の決定を単純化する。マーカ７の形を定義するために、正方形の形を使用することは、伝達部２の画像の所与のエリアがマーカであるか否かの決定を単純化する。
【００３５】
情報の物理的伝達部２の複数のタイプの例が、図４の図面に示されている。同タイプの段階または値を複数有するアルゴリズムを構成することを可能にするために、各タイプの伝達部２を複数、使用されてもよい。例えば、情報の物理的伝達部２のセットは、以下のブロック（特定のタイプの伝達部のピースの数が括弧内に記載されている）を備える。
−アルゴリズムの境界を示すブロック：プログラムのＳＴＡＲＴ及びＥＮＤ；  −コマンドを示すブロック：段階（６ピース）、右回転（４ピース）、左回転（４ピース）、ＰＩＣＫ  ＵＰ（４ピース）、ＰＵＴ（３ピース）、ＵＳＥ（４ピース）、ＤＲＡＷ（２ピース）、ＪＵＭＰ（３ピース）、ＣＯＮＴＩＮＵＯＵＳＬＹ（３ピース）；
−変数を定義するブロック：ＶＡＲＩＡＢＬＥ（３ピース）；  −数値を定義するブロック：ＯＮＥ（５ピース）、ＴＷＯ（４ピース）、ＴＨＲＥＥ（３ピース）、ＦＯＵＲ（３ピース）、ＦＩＶＥ（２ピース）、ＳＩＸ（２ピース）、ＳＥＶＥＮ（２ピース）、ＥＩＧＨＴ（２ピース）、ＮＩＮＥ（２ピース）、ＺＥＲＯ（２ピース）；
−：変数名を定義するブロック：Ｘ（６ピース）、Ｙ（４ピース）；
演算子を定義するブロック：ＥＱＵＡＬＳ（３ピース）、マイナス（３ピース）、ＰＬＵＳ（２ピース）；  −相対位置を定義するブロック：ＨＥＲＥ（３ピース）、ＩＮ  ＦＲＯＮＴ（３ピース）、ＯＮ  ＴＨＥ  ＲＩＧＨＴ（２ピース）、ＯＮ  ＴＨＥ  ＬＥＦＴ（２ピース）、ＢＥＨＩＮＤ（２ピース）；
−オブジェクトを定義するブロック：ＥＭＰＴＹ（３ピース）、ＯＢＳＴＡＣＬＥ（３ピース）、ＨＩＬＬ（３ピース）、ＥＮＶＥＬＯＰＥ  Ａ（３ピース）、ＥＮＶＥＬＯＰＥ  Ｂ（３ピース）、ＡＮ  ＯＢＪＥＣＴ  ＴＯ  ＰＩＣＫ  ＵＰ（３ピース）、ＡＣＴＩＯＮエリア（３ピース）；  −コマンド実行部を定義するブロック：ＣＯＮＴＲＯＬ（ＣＨＡＲＡＣＴＥＲ  Ａ）（３ピース）、ＣＯＮＴＲＯＬ（ＣＨＡＲＡＣＴＥＲ  Ｂ）（３ピース）、ＣＯＮＴＲＯＬ（ＣＨＡＲＡＣＴＥＲ  Ｃ）（３ピース）、ＣＯＮＴＲＯＬ（ＣＨＡＲＡＣＴＥＲ  Ｄ）（２ピース）；
−関数を定義するブロック：ＤＥＦＩＮＥ  Ａ  ＦＵＮＣＴＩＯＮ（３ピース）、ＥＮＤ  ＯＦ  ＦＵＮＣＴＩＯＮ（３ピース）、ＥＸＩＴ  ＦＵＮＣＴＩＯＮ（３ピース）、ＥＸＥＣＵＴＥ  ＦＵＮＣＴＩＯＮ（５ピース）、Ａ（５ピース）、Ｂ（５ピース）、Ｃ（５ピース）。
【００３６】
好ましい実施形態においては、本発明に従ったデバイスは、デジタル画像を撮像するように構成された画像撮像デバイス５と、及び画像撮像デバイス５から取得したデジタル画像を処理するように構成されたコンピュータデバイス６を備える。これらのデバイスは、オペレーティングシステムと、バックパネルのカメラを備えるタブレット１１の形で統合され得る。他のデバイスは、スマートフォンや、ノート型コンピュータなどでも、同様に使用され得る。
【００３７】
システムを使用するため、ユーザはカメラを備えるタブレット１１の標準的タイプの任意の種類を使用してもよく、それに特定の情報の物理的伝達部２にコンピュータプログラムの要素が割り当てられるプログラミング環境を備える追加のソフトウェアアプリケーション６０をインストールしてもよい。
【００３８】
コンピュータデバイス６にインストールされたソフトウェアアプリケーションＡｐｐ６０は、以下モジュールを備えてもよい。
−カメラ５で撮像されたデジタル画像を読み取るように構成された、画像撮像モジュール６１；
−デジタル画像を処理して、画像上の伝達部２を認識して、特に伝達部上のマーカを認識することで、伝達部２の互いに対する配置を決定するように構成された画像処理モジュール６２；
−マーカをコンピュータプログラム要素と関連付けるデータコンテナ６４によって、抽出されたマーカ７の配置をコンピュータプログラム構造へと変換するように構成されたコンピュータプログラム生成部６３。
【００３９】
データコンテナは、識別マーカを選択された動作と関連付ける構造に基づいて、情報の物理的伝達部の順序付けられた識別子の配列の形を有してもよい。
【００４０】
ソフトウェアアプリケーションはユーザによってインターネットからダウンロードされてもよく、本発明に従ったシステムの残りの要素とともに、コンピュータ可読媒体上に提供され得る。
【００４１】
ボード１２上に配置され得る情報の物理的伝達部２は、例えば厚紙で作られて、作業スペースを定義する。ボード１２は、ユーザに販売するために提供されるセット１の要素の１つを形成してもよい。 
【００４２】
ボード１２は、その上にプリントされた点の格子及び対比輪郭１４を有してもよい。点は、伝達部２の配置決めと順序付けを容易にする。さらに、点及び／または輪郭１４は、例えば遠近を修正したり、画像を拡大縮小したりするために、カメラ５によって撮像されたデジタル画像の画像認識を容易にする。
【００４３】
ユーザは、好ましくはボード１２上にブロックを配置することによって、利用可能なブロックからアルゴリズムを生成する。ユーザは、利用可能なブロック上に存在する自然言語説明文３、及び利用可能ブロック状に存在するグラフィカルシンボル４またはユーザマニュアル内の利用可能な命令によって指示される。
【００４４】
各アルゴリズムはＳＴＡＲＴブロック２２で開始して、エンドブロック２３で終了する。ＳＴＡＲＴブロック２２の後に、生成されたアルゴリズム５の部分である命令が、好ましくは縦に、一つの軸に沿って順次配置される。
【００４５】
いくつかのブロックは右側にブロックを追加する可能性があり、例えば段階ブロック２４に対して、誰かしらが複数の段階２５を示すブロックを追加してもよい。
【００４６】
続いて、ユーザはタブレット１１のようなコンピュータデバイス６にインストールされたアプリケーション６０を使用して、平面に配置されたブロックの画像撮像処理（写真またはビデオ）を実行する。画像を撮像するため、ユーザはタブレット１１を保持して、背面カメラをブロックが配置された平面に対して向けてもよい。
【００４７】
アプリケーション６０は、撮像デジタル画像上のマーカ７を認識及び識別する。例えば、アプリケーションは認識されたマーカ７上に表示される緑色のアイコン１５を認識してもよい。緑色アイコン１５の表示は、実際の写真を取る前またはビデオシークエンスの記録中であってさえも、リアルタイムでタブレット１１の表示スクリーンに行われる。
【００４８】
図５は、本発明に従ったデバイスとともに使用されてもよいプログラミング学習のためのコンピュータ表示スクリーン、及びマーカ７のスキャン前に示されるグラフィカルインターフェイス要素を示す。
【００４９】
ユーザは、この実施形態においては撮影カメラと類似するスキャンアイコン１６を選択することによって、ブロックのスキャン及び認識を実行する。
【００５０】
図６は本発明に従ったデバイスとともに使用されてもよいプログラミング学習のためのコンピュータ表示スクリーン、及びマーカ７のスキャン後に示されるグラフィカルインターフェイスの要素を示す。
【００５１】
全てのマーカ７が認識されてない場合には、ユーザは再試行アイコン１７を選択することによって、写真またはビデオを取るシークエンスにおいて、別の試みをしてもよい。
【００５２】
スキャンが成功した時は、アプリケーションは読み取ったコンピュータプログラムを実行してもよい。好ましくは、ユーザは、再生アイコン１８を選択することによってコンピュータプログラムを始動する。
【００５３】
ユーザによって生成された単純なプログラムは教育コンピュータゲームを制御するのに使用されてもよく、異なるタスクを保持するために学生（ユーザ）は、キャラクターが必要とされるタスクを完了するような方法で、タブレット１１の表示スクリーン上を移動するキャラクター１９をプログラムする。
【００５４】
図７は、教育コンピュータゲームのスクリーンを示し、当該ゲームにおけるプレイヤのタスクは、スクリーン上に見えるスター２０を拾うために、キャラクター１９を移動させることである。これをするためにユーザは、情報の物理的伝達部２である利用可能なブロックから、図７に示される配置２１を生成する。
【００５５】
本発明に従ったコンピュータプログラムを生成するための方法は、例示的な実施形態においては、以下で定義された段階を備える。図８は、本発明に従った方法を示す概略図を示す。情報の物理的伝達部２は、上で説明された平坦な厚紙ブロックの形で、例えば厚紙ボード１２などの平面にユーザによって配置される。
【００５６】
次に、タブレット１１の背面カメラであってもよい画像撮像デバイス５を使用することで、ユーザは平面上の情報の物理的伝達部２の配置を記録する。
【００５７】
続いて、画像撮像デバイス５によって撮像された画像は、好ましくは１２８０ピクセル×９６０ピクセルの写真または同じフレームサイズのビデオシークエンスの形態で、タブレット１１であるコンピュータデバイス６へと転送される。
【００５８】
次に、コンピュータデバイス６において、コンピュータプログラムを生成する前に、（画像処理モジュール６２を使用して、）マーカ７及びその頂点が識別される。マーカ７の識別は、好ましくはＡｒＵｃｏと呼ばれるライブラリの好ましくはバージョン１．３．０で、または同じ機能を有する他の同様のソフトウェアもしくはハードウェアを使用することで、行われる。この手順の段階の例示的な入力データは、以下の表に示される。
【００５９】
識別子  ｜  頂点の座標（ｘ，ｙ）
５      ｜  （７８８，  ３５７），  （８３６，  ３５７），  （８３８，  ４０２），  （７８９，  ４０３）
８      ｜  （５３６，  ３６２），  （５８３，  ３６０），  （５８４，  ４０５），  （５３６，  ４０７）
１０    ｜  （１７６，  ３７７），  （２２３，  ３７６），  （２２０，  ４２１），  （１７３，  ４２２）
１１    ｜  （１８７，  ５８５），  （２３６，  ５８４），  （２３３，  ６３３），  （１８４，  ６３４）
１７    ｜  （２０６，  ８１４），  （２５７，  ８１４），  （２５４，  ８６７），  （２０２，  ８６７）
４４    ｜  （５６８，  ４７３），  （６１８，  ４７２），  （６１８，  ５１９），  （５６８，  ５２０）
【００６０】
Ｘ軸は右に向けられて、一方でＹ軸は下に向けられる。（０，０）の座標点は、好ましくは画像の左上の角に存在する。識別子は、高コントラストの各々の長方形マーカ７に割り当てられ、各々情報の物理的伝達部２にも割り当てられる。
【００６１】
コンピュータビジョン処理の結果として取得された識別子の集合は、順序付けられていない。さらなる処理を可能とするために、マーカ７が存在するブロックのシークエンスに従って、上記集合は順序付けられる必要がある。
【００６２】
順序付ける段階は、２つのサブ段階を有する。第１段階中には、カメラはブロックの回転に従って回転され、ブロックが配置された平面と平行に配置されたカメラによって取られているかのように見えるように、入力画像を変換することを可能とする変換（遠近修正）８０２が見出される。第２段階中には、変換の適用後に、頂点の座標はラインへとグループ化され、それらの読み取りのシークエンス８０３に従って順序付けられる。
【００６３】
前述の第１段階は、データをアルゴリズムへと変換することを可能とするように、順序付ける。この目的のために、マーカ７の相互の配置を決定が必要とされる。
【００６４】
これをするために、画像撮像デバイス５によって撮像された画像の変換が実行され、マーカ７の頂点のデータに基づいて遠近のずれを除去する。遠近変換を定義するために、各４つの点の２つの集合が必要とされる。各集合の３つ点は同一直線上にあってはならず、各集合の４つの点の全ては、単一の平面上に存在しなければならない。
【００６５】
ＯｐｅｎＣＶプログラミングライブラリにおいて、ｇｅｔＰｅｒｓｐｅｃｔｉｖｅＴｒａｎｓｆｏｒｍが、この目的にために使用されてもよい。取得された遠近変換は、点の集合を１つ集合から別の集合へと変換することを可能とする。使用された各マーカ７は、４つの頂点を有し、これらそのような集合の１つとして使用してもよい。各マーカ７は所与のサイズの正方形であることは知られているので、別の集合がこの正方形の頂点として生成されてもよい。
【００６６】
これらの２つの集合は、マーカ７の画像を変換することを可能とする変換を決定することを可能として、その結果として遠近の歪みが除去される。
【００６７】
取得された変換は、画像撮像デバイス５の距離及びその傾斜と回転角度に関係なく、所与のマーカ７について同じ見え方を取得することを可能とする。
【００６８】
説明された例においては、画像には１より多い複数のマーカ７がある。頂点座標の決定結果は不正確なので、所与のマーカ７のために決定された変換は、残りのマーカ７を含む画面全体に対して使用されなくてもよい。この目的のために、個々のマーカ７の個々の変換の全ての組み合わせである変換が取得されなければならい。
【００６９】
したがって、マーカ７間の距離の行列が決定される。これらの値は変換の結合の順序を決定するためにのみ使用されるので、正確である必要はない。好ましくは、エラーは平均マーカサイズより小さくあるべきである。２つのマーカ７間の距離は、各マーカ７のために取得された変換を使用して画像を変換した後に、マーカ７間の平均距離として算出される。マーカ７は、スパニングツリー内でのマーカの間の距離を増大させることで、順序集合に従って、より大きなグループへと組み合わせられる。
【００７０】
マーカ７を組み合わせてグループを形成している最中に、以下に記載された手順に従って後続のより正確な変換が、決定される。
【００７１】
第１に、検出マーカ７と同じ数のグループが生成される。変換を取得するのに必要とされる点の２つの集合及び当該及び変換が、各グループと関連付けられる。第１の集合（ソースの点の集合）は、オリジナル画像内にマーカ７の頂点の座標を有し、一方で第２の集合（対象点）は、所与のグループに対する画像変換後の対象座標を有する。
【００７２】
開始時点において、単一のマーカ７の４つの頂点が、所与のグループ及び任意のサイズの正方形の４つの頂点に割り当てられる。２つのグループの組み合わせ中に、対応する集合を組み合わせる必要と、新しい変換を決定する必要がある。
【００７３】
点の集合は、同じ基準フレーム内に頂点の座標を有するので、直接組み合わせてもよい。対象点の集合を組み合わる時、異なる基準フレームにおいて定義されるので問題が起こるかもしれない。したがって、第１にこれらの基準フレームの相互のずれを決定する必要がある。以下に説明される手順を使用して算出される。
【００７４】
両グループのマーカ７のオリジナル座標は、グループのうちの１つに対して決定された変換によって変換される。この基準フレームにおいては、異なるグループに属する２つの最も近いマーカ７の間でのずれが決定される。この値は、基準フレームの前述のずれである。
【００７５】
精度を増大させるため、このずれ（ベクトル）は、第２グループの変換を再度使用して算出される。最終的な結果として、２つのベクトルの重み平均が推測されて、重みが各グループのサイズによって与えられる。点の集合を組み合わせた後に、新しい変換が決定される。
【００７６】
ＯｐｅｎＣＶライブラリにおいて、ｆｉｎｄＨｏｍｏｇｒａｐｈｙ関数が、この目的のために使用される。取得された変換は、全グループを組み合わせた後に、完全な画像の変換に適用されてもよい。
【００７７】
変換後の画像において、行はＸ軸と平行にセットされ、したがって各々の行においては、マーカ７はＸ座標の値が増大するに従って、それらの読み取りシークエンスに対して順序付けられてもよい。
【００７８】
次に、関連付けられたマーカ識別子の表は、抽象構文ツリー（ＡＳＴ）８０４に変換される。これに基づいて、コンピュータデバイス６において、コンピュータプログラムが、情報の物理的伝達部２の識別子の順序付けられた値の表から生成される。
【図１】
2019525365.tif 000003
【図２】
2019525365.tif 000004
【図３】
2019525365.tif 000005
【図４】
2019525365.tif 000006
【図５】
2019525365.tif 000007
【図６】
2019525365.tif 000008
【図７】
2019525365.tif 000009
【図８】
2019525365.tif 000010
【図９】
2019525365.tif 000011
【国際調査報告】
2019525365.tif 000012
2019525365.tif 000013