JP4716949B2 - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- JP4716949B2 JP4716949B2 JP2006217563A JP2006217563A JP4716949B2 JP 4716949 B2 JP4716949 B2 JP 4716949B2 JP 2006217563 A JP2006217563 A JP 2006217563A JP 2006217563 A JP2006217563 A JP 2006217563A JP 4716949 B2 JP4716949 B2 JP 4716949B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- data
- level
- hierarchy
- code data
- 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 - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/188—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4332—Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
Description
ここで、符号データは、一般的に符号データを構成する符号列(パケット)単位にキャッシュに保存される。キャッシュ上の符号列を使用する場合は符号列(パケット)単位に必要な符号列を集めて参照する。
図25は、JPEG2000の基本となる階層符号化アルゴリズムの説明図である。2次元ウェーブレット変換・逆変換部、量子化・逆量子化部、エントロピー符号化・復号化部、タグ処理部で構成されている。JPEGアルゴリズムと比較して、最も大きく異なる点の一つは変換方法である。JPEGでは離散コサイン変換(以下、DCT:Discrete Cosine Transform)を、階層符号化アルゴリズムでは離散ウェーブレット変換(以下、DWT:Discrete Wavelet Transform)を、各々用いている。DWTはDCTに比べて、高圧縮領域における画質が良いという長所が、JPEG(Joint Photographic Expert Group)の後継アルゴリズムであるJPEG2000で採用された大きな理由の一つとなっている。また、他の大きな相違点は、JPEG2000では、処理の最終段に符号形成をおこなうために、タグ処理部と呼ばれる機能ブロックが追加されていることである。この部分で、符号化動作時には符号データがコード・ストリームとして生成され、復号動作時には復号に必要なコード・ストリームの解釈が行われる。そして、コード・ストリームによって、JPEG2000は様々な便利な機能を実現できるようになった。例えば、図26に示した様に、ブロック・ベースでのDWTにおけるオクターブ分割に対応した任意の階層(デコンポジション・レベル)で、静止画像の圧縮伸長動作を自由に停止させることができるようになる。
カラー画像は、一般に、図27に示すように、原画像の各コンポーネント(ここではRGB原色系)が、矩形をした領域(タイル)によって分割される。そして、個々のタイル、例えば、R00、R01、…、R15/G00、G01、…、G15/B00、B01、…、B15が、圧縮伸長プロセスを実行する際の基本単位となる。従って、圧縮伸長動作は、コンポーネント毎、そしてタイル毎に、独立に行なわれる。
符号化時には、各コンポーネントの各タイルのデータが、図25の色空間変換部に入力され、色空間変換を施されたのち、2次元ウェーブレット変換部で2次元ウェーブレット変換(順変換)が適用されて周波数帯に空間分割される。
量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図28に示した様に、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。更に、個々のプレシンクトは、重複しない矩形の「コード・ブロック」に分けられる。これは、エントロピー・コーディングを行う際の基本単位となる。
エントロピー符号化部で形成される符号データの最小単位は、パケットと呼ばれる。パケットは、プログレッシブ順にシーケンス化され、これが画像ヘッダセグメントのなかの1つで示される。パケットは、あるプログレッシブ順データたとえば、それぞれ、領域、解像度、レイヤ、および色成分によって配列される。即ち、JPEG2000規格では、画質(レイヤ(L))、解像度(R)、コンポーネント(C)、位置(プレシンクト(P))という4つの画像の要素の優先順位を変更することによって、以下に示す5通りのプログレッションが定義されている。
RLCPプログレッション:プレシンクト、コンポーネント、レイヤ、解像度レベルの順序に復号されるため、解像度のプログレッションが実現出来る。
RPCLプログレッション:レイヤ、コンポーネント、プレシンクト、解像度レベルの順序に復号されるため、RLCP同様、解像度のプログレッションであるが、特定位置の優先度を高くすることが出来る。
PCRLプログレッション:レイヤ、解像度レベル、コンポーネント、プレシンクトの順序に復号されるため、特定部分の復号が優先されるようになり空間位置のプログレッションが実現出来る。
CPRLプログレッション:レイヤ、解像度レベル、プレシンクト、コンポーネントの順序に復号されるため、例えばカラー画像のプログレッシブ復号の際に最初にグレーの画像を再現するようなコンポーネントのプログレッションが実現出来る。
サーバにあるJPEG2000仕様に基づいて符号化された符号データをアクセスする方式としてJPIP(JPEG2000 image coding system-Part9:Interactivity tools, APIs and protocols)がある。その仕様には、既にクライアント側に受信された符号データは新たに転送することなく使用することで高速にアクセスできるような仕組みとして、クライアント上に符号データの一部を保存するキャッシュの機能を備えている。
すなわち、JPIP(JPEG2000 image coding system-Part9:Interactivity tools, APIs and protocols)など部分画像の符号データをダウンロードして復号する場合、符号データは断片化された部分符号データであるために、ダウンロードされた(あるいは、ロードされキャッシュなどの記憶装置上に保存された)符号データが、符号データを構成する全ての符号列(パケット)を全て備えている場合は少ない。部分画像の符号データは、符号データを構成する一部の符号列しか含んでいないからである。
また、JPIPなど部分画像の符号データをロードして復号する場合、符号データは断片化された部分符号データであるために全ての符号データが完備されている場合は少ない。符号データが部分的に欠けているような場合もあるため、効率的なアクセスができないということもあった。
また、請求項2記載の発明は、前記部分符号データは、JPEG2000のコード・ストリーム又はJPIPのストリーム等の階層化符号データであることを特徴とする。
また、請求項4記載の発明は、部分符号データを通信回線を介してロードする画像処理方法であって、
前記部分符号データに含まれる符号列が、タイル、コンポーネント、位置、及び解像度を階層として、該階層のどのレベルのデータであるかを符号列毎に抽出する抽出工程と、前記抽出手段で抽出した符号列毎の階層レベルに基づき、符号列毎の階層レベルを推定する推定工程と、前記推定工程で推定した符号列毎の最高階層レベルを管理テーブルに書き込む書込手段と、前記推定工程で推定した最高階層レベルを、各階層ごとに最高階層レベルをもつように階層データテーブルを作成する作成工程と、を有し、前記書込工程は、前記管理テーブルに記述してある各階層毎のレベルと、新たに受信した部分符号データに含まれる符号列毎の階層レベルとを比較し、前記管理テーブルに書き込まれている符号列毎の階層レベルより前記新たに受信した部分符号データに含まれる符号列毎の各階層レベルが大きい場合、前記新たに受信した部分符号データに含まれる符号列毎の階層レベルを前記管理テーブルに書き換えることを特徴とする。
また、請求項5の発明は、前記部分符号データは、JPEG2000のコード・ストリーム又はJPIPのストリームであることを特徴とする。
また、請求項6の発明は、前記抽出工程は、前記JPEG2000のコード・ストリーム又はJPIPのストリームである場合は、夫々のストリームを参照することで階層レベルを算出することを特徴とする。
また、本発明によれば、推定された階層構造を活用して、構造化符号データを参照する場合に、構造化文書の構造を反映した区切り単位で管理することにより、キャッシュなどの符号データ記憶装置に保存されている符号データを構成する符号列として欠けているものが容易に把握できる。保存されている符号列の再利用が効率的になる。空き時間に欠けている符号列のアップロードが可能となる。構造化要素単位ごとに部分符号データを参照し復号化処理が効率的にできる。
また、本発明によれば、JPIPの実現方式において、部分符号データのアクセスが効率的にできる。
また、本発明によれば、構造化符号データは、構造化要素単位(符号データ階層レベル単位)でまとまったデータのアクセス(参照あるいは読み込み)がなされるため、構造化要素単位(符号データ階層レベル単位)で、符号列が保存されているかいないかを識別する機能を提供し、効率的に符号データをアクセスするデータ参照構造を生成し、構成要素毎に容易に参照できる構成となる。
また、本発明によれば、処理の空き時間にバックグラウンドでクライアント側で未受信である符号列データを受信する仕組みを提供するので、アクセス頻度が高いと思われる符号列データから優先的に受信する仕組みを提供できる。
<実施例>
まず、本発明の実施形態について説明する前に、JPIPにおける符号データのやり取りについて説明する。
サーバにあるJPEG2000符号から、必要な符号だけを受信するためのプロトコルとして国際規格JPIP(JPEG2000 image coding system - Part 9:Interactivity tools, APIs and protocols)がある。このような、階層的な画像を部分的にアクセスするためのプロトコルは、古くは、画像の多重解像度表現であるFlashPixと、それにアクセスするためのプロトコルであるIIP(Internet Imaging Protocol)に見ることができる。JPIPに係る特許文献としては、特開2004−274758がある。
すなわち、JPP−ストリームはJPEG2000コード・ストリームへ変換されJPEG2000デコーダで復号することができる。前記変換は、復号されるデータと共に、メインヘッダの全てとタイルヘッダの全てを受信すれば十分である。
同様に、JPIPの標準仕様では、パケットヘッダの長さに関する明確な情報はも持たない。パケットデータの長さは、パケット内の全てのコード・ブロックにデータの長さを加算することにより決定できる。本発明の一実施例として、パケットヘッダにこれらのデータ長を計算した結果を保存する構成にすることができる。JPP−ストリームに規定された構成によりパケットを抽出することができる。
図1は、クライアント及びサーバ間で符号データを通信するネットワーク環境におけるクライアントサーバモデルの一実施形態のブロック構成図である。
図1に示すように、サーバ102は、ネットワークを介して少なくとも1つのクライアント101に接続されている。クライアント101は、ある画像のサブセットに対する要求(リクエスト)110を発行し、要求110に示された方法で対応する符号データを含む、応答111のような応答を受信する。
ネットワークの帯域幅又はサーバ102の資源又はファイル要求の構造のために、クライアント101は、要求された画像の部分符号データ以外のおおよその符号データを受信し得る。クライアント101は、キャッシュを用いて、画像の異なる部分の出力に対する要求を発行し、前に受信された符号データに対する追加分の符号データを受信する。
一つ目の方法としては、クライアント101が、サーバ102へ送信されクライアントで既に受信された符号データについての情報をもつことで、クライント101は冗長なデータの配信をサーバ102に要求しないで済ませ、それにより、サーバ102は冗長な符号データを送信しないで済ます方法である。
ここでは、サーバ102が、ステートレスで動作する場合にあっては、それまでの相互動作を記憶することなく動作する。サーバ102が、それまでの相互動作を記憶する特別なキャッシュモデルを維持する必要がないことから、一般的には、ステートレスで動作しているということが多い。
ここでは、クライアント101は、それまでに要求した符号データの全てを受信する前でも、ユーザーが指定した画像の部分に対応する符号データを変更し得る。あるサーバは、これらの変更を扱うために、前の要求に対する応答を割り込みすることができる。
以上のことから、JPIPストリームの符号フォーマット(メッセージ)を分析することで、コンポーネント数、レイヤ数、プレシンクトサイズ、デコンポジション分割数などの階層符号データを構成する各階層のレベル数がわかる。また、プログレッション順序についても知ることができる。
このようにJPIPにおいては、クライアント(出力側)では、全ての(階層)符号データではなく、部分符号データを必要としていることを前提としている。
実際の符号データは、図7に示すように、SOT(Start of tile-part)マーカで始まり、タイルヘッダ、SOD(Start of data)マーカ、タイルデータ(符号)で構成される。これら画像全体に相当する符号データの後に、符号の終了を示すEOC(End of codestream)マーカが付加される。メインヘッダはCOD、QCDの必須マーカセグメントとCOC、QCC、RGN、POC、PPM、TLM、PLM、CRG、COMのオプションマーカセグメントで構成される。
図7は、JPEG2000のコード・ストリームの一例である。
一方、図6の右下は、タイル内が複数に分割されている場合における分割されたタイルパートの先頭に付加されるマーカセグメント列であり、POC、PPT、PLT、COMのマーカセグメントが使用可能である。タイルヘッダでは必須マーカセグメントはなく、すべてオプションである。
タイルデータ(符号)は、連続したパケットで構成される。コード・ストリーム中のパケットの順番をプログレッション順序と呼んでいる。
以上のことから、JPEG2000コードフォーマットを分析することで、コンポーネント数、レイヤ数、プレシンクトサイズ、デコンポジション分割数などの階層符号データを構成する各階層のレベル数がわかる。また、プログレッション順序についても知ることができる。
図8は、キャッシュ管理に係る処理フローチャートである。
図8に示すように、まず、クライアントからの処理要求待ちとなり(S1)、クライアントから復号出力処理の要求があると復号出力処理要求処理となり、出力要求ファイル名、又はファイル名と出力範囲とが指定される(S2)。次に、クライアント内のキャッシュ(あるいは外部記憶装置)の符号データ検査処理を行い(S3)、クライアントが要求した対象の符号データがある場合(S4)、対象の符号データを読み出し(S5)、復号化処理を行う(S6)。
また、クライアントが要求した対象の符号データがキャッシュにあるが、符号データを構成する一部の符号列のみがキャッシュにないような場合がある。そのような場合、キャッシュに存在しない符号列のみを要求するのが一般的である。しかしながら、一部の符号データのみがキャッシュにないような場合であっても、全ての符号列が揃っていない場合には、全ての符号列のロードを要求する。
図9は、断片的な符号列(パケット)群より構造を把握する概念図である。
A.サーバからクライアントへ部分符号データを出力する。出力された部分符号データは階層化符号データであり、たとえば、前述したような、JPEG2000のコード・ストリームであったり、JPIPのストリームである。
B.クライアントは、部分符号データに含まれる符号列の階層レベルを符号列ごとに抽出する。先に述べたように、部分符号データがJPEG2000のコード・ストリームや、JPIPのストリームである場合は、それぞれストリームのデータを参照することによって算出できる。
C.上記部分符号データに含まれる符号列の階層レベルに基づき符号列の階層レベルを推定する。
D.クライアントが有するキャッシュデータ管理テーブルに符号列の最高階層レベルを書き込む。各階層ごと最高階層レベルをもつように階層データテーブルを作成する。次に符号列をキャッシュに保存し、その符号列へのポインタを書き込む。符号列へのポインタを記載している構造データの項目は、初期値がNULLであり、符号データがない列はNULLとなる。
F.クライアントは、部分符号データに含まれる符号列の階層レベルを符号列ごとに抽出する。この例では、新たに新しい符号列が3つ受信した場合を示す。
G.同様に、部分符号データに含まれる符号列の階層レベルを使用して符号列の階層レベルを推定する。先に作成し書き込んだキャッシュデータ管理テーブルに記述してある各階層毎のレベルと比較して大きい場合は書き換える。この例では、第二階層の階層レベル3が大きな値であり3に書き換わっている。
H.同様に、キャッシュデータ管理テーブルへ符号列の最高階層レベルを書き込む。各階層ごと最高階層レベルをもつように階層データテーブルを作成する。
このような部分符号データに含まれる符号列から符号データの構造が推定できる。上に示したように、本推定方式によれば、構造情報の順次更新する機能を有する。
図10に示すように、部分符号データに含まれる符号列の階層レベルを抽出し(S11)、キャッシュデータ管理テーブルへ符号列の最高階層レベルを書き込んだ(S12)後、構造テーブルの更新(S13)及び符号データの書き込みを行い(S14)、処理を終了する。
符号データ解析部1010では、符号データを解析し、構造を推定するために必要な各符号列の情報(階層数と各階層ごとのその符号列の属するレベル)を抽出する。管理テーブル構造テーブル生成処理部1011では、図9で説明したように、各符号列の情報(部分符号データに含まれる符号列の階層レベル)に基づき管理テーブルと構造テーブルとを生成する。このとき、符号列は符号データ保存処理部1014で保存する。
図11に示すように、まず、クライアントによりキャッシュ管理処理が開始されると(S20)、キャッシュ管理要求解析が行われ(S21)、キャッシュ更新処理の要求があった場合(S22)、キャッシュ更新生成要求処理が行われて(S23)終了する。次に、キャッシュ構造変更の要求があったの場合(S24)、符号データの最上位階層レベルの使用頻度に基づき、最も使用頻度の多い階層レベルを算出し(S25)、キャッシュ又は外部記憶装置の構造データを変更し(S26)、復号処理の許容プログレッションに対応するように構造データを変更して(S27)、処理を終了する。次に、追加保存の要求があった場合(S28)、構造データに基づいて追加符号データの保存位置を特定し(S29)、符号データを保存して(S30)、処理を終了する。次に、参照要求があった場合(S31)、構造データに基づいて符号データの範囲の符号データを参照し(S32)、処理を終了する。
本発明の特徴の1つは、符号データの階層構造を推定し、キャッシュ管理テーブル、構造テーブルを生成することである。
図12は、キャッシュデータ(符号列構造)管理のためのデータ構造の基本構成図である。キャッシュデータ(符号列構造)管理のためのデータ構造は、管理テーブルと構造テーブルと符号列保存部よりなる。本実施例では、構造テーブルは表形成であるが、後述する別の実施例(図15)ではツリー構造をもっている。管理テーブルは、符号データ名(ファイル名)、階層数、各階層毎の階層レベル数(階層レベルの最大値)、構造データへのアドレス(ポインタ)により構成されている。階層数により階層レベル数の項目の数が変更される。
構造テーブルは、階層レベル数の各階層分の組み合わせの全ての項目を含む。符号列の属する各階層の階層レベルに該当する符号データへのポインタの部分に該符号列が保存されている。
全体の文書画像に絵柄などの画像データが組み込んであるような構造化文書画像の符号化などで、符号データもこのような階層構造を持たせる場合がある。このような場合にあっては、キャッシュを管理するためのデータ構造も、本実施例のように、符号データの階層関係にしたがって管理テーブルも階層構造をもたせて実現する。それぞれのサブファイルが、それぞれ独立の構造テーブルをもたせることで、符号列間の関係(構造)が管理でき、構造化文書画像にも対応することができる。
図14に示すように、まず、クライアントによりキャッシュデータの更新生成処理1が開始されると(S40)、対象符号データの符号列を順次取り出し(S41)、全ての符号列を終了すると(S42)、S43へ進む。次に、部分符号データに含む符号列の階層レベルを抽出し符号データの各階層の最高階層レベル番号を算出し(S43)、各階層の最高階層レベルを持つ全ての階層レベルの組み合わせパターンをもつ構造テーブルを作成する(S45)。次に、対象符号データの符号列を順次取り出し(S43)、全ての符号列終了し(S47)、該符号列を保存し(S48)、符号列の階層レベルを調べ、構造テーブルの該階層レベルの符号列へのポインタに符号列のアドレスを書込み(S49)、処理を終了する。
なお、キャッシュデータの更新生成処理の場合に、上記図12、図13などのデータ構造を生成し、キャッシュ上に符号列を順次保存する。すなわち、本発明の特徴の1つは、キャッシュに符号列を保存する前段階で前述した構造の推定をするところである。
このような処理により、推定機能により推定した階層構造に基づいて保存する階層符号データを構成する符号列(パケット)を管理する手段を提供することができる。
図15は、ツリー構造のキャッシュ管理テーブル、構造テーブルの基本構成図である。このツリー構造は、前述した図12、図13のテーブル構造とは互換性がある。すなわち、テーブル構造は、ツリー構造へ変換することも、逆も任意に変更することができる。ツリー構造をもつ構造テーブルは、階層ノードにより構成されている。各階層ノードは、階層レベルNoと下位階層レベルへの全てのポインタと情報項目より構成されている。最下位の階層では、各階層ノードは階層レベルNoと符号列へのポインタ格納領域をもっている。下位階層レベルへの全てのポインタはもっていない。また、符号列がない場合は、該ポインタ格納領域はNULLになっている。
本実施形態では、管理テーブルには、次の最上位の階層の階層ノードへのポインタをもっている。係る最上位の階層の階層ノードへのポインタをもつ特別な階層ノードを設け、管理テーブルがその特別な階層ノードへのポインタをもつような構成であってもかまわないが、本実施例の方が、符号列を参照する場合に特別な余分な階層ノードが存在しない分高速に実現できる。
図16に示すように、まず、クライアントによりキャッシュデータの更新生成処理2が開始されると(S50)、対象符号データの符号列を順次取り出し(S51)、全ての符号列を終了してS53へ進む。次に、部分符号データに含まれる符号列の階層レベルを抽出し符号データの各階層の最高階層レベル番号を算出し(S54)、各階層の最高階層レベルを持つ全ての階層レベルの組み合わせパターンをもつ構造テーブル作成する(S55)。
次に、構造テーブルへ符号列へのポインタの書き込みを行い(S53)、キャッシュデータ管理テーブル上の各階層のレベル数を読み込み(S53−1)、前記レベル数をもつ階層ノードデータを作成する(S53−2)。ここで、階層ノードデータは、(i)階層レベルNo、(ii)下位階層の階層ノードデータへのポインタ、(iii)下位階層データ有無フラグ項目よりなる)。
次に、保存対象とする符号列毎に順次以下の処理をする(S53−5)。
すなわち、符号列を保存し(S53−5−1)、階層ノードデータを上位階層から下位階層へと辿りながら、その符号列の各階層レベルで(i)階層レベルNoと一致する最下位の階層ノードデータを探し、該最下位の階層ノードデータの(ii)下位階層の階層ノードデータへのポインタ先を、符号列が保存されているアドレスとする(S53−5−2)。この時、上位階層の階層ノードデータから(ii)下位階層の階層ノードデータへのポインタ先を辿っていった時の階層レベルNoが、その符号の階層レベルであるようになっている。
次に、階層ノードデータを上位階層から下位階層へと辿りながら、該最下位の階層ノードデータの(ii)下位階層の階層ノードデータへのポインタを書き込む時に、辿られた階層ノードデータの(iii)下位階層データ有無フラグを+1する(S53−5−3)。
このような構造データの調整により、保存される符号化データの符号列の制御単位を部分符号データのアクセス単位とすることができる。部分符号データのアクセス効率を高められる。
また、要求している符号データの中に、クライアントのキャッシュ上にない符号列が存在する場合には、欠落符号列の再送を要求する。
図17は、図15記載のツリー構造をもつ構造テーブルを解析して、欠落符号列を判別処理する処理フローチャートである。このようにして、階層符号化された符号データの部分符号データの中で欠けている符号列を算出できる。
図17に示すように、まず、クライアントにより欠落符号列の判別処理が開始されると(S60)、キャッシュデータ管理テーブル上の各階層のレベル数を読み込む(S61)。ここで、下からm番目の階層でD(m)個のレベル数とし、m=1〜Nとし、Nはキャッシュデータ管理テーブル上の階層数とする。
なお、サーバクライアントシステムにおいては、例えば、クライアントは、サーバから、階層符号データの部分符号データを受信し、上記手段によって受信された部分符号データの欠落符号列を算出し、前記欠落符号列を含む部分符号データを受信する。
図18に示すように、まず、クライアントによりキャッシュ管理に係る処理が開始されると(S70)、処理要求待ちとなり(S71)、キャッシュ管理要求を受信すると(S72)、キャッシュ管理処理へ移り(S73)、復号出力処理要求を受信すると(S74)、復号出力処理要求処理へ移り(S75)、終了要求を受信すると(S76)、終了する。
ところで、先に説明したように、本発明の構造データを使用して符号列を参照する実施例においては、特定の階層のあるレベルを構成符号列を特定することが容易に実現でき、上記欠落符号列を含むかどうかの判定方法を使用して、特定の階層の符号データが全て揃っている(キャッシュ上にある)かどうかの判別が容易にできる。そこで、クライアントは、特定の階層の符号データが全て揃っていない場合にその符号列を全てロードすることもできる。まとめて使用される可能性の高い符号列を入手する手段を提供し、利用価値を高められる。
ところで、クライアントにおける欠落符号列のロードは、使用者からの部分符号データのロード要求時だけで実行するに限らず、処理のバックグラウンドで実行することもできる。
図19に示すように、まず、クライアントによりバックグランドキャッシュ処理が開始されると(S80)、処理要求待ちとなり(S81)、復号出力処理要求を受信すると(S82)、復号出力処理要求処理となり(S83)、終了要求を受信すると(S84)、終了する。
次に、キャッシュ構造変更処理要求がなされると(S85)、欠落符号列の把握がなされ(S86)、欠落符号列を含む部分符号データをアップロードし(S87)、追加保存要求処理要求がなされる(S88)。
次に、キャッシュデータの構造の入れ替え制御について説明する。
階層符号データのプログレッションの使用頻度を利用することで、階層毎の重要度を推定する。一般に使用者は、階層符号データを使用する場合にあって、重要な階層要素を上位レベルの階層とするプログレッションをもつ符号データを使用する場合が多いことに基づく。本発明の一実施例では、階層毎の重要度に合わせて本発明のキャッシュデータの構造データを最頻度のプログレッションをもつように置き換えておくことで、参照頻度の高い部分符号データのロード要求の処理が実現できる。効率的なキャッシュ管理を実現する。
図21に示すように、管理テーブルに階層毎の重要度データを保存している。階層毎の重要順は、使用頻度等重要度によって設定する。
図11の処理フローでは、階層毎の使用頻度によって、必要であれば、構造データの変更を加えキャッシュ上の符号列の参照範囲を調整する。使用時の階層の重要性に基づいて符号データをロードする手段を提供する。
ところで、別実施形態として、階層構造化して保存した階層符号データを管理するか、階層構造化しないで保存した階層符号データを管理するかを、階層符号データの使用頻度により制御することもできる。
以上、キャッシュデータに存在しない符号データの送信要求をする応用実施例を中心に説明したが、本発明の構造データを使用することによって符号列の順番を簡単に置き換えることができるため、デコーダで許されるプログレッションオーダになるように符号列の順番を調整することもできる。
Claims (6)
- 部分符号データを通信回線を介してロードする画像処理装置であって、
前記部分符号データに含まれる符号列が、タイル、コンポーネント、位置、及び解像度を階層として、該階層のどのレベルのデータであるかを符号列毎に抽出する抽出手段と、
前記抽出手段で抽出した符号列毎の階層レベルに基づき、符号列毎の階層レベルを推定する階層レベル推定手段と、
前記推定手段で推定した符号列毎の最高階層レベルを管理テーブルに書き込む書込手段と、
前記推定手段で推定した最高階層レベルを、各階層ごとに最高階層レベルをもつように階層データテーブルを作成する作成手段と、
を有し、
前記書込手段は、
前記管理テーブルに記述してある各階層毎のレベルと、新たに受信した部分符号データに含まれる符号列毎の階層レベルとを比較し、前記管理テーブルに書き込まれている符号列毎の階層レベルより前記新たに受信した部分符号データに含まれる符号列毎の各階層レベルが大きい場合、前記新たに受信した部分符号データに含まれる符号列毎の階層レベルを前記管理テーブルに書き換えることを特徴とする画像処理装置。 - 前記部分符号データは、JPEG2000のコード・ストリーム又はJPIPのストリームであることを特徴とする請求項1に記載の画像処理装置。
- 前記階層レベル抽出手段は、
前記JPEG2000のコード・ストリーム又はJPIPのストリームである場合は、夫々のストリームを参照することで階層レベルを算出することを特徴とする請求項2に記載の画像処理装置。 - 部分符号データを通信回線を介してロードする画像処理方法であって、
前記部分符号データに含まれる符号列が、タイル、コンポーネント、位置、及び解像度を階層として、該階層のどのレベルのデータであるかを符号列毎に抽出する抽出工程と、
前記抽出手段で抽出した符号列毎の階層レベルに基づき、符号列毎の階層レベルを推定する推定工程と、
前記推定工程で推定した符号列毎の最高階層レベルを管理テーブルに書き込む書込手段と、
前記推定工程で推定した最高階層レベルを、各階層ごとに最高階層レベルをもつように階層データテーブルを作成する作成工程と、
を有し、
前記書込工程は、
前記管理テーブルに記述してある各階層毎のレベルと、新たに受信した部分符号データに含まれる符号列毎の階層レベルとを比較し、前記管理テーブルに書き込まれている符号列毎の階層レベルより前記新たに受信した部分符号データに含まれる符号列毎の各階層レベルが大きい場合、前記新たに受信した部分符号データに含まれる符号列毎の階層レベルを前記管理テーブルに書き換えることを特徴とする画像処理方法。 - 前記部分符号データは、JPEG2000のコード・ストリーム又はJPIPのストリームであることを特徴とする請求項4に記載の画像処理方法。
- 前記抽出工程は、
前記JPEG2000のコード・ストリーム又はJPIPのストリームである場合は、夫々のストリームを参照することで階層レベルを算出することを特徴とする請求項5に記載の画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006217563A JP4716949B2 (ja) | 2005-09-02 | 2006-08-09 | 画像処理装置および画像処理方法 |
US11/515,163 US7729549B2 (en) | 2005-09-02 | 2006-09-01 | Image processing apparatus and image processing method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005255759 | 2005-09-02 | ||
JP2005255759 | 2005-09-02 | ||
JP2006217563A JP4716949B2 (ja) | 2005-09-02 | 2006-08-09 | 画像処理装置および画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007097147A JP2007097147A (ja) | 2007-04-12 |
JP4716949B2 true JP4716949B2 (ja) | 2011-07-06 |
Family
ID=37829162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006217563A Expired - Fee Related JP4716949B2 (ja) | 2005-09-02 | 2006-08-09 | 画像処理装置および画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7729549B2 (ja) |
JP (1) | JP4716949B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5162939B2 (ja) * | 2007-03-30 | 2013-03-13 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
JP2008258994A (ja) * | 2007-04-06 | 2008-10-23 | Ricoh Co Ltd | 画像処理装置 |
US8237830B2 (en) | 2007-04-11 | 2012-08-07 | Red.Com, Inc. | Video camera |
EP2793219A1 (en) | 2007-04-11 | 2014-10-22 | Red.Com, Inc. | Video camera |
JP5151561B2 (ja) * | 2008-03-04 | 2013-02-27 | 株式会社リコー | キャッシュ装置 |
JP5061306B2 (ja) * | 2008-03-31 | 2012-10-31 | Kddi株式会社 | クライアント装置、サーバ装置およびボリュームデータ伝送システム |
WO2011084639A2 (en) * | 2009-12-16 | 2011-07-14 | Red. Com, Inc. | Resolution based formatting of compressed image data |
WO2014127153A1 (en) | 2013-02-14 | 2014-08-21 | Red. Com, Inc. | Video camera |
US9244832B1 (en) * | 2013-03-15 | 2016-01-26 | Emc Corporation | Cache learning model |
US10397614B2 (en) | 2013-11-01 | 2019-08-27 | Sony Corporation | Image processing apparatus and method |
JP6642427B2 (ja) * | 2014-06-30 | 2020-02-05 | ソニー株式会社 | 情報処理装置および方法 |
JP6493403B2 (ja) * | 2014-06-30 | 2019-04-03 | ソニー株式会社 | ファイル生成装置および方法、並びにコンテンツ再生装置および方法 |
US9794574B2 (en) * | 2016-01-11 | 2017-10-17 | Google Inc. | Adaptive tile data size coding for video and image compression |
US11019336B2 (en) | 2017-07-05 | 2021-05-25 | Red.Com, Llc | Video image data processing in electronic devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002528969A (ja) * | 1998-10-21 | 2002-09-03 | テレフォンアクチーボラゲット エル エム エリクソン(パブル) | 圧縮ドメインにおける画像の部分検索 |
JP2005012685A (ja) * | 2003-06-20 | 2005-01-13 | Canon Inc | 画像処理方法、画像処理装置 |
JP2005033801A (ja) * | 2003-07-07 | 2005-02-03 | Ricoh Co Ltd | 部分的な書類画像へのネットワークアクセスを行なう方法、製造品及び装置 |
JP2005130470A (ja) * | 2003-10-01 | 2005-05-19 | Canon Inc | 画像処理方法、画像処理装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3768934B2 (ja) | 2001-08-30 | 2006-04-19 | キヤノン株式会社 | 画像処理装置及びそのデータキャッシュ方法 |
JP3768866B2 (ja) | 2001-11-29 | 2006-04-19 | キヤノン株式会社 | 符号化データの作成方法及びその装置 |
US7324695B2 (en) * | 2002-03-18 | 2008-01-29 | Seimens Medical Solutions Usa, Inc. | Prioritized image visualization from scalable compressed data |
JP4065535B2 (ja) | 2002-12-09 | 2008-03-26 | キヤノン株式会社 | 符号データ作成方法及び装置 |
JP4125186B2 (ja) | 2003-06-20 | 2008-07-30 | キヤノン株式会社 | 画像処理方法、画像処理装置 |
US7447369B2 (en) * | 2003-03-07 | 2008-11-04 | Ricoh Co., Ltd. | Communication of compressed digital images |
US7460724B2 (en) | 2003-03-07 | 2008-12-02 | Ricoh Co., Ltd. | JPP-stream to JPEG 2000 codestream conversion |
US7200277B2 (en) * | 2003-07-01 | 2007-04-03 | Eastman Kodak Company | Method for transcoding a JPEG2000 compressed image |
JP4371982B2 (ja) * | 2004-11-08 | 2009-11-25 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
-
2006
- 2006-08-09 JP JP2006217563A patent/JP4716949B2/ja not_active Expired - Fee Related
- 2006-09-01 US US11/515,163 patent/US7729549B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002528969A (ja) * | 1998-10-21 | 2002-09-03 | テレフォンアクチーボラゲット エル エム エリクソン(パブル) | 圧縮ドメインにおける画像の部分検索 |
JP2005012685A (ja) * | 2003-06-20 | 2005-01-13 | Canon Inc | 画像処理方法、画像処理装置 |
JP2005033801A (ja) * | 2003-07-07 | 2005-02-03 | Ricoh Co Ltd | 部分的な書類画像へのネットワークアクセスを行なう方法、製造品及び装置 |
JP2005130470A (ja) * | 2003-10-01 | 2005-05-19 | Canon Inc | 画像処理方法、画像処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2007097147A (ja) | 2007-04-12 |
US7729549B2 (en) | 2010-06-01 |
US20070051817A1 (en) | 2007-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4716949B2 (ja) | 画像処理装置および画像処理方法 | |
JP4709493B2 (ja) | 圧縮されたディジタル画像を通信する方法及び製造物 | |
JP4003945B2 (ja) | 画像処理装置、画像処理方法、プログラム及び記憶媒体 | |
US7571382B2 (en) | Partial retrieval of images in the compressed domain | |
JP2004524730A (ja) | ビデオのスケーラブル圧縮方法および装置 | |
JP2004274758A (ja) | Jpp−ストリームからjpeg2000符号ストリームへの変換方法及び変換装置 | |
JP4898513B2 (ja) | クライアント・サーバシステム | |
JP2004274759A (ja) | 制限されたアクセスとサーバ/クライアント受け渡しを有する圧縮されたディジタル画像の通信方法及び装置 | |
JP4834917B2 (ja) | 画像符号化装置および画像サーバ装置 | |
US20040213472A1 (en) | Image compression apparatus, image decompression apparatus, image compression method, image decompression method, program, and recording medium | |
JP2007142614A (ja) | 画像処理装置、画像処理方法、プログラム及び情報記録媒体 | |
JP5515758B2 (ja) | 画像処理装置および方法 | |
JP2004248144A (ja) | 画像処理装置、画像圧縮装置、画像処理方法、画像圧縮方法、プログラム、及び記録媒体 | |
JP4151963B2 (ja) | 画像サーバ装置、クライアント装置、動画像配信方法、プログラム、及び、情報記録媒体 | |
US20060218295A1 (en) | Image processing system, image processing method and computer readable information recording medium | |
JP2005123856A (ja) | 画像処理システム、画像処理方法、プログラム及び情報記録媒体 | |
US7409095B2 (en) | Image processing apparatus and method for scalable encoded image data | |
JP4773770B2 (ja) | 画像処理システム、画像処理方法、プログラムおよび記録媒体 | |
JP2007288241A (ja) | 符号処理装置、プログラム及び情報記録媒体 | |
JP4609918B2 (ja) | 画像処理システム、画像処理方法、プログラム及び情報記録媒体 | |
JP4073333B2 (ja) | 画像圧縮装置及び画像圧縮方法 | |
JP2007166013A (ja) | 画像処理方式、画像処理方法、画像処理プログラム及び画像処理プログラムを記録した記録媒体 | |
JP3914197B2 (ja) | 情報処理装置、情報処理方法、プログラム及びコンピュータ読取り可能な記録媒体 | |
JP5053528B2 (ja) | 画像処理装置、画像処理システム、画像処理方法、プログラムおよび記録媒体 | |
JP4129913B2 (ja) | 画像処理装置及び画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110210 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110329 |
|
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: 20140408 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |