JP6868478B2 - コード動画連携装置及びコード動画連携プログラム - Google Patents

コード動画連携装置及びコード動画連携プログラム Download PDF

Info

Publication number
JP6868478B2
JP6868478B2 JP2017118680A JP2017118680A JP6868478B2 JP 6868478 B2 JP6868478 B2 JP 6868478B2 JP 2017118680 A JP2017118680 A JP 2017118680A JP 2017118680 A JP2017118680 A JP 2017118680A JP 6868478 B2 JP6868478 B2 JP 6868478B2
Authority
JP
Japan
Prior art keywords
code
moving image
statement
video
source code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017118680A
Other languages
English (en)
Other versions
JP2019003480A (ja
Inventor
一利 額田
一利 額田
健生 山▲崎▼
健生 山▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2017118680A priority Critical patent/JP6868478B2/ja
Publication of JP2019003480A publication Critical patent/JP2019003480A/ja
Application granted granted Critical
Publication of JP6868478B2 publication Critical patent/JP6868478B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ソースコードの位置とオブジェクトの動きとを紐付けするコード動画連携装置及びコード動画連携プログラムに関する。
従来から、小学校、中学校および高校などにおける教育教材用ロボットであって、予めプログラミングされたプログラムによって制御する自動制御の知識を教授するのに好適に用いられるロボットの発明が知られている(特許文献1参照)。
特許文献1では、製作したプログラムの内容を表示部で見ながら、実際に動作するロボットの動作を見る。これら、表示部の確認とロボットの動作の確認とを合わせることで、使用者は製作したプログラムどおりにロボットが動作していることを確認できることが記載されている。
特開2011-224732号公報
しかし、プログラムによって、IoTデバイスを動かして学ぶ場合、コンピュータプログラムの内容とその時のIoTデバイスの動きが関連付けし辛い。特に、他人の作ったコンピュータプログラムを見る場合は分かり難く、プログラミングの知識が必要となってしまう。
そこで、本発明は、このような状況に鑑みてなされたものであり、プログラミングの知識がない人でも、オブジェクトの動きからプログラムの内容を理解し易くするコード動画連携装置及びコード動画連携プログラムの提供を目的とする。
本発明の一態様に係るコード動画連携装置は、ソースコードに示された一連の指示に従って動作しているオブジェクトの動画を取得する動画取得手段と、ソースコードを取得するコード取得手段と、動画におけるオブジェクトの動作と、動作に対応する指示が記述されたソースコードのステートメントとを紐付けるコード動画合成手段とを備える。
上述したコード動画連携装置によれば、プログラミングの知識がない人でも、オブジェクトの動きからプログラムの内容を理解し易くなる。
図1は、第1実施形態に係わるコード動画連携システムの全体概略構成図である。 図2Aは、第1実施形態に係わるIoT連携装置91の機能ブロック構成図である。 図2Bは、第1実施形態の変形例に係わるIoT連携装置91の機能ブロック構成図である。 図3Aは、第1実施形態に係わるコード動画連携システムの動作例を示すフローチャートである。 図3Bは、第1実施形態の変形例に係わるコード動画連携システムの動作例を示すフローチャートである。 図4は、第2実施形態に係わるIoT連携装置91の機能ブロック構成図である。 図5は、第2実施形態に係わるコード動画連携システムの動作例を示すフローチャートである。 図6は、第3実施形態に係わるコード動画連携システムの全体概略構成図である。 図7は、第3実施形態に係わるコード動画連携システムの動作例を示すフローチャートである。 図8は、連携コード表示部913が表示する画像例を示す図である。
以下、実施形態を図面に基づいて説明する。なお、同一の機能や構成には、同一または類似の符号を付して、その説明を適宜省略する。
(第1実施形態)
図1を参照して、第1実施形態に係わるコード動画連携システムの全体構成を説明する。第1実施形態に係わるコード動画連携システムは、ソースコードに示された一連の指示に従って動作するオブジェクトの一例としてのIoTデバイス92と、ソースコードに従って動作しているIoTデバイス92の動画とソースコードとを連携させるIoT連携装置91とを備える。
コード動画連携システムは、ソースコードに従って動作しているIoTデバイス92を撮像して、IoTデバイス92の動画(音声を含む)を取得するカメラ93を更に備えていてもよい。勿論、予めIoTデバイス92を撮像した動画が有れば、カメラ93は省略可能である。
IoTデバイス92は、コンピュータプログラム(コード)に従って動作可能なデバイスの一例であり、IoTデバイス92の代わりに、コンピュータプログラム(コード)に従って動作可能な他のロボットに置き換えて実施することも可能である。デバイスの「動作」には、デバイス全体或いは一部の移動や回転、デバイスが備える発光部の発光、デバイスが備えるスピーカからの発音(音を発すること)など、デバイスに対してコードによって指示することが可能であり、且つ動画として記録可能な全ての動作を含む。
なお、「オブジェクト」とは、デバイス等の現実に存在するハードウェアのみならず、仮想現実(VR)や拡張現実(AR)において存在するアバターやアイコンなどのソフトウェアをも含む概念である。言うまでもないが、オブジェクトがソフトウェアである場合、「動作」を撮像するカメラ93は不要となる。
IoT連携装置91は、IoTデバイス92が理解可能なコードを、IoTデバイス92へ出力し、当該コードを受信して当該コードに従って動作するIoTデバイス92からコード実行時のタイムスタンプなどの情報を受信することができる。一方、カメラ93は、コードに従って動作しているIoTデバイス92を撮像し、取得した動画にタイムスタンプを付してIoT連携装置91へ送信する。IoT連携装置91は、IoTデバイス92及びカメラ93の双方から受信するタイムスタンプを用いて、IoTデバイス92の動作と、この動作に対応する指示が記述されたソースコードのステートメントとを紐付けることができる。
IoT連携装置91(コード動画連携装置)として、CPU(中央処理装置)、メモリ、及び入出力部を備える汎用のマイクロコンピュータを用いることができる。IoT連携装置91には、コード動画連携装置として機能させるためのコンピュータプログラム(コード動画連携プログラム)がインストールされている。コンピュータプログラムを実行することにより、IoT連携装置91は、コード動画連携装置が備える複数の情報処理回路(910〜917、図2A及び図4参照)として機能する。なお、ここでは、ソフトウェアによってコード動画連携装置が備える複数の情報処理回路(910〜917)を実現する例を示すが、もちろん、以下に示す各情報処理を実行するための専用のハードウェアを用意して、情報処理回路(910〜917)を構成することも可能である。また、複数の情報処理回路(910〜917)を個別のハードウェアにより構成してもよい。
図2Aを参照して、第1実施形態に係わるIoT連携装置91の機能的構成を説明する。第1実施形態に係わるIoT連携装置91は、複数の情報処理回路として、コード取得部910と、コード生成部911と、コード動画結合部912と、連携コード表示部913と、コード出力部914と、動画取得部916とを備える。
コード取得部910(コード取得手段)は、IoTデバイス92に実行させたいソースコードを外部から取得する。例えば、ユーザからの指示に従い、コード取得部910はソースコードを取得する。ソースコードの取得方法は特に問わない。取得されたソースコードは、コード生成部911(コード生成手段)に転送され、コード生成部911は、ソースコードをIoTデバイス92が直接的に実行可能なコード(機械語、オブジェクトコードを含む)に変換し、コード出力部914(コード出力手段)へ転送する。
コード出力部914は、変換されたコードをIoTデバイス92に出力する。コード出力部914は、IoTデバイス92へコードを出力したタイミングを示す情報として、タイムスタンプをコード動画結合部912へ送信する。具体的には、コード出力部914は、IoTデバイス92へ出力したステートメント毎に、タイムスタンプを送信する。変換されたコードを受信したIoTデバイス92は、受信したコードに示された指示に従って動作する。
図1のカメラ93は、コードに従って動作しているIoTデバイス92を撮像し、取得した動画にタイムスタンプを付してIoT連携装置91へ送信する。具体的には、カメラ93は、動画に含まれるフレーム毎に、タイムスタンプを付してIoT連携装置91へ送信する。
動画取得部916(動画取得手段)は、カメラ93から送信された動画及びタイムスタンプを受信し、コード動画結合部912に転送する。
コード動画結合部912(コード動画合成手段)は、動画におけるIoTデバイス92の動作と、動作に対応する指示が記述されたソースコードのステートメントとを紐付ける。コード動画結合部912は、予め、コード生成部911からソースコードを取得し、動画をタイムスタンプ毎の時間(例えば、10秒毎)でキャプチャ分けする。コード動画結合部912は、動画の各フレームに付されたタイムスタンプと、コード出力部914が各ステートメントをIoTデバイス92に出力した時のタイムスタンプとが一致するように、動画の各クレームとコードの各ステートメントとを紐付ける。
連携コード表示部913は、紐付けられた動画の各クレームとコードの各ステートメントとを、外部の表示装置(図示せず)に表示させる。図8は、表示例を示す。画面の左側にソースコード21が表示され、右側にキャプチャした動画22が配列されている。ソースコード21はステートメント毎に配列されて表示されている。キャプチャした動画22とステートメントとの間にはタイムスタンプ24が表示されている。キャプチャした動画22とステートメントは、同じタイムスタンプ24によって紐付けされている。
図3Aのフローチャートを参照して、第1実施形態に係わるコード動画連携システムの動作例を説明する。先ず、ステップS01において、ユーザの指示の基、コード取得部910は、IoTデバイス92の動作と連携させたいソースコードを取得する。そして、コード生成部911は、ソースコードを機械語或いはオブジェクトコードに変換し、コード出力部914へ転送する。
ステップS03へ進み、コード出力部914は、変換されたコードをコード生成部911から取得し、IoTデバイス92に出力する。このとき、コード出力部914は、ステートメント単位でコードを出力する。そして、ステップS05において、コード出力部914は、各ステートメントをIoTデバイス92に出力したタイミングを示す情報を示すタイムスタンプを、コード動画結合部912へ送信する。
ステップS07へ進み、各ステートメントを受信したIoTデバイス92は、受信した各ステートに示された指示に従って動作する。ステップS09へ進み、カメラ93は、コードに従って動作するIoTデバイス92を撮像し、動画を記録する。そして、カメラ93は、記録した動画をタイムスタンプと共にIoT連携装置91(動画取得部916)へ送信する。
ステップS11へ進み、IoT連携装置91(コード動画結合部912)は、カメラ93から送信された動画をそのタイムスタンプ毎の時間(例えば、10秒毎)でキャプチャ分けする。ステップS13へ進み、コード動画結合部912は、コード出力部914が各ステートメントをIoTデバイス92に出力した時のタイムスタンプに対して、各ステートメントを紐付ける。
ステップS15へ進み、コード動画結合部912は、動画の各フレームに付されたタイムスタンプと、コード出力部914が各ステートメントをIoTデバイス92に出力した時のタイムスタンプとが一致するように、キャプチャ分けされた動画の各クレームとタイムスタンプが付された各ステートメントとを紐付ける。そして、連携コード表示部913は、例えば、図8に示す画像を外部の表示装置(図示せず)に表示させる。
以上説明したように、第1実施形態によれば、ソースコードに示された一連の指示に従って動作しているIoTデバイス92の動画を取得し、動画におけるIoTデバイス92の動作と、動作に対応する指示が記述されたソースコードのステートメントとを紐付ける。これにより、IoTデバイス92をコンピュータプログラムによって動かして学ぶ場合、コンピュータプログラムの内容とその時のIoTデバイス92の動きを関連付けし易くなる。よって、プログラミングの知識がない人でも、オブジェクトの動きからプログラムの内容を理解し易くなる。
第1実施形態では、カメラ93が、ソースコードに示された一連の指示に従って動作しているIoTデバイス92を撮像して動画を取得し、動画をIoT連携装置91へ出力する。これにより、ソースコードに従って動作するIoTデバイス92等のロボット(ハードウェア)の動画を取得することができる。
コード出力部914は、コードに含まれる各ステートメントをIoTデバイス92に出力した時のタイムスタンプを、コード動画結合部912へ送信し、コード動画結合部912は、コード出力部914がコードを出力したタイムスタンプを用いて、IoTデバイス92の動作と各ステートメントとを紐付ける。これにより、コード出力部914がIoTデバイス92へ指示を出力したタイミングとIoTデバイス92の動作とを紐付けることができる。
(変形例)
上記した第1実施形態では、コード動画結合部912は、コード出力部914がコードを出力したタイムスタンプを用いて、IoTデバイス92の動作と各ステートメントとを紐付けた例を示した。しかし、コード出力部914がIoTデバイス92へ指示を出力した時のタイムスタンプの代わりに、IoTデバイス92が各ステートメントを実行した時のタイムスタンプを用いて、IoTデバイス92の動作とステートメントとを紐付けても構わない。
具体的には、図2Aにおいて、コード出力部914がコードを出力した時のタイムスタンプをコード動画結合部912に送信する代わりに、図2Bに示すように、IoTデバイス92が各ステートメントを実行した時のタイムスタンプをコード動画結合部912に送信する。コード動画結合部912は、動画の各フレームに付されたタイムスタンプと、IoTデバイス92が各ステートメントを実行した時のタイムスタンプとが一致するように、動画の各クレームとコードの各ステートメントとを紐付ける。
したがって、図3AのステップS05の代わりに、図3BのステップS08において、IoTデバイス92が各ステートメントを実行した時のタイムスタンプをコード動画結合部912に送信する。
変形例によれば、IoTデバイス92が各ステートメントを実行したタイミングとIoTデバイス92の動作とを紐付けることができる。なお、変形例に係わるコード動画連携システムの全体構成は、第1実施形態のそれと同じであるため、図示及び説明を省略する。
(第2実施形態)
第1実施形態及びその変形例では、IoTデバイス92側のタイミング情報として、コード出力部914がステートメントを出力したタイムスタンプ、或いはIoTデバイス92が各ステートメントを実行したタイムスタンプを用いた。
これに対して、第2実施形態では、IoT連携装置91’がIoTデバイス92から出力される音響信号に基づいて、IoTデバイス92が実行するステートメントを特定することにより、IoTデバイス92の動作とステートメントとを紐付ける。
図4を参照して、第2実施形態に係わるIoT連携装置91’の機能的構成を説明する。図2AのIoT連携装置91に比べて、IoT連携装置91’は、更に、マイク915と、復号部917(復号手段)とを有する。マイク915は、IoTデバイス92からその動作として出力された音響信号を電気信号へ変換する。
復号部917は、マイク915により受信された音響信号を復号する。コード動画結合部912は、復号部917により復号された信号から音響信号の出力動作に対応するステートメントを特定する。例えば、無線伝送で使用されているOFDM変調技術を音響領域に適用した音響OFDMを用いることができる。コード動画結合部912は、カメラ93から受信した動画に含まれる音声に対して、音響信号の出力動作に対応するステートメントを関連付ける。
図5のフローチャートを参照して、第2実施形態に係わるコード動画連携システムの動作例を説明する。ステップS31、S33、S35は、図3AのステップS01、S03、S07とそれぞれ同じであり、説明を省略する。なお、ステップS37では、IoTデバイス92は、ソースコードに従った動作として、スピーカを用いて音響信号(音波を含む)を出力する。音響信号の波長域は特に問わず、人間の聴覚範囲外の波長域の音響信号も含まれる。
ステップS39において、IoT連携装置91’が、マイク915を用いて音響信号を取得し、復号部917が、マイク915により受信された音響信号を復号する。そして、コード動画結合部912が、復号部917により復号された信号から音響信号の出力動作に対応するステートメントを特定する。
ステップS41において、カメラ93が、コードに従って動作するIoTデバイス92を撮像し、動画を記録する。そして、カメラ93は、記録した動画をIoT連携装置91(動画取得部916)へ送信する。なお、図3AのステップS09では、タイムスタンプを動画に付して送信したが、ステップS41では不要である。
ステップS41へ進み、IoT連携装置91(コード動画結合部912)は、音響信号の出力動作のタイミングで、カメラ93から送信された動画をキャプチャ分けする。ステップS45へ進み、コード動画結合部912は、キャプチャ分けされた動画の各クレームと、音響信号の出力動作に対応する各ステートメントとを紐付ける。そして、連携コード表示部913は、例えば、図8に示す画像を外部の表示装置(図示せず)に表示させる。
第2実施形態によれば、コードの出力又はコードの実行に関わるタイムスタンプを用いることなく、IoTデバイス92から出力される音響信号を用いて、各ステートメントとIoTデバイス92の動作とを紐付けることができる。
(第3実施形態)
IoTデバイス92の各動作に対応するコード内のステートメントを特定する方法として、コードの出力又はその実行に関わるタイムスタンプ或いは音響信号の代わりに、動画の解析処理を用いることも可能である。
図示は省略するが、第3実施形態に係わるコード動画結合部912は、動画取得部916が取得したIoTデバイス92の動画を解析して、IoTデバイス92の動作及びその動作に対応するステートメントを特定する。IoTデバイス92が歩行可能なロボットである場合、コード動画結合部912は、IoTデバイス92の動画を解析して、IoTデバイス92の動作の種別及び種別に対応するコード内のステートメントを特定する。動作の種別には、例えば、IoTデバイス92の前進、後退、旋回、回転が含まれる。画像から特徴点を抽出し、テンプレートマッチング処理により画像からIoTデバイス92を特定し、画像からIoTデバイス92の特徴点を選択する。そして、フレーム間で特徴点のマッチング処理を行い、特徴点をトラッキングすることにより、IoTデバイス92の動作の種別を特定できる。更に、テンプレートマッチング処理により、IoTデバイス92の各部位を特定してもよい。これにより、IoTデバイス92の部位毎の相対的な動作の種別を特定することが可能となる。IoTデバイス92の各部位には、例えば、頭部、上肢、下肢、手、足、胴体、尾が含まれる。予め用意したこれらの部位の画像テンプレートを用いて、テンプレートマッチング処理を行うことにより、各部位の相対的な動作の種別を特定することができる。相対的な動作の種別には、例えば、頭を縦或いは横に振る、両肢又は片肢を上げる、下げる、手又は尾を振る、が含まれる。コード動画結合部912は、動画の解析処理によりIoTデバイス92の動作を特定することにより、IoTデバイス92の動作と当該動作に対応するステートメントとを紐付けることができる。
第3実施形態によれば、コードの出力又はコードの実行に関わるタイムスタンプを用いることなく、動画の解析処理によって、各ステートメントとIoTデバイス92の動作とを紐付けることができる。
(第4実施形態)
図6を参照して、第4実施形態に係わるコード動画連携システムの全体構成を説明する。IoT連携装置91とIoTデバイス92とは、コンピュータネットワーク95を介して通信可能に接続されている。更に、コード動画連携システムは、コンピュータネットワーク95を介してアクセス可能なサーバ94を備える。その他は、図1のコード動画連携システムと同じであり、説明を省略する。
第1実施形態では、IoT連携装置91のコード出力部914が、コードをIoTデバイス92に直接送信していた。第4実施形態では、コード出力部914がコンピュータネットワーク95を介してサーバ94へコードを送信し、サーバ94がコンピュータネットワーク95を介してIoTデバイス92へコードを送信する。
図7のフローチャートを参照して、第4実施形態に係わるコード動画連携システムの動作例を説明する。ステップS51は、図3AのステップS01と同様に、IoTデバイス92の動作と連携させたいソースコードを取得し、ソースコードを機械語或いはオブジェクトコードに変換する。
ステップS53へ進み、コード出力部914は、変換されたコードをコード生成部911から取得し、サーバ94に出力する。
ステップS55へ進み、図3AのステップS05と同様に、コード出力部914は、各ステートメントをIoTデバイス92に出力したタイミングを示す情報を示すタイムスタンプを、コード動画結合部912へ送信する。ステップS57へ進み、サーバ94は、コード出力部914から受信したコードを、IoTデバイス92に出力する。このとき、サーバ94は、ステートメント単位でコードを出力する。
その後、ステップS59〜S67では、図3AのステップS07〜S15同じ処理を実行する。ステップS59〜S67の詳細な説明を省略する。
上記のように、本発明の実施形態を記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
例えば、第4実施形態のコード動画連携システムを、第1実施形態の変形例に適用することも可能である。つまり、IoTデバイス92が各ステートメントを実行した時のタイムスタンプをサーバ94に送信し、サーバ94がタイムスタンプをコード動画結合部912に送信してもよい。第4実施形態のコード動画連携システムを、第2実施形態に適用することも可能である。つまり、第2実施形態では、IoT連携装置91のコード出力部914が、コードをIoTデバイス92に直接送信していた。第4実施形態を第2実施形態に適用して、コード出力部914がコンピュータネットワーク95を介してサーバ94へコードを送信し、サーバ94がコンピュータネットワーク95を介してIoTデバイス92へコードを送信してもよい。
更に、第1実施形態と第2実施形態と第3実施形態から任意に選んだ2又は3の実施形態を組み合わせて実施することができる。つまり、コードの出力又はその実行に関わるタイムスタンプ、音響信号、動画の解析処理の中から任意に選んだ2つ又は3つの紐付け手段を組み合わせて、IoTデバイス92の動作と当該動作に対応するステートメントとを紐付けてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。例えば、チャネル及び/又はシンボルは信号(シグナル)であってもよい。また、信号はメッセージであってもよい。
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
メモリは、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read
Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリは、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリは、上述した実施形態に係る方法を実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
入出力部は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)入力デバイスと、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)とを含む。なお、入力デバイス及び出力デバイスは、一体となった構成(例えば、タッチパネル)であってもよい。
また、CPUやメモリなどの各装置は、情報を通信するためのバスで接続される。バスは、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
また、「含む(including)」、「含んでいる(comprising)」、及びそれらの変形の用語は、「備える」と同様に、包括的であることが意図される。さらに、本明細書或いは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
21 ソースコード
22 動画
24 タイムスタンプ
92 IoTデバイス(オブジェクト)
91、91’ IoT連携装置
93 カメラ
910 コード取得部(コード取得手段)
911 コード生成部(コード生成手段)
912 コード動画結合部(コード動画合成手段)
914 コード出力部(コード出力手段)
916 動画取得部(動画取得手段)
917 復号部(復号手段)

Claims (6)

  1. ソースコードに示された一連の指示に従って動作しているオブジェクトの動画を取得する動画取得手段と、
    前記ソースコードを取得するコード取得手段と、
    前記動画における前記オブジェクトの動作と、前記動作に対応する前記指示が記述された前記ソースコードのステートメントとを紐付けるコード動画合成手段と
    前記オブジェクトとしてのデバイスから前記動作として出力された音響信号を復号する復号手段とを備え、
    前記コード動画合成手段は、前記復号手段により復号された信号から前記音響信号の出力動作に対応する前記ステートメントを特定することにより、前記動作と前記ステートメントとを紐付ける
    コード動画連携装置。
  2. ソースコードに示された一連の指示に従って動作しているオブジェクトの動画を取得する動画取得手段と、
    前記ソースコードを取得するコード取得手段と、
    前記動画における前記オブジェクトの動作と、前記動作に対応する前記指示が記述された前記ソースコードのステートメントとを紐付けるコード動画合成手段とを備え
    前記コード動画合成手段は、前記動画を解析して前記動作及び前記動作に対応する前記ステートメントを特定することにより、前記動作と前記ステートメントとを紐付ける
    コード動画連携装置。
  3. 前記ソースコードから前記オブジェクトとしてのデバイスが理解可能なコードを生成するコード生成手段と、
    前記コードを前記デバイスに出力するコード出力手段と備え、
    前記コード動画合成手段は、前記コード出力手段が前記コードを出力したタイムスタンプを用いて、前記動作と前記ステートメントとを紐付けることを特徴とする請求項1又は2に記載のコード動画連携装置。
  4. 前記コード動画合成手段は、
    前記オブジェクトとしてのデバイスから出力されたタイムスタンプであって、前記デバイスが前記ソースコードを実行した前記タイムスタンプを取得し、
    前記タイムスタンプを用いて、前記動作と前記ステートメントとを紐付けることを特徴とする請求項1〜3のいずれか一項に記載のコード動画連携装置。
  5. コンピュータを、
    ソースコードに示された一連の指示に従って動作しているオブジェクトの動画を取得する動画取得手段、
    前記ソースコードを取得するコード取得手段、
    前記動画における前記オブジェクトの動作と、前記動作に対応する前記指示が記述された前記ソースコードのステートメントとを紐付けるコード動画合成手段、及び
    前記オブジェクトとしてのデバイスから前記動作として出力された音響信号を復号する復号手段として機能させるためのコード動画連携プログラムであって、
    前記コード動画合成手段は、前記復号手段により復号された信号から前記音響信号の出力動作に対応する前記ステートメントを特定することにより、前記動作と前記ステートメントとを紐付ける
    コード動画連携プログラム。
  6. コンピュータを、
    ソースコードに示された一連の指示に従って動作しているオブジェクトの動画を取得する動画取得手段、
    前記ソースコードを取得するコード取得手段、及び
    前記動画における前記オブジェクトの動作と、前記動作に対応する前記指示が記述された前記ソースコードのステートメントとを紐付けるコード動画合成手段として機能させるためのコード動画連携プログラムであって、
    前記コード動画合成手段は、前記動画を解析して前記動作及び前記動作に対応する前記ステートメントを特定することにより、前記動作と前記ステートメントとを紐付ける
    コード動画連携プログラム。
JP2017118680A 2017-06-16 2017-06-16 コード動画連携装置及びコード動画連携プログラム Active JP6868478B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017118680A JP6868478B2 (ja) 2017-06-16 2017-06-16 コード動画連携装置及びコード動画連携プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017118680A JP6868478B2 (ja) 2017-06-16 2017-06-16 コード動画連携装置及びコード動画連携プログラム

Publications (2)

Publication Number Publication Date
JP2019003480A JP2019003480A (ja) 2019-01-10
JP6868478B2 true JP6868478B2 (ja) 2021-05-12

Family

ID=65006233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017118680A Active JP6868478B2 (ja) 2017-06-16 2017-06-16 コード動画連携装置及びコード動画連携プログラム

Country Status (1)

Country Link
JP (1) JP6868478B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7176806B1 (ja) 2022-04-19 2022-11-22 株式会社アポローン プログラム学習装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2358866A1 (en) * 1999-02-04 2000-08-10 Interlego Ag A microprocessor controlled toy building element with visual programming
JP5565431B2 (ja) * 2012-04-18 2014-08-06 横河電機株式会社 制御装置及び制御システム
JP5782061B2 (ja) * 2013-03-11 2015-09-24 レノボ・シンガポール・プライベート・リミテッド 移動物体の動作を認識する方法および携帯式コンピュータ
JP2015035158A (ja) * 2013-08-09 2015-02-19 ルネサスエレクトロニクス株式会社 データ処理システム
SG11201610305VA (en) * 2014-06-12 2017-01-27 Play I Inc System and method for reinforcing programming education through robotic feedback
EP3070645A1 (en) * 2015-03-20 2016-09-21 Delphi Technologies, Inc. Apparatus and method for automatically testing a gesture recognition device

Also Published As

Publication number Publication date
JP2019003480A (ja) 2019-01-10

Similar Documents

Publication Publication Date Title
US10885123B2 (en) Apparatus, systems, and methods for providing three-dimensional instruction manuals in a simplified manner
US10261600B2 (en) Remotely operating target device
US20200276707A1 (en) Method and system for cloud-based programming and control of robotic platform
JP6868478B2 (ja) コード動画連携装置及びコード動画連携プログラム
US10600329B2 (en) Providing live feedback using a wearable computing device
CN104244132A (zh) 一种智能耳机系统及其控制方法
US10418132B2 (en) Method for connecting a mobile operator terminal to a device to be operated
CN113573135A (zh) 显示设备投屏方法、显示设备及客户端
KR102426932B1 (ko) 학습 콘텐츠의 가상 화면과 실시간으로 촬영되는 영상을 융합한 콘텐츠를 제공하는 교육용 플랫폼
CN106997770B (zh) 影音同步控制方法、影音同步控制系统及相关的电子装置
JP2014526183A (ja) テレビジョン受信機用のセンサ手段
JP2023099480A (ja) 情報処理装置およびその制御方法、画像処理装置および画像処理システム
JP6856424B2 (ja) 医療用装置、情報処理装置、処理方法、プログラム、および医療用情報処理システム
WO2011145709A1 (ja) 機器連携システム、操作指示機器、機器ui構成手段、機器連携方法及びプログラム
JP2016534603A (ja) 色調整モニター、色調整システム及び色調整方法
CN106412469B (zh) 投影系统、投影装置与投影系统的投影方法
JP2008083861A (ja) 画像投影装置及び画像投影システム
KR100880929B1 (ko) 촬상된 프레젠테이션 영상 정보를 이용하여 출력 영상정보를 생성하는 영상 처리 방법, 장치 및 그 방법을실행하는 프로그램이 기록된 기록 매체
JP2019192229A5 (ja)
US20200195886A1 (en) Information processing system, information processing device, and information processing method
CN114157913A (zh) 基于画面识别的视频培训方法、终端、服务器和系统
TW201728164A (zh) 影音同步控制方法、影音同步控制系統以及相關的電子裝置
JP2023104017A (ja) 情報処理装置及び情報処理システム
US20210029325A1 (en) Multi-direction communication apparatus, multi-direction communication method, and program
KR20240065446A (ko) 초음파 영상 처리 방법 및 디바이스

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210412

R150 Certificate of patent or registration of utility model

Ref document number: 6868478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250