(57)【要約】【課題】ＮＡＬユニットの分割と集約によってＮＡＬユニットのパケットへの格納を最適化し，映像データ転送の効率向上とエラー訂正処理の効率向上を実現する。【解決手段】エンコーダ１が出力するＮＡＬユニットを，バッファ２１に格納して一時的に蓄える。ＮＡＬユニット組合せ決定手段２２は，バッファ２１に格納されたＮＡＬユニットの長さとパケットに格納可能な最大長に基づいて，パケットに格納できる最大長より長い第１のＮＡＬユニットを複数パケットに分割して格納したときに生じるパケットの余裕分の長さＬｆを算出し，他の短いＮＡＬユニット群から，合計の長さがＬｆに収まる第２のＮＡＬユニットを抽出して，ＮＡＬユニットの組み合わせを決定する。パケット生成手段２３は，組み合わせたＮＡＬユニットを複数パケットに分割格納してパケットを生成する。【選択図】図１
2011176408.tif 000002
【特許請求の範囲】
【請求項１】
動画像の符号化データをパケット化して送信する映像データ送信装置であって，
エンコーダが出力するＮＡＬユニットを格納して一時的に蓄えるバッファと，
前記バッファに格納されたＮＡＬユニットの長さとパケットに格納可能な最大長に基づいて，パケットに格納できる最大長より長い第１のＮＡＬユニットを複数パケットに分割して格納したときに生じるパケットの余裕分の長さを算出し，パケットのペイロードより短い他のＮＡＬユニットから，合計の長さが前記パケットの余裕分の長さに収まる第２のＮＡＬユニットを抽出し，前記第１のＮＡＬユニットと前記第２のＮＡＬユニットとの組み合わせを決定するＮＡＬユニット組合せ決定手段と，
組み合わせたＮＡＬユニットを複数パケットに分割格納してパケットを生成するパケット生成手段とを備える
ことを特徴とする映像データ送信装置。
【請求項２】
請求項１記載の映像データ送信装置において，
前記ＮＡＬユニット組合せ決定手段は，前記パケットのペイロードより短い他のＮＡＬユニットを，前記第１のＮＡＬユニットより先に送信しなければならないＮＡＬユニットと，先に送信しなくてもよいＮＡＬユニットとに分け，前記第２のＮＡＬユニットの抽出では，前記第１のＮＡＬユニットより先に送信しなければならないＮＡＬユニットを先に抽出し，前記パケットの余裕分の長さから前記先に抽出したＮＡＬユニットの合計の長さを引いた長さに収まる長さ分のＮＡＬユニットを，前記第１のＮＡＬユニットより先に送信しなくてもよいＮＡＬユニットから抽出する
ことを特徴とする映像データ送信装置。
【請求項３】
動画像の符号化データをパケット化して送信する映像データ送信方法であって，
エンコーダが出力するＮＡＬユニットをバッファに格納して一時的に蓄える過程と，
前記バッファに格納されたＮＡＬユニットの長さとパケットに格納可能な最大長に基づいて，パケットに格納できる最大長より長い第１のＮＡＬユニットを複数パケットに分割して格納したときに生じるパケットの余裕分の長さを算出し，パケットのペイロードより短い他のＮＡＬユニットから，合計の長さが前記パケットの余裕分の長さに収まる第２のＮＡＬユニットを抽出し，前記第１のＮＡＬユニットと前記第２のＮＡＬユニットとの組み合わせを決定するＮＡＬユニット組合せ決定過程と，
組み合わせたＮＡＬユニットを複数パケットに分割格納してパケットを生成するパケット生成過程とを有する
ことを特徴とする映像データ送信方法。
【請求項４】
コンピュータを，請求項１または請求項２記載の映像データ送信装置が備える前記ＮＡＬユニット組合せ決定手段と，前記パケット生成手段として機能させるための映像データ送信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，符号化された動画像データをネットワークを通して伝送させるためにパケット化する技術に関し，特に動画像データの転送効率を向上させるデータ送信技術に関するするものである。
【背景技術】
【０００２】
Ｈ．２６４／ＡＶＣで符号化された動画像データは，ＮＡＬユニット（ＮＡＬ: Network Abstraction Layer;ネットワーク抽象レイヤ）という単位に分割されて伝送や蓄積が行われる。例えば，映像データのストリーム配信におけるＲＴＰ（Real-time Transport Protocol）においては，ＲＴＰパケットへの格納がＮＡＬユニットを単位として行われる。
【０００３】
ＮＡＬユニットは，映像を圧縮符号化したデータを格納したものと，その他のＳＰＳ（シーケンスパラメータセット），ＰＰＳ（ピクチャパラメータセット) やＳＥＩ（ＶＣＬ復号用付加情報）といった符号化のパラメータ等を格納したものが存在する。ここで，前者をＶＣＬ  ＮＡＬユニット，後者を非ＶＣＬ  ＮＡＬユニットと呼ぶ。一般に，非ＶＣＬ  ＮＡＬユニットは，ＶＣＬ  ＮＡＬユニットに比べてデータ量が非常に少ない。また，その長さは標準的なＴＣＰ，ＵＤＰ，ＲＴＰのパケットサイズに比べても短い。
【０００４】
データをネットワークで伝送する場合，データはパケット化されるためパケットの長さが短いほどヘッダ等のオーバーヘッドの割合が大きくなり，転送速度が低下する。エラー訂正に用いられるＦＥＣもパケットを単位とするため，パケット長が短くなると映像データのパケット数が増加して処理効率が低下する。
【０００５】
パケット長が短くなるのを防ぐためのＮＡＬユニット格納方法に集合パケット（非特許文献１の第 231-234ページ参照）がある。集合パケットは，一つのＲＴＰパケットに複数のＮＡＬユニットを格納するものである。
【０００６】
図６，図７に集合パケットの構成を示す。集合パケットのＲＴＰペイロードには，１個のＮＡＬユニットのデータを格納してヘッダを付与した集合ユニットが複数個と，識別子等の情報を格納したヘッダ部分（図７の集合パケット識別子の部分）が格納される。図６，図７のように，集合パケットには複数の集合ユニットが格納される。
【０００７】
非ＶＣＬ  ＮＡＬユニットの数が十分多くなく，バッファに存在する，パケットのペイロードより短いＮＡＬユニットを，すべて一つのＲＴＰパケットに格納してもＲＴＰパケットの最大長に達しない場合には，集合パケットの最後尾に空き領域の断片（フラグメント）が発生する。
【０００８】
図８は，ｋ個のパケットにｍ個のＮＡＬユニットを格納し，その直後にパケットのペイロードより長いＶＣＬ  ＮＡＬユニットが続く場合の例を示している。この長いＮＡＬユニットは，それ以前のｋ個のパケットとは別のパケットに格納する必要があり，ｋ番目のパケットにフラグメントが生じる。図８のパケットｋに示すとおり，この現象はエンコーダから出力される非ＶＣＬ  ＮＡＬユニットの数によらず，後続するＶＣＬ  ＮＡＬユニットとの境界で必ず発生する。
【０００９】
図６に示したＲＴＰペイロードにおいて，破線の部分はフラグメントである。このように短いＮＡＬユニットの数が十分な場合であっても，パケット最後尾の空き領域の長さがどのＮＡＬユニットを格納するのにも足りない場合には，フラグメントが発生する。同様のことは，図８のパケット１，パケット２，…でも示されている。ここで発生するフラグメントの長さは，そのパケットに格納するＮＡＬユニットの組み合わせに依存する。
【００１０】
一方，ＲＴＰパケットに，パケットのペイロードより長いＮＡＬユニットを格納する方法に分割ユニットを用いる方法がある（非特許文献１の第 231ページ，第 234-236ページ参照）。分割ユニットは，一つのＮＡＬユニットを分割して複数のパケットに格納するものである。
【００１１】
図９，図１０に分割ユニットの構成を示す。図９は長いＮＡＬユニットであるＶＣＬ  ＮＡＬユニットをｋ個の部分に分割して，ｋ個のパケットに格納した図であり，図１０はＨ．２６４の分割パケットの構造を表す図である。分割ユニットを格納したＲＴＰペイロードには，分割したＮＡＬユニットのデータのうち，ＮＡＬユニットヘッダを除いた部分が格納されて，さらにヘッダとして識別子等のデータが付与される。
【００１２】
ここで，ｋ個目のパケットには，ＮＡＬユニットの最後のデータが格納されているが，その長さは最大のＲＴＰパケット長に達せず，フラグメントが生じる。分割ユニットを用いて長いＮＡＬユニットをパケットに格納する場合には，このフラグメントが必ず発生する。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】大久保，角野，菊池，鈴木：「改訂版Ｈ．２６４／ＡＶＣ教科書」，インプレスＲ＆Ｄ，ＩＳＢＮ９７８−４−８４４３−２２０４−７。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
集合パケットによるＨ．２６４のＲＴＰ伝送では，パケットのペイロードより短いＮＡＬユニットとパケットのペイロードより長いＮＡＬユニットの境界でパケット内のフラグメントが発生し，伝送効率やＦＥＣ（前方誤り訂正機能：Forward Error Correction）処理が低下する。また，分割ユニットを用いて長いＮＡＬユニットを分割して格納した最後のパケットの内部にもフラグメントが発生して，同様に効率が低下する。
【００１５】
本発明は，分割パケットと集合パケットの両方の機能をもつパケット構造を導入して，この問題を解決する。同時に，パケットに格納するＮＡＬユニットの組み合わせを最適化することで，集合パケットの最後尾で発生するフラグメントを減少させることを目的とする。
【課題を解決するための手段】
【００１６】
この目的を達成するために，本発明は，エンコーダが出力するＮＡＬユニットを一定期間格納するバッファと，ＮＡＬユニットの長さとパケット長の最大値を用いて，パケット内のフラグメントを最小化するＮＡＬユニットの組み合わせを決定する手段と，組み合わせたＮＡＬユニットをパケットに分割格納してパケットを生成する手段とを備えることを特徴とする。
【００１７】
本発明の作用は，以下のとおりである。長いＮＡＬユニットの前後に短いＮＡＬユニットを連結して複数パケットに格納するので，従来，次に長いＮＡＬユニットが来る場合に短いＮＡＬユニットを格納したパケットの末尾に発生していたフラグメントを，その部分に長いＮＡＬユニットのデータの一部を格納して，減少させることができる。
【００１８】
また，従来，長いＮＡＬユニットを格納した最後のパケットの末尾に発生していたフラグメントを，その部分に短いＮＡＬユニットを格納するか，または，長いＮＡＬユニットの最後尾がパケットの最後尾に格納されるように長いＮＡＬユニットのパケット中の格納位置をその前に格納するＮＡＬユニットの合計の長さによって調整することで減少させることができる。
【００１９】
このように，最適に組み合わされた複数のＮＡＬユニットからなるデータを複数パケットに格納することで，どのＮＡＬユニットの転送遅延も増加させることなく，平均パケット長を増加させ，転送効率を向上させる。
【００２０】
また，これによってパケット単位の処理を行うＦＥＣの処理効率を向上させることができる。
【発明の効果】
【００２１】
本発明によれば，１パケットに格納できるデータ量が増加して，データ伝送速度が向上する。また，同一データを伝送するのに必要なパケット数が減少し，ＦＥＣの処理効率が向上する。
【図面の簡単な説明】
【００２２】
【図１】本発明に係る映像データ送信装置の構成例を示す図である。
【図２】複数のＮＡＬユニットを組み合わせたデータ系列の例とＮＡＬユニットのパケットへの格納状態を示す図である。
【図３】第１の例におけるＮＡＬユニット組合せ決定手段とパケット生成手段の処理を示すフローチャートである。
【図４】第１の例におけるＮＡＬユニット組合せ決定手段とパケット生成手段の処理を示すフローチャートである。
【図５】第２の例におけるＮＡＬユニット組合せ決定手段とパケット生成手段の処理を示すフローチャートである。
【図６】Ｈ．２６４の集合パケットの構造を表す図である。
【図７】Ｈ．２６４の集合パケットの構造を表す図である。
【図８】Ｈ．２６４のＮＡＬユニットのパケットへの格納の状態を表す図である。
【図９】パケット内のフラグメントの状態を表す図である。
【図１０】Ｈ．２６４の分割パケットの構造を表す図である。
【発明を実施するための形態】
【００２３】
［背景技術］の項で述べたように，Ｈ．２６４／ＡＶＣで符号化された動画像データはＮＡＬユニットと呼ばれる部分に分割され，ＮＡＬユニットはＲＴＰなどのパケットへの格納やファイルへの格納の際の格納単位となる。Ｈ．２６４／ＡＶＣをストリーム配信する場合，平均パケット長が短くパケット数が多いとオーバーヘッドが増加して配信効率が低下する。また，ＲＴＰによるストリーム配信ではエラー訂正のためにＦＥＣが用いられることが多いが，ＦＥＣはパケットを単位として行われ，最大のパケット長に満たないパケットは足りない部分にパディングデータを埋めることで処理を行う。よって，ここでも短いパケットは効率の低下につながる。
【００２４】
そこで，本発明では，ＮＡＬユニットの分割と集約によってＮＡＬユニットのパケットへの格納を最適化することで，データ転送の効率向上とエラー訂正処理の効率向上を実現する。以下に，その実施例を説明する。
【００２５】
図１に，映像データ送信装置の構成例を示す。図１において，エンコーダ１は，映像信号をＨ．２６４／ＡＶＣ符号化方式により符号化する。映像データ送信装置２は，Ｈ．２６４／ＡＶＣのエンコーダ１から出力されるデータをパケット化してネットワークに送信する。
【００２６】
このデータ送信のため，映像データ送信装置２は，ＲＴＰ送信部２０を備え，ＲＴＰ送信部２０は，エンコーダ１の出力するＨ．２６４／ＡＶＣデータであるＮＡＬユニット・データを一時的に蓄えるバッファ２１，パケット化するＮＡＬユニットの組み合わせを決定するＮＡＬユニット組合せ決定手段２２，ＮＡＬユニットをパケットに格納してパケットを生成するパケット生成手段２３を持つ。
【００２７】
本装置は，パケットに格納できるデータ長の最大値より短いＮＡＬユニットとそれより長いＮＡＬユニットを同一パケットに格納する構造を持たせ，従来は集合パケット内と，長いＮＡＬユニットを分割格納した最後尾のパケット内に発生した空き領域の断片（フラグメント）を減少させ，パケット化のオーバーヘッドを減少させることができる。
【００２８】
本例では，ＲＴＰによる伝送のための方式について述べる。ＲＴＰパケットによらず，最大長の決まっている一般のパケットに適用可能である。
【００２９】
［第１の例］
以下に本方式によるＮＡＬユニットのパケットへの格納の手続きを述べる。
【００３０】
〔ステップ１〕：エンコーダ１が出力するＨ．２６４で符号化された映像データのＮＡＬユニットは，エンコーダ１の出力する順にバッファ２１に格納される。
【００３１】
〔ステップ２〕：バッファ２１に格納されたＮＡＬユニットを対象として，ＮＡＬユニット組合せ決定手段２２は，パケットに格納するＮＡＬユニットの組み合わせを決定する。
【００３２】
以下は，ＮＡＬユニットの組み合わせを決定する手続きである。
【００３３】
バッファ２１中に存在するｎ１個（ｎ１≧１）の短い，つまりパケットの最大のペイロードより短く１パケットに格納可能なＮＡＬユニット（通常，ＳＰＳ，ＰＰＳ，ＳＥＩ等を格納した非ＶＣＬ  ＮＡＬユニット）を，
ＳＮ（１），ＳＮ（２），ＳＮ（３），…，ＳＮ（ｎ１）
とし，１パケットに格納しきれない長いＮＡＬユニット（通常，スライスのデータを符号化したＶＣＬ  ＮＡＬユニット）のうち最初のものを，
ＬＮ（１）
とする。
【００３４】
ＮＡＬユニット組合せ決定手段２２は，ＳＮ（１），ＳＮ（２），ＳＮ（３），…，ＳＮ（ｎ１）を，次のようにｍ１個とｍ２個（ｍ１＋ｍ２＝ｎ１）のＮＡＬユニットに分類する。
【００３５】
ＳＮ１（１），ＳＮ１（２），…，ＳＮ１（ｍ１）  
ＳＮ２（１），ＳＮ２（２），…，ＳＮ２（ｍ２）  
ここで，ＳＮ１（１）〜ＳＮ１（ｍ１）は，ＬＮ（１）より先に送信しなければならないＮＡＬユニットであり，ＳＮ２（１）〜ＳＮ２（ｍ２）は，それ以外のＮＡＬユニットである。ＳＮ１（１）〜ＳＮ１（ｍ１）に分類する基準の一例は，ＬＮ（１）が符号化しているスライスとピクチャに関わるパラメータ等の情報を格納しているＮＡＬユニットであることである。
【００３６】
ＲＴＰパケットにＮＡＬユニットを格納するペイロードの最大サイズを，Ｌｐとすると，ＬＮ（１）は，最大で長さがＬｐとなる複数の部分に分割したデータとしてｋ個のパケットに格納されると，最後のパケットには空きができ，フラグメントが発生する。フラグメントの長さＬｆは，                                                                  Ｌｆ＝ｋ×Ｌｐ−Ｌ（ＬＮ（１））              ……  式（１）
である。Ｌ（ＬＮ（１））は，ｋ個のパケットに格納する際のＮＡＬユニットＬＮ（１）のｋ個の部分の合計のデータ長である。
【００３７】
ここで，ｍ２個のＳＮ２（１）〜ＳＮ２（ｍ２）のＮＡＬユニットの中からｍ２′個のＮＡＬユニット（ｍ２′≧0 ）を次の条件を満たすように選ぶ。
【００３８】
ここで，ｍ２′個のＮＡＬユニットの選び方は，例えば
〔選出方法１〕：ｍ１＋ｍ２′個のＮＡＬユニットを格納するパケットのフラグメントの長さを最小化する組み合わせ（後述），
〔選出方法２〕：エンコーダ１から出力される順にパケットに格納，
という複数の方法がとれる。〔選出方法２〕は計算量が少ないが，パケット化の効率は低下する。
【００３９】
［条件］
前記ｍ１個とｍ２′個のＮＡＬユニットをそれぞれパケットに格納するときの合計の長さを
Ｌ１，Ｌ２  
としたとき，
Ｌ１＜Ｌｆならば，Ｌ１＋Ｌ２＜Ｌｆ            ……式（２）
を満たし，
Ｌｆ≦Ｌ１＜Ｌｐならば，Ｌ１＋Ｌ２＜Ｌｆ＋Ｌｐ      ……式（２′）
を満たす。
【００４０】
なお，ここではＬ１≦Ｌｐと仮定したが，Ｌ１＞Ｌｐとなるとき，つまり，ＳＮ１（１）〜ＳＮ１（ｍ１）の合計の長さが，パケットの最大長Ｌｐを超えるとき，次の手続きによって，Ｌ１＜Ｌｐとすることができる。
【００４１】
［Ｌ１＜Ｌｐとする手続き］
まず，ＳＮ１（１）〜ＳＮ１（ｍ１）の中から，合計の長さＬ１′が，Ｌ１′≦Ｌｐとなるｍ１′個のＮＡＬユニットＳＮ１′（１），ＳＮ１′（２），…，ＳＮ１′（ｍ１′）を選択する。このｍ１′個のＮＡＬユニットから１個以上の集合パケットをパケット生成手段２３で生成して，送出する。
【００４２】
ＳＮ１（１）〜ＳＮ１（ｍ１）からＳＮ１′（１）〜ＳＮ１′（ｍ１′）を除いて残ったＮＡＬユニットを，ＳＮ１″（１），ＳＮ１″（２），…，ＳＮ１″（ｍ１″）とし，その合計の長さをＬ１″とする。
【００４３】
ここで，ｍ１′個のＮＡＬユニットの選び方は，例えば以下の複数の方法がある。
〔選出方法１〕：ｍ１′個のＮＡＬユニットを格納するパケットのフラグメントの長さを最小化する組み合わせ（後述）。
〔選出方法２〕：エンコーダ１から出力される順にパケットに格納することを，Ｌ１″＜Ｌｆとなるまで繰り返す。
【００４４】
後者の〔選出方法２〕は計算量が少ないが，パケット化の効率は低下する。なお，〔選出方法２〕では，複数のＮＡＬユニットを一つのパケットに格納する集合パケットとして構成するのが効率がよい。
【００４５】
残ったｍ１″個のＮＡＬユニットＳＮ１″（１），ＳＮ１″（２），…，ＳＮ１″（ｍ１″）を，新たにＳＮ１（１），ＳＮ１（２），…，ＳＮ１（ｍ１）とし，
その合計の長さをＬ１とみなせば，常に，Ｌ１＜Ｌｐと仮定することができる。
【００４６】
〔ステップ３〕：選ばれたＮＡＬユニットのデータをバッファ２１から取り除き，パケット生成手段２３へ出力する。
【００４７】
〔ステップ４〕：ｍ１個のＮＡＬユニットの直後にＬＮ（１）を接続し，その直後にｍ２′個のＮＡＬユニットを接続したデータ系列Ｎを作成する。つまり，Ｎは，
ＳＮ１（１）ＳＮ１（２）…ＳＮ１（ｍ１）ＬＮ（１）ＳＮ２（１）ＳＮ２（２）…ＳＮ２（ｍ２′）
というデータになる。
【００４８】
図２（Ａ）に，作成されたデータ系列Ｎの例を示す。これを，図２（Ｂ）に示すように複数パケットに分割して格納する。すなわち，パケット生成手段２３は，データ系列Ｎを一つのＮＡＬユニットとみなして，通常のＨ．２６４／ＡＶＣと同様に分割ユニット（非特許文献１の第 231ページ，第 234-236ページ参照）に分割して，複数パケットに格納する。
【００４９】
図３および図４は，ＮＡＬユニット組合せ決定手段２２が，パケットに格納するＮＡＬユニットの組み合わせを決定し，パケット生成手段２３が，それらをパケットに格納して送出する手続きを示すフローチャートである。
【００５０】
処理Ｐ１：短いＮＡＬユニットのうち，長いＮＡＬユニットＬＮ（１）より先に送らなければならないＮＡＬユニットＳＮ１（１），ＳＮ１（２），ＳＮ１（３），…，ＳＮ１（ｍ１）の合計の長さをＬ１とし，パケット長をＬｐとする。
【００５１】
処理Ｐ２：Ｌ１とＬｐの大小を比較し，Ｌ１がＬｐより大きい場合，処理Ｐ３へ進み，Ｌ１がＬｐ以下であれば，処理Ｐ７へ進む。
【００５２】
処理Ｐ３：ＳＮ１（１），ＳＮ１（２），ＳＮ１（３），…，ＳＮ１（ｍ１）の集合をＳＮとし，ＳＮの中から合計の長さＬ１′がＬｐ以下で，Ｌｐに最も近い値になるｍ１′個のＮＡＬユニットを選択する。選択したＮＡＬユニットを，
ＳＮ１′＝｛ＳＮ１′（１），ＳＮ１′（２），ＳＮ１′（３），…，ＳＮ１′（ｍ１′）｝とする。
【００５３】
処理Ｐ４：ＳＮ１′（１），ＳＮ１′（２），ＳＮ１′（３），…，ＳＮ１′（ｍ１′）をパケットに格納する。
【００５４】
処理Ｐ５：パケット生成手段２３からパケットを送出する。
【００５５】
処理Ｐ６：次に，ＳＮ１からＳＮ１′を取り除いたものを，新たに，
ＳＮ＝｛ＳＮ１（１），ＳＮ１（２），ＳＮ１（３），…，ＳＮ１（ｍ１−ｍ１′）とし，ｍ１−ｍ１′をｍ１とする。また，ＳＮ１（１），ＳＮ１（２），ＳＮ１（３），…，ＳＮ１（ｍ１−ｍ１′）の合計の長さをＬ１とする。その後，処理Ｐ２に戻り，同様に処理を繰り返す。
【００５６】
処理Ｐ７：ＳＮ１（１），ＳＮ１（２），ＳＮ１（３），…，ＳＮ１（ｍ１）を連接したデータ系列Ｎ（Ｎ＝ＳＮ１（１）ＳＮ１（２）ＳＮ１（３）…ＳＮ１（ｍ１））を作る。
【００５７】
処理Ｐ８：ＮとＬＮ（１）を連接したものを新たにＮとする。
【００５８】
処理Ｐ９：Ｌ１とＬｆの大小を比較し，Ｌ１がＬｆより小さければ，処理Ｐ１０へ進み，そうでなければ，処理Ｐ１１へ進む。
【００５９】
処理Ｐ１０：ＳＮ２（１），ＳＮ２（２），ＳＮ２（３），…，ＳＮ２（ｍ２）から，合計の長さＬ２′がＬｆ−Ｌ１となるｍ２′個のＮＡＬユニットを選択し，選択したＮＡＬユニットを，ＳＮ２′（１），ＳＮ２′（２），…，ＳＮ２′（ｍ２′）とする。その後，処理Ｐ１２へ進む。
【００６０】
処理Ｐ１１：ＳＮ２（１），ＳＮ２（２），ＳＮ２（３），…，ＳＮ２（ｍ２）から，合計の長さＬ２′がＬｆ＋ＬＰ−Ｌｆとなるｍ２′個のＮＡＬユニットを選択し，選択したＮＡＬユニットを，ＳＮ２′（１），ＳＮ２′（２），ＳＮ２′（３），…，ＳＮ２′（ｍ２′）とする。
【００６１】
処理Ｐ１２：ＮとＳＮ２′（１），ＳＮ２′（２），ＳＮ２′（３），…，ＳＮ２′（ｍ２′）とを連接して，新たなＮとする。
【００６２】
処理Ｐ１３：Ｎを複数パケットに分割格納する。
【００６３】
処理Ｐ１４：パケット生成手段２３からパケットを送出する。
【００６４】
以上の処理によって，フラグメントの総量が減少し，全体としてのパケット数が減少する。加えて，長いＮＡＬユニットを含めたすべてのＮＡＬユニットについて，格納に必要なパケット数は従来方式よりも増加することはない。また，従来方式でそれぞれ格納するパケットよりも後ろのパケットに格納しないようにＮＡＬユニットを選択することができる。よって，パケット損失によるＮＡＬユニット毎のエラー耐性等の低下は少なく，パケット送出の遅延の増加も防ぐことができる。
【００６５】
ＮＡＬユニットの長さはそれぞれ異なるため，格納するＮＡＬユニットの組み合わせで集合ユニットのデータ長は変動し，集合パケットの全体の長さも変動する。例えば，図６の集合パケットＢは，集合パケットＡよりもフラグメントが小さい。式（２）で，Ｌ１＋Ｌ２を最適化する問題（図３の処理Ｐ３および図４の処理Ｐ１０，Ｐ１１）は，ナップザック問題として知られ，良い近似解を与える効率のよい多項式時間アルゴリズムが存在する。前記手続きにおける，各集合パケットのフラグメント長が最小になるようなＮＡＬユニットの選択も同様にナップザック問題を解くことにより得られる。また，最適化を考慮せず，バッファ２１への到着順でもよい。
【００６６】
なお，図２（Ａ）に示したデータ系列Ｎの作成例では，ＳＮ２（１）ＳＮ２（２）…ＳＮ２（ｍ２′）はすべてＬＮ（１）の後ろに格納したが，その一部または全部をＬＮ（１）の前に格納してもよい。
【００６７】
ＳＮ１（ｋ）の個数とＳＮ２（１），ＳＮ２（２），…，ＳＮ２（ｍ２′）の長いＮＡＬユニットに対する格納位置によって，短いＮＡＬユニットの格納位置は，以下の３種類に設定できる。
【００６８】
〔パタン１：前だけに詰める〕
すべての短いＮＡＬユニットを長いＮＡＬユニットの前に格納する。
【００６９】
〔パタン２：後ろだけに詰める〕
すべての短いＮＡＬユニットを長いＮＡＬユニットの後ろに格納する。
【００７０】
この場合，ＬＮ（１）が長いとき，ＬＮ（１）の後ろのＮＡＬユニットが来なくても，パケット送出を開始できる。
【００７１】
〔パタン３：前と後ろに詰める〕
一部の短いＮＡＬユニットを長いＮＡＬユニットの前に格納し，残りの短いＮＡＬユニットを長いＮＡＬユニットの後に格納する。
【００７２】
［第２の例］
第２の例として，長いＮＡＬユニットが複数存在する場合の例について説明する。前述した第１の例を繰り返すことで，長いＮＡＬユニットが複数存在する場合にも対応できる。
【００７３】
バッファ２１中に，ｎ１個の短いＮＡＬユニット
ＳＮ（１），ＳＮ（２），ＳＮ（３），…，ＳＮ（ｎ１）
と，ｎ２個の長いＮＡＬユニット（通常，ＶＣＬ  ＮＡＬユニット）
ＬＮ（１），ＬＮ（２），ＬＮ（３），…，ＬＮ（ｎ２）
が存在する場合，ＬＮ（ｉ）を分割パケットに格納した場合のフラグメントの長さを，
Ｌｆ（ｉ）
とする。ここで，短いＮＡＬユニットＳＮ（１），ＳＮ（２），ＳＮ（３），…，ＳＮ（  ｎ１）を，
ＳＮ１（１），ＳＮ１（２），…，ＳＮ１（ｍ１）
ＳＮ２（１），ＳＮ２（２），…，ＳＮ２（ｍ２）
に２分割し，第１の例のように，ＬＮ（１）の前後に短いＮＡＬユニットを接続してパケットに格納する。ＬＮ（１）の前後に格納した短いＮＡＬユニットを除いて，パケットに格納されずに残った短いＮＡＬユニットを，再びＳＮ（１），ＳＮ（２），ＳＮ（３），…，ＳＮ（ｎ１）とみなして，ＬＮ（２）からＬＮ（ｎ２）まで，各ＬＮ（ｉ）について順次この操作を繰り返す。ここで，各ＬＮ（ｉ）を格納する際のフラグメントは，式（１）と同様に，
Ｌｆ＝ｋ×Ｌｐ−Ｌ（ＬＮ（ｉ））            ……式（１′）
で得られる。Ｌ（ＬＮ（ｉ））は，ｋ個のパケットに格納する際のＮＡＬユニットＬＮ（ｉ）のｋ個の部分の合計のデータ長である。
【００７４】
図５は，この第２の例におけるＮＡＬユニット組合せ決定手段２２とパケット生成手段２３の処理を示すフローチャートである。
【００７５】
処理Ｐ２０：バッファ２１内のすべての短いＮＡＬユニットの集合を，
ＳＮ＝｛ＳＮ（１），ＳＮ（２），ＳＮ（３），…，ＳＮ（ｎ１）｝
とし，バッファ２１内のすべての長いＮＡＬユニットの集合を，
ＬＮ＝｛ＬＮ（１），ＬＮ（２），ＬＮ（３），…，ＬＮ（ｎ２）｝
とする。
【００７６】
処理Ｐ２１：ループカウンタｉを１に初期化する。
【００７７】
処理Ｐ２２：短いＮＡＬユニットの集合ＳＮを，長いＮＡＬユニットより先に送信しなければならないＮＡＬユニットの集合ＳＮ１と，そうでないものの集合ＳＮ２とに分割する。
【００７８】
ＳＮ１＝｛ＳＮ１（１），ＳＮ１（２），ＳＮ１（３），…，ＳＮ１（ｍ１）｝
ＳＮ２＝｛ＳＮ２（１），ＳＮ２（２），ＳＮ２（３），…，ＳＮ２（ｍ２）｝
処理Ｐ２３：ＳＮ１，ＳＮ２，ＬＮ（ｉ）を，図３および図４で説明した手続きに基づいてパケットに格納して送信する。ここで，パケットに格納したＮＡＬユニットの集合をＳＮ′とする。
【００７９】
処理Ｐ２４：ＳＮからＳＮ′を取り除いたものを，新たな集合ＳＮとし，ループカウンタｉに１を加算する。
【００８０】
処理Ｐ２５：ループカウンタｉがｎ２以下であるかどうか，すなわち最終のＮＡＬユニットまでの送信が未終了であるかどうかを判定し，未終了である場合には，処理Ｐ２２へ戻って，同様に処理を繰り返す。最終のＮＡＬユニットまでの送信が終了した場合には，本処理を終了する。
【００８１】
本発明は，Ｈ．２６４／ＡＶＣのエンコーダ１におけるパケット生成だけでなく，送信途中でパケットサイズを変更するなどのパケットの構成を変更する際の処理にも適用することができる。
【００８２】
以上の映像データ送信の処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【符号の説明】
【００８３】
１    エンコーダ
２    映像データ送信装置
２０  ＲＴＰ送信部
２１  バッファ
２２  ＮＡＬユニット組合せ決定手段
２３  パケット生成手段
【図１】
2011176408.tif 000003
【図２】
2011176408.tif 000004
【図３】
2011176408.tif 000005
【図４】
2011176408.tif 000006
【図５】
2011176408.tif 000007
【図６】
2011176408.tif 000008
【図７】
2011176408.tif 000009
【図８】
2011176408.tif 000010
【図９】
2011176408.tif 000011
【図１０】
2011176408.tif 000012