專利名稱:對(duì)部分文檔圖像的標(biāo)準(zhǔn)化網(wǎng)絡(luò)訪問(wèn)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及處理圖像數(shù)據(jù)的領(lǐng)域;更具體講,本發(fā)明涉及經(jīng)由網(wǎng)絡(luò)訪問(wèn)圖像文件的某些部分。
背景技術(shù):
JPEG 2000是眾所周知的壓縮標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)有多個(gè)部分,并且每個(gè)部分具有多個(gè)附件。
JPEG 2000第6部分,官方稱作ISO/IEC 15444-62003,信息技術(shù)-JPEG2000圖像編碼系統(tǒng)-第6部分復(fù)合圖像文件格式,在本文中稱為JPM標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)描述了JPM文件的內(nèi)容和使用。JPM標(biāo)準(zhǔn)的附件E的標(biāo)題為“用于為JPM文件構(gòu)建URL的指南”。JPM標(biāo)準(zhǔn)和文件格式設(shè)計(jì)成用于存儲(chǔ)文檔圖像,并允許經(jīng)由JPEG 2000和其它方法進(jìn)行壓縮,尤其是允許由G4、JBIG2和JBIG方法進(jìn)行壓縮,這些方法比JPEG 2000更適于壓縮包括文本的二進(jìn)制圖像。
JPM標(biāo)準(zhǔn)列出了可能對(duì)JPM文件中的訪問(wèn)有用的信息,但僅僅通過(guò)舉例定義了語(yǔ)法。更具體講,沒(méi)有定義諸如“page=43”之類的請(qǐng)求的返回類型。它可以指以JPEG 2000格式呈現(xiàn)(rendered)的頁(yè)面,一個(gè)已解析的僅包括頁(yè)面43的JPM文件,或者指沒(méi)有任何JPM文件等級(jí)框(level boxes)的JPM文件中的與頁(yè)面43相關(guān)聯(lián)的框。
JPEG 2000第6部分附件E列出了請(qǐng)求URL的例子。JPM標(biāo)準(zhǔn)附件E中的請(qǐng)求URL的例子包括下列項(xiàng)目(以BNF形式定義,其中UINT是無(wú)符號(hào)整數(shù),TOKEN是一個(gè)具有某些限制的字符串)page=UINT /"thumb"obj=UINTtype="meta" /"img" /"thumb"index=UINTmtype="text" /"xml"label=string
coll="main" /TOKENoffset=UINTlen=UINTJPEG 2000第9部分,官方稱作ITU-T Recommendation T.808|ISO/IEC15444-92004,信息技術(shù)-JPEG 2000圖像編碼系統(tǒng)-第9部分交互工具,API及協(xié)議,(JPIP),通常地且在本文稱之為JPIP標(biāo)準(zhǔn),是一種語(yǔ)法的定義,并且是一種用于通過(guò)網(wǎng)絡(luò)交互地傳遞JPEG 2000圖像的協(xié)議。JPIP小節(jié)C.4.7代碼流上下文(JPIP Section C.4.7 Codestream Context)設(shè)計(jì)成一種使用適用于特定文件類型的高級(jí)術(shù)語(yǔ)來(lái)訪問(wèn)一個(gè)或多個(gè)代碼流的機(jī)制。該小節(jié)包括用于訪問(wèn)JPX文件的不同組合層的語(yǔ)法,其定義于JPEG 2000第2部分中,并且具有用于根據(jù)一些組合指令來(lái)修改視窗的指令。使用這種具有JPIP的語(yǔ)法可能看起來(lái)像“context=jpxl<0-4:2>[s5i2]”,其將請(qǐng)求組合層0,2和4,并利用第6指令集框的第3條指令來(lái)重新繪制幀尺寸和圖像區(qū)域。JPIP中的同一小節(jié)也解釋了如何從MJ2文件中得到和不同軌道相關(guān)聯(lián)的代碼流,其定義于JPEG 2000第3部分和JPEG 2000第12部分。
還存在其它文檔傳遞技術(shù)。例如,線性化PDF是一種以PDF格式傳遞文檔圖像的技術(shù)。這種技術(shù)依賴于利用存儲(chǔ)在文件開(kāi)頭的索引信息,以特殊的格式寫入PDF。這種交互完全由客戶機(jī)控制。在Rowe,Edward R.,Priyadarshan,Eswar,Taft,Edward A.,McQuarrie所著的“Methods and Apparatusfor Reading multi-page electronic documents”中描述了一個(gè)例子,該文出版于1998年的Adobe Systems中。
NEC有一個(gè)稱作文檔跳躍者(Document Skipper)的軟件產(chǎn)品,其是用于提供交互訪問(wèn)文檔圖像的服務(wù)器軟件。文檔跳躍者從具有JPEG格式中的MEAP的Canon Multifunction裝置中接收?qǐng)D像,但為了提供多分辨分析和空間訪問(wèn),把該圖像轉(zhuǎn)換到JPEG 2000。
發(fā)明內(nèi)容
本發(fā)明的總的目的是提供一種改進(jìn)并且有用的方法、裝置、以及記錄介質(zhì),在其中消除了上述所提到問(wèn)題。
本發(fā)明更特定的目的是提供一種用于網(wǎng)絡(luò)訪問(wèn)部分文檔圖像的方法、裝置、以及記錄介質(zhì)。
根據(jù)本發(fā)明的一個(gè)方面,提供一種方法,特征在于接收對(duì)文檔的頁(yè)面的區(qū)域的請(qǐng)求,該請(qǐng)求是從客戶機(jī)發(fā)起的;確定和該頁(yè)面的區(qū)域相交的源文件中的一個(gè)或多個(gè)對(duì)象,該源文件具有兩個(gè)或多個(gè)代碼流;以及發(fā)送具有文件中的信息的子集的響應(yīng)。
當(dāng)結(jié)合附圖閱讀本發(fā)明時(shí),本發(fā)明的其它目的、特征和優(yōu)點(diǎn)將可以從下面的詳細(xì)描述中變得更為顯而易見(jiàn)。
圖1為客戶機(jī)-服務(wù)器網(wǎng)絡(luò)的一個(gè)實(shí)施例的方框圖;圖2示出了JPM文件的內(nèi)容和在服務(wù)器和客戶機(jī)上的表示;圖3示出了JPM文檔的一個(gè)實(shí)施例的內(nèi)容;圖4為使用了綱要文檔的處理過(guò)程的流程圖;圖5為作為JPM文件的綱要文檔的例子;圖6為具有本地代碼流分段的綱要文檔的例子;圖7描述了包含PDF文件的JPM文件的例子;圖8為包含一個(gè)或多個(gè)JPM文件的PDF文件的例子;圖9為引用PDF文件的JPM文件的例子;以及圖10為計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例的方框圖。
具體實(shí)施例方式
描述了一種用于通過(guò)網(wǎng)絡(luò)傳遞文檔圖像的方法和裝置。在一個(gè)實(shí)施例中,本文所描述的技術(shù)為存儲(chǔ)在JPM文件中的文檔圖像提供JPIP的交互能力。公開(kāi)了支持這種傳遞的語(yǔ)法的例子,以及由客戶機(jī)與服務(wù)器用來(lái)處理文檔圖像傳遞的方法。
還描述了特定的服務(wù)器實(shí)現(xiàn)技術(shù)、特定的客戶機(jī)實(shí)現(xiàn)技術(shù)、以及聯(lián)合PDF/JPM交互。這些包括JPIP-JPM的特定實(shí)現(xiàn)細(xì)節(jié)(例如,占位符框(placeholder box)的使用、偏好標(biāo)記的使用、用于高速緩沖存儲(chǔ)器(cache)文件中的URL的機(jī)制,以及客戶機(jī)控制的JPIP-JPM)和PDF/JPM交互(例如,通過(guò)JPIP-JPM提供包含JPEG 2000和其它的壓縮流的PDF文件服務(wù),提供包含JPM文件的PDF文件的服務(wù),JPM文件包含完全有效的PDF文件,提供包含PDF的JPM文件作為JPM或完全PDF文件的服務(wù),以及用極小的額外空間來(lái)提供JPM或者PDF的服務(wù))。此外,本文所描述的技術(shù)使用了具有PDF文件格式的JPIP標(biāo)準(zhǔn)。本文也描述了用于不必重復(fù)代碼流而有效存儲(chǔ)文檔的PDF和JPM版本的技術(shù)。
在下面的描述中,闡述多個(gè)細(xì)節(jié)來(lái)提供本發(fā)明更充分的解釋。然而,對(duì)一個(gè)本領(lǐng)域技術(shù)人員來(lái)說(shuō),顯然沒(méi)有這些特定細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明。在其它實(shí)例中,為了避免模糊本發(fā)明,以方框圖形式而不是以羅列細(xì)節(jié)的形式示出了眾所周知的結(jié)構(gòu)和設(shè)備。
用算法和在計(jì)算機(jī)存儲(chǔ)器內(nèi)數(shù)據(jù)位操作的符號(hào)表示的方式介紹下面詳細(xì)描述的部分內(nèi)容。這些算法性的描述和表示是數(shù)據(jù)處理領(lǐng)域技術(shù)人員慣用的手段,以便于更有效地把他們工作的實(shí)質(zhì)傳遞給其他本領(lǐng)域技術(shù)人員。算法在此往往被構(gòu)造成前后一致的可以導(dǎo)致期望的結(jié)果的步驟序列。這些步驟是要求進(jìn)行物理量的物理操作的步驟。通常,雖然不是必須的,這些量表現(xiàn)為能夠被存儲(chǔ)、傳遞、合并、比較以及其它操作的電或磁信號(hào)的形式。已經(jīng)證明,有時(shí),主要是為了通常的用法的原因,把這些信號(hào)定義為位、值、元素、符號(hào)、字符、術(shù)語(yǔ)、數(shù)字或其它類似物是方便的。
然而應(yīng)牢記,所有這些以及類似術(shù)語(yǔ)應(yīng)和適當(dāng)?shù)奈锢砹筷P(guān)聯(lián)在一起,它們只是應(yīng)用于這些量的方便標(biāo)記。除非明確地聲明,否則從下面的論述中可以顯而易見(jiàn),充分意識(shí)到的是,貫穿整個(gè)描述,利用諸如“處理”或“運(yùn)算”或“計(jì)算”或“確定”或“顯示”或類似用語(yǔ)的論述,指的是計(jì)算機(jī)系統(tǒng)或者類似的電子計(jì)算設(shè)備的動(dòng)作和過(guò)程,該計(jì)算機(jī)系統(tǒng)將該計(jì)算機(jī)系統(tǒng)的寄存器和存儲(chǔ)器內(nèi)表示成物理(電子)量的數(shù)據(jù),操作和轉(zhuǎn)換為該計(jì)算機(jī)系統(tǒng)存儲(chǔ)器或寄存器或其它這樣的信息存儲(chǔ)、傳遞或顯示設(shè)備內(nèi)的其它類似表示成物理量的數(shù)據(jù)。
本發(fā)明也涉及用于執(zhí)行本文操作的裝置??梢愿鶕?jù)需要特別構(gòu)建該裝置,或者可以由一個(gè)通用計(jì)算機(jī)組成,該通用計(jì)算機(jī)由存儲(chǔ)在計(jì)算機(jī)內(nèi)的計(jì)算機(jī)程序選擇性地激活或重新配置。這樣的計(jì)算機(jī)程序可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi),諸如,但并不限于,任意類型的盤,包括軟盤、光盤、CD-ROM、和磁光盤、只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、EPROM、EEPROM、磁或光卡,或者適用于存儲(chǔ)電子指令的任意類型的介質(zhì),每種存儲(chǔ)介質(zhì)都耦合到計(jì)算機(jī)系統(tǒng)總線上。
本文提出的算法和顯示并不固有地涉及任何具體計(jì)算機(jī)或其它裝置。各種通用系統(tǒng)可以用于根據(jù)本文的教導(dǎo)的程序,或者構(gòu)建更專用的裝置來(lái)執(zhí)行所需要的方法步驟也可以證明是方便的。用于各種這類系統(tǒng)所需要的結(jié)構(gòu)將從下面的描述中看出。另外,本發(fā)明沒(méi)有參照任何具體的編程語(yǔ)言進(jìn)行描述。應(yīng)該了解,本文所描述發(fā)明的教導(dǎo)可以用各種編程語(yǔ)言來(lái)實(shí)現(xiàn)。
機(jī)器可讀介質(zhì)包括任意用于以機(jī)器(例如,計(jì)算機(jī))可讀形式存儲(chǔ)或傳遞信息的機(jī)制。例如,機(jī)器可讀介質(zhì)包括只讀存儲(chǔ)器(‘ROM’);隨機(jī)存取存儲(chǔ)器(‘RAM’);磁盤存儲(chǔ)介質(zhì);光存儲(chǔ)介質(zhì);閃存裝置;電、光、聲或其它形式的傳播信號(hào)(例如,載波,紅外信號(hào),數(shù)字信號(hào)等);等等。
JPIP訪問(wèn)JPM文件JPIP可以用于提供JPM文件的服務(wù)。公開(kāi)了通過(guò)網(wǎng)絡(luò)使用建立在JPIP上的請(qǐng)求和響應(yīng)通信的語(yǔ)法傳送JPM(文檔圖像)文件的一部分的技術(shù)。這樣做,可以實(shí)現(xiàn)對(duì)頁(yè)的區(qū)域以及特定對(duì)象的訪問(wèn)。JPIP中定義的元數(shù)據(jù)倉(cāng)用來(lái)為呈現(xiàn)期望窗口需要的對(duì)象返回的全部或部分的代碼流。JPM軟件提供JPM文件的增量解碼,并提供JPIP服務(wù)器提供JPM文件訪問(wèn)所需要的索引信息。對(duì)在訪問(wèn)JPM文件的過(guò)程中均涉及的客戶機(jī)的例子和服務(wù)器的例子也進(jìn)行了描述。
圖1是通過(guò)網(wǎng)絡(luò)連接的客戶機(jī)及服務(wù)器的一個(gè)實(shí)施例的方框圖。參照?qǐng)D1,網(wǎng)絡(luò)連接客戶機(jī)100和服務(wù)器101。客戶機(jī)100產(chǎn)生一個(gè)對(duì)JPM文件中的頁(yè)面的區(qū)域的請(qǐng)求110。該請(qǐng)求可以響應(yīng)于用戶使用用戶接口而產(chǎn)生。例如,客戶機(jī)100可以在屏幕上向左滾動(dòng)、向右滾動(dòng)、向上滾動(dòng)、向下滾動(dòng)、放大、和/或縮小。另外,用戶能夠利用用戶界面(或用戶接口)上的按鈕或其它用戶接口元件調(diào)用頁(yè)面向前、頁(yè)面向后、以及轉(zhuǎn)到頁(yè)面選項(xiàng)上。所述請(qǐng)求可以包括頁(yè)面編號(hào)。
服務(wù)器101接收請(qǐng)求110,并且,響應(yīng)于該請(qǐng)求,確定JPM文件120中與所請(qǐng)求的區(qū)域相交的布局對(duì)象。服務(wù)器101發(fā)送回該文件的概要。由于該文件概要不是來(lái)自像素的壓縮采樣數(shù)據(jù),所以即使該文件概要可能包括解碼該文件所必須的數(shù)據(jù),JPIP標(biāo)準(zhǔn)還是將其作為元數(shù)據(jù)倉(cāng)(metadata bin)。在一個(gè)實(shí)施例中,在元數(shù)據(jù)倉(cāng)中發(fā)送元數(shù)據(jù)(例如,“元數(shù)據(jù)倉(cāng)0(metadata bin0)”)。概要包括一些直接從JPM文件120復(fù)制的框,以及代替許多框的占位符框(尤其是較大的框包含代碼流,典型地是這些框是媒體數(shù)據(jù)框(mdat)或連續(xù)代碼流框)。除了“元數(shù)據(jù)倉(cāng)0”之外,服務(wù)器101發(fā)送回客戶機(jī)100呈現(xiàn)所期望的區(qū)域所需的其它框的部分(例如,代碼流)。服務(wù)器101利用客戶機(jī)高速緩沖存儲(chǔ)器模型(client cache model)130追蹤發(fā)送到客戶機(jī)100的信息,以便于當(dāng)客戶機(jī)100額外請(qǐng)求該JPM文件的部分時(shí),不必重新發(fā)送信息。
客戶機(jī)100接收對(duì)請(qǐng)求110的響應(yīng)111并將其存儲(chǔ)于高速緩沖存儲(chǔ)器(cache)150中。利用JPM解碼器160,客戶機(jī)100從高速緩沖存儲(chǔ)器150解壓縮對(duì)顯示該區(qū)域所必須的代碼流,組合該代碼流以及任何來(lái)自該文件的不變的彩色對(duì)象(color object),并且顯示所呈現(xiàn)的圖像170。
基于用戶輸入(或主動(dòng)地),客戶機(jī)100可以隨后產(chǎn)生對(duì)JPM文件的不同區(qū)域、或不同比例尺、或不同頁(yè)面的新的請(qǐng)求(未示出)。服務(wù)器101檢查該新的請(qǐng)求,可能會(huì)中斷當(dāng)前響應(yīng),選擇適合于該新響應(yīng)的數(shù)據(jù),以及發(fā)送適合于該新響應(yīng)但之前未發(fā)送的數(shù)據(jù)。
元數(shù)據(jù)倉(cāng)及占位符框概覽數(shù)據(jù)倉(cāng)(Databins)由JPIP服務(wù)器返回的數(shù)據(jù)被作為消息發(fā)送。這些消息是來(lái)自一個(gè)特定數(shù)據(jù)倉(cāng)的字節(jié)的集合。在一個(gè)實(shí)施例中,每條消息包含一個(gè)報(bào)頭,該報(bào)頭識(shí)別出該消息的內(nèi)容所來(lái)自的數(shù)據(jù)倉(cāng)的類型以及這種類型的數(shù)據(jù)倉(cāng)的編號(hào),本文指的是“in class id”。在一個(gè)實(shí)施例中,有四種類型的數(shù)據(jù)倉(cāng)元數(shù)據(jù)、主報(bào)頭、標(biāo)題、和區(qū)域(precinct)。元數(shù)據(jù)和主報(bào)頭數(shù)據(jù)倉(cāng)由基于標(biāo)題(JPT-stream)和基于區(qū)域(JPP-stream)的JPIP服務(wù)器使用。標(biāo)題類型的數(shù)據(jù)倉(cāng)包含用于JPT-stream會(huì)話的JPEG 2000代碼流的部分。區(qū)域類型的數(shù)據(jù)倉(cāng)包含用于JPP-stream會(huì)話的JPEG 2000代碼流的部分。該文件格式信息由元數(shù)據(jù)倉(cāng)提供,該文件格式信息是文件中的所有非代碼流數(shù)據(jù)。服務(wù)器101可以決定如何把一文件劃分成僅受一些限制的元數(shù)據(jù)倉(cāng)。在JPIP標(biāo)準(zhǔn)的第A.3小節(jié)中描述了這些限制。
在一個(gè)實(shí)施例中,在文件等級(jí)上的每個(gè)框在元數(shù)據(jù)倉(cāng)0中,或者在元數(shù)據(jù)倉(cāng)0中有用于該框的占位符框。下面所描述的占位符框指示用于任何不包括在元數(shù)據(jù)倉(cāng)0中的框的元數(shù)據(jù)倉(cāng)。
占位符框在JPIP標(biāo)準(zhǔn)的第A.3.6.3小節(jié)中定義了占位符框。當(dāng)通過(guò)網(wǎng)絡(luò)發(fā)送占位符框并將其存儲(chǔ)在客戶機(jī)上時(shí),該占位符框代替來(lái)自原始文件的框。由于占位符框是框,因此占位符框開(kāi)始于以長(zhǎng)度和類型,該類型是‘plhd’。該占位符框也包含原始框長(zhǎng)度和類型。因而,接收占位符框的客戶機(jī)100知道被取代信息的類型。該占位符框還包含用于該原始框的內(nèi)容的元數(shù)據(jù)倉(cāng)編號(hào)。該元數(shù)據(jù)倉(cāng)可以對(duì)客戶機(jī)100無(wú)效。事實(shí)上,在許多情況下,客戶機(jī)100并沒(méi)有獲得該原始框的內(nèi)容,從而節(jié)約了帶寬。典型地,如果元數(shù)據(jù)倉(cāng)與請(qǐng)求相關(guān),則服務(wù)器101發(fā)送該元數(shù)據(jù)倉(cāng)的內(nèi)容。
在一個(gè)實(shí)施例中,該占位符框包含額外的信息。一條可選的信息是代碼流ID編號(hào)。該編號(hào)被JPIP用來(lái)利用JPT-stream或JPP-stream(因此為標(biāo)題數(shù)據(jù)倉(cāng)或區(qū)域數(shù)據(jù)倉(cāng))代替使用元數(shù)據(jù)倉(cāng)來(lái)傳送代碼流數(shù)據(jù)。
用于請(qǐng)求和響應(yīng)的JPIP/JPM協(xié)議元件請(qǐng)求元件在一個(gè)實(shí)施例中,針對(duì)頁(yè)面區(qū)域的典型請(qǐng)求看起來(lái)像GET/two_page.jpm fsiz=370,218&rsiz=370,218&cid=16807&context=jpmp<2>HTTP/1.1Host:www.example.com注意上面兩行格式由http和JPIP協(xié)議使用;然而,更通常的做法是把請(qǐng)求表示成單行統(tǒng)一資源定位符URL,并且本申請(qǐng)其余部分將采用這種做法。瀏覽器自動(dòng)地把來(lái)自用戶輸入或html鏈接的一行URL翻譯成用于通過(guò)信道進(jìn)行傳輸?shù)亩嘈姓?qǐng)求。上述請(qǐng)求有等同的URLhttp://www.example.com/two_page.jpm fsiz=370,218&rsiz=3770,218&cid=16807&context=jpmp<2>
除了用于指示期望頁(yè)面編號(hào)的“context=jpmp<2>”之外,該請(qǐng)求的所有元件都和普通JPIP相同。在JPIP標(biāo)準(zhǔn)中定義了“context=”請(qǐng)求字段并定義該字段用來(lái)支持JPX和MJ2。對(duì)JPIP標(biāo)準(zhǔn)的Amendment 1(修正1)擴(kuò)展了用于JPM文件的context字段的使用。
除了頁(yè)面編號(hào)之外,還支持請(qǐng)求特定布局對(duì)象和掩碼(mask)或圖像區(qū)域的能力。在一個(gè)實(shí)施例中,利用請(qǐng)求中指定的信息實(shí)現(xiàn)這種能力。以BNF方式給出了該請(qǐng)求語(yǔ)法的一種實(shí)施例jpm-context="jpmp""<"jpm-pages">"[jpm-objects]jpm-pages=[jpm-page-collection":"]jpm-sampled-rangejpm-objects="["jpm-object-range"]"jpm-page-collection=object-idjpm-sampled-range=page-object-range[":"sampling-factor]page-object-range=1#(object-id["-"[object-id]])jpm-object-range=UINT-RANGE":"jpm-object-type/UINT-RANGE/":"jpm-object-typejpm-object-type="mask"/"image"/"nostrm"object-id=UINT/DQUOTE TOKEN DQUOTEDQUOTE=%x22在這種語(yǔ)法中,請(qǐng)求掩碼對(duì)象的一個(gè)例子是context=jpmp<0>[1-3:mask]在這種情況下,服務(wù)器被請(qǐng)求返回對(duì)應(yīng)于第一頁(yè)面上前三個(gè)布局對(duì)象中的掩碼對(duì)象的所有數(shù)據(jù),其在上述語(yǔ)法中編號(hào)為“0”。該請(qǐng)求包括呈現(xiàn)所期望的區(qū)域所必須的所有的框,例如頁(yè)面框、布局對(duì)象框、以及由這些對(duì)象所引用的任意代碼流。
因而,沒(méi)有視窗的請(qǐng)求可能看起來(lái)像jpip://www.example.com/file.jpm context=jpmp<"figures":2-3>[1-:mask]其將請(qǐng)求“figures”頁(yè)面集合的第2和3頁(yè)上的所有掩碼對(duì)象。
一個(gè)更典型且簡(jiǎn)單的請(qǐng)求可能就是來(lái)自主頁(yè)面集合的第2頁(yè)http://www.example.com/file.jpm context=jpmp<2>
對(duì)于修正JPIP的最簡(jiǎn)單的使用,允許做出對(duì)于呈現(xiàn)一單頁(yè)所需要的所有項(xiàng)目的請(qǐng)求。更復(fù)雜的使用僅允許請(qǐng)求一些布局對(duì)象或一種類型的對(duì)象。在一個(gè)實(shí)施例中,jpm-context包含用于特定頁(yè)面的請(qǐng)求;它可能也包含用于頁(yè)面集合、布局對(duì)象列表以及對(duì)象類型的說(shuō)明。
如果未提供頁(yè)面集合,則假定為來(lái)自JPM文件的主頁(yè)面集合。如果指定一個(gè)字符串,則該字符串對(duì)應(yīng)于目標(biāo)JPM文件中的頁(yè)面集合框的標(biāo)號(hào)。
頁(yè)面范圍是jpm-context的所需部分。頁(yè)面范圍可能是“0-,其將指定頁(yè)面集合中的所有頁(yè)面。在一個(gè)實(shí)施例中,通過(guò)對(duì)頁(yè)面集合和JPM文件中的頁(yè)面進(jìn)行深度優(yōu)先搜索,并將編號(hào)0分配給到達(dá)的第一頁(yè)面,1分配給下一頁(yè)面,依此類推,對(duì)頁(yè)面進(jìn)行編號(hào)。
如果jpm-context沒(méi)有jpm-object-range項(xiàng)目,則認(rèn)為其是對(duì)應(yīng)于除了縮略圖之外的頁(yè)面上所有對(duì)象的“1-”。jpm-object-range指示請(qǐng)求jpm-page-range的所有頁(yè)面上的哪個(gè)布局對(duì)象。
如果jpm-context沒(méi)有jpm-object,則除了理解掩碼及圖像的定位和組合所必須的其它框之外,還須請(qǐng)求掩碼和圖像。如果jpm-object-type是“mask”,則僅掩碼對(duì)象是該請(qǐng)求所感興趣的。如果jpm-object類型是“image”,則僅圖像對(duì)象是感興趣的。如果jpm-object-type是“nostrm”,則僅未包含代碼流的框是感興趣的。
如果jpm-context參數(shù)出現(xiàn)在沒(méi)有幀尺寸請(qǐng)求(fsiz)的請(qǐng)求中,則幀尺寸值fx和fy設(shè)置成頁(yè)面寬度和頁(yè)面高度。如果jpm-context參數(shù)出現(xiàn)在沒(méi)有區(qū)域尺寸請(qǐng)求(rsiz)的請(qǐng)求中,則區(qū)域尺寸值rx和ry設(shè)置成幀尺寸值fx和fy(如果必須的話,在fx和fy已被設(shè)置為頁(yè)面寬度和高度之后)。
確定請(qǐng)求的代碼流當(dāng)使用jpm-context參數(shù)時(shí),請(qǐng)求對(duì)應(yīng)于獨(dú)立應(yīng)用于每個(gè)頁(yè)面的視窗。幀尺寸值fx和fy映射到如由JPM標(biāo)準(zhǔn)的頁(yè)面報(bào)頭框的Pwidth和Pheight元件所指定的頁(yè)面寬度和高度。
在一個(gè)實(shí)施例中,當(dāng)且僅當(dāng)下列所有都為真時(shí),頁(yè)面內(nèi)的布局對(duì)象視為請(qǐng)求的一部分ox′<=LHoff+LWidthox′+sx′>=LHoffoy′<=LVoff+LHeightoy′+sy′>=Lvoff其中ox′=ox*Pwidth/fxoy′=oy*Pheight/fysx′=sx*Pwidth/fxsy′=sy*Pheight/fy并且fx、fy、ox、oy、sx和sy由視窗請(qǐng)求給定,LHoff、LVoff、LHeight和LWidth來(lái)自JPM標(biāo)準(zhǔn)的布局對(duì)象報(bào)頭框。
在一個(gè)實(shí)施例中,為頁(yè)面的縮略像保留布局對(duì)象0,當(dāng)且僅當(dāng)0包括在jpm-object-range中時(shí),將不管視窗而將該布局對(duì)象視為請(qǐng)求的一部分。
確定代碼流視窗參數(shù)客戶機(jī)被視為已請(qǐng)求和與視窗相交的掩碼和圖像相關(guān)聯(lián)的任意代碼流。換句話說(shuō),在這種情況下,服務(wù)器認(rèn)為那些對(duì)象是客戶機(jī)正請(qǐng)求的。如果沒(méi)有用JPEG 2000壓縮該代碼流,則請(qǐng)求是用于整個(gè)代碼流的。如果用JPEG2000壓縮代碼流,則可以通過(guò)如下的方式將頁(yè)面上的請(qǐng)求窗映射到對(duì)象上的請(qǐng)求窗,為特定的代碼流確定等價(jià)的視窗fx′=fx*Lwidth/Pwidthfy′=fy*Lheight/Pheightox′=MAX(ox-LHoff*fx/Pwidth,0)oy′=MAX(oy-LVoff*fy/Pheight,0)sx′=MIN(ox+sx-LHoff*fx/Pwidth,Lwidth*fx/Pwidth)-ox′sy′=MIN(oy+sy-LVoff*fy/Pheght,Lheight*fy/Pheight)-oy′因此,服務(wù)器把JPM文件上的一個(gè)請(qǐng)求映射到JPEG 2000代碼流上的一個(gè)或多個(gè)請(qǐng)求。在一個(gè)實(shí)施例中,JPEG 2000代碼流上的請(qǐng)求具有JPIP語(yǔ)法,類似于File.jp2 fsiz=fx′,fy′&roff=ox′,oy′&rsiz=sx′,xy′其中初始值,例如ox′,用整數(shù)ascii表示法代替。
注意,如果JPEG 2000文件包含分辨率高于該頁(yè)面的數(shù)據(jù),則為了獲得全分辨率JPEG 2000代碼流,必須發(fā)出具有比該頁(yè)面的寬度和高度大的值的幀尺寸請(qǐng)求。替代地,客戶機(jī)可以確定代碼流的編號(hào),并用適當(dāng)選定的視窗直接發(fā)出對(duì)該代碼流的請(qǐng)求。
響應(yīng)元件在一個(gè)實(shí)施例中,服務(wù)器以如JPIP標(biāo)準(zhǔn)的第A.3.6小節(jié)中定義的元數(shù)據(jù)倉(cāng)進(jìn)行響應(yīng)。該文件的頂級(jí)出現(xiàn)在元數(shù)據(jù)倉(cāng)0中。一些框,尤其是包含代碼流的大框用占位符框代替。對(duì)于除了JPEG 2000的代碼流來(lái)說(shuō),如果請(qǐng)求需要該代碼流,則發(fā)送整個(gè)代碼流??梢韵衿渌a流一樣通過(guò)簡(jiǎn)單地從文件復(fù)制,或者通過(guò)使用用于JPP-stream或JPT-stream的數(shù)據(jù)倉(cāng)(占位符框指示以這種方式提供的每個(gè)代碼流的代碼流編號(hào)),發(fā)送所需的JPEG 2000代碼流。
注意,如果JPM服務(wù)器修改了context請(qǐng)求(典型地是通過(guò)將其減小到一較低尺寸),則該JPM服務(wù)器包括“http”報(bào)頭行。JPM服務(wù)器也使用該報(bào)頭行來(lái)指示和該context-range相關(guān)聯(lián)的代碼流編號(hào)。
JPM服務(wù)器操作在一個(gè)實(shí)施例中,為了通過(guò)JPM服務(wù)器提供JPM文件服務(wù),可以創(chuàng)建一輔助布局對(duì)象信息文件,并將其存儲(chǔ)到和該JPM文件相同的目錄中。在下列段落中稱其為“JPM信息文件”。該文件包含該JPM文件中的全部布局對(duì)象的清單。對(duì)每個(gè)對(duì)象來(lái)說(shuō),存儲(chǔ)頁(yè)面編號(hào)、x-偏移、y-偏移和高度以及寬度,并將其用于確定該對(duì)象是否和請(qǐng)求相交。頁(yè)面尺寸也包括在該JPM信息文件中。另外,存儲(chǔ)用于每個(gè)布局對(duì)象的代碼流在JPM文件中的偏移。
圖2描述了JPM文件和JPM信息文件,以及用于特定JPM文件的JPM服務(wù)器內(nèi)容。參照?qǐng)D2,JPM文件服務(wù)器使用的表示法包括JPM框類型201、JPM框尺寸202、元數(shù)據(jù)倉(cāng)0203、以及可選地用于每個(gè)不同框的其它元數(shù)據(jù)倉(cāng),例如204。一個(gè)用于采樣JPM文件的信息文件210的例子示于圖2的下半部分。該例子文件的字段是頁(yè)面編號(hào)(本例中頁(yè)面編號(hào)從1而不是0開(kāi)始)、頁(yè)面寬度、頁(yè)面高度、布局對(duì)象編號(hào)、對(duì)象類型(掩碼,圖像,或者組合的掩碼圖像)、非代碼流、數(shù)據(jù)引用編號(hào)、文件中代碼流的偏移、LHoff、LVoff、LWidth和LHeight。
服務(wù)器利用文件中的對(duì)象列表來(lái)找出JPM文件中與客戶機(jī)請(qǐng)求中指定的區(qū)域相交的對(duì)象。在一個(gè)實(shí)施例中,如果所請(qǐng)求的縮放區(qū)域以任意方式和該對(duì)象相交,則服務(wù)器使用縮放視圖至頁(yè)面尺寸的函數(shù)并返回1。該確定需要頁(yè)面尺寸、對(duì)象位置、以及來(lái)自該對(duì)象列表文件的對(duì)象的內(nèi)容。
接著,服務(wù)器使用該對(duì)象列表來(lái)確定JPM文件的必須被發(fā)送以使客戶機(jī)能夠呈現(xiàn)指定區(qū)域的框。在一個(gè)實(shí)施例中,服務(wù)器通過(guò)使用該對(duì)象的數(shù)據(jù)引用編號(hào)以及進(jìn)入該文件的偏移來(lái)實(shí)現(xiàn)該操作。在一個(gè)實(shí)施例中,JPM服務(wù)器僅返回與產(chǎn)生請(qǐng)求所基于的文件相同的文件范圍內(nèi)的代碼流(即,僅那些數(shù)據(jù)引用編號(hào)為0的代碼流),并且客戶機(jī)提交一單獨(dú)的請(qǐng)求來(lái)接收來(lái)自于JPM文件之外的數(shù)據(jù)。
對(duì)于在JPM文件上的請(qǐng)求,服務(wù)器掃描所請(qǐng)求的文件,并為了內(nèi)部使用產(chǎn)生所有框及其位置的列表。任何連續(xù)代碼流都有為其創(chuàng)建的占位符框。對(duì)于元數(shù)據(jù)倉(cāng)和占位符框的細(xì)節(jié),參見(jiàn)JPIP標(biāo)準(zhǔn)的第A.3.6小節(jié)。
JPM服務(wù)器對(duì)于任意文件的第一請(qǐng)求返回元數(shù)據(jù)倉(cāng)0。該字節(jié)流或者包含所有的框,或者包含用于文件中每個(gè)頂級(jí)框的占位符框。在一個(gè)實(shí)施例中,JPM服務(wù)器僅用占位符框代替連續(xù)代碼流框。在另一個(gè)實(shí)施例中,用元數(shù)據(jù)倉(cāng)代替其它框。例如,所有大于一閾值尺寸的框可以被元數(shù)據(jù)倉(cāng)代替。當(dāng)大量元數(shù)據(jù)存儲(chǔ)在JPM文件中時(shí),可能出現(xiàn)這種情況。
圖2在左上方也示出了JPM文件的每個(gè)頂級(jí)框以及該框的尺寸。到該JPM文件的右邊,示出了元數(shù)據(jù)倉(cāng)0的內(nèi)容。在一個(gè)實(shí)施例中,JPM服務(wù)器并未完全在盤上或在存儲(chǔ)器中創(chuàng)建元數(shù)據(jù)倉(cāng)0。當(dāng)作為響應(yīng)的一部分發(fā)送是元數(shù)據(jù)倉(cāng)0的一部分的框時(shí),從原始JPM文件中復(fù)制這些框。在存儲(chǔ)器中為每個(gè)代碼流創(chuàng)建占位符框,并將其作為響應(yīng)的一部分進(jìn)行發(fā)送。
在圖2中也示出了用于JPM文件的JPM信息文件的內(nèi)容。在這種情況下的最大編號(hào)是進(jìn)入原始JPM文件的對(duì)象偏移。為了發(fā)送頁(yè)面1,JPM服務(wù)器找到頁(yè)面1上的所有對(duì)象,并為每個(gè)對(duì)象確定所需要的代碼流。由于從元數(shù)據(jù)倉(cāng)0中排除了代碼流,因此,JPM服務(wù)器為每個(gè)所需要的代碼流發(fā)送適當(dāng)?shù)脑獢?shù)據(jù)倉(cāng)。在圖2的例子中,需要元數(shù)據(jù)倉(cāng)1和3。
在一個(gè)實(shí)施例中,當(dāng)接收到在該服務(wù)器上沒(méi)有可用的JPM信息文件的JPM文件請(qǐng)求時(shí),JPM服務(wù)器自動(dòng)地產(chǎn)生該JPM信息文件??商娲氖牵?dāng)將一JPM文件添加到該服務(wù)器上時(shí),可以產(chǎn)生該JPM信息文件。替代地,服務(wù)器根本不必保存JPM信息文件,該信息可以集成到用于提供JPM文件服務(wù)的服務(wù)器代碼上。在這種情況下,當(dāng)打開(kāi)每個(gè)文件時(shí),服務(wù)器確定對(duì)象列表。有時(shí)候,信息文件已經(jīng)可用比解析一個(gè)大的JPM文件更為迅速。
在一個(gè)實(shí)施例中,由于JPM服務(wù)器追蹤所有所發(fā)送的元數(shù)據(jù)倉(cāng)的字節(jié)范圍,即使不同的布局對(duì)象使用相同的代碼流,也將僅發(fā)送一次數(shù)據(jù)。這是圖2中情況,其中多次使用了在偏移16229和1383處的代碼流。一些布局對(duì)象沒(méi)有代碼流(就JPM信息文件中的第6入口而言)。JPM服務(wù)器沒(méi)有對(duì)這些布局對(duì)象采取行動(dòng),在該布局對(duì)象內(nèi)提供了來(lái)自于這些布局對(duì)象所需的一切。如果服務(wù)器把頁(yè)面框分成多個(gè)數(shù)據(jù)倉(cāng),則JPM信息文件可以用于確定哪些元數(shù)據(jù)倉(cāng)也應(yīng)被發(fā)送。
在一個(gè)實(shí)施例中,JPM服務(wù)器基于圖像改進(jìn)的數(shù)量按順序發(fā)送對(duì)象。如上所述,JPM服務(wù)器確定和所請(qǐng)求的視窗相交的所有對(duì)象,并按其在文件中出現(xiàn)的順序返回這些對(duì)象。計(jì)算重疊的數(shù)量,并按和所請(qǐng)求的圖像最大重疊的順序返回這些對(duì)象。
在一個(gè)實(shí)施例中,JPM服務(wù)器提供元數(shù)據(jù)倉(cāng)之外的JPEG 2000代碼流。由于客戶機(jī)和服務(wù)器都支持局部JPEG 2000代碼流的傳輸,因此,以標(biāo)題數(shù)據(jù)倉(cāng)或者區(qū)域數(shù)據(jù)倉(cāng),而不是元數(shù)據(jù)倉(cāng)來(lái)發(fā)送這些代碼流。
JPM客戶機(jī)操作JPM客戶機(jī)管理用戶接口。在一個(gè)實(shí)施例中,接口包括允許訪問(wèn)多頁(yè)JPM文件的上一頁(yè)和下一頁(yè)的按鈕。也可以包括用于搖攝(pan)和縮放操作的按鈕以及其它用戶接口元件。
當(dāng)請(qǐng)求除了第一頁(yè)面之外的頁(yè)面時(shí),客戶機(jī)將“context=jpmp<n>”添加到查詢字符串中??蛻魴C(jī)將所有接收到的元數(shù)據(jù)倉(cāng)存儲(chǔ)到具有原始文件名稱的高速緩沖存儲(chǔ)器目錄中,+“.cache.j2c”+“mc”+元數(shù)據(jù)倉(cāng)的類+“.bin”+元數(shù)據(jù)倉(cāng)的類內(nèi)部id編號(hào)。JPIP標(biāo)準(zhǔn)的附件A指出了所有data bin類。元數(shù)據(jù)倉(cāng)是類8,并且JPM服務(wù)器按連續(xù)代碼流出現(xiàn)在文件中的順序?qū)in進(jìn)行編號(hào)。因而,在接收到用于“two_page.jpm”的第一頁(yè)的所有數(shù)據(jù)之后,JPM客戶機(jī)擁有具有下列文件的高速緩沖存儲(chǔ)器-rw-r--r-- 1gormish wheel 1623 21 Feb 10:37two_page.jpm.cache.j2c.mc8.bin0-rw-r--r-- 1gormish wheel 8804 21 Feb 10:37two_page.jpm.cache.j2c.mc8.bin1-rw-r--r-- 1gormish wheel 223 21 Feb 10:37two_page.jpm.cache.j2c.mc8.bin3這在圖3中圖示出。由于元數(shù)據(jù)倉(cāng)0包含有效的JPM框,因此文件的開(kāi)頭是JPM文件;然而,由于該JPM服務(wù)器用占位符框代替了一些框,因此,JPM頁(yè)面框中的文件偏移及其它文件偏移未指向文件中的正確位置。由于占位符框小于所代替的框,因此偏移將可能指向元數(shù)據(jù)倉(cāng)的外面,將不會(huì)指向正確的位置。并非所有由占位符框指向的元數(shù)據(jù)倉(cāng)都在客戶機(jī)上可用。
在一個(gè)實(shí)施例中,由于元數(shù)據(jù)倉(cāng)0中的框具有不正確的偏移,因此該JPM客戶機(jī)創(chuàng)建一新的偽JPM文件。為了創(chuàng)建該文件,復(fù)制來(lái)自元數(shù)據(jù)倉(cāng)0的正常的框,而用從JPM服務(wù)器接收的適當(dāng)?shù)脑獢?shù)據(jù)倉(cāng)的內(nèi)容代替占位符框。當(dāng)元數(shù)據(jù)倉(cāng)不可用或僅接收到部分元數(shù)據(jù)倉(cāng)時(shí),客戶機(jī)用所需長(zhǎng)度的0字節(jié)(或一些其它值)來(lái)填充該偽JPM文件。注意,從元數(shù)據(jù)倉(cāng)0中的占位符中可知該框的正確類型和長(zhǎng)度。現(xiàn)在,該偽JPM文件具有用于所出現(xiàn)的框的正確的偏移,但由于一些jp2c框未包含合法的代碼流,因此該偽JPM文件并不是一個(gè)“合法”的JPM文件。
假設(shè)該JPM服務(wù)器正確地發(fā)送所請(qǐng)求視窗所需要的全部代碼流,那么客戶機(jī)能夠解碼應(yīng)用于該頁(yè)所請(qǐng)求區(qū)域的所有位,并能顯示相同的信息,如同整個(gè)文件在JPM客戶機(jī)上處于可用狀態(tài)一樣。
如上所述,在一個(gè)實(shí)施例中,對(duì)于第一個(gè)請(qǐng)求返回除了連續(xù)代碼流之外的所有數(shù)據(jù)。如果元數(shù)據(jù)變得非常大,則除了元數(shù)據(jù)被請(qǐng)求時(shí)否則不返回元數(shù)據(jù)。
在一個(gè)實(shí)施例中,JPM解碼器處理丟失的數(shù)據(jù),并可能直接讀取占位符框。在這種情況下,并非必須為解碼形成一個(gè)大的“偽JPM”文件。服務(wù)器仍可以按相同順序傳遞項(xiàng)目和元數(shù)據(jù)倉(cāng)集合,但JPM解碼器必須計(jì)算出原始文件中偏移的位置,并轉(zhuǎn)換成元數(shù)據(jù)倉(cāng)中的位置。
在一個(gè)實(shí)施例中,JPM客戶機(jī)通過(guò)使用元數(shù)據(jù)倉(cāng)的外部引用重寫JPM文件的方式來(lái)處理丟失的數(shù)據(jù),而不管他們是否已被接收到。可以解碼已接收到的數(shù)據(jù)倉(cāng)。這將需要寫一不同于元數(shù)據(jù)倉(cāng)0的文件,但該文件充分地小于一個(gè)零填充文件。使用外部引用允許解碼器檢測(cè)外部文件上的時(shí)戳,以決定是否已更新代碼流,以及決定是否應(yīng)重新解碼代碼流。
在一個(gè)實(shí)施例中,除了頁(yè)面編號(hào)之外,JPM客戶機(jī)和JPM服務(wù)器還支持請(qǐng)求。例如,這些請(qǐng)求可以是用于頁(yè)面集合、頁(yè)面編號(hào)、布局對(duì)象、以及掩碼及圖像。
在一個(gè)實(shí)施例中,JPM客戶機(jī)和服務(wù)器支持分段表。如果使用了分段表,并且該分段表指定了內(nèi)部偏移,例如在‘mdat’框中,則JPIP服務(wù)器僅服務(wù)用于‘mdat’框的元數(shù)據(jù)倉(cāng)的一部分,該‘mdat’框包含代碼流,并且當(dāng)客戶機(jī)僅接收這些條時(shí),客戶機(jī)能夠解碼。
JPM解碼器及使用在一個(gè)實(shí)施例中,JPM客戶機(jī)把接收到的元數(shù)據(jù)倉(cāng)存儲(chǔ)到獨(dú)立的文件中,這是十分有效的,并且這也允許刪除不必要的數(shù)據(jù)。然而,如果JPM解碼器無(wú)法理解由JPIP使用的占位符框,則每次解碼的時(shí)候,復(fù)制所有接收到的數(shù)據(jù),另外,將0字節(jié)存儲(chǔ)到用于未接收到的數(shù)據(jù)的偽文件中。因而,客戶機(jī)可能使用兩倍于存儲(chǔ)在服務(wù)器上的原始文件尺寸的文件。
在一個(gè)實(shí)施例中,JPM解碼器和JPIP客戶機(jī)集成在一起。在這種情況下,它讀取占位符框,并使用該信息來(lái)糾正JPM文件中所有位置里的偏移。
在一個(gè)使用了獨(dú)立于JPIP的JPM解碼器的實(shí)施例中,任意元數(shù)據(jù)倉(cāng)的任意新信息導(dǎo)致要重新解碼所有需要的代碼流。由于給了JPM解碼器一個(gè)完全新的文件,并且無(wú)法區(qū)分出新、舊部分,因此,這是不可避免的。在一個(gè)實(shí)施例中,JPM解碼器直接使用占位符框和元數(shù)據(jù)倉(cāng),進(jìn)而探測(cè)具有新信息的元數(shù)據(jù)倉(cāng),以及需要重新解碼和組合的代碼流。
文檔綱要在一個(gè)實(shí)施例中,利用綱要文件,調(diào)整正跨越相對(duì)較慢的電子鏈接進(jìn)行傳送的材料的數(shù)量,對(duì)其處理方式類似于對(duì)文檔的處理方式,但其包含指針而不是代碼流。該綱要文件可以是一JPM文件。
JPM格式包括代碼流分段的概念。代碼流是頁(yè)面的某部分的壓縮圖像數(shù)據(jù)。分段是代碼流的連續(xù)小節(jié),其可以在文件內(nèi)在固定字節(jié)范圍內(nèi)找到。提供一頁(yè)面需要的代碼流分段可以被存儲(chǔ)到報(bào)頭相同的文件中,或者存儲(chǔ)到另一僅在橫跨某些網(wǎng)絡(luò)時(shí)可用的文件中。通過(guò)參照稱作數(shù)據(jù)引用框的引用表中的入口,識(shí)別出必須的代碼流分段,文件中的偏移和分段的長(zhǎng)度存儲(chǔ)在分段表框中。在一個(gè)實(shí)施例中,該JPM特性用于創(chuàng)建綱要文檔。這樣的文檔是完全有效的JPM文件,但僅具有需要提供本地文件中全部頁(yè)面的代碼流的一個(gè)小子集。不包括綱要文件中的大部分或全部代碼流,文件中僅包含引用。通過(guò)復(fù)制不具有任何所包括的代碼流的文檔結(jié)構(gòu),可以創(chuàng)建一綱要文件。為了從一完整的文檔中創(chuàng)建一綱要文檔,處理邏輯為源文檔中的每個(gè)代碼流創(chuàng)建分段表框(ftbl)和分段列表框(flst)。通過(guò)邏輯實(shí)現(xiàn)該處理,邏輯可能包括硬件(電路,專用邏輯,等等)、軟件(例如運(yùn)行在通用計(jì)算機(jī)系統(tǒng)或?qū)S脵C(jī)上的)、或者二者的組合。在一個(gè)實(shí)施例中,為代碼流選擇適當(dāng)?shù)膲K尺寸,并產(chǎn)生一分段列表,其被預(yù)分割成塊。該尺寸可能是便于進(jìn)行網(wǎng)絡(luò)傳輸?shù)墓潭〝?shù)目的字節(jié),或者它可以涉及代碼流的內(nèi)容,例如,對(duì)應(yīng)于JPEG 2000代碼流的標(biāo)題部分。
圖4是由客戶機(jī)或具有綱要文檔的用戶應(yīng)用可能采取的動(dòng)作的流程圖。圖5是一個(gè)文檔綱要的例子。參照?qǐng)D5,文檔綱要包括兩個(gè)分段表框(ftbl)501和502,每個(gè)分段表框包含具有兩個(gè)入口的單一分段列表框。兩個(gè)入口指向源文件中的代碼流數(shù)據(jù)。
參照?qǐng)D4,該處理開(kāi)始于接收或獲得一綱要文檔(處理塊401),例如圖5。當(dāng)讀取該綱要文檔時(shí),可以訪問(wèn)分段表框中的指針,并接收新代碼流數(shù)據(jù)的一個(gè)分段。通過(guò)在媒體數(shù)據(jù)框(mdat)中的文件末尾附加字節(jié),可以把該額外的代碼流數(shù)據(jù)移入本地文件(處理塊402)。處理邏輯更新該分段列表入口(例如參見(jiàn)塊501),以指向新的位置(處理邏輯403)。在一個(gè)實(shí)施例中,分段列表入口具有更改為本地文件中位置的偏移,并且數(shù)據(jù)引用入口也變成指示本地文件。當(dāng)分段列表入口尺寸固定時(shí),可以不必重新復(fù)制現(xiàn)有內(nèi)容而適當(dāng)重寫該文件。當(dāng)代碼流分段附加到一個(gè)或多個(gè)媒體數(shù)據(jù)框中的文件上時(shí),處理邏輯也立即越過(guò)所附加數(shù)據(jù)的末尾,寫入分段列表入口的原始內(nèi)容(處理塊404)??梢远啻沃貜?fù)處理塊402、403和404,以按任意順序把數(shù)據(jù)傳送到文件中。如果為文件中的所有外部分段重復(fù)這些操作,則將獲取包含所有需要的代碼流的文件,并且不需要訪問(wèn)源文件以提供任意部分。如果應(yīng)用程序希望恢復(fù)存儲(chǔ)器或盤空間,則通過(guò)重新存儲(chǔ)來(lái)自該位置的原始分段表入口以及刪除本地代碼分段,存儲(chǔ)在mdat框中的原始分段列表入口可以用于從文件中移除數(shù)據(jù)。
由于所有數(shù)據(jù)都附加到媒體數(shù)據(jù)框中的綱要文檔的末尾,并且分段列表入口是固定尺寸的,因此可以這么作,而不必重寫該文件的開(kāi)頭部分。重要的是,可以多次更新原始綱要文件,而不必重寫除了定長(zhǎng)分段列表入口之外的任意數(shù)據(jù)。在處理邏輯(404)完成之后的每個(gè)點(diǎn)處,一有效文件在本地是可用的。由于長(zhǎng)度不改變,因此可以在有限的存儲(chǔ)器中迅速處理這些更新。寫一個(gè)完全新的文件和刪除舊的文件的慣例是不必要的。
在傳送了足夠的代碼流之后,有效的JPM文件和大都指向本地文件的可讀初始頁(yè)一起出現(xiàn)。在一個(gè)實(shí)施例中,成像第一頁(yè),即使沒(méi)有網(wǎng)絡(luò)連通性,也允許評(píng)價(jià)其首頁(yè)(cover sheet)。在圖6中示出了具有一些存儲(chǔ)在本地的數(shù)據(jù)和一些仍存儲(chǔ)在源文件中的數(shù)據(jù)的JPM文件的例子。
在一個(gè)實(shí)施例中,圖5中的源文件是抽取出綱要文件的JPM文件。在另一個(gè)實(shí)施例中,代碼流可以在單獨(dú)的文件中,或者他們也可以包含在其它文件中,尤其是他們可以是PDF、或SVG、SMIL、或FlashPaper文件的一部分。
考慮如何最好地分段代碼流是有用的。一種方法是使用簡(jiǎn)單的固定尺寸分塊,其將進(jìn)行如JPEG和JBIG的相對(duì)簡(jiǎn)單的媒體編碼。然而,基于標(biāo)題尺寸和分辨率,JPEG 2000代碼流可能產(chǎn)生一指定的分段。通過(guò)選擇適當(dāng)?shù)姆侄我约皟H移動(dòng)和所需要的區(qū)域相關(guān)聯(lián)的那些代碼流分段,這樣的分段允許指定頁(yè)面、頁(yè)面區(qū)域、以及要裝載的分辨率。
本文所描述的綱要文檔具有下面幾個(gè)方面的優(yōu)點(diǎn)。第一,他們是有效的JPM文檔。而且,他們遠(yuǎn)小于一個(gè)完整的文檔,并能迅速傳送。他們可以用作文檔本地拷貝的高速緩沖存儲(chǔ)器,使部分代碼流保留在本地,以防網(wǎng)絡(luò)不可用??梢杂眯碌拇a流附加到文檔中,而不必完全重寫,這一點(diǎn)在存儲(chǔ)裝置的容量有限時(shí)可能很重要??梢詾榱擞行У貜?fù)制具有指定分辨率的完整的頁(yè)面分析代碼流分段??梢匀菀椎卮_定為了以特定分辨率顯示是否有足夠的信息在本地緩沖,并且可以產(chǎn)生所需要信息的最小集合的請(qǐng)求。當(dāng)綱要文檔通過(guò)通信信道流出時(shí),具有許多緩沖代碼流的文檔可以迅速削減成綱要。可以移除并替代文檔的緩沖代碼流數(shù)據(jù),允許有效且適當(dāng)?shù)毓芾砀咚倬彌_存儲(chǔ)器。
客戶機(jī)緩沖當(dāng)客戶機(jī)接收到部分JPM文件時(shí),可以完整地接收一些代碼流,可以完全不接收一些代碼流,以及可以部分地接收一些代碼流。在部分接收J(rèn)PEG2000代碼流的情況下,所接收到的數(shù)據(jù)可能對(duì)提供文件非常有用。例如,如果低分辨率數(shù)據(jù)用于創(chuàng)建顯示圖像,則已接收用于JPM文件的低分辨率信息,并正在低分辨率顯示裝置上提供JPM文件的客戶機(jī),不會(huì)在最終圖像中看到任何變化。
如果客戶機(jī)需要圖像的更高分辨率版本,可能由于圖像將在更高分辨率裝置上顯示,像打印機(jī),或由于用戶希望在圖像的一個(gè)區(qū)域上放大,則客戶機(jī)提交一個(gè)新的請(qǐng)求給服務(wù)器以獲取數(shù)據(jù)。由于其涉及和服務(wù)器的JPIP事務(wù)及其訪問(wèn)在那些事務(wù)中接收到消息報(bào)頭,因此客戶機(jī)知道需要更多的數(shù)據(jù)。然而,在某點(diǎn),客戶機(jī)和服務(wù)器之間的連接可能關(guān)閉,并且服務(wù)器可能丟棄來(lái)自于和客戶機(jī)一起的事務(wù)的狀態(tài)信息;在這種情況下,服務(wù)器將不再具有客戶機(jī)-高速緩沖存儲(chǔ)器模型。
以類似于保留用于多日的高速緩沖存儲(chǔ)器或直到達(dá)到某種存儲(chǔ)器極限的web客戶機(jī)的方式,客戶機(jī)可以把所有和與服務(wù)器一起的事務(wù)相關(guān)聯(lián)的文件保留到其高速緩沖存儲(chǔ)器中。保留數(shù)據(jù)允許用戶使用前面看過(guò)的數(shù)據(jù)。
然而,客戶機(jī)可能也希望以對(duì)“普通”解碼器有用的形式存儲(chǔ)接收到的圖像數(shù)據(jù),即不訪問(wèn)客戶機(jī)的事務(wù)性存儲(chǔ)器的解碼器,或知道如何處理像元數(shù)據(jù)倉(cāng)那樣的特定JPIP構(gòu)造的解碼器。
在一個(gè)實(shí)施例中,為了以對(duì)其它應(yīng)用程序有用的格式存儲(chǔ)JPIP-JPM高速緩沖存儲(chǔ)器文件,也為了允許客戶機(jī)恢復(fù)和服務(wù)器的交互而不必存儲(chǔ)額外的狀態(tài)信息,客戶機(jī)使用特定的JPM文件。該文件包含JPM文件的結(jié)構(gòu),如以頁(yè)面集合框、頁(yè)面框和布局對(duì)象框所表示的。一些或全部代碼流存儲(chǔ)在外部,在JPM文件的數(shù)據(jù)引用框中指定位置。這是用于JPM綱要文件的一般情形。然而,通常來(lái)講,綱要文件或者包括對(duì)盤上的本地文件或服務(wù)器上文件的引用,或者包括某些組合。
為了獲取存儲(chǔ)和互用性的益處,數(shù)據(jù)引用框中的值可以包含關(guān)于存儲(chǔ)在本地的JPEG 2000文件的部分,以及通過(guò)使用引用中的JPIP高速緩沖存儲(chǔ)器模型語(yǔ)法存儲(chǔ)在服務(wù)器上的部分的信息。
例如,假設(shè)服務(wù)器example.com提供了JPM文件document.jpm,其包含或使用了稱為image1.j2k的JPEG 2000代碼流,并且客戶機(jī)已經(jīng)由JPIP接收了該文件的一部分并將其存儲(chǔ)在本地文件image1_cache.j2k中??蛻魴C(jī)可以用該格式的數(shù)據(jù)引用框中的引用來(lái)存儲(chǔ)其document.jpm版本jpip://example.com/image1.j2k fsiz=1024,1024&rsiz=1024,1024&model=t*r0-2:L4在‘ ’之后的部分是JPIP語(yǔ)法;開(kāi)始于‘model=’的JPIP語(yǔ)法的部分指示客戶機(jī)具有用于請(qǐng)求窗口中的所有標(biāo)題(t*)的分辨率級(jí)別0、1和2(r0-2)的前4個(gè)質(zhì)量層(L4)。因而,當(dāng)檢查該文件時(shí),解碼器知道已經(jīng)接收了文件的一部分,即由高速緩沖存儲(chǔ)器模型語(yǔ)句所指示的部分。解碼器將在可能存儲(chǔ)來(lái)自服務(wù)器example.com的“image1.j2k”的位置尋找該文件的本地部分(正如如果產(chǎn)生為該圖像的新請(qǐng)求時(shí)它將做的一樣)。通過(guò)檢查模型說(shuō)明來(lái)確定數(shù)據(jù)是否是當(dāng)前的模型語(yǔ)句,解碼器將確定是否需要文件的更多內(nèi)容(這要比檢查整個(gè)文件更迅速)。如果解碼器需要更多來(lái)自JPEG 2000代碼流的數(shù)據(jù)(也許由于其要進(jìn)行打印),則該引用可以用作一個(gè)對(duì)服務(wù)器的請(qǐng)求,以獲取該數(shù)據(jù)。
這種引用類型對(duì)基于標(biāo)題部分的JPT-stream尤其有用。在這種情況下,高速緩沖存儲(chǔ)器文件可以是從服務(wù)器接收到的數(shù)據(jù)的串聯(lián),并且也可以附加任何來(lái)自跟隨請(qǐng)求(follow up request)的額外數(shù)據(jù)。引用除了使用了“tpmodel”而不是“model”之外看起來(lái)是相同的。例如,像jpip://example.com/image1.j2k fsiz=1024,1024&rsiz=1024,1024&tpmodel=0.0-5.1這樣的數(shù)據(jù)引用入口指示了在高速緩沖存儲(chǔ)器文件中出現(xiàn)了來(lái)自前6個(gè)標(biāo)題的標(biāo)題部分0和1。出于包括“tpneed”和“need”的類似目的的考慮,可以使用其它高速緩沖存儲(chǔ)器模型JPIP語(yǔ)法。
另一種可能是使用數(shù)據(jù)引用來(lái)指示高速緩沖存儲(chǔ)器中的文件。下面是一個(gè)例子file:/my_browser_cache/image1_cache.j2k fsiz=1024,1024&rsiz=1024,1024&tpmodel=0.0-5.1在本實(shí)施例中,到原始服務(wù)器的鏈接已丟失。然而,這可能對(duì)一個(gè)沒(méi)有計(jì)劃產(chǎn)生額外請(qǐng)求并且不知道用于所緩沖文件的默認(rèn)位置的解碼器是有用的。在另一個(gè)實(shí)施例中,URL用于本地文件,但使用JPIP目標(biāo)字段來(lái)指定服務(wù)器上的位置。例如,file:/tmp/cache1.jpm target=www.example.com/server_dir/original_file.jpm&fsiz=1024,1024&rsiz=1024,1024&tpmodel=0.0-5.1當(dāng)傳送文件時(shí),JPM尤其有用。例如,當(dāng)客戶機(jī)裝置獲取一文件并告訴JPM解碼器其是特定尺寸時(shí),JPM解碼器將解碼文件。客戶機(jī)裝置可以決定不去執(zhí)行任何網(wǎng)絡(luò)訪問(wèn),并僅用其具有的信息呈現(xiàn)文件。然而,如果客戶機(jī)決定傳送其所具有的文件到另一個(gè)客戶機(jī),則該客戶機(jī)可以進(jìn)行網(wǎng)絡(luò)訪問(wèn),并僅請(qǐng)求其所具有的文件拷貝中仍沒(méi)有的信息。
PDF/JPM操作在一個(gè)實(shí)施例中,JPM文件可以包含一個(gè)或多個(gè)PDF文件。圖7示出了一種這樣的例子。參照?qǐng)D7,示出的JPM文件700具有多個(gè)框,這些框通常對(duì)一個(gè)JPM文件從開(kāi)始包括,簽名框(jp)、文件類型框(ftyp)、復(fù)合圖像標(biāo)題框(mhdr),頁(yè)面框(頁(yè)面)、頁(yè)面集合框(pcol)701。替代連續(xù)代碼流框(jp2c),該JPM文件使用包含分段列表框(flst)的分段表框(ftbl),其包含對(duì)代碼流的偏移。JPM閱讀器將讀取文件到媒體數(shù)據(jù)框(mdat)702,并使用來(lái)自分段列表框的偏移來(lái)訪問(wèn)代碼流。然而,媒體數(shù)據(jù)框?qū)嶋H上包含一個(gè)完整的PDF文件703。該P(yáng)DF文件包含包括JPEG 2000代碼流704和JBIG2代碼流705的PDF對(duì)象。在這種安排下,PDF文件703是一個(gè)合法的PDF文件。即,如果移除JPM文件700的其它部分,則可以利用諸如Adobe Acrobat之類的PDF閱讀器讀取及打開(kāi)PDF文件703。然而,JPM文件本身按照和其它JPM文件相同的方式進(jìn)行操作,允許使用信息和JPM標(biāo)題以及頁(yè)面信息701來(lái)訪問(wèn)JPEG 2000代碼流704和JBIG代碼流705。沒(méi)有JPEG 2000和JBIG代碼流的副本。注意,JPM文件中框的特定順序只是一個(gè)例子,許多其它順序也是可以的。尤其是,MDAT框可以出現(xiàn)在更接近文件的開(kāi)頭,當(dāng)訪問(wèn)作為PDF文件的文件時(shí),這允許服務(wù)器能更迅速地跳過(guò)JPM部分。為了保留合法的JPM文件,在順序上有一些限制,例如,文件類型框必須緊跟JPEG 2000簽名框。
PDF文件可以包含一個(gè)或多個(gè)JPM文件。圖8描述了包含一JPM文件的PDF文件的例子。參照?qǐng)D8,PDF文件801包括JPEG 2000代碼流802,JBIG2代碼流803和PDF附件804。PDF附件804包括不包含任何代碼流的JPM“綱要”文件??商娲氖?,JPM文件包含提供PDF文件的名稱的數(shù)據(jù)引用框‘dtbl’。JPM文件也包含具有分段列表框的分段表框。分段列表框包含JPEG 2000和JBIG2代碼流的PDF文件范圍內(nèi)的偏移。在PDF文件800中,JPM標(biāo)題和頁(yè)面信息805出現(xiàn)在PDF文件的末尾,但項(xiàng)目可能依賴于PDF文件的定義而存儲(chǔ)在不同位置。如果JPM文件拷貝自PDF文件,但數(shù)據(jù)引用框內(nèi)的引用仍指向PDF文件,則獨(dú)立的JPM文件可以定位并使用PDF文件范圍內(nèi)的代碼流。雖然在圖中示出JPM文件占去大量空間,但是沒(méi)有代碼流的JPM文件的實(shí)際文件尺寸一般遠(yuǎn)小于代碼流。
在一個(gè)實(shí)施例中,服務(wù)器提供對(duì)來(lái)自一個(gè)文件的兩種格式的訪問(wèn)。因此,響應(yīng)接收來(lái)自于一裝置的請(qǐng)求,經(jīng)由請(qǐng)求中的信息或通過(guò)先前和客戶機(jī)交換的信息,服務(wù)器了解客戶機(jī)裝置的容量,可以利用單一文件來(lái)給客戶機(jī)裝置提供所需要的信息,從而使客戶機(jī)裝置顯示和/或處理文檔。例如,如果智能服務(wù)器了解客戶機(jī)裝置具有Acrobat Reader,但卻不能處理JPM信息,則該智能服務(wù)器可以訪問(wèn)諸如JPM文件700之類的文件,并丟棄那些與JPM報(bào)頭相關(guān)的部分,從而留下可以提供給客戶機(jī)裝置的PDF文件703。類似地,如果由客戶機(jī)請(qǐng)求的文件是諸如PDF文件800之類的PDF文件,并且智能服務(wù)器知道請(qǐng)求該文件的客戶機(jī)裝置無(wú)法接受PDF文件,則智能服務(wù)器可以提供包括JPM報(bào)頭和頁(yè)面信息805、JPEG 2000代碼流802和JBIG代碼流803的JPM文件信息給客戶機(jī)裝置。
圖9示出了PDF文件901,以及一獨(dú)立的JPM文件902。這種環(huán)境可以用在服務(wù)器上,以保持隨時(shí)準(zhǔn)備提供PDF文件和JPM文件這兩者的服務(wù),而這時(shí)僅把代碼流保持在PDF文件中。當(dāng)如圖8中所示,從PDF文件拷貝出JPM文件時(shí),可能出現(xiàn)這種情況。當(dāng)客戶機(jī)已通過(guò)網(wǎng)絡(luò)接收到JPM綱要文件,但PDF文件仍在服務(wù)器上時(shí),也可能出現(xiàn)這種情況。
如果客戶機(jī)能夠接收J(rèn)PM文件和JPIP數(shù)據(jù)倉(cāng),則服務(wù)器可以響應(yīng)對(duì)局部文檔內(nèi)容的請(qǐng)求。使用JPM文件報(bào)頭和各個(gè)框,服務(wù)器可以選擇需要的頁(yè)面和代碼流,并把這些封裝進(jìn)元數(shù)據(jù)倉(cāng)、標(biāo)題數(shù)據(jù)倉(cāng)和區(qū)域數(shù)據(jù)倉(cāng)中。客戶機(jī)不必知道服務(wù)器上的格式實(shí)際上是PDF文件,還是包含PDF文件的JPM文件。
如果服務(wù)器上的格式是包含PDF文件的JPM文件,則該文件的PDF部分可以作為元數(shù)據(jù)傳遞給客戶機(jī)。然后客戶機(jī)可以從接收到的JPM數(shù)據(jù)倉(cāng)中重建PDF文件??蛻魴C(jī)上的文件可以重新扮演雙重角色,PDF和JPM閱讀器都可以使用。
示例性計(jì)算機(jī)系統(tǒng)圖10是一個(gè)示例性計(jì)算機(jī)系統(tǒng)的方框圖,該系統(tǒng)可以實(shí)現(xiàn)本文所描述的一個(gè)或多個(gè)操作。參照?qǐng)D10,計(jì)算機(jī)系統(tǒng)1000可以包括一個(gè)示例性客戶機(jī)或服務(wù)器計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)可以是一多功能外設(shè)(MFP)的一部分,其充當(dāng)用于上面所描述的JPIP/JPM文件的服務(wù)器,或者一個(gè)充當(dāng)客戶機(jī)的MFP。
計(jì)算機(jī)系統(tǒng)1000包括用于傳送信息的通信機(jī)構(gòu)或總線1011,以及為了處理信息而和總線1011耦合的處理器1012。處理器1012包括微處理器,但不限定于微處理器,例如,PentiumTM、PowerPCTM,AlphaTM,等等。
系統(tǒng)1000進(jìn)一步包括隨機(jī)訪問(wèn)存儲(chǔ)器(RAM),或其它動(dòng)態(tài)存儲(chǔ)裝置1004(稱為主存儲(chǔ)器),其為了存儲(chǔ)由處理器1012執(zhí)行的信息和指令,耦合到總線1011上。主存儲(chǔ)器1004也可以用于存儲(chǔ)在處理器1012執(zhí)行指令期間產(chǎn)生的臨時(shí)變量或其它中間信息。
計(jì)算機(jī)系統(tǒng)1000還包括耦合到總線1011上的只讀存儲(chǔ)器(ROM)和/或其它靜態(tài)存儲(chǔ)裝置1006,用于存儲(chǔ)用于處理器1012的靜態(tài)信息和指令,以及一種諸如磁盤或光盤及其對(duì)應(yīng)的磁盤驅(qū)動(dòng)器的數(shù)據(jù)存儲(chǔ)裝置1007。數(shù)據(jù)存儲(chǔ)裝置1007耦合到總線1011上,用于存儲(chǔ)信息和指令。
計(jì)算機(jī)系統(tǒng)1000可以進(jìn)一步耦合到顯示裝置1021上,例如陰極射線管(CRT)或液晶顯示器(LCD),其耦合到總線1011上,用于對(duì)計(jì)算機(jī)用戶顯示信息。一個(gè)包括字母數(shù)字及其它鍵的字母數(shù)字輸入裝置1022也可以耦合到總線1011上,以用于和處理器1022進(jìn)行通信信息及命令選擇。附加的用戶輸入裝置為光標(biāo)控制器1023,諸如鼠標(biāo)、軌跡球、軌跡板、筆或光標(biāo)方向鍵,其耦合到總線1011上,以用于和處理器1012通信方向信息以及命令選擇,也為了在顯示器1021上控制指針移動(dòng)。
另一種可以耦合到總線1011的裝置是硬拷貝裝置1024,其可以用于在諸如紙、膠片之類的介質(zhì)上或類似類型的介質(zhì)上標(biāo)記信息。另一種可以耦合到總線1011上的裝置是與電話或手持palm裝置通信的有線/無(wú)線通信能力裝置1025。
需要注意的是,系統(tǒng)1000的任意組件或全部組件以及相關(guān)聯(lián)的硬件可以用于本發(fā)明。應(yīng)該了解,計(jì)算機(jī)系統(tǒng)的其它配置方式可以包括該裝置的一些或全部部分。
在閱讀前面的描述之后,本發(fā)明的許多替換和修改對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)無(wú)疑是顯而易見(jiàn)的,應(yīng)理解通過(guò)圖示方式示出和描述的任意特定實(shí)施例決不會(huì)被認(rèn)為是對(duì)本發(fā)明的限定。因此,參照各種實(shí)施例的細(xì)節(jié)也不是用于限定權(quán)利要求的保護(hù)范圍,權(quán)利要求本身僅敘述那些被認(rèn)為是本發(fā)明所必須的特征。
本發(fā)明不限定于具體公開(kāi)的實(shí)施例,可以對(duì)本發(fā)明做出變化和修改,而不會(huì)脫離本發(fā)明的范圍。
權(quán)利要求
1.一種方法,其特征在于接收對(duì)文檔的頁(yè)面的區(qū)域的請(qǐng)求,該請(qǐng)求是從客戶機(jī)發(fā)起的;確定和所述頁(yè)面的區(qū)域相交的源文件中的一個(gè)或多個(gè)對(duì)象,該源文件具有兩個(gè)或多個(gè)代碼流;以及發(fā)送具有文件中的信息的子集的響應(yīng)。
2.如權(quán)利要求1中所定義的方法,其中所述源文件是JPM文件。
3.如權(quán)利要求1中所定義的方法,其中所述請(qǐng)求使用JPIP語(yǔ)法。
4.如權(quán)利要求1中所定義的方法,進(jìn)一步包括訪問(wèn)輔助信息文件,該輔助信息文件包含所述源文件中的至少一個(gè)對(duì)象的位置信息。
5.如權(quán)利要求4中所定義的方法,其中所述輔助信息文件包含所述源文件中的至少一個(gè)對(duì)象的頁(yè)面信息、頁(yè)面上的空間位置信息、以及文件中的數(shù)據(jù)位置信息。
6.如權(quán)利要求5中所定義的方法,其中所述信息來(lái)自于JPM文件中的至少兩個(gè)不同的框。
7.如權(quán)利要求4中所定義的方法,其中訪問(wèn)所述輔助信息文件中的信息包括確定與所請(qǐng)求的所述頁(yè)面的區(qū)域相交的所述源文件中的一個(gè)或多個(gè)布局對(duì)象。
8.如權(quán)利要求1中所定義的方法,其中所述源文件包含用于多種文件類型的結(jié)構(gòu)化信息,并且進(jìn)一步包括基于所述請(qǐng)求發(fā)送該多種類型中的一種類型的結(jié)構(gòu)化信息。
9.如權(quán)利要求1中所定義的方法,進(jìn)一步包括提供對(duì)所述文件的JPM部分和所述文件的PDF部分這兩者的訪問(wèn)。
10.如權(quán)利要求1中所定義的方法,其中所述源文件是包含有效PDF文件的JPM文件。
11.如權(quán)利要求1中所定義的方法,其中所述源文件是包含JPM文件的PDF文件。
12.如權(quán)利要求1中所定義的方法,其中所述源文件是包含允許客戶機(jī)開(kāi)始JPIP交互的URL的PDF文件。
13.一種服務(wù)器,其特征在于網(wǎng)絡(luò)接口,用于接收對(duì)文檔的頁(yè)面的區(qū)域的請(qǐng)求,該請(qǐng)求是從客戶機(jī)發(fā)起的;以及處理器,用于確定與所述頁(yè)面的區(qū)域相交的源文件中的一個(gè)或多個(gè)對(duì)象,其中該源文件具有兩個(gè)或多個(gè)代碼流,所述服務(wù)器產(chǎn)生要通過(guò)網(wǎng)絡(luò)接口發(fā)送的響應(yīng),該響應(yīng)具有文件中的信息的子集。
14.一種計(jì)算機(jī)系統(tǒng),其特征在于服務(wù)器,包括接收對(duì)文檔的頁(yè)面的區(qū)域的請(qǐng)求,該請(qǐng)求是從客戶機(jī)發(fā)起的;確定與所述頁(yè)面的區(qū)域相交的源文件中的一個(gè)或多個(gè)對(duì)象,該源文件具有兩個(gè)或多個(gè)代碼流;以及發(fā)送具有文件中的信息的子集的響應(yīng)。
全文摘要
公開(kāi)的本發(fā)明的方法包括接收對(duì)文檔的頁(yè)面的區(qū)域的請(qǐng)求,該請(qǐng)求是從客戶機(jī)發(fā)起的;確定與該頁(yè)面的區(qū)域相交的源文件中的一個(gè)或多個(gè)對(duì)象,該源文件具有兩個(gè)或多個(gè)代碼流;以及發(fā)送具有文件中的信息的子集的響應(yīng)。
文檔編號(hào)H04N1/21GK101031013SQ20071009233
公開(kāi)日2007年9月5日 申請(qǐng)日期2007年2月28日 優(yōu)先權(quán)日2006年2月28日
發(fā)明者邁克爾·戈?duì)柮资? 愛(ài)德華·施瓦茨, 庫(kù)爾特·皮索爾 申請(qǐng)人:株式會(huì)社理光