KR100491956B1 - 엠펙(mpeg)-4 컨텐츠 생성 방법 및 그 장치 - Google Patents

엠펙(mpeg)-4 컨텐츠 생성 방법 및 그 장치 Download PDF

Info

Publication number
KR100491956B1
KR100491956B1 KR10-2001-0069150A KR20010069150A KR100491956B1 KR 100491956 B1 KR100491956 B1 KR 100491956B1 KR 20010069150 A KR20010069150 A KR 20010069150A KR 100491956 B1 KR100491956 B1 KR 100491956B1
Authority
KR
South Korea
Prior art keywords
scene
information
mpeg
generating
stream
Prior art date
Application number
KR10-2001-0069150A
Other languages
English (en)
Other versions
KR20030037614A (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 KR10-2001-0069150A priority Critical patent/KR100491956B1/ko
Publication of KR20030037614A publication Critical patent/KR20030037614A/ko
Application granted granted Critical
Publication of KR100491956B1 publication Critical patent/KR100491956B1/ko

Links

Classifications

    • 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
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Abstract

본 발명은 MPEG-4 컨텐츠 생성 방법 및 그 장치를 개시한다.
본 발명에 의하면, 사용자가 객체와 객체의 종류, 색상, 크기를 포함하는 객체의 속성을 설정하고, 객체가 재생되는 시작 시각 및 종료 시각을 설정하는 것을 포함하는 사용자의 입력에 의해 저작된 씬을 엠펙(MPEG)-4 컨텐츠로 생성하는 방법에 있어서, 저작된 상기 씬에 포함된 각 객체를 계층적으로 구성한 씬 트리를 생성하여 씬에 대한 정보를 얻고, 그 씬 정보를 기초로 하여 저작된 씬을 그 씬에 대응하는 씬 디스크립션으로 생성하는 씬 디스크립션 생성 단계, 소정의 객체 디스크립터 생성규칙에 따라 상기 저작된 씬에 포함된 이미지, 사운드, 비디오를 포함하는 미디어 객체에 대한 객체 인식자, 객체의 형식(type), 미디어 인코딩 정보 및 객체의 크기를 포함하는 정보인 객체 디스크립터를 생성하는 객체 디스크립터 생성 단계, 생성된 씬 디스크립션 및 객체 디스크립터를 소정 형식의 이진 스트림으로 변환하는 인코딩 단계 및 인코딩 단계에서 생성된 이진 스트림 형태의 씬 디스크립션 스트림 및 객체 디스크립터 스트림을 하나의 이진 스트림으로 먹싱하여 MPEG-4 스트림을 생성하는 먹싱 단계를 포함하여, MPEG-4 장면의 생성 규칙을 모르는 일반 컨텐츠 제작자가 쉽고 효율적으로 컨텐츠를 생성할 수 있으며, 시청각 객체의 시간 관계를 제한없이 할 수 있으며, 사용자가 MPEG-4의 BIFS의 구조를 알아야 저작할 수 있는 불편함을 없앴다.
MPEG-4 컨텐츠는 씬 디스크립션 기술의 어려움 등으로 인하여 그 저작이 용이하지 못하다. 그러나 본 발명에 따른 방법과 장치를 이용하여 시각적 저작 인터페이스를 제공하여 보다 효율적이고, 간편한 MPEG-4 컨텐츠 저작을 가능하게 하여, 객체 기반 스트리밍 서비스를 위한 풍부한 컨텐츠 저작을 가능하게 한다. 따라서 스트리밍 멀티미디어 서비스를 응용하는 여러 분야에서 다양한 내용의 컨텐츠 개발이 용이하다.

Description

엠펙(MPEG)-4 컨텐츠 생성 방법 및 그 장치{MPEG-4 contents generating method and apparatus}
본 발명은 MPEG-4 기술에 관한 것으로, 컨텐츠를 시각적으로 저작하고 그 결과를 MPEG-4 컨텐츠인 MPEG-4 스트림으로 자동 생성하는 방법 및 그 장치에 관한 것이다.
MPEG-4 컨텐츠는 여러 멀티미디어 객체와 객체간 시공간 관계로 구성된다. MPEG-4 시스템 표준은 MPEG-4 컨텐츠를 구성하고 있는 객체에 대한 표현과 시공간 관계 및 사용자 상호작용 정보를 기술하기 위하여 장면 디스크립션(scene description)과 객체 디스크립션(object description)을 정의한다.
사용자가 MPEG-4 컨텐츠를 만들기 위하여 MPEG-4 시스템에 정의된 장면 디스크립션과 객체 디스크립션을 생성하여야 한다. 그러나 이러한 장면 디스크립션과 객체 디스크립션은 일반 사용자가 텍스트 형태로 기술하기에 매우 어렵고 복잡한 형태로 구성되어 있다. MPEG-4 장면의 생성 규칙을 모르는 일반 컨텐츠 제작자가 쉽고 효율적으로 컨텐츠를 생성하기 위한 방법이 필요하다.
즉, 사용자에 의해 시청각적인 씬(scene) 및 사용자 상호작용과 시간 관계를 시각적이고 직관적으로 입력하게 하고 그 입력된 데이터를 MPEG-4 컨텐츠로 자동으로 생성하는 방법이 필요하다.
종래의 사용자가 MPEG-4 컨텐츠를 저작할 수 있는 방법을 제공하는 것은 상용의 프로그램을 통해 이루어질 수 있다. 그런데 이 프로그램들이 제공하는 방법은 2차원 장면 생성을 하고 있으며, 제한된 사용자 인터렉션을 지원한다. 또한 시청각 객체의 시간 관계의 시각적 저작이 제한적이며, 키프레임 2D 애니메이션 저작에 대한 방법을 지원하지 않는다.
그리고 시간 관계에 의한 그룹 객체 저작을 지원하지 않기 때문에 객체간 시간 관계 설정을 할 수 없다. 또한 시청각 객체에 대한 속성과 사용자 상호작용 정보를 씬 트리에 입력해야 하기 때문에 사용자가 MPEG-4의 BIFS(Binary Information for Scene)의 구조를 알아야 저작할 수 있는 불편함이 있다.
또한 종래에는 MPEG-4의 커맨드를 지원하지 않기 때문에 장면이나 객체의 삽입과 삭제, 갱신을 지원하지 않는다. 그리고 객체의 키프레임 2D 애니메이션 저작을 지원하지 않기 때문에 객체에 대한 애니메이션 설정이 비효율적인 문제가 있다.
본 발명이 이루고자 하는 기술적인 과제는, 상기의 문제점들을 해결하기 위해, 사용자에 의해 저작된 씬(scene)을 자동적으로 MPEG-4의 규격에 따른 씬 디스크립션으로 변환하고, 객체 디스크립터를 생성하며, 객체간의 재생 시간 관계를 설정할 수 있는 MPEG-4 컨텐츠 생성 방법 및 그 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적인 과제는, MPEG-4 컨텐츠 생성 방법을 기록한 컴퓨터가 읽을 수 있는 기록 매체를 제공하는 데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 의한, 사용자가 객체와 객체의 종류, 색상, 크기를 포함하는 객체의 속성을 설정하고, 객체가 재생되는 시작 시각 및 종료 시각을 설정하는 것을 포함하는 사용자의 입력에 의해 저작된 씬을 엠펙(MPEG)-4 컨텐츠로 생성하는 방법에 있어서, (a) 저작된 상기 씬에 포함된 각 객체를 계층적으로 구성한 씬 트리를 생성하여 씬에 대한 정보를 얻고, 그 씬 정보를 기초로 하여 상기 저작된 씬을 그 씬에 대응하는 씬 디스크립션으로 생성하는 씬 디스크립션 생성 단계; (b) 소정의 객체 디스크립터 생성규칙에 따라 상기 저작된 씬에 포함된 이미지, 사운드, 비디오를 포함하는 미디어 객체에 대한 객체 인식자, 객체의 형식(type), 미디어 인코딩 정보 및 객체의 크기를 포함하는 정보인 객체 디스크립터를 생성하는 객체 디스크립터 생성 단계; (c) 상기 생성된 씬 디스크립션 및 객체 디스크립터를 소정 형식의 이진 스트림으로 변환하는 인코딩 단계; 및 (d) 상기 인코딩 단계에서 생성된 이진 스트림 형태의 씬 디스크립션 스트림 및 객체 디스크립터 스트림을 하나의 이진 스트림으로 먹싱하여 엠펙-4 스트림을 생성하는 먹싱 단계를 포함하는 것을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한, MPEG-4 컨텐츠 생성 장치는, 사용자가 소정의 입력 수단을 이용해서 저작하는 내용을 입력받으며, 입력한 결과인 객체를 사용자에게 표시하는 저작인터페이스; 사용자가 소정의 입력 수단을 이용하여 상기 저작인터페이스를 통해 저작하는 이벤트가 발생하면 이를 소정의 절차에 따라 처리하여 생성된 객체를 상기 저작인터페이스에 표시하며, 그 생성된 객체를 저장하는 이벤트처리기; 상기 이벤트 처리기에서 저장한 객체에 대한 속성 정보를 생성하는 씬디스크립션정보생성기; 상기 생성된 속성 정보를 계층 구조화하여 트리 형태로 정보화하여 씬 컴포지션 트리를 구성하며, 사용자에 의해 저작되는 객체가 변경되면 그에 따라 컴포지션 트리 구성을 변경하는 씬컴포지션트리구성/관리기; 상기 씬컴포지션트리구성/관리기가 구성한 씬 컴포지션 트리를 탐색하여 그 트리에 대응하는 MPEG-4 씬 디스크립션을 생성하는 씬디스크립션생성기; 소정의 객체 디스크립터 생성규칙에 따라 상기 저작된 씬에 포함된 이미지, 사운드, 비디오를 포함하는 미디어 객체에 대한 객체 인식자(ID), 객체의 형식(type), 미디어 인코딩 정보 및 객체의 크기를 포함하는 정보인 객체 디스크립터를 생성하는 객체디스크립터생성기; 및 상기 씬디스크립션생성기에서 생성된 씬 디스크립션과 상기 객체디스크립터생성기에서 생성된 객체 디스크립터를 포함하는 데이터를 소정의 방법으로 인코딩하고 먹싱하여 상기 사용자가 저작한 씬에 대응하는 엠펙(MPEG)-4 스트림을 생성하는 엠펙4스트림생성기를 포함하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 사용자가 객체와 객체의 종류, 색상, 크기를 포함하는 객체의 속성을 설정하고, 객체가 재생되는 시작 시각 및 종료 시각을 설정하는 것을 포함하는 사용자의 입력에 의해 저작된 씬을 엠펙(MPEG)-4 컨텐츠로 생성하는 방법을 기록한 컴퓨터가 읽을 수 있는 기록매체에 있어서, (a) 저작된 상기 씬에 포함된 각 객체를 계층적으로 구성한 씬 트리를 생성하여 씬에 대한 정보를 얻고, 그 씬 정보를 기초로 하여 상기 저작된 씬을 그 씬에 대응하는 씬 디스크립션 파일로 생성하는 씬 디스크립션 파일 생성 단계; (b) 소정의 객체 디스크립터 생성규칙에 따라 상기 저작된 씬에 포함된 이미지, 사운드, 비디오를 포함하는 미디어 객체에 대한 객체 인식자(ID), 객체의 형식(type), 미디어 인코딩 정보 및 객체의 크기를 포함하는 정보인 객체 디스크립터를 생성하는 객체 디스크립터 생성 단계; (c) 상기 생성된 씬 디스크립션 및 객체 디스크립터를 소정 형식의 이진 스트림으로 변환하는 인코딩 단계; 및 (d) 상기 인코딩 단계에서 생성된 이진 스트림 형태의 씬 디스크립션 스트림 및 객체 디스크립터 스트림을 하나의 이진 스트림으로 먹싱하여 엠펙-4 스트림을 생성하는 먹싱 단계를 포함하는 것을 특징으로 한다.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명한다.
본 발명에서 설명되는 MPEG-4 관련 기술은 이미 공개된 것이며, 그 공개된 기술에 대한 내용은 다음 사이트들에서 찾아볼 수 있다.
http://mpeg.telecomitalialab.com/
http://mpeg.telecomitalialab.com/standards/mpeg-4/mpeg-4.htm
http://www.dv.co.kr/basic/BASIC-Mpeg-ETNEWS.htm
이하에서는 MPEG-4에 관련된 기술적인 내용은 별도로 설명하지 않을 것이다.
본 발명의 전체적인 동작은 다음과 같다.
사용자 인터페이스의 시청각 객체 아이콘과 대화상자를 통하여 시각적으로 시청각 객체를 배치하고, 객체의 속성과 재생 시간, 사용자 상호작용 정보를 쉽게 설정한다. 저작된 화면은 자동으로 장면 디스크립션과 객체 디스크립션으로 생성되며, 생성된 정보과 컨텐츠를 구성하고 있는 미디어 스트림을 합성하여 MPEG-4 스트림을 생성한다.
MPEG-4 컨텐츠는 이미지, 비디오, 오디오, 텍스트 등의 다양한 형태의 미디오들의 복합체로 구성되는 멀티미디어 씬과 씬을 구성하는 미디어 객체들의 시간과 공간적 관계를 기술하는 씬 디스크립션(Scene Description)을 포함하여 이루어진다. 이때에 비디오, 오디오, 이미지 등의 미디어는 별도의 객체로 취급되는데, 이들에 대한 정보를 기술하고 있는 것이 객체 디스크립터(Object Descriptor)이다.
씬 디스크립션과 이를 구성하는 비디오, 오디오 등의 스트리밍 미디어들은 이진코드로 변환되는 인코딩과 먹싱 과정을 거쳐서 MPEG-4 스트림 형태로 생성된다. 이 때 이진코드로 형식화된 씬 디스크립션을 BIFS(BInary Format for Scene)이라고 한다. 이하에서는 특히 구분할 필요가 없는 경우에는 씬 디스크립션과 BIFS라는 표현을 구분없이 사용할 것이다.
도 1은 텍스트 형태의 씬 디스크립션의 일 예이다.
본 발명에 따른 방법은 예를 들면 도 2와 같은 시각적인 MPEG-4 컨텐츠 저작 환경을 통해 사용자에 의해 저작된 씬을 자동으로 도 1과 같은 텍스트 형태의 씬 디스크립션으로 변환하고, 객체 디스크립터 등을 생성한다. 도 2의 저작 인터페이스는 시청각 객체를 아이콘 집합으로 제공하여 사용자는 아이콘 선택 후 마우스 드래깅으로 멀티미디어 씬을 구성하도록 한다. 그리고 객체의 재생 시간 관계 저작을 위해서 타임 슬라이드바를 제공한다.
저작 인터페이스에서 이미지, 비디오, 텍스트, 2차원 기하 객체 등으로 이루어진 멀티미디어 씬을 구성하고, 특정 객체에 대한 마우스 클릭 등의 사용자 이벤트에 의해서 씬의 변화가 이루어지는 이벤트 정보를 저작하면 텍스트 형태의 씬 디스크립션 등이 자동 생성되고 MPEG-4 스트림 인코더 및 생성기에서 인코딩과 먹싱 과정으로 최종 MPEG-4 스트림을 생성한다.
이러한 MPEG-4 스트림은 로컬이나 리모트 호스트로 전송되어 디코딩 및 씬 재구성 과정을 거쳐서 사용자에게 재생된다. 도 3은 저작 인터페이스에서 저작된 시각 씬이 스트림으로 변화되고 다시 역과정을 거쳐서 재생되는 과정을 개략적으로 도시한 것이다.
도 4는 본 발명에 따른 MPEG-4 컨텐츠 생성 방법의 흐름을 도시한 것이다.
사용자가 객체와 객체의 종류, 색상, 크기를 포함하는 객체의 속성을 설정하고, 객체가 재생되는 시작 시각 및 종료 시각을 설정하는 것을 포함하는 사용자의 입력에 의해 저작된 씬을 MPEG-4 컨텐츠로 생성하는 이 방법은, 저작된 상기 씬에 포함된 각 객체를 계층적으로 구성한 씬 트리를 생성하여 씬에 대한 정보를 얻고, 그 씬 정보를 기초로 하여 저작된 씬을 그 씬에 대응하는 씬 디스크립션으로 생성하며(400 단계), 소정의 객체 디스크립터 생성규칙에 따라 저작된 씬에 포함된 이미지, 사운드, 비디오를 포함하는 미디어 객체에 대한 객체 인식자, 객체의 형식(type), 미디어 인코딩 정보 및 객체의 크기를 포함하는 정보인 객체 디스크립터를 생성하고(410 단계), 상기 생성된 씬 디스크립션 및 객체 디스크립터를 소정 형식의 이진 스트림으로 변환하며(420 단계), 상기 420 단계에서 생성된 이진 스트림 형태의 씬 디스크립션 스트림 및 객체 디스크립터 스트림을 하나의 이진 스트림으로 먹싱하여 MPEG-4 스트림을 생성하여 사용자가 화면을 통해 키보드와 마우스와 같은 입력 장치를 사용하여 저작한 객체를 MPEG-4 컨텐츠로 생성한다.
도 5는 본 발명에 따른 MPEG-4 컨텐츠 생성 장치의 구성을 블록으로 도시한 것이다.
이 장치는, 사용자가 소정의 입력 수단을 이용해서 저작하는 내용을 입력받으며, 입력한 결과인 객체를 사용자에게 표시되는 저작인터페이스(500), 사용자가 소정의 입력 수단을 이용하여 저작인터페이스(510)를 통해 저작하는 이벤트가 발생하면 이를 소정의 절차에 따라 처리하여 생성된 객체를 사용자 인터페이스(500)에 표시하며, 그 생성된 객체를 저장하는 이벤트처리기(510), 이벤트처리기(510)에서 저장한 객체에 대한 속성 정보를 생성하는 씬디스크립션정보생성기(520), 상기 생성된 속성 정보를 계층 구조화하여 트리 형태로 데이터베이스화하여 씬 컴포지션 트리를 구성하며, 사용자에 의해 저작되는 객체가 변경되면 그에 따라 컴포지션 트리 구성을 변경하는 씬컴포지션트리구성/관리기(530), 씬컴포지션트리구성/관리기(530)가 구성한 씬 컴포지션 트리를 탐색하여 그 트리에 대응하는 MPEG-4 씬 디스크립션을 생성하는 씬디스크립션생성기(540), 소정의 객체 디스크립터 생성규칙에 따라 상기 저작된 씬에 포함된 이미지, 사운드, 비디오를 포함하는 미디어 객체에 대한 객체 인식자, 객체의 형식, 미디어 인코딩 정보 및 객체의 크기를 포함하는 정보인 객체 디스크립터를 생성하는 객체디스크립터생성기(550) 및 씬디스크립션생성기(520)에서 생성된 씬 디스크립션과 객체디스크립터생성기(550)에서 생성된 객체 디스크립터를 포함하는 데이터를 소정의 방법으로 인코딩하고 먹싱하여 사용자가 저작한 씬에 대응하는 MPEG-4 스트림을 생성하는 MPEG4스트림생성기(560)를 포함한다.
이때에 저작인터페이스(500)는 시청각 객체 저작을 위한 인터페이스, 각 객체의 재생 시간 설정을 위한 인터페이스, 각 객체마다 발생할 수 있는 이벤트와 객체의 움직임 설정을 위한 인터페이스 및 복수의 객체를 그룹으로 분리하는 그룹 객체 저작을 위한 인터페이스를 포함하는 것이 바람직하다.
상기 시청각 객체 저작을 위한 인터페이스는 2차원 기하객체를 저작하기 위한 인터페이스 및 오디오, 비디오, 이미지 및 배경 이미지를 저작하기 위한 인터페이스를 포함하는 것이 바람직하다.
또한 상기 시청각 객체 저작을 위한 인터페이스와 그룹 객체 저작을 위한 인터페이스는 객체를 생성한 후에 그 객체의 속성을 변경할 수 있는 것이 바람직하다.
이하에서 도 4의 흐름과 도 5의 구성을 참조하여 본 발명의 동작을 상세하게 설명한다. 도 6은 도 5의 구성을 더 상세하게 도시한 도면이다.
저작인터페이스(500)는 시청각 객체 저작을 위한 메뉴와 아이콘, 각 객체의 재생 시간 설정을 위한 시간 설정 바, 각 객체마다 이벤트와 액션 설정을 위한 대화 상자와 아이콘, 여러 객체를 그룹으로 묶는 그룹 객체 저작을 위한 메뉴와 아이콘을 제공한다. 시청각 객체 저작 아이콘으로는 2차원 기하객체(사각형, 원, 점, 선) 아이콘과 오디오, 비디오, 이미지, 배경 이미지, 서브 씬(sub-scene)을 포함한다. 서브 씬은 하나의 MPEG-4 씬에 포함되는 또 다른 MPEG-4 씬이다.
각각의 시청각 객체와 그룹 객체는 생성한 후에 자신의 속성을 변경할 수 있다. 저작인터페이스(500)는 생성된 객체의 속성을 설정하기 위하여 속성 설정 대화 상자를 각 객체마다 제공한다. 2차원 기하 객체의 경우에는 색상, 모양, 크기, 선 굵기, 글꼴 등의 속성을 설정할 수 있도록 대화상자를 제공한다. 그리고 이미 생성된 객체에 대한 편집 연산을 제공한다. 객체 편집 연산으로는 객체 복사하기와 오리기, 붙이기, 지우기 등의 연산을 제공한다. 또한 애니메이션되는 객체 생성을 위해서 키프레임 애니메이션 기법의 저작 환경을 제공한다.
이벤트 처리기(510)는 저작인터페이스(500)에서 사용자가 발생시킨 마우스와 키보드와 같은 장치를 통한 입력인 이벤트를 처리하여 결과를 저작인터페이스(500)에 나타낸다. 저작인터페이스(500)에서 발생하는 이벤트의 예는 다음과 같다.
■ 사용자에 의한 객체 아이콘 선택
■ 사용자에 의한 마우스 왼쪽 버튼 클릭
■ 사용자에 의한 마우스 오른쪽 버튼 클릭
■ 사용자에 의한 마우스 드래깅
■ 사용자에 의한 메뉴 선택
■ 사용자에 의한 키보드 입력
위와 같은 이벤트가 발생되면 소정의 처리 모듈을 호출하여 저작인터페이스(500)에 결과를 반영한다. 이와 같은 처리 모듈은 컴퓨터에서 사용되는 마우스나 키보드와 같은 입력 장치에서 입력이 발생하면 그 입력에 따른 인터럽트를 처리하여 사용자가 입력한 데이터를 컴퓨터가 받아들이며, 그 결과를 저작인터페이스(500)가 사용자에게 표시되는 모니터와 같은 장치에 표시한다. 이와 같은 처리 방법이나 장치를 구현하는 것은 본 발명이 속한 분야의 통상의 지식을 가진 당업자에게는 자명한 것이므로 더 이상의 설명은 생략한다.
또한 이벤트 처리기(510)는 사용자의 메뉴 선택과, 마우스 이벤트, 키보드 이벤트를 탐지하여 이를 해석하고, 이벤트를 처리할 모듈을 호출한다. 객체 디스플레이어는 사용자가 객체를 생성할 때 인터페이스에 객체를 디스플레이하고, 객체의 속성을 변경하거나, 위치를 옮기거나, 크기를 변화시키거나, 삭제하거나, 복사하거나, 붙일 때 인터페이스에 객체를 다시 그리는 역할을 한다. 객체의 저장과 로드는 내부 자료 구조 형태로 씬을 저장하고 필요시에는 로드하는 기능을 가진다.
씬 디스크립션 정보 생성기(520)에서는 사용자가 입력하는 객체의 시각 속성 정보를 씬 디스크립션에서 사용하는 정보로 변환한다. 예를 들어 객체의 색상은 RGB값으로 표현되는데, 이를 씬 디스크립션에서 표현되는 숫자 영역으로 변환하여 색상 값을 저장한다.
시간 속성 정보 생성 기능 수단은 저장된 객체의 시각 속성이나 그 시각에서의 객체의 위치 등과 같은 시간에 관련된 정보를 추출한다. 시간 정보 생성 기능 수단은 씬 디스크립션에서 각 객체의 속성을 기술할 때, 재생 시작 시각과 종료 시각을 설정한다. 이 정보는 예를 들면 저작 인터페이스(500)에서 타임 슬라이드 바를 이용하여 설정하고, 씬 디스크립션 정보 생성기(520)에서 상기 타임 슬라이드바의 위치를 파악하여 해당 객체의 시작과 종료 시간을 결정한다.
이벤트 정보 생성 기능 수단에 대해 설명한다. 사용자가 저작한 씬의 사각형 객체를 마우스로 클릭하면 비디오 객체가 나타나서 재생된다는 시나리오와 같은 이벤트 정보의 저작이 이루어지면, 마우스 클릭이라는 이벤트를 입력받는 사각형 객체가 소스(source)객체가 된다. 그리고 이벤트에 의해서 반응을 보이는 객체인 비디오 객체가 대상 객체가 되며, 이벤트의 종류는 마우스 클릭으로 설정된다. 이때, 소스 객체, 대상 객체, 이벤트 종류 등의 정보를 설정하는 기능이 이벤트 정보 생성 기능이다.
씬컴포지션트리구성/관리기(530)는 저작된 씬을 내부 자료구조 형태인 씬 컴포지션 트리(Scene composition tree)로 생성하는 역할을 한다. 저작 인터페이스(500)에서 객체가 생성될 때마다, 씬 컴포지션 트리에 해당 객체를 삽입한다. 그리고 객체를 삭제하거나 복사 등의 편집 작업이나 속성 변화 등의 이벤트에 대해서도 씬 컴포지션 트리를 탐색하여 해당 객체를 삭제하거나 수정한다. 씬 컴포지션 트리에 삽입된 객체는 하위 노드로 자신의 속성 객체를 가진다. 이벤트 정보가 저작되면 이벤트 객체를 생성한 후에 이벤트의 소스 객체에 이벤트 객체를 추가한다.
씬디스크립션생성기(540)는 씬 컴포지션 트리를 탐색하여 MPEG-4 씬 디스크립션을 생성한다. 이 때 깊이 우선 탐색 기법을 사용하여 객체를 찾고 그 하위 노드인 속성 객체의 정보를 이용하여 씬 디스크립션을 확장해간다. 이벤트 객체를 발견하면 라우트 정보를 생성하여 기술한다. 즉 씬디스크립션생성기(520)는 씬 컴포지션 트리를 탐색할 때에 우선 탐색 기법을 이용하여 필요한 객체를 찾고, 그 객체의 하위 노드인 속성 객체의 정보를 이용하여 객체에 대한 씬 디스크립션을 생성하는 것을 반복하는 것이 바람직하다.
객체디스크립터생성기(550)는 생성된 씬에 사용되는 비디오 등의 객체에 대한 정보를 기술하는 객체 디스크립터 생성 모듈이다.
MPEG-4 스트림 생성기(560)는 씬 디스크립션과 객체 디스크립터 및 미디어 파일등을 인코딩하고 먹싱하여 MPEG-4 스트림을 생성한다.
이하에서는 각 입력되는 객체의 명세에 대한 설명을 한다. 시청각 객체 클래스에 대해 설명한다. 이 객체 클래스는 저작인터페이스(500)에서 사용자의 저작 행위가 이루어질 때마다 생성되는 정보들이다.
MPEG-4시스템에서 정의하는 멀티미디어 씬을 구성하는데 사용되는 시청각 객체를 다음과 같이 분류하고 이들을 기반으로 클래스 계층 구조를 정의한다. 이는 본 발명에 따른 바람직한 일 예이다.
■ 2차원 기하 객체 : 사각형, 원, 선
■ 스트림 객체 : 이미지, 비디오 또는 오디오 파일과 같은 서브씬
■ 그룹 객체 : 두 개 이상의 객체로 구성되는 객체
도 7은 이러한 시청각 객체의 클래스 계층 구조를 도시한 것이다. 두 개 이상의 객체들로 구성되는 그룹 객체도 독립적인 시청각 객체로 다루어진다. 2차원 기하 객체, 스트림 객체, 그룹 객체로 분류된 시청각 객체는 그들의 공통 속성을 가지는 BaseGeometryObject 클래스(700), BaseStreamObject 클래스(702), BaseGroupObject 클래스(704)를 부모 클래스로 각각 상속받는다. 그리고 BaseGeometryObject 클래스(700), BaseStreamObject 클래스(702), BaseGroupObject 클래스(704)는 모든 시청각 객체에 공통되는 속성들과 저작인터페이스(500) 상에서의 드로잉을 위해 필요한 속성들이 정의된 BaseObject 클래스(706)를 상속받고 있다.
도 7에서 각 Object class들간의 상호 관계에 대해 설명한다.
각 클래스는 저작 인터페이스에서 생성되는 객체의 인스턴스(instance)이다. 즉 사각형 객체가 생성되면 내부적으로는 Rectangle 클래스의 인스턴스가 생성된다. 이때 Rectangle 클래스는 BaseGeometry object 클래스(700)를 상속 받고 있고, BaseGeometry object 클래스(700)는 다시 BaseObject 클래스(706)를 상속 받고 있다. 따라서, 실제 Rectangle 클래스에 설정된 속성과 더불어서, BaseGeometry object 클래스(700)와 BaseObject 클래스(706)가 가지는 속성과 기능을 모두 가진다.
이를 보다 일반적으로 설명하면, 클래스 계층 구조에서 상위 클래스는 그와 수직으로 연결된 하위 클래스에 상속된다. 이때 하위 클래스는 상위 클래스의 모든 속성과 기능을 상속받아서 사용 가능하다. 또한 연결된 클래스끼리는 클래스의 속성이나 기능을 참조한다.
BaseGeometry object 클래스(700)는 사각형, 원, 선 등의 이차원 기하 객체의 상위 클래스이며, BaseStream object 클래스(702)는 비디오, 오디오, 이미지 객체 클래스의 상위 클래스이다. 즉 이차원 기하 객체 클래스는 BaseGeometry object 클래스(700)의 속성과 기능을 공통적으로 가지게 되며, 비디오, 오디오, 이미지 클래스는 BaseStream object 클래스(702)의 속성을 공통적으로 가진다.
따라서 상위 클래스는 자신의 하위 클래스가 가지게 될 공통된 속성들과 기능들을 설정하고, 각 클래스만이 가지는 고유의 속성과 기능들은 각각의 하위 클래스가 가지도록 설계한다. 최상위 클래스인 BaseObject 클래스(706)는 모든 객체가 가지는 공통 속성을 가진다.
모든 객체에 사용자 이벤트 설정이 가능하기 때문에 최상위 클래스인 BaseObject(706)가 Event 클래스(708)를 참조할 수 있도록 설계하였다. 그리고, 이벤트 객체 클래스는 여러 인스턴스가 생성되어 하나의 BaseObject 클래스가 참조할 수 있도록 한다.
Attribute 클래스는 각 객체의 내부 색, 선 색 등의 속성을 가지는 클래스이므로, 이차원 기하 객체와 비디오, 오디오, 이미지 객체가 이 클래스를 참조해야 한다. 따라서 이들의 상위 클래스인 BaseGeometry object 클래스(700)와 BaseStream object 클래스(702)가 이를 참조한다. 그리고 Attribute 클래스는 여러 인스턴스가 생성되어 하나의 객체가 참조할 수 있도록 한다.
SubSceneObject는 또 다른 MPEG-4 장면을 객체로 삽입시키는 경우이다. 이 때 SubSceneObject 클래스는 색상과 같은 Attribute 클래스가 가지는 속성이나 Event 클래스가 가지는 속성을 참조할 필요가 없다. 왜냐하면 SubSceneObject를 구성하는 객체가 자신들의 Attribute와 Event 속성을 가지기 때문이다.
Group 객체는 여러 개의 객체를 하나의 객체로 묶어 놓은 객체이다. 그 속성에 따라서 Group, Anchor, Layer2D 등의 그룹 객체로 생성된다. 이때 모든 그룹 객체의 공통 속성을 가지는 BaseGroupObject 클래스(704)가 상위 클래스가 되고, 이것은 그룹으로 묶인 각 객체가 Attribute 클래스와 Event 클래스를 가지고 있기 때문에 따로 이 두 클래스와는 연결되어 참조할 필요가 없다. 그룹 객체도 하나의 객체로 취급되므로 모든 객체의 최상위 객체인 BaseObject(706)를 참조할 수 있어야 하고, 여러 시청각 객체를 참조할 수 있어야 한다.
속성 객체 클래스에 대한 설명은 다음과 같다.
도 8은 속성 객체 클래스의 계층 구조의 일 예를 도시한 것이다. 각 시청각 객체가 가지는 속성들을 MPEG-4 시스템에서 정의하고 있는 씬 디스크립션 생성에 필요한 정보를 기반으로, 예를 들면, 다음의 표들과 같이 정의한다.
■ 2차원 기하 객체
Rectangle은 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
Float m_width 가로 길이
Float m_height 세로 길이
Circle은 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
Float m_radius 원의 반지름
Line은 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
Vec[] coordinate 라인의 양 끝점의 좌표
Polygon은 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
Vec[] Vertices 꼭지점의 집합
Int[] coordIndex 꼭지점 좌표의 집합
Point는 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
Vec[] Point 포인트의 좌표
Curve는 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
Vec[] Vertices 제어점의 집합
int Fineness
int Type
Text는 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
Char* String 문자열
int Length 문자열의 길이
■ 스트림 객체
이미지는 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
char* url 이미지 파일 경로
비디오는 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
Bool loop 반복 재생 여부
SFFloat speed 재생 속도
오디오는 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
Float pitch 샘플링 옵션
Float speed 재생 속도
서브 씬은 다음의 표와 같이 정의될 수 있다.
자료형 Feature 설명
Char* url 서비 씬 파일 경로
이와 같이 분류된 속성들은 도 8과 같이 각 클래스로 정의하고 속성 객체를 구분하는 속성 타입을 가지는 BaseProperty 클래스(800)를 부모클래스로 상속받는다.
도 9는 이벤트 객체 클래스의 정의된 계층의 일 예를 도시한 것이다.
이벤트 객체는 사용자가 프리젠테이션 되고 있는 씬 내의 객체와 상호 작용할 수 있는 이벤트와 그에 해당되는 액션을 정의하는 객체이다. 설정 가능한 이벤트는 객체를 객체 종류 별로 다음과 같이 분류한다.
■ Rectangle, Circle, Polygon이 대상 객체 일 때
- Scale : width, height
- Color
- Translation
- Rotation
- Filled
- lineProperty :lineColor, lineStyle, width
- hyperlink
- Active
- InActive
■ Line이 대상 객체 일 때
- Scale : width, height
- Translation
- Rotation
- lineProperty :lineColor, lineStyle, width
- hyperlink
- Active
- InActive
■ 텍스트가 대상 객체일 때
- Translation
- Rotation
- hyperlink
- Active
- InActive
■ Image가 대상 객체일 때
- Translation
- Hyperlink
- Active
- InActive
■ Video가 대상 객체일 때
- Translation
- Speed
- Hyperlink
- StartTime
- StopTime
- Loop
- Active
- InActive
■ Audio
- speed
- StartTime
- StopTime
- Loop
- Length
- Pitch
- NumChan
- phaseGroup
- Active
- InActive
■ SubScene 이 대상 객체일 때
- Translation
- hyperlink
- Active
- InActive
■ Group이 대상 객체일 때
- Translation
- Hyperlink
- Active
- InActive
이러한 이벤트는 설정 가능한 이벤트와 이벤트설정 오퍼레이션을 가지는 각 객체별 이벤트 클래스로 정의한다. 이벤트 객체의 상위 클래스는 BaseEvent 클래스(900)로써, 모든 이벤트 객체가 공통으로 가지는 이벤트 타입과 액션 종류, 대상 객체, 필드 값 등을 멤버로 가진다. 또한 씬 디스크립션 트리에 이벤트 객체를 첨가하는데 필요한 함수를 멤버로 가진다.
도 10은 툴 클래스에 대해 정의된 계층의 일 예를 도시한 것이다.
저작인터페이스(500)에서 마우스 이벤트에 의해서 시청각 객체가 생성되고 이들의 조작으로 씬의 저작이 이루어진다. 이 때 객체를 인터페이스 상에 생성하고 드로잉하는 일련의 오퍼레이션을 수행하는 클래스가 툴 클래스이다. 툴 클래스는 화면에 보여지는 객체가 필요로 하는 클래스로써, 사용자의 저작에 따른 키보드와 마우스 이벤트 처리 오퍼레이션과 객체 선택, 트래커 설정, 객체 그리기 등의 오퍼레이션이 정의되어 있다. 그리고 시청각 객체의 분류에 의해서 각 객체별로 툴 클래스를 정의한다.
도 7 내지 도 10의 클래스 계층 구조는 저작 인터페이스에서 사용자의 저작 행위가 이루어질 때마다 생성되는 정보이다. 즉, 사각형 객체가 생성되면 도 7의 클래스 중에서 Rectangle 클래스 인스턴스가 생성되고, 이 사각형 객체의 색상 등의 속성 정보는 도 8의 속성 클래스가 생성되어 가지게 된다. 또 이 객체에 대해서 이벤트 정보가 설정되면 도 9의 이벤트 클래스 중에서 해당되는 클래스가 이벤트 정보를 가지고 생성된다. 그리고 도 10의 툴 클래스는 사용자가 사각형 객체를 만들기 위해서 저작 인터페이스에서 마우스를 클릭하고 드래깅할 때 사용되는 클래스이다. 따라서 도 7 내지 도 10까지의 클래스 계층 구조는 도 5의 저작 인터페이스(500)에서 이용된다.
도 2와 같은 화면 구성을 가진 저작 인터페이스(500)에서 사용자가 저작하는 것을 예로 든다.
시청각 객체 아이콘과 시간 설정 바, 속성 설정 창, 이벤트 설정 창을 이용하여 객체들을 생성하고 배치하여 원하는 씬을 시각적으로 구성한다. 사용자가 화면에 놓여진 객체를 마우스로 선택한 후 메뉴에서 속성 설정을 선택하면, 해당 객체의 속성 설정 창이 나타난다. 속성 설정 창에서 객체의 색상, 크기 등의 속성을 설정한다. 객체의 재생 시간은 타임 슬라이드바를 이용하여 객체의 재생 시작 시간과 종료 시간을 설정한다. 이벤트 설정은 이벤트를 입력받을 소스 객체를 선택한 뒤, 이벤트의 종류와 액션을 행할 대상 객체, 액션 종류, 액션 종류에 따른 변경할 값을 설정한다.
이와 같이 저작인터페이스(500)를 통해 입력된 이벤트는 이벤트처리기(510)에 의해 처리되며, 처리된 결과는 저작인터페이스(500)를 통해 사용자에게 표시된다.
사용자가 저작 과정을 마치면 씬디스크립션정보생성기(520)는 입력된 씬 객체로부터 씬 정보를 얻는다.
사용자가 저작 과정을 마치고, 예를 들면 BIFS 텍스트 파일 생성 아이콘을 클릭하면 저작된 씬이 BIFS 텍스트 파일로 생성된다. 이때 저작된 씬은 씬디스크립션정보생성기(520)에 의해 얻은 정보를 참조하여 씬컴포지션트리구성/관리기(530)에 의해 내부적으로 씬 트리 형태로 구성되어 되어 있다. 이 트리 형태를 깊이 우선으로 탐색하여 도 1과 같은 BIFS 텍스트 파일로 변환한다(400 단계).
이 단계는 상기 저작된 씬을 트리 구조를 가지는 씬 컴포지션 트리(scene composition tree)로 변환하고, 상기 씬 컴포지션 트리를 깊이 우선 탐색을 하여 객체의 인터폴레이션(interpolation)에 대한 정보를 탐색하며, 인터폴레이션에 대한 정보가 탐색되면 인터폴레이션 정보를 씬 디스크립션 파일 생성에 참조될 리스트로 작성하고, 상기 리스트를 참조하고 상기 씬의 씬 컴포지션 트리를 탐색하여 상기 저작된 씬을 대응하는 씬 디스크립션으로 생성하는 것이 바람직하다.
씬 트리의 루트 노드부터 깊이 우선 탐색을 하여 먼저 인터폴레이션(interpolation)에 대한 정보가 있는지를 탐색한다. 인터폴레이션 정보가 있으면, 인터폴레이션 정보를 따로 저장한다. 인터폴레이션 정보는 BIFS 텍스트 파일에서 대상 객체의 정보로 기록되어야 하는데, 씬 트리에서는 인터폴레이션 정보를 소스 객체가 가지기 때문에, 바로 텍스트를 작성할 수 없다. 그래서, 소스 객체와 인터폴레이션 정보를 저장한 뒤, 다시 씬을 탐색해가면서, BIFS 텍스트를 작성한다.
상기 씬에서 씬 컴포지션 트리를 생성하고, 그에서 정보를 얻고, 그 정보를 바탕으로 상기 씬에 포함된 시청각 객체를 그에 대응되는 씬 디스크립션으로 변환하는데 적용되는 소정의 MPEG-4 씬 디스크립션 생성 규칙을 정의한다. 그리고, 상기 시청각 객체는 그 생성 규칙에 따라서 씬 디스크립션으로 즉, 시청각 객체는 BIFS 텍스트로 생성된다. 속성 객체와 이벤트 정보 역시 생성 규칙을 참고하여 라우트 정보와 속성 정보를 생성한다.
이미지, 사운드, 비디오의 경우 BIFS 스트림 외에 미디어 스트림을 필요로 하는 객체 정보인 객체 디스크립터를 생성해야 한다(410 단계). 이는 객체디스크립터생성기(550)에서 실행된다. 또한, MPEG-4 장면을 프리젠테이션하는 데 이용되는 스트림(BIFS 스트림, OD 스트림, 미디어 스트림)에 대한 정보를 제공하는 초기 객체 디스크립터를 생성해 주어야 한다.
객체 디스크립터의 생성은 OD(Object Descriptor) 생성규칙을 이용하여 미디어 객체에 대하여 유일한 ID와 객체의 타입과, 인코딩 정보, 사이즈 등에 대한 정보를 생성한다. 이러한 정보는 ObjectDescriptor 객체에 저장되어 있고, 각 미디어 객체는 ObjectDescriptor 객체를 참조할 수 있도록 되어 있다.
텍스트 형태의 씬 디스크립션 및 객체 디스크립터 등의 파일들은 MPEG-4 데이터로 변환되기 위한 소정 형식의 이진 스트림으로 변환된다(420 단계).
410 단계와 420 단계의 결과물인 이진 스트림 형태의 씬 디스크립션과 객체 디스크립터는 초기 객체 디스크립터 스트림, 장면 디스크립션 스트림, 객체 디스크립터 스트림과, 오디오/비쥬얼 스트림이며, 이들은 하나의 이진 스트림으로 묶어서 최종적으로 MPEG-4스트림으로 생성된다(430 단계). 이 단계는 MPEG4스트림생성기(560)에서 이루어진다.
도 11은 저작인터페이스(500)에서 시청각 객체를 생성하고 멀티미디어 씬을 구성하는 도 4의 과정을 보다 자세히 도시한 것이다.
객체가 사용자에 의해서 생성될 때마다 씬 트리의 하위 노드로 첨가되고, 각 속성 객체들이 생성되어 시청각 객체 노드의 하위 노드로 첨가된다. 만약 이미 저작된 시청각 객체에 대한 갱신이 이루어지면 이미 속성 객체 노드가 존재하므로, 이 노드들에 대한 갱신 작업만 필요하다.
사용자에 의해서 BIFS 생성 요청이 있으면, 씬 디스크립션 등을 생성하고, 역시 MPEG-4 스트림 생성 요청이 있으면, BIFS의 존재 여부를 검사하여 최종 결과물을 생성한다.
도 12는 저작인터페이스(500)에서 시청각 객체 생성 행위가 이루어졌을 때 이벤트의 흐름과 함수별 동작 과정이다. 시청각 객체는 타입에 따라서 드로잉 툴 객체가 가상 함수로 선언되어져 있고 뷰에서의 저작 행위에 의해서는 드로우 툴의 호출만 이루어진다. 그리고 객체 타입에 따라서 해당 시청각 툴 객체가 생성된다.
도 13은 저작된 시청각 객체를 대상으로 사용자 이벤트를 설정하는 과정이다. 이것은 이벤트 설정 다이얼로그를 이용해서 시각적으로 이루어진다. 먼저 사용자가 이벤트 설정을 위한 입력을 하면, 이벤트 다이얼로그가 생성되고, 마우스 클릭 등의 이벤트를 설정하면 이벤트 객체 노드가 생성된다. 그리고 이벤트에 반응하는 대상 객체와 액션을 차례로 설정하여 이벤트 정보를 완성하고, 이벤트 객체 노드를 씬 트리의 하위 노드에 삽입한다. 이때 이벤트가 형성된 소스 객체의 하위 노드로 첨가된다.
저작인터페이스(500)에서 멀티미디어 씬이 저작되고 그에 해당되는 씬 트리가 생성되면 이로부터 텍스트 형태의 씬 디스크립션을 생성한다. 이때의 씬 트리의 탐색 방법의 예가 도 14에 도시되어 있다.
씬 트리의 루트 노드는 그룹 객체이므로, 탐색의 시작은 그룹 객체이다. 루트 또는 씬에 포함된 그룹 객체를 만나면 그 하위 노드를 깊이 우선 탐색으로 검사하여 시청각 객체 노드를 찾는다. 시청각 객체 노드가 찾아지면, 그 노드의 모든 하위 노드를 탐색하여 속성 정보 등을 기술하고 다시 탐색이 시작된 그룹 노드로 복귀하여 같은 과정으로 씬을 구성하는 모든 시청각 객체를 탐색한다.
도 15는 도 5의 씬디스크립션생성기(540)를 구체적으로 그리고 상세히 모듈화한 일예를 블록으로 도시한 것이다. 또한 이 과정은 400 단계를 자세하게 설명하는 것이다.
BIFS 파일 생성기가 동작하게 되면 BIFS/OD 생성기의 초기화 모듈이 BIFS 파일 생성에 필요한 자료구조를 초기화 시킨다.
초기화 모듈이 시행된 후에는 컴포지션 노드 상의 각 객체에 대해서 Interpolation과 Switch 정보를 추출하여 Interpolation 정보, Switch 정보에 기술한다. 이 동작은 실제 파일이 기술되기 전에 선작업으로 수행된다.
동작이 완료한 후에는 BIFS 파일의 헤더를 기술하는 부분에서부터 실제 파일 기술이 시작된다.
BIFS 파일의 헤더를 기술한 후에는 컴포지션 트리를 깊이 우선 탐색 기법으로 탐색을 하면서 각 Group과 그 Group 노드에 속한 자식 객체 노드들을 재귀적으로 탐색하면서 처리한다. 하나의 Group노드에서는 그룹의 정보를 기술한 후, 자신의 자식 노드들의 객체 정보 기술자를 차례로 호출하게 된다. 객체 정보 기술자는 객체를 표현하기 위한 BIFS의 기본 정보와 객체에 대한 Update OD정보를 자료구조에 저장하게 된다. 다음으로 각 객체에 대해서 이벤트 정보를 기술하며 이때 이벤트 기술에 필요한 Conditional 노드 정보, Route 정보, Time 정보 등을 자료구조에 저장한다. 이벤트 정보까지 기술이 되면 자신이 다른 객체의 Interpolation이나 Switch 이벤트의 대상 객체인지를 검색하여, 대상 객체가 맞을 경우 해당하는 정보를 기술하게 된다.
이렇게 컴포지션 트리 상의 각 객체에 대한 정보를 기술하는 모듈이 트리 탐색을 통해 모든 객체에 대하여 기술되게 되면 그러한 기술과정에서 자료구조 상에 정의가 저장이 된 Conditional 정보, Route 정보, 시간 정보, Update OD 정보, Inline 정보 등이 차례로 기술이 되며 최종적으로 각 객체의 OD 정보를 기술한 .scr 파일을 생성함으로써 동작을 종료하게 된다.
도 16은 텍스트 형태의 BIFS 구성기의 동작 과정을 도시한 것이다.
씬 트리의 루트 노드부터 깊이 우선 탐색을 하여 먼저 인터폴레이션에 대한 정보가 있는지를 탐색한다. 인터폴레이션 정보가 있으면, 인터폴레이션 정보를 저장한다. 시청각 객체의 장면 구성 부분에 대한 소정의 BIFS 생성 규칙을 참고하여 시청각 객체의 BIFS 생성을 수행한다. 시청각 객체를 생성하는 BIFS 규칙에 따라서 속성 객체에 대한 BIFS 텍스트로 생성한다. BIFS의 시간 관계 변환 규칙과 이벤트 규칙을 참고하여 라우트 정보와 시간 정보를 생성한다.
씬 트리로부터 MPEG-4의 BIFS와 OD 텍스트를 생성하기 위하여 씬 컴포지션에 대한 BIFS 생성 규칙을 정의한다. 시청각 객체에 대한 소정의 BIFS 변환 규칙의 일예는 도 17과 같다. 씬 컴포지션 트리를 탐색하면서, 시청각 객체 노드를 만나면, 해당 시청각 객체 생성 규칙에 따라서 BIFS 텍스트를 기록한다.
시청각 객체에 있어 BIFS 생성 규칙은 Transform2D 노드 아래에 Shape 노드가 위치하고, Shape 노드 아래에 해당 시청각 객체 노드와 Appearance 노드가 위치한다. RectangleObject일 경우, 먼저 Transform2D 노드와 Shape 노드, Rectangle 노드와 Appearance 노드를 생성한다. 씬 컴포지션 트리의 RectangleObject 하위에 연결된 속성 객체를 탐색하면서, BIFS를 구성하고 있는 각 노드의 필드 값을 채운다.
씬 컴포지션 트리의 Transform2D 객체의 속성을 얻어서, BIFS의 Transform2D 노드의 필드 값을 채운다. RectangleProperty의 정보를 얻어서, Rectangle 노드의 필드에 값을 기록한다. Material2D와 LineProperty의 속성 값을 읽어서, BIFS의 Appearance 노드의 하위 노드인 Material2D와 LineProeprty의 필드 값을 기록한다.
도 4, 도 5 또는 도 6의 각 기능 블록은 소프트웨어적인 방법을 통해 혹은 PLD, FPGA와 같은 프로그래밍 소자나 프로그램의 실행 코드가 담긴 ROM과 같은 소자를 통해 구현할 수 있으며, 이는 본 발명이 속한 분야에 통상의 기술을 가진 자라면 용이하게 알 수 있는 것이다.
그리고 본 발명에 따른 상기의 각 단계들은 일반적인 프로그래밍 기법을 이용하여 소프트웨어적으로 또는 하드웨어적으로 다양하게 구현할 수 있다는 것은 이 분야에 통상의 기술을 가진 자라면 용이하게 알 수 있는 것이다.
그리고 본 발명의 일부 단계들 혹은 전 단계는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, CD-RW, 자기 테이프, 플로피디스크, HDD, 광 디스크, 광자기 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
본 발명에 의하면, 사용자가 객체와 객체의 종류, 색상, 크기를 포함하는 객체의 속성을 설정하고, 객체가 재생되는 시작 시각 및 종료 시각을 설정하는 것을 포함하는 사용자의 입력에 의해 저작된 씬을 엠펙(MPEG)-4 컨텐츠로 생성하는 방법에 있어서, 저작된 상기 씬에 포함된 각 객체를 계층적으로 구성한 씬 트리를 생성하여 씬에 대한 정보를 얻고, 그 씬 정보를 기초로 하여 저작된 씬을 그 씬에 대응하는 씬 디스크립션으로 생성하는 씬 디스크립션 생성 단계, 소정의 객체 디스크립터 생성규칙에 따라 상기 저작된 씬에 포함된 이미지, 사운드, 비디오를 포함하는 미디어 객체에 대한 객체 인식자, 객체의 형식(type), 미디어 인코딩 정보 및 객체의 크기를 포함하는 정보인 객체 디스크립터를 생성하는 객체 디스크립터 생성 단계, 생성된 씬 디스크립션 및 객체 디스크립터를 소정 형식의 이진 스트림으로 변환하는 인코딩 단계 및 인코딩 단계에서 생성된 이진 스트림 형태의 씬 디스크립션 스트림 및 객체 디스크립터 스트림을 하나의 이진 스트림으로 먹싱하여 MPEG-4 스트림을 생성하는 먹싱 단계를 포함하여, MPEG-4 장면의 생성 규칙을 모르는 일반 컨텐츠 제작자가 쉽고 효율적으로 컨텐츠를 생성할 수 있으며, 시청각 객체의 시간 관계를 제한없이 할 수 있으며, 사용자가 MPEG-4의 BIFS의 구조를 알아야 저작할 수 있는 불편함을 없앴다.
MPEG-4 컨텐츠는 인터넷 텔레비전 등에서 사용자 상호작용이 가능한 대화형 멀티미디어 스트림 서비스에 이용될 수 있다. 이것은 통신 부분의 무선 서비스와 결합하여 제공할 수 있는 유일한 표준화된 멀티미디어 형태의 제공이다. 보다 구체적인 적용 대상분야는 영상전화, 멀티미디어 재생 및 검색, 멀티미디어 방송, 실시간 영상 회의, 영상메일, 교육, 오락 등을 들 수 있다.
MPEG-4 컨텐츠는 씬 디스크립션 기술의 어려움 등으로 인하여 그 저작이 용이하지 못하다. 그러나 본 발명에 따른 방법과 장치를 이용하여 시각적 저작 인터페이스를 제공하여 보다 효율적이고, 간편한 MPEG-4 컨텐츠 저작을 가능하게 하여, 객체 기반 스트리밍 서비스를 위한 풍부한 컨텐츠 저작을 가능하게 한다. 따라서 스트리밍 멀티미디어 서비스를 응용하는 여러 분야에서 다양한 내용의 컨텐츠 개발이 용이하다.
도 1은 MPEG-4의 텍스트 형태의 씬 디스크립션의 일 예이다.
도 2와 MPEG-4 컨텐츠 저작 환경의 일 예를 도시한 것이다.
도 3은 저작 인터페이스에서 저작된 시각 씬이 스트림으로 변화되고 다시 역과정을 거쳐서 재생되는 과정을 개략적으로 도시한 것이다.
도 4는 본 발명에 따른 MPEG-4 컨텐츠 생성 방법의 흐름을 도시한 것이다.
도 5는 본 발명에 따른 MPEG-4 컨텐츠 생성 장치의 구성을 블록으로 도시한 것이다.
도 6은 도 5의 구성을 더 상세하게 도시한 도면이다.
도 7은 시청각 객체의 클래스 계층 구조의 일 예를 도시한 것이다.
도 8은 속성 객체 클래스의 계층 구조의 일 예를 도시한 것이다.
도 9는 이벤트 객체 클래스의 정의된 계층의 일 예를 도시한 것이다.
도 10은 툴 클래스에 대해 정의된 계층의 일 예를 도시한 것이다.
도 11은 도 4의 과정을 보다 자세히 도시한 것이다.
도 12는 시청각 객체 저작과 씬 트리 생성 과정을 도시한 것이다.
도 13은 이벤트 정보의 저작과 씬 트리를 삽입하는 과정을 도시한 것이다.
도 14는 씬 트리의 탐색 과정을 도시한 것이다.
도 15는 도 5의 씬디스크립션생성기를 상세하게 모듈화한 일예를 블록으로 도시한 것이다.
도 16은 텍스트 형태의 BIFS 구성기의 동작 과정을 도시한 것이다.
도 17은 시청각 객체에 대한 BIFS 변환 규칙의 일 예를 도시한 것이다.

Claims (10)

  1. 사용자가 객체와 객체의 종류, 색상, 크기를 포함하는 객체의 속성을 설정하고, 객체가 재생되는 시작 시각 및 종료 시각을 설정하는 것을 포함하는 사용자의 입력에 의해 저작된 씬(scene)을 엠펙(MPEG)-4 컨텐츠로 생성하는 방법에 있어서,
    (a) 저작된 상기 씬에 포함된 각 객체를 계층적으로 구성한 씬 트리를 생성하여 씬에 대한 정보를 얻고, 그 씬 정보를 기초로 하여 상기 저작된 씬을 그 씬에 대응하는 씬 디스크립션으로 생성하는 씬 디스크립션 생성 단계;
    (b) 소정의 객체 디스크립터 생성규칙에 따라 상기 저작된 씬에 포함된 이미지, 사운드, 비디오를 포함하는 미디어 객체에 대한 객체 인식자, 객체의 형식(type), 미디어 인코딩 정보 및 객체의 크기를 포함하는 정보인 객체 디스크립터를 생성하는 객체 디스크립터 생성 단계;
    (c) 상기 생성된 씬 디스크립션 및 객체 디스크립터를 소정 형식의 이진 스트림으로 변환하는 인코딩 단계; 및
    (d) 상기 인코딩 단계에서 생성된 이진 스트림 형태의 씬 디스크립션 스트림 및 객체 디스크립터 스트림을 하나의 이진 스트림으로 먹싱하여 엠펙-4 스트림을 생성하는 먹싱 단계를 포함하는 것을 특징으로 하는 엠펙-4 컨텐츠 생성 방법.
  2. 제1항에 있어서, 상기 (a) 단계는,
    (a-1) 상기 저작된 씬을 트리 구조를 가지는 씬 컴포지션 트리(scene composition tree)로 변환하는 단계;
    (a-2) 상기 씬 컴포지션 트리를 깊이 우선 탐색을 하여 객체의 인터폴레이션(interpolation)에 대한 정보를 탐색하는 단계;
    (a-3) 인터폴레이션에 대한 정보가 탐색되면 인터폴레이션 정보를 씬 디스크립션 파일 생성에 참조될 리스트로 작성하는 단계; 및
    (a-4) 상기 (a-3) 단계에서 작성된 리스트를 참조하고 상기 씬의 씬 컴포지션 트리를 탐색하여 상기 저작된 씬을 대응하는 씬 디스크립션으로 생성하는 단계를 포함하는 것을 특징으로 하는 엠펙-4 컨텐츠 생성 방법.
  3. 제2항에 있어서, 상기 (a-3) 또는 (a-4)의 씬 디스크립션으로 생성하는 단계에서, 씬 컴포지션 트리를 탐색할 때에 우선 탐색 기법을 이용하여 필요한 객체를 찾고, 그 객체의 하위 노드인 속성 객체의 정보를 이용하여 객체에 대한 씬 디스크립션을 생성하는 것을 반복하는 것을 특징으로 하는 엠펙-4 컨텐츠 생성 방법.
  4. 제1항에 있어서, 상기 (a) 단계에서,
    상기 씬에 포함된 시청각 객체를 그에 대응되는 씬 디스크립션으로 변환하는데 적용되는 소정의 MPEG-4 씬 디스크립션 생성 규칙을 정의하고, 상기 시청각 객체는 그 규칙에 따라서 씬 디스크립션으로 생성되는 것을 특징으로 하는 엠펙-4 컨텐츠 생성 방법.
  5. 사용자가 소정의 입력 수단을 이용해서 저작하는 내용을 입력받으며, 입력한 결과인 객체를 사용자에게 표시하는 저작인터페이스;
    사용자가 소정의 입력 수단을 이용하여 상기 저작인터페이스를 통해 저작하는 이벤트가 발생하면 이를 소정의 절차에 따라 처리하여 생성된 객체를 상기 저작인터페이스에 표시하며, 그 생성된 객체를 저장하는 이벤트처리기;
    상기 이벤트 처리기에서 저장한 객체에 대한 속성 정보를 생성하는 씬디스크립션정보생성기;
    상기 생성된 속성 정보를 계층 구조화하여 트리 형태로 데이터베이스화하여 씬 컴포지션 트리를 구성하며, 사용자에 의해 저작되는 객체가 변경되면 그에 따라 컴포지션 트리 구성을 변경하는 씬컴포지션트리구성/관리기;
    상기 씬컴포지션트리구성/관리기가 구성한 씬 컴포지션 트리를 탐색하여 그 트리에 대응하는 MPEG-4 씬 디스크립션을 생성하는 씬디스크립션생성기;
    소정의 객체 디스크립터 생성규칙에 따라 상기 저작된 씬에 포함된 이미지, 사운드, 비디오를 포함하는 미디어 객체에 대한 객체 인식자(ID), 객체의 형식(type), 미디어 인코딩 정보 및 객체의 크기를 포함하는 정보인 객체 디스크립터를 생성하는 객체디스크립터생성기; 및
    상기 씬디스크립션생성기에서 생성된 씬 디스크립션과 상기 객체디스크립터생성기에서 생성된 객체 디스크립터를 포함하는 데이터를 소정의 방법으로 인코딩하고 먹싱하여 상기 사용자가 저작한 씬에 대응하는 엠펙(MPEG)-4 스트림을 생성하는 엠펙4스트림생성기를 포함하는 것을 특징으로 하는 엠펙-4 컨텐츠 생성 장치.
  6. 제5항에 있어서, 상기 씬디스크립션생성기는 씬 컴포지션 트리를 탐색할 때에 우선 탐색 기법을 이용하여 필요한 객체를 찾고, 그 객체의 하위 노드인 속성 객체의 정보를 이용하여 객체에 대한 씬 디스크립션을 생성하는 것을 반복하는 것을 특징으로 하는 엠펙-4 컨텐츠 생성 장치.
  7. 제5항에 있어서, 상기 저작인터페이스는,
    시청각 객체 저작을 위한 인터페이스;
    각 객체의 재생 시간 설정을 위한 인터페이스;
    각 객체마다 발생할 수 있는 이벤트와 객체의 움직임 설정을 위한 인터페이스; 및
    복수의 객체를 그룹으로 분리하는 그룹 객체 저작을 위한 인터페이스를 포함하는 것을 특징으로 하는 엠펙-4 컨텐츠 생성 장치.
  8. 제7항에 있어서, 상기 시청각 객체 저작 인터페이스는,
    2차원 기하객체를 저작하기 위한 인터페이스; 및
    오디오, 비디오, 이미지 및 배경 이미지를 저작하기 위한 인터페이스를 포함하는 것을 특징으로 하는 엠펙-4 컨텐츠 생성 장치.
  9. 제7항 또는 제8항에 있어서, 상기 시청각 객체 저작 인터페이스와 그룹 객체 저작 인터페이스는 객체를 생성한 후에 그 객체의 속성을 변경할 수 있는 인터페이스를 포함하는 것을 특징으로 하는 엠펙-4 컨텐츠 생성 장치.
  10. 사용자가 객체와 객체의 종류, 색상, 크기를 포함하는 객체의 속성을 설정하고, 객체가 재생되는 시작 시각 및 종료 시각을 설정하는 것을 포함하는 사용자의 입력에 의해 저작된 씬을 엠펙(MPEG)-4 컨텐츠로 생성하는 방법을 기록한 컴퓨터가 읽을 수 있는 기록매체에 있어서,
    (a) 저작된 상기 씬에 포함된 각 객체를 계층적으로 구성한 씬 트리를 생성하여 씬에 대한 정보를 얻고, 그 씬 정보를 기초로 하여 상기 저작된 씬을 그 씬에 대응하는 씬 디스크립션 파일로 생성하는 씬 디스크립션 파일 생성 단계;
    (b) 소정의 객체 디스크립터 생성규칙에 따라 상기 저작된 씬에 포함된 이미지, 사운드, 비디오를 포함하는 미디어 객체에 대한 객체 인식자(ID), 객체의 형식(type), 미디어 인코딩 정보 및 객체의 크기를 포함하는 정보인 객체 디스크립터를 생성하는 객체 디스크립터 생성 단계;
    (c) 상기 생성된 씬 디스크립션 및 객체 디스크립터를 소정 형식의 이진 스트림으로 변환하는 인코딩 단계; 및
    (d) 상기 인코딩 단계에서 생성된 이진 스트림 형태의 씬 디스크립션 스트림 및 객체 디스크립터 스트림을 하나의 이진 스트림으로 먹싱하여 엠펙-4 스트림을 생성하는 먹싱 단계를 포함하는 것을 특징으로 하는 엠펙-4 컨텐츠 생성 프로그램을 컴퓨터에서 실행시키기 위한 컴퓨터가 읽을 수 있는 기록매체.
KR10-2001-0069150A 2001-11-07 2001-11-07 엠펙(mpeg)-4 컨텐츠 생성 방법 및 그 장치 KR100491956B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0069150A KR100491956B1 (ko) 2001-11-07 2001-11-07 엠펙(mpeg)-4 컨텐츠 생성 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0069150A KR100491956B1 (ko) 2001-11-07 2001-11-07 엠펙(mpeg)-4 컨텐츠 생성 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20030037614A KR20030037614A (ko) 2003-05-14
KR100491956B1 true KR100491956B1 (ko) 2005-05-31

Family

ID=29568348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0069150A KR100491956B1 (ko) 2001-11-07 2001-11-07 엠펙(mpeg)-4 컨텐츠 생성 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100491956B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030065001A (ko) * 2002-01-29 2003-08-06 주식회사 리코시스 Mpeg-4 데이터 편집장치 및 편집방법
KR100695126B1 (ko) * 2003-12-02 2007-03-14 삼성전자주식회사 그래픽 데이터 압축에 관한 메타표현을 이용한 입력파일생성 방법 및 시스템과, afx부호화 방법 및 장치
KR100717842B1 (ko) * 2004-06-22 2007-05-14 한국전자통신연구원 파라메트릭 장면기술 정보를 이용한 대화형 멀티미디어컨텐츠 부호화 장치 및 복호화 장치
KR20080032751A (ko) 2006-10-10 2008-04-16 삼성전자주식회사 휴대 단말기의 동영상 생성 방법 및 콘텐츠 제공 방법
KR101040086B1 (ko) * 2009-05-20 2011-06-09 전자부품연구원 오디오 생성방법, 오디오 생성장치, 오디오 재생방법 및 오디오 재생장치
KR102251052B1 (ko) * 2019-11-14 2021-05-12 주식회사 클비시스템 스마트 콘텐츠 제작 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11177946A (ja) * 1997-09-22 1999-07-02 Sony Corp 符号化装置、符号化方法、復号装置、復号方法、および、提供媒体
KR20010034920A (ko) * 1998-06-26 2001-04-25 매클린토크 샤운 엘 엠펙-4 비디오 프로그램을 작성하고 표현하기 위한 단말기
KR20010075803A (ko) * 2000-01-18 2001-08-11 구자홍 Mpeg-4 화상회의를 위한 멀티미디어 정보구조와mpeg-4 화상회의 시스템
KR20010112066A (ko) * 2000-06-08 2001-12-20 김문영 디지털 텔레비젼용 컨텐츠의 저작 시스템 및 그 방법
KR20030034410A (ko) * 2001-10-23 2003-05-09 한국전자통신연구원 엠펙-4 컨텐츠를 위한 비아이에프에스 언어 생성 방법 및그 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11177946A (ja) * 1997-09-22 1999-07-02 Sony Corp 符号化装置、符号化方法、復号装置、復号方法、および、提供媒体
KR20010034920A (ko) * 1998-06-26 2001-04-25 매클린토크 샤운 엘 엠펙-4 비디오 프로그램을 작성하고 표현하기 위한 단말기
KR20010075803A (ko) * 2000-01-18 2001-08-11 구자홍 Mpeg-4 화상회의를 위한 멀티미디어 정보구조와mpeg-4 화상회의 시스템
KR20010112066A (ko) * 2000-06-08 2001-12-20 김문영 디지털 텔레비젼용 컨텐츠의 저작 시스템 및 그 방법
KR20030034410A (ko) * 2001-10-23 2003-05-09 한국전자통신연구원 엠펙-4 컨텐츠를 위한 비아이에프에스 언어 생성 방법 및그 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
he 2000 IEEE International Symposium On Circuits and Systems(vol.2, 2000.5.28-31) *

Also Published As

Publication number Publication date
KR20030037614A (ko) 2003-05-14

Similar Documents

Publication Publication Date Title
KR100321839B1 (ko) 비디오내로하이퍼링크를통합하는방법및장치
Hamakawa et al. Object composition and playback models for handling multimedia data
Bulterman et al. Structured multimedia authoring
Meixner Hypervideos and interactive multimedia presentations
US8301669B2 (en) Concurrent presentation of video segments enabling rapid video file comprehension
Chang et al. Next-generation content representation, creation, and searching for new-media applications in education
EP0917715B1 (en) Time-based media processing system and method
US7203692B2 (en) Transcoding between content data and description data
US20040125124A1 (en) Techniques for constructing and browsing a hierarchical video structure
US20020152233A1 (en) Apparatus and method for authoring multimedia contents with object-based interactivity
US20120198412A1 (en) Software cinema
US20070006079A1 (en) State-based timing for interactive multimedia presentations
KR100491956B1 (ko) 엠펙(mpeg)-4 컨텐츠 생성 방법 및 그 장치
Rada Hypertext, multimedia and hypermedia
Cha et al. MPEG-4 studio: An object-based authoring system for MPEG-4 contents
KR100620897B1 (ko) 엠펙-4 컨텐츠를 위한 비아이에프에스 언어 생성 방법 및그 시스템
JP2001008136A (ja) マルチメディアデータのオーサリング装置
Klas et al. Multimedia applications and their implications on database architectures
Daras et al. MPEG-4 authoring tool for the composition of 3D audiovisual scenes
Auffret et al. Managing full-indexed audiovisual documents: a new perspective for the humanities
KR20040041979A (ko) 그래픽 사용자 인터페이스
Hardman et al. Document Model Issues for Hypermedia.
Daras et al. An MPEG-4 tool for composing 3D scenes
Hardman et al. Authoring support for durable interactive multimedia presentations
Koegel et al. Visual programming abstractions for interactive multimedia presentation authoring

Legal Events

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

Payment date: 20130425

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140428

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee