KR20060061735A - 문서 컨텐트의 복수 렌디션을 제공하는 시스템 및 방법 - Google Patents

문서 컨텐트의 복수 렌디션을 제공하는 시스템 및 방법 Download PDF

Info

Publication number
KR20060061735A
KR20060061735A KR1020047010614A KR20047010614A KR20060061735A KR 20060061735 A KR20060061735 A KR 20060061735A KR 1020047010614 A KR1020047010614 A KR 1020047010614A KR 20047010614 A KR20047010614 A KR 20047010614A KR 20060061735 A KR20060061735 A KR 20060061735A
Authority
KR
South Korea
Prior art keywords
rendition
document
renditions
file
stream
Prior art date
Application number
KR1020047010614A
Other languages
English (en)
Other versions
KR100955750B1 (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 KR20060061735A publication Critical patent/KR20060061735A/ko
Application granted granted Critical
Publication of KR100955750B1 publication Critical patent/KR100955750B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

동일 문서 컨텐트의 복수 표현을 포함하는 단일 파일을 제공하기 위한 메커니즘이 개시된다. 각각의 표현은 특정 장치 또는 어플리케이션을 위한 최상의 프리젠테이션을 제공하도록 최적화될 수 있다. 본 발명의 메커니즘은, 동일 컨텐트의 복수 렌디션이 단일 문서 내에 저장될 수 있게 하는 복합 파일 포맷에 기초하는 것이 바람직하다. 복수 렌디션 각각을 설명하는 메타 정보가 이러한 렌디션에서 사용될 수 있는 임의의 지원 파일과 함께 단일 파일 내에 저장된다. 본 발명자들은 OLE 복합 파일 포맷이 본 발명의 구현에 특히 적합한 것으로 판단한다.
문서 컨텐트, 복수 렌디션, 복합 파일

Description

문서 컨텐트의 복수 렌디션을 제공하는 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING MULTIPLE RENDITIONS OF DOCUMENT CONTENT}
본 발명은 전자 문서에 관한 것이다. 더 상세하게는, 본 발명은 복수의 전자 문서를 위한 데이터 저장 포맷에 관한 것이다.
현재, 컴퓨터 사용자들은 데스크탑 컴퓨터, 랩탑 컴퓨터, 포켓 사이즈 컴퓨터 및 타블렛 컴퓨터, 또는 사용자가 전자 문서를 볼 수 있게 해 주는 다양한 종류의 장치 중의 일부 예와 같이, 전자 문서를 볼 수 있게 해 주는 다양한 매체를 갖고 있다. 이러한 유형의 장치들은 각각 상이한 폼 팩터(form factor)를 가지며, 문서들을 약간씩 다르게 디스플레이한다. 예를 들어, PDA는 데스크탑 컴퓨터에서 사용되는 모니터와는 매우 다른 가시 면적(viewable area)을 갖는다. 데스크탑 컴퓨터는 랩탑 컴퓨터와 다른 가시 면적을 가질 것이다. 이러한 문제를 해결하기 위하여, 전자 문서들은 매우 많은 수의 상이한 포맷들로 생성되고, 그러한 포맷들 각각은 상이한 뷰 속성을 갖는다.
사용자들은, 종종 특정 문서가 랩탑 컴퓨터와 같은 장치에서는 잘 디스플레이되지만, PDA와 같은 다른 장치에서는 잘 디스플레이되지 않는다는 문제점에 직면하게 된다. 소프트웨어 개발자는 다수의 다양한 유형의 장치 상에서 디스플레이될 수 있는 문서 포맷을 생성하려고 시도해왔다. 예를 들어, HTML과 같이 "리플로우 가능한(reflowable)" 문서 표현은, 윈도우의 사이즈가 달라질 때, 문서의 레이아웃에 심각하게 해로운 영향을 주지 않으면서 어느 정도의 사이즈 조정(resizing)을 허용했다. 그러나, 이러한 포맷을 사용하면, 문서 작성자는 문서가 어떻게 나타날지를 정밀하게 제어할 수 없게 된다. 또한, 리플로우 가능한 문서는 다양한 장치들에서 어느 정도 잘 보여지기 위한 것이기 때문에, 임의의 장치에서 최적화된 뷰 경험을 반드시 제공하지는 않는다.
반면에, 문서가 어떻게 디스플레이될지를 보다 더 잘 제어할 수 있게 하는 포맷은, 전형적으로 문서가 제한된 수의 장치에만 적용될 수 있게 한다. 예를 들어, 워드프로세스 문서는 데스크탑 컴퓨터 상에서는 시각적으로 만족스럽게 보여질 수 있다. 그러나, PDA 상에 디스플레이되는 경우, 워드프로세스 문서는 변형되거나 또는 부적절하게 보일 수 있다. 또한, 레터 사이즈와 같은 특정 사이즈의 용지를 위해 워드프로세서에 의해 작성된 문서는, A4 사이즈와 같은 다른 사이즈의 용지에는 제대로 인쇄되지 않을 수 있다.
일부 문서 포맷은, 문서의 컨텐트를 근본적으로 그래픽 이미지로 함으로써, 문서가 어떻게 보여질지에 대한 보다 더 엄격한 제어를 허용한다. 이러한 문서 포맷의 한가지 단점은, 문서가 보여지기를 원하는 각각의 장치에 대하여 이용가능하도록, 전체 문서의 수개의 상이한 버젼이 만들어져야 한다는 것이다. 또한, 고정 포맷의 문서의 컨텐트는 편집할 수 없다.
<발명의 요약>
본 발명은 문서 컨텐트의 복수의 표현을 단일 파일 내에 제공하는 시스템 및 방법에 관한 것이다. 간단하게 말하면, 본 발명은 복수의 데이터 스트림을 포함하는 복합 파일 포맷(compound file format)을 사용하며, 각각의 데이터 스트림은 문서 컨텐트의 렌디션(rendition)이다. 하나 또는 복수의 렌디션에 의해 사용되는 다른 자원들도 복합 파일 내에 저장된다. 문서 컨텐트의 각각의 렌디션을 설명하는 메타 정보가 복합 파일 내에 저장된다. 메타 정보는 주어진 장치 또는 어플리케이션에 대한 적합한 렌디션을 식별하는 것을 보조하기 위한 선택 기준(selection criteria)인 규칙을 포함할 수 있다.
도 1은 본 발명의 구현에서 사용될 수 있는 컴퓨팅 장치를 도시한 기능 블럭도.
도 2는 본 발명에 따라 구현된 복합 파일을 갖는 시스템의 컴포넌트들을 개괄적으로 나타낸 기능 블럭도.
도 3은 도 2에 도시된 복합 파일을 표현하는 트리 계층 구조의 도면.
도 4는 본 발명에 따라 구성된 복합 파일 내에 포함되어 복합 파일 내의 복수의 렌디션 각각을 설명하는 정보의 테이블 표현.
도 5는 본 발명의 한 구현에 따른, 수개의 스트림 및 하나의 저장소를 갖는 복합 파일에 대한 하나의 특정한 예의 도면.
도 6은 본 발명의 한 구현에 따른, 수개의 스트림을 갖는 복합 파일의 다른 예의 도면.
도 7은 본 발명에 따른 요청 어플리케이션에 이용가능한 복합 파일 내의 적합한 렌디션을 만들기 위한 프로세스를 개괄적으로 나타낸 논리 흐름도.
도 8은 본 발명에 따라 복수 렌디션 복합 파일을 생성하기 위한 프로세스를 개괄적으로 나타낸 흐름도.
본 발명은 동일 문서 컨텐트의 복수 표현을 포함하는 단일 문서를 제공하는 메커니즘을 제공한다. 각각의 표현은 특정 장치 또는 어플리케이션을 위한 최상의 프리젠테이션을 제공하도록 최적화될 수 있다. 바람직하게, 본 발명의 메커니즘은 동일 컨텐트의 복수 렌디션이 단일 문서 내에 저장되는 것을 허용하는 복합 파일 포맷에 기초한다. 복수 렌디션 각각을 설명하는 메타 정보가, 해당 렌디션에서 사용될 수 있는 임의의 지원 파일과 함께, 단일 문서 내에 포함된다. 본 발명자들은 오브젝트 링크 및 임베드(Object Linking and Embedding, OLE) 복합 파일 포맷이 본 발명의 구현에 특히 적합한 것으로 판단했다.
우선, 본 발명의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경의 일례를 참조하여, 본 발명이 설명될 것이다. 다음으로, 본 발명의 하나의 특수한 구현의 상세한 예가 설명될 것이다. 특수한 구현의 일부 세부사항과 관련하여 대안적인 구현이 포함될 수 있다. 마지막으로, 본 발명에 따라 구성된 복합 파일의 구현의 예들이 설명된다. 그러나, 본 발명의 실시예들은 여기에 개시된 것만으로 한정되는 것이 아님을 알 것이다.
본 발명의 예시적인 컴퓨팅 환경
도 1은 본 발명의 예시적인 구현에서 사용될 수 있는 컴퓨팅 장치를 나타내고 있다. 도 1을 참조하면, 본 발명을 구현하기 위한 하나의 예시적인 시스템은, 컴퓨팅 장치(100)와 같은 컴퓨팅 장치를 포함한다. 가장 기본적인 구성에서, 컴퓨팅 장치(100)는 전형적으로 적어도 하나의 프로세싱 유닛(102) 및 시스템 메모리(104)를 포함한다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라, 시스템 메모리(104)는 휘발성(예를 들어 RAM), 비휘발성(예를 들어, ROM, 플래시 메모리 등) 또는 이들의 소정 조합일 수 있다. 시스템 메모리(104)는 전형적으로 오퍼레이팅 시스템(105) 및 하나 이상의 프로그램 모듈(106)을 포함하며, 프로그램 데이터(107)를 포함할 수 있다. 컴퓨팅 장치(100)의 이와 같은 기본 구성은 도 1에서 점선(108)으로 표시된 영역 내의 컴포넌트들로 나타나 있다.
컴퓨팅 장치(100)는 부가적인 특징 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 장치(100)는 자기 디스크, 광 디스크 또는 테입 등과 같은 추가의 데이터 저장 장치(분리형 및/또는 비분리형)를 포함할 수 있다. 이러한 추가의 저장소는 도 1에서 분리형 저장소(109) 및 비분리형 저장소(110)에 의해 나타나 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함할 수 있다. 시스템 메모리(104), 분리형 저장소(109) 및 비분리형 저장소(110)는 모두 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD 또는 기타 광 저장소, 자기 카세트, 자기 테입, 자기 디스크 저장소 또는 기타 자기 저장소, 또는 원하는 정보를 저장하는 데에 사용될 수 있고 컴퓨팅 장치(100)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다. 이러한 임의의 컴퓨터 저장 매체는 장치(100)의 일부일 수 있다. 컴퓨팅 장치(100)는 키보드(122), 마우스(123), 펜, 음성 입력 장치, 터치 입력 장치, 스캐너 등과 같은 입력 장치(들)(112)도 가질 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 장치(들)(114)도 포함될 수 있다. 이러한 장치들은 본 기술 분야에 공지되어 있는 것이므로, 본 명세서에서는 상세하게 설명하지 않기로 한다.
컴퓨팅 장치(100)는, 네트워크를 통하는 것 등과 같이, 장치가 다른 컴퓨팅 장치(118)와 통신하는 것을 허용하는 통신 접속을 포함할 수 있다. 통신 접속(116)은 통신 매체의 일례이다. 전형적으로, 통신 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 반송파나 기타 전송 메커니즘과 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있으며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는, 그 특징 중 하나 이상이 정보를 신호 내에 인코딩하는 방식으로 설정 또는 변경된 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함하지만, 이들로 제한되는 것은 아니다. 본 명세서에서 사용되는 컴퓨터 판독가능 매체라는 용어는 저장 매체 및 통신 매체 양자 모두를 포함한다.
컴포넌트들에 관한 개괄적인 논의
도 2는 본 발명을 구현하는 환경의 컴포넌트들을 개괄적으로 도시한 기능 블 럭도이다. 수개의 어플리케이션(220, 221, 222), "렌디션 관리자(rendition manager)"(210) 및 복합 파일(201)이 도시되어 있다. 어플리케이션(220, 221, 222) 각각은 자신에게 특정한 포맷으로 문서를 조작 또는 디스플레이하도록 구성된다. 예를 들어, 어플리케이션 A(220)는 워드프로세서 등일 수 있고, 어플리케이션 B(221)는 HTML 메시지를 디스플레이할 수 있는 이메일 어플리케이션일 수 있으며, 어플리케이션 C(222)는 이미지 뷰어 등과 같은 고정 포맷의 문서 뷰어일 수 있다.
복합 파일(201)은 OLE 복합 파일인 것이 바람직하다. OLE 문서 모델은 본 기술 분야에 공지되어 있는 것이며, 다수의 상이한 데이터 유형을 단일 문서 내에 포함시키기 위한 메커니즘으로서 광범위하게 인식되고 있다. 그러나, OLE 복합 파일은 통상적으로 하나의 OLE 복합 파일 내에 포함되는 임베드된 파일 또는 기타 지원 컴텐트를 갖는 단일 문서의 실체와 함께 사용된다. 복합 파일 내의 각각의 요소가 생성된 어플리케이션에 의해 조작될 수 있도록 저장되는 것은 중요하다. 이하에서는, 복합 파일(201)이 도 3 및 4와 관련하여 더 상세하게 설명될 것이다.
간단하게 말하면, 복합 파일(201)은 특정 문서 컨텐트의 복수 표현("렌디션")을 포함하는 단일 파일이다. 표현은 시각적인 것일 수도 있고, 다른 것일 수도 있다. 각각의 렌디션은 장치 또는 매체의 특정 클래스를 "겨냥한" (즉, 그에 대한 프리젠테이션이 최적화된) 것이다. 예를 들어, 렌디션 A(202)는 워드프로세스 문서일 수 있고, 렌디션 B(203)는 워드프로세스 문서의 리플로우 가능한 마크업 언어 버젼일 수 있으며, 렌디션 C(204)는 워드프로세스 문서의 고정 포맷 버젼일 수 있다. 복수 렌디션 이외에, 복수 렌디션(202, 203, 204) 중 하나 이상에 의해 사용 될 수 있는 다른 파일 또는 자원을 포함하기 위한 저장소(205)가 복합 파일(201) 내에 포함된다. 메타데이터(207)는, 저장소(205) 내의 어떤 지원 파일이 특정 렌디션과 관련하여 사용되는지를 포함하여, 복수 렌디션(202, 203, 204) 각각을 설명하는 정보를 포함한다.
각각의 렌디션은 "컨텐트"(예를 들어 텍스트 및 마크업)를 포함하며, "자원"(예를 들어 이미지, 폰트 등)의 컬렉션을 포함할 수 있다. 필수적인 것은 아니지만, 상이한 장치들 상에 컨텐트를 레이아웃하는 데에 필요한 마크업이 렌디션마다 달라지기 때문에, 복수 렌디션들은 상이한 컨텐트를 가질 수 있음을 예상할 수 있다. 그러나, 렌디션들이 동일한 자원을 참조하는 경우가 많을 것이다. 본 발명의 한 양태는 각각의 공유된 자원이 복합 파일(201) 내에서 단 한번만 나타나는 것이다. 일부 멀티파트(multipart) 문서 포맷과는 달리, 복합 파일(201)은 특정 자원의 하나의 인스턴스가 저장소(205) 내에 포함되어 임의의 개수의 복수 렌디션(202, 203, 204)과 관련하여 사용되는 것을 허용한다.
또한, 단일 파일 내에서, 편집 가능한 렌디션(예를 들어, 워드프로세스 문서)을 고정 포맷 렌디션(예를 들어, XAML)과 함께 결합시키는 기능은, 본 발명이 다른 문서 포맷에 비하여 갖는 이점이다. 이러한 상이한 파일 유형들이 복수 렌디션 문서 내에 공존할 수 있으며, 소비시의 소프트웨어 가용성 또는 사용자의 의도(공동 작업/편집 문서 대 인쇄 등)와 같은 다수의 요인에 기초하여, 적합한 렌디션이 사용될 것이다.
렌디션 관리자(210)는 문서 파일이 해당 어플리케이션에 이용가능해지게 하 는 것을 담당하는 오퍼레이팅 시스템 서비스 또는 기능일 수 있다. 복합 파일(201)은 표준(예를 들어, 컴포넌트 오브젝트 모델 "COM") 인터페이스를 노출시켜, 각각의 렌디션이 전체로서 또는 개별적인 스트림으로서 조작될 수 있게 한다. 어플리케이션(220, 221, 222) 중 임의의 하나 또는 그 이상은 렌디션 관리자(210)를 통해 복합 파일(201)에 대한 액세스를 요청함으로써, 복합 파일(201)을 열어서 편집할 수 있다. 렌디션 관리자(210)는 복합 파일(201)을 열고, 요청 어플리케이션의 유형 또는 다른 기준에 기초하여, 특정 렌디션을 위한 인터페이스를 요청 어플리케이션에 리턴시킨다.
도 3은 트리 계층 구조로서 표현된 복합 파일(201)의 구조의 도면이다. 복합 파일은 통상적으로 "파일 내의 파일 시스템"으로 간주된다. 복합 파일(201) 내에는, 파일 시스템에서의 디렉토리와 유사한 "저장소(storage)"의 계층 구조, 및 파일 시스템에서의 파일과 유사한 "스트림"이 존재한다.
본 발명에 따르면, 각각의 렌디션의 컨텐트는 별개의 스트림 또는 스트림의 컬렉션 내에 위치된다. 따라서, 통상의 문서 포맷으로 전체 문서 파일을 표현하는 데이터는, 복합 파일(201)의 특정 스트림 내에 저장된다. 하나 이상의 렌디션에 의해 참조되는 각각의 자원도 개별 스트림 내에 위치된다. 그러나, 수개의 자원이 공통 저장소에 수집될 수도 있다.
본 예의 계층 구조의 루트(301) 하에는, 수개의 스트림{즉, 스트림(302), 스트림(304) 및 스트림(306)} 및 하나의 저장소(308)가 존재한다. 본 예에서, 스트림(302)은 제1 렌디션(렌디션 A)을, 스트림(304)은 제2 렌디션(렌디션 B)을, 스트 림(306)은 제3 렌디션(렌디션 C)을 포함한다. 본 예에 따르면, 이러한 렌디션들 각각은 한 문서의 상이한 시각적 표현을 나타낸다.
본 예에서, "\x0006RenditionList"(310)로 명명된 특정 스트림은, 복합 파일(201) 내의 각각의 렌디션에 관한 메타 정보를 포함한다. 렌디션 리스트(310)는 복합 파일(201) 내의 각각의 렌디션을 설명하는 테이블(312)을 포함한다. 테이블(312)은 도 4를 참조하여 이하에 상세하게 설명된다. 간단하게 말하면, 테이블(312)은 복합 파일(201) 내의 각각의 렌디션의 각각의 컴포넌트를 식별한다.
도 4는 렌디션 리스트(310) 내에 저장될 수 있는 정보의 테이블 표현이다. 렌디션 리스트(310)는 각각의 행이 하나의 렌디션과 연관되어 있는 테이블(401)로서 표현될 수 있다. 일 실시예에서, 테이블 내의 열은 렌디션 ID 열(410), 파일 이름 열(412), 규칙 열(414) 및 설명 열(416)을 포함한다. 이하에는, 이러한 열들 각각의 목적에 대한 간단한 설명이 제공된다.
열 이름 열 설명
렌디션 ID 텍스트 식별자. 한 문서 내의 렌디션들 간에서 고유하지만, 상이한 문서들 간에서 고유할 필요는 없음. 렌디션을 생성, 삭제 및 수정하는 API에 의해, 어떤 렌디션이 동작할지를 지정하기 위해 사용됨. 어플리케이션은 특정 렌디션 ID에 링크하여, 해당 렌디션의 수개의 컴포넌트를 엔터티로서 조작할 수 있음.
파일 이름 렌디션 내에서 사용되는 파일, 스트림 및/또는 저장소의 리스트(저장소 하에 있는 모든 것을 의미함). 동일한 스트림 또는 파일 이름이 하나 이상의 행(렌디션)의 "파일 이름" 열에 나타나서, 자원이 렌디션들 간에서 공유될 수 있게 함. 이름은 본질적으로 복합 파일 내에서 대상 자원으로의 "경로"로서 저장됨.1
규칙 문서가 보여지고 있는 장치의 특성이나 다른 기준에 기초하여 디스플레이하기 위한 렌디션을 자동적으로 선택하는 API에 의해 사용됨. 간단한 구현예에서, 규칙 열은 파일 이름 열에서 식별된 최초의 파일에 대한 MIME-타입을 포함할 수 있음.
설명 예를 들어, "8-1/2×11 용지를 위한 고정 포맷 렌디션"과 같이, 사람이 읽을 수 있는 렌디션에 대한 설명. 최종 사용자에게 디스플레이되어, 복합 파일이 어떤 렌디션을 포함하는지를 사용자에게 설명하거나, 또는 디스플레이할 렌디션을 선택하게 하기 위한 것임. 설명은 사용자의 지역 언어와 같은 어떠한 언어로도 저장될 수 있음.
렌디션 테이블의 포맷은 각각의 렌디션 내의 하나의 스트림이 해당 렌디션을 위한 "시작 스트림"으로서 지정되는 것을 허용한다. 그 렌디션이 요청되는 경우, 시작 스트림이 프리젠테이션될 최초의 스트림이다.
규칙 정보가 특히 주목되어야 한다. 전술한 바와 같이, 규칙 열 내의 정보는 어떤 렌디션이 특정 어플리케이션에 리턴될지에 관한 결정을 가능하게 하기 위한 것이다. 따라서, 규칙 정보는, 파일 이름 열에서 식별된 제1 파일과 같은 렌디션의 특정 파일과 연관된 MIME 타입만큼 단순할 수 있다. 이 경우, 프로세스는 렌디션의 리스트를 조회하여, 특정 요청 어플리케이션과 호환가능한 MIME 타입을 탐색할 수 있다. 다른 식별 가능한 특성은 논리 해상도 및 기하학적 배열, 색 깊이, 인간의 언어 또는 판독자의 시각적 능력 분류와 같은 선택 기준으로서 동등하게 기능할 수 있다.
대안적으로, 규칙 열 내에 포함되는 선택 기준은 비교적 복잡할 수 있다. 예를 들어, 복합 파일 내에서 또는 선택 프로세스를 보조하는 다른 곳에서 코드를 지정하는 참조가 규칙 열 내에 포함될 수 있다. 또한, 특정 어플리케이션 또는 렌디션 관리자(210)가 적합한 렌디션을 식별하는 것을 보조하는 데에 충분할 정도로 각각의 렌디션을 설명하는 보다 더 복잡한 정보가 규칙 열 내에 포함될 수 있다. 본 기술 분야의 통상의 지식을 가진 자라면, 여기에 개시된 것과 그 이외의 것들을 분명하게 알 수 있을 것이다.
본 발명의 특정 예에 관한 논의
이하에서는, 본 발명이 문서 판독 유형의 어플리케이션(도 5)과 워드프로세 스 유형의 어플리케이션(도 6)에서 사용될 복합 파일을 생성하기 위하여 어떻게 사용되는지를 나타내고 있는 도 5 및 6을 참조하여 본 발명의 특정 구현예가 설명될 것이다.
도 5는 수개의 스트림 및 하나의 저장소(503)를 갖는 복합 파일(501)의 하나의 특정예에 대한 도면이다. 본 예에서, 복합 파일(501)은 동일 문서 실체의 6개의 상이한 렌디션을 포함한다. 특정 디스플레이 장치에 따라 사이즈 조정될 수 있는 방식으로 문서 실체를 표현하는 리플로우 렌디션(505)이 포함된다. 리플로우 렌디션(505)은 특정 폰트(506) 또는 이미지(507)를 참조할 수 있는 마크업 언어 등을 포함한다. 따라서, 이러한 폰트(506) 또는 이미지(507)는 저장소(503) 내에 포함된 하나 이상의 별개의 스트림에 저장된다.
또한, 특정 스크린 사이즈 상에서의 디스플레이를 위해 설계될 수 있는 스크린 사이즈 고정 렌디션(509)도 포함된다. 예를 들어, 스크린 사이즈 고정 렌디션(509)은 800 화소 ×600 화소의 해상도를 갖는 모니터 상에 적합하게 디스플레이하는 고정 사이즈를 가질 수 있다. 대안적으로, 스크린 사이즈 고정 렌디션(509)은 포켓사이즈와 같은 소형의 핸드헬드 장치 상에서의 디스플레이를 위한 사이즈를 가질 수 있다.
2개의 렌디션이 포함되며, 특정 컴퓨터 프린터에 대하여 사이즈 고정된다. 예를 들어, 레터 사이즈 렌디션(511)은 고정된 포맷이며 레터 사이즈의 용지에 적절하게 출력하는 문서 실체의 버젼을 포함한다. A4 사이즈 렌디션(513)은 고정 포맷이며 A4 사이즈 용지 상에 적절하게 인쇄하는 문서 실체의 버젼을 포함한다. 전 술한 바와 같이, 2개의 프린터 렌디션은 저장소(503) 내의 자원을 참조할 수 있다.
또한, 복합 파일(501)은 문서 실체의 이미지 렌디션(515) 및 문서 실체의 오디오 표현(517)을 포함할 수 있다. 예를 들어, 문서 실체는 책의 내용일 수 있으며, 이 경우 이미지 렌디션(515)은 책의 페이지의 사진일 수 있고, 오디오 표현(517)은 책의 내용의 청취가능한 나레이션일 수 있다. 렌디션이 동일 컨텐츠의 시각적 표현으로 반드시 제한될 필요는 없음을 알 것이다.
도 6은 수개의 스트림을 갖는 복합 파일(601)의 다른 예에 대한 도면이다. 이러한 예에서, 복합 파일(601)은 워드프로세스 스트림(603), 리플로우 스트림(605) 및 고정 포맷 스트림(607)을 포함한다. 이 경우, 워드프로세스 스트림(603)은 공통 자원 스트림(609)으로 복합 파일(601) 내에 임베드된 사진 및 폰트를 가질 수 있다. 이러한 특정 예에 대한 렌디션 리스트(도시되지 않음)는 특정 렌디션 2가 자원 스트림 6 또는 9의 부분을 참조할 수 있게 하는 렌디션 정보를 포함한다. 이것은 렌디션 리스트의 파일 이름 부분에서 파일을 식별할 때에 서브스트림 참조를 이용함으로써 달성될 수 있다.
도 7은 문서의 복수 렌디션이 복합 파일을 통해 이용가능하게 하기 위한 프로세스의 단계들을 개괄적으로 나타낸 기능도이다. 프로세스(700)는 유사한 문서 컨텐트의 복수 표현을 포함하는 복합 파일이 존재하는 장소인 시작 블럭(701)에서 시작한다.
블럭(703)에서, 복합 파일에 대한 액세스를 위한 요청이 수신된다. 요청은 특정 요청 어플리케이션을 식별할 수 있으며, 어플리케이션에 의해 지원되는 특정 포맷 등과 같이 적합한 렌디션을 결정하는 데에 유용한 정보를 포함할 수 있다.
블럭(705)에서, 해당 어플리케이션의 특정 타입 및 기타 기준이 요청으로부터 식별된다. 적합한 렌디션을 식별하는 데에 필요한 임의의 추가의 정보가 어플리케이션 또는 소정의 다른 소스로부터 쿼리될 수 있다. 예를 들어, 복합 파일이 상주하는 장치의 특정 타입(예를 들어, 포켓 사이즈 컴퓨터 또는 데스크탑 컴퓨터)이 쿼리될 수 있다.
블럭(707)에서, 해당 어플리케이션에 적합한 렌디션을 결정하기 위하여, 복합 파일과 연관된 렌디션 리스트가 쿼리된다. 상기에서 상세하게 설명한 바와 같이, 해당 어플리케이션과 일치하는 MIME 타입을 갖는 특정 렌디션을 식별하기 위하여, 렌디션 리스트가 쿼리될 수 있다. 대안적으로, 렌디션 리스트는 해당 어플리케이션과 연관된 기준에 적용 또는 비교될 수 있는 규칙 또는 조건의 집합을 포함할 수 있다.
블럭(709)에서, 적합한 렌디션에 대한 참조(예를 들어, 인터페이스의 집합)가 요청 어플리케이션에 리턴된다. 이 때, 요청 어플리케이션은 렌디션을 엔터티로서 조작할 수 있다. 요청 어플리케이션은 그 어플리케이션 또는 특정 장치를 위한 문서 컨텐트의 표현으로 프리젠테이션될 수 있다.
도 8은 본 발명에 따라 복수의 렌디션 파일을 생성하는 프로세스를 개괄적으로 나타낸 논리 흐름도이다. 프로세스(800)는 시작 블럭(801)에서 시작하며, 여기에서 어플리케이션(들)은 문서 컨텐트의 복수의 렌디션을 생성하고, 복수의 렌디션을 복합 파일에 기입할 준비를 한다.
블럭(803)에서, 복합 파일에 제1 렌디션을 추가하기 위한 명령이 발행된다. 제1 렌디션은 워드프로세스 문서와 같이, 편집 가능한 형태의 문서 컨텐트의 시각적 표현일 수 있다. 마찬가지로, 제1 렌디션은 문서 컨텐트의 다수의 다른 표현 중 임의의 하나일 수 있다.
블럭(805)에서, 제1 렌디션에 관한 메타데이터가 복합 파일에 추가된다. 전술한 바와 같이, 메타데이터는 복합 파일의 렌디션 리스트 스트림 하에 상주할 수 있다. 메타데이터는 제1 렌디션의 일부일 수 있는 임의의 파일을 포함하여, 제1 렌디션을 설명한다. 또한, 메타데이터는 요청 어플리케이션에 기초한 적합한 렌디션의 선택을 가능하게 하기 위한 규칙 또는 선택 기준도 포함할 수 있다.
블럭(807)에서, 제2 렌디션이 복합 파일에 추가된다. 제2 렌디션은 문서 컨텐트의 시각적 표현일 수도 있고, 또는 청각적 표현이나 이미지 표현과 같은 소정의 다른 형식일 수도 있다.
블럭(809)에서, 제2 렌디션에 관한 메타데이터가 복합 파일에 추가된다. 마찬가지로, 메타데이터는 제2 렌디션의 일부일 수 있는 임의의 파일을 포함하여, 제2 렌디션을 설명한다. 또한, 메타데이터는 요청 어플리케이션에 기초한 적합한 렌디션의 선택을 가능하게 하기 위한 규칙 또는 선택 기준도 포함할 수 있다.
블럭(811)에서, 문서의 작성자에 관한 정보, 또는 문서나 복합 파일의 기타 렌디션 중립 정보와 같이, 공통 설명 메타데이터가 복합 파일에 추가된다. 이 때, 복합 파일은 2개의 완전한 렌디션을 포함하며, 이것은 공유 자원을 포함할 수도 있고 포함하지 않을 수도 있다. 이러한 복합 파일은 도 7과 관련하여 상기에서 설명 한 것과 유사한 프로세스를 사용하여 조작될 수 있다.
상기의 상세한 설명, 예 및 데이터는 본 발명의 개념 및 구현예에 대한 완전한 설명을 제공하고 있다. 본 발명의 취지 및 범위를 벗어나지 않고서 많은 실시예들이 만들어질 수 있으므로, 본 발명은 이하의 특허청구범위에 존재한다.

Claims (21)

  1. 컴퓨터 실행가능 컴포넌트를 갖는 컴퓨터 판독가능 매체에 있어서,
    문서의 제1 렌디션(rendition)을 포함하는 제1 스트림, 상기 문서의 제2 렌디션을 포함하는 제2 스트림, 및 상기 제1 렌디션 및 상기 제2 렌디션을 설명하는 정보를 포함하는 제3 스트림을 포함하는 복합 파일(compound file)을 포함하며,
    상기 정보는 각각의 렌디션과 연관된 시작 스트림의 각각의 렌디션에 대한 식별을 포함하는 컴퓨터 판독가능 매체.
  2. 제1항에 있어서,
    상기 복합 파일은 상기 제1 렌디션 및 상기 제2 렌디션에 의해 공유되는 자원을 포함하는 제4 스트림을 더 포함하는 컴퓨터 판독가능 매체.
  3. 제1항에 있어서,
    상기 제1 렌디션은 상기 문서의 제1 시각적 표현(representation)을 포함하는 컴퓨터 판독가능 매체.
  4. 제3항에 있어서,
    상기 제2 렌디션은 상기 문서의 제2 시각적 표현을 포함하는 컴퓨터 판독 가능 매체.
  5. 제1항에 있어서,
    상기 제1 렌디션은 상기 문서의 청각적 표현을 포함하는 컴퓨터 판독가능 매체.
  6. 제1항에 있어서,
    상기 정보는 복수의 렌디션 엔트리를 포함하고,
    각각의 렌디션 엔트리는 적어도 렌디션 식별자 및 파일 식별자를 가지며,
    상기 렌디션 식별자는 상기 렌디션 엔트리가 연관되어 있는 특정 렌디션을 고유하게 식별하도록 동작하고,
    상기 파일 식별자는 상기 특정 렌디션이 연관되어 있는 각각의 파일을 식별하도록 동작하는 컴퓨터 판독가능 매체.
  7. 제6항에 있어서,
    상기 각각의 렌디션 엔트리는 특정 장치 또는 어플리케이션에 어떤 렌디션이 적합한지를 결정하는 데에 유용한 기준을 포함하는 규칙 엔트리를 적어도 더 포함하는 컴퓨터 판독가능 매체.
  8. 제7항에 있어서,
    상기 각각의 렌디션 엔트리는 상기 특정 렌디션에 연관된 인간 판독가능 정 보를 포함하는 설명 엔트리를 적어도 더 포함하는 컴퓨터 판독가능 매체.
  9. 요청 어플리케이션으로부터 문서의 컨텐트에 관련된 명령을 수신하는 단계;
    상기 문서 컨텐트의 복수 렌디션에 관한 메타 정보를 분석하여, 적합한 렌디션을 식별하는 단계; 및
    상기 적합한 렌디션을 상기 요청 어플리케이션에 이용가능하게 하는 단계
    를 포함하는 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    상기 문서 컨텐트의 복수 렌디션은 복합 파일 내에 저장되는 컴퓨터 구현 방법.
  11. 제10항에 있어서,
    상기 메타 정보를 분석하는 단계는, 상기 복수 렌디션에 관한 데이터를 쿼리하여, 상기 적합한 렌디션을 식별하는 데에 사용되는 선택 기준을 결정하는 단계를 포함하는 컴퓨터 구현 방법.
  12. 제11항에 있어서,
    상기 선택 기준은 상기 복수 렌디션 각각에 대한 특성을 포함하는 컴퓨터 구현 방법.
  13. 제12항에 있어서,
    상기 특성은 MIME 타입, 논리 해상도 및 기하학적 배열, 색 깊이, 인간 언어 및 판독자 시각 능력 분류(reader visual ability classfication)를 포함하는 그룹으로부터 선택된 적어도 하나를 포함하는 컴퓨터 구현 방법.
  14. 제11항에 있어서,
    상기 선택 기준은 특정 어플리케이션 또는 장치와 관련하여 특정 렌디션을 사용하기 위한 규칙을 포함하는 컴퓨터 구현 방법.
  15. 제9항에 있어서,
    상기 복수 렌디션은 상기 문서 컨텐트의 적어도 하나의 시각적 표현을 포함하는 컴퓨터 구현 방법.
  16. 제15항에 있어서,
    상기 복수 렌디션은 상기 문서 컨텐트의 적어도 하나의 다른 표현을 더 포함하는 컴퓨터 구현 방법.
  17. 제16항에 있어서,
    상기 문서 컨텐트의 다른 표현은 상기 문서 컨텐트의 청각적 표현을 포함하 는 컴퓨터 구현 방법.
  18. 제1 표현으로 프리젠테이션되는 문서 컨텐트를 포함하는 제1 스트림;
    제2 표현으로 프리젠테이션되는 상기 문서 컨텐트를 포함하는 제2 스트림;
    상기 문서 컨텐트에 의해 참조되는 자원들을 포함하는 저장소; 및
    상기 제1 스트림 및 상기 자원을 포함하는 제1 렌디션, 및 상기 제2 스트림 및 상기 자원을 포함하는 제2 렌디션을 설명하는 테이블
    을 포함하는 데이터 구조로 인코딩된 컴퓨터 판독가능 매체.
  19. 제18항에 있어서,
    상기 테이블은 각각의 렌디션에 대한 식별자 및 각각의 렌디션에 연관된 파일의 리스트를 포함하는 각각의 렌디션에 대한 정보를 포함하는 컴퓨터 판독가능 매체.
  20. 제19항에 있어서,
    상기 테이블은 특정 렌디션을 특정 어플리케이션 또는 장치에 연관시키는 선택 기준을 더 포함하는 컴퓨터 판독가능 매체.
  21. 제18항에 있어서,
    상기 데이터 구조는 상기 제1 렌디션을 엔터티로서 조작하기 위한 인터페이 스를 더 포함하는 컴퓨터 판독가능 매체.
KR1020047010614A 2003-05-17 2003-05-17 문서 컨텐트의 복수 렌디션을 제공하는 시스템 및 방법 KR100955750B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2003/015705 WO2004107214A1 (en) 2003-05-17 2003-05-17 System and method for providing multiple renditions of document content

Publications (2)

Publication Number Publication Date
KR20060061735A true KR20060061735A (ko) 2006-06-08
KR100955750B1 KR100955750B1 (ko) 2010-04-30

Family

ID=33449010

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047010614A KR100955750B1 (ko) 2003-05-17 2003-05-17 문서 컨텐트의 복수 렌디션을 제공하는 시스템 및 방법

Country Status (9)

Country Link
EP (1) EP1625515B1 (ko)
JP (1) JP4542033B2 (ko)
KR (1) KR100955750B1 (ko)
CN (1) CN1669026B (ko)
AU (1) AU2003233572B8 (ko)
BR (1) BR0307046A (ko)
CA (1) CA2472552C (ko)
MX (1) MXPA04007408A (ko)
WO (1) WO2004107214A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7614000B2 (en) * 2004-12-20 2009-11-03 Microsoft Corporation File formats, methods, and computer program products for representing presentations
JP4738943B2 (ja) 2005-09-01 2011-08-03 キヤノン株式会社 画像処理装置およびその方法
CN100395711C (zh) * 2006-06-01 2008-06-18 无锡永中科技有限公司 一种对象链接与嵌入对象的转换方法
US8015213B2 (en) * 2008-06-26 2011-09-06 Microsoft Corporation Content having native and export portions
US20130007602A1 (en) * 2011-06-29 2013-01-03 Apple Inc. Fixed layout electronic publications
CN103294650B (zh) * 2012-02-29 2016-02-03 北大方正集团有限公司 一种显示电子文档的方法和装置
CN103678259B (zh) * 2013-12-18 2016-08-17 小米科技有限责任公司 一种页面的适配方法、装置和终端设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK15888D0 (da) * 1988-01-14 1988-01-14 Carlsberg Biotechnology Ltd Enzymatisk fremgangsmaade til fremstilling af immunmodulerende pentapeptider samt mellemprodukter til brug ved fremgangsmaaden
JPH0218650A (ja) * 1988-06-07 1990-01-22 Internatl Business Mach Corp <Ibm> 複数のデータ・ストリームの管理方法
US6230173B1 (en) * 1995-07-17 2001-05-08 Microsoft Corporation Method for creating structured documents in a publishing system
US5956737A (en) * 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
JP3772606B2 (ja) * 1999-10-19 2006-05-10 株式会社日立製作所 電子文書管理方法及びシステム並びに記録媒体
JP3982969B2 (ja) * 2000-01-28 2007-09-26 株式会社リコー 文書管理装置
JP2002183125A (ja) * 2000-12-14 2002-06-28 Hitachi Ltd 文書情報管理方法および装置
JP2002269150A (ja) * 2001-03-07 2002-09-20 Ricoh Co Ltd 文書管理システム
US20020143623A1 (en) * 2001-03-29 2002-10-03 Dayley J. Don Method for personalized drive-thru service
CN1341888A (zh) * 2001-10-09 2002-03-27 中国人民解放军国防科学技术大学 基于控制文件的数据显控方法

Also Published As

Publication number Publication date
EP1625515A4 (en) 2007-09-05
AU2003233572B2 (en) 2009-12-17
CN1669026B (zh) 2011-07-06
CA2472552C (en) 2012-06-26
JP4542033B2 (ja) 2010-09-08
EP1625515A1 (en) 2006-02-15
EP1625515B1 (en) 2018-09-05
WO2004107214A1 (en) 2004-12-09
AU2003233572B8 (en) 2010-01-28
JP2006526190A (ja) 2006-11-16
MXPA04007408A (es) 2005-08-15
KR100955750B1 (ko) 2010-04-30
CA2472552A1 (en) 2004-11-17
CN1669026A (zh) 2005-09-14
AU2003233572A1 (en) 2005-01-21
BR0307046A (pt) 2005-03-08

Similar Documents

Publication Publication Date Title
US7213035B2 (en) System and method for providing multiple renditions of document content
US10706091B2 (en) User driven computerized selection, categorization, and layout of live content components
RU2322687C2 (ru) Система и способ для обеспечения множественных воспроизведений содержания документов
US7325196B1 (en) Method and system for manipulating page control content
JP6095596B2 (ja) 補足情報コンテンツを伴う文書目視欄の描出
RU2405204C2 (ru) Создание диаграмм с использованием фигур
US7506246B2 (en) Printing a custom online book and creating groups of annotations made by various users using annotation identifiers before the printing
US7380202B1 (en) Method and system for customizing and personalizing page control content
JP4921785B2 (ja) コンピュータ生成ドキュメントにおけるデータの管理および使用
US7707498B2 (en) Specific type content manager in an electronic document
US8566711B1 (en) Document views
US9449126B1 (en) System and method for displaying content according to a target format for presentation on a target presentation device
KR100955750B1 (ko) 문서 컨텐트의 복수 렌디션을 제공하는 시스템 및 방법
US7325197B1 (en) Method and system for providing page control content
Phelps et al. Multivalent documents: Inducing structure and behaviors in online digital documents
US7490133B1 (en) Context-sensitive content level semantic information propagation system and method
US7308641B2 (en) Notebook layout view
US8743408B2 (en) Selecting a binder file displayed on a GUI for storage of documents
ZA200405152B (en) System and method for providing multiple renditions of document content.
Guide Microsoft Office 2003 Editions

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130329

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee