(57)【要約】【課題】  従来の動画のストリーム伝送では、送信装置側で送信処理が滞る場合に、フレーム送信スキップ及びＧＯＰ単位の送信スキップを行うため、動画の送信が停止する時間が長いという課題があった。【解決手段】  画像伝送装置であって、画像を符号化ブロック単位で符号化する符号化手段と、前記符号化手段によって符号化された画像の符号化データを送信する送信手段と、送信バッファの空き容量に関する情報を取得する第１の取得手段と、前記符号化ブロックを複数含む領域であって、前記符号化手段によって前記領域単位で並行処理が可能な領域であるタイルの優先度を取得する第２の取得手段と、前記第１の取得手段によって取得された前記送信バッファの空き容量に関する情報と、前記第２の取得手段によって取得された処理対象のタイルの優先度とに基づいて、前記処理対象のタイルに対応するデータを送信するよう前記送信手段を制御する制御手段とを有する。【選択図】  図５
2015095733.tif 000002
【特許請求の範囲】
【請求項１】
送信バッファに蓄積された画像を伝送する画像伝送装置であって、
前記画像を符号化ブロック単位で符号化する符号化手段と、
前記符号化手段によって符号化された画像の符号化データを送信する送信手段と、
前記送信バッファの空き容量に関する情報を取得する第１の取得手段と、
前記符号化ブロックを複数含む領域であって、前記符号化手段によって前記領域単位で並行処理が可能な領域であるタイルの優先度を取得する第２の取得手段と、前記第１の取得手段によって取得された前記送信バッファの空き容量に関する情報と、前記第２の取得手段によって取得された処理対象のタイルの優先度とに基づいて、前記処理対象のタイルに対応するデータを送信するよう前記送信手段を制御する制御手段と
を有する画像伝送装置。
【請求項２】
前記制御手段は、前記送信バッファに前記符号化されたタイルを格納可能でない場合に、前記タイルの優先度に基づいて、前記処理対象のタイルに対応するデータを送信するよう前記送信手段を制御することを特徴とする請求項１に記載の画像伝送装置。
【請求項３】
前記制御手段は、前記送信バッファの空き容量が所定の値より小さい場合に、前記符号化手段によって符号化された、前記画像のうちの選択されたタイルの符号化データを送信するよう前記送信手段を制御することを特徴とする請求項２に記載の画像伝送装置。
【請求項４】
さらに、前記送信手段によって送信される対象の画像のデータサイズと、前記送信バッファの空き容量に関する情報とに基づいて、送信対象のタイルの優先度を取得する第３の取得手段を有し、
前記制御手段は、前記第２の取得手段によって取得された前記処理対象のタイルの優先度が、前記第３の取得手段によって取得された前記送信対象のタイルの優先度よりも低い場合に、前記符号化手段によって符号化した前記処理対象のタイルの符号化データを除くデータを送信するよう前記送信手段を制御することを特徴とする請求項３に記載の画像伝送装置。
【請求項５】
前記制御手段は、前記第２の取得手段によって取得された前記処理対象のタイルの優先度が、前記第３の取得手段によって取得された前記送信対象のタイルの優先度よりも低い場合に、前記符号化手段によって符号化した前記処理対象のタイルの符号化データが無いことを示す情報を送信するよう前記送信手段を制御することを特徴とする請求項３又は請求項４の何れか一項に記載の画像伝送装置。
【請求項６】
前記制御手段は、前記第２の取得手段によって取得された前記処理対象のタイルの優先度が、前記第３の取得手段によって取得された前記送信対象のタイルの優先度よりも高い場合に、前記符号化手段によって符号化した前記処理対象のタイルの符号化データを送信するよう前記送信手段を制御することを特徴とする請求項３乃至請求項５の何れか一項に記載の画像伝送装置。
【請求項７】
前記第２の取得手段によって取得されるタイルの優先度は、前記画像をオブジェクト解析した結果に基づくことを特徴とする請求項４乃至請求項６の何れか一項に記載の画像伝送装置。
【請求項８】
前記符号化手段は、前記送信バッファが前記符号化されたタイルを格納可能でない状態から、格納可能である状態に変化した場合に、前記送信手段によって送信されなかったタイルをフレーム内予測を用いて符号化することを特徴とする請求項１乃至請求項７の何れか一項に記載の画像伝送装置。
【請求項９】
さらに、前記符号化手段によって符号化されたタイルの符号化データを蓄積する蓄積手段を有し、
前記制御手段は、前記送信バッファが前記符号化されたタイルを格納可能でない状態から格納可能である状態に変化した場合に、前記送信手段によって送信されなかったタイルを符号化した符号化データを送信するか、または、前記蓄積手段によって蓄積された符号化データを送信するかを判定し、判定の結果に基づいて符号化データを送信するよう送信手段を制御することを特徴とする請求項８に記載の画像伝送装置。
【請求項１０】
前記制御手段は、前記送信バッファが前記符号化されたタイルを格納可能でない状態から格納可能である状態に変化した場合に、前記蓄積手段によって蓄積された符号化データのタイル数に基づいて、前記送信手段によって送信されなかったタイルを符号化した符号化データを送信するか、または、前記蓄積手段によって蓄積された符号化データを送信するかを判定し、判定の結果に基づいて符号化データを送信するよう送信手段を制御することを特徴とする請求項９に記載の画像伝送装置。
【請求項１１】
前記制御手段は、前記送信バッファが前記符号化されたタイルを格納可能でない状態から格納可能である状態に変化した場合に、前記送信手段によって送信されなかったタイル数に基づいて、前記送信手段によって送信されなかったタイルを符号化した符号化データを送信するか、または、前記蓄積手段によって蓄積された符号化データを送信するかを判定し、判定の結果に基づいて符号化データを送信するよう送信手段を制御することを特徴とする請求項９又は請求項１０の何れか一項に記載の画像伝送装置。
【請求項１２】
送信バッファに蓄積された画像を伝送する画像伝送方法であって、
前記画像を符号化ブロック単位で符号化する符号化工程と、
前記符号化工程によって符号化された画像の符号化データを送信する送信工程と、
前記送信バッファの空き容量に関する情報を取得する第１の取得工程と、
前記符号化ブロックを複数含む領域であって、前記符号化工程によって前記領域単位で並行処理が可能な領域であるタイルの優先度を取得する第２の取得工程と、前記第１の取得工程によって取得された前記送信バッファの空き容量に関する情報と、前記第２の取得工程によって取得された処理対象のタイルの優先度とに基づいて、前記処理対象のタイルに対応するデータを送信するよう前記送信工程を制御する制御工程と
を有する画像伝送方法。
【請求項１３】
コンピュータを、請求項１に記載の画像伝送装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データをタイル単位で分割してネットワークを介した伝送を行う画像伝送装置、画像伝送方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、インターネット等のネットワークに動画データをリアルタイムにストリーム伝送する技術が知られており、このような技術は、例えばＴＶ会議システムや監視カメラシステム等で用いられている。
【０００３】
ストリーム伝送される動画は圧縮符号化（以下、符号化と称す）されてから伝送されるが、代表的な動画符号化方式としてＨ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下、Ｈ．２６４と称す）が知られている。Ｈ．２６４を始めとした動画符号化方式では、所謂フレーム間予測を用いて符号化を行う。そして、動画をフレーム間予測を用いて符号化することにより生成された符号化データは、一つのフレームデータのみで該フレームデータを復号可能な所謂キーフレームと、別フレームデータを参照することでフレームデータを復号可能なフレームとで構成される。ここで、キーフレームから次のキーフレームのひとつ前のフレームまでのフレーム群は、まとめてＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）と呼ばれる。
【０００４】
また、近年、ＪＣＴ−ＶＣ（Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）では、Ｈ．２６４の後継としてＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）の標準化が進められている。ＨＥＶＣではＨ．２６４と同様に、フレーム間予測を用いて符号化を行うことができる。そして、ＨＥＶＣではＨ．２６４と異なる要素の一つとして、符号化する動画の１フレームを空間的に格子状の領域に分割して符号化・復号の並列処理等を可能にする、ｔｉｌｅ（タイル）と呼ばれる手法がある（非特許文献１）。タイルを用いることによって、符号化・復号の並列処理による高速化を実現することが可能である。また、タイル単位の符号化を用いることで所謂ＲＯＩ（Ｒｅｇｉｏｎ  Ｏｆ  Ｉｎｔｅｒｅｓｔ）の機能を動画符号化方式に組み込むことができる。また、タイル技術は、ＪＰＥＧ２０００符号化方式でも採用されているが、ＪＰＥＧ２０００符号化方式のタイルには、一部のタイルだけを復号してＲＯＩとする方法については記載されていない。
【０００５】
一方、従来、リアルタイムな動画のストリーム伝送では、ストリーム伝送プロトコルとしてＲＴＳＰ／ＲＴＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｃｏｌ／Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）が用いられている。該ＲＴＳＰ／ＲＴＰ等を用いた動画のストリーム伝送では、ネットワークの輻輳や、送信装置による符号化処理負荷、受信装置による復号処理負荷の増加を抑制し、カメラによる撮像から受信装置が再生するまでの遅延を抑制することが要求される。
【０００６】
そして、従来よりも多画素の画像（動画）をＨＥＶＣ等の符号化方式を用いて符号化し、符号化された動画データをＲＴＳＰ／ＲＴＰを用いてリアルタイムにストリーム伝送する場合、動画の復号処理の負荷は従来よりも大きくなる。即ち、復号処理が高負荷となることで、復号処理とストリームの受信が符号化データの伝送速度に間に合わない可能性がある。そして、このように復号処理が高負荷となる場合、結果としてストリーム伝送が滞ることとなる。
【０００７】
さらに、ストリーム伝送の滞りが発生する例について説明する。ストリーム伝送の滞りは、通信プロトコル（通信方式）としてＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）よりもＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いた通信で発生し易い。尚、ＴＣＰを用いるストリーム伝送プロトコルの例としては、ＲＴＳＰ／ＲＴＰ  ｏｖｅｒ  ＴＣＰが挙げられる。ＴＣＰを用いたストリーム伝送において、受信装置側でパケット受信が遅延すると、パケット受信が成功したことを知らせるためのＡＣＫパケットの返信も遅延し、送信装置側では該ＡＣＫパケットの受信を待機し続けるために、次のパケット送信も遅延する。このように、送信装置側のパケット送信の遅延が蓄積することにより該送信装置の送信パケットバッファが満杯（又はバッファの空き容量が所定数以下）になると、新たなパケット送信処理が一時的に不可能（送信失敗）となる。このような送信装置側でのパケット送信の失敗は、ストリーム伝送の滞りが発生する原因となる。
【０００８】
従来、送信装置側でパケット送信が失敗した場合、ストリーム伝送処理の滞りを抑制するために、該パケットを含む送信対象のフレームデータの送信をスキップする処理（以下、フレーム送信スキップと称す）を行う方法が用いられていた（非特許文献２）。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ｄ２２７  インターネット＜ｈｔｔｐ：／／ｐｈｏｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝１６６４＞
【非特許文献２】ＪＣＴ−ＶＣ  寄書  ＪＣＴＶＣ−Ｊ００５７  インターネット＜ｈｔｔｐ：／／ｐｈｏｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝５９２０＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述した従来の方法においてフレーム送信スキップを行う場合、スキップされたフレームデータの一部は送信装置側から送信されない。このため、該フレームデータのその他の一部を受信した受信装置は、該フレームデータを再生することができず、動画が途切れてしまうことがある。また、スキップされるフレームデータがフレーム内予測を用いて符号化されたデータであれば、送信装置はスキップされるフレームデータを含むＧＯＰ単位でデータの送信をスキップする処理（以下、ＧＯＰ送信スキップと称す）を行うことになる。このように、ＧＯＰ送信スキップを行うと、当該ＧＯＰ送信スキップを行ってから次のＧＯＰが生成されるまで動画の送信が停止されてしまい、動画が途切れてしまう時間はフレーム送信スキップを行った場合よりも長くなる。
【００１１】
従って、従来のリアルタイムな動画のストリーミング伝送では、送信装置側でストリーム送信処理が滞る場合に、フレーム送信スキップ又はＧＯＰ送信スキップを用いると動画の停止時間が長くなってしまうという課題がある。
【００１２】
本発明は上記の課題を鑑みて提案されたものであり、本発明は送信装置によりタイル単位でデータの送信をスキップすることで、受信装置側で動画の再生時に発生するフレーム単位及びＧＯＰ単位の動画再生の途切れを抑制することを目的とする。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために、本発明の画像伝送装置は、下記の構成を有する。即ち、送信バッファに蓄積された画像を伝送する画像伝送装置であって、前記画像を符号化ブロック単位で符号化する符号化手段と、前記符号化手段によって符号化された画像の符号化データを送信する送信手段と、前記送信バッファの空き容量に関する情報を取得する第１の取得手段と、前記符号化ブロックを複数含む領域であって、前記符号化手段によって前記領域単位で並行処理が可能な領域であるタイルの優先度を取得する第２の取得手段と、前記第１の取得手段によって取得された前記送信バッファの空き容量に関する情報と、前記第２の取得手段によって取得された処理対象のタイルの優先度とに基づいて、前記処理対象のタイルに対応するデータを送信するよう前記送信手段を制御する制御手段とを有する。
【発明の効果】
【００１４】
本発明により、送信装置によりタイル単位でデータの送信をスキップすることができる。即ち、スキップするタイルが含まれるフレーム内の、当該スキップするタイル以外のタイルは送信することができるため、優先度が高いタイル部分の動画を連続フレームとして送信することが可能である。このため、受信装置側で動画を再生したときに発生する動画再生の途切れを抑制することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の各実施形態に係る、送信装置と受信装置との接続状態を示す図
【図２】実施形態１に係る、ネットワークカメラ１０１（画像伝送装置）の構成を示すブロック図
【図３】動画フレームのタイル分割と各タイルの優先度とを示す図
【図４】実施形態１に係る、送信バッファ２０６の空き容量と各タイルに設定された優先度とに応じたタイルデータ送信処理のフロー図
【図５】実施形態１に係る、選択的タイル送信処理の詳細フロー図
【図６】実施形態２に係る、選択的タイル送信処理の詳細フロー図
【図７】実施形態３に係る、選択的タイル送信処理の詳細フロー図
【図８】実施形態４に係る、選択的タイル送信処理の詳細フロー図
【図９】実施形態４に係る、選択的タイル送信処理の別の例の詳細フロー図
【図１０】実施形態４に係る、送信バッファ２０６の空き容量と各タイルに設定された優先度とに応じたタイルデータの送信処理のフロー図
【図１１】本発明の画像伝送装置に適用可能なコンピュータのハードウェア構成例
【発明を実施するための形態】
【００１６】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。尚、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１７】
また、以下の実施形態では、タイル形式で処理が可能なＨＥＶＣを用いて動画データを符号化する符号化部を備えるネットワークカメラが、動画を再生可能な複数のクライアントにリアルタイムにストリーム配信を行っている状況について説明する。尚、以下の実施形態におけるネットワークカメラに備わっている符号化部は、動画データ（画像）を符号化ブロック単位で符号化するものとする。また、タイルは符号化ブロックを複数含む領域のことであり、タイル形式で処理が可能であるということはこの領域単位で並行処理が可能であることを示す。また、以下の実施形態では、通信プロトコルとしてＴＣＰを使用した例を説明する。
【００１８】
尚、ネットワークカメラとクライアントとの間のネットワーク接続、配信メディア情報のやり取り、ストリーム送信の開始処理、停止処理については従来方法と同様であるので説明を行わない。
【００１９】
＜実施形態１＞
本実施形態では、動画ストリームをＴＣＰで伝送するＲＴＳＰ／ＲＴＰ  ｏｖｅｒ  ＴＣＰをストリーム伝送のプロトコルとして用いる。以下、受信装置において多画素動画データの復号処理が高負荷であるために、パケット受信とＴＣＰにおけるＡＣＫパケットの返信の処理に遅延が発生し、送信装置内の送信バッファの空き容量が所定数以下になった場合における送信装置の処理について説明する。
【００２０】
本実施形態のシステム全体の処理について、図１を用いて説明する。図１は、本実施形態に係る、ネットワークカメラ（送信装置）１０１と各クライアント（受信装置）１０３〜１０５との接続形態の一例を示す図である。本実施形態において、送信装置であるネットワークカメラ１０１は、ネットワーク１０２を介して、受信装置である各クライアント１０３〜１０５とそれぞれ接続される。尚、本実施形態における図１には、クライアントが３個としたが、クライアントの数は３個に限定されない。
【００２１】
図２は、本実施形態の送信装置であるネットワークカメラ１０１の機能構成を示すブロック図である。撮像部２０１は動画を撮影してビットマップデータを生成し、生成したビットマップデータを符号化部２０２に出力する。符号化部２０２は、撮像部２０１から出力されたビットマップデータをＨＥＶＣを用いて符号化ブロック単位で符号化し、符号化したデータを符号化フレームデータとしてフレームバッファ２０３へ出力する。フレームバッファ２０３は、符号化部２０２から出力された符号化フレームデータを格納する。オブジェクト解析部２０４は、ビットマップデータと符号化部２０２による符号化の際に出力される動きベクトルとに基づいて動画内のオブジェクト解析（オブジェクト認識）を行い、フレーム毎にオブジェクトの位置に応じて各タイルの優先度の判定を行う。
【００２２】
ストリーム送信部２０５は、フレームバッファ２０３に格納された符号化フレームデータをＲＴＰ／ＴＣＰパケットに変換し、送信バッファ２０６へ出力する。更に、ストリーム送信部２０５は、送信バッファ２０６の空き容量とタイルの優先度とに基づいて、選択的に各タイルの符号化タイルデータ（各タイルに対応するデータ）の送信処理（以下、選択的タイル送信処理と称す）を行う。詳細は後述する。また、ストリーム送信部２０５は、指定したタイルのフレーム内予測を用いた再符号化、及び次のフレームにおける該指定したタイルのフレーム内予測を用いた符号化を、符号化部２０２に指示する機能を有する。更に、ストリーム送信部２０５は、タイルの優先度状況、及び符号化タイルデータの送信状況を、タイル情報として一時保存するためにタイル情報格納部２０８へ出力する。尚、本実施形態において符号化タイルデータとは、符号化フレームデータをタイル毎に分割したデータのことである。
【００２３】
送信バッファ２０６は、送信先であるクライアント（受信装置）毎にパケットを格納するためのキュー（以下、パケットキューと称す）で構成される。通信部２０７は、送信バッファ２０６を監視し、送信パケットが格納されているとネットワーク１０２を介して該当する送信先の各クライアント１０３〜１０５へそれぞれ送信する。また、通信部２０７はＴＣＰの仕様に従い、送信先の各クライアント１０３〜１０５からのＡＣＫパケットの受信を待って該送信先のパケットキューにおける次のパケットを送信する。
【００２４】
次に、図３について説明する。図３（ａ）及び図３（ｃ）は、ビットマップデータの１フレームにおけるタイル分割の模式図である。本実施形態において、ビットマップデータの１フレームは縦横それぞれに４分割され、全部で１６個のタイルに分割される。例えば、図３（ａ）においてＴ１〜Ｔ１６は各タイルを示す指示子であり、オブジェクト解析部２０４によるオブジェクト解析に基づいて、各タイルＴ６、Ｔ７、Ｔ１０、Ｔ１１の部分に人が映っていると認識している状態を表している。
【００２５】
また、図３（ｂ）及び図３（ｄ）は、ビットマップデータの１フレームにおいて、オブジェクト解析部２０４によって各タイルに割り当てられた優先度を示す。例えば、図３（ｂ）は、図３（ａ）に示すようなオブジェクト解析部２０４によるオブジェクト解析の結果に基づいて、各タイルに優先度Ｐ０〜Ｐ２を割り当てることを示す。図３（ｂ）において、図３（ａ）で人が認識された各タイルＴ６、Ｔ７、Ｔ１０、Ｔ１１に、高い優先度Ｐ２が割り当てられている。尚、本実施形態では、図３（ａ）及び図３（ｃ）において人が認識されたタイルに高い優先度Ｐ２が割り当てられているが、本発明はこれに限定されない。即ち、オブジェクト解析の結果によって物が認識されたタイルや、予め設定された位置にあるタイルに高い優先度Ｐ２が割り当てられていてもよい。また、各クライアント１０３〜１０５がタイルの優先度を指示することにより決定してもよい。
【００２６】
また、図３（ｅ）は各タイルの符号化タイルデータが、各クライアント（受信装置）へ送信されているか否かを示す送信情報を管理するためのテーブルの例を示す。図３（ｅ）に示すテーブルは、クライアント毎に各タイルの符号化タイルデータが送信されているか否かの状況を示す。また、図３（ｅ）に示すテーブルにおいて、符号化タイルデータが送信されている場合は１と記録され、送信されていないと０と記録されるとする。尚、図３（ｅ）において符号化タイルデータが送信されているタイル（１）を送信タイルと称し、符号化タイルデータが送信されていないタイル（０）を非送信タイルと称す。即ち、図３（ｅ）において、クライアント１０３に対しては各タイルＴ６、Ｔ７の符号化タイルデータが送信されており、クライアント１０４に対してはすべてのタイルの符号化タイルデータが送信されていることが示されている。
【００２７】
上記図３（ｂ）及び図３（ｄ）に示す各タイルの優先度、及び図３（ｅ）に示す各タイルの符号化タイルデータの送信状況に関する情報は、ストリーム送信部２０５によってタイル情報格納部２０８へ出力され、タイル情報格納部２０８で記録及び管理される。
【００２８】
次に、ストリーム送信部２０５による選択的タイル送信処理の手順について図４及び図５を参照して説明する。
【００２９】
まず、図４について説明する。ステップＳ４０１においてストリーム送信部２０５は、符号化部２０２によって出力された符号化フレームデータをフレームバッファ２０３から取得する。次に、ステップＳ４０２においてストリーム送信部２０５は、該符号化フレームデータを解析することによりフレーム内のタイルの個数、各タイルの座標、及び各タイルのデータサイズ（データ量）を示す情報を含むタイル構成情報を取得する。尚、本実施形態において、タイル構成情報にはフレーム内のタイルの個数、各タイルの座標、及び各タイルのデータサイズを示す情報が含まれるが、本発明はこれに限定されない。即ち、該タイル構成情報には、少なくとも各タイルのデータサイズを示す情報が含まれていれば、フレーム内のタイルの個数、及び各タイルの座標を示す情報の代わりに、各タイルの番号を示す情報が含まれていても、それ以外の情報が含まれていても構わない。
【００３０】
次に、ステップＳ４０３においてストリーム送信部２０５は、送信バッファ２０６の空き容量のデータサイズ（以下、空き容量と称す）に関する情報を取得する。そしてストリーム送信部２０５は、フレームバッファ２０３から取得した符号化フレームデータ全体のデータサイズと送信バッファ２０６の空き容量とを比較して、該符号化フレームデータを送信バッファ２０６へ格納可能か否かを判定する（ステップＳ４０４）。ステップＳ４０４において送信バッファ２０６の空き容量が十分あると判定した場合（ステップＳ４０４のＹＥＳ）、ストリーム送信部２０５は該符号化フレームデータのパケット化と送信バッファ２０６への格納を行う（ステップＳ４０５）。そして、ステップＳ４０５の処理の後、ストリーム伝送部２０５は符号化フレームデータの送信処理を終了する。一方、ステップＳ４０４において送信バッファ２０６の空き容量が十分でないと判定した場合（ステップＳ４０４のＮＯ）、ストリーム送信部２０５は選択的タイル送信処理を行う（ステップＳ４０６）。尚、ステップＳ４０４にて、ストリーム送信部２０５は送信バッファ２０６へ格納可能か否かを判定するために、送信バッファ２０６の空き容量が十分であるか否かを判定するが、例えば送信バッファ２０６の空き容量が所定数以下であるか否かを判定してもよい。また、ストリーム送信部２０５は、送信バッファ２０６の空き容量が所定数より小さいか否かを判定するようにしてももちろんよい。
【００３１】
次に、ステップＳ４０６のより詳細な手順について、図５を参照して説明する。まず、ステップＳ４０２で取得した各タイルのデータサイズとステップＳ４０３で取得した送信バッファ２０６の空き容量とに基づいて、ストリーム送信部２０５は、送信対象とするタイルの優先度を決定する（ステップＳ５０１）。ここで、図３（ａ）及び図３（ｂ）を例にして、本実施形態では送信対象とするタイルの優先度を優先度Ｐ２と決定する。次にストリーム送信部２０５は、先頭のタイル（Ｔ１）から順に、各タイルに割り当てられた優先度を取得する（ステップＳ５０２）。そして、ストリーム送信部２０５は、ステップＳ５０２で取得した各タイルの優先度が、ステップＳ５０１で決定された送信対象のタイルの優先度に当てはまるか否か、つまり本実施形態では優先度がＰ２であるか否かを判定する（ステップＳ５０３）。尚、本実施形態ではステップＳ５０３においてストリーム送信部２０５は、ステップＳ５０２で取得したタイルの優先度がＰ２であるか否かを判定するが本発明はこれに限定されない。即ち、本発明においてストリーム送信部２０５は、送信対象とするタイルの優先度を複数設定して、当該設定された複数の優先度のうち所定の優先度のいずれかであれば送信タイルの優先度に当てはまると判定するようにしてもよい。
【００３２】
ステップＳ５０３において、該タイルに割り当てられた優先度が送信対象のタイルの優先度に当てはまると判定された場合（ステップＳ５０３のＹＥＳ）、ストリーム送信部２０５はステップＳ５０５の処理へ進む。ステップＳ５０５においてストリーム送信部２０５は、該タイルのデータ（以下、タイルデータと称す）をパケット化し、該タイルデータを送信バッファ２０６へ格納し、ステップＳ５０６の処理へ進む。ステップＳ５０６においてストリーム送信部２０５は、タイル情報格納部２０８に該タイルの符号化タイルデータが送信装置から送信されたこと記録し、タイル情報を更新する。
【００３３】
一方、ステップＳ５０３において、該タイルに割り当てられた優先度が送信対象のタイルの優先度でないと判断された場合（ステップＳ５０３のＮＯ）、ストリーム送信部２０５はステップＳ５０４の処理へ進む。ステップＳ５０４においてストリーム送信部２０５は、該送信対象のタイルのタイルデータのうち、符号化タイルデータ部分をクリア（リセット・削除）する。そして、ストリーム送信部２０５は、該タイルデータのヘッダー部分に符号化データが空であることを示す“ｎｏｔ−ｃｏｄｅｄ”フラグを設定したタイルデータに入れ替え、ステップＳ５０５の処理へ進む。次に、ステップＳ５０５にてストリーム送信部２０５は、ステップＳ５０４で生成したタイルデータをパケット化し、パケット化した該タイルデータを送信バッファ２０６へ格納し、ステップＳ５０６の処理へ進む。ステップＳ５０６においてストリーム送信部２０５は、タイル情報格納部２０８に該タイルの符号化タイルデータが送信装置から送信されたこと記録し、タイル情報を更新する。ここで、ステップＳ５０３において送信対象のタイルの優先度でない（ステップＳ５０３のＮＯ）と判定され、ステップＳ５０４において符号化データ部分を空にされて“ｎｏｔ−ｃｏｄｅｄ”フラグを設定されたタイルは、非送信タイル（０）として記録される。
【００３４】
ストリーム送信部２０５は、ステップＳ５０６にてタイル情報の更新をし終えると、処理対象のフレーム内に未処理のタイルがあるか否かを判定する（ステップＳ５０７）。そして、処理対象のフレーム内に未処理のタイルが無ければ（ステップＳ５０７のＹＥＳ）、ストリーム送信部２０５は符号化フレームデータの送信処理を終了する。一方、処理対象のフレーム内に未処理のタイルがあれば（ステップＳ５０７のＮＯ）、ストリーム送信部２０５は次のタイルを選択し（ステップＳ５０８）、ステップＳ５０８で選択されたタイルの優先度の取得（ステップＳ５０２）から繰り返す。
【００３５】
上述した図４及び図５に示す手順により、図３（ｂ）の例ではＴ６、Ｔ７、Ｔ１０、Ｔ１１のタイルが、符号化部２０２から出力されたままのタイルデータで送信バッファ２０６に格納される。そして、それ以外のタイルは全てステップＳ５０４の処理により“ｎｏｔ−ｃｏｄｅｄ”のフラグが設定された符号化データ無しのタイルデータに変換されて送信バッファ２０６に格納される。
【００３６】
尚、本実施形態において、上述したように“ｎｏｔ−ｃｏｄｅｄ”のフラグを用いるが、本発明はこれに限定されない。即ち、符号化タイルデータが削除されている、又は符号化タイルデータが無いことを示す情報を用いても構わない。このように、優先度の低いタイルを符号化データ無しとして送信することで、受信装置に対し該タイルは符号化データ無しであることを明示的に示すことになり、符号化タイルデータのまま送信されるタイルの復号位置を間違って認識されることを抑制できる。
【００３７】
また、本実施形態の送信装置１０１（ストリーム送信部２０５）は、送信バッファ２０６の空き容量とタイルの優先度とに基づいて選択的タイル送信処理を行うが、本発明はこれに限定されない。即ち、本発明の送信装置は、送信及び受信可能なデータサイズ及び送信レート等に基づいて選択的タイル送信処理を行うものであればよく、受信装置における復号処理が高負荷であるか否かを示す情報に基づいて選択的タイル送信処理を行っても構わない。また、本発明の送信装置は、受信装置におけるＴＣＰのＡＫＣパケットの返信処理に遅延が生じているか否かを示す情報に基づいて、選択的タイル送信処理を行っても構わない。
【００３８】
以上説明したように、本実施形態のストリーム送信部２０５は、図４及び図５に示した手順により送信バッファ２０６の空き容量とタイル毎の優先度に応じ、タイル単位で送信処理を制御することができる。即ち、優先度の高いタイルにおいては符号化部２０２で符号化された符号化タイルデータを送信し、優先度の低いタイルにおいては符号化タイルデータを削除して“符号化データ無し”を示すフラグを設定して符号化タイルデータの無いタイルデータを送信する。これにより、優先度が低いタイルではタイルデータのサイズを小さくすることができ、送信バッファ２０６に占める割合を非常に小さくすることができる。
【００３９】
また、従来のフレーム送信スキップ及びＧＯＰ送信スキップでは、優先度の高いタイルもフレーム単位及びＧＯＰ単位でスキップされていたため、優先度の高いタイル部分に動画の途切れを発生させていた。しかしながら、本実施形態の選択的タイル送信処理により、送信バッファ２０６の空き容量に基づいてタイル単位で送信制御することができるため、優先度の高いタイル部分の動画は連続フレームとして送信することができる。このため、本実施形態により、優先度の高いタイル部分の動画を従来と比べて途切れの少ない滑らかな動画として提供することができる。
【００４０】
また、優先度の低いタイルを符号化タイルデータが無いことを示す“ｎｏｔ−ｃｏｄｅｄ”フラグを用いることで、符号化データフォーマットに法りながら、優先度の低いタイルのタイルデータのサイズを小さくして送信することができる。そして、“ｎｏｔ−ｃｏｄｅｄ”フラグを含むタイルデータを受信した受信装置は、該タイルの符号化タイルデータが無いという情報を取得することができ、各タイルの復号位置を正しく取得することができる。
【００４１】
＜実施形態２＞
前述した実施形態１では、送信装置内の送信バッファの空き容量が所定数以下になった場合における送信装置の送信制御処理について説明した。次に本実施形態では、実施形態１において非送信タイルとして送信されたタイルの優先度が、時間経過後に送信対象のタイルの優先度を満たした場合に、送信タイルとして送信するための送信装置の送信制御処理について説明する。例えば、実施形態１において送信装置の送信制御処理によって符号化データの送信レートを一時的に低下させるよう制御している状態の後に、送信レートを向上させる余裕があると判断された場合に、本実施形態で説明する処理を行う。ここで、符号化データの送信レートを向上させる余裕ができると判断される場合とは、例えば、ネットワークの輻輳が軽減された場合や、送信装置側の動画の符号化処理の負荷が軽減される等して送信バッファの空き容量が増加した場合である。
【００４２】
本実施形態では、優先度が低く非送信タイルとされていたタイルの中から各タイルの優先度を基に送信状態に変更するタイルを選択し、選択されたタイルがフレーム間符号化された動画データである場合は該タイルの動画をフレーム内符号化で再符号化し送信する。尚、本実施形態が実施形態１と異なるのは図４の選択的タイル送信処理（ステップＳ４０６）の詳細処理のみであることから、簡単のため本実施形態におけるステップＳ４０６の詳細処理を表す図６の説明のみを行い、その他の説明は省略する。
【００４３】
図６は、実施形態１で説明した図５のフロー図に、本実施形態における非送信タイルの符号化データの再構成処理を追加したフロー図である。
【００４４】
ストリーム送信部２０５は実施形態１と同様に、各ステップＳ５０１〜Ｓ５０３の処理を行う。そして本実施形態のステップＳ５０３で、処理対象のタイルが送信対象のタイルの優先度を有すると判定した場合（ステップＳ５０３のＹＥＳ）、ストリーム送信部２０５は該タイルをフレーム内予測を用いて再符号化するか否かを判定する（ステップＳ６０１）。具体的にステップＳ６０１では、処理対象のタイルがフレーム間予測を用いて符号化されたタイルであって、且つ処理対象のフレームの前のフレームにおいて該処理対象のタイルが非送信タイルのタイルデータとして送信されていたか否かを判定する。
【００４５】
ステップＳ６０１にて、該処理対象のタイルがフレーム内予測を用いて符号化されたタイルであると判断された場合（ステップＳ６０１のＮＯ）、フレームバッファ２０３には該処理対象のタイルの符号化タイルデータが格納されている。即ち、改めて再符号化する必要はないため、ストリーム送信部２０５はステップＳ５０５の処理へ進む。また、該処理対象のタイルが前のフレームにおいて送信タイルとして設定されていた場合（ステップＳ６０１のＮＯ）、該処理対象のタイルは、符号化にフレーム内予測又はフレーム間予測のいずれを用いたかに関わらず、復号可能な連続した符号化データとなる。このため、ストリーム送信部２０５は、該処理対象のタイルを再符号化する必要がないと判定し、ステップＳ５０５の処理へ進む。ステップＳ５０５以降は、実施形態１で説明した処理と同様であるため説明を省略する。
【００４６】
一方、処理対象のタイルがフレーム間予測を用いて符号化されたタイルであって、且つ処理対象のフレームの前のフレームにおいて該処理対象のタイルが非送信タイルのタイルデータとして送信されていた場合（ステップＳ６０１のＹＥＳ）について説明する。この場合、ストリーム送信部２０５は該処理対象のタイルをフレーム内予測を用いて再符号化するように符号化部２０２へ指示をする（ステップＳ６０２）。
【００４７】
ここで、図３を用いて具体例を説明する。図３（ｃ）は図３（ａ）の１フレーム後のフレームにおけるタイル分割の模式図である。図３（ｃ）の例では、オブジェクト解析２０４により各タイルＴ７、Ｔ８、Ｔ１１、Ｔ１２の部分に人が映っていることが認識されている。そして、図３（ｄ）は、図３（ｃ）に示すようにオブジェクト解析部２０４によるオブジェクト解析に基づいて、各タイルに優先度Ｐ０〜Ｐ２を割り当てることを示している。図３（ｄ）において、図３（ｃ）で人が認識された各タイルＴ７、Ｔ８、Ｔ１１、Ｔ１２に、高い優先度Ｐ２が割り当てられている。したがって、図３（ｂ）から図３（ｄ）に示すように各タイルの優先度が遷移すると、各タイルＴ８、Ｔ１２は、図３（ｂ）において優先度Ｐ１であったが、図３（ｄ）において優先度Ｐ２に変化する。
【００４８】
このため、ストリーム送信部２０５はステップＳ６０１において、図３（ｄ）における該各タイルＴ８、Ｔ１２を再符号化するタイルである（ステップＳ６０１のＹＥＳ）と判断する。そして、ステップＳ６０２において、ストリーム送信部２０５は、該各タイルＴ８、Ｔ１２をフレーム内予測を用いて符号化するように符号化部２０２へ指示をする。一方、Ｔ８、Ｔ１２以外の各タイルはステップＳ６０１において該各タイルを再符号化しない（ステップＳ６０１のＮＯ）と判断される。そして、ステップＳ５０５において、ストリーム送信部２０５は、実施形態１と同様に該各タイルの符号化フレームデータをパケット化し、送信バッファ２０６へ格納する。
【００４９】
次に、ステップＳ６０２以降の処理について説明する。ステップＳ６０２において、ストリーム送信部２０５は、符号化部２０２に対して該タイルをフレーム内符号化で再符号化するように指示をし、ステップＳ６０３の処理へ進む。
【００５０】
ステップＳ６０３において、ストリーム送信部２０５はステップＳ６０２で再符号化の指示をしてから一定時間以内に、符号化部２０２によって再符号化された符号化タイルデータがフレームバッファ２０３に格納されたか否かを判定する。これは、ステップＳ６０２による再符号化の指示の後、符号化部２０２が即座に再符号化してフレームバッファ２０３へ出力する場合と、数フレーム程度遅れてフレームバッファ２０３へ出力する場合があるためである。尚、上記の各場合は、符号化部２０２の処理能力と処理手順に依存する。
【００５１】
ステップＳ６０３で処理対象のタイルの符号化タイルデータがフレームバッファ２０３に格納されたと判定された場合（ステップＳ６０３のＹＥＳ）、ストリーム送信部２０５は該符号化タイルデータをフレームバッファ２０３から取得する（ステップＳ６０４）。そして、ストリーム送信部２０５は、取得した該符号化タイルデータをパケット化して送信バッファ２０６へ格納する（ステップＳ５０５）。一方、テップＳ６０３において処理対象のタイルの符号化タイルデータがフレームバッファ２０３に格納されていないと判定された場合（ステップＳ６０３のＮＯ）、ストリーム送信部２０５はステップＳ５０４の処理を行う。これは、符号化部２０２が符号化データを生成してフレームバッファ２０３へ格納するまでは、処理対象のタイルを非送信タイルとして処理する必要があるためである。このように、所定時間以内に再符号化されない場合（ステップＳ６０３のＮＯ）、非送信タイルとしての処理を施すことで、リアルタイム性を低下させずに処理対象のフレーム全体の処理を行うことができる。
【００５２】
以上説明したように、本実施形態のストリーム送信部２０５は、図４及び図６に示した手順により送信バッファ２０６の空き容量とタイル毎に設定された優先度とに応じ、タイル単位で送信処理を制御することができる。
【００５３】
また、各タイルに割り当てられた優先度が遷移することにより符号化タイルデータの送信対象となるタイルが変わった場合にも、該送信対象となるタイルの符号化タイルデータを送信するよう制御することが可能となる。即ち、優先度の遷移により非送信タイルであったタイルが送信対象のタイルに変更された場合、フレーム内予測を用いて再符号化するため、優先度が遷移したフレームがＧＯＰの途中のフレームであっても、受信装置で復号し、動画再生することが可能である。
【００５４】
尚、符号化部２０２は再符号化により処理負荷を増大することになるが、タイル単位の再符号化はフレーム単位の再符号化に比べてデータサイズが少なく、他タイルと予測符号化における参照関係がなく並列処理が行いやすい方法である。このため、フレーム全体の再符号化と比べてタイル単位の再符号化の方が処理負荷の増加量を減少させることができる。
【００５５】
従って本実施形態に記載の技術は、通信状況の異なる複数の受信装置へ同時に動画をストリーム伝送するユースケースにおいて実現可能であり、且つ有効である。例えば、監視カメラでは、同時多数の符号化能力を持たないが、通信状況の異なる複数の受信装置へ同時に動画をストリーム伝送することが要求されるため、本実施形態に記載の技術を実現可能である。
【００５６】
＜実施形態３＞
次に、本実施形態では実施形態２と同様に、実施形態１で説明した送信装置により符号化データの送信レートを一時的に低下させて送信制御を行っていた後に、送信レートを向上させる余裕ができたと判断された場合における送信制御処理について説明する。尚、実施形態２では、ストリーム送信部２０５が処理対象のタイルを再符号化する必要があると判定した場合に、該処理対象のタイルの再符号化処理を符号化部２０２へ指示することで、該処理対象のタイルの符号化データを送信可能にする手順を説明した。本実施形態では予め蓄積しておいた符号化タイルデータをまとめて送信することで、ＧＯＰの途中であっても該処理対象のタイルの符号化タイルデータを送信可能にする手順を説明する。尚、本実施形態において、符号化タイルデータはフレームバッファ２０３に予め蓄積することとするが、本発明はこれに限定されない。即ち、ネットワークカメラ１０１内のフレームバッファ２０３以外の他のバッファに蓄積しても構わないし、外部の記憶装置に蓄積しても構わない。また、本実施形態が実施形態１と異なるのは図４の選択的タイル送信処理（ステップＳ４０６）の詳細処理のみであることから、簡単のため本実施形態におけるステップＳ４０６の詳細処理を表す図７の説明のみを行い、その他の説明は省略する。
【００５７】
図７は、実施形態１で説明した図５のフロー図に、本実施形態で説明する非送信タイルの符号化データの再構成処理を追加したフロー図である。ストリーム送信部２０５は実施形態１と同様に、各ステップＳ５０１〜Ｓ５０３の処理を行う。
【００５８】
本実施形態のステップＳ５０３で、処理対象のタイルが送信対象のタイルの優先度を有していないと判定された場合（ステップＳ５０３のＮＯ）、ストリーム送信部２０５は、ステップＳ７０１へ進む。ステップＳ７０１において、ストリーム送信部２０５は、該タイルの符号化タイルデータがフレーム内予測を用いて符号化されているかを確認する。
【００５９】
まず、ステップＳ７０１において、該符号化タイルデータがフレーム内予測を用いて符号化されていないと判定された場合（ステップＳ７０１のＮＯ）、ストリーム送信部２０５は該符号化タイルデータをフレームバッファ２０３へ蓄積する（ステップＳ７０３）。尚、該符号化タイルデータをフレームバッファ２０３へ蓄積する場合には、ストリーム送信部２０５は該符号化タイルデータを、該符号化タイルデータが何れのタイルに属するか識別できるようにフレームバッファ２０３に格納する。ステップＳ７０３の処理の後は、実施形態１と同様である。即ち、ストリーム送信部２０５は、該タイルのタイルデータのうち符号化タイルデータ部分をクリアし（ステップＳ５０４）、変換されたタイルデータをパケット化して、送信バッファ２０６へ格納する（ステップＳ５０５）。
【００６０】
一方、ステップＳ７０１において、該符号化タイルデータがフレーム内予測を用いて符号化されていると判定された場合（ステップＳ７０１のＹＥＳ）、ストリーム送信部２０５はステップＳ７０２へ進む。次にストリーム送信部２０５は、既にフレームバッファ２０３に蓄積されている該タイルの符号化タイルデータを削除し（ステップＳ７０２）、フレーム内予測を用いて符号化された符号化タイルデータをフレームバッファ２０３へ蓄積する（ステップＳ７０３）。ステップＳ７０３の処理の後、ストリーム送信部２０５は、上述したようにステップＳ５０４、及びステップＳ５０５の各処理を行う。尚、ステップＳ７０２においてストリーム送信部２０５は蓄積されている該タイルの符号化タイルデータを削除するが、これは以下の理由のためである。即ち、処理対象のフレームがフレーム内予測を用いて符号化されることにより、処理対象のフレームより前のフレームのタイルデータを即座に復号処理する必要がないためである。また、フレーム内予測を用いて符号化されたタイルデータから蓄積を再開する処理により、蓄積される符号化タイルデータ数はＧＯＰ長のフレーム数が上限となる。
【００６１】
次に、ステップＳ５０３で、処理対象のタイルが送信対象のタイルの優先度を有していると判定した場合（ステップＳ５０３のＹＥＳ）について説明する。ステップＳ５０３においてＹＥＳと判定された場合、ストリーム送信部２０５は、処理対象のフレームの前のフレームにおける該タイルが非送信タイルデータとして送信されていたか否かを判定する（ステップＳ７０４）。
【００６２】
まず、ステップＳ７０４において、該タイルが処理対象のフレームの前のフレームで非送信タイルとして送信されていたと判定された場合（ステップＳ７０４のＹＥＳ）、ストリーム送信部２０５はステップＳ７０５の処理を行う。ステップＳ７０５において、ストリーム送信部２０５は、該タイルの符号化タイルデータがフレーム内予測を用いて符号化されたデータであるか否かを判定する。ステップＳ７０５において、該符号化タイルデータがフレーム内予測を用いて符号化されたデータでないと判定された場合（ステップＳ７０５のＮＯ）、ストリーム送信部２０５はステップＳ７０６の処理を行う。ステップＳ７０６において、ストリーム送信部２０５は、既にフレームバッファ２０３に蓄積されている該タイルの符号化タイルデータを検索し、該符号化タイルデータをパケット化し、送信バッファ２０６へ格納する。次に、ストリーム送信部２０５は、フレームバッファ２０３に蓄積されている該符号化タイルデータを消去する（ステップＳ７０７）。以降、実施形態１と同様に、ストリーム送信部２０６は該符号化タイルデータをパケット化し、パケット化した符号化タイルデータを送信バッファ２０６へ格納する（ステップＳ５０５）。また、ステップＳ７０５において、該符号化タイルデータがフレーム内予測を用いて符号化されたデータであると判定された場合（ステップＳ７０５のＹＥＳ）、ストリーム送信部２０５は、上述したステップＳ７０７の処理へ進む。このため、ストリーム送信部２０５は、フレームバッファ２０３に蓄積されている符号化タイルデータを送信しない。以降、実施形態１と同様に、ストリーム送信部２０６は該符号化タイルデータをパケット化し、パケット化した符号化タイルデータを送信バッファ２０６へ格納する（ステップＳ５０５）。
【００６３】
一方、ステップＳ７０４において、該タイルが非送信タイルとして送信されていないと判定された場合（ステップＳ７０４のＮＯ）、該タイルは処理対象のフレームの前のフレームにおいて送信タイルである。即ち、該タイルは処理対象のフレームの前のフレームと該処理対象のフレームとにおいて符号化データが連続して送信処理されている。このため、ステップＳ７０４においてＮＯと判定された場合、ストリーム送信部２０５は、以降、実施形態１と同様に符号化タイルデータをパケット化し、送信バッファ２０６へ格納する（ステップＳ５０５）。
【００６４】
ここで、図３を用いて具体例を説明する。実施形態２において説明したように動画像（フレーム）が図３（ａ）から図３（ｃ）へ変化することにより、各タイルの優先度は図３（ｂ）から図３（ｄ）へ遷移する。ここで、図３（ｂ）から図３（ｄ）に示すようにタイルの優先度が遷移することにより、タイルＴ８及びタイルＴ１２の優先度は送信対象の優先度（Ｐ２）に変化する。そして、ストリーム送信部２０５は、優先度が送信対象の優先度に変化したタイルＴ８及びタイルＴ１２に対して、ステップＳ７０５及びステップＳ７０６の各処理を施す。即ち、図３（ａ）から図３（ｃ）へフレームが遷移すると、ストリーム送信部２０５は、タイルＴ８及びタイルＴ１２については、処理対処フレームの前のフレームである図３（ａ）まで蓄積された符号化タイルデータを全て送信する。その後、ストリーム送信部２０５は、図３（ｃ）のタイルＴ８及びタイルＴ１２の符号化タイルデータを送信するよう制御する。
【００６５】
以上説明したように、本実施形態のストリーム送信部２０５は、図４及び図７に示した手順により送信バッファ２０６の空き容量とタイル毎に設定された優先度とに応じ、タイル単位で送信処理を制御することができる。
【００６６】
また、本実施形態のストリーム送信部２０５は、各タイルに割り当てられた優先度が遷移することにより符号化タイルデータの送信対象となるタイルが変わった場合にも、該送信対象となるタイルの符号化タイルデータを送信するよう制御することが可能となる。即ち、優先度の遷移により非送信タイルであったタイルが送信対象のタイルに変更された場合、フレーム内予測を用いて再符号化するため、優先度が遷移したフレームがＧＯＰの途中のフレームであっても、受信装置で復号し、動画再生することが可能である。
【００６７】
尚、まとめて送られる連続タイルデータはその時点でのフレーム全体と復号時間が異なってしまうが、タイル形式の符号化では復号もタイル単位での行うため、受信機側の復号器でフレーム全体の復号時間とは独立して復号することが可能である。また、まとめて送信することによる通信負荷の増加は、フレーム全体に対する符号化タイルデータのデータサイズは小さいことから複数であっても十分小さい。
【００６８】
＜実施形態４＞
本実施形態では、実施形態２及び実施形態３で説明した、符号化タイルデータを送信再開のための各制御方法を、送信再開処理を実行する際に選択する手順について図８を用いて説明する。図８は、実施形態３で説明した図７におけるステップＳ７０４からステップＳ５０４までの一連の処理に、実施形態２で説明した処理と同様に処理対象のタイルをフレーム内予測を用いて再符号化する処理（ステップＳ６０２）を加えたフロー図である。
【００６９】
図８のステップＳ７０４で該タイルが処理対象のフレームの前のフレームで非送信タイルとして送信されていた場合（ステップＳ７０４のＹＥＳ）、ストリーム送信部２０５はステップＳ８０１に進む。ステップＳ８０１においてストリーム送信部２０５は、蓄積された符号化タイルデータを実施形態３の方法で送信することが可能か否かを確認する。即ち、ステップＳ８０１においてストリーム送信部２０５は、フレームバッファ２０３に蓄積された符号化タイルデータを送信するか、再符号化して生成した符号化タイルデータを送信するかを判定する手段である。そして、ステップＳ８０１では実施形態３で示した方法と同様にストリーム送信部２０５は、送信バッファ２０６の空き容量に対して、フレームバッファ２０３に蓄積された該符号化タイルデータのデータサイズが小さいか否かを判断する。次に、送信バッファ２０６の空き容量が十分あって格納可能と判定された場合（ステップＳ８０１のＹＥＳ）、ストリーム送信部２０５は実施形態３と同様に蓄積された符号化タイルデータを送信バッファ２０６へ格納する（ステップＳ７０６）。さらに、ストリーム送信部２０５は該符号化タイルデータをフレームバッファ２０３から削除する（ステップＳ７０７）。一方、送信バッファ２０６に格納可能でないと判定された場合（ステップＳ８０１のＮＯ）、ストリーム送信部２０５は実施形態２で示した再符号化処理を行い（ステップＳ６０２）、ステップＳ７０７に進む。ステップＳ７０７においてフレーム送信部２０５はフレームバッファ２０３に蓄積された該符号化タイルデータを削除する。
【００７０】
上述したように図８においてストリーム送信部は、フレームバッファ２０３に蓄積された符号化タイルデータのデータサイズと、送信バッファ２０６の空き容量とを比較して判定していたが、図９に別の例を示す。
【００７１】
図９（ａ）におけるステップＳ９０１は、図８における蓄積された符号化タイルデータの送信又は符号化タイルデータの再符号化のうちどちらの処理を行うかを判定する判定処理（ステップＳ８０１）に相当する。図９（ａ）のステップＳ９０１においてストリーム送信部２０５は、蓄積された符号化タイルデータのタイル数が予め決められた閾値（規定値）以内であるか否かを判定する。ステップＳ９０１において閾値以内であると判定された場合（ステップＳ９０１のＹＥＳ）、ストリーム送信部２０５はフレームバッファ２０３に蓄積された符号化タイルデータの送信処理（ステップＳ７０６）へ進む。一方、ステップＳ９０１において閾値を超えると判定された場合（ステップＳ９０１のＮＯ）、ストリーム送信部２０５は再符号化処理（ステップＳ６０２）へ進む。上述したように、図９（ａ）に示す方法では、ストリーム送信部２０５はフレームバッファ２０３に蓄積された符号化タイルデータのタイル数に基づいて符号化タイルデータの送信又は再符号化処理を行う。この方法により、符号化タイルデータの送信を再開するフレーム（アクセス画像）の、該アクセス画像を含むＧＯＰにおける再生順序が、該ＧＯＰの開始のキーフレームに近い場合に蓄積された符号化タイルデータを送信するように送信装置を制御できる。即ち、該アクセス画像が該ＧＯＰの開始のキーフレームに近く、フレームバッファ２０３に蓄積された符号化タイルデータのタイル数は少ないため、送信する符号化タイルデータのタイル数が少なく済む。このため、送信装置における送信処理負荷、通信負荷、受信装置における復号処理負荷等の増加を軽減することができる。一方、該アクセス画像の、該アクセス画像を含むＧＯＰにおける再生順序が、該ＧＯＰの開始のキーフレームから遠い場合、送信する符号化タイルデータのタイル数が多くなる。このため、送信装置における送信処理負荷、通信負荷、受信装置における復号処理負荷等が増加する。
【００７２】
また、図９（ｂ）におけるステップＳ９０２は、図８における蓄積された符号化タイルデータの送信又は符号化タイルデータの再符号化のうちどちらの処理を行うかを判定する判定処理（ステップＳ８０１）に相当する。図９（ｂ）のステップＳ９０２においてストリーム送信部２０５は、再符号化を行うタイル数が予め決められた閾値（規定値）以内であるか否かを判断する。ステップＳ９０２において閾値以内であると判定された場合（ステップＳ９０２のＹＥＳ）、ストリーム送信部２０５は再符号化処理（ステップＳ６０２）へ進む。一方、ステップＳ９０２において閾値を超えると判定された場合（ステップＳ９０２のＮＯ）、ストリーム送信部２０５はフレームバッファ２０３に蓄積された符号化タイルデータの送信処理（ステップＳ７０６）へ進む。上述したように、図９（ｂ）に示す方法では、ストリーム送信部２０５は再符号化を行うタイル数に基づいて符号化タイルデータの送信又は再符号化処理を行う。この方法により、再符号化を行うタイル数が所定の値より多い場合に、再符号化を行わず、フレームバッファ２０３に蓄積された符号化タイルデータを送信することにより、送信装置の符号化処理負荷の増加を軽減することができる。
【００７３】
上述した図９（ａ）及び図９（ｂ）の処理により本実施形態における送信装置は、送信バッファ２０６の空き容量及び通信帯域の状況に応じて、実施形態２及び実施形態３で説明した符号化タイルデータの送信再開のための２つの方法を選択することができる。
【００７４】
次に、図１０を参照して、送信バッファ２０６の空き容量に基づいて動画フレームの符号化方式をタイル形式とフレーム単位形式を実行時に選択する手順を説明する。図１０は、実施形態１で示した図４における、送信バッファ２０６の空き容量とタイル毎に設定された優先度とに応じた選択的タイル送信処理の手順に、本実施形態における処理を一部追加したフロー図である。図１０では、送信バッファ２０６の空き容量が十分か否か（即ち、処理対象のタイルの符号化タイルデータを送信バッファ２０６へ格納可能か否か）を判定した（図４のステップＳ４０４と同様の処理）後に、更に次の処理を追加する。
【００７５】
図１０におけるステップＳ４０４で送信バッファ２０６の空き容量が十分でないと判定された場合（ステップＳ４０４のＮＯ）、ストリーム送信部２０５は処理対象のフレームがタイル単位で符号化されているか否かを判定する（ステップＳ１００１）。そして、ステップＳ１００１においてタイル単位で符号化されていないと判定された場合（ステップＳ１００１のＮＯ）、ストリーム送信部２０５は該処理対象のフレームをタイル単位の符号化に変更し（ステップＳ１００２）、ステップＳ４０５の処理へ進む。ステップＳ４０５において、ストリーム送信部２０５は符号化して生成された符号化フレームデータをパケット化し、送信バッファ２０６へ格納する。
【００７６】
一方、ステップＳ４０４で送信バッファ２０６の空き容量が十分であると判定された場合（ステップＳ４０４のＹＥＳ）、ストリーム送信部２０５は処理対象のフレームがタイル単位で符号化されているか否かを判定する（ステップＳ１００３）。そして、ステップＳ１００３においてタイル単位で符号化されている判定した場合（ステップＳ１００３のＹＥＳ）、ストリーム送信部２０５は該処理対象のフレームをフレーム単位の符号化に変更し（ステップＳ１００４）、ステップＳ１００４の処理へ進む。ステップＳ１００４において、ストリーム送信部２０５は符号化して生成された符号化フレームデータをパケット化し、送信バッファ２０６へ格納する。
【００７７】
以上の手順により、実施形態１で説明した選択的符号化タイルデータの送信を制御することに加え、送信バッファ２０６の空き容量に応じてフレーム単位の符号化又はタイル単位の符号化のどちらを選択して符号化を行うかを切り替えることができる。
【００７８】
また、上述した実施形態における図６〜８の処理フローに示すように、符号化タイルデータの送信再開の処理はタイル毎に個別に実行される。このため、符号化タイルデータ送信再開が複数のタイルで同時に発生する場合であっても、図９（ａ）及び図９（ｂ）の方法を組み合わせて、送信再開の処理を実行するタイル毎に個別に再開方式を適用することが可能である。例えば、図３（ａ）〜（ｄ）に示すように動画内のオブジェクトが時間経過に伴い移動する場合、送信優先度が高くなることにより非送信タイルから送信タイルに変更される、タイルの位置及び数は時々で異なる。この場合、本実施形態のストリーム送信部２０５は、以下のことを可能にする。即ちストリーム送信部２０５は、フレーム内予測を用いた再符号化が可能なタイル数と各タイルの蓄積された符号化データのサイズとに応じて、再符号化された符号化データまたは蓄積された符号化データの何れかを送信をタイル毎に適時選択することができる。
【００７９】
＜実施形態５＞
上記各実施形態１〜５において、図２に示した各処理部はハードウェアでもって構成しているものとして説明した。しかし、図２に示した各処理部で行う処理をコンピュータプログラムで実行しても良い。
【００８０】
図１１は、上記各実施形態１〜５に係る画像伝送装置の各処理部が行う処理を実行するコンピュータのハードウェアの構成例を示すブロック図である。
【００８１】
ＣＰＵ１１０１は、ＲＡＭ１１０２やＲＯＭ１１０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上述した実施形態に係る画像符号化装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ１１０１は、図１、図３、及び図６に示した各処理部として機能することになる。
【００８２】
ＲＡＭ１１０２は、外部記憶装置１１０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１１０７を介して、外部から取得したデータ等を一時的に記憶するためのエリアを有する。さらに、ＲＡＭ１１０２は、ＣＰＵ１１０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１１０２は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
【００８３】
ＲＯＭ１１０３は、本コンピュータの設定データや、ブートプログラム等を格納する。
【００８４】
操作部１１０４は、キーボードやマウス等により構成されており、本コンピュータのユーザーが操作することで、各種の指示をＣＰＵ１１０１に対して入力することができる。
【００８５】
出力部１１０５は、ＣＰＵ１１０１による処理結果を表示する。また、出力部１１０５は、例えば液晶ディスプレイで構成される。
【００８６】
外部記憶装置１１０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置１１０６には、オペレーティングシステム（ＯＳ）や、図１、図３、及び図６に示した各部の機能をＣＰＵ１１０１に実現させるためのコンピュータプログラムが保存されている。さらには、外部記憶装置１１０６には、処理対象としての各画像が保存されていても良い。
【００８７】
外部記憶装置１１０６に保存されているコンピュータプログラムやデータは、ＣＰＵ１１０１による制御に従って適宜、ＲＡＭ１１０２にロードされ、ＣＰＵ１１０１による処理対象となる。
【００８８】
Ｉ／Ｆ１１０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置等の他の機部を接続することができ、本コンピュータはこのＩ／Ｆ１１０７を介して様々な情報を取得したり、送出したりすることができる。
【００８９】
バス１１０８は、上述の各部を繋ぐ。
【００９０】
上述の構成における作動は、前述のフローチャートで説明した作動をＣＰＵ１１０１が中心となってその制御を行う。
【００９１】
＜その他の実施形態＞
尚、上述した各実施形態において、動画データを符号化するための動画符号化方式としてＨＥＶＣを用いたが、本発明はこれに限定されない。即ち、動画符号化方式はＨＥＶＣに限定されず、フレームを分割したタイル形式またはブロック形式で処理が可能な方式であれば構わない。また、使用する通信プロトコルはＴＣＰに限定されず、種々の送信プロトコルを用いることができる。即ち、本発明における、通信状況に応じて符号化タイルデータの変換を行う処理は、ＲＴＰ／ＵＤＰとＲＴＣＰとを使用して通信帯域を監視する例にも適用可能である。
【００９２】
また、上述した各実施形態において、タイルの優先度を決定する方法として動画のオブジェクト認識を用いて説明を行うが、本発明はこれに限定されない。即ち、タイルの優先度を受信装置側の指示により決定する場合に対しても本発明を適用可能である。
【００９３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015095733.tif 000003
【図２】
2015095733.tif 000004
【図３】
2015095733.tif 000005
【図４】
2015095733.tif 000006
【図５】
2015095733.tif 000007
【図６】
2015095733.tif 000008
【図７】
2015095733.tif 000009
【図８】
2015095733.tif 000010
【図９】
2015095733.tif 000011
【図１０】
2015095733.tif 000012
【図１１】
2015095733.tif 000013