KR101729765B1 - 실시간 리먹싱 시스템, 송신 방법 및 수신 방법 - Google Patents

실시간 리먹싱 시스템, 송신 방법 및 수신 방법 Download PDF

Info

Publication number
KR101729765B1
KR101729765B1 KR1020150143081A KR20150143081A KR101729765B1 KR 101729765 B1 KR101729765 B1 KR 101729765B1 KR 1020150143081 A KR1020150143081 A KR 1020150143081A KR 20150143081 A KR20150143081 A KR 20150143081A KR 101729765 B1 KR101729765 B1 KR 101729765B1
Authority
KR
South Korea
Prior art keywords
stream
codec
client device
file
header
Prior art date
Application number
KR1020150143081A
Other languages
English (en)
Other versions
KR20170043382A (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 KR1020150143081A priority Critical patent/KR101729765B1/ko
Publication of KR20170043382A publication Critical patent/KR20170043382A/ko
Application granted granted Critical
Publication of KR101729765B1 publication Critical patent/KR101729765B1/ko

Links

Images

Classifications

    • H04L65/602
    • H04L65/4084
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

실시간 리먹싱(remuxing) 시스템, 송신 방법 및 수신 방법이 개시된다. 여기서, 실시간 리먹싱 시스템은 동영상 파일을 탐색 및 요청하고 수신하여 재생하는 클라이언트 디바이스, 그리고 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷을 가지는 동영상 파일의 헤더 스트림과, 상기 파일 포맷 및 상기 클라이언트 디바이스에서 디코딩(decoding) 가능한 코덱 타입(codec type)을 가지는 상기 동영상 파일의 코덱 스트림을 상기 클라이언트 디바이스로 각각 전송하는 송신 장치를 포함하고,
상기 클라이언트 디바이스는,
상기 헤더 스트림 및 상기 코덱 스트림을 실시간 리먹싱하여 재생한다.

Description

실시간 리먹싱 시스템, 송신 방법 및 수신 방법{REAL TIME REMUXING SYSTEM, METHOD FOR TRANSMITTING AND RECEIVING THEREOF}
본 발명은 실시간 리먹싱 시스템, 송신 방법 및 수신 방법에 관한 것이다.
대용량 초고화질 시대를 맞이하고 있는 요즘, 저장공간의 부족 및 어디서나 사용할 수 있는 데이터의 요구 등으로 NAS(etwork Attached Storage)나 클라우드(Cloud) 서비스의 필요성이 점차 확대되고 있으며, 개인으로까지 많은 확대가 이루어 지고 있는 추세이다.
그에 따라 이러한 서비스들을 지원하고 있는 많은 제품들이 늘어나고 있지만, 실시간 비디오 감상에 대한 서비스는 아직까지 원활하지 않으며, 특히 대용량 비디오에 대한 지원은 더욱 그렇다.
종래에 실시간 리먹싱(remuxing)을 할 수 있는 장치는 찾기 힘들며, PC에서 수동으로 파일 변환 툴을 이용한 변환은 가능하지만, 이 역시 특정 포맷에 한하여 가능하다.
현재 NAS 시스템을 통한 전송 방식은 DLNA(Digital Living Network Alliance), 웹서버, 디바이스에서 지원하는 포맷으로 트랜스코딩하여 전송하는 방식으로 나뉘어 질 수 있다. 이런 전송 방식들은 모두 유용하나, 트랜스코딩의 경우에는 특별한 CPU등이 전담하고 있으나, 이러한 방식마저도 화질열화가 불가피 하다.
또한, 디바이스에서 지원 가능한 코덱임에도 불구하고, 디바이스에서 지원되지 않는 파일 포맷을 가진 경우는 재생(play)이 불가능하여 불필요한 트랜스코딩을 하게 된다.
여기서, 파일 포맷은 컨테이너(container) 포맷이라고도 할 수 있다. 하나의 동영상 파일은 비디오 데이터 및 오디오 데이터로 구성되는데, 파일 포맷 또는 컨테이너 포맷은 비디오 데이터 및 오디오 데이터를 하나의 동영상 파일로 구성하는 방식을 말하며, 파일의 확장자로 표시할 수 있다. 예를 들면, AVI, MP4, WMV 등을 말한다. 이때, 비디오 데이터 및 오디오 데이터는 각각 별개의 데이터 압축 기술을 통해 생성되는데, 이러한 데이터 압축 기술을 코덱(Codec)이라고 한다. 동영상 파일을 재생하는 플레이어는 파일 포맷을 인식할 수 있어야 하고, 동영상 파일의 인코딩 방식 즉 코덱이 구비되어야 한다.
종래에는 송신측에서 수신측에서 디코딩이 가능하도록 동영상 파일을 트랜스코딩하여 전송한다. 그런데, 수신측에서 파일 포맷은 인식할 수 없지만, 디코딩은 가능한 경우가 있다. 하지만, 파일 포맷을 인식할 수 없으면 해당 동영상 파일의 코덱 정보를 알 수가 없기 때문에 수신측에서 디코딩이 가능함에도 불구하고 송신측에서 트랜스코딩을 해야만 하는 문제가 발생한다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 불필요한 트랜스코딩을 방지하는 실시간 리먹싱 시스템과, 실시간 리먹싱 시스템의 동영상 파일 송신 방법 및 수신 방법을 제공하는 것이다.
본 발명의 하나의 특징에 따르면, 실시간 리먹싱 시스템은 동영상 파일을 탐색 및 요청하고 수신하여 재생하는 클라이언트 디바이스, 그리고 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷을 가지는 동영상 파일의 헤더 스트림과, 상기 파일 포맷 및 상기 클라이언트 디바이스에서 디코딩(decoding) 가능한 코덱 타입(codec type)을 가지는 상기 동영상 파일의 코덱 스트림을 상기 클라이언트 디바이스로 각각 전송하는 송신 장치를 포함하고,
상기 클라이언트 디바이스는,
상기 헤더 스트림 및 상기 코덱 스트림을 실시간 리먹싱하여 재생한다.
상기 송신 장치는,
서로 다른 파일 포맷 및 코덱 타입을 가지는 복수의 동영상 파일을 저장하는 NAS(etwork Attached Storage) 서버 또는 클라우드(Cloud) 서버에 포함되거나 또는 연결될 수 있다.
상기 송신 장치는,
서로 다른 파일 포맷을 각각 지원하고, 지원하는 파일 포맷을 가지는 동영상 파일의 헤더 정보를 분석하는 복수의 디먹서(demuxer), 그리고 상기 헤더 정보의 분석 결과를 토대로 상기 동영상 파일의 파일 포맷을 확인하고, 상기 동영상 파일의 헤더 스트림을 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷으로 변환하여 상기 클라이언트 디바이스로 전송하며, 상기 클라이언트 디바이스에서 디코딩 가능한 코덱 타입을 가지는 코덱 데이터 스트림을 상기 클라이언트 디바이스로 전송하는 전송부를 포함할 수 있다.
상기 복수의 디먹서는,
상기 동영상 파일을 헤더 정보와 코덱 데이터로 분리하고,
상기 전송부는,
헤더 스트림을 전송한 이후, 코덱 스트림과 실시간 재생 정보를 전송할 수 있다.
상기 실시간 재생 정보는,
길이(length) 및 타임스탬프(timestamp)를 포함할 수 있다.
상기 전송부는,
상기 동영상 파일의 헤더 정보가 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷인 경우, 원래의 헤더 스트림을 상기 클라이언트 디바이스로 전송하고, 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 인식 가능한 파일 포맷으로 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송할 수 있다.
상기 전송부는,
상기 헤더 스트림을 상기 클라이언트 디바이스로 전송한 이후, 상기 동영상 파일의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩 가능한 경우 원래 코덱 스트림을 상기 클라이언트 디바이스로 전송하고,
상기 클라이언트 디바이스는,
상기 인식 가능한 파일 포맷을 가진 헤더 스트림과 상기 원래 코덱 스트림을 실시간 리먹싱할 수 있다.
상기 전송부는,
상기 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송한 이후, 상기 원래 코덱 스트림을 상기 인식 가능한 파일 포맷으로 리패킹(repacking)하여 상기 클라이언트 디바이스로 전송하고,
상기 클라이언트 디바이스는,
상기 변환된 헤더 스트림과 리패킹된 코덱 스트림을 실시간 리먹싱할 수 있다.
상기 전송부는,
상기 헤더 스트림을 상기 클라이언트 디바이스로 전송한 이후, 상기 동영상 파일의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩 가능한 타입이 아닌 경우, 상기 코덱 스트림을 상기 클라이언트 디바이스에서 디코딩 가능하도록 트랜스코딩하고, 트랜스코딩된 코덱 스트림을 상기 클라이언트 디바이스로 전송하며,
상기 클라이언트 디바이스는,
상기 헤더 스트림과 상기 트랜스코딩된 코덱 스트림을 실시간 리먹싱 할 수 있다.
상기 클라이언트 디바이스는,
사용자가 원하는 동영상 파일의 검색을 요청하는 쿼리부, 상기 동영상 파일의 헤더 스트림을 수신한 후, 상기 동영상 파일의 코덱 스트림 및 실시간 재생 정보를 수신하는 수신부, 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 리먹싱하여 재생 파일을 생성하는 리먹서(remuxer), 그리고 상기 재생 파일을 입력받아 상기 헤더 스트림을 분석한 결과에 따라 상기 코덱 스트림을 디코딩하여 재생하는 재생부를 포함하고,
상기 헤더 스트림은 상기 재생부가 인식 가능한 파일 포맷을 가지고, 상기 코덱 스트림은 상기 재생부가 인식 가능한 파일 포맷 및 상기 재생부가 디코딩 가능한 코덱 타입을 가지는 것을 특징으로 할 수 있다.
상기 리먹서는 서로 다른 파일 포맷을 인식하는 복수의 리먹서를 포함하고,
상기 헤더 스트림의 파일 포맷을 확인하고, 상기 복수의 리먹서 중에서 상기 파일 포맷에 해당하는 리먹서를 선택하며, 선택한 리먹서로 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 출력하는 선택부를 더 포함할 수 있다.
본 발명의 다른 특징에 따르면, 송신 방법은 클라이언트 디바이스로부터 요청된 동영상 파일을 스트리밍하는 송신 장치의 송신 방법으로서, 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷을 가지는 동영상 파일의 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계, 그리고 상기 파일 포맷 및 상기 클라이언트 디바이스에서 디코딩(decoding) 가능한 코덱 타입(codec type)을 가지는 상기 동영상 파일의 코덱 스트림 및 실시간 재생 정보를 상기 클라이언트 디바이스로 전송하는 단계를 포함한다.
상기 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계는,
상기 동영상 파일의 헤더 정보를 분석하는 단계, 상기 헤더 정보의 파일 포맷과 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷이 서로 일치하는지 확인하는 단계, 서로 일치하지 않는 경우, 상기 동영상 파일의 헤더 스트림을 상기 인식 가능한 파일 포맷으로 변환하는 단계, 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계, 그리고 서로 일치하는 경우, 상기 동영상 파일의 원래 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계를 포함할 수 있다.
상기 코덱 스트림 및 실시간 재생 정보를 상기 클라이언트 디바이스로 전송하는 단계는,
상기 동영상 파일의 코덱 스트림의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩이 가능한 코덱 타입인지 판단하는 단계, 상기 디코딩이 가능한 코덱 타입이 아닌 경우, 상기 코덱 스트림을 상기 디코딩이 가능한 코덱 타입으로 트랜스코딩하는 단계, 상기 디코딩이 가능한 코덱 타입인 경우, 상기 파일 포맷이 서로 일치하는지 확인하는 단계, 상기 파일 포맷이 서로 일치하지 않는 경우, 상기 코덱 스트림을 상기 인식가능한 파일 포맷으로 리패킹(repacking)하는 단계, 그리고 트랜스코딩된 코덱 스트림, 리패킹된 코덱 스트림 또는 원래 코덱 스트림 중 하나를 상기 클라이언트 디바이스로 전송하는 단계를 포함할 수 있다.
본 발명의 다른 특징에 따르면, 수신 방법은 동영상 파일을 탐색 및 요청하고 수신하여 재생하는 클라이언트 디바이스의 수신 방법으로서, 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷을 가진 상기 동영상 파일의 헤더 스트림을 수신하는 단계, 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷과 상기 클라이언트 디바이스에서 디코딩 가능한 코덱 타입을 가진 코덱 스트림 및 실시간 재생 정보를 수신하는 단계, 그리고 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 실시간 리먹싱하여 재생하는 단계를 포함한다.
상기 재생하는 단계는,
상기 헤더 스트림의 파일 포맷을 확인하는 단계, 서로 다른 파일 포맷을 인식하는 복수의 리먹서 중에서 상기 파일 포맷에 해당하는 리먹서를 선택하는 단계, 선택한 리먹서를 통해 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 실시간 리먹싱하는 단계, 그리고 리먹싱된 동영상 파일을 재생하는 단계를 포함할 수 있다.
본 발명의 실시예에 따르면, 불필요한 트랜스코딩을 방지하면서도 원본 화질 열화가 없는 원본 스트림을 전송할 수 있고 실시간 비디오 감상이 가능하다.
또한, 다양한 파일 포맷을 지원할 수 있고, 서버 측에서 트랜스코딩을 위한 고가의 CPU(Central Processing Unit)를 구비하지 않아도 되므로 비용 감소가 가능하다.
도 1은 본 발명의 실시예에 따른 리먹싱을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 실시간 리먹싱 시스템의 개략적인 구성을 나타낸 것이다.
도 3은 도 2의 송신 장치의 세부 구성을 나타낸 블록도이다.
도 4는 도 2의 클라이언트 디바이스의 한 실시예에 따른 세부 구성을 나타낸 블록도이다.
도 5는 도 2의 클라이언트 디바이스의 다른 실시예에 따른 세부 구성을 나타낸 블록도이다.
도 6은 본 발명의 실시예에 따른 송신 방법을 나타낸 순서도이다.
도 7은 본 발명의 한 실시예에 따른 수신 방법을 나타낸 순서도이다.
도 8은 본 발명의 다른 실시예에 따른 수신 방법을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…모듈" 의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 도면을 참조로 하여 본 발명의 실시예에 따른 실시간 리먹싱 시스템, 송신 방법 및 수신 방법에 대하여 상세히 설명한다.
먼저, 도 1은 본 발명의 실시예에 따른 리먹싱을 설명하기 위한 도면이다.
도 1을 참조하면, 전송 스트림은 크게 헤더 스트림과 코덱 스트림으로 구분된다. 코덱 스트림은 비디오 데이터 및 오디오 데이터를 포함한다.
도 1의 (a)를 참조하면, 전송 스트림은 헤더 스트림과, 인덱스, 오디오 데이터 및 비디오 데이터로 구성된 코덱 스트림을 포함할 수 있다. 도 1의 (b)를 참조하면, 전송 스트림은 헤더 스트림과, 오디오 데이터, 비디오 데이터 및 인덱스로 구성된 코덱 스트림을 포함할 수 있다. 도 1의 (c)를 참조하면, 전송 스트림은 헤더 스트림과, 오디오 데이터(AD), 비디오 데이터(VD)가 교차 반복되고 인덱스로 구성된 코덱 스트림을 포함할 수 있다.
이때, 코덱 스트림을 구성하는 비디오 데이터 및 오디오 데이터는 소정의 코덱 타입에 따라 인코딩되어 있고 해당 코덱으로 재생 장치 쪽에서 디코딩된다. 여기서, 코덱 타입은 비디오 코덱과 오디오 코덱을 모두 포함한다. 비디오 코덱은 DIVX, XVID, H.264, MPEG(Moving Picture Expert Group) 등이 될 수 있다. 오디오 코덱은 MP3, OGG, H.264, AC3, DTS 등이 될 수 있다.
또한, 전송 스트림은 파일 포맷을 달리할 수 있다. 예컨대 파일 포맷은 (a)와 같이 구성될 수도 있고, (b)와 같이 구성될 수도 있으며, (c)와 같이 구성될 수도 있다. 또한, 이러한 구성 방식에 국한되지 않고 다양한 방식이 가능하다. 이러한 파일 포맷은 AVI, WMV, MP4, MKV, MOV, ASF 등이 될 수 있다.
이와 같이, 파일 포맷이 다를 경우, 파일 확장자가 다르다. 예를들면, (a)의 파일 확장자는 AVI, (b)의 파일 확장자는 MP4, (c)의 파일 확장자는 WMV일 수 있다. 이는 파일 포맷의 개념을 설명하기 위한 것으로서, 실제 파일 포맷의 구성과는 상이할 수 있으며, 파일 포맷이 다르다는 것이 데이터 정렬 순서가 다른 것만 의미하는 것도 아니다. 파일 포맷에 따라 해상도, 비트율 등도 다를 수 있으며, 파일 포맷을 변환한다는 것은 이러한 형식도 변환한다는 것을 의미한다.
이때, 파일 포맷과 코덱 타입은 서로 연관될 수는 있지만 반드시 종속되는 것은 아니다.
AVI 파일 포맷은 조합 가능한 비디오 코덱으로 DIVX, XVID, MPEG 계열 중 하나를 채택할 수 있다. 따라서, (a)의 경우, 파일 확장자가 AVI라고 할 때, 전송 스트림은 코덱 스트림의 비디오 코덱 타입이 DIVX로 구현될 수도 있고, XVID로 구현될 수도 있으며, MPEG 계열로 구현될 수도 있다. 즉, 파일 확장자가 동일한 동영상 파일이라도 코덱 타입은 다를 수 있다.
반면, 파일 확장자는 다르지만, 코덱 타입은 동일할 수 있다. 예를들면, AVI 파일 포맷은 MPEG 계열 비디오 코덱에서 조합이 가능하고, MP4 파일 포맷은 MPEG1.2.4 비디오 코덱에서 조합이 가능하다. (a)가 AVI 파일 포맷이고, (b)가 MP4 파일 포맷이라 하면, (a)의 코덱 스트림은 MPEG 계열 비디오 코덱으로 인코딩되고 (b)의 코덱 스트림은 MPEG1.2.4 비디오 코덱으로 인코딩 될 수 있다. 따라서, MPEG 계열 코덱을 구비한 클라이언트 디바이스에서는 AVI 파일 포맷과 MP4 파일 포맷을 모두 인식할 수 있다면, AVI 동영상 파일과 MP4 동영상 파일을 모두 디코딩하여 재생이 가능하게 된다.
그런데, 클라이언트 디바이스가 모바일 디바이스인 경우, 통상 인식 가능한 파일 포맷은 제한된다. 이런 경우, 파일 포맷이 상이하면 디코딩이 가능한 동영상 파일임에도 트랜스코딩이 되어야 하므로, 본 발명의 실시예에서는 이러한 불필요한 트랜스코딩을 방지하기 위해 실시간 리먹싱을 구현한다. 그 실시예적 구성에 대해 이하 도 2 내지 도 8을 참고하여 설명한다.
도 2는 본 발명의 실시예에 따른 실시간 리먹싱 시스템의 개략적인 구성을 나타낸 것이다.
도 2를 참조하면, 저장 장치(100)는 서로 다른 파일 포맷/코덱 타입을 가지는 복수의 동영상 파일을 저장한다. 송신 장치(200)는 저장 장치(100)와 물리적으로 연결되어 클라이언트 디바이스(300)가 요청한 동영상 파일을 저장 장치(100)로부터 획득하여 클라이언트 디바이스(300)로 전송한다.
송신 장치(200)와 클라이언트 디바이스(300)는 인터넷(Internet)등과 같은 네트워크(400)를 통해 서로 연결되어 있다.
여기서, 네트워크(400)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있다. 에를 들면, 3G망, LTE(Long Term Evolution)망 등이 될 수 있고, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있으며, 공지의 월드와이드웹(WWW; World Wide Web)일 수 있으며, 적외선(Infrared Data Association; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다.
여기서, 저장 장치(100)와 송신 장치(200)는 네트워크 스토리지(NAS, Network Attached Storage) 서버 또는 클라우드(cloud) 서버에 포함되는 구성일 수 있다. 또는 NAS 서버 또는 클라우드 서버는 저장 장치(100)만 포함하고, 송신 장치(200)는 NAS 서버 또는 클라우드 서버와 물리적으로 연결될 수도 있다.
송신 장치(200)는 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷을 가지는 동영상 파일의 헤더 스트림과, 상기 파일 포맷 및 클라이언트 디바이스(100)에서 디코딩(decoding) 가능한 코덱 타입(codec type)을 가지는 동영상 파일의 코덱 스트림을 클라이언트 디바이스(300)로 각각 전송한다.
여기서, 헤더 스트림은 소정의 파일 포맷을 가지는 동영상 파일의 기본 정보가 있는 영역으로 파일 포맷의 영상을 재생하는 영상 재생 장치의 비디오 코덱, 오디오 코덱, 해상도, 프레임수, 비트레이트 등의 정보를 포함하고 있다. 이는 MainHEADER, StreamHEADER, StreamFormat 등으로 구분되어 있으며, 비디오 코덱 및 오디오 코덱에 대한 정보는 StreamHeader를 분석하여 나타낼 수 있다.
클라이언트 디바이스(300)는 동영상 파일을 탐색 및 요청하고 수신하여 재생하는 장치로서, 모바일 디바이스일 수 있다. 그러나 모바일 디바이스로 국한되는 것은 아니고, 하나 이상의 서로 다른 파일 포맷 및 하나 이상의 서로 다른 코덱을 구비하여 동영상 파일을 재생할 수 있는 장치라면 무엇이든 가능하다. 물론, 하나의 파일 포맷 및 하나의 코덱을 구비할 수도 있다.
클라이언트 디바이스(300)는 송신 장치(200)로부터 수신한 헤더 스트림 및 코덱 스트림을 실시간 리먹싱(Remuxing)하여 재생한다.
도 3은 도 2의 송신 장치의 세부 구성을 나타낸 블록도이다.
도 3을 참조하면, 송신 장치(200)는 복수(n)의 디먹서(demuxer)(201, 203), 전송부(205) 및 프로세서(207)를 포함한다.
복수(n)의 디먹서(201, 203)는 서로 다른 파일 포맷을 각각 지원하고, 지원하는 파일 포맷을 가지는 동영상 파일의 헤더 정보를 분석(parsing)한다.
복수(n)의 디먹서(201, 203)는 동영상 파일을 헤더 정보와 코덱 데이터로 분리한다.
전송부(205)는 헤더 스트림을 클라이언트 디바이스(300)로 전송한 이후, 코덱 스트림과 실시간 재생 정보를 클라이언트 디바이스(300)로 전송한다.
전송부(205)는 코덱이 같아도 디먹서(201, 203)마다 패킹(packing)방식이 다르다. 따라서, 필요 정보 등을 더하거나 불필요한 정보를 제거한 코덱 스트림을 전송한다.
여기서, 실시간 재생 정보는, 길이(length) 및 타임스탬프(timestamp)를 포함한다. 길이(length) 및 타임스탬프(timestamp)는 실시간 play를 위한 정보이다. 완전히 리먹싱(remuxing)되지 않은 상태에서는 코덱스트림 만으로는 그것의 길이(length) 및 타임스탬프(timestamp)를 알 수 없기 때문에 같이 전송을 한다. 사용자는 실시간 재생(play) 또는 리먹싱하여 파일로 저장 후 재생(play)을 선택한다.
전송부(205)는 디먹서(201, 203)의 헤더 정보의 분석 결과를 토대로 동영상 파일의 파일 포맷을 확인한다. 동영상 파일의 헤더 스트림을 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷으로 변환하여 클라이언트 디바이스(300)로 전송한다. 그리고 클라이언트 디바이스(300)에서 디코딩 가능한 코덱 타입을 가지는 코덱 데이터 스트림을 클라이언트 디바이스(300)로 전송한다.
전송부(205)는 동영상 파일의 헤더 정보가 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷인 경우, 저장 장치(100)에 저장된 동영상 파일의 원래의 헤더 스트림을 클라이언트 디바이스(300)로 전송한다. 반면, 클라이언트 디바이스(300)에서 인식할 수 없는 파일 포맷인 경우, 인식 가능한 파일 포맷으로 변환된 헤더 스트림을 클라이언트 디바이스(300)로 전송한다.
전송부(205)는 헤더 스트림을 클라이언트 디바이스(300)로 전송한 이후, 동영상 파일의 코덱 타입이 클라이언트 디바이스(300)에서 디코딩 가능한 경우 저장 장치(100)에 저장된 동영상 파일의 원래의 코덱 스트림을 클라이언트 디바이스(300)로 전송한다. 그러면, 클라이언트 디바이스(300)는 인식 가능한 파일 포맷을 가진 헤더 스트림과 상기 원래 코덱 스트림을 실시간 리먹싱한다.
전송부(205)는 변환된 헤더 스트림을 클라이언트 디바이스(300)로 전송한 이후, 상기 원래 코덱 스트림을 상기 인식 가능한 파일 포맷으로 리패킹(repacking)하여 클라이언트 디바이스(300)로 전송한다. 그러면, 클라이언트 디바이스(300)는 상기 변환된 헤더 스트림과 리패킹된 코덱 스트림을 실시간 리먹싱한다.
여기서, 리패킹은 도 1에서 설명한 바와 같이, 예를 들어 도 1의 (a)와 같이 구성된 코덱 스트림을 도 1의 (b) 또는 (c)와 같이 재구성 또는 재조립하는 것을 의미한다. 즉, 리패킹은 트랜스코딩하는 개념이 아니라 코덱 스트림의 재구성 개념이다.
예를 들어, 코덱 포맷은 대표적으로 H.264, HEVC 코덱이 될 수 있다.
AVI의 h.264의 코덱 저장 방식의 경우, Byte stream format이다.
즉, startcode(개시부호)가 프레임 또는 nal 앞에 들어있는 방식으로서, 예를들면,“0x000001XXXXXXXXXX”또는“0x00000001XXXXXXXXXX”와 같다. 여기서, XXXXXXXXXX 은 코덱 데이터이다.
반면, mp4 파일에서의 h.264 코덱 저장방식은 startcode가 없고 코덱의 length가 앞에 붙어있는데, "프레임사이즈(일반적으로 4byte) + XXXXXXXXXX"와 같다.
즉, avi -> mp4로 리먹싱 할 경우, 코덱 데이터에서 startcode를 제거하고, 그 자리에 코덱 데이터의 사이즈등을 써주는 비교적 단순한 작업이 리패킹이다.
또한, 코덱의 sequence header 가 파일 포맷의 특정 영역으로 저장되어야 한다. 이와 같은 동작이 모두 리패킹에 해당된다.
전송부(205)는 헤더 스트림을 클라이언트 디바이스(300)로 전송한 이후, 동영상 파일의 코덱 타입이 클라이언트 디바이스(300)에서 디코딩 가능한 타입이 아닌 경우, 코덱 스트림을 클라이언트 디바이스(300)에서 디코딩 가능하도록 트랜스코딩하고, 트랜스코딩된 코덱 스트림을 클라이언트 디바이스(300)로 전송한다. 그러면, 클라이언트 디바이스(300)는 헤더 스트림과 트랜스코딩된 코덱 스트림을 실시간 리먹싱한다.
여기서, 일반적으로 동영상 파일은 특정 압축 규격 또는 압축 방식에 의해 구별되는 코덱에 의해 압축되어 있는데, 이와 같이 특정 코덱에 의해 인코딩되어 있는 동영상 파일을 디코딩하고 새로운 코덱에 의해 인코딩하는 것을 트랜스코딩이라고 한다.
프로세서(207)는 저장 장치(100), 복수(n)의 디먹서(201, 203) 및 전송부(205)와 연결되어 이들의 동작을 제어한다.
도 4는 도 2의 클라이언트 디바이스의 한 실시예에 따른 세부 구성을 나타낸 블록도이다.
도 4를 참조하면, 클라이언트 디바이스(300)는 쿼리부(301), 수신부(303), 리먹서(Remuxer)(305) 및 재생부(307)를 포함한다.
쿼리부(301)는 사용자가 원하는 동영상 파일의 검색 요청 및 seek를 전송한다.
수신부(303)는 송신 장치(200)로부터 검색 또는 seek를 요청한 동영상 파일의 헤더 스트림을 수신한 후, 상기 동영상 파일의 코덱 스트림 및 실시간 재생 정보를 수신한다.
이때, 헤더 스트림은 재생부(307)가 인식 가능한 파일 포맷을 가지고, 코덱 스트림은 재생부(307)가 인식 가능한 파일 포맷 및 재생부(307)가 디코딩 가능한 코덱 타입을 가진다.
리먹서(305)는 헤더 스트림, 코덱 스트림 및 실시간 재생 정보를 리먹싱하여 재생 파일을 생성한다.
재생부(307)는 리먹서(305)로부터 재생 파일을 입력받아 헤더 스트림을 분석한 결과에 따라 코덱 스트림을 디코딩하여 재생한다. 재생부(307)의 재생 동작은 종래 알려진 기술이므로, 자세한 설명은 생략한다.
도 5는 도 2의 클라이언트 디바이스의 다른 실시예에 따른 세부 구성을 나타낸 블록도로서, 도 4의 구성 중 리먹서(305)를 복수개 구비한 실시예에 해당된다.
도 5를 참조하면, 클라이언트 디바이스(300)는 쿼리부(301), 수신부(303), 재생부(307), 복수(n)의 리먹서(309, 311) 및 선택부(313)를 포함한다.
이때, 쿼리부(301), 수신부(303), 재생부(307), 복수(n)의 리먹서(309, 311)의 구성은 도 4에서 설명한 내용과 동일하다. 다만, 복수(n)의 리먹서(309, 311)는 각각 서로 다른 파일 포맷을 인식하며, 그 동작은 도 4와 동일하다.
선택부(313)는 수신부(303) 및 복수(n)의 리먹서(309, 311)와 연결된다. 선택부(313)는 헤더 스트림의 파일 포맷을 확인한다. 그리고 복수(n)의 리먹서(309, 311) 중에서 확인한 파일 포맷에 해당하는 리먹서(309, 311)를 선택한다. 그리고 선택한 리먹서(309, 311)로 수신부(303)가 수신한 헤더 스트림, 코덱 스트림 및 실시간 재생 정보를 출력한다.
도 6은 본 발명의 실시예에 따른 송신 방법을 나타낸 순서도로서, 도 1, 2의 송신 장치(200)의 동작을 나타낸 것이다.
도 6을 참조하면, 클라이언트 디바이스(300)로부터 동영상 파일 검색요청이 수신(S101)되면, 복수(n)의 디먹서(demuxer)(201, 203) 중 검색 요청된 동영상 파일 포맷을 인식 가능한 하나의 디먹서(201, 203)가 저장 장치(100)로부터 검색 요청된 동영상 파일을 읽어들여 디먹싱한다(S103). 그리고 동영상 파일의 헤더 정보를 분석한다(S105).
전송부(205)는 S103 단계에서 디먹싱된 동영상 파일의 헤더 정보의 파일 포맷을 확인한다(S105).
전송부(205)는 S105 단계에서 확인한 헤더 정보의 파일 포맷과 클라이언트 디바이스(100)에서 인식 가능한 파일 포맷이 서로 일치하는지 판단한다(S107). 여기서, 클라이언트 디바이스(100)에서 인식 가능한 파일 포맷은 S101 단계에서 획득할 수도 있고, 사전에 미리 저장할 수도 있으며, 다양한 방식으로 획득할 수 있다.
전송부(205)는 S107 단계에서 서로 일치하지 않는 경우, 동영상 파일의 헤더 정보를 추출(S109)하여 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷으로 변환한다(S111).
전송부(205)는 S111 단계에서 인식 가능한 파일 포맷으로 변환된 헤더 스트림 또는 S107 단계에서 서로 일치하는 경우, 동영상 파일의 원래 헤더 스트림을 클라이언트 디바이스(300)로 전송한다(S113).
전송부(205)는 S103 단계에서 디먹싱된 동영상 파일의 코덱 타입을 확인한다(S115).
전송부(205)는 동영상 파일의 코덱 타입이 클라이언트 디바이스(300)에서 디코딩이 가능한 코덱 타입인지 판단한다(S117).
이때, 디코딩이 가능한 코덱 타입이 아닌 경우, 전송부(205)는 코덱 스트림을 클라이언트 디바이스(300)에서 디코딩이 가능한 코덱 타입으로 트랜스코딩한다(S119).
반면, 디코딩이 가능한 코덱 타입인 경우, 전송부(205)는 파일 포맷이 서로 일치하는지 확인한다(S121).
파일 포맷이 서로 일치하지 않는 경우, 전송부(205)는 코덱 스트림을 인식 가능한 파일 포맷으로 리패킹한다(S123).
전송부(205)는 S119 단계에서 트랜스코딩된 코덱 스트림 또는 S123 단계에서 리패킹된 코덱 스트림 또는 원래 코덱 스트림을 실시간 재생 정보와 함께 클라이언트 디바이스(300)로 전송한다(S125).
도 7은 본 발명의 한 실시예에 따른 수신 방법을 나타낸 순서도로서, 도 1, 4의 클라이언트 디바이스(300)의 동작을 나타낸 것이다.
도 7을 참조하면, 쿼리부(301)는 송신 장치(200)로 동영상 파일을 검색하거나 seek한다(S201). 여기서, seek는 1개의 파일 내에서 play 도중에 장면을 검색하거나 또는 특정 시간으로 이동하는 동작을 말한다.
수신부(303)는 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷을 가진 S101 단계에서 검색 요청한 동영상 파일의 헤더 스트림을 수신한다(S203).
수신부(303)는 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷과 클라이언트 디바이스(300)에서 디코딩 가능한 코덱 타입을 가진 코덱 스트림 및 실시간 재생 정보를 수신한다(S205).
리먹서(305)는 S203 단계 및 S205 단계에서 각각 수신한 헤더 스트림, 코덱 스트림 및 실시간 재생 정보를 실시간 리먹싱(S207)한 하나의 동영상 재생 파일을재생부(307)로 출력한다.
도 8은 본 발명의 다른 실시예에 따른 수신 방법을 나타낸 순서도로서, 도 1, 도 5의 클라이언트 디바이스(300)의 동작을 나타낸 것이다.
도 8을 참조하면, 쿼리부(301)가 동영상 파일을 검색한 이후, 수신부(303)는 검색한 동영상 파일의 헤더 스트림을 송신 장치(200)로부터 수신한다(S301).
선택부(313)는 S301 단계에서 수신한 헤더 스트림의 파일 포맷을 확인한다(S303).
선택부(313)는 서로 다른 파일 포맷을 인식하는 복수(n)의 리먹서(309, 311) 중에서 S303 단계에서 확인한 파일 포맷에 해당하는 리먹서(309, 311)를 선택한다(S305).
선택부(313)는 선택한 리먹서(309, 311)로 송신 장치(200)로부터 수신한 헤더 스트림, 코덱 스트림 및 실시간 재생 정보를 출력한다(S307).
그러면, 선택한 리먹서(309, 311)를 통해 헤더 스트림, 코덱 스트림 및 실시간 재생 정보를 실시간 리먹싱하고, 리먹싱된 동영상 파일을 재생부(307)에서 재생한다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (16)

  1. 동영상 파일을 탐색 및 요청하고 수신하여 재생하는 클라이언트 디바이스, 그리고
    상기 동영상 파일의 헤더 스트림의 제1 파일 포맷이 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 헤더 스트림을 상기 클라이언트 디바이스에서 인식 가능한 제2 파일 포맷으로 변환하여 상기 클라이언트 디바이스로 전송하고, 상기 동영상 파일의 코덱 타입을 상기 클라이언트 디바이스에서 디코딩 가능한 경우, 상기 제2 파일 포맷으로 상기 동영상 파일의 코덱 스트림을 리패킹한 후, 상기 클라이언트 디바이스로 전송하는 송신 장치를 포함하고,
    상기 제1 파일 포맷과 상기 제2 파일 포맷은 파일 확장자가 다르고,
    상기 리패킹은,
    상기 코덱 스트림에 포함되는 데이터들을 상기 제2 파일 포맷에서 정의하는 코덱 저장방식에 기초하여 재구성 또는 재조립하는 것을 특징으로 하며,
    상기 클라이언트 디바이스는,
    상기 제2 파일 포맷으로 변환된 헤더 스트림과 상기 리패킹된 코덱 스트림을 실시간 리먹싱하는 실시간 리먹싱 시스템.
  2. 제1항에 있어서,
    상기 송신 장치는,
    서로 다른 파일 포맷 및 코덱 타입을 가지는 복수의 동영상 파일을 저장하는 NAS(Network Attached Storage) 서버 또는 클라우드(Cloud) 서버에 포함되거나 또는 연결되는 실시간 리먹싱 시스템.
  3. 제1항에 있어서,
    상기 송신 장치는,
    서로 다른 파일 포맷을 각각 지원하고, 지원하는 파일 포맷을 가지는 동영상 파일의 헤더 정보를 분석하는 복수의 디먹서(demuxer), 그리고
    상기 헤더 정보의 분석 결과를 토대로 상기 동영상 파일의 파일 포맷을 확인하고, 상기 동영상 파일의 헤더 스트림을 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷으로 변환하여 상기 클라이언트 디바이스로 전송하며, 상기 클라이언트 디바이스에서 디코딩 가능한 코덱 타입을 가지는 코덱 데이터 스트림을 상기 클라이언트 디바이스로 전송하는 전송부
    를 포함하는 실시간 리먹싱 시스템.
  4. 제3항에 있어서,
    상기 복수의 디먹서는,
    상기 동영상 파일을 헤더 정보와 코덱 데이터로 분리하고,
    상기 전송부는,
    헤더 스트림을 전송한 이후, 코덱 스트림과 실시간 재생 정보를 전송하는 실시간 리먹싱 시스템.
  5. 제4항에 있어서,
    상기 실시간 재생 정보는,
    길이(length) 및 타임스탬프(timestamp)를 포함하는 실시간 리먹싱 시스템.
  6. 제4항에 있어서,
    상기 전송부는,
    상기 동영상 파일의 헤더 정보가 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷인 경우, 원래의 헤더 스트림을 상기 클라이언트 디바이스로 전송하고, 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 인식 가능한 파일 포맷으로 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 실시간 리먹싱 시스템.
  7. 제6항에 있어서,
    상기 전송부는,
    상기 원래의 헤더 스트림 및 상기 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송한 이후, 상기 동영상 파일의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩 가능한 경우 원래 코덱 스트림을 상기 클라이언트 디바이스로 전송하고,
    상기 클라이언트 디바이스는,
    상기 인식 가능한 파일 포맷을 가진 헤더 스트림과 상기 원래 코덱 스트림을 실시간 리먹싱하는 실시간 리먹싱 시스템.
  8. 삭제
  9. 제6항에 있어서,
    상기 전송부는,
    상기 헤더 스트림을 상기 클라이언트 디바이스로 전송한 이후, 상기 동영상 파일의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩 가능한 타입이 아닌 경우, 상기 코덱 스트림을 상기 클라이언트 디바이스에서 디코딩 가능하도록 트랜스코딩하고, 트랜스코딩된 코덱 스트림을 상기 클라이언트 디바이스로 전송하며,
    상기 클라이언트 디바이스는,
    상기 헤더 스트림과 상기 트랜스코딩된 코덱 스트림을 실시간 리먹싱하는 실시간 리먹싱 시스템.
  10. 제1항에 있어서,
    상기 클라이언트 디바이스는,
    사용자가 원하는 동영상 파일의 검색을 요청하는 쿼리부,
    상기 동영상 파일의 헤더 스트림을 수신한 후, 상기 동영상 파일의 코덱 스트림 및 실시간 재생 정보를 수신하는 수신부,
    상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 리먹싱하여 재생 파일을 생성하는 리먹서(remuxer), 그리고
    상기 재생 파일을 입력받아 상기 헤더 스트림을 분석한 결과에 따라 상기 코덱 스트림을 디코딩하여 재생하는 재생부를 포함하고,
    상기 헤더 스트림은 상기 재생부가 인식 가능한 파일 포맷을 가지고, 상기 코덱 스트림은 상기 재생부가 인식 가능한 파일 포맷 및 상기 재생부가 디코딩 가능한 코덱 타입을 가지는 것을 특징으로 하는 실시간 리먹싱 시스템.
  11. 제10항에 있어서,
    상기 리먹서는 서로 다른 파일 포맷을 인식하는 복수의 리먹서를 포함하고,
    상기 헤더 스트림의 파일 포맷을 확인하고, 상기 복수의 리먹서 중에서 상기 파일 포맷에 해당하는 리먹서를 선택하며, 선택한 리먹서로 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 출력하는 선택부
    를 더 포함하는 실시간 리먹싱 시스템.
  12. 클라이언트 디바이스로부터 요청된 동영상 파일을 스트리밍하는 송신 장치의 송신 방법으로서,
    상기 동영상 파일의 헤더 스트림의 제1 파일 포맷이 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 헤더 스트림을 상기 클라이언트 디바이스에서 인식 가능한 제2 파일 포맷으로 변환하여 상기 클라이언트 디바이스로 전송하는 단계, 그리고
    상기 동영상 파일의 코덱 타입을 상기 클라이언트 디바이스에서 디코딩 가능한 경우, 상기 제2 파일 포맷으로 상기 동영상 파일의 코덱 스트림을 리패킹한 후, 상기 클라이언트 디바이스로 전송하는 단계를 포함하고,
    상기 제1 파일 포맷과 상기 제2 파일 포맷은 파일 확장자가 다르고,
    상기 리패킹은,
    상기 코덱 스트림에 포함되는 데이터들을 상기 제2 파일 포맷에서 정의하는 코덱 저장방식에 기초하여 재구성 또는 재조립하는 것을 특징으로하는 송신 방법.
  13. 제12항에 있어서,
    상기 헤더 스트림을 상기 클라이언트 디바이스에서 인식 가능한 제2 파일 포맷으로 변환하여 상기 클라이언트 디바이스로 전송하는 단계는,
    상기 동영상 파일의 헤더 정보를 분석하는 단계,
    상기 헤더 정보의 파일 포맷과 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷이 서로 일치하는지 확인하는 단계,
    서로 일치하지 않는 경우, 상기 동영상 파일의 헤더 스트림을 상기 인식 가능한 제2 파일 포맷으로 변환하는 단계,
    상기 제2 파일 포맷으로 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계, 그리고
    서로 일치하는 경우, 상기 동영상 파일의 제1 파일 포맷의 원래 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계
    를 포함하는 송신 방법.
  14. 제13항에 있어서,
    상기 리패킹한 후, 상기 클라이언트 디바이스로 전송하는 단계는,
    상기 동영상 파일의 코덱 스트림의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩이 가능한 코덱 타입인지 판단하는 단계,
    상기 디코딩이 가능한 코덱 타입이 아닌 경우, 상기 코덱 스트림을 상기 디코딩이 가능한 코덱 타입으로 트랜스코딩하는 단계,
    상기 디코딩이 가능한 코덱 타입인 경우, 상기 파일 포맷이 서로 일치하는지 확인하는 단계,
    상기 파일 포맷이 서로 일치하지 않는 경우, 상기 코덱 스트림을 상기 인식가능한 파일 포맷으로 리패킹(repacking)하는 단계, 그리고
    트랜스코딩된 코덱 스트림, 리패킹된 코덱 스트림 또는 원래 코덱 스트림 중 하나를 상기 클라이언트 디바이스로 전송하는 단계
    를 포함하는 송신 방법.
  15. 동영상 파일을 탐색 및 요청하고 수신하여 재생하는 클라이언트 디바이스의 수신 방법으로서,
    상기 클라이언트 디바이스에서 인식 가능한 파일 포맷을 가진 상기 동영상 파일의 헤더 스트림을 수신하는 단계,
    상기 클라이언트 디바이스에서 인식 가능한 파일 포맷과 상기 클라이언트 디바이스에서 디코딩 가능한 코덱 타입을 가진 코덱 스트림 및 실시간 재생 정보를 수신하는 단계, 그리고
    상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 실시간 리먹싱하여 재생하는 단계를 포함하고,
    상기 헤더 스트림을 수신하는 단계는,
    상기 동영상 파일의 헤더 스트림의 제1 파일 포맷이 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 클라이언트 디바이스에서 인식 가능한 제2 파일 포맷으로 변환된 헤더 스트림을 수신하고,
    상기 코덱 스트림 및 실시간 재생 정보를 수신하는 단계는,
    상기 동영상 파일의 헤더 스트림의 제1 파일 포맷이 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 제2 파일 포맷으로 리패킹된 코덱 스트림을 수신하고,
    상기 재생하는 단계는,
    상기 제2 파일 포맷으로 변환된 헤더 스트림과 상기 리패킹된 코덱 스트림을 실시간 리먹싱하며,
    상기 제1 파일 포맷과 상기 제2 파일 포맷은 파일 확장자가 다르고,
    상기 리패킹은,
    상기 코덱 스트림에 포함되는 데이터들을 상기 제2 파일 포맷에서 정의하는 코덱 저장방식에 기초하여 재구성 또는 재조립하는 것을 특징으로 하는 수신 방법.
  16. 제15항에 있어서,
    상기 재생하는 단계는,
    상기 헤더 스트림의 파일 포맷을 확인하는 단계,
    서로 다른 파일 포맷을 인식하는 복수의 리먹서 중에서 상기 파일 포맷에 해당하는 리먹서를 선택하는 단계,
    선택한 리먹서를 통해 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 실시간 리먹싱하는 단계, 그리고
    리먹싱된 동영상 파일을 재생하는 단계
    를 포함하는 수신 방법.
KR1020150143081A 2015-10-13 2015-10-13 실시간 리먹싱 시스템, 송신 방법 및 수신 방법 KR101729765B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150143081A KR101729765B1 (ko) 2015-10-13 2015-10-13 실시간 리먹싱 시스템, 송신 방법 및 수신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150143081A KR101729765B1 (ko) 2015-10-13 2015-10-13 실시간 리먹싱 시스템, 송신 방법 및 수신 방법

Publications (2)

Publication Number Publication Date
KR20170043382A KR20170043382A (ko) 2017-04-21
KR101729765B1 true KR101729765B1 (ko) 2017-05-02

Family

ID=58705577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150143081A KR101729765B1 (ko) 2015-10-13 2015-10-13 실시간 리먹싱 시스템, 송신 방법 및 수신 방법

Country Status (1)

Country Link
KR (1) KR101729765B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11843818B2 (en) 2021-08-05 2023-12-12 Samsung Electronics Co., Ltd. Electronic device and multimedia playback method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100810223B1 (ko) * 2007-01-19 2008-03-06 삼성전자주식회사 단말 간 실시간 스트리밍 서비스 제공 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100810223B1 (ko) * 2007-01-19 2008-03-06 삼성전자주식회사 단말 간 실시간 스트리밍 서비스 제공 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11843818B2 (en) 2021-08-05 2023-12-12 Samsung Electronics Co., Ltd. Electronic device and multimedia playback method thereof

Also Published As

Publication number Publication date
KR20170043382A (ko) 2017-04-21

Similar Documents

Publication Publication Date Title
KR101868280B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
KR100618473B1 (ko) Mpeg 스트림 네비게이션을 제공하기 위한 방법, 머신 판독 가능 매체, 장치 및 시스템
US9818446B2 (en) File producing method, file producing device, and recording medium
JP6498882B2 (ja) 蓄積方法、再生方法、蓄積装置、および再生装置
KR20180050961A (ko) 멀티미디어 수신 장치에서 디코딩을 수행하는 방법 및 멀티미디어 장치
JP7439762B2 (ja) 情報処理装置および情報処理方法、並びにプログラム
CN102474588A (zh) 发送控制装置、接收控制装置、发送控制方法、接收控制方法、以及发送控制程序
JP2005136762A (ja) 高精細映像再生方法ならびに装置
JP2005176069A (ja) 分散並列トランスコーダシステム及び分散並列トランスコード方法
CN102780728A (zh) 媒体文件转码下载方法及客户端
CN108476346B (zh) 信息处理装置和信息处理方法
KR101729765B1 (ko) 실시간 리먹싱 시스템, 송신 방법 및 수신 방법
KR20050052717A (ko) 오디오 원본 보존 트랜스코딩 시스템 및 방법
KR20140007893A (ko) 비디오 스트림을 최적화하기 위한 방법
KR101731829B1 (ko) 디지털 영상 수신기의 디지털 콘텐츠 처리 장치 및 방법
CN108886638A (zh) 再现装置和再现方法、以及文件生成装置和文件生成方法
JP7014157B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
WO2016089709A1 (en) Identifying media types
JP2010192971A (ja) 選択領域符号化映像データ配信方法、符号化映像データ復号方法、配信サーバ、再生端末、プログラムおよび記録媒体
JP2015109131A (ja) ファイル生成方法、再生方法、ファイル生成装置、再生装置および記録媒体
US9398351B2 (en) Method and apparatus for converting content in multimedia system
WO2015083354A1 (ja) ファイル生成方法、再生方法、ファイル生成装置、再生装置および記録媒体
WO2015105037A1 (ja) ファイル生成方法、ファイル生成装置および記録媒体
WO2016027426A1 (ja) 映像ストリーム生成方法、再生装置及び記録媒体
KR101656102B1 (ko) 컨텐츠 파일 생성/제공 장치 및 방법

Legal Events

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

Payment date: 20200306

Year of fee payment: 4