JP4032410B2 - 情報処理システムおよび情報処理方法、プログラムおよび記録媒体、並びに情報処理装置 - Google Patents

情報処理システムおよび情報処理方法、プログラムおよび記録媒体、並びに情報処理装置 Download PDF

Info

Publication number
JP4032410B2
JP4032410B2 JP2001343980A JP2001343980A JP4032410B2 JP 4032410 B2 JP4032410 B2 JP 4032410B2 JP 2001343980 A JP2001343980 A JP 2001343980A JP 2001343980 A JP2001343980 A JP 2001343980A JP 4032410 B2 JP4032410 B2 JP 4032410B2
Authority
JP
Japan
Prior art keywords
unit
result
detection result
image data
information processing
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.)
Expired - Fee Related
Application number
JP2001343980A
Other languages
English (en)
Other versions
JP2003150569A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2001343980A priority Critical patent/JP4032410B2/ja
Priority to PCT/JP2002/010979 priority patent/WO2003040940A1/ja
Priority to US10/494,598 priority patent/US8255462B2/en
Priority to EP02770237A priority patent/EP1443416A4/en
Publication of JP2003150569A publication Critical patent/JP2003150569A/ja
Application granted granted Critical
Publication of JP4032410B2 publication Critical patent/JP4032410B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B34/35Surgical robots for telesurgery
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B34/37Master-slave robots
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/36Image-producing devices or illumination devices not otherwise provided for
    • A61B90/361Image-producing devices, e.g. surgical cameras

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理システムおよび情報処理方法、プログラムおよび記録媒体、並びに情報処理装置に関し、特に、例えば、複数のユーザの操作に応じて作動する複数の作動手段、またはその複数の作動手段が作用する現実世界を検知する複数の検知手段が協調して処理を分担することにより、高機能な処理を行うことができるようにする情報処理システムおよび情報処理方法、プログラムおよび記録媒体、並びに情報処理装置に関する。
【0002】
【従来の技術】
例えば、複数のプロセッサ(ここでは、何らかの処理を行う物であるとする)によれば、ある処理を、並列に分担して行うことにより、1つのプロセッサで処理を行う場合に比較して、単純には、処理速度を、その複数のプロセッサの個数倍にすることができる。
【0003】
【発明が解決しようとする課題】
ところで、1つのプロセッサだけで処理を行う場合であっても、また、複数のプロセッサで処理を分担して行う場合であっても、得られる処理結果は変わらない。さらに、複数のプロセッサで処理を分担して行う場合における各プロセッサの機能は、1つのプロセッサだけで処理を行う場合と変わらない。
【0004】
即ち、従来においては、プロセッサがいくつ集まっても、全体としての処理速度が、プロセッサの数に応じて向上するだけであり、各プロセッサの機能は変化しない。
【0005】
ところで、人間が複数集まって作業を行う場合には、個人個人が互いに協力しあう(協調する)ことによって、各個人が、普段の能力を越える働きをすることが経験的に認められる。
【0006】
従って、プロセッサが複数集まった場合に、各プロセッサが協調して処理を分担すれば、各プロセッサの機能が高機能化し、全体としては、プロセッサの個数倍を越える処理能力を発揮し、さらに、全体としての処理結果としても、付加価値をつけたものが得られると考えられる。
【0007】
また、人間が複数集まって作業を行う場合には、同じような性格や、考え方、感性等の属性を有する人間が集まるよりも、異なる属性を有する人間が集まった方が、互いの刺激が強く、より自己啓発が進むと考えられる。
【0008】
従って、プロセッサについても、同一機能を有するプロセッサを複数集めるよりは、異なる機能を有するプロセッサを複数集めて、各プロセッサに協調して処理を分担させた方が、各プロセッサの機能がより高機能化すると考えられる。
【0009】
本発明は、このような状況に鑑みてなされたものであり、多数が協調しながら処理を分担することにより、各個の機能を向上させることができるようにするものである。
【0010】
【課題を解決するための手段】
本発明の情報処理システムは、複数のユーザの操作に応じて作動する複数の作動手段と、複数の作動手段が作用する現実世界を検知する複数の検知手段と、複数の作動手段または複数の検知手段との間で情報を送受信するための通信手段、複数の作動手段による作動結果または複数の検知手段による検知結果を蓄積する蓄積手段と、蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較する比較手段と、比較手段による比較結果に応じて、過去の作動結果または検知結果と、現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する合成手段とを備えることを特徴とする。
【0011】
本発明の第1の情報処理方法は、蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較し、その比較結果に応じて、過去の作動結果または検知結果と、現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する処理を行う処理ステップを備えることを特徴とする。
【0012】
本発明の第1のプログラムは、蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較し、その比較結果に応じて、過去の作動結果または検知結果と、現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する処理を行う処理ステップを備えることを特徴とする。
【0013】
本発明の第1の記録媒体は、蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較し、その比較結果に応じて、過去の作動結果または検知結果と、現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する処理を行う処理ステップを備えるコンピュータが読み取り可能なプログラムが記録されていることを特徴とする。
【0014】
本発明の情報処理装置は、ユーザの操作に応じて作動する作動手段と、作動手段が作用する現実世界を検知する検知手段と、他の情報処理装置との間で情報を送受信するための通信手段と、作動手段による作動結果または検知手段による検知結果を蓄積する蓄積手段と、蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較する比較手段と、比較手段による比較結果に応じて、過去の作動結果または検知結果と、現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する合成手段とを備えることを特徴とする。
【0015】
本発明の第2の情報処理方法は、蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較し、その比較結果に応じて、過去の作動結果または検知結果と、現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する処理を行う処理ステップを備えることを特徴とする。
【0016】
本発明の第2のプログラムは、蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較し、その比較結果に応じて、過去の作動結果または検知結果と、現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する処理を行う処理ステップを備えることを特徴とする。
【0017】
本発明の第2の記録媒体は、蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較し、その比較結果に応じて、過去の作動結果または検知結果と、現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する処理を行う処理ステップを備えるコンピュータが読み取り可能なプログラムが記録されていることを特徴とする。
【0018】
本発明の情報処理システムおよび第1の情報処理方法、並びに第1のプログラムおよび第1の記録媒体においては、蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較し、その比較結果に応じて、過去の作動結果または検知結果と、現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力することにより、情報処理システムが高機能化される。
【0019】
本発明の情報処理装置および第2の情報処理方法、並びに第2のプログラムおよび第2の記録媒体においては、蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較し、その比較結果に応じて、過去の作動結果または検知結果と、現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力することにより、情報処理装置が高機能化される。
【0020】
【発明の実施の形態】
図1は、本発明を適用したSHARNシステムの一実施の形態の構成例を示している。
【0021】
ここで、SHARNシステムの「SHARN」は、センサ(Sensor)、人間(Human)、アクチュエータ(Actuator)、現実世界(自然)(Real)、ネットワーク(Network)それぞれの頭文字を表している。
【0022】
図1において、ネットワーク1001は、合成/統合部1002、駆動制御部1004、および信号処理部1006を相互に接続している広帯域のネットワークで、このネットワーク1001を介することによって、合成/統合部1002、駆動制御部1004、および信号処理部1006それぞれの間で、信号(情報)のやりとりが行われる。なお、ネットワーク1001は、有線のものであっても、無線のものであっても、さらには、有線と無線の混合のネットワークであってもかまわない。また、このネットワーク1001が、「SHARN」のNが表すネットワーク(Network)に対応する。
【0023】
合成/統合部1002は、操作部10031乃至1003Kそれぞれが出力する操作信号を受信し、それらを合成または統合して、ネットワーク1001に送信する。ここで、合成とは、複数の操作信号を、例えば、重み付け加算すること等によって、各操作信号を分離することができない状態にすることを意味する。また、統合は、例えば、複数の操作信号を多重化すること等によって、各操作信号の分離が可能な状態で1つの信号にまとめることを意味する。
【0024】
操作部1003k(k=1,2,・・・,K)は、ユーザUkによって操作され、その操作に対応した操作信号を、合成/統合部1002に供給する。なお、図1の実施の形態では(後述する図2においても同様)、複数であるK個の操作部10031乃至1003Kが設けられている。また、この操作部1003kを操作するユーザUkが、「SHARN」のHが表す人間(Human)に対応する。
【0025】
駆動制御部1004は、ネットワーク1001を介して供給される信号を受信し、その信号に基づいて、アクチュエータ10051乃至1005Mそれぞれを駆動制御する。
【0026】
アクチュエータ1005m(m=1,2,・・・,M)は、駆動制御部1004からの制御にしたがって作動し、これにより、現実世界にある物体に、所定の作用を与える。なお、図1の実施の形態では(後述する図2においても同様)、複数であるM個のアクチュエータ10051乃至1005Mが設けられている。また、このアクチュエータ1005mが、「SHARN」のAが表すアクチュエータ(actuator)に対応し、さらに、アクチュエータ1005mが作用する現実世界が、「SHARN」のRが表す現実世界(Real)に対応する。
【0027】
信号処理部1006は、センサ10071乃至1007Nそれぞれからの検知信号を受信し、必要な信号処理を施して、ネットワーク1001に送信する。
【0028】
センサ1007n(n=1,2,・・・,N)は、アクチュエータ1005mが作用する現実世界の状態を検知し、その検知した状態を表す検知信号を、信号処理部1006に供給する。なお、図1の実施の形態では(後述する図2においても同様)、複数であるN個のセンサ10071乃至1007Nが設けられている。また、このセンサ1007mが、「SHARN」のSが表すセンサ(Sensor)に対応し、さらに、センサ1007mが状態を検知する現実世界が、「SHARN」のRが表す現実世界(Real)に対応する。
【0029】
ここで、以下、適宜、特に、操作部10031乃至1003Kを区別する必要がない限り、操作部1003と記述する。同様に、アクチュエータ10051乃至1005Mについても、アクチュエータ1005と記述し、センサ10071乃至1007Nについても、センサ1007と記述する。
【0030】
次に、図2は、本発明を適用したSHARNシステムの他の一実施の形態の構成例を示している。なお、図中、図1における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0031】
即ち、図1の実施の形態では、操作部1003は、合成/統合部1002を介して、アクチュエータ1005は、駆動制御部1004を介して、センサ1007は、信号処理部1006を介して、それぞれネットワーク1001に接続されていたが、図2の実施の形態では、操作部1003、アクチュエータ1005、およびセンサ1007が、ネットワーク1001に直接接続されている。
【0032】
従って、図2の実施の形態では、操作部1003が出力する操作信号は、ネットワーク1001を介して、合成/統合部1002に供給される。また、駆動制御部1004が出力する、アクチュエータ1005を駆動制御するための信号は、ネットワーク1001を介して、アクチュエータ1005に供給され、センサ1007が出力する検知信号は、ネットワーク1001を介して、信号処理部1006に供給される。
【0033】
以上のように構成されるSHARNシステムでは、操作部1003、アクチュエータ1005、センサ1007それぞれどうしの間で、合成/統合部1002、駆動制御部1004、および信号処理部1006を経由し、ネットワーク1001を介して、各種の信号(情報)が、必要に応じてやりとりされる。さらに、操作部10031乃至1003K相互間では合成統合部1002を、アクチュエータ10051乃至1005M相互間では駆動制御部1004を、センサ1007相互間では信号処理部1006を、それぞれ経由し、ネットワーク1001を介して、各種の信号がやりとりされる。そして、SHARNシステムでは、アクチュエータ1005やセンサ1007が協調して処理を分担することにより、各アクチュエータ1005mや各センサ1007nの機能が向上する。さらに、各アクチュエータ1005mや各センサ1007nの機能が向上する結果、システム全体の処理結果として、付加価値を付けたものが得られる。
【0034】
なお、図1および図2の実施の形態において、操作部1003の数であるK、アクチュエータ1005の数であるM、およびセンサ1007の数であるNは、同一の値であっても良いし、異なる値であっても良い。
【0035】
次に、図3は、SHARNシステムを適用した手術システムとしてのSHARN手術システムの構成例を示している。
【0036】
このSHARN手術システムは、手術用のマニピュレータシステムであり、スレーブマニピュレータ61、マスタマニピュレータ621乃至62K、ネットワーク63、およびスーパドクタデータベース部64から構成されている。
【0037】
スレーブマニピュレータ61は、ネットワーク63を介して供給される信号に基づいて作動し、手術の対象である、例えば、犬等の動物に対して、径皮的手術等を行う。なお、ここでは、スレーブマニピュレータ61が、動物に対して、径皮的手術を行うものとしているが、その他、スレーブマニピュレータ61は、動物に対して、例えばトリミング等を行うものとすることが可能である。
【0038】
マスタマニピュレータ62kは、例えば獣医であるユーザUkの操作と、スーパドクタデータベース部64からネットワーク63を介して供給される情報とに応じて作動する。また、マスタマニピュレータ62kは、その作動の状態を検知し、その検知結果を、ネットワーク63を介して、スーパドクタデータベース部64に送信する。
【0039】
なお、図3の実施の形態では、K個のマスタマニピュレータ621乃至62Kが設けられているが、以下、適宜、これらを特に区別する必要がない限り、マスタマニピュレータ62と記載する。
【0040】
ネットワーク63は、スレーブマニピュレータ61、マスタマニピュレータ621乃至62K、スーパドクタデータベース部64それぞれの間での通信を可能とする。
【0041】
スーパドクタデータベース部64は、ネットワーク63を介して供給されるマスタマニピュレータ62の作動の状態を受信し、その状態に基づいて、手術に関する情報を生成する。さらに、スーパドクタデータベース部64は、その手術に関する情報と、マスタマニピュレータ62の状態に基づき、制御信号を生成し、ネットワーク63を経由して、スレーブマニピュレータ61に供給することによって、スレーブマニピュレータ61を制御する。
【0042】
なお、図3の実施の形態においては、マスタマニピュレータ62が、図1(および図2)の操作部1003、アクチュエータ1005、およびセンサ1007に対応し、ネットワーク63が、図1のネットワーク1001に対応し、スーパドクタデータベース部64が、図1の合成/統合部1002、駆動制御部1004、および信号処理部1006に対応する。
【0043】
次に、図4は、図3のスレーブマニピュレータ61とマスタマニピュレータ62の外観構成例を示している。
【0044】
即ち、図4(A)は、スレーブマニピュレータ61の外観構成例を、図4(B)は、マスタマニピュレータ62の外観構成例を、それぞれ示している。
【0045】
図4(A)のスレーブマニピュレータ61において、手術台1は、長方形状をしており、そこには、手術の対象となっている患者(図4の例では、犬)が寝かされる。また、手術台1には、スレーブマニピュレータ部3Lおよびスレーブマニピュレータ部3Rが取り付けられている。
【0046】
スレーブマニピュレータ部3Lおよびスレーブマニピュレータ部3R(以下、個々に区別する必要がない場合、これらをまとめて、スレーブマニピュレータ部3と称する)は、後述するマスタマニピュレータ部8Lおよびマスタマニピュレータ部8Rのそれぞれにより遠隔操作され、手術台1に寝かされている患者に対する径皮的手術を行う。
【0047】
スレーブマニピュレータ部3Lは、手術台1の左側(手術台1を上から見た場合の左側)に設置され、その先端には、把持鉗子、メス、縫合器、または注射器等の処置具で構成される先端部4Lが取り付けられている。
【0048】
スレーブマニピュレータ部3Rは、手術台1の右側に設置され、その先端には、把持鉗子、メス、縫合器、または注射器等の処置具で構成される先端部4Rが取り付けられている。
【0049】
スレーブマニピュレータ部3は、複数のアームからなる関節構造を有している。さらに、スレーブマニピュレータ部3の各関節部分には、アクチュエータ(図4においては図示せず)が配設されており、このアクチュエータが作動することによって、アームが所定の自由度をもって動き、これにより、スレーブマニピュレータ部3は、各種の姿勢をとることができるようになっている。
【0050】
また、スレーブマニピュレータ部3の関節部分やアームの必要な部分には、先端部4Lや4Rその他の部分が外部から受ける力やトルク(いずれも、大きさおよび方向を含む)を検出し、さらには、スレーブマニピュレータ部3の姿勢を検出するセンサ(図4においては図示せず)が取り付けられている。
【0051】
なお、スレーブマニピュレータ3に取り付けられているセンサとアクチュエータは、後述する図7において、センサ75とアクチュエータ76として、それぞれ図示してある。
【0052】
手術台1には、さらに、患者の腹腔内の様子その他を撮像するCCD(Charge Coupled Device)カメラ6が先端に取り付けられたカメラ部5が設置されている。また、手術台1には、その四隅に、音を集音するためのマイク21乃至24が取り付けられている。
【0053】
なお、図4(A)においては、図が煩雑になるのを避けるため、1つのカメラ部5しか図示していないが、カメラ部5は、患部の状態や、スレーブマニピュレータ部3等を、様々な方向から観察することができるように、複数取り付けられている。
【0054】
また、カメラ部5は、複数のアームからなる関節構造を有しており、さらに、その各関節部分には、図示せぬアクチュエータが配設されている。そして、このアクチュエータが作動することによって、アームが所定の自由度をもって動き、これにより、カメラ部5に取り付けられたCCDカメラ6が各種の視点から撮影(撮像)を行うことができるようになっている。
【0055】
一方、図4(B)のマスタマニピュレータ62において、操作台7には、ユーザUにより操作される、マスタマニピュレータ部8L,8R(以下、適宜、両方含めて、マスタマニピュレータ部8という)がそれぞれ設置されている。
【0056】
マスタマニピュレータ部8Lは、操作台7の左側(操作台7を背にした場合の左側)に設置され、その先端には、ユーザUの左手により保持されて操作される操作部9Lが取り付けられている。
【0057】
マスタマニピュレータ部8Rは、操作台7の右側に設置され、その先端には、ユーザUの右手により保持されて操作される操作部9Rが取り付けられている。
【0058】
ここで、操作部9Lおよび9R(以下、適宜、両方まとめた、操作部9という)が、図1の操作部1003に対応する。
【0059】
マスタマニピュレータ部8は、スレーブマニピュレータ部3と同様に、複数のアームからなる関節構造を有しており、所定の自由度をもって動くようになっている。これにより、マスタマニピュレータ部8Lの操作部9Lは、ユーザUの左手による操作によって3次元的に移動し、また、マスタマニピュレータ部8Rの操作部9Rも、ユーザUの右手による操作によって3次元的に移動する。
【0060】
なお、マスタマニピュレータ部8の各関節部分には、アクチュエータ(図4においては図示せず)が配設されており、このアクチュエータが作動することによって、アームが所定の自由度をもって動き、これにより、マスタマニピュレータ部8は、ユーザUに対して、所定の反力、あるいは付勢力を与える。ここで、この関節部分に設けられたアクチュエータが、図1のアクチュエータ1005に対応する。
【0061】
また、マスタマニピュレータ部8の関節部分やアームの必要な部分には、操作部9Lや9Rその他の部分が外部から受ける力やトルク、さらには、マスタマニピュレータ部8の姿勢を検出(検知)するセンサ(図4においては図示せず)が取り付けられている。ここで、このセンサが、図1のセンサ1007に対応する。
【0062】
なお、マスタマニピュレータ62に取り付けられているセンサとアクチュエータは、後述する図8において、センサ85とアクチュエータ86として、それぞれ図示してある。
【0063】
操作台7の前方(ユーザUがマスタマニピュレータ部8を操作するために、操作台7の前に立った場合の、ユーザUの正面方向)には、ユーザUが、マスタマニピュレータ部8を操作しながら、そこに表示される画像を見ることができるように、モニタ10が設けられている。モニタ10には、カメラ部5のCCDカメラ6により撮像された画像が表示される。
【0064】
モニタ10の周辺には、スピーカ11が設けられており、このスピーカ11からは、スレーブマニピュレータ61の手術台1に取り付けられたマイク21乃至24で集音された音が出力される。
【0065】
さらに、モニタ10の周辺には、操作パネル12が設けられている。操作パネル12には、各種のスイッチやボタン等が取り付けられており、ユーザによって、必要に応じて操作される。なお、操作パネル12におけるスイッチ等としては、電源スイッチや、モニタ10に表示される画像を切り換えるスイッチ等がある。
【0066】
以上のように構成されるマスタマニピュレータ62を操作するユーザUは、操作台7を背にして操作台7とモニタ10の間に立ち、モニタ10に映し出されるスレーブマニピュレータ部3の先端部4の様子を見ながら、左手で、マスタマニピュレータ部8Lの操作部9Lを3次元的に移動するように操作し、また右手で、マスタマニピュレータ部8Rの操作部9Rを3次元的に移動するように操作する。
【0067】
この場合、ユーザUによるマスタマニピュレータ部8の操作に対応する操作信号が、ネットワーク63を介して、スーパドクタデータベース部64に供給され、スーパドクタデータベース部64は、その操作信号を処理し、スレーブマニピュレータ61を制御する制御信号を生成する。この制御信号は、ネットワーク63を介して、スーパドクタデータベース部64からスレーブマニピュレータ61に供給される。スレーブマニピュレータ61では、スーパドクタデータベース部64からの制御信号にしたがい、スレーブマニピュレータ部3が作動する。これにより、スレーブマニピュレータ部3Lの先端部4Lが、マスタマニピュレータ部8Lの操作部9Lの動きに同期して動くとともに、スレーブマニピュレータ部3Rの先端部4Rが、マスタマニピュレータ部8Rの操作部9Rの動きに同期して動き、患者に対する径皮的手術が行われる。
【0068】
ここで、あるユーザUkが、マスタマニピュレータ部8の操作部9を、所定の状態としての、例えば、それぞれ所定の角度のロール(roll)回転、ピッチ(pitch)回転、およびヨー(yaw)回転した状態で、操作部9の作用点が所定の位置としての座標(x,y,z)で特定される位置を経由するように操作しようとしても、実際の操作と目標とする操作に、ずれが生じる場合がある。
【0069】
なお、ヨー回転とは、図5に示すように、X軸およびY軸の、Z軸を回転中心とする回転であり、その回転角度は、図中、θyで示されている。ピッチ回転とは、Z軸、およびθyだけヨー回転したX軸(図中、X’で示す)の、ヨー回転したY軸(図中、Y’で示す)を回転中心とする回転であり、その回転角度は、図中、θpで示されている。ロール回転とは、θyだけヨー回転したY軸(図中、Y’で示す)、およびθpだけピッチ回転したZ軸(図中、Z’で示す)の、θyだけヨー回転した後さらにθpだけピッチ回転したX軸(図中、x軸で示す)を回転中心とする回転であり、その回転角度は、図中、θrで示されている。
【0070】
例えば、図6(A)に示すような、所定の位置Aから、一定のふくらみをもって位置Bに至る軌跡(目標軌跡)を描くように、スレーブマニピュレータ部3の先端部4を移動させたい場合、ユーザU1乃至UKそれぞれは、目標軌跡に対応した軌跡(スレーブマニピュレータ部3およびマスタマニピュレータ部8の大きさ等、その構造の違いにもよるが、ここでは、簡単のために同じ軌跡)を描くように、マスタマニピュレータ部8の操作部9を移動させようとする。しかしながら、実際には、ユーザU1乃至UKのマスタマニピュレータ部8(操作部9)に対する操作技術のレベルにもよるが、図6(B)の実線で示すように、図6(B)の点線で示される目標軌跡からずれた軌跡(操作軌跡)を描くように、操作部9を移動させてしまうことがある。
【0071】
ところで、通常、操作軌跡と目標軌跡とのずれは、無作為に発生するため(一定の傾向をもって発生するものではないため)、複数の操作軌跡(ユーザU1乃至UKそれぞれの操作軌跡(図6(B)))を平均することにより、目標軌跡により近い軌跡を得ることができる。
【0072】
そこで、スーパドクタデータベース部64は、マスタマニピュレータ621乃至62Kにおける操作内容を合成し(例えば、平均し)、その合成した(平均した)操作内容に基づいて、スレーブマニピュレータ61(スレーブマニピュレータ部3)を遠隔操作する。これにより、スレーブマニピュレータ61において、図6(C)に示すように、目標軌跡に近い軌跡を描くようにスレーブマニピュレータ部3の先端部4を移動させることができるようになっている。
【0073】
なお、図6(A)中、点線の矢印は、軌跡の方向を示し、図6(B)中の点線の矢印は、操作部9の移動方向を示し、図6(C)中の点線の矢印は、先端部4の移動方向を示している。
【0074】
また、スーパドクタデータベース部64は、世界の名医による過去の手術の技術的な情報である手術技術情報を、例えば、症状別に記憶しており、その手術技術情報に基づいて、マスタマニピュレータ621乃至62Kにおける操作内容を修正する。即ち、スーパドクタデータベース部64は、マスタマニピュレータ621乃至62Kにおける操作内容の他、記憶している手術技術情報にも基づいて、スレーブマニピュレータ61を制御する。
【0075】
従って、SHARN手術システムでは、世界各地に分散した獣医としてのユーザU1乃至UKそれぞれがマスタマニピュレータ621乃至62Kを操作することによる合同手術が、手術技術情報を参照しながら行われることから、最高レベルの手術の実現が可能となる。
【0076】
次に、図7は、図3のスレーブマニピュレータ61の電気的構成例を示している。
【0077】
スレーブマニピュレータ制御装置51は、ネットワーク63に接続されており、スレーブマニピュレータ部3を制御する。
【0078】
即ち、スレーブマニピュレータ制御装置51は、制御部71、姿勢遷移機構部72、制御機構部73、および通信部74で構成されている。
【0079】
制御部71は、通信部74を介して受信した、スーパドクタデータベース部64によってネットワーク63上に送出された制御信号としての姿勢パラメータを、姿勢遷移機構部72に供給するとともに、制御機構部73を介して供給される、スレーブマニピュレータ部3のセンサ75の出力に基づいて、スレーブマニピュレータ部3の先端部4の姿勢パラメータを算出し、通信部74を介して、ネットワーク63に送出する。
【0080】
ここで、スレーブマニピュレータ部3の先端部4の姿勢パラメータは、例えば、先端部4(作用点)の位置を特定する、X軸の値、Y軸の値、およびZ軸の値からなる座標と、先端部4の角度を特定するヨー角θy、ピッチ角θp、およびロール角θr等から構成される。先端部4の位置は、先端部4が移動可能な空間上の所定の位置を原点として定義されたXYZ直交座標系上の座標であり、また、先端部4の角度は、例えば、先端部4について定義したXYZ直交座標系を基準として、図5に示したように定義されるものである。なお、以下、適宜、これらの位置と角度とを両方含めて、姿勢という。
【0081】
制御部71は、また、制御機構部73を介して供給される、スレーブマニピュレータ部3のセンサ75の出力に基づいて、スレーブマニピュレータ部3の先端部4が外部から受けた力F1やトルクT1を算出し、通信部74を介して、ネットワーク63上に送出する。
【0082】
姿勢遷移機構部72は、スレーブマニピュレータ部3の先端部4の姿勢を、現在の姿勢から、制御部71から供給された姿勢パラメータに対応する姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部73に送出する。
【0083】
制御機構部73は、姿勢遷移機構部72からの姿勢遷移情報に従って、制御信号を生成し、これを、スレーブマニピュレータ部3に供給する。スレーブマニピュレータ3のアクチュエータ76は、制御機構部73から供給された制御信号に従って駆動し、これにより、先端部4は、スーパドクタデータベース部64から送信されてきた姿勢パラメータに対応する姿勢をとる。
【0084】
制御機構部73は、また、スレーブマニピュレータ部3のセンサ75の出力を取得し、制御部71に供給する。
【0085】
通信部74は、ネットワーク63を介しての通信制御を行い、これにより、ネットワーク63から送信されてくる情報を受信して、制御部71に供給するとともに、制御部71から供給される情報を、ネットワーク63に送信する。
【0086】
入出力制御装置52は、ネットワーク63に接続されており、マイク21乃至24それぞれで集音された音声データ、およびカメラ61乃至65それぞれで撮像された画像データを、ネットワーク63を介して送信する。
【0087】
ここで、カメラ61乃至65は、図4のカメラ6に対応するものである。また、カメラ61乃至65のうち、カメラ61乃至64は、患者の患部等を、所定の視点方向から撮像する小型のCCDカメラとなっており、カメラ65は、スレーブマニピュレータ部4の周囲全体の撮像が可能な全方位カメラとなっている。なお、全方位カメラの詳細については、後述する。
【0088】
次に、図8は、図3のマスタマニピュレータ62の電気的構成例を示している。
【0089】
マスタマニピュレータ制御装置53は、ネットワーク63に接続されており、マスタマニピュレータ部8を制御する。
【0090】
即ち、マスタマニピュレータ制御装置53は、制御部81、姿勢遷移機構部82、制御機構部83、および通信部84で構成されている。
【0091】
制御部81は、また、通信部84を介して取得した、後述する基準姿勢パラメータと、力F1およびトルクT1(スレーブマニピュレータ部3の先端部4が外部から受けた力およびトルク)に基づいて、後述する力FoおよびトルクToを算出し、制御機構部83に供給する。
【0092】
さらに、制御部81は、制御機構部83を介して供給される、マスタマニピュレータ部8のセンサ85の出力に基づいて、マスタマニピュレータ部8の操作部9の姿勢パラメータを算出し、通信部84を介して、ネットワーク63に送信する。
【0093】
ここで、マスタマニピュレータ部8の操作部9の姿勢パラメータは、スレーブマニピュレータ部3の先端部4の姿勢パラメータと同様に、操作部9(作用点)の位置を特定する、X軸の値、Y軸の値、およびZ軸の値からなる座標と、操作部9の角度を特定するヨー角θy、ピッチ角θp、およびロール角θr等から構成されている。操作部9の位置は、操作部9が移動可能な空間上の所定の位置を原点として定義されたXYZ直交座標系上の座標であり、また、先端部4の角度は、例えば、操作部9について定義したXYZ直交座標系を基準として、図5に示したように定義されるものである。
【0094】
なお、マスタマニピュレータ部8の操作部9の姿勢パラメータと、上述のスレーブマニピュレータ部3の先端部4の姿勢パラメータとは、同一のXYZ直交座標系において定義しても良いし、異なるXYZ直交座標系において定義しても良い。但し、先端部4と操作部9の姿勢パラメータを、異なるXYZ直交座標系において定義する場合には、スーパドクタデータベース部64が、その異なるXYZ直交座標系どうしの対応関係を認識している必要がある。
【0095】
制御機構部83は、制御部81から供給された力F0とトルクT0に従って、制御信号を生成し、これを、マスタマニピュレータ部8に送出する。マスタマニピュレータ部8のアクチュエータ86は、この制御信号に従って駆動し、これにより、マスタマニピュレータ部8の操作部9は、制御部81により算出された力F0とトルクT0を、その操作部9を操作しているユーザUに与える。
【0096】
制御機構部83は、また、マスタマニピュレータ部8のセンサ85の出力を、制御部81に供給する。
【0097】
通信部84は、ネットワーク63を介しての通信制御を行い、ネットワーク63から送信されてくる情報を受信して、制御部81に供給するとともに、制御部81から供給される情報を、ネットワーク63に送信する。
【0098】
入出力制御装置54は、ネットワーク63に接続されており、ネットワーク63から送信されてくる画像データと音声データを受信し、モニタ10とスピーカ11にそれぞれ供給する。これにより、モニタ10では、スレーブマニピュレータ61のカメラ61乃至65で撮像された画像が表示され、スピーカ11では、スレーブマニピュレータ61のマイク21乃至24で集音された音声が出力される。
【0099】
また、入出力制御装置54は、操作パネル12が、ユーザUによって操作されることにより出力する操作信号を受信し、その操作信号に応じて、モニタ10に表示する画像や、スピーカ11から出力する音声を切り換える。さらに、入出力制御装置54は、操作パネル12からの操作信号を、必要に応じて、ネットワーク63に送信する。
【0100】
次に、図9は、図3のスーパドクタデータベース部64の構成例を示している。
【0101】
入出力制御装置21は、ネットワーク63に接続されており、ネットワーク63を介しての通信制御を行うことにより、ネットワーク63から送信されてくる情報を受信して、姿勢パラメータ登録部22や姿勢パラメータ制御部28に供給するとともに、姿勢パラメータ制御部28から供給される情報を、ネットワーク63に送信する。
【0102】
ここで、入出力制御装置21がネットワーク63から受信する情報としては、例えば、スレーブマニピュレータ61が送信する先端部4の姿勢パラメータや、マスタマニピュレータ62が送信する操作部9の姿勢パラメータ等がある。
【0103】
姿勢パラメータ登録部22は、入出力制御装置21から供給される、マスタマニピュレータ62が送信する操作部9の姿勢パラメータに基づき、マスタマニピュレータ62が、どのような手術内容の操作をしようとしたのかを認識し、その認識した手術内容と姿勢パラメータとを、手術情報として、手術情報データベース25に登録する。
【0104】
手術経過情報データベース23は、例えば、SHARN手術システムにおける手術を含め、世界各国で行われた手術について、その手術後の患者の状態に関する情報である手術経過情報を、例えば手術別に記憶する。
【0105】
手術経過情報登録部24は、手術経過情報を、各手術別に、手術経過情報データベース23に登録する。なお、手術経過情報登録部24は、例えば、世界各国の病院(SHARN手術システムを含む)におけるカルテ等の内容が記憶されたデータベースから、ネットワーク63を介して、手術経過情報を収集し、手術経過情報データベース23に登録する。また、手術経過情報登録部24には、所定の操作者が操作を行うことによって、手術経過情報を、直接入力することもでき、この場合、手術経過情報登録部24は、その直接入力された手術経過情報を、手術経過情報データベース23に登録する。
【0106】
手術情報データベース25は、姿勢パラメータ登録部22から供給される手術情報を記憶する。
【0107】
更新部26は、手術情報データベース25に記憶された手術情報が表す手術内容による手術が、成功したかどうかを、手術経過情報データベース23の手術経過情報を参照することによって判定し、成功した手術については、その手術情報に基づいて、手術技術情報データベース27を更新する。
【0108】
手術技術情報データベース27は、更新部26や手術技術情報登録部30から供給される、手術の技術的な情報である手術技術情報を記憶する。即ち、手術技術情報データベース27は、各手術について、症状別に、その手術を行うのに最適な操作部9の操作方法や、操作部9の操作として制限すべき操作内容等を、手術技術情報として記憶する。
【0109】
姿勢パラメータ制御部28は、入出力制御装置21で受信された、マスタマニピュレータ62の操作部9の姿勢パラメータを受信し、必要に応じて、検索部29を介して、手術技術情報を参照しながら、その受信した姿勢パラメータを修正等し、基準姿勢パラメータとして、入出力制御装置21に供給する。
【0110】
検索部29は、姿勢パラメータ制御部28の制御に従って、手術技術情報データベース27に記憶された手術技術情報を検索し、その検索結果を、姿勢パラメータ制御部28に供給する。
【0111】
手術技術情報登録部30は、例えば、所定の操作者によって操作され、その操作に対応する手術技術情報を、手術技術情報データベース27に登録する。
【0112】
次に、図10のフローチャートを参照して、図7のスレーブマニピュレータ61の処理について説明する。
【0113】
ステップS1において、入出力制御装置52は、マイク21乃至24、およびカメラ61乃至65を動作状態にし、マイク21乃至24それぞれで集音された音声データ、およびカメラ61乃至65それぞれで撮像された画像データの送信を開始する。
【0114】
即ち、入出力制御装置52は、マイク21乃至24それぞれで集音された音声データ、およびカメラ61乃至65それぞれで撮像された画像データを受信し、ネットワーク63を介して、スーパドクタデータベース部64に送信する。なお、この画像データと音声データの送信は、その後、例えば、マスタマニピュレータ62(図8)の操作パネル12が、その送信を停止するように操作されるまで続行される。
【0115】
さらに、ステップS1では、スレーブマニピュレータ制御装置51が、スレーブマニピュレータ部3の先端部4の姿勢パラメータを、スーパドクタデータベース部64に送信する。
【0116】
即ち、スレーブマニピュレータ制御装置51において、制御機構部73は、スレーブマニピュレータ部3のセンサ75を動作状態にし、その出力を受信して、制御部71に供給する。制御部71は、制御機構部73から供給されるセンサ75の出力に基づいて、スレーブマニピュレータ部3の先端部4の姿勢パラメータを求め、通信部74に供給する。通信部74は、制御部71からの姿勢パラメータを、ネットワーク63を介して、スーパドクタデータベース部64に送信する。
【0117】
その後、後述するように、スーパドクタデータベース部64から、ネットワーク63を介して、姿勢パラメータが送信されてくるので、スレーブマニピュレータ制御装置51の通信部74は、スーパドクタデータベース部64から姿勢パラメータが送信されてくるのを待って、ステップS2に進み、その姿勢パラメータを受信する。
【0118】
この姿勢パラメータは、通信部74から制御部71に供給され、制御部71は、ステップS3において、スレーブマニピュレータ部3の先端部4が、その姿勢パラメータに対応する姿勢をとるように、スレーブマニピュレータ部3を制御する。
【0119】
具体的には、スレーブマニピュレータ制御装置51の制御部71は、通信部74からの姿勢パラメータを、姿勢遷移機構部72に供給する。姿勢遷移機構部72は、スレーブマニピュレータ部3の先端部4の姿勢を、現在の姿勢から、制御部71から供給された姿勢パラメータに対応する姿勢に遷移させるための姿勢遷移情報を生成し、制御機構部73に供給する。
【0120】
制御機構部73は、姿勢遷移機構部72からの姿勢遷移情報に従って制御信号を生成し、これを、スレーブマニピュレータ部3に送出する。スレーブマニピュレータ部3では、アクチュエータ76が、制御機構部73からの制御信号に従って駆動し、これにより、先端部4は、その姿勢を変化させ、通信部74で受信された姿勢パラメータ、即ち、スーパドクタデータベース部64から送信されてきた姿勢パラメータに対応する姿勢をとる。
【0121】
そして、ステップS4に進み、スレーブマニピュレータ制御装置51は、ステップS3での制御で、スレーブマニピュレータ部3の先端部4が姿勢を変化させることで、先端部4が外部(患者の腹腔内)から受けた力F1とトルクT1を、その先端部4の姿勢パラメータとともに、ネットワーク63を介して、スーパドクタデータベース部64に送信する。
【0122】
即ち、スレーブマニピュレータ制御装置51において、制御機構部73は、センサ75の出力を、制御部71に供給し、制御部71は、そのセンサ75の出力から、先端部4が外部から受けた力F1とトルクT1、および先端部4の姿勢パラメータを算出する。さらに、制御部71は、この力F1とトルクT1、および姿勢パラメータを、通信部74に供給し、通信部74は、その力F1とトルクT1、および姿勢パラメータを、ネットワーク63を介して、スーパドクタデータベース部64に送信する。
【0123】
その後は、ステップS2に戻り、以下、同様の処理が繰り返される。
【0124】
従って、スレーブマニピュレータ61においては、スレーブマニピュレータ部3の先端部4が、スーパドクタデータベース部64から送信されてくる姿勢パラメータに対応する姿勢に変化していくことによって、患者に対する手術が行われる。
【0125】
次に、図11のフローチャートを参照して、図8のマスタマニピュレータ62の処理について説明する。
【0126】
後述するように、スーパドクタデータベース部64は、スレーブマニピュレータ61から送信されてくる画像データと音声データを、ネットワーク63を介して、マスタマニピュレータ62に送信してくるので、ステップS21では、その画像データと音声データの受信が開始される。
【0127】
即ち、ステップS21では、入出力制御装置54は、ネットワーク63を介して、スーパドクタデータベース部64から送信されてくる画像データと音声データを受信し、画像データを、モニタ10に供給するとともに、音声データをスピーカ11に供給する。これにより、モニタ10には、スレーブマニピュレータ61(図7)のカメラ61乃至65で撮像された画像が表示され、また、スピーカ11からは、スレーブマニピュレータ61のマイク21乃至24で集音された音が出力される。
【0128】
さらに、後述するように、スーパドクタデータベース部64は、スレーブマニピュレータ61から送信されてくる、先端部4の姿勢パラメータを、ネットワーク63を介して、マスタマニピュレータ62に送信してくるので、ステップS21では、マスタマニピュレータ制御装置53は、その姿勢パラメータを受信し、その姿勢パラメータに基づいて、マスタマニピュレータ部8の操作部9の姿勢を制御する。
【0129】
即ち、マスタマニピュレータ制御装置53において、通信部84は、ネットワーク63を介して、スーパドクタデータベース部64から送信されてくる、スレーブマニピュレータ部3の先端部4の姿勢パラメータを受信し、制御部81に供給する。制御部81は、通信部84からの姿勢パラメータを受信し、姿勢遷移機構部82に供給する。姿勢遷移機構部82は、マスタマニピュレータ部8の操作部9の姿勢を、現在の姿勢から、制御部81から供給された姿勢パラメータに対応する姿勢に遷移させるための姿勢遷移情報を生成し、制御機構部83に供給する。制御機構部83は、姿勢遷移機構部82からの姿勢遷移情報に従って制御信号を生成し、これを、マスタマニピュレータ部8に送出する。マスタマニピュレータ部8のアクチュエータ86は、この制御信号に従って駆動し、これにより、操作部9は、その姿勢を変化させ、スレーブマニピュレータ部3の先端部4の姿勢と同一の姿勢をとる。
【0130】
その後、ステップS22において、マスタマニピュレータ部8の操作部9の姿勢パラメータが、ネットワーク63を介して、スーパドクタデータベース部64に送信される。
【0131】
具体的には、マスタマニピュレータ制御装置53において、制御機構部83は、マスタマニピュレータ部8のセンサ85の出力を受信し、制御部81に供給する。制御部81は、センサ85の出力から、マスタマニピュレータ部8の操作部9の姿勢パラメータを算出し、通信部84に供給する。通信部84は、制御部81からの操作部9の姿勢パラメータを、ネットワーク63を介して、スーパドクタデータベース部64に送信する。
【0132】
ここで、このステップS22の処理によって、ユーザUがマスタマニピュレータ部8の操作部9を操作することにより所定の姿勢にされた操作部9について、その姿勢を表す姿勢パラメータが、スーパドクタデータベース部64に送信される。
【0133】
そして、ステップS23に進み、マスタマニピュレータ制御装置53の通信部84は、ネットワーク63を介してスーパドクタデータベース部64から送信されてくる、スレーブマニピュレータ部3の先端部4の姿勢パラメータを、基準姿勢パラメータとして受信し、ステップS24に進む。ステップS24では、マスタマニピュレータ制御装置53の通信部84は、スーパドクタデータベース部64から、先端部4の姿勢パラメータとともに送信されてくる、先端部4が外部から受けた力F1とトルクT1を受信する。この先端部4についての姿勢パラメータ、および力F1とトルクT1は、通信部84から制御部81に供給され、ステップS24からS25に進む。
【0134】
ステップS25では、制御部81は、ステップS22で取得した操作部9の姿勢パラメータと、ステップS23で取得した基準姿勢パラメータの差を算出し、ステップS26に進む。
【0135】
ステップS26では、制御部81は、ステップS25で算出した、操作部9の姿勢パラメータと基準姿勢パラメータとの差(ずれ)の大きさに比例した大きさで、ずれの方向とは逆方向の力F2とトルクT2を算出し、ステップS27に進む。
【0136】
ステップS27では、制御部81は、ステップS26で算出した力F2とトルクT2のそれぞれに、ステップS24で取得した力F1およびトルクT1に比例する力とトルクを加算し、操作部9を操作するユーザUに知覚させる力FoおよびトルクToを算出する。すなわち、制御部81は、例えば、式(1)に従って、力FoおよびトルクToを算出する。
【0137】
【数1】
Figure 0004032410
Figure 0004032410
【0138】
なお、例えば、マスタマニピュレータ部8の操作部9を動かすのに、スレーブマニピュレータ部3の先端部4を直接動かす場合に比べ、より大きな力が必要なとき(いわゆる重いとき)、αおよびβは、1より大きい値となり、また、操作部9を動かすのに、先端部4を動かす場合に比べ、小さな力でよい場合(いわゆる軽いとき)、αおよびβは、1より小さい値となる。また、同じ力でそれらを動かす場合、αおよびβは、1となる。
【0139】
その後、ステップS28において、マスタマニピュレータ部8の操作部9を操作するユーザUに、ステップS27で算出された力FoとトルクToを知覚させるように、マスタマニピュレータ部8が制御される。
【0140】
即ち、制御部81は、ステップS23で得た基準姿勢パラメータと、ステップS26で得た力FoおよびトルクToを、姿勢遷移機構部82に供給する。姿勢遷移機構部82は、マスタマニピュレータ部8の操作部9の姿勢を、現在の姿勢から、制御部81から供給された基準姿勢パラメータに対応する姿勢に遷移させるための姿勢遷移情報であって、さらに、力FoおよびトルクToをユーザに知覚させることのできる加速度(角加速度を含む)の情報を含むものを生成し、制御機構部83に供給する。制御機構部83は、姿勢遷移機構部82からの姿勢遷移情報に従って制御信号を生成し、これを、マスタマニピュレータ部8に送出する。マスタマニピュレータ部8のアクチュエータ86は、この制御信号に従って駆動し、これにより、操作部9は、その姿勢を、所定の加速度で変化させ、ユーザUに力FoおよびトルクToを知覚させながら、スレーブマニピュレータ部3の先端部4の姿勢と同一の姿勢をとる。
【0141】
その後は、ステップS22に戻り、以下、同様の処理が繰り返される。
【0142】
以上のように、ユーザUに知覚させる力FoおよびトルクToを、ステップS25で算出されたずれの大きさに比例した大きさで、ずれの方向とは逆方向の力F2およびトルクT2と、スレーブマニピュレータ部3の先端部4が受けたに力F1とトルクT1に比例する力およびトルクとが加算されたものとしたので、ユーザUに、操作部9の姿勢パラメータと基準姿勢パラメータとのずれ、およびスレーブマニピュレータ部3の先端部4が受ける反力を意識させることができる。
【0143】
従って、ユーザUは、マスタマニピュレータ部8の操作部9を、基準姿勢パラメータに対応する姿勢と異なる姿勢にするように操作した場合には、その姿勢の異なり具合が大きいほど、大きな反力を受けるので、自身の操作が、スレーブマニピュレータ部3の先端部4が実際にとった姿勢とどの程度異なるかを、いわば感覚的に認識することができる。
【0144】
なお、ユーザUには、例えば、力F2とトルクT2のみを知覚させるようにすることもできる。
【0145】
次に、図12のフローチャートを参照して、図9のスーパドクタデータベース部64の処理について説明する。
【0146】
まず最初に、ステップS41において、入出力制御装置21は、スレーブマニピュレータ61からの画像データおよび音声データの受信と、その画像データおよび音声データのマスタマニピュレータ62への送信を開始する。
【0147】
即ち、図10で説明したように、ステップS1において、スレーブマニピュレータ61(図7)は、カメラ61乃至65で撮像された画像データと、マイク21乃至24で集音された音声データの、スーパドクタデータベース部64への送信を開始するので、スーパドクタデータベース部64の入出力制御装置21は、そのようにしてスレーブマニピュレータ61からネットワーク63を介して送信されてくる画像データと音声データの受信を開始する。
【0148】
さらに、入出力制御装置21は、スレーブマニピュレータ61から受信した画像データと音声データの、マスタマニピュレータ62への送信を開始する。ここで、マスタマニピュレータ62では、このようにして、入出力制御装置21から送信される画像データと音声データの受信が、上述の図11のステップS21で開始される。
【0149】
また、ステップS41では、入出力制御装置21は、図10のステップS1においてスレーブマニピュレータ61から送信されてくる姿勢パラメータ(スレーブマニピュレータ部3の先端部4の姿勢パラメータ)を受信し、その姿勢パラメータを、基準姿勢パラメータとして、マスタマニピュレータ62に送信する。ここで、この基準姿勢パラメータは、マスタマニピュレータ62において、上述の図11のステップS21で受信され、これにより、操作部9(マスタマニピュレータ部8の操作部9)は、その基準パラメータに対応する姿勢、即ち、スレーブマニピュレータ部3の先端部4の姿勢と同一の姿勢をとる。
【0150】
その後、ステップS42に進み、入出力制御装置21は、スレーブマニピュレータ61から、その先端部4についての姿勢パラメータと、力F1およびトルクT1が、図10のステップS4で送信されてくるのを待って受信し、その姿勢パラメータを基準姿勢パラメータとして、力F1およびトルクT1とともに、マスタマニピュレータ62に送信する。ここで、マスタマニピュレータ62では、先端部4について姿勢パラメータは、図11のステップS23で受信され、先端部4についての力F1およびトルクT1は、図11のステップS24で受信される。
【0151】
そして、ステップS43に進み、入出力制御装置21は、マスタマニピュレータ621乃至62Kそれぞれが図11のステップS22で送信してくる操作部9の姿勢パラメータを受信し、姿勢パラメータ登録部22および姿勢パラメータ制御部28に供給して、ステップS44に進む。
【0152】
ステップS44では、姿勢パラメータ登録部22は、マスタマニピュレータ621乃至62Kそれぞれの姿勢パラメータに基づいて、ユーザU1乃至UKが行おうとしている手術内容を認識する。さらに、姿勢パラメータ登録部22は、その手術内容と対応する姿勢パラメータを、手術情報データベース25に供給して登録し、ステップS45に進む。
【0153】
ステップS45では、姿勢パラメータ制御部28が、マスタマニピュレータ621乃至62Kそれぞれからの操作部9の姿勢パラメータについて分散を計算し、その分散が所定の閾値以上であるかどうかを判定する。
【0154】
ステップS45において、マスタマニピュレータ621乃至62Kそれぞれからの操作部9の姿勢パラメータの分散が所定の閾値以上でないと判定された場合、即ち、マスタマニピュレータ621乃至62KそれぞれのユーザU1乃至UKが、ほぼ同じような操作をした場合、ステップS46に進み、姿勢パラメータ制御部28は、マスタマニピュレータ621乃至62Kそれぞれからの姿勢パラメータの、例えば平均値等の重み付け加算値を求め、ステップS47に進む。
【0155】
ここで、複数の姿勢パラメータの重み付け加算値としては、その複数の姿勢パラメータそれぞれに対する重みを同一にした平均値を計算する他、複数の姿勢パラメータそれぞれに対する重みを異なる値にしたものを計算することも可能である。即ち、姿勢パラメータに対する重みは、例えば、その姿勢パラメータを送信してきたマスタマニピュレータ62kを操作するユーザUkの熟練度等に基づいて設定することが可能である。なお、熟練度等に基づく重みは、例えば、マスタマニピュレータ62(図8)の操作パネル12を操作すること等によって設定することが可能である。
【0156】
ステップS47では、姿勢パラメータ制御部28は、検索部29に手術技術情報データベース27を検索させることにより、ステップS46で求められた重み付け加算値としての姿勢パラメータによる手術を制限するような手術技術情報が、手術技術情報データベース27に登録されているかどうかを判定する。
【0157】
ステップS47において、重み付け加算値である姿勢パラメータによる手術を制限するような手術技術情報が、手術技術情報データベース27に登録されていないと判定された場合、ステップS48をスキップして、ステップS49に進み、姿勢パラメータ制御部28は、重み付け加算値である姿勢パラメータを、入出力制御装置21に供給し、入出力制御装置21は、姿勢パラメータ制御部28からの姿勢パラメータを、スレーブマニピュレータ61に送信する。その後、ステップS42に戻り、以下、同様の処理が繰り返される。
【0158】
従って、この場合、スレーブマニピュレータ61の先端部4の動きは、マスタマニピュレータ621乃至62KのユーザU1乃至UKそれぞれによる操作を平均化したものに従うことなる。
【0159】
また、ステップS47において、重み付け加算値である姿勢パラメータによる手術を制限する手術技術情報が、手術技術データベース27に登録されていると判定された場合、即ち、重み付け加算値である姿勢パラメータによる手術の内容が、例えば、過去に前例のないものである場合や、あるいは、過去に、良い手術経過が得られなかったものである場合、ステップS48に進み、姿勢パラメータ制御部28は、重み付け加算値である姿勢パラメータを、その姿勢パラメータによる手術を制限する手術技術情報に基づいて修正し、その手術技術情報による制限の範囲内のものとする。そして、ステップS49に進み、姿勢パラメータ制御部28は、修正後の姿勢パラメータを、入出力制御装置21を介して、スレーブマニピュレータ61に送信して、ステップS42に戻り、以下、同様の処理を繰り返す。
【0160】
従って、この場合、スレーブマニピュレータ61の先端部4の動きは、マスタマニピュレータ621乃至62KのユーザU1乃至UKそれぞれによる操作を平均化したものを手術技術情報に基づいて修正したものに従うことなる。
【0161】
一方、ステップS45において、マスタマニピュレータ621乃至62Kそれぞれからの操作部9の姿勢パラメータの分散が所定の閾値以上であると判定された場合、即ち、マスタマニピュレータ621乃至62KそれぞれのユーザU1乃至UKのうちの1以上が、他のユーザと同じとはいえない程度の異なる操作をした場合、ステップS50に進み、姿勢パラメータ制御部28は、マスタマニピュレータ621乃至62Kそれぞれからの操作部9の姿勢パラメータの中から、他の姿勢パラメータと異なる姿勢パラメータ(分散を大きくしている原因となっている姿勢パラメータ)(以下、適宜、特異パラメータという)を検出する。
【0162】
なお、ここでは、説明を簡単にするために、特異パラメータとなる姿勢パラメータは1つとする。
【0163】
ステップS50において特異パラメータが検出されると、ステップS51に進み、姿勢パラメータ制御部28は、更新部26を制御することにより、手術情報データベース25に記憶された、特異パラメータに対応する手術情報が表す手術内容による手術が、過去に成功したことがあるかどうかを、手術経過情報データベース23の手術経過情報を参照させることによって判定させる。
【0164】
ステップS51において、特異パラメータに対応する手術情報が表す手術内容による手術が、過去に成功したことがないと判定された場合、ステップS52に進み、姿勢パラメータ制御部28は、その特異パラメータが、操作部9の誤操作等によるものであるとして、マスタマニピュレータ621乃至62Kそれぞれからの操作部9の姿勢パラメータのうちの、特異パラメータを除いたものの、例えば平均値等の重み付け加算値を求め、ステップS47に進む。
【0165】
その後、ステップS47乃至S49において、マスタマニピュレータ621乃至62Kそれぞれからの操作部9の姿勢パラメータのうちの、特異パラメータを除いたものの重み付け加算値を対象に、上述した場合と同様の処理が行われ、ステップS42に戻る。
【0166】
従って、この場合、スレーブマニピュレータ61の先端部4の動きは、マスタマニピュレータ621乃至62KのユーザU1乃至UKそれぞれによる操作のうち、特に他の操作と異なった操作を除いたものを平均化したもの(あるいは、その平均化した操作を手術技術情報に基づいて修正したもの)に従うことなる。
【0167】
一方、ステップS51において、特異パラメータに対応する手術情報が表す手術内容による手術が、過去に成功したことがあると判定された場合、ステップS53に進み、姿勢パラメータ制御部28は、更新部26を制御することにより、手術技術情報データベース27を更新させる。
【0168】
即ち、この場合、更新部26は、特異パラメータに対応する手術情報が表す手術内容に基づいて、その手術を行うのに最適な操作部9の操作方法(手順)や、操作部9の操作として制限すべき操作内容等を、手術技術情報として生成し、手術技術情報データベース27に供給して記憶させることにより、手術技術情報データベース27を更新する。
【0169】
そして、ステップS54に進み、姿勢パラメータ制御部28は、入出力制御装置21を制御することにより、特異パラメータである姿勢パラメータを、スレーブマニピュレータ61に送信し、ステップS42に戻り、以下、同様の処理を繰り返す。
【0170】
従って、この場合、スレーブマニピュレータ61の先端部4の動きは、マスタマニピュレータ621乃至62KのユーザU1乃至UKそれぞれによる操作のうち、特に他の操作と異なった操作に従うことになる。
【0171】
即ち、マスタマニピュレータ621乃至62KのユーザU1乃至UKのうちの一人のユーザが、他のユーザとは異なる操作(ここでは、同一の操作と見なすことができない程度の異なる操作)を行ったが、そのような操作による手術が成功した前例がある場合には、スレーブマニピュレータ61の先端部4の動きは、他のユーザとは異なる操作を行った一人のユーザによる操作に従うことになる。
【0172】
その結果、例えば、ユーザU1乃至UKのうちの一人のユーザが、他のユーザに比較して、手術技術の熟練した、いわば名医である場合において、その名医であるユーザが、最新の手術技術に基づき、他のユーザと異なる操作をしたときには、スレーブマニピュレータ61の先端部4は、その名医のユーザの操作に対応して動くことになる。
【0173】
従って、図3のSHARN手術システムでは、マスタマニピュレータ621乃至62Kそれぞれの操作に基づく姿勢パラメータによって、スーパドクタデータベース部64における手術技術情報データベース27の手術技術情報が、より良いものに更新されていく。さらに、スーパドクタデータベース部64では、マスタマニピュレータ621乃至62Kそれぞれの操作に基づく姿勢パラメータと、手術技術情報から、スレーブマニピュレータ61に提供する姿勢パラメータ(基準姿勢パラメータ)が生成され、スレーブマニピュレータ61では、その基準姿勢パラメータにしたがって先端部4の姿勢が制御されることによって、患者の手術が行われる一方、マスタマニピュレータ621乃至62Kでは、それぞれの操作と、基準姿勢パラメータとのずれを、いわば矯正するように、操作部9を操作するユーザU1乃至UKに負荷がかけられる。
【0174】
その結果、スレーブマニピュレータ61では、多数のユーザとしての医者による技術と、過去の手術によって構築され、さらに更新されていく手術技術情報とに基づく、いわば最高レベルの手術が行われることになる。
【0175】
また、マスタマニピュレータ62では、ユーザである獣医の操作が、実際の手術としての先端部4の動きに一致するように矯正されるので、ユーザである獣医の手術技術の向上を、短時間で図ることができる。
【0176】
即ち、図3のSHARN手術システムでは、図13に示すように、マスタマニピュレータ621乃至62Kそれぞれの操作に基づいて、スーパドクタデータベース部64の手術技術情報が、より良いものに更新されていき、さらに、マスタマニピュレータ621乃至62Kにおいては、手術技術情報の、いわばフィードバックを受け、ユーザの操作が、手術技術情報に適合するように矯正される。
【0177】
従って、マスタマニピュレータ621乃至62Kそれぞれにおいては、それ単独の場合ではできなかった、ユーザである医者の技術を短時間で向上させるという高機能が実現されているということができるが、これは、マスタマニピュレータ621乃至62Kと、スーパドクタデータベース部64とが、図13において点線で囲むように、まるで1つの装置であるかのようになって、マスタマニピュレータ621乃至62Kそれぞれの操作に基づいて、スーパドクタデータベース部64の手術技術情報が、より良いものに更新されることにより、結果として、マスタマニピュレータ621乃至62Kそれぞれが、手術技術情報を、より良いものに更新するという処理を、互いに協調しながら分担することとなっているからである。
【0178】
これに対して、スーパドクタデータベース部64が、単に、マスタマニピュレータ621乃至62Kそれぞれの操作内容を記憶し、マスタマニピュレータ621乃至62Kそれぞれにフィードバックするというだけでは、マスタマニピュレータ621乃至62Kそれぞれが、ユーザによる操作内容を、スーパドクタデータベース部64に供給するという処理を、単に分担しているだけとなり、マスタマニピュレータ621乃至62Kそれぞれにおいて、ユーザである獣医の技術を向上させるという高機能を実現することはできない。
【0179】
次に、図14は、SHARNシステムを適用したデザインシステムとしてのSHARNデザインシステムの構成例を示している。
【0180】
このSHARNデザインシステムは、デザイン用のマニピュレータシステムであり、擬似スレーブマニピュレータ41、マスタマニピュレータ421乃至42K、ネットワーク43、およびスーパデザイナデータベース部44から構成されている。
【0181】
擬似スレーブマニピュレータ41は、ネットワーク43を介して供給される信号に基づいて作動し、デザインの対象に対して、所定のデザインを施す。なお、ここでは、例えば、PDA(Personal Digital Assistant)を、デザインの対象とする。但し、デザインの対象は、PDAに限定されるものではない。
【0182】
マスタマニピュレータ42kは、ユーザUkの操作と、スーパデザイナデータベース部44からネットワーク43を介して供給される情報とに応じて作動する。また、マスタマニピュレータ42kは、その作動の状態を検知し、その検知結果を、ネットワーク43を介して、スーパデザイナデータベース部44に送信する。
【0183】
なお、図14の実施の形態では、K個のマスタマニピュレータ421乃至42Kが設けられているが、以下、適宜、これらを特に区別する必要がない限り、マスタマニピュレータ42と記載する。
【0184】
ネットワーク43は、擬似スレーブマニピュレータ41、マスタマニピュレータ421乃至42K、スーパデザイナデータベース部44それぞれの間での通信を可能とする。
【0185】
スーパデザイナデータベース部44は、ネットワーク43を介して供給されるマスタマニピュレータ42の作動の状態を受信し、その状態に基づいて、デザインに関する情報を生成する。さらに、スーパデザイナデータベース部44は、そのデザインに関する情報と、マスタマニピュレータ42の状態に基づき、制御信号を生成し、ネットワーク43を経由して、擬似スレーブマニピュレータ41に供給することによって、擬似スレーブマニピュレータ41を制御する。
【0186】
なお、図14の実施の形態においては、マスタマニピュレータ42が、図1(および図2)の操作部1003、アクチュエータ1005、およびセンサ1007に対応し、ネットワーク43が、図1のネットワーク1001に対応し、スーパデザイナデータベース部44が、図1の合成/統合部1002、駆動制御部1004、および信号処理部1006に対応する。
【0187】
また、図14の実施の形態においては、擬似スレーブマニピュレータ41は、実際の作業を行うマニピュレータではなく、マスタマニピュレータ42にしたがって、仮想的に作業を行うマニピュレータとなっている。但し、擬似スレーブマニピュレータ41は、実際の作業を行うマニピュレータとして構成することも可能である。
【0188】
次に、図15は、図14の擬似スレーブマニピュレータ41の電気的構成例を示している。なお、図中、図7のスレーブマニピュレータ61における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0189】
擬似スレーブマニピュレータ部77は、図7のスレーブマニピュレータ部3と擬似的に同一の機能を有するもので、例えば、CPUがプログラムを実行することにより実現される。そして、擬似スレーブマニピュレータ部77は、スレーブマニピュレータ制御装置51の制御にしたがい、デザインの対象に対して、各種の作用を仮想的に施す。
【0190】
即ち、擬似スレーブマニピュレータ部77は、デザイン情報データベース78に記憶されている、PDAのデザイン用のデータから特定される仮想的なPDAに対して、スレーブマニピュレータ制御装置51の制御にしたがい、仮想的な先端部(図4(A)のスレーブマニピュレータ61における先端部4Lと4Rに相当する)によって各種の処理を施す。
【0191】
また、擬似スレーブマニピュレータ部77は、図7のスレーブマニピュレータ部3と同様に、仮想的なPDAに対し、仮想的な先端部によって操作を施すことにより、その仮想的な先端部が、仮想的なPDAから受ける力F1やトルクT1等に対応する信号、即ち、図7のスレーブマニピュレータ部3のセンサ75の出力に対応する信号を計算し、制御機構部73に供給する。
【0192】
デザイン情報データベース78は、仮想的なPDAの外観構成を特定するためのデータとしてのデザイン情報を記憶する。即ち、デザイン情報データベース78は、マスタマニピュレータ421乃至42KのユーザU1乃至UKそれぞれが、マスタマニピュレータ421乃至42Kを操作することによってデザインしたPDAのデザイン情報を記憶する。
【0193】
画像生成部79は、擬似スレーブマニピュレータ部77の内部データに基づいて、仮想的な先端部等の状態を表す画像データを生成する。さらに、画像生成部79は、デザイン情報データベース78に記憶されたデザイン情報から、仮想的なPDAの画像データを生成する。そして、画像生成部79は、仮想的な先端部等の画像データと、仮想的なPDAの画像データとを合成し、これにより、擬似スレーブマニピュレータ部77が実際のマニピュレータであり、実際のPDAに対して作業を行っていれば、図7のスレーブマニピュレータ61のカメラ61乃至65によって撮像されたであろう画像の画像データを生成する。この画像データは、画像生成部79から入出力制御装置80に供給される。
【0194】
入出力制御装置80は、ネットワーク43に接続されており、画像生成部79から供給される画像データを、ネットワーク43を介して、スーパデザイナデータベース部44に送信する。また、入出力制御装置80は、デザイン情報データベース78に記憶された、ユーザU1乃至UKそれぞれがデザインしたPDAについてのデザイン情報を、ネットワーク43を介して、スーパデザイナデータベース部44に送信する。
【0195】
次に、図16は、図14のマスタマニピュレータ42の電気的構成例を示している。なお、図中、図8のマスタマニピュレータ62と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図14のマスタマニピュレータ42は、スピーカ11が設けられていない他は、図8のマスタマニピュレータ62と同様に構成されている。従って、図示しないが、マスタマニピュレータ42の外観構成も、図4(B)に示したマスタマニピュレータ62の外観構成と基本的に同一である。
【0196】
次に、図17は、図14のスーパデザイナデータベース部44の構成例を示している。なお、図中、図9のスーパドクタデータベース部64における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0197】
デザイン情報登録部91は、図15の擬似スレーブマニピュレータ41の入出力制御装置80がネットワーク43を介して送信してくる、デザイン情報データベース78に記憶された、ユーザU1乃至UKそれぞれがデザインしたPDAについてのデザイン情報を受信し、デザイン情報データベース92に供給して登録する。なお、ユーザUkがデザインしたPDAについてのデザイン情報の、擬似スレーブマニピュレータ41からスーパデザイナデータベース部44への転送は、例えば、ユーザUkが、自身のPDAのデザインを登録するように、マスタマニピュレータ42の操作部12を操作することによって行われる。
【0198】
デザイン情報データベース92は、デザイン情報登録部91からのデザイン情報を記憶する。
【0199】
デザイン評価部93は、デザイン情報データベース92に記憶されたデザイン情報によって特定されるPDAのデザインを評価する。
【0200】
即ち、デザイン評価部93は、例えば、デザイン情報データベース92に記憶されたデザイン情報によって特定されるPDAの外観構成を、例えば、インターネット上のWebページに公開して、人気投票を行い、その投票結果に基づいて、PDAのデザインを評価する。あるいは、また、デザイン評価部93は、例えば、デザイン情報データベース92に記憶されたデザイン情報によって特定されるPDAが、既に商品化されて販売されている場合には、ネットワーク43を介して、そのPDAの販売個数を収集し、その販売個数に基づいて、PDAのデザインを評価する。
【0201】
特異デザイン情報データベース94は、姿勢パラメータ登録部22から供給される特異デザイン情報を記憶し、流行デザイン情報データベース95は、更新部26から供給される流行デザイン情報を記憶する。
【0202】
ここで、流行デザイン情報とは、デザイン情報データベース92に記憶されたデザイン情報のうち、デザイン評価部93による評価が高いものを意味し、特異デザイン情報とは、流行デザイン情報から、いわばはずれたデザイン(以下、適宜、特異デザインという)のデザイン情報を意味する。
【0203】
次に、図18は、図15のデザイン情報データベース78、図17のデザイン情報データベース92、特異デザイン情報データベース94、流行デザイン情報データベース95に記憶されるPDAのデザイン情報を示している。
【0204】
PDAのデザイン情報としては、図18(A)に示すように、PDAの横の長さp1、縦の長さp2、PDAの表示部としてのLCDの横の長さp3、その縦の長さp4、PDAの重心の位置p6、PDAに設けられたボタンの位置p7,p8等を採用することができる。
【0205】
また、例えば、図18(B)に示すように、PDAが円弧状の丸みを有する場合には、その円弧の半径p9,p10,p11,p12等を、PDAのデザイン情報として採用することができる。
【0206】
次に、図19のフローチャートを参照して、図15の擬似スレーブマニピュレータ41の処理について説明する。
【0207】
ステップS61において、入出力制御装置80は、画像生成部79で生成された画像データの送信を開始する。
【0208】
即ち、マスタマニピュレータ42k(図16)のユーザUkが、デザインを開始するように、操作パネル12を操作すると、その操作に対応する操作信号(以下、適宜、開始信号という)が、入出力制御装置54から、ネットワーク43を介して、擬似スレーブマニピュレータ41とスーパデザイナデータベース部44に送信される。
【0209】
マスタマニピュレータ42kからの開始信号は、擬似スレーブマニピュレータ41の入出力制御装置80で受信され、この場合、入出力制御装置80は、ユーザUk用の画像データを生成するように、画像生成部79に供給する。これにより、画像生成部79は、ユーザUk用に、画像データの生成を開始し、入出力制御装置80は、そのユーザUk用に生成された画像データ(以下、適宜、ユーザUk用の画像データという)の送信を開始する。なお、この画像データの送信は、その後、例えば、マスタマニピュレータ42k(図16)の操作パネル12が、その送信を停止するように操作されるまで続行される。
【0210】
さらに、ステップS61では、スレーブマニピュレータ制御装置51が、擬似スレーブマニピュレータ部77の仮想的な先端部の姿勢パラメータを、スーパデザイナデータベース部44に送信する。
【0211】
即ち、スレーブマニピュレータ制御装置51において、制御機構部73は、擬似スレーブマニピュレータ部77が出力する仮想的な先端部等の状態に関する信号(以下、適宜、状態信号という)を受信して、制御部71に供給する。制御部71は、制御機構部73から供給される状態信号に基づいて、擬似スレーブマニピュレータ部77の仮想的な先端部の姿勢パラメータを求め、通信部74に供給する。通信部74は、制御部71からの姿勢パラメータを、ネットワーク43を介して、スーパデザイナデータベース部44に送信する。
【0212】
その後、後述するように、スーパデザイナデータベース部44から、ネットワーク43を介して、姿勢パラメータが送信されてくるので、スレーブマニピュレータ制御装置51の通信部74は、スーパドクタデータベース部64から姿勢パラメータが送信されてくるのを待って、ステップS62に進み、その姿勢パラメータを受信する。
【0213】
この姿勢パラメータは、通信部74から制御部71に供給され、制御部71は、ステップS63において、擬似スレーブマニピュレータ部77の仮想的な先端部が、その姿勢パラメータに対応する姿勢をとるように、擬似スレーブマニピュレータ部77を制御する。
【0214】
具体的には、スレーブマニピュレータ制御装置51の制御部71は、通信部74からの姿勢パラメータを、姿勢遷移機構部72に供給する。姿勢遷移機構部72は、擬似スレーブマニピュレータ部77の仮想的な先端部の姿勢を、現在の姿勢から、制御部71から供給された姿勢パラメータに対応する姿勢に遷移させるための姿勢遷移情報を生成し、制御機構部73に供給する。
【0215】
制御機構部73は、姿勢遷移機構部72からの姿勢遷移情報に従って制御信号を生成し、これを、擬似スレーブマニピュレータ部77に送出する。擬似スレーブマニピュレータ部77は、制御機構部73からの制御信号に従って、仮想的な先端部の姿勢を変化させ、通信部74で受信された姿勢パラメータに対応する姿勢をとらせる。
【0216】
そして、ステップS64に進み、スレーブマニピュレータ制御装置51は、ステップS63での制御で、擬似スレーブマニピュレータ部77の仮想的な先端部が姿勢を変化させることで、仮想的な先端部が外部(デザインの対象である仮想的なPDA)から受けた力F1とトルクT1を、その仮想的な先端部の姿勢パラメータとともに、ネットワーク43を介して、スーパデザイナデータベース部44に送信する。
【0217】
即ち、スレーブマニピュレータ制御装置51において、制御機構部73は、擬似スレーブマニピュレータ部77が出力する状態信号を、制御部71に供給し、制御部71は、その状態信号から、仮想的な先端部が外部から受けた力F1とトルクT1、および仮想的な先端部の姿勢パラメータを算出する。さらに、制御部71は、この力F1とトルクT1、および姿勢パラメータを、通信部74に供給し、通信部74は、その力F1とトルクT1、および姿勢パラメータを、ネットワーク43を介して、スーパデザイナデータベース部44に送信する。
【0218】
その後は、ステップS62に戻り、以下、同様の処理が繰り返される。
【0219】
従って、擬似スレーブマニピュレータ41においては、擬似スレーブマニピュレータ部77の仮想的な先端部が、スーパデザイナデータベース部44から送信されてくる姿勢パラメータに対応する姿勢に変化していくことによって、PDAに対してデザインが施される。
【0220】
なお、ステップS64においては、例えば、PDAが、模型用の材料として用いられる発泡プラスチックやABS(Acrylonitrile Butadiene Styrene)樹脂等で構成されているとして、力F1とトルクT1を計算するようにすることができる。
【0221】
次に、図20のフローチャートを参照して、図16のマスタマニピュレータ42の処理について説明する。
【0222】
後述するように、スーパデザイナデータベース部44は、擬似スレーブマニピュレータ41から送信されてくる画像データを、ネットワーク43を介して、マスタマニピュレータ42に送信してくるので、ステップS71では、その画像データの受信が開始される。
【0223】
即ち、ステップS71では、入出力制御装置54は、ネットワーク43を介して、スーパデザイナデータベース部44から送信されてくる画像データを受信し、画像データを、モニタ10に供給する。これにより、モニタ10には、擬似スレーブマニピュレータ部77(図15)がPDAに対して処理を施している様子を表す画像が表示される。
【0224】
さらに、後述するように、スーパデザイナデータベース部44は、擬似スレーブマニピュレータ41から送信されてくる、仮想的な先端部の姿勢パラメータを、ネットワーク43を介して、マスタマニピュレータ42に送信してくるので、ステップS71では、マスタマニピュレータ制御装置53は、その姿勢パラメータを受信し、その姿勢パラメータに基づいて、マスタマニピュレータ部8の操作部9の姿勢を制御する。
【0225】
即ち、マスタマニピュレータ制御装置53において、通信部84は、ネットワーク43を介して、スーパデザイナデータベース部44から送信されてくる、擬似スレーブマニピュレータ部77の仮想的な先端部の姿勢パラメータを受信し、制御部81に供給する。制御部81は、通信部84からの姿勢パラメータを受信し、姿勢遷移機構部82に供給する。姿勢遷移機構部82は、マスタマニピュレータ部8の操作部9の姿勢を、現在の姿勢から、制御部81から供給された姿勢パラメータに対応する姿勢に遷移させるための姿勢遷移情報を生成し、制御機構部83に供給する。制御機構部83は、姿勢遷移機構部82からの姿勢遷移情報に従って制御信号を生成し、これを、マスタマニピュレータ部8に送出する。マスタマニピュレータ部8のアクチュエータ86は、この制御信号に従って駆動し、これにより、操作部9は、その姿勢を変化させ、擬似スレーブマニピュレータ部77の仮想的な先端部の姿勢と同一の姿勢をとる。
【0226】
その後、ステップS72において、マスタマニピュレータ部8の操作部9の姿勢パラメータが、ネットワーク43を介して、スーパデザイナデータベース部44に送信される。
【0227】
具体的には、マスタマニピュレータ制御装置53において、制御機構部83は、マスタマニピュレータ部8のセンサ85の出力を受信し、制御部81に供給する。制御部81は、センサ85の出力から、マスタマニピュレータ部8の操作部9の姿勢パラメータを算出し、通信部84に供給する。通信部84は、制御部81からの操作部9の姿勢パラメータを、ネットワーク43を介して、スーパデザイナデータベース部44に送信する。
【0228】
このステップS72の処理によって、ユーザの操作によって変化したマスタマニピュレータ部8の操作部9の姿勢を表す姿勢パラメータが、スーパデザイナデータベース部44に送信される。
【0229】
そして、ステップS73に進み、マスタマニピュレータ制御装置53の通信部84は、ネットワーク43を介してスーパデザイナデータベース部44から送信されてくる、擬似スレーブマニピュレータ部77の仮想的な先端部の姿勢パラメータを、基準姿勢パラメータとして受信し、ステップS74に進む。ステップS74では、マスタマニピュレータ制御装置53の通信部84は、スーパデザイナデータベース部44から、仮想的な先端部の姿勢パラメータとともに送信されてくる、仮想的な先端部が外部から受けた力F1とトルクT1を受信する。この仮想的な先端部についての姿勢パラメータ、および力F1とトルクT1は、通信部84から制御部81に供給され、ステップS74からS75に進む。
【0230】
ステップS75では、制御部81は、ステップS72で取得した操作部9の姿勢パラメータと、ステップS73で取得した基準姿勢パラメータの差を算出し、ステップS76に進む。
【0231】
ステップS76では、制御部81は、ステップS75で算出した、操作部9の姿勢パラメータと基準姿勢パラメータとの差(ずれ)の大きさに比例した大きさで、ずれの方向とは逆方向の力F2とトルクT2を算出し、ステップS77に進む。
【0232】
ステップS77では、制御部81は、ステップS76で算出した力F2とトルクT2のそれぞれに、ステップS74で取得した力F1およびトルクT1に比例する力とトルクを加算し、操作部9を操作するユーザUに知覚させる力FoおよびトルクToを算出する。すなわち、制御部81は、例えば、上述の式(1)に従って、力FoおよびトルクToを算出する。
【0233】
その後、ステップS78において、マスタマニピュレータ部8の操作部9を操作するユーザUkに、ステップS77で算出された力FoとトルクToを知覚させるように、マスタマニピュレータ部8が制御される。
【0234】
即ち、制御部81は、ステップS73で得た基準姿勢パラメータと、ステップS76で得た力FoおよびトルクToを、姿勢遷移機構部82に供給する。姿勢遷移機構部82は、マスタマニピュレータ部8の操作部9の姿勢を、現在の姿勢から、制御部81から供給された基準姿勢パラメータに対応する姿勢に遷移させるための姿勢遷移情報であって、さらに、力FoおよびトルクToをユーザに知覚させることのできる加速度(上述したように、角加速度を含む)の情報を含むものを生成し、制御機構部83に供給する。制御機構部83は、姿勢遷移機構部82からの姿勢遷移情報に従って制御信号を生成し、これを、マスタマニピュレータ部8に送出する。マスタマニピュレータ部8のアクチュエータ86は、この制御信号に従って駆動し、これにより、操作部9は、その姿勢を、所定の加速度で変化させ、ユーザUに力FoおよびトルクToを知覚させながら、擬似スレーブマニピュレータ部77の仮想的な先端部の姿勢と同一の姿勢をとる。
【0235】
その後は、ステップS72に戻り、以下、同様の処理が繰り返される。
【0236】
以上のように、ユーザUに知覚させる力FoおよびトルクToを、ステップS75で算出されたずれの大きさに比例した大きさで、ずれの方向とは逆方向の力F2とトルクT2と、擬似スレーブマニピュレータ部77の仮想的な先端部が受けたに力F1とトルクT1に比例する力とトルクとが加算されたものとしたので、ユーザUに、操作部9の姿勢パラメータと基準姿勢パラメータとのずれ、および擬似スレーブマニピュレータ部77の仮想的な先端部が受ける反力を意識させることができる。
【0237】
従って、ユーザUkは、マスタマニピュレータ部8の操作部9を、基準姿勢パラメータに対応する姿勢と異なる姿勢にするように操作した場合には、その姿勢の異なり具合が大きいほど、大きな反力を受けるので、自身の操作が、擬似スレーブマニピュレータ部77の仮想的な先端部が実際にとった姿勢とどの程度異なるかを、いわば感覚的に認識することができる。
【0238】
次に、図21のフローチャートを参照して、図17のスーパデザイナデータベース部44の処理について説明する。なお、スーパデザイナデータベース部44は、開始信号を送信してきたマスタマニピュレータ42kごとに、そのマスタマニピュレータ42kと擬似スレーブマニピュレータ41を制御する処理として、図17のフローチャートに従った処理(以下、適宜、制御処理という)を行う。従って、擬似スレーブマニピュレータ41でも、開始信号を送信したマスタマニピュレータ42kごとに対して、上述の処理が行われる。
【0239】
まず最初に、ステップS91において、入出力制御装置21は、擬似スレーブマニピュレータ41からの画像データの受信と、その画像データのマスタマニピュレータ42kへの送信を開始する。
【0240】
即ち、図19で説明したように、ステップS61において、擬似スレーブマニピュレータ41(図15)は、画像データの、スーパデザイナデータベース部44への送信を開始するので、スーパデザイナデータベース部44の入出力制御装置21は、そのようにして擬似スレーブマニピュレータ41からネットワーク43を介して送信されてくる画像データの受信を開始する。
【0241】
さらに、入出力制御装置21は、擬似スレーブマニピュレータ41から受信した画像データの、マスタマニピュレータ42kへの送信を開始する。ここで、マスタマニピュレータ42では、このようにして、入出力制御装置21から送信される画像データの受信が、上述の図20のステップS71で開始される。
【0242】
また、ステップS91では、入出力制御装置21は、図19のステップS61において擬似スレーブマニピュレータ41から送信されてくる姿勢パラメータ(擬似スレーブマニピュレータ部77の仮想的な先端部の姿勢パラメータ)を受信し、その姿勢パラメータを、基準姿勢パラメータとして、マスタマニピュレータ42kに送信する。ここで、この基準姿勢パラメータは、マスタマニピュレータ42kにおいて、上述の図20のステップS71で受信され、これにより、操作部9(マスタマニピュレータ部8の操作部9)は、その基準パラメータに対応する姿勢、即ち、擬似スレーブマニピュレータ部77の仮想的な先端部の姿勢と同一の姿勢をとる。
【0243】
その後、ステップS92に進み、入出力制御装置21は、擬似スレーブマニピュレータ41から、その仮想的な先端部についての姿勢パラメータと、力F1およびトルクT1が、図19のステップS64で送信されてくるのを待って受信し、その姿勢パラメータを基準姿勢パラメータとして、力F1およびトルクT1とともに、マスタマニピュレータ42kに送信する。ここで、マスタマニピュレータ42kでは、仮想的な先端部について姿勢パラメータは、図20のステップS73で受信され、仮想的な先端部についての力F1およびトルクT1は、図20のステップS74で受信される。
【0244】
そして、ステップS93に進み、入出力制御装置21は、マスタマニピュレータ42kが図20のステップS72で送信してくる操作部9の姿勢パラメータを受信し、姿勢パラメータ制御部28に供給して、ステップS94に進む。
【0245】
ステップS94では、姿勢パラメータ制御部28は、検索部29に流行デザイン情報データベース95を検索させることにより、ステップS93でマスタマニピュレータ42kから受信した姿勢パラメータによるデザインを制限するような流行デザイン情報が、流行デザイン情報データベース95に登録されているかどうかを判定する。
【0246】
ステップS94において、マスタマニピュレータ42kからの姿勢パラメータによるデザインを制限するような流行デザイン情報が、流行デザイン情報データベース95に登録されていないと判定された場合、即ち、姿勢パラメータによるデザインが、流行デザイン情報が表す、流行しているデザインから、それほどはずれるもの(特異デザイン)ではない場合、ステップS99に進み、姿勢パラメータ制御部28は、マスタマニピュレータ42kからの姿勢パラメータを、入出力制御装置21に供給し、入出力制御装置21は、姿勢パラメータ制御部28からの姿勢パラメータを、擬似スレーブマニピュレータ41に送信する。その後、ステップS92に戻り、以下、同様の処理が繰り返される。
【0247】
従って、この場合、擬似スレーブマニピュレータ41の仮想的な先端部の動きは、マスタマニピュレータ42kのユーザUkによる操作に従うことなる。
【0248】
一方、ステップS94において、マスタマニピュレータ42kからの姿勢パラメータによるデザインを制限するような流行デザイン情報が、流行デザイン情報データベース95に登録されていると判定された場合、即ち、姿勢パラメータによるデザインが、流行デザイン情報が表す、流行しているデザインからはずれるもの(特異デザイン)である場合(現在の流行からすれば、突飛なデザインである場合)、ステップS95に進み、姿勢パラメータ制御部28は、姿勢パラメータ登録部22を制御することにより、マスタマニピュレータ42kからの姿勢パラメータによる特異デザインを表す特異デザイン情報を、特異デザイン情報データベース94に登録させ、ステップS96に進む。
【0249】
ステップS96では、更新部26が、直前のステップS95で特異デザイン情報データベース94に登録された特異デザイン情報(以下、適宜、直前特異デザイン情報という)の頻度が所定の閾値より大であるかどうかを判定する。
【0250】
ステップS96において、直前特異デザイン情報の頻度が所定の閾値より大でないと判定された場合、即ち、直前特異デザイン情報が表す特異デザインを施すような操作が、1以上のユーザによってそれほど行われていない場合、ステップS97に進み、姿勢パラメータ制御部28は、マスタマニピュレータ42kからの姿勢パラメータを、その姿勢パラメータによるデザインを制限する流行デザイン情報に基づいて修正し、その流行デザイン情報による制限の範囲内のものとする。そして、ステップS99に進み、姿勢パラメータ制御部28は、修正後の姿勢パラメータを、入出力制御装置21を介して、擬似スレーブマニピュレータ41に送信して、ステップS92に戻り、以下、同様の処理を繰り返す。
【0251】
従って、この場合、擬似スレーブマニピュレータ41の仮想的な先端部の動きは、マスタマニピュレータ42kのユーザUkによる操作を流行デザイン情報に基づいて修正したもの、つまり、ユーザが行おうとした突飛なデザイン(特異デザイン)を、流行のデザインからあまりかけ離れたものとならないように修正したものに従うことなる。
【0252】
一方、ステップS96において、直前特異デザイン情報の頻度が大であると判定された場合、即ち、直前特異デザイン情報が表す特異デザインを施すような操作が、1以上のユーザによって多数行われ、その結果、現在の流行が、直前特異デザイン情報が表すデザインに変化してきたと推測される場合、ステップS98に進み、更新部26は、直前特異デザイン情報を、特異デザイン情報データベース94から読み出し、流行デザイン情報として、流行デザイン情報データベース95に転送して追加記憶させる。
【0253】
その後は、ステップS99に進み、姿勢パラメータ制御部28は、マスタマニピュレータ42kからの姿勢パラメータを、入出力制御装置21に供給し、入出力制御装置21は、姿勢パラメータ制御部28からの姿勢パラメータを、擬似スレーブマニピュレータ41に送信する。その後、ステップS92に戻り、以下、同様の処理が繰り返される。
【0254】
従って、この場合、擬似スレーブマニピュレータ41の仮想的な先端部の動きは、マスタマニピュレータ42kのユーザUkによる操作に従うことなる。
【0255】
即ち、マスタマニピュレータ42kからの姿勢パラメータによるデザインが、流行デザイン情報が表す、流行しているデザインからはずれる特異デザインである場合(現在の流行からすれば、突飛なデザインである場合)、最初のうちは、そのような特異デザインを行おうとする操作は、流行デザイン情報に基づいて修正される。しかしながら、最初は、特異デザインであっても、その特異デザインを施すような操作が多数行われた場合には、特異デザインが多数に受け入れられ、現在の流行が、その特異デザインに変化したと推測される。そこで、この場合には、流行デザイン情報データベース95に、その特異デザイン情報が、流行デザイン情報として追加記憶され、さらに、そのような特異デザインを施そうとするユーザの操作も、流行デザイン情報によって制限(修正)されないようになる。
【0256】
その結果、擬似スレーブマニピュレータ41の仮想的な先端部は、最初は、特異デザインを施すような操作に従わなかったのが、その特異デザインが多数に認知されてくると、その特異デザインを施す操作に従って動くようになる。即ち、例えば、図18(A)に示したようなPDAのデザインが流行している場合において、図18(B)に示したようなPDAのデザインを施すように、マスタマニピュレータ42を操作しても、最初のうちは、その操作が制限されるが、そのような操作が多数行われていくうちに、その制限がされなくなり、図18(B)のPDAのデザインを施すことが可能になっていく。
【0257】
以上のように、図14のSHARNデザインシステムでは、マスタマニピュレータ421乃至42Kを操作するユーザU1乃至UKそれぞれによって行われるデザインに基づいて、流行デザイン情報データベース95の更新(上述の場合には、特異デザイン情報の追加記憶)が行われるが、さらに、このSHARNデザインシステムでは、他の一般ユーザによる評価にも基づいて、流行デザイン情報データベース95の更新が行われるようになっている。
【0258】
そこで、図22のフローチャートを参照して、他の一般ユーザによる評価に基づく、流行デザイン情報データベース95の更新処理について説明する。
【0259】
まず最初に、ステップS111において、デザイン評価部93は、デザイン情報登録部91によってデザイン情報データベース92に登録されたデザイン情報によるデザインを評価する評価情報を収集する。
【0260】
即ち、デザイン評価部93は、例えば、デザイン情報データベース92に記憶されたデザイン情報を公開しているWebページについて、一般ユーザが行ったデザイン情報の人気投票結果を、評価情報として、ネットワーク43を介して収集する。また、デザイン評価部93は、デザイン情報データベース92に記憶されたデザイン情報によって特定されるPDAの販売個数を、評価情報として、ネットワーク43を介して収集する。
【0261】
そして、ステップS112に進み、デザイン評価部93は、デザイン情報データベース92に記憶されているデザイン情報それぞれに対し、ステップS111で収集した評価情報に基づき、評価値を計算し、その評価値によって、デザイン情報データベース92を更新する。
【0262】
即ち、デザイン情報データベース92には、デザイン情報が、前回の更新処理で得られた評価値(以下、適宜、前回の評価値という)と対応付けられて記憶されており、ステップS112では、デザイン情報について新たに計算された評価値(以下、適宜、今回の評価値という)によって、各デザイン情報に対応付けられている評価値(前回の評価値)が更新される。
【0263】
ここで、評価値は、0以上の値で、その値が大きいほど、評価の程度が高いものとする。
【0264】
その後、ステップS113に進み、更新部26は、評価値が所定の閾値ε1以上で、かつ評価値の変化の割合が閾値+ε2以上のデザイン情報が、デザイン情報データベース92に登録されているかどうかを判定する。
【0265】
ステップS113において、評価値が所定の閾値ε1以上で、かつ評価値の変化の割合が+ε2以上のデザイン情報が、デザイン情報データベース92に登録されていると判定された場合、即ち、評価値自体が大きく、さらに、評価値の変化(伸び)も大きいデザイン情報(以下、適宜、人気デザイン情報という)が存在する場合、ステップS114に進み、更新部26は、その人気デザイン情報が、流行デザイン情報として、流行デザイン情報データベース95に既に登録されているかどうかを判定する。
【0266】
ステップS114において、人気デザイン情報が、流行デザイン情報として、流行デザイン情報データベース95に既に登録されていると判定された場合、ステップS111に戻り、以下、同様の処理を繰り返す。
【0267】
また、ステップS114において、人気デザイン情報が、流行デザイン情報データベース95に登録されていないと判定された場合、ステップS115に進み、更新部26は、デザイン情報データベース92から、人気デザイン情報を読み出し、流行デザイン情報として、流行デザイン情報データベース95に供給して追加記憶させ、これにより、流行デザイン情報データベース95を更新して、ステップS111に戻る。
【0268】
一方、ステップS113において、評価値が所定の閾値ε1以上で、かつ評価値の変化の割合が+ε2以上のデザイン情報が、デザイン情報データベース92に登録されていないと判定された場合、即ち、人気デザイン情報が存在しない場合、ステップS116に進み、更新部26は、評価値の変化の割合が所定の閾値ε3回以上続けて0以下になっているデザイン情報が、デザイン情報データベース92に登録されているかどうかを判定する。
【0269】
ステップS116において、評価値の変化の割合が所定の閾値ε3回以上続けて0以下になっているデザイン情報が存在すると判定された場合、即ち、評価値が変化しないか、または下降する一方のデザイン情報(以下、適宜、不人気デザイン情報という)が存在する場合、ステップS117に進み、更新部26は、不人気デザイン情報が、流行デザイン情報として、流行デザイン情報データベース95に登録されているかどうかを判定する。
【0270】
ステップS117において、不人気デザイン情報が、流行デザイン情報として、流行デザイン情報データベース95に登録されていると判定された場合、ステップS118に進み、更新部26は、その流行デザイン情報としての不人気デザイン情報を、流行デザイン情報データベース95から削除し、これにより、流行デザイン情報データベース95を更新して、ステップS111に戻る。
【0271】
また、ステップS117において、不人気デザイン情報が、流行デザイン情報データベース95に登録されていないと判定された場合、ステップS118をスキップして、ステップS111に戻る。
【0272】
以上のように、図14のSHARNデザインシステムでは、マスタマニピュレータ421乃至42Kそれぞれの操作に基づく姿勢パラメータによって、スーパデザイナデータベース部44における流行デザイン情報データベース95の流行デザイン情報が、より良いもの(現在の流行にあったデザイン)に更新されていく。さらに、スーパデザイナデータベース部44における流行デザイン情報データベース95の流行デザイン情報は、一般のユーザによる評価にも基づいて、より良いものに更新されていく。さらに、スーパデザイナデータベース部44では、マスタマニピュレータ42kの操作に基づく姿勢パラメータと、流行デザイン情報から、擬似スレーブマニピュレータ41に提供する姿勢パラメータ(基準姿勢パラメータ)が生成され、擬似スレーブマニピュレータ41では、その基準姿勢パラメータにしたがって仮想的な先端部の姿勢が制御されることによって、デザインが施される一方、マスタマニピュレータ42kでは、そのユーザUkの操作と、基準姿勢パラメータとのずれを、いわば矯正するように、操作部9を操作するユーザUkに負荷がかけられる。
【0273】
その結果、擬似スレーブマニピュレータ41では、ユーザUkのデザインセンスと、その他の多数のユーザのデザインセンスから構築され、更新されていく流行デザイン情報とに基づく、いわば流行に沿ったデザインが施されることになる。
【0274】
また、マスタマニピュレータ42kでは、ユーザUkの操作が、流行デザイン情報に基づいて矯正されるので、ユーザUkのデザイン技術の向上を短時間で図ることができる。
【0275】
ここで、図14のSHARNデザインシステムでは、図23に示すように、マスタマニピュレータ421乃至42Kそれぞれの操作に基づいて、スーパデザイナデータベース部44の流行デザイン情報が、より良いものに更新されていき、さらに、マスタマニピュレータ421乃至42Kにおいては、流行デザイン情報の、いわばフィードバックを受け、ユーザの操作が、流行デザイン情報に適合するように矯正される。
【0276】
従って、マスタマニピュレータ421乃至42Kそれぞれにおいては、それ単独の場合ではできなかった、ユーザU1乃至UKそれぞれのデザイン技術を向上させるという高機能が実現されているということができるが、これは、マスタマニピュレータ421乃至42Kと、スーパデザイナデータベース部44とが、図23において点線で囲むように、まるで1つの装置であるかのようになって、マスタマニピュレータ421乃至42Kそれぞれの操作に基づいて、スーパデザイナデータベース部44の流行デザイン情報が、より良いものに更新されることにより、結果として、マスタマニピュレータ421乃至42Kそれぞれが、流行デザイン情報を、より良いものに更新するという処理を、互いに協調しながら分担することとなっているからである。
【0277】
これに対して、スーパデザイナデータベース部44が、単に、マスタマニピュレータ421乃至42Kそれぞれの操作内容を記憶し、マスタマニピュレータ421乃至42Kそれぞれにフィードバックするというだけでは、マスタマニピュレータ421乃至42Kそれぞれが、ユーザによる操作内容を、スーパデザイナデータベース部44に供給するという処理を、単に分担しているだけとなり、マスタマニピュレータ421乃至42Kそれぞれにおいて、ユーザU1乃至UKのデザイン技術を向上させるという高機能を実現することはできない。
【0278】
次に、図24は、SHARNシステムを適用した移動体システムとしてのSHARN移動体システムの構成例を示している。
【0279】
このSHARN移動体システムは、多数の移動体(例えば、自動車など)1011,1012,・・・、各移動体101kに設けられた全方位カメラ102k、およびネットワーク104から構成されている。
【0280】
移動体101kとしての自動車は、それを運転操作するユーザUkによる操作に応じて作動することにより、道路上等を移動する。移動体101kに設けられた全方位カメラ102kは、自身を中心とする全方位の画像を撮像(検知)する。従って、ある被写体103を見通すことのできる位置にある移動体101kの全方位カメラ102kにおいては、特に、被写体103が存在する方向を意識しなくても、被写体103を含む画像を撮像することができる。ネットワーク104は、任意の移動体101kと101k'の間の無線通信を可能とするネットワークである。
【0281】
ここで、以下、適宜、全方位カメラ102kにおいて得られる、自身を中心とする全方位の画像を、全方位画像という。
【0282】
移動体101kは、ネットワーク104を介して、他の移動体101k'と通信する。そして、移動体101kは、他の移動体101k'で撮像された画像データを、ネットワーク104を介して受信し、その画像データを処理することによって、付加価値を付けた画像データを生成する。
【0283】
ここで、図24の実施の形態においては、移動体101kが、図1(および図2)の操作部1003、アクチュエータ1005、合成/統合部1002、駆動制御部1004、および信号処理部1006に対応し、全方位カメラ102kが、図1のセンサ1007に対応し、ネットワーク104が、図1のネットワーク1001に対応する。
【0284】
なお、移動体101k'との通信は、移動体101kだけでなく、固定局としての情報処理装置105も行うことができるようになっている。そして、固定局である情報処理装置105でも、移動体101kにおける場合と同様に、他の移動体101k'で撮像された画像データを、ネットワーク104を介して受信し、その画像データを処理することによって、付加価値を付けた画像データを生成することができる。
【0285】
次に、図25を参照して、図24のSHARN移動体システムの機能について概説する。
【0286】
SHARN移動体システムでは、第1の機能として、ある図示しない移動体101kは、所望の移動体である、例えば、移動体1018を指定し、その移動体1018の現在地から全方位カメラ1028によって撮像された全方位画像データを、ネットワーク104を介して取得することができる。
【0287】
また、第2の機能として、移動体101kは、ある被写体103について、所望の視点方向v上に位置する移動体(図25においては、移動体1017)を指定し、その移動体1017の現在地から全方位カメラ1027によって撮像された全方位画像データを、ネットワーク104を介して取得することができる。この場合、その全方位画像データには、被写体103を所定の視点方向vから見た画像が含まれることになる。
【0288】
さらに、第3の機能として、移動体101kは、複数の移動体(図25においては、被写体103を囲む点線の円上に位置する移動体1011,1012,1013,1014,1015,1016)それぞれによって撮像された、被写体103を多数の視点方向から見た画像を含む全方位画像データを、ネットワーク104を介して取得し、その複数の全方位画像データを処理することによって、被写体103を、視点を変えながら見た画像(被写体103を、その周囲を一周しながら撮像したような画像)(以下、適宜、視点可変画像という)を、即座に得ることができる。
【0289】
ここで、第3の機能は、複数の移動体101k、並びに1011,1012,1013,1014,1015、および1016が、視点可変画像を得るための処理を協調しながら分担することで実現されるが、この点についての詳細は、後述する。
【0290】
次に、図26は、移動体101kの構成例を示している。
【0291】
全方位カメラ102kは、撮像装置111とA/D(Analog/Digital)変換部112で構成されている。
【0292】
撮像装置111は、バスBus1を介して制御部118から供給される制御信号にしたがって、全方位画像を撮像(撮影)し、その結果得られるアナログの画像信号を、A/D変換部112に供給する。また、撮像装置111は、全方位画像を撮像したときのズームに関するズーム情報等を、スケール加工部113に供給する。
【0293】
A/D変換部112は、撮像装置111からのアナログの画像信号をA/D変換し、これにより、ディジタルの全方位画像データを得て、スケール加工部113に供給する。
【0294】
スケール加工部113は、全方位カメラ112k(のA/D変換部112)から供給される全方位画像データのスケールを、同じく全方位カメラ112k(の撮像装置111)から供給されるズーム情報に基づいて変換する。
【0295】
即ち、スケール加工部113は、全方位カメラ102kにおいて、任意のズーム倍率で撮像された全方位画像データを、所定のズーム倍率で撮像されたものに変換する。
【0296】
スケール加工部113で処理された全方位画像データは、画像データベース114に供給され、画像データベース114は、スケール加工部113からの全方位画像データを、必要な情報と対応付けて記憶する。また、画像データベース114は、後述するようにして、制御部118からバスBus1を介して供給される画像データ等も記憶(登録)する。
【0297】
操作部115は、所定の情報(例えば、撮像装置111のズーム倍率など)やコマンドを入力するときに操作され、その入力は、バスBus1を介して制御部118に供給されて処理される。また、操作部115は、移動体101kを制御するためのハンドルや、アクセル、ブレーキ等も含んでいる。
【0298】
送信部116は、バスBus1を介して供給される情報を、ネットワーク104(図24)を介して送信する。受信部117は、ネットワーク104を介して送信されてくる情報を受信し、バスBus1上に出力する。
【0299】
制御部118は、バスBus1とBus2に接続されており、そのバスBus1とBus2に接続されている各ブロックを制御する。
【0300】
表示画像加工部119は、バスBus2を介して供給される画像データから、表示部122に表示させる画像を生成するための加工処理を行い、バスbus2上に出力する。
【0301】
比較部120は、バスBus2を介して、記憶部121と位置検出部123を参照し、記憶部121に記憶された情報と、位置検出部123が出力する情報とを比較し、その比較結果を、バスBus2を介して、制御部118に通知する。
【0302】
記憶部121は、バスBus2を介して制御部118から供給される情報等を一時記憶する。
【0303】
表示部122は、例えば、LCD(Liquid Crystal Display)やCRT(Cathod Ray Tube)等で構成され、バスBus2を介して供給される画像データにしたがって、画像を表示する。
【0304】
位置検出部123は、例えば、GPS(Global Positioning System)等で構成され、移動体101kの現在地を検出し、バスBus2上に出力する。
【0305】
地図データベース124は、地図を電子化したデータである地図データを記憶しており、バスBus2を介して、他のブロックから参照される。
【0306】
座標演算部125は、バスBus2を介して制御部118から供給される制御信号にしたがって、所定の座標等を演算する。
【0307】
切り出し部126は、制御部118の制御の下、バスBus2を介して供給される画像データから所定の領域を切り出し、バスBus2上に出力する。
【0308】
画像変換部127は、制御部118の制御の下、バスBus2を介して供給される画像データを、後述する歪みを除去した画像データに変換し、バスbus2上に出力する。
【0309】
次に、図27は、図26の撮像装置111の構成例を示している。
【0310】
撮像装置111は、集光部202が、撮像部203の上部に配置された支持体201によって支持されることによって構成されており、集光部202の周囲360度の方向を撮像することができるようになっている。
【0311】
支持体201は、ガラスなどの反射率の低い透明材料からなり、ガラス面での光の屈折を最小化するために、入射光がガラス面と直交するように集光部202の後述する焦点を中心とした球面になっている。
【0312】
集光部202には、双曲面形状をしており、支持体201を介して入射する周囲の光を、撮像部203の方向に反射する。
【0313】
撮像部203は、例えば、CCD等の光電変換素子で構成され、そこに入射する光を電気信号としての画像信号に変換する。この撮像部203で得られる画像信号が、撮像装置111の出力として、図26のA/D変換部112に供給される。
【0314】
ここで、全方位カメラ102kを構成する撮像装置111の構成や集光の原理については、例えば、「移動ロボット用全方位視覚センサの開発」、自動化技術第29巻第6号(1997年)(以下、適宜、文献1という)に開示されているため、ここでは、簡単に説明する。
【0315】
図28は、図27の撮像装置111によって撮像された全方位画像データの例を示している。
【0316】
全方位画像データは、中心点C1を中心とする2つの円の円周F1とF2によって区分される。なお、図28では、円周F1の方が、円周F2よりも半径が大きいものとなっている。
【0317】
即ち、全方位画像データは、大きい円周F1の内側で、かつ小さい円周F2の外側になっている領域R1、大きい円周F1の外側の領域R2、小さい円周R2に囲まれた領域(内側の領域)R3から構成される。
【0318】
以上の3つの領域R1乃至R3のうち、領域R1においては、集光部202で反射された、周囲からの光に対応する画像データが撮像されており、領域R2においては、集光部202の外側の部分が撮像されている。また、領域R3には、撮像部203自身が撮像されている。
【0319】
さらに、図28の実施の形態では、領域R1には、複数の建物が撮像されているが、円周F1に近い方向に、建物の上部が撮像され、円周F2に近い方向に、建物の下部が撮像されている。
【0320】
次に、図29を参照して、図27の集光部202を構成する双曲面について説明する。
【0321】
集光部202は、双曲面の一部により構成されており、双曲面の軸に対する垂直面により、双曲面を切断して得られた双曲面の凸型先頭部の凸状面に、鏡面を形成したものとなっている。
【0322】
集光部202には、双曲面の1つである二葉双曲面を用いることができ、二葉双曲面は、図29に示すように、双曲線を軸(Z軸)回りに回転して得られる曲面であり、Z>0の領域に存在する下に凸の双曲面H1と、Z<0の領域に存在する上に凸の双曲面H2から構成される。
【0323】
集光部202には、二葉の双曲面H1とH2のうち、Z>0の領域にある双曲面H1を利用する。なお、以下、適宜、Z軸を、双曲線の中心軸または単に軸ともいう。
【0324】
図29に示したX,Y,Zの3次元直交座標系において、二葉双曲面H1とH2は、式(2)で示される。
【0325】
【数2】
Figure 0004032410
Figure 0004032410
【0326】
ここで、式(2)において、定数aとbは、双曲面H1およびH2の形状を定義する定数である。即ち、定数bは、原点Oから、双曲面H1(H2)とZ軸との交点までの距離を表す。また、定数aは、その交点を通る、XY平面と平行な平面と、双曲面H1(H2)の漸近面A1との交線が描く円の半径を表す。
【0327】
さらに、式(2)において、定数cは、双曲面H1およびH2の焦点の位置を定義する定数である。即ち、Z軸上の+cの位置(0,0,+c)が、双曲面H2の焦点f1となり、Z軸上の−cの位置(0,0,−c)が、双曲面H1の焦点f2となる。
【0328】
なお、定数a,b,cは、次式で示される関係を有する。
【0329】
【数3】
Figure 0004032410
Figure 0004032410
【0330】
集光部202が、図29で説明したような双曲面H1で構成されるとした場合、撮像部203は、図30に示すように、そのレンズの中心軸がZ軸に一致し、かつ、レンズ中心が、双曲面H1の焦点f2に一致するように配置される。
【0331】
次に、撮像部203が出力する全方位画像データは、上述の図28に示したようなものとなるが、いま、この全方位画像データについて、図31に示すように、その左上の点を原点Oとするとともに、左から右方向にx軸をとり、上から下方向にy軸をとった2次元直交座標系を定義する。
【0332】
この場合、円周F1の円および円周F2の円の中心点C1の座標を(X0 、Y0 )とするとともに、円周F1の円の半径をrF1とし、円周F2の円の半径をrF2とすると、円周F1の外側の領域R2を構成する点(x,y)は、式(4)により表され、円周F2の内側の領域R3を構成する点(x,y)は、式(5)により表される。
【0333】
【数4】
Figure 0004032410
Figure 0004032410
【0334】
【数5】
Figure 0004032410
Figure 0004032410
【0335】
図26のスケール加工部113は、全方位画像データのスケールを変換する前に、式(4)で表される領域R2を構成する画素値と、式(5)で表される領域R3を構成する画素値を、例えば、0に変換する。
【0336】
ここで、この画素値の変換にあたっては、中心点C1の座標(X0 、Y0 )、並びに半径rF1およびrF2が必要となるが、これらの情報は、撮像装置111からスケール加工部113に対して、ズーム情報とともに供給されるようになっている。なお、撮像装置111(図26)は、ズーム情報や、中心点C1の座標(X0 、Y0 )、並びに半径rF1およびrF2の他、撮像時の露出時間や、絞り等の、撮像装置111の設定に関する情報を、撮像情報として、スケール加工部113に出力するようになっている。
【0337】
なお、ここでは、説明を簡単にするため、露出時間や絞りは、固定であるとする。
【0338】
ところで、図28や図31に示した領域R1の画像データである全方位画像データについては、所望の被写体が表示されている部分等の、全方位画像データの一部分だけが必要な場合がある。
【0339】
図26の切り出し部126は、全方位画像データの一部分を切り出すようになっているが、その切り出しは、図32に示すように行われる。
【0340】
即ち、切り出し部126は、中心点C1を通る半径方向の2つの直線Lc1とLc2に囲まれ、かつ中心点C1を中心とする2つの円の円周Fc1とFc2に囲まれる略扇形の領域R11の画像データを切り出すようになっている。
【0341】
次に、全方位画像データは、図28や図31に示したように、中心点C1に近づくほど狭まったものとなり、逆に、中心点C1から遠ざかるほど広がったものとなるような歪みを有する。このことは、切り出し部126が全方位画像データから切り出す略扇形の画像データについても同様であり、このようは歪みのある画像データは、図26の表示部122で表示等するにあたって、歪みのないものに変換する必要がある。
【0342】
全方位カメラ102が出力する、上述のような全方位画像データの歪みは、中心点C1を通る円の円周方向の歪みと、半径方向の歪みとに分けて考えることができる。
【0343】
そこで、まず円周方向の歪みを考えてみると、図28や図31の全方位画像データの、中心点C1を中心とするある円の円周上においては、スケールが一定であり、従って、歪みはない。
【0344】
即ち、図33は、Z軸方向から見た集光部202としての双曲面H1を示している。
【0345】
図33では、被写体上のある点P(X,Y,Z)から、Z軸に向かい、X軸(XZ平面)と角度θをつくるように、光線rが入射している。この光線rは、双曲面H1で反射され、後述する図34に図示してある撮像部203の受光面(画像面)A3上の点p(x,y)に到達する。そして、この場合、点p(x,y)は、X軸(XZ平面)との間で、光線rがX軸との間でつくるのと同一の角度θをつくる。
【0346】
また、Z軸に向かい、X軸と角度θ’をつくるように入射する光線r’を考えた場合、この光線r’も、双曲面H1で反射され、受光面(画像面)A3上の点p’(x’,y’)に到達する。そして、この場合も、点p’(x’,y’)は、X軸との間で、光線r’がX軸との間でつくるのと同一の角度θ’をつくる。
【0347】
また、光線rとr’の、Z軸に対する仰角(後述する)が同一であれば、光線rおよびr’は、受光面A3上の、位置は異なるが、Z軸から同一の距離rpだけ離れた点で受光される。
【0348】
以上から、Z軸に対する仰角が同一の複数の光線それぞれは、受光面A3上の、Z軸から同一の距離にある点であって、X軸との間で、光線とX軸とがつくるのと同一の角度をつくる点で受光される。
【0349】
従って、Z軸に対する仰角が同一で、X軸との角度が等角度の複数の光線は、受光面A3の、Z軸を中心とする円周上に、等間隔で入射することになるから、全方位画像データにおいて、受光面A3とZ軸との交点にあたる中心点C1を中心とする円の円周方向には、歪みは生じない。
【0350】
一方、図28や図31の全方位画像データの、中心点C1を通る半径方向の直線上においては、中心点C1に近づくほど、スケールが小さくなり、中心点C1から離れるほど、スケールが大きくなることから、全方位画像データは、半径方向の歪みを有する。
【0351】
即ち、図34は、X軸方向から見た集光部202としての双曲面H1を示している。
【0352】
図34において、Z軸に対して仰角0度で、焦点f1に向かって入射する光線r1は、双曲面H1で反射され、焦点f2に向かっていき、撮像部203の受光面(画像面)A3で受光される。
【0353】
ここで、Z軸に対する仰角とは、Z軸上の焦点f1を通り、XY面に平行な面と、焦点f1に向かって入射する光線とがつくる角度を意味する。また、撮像部203の受光面A3は、撮像装置111の焦点距離をfとすると、焦点f2から、Z軸に沿って、fだけ離れた原点O方向に位置する。
【0354】
Z軸に対して仰角△d度で、焦点f1に向かって入射する光線r2は、双曲面H1で反射され、焦点f2に向かっていき、受光面A3で受光される。Z軸に対して仰角2△d度で、焦点f1に向かって入射する光線r3は、双曲面H1で反射され、焦点f2に向かっていき、受光面A3で受光される。仰角が△d度ずつ大きくなる光線r4,r5,r6も、同様にして、受光面A3で受光される。
【0355】
このように、仰角が△d度ずつ異なる光線r1乃至r6それぞれが、受光面A3で受光される点どうしの間隔は、図34の拡大図に示すように、等間隔にはならず、Z軸に近い点どうしの間隔ほど狭くなる(Z軸から離れた点どうしの間隔ほど広くなる)。即ち、仰角が大きい光線どうしの間隔ほど狭くなる(仰角が小さい光線どうしの間隔ほど広くなる)。
【0356】
そして、仰角が等角度の光線について、受光面A3上で受光される点どうしの間隔が、上述のように、等間隔にならないことから、全方位画像データには、半径方向の歪みが生じる。
【0357】
従って、全方位画像データの半径方向の歪みを除去するには、仰角が等角度の光線の、受光面A3上での受光点どうしの間隔が、等間隔になるようにすれば良い。
【0358】
そこで、いま、図35に示すように、被写体上のある点P(X,Y,Z)から、焦点f1に向かって、仰角α度で入射する光線rを考える。
【0359】
この光線rは、図34で説明した場合と同様に、集光部202としての双曲面H1で反射され、焦点f2に向かっていき、受光面A3で受光される。
【0360】
この場合において、焦点f2に向かう光線rが、焦点f2を通り、XY平面に平行な平面とつくる角度をγ度とする。さらに、X軸とY軸とで定義される2次元直交座標系において、光線rが受光面A3で受光された点(受光点)pの座標を(x,y)で表し、その点p(x,y)とZ軸との距離をRと表す。
【0361】
図35における角度αは、式(2)で表される双曲面H1において、光線rが反射される点の座標を求めることにより、次式で表すことができる。
【0362】
【数6】
Figure 0004032410
Figure 0004032410
【0363】
式(6)から、tanαは、次式で求めることができる。
【0364】
【数7】
Figure 0004032410
Figure 0004032410
【0365】
ここで、cosγを、次式のようにおく。
【0366】
【数8】
Figure 0004032410
Figure 0004032410
【0367】
式(7)に、式(8)を代入すると、次式が求められる。
【0368】
【数9】
Figure 0004032410
Figure 0004032410
【0369】
式(9)を変形して、式(10)が得られる。
【0370】
【数10】
Figure 0004032410
Figure 0004032410
【0371】
一方、AとBを、それぞれ式(11)と(12)に示すように定義する。
【0372】
【数11】
Figure 0004032410
Figure 0004032410
【0373】
【数12】
Figure 0004032410
Figure 0004032410
【0374】
式(10)に、式(11)および(12)を代入することにより、式(13)が求められる。
【0375】
【数13】
Figure 0004032410
Figure 0004032410
【0376】
式(13)は、次のような、Xについての2次方程式とすることができる。
【0377】
【数14】
Figure 0004032410
Figure 0004032410
【0378】
式(14)の2次方程式を解くと、次式が得られる。
【0379】
【数15】
Figure 0004032410
Figure 0004032410
【0380】
従って、式(8)より、角度γは、次式によって求めることができる。
【0381】
【数16】
Figure 0004032410
Figure 0004032410
【0382】
但し、式(16)において、Xは、式(15)で定義されるものであり、また、式(15)中のAとBは、それぞれ、式(11)と(12)で定義されるものである。
【0383】
また、図35の点pの座標から、角度γは、次式で求めることができる。
【0384】
【数17】
Figure 0004032410
Figure 0004032410
【0385】
一方、図35におけるZ軸と点p(x,y)との距離Rは、√(x2+y2)で表されるから、式(17)は、次式のように変形することができる。
【0386】
【数18】
Figure 0004032410
Figure 0004032410
【0387】
以上から、式(16)によって、角度γを求め、その角度γを用いて、式(18)を計算することにより、Z軸に対して仰角α度で、焦点f1に向かって入射する光線rが、受光面A3において受光される点p(x,y)のZ軸からの距離Rを算出することができる。
【0388】
従って、Z軸に対する仰角の所定の範囲(例えば、0度乃至80度など)を等角度△dに分割し、各仰角△d,2△d,3△d,・・・で入射する光線が、受光面A3上で受光される各点p1,p2,p3・・・について、Z軸からの距離Rp1,Rp2,Pp3・・・を求めておき、隣接する点どうしの距離の差|Rp1−Rp2|,|Rp2−Pp3|,・・・が、一定値になるように、撮像装置111が出力する全方位画像データを変換することにより、その半径方向の歪みを除去した全方位画像データを得ることができることになる。
【0389】
なお、この歪み除去のための全方位画像データの変換は、図26の画像変換部127が行う。
【0390】
即ち、画像変換部127は、図36に示すように、制御部118から、上述した半径方向の歪みがある全方位画像データ(以下、適宜、歪み全方位画像データという)とともに、中心点C1、円周F1の円の半径rF1、および円周F2の円の半径rF2を受信する。
【0391】
そして、画像変換部127は、中心点C1を中心とする半径rF1の円の円周F1と、中心点C1を中心とする半径rF2の円の円周F2とで囲まれる領域R1内において、中心点C1を中心とする、上述のRp1,Rp2,Pp3・・・を半径とする複数の同心円を描く。さらに、画像変換部127は、その複数の同心円の円周を等分する、中心点C1を通る複数の直線を描く。これにより、画像変換部127は、領域R1において、複数の同心円と、複数の直線とで形成される多数の交点を得る。
【0392】
ここで、上述の複数の同心円と、複数の直線とで形成される多数の交点を、以下、適宜、変換対象点という。
【0393】
上述したことから、変換対象点を、その隣接するものどうしが等間隔になるように配置することで、歪みのある全方位画像データを、その歪みを除去した画像データに変換することができる。
【0394】
そこで、いま、図36における、図32に示したのと同一の略扇形の領域R11の画像データを、歪みのないものに変換することを考える。
【0395】
この領域R11内には、図37(A)に示すように、中心点C1を中心とする複数の同心円の円弧F11,F12,F13,F14,F15,F16それぞれと、中心点C1を通る複数の直線L1,L2,L3,L4,L5,L6それぞれとの交点である多数の変換対象点が存在する。
【0396】
画像変換部127は、領域R11内に存在する多数の変換対象点を、図37(B)に示すように、隣接するものどうしが等間隔になるように配置する。
【0397】
即ち、画像変換部127は、図37(A)の円弧F11,F12,F13,F14,F15,F16それぞれに対応する、等間隔に配置された横方向の直線L21,L22,L23,L24,L25,L26と、図37(A)の直線L1,L2,L3,L4,L5,L6それぞれに対応する、等間隔に配置された縦方向の直線L11,L12,L13,L14,L15,L16を想定し、その横方向の直線L21乃至L26それぞれと、縦方向の直線L11乃至L16それぞれとの交点上に、対応する変換対象点を変換する(割り当てる)。
【0398】
これにより、例えば、図37(A)において、円弧F14と、直線L5との交点である変換対象点p11は、図37(B)の、円弧F14に対応する直線L24と、直線L5に対応する直線L15との交点p12に変換される。
【0399】
ところで、画像変換部127は、上述のように、変換対象点の位置を変換(変更)することによって、半径方向の歪みを有する画像データを、その歪みを除去した画像データに変換するが、変換対象点は、上述したように、中心点C1を中心とする円と、中心点C1を通る直線との交点である。従って、変換対象点は、撮像部203(図27)の受光面A3(図34、図35)を構成する画素の画素中心に一致するとは限らず、むしろ、一般には、一致しないことが多い。
【0400】
このように、変換対象点は、画素中心からずれているのが一般的であるから、画像変換部127において、変換対象点の位置を変換する前に、その変換対象点における画素値を求める必要がある。
【0401】
そこで、画像変換部127は、変換対象点における画素値を、例えば、次のようにして求めるようになっている。
【0402】
即ち、いま、図37の変換対象点p11が、図38に示すように、受光面A3上の隣接する2×2の4画素P1,P2,P3,P4それぞれの画素中心CP1,CP2,CP3,CP4を頂点とする長方形(正方形)の範囲内にあるとする。なお、図38の実施の形態においては、上下、または左右方向に隣接する画素中心どうしの距離が1であるとしてある。
【0403】
そして、変換対象点p11が、画素中心CP1よりも距離αだけ右方向の、距離βだけ下方向の点である場合、画像変換部127は、例えば、次式で求められる画素値Ssを、変換対象点p11の画素値とする。
【0404】
【数19】
Figure 0004032410
Figure 0004032410
【0405】
但し、式(19)において、Sa,Sb,Sc,Sdは、画素P1,P2,P3,P4それぞれの画素値を表す。また、式(19)において、αおよびβは、0以上1以下の範囲の値で、変換対象点p11の位置に対応するものである。
【0406】
次に、図26のスケール加工部113は、上述したように、全方位カメラ102kにおいて、任意のズーム倍率で撮像された全方位画像データを、所定のズーム倍率で撮像されたものに変換する。このズーム倍率の変換は、単純な画素の補間や間引きと、ローパスフィルタによる必要なフィルタリング等によって実現することも可能であるが、倍率を向上させる場合には、単純な画素の補間ではなく、例えば、本件出願人が先に提案しているクラス分類適応処理を利用することができる。
【0407】
クラス分類適応処理は、クラス分類処理と適応処理とからなり、クラス分類処理によって、データが、その性質に基づいてクラス分けされ、各クラスごとに適応処理が施される。
【0408】
ここで、適応処理について、低倍率の画像(以下、適宜、低倍率画像という)を、高倍率の画像(以下、適宜、高倍率画像という)に変換する場合を例に説明する。
【0409】
この場合、適応処理では、低倍率画像を構成する画素(以下、適宜、低倍率画素という)と、所定のタップ係数との線形結合により、その低倍率画像の空間解像度を向上させた高倍率画像の画素の予測値を求めることで、その低倍率画像の倍率を高くした画像が得られる。
【0410】
具体的には、例えば、いま、ある高倍率画像を教師データとするとともに、その高倍率画像の解像度を劣化させた低倍率画像を生徒データとして、高倍率画像を構成する画素(以下、適宜、高倍率画素という)の画素値yの予測値E[y]を、幾つかの低倍率画素(低倍率画像を構成する画素)の画素値x1,x2,・・・の集合と、所定のタップ係数w1,w2,・・・の線形結合により規定される線形1次結合モデルにより求めることを考える。この場合、予測値E[y]は、次式で表すことができる。
【0411】
Figure 0004032410
【0412】
式(20)を一般化するために、タップ係数wjの集合でなる行列W、生徒データxijの集合でなる行列X、および予測値E[yj]の集合でなる行列Y’を、
【数20】
Figure 0004032410
で定義すると、次のような観測方程式が成立する。
【0413】
Figure 0004032410
ここで、行列Xの成分xijは、i件目の生徒データの集合(i件目の教師データyiの予測に用いる生徒データの集合)の中のj番目の生徒データを意味し、行列Wの成分wjは、生徒データの集合の中のj番目の生徒データとの積が演算されるタップ係数を表す。また、yiは、i件目の教師データを表し、従って、E[yi]は、i件目の教師データの予測値を表す。なお、式(20)の左辺におけるyは、行列Yの成分yiのサフィックスiを省略したものであり、また、式(20)の右辺におけるx1,x2,・・・も、行列Xの成分xijのサフィックスiを省略したものである。
【0414】
式(21)の観測方程式に最小自乗法を適用して、高倍率画素の画素値yに近い予測値E[y]を求めることを考える。この場合、教師データとなる高倍率画素の真の画素値yの集合でなる行列Y、および高倍率画素の画素値yに対する予測値E[y]の残差eの集合でなる行列Eを、
【数21】
Figure 0004032410
で定義すると、式(21)から、次のような残差方程式が成立する。
【0415】
Figure 0004032410
【0416】
この場合、高倍率画素の画素値yに近い予測値E[y]を求めるためのタップ係数wjは、自乗誤差
【数22】
Figure 0004032410
を最小にすることで求めることができる。
【0417】
従って、上述の自乗誤差をタップ係数wjで微分したものが0になる場合、即ち、次式を満たすタップ係数wjが、高倍率画素の画素値yに近い予測値E[y]を求めるため最適値ということになる。
【0418】
【数23】
Figure 0004032410
Figure 0004032410
【0419】
そこで、まず、式(22)を、タップ係数wjで微分することにより、次式が成立する。
【0420】
【数24】
Figure 0004032410
Figure 0004032410
【0421】
式(23)および(24)より、式(25)が得られる。
【0422】
【数25】
Figure 0004032410
Figure 0004032410
【0423】
さらに、式(22)の残差方程式における生徒データxij、タップ係数wj、教師データyi、および残差eiの関係を考慮すると、式(25)から、次のような正規方程式を得ることができる。
【0424】
【数26】
Figure 0004032410
Figure 0004032410
【0425】
なお、式(26)に示した正規方程式は、行列(共分散行列)Aおよびベクトルvを、
【数27】
Figure 0004032410
で定義するとともに、ベクトルWを、数20で示したように定義すると、式
Figure 0004032410
で表すことができる。
【0426】
式(26)における各正規方程式は、生徒データxijおよび教師データyiのセットを、ある程度の数だけ用意することで、求めるべきタップ係数wjの数Jと同じ数だけたてることができ、従って、式(27)を、ベクトルWについて解くことで(但し、式(27)を解くには、式(27)における行列Aが正則である必要がある)、最適なタップ係数wjを求めることができる。なお、式(27)を解くにあたっては、例えば、掃き出し法(Gauss-Jordanの消去法)などを用いることが可能である。
【0427】
以上のように、生徒データと教師データを用いて、最適なタップ係数wjを求める学習をしておき、さらに、そのタップ係数wjを用い、式(20)により、教師データyに近い予測値E[y]を求めるのが適応処理である。
【0428】
なお、適応処理は、低倍率画像には含まれていないが、高倍率画像に含まれる成分が再現される点で、単なる補間とは異なる。即ち、適応処理では、式(20)だけを見る限りは、いわゆる補間フィルタを用いての単なる補間と同一に見えるが、その補間フィルタのタップ係数に相当するタップ係数wが、教師データyを用いての、いわば学習により求められるため、高倍率画像に含まれる成分を再現することができる。このことから、適応処理は、いわば画像の創造(解像度創造)作用がある処理ということができる。
【0429】
次に、図39は、上述のようなクラス分類適応処理を行うクラス分類適応処理回路によって実現されるスケール加工部113の構成例を示している。なお、ここでは、スケール加工部113は、全方位画像データを、所定の固定倍率の画像データに変換するが、全方位画像データの倍率が所定の固定倍率よりも低い場合には、クラス分類適応処理によって、全方位画像データを、その倍率よりも高い固定倍率の画像データに変換し、逆に、全方位画像データの倍率が所定の固定倍率よりも高い場合には、間引き等を行って、全方位画像データを、その倍率よりも低い固定倍率の画像データに変換するようになっており、図39においては、全方位画像データを、その倍率よりも高い固定倍率の画像データに変換する部分を構成するクラス分類適応処理回路を示している。
【0430】
全方位カメラ102kが出力する画像データ(全方位画像データ)である低倍率画像データは、バッファ231に供給され、バッファ231は、そこに供給される低倍率画像データを一時記憶する。
【0431】
予測タップ抽出回路232は、後述する積和演算回路236において求めようとする固定倍率の画像データの画素(以下、適宜、固定倍率画素という)を、順次、注目画素とし、さらに、その注目画素を予測するのに用いる低倍率画像データの画素を、バッファ231から抽出し、予測タップとする。
【0432】
即ち、予測タップ抽出回路232は、例えば、注目画素としての固定倍率画素に対応する位置に対して近い位置にある低倍率画素の幾つかを、予測タップとして、バッファ231から読み出す。
【0433】
そして、予測タップ抽出回路232は、注目画素について、予測タップを得ると、その注目画素についての予測タップを、積和演算回路236に供給する。
【0434】
ここで、予測タップ抽出回路232には、制御回路237から制御信号が供給されるようになっており、予測タップ抽出回路232は、制御回路237からの制御信号にしたがって、予測タップを構成する低倍率画素、即ち、予測タップの構造を決定する。
【0435】
即ち、制御回路237には、全方位カメラ102kの撮像装置111が出力する撮像情報が供給されるようになっており、制御回路237は、その撮像情報のうちの、例えば、ズーム情報に基づいて、そのズーム情報が表す倍率に適した処理が行われるようにするための制御信号を生成し、予測タップ抽出回路232、クラスタップ抽出回路233、および係数記憶部235に供給する。
【0436】
具体的には、制御回路237は、例えば、ズーム情報が表すズーム倍率が小さいほど、注目画素に対応する位置からより近い位置にある低倍率画素を用いて予測タップを構成することを指示する制御信号(ズーム倍率が大きいほど、注目画素に対応する位置からより遠い位置にある低倍率画素を用いて予測タップを構成することを指示する制御信号)を生成し、予測タップ抽出回路232に供給する。
【0437】
従って、予測タップ抽出回路232は、このような制御信号にしたがい、低倍率画像のズーム倍率によって異なる構造の予測タップを構成する。
【0438】
一方、クラスタップ抽出回路233は、注目画素を、幾つかのクラスのうちのいずれかに分類するためのクラス分類に用いる低倍率画素を、バッファ231から抽出し、クラスタップとする。
【0439】
ここで、クラスタップ抽出回路233も、制御回路237から供給される制御信号にしたがい、クラスタップを構成させる低倍率画素、即ち、クラスタップの構造を決定する。
【0440】
即ち、制御回路237は、例えば、クラスタップ抽出回路233に対して、予測タップ抽出回路232に対するのと同様の制御信号を供給するようになっており、従って、クラスタップ抽出回路233は、ズーム情報が表すズーム倍率が小さいほど、注目画素に対応する位置からより近い位置にある低倍率画素を用いてクラスタップを構成する(ズーム倍率が大きいほど、注目画素に対応する位置からより遠い位置にある低倍率画素を用いてクラスタップを構成する)。
【0441】
なお、ここでは、説明を簡単にするために、例えば、予測タップ抽出回路232で得られる予測タップと、クラスタップ抽出回路233で得られるクラスタップとは、同一のタップ構造を有するものとする。但し、勿論、予測タップとクラスタップとは、独立(別)のタップ構造を有するものとすることが可能である。
【0442】
クラスタップ抽出回路233において得られる、注目画素についてのクラスタップは、クラス分類回路234に供給される。クラス分類回路234は、クラスタップ抽出回路233からのクラスタップに基づき、注目画素をクラス分類し、その結果得られるクラスに対応するクラスコードを出力する。
【0443】
ここで、クラス分類を行う方法としては、例えば、ADRC(Adaptive Dynamic Range Coding)等を採用することができる。
【0444】
ADRCを用いる方法では、クラスタップを構成する画素の画素値が、ADRC処理され、その結果得られるADRCコードにしたがって、注目画素のクラスが決定される。
【0445】
なお、KビットADRCにおいては、例えば、クラスタップを構成する画素値の最大値MAXと最小値MINが検出され、DR=MAX-MINを、集合の局所的なダイナミックレンジとし、このダイナミックレンジDRに基づいて、クラスタップを構成する画素がKビットに再量子化される。即ち、クラスタップを構成する各画素の画素値から、最小値MINが減算され、その減算値がDR/2Kで除算(量子化)される。そして、以上のようにして得られる、クラスタップを構成するKビットの各画素の画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。従って、クラスタップが、例えば、1ビットADRC処理された場合には、そのクラスタップを構成する各画素の画素値は、最小値MINが減算された後に、最大値MAXと最小値MINとの平均値で除算され、これにより、各画素の画素値が1ビットとされる(2値化される)。そして、その1ビットの画素値を所定の順番で並べたビット列が、ADRCコードとして出力される。
【0446】
なお、クラス分類回路234には、例えば、クラスタップを構成する画素のレベル分布(画素値分布)のパターンを、そのままクラスコードとして出力させることも可能であるが、この場合、クラスタップが、N個の画素で構成され、各画素に、Kビットが割り当てられているとすると、クラス分類回路234が出力するクラスコードの場合の数は、(2NK通りとなり、画素のビット数Kに指数的に比例した膨大な数となる。
【0447】
従って、クラス分類回路234においては、クラスタップの情報量を、上述のADRC処理や、あるいはベクトル量子化等によって圧縮してから、クラス分類を行うのが好ましい。
【0448】
また、ここでは、低倍率画素だけを用いてクラス分類を行うようにしが、クラス分類は、低倍率画素とともに(または、低倍率画素ではなく)、撮像情報に含まれるズーム情報や露出時間等を、クラスタップとして行うことが可能である。
【0449】
【0450】
クラス分類回路234が出力するクラスコードは、係数記憶部235に、アドレスとして与えられる。
【0451】
係数記憶部235は、学習処理が行われることにより得られるタップ係数を記憶しており、クラス分類回路234が出力するクラスコードに対応するアドレスに記憶されているタップ係数を、積和演算回路236に出力する。
【0452】
なお、係数記憶部235には、後述するように、複数セットの教師データと生徒データを用いた学習を行うことにより得られる複数セットのタップ係数が記憶されている。係数記憶部235において、複数セットのタップ係数のうち、どのセットのタップ係数を用いるかは、制御回路237からの制御信号にしたがって決定される。
【0453】
即ち、係数記憶部235は、例えば、複数バンクで構成されており、各バンクには、複数のズーム倍率の範囲ごとに学習を行うことにより得られた複数セットのタップ係数のうちの対応するセットが記憶されている。制御回路237は、撮像情報におけるズーム情報に基づいて、そのズーム情報が表すズーム倍率に対応するバンクを指示する制御信号を生成し、係数記憶部235に供給する。係数記憶部235は、制御回路237からの制御信号にしたがってバンク切り換えを行うことにより、使用するバンクを選択し、その選択したバンクに記憶されているタップ係数のセットの中から、クラス分類回路234より供給されるクラスコードに対応するものを、積和演算回路236に出力する。
【0454】
積和演算回路236は、予測タップ抽出回路232が出力する予測タップと、係数記憶部235が出力するタップ係数とを取得し、その予測タップとタップ係数とを用いて、式(20)に示した線形予測演算(積和演算)を行い、その演算結果を、注目画素となっている固定倍率画素の画素値として出力する。
【0455】
次に、図40は、図39の係数記憶部235に記憶させるタップ係数の学習処理を行う学習装置の一実施の形態の構成例を示している。
【0456】
教師データメモリ242には、学習に用いられる学習用データが供給される。ここで、学習用データとしては、固定倍率の画像データ(以下、適宜、固定倍率画像データという)が用いられる。
【0457】
教師データメモリ242は、そこに供給される、学習用データとしての固定倍率画像データを、学習の教師となる教師データとして記憶する。そして、生徒データ生成回路243は、制御回路251から供給される制御信号にしたがい、教師データメモリ242に記憶された教師データから、学習の生徒となる生徒データを生成する。
【0458】
即ち、制御回路251には、複数のズーム倍率の範囲が設定されており、制御回路251は、その複数のズーム倍率の範囲のうちの、ある範囲を、注目範囲として選択する。そして、制御回路251は、その注目範囲のズーム倍率の代表値(例えば、注目範囲内のズーム倍率の中心値)を決定し、そのズーム倍率の代表値に基づいて、制御信号を生成して、生徒データ生成回路243、予測タップ抽出回路245、およびクラスタップ抽出回路246に供給する。
【0459】
具体的には、制御回路251は、教師データメモリ242に記憶された教師データとしての固定倍率画像データを、代表値のズーム倍率の画像データとするための間引き率を計算し、その間引き率で、教師データを間引くことを指示する制御信号を、生徒データ生成回路243に供給する。
【0460】
生徒データ生成回路243は、上述のような制御信号にしたがい、教師データメモリ242に記憶された教師データを間引き、これにより、代表値のズーム倍率の画像データを、生徒データとして生成する。この生徒データは、生徒データ生成回路243から生徒データメモリ244に供給されて記憶される。
【0461】
教師データメモリ242に記憶された教師データについて、生徒データが求められ、生徒データメモリ244に記憶されると、予測タップ抽出回路245は、教師データメモリ242に記憶された教師データを、順次、注目画素とし、さらに、その注目画素を予測するのに用いる生徒データを、生徒データメモリ244から抽出し、予測タップとする。
【0462】
ここで、制御回路251は、代表値のズーム倍率に基づいて、図39の制御回路237と同様の制御信号を生成し、予測タップ抽出回路245に供給するようになっている。そして、予測タップ抽出回路245は、制御回路251から供給される制御信号にしたがい、図39の予測タップ抽出回路232における場合と同一の予測タップを構成する。
【0463】
以上のようにして、予測タップ抽出回路245で得られた予測タップは、正規方程式加算回路248に供給される。
【0464】
一方、クラスタップ抽出回路246は、注目画素のクラス分類に用いる生徒データを、生徒データメモリ244から抽出し、クラスタップとして、クラス分類回路247に供給する。
【0465】
ここで、制御回路251は、代表値のズーム倍率に基づいて、図39の制御回路237と同様の制御信号を生成し、クラスタップ抽出回路246に供給するようになっている。そして、クラスタップ抽出回路246は、制御回路251から供給される制御信号にしたがい、図39のクラスタップ抽出回路233における場合と同一のクラスタップを構成する。
【0466】
クラス分類回路247は、クラスタップ抽出回路246から、注目画素についてのクラスタップが供給されると、そのクラスタップを用い、図39のクラス分類回路234と同一のクラス分類を行い、注目画素のクラスを表すクラスコードを、正規方程式加算回路248に供給する。
【0467】
正規方程式加算回路248は、教師データメモリ242から、注目画素となっている教師データを読み出し、予測タップ抽出回路245からの予測タップを構成する生徒データ、および注目画素としての教師データを対象とした足し込みを、クラス分類回路247から供給されるクラスごとに行う。
【0468】
即ち、正規方程式加算回路248は、クラス分類回路247から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒データ)を用い、式(27)の行列Aにおける各コンポーネントとなっている、生徒データどうしの乗算(xinim)と、サメーション(Σ)に相当する演算を行う。
【0469】
さらに、正規方程式加算回路248は、やはり、クラス分類回路247から供給されるクラスコードに対応するクラスごとに、予測タップ(生徒データ)および注目画素(教師データ)を用い、式(27)のベクトルvにおける各コンポーネントとなっている、生徒データと教師データの乗算(xini)と、サメーション(Σ)に相当する演算を行う。
【0470】
正規方程式加算回路248は、以上の足し込みを、教師データメモリ242に記憶された教師データすべてを注目画素として行い、これにより、各クラスについて、式(27)に示した正規方程式をたてる。
【0471】
その後、タップ係数決定回路249は、正規方程式加算回路248においてクラスごとに生成された正規方程式を解くことにより、クラスごとに、タップ係数を求め、係数メモリ250の、各クラスに対応するアドレスに供給する。これにより、係数メモリ250では、タップ係数決定回路249から供給されるクラスごとのタップ係数が記憶される。
【0472】
なお、学習用データとして用意する画像データによっては、正規方程式加算回路248において、タップ係数を求めるのに必要な数の正規方程式が得られないクラスが生じる場合があり得るが、タップ係数決定回路249は、そのようなクラスについては、例えば、デフォルトのタップ係数を出力する。
【0473】
以上のようにして、注目範囲のズーム倍率について、タップ係数のセットが求められると、制御回路251は、注目範囲を、他のズーム倍率の範囲に変更し、図40の学習装置では、以下、同様の処理が繰り返される。これにより、制御回路251に設定されている複数のズーム倍率の範囲それぞれに対応するタップ係数のセットが求められる。
【0474】
次に、図41は、図26の座標演算部125の構成例を示している。
【0475】
座標演算部125は、検索部261および撮像ポイント算出部262から構成されており、制御部118(図26)からの要求に応じて、所望の被写体を撮像する位置(座標)(例えば、緯度と経度など)としての撮像ポイントを計算する。
【0476】
即ち、検索部261には、被写体情報が供給されるようになっている。この被写体情報は、例えば、操作部115が、ユーザによって操作されることにより入力され、制御部118を介して、検索部261に供給される。ここで、被写体情報は、所望の被写体を特定するための情報で、被写体の名前(例えば、「東京タワー」や「国会議事堂」など)や、住所などを用いることができる。
【0477】
検索部261は、被写体情報を受信すると、地図データベース124に記憶された地図データを参照し、その被写体情報によって特定される被写体の位置(座標)(例えば、緯度と経度など)を検索する。そして、検索部261は、被写体の位置(以下、適宜、被写体ポイントという)を、撮像ポイント算出部262に供給する。
【0478】
ここで、図25で説明したように、SHARN移動体システムにおいては、第1乃至第3の3つの機能が実現される。この第1乃至第3の機能のうち、第1の機能については、撮像ポイントを決定する必要がなく、撮像ポイントを決定する必要があるのは、第2および第3の機能を実現する場合だけである。
【0479】
第2の機能を実現する場合、即ち、所望の被写体を、所望の視点方向vから見た画像を得る場合には、次のようにして、撮像ポイントが求められる。
【0480】
即ち、この場合、所望の被写体について、所望の視点方向vを表す視点情報が、ユーザが操作部115を操作することによって入力される。
【0481】
この視点情報は、制御部118を介して、撮像ポイント算出部262に供給される。
【0482】
撮像ポイント算出部262は、第2の機能を実現する場合、検索部261からの被写体ポイントの位置にある被写体を、視点情報が表す視点方向vから見た画像を撮像するのに適した位置としての撮像ポイントを算出する。
【0483】
即ち、撮像ポイント算出部262は、地図データベース124に記憶された地図データを参照することにより、例えば、図42に示すように、被写体を撮像するのに適した場所の範囲を、被写体ポイントから距離Rp2以上離れており、かつ、距離Rp1より近い、いわゆるドーナツ状の範囲(以下、適宜、適切範囲という)に設定する。
【0484】
さらに、撮像ポイント算出部262は、被写体ポイントに対して、視点情報が表す視点方向vから向かう線分と、移動体101kが移動することのできる道路等との交点のうち、適切範囲内にあるものすべてを、撮像ポイントの候補として検出する。
【0485】
そして、撮像ポイント算出部262は、撮像ポイントの候補から、例えば、任意の1つを選択し、その選択した撮像ポイントを、制御部118に供給する。
【0486】
なお、ここでは、説明を簡単にするため、第2の機能を実現するにあたって、視点方向v上の1つの位置だけが撮像ポイントとされるが、視点方向v上の複数の位置を撮像ポイントとすることも可能である。また、複数の撮像ポイントの候補から、1つの撮像ポイントを選択する方法としては、例えば、被写体ポイントから最も近いまたは遠いものを選択する方法等がある。
【0487】
第3の機能を実現する場合、即ち、所望の被写体を、視点を変えながら見渡した視点可変画像を得る場合には、次のようにして、撮像ポイントが求められる。
【0488】
即ち、撮像ポイント算出部262は、第3の機能を実現する場合、地図データベース124に記憶された地図データを参照することにより、例えば、図43(A)に示すように、検索部261から供給される被写体ポイントを中心とし、被写体を撮像するのに適した距離R(例えば、図42における距離Rp1とRp2の平均値など)を半径とする円を求め、その円(円周)と、移動体101kが移動することのできる道路等との交点を求める。そして、撮像ポイント算出部262は、その交点のすべてを撮像ポイントとして求め、制御部118に供給する。
【0489】
ここで、被写体を、視点を変えながら見渡した視点可変画像を得るには、理想的には、その被写体を、その360度の各方向から、いわば万遍なく撮像した画像が必要となる。
【0490】
しかしながら、被写体を、その360度の各方向から見ることのできるすべての位置が、被写体ポイントを中心とした、距離Rを半径とする円と、移動体101kが移動することのできる道路等との交点として、必ずしも得られるとは限らない。
【0491】
即ち、被写体ポイントを中心とした、距離Rを半径とする円と、移動体101kが移動することのできる道路等との交点を、撮像ポイントとするのでは、被写体ポイントから同一距離にある撮像ポイントを得ることはできるが、道路の存在状況によっては、被写体を、特定の方向から見ることのできる撮像ポイントが得られない場合がある。
【0492】
そこで、撮像ポイント算出部262では、第3の機能を実現する場合、例えば、図43(B)に示すようにして、撮像ポイントを求めるようにすることができる。
【0493】
即ち、この場合、撮像ポイント算出部262は、被写体ポイントを中心とする360度の方向を、幾つかの方向に等分する。ここで、図43(B)の実施の形態では、被写体ポイントの中心とする360度の方向が、45度ずつ異なる8つの方向に等分されている。
【0494】
そして、撮像ポイント算出部262は、その8つの方向それぞれが視点情報であるとして、その8つの方向それぞれについて、図42で説明した場合と同様に、撮像ポイントを求める。この場合、被写体を、45度ずつ異なる方向から見ることのできる8つの撮像ポイントが得られることになる。即ち、この場合、被写体ポイントから各撮像ポイントまでの距離は、一般に同一にならないが、被写体を、その360度の各方向から万遍なく見ることのできる撮像ポイントを得ることができる。
【0495】
次に、図44は、図26の画像データベース114に、全方位画像データが記憶されるときのフォーマットを示している。
【0496】
画像データベース114においては、例えば、1枚の全方位画像データが、図44に示すように、ヘッダ部とデータ部を設けて管理される。
【0497】
ヘッダ部には、画像ID(Identification)、属性情報、撮像情報等が配置され、データ部には、画像データ(全方位画像データ)が配置される。
【0498】
なお、画像IDは、例えば、そのデータ部に配置される全方位画像データについて固有のIDであり、制御部118が、画像データベース114に登録する。画像IDとしては、例えば、対応する全方位画像データを撮像した移動体101kの移動体ID、その撮像を行った年月日、その年月日における何枚目の撮像であるか、などの情報を組み合わせたものを用いることが可能である。ここで、移動体101kの移動体IDは、例えば、制御部118が記憶しているものとする。
【0499】
属性情報は、データ部に配置された全方位画像データの各種の属性の情報を表す。属性情報としては、例えば、全方位画像データに含まれる被写体を特定する被写体情報や、被写体ポイント、全方位画像データを撮像した撮像ポイント、その撮像ポイントから見た被写体の方向(視点方向)を表す視点情報等がある。なお、属性情報は、制御部118によって、画像データベース114に登録される。
【0500】
撮像情報は、上述したように、撮像装置111が出力する、その撮像装置111の設定に関する情報であり、スケール加工部113によって、画像データベース114に登録される。
【0501】
なお、移動体101kは、他の移動体101k'の全方位カメラ102kで撮像された画像データや、他の移動体101k'が、さらに他の移動体101k''から受信して、その画像データベース114(移動体101k'の画像データベース114)に記憶した画像データを受信することができるようになっており、移動体101kの画像データベース114には、自身の全方位カメラ102kで撮像された画像データの他、上述したようして、他の移動体101k'から受信した画像データも記憶されるようになっている。
【0502】
次に、図45は、図26の表示画像加工部119の構成例を示している。
【0503】
画像メモリ271には、制御部118から画像データが供給されるようになっており、画像メモリ271は、その画像データを記憶する。
【0504】
なお、画像メモリ271には、画像データとともに、その画像データについての、図44に示したヘッダ部に配置された情報(以下、適宜、ヘッダ情報という)も供給されるようになっており、画像メモリ271は、画像データを、そのヘッダ情報とともに記憶する。
【0505】
また、画像メモリ271は、複数枚の全方位画像データ(ヘッダ情報も含む)を記憶することのできる記憶容量を有している。
【0506】
スケール加工部272は、例えば、図26のスケール加工部113と同様に構成されており、制御部118からの制御にしたがい、画像メモリ271に記憶された画像データを、拡大または縮小する。
【0507】
即ち、例えば、ユーザが操作部115を操作することによって、画像の拡大または縮小を指示した場合には、制御部118は、その指示にしたがって、スケール加工部272を制御することにより、画像メモリ271に記憶された画像データを拡大または縮小する。
【0508】
また、スケール加工部272は、画像メモリ271に複数の画像データが記憶された場合に、必要に応じて、その複数の画像データを、その画像データに表示されている被写体の大きさを一定にするように拡大または縮小する。
【0509】
即ち、第3の機能では、所望の被写体を、視点を変えながら見渡した視点可変画像を生成するため、画像メモリ271には、図43で説明したような、同一の被写体を、複数の方向から撮像した複数の画像データが、画像メモリ271に記憶される。
【0510】
この同一の被写体を、複数の方向から撮像した複数の画像データ(以下、適宜、異方向画像データという)が、図43(A)に示したように、被写体ポイントから同一の距離だけ離れた撮像ポイントで撮像されたものである場合には、各撮像ポイントにおける撮像時のズーム倍率が異なっていても、スケール加工部113において、同一のズーム倍率(固定倍率)の画像データに変換されるから、各異方向画像データに写っている被写体の大きさは、同一になる。
【0511】
しかしながら、複数の異方向画像データが、図43(B)に示したように、被写体ポイントからの距離が異なる複数の撮像ポイントで撮像されたものである場合には、スケール加工部113において、その複数の異方向画像データのズーム倍率を同一に変換しても、各異方向画像データに写っている被写体の大きさは同一にならない。即ち、各異方向画像データに写っている被写体の大きさは、その異方向画像データを撮像した撮像ポイントが、被写体ポイントから、どれだけ離れているかによって異なるものとなる。
【0512】
そこで、スケール加工部272は、画像メモリ271に、複数の異方向画像データが記憶された場合には、その複数の異方向画像データに写っている同一の被写体の大きさ(スケール)をあわせるために、画像メモリ271に記憶された異方向画像データを拡大または縮小する。
【0513】
なお、この場合、各異方向画像データの拡大率または縮小率は、そのヘッダ情報に含まれる撮像ポイントと被写体ポイントとの間の距離に基づき、画像メモリ271に記憶された複数の異方向画像データに写っている同一の被写体の大きさ(スケール)を同一にするように決定される。
【0514】
スケール加工部272は、以上のようにして、画像メモリ271に記憶された画像データを拡大または縮小すると、その拡大または縮小後の画像データを、例えば、画像メモリ271の、元の画像データに上書きする形で書き込む。
【0515】
対応画素演算部273は、制御部118からの制御にしたがい、第3の機能を実現する場合において、画像メモリ271に記憶された複数枚の異方向画像データにおける、対応する画素どうしを検出する。
【0516】
即ち、対応画素演算部273は、画像メモリ271に記憶された複数の異方向画像データそれぞれのヘッダ情報の中の視点情報を参照することにより、視点情報が表す視点方向が、ある方向を基準方向として、時計回りまたは反時計回り方向になる順番(以下、適宜、視点方向順という)を認識する。さらに、対応画素演算部273は、視点方向順で、i+1番目の異方向画像データに写っている被写体部分の各画素が、i番目の異方向画像データに写っている被写体部分のどの画素に対応するかを検出する。
【0517】
なお、この対応する画素の検出は、例えば、いわゆるブロックマッチングなどを用いて行うことが可能である。
【0518】
対応画素演算部273は、画像メモリ271に記憶された複数の異方向画像データすべてについて、上述したような画素の対応関係を検出すると、その画素の対応関係を、画像生成部274に供給する。
【0519】
画像生成部274は、第1の機能または第2の機能を実現する場合には、画像メモリ271に記憶された画像データを読み出し、表示メモリ276に供給する。
【0520】
また、画像生成部274は、第3の機能を実現する場合には、画像メモリ271に記憶された複数の異方向画像データを用いて、視点を時計回りまたは反時計回り方向に変えながら、被写体を見渡した視点可変画像データを生成する。
【0521】
即ち、画像生成部274は、視点方向順の異方向画像データを、対応画素演算部273から供給される画素の対応関係に基づいて、対応する画素どうしを対応させるように空間方向の位置あわせをしながら、動画のフレームとして並べることにより、視点を時計回りまたは反時計回り方向に変えながら被写体を撮像したならば得られるであろう動画データとしての視点可変画像データを生成する。
【0522】
なお、画像メモリ271に記憶された複数の異方向画像データを、視点方向順に、順次、第1フレーム、第2フレーム、・・・として配置して、動画データとしての視点可変画像データを生成した場合には、異方向画像データの枚数や、撮像ポイントの粗密によって、視点可変画像データが、滑らかな動画にならないことがある。
【0523】
そこで、画像生成部274は、画像メモリ271に記憶された複数の異方向画像データを、その視点方向に対応した順番のフレームに配置するようになっている。
【0524】
即ち、例えば、フレームレートを30フレーム/秒として、3秒間で、被写体の周囲を1周する(360度回転する)ような視点可変画像データを生成するとした場合、視点可変画像データは、90フレーム(=30フレーム/秒×3秒)で構成する必要があり、さらに、その視点可変画像データの隣接フレーム間における視点方向の変化は、4度(=360度/90フレーム)とする必要がある。
【0525】
従って、この場合、画像生成部274は、視点方向が4×(i−1)度に最も近い異方向画像データを、第iフレームに配置する。
【0526】
但し、この場合、異方向画像データが配置されないフレームが生ずることがある。そこで、画像生成部274は、異方向画像データが配置されないフレーム(以下、適宜、未配置フレームという)については、補間フレーム生成部275を制御することにより、異方向画像データが配置されるフレーム(以下、適宜、既配置フレームという)を用いて補間を行わせ、未配置フレームに配置する画像データを生成させる。即ち、補間フレーム生成部275は、例えば、未配置フレームから最も近い位置にある、時間的に先行する既配置フレームと、時間的に後行する既配置フレームとを用いて補間を行い、未配置フレームの画像データを生成する。なお、この未配置フレームの補間は、その未配置フレームから、その補間に用いられる、時間的に先行または後行する既配置フレームそれぞれまでの時間的距離を考慮して行われる。
【0527】
ここで、補間フレーム生成部275では、上述したように、既配置フレームの画像データを用いて、単なる補間を行うことにより、未配置フレームの画像データを生成する他、例えば、既配置フレームの画像データを用いて、クラス分類適応処理を行うことにより、未配置フレームの画像データを生成するようにすることが可能である。
【0528】
画像生成部274は、上述のようにして必要な補間を行い、動画データとしての視点可変画像データを最終的に完成すると、その視点可変画像データを、表示メモリ276に供給して記憶させる。
【0529】
表示メモリ276に記憶された画像データは、表示部122(図26)に供給されて表示される。
【0530】
次に、図26の移動体101kが行う処理について説明する。
【0531】
なお、移動体101kが行う処理は、その移動体101kが、いわば主の移動体(以下、主移動体という)となり、他の移動体101k'が、いわば従の移動体(以下、従移動体という)となって、その従移動体としての移動体101k'に対して各種の要求を行う処理と、他の移動体101k'が主移動体となった場合に、その主移動体の要求に応じて行う処理とに、大きく分けることができる。
【0532】
そこで、以下では、移動体101kを主移動体とするとともに、移動体101k'を従移動体として、主移動体としての移動体101kが行う処理(主移動体の処理)と、従移動体としての移動体101k'が行う処理(従移動体の処理)について説明する。
【0533】
まず、図46のフローチャートを参照して、主移動体の処理について説明する。
【0534】
まず最初に、ステップS201において、制御部118は、ユーザUkが操作部115を操作することにより、何らかの入力を行ったかどうかを判定する。ステップS201において、何らの入力も行われていないと判定された場合、ステップS201に戻る。
【0535】
また、ステップS201において、ユーザUkによって、何らかの入力が行われたと判定された場合、ステップS202に進み、制御部118は、そのユーザUkからの入力が、何を要求するものであるかを判定する。
【0536】
ステップS202において、ユーザUkからの入力が、全方位画像データを要求するものであると判定された場合、ステップS203に進み、後述する全方位画像取得処理が行われ、ステップS201に戻る。
【0537】
また、ステップS202において、ユーザUkからの入力が、所望の被写体を、所望の視点方向から撮像した画像データ(以下、適宜、視点指定画像データという)を要求するものであると判定された場合、ステップS204に進み、後述する視点指定画像取得処理が行われ、ステップS201に戻る。
【0538】
さらに、ステップS202において、ユーザUkからの入力が、視点可変画像データを要求するものであると判定された場合、ステップS205に進み、後述する視点可変画像取得処理が行われ、ステップS201に戻る。
【0539】
なお、上述の第1乃至第3の機能は、ステップS203における全方位画像取得処理、ステップS204における視点指定画像取得処理、ステップS205における視点可変画像取得処理に、それぞれ対応する。
【0540】
次に、図47のフローチャートを参照して、図46のステップS203における全方位画像取得処理について説明する。
【0541】
全方位画像取得処理では、まず最初に、ステップS211において、制御部118は、ユーザUkが操作部115を操作することにより、他の移動体(従移動体)を特定する移動体IDの入力があったかどうかを判定する。
【0542】
ステップS211において、ユーザUkによる移動体IDの入力がなかったと判定された場合、ステップS212に進み、制御部118は、全方位カメラ102kの撮像装置111に対して、撮像の要求を行う。撮像装置111は、制御部118からの要求に応じて、全方位画像データを撮像し、A/D変換部112を介して、スケール加工部113に供給する。
【0543】
スケール加工部113は、全方位カメラ102kから、全方位画像データが供給されると、ステップS213において、その全方位画像データを、固定倍率の全方位画像データに変換し(スケール加工し)、ステップS214に進み、画像データベース114に供給して登録する。
【0544】
その後、ステップS215に進み、制御部118は、直前のステップS214で画像データベース114に登録された全方位画像データを読み出し、画像変換部127に供給して、その全方位画像データの歪みを除去する画像変換を行わせる。
【0545】
そして、ステップS216に進み、制御部118は、画像変換後(歪み除去後)の全方位画像データを、表示画像加工部119に供給し、表示部122に表示させる画像データ(以下、適宜、表示データという)を生成させる。
【0546】
即ち、この場合、表示画像加工部119(図45)では、画像メモリ271において、制御部118からの全方位画像データが記憶される。この画像メモリ271に記憶された全方位画像データは、必要に応じて、スケール加工部272において、そのスケールが調整され、画像生成部274を介して、表示メモリ276に供給される。
【0547】
表示メモリ276は、画像生成部274を介して供給される全方位画像データを、表示データとして記憶し、表示部122に供給する。これにより、ステップS216では、表示部122において、全方位画像データが表示され、全方位画像取得処理を終了する。
【0548】
従って、この場合、表示部122では、主移動体が、現在地で撮像した全方位画像データ(静止画)が表示される。
【0549】
一方、ステップS211において、ユーザUkによる移動体IDの入力があったと判定された場合、ステップS217に進み、制御部118は、送信部116を制御することにより、画像データを要求するリクエスト信号を、それに、ユーザUkが入力した移動体IDを含めて送信させる。
【0550】
この場合、後述するように、リクエスト信号に含まれる移動体IDによって特定される移動体(従移動体)は、現在地における全方位画像データを撮像して、主移動体である移動体101kに送信してくるので、ステップS218において、受信部117が、その全方位画像データが送信されてくるのを待って受信する。なお、従移動体は、全方位画像データを、図44に示した画像データベース114の記憶フォーマットと同様のフォーマットで送信してくるようになっている。
【0551】
その後、ステップS214に進み、受信部117で受信された全方位画像データは、画像データベース114に供給されて登録される。そして、以後、ステップS215,S216において、上述した場合と同様の処理が行われ、全方位画像取得処理を終了する。
【0552】
従って、この場合、表示部122では、ユーザUkが入力した移動体IDによって特定される従移動体が、現在地で撮像した全方位画像データ(静止画)が表示される。
【0553】
次に、図48のフローチャートを参照して、図46のステップS204における視点指定画像取得処理について説明する。
【0554】
まず最初に、ステップS211において、制御部118は、表示部122を制御することにより、被写体情報と視点情報の入力を要求するメッセージを表示させ、ステップS222に進み、制御部118は、ユーザUkが操作部115を操作することにより、被写体情報と視点情報を入力したかどうかを判定する。
【0555】
ステップS222において、被写体情報および視点情報の入力が行われていないと判定された場合、ステップS211に戻り、再度、ユーザに対して、被写体情報および視点情報の入力が要求される。
【0556】
また、ステップS222において、被写体情報および視点情報の入力があったと判定された場合、ステップS223に進み、制御部118は、その被写体情報および視点情報を、座標演算部125に供給し、撮像ポイントを計算させる。即ち、この場合、座標演算部125は、図42で説明したようにして、1つの撮像ポイントを求め、制御部118に供給する。
【0557】
制御部118は、座標演算部125からの撮像ポイントを、記憶部121に供給して記憶させ、ステップS224に進み、画像データベース114を参照することにより、ステップS223で得られた撮像ポイントから、ユーザUkが入力した被写体情報によって特定される被写体が写った全方位画像データが、既に登録されているかどうかを判定する。なお、この判定は、画像データベース114におけるヘッダ部(図44)の情報(ヘッダ情報)を参照することによって行うことができる。
【0558】
ステップS224において、ステップS223で得られた撮像ポイントから、ユーザUkが入力した被写体情報によって特定される被写体が写った全方位画像データが、画像データベース114に、既に登録されていると判定された場合、即ち、ユーザUkが入力した視点情報が表す視点方向から、同じくユーザUkが入力した被写体情報によって特定される被写体を見た場合の全方位画像データを、過去に、自身で撮像したか、または、他の移動体から受信したことがあり、その全方位画像データが、画像データベース114に既に登録されている場合、ステップS225に進み、制御部118は、その全方位画像データを、画像データベース114から読み出し、ステップS232に進む。
【0559】
また、ステップS224において、ステップS223で得られた撮像ポイントから、ユーザUkが入力した被写体情報によって特定される被写体が写った全方位画像データが、画像データベース114に登録されていないと判定された場合、ステップS226に進み、比較部120は、現在地が、記憶部121に記憶された撮像ポイントと一致するかどうかを判定する。
【0560】
即ち、ステップS226では、比較部120において、位置検出部123で検出されている現在地が、ステップS223で記憶部121に記憶された撮像ポイントと一致するかどうかが判定される。
【0561】
ステップS226において、現在地が、記憶部121に記憶された撮像ポイントと一致すると判定された場合、即ち、主移動体自身が、撮像ポイントに位置している場合、ステップS227に進み、制御部118は、全方位カメラ102kの撮像装置111に対して、撮像の要求を行う。撮像装置111は、制御部118からの要求に応じて、全方位画像データを撮像し、A/D変換部112を介して、スケール加工部113に供給する。
【0562】
スケール加工部113は、全方位画像データが供給されると、ステップS228において、その全方位画像データを、固定倍率の全方位画像データに変換し(スケール加工し)、ステップS229に進み、画像データベース114に供給して登録する。そして、制御部118は、ステップS229で画像データベース114に登録された全方位画像データを読み出し、ステップS232に進む。
【0563】
一方、ステップS226において、現在地が、記憶部121に記憶された撮像ポイントと一致しないと判定された場合、ステップS230に進み、制御部118は、送信部116を制御することにより、画像データを要求するリクエスト信号を、それに、ステップS233で求められた撮像ポイントを含めて送信させる。
【0564】
この場合、後述するように、リクエスト信号に含まれる撮像ポイントを現在地とする移動体(従移動体)は、現在地(従って、撮像ポイント)における全方位画像データを撮像等して、主移動体である移動体101kに送信してくるので、ステップS231において、受信部117が、その全方位画像データが送信されてくるのを待って受信する。
【0565】
なお、この場合、複数の従移動体それぞれにおいて、後述する図50の従移動体の処理が行われることにより、リクエスト信号に含まれる撮像ポイントから撮像した同一の全方位画像データが送信されてくることが考えられるが、このように、同一の全方位画像データが、複数の従移動体から送信されてきた場合は、受信部117は、例えば、その複数の同一の全方位画像データのうちの1つを選択するようになっている。後述する図49のステップS250においても同様である。
【0566】
その後、ステップS229に進み、受信部117で受信された全方位画像データは、画像データベース114に供給されて登録される。そして、制御部118は、ステップS229で画像データベース114に登録した全方位画像データを読み出し、ステップS232に進む。
【0567】
ステップS232では、制御部118は、画像データベース114から読み出した全方位画像データ、即ち、ユーザUkが入力した視点情報が表す視点方向から、同じくユーザUkが入力した被写体情報によって特定される被写体を見た場合の全方位画像データである視点指定画像データを、そのヘッダ情報とともに、切り出し部126に供給し、その視点指定画像データから、ユーザUkが入力した被写体情報によって特定される被写体が写っている部分を切り出させる。
【0568】
即ち、視点指定画像データである全方位画像データにおいて、被写体が写っている部分は、そのヘッダ情報の中の被写体ポイントと撮像ポイントとから認識することができる。そこで、切り出し部126は、視点指定画像データである全方位画像データから、被写体が写っている部分を含む、図32に示したような、中心点C1を中心とする円の円弧FC1およびFC2、並びに中心点C1を通る直線LC1およびLC2で囲まれる領域を切り出し、その切り出した領域の画像データ(以下、適宜、切り出し画像データという)を、制御部118に供給する。
【0569】
制御部118は、切り出し画像データを受信すると、ステップS233に進み、その切り出し画像データを、画像変換部127に供給して、その歪みを除去する画像変換を行わせる。
【0570】
そして、ステップS234に進み、制御部118は、画像変換後(歪み除去後)の切り出し画像データを、表示画像加工部119に供給し、表示データを生成させる。
【0571】
即ち、この場合、表示画像加工部119(図45)では、画像メモリ271において、制御部118からの切り出し画像データが記憶される。この画像メモリ271に記憶された切り出し画像データは、必要に応じて、スケール加工部272において、そのスケールが調整され、画像生成部274を介して、表示メモリ276に供給される。
【0572】
表示メモリ276は、画像生成部274を介して供給される切り出し画像データを、表示データとして記憶し、表示部122に供給する。これにより、ステップS234では、表示部122において、切り出し画像データが表示され、視点指定画像取得処理を終了する。
【0573】
従って、この場合、表示部122では、ユーザが所望する被写体を、ユーザが所望する視点方向から撮像した画像(静止画)が表示される。
【0574】
次に、図49のフローチャートを参照して、図46のステップS205における視点可変画像取得処理について説明する。
【0575】
まず最初に、ステップS241において、制御部118は、表示部122を制御することにより、被写体情報の入力を要求するメッセージを表示させ、ステップS242に進み、制御部118は、ユーザUkが操作部115を操作することにより、被写体情報を入力したかどうかを判定する。
【0576】
ステップS242において、被写体情報の入力が行われていないと判定された場合、ステップS241に戻り、再度、ユーザに対して、被写体情報の入力が要求される。
【0577】
また、ステップS242において、被写体情報の入力があったと判定された場合、ステップS243に進み、制御部118は、その被写体情報を、座標演算部125に供給し、撮像ポイントを計算させる。即ち、この場合、座標演算部125は、図43で説明したようにして、被写体情報によって特定される被写体を撮像する複数の撮像ポイントを求め、制御部118に供給する。
【0578】
制御部118は、座標演算部125からの複数の撮像ポイントを、記憶部121に供給して記憶させ、ステップS244に進み、画像データベース114を参照することにより、記憶部121に記憶された複数の撮像ポイントの中に、被写体情報によって特定される被写体についての撮影ポイントとして、画像データベース114に、既に登録されているものがあるかどうかを判定する。
【0579】
ステップS244において、記憶部121に記憶された撮像ポイントの中に、被写体情報によって特定される被写体についての撮影ポイントとして、画像データベース114に既に登録されているものがあると判定された場合、即ち、記憶部121に記憶された撮像ポイントから、被写体情報によって特定される被写体を撮像した全方位画像データが、画像データベース114に既に登録されている場合、ステップS245に進み、制御部118は、その全方位画像データを、画像データベース114から読み出し、ステップS246に進む。
【0580】
ステップS246では、制御部118は、画像データベース114から読み出した全方位画像データを、そのヘッダ情報とともに、切り出し部126に供給し、その全方位画像データから、ユーザUkが入力した被写体情報によって特定される被写体が写っている部分を切り出させる。
【0581】
即ち、上述したように、全方位画像データにおいて、被写体が写っている部分は、そのヘッダ情報の中の被写体ポイントと撮像ポイントとから認識することができるので、切り出し部126は、全方位画像データから、被写体が写っている部分を含む画像データを切り出し、その結果得られる切り出し画像データ(ヘッダ情報を含む)を、制御部118に供給する。
【0582】
制御部118は、このようにして、切り出し部126から供給される切り出し画像データを、その内蔵するメモリ(図示せず)に一時記憶し、ステップS247に進む。
【0583】
ステップS247では、制御部118は、記憶部121に記憶された複数の撮像ポイントのうち、ステップS245で画像データベース114から読み出した全方位画像データの撮像ポイントと一致するものを消去し、ステップS248に進む。
【0584】
即ち、これにより、記憶部121は、ユーザUkが入力した被写体情報によって特定される被写体についての全方位画像データが得られていない視点方向にある撮像ポイントだけが記憶された状態となる。
【0585】
なお、記憶部121に記憶された複数の撮像ポイントの中に、被写体情報によって特定される被写体についての撮影ポイントとして、画像データベース114に、既に登録されているものが2以上ある場合には、上述のステップS245乃至S247の処理は、その既に登録されている2以上の撮像ポイントそれぞれについて行われる。
【0586】
一方、ステップS244において、記憶部121に記憶された撮像ポイントの中に、被写体情報によって特定される被写体についての撮影ポイントとして、画像データベース114に登録されているものがないと判定された場合、即ち、記憶部121に記憶された撮像ポイントから、被写体情報によって特定される被写体を撮像した全方位画像データが、画像データベース114に登録されていない場合、ステップS248に進み、制御部118は、送信部116を制御することにより、画像データを要求するリクエスト信号を、それに、記憶部121に記憶されている撮像ポイントを含めて送信させ、ステップS249に進む。
【0587】
ステップS249では、受信部117は、ステップS248で送信したリクエスト信号に対応して、移動体(従移動体)から、そのリクエスト信号に含まれるいずれかの撮像ポイントで撮像された全方位画像データが送信されてきたかどうかを判定し、送信されてきたと判定した場合、ステップS250に進み、受信部117は、その全方位画像データを受信する。そして、受信部117は、ステップS254に進み、ステップS250で受信した全方位画像データを、画像データベース114に供給して登録し、ステップS255に進む。
【0588】
一方、ステップS249において、移動体(従移動体)から、全方位画像データが送信されてきていないと判定された場合、ステップS251に進み、比較部120は、図48のステップS226における場合と同様にして、現在地が、記憶部121に記憶されたいずれかの撮像ポイントと一致するかどうかを判定する。
【0589】
ステップS251において、現在地が、記憶部121に記憶された撮像ポイントのいずれとも一致しないと判定された場合、ステップS252乃至S256をスキップして、ステップS257に進む。
【0590】
また、ステップS251において、現在地が、記憶部121に記憶された撮像ポイントのいずれかと一致すると判定された場合、即ち、主移動体自身が、撮像ポイントに位置している場合、ステップS252に進み、制御部118は、全方位カメラ102kの撮像装置111に対して、撮像の要求を行う。撮像装置111は、制御部118からの要求に応じて、全方位画像データを撮像し、A/D変換部112を介して、スケール加工部113に供給する。
【0591】
スケール加工部113は、上述のようにして、全方位画像データが供給されると、ステップS253において、その全方位画像データを、固定倍率の全方位画像データに変換し(スケール加工し)、ステップS254に進み、画像データベース114に供給して登録し、ステップS255に進む。
【0592】
ステップS255では、制御部118が、記憶部121に記憶された撮像ポイントのうち、ステップS254で画像データベース114に記憶された全方位画像データの撮像ポイントと一致するものを消去し、ステップS256に進む。
【0593】
ステップS256では、制御部118は、ステップS254で画像データベース114に登録した全方位画像データを読み出し、ステップS246における場合と同様に、そのヘッダ情報とともに、切り出し部126に供給する。これにより、切り出し部126は、制御部118からのヘッダ情報に基づき、同じく制御部118からの全方位画像データから、ユーザUkが入力した被写体情報によって特定される被写体が写っている部分を切り出す。そして、切り出し部126は、その結果得られる切り出し画像データを、制御部118に供給し、制御部118は、切り出し部126から供給される切り出し画像データを、その内蔵するメモリに一時記憶して、ステップS257に進む。
【0594】
ステップS257では、制御部118は、記憶部121に撮像ポイントが記憶されていないか、または、ステップS248でリクエスト信号を送信してから所定の時間が経過したかどうかを判定する。ステップS257において、記憶部121に撮像ポイントが記憶されており、かつリクエスト信号を送信してから所定の時間が経過していないと判定された場合、ステップS249に戻り、以下、同様の処理が繰り返される。
【0595】
また、ステップS257において、記憶部121に撮像ポイントが記憶されていないか、またはリクエスト信号を送信してから所定の時間が経過したと判定された場合、即ち、ユーザUkが入力した被写体情報によって特定される被写体を、ステップS243で求められた複数の撮像ポイントすべてから撮像した全方位画像データが得られるか、または、そのような全方位画像データが、リクエスト信号を送信してから所定の時間が経過しても得られなかった場合、ステップS258に進み、制御部118は、記憶部121の記憶内容をクリアし、ステップS259に進む。
【0596】
ステップS259では、制御部118は、その内蔵するメモリに記憶されている切り出し画像データすべてを、画像変換部127に供給し、その歪みを除去する画像変換を行わせる。
【0597】
そして、ステップS260に進み、制御部118は、画像変換後(歪み除去後)の切り出し画像データを、表示画像加工部119に供給し、表示データを生成させる。
【0598】
即ち、この場合、表示画像加工部119(図45)では、画像メモリ271において、制御部118から供給される切り出し画像データが、上述の異方向画像データとして記憶される。この画像メモリ271に記憶された異方向画像データは、必要に応じて、スケール加工部272において、そのスケールが調整される。
【0599】
そして、対応画素演算部273は、画像メモリ271に記憶された異方向画像データについて、上述したようにして、画素の対応関係を検出し、画像生成部274に供給する。
【0600】
画像生成部274は、画像メモリ271に記憶された異方向画像データを用い、対応画素演算部273からの画素の対応関係を参照しながら、視点可変画像データ、即ち、視点を時計回りまたは反時計回り方向に変えながら、ユーザUkが入力した被写体情報によって特定される被写体を撮像した画像データを生成し、表示データとして、表示メモリ276に供給される。
【0601】
表示メモリ276は、画像生成部274を介して供給される視点可変画像データを、表示データとして記憶し、表示部122に供給する。これにより、ステップS260では、表示部122において、動画データである視点可変画像データが表示され、視点可変画像取得処理を終了する。
【0602】
従って、この場合、表示部122では、ユーザが所望する被写体を、その周囲を一周しながら撮像したような動画が表示される。
【0603】
なお、表示画像加工部119(図45)の画像生成部274において、画像メモリ271に記憶された異方向画像データを用いて、視点可変画像データが生成される場合には、図45で説明したように、視点可変画像としての動画を構成するフレームのうち、画像メモリ271に記憶された異方向画像データが配置されないもの(未配置フレーム)については、その未配置フレームに配置する画像データが、補間フレーム生成部275において生成される。
【0604】
従って、視点可変画像は、未配置フレームが少ないほど動きが滑らかなもの(時間方向の解像度が高いもの)となるが、このことは、異方向画像データが多数集まるほど、視点可変画像の画質が向上することを意味する。
【0605】
次に、図50を参照して、従移動体の処理について説明する。
【0606】
従移動体の処理では、ステップS271において、受信部117が、他の移動体である主移動体からリクエスト信号が送信されてきたかどうかを判定し、送信されてきていないと判定した場合、ステップS271に戻る。
【0607】
そして、ステップS271において、リクエスト信号が送信されてきたと判定された場合、受信部117は、そのリクエスト信号を受信して、制御部118に供給し、ステップS272に進む。
【0608】
ステップS272では、制御部118は、受信部117からのリクエスト信号に、移動体IDが含まれるかどうかを判定し、含まれると判定した場合、ステップS273に進む。
【0609】
ステップS273では、制御部118は、リクエスト信号に含まれる移動体IDが、自身の移動体IDと一致するかどうかを判定する。ここで、制御部118は、自身の移動体IDを、例えば、その内蔵するメモリに記憶している。
【0610】
ステップS273において、リクエスト信号に含まれる移動体IDが、自身の移動体IDと一致しないと判定された場合、ステップS271に戻り、以下、同様の処理を繰り返す。
【0611】
また、ステップS273において、リクエスト信号に含まれる移動体IDが、自身の移動体IDと一致すると判定された場合、ステップS274に進み、制御部118は、撮像装置111に対して、撮像の要求を行う。撮像装置111は、制御部118からの要求に応じて、全方位画像データを撮像し、A/D変換部112を介して、スケール加工部113に供給する。
【0612】
スケール加工部113は、全方位画像データが供給されると、ステップS275において、その全方位画像データを、固定倍率の全方位画像データに変換し(スケール加工し)、ステップS276に進み、画像データベース114に供給して登録し、ステップS277に進む。
【0613】
ステップS277では、制御部118は、ステップS276で画像データベース114に登録した全方位画像データを、ヘッダ情報とともに読み出し、送信部116に供給して、リクエスト信号を送信してきた主移動体に送信させる。そして、ステップS271に戻り、以下、同様の処理が繰り返される。なお、リクエスト信号には、そのリクエスト信号を送信してきた移動体の移動体IDが含められており、ステップS277(後述するステップS282およびS288においても同様)では、その移動体IDを宛先として、全方位画像データが送信される。
【0614】
一方、ステップS272において、リクエスト信号に、移動体IDが含まれていないと判定された場合、ステップS278に進み、制御部118は、リクエスト信号に、1以上の撮像ポイントが含まれているかどうかを判定する。ステップS278において、リクエスト信号に、撮像ポイントが含まれていないと判定された場合、ステップS271に戻り、以下、同様の処理を繰り返す。
【0615】
一方、ステップS278において、リクエスト信号に、1以上の撮像ポイントが含まれていると判定された場合、ステップS279に進み、制御部118は、リクエスト信号に含まれている1以上の撮像ポイントを、記憶部121に供給して記憶させる。
【0616】
ここで、主移動体において、図48の視点指定画像取得処理が行われる場合には、リクエスト信号には、1つの撮影ポイントだけが含まれ、図49の視点可変画像取得処理が行われる場合には、リクエスト信号には、1以上の撮影ポイントが含まれる。
【0617】
その後、ステップS280に進み、制御部118は、画像データベース114を参照することにより、記憶部121に記憶された1以上の撮像ポイントの中に、画像データベース114に記憶されている全方位画像データの撮影ポイントと一致するものがあるかどうかを判定する。
【0618】
ステップS280において、記憶部121に記憶された1以上の撮像ポイントの中に、画像データベース114に記憶されている全方位画像データの撮影ポイントと一致するものがあると判定された場合、即ち、記憶部121に記憶された撮像ポイントから撮像した全方位画像データが、画像データベース114に既に登録されている場合、ステップS282に進み、制御部118は、その全方位画像データを、画像データベース114から読み出し、ステップS282に進む。
【0619】
ステップS282では、制御部118は、画像データベース114から読み出した全方位画像データを、そのヘッダ情報とともに、送信部116に供給し、リクエスト信号を送信してきた主移動体に送信させる。そして、ステップS283に進み、制御部118は、記憶部121に記憶された1以上の撮像ポイントのうち、ステップS281で画像データベース114から読み出した全方位画像データの撮像ポイントと一致するものを消去し、ステップS284に進む。
【0620】
なお、記憶部121に記憶された1以上の撮像ポイントの中に、画像データベース114に記憶されている全方位画像データの撮影ポイントと一致するものが複数ある場合には、上述のステップS281乃至S283の処理は、その複数の撮像ポイントそれぞれについて行われる。
【0621】
一方、ステップS280において、記憶部121に記憶された1以上の撮像ポイントの中に、画像データベース114に記憶されている全方位画像データの撮影ポイントと一致するものがないと判定された場合、即ち、主移動体が要求する全方位画像データが、従移動体の画像データベース114には登録されていない場合、ステップS284に進み、比較部120が、図48のステップS226にで説明したようにして、現在地が、記憶部121に記憶されたいずれかの撮像ポイントと一致するかどうかを判定する。
【0622】
ステップS284において、現在地が、記憶部121に記憶された撮像ポイントのいずれかと一致すると判定された場合、即ち、従移動体が、リクエスト信号に含まれている撮像ポイントのうちのいずれかに位置している場合、ステップS285に進み、制御部118は、撮像装置111に対して、撮像の要求を行う。撮像装置111は、制御部118からの要求に応じて、全方位画像データを撮像し、A/D変換部112を介して、スケール加工部113に供給する。
【0623】
スケール加工部113は、全方位画像データが供給されると、ステップS286において、その全方位画像データを、固定倍率の全方位画像データに変換し(スケール加工し)、ステップS287に進み、画像データベース114に供給して登録し、ステップS288に進む。
【0624】
ステップS288では、制御部118は、ステップS287で画像データベース114に登録した全方位画像データを、ヘッダ情報とともに読み出し、送信部116に供給して、リクエスト信号を送信してきた主移動体に送信させる。
【0625】
その後、ステップS289に進み、制御部118が、記憶部121に記憶された1以上の撮像ポイントのうち、ステップS287で画像データベース114に記憶された全方位画像データの撮像ポイントと一致するものを消去し、ステップS284に戻る。
【0626】
一方、ステップS284において、現在地が、記憶部121に記憶された撮像ポイントのいずれとも一致しないと判定された場合、ステップS290に進み、制御部118は、記憶部121に撮像ポイントが記憶されていないか、または、主移動体からのリクエスト信号を受信してから所定の時間が経過したかどうかを判定する。ステップS290において、記憶部121に撮像ポイントが記憶されており、かつリクエスト信号を受信してから所定の時間が経過していないと判定された場合、ステップS284に戻り、以下、同様の処理が繰り返される。
【0627】
また、ステップS290において、記憶部121に撮像ポイントが記憶されていないか、またはリクエスト信号を送信してから所定の時間が経過したと判定された場合、即ち、リクエスト信号に含まれる1以上の撮像ポイントそれぞれから撮像した全方位画像データすべてを主移動体に送信したか、または、リクエスト信号を受信してから所定の時間が経過しても、そのリクエスト信号に含まれる1以上の撮像ポイントそれぞれから撮像した全方位画像データの一部もしくは全部が得られなかった場合、ステップS291に進み、制御部118は、記憶部121の記憶内容をクリアする。そして、ステップS271に戻り、以下、同様の処理を繰り返す。
【0628】
以上のように、従移動体は、リクエスト信号に、自身の移動体IDが含まれている場合には、現在地を撮像ポイントとして、全方位画像データを撮像し、主移動体に送信する。また、従移動体は、リクエスト信号に、1以上の撮像ポイントが含まれており、その撮像ポイントの全方位画像データが画像データベース114に記憶されている場合には、その全方位画像データを、主移動体に送信し、記憶されていない場合において、自身の現在地が撮像ポイントに一致するときには、その撮像ポイントである現在地で全方位画像データを撮像し、主移動体に送信する。
【0629】
従って、主移動体は、リクエスト信号に移動体IDを含めて送信した場合には、その移動体IDの従移動体から、その従移動体が現在地において撮像した全方位画像データを得ることができる(第1の機能)。
【0630】
また、主移動体は、リクエスト信号に、1つの撮像ポイントを含めて送信した場合には、その撮像ポイントを現在地とする従移動体から、その従移動体が現在地で撮像した全方位画像データを得ることができる。あるいは、また、主移動体は、リクエスト信号に含まれる撮像ポイントの全方位画像データを有している従移動体から、その全方位画像データを得ることができる。その結果、主移動体は、所望の視点方向から、所望の被写体を見た姿が写っている全方位画像データを得ることができる(第2の機能)。
【0631】
さらに、主移動体は、リクエスト信号に、複数の撮像ポイントを含めて送信した場合には、その複数の撮像ポイントをそれぞれ現在地とする複数の従移動体から、各従移動体が現在地で撮像した全方位画像データを得ることができる。あるいは、また、主移動体は、リクエスト信号に含まれる各撮像ポイントの全方位画像データを有している各従移動体から、その全方位画像データを得ることができる。その結果、主移動体は、所望の被写体を、複数の視点方向から見た姿が映っている複数の全方位画像データを得ることができ、さらには、そのような複数の全方位画像データから、所望の被写体を、その周りから見渡したような動画である視点可変画像を得ることができる。
【0632】
即ち、移動体1011,1012,・・・,101Kそれぞれの全方位カメラ1021,1022,・・・,102Kにおいては、それ単独で、視点可変画像を得ようとすると、被写体の周りを移動し、複数の視点方向から被写体を撮像することにより、複数の全方位画像データを得る必要があるから、即座に、視点可変画像を得ることはできない。
【0633】
そこで、SHARN移動体システムでは、複数の移動体どうしが協調して(協力しあって)、複数の撮像ポイントそれぞれから撮像した全方位画像データを取得する。即ち、主移動体が、複数の撮像ポイントそれぞれから撮像した全方位画像データを、従移動体に要求し、その全方位画像データを有する従移動体、またはその全方位画像データを撮像しうる従移動体は、その全方位画像データを、主移動体に提供する。
【0634】
このように、主移動体は、必要な全方位画像データを有する従移動体、または必要な全方位画像データを撮像しうる従移動体の協力によって、必要な全方位画像データを得て、自身の全方位カメラだけでは得られなかった視点可変画像、即ち、所望の被写体が単に写っているのではなく、その周囲を移動しながら撮像したような姿が映っているという付加価値が付いた動画像を得ることができる。
【0635】
従って、主移動体においては、その全方位カメラだけでは困難であった、視点可変画像を生成(撮像)するという高機能が実現されているということができるが、これは、主移動体と、1以上の従移動体とが、図51において点線で囲むように、まるで1つの装置であるかのようになって、従移動体が、主移動体が要求する撮像ポイントの全方位画像データを提供し、主移動体が、そのようにして従移動体から提供される全方位画像データを用いて視点可変画像データを生成することにより、結果として、複数の移動体の全方位カメラそれぞれが、視点可変画像データを撮像(生成)するという処理を、互いに協調しながら分担することとなっているからである。
【0636】
これに対して、従移動体が、任意に撮像した全方位画像データを、主移動体に提供するというだけでは、従移動体が、全方位画像データを集めるという処理を、単に分担しているだけとなり、主移動体において、視点可変画像の生成に必要な画像を得られず、従って、視点可変画像を生成するという高機能を実現することはできない。
【0637】
なお、SHARN移動体システムにおいて、上述のように、複数の移動体の全方位カメラそれぞれが、視点可変画像データを撮像(生成)するという処理を、互いに協調しながら分担する場合には、視点可変画像データを、即座に得ることができるから、この点に注目すれば、いわばリアルタイムの協調分担が行われているということができる。
【0638】
一方、SHARN移動体システムでは、上述のようなリアルタイムの協調分担が行われることにより、主移動体となった移動体の画像データベース114には、所定の被写体について視点可変画像を生成するのに必要な複数の撮像ポイントから撮像された全方位画像データが蓄積される。その結果、所定の被写体について、視点可変画像の生成の要求が多い場合には、その要求回数に応じて時間解像度の高い視点可変画像が生成されるようになる。
【0639】
即ち、例えば、上述したように、フレームレートを30フレーム/秒として、3秒間で、被写体の周囲を1周するような視点可変画像を生成する場合には、理想的には、その被写体を、4度ずつ異なる視点方向から撮像した90枚の画像(異方向画像)が必要であり、この90枚の異方向画像が集まれば、フレームレートが30フレーム/秒で、3秒間の間に被写体の周囲を1周するという条件下において、最も時間解像度の高い視点可変画像を得ることができる。
【0640】
この場合、90カ所の撮像ポイントで撮像された全方位画像(90枚の異方向画像となる全方位画像)を得る必要があるが、いま、説明を簡単にするために、いずれの移動体の画像データベース114にも全方位画像データが記憶されていないと仮定すると、ある1つの移動体Aが、視点可変画像取得処理(図49)において、所定の被写体についての90カ所の撮像ポイントを含むリクエスト信号を送信しても、その90カ所のそれぞれに、他の移動体が存在するとは限らず、従って、90カ所の撮像ポイントそれぞれで撮像された全方位画像すべては、一般には、集まらない。
【0641】
しかしながら、例えば、いま、移動体Aによる視点可変画像取得処理によって、90カ所の撮像ポイントのうちの、例えば1/3の30カ所の撮像ポイントの全方位画像が集まり、その画像データベース114に登録されたとすると、その後、他の移動体Bが、視点可変画像取得処理(図49)において、所定の被写体についての90カ所の撮像ポイントを含むリクエスト信号を送信した場合には、移動体Bは、少なくとも、移動体Aの画像データベース114に記憶されている30カ所の全方位画像を得ることができる。さらに、この場合、残りの60カ所の撮像ポイントのうちのいずれかに、他の移動体が位置している可能性が高く、移動体Bは、そのような他の移動体から、残りの60カ所のうちのいずれかの撮像ポイントの全方位画像を得ることができる。
【0642】
従って、所定の被写体について、多数の移動体から、視点可変画像の生成の要求があると、その要求回数に応じて、多数の撮像ポイントの全方位画像が得られることとなり、その結果、時間解像度の高い視点可変画像が生成されるようになる。
【0643】
このように、視点可変画像の生成の要求が多い所定の被写体については、その要求回数に応じて、時間解像度の高いという付加価値が付いた視点可変画像が生成されるようになるが、これも、複数の移動体の全方位カメラそれぞれが、視点可変画像データを撮像(生成)するという処理を、互いに協調しながら分担することとなっているからである。但し、時間解像度の高いという付加価値が付いた視点可変画像が生成されることに注目すると、時間解像度が高くなるのは、所定の被写体についての視点可変画像の生成の要求が何度も行われることによるものであるから、ある程度の時間の経過が必要であり、従って、上述のリアルタイムの協調分担に対して、長期的な協調分担が行われているということができる。
【0644】
なお、上述の場合には、移動体101kにおいて、全方位カメラ102kにより撮像を行うようにしたが、移動体101kでは、通常のカメラで撮像を行うようにすることも可能である。
【0645】
また、移動体101kとしては、自動車の他、船舶や航空機等を採用することも可能である。
【0646】
さらに、上述の場合には、SHARN移動体システムにおいて、付加価値のある画像として、被写体を、その周囲を移動しながら撮像したような視点可変画像を生成するようにしたが、付加価値のある画像としては、その他、例えば、いわゆる三角測量を利用して、3次元画像を生成するようにすることも可能である。
【0647】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0648】
そこで、図52は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0649】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク2105やROM2103に予め記録しておくことができる。
【0650】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体2111に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体2111は、いわゆるパッケージソフトウエアとして提供することができる。
【0651】
なお、プログラムは、上述したようなリムーバブル記録媒体2111からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部2108で受信し、内蔵するハードディスク2105にインストールすることができる。
【0652】
コンピュータは、CPU(Central Processing Unit)2102を内蔵している。CPU2102には、バス2101を介して、入出力インタフェース2110が接続されており、CPU2102は、入出力インタフェース2110を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部2107が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)2103に格納されているプログラムを実行する。あるいは、また、CPU2102は、ハードディスク2105に格納されているプログラム、衛星若しくはネットワークから転送され、通信部2108で受信されてハードディスク2105にインストールされたプログラム、またはドライブ2109に装着されたリムーバブル記録媒体2111から読み出されてハードディスク2105にインストールされたプログラムを、RAM(Random Access Memory)2104にロードして実行する。これにより、CPU2102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU2102は、その処理結果を、必要に応じて、例えば、入出力インタフェース2110を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部2106から出力、あるいは、通信部2108から送信、さらには、ハードディスク2105に記録等させる。
【0653】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0654】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0655】
【発明の効果】
本発明の情報処理システムおよび第1の情報処理方法、並びに第1のプログラムおよび第1の記録媒体によれば、複数の作動手段または複数の検知手段が協調して処理を分担するので、情報処理システムが高機能化される。
【0656】
本発明の情報処理装置および第2の情報処理方法、並びに第2のプログラムおよび第2の記録媒体によれば、作動手段または検知手段が他の情報処理装置と協調して処理を分担するので、情報処理装置が高機能化される。
【図面の簡単な説明】
【図1】本発明を適用したSHARNシステムの一実施の形態の構成例を示すブロック図である。
【図2】本発明を適用したSHARNシステムの他の一実施の形態の構成例を示すブロック図である。
【図3】SHARNシステムを適用したSHARN手術システムの一実施の形態の構成例を示すブロック図である。
【図4】スレーブマニピュレータ61とマスタマニピュレータ62の外観構成例を示す斜視図である。
【図5】ロール回転、ピッチ回転、およびヨー回転を説明する図である。
【図6】目標軌跡、操作軌跡、および平均軌跡を示す図である。
【図7】スレーブマニピュレータ61の電気的構成例を示すブロック図である。
【図8】マスタマニピュレータ62の電気的構成例を示すブロック図である。
【図9】スーパドクタデータベース部64の電気的構成例を示すブロック図である。
【図10】スレーブマニピュレータ61の処理を説明するフローチャートである。
【図11】マスタマニピュレータ62の処理を説明するフローチャートである。
【図12】スーパドクタデータベース部64の処理を説明するフローチャートである。
【図13】SHARN手術システムにおける協調分担を説明するための図である。
【図14】SHARNシステムを適用したSHARNデザインシステムの一実施の形態の構成例を示すブロック図である。
【図15】擬似スレーブマニピュレータ41の電気的構成例を示すブロック図である。
【図16】マスタマニピュレータ42の電気的構成例を示すブロック図である。
【図17】スーパデザイナデータベース部44の電気的構成例を示すブロック図である。
【図18】デザイン情報を説明する図である。
【図19】擬似スレーブマニピュレータ41の処理を説明するフローチャートである。
【図20】マスタマニピュレータ42の処理を説明するフローチャートである。
【図21】スーパデザイナデータベース部44の処理(制御処理)を説明するフローチャートである。
【図22】スーパデザイナデータベース部44の処理(更新処理)を説明するフローチャートである。
【図23】SHARNデザインシステムにおける協調分担を説明するための図である。
【図24】SHARNシステムを適用したSHARN移動体システムの構成例を示す図である。
【図25】SHARN移動体システムの機能の概略を説明するための図である。
【図26】移動体101kの電気的構成例を示すブロック図である。
【図27】撮像装置111の構成例を示す斜視図である。
【図28】全方位画像データを示す図である。
【図29】集光部202を構成する双曲面を説明する図である。
【図30】集光部202と撮像部203との位置関係を説明するための図である。
【図31】全方位画像データを示す図である。
【図32】全方位画像データからの切り出しを説明するための図である。
【図33】円周方向の歪みを説明するための図である。
【図34】半径方向の歪みを説明するための図である。
【図35】半径方向の歪みを除去する方法を説明するための図である。
【図36】半径方向の歪みを除去する方法を説明するための図である。
【図37】半径方向の歪みを除去する全方位画像データの変換を説明するための図である。
【図38】変換対象点における画素値の求め方を説明するための図である。
【図39】スケール加工部113の電気的構成例を示すブロック図である。
【図40】タップ係数を学習する学習装置の電気的構成例を示すブロック図である。
【図41】座標演算部125の電気的構成例を示すブロック図である。
【図42】撮像ポイントの求め方を説明するための図である。
【図43】撮像ポイントの求め方を説明するための図である。
【図44】画像データベース114の記憶フォーマットを示す図である。
【図45】表示画像加工部119の電気的構成例を示すブロック図である。
【図46】主移動体の処理を説明するフローチャートである。
【図47】全方位画像取得処理を説明するフローチャートである。
【図48】視点指定画像取得処理を説明するフローチャートである。
【図49】視点可変画像取得処理を説明するフローチャートである。
【図50】従移動体の処理を説明するフローチャートである。
【図51】SHARN移動体システムにおける協調分担を説明するための図である。
【図52】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
1 手術台, 21乃至24 マイク, 3L,3R スレーブマニピュレータ部, 4L,4R 先端部, 5 カメラ部, 6(61乃至65) カメラ, 8L,8R マスタマニピュレータ部, 9L,9R 操作部, 10 モニタ, 11 スピーカ, 12 操作パネル, 21 入出力制御装置, 22 姿勢パラメータ登録部, 23 手術経過情報データベース, 24 手術経過情報登録部, 25 手術情報データベース, 26 更新部, 27 手術技術情報データベース, 28 姿勢パラメータ制御部, 29 検索部, 30手術技術情報登録部, 41 擬似スレーブマニピュレータ, 421乃至42K マスタマニピュレータ, 43 ネットワーク, 44 スーパデザイナデータベース部, 51 スレーブマニピュレータ制御装置, 52 入出力制御装置, 53 マスタマニピュレータ制御装置, 54 入出力制御装置, 61 スレーブマニピュレータ, 621乃至62K マスタマニピュレータ, 63 ネットワーク, 64 スーパドクタデータベース部, 71 制御部,72 姿勢遷移機構部, 73 制御機構部, 74 通信部, 75 センサ, 76 アクチュエータ, 77 擬似スレーブマニピュレータ, 78 デザイン情報データベース, 79 画像生成部, 80 入出力制御装置, 81 制御部, 82 姿勢遷移機構部, 83 制御機構部, 84 通信部, 85 センサ, 86 アクチュエータ, 91 デザイン情報登録部, 92 デザイン情報データベース, 93 デザイン評価部, 94 特異デザイン情報データベース, 95 流行デザイン情報データベース, 96 更新部, 1011乃至101K 移動体, 1021乃至102K 全方位カメラ, 103 被写体, 104 ネットワーク, 105 情報処理装置, 111撮像装置, 112 A/D変換部, 113 スケール加工部, 114 画像データベース, 115 操作部, 116 送信部, 117 受信部,118 制御部, 119 表示画像加工部, 120 比較部, 121 記憶部, 122 表示部, 123 位置検出部, 124 地図データベース, 125 座標演算部, 126 切り出し部, 127 画像変換部, 201 支持体, 202 集光部, 203 撮像部, 231 バッファ,232 予測タップ抽出回路, 233 クラスタップ抽出回路, 234 クラス分類回路, 235 係数記憶部, 236 積和演算回路, 237 制御回路, 242 教師データメモリ, 243 生徒データ生成回路, 244 生徒データメモリ, 245 予測タップ抽出回路, 246 クラスタップ抽出回路, 247 クラス分類回路, 248 正規方程式加算回路, 249 タップ係数決定回路, 250 係数メモリ, 251 制御回路, 261 検索部, 262 撮像ポイント算出部, 271 画像メモリ, 272 スケール加工部, 273 対応画素演算部, 274 画像生成部, 275 補間フレーム生成部, 276 表示メモリ, 1001 ネットワーク, 1002 合成/統合部, 10031乃至1003K 操作部, 1004 駆動制御部, 10051乃至1005M アクチュエータ, 1006 信号処理部, 10071乃至1007N センサ, 2101 バス, 2102 CPU, 2103 ROM, 2104 RAM, 2105 ハードディスク, 2106 出力部, 2107 入力部, 2108 通信部, 2109 ドライブ, 2110 入出力インタフェース, 2111 リムーバブル記録媒体

Claims (14)

  1. 複数のユーザの操作に応じて作動する複数の作動手段と、
    前記複数の作動手段が作用する現実世界を検知する複数の検知手段と、
    前記複数の作動手段または複数の検知手段との間で情報を送受信するための通信手段と
    前記複数の作動手段による作動結果または前記複数の検知手段による検知結果を蓄積する蓄積手段と、
    前記蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較する比較手段と、
    前記比較手段による比較結果に応じて、前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する合成手段と
    を備えることを特徴とする情報処理システム。
  2. 前記合成手段は、前記比較手段による比較結果に応じて、前記現在の作動結果のみを前記合成作動結果として出力し、
    前記複数の作動手段のうちの一の作動手段が、前記合成作動結果に応じて制御される
    ことを特徴とする請求項1に記載の情報処理システム。
  3. 前記合成手段は、前記比較手段による比較結果に応じて、前記現在の検知結果のみを前記合成検知結果として出力し、
    当該合成検知結果が表示される
    ことを特徴とする請求項1に記載の情報処理システム。
  4. 前記蓄積手段には、前記作動手段の操作として制限すべき操作内容の作動結果が蓄積され、
    前記合成手段は、前記制限すべき操作内容の作動結果に応じて、前記合成作動結果を生成する
    ことを特徴とする請求項1に記載の情報処理システム。
  5. 複数のユーザの操作に応じて作動する複数の作動手段と、
    前記複数の作動手段が作用する現実世界を検知する複数の検知手段と、
    前記複数の作動手段または複数の検知手段との間で情報を送受信するための通信手段と
    前記複数の作動手段による作動結果または前記複数の検知手段による検知結果を蓄積する蓄積手段と
    を備える情報処理システムの情報処理方法であって、
    前記蓄積手段に蓄積された前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを比較し、その比較結果に応じて、前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する
    処理を行う処理ステップを備えることを特徴とする情報処理方法。
  6. 複数のユーザの操作に応じて作動する複数の作動手段と、
    前記複数の作動手段が作用する現実世界を検知する複数の検知手段と、
    前記複数の作動手段または複数の検知手段との間で情報を送受信するための通信手段と
    前記複数の作動手段による作動結果または前記複数の検知手段による検知結果を蓄積する蓄積手段と
    を備える情報処理システム用のプログラムであって、
    前記蓄積手段に蓄積された前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを比較し、その比較結果に応じて、前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する
    処理を行う処理ステップを備えることを特徴とするコンピュータが読み取り可能なプログラム。
  7. 複数のユーザの操作に応じて作動する複数の作動手段と、
    前記複数の作動手段が作用する現実世界を検知する複数の検知手段と、
    前記複数の作動手段または複数の検知手段との間で情報を送受信するための通信手段と
    前記複数の作動手段による作動結果または前記複数の検知手段による検知結果を蓄積する蓄積手段と
    を備える情報処理システム用のプログラムが記録されている記録媒体であって、
    前記蓄積手段に蓄積された前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを比較し、その比較結果に応じて、前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する
    処理を行う処理ステップを備えるコンピュータが読み取り可能なプログラムが記録されていることを特徴とする記録媒体。
  8. 所定の情報処理を行う情報処理装置であって、
    ユーザの操作に応じて作動する作動手段と、
    前記作動手段が作用する現実世界を検知する検知手段と、
    他の情報処理装置との間で情報を送受信するための通信手段と
    前記作動手段による作動結果または前記検知手段による検知結果を蓄積する蓄積手段と、
    前記蓄積手段に蓄積された過去の作動結果または検知結果と、現在の作動結果または検知結果とを比較する比較手段と、
    前記比較手段による比較結果に応じて、前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する合成手段と
    を備えることを特徴とする情報処理装置。
  9. 前記合成手段は、前記比較手段による比較結果に応じて、前記現在の作動結果のみを前記合成作動結果として出力し、
    前記作動手段が前記合成作動結果に応じて制御される
    ことを特徴とする請求項に記載の情報処理装置。
  10. 前記合成手段は、前記比較手段による比較結果に応じて、前記現在の検知結果のみを前記合成検知結果として出力し、
    当該合成検知結果が表示される
    ことを特徴とする請求項に記載の情報処理装置。
  11. 前記蓄積手段には、前記作動手段の操作として制限すべき操作内容の作動結果が蓄積され、
    前記合成手段は、前記制限すべき操作内容の作動結果に応じて、前記合成作動結果を生成する
    ことを特徴とする請求項8に記載の情報処理装置。
  12. 所定の情報処理を行う情報処理装置の情報処理方法であって、
    前記情報処理装置は、
    ユーザの操作に応じて作動する作動手段と、
    前記作動手段が作用する現実世界を検知する検知手段と、
    他の情報処理装置との間で情報を送受信するための通信手段と
    前記作動手段による作動結果または前記検知手段による検知結果を蓄積する蓄積手段と
    を備え、
    前記蓄積手段に蓄積された前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを比較し、その比較結果に応じて、前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する
    処理を行う処理ステップを備えることを特徴とする情報処理方法。
  13. 所定の情報処理を行う情報処理装置用のプログラムであって、
    前記情報処理装置は、
    ユーザの操作に応じて作動する作動手段と、
    前記作動手段が作用する現実世界を検知する検知手段と、
    他の情報処理装置との間で情報を送受信する通信手段と
    前記作動手段による作動結果または前記検知手段による検知結果を蓄積する蓄積手段と
    を備え、
    前記蓄積手段に蓄積された前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを比較し、その比較結果に応じて、前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する
    処理を行う処理ステップを備えることを特徴とするコンピュータが読み取り可能なプログラム。
  14. 所定の情報処理を行う情報処理装置用のプログラムが記録されている記録媒体であって、
    前記情報処理装置は、
    ユーザの操作に応じて作動する作動手段と、
    前記作動手段が作用する現実世界を検知する検知手段と、
    他の情報処理装置との間で情報を送受信するための通信手段と
    前記作動手段による作動結果または前記検知手段による検知結果を蓄積する蓄積手段と
    を備え、
    前記蓄積手段に蓄積された前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを比較し、その比較結果に応じて、前記過去の作動結果または検知結果と、前記現在の作動結果または検知結果とを合成し、合成作動結果または合成検知結果として出力する
    処理を行う処理ステップを備えるコンピュータが読み取り可能なプログラムが記録されている
    ことを特徴とする記録媒体。
