KR100440495B1 - 디지털 동영상의 재생 제어 장치 및 그 방법 - Google Patents

디지털 동영상의 재생 제어 장치 및 그 방법 Download PDF

Info

Publication number
KR100440495B1
KR100440495B1 KR1020030028134A KR20030028134A KR100440495B1 KR 100440495 B1 KR100440495 B1 KR 100440495B1 KR 1020030028134 A KR1020030028134 A KR 1020030028134A KR 20030028134 A KR20030028134 A KR 20030028134A KR 100440495 B1 KR100440495 B1 KR 100440495B1
Authority
KR
South Korea
Prior art keywords
file
chunk
received
stream
avi
Prior art date
Application number
KR1020030028134A
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 KR1020030028134A priority Critical patent/KR100440495B1/ko
Application granted granted Critical
Publication of KR100440495B1 publication Critical patent/KR100440495B1/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
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (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)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은, avi 파일 형식의 동영상 파일을 스트리밍 방식으로 재생하기 위하여, 헤더부, 영상 데이터부 및 인덱스부를 포함하는 avi 형식의 동영상 파일을 스트리밍 방식으로 재생하기 위한 재생 제어 장치에 있어서, 네트워크를 통하여 전송되는 avi 파일의 적어도 일부분을 수신하고 저장하는 수신 제어 모듈; 상기 수신중인 avi 파일이 모두 수신될 때까지 소정 시간마다 반복하여, 수신중인 avi 파일의 구성 상태를 확인하고, 현재까지 수신된 avi 파일의 일부분의 구성 정보를 추출하는 파일 정보 추출 모듈; 및 상기 수신중인 avi 파일이 모두 수신될 때까지 소정 시간마다 반복하여, 상기 파일 정보 추출 모듈에 의하여 추출된 정보들에 기초하여 임시적인 인덱스부를 구축하는 임시 인덱스부 구축 모듈을 포함하는 디지털 동영상의 재생 제어 장치를 제공한다.

Description

디지털 동영상의 재생 제어 장치 및 그 방법{A device for reproducing a digital moving picture and a method thereof}
본 발명은 디지털 동영상의 재생 제어 장치 및 그 방법에 관한 것으로서, 특히 디지털 동영상을 스트리밍 방식으로 재생하기 위한 디지털 동영상의 재생 제어 장치 및 그 방법에 관한 것이다.
최근 디지털 파일의 형식으로 동영상을 제작하여 이를 재생하는 기술이 다양하게 개시되어 활용되고 있다. 그 중, 마이크로소프트사(상표명임)에 의하여 비디오 등으로 촬영한 영상에서 화상파일과 음성파일을 통합하여 동기시키는(interleave) 기술로서, AVI(audio/video interleave)라 명명된 기술이 개시된 바 있다. 이 기술에 의해 작성된 동영상 파일을 속칭하여 “avi 파일”이라 한다.
여기서, 도 1a를 참조하면, 도 1a는 상기 avi 파일의 구성을 개념적으로 도시한 도면이다. 즉, avi 파일은 “RIFF”라는 초두 문자 코드(FourCC : four character code in beginning of media file)로 시작되며, 이어서 헤더부(hdrl), 영상 데이터부(movi) 및 인덱스부(idx1)가 차례로 포함된다.
이들 중 가장 뒷 부분에 위치하는 인덱스부(idx1)는, 상기 영상 데이터부에 포함된 내용들에 기초하여, 상호간에 구분될 수 있는 소정량의 데이터군(이하, “청크”라 함)의 위치, 종류 등과 같은 사항들에 관한 정보를 수록한다.
상기 인덱스부는 통상적으로 도 1b에 도시된 바와 같은 구성을 갖는다. 즉, 상기 인덱스부는, 청크 식별자(ckid), 플래그(dwFlags), 청크 오프셋(dwChunkOffset) 및 청크 크기(dwChunkLength) 등을 포함한다. 여기서, 상기 청크 식별자는, 상기 영상 데이터부에 포함된 각각의 청크를 식별하기 위한 고유 식별자이며, 상기 플래그는 각각의 청크의 종류(예컨대, 키프레임 여부 등)를 알려주는 정보이다. 또한, 상기 청크 오프셋은, 해당 청크의 위치를 알려주는 정보이며, 상기 청크 크기는 해당 청크의 크기를 알려주는 정보이다.
한편, 상기 영상 데이터부는, 레코드(“rec”) 청크를 포함한다. 상기 레코드 청크는, 예컨대 음악 CD의 트랙에 해당된다.
그러나, 상기한 바와 같이, 상기 avi 파일의 인덱스부는 그 파일의 가장 후단에 위치하기 때문에, 전체 파일 중 단지 이 부분이 손상되었거나 수신되지 않는 경우에 조차, 전체 동영상을 재생할 수 없게 되는 문제점이 있었다. 따라서, 상기 avi 파일은, 파일을 다운로드 하는 도중에 동영상을 재생하는 스트리밍 방식의 재생 동작을 근본적으로 적용할 수 없다는 결정적인 단점이 있었다.
본 발명의 목적은 avi 파일 형식의 동영상 파일을 스트리밍 방식으로 재생할 수 있는 디지털 동영상의 재생 제어 장치 및 그 방법을 제공하는 것이다.
도 1a는 마이크로소프트사의 avi 파일의 구성을 개념적으로 도시한 도면.
도 1b는 도 1a의 avi 파일의 인덱스부의 구성을 개념적으로 도시한 도면.
도 2는 본 발명의 일실시예에 의한 디지털 동영상의 재생 제어 장치의 사용예를 개념적으로 도시한 블록도.
도 3은 본 발명의 일실시예에 의한 디지털 동영상의 재생 제어 장치의 구성을 개념적으로 도시한 블록도.
도 4는 본 발명의 일실시예에 의한 디지털 동영상의 재생 제어 방법을 개념적으로 도시한 흐름도.
상기의 목적을 달성하기 위하여, 본 발명은, 헤더부, 영상 데이터부 및 인덱스부를 포함하는 avi 형식의 동영상 파일을 스트리밍 방식으로 재생하기 위한 재생 제어 장치에 있어서, 네트워크를 통하여 전송되는 avi 파일의 적어도 일부분을 수신하고 저장하는 수신 제어 모듈; 상기 수신중인 avi 파일이 모두 수신될 때까지 소정 시간마다 반복하여, 수신중인 avi 파일의 구성 상태를 확인하고, 현재까지 수신된 avi 파일의 일부분의 구성 정보를 추출하는 파일 정보 추출 모듈; 및 상기 수신중인 avi 파일이 모두 수신될 때까지 소정 시간마다 반복하여, 상기 파일 정보 추출 모듈에 의하여 추출된 정보들에 기초하여 임시적인 인덱스부를 구축하는 임시 인덱스부 구축 모듈을 포함하는 디지털 동영상의 재생 제어 장치를 제공한다.
본 발명의 다른 국면에 의하면, 본 발명은, 헤더부, 영상 데이터부 및 인덱스부를 포함하는 avi 형식의 동영상 파일을 스트리밍 방식으로 재생하기 위한 재생 제어 방법에 있어서, 소정 시간마다 수신중인 avi 파일의 구성 상태를 확인하는 단계; 소정 시간마다 현재까지 수신된 avi 파일의 일부분의 구성 정보를 추출하는 단계; 소정 시간마다 상기 파일의 일부분의 구성 정보를 추출하는 단계에서 추출된 정보에 기초하여 임시적인 인덱스부를 구축하는 단계; 및 상기 단계들을 수신중인 avi 파일이 모두 수신될 때까지 반복하는 단계를 포함하는 디지털 동영상의 재생 제어 방법을 제공한다.
이하, 본 발명의 바람직한 실시예에 관하여 첨부 도면을 참조하여 상세히 설명한다.
도 2는 본 발명의 일실시예에 의한 디지털 동영상의 재생 제어 장치의 사용예를 개념적으로 도시한 블록도이다. 도시된 바와 같이, 본 발명의 일실시예에 의한 디지털 동영상의 재생 제어 장치(이하, 간략히 “재생 제어 장치”라고도 함.) 200은, 유선 또는 무선 네트워크(이하, 통칭하여 “네트워크”라 함) 102에 접속되며, 상기 네트워크 102에 접속된 다른 컴퓨터 시스템 100과 소정의 통신 프로토콜에 따라 데이터를 송수신할 수 있는 컴퓨터 시스템인 것이 바람직하다.
본 발명의 재생 제어 장치 200은, 상기 네트워크 102에 접속하여 소정의 통신 프로토콜에 따라 상기 컴퓨터 시스템 100과 데이터를 송수신할 수 있는 것이면 그 종류를 가리지 않는다. 예를 들면, 유선 네트워크에 접속할 수 있는 개인용 컴퓨터(PC) 200.0, 무선 네트워크에 접속할 수 있는 개인용 컴퓨터 200.1 또는 무선 네트워크에 접속할 수 있는 휴대 전화기나 개인휴대단말기(PDA) 등의 휴대용 단말기 200.2 등은 어느 것이나 본 발명의 재생 제어 장치 200으로 사용될 수 있다.
물론, 상기 재생 제어 장치 200으로서 이용될 수 있는 것으로서 상기한 것들 이외에도 다양한 컴퓨터 시스템이 있을 수 있다. 예컨대, 사용자가 휴대하며 사용할 수 있는 휴대용 컴퓨터(예컨대, 소위 노트북 컴퓨터 등)와, 무선 데이터 통신 기능을 내장한 휴대 전화기를 상기 노트북 컴퓨터의 소정 포트에 연결시켜 사용함으로써, 상기 네트워크 102에 접속할 수 있는 재생 제어 장치 200을 구성할 수도 있다. 이러한 다양한 종류의 컴퓨터 시스템은, 본 발명의 기술 분야에 이미 널리 알려져 있으므로, 그 상세한 설명을 생략하며, 이하에서는 유선 네트워크에 접속된 개인용 컴퓨터 200.0을 본 발명의 재생 제어 장치 200으로서 사용하는 예에 관하여 상세히 설명한다.
다음으로, 상기 다른 컴퓨터 시스템 100은, 다양한 멀티미디어 콘텐츠를 파일의 형태로 저장하며, 단수 또는 복수의 사용자가 상기 네트워크 102를 통하여 특정의 동영상 파일을 요청함에 응답하여, 요청된 동영상 파일을 상기 네트워크 102를 통하여 상기 재생 제어 장치 200으로 전송함으로써, 일종의 서버로서의 기능을 수행한다. 이러한 서버로서의 다른 컴퓨터 시스템 100의 상세에 관하여는 본 발명의 기술 분야에 이미 널리 알려져 있으므로 그 설명을 생략한다.
다음으로, 상기 네트워크 102는 인터넷 통신망인 것이 바람직하지만, 그 이외에도 이미 알려진 다른 통신 네트워크일 수도 있다. 네트워크의 종류에 따라, 그에 접속하는 구체적인 방식이나 절차, 그 네트워크에 적합한 통신 프로토콜 등은 달라질 수 있지만, 이들의 상세는 본 발명의 기술 분야에서 이미 널리 알려진 것일 뿐 아니라, 본 발명의 기술 사상을 실시하기 위한 단순한 설계적 사항으로서 그의 요체를 구성하는 것이 아니므로, 이에 관한 설명을 생략한다.
다음으로, 도 3을 참조하여 상기 본 발명의 재생 제어 장치 200의 일실시예에 관하여 상세히 설명한다. 도 3은 본 발명의 일실시예에 의한 디지털 동영상의 재생 제어 장치의 구성을 개념적으로 도시한 블록도이다.
도시된 바와 같이, 상기 재생 제어 장치 200은, 네트워크를 통하여 전송되는 avi 형식의 동영상 파일(이하, 간략히 “avi 파일”이라 함)을 수신하고 저장하는 수신 제어 모듈 202와, 소정의 시간마다 수신중인 avi 파일의 현재까지 수신된 부분에 기초하여 적어도 당해 수신된 avi 파일의 일부분에 관한 오디오 및/또는 비디오 스트림 청크의 위치 및/또는 크기에 관한 정보를 추출하는 파일 정보 추출 모듈 204와, 상기 파일 정보 추출 모듈 204에 의하여 추출된 정보들에 기초하여 당해 수신된 avi 파일의 일부분에 대한 임시 인덱스부를 실시간으로 구축하는 임시 인덱스부 구축 모듈 206을 포함한다.
또한, 상기 재생 제어 장치 200은, 현재까지 수신된 avi 파일의 부분 중에 파괴된 부분이 존재하는 것으로 판단된 경우, 그 이후의 온전한 정보를 갖는 스트림 청크를 탐색하는 스트림 청크 탐색 모듈 208을 더 포함할 수 있다.
나아가, 상기 재생 제어 장치 200은, 통상적인 컴퓨터 시스템 또는 휴대용 단말기 등이 구비하는 각종 하드웨어 220과 이들을 이용하여 실행되는 각종 소프트웨어 222를 구비할 수 있다. 따라서, 상기 각 모듈들은 상기 하드웨어에 설치되어 동작하는 소프트웨어로서 구현될 수도 있음을 주의하여야 한다. 상기 하드웨어 220과 소프트웨어 222에 관한 상세는 본 발명의 기술 분야에 이미 널리 알려져 있으므로 이를 생략한다.
이하, 상기 각 모듈들의 상세에 관하여 설명한다. 먼저, 상기 수신 제어 모듈 202는, 상기 102를 통하여 사용자가 지정한 컴퓨터 시스템 100에 접속하여 사용자가 원하는 내용이 수록된 avi 파일을 수신하고, 수신된 데이터의 적어도 일부를 적어도 소정 기간 동안 저장한다.
다음으로, 상기 파일 정보 추출 모듈 204는, 수신중인 avi 파일의 구성을 조사하여, 일반적으로 avi 파일에 포함되는 구성 요소들인 헤더부, 영상 데이터부 및 인덱스부의 존재 여부를 확인하며, 현재 수신중인 avi 파일의 헤더부가 수신된 후에, 수신된 헤더부를 참조하면서, 소정 시간 단위로 현재까지 수신된 부분만의 avi 파일에 기초하여 오디오 또는 비디오 데이터가 수록된 부분의 포맷 및 크기와 같은 정보들을 추출한다. 상기 파일 정보 추출 모듈 204가 상기 정보들을 추출하는 구체적인 방법에 관하여는 도 4를 참조하여 후술한다.
다음으로, 상기 임시 인덱스부 구축 모듈 206은, 현재 수신중인 avi 파일의 일부분에 상기 인덱스부가 완전한 상태로 포함되어 있지 않으므로, 상기 파일 정보 추출 모듈 204에 의하여 추출된 정보를 통해 임시적인 인덱스부를 구축한다. 상기 임시 인덱스부 구축 모듈 206이 상기 임시 인덱스부를 구축하는 구체적인 방법에 관하여는 역시 도 4를 참조하여 후술한다.
한편, 간혹 임시 인덱스부를 구축하는 과정에서, 청크 구조가 파괴되어 특정의 위치에 정상적인 청크 데이터가 존재하지 않는 경우도 있게 된다. 이 경우, 상기 스트림 청크 탐색 모듈 208은, 파괴된 스트림 청크를 무시하고, 그 이후의 온전한 스트림 청크를 탐색한다. 그 상세에 관하여는 역시 도 4를 참조하여 후술한다.
상기 각 모듈들은 상기 수신 제어 모듈 202에 의하여 하나의 avi 파일의 수신이 완료되었음을 감지할 때까지, 소정 시간마다 상기 동작들을 실시간으로 수행함으로써, 임시 인덱스부를 구축하게 된다. 따라서, 본 발명에 의하면, 스트리밍 방식의 재생이 불가능하였던 avi 파일을 스트리밍 방식으로 재생할 수 있게 된다.
도 4는 본 발명의 일실시예에 의한 디지털 동영상의 재생 제어 방법을 개념적으로 도시한 흐름도이다. 도시된 바와 같이, 본 발명의 재생 제어 방법이 개시되면, 먼저 수신중인 avi 파일의 구성 상태를 확인한다(단계 S302). 즉, 수신중인 avi 파일의 포맷을 구성하는 구성 요소들인 헤더부, 영상 데이터부 및 인덱스부가, 당해 파일에 모두 존재하는지를 확인한다.
그러나, 현재 수신중인 avi 파일에는 적어도 상기 인덱스부가 완전한 상태로 포함되어 있지 않을 것이므로, 현재까지 수신된 부분을 재생하기 위하여는 소정의 방식으로 인덱스부를 구축하여야 한다.
이를 위하여, 우선 상기 인덱스부를 구축하기 위하여 수신된 부분의 파일 구성 정보를 추출한다(단계 S304). 즉, 현재 수신중인 avi 파일의 헤더부가 수신된 후에, 수신된 헤더부를 참조하면서, 소정 시간 단위로 현재까지 수신된 부분만의 avi 파일에 기초하여 그 부분에 대한 적어도 위치 및/또는 크기와 같은 정보들을 추출한다.
이하에서 상기 단계 S304에서 수행되는 동작들을 보다 구체적으로 설명한다. 상기한 바와 같이, avi 파일의 헤더부 다음에는 영상 데이터부가 포함되므로, 상기 헤더부의 수신이 완료된 후에는 영상 데이터부가 수신된다. 상기 영상 데이터부의 레코드 청크는, 관람 가능하도록 재생되어야 할 오디오 및 비디오 데이터를 가지고 있는 청크(이하, “스트림 청크(stream chunk)”라 함)를 포함한다. 상기 스트림 청크는 다음과 같은 구조를 갖는다. 즉,
typedef struct{
FOURCCfourcc;
DWORD dwSize;
BYTE data[];
}StreamChunk;
여기서, 상기 스트림 청크의 “fourcc” 부분은, 당해 레코드 청크가 웨이브 파일(WAVE file) 형태의 음성 포멧, DIB 형태의 비디오 포멧 또는 압축된 DIB 형태의 비디오 포맷 중의 어느 하나임을 알려주는 정보이다.
또한 상기 스트림 청크의 “dwSize” 부분은, 당해 청크의 데이터 크기를 알려주는 정보이며, “data” 부분에는, 실제로 재생될 오디오 또는 비디오 데이터가 수록된다. 그리하여, 본 준비 단계에서는, 현재까지 수신된 부분들의 영상 데이터부에 포함된 스트림 청크들을 조사하여, 상기한 레코드 청크의 포맷, 위치 및/또는 크기와 같은 정보들을 추출한다.
다음으로, 현재 수신된 부분까지만의 avi 파일에 기초하여, 그에 대응되는 인덱스부를 구축한다(단계 S306). 즉, 상기 파일 구성 정보를 추출하는 단계(S304)에서 추출된 것으로서, 현재까지 수신된 영상 데이터부에 관한 정보를 통해 임시적인 인덱스부를 구축하는 단계이다. 구축된 인덱스부는 도 1b를 참조하여 상기한 바와 같은 구조를 갖는다.
한편, 간혹 인덱스부를 구축하는 과정에서, 청크 구조가 파괴되어 특정의 위치에 정상적인 청크 데이터가 존재하지 않는 경우도 있게 된다(단계 S3044 참조). 즉, 특정 스트림 청크의 크기가, 추정된 스트림 청크(StreamChunk)의 최대 크기보다 큰 경우, 그 스트림 청크를 파괴된 스트림 청크로 간주(단계 S3044)하여, 정상 스트림 청크 탐색 작업에 들어가게 된다(단계 S3046). 즉, 파괴된 것으로 간주된 스트림 청크를 무시하고, 그 이후의 온전한 스트림 청크를 탐색하고, 온전한 스트림 청크가 발견되면 그에 대한 임시 인덱스부의 구축 작업을 수행한다.
한편, 스트림 청크의 최대 크기는, 각 스트림 청크가 avi 파일의 재생용 인코더에 제안하는 버퍼의 크기 중 최대값을 당해 avi 파일에 포함된 스트림 청크의 최대 크기로 간주하는 방법에 의하여 추정(단계 S3042)될 수 있으나, 만약 그 값이 0인 경우에는 각 스트림 청크의 포맷 형태에 따라 다음과 같이 각 스트림 청크의 최대 크기를 추정할 수 있다.
먼저, 오디오 스트림 청크의 경우, 다음과 같은 구조를 갖는다. 즉,
typedef struct {
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wBitsPerSample;
WORD cbSize;
} WAVEFORMATEX;
여기서,
(최대 크기 = nSamplesPerSec*wBitsPerSample*nChannels/8)
로 추정할 수 있다.
또한, 비디오 스트림 청크의 경우, 다음과 같은 구조를 갖는다. 즉,
typedef struct {
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
여기서,
(최대 크기 = biSizeImage)
로 추정할 수 있다.
상기한 바와 같이, 스트림의 청크(##wb” or “##db” or “##dc)의 초두 문자 코드(FourCC)가 일치하고, 그 청크의 크기 또한 추정된 스트림 청크의 최대 크기보다 작을 경우, 당해 스트림 청크를 온전한 것으로 판단하여 그에 대한 임시 인덱스부의 구축 작업을 수행한다(단계 S306).
도 4에 도시된 바와 같이, 상기 단계들 S3042, S3044 및 S3046은 상기 준비 작업(단계 S304)이 수행된 후에 수행되는 것이 바람직하지만, 일단 임시 인덱스부의 구축 작업(단계 S306)을 시도한 후, 여의치 않은 경우에만 수행되도록 제어되어도 좋다.
상기한 각 단계들은, 당해 avi 파일이 모두 수신될 때까지 소정 시간마다 반복하여 실시간으로 수행된다(단계 S308 참조).
그리하여, 원래의 인덱스부가 수신되지 않은 상태에서도 현재까지 수신된 부분에 대한 임시 인덱스부를 구축함으로써, avi 파일을 스트리밍 방식으로 재생할 수 있게 된다.
본 발명에 의하면, avi 파일 형식의 디지털 동영상을 스트리밍 방식에 의하여 재생할 수 있게 된다.

Claims (14)

  1. 헤더부, 영상 데이터부 및 인덱스부를 포함하는 avi 형식의 동영상 파일을 스트리밍 방식으로 재생하기 위한 재생 제어 장치에 있어서,
    네트워크를 통하여 전송되는 avi 파일의 적어도 일부분을 수신하고 저장하는 수신 제어 모듈;
    상기 수신중인 avi 파일이 모두 수신될 때까지 소정 시간마다 반복하여, 수신중인 avi 파일의 구성 상태를 확인하고, 현재까지 수신된 avi 파일의 일부분의 구성 정보를 추출하는 파일 정보 추출 모듈; 및
    상기 수신중인 avi 파일이 모두 수신될 때까지 소정 시간마다 반복하여, 상기 파일 정보 추출 모듈에 의하여 추출된 정보들에 기초하여 임시적인 인덱스부를 구축하는 임시 인덱스부 구축 모듈을 포함하는 디지털 동영상의 재생 제어 장치.
  2. 제1항에 있어서,
    상기 파일 정보 추출 모듈은,
    현재 수신중인 avi 파일의 헤더부가 수신된 후에, 수신된 헤더부를 참조하면서, 재생되어야 할 오디오 및/또는 비디오 데이터의 적어도 위치 및/또는 크기에 관한 정보를 추출하는 디지털 동영상의 재생 제어 장치.
  3. 제1항에 있어서,
    상기 파일 정보 추출 모듈은,
    상기 영상 데이터부의 레코드 청크의 오디오 및/또는 비디오 스트림 청크의 위치 및/또는 크기와 같은 정보들을 추출하는 디지털 동영상의 재생 제어 장치.
  4. 제1항에 있어서,
    상기 수신중인 avi 파일이 모두 수신될 때까지 소정 시간마다 반복하여, 현재까지 수신된 avi 파일의 부분 중에 파괴된 부분이 존재하는 것으로 판단된 경우, 그 이후의 온전한 정보를 갖는 스트림 청크를 탐색하는 스트림 청크 탐색 모듈을 더 포함하는 디지털 동영상의 재생 제어 장치.
  5. 제4항에 있어서,
    상기 스트림 청크 탐색 모듈은,
    특정 스트림 청크의 크기가 추정된 스트림 청크의 최대 크기보다 큰 경우, 그 스트림 청크를 파괴된 스트림 청크로 간주하는 디지털 동영상의 재생 제어 장치.
  6. 제5항에 있어서,
    상기 스트림 청크 탐색 모듈은,
    상기 추정된 스트림 청크의 최대 크기를, 각 스트림 청크가 avi 파일의 재생용 인코더에 제안하는 버퍼의 크기 중 최대값을 당해 avi 파일에 포함된 스트림 청크의 최대 크기로 간주함으로써 추정하는 디지털 동영상의 재생 제어 장치.
  7. 제6항에 있어서,
    상기 스트림 청크 탐색 모듈은,
    각 스트림 청크가 avi 파일의 재생용 인코더에 제안하는 버퍼의 크기가 0인 경우에, 각 스트림 청크의 포맷 형태에 따라,
    오디오 스트림 청크의 경우, 그 구조를 이루는 요소 중, nSamplesPerSec, wBitsPerSample 및 nChannels의 값들을 이용하며, 비디오 스트림 청크의 경우, 그 구조를 이루는 요소 중, biSizeImage의 값을 이용하여 상기 추정된 스트림 청크의 최대 크기를 추정하는 디지털 동영상의 재생 제어 장치.
  8. 헤더부, 영상 데이터부 및 인덱스부를 포함하는 avi 형식의 동영상 파일을 스트리밍 방식으로 재생하기 위한 재생 제어 방법에 있어서,
    소정 시간마다 수신중인 avi 파일의 구성 상태를 확인하는 단계;
    소정 시간마다 현재까지 수신된 avi 파일의 일부분의 구성 정보를 추출하는 단계;
    소정 시간마다 상기 파일의 일부분의 구성 정보를 추출하는 단계에서 추출된 정보에 기초하여 임시적인 인덱스부를 구축하는 단계; 및
    상기 단계들을 수신중인 avi 파일이 모두 수신될 때까지 반복하는 단계를 포함하는 디지털 동영상의 재생 제어 방법.
  9. 제8항에 있어서,
    상기 파일의 일부분의 구성 정보를 추출하는 단계는,
    현재 수신중인 avi 파일의 헤더부가 수신된 후에, 수신된 헤더부를 참조하면서, 재생되어야 할 오디오 및/또는 비디오 데이터의 적어도 위치 및/또는 크기에 관한 정보를 추출하는 단계를 포함하는 디지털 동영상의 재생 제어 방법.
  10. 제8항에 있어서,
    상기 파일의 일부분의 구성 정보를 추출하는 단계는,
    상기 영상 데이터부의 레코드 청크의 오디오 및/또는 비디오 스트림 청크의 위치 및/또는 크기와 같은 정보들을 추출하는 단계를 더 포함하는 디지털 동영상의 재생 제어 방법.
  11. 제8항에 있어서,
    청크 구조가 파괴되어 특정의 위치에 정상적인 청크 데이터가 존재하지 않는 경우, 파괴된 것으로 간주된 스트림 청크를 무시하고, 그 이후의 온전한 스트림 청크를 탐색하는 단계를 더 포함하는 디지털 동영상의 재생 제어 방법.
  12. 제11항에 있어서,
    특정 스트림 청크의 크기가, 추정된 스트림 청크의 최대 크기보다 큰 경우, 그 스트림 청크를 파괴된 스트림 청크로 간주하는 단계를 더 포함하는 디지털 동영상의 재생 제어 방법.
  13. 제12항에 있어서,
    상기 추정된 스트림 청크의 최대 크기는,
    각 스트림 청크가 avi 파일의 재생용 인코더에 제안하는 버퍼의 크기 중 최대값을 당해 avi 파일에 포함된 스트림 청크의 최대 크기로 간주함으로써 추정되는 디지털 동영상의 재생 제어 방법.
  14. 제13항에 있어서,
    상기 추정된 스트림 청크의 최대 크기는,
    각 스트림 청크가 avi 파일의 재생용 인코더에 제안하는 버퍼의 크기가 0인 경우에, 각 스트림 청크의 포맷 형태에 따라,
    오디오 스트림 청크의 경우, 그 구조를 이루는 요소 중, nSamplesPerSec, wBitsPerSample 및 nChannels의 값들을 이용하여 추정하며,
    비디오 스트림 청크의 경우, 그 구조를 이루는 요소 중, biSizeImage의 값을 이용하여 추정하는 디지털 동영상의 재생 제어 방법.
KR1020030028134A 2003-05-02 2003-05-02 디지털 동영상의 재생 제어 장치 및 그 방법 KR100440495B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030028134A KR100440495B1 (ko) 2003-05-02 2003-05-02 디지털 동영상의 재생 제어 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030028134A KR100440495B1 (ko) 2003-05-02 2003-05-02 디지털 동영상의 재생 제어 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR100440495B1 true KR100440495B1 (ko) 2004-07-15

Family

ID=37357470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030028134A KR100440495B1 (ko) 2003-05-02 2003-05-02 디지털 동영상의 재생 제어 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100440495B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747468B2 (en) 2001-06-18 2010-06-29 Eun-Mook Ji Contents consignment sale system and method for networking broadcasting
US8214866B2 (en) 2007-07-25 2012-07-03 Samsung Electronics Co., Ltd. Video processing apparatus, mobile apparatus, and control method of video processing apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747468B2 (en) 2001-06-18 2010-06-29 Eun-Mook Ji Contents consignment sale system and method for networking broadcasting
US8214866B2 (en) 2007-07-25 2012-07-03 Samsung Electronics Co., Ltd. Video processing apparatus, mobile apparatus, and control method of video processing apparatus

Similar Documents

Publication Publication Date Title
KR101283293B1 (ko) 트랜잭션 기반 통신을 위한 파일 프로토콜
JP5851470B2 (ja) マルチメディアコンテンツの適合通知の生成および伝達
KR101283267B1 (ko) 멀티플렉싱된 데이터 스트림 프로토콜
EP2158743B1 (en) Techniques for communicating data between a host device and an intermittently connected mobile device
US7668906B2 (en) Wire protocol for a media server system
TWI399691B (zh) 媒體轉換通信之序列化
JPH0720163B2 (ja) データ処理システムにおいてマルチメディアデータを相互交換するための方法及び装置
MXPA04006412A (es) Almacenamiento disperso en memoria inmediata para medios de grabacion continua.
JP2000029759A (ja) ワイヤレス・ファイルを処理するためのシステムおよびその方法
US8583269B2 (en) Isochronous audio network software interface
KR20010079176A (ko) 인터넷 사이트의 컨텐츠 자료를 개인용 정보 처리기로오토 싱크하는 싱크 프로그램을 기록한 기록매체 및 자료동기화 방법
JPH04329735A (ja) データ処理システムにおいてマルチメディアデータを相互交換するための方法及び装置
EP1001581B1 (en) Network apparatus and network communication method for image delivery in a mobile network
KR100440495B1 (ko) 디지털 동영상의 재생 제어 장치 및 그 방법
US6741964B2 (en) Data transfer system and data transfer method
US8037201B2 (en) Content holder unit, information processing method, and program
US7720821B1 (en) Method of and apparatus for writing and reading time sensitive data within a storage device
US20020156637A1 (en) Audio signal saving operation controlling method, program thereof, record medium thereof, audio signal reproducing operation controlling method, program thereof, record medium thereof, audio signal inputting operation controlling method, program thereof, and record medium thereof
JP2001045060A (ja) 信号処理装置、伝送方法、伝送媒体及びデータストリームの管理方法
KR20050017133A (ko) 멀티미디어 콘텐츠 전달을 위한 슬라이드 메타정보처리장치 및 그 방법
CN116938914A (zh) 一种远程桌面声音同步方法、装置、设备及存储介质
JP2003263174A (ja) 情報処理装置および情報処理方法、データ配信システム、記録媒体、並びに、プログラム
JPH03278737A (ja) パケット組み立ておよび分解方式
JPH04345347A (ja) データ処理システムにおいてマルチメディアデータを相互交換するための方法及び装置
JPH11261942A (ja) ネットワーク・システムにおけるビデオの処理方法及びその装置、並びにネットワーク・システム

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
O035 Opposition [patent]: request for opposition
O035 Opposition [patent]: request for opposition
O132 Decision on opposition [patent]
O074 Maintenance of registration after opposition [patent]: final registration of opposition
FPAY Annual fee payment

Payment date: 20130527

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140625

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150625

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160627

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190625

Year of fee payment: 16