CN1179304C - 一种用以实现文件格式兼容性的方法 - Google Patents
一种用以实现文件格式兼容性的方法 Download PDFInfo
- Publication number
- CN1179304C CN1179304C CNB018104525A CN01810452A CN1179304C CN 1179304 C CN1179304 C CN 1179304C CN B018104525 A CNB018104525 A CN B018104525A CN 01810452 A CN01810452 A CN 01810452A CN 1179304 C CN1179304 C CN 1179304C
- Authority
- CN
- China
- Prior art keywords
- file
- encoded
- expression formula
- layer
- numerical value
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- 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
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Processing Or Creating Images (AREA)
Abstract
公开了一个表达式,它可以被用来指定为将一个比特流解码和扩展为图像数据所需的功能。该表达式最好被纳入到针对一个比特流的开销信息之中。还公开了一种图像文件结构。文件(800)包括多个被顺序地装入一个二进制文件之中的多个元素(802-808)。早在文件之中的各元素含有报头信息(802)(即,开销信息),其中包括标识文件类型的信息以及描述在文件(800)中所含有的图像数据的各项参数的信息。
Description
技术领域
本发明涉及文件的格式化,特别是,涉及一种用于对电子文件进行编码与解码,以使得在文件中提供文件格式数据,由此帮助一个读出器去确定该读出器是否与文件中的数据相兼容的方法与装置。
背景技术
用于识别含有数据的不同文件类型的各种方法已为人们所熟知,上述数据可以用于在计算机网络系统上传送和/或用于在一部特定的计算机上进行存储。典型地,用以标识一个特定文件的方法就是使用与该文件相关的一个文件扩展名。联合图像专家组(JPEG)以及标记图像文件(TIF)标准分别使用文件扩展名“.jpg”和“.GIF”来标识各种图像文件。另一种已知方法使用在文件中的、被称为MacintoshTM资源分叉(MacintoshTM Resource Fork)的信息,它是标识该文件的二进制数据。
上述各种方法具有许多缺点。例如,某些计算机网络系统所使用的文件扩展名方法在另一些系统中不受理睬,由此导致文件之间的不兼容。
还有,在许多情况下,被标识为相同的文件实际上可能具有不同的配置。例如,JPEG和TIF标准都允许各种可选项,但并不是所有的文件读出器都支持这些可选项。再有,特定的计算机网络系统根据标识来决定哪一个应用程序应当读出一个特定的文件,而经常遇到所选择的应用程序不能读出含有特定选项的文件。
某些计算机网络系统尝试使用各种索引来建立文件索引,以便快速地识别用以配置各文件的各组件。这些各种各样的索引是不通用的,并且当这些索引可以在某些应用程序中进行工作时,它们在其他应用程序中却是不适用的。此外,索引并不总是被存储在文件的顶部,这样就不能充分地被读出。还有,随着文件格式的新版本的生成,索引将发生改变,这就无法实现一个普遍兼容的索引系统。
某些文件格式允许在一个单独的文件中存储数据的多份拷贝,其中,每一个文件都是按照一种单独的格式配置的。这样的文件格式允许读出一个文件的计算机网络系统根据特定环境、文件读出器的能力以及用户的需求,来决定读出哪一个数据。使用这样一种格式的系统列出文件的不同组分,但是不列出关于为读出一个文件所需的各项特征的组合的细节。
一种被称为多用途因特网消息扩展(MIME)系统的、允许将数据作为电子邮件(e-mail)消息的内容进行传输的已知的系统利用一个文件封套(wrapper)来标识文件。MIME系统也将文件作为一个整体加以标识,但是不对文件中的各选项进行标识。
多层(或多页)图像可以被认为是一个图像集,典型地全是(但不一定是)同样大小,为了显示目的,它们以某种方式组合。因此,多图像(多层)文件格式指的是在一个单独的文件中的多个图像,在这里,文件中的每一个图像被称为一层。被解码器用来组合一个多层文件的各层的数据不变地采取一个文件格式扩展的形式。
按照图形交换格式(GIF)标准,例如,一种被称为图形控制扩展的附加的控制结构被纳入到文件之中,作为前置于每一个图像层的信息(即,开销(overhead)信息)的一部分。尤其是,这个信息包括该层的左上角相对于在全局文件报头(header)中所定义的整个图像区域的坐标,以及在显示该层之后,在显示该文件的下一层之前所需的等待时间量。GIF还包括按照顺序组成的各层(或多个图像)。
GIF文件的每一层可以是不同大小,并且使用偏移坐标来进行定位,以便在从一层到下一层只有小区域发生变化的情况下提高存储效率。GIF标准定义了一个虚拟屏幕,在其上组成每一层。它使用一种控制块结构来指示在文件中的各层是如何被显示的。文件格式的每一层以控制块为先导,它含有关于左上角在虚拟屏幕中的位置的信息,关于在转入该文件的下一层之前,该层应当被显示多长时间的信息,以及在显示该文件的下一层之前,该层是否应当被移除的信息。
GIF具有一种简单和受限制的设计结构,它使得大量的独立开发者易于实现能处理GIF图像的文件查看器。然而,GIF的简单性是以牺牲编码效率为代价的。例如,由于在GIF文件中的每一层都对应于一个单独的图像,所以对虚幻和重叠部分就不能有效地进行编码。这是由于每一帧都必须被显示为一个独立的图像层。对图像在其中出现的每一帧来说,在一个图像序列的过程期间被重新使用的各图像都必须在文件中出现一次。
最近,为了解决上述问题,“多图像”(Multiple Image)文件格式已经被开发出来。多图像文件格式包括在一个单独的文件中的多个图像,在文件中的每一个图像都与至少一层关联。一种已知的多图像(多层)文件格式基于对可移植网络图形(PNG)文件格式的扩展定义一种图像框架。然而,多图像文件格式的编码和解码效率要跟在一个特定文件中针对每一层的描述信息的要求进行折衷。
发明内容
本发明的一个目标就是基本上克服,或者至少是缓解现有设计安排中的一个或多个缺点。
根据本发明的第一方面,提供了一种电子文件,包括:
已编码的数字图像数据;以及
表示多个布尔运算的一个表达式,其中,所述表达式标识为读出所述已编码的数字图像数据所需的各功能方面。
根据本发明的另一方面,提供了一种用于对含有至少一个已编码的数字图像的电子文件进行编码的方法;所述方法包括下列各步骤:
确定一个表示多个布尔运算的表达式,其中,所述表达式标识为读出所述已编码的数字图像数据所需的各功能方面;以及
将所述表达式添加到所述电子文件的一个支持数据区之中。
根据本发明的又一个方面,提供了一种用于对含有至少一个已编码的数字图像的电子文件进行编码的设备,所述设备包括:
用于接收一个表示多个布尔运算的表达式的装置,其中,所述表达式标识为读出所述已编码的数字图像数据所需的各功能方面;
用于将所述表达式添加到所述电子文件的一个支持数据区之中的装置。
根据本发明的再一个方面,提供了一种在其上记录有一段程序的计算机可读介质,所述程序包括适于在至少一种计算机平台上进行互动操作的多个软件模块,所述程序适于对含有至少一个已编码的数字图像的电子文件进行编码,所述程序包括:
用于确定表示多个布尔运算的一个表达式的代码,其中,所述表达式标识为读出所述已编码的数字图像数据所需的各功能方面;以及
用于将所述表达式添加到所述电子文件的一个支持数据区之中的代码。
根据本发明的还一个方面,提供了一种用于对在已编码的表示中的数字图像进行编码的方法;所述方法包括下列各步骤:
为在所述已编码的表示中的每个所述数字图像确定一个描述;以及
将所述描述以及所述数字图像编码为一个比特流,其中,所述描述中的至少一个顺序地关联于多个所述数字图像。
根据本发明的另一个方面,提供了一种用于对数字图像的已编码表示进行解码的方法,每一个所述图像都具有一个相关的描述,所述方法至少包括下列各步骤:
利用所述描述来输出所述数字图像,其中,所述描述中的至少一个顺序地关联于多个所述数字图像。
根据本发明的又一个方面,提供了一种用于对在已编码表示中的一个或多个数字图像进行编码的方法,所述方法包括下列各步骤:
确定在所述已编码的表示中的数字图像的数目;
为所述已编码的表示中的每一个所述数字图像确定一个描述;
对所述各数字图像的所述描述进行比较,以确定具有相同描述的图像的数目;
确定所述各数字图像的展示顺序;以及
将所述描述集以及所述数字图像编码为比特流,其中,所述相同描述中仅有一个被纳入所述比特流之中,并且其中,具有所述相同描述的那些数字图像被顺序地放置在所述顺序的末尾。
根据本发明的再一个方面,提供了一种用于对一个或多个数字图像的已编码表示进行解码的方法,每一个所述图像都具有一个相关的描述,所述方法包括下列各步骤:
在所述已编码的表示中确定描述的数目;
在所述已编码的表示中确定数字图像的数目;以及
将所述描述和所述各数字图像当作比特流来输出,其中,若所述数字图像的数目大于所述描述的数目,则所述描述的第一数目顺序地关联于所述各数字图像的第二数目,并且所述描述的剩余一个关联于任何剩余的数字图像。
根据本发明的还一个方面,提供了一种用于对在已编码表示中的各数字图像进行编码的方法,所述方法包括下列各步骤:
为在所述已编码的表示中的所述各数字图像中的每个确定一个描述;以及
将所述描述以及所述各数字图像编码为比特流,其中,所述描述中的至少一个顺序地关联于多个所述数字图像,并且其中,所述描述包括一个指示器,用以指定所述描述与之关联的数字图像的数目。
根据本发明的另一个方面,提供了一种用于对在已编码表示中的各数字图像进行编码的设备,所述设备包括:
用于为在所述已编码的表示中的所述各数字图像中的每个确定一个描述的装置;以及
用于将所述描述以及所述各数字图像编码为比特流的装置,其中,所述描述的至少一个顺序地关联于多个所述数字图像。
根据本发明的又一个方面,提供了一种用于对各数字图像的已编码表示进行解码的设备,每一个所述图像都具有一个相关的描述,所述设备包括:
利用所述描述来输出所述各数字图像的装置,其中,所述描述中的至少一个顺序地关联于多个所述数字图像。
根据本发明的再一个方面,提供了一种用于对在已编码表示中的一个或多个数字图像进行编码的设备,所述设备包括:
用于确定在所述已编码的表示中的数字图像的数目的装置;
用于为在所述已编码的表示中的每个所述数字图像确定一个描述的装置;
用于对所述各数字图像的所述描述进行比较,以确定具有相同描述的图像的数目的装置;
用于确定所述各数字图像的展示顺序的装置;以及
用于将所述描述集以及所述各数字图像编码为比特流的装置,其中,所述相同描述中仅有一个被纳入所述比特流,并且其中,具有相同描述的那些数字图像被顺序地放置在所述顺序的末尾。
根据本发明的还一个方面,提供了一种用于对一个或多个数字图像的已编码表示进行解码的设备,每一个所述图像都具有一个相关的描述,所述设备包括:
用于在所述已编码的表示中确定描述的数目的装置;
用于在所述已编码的表示中确定各数字图像的数目的装置;
用于将所述描述和所述各数字图像当作比特流来输出的装置,其中,若所述各数字图像的数目大于所述描述的数目,则所述描述的第一数目顺序地关联于所述各数字图像的第二数目,并且所述描述的剩余一个关联于任何剩余的数字图像。
根据本发明的另一个方面,提供了一种用于对在已编码表示中的各数字图像进行编码的设备,所述设备包括:
用于为在所述已编码的表示中的所述各数字图像中的每一个确定一个描述的装置;以及
用于将所述描述以及所述各数字图像编码为一个比特流的装置,其中,所述描述中的至少一个顺序地关联于多个所述数字图像,并且其中,所述描述包括一个指示器,用以指定所述描述与之关联的数字图像的数目。
根据本发明的还有一个方面,提供了一种在其上记录有一段程序的计算机可读介质,所述程序包括适于在至少一种计算机平台上进行互动操作的多个软件模块,所述程序适于对在已编码的表示中的各数字图像进行编码,所述程序包括:
用于为在所述已编码的表示中的所述各数字图像中的每一个确定一个描述的代码;以及
将所述描述以及所述各数字图像编码为比特流的代码,其中,所述描述中的至少一个顺序地关联于多个所述数字图像。
根据本发明的又一个方面,提供了一种在其上记录有一段程序的计算机可读介质,所述程序包括适于在至少一种计算机平台上进行户动操作的多个软件模块,所述程序适于对各数字图像的已编码的表示进行解码,所述图像中的每一个都具有相关的描述,所述程序包括:
利用所述描述来输出所述各数字图像的代码,其中,所述描述中的至少一个顺序地关联于多个所述数字图像。
根据本发明的再一个方面,提供了一种在其上记录有一段程序的计算机可读介质,所述程序包括适于在至少一种计算机平台上进行户动操作的多个软件模块,所述程序适于对在已编码的表示中的一个或多个数字图像进行编码,所述程序包括:
用于确定在所述已编码的表示中的数字图像的数目的代码;
用于为在所述已编码的表示中的所述各数字图像中的每一个确定一个描述的代码;
用于对所述数字图像的所述描述进行比较,以确定具有相同描述的图像的数目的代码;
用于确定所述各数字图像的展示顺序的代码;以及
用于将所述描述集以及所述各数字图像编码为一个比特流的代码,其中,仅有所述相同描述之一被纳入所述比特流,并且其中,具有相同描述的那些数字图像被顺序地放置在所述顺序的末尾。
根据本发明的还一个方面,提供了一种在其上记录有一段程序的计算机可读介质,所述程序包括适于在至少一种计算机平台上进行户动操作的多个软件模块,所述程序适于对一个或多个数字图像的已编码的表示进行解码,所述图像中的每一个都具有相关的描述,所述程序包括:
用于在所述已编码的表示中确定描述的数目的代码;
用于在所述已编码的表示中确定各数字图像的数目的代码;以及
用于将所述描述和所述各数字图像当作比特流来输出的代码,其中,若所述各数字图像的数目大于所述描述的数目,则所述描述的第一数目顺序地关联于所述各数字图像的第二数目,并且所述描述的剩余一个关联于任何剩余的数字图像。
根据本发明的另一个方面,提供了一种在其上记录有一段程序的计算机可读介质,所述程序包括适于在至少一种计算机平台上进行互动操作的多个软件模块,所述程序适于对在已编码的表示中的各数字图像进行编码,所述程序包括:
用于为在所述已编码的表示中的所述各数字图像中的每个确定一个描述的代码;以及
用于将所述描述以及所述各数字图像编码为一个比特流的代码,其中,所述描述中的至少一个顺序地关联于多个所述数字图像,并且其中,所述描述包括一个指示器,用以指定所述描述与之关联的数字图像的数目。
根据本发明的又一个方面,提供了一种电子文件,包括:
已编码的数字图像数据;以及
一个表示多个布尔运算的表达式,其中,所述表达式定义了所述已编码的数字图像数据被读出的方式。
附图说明
现在将参照附图对本发明的一个或多个实施例进行说明,在附图中:
图1是流程图,表示一种用以建立位屏蔽和兼容性框的方法;
图2表示针对功能表达式的一个实例的一个屏蔽表;
图3表示针对功能表达式的又一个实例的另一个屏蔽表;
图4表示兼容性框的一种优选格式;
图5表示针对功能表达式的再一个实例的屏蔽表;
图6是一个流程图,表示一种用以确定一个文件是否兼容于一个读出器的方法;
图7是一个计算机系统的一个示意性的方框图,在其上可以实施上述的设计安排;
图8表示一种图像文件结构;
图9表示另一种图像文件结构;
图10表示当正在处理一个具有单色说明的单层文件时,图9的图像文件结构;
图11是一个流程图,表示一种根据图8所示的文件格式,用于在已编码的表示中,对数字图像进行编码的方法;
图12是一个流程图,表示一种根据图8和9所示的文件格式,用于对一个或多个图像进行编码的方法。
具体实施方式
为了本说明书的目的,在参照任何一个或多份附图时,除非出现相反的意图,具有相同的参考数字的各步骤和/或各特征都具有相同的(各)功能或(各)操作。
图像数据典型地被表示为数值的一个2维阵列,其中,每一个数值都代表有待于在显示屏幕上显示的一个像素的属性。在灰度级图像的情况下,这些属性可能代表该图像的像素的亮度,或者该像素的一个颜色组分的亮度。彩色图像典型地具有几个组分,它们是颜色组分(例如,红、绿和兰),一个亮度组分,有时还包括各辅助组分,诸如不透明度组分。因此,图像数据的表示十分依赖于所使用的颜色模型。
典型地对图像进行编码,以形成比特流,典型地,将一个或多个这样的比特流跟相关的开销信息组合在一起,以形成代码流,然后,代码流可以被用于存储和/或传送图像。相关的开销信息是读出器在对(各)比特流进行解码和将(各)比特流扩展为图像数据时所需的信息。
下面,将说明一个表达式,该表达式可以被用来说明为将比特流解码和扩展为图像数据所需的功能。该表达式最好是被纳入到一个比特流的开销信息之中。由于在对各种颜色模型进行编码和解码的不同方法中的复杂性,所以在比特流开销信息中包括一个可能的选项的列表用以说明对比特流进行解码和扩展所需的功能是不够的。不仅(各)比特流可能含有多种不同的颜色模型,而且对比特流进行编码还有多种可能的方法。可以用多种不同的方法来将相同的图像数据存储到相同的文件之中。作为一个实例,给定含有动画帧的一个图像数据文件,一个兼容于第一编码器以及第一颜色模型、用以读出动画帧的解码器,其中,该解码器也兼容于第二颜色模型以便读出一个关键帧(keyframe),一个使用编码器理解动画文件、但是不理解第一颜色模型的读出器仅能显示关键帧。
一个可以被纳入到一个文件的开销信息之中、用以说明为读出该文件所需的功能的表达式的一个实例如下:
(A OR B)AND(C OR D) (1)
式中,每一个字母都表示所需功能的各个方面。因此,为了读出该文件,读出器需要支持功能A或功能B,并且支持功能C或功能D。
最好是使用一个位屏蔽来表示上述功能表达式,并将其编码到一个兼容性框之中。图1是一个流程图200,表示一种用以建立位屏蔽和兼容性框的方法。流程图200的处理过程开始于第一步骤210,在这里,一个功能表达式作为一个输入被接收。在下一个步骤220,功能表达式被展开为用多个AND语句分隔的一系列的OR子表达式。
在下一个步骤230,生成一个屏蔽表,表中的每一列都表示所需功能的一个方面。OR子表达式被放置在屏蔽表的各列之中。图2表示针对表达式(1)的功能表达式的屏蔽表300,其中,屏蔽表300具有按行列出的所需功能310的各个方面(即,A、B、C和D)。屏蔽表300的各列320和330分别代表一个OR子表达式。通过将出现在OR子表达式之中的每一个方面表示为一个“1”位,而将其余各方面表示为一个“0”位,就能将第一OR子表达式(即,A OR B)放置在列320之中。因此,由于在OR子表达式(A OR B)中仅出现方面A和B,所以列320具有作为一个条目的位串“1100”。按照类似的方式,第二OR子表达式(C OR D)以条目“0011”的形式被放置在列330之中。
还提供了所需的屏蔽行340,其中包括对屏蔽表300中的所有各行执行按位的OR运算符所产生的结果,这是为读出该文件所必需的。按照图2的实例,对各行310执行按位的OR运算符,即,10 OR 10 OR01 OR 01,以生成所需的屏蔽11。
更复杂的功能表达式一个实例如下:
(A AND B)OR(C AND D) (2)
表达式(2)表明,读出器必须或者支持功能方面A和B,或者可供选择地支持功能方面C和D。
表达式(2)不属于指定格式(即,用多个AND语句分隔的一系列的OR子表达式),并且在步骤220中被扩展,以给出下列形式:
(A AND B)OR(C AND D)=(A OR C)AND(A OR D)AND(B OR C)AND(B OR D) (3)
在下一个步骤230,生成如图3所示的屏蔽350。若所需的功能方面出现在OR子表达式之中,则屏蔽350中的每一个OR子表达式都将被放置在各列之中,每列一个“1”位。由于在已展开的表达式中,存在4个OR子表达式,所以屏蔽350具有4列。所需的屏蔽条目为1111。
在流程图200的下一个步骤240,从屏蔽表生成兼容性框,用以说明关于为访问该文件所需的功能的信息。此项功能可以是经销商特定的,也可以按照一个公认的标准来定义。兼容性框被放置在靠近文件的开始处,由此使读出器能迅速地确定该文件是否可以被解读。兼容性信息能说明所需功能方面的一个精简集合适于解读该文件的(各)部分。例如,兼容性框中的信息能说明一个静止图像读出器适于显示一个动画文件的一个静止版本。
图4表示兼容性框400的一种优选格式,它包括一个ML字段410,一个RM字段420,各Flagi字段430,各EFi字段440以及各MSi字段450。这些字段的定义如下:
ML:这个字段为一个字节,它指定用于兼容性屏蔽的字节数,并包括所需的屏蔽连同针对每一个所需的功能方面的屏蔽。有效数值为1、2、4和8。
RM:这个字段说明所需的屏蔽。
Flagi:这个字段提供一个兼容性标志,它将每一个所需功能方面的含义通知读出器。有两种类型的兼容性标志,即“标准”标志和“扩展”标志。一个单独的字节可以被用来存储标准标志,以及一个64位的通用唯一标识符(UUID)可以被用来说明扩展标志。Flagi字段是一个单独的字节,它指定一个标准标志被用来表示所需的功能方面。然而,若该字段的最高位已被设置,则该字段的其余各位就变为一个UUID扩展标志的高端第一个字节。
EFi:这是一个可选字段,表示UUID扩展标志的低端15个字节。
MSi:这个字段指定针对所需的功能方面的屏蔽。
因此,兼容性框具有下列字段,各具有指定的大小和可能的数值,如下面的表1所示:
表1
字段名 | 大小(比特) | 数值 |
ML | 8 | 1, 2, 4, 8 |
RM | 8 | 1, 2, 4, 8 |
Flag1 | 8 | 0-127 |
EF1 | 128(包括标志) | 2127-(2128-1) |
MS1 | 8 | 1, 2, 4, 8 |
在一个将UUID跟URL链接起来、能指定关于UUID的更多信息的文件中,将指定进一步的信息。
下列各表格(即,表2,3和4)列出了优选的兼容性标志。这些表格被归类为各代码流标志,各颜色标志以及各元数据标志。
表2 代码流标志
标志 | 描述 |
1 | 代码流索引 |
2 | 多个代码流 |
3 | 单个代码流 |
4 | 分段的代码流 |
5 | 压缩方案X |
6 | 压缩方案Y |
表3 颜色标志
标志 | 描述 |
16 | sRGB颜色模型 |
17 | 受限制的ICC特征文件 |
18 | 完整的ICC特征文件 |
19 | 已调色的颜色 |
表4 元数据标志
标志 | 注解 |
64 | 知识产权信息 |
65 | 内容描述 |
66 | 创建信息 |
67 | 历史信息 |
在多种标准文件格式(例如JPEG 2000)的条件下,不指定扩展标志,但是规定由各经销商使用一个UUID来生成他们的自己的兼容性标志。例如,若一个经销商希望指定他们自己的经销商特定颜色模型,则使用一个UUID来标识这个颜色模型。最好是,在整个文件中,都使用一个单独的UUID来指定新的颜色模型。
作为一个实例,针对一个文件含有一个单独的已压缩的代码流,一个受限制的ICC特征颜色模型和一个sRGB颜色模型,以及含有知识产权信息的元数据的兼容性框可以使用如下所述的流程图200的方法建立:
在步骤210,文件的兼容性信息作为一个表达式被输入。根据以上信息,适当的功能表达式为:
(A AND B AND C AND E)OR(A AND B AND D AND E)(4)式中,A表示一个单独的代码流,B表示一个压缩方案X代码流,C表示一个sRGB颜色模型,D表示受限制的ICC特征文件,以及E表示含有知识产权信息的元数据。
在下一个步骤220,表达式(4)的功能表达式被展开为下列用AND语句分隔的一系列的OR子表达式:
A AND B AND(C OR D)AND E (5)
在下一个步骤230,为表达式(5)的功能表达式生成如图5所示的屏蔽表500。表500的每一行都代表所需功能的一个方面。有5个所需功能的方面,分别表示为A,B,C,D和E。各OR子表达式被放置在屏蔽表500的各列之中。要注意的是,针对表达式(5)的大多数OR子表达式都不含有实际的OR运算符,而是通过用AND运算符进行分隔来给出标识。
所需的屏蔽列510包括对所有各行执行OR运算符所产生的结果。按照图5的实例,OR运算符被执行如下:
0001 OR 0010 OR 0100 OR 0100 OR 1000=1111 (6)
在下一个步骤240,从屏蔽表500生成兼容性框的过程如下。ML字段条目被选择为1,允许将一个字节用于兼容性屏蔽。RM字段条目简单地就是用“0”位添加到行510之中,以填充由ML字段指定的字节数。因此,RM字段条目就是00001111或十进制数15。
随后就能定义各兼容性标志以及它们的各自的屏蔽。所有的兼容性标志都是标准标志,并且其中的每一个都用一个单字节来表示。从兼容性标志表中查找所需功能的每一个方面,针对本实例的各自的兼容性标志被指定如下:
单独的代码流3;
压缩方案X代码流5;
sRGB颜色模型16;
受限制的ICC特征文件17;以及
含有知识产权信息的元数据64。
由于仅使用标准的标志,所以不出现EFi字段。
最后,为每一个所需的功能方面确定屏蔽MSi。
这些屏蔽MSi实质上就是屏蔽表500的各行(不考虑所需的屏蔽行510),用添加的各“0”位来填充由ML字段所指定的字节数。
归纳起来,针对本实例的兼容性框说明如下:
ML=1
RM=0000 1111
Flag1=3 MS1=0000 0001
Flag2=5 MS2=0000 0010
Flag3=16 MS3=0000 0100
Flag4=17 MS4=0000 0100
Flag5=64 MS5=0000 1000
可以通过将各字段组合为:
“0x010F03010502100411044008”(7)
来将兼容性框作为一个HEX串而被纳入到文件的开销信息之中。
本实例的兼容性框指定,读出器必须了解一个单独的压缩方案X代码流,以及需要一个sRGB颜色模型或者受限制的ICC特征文件(profile)。它还指定sRGB颜色模型以及受限制的ICC特征文件二者提供相同的功能。
图6是一个流程图600,表示一种用以确定一个文件是否兼容于一个特定的读出器的方法。该文件含有兼容性框,框内含有一个上述的各种标志和标志屏蔽的列表。在第一步骤610,变量compat被设置为0。在下一个步骤620,变量flag被赋予来自标志列表的下一个标志的值,上述标志列表被纳入该文件的兼容性框之中。
流程图600的处理过程在下一个步骤630中将继续进行,在这里将确定读出器是否支持该标志(Flagi)。若该标志受到支持,则在下一个步骤640,针对与该标志相对应的功能方面,在变量compat和屏蔽之间,将进行一次按位的“OR”运算。例如,若该标志是Flag3,则变量flag mask(标志屏蔽)就是屏蔽MS3=0000 0100。按位的“OR”运算结果将作为新值赋予变量compat。
在步骤630,若标志没有得到读出器的支持,则流程图600的处理过程将转入步骤650,在这里将确定在兼客性框中所说明的标志列表中是否还有任何剩余标志。若在步骤650中还有剩余的标志,则处理过程将返回到步骤620,读取下一个标志。
可供选择地,在步骤650中,若已经考虑到在兼客性框中所含有的所有标志,则流程图600的处理过程将转入步骤680,在这里,在变量compat和兼容性框中所需屏蔽字段的值之间进行按位的“AND”运算。运算结果跟兼容性框中的所需屏蔽字段进行比较。若两个数值相符,则在步骤690报告其兼容性。否则,在步骤695将报告该文件跟读出器不兼容,文件就打不开。
上述方法令读出器不仅确定某个给定文件能否读出,而且还能确定文件中的哪一个功能方面应当被读出。这些方法也使读出器能够读懂将在以后生成的所有兼容文件,从而使以后的读出器也能够读出当前的兼容性文件。由于每一个文件都指定了它提供何种功能,而不是依赖于读出器来判定此种功能,所以使上述方法成为可能。
图8表示根据本发明的另一方面的图像文件结构。文件800包括被顺序地装入二进制文件之中的多个元素802-808。早就在文件之中的元素包括报头信息802(即开销信息),该报头信息不仅包括标识文件类型的信息,也包括对文件800中所含有的图像数据的各参数进行描述的信息。
文件800最好含有一个代码流报头框805,该框列出了类型以及通道信息,这些信息存储在一个或多个图像层806-808或对图像数据的参考的每一个之中。本文将在后面对代码流报头框805进行详细叙述。
一个文件中可以包含或参考若干幅不同的静止图像(例如,图像层806-808),并且这些图像中的每一个被称为如上所述的一层。由于显示的需要,某些层打算重叠于其他图像层之上,或者以其他方式跟文件中的其他图像层组合在一起,所以分开来看的话,这些层可能在视觉上是不完整的。但每一层都是一个完整的代码流或代码流的集合,可以独立地进行解码,而且在本说明书的范围内,每一层都被认为是不同的。通过单独地或组合地使用一个或多个图像层806-808,就能进行动画显示。在本实例中,文件800含有动画控制块804,其中含有动画控制信息。
每一个图像层(例如806)包括一个或多个通道,这些通道可以表现为文件800中含有的、或者由该文件参考或者通过利用查找表对图像元素进行映射而导出的一个或多个代码流。文件800中所包含的每个代码流或参考将出现在一个或多个文件元素之中。文件读出器利用报头元素中的信息来恢复完整的代码流,并将其解码为各图像层。例如,如上所述,报头元素中的信息可能含有代码流标志(如代码流索引,代码流数目,代码流类型等),颜色标志(例如sRGB彩色空间,受限制的ICC特征文件,已调色的颜色等)和元数据标志(例如知识产权信息,内容描述,创建信息和历史信息等)。
每一层的各通道(例如806)包括像素数值的阵列。这些阵列跟一个彩色空间所专有的颜色信息的样本是相对应的,该样本在文件800的报头802中给出定义。一个单独的通道也可能对应于在一个灰度级图像中的亮度样本。一个或多个通道也可能含有不透明度信息的样本,用来表示该层的其他通道。这种通道通常被称为α通道。α通道数据可能是二进制(或双电平),其中,每一个样本数据只能取两种可能数值其中之一,这两种数值分别对应于完全透明与完全不透明。通过将一种独特的颜色赋予本来完全透明的所有像素上,就能使用彩色通道对二进制α数据进行编码。
下面将对以文件800为代表的、将数字图像编码为按照图8的文件格式的方法进行描述。文件800包括文件或代码流800,它包括带有全局参数的报头802,全局参数包括但不局限于为显示文件中所包含的任何图像层所需的屏幕区域;另外,文件800还包含有一个数据块805,也就是所谓的代码流报头框,它表示代码流的类型以及通道信息;以及用任何适当方法(例如RGB,L*a’b’)进行编码的图像层806-808的序列。
可供选择地,代码流报头框805可以被纳入到报头802之中。
图11是一个流程图,表示按照图8的文件格式,在已编码的表示中对数字图像进行编码的方法。处理过程从步骤1101开始,在这里对文件800(即,已编码的表示)中的各数字图像(各层)中的每一个确定一个描述。在下一个步骤1103,描述和各数字图像将被编码为代码流,其中,至少有一个描述顺序地关联于多个数字图像。
回到图8,代码流报头框805列出存储在文件800中的每一个图像层806-808之中的图像类型和通道信息。一种已知的、适于与图8的文件格式配合使用的代码流报头框类型就是“jcsh”(X‘6A637368’)。
如图8的部件分解图所示,代码流报头框805含有多个字段901-917。代码流报头框805包括跟每一个图像层806-808相关的每一个代码流的一个代码流描述。例如,若一层有两个相关的码流,则代码流报头框805将包括两项针对该特定层的代码流描述。根据图8的文件格式,代码流的描述由字段905-917组成,如图8所示。
由字母NL所标记的字段901含有在该文件中图像的层数。字母NC所标记的字段903含有该文件的代码流数目。字母CTi所标记的字段905说明当前被处理的代码流i的代码流类型。例如,可以根据联合图像专家组(JPEG)编码标准,嵌入零树的小波(EZW)压缩,分层树中的集合划分(SPIHT)算法,可伸缩的图像压缩,或者任何其他合适的图像压缩方法,对代码流i进行编码。由字母CSi标记的字段907描述的是当前被处理的代码流i的颜色说明的数目。在字段907中的数值0说明对代码流i没使用的颜色说明。由字母PLTi标记的字段909描述的是代码流i的调色板的数目。字段909中的数值0说明对代码流i没有使用调色板。以字母LYRi为参照的字段911说明与代码流i相对应的图像层。在文件800中,图像层最好用从表示第一层806的1到表示最后一层808的n来表示。以字母NLCi为参照的字段913说明的是代码流i中逻辑组分的数目。以首字母缩写词CLTix为参照的字段915所定义的是第i个代码流的第x个逻辑组分中的数据的性质。字段915可以具有4个数值“0,1,2或3”其中之一。字段915中的每一个数值0-3的含义在下面的表5中列出:
表5
类型 | 含义 |
0 | 可以直接地关联于一种颜色空间说明的一个特定通道的亮度数据(包括灰度级) |
1 | 在0~1的范围内表示的不透明度数据 |
2 | 相关的(预先相乘的)不透明度数据。 |
3 | 相关数据的相对频率。这主要地跟所建议的调色板配合使用,使得在对各种颜色进行重新量化时,令文件读出器作出有用的判定。 |
以字母CLAix为参照的字段917含有一个指标,它表示一个当前层的数据与之相关的彩色通道。字段917最好是一个数字数值,并且最好是被编码为一个使用网络字节顺序的16位无符号整数。字段917的数值将第i个代码流的第x个逻辑组分跟在所指定的彩色空间中的一个通道联系起来。在颜色说明中的各通道最好被编号为从1到m,这里m表示通道的数目。例如,若颜色说明为sRGB,则数值1将该组分跟红色通道联系在一起。还有,特殊数值(0)将一个组分跟所指定的彩色空间的所有彩色通道联系在一起。(0)跟亮度在一起可以被用来说明一个代码流含有灰度级样本。
根据图8的文件格式,各字段901-917中的每一个的大小以及每一个字段可以被设置的数值示于下面的表6:
表6
字段名 | 大小(比特) | 数值 |
NL | 32 | 1-(232-1) |
NC | 32 | 1-(232-1) |
CT | 64(UUID) | 0-(264-1) |
CS | 32 | 0-(232-1) |
PLT | 32 | 0-(232-1) |
LYR | 32 | 1-(232-1) |
NLC | 32 | 1-(232-1) |
CLT | 32 | 0-(232-1) |
CLA | 32 | 0-(232-1) |
在代码流报头框805中的最后一个层描述最好被用来描述文件800中剩余的所有各层。例如,若文件800含有200层以及3个层描述,则头两个层描述说明前两层,并且第三个层描述说明在文件800中其余的198层。这就是说,最后的未指定的层可以按需进行重复。由于不需要具备对应于每一层的一个描述,所以就能用一个单独的描述来表示具有相同描述的许多层,从而得到更有效的文件格式。还有,由一个文件读出器来处理按照图8的文件格式进行编码的文件所需的时间得以缩短。
作为一个实例,假设文件800含有如下面的表7所示的下列开销信息:
表7
层 | 代码流 | 颜色信息 |
1 | 1 | RGB |
2 | 2 | RGB |
2 | 3 | A |
3 | 4 | RGBA |
4 | 5 | RGBA |
在表7中,“RGB”表示RGB彩色空间,“A”表示α通道。根据表7的实例,代码流报头框805将含有下列信息,其中,添加了用括号括起来的“层描述数目”,以帮助解释:
NL=4
NC=5
(层描述1)
CT1=EZW
CS1=1
PLT1=0
LYR1=1
NLC1=3
CLT11=0 CLT12=0 CLT13=0
CLA11=1 CLA12=2 CLA13=3
(层描述2)
CT2=EZW
CS2=1
PLT2=0
LYR2=2
NLC2=3
CLT21=0 CLT22=0 CLT23=0
CLA21=1 CLA22=2 CLA23=3
CT3=EZW
CS3=1
PLT3=0
LYR3=2
NLC3=1
CLT31=1
CLA31=0
(层描述3)
CT4=EZW
CS4=1
PLR4=0
LYR4=3
NLC4=4
CLT41=0 CLT42=0 CLT43=0 CLT44=1
CLA41=1 CLA42=2 CLA43=3 CLA44=0
要注意的是,层4没有被指定,并且,根据这个实例,它跟层3相同。还有,如在表7中所见,由于层2包括两个代码流(即,RGB以及α通道A),所以层描述2含有两个代码流描述。在表7的上述实例中,当文件800被解码时,文件读出器将确定存在比层描述更多的层(即,NL=4,层描述=3),并利用层描述3来描述层4(以及任何剩余的各层)。
根据本发明的又一个方面,文件1000的报头1002包括至少一个框1001,它含有一个被显示的图像的宽度和高度,以及层数,连同在文件1000中对各层1006-1008中每一层的定义,如同在图9中所看到的那样。框1001将图像大小说明1003,层描述(例如1005)(或者层说明),一个组分映射以及一个组分转换表融合在一起。这使得报头1002便于阅读。下面将更详细地说明框1001的各字段。
根据图9的文件格式,层描述(例如1005)包括一个“重复”标志925,它指定层描述1005适用的各连续层的数目。重复标志可以具有一个数值,最好是处于“0-65535”的范围内。重复标志925的数值为“65535”意味着该特定的层描述适用于在文件1000中剩余的所有各层。重复标志925允许各层的连续组具有相似的层描述。因此,可以用一个单独的描述来表示具有相同描述的许多层,从而得到更有效的文件格式。
根据图9的文件格式,每一个层描述(例如1005)都包括代码流1007以及它们的相关的代码流描述1009的数目,如同在图9的部件分解图中所看到的那样。用压缩类型1011,颜色说明1013,由调色板所定义的组分转换或映射1015,以及一组组分定义1017(类型相关对)—每个组分一个,来定义每一个代码流。
根据图9的文件格式,在报头1002中,用对分别出现在报头框921和919之中的颜色说明和调色板的集合的一个索引,来指定彩色空间和调色板二者。作为第一个步骤,最好是将组分转换或调色板查找应用于被解码的图像数据,并且所得到的各像素被分配到由正在被使用的一个颜色说明所定义的彩色空间(例如sRGB或者由一个受限制的ICC特征文件所定义的空间)。
当用单独的颜色说明等来处理一个单层文件时,图9的报头将简化为报头1019,如同在图10中所看到的那样。图10表示,对于由图9的报头1002所帮助实现的所有附加能力,其基本句法并不复杂。
在报头框1001,1021中的各字段的定义如下面的表8所示:
表8
标记 | 编 码 | 描 述 |
宽度 | 采用网络字节顺序的32位无符号整数 | 为显示该文件所需的显示区域的各像素的宽度 |
高度 | 采用网络字节顺序的32位无符号整数 | 为显示该文件所需的显示区域的各像素的高度 |
层次 | 采用网络字节顺序的16位无符号整数 | 在文件中各层的数目 |
层说明(1) | 见表9 | 针对在文件中所包含的一层或多层的说明(即描述) |
在层说明框923,1023中的各字段的定义如下面的表9所示:
表9
标记 | 编 码 | 描 述 |
重复 | 采用网络字节顺序的32位无符号整数 | 层说明(即描述)适用的连续层的数目。数值为65535意味着文件中剩余的所有层。在文件中,在一个具有重复计数的框后面的各附加的层说明无效。 |
代码流数 | 采用网络字节顺序的16位无符号整数 | 在包括这一层的文件中连续的代码流的数目。 |
代码流说明(C) | 见表10 | 针对含有这一层的代码流中的每一个的说明(即描述) |
在代码流描述1009中的各字段的定义如下面的表10所示:
表10
标记 | 编 码 | 描 述 |
类型 | 采用网络字节顺序的32位无符号整数 | 与此特定代码流(例如JPEG,EZW等)一同使用的编码方法 |
颜色说明 | 采用网络字节顺序的16位无符号整数 | 对在报头框中所定义的颜色说明的集合的索引 |
组分映射 | 见表11 | 执行调色板或组分转换,以恢复所需的颜色样本 |
组分定义 | 一系列的类型关联对,使各组分与颜色说明的各通道连结 |
由组分转换/映射说明1015所定义的信息被定义于下列的表11,12和13之中:
表11
标记 | 编码 | 描述 |
变换类型 | UUID(即通用的唯一标识符)/枚举 | 0=没有指定组分变换1=矩阵变换2=γ调节3=矩阵变换和γ调节4=调色板 |
参数 | 见表12-13 | 适用于变换类型的参数 |
表12
标记 | 编码 | 描述 |
N | 采用网络字节顺序的16位无符号整数 | 正在被转换的组分的数目 |
矩阵 | 使用网络字节顺序的16.16定点数的矢量 | 逐列扫描一个N×N+1矩阵,其中,N为正在被转换的组分的数目。矩阵的最后一列可以被用来改变用于像素数据的零点。 |
表13
标记 | 编码 | 描述 |
N | 采用网络字节顺序的16位无符号整数 | 正在被转换的组分的数目 |
γ | 使用网络字节顺序的16.16定点数 | 准备在逆变换中使用的指数 |
最大值 | 使用网络字节顺序的16.16定点数 | 变量maxint被映射到的数值 |
零 | 使用网络字节顺序的16.16字点数 | 0被映射到的数值 |
宽度 | 使用网络字节顺序的16.16定点数 | 环境0的线性区域的宽度。仅指定正的宽度,但是,应当在0的两侧对称地应用γ |
斜率 | 使用网络字节顺序的16.16字点数 | 在线性区域中使用的斜率 |
图12是一个流程图,表示将一个或多个图像编码为图8和9所示的文件格式(即,已编码的表示)的一种方法。处理过程开始于步骤1201,在这里确定所需的层数。在下一个步骤1203,根据为每一层所使用的编码类型以及在每一层中的代码流的数目,来确定一个层描述。处理过程转入下一个步骤1205继续执行,在这里对各个层描述进行比较,以确定具有相同描述的各层的数目。在下一个步骤1207,确定各层的展示顺序。处理过程结束于下一个步骤1209,在这里描述和各层被编码为优选的文件格式,或者,可供选择地,被编码为一个比特流,使得相同描述的至少一个被纳入优选的文件格式之中。还有,具有相同层描述的那些层被顺序地放置在一个特定文件的末尾。
本文所描述的方法在联合图像专家组(JPEG)编码标准中具有特殊的应用。特别是,JPEG2000部分1标准定义了一个特征文件框,其中含有一个4字节代码的列表,描述在该文件所遵循的这样的标准范围内的各项标准或各特征文件。然而,在JPEG2000部分1标准中存在许多限制,而本文所描述的各种方法能解决这些限制。首先,为保证相同的4个代码不被用来描述独立的各种兼容性,用于JPEG2000部分1标准的各种代码必须由一个中央权威机构来提供。在使用可能由独立的经销商产生的UUID中,本文所描述的各种方法保证使用唯一的代码来描述各种独立的兼容性。
其次,JPEG2000部分1标准列举了一组功能,而并没有表明哪些功能组是强制性的,以及哪些针对代码流为可选的。例如,没有办法来定义与JPEG2000部分2标准代码流相结合的复杂颜色定义会被要求用于特定的代码流传输。本文所描述的方法允许定义各种功能组。
第三,参照于一个标准或者在一个标准中的一个特征文件是如此的粗糙,以至于无法定义特定的功能。同样,这样一种参照不允许在两项不同标准之间有所重叠。例如,JPEG2000文件使用受限制的ICC特征文件。本文所描述的方法使得能说明一个单独的功能,因而凡是能理解该文件格式并能读出受限制的ICC特征文件的任何事物都能读出根据本文所描述的各种方法而进行格式化的文件。
第四,若一个文件含有一个单独的JPEG2000部分1标准代码流,一个报头以及一个颜色说明,则按照上述方式来描述文件就能使一个JPEG2000兼容的读出器在不必指定该文件遵循JPEG2000标准的条件下,读出该文件。
第五,若一个特定的文件指定多个特征文件,而不指定特定的功能,则读出器可能无法读出未来的文件。若读出器不理解未来的特征文件,但的确理解由如上所述的一个特征文件所提供的特定功能,则读出器仍能读出该文件。
处于上述的兼容性框以内的各项特征可以在整个JPEG2000文件的范围内被使用。使用一个枚举数值或者一个UUID,可以以同样的方式来识别一个在JPEG2000文件中的任何其他地方被参考的特征。例如,sRGB(使用数值16来定义)可以在一个颜色说明的范围内被使用,并且在兼容性框以内,最好具有相同的数值。
此外,在JPEG2000标准中使用的当前UUID列表框指定一个URL,它被用来作为指定涉及一个UUID的更多信息的链接。根据JPEG2000部分1标准,这些URL被用来定义各UUID框。UUID列表框还可以被用来定义在上述的兼容性框中用以描述功能的各UUID。
最好是使用一个常规的通用计算机系统700来实现上述的各种方法,例如图7所示,其中,图1至6以及图8至11所示的处理过程可以用软件(例如在计算机系统700中执行的一个应用程序)来实现。特别是,上述的各种方法都是由计算机所执行的软件中的各种指令来实现的。该软件可以划分为两个独立的部分:一部分用于执行上述方法,另一部分用于管理介于方法与用户之间的用户接口。该软件可以被存储在一种计算机可读介质之中,包括例如下述的存储装置。该软件从计算机可读介质被装入计算机,随后由计算机执行。在其上记录有这样的软件或计算机程序的计算机可读介质就是计算机程序产品。在计算机中使用计算机程序产品优选地实现一种能根据本发明的各实施例对数字图像进行编码的有利的装置。
计算机系统700包括一个计算机模块701,诸如键盘702以及鼠标703那样的输入装置,包括打印机715和显示装置714的输出装置。计算机模块701使用一个调制解调器(Modem)收发装置716,用以与例如可经由电话线路721或其他功能介质连接的计算机网络720进行双向通信。可以使用调制解调器716来访问因特网,以及其他网络系统,诸如局域网(LAN)或广域网(WAN)。
计算机模块701典型地包括至少一个处理器单元705,存储器单元706,例如由半导体随机存取存储器(RAM)和只读存储器(ROM)所形成的存储器单元,包括一个视频接口707的输入/输出(I/O)接口,以及一个用于键盘702,鼠标703,以及可选地用于操纵杆(未示出)的I/O接口713,以及用于调制解调器716的接口708。提供了存储装置709,它典型地包括一个硬盘驱动器710以及一个软盘驱动器711。还可以使用磁带驱动器(未示出)。典型地提供一个光盘驱动器(CD-ROM)712,作为一个非易失性数据源。计算机模块701的各部件705至713典型地经由互联总线704进行通信,并且其通信方式能导致为业界人士所熟知的计算机系统700的常规运行方式。可以在其上实现各实施例的计算机的实例包括基于英特尔(Intel)处理器的个人计算机和各种兼容机,Sun公司的Sparc工作站或从其演变来的类似的各种计算机系统。
典型地,优选实施例的应用程序驻留在硬盘驱动器710之中,并且在其执行过程中由处理器705读出和控制。可以使用半导体存储器706并且可能跟硬盘驱动器710协同工作,来完成程序以及从网络720取出的任何数据的中间存储。在某些实例中,可以通过被编码在一个CD-ROM或软盘之上,并经由相应的驱动器712或711读出的方式来向用户提供应用程序,或者,可供选择地,可以由用户经由调制解调器装置716从网络720读出应用程序。再有,可以从其他计算机可读介质(包括磁带,一个ROM或集成电路,一个磁光盘,介于计算机模块701以及其他装置之间的无线或红外传输通道,诸如一块PCMCIA卡那样的计算机可读卡,以及包括电子邮件传输和记录在网站等之上的信息在内的因特网和内联网)将软件装入到计算机系统700。以上仅仅是有关的计算机可读介质的示例。在不背离本发明的范围和精神实质的前提下,也可以使用其他的计算机可读介质。
可供选择地,可以在专用硬件,诸如能执行上述方法的功能或子功能的一种或多种集成电路中,实现上述方法。这样的专用硬件可以包括各种图形处理器,数字信号处理器,一种或多种微处理器以及各种相关的存储器。
工业适用性
根据以上所述,显而易见,本发明的实施例可以应用程序于计算机以及数据处理行业,特别是应用程序于这些行业的某些部门。而且,本发明的实施例还可以应用程序于广告业和娱乐业。
以上所叙述的仅仅是本发明的某些实施例,并且在不背离本发明的范围和精神实质的前提下,可以作出各种修改和/或变更,这些实施例是说明性的,而不是限制性的。
Claims (22)
1.一种电子文件,包括:
已编码的数字图像数据;以及
表示多个布尔运算的一个表达式,所述表达式至少标识用于对所述已编码的数字图像数据进行解码以使所述已编码的数字图像数据能被读取的一种方法。
2.根据权利要求1所述的电子文件,其中,所述多个布尔运算包括至少一个按位的“AND”运算符。
3.根据权利要求1所述的电子文件,其中,所述表达式表示由按位的“AND”运算符分隔的一系列按位的“OR”运算。
4.根据权利要求1至3中任何一个所述的电子文件,其中,所述表达式被编码,以包括至少一个识别标志和一个相关的屏蔽。
5.根据权利要求4所述的电子文件,其中,所述识别标志指定一个枚举数值或一个通用的唯一标识符。
6.根据权利要求5所述的电子文件,其中,所述枚举数值的第一位被用来指示出所述识别标志指定一个通用的唯一标识符。
7.一种用于对含有至少一个已编码的数字图像的电子文件进行编码的方法;所述方法包括下列各步骤:
确定一个表示多个布尔运算的表达式,所述表达式至少标识用于对所述已编码的数字图像数据进行解码以使所述已编码的数字图像数据能被读取的一种方法;以及
将所述表达式添加到所述电子文件的一个支持数据区之中。
8.根据权利要求7所述的方法,其中,所述多个布尔运算包括至少一个按位的“AND”运算符。
9.根据权利要求7所述的方法,其中,所述表达式表示由按位的“AND”运算符分隔的一系列按位的“OR”运算。
10.根据权利要求7至9中任何一个所述的方法,其中,所述表达式被编码以包括至少一个识别标志和一个相关的屏蔽。
11.根据权利要求10所述的方法,其中,所述识别标志指定一个枚举数值或一个通用的唯一标识符。
12.根据权利要求11所述的方法,其中,所述枚举数值的第一位被用来指示出所述识别标志指定一个通用的唯一标识符。
13.根据权利要求7所述的方法,其中所述方法的步骤是作为驻留在计算机可读介质上的程序的一个或多个软件模块实现的。
14.根据权利要求13所述的方法,其中所述程序由一个处理器执行。
15.根据权利要求14所述的方法,其中所述计算机可读介质和所述处理器被配置在一个计算机上。
16.一种用于对含有至少一个已编码的数字图像的电子文件进行编码的设备,所述设备包括:
用于接收一个表示多个布尔运算的表达式的装置,所述表达式至少标识用于对所述已编码的数字图像数据进行解码以使所述已编码的数字图像数据能被读取的一种方法;
用于将所述表达式添加到所述电子文件的一个支持数据区之中的装置。
17.根据权利要求16所述的设备,其中,所述多个布尔运算包括至少一个按位的“AND”运算符。
18.根据权利要求16所述的设备,其中,所述表达式表示由按位的“AND”运算符分隔的一系列按位的“OR”运算。
19.根据权利要求16至18中任何一个所述的装置,其中,所述表达式被编码以包括至少一个识别标志和一个相关的屏蔽。
20.根据权利要求19所述的设备,其中,所述识别标志指定一个枚举数值或一个通用的唯一标识符。
21.根据权利要求20所述的设备,其中,所述枚举数值的第一位被用来指示出所述识别标志指定一个通用的唯一标识符。
22.根据权利要求16所述的设备,其中所述设备是一个计算机。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPQ7833A AUPQ783300A0 (en) | 2000-05-29 | 2000-05-29 | A method for encoding an image file |
AUPQ7833 | 2000-05-29 | ||
AUPQ7863 | 2000-05-31 | ||
AUPQ7863A AUPQ786300A0 (en) | 2000-05-31 | 2000-05-31 | A method for enabling file format compatibility |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1432171A CN1432171A (zh) | 2003-07-23 |
CN1179304C true CN1179304C (zh) | 2004-12-08 |
Family
ID=25646343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018104525A Expired - Fee Related CN1179304C (zh) | 2000-05-29 | 2001-05-29 | 一种用以实现文件格式兼容性的方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20040015491A1 (zh) |
EP (1) | EP1287493A4 (zh) |
JP (1) | JP3768959B2 (zh) |
KR (1) | KR100551669B1 (zh) |
CN (1) | CN1179304C (zh) |
AU (2) | AU6189701A (zh) |
WO (1) | WO2001093200A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954215B2 (en) | 2002-06-28 | 2005-10-11 | Microsoft Corporation | System and method for employing non-alpha channel image data in an alpha-channel-aware environment |
US8244663B2 (en) * | 2009-05-27 | 2012-08-14 | Sandisk Technologies Inc. | Method and host device for enforcing a rule associated with a media file |
US8797349B2 (en) * | 2010-04-23 | 2014-08-05 | Casio Computer Co., Ltd. | Image processing apparatus and image processing method |
US10931968B2 (en) | 2017-07-31 | 2021-02-23 | Nokia Technologies Oy | Method and apparatus for encoding or decoding video content including regions having looping videos of different loop lengths |
WO2022205157A1 (zh) * | 2021-03-31 | 2022-10-06 | 西门子(中国)有限公司 | 一种图像传输方法及装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US129203A (en) * | 1872-07-16 | Improvement in animal-traps | ||
US103261A (en) * | 1870-05-17 | Improvement in saw-mills | ||
US172149A (en) * | 1876-01-11 | Improvement in wire picket-fences | ||
US250021A (en) * | 1881-11-22 | William a | ||
US95489A (en) * | 1869-10-05 | Improvement in dolls | ||
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5457776A (en) * | 1992-09-10 | 1995-10-10 | Motorola, Inc. | Compact memory for mixed text in graphics |
US5768424A (en) * | 1993-01-15 | 1998-06-16 | Canon, Inc. | Compression factor adjustment to facilitate image display |
JP3203290B2 (ja) * | 1994-03-31 | 2001-08-27 | 富士写真フイルム株式会社 | ディジタル電子スチル・カメラおよびメモリ・カードへの記録方法 |
US5692155A (en) * | 1995-04-19 | 1997-11-25 | International Business Machines Corporation | Method and apparatus for suspending multiple duplex pairs during back up processing to insure storage devices remain synchronized in a sequence consistent order |
US6185601B1 (en) * | 1996-08-02 | 2001-02-06 | Hewlett-Packard Company | Dynamic load balancing of a network of client and server computers |
US6199074B1 (en) * | 1997-10-09 | 2001-03-06 | International Business Machines Corporation | Database backup system ensuring consistency between primary and mirrored backup database copies despite backup interruption |
US6504571B1 (en) * | 1998-05-18 | 2003-01-07 | International Business Machines Corporation | System and methods for querying digital image archives using recorded parameters |
SE521021C2 (sv) * | 1998-06-18 | 2003-09-23 | Ericsson Telefon Ab L M | Förfarande och anordning vid överförande av bilder |
US6308284B1 (en) * | 1998-08-28 | 2001-10-23 | Emc Corporation | Method and apparatus for maintaining data coherency |
US6370626B1 (en) * | 1999-04-30 | 2002-04-09 | Emc Corporation | Method and apparatus for independent and simultaneous access to a common data set |
US6539462B1 (en) * | 1999-07-12 | 2003-03-25 | Hitachi Data Systems Corporation | Remote data copy using a prospective suspend command |
US6754682B1 (en) * | 2000-07-10 | 2004-06-22 | Emc Corporation | Method and apparatus for enabling consistent ancillary disk array storage device operations with respect to a main application |
AUPR110400A0 (en) * | 2000-10-30 | 2000-11-23 | Canon Kabushiki Kaisha | Image transfer optimisation |
US6799258B1 (en) * | 2001-01-10 | 2004-09-28 | Datacore Software Corporation | Methods and apparatus for point-in-time volumes |
US6708285B2 (en) * | 2001-03-15 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Redundant controller data storage system having system and method for handling controller resets |
US6697881B2 (en) * | 2001-05-29 | 2004-02-24 | Hewlett-Packard Development Company, L.P. | Method and system for efficient format, read, write, and initial copy processing involving sparse logical units |
US6721851B2 (en) * | 2001-08-07 | 2004-04-13 | Veritas Operating Corporation | System and method for preventing sector slipping in a storage area network |
-
2001
- 2001-05-29 JP JP2002500335A patent/JP3768959B2/ja not_active Expired - Fee Related
- 2001-05-29 EP EP01935805A patent/EP1287493A4/en not_active Withdrawn
- 2001-05-29 CN CNB018104525A patent/CN1179304C/zh not_active Expired - Fee Related
- 2001-05-29 AU AU6189701A patent/AU6189701A/xx active Pending
- 2001-05-29 WO PCT/AU2001/000626 patent/WO2001093200A1/en active IP Right Grant
- 2001-05-29 US US10/276,997 patent/US20040015491A1/en not_active Abandoned
- 2001-05-29 AU AU2001261897A patent/AU2001261897B2/en not_active Ceased
- 2001-05-29 KR KR1020027015737A patent/KR100551669B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP3768959B2 (ja) | 2006-04-19 |
JP2003535537A (ja) | 2003-11-25 |
US20040015491A1 (en) | 2004-01-22 |
AU6189701A (en) | 2001-12-11 |
AU2001261897B2 (en) | 2004-12-16 |
KR20030007666A (ko) | 2003-01-23 |
KR100551669B1 (ko) | 2006-02-13 |
WO2001093200A1 (en) | 2001-12-06 |
EP1287493A1 (en) | 2003-03-05 |
EP1287493A4 (en) | 2006-08-16 |
CN1432171A (zh) | 2003-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1253010C (zh) | 图像压缩方法及装置、图像编码装置及图像编码方法 | |
CN1120442C (zh) | 文件图象处理设备及其方法 | |
CN1207897C (zh) | 图象处理方法和设备 | |
CN1285051C (zh) | 图像处理装置及其方法 | |
CN1194550C (zh) | 通过直接离散余弦变换映射改变分辨率的设备和方法 | |
CN1132108C (zh) | 数据通信设备和方法 | |
CN1229223A (zh) | 图像处理装置、合成系统装置和方法、分离方法及客户机 | |
CN1029265C (zh) | 图形属性双向转换描述文件 | |
CN1681330A (zh) | 自适应2n叉树生成方法及3D体数据编码和解码方法和设备 | |
CN1933535A (zh) | 打印装置、打印处理方法 | |
CN1525403A (zh) | 图像处理装置 | |
CN1993976A (zh) | 利用熵编码的彩色图像数据的无损压缩 | |
CN1620094A (zh) | 用于将图像转换为预定格式的图像处理设备及方法 | |
CN101060629A (zh) | 图像压缩/解压方法及图像编/解码器和解码电路 | |
CN1333528A (zh) | 显示设备、显示方法和记录显示控制程序的记录媒体 | |
CN1604647A (zh) | 给数字视频加水印的方案 | |
CN1885899A (zh) | 图像合成装置及其控制方法和程序 | |
CN1519753A (zh) | 程序、字符输入编辑方法、装置及记录媒体 | |
CN1227612C (zh) | 颜色量化方法和使用该方法的多媒体搜索方法 | |
CN1126358C (zh) | 数字复合机 | |
CN1179304C (zh) | 一种用以实现文件格式兼容性的方法 | |
CN1217279C (zh) | 图像处理装置以及图像处理方法 | |
CN1729439A (zh) | 投影装置和图像获取方法 | |
CN1238645A (zh) | 图象处理装置、图象处理方法、图象数据结构和数据存储介质 | |
CN1574830A (zh) | 具备电子公告板功能的服务器装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20041208 Termination date: 20170529 |