Transfer Syntax와 모호한 DICOM
DICOM 2022. 6. 13. 19:44Transfer Syntax에 대해 맺힌 한이 많아서인지 또 쓰게 됩니다.
기본적인 내용은 앞서 쓴 글을 참조하시기 바랍니다.
Transfer Syntax는 AE들 간에 통신을 위해 처음 Association 과정에서 맞추어져야 하는 것이라고 얘기를 했습니다.
그런데 말이죠. 예를 들어
A 라는 진단 장치로 환자를 검사하여 원본이 1GB 정도인 multi-frame image들을 만들었다고 해봅시다.
A가 이 이미지들을 각각 Jpeg으로 압축해서 저장해서 총 용량 50MB 정도로 줄여놨다고 해봅시다.
즉, JPeg Baseline Transfer Syntax인 파일로 저장해 놨다고 해봅시다.
A 가 이 DICOM 영상을 PACS 로 보내려고 요청을 하는데... 만약 PACS가 JPeg Baseline 을 지원하지 않으니 Default Transfer Syntax로 Association 을 시도 한다고 하면 어떻게 해야 할까요?
제대로 하려면 A 가 이미지 한 장 한 장 압축을 풀어서 image data 를 converting 해서 보내야 합니다.
DICOM part5 10.1 에도 그렇게 써 있구요,
https://dicom.nema.org/medical/dicom/current/output/html/part05.html#chapter_10
"In other words, every sending AE is required to be able to convert any Data Set it is going to transmit into the Default Transfer Syntax, regardless of the form in which it originally received or stored the Data Set."
그런데 시스템 A 의 입장에서는 1GB 를 압축을 풀어서 DICOM data를 다시 만들어서 보낸다는게 이게 쉬운 일이 아닙니다. on the fly로 압축을 풀어야 하고 메모리가 양이 커지고 영상 하나를 처리하는 속도도 매우 느려지겠죠.
그런데 다행이 예외도 있습니다.
"Except in the cases of when the decompressed Pixel Data is too large to encode in the Default Transfer Syntax or is received in a lossy compressed form. In the case of lossy compressed Pixel Data, the sending AE is permitted to propose only the lossy compressed Transfer Syntax appropriate to the lossy form that was received. In the case of lossless compressed Pixel Data that is too large to encode in the Default Transfer Syntax, the sending AE is permitted to propose any appropriate lossless compression Transfer Syntax, not necessarily that in which the image was received, as an alternative to the Default Transfer Syntax."
요점만 요약해 보면 "압축을 풀어서 pixeldata 가 너무 커지게 되면 상대가 default transfer syntax 를 요구할 지라도 보내는 A입장에서는 lossy compressed transfer syntax 하나만 제시하는것이 허락된다.".
저 문장에서 too large는 과연 얼마가 기준일까요?
하지만 이 문장은 시스템 A 를 개발하는 개발자 입장에서는 엄청나게 도움이 되는 문장입니다.
시스템 A가 만드는 영상이 압축을 풀면 너무커서 Transfer Syntax 를 JPeg Baseline으로 고정해서 쓰겠다고 해도 틀린게 아니기 때문입니다. 그리고 위와 같은 경우에 대하여 수정할 필요가 없게 만드는 말이기 때문이지요.
누가 뭐라해도 DICOM 표준에 쓰여 있다고 하면 되니까 말입니다.
DICOM표준은 매우 모호합니다.
실제로 DICOM표준은 모호하지는 않고 모든 내용이 적혀 있지만.... 문제는 어디에 뭐가 적혀 있는지 모두 알고 있지 못하기 때문에 모호해 질 수 밖에 없습니다.
위의 예를 보아도 저런 내용이 어디에 어떻게 적혀 있는지 아는 사람이 정말 드뭅니다.
만약 PACS 개발자가 저 내용을 모른다면 항의를 할 수도 있는 부분이죠. "왜 Default Transfer Syntax로 converting 못해주냐?" 이럴 수 있는 거죠.
그런데 또 모르면 개고생 해가면서 개발을 해야 하는 것이 DICOM 개발자인 것이죠.
'DICOM' 카테고리의 다른 글
DICOM Private Data Element (0) | 2022.06.14 |
---|---|
DICOM 영상, 검사 과정과 Data (0) | 2022.06.14 |
JPeg Baseline과 Transfer Syntax (0) | 2022.06.12 |
DICOM 영상 진단 장치와 병원 시스템 (0) | 2022.06.12 |
DICOM Secondary? (0) | 2022.06.12 |