摘要:
본발명은이진데이터의압축에관한발명이다. 예를들어, "10"으로시작하는이진수데이터 X 가있다면, 10101110111010001111010101011 "10"을만날때마다데이터를분리하면, 10 /1011/1011/10/1000111/10/10/10/1011 와같이분리된다. 각각분리된데이터를바이너리클러스터 X 타입(이하 BC-X) 이라고명칭하기로한다. 바이너리클러스터는 2가지로구분가는한데하나는 "1"로시작하고 "0"이연속되는 A type이라고부르는것으로, 10, 100, 1000, 10000, ... 와같은부류이고, 또다른하나는 "1"로시작하고, 1개이상의연속된 "0", 그리고 1개이상의연속된 "1"이있는패턴을가진것으로서 101, 1011, 10111, 101111, 1011111,.... 또는 1001, 10011, 100111,1001111,..., 10001,100011,10000111,....,... 등과같은것이다. 이를 B type이라고하였다. A타입및 B 타입은 1비트씩압축이가능한데, A타입의경우최상의 1비트를지우면된다. 즉, 10 ==>0, 100 ==> 00, 1000 ==>000, 과같다. B타입의경우, 최상위 1비트를지우고나머지를반전하면되는데 101 ==> 10, 10011 ==>1100, 1000111 ==> 111000, ... 과같다. 이와같이 BC-X 의 A 및 B 타입을각각 1비트씩압축한압축바이너리클러스터데이터를 bc-x 라고하자. 다음으로 "1"로시작하고 "0"으로끝나는이진수데이터 Y 가있다고하면, 11100010101111000011010001100001111000110000 "01"을처음만날때마다, "0"과 "1" 사이를분리하면아래와같다. 111000/10/10/11110000/110/1000/110000/1111000/11000 이렇게분리된각 이진데이터를바이너리클러스터 Y 타입(이하 BC-Y) 이라고하자본 발명은이렇게두 이진수데이터 X, Y 로부터생성된각 BC-X, BC-Y를결합하여데이터를압축하는방법및 그장치에관한발명이다. 이때 BC-X 와 BC-Y는각각 1:1로대응되도록한다. 상기에서, 압축된 bc-x 의첫번째부터마지막번째및 BC-Y의첫번째부터마지막번째까지 1:1로대응하여 2차원으로결합시키면아래표 1와같다. 압축효과는근본적으로 BC-X 에서 bc-x 로변환될때 1비트로인한부분과 bc-x 와 BC-Y가결합된비트의길이가부가데이터없이 ML 비트인경우에발생한다. 이외의경우는 bc-x 로압축될때 1비트가부가데이터의 "1" 을추가되면서상쇄되지만손해가발생하지않기에전자의압축효과가그대로유지될수있게된다.