<本発明の実施の形態>
[情報処理システムの構成例]
図2は、本発明を適用した情報処理システムの一実施の形態として、各機器の動作検証を行う場合の情報処理システム21の構成例である。
図2の例では、動作検証の対象機器として、従来との比較を容易なものとすべく図1の従来と同様の機器、即ち、ソース機器11と、それに接続可能なシンク機器12−1乃至12−N(Nは2以上の整数値)とが採用されている。
例えばソース機器11の動作検証が行われる場合、機器情報書換装置31には、ソース機器11、シンク機器12−1乃至12−Nのうちの所定の1台、および、制御装置32が接続される。
ソース機器11の動作検証が行われる前に、シンク機器12−1乃至12−Nの各機器情報は、制御装置32又は機器情報書換装置31に保持されていることを前提とする。この前提の下では、シンク機器12−1乃至12−Nのうちの所定の1台のみが機器情報書換装置31に接続されていれば、シンク機器12−1乃至12−Nを送受信対象機器とした場合の各動作検証を全て行うことが可能になる。例えば図2の例では、シンク機器12−1のみが機器情報書換装置31と接続されている。このような場合であっても、シンク機器12−N等の未接続機器と送受信する場合のソース機器11の動作検証が可能になる。換言すると、シンク機器12−N等の未接続機器については、現物を用意せずとも、それらを送受信対象機器とした場合のソース機器11の動作検証が容易に実現可能になる。
即ち、シンク機器12−N等の未接続機器を送受信対象機器とした場合のソース機器11の動作検証であっても、実際の各種情報の送受信は、ソース機器11とシンク機器12−1との間で行われることになる。
この場合、機器情報書換装置31は、バス上に流れているデータを取得する毎に、その取得データの種別を判定する。取得データの種別の判定手法自体は特に限定されない。例えば本実施の形態では、機器情報のアドレスが取得データに存在するか否かで、その取得データが機器情報であるか否かの判定を行う、といった判定手法が採用されているとする。即ち、機器情報のアドレスが存在する場合、取得データは機器情報であると判定される。この取得情報が、シンク機器12−1の機器情報であった場合には、機器情報書換装置31は、取得情報を、シンク機器12−N等の未接続機器の機器情報に書き換える。機器情報書換装置31は、書き換え後の機器情報を、例えば、バスのクロックに同期して出力させ、ソース機器11に提供する。これにより、ソース機器11にとっては、シンク機器12−N等の未接続機器があたかも送受信対象機器となる。即ち、ソース機器11とシンク機器12−N等の未接続機器との間の接続を疑似的に作り出すことが可能になる。
この場合、ソース機器11は、シンク機器12−N等の未接続機器と通信をしていると認識している。よって、ソース機器11は、シンク機器12−N等の未接続機器で利用可能な情報を送信する。この「シンク機器12−N等の未接続機器等で利用可能な情報」は、機器情報書換装置31を介して、シンク機器12−1に提供されることになる。よって、「シンク機器12−N等の未接続機器等で利用可能な情報」の取り扱いが可能な機器を、シンク機器12−1として採用すると好適である。例えば、映像信号が送受信される場合、シンク機器12−N等の未接続機器がHD(High-Definition)信号を入力可能なときには、シンク機器12−1もまたHD信号を入力可能であると好適である。即ち、SD(Standard-Definition)信号のみを入力可能な機器は、シンク機器12−1として不適である。もっとも、ソース機器11の動作検証において、制御装置32側でソース機器11の出力映像信号を監視できる状態ならば、即ち、SD信号のみを入力可能な機器でモニタリングする必要がないならば、この機器をシンク機器12−1として採用しても構わない。
[機器情報書換装置の構成例]
図3は、図2の機器情報書換装置31の構成例を示している。
図3の例では、機器情報書換装置31は、CPU(Central Processing Unit)41、ロジックIC(Integrated Circuit)42、コネクタ43乃至45、および、バス46,47a,47bを含むように構成されている。
CPU41は、機器情報書換装置31全体の動作を制御する。なお、コネクタ43により電気的に接続された制御装置32によっても、機器情報書換装置31の制御は可能である。
ロジックIC42は、ソース機器11とシンク機器12−1との間で送受信される情報のうち、機器情報を含む制御情報の中継を制御する。
即ち、ソース機器11と機器情報書換装置31とはコネクタ44により電気的に接続される。また、シンク機器12−1と機器情報書換装置31とはコネクタ45により電気的に接続される。ソース機器11とシンク機器12−1との間で送受信される情報のうち、機器情報を含む制御情報は、コネクタ44、バス47a、ロジックIC42、バス47b、およびコネクタ45により形成されるラインを伝搬する。このとき、ロジックIC42は、制御情報として、シンク機器12−1の機器情報が伝搬されてきたとき、その機器情報を、シンク機器12−N等の未接続機器の機器情報(送受信対象機器の機器情報)に書き換えて、出力する。なお、ロジックIC42のこのような処理を、以下、機器情報書換制御処理と称する。機器情報書換制御処理の詳細については、図4乃至図6のフローチャートを参照して後述する。
一方、ソース機器11とシンク機器12−1との間で送受信される情報のうち、映像信号や音声信号等の情報は、コネクタ44とコネクタ45とを結ぶバス46により伝搬される。
[機器情報書換装置の一般的動作例:機器情報書換制御処理]
図4は、図3の機器情報書換装置31が実行する機器情報書換制御処理の一例を説明するフローチャートである。
ステップS1において、ロジックIC42は、シンク機器12−N等の未接続機器の機器情報(送受信対象機器となり得る機器の機器情報)を取得する。なお、以下、ステップS1の処理を機器情報取得処理と称する。機器情報取得処理の詳細例については、図5のフローチャートを参照して後述する。
ステップS2において、ロジックIC42は、機器情報書換が設定されるか否かを判定する。
例えば、機器情報書換装置31に接続されているシンク機器12−1が動作検証における送受信対象機器であった場合、機器情報の書き換えは不要である。よって、このような場合には、機器情報書換の設定はなされていないため、ステップS2においてNOであると判定され、機器情報書換制御処理は終了となる。
これに対して、例えば、シンク機器12−N等の未接続機器が、動作検証における送受信対象機器であった場合、機器情報の書き換えは必要になる。よって、このような場合には、機器情報書換の設定がなされているため、ステップS2においてYESであると判定され、処理はステップS3に進む。
ステップS3において、ロジックIC42は、シンク機器12−1の機器情報を取得する毎に、それを、シンク機器12−N等の未接続機器の機器情報(送受信対象機器となり得る機器の機器情報)に書き換えた上で出力する。なお、以下、ステップS3の処理を機器情報書換処理と称する。機器情報書換処理の詳細例については、図6のフローチャートを参照して後述する。ステップS3の機器情報書換処理が終了すると、機器情報書換制御処理全体も終了となる。
図5は、図4のステップS1の機器情報取得処理の一例を説明するフローチャートである。
ステップS21において、ロジックIC42は、動作検証における送受信対象機器となり得る機器について、その機器情報は制御装置32に保持されているか否かを判定する。
機器情報が制御装置32に予め保持されている場合、ステップS21においてYESであると判定されて、処理はステップS22に進む。
ステップS22において、ロジックIC42は、制御装置32から機器情報を取得する。ステップS23において、ロジックIC42は、機器情報を、図示せぬメモリ等に保持する。これにより、処理はステップS27に進む。ただし、ステップS27の処理については後述する。
これに対して、機器情報が制御装置32に予め保持されていない場合、ステップS21においてNOであると判定されて、処理はステップS24に進む。ただし、後述するステップS24乃至S26の処理を実行するためには、送受信対象機器となり得る機器が、機器情報書換装置31に接続されている必要がある。即ち、送受信対象機器となり得る機器について、その機器情報が制御装置32に予め保持されていない場合、最初の1回だけは、その機器を機器情報書換装置31に接続させる必要がある。
ステップS24において、ロジックIC42は、バス47aまたは47bにより伝搬されてくるデータ(以下、バスデータと称する)を取得する。なお、以下、取得されたバスデータを、取得データと称する。
ステップS25において、ロジックIC42は、取得データに、機器情報のアドレスが存在するか否かを判定する。
取得データに機器情報のアドレスが存在しない場合、その取得データは、機器情報とは別の情報であることを意味する。よって、このような場合、別のバスデータから機器情報を取得する必要があるので、ステップS25においてNOであると判定されて、処理はステップS24に戻される。即ち、機器情報のアドレスが存在するバスデータが取得されるまでの間、ステップS24,S25のループ処理が繰り返し実行される。その後、機器情報のアドレスが存在するバスデータが取得されると、ステップS25においてYESであると判定されて、処理はステップS26に進む。
ステップS26において、ロジックIC42は、取得データを、送受信対象機器となり得る機器の機器情報として、図示せぬメモリ等に保持する。
このようにして、ステップS23またはS26の処理により、送受信対象機器となり得る機器の機器情報が保持されると、処理はステップS27に進む。ステップS27において、ロジックIC42は、別の機器の機器情報も取得するか否かを判定する。
例えば、動作検証において、複数種類の機器を送受信対象機器として用いる必要がある場合等であって、これら全種類の機器の機器情報がまだ保持されていない場合等には、ステップS27において、YESであると判定される。これにより、処理はステップS21に戻され、それ以降の処理が繰り返される。即ち、送受信対象機器となり得る各種類の機器毎に、ステップS21乃至S27の処理がそれぞれ施されて、各機器情報が取得されて保持される。全種類の機器情報が取得されて保持されると、ステップS27においてNOであると判定されて、機器情報取得処理は終了する。即ち、図4のステップS1の処理は終了し、処理はステップS2に進む。
図6は、図4のステップS3の機器情報書換処理の一例を説明するフローチャートである。
ステップS41において、ロジックIC42は、バスデータを取得する。
ステップS42において、ロジックIC42は、取得データに、機器情報のアドレスが存在するか否かを判定する。
機器情報のアドレスが存在するバスデータが取得された場合、その取得データは、シンク機器12−1の機器情報であることを意味する。よって、このような場合、取得データの書き換えは必要であるので、ステップS42においてYESであると判定されて、処理はステップS43に進む。
ステップS43において、ロジックIC42は、取得データを、図示せぬメモリ等に保持されている機器情報に書き換える。なお、保持されている機器情報が複数存在する場合、動作検証において現在送受信対象機器となっているものの機器情報に書き換えられる。ステップS44において、ロジックIC42は、書き換え後のデータを出力する。
ステップS45において、ロジックIC42は、処理の終了が指示されたか否かを判定する。処理の終了が指示された場合、ステップS45においてYESであると判定されて、機器情報書換制御処理が終了となる。即ち、図4のステップS3の処理は終了し、機器情報書換制御処理全体も終了となる。
これに対して、処理の終了がまだ指示されていない場合、ステップS45においてNOであると判定されて、処理はステップS1に戻され、それ以降の処理が繰り返される。
その後のステップS41の処理で、機器情報のアドレスが存在しないバスデータが取得された場合、その取得データは、シンク機器12−1の機器情報以外であることを意味する。よって、このような場合、取得データの書き換えは不要であるので、ステップS42においてNOであると判定されて、ステップS43の書き換え処理は実行されずに、処理はステップS44に進む。即ち、ステップS44の処理で、取得データがそのままの状態で出力される。
以下、HDMI(High-Definition Multimedia Interface)の規格に準拠した機器が検証対象となる場合を例として、機器情報書換制御処理についてさらに詳しく説明していく。
[HDMIの規格に準拠した機器が検証対象となる場合の機器情報書換制御処理]
この場合、ソース機器11およびシンク機器12−1乃至12−Nは、HDMIの規格に準拠した機器となる。よって、図3の機器情報書換装置31のコネクタ44,45としては、HDMIの規格に準拠したコネクタが採用されることになる。なお、制御装置32を接続させるコネクタ43は、HDMIの規格に準拠したコネクタを採用する必要はない。例えば本実施の形態では、コネクタ43として、USB(Universal Serial Bus)の規格に準拠したコネクタを採用しているとする。
HDMI規格では、各種情報を伝搬するHDMI信号線として、「+5V」、「Hot Plug Detect (以下、HPDと表記する)」、「CEC」、「TMDS」および「DDC」とそれぞれ称される信号線が定義されている。
「+5V」は、ソース機器より出力される信号を伝搬する信号線である。シンク機器は、「+5V」の信号レベルがHighレベルになったことでソース機器が接続されたことを認識することができる。
「HPD」は、シンク機器より出力される信号を伝搬する信号線である。ソース機器の「+5V」の信号レベルがHighレベルになった時、シンク機器が「HPD」の信号レベルをHighレベルにすることで、ソース機器が、シンク機器の電源の状態がON状態になっていることを認識することができる。
「CEC」は、機器制御の信号が送受信される信号線である。
「TMDS」は、映像信号や音声信号がソース機器からシンク機器へ送信される信号線である。よって、以下の説明では、図3のバス46は、「TMDS」を含むバスとされており、映像信号や音声信号は、このバス46を経由して、ソース機器11からシンク機器12−1に伝搬されるとする。
「DDC」は、シンク機器のEDIDをソース機器に伝搬してソース機器側で読み出したり、HDCPの暗号鍵の交換に使われる信号線である。「DDC」は、「IIC」と同じ線である。それ故、ソース機器がマスタとして動作することになる。即ち、マスタ側から各デバイスが必ず操作されるため、シンク機器からソース機器を呼び出すことはない。
EDIDとは、シンク機器のディスプレイ情報をIICのEEPROM(Electrically Erasable and Programmable Read Only Memory)に書き込んだ情報をいい、DDC信号線で読み出すことができる。HDMIで使用するEDIDには、映像フォーマット、アドレス、音声フォーマット、リップシンク、スピーカ位置、色空間等が記述されている。EDIDは、デバイスアドレス 0xA0 (0xA1)を指定することで読み出すことができる。EDIDのBlock2以降は、デバイスアドレス 0x60にセグメントポイントを設定することで0xA0 (0xA1)からデータを読み出すことができる
従って、シンク機器12−1乃至12−Nの機器情報として、EDIDを採用することができる。そこで以下の説明では、EDIDが機器情報であるとする。即ち、以下の説明では、図3のバス47a,47bは、「DDC」を含むバスとされており、ロジックIC42は、シンク機器12−1のEDIDを取得した場合、そのEDIDを、シンク機器12−N等の未接続機器(動作検証における送受信対象機器)のEDIDに書き換えるとする。
図7は、EDIDの構造を説明する図である。
EDIDは、図7に示されるように128byteのBlockを単位として構成される。
Block0には、EDID、機種情報、シリアル等が記述されている。EDIDは、必ずBlock0 の0byte〜7byte目までに、0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 が入っている。換言すると、このデータでない場合、それはEDIDではない。
Block0のアドレス0x7Eが0x01となっている場合、Block1以降が存在する。
HDMIで使用する各種フォーマットは、Block1以降に記述されている。具体的には、図7に示されるように、Video Data Blockに映像フォーマットが記述されている。Audio Data Blockには音声フォーマットが記述されている。その他Block1以降には、Speaker Allocation Data Block、Vender Specific Data Blockが存在する。
Block1以降の空き領域は、18byte detailed timing descriptorとして使用可能である。あまりの領域は、0でパディングされる。最後の1byteは、チェックサムとなる
HDMIでは、Block1以降に記述されているEDIDのデータに従って映像や音声が出力されている。なお、より正確にいえば、128byte目のExtension Tagが0x02、129byte目のRevision numberが0x03の場合であって、Block1以降に記述されているEDID(128byte目が0x02、129byte目が0x03ではない場合)が存在しない場合、DVIと判定される。
EDIDの映像フォーマットと音声フォーマットについてさらに詳細を説明する。
EDIDの映像フォーマットと音声フォーマットはいずれも、カテゴリタグフォーマットと各種フォーマットとにより規定される。各種フォーマットは、CEA-816で定義されている値となる。
図8は、カテゴリタグフォーマットの構造を示している。
カテゴリタグフォーマットは、3bitのタグコード(Tag Code)と、5bitのブロック内 データ数(Length)とから構成される。タグコードが1の場合、それはAudio Data Blockであること、即ち、カテゴリタグフォーマットに続くフォーマットは音声フォーマットであることを示す。タグコードが2の場合、それはVideo Data Block であること、即ち、カテゴリタグフォーマットに続くフォーマットは映像フォーマットであることを示す。また、タグコードが3,4である場合、それぞれ、Vender Specific Data Block ,Speaker Allocation Data Blockであることを示す。
具体的には例えば、Video Data Blockが、「43」,「85」,「03」,「04」で構成されているとする。この場合、「43」は、タグコードがVideo Data Blockであり、ブロック内データ数が3 であるカテゴリタグフォーマットであることを示している。「83」は、1920x1080i 60Hz 16:9 、NATIVEの映像フォーマットに対応していることを示している。「03」は、720x480p 60Hz 16:9の映像フォーマットに対応していることを示している。「04」は、1280x720p 60Hz 16:9の映像フォーマットに対応していることを示している。
図9は、LPCM(Linear Pulse Code Modulation)の音声フォーマットの構造を示している。図10は、LPCM以外の音声フォーマットの構造を示している。
図9,図10の各項目に対応する場合には1が設定される。
具体的には例えば、Audio Data Blockが、「23」,「09」,「07」,「07」で構成されているとする。この場合、「23」は、タグコードがAudio Data Blockであり、ブロック内データ数が3 であるカテゴリタグフォーマットであることを示している。「09」は、LPCMの音声フォーマットに対応していることを示している。「09」に続く「07」,「07」は、対応周波数が48kHz、44kHz、32kHzであり、24bit、20bit、16bitに対応していることを示している。
図11、図12、および図13は、EDIDの具体例をそれぞれ示している。
図11のEDIDのうちVideo Data Block(図中黒色の映像フォーマット)は、「48」,「85」,「03」,「10」,「02」,「04」,「06」,「07」,「01」で構成されている。この場合、「48」は、タグコードがVideo Data Blockであり、ブロック内データ数が8であるカテゴリタグフォーマットであることを示している。「85」,「03」,「10」,「02」,「04」,「06」,「07」,「01」が、1920x1080i 60Hz 16:9,720x480p 60Hz 16:9,1920x1080p 60Hz 16:9 ,720x480p 60Hz 4:3 ,1280x720p 60Hz 16:9 ,640x480i 60Hz 4:3 ,640x480i 60Hz 16:9 ,640x480p 60Hz 4:3 の各映像フォーマットに対応していることを示している。
図11のEDIDのうちAudio Data Block(図中灰色の音声フォーマット)は、「23」,「09」,「1F」,「07」で構成されている。この場合、「23」は、タグコードがAudio Data Blockであり、ブロック内データ数が3 であるカテゴリタグフォーマットであることを示している。「09」,「1F」,「07」は、LPCMの音声フォーマットに対応し、チャンネル数が2chであり、対応周波数が96kHz , 88.2kHz , 48kHz , 44.1kHz , 32kHzであり、24bit , 20bit , 16bitに対応していることを示している。
図12のEDIDのうちVideo Data Block(図中黒色の映像フォーマット)は、「45」,「83」,「02」,「06」,「07」,「01」で構成されている。この場合、「45」は、タグコードがVideo Data Blockであり、ブロック内データ数が5であるカテゴリタグフォーマットであることを示している。「83」,「02」,「06」,「07」,「01」が、720x480p 60Hz 16:9 , 720x480p 60Hz 4:3 , 640x480i 60Hz 4:3 , 640x480i 60Hz 16:9 , 640x480p 60Hz 4:3の各映像フォーマットに対応していることを示している。
図12のEDIDのうちAudio Data Block(図中灰色の音声フォーマット)は、「23」,「09」,「1F」,「07」で構成されている。この場合、「23」は、タグコードがAudio Data Blockであり、ブロック内データ数が3 であるカテゴリタグフォーマットであることを示している。「09」,「1F」,「07」は、LPCMの音声フォーマットに対応し、チャンネル数が2chであり、対応周波数が96kHz , 88.2kHz , 48kHz , 44.1kHz , 32kHzであり、24bit , 20bit , 16bitに対応していることを示している。
図13のEDIDのうちVideo Data Block(図中黒色の映像フォーマット)は、「48」,「85」,「03」,「10」,「02」,「04」,「06」,「07」,「01」で構成されている。この場合、「48」は、タグコードがVideo Data Blockであり、ブロック内データ数が8であるカテゴリタグフォーマットであることを示している。「85」,「03」,「10」,「02」,「04」,「06」,「07」,「01」が、1920x1080i 60Hz 16:9 , 720x480p 60Hz 16:9 , 1920x1080p 60Hz 16:9 , 720x480p 60Hz 4:3 , 1280x720p 60Hz 16:9 , 640x480i 60Hz 4:3 , 640x480i 60Hz 16:9 , 640x480p 60Hz 4:3の各映像フォーマットに対応していることを示している。
図13のEDIDのうちAudio Data Block(図中灰色の音声フォーマット)は、「23」,「09」,「07」,「01」で構成されている。この場合、「23」は、タグコードがAudio Data Blockであり、ブロック内データ数が3 であるカテゴリタグフォーマットであることを示している。「09」,「07」,「01」は、LPCMの音声フォーマットに対応し、チャンネル数が2chであり、対応周波数が48kHz , 44.1kHz , 32kHzであり、16bitに対応していることを示している。
例えば、図2のシンク機器12−1の機器情報が図11のEDIDであるとする。この場合、図11のEDIDより、シンク機器12−1がHD信号の映像入力が可能なことがわかる。よって、ソース機器11が、自動で映像出力を切り替えることができる場合、HD信号が出力されることになる。また、図11のEDIDより、シンク機器12−1が、LPCM 2ch、96kHz,88.2kHz,48kHz,44.1kHz,32kHz、24bit, 20bit, 16bitの音声フォーマット(以下、第1音声フォーマットと称する)の音声信号の音声入力が可能なことがわかる。よって、ソース機器11が、自動で音声出力を切り替えることができる場合、第1音声フォーマットの音声信号が出力されることになる。
ここで、例えば、ソース機器11の動作検証が行われる場合、送受信対象機器がシンク機器12−Nとされ、シンク機器12−Nの機器情報が図12のEDIDであるとする。この場合、図12のEDIDより、シンク機器12−NがSD信号の映像入力が可能なことがわかる。そこで、機器情報書換装置31は、シンク機器12−1から図11のEDIDを取得データとして取得した場合(図6のステップS41,S42YES)、取得データを図12のEDIDに書き換える(図6のステップS43)。すると、図12のEDIDがソース機器11に出力される(図6のステップS44)。これにより、ソース機器11は、映像出力をHD信号からSD信号へ切り替えることになる。即ち、このようなソース機器11の映像出力の切り替え動作の検証をすることができる。なお、機器情報書換装置31に接続されているシンク機器12−1は、SD信号の映像入力も当然可能なので、ソース機器11側のこのような映像出力の切り替え動作は特に問題にならない。
また例えば、ソース機器11の動作検証が行われる場合、送受信対象機器がシンク機器12−K(Kは,1とNを除く整数値)とされ、シンク機器12−Kの機器情報が図13のEDIDであるとする。この場合、図13のEDIDより、シンク機器12−Kは、LPCM 2ch、48kHz , 44.1kHz , 32kHz 、16bitの音声フォーマット(以下、第2音声フォーマット)の音声信号の音声入力が可能なことがわかる。そこで、機器情報書換装置31は、シンク機器12−1から図11のEDIDを取得データとして取得した場合(図6のステップS41,S42YES)、取得データを図13のEDIDに書き換える(図6のステップS43)。すると、図13のEDIDがソース機器11に出力される(図6のステップS44)。これにより、ソース機器11は、音声出力を第1音声フォーマットから第2音声フォーマットの音声信号へ切り替えることになる。即ち、このようなソース機器11の音声出力の切り替え動作の検証をすることができる。なお、機器情報書換装置31に接続されているシンク機器12−1は、第2音声フォーマットの映像入力も当然可能なので、ソース機器11側のこのような音声出力の切り替え動作は特に問題にならない。
ただし、機器情報書換装置31にシンク機器12−Nが接続されている場合、動作検証における送受信対象機器をシンク機器12−Kとすると好適でない点注意する必要がある。なぜならば、この場合には、機器情報は、図12のEDIDから図13のEDIDに書き換えられるからである。即ち、図13のEDIDは、HD信号の映像フォーマットにも対応可能な機器であることを示す機器情報である。よって、ソース機器11の映像出力は、SD信号からHD信号に切り替えられることになる。ところが、上述の如く、シンク機器12−Nは、図12のEDIDより、HD信号の映像フォーマットには対応していない機器である。よって、このような場合、シンク機器12−Nでは、HD信号のモニタリングは不可能であるからである。よって、機器情報書換装置31に接続させるシンク機器としては、動作検証における接続対象機器となり得る各機器で対応可能なフォーマットについては、自身でも対応可能となっているシンク機器を採用すると好適である。
このようなEDIDの書き換えまでの一連の処理の流れは、次の通りになる。
図4のステップS1の機器情報取得処理は、次のようになる。ただし、送受信対象機器となり得る機器のEDIDは、制御装置32に予め記憶されているとする。
この場合、図5のステップS22,S23の処理として、次のような処理が実行される。即ち、制御装置32からEDID設定コマンドがEDIDとともに機器情報書換装置31に送信される。CPU41は、そのコマンドを受け付け、ロジックIC42に送信する。ロジックIC42は、そのコマンドを解析し、そのコマンドに従って、EDIDを取得して保持する。
また、図4のステップS2の機器情報書換の設定は、制御装置32からのEDID書き換えコマンドの発行によりなされる。EDID書き換えコマンドは、EDID書き換え機能の状態をON状態またはOFF状態に設定する指令である。CPU41は、このコマンドに従って、EDID書き換え制御ポートを制御する。EDID書き換え制御ポートは、書き換えない場合にはLowに設定され、書き換える場合にはHighに設定される。即ち、EDID書き換え制御ポートがLowに設定されている場合、ステップS2の処理でNOであると判定され、機器情報書換制御処理が終了する。これに対して、EDID書き換え制御ポートがHighに設定されている場合、ステップS2の処理でYESであると判定され、処理はステップS3の機器情報書換処理に進む。
ステップS3の機器情報書換処理では、ロジックIC42は、DDC信号を伝搬するデータ(以下、DDCデータと称する)を取得し、そのデバイスアドレス0xA0(0xA1)を監視する(図6のステップS41,S42)。目的のデバイスアドレスが来た場合(ステップS42YES)、ロジックIC42は、そのアドレスに従い、取得データ(DDCデータのうちEDID)を、内部に保持している別のEDIDに変更して送信する(ステップS43,S44)。ここで、制御装置32は、EDIDが書き換えられた時、DDCデータ取得をすることで、書き換え後のEDIDを受信することができる。これにより、検証者は、実際に送信したデータ(書き換え後のEDID)を、制御装置32側で再度確認すことが可能になる。
このようにして、EDID等の機器情報を書き換えることで、次のような各種効果を奏することが可能になる。
例えば、HD信号の急速な普及に伴い、SD信号のみしか受けられないディスプレイは入手しにくい状況となっている。このように現物が入手しにくい場合であっても、そのEDID等の機器情報を取得することさえできれば、そのディスプレイをシンク機器とした場合のソース機器との接続を疑似的につくりだすことができる。これにより、ソース機器が自動でSDの映像信号を出力できるか否かの動作検証を容易に行うことができるようになる。
例えば、映像フォーマット確認の動作検証を行う場合、480p , 1080i , 720p 等をそれぞれ映像フォーマットとして含む各EDIDを採用することができる。この場合、これらの各EDIDを順番に書き換えていくだけで、ソース機器が、適切なフォーマットの映像信号を自動で切り替えて出力できるか否かについての動作検証を行うことができる。
例えば、音声フォーマット確認の場合も映像フォーマット確認の場合と同様に、ソース機器が、シンク機器側に対応した音声を自動で切り替えて出力できているのかについて動作検証を行うことができる。この場合、ドルビーデジタル、DTS、LPCMなどシンク機器側で受信できる信号を制限するような各EDIDを採用すればよい。さらに、リップシンク等、EDIDの情報に依存して出力される信号の値を書き換えることで、ソース機器の動作検証のみならずシンク機器での動作検証を行うことができるようになる。
ソフトウエアの検証として、アプリケーションで一定時間ごとにEDIDを書き換えることで、ソース機器のHDMI実装状態の確認を簡単かつ長時間行うことができる。即ち、従来、検証者は、様々な種類のテレビジョン受像機に対して、ソース機器を抜き差しすることを手動で行う必要があった。しかしながら、アプリケーションで一定時間ごとにEDIDを書き換えることは自動でできるため、検証者は、このようなソース機器の抜き差しを行う必要はなくなる。即ち、検証者は、固定接続されたシンク機器(図2の例ではシンク機器12−1)をモニタリングする等して、映像が正しく出力されているか否かだけを確認すればよいことになる。その結果、かかる検証を行うための機材準備の手間と接続の手間が、従来に比較して大幅に省けるようになる。
ところで、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図14は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、及びドライブ210が接続されている。
入力部206は、キーボード、マウス、マイクロフォンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムとは、複数の装置や処理部により構成される装置全体を表すものである。
11 ソース機器, 12−1乃至12−N シンク機器, 21 情報処理システム, 31 機器情報書換装置, 32 制御装置、 41 CPU, 42 ロジックIC, 43乃至45 コネクタ, 46,47a,47b バス, 201 CPU, 202 ROM, 203 RAM, 208 記憶部, 211 リムーバブルメディア