KR100513736B1 - 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템 - Google Patents

그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템 Download PDF

Info

Publication number
KR100513736B1
KR100513736B1 KR10-2003-0084216A KR20030084216A KR100513736B1 KR 100513736 B1 KR100513736 B1 KR 100513736B1 KR 20030084216 A KR20030084216 A KR 20030084216A KR 100513736 B1 KR100513736 B1 KR 100513736B1
Authority
KR
South Korea
Prior art keywords
file
compression
xmt
information
compressed
Prior art date
Application number
KR10-2003-0084216A
Other languages
English (en)
Other versions
KR20040049262A (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 삼성전자주식회사
Priority to EP20030257606 priority Critical patent/EP1435738A1/en
Priority to JP2003407786A priority patent/JP3930851B2/ja
Priority to US10/727,659 priority patent/US7221801B2/en
Priority to CN200310124820.3A priority patent/CN1270237C/zh
Publication of KR20040049262A publication Critical patent/KR20040049262A/ko
Application granted granted Critical
Publication of KR100513736B1 publication Critical patent/KR100513736B1/ko
Priority to JP2006251767A priority patent/JP4384155B2/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 방법 및 시스템에 관한 것으로서, 그 방법은 적어도 압축할 객체 데이터에 관한 정보를 포함하는 압축노드와, 압축에 필요한 매개인자를 정의하고 있는 XML 스키마를 구비하는 단계; XML 입력파일을 상기 XML 스키마를 참조하여 소정의 데이터 압축부호화기에 입력되는 파일로의 변환을 지원하는 스타일 쉬트(style sheet)를 구비하는 단계; 및 XML 입력파일을 상기 XMT 스키마 및 상기 스타일 쉬트를 참조하여 파싱하여 소정의 데이터 압축부호화기에 입력되는 파일을 생성하는 단계를 포함함을 특징으로 한다.본 발명에 의하면, 저작자가 메타 표현 방법을 사용해서 3D 컨텐츠 저작단계에서 3D 데이터의 표현 및 압축할 수 있다. 저작자가 압축의 선택과 조절 가능하다. 그 방법은 메타 표현의 선택 여부에 따라 압축의 가능 여부를 결정할 수 있다. 또한 메타 표현 방법을 조절하므로 압축 방식을 조절할 수 있다

Description

그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 방법 및 시스템{Method and system for generation input file using meta language regarding graphic data compression}
본 발명은 그래픽 데이터 저작에 관한 것으로서, 특히 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 방법 및 시스템에 관한 것이다.
종래의 확장가능한 MPEG-4 텍스트 포맷(Extensible MPEG-4 Textual Format :이하 XMT라 한다.) 기술은 MPEG-4 프리미티브(2D, 3D 그래픽, 오디오, 비디오 등)에 대해 저작자 입장에서 쉽고 편리하게 다룰 수 있는 표현 방법에 대한 것이었다. 또한 저작자가 만든 데이터가 여러 애플리케이션에서 재사용될 수 있고, 데이터의 호환성과 이식성이 있도록 컨텐츠 저작에 대한 프레임워크(framework)를 만들었다. 이것은 기존 XMT 기술이 MPEG-4 프리미티브(primitive)에 대한 XML 구문(syntax)을 정의하였기에 가능했다.그러나 종래의 XMT는 3D 데이터의 압축표현에 대해서는 다루고 있지 않다. 그래서 저작자가 만든 3D 컨텐츠에 대한 애니메이션 데이터 및 표현 데이터에 대한 압축이 필요할 경우 압축할 수가 없었다.
본 발명이 이루고자 하는 기술적 과제는, 저작단계에서 그래픽 데이터의 압축을 쉽게 다룰 수 있도록 하기 위해, 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 방법 및 시스템을 제공하는 것이다.또한 저작단계에서 그래픽 데이터의 압축을 쉽게 다룰 수 있도록 하기 위해, MPEG-4 AFX에서 제안한 압축 표현을 XMT로 정의하여 그래픽 데이터를 압축할 수 있게 하는, 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 방법 및 시스템을 제공하는 것이다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 방법은, 적어도 압축할 객체 데이터에 관한 정보를 포함하는 압축노드와, 압축에 필요한 매개인자를 정의하고 있는 XML 스키마를 구비하는 단계; XML 입력파일을 상기 XML 스키마를 참조하여 소정의 데이터 압축부호화기에 입력되는 파일로의 변환을 지원하는 스타일 쉬트(style sheet)를 구비하는 단계; 및 XML 입력파일을 상기 XML 스키마 및 상기 스타일 쉬트를 참조하여 파싱하여 소정의 데이터 압축부호화기에 입력되는 파일을 생성하는 단계를 포함함을 특징으로 한다. 상기 XML 스키마는 적어도 상기 압축된 객체 데이터를 저장하고 있는 파일의 위치정보를 포함하고 있는 EncodingHints를 더 구비함이 바람직하다. 상기 압축매개인자는 압축 대상이 되는 객체의 정점 좌표에 대한 키프레임 애니메이션 데이터에 관한 매개인자, 3차원 메쉬 정보에 관한 매개인자, 회전 이동 키프레임 애니메이션 데이터에 관한 매개인자 및 위치 이동 키프레임 애니메이션 데이터에 관한 매개인자 중 적어도 하나를 포함함이 바람직하다.
상기 기술적 과제를 이루기 위한 본 발명에 의한, MPEG-4 AFX에서 제안한 압축 표현을 XMT로 정의하여 그래픽 데이터를 압축할 수 있게 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 방법은, 압축할 객체 데이터에 관한 정보를 포함하고 있는 압축노드와, 압축에 필요한 매개인자, 및 적어도 압축된 객체 데이터 파일의 위치정보를 포함하는 BitWrapperEncodingHints를 정의하고 있는 XMT 스키마를 구비하는 스키마단계; XMT 입력파일을 상기 XMT 스키마를 참조하여 scene 파일로의 변환을 지원하는 XMT2BIFS style sheet와, XMT 입력파일을 상기 XMT 스키마를 참조하여 mux 파일로의 변환을 지원하는 XMT2MUX style sheet를 구비하는 스타일쉬트단계; 및 XMT 입력화일을 상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 파싱하여 scene 파일 및 mux 파일을 생성하는 파싱단계를 포함함을 특징으로 한다. 상기 압축노드는 압축할 객체 데이터를 포함하고 있는 노드필드; url 필드와 상호 배타적으로 사용되며, 상기 노드의 압축된 비트스트림을 인-밴드로서 전송하는 buffer필드; 및 상기 buffer 필드와 상호 배타적으로 사용되며, 상기 노드의 압축된 비트스트림을 아웃-밴드로서 전송하는 url 필드를 포함하여 이루어짐이 바람직하다. 상기 압축노드는 노드압축 스킴의 종류를 나타내는 타입필드를 더 구비함이 바람직하다. 상기 압축매개인자는 압축 대상이 되는 객체의 정점 좌표에 대한 키프레임 애니메이션 데이터에 관한 매개인자, 3차원 메쉬 정보에 관한 매개인자, 회전 이동 키프레임 애니메이션 데이터에 관한 매개인자 및 위치 이동 키프레임 애니메이션 데이터에 관한 매개인자 중 적어도 하나를 포함함이 바람직하다. 상기 BitWrapperEncodingHints는 압축노드의 URL ID 와 같은 객체기술 ID정보 및 mux 파일이 제공하는 압축된 비트스트림을 전송하는 파일이름과 비트스트림 포맷 종류에 관한 정보를 더 구비함이 바람직하다. 상기 파싱단계는 원본데이터와 압축 매개인자 및 버퍼정보를 구비하는 압축노드를 포함하는 XMT 입력파일을 받아들이는 단계; 및 상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 상기 XMT 입력파일을 파싱하여 scene 파일 및 mux 파일을 생성하는 단계를 포함하여 이루어짐이 바람직하고, 상기 scene 파일은 상기 원본데이터와, 압축 매개인자와, 상기 원본데이터를 압축한 비트스트림을 전송할 버퍼 정보를 구비하며, 상기 mux 파일은 상기 scene 파일을 BIFS 인코더를 통해 부호화된 파일이름과, 스트림 포맷 정보를 구비한다. 상기 파싱단계는 이미 압축된 객체데이터가 저장되어 있는 버퍼정보를 구비하는 압축노드를 포함하는 XMT 입력파일을 받아들이는 단계; 및 상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 상기 XMT 입력파일을 파싱하여 scene 파일 및 mux 파일을 생성하는 단계를 포함하여 이루어짐이 바람직하다. 상기 scene 파일은 객체데이터를 압축한 비트스트림을 전송할 버퍼 정보를 구비하며, 상기 mux 파일은 상기 scene 파일을 BIFS 인코더를 통해 부호화된 파일이름과, 스트림 포맷 정보를 구비한다. 상기 파싱단계는 원본데이터와 압축 매개인자 및 url정보를 구비하는 압축노드와, 압축노드의 url ID 와 같은 객체기술 ID(objectDescriptor ID) 정보 및 객체의 압축된 비트스트림의 위치정보를 구비하는 BitWrapperEncodingHints를 포함하는 XMT 입력파일을 받아들이는 단계; 및 상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 상기 XMT 입력파일을 파싱하여 scene 파일 및 mux 파일을 생성하는 단계를 포함하여 이루어짐이 바람직하고, 상기 scene 파일은 상기 원본데이터와, 압축 매개인자와, 상기 원본데이터를 압축한 비트스트림을 전송할 url 정보를 구비하며, 상기 mux 파일은 상기 BitWrapperEncodingHints에 명시된 객체의 압축된 비트스트림의 위치정보 및 스트림 포맷 정보를 구비한다.상기 XMT 입력파일은 상기 BitWrapperEncodingHints에 나타난 객체 ID와 동일한 객체 기술 ID 정보와 파싱 결과 생성될 mux 파일이름 정보를 포함하고 있는 ObjectDescriptorUpdate를 더 구비하며, 상기 scene 파일은 상기 BitWrapperEncodingHints에 나타난 객체 ID와 동일한 객체기술 ID 정보와 mux 파일 이름 정보를 더 구비함이 바람직하다.
상기 파싱단계는 이미 압축된 객체데이터가 링크된 URL 정보를 구비하는 압축노드와 URL ID와 같은 객체기술(objectDescriptor) ID 정보 및 객체의 압축된 비트스트림의 위치정보를 구비하는 BitWrapperEncodingHints 를 포함하는 XMT 입력파일을 받아들이는 단계; 및 상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 상기 XMT 입력파일을 파싱하여 scene 파일 및 mux 파일을 생성하는 단계를 포함하여 이루어짐이 바람직하고, 상기 scene 파일은 상기 압축노드에 명시된 객체기술 ID와 동일하며 상기 원본데이터를 압축한 비트스트림을 전송할 url 정보를 구비하며, 상기 mux 파일은 상기 BitWrapperEncodingHints에 명시된 객체의 압축된 비트스트림의 위치정보 및 스트림 포맷 정보를 구비한다. 상기 XMT 입력파일은 상기 BitWrapperEncodingHints에 나타난 객체 ID와 동일한 객체 기술 ID 정보와 파싱 결과 생성될 mux 파일이름 정보를 포함하고 있는 ObjectDescriptorUpdate를 더 구비하며, 상기 scene 파일은 상기 BitWrapperEncodingHints에 나타난 객체 ID와 동일한 객체 기술 ID 정보와 mux 파일이름 정보를 더 구비함이 바람직하다.상기 기술적 과제를 이루기 위한 본 발명에 의한 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 시스템은, 적어도 압축할 객체 데이터에 관한 정보를 포함하는 압축노드와, 압축에 필요한 매개인자를 정의하고 있는 XML 스키마;
XML 입력파일을 상기 XML 스키마를 참조하여 소정의 데이터 압축부호화기에 입력되는 파일로의 변환을 지원하는 스타일 쉬트(style sheet); 및 XML 입력파일을 상기 XMT 스키마 및 상기 스타일 쉬트를 참조하여 파싱하여 소정의 데이터 압축부호화기에 입력되는 파일을 생성하는 XLM파서를 포함함을 특징으로 한다. 상기 압축매개인자는 압축 대상이 되는 객체의 정점 좌표에 대한 키프레임 애니메이션 데이터에 관한 매개인자, 3차원 메쉬 정보에 관한 매개인자, 회전 이동 키프레임 애니메이션 데이터에 관한 매개인자 및 위치 이동 키프레임 애니메이션 데이터에 관한 매개인자 중 적어도 하나를 포함함이 바람직하다.상기 기술적 과제를 이루기 위한 본 발명에 의한, MPEG-4 AFX에서 제안한 압축 표현을 XMT로 정의하여 그래픽 데이터를 압축할 수 있게 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 시스템은, 압축할 객체 데이터에 관한 정보를 포함하고 있는 압축노드와, 압축에 필요한 매개인자, 및 적어도 압축된 객체 데이터 파일의 위치정보를 포함하는 BitWrapperEncodingHints를 정의하고 있는 XMT 스키마; XMT 입력파일을 상기 XMT 스키마를 참조하여 scene 파일로의 변환을 지원하는 XMT2BIFS 스타일 쉬트; XMT 입력파일을 상기 XMT 스키마를 참조하여 mux 파일로의 변환을 지원하는 XMT2MUX 스타일 쉬트; 및 XMT 입력화일을 상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX 스타일 쉬트를 이용하여 파싱하여 scene 파일 및 mux 파일을 생성하는 XMT파서를 포함함을 특징으로 한다. 상기 압축노드는 압축할 객체 데이터를 포함하고 있는 노드필드; url 필드와 상호 배타적으로 사용되며, 상기 노드의 압축된 비트스트림을 인-밴드로서 전송하는 buffer필드; 및 상기 buffer 필드와 상호 배타적으로 사용되며, 상기 노드의 압축된 비트스트림을 아웃-밴드로서 전송하는 url 필드를 포함하여 이루어짐이 바람직하다. 상기 압축매개인자는 압축 대상이 되는 객체의 정점 좌표에 대한 키프레임 애니메이션 데이터에 관한 매개인자, 3차원 메쉬 정보에 관한 매개인자, 회전 이동 키프레임 애니메이션 데이터에 관한 매개인자 및 위치 이동 키프레임 애니메이션 데이터에 관한 매개인자 중 적어도 하나를 포함함이 바람직하다. 상기 BitWrapperEncodingHints는 압축노드의 URL ID와 같은 객체기술(objectDescriptor) ID 정보 및 mux 파일이 제공하는 압축된 비트스트림을 전송하는 파일이름과 비트스트림 포맷 종류에 관한 정보를 더 구비함이 바람직하다.
그리고 상기 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성시스템에 대해 상세히 설명한다.
저작자가 3차원 데이터의 압축을 쉽게 다룰 수 있게 하기 위해서는 저작자가 3차원 컨텐츠를 저작하는 단계에서부터 3차원 데이터를 표현, 조작 및 압축하는데 필요한 여러 인자들을 쉽게 조절할 수 있는 방법이 필요하다. 이것은 XMT를 통해서 가능하다. 상기 XMT는 오디오, 비디오, 2차원 그래픽 및 3차원 그래픽과 같은 MPEG-4 컨텐츠 저작에 대한 프레임워크(framework)이다. 또한 상기 XMT는 텍스트 구문(textual syntax)을 사용해서 MPEG-4 장면 기술(scene description)을 나타내기 위한 프레임워크이다. 상기 프레임워크는 도 3에 잘 나타나 있다. XMT는 컨텐츠 저작자에게 저작자가 만든 컨텐츠(contents)를 다른 저작자, 다른 툴(tool) 및 다른 서비스 공급자(provider)가 재사용 할 수 있게 해 준다. 그리고 X3D(Extensible 3D)와 SMIL(Synchronized Multimedia Integration Language)과도 상호 운용할 수 있다.
도 3에서와 같이 XMT 포맷은 SMIL 플레이어, VRML 플레이어, MPEG-4 플레이어에서 상호교환이 가능하고 플레이된다. 이를 보다 자세히 설명하면 XMT 포맷은 파싱(parsing)되어 SMIL 플레이어에서 플레이된다. 또한 XMT 포맷은 X3D에 대해 전처리를 수행한 다음 VRML 플레이어에서 플레이된다. 또한 MPEG-4 표현(mp4)에 대해 컴파일한 후 MPEG-4 플레이어에서 플레이된다.
XMT는 2단계 구조 즉, XMT-A 포맷과 XMT- OMEGA 포맷으로 구성된다. 상기 XMT-A는 MPEG-4 컨텐츠(오디오, 비디오, 2D, 3D 그래픽 데이터 표현 및 압축 등)의 XML 기반 버전(version)이고 확장된 3D 그래픽(X3D)을 포함한다. 또한 XMT-A에 포함된 것은 MPEG-4 특징을 나타내기 위해 X3D로 MPEG-4를 확장한 것이다. XMT-A는 텍스트포맷(textual format)과 이진포맷(binary format)을 1:1 매핑한다.XMT- OMEGA 는 MPEG-4 특징에 대한 상위 레벨 표현이고 SMIL을 기반으로 한다. XMT는 컨텐츠 저작자가 OMEGA 에서 A로의 메커니즘에 대해 몰라도 OMEGA 에서 A로 디폴트 매핑 가능하다. XMT- OMEGA 는 사용자에게 저작하기 쉽고 편리한 인터페이스 표현 기능을 제공한다. 실제 MPEG-4 데이터에 대한 표현, 처리 및 압축에 대한 것은 XMT-A에서 이루어진다.
따라서 저작자가 3D 데이터를 압축하려면 저작자가 3D 컨텐츠를 저작하는 단계에서부터 3D 데이터를 표현, 조작 및 압축하는데 필요한 여러 인자들을 쉽게 조절하도록 압축에 관련된 기술을 XMT-A로 정의하고 이를 사용해서 데이터를 압축할 수 있게 하는 것이다.
즉 저작자가 만든 3D 컨텐츠에 대한 애니메이션 데이터 및 표현 데이터에 대한 압축 기능은 MPEG-4 AFX에서 제안한 압축 표현을 XMT로 정의하므로 가능하다. 따라서 저작자가 압축 표현을 통해 3D 데이터를 압축해서 데이터를 전송할 수 있게 하면 된다. 이는 3D(애니메이션 및 표현)데이터를 압축하는데 필요한 여러 인자들을 XMT를 사용해 매개인자(parameter)로 정의하므로써 가능하다. 따라서 본 발명에서는 저작자가 압축을 표현하는 노드를 사용해서 3D 데이터를 압축할 때 필요한 여러 인자들을 XMT-A 스키마로 정의한다.본 발명에서는 3D 데이터를 압축하는데 사용되는 여러 인자들에 대한 메타표현 방법을 제공하고 이를 사용하여 압축을 실행한다.
도 1은 본 발명에 의한 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성시스템의 구성을 블록도로 도시한 것으로서, XML 스키마(120), 스타일 쉬트(style sheet, 130) 및 XML파서(110)를 포함하여 이루어진다. 상기 XML 스키마(120)는 적어도 압축할 객체 데이터에 관한 정보를 포함하는 압축노드와, 압축에 필요한 매개인자를 정의하고 있다. 상기 스타일 쉬트(style sheet, 130)는 XML 입력파일을 상기 XML 스키마(120)를 참조하여 데이터 압축부호화기(140)에 입력되는 파일로의 변환을 지원한다. 상기 XML파서(110)는 XML 입력파일(100)을 상기 XMT 스키마(120) 및 상기 스타일 쉬트(130)를 참조하여 파싱하여 데이터 압축부호화기(140)에 입력되는 파일을 생성한다.
도 2는 도 1에 도시된 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성시스템의 일 예에 해당하는 것으로서, MPEG-4 AFX에서 제안한 압축 표현을 XMT로 정의하여 그래픽 데이터를 압축할 수 있게 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 시스템의 구성을 블록도로 도시한 것이다.
상기 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 시스템은 XMT 스키마(240), XMT2BIFS 스타일 쉬트(230), XMT2MUX 스타일 쉬트(220), XMT파서(210)를 포함하여 이루어진다. 상기 XMT 스키마(240)는 압축할 객체 데이터에 관한 정보를 포함하고 있는 압축노드와, 압축에 필요한 매개인자, 및 적어도 압축된 객체 데이터 파일의 위치정보를 포함하는 BitWrapperEncodingHints를 정의하고 있다. XMT2BIFS 스타일 쉬트(230)는 XMT 입력파일(200)을 상기 XMT 스키마(210)를 참조하여 scene 파일로의 변환을 지원한다. XMT2MUX 스타일 쉬트(220)는 XMT 입력파일을 상기 XMT 스키마를 참조하여 mux 파일로의 변환을 지원한다. XMT파서(210)는 XMT 입력화일을 상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 파싱하여 scene 파일 및 mux 파일을 생성한다.상기 압축노드는 압축할 객체 데이터를 포함하고 있는 노드필드, url 필드와 상호 배타적으로 사용되며, 상기 노드의 압축된 비트스트림을 인-밴드로서 전송하는 buffer필드 및 상기 buffer 필드와 상호 배타적으로 사용되며, 상기 노드의 압축된 비트스트림을 아웃-밴드로서 전송하는 url 필드를 구비한다. 그리고 상기 압축매개인자는 압축 대상이 되는 객체의 모든 정점좌표에 대한 키프레임 애니메이션 데이터에 관한 매개인자, 3차원 메쉬 정보에 관한 매개인자, 회전이동 키프레임 애니메이션 데이터에 관한 매개인자 및 위치이동 키프레임 애니메이션 데이터에 관한 매개인자 중 적어도 하나를 선택할 수 있다. 상기 BitWrapperEncodingHints는 압축노드의 URL ID 와 같은 객체기술 ID(objectDescriptor ID) 정보 및 mux 파일이 제공하는 압축된 비트스트림을 전송하는 파일이름과 비트스트림 포맷 종류에 관한 정보를 더 구비한다.
도 2에 도시된 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 시스템를 보다 상세히 설명한다. 먼저 3D 데이터를 압축하는 노드와 그 매개 인자의 XMT-A 스키마를 사용하여 압축을 실행하는 방법 및 구조를 설명하기로 한다.
기존 XMT 기술은 3D 데이터를 압축하는 표현에 대한 XMT-A 스키마가 정의되지 않았으므로 3D 데이터 압축에 대한 XMT 파일이 입력으로 들어와도 파싱할 수가 없었다. 그러나 도 2에 도시된 바와 같이 3D 데이터를 압축하는 노드와 그 매개인자(parameter)를 XMT-A 스키마(240)에 정의해 주므로써 압축노드를 사용한 3D 데이터 압축에 대한 XMT 파일(200)이 입력으로 들어왔을 때 XMT 파서(parser, 210)가 XMT-A 스키마(240)에 정의된 내용과 XMT2MUX 스타일 쉬트(220)와 XMT2BIFS 스타일 쉬트(230)를 바탕으로 파싱하고, MPEG-4 표준 부호화기의 입력파일을 만들어 낸다. MPEG-4 표준 부호화기는 BIFS부호화기(250)와 MP4 부호화기(260)로 구성된다. 만들어진 입력파일이 각각 BIFS 부호화기(250)와 MP4 부호화기(260)로 들어가 비트스트림(.mp4)을 만들어 내고, MPEG-4 플레이어(Player)에서 시각화되어 사용자에게 보여진다.
3D 데이터를 압축하는 노드와 그 매개인자에 대한 메타 표현, 즉 XMT-A 스키마를 사용하면 저작 단계에서 저작자가 메타 표현의 선택 여부에 따라 압축을 할 수도 있고 압축을 사용하지 않을 수도 있다. 또한 압축을 선택할 경우 압축하고자 하는 3D 데이터에 대해 압축 매개 인자에 메타표현을 할 수 있다.
저작자가 압축을 선택할 경우 압축하고자 하는 3D 데이터를 그 매개 인자를 조절해서 크게 2가지 방법으로 선택해서 전송할 수 있다. 첫째는 원본 데이터를 압축하여 비트스트림으로 전송하는 방법과 둘째는 이미 압축된 비트스트림을 포함하여 전송하는 방법이 있다.
상기 2가지 방법은 더 세분화되어 총 4가지의 전송 방법이 있으며, 저작자는 상기 4가지 전송방법을 선택할 수 있다. 첫번째 방법은 원본 데이터를 매개인자를 사용해 비트스트림으로 만들어 "buffer"를 사용하여 전송하는 방법이다. 두번째 방법은 이미 압축된 비트스트림 형태로 "buffer"를 사용해 전송하는 방법이다. 세번째 방법은 원본 데이터를 매개인자를 사용해 비트스트림으로 만들어 "url"로 전송하는 방법이다. 네번째 방법은 이미 압축된 비트스트림 형태로 "url"를 사용해 전송하는 방법이다.
다음으로 3D 데이터 압축에 사용되는 여러 인자들에 대한 메타 표현 방법(XMT)을 설명하기로 한다. 상기 메타표현 방법은 3D 데이터를 압축하는데 필요한 노드와 그 매개인자를 메타 표현하는 방법이다. 여기서 3D 데이터를 압축하는데 필요한 노드인 BitWrapper 노드와 그 매개변수를 실례로 들어 설명한다.
1. BitWrapper 노드에 대한 XMT-A 스키마
1.1 BitWrapper 노드의 BIFS 구문(Syntax)
BitWrapper { #%NDT=SF2DNode,SF3DNode,SFGeometryNode
field SFWorldNode node NULL
field SFInt32 type 0
field MFUrl url []
field SFString buffer ""}
우선 BitWrapper에 대해서 간략히 설명하면 다음과 같다. BitWrapper 노드의 기능은 "node" 필드의 데이터를 압축하고 이 비트스트림을 인-밴드(in-band) 또는 아웃-밴드(out-band)를 사용해서 전송하는 것이다. "url" 필드는 아웃-밴드 비트스트림을 전송하고, "buffer" 필드는 BIFS 비트스트림과 같이 인-밴드 비트스트림을 전송한다.
만약 저작자가 데이터를 압축해서 BitWrapper 노드를 통해 전송하고자 한다면 저작자는 비트스트림을 생성하기 위한 매개인자를 조절할 수 있어야 한다. 이것은 XMT-A 스키마 구문(Syntax)으로 할 수 있다. 그러나 이 매개인자는 특정 인코더에서 사용되어지는 파라미터가 아니다. 대신에 이 매개인자들은 디코더 구문(syntax)에 관련이 있다. 이 파라미터들은 압축 동안 조정될 수 있다. 현재 BitWrapper 노드는 7개의 압축 툴에 대한 압축된 비트스트림의 전송을 지원한다.
다음은 BitWrapper 노드와 3개의 3차원 키프레임 애니메이션 데이터(CoordinateInterpolator, OrientationInterpolator, PositionInterpolator) 노드의 매개인자와 3차원 메쉬 정보(IndexedFaceSet) 노드의 매개인자에 대한 XMT-A 스키마 구문을 설명한다.
1.2 BitWrapper 노드에 대한 XMT-A 스키마
1.2.1 Syntax
<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xmta="urn:mpeg:mpeg4:xmta:schema:2002"
targetNamespace="urn:mpeg:mpeg4:xmta:schema:2002"
elementFormDefault="qualified">
<element name="BitWrapper">
<complexType>
<element name="node" minOccurs="0" form="qualified">
<complexType>
<group ref="xmta:SFWorldNodesType" minOccurs="0"/>
</complexType>
</element>
<choice>
<element name="CoordinateInterpolatorEncodingParameter" minOccurs="0" maxOccurs="1">
<complexType>
<attribute name="keyQbits" "type="xmta:numOfKeyQBits" use="optional" default="8"/>
<attribute name="keyValueQBits" type="xmta:numOfKeyValueQBits use="optional" default="16"/>
<attribute name="transpose" type="xmta:transposeType" use="optional" default="&quot;ON&quot;"/>
<attribute name="linearKeycoder" type="xmta:linearKeycoderType" use="optional" default="&quot;LINEAR&quot;"/>
</complexType>
</element>
<element name="IndexedFaceSetEncodingParameter" minOccurs="0" maxOccurs="1">
<complexType>
<attribute name="coordQBits" type="xmta:numOfCoordQBits" use="optional" default="10"/>
<attribute name="normalQBits" type="xmta:numOfNormalQBits" use="optional" default="9"/>
<attribute name="colorQBits" type="xmta:numOfColorQBits" use="optional" default="6"/>
<attribute name="texCoordQBits" type="xmta:numOftexCoordQBits" use="optional" default="10"/>
<attribute name="coordPredMode" type="xmta:coordPredType" use="optional" default="2"/>
<attribute name="normalPredMode" type="xmta:normalPredType" use="optional" default="0"/>
<attribute name="colorPredMode" type="xmta:colorPredType" use="optional" default="0"/>
<attribute name="texCoordPredMode" type="xmta:texCoordPredType" use="optional" default="0"/>
<attribute name="errorResilience" type="xmta:errorResilienceType" use="optional" default="&quot;OFF&quot;"/>
<attribute name="bitsPerPacket" type="xmta:SFInt32" use="optional"
default="360"/>
<attribute name="boundaryPrediction" type="xmta:boundaryPredictionType" use="optional" default="0"/>
</complexType>
</element>
<element name="OrientationInterpolatorEncoding Parameter" minOccurs="0" maxOccurs="1">
<complexType>
<attribute name="keyQBits" type="xmta:numOfKeyQBits" use="optional" default="8"/>
<attribute name="keyValueQBits" type="xmta:numOfKeyValueQBits" use="optional" default="16"/>
<attribute name="preservingMode" type="xmta:preservingType" use="optional" default = "&quot; KEY&quot;"/>
<attribute name="dpcmMode" type = "xmta:orientationDpcmType" use="optional" default="0"/>
<attribute name="aacMode_X" type="xmta:aacType" use="optional" default="&quot;BINARY&quot;"/>
<attribute name="aacMode_Y" type="xmta:aacType" use="optional" default="&quot;BINARY&quot;"/>
<attribute name="aacMode_Z" type="xmta:aacType" use="optional" default="&quot;BINARY&quot;"/>
<attribute name="linearKeycoder" type="xmta:linearKeycoderType" use="optional" default= "&quot; LINEAR&quot;"/>
</complexType>
</element>
<element name= "PositionInterpolatorEncoding Parameter" minOccurs="0" maxOccurs="1">
<complexType>
<attribute name="keyQBits" type="xmta:numOfKeyQBits" use="optional" default="8"/>
<attribute name="keyValueQBits" type="xmta:numOfKeyValueQBits" use="optional" default="16"/>
<attribute name="preservingMode" type="xmta:preservingType" use="optional" default = "&quot; KEY&quot;"/>
<attribute name="dpcmMode_X" type="xmta:positionDpcmType" use="optional" default="0"/>
<attribute name="dpcmMode_Y" type="xmta:positionDpcmType" use="optional" default="0"/>
<attribute name="dpcmMode_Z" type="xmta:positionDpcmType" use="optional" default="0"/>
<attribute name="aacMode_X" type="xmta:aacType" use="optional" default="&quot;BINARY&quot;"/>
<attribute name="aacMode_Y" type="xmta:aacType" use="optional" default="&quot;BINARY&quot;"/>
<attribute name="aacMode_Z" type="xmta:aacType" use="optional" default="&quot;BINARY&quot;"/>
<attribute name="linearKeycoder" type="xmta:linearKeycoderType" use="optional" default = "&quot; LINEAR&quot;"/>
<attribute name="intra_X" type="xmta:intraType" use="optional" default="0"/>
<attribute name="intra_Y" type="xmta:intraType" use="optional" default="0"/>
<attribute name="intra_Z" type="xmta:intraType" use="optional" default="0"/>
</complexType>
</element>
<element name = "WaveletSubdivisionSurfaceEncoding Parameter" >
</element>
<element name="MeshGridEncodingParameter" >
</element>
</choice>
<attribute name="type" type="xmta:SFInt32" use="optional" default="0"/>
<attribute name="buffer" type="xmta:SFString" use="optional" />
<attribute name="url" type="xmta:MFUrl" use="optional" />
<attributeGroup ref="xmta:DefUseGroup"/>
<complexType>
</element>
</schema>
1.2.2. Semantics
BitWrapper 노드는 노드압축 스킴(scheme) 전용이다. 상기 압축된 표현은 BIFS 스트림 내에서 전송되거나 밖의 분리된 스트림으로 전송된다. 스트림이 BIFS 업데이트 내에서 전송될 때, "buffer" 필드는 압축된 표현을 포함한다. 스트림이 BIFS 업데이트 밖의 분리된 스트림으로 전송될 때, "url" 필드는 스트림의 url을 포함한다."buffer" 필드와 "url" 필드는 서로 배타적으로 사용된다. 즉 "buffer" 필드가 사용되면 "url" 필드는 사용되지 않고, "url" 필드가 사용되면 "buffer" 필드는 사용되지 않는다. "node" 필드는 압축된 표현을 갖는 노드를 포함한다. BitWrapper 노드는 "node"의 위치에서 사용될 수 있다. "type" 필드는 노드 압축 스킴이 사용되어야 한다는 것을 나타낸다. 0 이 "type" 필드 값의 디폴트 값이다. "type" 필드 값은 미래의 노드 압축 스킴이 개발될 것을 고려해서 나타낸 것이다. 이것에 대해서 디폴트 스킴을 정의한다.
"CoordinateInterpolatorEncodingParameter" 필드는 객체의 모든 정점좌표에 대한 키프레임 애니메이션 데이터(Coordinate Interpolator 노드 데이터)를 압축하기 위해 사용되는 매개인자를 포함한다. 이 경우 "node" 필드는 CoordinateInterpolator 노드이다.
"IndexedFaceSetEncodingParameter" 필드는 3차원 메쉬 정보(IndexedFaceSet 노드 데이터)를 압축하는데 사용되는 매개인자를 포함한다. 이 경우에 "node" 필드는 IndexedFaceSet 노드이다.
"OrientationInterpolatorEncodingParameter" 필드는 회전이동 키프레임 애니메이션 데이터(Orientation Interpolator 노드 데이터)를 압축하기 위해 사용되는 매개인자를 포함한다. 이 경우에 "node" 필드는 OrientationInterpolator 노드이다.
"PositionInterpolatorEncodingParameter" 필드는 위치이동 키프레임 애니메이션 데이터(PositionInterpolator 노드 데이터)를 압축하기 위해 사용되는 매개인자를 포함한다. 이 경우에 "node" 필드는 PositionInterpolator 노드이다.매개인자를 사용하지 않을 때 매개인자가 파일 안에 명시되어야 하는 것은 아니다. 매개인자를 사용하여 압축이 실행될 때 매개인자 필드들은 배타적으로 사용되어야 한다. 그 이유는 "node" 필드가 한 번에 압푹될 노드 데이터의 한 가지 유형(type)만 포함하기 때문이다. 또한 매개인자 필드들이 "<choice>" 엘리먼트로 그룹핑(grouping) 되었기 때문이다. 각 파라미터 필드에서 "attribute"는 다음 절에서 설명한다.
압축된 표현이 분리된 스트림에 포함되어 전송될 때 노드 디코더는 어떤 틀에 맞춰 형성되어야 한다.
객체 기술자 스트림(object descriptor stream)에서 노드 디코더는 streamType 0x03과 objectTypeIndication 0x05에 대해 DecoderConfig descriptor에 나타나야 한다. 디코더는 AFXConfig descriptor로 형성된다.
1.3. numOfKeyQBits
1.3.1 Syntax
<simpleType name="numOfKeyQBits">
<restriction base="int">
<minInclusive value="0">
<maxInclusive value="31"/>
</restriction>
</simpleType>
1.3.2 Semantics
numOfKeyQBits는 key 데이터의 양자화 비트 크기(quantization bit size)를 나타낸다. 이것은 정수(integer) 타입이다. numOfKeyQBits의 최소 값은 0 이고 최대 값은 31 이다.
1.4 numOfKeyValueQBits
1.4.1 Syntax
<simpleType name="numOfKeyValueQBits">
<restriction base="int"> <minInclusive value="0"/>
<maxInclusive value="31"/>
</restriction>
</simpleType>
1.4.2 Semantics
numOfKeyValueQBits는 keyValue 데이터의 양자화 비트 크기(quantization bit size)를 나타낸다. 이것은 integer 타입이다. numOfKeyQBits의 최소 값은 0이고 최대 값은 31이다.
1.5 linearKeycoderType1.5.1 Syntax
<simpleType name="linearKeycoderType">
<restriction base="string">
<enumeration value="&quot;LINEAR&quot;"/>
<enumeration value="&quot;NOLINEAR&quot;"/>
</restriction>
</simpleType>
1.5.2 Semantics
linearKeycoderType은 string 타입니다. linearKeycoderType은 linear key coder가 사용되는지 사용되지 않는지를 나타낸다.
1.6 preservingType
1.6.1 Syntax
<simpleType name="preservingType">
<restriction base="string">
<enumeration value="&quot;KEY&quot;"/>
<enumeration value="&quot;PATH&quot;"/>
</restriction></simpleType>
1.6.2 Semantics
preservingType은 string 타입이다. preservingType은 현재 모드가 key preserving 모드인지 path preserving 모드인지 나타낸다. .
1.7 aacType
1.7.1 Syntax
<simpleType name="aacType">
<restriction base="string">
<enumeration value="&quot;BINARY&quot;"/> <enumeration value="&quot;UNARY&quot;"/>
</restriction>
</simpleType>
1.7.2 Semantics
aacType은 string 타입이다. aacType은 각 keyValue 컴포넌트(X, Y, Z)에 대해 현재 모드가 BinaryAAC 모드인지 UnaryAAC 모드인지를 나타낸다.
1.8 orientationDpcmType
1.8.1 Syntax
<simpleType name="orientationDpcmType"> <restriction base="int">
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simpleType>
1.8.2 Semantics
orientationDpcmType이 각 keyValue 컴포넌트(X, Y, Z)에 대해 사용된 DPCM 차수를 나타낸다. 이것은 정수 타입이다. 만약 DPCM 차수가 "1"이라면 플래그가 0으로 셋팅된다. DPCM 차수가 "2"라면 1로 셋팅된다.
1.9 positionDpcmType
1.9.1 Syntax
<simpleType name="positionDpcmType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simpleType>
1.9.2 Semantics
positionDpcmType은 각 keyValue 컴포넌트 (X, Y, Z)에 대해 사용된 DPCM 차수를 나타낸다. 이것은 정수 타입이다. DPCM 차수가 "1"이라면 플래그는 0으로 셋팅된다. DPCM 차수가 "2"이라면 1로 셋팅된다. SAD가 사용되면 2로 셋팅된다. SAD는 [2]에 자세히 설명되어 있다.
1.10 intraType
1.10.1 Syntax
<simpleType name="intraType">
<restriction base="int"> <enumeration value="0"/>
<enumeration value="1"/>
</restriction>
</simpleType>
1.10.2 Semantics
intraType은 Position Interpolator Compression에 사용된다. intraType은 각 keyValue 컴포넌트 (X,Y,Z)에 대해 intra coding 모드가 사용되었는지 또는 사용되지 않았는지를 나타낸다.
1.11 transposeType
1.11.1 Syntax
<simpleType name="transposeType">
<restriction base="string">
<enumeration value="&quot;ON&quot;"/>
<enumeration value="&quot;OFF&quot;"/>
</restriction>
</simpleType>
1.11.2 Semantics
transposeType은 transpose 모드 또는 vertex 모드에 대한 플래그이다. 만약, value가 "ON"으로 셋팅되었다면, transpose 모드가 사용되고, 그렇지 않으면, vertex 모드가 사용된다.
1.12 numOfCoordQBits
1.12.1 Syntax
<simpleType name="numOfCoordQBits">
<restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="24"/>
</restriction>
</simpleType>
1.12.2 Semantics
numOfCoordQBits는 geometry에 대한 양자화 스탭(quantization step)을 나타낸다. numOfCoordQBits의 최소 값이 1이고 최대 값은 24이다.
1.13 numOfNormalQBits
1.13.1 Syntax
<simpleType name="numOfNormalQBits">
<restriction base="int">
<minInclusive value="3"/> <maxInclusive value="31"/>
</restriction>
</simpleType>
1.13.2 Semantics
numOfNormalQBits는 normal에 대한 양자화 스탭(quantization step)을 나타낸다. numOfNormalQBits의 최소 값이 3이고 최대 값은 31이다.
1.14 numOfColorQBits
1.14.1 Syntax
<simpleType name="numOfColorQBits"> <restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="16"/>
</restriction>
</simpleType>
1.14.2 Semantics
numOfColorQBits는 color에 대한 양자화 스탭(quantization step)을 나타낸다. numOfColorQBits의 최소 값이 1이고 최대 값은 16이다.
1.15 numOfTexCoordQBits
1.15.1 Syntax
<simpleType name="numOftexCoordQBits">
<restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="16"/>
</restriction>
</simpleType>
1.15.2 Semantics
NumOftexCoordQBits는 texture coordinates에 대한 양자화 스탭(quantization step)을 나타낸다. NumOftexCoordQBits의 최소 값이 1이고 최대 값은 16이다.
1.16 coordPredType
1.16.1 Syntax
<simpleType name="coordPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="2"/>
</restriction>
</simpleType>
1.16.2 Semantics
CoordPredType은 메쉬의 vertex coordinates을 재구성하기 위해 사용되는 prediction type이다. no_prediction이 사용되면, CoordPredType 값은 0으로 셋팅된다. parallelogram_prediction이 사용되면, 2로 셋팅된다.
1.17 normalPredType
1.17.1 Syntax
<simpleType name="normalPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simpleType>
1.17.2 Semantics
NormalPredType은 어떻게 normal values가 예측(predict)될 수 있는지 나타낸다. no_prediction이 사용되면, 값이 0으로 셋팅되고, tree_prediction이 사용되면, 1로 셋팅되고, parallelogram_prediction이 사용되면, 2로 셋팅된다.
1.18 colorPredType
1.18.1 Syntax
<simpleType name="colorPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simpleType>
1.18.2 Semantics
colorPredType은 어떻게 colors가 예측(predict)될 수 있는지 나타낸다. no_prediction이 사용되면, 값은 0이 되고, tree_prediction이 사용되면, 1이 셋팅되고, parallelogram_prediction이 사용되면, 2로 셋팅된다.
1.19 texCoordPredType
1.19.1 Syntax
<simpleType name="texCoordPredType">
<restriction base="int"> <enumeration value="0"/>
<enumeration value="2"/>
</restriction>
</simpleType>
1.19.2 Semantics
texCoordPredType은 어떻게 colors가 예측(predict)될 수 있는지 나타낸다. no_prediction이 사용되면, 값은 0이 되고, parallelogram_prediction이 사용되면, 2로 셋팅된다.
1.20 errorResilienceType
1.20.1 Syntax
<simpleType name="errorResilienceType">
<restriction base="string">
<enumeration value="&quot;ON&quot;"/>
<enumeration value="&quot;OFF&quot;"/>
</restriction>
</simpleType>
1.20.2 Semantics
ErrorResilienceType은 오류 강인성(Error Resilience) 모드가 사용되었는지 나타낸다. 오류 강인성이 사용되지 않으면 "OFF"로 셋팅되고, 오류 강인성이 사용되면 "ON"으로 셋팅된다. 만약 ""ON"으로 된 경우에만 boundaryPredictionType과 bitsPerPacket이 사용될 수 있다.
1.21 boundaryPredictionType
1.21.1 Syntax
<simpleType name="boundaryPredictionType">
<restriction base="int"> <enumeration value="0"/>
<enumeration value="1"/>
</restriction>
</simpleType>
1.21.2 Semantics
BoundaryPredictionType은 boundary prediction의 타입을 나타낸다. 값이 0이라면 제한된 예측(restricted prediction)이 사용되고, 값 1이 사용된다면 확장 예측(extended prediction)이 사용된다.
1.22 bitsPerPacket
1.22.1 Syntax
bitsPerPacket의 구문은 SFInt32 타입과 똑같다.
<simpleType name="SFInt32">
<restriction base="int"/>
</simpleType>
1.22.2 Semantics
BitsPerPacket은 에러 강인 비스트림(error resiliant bitstream)에 대한 패킷 크기를 나타낸다. 이 값은 에러 강인 모드에서 각 부분의 크기를 결정한다. bitsPerPacket의 타입은 SFInt32이다. 디폴트 값은 360이다.
2. BitWrapperEncodingHints에 대한 XMT-A 스키마
2.1. BitWrapperEncodingHints
2.1.1. Syntax
다음은 BitWrapperEncodingHints의 구문이다.
<!-- Declaration of BitWrapperEncodingHints -->
<element name="StreamSource">
<complexType> <choice minOccurs="0" maxOccurs="unbounded">
<element ref="xmta:BitWrapperEncodingHints"/>
</choice>
...
</complexType>
</element>
...
<!-- Definition of BitWrapperEncodingHints -->
<element name="BitWrapperEncodingHints">
<complexType>
<element name="BitWrapper3DMCEncodingHints">
<complexType>
<sequence>
<element name="sourceFormat">
<complexType>
<sequence>
<element ref="xmta:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="targetFormat">
<complexType>
<sequence>
<element ref="xmta:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="BitWrapperICEncodingHints">
<complexType>
<sequence>
<element name="sourceFormat">
<complexType>
<sequence>
<element ref="xmta:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="targetFormat">
<complexType>
<sequence>
<element ref="xmta:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<element name="OthersEncodingHints">
...
</element>
</complexType>
</element>
2.1.2. Semantics
BitWrapperEncodingHints는 스크립트(.mux) 파일에서 "MuxInfo description을 명세하기 위해 사용된다. 그 결과 binary textual format과 일치한다. BitWrapper 노드가 그 안에 있는 "url" 필드를 사용하는 아웃-밴드(out-band) 시나리오에 대해 사용된다. BitWrapperEncodingHints는 스트림 포맷의 타입에 따른 "MuxInfo" description에 사용되는 적절한 정보를 설명하고 있다.3. XMT2MUX 스타일 쉬트에 BitWrapperEncodingHints에 대한 수정
다음은 XMT2MUX 스타일 쉬트에 MuxInfo 와 BitWrapperEncodingHints 구문을 다음과 같이 수정하였다.
3.1 Syntax
원래의 구문은 다음과 같다.
<xsl:template match="xmt:StreamSource"> muxInfo {
fileName <xsl:value-of select="@url"/><xsl:text>
<!-- what to do for urls? --></xsl:text>
<!-- if no encoding hints are given, it is assumed the stream is of type BIFS. otherwise
the streamFormat should be declared in the parameter element of sourceFormat or targetFormat
(name 'streamFormat' and value corresponding to a streamFormat recognised by BIFSEnc) -->
<xsl:if test="not(xmt:EncodingHints)">streamFormat BIFS<xsl:text>
</xsl:text></xsl:if>
<xsl:apply-templates select="xmt:EncodingHints|xmt:BIFSEncodingHints| xmt: FBAEncodingHints"/>
}
</xsl:template>
수정된 구문은 다음과 같다.
<xsl:template match="xmt:StreamSource"> muxInfo MuxInfo{
fileName <xsl:value-of select="@url"/>
<xsl:apply-templates select="xmt:EncodingHints|xmt:BIFSEncodingHints| xmt:FBAEncodingHints|xmt:BitWrapperEncodingHints"/>
<xsl:if test="not(xmt:EncodingHints|xmt:BitWrapperEncodingHints)"> streamFormat BIFS<xsl:text></xsl:text></xsl:if>
<xsl:if test="xmt:BitWrapperEncodingHints"><xsl:text>
</xsl:text></xsl:if>
<xsl:apply-templates select="xmt:BitWrapper3DMCEncodingHints|xmt: BitWrapperICEncodingHints| xmt:OthersEncodingHints"/>
}
<xsl:template match="xmt:BitWrapperEncodingHints">
<xsl:apply-templates select="xmt:BitWrapper3DMCEncodingHints|xmt: BitWrapperICEncodingHints|xmt:OthersEncodingHints"/>
<xsl:apply-templates select="xmt:sourceFormat|xmt:targetFormat"/>
</xsl:template>
<xsl:template match="xmt:BitWrapper3DMCEncodingHints">
<xsl:apply-templates select="xmt:sourceFormat|xmt:targetFormat"/>
streamFormat 3DMC<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xmt:BitWrapperICEncodingHints">
<xsl:apply-templates select="xmt:sourceFormat|xmt:targetFormat"/>
streamFormat InterpolatorCompression<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xmt:OthersEncodingHints">
<xsl:apply-templates select="xmt:sourceFormat|xmt:targetFormat"/>
streamFormat BIFS<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xmt:sourceFormat">
<xsl:apply-templates select="xmt:param"/>
</xsl:template>
<xsl:template match="xmt:targetFormat">
<xsl:apply-templates select="xmt:param"/>
</xsl:template>
</xsl:template>
3.2 semantics
기존 구문에는 MP4 부호화기로 전송되는 비트스트림에 대한 mux 정보(어떤 이름의 비트스트림인지, 어떤 종류의 비트스트림인지 예: A.bifs, A.od)가 XMT2MUX 스타일 쉬트에 제대로 기술(description)되지 않았다. 또한 BitWrapper에서 URL을 사용할 경우, URL을 통해 전송되는 비트스트림에 대한 정보(파일이름 실시예 3과 같이 "bunny-15000-tcp.m3d", 비트스트림의 종류)에 대해서 XMT2MUX 스타일 쉬트에 없었다. 따라서 BitWrapper에서 제공되는 비트스트림을 실어나르는 파일이름과 비트스트림의 종류를 기술(description)하였다. 구체적으로 3차원 애니메이션 데이터 압축에 대해서는 InterpolatorCompression streamformat, 3D 메쉬 데이터 압축에 대해서는 3DMC streamformat을 기술(description)하였다.
4. ObjectDescriptorUpdate에 대한 수정
4.1 syntax
다음은 XMT2BIFS 스타일 쉬트에서 ObjectDescriptorUpdate 구문을 다음과 같이 수정하였다.원래 구문은 다음과 같다.
<xsl:template match="xmt:ObjectDescriptorUpdate">
UPDATE OD [
<xsl:apply-templates select="xmt:OD"/>
]
</xsl:template>
수정된 구문은 다음과 같다.
<xsl:template match="xmt:ObjectDescriptorUpdate"> UPDATE OD [
<xsl:apply-templates select="xmt:OD"/>
]
</xsl:template>
<xsl:template match="xmt:OD">
<xsl:apply-templates select="xmt:ObjectDescriptorBase" />
</xsl:template>
<xsl:template match="xmt:ObjectDescriptorBase">
<xsl:apply-templates select="xmt:ObjectDescriptor|xmt: InitialObjectDescriptor"/>
</xsl:template>
<xsl:template match="xmt:ObjectDescriptor">
ObjectDescriptor {
<xsl:if test="@objectDescriptorID"> objectDescriptorID <xsl:value-of select="@objectDescriptorID"/></xsl:if>
<xsl:text></xsl:text><xsl:apply-templates select="xmt:URL" />
}
</xsl:template>
<xsl:template match="xmt:URL">
<xsl:if test="@URLstring"> muxScript
<xsl:value-of select="@URLstring"/></xsl:if>
<xsl:text></xsl:text>
</xsl:template>
4.2 Semantics
기존 구문에는 "Update OD 내부에 어떤 기술(description)도 없었다. "Update OD 는 저작자가 "url" 필드를 통해서 다른 엘리먼트 스트림과 연결하고자 할 경우, 장면 설명 스트림(scene description stream (BIFS stream))을 링크할 때 사용된다. 또한 Update OD 내부에 ObjectDescriptorID와 스크립트 파일 이름을 설명하는 부분도 추가하였다. 이것은 binary textual format과 일치한다. 본 발명의 동작을 설명하기로 한다. (1) 원본 데이터를 매개인자(encoding parameter)를 사용해 비트스트림을 만들어 버퍼로 전송하는 경우이다. 도 2와 도 4를 참조하여 원본 데이터를 매개 인자를 사용해 비트스트림을 만들어 버퍼로 전송하는 실시 예를 설명하기로 한다.
도 4는 물체 A(예 : 컵)에 대한 3차원 데이터(기하 정보, 연결정보, 색상정보 등)를 매개인자를 사용해 압축하여 물체 A에 압축된 비트스트림(bitstream)을 버퍼를 사용해 "BufferWithEP.m3d"로 전송하는 방법을 나타낸다. 도 2에 도시된 바와 같이 XMT 파일이 입력으로 들어오면, XMT 파서에서 XMT-A 스키마를 참조하고, 스타일 쉬트(XMT2BIFS, XMT2MUX)를 사용하여 비트스트림을 장면 데이터와 함께 .scene에 대한 비트스트림에 실어 전송한다. 이 때, .mux 내의 정보에는 MPEG-4 Encoder인 BIFS Encoder가 실행된 결과인 .bifs/.od 가 포함된다. 그리고 .mux 내의 정보와 .bifs/.od 파일이 MP4 Encoder의 입력으로 들어와 최종 결과 파일(.mp4)이 생성되고, MPEG-4 플레이어(Player)에서 그 결과를 볼 수 있다. 실시 예를 들어 보다 자세한 설명을 한다.[실시예 1] 다음은 BitWrapper를 사용해 원본의 3차원 메쉬 정보를 매개 인자를 사용해 비트스트림을 만들고 버퍼를 사용해 전송하는 XMT 예제이다.
<Header>
<InitialObjectDescriptor objectDescriptorID="1" binaryID="1" > <Descr>
<esDescr>
<ES_Descriptor ES_ID="xyz" binaryID="201" OCR_ES_ID="xyz">
...
<StreamSource>
<BIFSEncodingHints>
<sourceFormat>
<param value=" BufferWithEP.bif"> </param>
</sourceFormat>
</BIFSEncodingHints>
</StreamSource>
</ES_Descriptor>
</esDescr>
</Descr>
</InitialObjectDescriptor>
</Header>
...
<BitWrapper type="0" buffer="MyIndexFaceSet.m3d">
<node>
<IndexedFaceSet ccw="TRUE" solid="TRUE"
coordIndex="0, 1, 2, -1, 3, 4, 5, -1,..." normalPerVertex="TRUE">
<coord DEF="Box-COORD"></coord>
<Coordinate point= "0 1 2, 0 2 3, 4 0 1, 1 5 4, 5 1 2, 2 6 5, ..."></Coordinate>
<normal>
<Normal vector="0.7859 -0.341 -0.5157, 0.3812 -0.801 0.4615, ...">
</Normal></normal>
</IndexedFaceSet>
</node>
<IndexedFaceSetEncodingParameter coordQBits="10 normalQBits="9" coordPredMode="2" normalPredMode="0" errorResilience="OFF"> </IndexedFaceSetEncodingParameter>
</BitWrapper>
...
도 2에서 실시예 1과 같이 BitWrapper 노드를 사용해 3차원 메쉬정보와 그 매개 인자를 사용해 압축하는 XMT 표현의 입력 파일이 들어오면, XMTRef 파서(Parser)에서 BitWrapper 노드 안에서의 3차원 메쉬정보 매개 인자를 사용해 압축하여 비트스트림을 만들어 낸다. 이것은 BitWrapper 노드와 매개 인자에 대한 XMT-A 스키마 정의를 따른다. 또한 XMT-A 스키마와 스타일 쉬트(XMT2BIFS와 XMT2MUX) 파일을 사용해, MPEG-4 부호화기의 입력 파일(".scene" 파일과 ".mux" 파일)을 만들어 낸다. 이 결과는 다음과 같다.
- "BufferWithEP.scene" 파일 -
..
BitWrapper {
node IndexedFaceSet {
ccw="TRUE"
solid="TRUE"
coodIndex="0, 1, 2, -1, 3, 4, 5, -1, ..."
normalPerVertex="TRUE"
coord DEF Box-COORD Coordinate { point [0 1 2, 0 2 3, 4 0 1, 1 5 4, 5 1 2, 2 6 5, ... }
}
normal Normal {
Vector[0.7859, -0.341, -0.5157, 0.3812, -0.801, 0.4615, ...]
}
}
IndexedFaceSetEncodingParameter{
coordQBits 10
NormalQBits 9
coordPredMode 2
normalPredMode 0
errorResilience OFF
}
type 0
buffer "MyIndexFaceSet.m3d"
}
..
- "BufferWithEP.mux" 파일 -InitialObjectDescriptor {
...
muxInfo MuxInfo{
fileName "BufferWithEP.bif"
streamFormat BIFS
}
}
위와 같은 .scene 파일과 .mux 파일은 MPEG-4 플레이어의 입력으로 사용되어 BIFS 부호화기를 거쳐 bifs/od 파일을 생성하고, 이 bifs/od 파일과 mux 파일이 MP4 부호화기에 입력으로 들어가 하나의 비트스트림(".mp4") 파일을 생성한다. 상기 ".mp4" 파일은 최종 결과로서 MPEG-4 플레이어에서 시각화된다.
(2) 이미 압축된 비트스트림을 사용해 버퍼(buffer)로 전송하는 경우이다. 도 2와 도 5를 참조하여 이미 압축된 비트스트림을 사용해 버퍼(buffer)로 전송하는 실시 예를 설명하기로 한다. 도 5의 내용은 다음과 같다. 물체 A(예 : 컵)에 대한 3차원 데이터(기하 정보, 연결정보, 색상정보 등)가 이미 압축되어 물체 A에 압축된 비트스트림(bitstream) 형태로 사용된다. 이 비트스트림은 버퍼를 통해 "BufferWithoutEP .m3d"로 전송된다. 상기 "(1) 원본 데이터를 매개 인자를 사용해 비트스트림을 만들어 버퍼로 전송하는 경우" 와 차이점은 XMT 입력 파일에서 BitWrapper 노드에 물체 A에 대한 3차원 데이터와 매개 인자를 사용해 직접 압축하는 것이 아니라, 이미 압축된 물체 A에 대한 비트스트림을 버퍼로 전송한다는 점이다.도 2에 도시된 바와 같이 XMT 파일(200)이 입력으로 들어오면, XMT 파서(210)에서 XMT-A 스키마(240)를 참조하고, XMT2BIFS 스타일쉬트(230)와 XMT2MUX 스타일쉬트(220)를 사용하여 이 압축한 비트스트림을 장면 데이터와 함께 .scene에 대한 비트스트림에 실어 전송한다. 이 때, .mux 내의 정보에는 MPEG-4 부호화기인 BIFS 부호화기(250)가 실행된 결과 .bifs/.od 가 포함된다. 그리고, .Mux 내의 정보와 .bifs/.od 파일이 MP4 부호화기(260)의 입력으로 들어와 최종 결과 파일(.mp4)이 생성되고, MPEG-4 플레이어에서 그 결과를 볼 수 있다. 실시 예를 들어 더 자세한 설명을 하겠다.
[실시예 2] 다음은 BitWrapper를 사용해 이미 압축된 3차원 메쉬정보의 비트스트림을 버퍼를 사용해 전송하는 XMT 예제이다.
...
<Header>
<InitialObjectDescriptor objectDescriptorID="1" binaryID="1" > <Descr>
<esDescr>
<ES_Descriptor ES_ID="xyz" binaryID="201" OCR_ES_ID="xyz">
...
<StreamSource>
<BIFSEncodingHints>
<sourceFormat>
<param value="BufferWithoutEP.bif"> </param>
</sourceFormat>
</BIFSEncodingHints>
</StreamSource>
</ES_Descriptor>
</esDescr>
</Descr>
</InitialObjectDescriptor>
</Header>
<Body>
<Replace>
<Scene>
<Group>
<children>
<Shape>
<geometry DEF="MY_BOX">
<BitWrapper type="0" buffer="MyIndexFaceSet.m3d"> <node>
<IndexedFaceSet>
<coord DEF="Box-COORD"></coord>
<Coordinate></Coordinate>
</node>
</BitWrapper>
</geometry>
</Shape>
</children>
</Group>
</Scene>
</Replace>
</Body>
...
도 2에서 실시예 2와 같이 BitWrapper 노드를 사용해 이미 압축된 3차원 메쉬정보 비트스트림을 버퍼로 전송하는 XMT 표현의 입력 파일이 들어오면, XMTRef 파서(Parser)에서 BitWrapper 노드 안의 버퍼로 전송되는 압축된 3차원 메쉬 정보 비트스트림을 만들어 낸다. 이것은 BitWrapper 노드와 매개 인자에 대한 XMT-A 스키마 정의를 따른다. 또한 XMT-A 스키마와 스타일 쉬트(XMT2BIFS와 XMT2MUX) 파일을 사용해, MPEG-4 부호화기의 입력 파일(".scene" 파일과 ".mux" 파일)을 만들어 낸다. 이 결과는 다음과 같다.- BufferWithoutEP.scene 결과 -
...
BitWrapper {
node IndexedFaceSet {
coord DEF Box-COORD Coordinate {
}
}
type 0
buffer "MyIndexFaceSet.m3d"}
...
- BufferWithoutEP.mux 결과 -
InitialObjectDescriptor {
...
muxInfo MuxInfo{
fileName "BufferWithoutEP.bif"
streamFormat BIFS
}
}
위와 같은 .scene 파일과 .mux 파일은 MPEG-4 부호화기의 입력으로 사용되어, BIFS 부호화기를 거쳐 bifs/od 파일을 생성하고, 이 bifs/od 비트스트림과 mux 파일이 MP4 부호화기에 입력으로 들어가 하나의 비트스트림(".mp4") 파일을 생성한다. 이 "mp4" 파일은 최종 결과로서 MPEG-4 플레이어에서 시각화된다.
3) 원본 데이터를 매개 인자를 사용해 비트스트림을 만들어 URL로 전송하는 경우이다. 도 2와 도 6을 참조하여 원본 데이터를 매개 인자를 사용해 비트스트림을 만들어 URL로 전송하는 실시 예를 설명하겠다.
도 6은 BitWrapper 노드 안에서 물체 A(예 : 컵)에 대한 3차원 데이터(기하 정보, 연결정보, 색상정보 등)를 매개인자를 사용해 압축하여 물체 A의 압축된 비트스트림(bitstream)을 URL을 사용해 전송하는 방법을 나타낸다. 여기서는 상술한 버퍼를 통해 전송하는 방법과 다른 점 2가지가 있다. 첫째, BitWrapper에서 url ID(예:12)를 사용하고, 상기 url ID 와 같은 ObjectDescriptorID를 갖는 BitWrapperEncodingHints에 물체 A의 압축된 비트스트림의 위치정보(파일 "bunny-15000-tcp .m3d")가 명시되고, 이를 사용해 압축된 비트스트림이 전송된다. 둘째, 물체 A의 압축된 비트스트림의 위치 정보는 .mux의 위치 정보에 포함된다. 이것은 BitWrapper 노드의 url ID와 같은 ObjectDescriptorUpdate에 명시된다. 상기 .mux의 위치정보는 물체 A의 압축된 비트스트림의 위치정보(파일 "bunny-15000-tcp .m3d")를 링크하고 있고, 물체 A의 압축된 비트스트림의 위치 정보에는 물체 A의 압축 비트스트림을 링크하고 있다. 따라서 url을 사용해 "bunny-15000-tcp.m3d" 파일의 비트스트림이 전송된다. 이러한 방법이 도 2에서와 같이 입력 XMT 파일에 명시되어 입력으로 들어오면, XMT 파서에서 XMT-A 스키마를 참조하고, 스타일 쉬트(XMT2BIFS, XMT2MUX)를 사용하여 .mux의 위치정보를 장면 데이터와 함께 .scene에 대한 비트스트림에 실어 전송한다. 그리고 .mux 내의 내용에는 MPEG-4 부호화기인 BIFS 부호화기가 실행된 결과인 .bifs/.od 가 포함된다. 또한 물체 A의 압축된 비트스트림의 위치정보("bunny-15000-tcp.m3d")도 포함된다.
이렇게 해서 물체 A의 압축된 비트스트림의 위치 정보(.mux 내의 내용)와 .bifs/.od 파일이 MP4 부호화기의 입력으로 들어와 하나의 비트스트림 파일(.mp4)이 생성되고, MPEG-4 플레이어에서 그 결과를 볼 수 있다. 실시 예를 들어 더 자세한 설명을 하겠다.
[실시예 3] 다음은 BitWrapper를 사용해 원본의 3차원 메쉬정보를 매개 인자를 사용해 비트스트림을 만들고 URL을 사용해 전송하는 XMT 예제이다.
<Header>
...
<ObjectDescriptor objectDescriptorID="12" binaryID="12">
<Descr>
<esDescr>
<ES_Descriptor ES_ID="PI" binaryID="211" OCR_ES_ID="PIC"> ...
<StreamSource>
<BitWrapperEncodingHints>
<BitWrapper3DMCEncodingHints>
<sourceFormat>
<paramvalue="bunny-15000-tcp.m3d"> </param>
</sourceFormat>
</BitWrapper3DMCEncodingHints>
</BitWrapperEncodingHints>
</StreamSource>
</ES_Descriptor>
</esDescr>
</Descr>
</ObjectDescriptor>
</Header>
<Body>
<Replace>
<Scene>
<Group>
<children>
<Shape>
<geometry DEF="MY_BOX">
<Box size="69"></Box>
<BitWrapper type="0" url="12"> <node>
<IndexedFaceSet ccw="TRUE"
solid="TRUE"
coordIndex="0,1,2,-1,3,4,5,-1, ..."
normalPerVertex="TRUE">
<coord DEF="Box-COORD"></coord>
<Coordinate point="012,023,401,154,512,265, ..."></Coordinate>
<normal>
<Normal vector="0.7859 -0.341 -0.5159, 0.3821 -0.801 0.4615, ..."> </Normal>
</normal>
</IndexedFaceSet>
<node>
</IndexedFaceSetEncodingParameter coordQits="10"
normalQBits="9"
coordPreMode="2"
normalPredMode="0"
errorResilience="OFF"> </IndexedFaceSetEncodingParameter>
</BitWrapper>
</geometry>
</Shape>
</children>
</Group>
</Scene>
</Replace>
<ObjectDescriptorUpdate>
<OD>
<ObjectDescriptorBase>
<ObjectDescriptor objectDescriptorID="12" binaryID="12"> <URL URLstring="UrlWithEP.scr"></URL> </ObjectDescriptor>
</ObjectDescriptorBase>
</OD>
</ObjectDescriptorUpdate>
</Body>
도 2에서 실시예 3과 같이 BitWrapper 노드를 사용해 3차원 메쉬 정보와 그 매개 인자를 사용해 압축하는 XMT 표현의 입력 파일이 들어오면, XMTRef 파서(Parser)에서 BitWrapper 노드 안에서의 3차원 메쉬 정보 매개 인자를 사용해 압축하여 비트스트림을 만들어 낸다. 이것은 BitWrapper 노드와 매개 인자에 대한 XMT-A 스키마 정의를 따른다. 또한 XMT-A 스키마와 스타일 쉬트(XMT2BIFS와 XMT2MUX) 파일을 사용해, MPEG-4 부호화기의 입력 파일(".scene" 파일과 ".mux" 파일)을 만들어 낸다. 이 결과는 다음과 같다.- UrlWithEP.scene 결과 -
...
BitWrapper {
node IndexedFaceSet {
ccw TRUE
coordIndex [ 0, 1, 2, -1, 3, 4, 5, -1, ... ] normalPerVertex TRUE
solid TRUE
coord DEF Box-COORD Coordinate {
point [012, 023, 401, 154, 512, 265, ... ]
}
normal Normal {
vector [0.7859, -0.341, -0.5159, 0.3821, -0.801, 0.4651, ... ]
}
}
IndexedFaceSetEncodingParameter {
coordQBits 10
normalQBits 9
coordPredMode 2
normalPredMode 0
errorResilience OFF
}
type 0
url 12
}
..
UPDATE OD [
ObjectDescriptor { objectDescriptorID 12
muxScript UrlWithEP.scr
}
]
- "UrlWithEP.mux 결과 -
...
ObjectDescriptor {
objectDescriptorID 12
esDescr [
ES_Descriptor {
ES_ID 211
...
muxInfo MuxInfo{
fileName "bunny-15000-tcp.m3d"
streamFormat 3DMC
}
]
}
위와 같은 .scene 파일과 .mux 파일은 MPEG-4 부호화기의 입력으로 사용되어, BIFS 부호화기를 거쳐 .bifs/.od 파일을 생성하고, 이 .bifs/.od 비트스트림과 mux 파일이 MP4 부호화기에 입력으로 들어가 비트스트림(".mp4") 파일을 생성한다. 이 "mp4" 파일은 최종 결과로서 MPEG-4 플레이어에서 시각화된다.
(4) 이미 압축된 비트스트림을 사용해 URL로 전송하는 경우이다. 도 2와 도 6을 참조하여 이미 압축된 비트스트림을 사용해 URL로 전송하는 실시 예를 설명하기로 한다.
도 7은 BitWrapper 노드 안에서 이미 압축된 물체 A(예 : 컵)에 대한 3차원 데이터(기하 정보, 연결정보, 색상 등)의 비트스트림(bitstream)이 URL을 사용해 전송하는 방법을 나타낸다. 이 경우 버퍼와의 다른 점에 대해서는 "3) 원본 데이터를 매개 인자를 사용해 비트스트림을 만들어 URL로 전송하는 경우"와 같다. 그러나 직접 물체 A에 대한 3차원 데이터를 매개 인자를 사용해서 압축하는 것이 아니라, 이미 압축된 물체 A에 대한 비트스트림을 URL을 사용해 전송하는 방법이 다르다. 따라서 도 2에서와 같이 입력 XMT 파일에 BitWrapper 노드에 원본 데이터와 매개 인자가 없고, url ID만 있다.
실시 예를 들어 더 자세한 설명을 하겠다.
[실시예 4] 다음은 BitWrapper를 사용해 이미 압축된 3차원 메쉬 정보 비트스트림을 URL을 사용해 전송하는 XMT 예제이다. <Header>
...
<ObjectDescriptor objectDescriptorID="12" binaryID="12">
<Descr>
<esDescr>
<ES_Descriptor ES_ID="PI" binaryID="211" OCR_ES_ID="PIC">
<StreamSource>
<BitWrapperEncodingHints>
<BitWrapper3DMCEncodingHints>
<sourceFormat>
<param value="bunny-15000-tcp.m3d"> </param>
</sourceFormat>
</BitWrapper3DMCEncodingHints>
</BitWrapperEncodingHints>
</StreamSource>
</ES_Descriptor>
</esDescr>
</Descr>
</ObjectDescriptor>
</Header>
<Body>
<Replace>
<Scene>
<Group>
<children>
<Shape>
<geometry DEF="MY_BOX"> <BitWrapper type="0" url="12">
<node>
<IndexedFaceSet>
<coord DEF="Box-COORD"></coord>
<Coordinate> </Coordinate>
</IndexedFaceSet> </node>
</BitWrapper>
</geometry> </Shape>
</children>
</Group>
</Scene>
</Replace>
<ObjectDescriptorUpdate>
<OD>
<ObjectDescriptorBase>
<ObjectDescriptor objectDescriptorID="12" binaryID="12"> <URL URLstring=" UrlWithoutEP.scr">
</URL>
</ObjectDescriptor>
</ObjectDescriptorBase>
</OD>
</ObjectDescriptorUpdate>
</Body>
도 2에서 실시예 4와 같이 BitWrapper 노드를 사용해 이미 압축된 3차원 메쉬 정보 비트스트림을 URL로 전송하는 XMT 표현의 입력 파일이 들어오면, XMTRef 파서(Parser)에서 BitWrapper 노드 안의 URL로 전송되는 압축된 3차원 메쉬 정보 비트스트림을 만들어 낸다. 이것은 BitWrapper 노드와 매개 인자에 대한 XMT-A 스키마 정의를 따른다. 또한 XMT-A 스키마와 스타일 쉬트(XMT2BIFS와 XMT2MUX) 파일을 사용해, MPEG-4 부호화기의 입력 파일(".scene" 파일과 ".mux" 파일)을 만들어 낸다. 이 결과는 다음과 같다.- URLWithoutEP.scene 결과 -
...
BitWrapper {
node IndexedFaceSet {
coord DEF Box-COORD Coordinate {
}
}
type 0
url 12
}
...
UPDATE OD [
ObjectDescriptor {
objectDescriptorID 12
muxScript UrlWithoutEP.scr}
]
- URLWithoutEP.mux 결과 -
...
ObjectDescriptor {
objectDescriptorID 12
esDescr [
ES_Descriptor {
ES_ID 211
...
muxInfo MuxInfo{
fileName "bunny-15000-tcp.m3d"
streamFormat 3DMC
}
...
위와 같은 scene 파일과 mux 파일은 MPEG-4 부호화기의 입력으로 사용된다. scene 파일은 BIFS 부호화기를 거쳐 .bifs/.od 파일을 생성하고, 이 .bifs/.od 파일과 mux 파일이 MP4 부호화기에 입력으로 들어가 하나의 비트스트림(".mp4") 파일을 생성한다. 상기 "mp4" 파일은 최종 결과로서 MPEG-4 플레이어에서 시각화된다. 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 의한 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법 및 시스템에 의하면, 저작자가 메타 표현 방법을 사용해서 3D 컨텐츠 저작단계에서 3D 데이터의 표현 및 압축을 할 수 있다. 저작자가 압축의 선택과 조절이 가능하다. 그 방법은 메타 표현의 선택 여부에 따라 압축의 가능 여부를 결정할 수 있다. 또한 메타 표현 방법을 조절하므로 압축 방식을 조절할 수 있다(encoding paramters, in-band/out-band scenario).
그리고 본 발명을 이용하여 XML 기반의 MPEG-4 프리미티브(primitive)들을 사용해 쉽게 저작할 수 있는 툴(tool)을 만들 수 있으며, 이렇게 만들어진 2D, 3D 컨텐츠는 어느 플랫폼(platform)의 애플리케이션에서든지 재사용이 가능하다. 또한 저작 단계에서 저작자가 3D 데이터를 압축할 수 있기 때문에 낮은 네트워크 대역폭(bandwidth)에서도 3D 그래픽 데이터의 실시간 시각화 또는 실시간 애니메이션을 가능하게 할 수 있다. 그리고 다양한 3D 그래픽 데이터를 제작할 수 있게 해 준다.
도 1은 본 발명에 의한 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성시스템의 구성을 블록도로 도시한 것이다.
도 2는 본 발명에 의한 그래픽 압축에 관한 메타표현을 이용한 입력파일 생성 시스템의 다른 구성을 블록도로 도시한 것이다.
도 3은 텍스트 구문(textual syntax)을 사용해서 MPEG-4 장면 기술(scene description)을 나타내기 위한 XMT 프레임워크이다.도 4는 물체 A에 대한 3차원 데이터를 매개인자를 사용해 압축하여 물체 A의 압축된 비트스트림을 버퍼("BufferWithEP.m3d")를 사용해서 전송하는 방법을 나타낸다.
도 5는 이미 압축된 비트스트림을 버퍼로 전송하는 경우를 설명하는 도면이다.
도 6은 BitWrapper 노드 안에서 물체 A에 대한 3차원 데이터를 매개인자를 사용해 압축하여 물체 A의 압축된 비트스트림을 URL을 사용해 전송하는 방법을 나타낸다.
도 7은 BitWrapper 노드 안에서 이미 압축된 물체 A에 대한 3차원 데이터의 비트스트림을 URL을 사용해 전송하는 방법을 나타낸다.

Claims (21)

  1. 적어도 압축할 객체 데이터에 관한 정보를 포함하는 압축노드와, 압축에 필요한 매개인자를 정의하고 있는 XML 스키마를 구비하는 단계;
    XML 입력파일을 상기 XML 스키마를 참조하여 소정의 데이터 압축부호화기에 입력되는 파일로의 변환을 지원하는 스타일 쉬트(style sheet)를 구비하는 단계; 및
    XML 입력파일을 상기 XML 스키마 및 상기 스타일 쉬트를 참조하여 파싱하여 소정의 데이터 압축부호화기에 입력되는 파일을 생성하는 단계를 포함함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  2. 제1항에 있어서, 상기 XML 스키마는
    적어도 상기 압축된 객체 데이터를 저장하고 있는 파일의 위치정보를 포함하고 있는 EncodingHints를 더 구비함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  3. 제1항 또는 제2항에 있어서, 상기 압축매개인자는
    압축 대상이 되는 객체의 정점 좌표에 대한 키프레임 애니메이션 데이터에 관한 매개인자, 3차원 메쉬 정보에 관한 매개인자, 회전 이동 키프레임 애니메이션 데이터에 관한 매개인자 및 위치 이동 키프레임 애니메이션 데이터에 관한 매개인자 중 적어도 하나를 포함함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  4. 압축할 객체 데이터에 관한 정보를 포함하고 있는 압축노드와, 압축에 필요한 매개인자, 및 적어도 압축된 객체 데이터 파일의 위치정보를 포함하는 BitWrapperEncodingHints를 정의하고 있는 XMT 스키마를 구비하는 스키마단계;
    XMT 입력파일을 상기 XMT 스키마를 참조하여 scene 파일로의 변환을 지원하는 XMT2BIFS style sheet와, XMT 입력파일을 상기 XMT 스키마를 참조하여 mux 파일로의 변환을 지원하는 XMT2MUX style sheet를 구비하는 스타일쉬트단계; 및XMT 입력화일을 상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 파싱하여 scene 파일 및 mux 파일을 생성하는 파싱단계를 포함함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  5. 제4항에 있어서, 상기 압축노드는 압축할 객체 데이터를 포함하고 있는 노드필드;
    url 필드와 상호 배타적으로 사용되며, 상기 노드의 압축된 비트스트림을 인-밴드로서 전송하는 buffer필드; 및
    상기 buffer 필드와 상호 배타적으로 사용되며, 상기 노드의 압축된 비트스트림을 아웃-밴드로서 전송하는 url 필드를 포함하여 이루어짐을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  6. 제5항에 있어서, 상기 압축노드는
    노드압축 스킴의 종류를 나타내는 타입필드를 더 구비함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  7. 제4항에 있어서, 상기 압축매개인자는
    압축 대상이 되는 객체의 정점 좌표에 대한 키프레임 애니메이션 데이터에 관한 매개인자, 3차원 메쉬 정보에 관한 매개인자, 회전 이동 키프레임 애니메이션 데이터에 관한 매개인자 및 위치 이동 키프레임 애니메이션 데이터에 관한 매개인자 중 적어도 하나를 포함함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  8. 제4항에 있어서, 상기 BitWrapperEncodingHints는
    압축노드의 URL ID 와 같은 객체기술 ID정보 및 mux 파일이 제공하는 압축된 비트스트림을 전송하는 파일이름과 비트스트림 포맷 종류에 관한 정보를 더 구비함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  9. 제4항에 있어서, 상기 파싱단계는
    원본데이터와 압축 매개인자 및 버퍼를 구비하는 압축노드를 포함하는 XMT 입력파일을 받아들이는 단계; 및
    상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 상기 XMT 입력파일을 파싱하여 scene 파일 및 mux 파일을 생성하는 단계를 포함하여 이루어짐을 특징으로 하고,
    상기 scene 파일은
    상기 원본데이터와, 압축 매개인자와, 상기 원본데이터를 압축한 비트스트림을 전송할 버퍼를 구비하며,
    상기 mux 파일은
    상기 scene 파일을 BIFS 인코더를 통해 부호화된 파일이름과, 스트림 포맷 정보를 구비하는, 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  10. 제4항에 있어서, 상기 파싱단계는
    이미 압축된 객체데이터가 일시 저장되어 있는 버퍼정보를 구비하는 압축노드를 포함하는 XMT 입력파일을 받아들이는 단계; 및
    상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 상기 XMT 입력파일을 파싱하여 scene 파일 및 mux 파일을 생성하는 단계를 포함하여 이루어짐을 특징으로 하고,
    상기 scene 파일은
    객체데이터를 압축한 비트스트림을 전송할 버퍼 정보를 구비하며,
    상기 mux 파일은
    상기 scene 파일을 BIFS 인코더를 통해 부호화된 파일이름과, 스트림 포맷 정보를 구비하는, 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  11. 제4항에 있어서, 상기 파싱단계는
    원본데이터와 압축 매개인자 및 url정보를 구비하는 압축노드와, 압축노드의 url ID 와 같은 객체기술 ID(objectDescriptor ID) 정보 및 객체의 압축된 비트스트림의 위치정보를 구비하는 BitWrapperEncodingHints를 포함하는 XMT 입력파일을 받아들이는 단계; 및
    상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 상기 XMT 입력파일을 파싱하여 scene 파일 및 mux 파일을 생성하는 단계를 포함하여 이루어짐을 특징으로 하고,
    상기 scene 파일은
    상기 원본데이터와, 압축 매개인자와, 상기 원본데이터를 압축한 비트스트림에 관한 정보를 링크하는 url 정보를 구비하며,
    상기 mux 파일은
    상기 BitWrapperEncodingHints에 명시된 객체의 압축된 비트스트림의 위치정보 및 스트림 포맷 정보를 구비하는, 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  12. 제11항에 있어서, 상기 XMT 입력파일은
    상기 BitWrapperEncodingHints에 나타난 객체 ID와 동일한 객체 기술 ID 정보와 파싱 결과 생성될 mux 파일이름 정보를 포함하고 있는 ObjectDescriptorUpdate를 더 구비하며,
    상기 scene 파일은
    상기 BitWrapperEncodingHints에 나타난 객체 ID와 동일한 객체기술 ID 정보와 mux 파일 이름 정보를 더 구비함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  13. 제4항에 있어서, 상기 파싱단계는
    이미 압축된 객체데이터에 관한 정보와 링크된 URL 정보를 구비하는 압축노드와 URL ID와 같은 객체기술(objectDescriptor) ID 정보 및 객체의 압축된 비트스트림의 위치정보를 구비하는 BitWrapperEncodingHints 를 포함하는 XMT 입력파일을 받아들이는 단계; 및
    상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX style sheet를 이용하여 상기 XMT 입력파일을 파싱하여 scene 파일 및 mux 파일을 생성하는 단계를 포함하여 이루어짐을 특징으로 하고,
    상기 scene 파일은
    상기 압축노드에 명시된 객체기술 ID와 동일하며 상기 원본데이터를 압축한 비트스트림에 관한 정보와 링크하는 url 정보를 구비하며,
    상기 mux 파일은
    상기 BitWrapperEncodingHints에 명시된 객체의 압축된 비트스트림의 위치정보 및 스트림 포맷 정보를 구비하는, 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  14. 제13항에 있어서, 상기 XMT 입력파일은
    상기 BitWrapperEncodingHints에 나타난 객체 ID와 동일한 객체 기술 ID 정보와 파싱 결과 생성될 mux 파일이름 정보를 포함하고 있는 ObjectDescriptorUpdate를 더 구비하며,
    상기 scene 파일은
    상기 BitWrapperEncodingHints에 나타난 객체 ID와 동일한 객체 기술 ID 정보와 mux 파일이름 정보를 더 구비함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성방법.
  15. 제1항 내지 제14항 중 어느 한 항에 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  16. 적어도 압축할 객체 데이터에 관한 정보를 포함하는 압축노드와, 압축에 필요한 매개인자를 정의하고 있는 XML 스키마;
    XML 입력파일을 상기 XML 스키마를 참조하여 소정의 데이터 압축부호화기에 입력되는 파일로의 변환을 지원하는 스타일 쉬트(style sheet); 및
    XML 입력파일을 상기 XMT 스키마 및 상기 스타일 쉬트를 참조하여 파싱하여 소정의 데이터 압축부호화기에 입력되는 파일을 생성하는 XLM파서를 포함함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성시스템.
  17. 제16항에 있어서, 상기 압축매개인자는
    압축 대상이 되는 객체의 정점 좌표에 대한 키프레임 애니메이션 데이터에 관한 매개인자, 3차원 메쉬 정보에 관한 매개인자, 회전 이동 키프레임 애니메이션 데이터에 관한 매개인자 및 위치 이동 키프레임 애니메이션 데이터에 관한 매개인자 중 적어도 하나를 포함함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성시스템.
  18. 압축할 객체 데이터에 관한 정보를 포함하고 있는 압축노드와, 압축에 필요한 매개인자, 및 적어도 압축된 객체 데이터 파일의 위치정보를 포함하는 BitWrapperEncodingHints를 정의하고 있는 XMT 스키마;XMT 입력파일을 상기 XMT 스키마를 참조하여 scene 파일로의 변환을 지원하는 XMT2BIFS 스타일 쉬트;
    XMT 입력파일을 상기 XMT 스키마를 참조하여 mux 파일로의 변환을 지원하는 XMT2MUX 스타일 쉬트; 및
    XMT 입력화일을 상기 XMT 스키마와 상기 XMT2BIFS style sheet 및 XMT2MUX 스타일 쉬트를 이용하여 파싱하여 scene 파일 및 mux 파일을 생성하는 XMT파서를 포함함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성시스템.
  19. 제18항에 있어서, 상기 압축노드는
    압축할 객체 데이터를 포함하고 있는 노드필드;
    url 필드와 상호 배타적으로 사용되며, 상기 노드의 압축된 비트스트림을 인-밴드로서 전송하는 buffer필드; 및
    상기 buffer 필드와 상호 배타적으로 사용되며, 상기 노드의 압축된 비트스트림을 아웃-밴드로서 전송하는 url 필드를 포함하여 이루어짐을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성 시스템.
  20. 제18항에 있어서, 상기 압축매개인자는
    압축 대상이 되는 객체의 정점 좌표에 대한 키프레임 애니메이션 데이터에 관한 매개인자, 3차원 메쉬 정보에 관한 매개인자, 회전 이동 키프레임 애니메이션 데이터에 관한 매개인자 및 위치 이동 키프레임 애니메이션 데이터에 관한 매개인자 중 적어도 하나를 포함함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성시스템.
  21. 제18항에 있어서, 상기 BitWrapperEncodingHints는 압축노드의 URL ID와 같은 객체기술(objectDescriptor) ID 정보 및 mux 파일이 제공하는 압축된 비트스트림을 전송하는 파일이름과 비트스트림 포맷 종류에 관한 정보를 더 구비함을 특징으로 하는 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일 생성시스템.
KR10-2003-0084216A 2002-12-05 2003-11-25 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템 KR100513736B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP20030257606 EP1435738A1 (en) 2002-12-05 2003-12-03 Method and system for generating input file using meta language regarding graphic data compression
JP2003407786A JP3930851B2 (ja) 2002-12-05 2003-12-05 グラフィックデータ圧縮に関するメタ言語を用いた入力ファイルの生成方法およびシステム
US10/727,659 US7221801B2 (en) 2002-12-05 2003-12-05 Method and system for generating input file using meta language regarding graphic data compression
CN200310124820.3A CN1270237C (zh) 2002-12-05 2003-12-05 用有关图形数据压缩的元语言产生输入文件的方法和系统
JP2006251767A JP4384155B2 (ja) 2002-12-05 2006-09-15 グラフィックデータ圧縮に関するメタ言語を用いた入力ファイルの生成方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US43097702P 2002-12-05 2002-12-05
US60/430,977 2002-12-05
US51011803P 2003-10-14 2003-10-14
US60/510,118 2003-10-14

Publications (2)

Publication Number Publication Date
KR20040049262A KR20040049262A (ko) 2004-06-11
KR100513736B1 true KR100513736B1 (ko) 2005-09-08

Family

ID=37343738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0084216A KR100513736B1 (ko) 2002-12-05 2003-11-25 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템

Country Status (2)

Country Link
US (1) US7221801B2 (ko)
KR (1) KR100513736B1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216288B2 (en) * 2001-06-27 2007-05-08 International Business Machines Corporation Dynamic scene description emulation for playback of audio/visual streams on a scene description based playback system
US11388451B2 (en) 2001-11-27 2022-07-12 Comcast Cable Communications Management, Llc Method and system for enabling data-rich interactive television using broadcast database
US8365230B2 (en) 2001-09-19 2013-01-29 Tvworks, Llc Interactive user interface for television applications
US8042132B2 (en) 2002-03-15 2011-10-18 Tvworks, Llc System and method for construction, delivery and display of iTV content
US8413205B2 (en) * 2001-09-19 2013-04-02 Tvworks, Llc System and method for construction, delivery and display of iTV content
US8707354B1 (en) 2002-06-12 2014-04-22 Tvworks, Llc Graphically rich, modular, promotional tile interface for interactive television
US7703116B1 (en) 2003-07-11 2010-04-20 Tvworks, Llc System and method for construction, delivery and display of iTV applications that blend programming information of on-demand and broadcast service offerings
US8352983B1 (en) 2002-07-11 2013-01-08 Tvworks, Llc Programming contextual interactive user interface for television
US11070890B2 (en) 2002-08-06 2021-07-20 Comcast Cable Communications Management, Llc User customization of user interfaces for interactive television
US8220018B2 (en) 2002-09-19 2012-07-10 Tvworks, Llc System and method for preferred placement programming of iTV content
US8578411B1 (en) 2003-03-14 2013-11-05 Tvworks, Llc System and method for controlling iTV application behaviors through the use of application profile filters
US11381875B2 (en) 2003-03-14 2022-07-05 Comcast Cable Communications Management, Llc Causing display of user-selectable content types
US10664138B2 (en) 2003-03-14 2020-05-26 Comcast Cable Communications, Llc Providing supplemental content for a second screen experience
US8416952B1 (en) 2003-07-11 2013-04-09 Tvworks, Llc Channel family surf control
JP2007531078A (ja) * 2003-07-16 2007-11-01 ハンヤン ハク ウォン カンパニー,リミテッド 3次元メッシュ情報の符号化及び復号化方法並びにその装置
US8819734B2 (en) 2003-09-16 2014-08-26 Tvworks, Llc Contextual navigational control for digital television
KR100695126B1 (ko) * 2003-12-02 2007-03-14 삼성전자주식회사 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템과, afx부호화 방법 및 장치
US8725748B1 (en) * 2004-08-27 2014-05-13 Advanced Micro Devices, Inc. Method and system for storing and retrieving semiconductor tester information
US8108599B2 (en) * 2004-11-03 2012-01-31 Spectra Logic Corporation Erasure techniques for emulating streamed data format for non tape media
US7788299B2 (en) * 2004-11-03 2010-08-31 Spectra Logic Corporation File formatting on a non-tape media operable with a streaming protocol
US7475335B2 (en) * 2004-11-03 2009-01-06 International Business Machines Corporation Method for automatically and dynamically composing document management applications
JP4868733B2 (ja) * 2004-11-25 2012-02-01 キヤノン株式会社 構造化文書処理装置及び構造化文書処理方法、プログラム
KR100657940B1 (ko) * 2004-12-28 2006-12-14 삼성전자주식회사 깊이 영상 기반 표현 데이터 압축에 관한 메타표현을이용한 입력파일 생성 방법 및 시스템과, afx부호화방법 및 장치
CN1855095A (zh) * 2005-04-27 2006-11-01 国际商业机器公司 用于播放基于smil的多媒体内容的系统、方法及引擎
US7818667B2 (en) 2005-05-03 2010-10-19 Tv Works Llc Verification of semantic constraints in multimedia data and in its announcement, signaling and interchange
JP2007011576A (ja) * 2005-06-29 2007-01-18 Canon Inc 情報処理装置及び情報処理方法
US9158467B2 (en) 2006-02-21 2015-10-13 Spectra Logic Corporation Optional data encryption by partition for a partitionable data storage library
WO2007108412A1 (ja) * 2006-03-17 2007-09-27 Nec Corporation 3次元データ処理システム
US7508609B2 (en) * 2006-10-25 2009-03-24 Spectra Logic Corporation Formatted storage media providing space for encrypted text and dedicated space for clear text
US8014883B2 (en) * 2007-01-03 2011-09-06 International Business Machines Corporation Templates and style sheets for audio broadcasts
FR2912275B1 (fr) * 2007-02-02 2009-04-03 Streamezzo Sa Procede de transmission d'au moins un contenu representatif d'un service, depuis un serveur vers un terminal, dispositif et produit programme d'ordinateur correspondants
FR2926378B1 (fr) * 2008-01-14 2013-07-05 Canon Kk Procede et dispositif de traitement pour l'encodage d'un document de donnees hierarchisees
US8904276B2 (en) 2008-11-17 2014-12-02 At&T Intellectual Property I, L.P. Partitioning of markup language documents
US11832024B2 (en) 2008-11-20 2023-11-28 Comcast Cable Communications, Llc Method and apparatus for delivering video and video-related content at sub-asset level
CN102625155B (zh) * 2011-01-27 2014-11-26 天脉聚源(北京)传媒科技有限公司 一种视频关键帧展示方法和系统
US9112623B2 (en) 2011-06-06 2015-08-18 Comcast Cable Communications, Llc Asynchronous interaction at specific points in content
CN102289834B (zh) * 2011-08-30 2013-06-12 北京瑞信在线系统技术有限公司 一种微动画编辑器及其编辑方法
US11115722B2 (en) 2012-11-08 2021-09-07 Comcast Cable Communications, Llc Crowdsourcing supplemental content
US9553927B2 (en) 2013-03-13 2017-01-24 Comcast Cable Communications, Llc Synchronizing multiple transmissions of content
US10880609B2 (en) 2013-03-14 2020-12-29 Comcast Cable Communications, Llc Content event messaging
US11783382B2 (en) 2014-10-22 2023-10-10 Comcast Cable Communications, Llc Systems and methods for curating content metadata
US10585626B2 (en) 2017-12-07 2020-03-10 International Business Machines Corporation Management of non-universal and universal encoders

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5912676A (en) * 1996-06-14 1999-06-15 Lsi Logic Corporation MPEG decoder frame memory interface which is reconfigurable for different frame store architectures
US6751623B1 (en) * 1998-01-26 2004-06-15 At&T Corp. Flexible interchange of coded multimedia facilitating access and streaming
US6593936B1 (en) * 1999-02-01 2003-07-15 At&T Corp. Synthetic audiovisual description scheme, method and system for MPEG-7
US6693645B2 (en) * 1999-12-01 2004-02-17 Ivast, Inc. Optimized BIFS encoder
JP2001204026A (ja) * 2000-01-21 2001-07-27 Sony Corp 画像情報変換装置及び方法
JP3368883B2 (ja) 2000-02-04 2003-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データ圧縮装置、データベースシステム、データ通信システム、データ圧縮方法、記憶媒体及びプログラム伝送装置
US8296805B2 (en) * 2000-05-30 2012-10-23 Sony Corporation Command description scheme providing for dynamic update of instance documents and their associated schema
AUPQ849500A0 (en) 2000-06-30 2000-07-27 Canon Kabushiki Kaisha Hash compact xml parser
EP1303987A1 (en) * 2000-07-13 2003-04-23 Koninklijke Philips Electronics N.V. Mpeg-4 encoder and output coded signal of such an encoder
US7272299B2 (en) * 2000-12-08 2007-09-18 Matsushita Electric Industrial Co., Ltd. Data conversion apparatus, data coding apparatus, and data recording apparatus
US7203692B2 (en) * 2001-07-16 2007-04-10 Sony Corporation Transcoding between content data and description data
JP2003173625A (ja) * 2001-12-04 2003-06-20 Hitachi Ltd ファイル変換方法、ファイル変換装置、及びファイル生成装置
US20030110297A1 (en) * 2001-12-12 2003-06-12 Tabatabai Ali J. Transforming multimedia data for delivery to multiple heterogeneous devices
US6996571B2 (en) * 2002-06-28 2006-02-07 Microsoft Corporation XML storage solution and data interchange file format structure
US7251277B2 (en) * 2002-12-04 2007-07-31 International Business Machines Corporation Efficient means for creating MPEG-4 textual representation from MPEG-4 intermedia format
US20040111677A1 (en) * 2002-12-04 2004-06-10 International Business Machines Corporation Efficient means for creating MPEG-4 intermedia format from MPEG-4 textual representation

Also Published As

Publication number Publication date
KR20040049262A (ko) 2004-06-11
US20040111676A1 (en) 2004-06-10
US7221801B2 (en) 2007-05-22

Similar Documents

Publication Publication Date Title
KR100513736B1 (ko) 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템
KR100695126B1 (ko) 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템과, afx부호화 방법 및 장치
JP4384155B2 (ja) グラフィックデータ圧縮に関するメタ言語を用いた入力ファイルの生成方法
Kim et al. Extensible MPEG-4 textual format (XMT)
JP2001312741A (ja) 三次元シーンのノード処理方法及びその装置
US11967153B2 (en) Information processing apparatus, reproduction processing apparatus, and information processing method
JP4040577B2 (ja) スキーマ、構文解析法、およびスキーマに基づいてビットストリームを発生させる方法
KR100763903B1 (ko) Dibr데이터를 위한 스키마 및 스타일 쉬트
US9560401B2 (en) Method of transmitting at least one content representative of a service, from a server to a terminal, and associated device and computer program product
JP2006517309A (ja) MPEG−4IntermediaFormatからMPEG−4TextualRepresentationを作成する効率的な手段
JP2006514354A (ja) MPEG−4Textual表現からMPEG−4IntermediaFormatを作成する効率的な手段
KR100374797B1 (ko) 삼차원 장면의 노드를 처리하는 방법 및 그 장치
US20060139346A1 (en) Input file generating method and system using meta representation of compression of graphics data, and AFX coding method and apparatus
EP2348731A1 (en) Method and system for generating input file using meta representation on compression of graphics data, and animation framework extension (AFX) coding method and apparatus
CN100496124C (zh) 使用图形数据压缩的元表示产生输入文件的方法
KR101183861B1 (ko) 멀티미디어 콘텐트 처리 수행 방법
JP2005276193A (ja) Dibrデータのためのスキーマ及びスタイルシート
KR20040055556A (ko) 확장성 생성 언어 기반의 메타데이터 부호화 장치 및 그방법
Kim et al. Overview of Bitstream Syntax and Parser Description Languages for Media Codecs
WO2023275013A1 (en) Methods, apparatus and systems for signaling preselections
Hong et al. XFlavor: providing XML features in media representation
Lee et al. Converting Macromedia/sup/spl reg//Flash/sup TM/Shockwave/sup/spl reg//to MPEG-4 BIFS
CN117597937A (zh) 用于用信号传输预选的方法、装置和系统
Joung et al. XMT tools for interactive broadcasting contents description
Kim et al. Conversion mechanism for MPEG-4 contents services on Web environment

Legal Events

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

Payment date: 20120814

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee