KR20150092585A - 이진 영상에 기반한 유전체 데이터 압축 방법 및 장치 - Google Patents
이진 영상에 기반한 유전체 데이터 압축 방법 및 장치 Download PDFInfo
- Publication number
- KR20150092585A KR20150092585A KR1020140013134A KR20140013134A KR20150092585A KR 20150092585 A KR20150092585 A KR 20150092585A KR 1020140013134 A KR1020140013134 A KR 1020140013134A KR 20140013134 A KR20140013134 A KR 20140013134A KR 20150092585 A KR20150092585 A KR 20150092585A
- Authority
- KR
- South Korea
- Prior art keywords
- binary
- binary image
- encoding
- encoded
- images
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013144 data compression Methods 0.000 title claims description 14
- UYTPUPDQBNUYGX-UHFFFAOYSA-N guanine Chemical compound O=C1NC(N)=NC2=C1N=CN2 UYTPUPDQBNUYGX-UHFFFAOYSA-N 0.000 claims abstract description 34
- RWQNBRDOKXIBIV-UHFFFAOYSA-N thymine Chemical compound CC1=CNC(=O)NC1=O RWQNBRDOKXIBIV-UHFFFAOYSA-N 0.000 claims abstract description 32
- OPTASPLRGRRNAP-UHFFFAOYSA-N cytosine Chemical compound NC=1C=CNC(=O)N=1 OPTASPLRGRRNAP-UHFFFAOYSA-N 0.000 claims abstract description 28
- 229930024421 Adenine Natural products 0.000 claims abstract description 17
- 229960000643 adenine Drugs 0.000 claims abstract description 17
- GFFGJBXGBJISGV-UHFFFAOYSA-N Adenine Chemical compound NC1=NC=NC2=C1N=CN2 GFFGJBXGBJISGV-UHFFFAOYSA-N 0.000 claims abstract description 16
- 229940113082 thymine Drugs 0.000 claims abstract description 16
- 229940104302 cytosine Drugs 0.000 claims abstract description 14
- 238000009826 distribution Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 108020004414 DNA Proteins 0.000 description 1
- 108091028043 Nucleic acid sequence Proteins 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002773 nucleotide Substances 0.000 description 1
- 125000003729 nucleotide group Chemical group 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30004—Biomedical image processing
- G06T2207/30072—Microarray; Biochip, DNA array; Well plate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
이진 영상에 기반하여 유전체 데이터를 압축하는 방법 및 그 장치가 개시된다. 본 발명의 일 면에 따른 이진 영상에 기반한 유전체 데이터 압축 방법은 아데닌(A), 티민(T), 싸이토신(C), 구아닌(G), 불명확염기(N)를 포함하는 유전체 데이터를 복수의 이진 영상으로 분리하는 단계; 이진 영상의 특성에 따라 각각의 이진 영상에 대한 부호화 모드를 결정하는 단계; 및 결정된 부호화 모드를 기반으로 각각의 이진 영상을 제1 부호화하는 단계를 포함한다.
Description
본 발명은 유전체 데이터 압축 방법 및 장치에 관한 것으로서, 보다 상세하게는 이진 영상에 기반하여 유전체 데이터를 압축하는 방법 및 그 장치에 관한 것이다.
(A, T, G, C, N - 아데닌, 티민, 구아닌, 싸이토신, 불명확염기)로 구성되어 있는 인간 유전체의 경우 약 30억개의 염기로 구성되어 있고, 이들 데이터를 문자열로 저장하면 30억 byte가 사용되며, 이는 약 2.9GB정도의 용량이다. 이에 각 염기를 2bit(00, 01, 10,11) 혹은 3bit로 저장하는 방법이 있으나 역시 750MB에서 1GB 정도의 저장 공간이 필요하다.
추후 인간 유전체 사업이 활성화 되면 대용량 유전체 데이터가 생성되며, 이를 저장할 공간 문제와 더불어 유전체 데이터 압축 문제는 중요한 이슈이다. 더불어 이미지 프로세싱 분야에서 데이터 압축 알고리즘은 많이 발전되어 bz2, nrdb+bz2, PPMdi, 7z등 여러 알고리즘이 존재하지만 꼭 유전체 데이터만을 위한 것은 아니며 유전체 데이터에 특화된 압축 알고리즘이 필요하다.
상술한 문제점을 해결하기 위한 본 발명은 유전체 데이터를 복수의 이진 영상으로 변환하고, 변환 결과 생성된 이진 영상 파일을 병렬 처리를 통해 압축함으로써, 압축 효율 및 성능이 향상된 유전체 데이터 압축 방법 및 그 장치를 제공하는 것을 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일 면에 따른 이진 영상에 기반한 유전체 데이터 압축 방법은 아데닌(A), 티민(T), 싸이토신(C), 구아닌(G), 불명확염기(N)를 포함하는 유전체 데이터를 복수의 이진 영상으로 분리하는 단계; 이진 영상의 특성에 따라 각각의 이진 영상에 대한 부호화 모드를 결정하는 단계; 및 결정된 부호화 모드를 기반으로 각각의 이진 영상을 제1 부호화하는 단계를 포함한다.
바람직하게, 상기 복수의 이진 영상으로 분리하는 단계는 상기 유전체 데이터에서 어느 한 종류의 염기는 1으로 부호화하고, 나머지 염기들은 0으로 부호화하는 단계를 포함한다.
바람직하게, 상기 복수의 이진 영상으로 분리하는 단계는 상기 유전체 데이터에서 아데닌(A)을 1으로 부호화하는 제1 이진 영상과, 티민(T)을 1으로 부호화하는 제2 이진 영상과, 싸이토신(C)을 1으로 부호화하는 제3 이진 영상과, 구아닌(G)을 1으로 부호화하는 제4 이진 영상과, 불명확염기(N)를 1으로 부호화하는 제5 이진 영상을 생성하는 단계를 포함한다.
바람직하게, 상기 부호화 모드를 결정하는 단계는 상기 이진 영상에서 0과 1의 반복되는 횟수에 따라 부호화되는 비트 단위를 결정하는 단계를 포함한다.
바람직하게, 상기 부호화 모드를 결정하는 단계는 상기 제1 이진 영상 내지 상기 제4 이진 영상은 3 비트 단위로, 상기 제5 이진 영상은 16 비트 단위로 부호화 단위를 결정하는 단계를 포함한다.
바람직하게, 상기 제1 부호화하는 단계는 각각의 이진 영상을 결정된 부호화 모드를 기반으로 런 길이 부호화(run length coding)하는 단계를 포함한다.
바람직하게, 상기 제1 부호화하는 단계는 상기 제1 이진 영상 내지 상기 제4 이진 영상은 3 비트 단위로 런 길이 부호화하고, 상기 제5 이진 영상은 16비트 단위로 런 길이 부호화하는 단계를 포함한다.
바람직하게, 본 발명의 일 면에 따른 이진 영상에 기반한 유전체 데이터 압축 방법은 상기 제1 부호화 결과를 이용하여 허프만 부호화하는 단계를 더 포함할 수 있다.
바람직하게, 상기 허프만 부호화하는 단계는 각각의 이진 영상에 대해 결정된 부호화 단위로 런 길이 부호화된 결과를 N 비트 단위로 읽어 2N개의 코드에 대한 확률 분포를 연산하는 단계; 상기 확률 분포에 기반하여 이진 트리를 생성하여 발생 빈도가 높은 코드에 대해 길이가 짧은 접두어 코드를 할당하는 단계; 및 상위 n개(n= N 비트로 부호화할 수 있는 최대 개수)의 코드로 허프만 코드북을 생성하는 단계를 포함한다.
바람직하게, 상기 제1 및 상기 허프만 부호화하는 단계는 멀티 코어에 의해 각각의 이진 영상에 대한 제1 및 허프만 부호화가 병렬적으로 수행되는 것을 특징으로 한다.
전술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 이진 영상에 기반한 유전체 데이터 압축 장치는 아데닌(A), 티민(T), 싸이토신(C), 구아닌(G), 불명확염기(N)를 포함하는 유전체 데이터를 복수의 이진 영상으로 분리하는 이진 영상 생성부; 이진 영상의 특성에 따라 결정된 부호화 모드에 기초하여 각각의 이진 영상을 런 길이 부호화하는 제1 및 제2 부호화부; 및 상기 제1 및 제2 부호화부에서 부호화된 결과를 이용하여 허프만 부호화하는 제1 및 제2 허프만 부호화부를 포함한다.
바람직하게, 상기 이진 영상 생성부는 상기 유전체 데이터에서 어느 한 종류의 염기는 1으로 부호화하고, 나머지 염기들은 0으로 부호화한다.
바람직하게, 상기 이진 영상 생성부는 상기 유전체 데이터에서 아데닌(A)을 1으로 부호화하는 제1 이진 영상과, 티민(T)을 1으로 부호화하는 제2 이진 영상과, 싸이토신(C)을 1으로 부호화하는 제3 이진 영상과, 구아닌(G)을 1으로 부호화하는 제4 이진 영상과, 불명확염기(N)를 1으로 부호화하는 제5 이진 영상을 생성한다.
바람직하게, 상기 제1 및 제2 부호화부는 상기 이진 영상에서 0과 1의 반복되는 횟수에 따라 부호화되는 비트 단위를 결정한다.
바람직하게, 상기 제1 및 제2 부호화부는 상기 제1 이진 영상 내지 상기 제4 이진 영상은 3 비트 단위로 런 길이 부호화하고, 상기 제5 이진 영상은 16비트 단위로 런 길이 부호화한다.
바람직하게, 상기 제1 및 제2 허프만 부호화부는 각각의 이진 영상에 대해 결정된 부호화 단위로 런 길이 부호화된 결과를 N 비트 단위로 읽어 2N개의 코드에 대한 확률 분포를 연산하고, 상기 확률 분포에 기반하여 이진 트리를 생성하여 발생 빈도가 높은 코드에 대해 길이가 짧은 접두어 코드를 할당하고, 상위 n개(n= N 비트로 부호화할 수 있는 최대 개수)의 코드로 허프만 코드북을 생성한다.
본 발명에 따르면, 유전체 데이터를 복수의 이진 영상으로 분리하고, 분리된 이진 영상 파일을 병렬 처리를 통해 압축함으로써, 압축 효율 및 성능이 향상되는 이점이 있다. 특히, 분리된 이진 영상 파일 특성에 맞게 Run Length Coding을 적응적으로 수행하여 다시 압축하고, 그 결과를 이용하여 허프만 코드북을 생성하고, 다시 부호화함으로써 높은 압축률을 보장할 수 있다. 또한, 분리된 이진 영상 파일을 멀티코어를 이용하여 병렬 처리함으로써, 높은 압축 속도를 기대할 수 있다.
도 1은 본 발명의 일 실시예에 따른 이진 영상에 기반한 유전체 데이터 압축 장치를 도시한 도면.
도 2는 본 발명의 다른 실시예에 따른 이진 영상에 기반한 유전체 데이터 압축 방법을 도시한 도면.
도 3은 본 발명의 실시예에 따라 허프만 코드북이 생성하는 방법의 일 예를 도시한 도면.
도 4는 본 발명의 실시예에 따른 이진 영상에 기반한 유전체 데이터 압축 방법이 실행될 수 있는 컴퓨터 장치의 일 구성을 도시한 도면.
도 5는 유전체 데이터의 일 예를 도시한 도면.
도 2는 본 발명의 다른 실시예에 따른 이진 영상에 기반한 유전체 데이터 압축 방법을 도시한 도면.
도 3은 본 발명의 실시예에 따라 허프만 코드북이 생성하는 방법의 일 예를 도시한 도면.
도 4는 본 발명의 실시예에 따른 이진 영상에 기반한 유전체 데이터 압축 방법이 실행될 수 있는 컴퓨터 장치의 일 구성을 도시한 도면.
도 5는 유전체 데이터의 일 예를 도시한 도면.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가급적 동일한 부호를 부여하고 또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 이진 영상에 기반한 유전체 데이터 압축 장치를 도시한 도면이다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 이진 영상에 기반한 유전체 데이터 압축 장치는 이진 영상 생성부(10), 제1 부호화부(20), 제2 부호화부(30), 제1 허프만 부호화부(40), 제2 허프만 부호화부(50)를 포함하여 구성된다.
이진 영상 생성부(10)는 아데닌(A), 티민(T), 싸이토신(C), 구아닌(G), 불명확염기(N)를 포함하는 유전체 데이터를 복수의 이진 영상으로 분리한다. 유전체 데이터의 일 예를 도시한 도 5에 도시된 바와 같이, 유전체 데이터는 아데닌, 티민, 구아닌, 싸이토신과 같은 염기들로 구성되며, 약 30억개의 염기 서열을 가진다. 도 5에서 N은 확실하게 규명되지 않은 염기를 나타내는 영역으로, 수백에서 수천 개씩의 데이터가 한군데 몰려 있는 특징을 가지며, A,T,G,C 등의 염기는 무작위로 섞여 있는 형태를 가진다.
전술한 형태를 갖는 유전체 데이터를 0과 1로 구성된 복수의 이진 데이터로 변환 및/또는 분리하는 일 실시예로서 이진 영상 생성부(10)는 상기 유전체 데이터에서 어느 한 종류의 염기는 1으로 부호화하고, 나머지 염기들은 0으로 부호화하는 방법을 활용할 수 있다. 예컨대, “ATGCAATCCGATTAGGGAC"와 같은 유전체 데이터의 경우, 아데닌(A) 염기만 1으로 부호화하고, 나머지 염기들은 0으로 부호화하면, “1000110000100100010”과 같은 이진 데이터가 생성된다. 또한, 티민(T) 염기만을 1으로 부호화하고, 나머지 염기들은 0으로 부호화한다면, “0100001000011000000”과 같은 이진 데이터가 생성될 것이다. 이와 같은 부호화 방식을 싸이토신(C) 및 구아닌(G), 불명확 염기(N)에도 적용하면, 그 결과 각각 “0010000001000011100”, “0001000110000000001”, “0000000000000000000”과 같은 이진 데이터가 생성된다.
각각의 이진 데이터에서 '1'을 white, '2'를 black으로 정의한다면 흑백으로 구성된 일반적인 이진 영상이 5개 생성된다. 이와 같은 방식으로 생성된 이진 영상은 유전체 데이터의 특성상, '0'을 나타내는 부분이 70~80%를 차지한다.
제1 및 제2 부호화부(20, 30)는 이진 영상의 특성에 따라 각각의 이진 영상에 대한 부호화 모드를 결정하고, 결정된 부호화 모드를 기반으로 각각의 이진 영상을 부호화한다. 도 1에는 제1 및 제2 부호화부와 같이 2개의 부호화부만 도시되었지만, 결정된 부호화 모드의 종류 및 개수에 따라 2개 이상의 부호화부가 본 발명에 적용될 수 있다. 본 실시예에서는 설명의 편의를 위해 2개의 부호화 모드가 결정되는 것으로 한다. 한편, 각각의 부호화부는 멀티 코어(multi-core)를 통해 병렬적으로 각 이진 영상에 대한 부호화를 수행할 수 있다.
예컨대, 제1 및 제2 부호화부(20, 30)는 상기 이진 영상에서 0과 1의 반복되는 횟수에 따라 부호화되는 비트 단위를 결정할 수 있다. 전술한 바에서 아데닌(A), 티민(T), 싸이토신(C), 구아닌(G), 불명확염기(N) 염기를 각각 1으로 부호화하고 나머지 염기들을 0으로 부호화한 이진 영상을 각각 제1 내지 제5 이진 영상으로 한다면, 제1 부호화부(20)는 제1 내지 제4 이진 영상에 대해 부호화를 병렬적으로 수행하고, 제2 부호화부(30)는 제5 이진 영상에 대해 부호화를 수행할 수 있다.
불명확 염기(N)가 1으로 부호화되고, 나머지 염기는 0으로 부호화된 제5 영상의 경우, 특성상 1111……100000…0000000111..1110000..00000 이와 같은 구조를 보이고 있어서 런 길이 부호화(Run length coding)에 최적화 되어 있다고 볼 수 있다. 따라서 16비트 부호화 단위를 적용하여 0(개수),1(개수),0(개수)… 와 같은 방법으로 상기 이진 데이터(혹은, 이진 영상)를 런 길이 부호화한다.
예를 들어, 제5 이진 영상의 데이터가 00…00(1500개)111…11(5만개)000..00(3백개)…인 경우는 16 비트 단위로0000010111011100,1100001101010000,0000000100101100 와 같이 부호화된다.
반면, 아데닌(A), 티민(T), 싸이토신(C), 구아닌(G)이 1으로 부호화되고 나머지 염기들은 0으로 부호화된 제1 내지 제4 이진 영상의 경우에는 제1 부호화부(20)가 3비트 부호화 단위를 적용하여 런 길이 부호화를 한다.
예를 들어, 제1 이진 영상의 데이터가 “00000010001000001110000”와 같이 구성되어 있다면, 제1 부호화부(20)는 상기 제1 이진 영상 데이터를 '000000', '1', '000', '1', '00000', '111', '0000'로 분리하여 3비트 부호화 단위로 “110,001,011,001, 101,011,100” 과 같이 부호화 한다.
제1 및 제2 허프만 부호화부(40, 50)는 상기 제1 부호화부(20) 및 상기 제2 부호화부(30)에서의 부호화 결과를 이용하여 허프만 부호화를 수행한다. 도 1에는 제1 및 제2 허프만 부호화부와 같이 2개의 부호화부만 도시되었지만, 결정된 부호화 모드의 종류 및 개수에 따라 2개 이상의 부호화부가 본 발명에 적용될 수 있다.
도 2는 본 발명의 다른 실시예에 따른 이진 영상에 기반한 유전체 데이터 압축 방법을 도시한 도면이다.
S10 단계에서, 유체전체 데이터가 입력되면, 이진 영상 생성부(10)는 아데닌(A), 티민(T), 싸이토신(C), 구아닌(G), 불명확염기(N)를 포함하는 유전체 데이터를 복수의 이진 영상으로 분리한다(S20).
예컨대, 이진 영상 생성부(10)는 상기 유전체 데이터에서 어느 한 종류의 염기는 1으로 부호화하고, 나머지 염기들은 0으로 부호화하는 방법을 이용하여 유전체 데이터를 0과 1로 구성된 이진 데이터로 변환할 수 있다. 이 경우, 유전체 데이터에서 아데닌(A) 염기만 1으로 부호화하고, 나머지 염기들은 0으로 부호한 이진 데이터(A 파일), 티민(T) 염기만 1으로 부호화하고, 나머지 염기들은 0으로 부호화한 이진 데이터(T 파일), 싸이토신(C) 염기만 1으로 부호화하고, 나머지 염기들은 0으로 부호화한 이진 데이터(C 파일), 구아닌(G) 염기만 1으로 부호화하고, 나머지 염기들은 0으로 부호화한 이진 데이터(G 파일), 불명확염기(N)만을 1으로 부호화하고, 나머지 염기들은 0으로 부호화한 이진 데이터(N 파일)이 생성될 수 있다.
다음으로, S20 단계에서 생성된 각각의 이진 데이터에 대한 부호화가 병렬적으로 수행된다. 예컨대, 제1 부호화부(20) 및 제2 부호화부(30)는 이진 데이터에서 0과 1의 반복되는 횟수에 따라 부호화되는 비트 단위를 결정하고, 결정된 비트 단위에 따라 이진 데이터를 분리하여 부호화 처리한다.
구체적으로, 제1 부호화부(20)는 A 파일, T 파일, G 파일, C 파일로 생성된 이진 데이터에 대해 3비트 부호화 단위로 부호화를 병렬적으로 수행하고(S33), 제2 부호화부(30)는 N 파일로 생성된 이진 데이터에 대해 16 비트 부호화 단위로 부호화를 수행할 수 있다(S31).
이후, 제1 및 제2 허프만 부호화부(40, 50)는 상기 제1 부호화부(20) 및 상기 제2 부호화부(30)에서의 부호화 결과를 이용하여 허프만 부호화를 수행한다(S41, S43). 이하에서는 도 3을 참조하여, 본 발명의 실시예에 따라 허프만 부호화가 수행되는 과정을 구체적으로 살펴본다. 도 3은 본 발명의 실시예에 따라 허프만 코드북이 생성하는 방법의 일 예를 도시한 도면이다.
허프만 부호화는 빈도가 높은 코드에 작은 용량의 접두어 코드를 부여하면 그만큼 저장 공간을 아낄 수 있는 원리를 이용한다. 예를 들어, 어떤 문자열이 ? 코드 20개와 'b' 코드 5개로 구성된다면, 'a' 코드에 100을, 'b' 코드에 11을 부여한다면, 변환된 데이터의 크기는 3(100의 비트 수) X 20 + 2(11의 비트 수) X 5= 70 비트이고, 이와 반대로 'a' 코드에 11을 'b' 코드에 100을 부여한다면, 변환된 데이터의 크기는 2(11의 비트 수)X20 + 3(100의 비트 수) X 5=55 비트가 될 것이다. 따라서, 상대적으로 높은 빈도 수를 갖는 'a' 코드에 낮은 접두어 코드를 부여하는 것이 압축 효율 면에서 유리하다.
이와 같은 허프만 부호화는 접두어 코드를 표현하는데 있어서, 이진 트리 구조를 사용하는데, 본 발명의 실시예에 따른 허프만 부호화는 S31 및 S33 단계와 같은 런 길이 부호화 결과 생성된 부호화 코드(0과 1으로 구성)를 일정 단위로 읽어, 각 코드의 빈도수에 기초하여 생성된 코드 북을 이용한다.
구체적인 실시예로서, 제1 및 제2 허프만 부호화부(40, 50)는 각각의 이진 영상에 대해 런 길이 부호화된 결과를 N 비트 단위로 읽어 2N개의 코드에 대한 확률 분포를 연산한다(S110, S120). 예컨대, 16 비트 단위로 런 길이 부호화된 경우에는 8 비트 단위로 읽어 총 256(28)개의 코드에 대한 확률 분포를 구할 수 있다.
다음으로, 제1 및 제2 허프만 부호화부(40, 50)는 상기 확률 분포에 기반하여 이진 트리를 생성하여 발생 빈도가 높은 코드에 대해 길이가 짧은 접두어 코드를 할당한다(S130).
그리고, 제1 및 제2 허프만 부호화부(40, 50)는 상위 n개(n= N 비트로 부호화할 수 있는 최대 개수)의 코드로 허프만 코드북을 작성하여, 허프만 부호화에 활용한다(S140).
한편, 본 발명의 실시예에 따른 이진 영상에 기반한 유전체 데이터 압축 방법은 컴퓨터 시스템에서 구현되거나, 또는 기록매체에 기록될 수 있다. 도 3에 도시된 바와 같이, 컴퓨터 시스템은 적어도 하나 이상의 프로세서(121)와, 메모리(123)와, 사용자 입력 장치(126)와, 데이터 통신 버스(122)와, 사용자 출력 장치(127)와, 저장소(128)를 포함할 수 있다. 전술한 각각의 구성 요소는 데이터 통신 버스(122)를 통해 데이터 통신을 한다.
컴퓨터 시스템은 네트워크에 커플링된 네트워크 인터페이스(129)를 더 포함할 수 있다. 상기 프로세서(121)는 중앙처리 장치(central processing unit (CPU))이거나, 혹은 메모리(123) 및/또는 저장소(128)에 저장된 명령어를 처리하는 반도체 장치일 수 있다.
상기 메모리(123) 및 상기 저장소(128)는 다양한 형태의 휘발성 혹은 비휘발성 저장매체를 포함할 수 있다. 예컨대, 상기 메모리(123)는 ROM(124) 및 RAM(125)을 포함할 수 있다.
따라서, 본 발명의 실시예에 이진 영상에 기반한 유전체 데이터 압축 방법은 컴퓨터에서 실행 가능한 방법으로 구현될 수 있다. 본 발명의 실시예에 따른 이진 영상에 기반한 유전체 데이터 압축 방법이 컴퓨터 장치에서 수행될 때, 컴퓨터로 판독 가능한 명령어들이 본 발명에 따른 인식 방법을 수행할 수 있다.
한편, 상술한 본 발명에 따른 이진 영상에 기반한 유전체 데이터 압축 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
이상, 본 발명의 바람직한 실시예를 통하여 본 발명의 구성을 상세히 설명하였으나, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서에 개시된 내용과는 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Claims (16)
- 아데닌(A), 티민(T), 싸이토신(C), 구아닌(G), 불명확염기(N)를 포함하는 유전체 데이터를 복수의 이진 영상으로 분리하는 단계;
이진 영상의 특성에 따라 각각의 이진 영상에 대한 부호화 모드를 결정하는 단계; 및
결정된 부호화 모드를 기반으로 각각의 이진 영상을 제1 부호화하는 단계
를 포함하는 이진 영상에 기반한 유전체 데이터 압축 방법.
- 제1항에 있어서, 상기 복수의 이진 영상으로 분리하는 단계는,
상기 유전체 데이터에서 어느 한 종류의 염기는 1으로 부호화하고, 나머지 염기들은 0으로 부호화하는 단계를 포함하는 것
인 이진 영상에 기반한 유전체 데이터 압축 방법.
- 제1항에 있어서, 상기 복수의 이진 영상으로 분리하는 단계는,
상기 유전체 데이터에서 아데닌(A)을 1으로 부호화하는 제1 이진 영상과, 티민(T)을 1으로 부호화하는 제2 이진 영상과, 싸이토신(C)을 1으로 부호화하는 제3 이진 영상과, 구아닌(G)을 1으로 부호화하는 제4 이진 영상과 , 불명확염기(N)를 1으로 부호화하는 제5 이진 영상을 생성하는 단계를 포함하는 것
인 이진 영상에 기반한 유전체 데이터 압축 방법.
- 제1항에 있어서, 상기 부호화 모드를 결정하는 단계는,
상기 이진 영상에서 0과 1의 반복되는 횟수에 따라 부호화되는 비트 단위를 결정하는 단계를 포함하는 것
인 이진 영상에 기반한 유전체 데이터 압축 방법.
- 제3항에 있어서, 상기 부호화 모드를 결정하는 단계는,
상기 제1 이진 영상 내지 상기 제4 이진 영상은 3 비트 단위로, 상기 제5 이진 영상은 16 비트 단위로 부호화 단위를 결정하는 단계를 포함하는 것
인 이진 영상에 기반한 유전체 데이터 압축 방법.
- 제1항에 있어서, 상기 제1 부호화하는 단계는,
각각의 이진 영상을 결정된 부호화 모드를 기반으로 런 길이 부호화(run length coding)하는 단계를 포함하는 것
인 이진 영상에 기반한 유전체 데이터 압축 방법. - 제3항에 있어서, 상기 제1 부호화하는 단계는,
상기 제1 이진 영상 내지 상기 제4 이진 영상은 3 비트 단위로 런 길이 부호화하고, 상기 제5 이진 영상은 16비트 단위로 런 길이 부호화하는 단계를 포함하는 것
인 이진 영상에 기반한 유전체 데이터 압축 방법.
- 제1항에 있어서,
상기 제1 부호화 결과를 이용하여 허프만 부호화하는 단계
를 더 포함하는 이진 영상에 기반한 유전체 데이터 압축 방법.
- 제8항에 있어서, 상기 허프만 부호화하는 단계는,
각각의 이진 영상에 대해 런 길이 부호화된 결과를 N 비트 단위로 읽어 2N개의 코드에 대한 확률 분포를 연산하는 단계;
상기 확률 분포에 기반하여 이진 트리를 생성하여 발생 빈도가 높은 코드에 대해 길이가 짧은 접두어 코드를 할당하는 단계; 및
상위 n개(n= N 비트로 부호화할 수 있는 최대 개수)의 코드로 허프만 코드북을 생성하는 단계를 포함하는 것
인 이진 영상에 기반한 유전체 데이터 압축 방법.
- 제8항에 있어서, 상기 제1 및 상기 허프만 부호화하는 단계는,
멀티 코어에 의해 각각의 이진 영상에 대한 제1 및 허프만 부호화가 병렬적으로 수행되는 것
인 이진 영상에 기반한 유전체 데이터 압축 방법.
- 아데닌(A), 티민(T), 싸이토신(C), 구아닌(G), 불명확염기(N)를 포함하는 유전체 데이터를 복수의 이진 영상으로 분리하는 이진 영상 생성부;
이진 영상의 특성에 따라 결정된 부호화 모드에 기초하여 각각의 이진 영상을 런 길이 부호화하는 제1 및 제2 부호화부; 및
상기 제1 및 제2 부호화부에서 부호화된 결과를 이용하여 허프만 부호화하는 제1 및 제2 허프만 부호화부
를 포함하는 이진 영상에 기반한 유전체 데이터 압축 장치.
- 제11항에 있어서, 상기 이진 영상 생성부는,
상기 유전체 데이터에서 어느 한 종류의 염기는 1으로 부호화하고, 나머지 염기들은 0으로 부호화하는 것
인 이진 영상에 기반한 유전체 데이터 압축 장치.
- 제11항에 있어서, 상기 이진 영상 생성부는,
상기 유전체 데이터에서 아데닌(A)을 1으로 부호화하는 제1 이진 영상과, 티민(T)을 1으로 부호화하는 제2 이진 영상과, 싸이토신(C)을 1으로 부호화하는 제3 이진 영상과, 구아닌(G)을 1으로 부호화하는 제4 이진 영상과, 불명확염기(N)를 1으로 부호화하는 제5 이진 영상을 생성하는 것
인 이진 영상에 기반한 유전체 데이터 압축 장치.
- 제11항에 있어서, 상기 제1 및 제2 부호화부는,
상기 이진 영상에서 0과 1의 반복되는 횟수에 따라 부호화되는 비트 단위를 결정하는 것
인 이진 영상에 기반한 유전체 데이터 압축 장치.
- 제13항에 있어서, 상기 제1 및 제2 부호화부는,
상기 제1 이진 영상 내지 상기 제4 이진 영상은 3 비트 단위로 런 길이 부호화하고, 상기 제5 이진 영상은 16비트 단위로 런 길이 부호화하는 것
인 이진 영상에 기반한 유전체 데이터 압축 장치.
- 제11항에 있어서, 상기 제1 및 제2 허프만 부호화부는,
각각의 이진 영상에 대해 결정된 부호화 단위로 런 길이 부호화된 결과를 N 비트 단위로 읽어 2N개의 코드에 대한 확률 분포를 연산하고,
상기 확률 분포에 기반하여 이진 트리를 생성하여 발생 빈도가 높은 코드에 대해 길이가 짧은 접두어 코드를 할당하고,
상위 n개(n= N 비트로 부호화할 수 있는 최대 개수)의 코드로 허프만 코드북을 생성하는 것
인 이진 영상에 기반한 유전체 데이터 압축 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140013134A KR20150092585A (ko) | 2014-02-05 | 2014-02-05 | 이진 영상에 기반한 유전체 데이터 압축 방법 및 장치 |
US14/480,216 US20150261990A1 (en) | 2014-02-05 | 2014-09-08 | Method and apparatus for compressing dna data based on binary image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140013134A KR20150092585A (ko) | 2014-02-05 | 2014-02-05 | 이진 영상에 기반한 유전체 데이터 압축 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150092585A true KR20150092585A (ko) | 2015-08-13 |
Family
ID=54056842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140013134A KR20150092585A (ko) | 2014-02-05 | 2014-02-05 | 이진 영상에 기반한 유전체 데이터 압축 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150261990A1 (ko) |
KR (1) | KR20150092585A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI673604B (zh) * | 2017-06-14 | 2019-10-01 | 俄羅斯聯邦商蘭迪佳德有限責任公司 | 信息編碼和信息解碼的方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10339512B2 (en) | 2014-12-18 | 2019-07-02 | Ncr Corporation | In-scanner document image processing |
US10613797B2 (en) * | 2017-06-13 | 2020-04-07 | ScaleFlux, Inc. | Storage infrastructure that employs a low complexity encoder |
CN107451948B (zh) * | 2017-08-09 | 2020-09-29 | 山东师范大学 | 基于混沌和dna动态平面运算的图像加、解密方法及系统 |
CN109803148B (zh) * | 2019-03-13 | 2020-09-22 | 苏州泓迅生物科技股份有限公司 | 一种图像编码方法、解码方法、编码装置和解码装置 |
CN111681290B (zh) * | 2020-04-21 | 2023-08-15 | 华中科技大学鄂州工业技术研究院 | 一种基于dna编码技术的图片存储方法 |
CN112069852B (zh) * | 2020-09-07 | 2023-12-12 | 凌云光技术股份有限公司 | 一种基于游程编码的低质量二维码信息提取方法及装置 |
CN112991474B (zh) * | 2021-04-09 | 2023-05-09 | 中国矿业大学 | 基于预计算的dna快速解码方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6147198A (en) * | 1988-09-15 | 2000-11-14 | New York University | Methods and compositions for the manipulation and characterization of individual nucleic acid molecules |
US5720928A (en) * | 1988-09-15 | 1998-02-24 | New York University | Image processing and analysis of individual nucleic acid molecules |
US6133436A (en) * | 1996-11-06 | 2000-10-17 | Sequenom, Inc. | Beads bound to a solid support and to nucleic acids |
US6268133B1 (en) * | 1997-06-25 | 2001-07-31 | Invitrogen Corporation | Method for isolating and recovering target DNA or RNA molecules having a desired nucleotide sequence |
US20050037397A1 (en) * | 2001-03-28 | 2005-02-17 | Nanosphere, Inc. | Bio-barcode based detection of target analytes |
US6974669B2 (en) * | 2000-03-28 | 2005-12-13 | Nanosphere, Inc. | Bio-barcodes based on oligonucleotide-modified nanoparticles |
US6355431B1 (en) * | 1999-04-20 | 2002-03-12 | Illumina, Inc. | Detection of nucleic acid amplification reactions using bead arrays |
US20040086861A1 (en) * | 2000-04-19 | 2004-05-06 | Satoshi Omori | Method and device for recording sequence information on nucleotides and amino acids |
WO2001087458A1 (en) * | 2000-05-12 | 2001-11-22 | University Of Cincinnati | Magnetic bead-based arrays |
WO2002086761A1 (fr) * | 2001-04-18 | 2002-10-31 | Satoshi Omori | Procede et appareil d'enregistrement de donnees sequentielles de substances biologiques |
US7158892B2 (en) * | 2002-06-28 | 2007-01-02 | International Business Machines Corporation | Genomic messaging system |
US7157228B2 (en) * | 2002-09-09 | 2007-01-02 | Bioarray Solutions Ltd. | Genetic analysis and authentication |
AU2003298655A1 (en) * | 2002-11-15 | 2004-06-15 | Bioarray Solutions, Ltd. | Analysis, secure access to, and transmission of array images |
US7363170B2 (en) * | 2004-07-09 | 2008-04-22 | Bio Array Solutions Ltd. | Transfusion registry network providing real-time interaction between users and providers of genetically characterized blood products |
US7298293B2 (en) * | 2005-06-03 | 2007-11-20 | Sarukkai R. Narayanan | Method for encoding data |
WO2008036075A2 (en) * | 2005-08-10 | 2008-03-27 | Northwestern University | Composite particles |
US8239140B2 (en) * | 2006-08-30 | 2012-08-07 | The Mitre Corporation | System, method and computer program product for DNA sequence alignment using symmetric phase only matched filters |
US20100034444A1 (en) * | 2008-08-07 | 2010-02-11 | Helicos Biosciences Corporation | Image analysis |
US9298722B2 (en) * | 2009-07-16 | 2016-03-29 | Novell, Inc. | Optimal sequential (de)compression of digital data |
US10090857B2 (en) * | 2010-04-26 | 2018-10-02 | Samsung Electronics Co., Ltd. | Method and apparatus for compressing genetic data |
US8798936B2 (en) * | 2011-06-21 | 2014-08-05 | Illumina, Inc. | Methods and systems for data analysis using the Burrows Wheeler transform |
AU2013269536B2 (en) * | 2012-06-01 | 2018-11-08 | European Molecular Biology Laboratory | High-capacity storage of digital information in DNA |
-
2014
- 2014-02-05 KR KR1020140013134A patent/KR20150092585A/ko not_active Application Discontinuation
- 2014-09-08 US US14/480,216 patent/US20150261990A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI673604B (zh) * | 2017-06-14 | 2019-10-01 | 俄羅斯聯邦商蘭迪佳德有限責任公司 | 信息編碼和信息解碼的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150261990A1 (en) | 2015-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20150092585A (ko) | 이진 영상에 기반한 유전체 데이터 압축 방법 및 장치 | |
JP4801776B2 (ja) | データ圧縮 | |
US8362931B2 (en) | Compression and decompression of mass spectrometry data | |
KR101725223B1 (ko) | 저장 장치에서의 데이터 압축 방법 | |
KR101049699B1 (ko) | 데이터의 압축방법 | |
US7786907B2 (en) | Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems | |
CN1536068A (zh) | 编码脱氧核糖核酸序列的方法和装置及计算机可读介质 | |
WO2019217129A1 (en) | Efficient data encoding for deep neural network training | |
WO2009009574A2 (en) | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems | |
CN110021369B (zh) | 基因测序数据压缩解压方法、系统及计算机可读介质 | |
CN105391454A (zh) | 一种dna测序质量分数无损压缩方法 | |
Sardaraz et al. | SeqCompress: An algorithm for biological sequence compression | |
US7786903B2 (en) | Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems | |
CN110021368B (zh) | 比对型基因测序数据压缩方法、系统及计算机可读介质 | |
JP6070568B2 (ja) | 特徴量符号化装置、特徴量符号化方法、及びプログラム | |
Goel | A compression algorithm for DNA that uses ASCII values | |
AU2017248412A1 (en) | Information processing apparatus, and data management method | |
JP6005273B2 (ja) | データストリームの符号化方法、送信方法、伝送方法、データストリームを符号化するための符号化装置、送信装置、および、伝送装置 | |
CN111243670A (zh) | 一种满足生物约束的dna信息存储编码方法 | |
Challa et al. | A novel compression technique for DNA sequence compaction | |
Matos et al. | Compression of microarray images using a binary tree decomposition | |
US10447295B2 (en) | Coding method, coding device, decoding method, and decoding device | |
Mathur et al. | A Novel Approach to Compress and Secure Human Genome Sequence | |
CN109698704B (zh) | 比对型基因测序数据解压方法、系统及计算机可读介质 | |
CA3148976A1 (en) | Method for the compression of genome sequence data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |