JP2009017527A - サーバにより駆動されるプログレッシブ画像伝送方法およびシステム - Google Patents

サーバにより駆動されるプログレッシブ画像伝送方法およびシステム Download PDF

Info

Publication number
JP2009017527A
JP2009017527A JP2008040398A JP2008040398A JP2009017527A JP 2009017527 A JP2009017527 A JP 2009017527A JP 2008040398 A JP2008040398 A JP 2008040398A JP 2008040398 A JP2008040398 A JP 2008040398A JP 2009017527 A JP2009017527 A JP 2009017527A
Authority
JP
Japan
Prior art keywords
image
packets
packet
segment
progressive
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.)
Pending
Application number
JP2008040398A
Other languages
English (en)
Inventor
Derek L Schwenke
デレク・エル・シュベンケ
Vetro Anthony
アンソニー・ヴェトロ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Research Laboratories Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Research Laboratories Inc
Publication of JP2009017527A publication Critical patent/JP2009017527A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】この発明のシステムおよび方法は画像を表すプログレッシブコードストリームを生成する。
【解決手段】画像を表すパケットのコードストリームが解析され、解析されたパケットと各解析パケットに対するメタデータとを得る。上記メタデータとプログレッシブトランスミッションポリシーにしたがって、上記解析パケットが分解パケットに分解される。上記メタデータと上記トランスミッションポリシーにしたがって上記分解パケットを順番に配列された複数のセグメントに割り当て、各セグメントはヘッダを含み、また上記コードストリームにおける上記パケットの配列は上記複数のセグメントにおける上記分解パケットの配列と異なる。クライアントは、該クライアントにおける画像を順次再構成するために、上記セグメントにおけるヘッダにしたがって上記分解パケットを構成する。
【選択図】図1

Description

この発明は一般に、イメージ(画像)およびビデオ(映像)の伝送に関し、特にサーバ側のプログレッシブイメージトランスミッション(漸次画像伝送)に関する。
ビデオ監視、携帯電話、デジタルカメラ、プリンタ、スキャナ、ファクシミリ、コピー機、メディカルイメージング(医療診断画像)、衛星イメージング、インターネット、およびコンパウンドドキュメント(複合文書)は、画像(イメージ)および映像(ビデオ)のアプリケーションに対する需要を増大させた。メモリや、プロセッサや、ネットワーク帯域幅等の制限されたリソースにより、高品位画像を保存し、処理し、伝送し、レンダリング(描写)することは、しばしば可能ではない。
画像の品質は、画像おけるピクセル数、および各ピクセルに割り当てられるビット数に依存する。たとえば、1024×1024のピクセルで、各ピクセル当たり24ビットの画像は25Mbの高品質であるが、1ピクセル当たり1ビットを有する10×10ピクセルの画像は100ビットの低品質の白黒画像である。ここで、品質差は5桁よりも大きい。
JPEG2000(たとえば、ISO/IEC15444ー1規格/−1、「Information technology−JPEG 2000 image coding system−Part 1:Core coding system(情報技術−JPEG2000イメージコーディングシステムーパート1:コアコーディングシステム)」、初版、2000、およびD.Taubman、M.Marcellin、「JPEG 2000:Image Compression Fundamentals,Standards and Practice(JPEG2000:画像圧縮ファンダメンタルズ、スタンダードおよびプラクティス)」、Kluwer Academic Publishers、ボストン、2002を参照)等の圧縮標準は、画像データの異なる品質、レゾルーション(解像度)、コンポーネント(構成要素)および位置を容易に保存し、処理し、伝送し、描写することができるように、スケーラブルな方法で設計されている。
JPEG2000はウェーブレットベースの圧縮方式を使用する。
JPEG2000は、元のDCTベースのJPEG(ジェーペグ)標準より高い圧縮比で、エイリアシングアーティファクトを生じることなく作動する。また、JPEG2000はプログレッシブ(漸次)ダウンロードを可能にする。画像は複数のタイルに分割される。二次元ウェーブレット変換が、様々な解像度でサブバンド(副帯域)にグループ化された一組のウェーブレット係数を生成するために、各タイルで行なわれる。ウェーブレット変換係数は、「複数のプレシンックト(区域)」に再編成される。区域は画像の空間的な部位へのアクセスを可能にする。区域はコードストリームとしての圧縮のために複数のコードブロックに分割される。
コードストリームは画像データを含むセグメントを識別するためのマーカーセグメントを含む。ヘッダは、画像成分の幅寸法と高さ、および圧縮データがどのように復号されるべきであるかを説明するパラメータに関する情報を含む。タイル部はヘッダの後に続く。コードストリームは、全てのエントロピー(平均情報量)コード化画像データと、データを復号するにための方法を示す情報とを含む。また、コードストリームは、使用されたウェーブレット変換、タイルのサイズ、区域サイズ、解像度の数、およびパケットの配列に関する情報を含む。また、コードストリームは、画像データへの直接アクセスを可能にするパケット長情報を含む。
コードストリームとしてのスケーラブルなコード化された画像のプログレッシブ伝送は、画像の或る(幾つかの)部分が最初に伝送されるプロセスについて言及する。たとえば、人間を含むフォアグラウンドリージョン(前面領域)は、バックグラウンドリージョン(背景領域)の前に伝送される。また、品質や解像度等の他の要素を考えることもできる。たとえば、プログレッシブ品質は、きめが粗く量子化された画像のサンプルを最初に伝送し、続いて、精細化された画像のサンプルを伝送することによって実現される。ネットワーク帯域幅が制限されているとき、これは、ユーザが短い時間で画像の比較的低品質のバージョンを視聴することを効果的に可能にする。より多くのデータが受信されるにつれて、画像品質は時間の経過とともに向上する。
画像のプログレッシブコード化および送信は、JPEG(ジェーペグ)とJBIG(ジェービグ)ファイルフォーマット(形式)標準によってサポートされる(A.N.Netravali、B.G.Haskell、「Digital Pictures − Representation and Compression(ディジタル画像−表示と圧縮)」、第2版、ニューヨーク、ロンドン、プレナムプレス、1995、およびW.Pennebaker、J.Mitchell、「JPEG Still Image Data Compression Standard(ジェーペグ静止画データ圧縮標準)」、Van Nostrand Reinhold、ニューヨーク、1993を参照)。画像の配列は、全体の画像に対してグローバルに定義される。標準は、単一の配列で十分である場合には、制限された数(少数)の可能なプログレッシブ配列(順序)を許容し、また有効なアプリケーションを制限する。
JPEG2000は、フレキシブルなプログレッシブ配列や画像タイリングのような、高度のフィーチャー(特徴)に対するより良好な圧縮とサポートとにより、より古いジェーペグファイル形式標準を改良する。プログレッシブ配列は、コードストリーム中に置かれたマーカーによって、コードストリームの部分に対してグローバルに、またローカルに、定義される。マーカーはプログレッシブ配列における変化を示す。しかし、マーカーの付加は、ストリームのサイズを増大させ、また、画像のあらゆる領域の独立制御を許容しない。
この問題を減少させるため、画像のタイリングが、画像を独立して圧縮される複数の領域に分割するのに使用される。そして、プログレッシブな方法で、それらの領域を独立して保存し、処理し、伝送し、描写することができる。また、画像タイリングはコードストリームのサイズを増大させる。多くのタイルが必要とされるアプリケーションでは、サイズの増大は、大きい場合がある。また、タイリング領域は、プログレッシブ配列(順序付け)の1つのスタイルである、画像の空間的な区分化により整列された区域で、長方形に制限される。
ジェーペグのインタラクティブ(対話型)プロトコル(JPIP)は、JPEG2000標準のパート9として標準化されている(参照:ISO/IEC15444−9、「Information technology−JPEG 2000 image coding system−Part 9:Interactivity tools,APIs and protocols(情報技術−JPEG2000画像コーディングシステムーパート9:対話性ツールズ、APIおよびプロトコル)」、初版、2005、およびD.Taubman、R.Prandolini、「Architecture,philosophy and performance of JPIP:internet protocol standard for JPEG2000(JPIPのアーキテクチャ、原理および性能:JPEG2000に対するインターネットプロトコルの標準)」、Proc.SPIE Conf.on Visual Communications and Image Processing,SPIE volume 5150,pp.649−663,2003を参照)。
JPIPは、クライアントコンピュータ(クライアント)がサーバコンピュータ(サーバ)からの伝送のために画像の部分を選択するのを可能にする要求応答プロトコルである。
利点として、各クライアントは特定用途要求条件に対して画像のフォーマットを選択できる。具体的には、各クライアントは1つまたは複数のHTTP GET要求をする。それらの要求は画像リソースの名前と要求するクエリフィールドとを含む。フィールドは、レイヤ、解像度、コンポーネント(構成要素)、プレシンックト(区域)、視界窓、セッション、キャッシュされたデータ等の多くの可能な画像フィーチャー(特徴)を記載している。
プロトコルはインタラクティブ(対話型)の方法で行なわれ、これにより、クライアントは要求を出し或る(幾つかの)画像データを受信し、そして、クライアントは次に何を要求したらよいかを決める。JPIPは、クライアントまたはサーバの動作ではなく、サーバに対してクライアントによって開始される対話型プロトコルを定義するだけであることに注意することが重要である。双方向の通信が必要になるので、このクライアント駆動のプロトコルの処理および信号化のオーバヘッドは比較的高い。JPIPでは、コード化画像データに対する要求はクライアントに起因する。そのような対話性は、「Remote Browsing of JPEG 2000 Images(JPEG2000イメージズのリモートブラウシング)」、Proc.IEEE International Conference on Image Processing,vol.1,pp.229−232,2002、に記載されているように、巨大画像のリモート(遠隔)ブラウシングに対して有用である。
また、対話型画像ブラウシングはバイトレンジング(byte ranging)技術(DeshpandeおよびZeng、「Scalable streaming of JPEG 2000 images using hypertext transfer protocol(ハイパーテキスト転送プロトコルを使用したJPEG2000画像のスケーラブルなストリーミング)」、Proc.ACM Multimedia,pp.372−281,2001を参照)を使用することもできる。その方法は、バイトレンジ(バイト領域)アクセスに対してHTTP/1.1を使用して、クライアントが要求される関連圧縮データの位置(バイトレンジ)とヘッダ情報を推論できるインデックステーブルの送信を必要とする。
プログレッシブ画像伝送に関する従来の作業の多くはクライアント駆動であり、クライアントからの対話型の要求がサーバからクライアントへのコード化された画像の伝送を誘導する。しかし、クライアント駆動の要求を必要としない、多くのプログレッシブ伝送アプリケーションが存在する。したがって、フレキシブルなプログレッション(進行)を促進し、且つ最小量の信号化オーバヘッドおよび処理要件を有するサーバ駆動のプログレッシブ画像伝送に対する必要性がある。
以下の用語は、JPEG2000仕様により定義され、本明細書中で使用される。
ビットストリーム:一連の符号のコード化に起因するビットの実際の順序。
それは、メインおよびタイル部ヘッダのマーカーまたはマーカーセグメントまたはEOCマーカーを含まない。それはストリームマーカーにおける如何なるパケットヘッダも含み、またメインヘッダまたはタイル部ヘッダの中で見出されなかったマーカーセグメントを含む。
コードストリーム:1つまたは複数のビットストリームとメインヘッダ、タイル部ヘッダ、およびそれらの画像データへの復号化および伸張するために必要とされるEOCの集合。
これは、信号化の全てを復号するのに必要になる圧縮形式の画像データである。
圧縮画像データ:ビットストリームの一部または全部。
また、コードストリームの一部または全部においてビットストリームの集合を表すことができる。
プログレッション(進行):連続した各ビットの復号化が画像の「より良好な」再構成に寄与するコードストリームの配列(順序)。再構成を「より良く」するものは、アプリケーションの機能である。プログレッションの幾つかの例は、解像度を増大すなわちサンプル忠実度を向上させている。
この発明のシステムおよび方法は画像を表すプログレッシブコードストリームを生成する。画像を表すパケットのコードストリームが解析され、解析されたパケット(以下、解析パケットと呼ぶ)と各解析パケットに対するメタデータとを得る。
上記メタデータとプログレッシブトランスミッションポリシーにしたがって、上記解析パケットが分解パケットに分解される。
上記メタデータと上記トランスミッションポリシーにしたがって上記分解パケットを順番に配列された複数のセグメントに割り当て、各セグメントはヘッダを含み、また上記コードストリームにおける上記パケットの配列は上記複数のセグメントにおける上記分解パケットの配列と異なる。
クライアントは、該クライアントにおける画像を順次再構成するために、上記セグメントにおけるヘッダにしたがって上記分解パケットを構成する。
この発明の実施の形態は、順次画像を生成して、サーバからクライアントへ伝送するための方法を提供する。本方法は、サーバ駆動であり、作動するためにクライアントからの入力を必要としない。この発明は、最小量の信号化オーバヘッドでさまざまなプログレッションを促進する。また、この発明は、最小遅延でクライアントでの再構成画像のインクリメンタル(増分的)なデコーディング(復号化)およびレンダリングを可能にする。
この発明と従来のJPIPプロトコルの主要な差異は、インタラクティブ(対話型)モードである。JPIPは、クライアント駆動の要求応答プロトコルと定義される。
対照的に、この発明による方法は、サーバによって完全に定められたプログレッシブな配列で画像をクライアントに提供する。従来のJPIPでは、これは、同じような望ましい配列を実現するためには、クライアントによる何千もの要求を潜在的に必要とするかもしれない。この発明は、クライアントでの何らかの要求プロトコルを必要とし、また要求応答ペア(対)による如何なる送信要求オーバヘッドもまたは往復遅延も付加しない。コードストリームを配列(順序付け)は完全にサーバにより、および/またはサーバ上で実行するアプリケーションにより、決められる。
顔認証アプリケーションにおける例に対して、望ましい伝送配列(順序)は、顔だけを含む画像の注目領域(ROI)を、恐らく低下した品質で、最初に伝送する。次に、その領域における顔の品質が、プログレッシブレイヤで時間経過とともに改良される。従来のJPIPでこれを実現するためには、クライアントは、最初に、サーバによってクライアントへ伝送されるコードストリームの望ましい配列(順序)を決めるために、全体の画像にアクセスする必要があるが、これは実用的ではない。
方法およびシステムの概要
図1は、この発明の実施の形態による、ネットワーク103を介してサーバ101からクライアント102へプログレッシブ(漸次)に画像を生成して、伝送するための方法およびシステムを示す。本方法はサーバ駆動である。
サーバ
サーバ101は、パーサ/トランスコーダ110およびデコンポーザー(分解器)500を含む。本方法はサーバで開始される。本方法に入力されるのは、1つ以上の画像から得られたコードストリーム104と、プログレッシブトランスミッションポリシー105である。コードストリームは、何らかの画像から得られた従来のJPEG2000コードストリームでもよい。コードストリームは、サーバアプリケーション108により生成されてもよい。上記ポリシーは、そのアプリケーションで一部決めることができる。そのポリシーの他の部分は、利用可能なシステムリソース109(メモリ、バッファ、バンド幅等)に関連し得るが、サーバにより決めることができる。そのポリシーは、たとえば、対応するセグメントのヘッダおよびJPEG2000パケット等のセグメント116として伝送されるパケットのプログレッシブな伝送順序を特定する。また、伝送順序をプログレッシブトランスミッションポリシーと呼ぶこともできる。
トランスコーダ
パーサ/トランスコーダ110は、解析されたコードストリーム111およびメタデータ300(図3を参照)を生成する。また、ポリシー105およびメタデータ300にしたがって、入力コードストリーム104をコード変換することができる。メタデータは、解析されたコードストリームにおける各パケットに関する記述的な情報を示す。
解析コードストリーム111はメタデータ300およびポリシー105にしたがって分解(115)されて、セグメント116を生成する。セグメント116は、ネットワーク103上を介して、クライアント102へプログレッシブ伝送される。
解析/コード変換されたコードストリーム111は、減少したデータレート(転送速度)、減少した品質、トリミングされた画像、または変更されたプログレッシブ順序を有することができる。プログレッシブ順序を変えるのは、分解の複雑さを減少させて、以下に詳細に記載されるように、オーバヘッドを最小にするために有用である。本方法は、如何なる既知のトランスコーダも使用できる。好ましい符号変換方法は、本明細書中に引用して援用する米国特許公開20060120610「Image Transcoding(画像符号変換)」に記載されている。
セグメント116は、JPIP標準に適合(準拠)しないかもしれない解析コードストリームの部分である。各セグメント116は、セグメントに含まれるパケットに関する記述的な情報を提供する1つ以上のヘッダを含んでいる。
クライアント
セグメント116はクライアント102により受信される。キャッシュ130またはメモリバッファでセグメントを保存することができる。構成動作500は、従来のコードストリーム122を再構成するために、セグメント116で受信されたパケットを再配列(順序付け)し、必要に応じて、空のパケットを挿入する。構成プロセス(処理)は、新しいセグメントが受信される毎に、呼び出される。ユーザに対して画像126を生成するために、再構成されたコードストリーム122を描写124することができる。なお、再構成の間にパケットを番号順に配列(順序付け)することは、コードストリームにおける元の近接する番号順の配列(順序付け)から異なる場合がある。
この発明をJPEG2000仕様にしたがって説明したが、この発明は、より一般に、どのようにプログレッシブ(漸次)にコード化された画像またはビデオにも適用する。
分解
図2は分解動作200に関するフローチャートである。分解プロセスはポリシー105にしたがって動作する。分解プロセスは解析コードストリーム111のパケットおよび対応するメタデータ300を読み込む(210)。パケットは、如何なるサイズのコードストリームの次の近接する部分からも来る。コードストリームが完全に処理されると、次に、スキャン220が行われる(230)。
もっと多くのパケットがあれば、プロセス(処理)は、ポリシー105にしたがって、次のセグメントを選択(240)して、そのセグメントのパケットをセグメント116に割り当てる。或るセグメントのパケットがどのセグメントにも割り当てられないことが、起こるかもしれない。この場合、そのセグメントは効果的に捨てられる。
そのセグメントが含まれるべきであるならば、プロセスは、コードストリームデータのこのセグメントについて記述するために、正しいヘッダタイプを選択(250)する。次に、プロセスはヘッダのフィールドを決定し(260)(図4参照)、セグメント116に対してヘッダを書き込む(270)。そのセグメントのパケットがセグメント116に書き込まれる(280)。そして、プロセスは次のセグメントを読み出す(210)。
図2は、1回のスキャン(すなわち解析コードストリーム111の1回の走査(横断))で生成される全てのセグメント116を示している。しかし、種々の回数のスキャンで様々な数のセグメントを生成するように、プロセス(処理)を変更することができる。
分解プロセス200は、どのような再配列(再順序付けされた)コードストリームをもコード化するための一般解を提供する。このプロセスを使用して、プログレッシブ伝送およびレンダリングの順序を変えることができ、また、特定の品質レイヤ、解像度レベルまたは構成要素に対応するパケットを削除することができる。このようにして、空間的な対象領域のプログレッシブトランスミッション(伝送)を実現することができる。
メタデータ
図3はメタデータ300の構造を示す。解析コードストリームにおける各パケット111に対して1ブロックのメタデータ300がある。この情報は、サーバに対して内部にあり、解析コードストリーム111のパケットを分解(200)して分解されたパケットをセグメント116に割り当てるのに使用されるだけである。
メタデータは、品質レイヤインデックス(L)301と、解像度レベルインデックス(R)302と、構成要素インデックス(C)303と、プリーシンクト(区域)インデックス(P)304と、バイト205で表現されるデータサイズと含む。すなわち、メタデータは階層的なLRCP順序で配列される。セグメントがROI領域の一部であるときに、オプション(任意)のIsROIビット306はトルー(真実)である。オプションのIsUsedビット307は何れのセグメント116にも含まれるセグメントを追跡する。
ヘッダ
図4はセグメント116に対するヘッダを示す。各セグメントは、セグメントヘッダ401で始まり、その後にセグメントパケット402が続き、恐らく更に多くのヘッダ401と、更に多くのパケット402とが続く。
ヘッダ401の全てのまたは幾つかのフィールドは、必要なければ、またはクライアントにより予測できるならば、省略することができる。第1のフィールドは「タイプ」411であり、それはたとえば、長い12バイトのフォーマットまたは短い6バイトのフォーマット等のヘッダの型を意味し、何れかの省略されたヘッダフィールドも示す。「ID」412はセグメント中のパケットに対するインデックスである。「カウント」413は、コードストリームデータセグメントにおける後続のシーケンシャル(順次)IDの数を含んでいる。「サイズ」414は後続のコードストリームパケットのバイト数である。これらのフィールドは、パケットへの直接アクセスを可能にし、また、クライアントで順次復号されて描写されることができる有効なコードストリームの再構成を可能にする。
構成
図5は、スタート501で始まるクライアント102での構成動作500に関するフロー図である。構成動作の第1段階はセグメントを読み出すことである。有効なヘッダが読み出されたならば(510)、ヘッダが順序付きリスト600へ挿入(550)される(図6を参照)。次に、そのセグメントのパケットが読み出され(595)、順序付けされているセグメントリスト600に挿入(550)される。そして、構成プロセスは次のヘッダを読み出そうとする。これは、ファイルの終り520に遭遇して、全ての利用可能なヘッダとセグメントとが読み出されるまで続く。
構成プロセスの第2段階は、順序付けされたセグメントリスト600から再構成されたコードストリーム122を生成することである。構成プロセスは、ソートされたセグメントリスト600をスキャン(530)する。スキャンがリストの終端540に達したならば、そのプロセスを終える。リストの終端に達しないならば、そのプロセスは、そのセグメントが再構成されたコードストリームに含まれる(570)べきであるか否か決める。
それが含まれるべきであるならば、このセグメント中のパケットが、再構成されたコードストリームの一部として書き込まれる(580)。セグメントが含まれるべきでないならば、空のパケットが、再構成されたコードストリームの一部として書き込まれる(590)。次に、ソートされたセグメントリストにおける次のセグメントがスキャンされ、そして、全てのセグメントが、再構成されたコードストリーム122に包含されるべきか否かについて調べられるまで、そのプロセスは繰り返す。
構成動作500は、本質的には、それら自身では必ずしもデコーダに適合しない、または重要ではないセグメントから、適合するコードストリームを再構成する。
セグメントリスト
図6はソートされたセグメントリスト600を示す。このリンクされたリストは、リストエレメント(ListElements)601と次のポインタ(Next pointers)602のリンク(連鎖)を含んでいる。各リストエレメント(ListElement)は、セグメント116のセグメント(パケット)402のヘッダ401を指し示すヘッダフィールド611およびデータ612を含んでいる。
分解/構成例
図7〜図12はこの発明の実施の形態によるプログレッシブコードストリームの様々の例を示す。フィールドの数が多いため、参照番号は明瞭化のため省略された。命名されたフィールドは前述と同様である。
図7は、位置(P)と品質レイヤ(L)にしたがって再配列(再順序付け)されたパケットを示す。入力コードストリーム102は、JPEG2000コードストリームのメインヘッダに対応するJPCヘッダで始まり、パケット1からパケット24まで続く。最初の6つのパケットは位置0に対応する。このために、位置0に関する全ての情報が最初に配列(順序付け)され、そして、コードストリームは位置によって配列(順序付け)されるものとして言及される。パケット{1、2}は位置0で品質レイヤ0を表し、パケット{3、4}は位置0で品質レイヤ1を表し、パケット{5、6}は位置0で品質レイヤ2を表す。
位置1、2および3に対する全てのデータが同じフォーマットで後続する。なお、ヘッダが各組の数値的に近接するパケットに先行することに注意すべきである。
次に、入力コードストリームは3つの品質レイヤに対応する3つのセグメント700に分解される。セグメント0レイヤ0はセグメントヘッダから始まり、入力コードストリームからのJPCヘッダおよびパケット{1、2}により後続される。次に、パケット{7、8}により後続される別のセグメントヘッダが挿入さる。このパターンがコードストリームデータのその後の位置に対して続く。これは、特定のセグメント内の位置によって順序付けされた、全ての位置に対する全ての品質レイヤ0を含むセグメント0を完成する。
同様に、セグメント1レイヤ1は位置によって順序付けされた全ての位置に対する品質レイヤ1パケットの全てを含んでおり、また、セグメント2レイヤ2は位置によって順序付けされた全ての位置に対する品質レイヤ2パケットの全てを含んでいる。これらの3つのセグメントが整列した状態でクライアントに伝送される。
図8〜図10は上述した分解例に対する構成プロセスを示す。最初に、図8に示されるように、セグメント0がクライアントにより受信される。セグメントヘッダおよび含まれるコードストリームパケットに基づいて、全ての位置の品質レイヤ0に対応する再構成されたコードストリームが生成される。再構成されたコードストリームは、JPCメインヘッダで始まり、そして、パケット{1、2、7、8、13、14、19、20}を含んでいる。
空のパケットが、欠けているパケット{3−6、9−12、15−18、21−24}に対して挿入された。その結果、JPEG2000標準に完全に適合し、且つ、全ての位置に対する品質レイヤ0に対応するコードストリームデータとその他の品質レイヤに対する空のパケットとのみを含むコードストリームが生成される。このために、圧縮画像は、入力コードストリーム102にコード化されたように、最初に位置0ではなく、最初に品質レイヤ0でクライアントに受信される。
構成プロセスは、セグメント1を受信する際に、図9に続く。セグメントヘッダおよび含まれたコードストリームデータに基づいて、再構成されたコードストリームは、全ての位置に対する品質レイヤ1にも対応するパケットを含むように増大される。この場合、再構成されたコードストリームはJPCメインヘッダで始まり、そしてパケット{1−4、7−10、13−16、19−22}を含む。空のパケットが、欠けているパケット{5、6、11、12、17、18、23、24}に対して挿入された。その結果、JPEG2000標準に完全に適合し、且つ、全ての位置に対する品質レイヤ0および1に対応するコードストリームデータとその他の品質レイヤに対する空のパケットとのみを含むコードストリームが生成される。
構成プロセスの最終段階が図10に示されており、そこでは、セグメント3が受信される。セグメントヘッダおよび含まれるコードストリームデータに基づいて、再構成されたコードストリームは、全ての位置に対して品質レイヤ2にも対応するそれらのパケットを含むように再び増大される。このプロセスの完了後、再構成されたコードストリームは全ての位置に対する全ての品質レイヤを含む。
図11は、混合配列(順序)で分解される、位置によって順序付けされたコードストリームの例、すなわち位置1が最初に来て、その後にレイヤで順序付けされたセグメントが続く例、を示す。この例は、図7に記載されたものと同一の、位置によって順序付けされたコードストリームを使用する。プログレッションの各ステージに対して再構成されたコードストリームは、図11に示されるように、第一段階で位置1パケットから始まり、そして、残りの位置に対応するパケットを含む、3つの品質レイヤセグメントにより後続される。最終的に再構成されたコードストリームは、最初に入力された、位置によって順序付けされたコードストリームと再び同じになる。
図12は、プログレッシブ順序がレイヤプログレッシブコードストリーム(LRCP)からレゾルーション(解像度)プログレッシブ(RLCP)に変更された例を示す。この例は2つのセグメントのみを示しており、ここで、セグメント0は解像度(レゾルーション)0だけを含んでおり、また、セグメント1は解像度(レゾルーション)1だけを含んでいる。
ROIプログレッシブ配列(順序)
図13A〜図13Iはこの発明による方法の実施の形態で可能なサンプルROIプログレッションを示す。図13Aは、最初にROIの内部で、次にROIの外部での品質レイヤプログレッションである。
図13Bは、最初にROIの内部で、次にROIの外部でのレゾルーション(解像度)プログレッションである。図13Cは、最初にROIの内部で、次にROIの外部での構成要素プログレッションである。図13Dは、最初にROIの内部で、次に2つの外部位置での位置プログレッションである。図13Eは、最初にROIの内部で、次に4つの外部位置での位置プログレッションである。図13Fは、最初にROIの内部で、次にROIの外部での品質レイヤプログレッションである。図13Gは、最初にROIの内部で、次にROIの近くでの品質レイヤプログレッションである。図13Hは、最初にROIの内部で、次にフレームの中心での品質レイヤプログレッションである。図13Iは、最初に各ROIの内部で、次にバックグラウンド(背景)での品質レイヤプログレッションである。
この発明は、メモリまたはバンド幅を減少させるために、画像を再配列(再順序付け)することにより、または画像の或る部分を省略することによって、サーバが画像のピクセルを最優先させることを可能にする。これは、画像が大きいときに、重要である。また、以上に述べた方法は、プログレッシブ順序(配列)を決めるために、画像に表されたシーンについて取得された、より高いレベルの知識を考慮することができる。
例示したビデオは、開いているキャッシュレジスタ(金銭登録機)でのシーンを示す。
サーバアプリケーションは、引出しの開いている金銭登録機をカバーする、画像の特定の領域に対して充分な品質と解像度を維持するように決めてもよい。ドアが開いたならば、サーバは、入り口のエリアを含む画像の特定の領域を優先的に取り扱うようにし、また、ドアが閉じられるときには、その領域に低い優先度を割り当てるように決めてもよい。また、異なる画像からの複数のROIを、サーバにより制御することもできる。新しい顔が画像に検出されるときには、顔検出アプリケーションはROIに高い優先度を割り当てることができる。他のアプリケーションでは、モーション(運動)情報が画像系列から抜粋される。モーション(動き)優先の順序付けをすることを、画像の全ての領域に亘って、適用することができる。この場合、サーバは、動きまたは他の基準に基づいて画像の各候補ROIに重み付けを適用することができる。
発明の効果
この発明のプログレッシブ画像伝送のためのサーバ駆動による方法は、低い信号化オーバヘッドを有する。この発明の他の効果は、プログレッシブに受信されたコード化画像の迅速なインクリメンタル(増分的)な復号化およびレンダリングが可能なことである。この発明では、コード化画像のセグメントが伝送される。最初のセグメントはメインヘッダを含んでいる。クライアントにより第1のセグメントを受信した後に、クライアントは、まだ受信されていない、欠けている如何なるパケットに対しても空のパケットを挿入することができる。このような方策により、コードストリームが受信途中であるときでさえ、クライアントは部分的なコードストリームから適合するJPEG2000コードストリームを形成することが可能である。また、これにより、伝送エラーで欠落したり無くなったパケットに対して、クライアントに回復力を持たせることができる。クライアントにおける空のパケットの挿入により、サーバは、伝送サイズを減少させたり、コード化画像データを切り捨てたりするために、コード化画像データの一部分を再配列したり、抑制したり、または捨てることが可能になる。
この発明の追加の効果は、多くの異なる形式のプログレッションを可能にすることである。この発明は、画像データが多くの(様々な)配列(順序)で伝送されるのを許容して、その結果、サーバがほとんど無制限な数のプログレッションを生成することを可能にする一般的な解法について記述している。これらは、簡単なフレーム配列(順序付け)、またはROIが最初に来る配列、またはより複雑な混合プログレッションを含むことができる。その上、複数のROIが同じ画像で定義されるとき、サーバは、どのROIを最初に送るか、また各ROIにどれくらいのバンド幅を割り当てるか、および画像の残りの部分、をそれぞれ定義して、各ROIに対して異なる優先順位を選択する柔軟性を有する。
この発明は好適な実施の形態を例に挙げて説明したが、この発明の精神および範囲内で種々の他の改変および変更を行うことができることを理解すべきである。したがって、添付クレームの目的はこの発明の真実の精神および範囲に含まれるような全ての変形例および変更例をカバーすることである。
この発明の実施の形態によるサーバ駆動のプログレッシブ伝送方法およびシステムのブロック図である。 この発明の実施の形態によるコードストリーム分解プロセスのフロー図である。 この発明の実施の形態によるメタデータのブロック図である。 この発明の実施の形態によるコードストリームのフォーマットのブロック図である。 この発明の実施の形態によるプログレッシブコードストリームを再構成するためのプロセスのフロー図である。 この発明の実施の形態によるセグメントリストのブロック図である。 この発明の実施の形態によるコードストリームのブロック図である。 この発明の実施の形態によるコードストリームのブロック図である。 この発明の実施の形態によるコードストリームのブロック図である。 この発明の実施の形態によるコードストリームのブロック図である。 この発明の実施の形態によるコードストリームのブロック図である。 この発明の実施の形態によるコードストリームのブロック図である。 この発明の実施の形態による例示プログレッションのブロック図である。 この発明の実施の形態による例示プログレッションのブロック図である。 この発明の実施の形態による例示プログレッションのブロック図である。 この発明の実施の形態による例示プログレッションのブロック図である。 この発明の実施の形態による例示プログレッションのブロック図である。 この発明の実施の形態による例示プログレッションのブロック図である。 この発明の実施の形態による例示プログレッションのブロック図である。 この発明の実施の形態による例示プログレッションのブロック図である。 この発明の実施の形態による例示プログレッションのブロック図である。

Claims (15)

  1. 画像を表すプログレッシブコードストリームを生成するためにサーバにより駆動されるプログレッシブ画像伝送方法であって、
    前記方法は、
    画像を表すパケットのコードストリームを解析して解析パケットと各解析パケットに対するメタデータとを得る工程と、
    前記メタデータと前記プログレッシブトランスミッションポリシーにしたがって前記解析パケットを分解パケットに分解する工程と、
    前記メタデータと前記トランスミッションポリシーにしたがって前記分解パケットを複数の順番に配列されたセグメントに割り当てる工程とを含み、各セグメントはヘッダを含み、また前記コードストリームにおける前記前記パケットの配列は前記複数のセグメントにおける分解パケットの配列と異なる、方法。
  2. 前記コードストリームはJPEG2000コードストリームである、請求項1の方法。
  3. 前記プログレッシブトランスミッションポリシーは前記サーバのアプリケーションにより決められる、請求項1の方法。
  4. 前記プログレッシブトランスミッションポリシーはシステムリソースに依存する、請求項1の方法。
  5. 前記メタデータにより前記解析パケットを符号変換する工程をさらに備える、請求項1に記載の方法。
  6. 前記符号変換は前記プログレッシブトランスミッションポリシーにしたがって前記解析パケットの再配列を行なう、請求項5の方法。
  7. 前記順番に配列された複数のセグメントをクライアントにプログレッシブ伝送する工程をさらに備える、請求項1に記載の方法。
  8. 前記クライアントにおける画像をプログレッシブ再構成するために前記セグメントにおけるヘッダにしたがって前記分解パケットを構成する工程をさらに備える、請求項7に記載の方法。
  9. 数値的に近接する分解パケットの各ブロックはヘッダを有する、請求項1の方法。
  10. 前記パケットは数値的に近接する、請求項1の方法。
  11. 各パケットに対するメタデータは、品質レイヤインデックス、解像度レベルインデックス、構成要素インデックス、およびプリーシンクトインデックスを含む、請求項1の方法。
  12. 前記ヘッダは、前記セグメントにおける数値的に近接する分解パケットの位置に関連するインデックス付け情報をコード化する、請求項9の方法。
  13. 前記ヘッダは、前記セグメントにおける数値的に近接する分解パケットに対するデータサイズ情報をコード化する、請求項9の方法。
  14. 画像を表すプログレッシブコードストリームを生成するためにサーバにより駆動されるプログレッシブ画像伝送システムであって、
    前記システムはサーバを備え、
    前記サーバは、
    画像を表すパケットのコードストリームを解析して解析パケットと各解析パケットに対するメタデータとを得るための手段と、
    前記メタデータとプログレッシブトランスミッションポリシーにより前記解析パケットを分解パケットに分解する手段と、
    前記メタデータおよび前記トランスミッションポリシーにしたがって前記分解パケットを複数の順番に配列されたセグメントに割り当てるための手段とを備え、各セグメントはヘッダを含み、また前記コードストリームにおける前記パケットの配列は前記複数のセグメントにおける前記分解パケットの配列と異なる、システム。
  15. クライアントにおける画像をプログレッシブ再構成するために、前記セグメントにおけるヘッダにより前記分解パケットを構成する手段からなるクライアントをさらに備える、請求項14に記載のシステム。
JP2008040398A 2007-06-29 2008-02-21 サーバにより駆動されるプログレッシブ画像伝送方法およびシステム Pending JP2009017527A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/770,874 US20090003270A1 (en) 2007-06-29 2007-06-29 Server-Driven Progressive Image Transmission

Publications (1)

Publication Number Publication Date
JP2009017527A true JP2009017527A (ja) 2009-01-22

Family

ID=40160353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008040398A Pending JP2009017527A (ja) 2007-06-29 2008-02-21 サーバにより駆動されるプログレッシブ画像伝送方法およびシステム

Country Status (2)

Country Link
US (1) US20090003270A1 (ja)
JP (1) JP2009017527A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8855193B2 (en) 2010-01-18 2014-10-07 Sony Corporation Image processing apparatus and method for converting divisional code streams into packets using header information
KR102211606B1 (ko) * 2019-12-26 2021-02-04 한양대학교 에리카산학협력단 프록시 서버, 이를 이용한 데이터 전송 방법 및 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5433377B2 (ja) * 2009-10-29 2014-03-05 楽天株式会社 画像処理装置、画像処理方法、および、画像処理プログラム
US9423994B2 (en) * 2012-02-22 2016-08-23 Citrix Systems, Inc. Hierarchical display
KR101197103B1 (ko) * 2012-03-09 2012-11-07 (주) 지솔루션 위성압축영상 분할처리 장치 및 그 방법
EP2648122B1 (de) 2012-04-05 2017-06-28 Siemens Healthcare GmbH Verfahren zum Laden von medizinischen Bilddaten sowie Vorrichtung zur Durchführung des Verfahrens
US9025458B2 (en) * 2012-10-23 2015-05-05 Verizon Patent And Licensing Inc. Reducing congestion of media delivery over a content delivery network
US9665924B2 (en) * 2015-04-01 2017-05-30 Microsoft Technology Licensing, Llc Prioritized requesting of mapping layers

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030067476A1 (en) * 2001-10-04 2003-04-10 Eastman Kodak Company Method and system for displaying an image
US7440626B2 (en) * 2004-12-02 2008-10-21 Mitsubishi Electric Research Laboratories, Inc. Image transcoding
JP4789192B2 (ja) * 2006-04-12 2011-10-12 株式会社リコー 符号処理装置、プログラム及び情報記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8855193B2 (en) 2010-01-18 2014-10-07 Sony Corporation Image processing apparatus and method for converting divisional code streams into packets using header information
KR102211606B1 (ko) * 2019-12-26 2021-02-04 한양대학교 에리카산학협력단 프록시 서버, 이를 이용한 데이터 전송 방법 및 시스템

Also Published As

Publication number Publication date
US20090003270A1 (en) 2009-01-01

Similar Documents

Publication Publication Date Title
US7581027B2 (en) JPEG 2000 for efficent imaging in a client/server environment
EP1667460B1 (en) Method for scalable image transcoding
US7889791B2 (en) Method and apparatus for scalable compression of video
US6925209B2 (en) Method and apparatus for outputting a codestream as multiple tile-part outputs with packets from tiles being output in each tile-part
JP2009017527A (ja) サーバにより駆動されるプログレッシブ画像伝送方法およびシステム
US20140307775A1 (en) Method and device for partitioning an image
Lee JPEG 2000: Retrospective and new developments
JP2007166625A (ja) ビデオデータ符号化装置、ビデオデータ符号化方法、ビデオデータ復号化装置およびビデオデータ復号化方法
CN100508622C (zh) 使用前向纠错码的视频无漂移分数多描述信道编码的***和方法
JP4898513B2 (ja) クライアント・サーバシステム
US7721971B2 (en) Image processing system, image processing method and computer readable information recording medium
JP2002543690A (ja) プログレッシブ送信のためのメディアファイルのスケーラブルフォーマットへの変換
KR20180116835A (ko) 비디오 비트 스트림 혼합 방법 및 이를 수행하는 장치
US7456844B2 (en) Image transmission method, computer-readable image transmission program, recording medium, and image transmission apparatus
WO2003107683A9 (en) METHOD AND APPARATUS FOR SCALABLE COMPRESSION OF VIDEO SIGNALS
Taubman et al. FBCOT: a fast block coding option for JPEG 2000
Perra et al. An image browsing application based on JPEG XR
Liang The predictive embedded zerotree wavelet (PEZW) coder: Low complexity image coding with versatile functionality
Skodras The JPEG2000 image compression standard in mobile health
Boliek et al. JPEG 2000 for efficient imaging in a client/server environment
Colyer et al. JPEG2000 and interactive applications
Kong et al. ROI-based SNR scalable JPEG2000 image transcoding
Barina et al. JPEG 2000: guide for digital libraries
Temmermans et al. An introduction to JPEG Standards for Digitization and Archiving Applications
Yuan Wavelet video coding with application in network streaming