JP2005217536A - 映像配信システム - Google Patents
映像配信システム Download PDFInfo
- Publication number
- JP2005217536A JP2005217536A JP2004018892A JP2004018892A JP2005217536A JP 2005217536 A JP2005217536 A JP 2005217536A JP 2004018892 A JP2004018892 A JP 2004018892A JP 2004018892 A JP2004018892 A JP 2004018892A JP 2005217536 A JP2005217536 A JP 2005217536A
- Authority
- JP
- Japan
- Prior art keywords
- parity
- distribution
- image
- individual
- video
- 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.)
- Pending
Links
Images
Landscapes
- Studio Devices (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】
配信映像のパケットロスを的確に補完し得る映像配信システムを実現する。
【解決手段】
それぞれ個別の撮影範囲を撮影してなる複数の個別画像を合成して配信画像を生成する画像合成手段と、配信画像についてのパリティを算出するパリティ算出手段と、算出したパリティを配信画像に付加するパリティ付加手段と、パリティが付加された配信画像をパケット化し、所定の配信対象に配信する配信手段とを映像配信装置に設け、配信画像に付加された当該配信画像についてのパリティを用いて、当該配信画像の配信時におけるパケット喪失によって発生する当該配信画像の喪失画素を復元する喪失画素復元手段を映像受信手段に設けたことにより、配信時におけるパケットロスを的確に補完することができる。
【選択図】 図1
配信映像のパケットロスを的確に補完し得る映像配信システムを実現する。
【解決手段】
それぞれ個別の撮影範囲を撮影してなる複数の個別画像を合成して配信画像を生成する画像合成手段と、配信画像についてのパリティを算出するパリティ算出手段と、算出したパリティを配信画像に付加するパリティ付加手段と、パリティが付加された配信画像をパケット化し、所定の配信対象に配信する配信手段とを映像配信装置に設け、配信画像に付加された当該配信画像についてのパリティを用いて、当該配信画像の配信時におけるパケット喪失によって発生する当該配信画像の喪失画素を復元する喪失画素復元手段を映像受信手段に設けたことにより、配信時におけるパケットロスを的確に補完することができる。
【選択図】 図1
Description
本発明は映像配信システムに関し、特に全方位映像を配信するシステムに適用して好適なものである。
従来、複数個のビデオカメラを用いて撮影地点を中心とした360°映像を撮影する、いわゆる全方位カメラが提案されている(例えば、特許文献1参照)。
かかる全方位カメラは、例えば45°の水平画角を有する8台のSD(Standard Definition)規格のビデオカメラをそれぞれの撮影範囲が重複しないように配置することにより、8台のビデオカメラ全体で水平方向360°全周を撮影する。
そして全方位カメラは、8台のビデオカメラそれぞれで撮影したSD規格の映像信号を合成(マルチプレクス)することにより、HD(High Definition)規格でなる全方位映像信号を生成する。
特開2003−304509公報
このようにして全方位カメラで撮影された全方位映像信号を、例えばインターネット等のネットワークを介してストリーミング配信することが考えられる。ところがネットワークを介したストリーミング配信では、パケットの喪失(パケットロス)が発生することがあり、かかるパケットロスによって全方位画像のうちの一部画素が欠落して表示品質が低下することがあるという問題があった。
本発明は以上の点を考慮してなされたもので、配信時における配信映像のパケットロスを的確に補完し得る映像配信システムを提案しようとするものである。
かかる課題を解決するため本発明においては、それぞれ個別の撮影範囲を撮影してなる複数の個別画像を合成し、撮影範囲が連続してなる配信画像を生成する画像合成手段と、配信画像に合成された複数の個別画像間についてのパリティを算出するパリティ算出手段と、算出したパリティを配信画像に付加するパリティ付加手段と、パリティ付加手段によってパリティが付加された配信画像をパケット化し、所定の配信対象に配信する配信手段とを具えることを映像配信装置に設けた。
そして、パリティ算出手段は、複数の個別画像を重ね合わせた状態で対応する画素毎にパリティを算出し、パリティ付加手段は、算出したパリティを次フレーム及び次次フレームの合成画像に付加するようにした。
算出したパリティを次フレーム及び次次フレームの2枚の合成画像に付加することにより、配信時におけるパケットロスによる合成画像の喪失画素を強力に復元することができる。
また、個別画像それぞれについての個別パリティを算出し、当該個別画像に付加する個別パリティ算出手段を設けた。
個別パリティに基づいて喪失画素が存在する個別画像を推定し、全体パリティを用いて当該喪失画素を復元することができる。
またパリティ算出手段は、配信画像全体の水平方向及び垂直方向のパリティを算出するようにした。
直交する2つのパリティを生成して合成画像に付加することにより、これらのパリティのみを用いて喪失画素を特定できるとともに、1枚の合成画像に複数の喪失画素が発生した場合でも、喪失画素を復元することができる。
また本発明においては、それぞれ個別の撮影範囲を撮影してなる複数の個別画像が合成され撮影範囲が連続してなる配信画像のパケットを受信する受信手段と、配信画像に付加された、当該配信画像に合成された上記複数の個別画像間についてのパリティを用いて、当該配信画像の配信時におけるパケット喪失によって発生する当該配信画像の喪失画素を復元する喪失画素復元手段とを映像受信装置に設けた。
そして、パリティは複数の個別画像を重ね合わせた状態で対応する画素毎に算出され、パケットには、当該パケットに格納された個別画像の識別番号が記入され、喪失画素復元手段は、喪失パケットの前後のパケットに記入された識別番号に基づいて、当該喪失パケットに格納されていた個別画像を推定して喪失画素を復元するようにした。
識別番号に基づいて喪失画素が含まれる個別画像を推定し、パリティを用いて当該喪失画素を復元することができる。
また、パリティは複数の上記個別画像を重ね合わせた状態で対応する画素毎に算出され、配信画像に合成された上記複数の個別画像それぞれには当該個別画像についての個別パリティが付加され、喪失画素復元手段は、個別パリティに基づいて喪失画素が存在する個別画像を推定し、全体パリティを用いて当該喪失画素を復元するようにした。
個別パリティに基づいて喪失画素が存在する個別画像を推定し、全体パリティを用いて当該喪失画素を復元することができる。
また、パリティは配信画像全体の水平方向パリティ及び垂直方向パリティでなり、喪失画素復元手段は、当該水平方向パリティ及び垂直方向パリティに基づいて喪失画素を特定して復元するようにした。
直交する2つの水平方向パリティ及び垂直方向パリティのみを用いて喪失画素を特定できるとともに、1枚の合成画像に複数の喪失画素が発生した場合でも、喪失画素を復元することができる。
本発明によれば、全方位映像の配信時におけるパケットロスを的確に補完することができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)映像配信システムの構成
図1において、1は全体として本発明の第1の実施の形態の映像配信システムを示し、映像配信装置2が配信サーバ3を介してネットワーク4に接続されている。そして配信サーバ3は、全方位カメラ10を用いて撮影した配信映像としての全方位映像を、ネットワーク4を介して複数のクライアントPC(Personal Computer)5に対してストリーミング配信する。
(1−1)映像配信システムの構成
図1において、1は全体として本発明の第1の実施の形態の映像配信システムを示し、映像配信装置2が配信サーバ3を介してネットワーク4に接続されている。そして配信サーバ3は、全方位カメラ10を用いて撮影した配信映像としての全方位映像を、ネットワーク4を介して複数のクライアントPC(Personal Computer)5に対してストリーミング配信する。
映像受信装置としての各クライアントPC5は、受信した全方位映像から、それぞれのユーザがマウス等を介して指定する希望撮影方位を中心とした所定画角の映像を抽出し表示部5Dに表示することにより、全方位カメラ10を中心としたユーザ任意の方向の映像を表示するようになされている。
図2は全方位カメラ10の全体構成を示し、三脚11の上部にカメラユニット12が載置されて構成される。このカメラユニット12は、レンズを下方に向けた状態で等間隔に環状に配列された8台のビデオカメラ13(13A〜13H)と、ビデオカメラ13A〜13Hそれぞれのレンズ下方に配置された8枚のミラー14(14A〜14H)とを有している。
ミラー14A〜14Hは、対応するビデオカメラ13A〜13Hのレンズ光軸に対して45°外方に傾けて配置されている。これにより、垂直方向下方に向けて設置されているビデオカメラ13A〜13Hは、それぞれ対応するミラー14A〜14Hを介して水平方向に撮影を行う。
このビデオカメラ13A〜13Hは、通常のビデオカメラとは異なり、映像を縦長の状態(垂直方向4:水平方向3)で撮影するように配置されており、その水平画角が45°に選定されている。これによりカメラユニット12は、8台のビデオカメラ13A〜13H全体で45°×8=360°全周を撮影するようになされている。
各ビデオカメラ13A〜13Hは、カメラコントロールユニット15(図1)からの制御に応じて撮影を行ってアナログコンポジット信号でなる映像信号S1A〜S1Hをそれぞれ生成し、これを当該カメラコントロールユニット15を介してA/D(Analog/Digital)コンバータ16に入力する。A/Dコンバータ16は、映像信号S1A〜S1Hをそれぞれディジタル変換してSD規格のディジタル映像データD1A〜D1Hを生成し、これらをリアルタイムマルチプレクサ20の入力チャンネルCh1〜Ch8にそれぞれ入力する。
画像合成手段としてのリアルタイムマルチプレクサ20は、8chのSD−SDI規格のディジタル映像データD1A〜D1Hが表すフレーム毎の画像Pic1(n)〜Pic8(n)を、図3に示すようにマッピングして全方位画像PicA(n)を合成し、当該全方位画像PicA(n)が連続してなるHD−SDI規格のディジタル全方位映像データD2を生成する。
ここで、実際上リアルタイムマルチプレクサ20は、最大10ChのSD−SDI規格のディジタル映像データを1chのHD−SDI規格のディジタル映像データに合成する能力を有している。このためディジタル全方位映像データD2には、SD−SDI規格のディジタル映像データ2ch分の空きが存在する。
本願発明の映像配信システム1は、ディジタル全方位映像データD2が有するこのデータの空き部分を有効利用し、ネットワーク上でのパケットロスを補完するようになされている。
すなわち、パリティ算出手段としての映像配信装置2のパリティ生成器30は、リアルタイムマルチプレクサ20から供給されるディジタル全方位映像データD2から画像Pic1(n)〜Pic8(n)を1フレーム毎に再分離し、当該画像Pic1(n)〜Pic8(n)を重ね合わせた状態で各画素についてExclusive OR(排他的論理和)を取ることにより、画像Pic1(n)〜Pic8(n)の1フレーム分の画像のパリティデータPar(n)を順次生成し、これをリアルタイムマルチプレクサ20に供給する。
パリティ付加手段としてのリアルタイムマルチプレクサ20は、パリティ生成器30から供給されるパリティデータPar(n)を、ディジタル映像データD2の次フレーム(n+1フレーム)及び次次フレーム(n+2フレーム)の画面下部にマッピングして、配信サーバ3に供給する。配信サーバ3は、ディジタル映像データD2を順次パケット化し、ネットワーク4を介してクライアントPC5にストリーミング配信する。
クライアントPC5においては、当該クライアントPC5全体を統括的に制御する喪失画素復元手段としてのCPU(Central Processing Unit)5Aに対して、ハードディスクドライブ5B、メモリ5C、表示部5D及び受信手段としてのネットワークインターフェース5Eがバス5Fを介して接続されている。
ハードディスクドライブ5Bには、オペレーティングシステムや、配信サーバ3から配信されるディジタル映像データD2を受信して表示するための受信処理プログラム等の各種アプリケーションプログラムが格納されている。そしてCPU5Aは、クライアントPC5の起動に応じてハードディスクドライブ5Bからオペレーティングシステムを読み出し、メモリ5Cに展開して実行する。
そしてCPU5Aは、オペレーティングシステムの実行環境下において受信処理プログラムを実行し、配信サーバ3から受信したディジタル映像データD2の全方位画像PicA(n)から、ユーザが指定する希望撮影方位を中心とした所定画角の映像を抽出して表示部5Aに順次表示する。
このときクライアントPC5は、受信したディジタル映像データD2にパケットロスが存在した場合、当該ディジタル映像データD2にマッピングされているパリティデータPar(n)を用いて、パケットロスによる喪失画素を復元するようになされている。
(1−2)パリティデータの生成及びマッピング
次に、上述したパリティ生成器30によるパリティデータPar(n)の生成、及びリアルタイムマルチプレクサ20によるマッピングの様子を詳細に説明する。
次に、上述したパリティ生成器30によるパリティデータPar(n)の生成、及びリアルタイムマルチプレクサ20によるマッピングの様子を詳細に説明する。
図4に示す映像配信装置2の初期状態において、ディジタル映像データD1A〜D1Hの最初のフレーム(これを0フレームとする)が、リアルタイムマルチプレクサ20のCh1〜Ch8にそれぞれ入力される。リアルタイムマルチプレクサ20は、この0フレーム目の画像Pic1(0)〜Pic8(0)を順次マッピングするとともに、ダミーデータDummy1及びDummy2をそれぞれ画面左下部及び右下部にマッピングして、0フレーム目の全方位画像PicA(0)を合成する。
そしてリアルタイムマルチプレクサ20は、この0フレーム目の全方位画像PicA(0)を、ディジタル全方位映像データD2として配信サーバ3及びパリティ生成器30に供給する。配信サーバ30は、ディジタル全方位映像データD2をパケット化しネットワーク4を介してクライアントPC5にストリーミング配信する。
一方、パリティ生成器30の画像再分離部31は、0フレーム目の全方位画像PicA(0)から画像Pic1(0)〜Pic8(0)を再分離し、これを次段のパリティ算出部32に供給する。パリティ算出部32は画像Pic1(0)〜Pic8(0)を重ね合わせた状態で各画素のExclusive ORを取ることにより、画像Pic1(0)〜Pic8(0)の0フレーム目のパリティデータPar(0)を生成する。
画像回転部33は、パリティデータPar(0)を横に90°回転して次段のパリティバッファ34に供給する。パリティバッファ34は、パリティデータPar(0)を次の1フレーム目の画像Pic1(1)〜Pic8(1)の入力タイミングに同期してリアルタイムマルチプレクサ20のCh9に入力するとともに、メモリ35に格納する。
リアルタイムマルチプレクサ20は、1フレーム目の画像Pic1(1)〜Pic8(1)を順次マッピングするとともに、0フレーム目のパリティデータPar(0)をダミーデータDummy1に替えて画面左下部にマッピングして、1フレーム目の全方位画像PicA(1)を合成する。
そしてリアルタイムマルチプレクサ20は、この1フレーム目の全方位画像PicA(1)を、ディジタル全方位映像データD2として配信サーバ3を介してクライアントPC5に配信するとともに、パリティ生成器30に供給する。
図5において、パリティ生成器30の画像再分離部31は、1フレーム目の全方位画像PicA(1)から画像Pic1(1)〜Pic8(1)を再分離し、これを次段のパリティ算出部32に供給する。パリティ算出部32は画像Pic1(1)〜Pic8(1)のExclusive ORを取ることにより、1フレーム目のパリティデータPar(1)を生成する。
画像回転部33は、パリティデータPar(1)を横に90°回転して次段のパリティバッファ34に供給する。パリティバッファ34は、パリティデータPar(1)を次の1フレーム目の画像Pic1(2)〜Pic8(2)の入力タイミングに同期してリアルタイムマルチプレクサ20のCh9に入力するとともに、メモリ35に格納する。このとき同時にメモリ35は、格納していた0フレーム目のパリティデータPar(0)を、画像Pic1(2)〜Pic8(2)の入力タイミングに同期してリアルタイムマルチプレクサ20のCh10に入力する
リアルタイムマルチプレクサ20は、2フレーム目の画像Pic1(2)〜Pic8(2)を順次マッピングするとともに、1フレーム目のパリティデータPar(1)を画面左下部にマッピングし、さらにメモリ35から供給される0フレーム目のパリティデータPar(0)をダミーデータDummy2に替えて画面右下部にマッピングして、2フレーム目の全方位画像PicA(2)を合成する。
そしてリアルタイムマルチプレクサ20は、この2フレーム目の全方位画像PicA(2)を、ディジタル全方位映像データD2として配信サーバ3を介してクライアントPC5に配信するとともに、パリティ生成器30に供給する。
かくして映像配信装置2は、nフレーム目の全方位画像PicA(n)に対し、nフレーム目の画像Pic1(n)〜Pic8(n)、n−1フレーム目のパリティデータPar(n−1)、及びn−2フレーム目のパリティデータPar(n−2)をマッピングしていく。
このためnフレーム目の画像Pic1(n)〜Pic8(n)のパリティデータPar(n)は、次のn+1フレーム目の全方位画像PicA(n+1)及びその次のn+2フレーム目の全方位画像PicA(n+2)の双方に格納されることになり、この冗長性により、パケットロスによる喪失画素を強力に復元することができる。
ここで、パリティデータPar(n)は画像Pic1(n)〜Pic8(n)の対応画素全体に対するものであり、パケットロスによる喪失画素が画像Pic1(n)〜Pic8(n)のいずれに存在するのかは、当該パリティデータPar(n)単独では判別することができない。
しかしながらこの映像配信システム1においては、配信サーバ3が全方位画像PicA(0)をパケット化する際、そのパケットヘッダに、タイムスタンプやシーケンスナンバーとともに、当該パケットに格納されている画像データがビデオカメラ13A〜13Hのいずれで撮影されたものかを表す画像識別番号としての1〜8のカメラ番号を記入するようになされている。
この1〜8のカメラ番号は画像Pic1(n)〜Pic8(n)に対応するものである。このため、前後のパケットに記入されたカメラ番号からパケットロスが発生したパケットのカメラ番号を推定し、当該推定したカメラ番号から、喪失画素が画像Pic1(n)〜Pic8(n)のいずれに存在するのかを判別することにより、カメラ番号とパリティデータPar(n)とを用いて喪失画素を復元することができる。
(1−3)第1の実施の形態の映像配信処理手順
次に、上述した映像配信装置2による映像配信処理手順を、図6に示すフローチャートを用いて詳細に説明する。
次に、上述した映像配信装置2による映像配信処理手順を、図6に示すフローチャートを用いて詳細に説明する。
映像配信装置2のリアルタイムマルチプレクサ20はルーチンRT1の開始ステップから入ってステップSP1に移り、各ビデオカメラ13A〜13Hから入力される画像データを待ち受け、当該画像データが入力されると次のステップSP2に移る。
ステップSP2において映像配信装置2のリアルタイムマルチプレクサ20は、入力された画像データが0フレーム目のデータであるか否かを判定する。ステップSP2において、画像データが0フレーム目のデータであると判定した場合、リアルタイムマルチプレクサ20はステップSP3に移り、Pic1(0)〜Pic8(0)の画像データ及びダミーデータDummy1及びDummy2を合成して全方位画像PicA(0)を生成し、これを配信サーバ3に供給した後、次のステップSP4に移る。
ステップSP4において映像配信装置2のパリティ生成器30は、Pic1(0)〜Pic8(0)の画像データから現フレームのパリティデータPar(0)を生成し、リアルタイムマルチプレクサ20に供給するとともにメモリ35に記憶し、次のステップSP5に移る。
ステップSP5において映像配信装置2の配信サーバ3は、リアルタイムマルチプレクサ20から入力された全方位画像PicA(0)をパケット化し、そのパケットヘッダにタイムスタンプ、シーケンスナンバー、及び当該パケットに格納されている画像データがビデオカメラ13A〜13Hのいずれで撮影されたものかを表すカメラ番号を付加し、次のステップSP6に移る。
ステップSP6において映像配信装置2の配信サーバ3は、生成したパケットをディジタル全方位映像データD2として、ネットワーク4を介してクライアントPC5に配信した後ステップSP1に戻り、かくして0フレームの処理が終了する。
これに対してステップSP2において、画像データが0フレーム目のデータではないと判定した場合、リアルタイムマルチプレクサ20はステップSP7に移り、入力された画像データが1フレーム目のデータであるか否かを判定する。ステップSP7において、画像データが1フレーム目のデータであると判定した場合、リアルタイムマルチプレクサ20はステップSP8に移り、Pic1(1)〜Pic8(1)の画像データ、一つ前のフレームのパリティデータPar(0)及びダミーデータDummy2を合成して全方位画像PicA(1)を生成し、これを配信サーバ3に供給して、ステップSP4に移る。
ステップSP4において映像配信装置2のパリティ生成器30は、Pic1(1)〜Pic8(1)の画像データから現フレームのパリティデータPar(1)を生成し、リアルタイムマルチプレクサ20に供給するとともにメモリ35に記憶し、次のステップSP5に移る。
ステップSP5において映像配信装置2の配信サーバ3は、リアルタイムマルチプレクサ20から入力された全方位画像PicA(1)をパケット化し、そのパケットヘッダにタイムスタンプ、シーケンスナンバー及びカメラ番号を付加し、次のステップSP6に移る。
ステップSP6において映像配信装置2の配信サーバ3は、生成したパケットをディジタル全方位映像データD2として、ネットワーク4を介してクライアントPC5に配信した後ステップSP1に戻り、かくして1フレームの処理が終了する。
これに対してステップSP7において、画像データが1フレーム目のデータではないと判定した場合(すなわち2フレーム目以降のデータ)、リアルタイムマルチプレクサ20はステップSP9に移り、Pic1(n)〜Pic8(n)の画像データ、一つ前のフレームのパリティデータPar(n−1)及び二つ前のフレームのパリティデータPar(n−2)を合成して全方位画像PicA(n)を生成し、これを配信サーバ3に供給して、ステップSP4に移る。
ステップSP4において映像配信装置2のパリティ生成器30は、Pic1(n)〜Pic8(n)の画像データから現フレームのパリティデータPar(n)を生成し、リアルタイムマルチプレクサ20に供給するとともにメモリ35に記憶し、次のステップSP5に移る。
ステップSP5において映像配信装置2の配信サーバ3は、リアルタイムマルチプレクサ20から入力された全方位画像PicA(n)をパケット化し、そのパケットヘッダにタイムスタンプ、シーケンスナンバー及びカメラ番号を付加し、次のステップSP6に移る。
ステップSP6において映像配信装置2の配信サーバ3は、生成したパケットをディジタル全方位映像データD2として、ネットワーク4を介してクライアントPC5に配信した後ステップSP1に戻る。そして映像配信装置2は、ステップSP1〜SP2〜SP7〜SP9〜SP4〜SP5〜SP6を順次実行することにより2フレーム目以降の処理を行い、かくしてディジタル全方位映像データD2をクライアントPC5にストリーミング配信していく。
(1−4)第1の実施の形態のクライアントPCの受信処理手順
次に、上述した映像配信処理手順によって配信されたディジタル全方位映像データD2をクライアントPC5が受信して表示する際の受信処理手順を、図7に示すフローチャートを用いて詳細に説明する。
次に、上述した映像配信処理手順によって配信されたディジタル全方位映像データD2をクライアントPC5が受信して表示する際の受信処理手順を、図7に示すフローチャートを用いて詳細に説明する。
クライアントPC5のCPU5Aは、受信処理手順ルーチンRT2の開始ステップから入ってステップSP11に移り、配信サーバ3からストリーミング配信されるディジタル全方位映像データD2のパケットを順次メモリ5Cに格納し(バッファリングの開始)、次のステップSP12に移る。
ステップSP12においてCPU5Aは、メモリ5Cにバッファリングしたパケットのパケットヘッダに記入されているシーケンスナンバーの連続性に基づいて、パケットロスの有無を判定する。ステップSP12において、着目しているパケットのシーケンスナンバーが前後のパケットのシーケンスナンバーと連続している場合、このことはパケットロスが発生していないことを表しており、このときCPU5AはステップSP13に移り、受信したディジタル全方位映像データD2のパケットから全方位画像PicA(n)を復元し、さらにユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP12に戻る。
これに対してステップSP12において、着目しているパケットのシーケンスナンバーが前後のパケットのシーケンスナンバーと連続していない場合、このことはパケットロスが発生していることを表しており、このときCPU5AはステップSP14に移り、前後のパケットのシーケンスナンバー及びカメラ番号から、パケットロスが起きたCh(すなわち画像Pic1〜Pic8のうちのどの画像でパケットロスが発生したか)を推定し、次のステップSP15に移る。
ステップSP15においてCPU5Aは、パケットロスが発生したフレーム(全方位画像PicA(n))の次フレームのデータ(すなわち全方位画像PicA(n+1))が、メモリ5Cに格納されているかを判定する。
ステップSP15において、次フレームの全方位画像PicA(n+1)がメモリ5Cに格納されている場合、CPU5AはステップSP16に移り、当該次フレームの全方位画像PicA(n+1)の左下領域からパリティデータPar(n)を抽出し、次のステップSP17に移る。ステップSP17においてCPU5Aは、抽出したパリティデータPar(n)を用いて全方位画像PicA(n)のパケットロスを復元した後ステップSP13に移り、ユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP12に戻る。
これに対してステップSP15において、次フレームの全方位画像PicA(n+1)がメモリ5Cに格納されていない場合、CPU5AはステップSP18に移り、パケットロスが発生したフレーム(全方位画像PicA(n))の次次フレームのデータ(すなわち全方位画像PicA(n+2))が、メモリ5Cに格納されているかを判定する。
ステップSP18において、次次フレームの全方位画像PicA(n+2)がメモリ5Cに格納されている場合、CPU5AはステップSP19に移り、当該次次フレームの全方位画像PicA(n+2)の右下領域からパリティデータPar(n)を抽出した後ステップSP17に移る。ステップSP17においてCPU5Aは、抽出したパリティデータPar(n)を用いて全方位画像PicA(n)のパケットロスを復元した後ステップSP13に移り、ユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP12に戻る。
これに対してステップSP18において、次次フレームの全方位画像PicA(n+2)がメモリ5Cに格納されていない場合、このことはパケットロスを復元し得るパリティデータPar(n)が存在しないことを表しており、このときCPU5AはステップSP20に移り、例えばパケットロスによって失われた画像部分を前後のフレームの画像で補完する等のエラー処理を行った後ステップSP13に移り、ユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP12に戻る。
(1−5)動作及び効果
以上の構成において、映像配信システム1のパリティ生成器30は、リアルタイムマルチプレクサ20で合成した全方位画像PicA(n)から画像Pic1(n)〜Pic8(n)を1フレーム毎に再分離し、画像Pic1(n)〜Pic8(n)の対応する各画素のパリティデータPar(n)を生成する。
以上の構成において、映像配信システム1のパリティ生成器30は、リアルタイムマルチプレクサ20で合成した全方位画像PicA(n)から画像Pic1(n)〜Pic8(n)を1フレーム毎に再分離し、画像Pic1(n)〜Pic8(n)の対応する各画素のパリティデータPar(n)を生成する。
そしてリアルタイムマルチプレクサ20は、パリティ生成器30が生成したパリティデータPar(n)を、全方位画像PicA(n+1)(すなわち次フレーム)及び全方位画像PicA(n+2)(すなわち次次フレーム)に格納する。
これに加えて映像配信システム1の配信サーバ3は、全方位画像PicA(n)をパケット化してストリーミング配信する際、そのパケットヘッダに、当該パケットに格納されている画像データがビデオカメラ13A〜13Hのいずれで撮影されたものかを表すカメラ番号を記入する。
このため映像配信システム1のクライアントPC5は、ネットワーク上でパケットロスが発生したとしても、その前後のパケットのカメラ番号に基づいてパケットロスが発生したパケットのカメラ番号を推定し、当該推定したカメラ番号とパリティデータPar(n)とを用いることにより、パケットロスによる喪失画素を復元することができる。
これに加えて映像配信システム1では、パリティデータPar(n)を全方位画像PicA(n+1)及びPicA(n+2)のフレームに格納していることから、たとえ一方のフレームがパケットロスしたとしても、残る他方のフレームのパケットに格納されたパリティデータPar(n)を用いて、パケットロスによる喪失画素を復元することができる。
以上の構成によれば、全方位画像PicA(n+1)及びPicA(n+2)の2つのフレームに格納したパリティデータPar(n)を用いて、パケットロスによる喪失画素を強力に復元することができる。
(2)第2の実施の形態
図1との対応箇所に同一符号を付して示す図8において、40は全体として本発明の第2の実施の形態の映像配信システムを示し、映像配信装置41のパリティ生成器43によるパリティの生成方法、及びリアルタイムマルチプレクサ42によるパリティの格納方法が異なる以外は、第1の実施の形態の映像配信システム1と同一であるため、当該リアルタイムマルチプレクサ42及びパリティ生成器43を中心に説明する。
図1との対応箇所に同一符号を付して示す図8において、40は全体として本発明の第2の実施の形態の映像配信システムを示し、映像配信装置41のパリティ生成器43によるパリティの生成方法、及びリアルタイムマルチプレクサ42によるパリティの格納方法が異なる以外は、第1の実施の形態の映像配信システム1と同一であるため、当該リアルタイムマルチプレクサ42及びパリティ生成器43を中心に説明する。
図9に示すように、画像合成手段としてのリアルタイムマルチプレクサ42は、全方位カメラ10(図8)から供給されるディジタル映像データD1A〜D1Hの最初のフレームの画像Pic1(0)〜Pic8(0)をマッピングして全方位画像PicA(0)を合成する。このときリアルタイムマルチプレクサ42は、ダミーデータDummy1及びDummy2を画面左下部及び右下部にそれぞれマッピングする。
そしてリアルタイムマルチプレクサ42は、この0フレーム目の全方位画像PicA(0)を、ディジタル全方位映像データD2として配信サーバ3を介してクライアントPC5に配信するとともに、パリティ生成器43に供給する。
パリティ算出手段としてのパリティ生成器43は、リアルタイムマルチプレクサ42から供給されるディジタル全方位映像データD2の全方位画像PicA(0)を垂直パリティ算出部45V及び水平パリティ算出部45Hに入力する。
垂直パリティ算出部45Vは、全方位画像PicA(0)における画像Pic1(0)〜Pic8(0)の領域(以下、これを実画像領域と呼ぶ)について、画面垂直方向のExclusive ORを算出し、これを垂直パリティデータV−Par(0)とする。同様に水平パリティ算出部45Hは、全方位画像PicA(0)における実画像領域について、画面水平方向のExclusive ORを算出することにより、これを水平パリティデータH−Par(0)とする。
そして垂直パリティ算出部45V及び水平パリティ算出部45Hは、次の1フレーム目の画像Pic1(1)〜Pic8(1)の入力タイミングに同期して、それぞれ垂直パリティデータV−Par(0)及び水平パリティデータH−Par(0)をリアルタイムマルチプレクサ42のCh9及びCh10に入力する。
画像合成手段及びパリティ付加手段としてのリアルタイムマルチプレクサ42は、1フレーム目の画像Pic1(1)〜Pic8(1)を順次マッピングするとともに、0フレーム目の垂直パリティデータV−Par(0)及び水平パリティデータH−Par(0)それぞれ画面左下部及び右下部にマッピングして、1フレーム目の全方位画像PicA(1)を合成する。
以降、同様にして映像配信装置41は、nフレーム目の全方位画像PicA(n)に対し、nフレーム目の画像Pic1(n)〜Pic8(n)と、n−1フレーム目の垂直パリティデータV−Par(n−1)及び水平パリティデータH−Par(n−1)とをマッピングし、ディジタル全方位映像データD2として配信サーバ3を介してクライアントPC5に配信する。
クライアントPC5は、配信サーバ3から受信したディジタル映像データD2の全方位画像PicA(n)から、ユーザが指定する希望撮影方位を中心とした所定画角の映像を抽出して表示部5Aに順次表示する。
このときクライアントPC5は、受信したディジタル映像データD2にパケットロスが存在した場合、当該ディジタル映像データD2にマッピングされている垂直パリティデータV−Par(n)及び水平パリティデータH−Par(n)を用いて喪失画素を特定し復元するようになされている。
次に、上述した映像配信装置41による映像配信処理手順を、図10に示すフローチャートを用いて詳細に説明する。
映像配信装置41のリアルタイムマルチプレクサ42はルーチンRT3の開始ステップから入ってステップSP21に移り、各ビデオカメラ13A〜13Hから入力される画像データを待ち受け、当該画像データが入力されると次のステップSP22に移る。
ステップSP22において映像配信装置41のリアルタイムマルチプレクサ42は、入力された画像データが0フレーム目のデータであるか否かを判定する。ステップSP22において、画像データが0フレーム目のデータであると判定した場合、リアルタイムマルチプレクサ20はステップSP23に移り、Pic1(0)〜Pic8(0)の画像データ及びダミーデータDummy1及びDummy2を合成して全方位画像PicA(0)を生成し、これを配信サーバ3に供給した後、次のステップSP24に移る。
ステップSP24において映像配信装置41のパリティ生成器43は、全方位画像PicA(0)の実画像領域から現フレームの垂直パリティデータV−Par(0)及び水平パリティデータH−Par(0)を生成し、これらをリアルタイムマルチプレクサ42に供給して次のステップSP25に移る。
ステップSP25において映像配信装置41の配信サーバ3は、リアルタイムマルチプレクサ42から入力された全方位画像PicA(0)をパケット化し、そのパケットヘッダにタイムスタンプ、シーケンスナンバー及びカメラ番号を付加し、次のステップSP26に移る。
ステップSP26において映像配信装置41の配信サーバ3は、生成したパケットをディジタル全方位映像データD2として、ネットワーク4を介してクライアントPC5に配信した後ステップSP21に戻り、かくして0フレームの処理が終了する。
これに対してステップSP22において、画像データが0フレーム目のデータではないと判定した場合、リアルタイムマルチプレクサ42はステップSP27に移り、Pic1(n)〜Pic8(n)の画像データ、一つ前のフレーム垂直パリティデータV−Par(n−1)及び水平パリティデータH−Par(n−1)を合成して全方位画像PicA(n)を生成し、これを配信サーバ3に供給して、ステップSP24に移る。
ステップSP24において映像配信装置41のパリティ生成器43は、全方位画像PicA(n)の実画像領域から現フレームの垂直パリティデータV−Par(n)及び水平パリティデータH−Par(n)を生成し、これらをリアルタイムマルチプレクサ42に供給して次のステップSP25に移る。
ステップSP25において映像配信装置41の配信サーバ3は、リアルタイムマルチプレクサ42から入力された全方位画像PicA(n)をパケット化し、そのパケットヘッダにタイムスタンプ、シーケンスナンバー及び当該カメラ番号を付加し、次のステップSP26に移る。
ステップSP26において映像配信装置41の配信サーバ3は、生成したパケットをディジタル全方位映像データD2として、ネットワーク4を介してクライアントPC5に配信した後ステップSP21に戻る。そして映像配信装置41は、ステップSP21〜SP22〜SP27〜SP24〜SP25〜SP26を順次実行することにより2フレーム目以降の処理を行い、かくしてディジタル全方位映像データD2をクライアントPC5にストリーミング配信していく。
次に、上述した映像配信処理手順によって配信されたディジタル全方位映像データD2をクライアントPC5が受信して表示する際の受信処理手順を、図11に示すフローチャートを用いて詳細に説明する。
クライアントPC5のCPU5Aは、受信処理手順ルーチンRT4の開始ステップから入ってステップSP31に移り、配信サーバ3からストリーミング配信されるディジタル全方位映像データD2のパケットを順次メモリ5Cに格納して(バッファリングの開始)、次のステップSP32に移る。
ステップSP32においてCPU5Aは、メモリ5Cにバッファリングしたパケットのパケットヘッダに記入されているシーケンスナンバーの連続性に基づいて、パケットロスの有無を判定する。ステップSP32において、着目しているパケットのシーケンスナンバーが前後のパケットのシーケンスナンバーと連続している場合、このことはパケットロスが発生していないことを表しており、このときCPU5AはステップSP33に移り、受信したディジタル全方位映像データD2のパケットから全方位画像PicA(n)を復元し、さらにユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP32に戻る。
これに対してステップSP32において、着目しているパケットのシーケンスナンバーが前後のパケットのシーケンスナンバーと連続していない場合、このことはパケットロスが発生していることを表しており、このときCPU5AはステップSP34に移り、前後のパケットのシーケンスナンバー及びカメラ番号から、パケットロスが起きたCh(すなわち画像Pic1〜Pic8のうちのどの画像でパケットロスが発生したか)を推定し、次のステップSP35に移る。
ステップSP35においてCPU5Aは、パケットロスが発生したフレーム(全方位画像PicA(n))の次フレーム(全方位画像PicA(n+1))に格納されている垂直パリティデータV−Par(n)によって、パケットロスによる喪失画素を復元し得るか否かを判断する。
ステップSP35において、垂直パリティデータV−Par(n)によって喪失画素を復元し得ると判断した場合、CPU5AはステップSP36に移り、次フレームの全方位画像PicA(n+1)から垂直パリティデータV−Par(n)を抽出し、当該垂直パリティデータV−Par(n)を用いてパケットロスによる喪失画素を復元する。そしてCPU5AはステップSP33に移り、ユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP32に戻る。
これに対してステップSP35において、垂直パリティデータV−Par(n)によって喪失画素を復元し得ないと判断した場合、CPU5AはステップSP37に移り、次フレームの全方位画像PicA(n+1)に格納されている水平パリティデータH−Par(n)によって、パケットロスによる喪失画素を復元し得るか否かを判断する。
ステップSP37において、水平パリティデータH−Par(n)によって喪失画素を復元し得ると判断した場合、CPU5AはステップSP38に移り、次フレームの全方位画像PicA(n+1)から水平パリティデータH−Par(n)を抽出し、当該水平パリティデータH−Par(n)を用いてパケットロスによる喪失画素を復元する。そしてCPU5AはステップSP33に移り、ユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP32に戻る。
これに対してステップSP37において、水平パリティデータH−Par(n)によっても喪失画素を復元し得ないと判断した場合、CPU5AはステップSP39に移り、例えばパケットロスによって失われた画像部分を前後のフレームの画像で補完する等のエラー処理を行った後ステップSP33に移り、ユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP32に戻る。
以上の構成において、映像配信システム40のパリティ生成器43は、リアルタイムマルチプレクサ42で合成した全方位画像PicA(n)における実画像領域について、垂直パリティデータV−Par(n)及び水平パリティデータH−Par(n)を生成する。
そしてリアルタイムマルチプレクサ42は、パリティ生成器43が生成した垂直パリティデータV−Par(n)及び水平パリティデータH−Par(n)を、次フレームの全方位画像PicA(n+1)に格納する。
これに加えて映像配信システム40の配信サーバ3は、全方位画像PicA(n)をパケット化してストリーミング配信する際、そのパケットヘッダに、当該パケットに格納されている画像データがビデオカメラ13A〜13Hのいずれで撮影されたものかを表すカメラ番号を記入する。
このため映像配信システム40のクライアントPC5は、ネットワーク上でパケットロスが発生したとしても、その前後のパケットのカメラ番号に基づいてパケットロスが発生したパケットのカメラ番号を推定し、当該推定したカメラ番号とパリティデータPar(n)とを用いることにより、パケットロスによる喪失画素を復元することができる。
これに加えて映像配信システム40では、垂直パリティデータV−Par(n)及び水平パリティデータH−Par(n)の2種類のパリティデータを全方位画像PicA(n+1)に格納していることから、喪失画素が複数存在して一方のパリティデータで喪失画素を復元しきれない場合でも、他方のパリティデータを用いることで、より強力に喪失画素を復元することができる。
例えば図12(A)に示すように、2個の喪失画素が同一垂直線上に存在する場合、これらの喪失画素は垂直パリティデータV−Par(n)では復元できないものの、水平パリティデータH−Par(n)を用いれば復元することができる。同様に図12(B)に示すように、2個の喪失画素が同一水平線上に存在する場合、これらの喪失画素は水平パリティデータH−Par(n)では復元できないものの、垂直パリティデータV−Par(n)を用いれば復元することができる。
以上の構成によれば、垂直パリティデータV−Par(n)及び水平パリティデータH−Par(n)の直交する2種類のパリティデータを全方位画像PicA(n+1)に格納することにより、パケットロスによって複数の喪失画素が生じた場合でも、当該喪失画素を強力に復元することができる。
(3)第3の実施の形態
図1との対応箇所に同一符号を付して示す図13において、50は全体として本発明の第3の実施の形態の映像配信システムを示し、映像配信装置51のリアルタイムマルチプレクサ20の前段に、フレームパリティ生成器52が設けられている以外は、第1の実施の形態の映像配信システム1と同一であるため、当該フレームパリティ生成器52を中心に説明する。
図1との対応箇所に同一符号を付して示す図13において、50は全体として本発明の第3の実施の形態の映像配信システムを示し、映像配信装置51のリアルタイムマルチプレクサ20の前段に、フレームパリティ生成器52が設けられている以外は、第1の実施の形態の映像配信システム1と同一であるため、当該フレームパリティ生成器52を中心に説明する。
図14に示すように、個別パリティ生成手段としてのフレームパリティ生成器52は、全方位カメラ10(図13)から供給されるディジタル映像データD1A〜D1Hの画像Pic1〜Pic8それぞれから、個別パリティとしての1ライン分のフレームパリティデータPar1〜Par8を生成し、これを画像Pic1〜Pic8それぞれの画面最下部に付加してリアルタイムマルチプレクサ20(図13)に供給する。
リアルタイムマルチプレクサ20は図4及び図5に示すように、フレームパリティ生成器52から供給されるnフレーム目の画像Pic1(n)〜Pic8(n)と、パリティ生成器30から供給されるn−1フレーム目のパリティデータPar(n−1)及びn−2フレーム目のパリティデータPar(n−2)をマッピングして全方位画像PicA(n)を生成し、これをディジタル全方位映像データD2として配信サーバ3を介してクライアントPC5に配信する。
クライアントPC5は、配信サーバ3から受信したディジタル映像データD2の全方位画像PicA(n)から、ユーザが指定する希望撮影方位を中心とした所定画角の映像を抽出して表示部5Aに順次表示する。
そしてクライアントPC5は、受信したディジタル映像データD2にパケットロスが存在した場合、ディジタル映像データD2にマッピングされている全体パリティとしてのパリティデータPar(n)を用いて、パケットロスによる喪失画素を復元する。
ここで、パリティデータPar(n)は画像Pic1(n)〜Pic8(n)の対応画素全体に対するものであり、パケットロスによる喪失画素が画像Pic1(n)〜Pic8(n)のいずれに存在するのかは、当該パリティデータPar(n)単独では判別することができない。
しかしながらこの映像配信システム50においては、各画像Pic1(n)〜Pic8(n)それぞれに1ライン分の個別パリティとしてのフレームパリティデータPar1〜Par8が付加されているため、当該フレームパリティデータPar1〜Par8を用いて、画像Pic1(n)〜Pic8(n)のどれに喪失画素が存在するかを判別することができる。
これによりクライアントPC5Aは、フレームパリティデータPar1〜Par8とパリティデータPar(n)とを用いて喪失画素を復元することができる。
次に、上述した映像配信装置51による映像配信処理手順を、図15に示すフローチャートを用いて詳細に説明する。
映像配信装置51のフレームパリティ生成器52は、映像配信処理手順ルーチンRT5の開始ステップから入ってステップSP41に移り、ディジタル映像データD1A〜D1Hの画像Pic1〜Pic8それぞれの画像最下部に、1ライン分のフレームパリティデータPar1〜Par8を付加した後リアルタイムマルチプレクサ20に供給し、次のステップSP42に移る。
ステップSP42において、映像配信装置51のリアルタイムマルチプレクサ20は、フレームパリティ生成器52から入力される画像データを待ち受け、当該画像データが入力されると次のステップSP43に移る。
ステップSP43において映像配信装置51のリアルタイムマルチプレクサ20は、入力された画像データが0フレーム目のデータであるか否かを判定する。ステップSP42において、画像データが0フレーム目のデータであると判定した場合、リアルタイムマルチプレクサ20はステップSP44に移り、Pic1(0)〜Pic8(0)の画像データ及びダミーデータDummy1及びDummy2を合成して全方位画像PicA(0)を生成し、これを配信サーバ3に供給した後、次のステップSP45に移る。
ステップSP45において映像配信装置51のパリティ生成器30は、Pic1(0)〜Pic8(0)の画像データから現フレームのパリティデータPar(0)を生成し、リアルタイムマルチプレクサ20に供給するとともにメモリ35に記憶し、次のステップSP46に移る。
ステップSP46において映像配信装置51の配信サーバ3は、リアルタイムマルチプレクサ20から入力された全方位画像PicA(0)をパケット化し、そのパケットヘッダにタイムスタンプ及びシーケンスナンバーを付加し、次のステップSP47に移る。
ステップSP47において映像配信装置51の配信サーバ3は、生成したパケットをディジタル全方位映像データD2として、ネットワーク4を介してクライアントPC5に配信した後ステップSP41に戻り、かくして0フレーム目の処理が終了する。
これに対してステップSP43において、画像データが0フレーム目のデータではないと判定した場合、リアルタイムマルチプレクサ20はステップSP48に移り、入力された画像データが1フレーム目のデータであるか否かを判定する。ステップSP48において、画像データが1フレーム目のデータであると判定した場合、リアルタイムマルチプレクサ20はステップSP49に移り、Pic1(1)〜Pic8(1)の画像データ、一つ前のフレームのパリティデータPar(0)及びダミーデータDummy2を合成して全方位画像PicA(1)を生成し、これを配信サーバ3に供給して、ステップSP45に移る。
ステップSP45において映像配信装置51のパリティ生成器30は、Pic1(1)〜Pic8(1)の画像データから現フレームのパリティデータPar(1)を生成し、リアルタイムマルチプレクサ20に供給するとともにメモリ35に記憶し、次のステップSP46に移る。
ステップSP46において映像配信装置51の配信サーバ3は、リアルタイムマルチプレクサ20から入力された全方位画像PicA(1)をパケット化し、そのパケットヘッダにタイムスタンプ及びシーケンスナンバーを付加し、次のステップSP47に移る。
ステップSP47において映像配信装置51の配信サーバ3は、生成したパケットをディジタル全方位映像データD2として、ネットワーク4を介してクライアントPC5に配信した後ステップSP41に戻り、かくして1フレーム目の処理が終了する。
これに対してステップSP48において、画像データが1フレーム目のデータではないと判定した場合(すなわち2フレーム目以降のデータ)、リアルタイムマルチプレクサ20はステップSP50に移り、Pic1(n)〜Pic8(n)の画像データ、一つ前のフレームのパリティデータPar(n−1)及び二つ前のフレームのパリティデータPar(n−2)を合成して全方位画像PicA(n)を生成し、これを配信サーバ3に供給して、ステップSP45に移る。
ステップSP45において映像配信装置51のパリティ生成器30は、Pic1(n)〜Pic8(n)の画像データから現フレームのパリティデータPar(n)を生成し、リアルタイムマルチプレクサ20に供給するとともにメモリ35に記憶し、次のステップSP46に移る。
ステップSP46において映像配信装置51の配信サーバ3は、リアルタイムマルチプレクサ20から入力された全方位画像PicA(n)をパケット化し、そのパケットヘッダにタイムスタンプ及びシーケンスナンバーを付加し、次のステップSP47に移る。
ステップSP47において映像配信装置51の配信サーバ3は、生成したパケットをディジタル全方位映像データD2として、ネットワーク4を介してクライアントPC5に配信した後ステップSP41に戻る。そして映像配信装置51は、ステップSP41〜SP42〜SP43〜SP48〜SP50〜SP45〜SP46〜SP47を順次実行することにより2フレーム目以降の処理を行い、かくしてディジタル全方位映像データD2をクライアントPC5にストリーミング配信していく。
次に、上述した映像配信処理手順によって配信されたディジタル全方位映像データD2をクライアントPC5が受信して表示する際の受信処理手順を、図16に示すフローチャートを用いて詳細に説明する。
クライアントPC5のCPU5Aは、受信処理手順ルーチンRT6の開始ステップから入ってステップSP51に移り、配信サーバ3からストリーミング配信されるディジタル全方位映像データD2のパケットを順次メモリ5Cに格納し(バッファリングの開始)、次のステップSP52に移る。
ステップSP52においてCPU5Aは、メモリ5Cにバッファリングしたパケットのパケットヘッダに記入されているシーケンスナンバーの連続性に基づいて、パケットロスの有無を判定する。ステップSP52において、着目しているパケットのシーケンスナンバーが前後のパケットのシーケンスナンバーと連続している場合、このことはパケットロスが発生していないことを表しており、このときCPU5AはステップSP53に移り、受信したディジタル全方位映像データD2のパケットから全方位画像PicA(n)を復元し、さらにユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP52に戻る。
これに対してステップSP52において、着目しているパケットのシーケンスナンバーが前後のパケットのシーケンスナンバーと連続していない場合、このことはパケットロスが発生していることを表しており、このときCPU5AはステップSP54に移り、フレームパリティデータPar1〜Par8を用いた誤り検出を実行し、その結果に基づいてパケットロスが起きたCh(すなわち画像Pic1〜Pic8のうちのどの画像でパケットロスが発生したか)を推定し、次のステップSP55に移る。
ステップSP55においてCPU5Aは、パケットロスが発生したフレーム(全方位画像PicA(n))の次フレームのデータ(すなわち全方位画像PicA(n+1))が、メモリ5Cに格納されているかを判定する。
ステップSP55において、次フレームの全方位画像PicA(n+1)がメモリ5Cに格納されている場合、CPU5AはステップSP56に移り、当該次フレームの全方位画像PicA(n+1)の左下領域からパリティデータPar(n)を抽出し、次のステップSP57に移る。ステップSP57においてCPU5Aは、抽出したパリティデータPar(n)を用いて全方位画像PicA(n)のパケットロスを復元した後ステップSP53に移り、ユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP52に戻る。
これに対してステップSP55において、次フレームの全方位画像PicA(n+1)がメモリ5Cに格納されていない場合、CPU5AはステップSP58に移り、パケットロスが発生したフレーム(全方位画像PicA(n))の次次フレームのデータ(すなわち全方位画像PicA(n+2))が、メモリ5Cに格納されているかを判定する。
ステップSP58において、次次フレームの全方位画像PicA(n+2)がメモリ5Cに格納されている場合、CPU5AはステップSP59に移り、当該次次フレームの全方位画像PicA(n+2)の右下領域からパリティデータPar(n)を抽出した後ステップSP57に移る。ステップSP57においてCPU5Aは、抽出したパリティデータPar(n)を用いて全方位画像PicA(n)のパケットロスを復元した後ステップSP53に移り、ユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP52に戻る。
これに対してステップSP58において、次次フレームの全方位画像PicA(n+2)がメモリ5Cに格納されていない場合、このことはパケットロスを復元し得るパリティデータPar(n)が存在しないことを表しており、このときCPU5AはステップSP60に移り、例えばパケットロスによって失われた画像部分を前後のフレームの画像で補完する等のエラー処理を行った後ステップSP13に移り、ユーザが指定する希望撮影方位を中心とした所定画角の映像を全方位画像PicA(n)から抽出して表示部5Aに表示して、ステップSP52に戻る。
以上の構成において、映像配信システム51のフレームパリティ生成器52は、パケットロスが発生したchを特定するためのフレームパリティデータPar1〜Par8を画像Pic1〜Pic8に付加する。
映像配信システム51のパリティ生成器30は、リアルタイムマルチプレクサ20で合成した全方位画像PicA(n)から画像Pic1(n)〜Pic8(n)を1フレーム毎に再分離し、画像Pic1(n)〜Pic8(n)の対応する各画素のパリティデータPar(n)を生成する。
そしてリアルタイムマルチプレクサ20は、パリティ生成器30が生成したパリティデータPar(n)を、次フレームの全方位画像PicA(n+1))及び次次フレームの全方位画像PicA(n+2)に格納する。
このため映像配信システム51のクライアントPC5は、ネットワーク上でパケットロスが発生したとしても、フレームパリティデータPar1〜Par8に基づいてパケットロスが発生したChを特定して、パリティデータPar(n)を用いてパケットロスによる喪失画素を復元することができる。
以上の構成によれば、全方位画像PicA(n)のパケットにカメラ番号を格納しなくても、パケットロスが発生したChをクライアントPC5で特定することができる。
(4)他の実施の形態
なお上述の第1乃至第3の実施の形態においては、映像配信装置2、41、51をそれぞれ個別の機器の組み合わせで構成した場合に付いて述べたが、本発明はこれに限らず
映像配信処理プログラムをパーソナルコンピュータ等の情報処理装置に実行させることにより、上述した映像配信処理を行うようにしてもよい。
なお上述の第1乃至第3の実施の形態においては、映像配信装置2、41、51をそれぞれ個別の機器の組み合わせで構成した場合に付いて述べたが、本発明はこれに限らず
映像配信処理プログラムをパーソナルコンピュータ等の情報処理装置に実行させることにより、上述した映像配信処理を行うようにしてもよい。
また上述の実施の形態においては、パーソナルコンピュータでなるクライアントPC5に全方向画像PicAを配信し、当該クライアントPC5上で全方位映像を表示するようにしたが、本発明はこれに限らず、例えば携帯電話機やPDA(Personal Digital Assistant)等の各種情報処理に全方位画像PicAを配信して全方位映像を表示するようにしてもよい。
本発明は、全方位映像信号を配信する映像配信システムに適用できる。
1、40、50……映像配信システム、2、41、51……映像配信装置、10……全方位カメラ、15……カメラコントロールユニット、16……A/Dコンバータ、20、42……リアルタイムマルチプレクサ、30、43……パリティ生成器、52……フレームパリティ生成器。
Claims (28)
- それぞれ個別の撮影範囲を撮影してなる複数の個別画像を合成し、上記撮影範囲が連続してなる配信画像を生成する画像合成手段と、
上記配信画像に合成された上記複数の個別画像間についてのパリティを算出するパリティ算出手段と、
上記算出したパリティを上記配信画像に付加するパリティ付加手段と、
上記パリティ付加手段によって上記パリティが付加された上記配信画像をパケット化し、所定の配信対象に配信する配信手段と
を具えることを特徴とする映像配信装置。 - 上記パリティ算出手段は、上記複数の個別画像を重ね合わせた状態で、対応する画素毎にパリティを算出する
ことを特徴とする請求項1に記載の映像配信装置。 - 上記パリティ付加手段は、上記算出したパリティを次フレーム及び次次フレームの上記合成画像に付加する
ことを特徴とする請求項2に記載の映像配信装置。 - 上記個別画像それぞれについての個別パリティを算出し、当該個別画像に付加する個別パリティ算出手段
を具えることを特徴とする請求項2に記載の映像配信装置。 - 上記パリティ算出手段は、上記複数の個別画像が合成されてなる上記配信画像全体の水平方向及び垂直方向のパリティを算出する
ことを特徴とする請求項1に記載の映像配信装置。 - それぞれ個別の撮影範囲を撮影してなる複数の個別画像を合成し、上記撮影範囲が連続してなる配信画像を生成する画像合成ステップと、
上記配信画像に合成された上記複数の個別画像間についてのパリティを算出するパリティ算出ステップと、
上記算出したパリティを上記配信画像に付加するパリティ付加ステップと、
上記パリティ付加手段によって上記パリティが付加された上記配信画像を、所定の配信対象に配信する配信ステップと
を具えることを特徴とする映像配信方法。 - 上記パリティ算出ステップは、複数の上記個別画像を重ね合わせた状態で、対応する画素毎にパリティを算出する
ことを特徴とする請求項6に記載の映像配信方法。 - 上記パリティ付加ステップは、上記算出したパリティを次フレーム及び次次フレームの上記合成画像に付加する
ことを特徴とする請求項7に記載の映像配信方法。 - 上記個別画像それぞれについての個別パリティを算出し、当該個別画像に付加する個別パリティ算出ステップ
を具えることを特徴とする請求項7に記載の映像配信方法。 - 上記パリティ算出ステップは、上記配信画像全体の水平方向及び垂直方向のパリティを算出する
ことを特徴とする請求項6に記載の映像配信方法。 - それぞれ個別の撮影範囲を撮影してなる複数の個別画像を合成し、上記撮影範囲が連続してなる配信画像を生成する画像合成ステップと、
上記配信画像に合成された上記複数の個別画像間についてのパリティを算出するパリティ算出ステップと、
上記算出したパリティを上記配信画像に付加するパリティ付加ステップと、
上記パリティ付加手段によって上記パリティが付加された上記配信画像を、所定の配信対象に配信する配信ステップと
を具えることを特徴とする映像配信プログラム。 - 上記パリティ算出ステップは、複数の上記個別画像を重ね合わせた状態で、対応する画素毎にパリティを算出する
ことを特徴とする請求項11に記載の映像配信プログラム。 - 上記パリティ付加ステップは、上記算出したパリティを次フレーム及び次次フレームの上記合成画像に付加する
ことを特徴とする請求項12に記載の映像配信プログラム。 - 上記個別画像それぞれについての個別パリティを算出し、当該個別画像に付加する個別パリティ算出ステップ
を具えることを特徴とする請求項12記載の映像配信プログラム。 - 上記パリティ算出ステップは、上記配信画像全体の水平方向及び垂直方向のパリティを算出する
ことを特徴とする請求項11に記載の映像配信プログラム。 - それぞれ個別の撮影範囲を撮影してなる複数の個別画像が合成され、上記撮影範囲が連続してなる配信画像のパケットを受信する受信手段と、
上記配信画像に付加された、当該配信画像に合成された上記複数の個別画像間についてのパリティを用いて、当該配信画像の配信時におけるパケット喪失によって発生する当該配信画像の喪失画素を復元する喪失画素復元手段と
を具えることを特徴とする映像受信装置。 - 上記パリティは、複数の上記個別画像を重ね合わせた状態で対応する画素毎に算出され、
上記パケットには、当該パケットに格納された上記個別画像の識別番号が記入され、
上記喪失画素復元手段は、喪失パケットの前後の上記パケットに記入された上記識別番号に基づいて、当該喪失パケットに格納されていた個別画像を推定して喪失画素を復元する
ことを特徴とする請求項16に記載の映像受信装置。 - 上記パリティは、複数の上記個別画像を重ね合わせた状態で対応する画素毎に算出され、
上記配信画像に合成された上記複数の個別画像それぞれには、当該個別画像についての個別パリティが付加され、
上記喪失画素復元手段は、上記個別パリティに基づいて上記喪失画素が存在する上記個別画像を推定し、上記全体パリティを用いて当該喪失画素を復元する
ことを特徴とする請求項16に記載の映像受信装置。 - 上記パリティは、上記配信画像全体の水平方向パリティ及び垂直方向パリティでなり、
上記喪失画素復元手段は、当該水平方向パリティ及び垂直方向パリティに基づいて上記喪失画素を特定して復元する
ことを特徴とする請求項16に記載の映像受信装置。 - それぞれ個別の撮影範囲を撮影してなる複数の個別画像が合成され、上記撮影範囲が連続してなる配信画像のパケットを受信する受信ステップと、
上記配信画像に付加された、当該配信画像に合成された上記複数の個別画像間についてのパリティを用いて、当該配信画像の配信時におけるパケット喪失によって発生する当該配信画像の喪失画素を復元する喪失画素復元ステップと
を具えることを特徴とする映像受信方法。 - 上記パリティは、複数の上記個別画像を重ね合わせた状態で対応する画素毎に算出され、
上記パケットには、当該パケットに格納された上記個別画像の識別番号が記入され、
上記喪失画素復元ステップは、喪失パケットの前後の上記パケットに記入された上記識別番号に基づいて、当該喪失パケットに格納されていた個別画像を推定して喪失画素を復元する
ことを特徴とする請求項20に記載の映像受信方法。 - 上記パリティは、複数の上記個別画像を重ね合わせた状態で対応する画素毎に算出され、
上記配信画像に合成された上記複数の個別画像それぞれには、当該個別画像についての個別パリティが付加され、
上記喪失画素復元手段は、上記個別パリティに基づいて上記喪失画素が存在する上記個別画像を推定し、上記全体パリティを用いて当該喪失画素を復元する
ことを特徴とする請求項20に記載の映像受信方法。 - 上記パリティは、上記配信画像全体の水平方向パリティ及び垂直方向パリティでなり、
上記喪失画素復元ステップは、当該水平方向パリティ及び垂直方向パリティに基づいて上記喪失画素を特定して復元する
ことを特徴とする請求項20に記載の映像受信方法。 - それぞれ個別の撮影範囲を撮影してなる複数の個別画像が合成され、上記撮影範囲が連続してなる配信画像のパケットを受信する受信ステップと、
上記配信画像に付加された、当該配信画像に合成された上記複数の個別画像間についてのパリティを用いて、当該配信画像の配信時におけるパケット喪失によって発生する当該配信画像の喪失画素を復元する喪失画素復元ステップと
を具えることを特徴とする映像受信プログラム。 - 上記パリティは、複数の上記個別画像を重ね合わせた状態で対応する画素毎に算出され、
上記パケットには、当該パケットに格納された上記個別画像の識別番号が記入され、
上記喪失画素復元ステップは、喪失パケットの前後の上記パケットに記入された上記識別番号に基づいて、当該喪失パケットに格納されていた個別画像を推定して喪失画素を復元する
ことを特徴とする請求項24に記載の映像受信プログラム。 - 上記パリティは、複数の上記個別画像を重ね合わせた状態で対応する画素毎に算出され、
上記配信画像に合成された上記複数の個別画像それぞれには、当該個別画像についての個別パリティが付加され、
上記喪失画素復元手段は、上記個別パリティに基づいて上記喪失画素が存在する上記個別画像を推定し、上記全体パリティを用いて当該喪失画素を復元する
ことを特徴とする請求項24に記載の映像受信プログラム。 - 上記パリティは、上記配信画像全体の水平方向パリティ及び垂直方向パリティでなり、
上記喪失画素復元ステップは、当該水平方向パリティ及び垂直方向パリティに基づいて上記喪失画素を特定して復元する
ことを特徴とする請求項24に記載の映像受信プログラム。 - 配信画像をパケット化して配信する映像配信装置と、上記配信画像のパケットを受信して表示する映像受信手段とを有する映像配信システムにおいて、
上記映像配信装置は、
それぞれ個別の撮影範囲を撮影してなる複数の個別画像を合成し、上記撮影範囲が連続してなる上記配信画像を生成する画像合成手段と、
上記配信画像に合成された上記複数の個別画像間についてのパリティを算出するパリティ算出手段と、
上記算出したパリティを上記配信画像に付加するパリティ付加手段と、
上記パリティ付加手段によって上記パリティが付加された上記配信画像をパケット化し、所定の配信対象に配信する配信手段とを具え、
上記映像受信装置は、
上記配信画像のパケットを受信する受信手段と、
上記配信画像に付加された上記パリティを用いて、当該配信画像の配信時におけるパケット喪失によって発生する当該配信画像の喪失画素を復元する喪失画素復元手段とを具える
ことを特徴とする映像配信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004018892A JP2005217536A (ja) | 2004-01-27 | 2004-01-27 | 映像配信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004018892A JP2005217536A (ja) | 2004-01-27 | 2004-01-27 | 映像配信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005217536A true JP2005217536A (ja) | 2005-08-11 |
Family
ID=34903261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004018892A Pending JP2005217536A (ja) | 2004-01-27 | 2004-01-27 | 映像配信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005217536A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011040898A (ja) * | 2009-08-07 | 2011-02-24 | Casio Computer Co Ltd | 撮像再生装置及びプログラム |
JP2012527682A (ja) * | 2009-05-22 | 2012-11-08 | デジタルゾーン カンパニー、 リミテッド. | 偽変造検証用イメージファイル生成方法及びイメージファイルの偽変造検証方法 |
WO2015174501A1 (ja) * | 2014-05-16 | 2015-11-19 | 株式会社ユニモト | 全周動画配信システム、全周動画配信方法、画像処理装置、通信端末装置およびそれらの制御方法と制御プログラム |
JP2015220595A (ja) * | 2014-05-16 | 2015-12-07 | 株式会社ユニモト | 全周動画配信システム、全周動画配信方法、通信端末装置およびそれらの制御方法と制御プログラム |
JP2018533317A (ja) * | 2015-09-08 | 2018-11-08 | クリックト インコーポレイテッドClicked Inc. | 仮想現実映像伝送方法、再生方法、及びこれらを用いたプログラム |
-
2004
- 2004-01-27 JP JP2004018892A patent/JP2005217536A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012527682A (ja) * | 2009-05-22 | 2012-11-08 | デジタルゾーン カンパニー、 リミテッド. | 偽変造検証用イメージファイル生成方法及びイメージファイルの偽変造検証方法 |
JP2011040898A (ja) * | 2009-08-07 | 2011-02-24 | Casio Computer Co Ltd | 撮像再生装置及びプログラム |
WO2015174501A1 (ja) * | 2014-05-16 | 2015-11-19 | 株式会社ユニモト | 全周動画配信システム、全周動画配信方法、画像処理装置、通信端末装置およびそれらの制御方法と制御プログラム |
JP2015220595A (ja) * | 2014-05-16 | 2015-12-07 | 株式会社ユニモト | 全周動画配信システム、全周動画配信方法、通信端末装置およびそれらの制御方法と制御プログラム |
US9741091B2 (en) | 2014-05-16 | 2017-08-22 | Unimoto Incorporated | All-around moving image distribution system, all-around moving image distribution method, image processing apparatus, communication terminal apparatus, and control methods and control programs of image processing apparatus and communication terminal apparatus |
JP2018533317A (ja) * | 2015-09-08 | 2018-11-08 | クリックト インコーポレイテッドClicked Inc. | 仮想現実映像伝送方法、再生方法、及びこれらを用いたプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5923817A (en) | Video data system with plural video data recording servers storing each camera output | |
CN107846623B (zh) | 一种视频联动方法和系统 | |
WO2019131577A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN110115041B (zh) | 生成装置、识别信息生成方法、再现装置和图像生成方法 | |
KR101821145B1 (ko) | 영상 라이브 스트리밍 시스템 | |
JP2006229768A (ja) | 映像信号処理装置及び該方法並びに仮想現実感生成装置 | |
JP7237538B2 (ja) | 情報処理装置、それを含むシステム、情報処理方法、およびプログラム | |
JP2006033257A (ja) | 画像配信装置 | |
JP2005217536A (ja) | 映像配信システム | |
JP5180910B2 (ja) | 映像処理装置 | |
JP7231825B2 (ja) | 映像処理装置、映像処理方法及び映像処理プログラム | |
JP2020182100A (ja) | 物体情報処理装置、物体情報処理方法及び物体情報処理プログラム | |
JP2002351438A (ja) | 映像監視システム | |
JP2006041811A (ja) | 自由視点画像ストリーミング方式 | |
WO2005027518A1 (ja) | 画像伝送装置及び画像伝送システム | |
US20160127617A1 (en) | System for tracking the position of the shooting camera for shooting video films | |
JP5214426B2 (ja) | 動画にコメントを重ねて表示する方法 | |
JP4995805B2 (ja) | 映像重畳装置、映像重畳方法、プログラムおよび記録媒体 | |
JP2004228747A (ja) | 画像同期装置及び同期制御装置 | |
JP4857297B2 (ja) | 映像処理装置 | |
JP2014045341A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2018005778A (ja) | 画像表示装置、画像表示システムおよび画像表示方法 | |
JP5997988B2 (ja) | 画像伝送システムおよび画像伝送方法 | |
JP2010103782A (ja) | 監視カメラシステム | |
KR101700421B1 (ko) | 발사체 발사 영상 녹화 및 전시 시스템 |