KR100490410B1 - 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치 및 방법 - Google Patents

데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치 및 방법 Download PDF

Info

Publication number
KR100490410B1
KR100490410B1 KR10-2002-0055425A KR20020055425A KR100490410B1 KR 100490410 B1 KR100490410 B1 KR 100490410B1 KR 20020055425 A KR20020055425 A KR 20020055425A KR 100490410 B1 KR100490410 B1 KR 100490410B1
Authority
KR
South Korea
Prior art keywords
buffering
data
media data
data structure
information
Prior art date
Application number
KR10-2002-0055425A
Other languages
English (en)
Other versions
KR20040023966A (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-2002-0055425A priority Critical patent/KR100490410B1/ko
Publication of KR20040023966A publication Critical patent/KR20040023966A/ko
Application granted granted Critical
Publication of KR100490410B1 publication Critical patent/KR100490410B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism

Landscapes

  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터 구조체를 기반으로 멀티미디어 문서상의 미디어 데이터를 버퍼링하는 장치 및 방법에 관한 것으로, 소정의 멀티미디어 문서를 구성하는 소정의 엘리먼트에 대해서 버퍼링의 필요 여부를 검사하는 버퍼링 여부 검사부, 상기 엘리먼트에 대해서 버퍼링이 필요하다고 검사된 경우, 상기 엘리먼트의 속성들을 기반으로 데이터 구조체를 생성하는 데이터 구조체 생성부, 상기 데이터 구조체 생성부에서 생성된 데이터 구조체를 기반으로 소정의 URL로부터 소정의 미디어 데이터를 버퍼링하는 데이터 버퍼링부, 및 상기 데이터 구조체 생성부에서 생성된 데이터 구조체를 기반으로 재사용될 데이터를 소정의 저장 장소에 캐싱하는 재사용 데이터 캐싱부로 구성된다.
본 발명에 따르면 멀티미디어 단말기를 이용해 인터넷을 통해 멀티미디어 컨텐츠를 재생할 때, 원활하지 못한 네트워크의 상황에 따라 발생하는 서버의 응답 지연으로 인한 컨텐츠의 재생 지연 및 재생 품질 저하를 해결하여, 사용자에게 신속한 서비스를 제공하게 되고, 네트워크의 상황에 덜 민감하게 되므로 안정적인 서비스를 제공하는 효과가 있다. 또한, 본 발명에 따르면 반복적으로 사용되는 미디어 데이터인 경우, 서버로의 재 요청이 불필요하게 되므로 클라이언트의 자원 및 네트워크 자원의 소모를 막을 수 있는 효과도 있다.

Description

데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치 및 방법{Apparatus and method for buffering a multi-media document based on data structure}
본 발명은 데이터 구조체를 기반으로 멀티미디어 문서상의 미디어 데이터를 버퍼링하는 장치 및 방법에 관한 것이다.
도 1은 종래의 멀티미디어 문서상의 미디어 데이터를 버퍼링하는 방법의 흐름도이다.
SMIL(Synchronized Multimedia Integration Language, 동기식 멀티미디어 통합 언어)는 확장성 생성 언어(XML) 응용의 하나로, 멀티미디어 자료의 시간적, 공간적 관계를 정의하고 도시하기 위한 언어로서, 웹을 통하여 멀티미디어 데이터를 전달받고 동기화하기 위한 표준이다. W3C(World Wide Web Consortium)에 의해 개발되었으며, SMIL 컨텐츠를 구성하는 각 매체별 객체는 고유한 URL에 의해 액세스 기 때문에 하나 이상의 장소로부터 도착하는 것들로 하나의 SMIL 컨텐츠가 구성될 수 있다.
현재의 SMIL 스펙은 SMIL 문서내에서 사용하고 있는 여러 종류의 미디어 데이터에 대해, 프리페취가 필요할 경우, 프리페취 엘리먼트(element)를 사용해서 해당 미디어 데이터를 미리 버퍼링하도록 하고 있다. 따라서, 먼저 SMIL 문서를 파싱(parsing)하고(11), 첫 번째 엘리먼트(element, SMIL 문서의 구성 요소)에 대해서 버퍼링이 필요한 프리페취(prefetch, 미리 가져오기) 또는 미디어 엘리먼트인가를 검사한다(12).
프리페취 엘리먼트로 지정되지 않은 미디어 데이터에 대해서는 재생장치가 그 엘리먼트에 도달했을 때 로컬 하드디스크에 액세스(file의 경우)하거나, 다운로드를 시작(HTTP의 경우)하거나, 스트리밍을 시작(RTSP의 경우)하게 된다. 따라서, 미디어 엘리먼트인 경우(13), 이미 프리페취되었는가를 검사하고(16), 이미 프리페취된 경우에는 해당 미디어 데이터를 랜더링(rendering)하고(19), 다음 엘리먼트로 진행한다(110, 111). 프리페취되지 않은 경우에 있어서(16), RTSP(Real Time Streaming Protocol) 방식으로 액세스하는 경우라면(17), 미디어 데이터를 전송 받으면서 동시에 랜더링할 수 있고(19), 그렇지 않은 경우라면 미디어 데이터를 완전히 다운로드받아 랜더링한다(18, 19).
프리페취 엘리먼트로 지정된 미디어 데이터는, mediaSize 또는 mediaTime 속성(attribute)에 따라 미리 가져와야 할 양 또는 시간에 해당하는 미디어 데이터를 가지고 오게 된다. 따라서, 프리페취 엘리먼트인 경우(13), src 속성에서 지정된 URL(Uniform Resource Locator)로 가서 미디어 데이터를 미리 페취해온다(14). 프리페취가 완료되었으면(15), 다음 엘리먼트로 진행한다(110, 111). 이 때, 프리페취 엘리먼트로 지정된 미디어 데이터가 지정된 속성에 해당하는 양만큼 버퍼링하지 못한다면 다음 엘리먼트의 재생으로 진행을 할 수 없다.
따라서, 종래에는 미디어 데이터가 HTTP나 RTSP 등 네트워크를 통하여 단말로 전해져야 하는 경우에는 실제 미디어 데이터가 화면에 재생되어야 하는 그 시각에 서버에 미디어 데이터 전송을 요청하고 응답 및 전송을 받아야 하기 때문에 사용자에게 플레이되는 미디어 데이터가 지연될 수 있다는 문제가 있었다.
또한, 미리 버퍼링되기 원하는 미디어 데이터에 대해서는 SMIL 컨텐츠의 저작자가 SMIL 문서 자체에 해당 미디어에 대해 프리페취 엘리먼트를 사용하여 그 미디어가 미리 버퍼링되어야 한다는 것을 일일이 지정해야 하고, 프리페취 엘리먼트로 지정된 미디어 데이터가 지정된 속성에 해당하는 양만큼 버퍼링하지 못한다면 다음 엘리먼트의 재생으로 진행을 할 수 없고, 마찬가지로 프리페취 엘리먼트에 버퍼링을 할 시간을 정해주는 속성이 지정되어 있다면, 그 시간 전에 버퍼링이 끝난다고 하여도 다음 엘리먼트로 진행을 할 수가 없으므로, SMIL 콘텐츠 저작자에게도 콘텐츠 작성의 불편함을 야기할 뿐만 아니라, 능동적으로 네트워크 상황에 대응하지 못하고, 지정된 상태에 의해 수동적으로 미디어 데이터를 버퍼링 할 수밖에 없다는 문제가 있었다.
또한, 프리페취 엘리먼트로 지정되지 않은 미디어에 대해서는 해당 엘리먼트에 도달했을 때에야 액세스를 시작하고 갖고 오게 되므로 네트워크 상황이 좋지 않을 경우 컨텐츠 내 각 미디어의 재생에 지연이 발생할 수 있다는 문제가 있었다.
또한, repeatDur(반복 분량), repeatCount(반복 회수) 속성에 따라 반복적으로 사용되는 미디어 데이터에 대해서는 계속적으로 액세스하여 플레이할 때마다 가지고 와야 하므로, 네트워크 자원 및 컴퓨터 자원을 낭비하게 된다는 문제가 있었다. 이 문제는 프리페취 엘리먼트를 사용한다고 해도 해결 될 수 없는 것이다.
본 발명이 이루고자 하는 기술적 과제는 멀티미디어 문서에서 사용되는 미디어 데이터를 네트워크 액세스를 통하여 재생할 때, 서버에 대한 전송 요청, 응답, 및 전송의 과정을 거침으로써 발생하는 지연을 막기 위하여, 데이터 구조체를 기반으로 미디어 데이터를 관리함으로서 효율적으로 버퍼링하는 장치 및 방법을 제공하는데 있다. 나아가, 네트워크 자원과 컴퓨터 자원의 낭비를 막기 위하여, 반복적으로 사용되어야 할 미디어 데이터들에 대해서는 캐싱을 통해 임시 저장 장소에 저장하는 장치 및 방법을 제공하는데 있다.
상기 문제점을 해결하기 위한 본 발명에 따른 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치는 소정의 멀티미디어 문서를 구성하는 소정의 엘리먼트에 대해서 버퍼링의 필요 여부를 검사하는 버퍼링 여부 검사부, 상기 엘리먼트에 대해서 버퍼링이 필요하다고 검사된 경우, 상기 엘리먼트의 속성들을 기반으로 데이터 구조체를 생성하는 데이터 구조체 생성부, 상기 데이터 구조체 생성부에서 생성된 데이터 구조체를 기반으로 소정의 URL로부터 소정의 미디어 데이터를 버퍼링하는 데이터 버퍼링부, 및 상기 데이터 구조체 생성부에서 생성된 데이터 구조체를 기반으로 재사용될 데이터를 소정의 저장 장소에 캐싱하는 재사용 데이터 캐싱부로 구성된다.
상기 또 다른 문제점을 해결하기 위한 본 발명에 따른 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법은 (a) 소정의 멀티미디어 문서를 구성하는 소정의 엘리먼트에 대해서 버퍼링의 필요 여부를 검사하는 단계, (b) 상기 엘리먼트에 대해서 버퍼링이 필요하다고 검사된 경우, 상기 엘리먼트의 속성들을 기반으로 데이터 구조체를 생성하는 단계, (c) 상기 (b) 단계에서 생성된 데이터 구조체를 기반으로 소정의 URL로부터 소정의 미디어 데이터를 버퍼링하는 단계, 및 (d) 상기 (b) 단계에서 생성된 데이터 구조체를 기반으로 재사용될 데이터를 소정의 저장 장소에 캐싱하는 단계로 구성된다.
상기 또 다른 문제점을 해결하기 위한 본 발명에 따른 SMIL 문서 버퍼링 데이터 구조체는 상기 미디어 데이터의 액세스 타입 정보, 상기 SMIL 문서로 구현되는 SMIL 콘텐츠를 구성하는 미디어 데이터들의 재생 순서에 따른 상기 미디어 데이터의 재생 순서별 버퍼링 시작 시각 정보, 상기 미디어 데이터의 소정의 재생 시점에 따른 재생 시점별 버퍼링 시작 시점 정보, 상기 미디어 데이터의 소정의 재생 분량에 따른 버퍼링 분량 정보, 상기 미디어 데이터의 URL 정보, 상기 미디어 데이터의 재사용 여부를 가리키는 재사용 플래그, 및 상기 미디어 데이터가 재사용 데이터인 경우, 상기 미디어 데이터가 저장되는 파일명 정보로 구성된다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다.
도 2는 본 발명에 따른 SMIL 문서 버퍼링 데이터 구조체의 구성도이다.
상기 SMIL 문서 버퍼링 데이터 구조체는 미디어 데이터의 액세스 타입 정보(21), SMIL 문서로 구현되는 SMIL 콘텐츠를 구성하는 미디어 데이터들의 재생 순서에 따른 상기 미디어 데이터의 재생 순서별 버퍼링 시작 시각 정보(22), 미디어 데이터의 소정의 재생 시점에 따른 재생 시점별 버퍼링 시작 시점 정보(23), 미디어 데이터의 소정의 재생 분량에 따른 버퍼링 분량 정보(24), 및 미디어 데이터의 URL 정보(25)로 구성된다.
미디어 데이터의 액세스 타입 정보(21)는 미디어 데이터의 버퍼링 분량에 대해 기본적 기준이 된다. 이것은 미디어 데이터의 URL(Uniform Resource Locator)을 참조해서 알 수 있다. URL은 자원에 접근하는데 필요한 프로토콜의 이름, 인터넷에서 특정한 컴퓨터를 식별하기 위한 도메인 이름, 및 컴퓨터 파일의 위치를 계층적으로 나타낸 경로명 등으로 구성된다. 만약, 프로토콜이 HTTP(Hypertext Transfer Protocol)인 경우에는, 미디어 데이터를 모두 전송 받은 후에 재생이 이루어져야 하므로 미리 해당 미디어 데이터를 모두 전송 받아 놓아야 한다. 그러나, 프로토콜이 RTSP(Real Time Streaming Protocol)인 경우에는, 스트리밍을 하게 되므로 미리 모든 데이터를 받아 놓을 필요 없이 일정 분량만큼만 전송을 받아 놓으면 된다.
SMIL 문서로 구현되는 SMIL 콘텐츠를 구성하는 미디어 데이터들의 재생 순서에 따른 상기 미디어 데이터의 재생 순서별 버퍼링 시작 시각 정보(22)는 해당 미디어의 버퍼링이 시작되어야 하는 시각을 결정하는데 사용이 된다. 이 시각을 기준으로 SMIL 컨텐츠 내에서 재생이 빨리 되는 미디어부터 버퍼링을 시작하게 될 것이다.
미디어 데이터의 소정의 재생 시점에 따른 재생 시점별 버퍼링 시작 시점 정보(23)는 일종의 오프셋(offset) 값이다. SMIL 컨텐츠 내의 비디오가 5초 분량이 지난 시점부터 보여지기 시작할 때 5초 부분부터 버퍼링을 시작하기 위해 사용되는 것이다. 그리고, 정확하게 그 시점을 위한 데이터부터 버퍼링하지 못한다면 근사적인 데이터부터 버퍼링을 시작해야 할 것이다.
미디어 데이터의 소정의 재생 분량에 따른 버퍼링 분량 정보(24)는 해당 미디어가 화면에 재생되는 시간이다. 이것은 필요한 분량만큼만 버퍼링하기 위해서 사용되는 것이다.
미디어 데이터의 URL 정보(25)는 SMIL 문서의 구성 요소인 엘리먼트에서 지정된다. 이것은 미디어 데이터를 얻기 위해서 어느 곳으로 액세스해야 하는 지를 알려 준다.
또한, 미디어 데이터가 재사용될 데이터인 경우, 이 미디어 데이터를 디스크 등의 저장 장소에 일시적으로 저장한 후, 다음에 재사용하기 위하여, 상기 SMIL 문서 버퍼링 데이터 구조체는 미디어 데이터의 재사용 여부를 가리키는 재사용 플래그(26)와 미디어 데이터가 재사용 데이터인 경우, 미디어 데이터가 저장되는 파일명 정보(27)를 추가적으로 더 포함한다.
재사용 플래그(26)는 한 번 버퍼링 한 미디어 데이터가 다시 사용될 가능성이 있는 경우, 디스크 등의 저장 장소에 저장해 둠으로서, 그 미디어 데이터가 재생될 때마다 다시 갖고 올 필요가 없도록 하기 위한 것이다.
미디어 데이터가 저장되는 파일명 정보(27)는 재사용되는 미디어 데이터가 디스크 등에 저장될 때의 저장 파일명을 말한다. 다음에 해당 미디어를 재생할 때, 이 파일명을 참조하여 디스크로부터 직접 가져오면 되므로, 다시 네트워크를 통하여 받아 오지 않아도 된다.
상기된 데이터 구조체의 각 구성 요소의 내용은 해당 미디어 엘리먼트의 속성들을 참조하여 결정된다. 예를 들어 특정 미디어가 전체 SMIL 컨텐츠 내에서 시작되는 시각은 부모 엘리먼트(parent element)들의 시작 시간들을 참조하여 결정된다. 재사용 플래그도 자신 및 부모 엘리먼트들의 repeatDur(반복 분량), repeatCount(반복 회수) 속성을 참조하여 결정된다. 각 미디어에 대한 구조체는 해당 미디어의 재생이 시작되는 순서대로 정리하여 버퍼링 우선 순위를 결정한다.
도 3은 본 발명에 따른 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치의 구성도이다.
상기 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치는 버퍼링 여부 검사부(31), 데이터 구조체 생성부(32), 및 데이터 버퍼링부(33)로 구성된다.
버퍼링 여부 검사부(31)는 소정의 멀티미디어 문서를 구성하는 소정의 엘리먼트(element)에 대해서 버퍼링의 필요 여부를 검사한다. 멀티미디어 문서인 SMIL 문서를 구성하고 있는 각 엘리먼트에 대해 버퍼링이 필요한 엘리먼트인지 아닌지를 검사해야 한다. 미디어 엘리먼트의 경우 직접 화면에 보여지거나 들려지는 것들이기 때문에 버퍼링이 이루어져야 한다.
데이터 구조체 생성부(32)는 엘리먼트에 대해서 버퍼링이 필요하다고 검사된 경우, 엘리먼트의 속성들을 기반으로 데이터 구조체를 생성한다. 데이터 구조체는 SMIL 컨텐츠 재생 장치에서 리스트로 관리하며 버퍼링 및 미디어 재생시에 참조하게 된다. 데이터 구조체의 구성은 도 2에서 상술하였다.
데이터 버퍼링부(33)는 데이터 구조체 생성부(32)에서 생성된 데이터 구조체를 기반으로 소정의 URL로부터 소정의 미디어 데이터를 버퍼링한다. 즉, 데이터 구조체 생성부(32)에서 생성된 구조체 리스트를 참조하여 버퍼링을 한다. 데이터 구조체 리스트는 SMIL 컨텐츠를 구성하는 미디어의 재생 시간에 따라 소팅(sorting)되어 있으므로, 어떠한 미디어 데이터가 먼저 버퍼링 되야 하는지 알 수 있다. 버퍼링은 가장 먼저 화면에 재생되는 미디어부터 시작한다. 앞에서 수집한 정보를 바탕으로 버퍼링 시각을 결정하고, 그 시각이 되면 서버에 전송 요청을 하여 전송을 받는다. 이 때 버퍼링 시작은 재생 시작 시각보다 일정 시간만큼 빨리 시작하여야 하며, 그 시간은 앞에서 저장한 데이터 구조체의 여러 정보를 참조하여 결정될 수 있다. 서버로부터 미디어 데이터의 전송이 오면 미디어의 어느 부분부터 버퍼링해야 하는지를 참조하여 그 부분부터 저장한다. 버퍼링할 분량은 앞의 구조체를 참조하여, 지정된 분량만큼 하거나, 스트리밍의 경우 콘피규레이션(configuration)에서 정해진 일정 분량만큼만 저장해 놓으면 된다.
또한, 미디어 데이터가 재사용될 데이터인 경우, 이 미디어 데이터를 디스크 등의 저장 장소에 일시적으로 저장한 후, 다음에 재사용하기 위하여, 상기 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치는 데이터 구조체 생성부(32)에서 생성된 데이터 구조체를 기반으로 재사용될 데이터를 소정의 저장 장소에 캐싱하는 재사용 데이터 캐싱부(34)를 추가적으로 더 포함한다. 일반적으로 재사용할 데이터를 캐싱하는 것은 버퍼링된 컨텐츠를 이용하여 서비스를 제공하는 단계에 이루어진다. 만약, 버퍼링된 데이터가 없다면, 즉 해당 미디어 데이터를 가지고 오는데 실패했다면, 다시 서버에 미디어 데이터를 요청하게 된다. 만약, 버퍼링된 데이터가 전체 미디어 데이터의 일부분일 경우는 재생과 동시에 서버에 나머지 부분을 요청하게 된다. 이 때, 구조체의 재사용 플래그를 참조하여 만약 재사용된다고 하면, 캐싱을 통해 디스크 등과 같은 임시 저장 장소에 버퍼링된 데이터를 데이터 구조체의 파일명 정보에 따른 파일명으로 저장한다. 그렇지 않을 경우, 재생된 데이터는 지우게 된다.
도 4는 상기 도 3의 데이터 버퍼링부의 상세 구성도이다.
상기 데이터 버퍼링부는 액세스 타입별 버퍼링 분량 결정부(41), 재생 순서별 버퍼링 시작 시각 결정부(42), 재생 지점별 버퍼링 시작 시점 결정부(43), 재생 분량별 버퍼링 분량 결정부(44), URL 액세스부(45), 및 미디어 데이터 버퍼링부(46)로 구성된다.
액세스 타입별 버퍼링 분량 결정부(41)는 데이터 구조체의 액세스 타입 정보에 따라 미디어 데이터의 버퍼링 분량을 결정한다. URL의 프로토콜이 HTTP, 또는 RTSP인가에 따라 미디어 데이터의 버퍼링 분량을 결정한다.
재생 순서별 버퍼링 시작 시각 결정부(42)는 데이터 구조체의 재생 순서별 버퍼링 시작 시각 정보에 따라 미디어 데이터의 버퍼링 시작 시각을 결정한다. SMIL 컨텐츠 내에서 재생이 빨리 되는 미디어부터 버퍼링을 시작하게 되도록, 미디어 데이터의 버퍼링 시작 시각을 결정한다.
재생 지점별 버퍼링 시작 시점 결정부(43)는 데이터 구조체의 재생 시점별 버퍼링 시작 시점 정보에 따라 미디어 데이터의 버퍼링 시작 시점을 결정한다. SMIL 컨텐츠 내의 미디어가 일정 분량이 지난 시점부터 보여지거나 들려지기 시작할 때 일정 분량이 지난 시점부터 버퍼링을 시작하기 위해 사용되는 것이다.
재생 분량별 버퍼링 분량 결정부(44)는 데이터 구조체의 버퍼링 분량 정보에 따라 미디어 데이터의 버퍼링 분량을 결정한다. 해당 미디어가 화면에 재생되는 시간만큼의 버퍼링 분량을 결정한다.
URL 액세스부(45)는 데이터 구조체의 URL 정보에 따라 URL로 액세스한다. 미디어 데이터를 얻기 위해서 어느 곳으로 액세스해야 하는 지를 알려 준다.
미디어 데이터 버퍼링부(46)는 URL 액세스부(45)에서 액세스된 URL로부터 재생 순서별 버퍼링 시작 시각 결정부(42)에서 결정된 시각에, 재생 시점별 버퍼링 시작 시점 결정부(43)에서 결정된 시점에서, 액세스 타입별 버퍼링 분량 결정부(41)에서 결정된 버퍼링 분량을 기본으로 재생 분량별 버퍼링 분량 결정부(44)에서 결정된 버퍼링 분량만큼 상기 미디어 데이터를 버퍼링한다.
도 5는 본 발명에 따른 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법의 흐름도이다.
먼저, 멀티미디어 문서를 파싱(parsing)하면서, 또는 파싱한 후에(51) 멀티미디어 문서를 구성하는 각 엘리먼트에 대해서 버퍼링의 필요 여부를 검사한다(52). 이어서, 엘리먼트에 대해서 버퍼링이 필요하다고 검사된 경우, 엘리먼트의 속성들을 기반으로 데이터 구조체를 생성한다(53). 이어서, 생성된 데이터 구조체를 기반으로 소정의 URL로부터 미디어 데이터를 버퍼링한다(54). 일반적으로 상기 멀티미디어 문서는 SMIL 문서가 될 것이다. 데이터 구조체의 구성은 도 2에서 상술하였다.
또한, 미디어 데이터가 재사용될 데이터인 경우, 이 미디어 데이터를 디스크 등의 저장 장소에 일시적으로 저장한 후, 다음에 재사용하기 위하여, 상기 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법은 생성된 데이터 구조체를 기반으로 재사용될 데이터를 소정의 저장 장소에 캐싱하는 단계(55)를 추가적으로 더 포함한다. 즉, 데이터 구조체의 재사용 플래그가 미디어 데이터가 재사용 데이터임을 가리키는 경우, 버퍼링된 데이터를 디스크 등의 임시 저장 장소에 데이터 구조체의 파일명 정보에 따른 파일명으로 저장한다.
도 6은 상기 도 5의 데이터를 버퍼링하는 단계(54)의 상세 흐름도이다.
먼저, 데이터 구조체의 액세스 타입 정보에 따라 미디어 데이터의 버퍼링 분량을 결정한다(61). 이어서, 데이터 구조체의 재생 순서별 버퍼링 시작 시각 정보에 따라 미디어 데이터의 버퍼링 시작 시각을 결정한다(62). 이어서, 데이터 구조체의 재생 시점별 버퍼링 시작 시점 정보에 따라 미디어 데이터의 버퍼링 시작 시점을 결정한다(63). 이어서, 데이터 구조체의 버퍼링 분량 정보에 따라 미디어 데이터의 버퍼링 분량을 결정한다(64). 이어서, 데이터 구조체의 URL 정보에 따라 URL로 액세스한다(65). 이어서, 상기 (65) 단계에서 액세스된 URL로부터 상기 (62) 단계에서 결정된 시각에, 상기 (63) 단계에서 결정된 시점에서, 상기 (61) 단계에서 결정된 버퍼링 분량을 기본으로 상기 (64) 단계에서 결정된 버퍼링 분량만큼 상기 미디어 데이터를 버퍼링한다(66).
한편, 상술한 본 발명의 실시 예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
또한 상술한 본 발명의 실시 예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면 멀티미디어 단말기를 이용해 인터넷을 통해 멀티미디어 컨텐츠를 재생할 때, 원활하지 못한 네트워크의 상황에 따라 발생하는 서버의 응답 지연으로 인한 컨텐츠의 재생 지연 및 재생 품질 저하를 해결할 수 있는 효과가 있다. 즉, 사용자에게 신속한 서비스를 제공하게 되고, 네트워크의 상황에 덜 민감하게 되므로 안정적인 서비스를 제공하는 효과가 있다.
또한, 본 발명에 따르면 반복적으로 사용되는 미디어 데이터인 경우, 서버로의 재 요청이 불필요하게 되므로 사용자에게 신속한 서비스를 제공하게 될 뿐만 아니라, 클라이언트의 자원 및 네트워크 자원의 소모를 막을 수 있는 효과가 있다.
도 1은 종래의 멀티미디어 문서상의 미디어 데이터를 버퍼링하는 방법의 흐름도이다.
도 2는 본 발명에 따른 SMIL 문서 버퍼링 데이터 구조체의 구성도이다.
도 3은 본 발명에 따른 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치의 구성도이다.
도 4는 상기 도 3의 데이터 버퍼링부의 상세 구성도이다.
도 5는 본 발명에 따른 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법의 흐름도이다.
도 6은 상기 도 5의 데이터를 버퍼링하는 단계(54)의 상세 흐름도이다.

Claims (20)

  1. 소정의 멀티미디어 문서를 구성하는 소정의 엘리먼트에 대해서 버퍼링의 필요 여부를 검사하는 버퍼링 여부 검사부;
    상기 엘리먼트에 대해서 버퍼링이 필요하다고 검사된 경우, 상기 엘리먼트의 속성들을 기반으로 데이터 구조체를 생성하는 데이터 구조체 생성부; 및
    상기 데이터 구조체 생성부에서 생성된 데이터 구조체를 기반으로 소정의 URL로부터 소정의 미디어 데이터를 버퍼링하는 데이터 버퍼링부를 포함하는 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치.
  2. 제 1 항에 있어서, 상기 멀티미디어 문서는 SMIL 문서인 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치.
  3. 제 2 항에 있어서, 상기 데이터 구조체는
    상기 미디어 데이터의 액세스 타입 정보;
    상기 SMIL 문서로 구현되는 SMIL 콘텐츠를 구성하는 미디어 데이터들의 재생 순서에 따른 상기 미디어 데이터의 재생 순서별 버퍼링 시작 시각 정보;
    상기 미디어 데이터의 소정의 재생 시점에 따른 재생 시점별 버퍼링 시작 시점 정보;
    상기 미디어 데이터의 소정의 재생 분량에 따른 버퍼링 분량 정보; 및
    상기 미디어 데이터의 URL 정보를 포함하는 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치.
  4. 제 3 항에 있어서, 상기 데이터 버퍼링부는
    상기 데이터 구조체의 액세스 타입 정보에 따라 상기 미디어 데이터의 버퍼링 분량을 결정하는 액세스 타입별 버퍼링 분량 결정부;
    상기 데이터 구조체의 재생 순서별 버퍼링 시작 시각 정보에 따라 상기 미디어 데이터의 버퍼링 시작 시각을 결정하는 재생 순서별 버퍼링 시작 시각 결정부;
    상기 데이터 구조체의 재생 시점별 버퍼링 시작 시점 정보에 따라 상기 미디어 데이터의 버퍼링 시작 시점을 결정하는 재생 지점별 버퍼링 시작 시점 결정부;
    상기 데이터 구조체의 버퍼링 분량 정보에 따라 상기 미디어 데이터의 버퍼링 분량을 결정하는 재생 분량별 버퍼링 분량 결정부;
    상기 데이터 구조체의 URL 정보에 따라 상기 URL로 액세스하는 URL 액세스부; 및
    상기 URL 액세스부에서 액세스된 URL로부터 상기 재생 순서별 버퍼링 시작 시각 결정부에서 결정된 시각에, 상기 재생 시점별 버퍼링 시작 시점 결정부에서 결정된 시점에서, 상기 액세스 타입별 버퍼링 분량 결정부에서 결정된 버퍼링 분량을 기본으로 상기 재생 분량별 버퍼링 분량 결정부에서 결정된 버퍼링 분량만큼 상기 미디어 데이터를 버퍼링하는 미디어 데이터 버퍼링부를 포함하는 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치.
  5. 제 1 항에 있어서,
    상기 데이터 구조체 생성부에서 생성된 데이터 구조체를 기반으로 재사용될 데이터를 소정의 저장 장소에 캐싱하는 재사용 데이터 캐싱부를 더 포함하는 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치.
  6. 제 5 항에 있어서, 상기 멀티미디어 문서는 SMIL 문서인 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치.
  7. 제 6 항에 있어서, 상기 데이터 구조체는
    상기 미디어 데이터의 재사용 여부를 가리키는 재사용 플래그; 및
    상기 미디어 데이터가 재사용 데이터인 경우, 상기 미디어 데이터가 저장되는 파일명 정보를 포함하는 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치.
  8. 제 7 항에 있어서, 상기 재사용 데이터 캐싱부는 상기 데이터 구조체의 재사용 플래그가 상기 미디어 데이터가 재사용 데이터임을 가리키는 경우, 상기 데이터 버퍼링부에서 버퍼링된 미디어 데이터를 상기 저장 장소에 상기 데이터 구조체의 파일명 정보에 따른 파일명으로 저장하는 것을 특징으로 하는 데이터 구조체 기반의 SMIL 버퍼링 장치.
  9. (a) 소정의 멀티미디어 문서를 구성하는 소정의 엘리먼트에 대해서 버퍼링의 필요 여부를 검사하는 단계;
    (b) 상기 엘리먼트에 대해서 버퍼링이 필요하다고 검사된 경우, 상기 엘리먼트의 속성들을 기반으로 데이터 구조체를 생성하는 단계; 및
    (c) 상기 (b) 단계에서 생성된 데이터 구조체를 기반으로 소정의 URL로부터 소정의 미디어 데이터를 버퍼링하는 단계를 포함하는 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법.
  10. 제 9 항에 있어서, 상기 멀티미디어 문서는 SMIL 문서인 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법.
  11. 제 10 항에 있어서, 상기 데이터 구조체는
    상기 미디어 데이터의 액세스 타입 정보;
    상기 SMIL 문서로 구현되는 SMIL 콘텐츠를 구성하는 미디어 데이터들의 재생 순서에 따른 상기 미디어 데이터의 재생 순서별 버퍼링 시작 시각 정보;
    상기 미디어 데이터의 소정의 재생 시점에 따른 재생 시점별 버퍼링 시작 시점 정보;
    상기 미디어 데이터의 소정의 재생 분량에 따른 버퍼링 분량 정보; 및
    상기 미디어 데이터의 URL 정보를 포함하는 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법.
  12. 제 11 항에 있어서, 상기 (c) 단계는
    (c1) 상기 데이터 구조체의 액세스 타입 정보에 따라 상기 미디어 데이터의 버퍼링 분량을 결정하는 단계;
    (c2) 상기 데이터 구조체의 재생 순서별 버퍼링 시작 시각 정보에 따라 상기 미디어 데이터의 버퍼링 시작 시각을 결정하는 단계;
    (c3) 상기 데이터 구조체의 재생 시점별 버퍼링 시작 시점 정보에 따라 상기 미디어 데이터의 버퍼링 시작 시점을 결정하는 단계;
    (c4) 상기 데이터 구조체의 버퍼링 분량 정보에 따라 상기 미디어 데이터의 버퍼링 분량을 결정하는 단계;
    (c5) 상기 데이터 구조체의 URL 정보에 따라 상기 URL로 액세스하는 단계; 및
    (c6) 상기 (c5) 단계에서 액세스된 URL로부터 상기 (c2) 단계에서 결정된 시각에, 상기 (c3) 단계에서 결정된 시점에서, 상기 (c1) 단계에서 결정된 버퍼링 분량을 기본으로 상기 (c4) 단계에서 결정된 버퍼링 분량만큼 상기 미디어 데이터를 버퍼링하는 단계를 포함하는 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법.
  13. 제 9 항에 있어서,
    (d) 상기 (b) 단계에서 생성된 데이터 구조체를 기반으로 재사용될 데이터를 소정의 저장 장소에 캐싱하는 단계를 더 포함하는 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법.
  14. 제 13 항에 있어서, 상기 멀티미디어 문서는 SMIL 문서인 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법.
  15. 제 14 항에 있어서, 상기 데이터 구조체는
    상기 미디어 데이터의 재사용 여부를 가리키는 재사용 플래그; 및
    상기 미디어 데이터가 재사용 데이터인 경우, 상기 미디어 데이터가 저장되는 파일명 정보를 포함하는 것을 특징으로 하는 데이터 구조체 기반의 멀티미디어 문서 버퍼링 방법.
  16. 제 15 항에 있어서, 상기 (d) 단계는 상기 데이터 구조체의 재사용 플래그가 상기 미디어 데이터가 재사용 데이터임을 가리키는 경우, 상기 (c) 단계에서 버퍼링된 미디어 데이터를 상기 저장 장소에 상기 데이터 구조체의 파일명 정보에 따른 파일명으로 저장하는 것을 특징으로 하는 데이터 구조체 기반의 SMIL 버퍼링 방법.
  17. 미디어 데이터의 액세스 타입 정보;
    SMIL 문서로 구현되는 SMIL 콘텐츠를 구성하는 미디어 데이터들의 재생 순서에 따른 상기 미디어 데이터의 재생 순서별 버퍼링 시작 시각 정보;
    상기 미디어 데이터의 소정의 재생 시점에 따른 재생 시점별 버퍼링 시작 시점 정보;
    상기 미디어 데이터의 소정의 재생 분량에 따른 버퍼링 분량 정보; 및
    상기 미디어 데이터의 URL 정보를 포함하는 것을 특징으로 하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 기록매체.
  18. 제 17 항에 있어서,
    상기 미디어 데이터의 재사용 여부를 가리키는 재사용 플래그; 및
    상기 미디어 데이터가 재사용 데이터인 경우, 상기 미디어 데이터가 저장되는 파일명 정보를 더 포함하는 것을 특징으로 하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 기록매체.
  19. 제 9 항 내지 제 16 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  20. 삭제
KR10-2002-0055425A 2002-09-12 2002-09-12 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치 및 방법 KR100490410B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0055425A KR100490410B1 (ko) 2002-09-12 2002-09-12 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0055425A KR100490410B1 (ko) 2002-09-12 2002-09-12 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20040023966A KR20040023966A (ko) 2004-03-20
KR100490410B1 true KR100490410B1 (ko) 2005-05-17

Family

ID=37327255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0055425A KR100490410B1 (ko) 2002-09-12 2002-09-12 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100490410B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100880965B1 (ko) * 2007-12-04 2009-02-03 주식회사 엘지씨엔에스 다운로드 가능한 콘텐츠 보안시스템 및 그 보안방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950027576A (ko) * 1994-03-01 1995-10-18 윌리암 티. 엘리스 메모리 버퍼 관리 방법 및 시스템
US5892935A (en) * 1994-06-30 1999-04-06 Intel Corporation Data pre-fetch for script-based multimedia systems
KR20030032413A (ko) * 2001-10-18 2003-04-26 주식회사 엠씨글로벌 멀티미디어 데이터용 버퍼 구조 및 버퍼링 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950027576A (ko) * 1994-03-01 1995-10-18 윌리암 티. 엘리스 메모리 버퍼 관리 방법 및 시스템
US5572645A (en) * 1994-03-01 1996-11-05 International Business Machines Corporation Buffer management policy for an on-demand video server
US5892935A (en) * 1994-06-30 1999-04-06 Intel Corporation Data pre-fetch for script-based multimedia systems
KR20030032413A (ko) * 2001-10-18 2003-04-26 주식회사 엠씨글로벌 멀티미디어 데이터용 버퍼 구조 및 버퍼링 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE Transaction on Consumer Electronics, vol 48, pp. 572-578(2002년8월 *

Also Published As

Publication number Publication date
KR20040023966A (ko) 2004-03-20

Similar Documents

Publication Publication Date Title
US10735488B2 (en) Method of downloading digital content to be rendered
US10051013B2 (en) Method and apparatus for streaming multimedia content of server by using cache
US9185158B2 (en) Content delivery in a network
JP2000293424A (ja) ネットワークキャッシュ装置およびキャッシュ制御方法
US20060106807A1 (en) System and method for transferring a file in advance of its use
RU2387026C2 (ru) Способ обработки запроса соединения проигрывателя диска
RU2387027C2 (ru) Способ настройки среды проигрывания интерактивного диска
KR20030094399A (ko) 다매체 프레젠테이션 방법 및 시스템
US9697294B2 (en) Method and apparatus for managing contents by using content tag
CA2290431A1 (en) A system and method for optimizing the delivery of audio and video data over a computer network
KR101169041B1 (ko) 캐시서버 및 멀티미디어 컨텐츠 제공 방법
JP2010503063A (ja) マルチフォーマット・データ交換のための方法及び装置
KR100490410B1 (ko) 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치 및 방법
KR100733247B1 (ko) 클라이언트 디바이스로의 전송을 위한 콘텐츠를 서비스하는 방법, 클라이언트 디바이스에 콘텐츠를 제공하는 시스템 및 컴퓨터 판독가능한 기록 매체
JP5567906B2 (ja) 画面の再現を支援する装置及び方法
US8086562B2 (en) Arrangement for anonymous API downloaded resources for advanced content
KR100509162B1 (ko) 피어 투 피어 기반의 코덱 공유 시스템 및 그 방법
JP2004048782A (ja) 情報管理システム、サーバコンピュータ、及びサーバ用プログラムを記録したコンピュータ読み取り可能な記録媒体
US20110093606A1 (en) Interface method and display device
JP2007259059A (ja) 中継処理システム、装置及びプログラム
JP2002232817A (ja) コンテンツ処理システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080429

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee