KR101265990B1 - 비디오 파일 처리 시스템 및 방법 - Google Patents

비디오 파일 처리 시스템 및 방법 Download PDF

Info

Publication number
KR101265990B1
KR101265990B1 KR1020117022136A KR20117022136A KR101265990B1 KR 101265990 B1 KR101265990 B1 KR 101265990B1 KR 1020117022136 A KR1020117022136 A KR 1020117022136A KR 20117022136 A KR20117022136 A KR 20117022136A KR 101265990 B1 KR101265990 B1 KR 101265990B1
Authority
KR
South Korea
Prior art keywords
video
bitstream
format
independently coded
video bitstream
Prior art date
Application number
KR1020117022136A
Other languages
English (en)
Other versions
KR20110118174A (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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20110118174A publication Critical patent/KR20110118174A/ko
Application granted granted Critical
Publication of KR101265990B1 publication Critical patent/KR101265990B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

비디오 서버를 구동하는 방법은, 제1 비디오 비트스트림을 수신하는 단계, 상기 제1 비트스트림을 메모리에 저장하는 단계, 상기 제1 비디오 비트스트림으로부터 제2 비디오 비트스트림을 생성하는 단계 및 제2 비디오 비트스트림을 메모리에 저장하는 단계를 포함한다. 상기 제1 비디오 비트스트림은 복수의 독립적으로 코딩된 시점들을 포함하며, 상기 제2 비디오 비트스트림은 상기 복수의 독립적으로 코딩된 시점들 중 하나를 포함한다.

Description

비디오 파일 처리 시스템 및 방법{SYSTEM AND METHOD FOR PROCESSING VIDEO FILES}
본 발명은 컴퓨터 시스템에 관한 것으로, 보다 상세하게는 비디오 파일 처리 시스템 및 방법에 관한 것이다.
삭제
삭제
인터넷 속도가 빨라지고 더 많은 유비쿼터스(ubiquitous)가 개발됨에 따라 컴퓨터 네트워크를 통한 비디오 신호의 전송은 점점 일반화되고 있다. 결과적으로, 더 많은 비디오 콘텐츠 공급자들이 종래의 소매점을 통해 디지털 비디오 디스크를 판매하거나 대여하는 방법 보다 온라인을 통해 비디오를 배포하는 방법을 선택하고 있다. 그러나, 전자적으로 배포되는 비디오의 화질 및 해상도가 향상됨에 따라, 컴퓨터 비디오 배포 네트워크가 요구하는 처리량도 이에 대응하여 증가하고 있다.
상기 비디오 처리량을 증가시키는 요인 중 하나는 다시점 비디오 콘텐츠(multi-view video content)이다. 예를 들어, 다시점 비디오 비트스트림(bitstream)은 2 개의 시점을 포함한다: 하나는 우안용으로 지정되고, 다른 하나는 좌안용으로 지정된 것이다. 다시점 비디오 기술은 또한 스포츠 경기 또는 라이브 공연과 같이 다시점(2 개 이상)을 가지는 것이 유용한 상황에서 사용된다. 이러한 다시점 비디오 콘텐츠는 예를 들어, 다시점 비디오 코딩(Multi-view Video Coding; MVC)과 같은 다시점 코딩 표준 등을 이용하여 다중 시점들을 동일한 비디오 비트스트림으로 인코딩함으로써 구현된다. 상기 MVC는 H.264/AVC의 Annex H(Annex H) 사양에서 정의된 H.264/AVC의 다시점 확장형이다. 비디오 처리량을 증가시키는 다른 요인으로는 스케일러블 비디오 콘텐츠(scalable video content)가 있다. 상기 스케일러블 비디오 콘텐츠는 동일한 비디오 비트스트림으로 화질, 프레임 레이트, 및/또는 공간 해상도가 다른, 표준 화질(standard definition; SD) 및 고화질(high definition; HD) 비디오 신호를 표현할 수 있다.
다시점 비디오 콘텐츠 및/또는 스케일러블 비디오 콘텐츠를 포함하는 것은, 이러한 콘텐츠의 송신 및 수신에 있어서 대역폭과 집중 강도를 증가시키는 결과를 가져올 수 있다. 또한, 이러한 비디오 콘텐츠를 수신하는 모든 클라이언트들이 전송되는 비디오 신호의 콘텐츠의 전부를 요구하는 것은 아니다. 예를 들어, 단일 표준 해상도의 모니터를 가진 사용자는 HD 또는 3차원(three dimensional; 3D) 비디오 신호로 제공되는 특징을 모두 필요로 하지 않는다.
클라이언트에게 보다 효과적으로 비디오 콘텐츠를 전송하는 시스템 및 방법이 필요하다.
본 발명은 클라이언트에게 보다 효과적으로 비디오 콘텐츠를 전송하는 시스템 및 방법에 관한 발명이다.
일 실시예에 따르면, 본 방법은 제1 포맷의 제1 비트스트림 및 제2 포맷의 제2 비트스트림을 포함하는 비디오 파일을 저장하는 단계를 포함한다. 상기 제1 비트스트림은 복수의 독립적으로 코딩된 비디오 컴포넌트들을 포함하며, 상기 제2 비트스트림은 상기 복수의 독립적으로 코딩된 비디오 컴포넌트들 중 하나를 포함한다. 상기 방법은 또한 상기 복수의 독립적으로 코딩된 비디오 컴포넌트들 중 하나를 선택하는 단계 및 상기 제2 비트스트림을 저장하는 트랙을 식별하는 단계를 포함한다.
일 실시예에 따르면, 비디오 서버를 구동하는 방법은, 제1 비디오 비트스트림을 수신하는 단계, 상기 제1 비디오 비트스트림을 메모리에 저장하는 단계, 상기 제1 비디오 비트스트림으로부터 제2 비디오 비트스트림을 생성하는 단계 및 제2 비디오 비트스트림을 메모리에 저장하는 단계를 포함한다. 상기 제1 비디오 비트스트림은 복수의 독립적으로 코딩된 시점(view)들을 포함하며, 상기 제2 비디오 비트스트림은 상기 복수의 독립적으로 코딩된 시점들 중 하나를 포함한다.
일 실시예에 따르면, 비디오 서버는 메모리 및 프로세서를 포함한다. 상기 프로세서는 독립적으로 코딩된 제1 시점 및 독립적으로 코딩된 제2 시점을 포함하는 제1 비디오 비트스트림을 수신하고, 상기 제1 비디오 비트스트림으로부터 상기 제2 독립적으로 코딩된 시점을 포함하는 제2 비디오 비트스트림을 생성한다. 상기 프로세서는 상기 제1 및 제2 비디오 비트스트림을 메모리에 저장한다.
앞서 말한 것은 후술되는 발명의 상세한 설명이 더 잘 이해되도록 본 발명의 실시예의 특징을 넓게 서술한 것이다. 본 발명의 청구 주제가 되는 본 발명의 추가적인 특징 및 효과가 서술될 것이다. 개시되는 특정 실시예 및 개념은 당업자가 본 발명을 실시하거나 본 발명을 개조하여 다른 구조를 설계하는 것에 활용될 수 있다. 그러나 그러한 다른 구조 역시 후술될 청구항에 의해 정해지는 본 발명의 보호범위에 속하는 것임이 이해되어야 할 것이다.
본 발명에 따르면, 스마트폰 또는 노트북과 같은 저전력 및/또는 저사양의 클라이언트가 다시점 비트스트림으로부터 시점을 추출하는 프로세싱 자원을 확장할 필요 없이 전체 비디오 콘텐츠에 접근하는 것을 가능하게 한다.
본 발명 및 그 효과의 더 완전한 이해를 위하여, 하기와 같은 도면을 참조하여 상세하게 설명한다.
도 1은 비디오 서버 시스템 실시예의 도면이다
도 2는 메모리 할당 실시예를 나타낸다.
서로 다른 도면에 기재된 동일한 도면 번호 및 기호는, 별도의 언급이 없으면, 동일한 부분을 언급한다. 도면은 실시예의 적절한 측면을 도시하도록 명확히 그려졌으며, 반드시 비례에 따라 그려진 것은 아니다.
다양한 실시예의 제조 및 사용에 관해 이하에서 상세하게 설명한다. 그러나, 본 발명은 상세한 설명의 다양한 변형 내에서 구현될 수 있는 적용 가능한 발명 개념을 제공하는 점에 유의한다. 논의되는 구체적인 실시예는 발명의 제조 및 사용에 대한 특정 방법을 단순히 기재한 것이며, 이는 발명의 범위를 한정하지 않는다.
본 발명은 상세한 설명에서 예를 들어, 비디오 파일 처리 시스템 및 방법과 같이 실시예에 대하여 기술될 것이다. 본 발명의 실시예는 또한, 데이터 통신의 다른 타입의 시스템 및 방법에 직접 적용될 수도 있다.
도 1은 비디오 배포 시스템(100)의 실시예를 나타낸다. 클라이언트(104)는 커넥션(connection) 106을 통해 서버(102)에 연결된다. 설명의 편의를 위해, 하나의 클라이언트(104)만 도시하였지만, 실시예에 따라, 하나 이상의 클라이언트가 서버(102)에 연결될 수 있다. 서버(102)는 프로세서(112), 네트워크 인터페이스(116) 및 메모리(114)를 포함한다. 몇 실시예에서, 서버(102)는 커넥션 108을 통해 예를 들어, 인터넷(110)과 같은 다른 네트워크에 연결된다. 다른 몇 실시예에서, 인터넷(110) 및 커넥션 108은 커넥션 106의 일부일 수 있다. 실시예에서, 서버(102)는 메모리(114) 내에 비디오 콘텐츠 또는 상기 비디오 콘텐츠의 일부를 저장한다. 메모리(114)는 실시예에 따라서 디스크 드라이브 어레이로 만들어 질 수 있으나, 예를 들어, DRAM 및 SRAM 등의 고체 메모리(solid state memory), 다른 종류의 자기 스토리지(magnetic storage), 또는 다른 형태의 메모리 스토리지(memory storage)와 같은 다른 형태의 스토리지(storage)를 포함할 수도 있다. 서버(102)는 예를 들어, 광역 또는 대도시 통신망의 서비스 제공자에 의해 운영되는 원격 위치 서버(remotely located server), 근거리 통신망 서버, 또는 다른 타입의 서버일 수 있다. 커넥션(106 및 108)은 와이어 배선, 무선, DSL 및/또는 다른 타입의 커넥션일 수 있다. 또한, 커넥션(106 및 108)은 TCP-IP, UDP-IP 또는 다른 종류의 프로토콜에 따라 운영될 수 있다.
도 2는 도 1의 서버(102)의 메모리(114)의 할당 실시예를 나타낸다. 본 발명의 실시예에서, 제1 비디오 비트스트림(120) 및 제2 비디오 비트스트림(122)이 메모리(114)에 저장된다. 실시예에서, 제1 비디오 비트스트림(120)은 독립적으로 코딩된 하나 이상의 시점을 포함하고, 제2 비디오 스트림(122)은 독립적으로 코딩된 단일 시점를 포함한다.
실시예에서, 제1 비트스트림(120)은 적어도 2개의 비디오 컴포넌트(video component)를 포함한다. 제1 비디오 컴포넌트는 "A-view"라 한다. 실시예에서, 상기 "A-view"는 제1 비트스트림(120) 내에 있는 독립적으로 코딩된 시점이다. 또한, 제1 비트스트림(120)은 적어도 하나의 다른 비디오 컴포넌트를 포함하며, 그 중 첫 번째를 "B-view" 라 한다. 경우에 따라서는, 예를 들어, "B-view"가 "A-view"와 밀접하게 연관되어 있는 3D 비디오와 같은 경우에는, 상기 "B-view"는 상기 "A-view"로부터 독립적으로 코딩되지 않을 수 있다. 이러한 경우, "B-view"는 그 전체로서 "B-view"를 코딩하여 만들기보다, "A-view"와의 차이를 코딩하여 만든다. 그러나, 몇 실시예에서, 예를 들어, 제1 비트 스트림(120)이 연주, 공연, 또는 스포츠 경기의 다중 시점들을 전달하고 있는 경우, "B-view"는 독립적으로 코딩될 수 있다. 예를 들어, "A-view" 레이스 트랙의 조감도를 나타낼 수 있고, "B-view"는 자동차 레이스의 차 내부 시점을 나타낼 수 있다. 다른 실시예에서, 제1 비트스트림(120)은 예를 들어, "C-view", "D-view" 등을 더 포함하는 2개 이상의 시점을 포함할 수 있다. 이러한 추가적인 시점은 "A-view" 에 종속되거나 독립될 수 있다.
일 실시예에서,"A-view" 및 "B-view"와 같이 적어도 하나의 다른 시점은 독립적으로 코딩된 시점일 수 있다. 설명의 편의를 위해, "B-view"는 독립적으로 코딩되었다고 가정한다. "B-view"를 제외한 다른 시점들도 독립적으로 코딩될 수 있으며, 따라서, "B-view"가 참조될 때, 다른 시점들도 동일하게 고려될 수 있음을 이해해야 한다. 예를 들어, 일 실시예에서, "B-view"가 종속 시점이고, " C-view"는 독립 시점일 수 있다.
일 실시예에서, 서버(102)는 적어도 2개의 독립 시점을 포함하는 제1 비트스트림을 가지며, 단일 시점을 포함하는 제2 비트스트림(122)을 생성한다. 일 실시예에서, 상기 제2 비트스트림에서 인코딩된 시점은 "A-view"와 다른 독립적으로 코딩된 시점이다. 다른 실시예에서, 상기 제2 비트스트림은 "A-view"를 포함하거나 또는 다른 독립적 또는 종속적으로 코딩된 시점을 포함할 수 있다.
일 실시예에서, 상기 서버는 커넥션 108로부터 제1 비트스트림(120)을 수신하지만, 또한, 상기 제1 비트스트림은, 예를 들어, 사용자가 네트워크 없이 직접 DVD 비디오를 카피하는 경우, 사용자에 의해 로컬(local) 저장용의 메모리, 하드 디스크 또는 다른 장치에 기록될 수 있다. 제2 비트스트림(122)은, 클라이언트(104)에 의해 나중에 탐색될 수 있도록, 서버(102)가 제1 비트스트림(120)을 수신한 직후, 생성되고 기록된다. 또는, 제2 비트스트림(122)은 예를 들어, 클라이언트(104) 또는 다른 클라이언트에 의한 대체 요청에 응답하여 나중에 생성될 수도 있다.
일 실시예에서, 프로세서(112)는, 원본 계층 또는 시점의 트랙에 대한 트랜스코딩된(transcoded) 계층(layer) 또는 시점의 트랙의 맵핑(mapping)을 포함하는, 압축된 스케일러블 또는 다시점 비디오 콘텐츠의 서브세트(subset)를 트랜스코딩한다. 일 실시예에서, 서버(102)는 원본 비트스트림의 서브세트에 대응하는 스케일러블 또는 다시점 비트스트림에 동조하는 표준을 제공하는 코드 변환 기능을 구현하지 않으며, 상기 서브세트는 기본 계층 또는 기본 시점에 종속되지 않는다. 오히려, 몇 실시예에서 서버(102)는 단일 비트스트림을 가지는 제2 비트스트림(122)을 생성하기도 한다.
몇 실시예에서, 다시점 비트스트림 및 단일시점 비트스트림은 H.264/AVC 표준에 따라 포맷된다. 상기 H.264/AVC 표준은 또한, ITU-T 권고안 H.264 및 ISO/IEC 국제 표준(International Standard; IS) 14496-10 으로도 알려져 있다. 이러한 표준은 ITU-T의 비디오 코딩 전문가 그룹(Video Coding Experts Group; VCEG)과 ISO/IEC의 동화상 전문가 그룹(Motion Picture Experts Group; MPEG)이 구성한 조인트 비디오 팀(Joint Video Team; JVT)에 의해 개발되었다. 스케일러블 비디오 코딩(Scalable Video Coding; SVC)은 H.264/AVC 사양의 Annex G에서 정의된 H.264/AVC의 스케일러블 확장형이며, 다시점 비디오 코딩(Multi-view Video Coding; MVC)은 H.264/AVC 사양의 Annex H에서 정의된 H.264/AVC의 다시점 확장형이다. 다른 실시예에서는, ISO/IEC IS 13818-2과 같은 다른 표준이 또한 사용될 수 있다.
SVC-기반의 실시예에서, 비트스트림의 일부가 추출되고, 디코딩되며 낮은 공간 해상도, 낮은 화질 또는 낮은 프레임 레이트로 제공된다. SVC 비트스트림은 하나의 기본 계층 및 다수의 향상 계층(enhancement layer)을 포함한다. 상기 기본 계층 비트스트림 서브세트는 H.264/AVC 사양의 Annex A에서 이전에 정의된 하나 이상의 비스케일러블(non-scalable) 프로파일(profile)에 호환될 수 있다. 몇 실시예에서, 향상 계층은 향상된 코딩 효율을 위한 인터-레이어 예측(inter-layer prediction)을 위해 하위 계층을 사용한다. 간단하게 설명하기 위해, 본 설명에서는 향상 계층을 비 기본(non-base) 계층으로 언급하기로 한다.
한편, MVC 비트스트림 실시예는, 예를 들어, 다수의 카메라에 의해 포착된 하나 이상의 인코딩된 시점을 포함한다. 또 다른 실시예에서는, 이러한 인코딩된 시점들은 다른 소스(source)로부터 획득한 다른 비디오 콘텐츠를 가질 수 있다. 비트스트림의 일부는 추출되고 디코딩되어, 전체 비트스트림에 의해 표현되는 시점의 서브세트를 표현한다. MVC 비트스트림에서 시점들 중 하나는 기본 시점이며, 상기 기본 시점에 대한 비트스트림 서브세트는 H.264/AVC 사양의 Annex A에서 이전에 특정된 하나 이상의 비스케일러블 프로파일에 호환될 수 있다. 나머지 시점은 비 기본 시점으로 언급하기로 한다. 몇 실시예에서, 향상된 코딩 효율을 위해 비 기본 시점이 다른 시점을 사용할 수 있다.
간단하게 설명하기 위해, H.264/AVC 사양의 Annex A에서 정의된 프로파일에 대해 순응하거나 동조하거나 호환될 수 있는 비트스트림 또는 디코더는 H.264/AVC에 대해 순응하거나 동조하거나 호환될 수 있다고 한다. H.264/AVC 사양의 Annex G에서 정의된 프로파일에 대해 순응하거나 동조하거나 호환될 수 있는 비트스트림 또는 디코더는 SVC에 대해 순응하거나 동조하거나 호환될 수 있다고 한다. H.264/AVC 사양의 Annex H에서 정의된 프로파일에 대해 순응하거나 동조하거나 호환될 수 있는 비트스트림 또는 디코더는 MVC에 대해 순응하거나 동조하거나 호환될 수 있다고 한다.
SVC 또는 MVC을 구현하는 실시예에서, 비 기본 계층 또는 시점은 다른 계층 또는 시점에 대해 종속되거나 종속되지 않을 수 있다. 비 기본 계층 또는 다른 시점에 종속되지 않는 시점의 일 예는 모든 계층들 및 시점들이 서로 독립적인 경우이다. 또 다른 예는, 서브세트 내에 종속이 존재할 때, 비 기본 계층 또는 시점의 서브세트가 모든 다른 계층 또는 시점들로부터 독립적인 경우이다. 이러한 경우, 서브세트 내에 다른 계층들 또는 시점들에 의존하지 않는 적어도 하나의 계층 또는 시점이 존재한다.
일 실시예에서, 수신기는 하나의 독립적으로 코딩된 비 기본 계층 또는 시점의 서브세트를 중계하기 위한 요청을 발행한다. 독립 서브세트에서 비 기본 계층 또는 시점의 수가 하나이면, 수신기는 H.264/AVC을 따르거나, 또는 MVC 또는 SVC를 따르는 디코더를 사용할 수 있다. 두 가지 경우 모두, 요구되는 비 기본 계층 또는 시점에 대해 추출된 비트스트림 서브세트는 H.264/AVC에 따라 트랜스코딩된다. 후자의 경우(즉, 수신기가 SVC 또는 MVC에 따른 디코더를 포함하는 경우) 비 기본 시점 또는 계층이 H.264/AVC에 따라서도 트랜스코딩되는 이유 중의 하나는, SVC 또는 MVC에서, 동조하는 비트스트림이 H.264/AVC에 부합하는 기본 계층 또는 시점을 포함해야 할 수 있기 때문이다. 따라서, 비 기본 계층 또는 시점의 독립된 서브세트가 추출될 때, 서브세트 내의 독립된 비 기본 계층 또는 시점은 H.264/AVC에 부합하도록 트랜스코딩된다. 독립된 서브세트 내의 비 기본 계층 또는 시점의 수가 2 이상일 때, 수신기는 SVC 또는 MVC에 부합하는 디코더를 사용한다. 따라서, 계층 및 시점의 서브세트를 포함하는 비트스트림을 생성하기 위해, 서브세트 내의 독립된 비 기본 계층 또는 시점은 H.264/AVC에 부합하도록 트랜스코딩된다.
일 실시예에서, 독립된 비 기본 계층을 H.265/AVC에 부합하도록 트랜스코딩하는 것은 H.264/AVC 사양의 하위조항 G.13.2.1에 conversion_type_idc[i]가 2일 때, 구문요소 conversion_type_idc[i]의 의미로 기술되어 있다.
일 실시예에서, 비 기본 시점들의 독립된 서브세트 내에서 독립된 비기준 시점을 H.264/AVC에 부합하는 표현으로 트랜스코딩 하는 방법은 H.264/AVC 사양의 하위조항 H.8.5.5에 기술된 방법에 따라 수행된다.
일 실시예에서, 비 기본 계층 또는 시점의 하나의 독립적으로 코딩된 서브세트를 요구하는 수신기의 요구에 대한 응답에 있어서, 비디오 서버는 예를 들어, 전술한 실시예에서 기술된 것과 같은 트랜스코딩을 실행하고, 상기 트랜스코딩된 비트스트림을 수신기로 전송한다. 그러나, 복잡도와 비용을 줄이기 위해, 몇몇 서버들은 이와 같은 트랜스코딩 능력을 갖추지 않기도 한다. 이러한 어플리케이션 시나리오를 사용하기 위해, 몇 실시예에서, 메커니즘이 미디어 파일 내의 트랜스코딩된 비트스트림을 저장하여, 서버가 직접 파일 내에서 바람직한 트랙을 선택하고, 수신기에 기초 스트림을 전송한다.
ISO 기반의 미디어 파일 포맷은 ISO/IEC IS 14496-12에서 특정되며, 상기 ISO/IEC IS 14496-12은 멀티미디어 컨텐츠의 저장을 위해 널리 사용된다. MPEG-4 파일 포맷(ISO/IEC IS 14496-14), H.264/AVC 파일 포맷 (ISO/IEC IS 14496-15), SVC 파일 포맷 (ISO/IEC IS 14496-15 수정안 2) 및 MVC 파일 포맷 (ISO/IEC IS 14496-15 수정안 3)을 포함하는, 파일 포맷 표준 또는 초안 표준의 구성은 몇 실시예에서, ISO 기반 미디어 파일 포맷을 기준으로 도출된다.
일 실시예에서, 2009년 2월 스위스 로잔에서 열린 87차 MPEG 회의의 MPEG 결과 문서 W10445의 초안 MVC 파일 포맷을 기반으로 한 방법이 사용되었으며, 이는 참조로 첨부된다. 이러한 실시예에서, 가상 기본 시점 트랙 박스(Virtual Base View Tracks box)라는 새로운 박스(Box)를 정의한다. 상기 가상 기본 시점 트랙 박스는 다시점 정보 박스(Multi-view Information box)에 포함되며, 상기 다시점 정보 박스는 상기 파일에 저장되는 다시점 스트림의 기본 시점을 포함하는 트랙의 미디어 정보 박스에 포함된다.
상기 새로운 박스는 다음과 같이 정의된다. 상기 박스의 타입은 "vbvt"로 설정된다. 상기 새로운 박스의 컨테이너는 다시점 정보 박스('mvci')이다. 상기 새로운 박스는 몇 실시예에서는 선택적이다. 상기 새로운 박스는 독립적으로 코딩된 비 기본 시점들에 대한 가상 기본 시점을 저장하는 트랙의 정보를 제공한다. 일 실시예에서, 어떠한 독립적으로 코딩된 비 기본 시점에 대하여, 가상 기본 시점은 상기 시점의 H.264/AVC에 부합하는 표현이며, H.264/AVC 사양의 하위조항 H.8.5.5에서 정의되는 프로세스를 통해 생성될 수 있다. 독립적으로 코딩된 비 기본 시점의 데이터 유닛(data unit)을 포함하는 표본(sample) 및 가상 기본 시점의 샘플은 디코딩 시간에 따라 정렬된다.
다음의 구문은 새로운 박스의 포맷 및 새로운 박스인 가상 기본 시점 트랙이 어떤 정보를 포함하는지 정의한다.
aligned(8) class VirtualBaseViewTracksBox() extends FullBox('vbvt' version = 0, flags){
unsigned int(16) num_entries;
for(i=0; i<num_entries; i++) {
unsigned int(8) entry_type;
unsigned int(32) track_id;
if (entry_type == 1)
unsigned int(16) tier_id;
unsigned int(32) vbv_track_id;
}
}
상기 나열된 실시예 구문에서, 구문요소의 의미는 다음과 같다:
num_entries는 트랙 또는 가상 기본 시점을 포함하는 트랙을 식별하는 층의 수;
entry_type은 다음의 트랙 또는 계층의 유형을 나타낸다. 상기 entry_type의 값은 다음을 정의한다:
0-전체 트랙. 이 경우, track_id에 의해 식별되는 트랙은 오직 독립적으로 코딩된 비 기본 시점만을 포함한다.
1-트랙 내의 층. 이 경우, track_id 및 tire_id에 의해 식별되는 층은 오직 독립적으로 코딩된 비 기본 시점만을 포함한다.
track_id는 트랙을 나타낸다.
tire_id는 트랙 내에 있는 층을 나타낸다.
vbv_track_id는 track_id(entry_type이 0일 때) 또는 track_id 및 tire_id(entry_type이 1일 때)에 의해 식별되는 시점에 대한 가상 기본 시점을 포함하는 트랙을 나타낸다.
일 실시예에서, 가상 기본 시점 트랙 박스는, 각 독립적으로 코딩된 비 기본 시점(또는 상기 비 기본 시점의 임시 서브세트)에 대하여, H.264/AVC에 부합하며, 예를 들어, H.264/AVC 사양의 하위조항 H.8.5.5에서 정의되는 프로세스를 통해 생성된 가상 기본 시점(또는 상기 가상 기본 시점의 임시 서브세트)을 포함하는 트랙의 트랙 식별자를 제공한다. 비 기본 시점의 서브세트가 추출되고, 디코딩되면, 시점들의 서브세트 중에서 최소 시점 순서 지표를 가진 시점이 독립적으로 코딩된 비 기본 시점이다(그렇지 않으면 더 많은 시점이 추출되어야 한다). 이 경우, 최소 시점 순서 지표를 가진 시점에 대하여, 대응하는 가상 기본 시점 트랙으로부터 데이터 유닛을 가져온다. 다른 시점들에 대한 데이터 유닛은 보통 원본 트랙으로부터 가져온다. 만약 추출되고 디코딩된 비 기본 시점들의 서브세트 내에서 시점의 수가 하나이면(즉, 오직 하나의 독립적으로 코딩된 비 기본 시점이 추출되고 디코딩되는 경우), 가상 시점을 바로 얻을 수 있다.
본 발명의 다른 실시예에서는, 2009년 2월 스위스 로잔에서 열린 87차 MPEG 회의의 MPEG 결과 문서 W10445의 초안 MVC 파일 포맷을 기반으로 다른 방법이 사용된다. 이러한 방법에서는, 새로운 박스를 정의하는 대신 'vbvt' 라는 새로운 트랙이 정의된다. 본 실시예에서, 가상 기본 시점을 포함하는 임의의 트랙은 대응하는 독립적으로 코딩된 비 기본 시점을 포함하는 소스 트랙(source track)을 참조하는'vbvt' 유형의 트랙 기호를 포함한다. 이러한 새로운 트랙 참조 기호 유형과 함께, 서버는 독립적으로 코딩된 비 기준 시점의 가상 기준 시점을 포함하는 파일 트랙을 식별하며, 클라이언트가 상기 독립적으로 코딩된 비 기준 시점을 요구할 때, 서버는 상기 식별된 트랙에 포함된 미디어 데이터를 클라이언트에 전송한다.
다른 실시예에서, 새로운 박스 또는 새로운 트랙 참조 기호 유형은 스케일러블 비디오 콘텐츠에 적용되는 데 사용된다. 이러한 새로운 박스 또는 새로운 트랙 참조 기호 유형은 클라이언트가 비 기본 계층을 요구하였을 때 다시점 비디오 콘텐츠에 대하여 전술한 것과 유사한 기능을 제공하지만, 여기서는 스케일러블 비디오 콘텐츠에 관한 것이다.
일 실시예에서, 방법은 제1 포맷의 제1 비트스트림 및 제2 포맷의 제2 비트스트림을 포함하는 비디오 파일을 저장하는 단계를 포함한다. 제1 비트스트림은 복수의 독립적으로 코딩된 비디오 컴포넌트을 포함하고, 제2 비트스트림은 복수의 독립적으로 코딩된 비디오 컴포넌트 중 하나를 포함한다. 상기 방법은 또한 복수의 독립적으로 코딩된 비디오 컴포넌트 중 하나를 선택하는 단계 및 제2 비트스트림을 저장하는 트랙을 식별하는 단계를 포함한다. 몇 실시예에서, 상기 방법은 제2 비트스트림을 클라이언트에 전송하는 단계를 더 포함한다. 다른 실시예에서, 각각의 독립적으로 코딩된 비디오 컴포넌트은 독립적으로 코딩된 시점 및/또는 독립적으로 코딩된 계층을 포함한다.
일 실시예에서, 제1 포맷은 H.264/AVC 비디오 코딩 표준의 Annex H에서 정의된 프로파일에 따른 MVC 포맷이며, 제2 포맷은 H.264/AVC 비디오 코딩 표준의 Annex A에서 정의된 프로파일에 따른 어드밴스드 비디오 코딩(Advanced Video Coding; AVC) 포맷이다. 다른 실시예에서는, 제1 포맷은 H.264/AVC 비디오 코딩 표준의 Annex G에서 정의된 프로파일에 따른 SVC 포맷이며, 제2 포맷은 H.264/AVC 비디오 코딩 표준의 Annex A에서 정의된 프로파일에 따른 AVC 포맷이다. 몇 실시예에서, 비디오 파일은 MVC 파일 포맷에 따라 저장되거나, 또는 SVC 파일 포맷에 따라 저장된다. 다른 실시예에서는, 다른 포맷을 사용할 수도 있다.
본 실시예에 따르면, 제2 비트스트림을 저장하는 트랙을 식별하는 단계는 비디오 파일로부터 얻은 정보를 사용하는 단계를 포함하며, 상기 비디오 파일로부터 얻은 정보는 제2 비트스트림을 저장하는 트랙을 나타낸다. 몇 실시예에서, 제2 비트스트림을 저장하는 트랙을 나타내는 비디오 파일로부터 얻은 정보는 제2 비트스트림을 저장하는 트랙의 정보를 포함하는 박스 및/또는 제2 비트스트림을 저장하는 트랙의 정보를 나타내는 트랙 참조 기호를 포함한다.
일 실시예에서, 비디오 서버를 구동하는 방법은 제1 비디오 비트스트림을 수신하는 단계를 포함하며, 상기 제1 비디오 비트스트림은 복수의 독립적으로 코딩된 시점들을 포함한다. 상기 방법은 제1 비트스트림을 메모리에 저장하는 단계, 상기 제1 비디오 비트스트림으로부터 제2 비디오 비트스트림을 생성하는 단계, 및 상기 제2 비디오 비트스트림을 메모리에 저장하는 단계를 더 포함한다. 제2 비디오 비트스트림은 복수의 독립적으로 코딩된 시점들 중 하나를 포함한다. 일 실시예에서, 상기 방법은 제2 비트스트림을 클라이언트에 전송하는 단계를 더 포함한다. 다른 실시예에서, 상기 방법은 또한 상기 클라이언트로부터 복수의 독립적으로 코딩된 시점들 중 하나에 대한 요구를 수신하는 단계를 포함하며, 상기 전송은 상기 요구의 수신에 응답하여 실행된다. 몇 실시예는, 제1 비디오 비트스트림으로부터 복수의 독립적으로 코딩된 시점들 중 다른 하나를 포함하는 제3 비디오 비트스트림을 생성하는 단계, 및 제3 비디오 비트스트림을 메모리에 저장하는 단계를 포함한다. 몇 실시예에서, 제2 비디오 비트스트림은 제1 비트스트림과 동일한 파일에 저장된다.
몇 실시예에서, 제2 비트스트림은 제1 비트스트림과 다른 포맷으로 코딩된다. 일 예에서, 제1 비트스트림은 MVC 포맷으로 인코딩되며, 제2 비트스트림은 SVC 포맷으로 인코딩된다. 몇 실시예에서, 복수의 독립적으로 코딩된 시점들은 A-view 및 적어도 하나의 다른 독립적으로 코딩된 시점을 포함하며, 제2 비트스트림에서 복수의 독립적으로 코딩된 시점들 중 하나는 적어도 하나의 다른 독립적으로 코딩된 시점을 포함한다.
일 실시예에서, 비디오 서버는 메모리 및 프로세서를 포함하며, 상기 프로세서는 독립적으로 코딩된 제1 시점 및 독립적으로 코딩된 제2 시점을 포함하는 제1 비디오 비트스트림을 수신한다. 프로세서는 제1 비트스트림을 메모리에 저장하고, 제1 비디오 비트스트림으로부터 제2 비디오 비트스트림을 생성하며, 제2 비디오 비트스트림을 메모리에 저장한다. 제2 비디오 비트스트림은 독립적으로 코딩된 제2 시점을 포함한다. 몇 실시예에서, 비디오 서버는 제2 비트스트림을 전송한다. 다른 실시예에서, 비디오 서버는 제2 비디오 스트림에 대한 요구에 응답하여 제2 비트스트림을 클라이언트에 전송한다.
일 실시예에서, 제2 비트스트림은 제1 비트스트림과 다른 포맷으로 코딩된다. 일 예에서, 제1 비트 스트림은 MVC 포맷으로 인코딩되며, 제2 비트스트림은 SVC 포맷으로 인코딩된다. 다른 실시예에서, 제1 독립적으로 코딩된 시점은 A-view를 포함하고, 제2 독립적으로 코딩된 시점은 B-view를 포함한다.
일 실시예에서, 비디오 데이터 배포 방법은 제1 비디오 비트스트림을 제공하는 단계를 포함하며, 상기 제1 비디오 비트스트림은 독립적으로 코딩된 제1 시점 및 독립적으로 코딩된 제2 시점을 포함한다. 상기 방법은 또한 제1 비디오 비트스트림으로부터 제2 비디오 비트스트림을 생성하는 단계 및 제2 비디오 비트스트림을 메모리에 저장하는 단계를 포함하며, 상기 제2 비디오 비트스트림은 독립적으로 코딩된 제2 시점을 포함한다. 실시예에서, 상기 방법은 제2 비트스트림을 클라이언트에 전송하는 단계를 더 포함한다. 몇 실시예에서, 제2 비트스트림을 클라이언트에 전송하는 단계는 클라이언트로부터의 독립적으로 코딩된 제2 시점 요구에 응답하여 실행된다.
몇 실시예에서, 생성은 프로세서에 의해 실행된다. 다른 실시예에서, 제1 비디오 비트스트림을 제공하는 단계는 컴퓨터 네트워크로부터 제1 비디오 비트스트림을 수신하는 단계를 포함한다. 비디오 서버의 몇 실시예에서, 제1 비트스트림은 MVC 포맷으로 인코딩되며, 제2 비트스트림은 SVC 포맷으로 인코딩된다.
몇 실시예에서, 실시예 알고리즘은 컴퓨터 프로그램 또는 프로세서에 의해 구동되는 소프트웨어를 사용하여 구현될 수 있다.
다시점 비트스트림으로부터 단일 시점 비트스트림을 생성하는 실시예는 시점이 요구되는 매회마다 트랜스코딩 과정을 실행하지 않아도 클라이언트에 이차적인 시점을 제공할 수 있는 장점이 있다.
실시예의 또 다른 장점으로는, 이차적인 시점을 요구하는 클라이언트 노드(node)는 다시점 디코딩 알고리즘을 지원하거나 실행할 필요가 없으며, 프로세싱 자원을 다시점 디코딩에 할당할 필요가 없는 것이다. 이러한 특징은 스마트폰 또는 노트북과 같은 저전력 및/또는 저사양의 클라이언트가 다시점 비트스트림으로부터 시점을 추출하는 프로세싱 자원을 확장할 필요 없이 전체 비디오 콘텐츠에 접근하는 것을 가능하게 한다.
본 발명의 실시예는 비디오 파일 처리 장치를 더 제공하며, 상기 장치는 다음을 포함한다:
비디오 파일을 저장하는 저장 유닛으로서, 상기 비디오 파일은 제1 포맷의 제1 비트스트림 및 제2 포맷의 제2 비트스트림을 포함하며, 제1 비트스트림은 복수의 독립적으로 코딩된 비디오 컴포넌트을 포함하고, 제2 비디오 비트스트림은 복수의 독립적으로 코딩된 비디오 컴포넌트들 중 하나를 포함하는, 상기 저장 유닛;
복수의 독립적으로 코딩된 비디오 컴포넌트들 중 하나를 선택하는 선택 유닛; 및
제2 비트스트림을 저장하는 트랙을 식별하는 식별 유닛.
비디오 파일 처리 장치는 제2 비트스트림을 클라이언트에 전송하는 전송 유닛을 더 포함할 수 있다.
비디오 파일 처리 장치의 식별 유닛은 비디오 파일로부터 얻은 정보를 사용할 수 있으며, 상기 비디오 파일로부터 얻은 정보는 제2 비트스트림을 저장하는 트랙을 나타낸다.
본 발명의 실시예는 비디오 서버를 더 제공하며, 상기 서버는 다음을 포함한다:
제1 비디오 비트스트림을 수신하는 수신 유닛으로서, 상기 제1 비디오 비트스트림은 복수의 독립적으로 코딩된 시점을 포함하는, 상기 수신 유닛;
제1 비디오 비트스트림으로부터 제2 비디오 비트스트림을 생성하는 생성 유닛으로서, 상기 제2 비디오 비트스트림은 복수의 독립적으로 코딩된 시점들 중 하나를 포함하는, 상기 생성 유닛; 및
상기 제1 비디오 비트스트림 및 제2 비디오 비트스트림을 저장하는 저장 유닛.
상기 비디오 서버는 제2 비디오 비트스트림을 클라이언트에 전송하는 전송 유닛을 더 포함할 수 있다.
또 다른 면으로, 상기 비디오 서버는 다음과 같은 특징을 더 포함할 수 있다:
상기 생성 유닛은 제1 비디오 비트스트림으로부터 제3 비디오 비트스트림을 더 생성하며, 상기 제3 비디오 비트스트림은 복수의 독립적으로 코딩된 시점들 중 다른 하나를 포함하고;
상기 저장 유닛은 제3 비디오 비트스트림을 메모리에 저장한다.
본 발명 및 그 장점이 자세히 설명되었다 하더라도, 다양한 변화, 치환 및 대체는 첨부된 청구항에 의해 정해지는 본 발명의 범위 및 사상을 벗어나지 않고 일어날 수 있다. 예를 들어, 상술된 많은 특징 및 기능은 소프트웨어, 하드웨어, 또는 펌웨어, 또는 그 조합으로 구현될 수 있다.
게다가, 본 발명의 범위는 상세한 설명에 설명된 과정, 기계, 제조, 물질의 구성, 수단, 방법, 및 단계의 특정 실시예에 한정되지 않는다. 당업자는 본 발명, 과정, 기계, 제조, 물질의 구성, 수단, 방법, 또는 단계의 개시로부터, 현존하거나 추후 개발되던 간에, 여기에 설명된 실시예와 실질적으로 동일한 기능을 수행하거나 실질적으로 동일한 결과를 얻을 수 있는 것을 본 발명에 따라 활용할 수 있다. 따라서, 첨부된 청구항은 그러한 과정, 기계, 제조, 물질의 구성, 수단, 방법, 또는 과정을 그 범위 내에서 포함하도록 작성되었다.
100: 비디오 배포 시스템 102: 서버
104: 클라이언트 106, 108: 커넥션
112: 프로세서 114: 메모리
115: 네트워크 인터페이스 110: 인터넷
120: 제1 비트스트림 122: 제2 비트스트림

Claims (31)

  1. 비디오 파일을 처리하는 방법에 있어서,
    비디오 파일을 저장하는 단계로서, 상기 비디오 파일은 제1 포맷의 제1 비트스트림 및 제2 포맷의 제2 비트스트림을 포함하고, 상기 제1 비트스트림은 복수의 독립적으로 코딩된 비디오 컴포넌트들을 포함하며, 상기 제2 비트스트림은 상기 복수의 독립적으로 코딩된 비디오 컴포넌트들 중 하나를 포함하는, 상기 비디오 파일저장 단계;
    상기 복수의 독립적으로 코딩된 비디오 컴포넌트들 중 상기 하나를 선택하는 단계; 및
    상기 제2 비트스트림을 저장하는 트랙을 식별하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제2 비트스트림을 클라이언트에 전송하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 복수의 독립적으로 코딩된 비디오 컴포넌트들 각각은 독립적으로 코딩된 시점 또는 독립적으로 코딩된 계층(layer)을 포함하는, 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 제1 포맷은 H.264/AVC 비디오 코딩 표준의 Annex H에서 정의된 프로파일에 따른 다시점 비디오 코딩(Multiview Video Coding; MVC) 포맷을 포함하고, 상기 제2 포맷은 H.264/AVC 비디오 코딩 표준의 Annex A에서 정의된 프로파일에 따른 어드밴스드 비디오 코딩(Advanced Video Coding; AVC) 포맷을 포함하거나, 또는
    상기 제1 포맷은 H.264/AVC 비디오 코딩 표준의 Annex G에서 정의된 프로파일에 따른 스케일러블 비디오 코딩(Scalable Video Coding; SVC) 포맷을 포함하고, 상기 제2 포맷은 H.264/AVC 비디오 코딩 표준의 Annex A에서 정의된 프로파일에 따른 AVC 포맷을 포함하는, 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 비디오 파일은 MVC 포맷 또는 SVC 포맷에 따라 저장되는, 방법.
  8. 삭제
  9. 제1항에 있어서,
    상기 제2 비트스트림을 저장하는 트랙을 식별하는 단계는,
    상기 비디오 파일로부터 얻은 정보를 사용하는 단계를 포함하며,
    상기 정보는 상기 제2 비트스트림을 저장하는 상기 트랙을 지시하는 것인, 방법.
  10. 제9항에 있어서,
    상기 제2 비트스트림을 저장하는 상기 트랙을 지시하는 상기 정보는 상기 제2 비트스트림을 저장하는 상기 트랙의 정보를 포함하는 박스(box) 또는 상기 제2 비트스트림을 저장하는 상기 트랙의 정보를 지시하는 트랙 참조 기호를 포함하는, 방법.
  11. 삭제
  12. 복수의 독립적으로 코딩된 시점들을 포함하는 제1 비디오 비트스트림을 수신하는 단계;
    상기 제1 비디오비트스트림을 저장하는 단계;
    상기 제1 비디오 비트스트림으로부터 상기 복수의 독립적으로 코딩된 시점들 중 하나를 포함하는 제2 비디오 비트스트림을 생성하는 단계; 및
    제2 비디오 비트스트림을 저장하는 단계
    를 포함하는 비디오 서버 구동 방법.
  13. 제12항에 있어서,
    상기 제2 비디오 비트스트림을 클라이언트에 전송하는 단계를 더 포함하는 비디오 서버 구동 방법.
  14. 제13항에 있어서,
    상기 클라이언트로부터 상기 복수의 비디오 비트스트림 중 상기 하나에 대한 요구를 수신하는 단계를 더 포함하며,
    상기 전송 단계는 상기 요구의 수신에 응답하여 실행되는, 비디오 서버 구동 방법.
  15. 제12항에 있어서,
    상기 제2 비디오 비트스트림은 상기 제1 비디오 비트스트림과 다른 포맷으로 코딩되며;
    상기 제1 비디오 비트스트림은 MVC 포맷으로 인코딩되고, 상기 제2 비디오 비트스트림은 SVC 포맷으로 인코딩되는, 비디오 서버 구동 방법.
  16. 삭제
  17. 제15항에 있어서,
    복수의 독립적으로 코딩된 시점들은 A-view 및 적어도 하나의 다른 독립적으로 코딩된 시점을 포함하며;
    상기 제2 비디오 비트스트림 내의 상기 복수의 독립적으로 코딩된 시점들 중 상기 하나는 상기 적어도 하나의 다른 독립적으로 코딩된 시점을 포함하는, 비디오 서버 구동 방법.
  18. 제12항에 있어서,
    상기 제1 비디오 비트스트림으로부터 상기 복수의 독립적으로 코딩된 시점들 중 다른 하나를 포함하는 제3 비디오 비트스트림을 생성하는 단계; 및
    상기 제3 비디오 비트스트림을 메모리에 저장하는 단계
    를 더 포함하는 비디오 서버 구동 방법.
  19. 제12항에 있어서,
    상기 제2 비디오 비트스트림은 상기 제1 비디오 비트스트림과 동일한 파일에 저장되는, 비디오 서버 구동 방법.
  20. 비디오 파일을 저장하는 저장 유닛으로서, 상기 비디오 파일은 제1 포맷의 제1 비트스트림 및 제2 포맷의 제2 비트스트림을 포함하고, 상기 제1 비트스트림은 복수의 독립적으로 코딩된 비디오 컴포넌트들을 포함하며, 상기 제2 비트스트림은 상기 복수의 독립적으로 코딩된 비디오 컴포넌트들 중 하나를 포함하는, 상기 저장 유닛;
    상기 복수의 독립적으로 코딩된 비디오 컴포넌트들 중 상기 하나를 선택하는 선택 유닛; 및
    상기 제2 비트스트림을 저장하는 트랙을 식별하는 식별 유닛
    을 포함하는 비디오 파일 처리 장치.
  21. 제20항에 있어서,
    상기 제2 비트스트림을 클라이언트에 전송하는 전송 유닛을 더 포함하는 비디오 파일 처리 장치.
  22. 제20항에 있어서,
    상기 식별 유닛은 상기 비디오 파일로부터 얻은 정보를 사용하고,
    상기 정보는 상기 제2 비트스트림을 저장하는 트랙을 지시하는 것인, 비디오 파일 처리 장치.
  23. 복수의 독립적으로 코딩된 시점들을 포함하는 제1 비디오 비트스트림을 수신하는 수신 유닛;
    상기 제1 비디오 비트스트림으로부터 상기 복수의 독립적으로 코딩된 시점들 중 하나를 포함하는 제2 비디오 비트스트림을 생성하는 생성 유닛; 및
    상기 제1 비디오 비트스트림 및 상기 제1 비디오 비트스트림을 저정하는 저장 유닛
    을 포함하는 비디오 서버.
  24. 제23항에 있어서,
    상기 제2 비디오 비트스트림을 클라이언트에 전송하는 전송유닛을 더 포함하는, 비디오 서버.
  25. 제23항에 있어서,
    상기 생성 유닛은 또한 제1 비디오 비트스트림으로부터 상기 복수의 독립적으로 코딩된 시점들 중 다른 하나를 포함하는 제3 비디오 비트스트림을 생성하고,
    상기 저장 유닛은 또한 상기 제3 비디오 비트스트림을 저장하는, 비디오 서버.
  26. 메모리; 및
    프로세서를 포함하며,
    상기 프로세서는,
    독립적으로 코딩된 제1 시점 및 독립적으로 코딩된 제2 시점을 포함하는 제1 비디오 비트스트림을 수신하고,
    상기 제1 비디오 비트스트림을 상기 메모리에 저장하며,
    상기 제1 비디오 비트스트림으로부터 상기 제2 시점을 포함하는 제2 비디오 비트스트림을 생성하며,
    상기 제2 비디오 비트스트림을 상기 메모리에 저장하는,
    비디오 서버.
  27. 제26항에 있어서,
    상기 비디오 서버는 상기 제2 비디오 비트스트림을 전송하는, 비디오 서버.
  28. 제27항에 있어서,
    상기 비디오 서버는 상기 제2 비디오 비트스트림에 대한 요청에 응답하여 상기 제2 비디오 비트스트림을 클라이언트에 전송하는, 비디오 서버.
  29. 제26항에 있어서,
    상기 제2 비디오 비트스트림은 상기 제1 비디오 비트스트림과 다른 포맷으로 코딩되는, 비디오 서버.
  30. 제29항에 있어서,
    상기 제1 비디오 비트스트림은 MVC 포맷으로 인코딩되고, 상기 제2 비디오 비트스트림은 SVC 포맷으로 인코딩되는, 비디오 서버.
  31. 제30항에 있어서,
    상기 제1 시점은 A-view를 포함하고, 상기 제2 시점은 B-view를 포함하는, 비디오 서버.
KR1020117022136A 2009-04-14 2010-04-14 비디오 파일 처리 시스템 및 방법 KR101265990B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16924709P 2009-04-14 2009-04-14
US61/169,247 2009-04-14
US12/754,896 2010-04-06
US12/754,896 US8948247B2 (en) 2009-04-14 2010-04-06 System and method for processing video files
PCT/CN2010/071764 WO2010118686A1 (en) 2009-04-14 2010-04-14 System and method for processing video files

Publications (2)

Publication Number Publication Date
KR20110118174A KR20110118174A (ko) 2011-10-28
KR101265990B1 true KR101265990B1 (ko) 2013-05-22

Family

ID=42934092

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117022136A KR101265990B1 (ko) 2009-04-14 2010-04-14 비디오 파일 처리 시스템 및 방법

Country Status (6)

Country Link
US (1) US8948247B2 (ko)
EP (1) EP2420065A1 (ko)
JP (1) JP5289618B2 (ko)
KR (1) KR101265990B1 (ko)
CN (2) CN103856778A (ko)
WO (1) WO2010118686A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8948247B2 (en) 2009-04-14 2015-02-03 Futurewei Technologies, Inc. System and method for processing video files
US8982183B2 (en) * 2009-04-17 2015-03-17 Lg Electronics Inc. Method and apparatus for processing a multiview video signal
KR20120055488A (ko) * 2010-11-23 2012-05-31 삼성전자주식회사 멀티미디어 시스템에서 다계층 영상을 위한 미디어 파일 생성 방법 및 장치와 이를 이용한 미디어 파일 재생 장치
KR101928910B1 (ko) 2011-08-30 2018-12-14 쏘닉 아이피, 아이엔씨. 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
KR20130037194A (ko) * 2011-10-05 2013-04-15 한국전자통신연구원 비디오 부호화/복호화 방법 및 그 장치
US20140003799A1 (en) * 2012-06-30 2014-01-02 Divx, Llc Systems and methods for decoding a video sequence encoded using predictions that include references to frames in reference segments from different video sequences
US10452715B2 (en) 2012-06-30 2019-10-22 Divx, Llc Systems and methods for compressing geotagged video
GB2534136A (en) 2015-01-12 2016-07-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007024275A1 (en) 2005-08-23 2007-03-01 Sony Ericsson Mobile Communications Ab Systems and methods for distributing and/or playing multicasted video signals in multiple display formats

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2950223B2 (ja) 1996-01-12 1999-09-20 日本電気株式会社 データ読出装置
US6765568B2 (en) * 2000-06-12 2004-07-20 Vrex, Inc. Electronic stereoscopic media delivery system
JP3603225B2 (ja) 2001-02-06 2004-12-22 関西ティー・エル・オー株式会社 画像配信装置及びプログラム
JP2003346183A (ja) 2002-05-28 2003-12-05 Canon Inc 3dコンテンツサービスシステム
KR100556826B1 (ko) 2003-04-17 2006-03-10 한국전자통신연구원 Mpeg-4 기반의 양안식 3차원 동영상을 서비스하기 위한 인터넷 방송 시스템 및 그 방법
US7650036B2 (en) 2003-10-16 2010-01-19 Sharp Laboratories Of America, Inc. System and method for three-dimensional video coding
US7336837B2 (en) 2005-01-11 2008-02-26 Nokia Corporation Method and system for coding/decoding of a video bit stream for fine granularity scalability
US20060233247A1 (en) 2005-04-13 2006-10-19 Visharam Mohammed Z Storing SVC streams in the AVC file format
US20070122045A1 (en) 2005-11-29 2007-05-31 Jiun-Yuan Wu System for scaling a picture unit from a first video resolution format to a second video resolution format
JP4964459B2 (ja) 2005-12-07 2012-06-27 シャープ株式会社 情報処理装置、テレビ、プログラム及び情報処理方法
KR100747598B1 (ko) * 2005-12-09 2007-08-08 한국전자통신연구원 디지털방송 기반의 3차원 입체영상 송수신 시스템 및 그방법
CN101627634B (zh) * 2006-10-16 2014-01-01 诺基亚公司 用于将可并行解码片用于多视点视频编码的系统和方法
WO2008084424A1 (en) 2007-01-08 2008-07-17 Nokia Corporation System and method for providing and using predetermined signaling of interoperability points for transcoded media streams
WO2008156318A2 (en) 2007-06-19 2008-12-24 Electronics And Telecommunications Research Institute Metadata structure for storing and playing stereoscopic data, and method for storing stereoscopic content file using this metadata
US8471893B2 (en) * 2007-06-26 2013-06-25 Samsung Electronics Co., Ltd. Method and apparatus for generating stereoscopic image bitstream using block interleaved method
KR100973657B1 (ko) * 2007-11-01 2010-08-02 경희대학교 산학협력단 디블록킹 필터링을 포함하는 코덱 사이의 트랜스코딩 방법 및 장치
US8121191B1 (en) * 2007-11-13 2012-02-21 Harmonic Inc. AVC to SVC transcoder
US20090163185A1 (en) * 2007-12-24 2009-06-25 Samsung Electronics Co., Ltd. Method and system for creating, receiving and playing multiview images, and related mobile communication device
EP2605244B1 (en) * 2008-09-17 2015-11-04 Panasonic Intellectual Property Management Co., Ltd. Recording medium and playback device
JP4957823B2 (ja) 2009-04-08 2012-06-20 ソニー株式会社 再生装置および再生方法
US20100259595A1 (en) * 2009-04-10 2010-10-14 Nokia Corporation Methods and Apparatuses for Efficient Streaming of Free View Point Video
KR101632076B1 (ko) 2009-04-13 2016-06-21 삼성전자주식회사 우선순위에 따른 스테레오스코픽 영상 데이터의 전송 장치 및 방법
US8948247B2 (en) 2009-04-14 2015-02-03 Futurewei Technologies, Inc. System and method for processing video files
US8719309B2 (en) 2009-04-14 2014-05-06 Apple Inc. Method and apparatus for media data transmission

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007024275A1 (en) 2005-08-23 2007-03-01 Sony Ericsson Mobile Communications Ab Systems and methods for distributing and/or playing multicasted video signals in multiple display formats

Also Published As

Publication number Publication date
CN102224733B (zh) 2014-03-12
CN103856778A (zh) 2014-06-11
JP2012523781A (ja) 2012-10-04
KR20110118174A (ko) 2011-10-28
EP2420065A4 (en) 2012-02-22
US20100259690A1 (en) 2010-10-14
JP5289618B2 (ja) 2013-09-11
CN102224733A (zh) 2011-10-19
US8948247B2 (en) 2015-02-03
EP2420065A1 (en) 2012-02-22
WO2010118686A1 (en) 2010-10-21

Similar Documents

Publication Publication Date Title
KR101265990B1 (ko) 비디오 파일 처리 시스템 및 방법
KR102037009B1 (ko) 동작 포인트 디스크립터가 동적으로 설정될 수 있는 캡슐화된 비트-스트림으로부터 미디어 데이터 및 메타데이터를 획득하는 방법, 디바이스, 및 컴퓨터 프로그램
KR100934006B1 (ko) 2차원 및 3차원 양안식 비디오신호의 적응변환 장치 및 그방법
EP2735166B1 (en) Transmission of reconstruction data in a tiered signal quality hierarchy
US11438600B2 (en) Immersive media metrics for virtual reality content with multiple viewpoints
WO2010073513A1 (ja) 画像符号化装置、画像符号化方法およびそのプログラム、ならびに画像復号装置、画像復号方法およびそのプログラム
JP7028398B2 (ja) デジタルビデオをコード化およびデコードするための方法、ならびに関係するコード化およびデコードデバイス
US20120269267A1 (en) Method and apparatus for unified scalable video encoding for multi-view video and method and apparatus for unified scalable video decoding for multi-view video
JP2014197848A (ja) メディア・コンテナ・ファイル管理
JP4821846B2 (ja) 画像符号化装置、画像符号化方法およびそのプログラム
JP2009529825A (ja) 均一な画質を提供する多視点映像符号化及び復号化方法及び装置
CN114342402A (zh) 信息处理装置、信息处理方法、再现处理装置和再现处理方法
US20150264384A1 (en) Method and apparatus for coding video stream according to inter-layer prediction of multi-view video, and method and apparatus for decoding video stream according to inter-layer prediction of multi view video
JP2010157826A (ja) 画像復号装置、画像符復号方法およびそのプログラム
CN108476346B (zh) 信息处理装置和信息处理方法
KR101386651B1 (ko) 다시점 비디오 인코딩 및 디코딩 방법 및 이를 이용한 인코딩 및 디코딩 장치
JP2012175626A (ja) 配信映像の超解像化装置および超解像映像再生装置
JP2010157821A (ja) 画像符号化装置、画像符号化方法およびそのプログラム
WO2007007923A1 (en) Apparatus for encoding and decoding multi-view image
JP2010157823A (ja) 画像符号化装置、画像符号化方法およびそのプログラム
JP5171270B2 (ja) 動画像の多重化方法及び装置,並びにそのプログラムとコンピュータ読み取り可能な記録媒体
Liu et al. 3D video transcoding for virtual views
JP2015033071A (ja) 階層化動画像伝送システム及び動画像復号装置
JP2010157824A (ja) 画像符号化装置、画像符号化方法およびそのプログラム
Coelho Low Cost Transcoder

Legal Events

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

Payment date: 20160418

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170421

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180418

Year of fee payment: 6