JP2001343980A 2001-11-09 2001-11-09 情報処理システムおよび情報処理方法、プログラムおよび記録媒体、並びに情報処理装置 Expired - Fee Related JP4032410B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001343980A JP4032410B2 (ja) 2001-11-09 2001-11-09 情報処理システムおよび情報処理方法、プログラムおよび記録媒体、並びに情報処理装置
PCT/JP2002/010979 WO2003040940A1 (fr) 2001-11-09 2002-10-23 Systeme et appareil pour le traitement d'informations
US10/494,598 US8255462B2 (en) 2001-11-09 2002-10-23 Information processing system and information processing apparatus
EP02770237A EP1443416A4 (en) 2001-11-09 2002-10-23 INFORMATION PROCESSING SYSTEM AND INFORMATION PROCESSING DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001343980A JP4032410B2 (ja) 2001-11-09 2001-11-09 情報処理システムおよび情報処理方法、プログラムおよび記録媒体、並びに情報処理装置

Publications (2)

Publication Number Publication Date
JP2003150569A JP2003150569A (ja) 2003-05-23
JP4032410B2 true JP4032410B2 (ja) 2008-01-16

Family

ID=19157569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001343980A Expired - Fee Related JP4032410B2 (ja) 2001-11-09 2001-11-09 情報処理システムおよび情報処理方法、プログラムおよび記録媒体、並びに情報処理装置

Country Status (4)

Country Link
US (1) US8255462B2 (ja)
EP (1) EP1443416A4 (ja)
JP (1) JP4032410B2 (ja)
WO (1) WO2003040940A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005026488A1 (ja) * 2003-09-08 2005-03-24 Sony Corporation 制御装置および制御方法、記録媒体、プログラム、並びに建造物
JP4470930B2 (ja) 2006-09-21 2010-06-02 ソニー株式会社 画像処理装置、画像処理方法、及び、プログラム
US8660794B2 (en) * 2007-07-13 2014-02-25 Dash Navigation, Inc. System and method for providing shared information about traveled road segments
JP2010079569A (ja) * 2008-09-25 2010-04-08 Canon Inc 情報処理装置、その処理方法及びプログラム
KR101552306B1 (ko) * 2009-04-13 2015-09-10 삼성전자주식회사 휴대 단말기의 태깅 방법 및 장치
EP2529496A4 (en) * 2010-01-29 2014-07-30 Hewlett Packard Development Co OPTICAL SENSOR NETWORKS AND METHOD FOR THE PRODUCTION THEREOF
EP2453325A1 (en) * 2010-11-16 2012-05-16 Universal Robots ApS Method and means for controlling a robot
JP5800616B2 (ja) * 2011-07-15 2015-10-28 オリンパス株式会社 マニピュレータシステム
EP2796249B1 (en) 2011-09-28 2015-12-30 Universal Robots A/S Programming of robots
EP3135444B1 (en) * 2014-02-28 2022-04-13 Sony Group Corporation Robot arm apparatus, robot arm control method, and program
RU2688977C2 (ru) 2014-03-04 2019-05-23 Юниверсал Роботс А/С Система безопасности для промышленного робота
KR102431743B1 (ko) 2014-09-26 2022-08-11 테라다인 인코퍼레이티드 파지 그리퍼
KR20230054760A (ko) * 2015-06-09 2023-04-25 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 수술 절차 아틀라스를 갖는 수술시스템의 구성
MX2018000008A (es) 2015-07-08 2018-03-15 Universal Robots As Metodo para extender la programacion de usuario final de un robot industrial con contribuciones de terceros.
US20170090718A1 (en) 2015-09-25 2017-03-30 International Business Machines Corporation Linking selected messages in electronic message threads
EP3373834A4 (en) 2015-11-12 2019-07-31 Intuitive Surgical Operations Inc. SURGICAL SYSTEM WITH TRAINING OR ASSISTANCE FUNCTION
TWI805545B (zh) 2016-04-12 2023-06-21 丹麥商環球機器人公司 用於藉由示範來程式化機器人之方法和電腦程式產品
US11370113B2 (en) * 2016-09-06 2022-06-28 Verily Life Sciences Llc Systems and methods for prevention of surgical mistakes
JP7035309B2 (ja) * 2016-12-01 2022-03-15 トヨタ自動車株式会社 マスタスレーブシステム
JP7163115B2 (ja) * 2018-09-12 2022-10-31 キヤノン株式会社 ロボットシステム、ロボットシステムの制御方法、物品の製造方法、制御装置、操作装置、撮像装置、制御プログラム及び記録媒体
JP2020046893A (ja) * 2018-09-19 2020-03-26 尚紀 北村 手術支援システム及び仮想手術支援システム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3539645B2 (ja) 1995-02-16 2004-07-07 株式会社日立製作所 遠隔手術支援装置
JP3577359B2 (ja) 1995-04-26 2004-10-13 本田技研工業株式会社 車両用撮影システム
US6167296A (en) * 1996-06-28 2000-12-26 The Board Of Trustees Of The Leland Stanford Junior University Method for volumetric image navigation
JP3882858B2 (ja) 1996-07-03 2007-02-21 株式会社セガ 乗り物遊戯装置
US6364888B1 (en) * 1996-09-09 2002-04-02 Intuitive Surgical, Inc. Alignment of master and slave in a minimally invasive surgical apparatus
US6331181B1 (en) * 1998-12-08 2001-12-18 Intuitive Surgical, Inc. Surgical robotic tools, data architecture, and use
JP3175623B2 (ja) * 1997-03-21 2001-06-11 株式会社デンソー ロボットの制御装置
JPH11243508A (ja) 1998-02-25 1999-09-07 Matsushita Electric Ind Co Ltd 画像表示装置
JP3472957B2 (ja) * 1998-09-17 2003-12-02 株式会社日立製作所 マスタスレーブマニピュレータ
US6659939B2 (en) * 1998-11-20 2003-12-09 Intuitive Surgical, Inc. Cooperative minimally invasive telesurgical system
US6360250B1 (en) * 1998-12-28 2002-03-19 Lucent Technologies Inc. Apparatus and method for sharing information in simultaneously viewed documents on a communication system
US6334141B1 (en) * 1999-02-02 2001-12-25 International Business Machines Corporation Distributed server for real-time collaboration
JP2000242333A (ja) * 1999-02-24 2000-09-08 Matsushita Electric Ind Co Ltd 自律走行ロボットの動作管理方法およびシステム
JP2000283785A (ja) 1999-03-31 2000-10-13 Toshiba Corp カーナビゲーションシステムおよび方法
US6594552B1 (en) * 1999-04-07 2003-07-15 Intuitive Surgical, Inc. Grip strength with tactile feedback for robotic surgery
JP2000342498A (ja) * 1999-06-09 2000-12-12 Toyota Autom Loom Works Ltd 清掃ロボット
JP3513055B2 (ja) * 1999-08-06 2004-03-31 株式会社東芝 データ処理システム
JP2001145637A (ja) 1999-11-24 2001-05-29 Olympus Optical Co Ltd マニピュレータ制御装置
JP2001189927A (ja) 1999-12-28 2001-07-10 Tokyo Gas Co Ltd 移動ステーションおよび制御ステーションならびに擬似体験システム
JP2001285894A (ja) 2000-03-31 2001-10-12 Olympus Optical Co Ltd 3次元画像データの掲載方法
JP2001301592A (ja) * 2000-04-19 2001-10-31 Sumitomo Denko Brake Systems Kk 車両用液圧ブレーキシステムの制御方法
JP2001301552A (ja) 2000-04-24 2001-10-31 Daihatsu Motor Co Ltd 車両用後側方監視装置及びその制御方法
US7299403B1 (en) * 2000-10-11 2007-11-20 Cisco Technology, Inc. Methods and apparatus for obtaining a state of a browser
JP4655175B2 (ja) 2000-12-19 2011-03-23 ソニー株式会社 マニピュレータシステム、マスタマニピュレータ、スレーブマニピュレータ及びそれらの制御方法、並びに記録媒体
US20020129106A1 (en) * 2001-03-12 2002-09-12 Surgency, Inc. User-extensible system for manipulating information in a collaborative environment
US6587750B2 (en) * 2001-09-25 2003-07-01 Intuitive Surgical, Inc. Removable infinite roll master grip handle and touch sensor for robotic surgery

Also Published As

Publication number Publication date
US20040268264A1 (en) 2004-12-30
EP1443416A1 (en) 2004-08-04
EP1443416A4 (en) 2010-04-07
US8255462B2 (en) 2012-08-28
WO2003040940A1 (fr) 2003-05-15
JP2003150569A (ja) 2003-05-23

Similar Documents

Publication Publication Date Title
JP4032410B2 (ja) 情報処理システムおよび情報処理方法、プログラムおよび記録媒体、並びに情報処理装置
JP7082416B2 (ja) 実世界を表現するリアルタイム3d仮想世界の中でのリアルタイム3d仮想物体の双方向リアルタイム3dインタラクティブ操作
Ruesch et al. Multimodal saliency-based bottom-up attention a framework for the humanoid robot icub
US11126257B2 (en) System and method for detecting human gaze and gesture in unconstrained environments
JP4211292B2 (ja) 画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体
JP4825980B2 (ja) 魚眼カメラの校正方法。
JP6769145B2 (ja) テレプレゼンス及びロボット遠隔操作のためのフォーカスアンドコンテクストビューのシステム及び方法、第1の機器、第1の機器のための方法、及び非一時的コンピュータ読み取り可能媒体
JP4744823B2 (ja) 周辺監視装置および俯瞰画像表示方法
US7598976B2 (en) Method and apparatus for a multisensor imaging and scene interpretation system to aid the visually impaired
JP4825971B2 (ja) 距離算出装置、距離算出方法、構造解析装置及び構造解析方法。
US20090041379A1 (en) Method for providing output image in either cylindrical mode or perspective mode
US11276226B2 (en) Artificial intelligence apparatus and method for synthesizing images
JPH06501585A (ja) 全視野静止カメラオリエンテーションシステム
JP2021012683A (ja) コンピュータビジョン方法およびシステム
US11725958B2 (en) Route guidance and proximity awareness system
JP4406824B2 (ja) 画像表示装置、画素データ取得方法、およびその方法を実行させるためのプログラム
WO2002019270A1 (fr) Procede de conversion d'image courbe et support d'enregistrement sur lequel ce procede de conversion d'image courbe est enregistre
JP2003346152A (ja) 物体認識装置及び方法並びにロボット装置
JP2024505933A (ja) 視覚障害者の動作を支援するためのコンピュータ実装方法、ウェアラブルデバイス、非一過性のコンピュータ読み取り可能な記憶媒体、コンピュータプログラムおよびシステム
Vunder et al. Improved situational awareness in ros using panospheric vision and virtual reality
JP4123760B2 (ja) 情報処理システムおよび情報処理方法、プログラムおよび記録媒体、情報処理装置、並びに制御装置および制御方法
JPWO2018139156A1 (ja) 医療用観察装置、および制御方法
JP3918518B2 (ja) 情報処理システムおよび情報処理方法、プログラムおよび記録媒体、移動体、並びに情報処理装置
WO2022091787A1 (ja) コミュニケーションシステム、ロボット、及び記憶媒体
Sakurai et al. Recognizing pointing behavior using image processing for human-robot interaction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061220

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: 20071001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071014

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4032410

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees