KR20080049019A - 구조 문서를 압축하고 해제하는 방법 및 장치 - Google Patents

구조 문서를 압축하고 해제하는 방법 및 장치 Download PDF

Info

Publication number
KR20080049019A
KR20080049019A KR1020087004231A KR20087004231A KR20080049019A KR 20080049019 A KR20080049019 A KR 20080049019A KR 1020087004231 A KR1020087004231 A KR 1020087004231A KR 20087004231 A KR20087004231 A KR 20087004231A KR 20080049019 A KR20080049019 A KR 20080049019A
Authority
KR
South Korea
Prior art keywords
type
value
attribute
document
simplified
Prior art date
Application number
KR1020087004231A
Other languages
English (en)
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 KR20080049019A publication Critical patent/KR20080049019A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Abstract

본 발명은, 서로 포개어져 있는 요소를 포함하는 트리 구조를 갖는 구조 문서(DOC1)를 압축하고, 각각의 요소는 속성 및 다른 요소를 포함할 수 있는 값 필드를 포함하는 압축방법에 관한 것으로서, 상기 압축방법은: 오리지널 유형의 속성의 일부만 포함하는 단순화된 요소 유형을 한정하는 단계와; 오리지널 유형의 각 요소에 대해, 단순화된 유형 속성의 속성 값 또는 존재에 있어서만 상기 요소가 오리지널 유형을 갖는 이전의 요소와 다를 때, 요소의 유형 식별자를 단순화된 유형의 식별자로 교체하는 단계를 포함한다.
구조 문서, 압축, 유형, 속성

Description

구조 문서를 압축하고 해제하는 방법 및 장치{METHODS AND DEVICES FOR COMPRESSING AND DECOMPRESSING STRUCTURED DOCUMENTS}
본 발명은 데이터를 전송하고 저장하고 검색하고 디스플레이하는 컴퓨터 시스템 분야에 관한 것이다. 보다 구체적으로는, 다수의 속성(attributes; 데이터의 가장 작은 단위) 및/또는 하위요소(subelements)를 갖는 다수의 구조 요소를 포함하는 구조 문서를 압축하고 해제하는 방법 및 시스템에 관한 것이다.
본 발명은 구조 멀티미디어 문서, 디지털 또는 비디오 이미지 시퀀스, 영화 또는 비디오 프로그램을 다루고 전송하고 저장하며 읽는 것에만 적용되는 것이 아니라, 데이터 전송 네트워크에 의해 서로 연결된 프로세서 장치 사이에서, 또는 프로세서 장치와 저장 장치 사이에서, 또는 문서가 디지털 또는 비디오 이미지를 포함하고 있는 경우 텔레비전 수상기와 같이 프로세서 장치와 재생 장치 사이에서, 문서를 전송하는 것 모두에 관련되어 있다.
점점 더 빈번하게, 이렇게 처리되고 전송되는 문서는 하나의 구조로 통합되어 있는 여러가지 상이한 유형의 데이터를 포함하고 있다. 구조 문서는 각각 유형 과 속성이 결합되어 있고 또한 주로 계층적인 관계로 서로 연결되어 있는 세트로 이루어진 정보 요소이다. 이러한 문서는 표준화된 범용 표시 언어(SGML), 하이퍼텍스트 마크업 언어(HTML), 확장 마크업 언어(XML)와 같은 마크업 언어(markup language)를 사용하며, 특히 문서를 구성하는 문서의 여러 요소를 구별하는 기능을 한다. 대조적으로, "선형" 문서에서, 문서의 컨텐츠 정보는 레이아웃 정보 및 유형 정보와 혼합된다.
구조 문서는 문서 내 상이한 정보 요소를 구별하기 위해 "태그"라고도 불리는 마커를 포함한다. SGML, XML, HTML 포맷에 대해, 이러한 태그는 "<XXXX>" 및 "</XXXX>" 형태를 가지고, 제1 태그 "XXXX"는 정보 요소의 시작을 나타내고, 제2 태그 "</XXXX>"는 정보 요소의 끝을 나타낸다. 정보 요소는 다수의 속성과 "하위 요소"로 불리는 하위 레벨의 정보 요소로 이루어져 있다. 따라서, 구조 문서는 트리 또는 계층적 구조를 제공하며, 각각의 노드는 정보 요소를 나타내고, 또한 더 낮은 레벨의 정보 요소를 포함하는 정보 요소를 나타내는 더 높은 계층 레벨의 노드에 연결된다. 이러한 트리 구조 내에서 브랜치 단부에 있는 노드는 정보 하위 요소로 분할되지 아니한 미리 정해진 비구조 유형의 데이터를 포함하는 정보 요소를 나타낸다.
따라서, 구조 문서는 보통 텍스트 형태로 표현된 분리 마커 또는 태그를 포함하며, 이 태그는 태그로 분리된 다른 정보 하위 요소를 포함할 수 있는 정보 요소 또는 하위 요소를 한정한다.
그러나, XML과 같은 마크업 언어는 장황한 언어이고 따라서 처리 효율이 좋 지 않고 전송하거나 저장함에 있어서 비용이 많이 든다. 또한, 대부분의 소프트웨어 애플리케이션은 매우 많은 구조 문서를 생성하는 경향이 있다. 이는 특히 HTML 문서와 장면 묘사, 삽화, 기술적 드로잉, 개략적인 그림 등등과 같은 디지털 그래픽 문서를 생성하는 소프트웨어 애플리케이션의 경우에 그러하다. 그래픽 애플리케이션에 의해 생성된 문서는 대량의 점과 선과 곡선을 묘사하는 그래픽 데이터를 포함한다. 이러한 그래픽 문서에서, 그래픽 객체는 이차원 벡터와 혼합된 벡터/래스터 그래픽 객체를 나타내는 SVG(Scalable Vector Graphics)와 같은 언어를 이용하는 그래픽 구조 요소에 의해 기술된다.
구조 문서는 디지털 네트워크를 통해 저장되고 전송되도록 되어 있기 때문에, 이러한 구조 문서의 크기를 줄일 필요가 있다.
구조 문서의 크기를 줄이는 해결방법 중 알려진 방법은 문서에 압축 프로세스를 적용하는 것이다. 이와 관련하여, ISO/IEC 15938-1(MPEG-7-동영상 전문가 그룹) 또는 보다 최신기술로서 ISO/IEC 23001-1은 XML 구조 문서를 인코딩(압축)하는 방법과 이진 포맷을 그리고 이러한 이진 포맷을 해제하는 기술을 제안하고 있다. 이러한 표준은 특히 멀티미디어 메타데이터와 같이 매우 고도로 구조화된 데이터를 처리하도록 구성되어 있다.
그러나, 일부 구조화된 요소는 일반적으로 대량의 의무적인(mandatory) 또는 선택적인(optional) 속성 및/또는 하위 요소를 구비하고 있으나, 실제로 이들은 거의 문서에 존재하지 않는다. 이러한 구조화된 요소가 이진 스트림으로 압축될 때, 요소 내에 존재하지 않는 각각의 속성 또는 하위 요소는 적어도 속성 또는 요소가 없다는 것을 나타내는 이진 플래그로 인코딩되어야 한다. 따라서, 속성 또는 하위 요소를 다수 갖는 구조 문서의 이진 인코딩은 효율면에서 바람직하지 않다.
본 발명의 한 실시예는, 여러 문서가 속성 또는 하위 요소만 약간 다르고 동일한 유형의 요소를 매우 많이 구비하고 있다는 사실에 기초하여, MPEG-7을 이용하여 이진으로 인코딩된 구조 문서의 크기를 줄인다.
따라서, 본 발명의 한 실시예에 의하면, 서로 포개어져 있고 또한 정보 요소의 구조를 참조하는 요소 유형 식별자와 각각 연결되어 있는 구조 요소를 포함하는 트리 구조를 갖는 구조 문서를 압축하고, 각각의 요소는 요소의 유형에 따라 명칭과 값에 의해 한정된 속성 및, 하나 이상의 요소를 포함할 수 있는 값 필드를 포함하는 압축방법에 있어서, 상기 압축방법은: 오리지널 요소 유형으로부터 유도되고 오리지널 유형의 속성 및 값 필드 중 일부만 포함하는 단순화된 요소 유형을 한정하는 단계와; 문서 내의 오리지널 유형을 갖는 각각의 요소에 대해, 단순화된 유형의 속성 및 요소 값 필드 각각의 값 또는 존재에 있어서만 상기 요소가 문서 내의 오리지널 유형을 갖는 이전의 요소와 다를 때, 요소의 유형 식별자를 단순화된 유형의 식별자로 교체하고, 또한 단순화된 유형에 속하지 않는 속성 및 값 필드를 상기 요소로부터 제거하는 단계를 포함하는 것을 특징으로 하는 압축방법이 제공된다.
본 발명의 한 실시예에 의하면, 상기 압축방법은 구조 문서로부터 이진 스트림을 제공하는 인코딩 단계를 포함한다.
본 발명의 한 실시예에 의하면, 상기 이진 스트림은 구조 문서의 각 요소에 대해, 요소의 유형 식별자를 나타내는 이진수와; 요소의 속성 및 요소의 값 필드 각각에 대한 값을 인코딩하며, 각각의 선택적인 요소의 속성 및 요소의 값 필드에 대해, 속성 또는 값 필드가 존재하는지 여부를 나타내는 비트를 포함하는 압축된 이진수;를 포함한다.
본 발명의 한 실시예에 의하면, 상기 교체하는 단계는 상기 인코딩 단계 이전에 수행된다.
본 발명의 한 실시예에 의하면, 상기 단순화된 유형은, 문서 내 오리지널 유형의 요소에서 값 또는 존재가 빈번하게 바뀌는 속성을 포함한다.
본 발명의 한 실시예에 의하면, 다수의 단순화된 유형이 구조 문서의 동일한 오리지널 유형에 대해 한정되고, 상기 단순화된 유형은 상이한 속성을 갖는다.
본 발명의 한 실시예에 의하면, 상기 압축방법은 오리지널 유형에 기초하고 오리지널 유형의 선택적인 속성을 포함하는 선택적인 속성의 세트를 포함하는 유도된 유형을 한정하는 단계와, 오리지널 유형을 갖는 구조 문서의 각 요소의 오리지널 유형을 유도된 유형으로 교체하는 단계를 포함한다.
본 발명의 한 실시예에 의하면, 이진 스트림 형태로 구조 문서를 해제하고, 상기 구조 문서는 서로 포개어져 있고 또한 정보 요소의 구조를 참조하는 요소 유형 식별자와 각각 연결되어 있는 정보 요소를 포함하는 트리 구조를 가지며, 각각의 요소는 요소의 유형에 따라 명칭과 값에 의해 한정된 속성 및, 하나 이상의 요소를 포함할 수 있는 값 필드를 포함하는 압축해제방법에 있어서, 하나 이상의 요소가 오리지널 유형으로부터 유도되고 오리지널 유형의 속성 및 값 필드 중 일부만 포함하는 단순화된 유형을 갖고, 단순화된 유형에 속하지 않는 속성 및 값 필드의 값은 오리지널 유형을 갖는 문서 내의 이전의 요소에 의해 제공되는 것을 특징으로 하는 압축해제방법이 제공된다.
본 발명의 한 실시예에 의하면, 상기 이진 스트림은 구조 문서의 각 요소에 대해 이진 인코딩된 값을 포함하고, 각각의 요소 이진 인코딩된 값은: 요소의 유형 식별자를 나타내는 이진수와; 요소의 속성 및 요소의 값 필드 각각에 대한 값을 인코딩하며, 각각의 선택적인 요소의 속성 및 요소의 값 필드에 대해, 속성 또는 값 필드가 존재하는지 여부를 나타내는 비트를 포함하는 압축된 이진수;를 포함한다.
본 발명의 한 실시예에 의하면, 상기 압축해제방법은 이진수와 값을 요소 유형 식별자와, 속성 명칭 및 값과, 요소 값으로 변환시킴으로써 이진 스트림을 디코딩하는 단계를 포함한다.
본 발명의 한 실시예에 의하면, 상기 압축해제방법은 문서 내 각각의 단순화된 유형 식별자를 대응하는 오리지널 유형 식별자로 교체하는 단계와, 단순화된 유형에 속하지 않는 오리지널 유형을 갖는 이전 요소의 속성과 값을 단순화된 유형을 갖는 각각의 요소에 삽입하는 단계를 포함한다.
본 발명의 한 실시예에 의하면, 상기 교체하는 단계는 상기 디코딩하는 단계 이후에 수행된다.
본 발명의 한 실시예에 의하면, 상기 단순화된 유형은, 문서 내 오리지널 유형을 갖는 요소에서 값 또는 존재가 빈번하게 바뀌는 속성을 포함한다.
본 발명의 한 실시예에 의하면, 다수의 단순화된 유형이 구조 문서의 동일한 오리지널 유형에 대해 한정되고, 상기 단순화된 유형은 상이한 속성을 갖는다.
본 발명의 한 실시예에 의하면, 하나 이상의 요소는 오리지널 유형의 선택적인 속성을 포함하는 선택적인 속성의 세트를 포함하는 유도된 유형으로 교체된 오리지널 유형을 갖고, 문서를 인코딩하는 상기 이진 스트림은 유도된 유형을 갖는 각각의 요소에 대해 선택적인 속성의 하나 이상의 속성이 요소 내에 존재하는지 여부를 나타내는 비트를 포함한다.
본 발명의 한 실시예에 의하면, 상기 압축해제방법은 상기 유도된 유형 식별자를 대응하는 오리지널 유형 식별자로 교체하는 단계를 포함한다.
본 발명의 한 실시예에 의하면, 서로 포개어져 있고 또한 정보 요소의 구조를 참조하는 요소 유형 식별자와 각각 연결되어 있는 정보 요소를 포함하는 트리 구조를 갖는 구조 문서를 압축하고, 각각의 요소는 요소의 유형에 따라 명칭과 값에 의해 한정된 의무적인 또는 선택적인 속성 및, 하나 이상의 요소를 포함할 수 있는 선택 값 필드를 포함하는 압축장치가 제공된다.
본 발명의 한 실시예에 의하면, 구조 문서 내에서 오리지널 요소로부터 유도되고 오리지널 유형의 속성 및 값 필드 중 일부만 포함하는 단순화된 요소 유형이 한정되고, 상기 압축 장치는: 단순화된 유형의 속성 및 요소 값 필드의 값에서만 요소가 오리지널 유형을 갖는 문서 내의 이전의 요소와 다를 때, 문서 내에서 오리지널 유형을 갖는 각 요소의 유형 식별자를 단순화된 유형의 식별자로 교체하고, 단순화된 유형을 갖는 각각의 요소로부터 단순화된 유형에 속하지 않는 속성 및 값 필드를 제거한다.
본 발명의 한 실시예에 의하면, 상기 압축장치는 이진 스트림을 제공한다.
본 발명의 한 실시예에 의하면, 상기 이진 스트림은 구조 문서의 각 요소에 대해, 요소의 유형 식별자를 나타내는 이진수와; 요소의 속성 및 요소의 값 필드 각각에 대한 값을 인코딩하며, 각각의 선택적인 요소의 속성 및 요소의 값 필드에 대해, 속성 또는 값 필드가 존재하는지 여부를 나타내는 비트를 포함하는 압축된 이진수;를 포함한다.
본 발명의 한 실시예에 의하면, 상기 구조 문서를 인코딩하기 전에 오리지널 유형을 구조 문서 내의 단순화된 유형으로 교체한다.
본 발명의 한 실시예에 의하면, 상기 단순화된 유형은, 문서 내 오리지널 유형의 요소에서 값 또는 존재가 빈번하게 바뀌는 속성을 포함한다.
본 발명의 한 실시예에 의하면, 다수의 단순화된 유형이 구조 문서의 동일한 오리지널 유형에 대해 한정되고, 상기 단순화된 유형은 상이한 속성을 갖는다.
본 발명의 한 실시예에 의하면, 오리지널 유형에 기초하고 오리지널 유형의 선택적인 속성을 포함하는 선택적인 속성의 세트를 포함하는 유도된 유형이 한정되고, 상기 압축 장치는 오리지널 유형을 갖는 구조 문서의 각 요소의 오리지널 유형을 유도된 유형으로 교체한다.
본 발명의 한 실시예에 의하면, 이진 스트림 형태로 구조 문서를 해제하고, 상기 구조 문서는 서로 포개어져 있고 또한 정보 요소의 구조를 참조하는 요소 유형 식별자와 각각 연결되어 있는 정보 요소를 포함하는 트리 구조를 가지며, 각각의 요소는 요소의 유형에 따라 명칭과 값에 의해 한정된 속성 및, 하나 이상의 요소를 포함할 수 있는 값 필드를 포함하는 압축해제장치가 제공된다.
본 발명의 한 실시예에 의하면, 하나 이상의 요소가 오리지널 유형으로부터 유도되고 오리지널 유형의 속성 및 값 필드 중 일부만 포함하는 단순화된 유형을 갖고, 단순화된 유형에 속하지 않는 속성 및 값 필드의 값은 오리지널 유형을 갖는 문서 내의 이전의 요소에 의해 제공되다.
본 발명의 한 실시예에 의하면, 상기 이진 스트림은 구조 문서의 각 요소에 대해 이진 인코딩된 값을 포함하고, 각각의 요소 이진 인코딩된 값은: 요소의 유형 식별자를 나타내는 이진수와; 요소의 속성 및 요소의 값 필드 각각에 대한 값을 인코딩하며, 각각의 선택적인 요소의 속성 및 요소의 값 필드에 대해, 속성 또는 값 필드가 존재하는지 여부를 나타내는 비트를 포함하는 압축된 이진수;를 포함한다.
본 발명의 한 실시예에 의하면, 상기 압축해제장치는 이진수와 값을 요소 유형 식별자와, 속성 명칭 및 값과, 요소 값으로 변환시킴으로써 이진 스트림을 디코딩하는 디코더를 포함한다.
본 발명의 한 실시예에 의하면, 문서 내 각각의 단순화된 유형 식별자를 대응하는 오리지널 유형 식별자로 교체하고, 단순화된 유형에 속하지 않는 오리지널 유형을 갖는 이전 요소의 속성 및 값을 단순화된 유형을 갖는 각각의 요소에 삽입한다.
본 발명의 한 실시예에 의하면, 상기 이진 스트림을 디코딩한 후에 단순화된 유형 식별자를 대응하는 오리지널 유형으로 교체한다.
본 발명의 한 실시예에 의하면, 상기 단순화된 유형은, 문서 내 오리지널 유형을 갖는 요소에서 값 또는 존재가 빈번하게 바뀌는 속성을 포함한다.
본 발명의 한 실시예에 의하면, 다수의 단순화된 유형이 구조 문서의 동일한 오리지널 유형에 대해 한정되고, 상기 단순화된 유형은 상이한 속성을 갖는다.
본 발명의 한 실시예에 의하면, 하나 이상의 요소는 오리지널 유형의 선택적인 속성을 포함하는 선택적인 속성의 세트를 포함하는 유도된 유형으로 교체된 오리지널 유형을 갖고, 문서를 인코딩하는 상기 이진 스트림은 유도된 유형을 갖는 각각의 요소에 대해 선택적인 속성의 하나 이상의 속성이 요소 내에 존재하는지 여부를 나타내는 비트를 포함한다.
본 발명의 한 실시예에 의하면, 상기 유도된 유형 식별자를 대응하는 오리지널 유형 식별자로 교체한다.
본 발명의 다른 이점과 특징은 첨부된 도면과 관련된 아래의 설명을 통하여 제공될 것이며, 단 첨부된 도면에 의해 어떤 제한을 받는 것은 아니다.
도 1은 구조 문서를 블록 형태로 나타낸 도면이다.
도 2는 본 발명의 한 실시예에 따른 구조 문서 압축장치를 블록 형태로 나타낸 도면이다.
도 3은 본 발명의 한 실시예에 따른 구조 문서 해제장치를 블록 형태로 나타 낸 도면이다.
도 4는 도 2의 압축장치에 의해 실행되는 최적화 절차에 대한 플로우차트를 나타내는 도면이다.
도 5는 도 3의 해제장치에 의해 실행되는 적응 절차에 대한 플로우차트를 나타내는 도면이다.
도 1은 헤더(HD)와 주요 요소(MEL)를 포함하는 구조 문서(1)를 나타낸다. 주요 요소(MEL)는 유형 식별자(Type)와, 속성 세트(Att.1, Att.2,...Att.n) 및 값(value)(Val)을 포함한다. 주요 요소(MEL)의 값은 "주요 요소의 하위 요소"라 불리는 하나 이상의 구조 요소(4)를 포함할 수 있고, 구조 요소는 각각 유형 식별자(Type)와 속성 세트(Att.1, Att.2,...Att.n) 및 값(Val)을 포함한다. 각 요소(4)의 값은 하나 이상의 구조화 하위요소 또는 비구조 하위요소를 포함한다. 비구조 요소는 스트링, 정수, 부동 소수점 수와 같은 알려진 포맷을 갖는다. 각각의 요소 또는 하위 요소는 요소의 구조를 한정하는 유형과 관련되어 있다. 구조 문서의 요소에 대한 각각의 유형은 스키마(schema) 내에서 정의될 수 있다(예를 들어 XML 언어 내의 XML 스키마).
구조 문서의 구조 요소는 XML에서, 또는 HTML 및 SVG와 같이 XML으로부터 나온 언어에서 아래와 같은 형식을 구비하고 있다:
<type att1-name="att1-value" att2-name="att2-value"...
attn-name="attb-value">value</type>
여기에서 "<type...>"은 문서 내에서 요소의 시작의 경계를 정의하는 시작 태그를 나타내며,
"type"은 구조 요소의 유형 식별자이며,
"</type>"은 문서 내 요소의 끝의 경계를 정의하는 앤드 태그이고,
"atti-name=atti-value"는 요소의 속성"i"의 명칭이고, 또한 속성의 값이며,
value는 구조 하위요소 또는 비구조 하위요소를 포함하는 요소의 값이다.
아래에 유형 "a"의 HTML 요소의 예가 나타나 있다(HTML 앵커(anchor) 유형):
<a att1-name="att1-value" att2-name="att2-value"...
attn-name="attb-value">value</a>
HTML 앵커 요소는 아래의 29개의 선택 속성을 포함할 수 있다:
href charset type
name hreflang rel
rev accesskey shape
coords tabindex id
lang dir title
style onfocus onblur
onclick ondblclick onmousedown
onmouseup onmouseover onmousemove
onmouseout onkeypress onkeydown
onkeyup target
속성 "id" 및 "href"를 갖는 앵커 요소는 ISO-IEC 23001-1에 따라 아래와 같이 인코딩된다:
bit(n)-a-num // a-num은 유형 "a"를 참조하여 n 비트로 인코딩된 이진수,
bit(1)=1 // 속성 "id"의 존재를 나타내는 비트,
ID-value // 속성 "id"의 값,
bit(1)=1 // 속성 "href"의 존재를 나타내는 비트,
href-value // 속성 "href"의 값,
bit(1)=0 // 속성 "charset"의 부재를 나타내는 비트,
bit(1)=0 // 속성 "type"의 부재를 나타내는 비트,
... ...
bit(1)=0 // 속성 "target"의 부재를 나타내는 비트,
bit(1)=0/1 // 앵커 요소의 값의 존재/부재를 나타내는 비트,
anchor-value // 값을 갖는 경우 앵커 요소의 값
ISO-IEC 23001-1 추종 인코더에 의해 생성되는 이진 스트림에서, 구조 문서의 각 요소의 인코딩된 값은 구조 문서 내 요소의 출현 순서에 대응하는 미리 정한 순서로 나타난다. 각각의 요소는 요소의 유형을 나타내는 비트수 "a-num"으로 인코딩된다. 요소의 각 속성은 미리 정해진 순서대로 인코딩된다. 요소의 각 의무적인 속성은 속성의 값을 나타내는 압축된 이진값으로 인코딩된다. 요소의 각각의 선택적인 속성은 속성이 존재하는지의 여부를 나타내는 비트로 그리고 이어서 속성의 값을 나타내는 이진 압축값으로 인코딩된다. 만일 요소의 값이 선택적인 경우에는, 요소의 값이 존재하는지 여부를 나타내는 비트에 의해 그리고 이어서 요소의 인코딩된 값에 의해 인코딩된다. 만일 요소의 값이 구조 하위 요소로 이루어진 경우에는, 각각의 하위 요소는 한 요소로서 인코딩된다. 그렇지 아니한 경우에는, 요소의 값은 요소의 값을 나타내는 이진 압축값으로 인코딩된다.
SVG는 XML에 기초한 또 다른 언어이다. SVG는 장면 묘사와 같은 그래픽 객체 를 기술하도록 구성되어 있다. 이 언어는 또한 있을 수 있는 속성을 매우 많이 갖는 다수의 요소 유형을 포함한다. 예를 들어, 요소 유형 "polygon"은 아래와 같은 60개의 속성을 포함한다:
audio-level Class color
color-rendering Display display-align
fill fill-opacity fill-rule
nav-right nav-next nav-up
nav-up-right nav-up-left nav-prev
nav-down nav-down-right nav-down-left
nav-left Focusable font-family
font-size font-style font-variant
font-weight Id image-rendering
line-increment lsr:rotation lsr:scale
lsr:translation pointer-events points
requiredExtensions requiredFeatures requiredFormats
shape-rendering solid-color solid-opacity
stop-color stop-opacity stroke
stroke-dasharray stroke-dashoffset stroke-linecap
stroke-linejoin stroke-miterlimit stroke-opacity
stroke-width systemLanguage text-anchor
text-rendering Transform vector-effect
viewport-fill viewport-fill-opacity visibility
xml:base xml:lang xml:space
모든 이러한 속성은 폴리곤의 포인트 좌표 리스트를 제공하는 "points"를 제외하고 선택적이다. 일반적으로, 가장 자주 사용되는 선택적 속성은 "id" 및 "fill"이다. 식별자 "ID"와 포인트 리스트를 갖는 폴리곤 요소는 ISO-IEC 23001-1에 따라 아래와 같이 인코딩된다:
bit(6)=p-num // p-num은 유형 폴리곤을 참조하여 6 비트로 코딩된 이진수
bit(1)=1 // 속성 "id"의 존재를 나타내는 비트
ID-value // 속성 "id"의 값
points // 폴리곤의 포인트 좌표의 리스트
bit(1)=0 // 속성 "fill"의 존재를 나타내는 비트
bit(1)=0 // 속성 "audio-level"의 부재를 나타내는 비트
bit(1)=0 // 속성 "class"의 부재를 나타내는 비트
... ...
bit(1)=0 // 속성 "xml:space"의 부재를 나타내는 비트
bit(1)=0/1 // 폴리곤 요소의 값의 부재/존재를 나타내는 비트
polygon-value // 값을 갖는 경우의 폴리곤 요소의 값
따라서, 앵커 또는 폴리곤 요소의 인코딩된 값은 각각 부재하는 선택 속성을 위한 0에 하나의 비트를 포함하고 각각 존재하는 선택 속성을 위한 1에 하나의 비트를 포함하고, 그 후에 존재 속성의 값이 이어진다. 따라서, 다수의 선택 속성을 갖는 요소의 인코딩은 압축률 면에서 효율적이지 못하다.
본 발명의 한 실시예에 따라, 새롭게 단순화된 요소 유형이 도입된다. "polygon" 유형의 요소의 경우, 새로운 요소 유형 "samepolygon"이 도입되고, 이 새로운 요소 유형은 단지 "polygon" 유형의 의무적인 속성, 즉 "point" 및 이 요소 유형의 가장 빈번히 바뀌는(값 또는 존재와 관련하여) 속성, 즉 "id"를 갖는다. "polygon" 요소의 다른 모든 속성 값은 이전에 문서에 나타나는 다른 "polygon" 요소에 의해 특정된다.
속성 "point"와 속성 "lid"를 제외하고는 동일한 값과 똑같은 속성을 가지고 동일한 유형으로 된 이전의 제1 요소 이후에, 제2 "polygon" 요소가 SVG 문서에 나타날 때, 제2 "polygon" 요소는 유형 "samepolygon" 요소로 교체된다. 제2 "polygon" 요소의 요소 유형을 바꿀 때, 단순화된 유형에 속하지 않는 모든 속성은 제거된다(동일 유형의 이전 요소에서와 동일한 값을 가짐). 따라서 제2 "polygon" 요소는 아래와 같이 인코딩된다:
bit(6)=p1-num // p1-num은 유형 "samepolygon"을 참고하여 6 비트로 인코딩된 이진수
bit(1)=1 // 속성 "id"의 존재를 나타내는 비트
ID-value // 속성 "id"의 값
points // 폴리곤 포인트 좌표의 리스트
bit(1)=0/1 // "polygon" 요소의 값의 존재/부재를 나타내는 비트
polygon-value // 값을 갖는 경우 "polygon" 요소의 값
똑같은 방법으로 유형 "Samea"는 단지 하나의 속성 "href"으로 정의된다. 단지 상이한 "href" 속성 값을 갖는 제1 앵커 요소에 이어 모든 앵커 유형의 요소는 아래와 같이 인코딩된다:
bit(n)=a1-num // a1-num은 유형 "Samea"를 참고하여 n 비트로 인코딩된 이진수
href-value // 속성 "href"의 값
bit(1)=0/1 // "anchor" 요소의 값의 존재/부재를 나타내는 비트
anchor-value // 값을 갖는 경우 "anchor" 요소의 값
따라서, 본 발명의 실시예에 따르면, 다수의 속성을 갖는 복잡한 요소 유형 또는 값 및/또는 존재에 의해 달라지는 하나 또는 두 개의 속성만 갖는 매우 자주 사용되는 유형은, 문서에서 사용되는 가변 속성만 속성으로서 갖는 단순화된 요소 유형을 갖는 구조 문서에서 교체된다. 단순화된 유형의 정의는 동일한 구조 스키마와 관련된 구조 문서에 대한 통계 분석에 기초할 수 있다.
문서의 폴리곤 또는 앵커 요소 대부분이 값을 갖는 경우 "samepolygon" 또는 "samea" 유형은 의무적인 값 필드에 의해 정의될 수 있다. 이 경우, "samepolygon" 또는 "samea"의 인코딩된 요소는 그 값의 존재/부재를 나타내는 비트를 포함하고 있지 않다. 아날로그 방식으로, 요소의 값은 요소 유형과 관련되어 있다. 문서의 폴리곤 또는 앵커 값의 대부분이 주어진 유형을 가지고 있다면, 유형 "samepolygon" 또는 "samea"는 유형 "samepolygon" 또는 "samea"의 요소의 값에 대한 유형을 부과할 수 있다. 따라서, 요소의 인코딩된 값은 값의 요소 유형을 나타내는 이진수를 포함하지 않는다.
몇몇 단순화된 요소 유형은, 예를 들어 동일한 유형을 갖는 문서의 요소가 값 또는 존재에 의해 변하는 두 개 또는 세 개의 속성을 가질 때, 단일 요소 유형으로부터 정의될 수 있다. 따라서, 위의 예에서, 유형 "samepolygonfill"은 다음과 같은 세 개의 속성을 갖는 요소를 정의하기 위해 더해질 수 있다: "id", "point", 및 "fill". 유형 "samepolygonfill"은 단지 속성 "fill", "point", 및 "id"의 값에서만 이전의 "polygon" 요소와 상이한 문서 내의 요소의 유형 "polygon"을 교체할 수 있다.
도 2는 본 발명의 실시예에 따른 압축 장치를 나타낸다. 압축 장치는 인코딩되는 구조 문서(DOC1)를 수신하는 옵티마이저(optimizer)(OPT)와 최적화된 구조 문서를 이진 스트림(BDOC)으로 변환시키는 인코더(ENC)를 포함하고 있다. 옵티마이저 는 구조 문서(DOC1)에서 반복성 속성 값을 갖는 요소의 유형 "X"를 본 발명에 따른 단순화된 유형 "SameX"로 교체하도록 되어 있다.
도 3은 본 발명의 실시예에 따른 해제 장치를 나타낸다. 해제 장치는 이진 스트림(BDOC)을 최적화된 구조 문서로 변환시키는 디코더(DEC)를 포함한다. 만일 구조 문서를 읽거나 사용하는 애플리케이션이 단순화된 유형 "SameX"를 알지 못하는 경우, 디코딩 장치는 단순화된 유형을 오리지널 유형으로 변환시키고 단순화된 유형을 갖는 요소에 이전에 정의된 속성 값을 더하기 위해 어댑터(ADP)를 포함한다. 어댑터(ADP)는 인코더(ENC)에 적용되는 문서와 유사한, 그러나 반드시 동일할 필요는 없는 구조 문서(DOC2)를 제공한다.
도 4는 옵티마이저(OPT)에 의해 수행되는 처리 단계를 나타낸다. 도 4의 처리 단계는 단계(S1-S8)을 포함한다. 단계(S1)에서, 구조 문서는 문서의 끝에 도달(단계 S2)할 때까지 요소에 의해 읽혀지는 요소이다. 단계(S3 내지 S8)는 문서의 각 요소에 대해 실행된다.
단계(S3)에서, 옵티마이저(OPT)는 읽혀진 현재 요소의 요소 유형이 하나의 단순화된 유형인지 여부를 결정한다. 만일 읽혀진 현재 요소의 유형이 단순화된 유형을 갖고 있지 아니하면, 현재 요소는 문서에 기록된다(단계 S6). 만일 읽혀진 현재 요소의 유형이 하나 이상의 단순화된 유형을 갖는다면, 옵티마이저(OPT)는 문서 내에 동일한 유형을 갖는 이전의 요소가 기억되는지 여부를 결정한다(단계 S4). 현재 요소와 동일한 유형의 요소가 아직 기억되어 있지 않으면, 요소는 단계(S5)에서 기억되고, 요소는 단계(S6)에서 문서에 기록된다. 단계(S4)에서, 현재 요소가 이전 에 기억된 요소의 유형을 갖는다면, 옵티마이저는 단계(S7)에서 현재 요소의 유형이 단순화된 유형과 교체될 수 있는지 여부를 결정한다. 즉, 옵티마이저는 단계(S7)에서 현재 요소의 속성 값이 단순화된 유형의 속성을 제외하고 기억된 요소의 속성 값과 동일한지 여부를 결정한다. 만일 현재 요소의 유형이 단순화된 유형으로 교체될 수 있다면, 요소는 단순화된 유형의 식별자를 갖는 문서에 기록된다(단계 S8). 또한, 단순화된 유형에 속하지 않는 요소의 모든 속성은 문서에 기록된 요소로부터 제거된다. 그렇지 않으면, 요소는 변화없이 현재 유형 식별자에 의해 문서에 기록된다(단계 S6).
도 5는 어댑터(ADP)에 의해 수행되는 처리 단계를 나타낸다. 도 5의 처리 단계는 단계(S11-S17)를 포함한다. 단계(S11)에서, 문서는 문서의 끝에 도달할 때까지(단계 S12) 요소에 의해 읽혀지는 문서이다.
단계(S13)에서, 어댑터(ADP)는 읽혀진 현재 요소의 요소 유형이 단순화된 유형을 갖는 유형인지 여부를 결정한다. 만일 읽혀진 현재 요소가 하나 이상의 단순화된 유형을 갖는 유형인 경우, 어댑터(ADP)는 단계(S14)에서 현재 요소를 기억하고 단계(S15)에서 문서에 현재 요소를 기록한다. 그렇지 않으면, 어댑터(ADP)는 현재 요소의 유형이 단순화된 유형(단계 S16)인지 여부를 결정한다. 현재 요소의 유형이 단순화된 유형인 경우, 현재 요소는 단계(S17)에서 단순화된 유형을 얻을 수 있는 오리지널 유형에 대응하는 유형 식별자를 갖는 새로운 요소로 변환된다. 새로운 요소는 현재 요소의 속성과 동일한 오리지널 유형을 갖는 이전에 기억된 요소의 다른 속성을 갖는다.
단계(S16)에서 현재 요소의 유형이 단순화된 유형이 아닌 경우, 현재 요소는 단계(S15)에서 문서에 기록된다.
옵티마이저에 의해 제공되는 최적화된 문서는 오리지널 문서(DOC1) 보다 크기가 더 작다. 따라서, 최적화된 문서는 이진 스트림으로 인코딩되지 않고 사용(저장, 전송,...)될 수 있다. 따라서, 도 2의 압축 장치에서, 인코더(ENC)는 반드시 필요한 것은 아니며, 도 3의 해제 장치의 디코더(DEC)도 반드시 필요한 것은 아니다.
또한, 최적화된 문서는 ZLIB와 같은 다른 압축 알고리즘을 이용하여 압축될 수 있다. 만일 인코더(ENC)가 다른 압축 알고리즘을 문서(DOC1)에 적용하면, 디코더는 오리지널 문서(DOC1)와 동등한 구조 문서(DOC2)를 얻을 수 있도록 이진 스트림(CDOC)에 역 알고리즘을 적용한다.
본 발명의 다른 실시예에 의하면, 흔하지 않은 선택적인 속성의 세트를 포함하는 새로운 속성 유형을 한정함으로써 그리고 새로운 속성 유형에 포함된 모든 속성을 대신하여 새로운 속성 유형을 도입할 수 있도록 흔하지 않은 선택적인 속성을 포함하는 요소 유형을 수정함으로써, 구조 문서는 압축률 면에 있어서 최적화되어 있다. 이런 식으로, 다수의 속성을 갖는 문서의 요소의 대부분은 아래와 같이 "polygon" 유형의 예로 인코딩될 수 있다:
bit(6)=p-num // p-num은 유형 "polygon"을 참고하여 6 비트로 인코딩된 이진수
bit(1)=0/1 // 속성 "id"의 부재/존재를 나타내는 비트
ID-value // 값이 존재하는 경우에 속성 "id"의 값
points // 폴리곤의 포인트 좌표의 리스트
bit(1)=0 // 흔하지 않은 속성 세트에 속하는 속성의 부재를 나타내는 비트
bit(1)=0/1 // "polygon" 요소에 대한 값의 부재/존재를 비트
polygon-value // 값이 존재하는 경우 "polygon" 요소의 값
만일 흔하지 않은 속성 세트에 속하는 속성이 요소에 존재하면, 인코딩된 요소는 최적화되지 아니한 것이고 흔하지 않은 속성 세트에 속하는 속성의 존재를 나타내는 추가 비트를 포함한다. 이러한 최적화 작업은 특히 단순화된 유형을 갖는 요소 유형에 적용된다.
앞서 기술한 예를 보면, 본 발명에 따른 방법과 장치가 여러가지로 변형되어 쉽게 구현될 수 있다는 것은 당업자에게는 자명한 것이 될 것이다. 특히, 본 발명은 XML 언어 또는 HTML 또는 SVG와 같은 파생된 XML 언어에 제한되는 것이 아니다. 본 발명은 모든 구조 언어에 널리 적용된다.
본 발명은 구조 요소의 속성에 제한되지 아니하며, 보다 널리 구조 요소의 하위요소에 적용된다. 따라서, 만일 주어진 유형의 여러 요소가 구조 문서 내에서 모두 동일한 값 필드를 가지고 있다면, 고정된 값 필드(유형 "X"의 이전 요소에 의해 한정)를 갖는 단순화된 유형 "sameX"는 한정되어 요소의 인코딩을 간단히 하는데 이용될 수 있다.
요소의 유형을 단순화된 유형으로 교체하는 단계가 또한 문서를 인코딩하거 나 디코딩할 때 구조 문서를 인코딩하는 이진 스트림에서 수행될 수 있다.
해제 방법에서, 반드시 단순화된 유형을 대응하는 오리지널 유형으로 교체할 필요는 없다. 실제로, 디코딩된 구조 문서를 이용하는 애플리케이션은 단순화되고 유도된 유형 식별자를 이해할 수 있을 것이다.

