CN1578370A - 部分文档图像的网络访问 - Google Patents
部分文档图像的网络访问 Download PDFInfo
- Publication number
- CN1578370A CN1578370A CN200410063745.9A CN200410063745A CN1578370A CN 1578370 A CN1578370 A CN 1578370A CN 200410063745 A CN200410063745 A CN 200410063745A CN 1578370 A CN1578370 A CN 1578370A
- Authority
- CN
- China
- Prior art keywords
- file
- box
- jpm file
- jpm
- page
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- 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/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
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/645—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Storing Facsimile Image Data (AREA)
- Processing Or Creating Images (AREA)
Abstract
描述了一种响应于一个或多个请求而通过网络传输部分文档图像的方法和设备。在一个实施例中,该方法包括接收对JPM文件各部分的多个请求,并响应于该多个请求而部分传输JPM文件。
Description
技术领域
本发明涉及通过网络或其他通信信道传输部分文档图像的领域;更具体地,本发明涉及响应于请求而部分传输JPM文件。
背景技术
JPEG 2000
图1A-D图示了由典型JPEG 2000***执行的操作。参考图1A,原始图像可分为规则的瓦片(tile),例如瓦片101。这些瓦片独立压缩。因此,来自左上瓦片的编码数据足以重建该图像的左上部分。同样,通过获得来自贯穿该区域的所有瓦片的数据并解码它们,可重建任何区域。
对每一瓦片执行二维小波变换。这导致以子带(subband)例如子带102分组的小波系数集。这些子带之一是该图像的低分辨率版本——其恰好是与通过对整个图像执行特定低通滤波以及二次抽样而获得的图像相同的图像。重要的是,该子带可与其他子带组合以形成该图像的中分辨率版本。这在图1C中示出。由此,JPEG 2000码流以低分辨率、水平和垂直大2倍因子的分辨率、直至该图像的完全分辨率,提供对该图像的访问。
该小波变换系数重新分组或划分为“管区(precinct)”,例如图1B所示。这些管区形成访问图像的空间区域的可选机制。当压缩图像时,可使用瓦片和管区。如果两者都使用,则瓦片提供对该图像区域的粗粒度访问,同时管区提供对更局部化区域的访问。
最后,管区被分为码块,并且从最高有效位开始并向较低有效位继续,多遍压缩这些小波系数组。这在图1D中示出。这些“编码遍数”以无损耗的方式去除了统计冗余。例如,用短得多的代码代替多个0位。固定尺寸的小波系数块由此变为可变长度的编码数据段。该段的第一部分是最重要的部分,因为其对应于小波系数的最高有效位。如果该编码数据段的较后部分对于解码器不可用,则仍可获得图像,但其质量较低。
“码流”在JPEG 2000部分1中定义为包括由数据跟随的一连串本质上为两字节代码的“标记段”,用于识别该码流中的下一数据位。该码流包括该图像的所有熵编码数据、和描述将用于解码该编码数据的方法的数据。例如,该码流包括关于使用的小波变换的信息、瓦片尺寸、管区尺寸、关于分辨率数目的信息、文件中数据包(packet)的顺序等。该码流必须包含将熵编码数据解码为图像样本所需要的所有参数。该码流也可包含用来提供对编码数据的快速访问的信息,例如数据包的长度。
“文件格式”是一个或多个码流的包装。JPEG 2000部分1定义了简单的“JP2”文件格式。JPEG 2000部分2定义了“JPX”格式以存储更复杂的信息。JPEG 2000部分3定义了用于运动JPEG 2000的“MJ2”文件格式。
文件格式典型提供与码流中包含的图像数据关联的“元数据”,例如音频、XML信息、图像捕获条件。该文件格式通常还包括关于解码图像数据的颜色空间的信息。
JPEG 2000部分6定义了用于复合文档的“JPM”文件格式。也存在不是由JPEG 2000委员会定义的可包含JPEG 2000码流的文件格式。PDF最近已被更新以支持JPEG 2000码流。PDF和JPM都是用于多页文档的良好文件格式。
JPIP
JPIP代表JPEG 2000交互式协议并将成为国际标准ISO/IEC 15444-9。JPEG委员会仍继续致力于该文档,该文档现在接近于最后草案阶段。当前文档为“15444-9(JPIP)FCD Study Text 0.1”ISO/IEC JTC1 SC29/WG1 N2396。
JPIP定义了客户端可用来向服务器请求部分图像的语法。JPIP也定义了服务器可用来返回部分JPEG 2000文件或码流的两个新“媒体类型”。JPIP的关键方面在于其是交互式的。由此,可接连请求来自相同图像的更多数据,并且所返回的数据不必重复客户端已接收的数据。
JPIP请求
JPIP定义了作出请求时可由客户端使用的几个参数。这些请求表示客户端感兴趣的子图像。这些请求也可提供关于客户端感兴趣的元数据的信息和控制该服务器给出的响应类型的信息。对本文来说,这些参数中最重要的是帧尺寸、区域偏移、和区域尺寸。
帧尺寸参数在几个例子中出现为“fsiz=128,128”,并表示客户端希望用来访问一个区域的整个图像的尺寸。如果没有区域尺寸参数(如下所述),则该帧尺寸就是客户端想要的图像尺寸。例如,作为512×512样本并用4级小波变换编码的图像可用512×512、256×256、128×128、64×64或32×32的帧尺寸访问。在对服务器的第一请求中,客户端可能不知道实际可用的帧尺寸。在该情况下,该客户端可表示期望尺寸和舍入方法,而该服务器将返回最接近的可用尺寸(将依比例决定其他参数以匹配实际使用的帧尺寸)。
区域偏移参数可用作“roff=64,64”,并表示客户端不对整个图像感兴趣,而仅对从该请求中给出的两个值所指定的偏移开始的区域感兴趣。该偏移相对于请求帧尺寸。
区域尺寸参数可用作“rsiz=64,64”,并表示客户端期望的区域尺寸。代替提供三种参数fsiz、rsiz、和roff,客户端可采用“roi”参数表示对文件或服务器定义的感兴趣区域(ROI)的兴趣。roi参数可用于请求在文件格式盒(box)之一中指定的带名称区域。该值可通过“roi=dynamic”设置为“动态”,表示服务器将基于任何有关客户端的知识来选择适当区域。
响应
JPIP响应可采用三种主要形式:完全图像文件、也称为JPT-流的瓦片部分流、或也称为JPP-流的管区流。完全图像文件返回类型本质上类似于返回基于请求产生的自定义文件。这两种流返回类型是由一连串小“消息”组成的复合响应。每一消息具有报头,用于指定其类型、该类型内的其索引、具有该类型和索引的“数据柜(data-bin)”中的消息的偏移、和该消息的长度。可以认为,“数据柜”代表客户端可能请求的关于服务器上的资源的所有信息。响应于单一请求,服务器可传递几个不同数据柜的一部分。该消息典型地不包含完整数据柜;相反它们包含还没有发送到客户端的数据柜的下一部分的一部分。小消息尺寸允许图像不同部分的数据交织,并由此由客户端指定的区域的质量可均匀增加。同样,图像数据可与元数据交织。提供每一消息的长度允许在任何消息的结尾平滑地终止流。这允许服务器在同一通信信道上停止响应一个请求并开始响应新请求。
JPM
JPM旨在提供对文档图像的存储。JPM与一般用于包含以JPEG 2000压缩的图像的其他文件格式相比的关键好处之一在于处理大量页面的能力。事实上,对JPM标准的介绍描述了使用JPM来存储整个百科全书。因为包含其他文件的能力,所以可存在存储百科全书各页的许多文件,但有可能用户代理步进所有必要文件而从第1页到末尾“浏览”。
JPM文件中的所有数据出现在“盒(box)”中。盒是始终包含长度和类型的组织单元。根据这两个字段,访问该文件的任何程序或用户可确定类型。如果该类型不为解码器理解或不为特定任务所需要,则该程序或用户可使用该长度来定位下一盒。在不知道所有盒类型的情况下,可有效解码或使用许多文件。一些盒仅出现在其他盒内部。再一次,可以使用长度字段来跳过当前任务未知或不需要的盒,而不管该盒是以“文件级”出现还是位于另一盒的内部。一些盒包含表示从文件开头到某数据通常是另一盒或压缩码流的一部分的字节数的数据值。这些数据值经常称作“指针”,因为它们表示别的东西的位置。这些数据值也经常称作“偏移”,因为它们表示从文件开始的字节距离。
重要盒
该JPM文件允许使用许多不同盒类型。下面更详细地描述一些特定盒。
数据引用盒
数据引用盒列出了完全解码当前文件所需的所有外部文件。数据引用盒提供了对于完全利用该JPM文件可能所需的所有其他文件的列表,并用作为外部数据段提供短2字节代码的方式。利用JPM文件外的数据的JPM文件中的其他数据仅包括数据引用id号,其是该外部引用列表中的号码。只有数据引用盒包括到另一文件的实际“路径”或“URL”(其可能相当长,并的确具有不同长度)。该特性使得易于通过仅更新一个盒而改变从一个文件到另一个文件的外部引用。
连续码流盒
连续码流盒包含完整的码流。通过利用普通JPM解码器而解码该码流以创建掩码或图像对象。该码流盒自己不表示码流的目的;但其他盒可包括对连续码流盒的引用。由此,相同码流可用于可能不同页上的多个对象。
片断表盒
片断表盒是为布局对象码流寻址的替换方式。尽管连续码流盒必须依次包含整个码流,但片断表盒允许码流在不同位置存储为每个称为片断的小分段。该片断表盒包含码流的片断列表。每一片断必须相邻,但是通过串连所有经常不连续的片断而获得该全码流。这些片断可存储在与片断表盒相同的文件中或在数据引用盒中列出的外部文件中或两者之中。相同文件中的片断一般在媒体数据盒中。
页集盒和页表盒
页集盒是对JPM文件中的页进行分组的方式。页集盒包含作为页列表的页表盒和其他页集盒。通过包含其他页集,可代表很大的“文档”。例如,最高级别的页集可代表“库”,其页集的每一个代表“书”,并且每一个下一级别页集代表章,并且最终页集盒列出该章中的页。该页集和页表盒中不包含图像数据;它们仅包含到页盒的指针。
页盒和页报头盒
页盒包含一组其他盒,这些其他盒包括页报头盒以及该页的布局对象盒。页报头盒包含关于该页的信息:宽度、高度、方向、和颜色。
布局对象盒和布局对象报头盒
布局对象盒包括布局对象报头盒、对象盒、和可选的附加盒。布局对象报头盒包含具有关于布局对象的信息的字段:标识符、高度、宽度、(图像数据的)水平和垂直偏移、和风格。
对象盒和对象报头盒
对象盒包括对象报头盒和可选的附加盒。对象报头盒包含具有关于对象(掩码或图像)的信息的字段。这些字段是:类型、码流指示符、(图像数据的)水平和垂直偏移、连续码流盒或片断表盒的偏移、连续码流或片断表盒的长度、和允许通过在文件中别处存储的数据引用盒来访问其他文件的数据引用号。本文的最重要元素是码流盒的偏移和长度,因为需要访问这些元素来表现图像。
共享数据条目盒
共享数据条目盒设计成包含在文件中反复使用的盒。该盒包括id值和共享数据。不同于在JPM文件中的不同地方多次包含一个盒,可使用共享数据引用盒,并且将使用共享数据条目盒中的数据。通过标准可预期内容将为盒。然而,共享数据条目盒中的数据可以是任何东西,因为除非使用共享数据引用盒,否则它将不被读取。
共享数据引用盒
共享数据引用盒仅包括所有盒所包含的长度和类型字段、以及id字段。id字段用于标识应在共享数据引用盒的位置代替共享数据引用盒使用的共享数据条目盒。例如,如果在一个文件的多页中使用相同布局对象,则可能在共享数据条目盒中存储一次布局对象报头盒,然后在一般包含布局对象报头盒的完全拷贝的每一页盒的每一布局盒中,可代替使用共享数据引用盒。共享数据引用盒使用的共享数据条目盒必须出现在与共享数据引用盒相同的文件中,并且在具有同一id的任何共享数据引用盒之前。
JPM文件结构
图5示出了表示盒和偏移的详细信息的示例性JPM文件的略述。该文件对应于在下述图4的左侧示出的两页文档的可能编码。图5按照盒在文件中出现的顺序,每行示出文件中的一盒。在图5的左手边开始的盒名称出现在JPM文件的顶层。缩进的盒名称代表作为靠近图5的左侧的它们之上的第一盒的子盒的盒。示出了需要的盒,但是没有示出许多可选盒以避免使本发明模糊。在盒名称后的线上示出了盒内的一些字段名称,并以斜体字在图5中出现。尽管示出了包含偏移的许多字段名称,但是根本没有示出大多数字段名称。这些包含偏移的字段名称与指向偏移去处的箭头一起示出。
除了指向基本页集盒的指针之外,图5中的具体文件具有指向当前对象之外的对象的所有偏移。这是合法的顺序,但不作要求。例如,共享数据条目盒可紧跟复合图像报头盒,片断表盒可跟随共享数据条目盒,页盒可跟随片断表盒和连续码流盒,和/或页集盒可最后出现。以这一次序,所有偏移将为文件中已出现的项目。注意尽管偏移已画为指针,但它们实际上是距离文件开头的偏移,而不是距离文件当前位置的偏移。由此,指向基本页集盒的所有指针具有相同值。
在图5中,每一文本类似对象已用单一码流编码并在连续码流盒中存储。每一图像类似对象已用JPEG 2000编码,并且JPEG 2000码流已***为一对共享数据条目盒,并用片断表盒寻址。
图6示出了与图5类似的信息,除了没有示出文件的特定次序(由于这可能改变),而仅示出了文件项层的盒以外。示出的指针通常深入嵌套在图5所示的顶层盒内部而出现。然而,图6允许更明白地图示文件的“结构”。通过考虑文件中的顶层文件盒和总体结构可理解在JPM客户端服务器中执行的许多操作。图6还具有在媒体数据盒而不是共享数据条目盒中存储的码流。
如果JPM文件中存储的偏移为盒的第一字节,则箭头被示出为指向盒的顶部。如果JPM文件中存储的偏移为盒的内容,并由此指向码流的字节而不是包含盒,则箭头示出为指向盒的侧面。在这种情况下,不同偏移可能寻址盒中的不同点。例如,具有两个指向媒体数据盒的箭头的片断表盒将典型地对于每一片断寻址媒体数据盒的不同范围。
发明内容
描述了一种响应于一个或多个请求而通过网络传输部分文档图像的方法和设备。在一个实施例中,该方法包括接收对JPM文件各部分的多个请求,并响应于该多个请求而部分传输JPM文件。
附图说明
通过以下给出的详细描述以及本发明的各种实施例的附图将更全面地理解本发明,然而其不将本发明限制为特定实施例,而仅是为了解释和理解。
图1A-1D图示了JPEG 2000***的操作。
图2图示了用于压缩图像通信的客户端和服务器。
图3图示了示例网络。
图4图示了被解析用于显示的具有布局对象的文档图像。
图5图示了作为具有指针的一列盒的JPM文件。
图6图示了一个JPM文件的主要文件结构。
图7图示了具有被包含码流的多个JPM文件的交互式访问。
图8图示了具有外部码流的多个JPM文件的交互式访问。
图9图示了一个JPM文件和外部码流的交互式访问。
图10图示了利用字节范围发送的部分文件的交互式JPM访问。
图11图示了元数据柜的交互式JPM访问。
具体实施方式
描述了响应于一个或多个请求而通过网络传输部分文档图像,尤其与JPM文件关联的部分文档图像的技术。因为JPM文件很适于存储具有几页图像数据的文件,并因为可以打印分辨率存储图像数据,所以该文件可能很大。经常地期望仅观看一部分数据。例如,可期望观看页的子集、仅仅页的一部分、或页的一部分的低分辨率版本。下面描述如何存储大JPM文件以利于访问部分文档,客户端如何发出对部分文档的请求,以及服务器可能如何响应请求。在许多情况下,为了避免向客户端发送太多数据并由此延迟观看(或使用)期望数据部分的能力,可由服务器创建新文件。
在以下描述中,阐明了许多细节以提供对本发明的更全面的解释。然而,本领域普通技术人员应明白无需这些特定细节也可实现本发明。在其他例子中,为了避免使本发明模糊,以方框图形式而非详细示出了公知结构和装置。
下面详细描述的一些部分是按照计算机存储器中的数据位操作的算法和符号表示来提供的。这些算法描述和表示是数据处理领域的技术人员用来更有效地将他们的工作实质传达给本领域的其他技术人员的手段。算法在这里一般设计成导致期望结果的前后一致步骤序列。这些步骤是需要物理量的物理操纵的步骤。通常但不必要,这些量采取能够存储、传输、组合、比较、和进行其他操纵的电或磁信号的形式。已证实,主要是为了通用的原因,作为位、值、元素、符号、字符、条件、数字等等引用这些信号有时是方便的。
然而应记住所有这些和类似术语将与合适的物理量关联,并仅是施加到这些量的方便标签。除非另外根据以下讨论所明白的特别声明,应理解通过该描述,利用诸如“处理”或“计算”或“演算”或“判定”或“显示”等的术语的讨论是指计算机***或类似电子计算装置的动作和处理,其操纵和转换计算机***的寄存器和存储器内的表示为物理(电子)量的数据成为计算机***存储器或寄存器或其他信息存储、传输或显示装置中的类似表示为物理量的其他数据。
本发明还涉及用于执行其中的操作的设备。该设备可根据需要而特别构建,或其可包括由该计算机存储器储的计算机程序选择性激活或重新配置的通用计算机。这样的计算机程序可存储在计算机可读存储介质或通过网络传递,例如但不限于任何类型盘包括软盘、光盘、CD-ROM、和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、或适于存储电子指令并均与计算机***总线耦接的任何类型的介质。
这里提出的算法和显示不固有地与任何具体计算机或其他设备相关。各种通用***可与根据本发明的程序一起使用,或者可证明构造专用设备来执行所需方法步骤是方便的。以下描述中将出现多种这些***的需要结构。另外,不参照任何具体编程语言来描述本发明。应理解可使用多种编程语言来实现这里所述的本发明的内容。
机器可读介质包括以机器(例如计算机)可读的形式存储或传输信息的任何机制。例如,机器可读介质包括只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光存储介质;闪存装置;电、光、声或其他形式的传播信号(例如载波、红外信号、数字信号等);等等。
客户端、服务器、和网络
图2图示了用于压缩图像通信的客户端服务器***。参照图2,服务器202典型具有整个图像,或至少提供对其具有的图像部分的访问。这些图像作为JPM文件存储在存储器232中。服务器202通过某种网络、或其他通信信道连接到至少一个客户端,例如客户端201。在一个实施例中,客户端201是由人用户例如用户205控制的“程序”。在替换实施例中,客户端201包括自动***。
客户端201发出对图像的某子集的请求,例如请求210,并接收包含以某种方式与该请求对应的压缩图像数据的响应,例如响应211。因为网络宽度、服务器202的资源、或所请求文件的结构,所以客户端201可能接收比所请求图像的部分大或小的数据。客户端201典型发出对该图像的不同部分的附加请求,并接收增加先前接收的数据的更多编码数据。
客户端201在高速缓存221中存储该图像的不同部分。JPM解码器222具有单独或一起解码在该高速缓存221中存储的JPM文件的不同部分的能力,以产生被表现的图像223。服务器202存储作为客户端201的高速缓存221的模型的客户端高速缓存模型231,以向服务器202表示客户端201已具有该图像的哪些部分。
图3图示了示例网络。示例网络典型具有多个客户端和多个服务器。单一服务器可服务相同图像的不同部分至无数个不同客户端。单一客户端可从几个服务器接收图像和其他数据(例如HTML页面)。代理服务器可在该网络中以允许对一些请求的快速响应,而无需联系原始服务器。可用带宽和带宽成本可在不同客户端和同一服务器之间、或在不同服务器之间相差很大。
最常用的网络是因特网或万维网(WWW),但是这里描述的技术可应用到局域网(LAN)或任何一般互连***。同样,在一个实施例中,在超文本传输协议(HTTP)“上”传输压缩文档。然而,这里描述的技术可以与其他传输协议包括例如TCP/IP和UDP一起使用。一些技术是按照HTTP描述的,但是可容易地修改到其他协议。
图4图示了两页复合文档、请求和响应。参照图4,该两页文档401存储在服务器上。文档401的页1具有三个布局对象411-413。该客户端不需要所有文档401,尤其如果文档401大于客户端具有的可用显示尺寸。例如,该客户端可为具有有限显示尺寸的个人数字助理(PDA)并可能仅需要该页1的上半部分。所以,客户端以最大分辨率640×480发送对页1的上半部分的请求421。注意请求421不指定布局对象。响应于此,该服务器产生包括具有一些布局对象的文件的响应422,并将该响应422发送到客户端。由此,该服务器判定哪些布局对象与该请求有关。这使得客户端能产生与部分页对应的具有较低分辨率的用于显示器431的图像。
部分JPM传送的技术
多种技术可用于传送JPM文件的一部分。响应于来自客户端的请求而作出该传送,并由访问该JPM文件的该部分及将该部分发送到客户端的服务器执行该传送。以下描述了请求部分文档的一个或多个示例请求语法、服务器上的JPM文件的一个或多个示例组织、和来自该服务器的响应的示例返回类型。
部分文档的请求语法
存在几个可能技术,用于客户端请求采用JPM格式存储的压缩文档的部分。以下描述了其中几个,但是返回部分文档的技术不依赖于作出请求的语法。简单假设存在请求部分文档的方式。在一个实施例中,可由请求语法指定的项目包括:期望页、一页上的期望区域、返回数据的期望分辨率、接收返回数据的期望方法、以及可能地已经接收的数据。
JPEG 2000部分6附件E
该JPM标准包括称为“Guidelines for Construction URLs for JPM Files”的附件。该附件提供了识别JPM文件的子元素的例子集。在JPM标准附件E中提供的完整例子集是:
foo.jpm?page=3&obj=32
foo.jpm?page=43&type=meta
foo.jpm?page=77&obj=19&type=meta&index=1
foo.jpm?page=91&type=meta&mtype=text
foo.jpm?label=album.html
foo.jpm?label=IPR-info&type=meta&index=2
foo.jpm?coll=toc
foo.jpm?coll=main
foo.jpm?coll=list-of-figs
foo.jpm?coll=list-of-tables
foo.jpm?coll=toc&page=31
foo.jpm?coll=main&page=7
foo.jpm?page=7
foo.jpm?
foo.jpm?page=3&type=img
foo.jpm=3&type=thumb
foo.jpm?off=12384&len=1024
以上所有这些例子用于访问名为“foo.jpm”的文件的一部分。
该附件中的语法为与当前的http请求相同的“名称=值”类型。该语法的元素为:page,obj,type,index,mtype,label,coll,off,和len。
“page”是指主页集中的页号,或者如果使用“coll”参数,则指其他页集之一。
“Obj”是指一页上的布局对象。
“Type”允许返回对象的元数据或图像数据。
“Index”允许返回第一个项目以外的项目。在一个例子中,请求具有标签“IPR-info”的第二元数据盒。
“Mtype”指定可能返回的元数据的不同类型。
“Label”是指可在JPM文件中的一些其他盒中使用的标签盒。如果客户端不知道文件中的页号或位置,如果知道某些标签,这允许访问。例如,该标签可能表示“图”,客户端可寻找所有“图”并找回其中具有文字“图”的标签盒的任何对象。(该布局可与页盒或对象盒关联。)]
“Coll”是指页集。
“Off”是指文件中的字节偏移。
“Len”是指在指定偏移期望的字节数。
JPEG 2000部分6附件E不指定对于任何这些请求应返回什么。在一种情况下,特别声明“这里不定义解码器的行为”。而且,不可能利用所描述的语法来请求一页的空间部分、或较低分辨率、或页的范围、或不是列出的那些的盒。下面描述这些请求的可能返回值。
部分6附件E扩展
为了使部分6中描述的语法更有用,在一个实施例中,以多种方式中的一种或多种扩展该语法。利用该附加语法,客户端能够以更多方式指定期望的内容。服务器识别该附加语法并能够响应该语法以向客户端提供所请求的文档数据。
在一个实施例中,该语法允许请求任何盒类型。这可能是重要的,因为例如获得任何盒类型对于访问一页中使用的具体码流是有用的。更具体地,在一个实施例中,添加“boxtype”参数作为一种概括上述当前“page”和“coll”参数的方式。“boxtype”的值可为盒的任何四字符类型字段。在URL的典型方法中可扩展不可打印的字符。例如,可用%xx代替特殊“不可打印”字符,其中xx是具体字符的数值代码。
因为JPM文件中的许多引用为文件中的偏移,所以能够请求以特定偏移开始的盒并得到该整个盒是有用的。在一个实施例中,为了这样做,“len”参数允许通过“len=boxlength”采取特殊值“boxlength”。在该情况下,提供以该请求的“off”参数中指定的偏移开始的盒。
因为具有小显示器的装置可能要求文档的低分辨率版本或仅该文档的某部分,所以,在一个实施例中,包括一些参数来指定这些版本或部分。JPIP中使用的“fsiz”、“rsiz”、和“roff”参数可被包括并用于该目的。“fsiz”参数用于指定整个页面应占据该显示装置的尺寸。“rsiz”和“roff”参数用于表示页中所请求图像的部分。例如,具有期望仅浏览一页的右上角的240×320屏幕的手持显示器可指定“fsiz=480,640&rsiz=240,320&roff=240,0”。
在一个实施例中,“index”或“page”参数包括对支持范围的扩充。这将允许一次访问多于一页。例如,请求
foo.jpm?page=1-5
foo.jpm?page=1&type=meta&index=1-5可能是有用的。后一个请求告诉服务器提供页1的元数据盒1-5中的数据。
在一个实施例中,扩展“boxtype”(或“page”或“coll”或“obj”)参数以包括子盒。例如,“boxtype=page/BCLR”可指定页盒的基本颜色子盒。
JPIP(JPEG 2000部分9)
JPEG 2000部分9采用超过30个“名称=值”参数规定扩展语法,这些参数被定义用来返回JPEG 2000码流和元数据的部分。例如,JPIP提供称为“subtarget”的参数,该参数允许JPIP服务器将该特定区域的请求仅施加到该文件的一部分。对于JPM,这可用于从JPM文件内部请求JPEG 2000码流的部分。例如,已接收页盒和关联对象盒的客户端可使用来自对象盒的偏移字段,以仅请求由该对象盒的偏移字段指向的JPEG 2000码流的一部分(例如左上角)。例如类似
“foo.jpm?subtarget=133224-&fsiz=1024,1024&rsiz=512,512&roff=0,0”的URL请求以足够分辨率传送以文件foo.jpm的字节偏移133224开始的码流的左上角,以用1024×1024样本创建该对象的全图像。
在一个实施例中,客户端使用具有整数值或“scope-token”的JPIP的“stream”参数来指定特定页上特定图像的特定码流。“scope-token”被保留用于ISO定义,但如果定义合适,则可允许对于与“页5,布局对象3,图像”关联的码流发出请求。
JPIP请求语法的一个缺点是对于区域和分辨率的请求施加到单一码流而不是一页。如果期望一页的上半部分,并且码流仅出现在该页的上半部分,则应由服务器返回该码流的整个图像的JPM数据,而不仅是该码流的上半部分。假设客户端具有页盒,然后可创请求以获得该页上每一码流的正确部分。尽管JPM利用JBIG、JBIG2和其他压缩标准,但是JPIP不支持非JPEG 2000码流。
JPM的JPIP扩展
为了使JPIP语法对于文档图像更有用,可以对其进行扩展。
在一个实施例中,扩展该JPIP语法以添加“页”请求参数,以与描述区域的参数一起工作。当使用“页”参数时,“fsiz”、“rsiz”、和“roff”参数施加到该页,而不是该页中的单独码流。该服务器由此可接受该页的请求,并将其适当转换为该页上对象的期望区域。
其他可能语法
当然存在许多可能的请求语法。可使用JPEG 2000部分6和JPEG 2000部分9中建议的语法的一些组合。而且,可使用基于XML的语法来访问图像的部分。这可能基于JPIP语法但排列为合法XML。这对于能变为提供部分文档访问的通用方式的“万维网服务”很有用。
这里描述的用于返回JPM文件的部分的技术不依赖于用于请求的确切语法。
服务器上JPM文件的组织
存在利用JPM文件存储复合文档的许多方式,其允许解码出完全相同的完整文档。这些区别与文件中信息的顺序、能完成类似目的的替换盒类型的使用、外部文件的使用、和分配像素到不同布局对象等等有关。这些变化的每一个能影响特定解码器的总体解码速度、查找部分文档的容易度、总文件尺寸、以及其他因素。文件结构的一些特定选择对客户端服务器操作有利。
外部文件存储
被解码以形成掩码或图像对象的码流能存储在连续码流盒或媒体数据盒、或共享数据条目盒中的JPM文件内。码流也能存储在JPM文件外的文件中。因为该JPM文件能表示码流以该文件中的某一偏移在另一文件中,所以可以各种方式包装码流。码流可在JP2文件内,码流可在具有许多其他码流但没有报头数据的文件中,或者码流可仅为外部文件的内容。在JPM文件中存储码流的一个优点是它们不能通过典型文件***操作例如拷贝而从文件中分离。如果其存储为单一文件,也可能用单一请求得到整个文档。在外部存储码流的一些优点是可在多个文档之间共享码流,例如公司标志或信头仅需存储一次。
而且,利用外部存储,可能以许多方式请求该码流。对指向单独文件中的码流的JPM文件的一些请求可使得文件被返回。可替换地,客户端可直接请求外部文件。外部文件存储也可能不同地保护复合文档的不同部分。例如,不能允许一些客户端访问一些文件,或者可加密一些文件。
片断表对连续码流盒
存储码流时服务器能作出的另一选择是在连续码流盒中存储文件、或采用片断表盒指向码流。使用连续码流盒是最简单的方案,因为码流全在一起。这可能对服务器有好处,因为它将不需要为了访问该码流而照看该文件(或甚至其他文件)中的许多不同地方。然而,利用片断表盒允许在外部存储码流,并且即使其存储在JPM文件中,也允许该码流被划分。码流可被划分为通常一起访问的多个部分。可给予该划分一些典型含义,例如第一片断为低分辨率,第二片断为中分辨率,并且最后一个片断为高分辨率。
共享数据条目盒中的码流存储
利用片断表盒寻址的码流可处于任何文件中的任何偏移。如果它们在合法JPM文件中,则它们可存储在媒体数据盒、空闲盒、共享数据条目盒、以及连续码流盒中。码流甚至可隐藏在其他盒类型中,例如标签盒、XML盒、UUID盒、或甚至辅助页盒中,但是不推荐它,因为它可引起一些JPM解码器的问题。最典型的存储可能是媒体数据盒,并且特定码流可出现在一个或多个媒体数据盒中。如果该码流不必用于解码图像,则在空闲盒中存储码流可能是有用的。不实现包含有用信息的空闲盒的编辑器可丢弃它。只有当仅将一些含义分配给索引时,在共享数据条目盒而不是媒体数据盒中存储码流才可能是有用的。
利用固定含义的数字是有利的。例如,索引可分配到每一共享数据条目盒。然后,解码器可仔细检查该JPM文件并仅基于索引号而去除文件中的一些盒,并留下其他盒,而无需解码共享数据条目盒中的任何信息。
返回类型
一次返回全图像
在一个实施例中,客户端通过接收能被解压和显示的完全压缩图像作为对部分图像请求的回答而接收对该请求的响应。
在极端情况下,服务器可在存储器中解压完全文档图像,将其减少到客户端期望的页数、区域、和分辨率,重新压缩该图像(作为JPM文件或作为例如JPEG或PDF的其他一些格式),并将其发送到该客户端。尽管该方法允许与客户端上的旧解压缩器的向后兼容性,但是其具有一些缺点。服务器上将存在极高的计算负担(一次全解压、一次部分压缩)。而且,其不利用JPM文件的特性。而且,其不是有效的,因为具有很多重叠图像数据的随后请求将导致一些相同编码数据的重发。然而,其是有利的非常简单的方案。
使客户端上的事情简单的另一个方案是服务器“解析”全JPM文件并收集与客户端的某一请求相关的所有盒。不解码图像数据,但在发送前丢弃不必要的页、码流,包括码流的高分辨率部分。为了制作可易于解码的文件,服务器取出需要发送的部分,并通过调整对文件中的新位置的任何引用并且消除指向外部文件的所有指针而形成新JPM文件。页计数和一页上的对象数目可调整为完成客户端请求所需要的那些页和对象。
对于一个请求形成一个新JPM文件仍然允许客户端的非常简单的动作,即解码接收的文件。而且,可看出返回数据的部分对于随后的请求可能是有用的。
每一请求的新JPM文件
图7示出了以与图6相同的方式绘出、客户端响应于三个请求而可能接收的三个不同文件。客户端响应于第一请求接收的第一文件是图7的左边示出的完全自包含JPM文件。在对更多数据作出后继(第二)请求之后,客户端接收在图7的中间示出的第二JPM文件。该文件包含来自第一文件的一些盒的重复。在该情况下,重复JPEG 2000签名盒、文件类型盒、复合图像报头盒、和页集盒。然而,该新文件中的页盒包含指向三个对象的指针,而不是仅仅两个。由该页盒寻址的第一码流存储在服务器先前发送到该客户端的JPM文件中。到其他文件的偏移需要数据引用盒处于该文件顶层的某处,并且这在图7的中间的底部示出。
第二JPM文件利用在第一响应中发送的码流的部分;然而,其通过在当前文件的媒体数据盒中包含附加数据来扩展该码流。由此,该片断表盒寻址来自先前响应的一个片断,以及来自当前文件的一个片断。
当作出第三个请求时,第三个响应包括新JPM文件。该文件利用先前接收的文件并再次包括其他信息。在图7的右侧示出的例子中,第一页盒利用先前发送的数据,同时第二页盒包含新码流。如果该用户从一页翻滚到下一页,这将是典型的。
注意尽管图7看上去似乎在各个响应之间重复大量盒,并仅利用少数几个先前发送的盒,但重复的盒是相对小的。可用至多几千字节发送JPEG 2000签名盒、文件类型盒、复合图像报头盒、页集盒、和页盒。不重复的连续码流盒和媒体数据盒对于一些图像可为几百万字节。由此,即使最终发送整个文件,仅有很少开销用于提供交互式访问,并且访问感兴趣部分高效得多。
尽管全图像响应在服务器不需要维护高速缓存模型(图2中的231)这一意义上典型地被认为是“无状态的”,但是图7和8所示的全图像返回受益于服务器维护关于客户端的先前请求和服务器的先前响应的信息。为了高效,服务器需要跟踪在先前响应中发送的、服务器可能引用的文件中任何数据的位置。在一个实施例中,该服务器跟踪码流片断(或完整码流)的位置。另外,如果该服务器计划利用先前页表或片断表,则也应跟踪它们的位置。该服务器可能不单独跟踪这些位置;相反,如果该服务器使用产生响应的一致方法,则它可跟踪该请求,以及先前发送的响应大小。然后,当作出随后的请求时,服务器可判定其如何响应先前请求。这允许服务器确定在当前请求中将引用的项目的位置。
在一个实施例中,存在服务器能够引用客户端上存储的文件的商定约定。可由标准委员会或事实标准建立该约定。在不存在用于引用客户端上的文件的商定约定的情况下,该服务器可使用该客户端对于先前请求使用的URL。如果该先前请求标记为可高速缓存的,则聪明的客户端不会再次产生它。在一个实施例中,如果客户端不再次发出请求,则返回相同的数据并且解码仍然工作,由于数据的重发,它将是低效的。
返回的全JPM文件-外部存储的码流
与图7所示在JPM文件中包括码流不同,码流可保存在外部文件中。服务器上的文件可与JPM文件之外的码流一起存储。返回指向这些码流的JPM文件比将它们与JPM文件组合更简单。
给定特定请求,服务器可返回指向外部码流的JPM文件和适于该请求的部分码流。在该情况下,该返回类型包括多个文件。在HTTP中,该“内容类型:”可为多部分MIME。也就是说,JPM文件和外部码流可包装在一起并作为MIME文件发送。在一个实施例中,客户端存储接收的文件,并当发出解码操作时,以该服务器提供的分辨率访问本地码流。该方法的优点在于单一请求产生期望结果。缺点在于使用多部分响应、以及很难将接收的码流扩展到其他区域。图8的左侧示出了一个响应,其具有一个JPM文件和两个码流片断。
图8示出了对三个交互式请求的三个响应。在该情况下,来自JPM文件的所***流在外部存储。第一响应需要寻址两个码流,所以在JPM文件中存在两个片断表盒,每一个寻址不同的外部码流。在如上所述接收具有外部文件的全图像返回之后,客户端可发出后继请求。例如,客户端可下翻一页并要求最初忽略的新布局对象,因为它们与第一请求的区域没有交叉。图8的中间示出了对后继请求的响应。在该情况下,该响应是新完全JPM文件。该文件包括比第一请求更多的布局对象。然而,该文件引用第一请求使用的相同码流。因为它们是通过先前请求返回的,所以客户端在其高速缓存中(图2的221)应该仍然具有它们。尽管重新使用外部存储的码流,但是不需要使用先前JPM文件中的任何盒。因为该码流典型地比寻址信息大得多,所以发送新JPM盒不是低效的。
在一个实施例中,如果此时作出对新页的第三请求,则返回新JPM文件作为响应。此时,该JPM文件包含附加页并指向该页所需的外部码流。这在图8的右手边示出。该第三响应也为JPM文件,再次寻址来自先前响应的码流。在该情况下,第一页盒利用来自另一JPM文件的片断表盒,但该响应可能已直接包括该片断表盒并避免对第二JPM文件的任何需要。
注意存在多种在外部文件中存储码流的方式。码流在文件中可以独立地存储为整个码流。码流甚至可以分散到若干不同文件上,其中每个文件中只***流的一部分。码流可存储在JP2文件中。在该情况下,JPM文件中的片断表盒部分指向该码流出现的JP2文件中。可替换地,该JPM文件中的页表盒可指向JP2文件中的连续码流盒。甚至可能存在仅包含连续码流盒和码流而没有其他盒的文件。这将允许该JPM页表盒指向该文件的偏移0。连续码流文件盒的缺点在于其本身不能被大多数JPEG 2000编解码器识别。
一个文件多个外部指针
代替在多部分响应中以JPM文件返回外部码流,在一个实施例中,服务器仅返回具有对服务器上的所需码流的外部引用的JPM文件。该客户端然后直接发出对每一码流的单独请求。对单独码流的请求对于JBIG和JBIG2码流可为字节范围请求,而对于JPEG 2000码流可为在JPEG 2000部分9中规定的JPIP请求。该多请求结构允许客户端对接收的数据进行粒度非常细的控制。对客户端而言,与仅取回单一自包含JPM文件相比,这一定是比较复杂的,并且其需要可能延迟数据接收的多个往返。
在另一个替换实施例中,服务器不去除任何页或一页中的布局对象,但改变不是请求的一部分的对象的引用,以指向该服务器上的文件,同时所包括的对象指向本地。由此,客户端在接收第一响应之后知道该JPM文件的页数和范围,并具有所请求部分的本地可解码文件。
图9示出了一个响应于请求可能返回的JPM文件。在该情况下,该JPM文件是“完整的”,因为其包含该文档中所有页和布局对象的盒。所***流仍位于服务器上。如果客户端请求更多数据,它可接收一些码流或甚至全部码流。然后本地存储它们。该客户端可更新先前接收的JPM文件,使其指向本地可用的码流。该JPM文件继续为代表整个文档的合法文件,但一些码流本地可用,并且一些保留在服务器上。
部分返回的一个文件
与调整所返回JPM文件中的指针不同,在一个实施例中,服务器返回JPM文件的一部分,其中所返回部分经过识别。图10示出了部分发送的一个JPM文件的例子。参照图10,从图10的左侧可见,在服务器上存在完整文件。基于该请求,该服务器选择部分文件,并将它们发送到识别所发送部分的客户端。图10的第2栏示出了这些部分。可用表示部分内容和所返回盒的字节范围的HTTP响应完成这些部分的标识。为了利用以这种方式返回的文件,客户端跟踪已接收了文件的哪些部分以及仍然缺少哪些部分。在一个实施例中,如图10的右栏所示,客户端通过将文件中的缝隙填充“空闲盒”而完成这些。当接收到附加数据时,调整空闲盒的大小或完全消除这些空闲盒。只要服务器返回请求所需的所有盒和码流部分,标准JPM解码器就能运行于该文件并解码所请求的区域。理想地,该解码器应明白该文件可能具有“空洞”,因为所请求区域外的盒不被发送,并在文件中可存在指向不存在数据的指针。客户端能最终累积从服务器可得到的整个文件。
媒体数据柜和占位符
JPIP标准定义了元数据柜作为在JPP流和JPT流内部返回文件格式盒的方式。为了使用元数据柜,该服务器可具有与图10中使用以及图11的左侧重复的相同的文件。当作出请求时,返回文件格式盒作为元数据柜的一部分。在该文件的顶层出现的所有盒均位于元数据柜编号0中,或存在占位符盒代替元数据柜0中的盒。该“占位符盒”可由服务器创建,并且可能不存在于原始JPM文件中。在元数据柜0中被占位符代替的盒出现在其他元数据柜中。
服务器可选择以任何次序发送元数据柜,并且可能仅发送特定元数据柜的第一部分。该客户端可保存从服务器接收的元数据柜,并且智能JPM解码器可通过保持在每一个元数据柜中有哪些偏移的映射来对元数据柜进行导航。元数据柜和智能JPM解码器的使用允许客户端避免存储具有标记为“自由”盒的大量数据的大文件。通过将瓦片或管区数据柜与元数据柜混合,可容易地将码流的数据与盒的数据混合。
尽管在阅读了前文之后,本领域普通技术人员将毫无疑问地明了本发明的许多替换和更改,但是应该理解,作为示例描述的任何特定实施例决不意欲限制本发明。所以,各种实施例的细节的引用不意欲限制权利要求的范围,权利要求仅引用被认为对于本发明是本质的那些特征。
Claims (82)
1.一种方法,包括:
接收对JPM文件各部分的多个请求;和
响应于所述多个请求而部分发送JPM文件,其中这些部分的每一个为合法JPM文件。
2.根据权利要求1所述的方法,其中从一组中选择这些部分,所述组包括一个或多个期望页、一页上的一个或多个期望区域、返回数据的期望分辨率、接收返回数据的期望技术、和已经从该JPM文件接收的数据的表示。
3.根据权利要求1所述的方法,其中从一组中选择该请求,所述组包括一页的空间部分、一页的较低分辨率、页的范围、和非标签盒。
4.根据权利要求1所述的方法,其中所述请求的至少一个指定该JPM文件中的盒类型,并且该JPM文件的各部分中的至少一个包括在该至少一个请求中指定的盒类型的各盒的一个或多个中所存储的信息。
5.根据权利要求4所述的方法,其中该至少一个请求还指定与该盒类型关联的子盒,并且其中该响应包括与该盒类型的子盒关联的数据。
6.根据权利要求1所述的方法,其中所述多个请求的至少一个指定以一个偏移开始的JPM文件中的盒。
7.根据权利要求6所述的方法,其中该响应返回该盒的所有内容。
8.根据权利要求1所述的方法,其中所述多个请求的至少一个指定该JPM文件中的一页将占据显示器的页尺寸,并指定该页中请求的图像的部分。
9.根据权利要求1所述的方法,其中所述多个请求的至少一个中的至少一个参数表示范围。
10.根据权利要求1所述的方法,其中所述多个请求的至少一个包括距离对象盒的偏移,以获得由该偏移指向的码流的一部分。
11.根据权利要求1所述的方法,其中所述多个请求的至少一个指定帧尺寸、区域偏移、和区域尺寸以标识所要获得的码流的一部分。
12.根据权利要求1所述的方法,其中所述多个请求的至少一个包括页请求参数。
13.根据权利要求1所述的方法,还包括利用外部文件存储在服务器上存储该JPM文件。
14.根据权利要求1所述的方法,还包括利用共享数据条目盒中的多个码流在服务器上存储该JPM文件。
15.根据权利要求1所述的方法,还包括:
收集与所述多个请求的至少一个相关的该JPM文件中的盒;
用与该至少一个请求相关的盒形成新JPM文件,包括将这些盒的任何引用调整到该文件中的新位置;和
发送该新JPM文件。
16.根据权利要求15所述的方法,其中形成该新JPM文件包括消除指向外部文件的指针。
17.根据权利要求15所述的方法,其中形成该新JPM文件包括调整页计数和一页上的对象数目。
18.根据权利要求17所述的方法,其中调整页计数和一页上的对象数目包括仅调整完成所述多个请求的至少一个所需的那些页和对象。
19.根据权利要求1所述的方法,其中响应于所述多个请求而部分发送JPM文件包括发送具有对至少一个外部存储文件的至少一个引用的另一个JPM文件。
20.根据权利要求19所述的方法,其中该至少一个外部存储的文件包括至少一个外部存储的码流。
21.根据权利要求19所述的方法,还包括发送具有对先前所发送JPM文件中的数据的引用的另一个JPM文件。
22.根据权利要求1所述的方法,还包括对具有任何外部引用文件的JPM文件进行分组,并响应于所述多个请求的至少一个而发送该分组。
23.根据权利要求22所述的方法,其中该分组是MIME文件。
24.根据权利要求1所述的方法,其中响应于所述多个请求而部分发送JPM文件包括发送其中将不是一个或多个请求的部分的对象的引用改变成指向服务器上的文件而不去除页或布局对象的JPM文件。
25.根据权利要求24所述的方法,还包括:
发送包括码流数据的另一个JPM文件,所述码流数据扩展先前发送的JPM文件中的一个或多个码流。
26.一种制造物品,具有其上存储有可执行指令的一个或多个可记录介质,当由***执行这些指令时,这些指令使得***执行一种方法,该方法包括:
接收对JPM文件各部分的多个请求;和
响应于所述多个请求而部分发送JPM文件,其中这些部分的每一个为合法JPM文件。
27.根据权利要求26所述的制造物品,其中从一组中选择这些部分,所述组包括一个或多个期望页、一页上的一个或多个期望区域、返回数据的期望分辨率、接收返回数据的期望技术、和已经从该JPM文件接收的数据的表示。
28.根据权利要求26所述的制造物品,其中从一组中选择该请求,所述组包括一页的空间部分、一页的较低分辨率、页的范围、和非标签盒。
29.根据权利要求26所述的制造物品,其中所述请求的至少一个指定该JPM文件中的盒类型,并且该JPM文件的各部分中的至少一个包括在该至少一个请求中指定的盒类型的各盒的一个或多个中所存储的信息。
30.根据权利要求29所述的制造物品,其中该至少一个请求还指定与该盒类型关联的子盒,并且其中该响应包括与该盒类型的子盒关联的数据。
31.根据权利要求26所述的制造物品,其中所述多个请求的至少一个指定以一个偏移开始的JPM文件中的盒。
32.根据权利要求31所述的制造物品,其中该响应返回该盒的所有内容。
33.根据权利要求26所述的制造物品,其中所述多个请求的至少一个指定该JPM文件中的一页将占据显示器的页尺寸,并指定该页中请求的图像的部分。
34.根据权利要求26所述的制造物品,其中所述多个请求的至少一个中的至少一个参数表示范围。
35.根据权利要求26所述的制造物品,其中所述多个请求的至少一个包括距离对象盒的偏移,以获得由该偏移指向的码流的一部分。
36.根据权利要求26所述的制造物品,其中所述多个请求的至少一个指定帧尺寸、区域偏移、和区域尺寸以标识所要获得的码流的一部分。
37.根据权利要求26所述的制造物品,其中所述多个请求的至少一个包括页请求参数。
38.根据权利要求26所述的制造物品,其中该方法还包括利用外部文件存储在服务器上存储该JPM文件。
39.根据权利要求26所述的制造物品,其中该方法还包括利用共享数据条目盒中的多个码流而在服务器上存储该JPM文件。
40.根据权利要求26所述的制造物品,其中该方法还包括:
收集与所述多个请求的至少一个相关的该JPM文件中的盒;
用与该至少一个请求相关的盒形成新JPM文件,包括将这些盒的任何引用调整到该文件中的新位置;和
发送该新JPM文件。
41.根据权利要求40所述的制造物品,其中形成该新JPM文件包括消除指向外部文件的指针。
42.根据权利要求40所述的制造物品,其中形成该新JPM文件包括调整页计数和一页上的对象数目。
43.根据权利要求42所述的制造物品,其中调整页计数和一页上的对象数目包括仅调整完成所述多个请求的至少一个所需的那些页和对象。
44.根据权利要求26所述的制造物品,其中响应于所述多个请求而部分发送JPM文件包括发送具有对至少一个外部存储文件的至少一个引用的另一个JPM文件。
45.根据权利要求44所述的制造物品,其中该至少一个外部存储的文件包括至少一个外部存储的码流。
46.根据权利要求44所述的制造物品,其中该方法还包括发送具有对先前所发送JPM文件中的数据的引用的另一个JPM文件。
47.根据权利要求26所述的制造物品,其中该方法还包括对具有任何外部引用文件的JPM文件进行分组,并响应于所述多个请求的至少一个而发送该分组。
48.根据权利要求47所述的制造物品,其中该分组是MIME文件。
49.根据权利要求26所述的制造物品,其中响应于所述多个请求而部分发送JPM文件包括发送其中将不是一个或多个请求的部分的对象的引用改变成指向服务器上的文件而不去除页或布局对象的JPM文件。
50.根据权利要求49所述的制造物品,其中该方法还包括:
发送包括码流数据的另一个JPM文件,所述码流数据扩展先前发送的JPM文件中的一个或多个码流。
51.一种设备,包括:
输入端,用于接收对JPM文件各部分的多个请求;和
服务器核心,用于响应于所述多个请求而部分发送JPM文件,其中这些部分的每一个为合法JPM文件。
52.根据权利要求51所述的设备,其中从一组中选择这些部分,所述组包括一个或多个期望页、一页上的一个或多个期望区域、返回数据的期望分辨率、接收返回数据的期望技术、和已经从该JPM文件接收的数据的表示。
53.根据权利要求51所述的设备,其中从一组中选择该请求,所述组包括一页的空间部分、一页的较低分辨率、页的范围、和非标签盒。
54.根据权利要求51所述的设备,其中所述请求的至少一个指定该JPM文件中的盒类型,并且该JPM文件的各部分中的至少一个包括在该至少一个请求中指定的盒类型的各盒的一个或多个中所存储的信息。
55.根据权利要求54所述的设备,其中该至少一个请求还指定与该盒类型关联的子盒,并且其中该响应包括与该盒类型的子盒关联的数据。
56.根据权利要求51所述的设备,其中所述多个请求的至少一个指定以一个偏移开始的JPM文件中的盒。
57.根据权利要求56所述的设备,其中该响应返回该盒的所有内容。
58.根据权利要求5 1所述的设备,其中所述多个请求的至少一个指定该JPM文件中的一页将占据显示器的页尺寸,并指定该页中请求的图像的部分。
59.根据权利要求51所述的设备,其中所述多个请求的至少一个中的至少一个参数表示范围。
60.根据权利要求51所述的设备,其中所述多个请求的至少一个包括距离对象盒的偏移,以获得由该偏移指向的码流的一部分。
61.根据权利要求51所述的设备,其中所述多个请求的至少一个指定帧尺寸、区域偏移、和区域尺寸以标识所要获得的码流的一部分。
62.根据权利要求51所述的方法,其中所述多个请求的至少一个包括页请求参数。
63.根据权利要求51所述的设备,其中该服务器核心在外部文件存储装置中存储该JPM文件。
64.根据权利要求51所述的设备,其中该服务器核心利用共享数据条目盒中的多个码流来存储该JPM文件。
65.根据权利要求51所述的设备,其中该服务器核心发送具有对至少一个外部存储文件的至少一个引用的另一个JPM文件,从而响应于所述多个请求而部分发送JPM文件。
66.根据权利要求65所述的设备,其中该至少一个外部存储的文件包括至少一个外部存储的码流。
67.根据权利要求65所述的设备,还包括发送具有对先前所发送JPM文件中的数据的引用的另一JPM文件。
68.根据权利要求51所述的设备,其中该服务器核心通过发送其中将不是一个或多个请求的部分的对象的引用改变成指向服务器上的文件而不去除页或布局对象的JPM文件,从而响应于所述多个请求而部分发送JPM文件。
69.根据权利要求68所述的设备,还包括:
发送包括码流数据的另一个JPM文件,该码流数据扩展先前发送的JPM文件中的一个或多个码流。
70.一种方法,包括:
收集与多个请求的至少一个相关的JPM文件中的盒;
用与该至少一个请求相关的盒形成新JPM文件,包括将这些盒的任何引用调整到该文件中的新位置;和
发送该新JPM文件。
71.根据权利要求70所述的方法,其中形成该新JPM文件包括消除指向外部文件的指针。
72.根据权利要求70所述的方法,其中形成该新JPM文件包括调整页计数和一页上的对象数目。
73.根据权利要求72所述的方法,其中调整页计数和一页上的对象数目包括仅调整完成所述多个请求的至少一个所需的那些页和对象。
74.一种制造物品,具有其上存储有可执行指令的一个或多个可记录介质,当由***执行这些指令时,这些指令使得***执行一种方法,该方法包括:
收集与多个请求的至少一个相关的JPM文件中的盒;
用与该至少一个请求相关的盒形成新JPM文件,包括将这些盒的任何引用调整到该文件中的新位置;和
发送该新JPM文件。
75.一种设备,包括:
用于收集与多个请求的至少一个相关的JPM文件中的盒的装置;
用于用与该至少一个请求相关的盒形成新JPM文件,包括将这些盒的任何引用调整到该文件中的新位置的装置;和
用于发送该新JPM文件的部件的装置。
76.一种方法,包括:
接收对JPM文件各部分的多个请求;
响应于所述多个请求而部分发送JPM文件;和
利用正被发送的部分的指示来发送该JPM文件的各部分。
77.根据权利要求76所述的方法,其中利用正被发送的部分的指示来发送该JPM文件的各部分包括利用表示返回盒的部分内容和字节范围的HTTP响应。
78.根据权利要求76所述的方法,还包括用空闲盒填充所接收JPM文件中的缝隙。
79.根据权利要求78所述的方法,还包括当填充所接收JPM文件中的一个或多个缝隙的新数据到达时,调整所述空闲盒的尺寸。
80.一种制造物品,具有其上存储有可执行指令的一个或多个可记录介质,当由***执行这些指令时,这些指令使得***执行一种方法,该方法包括:
接收对JPM文件各部分的多个请求;
响应于所述多个请求而部分发送JPM文件;和
利用正被发送的部分的指示来发送该JPM文件的各部分。
81.一种方法,包括:
产生多个请求;和
部分接收JPM文件作为对所述多个请求的响应的一部分,其中所述部分的至少一个指向作为该JPM文件的先前接收部分而接收的JPM文件的部分。
82.一种制造物品,具有其上存储有可执行指令的一个或多个可记录介质,当由***执行这些指令时,这些指令使得***执行一种方法,该方法包括:
产生多个请求;和
部分接收JPM文件作为对所述多个请求的响应的一部分,其中所述部分的至少一个指向作为该JPM文件的先前接收部分而接收的JPM文件的部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/614,877 | 2003-07-07 | ||
US10/614,877 US7711834B2 (en) | 2002-12-13 | 2003-07-07 | Network access to partial document images |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1578370A true CN1578370A (zh) | 2005-02-09 |
CN1317879C CN1317879C (zh) | 2007-05-23 |
Family
ID=36754324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100637459A Expired - Fee Related CN1317879C (zh) | 2003-07-07 | 2004-07-07 | 部分文档图像的网络访问 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7711834B2 (zh) |
EP (1) | EP1496667B1 (zh) |
JP (1) | JP4480494B2 (zh) |
CN (1) | CN1317879C (zh) |
DE (1) | DE602004020841D1 (zh) |
HK (1) | HK1071485A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3747916B2 (ja) * | 2003-03-27 | 2006-02-22 | コニカミノルタビジネステクノロジーズ株式会社 | Jpeg2000符号化装置,復号化装置,符号化方法及び復号化方法 |
US20050131962A1 (en) * | 2003-12-16 | 2005-06-16 | Deshpande Sachin G. | Systems and methods for implementing a cache model |
FR2867291B1 (fr) * | 2004-03-08 | 2006-05-19 | Canon Kk | Procede et dispositif d'acces a une image numerique stockee sur un ordinateur serveur |
WO2006084247A2 (en) * | 2005-02-04 | 2006-08-10 | Cellfire, Inc. | Delivering targeted advertising to mobile devices |
JP4618676B2 (ja) | 2005-04-28 | 2011-01-26 | 株式会社リコー | 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体 |
JP4716949B2 (ja) * | 2005-09-02 | 2011-07-06 | 株式会社リコー | 画像処理装置および画像処理方法 |
JP4587312B2 (ja) * | 2005-09-16 | 2010-11-24 | 株式会社リコー | 符号変換装置及び符号変換方法 |
JP2007142581A (ja) * | 2005-11-15 | 2007-06-07 | Canon Inc | 画像処理方法、画像処理装置 |
US8291315B2 (en) | 2006-02-28 | 2012-10-16 | Ricoh Co., Ltd. | Standardized network access to partial document imagery |
US8081827B2 (en) * | 2006-02-28 | 2011-12-20 | Ricoh Co., Ltd. | Compressed data image object feature extraction, ordering, and delivery |
JP4732251B2 (ja) * | 2006-06-20 | 2011-07-27 | 株式会社リコー | 符号変換装置およびプログラム |
US20080144076A1 (en) * | 2006-10-27 | 2008-06-19 | Martin Boliek | Systems and methods for serving documents from a multifunction peripheral |
JP4898513B2 (ja) * | 2007-03-26 | 2012-03-14 | 株式会社リコー | クライアント・サーバシステム |
JP5080325B2 (ja) * | 2008-03-18 | 2012-11-21 | 株式会社リコー | 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体 |
US8170491B2 (en) * | 2009-05-04 | 2012-05-01 | Qualcomm Incorporated | System and method for real-time performance and load statistics of a communications system |
US9596522B2 (en) * | 2010-06-04 | 2017-03-14 | Mobitv, Inc. | Fragmented file structure for live media stream delivery |
US9489152B2 (en) | 2014-02-24 | 2016-11-08 | Ricoh Company, Ltd. | Object distribution in advanced function presentation environments |
US10496694B2 (en) * | 2016-03-21 | 2019-12-03 | Hong Kong Applied Science and Technology Research Institute Company Limited | Rating and advising for selection of augmented reality markers |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6331869B1 (en) * | 1998-08-07 | 2001-12-18 | Be Here Corporation | Method and apparatus for electronically distributing motion panoramic images |
US6466210B1 (en) * | 1997-12-22 | 2002-10-15 | Adobe Systems Incorporated | Blending image data using layers |
EP0967556A2 (en) * | 1998-06-26 | 1999-12-29 | Hewlett-Packard Company | Flat image delivery server |
US6792153B1 (en) * | 1999-11-11 | 2004-09-14 | Canon Kabushiki Kaisha | Image processing method and apparatus, and storage medium |
US7236637B2 (en) * | 1999-11-24 | 2007-06-26 | Ge Medical Systems Information Technologies, Inc. | Method and apparatus for transmission and display of a compressed digitized image |
US6968088B2 (en) * | 2000-03-28 | 2005-11-22 | Canon Kabushiki Kaisha | Modification of detected quantization step size from the encoded bitstream based on a region of interest (ROI) bitmask |
JP3570339B2 (ja) * | 2000-05-08 | 2004-09-29 | 日本電気株式会社 | 無線端末 |
US6704024B2 (en) * | 2000-08-07 | 2004-03-09 | Zframe, Inc. | Visual content browsing using rasterized representations |
JP2002152744A (ja) | 2000-11-10 | 2002-05-24 | Ricoh Co Ltd | 変換符号の画像伸長方法 |
DE60144176D1 (de) * | 2000-11-10 | 2011-04-21 | Ricoh Co Ltd | Bilddekompression von Transformkoeffizienten |
KR100357437B1 (ko) * | 2000-12-27 | 2002-10-19 | 한국전자통신연구원 | 네트워크상에서의 영상 부분 전송 장치 및 그 방법 |
US6650326B1 (en) * | 2001-01-22 | 2003-11-18 | Navigation Technologies Corp. | Method of handling context during scaling with a map display |
FR2826823B1 (fr) * | 2001-06-27 | 2003-10-10 | Canon Kk | Procede et dispositif de traitement d'un signal numerique code |
US7110608B2 (en) * | 2001-07-02 | 2006-09-19 | Canon Kabushiki Kaisha | Digital image compression |
JP3768934B2 (ja) | 2001-08-30 | 2006-04-19 | キヤノン株式会社 | 画像処理装置及びそのデータキャッシュ方法 |
JP3704515B2 (ja) | 2002-08-30 | 2005-10-12 | Necアクセステクニカ株式会社 | 画像伸張装置及びその方法 |
-
2003
- 2003-07-07 US US10/614,877 patent/US7711834B2/en not_active Expired - Fee Related
-
2004
- 2004-07-06 EP EP04015862A patent/EP1496667B1/en not_active Expired - Fee Related
- 2004-07-06 DE DE602004020841T patent/DE602004020841D1/de not_active Expired - Lifetime
- 2004-07-07 CN CNB2004100637459A patent/CN1317879C/zh not_active Expired - Fee Related
- 2004-07-07 JP JP2004200681A patent/JP4480494B2/ja not_active Expired - Fee Related
-
2005
- 2005-05-13 HK HK05104062.0A patent/HK1071485A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1317879C (zh) | 2007-05-23 |
US20060170955A1 (en) | 2006-08-03 |
HK1071485A1 (en) | 2005-07-15 |
DE602004020841D1 (de) | 2009-06-10 |
EP1496667A1 (en) | 2005-01-12 |
EP1496667B1 (en) | 2009-04-29 |
JP4480494B2 (ja) | 2010-06-16 |
JP2005033801A (ja) | 2005-02-03 |
US7711834B2 (en) | 2010-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1317879C (zh) | 部分文档图像的网络访问 | |
JP7142626B2 (ja) | メディアストリーミングのためのセグメントチャンクの検索およびアクセス | |
US10171541B2 (en) | Methods, devices, and computer programs for improving coding of media presentation description data | |
CN1247029C (zh) | 产生含有二进制图像/音频数据的比特流的方法和装置 | |
CN100337230C (zh) | 重排网页的方法和设备 | |
CN1488195A (zh) | 分布式随选媒体代码转换***和方法 | |
US8291315B2 (en) | Standardized network access to partial document imagery | |
CN1311887A (zh) | 一种提供基于矢量图形的交通信息的方法及*** | |
US20090180699A1 (en) | Jpeg 2000-like access using the jpm compound document file format | |
US20030110299A1 (en) | Partial retrieval of images in the compressed domain | |
JP2003023630A (ja) | サーバクライアント環境におけるjpeg2000のための画像処理 | |
JP4824266B2 (ja) | フォーマットが適合したオブジェクトの転送方法 | |
CN1647509A (zh) | 电视接收机及包含它的*** | |
KR20130107266A (ko) | 코딩된 다중 성분 비디오를 캡슐화하는 방법 및 장치 | |
US20060218295A1 (en) | Image processing system, image processing method and computer readable information recording medium | |
JP2003023544A (ja) | 画像符号化方法及び画像符号化装置 | |
CN1306812C (zh) | 信息处理装置和方法 | |
US7456844B2 (en) | Image transmission method, computer-readable image transmission program, recording medium, and image transmission apparatus | |
EP1244309A1 (en) | A method and microprocessor system for forming an output data stream comprising metadata | |
CN1214554C (zh) | 接收装置、数据广播接收***及内容访问方法 | |
CN1650626A (zh) | 用于支持mp4中的avc的方法和设备 | |
US7571152B2 (en) | Method for compressing and decompressing structured documents | |
CN1339918A (zh) | 通信***、发送机、接收机以及应用数据储存描述符的方法 | |
EP1069715A1 (en) | Method and apparatus for data transmission | |
CN118202345A (zh) | Cmaf和dash客户端使用可寻址资源索引轨道和事件进行带宽切换的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070523 Termination date: 20150707 |
|
EXPY | Termination of patent right or utility model |