【発明の詳細な説明】
カメラの制御方法及び装置
本発明は、請求の範囲第1項の独立部分に記載されている如き、ビデオカメラ
等のビデオを制御するための方法及び装置に関するものである。
指定のプロセスのイメージを連続的にモニタに送るのに適したカメラ、特にビ
デオカメラを制御する装置は、当然のことながらそれ自体が様々な実施例で開示
されている。特に監視用の場合、カメラは指定の順序付け方式に従ってパンされ
る。特定の用途、例えば工場のホールでの工程の監視には、適切なカメラ・アン
グルを確保するために、カメラ方向に対する観察者の動作、例えばパン機能を中
断させる動作が必要となる。
様々な実施例で、ユーザが操作するカメラ制御機構も開示されている。具体的
には、上、下、右、左、さらにそれらを組み合わせた方向(例えば左と上方向を
同時)にパンするためのボタンを有する実施態様が存在する。その場合、カメラ
は、そのボタンを解放するまで、あるいは適切なボタンを1回作動させるだけで
よい別の実施例では、適切なボタンまたは停止ボタンを作動させるまで、規定の
方向にパンする。このボタンの機能はジョイスティックで代用されることがあり
、ジョイスティックを使う場合は、所望の方向(ジョイスティ
ックの動作方向で示される)が、またある程度はジョイスティックの動作の力に
基づいて所望のパン速度も、選択される。パン方向は、パン動作を連続的に実行
する(例えば、右上にしてから、時計の短針で1時30分の方向または磁石で北
西の方向に対応する上の1方向にする)か、あるいはジョイスティックの対応す
る位置によって選択される。
監視機能及び操作機能がコンピュータに連結されている実施例も開示されてい
る。この場合、カメラのイメージは予めディジタル化されてから、コンピュータ
に供給される。ディジタル化はカメラ本体の中で行うことが好ましい。この場合
、コンピュータのモニタ画面またはその一部分がカメラ用のモニタとなる。この
実施例では、前述のボタンは、コンピュータのソフトウェアまたはオペレータに
よって指定されるキーでよい。
コンピュータを使用するさらに別の開示された実施例では、モニタ上に表示さ
れ、いわゆるマウスやタッチ・スクリーン等の位置決め装置によって活動化され
るスクロール・バーを使用して、カメラをパンする。この制御方法でも、コマン
ドは所定の方向にしか出せず、通常は磁石の4点に限られ、せいぜい1つの中間
方向(例えば磁石の北西方向に対応)が追加されるだけである。
以上の方法にはすべて、制御プロセス全体(いわゆるオンライン操作)を通じ
てユーザ・コマンドの入力ステーションとカメラ制御機構との間のデータ・リン
クを維持するか、あ
るいは目標を越えてパンしないよう、カメラ動作を停止するコマンドを遅延なし
に確実に送らなければならないという欠点がある。
さらに、開示された各方法には、制御コマンドの入力が複雑で、しばしば数回
試みなければうまく入力できないこともあるという欠点がある。
本発明の目的は、より簡単にカメラをパンできるカメラの制御方法及び装置を
提供することである。
この目的は、請求の範囲第1項に記載された方法、及び請求の範囲第5項で提
案された装置によって達成される。請求の範囲第1項に記載された方法の結果、
まず、信号手段によって発生する信号によって新たな目標位置が入力された(目
標選択)後、カメラをパンするためのすべてのデータが、カメラからかなり離れ
ていることもあるコンピュータ内で利用できるようになり、抽象的な意味で、カ
メラに関連するアクチュエータ・システムに渡すことができる。この送出は決し
て、時間が重要ではない。つまり、送出の遅延が新しいカメラ位置に影響を及ぼ
す可能性はない。
請求の範囲第2項に記載された方法では、動作方向の選択をボインタで制御す
る。他方、旧来の方法で開示されているように、ユーザが望む時にカメラ動作を
終了できるように、停止信号を発生しなければならない。これは、少なくとも停
止信号の送出を瞬間的なものにするよう要求することで実現される。従って、こ
の変形例は、少なくともカメラをパンす
る方向に関して、新しいカメラ位置を簡単に選択できる局所的な用途には特に有
利である。
請求の範囲第3項では、この方法を、速度を簡単に選択できる有用な実施例の
特徴と組み合わせる。
本発明の方法のこの実施例は、スクリーンの中心が基準点を示すので、有利で
ある。
請求の範囲第5項は、当然のことながらそれ自体、本発明の基本的概念を実施
するのに適している。本発明によると、カメラをパンすべき方向及び距離を決定
する手段は、コマンドを1個出すことによって、所望のカメラ制御機能を活動化
することができる。
次に本発明の利点について、サンプル応用例を用いて説明する。航空機の操縦
では、2回の飛行の間に、特に異常な状況では、地面の調査が必要である。調査
方法は、パン可能なビデオカメラを使用して、カメラを飛行機の位置に取り付け
、評価は航空会社の本社等の中央管理オフィスで行うのが、特に有利である。こ
の2つの場所は、互いにどんな距離だけ離れていてもよい。航空機の特定の細部
、例えば着陸装置が調査の焦点になることが多い。従って、本社のオペレータは
、どの対象物をどのような順序で調査したいか分かつている。
大きな距離にわたる場合、ユーザの位置にあるコンピユータに加えてカメラと
連結したコンピュータを使用すると有利であり(請求の範囲第6項)、コンピュ
ータ間の連結は、コンピュータ・ネットワーク、おそらくは公衆ネットワークを
使って行うと好都合である(請求の範囲第7項)。
本発明の概念は、1つの角度(例えば1方位のみ)でしかパンしない場合でも
実施できる。しかし、最も有利な実施例は、互いに直角で、高度及び方向を表す
(請求の範囲第9項)2つの角度でのパンである(請求の範囲第8項)。
カメラ動作手段の可能な様々な実施例のうち、特に有用なのは、技術的に費用
がほとんどかからない、商用のディジタル制御式ステッパー電動機である(請求
の範囲第10項)。しかし、自律安定機構が必要な場合は、ステッパー電動機の
代わりに、好ましくはコンピュータでディジタル制御される独立したアクチュエ
ータ・システム、たとえばジャイロによって安定化されるプラットフオームを使
用することができる。
他の応用例では、このカメラ制御機構は2次元並進運動にも有利に使用できる
(請求の範囲第11項及び第12項)。
特に有利なのは、パンばかりでなく並進運動も実施するカメラ制御機構の実施
例である。この場合、モニタにコマンドを入力し、最終的にカメラのパンを実施
するためにアクチュエータに送る制御関連パラメータを決定する手段を、2回実
施しなければならない。
前述し、請求の範囲に記載し、あるいは下記の実施例で記述する本発明に関係
するコンポーネント、装置、及び手段には、その実施、設計、選択、技術的アー
キテクチャ、または方法に関して特別な例外はないので、それぞれの応用分野で
既知の選択基準が制約なしに適用できる。
具体的には、実施態様は、自由にプログラム可能なコンピュータ内のプログラ
ムまたはソフトウェア・パッケージに限られない。そうではなくて、電気回路と
、専用コンピユータと、自由にプログラム可能なディジタル・データ処理システ
ム内のプログラムのどれを使用するかは、個々の応用例次第である。
本発明のその他の詳細、特徴、及び利点は、下記の関連図面の説明から理解で
きよう。図面には、本発明及び本発明の方法に従った装置が例として示されてい
る。
図は下記の通りである。
[図面の簡単な説明]
第1図は、2台のコンピュータがコンピュータ・ネットワークによって連結さ
れている装置のブロック図である。
第2図は、本発明による1台のコンピュータを備える装置のブロック図である
。
第3図は、本発明の方法の順序付け方式を示す。
第4図は、本発明による並進制御用装置の概略ブロック図を示す。
第5図は、本発明によるスクリーン上に2個のポインタを表示した装置を示す
。
第1図に全体を100で表した装置では、表示すべき対象物のイメージが、カ
メラ10で捕捉され、カメラ10のデータ出力部6に現れる。この実施例では、
このデータは第2コ
ンピュータ50の入力インタフェース52に渡される。カメラ10の出力信号は
RGB(赤、緑、青)ビデオ信号である。この第2コンピュータ50は、データ
をコンピュータ・ネットワーク60に渡し、ネットワーク60はデータを、モニ
タ22上に表示するためにコンピュータ20に転送する。この実施例では、上記
のプロセスが30Hzのフレーム・リフレッシュ速度で実施されるので、コンピ
ュータ20のモニタ22に連続したイメージ・シーケンスが表示される。
さらに、コンピュータ20のモニタ22は、矢印の形でポインタ(カーソル)
24を表示し、これはスクリーンの内容に関係なく、スクリーンのどこにでも配
置できる。実施例の位置決め装置26は、いわゆるコンピュータ・マウスである
。ボインタ24は、マウスを移動することによって動かすことができる。この実
施例では、マウスの左ボタン(信号手段28)を300ミリ秒以内にダブルクリ
ックすると(信号手段28)、ポインタ24の現在位置を使ってカメラ10の新
しいイメージの中心82が定義され、この目標に到達するまでカメラ10がパン
される。
この実施例では、イメージの中心80が本方法の標準の基準点であるが、これ
はスクリーン上の所望の他のどの点にも指定できる。
コンピュータ20内では、カメラ10のパン角度を決定するコンピュータ・プ
ログラムによって角度決定手段74が実施される。計算には、この実施例で可能
で、既知の方法で実
現できる、カメラ10のキーで活動化されるズーム設定、及びやはリキーで活動
化される(イメージの拡大と縮小)イメージ・セグメント倍率(疑似ズーム)を
使用する。従って、この実施例では角度の計算は下式を用いて行う。
上式で、Aはカメラ10の口径の1/2、Zはカメラ10の現在のズーム倍率
、Pはモニタ22の現在のイメージ・セグメント倍率である。
同様に、この2つの角度がコンピュータ・ネットワーク60を介して第2コン
ピュータ50に渡され、それから、それぞれの角度に比例したパルス数がアクチ
ュエータ・システム30のステッパー電動機34及び36に与えられ、カメラ1
0をパンする。
1台のコンピュータ20しかなく、それがカメラ10にモニタ22及び位置決
め装置26に接続された別の実施例が、第2図に全体が200で表されている。
本発明の装置の一代替実施例では、カメラ10の制御装置には、前述のような
計算された角度ではなく時間間隔が送られ、その間にカメラ10は規定の速度で
選択された方向に動く。この時間間隔は、一定速度のとき、パン角度に比例する
。しかしこの代替実施例では、カメラがパンされる角度が一連
の時間間隔に分割され、この時間間隔の間に、カメラ10は低速から始めてカメ
ラのパン装置に許される最高速度まで1段階ごとに増加する速度で移動した後、
移動動作を終了するために、再び1段階ごとに速度を落として最低速度レベルで
停止する。カメラをパンする角度は、このように一連の時間間隔に分割されるの
で、パン方向にカメラの滑らかな加速が可能になる。データ決定手段74で表さ
れる装置には、加速及び制動プロセスの非直線性を補正するための補正データが
含まれる。この補正データは、実験に基づいて決定されている。
第4図で全体が300として示されているさらに別の実施例では、カメラ10
はパンされず、レール84上を並進移動する。レール84自体は、レール84が
、従ってカメラ10が最初に記述した移動方向に対して直角に移動できるよう、
レール対86に取り付けられる。この実施例は、観察面(基準面)からカメラ1
0までの距離が分かっている応用例に特に適している。カメラ10を移動する先
の位置は、位置決め装置26及び信号手段28によってポインタ24の位置を決
めてから固定することによって決定され、上記で検討したようにして計算した角
度の正接に、カメラから基準面までの距離をかけたものに対応する。
上述の両方の実施例の可能性を兼備するさらに別の実施例は、並進移動手段9
0を含み、これはレール84および86とパン装置の組み合せによって表される
。コンピュータ20
のモニタ22上には、ポインタ24とカメラ10のイメージの他に、記号的にボ
インタ24とは異なる第2ポインタ92も表示される(第5図)。この実施例で
は、第2ポインタ92はボインタ24と同様にコンピュータ・マウスを使用して
動かされるが、第2ポインタを動かすにはコンピュータ・マウスの右ボタンを押
したままにする。この右ボタンによって、ポインタ24の位置決め手段26と第
2ポインタ92の位置決め手段94が実施されている。第2制御信号を出力する
手段96は、300ミリ秒までの間隔でコンピユータ・マウスの右ボタンをダブ
ルクリックすることによって実施される。従って、並進運動はパン用の手段と同
様の手段で起動される。この実施例で記述される本発明の装置は、工場のホール
を上方から監視するのに特に適している。この場合、ホールの天井が2並進方向
を示しかつそれを含み、カメラは、所望の観察点の位置を並進的に決定してから
対象物にパンすることによって、ホール内の対象物を観察できる。基準面は、ホ
ールの機械類操作面、または床自体である。基準面は、コンピュータ20を使用
したキーボード入力(例えば数の入力)によって選択できる。この実施例ではさ
らに別の実施態様が可能であり、保守管理者が航空機の状態を監視する前述の応
用例で有用である。この場合、保守管理者は、遠隔地から個々の対象物(例えば
着陸装置)を観察しなければならない。しかしこの実施例では、これが様々な角
度から見えなければならない。そのために、カメラ10をその上で移動できる垂
直観
察壁が航空機の前方に位置するように、カメラ10の2つの並進運動方向を選択
する。基準面として、航空機の中央を通り観察壁に平行な断面を選択する。観察
される対象物が基準面上に正確に載っていないために生じるカメラ10の制御誤
差は、この実施例では重要ではない。パン中に、この同じ観察対象物(例えば着
陸装置)をカメラ10のイメージの中心に位置決めできるからである。従って、
選択された観察方向で選択された対象物を、保守管理者が利用できるアーカイブ
に保存された基準イメージと比較でき、なんらかの損傷があって修理作業が必要
なら、それを高い精度で決定できるので、この手法は前述の実施例で特に有益で
ある。
本発明の方法の基本原理を、シーケンス図として第3図に示す。The present invention relates to a method and device for controlling video, such as a video camera, as described in the independent part of the first claim. . A device suitable for controlling a camera, in particular a video camera, suitable for continuously sending images of a specified process to a monitor has, of course, been disclosed in various embodiments. Especially for surveillance, the cameras are panned according to a specified ordering scheme. Certain applications, such as monitoring a process in a factory hall, require observer action relative to the camera direction, such as disrupting the pan function, to ensure proper camera angle. A user operated camera control mechanism is also disclosed in various embodiments. Specifically, there is an embodiment having buttons for panning up, down, right, left, and a combination thereof (eg, left and up simultaneously). In that case, the camera pans in the defined direction until the button is released, or in another embodiment, activating the appropriate button only once, until the appropriate button or stop button is activated. The function of this button may be replaced by a joystick, which, when used, also determines the desired direction (indicated by the direction of joystick movement) and, to some extent, the desired pan speed based on the force of the joystick movement. , Selected. The pan direction can either be a continuous pan operation (eg, top right, then the hour hand at 1:30 or the magnet to the top one corresponding to the northwest direction) or the joystick. Selected by the corresponding position of. Embodiments in which the monitoring and operating functions are coupled to the computer are also disclosed. In this case, the camera image is digitized in advance and then supplied to the computer. Digitization is preferably performed in the camera body. In this case, the monitor screen of the computer or a part thereof becomes the monitor for the camera. In this example, the aforementioned buttons may be computer software or keys specified by the operator. In yet another disclosed embodiment using a computer, a scroll bar displayed on a monitor and activated by a positioning device such as a so-called mouse or touch screen is used to pan the camera. Even with this control method, the command can be issued only in a predetermined direction, and is normally limited to four points of the magnet, and at most one intermediate direction (for example, corresponding to the northwest direction of the magnet) is added. All of the above methods maintain the data link between the user command input station and the camera control mechanism throughout the entire control process (so-called on-line operation), or allow the camera operation to not pan beyond the target. The drawback is that the command to stop must be sent reliably without delay. In addition, each of the disclosed methods has the disadvantage that the control commands are complicated to input and often cannot be successfully input without a few attempts. It is an object of the present invention to provide a camera control method and apparatus that allows the camera to be panned more easily. This object is achieved by the method as claimed in claim 1 and by the device as proposed in claim 5. As a result of the method according to claim 1, first, after a new target position is input (target selection) by a signal generated by the signal means, all data for panning the camera is transferred from the camera. It is now available in computers, which can be quite distant, and in an abstract sense can be passed to the actuator system associated with the camera. This delivery is never time critical. That is, the delivery delay may not affect the new camera position. In the method described in claim 2, the selection of the motion direction is controlled by the voider. On the other hand, as disclosed in the traditional method, a stop signal must be generated so that the user can terminate the camera operation at any time. This is achieved by at least requesting the delivery of the stop signal to be instantaneous. Therefore, this variant is particularly advantageous for local applications where a new camera position can be easily selected, at least in the direction of panning the camera. Claim 3 combines this method with the features of a useful embodiment in which the speed can be easily selected. This embodiment of the method of the invention is advantageous because the center of the screen shows the reference point. Claim 5 is, of course, per se suitable for implementing the basic idea of the invention. According to the invention, the means for determining the direction and distance in which the camera should be panned can activate the desired camera control function by issuing one command. Next, the advantages of the present invention will be described using a sample application example. Aircraft maneuvering requires investigation of the ground between two flights, especially in unusual circumstances. It is particularly advantageous that the survey method uses a pannable video camera and mounts the camera at the location of the airplane and the evaluation is done at a central control office, such as the headquarters of the airline. The two locations may be separated by any distance. Specific details of the aircraft, such as the landing gear, are often the focus of investigation. Therefore, the operator at the head office knows which objects to investigate in what order. For large distances, it is advantageous to use a computer in addition to the computer at the user's location, coupled with a camera (Claim 6), and the coupling between the computers may be through a computer network, perhaps a public network. It is convenient to do so (claim 7). The inventive concept can be implemented even when panning at only one angle (eg, only one orientation). However, the most advantageous embodiment is panning at two angles (claim 9), which are at right angles to each other and represent altitude and direction (claim 9). Of the various possible embodiments of the camera actuation means, of particular utility are the commercially inexpensive digitally controlled stepper motors (claim 10). However, if an autonomous stabilizing mechanism is required, the stepper motor can be replaced by an independent actuator system, preferably digitally controlled by a computer, such as a gyro-stabilized platform. In other applications, this camera control mechanism can also be used to advantage in two-dimensional translation (claims 11 and 12). Particularly advantageous is an embodiment of the camera control mechanism that performs translation as well as pan. In this case, the means of entering a command into the monitor and finally determining the control-related parameters to send to the actuator to effect the camera pan must be implemented twice. There are no special exceptions to the components, apparatus and means related to the invention as described above, in the claims or in the examples below, with regard to their implementation, design, choice, technical architecture or method. As such, the selection criteria known in the respective application fields can be applied without restriction. In particular, implementations are not limited to freely programmable programs or software packages within a computer. Instead, it depends on the particular application whether to use the electrical circuit, the dedicated computer, or the program in the freely programmable digital data processing system. Other details, features and advantages of the present invention will be understood from the following description of the associated drawings. The drawing shows by way of example a device according to the invention and a method according to the invention. The figure is as follows. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of an apparatus in which two computers are connected by a computer network. FIG. 2 is a block diagram of an apparatus having one computer according to the present invention. FIG. 3 shows the ordering scheme of the method of the present invention. FIG. 4 shows a schematic block diagram of a device for translational control according to the invention. FIG. 5 shows a device according to the invention displaying two pointers on a screen. In the apparatus indicated by 100 in FIG. 1, an image of an object to be displayed is captured by the camera 10 and appears on the data output unit 6 of the camera 10. In this embodiment, this data is passed to the input interface 52 of the second computer 50. The output signal of the camera 10 is an RGB (red, green, blue) video signal. This second computer 50 passes the data to computer network 60, which transfers the data to computer 20 for display on monitor 22. In this embodiment, the above process is performed at a frame refresh rate of 30 Hz so that a continuous image sequence is displayed on the monitor 22 of the computer 20. In addition, the monitor 22 of the computer 20 displays a pointer (cursor) 24 in the form of an arrow, which can be placed anywhere on the screen, regardless of the screen contents. The positioning device 26 of the embodiment is a so-called computer mouse. The pointer 24 can be moved by moving the mouse. In this embodiment, when the left mouse button (signal means 28) is double-clicked within 300 milliseconds (signal means 28), the current position of the pointer 24 is used to define the new image center 82 of the camera 10. The camera 10 is panned until the target is reached. In this example, the center 80 of the image is the standard reference point for the method, but it can be specified at any other desired point on the screen. In the computer 20, the angle determining means 74 is implemented by a computer program that determines the pan angle of the camera 10. The calculations are possible in this embodiment and can be realized in known manner, such as key-activated zoom settings of the camera 10 and / or re-key activated (image enlargement / reduction) image segment magnification. Use (pseudo zoom). Therefore, in this embodiment, the angle is calculated using the following equation. In the above equation, A is 1/2 the aperture of the camera 10, Z is the current zoom magnification of the camera 10, and P is the current image segment magnification of the monitor 22. Similarly, the two angles are passed to the second computer 50 via the computer network 60, and then the number of pulses proportional to each angle is applied to the stepper motors 34 and 36 of the actuator system 30 and the camera 1 Pan 0. Another embodiment, in which there is only one computer 20, which is connected to the monitor 22 and the positioning device 26 in the camera 10, is generally designated 200 in FIG. In an alternative embodiment of the device of the present invention, the controller of the camera 10 is sent a time interval rather than the calculated angle as described above, during which the camera 10 moves in a selected direction at a defined speed. . This time interval is proportional to the pan angle at constant speed. However, in this alternative embodiment, the angle at which the camera is panned is divided into a series of time intervals during which the camera 10 starts in low speed and increases in steps up to the maximum speed allowed by the camera's pan device. After moving at the speed, the speed is reduced again for each step to stop the movement operation, and the movement is stopped at the minimum speed level. The angle of panning the camera is thus divided into a series of time intervals, allowing a smooth acceleration of the camera in the pan direction. The device represented by the data determining means 74 contains correction data for correcting non-linearities of the acceleration and braking processes. This correction data has been determined empirically. In yet another embodiment, shown generally at 300 in FIG. 4, the camera 10 is not panned and is translated on rails 84. The rails 84 themselves are mounted on rail pairs 86 so that the rails 84 and thus the camera 10 can move at right angles to the direction of movement originally described. This embodiment is particularly suitable for applications where the distance from the viewing surface (reference surface) to the camera 10 is known. The position to which the camera 10 is moved is determined by positioning the pointer 24 by the positioning device 26 and the signal means 28 and then fixing the pointer 24. The position of the pointer 24 is fixed from the camera to the tangent of the angle calculated as discussed above. It corresponds to the product of the distance to the surface. Yet another embodiment, which combines the possibilities of both embodiments described above, comprises a translation means 90, which is represented by a combination of rails 84 and 86 and a pan device. On the monitor 22 of the computer 20, a second pointer 92 symbolically different from the pointer 24 is displayed in addition to the image of the pointer 24 and the camera 10 (FIG. 5). In this embodiment, the second pointer 92 is moved using a computer mouse similar to the pointer 24, but the right button of the computer mouse is held down to move the second pointer. By this right button, the positioning means 26 for the pointer 24 and the positioning means 94 for the second pointer 92 are implemented. The means 96 for outputting the second control signal is implemented by double-clicking the right button of the computer mouse at intervals of up to 300 milliseconds. Thus, the translational movement is activated by means similar to the means for panning. The device according to the invention described in this example is particularly suitable for monitoring factory halls from above. In this case, the ceiling of the hall shows and includes two translation directions, and the camera can observe the object in the hall by translationally determining the position of the desired observation point and then panning on the object. . The reference plane is the machinery operating surface of the hall or the floor itself. The reference plane can be selected by keyboard input (for example, input of a number) using the computer 20. Still other implementations of this embodiment are possible and are useful in the aforementioned applications where maintenance personnel monitor the condition of the aircraft. In this case, the maintenance manager must observe individual objects (for example, landing gear) from a remote location. However, in this embodiment it must be seen from different angles. To that end, the two translational directions of the camera 10 are chosen such that a vertical viewing wall on which the camera 10 can be moved is located in front of the aircraft. As the reference plane, select a section that passes through the center of the aircraft and is parallel to the observation wall. The control error of the camera 10 caused by the observed object not accurately resting on the reference surface is not significant in this embodiment. This is because this same observation object (for example, the landing gear) can be positioned at the center of the image of the camera 10 during panning. Therefore, the selected object in the selected viewing direction can be compared with a reference image stored in an archive available to maintenance personnel, and if any damage is required for repair work, it can be determined with high accuracy. Therefore, this method is particularly useful in the above-described embodiment. The basic principle of the method of the present invention is shown in FIG. 3 as a sequence diagram.