JP2005347953A - 制御システム、制御装置、及び被制御装置 - Google Patents

制御システム、制御装置、及び被制御装置 Download PDF

Info

Publication number
JP2005347953A
JP2005347953A JP2004163557A JP2004163557A JP2005347953A JP 2005347953 A JP2005347953 A JP 2005347953A JP 2004163557 A JP2004163557 A JP 2004163557A JP 2004163557 A JP2004163557 A JP 2004163557A JP 2005347953 A JP2005347953 A JP 2005347953A
Authority
JP
Japan
Prior art keywords
information
control
control information
time
user
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.)
Pending
Application number
JP2004163557A
Other languages
English (en)
Inventor
Masaki Kutsuna
正樹 沓名
Yuichi Matsumoto
雄一 松本
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2004163557A priority Critical patent/JP2005347953A/ja
Publication of JP2005347953A publication Critical patent/JP2005347953A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 ユーザ操作の煩わしさを軽減し、被制御装置が有する高度な機能をリモート制御により利用できるようにする。
【解決手段】 操作情報を送信するとともに、受信した制御情報に基づいて動作する被制御装置と、受信した操作情報に基づいて当該操作情報に係る画像を表示部に表示してユーザに操作画面を提供するとともに、ユーザの操作に応じた上記制御情報を送信する制御装置とがネットワークを介して接続された制御システムにて、制御情報にユーザの操作に係る時間情報を含ませ、制御情報の時間情報に応じて受信した制御情報に基づく動作を行うようにして、同一種類の制御情報であっても時間情報に基づいて異なる動作を可能にし、ユーザ操作の煩わしさを軽減し、被制御装置が有する高度な機能をリモート制御により利用できるようにする。
【選択図】 図1

Description

本発明は、制御システム、制御装置、及び被制御装置に関し、特に、ネットワークを介して接続されたリモート制御装置と被制御装置とからなるネットワークリモート制御システムに用いて好適なものである。
従来、単独で動作していた、あるいは機器独自の接続により動作していた家庭内のオーディオ・ビジュアル(AV)機器や家電機器を、一つのネットワークによって接続する要求が高まっている。動画データ、音声データといったリアルタイム性が要求されるデータと、静止画データ、制御データといった転送の信頼性が要求されるデータとを混在した状態で転送することが可能な高速デジタル通信技術がこれを実現している。
ネットワークを介して接続された周辺機器を制御する1つの方法として、家庭内ネットワークでは、インタフェースをユーザに提供する機器をテレビとし、テレビ自身が周辺機器を操作するための操作画面を準備してテレビ画面上に表示し、テレビのリモコン装置によりユーザが操作画面において行った操作に基づいてテレビ自身が周辺機器を制御する、といったものが考えられる。
しかしながら上記方法では、表示する操作画面データや、ユーザ操作に基づいた制御を実行するためのコマンド、プログラム等を、予めテレビ内に準備する必要がある。これら操作画面データ、コマンド、プログラム等は周辺機器毎に必要であり、ネットワークに接続される周辺機器は多種に及ぶため、操作画面データ、コマンド、プログラムの量は膨大なものになってしまう。さらに、時間を追って機器を追加接続することも当然考えられるため、接続される可能性のあるすべての機器に対する操作画面データ、コマンド、プログラムをテレビ内に準備すると、その量はさらに増大する。また、将来の機器に対する操作画面データ、コマンド、プログラムを予め準備することは困難である。
このような問題を解決する方法として、ネットワークに接続された被制御装置からその操作画面データを送信し、テレビに代表される表示器を備えたリモート制御装置がこれを受信して、ユーザに対して操作画面を表示するとともに、ユーザの操作入力を被制御装置に送信することで被制御装置の制御を行うシステムが提案されている(例えば、特許文献1参照。)。
図45はこうした従来の制御システムの構成を示すブロック図である。
図45において、310は操作画面データを送信し、ネットワーク300を介してリモート制御を受ける被制御装置である。313はリモート制御のための操作画面データを生成する画像生成部、311はネットワーク300に接続されデータを送受信するための双方向通信部、312は操作画面データを送信し、受信したユーザ操作情報に基づき被制御機器本体部314を制御する処理部、314は制御を受けて動作することによりユーザにサービスを提供する被制御機器本体部である。
また、320は表示機能を有し、ネットワーク300を介してリモート制御を行うリモート制御装置である。324は操作画面を表示する表示部、325はリモコン等によるユーザ操作を受信する入力部、323はネットワーク300を介して受信した操作画面データを記憶する記憶部である。322は受信した操作画面データを記憶部323に格納し、当該操作画面データに基づいた操作画面を表示部324に表示するとともに、入力部325により受信したユーザ操作に基づいてユーザ操作情報を出力する処理部である。321はこうしたデータをネットワーク300を介して送受信するための双方向通信部である。
ネットワーク300を介して被制御装置310から送られる操作画面データは、リモート制御装置320で受信され、当該操作画面データに基づく操作画面が表示部324に表示され、ユーザはこの操作画面を見てリモコン等を操作する。ユーザの操作に関する情報は、リモート制御装置320から被制御装置310にネットワーク300を介して送られ、この情報に従って被制御機器本体部314が制御され、ユーザに対するサービスが提供される。
特開平11−3314号公報
しかしながら、上記従来の制御システムにおいては、以下に説明するような問題があった。
例えば、リモート制御装置をテレビ、被制御装置をデジタル画像の蓄積、表示、編集が可能なデジタルフォトアルバムとする。図46は、テレビ(リモート制御装置)に表示されたデジタルフォトアルバム(被制御装置)の操作画面の一例を示す図である。図46において、350はサムネイル表示されたデジタルフォト画像A〜Pであり、各デジタルフォト画像A〜Pは操作要素ともなっている。351、352は、ユーザがリモコンの決定キーを押した場合に実行する動作を示す操作要素であり、操作要素351は表示、操作要素352は削除の動作を行うことを示している。
例えば、図46においては、「表示」の操作要素351のチェックボックスが選択されており、カーソルがデジタルフォト画像Gをフォーカスしている。この状態でユーザがリモコンの決定キーを押すと、図47に示すようにデジタルフォト画像Gが大きく表示される。図47は、デジタルフォト画像Gが大きく表示されたテレビ上の画面を示す図である。図47において、表示される操作要素は「戻る」の操作要素361のみであり、カーソルが「戻る」の操作要素361をフォーカスしている。この状態でユーザがリモコンの決定キーを押すと、テレビ上の画面は図46に示した画面に戻る。
また、例えば、ユーザがサムネイル表示されたデジタルフォト画像350の中から、デジタルフォト画像Jを削除したいといった場合のユーザの操作は、リモコンのカーソル移動キーを適宜操作し、カーソルが「削除」の操作要素352をフォーカスするようにして、この状態でリモコンの決定キーを押す。すると、図48に示すように「削除」の操作要素352のチェックボックスが選択、かつ「表示」の操作要素351のチェックボックスが非選択の状態になる。
そして、さらにユーザがリモコンのカーソル移動キーを適宜操作し、図49に示すようにカーソルがデジタルフォト画像Jをフォーカスするようにして、この状態でリモコンの決定キーを押す。すると、「削除」の操作要素352のチェックボックスが選択されており、カーソルがデジタルフォト画像Jをフォーカスしているので、デジタルフォト画像Jが削除されることになる。
このように、上述した従来の制御システムにおいては、ユーザにとっては被制御装置が有する高度な機能をリモート制御により利用できる反面、複雑な操作を強いられるという問題があった。
本発明は、このような事情に鑑みてなされたものであり、ユーザ操作の煩わしさを軽減し、被制御装置が有する高度な機能をリモート制御により利用できるようにすることを目的とする。
本発明の制御システムは、操作情報を送信するとともに、受信した制御情報に基づいて動作する被制御装置と、受信した操作情報に基づいて当該操作情報に係る画像を表示部に表示してユーザに操作画面を提供するとともに、ユーザの操作に応じた上記制御情報を送信する制御装置とがネットワークを介して接続された制御システムであって、上記制御情報は、上記ユーザの操作に係る時間情報を含み、上記被制御装置は、複数の上記制御情報を受信した場合、上記制御情報の時間情報に応じて受信した制御情報に基づく動作を行うことを特徴とする。
本発明の制御装置は、ネットワークに接続され、当該ネットワークに情報を送信する手段と、当該ネットワークより情報を受信する手段と、表示手段と、ユーザ指示手段とを有し、前記ネットワークより複数の操作情報を受信し、当該複数の操作情報を上記表示手段に表示し、上記ユーザ指示手段により指示される操作情報を上記ネットワークを介して送信する制御装置であって、カウンターを有し時間を計時する手段を有し、ユーザからの指示を受けた時、上記カウンターから供給されるタイムコードを上記ユーザ指示手段により指示される操作情報の属性として付加し、上記ネットワークを介して送信することを特徴とする。
本発明の被制御装置は、ネットワークに接続され、当該ネットワークに情報を送信する手段と、当該ネットワークより情報を受信する手段と、一つ以上の操作情報とを有し、上記ネットワークに操作情報を送信し、上記ネットワークより上記操作情報を受信し、当該受信した操作情報に基づいてサービスを提供する被制御装置であって、タイマーを有する時間計測手段を有し、属性としてタイムコードを有する上記操作情報を受信した時、当該タイムコードをメモリに記憶保持して上記タイマーを起動し当該タイマーのタイムアウト時に上記操作情報に基づく動作を行い、上記タイマーのタイムアウト以前に新たな上記タイムコードを有する操作情報を受信した時、当該タイムコードと上記メモリに保持している上記タイムコードとの差分を計算し、計算結果と上記操作情報に基づく動作を行うことを特徴とする。
本発明の制御方法は、操作情報を送信するとともに、受信した制御情報に基づいて動作する被制御装置と、受信した操作情報に基づいて当該操作情報に係る画像を表示部に表示してユーザに操作画面を提供するとともに、ユーザの操作に応じた上記制御情報を送信する制御装置とがネットワークを介して接続された制御システムの制御方法であって、ユーザの操作に応じて、当該ユーザ操作に係る時間情報を含む制御情報を生成して送信する制御情報送信ステップと、上記制御情報送信ステップにて送信された制御情報を受信する制御情報受信ステップと、上記制御情報受信ステップにて受信した制御情報に基づく動作を行う第1の制御ステップと上記制御情報受信ステップにより複数の上記制御情報を受信した場合、上記制御情報の時間情報に応じて受信した制御情報に基づく動作を行う第2の制御ステップとを有することを特徴とする。
本発明のプログラムは、操作情報を送信するとともに、受信した制御情報に基づいて動作する被制御装置と、受信した操作情報に基づいて当該操作情報に係る画像を表示部に表示してユーザに操作画面を提供するとともに、ユーザの操作に応じた上記制御情報を送信する制御装置とがネットワークを介して接続された制御システムの制御方法をコンピュータに実行させるためのプログラムであって、ユーザの操作に応じて、当該ユーザ操作に係る時間情報を含む制御情報を生成して送信する制御情報送信ステップと、上記制御情報送信ステップにて送信された制御情報を受信する制御情報受信ステップと、上記制御情報受信ステップにて受信した制御情報に基づく動作を行う第1の制御ステップと上記制御情報受信ステップにより複数の上記制御情報を受信した場合、上記制御情報の時間情報に応じて受信した制御情報に基づく動作を行う第2の制御ステップとを有することを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、上記プログラムを記録したことを特徴とする。
本発明によれば、受信した制御情報に加え、当該制御情報に含まれる時間情報を参照し、上記制御情報及び時間情報に応じて受信した制御情報に基づく動作を行うので、同一種類の制御情報であっても時間情報に基づいて異なる動作を行うことができる。したがって、1つの制御情報で複数の制御が可能になり、ユーザ操作の煩わしさを軽減して、被制御装置が有する高度な機能をリモート制御により利用することができる。
以下、本発明の実施形態を図面に基づいて説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態におけるリモート制御システムの構成例を示すブロック図である。
図1において、1000はリモート制御装置としてのテレビであり、リモコンによるユーザ操作入力手段を有している。また、1200は被制御装置としてのデジタルフォトアルバムである。テレビ1000とデジタルフォトアルバム1200とは、IEEE1394−1995規格に準拠したシリアルバス(以下、「1394シリアルバス」と称す。)1250により通信可能に接続されている。
まず、テレビ1000の構成について説明する。
1010はチューナー部であり、アンテナ1020からの信号を受信して受信データの復調や誤り訂正等を行い、トランスポートストリーム(TS)データを出力する。1030はデマルチプレクサであり、複数チャンネル分の映像データ、音声データ等が時分割多重化されているTSデータから、所望の映像データD1と音声データD2とを取り出す。
取り出された映像データ(デジタルTV放送の場合、例えばMPEG2等により符号化されたデータである)D1はビデオデコーダ1040に送られ、また音声データD2は音声デコーダ1050に送られ、それぞれ復号化される。復号化された映像データは、画像合成部1060に送られる。1070は音声出力部であり、D/A変換器、増幅器、及びスピーカ等より構成され、音声デコーダ1050で復号化された音声データの出力を音声として出力する。
1080は1394シリアルバスのインタフェースである1394I/F部である。1090は表示データメモリであり、1394I/F部1080で受信した操作画面データを格納する。1100は描画制御部であり、表示データメモリ1090に記憶された操作画面データに基づいて操作画面の画像を生成する。1060は画像合成部であり、ビデオデコーダ1040にてデコードされた映像データの画像と、描画制御部1100にて生成された操作画面の画像とを合成する。1110は表示部であり、画像合成部1060で合成された画像を表示する。
1120はリモコン信号受信部であり、図示しないリモコンより送信された赤外線を受信/デコードし、ユーザが操作したリモコンのキーを示すキーコードを出力する。1140はミリ秒毎にカウントアップするカウンターである。なお、カウンター1140は、テレビ1000の外部に備えていても構わない。
1130は制御部であり、1394I/F部1080、表示データメモリ1090、描画制御部1100等を統合的に制御し、リモコン信号受信部1120より出力されるキーコードに基づいた制御情報を1394I/F部1080を介して出力する。
次に、デジタルフォトアルバム1200の構成について説明する。
1210は1394I/F部であり、テレビ1000内の1394I/F部1080と同様である。1220は操作画面データ生成部であり、操作画面データを格納又は生成する。1230はデジタル画像記憶部であり、デジタルフォト画像を記憶する。デジタル画像記憶部1230は、デジタルカメラ等で通常使用されているコンパクトフラッシュ(登録商標)カードのような記録媒体により構成され、コンパクトフラッシュ(登録商標)カードのような記録媒体そのものであっても良いし、さらにそれが着脱可能に構成されていても良い。
1240は制御部であり、操作画面データ生成部1220からの必要な操作画面データ、あるいはデジタル画像記憶部1230内のデジタルフォト画像を、1394I/F部1210を介して外部に送信する。また、1394I/F部1210を介して受信する制御情報に基づいて、デジタル画像記憶部1230内のデジタルフォト画像の読み出しや削除等の制御を行う。
1260はテレビ(リモート制御装置)1000から受信する後述の“User_Action”コマンド中に格納されているタイムコードを記憶するためのタイムコード用メモリである。1270は計時機能を有するタイマーであり、“User_Action”コマンドを受信してから500ミリ秒内に次の“User_Action”コマンドを受信しなかった場合に、制御部1240に対するタイムアウト信号の出力と、タイマーリセットを行う。
図2は、テレビ1000用のリモコンを示す図である。
図2に示すように、リモコンは、チャンネル切り替え、音量制御、電源制御(オン/オフ制御)のテレビ1000自身の操作を行うキーを有する。また、リモコンは、操作画面(操作パネル)の表示を要求するための「パネル」キー2000と、操作画面の消去を要求するための「終了」キー2100と、操作画面上で操作要素を選択する際に使用する「上」キー2200、「下」キー2300、「左」キー2400、及び「右」キー2500からなるカーソル移動キーと、このカーソル移動キーにより指定した(例えば、操作画面上で強調表示等されている)操作要素を選択決定するための「決定」キー2600とを有する。
以下に、1394シリアルバス1250の基本的な機能について説明する。
1394シリアルバスは、自由度の高い接続方式、自動設定、リアルタイム転送等の特長を有している。1394シリアルバスは、SCSI規格等に見られるデイジーチェーン型のトポロジの他にスター型のトポロジにも対応しており、自由度の高い接続を可能としている。また、100Mbps、200Mbps、400Mbpsの転送速度でシリアル転送を行うデータ転送方式で、上位の転送速度を有するノード(接続されている機器、装置)は下位のデータ転送速度をサポートするようになっているため、異なる転送速度を有するノードの混在が可能である。
また1394シリアルバスは、自動設定の機能を有しており、ノードの電源がON/OFFされた場合や新たなノードが接続された場合、それを検知し自動的にバスリセットを行う。そして、バスリセット後にトポロジの認識と各ノードへのIDの割り当てを自動的に行う。さらに1394シリアルバスは、接続されているノードの電源をOFFすることなく新たなノードの接続や接続の解除が可能となっており、接続/接続解除後のバスリセット、トポロジの自動認識、IDの自動割り当て機能とともに、Plug&Play(プラグアンドプレイ)の機能を実現している。データ転送モードとしては、コマンドなどの制御信号、ファイルデータ等の転送に適するアシンクロナス転送と、動画データや音声データ等の時間的に連続性を持つデータの転送に適したアイソクロナス転送の二つの転送モードを有している。
図3は、1394シリアルバスの階層構造を示す図である。
物理層501は、ケーブル/コネクタの機械的/電気的仕様を規定するとともに、入出力信号の符号/復号化、バスの初期化、及びバス使用権の調停等を行う。リンク層505は、物理層501とトランザクション層510との間でパケットデータの送受信を実現するためのサービスを提供する。トランザクション層510は、リンク層505とアプリケーション等の上位層との間で、read(リード)、write(ライト)、lock(ロック)の3種類のアシンクロナス転送を実現するためのサービスを提供する。
1394シリアルバスには、バス・マネージャとアイソクロナス・リソース・マネージャ(IRM)の2つのバス管理ノードが存在する。これらは同一ノードであってもよい。
バス管理層515は、ノード制御、アイソクロナス・リソース管理、バス管理を行う。ノード制御は、1394シリアルバスの各ノードに存在し、IEEE1212規格で規定されるCSR(control status register)を備え、ノード間でのアシンクロナス転送の管理を行う。アイソクロナス・リソース管理は、IRMであるノードによってのみ行われ、アイソクロナス転送を行おうとするノードに対しチャンネル番号と帯域を与え、当該アイソクロナス転送に使用するチャンネル番号と保証された帯域とを確保する。バス管理は、バス・マネージャ・ノードによってのみ行われ、接続情報の管理(トポロジーマップの作成)、速度情報の管理(速度マップの作成)、電源管理等を行う。
FCP(Function Control Protocol)層520は、アシンクロナス転送を使用してコマンド・フレーム、レスポンス・フレームと呼ぶ512バイト以下のデータの送受信を行い、ノード間での制御を可能とする。コマンド・フレームは、制御ノードから被制御ノードのコマンド・レジスタへ書き込まれるデータである。レスポンス・フレームは、コマンド・フレームの応答として、被制御ノードから制御ノードのレスポンス・レジスタへ書き込まれるデータである。この様子を図4に示す。図4は、ノードAとノードBとの間のFCPに基づくコマンド・フレーム及びレスポンス・フレームの送受信を示す図である。
図5は、FCP層520で使用するアシンクロナス転送パケットの構造を示す図である。当該パケットのデータ部にコマンド・フレーム・データあるいはレスポンス・フレーム・データが書かれる。
図3に戻り、AV/Cコマンド設定(AV/C command set)層525は、FCP層520の上位層であり、コマンド・フレーム、レスポンス・フレームに、AV/Cアイソクロナス転送のコネクション制御と、テレビ、モニター、VCRといった、いわゆるAV機器の制御コマンドを適用するものである。
図6は、AV/Cコマンド設定層525のコマンド・フレームの構造を示す図であり、図7は、AV/Cコマンド設定層525のレスポンス・フレームの構造を示す図である。制御コマンドの内容は、図6におけるopcode及びsubfunctionによって区別される。
図8、図9、図10は、AV/Cコマンド設定層525のコマンドの中で、VCRで使用されるVCR subunit command setの一部を示す図である。ここでは、通常の制御に必要な再生、記録、停止、巻き戻し、早送り等が定義されている。
図3に戻り、次に、動画データや音声データといったストリームデータを転送するために使用されるAV/Cアイソクロナス転送層530について説明する。AV/Cアイソクロナス転送層530は、リンク層505の上位層として位置付けられ、プラグと称する概念を用いてコネクションの管理が行われる。
図11は、AV/Cアイソクロナス転送層530のプラグを制御するためのプラグ・コントロール・レジスタを示す図である。プラグ・コントロール・レジスタへのアクセスは、アシンクロナス転送によって行われる。
図11におけるoMPR(output Master Plug Register)は出力プラグ全体の管理を行うレジスタであり、その詳細を図12に示す。図12において、Data rate capabilityは、可能な最大の転送速度を示す。Broadcast channel baseは、broadcast-out connectionが確立された場合のチャンネル番号の基準を設定するためのレジスタである。Number of output plugsは、当該ノードが実装する出力プラグの数を示す。
図11におけるoPCR(output Plug Control Register)は各出力プラグに関する管理を行うレジスタであり、その詳細を図13に示す。図13において、On-lineはオンラインであるかオフラインであるかを示す。Broadcast connection counterは、broadcast-out connectionが存在する場合“1”、存在しない場合“0”となる。point-to-point connection counterは、point-to-point connectionの数を示す。Channel numberは、当該プラグで使用するチャンネル番号を示す。Data rateは、当該プラグより送信されるデータの転送速度を示す。Overhead IDは、当該プラグで使用する帯域を示す。Payloadは、当該プラグより送信されるアイソクロナス・パケットの最大値を示す。
図11におけるiMPR(input Master Plug Register)は入力プラグ全体の管理を行うレジスタであり、その詳細を図14に示す。図14において、Data rate capabilityは、可能な最大の転送速度を示す。Number of input plugsは、当該ノードが実装する入力プラグの数を示す。
図11におけるiPCR(input Plug Control Register)は各入力プラグに関する管理を行うレジスタであり、その詳細を図15に示す。図15において、On-lineはオンラインであるかオフラインであるかを示す。Broadcast connection counterは、broadcast-in connectionが存在する場合“1”、存在しない場合“0”となる。point-to-point connection counterは、point-to-point connectionの数を示す。Channel numberは、当該プラグで使用するチャンネル番号を示す。Data rateは、当該プラグで受信されるデータの転送速度を示す。
次に、いくつかのコネクションの確立までの手順について説明する。
図16は、point-to-point connectionを確立する手順を示すフローチャートである。
point-to-point connectionとは、1つの未使用チャンネルを用いて、コネクションが確立されていない入力プラグと出力プラグとの間にprotectedなコネクション(保護されたコネクション、以下、保護コネクションと称す)を確立することである。保護コネクションとは、当該コネクションを確立した者(上位層ソフト)のみが当該コネクションを解除可能なコネクションを指す。ここではノードAの出力プラグ[a]とノードBの入力プラグ[b]の間に、point-to-point connectionを確立する場合について説明する。
まず、point-to-point connectionを確立したいノードは、チャンネル番号と必要な帯域を取得する(S1601)。取得に失敗した場合は(S1602のN)、取得しようとしたチャンネル番号が既に使用されていること等が考えられ、この場合はチャンネル番号を変更しリトライするか、あるいは処理を中止する。
取得に成功すると(S1602のY)、ロック・トランザクションを使用して、ノードAのoPCR[a]とノードBのiPCR[b]との両方に取得したチャンネル番号を書き込み、ノードAのoPCR[a]に取得した帯域と転送速度を書き込み、ノードAのoPCR[a]とノードBのiPCR[b]とのpoint-to-point connection counterに“1”を書き込む(S1603〜S1606)。書き込みに失敗した場合は(S1607のN)、当該プラグが使用されていること等が考えられ、使用プラグを変更しリトライするか、あるいは処理を中止する。一方、書き込みに成功すると(S1607のY)、ノードAの出力プラグ[a]とノードBの入力プラグ[b]との間にpoint-to-point connectionが確立し、ノードAの出力プラグ[a]からノードBの入力プラグ[b]へのデータ転送が可能となる。
図17は、overlay point-to-point connectionを確立する手順を示すフローチャートである。
overlay point-to-point connectionとは、既に確立しているpoint-to-point connectionにコネクションを追加することであり、1つの使用されている出力プラグと1つの未使用入力プラグとの間に保護コネクションを確立することである。ここではノードAの出力プラグ[a]とノードBの入力プラグ[b]との間に確立しているpoint-to-point connectionに、ノードCの入力プラグ[c]を追加する場合について説明する。なお、当該コネクションを確立したいノードは、既に確立しているpoint-to-point connectionの出力側に関する情報、ノードID、及び出力プラグの番号等を認識している必要があるが、これはAV/Cアイソクロナス転送層530よりさらに上位の層で認識される。
まず、ノードAのoPCR[a]のチャンネル番号をノードCのiPCR[c]にコピーする準備を行い、さらにノードAのoPCR[a]とノードCのiPCR[c]のpoint-to-point connection counterをインクリメントする準備を行い、これらをロック・トランザクションを使用して書き込む(S1701、S1702)。書き込みに失敗した場合は(S1703のN)、設定値を変更しリトライするか、あるいは処理を中止する。一方、書き込みに成功すると(S1703のY)、overlay point-to-point connectionが確立し、ノードCの入力プラグ[c]はノードAの出力プラグ[a]からのデータを受信可能となる。
図18は、broadcast-out connectionを確立する手順を示すフローチャートである。
broadcast-out connectionとは、コネクションが確立されていない出力プラグと1つの未使用チャンネルとの間にunprotectedなコネクション(保護されていないコネクション、以下、非保護コネクションと称す)を確立することである。broadcast-out connectionは入力側の設定を伴わないpoint-to-point connectionに近似している。ここではノードDの出力プラグ[d]に、broadcast-out connectionを確立する場合について説明する。
まず、broadcast-out connectionを確立したいノードは、point-to-point connectionと同様に、チャンネル番号と必要な帯域を取得する(S1801)。取得に失敗した場合は(S1802のN)、前述と同様にチャンネル番号を変更しリトライするか、あるいは処理を中止する。
取得に成功すると(S1802のY)、ロック・トランザクションを使用して、ノードDのoPCR[d]に取得したチャンネル番号、取得した帯域、転送速度を書き込み、Broadcast connection counterに“1”を書き込む(S1803〜S1806)。書き込みに失敗した場合は(S1807のN)、前述と同様に使用プラグを変更しリトライするか、あるいは処理を中止する。一方、書き込みに成功すると(S1807のY)、ノードDの出力プラグ[d]にbroadcast-out connectionが確立し、ノードDの出力プラグ[d]よりデータ転送が可能となる。
次に、overlay broadcast-out connectionについて説明する。
overlay broadcast-out connectionとは、既にコネクションが確立している出力プラグと1つのチャンネルとの間に、非保護コネクションを確立することである。詳細は、上述のコネクション確立と同様であるため、ここでは図19にoverlay broadcast-out connectionを確立する手順を示すにとどめる。
次に、broadcast-in connectionについて説明する。
broadcast-in connectionとは、1つのチャンネルと1つの未使用入力プラグとの間に、非保護コネクションを確立することである。詳細は、上述のコネクション確立と同様であるため、ここでは図20にbroadcast-in connectionを確立する手順を示すにとどめる。
最後に、overlay broadcast-in connectionについて説明する。
overlay broadcast-in connectionとは、1つのチャンネルと既にコネクションが確立している入力プラグとの間に非保護コネクションを確立することである。詳細は、上述のコネクション確立と同様であるため、ここでは図21にoverlay broadcast-in connectionを確立する手順を示すにとどめる。
図22は、確立されたコネクションで転送されるAV/Cアイソクロナス転送パケットのデータ構造を示す図である。
図22におけるdata blocksに、MPEG2-TS(トランスポートストリーム)データ、DVCR(デジタルビデオカセットレコーダ)データ、あるいは音声/音楽(MIDI)データ等が分割、格納され、転送される。
次に図3に戻り、制御信号やファイルデータといった、必要に応じて非同期で転送されるデータの転送である非同期シリアルバス接続(Asynchronous serial bus Connection)層540について説明する。
非同期シリアルバス接続層540におけるコネクションの確立は、前述のAV/Cアイソクロナス転送層530と同様にプラグの概念を用いて行われる。非同期シリアルバス接続層540における転送制御は、入力プラグ、出力プラグ、セグメント・バッファという3つのリソースによって管理される。そして、データの送信側をプロデューサー、データの受信側をコンスーマと呼ぶ。また、コネクションの管理、制御を行うものをコントローラと呼ぶ。非同期シリアルバス接続層540におけるコネクションは、前述のAV/Cコマンド設定層525のAsynchronous connectionコマンド(opcode“26h”)を使用して行われる。
図23は、Asynchronous connectionコマンドのコマンド・フレームの構造を示す図であり、図24は、Asynchronous connection managementコマンドを示す図である。
図24において、ALLOCATEコマンドは、コンスーマ・プラグ・リソースを割り当てるコマンドである。ALLOCATE_ATTACHコマンドは、プロデューサー・プラグ・リソースを割り当て、かつコンスーマ・プラグにそれを接続するコマンドである。ATTACHコマンドは、プロデューサー・プラグにコンスーマ・プラグを接続するコマンドである。RELEASEコマンドは、コンスーマ・プラグ・リソースを開放するコマンドである。RELEASE_DETACHコマンドは、コンスーマ・プラグを切断し、プロデューサー・プラグ・リソースを開放するコマンドである。DETACHコマンドは、プロデューサー・プラグを切断するコマンドである。またADD_OVERLAYコマンドは、コンスーマ・プラグをプロデューサー・プラグにoverlay接続するコマンドである。
図25は、非同期シリアルバス接続層540におけるコネクションの確立の手順を示す図である。
まず、コントローラ801がコンスーマ805に対してALLOCATEコマンドを送信する。コンスーマ805はALLOCATEコマンドの応答として、コンスーマ・プラグのアドレスをコントローラ801に返信する(S2501)。
次に、コントローラ801は、ALLOCATE_ATTACHコマンドをコンスーマ805のコンスーマ・プラグのアドレスとともにプロデューサー810に送信する。プロデューサー810はALLOCATE_ATTACHコマンドの応答として、プロデューサー・プラグのアドレスをコントローラ801に返信する(S2502)。そしてプロデューサー810は、コンスーマ・プラグのアドレスが判明したためデータ送信の初期設定を行う。
次に、コントローラ801は、ATTACHコマンドをプロデューサー810のプロデューサー・プラグのアドレスとともにコンスーマ805に送信する(S2503)。コンスーマ805は、プロデューサー・プラグのアドレスが判明したためデータ受信の初期設定を行う。
以上でプラグの接続が終了し、コネクションが確立する。なお、コントローラ801とコンスーマ805が同一のノードである場合は、ALLOCATE_ATTACHコマンドのみでプラグの接続が可能である。
次に、接続されたAsynchronous plugを使用して、プロデューサーからコンスーマへデータを転送する制御法について、図26を参照して説明する。図26は、Asynchronous plugを使用したデータ転送を説明するための図である。
図26に示されるように、プラグの接続時に得られたプロデューサーのプロデューサー・プラグのアドレスには、oAPRが存在する。またコンスーマのコンスーマ・プラグのアドレスには、iAPRが存在する。コンスーマは、プロデューサーのoAPRに受信可能なデータサイズを書き込む。プロデューサーは、データをコンスーマのセグメント・バッファに転送し、oAPRに実際に転送したデータサイズを書き込む。コンスーマは次のデータが受け取れる状態になった時点で、再びプロデューサーのoAPRに受信可能なデータサイズを書き込む。以上を繰り返し実行することでデータが転送される。転送されるデータの単位をフレームと呼ぶが、フレームは複数のサブフレームに分割されてもよい。
図27は、Asynchronous plugを使用したデータ転送の手順を示す図である。図27において、コンスーマは32Kバイトのセグメント・バッファを持っているものとし、プロデューサーが34Kバイトのデータ(1フレーム)を転送する場合について説明する。
(1)コンスーマは、プロデューサーのoAPRに、受信可能なデータサイズである32Kバイトの値と、モード“SEND”を書き込む(S2701)。“SEND”は、コンスーマのセグメント・バッファが有効であることを示す。
(2)プロデューサーは、モードが“SEND”であることを認識すると、転送したい34Kバイトのデータ中の32Kバイトをコンスーマのセグメント・バッファに転送する(S2702)。
(3)プロデューサーは、32Kバイトのデータ転送が終了すると、コンスーマのiAPRに転送したデータサイズである32Kバイトの値と、モード“MORE”を書き込む(S2703)。“MORE”は、プロデューサーの転送データのフレームがまだ終了していないことを示す。
(4)コンスーマは、モードが“MORE”であることを認識し、再びプロデューサーのoAPRに、受信可能なデータサイズである32Kバイトの値と、モード“SEND”を書き込む(S2704)。この時、セグメントカウント(segment count)を“0”から“1”に切り替え、セグメント・バッファを切り替えたことを通知する。
(5)プロデューサーは、モードが“SEND”であることを認識すると、転送したいデータの残りの2Kバイトをコンスーマのセグメント・バッファに転送する(S2705)。
(6)プロデューサーは転送が終了すると、コンスーマのiAPRに、転送したデータサイズである2Kバイトの値と、モード“LAST”を書き込む(S2706)。“LAST”は、プロデューサーの転送データの1フレーム分が終了し、次は別のフレームであることを示す。
以上で、1フレーム分の転送が完了する。
各装置の1394I/F部間において、以上のような手順に従い、アシンクロナス転送によるAV/Cコマンドデータ、アイソクロナス転送によるストリームデータの転送を行う。
次に、操作画面(操作パネル)について説明する。
操作画面として被制御装置よりリモート制御装置へ送信される表示データは、操作環境として表示される要素の集合であり、パネル要素をルートとした木構造のデータ構造を有する。すべての要素は、固有のIDを有する。
図28は、操作画面の要素の種類と各要素のデータを示す図である。
要素「パネル」は、操作画面の要素の集合であり、当該要素「パネル」に属する要素の要素IDを有する。また、操作画面のタイトルとなる文字列データであるラベルと、制御装置の表示画面上における操作画面の位置及び大きさ(サイズ)のデータを有する。また、操作画面の背景の色、背景に表示するビットマップデータ、表示する文字列に対するフォントの選択指定をオプションとして有することができる。さらに、動画及び音声ストリームを転送するアイソクロナス転送チャンネル番号を、オプションとして有することが可能であり、このオプションが指定された場合は、転送されるストリームからデコードされる動画の表示と音声の再生が可能である。
要素「ボタン」は、ユーザがリモコンによって「押下」又は「開放」の操作が可能な要素であり、押下された時と開放された時の各々に対応する2つのビットマップデータを有する。ビットマップの大きさはサイズデータで、表示位置は位置データで示される。位置データは、当該要素「ボタン」が属する要素「パネル」内での相対位置を画素単位で指定したものである。また、要素「ボタン」のタイトル(または機能的な説明)となるラベルへのリンクを有する。そして、表示する文字列に対するフォントの選択指定をオプションとして有することが可能である。
要素「テキスト」は、タイトルや説明を文字列で表示する要素であり、位置、サイズ、ラベルとなるテキストデータを有する。そして、背景色の指定とフォントの選択指定をオプションとして有することが可能である。
要素「アイコン」は、ユーザがリモコン等によって「選択」の操作が可能な要素である。ビットマップデータ、ラベル、位置、サイズ、ラベルとなるテキストデータを有する。そして、フォントの選択指定をオプションとして有することが可能である。
要素「レンジ」は、最大及び最小を示す数値による範囲と、該範囲内の特定の値を表示する要素であり、位置、サイズと、ラベルとなるテキストデータへのリンクを有する。そして、フォントの選択指定をオプションとして有することが可能である。
図29は、操作画面の送受信に使用されるコマンドを示す図である。
GUI_UPDATEコマンドは操作画面による制御可能の開始及び停止を指示するものであり、PUSH_GUI_DATAコマンドは操作画面データの転送を要求するためのものである。また、USER_ACTIONコマンドは、操作画面の要素に対して、図30に示すアクションタイプで示すアクションが生じたことを示すためのものである。
図30は、操作画面の各要素に対するユーザ操作を示す図である。
操作(アクションタイプ)には、「選択」、「押下」、「開放」等がある。例えば、ボタン要素では、当該要素が押された時は「押下」のアクションタイプが、放された時は「開放」のアクションタイプが送信される。
次に、本実施形態のリモート制御システムにおけるリモート制御のための表示データ(GUIデータ)の転送と表示、及びリモート制御の手順について、図31を参照して説明する。
図31は、本実施形態のリモート制御システムにおける制御手順の一例を示す図である。なお、図31においては、1394シリアルバスを適用したネットワーク1250上の被制御装置はデジタルフォトアルバム1200のみであるが、他の装置が接続された場合にも同様の通信が行われ、デジタルフォトアルバム1200と並行して制御が行われても構わない。
リモート制御装置であるテレビ1000の制御部1130は、被リモート制御装置であるデジタルフォトアルバム1200を被制御装置としたセッションを開始するために、AV/CコマンドのGUI_UPDATE(open)コマンドを発行する。
図32は、GUI_UPDATEコマンドのコマンド・フレームを示す図である。図32中のoperand[3]に格納されるサブファンクション(subfunction)の値により、当該コマンドによる被リモート制御装置への指示が指定される。
図33は、サブファンクション(subfunction)の値と被リモート制御装置への指示との対応を示す図である。open(00h)はリモート制御のセッション開始を指示し、close(01h)はセッション終了を指示する。start(03h)はリモート制御のためのGUIデータ(操作画面データ)の転送を指示するものであり、被リモート制御装置は、次にstop(04h)の指示があるまでの間、装置の状態やユーザ操作の結果に応じてGUIデータに変更が生じたときには後述の手順でGUIデータを制御装置に送信する。restore(02h)は1394シリアルバス1250のバスリセットが発生した際に、GUIデータ転送のための非同期シリアルバス接続(Asynchronous serial bus connection)を復帰する場合に指定される。change(06h)はGUIデータ変更の報告範囲の変更を指定する際に使用する。
図31に戻り、GUI_UPDATE(open)コマンドを受信したデジタルフォトアルバム1200の制御部1240は、当該コマンドへのレスポンスとして非同期シリアルバス接続に使用すべきプラグ番号をoperand[0]に格納して返送する。テレビ1000の制御部1130は、応答として返送されたこのプラグ番号を用いて、必要なデジタルフォトアルバム1200の内部コネクション及びデジタルフォトアルバム1200とテレビ1000との間のコネクションを、ALLOCATE_ATTACHコマンド(S5402)、CONNECTIONコマンド(S5403)を発行し、前述のコネクション確立手順に従って確立する。
このコネクションが確立すると、テレビ1000の制御部1130は、デジタルフォトアルバム1200に対して、GUI_UPDATE(start)コマンドを発行してGUIデータの転送の開始を指示し(S5404)、さらにPUSH_GUI_DATAコマンドを発行してGUIデータの転送を要求する(S5405)。
図34は、PUSH_GUI_DATAコマンドのコマンド・フレームを示す図である。図34中のoperand[0]にはGUI_UPDATE(open)コマンドにより取得したプラグ番号が指定される。operand[5]にはindicatorとして、図35に示すlevelとwith_dataの指定を格納する。
図35は、PUSH_GUI_DATAコマンドのoperand[5](indicator)の構成を示す図である。
levelフィールドは、PUSH_GUI_DATAコマンドによる指示で転送される被リモート制御機器のGUIデータの転送範囲を、前述したGUIデータの木構造に従って指定する。当該フィールドに指定する値は、図36に示す2ビットの3値であり、“00”(itself)は前述の要素IDで指定した要素そのものを指定し、“01”(itself and next level)は要素IDで指定した要素とその要素に属する要素を指定する。また、“11”(all level)は、“01”(itself and next level)の範囲と、この範囲に含まれる要素に属する次の要素までを指定する。
with_dataフィールドは、このビットの値が“1”のとき、要素IDとlevelで指定される要素が持つテキスト、イメージ、サウンドなどの実データを指定する。
図34に戻り、PUSH_GUI_DATAコマンドにおけるoperand[6]からの4バイトには、後述するGUIデータの要素を識別する要素IDを格納して、非同期シリアルバス接続を通じて転送を指示するGUIデータを指定するが、ルートとなるパネル要素を指定する場合に限り“FFFF”(16進数表記)で要素IDを代用することが可能である。
図31に戻り、PUSH_GUI_DATAコマンドを受信したデジタルフォトアルバム1200の制御部1240は、コマンドのレスポンスを返送した後、操作画面データ生成部1220からリモート制御のための操作画面データを非同期シリアルバス接続によりテレビ1000へ転送する(S5406)。転送された操作画面データは、テレビ1000の表示データメモリ1090に格納された後、制御部1130で要素ごとに読み出され、描画制御部1100へ送られる。そして、テレビ1000の画像合成部1060を通じて表示部1110により表示され、ユーザに対する操作環境(操作画面、操作パネル)として提供される。
図37は、前述した手順により、リモート制御装置であるテレビ1000の表示部1110に表示されたデジタルフォトアルバム1200の操作画面を示す図である。
図37において、701〜716はサムネイル表示されたデジタルフォト画像A〜Pであり、各デジタルフォト画像A〜Pは操作要素ともなっている。各デジタルフォト画像A〜Pはボタン要素であり、ユーザがリモコン等を用いて「選択」、「押下」等の操作をすると、ボタンIDとともに、このユーザ操作の内容をアクションタイプ(図30参照)として、AV/CコマンドのUSER_ACTIONコマンドを送信される(S5407)。
図38は、USER_ACTIONコマンドのコマンド・フレームを示す図である。
operand[0]には、前述のGUI_UPDATE(open)により取得したプラグ番号を指定する。operand[3]、operand[4]には、ボタンIDを格納する。operand[5]には、action_typeとして図30に示したようなユーザーアクションの種類に対応した値を格納する。operand[6]には、operand[7]以降のaction_infoの長さ(バイト単位)を格納する。operand[7]以降のaction_infoには、action_typeに従った値が格納され、特にaction_typeが「押下」の場合のUSER_ACTIONコマンドには、後述する4バイトのタイムコードを格納する。
ここで、図37に示した操作画面において、画像720のシングルクリック操作を行ったような「決定」キー2600の押下があった場合について説明をする。なお、本実施形態においては、例えば、キー押下の時間間隔(クリック間隔)が100ミリ秒以上の場合をシングルクリック操作とし、100ミリ秒以下の場合をダブルクリック操作とするが、他の値であっても何ら問題ない。
画像720のシングルクリック操作が十分長い時間間隔で2回行われ、以下のような実時間で「決定」キー2600の押下があったとする。
1回目の「決定」キー2600の押下操作 tミリ秒
2回目の「決定」キー2600の押下操作 t+1000ミリ秒
テレビ100の制御部1130は、「決定」キー2600の押下があると、カウンター1140から「決定」キー2600が押下された時のカウント値t、例えばt=7500であれば“00001D4C”(16進数)を取得する。そして、テレビ1000の制御部1130は、action_infoに実時間を示すタイムコードとして取得したカウント値を格納し、action_typeに「押し下げ」であることを示す値“01”を格納し、さらにelement_IDに表示データメモリ1260より読み出した選択されたボタン要素である画像707に対応するボタンIDを格納したUSER_ACTIONコマンドをデジタルフォトアルバム1200へ送信する。
前述したように1394シリアルバス1250のバス使用権の調停等によって、USER_ACTIONコマンド等のコマンド送信に遅延が発生する可能性が十分あり、デジタルフォトアルバム1200の制御部1240は、以下のような実時間でUSER_ACTIONコマンドを受信したとする。
1回目のUSER_ACTIONコマンド t+1010ミリ秒
2回目のUSER_ACTIONコマンド t+1610ミリ秒
デジタルフォトアルバム1200の制御部1240は、1回目のUSER_ACTIONコマンドを受信すると、当該コマンドのaction_info中のタイムコードをタイムコード用メモリ1260に保持してタイマー1270を起動する。ここで、2回目のUSER_ACTIONコマンドは、1回目のUSER_ACTIONコマンドを受信してから(t+1610)−(t+1010)=600ミリ秒後に受信するため、タイマー1270は、2回目のUSER_ACTIONコマンドを受信するよりも前に500ミリ秒経過したというタイムアウト信号を出力する。制御部1240は、2回目のUSER_ACTIONコマンドより先に、タイマー1270からのタイムアウト信号を受信すると、タイムコード用メモリ1260中の値を“0”にクリアし、シングルクリック操作に対応した制御として、デジタル画像記憶部1230からの画像707の拡大画像データと、操作画面データ生成部1220からの戻り専用操作ボタンデータとを、テレビ1000に転送する。
テレビ1000は、デジタルフォトアルバムから画像720の拡大画像データと戻り専用操作ボタンデータを受信すると、表示部1110に図39に示すように、操作画面として拡大画像と戻り専用操作ボタンを表示する。
なお、タイムアウト信号受信後に受信する2回目のUSER_ACTIONコマンドの処理は、前述した1回目のUSER_ACTIONコマンドの処理と同様である。
また、デジタルフォトアルバム1200の制御部1240が、以下のような実時間のように短時間のうちに、前述した2つのUSER_ACTIONコマンドを連続して受信した場合について説明する。
1回目のUSER_ACTIONコマンド t+1010ミリ秒
2回目のUSER_ACTIONコマンド t+1060ミリ秒
この場合には、デジタルフォトアルバム1200の制御部1240は、1回目のUSER_ACTIONコマンドを受信してから(t+1060)−(t+1010)=50ミリ秒後に2回目のUSER_ACTIONコマンドを受信することになる。このように、制御部1240は、タイマー1270からのタイムアウト信号を受信する前に2回目のUSER_ACTIONコマンドを受信すると、2回目のUSER_ACTIONコマンドを受信した後、タイマー1270のリセット処理を行い、タイムコード用メモリ1260に保持している1回目のUSER_ACTIONコマンドのタイムコードと、2回目のUSER_ACTIONコマンドのタイムコードとの差分を計算する。この差分値は、実時間のクリック間隔を示しており、前述した例では(t+1000)−t=1000ミリ秒である。したがって、クリック間隔が100ミリ秒以上であるので、前述と同様なシングルクリック操作に対応した制御処理を行う。
また、ここで図37に示した操作画面において、画像720のダブルクリック操作を行ったような「決定」キー2600の押下が短時間のうちに2回連続であった場合について説明する。なお、前述のように本実施形態においては、クリック間隔が100ミリ秒以上の場合をシングルクリック操作とし、100ミリ秒以下の場合をダブルクリック操作とするが、他の値であっても何ら問題ない。
以下のような実時間で、「決定」キー2600の押下があったとする。
1回目の「決定」キー2600の押下操作 tミリ秒
2回目の「決定」キー2600の押下操作 t+70ミリ秒
テレビ1000の制御部1130は、前述した処理と同様にして当該操作に応じた各USER_ACTIONコマンドをデジタルフォトアルバム1200へ、前述した理由により「決定」キーを押し下げた時間より遅延して順次送信し、その結果、デジタルフォトアルバム1200の制御部1240は、以下のような実時間でUSER_ACTIONコマンドを受信したとする。
1回目のUSER_ACTIONコマンド t+500ミリ秒
2回目のUSER_ACTIONコマンド t+700ミリ秒
まず、デジタルフォトアルバム1200の制御部1240は、1回目のUSER_ACTIONコマンドを受信すると、当該コマンドのaction_info中のタイムコードをタイムコード用メモリ1260に保持してタイマー1270を起動する。次に、1回目のUSER_ACTIONコマンドを受信してから(t+700)−(t+500)=200ミリ秒後に、2回目のUSER_ACTIONコマンドを受信する。
このように、制御部1240は、タイマー1270からのタイムアウト信号を受信する前に2回目のUSER_ACTIONコマンドを受信すると、2回目のUSER_ACTIONコマンドを受信した後、タイマー1270のリセット処理を行い、タイムコード用メモリ1260に保持している1回目のUSER_ACTIONコマンドのタイムコードと、2回目のUSER_ACTIONコマンドのタイムコードとの差分を計算する。この差分値が、(t+70)−t=70ミリ秒で100ミリ秒以下であるから、デジタルフォトアルバム1200の制御部1240は、ダブルクリック操作に対応した制御として、デジタル画像記憶部1230からの画像707以外のボタン画像データと、操作画面データ生成部1220からの操作画面データとを、テレビ1000に転送する。
テレビ1000は、ボタン要素であるボタン画像データを含む操作画面データを受信すると、表示部1110に図40に示すように画像720を削除した操作画面を表示する。つまり、ボタン要素である画像データに対してダブルクリック操作を行うと、当該ダブルクリック操作のみで当該画像データが削除される。なお、本実施形態においては、ダブルクリック操作に応じた制御を削除としたが、これに限定されるものではない。ダブルクリック操作に応じた制御は、制御システムに応じて適宜設定すればよい。
なお、本実施形態において、クリック間隔が100ミリ秒以下の場合をダブルクリック操作としたが、他の値であっても何ら問題ない。
また、上述した1回目と2回目のUSER_ACTIONにおけるタイムコードの差分値が100ミリ秒以上である場合には、デジタルフォトアルバム1200の制御部1240は、前述したシングルクリック操作に対応した制御を行う。
以上説明したように、本実施形態によれば、例えばユーザがカーソルをボタン要素(702、301等)に移動して、「決定」キー2600を操作する場合において、シングルクリックのような単発的に押し下げを行った場合と、ダブルクリックのような短時間において連続的に押し下げを行った場合とで、被制御装置1200に対して異なる制御をすることが可能となる。言い換えれば、1つのボタン要素に対する操作に対して複数の制御を割り当てることができる。
また、被制御装置1200が、一般的に画像データである機能ボタンを追加するかわりに、極小容量のタイムスタンプ情報を操作情報の属性として準備することで、既存の一つのボタンで、その機能ボタンに対応した制御が可能となるため、被制御装置1200の操作画面生成部1220のハードウェアの簡素化やメモリの削減が可能となり、コストダウンが実現される。
また、バス使用権の調停等によって、制御装置1000からのデータ送信に遅延が起こる可能性があるために、被制御装置1200がそのデータをいつ受信するか想定できない1394シリアルバスにおいて、ユーザが2回のシングルクリックをした時に、被制御装置1200が、2つの操作情報を短い時間間隔で受信した場合でも、2つの操作情報中のタイムスタンプ情報を解析することによって、誤ってダブルクリックとして処理を行うことなくシングルクリックに対応した処理を行うことができ、誤動作を防止することができる。また逆に、ユーザがダブルクリック操作をした時に、被制御装置1200が、2つの操作情報を長い時間間隔で受信した場合でも、操作情報中のタイムスタンプ情報を解析することによって、誤ってシングルクリックと処理することはなく、ダブルクリックに対応した処理を行うことができる。
(第2の実施形態)
次に、第2の実施形態について説明する
図41は、本発明の第2の実施形態におけるリモート制御システムの構成例を示すブロック図である。この図41において、図1に示したブロックと同一の機能を有するブロックには同一の符号を付し、重複する説明は省略する。
図41において、1000はリモート制御装置としてのテレビである。1150は、1394I/F部1080から供給されるDV(デジタルビデオ)データの映像及び音声をデコードするデコーダである。1140はアイソクロナス転送が可能に構成された機器が有する前述のIEEE1394高速シリアルバス規格で定められたCYCLE_TIMEレジスタ及びBUS_TIMEレジスタである。
図42は、CYCLE_TIMEレジスタの構成を示す図である。CYCLE_TIMEレジスタは、4バイトで構成され、現在の時間値を指定する。図42において、cycle_offsetフィールドは、24.576MHzのローカルクロック毎にインクリメントされ、値が3071のときに増加(インクリメント)すると、当該フィールドの値は循環して“0”に戻るとともに、cycle_countフィールドに桁上がりをする。cycle_countフィールドは、cycle_offsetフィールドの桁上がりが発生する度、すなわち125μs毎にインクリメントされ、値が7999のときに増加すると、当該フィールドの値は循環して“0”に戻るとともに、second_countフィールドに桁上がりをする。second_countフィールドは、second_countフィールドの桁上がりが発生する度、すなわち1秒毎にインクリメントされ、値が127のときに増加すると、当該フィールドの値は循環して“0”に戻る。
図43は、BUS_TIMEレジスタの構成を示す図である。BUS_TIMEレジスタは、サイクル・マスタ対応機器が有する前述のIEEE1394高速シリアルバス規格で定められており、4バイトで構成され秒単位で現在の時刻を測定する。図43において、second_count_loフィールドは、前述のsecond_countの現在値である。secon_count_hiフィールドは、前述のsecond_countからの桁上がり毎にインクリメントされる。
図41に戻り、1200は被制御装置としてのVCRである。1230はVCR本体部であり、制御部1240による制御に従って、DVテープの再生、早送り、巻き戻し、録画動作を行う。また、テレビ1000とVCR1200とは、1394I/F部1080、1210を介して1394シリアルバス1250で接続されている。
図44は、VCR1200をリモート制御するための操作画面を示す図である。
図44において、ボタン303は逆方向再生ボタン、ボタン302は停止ボタン、ボタン301は再生ボタン、ボタン304は一時停止ボタン、ボタン305は録画ボタンである。307は、描画制御部1100により付加されたカーソルである。また、306は、現在の時刻あるいはテープの走行カウントを示すテキスト要素である。
次に、第2の実施形態におけるリモート制御システムにおいて、図44に示したボタン301を十分長い時間間隔で、2回シングルクリック操作を行った場合について説明する。
テレビ1000の制御部1130は、「決定」キー2600の押下があると、BUS_TIMEレジスタとCYCLE_TIMEレジスタ1140から「決定」キー2600が押下された時のレジスタ値、例えば300秒0ミリ秒を表す“0000012C”(16進数)と“58000000”(16進数)を取得する。そして、テレビ1000の制御部1130は、action_infoに実時間を示す計8バイトのタイムコードとして取得したレジスタ値を格納し、action_typeに「押し下げ」であることを示す値“01”を格納し、さらにelement_IDに表示データメモリ1260より読み出した選択されたボタン要素に対応するボタンIDを格納したUSER_ACTIONコマンドをVCR1200へ送信する。
前述した第1の実施形態と同様に、1回目のUSER_ACTIONコマンドを受信してから500ミリ秒以内に2回目のUSER_ACTIONコマンドを受信しなかった場合には、VCR1200の制御部1240は、シングルクリック操作に対応した動作をする。第2の実施形態では、シングルクリック操作に対応した制御は、等倍速再生制御であるため、VCR本体部1230からの等倍速再生DVデータを、テレビ1000に転送する。但し、事前に、VCR1200のストリーム出力をテレビ1000に送信するためのアイソクロナス接続(Isochronous connection)を第1の実施形態で述べたコネクション確立手順に従って確立する。すなわち、1394シリアルバス1250のIRM(第2の実施形態ではテレビ1000が担う)からアイソクロナス転送のためのチャネルと帯域を確保した後、VCR1200の1394I/F部1210のアイソクロナス・プラグからテレビ1000の1394I/F部1080のアイソクロナス・プラグへのpeer-to-peer connectionを確立する。
テレビ1000のデコーダ1150は、等倍速再生DVデータを受信すると、表示部1110にDVの映像を音声出力部に音声をそれぞれ出力する。
なお、タイムアウト信号受信後に受信する2回目のUSER_ACTIONコマンドの処理は、先述した1回目のUSER_ACTIONコマンドの処理と同様であることは、言うまでもない。
また、USER_ACTIONコマンドを500ミリ秒より十分小さい間隔で連続受信した場合、VCR1200の制御部1240は、まず、1回目のUSER_ACTIONコマンドにおけるBUS_TIMEレジスタの値と2回目のUSER_ACTIONコマンドにおけるBUS_TIMEレジスタの値との差分を計算する。次に、1回目のUSER_ACTIONコマンドの上位7ビットを除いたCYCLE_TIMEの値と2回目のUSER_ACTIONコマンドの上位7ビットを除いたCYCLE_TIMEの値との差分を計算する。ここで、上位7ビットを除くのは、CYCLE_TIMEレジスタの上位7ビットとBUS_TIMEレジスタの下位7ビットとが同じ値を示しているので、重複した計算を避けるためである。第1の実施形態と同様に、この計算結果に基づいてシングルクリック操作に対応した動作をする。第2の実施形態では、シングルクリック操作に対応した制御は、等倍速再生制御であるため、VCR本体部1230からの等倍速再生DVデータをテレビ1000に転送する。
また、ここで図44に示した操作画面において、ダブルクリック操作を行ったような「決定」キー2600の押下が2回連続で行われた場合、第1の実施形態と同様であることは言うまでもない。
VCR1200の制御部1240は、前述したタイムコード(BUS_TIMEレジスタ、CYCLE_TIMEレジスタ)の差分計算手順による計算結果に基づいて、ダブルクリック操作に対応した制御をする。第2の実施形態では、ダブルクリック操作に対応した制御は、2倍速再生制御のため、VCR本体部1230からの2倍速再生DVデータをテレビ1000に転送する。
また、以上と同様な手順に従って、VCR1200の制御部1240は、ボタン302のシングルクリック操作時に逆等倍速再生と、ダブルクリック操作時に2倍速逆再生の制御を行うようにしても構わない。
(本発明の他の実施形態)
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、上記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体は本発明を構成する。また、そのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
第1の実施形態におけるリモート制御システムの構成例を示すブロック図である。 リモート制御装置が有するリモコンを示す図である。 1394シリアルバスの階層構造を示す図である。 ノード間でのFCPに基づくフレーム送受信を示す図である。 アシンクロナス転送パケットの構造を示す図である。 コマンド・フレームの構造を示す図である。 レスポンス・フレームの構造を示す図である。 VCR subunit command setの一部を示す図である。 VCR subunit command setの一部を示す図である。 VCR subunit command setの一部を示す図である。 プラグ・コントロール・レジスタを示す図である。 oMPRの構成を示す図である。 oPCRの構成を示す図である。 iMPRの構成を示す図である。 iPCRの構成を示す図である。 point-to-point connectionを確立する手順を示すフローチャートである。 overlay point-to-point connectionを確立する手順を示すフローチャートである。 broadcast-out connectionを確立する手順を示すフローチャートである。 overlay broadcast-out connectionを確立する手順を示すフローチャートである。 broadcast-in connectionを確立する手順を示すフローチャートである。 overlay broadcast-in connectionを確立する手順を示すフローチャートである。 AV/Cアイソクロナス転送パケットのデータ構造を示す図である。 Asynchronous connectionコマンドのコマンド・フレームの構造を示す図である。 Asynchronous connection managementコマンドを示す図である。 非同期シリアルバス接続におけるコネクションの確立の手順を示す図である。 Asynchronous plugを使用したデータ転送を説明するための図である。 Asynchronous plugを使用したデータ転送の手順を示す図である。 操作画面の要素の種類と各要素のデータを示す図である。 操作画面の送受信に使用されるコマンドを示す図である。 操作画面の各要素に対するユーザ操作を示す図である。 第1の実施形態のリモート制御システムにおける制御手順の一例を示す図である。 GUI_UPDATEコマンドのコマンド・フレームを示す図である。 サブファンクションの値と被リモート制御装置への指示との対応を示す図である。 PUSH_GUI_DATAコマンドのコマンド・フレームを示す図である。 PUSH_GUI_DATAコマンドのoperand[5]を示す図である。 図35に示したlevelフィールドを説明するための図である。 第1の実施形態における操作画面を示す図である。 USER_ACTIONコマンドのコマンド・フレームを示す図である。 第1の実施形態における操作画面の他の例を示す図である。 第1の実施形態における操作画面のその他の例を示す図である。 第2の実施形態におけるリモート制御システムの構成例を示すブロック図である。 CYCLE_TIMEレジスタの構成を示す図である。 BUS_TIMEレジスタの構成を示す図である。 第2の実施形態における操作画面例を示す図である。 従来の制御システムの構成を示すブロック図である。 図45に示した従来の制御システムにおける操作画面を示す図である。 図45に示した従来の制御システムにおける他の操作画面を示す図である。 図45に示した従来の制御システムにおけるその他の操作画面を示す図である。 図45に示した従来の制御システムにおけるその他の操作画面を示す図である。
符号の説明
1000 制御装置(テレビ)
1060 画像合成部
1090 表示データメモリ
1100 描画制御部
1110 表示部
1120 リモコン信号受信部
1130 制御部
1140 カウンター
1200 被制御装置
1220 操作画面データ生成部
1240 制御部
1260 タイムコード用メモリ
1270 タイマー

Claims (16)

  1. 操作情報を送信するとともに、受信した制御情報に基づいて動作する被制御装置と、受信した操作情報に基づいて当該操作情報に係る画像を表示部に表示してユーザに操作画面を提供するとともに、ユーザの操作に応じた上記制御情報を送信する制御装置とがネットワークを介して接続された制御システムであって、
    上記制御情報は、上記ユーザの操作に係る時間情報を含み、
    上記被制御装置は、複数の上記制御情報を受信した場合、上記制御情報の時間情報に応じて受信した制御情報に基づく動作を行うことを特徴とする制御システム。
  2. 上記時間情報は、上記制御情報に対応する操作をユーザが行った時間を示すタイムコードであることを特徴とする請求項1記載の制御システム。
  3. 上記被制御装置は、受信した連続する2つの上記制御情報の時間情報から当該制御情報に対応するユーザ操作が行われた時間差を算出する時間差算出手段を有し、
    上記時間差算出手段により算出した時間差及び受信した制御情報に基づいて動作を行うことを特徴とする請求項1又は2記載の制御システム。
  4. 上記被制御装置は、時間を計測する第1の時間計測手段をさらに有し、
    上記第1の時間計測手段により計測した2つの連続する上記制御情報の受信時刻の差に応じて、受信した上記制御情報に基づく動作を行うことを特徴とする請求項1〜3の何れか1項に記載の制御システム。
  5. 上記被制御装置は、上記制御情報を受信すると上記第1の時間計測手段による時間計測を開始し、
    上記制御情報を受信してから所定時間が経過した場合には当該制御情報に基づく動作を行い、上記所定時間が経過する前に新たな制御情報を受信した場合には受信した制御情報の時間情報から当該制御情報に対応するユーザ操作が行われた時間差を算出し、算出した時間差及び受信した制御情報に基づく動作を行うことを特徴とする請求項1〜4の何れか1項に記載の制御システム。
  6. 上記所定時間が経過する前に新たな制御情報を受信した場合には、算出した時間差が所定時間以上の場合には当該制御情報に基づく第1の動作を行い、上記時間差が所定時間以内の場合には上記第1の動作とは異なる第2の動作を行うことを特徴とする請求項5記載の制御システム。
  7. 上記制御装置は、時間を計測する第2の時間計測手段を有し、
    上記ユーザが操作画面に対する操作を行ったとき、上記第2の時間計測手段から供給される時間情報を含む当該操作に応じた制御情報を生成して送信することを特徴とする請求項1〜6の何れか1項に記載の制御システム。
  8. 上記ネットワークは、IEEE1394規格に準拠したネットワークであることを特徴とする請求項1〜7の何れか1項に記載の制御システム。
  9. ネットワークに接続され、当該ネットワークに情報を送信する手段と、当該ネットワークより情報を受信する手段と、表示手段と、ユーザ指示手段とを有し、前記ネットワークより複数の操作情報を受信し、当該複数の操作情報を上記表示手段に表示し、上記ユーザ指示手段により指示される操作情報を上記ネットワークを介して送信する制御装置であって、
    カウンターを有し時間を計時する手段を有し、
    ユーザからの指示を受けた時、上記カウンターから供給されるタイムコードを上記ユーザ指示手段により指示される操作情報の属性として付加し、上記ネットワークを介して送信することを特徴とする制御装置。
  10. ネットワークに接続され、当該ネットワークに情報を送信する手段と、当該ネットワークより情報を受信する手段と、一つ以上の操作情報とを有し、上記ネットワークに操作情報を送信し、上記ネットワークより上記操作情報を受信し、当該受信した操作情報に基づいてサービスを提供する被制御装置であって、
    タイマーを有する時間計測手段を有し、
    属性としてタイムコードを有する上記操作情報を受信した時、当該タイムコードをメモリに記憶保持して上記タイマーを起動し当該タイマーのタイムアウト時に上記操作情報に基づく動作を行い、
    上記タイマーのタイムアウト以前に新たな上記タイムコードを有する操作情報を受信した時、当該タイムコードと上記メモリに保持している上記タイムコードとの差分を計算し、計算結果と上記操作情報に基づく動作を行うことを特徴とする被制御装置。
  11. 請求項9記載の制御装置と請求項10記載の被制御装置とから構成される制御システム。
  12. 上記ネットワークがIEEE1394規格に準拠したシリアルバスであることを特徴とする請求項9記載の制御装置。
  13. BUS TIMEレジスタ及びCYCLE TIMEレジスタの少なくとも一方を上記カウンターとして使用することを特徴とする請求項12記載の制御装置。
  14. 操作情報を送信するとともに、受信した制御情報に基づいて動作する被制御装置と、受信した操作情報に基づいて当該操作情報に係る画像を表示部に表示してユーザに操作画面を提供するとともに、ユーザの操作に応じた上記制御情報を送信する制御装置とがネットワークを介して接続された制御システムの制御方法であって、
    ユーザの操作に応じて、当該ユーザ操作に係る時間情報を含む制御情報を生成して送信する制御情報送信ステップと、
    上記制御情報送信ステップにて送信された制御情報を受信する制御情報受信ステップと、
    上記制御情報受信ステップにて受信した制御情報に基づく動作を行う第1の制御ステップと
    上記制御情報受信ステップにより複数の上記制御情報を受信した場合、上記制御情報の時間情報に応じて受信した制御情報に基づく動作を行う第2の制御ステップとを有することを特徴とする制御方法。
  15. 操作情報を送信するとともに、受信した制御情報に基づいて動作する被制御装置と、受信した操作情報に基づいて当該操作情報に係る画像を表示部に表示してユーザに操作画面を提供するとともに、ユーザの操作に応じた上記制御情報を送信する制御装置とがネットワークを介して接続された制御システムの制御方法をコンピュータに実行させるためのプログラムであって、
    ユーザの操作に応じて、当該ユーザ操作に係る時間情報を含む制御情報を生成して送信する制御情報送信ステップと、
    上記制御情報送信ステップにて送信された制御情報を受信する制御情報受信ステップと、
    上記制御情報受信ステップにて受信した制御情報に基づく動作を行う第1の制御ステップと
    上記制御情報受信ステップにより複数の上記制御情報を受信した場合、上記制御情報の時間情報に応じて受信した制御情報に基づく動作を行う第2の制御ステップとを有することを特徴とするプログラム。
  16. 請求項15記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2004163557A 2004-06-01 2004-06-01 制御システム、制御装置、及び被制御装置 Pending JP2005347953A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004163557A JP2005347953A (ja) 2004-06-01 2004-06-01 制御システム、制御装置、及び被制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004163557A JP2005347953A (ja) 2004-06-01 2004-06-01 制御システム、制御装置、及び被制御装置

Publications (1)

Publication Number Publication Date
JP2005347953A true JP2005347953A (ja) 2005-12-15

Family

ID=35499939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004163557A Pending JP2005347953A (ja) 2004-06-01 2004-06-01 制御システム、制御装置、及び被制御装置

Country Status (1)

Country Link
JP (1) JP2005347953A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013218486A (ja) * 2012-04-06 2013-10-24 Sharp Corp 表示装置および表示プログラム
WO2015072526A1 (ja) * 2013-11-18 2015-05-21 東京エレクトロン株式会社 情報処理装置、情報処理方法、および情報処理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013218486A (ja) * 2012-04-06 2013-10-24 Sharp Corp 表示装置および表示プログラム
WO2015072526A1 (ja) * 2013-11-18 2015-05-21 東京エレクトロン株式会社 情報処理装置、情報処理方法、および情報処理システム
JP2015099999A (ja) * 2013-11-18 2015-05-28 東京エレクトロン株式会社 情報処理装置、情報処理方法、および情報処理システム

Similar Documents

Publication Publication Date Title
JP4612779B2 (ja) 通信装置及び通信装置の映像表示制御方法
JP4532712B2 (ja) 電子機器
US5793366A (en) Graphical display of an animated data stream between devices on a bus
EP0682430B1 (en) Data transmission system and method
CA2257919C (en) Device control with topology map in a digital network
US20020031333A1 (en) On-the fly video editing device for capturing and storing images from a video stream during playback for subsequent editing and recording
US8824500B2 (en) Method of controlling connection between nodes in digital interface
US20020057892A1 (en) Video recording device including the ability to concurrently record and playback
US6684110B1 (en) Control system, apparatus, and method in which display characteristics of an operation panel are changeable
US7310808B2 (en) Method of and apparatus for supporting and enabling the selection and mixing of multiple streams of audio/video data from multiple sources within a receiving device allowing external control
JPH11164254A (ja) テレビジョン受像機
US7680391B2 (en) Remote control system for device connected to network
JP2005347953A (ja) 制御システム、制御装置、及び被制御装置
JP3952053B2 (ja) 接続管理プログラム
JPH11205313A (ja) ネットワーク装置及びネットワーク表示方法
EP1521259A1 (en) Information recording device and information recording method
JP4652584B2 (ja) 制御装置、方法およびプログラム
KR100684006B1 (ko) 녹화 재생 장치와 컴퓨터 상호간의 데이터 통신 장치 및방법
KR100564393B1 (ko) 클립 서버 제어 장치 및 그 방법
JP4250260B2 (ja) 制御システム及び制御装置
JP3906860B2 (ja) Ieee1394ネットワークへの接続機器
JP5171880B2 (ja) 電子機器及びコンピュータ読み取り可能な記憶媒体
JP2005110032A (ja) ネットワークシステム、画像供給装置、表示装置、被制御装置、制御装置、表示方法、その記録媒体及びプログラム
JP3985010B2 (ja) データ通信装置
JPH09219703A (ja) インターフェース装置