以下、図面を参照しながら本発明の実施例について説明する。
まず、オブジェクト化され、ネットワークで結ばれたマルチメディア機器環境に関して説明する。
図1は、本発明のオブジェクト指向の概念を取り入れた、マルチメディアコントローラとマルチメディア機器の論理的な接続形態を示す。1のマルチメディアコントローラを中心に、2の各マルチメディア機器はそれぞれ1対1で各種情報の直接対話が行えるように通信路が確立されていて、その通信路を介してメッセージを相互に通信する事により制御を行うものである。マルチメディア機器は、具体的にはCDプレーヤー・デジタルVTR・デジタルカメラ・デジタルTV等のAV機器やデジタルFAX・デジタルコピー機・プリンター等のOA機器など、すべてのマルチメディアデータを取り扱う機器を対象としている。
またコントローラは、ここでは専用の機器を想定しているが、パソコンやワードプロセツサWSの汎用コンピュータ上に専用OSとアプリケーションソフトウェアを搭載して実現する事もできる。
次に図2に、マルチメディアコントローラとマルチメディア機器の双方向性通信路の確立の為の物理的接続形態を(a)〜(c)に示す。
同図(a)は、SCSIバス(ANSI X3.131−1986)で採用しているデージーチェイン接続方式を、同図(b)はEthernet(登録商標)(IEEE 802.3)10BaseTで採用されているスター型接続方式を、同図(c)はEthernet(登録商標) 10Base2/5で採用されている直列型接続方式をそれぞれ示すものである。
また接続形態では、GPIB(IEEE 488)の様な(a)〜(c)の混合方式や、Ethernet(登録商標)でも(b),(c)の混合方式がある。また通信方式でも、光ケーブルやISDNを用いる方式など、図2以外にも様々な組み合わせや選択が出来る。
本発明では、この双方向性の通信路の確立方法やどれを選択するかは特に言及しない。但し、通信方式の違いによる物理的制限(転送速度・接続台数・接続長さ・コネクタ形状等)は、メッセージの相互通信にはプロトコルの階層が違うため問題にはならないが、周辺機器の相互結線を確実に行うためには、最低限一種類の物理的(メカ的・電気的)に共通なインターフェースを持つ必要がある。
また動画像のような高速なデータ通信を実現する為には、Ethernet(登録商標)より高速なFDDI(Fiber Distributed Data Interface)やB−ISDN等の光通信を用いる方法が考えられるが、ここでは説明の為に、廉価で普及しているEthernet(登録商標) 10Base2(/T)を共通の通信コネクタとして持っているものとして説明を進めることにする。
次に一般的なマルチメディア機器のハードウェア面での内部ブロック図を図3に示す。
複数のマルチメデイア機器はそれぞれ4のLANを介して、コントローラと接続されている。今LANはEthernet(登録商標)であるので、その通信プロトコル(TCP/IP)を処理するインターフェース部20が設けられている。これは専用LSI等の利用で実現出来る。ここでは送られてきたメッセージそのものが取り出されたり、逆にコントローラへメッセージが送りだされる。メッセージの例として、Objective−Cでは、一般形は、以下で表現される。
[対象オブジェクト メソッド名:引数]他の言語では表現が異なるが、基本的には同様で、以下の指定が行われる。
(1)対象オブジェクトの指定
(2)メソッド(実行させる処理)の指定
(3)引数(パラメータ)があれば、その指定
このメッセージの取り扱いは図3のソフトウェアの流れで説明する。
マルチメディア機器の内部には、10の内部バスを介して、すべてのソフトウェア処理・ハードウェア制御を行う11のCPUと、プログラムや初期値や固有情報が格納された12のROMと、一時データや機器状態等の内部パラメータを格納したりプログラムの実行に際してワーク領域として使われる13のRAMと、内部媒体あるいは外部媒体に格納されている15のマルチメディアデータをアクセスする14のデータI/Oと、17のモーター等の機構部分を制御する16のメカ系駆動部と、19のスイツチSWやLED等の表示系の電気部分を制御する18の電気系駆動部がある。また、15のマルチメディアデータは、画像・音声・文字等のデジタルデータが格納されている部分であるが、CD−ROM・MD等の光ディスクやDCC・DAT等の磁気テープ媒体あるいは半導体メモリカードなど種々の形態があり得る。
次にマルチメディアコントローラのハードウェア面での内部ブロック図を図4に示す。同図において4のLANを介して、マルチメディア機器と接続されている。今LANはEthernet(登録商標)であるので、その通信プロトコル(TCP/IP)を処理するインターフェース部31がある。これは専用LSI等の利用で実現出来る。ここで送られてきたメッセージそのものが取り出されたり、逆にマルチメディア機器へメッセージが送りだされる。
マルチメディアコントローラの内部には、30の内部バスを介して、すべてのソフトウェア処理・ハードウェア制御を行う21のCPUと、プログラムや初期値や固有情報が格納された22のROMと、一時データや機器状態等の内部パラメータを格納したりプログラムの実行に際してワーク領域として使われる23のRAMがある。25のマルチメディアファイリング装置は、内部媒体あるいは外部媒体のいずれによらずマルチメディアデータの格納・検索・再生・編集等を行う。そのアクセスコントロールを行うのが24のデータI/Oで、29のスイツチSWやLED等の表示系の電気部分を制御する28の電気系駆動部と、マンマシンインターフェースを構成する為の27のディスプレーと、その表示制御を行う26のディスプレーコントローラと、図示しないマウス等のポインティングデバイスがある。
図6は、マルチメディア機器のソフトウェア面でのシステム階層図を示す。図3で示した内部ブロック図が57のハードウェアにあたる。これらのハードウェアを制御する為の基本的制御を行うのが58のOSである。OS自体は特に限定されないが、リアルタイム性と同時に複数のプログラムを並行して実行するマルチタスクの機能を持ち合わせていることが望ましい。このOSの上に、マルチメディア機器のオブジェクト化を実現するために、マルチメディア機器毎に固有のクラスライブラリー59を持っている。
また図示していないがコントローラから制御されるための、自身コントロールパネルやコントロールに関するライブラリーを持っていて、これをコントローラと接続時に送信することにより、マルチメディア機器固有の制御をコントローラ側から実現させる。またタイマーや算術演算を行うC関数60がある。
最上位の階層には、マルチメディア機器本体のコントロールと、マルチメディアコントローラとの通信やユーザーインターフェースを受け持つ61のアプリケーションソフトウェアがある。このアプリケーションにより、マルチメディア機器本体が一つのオブジェクトとしてコントローラからメッセージのやり取りで種々の制御や実行を行なうことができ、また内部パラメータはインスタンス変数として読みだしや変更が行える。
図5は、マルチメディアコントローラのソフトウェア面でのシステム階層図を示す。図4で示した内部ブロック図が50のハードウェアにあたる。これらのハードウェアを制御する為の基本的制御を行うのが51のOSである。ここでもOS自体は特に限定されないが、リアルタイム性とマルチタスクの機能を持ち合わせていることが望ましい。
このOSの上に、接続された複数のマルチメディア機器のコントロール画面の表示や全体のシステム接続状態の表示や制御及びデータ入出力の切り替えなどのGUI(Graphical Users Interface)全般を行なう52のWindow(登録商標) Serverがある。53の共通クラスライブラリーは、あらかじめコントローラ側で用意している、ボタン、スライドボリューム、テキスト表示エリア等のユーザーインターフェースやコントロールに関する基本的で共通的な部品群(オブジェクト群)が格納されている。
逆に55の固有クラスライブラリーは、接続されているマルチメディア機器固有のパネル表示やコントロールに関する部品群(オブジェクト群)が格納されている。この固有ライブラリーは先に説明したように、マルチメディア機器がシステムに接続される毎にその機器から送られてきて増加していく。これらの具体的手順は後述する。またタイマーや算術演算を行うC関数54がある。最上位の階層には、接続されているマルチメディア機器全体のコントロールと、マルチメディア機器との通信やユーザーインターフェースを受け持つ56のアプリケーションソフトウェアがある。
このコントローラとマルチメディア機器間の具体的制御の流れとメッセージのやり取りについてこれから説明を行う。
図7はマルチメディア機器をマルチメディアコントローラに接続する前の状態を示す図である。図7において4はデジタルデータの通信を行うためのLAN、1はシステム全体の動作を制御するマルチメディアコントローラである。2はLAN4に接続されるマルチメディア機器の構造を一般化したものである。205はマルチメディアコントローラ1に常駐し、システム全体の管理を行うソフトウェアオブジェクト(以後オブジェクトと略す)であるシステムディレクターオブジェクトである。
1064はLAN4上の他のオブジェクトにとってオブジェクト化されたマルチメディア機器として機能するオブジェクトであるマルチメディア機器オブジェクトである。マルチメディア機器オブジェクト1064はさらに3つのオブジェクト1065,1066,1067から構成されている。
1065はマルチメディア機器2の大部分の機能を実現するためにハードウェアの制御を行うマルチメディア機器コントローラオブジェクト、1066は他の機器からのデジタルデータのLAN4を介した入力を受け持つマルチメディア機器データ入力オブジェクト、1067は他の機器へのデジタルデータのLAN4を介した出力を受け持つマルチメディア機器データ出力オブジェクトである。
1061はマルチメディア機器2をマルチメディアコントローラ1にLAN4を介して接続した際にマルチメディアコントローラ1内に生成されるマルチメディア機器代理オブジェクトの仕様を記述するマルチメディア機器代理オブジェクト記述ファイルである。マルチメディア機器代理オブジェクト記述ファイル1061はマルチメディア機器2の操作パネルの仕様を記述するマルチメディア機器コントロールパネルオブジェクト記述部1062とマルチメディア機器2へのデータ入出力の代理を行うデータ入出力代理オブジェクトの仕様を記述するデータ入出力代理オブジェクト記述部1063から構成されている。特にマルチメディア機器コントロールパネルオブジェクト記述部はマルチメディア機器2の操作をGUIで行うためのコントロールパネルを記述するGUI記述言語の機能を実現している。
図8はLAN4にマルチメディア機器2が接続されたときの状態を説明する図である。図8において1068はマルチメディアコントローラ1内に生成されるオブジェクトでありマルチメディアコントローラ1内においてマルチメディア機器2の代理として機能するマルチメディア機器代理オブジェクト1068である。マルチメディア機器代理オブジェクト1068はマルチメディア機器2のコントロールパネルとして機能するマルチメディア機器コントロールパネルオブジェクト1069、データ入力の際にマルチメディア機器データ入力オブジェクト1066の代理として機能するマルチメディア機器データ入力代理オブジェクト1070、同様にマルチメディア機器データ出力オブジェクト1067の代理として機能するマルチメディア機器データ出力代理オブジェクト1071から構成される。
図9は一般的なクラスライブラリーの構成を示す図である。図9において1079は同様な性質を持ったオブジェクトに共通な性質や機能を定義しオブジェクト生成のためのテンプレートとして機能するクラスの1つである第1クラスである。第1クラス1079から第pクラス1085までのp個のクラスをライブラリーとしてまとめたものをクラスライブラリー1086と称し、すべてのオブジェクトは特定のクラスに所属する。1080はクラスに属するオブジェクトが持つ内部変数のデータ型と名称、データ処理手段をあらわす内部関数(一般的にクラスメソッドと称する)のデータ型と名称を定義するクラス定義部、1081はクラスメソッドのアクセスを可能にするためにクラスメソッドの各コードへのポインターをテーブル化したクラスメソッドテーブル、1082は第1関数コード1083から第k関数コード1084までのk個のクラスメソッドの関数コードを格納するコード部である。
図10は一般的なオブジェクトの構造を示した図である。図10において234はオブジェクトであり、クラスメソッドテーブルへのポインター格納部244、メッセージ通信手段245、処理検索手段246、メソッド部239、内部データ部235によって構成される。メソッド部239は第1データ処理手段240、第2データ処理手段241をはじめとする第mデータ処理手段242までのm個のデータ処理手段で構成されている。235は内部データ部であり、第1内部データ236、第2内部データ237をはじめとする第n内部データ238までのn個の内部データで構成されている。
内部データ部235を構成する個々の内部データは個々のオブジェクトに固有であるためオブジェクト内部に持っているがメソッド部が持つデータ処理手段はクラスが同じであればオブジェクト間で共有できるため第1データ処理手段240から第mデータ処理手段242までのデータ処理手段はクラスメソッドテーブル243によってクラス毎に管理され、同じクラスに属する複数のオブジェクトから共有される。クラスメソッドテーブル243はクラスメソッドテーブルへのポインター格納部244に格納されるポインターによって各オブジェクトから参照される。
メッセージ通信手段245は他のオブジェクトからのメッセージを受け取り処理検索手段246に送る。処理検索手段246は該メッセージを解析し該メッセージに対応するデータ処理手段をメソッド部239(実際にはクラスメソッドテーブル243から)検索し実行させる。データ処理手段はメッセージに添付されたデータ、内部データ部235に存在する内部データ、外部データに対し所定の処理を実行する。処理によっては他のオブジェクトに対しメッセージを送出するものもあるが、その場合該メッセージはメッセージ通信手段245を介して他のオブジェクトに送出される。
図11はシステムディレクターオブジェクト205の構造を示す図である。同図において1072はクラスメソッドテーブルへのポインター格納部であり、システムディレクタークラスクラスメソッドテーブル1073を指し示す。1047はマルチメディア機器代理オブジェクト記述ファイル1061の記述に基づき、マルチメディア機器代理オブジェクト1068を生成するマルチメディア機器代理オブジェクト生成手段である。343はオブジェクト間のデータ入出力を管理するデータ入出力管理手段、380は種々の目的のアプリケーションオブジェクトを生成するアプリケーションオブジェクト生成手段である。1074はメッセージ通信手段、342は処理検索手段、1075はメソッド部である。1076は内部データ部であり、オブジェクトID、344は複数のマルチメディア機器を用いてある動作を行わせる際の機器間リンク情報管理データ、1078は接続されたマルチメディア機器、生成したオブジェクトに関するオブジェクト登録情報である。
システムディレクターオブジェクト205はマルチメディア機器代理オブジェクト生成手段1047を用いてマルチメディア機器2がLAN4に接続されるとマルチメディア機器代理オブジェクト記述ファイル1061を読み込み、マルチメディア機器代理オブジェクト記述ファイル1061に記述された情報から生成すべきオブジェクトの属するクラスを選択し、クラスライブラリー1081中、該当するクラスのクラス定義部1080に基づきマルチメディア機器代理オブジェクト1068を生成する。
図12は代理オブジェクト記述ファイルのコントロールパネル記述部の構成を示した図である。図12において247はコントロールパネルオブジェクト記述部であり、第1オブジェクト記述情報248から第iオブジェクト記述部249までのi個のオブジェクト記述情報より構成されている。1つのオブジェクト記述情報はオブジェクト認識情報250、オブジェクト描画情報254、オブジェクトリンク情報260から構成される。
オブジェクト認識情報250はオブジェクトが所属するクラスを示すクラス名251、第iオブジェクト固有のIDであるオブジェクトID252、第iオブジェクトが直属するオブジェクトのIDを示す所属オブジェクトID253から構成される。
オブジェクト描画情報254は、コントロールパネル表示画面231を構成するボタン等のオブジェクトの描画を行うための情報であり、第1オブジェクト描画情報255から第jオブジェクト描画情報259までのj個のオブジェクト描画情報から構成される。1つのオブジェクト描画情報は描画位置・大きさ情報256、形状・色情報257、オブジェクト画像258から構成される。
オブジェクトリンク情報261はコントローラオブジェクト207等コントロールパネルオブジェクトを構成するオブジェクトが対応するオブジェクトとのリンク情報を提供する記述であり、第1オブジェクトリンク情報261から、第kオブジェクトリンク情報264までのk個のオブジェクトリンク情報から構成される。1つのオブジェクトリンク情報は対応オブジェクトID262と対応オブジェクトへの送出メッセージ263から構成される。
図13は代理オブジェクト記述ファイルのデータ入出力代理オブジェクト記述部の構成を示している。図13において、650はデータ入出力代理オブジェクト記述部、651は第1入力代理オブジェクト情報であり655は第m入力代理オブジェクト情報である。各入力代理オブジェクト情報は自己のオブジェクトID652、リンク先のデータ入力オブジェクトのIDを示すリンク先対応データ入力オブジェクトID653、入力することができるファイルタイプのリストである整合ファイルタイプリスト654から構成されている。659は第1出力代理オブジェクト情報、663は第n出力代理オブジェクト情報である。各出力代理オブジェクトは自己のオブジェクトID660、対応するデータ出力オブジェクトのIDを示す対応データ出力オブジェクトID、出力することができるファイルタイプのリストである整合ファイルタイプリスト662で構成されている。
次に上述のシステム制御方式に基づいた具体的なマルチメディア機器2の制御系の例としてデジタルVTRを例にとって本発明の動作を説明する。
図14はオブジェクト化されたデジタルVTRをマルチメディアコントローラに接続する前の状態を示す図である。図14において、203はデジタルVTR、206はデジタルVTR203に常駐しLAN上の他の機器から見てオブジェクト化されたデジタルVTRとして機能するデジタルVTRオブジェクトである。デジタルVTRオブジェクト206はさらに3つのオブジェクトから構成されている。207はデジタルVTR203のハードウェアの制御を行うデジタルVTRコントローラオブジェクトである。
208は他の機器からのデジタルデータのLAN4を介した入力を受け持つデジタルVTRデータ入力オブジェクトである。209は他の機器へのデジタルデータのLAN4を介した出力を受け持つデジタルVTRデータ出力オブジェクトである。210はデジタルVTR203をマルチメディアコントローラ1にLAN4を介して接続した際にマルチメディアコントローラ1内に生成されるデジタルVTR代理オブジェクトの仕様を記述するデジタルVTR代理オブジェクト記述ファイルである。
デジタルVTR代理オブジェクト記述ファイル210はデジタルVTR203の操作パネルの仕様を記述するデジタルVTRコントロールパネルオブジェクト記述部211とデジタルVTR203へのデータ入出力の代理を行うデジタルVTRデータ入出力代理オブジェクトの仕様を記述するデジタルVTRデータ入出力代理オブジェクト記述部212から構成されている。
図15はVTRコントローラオブジェクト207の構造を示す図である。同図において1009はクラスメソッドテーブルへのポインター格納部でありクラスメソッドテーブル1018へのポインターを格納する。クラスメソッドテーブル1018はデジタルVTR203のハードウェアを制御し再生動作を実行する再生実行手段1019、録画動作を実行する録画実行手段1020等多数のデータ処理手段から構成されている。1010はメッセージ通信手段であり、1011は処理検索手段である。1012はメソッド部であるが実際のデータ処理手段はクラスメソッドテーブル1018によって示される。1015は内部データ部であり、テープの走行状態1016、テープ現在位置1017などデジタルVTR203の制御に必要な多数の変数及びステータス情報により構成されている。
まず、デジタルVTR203がLAN4に接続されたときの動作について説明する。図16はデジタルVTR203をLAN4に接続した際の動作のフローを示した図である。図17はマルチメディアコントローラ1の画面を示した図である。図17において228はマルチメディアコントローラ1のディスプレー、229はデジタルVTR203が接続されたことを示すアイコン表示であり、230はマウスなどのポインティングデバイスが指示する位置を示すカーソルである。ポインティングデバイスは図示しないが、ポインティングデバイスはボタンを備えており、該ボタンを利用者が押して放す動作を一般的にクリックすると称し、所定間隔で2回クリックする動作をダブルクリックすると称する。尚、他の接続機器としては、カメラ(静止画入力)、チユーナ、テレビジヨン、各種データベース、CD等、種々の機器との接続が可能であり、それらの機器の選択、制御も画面228上のアイコン表示にて行うことができる。
図18はLAN4にマルチメディア機器の例であるオブジェクト化されたデジタルVTR203が接続されたときの状態を説明する図である。図18において220はマルチメディアコントローラ1内に生成されるオブジェクトでありマルチメディアコントローラ1内においてデジタルVTR203の代理として機能するデジタルVTR代理オブジェクト220である。デジタルVTR代理オブジェクト220はデジタルVTR203のコントロールパネルとして機能するデジタルVTRコントロールパネルオブジェクト221、データ入力の際にデータ入力オブジェクト208の代理として機能するデジタルVTRデータ入力代理オブジェクト222、同様にデータ出力オブジェクト209の代理として機能するデジタルVTRデータ出力代理オブジェクト223から構成される。
図16、図17、図18に従ってLAN4にマルチメディア機器の例であるオブジェクト化されたデジタルVTR203が接続されたときの動作を説明する。デジタルVTR203をLANに接続すると(636)システムディレクターオブジェクト205がデジタルVTR203の接続を認識する(637)。次にシステムディレクターオブジェクト205はデジタルVTR203にデバイスIDを発送する(638)。
次にシステムディレクターオブジェクト205はマルチメディア機器代理オブジェクト生成手段1047を用いてデジタルVTR203よりデジタルVTR代理オブジェクト記述ファイル210をロードする(639)。次にシステムディレクターオブジェクト205はマルチメディア機器代理オブジェクト生成手段1047を用いてデジタルVTR代理オブジェクト記述ファイル210に基づきデジタルVTR代理オブジェクト220をマルチメディアコントローラ1中に生成する(640)。その結果図18で示した接続状態になる。次にデジタルVTR代理オブジェクト220はマルチメディアコントローラ1のディスプレー228にデジタルVTR203のアイコン表示229を表示する(641)。その後利用者の指示を待つ(642)。
以後、操作者は、マルチメデイアコントローラのデジタルVTRコントロールパネルオブジエクト221に基づいて表示された操作画面に基づいてデジタルVTRを操作することにより、マルチメデイアコントローラ1内のデジタルVTR代理オブジエクト220を介してデジタルVTRを制御することができる。
次にデジタルVTR代理オブジェクト記述ファイル210の記述と生成されるオブジェクトの関連についてさらに詳細に説明する。
図19はデジタルVTR203のアイコン、図20はコントロールパネル表示画面の例を示した図である。図19はデジタルVTR203がLAN4に接続する際に表示されるアイコン229を示している。図20はデジタルVTRコントロールパネルオブジェクト221が描画するデフォルトの表示画面であり、同図において232はデイスプレー上に表示されるコントロールパネルの表示選択メニュー、265はテープの経過時間を表示するタイムカウンター表示、266はデジタルVTR203の制御モードを選択するコントロールモード選択部267はデフォルトの制御モードに設定するための第1のスイッチボタン表示、268はより詳細な制御モードを選択するための第2のスイッチボタン表示、269は巻き戻しボタン表示、270は逆転再生ボタン表示、271は一時停止ボタン表示、272は再生ボタン表示、273は早送りボタン表示、274は停止ボタン表示、275は録画ボタン表示である。
図21はオブジェクトの所属するクラスとデジタルVTRコントロールパネルオブジェクト221の構成要素の対応を説明する図である。各基本的な構成要素が所属するクラスはあらかじめクラスライブラリー1081に定義されており、マルチメディアコントローラ1中に保持されている。図21が示すとおりデジタルVTRコントロールパネルオブジェクト221の各構成要素個々がデジタルVTRコントロールパネルオブジェクト221を構成するオブジェクトとして機能する。
図21においてコントロールパネル表示画面231のフレームはパネルクラスのVTRコントロールパネルオブジェクト284(ID=1)に対応している。コントロールパネルの表示選択メニュー232はメニュークラスのパネルビュー設定メニューオブジェクト285(ID=2)に対応している。タイムカウンター表示265はフォームクラスのタイムカウンターオブジェクト286(ID=3)に対応している。巻き戻しボタン表示269はボタンクラスの巻き戻しボタンオブジェクト287(ID=4)に対応している。逆転再生ボタン表示270はボタンクラスの逆転再生ボタンオブジェクト288(ID=5)に対応している。一時停止ボタン表示271はボタンクラスの一時停止ボタンオブジェクト289(ID=6)に対応している。再生ボタン表示272はボタンクラスの再生ボタンオブジェクト290(ID=7)に対応している。早送りボタン表示273はボタンクラスの早送りボタンオブジェクト291(ID=8)に対応している。停止ボタン表示274はボタンクラスの停止ボタンオブジェクト292(ID=9)、録画ボタン表示275はボタンクラスの録画ボタンオブジェクト293(ID=10)に対応している。
コントロールモード選択部266はボタングループクラスのコントロールモード切り替えオブジェクト294(ID=11)に対応している。第1のスイッチボタン267はラジオボタンクラスのデフォルトボタンオブジェクト295(ID=12)に対応している。第2のスイッチボタン268はラジオボタンクラスの上級ボタンオブジェクト296(ID=13)に対応している。
次に図21に示したデジタルVTRコントロールパネルオブジェクト221を構成するオブジェクトのうち、例として再生ボタンオブジェクト再生ボタンオブジェクト290の生成に関して説明する。
図22は再生ボタンオブジェクト290の生成に関する説明図である。図22において297、298、299、300、601、602、603、604、605、606、607、608、609、610、611はデジタルVTR代理オブジェクト記述ファイル210のオブジェクトコントロールパネルオブジェクト記述部247に記述された要素を示している。
297はオブジェクト認識情報であり、クラス名298、オブジェクトID299、所属オブジェクトID300から構成される。601は第1オブジェクト描画情報であり、描画位置・大きさ情報602、形状・色情報603、オブジェクト画像604から構成される。605は第2オブジェクト描画情報であり、描画位置・大きさ情報606、形状・色情報607、オブジェクト画像608から構成される。609はオブジェクトリンク情報であり、リンク先オブジェクトID610と送出メッセージ611から構成される。
290はクラスとデジタルVTR代理オブジェクト記述ファイル210のオブジェクトコントロールパネルオブジェクト記述部247の情報から生成されるボタンオブジェクト再生ボタンオブジェクトである。613はクラスメソッドテーブルへのポインター格納部であり、ボタンクラスクラスメソッドテーブル625をポイントするポインターを格納している。ボタンクラスクラスメソッドテーブルはボタンクラスのオブジェクトが生成される際にボタンオブジェクトの内部変数を初期化するボタン初期化手段626とボタンオブジェクトの表示を描画するボタン描画手段627、利用者がボタンオブジェクトの描画位置をマウス等のポインティングデバイスのカーソル230で指示してクリック動作を行ったときにその動作に反応してボタンオブジェクトがクリックされたことをボタンの表示を一時的に変えるなどで示すとともに他のオブジェクトにメッセージを送出するクリック反応手段から構成されている。
これらのボタンクラスメソッドテーブルが保持する各データ処理手段の定義はクラスに記載されており、再生ボタンオブジェクト290だけでなく他のボタンクラスに属するすべてのオブジェクトから共通に参照されもちいられる。614はメッセージ通信手段、615は処理検索手段である。616はメソッド部であり、620は内部データ部である。内部データ部620はオブジェクトID621、ボタン状態データ622、描画パラメータ623、リンクデータ624から構成されている。再生ボタンオブジェクト290だけでなくボタンクラスに属するすべてのボタンオブジェクトが持つべき内部データの型はクラスに記載されている。
システムディレクターオブジェクト205はデジタルVTR代理オブジェクト記述ファイル210を読み込んで各オブジェクトを生成するが、図22の例ではオブジェクト認識情報297のクラス名298の記述によってボタンクラスのオブジェクトを生成する。再生ボタンオブジェクト290をシステムディレクターオブジェクト205が生成する際、ボタン初期化手段626によって内部データ部620の初期化が行われる。図22の例によれば、オブジェクトIDはオブジェクトID299の記述によってID=7に設定される。所属オブジェクトID300の記述によってシステムディレクターオブジェクト205は再生ボタンオブジェクト290がデジタルVTRコントロールパネルオブジェクト221に属することがわかる。このような各オブジェクトの所属オブジェクト情報をもとにシステムディレクターオブジェクト205はオブジェクト間の包含関係を知り、複数のオブジェクトから構成されるオブジェクトを複合オブジェクトとして生成する。
ボタン描画手段627は描画パラメータ623とボタン状態データ622にもとづいて再生ボタンオブジェクト290を描画する。ボタン描画手段627はボタンオブジェクト生成時と所属オブジェクトの移動時に自動的に実行される。
第1オブジェクト描画情報601は押されていない時のボタンの描画情報625を記述している。描画位置・大きさ情報602は再生ボタンオブジェクト290を描画する際のデジタルVTRコントロールパネルオブジェクト221における描画位置と大きさを示す矩形枠情報が記述されている。該矩形枠情報は押されていない時のボタンの描画情報625の(X1、Y1)、(X2、Y2)のようにデジタルVTRコントロールパネルオブジェクト221の座標系において該矩形情報を規定する座標情報、例として左上と右下の座標によって表現される。押されていないときの再生ボタンオブジェクトの描画は形状・色情報603もしくはオブジェクト画像604にもとづいて行われる。形状・色情報603は線の書き方色の塗り方などオブジェクトを描画するための言語で記述されている。オブジェクト画像604はビットマップデータで表現されている。一般に前者で表現したほうがデータ量は少なくてすむが後者の方が自由度が高い。
第2オブジェクト描画情報605は第1オブジェクト描画情報601と同様の方法で押されたときのボタンの描画情報626を記述している。第1オブジェクト描画情報601と第2オブジェクト描画情報605をもとにして描画パラメータ623が決定される。リンクデータ624はオブジェクトリンク情報609にもとづいて設定され、送出メッセージとして’play’が、リンク先オブジェクトIDとしてリンク先オブジェクトIDが設定されるが、メッセージを送出する際に受取先のオブジェクトがシステム全体で一意に決定される目的で、デジタルVTR203をLAN4に接続した際にシステムディレクターオブジェクト205がデジタルVTRに割り当てたデバイスIDをリンク先オブジェクトIDに付加した形で設定される。
そのため機器間でオブジェクトが重複したIDを用いてもメッセージを正しく伝えることが可能になる。ボタン状態データはボタンが押されているか否かの状態を保持する。
図23は利用者がデジタルVTR203のアイコン表示229にカーソル230を合わせてダブルクリックした際の動作を示すのフローチヤートおよびコントロールパネルを操作した際の動作のフローチヤートを示した図である。
図24は利用者がデジタルVTR203のアイコン表示229をダブルクリックした際のマルチメディアコントローラ1の表示画面を示す図である。図24において231はデジタルVTR203のデフォルトのコントロールパネル表示画面、272は再生ボタンである。
図29はパネルクラスのデジタルVTRコントロールパネルオブジェクトの構造とオブジェクト記述情報の関係を示した図である。
図29において1401はクラスメソッドテーブルへのポインター格納部でありパネルクラスクラスメソッドテーブル1402を示す。パネルクラスクラスメソッドテーブルはパネルオブジェクトを初期化するパネル初期化手段1403、パネルを描画するパネル描画手段1404、パネルをダブルクリックされたときの動作を示すクリック反応手段1405から構成される。1406はメッセージ通信手段、1407は処理検索手段、1410は内部データ部であり、1411はオブジェクトID、1412はパネル状態データ、1413は描画パラメータである。内部データ部1410はデジタルVTR代理オブジェクト記述ファイル210の記述に従い、初期化されるが、デジタルVTR代理オブジェクト記述ファイル210のデジタルVTRコントロールパネルオブジェクト記述部211はオブジェクト認識情報1414、デジタルVTR203のアイコン画像1426を示す第1オブジェクト描画情報、デジタルVTRのコントロールパネルのフレーム1427を示す第2オブジェクト描画情報1422から成り立つ。オブジェクト認識情報1414はクラス名1415(パネルクラス)、オブジェクトID1416(ID=1)、所属オブジェクトIDから構成される。第1オブジェクト描画情報1418は描画位置・大きさ情報1419、形状・色情報1420、オブジェクト画像1421から構成される。第2オブジェクト画像1422は描画位置・大きさ情報1423、形状・色情報1424、オブジェクト画像1425から構成される。
図23と図29にしたがってデジタルVTR203のコントロールパネル表示動作と再生動作の指示方法を説明する。図16で説明した動作においてシステムディレクターオブジェクト205がデジタルVTR代理オブジェクト220を生成した時点でデジタルVTR代理オブジェクト220はアイコン表示229をアイコン画像1426に基づいて表示するが、利用者がデジタルVTRのアイコン229をカーソル230で指示してダブルクリックすると(643)、デジタルVTR代理オブジェクト220のコントロールパネルオブジェクト221はコントロールパネルオブジェクト221を構成するすべてのオブジェクトにたいして描画を指示するメッセージを送出する。該メッセージにしたがって図21に示したすべてのオブジェクトが描画手段を実行し、コントロールパネルオブジェクトはその際、第2オブジェクト描画情報に基づいてデジタルVTRのコントロールパネルのフレームを描画する。その結果、デジタルVTR203を操作するためのデジタルVTRコントロールパネル表示231が図24のように表示され(644)、利用者の指示を待つ(645)。この状態で利用者が該コントロールパネル231の再生ボタン272をカーソル230で指示してクリックすると(646)、コントロールパネルオブジェクト221はデジタルVTR203のコントローラオブジェクト214にメッセージ’PLAY’を送出する(647)。これによってデジタルVTR203のコントローラオブジェクト214は該メッセージに反応して再生実行手段を起動する(648)。再生実行手段の起動によってデジタルVTR203の再生動作が開始される。
以上説明したように本発明によればマルチメディア機器をマルチメディアコントローラにLANを介して接続するだけでマルチメディア機器の操作に必要なマルチメディア機器代理オブジェクトがマルチメディアコントローラに自動的に生成され、さらにマルチメディア機器の操作に必要なコントロールパネルがマルチメディアコントローラのディスプレーに自動的に表示され、該コントロールパネルに対して利用者が操作を行うとマルチメディア機器のコントローラオブジェクトに適切なメッセージが送出され所望の操作を行うことができる。マルチメディア機器の操作に必要なマルチメディア機器代理オブジェクトを生成するために必要な情報はマルチメディア機器から読み込んだマルチメディア機器代理オブジェクト記述ファイルから取得するため、マルチメディアコントローラには基本的なクラスライブラリーがあるだけでよく、特定のマルチメディア機器に関する情報をあらかじめ持っている必要はない。
図25はデジタルVTRデータ入力代理オブジェクトの構造とオブジェクト記述情報の関係を示した図である。図25において、222はデジタルVTRデータ入力代理オブジェクト、668はクラスメソッドテーブルへのポインター格納部であり、データ入力代理クラスクラスメソッドテーブル679を示す。データ入力代理クラスクラスメソッドテーブル679はデータ入力代理オブジェクト初期化手段680、リンク情報更新手段681、整合ファイルタイプ返答手段678より構成される。
669はメッセージ通信手段、670は処理検索手段、671はメソッド部である。674は内部データ部であり、675はオブジェクトID、676は対応するデータ入力オブジェクトのIDである対応データ入力オブジェクトIDである。677は入力することができるデータのファイルタイプを示す整合ファイルタイプ、1006はデータ出力オブジェクトとのリンク情報である。
デジタルVTR代理オブジェクト記述ファイル210のデジタルVTRデータ入出力代理オブジェクト記述部212に基づきデジタルVTRデータ入力代理オブジェクトは生成されるが、682はデジタルVTRデータ入出力代理オブジェクト記述部212に記述された入力代理オブジェクト情報であり、オブジェクトID(本例ではID=1)683、対応データ入力オブジェクトID(本例ではID=1)684、整合ファイルタイプリスト685(本例ではAV1、AV2と称するフォーマットとする)から構成される。これらの記述によって入力代理オブジェクト初期化手段680は内部データ部674のデータを初期化する。
図26はデジタルVTRデータ出力代理オブジェクトの構造とオブジェクト記述情報の関係を示した図である。図26において、223はデジタルVTRデータ出力代理オブジェクト、690はクラスメソッドテーブルへのポインター格納部であり、データ出力代理クラスクラスメソッドテーブル1048を示す。データ出力代理クラスクラスメソッドテーブル1048はデータ出力代理オブジェクト初期化手段694、リンク情報更新手段695、整合ファイルタイプ返答手段700より構成される。
691はメッセージ通信手段、692は処理検索手段、693はメソッド部である。696は内部データ部であり、697はオブジェクトID、698は対応するデータ出力オブジェクトのIDである対応データ出力オブジェクトIDである。699は出力することができるデータのファイルタイプを示す整合ファイルタイプ、688はデータ出力オブジェクトとのリンク情報である。
デジタルVTR代理オブジェクト記述ファイル210のデジタルVTRデータ入出力代理オブジェクト記述部212に基づきデジタルVTRデータ出力代理オブジェクトは生成されるが、1001はデジタルVTRデータ入出力代理オブジェクト記述部212に記述されたデータ出力代理オブジェクト情報であり、オブジェクトID(本例ではID=1)1002、対応データ出力オブジェクトID(本例ではID=1)1003、整合ファイルタイプリスト1004(本例ではAV1、AV2と称するフォーマットとする)から構成される。これらの記述によってデータ出力代理オブジェクト初期化手段694は内部データ部696のデータを初期化する。
図27はデジタルVTRデータ入力オブジェクトの構造を示した図である。図22において、208はデジタルVTRデータ入力オブジェクト、1022はクラスメソッドテーブルへのポインター格納部であり、データ入力クラスクラスメソッドテーブル1031を示す。データ入力クラスクラスメソッドテーブル1031はファイル書き込み手段1032、データ受信手段1033、リンク情報更新手段686より構成される。1023はメッセージ通信手段、1024は処理検索手段、1025はメソッド部である。1028は内部データ部であり、1029はオブジェクトID、1030はリンク情報である。
図28はデジタルVTRデータ出力オブジェクトの構造を示した図である。図28において、209はデジタルVTRデータ出力オブジェクト、1035はクラスメソッドテーブルへのポインター格納部であり、データ出力クラスクラスメソッドテーブル1044を示す。データ出力クラスクラスメソッドテーブル1044はファイル読みだし手段1045、データ送信手段1046、リンク情報更新手段687より構成される。また1036はメッセージ通信手段、1037は処理検索手段、1038はメソッド部である。1041は内部データ部であり、1042はオブジェクトID、1043はリンク情報である。
デジタルVTR203のデータ入力代理オブジェクト222とデータ出力代理オブジェクト223がマルチメディアコントローラ中に生成されるとあたかもデジタルVTRデータ入力オブジェクト208やデジタルVTRデータ出力オブジェクト209であるかのように機能する。例えば他のマルチメディア機器のファイルをデジタルVTRにコピーする場合システムディレクターオブジェクト205はデジタルVTRデータ入力代理オブジェクト222に入力することができるファイルのタイプを問い合わせる。システムディレクターオブジェクト205の問い合わせにたいしデジタルVTRデータ入力代理オブジェクト222の整合ファイルタイプ返答手段は、デジタルVTR203が受け付けることのできるファイルタイプを返答する。
コピーしようとするファイルのファイルタイプがその中に存在すればコピーしようとしているファイルを有するマルチメディア機器の出力代理オブジェクトからデジタルVTRデータ入力代理オブジェクト222へのリンクが設定される。デジタルVTRデータ入力代理オブジェクト222のリンク情報更新手段681はデジタルVTRデータ入力オブジェクト208にメッセージを送ってデジタルVTRデータ入力オブジェクト208のリンク更新手段を起動しデジタルVTRデータ入力オブジェクト208のリンク情報688を更新する。
同時にコピーしようとしているファイルを有するマルチメディア機器のデータ出力代理オブジェクトがデータ出力オブジェクトのリンク情報を更新するメッセージを送出しリンク情報が更新されることでコピーしようとしているファイルを有するマルチメディア機器のデータ出力オブジェクトとデジタルVTRデータ入力オブジェクト208のリンクが設定される。
その後、コピーしようとしているファイルを有するマルチメディア機器のデータ出力オブジェクトのデータ送信手段が起動され、コピーしようとしているファイルを有するマルチメディア機器のデータ出力オブジェクトはデジタVTRデータ入力オブジェクトにメッセージを送り、データ受信手段1033とファイル書き込み手段1032を起動することでファイルのコピーが行われる。すなわちコピーの指示等をマルチメディアコントローラ内のデータ入力代理オブジェクトとデータ出力代理オブジェクトに指示すると、データ入力代理オブジェクトとデータ出力代理オブジェクトはそれぞれマルチメディア機器本体のデータ入力オブジェクトとデータ出力オブジェクトにメッセージを送出し、マルチメディア機器間のデータのリンクを設定するため実際のデータのコピーなどに関してマルチメディアコントローラが直接関与する必要はない。
以上の様に、本発明によれば、複数のマルチメディア機器が接続されたシステム全体の制御を行なう際に、今までの様にあらかじめコントローラ側にその制御を行なう為のデバイスドライバやアプリケーションソフトウェアなどをインストールして準備する必要がなくなり、マルチメディア機器をLAN上に接続するだけで自動的にコントロールパネル及び機器状態がコントローラの画面上に表示され、電源のON/OFF・本体の制御・入出力の切り替えを画面において行い易くなる等の大きな効果がある。
また、マルチメディア機器がコントローラ側に送ったコントロールパネルの部品群の中で、コントローラ側であらかじめ持っていた同一に定義されている部品群とはユーザーの好みで交換することができ、メーカー毎に異なるユーザーインターフェースを統一することが可能である。さらに、LANを介して遠隔地のコントローラからの制御やマルチメディア機器のアクセスを透過的に行なうことが出来るようになった。
次に上記マルチメデイア制御システムを用い、実際に複数のマルチメデイア機器をマルチメデイアコントローラに接続し、これを制御するようにした場合の具体例を説明する。図30は、その第1の実施例の構成を表すブロック図である。
同図から明らかな様に、本発明の第1の実施例は各マルチメディア機器102−1、102−2、102−3とそれらのマルチメディア機器を操作、管理するマルチメディアコントローラ1とから構成されている。
図30では102−1、102−2、102−3と3つのマルチメディア機器が図示されているが、もちろん前記マルチメディア機器は1つ以上であればいくつでも良い。ただし、システム全体の負荷から最適最大接続数はあるものとする。前記マルチメディアコントローラはマルチメディアコントローラの機能を実現するためのマルチメディアコントローラ機能ユニット103と、通信を物理的もしくは論理的下位レベルで制御するインタフェースコントローラ107−0と、主電源回路108−0と副電源回路109−0と、タイマ回路105と各マルチメディア機器の接続状況を管理するテーブルを記憶しておく記憶装置104と、それらを制御するシステムコントローラ106−0を所有している。前記主電源回路108−0は前記インタフェースコントローラ107−0、タイマ回路105、システムコントローラ106−0、記憶装置104に電源を供給し、電池から電源を供給されても良いし、通信線に電源線をも付設してそれより供給されても良い。前記副電源回路109−0は前記マルチメディアコントローラ1のメインスイッチを使用者が操作するかもしくは前記システムコントローラ106−0からの要求でオン・オフするように構成され、前記マルチメディアコントローラ機能ユニット103に供給される。この副電源回路109−0は、例えば家庭用コンセントから供給されるようにし、前記主電源回路108−0は別系統の電源から供給されるようにする。
以上の様に電源を2系統から供給される様にすることで、一般に消費電力が大きいメカ駆動系などの電源を必要な時のみオンする様にし、必要ない場合は通信する事のみ可能な電源を供給する事ができる様になる。
また前記各マルチメディア機器A、B、Cにはそれぞれ各マルチメディア機器機能ユニット111−1、111−2、111−3と、インターフェースコントローラ107−1107−2、107−3と、主電源回路108−1、108−2、108−3と、副電源回路109−1、109−2、109−3と、システムコントローラ106−1、106−2、106−3を有している。前記インターフェースコントローラ107−1、107−2、107−3と、主電源回路108−1、108−2、108−3と、副電源回路109−1、109−2、109−3と、システムコントローラ106−1、106−2、106−3は前述したマルチメディアコントローラ1のインタフェースコントローラ107−0、主電源回路108−0、副電源回路109−0、システムコントローラ106−0と同等のものである。
前記マルチメディア機器A、B、Cの具体例としてディジタルVTRの場合の構成を表すブロック図が図31である。前記マルチメディア機器機能ユニット111−1、111−2、111−3の具体例であるディジタルVTR機能ユニット111は、アナログ出力端子113、アナログ入力端子114、D/A変換回路115、A/D変換回路116、フレームメモリ117、信号処理回路118、符号化回路119、復号回路120テープデッキユニット122、テープインターフェースコントローラ121、高速データバス123、コントロールバス124から構成されている。
次に本発明の第1の実施例の動作について説明する。図32は前記マルチメディアコントローラ1のメインイベントループの処理を表すフローチャートである。先ずマルチメディアコントローラを操作している使用者がマルチメディアコントローラを操作したイベントか、もしくは通信によって各マルチメディア機器から送られてきたイベントがあるかどうかを判断する(s101)。もしイベントがあればそのイベントの処理を実行する(s107)。もしイベントがなければ、カウンタgCheckTime=0が成立しているか判断する(s102)。
このカウンタgCheckTimeはマルチメディアコントローラが一連の接続状態状態チェック動作をする周期を管理するカウンタであり、前記タイマー回路105でカウントされる。前記判断(s102)の結果gCheckTime=0が成立しているならば接続装置状態チェックを行い(s103)、作成された接続状態管理テーブルに記載されたマルチメディア機器に装置IDを割り振る(s104)。前記装置IDとは、TCP/IPプロトコルでいえばIPアドレスのようなもので、いわゆる機器の論理アドレスである。これを割り振ることで、物理アドレスを意識することなくマルチメディアコントローラと各マルチメディア機器間で通信することができる。
またシステムに新たな機器を接続した場合や既に接続されている機器をシステムから切り離した場合に、前記装置IDを自動に再割り振りするので送受信アドレスが統一的に管理できる。以上の様に作成された接続状態管理テーブルを参照して接続装置状態表示を書き換えて(s105)、gCheckTimeにPreSet値をセットする(s106)。また、前述した接続状態管理テーブルの構成を図33に示す。
図33の中のユニーク番号と言う欄は各マルチメディア機器固有の番号で、これを用いて物理アドレスも兼用する。またこのユニーク番号には、各マルチメディア機器の属性情報、たとえばディジタルVTRあるとかCDプレーヤーであるといった情報が含まれているものとし、これを基にもし同じ属性の機器が接続されていたら、図33の管理テーブルの機器ネーム欄に名前を区別して記憶する。たとえば図33の場合はディジタルVTRが2つ接続されている場合の例で、DigitalVTR1、ディジタルDigitalVTR2と記憶する。図33中のオブジェクト情報格納アドレスの欄には各マルチメディア機器の表示、操作オブジェクトの格納されている領域へのポインタ等が記憶される。この事に関しては、後に詳しく説明する。また図33中の装置IDの欄は前述した装置IDが記憶され、電源On/Off欄、接続確認欄についても後に説明する。
次に前記接続装置状態チェック(s103)の処理について詳しく説明する。図34はこの接続装置状態チェックのフローチャートである。先ず通信のタイムアウトをカウントする変数WaitTimerを初期化して(s107)マルチメディアコントローラ1から各マルチメディア機器に対して接続機器状態確認メッセージを送る(s108)。そして前記WaitTimerをインクリメントし(s109)、前記WaitTimerがタイムアウト時間Limitを越えているかどうか判断する(s110)。もし前記WaitTimerがLimitを越えていなければ各マルチメディア機器からの返信メッセージが到着しているかどうか確認し(s111)、まだ到着していなければs109に戻る。到着していれば、その返信メッセージを発信したマルチメディア機器が前記接続状態管理テーブルに既に記憶されているかどうかを調べ(s112)もし既に記憶されている機器であったならば前記接続状態管理テーブルの接続確認欄に確認をチェックする(s115)。もし未だ前記接続状態管理テーブルに記憶されてない機器であったならば前記接続状態管理テーブルに該マルチメディア機器を登録し、接続確認欄に確認をチェックする(s114)。
そして前記WaitTimerを初期化して(s116)、S109に戻り他のマルチメディア機器からの返信を待つ。もし前記s110の判断でタイムアウト値Limitを越えたと判断した場合は前記接続状態管理テーブルに記憶されているマルチメディア機器のうちで前記接続状態管理テーブルの接続確認欄に確認のチェックがされていない機器があるかどうか判断し(s117)、もしなければ処理を終了する。
もし接続確認欄に確認のチェックがされていない機器があると判断した場合は、WaitTimerを初期化して(s118)前記接続確認欄に確認のチェックがされていない機器に対して再度接続機器状態要求メッセージを送出し(s119)、前記WaitTimerをインクリメントして(s120)前記WaitTimerがタイムアウト値Limitを越えているかどうか判断する(s121)。
もしs121の判断の結果、WaitTimerがタイムアウト値Limit を越えているとなった場合はそのマルチメディア機器は接続されていないと判断して前記接続状態管理テーブルから消去する(s125)。s121の判断の結果、WaitTimerがタイムアウト値Limitを越えていない場合は、そのマルチメディア機器からの返信メッセージが到着しているかどうか調べ(s122)、もし到着していなければs120に戻り、s121で前記WaitTimerがタイムアウト値Limitを越えたと判断するまで該マルチメディア機器からの返信メッセージを待つ。
もし前記s122で返信メッセージを受信したと判断した場合はその返信が一応期待した機器と一致するかどうか判断し(s123)、一致すれば前記接続状態管理テーブルの接続確認欄に確認のチェックをする(s124)。もし一致しなければ何か異常があると判断して前記接続状態管理テーブルから該マルチメディア機器を削除し、警告動作をする(s125)。そしてs117に戻り、前記接続確認欄に確認のチェックがされていない機器がなくなるまで以上の処理が繰り返される。この一連の処理(s107〜s125)を定期的に行うことにより、前記接続状態管理テーブルが更新され、システムに接続されているマルチメディア機器を把握することができる。
こうして接続が確認された各マルチメディア機器を前記マルチメディアコントローラの使用者に提示する手段を表現したものが図35である。図35(A)は使用者が接続機器確認表示コマンドを実行させ、前記マルチメディアコントローラ1の表示装置125に接続機器確認パネル126を表示したところを表した図である。図中の127のパネルは使用者が前記接続機器確認表示コマンドを実行させる以前に表示させていたあるアプリケーション・パネルである。
前記接続機器確認パネル126上には接続が確認された各マルチメディア機器のアイコン(128、129、130、131、132、133)が表示される。前記副電源がオンになっているマルチメディア機器のアイコンはアイコンに反転表示や縁取り表示等が施され、電源が入っていることを使用者に明示する。図35(A)の例では、アイコン130が前記副電源がオフの状態であることを示している。
図示されていないマウス等のポインディング・デバイスで操作されるカーソル134で前記マルチメディア機器のアイコンをクリックすると図35(B)のようにそのアイコンが示すマルチメディア機器の操作パネル135が表示される。前記操作パネル135上に表示された各スイッチを前記カーソルを用いて操作することによりそのマルチメディア機器を操作することができる。図35(B)の例では、電源On/Offボタンをクリックし、前記副電源を入れた事を示している。図35(C)はこの状態を前記接続機器確認パネル126に反映したところである。
図36〜図40は以上の電源オン/オフ操作の動作を示したフローチャートである。図36は前記マルチメディアコントローラ側、図37が各マルチメディア機器側である。先ず使用者が前記電源オン操作をするとマルチメディアコントローラ側から操作の対象となる機器に対して電源オンメッセージを送信し(s126)、返信を待つためのタイムアウトをカウントするタイマCmdWaitCounterをリセットして(s127)返信を待つ。対象となる機器は前記電源オンメッセージを受けて電源オン動作を実行し(s134)、正常に動作したかどうかを判断し(s135)、正常に動作していた場合は前記マルチメディアコントローラに正常完了メッセージを送信し(s136)、異常があった場合は異常終了メッセージを送信する(s137)。マルチメディアコントローラは前記返信メッセージを受けてs128で返信ありと判断した場合は動作が正常に完了したかどうかを判断し(s131)、正常だったら前記接続状態管理テーブルの電源On/Off欄をオンにする(s133)。もし異常があった場合はエラーを知らせる(s132)。
また電源オン/オフ動作を自動に行う様にすることも可能である。図38,39,40がこの場合の処理を表すフローチャートである。図38はマルチメディアコントローラ側を、図39は各マルチメディア機器側の動作に伴う電源のオン動作を表している。また図40は各マルチメディア機器側のオート電源オフ動作を表している。
先ずマルチメディアコントローラからあるマルチメディア機器に対して動作を要求するメッセージが発行され(s190)、それを受けて該当するマルチメディア機器はその時点で自前記副電源がオンになっているかどうかを判断し(s199)、もしオフ状態ならば電源オンの動作を行い(s500)、正常に電源が入ったことを確認する(s501)。
電源が正常に入っていれば、もしくはs199の判断で既に電源がオンになっていると判断した場合は、前記マルチメディアコントローラから要求された動作を実行し(s502)、その動作が正常に完了したかどうかを確認する(s503)。この結果正常に完了していればマルチメディアコントローラに対して正常完了メッセージを送信し、もし異常が発生したかもしくは前記s501の判断で電源が正常に入らなかったと判断された場合は、前記副電源をオフにし(s505)前記マルチメディアコントローラに対して異常終了メッセージを送信する(s506)。
一方、マルチメディアコントローラ側では前記s190で該当するマルチメディア機器にメッセージを送信した後、その返信を待つ状態となる。先ず、返信のタイムアウトを計るカウンタCmdWaitCounterをクリアし(s191)、返信があるかどうか調べる(s192)。もし返信がなければ、前記CmdWaitCounterがタイムアウト値Limitを越えているかどうか判断する(s193)。この結果タイムアウト値Limitを越えていなければ前記CmdWaitCounterをインクリメントし(s194)、s192に戻り返信を待つ。
もしs192の判断の結果返信メッセージがあると判断された場合は、その返信が正常完了メッセージかどうかを確認し(s195)、正常ならば前記接続状態管理テーブルの該当するマルチメディア機器の電源オン/オフ欄に電源オンのチェックを行う(s197)。
もしs195の判断の結果返信メッセージが異常終了メッセージであると判断した場合と、前記s193の判断の結果、前記CmdWaitCounterがタイムアウト値Limitを越えていると判断された場合は、使用者にエラーのメッセージで通知し(s197)、前記接続状態管理テーブルの該当するマルチメディア機器の電源オン/オフ欄をオフにする(s198)。
また各マルチメディア機器のオート電源オフの動作は先ずイベントが発生しているかどうかを確認し(s507)、イベントがあればそのイベントの処理を実行する(s513)。そしてオート電源オフ動作を実行する時間を測定するカウンタPowerDownCounterをプリセットし(s514)、前記PowerDownCounterが有効かどうかを示すフラグPowerDownCounterEnableFlgをTrueにする(s515)。この前記PowerDownCounterはソフトウェアタイマやハードタイマでディクリメントされるカウンタであり、前記PowerDownCounterEnableFlgは前記PowerDownCounterが有効かどうかを示していて、このフラグがTrueになっている時のみ前記PowerDownCounterを参照し、オート電源オフが実行されるようにするフラグである。
前記s507の判断の結果イベントがない時は、前記PowerDownCounterEnableFlgがTrueになっているかを調べ(s508)、もしTrueならばさらに前記PowerDownCounterの値を調べて(s509)、その値が0になっているならば前記副電源をオフにする動作を実行し(s510)、マルチメディアコントローラに電源オフメッセージを送信する(s511)。そして前記PowerDownCounterEnableFlgをFalseにして(s512)次のイベントを待つ。もし前記s508、s509の判断の結果、前記PowerDownCounterEnableFlgがFalseであったかもしくはPowerDownCounterが0でなかった場合は、そのままつぎのイベントを待つことになる。またマルチメディアコントローラは前記電源オフメッセージを受けて前記接続状態管理テーブルの該当するマルチメディア機器の電源オン/オフ欄をオフにする。
このように前記副電源のオン/オフを自動制御することにより必要なマルチメディア機器を必要な時のみ電源を供給する様にでき、電力の消費を抑える事ができる。
また、図35(A)の様に使用者が前記接続機器確認パネル126を要求する代わりに図35(D)の様に表示装置125の上に接続確認されたマルチメディア機器のアイコンを絶えず表示しておき、機器が切断された時はその機器のアイコンを消去するようにすることで、接続されているマルチメディア機器をリアルタイムに表示することも可能である。
〔他の実施例〕
図41は本発明の第2の実施例の構成を表すブロック図である。図41から分かる様に本発明の第2の実施例は、基本的には第1の実施例と構成は同じであるが、前記各マルチメディア機器にタイマ回路1(136−1、136−2、136−3)を有していることが特徴である。また第2の実施例は、定期的に接続されているマルチメディア機器の状況を確認する点では第1の実施例と同じだが、第1の実施例ではその定期的な周期をマルチメディアコントローラにあるタイマ回路で管理していたのに対し、第2の実施例では各マルチメディア機器に設けられたタイマ回路1(136−1、136−2、136−3)により管理される点で異なる。
また第2の実施例で使用される接続状態管理テーブルは、図42に示してある。第1の実施例で使用した接続状態管理テーブルとの違いは、テーブルに存在確認用カウンタの欄が追加されている点であり、この存在確認用カウンタはテーブルに登録されている各マルチメディア機器ごとに設けられ、マルチメディアコントローラにあるタイマ回路2でカウントされる。本発明の第2の実施例は、定期的に各マルチメディア機器がマルチメディアコントローラに対して機器接続状態通知メッセージを送信することにより各自の存在を表明することになっているので、前記機器接続状態通知メッセージを受け取った時に前記存在確認用カウンタをリセットするようにしておく。
前述したように前記各存在確認用カウンタは絶えず前記タイマ回路2でカウントされるので、もしあるマルチメディア機器が前記機器接続状態通知メッセージを送信しなかったとしたら前記存在確認用カウンタはインクリメントされて行き、ある閾値をこえた時点でその機器は接続されていないかもしくは異常な状態にあると判断するようになる。
図43は前記マルチメディアコントローラ1のイベントループの処理を示したフローチャートであり、図44は前記各マルチメディア機器のイベントループを示したフローチャートである。この図43、図44を用いて本発明の第2の実施例の接続確認の動作を説明する。
先ず各マルチメディア機器は、使用者が各マルチメディア機器の操作パネルを操作したイベントかもしくはマルチメディアコントローラから通信により送られてきたイベントがあるかどうか判断し(s149)、もしイベントがあればそのイベントに応じた処理を実行し(s149)、もしイベントがなければカウンタfRefreshCounter=0が成立しているかどうか判断する(s150)。このカウンタfRefreshCounter、各マルチメディア機器が接続状態通知メッセージをマルチメディアコントローラに送信する周期を管理するカウンタであり、前記タイマー回路136−1、136−2136−3でそれぞれカウントされる。s150の判断でfRefreshCounter=0が成立していると判断した場合はマルチメディアコントローラに対し接続状態通知メッセージを送信し(s151)、fRefreshCounterをリセットする。そしてs148へ戻り、次のイベントを待期する。
一方、マルチメディアコントローラは、使用者がマルチメディアコントローラの操作パネルを操作したイベントかもしくは各マルチメディア機器から通信により送られてきたイベントがあるかどうか判断し(s138)、もしイベントがあればそのイベントが前記各マルチメディア機器から送られてきた前記接続状態通知メッセージであるかどうか判断し(s141)、もし他のイベントならばそのイベントに応じた処理を実行する(143)。もしイベントが前記接続状態通知メッセージであると判断した場合は、そのメッセージを発信したマルチメディア機器が接続状態管理テーブルに既に記憶せれているかどうかを調べ(s142)、もし記憶されていない場合は該マルチメディア機器を前記接続状態管理テーブルに新たに記憶し(s145)、該当するマルチメディア機器の存在確認用カウンタgRefreshCounter_Xを0にクリアする。s142の判断で、もし該当するマルチメディア機器が接続状態管理テーブルに既に記憶せれていると判断された場合は、該当するマルチメディア機器の存在確認用カウンタgRefreshCounter_Xを0にクリアする。
こうして更新された前記接続状態管理テーブルを基に接続機器表示を行い(s147)、s138に戻り次のイベントに備える。もしs138でイベントがないと判断した場合は、前記存在確認用カウンタgRefreshCounter_Xをそれぞれ確認し(s139)、もし限界値Limitをこえているマルチメディア機器が存在したならばその機器を前記接続状態管理テーブルから削除し(s140)、更新された前記接続状態管理テーブルを基に接続機器表示を行う(s147)。
また電源のオン/オフに伴う動作や接続が確認されたマルチメディア機器のアイコンの表示については、前述した本発明の第1の実施例と同様な手段、効果を実現できる。
次に本発明の第3の実施例について説明する。図45は本発明の第3の実施例の構成を表すブロック図である。図45から分かる様に本発明の第3の実施例は、基本的には第1の実施例と構成は同じであるが、第1の実施例の前記マルチメディアコントローラ1にあるタイマ回路105は不要となり、前記マルチメディアコントローラと前記各マルチメディア機器との物理的接続の間に中継器137を設けていることが特徴である。前記中継器には、少なくとも1つ以上の前記マルチメディア機器を接続するためのネットワーク回線接続端子と、各線接続端子に1対1に対応した回線接続検出回路(138−1、138−2、138−3)と、前記マルチメディアコントローラや前記各マルチメディア機器と同様のインターフェースコントローラ107−4、電源回路108−4、それらを制御する制御装置139を有している。前記回線接続検出回路は回線の状態、例えば通信のトラヒック量などを観察することでその通信回線に通信可能な機器が接続されているかどうかを検出する回路である。
本発明の第3の実施例は、第1、第2の実施例とは違って、ある周期でシステムに接続されているマルチメディア機器の状態を調査するわけではなく、システムに新たにマルチメディア機器が接続された時、又はシステムから既に接続されていたマルチメディア機器が切り離された時にその主旨のメッセージを該当する各マルチメディア機器が接続されている中継器からマルチメディアコントローラに送信することで、マルチメディアコントローラはシステムに接続されているマルチメディア機器を認識することが特徴である。また、本発明の第3の実施例で使用する接続状態管理テーブルは本発明の第1の実施例で説明した図33のテーブルと同様である。
次に本発明の第3の実施例の動作について説明する。図47は前記マルチメディアコントローラ1のメインイベントループの処理を表すフローチャートであり、図48は前記中継器が各マルチメディア機器の接続確認メッセージを前記マルチメディアコントローラに送出する処理を表すフローチャートであり、図49は前記中継器が各マルチメディア機器が切り離されたメッセージを前記マルチメディアコントローラに送出する処理を表すフローチャートである。
先ず、図48のフローチャートを用いて前記中継器の動作について説明する。中継器は自分のポート数に1対1に対応した前記回線接続検出回路の出力を調べ(s153)、各ポートにマルチメディア機器が接続されたかどうかを検出する(s154)。もし接続されたと判断した場合は、接続を通知するメッセージをマルチメディアコントローラに送信し(s155)、マルチメディアコントローラからの返信を待つためのカウンタAckCounterをクリアする(s156)。そしてマルチメディアコントローラからAckが返信されたかどうかを判断し(s157)、もし未だ返信がない場合は前記AckCounterをインクリメントし(s158)タイムアウト時間Limitをこえていないかを判断する(s159)。その結果未だタイムアウト時間を越えていなければs157に戻りマルチメディアコントローラからの返信を待つ。またもしs159の判断でタイムアウト時間を越えてしまった場合はエラーが発生したことを使用者に知らせる(s160)。s157の判断でマルチメディアコントローラからの返信が正常に帰ってきたことが確認されたならば、正常確認処理をおこない(s161)接続確認の処理を終了する。
また各マルチメディア機器が前記中継器から切り離された場合の前記中継器の動作は図49を用いて説明する。
中継器は自分のポート数に1対1に対応した前記回線接続検出回路の出力を調べ(s188)、各ポート接続されていたマルチメディア機器が切り離されたかどうかを検出する(s189)。もし接続されたと判断した場合は、切り離しを通知するメッセージをマルチメディアコントローラに送信し(s190)その処理を終了する。一方マルチメディアコントローラ側での処理は図47を用いて説明する。先ず、使用者からのイベントもしくは通信によるイベントがあるかどうかを判断し(s162)、もしあればそのイベントが前記機器切断メッセージであるかどうか判断する(s163)。この結果前記機器切断メッセージであると判断した場合は、RetryCounterをクリアし(s169)、AckCounterをクリアし(s170)し、本発明の第1の実施例で使用した接続機器状態メッセージと同等のメッセージを切断されたと思われるマルチメディア機器に送信する(s171)。前記AckCounterは前記接続機器状態メッセージの返信が該当するマルチメディア機器からマルチメディアコントローラに送られるタイムアウトを計るタイマであり、前記RetryCounterは前記タイムアウト時間内に返信が帰ってこない場合に、リトライする回数をカウントするカウンタである。そして前記接続機器状態メッセージの返答を待ち(s172)、返信がきていれば該マルチメディア機器はまだ接続されていると判断して次のイベントを待つ。もし返信がなければ前記AckCounterをインクリメントし(s173)タイムアウト時間を越えたかどうか判断し(s174)、越えていなければs172に戻り、返信を待つ。もしタイムアウト時間を越えていた場合は、前記RetryCounterをインクリメントし(s175)予め決めておいたリトライ回数を越えていないか判断する(s176)。その結果越えていないと判断した場合は、s170の処理に戻り、再度接続機器状態メッセージを発行する。
前記RetryCounterの値が予め決めておいたリトライ回数を越えた場合は該マルチメディア機器からの返信はなかったことになり、すなわち該マルチメディア機器は切り離されたと判断し、該マルチメディア機器の情報を前記接続機器管理テーブルから削除し(s177)、前記接続機器管理テーブルを更新する。
また前記s163の判断で前記機器切断通知メッセージでないと判断された場合は、前記機器接続通知メッセージかどうかを判断する(s164)。その結果機器接続通知メッセージであると判断された場合は、該当するマルチメディア機器が前記接続機器管理テーブルに既に記憶されている機器であるかを確認し(s165)、もし既に記憶されている機器であるならば前記接続機器管理テーブルは書き換えない。もし未だ記憶されていないマルチメディア機器であると判断された場合には、前記接続機器管理テーブルに新たに登録し、テーブルを更新する。
以上の様に更新された前記接続機器管理テーブルを用いて前記装置IDを再分配し(s178)、接続装置の状態を各マルチメディア機器のアイコンで表示する(s179)。またこの接続が確認されたマルチメディア機器のアイコンの表示や電源のオン/オフに伴う動作については、前述した本発明の第1の実施例と同様な手段、効果を実現できる。
次に本発明の第4の実施例について説明する。図46は本発明の第4の実施例の構成を表すブロック図である。図46から分かる様に本発明の第4の実施例は、基本的には本発明の第1の実施例と同じであるが、第1の実施例の前記マルチメディアコントローラ1にあるタイマ回路105は不要となり、前記各マルチメディア機器には少なくとも2つ以上の回線接続端子を有し、かつその回線接続端子に1対1に対応した前記回線接続検出回路(183−4、183−5)、(183−6、183−7)、(183−8、183−9)を有し、前記回線接続端子に図46の様に各マルチメディア機器がチェーン状に接続されている事が特徴である。すなわち図45に示した第3の実施例の中継器の部分が各マルチメディア機器に含まれた形である。その動作について説明する。
例として図46のマルチメディア機器Cがマルチメディア機器Bに新たに接続された場合を考える。この場合は前記マルチメディア機器Bが本発明の第3の実施例で説明した中継器の役割を果たすことになり、前記マルチメディア機器B回線接続回路183−7がマルチメディア機器Cが接続されたことを検出するとマルチメディアコントローラに対して前記機器接続通知メッセージを送信する。
また図46のマルチメディア機器Cがマルチメディア機器Bから切り離された場合を考える。この場合も前記マルチメディア機器Bが本発明の第3の実施例で説明した中継器の役割を果たすことになり、前記マルチメディア機器Bの回線接続回路183−7がマルチメディア機器Cが切り離されたことを検出するとマルチメディアコントローラに対して前記機器切断通知メッセージを送信する。
この前記マルチメディア機器Bの機器接続通知メッセージを送信する処理フローは図48で、機器切断通知メッセージを送信する処理フローは図49で、マルチメディアコントローラの処理フローは図47で表され、前述した本発明の第3の実施例の場合と同様である。
次に本発明の第5の実施例について説明する。本発明の第5の実施例の構成は図52で表される。図52から分かる様に本発明の第5の実施例は、基本的には第1の実施例と構成は同じであるが、第1の実施例の前記マルチメディアコントローラ1にあるタイマ回路105は不要となり、前記各マルチメディア機器に回線接続検出回路138−10、138−11、138−12と、ケーブルロック解除/ケーブル引き抜き検出兼用スイッチを有したケーブルコネクタを有している事が特徴である。前記回線接続検出回路は、本発明の第3、第4の実施例で説明したものと同様である。ケーブルロック解除/ケーブル引き抜き検出兼用スイッチを有したケーブルコネクタ図53に示してある。このコネクタに回線ケーブルを挿入するとロック機構によりロックされ、ケーブルがそのままでは抜けなくなる。このケーブルを抜くには前記ケーブルロック解除/ケーブル引き抜き検出兼用スイッチを押しケーブルロックを解除してから引き抜くようになる。このときケーブルが引き抜かれるよりも先にケーブル引き抜き検出信号が前記回線接続検出回路へ発信され、回線が抜かれそうになっていることを知らせる。
これを受けて前記回線接続検出回路は、前述した本発明の第3、第4の実施例の場合と同様に機器切断通知メッセージをマルチメディアコントローラへ送信する。またケーブルを挿入して新しいマルチメディア機器をシステムに加えた場合は、前記回線接続検出回路が接続を検出して前記マルチメディアコントローラに機器接続通知メッセージを送信する。
例として図52のマルチメディア機器Cがマルチメディア機器Bに新たに接続された場合を考える。この場合は前記マルチメディア機器Cの回線接続回路183−12が通信回線にマルチメディア機器Cが接続されたことを検出するとマルチメディアコントローラに対して前記機器接続通知メッセージを送信する。
また図52のマルチメディア機器Cがマルチメディア機器Bから切り離された場合を考える。この場合は前述した様に前記マルチメディア機器Cのケーブルロック解除/ケーブル引き抜き検出兼用スイッチを押しケーブルロックを解除してから引き抜くようになるので、ケーブルが引き抜かれるよりも先にケーブル引き抜き検出信号が前記回線接続検出回路183−12へ発信され、前記回線接続検出回路183−12はマルチメディアコントローラに向けて機器切断通知メッセージを送信する。
以上のようにして接続機器の確認をとり接続状態管理テーブルを作成して各マルチメディア機器を管理するが、機器切断通知メッセージを送信する処理フローは第49、機器接続通知メッセージを送信する処理フローは図48で、前記マルチメディアコントローラの動作は図47で表され、本発明の第3、第4、第5の実施例と同様である。
次に本発明の第6の実施例について説明する。本発明の第6の実施例の特徴は、図50に示されている様に各マルチメディア機器に識別名表示装置141を有していることである。本発明の第1、第2、第3、第4、第5の実施例のうちどの実施例でも構わないが、いずれかの方法でシステムに接続されている各マルチメディア機器を管理する前記接続機器管理テーブルを作成する。新たに接続された機器もしくは切り離された機器が認識された時点で、前記各マルチメディア機器に対して1対1に対応するユニークな識別名を割りてあるのは本発明の第1実施例で説明した通りであるが、このユニークな識別名を各マルチメディア機器にそれぞれ送信し、各マルチメディア機器に設けられた前記識別名表示装置に表示する様に構成する。
例として本発明の第1の実施例で説明した図30の構成の場合を取り上げて本発明の第6の実施例の動作について説明する。
図51は前記マルチメディアコントローラ1のメインイベントループの処理を表すフローチャートである。先ず、マルチメディアコントローラを操作している使用者がマルチメディアコントローラを操作したイベントか、もしくは通信によって各マルチメディア機器から送られてきたイベントがあるかどうかを判断する(s180)。もしイベントがあればそのイベントの処理を実行する(s182)。もしイベントがなければ、カウンタgCheckTime=0が成立しているか判断する(s181)。このカウンタgCheckTimeはマルチメディアコントローラが一連の接続状態状態チェック動作をする周期を管理するカウンタであり、前記タイマー回路105でカウントされる。前記判断(s181)の結果gCheckTime=0が成立しているならば接続装置状態チェックを行い(s183)、作成された接続状態管理テーブルに記載されたマルチメディア機器に装置IDを割り振る(s184)。
以上の様に作成された接続状態管理テーブルを参照して接続装置状態表示を書き換えて(s185)、gCheckTimeにPreSet値をセットする(s186)。また、前述した図33に示される接続状態管理テーブルの機器ネーム欄に記憶されている識別名を対応する各マルチメディア機器に対して送信する(s187)。たとえば図33の場合はディジタルVTRが2接続されている場合の例で、DigitalVTR1、DigitalVTR2と機器ネーム欄に記憶されているのでそれぞれの機器に対してその名前を送信し、各機器の識別名表示装置に送信されてきた識別名を表示する。
以上の説明は本発明の第1の実施例の構成を主に説明したが、本発明の第2、第3、第4、第5の実施例のどの場合でもこの第6の実施例は当てはまる。