受信装置、受信方法、及び通信システム
【課題】低遅延かつ高品質でデータを受信する。
【解決手段】符号化データと画像ヘッダとを含む通信パケットが、画像の先頭に対応する符号化データから順に送信され、通信部41は、その通信パケットを受信する。蓄積部53には、通信パケットに含まれる符号化データおよび画像ヘッダが蓄積される。ヘッダ検出部51は、ピクチャヘッダ観測区間おいて、通信部41が受信した通信パケットの画像ヘッダからピクチャヘッダを検出し、ピクチャヘッダ蓄積部54には、ピクチャヘッダが蓄積される。そして、蓄積制御部52は、観測区間内に、ヘッダ検出部51によりピクチャヘッダが検出されなかった場合、ピクチャヘッダ蓄積部54に蓄積されているピクチャヘッダを読み出して、蓄積部53に蓄積させる。本発明は、例えば、ラインベース・コーデックにより符号化された符号化データを通信する通信システムに適用できる。
【解決手段】符号化データと画像ヘッダとを含む通信パケットが、画像の先頭に対応する符号化データから順に送信され、通信部41は、その通信パケットを受信する。蓄積部53には、通信パケットに含まれる符号化データおよび画像ヘッダが蓄積される。ヘッダ検出部51は、ピクチャヘッダ観測区間おいて、通信部41が受信した通信パケットの画像ヘッダからピクチャヘッダを検出し、ピクチャヘッダ蓄積部54には、ピクチャヘッダが蓄積される。そして、蓄積制御部52は、観測区間内に、ヘッダ検出部51によりピクチャヘッダが検出されなかった場合、ピクチャヘッダ蓄積部54に蓄積されているピクチャヘッダを読み出して、蓄積部53に蓄積させる。本発明は、例えば、ラインベース・コーデックにより符号化された符号化データを通信する通信システムに適用できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、受信装置、受信方法、及び通信システムに関し、特に、低遅延かつ高品質でデータを受信することができるようにした受信装置、受信方法、及び通信システムに関する。
【背景技術】
【0002】
従来、インターネットやLAN(Local Area Network)など様々なネットワークを介して、画像データ(特に動画像データ)を転送するアプリケーションやサービスが広く利用されている。一般的に、ネットワークを介して画像データを送受信する場合には、MPEG(Moving Pictures Experts Group)やJPEG 2000(Joint Photographic Experts Group 2000)などの符号化(圧縮)処理により画像データのデータ量を減少させた上でネットワークに送出する。そして、その符号化された画像データを受信する受信側においては、復号(伸長)処理を施して画像データを再生する。
【0003】
ところで、近年、ライブ中継を行うカメラシステムにおいては、高画質かつ低遅延伝送での画像データ配信が要求されている。しかしながら、MPEGやJPEG2000などの符号化方式では、コード遅延(符号化遅延+復号遅延)が2ピクチャ以上あるため、より低遅延伝送が可能な符号化方式が求められている。
【0004】
そこで、近日、1ピクチャをN個のライン(Nは1以上)の集合に分割し、分割した集合(ラインブロックという)ごとに画像を符号化することで遅延時間を短くする画像圧縮方式(以下、ラインベース・コーデックという)が提案され始めている。ラインベース・コーデックの利点としては、低遅延伝送の他、画像圧縮の1単位で取り扱う情報が少ないことにより、高速処理やハードウェア規模の低減が可能といった利点がある。
【0005】
例えば、特許文献1には、ラインベース・コーデックに基づく通信データについて、ラインブロックごとに適切に欠落データの補完処理を行う通信装置が記載されている。また、特許文献2には、ラインベース・コーデックを用いた通信において安定して同期を獲得することのできる通信装置が記載されている。
【0006】
このようなラインベース・コーデックを利用することにより、低遅延かつ高画質での伝送が実現され、今後、ライブ中継を行うカメラシステムにラインベース・コーデックを適用することが期待されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−311948号公報
【特許文献2】特開2009−278545号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、通信媒体を介してラインベース・コーデックにより圧縮された画像転送を行う場合、送信端末と受信端末との間のタイミングを、どのよう同期させるのかが課題となる。一般的に、受信端末側では、パケットのヘッダ(Header)に挿入される時間情報(例えば、Time Stampなど)や、水平同期信号(VSYNC)、垂直同期信号(HSYNC)、ブランク期間の始めと終わりに付加される既知信号であるSAV(Start of Active Video)またはEAV(End of Active Video)などを用いて、フレーム単位で再生処理が行われる。従って、受信端末において、上記同期信号や上記既知信号を参考にして、最短で1フレーム後にデコードを開始することにより、より簡単にデコード処理を行うことができる。
【0009】
しかしながら、ラインベース・コーデックにおいて、伝送路の帯域以内にデータレートを抑えながら、低遅延という特徴を活かそうとした場合、予め決められたデータ転送量となるようにデータの圧縮が行われる。また、該当ピクセル(またはライン、ラインの束)のデータ圧縮率は、該当ピクセル(またはライン、ラインの束)の前に受信したデータ量によって決定される。これらのことより、ラインベース・コーデックでは、データ転送量の制御時間がピクチャーベースのコーデックに比較して短時間になる。
【0010】
さらに、あるピクセル(またはライン、ラインの束)のデータ量が一時的に増大したとき、伝送路に送信しきれない送信データが、送信端末側のバッファ(buffer)に一時蓄積することがある。これにより、本来送信すべき送信出力タイミングよりも遅れたタイミングで、送信データが送信される状況が発生する。
【0011】
また、従来のライブ中継を行うカメラシステムを高画質でかつ、Ethernet(登録商標)やNGN、無線といった汎用回線に対応させるとなると、遅延量の増大やパケットロスなどが発生する状況となる。
【0012】
このように、送信出力タイミングの遅れや、遅延量の増大、パケットロスなどが発生するような状況によって、例えば、ラインベース・コーデックのピクチャのデコード情報が含まれるパケット(以下、ピクチャヘッダパケットと称する)の伝送が遅れたり、ロスした場合、受信端末側では、復号処理においてピクチャヘッダを参照することができない状況が発生する。この場合、受信端末側で再生される画質が低下することになる。従って、上述のような状況においても、ラインベース・コーデックによる低遅延という特徴を活かすことができ、かつ、画質の低下を抑制することができる方法が求められている。
【0013】
本発明は、このような状況に鑑みてなされたものであり、ラインベース・コーデックを用いて符号化された画像データを、低遅延かつ高品質(高画質)で受信することができるようにするものである。
【課題を解決するための手段】
【0014】
本発明の第1の側面の受信装置は、画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置から送信された前記通信パケットを受信する受信手段と、前記受信手段により受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを蓄積する第1の蓄積手段と、所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記受信手段が受信した前記通信パケットの画像ヘッダから検出する検出手段と、前記検出手段により検出された前記ピクチャヘッダを蓄積する第2の蓄積手段と、前記観測区間内に、前記検出手段により前記ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させる制御手段とを備える。
【0015】
本発明の第1の側面の受信方法は、画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置から送信された前記通信パケットを受信し、前記受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを第1の蓄積手段に蓄積し、所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記通信パケットの画像ヘッダから検出し、前記検出された前記ピクチャヘッダを第2の蓄積手段に蓄積し、前記観測区間内に、ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させるステップを含む。
【0016】
本発明の第2の側面の通信システムは、画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置と、前記送信装置から送信された前記通信パケットを受信する受信手段と、前記受信手段により受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを蓄積する第1の蓄積手段と、所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記受信手段が受信した前記通信パケットの画像ヘッダから検出する検出手段と、前記検出手段により検出された前記ピクチャヘッダを蓄積する第2の蓄積手段と、前記観測区間内に、前記検出手段により前記ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させる制御手段とを有する受信装置とを備える。
【0017】
本発明の第1および第2の側面においては、画像データを符号化した符号化データと、画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する符号化データから順に送信する送信装置から送信された通信パケットが受信され、受信された通信パケットに含まれる符号化データおよび画像ヘッダが第1の蓄積手段に蓄積される。そして、所定の観測区間において、符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダが、通信パケットの画像ヘッダから検出され、検出されたピクチャヘッダが第2の蓄積手段に蓄積され、観測区間内に、ピクチャヘッダが検出されなかった場合、第2の蓄積手段に蓄積されているピクチャヘッダが読み出されて、第1の蓄積手段に蓄積される。
【発明の効果】
【0018】
本発明の第1および第2の側面によれば、ラインベース・コーデックを用いて符号化された画像データについて、低遅延で伝送し、かつ、画質の低下を抑制することができる。
【図面の簡単な説明】
【0019】
【図1】画像データを符号化する符号化装置の構成例を示す図である。
【図2】分析フィルタリングを4回繰り返すことにより分割された係数データの構成を示す図である。
【図3】ラインブロックを説明する図である。
【図4】本発明を適用した通信システムの実施の形態の構成例を示すブロック図である。
【図5】IPパケットのフレームフォーマットを示す図である。
【図6】ピクチャヘッダパケットについての概略的なデータ構造を示す図である。
【図7】受信メモリ部の詳細な構成を示すブロック図である。
【図8】観測区間について説明する図である。
【図9】画像データを送信する送信処理を説明するフローチャートである。
【図10】画像データを受信する受信処理を説明するフローチャートである。
【図11】データ蓄積処理を説明するフローチャートである。
【図12】符号化単位の復号処理を説明するフローチャートである。
【図13】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0020】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0021】
まず、画像データの符号化処理について説明する。
【0022】
図1は、画像データを符号化する符号化装置の構成例を示す図である。
【0023】
図1に示される符号化装置10は、入力された画像データを符号化して符号化データを生成し、出力する。図1に示されるように符号化装置10は、ウェーブレット変換部11、途中計算用バッファ部12、係数並び替え用バッファ部13、係数並び替え部14、量子化部15、およびエントロピ符号化部16を有する。
【0024】
符号化装置10に入力された画像データは、ウェーブレット変換部11を介して途中計算用バッファ部12に一時的に溜め込まれる。
【0025】
ウェーブレット変換部11は、途中計算用バッファ部12に溜め込まれた画像データに対してウェーブレット変換を施す。このウェーブレット変換の詳細については後述する。ウェーブレット変換部11は、ウェーブレット変換により得られた係数データを係数並び替え用バッファ部13に供給する。
【0026】
係数並び替え部14は、係数並び替え用バッファ部13に書き込まれた係数データを所定の順序(例えば、ウェーブレット逆変換処理順)で読み出し、量子化部15に供給する。
【0027】
量子化部15は、供給された係数データを、所定の方法で量子化し、得られた係数データ(量子化係数データ)をエントロピ符号化部16に供給する。
【0028】
エントロピ符号化部16は、供給された係数データを、例えばハフマン符号化や算術符号化といった所定のエントロピ符号化方式で符号化する。エントロピ符号化部16は、生成した符号化データを符号化装置10の外部に出力する。
【0029】
次に、ウェーブレット変換について説明する。ウェーブレット変換は、画像データを空間周波数の高い成分(高域成分)と低い成分(低域成分)とに分割する分析フィルタリングを、生成した低域成分に対して再帰的に繰り返すことにより、画像データを、階層的に構成される周波数成分毎の係数データに変換する処理である。なお、以下において、分割レベルは、高域成分の階層ほど下位とし、低域成分の階層ほど上位とする。
【0030】
1つの階層(分割レベル)において、分析フィルタリングは、水平方向と垂直方向の両方について行われる。これにより、1つの階層の係数データ(画像データ)は、1階層分の分析フィルタリングにより4種類の成分に分割される。4種類の成分とは、すなわち、水平方向および垂直方向の両方について高域な成分(HH)、水平方向に高域で垂直方向に低域な成分(HL)、水平方向に低域で垂直方向に高域な成分(LH)、および、水平方向および垂直方向の両方について低域な成分(LL)である。各成分の集合を、それぞれサブバンドと称する。
【0031】
ある階層において分析フィルタリングが行われて4つのサブバンドが生成された状態において、次の(1つ上位の)階層の分析フィルタリングは、その生成された4つのサブバンドのうち、水平方向および垂直方向の両方について低域な成分(LL)に対して行われる。
【0032】
このように分析フィルタリングが再帰的に繰り返されることにより、空間周波数の低い帯域の係数データは、より小さな領域(低域成分)に追い込まれる。したがって、このようにウェーブレット変換された係数データを符号化するようにすることにより、効率的な符号化が可能となる。
【0033】
図2は、分析フィルタリングを4回繰り返すことにより、分割レベル4までの13個のサブバンド(1LH,1HL,1HH,2LH,2HL,2HH,3LH,3HL,3HH,4LL,4LH,4HL,4HH)に分割された係数データの構成を示している。
【0034】
次に、ラインブロックについて説明する。図3は、ラインブロックを説明する図である。ウェーブレット変換における分析フィルタリングは、処理対象となる2ラインの画像データまたは係数データから、1階層上の4つのサブバンドの係数データを1ラインずつ生成する。
【0035】
したがって、例えば、分割レベル数が4の場合、図3の斜線部分で示されるように、最上位階層である分割レベル4の各サブバンドの係数データを1ラインずつ得るためには、サブバンド3LLの係数データが2ライン必要である。
【0036】
サブバンド3LLを2ライン得る、すなわち、分割レベル3の各サブバンドの係数データを2ラインずつ得るためには、サブバンド2LLの係数データが4ライン必要である。
【0037】
サブバンド2LLを4ライン得る、すなわち、分割レベル2の各サブバンドの係数データを4ラインずつ得るためには、サブバンド1LLの係数データが8ライン必要である。
【0038】
サブバンド1LLを8ライン得る、すなわち、分割レベル1の各サブバンドの係数データを8ラインずつ得るためには、ベースバンドの係数データが16ライン必要である。
【0039】
つまり、分割レベル4の各サブバンドの係数データを1ラインずつ得るためには、16ラインのベースバンドの画像データが必要になる。
【0040】
この最低域成分のサブバンド(図3の例の場合4LL)の1ライン分の係数データを生成するために必要なライン数の画像データを、ラインブロック(またはプレシンクト)と称する。
【0041】
例えば、分割レベル数がMの場合、最低域成分のサブバンドの1ライン分の係数データを生成するためには、ベースバンドの画像データが2のM乗ライン必要になる。これがラインブロックのライン数である。
【0042】
なお、ラインブロックは、その1ラインブロックの画像データをウェーブレット変換して得られる各サブバンドの係数データの集合のことも示す。
【0043】
また、ラインとは、フレーム画像(ピクチャ)の1列分の水平方向の画素列や、サブバンドの1列分の水平方向の係数列のことを示す。この1ライン分の係数データを係数ラインとも称する。また、1ライン分の画像データを画像ラインとも称する。以下において、より詳細に区別して説明する必要がある場合、適宜表現を変える。
【0044】
また、1係数ライン(1ライン分の係数データ)が符号化された1ライン分の符号化データを符号ラインとも称する。
【0045】
このようなラインベース・ウェーブレット変換処理によれば、JPEG2000のタイル分割と同様、1枚のピクチャをより細かい粒度に分解して処理を行うことが可能となり、画像データの送受信時の低遅延化を図ることができる。さらに、ラインベース・ウェーブレット変換の場合、JPEG2000のタイル分割とは異なり、1つのベースバンド信号に対する分割ではなく、ウェーブレット係数での分割であるため、さらに、タイル境界でのブロックノイズ的な画質劣化が発生しないという特徴も有する。
【0046】
ここまで、ラインベース・コーデックの一例としての、ラインベース・ウェーブレット変換について説明を行った。なお、以下に説明する本発明の各実施形態は、ラインベース・ウェーブレット変換に限らず、例えばJPEG2000やMPEG4のような既存の階層符号化など、任意のラインベース・コーデックに適用可能である。
【0047】
図4は、本発明を適用した通信システムの実施の形態の構成例を示すブロック図である。
【0048】
図4において、通信システム20は、カメラ21およびカメラ制御装置22を備えて構成されている。カメラ21およびカメラ制御装置22の間は、例えば、IEEE802.11a,b,g,n,sなどの標準仕様に基づく無線通信や、Ethernet(登録商標)、NGN(Next Generation Network)などの汎用回線により接続されている。
【0049】
カメラ21は、被写体を撮像し、一連の画像データを生成して送信する送信装置としての機能を備える。カメラ制御装置22は、カメラ21に対する制御を行って、カメラ21から送信されてくる画像を受信する受信装置としての機能を備える。
【0050】
なお、カメラ21およびカメラ制御装置22が1対1の関係ではなく、例えば、1台のカメラ制御装置22が、複数台のカメラ21に対する制御を行って、複数台のカメラ21から送信されてくる画像を受信するように通信システム20を構成することができる。即ち、通信システム20は複数台のカメラ21を備えて構成されていてもよい。
【0051】
カメラ21は、撮像部31、符号化部32、送信メモリ部33、通信部34、および通信制御部35を備えて構成される。カメラ21としては、例えば、ビデオカメラや、動画撮影機能を有するデジタルスチルカメラ、パーソナルコンピュータ、携帯電話機、ゲーム機器などを採用することができる。
【0052】
撮像部31は、CCD(Charge Coupled Device)や、CMOS(Complementary Metal Oxide Semiconductor)センサなどの撮像素子を備えて構成され、撮像素子が撮像して得られる画像データを、符号化部32に供給する。
【0053】
符号化部32は、図1の符号化装置10に対応し、前述のラインベース・コーデックに従って画像データを符号化する。即ち、符号化部32は、撮像部31から供給された画像データを1フィールド内のNライン(Nは1以上)の符号化単位で符号化してデータ量を削減した後、符号化済みの画像データ(符号化データ)を送信メモリ部33に供給する。
【0054】
送信メモリ部33は、符号化部32から供給される符号化データを一時的に蓄積する。また、送信メモリ部33は、ネットワーク環境に応じてルーティング情報を管理し、例えば、通信システム20が複数台のカメラ21を有して構成される場合、他の端末(カメラ21)へのデータ転送を制御するルーティング機能を有してもよい。
【0055】
通信部34は、通信制御部35の制御に従って、カメラ制御装置22との通信を行う。例えば、通信部34は、通信制御部35による制御に応じたタイミングで、送信メモリ部33に蓄積されている符号化データを読み出してカメラ制御装置22に送信する。通信部34は、例えば、1ピクチャ分の符号化データを複数に分割し、それぞれ分割された符号化データを含む複数の通信パケットを生成して、一連の画像データを順次送信する。また、通信部34は、例えば、カメラ制御装置22からの通信パケットを受信した場合、受信した通信パケットを解析し、通信制御部35に渡すべき制御データを分離して、通信制御部35に出力する。
【0056】
通信制御部35は、経路制御やQoSによる無線回線などに関する制御を行うとともに、カメラ制御装置22との間で画像データの送信タイミングの調整を行う。より具体的には、通信制御部35は、カメラ制御装置22から送信される送信開始指示信号(制御データ)を、通信部34を介して受け取り、送信開始指示信号で指定された送信開始時刻に従って、通信パケットの送信を開始するように通信部34を制御する。これにより、通信部34は、送信メモリ部33に蓄積されているデータを読み出して通信パケットを生成し、送信開始時刻に従ったタイミングで送信する。
【0057】
カメラ制御装置22は、通信部41、受信メモリ部42、復号部43、出力部44、同期制御部45、および通信制御部46を備えて構成される。カメラ制御装置22としては、パーソナルコンピュータや、ビデオレコーダなどの家庭用の映像処理装置、通信装置、任意の情報処理装置など、カメラ21に対して画像データの送受信タイミングを決定するマスタとしての役割を果たす装置を採用することができる。
【0058】
通信部41は、通信制御部46の制御に従って、カメラ21との通信を行う。例えば、通信部41は、送信開始指示信号の送信を指示されると、送信開始指示信号を含む通信パケットを生成して、カメラ21に送信する。また、通信部41は、例えば、カメラ21から送信されてくる符号化データを含む通信パケットを受信した場合、その通信パケットから符号化データを取り出して受信メモリ部42に出力する。
【0059】
受信メモリ部42は、通信制御部46の制御に従って、通信部41から出力される符号化データを一時的に蓄積した後、所定の復号開始時点で復号部43に符号化データを出力する。受信メモリ部42では、通信制御部46から指定された復号開始時刻が、画像データの復号開始時点として決定される。
【0060】
復号部43は、受信メモリ部42から出力される符号化データを1フィールド内のNライン(Nは1以上)の単位で復号し、その復号の結果得られる画像データを出力部44に出力する。出力部44は、復号部43において復号された画像データに応じた画像を出力する。
【0061】
同期制御部45は、通信システム20内の装置間の画像データの送受信タイミングを制御するタイミングコントローラの役割を果たす。例えば、同期制御部45には、通信部41が受信した通信パケットに含まれているタイムスタンプ(例えば、回線制御レイヤ同期用タイムスタンプ)が、通信制御部46を介して供給される。同期制御部45は、そのタイムスタンプを参照して、回線を同期させるためのタイミングを示す同期信号を調整して出力する。同期制御部45は、典型的にはアプリケーション層の処理として実装される。
【0062】
通信制御部46は、通信制御部35と同様に、経路制御やQoSによる無線回線などに関する制御を行うとともに、同期制御部45から出力される同期信号に応じて、カメラ21との間で画像データの送信タイミングの調整を行う。
【0063】
この画像データの送受信タイミングの調整は、カメラ制御装置22において実行されているアプリケーションからの指示や、カメラ21からの同期要求信号の受信などをきっかけとして開始される。そして、通信制御部46は、同期制御部45の同期信号に応じて、画像データの送信開始時刻を指定する送信開始指示信号を、通信部41を介してカメラ21に送信し、画像データの復号開始時刻の指定を受信メモリ部42に対して行う。このとき、受信メモリ部42に対して指定される復号開始時刻は、カメラ21へ送信される画像データの送信開始時刻から、復号化単位ごとのデータ量の変動や通信経路のジッタなどの通信環境の変動により生じる遅延、ハードウェア遅延、またはメモリ遅延等を吸収するための時間を差し引いた時刻とする。
【0064】
このようにカメラ21およびカメラ制御装置22は構成されており、カメラ21において撮像された画像データがカメラ制御装置22に送信され、カメラ制御装置22において受信されて出力される。
【0065】
ここで、カメラ21およびカメラ制御装置22の間で、例えば、IP(Internet Protocol)に基づく通信を行う場合には、カメラ21では、通信部34が、送信メモリ部33から読み出した符号化データを含むIPパケットを生成し、符号化単位での一連の画像データの送信処理が実行される。
【0066】
図5を参照して、カメラ21とカメラ制御装置22との間で送受信する可能性のある通信データの一例としての、IPパケットのフレームフォーマットについて説明する。図5では、1つのIPパケットの内部構成が4段階に分けられて示されている。
【0067】
まず、IPパケットは、IPヘッダおよびIPデータから構成される。IPヘッダには、例えば、宛先IPアドレスなどのIPに基づく通信経路の制御に関する制御情報などが含まれる。
【0068】
IPデータは、さらにUDPヘッダ及びUDPデータから構成される。UDPは、リアルタイム性が重視される動画または音声データの配信時などに一般的に使用される、OSI参照モデルのトランスポート層のプロトコルである。UDPヘッダには、例えばアプリケーション識別情報である宛先ポート番号などが含まれる。
【0069】
UDPデータは、さらにRTPヘッダ及びRTPデータから構成される。RTPヘッダには、例えばシーケンス番号などのデータストリームのリアルタイム性を保証するための制御情報が含まれる。
【0070】
RTPデータは、画像データのヘッダ(以下、画像ヘッダという。)及びラインベース・コーデックに基づいて圧縮された画像本体である符号化データから構成される。符号化データは、1フィールド内のNライン(Nは1以上)に相当する符号化単位で画像データが符号化されたデータである。
【0071】
画像ヘッダには、例えばピクチャ番号やラインブロック番号(1ライン単位で符号化を行う場合にはライン番号)、サブバンド番号などの画像データに関する情報を含むことができる。なお、画像ヘッダは、ピクチャごとに付与されるピクチャヘッダと、ラインブロックごとに付与されるラインブロックヘッダにさらに分けて構成されてもよい。
【0072】
このように構成されているIPパケットが、カメラ21の通信部34から送信され、カメラ制御装置22の通信部41に受信される。そして、通信部41は、IPパケットに含まれている画像ヘッダおよび符号化データを抜き出し、受信メモリ部42に出力する。
【0073】
ここで、画像データでは、ピクチャごとにピクチャヘッダが付与されており、カメラ21の通信部34は、例えば、ピクチャの先頭に対応する符号化データを含むIPパケットの画像ヘッダにピクチャヘッダを含めて、そのIPパケットを送信する。以下、適宜、ピクチャヘッダが画像ヘッダに含まれているIPパケットを、ピクチャヘッダパケットと称する。
【0074】
図6には、ピクチャヘッダパケットについての概略的なデータ構造が示されている。ピクチャヘッダパケットには、例えば、RTPヘッダ、画像ヘッダ、および符号化データが配置されている。
【0075】
RTPヘッダには、V(Version Bit),P(Padding Bit),X(Extension Bit),CC(CSRC(Contributing Source) Count),M(Marker Bit),PT(Payload Type)、シーケンス番号、タイムスタンプ、SSRC(Synchronization Source Identifier:送信者識別子)が記述される。
【0076】
画像ヘッダは、全てのIPパケットに共通する共通部分と、ピクチャヘッダパケットに含まれるピクチャヘッダとで構成される。共通部分には、図5に示したように、ピクチャ番号、ラインブロック番号、サブバンド番号が記述される。
【0077】
ピクチャヘッダには、画像のサイズを示す画像サイズ情報、単位時間あたりに更新される画像の枚数を示すフレームレート、および、画像の画質を調整するための変数であるn個の画質調整パラメータ1乃至nが記述される。これらのピクチャヘッダに記述されている情報は、カメラ制御装置22の復号部43において符号化データを復号する際に参照される。
【0078】
符号化データは、IPパケットのペイロードに格納可能なサイズで格納される。例えば、ピクチャヘッダパケットには、ピクチャヘッダが含まれる分に応じて、ピクチャヘッダが含まれないIPパケットよりも少ないサイズの符号化データが格納される。
【0079】
次に、図7は、図4の受信メモリ部42の詳細な構成を示すブロック図である。
【0080】
図7に示すように、受信メモリ部42は、ヘッダ検出部51、蓄積制御部52、蓄積部53、ピクチャヘッダ蓄積部54、復号開始指示部55、および時間観測部56を備えて構成される。カメラ21から送信されてくる通信パケットを通信部41が受信すると、通信部41は、その通信パケットに含まれている画像ヘッダおよび符号化データを抜き出して、ヘッダ検出部51および蓄積制御部52にそれぞれ供給する。
【0081】
ヘッダ検出部51は、通信部41から供給されるデータに含まれる画像ヘッダを検出し、その画像ヘッダに含まれているピクチャ番号、ラインブロック番号、サブバンド番号を抽出する。また、ヘッダ検出部51は、所定のピクチャヘッダ観測区間(後述の図8参照)において、画像ヘッダにピクチャヘッダが含まれている場合、ピクチャヘッダを抽出する。
【0082】
例えば、ヘッダ検出部51は、画像ヘッダから抽出したピクチャ番号に基づいて、ピクチャの先頭位置を認識する。また、ヘッダ検出部51は、画像ヘッダから抽出したラインブロック番号に基づいて、その画像ヘッダが付加されている符号化データが、ピクチャ内のどのラインブロックに該当するのかを認識する。また、ヘッダ検出部51は、画像ヘッダから抽出したピクチャヘッダに基づいて、ピクチャヘッダパケットが受信されたことを認識する。
【0083】
そして、ヘッダ検出部51は、それらの認識した情報を、制御情報として蓄積制御部52および復号開始指示部55へ出力する。
【0084】
蓄積制御部52は、ヘッダ検出部51からの制御情報に従って、通信部41から供給される画像ヘッダおよび符号化データの蓄積部53への蓄積を制御する。また、蓄積制御部52は、ヘッダ検出部51からの制御情報に従って、画像ヘッダにピクチャヘッダが含まれている場合、その画像ヘッダおよび符号化データをピクチャヘッダ蓄積部54にも蓄積する。
【0085】
蓄積部53は、蓄積制御部52から供給される画像ヘッダおよび符号化データを一時的に蓄積する。ピクチャヘッダ蓄積部54は、ピクチャヘッダが含まれている画像ヘッダ、および、その画像ヘッダと同じ通信パケットに含まれていた符号化データを一時的に蓄積する。
【0086】
ここで、符号化データは、1フィールド内のNライン(Nは1以上)に相当する符号化単位で画像データが符号化されたものである。そして、蓄積部53では、符号化データそれぞれの画像上の位置(即ち、ピクチャ内のどのライン(またはラインブロック)に該当するか)に対応して、画像ヘッダおよび符号化データを蓄積する記憶領域が割り当てられている。従って、蓄積制御部52は、画像ヘッダおよび符号化データを蓄積部53に蓄積する際に、ヘッダ検出部51によって認識された画像上の位置に従って、その画像ヘッダおよび符号化データに割り当てられている記憶領域に蓄積する。
【0087】
また、例えば、カメラ21の通信部34が送信したピクチャヘッダパケットが伝送経路中でロスした場合、通信部41からヘッダ検出部51に、ピクチャヘッダを含む画像ヘッダが供給されないことになる。この場合、ヘッダ検出部51は、ピクチャヘッダを抽出することができず、所定のピクチャヘッダ観測区間(後述の図8参照)が経過してもピクチャヘッダを抽出することができなければ、ピクチャヘッダパケットがロスしたことを検出する。ヘッダ検出部51が、ピクチャヘッダパケットがロスしたことを検出すると、蓄積制御部52は、ピクチャヘッダ蓄積部54に蓄積されている画像ヘッダおよび符号化データを読み出して、蓄積部53に蓄積させ、ロスしたデータに替えて挿入する。
【0088】
上述したように、蓄積制御部52は、ピクチャヘッダが含まれている画像ヘッダおよび符号化データをピクチャヘッダ蓄積部54にも蓄積している。従って、カメラ制御装置22がピクチャヘッダパケットを既に受信している場合、ピクチャヘッダ蓄積部54には、ピクチャヘッダが含まれている画像ヘッダおよび符号化データが蓄積されている。従って、蓄積部53に蓄積中の符号化データに応じたピクチャのピクチャヘッダがロスしても、そのピクチャよりも前のピクチャのピクチャヘッダが、ロスしたピクチャヘッダの替わりに蓄積部53に蓄積される。
【0089】
なお、例えば、ピクチャヘッダ蓄積部54の保持内容は、最新のピクチャヘッダが含まれている画像ヘッダおよび符号化データに常に更新する他、例えば、ピクチャヘッダが含まれている画像ヘッダおよび符号化データを一度保持したら、その保持内容を維持し続けてもよい。また、一般的に、ピクチャヘッダパケットに含まれている符号化データ(画像データ)の情報量は多いので、符号化データについては、符号化データよりもデータ量の少ない既知のデータに置き換えて、符号化データ以外のデータ(画像ヘッダ)を、常に更新するようにしてもよい。
【0090】
復号開始指示部55は、図4の通信制御部46から設定された復号開始時刻を画像データの復号開始時点として決定する。そして、復号開始指示部55は、復号開始時後に、符号化単位(即ち、ラインまたはラインブロックの単位)での符号化データを蓄積部53から読み出して復号部43に供給するとともに、復号部43に対して復号開始を指示する。
【0091】
ここで、本実施形態では、ピクチャの先頭が認識された時点から予め設定された一定の時間が経過した後の時点が、復号開始時点として設定される。例えば、復号化単位ごとのデータ量の変動や通信経路のジッタの影響等による遅延を吸収できる時間を一定の時間として設定するのが好適である。
【0092】
時間観測部56は、復号開始指示部55からの制御を受けて、ピクチャヘッダの観測区間の時間を制御する。時間観測部56は、例えば、タイマーとして実装することができる。ピクチャヘッダの観測区間については、カメラ21とカメラ制御装置22の送受信処理タイミングがカメラ制御装置22より設定され、ラインベース・コーデックを使用していることより、観測区間を復号化単位ごとのデータ量の変動や通信経路のジッタの影響等による遅延を吸収できる時間で設定できるため、観測区間を狭く設定することが可能となる。
【0093】
ここで、図8を参照して、観測区間について説明する。
【0094】
図8には、カメラ21が、ピクチャヘッダパケットを送信するタイミングを示す送信タイミング、カメラ制御装置22が、その送信タイミングで送信されたピクチャヘッダパケットを受信する受信タイミング、および、受信メモリ部42に設定されるピクチャヘッダ観測区間が示されている。
【0095】
上述したように、カメラ21は、カメラ制御装置22からの送信開始指示信号で指定された送信開始時刻に従って画像データの送信を行い、1ピクチャごとに、ピクチャの先頭でピクチャヘッダパケットを送信する。カメラ21から送信されたピクチャヘッダパケットは、復号化単位ごとのデータ量の変動や通信経路のジッタなどの通信環境の変動により生じる遅延時間に応じて遅延して、カメラ制御装置22に受信される。
【0096】
そして、ピクチャヘッダ観測区間は、送信開始時刻からピクチャヘッダパケットの受信時刻までを含む所定の時間であって、1ピクチャ期間(1ピクチャ分の符号化データの送信に必要な時間)未満に設定される。
【0097】
例えば、従来の受信装置では、1ピクチャ期間が経過して次のピクチャのピクチャヘッダパケットを受信したときに、現在のピクチャのピクチャヘッダパケットがロスしたことを検出していた。従って、この場合、1ピクチャ期間が経過するまで復号処理を待機することになる。
【0098】
これに対し、カメラ制御装置22では、1ピクチャ期間よりも狭くピクチャヘッダ観測区間を設定することができ、ピクチャヘッダ観測区間内にピクチャヘッダパケットを検出することができなければ、ピクチャヘッダパケットがロスしたとして、1ピクチャ期間が経過するまで待機することなく復号処理を開始することができる。これにより、より低遅延で画像を出力することができる。また、このとき、受信済みのピクチャヘッダパケットに含まれているピクチャヘッダを利用して復号処理が行われるので、ピクチャヘッダを用いずに復号処理が行われる場合と比較して、高画質で復号することができる。即ち、ピクチャヘッダを用いずに復号処理が行われる場合には、画質が低下してしまうが、このような画質の低下を回避することができる。
【0099】
次に、図9乃至図12を参照して、カメラ21が画像データを送信する送信処理、および、カメラ制御装置22が画像データを受信する受信処理について説明する。
【0100】
次に、図9は、カメラ21が画像データを送信する送信処理を説明するフローチャートである。
【0101】
ステップS11において、通信部34は、カメラ制御装置22から送信されてくる送信開始指示信号を受信して通信制御部35に供給する。例えば、カメラ21が起動して撮像部31による撮像が開始されると処理が開始され、通信制御部35は、通信部34が送信開始指示信号を受信するまで処理を待機する。そして、通信部34が送信開始指示信号を受信して通信制御部35に供給すると、通信制御部35は、送信開始指示信号に含まれる送信開始時刻を取得し、処理はステップS12に進む。
【0102】
ステップS12において、通信制御部35は、ステップS11で取得した送信開始時刻に従って、送信開始時刻になったか否かを判定し、送信開始時刻になったと判定されるまで処理を待機する。その後、送信開始時刻になったと判定されると、処理はステップS13に進む。
【0103】
ステップS13において、通信制御部35は、画像データの符号化部32への出力を開始するように撮像部31に対する制御を行い、符号化部32は、撮像部31から出力された画像データを1フィールド内のNライン(Nは1以上)の符号化単位での符号化を開始する。そして、符号化部32は、画像データを符号化した符号化データを送信メモリ部33に出力し、送信メモリ部33には、通信経路および送信処理の進行状況に応じて符号化データが蓄積される。
【0104】
ステップS14において、通信制御部35は、符号化データのカメラ制御装置22への送信を待機するか否かを判定し、符号化データを送信するタイミングとなるまで処理を待機する。その後、符号化データを送信するタイミングとなると、カメラ制御装置22は、カメラ制御装置22に送信する通信パケットを生成するように、通信部34に対する制御を行う。これにより、通信部34は、送信メモリ部33から符号化データを読み出し、その符号化データを含む通信パケットの生成を開始する。
【0105】
ここで、例えば、ピクチャの先頭の画像に対応する符号化データを含む通信パケットを生成するとき、通信部34は、上述したようなピクチャヘッダを含む画像ヘッダと、符号化データとを含む通信パケットを生成する。
【0106】
ステップS15の処理後、処理はステップS16に進み、通信部34は、カメラ制御装置22に対して通信データを送信し、処理は終了される。
【0107】
次に、図10は、カメラ制御装置22が画像データを受信する受信処理を説明するフローチャートである。
【0108】
ステップS21において、通信制御部46は、同期制御部45からの同期信号に基づく時刻であって、復号部43が復号処理を開始する時刻を示す復号開始時刻を、受信メモリ部42の復号開始指示部55に対して指定し、処理はステップS22に進む。
【0109】
ステップS22において、通信制御部46は、同期制御部45からの同期信号に基づく時刻であって、カメラ21が画像データの送信を開始する時刻を示す送信開始時刻を含む送信開始指示信号を、通信部41を介してカメラ21に送信する。ステップS21で送信された送信開始指示信号が、図9のステップS11で受信される。
【0110】
ステップS22の処理後、処理はステップS23に進み、受信メモリ部42では、復号開始指示部55が、通信制御部46により指定された復号開始時刻に応じて、時間観測部56に対してピクチャヘッダ観測区間を設定する。これにより、時間観測部56はピクチャヘッダの観測区間のカウントを開始し、処理はステップS24に進む。
【0111】
ステップS24において、カメラ制御装置22では、カメラ21から送信されてくる通信パケットを通信部41が受信して、受信メモリ部42が画像ヘッダおよび符号化データを蓄積するデータ蓄積処理が開始される。データ蓄積処理については、図11を参照して後述する。
【0112】
ステップS25において、復号開始指示部55は、ステップS21で指定された復号開始時刻になったか否かを判定し、復号開始時刻になったと判定するまで処理を待機する。そして、ステップS25において、復号開始指示部55が復号開始時刻になったと判定した場合、処理はステップS26に進み、復号開始指示部55は、この時点において、復号対象のデータの受信が完了しているか否かを判定する。
【0113】
上述したように、本実施の形態では、ラインベース・コーデックを採用しており、例えば、復号開始指示部55は、ピクチャの先頭のラインブロックの画像に対応する符号化データが蓄積部53に蓄積されているか否かを検出する。そして、その符号化データが蓄積部53に蓄積されていれば、復号開始指示部55は、復号対象のデータの受信が完了しているか否かを判定する。
【0114】
ステップS26において、復号開始指示部55が、復号対象のデータの受信が完了していないと判定した場合、処理はステップS21に戻り、送受信対象の画像データについての送受信タイミングの再調整が行われ、以下、同様の処理が繰り返される。
【0115】
一方、ステップS26において、復号開始指示部55が、復号対象のデータの受信が完了していると判定した場合、処理はステップS27に進む。
【0116】
ステップS27において、復号開始指示部55は、蓄積制御部52を介して蓄積部53に蓄積されている復号対象の符号化データおよび画像ヘッダを読み出して復号部43に供給する。
【0117】
ステップS27の処理後、処理はステップS28に進み、符号化単位の復号処理が行われる。符号化単位の復号処理については、図12を参照して後述する。
【0118】
ステップS28の処理後、処理はステップS29に進み、復号開始指示部55は、ピクチャ内の全てのラインが復号されたか否かを判定する。
【0119】
ステップS29において、復号開始指示部55がピクチャ内の全てのラインが復号されていないと判定した場合、処理はステップS27に戻り、以下、同様の処理が繰り返される。即ち、この場合、ステップS27において、直前のステップS28で復号された符号化単位の次の符号化単位が復号処理の対称とされ、その符号化単位のデータが蓄積部53から読み出されて復号部43に供給され、符号化単位の復号処理が行われる。
【0120】
一方、ステップS29において、復号開始指示部55がピクチャ内の全てのラインが復号されたと判定した場合、処理は終了される。
【0121】
次に、図11は、図10のステップS24で処理が開始されるデータ蓄積処理を説明するフローチャートである。
【0122】
ステップS31において、ヘッダ検出部51は、通信部41が通信パケットを受信したか否かを判定し、通信部41が通信パケットを受信して、その通信パケットから取り出したデータを供給するまで、処理を待機する。
【0123】
通信部41からデータが供給されると、ステップS31において、ヘッダ検出部51は、通信部41が通信パケットを受信したと判定し、処理はステップS32に進み、ヘッダ検出部51は、通信部41から供給されるデータから画像ヘッダを検出する。そして、ヘッダ検出部51は、画像ヘッダに含まれている各種の情報を取得する。
【0124】
ステップS32の処理後、処理はステップS33に進み、ヘッダ検出部51は、ステップS32で検出した画像ヘッダにピクチャヘッダが含まれているか否かを判定する。
【0125】
ステップS33において、ヘッダ検出部51が、画像ヘッダにピクチャヘッダが含まれていると判定した場合、処理はステップS34に進む。ステップS34において、ヘッダ検出部51は、蓄積制御部52に対して、ピクチャヘッダが含まれている画像ヘッダを検出したことを示す制御情報を供給する。これにより、蓄積制御部52は、蓄積部53およびピクチャヘッダ蓄積部54に画像ヘッダおよび符号化データをそれぞれ蓄積するように制御を行う。
【0126】
一方、ステップS33において、ヘッダ検出部51が、画像ヘッダにピクチャヘッダが含まれていないと判定した場合、処理はステップS35に進む。ステップS35において、ヘッダ検出部51は、蓄積制御部52に対して、ピクチャヘッダが含まれている画像ヘッダを検出しなかったことを示す制御情報を供給する。これにより、蓄積制御部52は、蓄積部53に画像ヘッダおよび符号化データを蓄積するように制御を行う。
【0127】
ステップS34またはS35の処理後、処理はステップS36に進み、時間観測部56は、図10のステップS23でカウントを開始したピクチャヘッダ観測区間が経過したか否かを判定する。ステップS36において、時間観測部56が、ピクチャヘッダ観測区間が経過していないと判定した場合、処理はステップS31に戻り、以下、同様の処理が繰り返される。
【0128】
一方、ステップS36において、時間観測部56が、ピクチャヘッダ観測区間が経過したと判定した場合、時間観測部56はピクチャヘッダ観測区間が経過したことをヘッダ検出部51に通知し、処理はステップS37に進む。
【0129】
ステップS37において、ヘッダ検出部51は、ピクチャヘッダパケットがロスしたか否かを判定する。例えば、ヘッダ検出部51は、ステップS37の処理が行われた時点までに、ステップS33においてピクチャヘッダが含まれているという判定を行っていれば、ピクチャヘッダパケットがロスしていないと判定する。
【0130】
ステップS37において、ヘッダ検出部51が、ピクチャヘッダパケットがロスしたと判定した場合、処理はステップS38に進み、蓄積制御部52は、ピクチャヘッダ蓄積部54にピクチャヘッダが保持されているか否かを判定する。例えば、現在のピクチャより前のピクチャを受信する処理においてピクチャヘッダが受信されていれば、ピクチャヘッダ蓄積部54にピクチャヘッダが保持されている。
【0131】
ステップS38において、蓄積制御部52がピクチャヘッダ蓄積部54にピクチャヘッダが保持されていると判定した場合、処理はステップS39に進む。ステップS39において、蓄積制御部52は、ピクチャヘッダ蓄積部54に蓄積されている画像ヘッダおよび符号化データを読み出して、蓄積部53に挿入する。
【0132】
一方、ステップS37でピクチャヘッダパケットがロスしていないと判定された場合、ステップS38でピクチャヘッダ蓄積部54にピクチャヘッダが保持されていないと判定された場合、または、ステップS39の処理後、処理はステップS40に進む。
【0133】
ステップS40以降では、残りの全てのラインのデータを受信するまで、蓄積部53に画像ヘッダおよび符号化データを蓄積する処理が繰り返される。即ち、ステップS40では、ステップS31の処理と同様に、通信部41が通信パケットを受信したと判定されるまで処理が待機され、ステップS42では、ステップS32の処理と同様に、画像ヘッダが検出される。そして、ステップS42では、ステップS35の処理と同様に、蓄積部53に画像ヘッダおよび符号化データが蓄積される。
【0134】
その後、ステップS43において、ヘッダ検出部51は、全てのラインのデータを受信したか否かを判定し、全てのラインのデータを受信していないと判定した場合、処理はステップS40に戻り、以下、同様の処理が繰り返される。一方、ステップS43において、全てのラインのデータを受信したと判定された場合、処理は終了される。
【0135】
次に、図12は、図10のステップS28における符号化単位の復号処理を説明するフローチャートである。
【0136】
ステップS51において、復号部43は、図10のステップS27で復号開始指示部55が蓄積部53から読み出して出力した画像データ(符号化データおよび画像ヘッダ)を受信し、処理はステップS52に進む。
【0137】
ステップS52において、復号開始指示部55は、符号化単位での許容復号時間を計測する。ここで、符号化単位での許容復号時間とは、1つの符号化単位の画像データを表示するために費やすことのできる時間を意味する。一例として、1080/60p(画面サイズ2200x1125、60fpsのプログレッシブ方式)の映像を復号する場合、1ラインの表示に費やせる時間は、ブランク時間を考慮すると約14.8[μs]、ブランク時間を考慮しないと約15.4[μs]となる。そして、符号化単位がNライン分のラインブロックであった場合には、符号化単位での許容復号時間は、前述の1ラインの表示に費やせる時間のN倍となる。
【0138】
ステップS52の処理後、処理はステップS53に進み、復号開始指示部55は、符号化単位での処理時間が終了するまでに蓄積部53から復号部43への画像データの転送が終了するかどうかを判定する。
【0139】
ステップS53において、復号開始指示部55が符号化単位での処理時間が終了するよりも早く画像データの転送が終了すると判定した場合、即ち、想定されるよりも少ない画像データしか受信されていなかった場合は、処理はステップS54に進む。
【0140】
ステップS54において、復号開始指示部55は、当該画像データの受信完了を待つことなくダミーデータを当該ライン(またはラインブロック)へ挿入する。即ち、この場合、復号の対象となる画像データの受信が通信の遅延などの原因により完了していないことが考えられ、このとき、復号の対象となる画像データの受信完了を待つと同期タイミングがずれて画像の表示が遅延するため、ダミーデータの挿入が行われる。ここで挿入されるダミーデータとしては、例えば1ピクチャ前(またはそれ以前)の同一ライン(またはラインブロック)の画像データを用いることができる。なお、ダミーデータとしては、かかる例に限定されず、固定の画像データや、動き保証などにより予測したデータなど、任意のデータを用いることができる。
【0141】
一方、ステップS53において、復号開始指示部55が符号化単位での処理時間が終了するよりも早く画像データの転送が終了しないと判定した場合、処理はステップS55に進む。
【0142】
ステップS55において、復号開始指示部55は、画像データの転送が終了する前に符号化単位での許容復号時間が終了するか否かを判定する。ステップS55において、復号開始指示部55が画像データの転送が終了する前に符号化単位での許容復号時間が終了しないと判定した場合、処理はステップS53に戻り、以下、同様の処理が繰り返される。
【0143】
一方、ステップS55において、復号開始指示部55が画像データの転送が終了する前に符号化単位での許容復号時間が終了したと判定された場合、処理はステップS56に進む。
【0144】
ステップS56において、復号開始指示部55は、蓄積部53に復号対象の画像データが残っているか否かを判定する。ステップS55において、復号開始指示部55が蓄積部53に復号対象の画像データが残っていると判定した場合、処理はステップS57に進み、復号開始指示部55は、蓄積部53に残っている画像データを削除する。
【0145】
一方、ステップS56において、蓄積部53に復号対象の画像データが残っていないと判定された場合、ステップS57の処理後、または、ステップS54の処理後、処理は終了される。
【0146】
なお、ステップS55において、1つの符号化単位での処理時間が終了した際に、時間計測用のカウンタを一時停止またはリセットすることなく連続的に動作させながら、次の復号化単位での復号指示を行うのが好適である。そうすることにより、例えばラインブロックごとの符号化単位での復号タイミングがばらつくことなく復号処理が行われる。
【0147】
また、その代わりに、時間計測用のカウンタとは別にカメラ制御装置22内に時間制御部(図示せず)を設け、例えばステップS54において、符号化単位ごとの処理開始、終了のタイミングを当該時間制御部から受信メモリ部42または復号部43へ通知させてもよい。
【0148】
そして、復号化単位での復号処理は、ピクチャ内の全てのラインの処理が終了するまで繰り返され、全てのラインの処理が終了した時点で受信処理は終了する。
【0149】
以上のように、カメラ制御装置22では、ピクチャのデコード情報が含まれるピクチャヘッダパケットがロスした際に、ピクチャヘッダ蓄積部54に保持されている画像ヘッダおよび符号化データを蓄積部53に挿入して、画像ヘッダおよび符号化データを補完することができる。これにより、復号部43では、補完された画像ヘッダおよび符号化データを利用して復号処理を行うことができ、ピクチャヘッダパケットがロスすることによる画質の低下を回避することができる。
【0150】
また、カメラ制御装置22が、カメラ21とカメラ制御装置22との送受信処理タイミングを設定し、ピクチャヘッダ観測区間を狭く設定することができるので、ピクチャヘッダパケットがロスした場合の待機時間を短くすることができ、低遅延で画像を出力することができる。
【0151】
特に、通信システム20では、ラインベース・コーデックによる低遅延という特徴を活かすことができ、エラーが発生するようなネットワーク環境においても低遅延で高画質な画像を伝送することができる。
【0152】
また、例えば、通信システム20が複数のカメラ21を備えて構成される場合、カメラ制御装置22側で複数の画像データの管理または統合をする際に、カメラ制御装置22がタイミングコントローラの役割を果たし、画像データ間での同期を合わせることができる。
【0153】
また、同期制御部45は、通信環境の変動を吸収するための時間間隔を前述の送信開始時刻との間に有する復号開始時刻を受信メモリ部42内の復号開始指示部55に対して指定する。そして、受信メモリ部42の復号開始指示部55は、指定された復号開始時刻に基づいて復号開始時点を決定し、画像データの復号化単位での復号開始の指示を行う。また、ピクチャヘッダがロスした際には、ピクチャヘッダ蓄積部54が保持していたピクチャヘッダにより補完することで、同期を合わせて送信された画像データについて、通信環境の変動、ロスなどの影響を吸収しながら、安定して同期された状態で復号を行うことができる。
【0154】
なお、通信システム20において、通信部34および41は、TDMA(Time Division Multiple Access)方式やCSMA(Carrier Sense Multiple Access)方式でのMAC(Media Access Control)層の制御を行う。また、通信制御部35および46は、キャリアではなくプリアンブルの相関からパケットを識別するPSMA(Preamble Sense Multiple Access)に基づくMAC層の制御を行う。
【0155】
さらに、通信システム20では、通信パケットを利用して送信開始信号(制御データ)を送受信することにより送信開始時刻を指定する他、別系統でタイミング信号を使用することで、送信開始時刻を指定してもよい。
【0156】
また、ピクチャヘッダ観測区間が経過したタイミングで、ピクチャヘッダパケットがロスしたことを検出する他、ピクチャヘッダ観測区間中であっても、パケット番号を監視することにより、ピクチャヘッダパケットのロスを検出することができる。例えば、ピクチャ番号が0〜10(ピクチャ番号が0のパケットがピクチャヘッダパケットである)で動作しているとき、ピクチャヘッダ観測区間中にパケット番号が8,9,10,1のような順番でパケットを受信されたとする。このとき、パケット番号が1のパケットを受信したときに、ピクチャヘッダパケットがロスしたと検出し、ピクチャヘッダパケットの補完を行うように動作させることができる。これにより、ピクチャヘッダパケットがロスしたことを検出するタイミングを早くすることができ、より低遅延で復号処理を開始することができる。
【0157】
なお、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0158】
図13は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0159】
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
【0160】
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、キーボード、マウス、マイクロホンなどよりなる入力部106、ディスプレイ、スピーカなどよりなる出力部107、ハードディスクや不揮発性のメモリなどよりなる記憶部108、ネットワークインタフェースなどよりなる通信部109、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111を駆動するドライブ110が接続されている。
【0161】
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
【0162】
コンピュータ(CPU101)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア111に記録して、あるいは、ローカルエリアネットワーク、インタネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0163】
そして、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
【0164】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【0165】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0166】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0167】
10 符号化装置, 11 ウェーブレット変換部, 12 途中計算用バッファ部, 13 係数並び替え用バッファ部, 14 係数並び替え部, 15 量子化部, 16 エントロピ符号化部, 20 通信システム, 21 カメラ, 22 カメラ制御装置, 31 撮像部, 32 符号化部, 33 送信メモリ部, 34 通信部, 35 通信制御部, 41 通信部, 42 受信メモリ部, 43 復号部, 44 出力部, 45 同期制御部, 46 通信制御部, 51 ヘッダ検出部, 52 蓄積制御部, 53 蓄積部, 54 ピクチャヘッダ蓄積部, 55 復号開始指示部, 56 時間観測部
【技術分野】
【0001】
本発明は、受信装置、受信方法、及び通信システムに関し、特に、低遅延かつ高品質でデータを受信することができるようにした受信装置、受信方法、及び通信システムに関する。
【背景技術】
【0002】
従来、インターネットやLAN(Local Area Network)など様々なネットワークを介して、画像データ(特に動画像データ)を転送するアプリケーションやサービスが広く利用されている。一般的に、ネットワークを介して画像データを送受信する場合には、MPEG(Moving Pictures Experts Group)やJPEG 2000(Joint Photographic Experts Group 2000)などの符号化(圧縮)処理により画像データのデータ量を減少させた上でネットワークに送出する。そして、その符号化された画像データを受信する受信側においては、復号(伸長)処理を施して画像データを再生する。
【0003】
ところで、近年、ライブ中継を行うカメラシステムにおいては、高画質かつ低遅延伝送での画像データ配信が要求されている。しかしながら、MPEGやJPEG2000などの符号化方式では、コード遅延(符号化遅延+復号遅延)が2ピクチャ以上あるため、より低遅延伝送が可能な符号化方式が求められている。
【0004】
そこで、近日、1ピクチャをN個のライン(Nは1以上)の集合に分割し、分割した集合(ラインブロックという)ごとに画像を符号化することで遅延時間を短くする画像圧縮方式(以下、ラインベース・コーデックという)が提案され始めている。ラインベース・コーデックの利点としては、低遅延伝送の他、画像圧縮の1単位で取り扱う情報が少ないことにより、高速処理やハードウェア規模の低減が可能といった利点がある。
【0005】
例えば、特許文献1には、ラインベース・コーデックに基づく通信データについて、ラインブロックごとに適切に欠落データの補完処理を行う通信装置が記載されている。また、特許文献2には、ラインベース・コーデックを用いた通信において安定して同期を獲得することのできる通信装置が記載されている。
【0006】
このようなラインベース・コーデックを利用することにより、低遅延かつ高画質での伝送が実現され、今後、ライブ中継を行うカメラシステムにラインベース・コーデックを適用することが期待されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−311948号公報
【特許文献2】特開2009−278545号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、通信媒体を介してラインベース・コーデックにより圧縮された画像転送を行う場合、送信端末と受信端末との間のタイミングを、どのよう同期させるのかが課題となる。一般的に、受信端末側では、パケットのヘッダ(Header)に挿入される時間情報(例えば、Time Stampなど)や、水平同期信号(VSYNC)、垂直同期信号(HSYNC)、ブランク期間の始めと終わりに付加される既知信号であるSAV(Start of Active Video)またはEAV(End of Active Video)などを用いて、フレーム単位で再生処理が行われる。従って、受信端末において、上記同期信号や上記既知信号を参考にして、最短で1フレーム後にデコードを開始することにより、より簡単にデコード処理を行うことができる。
【0009】
しかしながら、ラインベース・コーデックにおいて、伝送路の帯域以内にデータレートを抑えながら、低遅延という特徴を活かそうとした場合、予め決められたデータ転送量となるようにデータの圧縮が行われる。また、該当ピクセル(またはライン、ラインの束)のデータ圧縮率は、該当ピクセル(またはライン、ラインの束)の前に受信したデータ量によって決定される。これらのことより、ラインベース・コーデックでは、データ転送量の制御時間がピクチャーベースのコーデックに比較して短時間になる。
【0010】
さらに、あるピクセル(またはライン、ラインの束)のデータ量が一時的に増大したとき、伝送路に送信しきれない送信データが、送信端末側のバッファ(buffer)に一時蓄積することがある。これにより、本来送信すべき送信出力タイミングよりも遅れたタイミングで、送信データが送信される状況が発生する。
【0011】
また、従来のライブ中継を行うカメラシステムを高画質でかつ、Ethernet(登録商標)やNGN、無線といった汎用回線に対応させるとなると、遅延量の増大やパケットロスなどが発生する状況となる。
【0012】
このように、送信出力タイミングの遅れや、遅延量の増大、パケットロスなどが発生するような状況によって、例えば、ラインベース・コーデックのピクチャのデコード情報が含まれるパケット(以下、ピクチャヘッダパケットと称する)の伝送が遅れたり、ロスした場合、受信端末側では、復号処理においてピクチャヘッダを参照することができない状況が発生する。この場合、受信端末側で再生される画質が低下することになる。従って、上述のような状況においても、ラインベース・コーデックによる低遅延という特徴を活かすことができ、かつ、画質の低下を抑制することができる方法が求められている。
【0013】
本発明は、このような状況に鑑みてなされたものであり、ラインベース・コーデックを用いて符号化された画像データを、低遅延かつ高品質(高画質)で受信することができるようにするものである。
【課題を解決するための手段】
【0014】
本発明の第1の側面の受信装置は、画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置から送信された前記通信パケットを受信する受信手段と、前記受信手段により受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを蓄積する第1の蓄積手段と、所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記受信手段が受信した前記通信パケットの画像ヘッダから検出する検出手段と、前記検出手段により検出された前記ピクチャヘッダを蓄積する第2の蓄積手段と、前記観測区間内に、前記検出手段により前記ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させる制御手段とを備える。
【0015】
本発明の第1の側面の受信方法は、画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置から送信された前記通信パケットを受信し、前記受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを第1の蓄積手段に蓄積し、所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記通信パケットの画像ヘッダから検出し、前記検出された前記ピクチャヘッダを第2の蓄積手段に蓄積し、前記観測区間内に、ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させるステップを含む。
【0016】
本発明の第2の側面の通信システムは、画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置と、前記送信装置から送信された前記通信パケットを受信する受信手段と、前記受信手段により受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを蓄積する第1の蓄積手段と、所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記受信手段が受信した前記通信パケットの画像ヘッダから検出する検出手段と、前記検出手段により検出された前記ピクチャヘッダを蓄積する第2の蓄積手段と、前記観測区間内に、前記検出手段により前記ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させる制御手段とを有する受信装置とを備える。
【0017】
本発明の第1および第2の側面においては、画像データを符号化した符号化データと、画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する符号化データから順に送信する送信装置から送信された通信パケットが受信され、受信された通信パケットに含まれる符号化データおよび画像ヘッダが第1の蓄積手段に蓄積される。そして、所定の観測区間において、符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダが、通信パケットの画像ヘッダから検出され、検出されたピクチャヘッダが第2の蓄積手段に蓄積され、観測区間内に、ピクチャヘッダが検出されなかった場合、第2の蓄積手段に蓄積されているピクチャヘッダが読み出されて、第1の蓄積手段に蓄積される。
【発明の効果】
【0018】
本発明の第1および第2の側面によれば、ラインベース・コーデックを用いて符号化された画像データについて、低遅延で伝送し、かつ、画質の低下を抑制することができる。
【図面の簡単な説明】
【0019】
【図1】画像データを符号化する符号化装置の構成例を示す図である。
【図2】分析フィルタリングを4回繰り返すことにより分割された係数データの構成を示す図である。
【図3】ラインブロックを説明する図である。
【図4】本発明を適用した通信システムの実施の形態の構成例を示すブロック図である。
【図5】IPパケットのフレームフォーマットを示す図である。
【図6】ピクチャヘッダパケットについての概略的なデータ構造を示す図である。
【図7】受信メモリ部の詳細な構成を示すブロック図である。
【図8】観測区間について説明する図である。
【図9】画像データを送信する送信処理を説明するフローチャートである。
【図10】画像データを受信する受信処理を説明するフローチャートである。
【図11】データ蓄積処理を説明するフローチャートである。
【図12】符号化単位の復号処理を説明するフローチャートである。
【図13】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0020】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0021】
まず、画像データの符号化処理について説明する。
【0022】
図1は、画像データを符号化する符号化装置の構成例を示す図である。
【0023】
図1に示される符号化装置10は、入力された画像データを符号化して符号化データを生成し、出力する。図1に示されるように符号化装置10は、ウェーブレット変換部11、途中計算用バッファ部12、係数並び替え用バッファ部13、係数並び替え部14、量子化部15、およびエントロピ符号化部16を有する。
【0024】
符号化装置10に入力された画像データは、ウェーブレット変換部11を介して途中計算用バッファ部12に一時的に溜め込まれる。
【0025】
ウェーブレット変換部11は、途中計算用バッファ部12に溜め込まれた画像データに対してウェーブレット変換を施す。このウェーブレット変換の詳細については後述する。ウェーブレット変換部11は、ウェーブレット変換により得られた係数データを係数並び替え用バッファ部13に供給する。
【0026】
係数並び替え部14は、係数並び替え用バッファ部13に書き込まれた係数データを所定の順序(例えば、ウェーブレット逆変換処理順)で読み出し、量子化部15に供給する。
【0027】
量子化部15は、供給された係数データを、所定の方法で量子化し、得られた係数データ(量子化係数データ)をエントロピ符号化部16に供給する。
【0028】
エントロピ符号化部16は、供給された係数データを、例えばハフマン符号化や算術符号化といった所定のエントロピ符号化方式で符号化する。エントロピ符号化部16は、生成した符号化データを符号化装置10の外部に出力する。
【0029】
次に、ウェーブレット変換について説明する。ウェーブレット変換は、画像データを空間周波数の高い成分(高域成分)と低い成分(低域成分)とに分割する分析フィルタリングを、生成した低域成分に対して再帰的に繰り返すことにより、画像データを、階層的に構成される周波数成分毎の係数データに変換する処理である。なお、以下において、分割レベルは、高域成分の階層ほど下位とし、低域成分の階層ほど上位とする。
【0030】
1つの階層(分割レベル)において、分析フィルタリングは、水平方向と垂直方向の両方について行われる。これにより、1つの階層の係数データ(画像データ)は、1階層分の分析フィルタリングにより4種類の成分に分割される。4種類の成分とは、すなわち、水平方向および垂直方向の両方について高域な成分(HH)、水平方向に高域で垂直方向に低域な成分(HL)、水平方向に低域で垂直方向に高域な成分(LH)、および、水平方向および垂直方向の両方について低域な成分(LL)である。各成分の集合を、それぞれサブバンドと称する。
【0031】
ある階層において分析フィルタリングが行われて4つのサブバンドが生成された状態において、次の(1つ上位の)階層の分析フィルタリングは、その生成された4つのサブバンドのうち、水平方向および垂直方向の両方について低域な成分(LL)に対して行われる。
【0032】
このように分析フィルタリングが再帰的に繰り返されることにより、空間周波数の低い帯域の係数データは、より小さな領域(低域成分)に追い込まれる。したがって、このようにウェーブレット変換された係数データを符号化するようにすることにより、効率的な符号化が可能となる。
【0033】
図2は、分析フィルタリングを4回繰り返すことにより、分割レベル4までの13個のサブバンド(1LH,1HL,1HH,2LH,2HL,2HH,3LH,3HL,3HH,4LL,4LH,4HL,4HH)に分割された係数データの構成を示している。
【0034】
次に、ラインブロックについて説明する。図3は、ラインブロックを説明する図である。ウェーブレット変換における分析フィルタリングは、処理対象となる2ラインの画像データまたは係数データから、1階層上の4つのサブバンドの係数データを1ラインずつ生成する。
【0035】
したがって、例えば、分割レベル数が4の場合、図3の斜線部分で示されるように、最上位階層である分割レベル4の各サブバンドの係数データを1ラインずつ得るためには、サブバンド3LLの係数データが2ライン必要である。
【0036】
サブバンド3LLを2ライン得る、すなわち、分割レベル3の各サブバンドの係数データを2ラインずつ得るためには、サブバンド2LLの係数データが4ライン必要である。
【0037】
サブバンド2LLを4ライン得る、すなわち、分割レベル2の各サブバンドの係数データを4ラインずつ得るためには、サブバンド1LLの係数データが8ライン必要である。
【0038】
サブバンド1LLを8ライン得る、すなわち、分割レベル1の各サブバンドの係数データを8ラインずつ得るためには、ベースバンドの係数データが16ライン必要である。
【0039】
つまり、分割レベル4の各サブバンドの係数データを1ラインずつ得るためには、16ラインのベースバンドの画像データが必要になる。
【0040】
この最低域成分のサブバンド(図3の例の場合4LL)の1ライン分の係数データを生成するために必要なライン数の画像データを、ラインブロック(またはプレシンクト)と称する。
【0041】
例えば、分割レベル数がMの場合、最低域成分のサブバンドの1ライン分の係数データを生成するためには、ベースバンドの画像データが2のM乗ライン必要になる。これがラインブロックのライン数である。
【0042】
なお、ラインブロックは、その1ラインブロックの画像データをウェーブレット変換して得られる各サブバンドの係数データの集合のことも示す。
【0043】
また、ラインとは、フレーム画像(ピクチャ)の1列分の水平方向の画素列や、サブバンドの1列分の水平方向の係数列のことを示す。この1ライン分の係数データを係数ラインとも称する。また、1ライン分の画像データを画像ラインとも称する。以下において、より詳細に区別して説明する必要がある場合、適宜表現を変える。
【0044】
また、1係数ライン(1ライン分の係数データ)が符号化された1ライン分の符号化データを符号ラインとも称する。
【0045】
このようなラインベース・ウェーブレット変換処理によれば、JPEG2000のタイル分割と同様、1枚のピクチャをより細かい粒度に分解して処理を行うことが可能となり、画像データの送受信時の低遅延化を図ることができる。さらに、ラインベース・ウェーブレット変換の場合、JPEG2000のタイル分割とは異なり、1つのベースバンド信号に対する分割ではなく、ウェーブレット係数での分割であるため、さらに、タイル境界でのブロックノイズ的な画質劣化が発生しないという特徴も有する。
【0046】
ここまで、ラインベース・コーデックの一例としての、ラインベース・ウェーブレット変換について説明を行った。なお、以下に説明する本発明の各実施形態は、ラインベース・ウェーブレット変換に限らず、例えばJPEG2000やMPEG4のような既存の階層符号化など、任意のラインベース・コーデックに適用可能である。
【0047】
図4は、本発明を適用した通信システムの実施の形態の構成例を示すブロック図である。
【0048】
図4において、通信システム20は、カメラ21およびカメラ制御装置22を備えて構成されている。カメラ21およびカメラ制御装置22の間は、例えば、IEEE802.11a,b,g,n,sなどの標準仕様に基づく無線通信や、Ethernet(登録商標)、NGN(Next Generation Network)などの汎用回線により接続されている。
【0049】
カメラ21は、被写体を撮像し、一連の画像データを生成して送信する送信装置としての機能を備える。カメラ制御装置22は、カメラ21に対する制御を行って、カメラ21から送信されてくる画像を受信する受信装置としての機能を備える。
【0050】
なお、カメラ21およびカメラ制御装置22が1対1の関係ではなく、例えば、1台のカメラ制御装置22が、複数台のカメラ21に対する制御を行って、複数台のカメラ21から送信されてくる画像を受信するように通信システム20を構成することができる。即ち、通信システム20は複数台のカメラ21を備えて構成されていてもよい。
【0051】
カメラ21は、撮像部31、符号化部32、送信メモリ部33、通信部34、および通信制御部35を備えて構成される。カメラ21としては、例えば、ビデオカメラや、動画撮影機能を有するデジタルスチルカメラ、パーソナルコンピュータ、携帯電話機、ゲーム機器などを採用することができる。
【0052】
撮像部31は、CCD(Charge Coupled Device)や、CMOS(Complementary Metal Oxide Semiconductor)センサなどの撮像素子を備えて構成され、撮像素子が撮像して得られる画像データを、符号化部32に供給する。
【0053】
符号化部32は、図1の符号化装置10に対応し、前述のラインベース・コーデックに従って画像データを符号化する。即ち、符号化部32は、撮像部31から供給された画像データを1フィールド内のNライン(Nは1以上)の符号化単位で符号化してデータ量を削減した後、符号化済みの画像データ(符号化データ)を送信メモリ部33に供給する。
【0054】
送信メモリ部33は、符号化部32から供給される符号化データを一時的に蓄積する。また、送信メモリ部33は、ネットワーク環境に応じてルーティング情報を管理し、例えば、通信システム20が複数台のカメラ21を有して構成される場合、他の端末(カメラ21)へのデータ転送を制御するルーティング機能を有してもよい。
【0055】
通信部34は、通信制御部35の制御に従って、カメラ制御装置22との通信を行う。例えば、通信部34は、通信制御部35による制御に応じたタイミングで、送信メモリ部33に蓄積されている符号化データを読み出してカメラ制御装置22に送信する。通信部34は、例えば、1ピクチャ分の符号化データを複数に分割し、それぞれ分割された符号化データを含む複数の通信パケットを生成して、一連の画像データを順次送信する。また、通信部34は、例えば、カメラ制御装置22からの通信パケットを受信した場合、受信した通信パケットを解析し、通信制御部35に渡すべき制御データを分離して、通信制御部35に出力する。
【0056】
通信制御部35は、経路制御やQoSによる無線回線などに関する制御を行うとともに、カメラ制御装置22との間で画像データの送信タイミングの調整を行う。より具体的には、通信制御部35は、カメラ制御装置22から送信される送信開始指示信号(制御データ)を、通信部34を介して受け取り、送信開始指示信号で指定された送信開始時刻に従って、通信パケットの送信を開始するように通信部34を制御する。これにより、通信部34は、送信メモリ部33に蓄積されているデータを読み出して通信パケットを生成し、送信開始時刻に従ったタイミングで送信する。
【0057】
カメラ制御装置22は、通信部41、受信メモリ部42、復号部43、出力部44、同期制御部45、および通信制御部46を備えて構成される。カメラ制御装置22としては、パーソナルコンピュータや、ビデオレコーダなどの家庭用の映像処理装置、通信装置、任意の情報処理装置など、カメラ21に対して画像データの送受信タイミングを決定するマスタとしての役割を果たす装置を採用することができる。
【0058】
通信部41は、通信制御部46の制御に従って、カメラ21との通信を行う。例えば、通信部41は、送信開始指示信号の送信を指示されると、送信開始指示信号を含む通信パケットを生成して、カメラ21に送信する。また、通信部41は、例えば、カメラ21から送信されてくる符号化データを含む通信パケットを受信した場合、その通信パケットから符号化データを取り出して受信メモリ部42に出力する。
【0059】
受信メモリ部42は、通信制御部46の制御に従って、通信部41から出力される符号化データを一時的に蓄積した後、所定の復号開始時点で復号部43に符号化データを出力する。受信メモリ部42では、通信制御部46から指定された復号開始時刻が、画像データの復号開始時点として決定される。
【0060】
復号部43は、受信メモリ部42から出力される符号化データを1フィールド内のNライン(Nは1以上)の単位で復号し、その復号の結果得られる画像データを出力部44に出力する。出力部44は、復号部43において復号された画像データに応じた画像を出力する。
【0061】
同期制御部45は、通信システム20内の装置間の画像データの送受信タイミングを制御するタイミングコントローラの役割を果たす。例えば、同期制御部45には、通信部41が受信した通信パケットに含まれているタイムスタンプ(例えば、回線制御レイヤ同期用タイムスタンプ)が、通信制御部46を介して供給される。同期制御部45は、そのタイムスタンプを参照して、回線を同期させるためのタイミングを示す同期信号を調整して出力する。同期制御部45は、典型的にはアプリケーション層の処理として実装される。
【0062】
通信制御部46は、通信制御部35と同様に、経路制御やQoSによる無線回線などに関する制御を行うとともに、同期制御部45から出力される同期信号に応じて、カメラ21との間で画像データの送信タイミングの調整を行う。
【0063】
この画像データの送受信タイミングの調整は、カメラ制御装置22において実行されているアプリケーションからの指示や、カメラ21からの同期要求信号の受信などをきっかけとして開始される。そして、通信制御部46は、同期制御部45の同期信号に応じて、画像データの送信開始時刻を指定する送信開始指示信号を、通信部41を介してカメラ21に送信し、画像データの復号開始時刻の指定を受信メモリ部42に対して行う。このとき、受信メモリ部42に対して指定される復号開始時刻は、カメラ21へ送信される画像データの送信開始時刻から、復号化単位ごとのデータ量の変動や通信経路のジッタなどの通信環境の変動により生じる遅延、ハードウェア遅延、またはメモリ遅延等を吸収するための時間を差し引いた時刻とする。
【0064】
このようにカメラ21およびカメラ制御装置22は構成されており、カメラ21において撮像された画像データがカメラ制御装置22に送信され、カメラ制御装置22において受信されて出力される。
【0065】
ここで、カメラ21およびカメラ制御装置22の間で、例えば、IP(Internet Protocol)に基づく通信を行う場合には、カメラ21では、通信部34が、送信メモリ部33から読み出した符号化データを含むIPパケットを生成し、符号化単位での一連の画像データの送信処理が実行される。
【0066】
図5を参照して、カメラ21とカメラ制御装置22との間で送受信する可能性のある通信データの一例としての、IPパケットのフレームフォーマットについて説明する。図5では、1つのIPパケットの内部構成が4段階に分けられて示されている。
【0067】
まず、IPパケットは、IPヘッダおよびIPデータから構成される。IPヘッダには、例えば、宛先IPアドレスなどのIPに基づく通信経路の制御に関する制御情報などが含まれる。
【0068】
IPデータは、さらにUDPヘッダ及びUDPデータから構成される。UDPは、リアルタイム性が重視される動画または音声データの配信時などに一般的に使用される、OSI参照モデルのトランスポート層のプロトコルである。UDPヘッダには、例えばアプリケーション識別情報である宛先ポート番号などが含まれる。
【0069】
UDPデータは、さらにRTPヘッダ及びRTPデータから構成される。RTPヘッダには、例えばシーケンス番号などのデータストリームのリアルタイム性を保証するための制御情報が含まれる。
【0070】
RTPデータは、画像データのヘッダ(以下、画像ヘッダという。)及びラインベース・コーデックに基づいて圧縮された画像本体である符号化データから構成される。符号化データは、1フィールド内のNライン(Nは1以上)に相当する符号化単位で画像データが符号化されたデータである。
【0071】
画像ヘッダには、例えばピクチャ番号やラインブロック番号(1ライン単位で符号化を行う場合にはライン番号)、サブバンド番号などの画像データに関する情報を含むことができる。なお、画像ヘッダは、ピクチャごとに付与されるピクチャヘッダと、ラインブロックごとに付与されるラインブロックヘッダにさらに分けて構成されてもよい。
【0072】
このように構成されているIPパケットが、カメラ21の通信部34から送信され、カメラ制御装置22の通信部41に受信される。そして、通信部41は、IPパケットに含まれている画像ヘッダおよび符号化データを抜き出し、受信メモリ部42に出力する。
【0073】
ここで、画像データでは、ピクチャごとにピクチャヘッダが付与されており、カメラ21の通信部34は、例えば、ピクチャの先頭に対応する符号化データを含むIPパケットの画像ヘッダにピクチャヘッダを含めて、そのIPパケットを送信する。以下、適宜、ピクチャヘッダが画像ヘッダに含まれているIPパケットを、ピクチャヘッダパケットと称する。
【0074】
図6には、ピクチャヘッダパケットについての概略的なデータ構造が示されている。ピクチャヘッダパケットには、例えば、RTPヘッダ、画像ヘッダ、および符号化データが配置されている。
【0075】
RTPヘッダには、V(Version Bit),P(Padding Bit),X(Extension Bit),CC(CSRC(Contributing Source) Count),M(Marker Bit),PT(Payload Type)、シーケンス番号、タイムスタンプ、SSRC(Synchronization Source Identifier:送信者識別子)が記述される。
【0076】
画像ヘッダは、全てのIPパケットに共通する共通部分と、ピクチャヘッダパケットに含まれるピクチャヘッダとで構成される。共通部分には、図5に示したように、ピクチャ番号、ラインブロック番号、サブバンド番号が記述される。
【0077】
ピクチャヘッダには、画像のサイズを示す画像サイズ情報、単位時間あたりに更新される画像の枚数を示すフレームレート、および、画像の画質を調整するための変数であるn個の画質調整パラメータ1乃至nが記述される。これらのピクチャヘッダに記述されている情報は、カメラ制御装置22の復号部43において符号化データを復号する際に参照される。
【0078】
符号化データは、IPパケットのペイロードに格納可能なサイズで格納される。例えば、ピクチャヘッダパケットには、ピクチャヘッダが含まれる分に応じて、ピクチャヘッダが含まれないIPパケットよりも少ないサイズの符号化データが格納される。
【0079】
次に、図7は、図4の受信メモリ部42の詳細な構成を示すブロック図である。
【0080】
図7に示すように、受信メモリ部42は、ヘッダ検出部51、蓄積制御部52、蓄積部53、ピクチャヘッダ蓄積部54、復号開始指示部55、および時間観測部56を備えて構成される。カメラ21から送信されてくる通信パケットを通信部41が受信すると、通信部41は、その通信パケットに含まれている画像ヘッダおよび符号化データを抜き出して、ヘッダ検出部51および蓄積制御部52にそれぞれ供給する。
【0081】
ヘッダ検出部51は、通信部41から供給されるデータに含まれる画像ヘッダを検出し、その画像ヘッダに含まれているピクチャ番号、ラインブロック番号、サブバンド番号を抽出する。また、ヘッダ検出部51は、所定のピクチャヘッダ観測区間(後述の図8参照)において、画像ヘッダにピクチャヘッダが含まれている場合、ピクチャヘッダを抽出する。
【0082】
例えば、ヘッダ検出部51は、画像ヘッダから抽出したピクチャ番号に基づいて、ピクチャの先頭位置を認識する。また、ヘッダ検出部51は、画像ヘッダから抽出したラインブロック番号に基づいて、その画像ヘッダが付加されている符号化データが、ピクチャ内のどのラインブロックに該当するのかを認識する。また、ヘッダ検出部51は、画像ヘッダから抽出したピクチャヘッダに基づいて、ピクチャヘッダパケットが受信されたことを認識する。
【0083】
そして、ヘッダ検出部51は、それらの認識した情報を、制御情報として蓄積制御部52および復号開始指示部55へ出力する。
【0084】
蓄積制御部52は、ヘッダ検出部51からの制御情報に従って、通信部41から供給される画像ヘッダおよび符号化データの蓄積部53への蓄積を制御する。また、蓄積制御部52は、ヘッダ検出部51からの制御情報に従って、画像ヘッダにピクチャヘッダが含まれている場合、その画像ヘッダおよび符号化データをピクチャヘッダ蓄積部54にも蓄積する。
【0085】
蓄積部53は、蓄積制御部52から供給される画像ヘッダおよび符号化データを一時的に蓄積する。ピクチャヘッダ蓄積部54は、ピクチャヘッダが含まれている画像ヘッダ、および、その画像ヘッダと同じ通信パケットに含まれていた符号化データを一時的に蓄積する。
【0086】
ここで、符号化データは、1フィールド内のNライン(Nは1以上)に相当する符号化単位で画像データが符号化されたものである。そして、蓄積部53では、符号化データそれぞれの画像上の位置(即ち、ピクチャ内のどのライン(またはラインブロック)に該当するか)に対応して、画像ヘッダおよび符号化データを蓄積する記憶領域が割り当てられている。従って、蓄積制御部52は、画像ヘッダおよび符号化データを蓄積部53に蓄積する際に、ヘッダ検出部51によって認識された画像上の位置に従って、その画像ヘッダおよび符号化データに割り当てられている記憶領域に蓄積する。
【0087】
また、例えば、カメラ21の通信部34が送信したピクチャヘッダパケットが伝送経路中でロスした場合、通信部41からヘッダ検出部51に、ピクチャヘッダを含む画像ヘッダが供給されないことになる。この場合、ヘッダ検出部51は、ピクチャヘッダを抽出することができず、所定のピクチャヘッダ観測区間(後述の図8参照)が経過してもピクチャヘッダを抽出することができなければ、ピクチャヘッダパケットがロスしたことを検出する。ヘッダ検出部51が、ピクチャヘッダパケットがロスしたことを検出すると、蓄積制御部52は、ピクチャヘッダ蓄積部54に蓄積されている画像ヘッダおよび符号化データを読み出して、蓄積部53に蓄積させ、ロスしたデータに替えて挿入する。
【0088】
上述したように、蓄積制御部52は、ピクチャヘッダが含まれている画像ヘッダおよび符号化データをピクチャヘッダ蓄積部54にも蓄積している。従って、カメラ制御装置22がピクチャヘッダパケットを既に受信している場合、ピクチャヘッダ蓄積部54には、ピクチャヘッダが含まれている画像ヘッダおよび符号化データが蓄積されている。従って、蓄積部53に蓄積中の符号化データに応じたピクチャのピクチャヘッダがロスしても、そのピクチャよりも前のピクチャのピクチャヘッダが、ロスしたピクチャヘッダの替わりに蓄積部53に蓄積される。
【0089】
なお、例えば、ピクチャヘッダ蓄積部54の保持内容は、最新のピクチャヘッダが含まれている画像ヘッダおよび符号化データに常に更新する他、例えば、ピクチャヘッダが含まれている画像ヘッダおよび符号化データを一度保持したら、その保持内容を維持し続けてもよい。また、一般的に、ピクチャヘッダパケットに含まれている符号化データ(画像データ)の情報量は多いので、符号化データについては、符号化データよりもデータ量の少ない既知のデータに置き換えて、符号化データ以外のデータ(画像ヘッダ)を、常に更新するようにしてもよい。
【0090】
復号開始指示部55は、図4の通信制御部46から設定された復号開始時刻を画像データの復号開始時点として決定する。そして、復号開始指示部55は、復号開始時後に、符号化単位(即ち、ラインまたはラインブロックの単位)での符号化データを蓄積部53から読み出して復号部43に供給するとともに、復号部43に対して復号開始を指示する。
【0091】
ここで、本実施形態では、ピクチャの先頭が認識された時点から予め設定された一定の時間が経過した後の時点が、復号開始時点として設定される。例えば、復号化単位ごとのデータ量の変動や通信経路のジッタの影響等による遅延を吸収できる時間を一定の時間として設定するのが好適である。
【0092】
時間観測部56は、復号開始指示部55からの制御を受けて、ピクチャヘッダの観測区間の時間を制御する。時間観測部56は、例えば、タイマーとして実装することができる。ピクチャヘッダの観測区間については、カメラ21とカメラ制御装置22の送受信処理タイミングがカメラ制御装置22より設定され、ラインベース・コーデックを使用していることより、観測区間を復号化単位ごとのデータ量の変動や通信経路のジッタの影響等による遅延を吸収できる時間で設定できるため、観測区間を狭く設定することが可能となる。
【0093】
ここで、図8を参照して、観測区間について説明する。
【0094】
図8には、カメラ21が、ピクチャヘッダパケットを送信するタイミングを示す送信タイミング、カメラ制御装置22が、その送信タイミングで送信されたピクチャヘッダパケットを受信する受信タイミング、および、受信メモリ部42に設定されるピクチャヘッダ観測区間が示されている。
【0095】
上述したように、カメラ21は、カメラ制御装置22からの送信開始指示信号で指定された送信開始時刻に従って画像データの送信を行い、1ピクチャごとに、ピクチャの先頭でピクチャヘッダパケットを送信する。カメラ21から送信されたピクチャヘッダパケットは、復号化単位ごとのデータ量の変動や通信経路のジッタなどの通信環境の変動により生じる遅延時間に応じて遅延して、カメラ制御装置22に受信される。
【0096】
そして、ピクチャヘッダ観測区間は、送信開始時刻からピクチャヘッダパケットの受信時刻までを含む所定の時間であって、1ピクチャ期間(1ピクチャ分の符号化データの送信に必要な時間)未満に設定される。
【0097】
例えば、従来の受信装置では、1ピクチャ期間が経過して次のピクチャのピクチャヘッダパケットを受信したときに、現在のピクチャのピクチャヘッダパケットがロスしたことを検出していた。従って、この場合、1ピクチャ期間が経過するまで復号処理を待機することになる。
【0098】
これに対し、カメラ制御装置22では、1ピクチャ期間よりも狭くピクチャヘッダ観測区間を設定することができ、ピクチャヘッダ観測区間内にピクチャヘッダパケットを検出することができなければ、ピクチャヘッダパケットがロスしたとして、1ピクチャ期間が経過するまで待機することなく復号処理を開始することができる。これにより、より低遅延で画像を出力することができる。また、このとき、受信済みのピクチャヘッダパケットに含まれているピクチャヘッダを利用して復号処理が行われるので、ピクチャヘッダを用いずに復号処理が行われる場合と比較して、高画質で復号することができる。即ち、ピクチャヘッダを用いずに復号処理が行われる場合には、画質が低下してしまうが、このような画質の低下を回避することができる。
【0099】
次に、図9乃至図12を参照して、カメラ21が画像データを送信する送信処理、および、カメラ制御装置22が画像データを受信する受信処理について説明する。
【0100】
次に、図9は、カメラ21が画像データを送信する送信処理を説明するフローチャートである。
【0101】
ステップS11において、通信部34は、カメラ制御装置22から送信されてくる送信開始指示信号を受信して通信制御部35に供給する。例えば、カメラ21が起動して撮像部31による撮像が開始されると処理が開始され、通信制御部35は、通信部34が送信開始指示信号を受信するまで処理を待機する。そして、通信部34が送信開始指示信号を受信して通信制御部35に供給すると、通信制御部35は、送信開始指示信号に含まれる送信開始時刻を取得し、処理はステップS12に進む。
【0102】
ステップS12において、通信制御部35は、ステップS11で取得した送信開始時刻に従って、送信開始時刻になったか否かを判定し、送信開始時刻になったと判定されるまで処理を待機する。その後、送信開始時刻になったと判定されると、処理はステップS13に進む。
【0103】
ステップS13において、通信制御部35は、画像データの符号化部32への出力を開始するように撮像部31に対する制御を行い、符号化部32は、撮像部31から出力された画像データを1フィールド内のNライン(Nは1以上)の符号化単位での符号化を開始する。そして、符号化部32は、画像データを符号化した符号化データを送信メモリ部33に出力し、送信メモリ部33には、通信経路および送信処理の進行状況に応じて符号化データが蓄積される。
【0104】
ステップS14において、通信制御部35は、符号化データのカメラ制御装置22への送信を待機するか否かを判定し、符号化データを送信するタイミングとなるまで処理を待機する。その後、符号化データを送信するタイミングとなると、カメラ制御装置22は、カメラ制御装置22に送信する通信パケットを生成するように、通信部34に対する制御を行う。これにより、通信部34は、送信メモリ部33から符号化データを読み出し、その符号化データを含む通信パケットの生成を開始する。
【0105】
ここで、例えば、ピクチャの先頭の画像に対応する符号化データを含む通信パケットを生成するとき、通信部34は、上述したようなピクチャヘッダを含む画像ヘッダと、符号化データとを含む通信パケットを生成する。
【0106】
ステップS15の処理後、処理はステップS16に進み、通信部34は、カメラ制御装置22に対して通信データを送信し、処理は終了される。
【0107】
次に、図10は、カメラ制御装置22が画像データを受信する受信処理を説明するフローチャートである。
【0108】
ステップS21において、通信制御部46は、同期制御部45からの同期信号に基づく時刻であって、復号部43が復号処理を開始する時刻を示す復号開始時刻を、受信メモリ部42の復号開始指示部55に対して指定し、処理はステップS22に進む。
【0109】
ステップS22において、通信制御部46は、同期制御部45からの同期信号に基づく時刻であって、カメラ21が画像データの送信を開始する時刻を示す送信開始時刻を含む送信開始指示信号を、通信部41を介してカメラ21に送信する。ステップS21で送信された送信開始指示信号が、図9のステップS11で受信される。
【0110】
ステップS22の処理後、処理はステップS23に進み、受信メモリ部42では、復号開始指示部55が、通信制御部46により指定された復号開始時刻に応じて、時間観測部56に対してピクチャヘッダ観測区間を設定する。これにより、時間観測部56はピクチャヘッダの観測区間のカウントを開始し、処理はステップS24に進む。
【0111】
ステップS24において、カメラ制御装置22では、カメラ21から送信されてくる通信パケットを通信部41が受信して、受信メモリ部42が画像ヘッダおよび符号化データを蓄積するデータ蓄積処理が開始される。データ蓄積処理については、図11を参照して後述する。
【0112】
ステップS25において、復号開始指示部55は、ステップS21で指定された復号開始時刻になったか否かを判定し、復号開始時刻になったと判定するまで処理を待機する。そして、ステップS25において、復号開始指示部55が復号開始時刻になったと判定した場合、処理はステップS26に進み、復号開始指示部55は、この時点において、復号対象のデータの受信が完了しているか否かを判定する。
【0113】
上述したように、本実施の形態では、ラインベース・コーデックを採用しており、例えば、復号開始指示部55は、ピクチャの先頭のラインブロックの画像に対応する符号化データが蓄積部53に蓄積されているか否かを検出する。そして、その符号化データが蓄積部53に蓄積されていれば、復号開始指示部55は、復号対象のデータの受信が完了しているか否かを判定する。
【0114】
ステップS26において、復号開始指示部55が、復号対象のデータの受信が完了していないと判定した場合、処理はステップS21に戻り、送受信対象の画像データについての送受信タイミングの再調整が行われ、以下、同様の処理が繰り返される。
【0115】
一方、ステップS26において、復号開始指示部55が、復号対象のデータの受信が完了していると判定した場合、処理はステップS27に進む。
【0116】
ステップS27において、復号開始指示部55は、蓄積制御部52を介して蓄積部53に蓄積されている復号対象の符号化データおよび画像ヘッダを読み出して復号部43に供給する。
【0117】
ステップS27の処理後、処理はステップS28に進み、符号化単位の復号処理が行われる。符号化単位の復号処理については、図12を参照して後述する。
【0118】
ステップS28の処理後、処理はステップS29に進み、復号開始指示部55は、ピクチャ内の全てのラインが復号されたか否かを判定する。
【0119】
ステップS29において、復号開始指示部55がピクチャ内の全てのラインが復号されていないと判定した場合、処理はステップS27に戻り、以下、同様の処理が繰り返される。即ち、この場合、ステップS27において、直前のステップS28で復号された符号化単位の次の符号化単位が復号処理の対称とされ、その符号化単位のデータが蓄積部53から読み出されて復号部43に供給され、符号化単位の復号処理が行われる。
【0120】
一方、ステップS29において、復号開始指示部55がピクチャ内の全てのラインが復号されたと判定した場合、処理は終了される。
【0121】
次に、図11は、図10のステップS24で処理が開始されるデータ蓄積処理を説明するフローチャートである。
【0122】
ステップS31において、ヘッダ検出部51は、通信部41が通信パケットを受信したか否かを判定し、通信部41が通信パケットを受信して、その通信パケットから取り出したデータを供給するまで、処理を待機する。
【0123】
通信部41からデータが供給されると、ステップS31において、ヘッダ検出部51は、通信部41が通信パケットを受信したと判定し、処理はステップS32に進み、ヘッダ検出部51は、通信部41から供給されるデータから画像ヘッダを検出する。そして、ヘッダ検出部51は、画像ヘッダに含まれている各種の情報を取得する。
【0124】
ステップS32の処理後、処理はステップS33に進み、ヘッダ検出部51は、ステップS32で検出した画像ヘッダにピクチャヘッダが含まれているか否かを判定する。
【0125】
ステップS33において、ヘッダ検出部51が、画像ヘッダにピクチャヘッダが含まれていると判定した場合、処理はステップS34に進む。ステップS34において、ヘッダ検出部51は、蓄積制御部52に対して、ピクチャヘッダが含まれている画像ヘッダを検出したことを示す制御情報を供給する。これにより、蓄積制御部52は、蓄積部53およびピクチャヘッダ蓄積部54に画像ヘッダおよび符号化データをそれぞれ蓄積するように制御を行う。
【0126】
一方、ステップS33において、ヘッダ検出部51が、画像ヘッダにピクチャヘッダが含まれていないと判定した場合、処理はステップS35に進む。ステップS35において、ヘッダ検出部51は、蓄積制御部52に対して、ピクチャヘッダが含まれている画像ヘッダを検出しなかったことを示す制御情報を供給する。これにより、蓄積制御部52は、蓄積部53に画像ヘッダおよび符号化データを蓄積するように制御を行う。
【0127】
ステップS34またはS35の処理後、処理はステップS36に進み、時間観測部56は、図10のステップS23でカウントを開始したピクチャヘッダ観測区間が経過したか否かを判定する。ステップS36において、時間観測部56が、ピクチャヘッダ観測区間が経過していないと判定した場合、処理はステップS31に戻り、以下、同様の処理が繰り返される。
【0128】
一方、ステップS36において、時間観測部56が、ピクチャヘッダ観測区間が経過したと判定した場合、時間観測部56はピクチャヘッダ観測区間が経過したことをヘッダ検出部51に通知し、処理はステップS37に進む。
【0129】
ステップS37において、ヘッダ検出部51は、ピクチャヘッダパケットがロスしたか否かを判定する。例えば、ヘッダ検出部51は、ステップS37の処理が行われた時点までに、ステップS33においてピクチャヘッダが含まれているという判定を行っていれば、ピクチャヘッダパケットがロスしていないと判定する。
【0130】
ステップS37において、ヘッダ検出部51が、ピクチャヘッダパケットがロスしたと判定した場合、処理はステップS38に進み、蓄積制御部52は、ピクチャヘッダ蓄積部54にピクチャヘッダが保持されているか否かを判定する。例えば、現在のピクチャより前のピクチャを受信する処理においてピクチャヘッダが受信されていれば、ピクチャヘッダ蓄積部54にピクチャヘッダが保持されている。
【0131】
ステップS38において、蓄積制御部52がピクチャヘッダ蓄積部54にピクチャヘッダが保持されていると判定した場合、処理はステップS39に進む。ステップS39において、蓄積制御部52は、ピクチャヘッダ蓄積部54に蓄積されている画像ヘッダおよび符号化データを読み出して、蓄積部53に挿入する。
【0132】
一方、ステップS37でピクチャヘッダパケットがロスしていないと判定された場合、ステップS38でピクチャヘッダ蓄積部54にピクチャヘッダが保持されていないと判定された場合、または、ステップS39の処理後、処理はステップS40に進む。
【0133】
ステップS40以降では、残りの全てのラインのデータを受信するまで、蓄積部53に画像ヘッダおよび符号化データを蓄積する処理が繰り返される。即ち、ステップS40では、ステップS31の処理と同様に、通信部41が通信パケットを受信したと判定されるまで処理が待機され、ステップS42では、ステップS32の処理と同様に、画像ヘッダが検出される。そして、ステップS42では、ステップS35の処理と同様に、蓄積部53に画像ヘッダおよび符号化データが蓄積される。
【0134】
その後、ステップS43において、ヘッダ検出部51は、全てのラインのデータを受信したか否かを判定し、全てのラインのデータを受信していないと判定した場合、処理はステップS40に戻り、以下、同様の処理が繰り返される。一方、ステップS43において、全てのラインのデータを受信したと判定された場合、処理は終了される。
【0135】
次に、図12は、図10のステップS28における符号化単位の復号処理を説明するフローチャートである。
【0136】
ステップS51において、復号部43は、図10のステップS27で復号開始指示部55が蓄積部53から読み出して出力した画像データ(符号化データおよび画像ヘッダ)を受信し、処理はステップS52に進む。
【0137】
ステップS52において、復号開始指示部55は、符号化単位での許容復号時間を計測する。ここで、符号化単位での許容復号時間とは、1つの符号化単位の画像データを表示するために費やすことのできる時間を意味する。一例として、1080/60p(画面サイズ2200x1125、60fpsのプログレッシブ方式)の映像を復号する場合、1ラインの表示に費やせる時間は、ブランク時間を考慮すると約14.8[μs]、ブランク時間を考慮しないと約15.4[μs]となる。そして、符号化単位がNライン分のラインブロックであった場合には、符号化単位での許容復号時間は、前述の1ラインの表示に費やせる時間のN倍となる。
【0138】
ステップS52の処理後、処理はステップS53に進み、復号開始指示部55は、符号化単位での処理時間が終了するまでに蓄積部53から復号部43への画像データの転送が終了するかどうかを判定する。
【0139】
ステップS53において、復号開始指示部55が符号化単位での処理時間が終了するよりも早く画像データの転送が終了すると判定した場合、即ち、想定されるよりも少ない画像データしか受信されていなかった場合は、処理はステップS54に進む。
【0140】
ステップS54において、復号開始指示部55は、当該画像データの受信完了を待つことなくダミーデータを当該ライン(またはラインブロック)へ挿入する。即ち、この場合、復号の対象となる画像データの受信が通信の遅延などの原因により完了していないことが考えられ、このとき、復号の対象となる画像データの受信完了を待つと同期タイミングがずれて画像の表示が遅延するため、ダミーデータの挿入が行われる。ここで挿入されるダミーデータとしては、例えば1ピクチャ前(またはそれ以前)の同一ライン(またはラインブロック)の画像データを用いることができる。なお、ダミーデータとしては、かかる例に限定されず、固定の画像データや、動き保証などにより予測したデータなど、任意のデータを用いることができる。
【0141】
一方、ステップS53において、復号開始指示部55が符号化単位での処理時間が終了するよりも早く画像データの転送が終了しないと判定した場合、処理はステップS55に進む。
【0142】
ステップS55において、復号開始指示部55は、画像データの転送が終了する前に符号化単位での許容復号時間が終了するか否かを判定する。ステップS55において、復号開始指示部55が画像データの転送が終了する前に符号化単位での許容復号時間が終了しないと判定した場合、処理はステップS53に戻り、以下、同様の処理が繰り返される。
【0143】
一方、ステップS55において、復号開始指示部55が画像データの転送が終了する前に符号化単位での許容復号時間が終了したと判定された場合、処理はステップS56に進む。
【0144】
ステップS56において、復号開始指示部55は、蓄積部53に復号対象の画像データが残っているか否かを判定する。ステップS55において、復号開始指示部55が蓄積部53に復号対象の画像データが残っていると判定した場合、処理はステップS57に進み、復号開始指示部55は、蓄積部53に残っている画像データを削除する。
【0145】
一方、ステップS56において、蓄積部53に復号対象の画像データが残っていないと判定された場合、ステップS57の処理後、または、ステップS54の処理後、処理は終了される。
【0146】
なお、ステップS55において、1つの符号化単位での処理時間が終了した際に、時間計測用のカウンタを一時停止またはリセットすることなく連続的に動作させながら、次の復号化単位での復号指示を行うのが好適である。そうすることにより、例えばラインブロックごとの符号化単位での復号タイミングがばらつくことなく復号処理が行われる。
【0147】
また、その代わりに、時間計測用のカウンタとは別にカメラ制御装置22内に時間制御部(図示せず)を設け、例えばステップS54において、符号化単位ごとの処理開始、終了のタイミングを当該時間制御部から受信メモリ部42または復号部43へ通知させてもよい。
【0148】
そして、復号化単位での復号処理は、ピクチャ内の全てのラインの処理が終了するまで繰り返され、全てのラインの処理が終了した時点で受信処理は終了する。
【0149】
以上のように、カメラ制御装置22では、ピクチャのデコード情報が含まれるピクチャヘッダパケットがロスした際に、ピクチャヘッダ蓄積部54に保持されている画像ヘッダおよび符号化データを蓄積部53に挿入して、画像ヘッダおよび符号化データを補完することができる。これにより、復号部43では、補完された画像ヘッダおよび符号化データを利用して復号処理を行うことができ、ピクチャヘッダパケットがロスすることによる画質の低下を回避することができる。
【0150】
また、カメラ制御装置22が、カメラ21とカメラ制御装置22との送受信処理タイミングを設定し、ピクチャヘッダ観測区間を狭く設定することができるので、ピクチャヘッダパケットがロスした場合の待機時間を短くすることができ、低遅延で画像を出力することができる。
【0151】
特に、通信システム20では、ラインベース・コーデックによる低遅延という特徴を活かすことができ、エラーが発生するようなネットワーク環境においても低遅延で高画質な画像を伝送することができる。
【0152】
また、例えば、通信システム20が複数のカメラ21を備えて構成される場合、カメラ制御装置22側で複数の画像データの管理または統合をする際に、カメラ制御装置22がタイミングコントローラの役割を果たし、画像データ間での同期を合わせることができる。
【0153】
また、同期制御部45は、通信環境の変動を吸収するための時間間隔を前述の送信開始時刻との間に有する復号開始時刻を受信メモリ部42内の復号開始指示部55に対して指定する。そして、受信メモリ部42の復号開始指示部55は、指定された復号開始時刻に基づいて復号開始時点を決定し、画像データの復号化単位での復号開始の指示を行う。また、ピクチャヘッダがロスした際には、ピクチャヘッダ蓄積部54が保持していたピクチャヘッダにより補完することで、同期を合わせて送信された画像データについて、通信環境の変動、ロスなどの影響を吸収しながら、安定して同期された状態で復号を行うことができる。
【0154】
なお、通信システム20において、通信部34および41は、TDMA(Time Division Multiple Access)方式やCSMA(Carrier Sense Multiple Access)方式でのMAC(Media Access Control)層の制御を行う。また、通信制御部35および46は、キャリアではなくプリアンブルの相関からパケットを識別するPSMA(Preamble Sense Multiple Access)に基づくMAC層の制御を行う。
【0155】
さらに、通信システム20では、通信パケットを利用して送信開始信号(制御データ)を送受信することにより送信開始時刻を指定する他、別系統でタイミング信号を使用することで、送信開始時刻を指定してもよい。
【0156】
また、ピクチャヘッダ観測区間が経過したタイミングで、ピクチャヘッダパケットがロスしたことを検出する他、ピクチャヘッダ観測区間中であっても、パケット番号を監視することにより、ピクチャヘッダパケットのロスを検出することができる。例えば、ピクチャ番号が0〜10(ピクチャ番号が0のパケットがピクチャヘッダパケットである)で動作しているとき、ピクチャヘッダ観測区間中にパケット番号が8,9,10,1のような順番でパケットを受信されたとする。このとき、パケット番号が1のパケットを受信したときに、ピクチャヘッダパケットがロスしたと検出し、ピクチャヘッダパケットの補完を行うように動作させることができる。これにより、ピクチャヘッダパケットがロスしたことを検出するタイミングを早くすることができ、より低遅延で復号処理を開始することができる。
【0157】
なお、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0158】
図13は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0159】
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
【0160】
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、キーボード、マウス、マイクロホンなどよりなる入力部106、ディスプレイ、スピーカなどよりなる出力部107、ハードディスクや不揮発性のメモリなどよりなる記憶部108、ネットワークインタフェースなどよりなる通信部109、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111を駆動するドライブ110が接続されている。
【0161】
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
【0162】
コンピュータ(CPU101)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア111に記録して、あるいは、ローカルエリアネットワーク、インタネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0163】
そして、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
【0164】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【0165】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0166】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0167】
10 符号化装置, 11 ウェーブレット変換部, 12 途中計算用バッファ部, 13 係数並び替え用バッファ部, 14 係数並び替え部, 15 量子化部, 16 エントロピ符号化部, 20 通信システム, 21 カメラ, 22 カメラ制御装置, 31 撮像部, 32 符号化部, 33 送信メモリ部, 34 通信部, 35 通信制御部, 41 通信部, 42 受信メモリ部, 43 復号部, 44 出力部, 45 同期制御部, 46 通信制御部, 51 ヘッダ検出部, 52 蓄積制御部, 53 蓄積部, 54 ピクチャヘッダ蓄積部, 55 復号開始指示部, 56 時間観測部
【特許請求の範囲】
【請求項1】
画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置から送信された前記通信パケットを受信する受信手段と、
前記受信手段により受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを蓄積する第1の蓄積手段と、
所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記受信手段が受信した前記通信パケットの画像ヘッダから検出する検出手段と、
前記検出手段により検出された前記ピクチャヘッダを蓄積する第2の蓄積手段と、
前記観測区間内に、前記検出手段により前記ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させる制御手段と
を備える受信装置。
【請求項2】
前記送信装置に対して、前記通信パケットの送信を開始する時刻を指示する送信開始指示手段をさらに備え、
前記観測区間は、前記送信開始指示手段により指示される時刻から所定の時間であって、かつ、1画像分の前記符号化データの送信に必要な時間未満に設定される
請求項1に記載の受信装置。
【請求項3】
前記符号化データは、ラインベース・コーデックにより符号化されたものである
請求項1に記載の受信装置。
【請求項4】
前記第2の蓄積手段に、前記ピクチャヘッダが蓄積されているか否かを判定する判定手段をさらに備え、
前記制御手段は、前記判定手段により前記第2の蓄積手段に前記ピクチャヘッダが蓄積されていると判定された場合に、前記第2の蓄積手段に蓄積されているピクチャヘッダを前記第1の蓄積手段に蓄積させる
請求項1に記載の受信装置。
【請求項5】
前記第2の蓄積手段は、前記検出手段により前記ピクチャヘッダが検出されるたびに、蓄積内容を更新する
請求項1に記載の受信装置。
【請求項6】
前記第2の蓄積手段は、前記ピクチャヘッダを含む前記画像ヘッダを蓄積するとともに、前記ピクチャヘッダと同一の前記通信パケットに含まれている前記符号化データ、または、前記符号化データよりもデータ量の少ない既知のデータを蓄積する
請求項1に記載の受信装置。
【請求項7】
画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置から送信された前記通信パケットを受信し、
前記受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを第1の蓄積手段に蓄積し、
所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記通信パケットの画像ヘッダから検出し、
前記検出された前記ピクチャヘッダを第2の蓄積手段に蓄積し、
前記観測区間内に、ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させる
ステップを含む受信方法。
【請求項8】
画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置と、
前記送信装置から送信された前記通信パケットを受信する受信手段と、
前記受信手段により受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを蓄積する第1の蓄積手段と、
所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記受信手段が受信した前記通信パケットの画像ヘッダから検出する検出手段と、
前記検出手段により検出された前記ピクチャヘッダを蓄積する第2の蓄積手段と、
前記観測区間内に、前記検出手段により前記ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させる制御手段と
を有する受信装置と
を備える通信システム。
【請求項1】
画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置から送信された前記通信パケットを受信する受信手段と、
前記受信手段により受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを蓄積する第1の蓄積手段と、
所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記受信手段が受信した前記通信パケットの画像ヘッダから検出する検出手段と、
前記検出手段により検出された前記ピクチャヘッダを蓄積する第2の蓄積手段と、
前記観測区間内に、前記検出手段により前記ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させる制御手段と
を備える受信装置。
【請求項2】
前記送信装置に対して、前記通信パケットの送信を開始する時刻を指示する送信開始指示手段をさらに備え、
前記観測区間は、前記送信開始指示手段により指示される時刻から所定の時間であって、かつ、1画像分の前記符号化データの送信に必要な時間未満に設定される
請求項1に記載の受信装置。
【請求項3】
前記符号化データは、ラインベース・コーデックにより符号化されたものである
請求項1に記載の受信装置。
【請求項4】
前記第2の蓄積手段に、前記ピクチャヘッダが蓄積されているか否かを判定する判定手段をさらに備え、
前記制御手段は、前記判定手段により前記第2の蓄積手段に前記ピクチャヘッダが蓄積されていると判定された場合に、前記第2の蓄積手段に蓄積されているピクチャヘッダを前記第1の蓄積手段に蓄積させる
請求項1に記載の受信装置。
【請求項5】
前記第2の蓄積手段は、前記検出手段により前記ピクチャヘッダが検出されるたびに、蓄積内容を更新する
請求項1に記載の受信装置。
【請求項6】
前記第2の蓄積手段は、前記ピクチャヘッダを含む前記画像ヘッダを蓄積するとともに、前記ピクチャヘッダと同一の前記通信パケットに含まれている前記符号化データ、または、前記符号化データよりもデータ量の少ない既知のデータを蓄積する
請求項1に記載の受信装置。
【請求項7】
画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置から送信された前記通信パケットを受信し、
前記受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを第1の蓄積手段に蓄積し、
所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記通信パケットの画像ヘッダから検出し、
前記検出された前記ピクチャヘッダを第2の蓄積手段に蓄積し、
前記観測区間内に、ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させる
ステップを含む受信方法。
【請求項8】
画像データを符号化した符号化データと、前記画像データに関する情報が含まれる画像ヘッダとを含む通信パケットを、画像の先頭に対応する前記符号化データから順に送信する送信装置と、
前記送信装置から送信された前記通信パケットを受信する受信手段と、
前記受信手段により受信された通信パケットに含まれる前記符号化データおよび前記画像ヘッダを蓄積する第1の蓄積手段と、
所定の観測区間において、前記符号化データのうちの画像の先頭に対応する符号化データとともに送信されるピクチャヘッダを、前記受信手段が受信した前記通信パケットの画像ヘッダから検出する検出手段と、
前記検出手段により検出された前記ピクチャヘッダを蓄積する第2の蓄積手段と、
前記観測区間内に、前記検出手段により前記ピクチャヘッダが検出されなかった場合、前記第2の蓄積手段に蓄積されているピクチャヘッダを読み出して、前記第1の蓄積手段に蓄積させる制御手段と
を有する受信装置と
を備える通信システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2011−259249(P2011−259249A)
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願番号】特願2010−132459(P2010−132459)
【出願日】平成22年6月9日(2010.6.9)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願日】平成22年6月9日(2010.6.9)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]