KR100811784B1 - 미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및이동통신 단말기 - Google Patents

미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및이동통신 단말기 Download PDF

Info

Publication number
KR100811784B1
KR100811784B1 KR1020070064423A KR20070064423A KR100811784B1 KR 100811784 B1 KR100811784 B1 KR 100811784B1 KR 1020070064423 A KR1020070064423 A KR 1020070064423A KR 20070064423 A KR20070064423 A KR 20070064423A KR 100811784 B1 KR100811784 B1 KR 100811784B1
Authority
KR
South Korea
Prior art keywords
media
stored
data
storing
media stream
Prior art date
Application number
KR1020070064423A
Other languages
English (en)
Inventor
김승현
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020070064423A priority Critical patent/KR100811784B1/ko
Application granted granted Critical
Publication of KR100811784B1 publication Critical patent/KR100811784B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 미디어 재생 장치에 관한 것으로, 외부로부터 실시간으로 입력받은 미디어 스트림을 효율적으로 관리하여 멀티미디어 데이터로 복호화하고 재생할 수 있는 미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및 이동통신 단말기에 관한 것이다. 본 발명에 따른 미디어 재생 장치는 미디어 스트림을 수신한 순서대로 큐(Queue)에 저장하고, 저장된 순서대로 상기 미디어 스트림을 인출하고 복호화하여 미디어 데이터를 출력함으로써, 메모리 낭비를 감소하고 효율적인 버퍼링 동작을 구현할 수 있다.
미디어 스트림, 큐(Queue), 프레임, 버퍼링

Description

미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및 이동통신 단말기{Apparatus for reproducing media, its using method for reproducing media and mobile communication terminal thereof}
도 1은 본 발명의 일실시예에 따른 미디어 재생 장치의 블록도,
도 2는 본 발명의 일실시예에 따른 미디어 재생 장치에서 미디어 스트림이 전달되는 과정을 개략적으로 나타낸 도면,
도 3은 본 발명의 일실시예에 따른 미디어 재생 장치에서 미디어 스트림이 버퍼링되는 과정을 나타낸 도면,
도 4는 본 발명의 일실시예에 따른 미디어 재생 방법을 간략하게 나타낸 흐름도,
도 5는 본 발명의 일실시예에 따른 미디어 재생 방법을 나타낸 흐름도,
도 6은 본 발명의 일실시예에 따른 미디어 재생 방법을 나타낸 흐름도, 및
도 7은 본 발명의 일실시예에 따른 미디어 재생 장치를 구비하는 이동통신 단말기의 블록도이다.
본 발명은 실시간으로 수신한 복수의 미디어 스트림을 큐(Queue)에 저장하고, 상기 미디어 스트림에 대한 시간 필드 및 포인터 필드에 따라 상기 미디어 스트림을 인출하여 복호화함으로써, 효율적으로 메모리를 관리할 수 있는 미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및 이동통신 단말기에 관한 것이다.
미디어 재생 기능을 탑재한 이동통신 단말기, PDA 및 휴대용 멀티미디어 플레이어(PMP, Portable Multimedia Player) 등이 널리 보급되면서, 이동 중에도 각종 미디어를 시청할 수 있게 되었다. 미디어 재생 장치를 구현함에 있어서는 일반적으로 미디어 스트림을 관리하는 단계와 입력받은 미디어 스트림을 복호화하는 단계, 및 복호화된 미디어를 출력하는 단계를 고려해야 한다.
특히, 별도의 저장 장치에 미디어 데이터를 저장하지 않고, DMB(Digital Multimedia Broadcasting) 수신기와 같이 실시간으로 미디어 스트림을 수신하여 재생해야 하는 경우에는 입력받은 미디어 스트림에 대한 관리가 중요해 진다. 실시간으로 멀티미디어에 대한 미디어 스트림을 수신하고 재생하는 경우, 미디어 스트림이 필요한 만큼 전송되고 이를 재생 장치 측에서 버퍼링하게 되는데, 상기 버퍼링으로 인하여 실제 방송과 재생 장치에서 재생하는 방송 간에 약간의 오차가 발생할 수 있다.
이러한 문제를 해결하기 위해 일반적으로 입력될 수 있는 프레임의 최대 크기를 미디어 스트림 수신을 위한 메모리로 할당함으로써 버퍼링을 실행하는 방법이 있었다. 그러나 상기와 같은 방법은 전원 및 메모리 활용에 있어서 많은 한정이 따르는 휴대용 미디어 재생 장치에는 적용하기 어렵다.
따라서, 본 발명의 목적은, 외부로부터 실시간으로 입력되는 미디어 스트림을 효율적으로 관리하여 메모리 사용량을 줄이고 원활한 버퍼링 동작을 구현할 수 있는 미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및 이동통신 단말기를 제공하는 데 있다.
상기 목적을 달성하기 위해 본 발명에 따른 멀티미디어 재생 장치는, 복수의 미디어 스트림(media stream)을 입력받는 데이터송수신부, 상기 입력된 복수의 미디어 스트림을 저장하기 위해, 상기 복수의 미디어 스트림 각각에 대응되는 복수의 큐(Queue)들을 포함하는 저장부, 및 상기 복수의 큐들을 제어하는 제어부를 포함하고, 상기 복수의 큐들 중 적어도 하나는 상기 큐에 저장된 미디어 스트림의 시간 정보 및 상기 미디어 스트림의 저장 공간에 대한 정보를 저장하고, 상기 제어부는 상기 정보를 이용하여 상기 큐에 저장된 미디어 스트림을 관리하고, 복호화하여 미디어 데이터를 생성하는 것을 특징으로 한다.
또한, 본 발명에 따른 미디어 재생 방법은, 미디어 스트림을 저장하는 단계, 상기 저장된 미디어 스트림에 대한 시간 정보를 저장하는 시간 필드 및 상기 미디어 스트림이 저장된 공간을 가리키는 포인터 필드를 생성하는 단계, 및 상기 시간 필드 및 포인터 필드에 따라 미디어 스트림을 인출하고 복호화하여 미디어 데이터를 생성하는 단계를 포함한다.
또한, 본 발명에 따르면 상기 미디어 재생 장치를 사용하여 미디어 스트림을 관리하고 출력하는 이동통신 단말기가 제공된다.
또한, 본 발명에 따르면 미디어 재생 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.
이하, 본 발명에 따른 미디어 재생 장치 및 미디어 재생 방법의 바람직한 실시예에 대해 도 1 내지 도 7를 참조하여 설명하기로 한다.
도 1은 본 발명에 따른 미디어 재생 장치의 블록도이다. 도 1을 참조하면, 본 발명에 따른 미디어 재생 장치(100)는 외부 장치에 미디어 스트림 요청 신호를 전송하고, 상기 요청한 미디어 스트림을 수신하는 데이터 송수신부(110), 상기 수신된 미디어 스트림을 저장하는 저장부(120), 상기 저장부(120)에 저장된 미디어 스트림을 관리하고, 인출하여 복호화하는 제어부(130), 상기 제어부(130)가 복호화한 미디어 데이터를 수신하여 출력하는 재생부(140), 및 입력부(150)를 포함한다.
상기 외부 장치는 미디어 재생 장치(100)에 복수의 미디어 스트림을 전송할 수 있는 장치로서, 일실시예로 DMB 서비스를 제공하는 방송 서버일 수 있다. 미디어 재생 장치(100)는 데이터 송수신부(110)를 통해 상기 외부 장치가 전송한 복수의 미디어 스트림을 수신하고, 상기 제어부(130)는 상기 수신된 복수의 미디어 스트림을 저장부(120) 내의 큐(121~125)에 저장한다.
상기 큐(121~125)는 저장부(120)에 포함되는 일종의 버퍼로서 선입선출(FIFO, First-In-First-Out) 방식으로 상기 복수의 미디어 스트림을 저장하고 출력한다. 상기 저장부(120)는 복수의 큐(121~125)에 상기 복수의 미디어 스트림을 저장할 수 있으며, 이 경우 상기 복수의 미디어 스트림을 오디오, 비디오 및 텍스 트 등으로 구분하여 상기 큐(121~125)에 종류별로 저장할 수 있다.
사용자가 입력부(150)를 통해 미디어 재생 명령을 입력하면, 상기 제어부(130)는 큐(121~125)에 저장된 미디어 스트림을 인출하여 복호화한다. 이 때, 제어부(130)는 가장 먼저 저장된 미디어 스트림부터 순서대로 인출하는 선입선출 방식에 의해 상기 저장된 미디어 스트림을 인출한다.
상기 선입선출 방식에 따라 큐(121~125)에 미디어 스트림을 저장하고 인출함으로써, 실시간으로 멀티미디어 데이터를 복호화하고 재생하는데 필요한 저장부(120)의 저장 용량을 감소할 수 있다. 상기 선입선출 방식에 따라, 상기 큐(121~125)는 미디어 스트림을 프레임 단위로 저장하고 출력할 수 있다.
typedef struct ES_ABuf_Manager { unsigned long push_pos; unsigned long pop_pos; unsigned long saved_num; unsigned short push_idx; unsigned short pop_idx; unsigned short len[ES_BUF_A_FRAME_MAX_NUM]; unsigned long time[ES_BUF_A_FRAME_MAX_NUM]; // audio time stamp unsigned char strm_buf[ES_BUF_A_SIZE]; } ES_ABUF_MANAGER; typedef struct ES_VBuf_Manager { unsigned long push_pos; unsigned long pop_pos; unsigned long saved_num; unsigned short push_idx; unsigned short pop_idx; unsigned short len[ES_BUF_V_FRAME_MAX_NUM]; unsigned long time[ES_BUF_V_FRAME_MAX_NUM]; // video time stamp unsigned char strm_buf[ES_BUF_V_SIZE]; } ES_VBUF_MANAGER;
미디어 스트림이 상기 선입선출 방식에 따라 큐(121~125)에 저장되면, 상기 제어부(130)는 상기 미디어 스트림 및 큐(121~125)를 관리하기 위한 데이터 필드를 생성한다. 일실시예로 표 1을 참조하면, 상기 제어부(130)는 오디오에 대한 미디어 스트림을 저장한 큐(121)에 대한 데이터 필드와 비디오에 대한 미디어 스트림을 저장한 큐(123)에 대한 데이터 필드를 각각 생성할 수 있다.
상기 데이터 필드는 상기 미디어 스트림의 시간 정보를 저장하는 시간 필드 및 상기 미디어 스트림의 저장 공간을 가리키는 포인터 필드를 포함한다. 상기 시간 필드는 상기 오디오 스트림 및 비디오 스트림을 복호화하여 멀티미디어 데이터를 생성하는 경우, 상기 멀티미디어 데이터의 동기화를 조절하기 위한 시간 정보(timestamp)를 저장한다. 상기 포인터 필드는 실제로 미디어 스트림이 저장된 큐(121~125)의 공간에 대한 정보를 포함한다.
일실시예로, 제어부(130)는 상기 시간 필드 및 포인터 필드 이외에 인덱스 필드를 생성할 수 있다. 상기 인덱스 필드는 상기 미디어 스트림이 저장되는 큐(121~125)의 주소를 관리하는데 필요한 정보를 저장한다.
상기 제어부(130)는 상기 시간 필드 및 포인터 필드에 따라 큐(121~125)에 저장된 복수의 미디어 스트림을 실시간으로 인출하여 복호화함으로써 미디어 데이터를 생성한다. 상기 복수의 미디어 스트림이 오디오 스트림 및 비디오 스트림으로 구분되어 저장된 경우, 상기 제어부(130)는 상기 복호화된 오디오 및 비디오 데이터를 시간 필드에 저장된 시간 정보에 따라 동기화함으로써 멀티미디어 데이터를 생성한다. 재생부(140)는 상기 제어부(130)가 복호화 및 동기화한 멀티미디어 데이터를 수신하여 사용자에게 실시간으로 출력한다.
도 2는 본 발명에 따른 미디어 재생 장치(100)에서 복수의 미디어 스트림이 전달되는 과정을 개략적으로 나타낸 도면이다. 도 2를 참조하면, 입력되는 복수의미디어 스트림은 데이터 송수신부(110)를 거쳐서 프레임 단위로 저장부(120)에 저장된다. 상기 데이터 송수신부(110)는 복수의 미디어 스트림을 수신하고 프레임 단위로 저장하는 기능을 수행한다.
상기 저장부(120)은 상기 데이터 송수신부(110)로부터 프레임 단위로 수신한 복수의 미디어 스트림을 선입선출 방식에 따라 저장하는 모듈로서, 복수의 큐(121~125)를 포함한다. 상기 저장부(120)는 상기 프레임 단위로 수신한 복수의 미디어 스트림을 오디오, 비디오, 및 기타 다른 종류의 미디어 스트림으로 구분하여 저장하고 출력할 수 있다.
상기 저장부(120)는 오디오, 비디오, 및 기타 다른 종류의 미디어 스트림으로 구분하여 저장한 상기 복수의 미디어 스트림을 복호화부(200)로 출력한다. 복호화부(200)는 상기 저장부(120)로부터 수신한 복수의 미디어 스트림을 종류에 따라 복호화하여 복수의 미디어 데이터를 생성한다.
상기 복호화부(200)가 생성한 복수의 미디어 데이터는 동기화부(210)로 전송되며, 동기화부(210)는 상기 복수의 미디어 데이터를 동기화함으로써 사용자에게 출력하기 위한 멀티미디어 데이터를 생성한다. 동기화부(210)는 상기 동기화 과정에서 상기 미디어 스트림에 대한 시간 정보를 이용하여 상기 복수의 미디어 데이터를 동기화한다. 상기 동기화부(210)에 의해 동기화된 멀티미디어 데이터는 재생부(140)를 통해 사용자에게 출력된다.
도 3은 본 발명의 일실시예에 따른 미디어 재생 장치(100)에서 복수의 미디어 스트림이 버퍼링되는 과정을 나타낸 도면이다. 도 3을 참조하면, 상기 버퍼링 과정은 미디어 재생 장치(100)의 저장부(120)에 포함된 큐(121~125)에서 실행된다. 첫 번째 큐(121)는 오디오 미디어 스트림을 입력받아 프레임 단위로 버퍼링하고, 두 번째 큐(123)는 비디오 미디어 스트림을 입력받아 프레임 단위로 버퍼링한다. 마지막으로 세 번째 큐(125)는 오디오와 비디오를 제외한 다른 미디어 스트림을 입력받아 프레임 단위로 버퍼링한다.
상기 저장부(120)에 포함된 큐(121~125)는 선입선출 방식으로 동작하는 일종의 버퍼로서, 미디어 스트림을 프레임 단위로 임시 저장하고 복호화부(200)로 출력한다. 입력될 수 있는 프레임의 최대 크기에 맞춰서 메모리를 할당하지 않고 상기와 같은 큐(121~125)를 이용한 선입선출 방식의 버퍼링을 이용함으로써, 메모리의 낭비를 줄일 수 있다. 미디어 스트림이 불규칙적으로 들어오는 경우에 대비해서 상기 큐(121~125)의 크기 또는 깊이를 가능한 작게 설정하면, 예외적으로 발생할 수 있는 에러 상황에 유동적으로 대처할 수 있다.
상기 큐(121~125)는 할당된 미디어 스트림을 연속적으로 저장(Sequential Storing)하고, 동시에 연속적으로 복호화부(200)로 출력한다. 큐(121~125)에 저장되는 상기 미디어 스트림을 관리하기 위해 미디어 재생 장치(100)의 제어부(130)는 해당 미디어 스트림의 저장 공간에 대한 정보를 저장하는 포인터 필드 및 미디어 스트림의 시간 정보를 저장하는 시간 필드를 생성한다.
상기 시간 필드에 저장된 시간 정보는 복수의 미디어 스트림을 동기화하는데 이용된다. 프레임 단위로 큐(121~125)에서 인출되어 복호화부(200)에서 복호화된 복수의 미디어 데이터는 동기화부(210)에서 하나의 미디어 데이터로 동기화된다. 동기화부(210)는 상기 동기화 과정에서 각 미디어 스트림의 시간 정보를 파라미터로 받아 미디어 데이터를 생성하는데 이용한다.
일실시예로, 상기 큐(121~125)가 미디어 스트림으로 포화되어 저장 용량이 부족하면, 미디어 재생 장치(100)의 제어부(130)는 상기 큐(121~125)에 저장된 미디어 스트림을 삭제하고 미디어 스트림을 재수신하여 상기 큐(121~125)에 저장한다. 상기 큐(121~125)는 링 버퍼링(Ring-Buffering) 방식에 따라 미디어 스트림을 저장하고 복호화부(200)로 출력할 수 있다.
도 4는 본 발명의 일실시예에 따른 미디어 재생 방법을 간략하게 나타낸 흐름도이다. 도 4를 참조하면, 본 발명에 따른 미디어 재생 방법은 미디어 재생 장치(100)의 데이터 송수신부(110)가 복수의 미디어 스트림을 수신하는 것으로 시작된다(S400).
상기 S400 단계에서 수신한 복수의 미디어 스트림은 미디어 재생 장치(100)의 저장부(120)로 전송되어 저장부(120)가 포함하는 큐(121~125)에 저장된다(S410). 제어부(130)는 상기 복수의 미디어 스트림을 저장부(120)로 전송하고 상기 큐(121~125)에 저장함으로써, 선입선출 방식으로 상기 복수의 미디어 스트림에 대한 버퍼링을 실행할 수 있다.
제어부(130)는 상기 S410 단계에서 저장하는 복수의 미디어 스트림을 관리하기 위해 시간 필드 및 포인터 필드를 생성한다(S420). 상기 시간 필드는 상기 구분되어 저장된 미디어 스트림을 동기화하는데 필요한 시간 정보를 저장하며, 상기 포인터 필드는 실제 미디어 스트림이 저장된 공간에 대한 정보를 포함한다. 필요에 따라 상기 제어부(130)는 상기 미디어 스트림이 저장된 큐(121~125)의 주소를 관리하는 인덱스 필드를 생성할 수 있다.
제어부(130)는 상기 시간 필드 및 포인터 필드가 포함하는 정보에 따라 상기 복수의 미디어 스트림을 인출하고(S430), 복호화함으로써 복수의 미디어 데이터를 생성한다(S440). 상기 복호화단계는 제어부(130)가 포함하는 복호화부(200)에 의해 실행되며, 일실시예로 상기 큐(121~125)에 구분되어 저장된 복수의 미디어 스트림 각각에 대해 독립적으로 복호화 작업이 실행된다(S440).
상기 S440 단계에서 복호화작업이 완료되면, 제어부(130)는 상기 복수의 미디어 데이터를 동기화하고 출력한다(S450). 일실시예로, 상기 S450 단계에서 제어부(130)는 상기 시간 필드에 저장된 미디어 스트림의 시간 정보를 이용하여 상기 복호화된 복수의 미디어 데이터를 동기화한다.
상기 동기화과정을 거쳐 생성된 멀티미디어 데이터는 미디어 재생 장치(100)의 재생부(140)를 통해 사용자에게 출력된다. 일실시예로 상기 미디어 재생 장치(100)는 디지털 멀티미디어 방송의 미디어 스트림을 데이터 송수신부(110)를 통해 수신하고(S400), 상기 S410 내지 S440 단계를 거쳐서 생성한 디지털 멀티미디어 방송을 사용자에게 출력할 수 있다(S450).
도 5는 본 발명의 일실시예에 따른 미디어 재생 방법을 나타낸 흐름도이다. 도 5를 참조하면 본 발명에 따른 미디어 재생 방법은 미디어 재생 장치(100)가 재생하고자 하는 미디어 데이터에 대한 미디어 스트림을 데이터 송수신부(110)를 통해 수신하는 것으로 시작된다(S500).
상기 S500 단계에서 미디어 스트림을 수신하면, 제어부(130)는 상기 데이터 송수신부(110)가 수신한 미디어 스트림의 종류를 판단한다(S510). 일실시예로, 상기 미디어 스트림은 오디오에 대한 미디어 스트림만으로 구성될 수 있고, 비디오에 대한 미디어 스트림만으로 구성될 수도 있으며, 오디오 및 비디오에 대한 미디어 스트림을 모두 포함할 수도 있다.
상기 S510 단계에서 제어부(130)가 미디어 스트림의 종류를 오디오에 대한 미디어 스트림으로 판단하면, 상기 제어부(130)는 상기 오디오 미디어 스트림을 저장부(120)가 포함하는 할당된 큐(121)에 저장한다(S520). 한편, 상기 S510 단계에서 제어부(130)가 미디어 스트림의 종류를 비디오에 대한 미디어 스트림으로 판단하면, 상기 제어부(130)는 상기 비디오 미디어 스트림을 저장부(120)가 포함하는 할당된 큐(123)에 저장한다(S530).
상기 S510 단계에서 제어부(130)가 상기 수신된 미디어 스트림이 오디오 및 비디오에 대한 미디어 스트림을 모두 포함하는 것으로 판단하면, 상기 제어부(130)는 상기 수신된 미디어 스트림을 오디오 미디어 스트림 및 비디오 미디어 스트림으로 구분한다. 상기 구분된 오디오 미디어 스트림은 저장부(120)의 오디오 미디어 스트림에 할당된 큐(121)에 저장되며, 상기 구분된 비디오 미디어 스트림은 저장부(120)의 비디오 미디어 스트림에 할당된 큐(123)에 저장된다(S540).
다른 실시예로, 상기 수신된 미디어 스트림이 오디오, 비디오 및 기타 다른 종류의 미디어 스트림을 포함하는 경우, 상기 제어부(130)는 상기 미디어 스트림을 오디오 미디어 스트림, 비디오 미디어 스트림 및 기타 다른 종류의 미디어 스트림으로 구분하여 저장한다. 이 때, 다른 종류의 미디어 스트림은 저장부(120)에 포함된 별도의 큐(125)에 저장한다.
각각의 큐(121~125)에 상기 구분된 미디어 스트림을 저장한 후, 상기 제어부(130)는 상기 저장한 미디어 스트림을 관리하는 시간 필드 및 포인터 필드를 생성한다(S550). 상기 시간 필드는 상기 저장된 미디어 스트림을 동기화하는데 필요한 시간 정보를 저장하며, 상기 포인터 필드는 실제 미디어 스트림이 저장된 공간에 대한 정보를 포함한다. 필요에 따라 상기 제어부(130)는 상기 미디어 스트림이 저장된 큐(121~125)의 주소를 관리하는 인덱스 필드를 생성할 수 있다.
제어부(130)는 상기 시간 필드 및 포인터 필드가 포함하는 정보에 따라 상기 저장된 미디어 스트림을 인출하고(S560), 복호화함으로써 복수의 미디어 데이터를 생성한다(S570). 상기 복호화단계는 제어부에 포함된 복호화부(200)에 의해 실행되며, 일실시예로 상기 큐(121~125)에 구분되어 저장된 오디오, 비디오 및 기타 다른 종류의 미디어 스트림을 각각 독립적으로 복호화할 수 있다(S570).
S570 단계에서 복호화작업이 완료되면, 제어부(130)는 상기 복수의 미디어 데이터를 동기화하고 출력한다(S580). 일실시예로, 상기 S580 단계에서 제어부(130)는 상기 시간 필드에 저장된 미디어 스트림의 시간 정보를 이용하여 상기 복수의 미디어 데이터를 동기화한다.
상기 동기화된 멀티미디어 데이터는 미디어 재생 장치(100)의 재생부(140)를 통해 사용자에게 출력된다. 일실시예로 상기 미디어 재생 장치(100)는 디지털 멀티미디어 방송의 미디어 스트림을 데이터 송수신부(110)를 통해 수신하고, 상기 S510 내지 S570 단계를 거쳐서 생성된 상기 디지털 멀티미디어 방송을 사용자에게 출력할 수 있다.
도 6은 본 발명의 일실시예에 따른 미디어 재생 방법을 나타낸 흐름도이다. 도 6을 참조하면, 본 발명에 따른 미디어 재생 방법은 미디어 재생 장치(100)가 재생하고자 하는 미디어 데이터에 대한 미디어 스트림을 데이터 송수신부(110)를 통해 수신하는 것으로 시작된다(S600).
상기 S600 단계에서 미디어 스트림을 수신하면, 제어부(130)는 상기 데이터 송수신부(110)가 저장부(120)의 큐(121~125)에 상기 수신한 미디어 스트림을 저장할 수 있는 충분한 공간이 존재하는지 판단한다(S605). 상기 S605 단계의 판단 결과, 상기 미디어 스트림을 저장하기 위한 저장 용량이 부족하면, 상기 제어부(130)는 상기 큐(121~125)에 저장된 미디어 스트림을 삭제하여 저장 용량을 확보한다(S610). 상기 저장 용량이 확보되면, 미디어 스트림을 다시 수신한다(S600).
상기 S605 단계의 판단 결과, 큐(121~125)에 상기 미디어 스트림을 저장할 공간이 충분하면, 제어부(130)는 상기 미디어 스트림의 종류를 판단한다(S615). 상기 S615 단계의 판단 결과, 상기 미디어 스트림이 오디오 미디어 스트림만으로 구성된 경우, 상기 제어부(130)는 오디오 미디어 스트림에 할당된 큐(121)에 상기 오디오 미디어 스트림을 저장한다(S620). 상기 S615 단계의 판단 결과, 상기 미디어 스트림이 비디오 미디어 스트림만으로 구성된 경우, 상기 제어부(130)는 비디오 미디어 스트림에 할당된 큐(121)에 상기 비디오 미디어 스트림을 저장한다(S625).
상기 수신한 미디어 스트림이 오디오 및 비디오 미디어 스트림을 모두 저장한 경우, 상기 제어부(130)는 상기 수신된 미디어 스트림을 오디오 및 비디오 미디어 스트림으로 구분한다. 상기 오디오 미디어 스트림은 저장부(120)의 오디오 미디어 스트림에 할당된 큐(121)에 저장되며, 상기 비디오 미디어 스트림은 저장부(120)의 비디오 미디어 스트림에 할당된 큐(123)에 각각 저장된다(S630).
다른 실시예로, 상기 수신한 미디어 스트림이 오디오, 비디오 및 기타 다른 종류의 미디어 스트림을 포함하는 경우, 상기 제어부(130)는 상기 미디어 스트림을 오디오 미디어 스트림, 비디오 미디어 스트림 및 기타 다른 종류의 미디어 스트림으로 구분하여 큐(121~125)에 저장한다. 이 때, 다른 종류의 미디어 스트림은 저장부(120)에 포함된 별도의 큐(125)에 저장한다.
각각의 큐(121~125)에 상기 미디어 스트림을 구분하여 저장한 후, 상기 제어부(130)는 상기 큐(121~125)에 저장된 미디어 스트림을 관리하는 시간 필드 및 포인터 필드를 생성한다(S635). 상기 시간 필드는 상기 저장된 미디어 스트림을 동기화하는데 필요한 시간 정보를 저장하며, 상기 포인터 필드는 실제 미디어 스트림이 저장된 공간에 대한 정보를 포함한다. 필요에 따라 상기 제어부(130)는 상기 미디어 스트림이 저장된 큐(121~125)의 주소를 관리하는 인덱스 필드를 생성할 수 있다.
제어부(130)는 상기 시간 필드 및 포인터 필드가 포함하는 정보에 따라 미디어 스트림을 인출하고(S640), 복호화하여 복수의 미디어 데이터를 생성한다(S645). 상기 복호화단계는 제어부에 포함된 복호화부(200)에 의해 실행되며, 일실시예로 상기 큐(121~125)에 구분되어 저장된 오디오, 비디오 및 기타 다른 종류의 미디어 스트림을 각각 독립적으로 복호화할 수 있다.
S645 단계에서 복호화작업이 완료되면, 제어부(130)는 상기 복수의 미디어 데이터를 동기화하고 출력한다(S650). 일실시예로, 상기 S650 단계에서 제어부(130)는 상기 시간 필드에 저장된 미디어 스트림의 시간 정보를 이용하여 상기 복수의 미디어 스트림을 동기화한다.
상기 동기화과정을 거쳐 생성된 멀티미디어 데이터는 미디어 재생 장치(100)의 재생부(140)를 통해 사용자에게 출력된다. 일실시예로 상기 미디어 재생 장치(100)는 디지털 멀티미디어 방송의 미디어 스트림을 데이터 송수신부(110)를 통해 수신하고, 상기 S605 내지 S645 단계를 거쳐서 생성된 상기 디지털 멀티미디어 방송을 사용자에게 출력할 수 있다.
도 7은 본 발명의 일실시예에 따른 미디어 재생 장치(100)를 구비하는 이동통신 단말기의 블록도이다. 도 7을 참조하면, 본 발명에 따른 미디어 재생 장치(100)를 구비하는 이동통신 단말기(700)는 이동통신을 위한 데이터를 송수신하는 무선 송수신부(710), 재생하고자 하는 미디어 데이터에 대한 미디어 스트림을 수신하는 스트림 수신부(720), 상기 스트림 수신부(720)가 수신한 미디어 스트림을 저장하는 메모리(730), 상기 미디어 스트림을 메모리(730)로부터 인출하여 복호화하는 제어부(740), 상기 복호화된 미디어 데이터를 수신하여 출력하는 출력부(750), 및 입력부(760)를 포함한다.
사용자가 입력부(760)를 통해 미디어 데이터의 실시간 재생 명령을 입력하면, 스트림 수신부(720)는 재생하고자 하는 미디어 스트림을 수신하고 상기 수신한 미디어 스트림은 제어부(740)에 의해 상기 메모리(730)에 저장된다. 상기 메모리(730)는 이동통신 단말기(700)에 일반적으로 적용되는 저장부 외에 상기 미디어 스트림을 실시간으로 수신하고 출력하기 위한 버퍼를 포함한다. 상기 버퍼는 선입선출 방식의 큐(121~125)로 구현할 수 있다.
상기 메모리(730)는 복수의 큐(121~125)를 포함할 수 있으며, 상기 큐(121~125)는 상기 미디어 스트림의 종류에 따라 각각 다른 미디어 스트림을 저장하도록 할당될 수 있다. 일실시예로, 상기 메모리(730)는 오디오 미디어 스트림을 저장하기 위한 큐(121), 비디오 미디어 스트림을 저장하기 위한 큐(123), 및 오디오와 비디오를 제외한 다른 종류의 미디어 스트림을 저장하기 위한 큐(125)를 포함할 수 있다.
상기 미디어 스트림이 상기 메모리(730)의 큐(121~125)에 저장되면, 상기 제어부(740)는 상기 저장된 미디어 스트림에 대한 시간 필드 및 포인터 필드를 생성한다. 상기 시간 필드는 상기 오디오 및 비디오에 대한 미디어 스트림을 복호화하여 멀티미디어 데이터를 생성하는 경우, 오디오 및 비디오 데이터를 동기화하기 위한 시간 정보를 저장한다. 일실시예로, 상기 시간 필드는 상기 미디어 스트림의 프레임에 대한 시간 정보를 저장할 수 있다.
상기 포인터 필드는 실제로 미디어 스트림이 저장된 큐(121~125)의 공간에 대한 정보를 포함한다. 한편, 일실시예로, 제어부(740)는 상기 시간 필드 및 포인터 필드 이외에 인덱스 필드를 생성할 수 있다. 상기 인덱스 필드는 상기 미디어 스트림이 저장되는 큐(121~125)의 주소를 관리하는데 필요한 정보를 저장한다.
상기 제어부(740)는 상기 시간 필드 및 포인터 필드에 따라 큐(121~125)에 저장된 복수의 미디어 스트림을 인출하여 복호화한다. 상기 복호화 단계는 상기 미디어 스트림의 종류에 따라 독립적으로 실행될 수 있다. 일실시예로, 오디오 미디어 스트림, 비디오 미디어 스트림, 및 기타 다른 종류의 미디어 스트림은 각각의 미디어 스트림이 저장된 큐(121~125)에서 인출되어 독립적으로 복호화된다.
상기 제어부(740)는 상기 복호화 과정을 거쳐 생성된 복수의 미디어 데이터를 동기화함으로써, 사용자에게 출력하기 위한 멀티미디어 데이터를 생성한다. 상기 동기화 과정에서 제어부(740)는 상기 시간 필드에 저장된 시간 정보를 이용하여 멀티미디어 데이터를 생성한다.
상기 동기화 과정을 거쳐 생성된 멀티미디어 데이터는 출력부(750)로 전송되어 사용자에게 출력된다. 이동통신 단말기(700)의 출력부(750)는 상기 멀티미디어 데이터를 출력하기 위한 디스플레이부(770) 및 음성 출력부(780)를 포함할 수 있다.
상기한 본 발명에 따른 미디어 재생 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 사용자 추적 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
상기한 바와 같이 본 발명은 미디어 재생 장치에서 실시간으로 수신한 미디어 스트림을 큐에 저장하고, 상기 미디어 스트림에 대한 시간 필드 및 포인터 필드를 생성하여 상기 시간 필드 및 포인터 필드에 따라 상기 미디어 스트림을 저장 및 인출함으로써 실시간 미디어 데이터 재생에 필요한 메모리 공간을 줄일 수 있다.
또한, 상기 시간 필드는 상기 미디어 스트림을 동기화하는데 필요한 시간 정보를 저장하고, 상기 포인터 필드는 상기 미디어 스트림이 저장된 공간에 대한 정보를 포함함으로써, 상기 미디어 스트림의 동기화 및 큐 관리를 효율적으로 실행할 수 있다.

Claims (20)

  1. 복수의 미디어 스트림(media stream)을 입력받는 데이터송수신부;
    상기 입력된 복수의 미디어 스트림을 저장하기 위해, 상기 복수의 미디어 스트림 각각에 대응되는 복수의 큐(Queue)를 포함하는 저장부; 및
    상기 복수의 큐를 제어하는 제어부를 포함하고,
    상기 복수의 큐 중 적어도 하나는 상기 큐에 저장된 복수의 미디어 스트림의 시간 정보 및 상기 미디어 스트림의 저장 공간에 대한 정보를 저장하고, 상기 제어부는 상기 정보를 이용하여 상기 큐에 저장된 복수의 미디어 스트림을 관리하고, 복호화하여 복수의 미디어 데이터를 생성하는 것을 특징으로 하는 미디어 재생 장치.
  2. 제 1 항에 있어서, 상기 저장부는
    오디오 스트림을 저장하기 위한 제 1 큐; 및
    비디오 스트림을 저장하기 위한 제 2 큐를 포함하는 것을 특징으로 하는 미디어 재생 장치.
  3. 제 1 항에 있어서, 상기 제어부는
    상기 시간 정보에 따라 상기 복호화된 복수의 미디어 데이터를 동기화하여 멀티미디어 데이터를 생성하는 것을 특징으로 하는 미디어 재생 장치.
  4. 제 1 항에 있어서, 상기 제어부는
    상기 큐에 데이터 필드를 생성하고, 상기 데이터 필드에 상기 시간 정보 및 상기 저장 공간에 대한 정보를 저장하는 것을 특징으로 하는 미디어 재생 장치.
  5. 제 1 항에 있어서, 상기 큐는
    상기 미디어 스트림을 프레임 단위로 저장하고 출력하는 것을 특징으로 하는 미디어 재생 장치.
  6. 제 1 항에 있어서, 상기 제어부는
    상기 미디어 스트림이 저장되는 큐의 주소를 관리하기 위한 인덱스 필드를 생성하는 것을 특징으로 하는 미디어 재생 장치.
  7. 제 1 항에 있어서,
    상기 복호화된 미디어 데이터를 실시간으로 출력하는 재생부를 포함하는 것을 특징으로 하는 미디어 재생 장치.
  8. 제 1 항에 있어서, 상기 데이터 송수신부는
    디지털 멀티미디어 방송에 대한 복수의 미디어 스트림을 수신하는 것을 특징으로 하는 미디어 재생 장치.
  9. 제 1 항에 있어서, 상기 큐는
    링 버퍼링(Ring-Buffering) 방식에 따라 상기 미디어 스트림을 저장하는 것을 특징으로 하는 미디어 재생 장치.
  10. 복수의 미디어 스트림을 저장하는 단계;
    상기 저장된 복수의 미디어 스트림에 대한 시간 정보를 저장하는 시간 필드 및 상기 미디어 스트림이 저장된 공간을 가리키는 포인터 필드를 생성하는 단계; 및
    상기 시간 필드 및 포인터 필드에 따라 미디어 스트림을 인출하고 복호화하여 복수의 미디어 데이터를 생성하는 단계; 를 포함하는 것을 특징으로 하는 미디어 재생 방법.
  11. 제 10 항에 있어서, 상기 저장 단계는
    비디오 스트림 및 오디오 스트림을 구분하여 저장하는 것을 특징으로 하는 미디어 재생 방법.
  12. 제 10 항에 있어서,
    상기 시간 정보에 따라 상기 복호화된 복수의 미디어 데이터를 동기화하여 멀티미디어 데이터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 미디어 재 생 방법.
  13. 제 10 항에 있어서, 상기 저장 단계는
    상기 미디어 스트림을 프레임 단위로 저장하는 것을 특징으로 하는 미디어 재생 방법.
  14. 제 10 항에 있어서, 상기 저장 단계는
    저장 용량이 부족하면 저장된 미디어 스트림을 삭제하고, 미디어 스트림을 재수신하여 저장하는 것을 특징으로 하는 미디어 재생 방법.
  15. 제 10 항에 있어서,
    상기 미디어 스트림이 저장되는 주소를 관리하기 위한 인덱스 필드를 생성하는 단계를 더 포함하는 것을 특징으로 하는 미디어 재생 방법.
  16. 제 10 항에 있어서,
    상기 복호화된 미디어 데이터를 실시간으로 출력하는 단계를 더 포함하는 것을 특징으로 하는 미디어 재생 방법.
  17. 제 10 항에 있어서, 상기 저장 단계는
    디지털 멀티미디어 방송에 대한 복수의 미디어 스트림을 수신하여 저장하는 것을 특징으로 하는 미디어 재생 방법.
  18. 제 10 항에 있어서, 상기 저장 단계는
    링 버퍼링(Ring-Buffering) 방식에 따라 상기 미디어 스트림을 저장하는 것을 특징으로 하는 미디어 재생 방법.
  19. 제 1 항 내지 제 9 항 중 어느 한 항에 기재된 멀티미디어 재생 장치를 구비하는 것을 특징으로 하는 이동통신 단말기.
  20. 제 10 항 내지 제 18 항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020070064423A 2007-06-28 2007-06-28 미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및이동통신 단말기 KR100811784B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070064423A KR100811784B1 (ko) 2007-06-28 2007-06-28 미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및이동통신 단말기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070064423A KR100811784B1 (ko) 2007-06-28 2007-06-28 미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및이동통신 단말기

Publications (1)

Publication Number Publication Date
KR100811784B1 true KR100811784B1 (ko) 2008-03-07

Family

ID=39398163

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070064423A KR100811784B1 (ko) 2007-06-28 2007-06-28 미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및이동통신 단말기

Country Status (1)

Country Link
KR (1) KR100811784B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101355059B1 (ko) 2011-01-19 2014-01-24 브로드콤 코포레이션 독립적인 시간 소스로부터 시간 신호(들)를 사용한 미디어 스트림들의 동기화

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114905A (ja) 2001-10-05 2003-04-18 Seiko Epson Corp ユーザ間プロファイル作成システム、ディジタルコンテンツ作成システム、ユーザ間プロファイル作成プログラム及びディジタルコンテンツ作成プログラム、並びにユーザ間プロファイル作成方法及びディジタルコンテンツ作成方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114905A (ja) 2001-10-05 2003-04-18 Seiko Epson Corp ユーザ間プロファイル作成システム、ディジタルコンテンツ作成システム、ユーザ間プロファイル作成プログラム及びディジタルコンテンツ作成プログラム、並びにユーザ間プロファイル作成方法及びディジタルコンテンツ作成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101355059B1 (ko) 2011-01-19 2014-01-24 브로드콤 코포레이션 독립적인 시간 소스로부터 시간 신호(들)를 사용한 미디어 스트림들의 동기화

Similar Documents

Publication Publication Date Title
US6792468B1 (en) Frame-accurate transport of media data across a data network
US7139869B2 (en) Data format for a streaming information appliance
US6704813B2 (en) System for storing streaming information in a circular buffer by using padding block containing non-streaming information to fill a partition of the buffer
US6378035B1 (en) Streaming information appliance with buffer read and write synchronization
US7817900B2 (en) GPU timeline with render-ahead queue
US6349286B2 (en) System and method for automatic synchronization for multimedia presentations
JP2008243367A (ja) 同報通信データを記録するための方法、および、装置
US6085019A (en) Apparatus and method for recording and reproducing video data to and from a record medium
JP2009510890A (ja) 電波識別タグが付加された情報端末装置及びその制御方法
KR100788698B1 (ko) 디스플레이 서비스 방법 및 그 방법을 수행할 수 있는네트워크 디바이스와 저장 매체
CN113873288A (zh) 在直播过程中生成回放的方法和装置
KR100811784B1 (ko) 미디어 재생 장치와 그를 이용하는 미디어 재생 방법 및이동통신 단말기
US7448062B1 (en) Seamless playback of multiple clips of media data across a data network
CN101833972B (zh) 一种多媒体文件播放控制方法及装置
US6961801B1 (en) Method and apparatus for accessing video data in memory across flow-controlled interconnects
CN113940086A (zh) 具有广播调度利用特征的内容修改系统
CN100399458C (zh) 具选择播放多种字幕的dvd播放装置及方法
CN102271131A (zh) 节目源文件预处理及点播的方法、系统及流媒体服务器
US8290335B2 (en) Method and apparatus for recording transport stream
KR20090000392A (ko) 미디어 재생 장치 및 방법, 그를 이용하는 이동통신 단말기
CN100512410C (zh) 数据格式的转换方法及装置
KR100584372B1 (ko) 기록매체를 구비한 방송 수신 시스템에서 확장 네비게이션정보 인식방법
CN116233504A (zh) 一种直播推流方法及装置
EP1534005A2 (en) Method and apparatus for recording broadcast data
JP2007081998A (ja) ビデオサーバシステム

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: 20130226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140224

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee