第二讲 DICOM信息模型和信息定义
一 概述
DICOM标准 是要解决 在不同的地点、不同设备制造商、不同国家等 复杂的网络环境下的 医学图像存储和传输的问题。要在这样复杂的情况下 能够实现准确的无歧义的信息交换,当然存在许多技术问题,基本问题有 语法和语义 两大类。
所谓 语义的问题 就是指 交换信息的具体含义。通常人们都是用自己的语言(称自然语言)进行交流,但世界上使用的自然语言种类繁多,还存在二义性问题,表达的意思存在多种含义,使得计算机处理有困难,这在医疗技术方面更是要解决的问题。因此DICOM中 专门定义了自己的 “语法”和“词汇” 。DICOM的 “词汇” 是用 一对整数 表示的,称为标记(Tag),用数据字典给出详细的定义和解释。另外用 UID 的方法给出唯一标识。
语法 则是指信息组成的规则。在DICOM中,数据种类相当多,被分成各个层次,有信息对象定义(IOD)、消息(Message)、命令集、数据集、数据元素、传输语法等。只有通信双方 按约定的统一的方法 组织数据,才可能准确获得对方传输的信息。
下面就DICOM标准中数据定义、表示,以及组织所涉及到的概念和方法加以介绍,并通过一些具体实例帮助理解。
二 数据组织形式
1. 唯一标识符UID
这个标识 可被用在世界上不同地点的多制造商环境中。为保证每个标识的全球的唯一性,使用了下面的字符串(称为唯一标识符或UID)产生机制:
<根>.<后缀>
根部分是 由权威部门支持的,它保证 没有其他人或机构 再使用这个根标识。这个数值由标准化组织分配给公司或医院,但也必须保证在它们自己内部网络中也是唯一的。通过使用一个唯一的系统标识,每个系统在世界范围内有一个唯一的根。后缀是由系统在产生实例时 动态产生的。例如:
“1.2.840.113619.2.16.1.120.940 481283.2.61” 是GE的心血管造影系统产生的一个UID。
一旦一个实例通过UID标识,必须一致地使用它。若制作了复件或未加修改的再生成,它必须使用相同的UID。否则相同信息的两部分将存在不同的标识,这会导致混乱。在DICOM中UID也用于标识有关的属性,如:
“1.2.840.10008.1.1”是验证服务类。
“1.2.840.10008.1.2”是DICOM默认的隐式LittleEndian传输语法。
“1.2.840.10008.5.1.4.1.1.2”是CT图像存储。
2. 标记Tag
标记是用一对16进制数表示的,前面的数是数据元素的组号,后面的是元素号。组号为偶数的是标准数据元素,具体含义可以在DICOM的数据字典中查到。DICOM的数据字典定义了许多数据元素标记,涵盖了大多数的应用需要。组号为奇数的为私有数据元素,由用户在使用过程中自己定义。
例如: 在DICOM中(0007,0000)表示组长,(0008,0020)表示研究日期, (0018,1088)表示心率。
3. 值表示法
DICOM标准中,对每个属性都定义了值表示法。值表示法具体描述了属性值如何进行编码。
值表示法有隐式和显式这两种形式。
隐式就是采用预先规定的表示方法,通过标记 从数据字典中 查到DICOM 对这个属性表示方法的规定,从而正确解释 属性值的内容。
显式是用两个字符明确表示值的表示方法,如AE 表示应用实体,AS表示年龄字符串,DT是日期和时间,FD表示双精度浮点数等。
值表示法的知识是 信息交换双方 所共享的。对某个属性 (以标记标识)的解码和编码过程必须仔细选择正确的值表示法。共享这个信息有两种可能的方法:
共享包含所有可能属性的数据字典
把数值表示法作为数据元素的一部分。
后一种方法增加了信息交换的开销,但比用共享数据字典更灵活,尤其在多制造商环境,数据字典同步更新很困难。
4. 传输语法
在SOP实例数据集能被交换之前,数据集编码到字节流的编码方式是固定的,或者是网络交换中协商的,或者在介质上是与数据存储在一起的。编码方式由传输语法指明。
传输语法定义了三个方面的内容:
数值表示法如何指定;
多字节数 在存储或传输时的字节顺序,是低位字节 先存储 或 发送(Little Endian),还是高位字节 先存储 或发送(Big Endian);
封装情况下的压缩格式,是采用JPEG还是RLE的压缩算法,是有损方式还是无损方式等。
例如,对于一个32位无符号整数12345678H,在LittleEndian方式下的字节顺序为78、56、34、12,而在Big Endian方式下的字节顺序则为12、34、56、78。
传输语法的处理是服务提供方的一部分,但双方都要 初始设置 正确的对双方都可接受的传输语法。
传输语法是由一个UID标识的。DICOM默认的传输语法是隐式VR LittleEndian传输语法,并采用无损方式的JPEG压缩算法。
5. 数据元素
数据元素是通过数据元素标记唯一标识的。一个数据元素包含了数据元素标记、值长度和数据元素值。数据元素的值表示法是否存在决定于协商的传输语法。对隐式VR 的传输语法,数据元素没有也没必要有值表示法域。而在显式VR下,存在表示长度方法上不同的两种形式。
数据元素有标准数据元素和私有数据元素两种类型。标准数据元素具有偶数值组号,私有数据元素具有奇数组号,自DICOM 3.0以后,数据组号并不传递任何语义上的含义。数据元素结构见表1。
数据元素中值域的字节长度必须是偶数个,不足的部分填充空格。
6. 数据集
数据集是由若干个数据元素组成,按数据元素标记中的组号以及元素号 数值增加的方式进行排序,依次排列。一个数据元素在数据集内至多只能出现一次。但是在嵌套的数据集中可以再次出现。
显式和隐式VR 在数据集精确嵌套数据集中并不同时存在,一个数据集 是否使用 显式或隐式VR 以及其它特性,取决于 传输语法 的协商。
数据集的作用有两个:
(1) 作为 信息对象定义IOD中的 信息对象模块IOM;
(2) 作为 信息交换中 消息(Message)携带的数据内容。
三 信息对象定义(IOD)
一个信息对象定义(IOD)是信息实体的集合,而信息实体是信息有关成分的组合。每个实体 包含有关现实世界单个条目信息,如患者、图像等,称为属性。一个属性描述了信息某一特征,如患者姓名等。相互关联的属性 组合到 信息对象模块IOM中。IOM 以 数据集 的形式出现,可以使用在多于一个IOD中。这些IOM具有属性的语义描述,可以组合到一起。
在DICOM中,一个IOD可以由单个信息实体(称普通IOD)或多个信息实体组合(称复合IOD)组成。实现管理功能(通常是单一条目)的服务类使用普通IOD,而那些处理图像数据流(具有复杂信息结构)的服务类使用复合IOD。
DICOM定义了在医学环境中所需的大部分的信息对象,详细规定了这些对象的组成格式、要求、相互之间的关系等等各方面的内容,如患者、CT、磁共振、核医学、超声等等,具体内容可参见标准的第三部分“信息对象定义”。
患者IOD是最基本的普通IOD,DICOM对其定义如下:
患者IOD:
● SOP公用模块
SOP类UID,SOP实例UID,特殊字符集,实例生成的日期和时间,生成者UID,实例号。
● 患者关系模块
引用研究序列,引用访问序列,引用患者别名序列。
● 患者标识模块
姓名,ID,issuer,其它ID,其它名,出生日,母亲生日,医疗记录定位。
● 患者人口统计信息
年龄,职业,数据保密限制描述,出生日期,出生时间,性别,保险计划代码序列,身高,体重,住址,军阶,服务机构,居住国家,电话号码,种族,宗教,注解。
● 患者医疗信息
医疗警告,对比敏感,吸烟情况,患者其它历史,怀孕情况,上次月经日期,特殊需求,患者症状。
作为一个复合IOD的例子,一个图像IOD的主要内容在图1中示意性表示。
四 图像信息模型
DICOM图像信息模型是 从放射科处理图像的方式中 衍生出来的,它是基于来自不同形态方式上的假设,见图2。图像 从多种形态上 被收集到患者的病历中。患者病历中的图像 是 以检查的类型(与图像系列有一定的关系)排序。每一种形态类型的用户对这些排序都有自己的术语,如检查、运行、扫描、切片等。当不同来源的 图像数据 集合到一个单一的环境中,必须将不同来源的图像数据排序,这仅在 所有图像数据依照同一个信息模型构造时才有可能。
在DICOM的信息模型上主要有四个层次,分别是患者、研究、系列和图像层次。这四个层次分别对应了相关类型的信息的生成阶段和不同来源。
1. 患者层次
患者层次包含属于某个研究的患者标识和人口统计信息。由于一个患者可能存在多个研究,患者层次是最高层次(当一个患者的所有信息被考虑时)。然而在通常的实践中 是使用研究层次 用于对单个的检查请求 由不同系统处理的信息的收集。
2. 研究层次
研究层次是在信息模型中最重要的层次。一个研究是 某个特定类型 检查请求的结果。在一个放射科的所有活动 都围绕着研究的 正确处理。在研究层次上,保持着标识信息,并可以包含有 与同一个研究有关的 医院管理信息系统中的 信息引用。
一般,一个请求可能会涉及不同形态的检查过程。这导致一个或多个图像的序列,取决于检查所定义的协议。研究作为 “根” 将所有图像数据 收集到一起。一个患者可能 由于其它或以前的检查而 有多个研究。
3. 序列层次
在研究层次下收集了所有的图像序列。序列层次 标识了 生成图像的形态类型、序列生成的日期、检查类型的细节和使用的设备。
序列是 来自单一形态有关图像的 集合。图像 组合到序列中的方式取决于它们的临床用途。而图像在形态上是如何获取的对 分组并不重要。但是不同的属性将获取标识,并在显示图像时表现出来。
在许多情况下,图像关系是通过获取发生的方式定义的。当按顺序地获取具有空间或普通的关系时,这种获取结果的图像可以组成到一个序列中。当存在于图像之间的关系不再有效时,必须开始新序列。
4. 图像层次
信息模型的最低层次是图像层次,每个图像包含 获取和位置以及图像数据本身,取决于方法的类型。图像层次 包含有 一幅(单幅)、两幅(双屏)和在相对短的时间内收集的多幅图像(多帧图像)。
多帧图像的使用节约了高层次上信息的重复,但这仅在帧之间关系可以用简单方法描述时才有可能。例如时间或系统移动的增量在所有帧之间都是相等的。
生成多帧图像比单帧图像更复杂,会消耗更多的资源。帧之间的关系、方法的能力、产生图像数据的数目,可用来确定是单帧系列还是多帧系列更适用。
五 总结
本篇较为详细地介绍了DICOM中的信息定义和信息模型,通过这些内容可以了解DICOM标准对现实世界的信息是如何进行组织、表示和定义的,掌握这些内容是理解和实现DICOM标准的基础。
DICOM标准 是要解决 在不同的地点、不同设备制造商、不同国家等 复杂的网络环境下的 医学图像存储和传输的问题。要在这样复杂的情况下 能够实现准确的无歧义的信息交换,当然存在许多技术问题,基本问题有 语法和语义 两大类。
所谓 语义的问题 就是指 交换信息的具体含义。通常人们都是用自己的语言(称自然语言)进行交流,但世界上使用的自然语言种类繁多,还存在二义性问题,表达的意思存在多种含义,使得计算机处理有困难,这在医疗技术方面更是要解决的问题。因此DICOM中 专门定义了自己的 “语法”和“词汇” 。DICOM的 “词汇” 是用 一对整数 表示的,称为标记(Tag),用数据字典给出详细的定义和解释。另外用 UID 的方法给出唯一标识。
语法 则是指信息组成的规则。在DICOM中,数据种类相当多,被分成各个层次,有信息对象定义(IOD)、消息(Message)、命令集、数据集、数据元素、传输语法等。只有通信双方 按约定的统一的方法 组织数据,才可能准确获得对方传输的信息。
下面就DICOM标准中数据定义、表示,以及组织所涉及到的概念和方法加以介绍,并通过一些具体实例帮助理解。
二 数据组织形式
1. 唯一标识符UID
这个标识 可被用在世界上不同地点的多制造商环境中。为保证每个标识的全球的唯一性,使用了下面的字符串(称为唯一标识符或UID)产生机制:
<根>.<后缀>
根部分是 由权威部门支持的,它保证 没有其他人或机构 再使用这个根标识。这个数值由标准化组织分配给公司或医院,但也必须保证在它们自己内部网络中也是唯一的。通过使用一个唯一的系统标识,每个系统在世界范围内有一个唯一的根。后缀是由系统在产生实例时 动态产生的。例如:
“1.2.840.113619.2.16.1.120.940 481283.2.61” 是GE的心血管造影系统产生的一个UID。
一旦一个实例通过UID标识,必须一致地使用它。若制作了复件或未加修改的再生成,它必须使用相同的UID。否则相同信息的两部分将存在不同的标识,这会导致混乱。在DICOM中UID也用于标识有关的属性,如:
“1.2.840.10008.1.1”是验证服务类。
“1.2.840.10008.1.2”是DICOM默认的隐式LittleEndian传输语法。
“1.2.840.10008.5.1.4.1.1.2”是CT图像存储。
2. 标记Tag
标记是用一对16进制数表示的,前面的数是数据元素的组号,后面的是元素号。组号为偶数的是标准数据元素,具体含义可以在DICOM的数据字典中查到。DICOM的数据字典定义了许多数据元素标记,涵盖了大多数的应用需要。组号为奇数的为私有数据元素,由用户在使用过程中自己定义。
例如: 在DICOM中(0007,0000)表示组长,(0008,0020)表示研究日期, (0018,1088)表示心率。
3. 值表示法
DICOM标准中,对每个属性都定义了值表示法。值表示法具体描述了属性值如何进行编码。
值表示法有隐式和显式这两种形式。
隐式就是采用预先规定的表示方法,通过标记 从数据字典中 查到DICOM 对这个属性表示方法的规定,从而正确解释 属性值的内容。
显式是用两个字符明确表示值的表示方法,如AE 表示应用实体,AS表示年龄字符串,DT是日期和时间,FD表示双精度浮点数等。
值表示法的知识是 信息交换双方 所共享的。对某个属性 (以标记标识)的解码和编码过程必须仔细选择正确的值表示法。共享这个信息有两种可能的方法:
共享包含所有可能属性的数据字典
把数值表示法作为数据元素的一部分。
后一种方法增加了信息交换的开销,但比用共享数据字典更灵活,尤其在多制造商环境,数据字典同步更新很困难。
4. 传输语法
在SOP实例数据集能被交换之前,数据集编码到字节流的编码方式是固定的,或者是网络交换中协商的,或者在介质上是与数据存储在一起的。编码方式由传输语法指明。
传输语法定义了三个方面的内容:
数值表示法如何指定;
多字节数 在存储或传输时的字节顺序,是低位字节 先存储 或 发送(Little Endian),还是高位字节 先存储 或发送(Big Endian);
封装情况下的压缩格式,是采用JPEG还是RLE的压缩算法,是有损方式还是无损方式等。
例如,对于一个32位无符号整数12345678H,在LittleEndian方式下的字节顺序为78、56、34、12,而在Big Endian方式下的字节顺序则为12、34、56、78。
传输语法的处理是服务提供方的一部分,但双方都要 初始设置 正确的对双方都可接受的传输语法。
传输语法是由一个UID标识的。DICOM默认的传输语法是隐式VR LittleEndian传输语法,并采用无损方式的JPEG压缩算法。
5. 数据元素
数据元素是通过数据元素标记唯一标识的。一个数据元素包含了数据元素标记、值长度和数据元素值。数据元素的值表示法是否存在决定于协商的传输语法。对隐式VR 的传输语法,数据元素没有也没必要有值表示法域。而在显式VR下,存在表示长度方法上不同的两种形式。
数据元素有标准数据元素和私有数据元素两种类型。标准数据元素具有偶数值组号,私有数据元素具有奇数组号,自DICOM 3.0以后,数据组号并不传递任何语义上的含义。数据元素结构见表1。
数据元素中值域的字节长度必须是偶数个,不足的部分填充空格。
6. 数据集
数据集是由若干个数据元素组成,按数据元素标记中的组号以及元素号 数值增加的方式进行排序,依次排列。一个数据元素在数据集内至多只能出现一次。但是在嵌套的数据集中可以再次出现。
显式和隐式VR 在数据集精确嵌套数据集中并不同时存在,一个数据集 是否使用 显式或隐式VR 以及其它特性,取决于 传输语法 的协商。
数据集的作用有两个:
(1) 作为 信息对象定义IOD中的 信息对象模块IOM;
(2) 作为 信息交换中 消息(Message)携带的数据内容。
三 信息对象定义(IOD)
一个信息对象定义(IOD)是信息实体的集合,而信息实体是信息有关成分的组合。每个实体 包含有关现实世界单个条目信息,如患者、图像等,称为属性。一个属性描述了信息某一特征,如患者姓名等。相互关联的属性 组合到 信息对象模块IOM中。IOM 以 数据集 的形式出现,可以使用在多于一个IOD中。这些IOM具有属性的语义描述,可以组合到一起。
在DICOM中,一个IOD可以由单个信息实体(称普通IOD)或多个信息实体组合(称复合IOD)组成。实现管理功能(通常是单一条目)的服务类使用普通IOD,而那些处理图像数据流(具有复杂信息结构)的服务类使用复合IOD。
DICOM定义了在医学环境中所需的大部分的信息对象,详细规定了这些对象的组成格式、要求、相互之间的关系等等各方面的内容,如患者、CT、磁共振、核医学、超声等等,具体内容可参见标准的第三部分“信息对象定义”。
患者IOD是最基本的普通IOD,DICOM对其定义如下:
患者IOD:
● SOP公用模块
SOP类UID,SOP实例UID,特殊字符集,实例生成的日期和时间,生成者UID,实例号。
● 患者关系模块
引用研究序列,引用访问序列,引用患者别名序列。
● 患者标识模块
姓名,ID,issuer,其它ID,其它名,出生日,母亲生日,医疗记录定位。
● 患者人口统计信息
年龄,职业,数据保密限制描述,出生日期,出生时间,性别,保险计划代码序列,身高,体重,住址,军阶,服务机构,居住国家,电话号码,种族,宗教,注解。
● 患者医疗信息
医疗警告,对比敏感,吸烟情况,患者其它历史,怀孕情况,上次月经日期,特殊需求,患者症状。
作为一个复合IOD的例子,一个图像IOD的主要内容在图1中示意性表示。
四 图像信息模型
DICOM图像信息模型是 从放射科处理图像的方式中 衍生出来的,它是基于来自不同形态方式上的假设,见图2。图像 从多种形态上 被收集到患者的病历中。患者病历中的图像 是 以检查的类型(与图像系列有一定的关系)排序。每一种形态类型的用户对这些排序都有自己的术语,如检查、运行、扫描、切片等。当不同来源的 图像数据 集合到一个单一的环境中,必须将不同来源的图像数据排序,这仅在 所有图像数据依照同一个信息模型构造时才有可能。
在DICOM的信息模型上主要有四个层次,分别是患者、研究、系列和图像层次。这四个层次分别对应了相关类型的信息的生成阶段和不同来源。
1. 患者层次
患者层次包含属于某个研究的患者标识和人口统计信息。由于一个患者可能存在多个研究,患者层次是最高层次(当一个患者的所有信息被考虑时)。然而在通常的实践中 是使用研究层次 用于对单个的检查请求 由不同系统处理的信息的收集。
2. 研究层次
研究层次是在信息模型中最重要的层次。一个研究是 某个特定类型 检查请求的结果。在一个放射科的所有活动 都围绕着研究的 正确处理。在研究层次上,保持着标识信息,并可以包含有 与同一个研究有关的 医院管理信息系统中的 信息引用。
一般,一个请求可能会涉及不同形态的检查过程。这导致一个或多个图像的序列,取决于检查所定义的协议。研究作为 “根” 将所有图像数据 收集到一起。一个患者可能 由于其它或以前的检查而 有多个研究。
3. 序列层次
在研究层次下收集了所有的图像序列。序列层次 标识了 生成图像的形态类型、序列生成的日期、检查类型的细节和使用的设备。
序列是 来自单一形态有关图像的 集合。图像 组合到序列中的方式取决于它们的临床用途。而图像在形态上是如何获取的对 分组并不重要。但是不同的属性将获取标识,并在显示图像时表现出来。
在许多情况下,图像关系是通过获取发生的方式定义的。当按顺序地获取具有空间或普通的关系时,这种获取结果的图像可以组成到一个序列中。当存在于图像之间的关系不再有效时,必须开始新序列。
4. 图像层次
信息模型的最低层次是图像层次,每个图像包含 获取和位置以及图像数据本身,取决于方法的类型。图像层次 包含有 一幅(单幅)、两幅(双屏)和在相对短的时间内收集的多幅图像(多帧图像)。
多帧图像的使用节约了高层次上信息的重复,但这仅在帧之间关系可以用简单方法描述时才有可能。例如时间或系统移动的增量在所有帧之间都是相等的。
生成多帧图像比单帧图像更复杂,会消耗更多的资源。帧之间的关系、方法的能力、产生图像数据的数目,可用来确定是单帧系列还是多帧系列更适用。
五 总结
本篇较为详细地介绍了DICOM中的信息定义和信息模型,通过这些内容可以了解DICOM标准对现实世界的信息是如何进行组织、表示和定义的,掌握这些内容是理解和实现DICOM标准的基础。