以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔水中伝送システム〕
まず、本発明の実施形態による送信装置及び受信装置を含む水中伝送システムについて説明する。図1は、水中伝送システムの概略構成を示す図である。この水中伝送システム1は、カメラ2、送信装置3及び受信装置4を備え、水中内(例えば海中内)でカメラ2により撮影された映像を、送信装置3を介して受信装置4へ伝送し、水中外に設けられた映像モニタ5にその映像をリアルタイムに表示する。カメラ2、送信装置3及び受信装置4は、水中において移動可能に設けられている。映像モニタ5は、水中外に設けられている。
カメラ2と送信装置3とは、有線のケーブル6により接続され、送信装置3と受信装置4とは、可視光通信が行われる水中無線により接続される。受信装置4と映像モニタ5とは、有線のケーブル7により接続される。
送信装置3は、水中でカメラ2により撮影された映像のベースバンド映像信号をカメラ2から入力し、ベースバンド映像信号の映像データをエンコード(符号化)して圧縮し、圧縮データを生成する。そして、送信装置3は、可視光の搬送波を用いて圧縮データを変調(圧縮データを可視光変調)し、変調信号を可視光の水中無線にて受信装置4へ送信する。
映像データは、高レートまたは低レートにてエンコードされ、高レートのレート値及び低レートのレート値は、予め設定されているものとする。また、伝送開始時は、高レートにてエンコードされた高画質の映像データが伝送されるものとする。
受信装置4は、送信装置3から変調信号を受信し、可視光の搬送波を用いて変調信号を復調(可視光復調)して圧縮データを生成し、圧縮データをバッファに格納する。そして、受信装置4は、所定の再生遅延時間後に圧縮データをバッファから読み出してデコード(復号)し、元のベースバンド映像信号の映像データに復元する。そして、受信装置4は、ベースバンド映像信号を映像モニタ5へ出力する。
これにより、水中でカメラ2により撮影された映像が映像モニタ5にリアルタイムに表示されるから、映像モニタ5を見ているオペレータは、水中の映像をリアルタイムに観測することができる。
本発明の実施形態では、送信装置3は、映像データを高レートでエンコードして送信しているときに、受信装置4との間の可視光通信が切断されたと判定すると、エンコードレートを高レートから低レートに切り替える。そして、送信装置3は、低レートでエンコードした映像データを蓄積し、可視光通信が回復したときに、蓄積した映像データを伝送帯域の上限レートにて送信する。この場合、送信装置3は、送信の途中であったGOPを特定し、その先頭フレームから低レートでエンコードした映像データを送信し、その最終フレームの映像データの送信が完了すると、エンコードレートを元の高レートに戻す。
また、本発明の実施形態では、受信装置4は、送信装置3から映像データを受信すると、可視光通信が切断されているか否かを送信装置3に判定させるために、そのシーケンス番号を送信装置3へ送信する。そして、受信装置4は、GOPの先頭フレームから重複して映像データを受信した場合、重複した映像データを削除する。
このように、送信装置3において低レートでエンコードした圧縮データは、可視光通信が切断されていたときにメモリに蓄積され、可視光通信が回復したときに、伝送帯域の上限レートにて受信装置4へ高速伝送される。この場合、受信装置4において、可視光通信が切断されている間、既にバッファに格納されていた映像データが読み出されて再生される。そして、可視光通信が回復したときに、低レートでエンコードされた映像データは、高速伝送されてバッファに格納されるから、所定の再生遅延時間内に映像データがバッファから読み出される場合には、映像データは途切れることがなく、リアルタイムの映像の観測が実現される。
〔実施例1〕
まず、本発明の第1の実施形態(実施例1)について説明する。実施例1は、送信側において、高レートでエンコードした映像データを送信しているときに通信断を判定すると、エンコードレートを低レートに切り替え、そして、通信の回復を判定すると、低レートでエンコードした映像データを送信し、送信の途中であったGOPの開始フレームから最終フレームまでの送信が完了した後、エンコードレートを高レートに戻し、高レートでエンコードした映像データを送信する。
図2は、実施例1による送信装置3及び受信装置4の構成を示すブロック図である。実施例1の水中伝送システム1は、送信装置3A及び受信装置4を備えて構成される。可視光により映像データを伝送する場合、アナログ変調技術を利用することが可能であるが、ここでは、Ethernet(登録商標)パケットをデジタル変調し、双方向通信が可能な水中伝送システム1であることを想定する。以下、実施例2,3についても同様である。
(送信装置3Aの構成/実施例1)
まず、実施例1による送信装置3Aの構成について詳細に説明する。この送信装置3Aは、バッファ31、エンコーダ32、受信部33及び送信部34を備え、エンコーダ32の前段にバッファ31が設けられており、可視光通信が切断されたときに、エンコーダ32のエンコードレートを高レートから低レートに切り替える構成になっている。
バッファ31は、カメラ2からベースバンド映像信号の映像データをフレーム毎に格納し、格納した映像データを即座にエンコーダ32に出力する。バッファ31は、格納した映像データを所定時間保持し、所定時間経過した後、映像データを削除する。また、バッファ31は、受信部33からフレーム番号を入力すると、そのフレーム番号の映像データをエンコーダ32に出力する。
エンコーダ32は、受信部33から高レートまたは低レートのレート切替指示を入力すると共に、バッファ31から映像データを入力し、レート切替指示のレートにて映像データをエンコードして圧縮データを生成し、圧縮データを送信部34に出力する。
受信部33は、受信装置4から後述する受信済シーケンス番号を含むパケットを受信し、当該パケットを所定の一定時間受信しない場合、受信断を判定する。この場合、送信装置3Aから受信装置4へ送信されたパケットも、受信装置4へ到着していないと判定され、送信装置3Aと受信装置4との間の可視光通信が切断されたものと判定される。これは、双方向の可視光通信を行った場合、送信及び受信は、同時に切断されるからである。
また、受信部33は、受信断の後、受信装置4から後述する受信済シーケンス番号を含むパケットを受信した場合、受信回復を判定する。この場合、送信装置3Aから受信装置4へ送信されたパケットも、受信装置4へ到着していると判定され、送信装置3Aと受信装置4との間の可視光通信が回復したものと判定される。
受信部33は、エンコードレートを高レートから低レートに切り替える場合、低レートにてエンコードさせ、かつ送信させる映像データのフレーム番号をバッファ31に出力する。これにより、バッファ31からそのフレーム番号の映像データがエンコーダ32に出力され、エンコーダ32により、そのフレーム番号の映像データが低レートにてエンコードされる。
受信部33は、高レートまたは低レートのレート切替指示をエンコーダ32に出力する。これにより、エンコーダ32において、レート切替指示のレートにて映像データがエンコードされる。
本発明の実施形態では、受信部33は、受信断を判定すると、低レートのレート切替指示をエンコーダ32に出力すると共に、送信途中であった映像データのGOPについて、バッファ31に格納されているそのGOPの先頭フレームから最終フレームまでの映像データをバッファ31から順次出力させるために、そのフレーム番号をバッファ31に順次出力する。また、受信部33は、そのGOPの先頭フレームから最終フレームまで低レートにてエンコードされた映像データのパケットを順次送信させるために、シーケンス番号を送信部34に出力する。
そして、受信部33は、受信回復を判定すると、低レートにてエンコードされた映像データのパケットの送信がGOPの最終フレームまで完了した後、高レートのレート切替指示をエンコーダ32に出力する。バッファ31は、受信部33から最終フレームのフレーム番号を入力してその最終フレームの映像データを出力した後、次のGOPの先頭フレームから映像データを順次出力する。エンコーダ32により、そのGOPの先頭フレームから映像データが高レートにてエンコードされる。また、受信部33は、そのGOPの先頭フレームから高レートにてエンコードされた映像データのパケットを順次送信させるために、シーケンス番号を送信部34に順次出力する。
送信部34は、エンコーダ32から圧縮データを入力すると共に、受信部33からシーケンス番号を入力し、圧縮データをパケット毎に分割する。そして、送信部34は、分割した圧縮データ(分割圧縮データ)をパケットに格納すると共にシーケンス番号を順番に付加することでパケットを生成し、可視光の搬送波を用いてパケットを可視光変調し、変調信号を可視光の水中無線にて受信装置4へ送信する。
この場合、送信部34により生成されるパケット(シーケンス番号及び分割圧縮データが含まれるパケット)について、受信部33は、シーケンス番号と、分割圧縮データと、当該分割圧縮データのフレームが属するGOPとの対応付けを行う。これにより、受信部33は、受信装置4から受信した受信済シーケンス番号が、どの分割圧縮データに対応し、どのフレームに対応し、また、どのGOPに対応しているかを認識することができる。
図3は、映像データにおけるGOP及びフレーム、並びにパケットの関係を説明する図である。図3に示すように、GOPは、複数のフレームにより構成される。各フレームの圧縮データは分割され、分割圧縮データが格納された複数のパケットにより、シーケンス番号と共に送信される。
(送信装置3Aの処理/実施例1)
次に、図2に示した送信装置3Aの処理について詳細に説明する。図4は、送信装置3Aの処理を示すフローチャートであり、図6は、送信装置3Aの処理を説明する図であり、図7は、受信断時のレート切り替えに伴う伝送レートの変化を示す図である。
図4を参照して、まず、送信装置3Aは、伝送開始時に、映像データを高レートにてエンコードして圧縮データ(以下、高レート圧縮データという。)を生成し(ステップS401)、高レート圧縮データ及びシーケンス番号を含むパケットを送信する(ステップS402)。これにより、高レートにてエンコードされた映像データの送信が行われる。
送信装置3Aは、受信装置4から受信済シーケンス番号を含むパケットを受信することにより、受信断であるか否かを判定する(ステップS403)。送信装置3Aは、ステップS403において、受信断でないと判定した場合(ステップS403:N)、ステップS401による高レートエンコード処理及びステップS402によるパケット送信処理を行う。これにより、受信断でない限り、高レートにてエンコードされた映像データの送信が継続する。
図6は、第1のGOPがフレーム1−1(フレーム番号1−1のフレーム)からフレーム1−N(フレーム番号1−Nのフレーム)により構成され、第2のGOPがフレーム2−1からフレーム2−Nにより構成され、第3のGOPがフレーム3−1からフレーム3−Nにより構成された例を示している。この例では、フレーム1−1からフレーム2−nの途中までのパケットにおいて、高レートにてエンコードされた映像データの送信が行われ、フレーム2−nの途中のパケットにおいて、受信断が判定される。
図7は、横軸が時間を示し、縦軸が送信装置3Aから送信されるパケットの伝送速度を示している。可視光通信による伝送帯域は、エンコードレートに対し十分余裕があるものとする。図7に示すように、高レートにてエンコードされた映像データの送信が行われているときは、エンコードのレートに応じた実時間の伝送が実現される。
図4に戻って、一方、送信装置3Aは、ステップS403において、受信断であると判定した場合(ステップS403:Y)、ステップS404へ移行し、低レートにてエンコードした映像データの送信を行う。
図5は、実施例1による受信断の判定処理を示すフローチャートであり、図4に示したステップS403の処理を示している。送信装置3Aの受信部33は、所定のタイミングにて、受信装置4から受信済シーケンス番号を含むパケットを受信したか否かを確認する(ステップS501)。所定のタイミングとは、例えば、受信部33がシーケンス番号を送信部34に出力したタイミング、または所定周期のタイミングである。
受信部33は、ステップS501において、当該パケットの受信を確認できなかった場合(ステップS501:N)、一定時間待機し(ステップS502)、再度、受信装置4から受信済シーケンス番号を含むパケットを受信したか否かを確認する(ステップS503)。
受信部33は、ステップS503において、当該パケットの受信を確認できなかった場合(ステップS503:N)、当該パケットを一定時間受信しなかったとして、受信断を判定する(ステップS504)。この場合、送信装置3Aから受信装置4へ送信されたパケットも受信装置4へ到着していないと判定され、送信装置3Aと受信装置4との間の可視光通信が切断されたものと判定される。
一方、受信部33は、ステップS501またはステップS503において、当該パケットの受信を確認した場合(ステップS501:Y,ステップS503:Y)、処理を終了して図5の処理を繰り返す。
図4に戻って、送信装置3Aは、ステップS403において、受信断であると判定すると(ステップS403:Y)、最後に受信したパケットに含まれる受信済シーケンス番号の次のシーケンス番号に対応するGOPを特定し、そのGOPの先頭フレームから最終フレームまでの映像データを低レートにてエンコードする(ステップS404)。そして、送信装置3Aは、低レートにてエンコードした圧縮データ(以下、低レート圧縮データという。)及びシーケンス番号を含むパケットを送信する(ステップS405)。このパケットは、送信装置3Aと受信装置4との間の可視光通信が切断されていることから、受信装置4へ到着せず、送信装置3Aは、当該シーケンス番号である受信済シーケンス番号を含むパケットを受信することができない。
この場合、そのGOPの先頭フレームにおける最初の映像データは送信されないが、ステップS404,ステップS405及び後述するステップS406の処理を繰り返すことで、先頭フレームにおける最初の映像データから低レートにて順次エンコードされるから、そのGOPの先頭フレームから最終フレームまでの全ての映像データに対応して低レート圧縮データが生成され、メモリに蓄積されることになる。
送信装置3Aは、ステップS403の処理と同様に、受信装置4から受信済シーケンス番号を含むパケットを受信することにより、受信断であるか否かを判定する(ステップS406)。送信装置3Aは、ステップS406において、受信断であると判定した場合(ステップS406:Y)、ステップS404へ移行し、ステップS404による低レートエンコード処理及びステップS405によるパケット送信処理を行う。
送信装置3Aは、ステップS405において、同一シーケンス番号を付加した既送信のパケット(そのGOPの先頭フレームにおける最初の低レート圧縮データを格納し、シーケンス番号を付加した同一パケット)を送信する。送信装置3Aは、新しい受信済シーケンス番号(前記同一シーケンス番号)を含むパケットを受信装置4から受信するまでの間、送信装置3Aからのパケット送信も切断されていると判断できるから、受信断である限り、同一シーケンス番号を付加したパケットを送信し続ける。
図6の例では、フレーム2−nの途中のパケットにおいて受信断が判定されると、送信中の映像データのGOPが第2のGOPであると特定され、その先頭フレーム2−1について最初のパケットの送信が繰り返される。また、図7に示すように、受信断が判定されると、それが続く限り伝送は行われない。
送信装置3Aは、ステップS406において、受信装置4から受信済シーケンス番号を受信して受信断でないと判定すると(ステップS406:N)、受信が回復した(可視光通信が回復した)と判断する。そして、送信装置3Aは、低レート圧縮データについて最終フレームまで送信完了し、受信確認済みであるか否かを判定し(ステップS407)、すなわち、受信装置4から受信した受信済シーケンス番号が最終フレームの最後の低レート圧縮データに対応するシーケンス番号(最終フレームの最後のパケットに付加されたシーケンス番号)であるか否かを判定する。
送信装置3Aは、ステップS407において、最終フレームまで送信完了しておらず、最終フレームまで受信確認済みでない(受信装置4から受信した受信済シーケンス番号が最終フレームの最後の低レート圧縮データに対応するシーケンス番号でない)と判定した場合(ステップS407:N)、ステップS404へ移行し、低レート圧縮データの送信を継続する。
一方、送信装置3Aは、ステップS407において、最終フレームまで送信完了して受信確認済みである(受信装置4から受信した受信済シーケンス番号が最終フレームの最後の低レート圧縮データに対応するシーケンス番号である)と判定した場合(ステップS407:Y)、ステップS401へ移行し、ステップS401による高レートエンコード処理及びステップS402によるパケット送信処理を行う。この場合、送信装置3Aは、ステップS401及びステップS402において、低レートにてエンコードして送信したGOPの次のGOPから、高レートエンコード処理及びパケット送信を行う。これにより、1GOPの低レート圧縮データの送信が全て完了した後、高レート圧縮データの送信が再開する。
図6の例では、受信が回復すると、第2のGOPの先頭フレーム2−1から最終フレーム2−Nまでのパケットにおいて、低レートにてエンコードされた映像データの送信が行われる。そして、第3のGOPの先頭フレーム3−1以降のパケットについては、高レートにてエンコードされた映像データの送信が行われる。
また、図7に示すように、受信が回復すると(受信断時間が経過すると)、低レートにてエンコードされた映像データの送信が行われる。低レートにてエンコードされた映像データは、受信断時間の間送信されずに送信開始を待ってメモリに蓄積された状態であるから、受信が回復するとメモリから即座に読み出され、伝送帯域の上限レートにて送信される。つまり、低レートにてエンコードされた映像データの送信は、高レートにてエンコードされた映像データの送信よりも、少量かつ高速の伝送となる。
図7において、例えば、伝送帯域の上限レート(Ethernet(登録商標)ワイヤーレート)を50Mbpsとし、10Mbpsの高レートにてエンコードされた映像データが送信されていたときに(この状態では、エンコードレートに対応した10Mbpsの伝送レートにて映像データが送信される。)、受信断が判定され、エンコードレートが1Mbpsの低レートに切り替えられ、受信断時間が2秒であるとする。受信が回復すると、受信断時間の2秒分(2Mビット)の映像データ(低レートにてエンコードされた圧縮データ)が、50Mbpsの伝送レートで0.04秒間送信される。その後、エンコードレートは、再び10Mbpsの高レートに切り替えられる。後述する受信装置4において、デコード開始時の再生遅延時間が2.04秒以上である場合には、映像データは途切れることなくデコードされる。
尚、受信装置4において、再生遅延時間は、水中の環境、送信装置3A及び受信装置4の移動に伴う正対関係のずれ状況等を考慮し、受信断が発生した場合の受信断時間を想定して予め設定される。
(送信装置3Aにおける受信部33の処理/実施例1)
次に、図2に示した送信装置3Aにおける受信部33の処理について詳細に説明する。図8は、受信部33の処理を示すフローチャートである。まず、受信部33は、高レートエンコード送信を指示するために、高レートのレート切替指示をエンコーダ32に出力すると共に、シーケンス番号を送信部34に出力する(ステップS801)。これにより、エンコーダ32は、バッファ31から入力した映像データを高レートにてエンコードし、送信部34は、高レート圧縮データ及びシーケンス番号を含むパケットを送信する。
受信部33は、図4のステップS403の処理及び図5の処理と同様に、受信装置4から、送信部34により送信されたパケットに含まれるシーケンス番号である受信済シーケンス番号を含むパケットを受信したか否かを判定する(ステップS802)。受信部33は、ステップS802において、受信済シーケンス番号を含むパケットを受信したと判定した場合(ステップS802:Y)、すなわち、受信断でないと判定した場合、ステップS801へ移行し、次の高レート圧縮データを格納したパケットを、次のシーケンス番号を付加して送信するために、高レートエンコード送信の指示を継続する。これにより、受信断でない限り、高レートにてエンコードされた映像データのパケットが送信される。
受信部33は、ステップS802において、受信済シーケンス番号を含むパケットを受信していないと判定した場合(ステップS802:N)、すなわち、受信断であると判定した場合、最後に受信した受信済シーケンス番号の次のシーケンス番号に対応するGOPを特定する(ステップS803)。
受信部33は、低レートエンコード送信を指示するために、低レートのレート切替指示をエンコーダ32に出力すると共に、ステップS803にて特定したGOPの先頭フレームから最終フレームまでのフレーム番号をバッファ31に順次出力し、低レート圧縮データを送信するためのシーケンス番号を送信部34に出力する(ステップS804)。これにより、エンコーダ32は、バッファ31から入力した先頭フレームから最終フレームまでの映像データを低レートにてエンコードし、送信部34は、低レート圧縮データ及びシーケンス番号を含むパケットを送信する。このパケットは、送信装置3Aと受信装置4との間の可視光通信が切断されていることから、受信装置4へ到着しない。
受信部33は、ステップS802の処理と同様に、送信部34により送信されたパケット(ステップS803にて特定したGOPの先頭フレームにおける最初の低レート圧縮データが格納されたパケット)に含まれるシーケンス番号である受信済シーケンス番号を含むパケットを受信装置4から受信したか否かを判定する(ステップS805)。受信部33は、ステップS805において、受信済シーケンス番号を含むパケットを受信していないと判定した場合(ステップS802:N)、すなわち、受信断であると判定した場合、ステップS804へ移行し、低レートエンコード送信の指示を継続する。これにより、受信が回復しない限り、低レート圧縮データが生成され、同一パケット(同一シーケンス番号が付加された既送信のパケット(ステップS803にて特定したGOPの先頭フレームにおける最初の低レート圧縮データが格納され、シーケンス番号が付加された同一パケット)の送信が継続される。
受信部33は、ステップS805において、受信装置4から受信済シーケンス番号を含むパケットを受信したと判定した場合(ステップS805:Y)、受信が回復した(可視光通信が回復した)と判断する。そして、送信部34により低レート圧縮データが連続して高速で送信され、受信部33は、ステップS805にて判定した受信済シーケンス番号が最終フレームの最後の受信済シーケンス番号(最終フレームの最後のパケットに付加されたシーケンス番号)であるか否かを判定する(ステップS806)。
受信部33は、ステップS806において、受信済シーケンス番号が最終フレームの最後の受信済シーケンス番号でないと判定した場合(ステップS806:N)、ステップS804へ移行し、低レートエンコード送信の指示を継続する。
一方、受信部33は、ステップS806において、受信済シーケンス番号が最終フレームの最後の受信済シーケンス番号であると判定した場合(ステップS806:Y)、低レート圧縮データの送信が最終フレームまで完了し、その受信も確認済みであると判断し、ステップS801へ移行し、高レートエンコード送信の指示を再開する。
この場合、受信部33は、ステップS801において、高レートのレート切替指示をエンコーダ32に出力すると共に、シーケンス番号を送信部34に出力する。また、バッファ31は、最終フレームの映像データの出力が完了しているから、その次のGOPについて、先頭フレームから映像データをエンコーダ32に順次出力する。これにより、エンコーダ32において、次のGOPの先頭フレームから映像データが高レートにてエンコードされ、送信部34において、次のGOPの先頭フレームから高レート圧縮データ及びシーケンス番号を含むパケットが送信される。
(送信装置3Aにおける送信部34の処理/実施例1)
次に、図2に示した送信装置3Aにおける送信部34の処理について詳細に説明する。図9は、送信部34の処理を示すフローチャートである。まず、送信部34は、エンコーダ32から圧縮データを入力する(ステップS901)。そして、送信部34は、圧縮データを所定サイズに分割してメモリに格納する。
送信部34は、受信部33からシーケンス番号を入力する(ステップS902)。そして、送信部34は、送信対象の圧縮データがメモリに格納されており、送信対象のシーケンス番号も入力されている場合、メモリから分割した圧縮データを読み出し、この圧縮データをパケットに格納すると共にシーケンス番号を順番に付加することでパケットを生成し(ステップS903)、可視光の搬送波を用いてパケットを可視光変調し、変調信号を可視光の水中無線にて受信装置4へ送信する(ステップS904)。そして、図9の処理を繰り返す。尚、送信対象の圧縮データがメモリに格納されておらず、または、送信対象のシーケンス番号が入力されていない場合、送信部34は処理を行わない。
ここで、図7に示したとおり、送信部34は、高レート圧縮データのパケットを送信している間、高レートのエンコードに対応して実時間の伝送が行われる。そして、送信部34は、受信部33により受信断であると判定されている間、前述のとおり、低レート圧縮データのパケットを送信するが、パケットは受信装置4へ到着せず、前記パケットの送信を継続する。送信部34は、受信が回復すると、低レート圧縮データのパケットが受信装置4へ到着し、この送信を行っている間、伝送帯域の上限レートにて、少量伝送かつ高速伝送が実現される。
以上のように、実施例1の送信装置3Aによれば、映像データを高レートでエンコードして送信している状態において、受信装置4から受信済シーケンス番号を一定時間受信しないことで受信断を判定すると、最後に受信した受信済シーケンス番号の次のシーケンス番号に対応するGOPを特定し、エンコードレートを高レートから低レートに切り替え、特定したGOPの先頭フレームから最終フレームの映像データを低レートでエンコードして送信するようにした。この場合、受信断であるから、映像データは送信されない。そして、送信装置3は、受信装置4から受信済シーケンス番号を受信して受信回復を判定すると、GOPの先頭フレームから最終フレームまでの低レートでエンコードした映像データを送信し、その最終フレームの映像データの送信が完了すると(最終フレームの最後の受信済シーケンス番号を受信すると)、エンコードレートを元の高レートに戻し、次のGOPの先頭フレームから映像データを高レートでエンコードして送信するようにした。
これにより、受信回復が判定された後、低レートでエンコードされた映像データは、高レートでエンコードされた映像データよりも少量かつ高速に、伝送帯域の上限内で送信されることになる。
受信装置4は、低レートでエンコードされた映像データを、所定の再生遅延時間内に受信すると、映像モニタ5に表示される映像の画質は劣化するが、表示される映像は途切れることがない。つまり、水中で映像データを可視光により伝送する際に、可視光が遮断された場合であっても、映像データが途切れ難い伝送を継続することができる。したがって、映像データが途切れ難いから、例えば、受信装置4から送信装置3Aへ音声で指示を出したり、送信装置3Aを遠隔制御したりする場合であっても、その作業を円滑に行うことが可能となる。
(受信装置4の構成/実施例1)
次に、実施例1による受信装置4の構成について詳細に説明する。図2を参照して、この受信装置4は、受信部41、送信部42、バッファ43及びデコーダ44を備えている。
受信部41は、送信装置3から変調信号を受信し、変調信号を可視光復調してパケットを生成し、パケットから分割圧縮データ及びシーケンス番号を抽出する。そして、受信部41は、分割圧縮データを結合して圧縮データを生成し、圧縮データをフレーム毎にバッファ43に格納し、シーケンス番号を受信済シーケンス番号として送信部42に出力する。
本発明の実施形態では、受信部41は、GOPの先頭フレームから重複して圧縮データを受信した場合、重複した圧縮データを削除する。具体的には、受信部41は、あるGOPにおける低レート圧縮データを生成し、かつ同じGOPの高レート圧縮データがバッファ43に格納されている場合、バッファ43からその高レート圧縮データを削除し、新たな低レート圧縮データをバッファ43に格納する。
これにより、受信部41は、高レート圧縮データを受信している状態において、GOPの途中で受信が切断され、その後に、同じGOPの先頭フレームから低レート圧縮データを受信した場合、GOPの途中まで受信した高レート圧縮データが削除される。
尚、受信部41は、シーケンス番号と、分割圧縮データと、当該分割圧縮データのフレームが属するGOPとの対応付けの情報を、予め送信装置3Aから受信して取得しており、これらのデータが格納された対応テーブルを保持しているものとする。
送信部42は、受信部41から受信済シーケンス番号を入力し、受信済シーケンス番号を格納してパケットを生成し、パケットを可視光変調し、変調信号を可視光の水中無線にて送信装置3Aへ送信する。
バッファ43は圧縮データを格納し、格納された圧縮データは、所定のタイミングにてデコーダ44により読み出される。
デコーダ44は、所定の再生遅延時間後に圧縮データをバッファ43から順次読み出してデコード(復号)し、元のベースバンド映像信号の映像データに復元する。そして、デコーダ44は、ベースバンド映像信号を映像モニタ5へ出力する。
ここで、デコーダ44は、バッファ43から高レート圧縮データを読み出した場合、その高レートに対応したレートにて高レート圧縮データをデコードする。また、デコーダ44は、バッファ43から低レート圧縮データを読み出した場合、その低レートに対応したレートにて低レート圧縮データをデコードする。
(受信装置4の処理/実施例1)
次に、図2に示した受信装置4の処理について詳細に説明する。図10は、受信装置4の処理を示すフローチャートである。まず、受信装置4は、送信装置3Aからパケットを受信し(ステップS1001)、パケットから分割圧縮データ及びシーケンス番号を抽出する(ステップS1002)。
受信装置4は、ステップS1002にて抽出したシーケンス番号を受信済シーケンス番号として送信装置3Aへ送信し(ステップS1003)、ステップS1002にて抽出した分割圧縮データを結合して圧縮データを生成し、圧縮データをフレーム毎にバッファ43に格納し、所定の再生遅延時間後にデコードして映像モニタ5へ出力する(ステップS1004)。
受信装置4は、シーケンス番号と分割圧縮データとGOPとの間の対応付けの情報が格納された対応テーブルを参照して、ステップS1002にて抽出したシーケンス番号に基づき、ステップS1002にて抽出した分割圧縮データがGOPの先頭フレームの最初の分割圧縮データであるか否かを判定する(ステップS1005)。
受信装置4は、ステップS1005において、抽出した分割圧縮データがGOPの先頭フレームの最初の分割圧縮データであると判定した場合(ステップS1005:Y)、対応テーブルを参照して、既に格納済みの同一GOPにおける圧縮データをバッファ43から削除する(ステップS1006)。そして、受信装置4は、ステップS1005において分割圧縮データがGOPの先頭フレームの最初の分割圧縮データでないと判定した場合(ステップS1005:N)またはステップS1006から移行して、図10の処理を繰り返す。
以上のように、実施例1の受信装置4によれば、送信装置3Aから映像データ及びシーケンス番号を受信し、通信が切断されているか否かを送信装置3Aに判定させるために、受信した映像データに対応するシーケンス番号を受信済シーケンス番号として送信装置3Aへ送信するようにした。また、受信した映像データをバッファ43に格納し、所定の再生遅延時間後に映像データをバッファ43から読み出してデコードし、映像モニタ5に映像を表示する際に、送信装置3Aから受信した映像データのうち、GOPの先頭フレームから重複して映像データを受信した場合(低レートでエンコードされた映像データを受信した場合)、既に受信して格納済みの重複した映像データ(高レートでエンコードされた映像データ)をバッファ43から削除するようにした。
これにより、通信が切断されている間、バッファ43に既に格納された映像データ(高レートでエンコードされた映像データ)が読み出されてデコードされ、映像モニタ5に映像が表示される。そして、通信が回復したときに、低レートでエンコードされた映像データが少量伝送かつ高速伝送されてバッファ43に格納される。この場合、所定の再生遅延時間内に映像データがバッファ43から読み出されてデコードされると、映像モニタ5に表示される映像の画質は劣化するが、表示される映像は途切れることがない。つまり、水中で映像データを可視光により伝送する際に、可視光が遮断された場合であっても、映像データが途切れ難い伝送を継続することができる。したがって、映像データが途切れ難いから、例えば、受信装置4から送信装置3Aへ音声で指示を出したり、送信装置3Aを遠隔制御したりする場合であっても、その作業を円滑に行うことが可能となる。
〔実施例2〕
次に、本発明の第2の実施形態(実施例2)について説明する。実施例2は、実施例1を拡張したものであり、送信側と受信側との間で、互いに送信を繰り返して継続することを特徴とする。これにより、伝送帯域の上限レートにおける伝送が可能となるから、受信断の判定を簡易に行うことができる。
実施例2の構成は、図2に示した実施例1の構成と同じであり、実施例2における送信装置3A及び受信装置4の処理は、基本的には実施例1と同様であるが、実施例2における送信装置3Aの受信部33及び送信部34並びに受信装置4の受信部41及び送信部42の一部が、実施例1と異なる処理を行う。
(送信装置3Aの受信部33/実施例2)
具体的には、実施例2における送信装置3Aの受信部33は、図8に示した処理のうち実施例1とは異なるステップS802及びステップS805の処理(受信断の判定処理、図4に示したステップS403の処理及び図5の処理)を行う。
図11は、実施例2による受信断の判定処理を示すフローチャートであり、図5に示した実施例1の処理に対応している。送信装置3Aの受信部33は、受信装置4から受信済シーケンス番号を含むパケットを受信したか否かを確認する(ステップS1101)。
受信部33は、ステップS1101において、当該パケットの受信を確認できなかった場合(ステップS1101:N)、受信断を判定する(ステップS1102)。この場合、送信装置3Aから受信装置4へ送信されたパケットも受信装置4へ到着していないと判定され、送信装置3Aと受信装置4との間の可視光通信が切断されたものと判定される。
一方、受信部33は、ステップS1101において、当該パケットの受信を確認した場合(ステップS1101:Y)、処理を終了して図11の処理を繰り返す。
これにより、受信部33は、受信済シーケンス番号を含むパケットを受信していない場合、一定時間待機することなく、即座に受信断を判定することができる。
(送信装置3Aの送信部34/実施例2)
また、前述のとおり、実施例2における送信装置3Aの送信部34は、図9に示した実施例1とは異なる処理(図4に示した処理のうち実施例1とは異なるステップS402及びステップS405におけるパケット送信処理)を行う。
図12は、実施例2による送信部34の処理を示すフローチャートである。送信部34は、図9に示した実施例1のステップS901及びステップS902と同じ処理を行い(ステップS1201,ステップS1202)、ステップS1201にて新たな圧縮データをエンコーダ32から入力済みであるか否かを判定する(ステップS1203)。
送信部34は、ステップS1203において、新たな圧縮データを入力済みであると判定した場合(ステップS1203:Y)、図9に示した実施例1のステップS903及びステップS904と同じ処理を行う(ステップS1204,ステップS1205)。
一方、送信部34は、ステップS1203において、新たな圧縮データを入力済みでないと判定した場合(ステップS1203:N)、パケット送信が可視光通信の伝送帯域の上限レートに達しているか否かを判定する(ステップS1206)。
送信部34は、ステップS1206において、パケット送信が可視光通信の伝送帯域の上限レートに達していないと判定した場合(ステップS1206:N)、現在送信している同一GOPのパケット(送信済みのパケット)を繰り返し継続して送信する(ステップS1207)。これにより、パケットは、伝送帯域の上限レートで送信される。
送信部34は、ステップS1205、ステップS1206においてパケット送信が可視光通信の伝送帯域の上限レートに達している場合(ステップS1206:Y)またはステップS1207から移行して、図12に示す処理を繰り返す。
(受信装置4の受信部41及び送信部42/実施例2)
また、前述のとおり、実施例2における受信装置4の受信部41及び送信部42は、実施例1と異なる処理を行う。
図13は、実施例2による受信装置4の処理を示すフローチャートである。受信装置4の受信部41は、図10に示した実施例1のステップS1001及びステップS1002と同じ処理を行う(ステップS1301,ステップS1302)。
送信部42は、ステップS1302にて受信部41が抽出したシーケンス番号を受信済シーケンス番号として、受信済シーケンス番号を含むパケットを送信装置3Aへ繰り返し継続して送信する(ステップS1303)。これにより、最新の受信済シーケンス番号を含む同一パケットが常に送信され、送信装置3Aから送信されるパケットと同様に、受信装置4から送信されるパケットも、伝送帯域の上限レートで送信される。
受信部41は、ステップS1302にて抽出したシーケンス番号が前回受信したシーケンス番号とは異なり新たなシーケンス番号であるか否かを判定する(ステップS1304)。受信部41は、ステップS1304において、新たなシーケンス番号であると判定した場合(ステップS1304:Y)、ステップS1302にて抽出した分割圧縮データを結合して圧縮データを生成し、圧縮データをフレーム毎にバッファ43に格納し、そして、デコーダ44は、所定の再生遅延時間後にバッファ43から圧縮データを読み出してデコードし、映像モニタ5へ出力する(ステップS1305)。
一方、受信部41は、ステップS1304において、新たなシーケンス番号でないと判定した場合(ステップS1304:N)、ステップS1302にて抽出した分割圧縮データを削除する(ステップS1306)。
受信部41は、ステップS1305から移行して、シーケンス番号と分割圧縮データとGOPとの間の対応付けの情報が格納された対応テーブルを参照して、ステップS1302にて抽出したシーケンス番号に基づき、ステップS1302にて抽出した分割圧縮データがGOPの先頭フレームの最初の分割圧縮データであるか否かを判定する(ステップS1307)。
受信部41は、ステップS1307において、抽出した分割圧縮データがGOPの先頭フレームの最初の分割圧縮データであると判定した場合(ステップS1307:Y)、対応テーブルを参照して、既に格納済みの同一GOPにおける圧縮データをバッファ43から削除する(ステップS1308)。そして、ステップS1306、ステップS1307において分割圧縮データがGOPの先頭フレームの最初の分割圧縮データでないと判定された場合(ステップS1307:N)またはステップS1308から移行して、図13の処理が繰り返される。
以上のように、実施例2の送信装置3Aによれば、実施例1の送信装置3Aと同じ処理を行うことに加え、映像データを高レートでエンコードして送信する際に、送信部34は、新たな映像データを入力しておらず、パケット送信が可視光通信の伝送帯域の上限レートに達していない場合、現在送信している同一GOPのパケット(送信済みのパケット)を繰り返し継続して送信し、伝送帯域の上限レートで送信するようにした。
これにより、受信装置4は、伝送帯域の上限レートでパケットを受信し、受信済シーケンス番号を含むパケットを伝送帯域の上限レートで送信することができる。例えば、数パケット程度の期間の短い通信断が発生した場合であっても、受信装置4が通信回復後に通信断時のシーケンス番号を含むパケットを受信する場合には、送信装置3Aは、実施例1のようにレートを切り替える必要がなく、受信装置4は、映像データの受信を継続することができ、映像は途切れない。
また、送信装置3Aの受信部33は、受信装置4から伝送帯域の上限レートで送信されるべき受信済シーケンス番号を受信しないときに、一定時間待機することなく受信断を判定するようにした。これにより、受信断の判定を即座に行うことができる。つまり、一定時間待機することで受信断を判定する実施例1、及び例えば受信側から直接受信断の情報を取得する例と比較して、受信断を判断する処理構成を簡素化することができ、かつ、受信断の判定を高速化することができる。
また、実施例2の送信装置3Aによれば、実施例1と同様の効果を奏する。つまり、水中で映像データを可視光により伝送する際に、可視光が遮断された場合であっても、映像データが途切れ難い伝送を継続することができる。
さらに、実施例2の受信装置4によれば、実施例1の受信装置4と同じ処理を行うことに加え、送信部42は、受信部41が受信したシーケンス番号を受信済シーケンス番号として、送信装置3Aへ継続して常に送信するようにした。これにより、受信済シーケンス番号は、伝送帯域の上限レートで送信装置3Aへ送信されるから、送信装置3Aに、受信断の判定を、一定時間待機することなく即座に行わせることができる。
また、実施例2の受信装置4によれば、実施例1と同様の効果を奏する。つまり、水中で映像データを可視光により伝送する際に、可視光が遮断された場合であっても、映像データが途切れ難い伝送を継続することができる。
〔実施例3〕
次に、本発明の第3の実施形態(実施例3)について説明する。実施例3は、実施例1を変形したものであり、送信側において、高レートでエンコードした映像データを送信し、かつ低レートでエンコードした映像データをバッファに格納しているときに通信断を判定すると、バッファから映像データを読み出すことで、低レートでエンコードした映像データの送信に切り替え、そして、通信の回復を判定すると、低レートでエンコードした映像データの送信がGOPの開始フレームから最終フレームまで完了した後、高レートでエンコードした映像データの送信に戻す。これにより、低レートでエンコードした映像データ(圧縮データ)のみを格納するバッファを備えればよいから、ベースバンド映像信号を格納するバッファを備える場合に比べ、バッファ容量を減らすことができる。
図14は、実施例3による送信装置3及び受信装置4の構成を示すブロック図である。実施例3の水中伝送システム1は、送信装置3B及び受信装置4を備えて構成される。図2に示した実施例1の構成と図14に示す実施例3の構成とを比較すると、実施例1,3共に、同じ受信装置4を備えている点で同一であるが、実施例3は、実施例1の送信装置3Aとは異なる送信装置3Bを備えている点で相違する。
(送信装置3Bの構成/実施例3)
まず、実施例3による送信装置3Bの構成について詳細に説明する。この送信装置3Bは、エンコーダ51,52、バッファ53、受信部54及び送信部55を備え、エンコーダ52の後段にバッファ53が設けられており、可視光通信が切断されたときに、高レート圧縮データの送信から低レート圧縮データの送信に切り替える構成になっている。
エンコーダ51は、高レート用のエンコーダであり、カメラ2からベースバンド映像信号を入力し、所定のレート(高レート)にてベースバンド映像信号の映像データをエンコードして高レート圧縮データを生成し、高レート圧縮データを送信部55に出力する。
エンコーダ52は、低レート用のエンコーダであり、カメラ2からベースバンド映像信号を入力し、所定のレート(低レート、エンコーダ51における高レートよりも低いレート)にてベースバンド映像信号の映像データをエンコードして低レート圧縮データを生成し、低レート圧縮データをバッファ53に格納する。
バッファ53は、エンコーダ52から低レート圧縮データを入力し、低レート圧縮データをフレーム毎に格納する。バッファ53は、格納した低レート圧縮データを所定時間保持し、所定時間経過した後、低レート圧縮データを削除する。また、バッファ53は、受信部54からフレーム番号を入力すると、そのフレーム番号の低レート圧縮データを送信部55に出力する。
受信部54は、図2に示した受信部33と同様の処理を行う。また、受信部54は、受信断を判定すると、低レートのレート切替指示を送信部55に出力すると共に、送信途中であった映像データのGOPについて、そのGOPの先頭フレームから最終フレームまでの低レート圧縮データをバッファ53から順次出力させるために、そのフレーム番号をバッファ53に順次出力する。また、受信部54は、そのGOPの先頭フレームから最終フレームまで低レート圧縮データのパケットを順次送信させるために、シーケンス番号を送信部55に出力する。
そして、受信部54は、受信回復を判定すると、低レート圧縮データのパケットの送信がGOPの最終フレームまで完了した後、高レートのレート切替指示を送信部55に出力すると共に、高レート圧縮データを送信するためのシーケンス番号を送信部55に出力する。これにより、送信部55にて、エンコーダ51から入力した高レート圧縮データであって、次のGOPの先頭フレームからの高レート圧縮データが順次送信される。
送信部55は、エンコーダ51から高レート圧縮データを入力し、バッファ53から低レート圧縮データを入力し、さらに、受信部54からシーケンス番号及びレート切替指示を入力する。送信部55は、高レートのレート切替指示を入力した場合、高レート圧縮データをパケット毎に分割し、低レートのレート切替指示を入力した場合、低レート圧縮データをパケット毎に分割する。
送信部55は、分割した高レート圧縮データまたは低レート圧縮データをパケットに格納すると共に、シーケンス番号を順番にパケットに付加する。そして、送信部55は、パケットを生成し、可視光の搬送波を用いてパケットを可視光変調し、変調信号を可視光の水中無線にて受信装置4へ送信する。
この場合、送信部55により生成されるパケット(シーケンス番号及び分割圧縮データが含まれるパケット)について、受信部54は、シーケンス番号と、分割圧縮データと、当該分割圧縮データのフレームが属するGOPとの対応付けを行う。これにより、受信部54は、受信装置4から受信した受信済シーケンス番号が、どの分割圧縮データに対応し、どのフレームに対応し、また、どのGOPに対応しているかを認識することができる。
(送信装置3Bの処理/実施例3)
次に、図14に示した送信装置3Bの処理について詳細に説明する。図15は、送信装置3Bの処理を示すフローチャートである。まず、送信装置3Bのエンコーダ51は、カメラ2から入力したベースバンド映像信号の映像データを高レートにてエンコードし(ステップS1501)、送信部55は、伝送開始時に、高レート圧縮データ及びシーケンス番号を含むパケットを送信する(ステップS1502)。これにより、高レートにてエンコードされた映像データの送信が行われる。
また、ステップS1501及びステップS1502の処理と同時に、エンコーダ52は、カメラ2から入力したベースバンド映像信号の映像データを低レートにてエンコードし(ステップS1503)、低レート圧縮データをバッファ53に格納する(ステップS1504)。
受信部54は、受信装置4から受信済シーケンス番号を含むパケットを受信することにより、図5に示した同様の処理にて、受信断であるか否かを判定する(ステップS1505)。受信部54は、ステップS1505において、受信断でないと判定した場合(ステップS1505:N)、ステップS1501による高レートエンコード処理及びステップS1502によるパケット送信処理、並びにステップS1503による低レートエンコード処理及びステップS1504による低レート圧縮データ格納処理が行われる。これにより、常に低レートにてエンコードされた映像データが格納され、受信断でない限り、高レートにてエンコードされた映像データの送信が継続する。
一方、受信部54は、ステップS1505において、受信断であると判定した場合(ステップS1505:Y)、ステップS1506へ移行し、低レートにてエンコードされた映像データの送信が行われる。
受信部54は、ステップS1505において、受信断であると判定すると(ステップS1505:Y)、最後に受信したパケットに含まれる受信済シーケンス番号の次のシーケンス番号に対応するGOPを特定し、そのGOPの先頭フレームから最終フレームまでの低レート圧縮データをバッファ53に出力させるためのフレーム番号をバッファ53に順次出力し、バッファ53は、受信部54からフレーム番号を入力すると、そのGOPの先頭フレームから最終フレームまでの低レート圧縮データを送信部55に順次出力する(ステップS1506)。
送信部55は、低レート圧縮データ及びシーケンス番号を含むパケットを送信する(ステップS1507)。このパケットは、送信装置3Bと受信装置4との間の可視光通信が切断されていることから、受信装置4へ到着せず、送信装置3Bは、受信済シーケンス番号を含むパケットを受信することができない。
ここで、図15のフローチャートには明示していないが、ステップS1506による低レート圧縮データ出力処理及びステップS1507によるパケット送信処理において、ステップS1503による低レートエンコード処理及びステップS1504による低レート圧縮データ格納処理が常に行われている。
受信部54は、ステップS1505の処理と同様に、受信装置4から受信済シーケンス番号を含むパケットを受信することにより、受信断であるか否かを判定する(ステップS1508)。受信部54は、ステップS1508において、受信断であると判定した場合(ステップS1508:Y)、ステップS1506へ移行し、ステップS1506による低レート圧縮データ出力処理及びステップS1507によるパケット送信処理が行われる。
この場合、送信部55は、ステップS1507において、同一シーケンス番号を付加した既送信のパケット(送信していたGOPの先頭フレームにおける最初の低レート圧縮データを格納し、シーケンス番号を付加した同一パケット)を送信する。送信部55は、受信部54が新しい受信済シーケンス番号を含むパケットを受信装置4から受信するまでの間、送信装置3Bからのパケット送信も切断されていると判断できるから、受信断である限り、同一シーケンス番号を付加したパケットを送信し続ける。
受信部54は、ステップS1508において、受信装置4から受信済シーケンス番号を受信して受信断でないと判定すると(ステップS1508:N)、受信が回復した(可視光通信が回復した)と判断する。そして、受信部54は、低レート圧縮データについて最終フレームまで送信完了し、受信確認済みであるか否かを判定し(ステップS1509)、すなわち、受信装置4から受信した受信済シーケンス番号が最終フレームの最後の低レート圧縮データに対応するシーケンス番号(最終フレームの最後の低レート圧縮データが送信されたパケットに付加されたシーケンス番号)であるか否かを判定する。
受信部54は、ステップS1509において、最終フレームまで送信完了しておらず、最終フレームまで受信確認済みでない(受信装置4から受信した受信済シーケンス番号が最終フレームの最後の低レート圧縮データに対応するシーケンス番号でない)と判定した場合(ステップS1509:N)、ステップS1506による低レート圧縮データ出力処理及びステップS1507によるパケット送信処理が継続する。
一方、受信部54は、ステップS1509において、最終フレームまで送信完了して受信確認済みである(受信装置4から受信した受信済シーケンス番号が最終フレームの最後の低レート圧縮データに対応するシーケンス番号である)と判定した場合(ステップS1509:Y)、ステップS1501及びステップS1503へ移行する。この場合、送信部55は、ステップS1502において、低レート圧縮データのパケットを送信したGOPの次のGOPから、高レート圧縮データのパケットを送信する。これにより、低レートにてエンコードしたGOPの映像データの送信が完了した後、高レートにてエンコードした映像データの送信が再開する。
(送信装置3Bにおける送信部55の処理/実施例3)
次に、図14に示した送信装置3Bにおける送信部55の処理について詳細に説明する。図16は、送信部55の処理を示すフローチャートである。まず、送信部55は、エンコーダ51から高レート圧縮データを入力する(ステップS1601)。そして、送信部55は、高レート圧縮データを所定サイズに分割してメモリに格納する。
送信部55は、受信部54からシーケンス番号及びレート切替指示を入力する(ステップS1602)。そして、送信部55は、レート切替指示が高レートを示しているか、または低レートを示しているかを判定する(ステップS1603)。
送信部55は、ステップS1603において、レート切替指示が高レートを示していると判定した場合(ステップS1603:レート切替指示=高レート)、送信対象の高レート圧縮データがメモリに格納されており、送信対象のシーケンス番号が入力されている場合、メモリから分割した高レート圧縮データを読み出し、この高レート圧縮データを格納すると共にシーケンス番号を順番に付加することでパケットを生成し(ステップS1604)、可視光の搬送波を用いてパケットを可視光変調し、変調信号を可視光の水中無線にて受信装置4へ送信する(ステップS1607)。そして、図16の処理を繰り返す。尚、送信対象の高レート圧縮データがメモリに格納されておらず、または、送信対象のシーケンス番号が入力されていない場合、送信部55は処理を行わない。
一方、送信部55は、ステップS1603において、レート切替指示が低レートを示していると判定した場合(ステップS1603:レート切替指示=低レート)、バッファ53が低レート圧縮データを出力するのを受けて、バッファ53から低レート圧縮データを読み出す(ステップS1605)。送信部55は、低レート圧縮データを所定サイズに分割してメモリに格納する。
送信部55は、送信対象の低レート圧縮データがメモリに格納されており、送信対象のシーケンス番号が入力されている場合、メモリから分割した低レート圧縮データを読み出し、この低レート圧縮データを格納すると共にシーケンス番号を順番に付加することでパケットを生成し(ステップS1606)、可視光の搬送波を用いてパケットを可視光変調し、変調信号を可視光の水中無線にて受信装置4へ送信する(ステップS1607)。そして、図16の処理を繰り返す。尚、送信対象の低レート圧縮データがメモリに格納されておらず、または、送信対象のシーケンス番号が入力されていない場合、送信部55は処理を行わない。
以上のように、実施例3の送信装置3Bによれば、映像データを高レートでエンコードし高レート圧縮データを送信し、映像データを低レートでエンコードして低レート圧縮データをバッファ53に格納している状態において、受信装置4から受信済シーケンス番号を一定時間受信しないことで受信断を判定すると、最後に受信した受信済シーケンス番号の次のシーケンス番号に対応するGOPを特定し、特定したGOPの先頭フレームから最終フレームまでの低レート圧縮データをバッファ53から読み出して送信するようにした。この場合、受信断であるから、映像データは送信されない。そして、送信装置3Bは、受信装置4から受信済シーケンス番号を受信して受信回復を判定すると、GOPの先頭フレームから最終フレームまでの低レート圧縮データを送信し、その最終フレームの低レート圧縮データの送信が完了すると(最終フレームの最後の受信済シーケンス番号を受信すると)、高レート圧縮データの送信に戻し、次のGOPの先頭フレームから高レート圧縮データを送信するようにした。
これにより、実施例1と同様の効果を奏する。つまり、水中で映像データを可視光により伝送する際に、可視光が遮断された場合であっても、映像データが途切れ難い伝送を継続することができる。
また、送信装置3Bは、高レート用のエンコーダ51及び低レート用のエンコーダ52を2つ備え、低レート用のエンコーダ52の後段にのみバッファ53を備えるようにした。高レート圧縮データは、高レート用のエンコーダ51から送信部55へ直接出力され、低レート圧縮データは、低レート用のエンコーダ52から出力されてバッファ53に一旦格納され、そして、低レート圧縮データを送信する際に、バッファ53から送信部55へ出力される。
これにより、低レート圧縮データのみがバッファ53に格納されるから、ベースバンド映像信号をバッファ31に格納する実施例1,2に比べ、必要とするバッファ容量を減らすことができる。
また、実施例3の受信装置4は、実施例1と同じ構成であるから、実施例1と同様の効果を奏する。
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、実施例3は、実施例1を変形した例としたが、実施例2を変形した例としてもよい。この場合の実施例3の変形例は、送信側において、高レート圧縮データを送信する際に、送信部55は、新たな高レート圧縮データを入力しておらず、パケット送信が伝送帯域の上限レートに達していない場合、現在送信している同一GOPのパケット(送信済みのパケット)を繰り返し継続して送信する。そして、送信部55は、新たな高レート圧縮データを入力しない限り、伝送帯域の上限レートにて、同一GOPのパケットを繰り返し継続して送信する。一方、送信部55は、新たな高レート圧縮データを入力した場合、同一GOPのパケットを繰り返し継続して送信する処理を停止し、入力した高レート圧縮データのパケットを送信する。