Trong DICOM, sự trao đổi các tín hiệu phụ thuộc thời gian, hay dạng sóng, đƣợc mã hố trong Thành phần Dữ liệu Dạng sóng (5400,1010).
Dữ liệu Dạng sóng đƣợc mã hoá với số Bit khác nhau (độ sâu mã hố) thơng qua Thành phần Dữ liệu Waveform Bits Allocated (5400,1004). Thành phần Dữ liệu này xác định kích thƣớc của của mỗi mẫu Dữ liệu Dạng sóng trong Dữ liệu Dạng sóng). Các gía trị khả dĩ là 8 hay 16 Bit.
VR của Dữ liệu Dạng sóng là OW; OB chỉ đƣợc sử dụng khi Waveform Bits Allocated có giá trị 8 và với Cú pháp Chuyển đổi mang VR hiện.
III.4. Định danh Duy nhất (UID) III.4.1. Khái niệm UID
UID là một chuỗi các số và dấu “.” để định danh một đối tƣợng duy nhất trong môi trƣờng nhiều quốc gia, vị trí , nhà sản xuất và thiết bị. Mọi UID đƣợc sử dụng trong ngữ cảnh DICOM đều đƣợc đăng kí nhƣ đƣợc qui định bởi ISO 9834-3 để đảm bảo tính duy nhất tồn cầu.
Mỗi UID gồm có hai phần, một <org root> và một <suffix> UID=<org root>.<suffix>
<orgroot>: định danh duy nhất một tổ chức (ví dụ: nhà sản xuất, NEMA..). <suffix>: định danh duy nhất đối tƣợng trong phạm vi của <orgroot>
Mỗi UID đƣợc sử dụng trong DICOM đƣợc định nghĩa và đăng kí theo một trong hai cách:
- Do DICOM định nghĩa và đăng kí UID - Đăng kí và định nghĩa riêng
III.4.2. UID do DICOM định nghĩa
Là một số giới hạn các UID đƣợc DICOM định nghĩa và đăng kí và sử dụng trong Chuẩn. Tổ chức chịu trách nhiệm cho việc định nghĩa và đăng kí DICOM UID nhƣ vậy là NEMA.
VD: 1.2.840.10008.2.1 xác định một Cú pháp chuyển đổi có VR ẩn và Thứ tự byte kiểu Little Endian.
III.4.3. UID định nghĩa riêng
Đƣợc sử dụng phổ biến trong DICOM. Tuy nhiên, các UID này khơng đƣợc đăng kí bởi NEMA. Các tổ chức định nghĩa các UID riêng phải chịu trách nhiệm về tính hợp thức của các UID này (ít nhất phải chứa một <orgroot> nhƣ định nghĩa bởi ISO 9834- 3. Các tổ chức định nghĩa UID riêng phải có trách nhiệm đảm bảo tính duy nhất của chúng.
III.5. Cú pháp Chuyển đổi
Cú pháp Chuyển đổi (tranfer syntax) là một bộ các qui tắc mã hoá thể hiện một hay nhiều Cú pháp Trừu tƣợng (abstract systax). Nó cho phép các Thực thể ứng dụng DICOM thoả thuận các công nghệ mã hố chung mà chúng cùng hỗ trợ (ví dụ: thứ tự byte, nén..). Một Cú pháp Chuyển đổi là một Thuộc tính của một Ngữ cảnh Trình diễn, với một hay nhiều đƣợc thoả thuận lúc thiết lập một Liên kết giữa các Thực thể ứng dụng DICOM.
Tổ chức chịu trách nhiệm định nghĩa và đăng kí Cú pháp Chuyển đổi DICOM là NEMA. NEMA đảm bảo tính duy nhất cho mọi Tên Cú pháp Chuyển đổi DICOM.
84
Cách định nghĩa Cú pháp chuyên đổi riêng cũng đƣợc sử dụng. Tuy nhiên, nó khơng thuộc trách nhiệm của NEMA.
Cú pháp Chuyển đổi mặc định của DICOM là: VR hiện Little Endian (UID=1.2.840.10008.1.2).
Bảng III.5: Các Cú pháp Chuyển đổi DICOM Cú pháp Chuyển đổi UID Định nghĩa
1.2.840.10008.1.2 Dữ liệu thô, VR ẩn, Little Endian 1.2.840.10008.1.2.x Dữ liệ thô, VR hiện
- x=1: Little Endian -x =2: Big Endia 1.2.840.10008.1.2.4.xx Nén JPEG
xx=50-64 : Lossy JPEG xx=65-70: Lossless JPEG
1.2.840.10008.1.2.5 Mã hoá Lossess Runlength Endcoding
CHƢƠNG IV
TRAO ĐỔI THƠNG TIN TRONG DICOM
IV.1. Mơ hình tổng qt truyền tin DICOM
Trong DICOM, sự truyền tin có thể thực hiện theo hai cách sau: - Thông qua mạng vật lý, dựa vào ranh giới Dịch vụ Tầng trên OSI
- Thông qua các phƣơng tiện trung gian, dựa vào ranh giới Dịch vụ file DICOM
IV.2. Trao đổi thông tin thông qua mạng vật lý IV.2.1. DICOM và Mơ hình tham chiếu cơ bản OSI IV.2.1. DICOM và Mơ hình tham chiếu cơ bản OSI
Mơ hình tham chiếu cơ bản OSI đƣợc sử dụng để mơ hình hố sự kết nối các thiết bị hình ảnh y tế. Mơ hình đƣợc chia làm bảy tầng. DICOM sử dụng mơ hình Dịch vụ Tầng trên OSI để phân chia sự trao đổi các Bản tin DICOM ở tầng ứng dụng khỏi các hỗ trợ truyền thông cung cấp bởi các tầng dƣới. Ranh giới Dịch vụ Tầng trên cho phép các Thực thể ứng dụng ngang hàng thiết lập sự Liên kết, truyền Bản tin và chấm dứt Liên kết.
Các giao thức Tầng trên DICOM liên quan đến các Tầng Phiên, Trình diễn và
Ứng dụng của mơ hình tham chiếu OSI. Các giao thức này cung cấp Dịch vụ Tầng
trên. Các Dịch vụ Tầng trên là thành phần của Dịch vụ ACSE và Dịch vụ Tầng Trình diễn OSI.
86
A-ASSOCIATE: Thiết lập lên liên kết giứa hai AE đƣợc thực hiện thông qua các hàm nguyên thuỷ ASCE A-ASSOCIATE (yêu cầu, chỉ báo, trả lời xác nhận). Đây là dịch vụ có xác nhận.
A-RELEASE: Sự giải phóng liên kết đầy đủ giữa hai AE đƣợc thực hiện thông qua các hàm nguyên thuỷ ASCE-REASE (yêu cầu, chỉ báo, trả lời và xác nhận). Đây là dịch vụ có xác nhận.
A-ABORT: Dịch vụ ASCE A-ABORT đƣợc sử dụng bởi đối tƣợng yêu cầu (requestor) trong hai AE để tạo một giải phóng liên kết khơng bình thƣờng. Đây là dịch vụ khơng xác nhận.
A-P-ABORT: Dịch vụ ASCE A-ABORT đƣợc sử dụng bởi đối tƣợng cung cấp dịch vụ tầng trên (UL service-provider) để báo hiệu giải phóng liên kết do có sự cố ở các dịch vụ Tầng Trình diễn (Presentation Layer) phía dƣới.
P-DATA: Dịch vụ Application P-DATA (của Tầng trình diễn) đƣợc dùng để bởi một trong hai AE để tạo ra sự trao đổi thông tin ứng dụng (VD: bản tin DICOM). Một liên kết cung cấp sự trao đổi đồng thời theo hai hƣớng.
Môi trường mạng LLC
ISO NETWORK ISO TRANSPORT
ISO SESSION KERNEL ISO PRESENTATION
ISO Association Control Service Element (ACSE)
TCP IP
Trao đổi Bản tin ứng dụng DICOM Ứng dụng hình ảnh y tế Giao thức Tầng trên DICOM cho TCP/IP Ethernet, FDDI,ISDN, .. Ranh giới Dịch vụ Tầng trên Dịch vụ Giao thức
Hình vẽ IV.2.1. DICOM và mơ hình OSI IV.2.2 Cấu trúc Tầng ứng dụng DICOM
Thực thể ứng dụng DICOM sử dụng các dịch vụ Liên kết và Trình diễn của Dịch vụ Tầng trên OSI. Thành phần Dịch vụ Điều khiển Liên kết (ACSE) hỗ trợ Dịch vụ Tầng Trình Diễn với dịch vụ thiết lập và chấm dứt liên kết. Với TCP/IP, chức năng tƣơng tự ASCE đƣợc cung cấp bởi Dịch vụ Tầng trên DICOM. Cho các tầng của liên kết point- to- point, một bộ tối thiểu của ACSE đƣợc cung cấp bởi Dịch vụ Mạng/Phiên/ Chuyển vận.
Thực thể ứng dụng DICOM sử dụng các dịch vụ cung cấp bởi Thành phần Dịch vụ Bản tin DICOM (DIMSE). DIMSE định ra hai bộ dịch vụ:
-DIMSE-C hỗ trợ thao tác kết hợp với các Lớp SOP Phức và khả dụng với các phiên bản trƣớc của Chuẩn.
-DIMSE-N cung cấp các thao tác kết hợp với các Lớp SOP Thƣờng và cung cấp một bộ mở rộng các thao tác và thông báo hƣớng đối tƣợng.
THỰC THỂ ỨNG DỤNG DICOM
Thoả thuận Liên kết
DIMSE
(DIMSE-C và DIMSE-N: Thao tác và Thông báo)
Thông tin Liên kết ứng dụng Thông tin Liên kết DIMSE
Đối tượng Thông tin
Thường Phức
- Bệnh nhân - Hình ảnh CT - Nghiên cứu - Hình ảnh MR - Khám - Hình ảnh CR
Lớp Dịch vụ
- Nghiên cứu - Lưu trữ - Hình ảnh Bệnh nhân - In
88
Hình vẽ IV.2.2: Cấu trúc tầng ứng dụng DICOM IV.2.3. Cấu trúc bản tin DICOM IV.2.3. Cấu trúc bản tin DICOM
Thông tin đƣợc truyền thông qua giao diện mạng trong một Bản tin DICOM (DICOM Massage). Một Bản tin đƣợc cấu tạo bởi một Bộ lệnh (Command Set), theo sau nó là một Bộ Dữ liệu (Data Set) phụ thuộc.
Hình vẽ IV.1: Cấu trúc Bản tin DICOM IV2.3.1. Bộ Lệnh
Bộ Lệnh đƣợc sử dụng để chỉ ra các thao tác/thông báo đƣợc thực hiện trên hay với Bộ Dữ liệu.
Bộ Lệnh Bộ Dữ liệu
…
Nhãn Chiều dài Giá trị
Một Bộ Lệnh đƣợc cấu tạo bởi các Thành phần Lệnh (Command Element). Thành phần Lệnh bao gồm các giá trị đƣợc mã hóa cho mỗi trƣờng riêng của Bộ Lệnh trên một ngữ nghĩa đƣợc định ra bởi giao thức DIMSE. Mỗi Thành phần lệnh đƣợc cấu tạo bởi một Nhãn (Tag), một Chiều dài Giá trị (Value Lengh), và một Trƣờng Giá trị (Value Field).
IV.2.3.2. Thành phần Lệnh
Một Thành phần Lệnh trong một Bộ lệnh có trình tự nhất định, cụ thể là tăng Nhãn Thành phần Lệnh (Command Tag Element). Một Nhãn Thành phần Lệnh xác định duy nhất một Thành phần Lệnh và xuất hiện nhiều nhất một lần trong Bộ Lệnh. Cách mã hoá của Bộ Lệnh là Little Endian Byte (Mã hoá từ phải sang trái). Các yêu cầu sự tồn tại của một Thành phần Lệnh trong một Bộ lệnh đƣợc xác định trong giao thức DIMSE.
Thành phần Lệnh đƣợc cấu tạo bởi ba trƣờng, cụ thể là:
- Nhãn Thành phần Lệnh: Là một cặp thứ tự số nguyên không dấu 16-bit thể hiện số Nhóm và số Thành phần.
- Chiều dài Giá trị: Một số nguyên khơng dấu 32-bit thể hiện tồn bộ Chiều dài bằng số Byte (số chẵn) mà tạo ra Giá trị. Nó khơng bao hàm chiều dài của Nhãn Thành phần Lệnh và trƣờng Chiều dài Lệnh.
- Trƣờng Giá trị: Một số chẵn các Byte chứa Giá trị của Thành phần Lệnh.
Loại Lệnh của các Giá trị đƣợc lƣu trữ trong trong trƣờng này đƣợc xác định bởi VR (Value Representation) của Thành phần Lệnh. VR của một Thành phần Lệnh có thể đƣợc định nghĩa sử dụng Từ điển Lệnh (Comand Dictionary).
VM (Value Multiplicity) chỉ ra bao nhiêu Giá trị với VR có thể nằm trong Trƣờng Giá trị. Nếu VM lớn hơn một, các Giá trị này sẽ đƣợc phân định ranh giới.
IV.2.4. Dịch vụ DICOM
DIMSE hỗ trợ sự truyền tin giữa các DIMSE-service-user (Sử dụng dịch vụ DICOM) tƣơng đƣơng. Một DIMSE-service-user đóng một trong hai vai trị:
- DIMSE-service-user Gọi. - DIMSE-service-user Thực hiện.
DIMSE-service-user sử dụng Dịch vụ Nguyên thuỷ (service promitive) đƣợc cung cấp bởi DIMSE-service-provider (Cung cấp dịch vụ DICOM). DIMSE-service-
90
provider là sự trừu tƣợng hoá thực thể cung cấp các dịch vụ DICOM tới các DIMSE- service-user ngang hàng. Một Dịch vụ Nguyên thuỷ là một trong các loại sau:
- Request Promitive (Yêu cầu nguyên thuỷ) - Indication Promitive (Chỉ báo nguyên thuỷ) - Response Primitive (Trả lời nguyên thuỷ) - Confirm Primitive (Xác nhận nguyên thuỷ)
Các dịch vụ nguyên thuỷ này đƣợc sử dụng để hoàn thành một dịch vụ DIMSE. - DIMSE-service-user Gọi đƣa ra một Yêu cầu nguyên thuỷ tới DIMSE-service- provider.
- DIMSE-service-provider nhận Yêu cầu nguyên thuỷ từ DIMSE-service-user và đƣa ra một Chỉ báo Nguyên thuỷ tới DIMSE-service-user Thực hiện.
- DIMSE-service-user Thực hiện nhận Chỉ báo nguyên thuỷ từ DIMSE-service- provider và thực hiện dịch vụ đƣợc yêu cầu.
- DIMSE-service-user Thực hiện đƣa ra một Trả lời nguyên thuỷ tới DIMSE- service-provider.
- DIMSE-service-provider nhận Trả lời nguyên thuỷ từ DIMSE-service-user và đƣa ra một Xác nhận nguyên thuỷ tới DIMSE-service-user gọi.
- DIMSE-service-user nhận Xác nhận nguyên thuỷ từ DIMSE-service-provider đã hoàn thành dịch vụ DIMSE
Bản tin
(Lệnh yêu cầu và Dữ liệu liên quan)
Trả lời nguyên thuỷ
DIMSE-Service Provider
Xác nhận nguyên thuỷ
Chỉ báo nguyên thuỷ Yêu cầu nguyên thuỷ
Bản tin
(Trả lời Lệnh và Thông tin liên
quan)
DIMSE-Service-User Gọi
DIMSE-Service-user Thực hiện
Hình vẽ IV.4.1: Dịch vụ nguyên thuỷ của DIMSE IV.2.4.1. Các loại dịch vụ
DIMSE cung cấp hai loại dịch vụ truyền thông tin - Dịch vụ Thông báo (notification).
- Dịch vụ Thao tác(operation).
Dịch vụ Thông báo dùng cho một Thực thể ứng dụng DICOM thông báo cho thực thể khác biết về một sự kiện xảy ra hay sự thay đổi trạng thái. Định nghĩa của thông báo và cách ứng xử logic của Thực thể ứng dụng phụ thuộc vào Lớp dịch vụ và Định nghĩa Đối tƣợng Thông tin.
Dịch vụ Thao tác dùng cho một Thực thể ứng dụng DICOM yêu cầu một thao tác phải đƣợc thực hiện nhờ một SOP Cụ thể đƣợc quản lí bởi một Thực thể ứng dụng DICOM khác.
IV.2.4.2. Tương tác DIMSE-service-user
DIMSE nhận các yêu cầu thông báo, thao tác và thông tin liên quan từ DIMSE- service-user. Hai Thực thể ứng dụng DICOM đóng vai trị nhƣ là các DIMSE-service- user ngang hàng trao đổi các thông báo và thao tác.
Một thông báo và thao tác đƣợc thi hành chính là tƣơng tác Yêu cầu/Trả lời đƣợc thực hiện trong Giao kết ứng dụng. Điển hình là, một DIMSE-service-user yêu cầu một Thao tác cụ thể đƣợc thực hiện (hay một thông báo đƣợc đƣa ra) và DIMSE-service- user khác cố gắng thực hiện Thao tác (hay đƣa ra Thơng báo) rồi báo cáo kết quả.
Hình IV.4.2: Dịng thơng báo và thao tác Thông báo Thao tác DIMSE-Service-User - Gọi DIMSE-Service-User (SCU) DIMSE-Service-User - Thực hiện DIMSE-Service-User - Thực hiện DIMSE-Service-User (SCP) DIMSE-Service-Use- Gọi
92
IV.2.4.3. Chế độ dịch vụ
Các Thao tác và Thông báo, trong một Giao kết, đƣợc sử dụng dƣới một trong hai chế độ:
-Đồng bộ (Synchronous) -Dị bộ (Asynchronous)
Trong chế độ đồng bộ, DIMSE-service-user Gọi, trong một Liên kết đƣợc thiết lập, đòi hỏi một Trả lời từ DIMSE-service-user Thực hiện trƣớc khi gọi một Thao tác hay Thông báo khác.
Trong chế dị đồng bộ, DIMSE-service-user Gọi, trong một Giao kết đƣợc thiết lập, có thể tiếp tục gọi ra các Thao tác và Thông báo mà không phải chờ Trả lời.
Chế độ đƣợc dùng (đồng bộ hay dị bộ) đƣợc định rõ vào thời điểm thiết lập Liên kết. Chế độ dị bộ là mặc định.
IV.2.3.4. Các dịch vụ Liên kết a. Thiết lập Liên Kết a. Thiết lập Liên Kết
Dịch vụ A-ASSOCIATE đƣợc gọi ra bởi một DIMSE-service-user để thiết lập một Liên kết với một DIMSE-service-user ngang hàng. Sự thiết lập Liên kết luôn là giai đoạn đầu tiên của Trao đổi Bản tin DICOM.
b. Giải phóng Liên kết
Dịch vụ A-RELEASE đƣợc gọi ra bởi một DIMSE-service-user để chấm dứt theo chủ định của một Liên kết giữa các DIMSE-service-user ngang hàng.
Dịch vụ A-ABORT đƣợc gọi ra bởi một DIMSE-service-user để yêu cầu chấm dứt đột ngột Liên kết giữa các DIMSE-service-user ngang hàng.
IV.2.3.5. Các dịch vụ DIMSE
Vì cách các Thao tác cung cấp cho SOP Phức Cụ Thể (Composite SOP Instance) khác so với các Thao tác và Thông báo cung cấp cho SOP Thƣờng Cụ thể (Nomalized SOP Instance) có hai nhóm Dịch vụ DIMSE đƣợc định nghĩa:
-DIMSE-N:Tƣơng thích cho Lớp SOP Thƣờng -DIMSE-C:Tƣơng thích cho Lớp SOP Phức
Tên Nhóm Loại
C-STORE DIMSE-C Thao tác
C-GET DIMSE-C Thao tác
C-MOVE DIMSE-C Thao tác
C-FIND DIMSE-C Thao tác
C-ECHO DIMSE-C Thao tác
N-EVENT-REPORT DIMSE-N Thông báo
N-GET DIMSE-N Thao tác
N-SET DIMSE-N Thao tác
N-ACTION DIMSE-N Thao tác
N-CREAT DIMSE-N Thao tác
N-DELETE DIMSE-N Thao tác
IV.2.3.5.1. Dịch vụ DIMSE-C
Các dịch vụ DIMSE-C cho phép một Thực thể ứng dụng DICOM yêu cầu một Thao tác bởi một Thực thể ứng dụng khác trên SOP Phức Cụ thể. Các Thao tác này tƣơng thích với các các phiên bản trƣớc của Chuẩn. DIMSE-C chỉ cung cấp các dịch vụ Thao tác.
Các dịch vụ Thao tác
- Dịch vụ C-STORE đƣợc gọi ra bởi một DIMSE-service-user để yêu cầu lƣu trữ SOP Phức Cụ với một DIMSE-service-user ngang hàng.
- Dịch vụ C-FIND đƣợc gọi ra bởi một DIMSE-service-user để đối sánh một chuỗi Thuộc tính với các Thuộc tính của bộ SOP Cụ thể đƣợc quản lí bởi một DIMSE- service-user ngang hàng. Dịch vụ C-FIND trả về cho mỗi sự đối sánh một danh sách các Thuộc tính cần tìm và các giá trị của chúng.
- Dịch vụ C-GET đƣợc gọi ra bởi một DIMSE-service-user để tìm thơng tin cho một hay nhiều SOP Phức Cụ thể từ một DIMSE-service-user ngang hàng, dựa vào các Thuộc tính đƣợc cung cấp bởi DIMSE-service-user Gọi
- Dịch vụ C-MOVE đƣợc đƣa ra bởi một DIMSE-service-user để chuyển thông tin cho một hay nhiều SOP Phức Cụ thể từ một DIMSE-service-user ngang hàng, tới DIMSE-service-user thứ ba, dựa trên các Thuộc tính đƣợc cung cấp bởi DIMSE-