JP4188139B2 - Transcoder - Google Patents
Transcoder Download PDFInfo
- Publication number
- JP4188139B2 JP4188139B2 JP2003140030A JP2003140030A JP4188139B2 JP 4188139 B2 JP4188139 B2 JP 4188139B2 JP 2003140030 A JP2003140030 A JP 2003140030A JP 2003140030 A JP2003140030 A JP 2003140030A JP 4188139 B2 JP4188139 B2 JP 4188139B2
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- processing
- data
- processing flow
- partial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、トランスコーダに係る発明であって、例えば、異なる仕様を有する複数の表示端末に接続した場合に、より効果的であるトランスコーダに関するものである。
【0002】
【従来の技術】
トランスコーダとは、例えば、720×480画素,30fps(frames per second),6Mbps(bits per second)のMPEG(Moving Picture Experts Group)−2動画像データを、352×240画素,10fps,384KbpsのMPEG−4動画像データに変換するなど、画像データをトランスコード(符号化変換)する装置のことである。
【0003】
従来のトランスコーダは、MPEG−2等で符号化された動画像データを入力し、当該入力した動画像データを一度復号化部で復号した後、符号化部で入力とは異なる符号化形式やビットレート(帯域幅)の動画像データに符号化して出力する構成になっている(例えば、特許文献1参照)。
【0004】
また、例えば、カメラで撮影したライブ映像を、複数の表示端末が各々の表示能力やネットワーク帯域に応じた、異なる品質の動画像データとして受信し表示するような場合のように、一つの符号化データを、複数の異なる仕様の符号化データに、同時に変換するという要求がある。
【0005】
当該要求に応える技術として、特許文献1の図9に示されている発明がある。当該発明では、入力されたMPEG−2映像を一つの復号化処理部が画像データに復号し、処理内容の異なる2つのMPEG−2符号化処理部が、当該復号した画像データを画質の異なる2つのMPEG−2映像に再符号化することによって、計算量の増加を抑え処理負荷の低減を実現している。
【0006】
【特許文献1】
特開平8−51631号公報(第4図、第9図等)
【0007】
【発明が解決しようとする課題】
しかし、上記特許文献1に記載のトランスコーダでは、一入力多出力の変換要求がその都度異なる場合、当該トランスコーダは、例えば一入力多出力のトランスコードソフトウェアモジュールを必要な種類だけ予めに実装しておく必要があり、変換要求のパターンが多いと格納するディスク量が大きくなり、装置価格が高くなるという問題があった。
【0008】
また、途中で変換仕様を変更する場合、上記トランスコーダでは処理フローが固定であるため、各出力で共有していない処理部分のパラメータ変更(例えば,再量子化処理が共有されていなければ、そのパラメータの変更)の範囲でしか変更できず、例えば、途中で出力形式をMPEG−2からJPEG(Joint Photographic Coding Experts Group)に変更するといった多様な変更要求には対応できず、用途が限定されるという問題があった。
【0009】
そこで、この発明は、装置の価格を低く抑えると共に、種々の一入力多出力の変換要求に柔軟に対応することができる、トランスコーダを提供することを目的とする。
【0010】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係る請求項1に記載のトランスコーダは、第一の符号化データを入力し、当該第一の符号化データとは異なる第二の符号化データに変換するトランスコーダにおいて、外部からの前記変換の仕様に関する要求である変換要求情報を受信する変換要求受付手段と、前記変換を実行する、複数の部分処理手段と、前記変換要求情報に基づいて、前記複数の部分処理手段を協働的に機能させるための情報である処理フロー情報を作成する処理フロー作成手段と、前記処理フロー情報に基づいて、現在実行中の変換処理を中断することなく、前記部分処理手段の接続を動的に制御する変換制御手段とを、備えている。
【0012】
【発明の実施の形態】
以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。
【0013】
<実施の形態1>
図1は、本発明に係るトランスコーダ10が組み込まれた映像監視システムの構成を示す図である。
【0014】
図1において、映像監視専用の広帯域な映像ネットワーク11には、複数のコーデック12と複数の監視端末13とが接続されている。また、一般業務に利用する狭帯域の業務ネットワーク15には、複数の業務端末16が接続されている。さらに、映像ゲートウェイ20は、両ネットワーク11,15を接続している。
【0015】
ここで、各コーデック12には、カメラ14が接続されている。また、各業務端末16は、データの送受信を行う通信部16a、受信した符号化データを復号するための復号化部16b、映像を表示する表示部16cおよび、映像ゲートウェイ20に対する各種要求を入力することができる対話制御部16dで構成されている。なお、監視端末13は、業務端末16と同じ構成であってもかまわない。
【0016】
また、映像ゲートウェイ20は、映像ネットワーク11側でのデータの送受信を行う通信部17、本発明に係るトランスコーダ10および、業務ネットワーク15側でのデータの送受信を行う通信部18で構成されている。
【0017】
当該構成の映像監視システムにおいて、カメラ14で撮影されたライブ映像は、コーデック12により,例えば6Mbps,720×480画素,30fpsの高画質のMPEG−2映像に符号化され、映像ネットワーク11上でマルチキャスト配信される。映像ネットワーク11に接続された監視端末13では、表示すべきカメラ14の映像を選択して受信し、復号化した映像を表示する。
【0018】
一方、業務ネットワーク15の帯域は狭く、6MbpsのMPEG−2映像を複数同時に配信するほどの空き帯域はないとする。そこで、業務端末16から映像配信要求があると、映像ゲートウェイ20は、指定されたカメラ14のMPEG−2映像を受信し、例えば384Kbps,352×240画素,10fpsの低画質のMPEG−4映像にリアルタイムで変換し、要求のあった業務端末16に対して配信する。
【0019】
具体的に、映像ゲートウェイ20では、指定されたカメラ14のMPEG−2映像が通信部17により受信され、トランスコーダ10によりMPEG−2映像からMPEG−4映像に符号化変換され、通信部18により当該変換されたMPEG−4映像が業務端末16に配信される、という一連の処理が行われる。
【0020】
ここで、トランスコーダ10は、監視業務の内容や表示端末13,16の性能などにより、複数の表示端末13,16からの要求に応じて、同じカメラ14の映像を異なる品質や符号化方式の映像に変換する。
【0021】
次に、本発明に係るトランスコーダ10の処理について、図2に示すブロック図に基づいて具体的に説明する。
【0022】
図2において、変換要求受付手段1は、業務端末16など外部からの変換の仕様に関する要求である変換要求情報(以下、単に変換要求という)を受信し、当該変換要求受付手段1に接続されている変換制御手段2へ当該変換要求を伝える。
【0023】
変換制御手段2に接続されている処理フロー作成手段3は、当該変換制御手段2を経由して変換要求を受け取る。当該変換要求を受け取った処理フロー作成手段3は、変換要求情報に基づいて、複数の部分処理手段4を協働的に機能させるための情報である処理フロー情報6を作成し、当該処理フロー情報6を変換制御手段2へ送信する。
【0024】
ここで、各部分処理手段4は、データの一連の変換処理における部分的な所定の処理を担っている。
【0025】
本実施の形態では、処理フロー情報6は、トランスコーダ10の入力から出力に向かって複数の部分処理手段4から構成されるツリー状処理フロー5の構造情報と、各部分処理手段4の処理パラメータ情報とから成る。
【0026】
変換制御手段2は、上記処理フロー情報6を基に、新たな部分処理手段4の生成(起動)、削除(終了)、または部分処理手段4間の連結変更など処理フロー構造を変更し、一つの入力データ7が異なる仕様の出力データ8に逐次並列的に変換されるよう、変換処理全体を制御する。
【0027】
図2において、ツリー状処理フロー5の構造は、例えば、カメラ14による映像信号をディジタル化/符号化して映像ネットワーク11に配信するコーデック12からの符号化データ(入力データ7)を入力し、複数の表示端末13,16に対して異なる仕様(符号化形式、解像度、フレームレート、画質、ビットレートなど)の符号化データに再変換し、各表示端末13,16に対して当該再変換された符号化データ(出力データ8)を出力する構成となっている。
【0028】
ここで、図2で例示したツリー状処理フロー5の構造では、最初の部分処理手段4aは、全ての出力データ8a〜8dの処理で共有されている。即ち、部分処理手段4aの出力結果を後段の部分処理手段4b,4cが入力して、各部分処理手段4b,4cでは、出力データ8a〜8dを生成するために、異なる処理を行う。
【0029】
同様に、部分処理手段4bと部分処理手段4dでは、出力データ8a,8bを生成するための変換処理において共有されており、部分処理手段4cでは、出力データ8c,8dを生成するための変換処理において共有されている。
【0030】
即ち、部分処理手段4bの出力結果を後段の部分処理手段4dが入力し、当該部分処理手段4dの出力結果を後段の部分処理手段4g,4hが入力し、各部分処理手段4g,4hでは、出力データ8a,8bを生成するために、異なる処理を行う。一方、部分処理手段4cの出力結果を後段の部分処理手段4e,4fが入力し、部分処理手段4eの出力結果を後段の部分処理手段4iが入力すると共に、部分処理手段4fの出力結果を後段の部分処理手段4jが入力する。そして、各部分処理手段4i,4jでは、出力データ8c,8dを生成するために、異なる処理を行う。
【0031】
ここで、本発明に係るトランスコーダ10の実装方法として、種々の方法が考えられるが、例えば、映像ゲートウェイ20に搭載されたCPU(図示なし)で動作するソフトウェアとして実現されることができる。
【0032】
以下、本実施の形態1に係るトランスコーダ10では、複数スレッドから成る階層的なソフトウェア構成を考え、図3,4を用いて処理の具体的な流れを説明する。
【0033】
図2で示した変換要求受付手段1は一つのスレッド(以下、変換要求受付手段は、スレッドであるとして話を進める。)であり、映像ゲートウェイ20の起動と同時に、当該変換要求受付手段1が起動され、変換要求受付の処理が開始される(図3のステップS11)。
【0034】
ここで、変換要求受付手段1は、予め決められた通信ポート番号を有しており、業務端末16は、当該通信ポートに対して、映像配信の要求や出力データ8の仕様変更を表す変換要求を送信する。
【0035】
変換要求を受信した変換要求受付手段1は、図3のステップS12において、現在のトランスコーダ10の変換処理状態や、受信した変換要求内容に基づいて、処理内容を判断する。
【0036】
具体的に、変換要求受付手段1が起動して以来、変換要求にて指定された入力データ7に対する変換処理がされていない場合(ステップS12で「新規」の場合)には、新たな変換制御スレッドを起動させ、当該変換制御スレッドに変換要求を渡す(ステップS13)。ここで、変換制御スレッドとは、変換制御手段2と処理フロー作成手段3とから成るスレッドのことである。
【0037】
また、変換要求受付手段1が受信した変換要求が、既に変換処理がされている入力データ7に対する変換要求であれば、該当する変換制御スレッドに対して、当該変換要求を渡す(ステップS14)。
【0038】
また、変換要求受付手段1が受信した変換要求が、変換処理している入力データ7に対する全ての変換処理を終了させる変換要求であれば、該当する変換制御スレッドに対して終了メッセージを送信し、当該変換制御スレッドを終了させる(ステップS15)。
【0039】
その後、再び業務端末16から、変換要求受付手段1が有している通信ポートに対して、映像配信の要求や出力データ8の仕様変更を表す変換要求を送信される度に、図3に示す処理が行われる。
【0040】
次に、図4に示すフローチャートに基づいて、変換制御スレッドが動画像符号化データを再変換する処理の流れを説明する。
【0041】
図4のステップS21において、変換要求を受信した変換要求受付手段(スレッド)から変換制御スレッドが起動され、当該受信した変換要求に対する以下の処理を行う。
【0042】
まず、ステップS22において、処理フロー作成手段3が処理フロー情報6を作成する。
【0043】
例えば起動後、最初の変換要求が一入力一出力の場合には、処理フロー作成手段3において、スレッドである複数の部分処理手段4(以下、部分処理手段4をスレッドであるとして話を進める。)がシーケンシャルに接続された構成の処理フロー情報6が作成される。その後、新たな出力データ8の変換要求を受信すると、当該処理フロー作成手段3では、例えば部分処理手段4から成る処理フローを枝分かれさせることにより、ツリー構造の処理フロー情報6が動的に作成(つまり、変換処理行いつつ、当該変換要求に応じた処理フロー情報6が作成)される。
【0044】
ここで、同じ出力データ8に対して異なる出力仕様の変換要求が与えられた場合においても、処理フロー作成手段3がツリー構造の処理フロー情報6を作成することもある。つまり、処理フロー情報におけるツリー構造の変更は、新たな出力データの変換要求や出力データ停止の変換要求により発生するが、同じ出力データに対して異なる出力仕様の変換要求が与えられた場合でも、そのツリー構造が変更されることがある。
【0045】
変換要求に対する実際の処理フロー情報6の作成方法は幾つか考えられる。
【0046】
例えば、処理フローのパターン数が少なければ、予めサポートする全ての処理フローを考え、プログラムのヘッダファイルや、プログラムが読み込むファイルに定義する方法が適している。
【0047】
また、処理フローのパターン数が多い場合には、出力する符号化方式や解像度等の出力仕様の種類に応じて、テンプレートとその組合せのルールとを予め準備しておき、処理フロー作成手段3が変換要求に応じて動的に処理フロー情報6を作成する方法が適している。
【0048】
次に、ステップS23において、変換制御手段2が上述で作成された処理フロー情報6に基づいて、必要な部分処理手段4の起動・連結、部分処理手段4の処理パラメータの変更、および不要な部分処理手段4の終了といった各制御処理を行う。
【0049】
ここで、部分処理手段4は入力パラメータとして、連結された前段の部分処理手段4が処理した結果にアクセスするための情報パラメータ、前段からの入力情報をどのように処理するかを示す処理パラメータおよび、処理した結果を後段の部分処理手段4がアクセスできるようにするための情報パラメータなどを有している。当該パラメータを利用した部分処理手段4間通信により、部分処理手段4間のメッセージやデータのやり取り、同期処理などが行われる。
【0050】
次に、ステップS24において、前述で作成された処理フロー情報6に基づいて起動・連結させられた各部分処理手段4において、動画像データの1フレーム分の変換処理を行う。
【0051】
具体的に、先頭の部分処理手段4は、符号化された入力データ7を入力して変換処理を行い、その結果を2番目の部分処理手段4が入力して変換処理を行い、以降最後の部分処理手段4まで逐次的に変換処理が実行される。
【0052】
次に、ステップS25において、変換制御スレッドが新たな変換要求の有無の判断を行い、変換要求が無ければ(ステップS25で「なし」であれば)、ステップS24に戻り、処理フローの構成を維持した状態で、次の1フレーム分に対する変換処理が行われる。他方、変換要求があれば(ステップS25で「あり」であれば)、ステップS26において、変換制御スレッドが当該変換要求の種類を調べる。
【0053】
変換要求の種類を調べた結果、全ての変換処理を終了させるものである場合には(ステップS26で「変換終了」)、ステップS27において、部分処理手段4および変換制御スレッドが終了する。他方、そうでなければ(ステップS26で「変換変更」)、ステップS22に戻り、変換制御スレッドは新たな処理フロー情報6の作成を行い、当該作成された処理フロー情報6に基づいて構成された部分処理手段4により、変換処理を継続する。
【0054】
次に、図5〜11を用いて、部分処理手段4の変更の様子を具体的に説明する。
【0055】
図5は、動画像符号化変換で用いられる部分処理手段4を例示している図である。
【0056】
図5には、エントロピー復号化/符号化,逆量子化/量子化,逆DCT(Discrete Cosine Transform)/DCT,動き補償といった、MPEG−2,MPEG−4,JPEG(正確には動画像に対してはMotion JPEGであるが、本実施の形態での説明では、単にJPEGと称す)の復号化と符号化に必要な各部分処理手段4と、解像度変換,白黒化,ローパスフィルタ,エッジ強調などの画像処理を行う部分処理手段とが実線ブロックで例示されている。なお、図5には、トランスコード処理の両端に連結される受信および送信等のスレッドも含めて図示している。
【0057】
図6〜11は、一つの動画像符号化データを仕様の異なる複数の動画像符号化データに変換する、図5に例示した各部分処理手段4を連結して構成されるツリー状処理フロー5の例を示している。
【0058】
図6では、例えば、720×480画素,カラー,30fps,6MbpsのMPEG−2データ(以下、入力データi0とする)を受信し、3つの異なる動画像符号化データに変換した後、各業務端末16に配信する場合のツリー状処理フロー5の一例である。また、図6に示すツリー状処理フロー5は、大きく4つの部分処理手段ブロックB41〜B44により構成されている。
【0059】
部分処理手段ブロックB41は、エントロピー復号化手段B41a,逆量子化手段B41b,逆DCT手段B41c,動き補償手段B41d,およびフレームメモリ手段B41e等の各部分処理手段4により構成されており、エントロピー復号化手段B41aから動き補償手段B41dまで(もちろん、フレームメモリ手段B41eも含む)による入力データi0の復号化処理が、3つの出力データo1〜o3を生成する処理で共有されている。
【0060】
また、部分処理手段ブロックB42は、DCT手段B42a,量子化手段B42b,エントロピー符号化手段B42c,動き補償手段B42d,フレームメモリー手段B42e,逆DCT手段B42f,逆量子化手段B42g等の各部分処理手段4により構成されており、出力データ(720×480画素,カラー,30fps,3MbpsのMPEG−2データ)o1の再符号化処理を実行している。
【0061】
また、部分処理手段ブロックB43は、DCT手段B43a,量子化手段B43b,エントロピー符号化手段B43c,動き補償手段B43d,フレームメモリー手段B43e,逆DCT手段B43f,逆量子化手段B43g等の各部分処理手段4により構成されており、出力データ(720×480画素,カラー,30fps,1MbpsのMPEG−2データ)o2の再符号化処理を実行している。
【0062】
さらに、部分処理手段ブロックB44は、解像度変換(1/16)手段B44a,DCT手段B44b,量子化手段B44c,エントロピー符号化手段B44d,動き補償手段B44e,フレームメモリー手段B44f,逆DCT手段B44g,逆量子化手段B44h等の各部分処理手段4により構成されており、出力データ(176×112画素,カラー,10fps,128KbpsのMPEG−4データ)o3の再符号化処理を実行している。
【0063】
ここで、MPEG−2への再符号化は、DCT手段B42a,B43aや量子化手段B42b,B43bなどの部分処理手段4により行われており、量子化手段B42b,B43bにおいて入力したMPEG−2データより粗いステップで量子化したり、DCT手段B42a,B43aにおいてDCTの高周波成分を0にすることで画質を落とし、ビットレートを6Mbpsから3Mbpsおよび1Mbpsに減らしている。また、動き補償手段B42d,B43dにおいて、マクロブロック単位の画像マッチングによる動き探索は行わず、入力データの動きベクトル(図6のエントロピー復号化後に抽出される)を利用することにより高速化している。
【0064】
一方、MPEG−4への再変換は、まず復号化された30fpsの画像シーケンスから各々10fpsで必要な画像フレームを間引き、解像度変換(1/16)手段B44aにより当該間引いた画像を1/16に解像度変換した後、DCT手段B44bや量子化手段B44c等の部分処理手段4により符号化処理が行われている。なお、マクロブロックは16×16画素単位のため、解像度変換処理にて720×480画素の画像データの下部領域を棄てて、1/4の解像度ならば352×240画素、1/16の解像度ならば176×112画素に変換する。
【0065】
これらMPEG−2、MPEG−4等のトランスコード技術は公知(例えば、特許文献1)であるため、ここでの詳細な変換処理の流れや、各部分処理手段4に関する説明は省略する。
【0066】
このように、3つの異なる出力データo1〜o3の変換処理において、図6に示したツリー状処理フロー5は、前段の復号化処理(部分処理手段ブロックB41)が共有されているので、入力データi0の復号処理におけるCPU負荷を軽減することができ、変換処理の高速化に繋がる。
【0067】
ここで、図6に示した例では、部分処理手段ブロックB42〜B44には、フレーム間符号化による処理のループが存在しており、また、部分処理手段ブロックB41には、エントロピー復号化後に抽出した入力データi0の動きベクトルを後段の符号化における動きベクトル生成に用いているため、各部分処理手段をノードとして見ると、ツリー構造にはなっているとはいえない。
【0068】
しかし、図6で示した構造をブロック単位で見ると、連結する部分処理手段の集合を、共有できる部分(部分処理手段ブロックB41)と、共有できない部分(部分処理手段ブロックB41〜B44)に分け、共有部分と非共有部分をノードとして考えると、処理フローはツリー構造になっているとみなすことができる。本発明では、これをツリー状処理フローと表現している。
【0069】
さて、次に、図6で示したツリー状処理フロー5に基づいて変換処理を行っている際に、新たな業務端末16から、同じ入力データi0に対し、352×240画素,カラー,4fps,256KbpsのMPEG−4データ(以下、出力データo4とする)で配信してほしいとの変換要求が発生した場合について説明する。このとき構成されるツリー状処理フロー5の構成を図7に示す。
【0070】
新たな業務端末16から上記の変換要求が発生すると、図6と比較して図7に示すツリー状処理フロー5は、DCT手段B45a,量子化手段B45b,エントロピー符号化手段B45c,動き補償手段B45d,フレームメモリー手段B45e,逆DCT手段B45f,逆量子化手段B45g等の部分処理手段4により構成された、部分処理手段ブロックB45が新たに生成・連結されている。
【0071】
また、部分処理手段ブロックB44,B45の前段において、解像度変換(1/4)の部分処理手段4Aが新たに生成・連結され、さらに部分処理手段ブロックB44において、解像度変換(1/16)手段B44aが解像度変換(1/4)手段B44kに置換されている。
【0072】
ここで、新たに生成された各部分処理手段4は、他と同様スレッドである。
【0073】
図7で新たに生成、変更になった各部分処理手段4において、以下に示す処理が実行される。
【0074】
つまり、解像度変換(1/4)手段4Aで、前段の部分処理手段ブロックB41で復号化された画像データを解像度1/4で変換し、当該解像度変換した画像データから4fpsで必要な画像フレームを間引く。
【0075】
また、部分処理手段ブロックB45では、DCT手段B45a,量子化手段B45b,エントロピー符号化手段B45c,動き補償手段B45d等の部分処理手段4により、MPEG−4再符号化処理が行われ、当該再符号化された出力データo4を新たな業務端末16へ配信する。
【0076】
図7から分かるように、4つの出力データo1〜o4に対して、部分処理手段ブロックB41によるMPEG−2復号化処理が共有されており、2つの出力データo3〜o4に対して、解像度変換(1/4)手段4Aによる解像度変換処理が共有されている。
【0077】
上記変換要求を受け付けた際、変換制御手段2は、処理フロー作成手段3で作成された新たな処理フロー情報6に従い、図6で示したツリー状処理フロー5に基づく変換処理を継続したまま、上記変換要求に対応して必要な部分処理手段ブロックB45を起動する。
【0078】
これと並行して、出力データo3に対する変換処理中の画像フレームの解像度変換が終了した後、解像度変換(1/16)手段B44aを終了させ、これに代えて2つの解像度変換(1/4)手段4A,B44kを起動し直列に連結させ、さらに最初の解像度変換(1/4)手段4Aの出力を、部分処理手段ブロックB45の先頭の部分処理スレッドに連結する。
【0079】
その後、部分処理手段ブロックB45におけるDCT手段B45aが、前段において復号化され、フレーム間引きされた最初の画像フレームのデータを取り込み、MPEG−4符号化処理が開始される。
【0080】
上記で示した特許文献1の技術では、新たな変換要求に対して、全ての変換を一旦終了し、新たな処理フローに対する全ての部分処理手段を立ち上げ直す必要がある。したがって、新たな変換要求を受け付けてから実際に再度変換処理が実行されるまでには、かなりの時間を要することになり、当該新たな変換要求を出した業務端末16に画像が表示される時間はさらに遅れると共に、他の業務端末16においても画像の表示が長時間中断されることになる。
【0081】
しかし、本発明に係るトランスコーダ10では、新たな変換要求に対して他の変換処理を行いつつ、通信コネクションの確立、新たな部分処理手段の起動などを実行するため、業務端末16が変換要求を出した後、当該業務端末16に画像が表示されるまで通常数秒かかるが、他の業務端末16の表示には何ら影響を与えることはない。
【0082】
次に、図7で示したツリー状処理フロー5に基づいて変換処理を行っている際に、出力データo2を受信していた業務端末16から、配信停止の変換要求が出された場合について説明する。このとき構成されるツリー状処理フロー5の構成を図8に示す。
【0083】
本発明に係るトランスコーダ10では上記変換要求を受け付けた際、変換制御手段2は、処理フロー作成手段3で作成された新たな処理フロー情報6に従い、図7で示したツリー状処理フロー5に基づく変換処理を継続したまま、図8に示すように、部分処理手段ブロックB43が終了させられる。
【0084】
また、図8で示したツリー状処理フロー5に基づいて変換処理を行っている際に、同じ入力データi0に対して、352×240画素,カラー,4fps,384KbpsのJPEGデータ(以下、出力データo5とする)に変換して配信してほしいという変換要求が、新たな業務端末16から発生した場合には、図9に示すツリー状処理フロー5が構成される。
【0085】
つまり、本発明に係るトランスコーダ10では上記変換要求を受け付けた際、変換制御手段2は、処理フロー作成手段3で作成された新たな処理フロー情報6に従い、図8で示したツリー状処理フロー5に基づく変換処理を継続したまま、図9に示すように、DCT手段B46a,量子化手段B46b,エントロピー符号化手段B46c等の各部分処理手段4から成る、部分処理手段ブロックB46が新たに起動され、解像度変換(1/4)手段4Aの後段に連結される。
【0086】
その後、JPEGデータへの再符号化が実行され、部分処理手段ブロックB46の最後段の部分処理手段4から、出力データo5が出力される。
【0087】
また、図9で示したツリー状処理フロー5に基づいて変換処理を行っている際に、出力データo5を受信していた業務端末16が、720×480画素,カラー,4fps,1MbpsのJPEGデータ(以下、出力データo6)に変更して配信してほしいという変換要求を出した場合には、図10に示すツリー状処理フロー5が構成される。
【0088】
つまり、本発明に係るトランスコーダ10では上記変換要求を受け付けた際、変換制御手段2は、処理フロー作成手段3で作成された新たな処理フロー情報6に従い、図9で示したツリー状処理フロー5に基づく変換処理を継続したまま、図10に示すように、部分処理手段ブロックB46を解像度変換(1/4)手段4Aから、部分処理手段ブロックB41の後段に連結させる。
【0089】
その後、新たな仕様でのJPEGデータ変換処理が再開され、部分処理手段ブロックB46の最後段の部分処理手段4から、出力データo6が出力される。
【0090】
また、図10で示したツリー状処理フロー5に基づいて変換処理を行っている際に、出力データo4を受信していた業務端末16が、720×480画素,カラー,10fps,2MbpsのJPEGデータ(以下、出力データo7とする)に変更して配信してほしいという変換要求を出した場合には、図11に示すツリー状処理フロー5が構成される。
【0091】
つまり、本発明に係るトランスコーダ10では上記変換要求を受け付けた際、変換制御手段2は、処理フロー作成手段3で作成された新たな処理フロー情報6に従い、図10で示したツリー状処理フロー5に基づく変換処理を継続したまま、図10で示した部分処理手段ブロックB45を終了させる。
【0092】
そして、図11に示すように、JPEG符号化の量子化手段B47a,エントロピー符号化手段B47b等の各部分処理手段4から成る部分処理手段ブロックB47を起動させ、DCT手段B46aの後段に当該起動させた部分処理手段ブロックB47が連結される。
【0093】
さらに、DCT手段B46aに対して、選択する(間引く)画像フレームをそれまでの4fpsから10fpsに変更する。
【0094】
さらに、出力データo3の変換処理に携わっていた、直列に接続された2つの解像度変換(1/4)手段4A,B44kの各部分処理手段4を終了させ、解像度変換(1/16)手段4Bを起動させ、置き換える。
【0095】
ここで、これら一連の部分処理手段4の生成・変更・削除等は、他の変換処理を継続したまま実行される。
【0096】
その後、JPEGデータの符号化が開始され、部分処理スレッドブロックB47の最後段の部分処理手段4から、出力データo7が出力される。
【0097】
また、図11で示したツリー状処理フロー5に基づいて変換処理を行っている際に、出力データo1を受信していた業務端末16が、ビットレートを3Mbpsから1.5Mbpsへと同じMPEG−2データで画質を落として配信してほしいという変換要求を出した場合には、変換処理手段2は、処理フロー作成手段3で作成された新たな処理フロー情報6(上記で説明したように、パラメータ情報も含まれている)に従い、ツリー状処理フロー5の構成を変更することなく、新たな画像フレームを処理するタイミングで量子化手段B42bに対して粗い量子化を行う処理パラメータを与えて、処理内容を変更する。
【0098】
同様に、出力データo6を受信していた業務端末16が、フレームレートを4fpsから6fpsへと、またビットレートを1Mbpsから1.5Mbpsへと同じJPEGデータで配信してほしいという変換要求を出した場合には、変換処理手段2は、処理フロー作成手段3で作成された新たな処理フロー情報6に従い、ツリー状処理フロー5の構成を変更することなく、新たな画像フレームを処理するタイミングで、量子化手段B46bに対して選択する(間引く)画像フレームを6fpsにする等の処理パラメータ与えて、処理内容を変更する。
【0099】
このように、同じ符号化映像の入力データi0に対し、複数の異なる仕様の符号化映像の出力データo1〜o7に変換する際に、変換要求受付手段2が業務端末16から変換要求を受け取った場合には、処理フロー作成手段3がトランスコーダ10の入力から出力に向かって、共用可能な部分処理手段4を共用するツリー状の処理フロー情報6を作成する。
【0100】
そして、変換制御手段2は、当該作成された処理フロー情報6に従い部分処理手段4を連結し、一つの入力データi0を複数の出力データo1〜o7に逐次並列的に変換するよう制御する構造のツリー状処理フロー5を構成する。
【0101】
これにより、CPU(図示していない)が同じ部分処理を複数回行う無駄をなくすことができ、トランスコード処理の高速化を図ることができる。また、従来の技術のように、予め想定される全ての処理フロー、すなわち部分処理手段のあらゆる組合せに対応する一入力多出力変換のソフトウェアモジュール(部分処理手段4)群を作成し、ディスク等に格納するのではなく、用意した部分処理に対応するソフトウェアモジュール群の中から変換要求に応じて、必要な部分処理ソフトウェアモジュールを選択し、組み合わせるので、装置の価格を低く抑えると共に、種々の変換要求に柔軟に対応可能なトランスコーダ10を効率よく実装できる効果がある。
【0102】
さらに、時系列の動画像データの変換中に、処理フロー作成手段3が業務端末16からの変更要求に基づき処理フロー情報6を変更し、変換制御手段3が部分処理手段4間の連結を動的に変更(つまり、一部で変換処理を続行しつつ、部分処理手段4の構成を変更)し、あるいは部分処理手段4の処理内容を動的に変更(つまり、一部で変換処理を続行しつつ、部分処理手段4のパラメータを変更)しているので、従来の技術のように、変換プロセスの消滅・再生成等に伴う、変換処理全体の中断をする必要がない。したがって、変換要求に対応する出力データ以外の出力データに影響を与えず、該当する出力データに対してのみ変換要求に対応した変更を実施することができる。
【0103】
<実施の形態2>
本実施の形態2は、図1に示す映像監視システムにおいて、業務端末16がクロッピング変換または虫眼鏡変換といった変換要求を出力した場合について、説明するものである。
【0104】
実施の形態1では、高いビットレートの入力映像を、再量子化による画質低下、解像度縮小、およびフレーム間引きにより、低いビットレートの出力映像に変換した。しかし、監視の目的によっては、カメラで撮影される一部の領域のみを高画質で詳細に見たいという要求がある場合もある。当該要求を実現することができる方法として、クロッピング変換と虫眼鏡変換がある。
【0105】
図12に示すように、クロッピング変換とは、画像フレームの一部の領域を取り出し高画質で再符号化する変換方法のことである。また、虫眼鏡変換とは、詳細に見たい領域は高い画質で、そうでない領域は低い画質で再符号化する変換方法のことである。
【0106】
ここで、トランスコーダ10の構成やソフトウェアの実装方法などは実施の形態1と同様なので、ここでの説明は省略し、異なる部分のみを説明する。
【0107】
図13は、映像ネットワーク11上でコーデック12からマルチキャストされる、640×480画素,カラー,15fps,5MbpsのJPEGデータを映像ゲートウェイ20が受信し、当該受信したJPEGデータを本発明に係るトランスコーダ10により、320×240画素,カラー,5fps,512KbpsのJPEGデータに変換した後、当該変換したJPEGデータを映像ゲートウェイ20が業務ネットワーク15上に、マルチキャスト配信する際の処理フローを示している。
【0108】
図13に示すフロー構成では、入力されてきたJPEGデータから必要な画像フレームを間引いた後、エントロピー復号化手段4F,逆量子化手段4G,解像度変換(1/4)手段4H,量子化手段4I,エントロピー符号化手段4J等の各部分処理手段4により、所定の変換処理を行い、変換されたJPEGデータを業務ネットワーク15上に、マルチキャスト配信する。
【0109】
さて、図13に示した変換処理を実行している最中に、マルチキャスト配信されたJPEGデータを受信し表示していた2台の業務端末16から、クロッピング変換の要求がトランスコーダ10の変換要求受付手段1に送られたとする。
【0110】
具体的に、図14に示すように、一方の業務端末16からは、詳細に見たい領域として入力映像に対して領域Aが指定され、当該領域Aに関して320×240画素,カラー,5fps,512KbpsのJPEGデータに変更して配信してほしいという変換要求が出力されたとする。
【0111】
これに対して、他方の業務端末16からは、詳細に見たい領域として入力映像に対して領域Bが指定され、当該領域Bに関して320×240画素,カラー,5fps,512KbpsのJPEGデータに変更して配信してほしいという変換要求が出力されたとする。
【0112】
なお、各業務端末16からの領域の指定は、入力画像のマクロブロック単位に指定できる。
【0113】
上記変換要求を変換要求受付手段1が受け取ると、実施の形態1で説明したように、処理フロー作成手段3が作成した処理フロー情報6に基づき、変換制御手段2は、スレッドである2つのエントロピー符号化手段を起動させ、図15に示すツリー状処理フロー5を構成する。
【0114】
図15で示されているように、新たに起動されたエントロピー符号化手段4K,4Lがエントロピー符号化手段4Fの後段に、それぞれ接続される。そして、エントロピー復号化手段4Fで復号化された入力画像のうち、一方の業務端末16に対するエントロピー符号化手段4Kは、領域Aを構成するマクロブロックデータを選択して符号化する。これに対して、他方の業務端末16に対するエントロピー符号化手段4Lは、領域Bを構成するマクロブロックデータを選択して符号化する。
【0115】
このように、図15に示したツリー状処理フロー5では、3つの出力データを変換するに際して、エントロピー復号化手段4Fと逆量子化手段4Gとが共有されている。
【0116】
次に、図13に示した変換処理を実行している最中に、マルチキャスト配信されたJPEGデータを受信し表示していた2台の業務端末16から、虫眼鏡変換の要求がトランスコーダ10の変換要求受付手段1に送られてきた場合について説明する。
【0117】
ここで、上記2台の業務端末16から指定される、入力映像に対して虫眼鏡変換を行う領域指定は、上記と同様に、図14に示した指定であるとする。また、両業務端末16が配信を要求する映像の種類は、640×480画素,カラー,5fps,1MbpsのJPEGデータであるとする。
【0118】
上記変換要求を変換要求受付手段1が受け取ると、実施の形態1で説明したように、処理フロー作成手段3が作成した処理フロー情報6に基づき、変換制御手段2は、スレッドである2つの量子化手段4M,4Oと、スレッドである2つのエントロピー符号化手段4N,4Pとを起動させ、図16に示すツリー状処理フロー5を構成する。
【0119】
図16で示されているように、新たに起動された量子化手段4M,4Oが逆量子化手段4Gの後段に、それぞれ接続され、また両量子化手段4M,4Oの後段には、各エントロピー符号化手段4N,4Pが各々接続されている。
【0120】
図16で示されたツリー状処理フロー5において、エントロピー復号化手段4F、逆量子化手段4Gにより変換された入力データに対し、量子化手段4Mでは、領域(A+B)を構成するマクロブロックデータを入力画像と同様に量子化する(入力符号化データと同一の方法およびパラメータで量子化する)。
【0121】
これに対して、量子化手段4Oでは、領域(A×B)以外の領域において高次のDCT成分を0にして量子化する(つまり、量子化手段4Oにて領域(A×B)以外の領域の高次成分を0に置き換える)。
【0122】
次に、領域Aを指定した業務端末16に対応するエントロピー符号化手段4Nは、領域Aを構成するマクロブロックデータを量子化手段4Mから受け取り、また領域A以外の領域を構成するマクロブロックデータを量子化手段4Oから受け取り、再符号化を行う。
【0123】
これに対して、領域Bを指定した業務端末16に対応するエントロピー符号化手段4Pは、領域Bを構成するマクロブロックデータを量子化手段4Mから受け取り、また領域B以外の領域を構成するマクロブロックデータを量子化手段4Oから受け取り、再符号化を行う。
【0124】
このように、図16に示したツリー状処理フロー5では、3つの出力データを変換するに際して、エントロピー復号化手段4Fと逆量子化手段4Gとが共有されている。また、2つの出力データ(虫眼鏡変換された出力データ)を変換するに際して、領域(A+B)に対する量子化を行う量子化手段4Mおよび、領域(A×B)以外の領域に対する量子化を行う量子化手段4Oが共有されている。
【0125】
ここで、上記クロッピング変換および虫眼鏡変換において、業務端末16からの領域(指定)変更要求に対するトランスコーダ10の応答タイミングは、出力画像のフレーム単位である。したがって、ユーザが業務端末16の画面上で指定領域をマウスでドラッグしながら、トランスコーダ10と対話的に領域を変更することも可能である。
【0126】
このように、本実施の形態2では、クロッピング変換や虫眼鏡変換のように変換パラメータとして入力画像フレームの一部の領域を指定し、さらにその指定領域を対話的に変更するといった変換に対しても、実施の形態1と同様に、同じ入力データに対する複数の変換において一部の部分処理手段4を共有している。
【0127】
したがって、本実施の形態2で説明した変換においても、CPU(図示せず)の処理負担を軽減することができ、変換処理の高速化を図ることができる等の実施の形態1と同様な効果を得ることができる。また、指定領域は画像フレーム単位で動的に変更でき、使い勝手のよいシステムを提供できる。
【0128】
なお、上記では、領域の指定は入力画像のマクロブロック単位でできるとしたが、入力画像を画素レベルまで復号すれば、画素単位で領域を指定することができる。
【0129】
<実施の形態3>
上記各実施の形態では、一つの動画像を複数の表示端末に異なる符号化データとして配信する場合について説明したが、本実施の形態3では、静止画像を複数の表示端末に異なる符号化データとして配信する場合について説明する。トランスコーダ10の構成やソフトウェアの実装方法などは、実施の形態1で説明したものと同様であるので、ここでは異なる部分のみを説明する。
【0130】
図17は、本実施の形態3に係る画像サーバシステムの構成を示す図であり、例えば、電子会議や電子授業において、ある表示端末から同じ静止画像を複数の他の表示端末に配信して表示する場合等に適用することができる。
【0131】
図17において、ネットワーク25を介して、画像サーバ21と複数の表示端末26とがそれぞれ接続されている。
【0132】
画像サーバ21は、読出部22、本発明に係るトランスコーダ10および通信部23等により構成されている。読出部22は、画像データベース24から該当する符号化画像を読出し、当該読出した符号化画像を本発明に係るトランスコーダ10は、各表示端末26からの要求に応じた形式の符号化画像に変換する。そして、通信部23により、トランスコーダ10において符号化された画像が各表示端末26に配信される。
【0133】
各表示端末26は、カラー/モノクロ、解像度といった表示能力の違い、各表示端末26へ繋がるネットワーク25の空き容量の違い、または各表示端末26に表示している画面のレイアウトの違いなどにより、配信されるべき画像の符号化方式やパラメータが異なる。各表示端末26に対して、どのような符号化をするかを決める方法として、各表示端末26からの配信要求で指定する、予め画像サーバ21に設定しておく、あるいは画像サーバ21から各表示端末26に問い合わせるなど、色々な方法がある。
【0134】
ここで、各表示端末26は、実施の形態1で説明した業務端末16と同じ構成が取られており、通信部16a、復号化部16b、表示部16cおよび対話制御部16d等により構成されている。
【0135】
本実施の形態においても、トランスコーダ10で構成される各部分処理手段4はスレッドとしており、図18は、静止画像符号化変換で用いられる部分処理スレッドモジュール(部分処理手段4)を例示する図である。
【0136】
図18には、エントロピー復号化/符号化,逆量子化/量子化,逆DCT/DCTといった、JPEGの復号化と符号化に必要な各部分処理手段4と、解像度変換,白黒化,ローパスフィルタ,エッジ強調などの画像処理を行う部分処理手段4と、GIF復号化/符号化などのGIF変換に必要な各部分処理手段4とが実線ブロックで示されている。なお、図18には、入力部,送信部,表示部,ファイル出力部等の、トランスコーダ10の両端で接続される入出力のスレッドも記載されている。
【0137】
次に、図19,20は、図18に示した各部分処理手段4を連結して、一つの静止画像符号化データを、仕様の異なる複数の静止画像符号化データに変換するツリー状処理フロー5の例を示している。
【0138】
図19では、例えば、2400×1600画素,カラー,10MBのGIF画像データ(入力データi11と称す)を受信し、3つの異なるJPEG静止画像符号化データと、3つの異なるGIF画像符号化データとに変換した後、各表示端末26に配信する場合のツリー状処理フロー5の一例である。
【0139】
図19において、GIF復号化手段41Aは、全ての変換で共有されている。また、GIF復号化手段41Aの後段には、3つJPEG変換で共有されているDCT手段41Bと、3つのGIF変換で共有されているローパスフィルタ手段41Cとが接続されている。
【0140】
また、DCT手段41Bの後段には、3つの量子化手段41D,41E,41Fとが各々並列に接続されている。また、ローパスフィルタ手段41Cの後段には、GIF符号化手段41G、解像度変換(1/16)手段41Hと、解像度変換(1/64)手段41Iが各々並列に接続されている。
【0141】
さらに、各量子化手段41D〜41Fには、エントロピー符号化手段41J,41K,41Lが各々接続されている。また、解像度変換(1/16)手段41Hの後段には、GIF符号化手段41Mが接続されおり、解像度変換(1/64)手段41Iの後段には、GIF符号化手段41Nが接続されている。
【0142】
図19において、GIF復号化手段41A,DCT手段41B,量子化手段41Dおよびエントロピー符号化手段41Jにより、入力データ11iを、2400×1600画素,カラー,500KBのJPEGデータ(出力データ)o11に再符号化している。
【0143】
また、GIF復号化手段41A,DCT手段41B,量子化手段41Eおよびエントロピー符号化手段41Kにより、入力データ11iを、2400×1600画素,カラー,300KBのJPEGデータ(出力データ)o12に再符号化している。
【0144】
また、GIF復号化手段41A,DCT手段41B,量子化手段41Fおよびエントロピー符号化手段41Lにより、入力データ11iを、2400×1600画素,白黒,150KBのJPEGデータ(出力データ)o13に再符号化している。
【0145】
また、GIF復号化手段41A,ローパスフィルタ手段41C,およびGIF符号化手段41Gにより、入力データ11iを、2400×1600画素,カラー,5MBのGIFデータ(出力データ)o14に再符号化している。
【0146】
また、GIF復号化手段41A,ローパスフィルタ手段41C,解像度変換(1/16)手段41H,およびGIF符号化手段41Mにより、入力データ11iを、600×400画素,カラー,600KBのGIFデータ(出力データ)o15に再符号化している。
【0147】
また、GIF復号化手段41A,ローパスフィルタ手段41C,解像度変換(1/64)手段41I,およびGIF符号化手段41Nにより、入力データ11iを、300×200画素,カラー,150KBのGIFデータ(出力データ)o16に再符号化している。
【0148】
また図20では、例えば、2400×1600画素,カラー,1MBのJPEG画像データ(入力データ)i21を受信し、5つの異なるJPEG静止画像符号化データと、1つのGIF画像符号化データとに変換した後、各表示端末26に配信する場合のツリー状処理フロー5の一例である。
【0149】
ここで、入力データi21は、図20に示すツリー状処理フロー5によって、2400×1600画素,カラー,500KBのJPEGデータ(出力データ)o21、2400×1600画素,カラー,250KBのJPEGデータ(出力データ)o22、2400×1600画素,白黒,150KBのJPEGデータ(出力データ)o23、1200×800画素,カラー,150KBのJPEGデータ(出力データ)o24、1200×800画素,白黒,100KBのJPEGデータ(出力データ)o25、および、600×400画素,カラー,150KBのGIFデータ(出力データ)o26に変換(再符号化)される。
【0150】
図20において、エントロピー復号化手段42A,逆量子化手段42B,および逆DCT手段42Cは、全ての出力データo21〜o26の変換で共有されている。
【0151】
また、逆DCT手段42Cの後段には、出力データo21〜o23のJPEG変換で共有されているDCT手段42Dと、出力データo24,o25のJPEG変換で共有されている解像度変換(1/4)手段42Eと、出力データo26のGIF変換で使用される解像度変換(1/16)手段42Fとが並列に接続されている。
【0152】
また、DCT手段42Dの後段には、出力データo21の変換処理で使用される量子化手段42Gと、出力データo22,o23の変換で共有されている量子化手段42Hとが各々並列に接続されている。
【0153】
また、解像度変換(1/4)手段42Eの後段には、出力データo24,o25の変換で共有されているDCT手段42Iと、量子化手段42Jとが直列に接続されている。
【0154】
また、量子化手段42Gの後段には、エントロピー符号化手段42Kが接続されており、量子化手段42Hの後段には、エントロピー符号化手段42Lが接続されている一方で、白黒化手段42Mを介してエントロピー符号化手段42Nが接続されている。
【0155】
また、量子化手段42Jの後段には、エントロピー符号化手段42Oが接続されている一方で、白黒化手段42Pを介してエントロピー符号化手段42Qが接続されている。
【0156】
また、解像度変換(1/16)手段42Fの後段には、GIF符号化手段42Rが接続されている。
【0157】
さて、例えば、図20に示したツリー状処理フロー5により、所定の静止画像データの変換および配信を終了させた後に、画像サーバシステムにおいて、新たな表示端末26が1200×800画素,カラー,300KBのJPEGデータ(出力データo27)の配信を要求し、さらに、出力データo21の配信を要求いていた表示端末26が画質を向上して800KBのJPEGデータを要求した場合には、トランスコーダ10において、図21に示すツリー状処理フロー5が構成される。
【0158】
つまり、図21において、量子化手段42Gのパラメータの変更されると共に、DCT手段42Iの後段に、新たなスレッドとして量子化手段42Sとエントロピー符号化手段42Tとが生成され、当該順に接続される。
【0159】
このように、図17に示した画像サーバシステムを用いた電子会議や電子授業では、同じ仕様で符号化された、異なる静止画像を画像データベース24から読出し、複数の表示端末26に対して符号化変換して配信している状況において、表示端末26の新規追加や削除、あるいは表示端末26から出力仕様の変更要求等の新たな変換要求があっても、処理フローで変更がある部分処理手段4のみにおいて、スレッドの終了、起動、連結、または処理内容の変更が行われるため、全ての変換処理に迅速かつ柔軟に対応することができる。
【0160】
以上のように、本実施の形態3で説明した静止画像に対しても、実施の形態1と同様に、同じ入力に対する複数の変換において一部の部分処理手段4が共有されているので、高速化やシステムの費用の削減を図ることができる。また、表示端末26からの変換要求に応じて、スレッドである部分処理手段4を組み合わせることにより、種々の変換要求に柔軟に対応することができるトランスコーダ10を提供することができる。
【0161】
さらに、複数の静止画像を連続して変換している際に、処理フロー作成手段3が変換方法の変更要求に基づき処理フロー情報6を変更し、変換制御手段2が部分処理手段4間の連結を動的に変更し、あるいは部分処理手段4の処理内容(パラメータ情報)を動的に変更するため、変換プロセス全体の消滅・再生成等に伴う変換の中断や遅延が発生することなく、他の出力に影響を与えず該当する出力の変換要求に対応することができる。
【0162】
なお、上記各実施の形態に示した各システムでは、業務端末16や表示端末26が変換要求を出すとしたが、例えば、ネットワークの空き帯域を管理するQoS管理サーバが、トランスコーダ10に対して各出力のビットレートを指示するなど、別の端末やモジュールが変換要求を出すシステム構成であっても良い。
【0163】
また、映像ゲートウェイ20や画像サーバ21にトランスコーダ10を組み込む構成を示したが、例えば、業務端末16や表示端末26内にトランスコーダ10と組み込み、当該業務端末16や表示端末26にて受信した符号化画像を白黒で表示し、当該表示した画像を使用の異なる多数の形式でファイル記録するなど、別の構成でも構わない。
【0164】
また、画像の符号化方式として、JPEG,MPEG−2/4,GIF等を例にとって説明したが、これらに限定されるものではなく、他の画像符号化形式でもよく、符号化された音声や他の信号データでも本発明に係るトランスコーダ10を適用することができる。
【0165】
また、動画像データをトランスコードする実施の形態1では、処理フロー変更を画像フレーム単位として話を進めたが、MPEG−2のGOP(Group of Picture)等、一連の画像フレームを単位としてもよい。
【0166】
さらに、上記各実施の形態では、トランスコーダ10を構成するソフトウェアの実装方法として、階層的なマルチスレッド構成の方法としたが、複数プロセスで複数スレッドの構成する方法や、1プロセスで1スレッドの構成する方法であってもよい。
【0167】
【発明の効果】
本発明の請求項1に記載のトランスコーダは、第一の符号化データを入力し、当該第一の符号化データとは異なる第二の符号化データに変換するトランスコーダにおいて、外部からの前記変換の仕様に関する要求である変換要求情報を受信する変換要求受付手段と、前記変換を実行する、複数の部分処理手段と、前記変換要求情報に基づいて、前記複数の部分処理手段を協働的に機能させるための情報である処理フロー情報を作成する処理フロー作成手段と、前記処理フロー情報に基づいて、前記部分処理手段の接続を制御する変換制御手段とを、備えているので、種々の一入力多出力の変換要求に柔軟に対応することができるトランスコーダを提供することができる。
【図面の簡単な説明】
【図1】 本発明に係るトランスコーダを用いたシステムを説明するための図である。
【図2】 本発明に係るトランスコーダの構成を示すブロック図である。
【図3】 変換要求受付手段における処理の流れを示すフローチャートである。
【図4】 変換制御スレッドにおける処理の流れを示すフローチャートである。
【図5】 動画像に関するトランスコードに用いられる部分処理手段の一部を列挙した図である。
【図6】 実施の形態1に係る第一のツリー状処理フローの構成を示す図である。
【図7】 実施の形態1に係る第二のツリー状処理フローの構成を示す図である。
【図8】 実施の形態1に係る第三のツリー状処理フローの構成を示す図である。
【図9】 実施の形態1に係る第四のツリー状処理フローの構成を示す図である。
【図10】 実施の形態1に係る第五のツリー状処理フローの構成を示す図である。
【図11】 実施の形態1に係る第六のツリー状処理フローの構成を示す図である。
【図12】 クロッピング変換および虫眼鏡変換の様子を示す図である。
【図13】 実施の形態2に係る処理フローの構成を示す図である。
【図14】 クロッピング変換等を行う領域を指定する様子を示す図である。
【図15】 実施の形態2に係る第一のツリー状処理フローの構成を示す図である。
【図16】 実施の形態2に係る第二のツリー状処理フローの構成を示す図である。
【図17】 実施の形態3に係る画像サーバシステムの構成を示す図である。
【図18】 静止画像に関するトランスコードに用いられる部分処理手段の一部を列挙した図である。
【図19】 実施の形態3に係る第一のツリー状処理フローの構成を示す図である。
【図20】 実施の形態3に係る第二のツリー状処理フローの構成を示す図である。
【図21】 実施の形態3に係る第三のツリー状処理フローの構成を示す図である。
【符号の説明】
1 変換要求受付手段、2 変換制御手段、3 処理フロー作成手段、4 部分処理手段、5 ツリー状処理フロー、6 処理フロー情報、10 トランスコーダ。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a transcoder and relates to a transcoder that is more effective when connected to a plurality of display terminals having different specifications, for example.
[0002]
[Prior art]
The transcoder is, for example, MPEG (Moving Picture Experts Group) -2 moving image data of 720 × 480 pixels, 30 fps (frames per second), 6 Mbps (bits per second), MPEG of 352 × 240 pixels, 10 fps, 384 Kbps. -4 refers to a device that transcodes (encodes and converts) image data, such as converting to moving image data.
[0003]
A conventional transcoder inputs moving image data encoded by MPEG-2 or the like, and once the input moving image data is decoded by a decoding unit, the encoding unit uses a different encoding format from the input. It is configured to encode and output video data of a bit rate (bandwidth) (for example, see Patent Document 1).
[0004]
In addition, for example, when a plurality of display terminals receive and display live video captured by a camera as moving image data of different quality according to each display capability and network bandwidth, one encoding is performed. There is a need to simultaneously convert data into a plurality of encoded data of different specifications.
[0005]
As a technique that meets this requirement, there is an invention shown in FIG. In the present invention, one decoding processing unit decodes the input MPEG-2 video into image data, and two MPEG-2 encoding processing units having different processing contents convert the decoded image data into two different image quality. By re-encoding to one MPEG-2 video, an increase in calculation amount is suppressed and a processing load is reduced.
[0006]
[Patent Document 1]
JP-A-8-51631 (FIGS. 4, 9, etc.)
[0007]
[Problems to be solved by the invention]
However, in the transcoder described in
[0008]
Also, when changing the conversion specification in the middle, the processing flow is fixed in the transcoder, so the parameter change of the processing part that is not shared by each output (for example, if the requantization process is not shared, Parameter change), for example, it cannot respond to various change requests such as changing the output format from MPEG-2 to JPEG (Joint Photographic Coding Experts Group) during the process, and its use is limited. There was a problem.
[0009]
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a transcoder that can keep the cost of the apparatus low and can flexibly respond to various single-input multiple-output conversion requests.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, a transcoder according to
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be specifically described with reference to the drawings showing embodiments thereof.
[0013]
<
FIG. 1 is a diagram showing a configuration of a video surveillance system in which a
[0014]
In FIG. 1, a plurality of
[0015]
Here, a
[0016]
The
[0017]
In the video monitoring system having the above configuration, live video captured by the
[0018]
On the other hand, it is assumed that the bandwidth of the
[0019]
Specifically, in the
[0020]
Here, the
[0021]
Next, the processing of the
[0022]
In FIG. 2, the conversion
[0023]
The processing flow creation means 3 connected to the conversion control means 2 receives a conversion request via the conversion control means 2. The processing flow creation means 3 that has received the conversion request creates processing flow information 6 that is information for causing the plurality of partial processing means 4 to function cooperatively based on the conversion request information. 6 is transmitted to the conversion control means 2.
[0024]
Here, each partial processing means 4 is responsible for partial predetermined processing in a series of data conversion processing.
[0025]
In the present embodiment, the processing flow information 6 includes the structure information of the tree-
[0026]
Based on the processing flow information 6, the
[0027]
In FIG. 2, the structure of the tree-
[0028]
Here, in the structure of the tree-
[0029]
Similarly, the partial processing means 4b and the partial processing means 4d are shared in the conversion process for generating the
[0030]
That is, the output result of the partial processing unit 4b is input to the subsequent
[0031]
Here, various methods are conceivable as a method of mounting the
[0032]
Hereinafter, in the
[0033]
The conversion
[0034]
Here, the conversion request receiving means 1 has a predetermined communication port number, and the business terminal 16 sends a conversion request indicating a request for video distribution or a change in the specification of the
[0035]
Upon receiving the conversion request, the conversion
[0036]
Specifically, if the conversion process for the
[0037]
If the conversion request received by the conversion
[0038]
If the conversion request received by the conversion
[0039]
Thereafter, whenever the business terminal 16 again sends a video distribution request or a conversion request indicating a change in the specification of the
[0040]
Next, the flow of processing in which the conversion control thread reconverts moving image encoded data will be described based on the flowchart shown in FIG.
[0041]
In step S21 of FIG. 4, a conversion control thread is activated from the conversion request receiving means (thread) that has received the conversion request, and the following processing is performed on the received conversion request.
[0042]
First, in step S22, the processing
[0043]
For example, after the activation, when the first conversion request is one input and one output, the processing flow creation means 3 proceeds with a plurality of partial processing means 4 (hereinafter referred to as partial processing means 4 as threads) as threads. ) Are generated in a sequential connection manner. Thereafter, when a conversion request for
[0044]
Here, even when conversion requests of different output specifications are given to the
[0045]
There are several methods for creating the actual processing flow information 6 for the conversion request.
[0046]
For example, if the number of processing flow patterns is small, all processing flows supported in advance are considered, and a method of defining a program header file or a file read by the program is suitable.
[0047]
When the number of processing flow patterns is large, templates and their combination rules are prepared in advance according to the type of output specifications such as the encoding method and resolution to be output. A method of dynamically creating the processing flow information 6 according to the conversion request is suitable.
[0048]
Next, in step S23, the conversion control means 2 starts and connects the necessary partial processing means 4, changes the processing parameters of the partial processing means 4, and unnecessary parts based on the processing flow information 6 created above. Each control process such as termination of the processing means 4 is performed.
[0049]
Here, the partial processing means 4 has, as input parameters, an information parameter for accessing the result processed by the connected partial processing means 4 in the preceding stage, a processing parameter indicating how to process the input information from the previous stage, and , Information parameters for enabling the partial processing means 4 in the subsequent stage to access the processed results. By communication between the partial processing means 4 using the parameters, message and data exchange between the partial processing means 4 and synchronization processing are performed.
[0050]
Next, in step S24, conversion processing for one frame of moving image data is performed in each of the partial processing means 4 activated and connected based on the processing flow information 6 created above.
[0051]
Specifically, the top partial processing means 4 inputs the encoded
[0052]
Next, in step S25, the conversion control thread determines whether or not there is a new conversion request. If there is no conversion request (if “No” in step S25), the process returns to step S24 to maintain the processing flow configuration. In this state, conversion processing for the next one frame is performed. On the other hand, if there is a conversion request (if “Yes” in step S25), the conversion control thread checks the type of the conversion request in step S26.
[0053]
As a result of examining the types of conversion requests, if all conversion processes are to be ended (“conversion end” in step S26), the partial processing means 4 and the conversion control thread are ended in step S27. On the other hand, if not (“conversion change” in step S26), the process returns to step S22, and the conversion control thread creates new process flow information 6 and is configured based on the created process flow information 6. The partial processing means 4 continues the conversion process.
[0054]
Next, how the partial processing means 4 is changed will be specifically described with reference to FIGS.
[0055]
FIG. 5 is a diagram illustrating the partial processing means 4 used in the moving image coding conversion.
[0056]
FIG. 5 shows MPEG-2, MPEG-4, JPEG (precisely for moving images) such as entropy decoding / encoding, inverse quantization / quantization, inverse DCT (Discrete Cosine Transform) / DCT, motion compensation. Each of the partial processing means 4 required for decoding and encoding), resolution conversion, black and white, low-pass filter, edge enhancement, etc. The partial processing means for performing the image processing is illustrated by a solid line block. Note that FIG. 5 also includes threads for reception and transmission that are connected to both ends of the transcode processing.
[0057]
6 to 11 show a tree-
[0058]
In FIG. 6, for example, after receiving 720 × 480 pixels, color, 30 fps, 6 Mbps MPEG-2 data (hereinafter referred to as input data i0) and converting it into three different moving image encoded data, each business terminal 16 is an example of a tree-
[0059]
The partial processing means block B41 is composed of each partial processing means 4 such as entropy decoding means B41a, inverse quantization means B41b, inverse DCT means B41c, motion compensation means B41d, and frame memory means B41e. The decoding process of the input data i0 from the means B41a to the motion compensation means B41d (including the frame memory means B41e, of course) is shared by the processes for generating the three output data o1 to o3.
[0060]
The partial processing means block B42 includes DCT means B42a, quantization means B42b, entropy coding means B42c, motion compensation means B42d, frame memory means B42e, inverse DCT means B42f, inverse quantization means B42g, etc. 4 and executes re-encoding processing of output data (720 × 480 pixels, color, 30 fps, 3 Mbps MPEG-2 data) o1.
[0061]
The partial processing means block B43 includes DCT means B43a, quantization means B43b, entropy coding means B43c, motion compensation means B43d, frame memory means B43e, inverse DCT means B43f, inverse quantization means B43g, etc. 4 and executes re-encoding processing of output data (720 × 480 pixels, color, 30 fps, 1 Mbps MPEG-2 data) o2.
[0062]
Further, the partial processing means block B44 includes resolution conversion (1/16) means B44a, DCT means B44b, quantization means B44c, entropy coding means B44d, motion compensation means B44e, frame memory means B44f, inverse DCT means B44g, and reverse. Each partial processing means 4 such as the quantization means B44h is configured to execute re-encoding processing of output data (MPEG-4 data of 176 × 112 pixels, color, 10 fps, 128 Kbps) o3.
[0063]
Here, the re-encoding to MPEG-2 is performed by the partial processing means 4 such as the DCT means B42a, B43a and the quantization means B42b, B43b, and the MPEG-2 data inputted in the quantization means B42b, B43b. The image quality is lowered by quantizing in a coarser step or by setting the high-frequency component of DCT to 0 in DCT means B42a and B43a, and the bit rate is reduced from 6 Mbps to 3 Mbps and 1 Mbps. The motion compensation means B42d and B43d do not perform motion search by image matching in units of macroblocks, and use the motion vector of the input data (extracted after entropy decoding in FIG. 6) to increase the speed.
[0064]
On the other hand, in the re-conversion to MPEG-4, first, necessary image frames are each thinned out from the decoded 30 fps image sequence at 10 fps, and the thinned image is reduced to 1/16 by resolution conversion (1/16) means B44a. After the resolution conversion, encoding processing is performed by the partial processing means 4 such as the DCT means B44b and the quantization means B44c. Since the macroblock is in a unit of 16 × 16 pixels, the lower area of the image data of 720 × 480 pixels is discarded in the resolution conversion process. If the resolution is 1/4, 352 × 240 pixels and if the resolution is 1/16 For example, it is converted to 176 × 112 pixels.
[0065]
Since these transcoding techniques such as MPEG-2 and MPEG-4 are publicly known (for example, Patent Document 1), detailed flow of conversion processing here and description of each partial processing means 4 are omitted.
[0066]
In this way, in the conversion processing of three different output data o1 to o3, the tree-
[0067]
Here, in the example shown in FIG. 6, the partial processing means blocks B42 to B44 have a processing loop by interframe coding, and the partial processing means block B41 is extracted after entropy decoding. Since the motion vector of the input data i0 is used for motion vector generation in the subsequent encoding, it cannot be said that a tree structure is obtained when each partial processing means is viewed as a node.
[0068]
However, when the structure shown in FIG. 6 is viewed in units of blocks, the set of partial processing means to be connected is divided into a shareable part (partial processing means block B41) and a non-sharable part (partial processing means blocks B41 to B44). If the shared part and the non-shared part are considered as nodes, the processing flow can be regarded as a tree structure. In the present invention, this is expressed as a tree-like processing flow.
[0069]
Next, when performing conversion processing based on the tree-
[0070]
When the above conversion request is generated from a new business terminal 16, the tree-
[0071]
Further, the partial processing means 4A for resolution conversion (1/4) is newly generated and connected in the previous stage of the partial processing means blocks B44, B45, and further, the resolution conversion (1/16) means B44a is generated in the partial processing means block B44. Is replaced by resolution conversion (1/4) means B44k.
[0072]
Here, each newly generated partial processing means 4 is a thread like the others.
[0073]
In each of the partial processing means 4 newly created and changed in FIG. 7, the following processing is executed.
[0074]
In other words, the resolution conversion (1/4) means 4A converts the image data decoded by the preceding partial processing means block B41 at a resolution of 1/4, and a necessary image frame is obtained at 4 fps from the resolution-converted image data. Thin out.
[0075]
In the partial processing means block B45, MPEG-4 re-encoding processing is performed by the partial processing means 4 such as DCT means B45a, quantization means B45b, entropy encoding means B45c, motion compensation means B45d, and the like. The converted output data o4 is distributed to the new business terminal 16.
[0076]
As can be seen from FIG. 7, the MPEG-2 decoding process by the partial processing means block B41 is shared for the four output data o1 to o4, and the resolution conversion ( 1/4) The resolution conversion processing by
[0077]
When receiving the conversion request, the
[0078]
In parallel with this, after the resolution conversion of the image frame being converted to the output data o3 is completed, the resolution conversion (1/16) means B44a is ended, and instead of this, two resolution conversions (1/4) The means 4A and B44k are activated and connected in series, and the output of the first resolution conversion (1/4) means 4A is connected to the head partial processing thread of the partial processing means block B45.
[0079]
Thereafter, the DCT means B45a in the partial processing means block B45 fetches the data of the first image frame decoded and thinned out in the previous stage, and the MPEG-4 encoding process is started.
[0080]
In the technique disclosed in
[0081]
However, in the
[0082]
Next, a description will be given of a case where a distribution stop conversion request is issued from the business terminal 16 that has received the output data o2 while performing conversion processing based on the tree-
[0083]
When the
[0084]
Further, when conversion processing is performed based on the tree-
[0085]
That is, when the
[0086]
Thereafter, re-encoding into JPEG data is executed, and output data o5 is output from the last partial processing means 4 of the partial processing means block B46.
[0087]
Further, when the conversion processing is performed based on the tree-
[0088]
That is, when the
[0089]
Thereafter, the JPEG data conversion process with the new specification is resumed, and the output data o6 is output from the last partial processing means 4 of the partial processing means block B46.
[0090]
In addition, when the conversion process is performed based on the tree-
[0091]
That is, when the
[0092]
Then, as shown in FIG. 11, the partial processing means block B47 including the respective partial processing means 4 such as the JPEG encoding quantization means B47a and the entropy encoding means B47b is activated, and the activation is performed at the subsequent stage of the DCT means B46a. The partial processing means block B47 is connected.
[0093]
Further, the selected (thinned-out) image frame is changed from 4 fps up to 10 fps to the DCT means B 46 a.
[0094]
Further, the partial processing means 4 of the two resolution conversion (1/4) means 4A and B44k connected in series, which were involved in the conversion process of the output data o3, are terminated, and the resolution conversion (1/16) means 4B. Start and replace.
[0095]
Here, generation, change, deletion, etc. of the series of partial processing means 4 are executed while continuing other conversion processing.
[0096]
Thereafter, encoding of JPEG data is started, and output data o7 is output from the last partial processing means 4 of the partial processing thread block B47.
[0097]
Further, when the conversion process is performed based on the tree-
[0098]
Similarly, the business terminal 16 that has received the output data o6 has issued a conversion request for distributing the frame rate from 4 fps to 6 fps and the bit rate from 1 Mbps to 1.5 Mbps in the same JPEG data. In this case, the conversion processing means 2 follows the new processing flow information 6 created by the processing flow creation means 3 at the timing of processing a new image frame without changing the configuration of the tree-
[0099]
In this way, when the input data i0 of the same encoded video is converted into the output data o1 to o7 of encoded video having different specifications, the conversion request receiving means 2 receives the conversion request from the business terminal 16. In this case, the processing flow creation means 3 creates tree-like processing flow information 6 sharing the sharable partial processing means 4 from the input to the output of the
[0100]
Then, the conversion control means 2 connects the partial processing means 4 according to the created processing flow information 6 and controls to sequentially convert one input data i0 into a plurality of output data o1 to o7. A tree-
[0101]
Thereby, it is possible to eliminate the waste of the CPU (not shown) performing the same partial processing a plurality of times, and it is possible to speed up the transcode processing. Also, as in the prior art, a group of software modules (partial processing means 4) for one-input / multiple-output conversion corresponding to all processing flows assumed in advance, that is, any combination of partial processing means, is created and stored on a disk or the like. Instead of storing, the necessary partial processing software modules are selected and combined from the software module group corresponding to the prepared partial processing according to the conversion request, so that the price of the apparatus is kept low and various conversion requests are made. Therefore, there is an effect that the
[0102]
Further, during the conversion of time-series moving image data, the processing flow creation means 3 changes the processing flow information 6 based on a change request from the business terminal 16, and the conversion control means 3 moves the connection between the partial processing means 4. Change (that is, change the configuration of the
[0103]
<
In the second embodiment, the case where the business terminal 16 outputs a conversion request such as cropping conversion or magnifying glass conversion in the video monitoring system shown in FIG. 1 will be described.
[0104]
In the first embodiment, an input video with a high bit rate is converted into an output video with a low bit rate by image quality reduction due to requantization, resolution reduction, and frame thinning. However, depending on the purpose of monitoring, there is a case where only a part of the area photographed by the camera is desired to be viewed in detail with high image quality. There are cropping conversion and magnifying glass conversion as methods that can realize the request.
[0105]
As shown in FIG. 12, cropping conversion is a conversion method in which a part of an image frame is extracted and re-encoded with high image quality. The magnifying glass conversion is a conversion method in which a region desired to be seen in detail is re-encoded with a high image quality, and other regions are re-encoded with a low image quality.
[0106]
Here, since the configuration of the
[0107]
FIG. 13 shows that the
[0108]
In the flow configuration shown in FIG. 13, after necessary image frames are thinned out from the input JPEG data, entropy decoding means 4F, inverse quantization means 4G, resolution conversion (1/4) means 4H, quantization means 4I. The partial processing means 4 such as the entropy encoding means 4J performs a predetermined conversion process and distributes the converted JPEG data on the
[0109]
While the conversion process shown in FIG. 13 is being executed, the cropping conversion request from the two business terminals 16 that received and displayed the multicast-distributed JPEG data is the conversion request of the
[0110]
Specifically, as shown in FIG. 14, one business terminal 16 designates an area A for an input video as an area to be viewed in detail, and 320 × 240 pixels, color, 5 fps, 512 Kbps for the area A. Suppose that a conversion request is output to change to JPEG data and distribute.
[0111]
On the other hand, the other business terminal 16 designates an area B for the input video as an area to be viewed in detail, and changes the area B to JPEG data of 320 × 240 pixels, color, 5 fps, and 512 Kbps. And a conversion request for distribution is output.
[0112]
The area designation from each business terminal 16 can be designated in units of macroblocks of the input image.
[0113]
When the conversion
[0114]
As shown in FIG. 15, newly activated entropy encoding means 4K and 4L are connected to the subsequent stage of entropy encoding means 4F, respectively. Then, among the input images decoded by the
[0115]
As described above, in the tree-
[0116]
Next, during the execution of the conversion process shown in FIG. 13, a request for magnifying glass conversion is received from the
[0117]
Here, it is assumed that the area designation for performing the magnifying glass conversion on the input video, which is designated from the two business terminals 16, is the designation shown in FIG. In addition, it is assumed that the type of video requested to be distributed by both business terminals 16 is JPEG data of 640 × 480 pixels, color, 5 fps, and 1 Mbps.
[0118]
When the conversion request receiving means 1 receives the conversion request, as described in the first embodiment, based on the processing flow information 6 created by the processing
[0119]
As shown in FIG. 16, the newly activated quantizing means 4M and 4O are connected to the subsequent stage of the inverse quantizing means 4G, respectively, and each entropy is connected to the subsequent stage of both quantizing means 4M and 4O. Encoding means 4N and 4P are connected to each other.
[0120]
In the tree-
[0121]
On the other hand, in the quantization means 4O, quantization is performed by setting the high-order DCT component to 0 in the area other than the area (A × B) (that is, in the quantization means 4O other than the area (A × B)). Replace the higher order components of the region with 0).
[0122]
Next, the entropy encoding means 4N corresponding to the business terminal 16 that has designated the area A receives the macroblock data constituting the area A from the quantization means 4M, and receives the macroblock data constituting the area other than the area A. Receiving from the quantization means 4O, re-encoding is performed.
[0123]
On the other hand, the
[0124]
As described above, in the tree-
[0125]
Here, in the cropping conversion and the magnifying glass conversion, the response timing of the
[0126]
As described above, in the second embodiment, a part of the input image frame is designated as a transformation parameter, such as cropping transformation or magnifying glass transformation, and the designated region is interactively changed. As in the first embodiment, some partial processing means 4 are shared in a plurality of conversions for the same input data.
[0127]
Therefore, also in the conversion described in the second embodiment, the processing load on the CPU (not shown) can be reduced, and the same effect as that of the first embodiment can be achieved such that the conversion process can be speeded up. Can be obtained. In addition, the designated area can be dynamically changed for each image frame, and an easy-to-use system can be provided.
[0128]
In the above description, the area can be specified in units of macroblocks of the input image. However, if the input image is decoded to the pixel level, the area can be specified in units of pixels.
[0129]
<
In each of the above embodiments, a case where one moving image is distributed to a plurality of display terminals as different encoded data has been described. However, in the third embodiment, a still image is converted to a plurality of display terminals as different encoded data. A case of distribution will be described. Since the configuration of the
[0130]
FIG. 17 is a diagram illustrating the configuration of the image server system according to the third embodiment. For example, in an electronic conference or an electronic lesson, the same still image is distributed from one display terminal to a plurality of other display terminals and displayed. It can be applied to such cases.
[0131]
In FIG. 17, the
[0132]
The
[0133]
Each
[0134]
Here, each
[0135]
Also in this embodiment, each partial processing means 4 configured by the
[0136]
FIG. 18 shows each partial processing means 4 necessary for JPEG decoding and encoding, such as entropy decoding / encoding, inverse quantization / quantization, and inverse DCT / DCT, resolution conversion, monochrome conversion, and low-pass filter. , Partial processing means 4 for performing image processing such as edge enhancement and each partial processing means 4 necessary for GIF conversion such as GIF decoding / encoding are indicated by solid line blocks. FIG. 18 also shows input / output threads connected at both ends of the
[0137]
Next, FIGS. 19 and 20 are tree-like processing flows in which the
[0138]
In FIG. 19, for example, GIF image data (referred to as input data i11) of 2400 × 1600 pixels, color, and 10 MB is received, and three different JPEG still image encoded data and three different GIF image encoded data. It is an example of the tree-like process flow 5 in the case of distributing to each
[0139]
In FIG. 19, the GIF decoding means 41A is shared by all conversions. Further, a DCT unit 41B shared by three JPEG conversions and a low-pass filter unit 41C shared by three GIF conversions are connected to the subsequent stage of the
[0140]
Further, three quantizing means 41D, 41E, and 41F are connected in parallel to the subsequent stage of the DCT means 41B. Further, the GIF encoding means 41G, the resolution conversion (1/16) means 41H, and the resolution conversion (1/64) means 41I are connected in parallel to the subsequent stage of the low-pass filter means 41C.
[0141]
Furthermore, entropy encoding means 41J, 41K, and 41L are connected to the quantization means 41D to 41F, respectively. Further, a GIF encoding means 41M is connected to the subsequent stage of the resolution conversion (1/16) means 41H, and a GIF encoding means 41N is connected to the subsequent stage of the resolution conversion (1/64) means 41I. .
[0142]
In FIG. 19, GIF decoding means 41A, DCT means 41B, quantization means 41D and entropy encoding means 41J re-encode input data 11i into 2400 × 1600 pixels, color, 500 KB JPEG data (output data) o11. It has become.
[0143]
Also, the GIF decoding means 41A, DCT means 41B, quantization means 41E and entropy encoding means 41K re-encode the input data 11i into 2400 × 1600 pixels, color, 300 KB JPEG data (output data) o12. Yes.
[0144]
Also, the GIF decoding means 41A, DCT means 41B, quantization means 41F and entropy encoding means 41L re-encode the input data 11i into 2400 × 1600 pixels, black and white, 150 KB JPEG data (output data) o13. Yes.
[0145]
Also, the input data 11i is re-encoded into 2400 × 1600 pixels, color, 5 MB GIF data (output data) o14 by the GIF decoding means 41A, the low-pass filter means 41C, and the GIF encoding means 41G.
[0146]
Further, the GIF decoding means 41A, the low-pass filter means 41C, the resolution conversion (1/16) means 41H, and the GIF encoding means 41M convert the input data 11i into GIF data (output data of 600 × 400 pixels, color, 600 KB). ) Re-encoded to o15.
[0147]
The GIF decoding means 41A, the low-pass filter means 41C, the resolution conversion (1/64) means 41I, and the GIF encoding means 41N convert the input data 11i into GIF data (output data of 300 × 200 pixels, color, 150 KB). ) Re-encoded to o16.
[0148]
In FIG. 20, for example, JPEG image data (input data) i21 of 2400 × 1600 pixels, color, and 1 MB is received and converted into five different JPEG still image encoded data and one GIF image encoded data. After that, it is an example of a tree-
[0149]
Here, the input data i21 is converted to 2400 × 1600 pixels, color, 500KB JPEG data (output data) o21, 2400 × 1600 pixels, color, 250KB JPEG data (output data) by the tree-
[0150]
In FIG. 20, entropy decoding means 42A, inverse quantization means 42B, and inverse DCT means 42C are shared by the conversion of all output data o21 to o26.
[0151]
Further, the
[0152]
Further, in the subsequent stage of the DCT means 42D, the quantization means 42G used in the conversion process of the output data o21 and the quantization means 42H shared by the conversion of the output data o22 and o23 are respectively connected in parallel. Yes.
[0153]
Further, a DCT unit 42I and a
[0154]
An
[0155]
Further, an entropy encoding unit 42O is connected to the subsequent stage of the
[0156]
Further, the GIF encoding means 42R is connected to the subsequent stage of the resolution conversion (1/16) means 42F.
[0157]
Now, for example, after the conversion and distribution of predetermined still image data is completed by the tree-
[0158]
That is, in FIG. 21, the parameter of the
[0159]
As described above, in the electronic conference and the electronic lesson using the image server system shown in FIG. 17, different still images encoded with the same specifications are read from the
[0160]
As described above, even for the still image described in the third embodiment, a part of the partial processing means 4 is shared in a plurality of conversions for the same input as in the first embodiment. And system costs can be reduced. Further, by combining the partial processing means 4 that is a thread in response to a conversion request from the
[0161]
Furthermore, when continuously converting a plurality of still images, the processing
[0162]
In each system described in each of the above embodiments, the business terminal 16 and the
[0163]
In addition, the configuration in which the
[0164]
In addition, although JPEG, MPEG-2 / 4, GIF, etc. have been described as examples of image encoding methods, the present invention is not limited to these, and other image encoding formats may be used. The
[0165]
Further, in the first embodiment for transcoding moving image data, the processing flow change is described in units of image frames. However, a series of image frames such as MPEG-2 Group of Pictures (GOP) may be used as units. .
[0166]
Furthermore, in each of the above-described embodiments, a hierarchical multi-thread configuration method is used as the software implementation method for configuring the
[0167]
【The invention's effect】
The transcoder according to
[Brief description of the drawings]
FIG. 1 is a diagram for explaining a system using a transcoder according to the present invention.
FIG. 2 is a block diagram showing a configuration of a transcoder according to the present invention.
FIG. 3 is a flowchart showing a flow of processing in a conversion request accepting unit.
FIG. 4 is a flowchart showing a flow of processing in a conversion control thread.
FIG. 5 is a diagram listing a part of partial processing means used for transcoding related to moving images.
FIG. 6 is a diagram showing a configuration of a first tree-like processing flow according to the first embodiment.
FIG. 7 is a diagram showing a configuration of a second tree-like processing flow according to the first embodiment.
FIG. 8 is a diagram showing a configuration of a third tree-like processing flow according to the first embodiment.
FIG. 9 is a diagram showing a configuration of a fourth tree-like processing flow according to the first embodiment.
FIG. 10 is a diagram showing a configuration of a fifth tree-like processing flow according to the first embodiment.
FIG. 11 is a diagram showing a configuration of a sixth tree-like processing flow according to the first embodiment.
FIG. 12 is a diagram showing a state of cropping conversion and magnifying glass conversion.
FIG. 13 is a diagram showing a configuration of a processing flow according to the second embodiment.
FIG. 14 is a diagram illustrating a state in which an area for performing cropping conversion or the like is designated.
FIG. 15 is a diagram showing a configuration of a first tree-like processing flow according to the second embodiment.
FIG. 16 is a diagram showing a configuration of a second tree-like processing flow according to the second embodiment.
FIG. 17 is a diagram illustrating a configuration of an image server system according to a third embodiment.
FIG. 18 is a diagram listing a part of partial processing means used for transcoding related to still images.
FIG. 19 is a diagram showing a configuration of a first tree-like processing flow according to the third embodiment.
FIG. 20 is a diagram showing a configuration of a second tree-like processing flow according to the third embodiment.
FIG. 21 is a diagram showing a configuration of a third tree-like processing flow according to the third embodiment.
[Explanation of symbols]
1 conversion request reception means, 2 conversion control means, 3 processing flow creation means, 4 partial processing means, 5 tree processing flow, 6 processing flow information, 10 transcoder.
Claims (4)
外部からの前記変換の仕様に関する要求である変換要求情報を受信する変換要求受付手段と、
前記変換を実行する、複数の部分処理手段と、
前記変換要求情報に基づいて、前記複数の部分処理手段を協働的に機能させるための情報である処理フロー情報を作成する処理フロー作成手段と、
前記処理フロー情報に基づいて、現在実行中の変換処理を中断することなく、前記部分処理手段の接続を動的に制御する変換制御手段とを、
備えていることを特徴とするトランスコーダ。In a transcoder that inputs first encoded data and converts it into second encoded data different from the first encoded data,
Conversion request receiving means for receiving conversion request information which is a request regarding the specifications of the conversion from the outside;
A plurality of partial processing means for performing the conversion;
Processing flow creation means for creating processing flow information which is information for causing the plurality of partial processing means to function cooperatively based on the conversion request information;
Conversion control means for dynamically controlling connection of the partial processing means without interrupting the conversion process currently being executed based on the processing flow information;
Transcoder characterized by having.
前記処理フロー情報は、入力から出力に向かって、前記部分処理手段が枝分かれする、ツリー状処理フロー構成情報を含んでいる、
ことを特徴とする請求項1に記載のトランスコーダ。The second encoded data is at least 2 or more,
The processing flow information includes tree-shaped processing flow configuration information in which the partial processing means branches from input to output.
The transcoder according to claim 1.
前記変換制御手段は、当該処理フロー情報に基づいて、前記部分処理手段の処理内容に関するパラメータも変化させる、
ことを特徴とする請求項1または請求項2に記載のトランスコーダ。The processing flow information includes parameter information related to the processing content of the partial processing means,
The conversion control unit also changes a parameter related to the processing content of the partial processing unit based on the processing flow information.
The transcoder according to claim 1 or 2, characterized in that
実行中の前記変換処理を中断することなく、前記新たな変更要求情報に基づき前記処理フロー情報を変更し、Changing the processing flow information based on the new change request information without interrupting the conversion process being executed,
前記変換制御手段は、 The conversion control means includes
前記部分処理手段間の連結を動的に変更し、あるいは前記部分処理手段の処理内容に関するパラメータを動的に変更する、 Dynamically changing the connection between the partial processing means, or dynamically changing parameters relating to the processing content of the partial processing means,
ことを特徴とする請求項1ないし請求項3のいずれかに記載のトランスコーダ。The transcoder according to any one of claims 1 to 3, wherein the transcoder is provided.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003140030A JP4188139B2 (en) | 2003-05-19 | 2003-05-19 | Transcoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003140030A JP4188139B2 (en) | 2003-05-19 | 2003-05-19 | Transcoder |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004343592A JP2004343592A (en) | 2004-12-02 |
JP4188139B2 true JP4188139B2 (en) | 2008-11-26 |
Family
ID=33528877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003140030A Expired - Lifetime JP4188139B2 (en) | 2003-05-19 | 2003-05-19 | Transcoder |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4188139B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5076587B2 (en) * | 2007-03-27 | 2012-11-21 | 富士通株式会社 | Sensor information management system, sensor information management method, sensor information management program |
KR101305491B1 (en) | 2007-04-17 | 2013-09-17 | (주)휴맥스 | Bitstream decoding device and method |
JP2013507084A (en) * | 2009-10-05 | 2013-02-28 | アイ.シー.ヴイ.ティー リミテッド | Method and system for image processing |
JP5307681B2 (en) * | 2009-10-06 | 2013-10-02 | 日本電信電話株式会社 | Image coding structure automatic generation method, image coding structure automatic generation apparatus and program thereof |
JP5716549B2 (en) * | 2011-05-27 | 2015-05-13 | 株式会社リコー | Conference support system, information processing apparatus, and document distribution program |
JP2015041790A (en) * | 2013-08-20 | 2015-03-02 | 日本電気株式会社 | Transcoding device and transcoding method |
JP6357188B2 (en) * | 2016-04-12 | 2018-07-11 | 株式会社Nexpoint | Surveillance camera system and surveillance camera data storage method |
JP7563147B2 (en) | 2020-12-04 | 2024-10-08 | 富士通株式会社 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, AND COMMUNICATION CONTROL METHOD |
-
2003
- 2003-05-19 JP JP2003140030A patent/JP4188139B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004343592A (en) | 2004-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI428020B (en) | Image transmitting apparatus, image transmitting method, receiving apparatus, and image transmitting system | |
US12081782B2 (en) | Region of interest (ROI) request and inquiry in a video chain | |
KR100345447B1 (en) | Method for management of variable bit rate for streaming service | |
US8760492B2 (en) | Method and system for switching between video streams in a continuous presence conference | |
KR101657073B1 (en) | Adaptive streaming aware node, encoder and client enabling smooth quality transition | |
US7573877B2 (en) | Terminal apparatus, data transmitting apparatus, data transmitting and receiving system, and data transmitting and receiving method | |
EP2088782B1 (en) | A method and a device for transcoding video | |
US7809830B2 (en) | Optimization of quality of service in the distribution of bitstreams | |
CN101640784A (en) | Device and method for controlling multi-image compounding in video conference system | |
KR20000075421A (en) | System for network transcoding of multimedia data flow | |
JP4188139B2 (en) | Transcoder | |
CN111147860A (en) | Video data decoding method and device | |
KR100511034B1 (en) | Mpeg video bit stream transmission apparatus and method | |
US11006161B1 (en) | Assistance metadata for production of dynamic Over-The-Top (OTT) adjustable bit rate (ABR) representations using On-The-Fly (OTF) transcoding | |
RU2524677C2 (en) | Information processing device and method and information processing system | |
US11356722B2 (en) | System for distributing an audiovisual content | |
TW202143740A (en) | Adaptive video streaming systems and methods | |
CN115209189B (en) | Video stream transmission method, system, server and storage medium | |
US20090074054A1 (en) | Resolution-converting apparatus, resolution-converting method and previewing apparatus | |
US11523156B2 (en) | Method and system for distributing an audiovisual content | |
JP7006387B2 (en) | Image distribution device, method and program | |
US10958945B2 (en) | Elementary module of a system for distributing an audiovisual content | |
KR102414301B1 (en) | Pod-based video control system and method | |
EP2999229A1 (en) | Method for storing and delivering a video sequence using a cloud network | |
US20230269386A1 (en) | Optimized fast multipass video transcoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051101 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080109 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080109 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080909 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080910 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |