KR101911734B1 - 소프트웨어 기반의 초음파 이미징 시스템 - Google Patents

소프트웨어 기반의 초음파 이미징 시스템 Download PDF

Info

Publication number
KR101911734B1
KR101911734B1 KR1020167001589A KR20167001589A KR101911734B1 KR 101911734 B1 KR101911734 B1 KR 101911734B1 KR 1020167001589 A KR1020167001589 A KR 1020167001589A KR 20167001589 A KR20167001589 A KR 20167001589A KR 101911734 B1 KR101911734 B1 KR 101911734B1
Authority
KR
South Korea
Prior art keywords
area
end unit
channel data
host
system memory
Prior art date
Application number
KR1020167001589A
Other languages
English (en)
Other versions
KR20160029803A (ko
Inventor
장선엽
구자운
강승범
손건호
Original Assignee
알피니언메디칼시스템 주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 알피니언메디칼시스템 주식회사 filed Critical 알피니언메디칼시스템 주식회사
Publication of KR20160029803A publication Critical patent/KR20160029803A/ko
Application granted granted Critical
Publication of KR101911734B1 publication Critical patent/KR101911734B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B8/00Diagnosis using ultrasonic, sonic or infrasonic waves
    • A61B8/56Details of data transmission or power supply
    • A61B8/565Details of data transmission or power supply involving data transmission via a network
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B8/00Diagnosis using ultrasonic, sonic or infrasonic waves
    • A61B8/44Constructional features of the ultrasonic, sonic or infrasonic diagnostic device
    • A61B8/4483Constructional features of the ultrasonic, sonic or infrasonic diagnostic device characterised by features of the ultrasound transducer
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B8/00Diagnosis using ultrasonic, sonic or infrasonic waves
    • A61B8/52Devices using data or image processing specially adapted for diagnosis using ultrasonic, sonic or infrasonic waves
    • A61B8/5207Devices using data or image processing specially adapted for diagnosis using ultrasonic, sonic or infrasonic waves involving processing of raw data to produce diagnostic data, e.g. for generating an image
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/52Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00
    • G01S7/52017Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00 particularly adapted to short-range imaging
    • G01S7/52079Constructional features
    • G01S7/52082Constructional features involving a modular construction, e.g. a computer with short range imaging equipment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B8/00Diagnosis using ultrasonic, sonic or infrasonic waves
    • A61B8/46Ultrasonic, sonic or infrasonic diagnostic devices with special arrangements for interfacing with the operator or the patient
    • A61B8/461Displaying means of special interest

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Public Health (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Pathology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Radiology & Medical Imaging (AREA)
  • Veterinary Medicine (AREA)
  • Biophysics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Gynecology & Obstetrics (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)

Abstract

소프트웨어 기반의 초음파 이미징 시스템을 개시한다.
본 실시예의 일 측면에 의하면, 소프트웨어 기반의 초음파 이미징 시스템에서 채널 데이터(또는 Raw 데이터)를 효율적으로 전송, 처리 및 저장할 수 있는 방법 및 아키텍처를 제공한다.

Description

소프트웨어 기반의 초음파 이미징 시스템{SOFTWARE-BASED ULTRASOUND IMAGING SYSTEM}
본 실시예는 초음파 이미징 시스템에 관한 것이다. 보다 상세하게는, 데이터 전송, 메모리 접근 방식 등을 개선한 소프트웨어 기반의 초음파 이미징 시스템에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
초음파 이미징 시스템은 초음파를 투사한 대상체 내부의 반사 신호를 이용하여 대상체의 내부의 정보를 얻기 위한 의료 분야에서 널리 이용되고 있다. 초음파 이미징 시스템은 다채널 초음파 신호 획득 및 실시간 처리를 필요로 하는 복잡한 전자 시스템이다. 특히, 디지털 빔포밍은 초음파 이미징 시스템에서 가장 연산 집약적 기능블록으로서, 전통적으로 하드와이어드(hard-wired) 구조(예컨대, ASICs, FPGA)로 설계되었다. 근래에 소프트웨어 프로세싱, 특히 범용 GPU(General-Purpose GPU: GPGPU), 다중내장코어(Many Integrated Core: MIC) 등과 같은 병렬 코어 프로세서의 급속한 발전으로 인해, 이러한 기능들을 소프트웨어로서 구현하기 위한 시도가 이루어지고 있다.
이러한 소프트웨어에 기반한 초음파 이미징 시스템은 본질적으로 비실시간으로 동작하는 운영체제에 기반한 호스트 장치를 이용하여 실시간으로 획득되는 초음파 데이터를 처리한다는 점에서, 실시간 처리를 담보할 수 있는 초음파 데이터의 전송, 처리 방식의 설계가 중요하다.
본 실시예는, 데이터 전송, 메모리 접근 방식 등을 개선한 소프트웨어 기반의 초음파 이미징 시스템 및 이를 이용한 초음파 이미지 생성 방법을 제공하는 데 주된 목적이 있다.
본 발명의 일부 실시예에서, 프런트 엔드 유닛에서 채널 데이터를 호스트 PC로 전송 시, 데이터 버스에 대한 버스 마스터링(Bus Mastering)을 통해, 추가적인 메모리를 거치치 않고 호스트 PC의 시스템 메모리로 채널 데이터를 직접 전송한다. 또한, 각 채널별 데이터의 목적지 주소를 제어하여, 채널 데이터가 트랜스듀서 엘리먼트 순서로 정렬된 상태로 시스템 메모리에 저장되게 한다.
본 발명의 일부 실시예에서, 호스트 PC는 시스템 메모리의 일부 영역을 페이지-락(Page-Lock)하고, 프런트 엔드 유닛이 페이지-락된(Page-Locked) 영역에 채널 데이터를 직접 전송한다. 페이지-락된(Page-Locked) 영역의 주소 정보는 프런트 엔드 유닛 및 병렬코어 프로세서에 연동되어, 프런트 엔드 유닛과 GPU의 동시 접근이 가능하게 된다. 또한, 호스트 PC는 시스템 메모리의 다른 일부 영역을 페이지-락하고, 상기 채널 데이터에 대한 이미지 생성 프로세스들 중 어느 한 단계의 결과물을 저장하는 데 사용할 수 있다. 호스트 PC는 시스템 메모리의 페이지-락된(Page-Locked) 영역들을 시네 메모리로 사용할 수 있다.
본 발명의 일부 실시예에서, 호스트 PC는 초음파 이미지를 형성하기 위한 프로세스들 중 적어도 하나의 하위 프로세스를 수행함에 있어서 병렬코어 프로세서의 멀티-스레드 처리 방식을 이용한다. 또한, 병렬코어 프로세서의 처리 속도를 높이기 위해, 시스템 메모리와 병렬코어 프로세서의 로컬 메모리와의 데이터 복사시, 비동기 전송으로 데이터를 분할하여 복사하되, 데이터 복사와 데이터 처리가 오버랩되어 수행되는 스트림 기법을 사용한다.
본 실시예의 일 측면에 의하면, 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치에 있어서, 상기 호스트 PC는 시스템 메모리와, 하나 이상의 병렬 코어 프로세서와, 상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고, 상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고, 상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하는 것을 특징으로 하는 초음파 진단 장치를 제공한다.
본 실시예의 다른 측면에 의하면, 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛에 있어서, 상기 트랜스듀서로부터 실시간으로 전송되는 RF 신호를 디지털 신호로 변환하는 A/D 컨버터와, 상기 A/D 컨버터의 출력을 채널별로 버퍼링하는 버퍼 메모리와, 상기 버퍼 메모리에 버퍼링되는 채널별 데이터를 Round-Robin 방식으로, 데이터 버스의 최대 페이로드 크기(Max Payload Size)로 데이터 패킷을 생성하여, 호스트 PC의 데이터 요청과 무관하게, 상기 호스트 PC의 시스템 메모리 상의 페이지-락된(Page-locked) 영역에 전송하는 처리회로를 포함하는 프런트 엔드 유닛을 제공한다.
본 실시예의 또다른 측면에 의하면, 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치의 호스트 PC에 있어서, 시스템 메모리와, 하나 이상의 병렬 코어 프로세서와, 상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고, 상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고, 상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하는 것을 특징으로 하는 호스트 PC를 제공한다.
본 실시예의 또다른 측면에 의하면, 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치가 초음파 이미지를 생성하는 방법에 있어서, 호스트 PC가 시스템 메모리의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 과정과, 프런트 엔드 유닛이 트랜스듀서를 이용하여 채널 데이터를 획득하는 과정과, 상기 프런트 엔드 유닛이 상기 제1 영역에 상기 채널 데이터를 전송하는 과정과, 상기 호스트 PC에 포함된 메인 프로세서 및 병렬 코어 프로세서를 이용하여, 상기 채널 데이터에 대해 초음파 이미지를 생성하기 위한 프로세스를 수행하는 과정을 포함하되, 상기 프런트 엔드 유닛 및 병렬 코어 프로세서는 직접 메모리 액세스(Direct Memory Access: DMA) 방식을 통해 상기 제1 영역에 동시에 접근 가능한 것을 특징으로 하는, 초음파 이미지 생성 방법을 제공한다.
본 실시예의 또다른 측면에 의하면, 명령어들을 저장하는 컴퓨터로 판독 가능한 기록 매체로서, 시스템 메모리와 메인 프로세서(Central Processing Unit: CPU)와 병렬 코어 프로세서를 포함하는 컴퓨터에서 실행되는 경우, 상기 컴퓨터로 하여금, 상기 시스템 메모리의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하게 하고; 데이터 버스를 통해 연결되는 프런트 엔드 유닛으로부터 상기 제1 영역에 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 전송되는 채널 데이터에 대해 초음파 이미지를 생성하기 위한 프로세스를 수행하게 하되; 상기 병렬 코어 프로세서가 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하도록 하는 명령어를 포함하는 컴퓨터로 판독 가능한 기록 매체를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 소프트웨어 기반의 초음파 이미징 시스템에서 채널 데이터를 효율적으로 전송, 처리 및 저장할 수 있는 방법 및 아키텍처를 제공한다.
또한, 프런트 엔드 유닛이 호스트 PC상의 CPU의 관여없이, 버스 마스터링을 통해 시스템 메모리로 채널 데이터를 직접 전송함에 따라, 데이터 전송에 따른 시간 지연을 최소화한다.
또한, 프런트 엔드 유닛으로부터 시스템 메모리로의 채널 데이터 전송과 동시에, 각 채널별 샘플값들이 트랜스듀서 엘리먼트 순서로 정렬된 형태로 저장되므로, 데이터의 코어레싱(Coalescing)을 증가시켜, 호스트 PC에서의 채널 데이터에 대한 연산, 예컨대 빔포밍 연산시 메모리 접근의 효율성을 향상시킨다.
또한, GPU의 로컬 메모리와 시스템 메모리 간의 데이터 복사시, 비동기 전송으로 데이터를 분할하여 전송하되, 데이터 전송과 데이터 처리가 오버랩되어 동시에 수행되도록 함으로써, 데이터 복사의 레이턴시를 GPU의 연산 뒤에 완전히 숨길 수 있다.
또한, 시스템 메모리의 페이지-락된 공간을 시네 메모리로 이용함으로써, 기 저장된 데이터 파일을 시스템 메모리의 페이지-락된 공간에 로드(Load)하여 초음파 이미지를 재구성하는 과정에서 GPU를 보다 효율적으로 활용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 초음파 이미징 시스템을 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 프런트 엔드 유닛의 구성을 개략적으로 도시한 블럭도이다.
도 3은 본 발명의 일 실시예에 따른 프런트 엔드 유닛의 채널 데이터 전송 방식을 도식화한 도면이다.
도 4는 호스트 PC의 시스템 메모리 상에 저장된 채널 데이터의 정렬 형태를 도식화한 도면이다.
도 5는 본 발명의 일 실시예에 따른 호스트 PC의 구성을 개략적으로 도시한 블럭도이다.
도 6은 본 발명의 일 실시예에 따른, GPU의 데이터 복사 및 처리 방법을 도식화한 도면이다.
도 7은 본 발명의 일 실시예에 따른 실시간으로 동작시 호스트 PC의 초음파 데이터 처리 방법을 도식화한 도면이다.
도 8은 본 발명의 일 실시예에 따른 초음파 이미징 시스템의 실시간 동작 방법을 도시한 흐름도이다.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 비실시간으로 동작시 호스트 PC의 초음파 데이터 처리 방법을 도식화한 도면이다.
도 10a 및 도 10b는 본 발명의 일 실시예에 따른 비실시간으로 동작시 호스트 PC의 초음파 데이터 처리 방법을 도시한 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 초음파 이미징 시스템을 개략적으로 도시한 블록도이다.
도 1에 도시된 바와 같이, 초음파 이미징 시스템은 초음파 트랜스듀서(110) 및 디스플레이 장치(140)에 전기적으로 연결된다. 초음파 이미징 시스템은 프런트 엔드 유닛(120) 및 호스트 PC(130)를 포함한다.
프런트 엔드 유닛(120)은 호스트 PC(130)로부터 전송된 제어신호를 기초로 초음파 트랜스듀서에 인가될 전기적 구동신호를 생성한다. 초음파 트랜스듀서(210)는 프런트 엔드 유닛(120)에 의해 제공되는 전기적 구동신호를 초음파 신호를 변환하여 대상체에 송신하는 데 이용되며, 대상체로부터 송신한 초음파 신호의 반사 신호를 수신하여 전기적 신호(즉, RF 신호)로 변환한다. 'RF'는 당해 기술분야에서 통상적으로 사용되는 용어로서, 초음파의 주파수(통상적으로 0.5 내지 100 Mhz)를 의미하지만, 이 표현에 의하여 본 발명의 권리가 제한되는 것은 아니다.
한편, 도 1에서는 수 개의 엘리먼트(Element)들만이 예시되어 있지만, 일반적으로 초음파 튜랜스듀서는 수백 개(예컨대, 128, 256개)의 엘리먼트들을 포함한다. 잘 알려진 바와 같이, RF 신호는 스캔 라인별로 획득되거나 평면파(Plane Wave) 혹은 발산파(Divergnet Wave)를 이용하여 프레임 단위로 획득될 수도 있다. 또한, RF 신호는 대상체 내 관심영역의 2차원 영상 혹은 3차원 영상을 생성하기 위해 이용될 수 있다.
프런트 엔드 유닛(120)은 아날로그 신호인 RF 신호를 디지털 신호로 변환하고, 데이터 버스(예컨대, PCI Express 버스)에 대한 버스 마스터링(Bus Mastering)을 통해, 변환된 디지털 신호를 호스트 PC(130)의 시스템 메모리에 DMA 전송한다. RF 신호는 디지털 신호로 변환되기 전 또는 변환된 후에, 저주파 필터링(Low-pass Filtering), 안티-엘리어싱 필터링(Anti-aliaing Filtering), 펄스 압축(Pulse Compression), 대역통과 필터링(Band-pass Filtering), IQ 복조(IQ Demodulation), 데시메이션(Decimation) 등의 프로세싱이 적용될 수 있으나, 이러한 경우라도 최소의 프로세싱을 거친 초음파 데이터가 시스템 메모리에 저장된다.
프런트 엔드 유닛(120)은 다양한 방법으로 프로브 또는 호스트 PC(130) 내에 구현될 수 있으며, 이들과 독립적으로 구성될 수도 있다. 예컨대, 프런트 엔드 유닛(120)은 BTB(Board-to-Board) 접속으로 프로브 내에 구현될 수 있으며, 호스트 PC(130)의 메인 보드에 플러그-인 방식으로 삽입된 형태일 수 있다. 물론, 프런트 엔드 유닛(120)은 호스트 PC(130)의 외부에 위치하여, 데이터 버스를 통해 호스트 PC(130)와 연결될 수도 있다.
호스트 PC(130)는 프런트 엔드 유닛(120)을 제어하여 초음파 데이터를 획득하고, 획득한 초음파 데이터를 프로세싱하여 초음파 이미지를 생성하는 데 사용되는 소프트웨어를 구동한다.
전술한 구성을 갖는 초음파 이미징 시스템은 전용 하드웨어로 구성되는 프런트 엔드 유닛을 단순화하는 한편, 소프트웨어의 수정을 통해 B모드, M모드 등과 같이 잘 알려진 모드들 외에 다른 새로운 모드나 새로운 빔포밍 방식을 손쉽게 적용할 수 있다. 즉, 초음파 이미징 시스템의 개발 전후에 걸쳐, 사용자의 다양한 요구 사항을 충족하기 위해 소프트웨어의 일부가 용이하게 수정될 수 있다. 결과적으로, 초음파 이미징 시스템의 개발이 용이하고, 초음파 이미징 시스템의 기능 확장이 보다 용이한 장점을 가진다.
도 2는 본 발명의 일 실시예에 따른 프런트 엔드 유닛의 구성을 개략적으로 도시한 블럭도이다.
도 2에 도시된 바와 같이, 프런트 엔드 유닛(120)은 송신부(210), 수신부(220) 및 프런트 엔드 처리 회로(230)를 포함한다. 여기서, 프런트 엔드 유닛(120)은 그 기능에 따라 다른 구성요소를 더 포함할 수 있으나, 본 발명의 특징들 중 하나인 호스트 PC로의 데이터 전송 방식을 설명하는데 있어서 요지를 흐릴 수 있는 구성에 대한 설명은 생략하기로 한다.
송신부(210)는 프런트 엔드 처리 회로(230)를 통해 호스트 PC(130)로부터 전송된 제어신호를 기초로, 트랜스듀서(110)에 인가될 전기적 구동신호를 생성한다. 본 실시예에서는 송신부(210)가 프런트 엔드 유닛(220)에 포함된 것으로 예시하고 있으나, 프런트 엔드 유닛(220)과 독립적으로 구성되는 것도 가능하다.
수신부(220)는 수신회로, N개의 A/D 컨버터 및 N개의 버퍼 메모리를 포함할 수 있다. 대상체로부터의 반사 신호(Echo)는 트랜스듀서(110)에서 전기적 신호(즉, RF 신호)로 변환되고, 수신회로는 트랜스듀서(110)로부터 RF 신호를 수신한다. A/D 컨버터는 수신회로의 출력인 아날로그 형태의 RF 신호를 디지털 신호로 변환하는 데 사용된다. A/D 컨버터의 출력인 디지털 신호(즉, 채널별 샘플값)는 N개의 버퍼 메모리에 채널별로 일시적으로 버퍼링된다.
프런트 엔드 처리 회로(230)는 데이터 버스를 통해 연결된 호스트 PC(130)로부터 시스템 메모리 상의 페이지-락(Page-lock)된 영역에 관한 주소(Address) 정보를 획득한다. 여기서, 주소 정보는 페이지-락된 영역의 물리적 주소(Physical Address) 또는 물리적 주소와 매핑된 가상 주소(Virtual Address) 즉, 논리적 주소일 수 있다. 프런트 엔드 처리 회로(230)는 버퍼 메모리(223)에 버퍼링되는 채널별 샘플값들을, 데이터 버스에 대한 버스 마스터링(Bus Mastering)을 통해, 호스트 PC(130)의 시스템 메모리로 직접 전송한다. 즉, 프런트 엔드 처리 회로(230)는 DMA 기술을 이용한다. 데이터 버스는 실시간 전송을 담보할 수 있는 적절한 고속 버스 기술이 사용될 수 있다. 예컨대, 데이터 버스(550)는 PCI-E(PCI Express) 버스로 구현될 수 있다. 본 발명의 일 실시형태에서, 프런트 엔드 처리 회로(230)은 데이터 버스를 통해 버퍼 메모리에 버퍼링된 채널별 샘플값들을 호스트 PC(130)의 시스템 메모리에 DMA 전송하기 위한 DMA 컨트롤러와, 버퍼 메모리에 일정 크기의 샘플값들이 버퍼링되면 DMA 컨트롤러에 대해 DMA 전송을 수행하도록 제어하는 제어부를 포함할 수 있다.
일부 실시예에서, 프런트 엔드 유닛(120)에서는 RF 신호를 디지털 신호로 변환하기 전 또는 변환한 후에, 저주파 필터링(Low-pass Filtering), 안티-엘리어싱 필터링(Anti-aliaing Filtering), 펄스 압축(Pulse Compression), 대역통과 필터링(Band-pass Filtering), IQ 복조(IQ Demodulation), 데시메이션(Decimation) 등의 전처리(Pre-processing)를 수행할 수도 있다. 따라서, 호스트 PC(130)의 시스템 메모리로 전송되는 데이터는 프런트 엔드 유닛(120)에서 수행되는 전처리(Pre-processing) 방식에 따라 다양한 포맷을 가질 수 있다. 예컨대, 프런트 엔드 처리 회로(230)가 IQ 복조를 수행하도록 구성되는 경우, 시스템 메모리에는 기저대역(Baseband)으로 복조된 IQ 데이터가 전송될 수 있다. 이하에서는, 호스트 PC의 시스템 메모리로 전송되는 데이터를 '채널 데이터(Channel Data)'라고 지칭하기로 한다.
이하에서는 도 3 및 도 4를 참조하여, 프런트 엔드 유닛(120)이 호스트 PC(130)의 시스템 메모리에 채널 데이터를 전송하는 방법을 보다 상세히 설명하기로 한다. 도 3은 본 발명의 일 실시예에 따른 프런트 엔드 유닛의 채널 데이터 전송 방식을 도식화한 도면이고, 도 4는 호스트 PC의 시스템 메모리 상에 저장된 채널 데이터의 정렬 형태를 도식화한 도면이다.
앞서 살펴본 바와 같이, 수신부(220)의 각 채널별 버퍼 메모리에는 A/D 컨버터의 출력인 채널별 샘플값들이 FIFO 방식으로 버퍼링된다. 프런트 엔드 처리 회로(230)는 각 채널별 버퍼에 대해 라운드-로빈(Round-Robin) 방식으로 데이터 패킷을 생성하여 호스트 PC(130)의 시스템 메모리에 전송한다. 즉, 각 채널마다 순차적으로 데이터 패킷이 생성된다. 이때, 프런트 엔드 처리 회로(230)는 데이터 버스의 프로토콜에 따라 정해지는 Max_Payload_Size를 기준으로 데이터 패킷을 생성하고, 시스템 메모리 내의 각 채널별 목적지 주소(Destination Address)로 생성된 데이터 패킷을 전송한다.
프런트 엔드 처리 회로(230)는 사전에 호스트 PC(130)로부터 시스템 메모리 상의 페이지-락(Page-lock)된 영역에 관한 주소(Address) 정보를 획득한다. 여기서, 주소 정보는 페이지-락된 영역의 물리적 주소(Physical Address) 또는 물리적 주소와 매핑된 가상 주소(Virtual Address), 즉 논리적 주소일 수 있다. 위 주소 정보를 기초로, 프런트 엔드 처리 회로(230)는 각 데이터 패킷에 포함된 샘플값들이 저장될 목적지 주소를 할당한다. 목적지 주소는 샘플값들이 채널별로 연속된 주소공간에 저장되도록 할당된다. 덧붙여, 채널별 목적지 주소는 메모리 배열의 시작 인덱스부터 차례대로 저장되도록, 또한 마지막 인덱스에서는 다시 처음의 인덱스 부분으로 되돌려져 처음 영역부터 다시 저장되도록(즉, 순환 방식으로 저장되도록) 할당된다. 위와 같은 목적지 주소의 제어를 통해, 채널 데이터는 전송과 동시에 각 채널(또는 엘리먼트)별로 정렬된 형태로 시스템 메모리에 저장된다. 도 4를 참고하면, 시스템 메모리상의 주소 공간에는 종방향으로 각 채널별 샘플값들이, 횡방향으로 동일 채널의 샘플값들이 순차적으로 기록된다. 즉, 채널 데이터는 각 채널별로 연속된 메모리 주소공간에 저장된다.
위와 같은 전송 방식 및 그에 따른 시스템 메모리 상의 채널 데이터 저장 형태는 데이터의 코어레싱(Coalescing)을 증가시켜, 호스트 PC(130)에서의 채널 데이터에 대한 연산, 예컨대 빔포밍 연산시 메모리 접근의 효율성을 향상시킨다.
도 5는 본 발명의 일 실시예에 따른 호스트 PC의 구성을 개략적으로 도시한 블럭도이다.
도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 호스트 PC(130)는 중앙 처리 장치(Central Processing Unit: CPU; 510), 그래픽 처리 장치(Graphics Processing Unit: GPU; 520), GPU 메모리(525), 시스템 메모리(530) 및 브리지 칩(540)을 포함한다. 여기서, 호스트 PC(130)는 그 기능에 따라 다른 구성요소를 더 포함할 수 있으나, 본 발명의 특징들 중 하나인 채널 데이터를 프로세싱하는 방식을 설명하는데 있어서 요지를 흐릴 수 있는 구성에 대한 설명은 생략하기로 한다. 또한, 이하의 호스트 PC(130)의 구성들은 본 발명의 예시적인 실시예에 불과하며, 본 발명의 실시에 이용되는 호스트 PC(130)의 구성이 예시된 구성들로 한정되는 것은 아니다.
브리지 칩(540)은 데이터 버스(550)를 통해 프런트 엔드 유닛(120)에 전기적으로 연결된다. 또한, 브리지 칩(540)은 CPU(510), 시스템 메모리(530) 및 GPU(520)에 전기적으로 연결된다. 브리지 칩(540)은, 예컨대 노스-브리지 칩일 수 있으며, 다양한 I/O 장치들(예를 들어, 하드 디스크 드라이브 같은 하나 이상의 대용량 저장 장치, 휴먼-머신 인터페이스 장치, 이더넷 어댑터와 같은 통신 어댑터, CD-ROM, DVD 등)을 접속시키는 확장 버스들을 지원할 수 있다. 데이터 버스는 채널 데이터를 실시간으로 전송할 수 있는 적절한 고속 버스 기술이 사용될 수 있다. 예컨대, 데이터 버스(550)는 PCI-E(PCI Express) 버스로 구현될 수 있다.
CPU(510)는, 당업자들에게 널리 공지되어 있는, Intel Corporation 또는 다른 공급자들에 의해 제조된 것들과 같은, 프로세서일 수 있다. 시스템 메모리(530)는 다수의 DRAM(Dynamic Random Access Memory) 디바이스들일 수 있다. GPU(520)는 그래픽 카드에 배치될 수 있는 한편, CPU(510) 및 시스템 메모리(530)는 호스트 PC(130)의 마더보드에 배치될 수 있다. GPU(520)를 포함하는 그래픽 카드는 통상적으로 GPU(520)가 부착된 데이터 PCB(Printed Circuit Board)이다. 다른 일부 실시예들에서, GPU(520)는 마더보드에 포함될 수 있다. 예시된 호스트 PC(130)는 복수의 GPU들을 포함할 수도 있다. 이러한 GPU들은 각각이 별도의 그래픽 카드들에 배치될 수 있으며, 일부 실시예들에서 일부 GPU들이 마더보드에 배치될 수도 있다. 일반적으로, GPU는 크게 여러 개의 스트리밍 멀티프로세서(Streaming Multi-processor)와 오프칩 메모리(Off-chip Memory)로 구성되며, 스트리밍 멀티프로세서는 복수의 스트림 프로세서(Stream Processor)와 온칩 메모리(On-chip Memory) 등으로 구성된다.
도 5에 도시된 실시예에서는, 브리지 칩(540)이 CPU(510), GPU(520) 및 시스템 메모리(530)에 전기적으로 연결되는 것으로 예시하였지만, 일부 실시예들에서는 호스트 PC(130)의 GPU(520)가 직접적으로 CPU(510) 및 메모리(530)에 전기적으로 연결되고, GPU(520)가 직접적으로 데이터 버스(550)를 통해 프런트 엔드 처리 회로(230)에 전기적으로 연결되도록 구성될 수 있다. 또한, 다른 일부 실시예들에서는 호스트 PC(130)의 CPU(510) 및 GPU(520)가 싱글 다이(Single Die)에 설계되어 시스템 메모리(530)를 공유하는 형태의 싱글칩 집적 형태로 구성될 수 있다. 이러한 구성은 레이턴시, 데이터 처리속도 등의 측면에서 장점을 가진다. 일부 실시예들에서 범용 GPU(General Purpose GPU: GPGPU)가 GPU(520)로서 사용될 수 있으며, 다른 일부 실시예들에서는 다중내장코어(Many Integrated Core: MIC)가 GPU(520)의 대용으로 사용될 수도 있다.
전술한 구성을 기초로, 호스트 PC(130)의 CPU(510)는 프런트 엔드 유닛(120)을 제어하여 채널 데이터를 획득하고, GPU를 이용하여 실시간 또는 비실시간(예컨대, 시네 루프)으로 채널 데이터를 프로세싱하여 초음파 이미지를 생성하게 하는 데 사용되는 소프트웨어를 구동한다. 다시 말해, CPU(510)는 프런트 엔드 처리 회로(230)를 통해 송신부(210) 및 수신부(220)의 동작을 제어함으로써, 프런트-엔드 유닛(120)이 트랜스듀서(110)를 이용하여 채널 데이터를 획득하도록 제어한다. 또한, CPU(510)는 GPU(520)가 초음파 이미지 데이터를 생성하기 위해, 획득한 초음파 스캔 데이터에 멀티-스레드 처리 방식으로 이미지 형성을 위한 프로세스를 수행하도록 제어한다.
1. 사전 설정
시스템 메모리(530)는, CPU(510)에 의해, 일정 크기의 메모리 블럭(제1 영역; 531)이 프런트 엔드 유닛(120)으로부터 수신되는 채널 데이터의 저장을 위해 페이지-락(Page-lock) 된다. 즉, 채널 데이터가 저장되는 제1 영역(531)은 페이징(Paging)이 금지되고, 해당 메모리 공간은 항상 시스템 메모리에만 있게 된다. 페이지-락된 메모리를 고정 메모리(Pinned memory)라고 지칭하기도 한다. 또한, 시스템 메모리(530)는 일정 크기의 다른 메모리 블럭(제2 영역; 532)이 페이지-락(Page-lock) 될 수 있다. 제2 영역(532)은 제1 영역에 저장된 채널 데이터에 대해 빔포밍 등 추가적인 프로세싱이 수행된 데이터(즉, 빔포밍된 데이터, I/Q 데이터 등)가 저장된다. 물론, 시스템 메모리(530)의 또다른 메모리 블럭에는 CPU(510)에 의해 수행되는 소프트웨어가 저장될 수 있다.
CPU(510)는 프런트-엔드 처리 회로(226)가 채널 데이터를 직접 메모리 접근(Direct Momory Access: DMA) 방식으로 시스템 메모리(530)에 저장하는 데 필요한, 페이지-락된 메모리 블럭인 제1 영역(531)에 관한 주소(Address) 정보를 프런트-엔드 처리 회로(226)에 제공한다. 또한, CPU(510)는 GPU가 DMA 방식으로 시스템 메모리(530)의 제1 영역(531)에 저장된 채널 데이터를 획득하는 데 필요한 제1 영역(531)의 주소 정보를 GPU(520)에게 제공한다. 또한, CPU(510)는 GPU가 채널 데이터에 대해 프로세싱을 수행한 결과를 저장하는 데 필요한 제2 영역의 주소 정보를 GPU(520)에게 제공한다. 이로써, 프런트-엔드 처리 회로(226) 및 GPU(520)는 CPU(510)으로부터 획득한 제1 영역(531)의 주소 정보를 기초로, CPU(510)의 개입없이, 페이지-락된 제1 영역에 동시에 접근할 수 있다. 여기서, 주소 정보는 페이지-락된 영역의 물리적 주소(Physical Address) 또는 물리적 주소와 매핑된 가상 주소(Virtual Address), 즉 논리적 주소일 수 있다. 실시간 처리가 중요한 초음파 이미징에 있어서, 페이지-락된 메모리는 페이징가능한(pageable) 메모리보다 빠른 메모리 접근을 가능하게 한다. 즉, 프런트 엔드 유닛(120) 및 GPU(520)는, CPU의 개입없이, 페이지-락된 메모리에 DMA 접근할 수 있고, 그로 인해 CPU 버퍼로의 데이터 복사 등 추가적인 데이터 복사, 연산이 불필요하게 된다.
이하에서는, 도 6을 참조하여, GPU가 시스템 메모리 상의 초음파 데이터를 복사하고 처리하는 방식을 설명하기로 한다. 도 6은 본 발명의 일 실시예에 따른, GPU의 데이터 복사 및 처리 방법을 도식화한 도면이다.
2. 채널 데이터의 선택적 처리
도 6의 (a)를 참조하면, 실시간 동작 또는 비실시간 동작(예컨대, 시네 루프 동작)에서, 호스트 PC는 시스템 메모리상의 제1 영역에 저장된 채널 데이터 중 일부만을 선별적으로 프로세싱을 수행할 수 있다. 예컨대, 초음파 이미징 시스템은 최대로 이용가능한 펄스 반복 주파수(PRF: Pulse Repetition Frequency)를 이용하여, 시스템 메모리의 제1 영역 상에 호스트 PC의 실시간 처리능력을 넘어서는 충분한 채널 데이터를 획득할 수 있다. 이 경우, 호스트 PC는 실시간 처리를 유지하기 위하여, 시스템 메모리의 제1 영역상에 획득되는 모든 채널 데이터를 처리하는 대신에, 일부만을 선별적으로 처리한다. 이와 같이, 호스트 PC의 실시간 처리 능력을 넘어서는 채널 데이터는 비실시간 동작에서 효과적으로 활용될 수 있다. 즉, 호스트 PC는 실시간 처리나 프레임율(Frame Rate)에 대한 제한이 (거의) 없는 시네 루프 동작에서, 시스템 메모리의 제1 영역상에 저장된 모든 채널 데이터 또는 적어도 실시간 처리보다 많은 양의 채널 데이터를 처리할 수 있다.
3. GPU의 데이터 복사 및 연산
GPU는 초음파 이미징 시스템에서 가장 연산 집약적 기능인 디지털 빔포밍을 수행하는 데 사용된다. 이미지 형성 프로세스를 수행하는 데 사용되는 GPU가 멀티 코어로 구성된 병렬 처리 장치이기 때문에, 이미지 형성 프로세스의 각 단계는 복수의 하위 프로세스로 분할될 수 있으며, 하위 프로세스들은 다른 코어에 할당되어 동시에 처리될 수 있다.
GPU를 이용하여 시스템 메모리 상의 데이터를 프로세싱하기 위해서는 해당 데이터가 GPU의 오프칩 메모리(전역 메모리: Global Memory)로 복사되어야 한다. 일단 데이터가 시스템 메모리로부터 GPU의 전역 메모리로 복사되면, GPU 내의 멀티프로세서들은 프로세싱을 위해 전역 메모리 상의 데이터에 접근한다. 여기서, 시스템 메모리로부터 GPU의 전역 메모리로의 데이터 복사는 높은 레이턴시(Latency)를 가지는데, 이러한 메모리 복사는 데이터 버스의 제한된 대역폭에 기인한다. 예컨대 PCI-E 2.0×16 버스는 최대 대역폭이 8GB/s로 제한된다. GPU에서 프로세싱된 결과를 시스템 메모리에 전송하는 경우에도 동일하게 높은 레이턴시가 문제된다.
이를 고려하여, 본 발명의 일부 실시예에서, GPU는 시스템 메모리로부터 GPU의 로컬 메모리(전역 메모리)로 전체 데이터(예컨대, 스캔 라인 또는 프레임을 구성하는 데이터)를 복사하고 나서 연산을 시작하는 것이 아니라, 오히려, 데이터 전체를 여러 블록들로 분할하고(도 6의 (b) 참조), 분할된 블럭들의 복사와 연산을 오버랩시켜 수행한다. 즉, 도 6의 (c)에 예시된 바와 같이, 첫 번째로 받은 데이터 블럭을 기초로 연산을 시작함과 동시에 두 번째 데이터 블럭의 복사를 시작한다. 통상 메모리 복사가 GPU 연산보다 더 적은 수행 시간이 필요하기 때문에, 시스템 메모리와 그래픽 카드의 메모리 간의 데이터 복사에 필요한 시간은 GPU 연산 속에 완전히 숨겨질 수 있다.
이러한 동시 복사 동시 수행 (Concurrent Copy and Execution) 방식을 적용하는 경우에, GPU의 전역 메모리는 이른바 '핑퐁 메모리(Ping-pong Memory)'로 운용된다. 즉, GPU의 전역 메모리는 복수 개의 버퍼로 운용될 수 있다. 도 6의 (c)에는 GPU의 전역 메모리를 2 개의 버퍼로 운용하는 동시 복사 동시 수행 방식이 예시되어 있다. 하나의 버퍼에 다음번 데이터를 복사하는 동안 다른 하나의 버퍼 내의 데이터에 대해 GPU 연산이 수행된다. 이와 같은 동시 복사 동시 수행을 통해, 메모리 간 데이터 복사에 소요되는 오버헤드 시간을 줄일 수 있다. 더욱이, 최소한의 핑퐁 메모리 사이즈만 확보된다면 큰 사이즈의 프레임 데이터를 분할 처리할 수 있으므로, 제한적 용량의 GPU 메모리를 효율적으로 사용할 수 있게 된다. 이러한 동시 복사 동시 수행 방식은 GPU에서 연산된 결과를 시스템 메모리에 전송하는 경우(도 6의 (d))에도 동일하게 적용된다.
한편, 동시 복사 동시 수행 방식을 적용하기 위해서는, 전체 데이터(예컨대, 스캔 라인 또는 프레임을 구성하는 데이터)를 여러 블록들로 분할하여 처리(복사 및 연산)하는데(도 6의 (b)참조), 데이터의 분할은 시스템 메모리의 제1 영역에 저장된 채널 데이터의 획득 방식에 따라 달리할 필요가 있다. 예컨대, 집속 초음파를 송신하여 스캔 라인별로 채널 데이터를 획득하는 경우에는, 분할 처리되는 블록은 하나의 프레임 내의 스캔 라인들의 집합으로 구성되는 것이 바람직하다. 이때, 각 블록의 크기는 스캔 깊이(Scan Depth), 스캔 라인(Scanline)의 수, 앙상블(Ensenble), 프레임율(Frame Rate), 실시간/비실시간 동작 여부 등에 따라 결정될 수 있다. 평면파를 이용하여 채널 데이터를 획득하는 경우에는, 분할 처리되는 블록은 하나 이상의 프레임의 집합으로 구성되는 것이 바람직하다. 이때, 각 블록의 크기는 스캔 깊이, 스캔 라인의 수, 앙상블, 프레임율, 합성할 프레임의 수, 실시간/비실시간 동작 여부 등에 따라 결정될 수 있다. 한편, GPU의 데이터 복사 및 연산 순서가 스캔 라인 또는 앙상블(Ensenble)의 순서와 일치하지 않는 경우에는, 연산 결과를 시스템 메모리로 출력시 조정될 수 있다.
GPU 메모리에서, 메모리 접근 속도는 온-칩 레지스터(On-chip Registers), 온-칩 공유 메모리(On-chip Shared Memory), 오프-칩 전역 메모리(Off-chip Global Memory) 순으로 감소한다. 따라서, 가장 느린 전역 메모리의 이용은 빔포밍 과정의 입력 데이터 및 출력 데이터를 저장하는 것에 제한하는 것이 바람직하다. 또한, 보다 빠른 공유 메모리(Shared Memory)는 빔포밍 과정에서 중간 결과물의 저장에 사용되고, 가장 빠른 레지스터(Registers)은 빔포밍의 하위 스텝 내의 임시 결과들을 보유하는 데 할당되는 것이 바람직하다. 이러한 방식의 메모리 할당은 빔포밍 외에도 이미지 형성 과정의 다른 하위 프로세스에도 적용될 수 있다.
4. 실시간 동작
이하에서는, 도 7 및 도 8을 참조하여, 초음파 이미징 시스템의 실시간 동작을 설명하기로 한다. 도 7은 본 발명의 일 실시예에 따른 실시간으로 동작시 호스트 PC의 초음파 데이터 처리 방법을 도식화한 도면이고, 도 8은 본 발명의 일 실시예에 따른 초음파 이미징 시스템의 실시간 동작 방법을 도시한 흐름도이다. 도 7 및 도 8에 도시된 방법은 전술한 초음파 이미징 시스템의 실시예들에 기초한다.
사전에, CPU(510)는 시스템 메모리(530) 내의 일정 크기의 메모리 블럭(제1 영역)을 페이지-락(Page-lock)하고, 해당 메모리 블록의 주소 정보를 프런트-엔드 유닛 및 GPU에게 전달한다. 또한, CPU(510)는 시스템 메모리(530) 내의 일정 크기의 다른 메모리 블럭(제2 영역)을 페이지-락 하고, 해당 메모리 블록의 주소 정보를 GPU에게 전달한다(S810). 이들 주소 정보를 이용하여, 프런트 엔드 유닛과 GPU가 제1 영역에 동시에 DMA 접근이 가능하며, GPU가 제2 영역에 DMA 접근 가능하게 된다. 앞서 설명한 바와 같이, 주소 정보는 페이지-락된 영역의 물리적 주소(Physical Address) 또는 물리적 주소와 매핑된 가상 주소(Virtual Address)일 수 있다.
다음으로, 트랜스듀서 어레이는 송신부에 의해 제공되는 구동 신호에 따라 초음파 신호를 송신한다(S820). 이때, 송신되는 초음파 신호는 스캔 라인별로 포커스된 집속빔(Focused Beam), 평면파(Plane Wave) 혹은 발산파(Divergnet Wave) 형태일 수 있다.
다음으로, 트랜스듀서 어레이는 대상체에 송신된 초음파 신호의 반사 신호를 수신하고, 이를 전기적 신호(즉, RF 신호)로 변환한다. RF 신호는 디지털화되어 N개의 버퍼 메모리에 일시적으로 버퍼링된다(S830). RF 신호는 디지털 변환을 전후하여 저주파 필터링(Low-pass Filtering), 안티-엘리어싱 필터링(Anti-aliaing Filtering), 펄스 압축(Pulse Compression), 대역통과 필터링(Band-pass Filtering), IQ 복조(IQ Demodulation), 데시메이션(Decimation) 등의 프로세싱이 적용될 수 있다. 저주파 필터링(Low-pass Filing)이나 안티-엘리어싱 필터링(Anti-aliaing Filtering)을 거칠 수 있다.
다음으로, 프런트 엔드 처리 회로는 호스트 PC로부터 전달된 시스템 메모리 상의 제1 영역의 물리적 주소를 참고하여, 데이터 버스를 통해, 버퍼 메모리에 버퍼링된 채널 데이터를 제1 영역 내의 목적지 주소로 송신한다. 이때, N개의 버퍼 메모리의 출력에 대해 라운드-로빈 방식을 적용하여, 데이터 패킷을 생성한다. 목적지 주소는 채널 데이터가 채널별로 연속된 주소공간에 저장되도록 할당된다(S840).
다음으로, CPU는 GPU로 하여금, 초음파 이미지를 형성하기 위한 프로세스들 중 적어도 하나의 하위 프로세스(예컨대, 디지털 빔포밍)를 멀티-스레드 처리 방식으로 수행하도록 제어한다(S850~S870). GPU는 시스템 메모리(530)의 제1 영역에 DMA 방식으로 접근하여, 제1 영역에 저장된 채널 데이터를 자신의 로컬 메모리로 복사한다(S850). GPU는 신호처리 파이프라인에 따라, 채널 데이터에 대해 수신 빔포밍 등 추가적인 프로세싱을 수행한다(S860). GPU는 신호처리 파이프라인에서의 적어도 어느 한 단계의 결과물(예컨대, 빔포밍된 데이터, IQ 복조(IQ Demodulation)을 수행한 I/Q 데이터 등)를 시스템 메모리의 제2 영역에 DMA 전송할 수 있다(S870). 특히, GPU는 S850~S870 과정을 수행시, 동시 복사 동시 수행(Concurrent Copy and Execution) 방식을 이용한다.
5. 비실시간 동작
이하에서는, 도 9a 내지 도 10b을 참조하여, 본 발명의 일 실시예에 따른 초음파 이미징 시스템의 비실시간 동작을 설명하기로 한다. 도 9a 및 도 9b는 본 발명의 일 실시예에 따른 비실시간으로 동작시 호스트 PC의 초음파 데이터 처리 방법을 도식화한 도면이고, 도 10a 및 도 10b는 본 발명의 일 실시예에 따른 비실시간으로 동작시 호스트 PC의 초음파 데이터 처리 방법을 도시한 흐름도이다.
일반적으로, 초음파 이미징 시스템은 실시간으로 초음파 이미지를 생성하는 도중에, 사용자의 입력신호에 따라, 이전의 수 초 또는 수십 초 전의 대상체에 대한 정보를 포함된 초음파 영상을 플레이백(Playback)할 수 있는 시네 루프 기능을 제공한다. 통상적으로 시네 루프 메모리에는 채널 데이터에 대한 일부 프로세싱(예컨대, 빔포밍, IQ 복조 등)이 수행된 데이터 또는 디스플레이를 위해 생성된 데이터가 저장된다. 이러한 종래의 시네 루프 방식에서는, 플레이백(Playback) 되는 정보가 저장 당시의 특정 프로세싱 방식에 의해 제한적일 수밖에 없다. 왜냐하면, 시네 루프 메모리에 저장되는 프로세싱된 데이터는, 저장 당시의 동작 모드 및 파라미터들에 의해, 채널 데이터로부터 일부 정보가 제거된 상태이기 때문이다.
본 실시예에 따른 초음파 이미징 시스템은 호스트 PC의 시스템 메모리를 시네 루프 메모리로 사용함으로써 종래의 시네 루프 방식이 가지는 제한을 극복할 수 있다. 즉, 본 실시예에서 시스템 메모리의 제1 영역 및/또는 제2 영역에 저장된 초음파 데이터가 시네 루프용 데이터로 사용된다.
먼저, 도 9a 및 도 10a를 참조하여, 시스템 메모리의 제1 영역에 저장된 채널 데이터를 시네 루프용 데이터로 사용하는 실시예를 설명한다.
호스트 PC는 실시간 이미지 생성 도중에 사용자의 특정 입력에 따라 시네 루프 동작으로 전환한다(S1010). 시네 루프 동작시, GPU는 시스템 메모리(530)의 제1 영역에 DMA 방식으로 접근하여, 이미지를 재구성할 구간들의 채널 데이터를 자신의 로컬 메모리로 선택적으로 복사한다(S1020). 특히, 채널 데이터 복사시, 재구성할 구간들의 프레임 데이터를 전체가 아닌 사용자로부터 입력된 관심 영역에 대응되는 스캔 라인 데이터들만을 선택적으로 복사하는 것도 가능하다. GPU는 신호처리 파이프라인에 따라, 복사된 채널 데이터에 대해 빔포밍 등 추가적인 프로세싱을 수행한다(S1030). 특히, GPU는 시네 루프 진입 당시와는 다른 동작 모드, 프로세싱 기법, 적용 파라미터들을 적용하여 프로세싱을 수행할 수 있으며, 그 결과 종래의 시네 루프 방식이 가지는 제한을 극복할 수 있다. 더욱이, 본 실시예에 따르면, 별도의 메모리가 아니라, 실시간 동작 시에 사용되는 시스템 메모리를 시네 루프 메모리로 사용함으로써, 실시간 동작시에 적용되는 GPU의 효율적인 시스템 메모리 접근 방식을 시네 루프 동작에도 그대로 이용할 수 있다는 장점이 있다.
다음으로, 도 9b 및 도 10b를 참조하여, 시스템 메모리의 제2 영역에 저장된 데이터를 시네 루프용 데이터로 사용하는 실시예를 설명한다. 전술한 바와 같이, 제2 영역에는 채널 데이터에 대해 빔포밍 등 추가적인 프로세싱이 수행된 데이터가 저장되어 있다.
호스트 PC는 실시간 이미지 생성 도중에 사용자의 특정 입력에 따라 시네 루프 동작으로 전환한다(S1060). 시네 루프 동작시, GPU는 시스템 메모리(530)의 빔포밍 등 추가적인 프로세싱이 수행된 데이터가 저장된 제2 영역에 DMA 방식으로 접근하여, 이미지를 재구성할 구간들의 데이터를 자신의 로컬 메모리로 선택적으로 복사하고(S1070), 복사된 데이터에 기 수행된 프로세싱 이후의 프로세싱을 수행할 수도 있다(S1080). 본 실시예는 플레이백(Playback) 되는 정보가 시스템 메모리의 제2 영역에 저장될 당시의 특정 프로세싱 방식에 의해 제한적일 수밖에 없다는 점(종래의 시네 루프 방식의 제한)에서는 도 9a 및 도 10a의 실시예와 상이하나, 실시간 동작시에 적용되는 GPU의 효율적인 시스템 메모리 접근 방식을 시네 루프 동작에도 그대로 이용할 수 있다는 장점을 그대로 가진다.
이상의 실시예들에서 각 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 각 실시예들에 기재된 순서를 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 전술한 실시예들은 시계열적인 순서로 한정되는 것은 아니다.
한편, 전술한 실시예들로 설명된 초음파 이미지 생성 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 및 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110: 트랜스듀서 120: 프런트 엔드 유닛
130: 호스트 PC 140: 디스플레이 장치
210: 송신부 220: 수신부
230: 프런트 엔드 처리 회로 510: CPU
520: GPU 530: 시스템 메모리
531: 제1 영역 532: 제2 영역
540: 브리지 칩 550: 데이터 버스

Claims (54)

  1. 삭제
  2. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치에 있어서,
    상기 호스트 PC는
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 프런트 엔드 유닛 및 상기 병렬 코어 프로세서는,
    상기 제1 영역의 주소 정보를 이용하여, 상기 제1 영역에 동시에 접근가능한 것을 특징으로 하는 초음파 진단 장치.
  3. 제2항에 있어서,
    상기 제1 영역의 주소 정보는,
    상기 제1 영역의 물리적 주소(Physical Address) 또는 상기 물리적 주소와 매핑(Mapping)되는 논리적 주소(Logical Address)인 것을 특징으로 하는 초음파 진단 장치.
  4. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치에 있어서,
    상기 호스트 PC는
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 프런트 엔드 유닛은,
    상기 채널 데이터에 대해 채널별로 데이터 패킷을 생성하고, 채널별 데이터가 상기 제1 영역 내에 연속된 주소공간에 저장되도록 각 데이터 패킷의 목적지 주소를 할당하는 것을 특징으로 하는 초음파 진단 장치.
  5. 제4항에 있어서,
    상기 프런트 엔드 유닛은,
    상기 데이터 버스의 최대 페이로드 크기(Max Payload Size)를 기준으로, 상기 채널 데이터에 채널별로 라운드-로빈(Round-Robin) 방식을 적용하여 데이터 패킷을 생성하는 것을 특징으로 하는 초음파 진단 장치.
  6. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치에 있어서,
    상기 호스트 PC는
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 병렬 코어 프로세서는,
    상기 프로세스 수행시, 상기 제1 영역에 저장되는 채널 데이터를 여러 블록으로 분할하고, 분할된 블록들을 동시 복사 동시 수행 (Concurrent Copy and Execution) 방식으로 처리하는 것을 특징으로 하는 초음파 진단 장치.
  7. 제6항에 있어서,
    상기 채널 데이터를 분할하는 기준은,
    상기 채널 데이터의 획득시 사용한 초음파 송신 방식에 따라 달리하는 것을 특징으로 하는 초음파 진단 장치.
  8. 제7항에 있어서,
    상기 초음파 송신 방식이 집속 초음파를 이용하는 것인 경우에, 각 블록은 하나 이상의 스캔 라인 데이터의 집합으로 구성되는 것을 특징으로 하는 초음파 진단 장치.
  9. 제8항에 있어서,
    상기 블록의 크기는
    스캔 깊이(Scan Depth), 스캔 라인(Scanline)의 수, 앙상블(Ensenble), 프레임율(Frame Rate) 및 실시간/비실시간 동작 여부 중 적어도 어느 하나에 따라 결정되는 것을 특징으로 하는 초음파 진단 장치.
  10. 제7항에 있어서,
    상기 초음파 송신 방식이 평면파를 이용하는 것인 경우에, 각 블록은 복수의 프레임 데이터의 집합으로 구성되는 것을 특징으로 하는 초음파 진단 장치.
  11. 제10항에 있어서,
    상기 블록의 크기는
    스캔 깊이, 스캔 라인의 수, 앙상블, 프레임율, 합성할 프레임의 수 및 실시간/비실시간 동작 여부 중 적어도 어느 하나에 따라 결정되는 것을 특징으로 하는 초음파 진단 장치.
  12. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치에 있어서,
    상기 호스트 PC는
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 초음파 진단 장치는,
    상기 호스트 PC의 실시간 처리능력을 넘어서는 채널 데이터를 획득하는 것을 특징으로 하는 초음파 진단 장치.
  13. 제12항에 있어서,
    상기 초음파 진단 장치가 실시간 처리 방식으로 동작하는 경우에,
    상기 병렬 코어 프로세서는 상기 제1 영역에 저장되는 채널 데이터 중 일부만을 선별적으로 프로세싱하는 것을 특징으로 하는 초음파 진단 장치.
  14. 제12항에 있어서,
    상기 초음파 진단 장치가 시네 루프 동작시,
    상기 병렬 코어 프로세서는 상기 제1 영역에 저장되는 모든 채널 데이터 또는 적어도 실시간 처리 방식으로 동작하는 경우보다 많은 양의 채널 데이터를 프로세싱하는 것을 특징으로 하는 초음파 진단 장치.
  15. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치에 있어서,
    상기 호스트 PC는
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 병렬 코어 프로세서는,
    상기 초음파 이미지를 생성하기 위한 프로세스들 중 어느 한 단계의 결과물을 상기 시스템 메모리의 제2 영역에 DMA 전송하는 것을 특징으로 하는 초음파 진단 장치.
  16. 제15항에 있어서,
    상기 초음파 진단 장치는,
    시네 루프 동작 시, 상기 시스템 메모리의 상기 제1 영역 및/또는 상기 제2 영역을 시네 메모리로 사용하는 것을 특징으로 하는 초음파 진단 장치.
  17. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치에 있어서,
    상기 호스트 PC는
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 병렬 코어 프로세서는,
    상기 프로세스 수행 시, 입력 데이터 및 출력 데이터를 저장하는 것으로 오프-칩 메모리(Off-chip Memory)의 이용을 제한하는 것을 특징으로 하는 초음파 진단 장치.
  18. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치에 있어서,
    상기 호스트 PC는
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 병렬 코어 프로세서는,
    상기 프로세스 수행 시, 온칩 메모리(On-chip Memory)를 중간 결과물의 저장에 이용하는 것을 특징으로 하는 초음파 진단 장치.
  19. 삭제
  20. 삭제
  21. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치에 있어서,
    상기 호스트 PC는
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 프런트 엔드 유닛은,
    주변기기 형태로 상기 호스트 PC에 통합된 것임을 특징으로 하는 초음파 진단 장치.
  22. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치에 있어서,
    상기 호스트 PC는
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 프런트 엔드 유닛은,
    BTB(Board-to-Board) 접속으로 프로브 내에 통합된 것을 특징으로 하는 초음파 진단 장치.
  23. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛에 있어서,
    상기 트랜스듀서로부터 실시간으로 전송되는 RF 신호를 디지털 신호로 변환하는 A/D 컨버터;
    상기 A/D 컨버터의 출력을 채널별로 버퍼링하는 버퍼 메모리; 및
    상기 버퍼 메모리에 버퍼링되는 채널별 데이터를 Round-Robin 방식으로 스케줄링하여, 호스트 PC의 데이터 요청과 무관하게, 데이터 버스를 통해 상기 호스트 PC의 시스템 메모리 상의 페이지-락된(Page-locked) 영역에 전송하는 처리회로
    를 포함하는 프런트 엔드 유닛.
  24. 제23항에 있어서,
    상기 처리회로는,
    상기 호스트 PC로부터 상기 페이지-락된 영역의 주소 정보를 획득하는 것을 특징으로 하는 프런트 엔드 유닛.
  25. 제23항에 있어서,
    상기 처리회로는,
    상기 호스트 PC와 연결된 데이터 버스에 대한 버스 마스터링(Bus Mastering)을 통해, 채널별로 데이터 패킷을 생성하여, 상기 시스템 메모리 상의 페이지-락된 영역 내의 목적지 주소로 전송하는 것을 특징으로 하는, 프런트 엔드 유닛.
  26. 제25항에 있어서,
    상기 목적지 주소는,
    채널별 데이터가 연속된 주소 공간에 저장되도록 할당되는 것을 특징으로 하는 프런트 엔드 유닛.
  27. 제23항에 있어서,
    상기 RF 신호는,
    디지털 신호로 변환되기 전 또는 후에, 저주파 필터링(Low-pass Filtering), 안티-엘리어싱 필터링(Anti-aliaing Filtering), 펄스 압축(Pulse Compression), 대역통과 필터링(Band-pass Filtering), IQ 복조(IQ Demodulation) 및 데시메이션(Decimation) 중 적어도 일부를 포함하는 전처리(Pre-processing)가 적용되는 것을 특징으로 하는 프런트 엔드 유닛.
  28. 삭제
  29. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치의 호스트 PC에 있어서,
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 채널 데이터는,
    상기 프런트 엔드 유닛의 전송과 동시에, 채널별로 상기 제1 영역 내의 연속된 주소공간에 저장되는 것을 특징으로 하는 호스트 PC.
  30. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치의 호스트 PC에 있어서,
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 병렬 코어 프로세서는,
    상기 프로세스 수행시, 상기 제1 영역에 저장되는 채널 데이터를 여러 블록으로 분할하고, 분할된 블록들을 동시 복사 동시 수행 (Concurrent Copy and Execution) 방식으로 처리하는 것을 특징으로 하는 호스트 PC.
  31. 제30항에 있어서,
    상기 채널 데이터를 분할하는 기준은,
    상기 채널 데이터의 획득시 사용한 초음파 송신 방식에 따라 달리하는 것을 특징으로 하는 호스트 PC.
  32. 제31항에 있어서,
    상기 초음파 송신 방식이 집속 초음파를 이용하는 것인 경우에, 각 블록은 하나 이상의 스캔 라인 데이터의 집합으로 구성되는 것을 특징으로 하는 호스트 PC.
  33. 제31항에 있어서,
    상기 초음파 송신 방식이 평면파를 이용하는 것인 경우에, 각 블록은 복수의 프레임 데이터의 집합으로 구성되는 것을 특징으로 하는 호스트 PC.
  34. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치의 호스트 PC에 있어서,
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 초음파 진단 장치가 실시간 처리 방식으로 동작하는 경우에,
    상기 병렬 코어 프로세서는 상기 제1 영역에 저장되는 채널 데이터 중 일부만을 선별적으로 프로세싱하는 것을 특징으로 하는 호스트 PC.
  35. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치의 호스트 PC에 있어서,
    시스템 메모리;
    하나 이상의 병렬 코어 프로세서; 및
    상기 시스템 메모리 내의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 메인 프로세서(Central Processing Unit: CPU)를 포함하고,
    상기 프런트 엔드 유닛은 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 상기 제1 영역에 상기 채널 데이터를 전송하고,
    상기 병렬 코어 프로세서는 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하고,
    상기 병렬 코어 프로세서는,
    상기 초음파 이미지를 생성하기 위한 프로세스들 중 어느 한 단계의 결과물을 상기 시스템 메모리의 제2 영역에 DMA 전송하는 것을 특징으로 하는 호스트 PC.
  36. 제35항에 있어서,
    상기 초음파 진단 장치는,
    시네 루프 동작 시, 상기 시스템 메모리의 상기 제1 영역 및/또는 상기 제2 영역을 시네 메모리로 사용하는 것을 특징으로 하는 호스트 PC.
  37. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치가 초음파 이미지를 생성하는 방법에 있어서,
    호스트 PC가 시스템 메모리의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 과정;
    프런트 엔드 유닛이 트랜스듀서를 이용하여 채널 데이터를 획득하는 과정;
    상기 프런트 엔드 유닛이 상기 제1 영역에 상기 채널 데이터를 전송하는 과정; 및
    상기 호스트 PC에 포함된 메인 프로세서 및 병렬 코어 프로세서를 이용하여, 상기 채널 데이터에 대해 초음파 이미지를 생성하기 위한 프로세스를 수행하는 과정;
    을 포함하되,
    상기 프런트 엔드 유닛 및 병렬 코어 프로세서는 직접 메모리 액세스(Direct Memory Access: DMA) 방식을 통해 상기 제1 영역에 동시에 접근 가능하며,
    상기 채널 데이터에 대해 채널별로 데이터 패킷을 생성하고, 채널별 데이터가 상기 제1 영역 내에 연속된 주소공간에 저장되도록 각 데이터 패킷의 목적지 주소를 할당하는 것을 특징으로 하는, 초음파 이미지 생성 방법.
  38. 제37항에 있어서,
    상기 병렬 코어 프로세서는,
    상기 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하는 것을 특징으로 하는 초음파 이미지 생성 방법.
  39. 삭제
  40. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치가 초음파 이미지를 생성하는 방법에 있어서,
    호스트 PC가 시스템 메모리의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 과정;
    프런트 엔드 유닛이 트랜스듀서를 이용하여 채널 데이터를 획득하는 과정;
    상기 프런트 엔드 유닛이 상기 제1 영역에 상기 채널 데이터를 전송하는 과정; 및
    상기 호스트 PC에 포함된 메인 프로세서 및 병렬 코어 프로세서를 이용하여, 상기 채널 데이터에 대해 초음파 이미지를 생성하기 위한 프로세스를 수행하는 과정;
    을 포함하되,
    상기 프런트 엔드 유닛 및 병렬 코어 프로세서는 직접 메모리 액세스(Direct Memory Access: DMA) 방식을 통해 상기 제1 영역에 동시에 접근 가능하며,
    상기 병렬 코어 프로세서는,
    상기 프로세스 수행시, 상기 제1 영역에 저장되는 채널 데이터를 여러 블록으로 분할하고, 분할된 블록들을 동시 복사 동시 수행 (Concurrent Copy and Execution) 방식으로 처리하는 것을 특징으로 하는 초음파 이미지 생성 방법.
  41. 제40항에 있어서,
    상기 채널 데이터를 분할하는 기준은,
    상기 채널 데이터의 획득시 사용한 초음파 송신 방식에 따라 달리하는 것을 특징으로 하는 초음파 이미지 생성 방법.
  42. 제41항에 있어서,
    상기 초음파 송신 방식이 집속 초음파를 이용하는 것인 경우에, 각 블록은 하나 이상의 스캔 라인 데이터의 집합으로 구성되는 것을 특징으로 하는 초음파 이미지 생성 방법.
  43. 제41항에 있어서,
    상기 초음파 송신 방식이 평면파를 이용하는 것인 경우에, 각 블록은 복수의 프레임 데이터의 집합으로 구성되는 것을 특징으로 하는 초음파 이미지 생성 방법.
  44. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치가 초음파 이미지를 생성하는 방법에 있어서,
    호스트 PC가 시스템 메모리의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 과정;
    프런트 엔드 유닛이 트랜스듀서를 이용하여 채널 데이터를 획득하는 과정;
    상기 프런트 엔드 유닛이 상기 제1 영역에 상기 채널 데이터를 전송하는 과정; 및
    상기 호스트 PC에 포함된 메인 프로세서 및 병렬 코어 프로세서를 이용하여, 상기 채널 데이터에 대해 초음파 이미지를 생성하기 위한 프로세스를 수행하는 과정;
    을 포함하되,
    상기 프런트 엔드 유닛 및 병렬 코어 프로세서는 직접 메모리 액세스(Direct Memory Access: DMA) 방식을 통해 상기 제1 영역에 동시에 접근 가능하며,
    상기 초음파 진단 장치가 실시간 처리 방식으로 동작하는 경우에,
    상기 병렬 코어 프로세서는 상기 제1 영역에 저장되는 채널 데이터 중 일부만을 선별적으로 프로세싱하는 것을 특징으로 하는 초음파 이미지 생성 방법.
  45. 트랜스듀서에 전기적으로 연결되는 프런트 엔드 유닛과, 상기 프런트 엔드 유닛으로부터 데이터 버스를 통해 수신되는 채널 데이터를 처리하는 호스트 PC를 포함하는 초음파 진단 장치가 초음파 이미지를 생성하는 방법에 있어서,
    호스트 PC가 시스템 메모리의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하는 과정;
    프런트 엔드 유닛이 트랜스듀서를 이용하여 채널 데이터를 획득하는 과정;
    상기 프런트 엔드 유닛이 상기 제1 영역에 상기 채널 데이터를 전송하는 과정; 및
    상기 호스트 PC에 포함된 메인 프로세서 및 병렬 코어 프로세서를 이용하여, 상기 채널 데이터에 대해 초음파 이미지를 생성하기 위한 프로세스를 수행하는 과정;
    을 포함하되,
    상기 프런트 엔드 유닛 및 병렬 코어 프로세서는 직접 메모리 액세스(Direct Memory Access: DMA) 방식을 통해 상기 제1 영역에 동시에 접근 가능하며,
    상기 병렬 코어 프로세서는,
    상기 초음파 이미지를 생성하기 위한 프로세스들 중 어느 한 단계의 결과물을 상기 시스템 메모리의 제2 영역에 DMA 전송하는 것을 특징으로 하는 초음파 이미지 생성 방법.
  46. 제45항에 있어서,
    상기 초음파 진단 장치는,
    시네 루프 동작 시, 상기 시스템 메모리의 상기 제1 영역 및/또는 상기 제2 영역을 시네 메모리로 사용하는 것을 특징으로 하는 초음파 이미지 생성 방법.
  47. 삭제
  48. 명령어들을 저장하는 컴퓨터로 판독 가능한 기록 매체로서, 시스템 메모리와 메인 프로세서(Central Processing Unit: CPU)와 병렬 코어 프로세서를 포함하는 컴퓨터에서 실행되는 경우, 상기 컴퓨터로 하여금,
    상기 시스템 메모리의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하게 하고;
    데이터 버스를 통해 연결되는 프런트 엔드 유닛으로부터 상기 제1 영역에 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 전송되는 채널 데이터에 대해 초음파 이미지를 생성하기 위한 프로세스를 수행하게 하되;
    상기 병렬 코어 프로세서가 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하도록 하는 명령어를 포함하고,
    상기 채널 데이터는,
    상기 제1 영역에 채널별로 연속된 주소공간에 저장된 것임을 특징으로 하는, 컴퓨터로 판독 가능한 기록 매체.
  49. 명령어들을 저장하는 컴퓨터로 판독 가능한 기록 매체로서, 시스템 메모리와 메인 프로세서(Central Processing Unit: CPU)와 병렬 코어 프로세서를 포함하는 컴퓨터에서 실행되는 경우, 상기 컴퓨터로 하여금,
    상기 시스템 메모리의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하게 하고;
    데이터 버스를 통해 연결되는 프런트 엔드 유닛으로부터 상기 제1 영역에 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 전송되는 채널 데이터에 대해 초음파 이미지를 생성하기 위한 프로세스를 수행하게 하되;
    상기 병렬 코어 프로세서가 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하도록 하는 명령어를 포함하고,
    상기 병렬 코어 프로세서로 하여금, 상기 프로세스 수행시, 상기 제1 영역에 저장되는 채널 데이터를 여러 블록으로 분할하고, 분할된 블록들을 동시 복사 동시 수행 (Concurrent Copy and Execution) 방식으로 처리하도록 제어하는 명령어를 더 포함하는 컴퓨터로 판독 가능한 기록 매체.
  50. 제49항에 있어서,
    상기 채널 데이터의 획득시 사용한 초음파 송신 방식이 집속 초음파를 이용하는 것인 경우에, 각 블록은 하나 이상의 스캔 라인 데이터의 집합으로 구성되는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  51. 제49항에 있어서,
    상기 채널 데이터의 획득시 사용한 초음파 송신 방식이 평면파를 이용하는 것인 경우에, 각 블록은 복수의 프레임 데이터의 집합으로 구성되는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  52. 명령어들을 저장하는 컴퓨터로 판독 가능한 기록 매체로서, 시스템 메모리와 메인 프로세서(Central Processing Unit: CPU)와 병렬 코어 프로세서를 포함하는 컴퓨터에서 실행되는 경우, 상기 컴퓨터로 하여금,
    상기 시스템 메모리의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하게 하고;
    데이터 버스를 통해 연결되는 프런트 엔드 유닛으로부터 상기 제1 영역에 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 전송되는 채널 데이터에 대해 초음파 이미지를 생성하기 위한 프로세스를 수행하게 하되;
    상기 병렬 코어 프로세서가 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하도록 하는 명령어를 포함하고,
    실시간 처리 방식으로 동작시, 상기 병렬 코어 프로세서로 하여금, 상기 제1 영역에 저장되는 채널 데이터 중 일부만을 선별적으로 프로세싱하도록 제어하는 명령어를 더 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  53. 명령어들을 저장하는 컴퓨터로 판독 가능한 기록 매체로서, 시스템 메모리와 메인 프로세서(Central Processing Unit: CPU)와 병렬 코어 프로세서를 포함하는 컴퓨터에서 실행되는 경우, 상기 컴퓨터로 하여금,
    상기 시스템 메모리의 일정 영역(이하 '제1 영역'이라 칭함)을 페이지-락(page-lock)하게 하고;
    데이터 버스를 통해 연결되는 프런트 엔드 유닛으로부터 상기 제1 영역에 직접 메모리 액세스(Direct Memory Access: DMA) 방식으로 전송되는 채널 데이터에 대해 초음파 이미지를 생성하기 위한 프로세스를 수행하게 하되;
    상기 병렬 코어 프로세서가 상기 제1 영역에 DMA 방식으로 접근하여, 초음파 이미지를 생성하기 위한 프로세스들 중 적어도 일부를 멀티-스레드 처리(Multi-Thread Processing) 방식으로 수행하도록 하는 명령어를 포함하고,
    상기 병렬 코어 프로세서로 하여금, 상기 초음파 이미지를 생성하기 위한 프로세스들 중 어느 한 단계의 결과물을 상기 시스템 메모리의 제2 영역에 DMA 전송하도록 제어하는 명령어를 더 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
  54. 제53항에 있어서,
    시네 루프 동작 시, 상기 컴퓨터로 하여금, 상기 시스템 메모리의 상기 제1 영역 및/또는 상기 제2 영역을 시네 메모리로 사용하도록 제어하는 명령어를 더 포함하는 것을 특징으로 하는 컴퓨터로 판독 가능한 기록 매체.
KR1020167001589A 2014-03-14 2014-03-14 소프트웨어 기반의 초음파 이미징 시스템 KR101911734B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2014/002198 WO2015137543A1 (ko) 2014-03-14 2014-03-14 소프트웨어 기반의 초음파 이미징 시스템

Publications (2)

Publication Number Publication Date
KR20160029803A KR20160029803A (ko) 2016-03-15
KR101911734B1 true KR101911734B1 (ko) 2018-10-25

Family

ID=54071973

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167001589A KR101911734B1 (ko) 2014-03-14 2014-03-14 소프트웨어 기반의 초음파 이미징 시스템

Country Status (6)

Country Link
US (1) US10420536B2 (ko)
EP (1) EP3117774B1 (ko)
JP (1) JP2017508582A (ko)
KR (1) KR101911734B1 (ko)
CN (1) CN106102584B (ko)
WO (1) WO2015137543A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3518781A4 (en) * 2016-09-28 2020-06-17 Covidien LP SYSTEM AND METHOD FOR PARALLELIZING CPU AND GPU PROCESSING FOR ULTRASONIC IMAGING DEVICES
JP6724797B2 (ja) * 2017-01-13 2020-07-15 コニカミノルタ株式会社 超音波診断装置、および、その制御方法
WO2019012303A1 (en) * 2017-07-10 2019-01-17 Supersonic Imagine ULTRASONIC IMAGING SYSTEM WITH FUNCTIONAL ADAPTATION
US11436525B2 (en) * 2017-12-01 2022-09-06 Deepwave Digital, Inc. Artificial intelligence radio transceiver
CN109992205B (zh) 2019-03-27 2020-06-02 无锡海斯凯尔医学技术有限公司 数据存储的装置、方法及可读存储介质
DE102019124811B4 (de) 2019-09-16 2021-05-12 H-Next Gmbh Ultraschallsystem und bildgebendes Ultraschallverfahren
CN110720949B (zh) * 2019-11-12 2020-10-30 无锡海斯凯尔医学技术有限公司 基于超声检测系统的生物体征检测方法
CN111239745A (zh) * 2019-12-31 2020-06-05 飞依诺科技(苏州)有限公司 波束合成处理方法、装置、计算机设备和存储介质
CN113381830B (zh) * 2021-04-22 2023-06-16 聚融医疗科技(杭州)有限公司 基于超声系统实现fpga同步器的实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110074792A1 (en) * 2009-09-30 2011-03-31 Pai-Chi Li Ultrasonic image processing system and ultrasonic image processing method thereof
JP2013154169A (ja) * 2012-01-31 2013-08-15 General Electric Co <Ge> 超音波システムにおける振動子アレイを監視するための方法およびシステム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526163B1 (en) * 1998-11-23 2003-02-25 G.E. Diasonics Ltd. Ultrasound system with parallel processing architecture
US20040015079A1 (en) 1999-06-22 2004-01-22 Teratech Corporation Ultrasound probe with integrated electronics
US6532509B1 (en) * 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US20040083311A1 (en) * 2002-06-05 2004-04-29 James Zhuge Signal processing system and method
US7985585B2 (en) * 2004-07-09 2011-07-26 Viacyte, Inc. Preprimitive streak and mesendoderm cells
CN103142251B (zh) 2005-04-14 2015-04-29 维拉声学公司 利用面向像素处理的超声成像系统
US8220334B2 (en) * 2006-11-10 2012-07-17 Penrith Corporation Transducer array imaging system
US8395631B1 (en) 2009-04-30 2013-03-12 Nvidia Corporation Method and system for sharing memory between multiple graphics processing units in a computer system
JP5413103B2 (ja) * 2009-09-30 2014-02-12 ミツミ電機株式会社 アンテナ装置
US9513368B2 (en) * 2010-06-30 2016-12-06 General Electric Company Method and system for ultrasound data processing
US9949718B2 (en) 2010-07-12 2018-04-24 General Electric Company Method and system for controlling communication of data via digital demodulation in a diagnostic ultrasound system
US9398898B2 (en) * 2011-02-23 2016-07-26 Siemens Medical Solutions Usa, Inc. Multiple beam spectral doppler in medical diagnostic ultrasound imaging
KR101282764B1 (ko) 2011-05-06 2013-07-05 서강대학교산학협력단 직교 비선형 코드를 이용한 초음파 영상 생성 방법 및 장치
JP5827847B2 (ja) * 2011-09-16 2015-12-02 日立アロカメディカル株式会社 超音波診断装置
JP6049371B2 (ja) * 2011-11-09 2016-12-21 東芝メディカルシステムズ株式会社 超音波診断システム
CN104039392A (zh) 2011-12-29 2014-09-10 爱飞纽医疗机械贸易有限公司 一种用于超声诊断的利用信号收发的超声成像方法及其高强度聚焦超声治疗装置
CN102750132B (zh) * 2012-06-13 2015-02-11 深圳中微电科技有限公司 多线程虚拟流水线处理器的线程控制和调用方法及其处理器
US8619800B1 (en) * 2012-12-20 2013-12-31 Unbound Networks Parallel processing using multi-core processor
EP2962728B1 (en) 2013-02-28 2019-01-16 Alpinion Medical Systems Co., Ltd. Ultrasonic medical apparatus for focal point compensation
KR101491134B1 (ko) 2013-02-28 2015-02-05 알피니언메디칼시스템 주식회사 초점 위치 확인 방법과 그를 위한 초음파 의료 장치
US20160074013A1 (en) 2013-04-30 2016-03-17 Alpinion Medical Systems Co., Ltd. Image enlargement method and ultrasound medical device for same
US9332966B2 (en) * 2014-02-04 2016-05-10 General Electric Company Methods and systems for data communication in an ultrasound system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110074792A1 (en) * 2009-09-30 2011-03-31 Pai-Chi Li Ultrasonic image processing system and ultrasonic image processing method thereof
JP2013154169A (ja) * 2012-01-31 2013-08-15 General Electric Co <Ge> 超音波システムにおける振動子アレイを監視するための方法およびシステム

Also Published As

Publication number Publication date
US20170000464A1 (en) 2017-01-05
CN106102584A (zh) 2016-11-09
KR20160029803A (ko) 2016-03-15
WO2015137543A1 (ko) 2015-09-17
US10420536B2 (en) 2019-09-24
EP3117774A4 (en) 2017-11-15
CN106102584B (zh) 2019-06-21
JP2017508582A (ja) 2017-03-30
EP3117774B1 (en) 2019-01-30
EP3117774A1 (en) 2017-01-18

Similar Documents

Publication Publication Date Title
KR101911734B1 (ko) 소프트웨어 기반의 초음파 이미징 시스템
US5492125A (en) Ultrasound signal processing apparatus
US5528302A (en) Real-time ultrasound scan conversion
KR20170065629A (ko) 초음파 프로브를 위한 파라미터 로더와 관련 장치 및 방법
JP2018514776A (ja) Fmcwレーダーシステムにおけるチャープの動的プログラミング
WO2016032271A1 (ko) 스마트 기기를 이용한 초음파 신호의 고속 병렬 처리 방법
US20110074792A1 (en) Ultrasonic image processing system and ultrasonic image processing method thereof
WO2007023975A1 (ja) マルチプロセッサ、ダイレクトメモリアクセスコントローラ、及びシリアルデータ送受信装置
JP2014512243A (ja) 合成開口逐次ビーム形成による高調波超音波画像処理
WO2018058358A1 (en) System and method for parallelization of cpu and gpu processing for ultrasound imaging devices
KR101627821B1 (ko) 가상음원 기반 초음파 집속방법 및 이를 이용한 초음파 장치
JP7005206B2 (ja) 超音波診断装置及び超音波イメージングプログラム
KR101555267B1 (ko) 비집속 초음파를 이용한 빔포밍 방법 및 장치
US20090316974A1 (en) Data input method and ultrasonic imaging apparatus
KR101555271B1 (ko) 초음파 영상 재구성을 위한 데이터 처리 방법 및 장치
KR101555264B1 (ko) 초음파 진단 장치 및 방법
WO2019026434A1 (ja) 超音波撮像装置、および、画像処理装置
JP2003245278A (ja) 超音波診断装置
KR101510678B1 (ko) 고조파 영상 형성 방법과 그를 위한 초음파 의료 장치
JP7471853B2 (ja) 超音波診断装置、超音波プローブ、及び制御プログラム
KR101135065B1 (ko) 다중 주사선 생성 방법 및 장치
JP7202905B2 (ja) 超音波診断装置及び超音波プローブ
JP2000163364A (ja) 超音波診断装置
KR101120776B1 (ko) 공간합성에서 최적화된 리샘플러가 적용된 초음파영상진단장치 및 초음파영상의 최적화된 리샘플링 방법
CN110095779A (zh) 一种矩阵成像的方法及设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)