之前项目为了实现彩色传真,自己翻译了一下国际标准中的这部分,现在发出来分享一下。
附件E
可选的连续色调模式
E.1 引言
这个附件指定了G3类传真下连续色调模式和灰度模式的相关技术。连续色调模式是一个可选的G3类传真特性,它允许使用灰度和彩色图像。
这个图像编码方法基于ITU-T Rec. T.42(JPEG)标准,数字压缩和连续色调静止图像编码,还有ITU-T Rec. T.42标准——一个指定彩色空间表示法的标准。
这个提供给G3类传真的图像传输方法是ITU-T Rec. T.81的一个子集,和这个建议书保持一致。
关于图像数据的色彩组件和色彩色度的介绍可以在ITU-T Rec. T.42标准中找到。
和ITU-T Rec. T30的附件E一起,本附件说明了G3类传真服务的通信协议,以及连续色调模式和灰度图像的编码的相关规格。
E.2定义
除非有明确的修改,包含在ITU-T Rec. T.4,T.30,T.81和T.42的定义在本附件同样适用。
E.2.1 CIELAB; CIE 1976 (L* a* b*)空间:一个被CIE(国际照明委员会)定义的色彩空间,它被设计得和人类视觉感知基本接近(术语解释详见维基百科)。这三个组件是L分量,或者Lightness(亮度)、关于色度的a和b分量。
E.2.2JPEG联合图像专家组:同样做为这个专家组定义的压缩方法的简写,在ITU-T Rec. T.81标准当中有详细描述。
E.2.3 JPEG基准:一个特别的8位连续离散余弦变换(DCT)——基于ITU-T Rec.T.81标准中的编码和解码过程。
E.2.4量化表:用来量化JPEG基准中DCT系数的一组值,共有64个值。
E.2.5哈夫曼表:用来进行哈夫曼编码和解码的一组可变长度的值。
E.3参考文献
– CIE Publication No. 15.2, Colorimetry, 2nd Ed., 1986.
– ITU-T Recommendation T.30 (2003), Procedures for document facsimile transmission inthe general switched telephone network.
– ITU-T Recommendation T.42 (2003), Continuous-tone colour representation method forfacsimile.
– ITU-T Recommendation T.81 (1992) | ISO/IEC 10918-1:1994, Information technology –Digital compression and coding of continuous-tone still images – Requirements andguidelines. (Commonly referred to as JPEG standard.)
E.4不同的多级图像传输模式定义
下面定义了一些不同的多级图像传输模式:
有损的灰度模式(LGM)
有损的彩色模式(LCM)
无损的灰度模式(LLGM)
无损的彩色模式(LLCM)
在这里,只介绍了LGM和LCM,LLGM和LLCM因为只有在ITU-T Rec.T.81中定义的编码中可用,所以在后面学习。
E.4.1有损的灰度模式:有损的灰度模式给G3终端用户提供一个方法,可以用超过1位/色彩单元的单色图像数据进行图像传输。这个方法不是信息节约型的,它的信息损耗决定于ITU-T Rec.T.81标准中所定义的量化表。灰度等级的表现形式被定义在CIELAB空间的亮度L组件中。
E.4.2有损的彩色模式:有损的彩色模式供给G3终端用户一个方法,可以用超过1位/色彩单元的3个色彩组件的图像数据进行图像传输。其色彩组件在ITU-T Rec.T.42标准和CIELAB亮度和色度分量中有解释。这个方法不是信息节约型的,它的信息损耗决定于ITU-T Rec.T.81标准中所定义的量化表。
E.5图像编码解释
在ITU-T Rec.T.81标准的附件B的头部,数据压缩格式,解码图像数据已经提供了足够多的说明。其他的信息,比如说高宽比,数据读取方向,以及色彩空间,都是在应用程序进行了唯一定义的。另外,一些建立服务的可用性必要的信息,按ITU-T Rec.T.30中定义的标准传输。特别的,传输JPEG编码数据时,灰度或者彩色数据的使用,8或12位/组件/色彩组数据的使用,需要在ITU-T Rec.T.30附件E中说明的DIS/DTC和DCS帧中进行定义协商。
E.5.1有损的灰度模式:灰度模式下的图像描述编码,由灰度图像的指定的JPEG编码参数实现,还有就是像ITU-T Rec.T.30附件E定义的一样,在帧头部,用单组件规格代替多组件Nf。这个JPEG语法在E6中作了更细的描述。
E.5.2有损的彩色模式:彩色模式的图像描述编码,由彩色图像和ITU-T Rec.T.30附件E定义的空间解析度的指定的JPEG编码参数实现,以及在头部用3个组件的代替多组件Nf。这个彩色图像数据是块交织的,就像ITU-T Rec.T.81标准定义的一样。另外,这个二次采样因子和色彩组件量化表的对应,在帧头部指定,ITU-T Rec.T.81标准中有详细说明。
E.6数据格式
E.6.1概述
JPEG编码的图像数据包括一系列标记,参数和扫描数据,用来指定编码参数,图像大小,位分辨率和熵编码块交织数据。
这此数据流被编码成ITU-T Rec.T.30标准附件A中的传真传输所使用的纠错模式(ECM)。在最后一个ECM帧,可能会用到填充字符(空字符“00”)填充到末尾以完整这个帧。这些都以附件A为准。
E.6.2JPEG数据结构
这个应用的JPEG数据结构有以下元素,和ITU-T Rec.T.81标准附件B定义中的一样:参数、标记、以及熵编码数据段。参数和标记经常被组织成标记段。这些参数是长度的1/2,1或2个8位字节的整数。标记被分配了两个8位字节码,一个X“FF”8位字节跟着一个不等于X“00”或X“FF”的字节。采样的数量,X,需要符合下面第二条定义的值。
应用使用的标记特点表现如下:
1)编码器必须插入以下这些标记,并且解码器必须可以进行针对这些标记段的相应解码过程:
SOI,APP1,DQT,DHT,SOF0,SOS,EOI
2)编码器可能不经协商地插入这些标记。并且解码器必须可以进行针对这些标记段的相应解码过程:
DRI,RSTn,DNL
3)编码器可能不经协商地插入这些标记。并且解码器必须忽略这些标记块继续执行解码过程:
COM,APPn(n不等于I)
4)当解码器有能力对这些标记进行相应的解码过程时(需要协商),编码器可能插入这些标记。如果使用了,它会在数据流中替换SOF0:
SOF1
在ITU-T Rec.T.81标准附件B中,对这些标记作了精确的定义,尤其是针对APPn标记。比方说,SOI是一个双8位字节字符X“FFD8”,在16进制表示法表示。APPn标记是ITU-TRec.T.81中为了便于适应特定的应用程序的推荐使用的一种未定义的标记。G3彩色传真就是这样一种应用程序。这个APPn标记定义在E.6.5-E.6.8。
DNL标记是一个JPEG编码选项,这种编码在终端实现的关键在于它不预先扫描图像。当行数Y在帧头部被设置为0时,帧中的行数会保持打开状态,直到在扫描结束时再定义到DNL标记。如果扫描过早结束,DNL标记也可以将Y值重置为一个更小的值
E.6.2.1一个用4:1:1二次采样的JPEG数据结构示例
标记名 | 标记解释 | 标记码 |
SOI | 图像开始标记 | X“D8” |
APP1,Lp | 应用软件标记1,标记块长度 | X“E1” |
Api | 应用软件数据8位字节:“G3FAX”,X“00”,X“07CA”(版本),X“00C8”(200dpi) | |
APP1,Lp | 应用软件标记1,标记块长度 | |
Api | 应用软件数据8位字节:“G3FAX”,X“01”[(色域范围选项),X“0000”,X“0064”,X“0080”,X“00AA”,X“0060”,X“00C8”(色域范围值)] | |
(COM,Lc,Cmi) | 注解标记,标记块长度,注解8位字节 | X“FE” |
DHT,Lh | 定义的哈夫曼表标记,哈夫曼表长度定义 | X“C4” |
Tc,Th | 表类Tc=0表示DC,目标标识符Th=0表示L*亮度 | |
Li,Vij | 对每16个可行码长的码数,码值 | |
Tc,Th | 表类Tc=1表示AC,目标标识符Th=0表示L*亮度 | |
Li,Vij | 对每16个可行码长的码数,码值 | |
Tc,Th | 表类Tc=0表示DC,目标标识符Th=1表示色度a*和b*分量 | |
Tc,Th | 表类Tc=1表示AC,目标标识符Th=1表示色度a*和b*分量 | |
DQT,Lq | 量化表定义标记,量化表长度定义 | X“DB” |
Pq,Tq | 元素精度Pq=0表示8位,目录标识符Tq=0表示亮度 | |
Qk | 为量化表0(亮度)的64量化表元素 | |
Pq,Tq | 元素精度Pq=0表示8位,目录标识符Tq=1表示色度 | |
Qk | 为量化表1(色度)的64量化表元素 | |
(DRI,Lr,Ri) | 重新开始间隔定义标记,标记块长度,最小编码单元中的重新开始间隔 | X“DD” |
SOF0,Lf | 表示默认8位的哈夫曼编码的DCT离散余弦变换帧的开始标记,帧头部长度 | X“C0” |
P,Y,X | 采样精度P=8,行数Y,每行采样数X | |
Nf | 图像组件数Nf=3表示彩色 | |
C1 | 组件标识符C1=0表示L*组件 | |
H1,V1 | 水平和垂直抽样因子:H1=2,V1=2表示用4:1:1彩色采样的L*分量 | |
Tq1 | 量化表选择器:Tq1=0 | |
C2 | 组件标识符C2=1表示a*色度 | |
H2,V2 | 水平和垂直抽样因子:H2=1,V2=1表示用4:1:1彩色采样的a*分量 | |
Tq2 | 量化表选择器:Tq2=1 | |
C3 | 组件标识符C3=2表示b*色度 | |
H3,V3 | 水平和垂直抽样因子:H3=1,V3=1表示用4:1:1彩色采样的b*分量 | |
Tq3 | 量化表选择器:Tq3=1 | |
SOS,Ls,Ns | 扫描开始标记,扫描头部长度,组件数Ns=3表示彩色 | X“DA” |
Cs1 | 扫描组件选择器Cs1=0表示L* | |
Td1,Ta1 | DC熵编码表选择器Td1=0,AC表选择器Ta1=0表示L* | |
Cs2 | 扫描组件选择器Cs2=0表示a* | |
Td2,Ta2 | DC熵编码表选择器Td2=0,AC表选择器Ta2=0表示a* | |
Cs3 | 扫描组件选择器Cs3=0表示b* | |
Td3,Ta3 | DC熵编码表选择器Td3=0,AC表选择器Ta3=0表示b* | |
Ss,Se | Ss=0表示连续的离散余弦变换,Se=63表示连续的离散余弦变换 | |
Ah,A1 | Ah=0表示连续的离散余弦变换,A1=0表示连续的离散余弦变换 | |
Scan data | 压缩过的图像数据 | |
(有RSTn) | 图像数据块重启标记,具有n=0-7几个重复序列 | |
(DNL,Ld,Y) | 行数定义标记,标记块长度,行数 | |
EOI | 图像结束标记 | X“D9” |
注1——括号括上的标记表明它是跑被划分到上面的2、3、4类的标记
注2——在经过像ITU-T Rec.T.30标准附件E描述的协商后,哈夫曼表可以被标志为首选的哈夫曼表。这些首选的哈夫曼表就是ITU-T Rec.T.81标准下的表K.3-K.6
E.6.2.2扫描数据结构
扫描数据由交错的L*,a*和b*数据块组成。数据块是熵编码的离散余弦编码——从单个数据组件转换的8×8的图像数据数组。L*,a*和b*组件分别在帧头部被分配成指标0,1和2。当一个灰度图像传输时,只有L*组件表现在数据结构中。这些图像组件数量要么是1(表示灰度图像)或3(表示彩色图像)。
当彩色图像传输的时候,数据是成块交错的,并且只有包含一个带着图像数据的扫描。这些块被组织成最小编码单元(MCUs),使得一个最小编码单元包含一个最小整数的所有图像分量。这种交错形式是基于ITU-T Rec.T.81标准A.2.3定义下的,以默认的(4:1:1)二次采样的情况下进行的。这样一来,一个最小编码单元由4块L*数据,1块a*数据和1块b*数据组成。这些数据在最小编码单元里被排列成L*,L*,L*,a*,b*。其中4块L*是按照页面一样的顺序扫描的:从左到右,且从上而下。因此L*块是按左上-〉右上,然后左下-〉右下这样的顺序传输的。
E.6.3二次采样方法
默认的(4:1:1)二次采样方法定义为用系数(1/4,1/4,1/4,1/4)过滤的
4个系数带,从而a*和b*是通过平均4个色度的值,在亮度位置,从非采样数据进行计算的。二次采样色度像素位置在E.1中已经指出。
X X O X X |
X X O X X |
X X O X X |
X X O X X |
T0823320-99/d18
X表示亮度像素中心
O表示色度像素中心
每一个小单元表示一个最小编码单元
T.4/图E.1-最小编码单元中亮度和色度采样位置(4:1:1二次采样方式)
E.6.4默认色域范围的彩色表示法
下面的彩色表示法以ITU-T Rec.T.42为基准。
(因为没用到,此处暂略)
E.6.5为连续色调的G3传真定义的APPn标记的定义
APP1这个应用程序码初始化图像识别为一个G3传真应用程序,并且定义了空间解析度和二次采样。这个标记直接跟在SOI标记后面。它的数据格式如下:
X“FFE1”(APP1),长度,传真标识符,版本,空间解析度
其含义如下:
结构名称 | 解释 |
长度 | (2个8位字节)总的APP1字节数,包括字节数本身,但是不包括APP1标记 |
传真标识符 | (6个8位字节)X“47”,X“33”,X“46”,X“41”,X“58”,X“00”。这个用X“00”是结尾的字符串“G3FAX”用于这个标记的唯一标识 |
版本 | (2个8位字节)X“07CA”。这个字符串指定了这个标准审核通过的年份,用来标识将来修订的情况(比如,1994) |
空间解析度 | (2个8位字节)为每25.4毫米单位的亮度像素密度。基础值是200.在ITU-T Rec.T.30标准表2中有定义的所有平方解析度值(即,相同的垂直和水平解析度)可能被用到(例如,100,200,300,400等) |
注——保持职能等价的英寸和毫米为基础的决议。比如说200×200像素/25.4毫米和8/7.7行/毫米是等价的
下面是一个包含SOI和APP1码,表示1994年G3传真的JPEG编码,单位为200像素/25.4毫米的字符串的例子:
X'FFD8', X'FFE1', X'000C', X'47', X'33', X'46', X'41', X'58', X'00', X'07CA', X'00C8'.
E.6.6传真选项标识:为色域范围的G3FAX1
(因为没用到,此处暂略)
E.6.7传真选项标识:为光源数据的G3FAX2
(因为没用到,此处暂略)
E.6.8未来选项标识:G3FAX3——G3FAX255
除了G3FAX1和G3FAX2标识被用来作指定选项参数,G3FAX3和G3FAX255被保留,作为未来使用。
E.6.9在通信线路中传输的编码数据的位顺序
位流排列成8位序列,具体定义在ITU-T Rec.T.81标准的C3中。
8位序列的排列定义在ITU-T Rec.T.81标准的B.1.1.1中
在通信线路中经过编码的JPEG数据的位序在每8位的字节中是低位先的顺序传输的。
例如,E.6.5中APP1标记的编码数据流,在通信线路中是按下面的顺序进行传输的:
编码数据流:
SOI APP1 长度 G 3 F A X 版本 200dpi
FFD8 FFE1 000C 47 33 46 41 58 00 07 CA 00 C8
位表示为:
FF D8 FF E1 00 0C 47……
11111111 11011000 11111111 1110001 00000000 00001100 01000111
<-高位 低位->
位在通信线路中的顺序:
开头 结尾
11111111 00011011 11111111 10000111 00000000 00110000 11100010
除特别声明为转载内容外,本站所有内容均为作者原创,谢绝任何单位和个人不经许可的复制和转播!
对于确有转载需要的,请先与作者联系,在获得允许后烦请在转载时保留文章出处。
本文出自Lupin's Blog:http://www.cnzui.com/archives/1090