Claims (32)

  1. 서로 포개어져 있고 또한 정보 요소의 구조를 참조하는 요소 유형 식별자(Type)와 각각 연결되어 있는 구조 요소(4)를 포함하는 트리 구조를 갖는 구조 문서(DOC1)를 압축하고, 각각의 요소는 요소의 유형에 따라 명칭(atti-name)과 값(atti-value)에 의해 한정된 속성(Att.1, Att.2,...,Att.n) 및, 하나 이상의 요소를 포함할 수 있는 값 필드(Val)를 포함하는 압축방법에 있어서,
    상기 압축방법은:
    오리지널 요소 유형으로부터 유도되고 오리지널 유형의 속성 및 값 필드 중 일부만 포함하는 단순화된 요소 유형을 한정하는 단계와;
    문서 내의 오리지널 유형을 갖는 각각의 요소에 대해, 단순화된 유형의 속성 및 요소 값 필드 각각의 값에서만 상기 요소가 문서 내의 오리지널 유형을 갖는 이전의 요소와 다를 때, 요소의 유형 식별자를 단순화된 유형의 식별자로 교체하고, 또한 단순화된 유형에 속하지 않는 속성 및 값 필드를 상기 요소로부터 제거하는 단계를 포함하는 것을 특징으로 하는 압축방법.
  2. 제1항에 있어서,
    구조 문서로부터 이진 스트림(BDOC)을 제공하는 인코딩 단계를 포함하는 것을 특징으로 하는 압축방법.
  3. 제2항에 있어서,
    상기 이진 스트림(BDOC)은 구조 문서의 각 요소에 대해,
    요소의 유형 식별자를 나타내는 이진수와;
    요소의 속성 및 요소의 값 필드 각각에 대한 값을 인코딩하며, 각각의 선택적인 요소의 속성 및 요소의 값 필드에 대해, 속성 또는 값 필드가 존재하는지 여부를 나타내는 비트를 포함하는 압축된 이진수;를 포함하는 것을 특징으로 하는 압축방법.
  4. 제2항 또는 제3항에 있어서,
    상기 교체하는 단계는 상기 인코딩 단계 이전에 수행되는 것을 특징으로 하는 압축방법.
  5. 제1항 또는 제4항에 있어서,
    상기 단순화된 유형은, 문서 내 오리지널 유형의 요소에서 값 또는 존재가 빈번하게 바뀌는 속성을 포함하는 것을 특징으로 하는 압축방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    다수의 단순화된 유형이 구조 문서의 동일한 오리지널 유형에 대해 한정되고, 상기 단순화된 유형은 상이한 속성을 갖는 것을 특징으로 하는 압축방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    오리지널 유형에 기초하고 오리지널 유형의 선택적인 속성을 포함하는 선택적인 속성의 세트를 포함하는 유도된 유형을 한정하는 단계와, 오리지널 유형을 갖는 구조 문서의 각 요소의 오리지널 유형을 유도된 유형으로 교체하는 단계를 포함하는 것을 특징으로 하는 압축방법.
  8. 이진 스트림 형태로 구조 문서를 해제하고, 상기 구조 문서(DOC1)는 서로 포개어져 있고 또한 정보 요소의 구조를 참조하는 요소 유형 식별자(Type)와 각각 연결되어 있는 정보 요소(4)를 포함하는 트리 구조를 가지며, 각각의 요소는 요소의 유형에 따라 명칭(atti-name)과 값(atti-value)에 의해 한정된 속성(Att.1, Att.2,...,Att.n) 및, 하나 이상의 요소를 포함할 수 있는 값 필드(Val)를 포함하는 압축해제방법에 있어서,
    하나 이상의 요소가 오리지널 유형으로부터 유도되고 오리지널 유형의 속성 및 값 필드 중 일부만 포함하는 단순화된 유형을 갖고, 단순화된 유형에 속하지 않는 속성 및 값 필드의 값은 오리지널 유형을 갖는 문서 내의 이전의 요소에 의해 제공되는 것을 특징으로 하는 압축해제방법.
  9. 제8항에 있어서,
    상기 이진 스트림은 구조 문서의 각 요소에 대해 이진 인코딩된 값을 포함하고,
    각각의 요소 이진 인코딩된 값은:
    요소의 유형 식별자를 나타내는 이진수와;
    요소의 속성 및 요소의 값 필드 각각에 대한 값을 인코딩하며, 각각의 선택적인 요소의 속성 및 요소의 값 필드에 대해, 속성 또는 값 필드가 존재하는지 여부를 나타내는 비트를 포함하는 압축된 이진수;를 포함하는 것을 특징으로 압축해제방법.
  10. 제8항 또는 제9항에 있어서,
    이진수와 값을 요소 유형 식별자와, 속성 명칭 및 값과, 요소 값으로 변환시킴으로써 이진 스트림을 디코딩하는 단계를 포함하는 것을 특징으로 압축해제방법.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서,
    문서 내 각각의 단순화된 유형 식별자를 대응하는 오리지널 유형 식별자로 교체하는 단계와, 단순화된 유형에 속하지 않는 오리지널 유형을 갖는 이전 요소의 속성과 값을 단순화된 유형을 갖는 각각의 요소에 삽입하는 단계를 포함하는 것을 특징으로 압축해제방법.
  12. 제11항 있어서,
    상기 교체하는 단계는 상기 디코딩하는 단계 이후에 수행되는 것을 특징으로 압축해제방법.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서,
    상기 단순화된 유형은, 문서 내 오리지널 유형을 갖는 요소에서 값 또는 존재가 빈번하게 바뀌는 속성을 포함하는 것을 특징으로 하는 압축해제방법.
  14. 제8항 내지 제13항 중 어느 한 항에 있어서,
    다수의 단순화된 유형이 구조 문서의 동일한 오리지널 유형에 대해 한정되고, 상기 단순화된 유형은 상이한 속성을 갖는 것을 특징으로 하는 압축해제방법.
  15. 제8항 내지 제14항 중 어느 한 항에 있어서,
    하나 이상의 요소는 오리지널 유형의 선택적인 속성을 포함하는 선택적인 속성의 세트를 포함하는 유도된 유형으로 교체된 오리지널 유형을 갖고, 문서를 인코딩하는 상기 이진 스트림은 유도된 유형을 갖는 각각의 요소에 대해 선택적인 속성의 하나 이상의 속성이 요소 내에 존재하는지 여부를 나타내는 비트를 포함하는 것을 특징으로 압축해제방법.
  16. 제15항에 있어서,
    상기 유도된 유형 식별자를 대응하는 오리지널 유형 식별자로 교체하는 단계를 포함하는 것을 특징으로 압축해제방법.
  17. 서로 포개어져 있고 또한 정보 요소의 구조를 참조하는 요소 유형 식별자(Type)와 각각 연결되어 있는 정보 요소(4)를 포함하는 트리 구조를 갖는 구조 문서(DOC1)를 압축하고, 각각의 요소는 요소의 유형에 따라 명칭(atti-name)과 값(atti-value)에 의해 한정된 의무적인 또는 선택적인 속성(Att.1, Att.2,...,Att.n) 및, 하나 이상의 요소를 포함할 수 있는 선택 값 필드(Val)를 포함하는 압축장치에 있어서,
    구조 문서 내에서 오리지널 요소로부터 유도되고 오리지널 유형의 속성 및 값 필드 중 일부만 포함하는 단순화된 요소 유형이 한정되고,
    상기 압축 장치는:
    단순화된 유형의 속성 및 요소 값 필드의 값에서만 요소가 오리지널 유형을 갖는 문서 내의 이전의 요소와 다를 때, 문서 내에서 오리지널 유형을 갖는 각 요소의 유형 식별자를 단순화된 유형의 식별자로 교체하고,
    단순화된 유형을 갖는 각각의 요소로부터 단순화된 유형에 속하지 않는 속성 및 값 필드를 제거하는 것을 특징으로 하는 압축장치.
  18. 제17항에 있어서,
    상기 압축장치는 이진 스트림(BDOC)을 제공하는 것을 특징으로 하는 압축장치.
  19. 제18항에 있어서,
    상기 이진 스트림(BDOC)은 구조 문서의 각 요소에 대해,
    요소의 유형 식별자를 나타내는 이진수와;
    요소의 속성 및 요소의 값 필드 각각에 대한 값을 인코딩하며, 각각의 선택적인 요소의 속성 및 요소의 값 필드에 대해, 속성 또는 값 필드가 존재하는지 여부를 나타내는 비트를 포함하는 압축된 이진수;를 포함하는 것을 특징으로 하는 압축장치.
  20. 제18항 또는 제19항에 있어서,
    상기 구조 문서를 인코딩하기 전에 오리지널 유형을 구조 문서 내의 단순화된 유형으로 교체하는 것을 특징으로 하는 압축장치.
  21. 제17항 또는 제20항에 있어서,
    상기 단순화된 유형은, 문서 내 오리지널 유형의 요소에서 값 또는 존재가 빈번하게 바뀌는 속성을 포함하는 것을 특징으로 하는 압축장치.
  22. 제17항 내지 제21항 중 어느 한 항에 있어서,
    다수의 단순화된 유형이 구조 문서의 동일한 오리지널 유형에 대해 한정되고, 상기 단순화된 유형은 상이한 속성을 갖는 것을 특징으로 하는 압축장치.
  23. 제17항 내지 제22항 중 어느 한 항에 있어서,
    오리지널 유형에 기초하고 오리지널 유형의 선택적인 속성을 포함하는 선택적인 속성의 세트를 포함하는 유도된 유형이 한정되고, 상기 압축 장치는 오리지널 유형을 갖는 구조 문서의 각 요소의 오리지널 유형을 유도된 유형으로 교체하는 것을 특징으로 하는 압축장치.
  24. 이진 스트림 형태로 구조 문서를 해제하고, 상기 구조 문서(DOC1)는 서로 포개어져 있고 또한 정보 요소의 구조를 참조하는 요소 유형 식별자(Type)와 각각 연결되어 있는 정보 요소(4)를 포함하는 트리 구조를 가지며, 각각의 요소는 요소의 유형에 따라 명칭(atti-name)과 값(atti-value)에 의해 한정된 속성(Att.1, Att.2,...,Att.n) 및, 하나 이상의 요소를 포함할 수 있는 값 필드(Val)를 포함하는 압축해제장치에 있어서,
    하나 이상의 요소가 오리지널 유형으로부터 유도되고 오리지널 유형의 속성 및 값 필드 중 일부만 포함하는 단순화된 유형을 갖고, 단순화된 유형에 속하지 않는 속성 및 값 필드의 값은 오리지널 유형을 갖는 문서 내의 이전의 요소에 의해 제공되는 것을 특징으로 하는 압축해제장치.
  25. 제24항에 있어서,
    상기 이진 스트림은 구조 문서의 각 요소에 대해 이진 인코딩된 값을 포함하고,
    각각의 요소 이진 인코딩된 값은:
    요소의 유형 식별자를 나타내는 이진수와;
    요소의 속성 및 요소의 값 필드 각각에 대한 값을 인코딩하며, 각각의 선택적인 요소의 속성 및 요소의 값 필드에 대해, 속성 또는 값 필드가 존재하는지 여부를 나타내는 비트를 포함하는 압축된 이진수;를 포함하는 것을 특징으로 압축해제장치.
  26. 제25항에 있어서,
    이진수와 값을 요소 유형 식별자와, 속성 명칭 및 값과, 요소 값으로 변환시킴으로써 이진 스트림을 디코딩하는 디코더(DEC)를 포함하는 것을 특징으로 압축해제장치.
  27. 제24항 내지 제26항 중 어느 한 항에 있어서,
    문서 내 각각의 단순화된 유형 식별자를 대응하는 오리지널 유형 식별자로 교체하고, 단순화된 유형에 속하지 않는 오리지널 유형을 갖는 이전 요소의 속성 및 값을 단순화된 유형을 갖는 각각의 요소에 삽입하는 것을 특징으로 압축해제장치.
  28. 제27항 있어서,
    상기 이진 스트림을 디코딩한 후에 단순화된 유형 식별자를 대응하는 오리지널 유형으로 교체하는 것을 특징으로 압축해제장치.
  29. 제24항 내지 제28항 중 어느 한 항에 있어서,
    상기 단순화된 유형은, 문서 내 오리지널 유형을 갖는 요소에서 값 또는 존재가 빈번하게 바뀌는 속성을 포함하는 것을 특징으로 하는 압축해제장치.
  30. 제24항 내지 제29항 중 어느 한 항에 있어서,
    다수의 단순화된 유형이 구조 문서의 동일한 오리지널 유형에 대해 한정되고, 상기 단순화된 유형은 상이한 속성을 갖는 것을 특징으로 하는 압축해제장치.
  31. 제24항 내지 제30항 중 어느 한 항에 있어서,
    하나 이상의 요소는 오리지널 유형의 선택적인 속성을 포함하는 선택적인 속성의 세트를 포함하는 유도된 유형으로 교체된 오리지널 유형을 갖고, 문서를 인코딩하는 상기 이진 스트림은 유도된 유형을 갖는 각각의 요소에 대해 선택적인 속성의 하나 이상의 속성이 요소 내에 존재하는지 여부를 나타내는 비트를 포함하는 것을 특징으로 압축해제장치.
  32. 제31항에 있어서,
    상기 유도된 유형 식별자를 대응하는 오리지널 유형 식별자로 교체하는 것을 특징으로 압축해제장치.
KR1020087004231A 2005-07-21 2006-07-20 구조 문서를 압축하고 해제하는 방법 및 장치 KR20080049019A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70103005P 2005-07-21 2005-07-21
US60/701,030 2005-07-21

Publications (1)

Publication Number Publication Date
KR20080049019A true KR20080049019A (ko) 2008-06-03

Family

ID=37809251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087004231A KR20080049019A (ko) 2005-07-21 2006-07-20 구조 문서를 압축하고 해제하는 방법 및 장치

Country Status (7)

Country Link
US (1) US20080294980A1 (ko)
EP (1) EP1913697A2 (ko)
JP (1) JP2009501991A (ko)
KR (1) KR20080049019A (ko)
CN (1) CN101223699A (ko)
CA (1) CA2614602A1 (ko)
WO (1) WO2007026258A2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2041974A4 (en) * 2006-07-12 2014-09-24 Lg Electronics Inc METHOD AND DEVICE FOR CODING / DECODING A SIGNAL
JP5059867B2 (ja) * 2006-10-19 2012-10-31 エルジー エレクトロニクス インコーポレイティド エンコード方法及び装置並びにデコード方法及び装置
US20080313201A1 (en) * 2007-06-12 2008-12-18 Christopher Mark Bishop System and method for compact representation of multiple markup data pages of electronic document data
JP4360428B2 (ja) 2007-07-19 2009-11-11 ソニー株式会社 記録装置、記録方法、コンピュータプログラムおよび記録媒体
JP4898615B2 (ja) * 2007-09-20 2012-03-21 キヤノン株式会社 情報処理装置および符号化方法
FR2924244B1 (fr) * 2007-11-22 2010-04-23 Canon Kk Procede et dispositif d'encodage et de decodage d'information
FR2929778B1 (fr) * 2008-04-07 2012-05-04 Canon Kk Procedes et dispositifs de codage et de decodage binaire iteratif pour documents de type xml.
US20110107201A1 (en) * 2009-10-29 2011-05-05 Microsoft Corporation Representing complex document structure via simpler structure through isomorphism
CN101877005B (zh) * 2010-04-15 2012-01-25 同济大学 一种基于文档模式的gml压缩方法
KR101654571B1 (ko) * 2010-07-21 2016-09-06 삼성전자주식회사 데이터 전송 장치 및 방법
CN102054038B (zh) * 2010-12-30 2014-05-28 东莞宇龙通信科技有限公司 一种文件解压方法、装置及移动终端
JP5670859B2 (ja) * 2011-10-21 2015-02-18 株式会社東芝 記述方法、exiデコーダおよびプログラム
CN105227634A (zh) * 2015-08-31 2016-01-06 徐州工程学院 一种基于居民健康档案的二进制数据压缩及加密方法
US10664446B2 (en) * 2016-11-07 2020-05-26 Kyocera Document Solutions Inc. Information processing apparatus and information processing method
US10878859B2 (en) 2017-12-20 2020-12-29 Micron Technology, Inc. Utilizing write stream attributes in storage write commands
US11803325B2 (en) * 2018-03-27 2023-10-31 Micron Technology, Inc. Specifying media type in write commands
CN108763379B (zh) * 2018-05-18 2022-06-03 北京奇艺世纪科技有限公司 一种数据压缩方法、数据解压缩方法、装置及电子设备
CN112035706A (zh) * 2019-06-04 2020-12-04 上海哔哩哔哩科技有限公司 编码、解码方法、计算机设备及可读存储介质
CN112487249B (zh) * 2020-11-27 2024-03-01 郑朗 一种可扩展标记语言xml文档压缩、解压方法及装置
CN113282776B (zh) * 2021-07-12 2021-10-01 北京蔚领时代科技有限公司 用于图形引擎资源文件压缩的数据处理系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4615827B2 (ja) * 2001-02-05 2011-01-19 エクスプウェイ 文書の構造化された記述を圧縮するための方法
EP1276324B1 (en) * 2001-07-13 2006-10-04 France Telecom Method for compressing a hierarchical tree, corresponding signal and method for decoding a signal
US7143191B2 (en) * 2002-06-17 2006-11-28 Lucent Technologies Inc. Protocol message compression in a wireless communications system
JP2005018672A (ja) * 2003-06-30 2005-01-20 Hitachi Ltd 構造化文書の圧縮方法
DE102004009617A1 (de) * 2004-02-27 2005-09-29 Siemens Ag Verfahren und Vorrichtung zur Codierung und Decodierung von strukturierten Dokumenten

Also Published As

Publication number Publication date
US20080294980A1 (en) 2008-11-27
EP1913697A2 (en) 2008-04-23
CN101223699A (zh) 2008-07-16
JP2009501991A (ja) 2009-01-22
WO2007026258A2 (en) 2007-03-08
CA2614602A1 (en) 2007-03-08
WO2007026258A3 (en) 2007-10-04

Similar Documents

Publication Publication Date Title
KR20080049019A (ko) 구조 문서를 압축하고 해제하는 방법 및 장치
US7565452B2 (en) System for storing and rendering multimedia data
JP4884438B2 (ja) 階層化ツリーを圧縮する方法及び圧縮されたマルチメディア信号をデコーディングする方法
US8010889B2 (en) Techniques for efficient loading of binary XML data
US7286066B1 (en) Acceleration of bitstream decoding
US20030147470A1 (en) Apparatus for encoding and decoding key data and key value data of coordinate interpolator and recording medium containing bitstream into which coordinate interpolator is encoded
US8326059B2 (en) Method and apparatus for progressive JPEG image decoding
CN1247669A (zh) 有效的固定长度块压缩和解压
US20060067582A1 (en) Progressive JPEG decoding system
EP1969457A2 (en) A compressed schema representation object and method for metadata processing
EP1790080A2 (en) Method for compressing and decompressing a sequence of floating point numbers
US20060126743A1 (en) Variable length code decoder and decoding method for variable length codes
US8340443B2 (en) System and method for compressing compressed data
US10515092B2 (en) Structured record compression and retrieval
US7571152B2 (en) Method for compressing and decompressing structured documents
JP4746817B2 (ja) マルチメディア・コンテンツの処理を行う方法
JP2007074648A (ja) Cabac復号化装置
WO2008010059A1 (en) Methods and devices for compressing structured documents
Lakhani Remodeling JPEG arithmetic coder for improved end-of-block marker coding
Manimurugan et al. Improved Compression of XML Files for Fast Image Transmission
Moreira et al. Addressing Image Compression Techniques on current Internet Technologies

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