説明

動画像データ送信方法、通信装置、及びプログラム

【課題】 動画像データの伝送においては、特定の送信タイミングや、特定の送信位置のパケットがロスし易くので、フレーム内の同じ位置のデータが連続して正しく再生されず、エラー箇所が目立ち易くなる。
【解決手段】 動画像データ送信装置100の優先度設定部103は、動画像データの分割単位ごとに優先度を設定し(S801)、スケジューリング部104は、設定された優先度に基づいて分割単位の送信順序を決定する(S804)。その際、スケジューリング部104は、同じ優先度が設定された分割単位が、ラスター順とは異なる順序で送信されるように送信順序を割り当てる(S803)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、有線あるいは無線のネットワークにおいて動画像データを分割して伝送する技術に関する。
【背景技術】
【0002】
近年、通信システムの発達により、インターネットなどの通信回線を利用して、動画像を視聴することが一般に行なわれるようになってきている。
【0003】
このような動画像データの通信、特にライブ映像などのリアルタイム性を必要とする動画像データの通信には、RTP(A Transport Protocol for Real−Time Applications)と呼ばれる形式が一般的に用いられる。RTPは、IETFによりRFC1889及びRFC1890として定義された、音声や動画像などのデータをリアルタイムで転送するためのプロトコルである。
【0004】
ここで、RTPのプロトコルは、必ずしもデータの信頼性が高いとは言えないが、比較的高い通信速度が期待出来るUDP/IPなどの低層プロトコルが利用されている。このような、UDP/IPなどのプロトコルを用いた場合、リアルタイム性や通信帯域の使用効率には優れているものの、その性質上、パケットロスなどのエラーが発生しやすいという問題がある。
【0005】
このような問題に対して、エラーの発生を抑制する技術が、これまでに考え出されている。例えば、パケットの送信間隔を平均化することで、ネットワーク経路のルーターなどにおけるバッファあふれによるデータ損失を低減する技術が提案されている。あるいはまた、通信の側面からは、より信頼性の高い通信回線が提案されている。
【0006】
しかし、それらの技術を用いても、実際にネットワークの輻輳などが発生した場合には、パケットロスの発生率をゼロにすることは困難である。このため、動画像データのフレーム毎に、フレーム内の位置情報から重要度を判断し、重要度が高い部分から先にデータ送信を行なうことで、重要度が高い部分のパケットロスを抑制する技術が提案されている。(例えば特許文献1)。
【特許文献1】特開平11−331839号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上記従来の技術のようなフレーム内での重要度の判断は、動画像データの符号化方法やパケットの送信タイミングの制御の方法によっては、必ずしも良い結果となるとは限らない。
【0008】
即ち、ネットワークにおけるデータ伝送では、パケット送信タイミング制御の処理シーケンスに依存して、特定の送信タイミングや、特定の送信位置のパケットがロスし易いという特徴がある。したがって、動画像データの伝送において、フレーム内の位置情報から重要度を判断し、重要度が高い部分から先にデータ送信を行なう場合、フレーム内の同じ位置のデータが連続して正しく再生されないため、エラー箇所が目立ち易くなるという問題が生じる。本発明は、上記の問題に鑑みてなされたものであり、その目的は、パケットロス等の伝送エラーが、再生画像に与える影響を考慮した動画像データの送信方法を提供することである。
【課題を解決するための手段】
【0009】
本発明の目的を達成するために、本発明の動画像データ送信方法は以下の構成を有する。すなわち、本発明のデータ送信方法は、1つのフレームが複数のデータに分割された動画像データの送信方法であって、前記複数のデータのそれぞれに優先度を設定する設定工程と、前記複数のデータが前記設定工程によって設定された優先度に応じた順序で送信されるように前記複数のデータの送信順序を決定するとともに、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないように、前記設定工程によって同じ優先度が設定された前記複数のデータの送信順序を決定する決定工程と、前記決定工程で決定された送信順序に基づいて前記複数のデータを送信する送信工程とを有する。
【0010】
また、本発明の動画像データ送信方法は、1つのフレームが複数のデータに分割された動画像データを複数のブロックに分けて送信する動画像データの送信方法であって、前記複数のデータのそれぞれに優先度を設定する設定工程と、前記設定工程によって設定された前記優先度の高いデータが前記各ブロックの所定の位置となるように送信順序を決定する決定工程と、前記決定工程によって決定された送信順序に基づいて複数のブロックをブロック間に間隔をあけて送信する送信工程とを有する。
【0011】
また、本発明の動画像データ送信方法は、1つのフレームが複数のデータに分割された動画像データを複数のブロックに分けて送信する動画像データの送信方法であって、1つのブロックに複数のフレームのデータが含まれ、かつ、前記1つのブロックに含まれる複数のデータのうちの1つが、フレームの先頭に対応するデータである場合、前記フレームの先頭に対応するデータが前記ブロックにおいて所定の送信順序となるように、前記フレームの先頭に対応するデータの送信順序を、フレームの先頭以外に対応するデータと入れ替える入替工程と、前記入替工程で入れ替えられた送信順序に基づいて複数のブロックをブロック間に間隔をあけて送信する送信工程とを有する。
【0012】
また、本発明の通信装置は、1つのフレームが複数のデータに分割された動画像データを送信する通信装置であって、前記複数のデータのそれぞれに優先度を設定する設定手段と、前記複数のデータが前記設定手段によって設定された優先度に応じた順序で送信されるように前記複数のデータの送信順序を決定するとともに、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないように、前記設定工程によって同じ優先度が設定された前記複数のデータの送信順序を決定する決定手段と、前記決定手段で決定された送信順序に基づいて前記複数のデータを送信する送信手段とを有する。
【0013】
また、本発明の通信装置は、1つのフレームが複数のデータに分割された動画像データを複数のブロックに分けて送信する通信装置であって、前記複数のデータのそれぞれに優先度を設定する設定手段と、前記設定手段によって設定された前記優先度の高いデータが前記各ブロックの所定の位置となるように送信順序を決定する決定手段と、前記決定手段によって決定された送信順序に基づいて複数のブロックをブロック間に間隔をあけて送信する送信手段とを有する。
【0014】
また、本発明の通信装置は、1つのフレームが複数のデータに分割された動画像データを複数のブロックに分けて送信する通信装置であって、1つのブロックに複数のフレームのデータが含まれ、かつ、前記1つのブロックに含まれる複数のデータのうちの1つが、フレームの先頭に対応するデータである場合、前記フレームの先頭に対応するデータが前記ブロックにおいて所定の送信順序となるように、前記フレームの先頭に対応するデータの送信順序を、フレームの先頭以外に対応するデータと入れ替える入替手段と、前記入替手段で入れ替えられた送信順序に基づいて複数のブロックをブロック間に間隔をあけて送信する送信手段とを有する。
【発明の効果】
【0015】
本発明によれば、パケットロス等の伝送エラーが再生画像に与える影響を考慮した動画像データの送信ができる。
【0016】
また、本発明によれば、パケットロスによるエラー箇所を分散させることができる。
【発明を実施するための最良の形態】
【0017】
以下、本発明の動画像データ送信方法を、通信機能を備えた動画像データ送信装置に適用した好適な実施形態について、図面を参照しながら説明する。
【0018】
<実施形態1>
図1は、本発明の実施に好適な動画像データ送信装置の基本構成を示すブロック図である。
【0019】
図1に示すように、動画像データ送信装置100は、動画像符号化部101、特性抽出部102、優先度設定部103、スケジューリング部104、パケット生成部105、パケット送信部106から構成されている。動画像データ送信装置100は、1つのフレームが複数のデータに分割された動画像データを送信する通信装置である。
【0020】
動画像符号化部101は、ビデオカメラやネットワークカメラなどの動画像入力部107から入力された動画像データを、例えばMPEG−4方式により符号化することでデータ量を圧縮する。尚、動画像データの符号化方式は、MPEG−4に限らずMPEG−2やH.264などを用いても良い。
【0021】
特性抽出部102は、動画像符号化部101で符号化された動画像データの分割単位ごとに特性を抽出する。尚、本実施形態における分割単位は、スライスである。また、抽出される特性には、分割単位(スライス)毎のサイズ、及び、分割単位毎の符号化データの構成情報などがある。
【0022】
符号化データの構成情報は、例えば、特定のマクロブロックの符号化タイプを用いているマクロブロックの数を示した情報である。尚、本実施形態におけるマクロブロックは、16個×16個の画素データから構成されるデータの単位である。マクロブロックの符号化タイプとして、例えば、イントラ・マクロブロックやインター・マクロブロックがある。分割単位毎の特性を抽出した特性抽出部102は、当該特性を示す特性情報109を生成し、優先度設定部103へ送る。
【0023】
優先度設定部103は、複数のデータのそれぞれの特性に基づいて当該複数のデータ毎に優先度を設定する。優先度の設定方法は後述する。
【0024】
スケジューリング部104は、少なくとも1フレーム分のデータを格納可能なバッファを備えており、優先度設定部103で設定された優先度に基づいて分割単位毎の送信順序を決定し、送信順序情報を生成する。パケット生成部105は、特性情報109と送信順序情報に基づいて、符号化された動画像データをパケット化する。そして、パケット送信部106は、パケット生成部105でパケット化されたデータを送信順序情報に従って伝送路108に送信する。伝送路108は、各種有線、無線ネットワークに代表される伝送路である。
【0025】
次に、優先度設定部103における分割単位毎の優先度の設定方法、及びスケジューリング部104における送信順序の決定方法について説明する。
【0026】
尚、本実施形態では、動画像データをスライス単位で分割して優先度の設定、及び送信順序の決定を行う。
【0027】
図2において、動画像データを構成する1つのフレーム(ピクチャ)200がスライス1(201)からスライス5(205)までの5つのスライスで構成されている。この時、各々のスライスのサイズが、それぞれ1つのパケットに格納可能なサイズである場合、特性抽出部102で生成される分割サイズ情報は、スライスのサイズと同じサイズを示すものとなる。一方、スライスのサイズが、1つのパケットに格納できない場合、特性抽出部102は、スライスを複数のパケットに分割することを意味する特性情報109を生成する。
【0028】
ここではまず、各々のスライスがそれぞれ1つのパケットに格納可能なサイズである場合の優先度の設定、及び送信順序の決定方法を、図2を用いて説明する。
【0029】
同図において、スライス1(201)からスライス5(205)までの5つのスライスがそれぞれ206から210のようなマクロブロック構成であるとする。ここで、斜線で示されているマクロブロックが、イントラ・マクロブロックである。この場合、各スライスに含まれているイントラ・マクロブロックの数は、スライス1:0個、スライス2:2個、スライス3:3個、スライス4:4個、スライス5:1個、となる。尚、実際の動画像データでは、1つのピクチャにイントラ・マクロブロックが含まれないスライスが複数存在することも多い。
【0030】
本実施形態の優先度設定部103は、個々の分割単位(スライス)に含まれるイントラ・マクロブロックの数が多いものほど高い優先度を設定する。従って、優先度の順位付けは図2に示すように優先度が高い順に、スライス4、スライス3、スライス2、スライス5、スライス1、となる。ここで、イントラ・マクロブロックは、フレーム内符号化を行うマクロブロックのことを示している。つまり、優先度設定部103は、分割した動画像データを構成するマクロブロックが、他のフレームのデータを用いて符号化されているか否かに基づいて優先度を設定する。
【0031】
ここで、イントラ・マクロブロックの数が多いものほど高い優先度を設定する理由を説明する。イントラ・マクロブロックが配置されるケースとして、例えば、予測符号化で参照される画像には無い、新たなオブジェクトが動画像内に出現した場合がある。この場合、他のフレームを参照して符号化するよりも、参照せずに符号化したほうが符号量が小さくなることがあるため、予測誤差がある基準値よりも大きくなるときに、イントラ・マクロブロックが配置される。
【0032】
そして、イントラ・マクロブロックが予測符号化の参照ブロックとなる場合、一般に、参照階層が低いうちは予測誤差が小さい為、他のマクロブロックと比較すると、そのマクロブロックの参照系列に、新たにイントラ・マクロブロックが配置される可能性は低くなる。
【0033】
つまり、もしイントラ・マクロブロックが伝送エラーにより受信側に届かないと、そのイントラ・マクロブロックを参照しているマクロブロックも復号処理でエラーとなる為、エラーの伝播が他のマクロブロックよりも大きくなりやすい。
【0034】
よって、分割単位(スライス)に含まれるイントラ・マクロブロックの数が多いものほど高い優先度を設定する。尚、優先度を設定する方法として、イントラ・マクロブロックの数を用いたが、分割単位(スライス)毎のイントラ・マクロブロックの割合を用いるようにしても良い。このとき、各分割単位に含まれるイントラ・マクロブロックの割合(例えば、30%以上、10%以下など)と、その割合に対して設定する優先度を予め決めておくことも可能である。このようにすることで、各分割単位(例えばビデオパケット)のマクロブロック数が異なる動画像データに対して、優先度の設定を効率良く行うことができる。
【0035】
また、イントラ・マクロブロックは他のマクロブロックと比較してデータサイズが大きいことから、スライスに格納されているマクロブロックの平均サイズが大きいものに高い優先度を設定するようにしても良い。すなわち、優先度設定部103による優先度の設定は、分割したデータのデータサイズに基づいて行っても良い。このようにすることで、マクロブロックのタイプを参照することなく優先度を設定できるようになり、処理の簡略化を図ることができる。
【0036】
また、スケジューリング部104は、優先度が高いスライスから順に送信するように送信順序を決定するが、優先度が同じスライスについては、それらのスライスがラスター順とは異なる順序で送信されるように送信順序を決定する。即ち、スケジューリング部104は、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないように、優先度設定部103によって同じ優先度が設定された複数のデータの送信順序を決定する。
【0037】
これは下記の理由による。即ち、ネットワークの輻輳などによりパケットロスが発生する状況では、パケット送信タイミング制御の処理シーケンスに依存して、特定の送信タイミングや、特定の送信位置のパケットがロスし易いという問題がある。
【0038】
通常の動画像データの送信装置では、動画像データを分割して送信する場合、例えばラスター順など、決まった順序で送信することが多い。このため、複数の連続するフレームにおいて、フレーム中の同じような箇所のデータがパケットロスにより欠落する危険がある。そこで、本実施形態のスケジューリング部104は、同じ優先度が設定されたスライスの送信順序を、例えばランダムに割り当てることによってラスター順とは異なる送信順序となるように決定する。このようにすることで、パケットロスによるエラー箇所を分散させることができる。
【0039】
次に、1つのスライスが1つのパケットに格納できない場合の優先度の設定、及び送信順序の決定方法について図3を用いて説明する。図3は、1つのフレーム(ピクチャ)がスライス1(301)からスライス5(305)で構成されており、パケット化の際には分割位置306、及び各スライスの区切りで分けられることを示している。この場合、1つのスライスのデータが複数に分けられる。
【0040】
ここで、図3に示すように各スライスが複数に分かれても、優先度はスライス単位で設定する。また、送信順序についても、1つのスライスのデータは1つの固まりとして連続して送信されるように送信順序を決定する。
【0041】
これは、複数のパケットが連続して欠落する場合に、1つのスライスのデータを分散して送信すると、データの一部が欠落したスライスが多くなってしまうことにより、復号の際にエラーとなるスライスが増加することを防ぐためである。尚、上記のスライスの単位は、MPEG−4の場合、再同期マーカーで分割されたビデオパケットに相当する。即ち、パケットのサイズに関わらず、ある分割単位で生じたパケットロスが、他の分割単位の再生に影響を与えない単位(スライス、ビデオパケット)で、優先度の設定や送信順序の決定を行う。
【0042】
尚、符号化方式がMPEG−4で、再同期マーカー(データの再生位置を示す同期情報)が含まれない場合がある。その場合、優先度設定部103は、各フレームの先頭のスライス、即ちVOP(Visual Object Plane)のヘッダを含む分割データの優先度を最も高く設定する。そして、スケジューリング部104は、フレームの先頭以外にデータの再生位置を示す同期情報が含まれていない場合、フレームの先頭に対応するデータが所定の順序で送信されるように送信順序を決定する。
【0043】
これは、再同期マーカーが含まれないデータにおいては、VOPのヘッダに当該フレームの復号に必要な情報が含まれているためである。
【0044】
次に、本実施形態における優先度設定部103による優先度の設定、及びスケジューリング部104による送信順序の決定処理について図8のフローチャートを用いて説明する。
【0045】
まず、S801(設定手順)において、優先度設定部103は、前述した特性抽出部102で生成された分割単位(スライス)毎のサイズ情報及び符号化データの構成情報に基づき、スライスごとに優先度を設定し、S802に進む。すなわち、S801では、優先度設定部103が、1つのフレームを分割した複数のデータのそれぞれに優先度を設定する。
【0046】
そしてS802において、スケジューリング部104は、優先度設定部103によって同一フレーム内に同じ優先度が設定されているスライスがあるか否かを判定する。S802において、同じ優先度が設定されているスライスがあると判定された場合はS803へ、ないと判定された場合はS804へ進む。
【0047】
S803では、スケジューリング部104が、同じ優先度が設定されたスライスが、ラスター順とは異なる順序で送信されるように、例えばランダムに送信順序を割り当てる。ただし、S803における送信順序の割り当て方は、ランダムに限らず何らかの規則を用いても良い。
【0048】
そして、S804(決定手順)では、スケジューリング部104が、S801で設定された優先度と、S803で割り当てられた送信順序に基づき、全てのパケットの送信順序を決定し、送信順序情報を生成する。つまり、スケジューリング部104は、S803、及びS804によって以下の処理を行う。即ち、S801で設定された優先度に応じた順序で送信されるように複数のデータの送信順序を決定すると共に、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないよう、同じ優先度が設定された複数のデータの送信順序を決定する。
【0049】
そして、S805(送信手順)では、パケット生成部105が、生成された送信順序情報に基づいてパケットを生成し、そのパケットをパケット送信部106が伝送路108へ送信する。すなわち、パケット送信部106は、S805において、スケジューリング部104で決定された送信順序に基づいて、動画像データを伝送路108へ送信する。
【0050】
以上説明したように、本実施形態では、1つのフレームが複数のデータ(スライス)に分割された動画像データを送信する際に、分割単位(スライス)ごとに設定した優先度に応じた順序で送信されるように、分割単位毎の送信順序を決定する。また、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないように、同じ優先度が設定された分割単位の送信順序を決定する。このようにすることで、パケットの欠落による影響が大きいパケットのロスを低減できる。また、パケットロスによるエラー箇所を分散させることができる。
【0051】
<実施形態2>
次に、優先度とパケットの送信タイミングの制御を組み合わせて送信順序を決定する実施形態について説明する。
【0052】
図4は、パケットの送信タイミングの制御方法のパターンを示す図である。
【0053】
図4において、(A)送信制御なしは、特に送信タイミングの制御を行なわず、1フレーム分のパケットを連続してネットワークに送信する場合のパケットの送信間隔を示している。
【0054】
また(B)送信制御1は、パケットを送信していない時間を利用して、パケットの送信間隔を均等に広げることで、ネットワーク経路のルーターなどにおけるバッファあふれによるデータ損失を少なくする制御方法を示している。
【0055】
続いて(C)送信制御2は、1つのクロック・タイミングで複数のパケットをバースト送信することで、パケットの送信間隔を平均化する制御方法を示している。
【0056】
優先度の情報と図4の各送信制御方法を組み合わせる場合、(A)送信制御なし、及び(B)送信制御1の場合は、実施形態1で述べたような方法が適している。それはすなわち、基本的に優先度が高いスライスから順に送信し、優先度が同じものについては、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないように送信順序を決定する方法である。
【0057】
そこで、(C)送信制御2の送信制御方法と優先度を組み合わせた方法について以下に説明する。
【0058】
図5では、1つのフレーム(ピクチャ)500がスライス1〜スライス15で構成されている。
【0059】
そして、ブロック1(502)、ブロック2(503)、ブロック3(504)の各ブロックは、1回のクロック・タイミングで送信するデータを示している。このとき、同一ブロック内のスライス(例えば、スライス10とスライス6)の間隔は、異なるブロックのスライス(例えば、スライス7とスライス5)の間隔よりも小さくなる。
【0060】
また、図5における優先度501のレベル数は、各ブロック内のスライス数に依存する。即ち、まず、送信制御の基本となるクロック・タイミングと動画像データのビットレートやフレームレート、1フレーム当たりのパケット数、1フレームのスライス数などから、各クロック・タイミングで送信するスライス数を決定する。そして、決定された、各クロック・タイミングで送信するスライス数によって優先度のレベル数を決定し、優先度の判定を行う。
【0061】
本実施形態の場合、図5に示すように、1回のクロック・タイミングで送信されるスライスの数は5つなので、優先度を5つのレベルに分けて設定する。そして、同図の優先度501は、各スライスをA〜Eの5つのレベルで優先度の設定をしていることを示している。尚、本実施形態では、優先度が最も高いものをAとして、A>B>C>D>Eのように優先度を設定している。
【0062】
本実施形態は、高い優先度が設定されたスライスのデータが、各ブロックの先頭から順に送信されるように送信順序を決定する。
【0063】
詳細には、まず、優先度がAに設定されたスライス5、スライス10、スライス15が、各ブロック(502、503、504)の先頭になるように送信順序を決定する。そして、優先度Bに設定されたスライス3、スライス6、スライス8が、各ブロックの2番目となるように送信順序を決定する。以下同様に、優先度の高いスライスほど、各ブロックの先頭の近くとなるように送信順序を決定していく。尚、同じ優先度に設定された複数のスライスの送信順序が、ラスター順とは異なる順序で送信されるように、例えばランダムに割り当てることは実施形態1と同様である。
【0064】
次に、図5における優先度、及び送信順序を決定する処理フローを図9を用いて説明する。尚、実施形態2の処理は、図1に示したような動画像データ送信装置によって行われる。
【0065】
まず、S901において、特性抽出部102は、フレームやフレームを構成するスライスのサイズなどの情報から、1フレームを送信する際のパケット数、及び1フレームのスライス数を算出する。また、特性抽出部102は、S901において、前述の特性情報109を生成する。
【0066】
S902において、特性抽出部102は、S901で算出した情報に基づき、クロック・タイミング毎に送信するスライス数、及びブロックの送信間隔(クロック・タイミングの整数倍)を決定する。さらに、特性抽出部102は、決定したクロック・タイミング毎に送信するスライス数に基づいて、優先度のレベル数を決定する。本実施形態では、優先度のレベル数を1ブロック内のスライス数と同じ数になるように決定する。
【0067】
S903(設定手順)では、優先度設定部103が、S902で決定された優先度のレベル数と、特性抽出部102が生成した特性情報109に基づき、各スライスの優先度を設定し、S904へ進む。即ち、優先度設定部103は、1つのフレームが複数に分割されたデータのそれぞれに優先度を設定する。
【0068】
S904では、スケジューリング部104が、同じ優先度に設定された複数のスライスの送信順序を、ラスター順とは異なる順序で送信されるように決定する。本実施形態のS904では、同じ優先度に設定された各スライスを、どのブロックで送信するかを決定している。例えば図5において、優先度がAに設定されたスライス(5、10、15)は、ラスター順に送信順序を決めると、スライス5がブロック1、スライス10がブロック2、スライス15がブロック3の順序で送信される。しかし、本実施形態では、ラスター順とは異なる順序で、すなわち、ここでは、スライス10がブロック1、スライス5がブロック2、スライス15がブロック3という順序で送信されるように送信順序を決定している。
【0069】
そしてS905(決定手順)では、スケジューリング部104が、設定した優先度とS904にて割り当てた送信順序に基づいて全てのスライスの送信順序を決定する。さらにS905では、スケジューリング部104が、スライスの送信順序とパケットの送信タイミングの情報から、スライスをパケット化した時のパケットの送信順序、及び送信タイミングを決定し、送信順序情報を生成する。そして、スケジューリング部104は、生成した送信順序情報、及び符号化データをパケット生成部105へ送る。つまり、スケジューリング部104は、S904、及びS905によって以下の処理を行う。即ち、S903で設定された優先度に応じた順序で送信されるように複数のデータの送信順序を決定すると共に、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないよう、同じ優先度が設定された複数のデータの送信順序を決定する。さらにS906(送信手順)では、パケット生成部105が、送信順序情報と符号化データに基づいてパケットを生成し、そのパケットをパケット送信部106が伝送路108へ送信する。すなわち、パケット送信部106は、S906で、スケジューリング部104が決定した送信順序に基づいて、複数のブロックをブロック間に間隔をあけて伝送路108に送信する。
【0070】
尚、本実施形態では、特性抽出部102が、優先度のレベル数を決定してから優先度設定部103が優先度を設定したが、この方法に限らない。すなわち、例えば、先にレベル数を制限せずに優先度を設定し、その後に決定された優先度のレベル数に基づいて、設定された優先度を調整しても良い。
【0071】
次に、優先度の設定と送信順序の決定方法が、上記図5とは異なるもう1つの例について図6を参照しながら説明する。
【0072】
図6において、1つのフレーム(ピクチャ)600は、図5と同様に15個のスライスから構成されているが、各スライスの優先度601は、レベル数を制限することなく設定する。
【0073】
この時、各スライスの送信順序は、優先度順位605に示すように、優先度の高いスライスが、各ブロックの先頭から順に送信されるように決定する。
【0074】
詳細には、先頭のブロックの先頭のスライスが、フレーム内で最も優先度が高いスライス(スライス10)であり、次に優先度が高いスライス(スライス5)は2つ目のブロックの先頭のスライスとなる。以下同様にして、各ブロックの先頭のスライスが全て決まったら、次に優先度が高いスライス(スライス6)は先頭ブロックの2番目に送信するスライスというように、優先度順位605に示すように優先度毎の送信順序を決定する。
【0075】
尚、本実施形態においてフレームを構成するスライスの単位は、実施形態1と同様に、MPEG−2のスライス、又はMPEG−4の場合、再同期マーカーで分割されたビデオパケットに相当する。
【0076】
更に、スライス又はビデオパケットをパケット化の際に分割する/しないに関わらず、本実施形態における優先度と送信順序情報は、スライス又はビデオパケット単位で設定する点も実施形態1と同様である。
【0077】
次に、図6における優先度、及び送信順序を決定する処理フローを図7を用いて説明する。
【0078】
まず、S701(設定手順)において、優先度設定部103が、特性抽出部102で生成された分割サイズ情報及び符号化データの構成情報に基づき、スライス毎に優先度の設定を行なう。尚、優先度の設定は、実施形態1と同様に、各スライスに含まれるイントラ・マクロブロックの数に基づいて行う。ただし、イントラ・マクロブロックの割合や、マクロブロックの平均サイズをもとに行なっても良い。すなわち、優先度設定部103はS701において、動画像データを構成する1つのフレームを分割した、複数のデータのそれぞれに対して優先度を設定する。このとき、優先度は、複数のデータのそれぞれの特性に基づいて設定される。
【0079】
S702において、スケジューリング部104は、S701で設定された優先度について、同じ優先度が設定されたスライスがあるか否かを判定する。優先度が同じスライスがある場合はS703に進み、優先度が同じスライスがない場合はS706に進む。S703では、スケジューリング部104が、同じ優先度が設定されたスライスがラスター順とは異なる送信順序で送信されるように、例えばランダムに割り当てる。ただし、同じ優先度のスライスがラスター順に基づく順序で送信されないようにすることができれば、ランダム以外の方法で送信順序を割り当てても良い。
【0080】
一方、スライスの優先度設定と平行してS704では、特性抽出部102が、フレームやフレームを構成するスライスのサイズなどの情報から、1フレームを送信する際のパケット数、及び1フレーム当たりのスライス数を算出する。そして、S705では、特性抽出部102が、S704で算出された情報に基づき、クロック・タイミング毎に送信するスライス数及び、ブロックの送信間隔(クロック・タイミングの整数倍)を決定する。
【0081】
S706(決定手順)では、スケジューリング部104が、スライスの送信順序とパケットの送信タイミングの情報からスライスをパケット化した時の、パケットの送信順序、及び送信タイミングを決定し、送信順序情報を生成する。
【0082】
そして、S706で、スケジューリング部104は、送信順序情報、及び符号化データをパケット生成部105へ送る。つまり、スケジューリング部104は、S703、及びS706によって以下の処理を行う。即ち、S701で設定された優先度に応じた順序で送信されるように複数のデータの送信順序を決定すると共に、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないよう、同じ優先度が設定された複数のデータの送信順序を決定する。
【0083】
そして、S707(送信手順)では、パケット生成部105が、S706で決定された送信順序に基づいてパケットを生成し、そのパケットをパケット送信部106が伝送路108へ送信する。すなわち、パケット送信部106は、スケジューリング部104で決定された送信順序に基づいて、複数のブロックをブロック間に間隔をあけて伝送路108へ送信する。
【0084】
尚、本実施形態において、1つのブロックに複数のフレームのデータが含まれる場合もあり得る。そして、その場合で、かつ、ブロックに含まれる複数のデータに、フレームの先頭に対応するデータがある場合、スケジューリング部104は、S706において、以下のように処理を行う。即ち、前記フレームの先頭に対応するデータがブロックの先頭に配置されるように、前記フレームの先頭に対応するデータの送信順序を、フレームの先頭以外に対応するデータと入れ替える。つまり、1つのブロックに複数のフレームのデータが含まれ、かつ、1つのブロックに含まれる複数のデータのうちの少なくとも1つが、フレームの先頭に対応するデータである場合、以下のようにデータの入れ替えを行う。即ち、フレームの先頭に対応するデータがブロックの所定の送信順序となるように、フレームの先頭に対応するデータの送信順序をフレームの先頭以外に対応するデータと入れ替える。
【0085】
<その他の実施形態>
本実施形態における優先度の設定では、イントラ・マクロブロックの数、割合や、マクロブロックの平均サイズ等を、各フレームの分割単位ごとに比較することで行ったが、この方法に限らなくとも良い。すなわち、例えば、分割単位に含まれるイントラ・マクロブロックの数と、それに対応する優先度の関係を予め設定しておき、優先度設定部103は、イントラ・マクロブロックの数と予め設定された優先度の情報に基づいて、優先度を設定するようにしても良い。また、これらの組み合わせによって優先度を設定するようにしても良い。
【0086】
また、本実施形態では、1つのスライス(ビデオパケット)単位で優先度の設定、及び送信順序の決定を行ったが、これに限らなくとも良い。すなわち、例えば複数のスライス(ビデオパケット)単位で優先度の設定、及び送信順序の決定を行うようにしても良い。
【0087】
また、本実施形態では、符号化方式がMPEG−4で、再同期マーカーが含まれない場合、スケジューリング部104は、先頭のスライスを含む分割データが、ブロック内の所定の位置に配置されるように、フレームの先頭以外に対応するデータと入替える。尚、本実施形態では、先頭のスライスを含む分割データが、ブロックの先頭に配置されるように、フレームの先頭以外に対応するデータと入替えている。このようにすることで、フレームの復号に必要な情報を持つVOPヘッダがロスする可能性を少なくすることができる。
【0088】
また、本発明の目的は、次の形態によっても達成される。すなわち、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行する形態である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0089】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0090】
また、本発明は、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現される形態には限られない。すなわち、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOperating System(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0091】
さらに、本発明には、以下の形態も含まれる。すなわち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される形態である。
【図面の簡単な説明】
【0092】
【図1】動画像データ送信装置100の基本構成を示すブロック図である
【図2】優先度の設定方法を示す図である
【図3】スライスが複数のパケットに分かれる際の優先度の設定方法を示す図である
【図4】パケット送信タイミング制御の方法を示す図である
【図5】優先度と送信タイミング制御の組み合わせを示す図(1)である
【図6】優先度と送信タイミング制御の組み合わせを示す図(2)である
【図7】優先度を無制限に設定する場合の動画像データ送信方法の処理を示すフロー図である
【図8】優先度の設定に基づくパケット送信の処理を示すフロー図である
【図9】優先度と送信タイミング制御を組み合わせた場合の動画像データ送信方法の処理を示すフロー図である
【符号の説明】
【0093】
100 動画像データ送信装置
101 動画像符号化部
102 特性抽出部
103 優先度設定部
104 スケジューリング部
105 パケット生成部
106 パケット送信部

【特許請求の範囲】
【請求項1】
1つのフレームが複数のデータに分割された動画像データの送信方法であって、
前記複数のデータのそれぞれに優先度を設定する設定工程と、
前記複数のデータが前記設定工程によって設定された優先度に応じた順序で送信されるように前記複数のデータの送信順序を決定するとともに、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないように、前記設定工程によって同じ優先度が設定された前記複数のデータの送信順序を決定する決定工程と、
前記決定工程で決定された送信順序に基づいて前記複数のデータを送信する送信工程と
を有することを特徴とする動画像データの送信方法。
【請求項2】
1つのフレームが複数のデータに分割された動画像データを複数のブロックに分けて送信する動画像データの送信方法であって、
前記複数のデータのそれぞれに優先度を設定する設定工程と、
前記設定工程によって設定された前記優先度の高いデータが前記各ブロックの所定の位置となるように送信順序を決定する決定工程と、
前記決定工程によって決定された送信順序に基づいて複数のブロックをブロック間に間隔をあけて送信する送信工程と
を有することを特徴とする動画像データの送信方法。
【請求項3】
前記優先度は、前記複数のデータのそれぞれの特性に基づいて設定されることを特徴とする請求項1又は2記載の動画像データの送信方法。
【請求項4】
前記データは、所定の個数の画素データで構成されるマクロブロックを含み、前記設定工程における優先度の設定は、前記マクロブロックが他のフレームのデータを用いて符号化されているか否かに基づいて行われることを特徴とする請求項1乃至3記載の動画像データの送信方法。
【請求項5】
前記設定工程における優先度の設定は、前記複数のデータのそれぞれのデータサイズに基づいて行われることを特徴とする請求項1乃至3記載の動画像データの送信方法。
【請求項6】
前記決定工程は、前記動画像データを構成するフレームにおいて、フレームの先頭以外にデータの再生位置を示す同期情報が含まれていない場合、前記複数のデータのうち、各フレームの先頭に対応するデータが所定の順序で送られるように送信順序を決定することを特徴とする請求項1乃至5記載の動画像データの送信方法。
【請求項7】
1つのフレームが複数のデータに分割された動画像データを複数のブロックに分けて送信する動画像データの送信方法であって、
1つのブロックに複数のフレームのデータが含まれ、かつ、前記1つのブロックに含まれる複数のデータのうちの1つが、フレームの先頭に対応するデータである場合、前記フレームの先頭に対応するデータが前記ブロックにおいて所定の送信順序となるように、前記フレームの先頭に対応するデータの送信順序を、フレームの先頭以外に対応するデータと入れ替える入替工程と、
前記入替工程で入れ替えられた送信順序に基づいて複数のブロックをブロック間に間隔をあけて送信する送信工程と
を有することを特徴とする動画像データ送信方法。
【請求項8】
前記入替工程は、前記各フレームの先頭に対応するデータが前記ブロックの先頭に配置されるように送信順序を決定する
ことを特徴とする請求項7記載の動画像データ送信方法。
【請求項9】
1つのフレームが複数のデータに分割された動画像データを送信する通信装置であって、
前記複数のデータのそれぞれに優先度を設定する設定手段と、
前記複数のデータが前記設定手段によって設定された優先度に応じた順序で送信されるように前記複数のデータの送信順序を決定するとともに、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないように、前記設定工程によって同じ優先度が設定された前記複数のデータの送信順序を決定する決定手段と、
前記決定手段で決定された送信順序に基づいて前記複数のデータを送信する送信手段と
を有することを特徴とする通信装置。
【請求項10】
1つのフレームが複数のデータに分割された動画像データを複数のブロックに分けて送信する通信装置であって、
前記複数のデータのそれぞれに優先度を設定する設定手段と、
前記設定手段によって設定された前記優先度の高いデータが前記各ブロックの所定の位置となるように送信順序を決定する決定手段と、
前記決定手段によって決定された送信順序に基づいて複数のブロックをブロック間に間隔をあけて送信する送信手段と
を有することを特徴とする通信装置。
【請求項11】
1つのフレームが複数のデータに分割された動画像データを複数のブロックに分けて送信する通信装置であって、
1つのブロックに複数のフレームのデータが含まれ、かつ、前記1つのブロックに含まれる複数のデータのうちの1つが、フレームの先頭に対応するデータである場合、前記フレームの先頭に対応するデータが前記ブロックにおいて所定の送信順序となるように、前記フレームの先頭に対応するデータの送信順序を、フレームの先頭以外に対応するデータと入れ替える入替手段と、
前記入替手段で入れ替えられた送信順序に基づいて複数のブロックをブロック間に間隔をあけて送信する送信手段と
を有することを特徴とする通信装置。
【請求項12】
1つのフレームが複数のデータに分割された動画像データを送信するコンピュータに、
前記複数のデータのそれぞれに優先度を設定する設定手順と、
前記複数のデータが前記設定手順によって設定された優先度に応じた順序で送信されるように前記複数のデータの送信順序を決定するとともに、連続するフレームにおいて同じ位置に表示されるデータの送信順序が同一にならないように、前記設定工程によって同じ優先度が設定された前記複数のデータの送信順序を決定する決定手順と、
前記決定手順で決定された送信順序に基づいて前記複数のデータを送信する送信手順と
を実行させるためのプログラム。
【請求項13】
1つのフレームが複数のデータに分割された動画像データを複数のブロックに分けて送信するコンピュータに、
前記複数のデータのそれぞれに優先度を設定する設定手順と、
前記設定手順によって設定された前記優先度の高いデータが前記各ブロックの所定の位置となるように送信順序を決定する決定手順と、
前記決定手順によって決定された送信順序に基づいて複数のブロックをブロック間に間隔をあけて送信する送信手順と
を実行させるためのプログラム。
【請求項14】
1つのフレームが複数のデータに分割された動画像データを複数のブロックに分けて送信するコンピュータに、
1つのブロックに複数のフレームのデータが含まれ、かつ、前記1つのブロックに含まれる複数のデータのうちの1つが、フレームの先頭に対応するデータである場合、前記フレームの先頭に対応するデータが前記ブロックにおいて所定の送信順序となるように、前記フレームの先頭に対応するデータの送信順序を、フレームの先頭以外に対応するデータと入れ替える入替手順と、
前記入替手順で入れ替えられた送信順序に基づいて複数のブロックをブロック間に間隔をあけて送信する送信手順と
を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−111605(P2009−111605A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2007−280442(P2007−280442)
【出願日】平成19年10月29日(2007.10.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】