(57)【要約】【課題】１つのインタフェースを用いて外部機器と異なる規格に準拠した通信を選択的に実行可能な電子機器の使い勝手を改善する電子機器およびその制御方法を提供すること。【解決手段】電子機器は、複数の通信方法の１つを選択的に用い、インターフェースを通じて外部機器と通信可能な通信手段を有する。電子機器は、通信手段による外部機器との通信を確立するための手順を通じて、複数の通信方法のうち、外部機器との通信に用いることのできない通信方法を判定する。電子機器は、判定された通信方法を選択できないユーザインターフェースを表示する。【選択図】図６
2020184162.tif 000002
【特許請求の範囲】
【請求項１】
インターフェースと、
前記インターフェースを通じた外部機器との通信に用いる通信方法をユーザが選択するためのユーザインターフェースを表示する表示手段と、
複数の通信方法の１つを選択的に用い、前記インターフェースを通じて外部機器と通信可能な通信手段と、
制御手段と、を有し、
前記制御手段は、
前記通信手段による前記外部機器との通信を確立するための手順を通じて、前記複数の通信方法のうち、前記外部機器との通信に用いることのできない通信方法を判定し、
前記判定された通信方法を選択できない前記ユーザインターフェースを前記表示手段に表示する、
ことを特徴とする電子機器。
【請求項２】
前記制御手段は、前記ユーザインターフェースからユーザが通信方法を選択したことを検出すると、ユーザが選択した通信方法による通信を確立する手順を実行する前に、前記複数の通信方法のうち、前記ユーザが選択した通信方法と異なる通信方法による通信を確立する手順を前記通信手段に実行させ、前記外部機器との通信に用いることのできない通信方法を判定することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記制御手段は、前記ユーザインターフェースからユーザが通信方法を選択する前に、前記複数の通信方法のそれぞれについて、通信を確立する手順を前記通信手段に実行させ、前記外部機器との通信に用いることのできない通信方法を判定することを特徴とする請求項１に記載の電子機器。
【請求項４】
前記制御手段は、前記外部機器が対応していない通信方法を、前記外部機器との通信に用いることのできない通信方法と判定することを特徴とする請求項１から３のいずれか１項に記載の電子機器。
【請求項５】
前記制御手段は、前記外部機器が対応している通信方法であっても、該通信方法において前記電子機器と通信するために必要な機能を有さない場合には、該通信方法を前記外部機器との通信に用いることのできない通信方法と判定することを特徴とする請求項１から４のいずれか１項に記載の電子機器。
【請求項６】
前記通信方法が、通信する機器がそれぞれ異なる機能を実行することを必要とし、前記電子機器と前記外部機器とが同じ機能しか実行できない場合、前記制御手段は前記通信方法を前記外部機器との通信に用いることのできない通信方法と判定することを特徴とする請求項５に記載の電子機器。
【請求項７】
前記電子機器と前記外部機器とがいずれもＵＳＢ  ＰＤ規格におけるソース機器またはシンク機器としてしか機能しない場合、前記制御手段はＵＳＢ  ＰＤ規格を用いる通信方法を前記外部機器との通信に用いることのできない通信方法と判定することを特徴とする請求項５に記載の電子機器。
【請求項８】
前記ＵＳＢ  ＰＤ規格を用いる通信方法が、ＤｉｓｐｌａｙＰｏｒｔ規格に準拠した通信であることを特徴とする請求項７に記載の電子機器。
【請求項９】
前記電子機器と前記外部機器とがいずれもＵＳＢホストまたはＵＳＢデバイスとしてしか機能しない場合、前記制御手段はＵＳＢ通信を前記外部機器との通信に用いることのできない通信方法と判定することを特徴とする請求項５に記載の電子機器。
【請求項１０】
インターフェースと、
前記インターフェースを通じた外部機器との通信に用いる通信方法をユーザが選択するためのユーザインターフェースを表示する表示手段と、
複数の通信方法の１つを選択的に用い、前記インターフェースを通じて外部機器と通信可能な通信手段と、を有する電子機器の制御方法であって、
前記通信手段による前記外部機器との通信を確立するための手順を通じて、前記複数の通信方法のうち、前記外部機器との通信に用いることのできない通信方法を判定する判定工程と、
前記判定工程において前記外部機器との通信に用いることのできない通信方法と判定された通信方法を選択できない前記ユーザインターフェースを前記表示手段に表示する表示工程と、
を有することを特徴とする電子機器の制御方法。
【請求項１１】
コンピュータを、請求項１から９のいずれか１項に記載の電子機器の制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子機器およびその制御方法に関する。
【背景技術】
【０００２】
ＵＳＢ  Ｔｙｐｅ−Ｃ規格に準拠したケーブルを用いて、ＵＳＢとは異なる規格に準拠した通信（非ＵＳＢ通信）を行うオルタネートモード（Ａｌｔｅｒｎａｔｅ  Ｍｏｄｅ）が知られている。オルタネートモードに対応した機器間では、１つのインターフェース（同じケーブル）を用いてＵＳＢ規格に準拠した通信（ＵＳＢ通信）と非ＵＳＢ通信とを切り替えながら実行することができる（特許文献１）。ＤｉｓｐｌａｙＰｏｒｔ（ＤＰ）規格に準拠した通信（ＤＰ通信）は、オルタネートモードを用いて実行することができる非ＵＳＢ通信の一例である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2018-200345号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
オルタネートモードに対応した機器間で所定の規格に準拠した通信を行うには、それぞれの機器が適切な通信能力を有する必要がある。例えば、ＤＰ通信を行うには、接続された２つの機器がＤＰ規格に対応しており、かつ、一方の機器がＤＰ規格におけるソース機器（出力側機器）、他方の機器がシンク機器（入力側機器）として動作可能でなければならない。一方の機器がＤＰ規格に対応しない場合や、両方の機器がソース機器またはシンク機器としてしか動作しない場合には、ＤＰ通信は行えない。
【０００５】
しかし、従来のオルタネートモード対応機器においては、自身の通信能力だけに基づいて相手機器との通信方法をユーザに選択させていた。そのため、ユーザが選択した通信方法では相手機器と通信できない場合があった。この場合、ユーザは、実施できない通信方法を選択したことを、相手機器との通信に失敗するまで把握できないため、使い勝手に改善の余地があった。
【０００６】
本発明はこのような従来技術の課題を緩和し、１つのインタフェースを用いて外部機器と異なる規格に準拠した通信を選択的に実行可能な電子機器の使い勝手を改善する電子機器およびその制御方法の提供を目的とする。
【課題を解決するための手段】
【０００７】
上述の目的は、インターフェースと、インターフェースを通じた外部機器との通信に用いる通信方法をユーザが選択するためのユーザインターフェースを表示する表示手段と、複数の通信方法の１つを選択的に用い、インターフェースを通じて外部機器と通信可能な通信手段と、制御手段と、を有し、制御手段は、通信手段による外部機器との通信を確立するための手順を通じて、情報複数の通信方法のうち、外部機器との通信に用いることのできない通信方法を判定し、判定された通信方法を選択できないユーザインターフェースを表示手段に表示する、ことを特徴とする電子機器によって達成される。
【発明の効果】
【０００８】
このような構成により、本発明によれば、１つのインタフェースを用いて外部機器と異なる規格に準拠した通信を選択的に実行可能な電子機器の使い勝手を改善する電子機器およびその制御方法を提供できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１における電子機器１００の機能構成例を示すブロック図
【図２】実施形態１における外部機器の接続構成を示す図
【図３】実施形態１における機器の接続を検出する動作に関するシーケンスチャート
【図４】実施形態１におけるＳＳモードでの通信を確立する手順に関するシーケンスチャート
【図５】実施形態１におけるＤＰ通信を確立する手順に関するシーケンスチャート
【図６】実施形態１における外部機器の通信能力を判定する手順に関するシーケンスチャート
【図７】実施形態１におけるＵＳＢ通信からＤＰ通信への切り替え手順に関するシーケンスチャート
【図８】実施形態２における外部機器の通信能力を判定する手順に関するシーケンスチャート
【図９】実施形態２におけるＤＰ通信からＵＳＢ通信への切り替え手順に関するシーケンスチャート
【図１０】実施形態３における外部機器の通信能力を判定する手順に関するシーケンスチャート
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。ただし、本発明は以下の実施形態に限定されるものではない。
【００１１】
なお、以下の実施形態において、ＵＳＢ規格におけるオルタネートモードは、１つのインターフェースまたはケーブルを用いて、異なる規格に準拠した複数の通信方法の１つを選択的に用いて外部機器と通信可能な技術の一例である。以下の実施形態は、同様な機能を実現する他の技術に対しても適用できる。なお、以下の実施形態に関するＵＳＢ３．１規格、ＵＳＢ  Ｔｙｐｅ−Ｃ規格、ＵＳＢ  ＰＤ（Ｐｏｗｅｒ  Ｄｅｌｉｖｅｒｙ）規格の詳細については、規格書を参照されたい。また、以下の実施形態では、電子機器の一例としてデジタルカメラを説明する。以下の実施形態における電子機器は、パーソナルコンピュータ、スマートフォン、タブレット端末、ゲーム機、メディアプレーヤなどのコンピュータ機器をはじめ、ロボット、自動車、家電製品などであってもよい。
【００１２】
［実施形態１］
＜デジタルカメラの構成＞
図１は、実施形態１における電子機器１００の機能構成例を示すブロック図である。
制御部１０１は、１つ以上のプログラマブルプロセッサを有する。制御部１０１のプロセッサは、不揮発性メモリ１０３に記録されたプログラムをＲＡＭ１０４を用いて実行することにより電子機器１００の各部の動作を制御し、電子機器１００の様々な機能を実現する。以下、制御部１０１が行う動作は、異なる説明がない限り、制御部１０１のプロセッサがプログラムを実行することによって実現される。
【００１３】
バス１３０は、接続された機能ブロックに対して他の機能ブロックとの通信路を提供する。
不揮発性メモリ１０３は、制御部１０１のプロセッサが実行可能なプログラム、各種の設定、ＧＵＩデータなどを記憶する。ＲＡＭ１０４は、制御部１０１のプロセッサがプログラムの実行に用いる。ＳＤＲＡＭ１０５は、画像データのバッファとして用いられたり、管理情報など各種情報を一時的に記憶するために用いられる。
【００１４】
メディアインターフェース（ＩＦ）１０８は、記録媒体１０９との通信インターフェースである。メディアＩＦ１０８は、制御部１０１の制御に従い、記録媒体１０９に対してコマンドを送信したり、記録媒体１０９とデータを送受信したりする。記録媒体１０９は例えばメモリカードである。
【００１５】
撮像部１２０は、撮像光学系（レンズ）、絞り、シャッタ、撮像素子などを含む。撮像部１２０は制御部１０１の制御に従って撮影動作を実行し、得られたＲＡＷ画像データをバス１３０を経由してＳＤＲＡＭ１０５に保存する。
【００１６】
現像部１２１は、ＳＤＲＡＭ１０５に保存されているＲＡＷ画像データを読み出す。そして、現像部１２１は読み出したＲＡＷ画像データに現像処理を適用する。現像処理には例えば画素補間処理、フィルタ処理、リサイズ処理、色変換処理、信号フォーマット変換処理などが含まれるが、これらに限定されない。信号フォーマット変換処理は、例えばＲＧＢ形式からＹＣｂＣｒ形式への変換処理である。現像部１２１は、現像処理後の画像データをＳＤＲＡＭ１０５に保存する。
【００１７】
制御部１０１は、現像処理後の画像データをＳＤＲＡＭ１０５から読み出す。そして、制御部１０１は読み出した画像データを格納した所定形式のデータファイルを、メディアＩＦ１０８を通じて記録媒体１０９に記録する。制御部１０１はまた、記録媒体１０９に記録されているデータファイルから画像データを読み出し、ＳＤＲＡＭ１０５に保存する。
【００１８】
表示制御部１０６は、ＳＤＲＡＭ１０５から現像処理後の画像データを読み出す。そして表示制御部１０６は読み出した画像データから表示用の画像データを生成する。表示制御部１０６は、例えば画像データに表示部１０７の解像度に応じたスケーリング処理を適用して表示用の画像データを生成する。表示制御部１０６は生成した表示用の画像データを、例えばタッチディスプレイである表示部１０７に出力する。
【００１９】
表示部１０７は、表示制御部１０６で生成された表示用の画像データに基づく画像を表示する。また、表示部１０７は、メニュー画面、アイコン、ソフトキーなどのＧＵＩを表示する。表示部１０７に設けられたタッチパネルは、ユーザが電子機器１００に指示を与えるための操作部として機能する。なお、電子機器１００はスイッチやボタンなど、操作部として機能する他の入力デバイスを有してよい。
【００２０】
ＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル１１５（以下、Ｔｙｐｅ−Ｃレセプタクル１１５と呼ぶ）は、ＵＳＢ  Ｔｙｐｅ−Ｃ規格に準拠したレセプタクルである。Ｔｙｐｅ−Ｃレセプタクル１１５は、ＵＳＢケーブルなどに設けられたＴｙｐｅ−Ｃプラグと嵌合する。制御部１０１は、Ｔｙｐｅ−Ｃレセプタクル１１５を通じて外部機器と様々な規格および速度で通信する。Ｔｙｐｅ−Ｃレセプタクル１１５には、ＵＳＢ通信および非ＵＳＢ通信のためのコントローラ１１０〜１１３と切断部１１７が接続される。
【００２１】
制御部１０１は、外部機器とSuperSpeed（ＳＳ）モードでＵＳＢ通信する場合、ＵＳＢ３．１コントローラ１１１（以下、ＳＳ１１１と呼ぶ）を用いる。また、制御部１０１は、外部機器とＵＳＢ２．０までのスピードモード（Non-SuperSpeed（ＮＳＳ）モード）でＵＳＢ通信する場合、ＵＳＢ２．０コントローラ１１０（以下、ＮＳＳ１１０と呼ぶ）を用いる。ＮＳＳモードには、High-Speedモード、Full-Speedモード、およびLow-Speedモードが含まれる。制御部１０１は、外部機器と非ＵＳＢ通信としてＤｉｓｐｌａｙＰｏｒｔ規格に準拠したＤＰ通信を行う場合、Ｄｉｐｌａｙコントローラ１１２（以下、ＤＰ１１２と呼ぶ）を用いる。
【００２２】
ＰＤコントローラ１１３は、切り替え部１１６の制御に従い、ＵＳＢ  ＰＤ規格で定められたシーケンスに準じてオルタネートモードの開始および終了を制御する。
マルチプレクサ（ＭＵＸ）１１４は、切り替え部１１６の制御に従って、ＳＳ１１１の信号線とＤＰ１１２の信号線とを選択的にＴｙｐｅ−Ｃレセプタクル１１５に接続する。
【００２３】
切り替え部１１６は制御部１０１の制御に従ってＰＤコントローラ１１３とＭＵＸ１１４を制御する。制御部１０１は、切り替え部１１６を通じて外部機器とＣＣ（コンフィグレーションチャネル）を通じて外部機器と通信する。オルタネートモードにおけるＵＳＢ通信と非ＵＳＢ通信とは、切り替え部１１６の制御によって切り替えられる。
【００２４】
切断部１１７はＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル１１５のＣＣに選択的に接続され、外部機器との通信を切断状態にする。切断部１１７の接続および接続解除は、制御部１０１が制御する。
【００２５】
モード取得部１１９はＰＤコントローラ１１３を制御し、ＵＳＢ  ＰＤ規格のシーケンスを用いて外部機器がＤｉｓｐｌａｙＰｏｒｔ規格に対応しているか否かを検出する。
【００２６】
＜接続構成＞
図２は、電子機器１００と外部機器２００とがＵＳＢ  Ｔｙｐｅ−Ｃ規格のコネクタによって接続される際の信号線またはチャネルについて模式的に示している。ここで、外部機器２００は例えばＤｉｓｐｌａｙＰｏｒｔ  ｏｖｅｒ  ＵＳＢ−Ｃ（またはＤＰ  Ａｌｔ  Ｍｏｄｅ）に対応した表示装置である。外部機器２００も電子機器１００が有するＴｙｐｅ−Ｃレセプタクル１１５と同様のＴｙｐｅ−Ｃレセプタクル２１０を有している。
【００２７】
Ｄ＋／Ｄ−２０１はＵＳＢ２．０コントローラ１１０によるＮＳＳモードのＵＳＢ通信に用いられる。ＳＳ ＴＸ／ＲＸ２０２は、ＵＳＢ３．１コントローラによるＳＳモードのＵＳＢ通信に用いられる。オルタネートモードにおいてＳＳ ＴＸ／ＲＸ２０２は、ＤＰコントローラ１１２によるＤＰ通信にも用いられる。ＶＢＵＳ２０３は５Ｖの電源ラインである。ＣＣ（コンフィグレーションチャネル）２０４は、外部機器との接続に関する検出、設定、管理などに用いられる。
【００２８】
＜接続検出について＞
ＵＳＢ  Ｔｙｐｅ−Ｃ規格ではＣＣ１、ＣＣ２にプルアップ抵抗Ｒｐまたはプルダウン抵抗Ｒｄを接続することにより、機器の接続や役割を認識したり、相手機器に示したりする。
具体的には、ソース機器はＣＣにプルアップ抵抗Ｒｐを接続し、シンク機器はＣＣにプルダウン抵抗Ｒｄを接続する。なお、ソース機器は接続を検出する機器、シンク機器は接続を検出される機器である。プルアップ抵抗Ｒｐおよびプルダウン抵抗Ｒｄの具体的な抵抗値は規格に規定されている。
【００２９】
次に、図３のシーケンスチャートを用いて、ソース機器（以下、ソースと呼ぶ）とシンク機器（以下、シンクと呼ぶ）の接続検出シーケンスについて説明する。また、ここでは電子機器１００がソース、外部機器２００がシンクであるとする。
【００３０】
Ｓ３００で制御部１０１をＵＳＢ２．０コントローラ１１２を制御してＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１、ＣＣ２をＲｐでプルアップする。また、制御部１０１は、ＵＳＢ２．０コントローラ１１２がＴｙｐｅ−Ｃレセプタクル１１５のＶＢＵＳへの給電を行わないように制御する。
Ｓ３０１で外部機器２００はＴｙｐｅ−Ｃレセプタクル２１０のＣＣ１、ＣＣ２をＲｄでプルダウンする。また、電子機器１００が給電していないため、Ｔｙｐｅ−Ｃレセプタクル２１０のＶＢＵＳでは給電が検出されない。
【００３１】
Ｓ３０２で電子機器１００および外部機器２００のＴｙｐｅ−Ｃレセプタクル１１５、２１０にＵＳＢ  Ｔｙｐｅ−Ｃケーブルのプラグが挿入される。
これにより、電子機器１００と外部機器２００との間でＣＣ１、ＣＣ２が電気的に接続され、Ｔｙｐｅ−Ｃレセプタクル１１５のＣＣ１、ＣＣ２が外部機器２００内のプルダウン抵抗Ｒｄと接続される。
Ｓ３０４でＵＳＢ２．０コントローラ１１２はＣＣ１、ＣＣ２がＲｄでプルダウンされていることを検出、シンク（外部機器２００）と接続されたことを認識する。
【００３２】
Ｓ３０５で制御部１０１は、ＵＳＢ２．０コントローラ１１２を制御して、Ｔｙｐｅ−Ｃレセプタクル１１５のＶＢＵＳへの給電を開始する。
Ｓ３０６で外部機器２００はＴｙｐｅ−Ｃレセプタクル２１０のＶＢＵＳへの給電を検出する。これにより、外部機器２００はソース（電子機器１００）との接続を認識する。
【００３３】
＜ＳＳモードでの接続シーケンス＞
次に、ＵＳＢ  Ｔｙｐｅ−Ｃ規格における、ＳＳモードの接続シーケンスについて図４のシーケンスチャートを用いて説明する。また、ここでは電子機器１００がソースかつＵＳＢホスト、外部機器２００がシンクかつＵＳＢデバイスであるとする。
【００３４】
図４のＳ４００〜Ｓ４０６は図３のＳ３００〜Ｓ３０６と同様の処理であるため、説明を省略する。
Ｓ４０７において制御部１０１は、ＵＳＢ３．１コントローラ１１１を制御し、ＳＳ(SuperSpeed)信号を用いたレシーバ検出動作を実行させる。外部機器２００でもＳ４０８でＳ４０７と同様の動作を実行する。
レシーバ検出処理により、電子機器１００と外部機器２００はそれぞれ、相手機器と電気的に接続したことを検出する。
Ｓ４０９で電子機器１００と外部機器２００において、ＳＳリンクでリンクの初期化処理を実行し、Ｓ４１０でＳＳモード接続が確立する。
【００３５】
＜オルタネートモードでＤＰ通信するシーケンス＞
次に、図５のシーケンスチャートを用いて、電子機器１００と外部機器２００との、オルタネートモードを利用した非ＵＳＢ通信（DP Alt mode）の接続シーケンスについて説明する。電子機器１００がソース、外部機器２００がシンクである。
【００３６】
Ｓ５００〜Ｓ５０４は図３のＳ３００〜Ｓ３０４と同様の処理であるため、説明を省略する。
Ｓ５０５で制御部１０１は、ＰＤコントローラ１１３を制御し、ＣＣを通じて、外部機器２００との間で電力供給に関するネゴシエーション(Power Negotiation)手順を実行する。ネゴシエーション手順において制御部１０１と外部機器２００は、ＵＳＢ  ＰＤ規格で定義されたＳＯＰ(Start Of Packet)通信を行う。ネゴシエーション手順により、制御部１０１および外部機器２００は、最大電流、動作電流、ＶＢＵＳ給電の方向などの電源供給に関する設定を決定する。ネゴシエーション手順の具体的な手順は規格に記載されているため、これ以上の説明は省略する。また、ソース、シンクいずれかが電力共有に関するネゴシエーション手順をサポートしていない場合、Ｓ５０５の処理を省略してもよい。
【００３７】
Ｓ５０６で制御部１０１はモード取得部１１９を制御し、ＣＣを通じてＤｉｓｃｏｖｅｒ  ＳＶＩＤｓコマンドを外部機器２００に送信する。Ｄｉｓｃｏｖｅｒ  ＳＶＩＤｓコマンドは相手機器がサポートするＳＶＩＤ（Ｓｔａｎｄａｒｄ  ｏｒ  Ｖｅｎｄｏｒ  ＩＤ）のリストを取得するコマンドである。
Ｓ５０７で外部機器２００は、サポートするＳＶＩＤのリストを返信する。
【００３８】
Ｓ５０８で制御部１０１はＳ５０７で受信したＳＶＩＤのリストに、ＤｉｓｐｌａｙＰｏｒｔのＶＩＤ（ＦＦ０１ｈ）が存在するか確認する。ＤｉｓｐｌａｙＰｏｒｔのＶＩＤが存在することが確認されれば、制御部１０１は外部機器２００がＤｉａｐｌａｙＰｏｒｔ規格に対応していると判定する。一方、外部機器２００から受信したＳＶＩＤのリストにＤｉｓｐｌａｙＰｏｒｔのＶＩＤが存在しない場合、制御部１０１は外部機器がＤｉｓｐｌａｙＰｏｒｔ規格に対応していないと判定し、接続処理を終了する。
【００３９】
Ｓ５０９で制御部１０１は切り替え部１１６を制御して、ＤｉｓｐｌａｙＰｏｒｔのＶＩＤを指定したＤｉｓｃｏｖｅｒ  Ｍｏｄｅｓコマンドを外部機器２００に送信する。
Ｓ５１０で外部機器２００は、Ｄｉｓｃｏｖｅｒ  Ｍｏｄｅｓコマンドに指定されたＳＶＩＤについて有するモードのリストを返送する。
【００４０】
Ｓ５１１で制御部１０１は切り替え部１１６を制御して、Ｓ５１０で受信したモードの１つを指定したＥｎｔｅｒ  Ｍｏｄｅコマンドを外部機器２００に送信する。
Ｓ５１２で外部機器２００は指定されたモードに遷移すると応答メッセージ（ＡＣＫ）を返送する。
【００４１】
Ｓ５１３で制御部１０１は切り替え部１１６を制御して、ＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル１１５のＳＳ信号線４本にＤＰ１１２の４本の信号線を接続する状態にＭＵＸ１１４を設定する。
Ｓ５１４で制御部１０１は切り替え部１１６を制御してＧｏｏｄＣＲＣコマンドを送信する。ＧｏｏｄＣＲＣコマンドは直前のメッセージの正常受信を示すメッセージである。したがって、外部機器２００はＳ５１４で送信されるＧｏｏｄＣＲＣコマンドを受信すると、Ｓ５１２で送信したＡＣＫが正しく受信されたことを認識する。
【００４２】
Ｓ５１５で電子機器１００および外部機器２００がオルタネートモードに遷移する。以後、ＤｉｓｐｌａｙＰｏｒｔ規格に準拠した通信（ＤＰ通信）が電子機器１００と外部機器２００との間で実行される。
【００４３】
なお、前述したコマンドは、ＶＤＭ(Vendor Defined Message)と呼ばれるメッセージを利用して実現される。具体的には、ＶＤＭに含まれるＶＤＭヘッダのコマンドフィールド（Ｂｉｔ４．．０）に指定される数値でコマンドを表す。コマンドごとの数値は以下の通りである。
・Ｄｉｓｃｏｖｅｒ  ＳＶＩＤｓ＝２
・Ｄｉｓｃｏｖｅｒ  Ｍｏｄｅｓ＝３
・Ｅｎｔｅｒ  Ｍｏｄｅ＝４
ＶＤＭヘッダのフォーマットに関してはＵＳＢ  ＰＤ規格に記載されているため、これ以上の説明は省略する。
【００４４】
実施形態１の電子機器１００は、オルタネートモードに対応し、かつＵＳＢ通信とＤＰ通信が可能である。また、ＤＰ通信においてはソース機器（出力機器）として機能する。Ｔｙｐｅ−Ｃレセプタクル１１５を通じて外部機器が接続された場合、制御部１０１は外部機器とＵＳＢ通信またはＤＰ通信のどちらを利用するかをユーザに選択させるメニュー画面を表示部１０７に表示させる。そして、制御部１０１は、複数の通信方法のうち、ユーザがメニュー画面から選択した通信方法で外部機器との接続を確立するための処理を実行する。
【００４５】
ここで、外部機器と第１の通信方法（規格）による通信が確立している状態で、第２の通信方法への変更がユーザから指示されたものとする。制御部１０１は、ＰＤコントローラ１１３および切り替え部１１６を制御してオルタネートモードのモード変更または終了手順を実行させ、第２の通信方法による通信を確立しようとする。しかしながら、外部機器２００が第２の通信方法に対応しているとは限らない。また、第２の通信方法に対応していても、機器の関係（ソース／シンクや、ＵＳＢホスト／ＵＳＢデバイス）が満たせない場合には第２の通信方法での通信は確立できない。
【００４６】
この場合、第２の通信方法への切り替えを開始してから、接続の確立に失敗して第１の通信方法による通信を再確立するまでの間、第１の通信方法による通信が切断された状態となる。そのため、ユーザに不要な切り替え操作を行わせてしまうことに加え、不要な通信の切断および再確立を実行することになる。これらは使い勝手や消費電力低減という観点において改善の余地がある。
【００４７】
例えば、外部機器２００がＤＰ  Ａｌｔ  Ｍｏｄｅに対応している表示装置の場合、オルタネートモードを利用したＤＰ通信は可能であるが、ＵＳＢ通信機能は有していない場合がある。これは、オルタネートモード対応機器はＵＳＢ  ＰＤ規格に準拠する必要があるが、ＵＳＢ  ＰＤ規格においてデータ通信機能は必須でないからである。また、外部機器がスマートフォンやタブレット端末である場合には、ＵＳＢ通信には対応していても、ＤＰ通信には対応していない場合がある。また、外部機器２００がＤＰ通信に対応していても、ソース機器としてしか動作しない場合、電子機器１００がＤＰ通信においてソース機器として動作することはできない。
【００４８】
そのため、実施形態１では、ユーザが選択可能な通信方法の選択肢を、接続された外部機器の通信能力に応じて変化させる。そして、ユーザが不要な通信方法への切り替えを指示したり、不要な手順が実行されることを抑制する。以下、このような動作を実現するための動作について説明する。
【００４９】
＜外部装置との接続動作＞
図６のシーケンスチャートを参照して、実施形態１における電子機器１００が外部機器２００とＵＳＢ通信を確立させる際の動作について説明する。
Ｓ６００で、電子機器１００と外部機器２００のＴｙｐｅ−Ｃレセプタクル１１５、２１０にＴｙｐｅ−Ｃケーブルのプラグが挿入される。Ｔｙｐｅ−Ｃレセプタクル１１５へのプラグ挿入が検出されると、制御部１０１は表示制御部１０６を制御して、表示部１０７に通信方法の選択画面６３０を表示させる。選択画面６３０は通信方法をユーザが選択するためのユーザインターフェースである。
【００５０】
選択画面６３０は、外部機器２００との通信方法としてＵＳＢ通信を指示するためのＵＳＢ接続アイコン６３１と、ＤＰ通信を指示するためのＤＰ接続アイコン６３２とを含んでいる。ＵＳＢ接続アイコン６３１とＤＰ接続アイコン６３２はそれぞれソフトキーとして機能する。タッチディスプレイである１０７において、アイコンに対応する領域へのタッチ操作が検出されると、制御部１０１はそのアイコンの選択操作と認識する。例えばユーザは画像データをＰＣに転送する場合にはＵＳＢ通信を、表示部１０７の表示を外部表示装置でミラーリングする場合にはＤＰ通信を選択することができる。ここではＵＳＢ通信を行うものとし、ユーザはＵＳＢ接続アイコン６３１を選択（タッチ）する。
【００５１】
Ｓ６０１で制御部１０１は、選択画面６３０でＵＳＢ接続アイコン６３１が選択されたことを検出する。
Ｓ６０２で制御部１０１は、自身がＵＳＢ  ＰＤ規格におけるソース（電力を供給する機器）であることを外部機器２００に示すため、接続部１１８を制御してＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１、ＣＣ２にプルアップ抵抗Ｒｐを接続する。制御部１０１はこの時点ではＶＢＵＳに給電しない。
【００５２】
また、Ｓ６０２からＳ６２０までの期間、制御部１０１は、ＵＳＢ接続処理中であることをユーザに知らせるため、表示制御部１０６を制御して、選択画面６３０の代わりに、アイコンを含んだ処理中画面６３３を表示させる。なお、処理を実行中であることを協調するため、処理中画面６３３におけるアイコンを点滅表示してもよい。
【００５３】
ここで、外部機器２００は、ソースとしてもシンクとしても機能可能な、ＤＲＰ（Ｄｕａｌ−Ｒｏｌｅ−Ｐｏｗｅｒ）に対応した機器であるとする。この場合、Ｓ６０３で外部機器２００は、Ｔｙｐｅ−Ｃレセプタクル２１０のＣＣ１，ＣＣ２に、ｔＤＲＰの周期（最小５０ｍｓ〜最大１００ｍｓ）でプルダウン抵抗Ｒｄとプルアップ抵抗Ｒｐとを交互に接続する。
【００５４】
Ｓ６０４は、外部機器２００がＴｙｐｅ−Ｃレセプタクル２１０に抵抗Ｒｐを接続している状態を示している。
Ｓ６０５で制御部１０１は、ＣＣがプルダウンされていることを検出し、シンク（外部機器２００）が接続されたことを認識する。
【００５５】
Ｓ６０６で制御部１０１は、Ｓ５０５と同様に、ＰＤコントローラ１１３を制御して、外部機器２００とＵＳＢ  ＰＤ規格における電力供給のネゴシエーション手順を実行する。
【００５６】
Ｓ６０７、Ｓ６０８はＳ５０６、Ｓ５０７の処理と同じである。この処理により、制御部１０１は外部機器２００がサポートしているＳＶＩＤのリストを取得する。
【００５７】
Ｓ６０９で制御部１０１は、取得したＳＶＩＤのリストに、ＤｉｓｐｌａｙＰｏｒｔのＶＩＤ（ＦＦ０１ｈ）が存在するか否か判定する。そして、制御部１０１は判定結果を外部機器の通信能力に関するデータとしてＲＡＭ１０４に保存する。ここで、制御部１０１は、ＤｉｓｐｌａｙＰｏｒｔのＶＩＤが存在すれば外部機器２００はＤＰ通信に対応した機器であると判定し、ＤｉｓｐｌａｙＰｏｒｔのＶＩＤが存在しなければ外部機器２００はＤＰ通信に対応していない機器であると判定する。
【００５８】
Ｓ６０２からＳ６０９までの処理は、外部機器２００とＤＰ通信が可能であるか否かを判定するための処理である。ＵＳＢ通信において電子機器１００はデバイスとして機能する。そして、ＵＳＢ通信におけるデバイスとして機能する機器は、ＵＳＢ  ＰＤにおいてシンクとして機能する必要がある。そのため、電子機器１００をシンクとし設定し直すために、ＵＳＢ  ＰＤの手順を再実行する。
【００５９】
Ｓ６１０で制御部１０１は、切断部１１７をＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１，ＣＣ２に接続し、ＣＣをハイインピーダンス状態(Hi-z)にする。これにより、ＣＣは電気的切断状態になる（Ｓ６１１）。
Ｓ６１２で外部機器２００は通信の切断を検出し、切断処理を行う。
【００６０】
Ｓ６１３で制御部１０１は接続部１１８を制御して、自身をシンクとして示すためにＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１、ＣＣ２にプルダウン抵抗Ｒｄを接続する。
Ｓ６１４で外部機器２００は、Ｓ６０３と同様にして、Ｔｙｐｅ−Ｃレセプタクル２１０に接続する抵抗を周期的に切り替える。
【００６１】
Ｓ６１５のタイミングで、外部機器２００は、Ｔｙｐｅ−Ｃレセプタクル２１０に抵抗Ｒｐを接続している期間にＣＣがプルダウンされていることを検出する。
Ｓ６１６で外部機器２００は、シンクが接続されたことを認識する。そして、自身がソースとして機能するために、Ｔｙｐｅ−Ｃレセプタクル２１０に接続する抵抗をプルアップ抵抗Ｒｐに固定する。
【００６２】
Ｓ６１７はＳ６０６と同様の、電力供給に関するネゴシエーション処理である。ただし、ソースとシンクの関係がＳ６０６とは逆転している。
【００６３】
Ｓ６１８で制御部１０１は切り替え部１１６を制御して、ＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル１１５のＳＳ信号線４本にＳＳ１１１の４本の信号線を接続する状態にＭＵＸ１１４を設定する。
Ｓ６１９で外部機器２００はＶＢＵＳへの電源供給を開始する。
【００６４】
Ｓ６２０で電子機器１００と外部機器２００はＵＳＢエニュメレーションを実行する。この処理では、外部機器２００がＵＳＢホスト、電子機器１００がＵＳＢデバイスとして動作する。ＵＳＢエニュメレーションにより、ホストがデバイスと通信することが可能になる。
Ｓ６２１で、電子機器１００と外部機器２００の間のＵＳＢ接続が確立する。
【００６５】
Ｓ６２２で制御部１０１は、Ｓ６０９での判定結果またはＳ６０８で取得したリストに基づいて、以後、外部機器２００が接続されている間に表示する、通信方法の選択画面の表示内容を変更する。なお、通信方法の選択画面は、ユーザ指示に応じて表示してもよいし、Ｓ６２１で通信が確立すると、通信が継続している間は常時表示されてもよい。後者の場合、選択画面は、現在の接続における通信方法の確認画面としても機能する。
【００６６】
具体的には、制御部１０１は、選択画面を表示する際、ＲＡＭ１０４に保存されている、外部機器の通信能力に関するデータを参照する。そして、制御部１０１は、外部機器２００が対応していない（あるいは外部機器２００とは実施できない）通信方法が選択できないように選択画面の内容を変更してから表示部１０７に表示する。
【００６７】
外部機器２００とＤＰ通信が可能である場合に表示する選択画面６３５は、現在確立している通信方法を表す情報の一例であるＵＳＢアイコン６３４と、ＤＰ通信への切り替えを指示するためのＤＰ接続アイコン６３２とを含んでいる。一方、外部機器２００とＤＰ通信ができない場合に表示する選択画面６３６は、ＵＳＢアイコン６３４を含むが、ＤＰ接続アイコン６３２は含まない。
【００６８】
なお、ＤＰ通信ができない場合とは、外部機器２００がＤｉｓｐｌａｙＰｏｒｔ規格に対応していない場合と、外部機器２００がソースとしてしか機能しない場合とがある。外部機器２００がソースとしてしか機能しない場合、Ｓ６０３でＣＣをプルアップする。そのため、制御部１０１はＣＣのプルダウンをＳ６０５で検出できない。したがって、制御部１０１は、Ｓ６０２でＣＣをプルアップしてから一定時間（例えば５秒）経過してもＣＣのプルダウンを検出できない場合には、外部機器２００をＤＰ通信に対応しない機器であると判定する。そして、処理をＳ６０９に進め、判定結果を外部機器の通信能力に関するデータとしてＲＡＭ１０４に保存する。これにより、外部機器２００がソースとしてのみ機能する場合も、外部機器２００がＤＰ通信に対応していない場合と同様に処理することができる。
【００６９】
なお、Ｓ６０１でユーザがＤＰ接続アイコン６３２を選択したことが検出された場合も、制御部１０１はＳ６０２〜Ｓ６０９を実施する。そして、外部機器２００とＤＰ通信できないことが判明した場合、制御部１０１は、表示制御部１０６を制御して、例えば画面６３８を表示部１０７に表示する。画面６３８は、ユーザが選択した通信方法で外部機器と通信できないことを通知するエラーメッセージと、他の通信方法を選択するためのアイコンとを含んでいる。ここでは、外部機器２００とＤＰ通信ができないため、ＵＳＢ接続アイコン６３１が表示される。
【００７０】
一方、外部機器２００とＤＰ通信が可能な場合、制御部１０１はＳ６０９に続いて、ＤＰ通信のためにオルタネートモードへの切り替え動作を行う。制御部１０１は、図５のＳ５０９〜Ｓ５１４と同様にして、この切り替え動作を行うことができる。
【００７１】
＜ＵＳＢ通信から非ＵＳＢ通信への切り替え動作＞
次に、電子機器１００と外部機器２００の通信方法を、ＵＳＢ通信から非ＵＳＢ通信（ここではＤＰ通信）に切り替える際の動作について、図７に示すシーケンスチャートを用いて説明する。図７は、図６に示したシーケンスによって電子機器１００と外部機器２００とがＵＳＢ通信を確立した以降の動作に相当する。
【００７２】
ＵＳＢ通信が確立した状態で、通信方法の選択画面の表示指示を検出すると、制御部１０１は通信方法の選択画面を、表示制御部１０６を通じて表示部１０７に表示する。ここでは、ＵＳＢ通信を確立する前に、外部機器２００とＤＰ通信可能であることが確認されているものとする。この場合、制御部１０１は、図６に示した選択画面６３５を表示部１０７に表示する。
【００７３】
Ｓ７００で制御部１０１は、選択画面６３５でＤＰ接続アイコン６３２が選択されたことを検出する。
Ｓ７０１で制御部１０１は、切断部１１７をＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１，ＣＣ２に接続し、ＣＣをハイインピーダンス状態(Hi-z)にする。これにより、ＣＣは電気的切断状態になる（Ｓ７０２）。
【００７４】
Ｓ７０１からＳ７０９までの期間、制御部１０１は、ＤＰ接続処理中であることをユーザに知らせるため、表示制御部１０６を制御して、選択画面６３５の代わりにアイコンを含んだ処理中画面７２２を表示させる。なお、処理を実行中であることを協調するため、処理中画面７２２におけるアイコンを点滅表示させてもよい。
【００７５】
Ｓ７０３で外部機器２００はＵＳＢ通信の切断を検出し、切断処理を行う。
Ｓ７０４で制御部１０１は接続部１１８を制御して、自身をソースとして示すためにＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１、ＣＣ２にプルアップ抵抗Ｒｐを接続する。制御部１０１はこの時点ではＶＢＵＳに給電しない。
【００７６】
Ｓ７０５で外部機器２００は、Ｓ６０３と同様にして、Ｔｙｐｅ−Ｃレセプタクル２１０に接続する抵抗を周期的に切り替える。
Ｓ７０６は、外部機器２００がＴｙｐｅ−Ｃレセプタクル２１０に抵抗Ｒｐを接続している状態を示している。
Ｓ７０７で制御部１０１は、ＣＣがプルダウンされていることを検出し、シンク（外部機器２００）が接続されたことを認識する。
【００７７】
Ｓ７０８で制御部１０１は、Ｓ５０５と同様に、ＰＤコントローラ１１３を制御して、外部機器２００とＵＳＢ  ＰＤ規格における電力供給のネゴシエーション手順を実行する。
Ｓ７０９で制御部１０１は外部機器２００とメッセージをやりとりして、ＤＰ通信を行うためにオルタネートモードに移行する。オルタネートモードへ移行するための動作は図５のＳ５０９〜Ｓ５１４で説明した動作と同様であるため、説明は省略する。
【００７８】
Ｓ７１０で制御部１０１はＤＰ１１２を制御し、ＳＳ信号を用いたＤＰ通信を開始する。
【００７９】
また、制御部１０１は、Ｓ７０９でＤＰ通信が可能な状態になると、表示制御部１０６を制御して、通信方法の選択画面７２３を表示部１０７に表示してもよい。選択画面７２３には、現在確立している通信方法を表す情報の一例であるＤＰアイコン７２４と、ＵＳＢ通信への切り替えを指示するためのＵＳＢ接続アイコン６３１とを含んでいる。
【００８０】
なお、Ｓ７００において、電子機器１００と外部機器２００がＵＳＢ通信によってデータを転送中である場合など、ＵＳＢ通信を切断することが望ましくない場合がある。このような場合、制御部１０１は通信方法の選択画面６３５にＤＰ接続アイコン７２１を表示しない（あるいは、選択不能に表示する）ようにしてもよい。その後、データ転送が終了するなど、ＵＳＢ通信を切断しても差し支えない状態になると、制御部１０１はＤＰ接続アイコン７２１を選択画面６３５に表示したり、選択可能にしたりする。
【００８１】
実施形態１によれば、１つのインタフェースを用いて外部機器と異なる規格に準拠した通信を選択的に行うことが可能な電子機器において、外部機器と第１の規格に準拠した通信の開始前に、第２の規格に準拠した通信が可能か否かを確認するようにした。そして、実施できない通信方法が選択できないよう、確認結果に応じて通信方法の選択画面の表示を異ならせるようにした。これにより、接続中の外部機器と実施できない通信方法をユーザが選択することを防止でき、電子機器の使い勝手が向上する。また、確立中の接続の不必要な切断および再接続が回避できるため、通信の中断や電力の無駄な消費を抑制できる。
【００８２】
なお、実施形態１では電子機器がＵＳＢデバイスとして機能し、ＵＢＳホストとして機能する外部機器が接続可能な構成について説明した。しかし、実施形態１はＵＳＢホストとして動作する電子機器にも適用可能である。
【００８３】
また、実施形態１ではオルタネートモードで行う非ＵＳＢ通信としてＤｉｓｐｌａｙＰｏｒｔ規格に準拠したＤＰ通信について説明した。しかし、実施形態１は非ＵＳＢ通信の種類に依存しない。例えばＨＤＭＩ（登録商標）のような、他の規格に準拠した非ＵＳＢ通信を外部機器と行う構成であってもよい。
【００８４】
［実施形態２］
次に、実施形態２について説明する。実施形態２も実施形態１と同様の電子機器１００と外部機器２００とを用いて実施可能であるため、共通する構成や動作に関する説明は省略する。実施形態１では、外部機器の接続時にＵＳＢ通信の実行が指示された場合に、外部機器とＤＰ通信が可能か否かをＵＳＢ通信の確立前に確認する構成について説明した。実施形態２では外部機器の接続時にＤＰ通信の実行が指示された場合に、外部機器とＵＳＢ通信が可能か否かをＤＰ通信の確立前に確認する構成について説明する。
【００８５】
＜外部装置との接続動作＞
図８のシーケンスチャートを参照して、実施形態２における電子機器１００が外部機器２００とＤＰ通信を確立させる際の動作について説明する。
【００８６】
Ｓ８００で、電子機器１００と外部機器２００のＴｙｐｅ−Ｃレセプタクル１１５、２１０にＴｙｐｅ−Ｃケーブルのプラグが挿入される。Ｔｙｐｅ−Ｃレセプタクル１１５へのプラグ挿入が検出されると、制御部１０１は表示制御部１０６を制御して、表示部１０７に通信方法の選択画面６３０を表示させる。選択画面６３０は、外部機器２００との通信方法としてＵＳＢ通信を指示するためのＵＳＢ接続アイコン６３１と、ＤＰ通信を指示するためのＤＰ接続アイコン６３２とを含んでいる。
【００８７】
Ｓ８０１で制御部１０１は、選択画面６３０でＤＰ接続アイコン６３２が選択されたことを検出する。
Ｓ８０２で制御部１０１は接続部１１８を制御して、自身がＵＳＢ  ＰＤ規格におけるシンクであることを外部機器２００に示すため、Ｔｙｐｅ−Ｃレセプタクル１１５のＣＣ１、ＣＣ２にプルダウン抵抗Ｒｄを接続する。
【００８８】
また、Ｓ８０２からＳ８１９までの期間、制御部１０１は、ＤＰ接続処理中であることをユーザに知らせるため、表示制御部１０６を制御して、選択画面６３０の代わりに、ＤＰアイコン７２４を含んだ処理中画面７２２を表示させる。なお、処理を実行中であることを協調するため、処理中画面７２２におけるＤＰアイコン７２４を点滅表示してもよい。
【００８９】
Ｓ８０３で外部機器２００は、Ｔｙｐｅ−Ｃレセプタクル２１０のＣＣ１，ＣＣ２に、ｔＤＲＰの周期（最小５０ｍｓ〜最大１００ｍｓ）でプルダウン抵抗Ｒｄとプルアップ抵抗Ｒｐとを交互に接続する。
Ｓ８０４は、外部機器２００がＴｙｐｅ−Ｃレセプタクル２１０に抵抗Ｒｐを接続している期間に、電子機器１００でＣＣがプルダウンされていることを示している。
Ｓ８０５で外部機器２００は、ＣＣがプルダウンされていることを検出し、シンク（電子機器１００）が接続されたことを認識する。
【００９０】
Ｓ８０６で外部機器２００は、電子機器１００とＵＳＢ  ＰＤ規格における電力供給のネゴシエーション手順を実行する。この処理は、Ｓ５０５で制御部１０１が行う処理と同様である。ネゴシエーション手順により、外部機器２００と電子機器１００との間における電力供給に関する設定が確定する。
【００９１】
Ｓ８０７で制御部１０１は切り替え部１１６を制御して、ＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル１１５のＳＳ信号線４本にＳＳ１１１の４本の信号線を接続する状態にＭＵＸ１１４を設定する。
Ｓ８０８で外部機器２００はＶＢＵＳへの電源供給を開始する。
【００９２】
Ｓ８０９で電子機器１００と外部機器２００はＵＳＢエニュメレーションを実行する。この処理では、外部機器２００がＵＳＢホスト、電子機器１００がＵＳＢデバイスとして動作する。
【００９３】
Ｓ８１０で制御部１０１は、外部機器２００がＵＳＢホストとして動作しているか判定する。そして、制御部１０１は、判定結果を外部機器の通信能力に関するデータとしてＲＡＭ１０４に保存する。例えば制御部１０１は、Ｓ８０９のＵＳＢエニュメレーション処理において、外部機器２００がＵＳＢホストとして実行すべき通信を行っていれば、外部機器２００がＵＳＢホストとして動作していると判定する。制御部１０１は例えば外部機器２００から特定のコマンド（例えばＧｅｔＤｅｓｃｒｉｐｔｏｒコマンド）を受信したことにより、外部機器２００がＵＳＢホストとして動作していると判定することができる。
【００９４】
なお、外部機器２００がシンクとしてのみ機能する場合、Ｓ８０３でＣＣをプルダウンする。そのため、外部機器２００はＣＣのプルダウンをＳ８０５で検出できない。したがって、制御部１０１は、Ｓ８０２でＣＣをプルダウンしてから一定時間（例えば５秒）経過しても電力供給のネゴシエーション手順が開始されない場合には、外部機器２００をＵＳＢ通信に対応しない機器であると判定する。そして、制御部１０１は処理をＳ８１０に進め、判定結果を外部機器の通信能力に関するデータとしてＲＡＭ１０４に保存する。これにより、外部機器２００がシンクとしてのみ機能する場合も、外部機器２００がＵＳＢ通信に対応していない場合と同様に処理することができる。
【００９５】
Ｓ８０２からＳ８１０までの処理は、外部機器２００がＵＳＢホスト機能を有しているか否か（外部機器２００とＵＳＢ通信可能な否か）を判定するための処理である。したがって、判定が完了すると制御部１０１は、ＤＰ通信を開始するためにＵＳＢ  ＰＤの手順を再実行する。
【００９６】
Ｓ８１１で制御部１０１は、切断部１１７をＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１，ＣＣ２に接続し、ＣＣをハイインピーダンス状態(Hi-z)にする。これにより、ＣＣは電気的切断状態になる（Ｓ８１２）。
Ｓ８１３で外部機器２００は通信の切断を検出し、切断処理を行う。
【００９７】
Ｓ８１４で制御部１０１は接続部１１８を制御して、自身をソースとして示すためにＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１，ＣＣ２にプルアップ抵抗Ｒｐを接続する。制御部１０１はこの時点ではＶＢＵＳに給電しない。
Ｓ８１５で外部機器２００は、Ｓ８０３と同様にして、Ｔｙｐｅ−Ｃレセプタクル２１０に接続する抵抗を周期的に切り替える。
Ｓ８１６は、外部機器２００がＴｙｐｅ−Ｃレセプタクル２１０にプルダウン抵抗Ｒｄを接続している状態を示している。
Ｓ８１７で制御部１０１は、ＣＣがプルダウンされていることを検出し、シンク（外部機器２００）が接続されたことを認識する。
【００９８】
Ｓ８１８で制御部１０１は、Ｓ５０５と同様に、ＰＤコントローラ１１３を制御して、外部機器２００とＵＳＢ  ＰＤ規格における電力供給のネゴシエーション手順を実行する。ネゴシエーション手順により、電子機器１００と外部機器２００との間における電力供給に関する設定が確定する。
【００９９】
Ｓ８１９で制御部１０１は外部機器２００とメッセージをやりとりして、ＤＰ通信を行うためにオルタネートモードに移行する。オルタネートモードへ移行するための動作は図５のＳ５０９〜Ｓ５１４で説明した動作と同様であるため、説明は省略する。
Ｓ８２０で制御部１０１はＤＰ１１２を制御し、ＳＳ信号を用いたＤＰ通信を開始する。
【０１００】
Ｓ８２１で制御部１０１は、Ｓ８１０での判定結果に基づいて、以後、外部機器２００が接続されている間に表示する、通信方法の選択画面の表示内容を変更する。なお、通信方法の選択画面は、ユーザ指示に応じて表示してもよいし、Ｓ８２０で通信が確立すると、通信が継続している間は常時表示されてもよい。後者の場合、選択画面は、現在の接続における通信方法の確認画面としても機能する。
【０１０１】
具体的には、制御部１０１は、選択画面を表示する際、ＲＡＭ１０４に保存されている、外部機器が対応していない通信方法の情報を参照する。そして、制御部１０１は、外部機器２００が対応していない（あるいは外部機器２００とは実施できない）通信方法が選択できないように選択画面の内容を変更してから表示部１０７に表示する。
【０１０２】
外部機器２００とＵＳＢ通信が可能である場合に表示する選択画面７２３は、現在確立している通信方法を表す情報の一例であるＤＰアイコン７２４と、ＵＳＢ通信への切り替えを指示するためのＵＳＢ接続アイコン６３１とを含んでいる。一方、外部機器２００とＵＳＢ通信ができない場合に表示する選択画面８３４は、ＤＰアイコン７２４を含むが、ＵＳＢ接続アイコン６３１は含まない。
【０１０３】
なお、Ｓ８０１でユーザがＵＳＢ接続アイコン６３１を選択したことが検出された場合も、制御部１０１はＳ８０２〜Ｓ８１０を実施する。そして、外部機器２００とＵＳＢ通信できないことが判明した場合、制御部１０１は、表示制御部１０６を制御して、例えば画面８３７を表示部１０７に表示する。画面８３７は、ユーザが選択した通信方法で外部機器と通信できないことを通知するエラーメッセージと、他の通信方法を選択するためのアイコンとを含んでいる。ここでは、外部機器２００とＵＳＢ通信ができないため、ＤＰ接続アイコン６３２が表示される。
【０１０４】
一方、外部機器２００とＵＳＢ通信が可能な場合、制御部１０１はＳ８１０の後、図９のＳ９１２に処理を進め、通信を切断せずにＵＳＢ接続を確立する。
【０１０５】
＜非ＵＳＢ通信からＵＳＢ通信への切り替え動作＞
次に、電子機器１００と外部機器２００の通信方法を、非ＵＳＢ通信（ここではＤＰ通信）からＵＳＢ通信に切り替える際の動作について、図９に示すシーケンスチャートを用いて説明する。図９は、図８に示したシーケンスによって電子機器１００と外部機器２００とがＤＰ通信を確立した以降の動作に相当する。
【０１０６】
ＤＰ通信が確立した状態で、通信方法の選択画面の表示指示を検出すると、制御部１０１は通信方法の選択画面を、表示制御部１０６を通じて表示部１０７に表示する。ここでは、ＤＰ通信を確立する前に、外部機器２００とＵＳＢ通信可能であることが確認されているものとする。この場合、制御部１０１は、図８に示した選択画面７２３を表示部１０７に表示する。
【０１０７】
Ｓ９００で制御部１０１は、選択画面６３５でＵＳＢ接続アイコン６３１が選択されたことを検出する。
Ｓ９０１で制御部１０１は、切断部１１７をＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１，ＣＣ２に接続し、ＣＣをハイインピーダンス状態(Hi-z)にする。これにより、ＣＣは電気的切断状態になる（Ｓ９０２）。
【０１０８】
Ｓ９０１からＳ９１１までの期間、制御部１０１は、ＵＳＢ接続処理中であることをユーザに知らせるため、表示制御部１０６を制御して、選択画面７２３の代わりにＵＳＢアイコン６３４を含んだ処理中画面６３３を表示させる。なお、処理を実行中であることを協調するため、処理中画面６３３におけるＵＳＢアイコン６３４を点滅表示させてもよい。
【０１０９】
Ｓ９０３で外部機器２００はＵＳＢ通信の切断を検出し、切断処理を行う。
Ｓ９０４で制御部１０１は接続部１１８を制御して、自身をシンクとして示すためにＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１、ＣＣ２にプルダウン抵抗Ｒｄを接続する。
【０１１０】
Ｓ９０５で外部機器２００は、Ｓ８０３と同様にして、Ｔｙｐｅ−Ｃレセプタクル２１０に接続する抵抗を周期的に切り替える。
Ｓ９０６は、外部機器２００がＴｙｐｅ−Ｃレセプタクル２１０にプルアップ抵抗Ｒｐを接続している状態を示している。
Ｓ９０７で外部機器２００は、ＣＣがプルダウンされていることを検出し、シンク（電子機器１００）が接続されたことを認識する。
【０１１１】
Ｓ９０８で外部機器２００は、Ｓ８０６と同様に、電子機器１００とＵＳＢ  ＰＤ規格における電力供給のネゴシエーション手順を実行する。
Ｓ９０９で制御部１０１は切り替え部１１６を制御して、ＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル１１５のＳＳ信号線４本にＳＳ１１１の４本の信号線を接続する状態にＭＵＸ１１４を設定する。
【０１１２】
Ｓ９０９で制御部１０１は、切り替え部１１６を制御してＭＵＸ１１４でＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル１１５のＳＳ信号線とＳＳ１１１の信号線を接続する。
Ｓ９１０で外部機器２００はＶＢＵＳへの電源供給を開始する。
Ｓ９１１で電子機器１００と外部機器２００はＵＳＢエニュメレーションを実行する。この処理では、外部機器２００がＵＳＢホスト、電子機器１００がＵＳＢデバイスとして動作する。
Ｓ９１２で電子機器１００と外部機器２００とのＵＳＢ通信が確立する。
【０１１３】
また、制御部１０１は、Ｓ９１２でＵＳＢ通信が可能な状態になると、表示制御部１０６を制御して、通信方法の選択画面６３５を表示部１０７に表示してもよい。選択画面６３５には、現在確立している通信方法を表す情報の一例であるＵＳＢアイコン６３４と、ＤＰ通信への切り替えを指示するためのＤＰ接続アイコン６３２とを含んでいる。
【０１１４】
以上説明したように、実施形態２においても実施形態１と同様の効果が実現できる。なお、実施形態２では電子機器が、ＤｉｓｐｌａｙＰｏｒｔ規格に準拠した外部機器と接続する実施形態について説明した。しかし、実施形態２における電子機器は他の規格に準拠した外部機器に接続可能であってもよい。
【０１１５】
また、実施形態２ではオルタネートモードで行う非ＵＳＢ通信としてＤｉｓｐｌａｙＰｏｒｔ規格に準拠したＤＰ通信について説明した。しかし、実施形態２は非ＵＳＢ通信の種類に依存しない。例えばＨＤＭＩ（登録商標）のような、他の規格に準拠した非ＵＳＢ通信を外部機器と行う構成であってもよい。
【０１１６】
［実施形態３］
次に、実施形態３について説明する。実施形態３も実施形態１と同様の電子機器１００と外部機器２００とを用いて実施可能であるため、共通する構成や動作に関する説明は省略する。第１および実施形態２では、外部機器の接続時にＵＳＢ／ＤＰ通信の実行が指示された場合に、外部機器とＤＰ／ＵＳＢ通信が可能か否かをＵＳＢ／ＤＰ通信の確立前に確認する構成について説明した。実施形態３では、外部機器２００の通信能力を予め確認し、最初から外部機器２００の通信能力を反映した通信方法の選択画面を表示する構成に関する。
【０１１７】
＜外部機器との接続時に通信能力を確認する動作＞
図１０は、外部機器２００とＵＳＢ  Ｔｙｐｅ−Ｃケーブルによって接続された際に、外部機器２００の通信能力を確認する動作に関するシーケンスチャートである。
【０１１８】
Ｓ１０００で、電子機器１００と外部機器２００のＴｙｐｅ−Ｃレセプタクル１１５、２１０にＴｙｐｅ−Ｃケーブルのプラグが挿入される。この時点で制御部１０１は１０３０で示すように、表示部１０７に通信方法の選択画面を表示しない。
【０１１９】
Ｓ１００１で制御部１０１は、自身をソースとして示すため、接続部１１８を制御してＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１、ＣＣ２にプルアップ抵抗Ｒｐを接続する。
Ｓ１００２で外部機器２００は、Ｔｙｐｅ−Ｃレセプタクル２１０のＣＣ１，ＣＣ２に、ｔＤＲＰの周期（最小５０ｍｓ〜最大１００ｍｓ）でプルダウン抵抗Ｒｄとプルアップ抵抗Ｒｐとを交互に接続する。
【０１２０】
Ｓ１００３は、外部機器２００がＴｙｐｅ−Ｃレセプタクル２１０に抵抗Ｒｄを接続している状態を示している
Ｓ１００４で制御部１０１は、ＣＣがプルダウンされていることを検出し、シンク（外部機器２００）が接続されたことを認識する。
【０１２１】
Ｓ１００５で制御部１０１は、Ｓ５０５と同様に、外部機器２００とＵＳＢ  ＰＤ規格における電力供給のネゴシエーション手順を実行する。ネゴシエーション手順により、外部機器２００と電子機器１００との間における電力供給に関する設定が確定する。
【０１２２】
Ｓ１００６で制御部１０１はモード取得部１１９を制御し、ＣＣを通じてＤｉｓｃｏｖｅｒ  ＳＶＩＤｓコマンドを外部機器２００に送信する。
Ｓ１００７で外部機器２００はサポートするＳＶＩＤ一覧を返信する。
【０１２３】
Ｓ１００８で制御部１０１はＳ１００７で受信したＳＶＩＤのリストに、ＤｉｓｐｌａｙＰｏｒｔのＶＩＤ（ＦＦ０１ｈ）が存在するか確認する。ＤｉｓｐｌａｙＰｏｒｔのＶＩＤが存在することが確認されれば、制御部１０１は外部機器２００がＤｉａｐｌａｙＰｏｒｔ規格をサポートしていると判定する。制御部１０１は判定結果を外部機器の通信能力に関するデータとしてＲＡＭ１０４に保存する。
【０１２４】
Ｓ１００９で制御部１０１は、切断部１１７をＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１，ＣＣ２に接続し、ＣＣをハイインピーダンス状態(Hi-z)にする。これにより、ＣＣは電気的切断状態になる（Ｓ１０１０）。
Ｓ１０１１で外部機器２００は通信の切断を検出し、切断処理を行う。
【０１２５】
Ｓ１０１２で制御部１０１は接続部１１８を制御して、自身をシンクとして示すためにＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１、ＣＣ２にプルダウン抵抗Ｒｄを接続する。
Ｓ１０１３で外部機器２００は、Ｓ１００２と同様にして、Ｔｙｐｅ−Ｃレセプタクル２１０に接続する抵抗を周期的に切り替える。
Ｓ１０１４は、電子機器１００がＴｙｐｅ−Ｃレセプタクル１１５に抵抗Ｒｄを接続している状態を示している。
Ｓ１０１５で外部機器２００は、ＣＣがプルダウンされていることを検出し、シンク（電子機器１００）が接続されたことを認識する。
【０１２６】
Ｓ１０１６で外部機器２００は、Ｓ１００５で制御部１０１が行ったのと同様に、電子機器１００とＵＳＢ  ＰＤ規格における電力供給のネゴシエーション手順を実行する。
Ｓ１０１７で制御部１０１は、切り替え部１１６を制御してＭＵＸ１１４でＵＳＢ  Ｔｙｐｅ−Ｃレセプタクル１１５のＳＳ信号線とＳＳ１１１の信号線を接続する。
Ｓ１０１８で外部機器２００はＶＢＵＳへの電源供給を開始する。
Ｓ１０１９で電子機器１００と外部機器２００はＵＳＢエニュメレーションを実行する。この処理では、外部機器２００がＵＳＢホスト、電子機器１００がＵＳＢデバイスとして動作する。
【０１２７】
Ｓ１０２０で制御部１０１は、Ｓ８１０と同様にして、外部機器２００がＵＳＢホストとして動作しているか判定する。制御部１０１は、判定結果を外部機器の通信能力に関するデータとしてＲＡＭ１０４に保存する。
Ｓ１０２１で制御部１０１は、切断部１１７をＴｙｐｅ−Ｃレセプタクル１１５のＣＣ１，ＣＣ２に接続し、ＣＣをハイインピーダンス状態(Hi-z)にする。これにより、ＣＣは電気的切断状態になる（Ｓ１０２２）。
Ｓ１０２３で外部機器２００は通信の切断を検出し、切断処理を行う。
【０１２８】
Ｓ１０２４で制御部１０１は、表示制御部１０６を制御して、通信方法の選択画面を表示部１０７に表示し、選択画面に対するユーザ指示を待機する。この際、制御部１０１は、Ｓ１００８とＳ１０２０における判定結果に応じた内容の選択画面を表示する。具体的には、制御部１０１は、ＲＡＭ１０４に保存されている、外部機器２００の通信能力に関する情報を参照する。そして、制御部１０１は、外部機器２００が対応していない（あるいは外部機器２００とは実施できない）通信方法が選択できない内容の選択画面を表示部１０７に表示する。
【０１２９】
ＲＡＭ１０４に保存された判定結果から、外部機器２００がＵＳＢ通信が可能でＤＰ通信が不可能な機器と判定されたとする。この場合、制御部１０１は、例えばＵＳＢ接続アイコン６３１を含み、ＤＰ接続アイコンを含まない選択画面１０３１を表示する。あるいは制御部１０１は、選択可能なＵＳＢ接続アイコン６３１と選択不能なＤＰ接続アイコンとを含んだ選択画面を表示する。
【０１３０】
また、ＲＡＭ１０４に保存された判定結果から、外部機器２００がＤＰ通信が可能でＵＳＢ通信が不可能な機器と判定されたとする。この場合、制御部１０１は、例えばＤＰ接続アイコン６３２を含み、ＵＳＢ接続アイコンを含まない選択画面１０３１を表示する。あるいは制御部１０１は、選択可能なＤＰ接続アイコン６３２と選択不能なＵＳＢ接続アイコンとを含んだ選択画面を表示する。
【０１３１】
また、ＲＡＭ１０４に保存された判定結果から、外部機器２００がＵＳＢ通信およびＤＰ通信が可能な機器と判定されたとする。この場合、制御部１０１は、例えばＵＳＢ接続アイコン６３１とＤＰ接続アイコン６３２とを含んだ選択画面６３０を表示する。
【０１３２】
ユーザがＵＳＢ接続アイコン６３１を選択したことが検出された場合、制御部１０１は、図６のＳ６１３〜Ｓ６２１を実行して、ＵＳＢ通信を確立する。
ユーザがＤＰ接続アイコン６３２を選択したことが検出された場合、制御部１０１は、図７のＳ７０４〜Ｓ７１０を実行して、ＤＰ通信を確立する。
【０１３３】
なお、図１０においては、外部機器２００がＵＳＢ  ＰＤ規格におけるＤＲＰに対応しているものとした。しかし、外部機器２００がＤＲＰに対応していない場合にも実施形態３は実施可能である。
例えば、外部機器２００がソースとしてのみ機能する場合、Ｓ１００２でＣＣをプルアップする。そのため、制御部１０１はＣＣのプルダウンをＳ１００４で検出できない。したがって、制御部１０１は、Ｓ１００４において一定時間（例えば５秒）経過してもＣＣのプルダウンを検出できない場合には、外部機器２００をＤＰ通信に対応しない機器であると判定する。これにより、外部機器２００がソースとしてのみ機能する場合も、外部機器２００がＤＰ通信に対応していない場合と同様に処理することができる。
【０１３４】
また、外部機器２００がシンクとしてのみ機能する場合、Ｓ１０１３でＣＣをプルダウンする。そのため、外部機器２００はＣＣのプルダウンをＳ１０１５で検出できない。したがって、制御部１０１は、Ｓ１０１２でＣＣをプルダウンしてから一定時間（例えば５秒）経過しても電力供給のネゴシエーション手順が開始されない場合には、外部機器２００をＵＳＢ通信に対応しない機器であると判定する。そして、制御部１０１は処理をＳ１０２０に進め、判定結果を外部機器の通信能力に関するデータとしてＲＡＭ１０４に保存する。これにより、外部機器２００がシンクとしてのみ機能する場合も、外部機器２００がＵＳＢ通信に対応していない場合と同様に処理することができる。
【０１３５】
以上説明したように、実施形態３においても第１および実施形態２と同様の効果が実現できる。さらに、実施形態３では通信方法の選択画面を最初に表示する時点で外部機器の通信能力が選択画面に反映されている。そのため、外部機器と実施できない通信方法をユーザが選択することを第１および実施形態２よりも抑制することができる。
【０１３６】
なお、実施形態３では電子機器が、ＵＳＢホスト機能を有するか、ＤｉｓｐｌａｙＰｏｒｔ規格に準拠した外部機器と接続する実施形態について説明した。しかし、実施形態３における電子機器は他の規格に準拠した外部機器に接続可能であってもよい。
【０１３７】
また、実施形態３ではオルタネートモードで行う非ＵＳＢ通信としてＤｉｓｐｌａｙＰｏｒｔ規格に準拠したＤＰ通信について説明した。しかし、実施形態３は非ＵＳＢ通信の種類に依存しない。例えばＨＤＭＩ（登録商標）のような、他の規格に準拠した非ＵＳＢ通信を外部機器と行う構成であってもよい。
【０１３８】
［実施形態４］
実施形態１〜３で説明した様々な機能、処理または方法は、パーソナルコンピュータ、マイクロコンピュータ、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、プロセッサなどがプログラムを用いて実現することもできる。以下、実施形態４では、パーソナルコンピュータ、マイクロコンピュータ、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、プロセッサなどを「コンピュータＸ」と呼ぶ。また、実施形態４では、コンピュータＸを制御するためのプログラムであって、実施形態１〜３で説明した様々な機能、処理または方法を実現するためのプログラムを「プログラムＹ」と呼ぶ。
【０１３９】
実施形態１〜３で説明した様々な機能、処理または方法は、コンピュータＸがプログラムＹを実行することによって実現される。この場合において、プログラムＹは、コンピュータ読み取り可能な記憶媒体を介してコンピュータＸに供給される。実施形態４におけるコンピュータ読み取り可能な記憶媒体は、ハードディスク装置、磁気記憶装置、光記憶装置、光磁気記憶装置、メモリカード、揮発性メモリ、不揮発性メモリなどの少なくとも１つを含む。実施形態４におけるコンピュータ読み取り可能な記憶媒体は、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記憶媒体である。
【符号の説明】
【０１４０】
１００…デジタルカメラ、１０１…制御部、１０７…表示部、１１０…ＵＳＢ２．０コントローラ、１１１…ＵＳＢ３．１コントローラ、１１２…Ｄｉｓｐｌａｙコントローラ、１１３…ＰＤコントローラ、１１４…ＭＵＸ
【図１】
2020184162.tif 000003
【図２】
2020184162.tif 000004
【図３】
2020184162.tif 000005
【図４】
2020184162.tif 000006
【図５】
2020184162.tif 000007
【図６】
2020184162.tif 000008
【図７】
2020184162.tif 000009
【図８】
2020184162.tif 000010
【図９】
2020184162.tif 000011
【図１０】
2020184162.tif 000012