説明

符号化装置、符号化方法、および符号化プログラム

【課題】出力するデータ全体に占める付加データの割合を適切に減少させることができる符号化装置、符号化方法、および符号化プログラムを提供する。
【解決手段】テレビ会議装置は、符号化データを出力する出力先の機器との間のネットワークのMTUサイズを計測する(S2)。計測したMTUサイズで符号化データを分割した場合に、オーバーヘッド割合が目標値となる符号化データのデータサイズを、設定値として設定する(S4〜S11)。オーバーヘッド割合とは、出力するデータ全体に対する付加データの割合である。付加データとは、ネットワーク通信を行うために、分割したデータに新たに付加されるデータである。テレビ会議装置は、設定値として設定されたデータサイズに画像データを符号化する(S11)。計測されたMTUサイズで符号化データを分割して機器に出力する(S12)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化したデータを分割してネットワークに出力する符号化装置、符号化方法、および符号化プログラムに関する。
【背景技術】
【0002】
従来、動画像のデータを符号化してネットワークに出力する際にデータを分割する装置が知られている(例えば、特許文献1参照)。この装置では、1回の出力で送信できるデータグラムの最大値であるMTU(Maximum Transmission Unit)が考慮され、符号化されたデータがMTUサイズに収まるサイズで分割される。分割されたデータには、ネットワーク通信を行うために新たにヘッダ等のデータ(以下、「付加データ」という。)が付加されて、データが出力される。符号化されたデータを、MTUサイズに収まるように分割して出力することで、伝送効率を向上させることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3888505号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の装置では、符号化したデータをMTUサイズに合わせて単純に分割するのみであった。単純に分割されたデータのサイズの大小は異なる場合があるが、小さいデータでも一律に付加データを付加しなければならない。よって、出力するデータ全体に占める付加データの割合が大きくなる場合があり、処理の効率が悪化する原因となっていた。一方で、処理の効率のみを考慮してデータを大幅に圧縮すると、動画像の品質が低下する。従って、データ全体に占める付加データの割合を適切に減少させることは、従来では困難であった。
【0005】
本発明は、出力するデータ全体に占める付加データの割合を適切に減少させることができる符号化装置、符号化方法、および符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第一の態様に係る符号化装置は、画像入力手段によって入力された画像データを符号化し、符号化データを他の機器にネットワークを介して出力する符号化装置であって、前記機器と前記符号化装置との間の前記ネットワークのMTUサイズを計測する計測手段と、前記計測手段によって計測されたMTUサイズに収まるサイズで符号化データを分割して、ネットワーク通信に必要な付加データを分割した各データに新たに付加する場合に、出力するデータ全体に対する前記付加データの割合であるオーバーヘッド割合が目標値となる符号化データのデータサイズを設定値に設定する設定手段と、前記設定値として設定されたデータサイズに前記画像データを符号化する符号化手段と、前記符号化手段によって符号化された符号化データを、前記計測手段によって計測されたMTUサイズに収まるサイズで分割して前記機器に出力する出力手段とを備えている。
【0007】
第一の態様に係る符号化装置は、オーバーヘッド割合が目標値となるように画像データを符号化することができるため、オーバーヘッド割合を適切に減少させることができる。よって、処理の効率を向上させることができる。
【0008】
前記設定手段は、符号化データのデータサイズを増加させた際に前記オーバーヘッド割合が減少から増加に切り替わる点のデータサイズを前記設定値に設定することが望ましい。この場合、設定値を的確且つ容易に設定して、オーバーヘッド割合を適切な値に減少させることができる。
【0009】
前記符号化装置は、前記設定値を設定せずに前記画像データを符号化した場合の符号化データのデータサイズである基準データサイズを算出する算出手段を備えてもよい。前記設定手段は、前記点のデータサイズと前記基準データサイズとが異なる場合、複数の前記点から、データサイズが前記基準データサイズよりも大きい点のうち最もデータサイズが小さい点である第一点、および、データサイズが前記基準データサイズよりも小さい点のうち最もデータサイズが大きい点である第二点のいずれかの点を目標点として、前記目標点のデータサイズを前記設定値に設定すればよい。この場合、符号化装置は、基準データサイズに近いデータサイズの符号化データを生成しつつ、オーバーヘッド割合を減少させることができる。よって、画像の品質を急激に悪化させることなく、処理の効率を向上させることができる。
【0010】
前記設定手段は、前記基準データサイズが前記第一点と前記第二点との間に設けた閾値よりも大きいか否かによって、前記目標点を前記第一点および前記第二点のいずれにするかを決定してもよい。この場合、符号化装置は、閾値を用いて容易に設定値を設定することができる。
【0011】
前記設定手段は、複数の前記機器との間の前記ネットワークのMTUサイズが前記計測手段によって計測された結果、値が異なる複数のMTUサイズが計測された場合、計測された複数の前記機器についてのMTUサイズに基づいて、前記複数の機器に共通する1つの前記設定値を設定することが望ましい。前記出力手段は、同一の符号化データを、出力先の前記機器について計測されたそれぞれのMTUサイズに収まるサイズで分割して、前記複数の機器のそれぞれに出力すればよい。この場合、符号化装置は、MTUサイズが異なる複数の機器に符号化データを出力する場合でも、オーバーヘッド割合を一連の処理で容易且つ適切に減少させることができる。
【0012】
前記符号化装置は、前記複数の機器の中におけるそれぞれの前記機器の優先度を決定する優先度決定手段を備えてもよい。前記設定手段は、前記優先度決定手段によって決定された優先度に基づいて、前記複数の機器に共通の前記設定値を設定すればよい。この場合、符号化装置は、出力先の機器毎に別々に符号化処理を行わなくても、一連の符号化処理によって、優先度の高い機器の処理負担を優先して低下させることができる。
【0013】
前記優先度決定手段は、それぞれの前記機器のネットワーク帯域の情報、MTUサイズ、および優先させる度合いを示す設定情報の少なくともいずれかを用いて前記優先度を決定してもよい。この場合、符号化装置は、機器の処理速度に影響を与える帯域の情報、MTUサイズ、および、優先させる度合いを示す設定情報の少なくともいずれかを用いて、優先度を適切に決定することができる。
【0014】
本発明の第二の態様に係る符号化方法は、画像入力手段によって入力された画像データを符号化し、符号化データを他の機器にネットワークを介して出力する符号化装置で行われる符号化方法であって、前記機器と前記符号化装置との間の前記ネットワークのMTUサイズを計測する計測ステップと、前記計測ステップによって計測されたMTUサイズに収まるサイズで符号化データを分割して、ネットワーク通信に必要な付加データを分割した各データに新たに付加する場合に、出力するデータ全体に対する前記付加データの割合であるオーバーヘッド割合が目標値となる符号化データのデータサイズを設定値に設定する設定ステップと、前記設定値として設定されたデータサイズに前記画像データを符号化する符号化ステップと、前記符号化ステップによって符号化された符号化データを、前記計測ステップによって計測されたMTUサイズに収まるサイズで分割して前記機器に出力する出力ステップとを備えている。
【0015】
第二の態様に係る符号化方法によると、オーバーヘッド割合が目標値となるように画像データを符号化することができるため、オーバーヘッド割合を適切に減少させることができる。よって、処理の効率を向上させることができる。
【0016】
本発明の第三の態様に係る符号化プログラムは、画像入力手段によって入力された画像データを符号化し、符号化データを他の機器にネットワークを介して出力するための符号化プログラムであって、コンピュータに、前記機器との間の前記ネットワークのMTUサイズを計測する計測ステップと、前記計測ステップによって計測されたMTUサイズに収まるサイズで符号化データを分割して、ネットワーク通信に必要な付加データを分割した各データに新たに付加する場合に、出力するデータ全体に対する前記付加データの割合であるオーバーヘッド割合が目標値となる符号化データのデータサイズを設定値に設定する設定ステップと、前記設定値として設定されたデータサイズに前記画像データを符号化する符号化ステップと、前記符号化ステップによって符号化された符号化データを、前記計測ステップによって計測されたMTUサイズに収まるサイズで分割して前記機器に出力する出力ステップとを実行させることを特徴とする。
【0017】
第三の態様に係る符号化プログラムによると、オーバーヘッド割合が目標値となるように画像データを符号化することができるため、オーバーヘッド割合を適切に減少させることができる。よって、処理の効率を向上させることができる。
【図面の簡単な説明】
【0018】
【図1】テレビ会議装置1の電気的構成を示すブロック図である。
【図2】RAM12のMTUサイズ記憶エリア121に記憶されているデータの模式図である。
【図3】RAM12の可用帯域記憶エリア122に記憶されているデータの模式図である。
【図4】HDD13の設定優先値記憶エリア131に記憶されているデータの模式図である。
【図5】テレビ会議装置1の機能ブロック図である。
【図6】NALユニットの構成、および送出パケットの構成を示す図である。
【図7】符号化データのデータサイズを調整する前の送出パケットのデータサイズの一例を示す図である。
【図8】符号化データのデータサイズを調整した後の送出パケットのデータサイズの一例を示す図である。
【図9】テレビ会議装置1が行う符号化処理のフローチャートである。
【図10】計測されたMTUサイズが1つである場合に作成されるマッピングテーブルの一例を示す図である。
【図11】計測されたMTUサイズが複数である場合に作成されるマッピングテーブルの一例を示す図である。
【図12】符号化処理で行われるデータサイズ調整処理のフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の符号化装置を具現化した一実施の形態であるテレビ会議装置1について、図面を参照して説明する。なお、参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【0020】
テレビ会議装置1は、ネットワーク8(図1参照)を介して、1または複数の他のテレビ会議装置1と接続する。各テレビ会議装置1は、画像データおよび音声データを互いに入出力する。その結果、複数の拠点のユーザが映像および音声を共有することができる。よって、全てのユーザが同一拠点にいない場合でも、ユーザは円滑に会議を実行することができる。
【0021】
図1から図4を参照して、テレビ会議装置1の電気的構成について説明する。テレビ会議装置1は、テレビ会議装置1の制御を司るCPU10を備えている。CPU10には、ROM11、RAM12、ハードディスクドライブ(以下、「HDD」という。)13、および入出力インターフェース19が、バス18を介して接続されている。
【0022】
ROM11は、テレビ会議装置1を動作させるためのプログラムおよび初期値等を記憶している。RAM12は、制御プログラムで使用される各種の情報を一時的に記憶する。HDD13は、各種の情報を記憶する不揮発性の記憶装置である。HDD13の代わりに、EEPROMまたはメモリカード等の記憶装置を用いてもよい。
【0023】
入出力インターフェース19には、音声入力処理部21、音声出力処理部22、映像入力処理部23、映像出力処理部24、操作部25、および外部通信I/F26が接続されている。音声入力処理部21は、音声を入力するマイク31からの音声データの入力を処理する。音声出力処理部22は、音声を出力するスピーカ32の動作を処理する。映像入力処理部23は、映像を撮像するカメラ33からの映像データ(動画像データ)の入力を処理する。映像出力処理部24は、映像を表示する表示装置34の動作を処理する。操作部25は、ユーザがテレビ会議装置1に各種指示を入力するために用いられる。外部通信I/F26は、テレビ会議装置1をネットワーク8に接続する。
【0024】
RAM12について詳細に説明する。RAM12には、MTUサイズ記憶エリア121、可用帯域記憶エリア122等の各種記憶エリアが設けられている。
【0025】
図2に示すように、MTUサイズ記憶エリア121には、ネットワーク8を介して接続している機器(本実施形態では他のテレビ会議装置1)との間の、ネットワーク8のMTUサイズに関する情報が記憶される。MTU(Maximum Transmission Unit)サイズとは、1回のデータ転送にて送信可能なデータの最大値である。例えば、イーサネット(登録商標)型LANの環境では、イーサネットの最大フレームサイズが1518byteである。よって、イーサネットヘッダとFCS(Frame Check Sequence)とを除いた1500byteがMTUサイズとなる。よって、出力するデータが大きい場合、IPヘッダとIPパケットのデータ部分との和が1500byte以内となるように、データを分割して出力することが望ましい。
【0026】
本実施の形態のテレビ会議装置1は、通信の開始時に、接続されている各機器についてMTUサイズを計測する。計測したMTUサイズを、MTUサイズ記憶エリア121に記憶し、データの分割等の処理を行う。また、テレビ会議装置1は、複数の機器の中での各機器の優先度を用いて、複数の機器に対して最適な一の符号化データを生成することができる。テレビ会議装置1は、この優先度を示す計数(G)を、MTUサイズから算出することができる。詳細には、MTUサイズが小さい機器を優先度が高い機器とし、MTUサイズの逆数を係数(G)として処理を行う。この処理の詳細は後述する。
【0027】
図3に示すように、可用帯域記憶エリア122には、テレビ会議装置1と各機器との間のネットワーク8の可用帯域が記憶される。テレビ会議装置1は、可用帯域が低い(狭い)機器を優先度が高い機器とし、可用帯域の逆数を係数(G)として処理を行うこともできる。
【0028】
HDD13について詳細に説明する。HDD13には、設定優先値記憶エリア131等の各種記憶エリアが設けられている。図4に示すように、設定優先値記憶エリア131には、ユーザがあらかじめ入力・設定した設定優先値が記憶されている。テレビ会議装置1は、設定優先値を用いて、複数の機器に対して最適な一の符号化データを生成することができる。
【0029】
次に、テレビ会議装置1における画像データの処理の概要について説明する。テレビ会議装置1は、カメラ33から入力された画像データを、H.264の規格に基づいて画像圧縮符号化し、符号化データを生成する。生成した符号化データを、ネットワーク8を介して他の機器に出力する。なお、テレビ会議装置1は、他の機器からネットワーク8を介して入力された符号化データを復号し、画像を表示装置34に表示させる。また、音声データを入出力し、他の機器から入力した音声データに基づいて音声を発生させる。しかし、これらの処理は本発明の要部ではないため、以下では画像圧縮符号化および符号化データの出力の処理について説明を行う。
【0030】
画像圧縮符号化には、フレーム内符号化とフレーム間符号化とがある。フレーム内符号化とは、カメラによって入力された連続する複数フレーム分の画像データのうちの1フレーム分の画像データ内で、画面内予測によって行われる符号化である。フレーム内符号化によって生成される符号化データであるIピクチャ(Intra−coded Picture)は、他のピクチャを参照することなく単独で復号することができる。一方、フレーム間符号化では、連続するフレームのデータのうち、符号化するフレームのデータとは異なるフレームのデータが参照されて予測誤差が計算され、計算された予測誤差が符号化される。フレーム間符号化によって生成される符号化データには、Pピクチャ(Predictive−coded Picture)およびBピクチャ(Bidirectional−coded Picture)がある。PピクチャおよびBピクチャの復号には、符号化時に参照されたピクチャが必要となる。しかし、PピクチャおよびBピクチャのデータサイズは、Iピクチャのデータサイズに比べて小さい。
【0031】
図5に示すように、テレビ会議装置1では、まず、カメラ33からの入力画像41に対してDCT/量子化42が行われる。ここでは、DCT(Discrete Cosine Transform:離散コサイン変換)によって変換された係数が、量子化パラメータに従って量子化される。次いで、量子化された後のデータの一部に対し、逆量子化/逆DCT43が行われる。逆量子化/逆DCT43が施されたデータにデブロッキングフィルタ44がかけられて、フレームメモリ45に記憶される。
【0032】
フレーム内符号化が行われる場合には、フレームメモリ45に記憶されたデータに対し、画面内予測46が行われ、さらにDCT/量子化42が行われる。量子化されたデータに対し、エントロピー符号化47が行われて、符号化データ48(Iピクチャ)が生成される。
【0033】
フレーム間符号化が行われる場合には、入力画像41によって動き予測51が行われ、フレームメモリ45内の別の予測画像に基づく動き補償52が行われる。動き補償52によって算出された予測誤差に、明るさに関する重み係数による重み付き予測53が行われ、さらにDCT/量子化42が行われる。量子化されたデータに対し、エントロピー符号化47が行われて、符号化データ48(PピクチャまたはBピクチャ)が生成される。
【0034】
生成された符号化データ48は、MTUサイズ計測55の結果に基づいて、計測されたMTUサイズに収まる送出パケットへの分割49が行われる。分割された符号化データが、ネットワーク出力50の対象となる。
【0035】
次に、符号化データの分割について説明する。パケット送信のために定義されるパケット化モードとして、単一NAL(Network Abstraction Layer)ユニットモード、非インターリーブモード、およびインターリーブモードがある。テレビ会議装置1では、単一NALユニットモードが採用されている。単一NALユニットモードでは、符号化データである各ピクチャは、単一のNALユニットパケットにカプセル化される。カプセル化された1つのNALユニットが、出力するデータの単位となる。
【0036】
図6に示すように、NALユニットは、先頭から順にNALヘッダ、RBSP、およびトレイリングビットを有する。NALヘッダには、NALユニットの種類を示す識別子「nal_unit_type」等が付加されている。RBSP(Raw Byte Sequence Payload)には、圧縮符号化された生データが格納される。トレイリングビットは、RBSPの最後のビット位置を特定するための調整用のビットである。
【0037】
カプセル化されたNALユニットは、出力先の機器との間のネットワーク8のMTUサイズに収まるように分割される。分割されたパケット(以下、「分割パケット」という。)がネットワーク8を介して機器に出力される。ここで、分割パケットには、ネットワーク通信を行うために必要なヘッダ等のデータ(以下、「付加データ」という。)を新たに付加する必要がある。本実施の形態で採用されている通信形態によると、最初の分割パケットの先頭(図6の(1))にはIPヘッダおよびTCPヘッダを、それ以降の分割パケット(図6の(2)及び(3))の先頭にはIPヘッダを、それぞれ付加データとして付加する必要がある。分割パケットと付加データとによって、ネットワーク8に出力される1つの送出パケットが構成される。
【0038】
しかしながら、NALユニットを単純にMTUサイズに基づいて分割すると、分割された符号化データのデータサイズは均等にならない場合がある。図7に示す例では、(1)および(2)の送出パケットのデータサイズはMTUサイズに等しいが、(3)の送出パケットのデータサイズはMTUサイズよりも小さい。ネットワーク通信を行うためには、(3)の符号化データのような小さいデータにも付加データを付加しなければならない。よって、出力するデータ全体に占める付加データの割合(以下、「オーバーヘッド割合」という。)が大きくなる場合がある。オーバーヘッド割合が大きくなると、処理の効率が悪化し、映像品質が低下する。
【0039】
本実施の形態のテレビ会議装置1は、図5に示すように、MTUサイズ計測55の結果に基づいて、NALユニット符号量制御56によって符号化データのデータサイズを調整することができる。詳細には、計測したMTUサイズに基づいて、オーバーヘッド割合が目標値となる符号化データのデータサイズを設定する。設定したデータサイズの符号化データが生成されるように、DCT/量子化42で用いられる量子化パラメータを決定する。例えば、図7に示す(3)の符号化データ分だけ削減されるように、データを圧縮して符号化を行う。その結果、図8に示すように、小さいデータサイズの符号化データに付加データを付加する必要がなくなり、オーバーヘッド割合が減少する。以上のように、テレビ会議装置1は、オーバーヘッド割合を減少させて、映像品質の低下を防止することができる。
【0040】
また、オーバーヘッド割合を減少させることのみを目的として量子化パラメータを決定すると、不具合が生じる。例えば、図7に示す(2)および(3)の符号化データ分を共に削減するように、圧縮割合を急激に増加させると、オーバーヘッド割合は減少するが、映像の品質は低下する。圧縮割合を急激に減少させると、復号等の処理負担が増加する。本実施の形態のテレビ会議装置1は、生成する符号化データのデータサイズを適切に設定することで、圧縮割合を急激に変化させることなくオーバーヘッド割合を減少させることができる。以上の処理について、以下詳細に説明する。
【0041】
図9から図12を参照して、テレビ会議装置1が行う符号化処理について説明する。符号化処理は、ROM11に記憶されているプログラムに従ってCPU10が実行する。符号化処理は、画像データの入出力の実行指示が入力されると開始される。
【0042】
図9に示すように、符号化処理が開始されると、各種データが初期化される(S1)。ネットワーク8を介して接続されているそれぞれの機器について、機器との間のネットワーク8のMTUサイズが計測される(S2)。MTUサイズの計測は、例えばPath MTU Discovery等の公知の手法を用いて行われればよい。
【0043】
次いで、値が異なる複数のMTUサイズが計測されたか否かが判断される(S3)。接続している機器が1つである場合、または、接続されている複数の機器についてのMTUサイズが全て同じであった場合には(S3:NO)、計測された1つのMTUサイズに基づいてマッピングテーブルが作成される(S4)。マッピングテーブルとは、符号化データのデータサイズとオーバーヘッド割合とを対応付けるテーブルである。
【0044】
1つのMTUサイズからマッピングテーブルを作成する方法について説明する。使用される数値を以下に示す。
MTUサイズ(単位:バイト数):mtu
IPヘッダのデータサイズ(単位:バイト数):ip
TCPヘッダのデータサイズ(単位:バイト数):tcp
符号化データのデータサイズ(単位:バイト数):D
符号化データの分割数:N
オーバーヘッド割合(単位:%):X
Nは0以上の整数であり、パケットが1個の場合はN=0、分割パケットが2個の場合はN=1となる。
【0045】
まず、符号化データがデータサイズDである場合の、以下の式(1)を満たす分割数Nが算出される。
{D−(mtu−ip−tcp)}/(mtu−ip)≦N<{D+(mtu−ip)−(mtu−ip−tcp)}/(mtu−ip)・・・(1)
この場合のオーバーヘッド割合Xが、算出したNの値を用いて以下の式(2)で算出される。
X={ip×(N+1)+tcp}/D・・・(2)
以上の処理を、データサイズDを変更しつつ行うことで、MTUサイズが1つである場合のマッピングテーブルが作成される。
【0046】
図10に、計測されたMTUサイズが1つである場合に作成されるマッピングテーブルの一例を示す。図10に示すように、分割数が変わらなければ、符号化データのデータサイズが大きくなる程、オーバーヘッド割合は減少する。データサイズが大きくなり、分割数が1増加すると、付加されるIPヘッダが1つ増加するため、オーバーヘッド割合が増加する。従って、オーバーヘッド割合を考慮すると、データサイズを増加させた場合に分割数が増加する点、つまり、オーバーヘッド割合が減少から増加に切り替わる点のデータサイズに符号化することが望ましい。
【0047】
図9の説明に戻る。テレビ会議装置1に複数の機器が接続しており、且つ値が異なる複数のMTUサイズが計測された場合には(S3:YES)、各機器の優先度を示す係数(G)が取得される(S6)。先述したように、テレビ会議装置1は様々な係数(G)を用いることができるが(図2から図4参照)、本実施の形態では、いずれの係数(G)を用いるかをあらかじめユーザに選択させている。S6の処理では、ユーザが選択した係数(G)が、RAM12またはHDD13から取得される。次いで、取得された係数(G)と、取得された複数のMTUサイズとを用いて、マッピングテーブルが作成される(S7)。
【0048】
複数のMTUサイズからマッピングテーブルを作成する方法について説明する。まず、m個の機器のMTUサイズmtux=mtu1,mtu2,・・・,mtumが計測された場合、各機器のMTUサイズについて、上記の式(1)から、データサイズDがある値である場合の分割数Nx=N1,N2,・・・,Nmが算出される。次いで、m個の機器に出力される付加データの総量を、m個の機器に出力される符号化データの総量で割ることで、オーバーヘッド割合Xが算出される。この場合のオーバーヘッド割合Xの算出式を以下に示す。
各機器の優先度を考慮する場合
X=Σ[{Gi×ip×(Nj+1)+tcp}/(Σ(Gi)×D)] (i=1,・・・,m)(j=1,・・・,m)
各機器の優先度を考慮しない場合
X=Σ{ip×(Ni+1)+tcp}/(D×m) (i=1,・・・,m)
以上の処理を、データサイズDを変更しつつ行うことで、マッピングテーブルが作成される。
【0049】
図11に、計測されたMTUサイズが複数である場合に作成されるマッピングテーブルの一例を示す。図11では、参考のために、機器AのMTUサイズのみを用いて作成したテーブル、機器BのMTUサイズのみを用いて作成したテーブル、機器A,Bの2個のMTUサイズを用いて作成したテーブル(優先度の考慮有り)、機器A,Bの2個のMTUサイズを用いて作成したテーブル(優先度の考慮無し)の4つのテーブルを示す。機器A,Bの2個のMTUサイズを用いてテーブルを作成することで、機器A,Bに共通のマッピングテーブルを作成することができる。さらに、優先度を考慮することで、優先度が高い機器のMTUサイズをより大きくマッピングテーブルに反映させることができる。
【0050】
図9の説明に戻る。マッピングテーブルが作成されると(S4またはS7)、画像データが1フレーム分符号化される(S8)。この符号化は、MTUサイズが考慮されることなく行われる。例えば、デフォルト値として設定されている量子化パラメータ、MTUサイズを考慮せずに出力先の機器の性能のみを考慮して設定された量子化パラメータ等に基づいて行われればよい。次いで、符号化によって生成された符号化データのデータサイズが算出される(S9)。生成された符号化データが、量子化パラメータを変更することによってデータサイズを変更できる符号化データであるか否かが、データの種類によって判断される(S10)。データサイズを変更できない符号化データであれば(S10:NO)、処理はそのままS12へ移行する。ピクチャに関する符号化データであり、データサイズを変更可能な符号化データである場合には(S10:YES)、データサイズ調整処理が行われる(S11)。
【0051】
図12に示すように、データサイズ調整処理では、MTUサイズを考慮せずに生成した符号化データのデータサイズ(S9,図9参照)が、基準データサイズに設定される(S21)。次いで、変曲点を目標点として選択する処理が行われる。変曲点とは、符号化データのデータサイズを増加させた場合に、符号化データの分割数が増加する点、つまり、オーバーヘッド割合が減少から増加に切り替わる点を示す。変曲点のデータサイズとなるように画像データを符号化することで、オーバーヘッド割合を適切に減少させることができる。変曲点の選択は、作成されているマッピングテーブルによって行われる。
【0052】
まず、基準データサイズがいずれかの変曲点のデータサイズに一致しているか否かが判断される(S22)。一致している場合には(S22:YES)、その変曲点が選択されて(S23)、処理はS27へ移行する。
【0053】
基準データサイズがいずれの変曲点のデータサイズにも一致していない場合には(S22:NO)、データサイズが基準データサイズに近接した2つの変曲点のいずれかが選択される。詳細には、データサイズが基準データサイズよりも大きい変曲点のうち最もデータサイズが小さい変曲点である第一変曲点、および、データサイズが基準データサイズよりも小さい変曲点のうち最もデータサイズが大きい変曲点である第二変曲点のいずれかが選択される。具体的には、第一変曲点のデータサイズと第二変曲点のデータサイズの中間を閾値とし、基準データサイズが閾値より大きいか否かが判断される(S24)。閾値以下である場合には(S24:NO)、データサイズが基準データサイズよりも小さい方の第二変曲点が選択される(S25)。基準データサイズが閾値より大きい場合には(S24:YES)、データサイズが基準データサイズよりも大きい方の第一変曲点が選択される(S26)。
【0054】
次いで、選択された変曲点のデータサイズが、符号化データのデータサイズの設定値として設定される(S27)。設定値は、オーバーヘッド割合が目標値となる符号化データのデータサイズを示す。次いで、基準データサイズと設定値との差から、符号化データのデータサイズが設定値となる量子化パラメータが算出される(S28)。1フレーム分の画像データが、算出された量子化パラメータで再度符号化される(S29)。S8(図9参照)で生成された元の符号化データが削除されて(S30)、処理は符号化処理へ戻る。
【0055】
図9の説明に戻る。符号化データが生成されると(S8またはS11)、生成された符号化データが、出力先の機器のMTUサイズに収まるように分割される。分割されたデータ(分割パケット)に付加データが付加されて、ネットワーク8に出力される(S12)。分割パケットのデータサイズは、出力先の機器のMTUサイズから付加データのデータサイズを引いたサイズとなる。例えば、MTUサイズが1500byteであり、付加データのデータサイズが20byteであれば、符号化データは1480byteで分割される。その結果、分割パケットと付加データとからなる送出パケットのデータサイズが、MTUサイズに等しくなる。
【0056】
次いで、係数(G)に関連する処理が行われる(S13)。例えば、ネットワーク8の可用帯域を用いて機器の優先度を決定するようにユーザが設定している場合には、可用帯域が計測される。計測された可用帯域から係数(G)が算出されて、可用帯域記憶エリア122(図3参照)に記憶される。また、ユーザによる設定優先値の変更指示があった場合には、変更された設定優先値、および係数(G)が、設定優先値記憶エリア131(図4参照)に記憶される。次いで、終了の指示があるか否かが判断される(S14)。終了の指示がなければ(S14:NO)、処理はS3の判断へ戻る。終了の指示があれば(S14:YES)、符号化処理は終了する。
【0057】
以上説明したように、本実施の形態のテレビ会議装置1は、符号化データの出力先の機器との間のネットワーク8のMTUサイズを計測する。計測したMTUサイズに収まるように符号化データを分割した場合に、オーバーヘッド割合が目標値となる符号化データのデータサイズを、設定値として設定する。オーバーヘッド割合とは、出力するデータ全体のデータサイズに対する、付加データのデータサイズの割合である。付加データとは、ネットワーク通信を行うために、分割したデータに新たに付加されるデータである。テレビ会議装置1は、設定値として設定されたデータサイズに画像データを符号化する。符号化データを、出力先の機器のMTUサイズに合わせて分割して、ネットワーク8に出力する。従って、テレビ会議装置1は、オーバーヘッド割合が目標値となるように画像データを符号化することができるため、オーバーヘッド割合を適切に減少させることができる。よって、符号化データの復号等の処理の効率を向上させることができる。
【0058】
テレビ会議装置1は、符号化データのデータサイズを増加させた際に、オーバーヘッド割合が減少から増加に切り替わる変曲点のデータサイズを、データサイズの設定値とすることができる。よって、設定値を適切且つ容易に設定することができる。詳細には、テレビ会議装置1は、設定値を設定せずに生成された符号化データのデータサイズを、基準データサイズとする。基準データサイズに近接したデータサイズをとる2つの変曲点の一方を、目標点として選択する。選択した目標点のデータサイズを設定値とし、画像データを符号化する。従って、基準データサイズに近いデータサイズの符号化データを生成しつつ、オーバーヘッド割合を減少させることができる。よって、データサイズを大幅に変更することによる映像品質の劣化を防ぎつつ、復号等の処理の効率を向上させることができる。テレビ会議装置1は、基準データサイズに近接した2つの変曲点の間に閾値を設定し、閾値を用いて容易に設定値を設定することができる。
【0059】
テレビ会議装置1は、複数の機器との間のネットワーク8のMTUサイズを計測した結果、値が異なる複数のMTUサイズが計測された場合、複数のMTUサイズを用いて1つのマッピングテーブルを作成する。作成した1つのマッピングテーブルを用いて、複数の機器に共通の一の設定値を設定する。設定値のデータサイズに符号化された同一の符号化データを、出力先の機器のそれぞれのMTUサイズに合わせて分割し、複数の機器のそれぞれに出力する。よって、MTUサイズが異なる複数の機器に符号化データを出力する場合でも、オーバーヘッド割合を一連の処理で適切に減少させることができる。
【0060】
テレビ会議装置1は、複数の機器の中における優先度を示す係数(G)を決定し、係数(G)を用いて1つのマッピングテーブルを作成することもできる。よって、一連の符号化処理によって、優先度の高い機器の処理負担を優先して低下させることもできる。なお、テレビ会議装置1は、ネットワーク8の帯域の情報、MTUサイズ、およびユーザによって設定された設定優先値の少なくともいずれかを用いて、係数(G)を適切に決定することができる。
【0061】
なお、上記実施の形態において、テレビ会議装置1が本発明の「符号化装置」に相当する。カメラ33が「画像入力手段」に相当する。図9のS2でMTUサイズを計測するCPU10が「計測手段」として機能する。図9のS4〜S11、および図12のS21〜S27で、オーバーヘッド割合が目標値となるデータサイズを設定値に設定するCPU10が、「設定手段」として機能する。図12のS28,S29で量子化パラメータを算出して符号化を行うCPU10が「符号化手段」として機能する。図9のS12で符号化データを分割して出力するCPU10が「出力手段」として機能する。
【0062】
図9のS9で基準データサイズを算出するCPU10が「算出手段」として機能する。図12のS30等で係数(G)を算出することで各機器の優先度を決定するCPU10が「優先度決定手段」として機能する。
【0063】
図9のS2でMTUサイズを計測する処理が「計測ステップ」に相当する。図9のS4〜S11、および図12のS21〜S27で、オーバーヘッド割合が目標値となるデータサイズを設定値に設定する処理が、「設定ステップ」に相当する。図12のS28,S29で量子化パラメータを算出して符号化を行う処理が「符号化ステップ」に相当する。図9のS12で符号化データを分割して出力する処理が「出力ステップ」に相当する。
【0064】
本発明は、上記実施の形態に限定されることはなく、様々な変形が可能であることは言うまでもない。例えば、本発明が適用できるのはテレビ会議装置に限られないことは勿論である。例えば、映像を配信するサーバ等、画像の符号化データをネットワークを介して出力する機器であれば、本発明を適用できる。上記実施の形態では、H.264の規格に基づいて符号化が行われているが、他の規格を採用することもできる。
【0065】
上記実施の形態では、イーサネット(登録商標)型LANの環境を採用しており、IPヘッダが付加データとなる。しかし、採用するネットワーク環境に応じて付加データの種類は変化する。例えば、UDPヘッダ、RTPヘッダ等が付加データとなる場合もある。このような場合でも、本発明は適用できる。
【0066】
上記実施の形態では、パケット送信のために定義されるパケット化モードとして単一NALユニットモードが採用されている。よって、NALユニットを単位として符号化データのデータサイズの調整等の処理が行われている。しかし、非インターリーブモード、またはインターリーブモードを採用した場合でも、本発明は適用できる。この場合、送信の単位となる複数のNALユニットを単位としてデータサイズの調整等を行えばよい。
【0067】
上記実施の形態では、処理が開始されてから、計測されたMTUサイズに基づいてマッピングテーブルが作成されている。しかし、MTUサイズに応じた複数のマッピングテーブルをあらかじめHDD13等に記憶しておき、計測したMTUサイズに合致する、または最も近いMTUサイズのマッピングテーブルを用いて設定値を設定してもよい。
【0068】
上記実施の形態のテレビ会議装置1は、2つの変曲点の中間に閾値を設定し、基準データサイズが閾値よりも大きいか否かによって目標点を選択している。しかし、目標点の選択方法も変更できる。例えば、基準データサイズよりもデータサイズが小さい変曲点(第二変曲点)を、一律に目標点として選択してもよい。同様に、必ず第二変曲点を選択するようにしてもよい。基準データサイズの大きさに応じて閾値の位置を変更することも可能である。
【0069】
上記実施の形態では、複数の機器について複数の値のMTUサイズが計測された場合、複数の機器に共通の一の設定値を設定している。しかし、機器毎に異なる設定値を設定し、さらに機器毎に異なる量子化パラメータで符号化を行って、同一の画像データから複数の符号化データを生成してもよい。この場合の処理は、計測されたMTUサイズが1つであった場合の処理を、機器毎に行うのみである。
【0070】
優先度を用いて1つのマッピングテーブルを作成する具体的な方法も変更できる。マッピングテーブルを作成するための上記実施の形態中の式も一例であり、設定値を設定するための1つの手法に過ぎないことは言うまでもない。
【符号の説明】
【0071】
1 テレビ会議装置
8 ネットワーク
10 CPU
12 RAM
13 HDD
33 カメラ

【特許請求の範囲】
【請求項1】
画像入力手段によって入力された画像データを符号化し、符号化データを他の機器にネットワークを介して出力する符号化装置であって、
前記機器と前記符号化装置との間の前記ネットワークのMTUサイズを計測する計測手段と、
前記計測手段によって計測されたMTUサイズに収まるサイズで符号化データを分割して、ネットワーク通信に必要な付加データを分割した各データに新たに付加する場合に、出力するデータ全体に対する前記付加データの割合であるオーバーヘッド割合が目標値となる符号化データのデータサイズを設定値に設定する設定手段と、
前記設定値として設定されたデータサイズに前記画像データを符号化する符号化手段と、
前記符号化手段によって符号化された符号化データを、前記計測手段によって計測されたMTUサイズに収まるサイズで分割して前記機器に出力する出力手段と
を備えたことを特徴とする符号化装置。
【請求項2】
前記設定手段は、符号化データのデータサイズを増加させた際に前記オーバーヘッド割合が減少から増加に切り替わる点のデータサイズを前記設定値に設定することを特徴とする請求項1に記載の符号化装置。
【請求項3】
前記設定値を設定せずに前記画像データを符号化した場合の符号化データのデータサイズである基準データサイズを算出する算出手段を備え、
前記設定手段は、前記点のデータサイズと前記基準データサイズとが異なる場合、複数の前記点から、データサイズが前記基準データサイズよりも大きい点のうち最もデータサイズが小さい点である第一点、および、データサイズが前記基準データサイズよりも小さい点のうち最もデータサイズが大きい点である第二点のいずれかの点を目標点として、前記目標点のデータサイズを前記設定値に設定することを特徴とする請求項2に記載の符号化装置。
【請求項4】
前記設定手段は、前記基準データサイズが前記第一点と前記第二点との間に設けた閾値よりも大きいか否かによって、前記目標点を前記第一点および前記第二点のいずれにするかを決定することを特徴とする請求項3に記載の符号化装置。
【請求項5】
前記設定手段は、複数の前記機器との間の前記ネットワークのMTUサイズが前記計測手段によって計測された結果、値が異なる複数のMTUサイズが計測された場合、計測された複数の前記機器についてのMTUサイズに基づいて、前記複数の機器に共通する1つの前記設定値を設定し、
前記出力手段は、同一の符号化データを、出力先の前記機器について計測されたそれぞれのMTUサイズに収まるサイズで分割して、前記複数の機器のそれぞれに出力することを特徴とする請求項1から4のいずれかに記載の符号化装置。
【請求項6】
前記複数の機器の中におけるそれぞれの前記機器の優先度を決定する優先度決定手段を備え、
前記設定手段は、前記優先度決定手段によって決定された優先度に基づいて、前記複数の機器に共通の前記設定値を設定することを特徴とする請求項5に記載の符号化装置。
【請求項7】
前記優先度決定手段は、それぞれの前記機器のネットワーク帯域の情報、MTUサイズ、および優先させる度合いを示す設定情報の少なくともいずれかを用いて前記優先度を決定することを特徴とする請求項6に記載の符号化装置。
【請求項8】
画像入力手段によって入力された画像データを符号化し、符号化データを他の機器にネットワークを介して出力する符号化装置で行われる符号化方法であって、
前記機器と前記符号化装置との間の前記ネットワークのMTUサイズを計測する計測ステップと、
前記計測ステップによって計測されたMTUサイズに収まるサイズで符号化データを分割して、ネットワーク通信に必要な付加データを分割した各データに新たに付加する場合に、出力するデータ全体に対する前記付加データの割合であるオーバーヘッド割合が目標値となる符号化データのデータサイズを設定値に設定する設定ステップと、
前記設定値として設定されたデータサイズに前記画像データを符号化する符号化ステップと、
前記符号化ステップによって符号化された符号化データを、前記計測ステップによって計測されたMTUサイズに収まるサイズで分割して前記機器に出力する出力ステップと
を備えたことを特徴とする符号化方法。
【請求項9】
画像入力手段によって入力された画像データを符号化し、符号化データを他の機器にネットワークを介して出力するための符号化プログラムであって、
コンピュータに、
前記機器との間の前記ネットワークのMTUサイズを計測する計測ステップと、
前記計測ステップによって計測されたMTUサイズに収まるサイズで符号化データを分割して、ネットワーク通信に必要な付加データを分割した各データに新たに付加する場合に、出力するデータ全体に対する前記付加データの割合であるオーバーヘッド割合が目標値となる符号化データのデータサイズを設定値に設定する設定ステップと、
前記設定値として設定されたデータサイズに前記画像データを符号化する符号化ステップと、
前記符号化ステップによって符号化された符号化データを、前記計測ステップによって計測されたMTUサイズに収まるサイズで分割して前記機器に出力する出力ステップと
を実行させることを特徴とする符号化プログラム。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−61363(P2011−61363A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−207119(P2009−207119)
【出願日】平成21年9月8日(2009.9.8)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】