KR100596705B1 - 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템 - Google Patents

비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템 Download PDF

Info

Publication number
KR100596705B1
KR100596705B1 KR1020040028487A KR20040028487A KR100596705B1 KR 100596705 B1 KR100596705 B1 KR 100596705B1 KR 1020040028487 A KR1020040028487 A KR 1020040028487A KR 20040028487 A KR20040028487 A KR 20040028487A KR 100596705 B1 KR100596705 B1 KR 100596705B1
Authority
KR
South Korea
Prior art keywords
frames
resolution
video coding
coded
video
Prior art date
Application number
KR1020040028487A
Other languages
English (en)
Other versions
KR20050089721A (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 JP2007501706A priority Critical patent/JP2007525924A/ja
Priority to EP05726745A priority patent/EP1721465A4/en
Priority to CA2557312A priority patent/CA2557312C/en
Priority to PCT/KR2005/000520 priority patent/WO2005086487A1/en
Priority to US11/071,198 priority patent/US20050195900A1/en
Publication of KR20050089721A publication Critical patent/KR20050089721A/ko
Application granted granted Critical
Publication of KR100596705B1 publication Critical patent/KR100596705B1/ko

Links

Images

Classifications

    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05CBOLTS OR FASTENING DEVICES FOR WINGS, SPECIALLY FOR DOORS OR WINDOWS
    • E05C3/00Fastening devices with bolts moving pivotally or rotatively
    • E05C3/12Fastening devices with bolts moving pivotally or rotatively with latching action
    • E05C3/14Fastening devices with bolts moving pivotally or rotatively with latching action with operating handle or equivalent member rigid with the latch
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05CBOLTS OR FASTENING DEVICES FOR WINGS, SPECIALLY FOR DOORS OR WINDOWS
    • E05C19/00Other devices specially designed for securing wings, e.g. with suction cups
    • E05C19/08Hasps; Hasp fastenings; Spring catches therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/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
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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/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/23439Processing 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 for generating different versions
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05YINDEXING SCHEME ASSOCIATED WITH SUBCLASSES E05D AND E05F, RELATING TO CONSTRUCTION ELEMENTS, ELECTRIC CONTROL, POWER SUPPLY, POWER SIGNAL OR TRANSMISSION, USER INTERFACES, MOUNTING OR COUPLING, DETAILS, ACCESSORIES, AUXILIARY OPERATIONS NOT OTHERWISE PROVIDED FOR, APPLICATION THEREOF
    • E05Y2201/00Constructional elements; Accessories therefor
    • E05Y2201/40Motors; Magnets; Springs; Weights; Accessories therefor
    • E05Y2201/47Springs
    • E05Y2201/48Leaf or leg springs
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05YINDEXING SCHEME ASSOCIATED WITH SUBCLASSES E05D AND E05F, RELATING TO CONSTRUCTION ELEMENTS, ELECTRIC CONTROL, POWER SUPPLY, POWER SIGNAL OR TRANSMISSION, USER INTERFACES, MOUNTING OR COUPLING, DETAILS, ACCESSORIES, AUXILIARY OPERATIONS NOT OTHERWISE PROVIDED FOR, APPLICATION THEREOF
    • E05Y2900/00Application of doors, windows, wings or fittings thereof
    • E05Y2900/10Application of doors, windows, wings or fittings thereof for buildings or parts thereof
    • E05Y2900/13Type of wing
    • E05Y2900/148Windows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 비디오 스트리밍 서비스를 위한 비디오 코딩 및 디코딩 방법과 이를 시스템에 관한 것이다.
비디오 코딩방법은 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계와, 상기 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하는 단계, 및 상기 변환된 프레임들을 참조하여 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계를 포함한다.
시뮬캐스트 코딩, 다중 계층 코딩, 스케일러블

Description

비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템{Method and system for video coding for video streaming service, and method and system for video decoding}
도 1은 다양한 해상도의 비디오 스트리밍을 위한 종전의 코딩방식들을 보여주는 도면이다.
도 2는 다중 계층 코딩방식에서 향상 계층 프레임 코딩에서의 참조관계를 보여주는 도면이다.
도 3은 본 발명의 실시예에 따른 비디오 스트리밍을 위한 코딩방식들을 설명하는 도면이다.
도 4는 본 발명의 다른 실시예에 따른 비디오 스트리밍을 위한 코딩방식들을 설명하는 도면이다.
도 5는 본 발명의 또 다른 실시예에 따른 비디오 스트리밍을 위한 코딩방식들을 설명하는 도면이다.
도 6은 본 발명의 일 실시예에 따른 인터 프레임 코딩에서의 참조관계를 보여주는 도면이다.
도 7은 본 발명의 다른 실시예에 따른 인터 프레임 코딩에서의 참조관계를 보여주는 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른 인터 프레임 코딩에서의 참조관계를 보여주는 도면이다.
도 9는 본 발명의 또 다른 실시예에 따른 인터 프레임 코딩에서의 참조관계를 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 따른 인트라 프레임 공유관계를 보여주는 도면이다.
도 11은 본 발명의 다른 실시예에 따른 인트라 프레임 공유관계를 보여주는 도면이다.
도 12는 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 보여주는 블록도이다.
도 13은 본 발명의 일 실시예에 따른 비디오 디코더의 구성을 보여주는 블록도이다.
도 14는 인트라 프레임 공유에서 부드러운 향상 계층의 부드러운 인트라 프레임을 생성하고 공유된 인트라 프레임을 디코딩하는 과정을 설명하기 위한 도면이다.
본 발명은 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 이를 위한 비디오 인코딩 시스템 및 코딩된 비디오를 복원하는 비디오 디코딩 방법과 이를 위한 비디오 디코딩 시스템에 관한 것이다.
인터넷 기술의 급격한 발달과 더불어 다양한 서비스가 새로 생겨나고 있다. 인터넷의 발달과 더불어 생긴 서비스 중의 하나가 주문형 비디오(Video On Demand; 이하, VOD라 함) 서비스이다. VOD 서비스는 서비스 이용자의 요구에 따라 영화나 뉴스 등의 영상 기반 서비스를 전화선이나 케이블 또는 인터넷을 통해 제공하는 새로운 개념의 서비스 사업을 말한다. VOD 서비스를 통해 서비스 이용자는 영화관에 가지 않고도 집에서 영화를 감상할 수 있고, 또 학원이나 학교에 가지 않고도 동영상 강의를 통해 다양한 지식을 습득할 수 있다.
VOD와 같은 비디오 스트리밍 서비스는 네트워크 상태나 디코더의 성능에 따라 다양한 해상도, 프레임 레이트 또는 화질을 제공할 필요가 있다. 종전에도 이와 다양한 해상도, 프레임 레이트 또는 화질에 따른 비디오 스트리밍 서비스가 있었는데, 도 1은 이러한 서비스를 위한 코딩방식들을 보여준다.
(a)는 시뮬캐스트 코딩(simulcast coding) 방식의 경우를 보여주고 있고, (b)는 다중 계층 코딩(multi-layer coding) 방식의 경우를 보여주고 있으며, (c)는 스케일러블 비디오 코딩(scalable video coding) 방식의 경우를 보여주고 있다.
시뮬캐스트 코딩 방식의 경우에는 원하는 해상도, 프레임 레이트 또는 화질마다 별도로 코딩된 비트스트림을 가지고 있어야 한다. 예를 들면, 3개의 해상도를 갖는 비트스트리밍 서비스를 하려고 하면, 별도로 코딩된 3개의 비트스트림을 필요로 한다. 즉, 705X576 해상도(제1 해상도)와 60Hz의 프레임 레이트를 갖는 비디오와, 352X288 해상도(제2 해상도)와 30Hz의 프레임 레이트를 갖는 비디오, 및 176X155 해상도(제3 해상도)와 15Hz의 프레임 레이트를 갖는 비디오를 별도로 코딩하여 비트스트림을 생성한다. 6Mbps의 대역폭이 보장되는 네트워크에서 제1 해상도의 비트스트림을 스트리밍 서비스에 이용하고, 750kbps의 대역폭이 보장되는 네트워크에서 제2 해상도의 비트스트림을 스트리밍 서비스에 이용하며, 64kbps의 대역폭이 보장되는 네트워크에서 제3 해상도의 비트스트림을 스트리밍 서비스에 이용한다. 시뮬캐스트 코딩 방식을 이용하는 경우에는 각 해상도별로 별도의 코딩을 거쳐 해상도마다 비트스트림을 생성한다. 각 해상도의 비디오는 서로 강한 연관성을 가지고 있는데, 다중 계층 코딩 방식이 이러한 연관성을 이용한 비디오 코딩 방식중의 하나이다.
다중 코딩 방식은 MPEG-2에서 스케일러블 비디오 코딩을 위하여 도입된 것으로서, (a)의 시뮬캐스트 코딩 방식과는 달리 가장 낮은 해상도의 기초 계층(base layer)의 비디오를 참조하여 기초 계층보다 높은 해상도의 향상 계층(enhacement layer)의 비디오를 코딩한다. 즉, 도 1에 도시된 바와 같이 176X155 해상도를 갖는 기초 비디오를 코딩하고, 기초 비디오를 참조하여 352X288 해상도를 갖는 제1 향상 계층 비디오를 코딩하고, 제1 향상 계층 비디오를 참조하여 705X576 해상도를 갖는 제2 향상 계층 비디오를 코딩한다.
사용자로부터 705X576 해상도를 요청받으면 스트리밍 서비스 제공자는 제2 향상 계층에서 코딩된 비디오뿐만 아니라 제1 향상 계층 및 기초 계층에서 코딩된 비디오들도 함께 사용자에게 전송한다. 사용자는 기초 계층의 비디오를 재구성하고, 재구성된 기초 계층의 비디오를 참조하여 제1 향상 계층의 비디오를 재구성하 고, 재구성된 제1 향상 계층의 비디오를 참조하여 705X576 해상도를 갖는 제2 향상 계층의 비디오를 재구성한다.
사용자로부터 352X288 해상도의 비디오를 요청받으면 스트리밍 서비스 제공자는 제1 향상 계층 및 기초 계층에서 코딩된 비디오들을 사용자에게 전송한다. 사용자는 기초 계층의 비디오를 재구성하고, 재구성된 기초 계층의 비디오를 참조하여 352X288 해상도를 갖는 제1 향상 계층의 비디오를 재구성한다. 사용자로부터 176X155 해상도의 비디오를 요청받으면 스트리밍 서비스 제공자는 기초 계층의 코딩된 비디오를 사용자에게 전송한다. 사용자는 기초 계층의 비디오를 재구성한다.
이러한 시뮬캐스트 코딩방식 또는 다중 계층 코딩방식의 비디오 코딩의 예는 국제특허출원 PCT/US2000/09584에 개시되어 있는데, 동출원에서는 시뮬캐스트 코딩방식 또는 다중 계층 코딩방식을 선택적으로 사용하여 비디오 코딩 효율을 높이는 방법이 제공된다. 동출원에서는 시뮬캐스트 코딩방식 또는 다중 계층 코딩방식을 이용하여 스케일러블 비디오 코딩을 하지만, 기본 코딩 알고리즘으로 이산코사인변환(DCT)에 기반한 MPEG-4를 이용하므로 스케일러빌리티가 충분하지 못한 특성을 갖는다. 즉, n개의 해상도를 갖는 비디오 스트리밍 서비스를 위해서는 n개의 비디오 코딩을 하던가, 계층 수가 n인 비디오 코딩을 해야 한다. 이에 반해 웨이브렛변환에 기반한 스케일러블 비디오 코딩방식은 하나의 비트스트림으로 다양한 해상도와 프레임 레이트 및 화질을 갖는 비디오 코딩을 할 수 있다.
스케일러블 비디오 코딩은 MPEG-21에서 표준화가 논의 중에 있는데, 스케일러블 비디오 코딩에 의해 생성된 하나의 비트스트림으로부터 다양한 해상도와 프레 임 레이트 및 화질을 갖는 비디오를 재구성할 수 있다. 도 1의 (c)에 도시된 바와 같이 하나의 비트스트림으로부터 여러 해상도와 프레임 레이트를 갖는 비디오를 재구성할 수 있는 특성을 갖는다.
스케일러블 비트스트림에서 해상도가 다른 비디오를 재구성하는 특성을 의미하는 스케일러빌리티는 웨이브렛 변환을 통해 얻을 수 있고, 스케일러빌 비트스트림에서 프레임 레이트가 다른 비디오를 재구성하는 특성을 의미하는 시간적 스케일러빌리티는 움직임보상시간적필터링(MCTF)이나 비한정 움직임보상 시간적 필터링(UMCTF) 또는 STAR(successive temporal approximation and referencing)와 같은 방식을 통해 얻을 수 있으며, 신호대잡음비(Signal to Noise Ration) 스케일러빌리티는 임베디드 양자화를 통해 얻을 수 있다.
스케일러블 비디오 코딩방식은 생성된 하나의 비트스트림으로부터 다양한 해상도와 프레임 레이트를 갖는 비디오 스트리밍 서비스를 할 수 있게 하는 특성을 갖지만, 원래 스케일러블 비트스트림의 해상도와 다른 해상도의 비디오를 재구성할 때 화질이 떨어지는 특성을 갖는다. 즉, 현재 알려진 스케일러블 비디오 코딩 알고리즘의 경우에 모든 해상도에서 화질이 좋은 비트스트림을 제공하지는 못하고 있다. 예를 들면, 가장 높은 해상도의 비디오를 재구성하는 경우에는 좋은 화질을 얻을 수 있으나, 낮은 해상도의 비디오를 재구성하는 경우에는 만족할만한 화질을 얻지 못하게 된다. 낮은 해상도의 화질을 높이기 위해 많은 비트를 할당하여 비디오 코딩을 수행할 수 있으나 이 경우에 비디오 코딩 효율이 저하된다.
이러한 배경에서 비디오 스트리밍 서비스를 위하여 화질과 비디오 코딩의 효 율간의 적절한 타협을 통해 만족할만한 화질과 비디오 코딩 효율을 갖는 비디오 코딩 방안이 필요하다.
본 발명은 다양한 화질의 비디오 스트리밍 서비스를 할 수 있게 하며, 좋은 코딩 효율을 갖는 비디오 코딩방법과 이를 위한 비디오 인코딩 시스템을 제공하는 것을 목적으로 한다.
본 발명은 상기 방식으로 코딩된 비디오를 디코딩하여 재구성하는 디코딩 방법과 이를 위한 비디오 디코딩 시스템을 제공하는 것을 그 다른 목적으로 한다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 코딩방법은 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계와, 상기 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하는 단계, 및 상기 변환된 프레임들을 참조하여 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 비디오 코딩방법은 제1 해상도의 프레임들을 스케일러블하지 않은 비디오 코딩방식으로 비디오 코딩하는 단계와, 상기 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하는 단계, 및 상기 변환된 프레임들을 참조하여 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 또 다른 실시예에 따른 비디오 코 딩방법은 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계와, 제1 해상도보다 낮은 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계, 및 상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 인터 프레임들을 포함하여 비트스트림을 생성하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 또 다른 실시예에 따른 비디오 코딩방법은 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계와, 제1 해상도보다 낮은 제2 해상도의 프레임들을 스케일러블하지 않은 비디오 코딩방식으로 비디오 코딩하는 단계, 및 상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 인터 프레임들을 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 인코딩 시스템은 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 제1 스케일러블 비디오 인코더와, 상기 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하고, 상기 변환된 프레임들을 참조하여 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 제2 스케일러블 비디오 인코더, 및 상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 프레임들을 포함한 비트스트림을 생성하는 비트스트림 생성모듈을 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 비디오 인코딩 시스템은 제1 해상도의 프레임들을 스케일러블하지 않은 비디오 코딩방식으로 비디오 코딩하는 제1 스케일러블 비디오 인코더와, 상기 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하고, 상기 변환된 프레임들을 참조하여 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 제2 스케일러블 비디오 인코더, 및 상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 프레임들을 포함한 비트스트림을 생성하는 비트스트림 생성모듈을 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 또 다른 실시예에 따른 비디오 인코딩 시스템은 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 제1 스케일러블 비디오 인코더와, 제1 해상도보다 낮은 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 제2 스케일러블 비디오 인코더, 및 상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 인터 프레임들을 포함하여 비트스트림을 생성하는 비트스트림 생성모듈을 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 또 다른 실시예에 따른 비디오 인코딩 시스템은 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 스케일러블 비디오 인코더와, 제1 해상도보다 낮은 제2 해상도의 프레임들을 스케일러블하지 않은 비디오 코딩방식으로 비디오 코딩하는 비스케일러블 비디오 인코더, 및 상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 인터 프레임들을 포함하여 비트스트림을 생성하는 비트스트림 생성 모듈을 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 디코딩 방법은 스케일러블 비디오 코딩방식으로 코딩된 제1 해상도 프레임들을 디코딩하여 프레임들을 재구성하는 단계와, 상기 재구성된 제1 해상도 프레임들을 제2 해상도 의 프레임들로 변환하는 단계, 및 스케일러블 비디오 코딩방식으로 코딩된 제2 해상도 프레임들을 상기 변환된 프레임들을 참조하여 디코딩하여 프레임들을 재구성하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 비디오 디코딩 방법은 스케일러블하지 않은 비디오 코딩방식으로 코딩된 제1 해상도 프레임들을 디코딩하여 프레임들을 재구성하는 단계와, 상기 재구성된 제1 해상도 프레임들을 제2 해상도의 프레임들로 변환하는 단계, 및 스케일러블 비디오 코딩방식으로 코딩된 제2 해상도 프레임들을 상기 변환된 프레임들을 참조하여 디코딩하여 프레임들을 재구성하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 또 다른 실시예에 따른 비디오 디코딩 방법은 스케일러블 비디오 코딩방식으로 비디오 코딩된 제1 해상도 프레임들을 디코딩하여 프레임들을 재구성하는 단계와, 상기 재구성된 프레임들 중 일부 프레임들의 해상도를 낮춰 제2 해상도의 인트라 프레임들을 생성하는 단계, 및 스케일러블 비디오 코딩방식으로 코딩된 제2 해상도 인터 프레임들을 상기 생성된 인트라 프레임들을 참조하여 디코딩하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 또 다른 실시예에 따른 비디오 디코딩 방법은 스케일러블 비디오 코딩방식으로 비디오 코딩된 제1 해상도 프레임들을 디코딩하여 프레임들을 재구성하는 단계와, 상기 재구성된 프레임들 중 일부 프레임들의 해상도를 낮춰 제2 해상도의 인트라 프레임들을 생성하는 단계, 및 스케일러블하지 않은 비디오 코딩방식으로 코딩된 제2 해상도 인터 프레임들을 상기 생 성된 인트라 프레임들을 참조하여 디코딩하는 단계를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비디오 디코딩 시스템은 스케일러블 비디오 코딩방식으로 코딩된 제1 해상도 프레임들을 디코딩하여 프레임들을 재구성하는 제1 스케일러블 비디오 디코더와, 상기 재구성된 제1 해상도 프레임들을 제2 해상도의 프레임들로 변환하고, 스케일러블 비디오 코딩방식으로 코딩된 제2 해상도 프레임들을 상기 변환된 프레임들을 참조하여 디코딩하여 프레임들을 재구성하는 제2 스케일러블 비디오 디코더를 포함한다.
상기 목적을 달성하기 위하여, 본 발명의 다른 실시예에 따른 비디오 디코딩 시스템은 스케일러블하지 않은 비디오 코딩방식으로 코딩된 제1 해상도 프레임들을 디코딩하여 프레임들을 재구성하는 비스케일러블 비디오 디코더와, 상기 재구성된 제1 해상도 프레임들을 제2 해상도의 프레임들로 변환하고, 스케일러블 비디오 코딩방식으로 코딩된 제2 해상도 프레임들을 상기 변환된 프레임들을 참조하여 디코딩하여 프레임들을 재구성하는 스케일러블 비디오 디코더를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 2는 다중 계층 코딩방식에서 향상 계층 프레임 코딩에서의 참조관계를 보여주는 도면이다.
향상 계층의 현재 프레임(프레임 N)을 인터 코딩(inter-coding)할 때 참조하는 프레임은 향상 계층의 이전 프레임(프레임 N-1) 또는 다음 프레임(프레임 N+1)이 될 수 있다. 이전 프레임을 참조하는 것을 역방향 예측(backward prediction)이라고 하고, 다음 프레임을 참조하는 것을 순방향 예측(forward prediction)이라 고 한다. 한편, 이전 프레임의 어느 블록과 이후 프레임의 어느 블록을 평균한 블록을 참조할 수 있는데 이를 양방향 예측(bi-directional prediction)이라고 한다. 다중 계층 코딩에서 향상 계층 프레임을 코딩할 때 기초 계층 프레임을 참조할 수 있는데, 기초 계층 프레임을 참조하는 것을 계층간 예측(inter-layer prediction)이라고 한다.
계층간 예측은 기초 계층의 현재 프레임을 참조하여 향상 계층의 현재 프레임을 코딩하는데, 참조 프레임은 기초 계층의 현재 프레임을 업샘플링 혹은 다운샘플링하여 향상 계층과 해상도를 동일하게 한 프레임이다. 예를 들면, 도 2에 도시된 바와 같이 기초 계층의 해상도가 향상 계층의 해상도보다 낮은 경우에 기초 계층의 프레임은 업샘플링되고, 업샘플링된 프레임을 참조하여 향상 계층의 현재 프레임을 인터코딩한다. 기초 계층의 해상도가 향상 계층의 해상도보다 높은 경우에 기초 계층의 프레임은 다운샘플링되고, 다운샘플링된 프레임을 참조하여 향상 계층의 현재 프레임을 인터코딩할 수 있다.
향상 계층의 프레임을 인터코딩할 때 앞서 살펴본 순방향 예측, 역방향 예측, 양방향 예측, 및 계층간 예측 중 어느 하나만을 선택하여 프레임의 모든 블록들을 코딩할 수도 있지만, 프레임의 블록별로 다른 예측을 사용하여 코딩할 수도 있다. 한편, 예측 방식으로 가중치가 포함된 양방향 예측이나 인트라 블록 예측 등이 사용될 수도 있다. 예측 방식은 예측 방식에 따른 코딩된 데이터량과 예측에 사용된 움직임 벡터의 데이터량 등을 포함한 코스트를 기준으로 선택할 수 있으며, 이 밖에 연산의 복잡도 등이 고려될 수도 있다.
향상 계층의 프레임은 기초 계층을 참조하여 계층간 예측을 통해 코딩될 수도 있지만, 다른 향상 계층의 프레임을 참조하여 계층간 예측을 통해 코딩될 수도 있다. 예를 들면 기초 계층의 프레임을 참조하여 제1 향상 계층의 프레임을 코딩할 수 있고, 제1 향상 계층의 프레임을 참조하여 제2 향상 계층의 프레임을 코딩할 수 있다. 한편, 계층간 예측 방식으로 코딩하더라도 향상 계층의 모든 프레임이 다른 계층(기초 계층 또는 참조되는 다른 향상 계층)의 프레임을 참조할 수도 있지만, 일부 프레임만 참조할 수도 있다. 특히 참조되는 계층의 프레임 레이트가 현재 코딩되는 향상 계층의 프레임 레이트보다 적은 경우에는 향상 계층의 일부 프레임은 프레임간 예측이 아닌 다른 예측방식으로 코딩된다.
본 발명의 실시예들에서는 다양한 해상도 및 프레임 레이트를 시뮬캐스트 코딩방식 또는 다중 계층 코딩방식을 사용하여 달성하는데, 전부 또는 일부 계층을 스케일러블 비디오 코딩방식을 사용하므로써 보다 다양한 해상도 및 프레임 레이트를 갖는 비디오 스트리밍 서비스를 할 수 있도록 한다.
도 3 내지 도 5는 본 발명의 실시예들에 따른 비디오 스트리밍을 위한 코딩방식들을 설명하는 도면이다. 실시예들은 3개 혹은 4개의 계층을 갖는 것으로 설명하고 있으나 이는 예시적인 것으로서, 2개의 계층 또는 5개 이상의 계층을 갖는 실시예들도 본 발명의 기술적 사상에 포함되는 것으로 해석해야 한다. 제1 실시예 내지 제10 실시예에서 아래층은 낮은 해상도의 계층을 의미하고 윗층은 높은 해상도의 계층을 의미한다. 점선으로 된 화살표는 계층간 참조를 의미하고, 실선으로 된 화살표는 어떤 계층의 코딩된 비디오로부터 얻을 수 있는 해상도, 프레임 레이 트 또는 전송율을 달리하는 비디오를 의미한다.
제1 실시예는 3개의 계층을 갖는 다중 계층 비디오 코딩방식의 예를 보여준다. 제1 실시예에서 모든 계층의 비디오는 스케일러블 비디오 코딩방식으로 코딩된다. 즉, 기초 계층의 비디오를 스케일러블 비디오 코딩방식으로 코딩하고, 제1 향상 계층의 비디오를 기초 계층의 프레임들을 참조하여 스케일러블 비디오 코딩방식으로 코딩하며, 제2 향상 계층의 비디오를 제1 향상 계층의 프레임들을 참조하여 스케일러블 비디오 코딩방식으로 코딩한다.
사용자로부터 705X576 해상도를 요청받으면 스트리밍 서비스 제공자는 제2 향상 계층에서 코딩된 비디오뿐만 아니라 제1 향상 계층 및 기초 계층에서 코딩된 비디오들도 함께 사용자에게 전송한다. 사용자로부터 요청받은 프레임 레이트가 60Hz인 경우에는 제2 향상 계층과 제1 향상 계층 및 기초 계층의 코딩된 모든 프레임들을 전송하지만, 요청받은 프레임 레이트가 30Hz 또는 15Hz일 경우에는 코딩된 프레임들 중에서 필요한 부분만 잘라서 사용자에게 전송한다. 사용자는 전송받은 코딩된 프레임들을 이용하여 기초 계층의 비디오를 재구성하고, 재구성된 기초 계층의 비디오를 참조하여 제1 향상 계층의 비디오를 재구성하고, 재구성된 제1 향상 계층의 비디오를 참조하여 705X576 해상도를 갖는 제2 향상 계층의 비디오를 재구성한다.
사용자로부터 352X288 해상도의 비디오를 요청받으면 스트리밍 서비스 제공자는 제1 향상 계층 및 기초 계층에서 코딩된 비디오들을 사용자에게 전송한다. 사용자로부터 요청받은 프레임 레이트가 30Hz인 경우에는 제1 향상 계층 및 기초 계 층의 코딩된 모든 프레임들을 전송하지만, 요청받은 프레임 레이트가 15Hz일 경우에는 코딩된 프레임들 중에서 필요한 부분만 잘라서 사용자에게 전송한다. 사용자는 기초 계층의 비디오를 재구성하고, 재구성된 기초 계층의 비디오를 참조하여 352X288 해상도를 갖는 제1 향상 계층의 비디오를 재구성한다.
사용자로부터 176X155 해상도의 비디오를 요청받으면 스트리밍 서비스 제공자는 기초 계층의 코딩된 비디오를 사용자에게 전송한다. 사용자가 128kbps의 비트스트림 전송을 선택하면 코딩된 프레임들을 그대로 사용자에게 전송하지만, 64kbps의 비트스트림 전송을 선택하면 코딩된 프레임들로부터 일부 비트들을 제거하여 사용자에게 전송한다. 사용자는 기초 계층의 비디오를 재구성한다.
제2 실시예는 어느 한 계층을 스케일러블하지 않은 코딩방식으로 코딩한 예를 보여준다.
H.264 혹은 MPEG-4의 경우에도 도 1의 방식에 따라 제한적인 공간적 스케일러빌리티를 갖는 비디오 코딩을 할 수 있고, 국제특허출원 PCT/US2000/09584에 개시된 바와같이 제한적인 시간적 스케일러빌리티를 갖는 비디오 코딩을 할 수도 있다. 그러나 H.264 혹은 MPEG-4에서는 제한적인 스케일러빌리티를 제공하며 공간적, 시간적, 및 SNR 스케일러빌리티를 충분하게 제공하지 못한다. 따라서 본 발명의 실시예들에서는 웨이브렛 기반의 스케일러블 비디오 코딩방식을 기본 알고리즘으로 사용한다. 그러나 현재까지 알려진 스케일러블 코딩방식은 공간적 스케일러빌리티와 시간적 스케일러빌리티 및 SNR 스케일리러빌리티 특성을 모두 갖고 있으나 코딩 효율에 있어서 H.264 혹은 MPEG-4보다 떨어진다. 따라서, 제2 실시예와 같이 코딩 효율을 높이기 위해 일부 계층을 스케일러블하지 않은 H.264 또는 MPEG-4 방식으로 코딩할 수도 있다.
도 2의 실시예는 가장 낮은 해상도의 기초 계층을 H.264 또는 MPEG-4과 같은 비스케일러블 코딩방식을 사용하여 코딩한 경우이다. 스케일러블하지 않은 계층은 제1 향상 계층이나 제2 향상 계층이 될 수도 있지만 가장 낮은 기초 계층으로 한 이유는 가장 낮은 해상도의 경우에 스케일러블한 성질을 갖지 않아도 되기 때문이다. 즉, 본 실시예는 전송 속도가 64kbps(가장 낮은 전송속도)인 비디오는 코딩효율이 높은 예를 들면 H.264 또는 MPEG-4로 코딩한다.
제3 실시예는 향상 계층이 참조하는 계층이 바로 아래 계층이 아닌 더 낮은 계층인 경우를 보여준다. 본 실시예에서 제2 향상 계층에서 비디오 코딩을 할 때 제1 향상 계층을 참조하지 않고 기초 계층을 참조한다. 제1 실시예와의 차이점을 생각하면 제2 향상 계층의 비디오를 코딩할 때 해상도의 차이가 큰 기초 계층을 참조하기 때문에 제3 실시예의 코딩 효율은 제1 실시예보다 낮아질 수 있다. 그렇지만 디코딩과정에서 직접 기초 계층을 참조하여 제2 향상 계층의 비디오를 재구성하므로 기초 계층에서 제1 향상 계층을 재구성하고 제1 향상 계층에서 제2 향상 계층의 비디오를 재구성하는 제1 실시예의 경우보다 화질이 좋아질 수 있다.
제4 실시예는 복수의 기초 계층을 갖는 다중 계층 비디오 코딩방식의 예를 보여준다. 계층의 갯수가 많은 경우에 제1 실시예의 경우에는 코딩 효율이 떨어질 수 있다. 따라서 제4 실시예에서는 계층의 개수에 따라 적당한 지점에 다른 계층을 참조하지 않는 기초 계층을 둔다.
제5 실시예는 각 해상도에서 스케일러블 비디오 코딩방식만을 사용한 시뮬캐스트 비디오 코딩방식의 예를 보여준다. 다중 계층 비디오 코딩방식이 효율적일 수 있으나 경우에 따라서는 다중 계층 비디오 코딩방식보다 시뮬캐스트 방식이 더 효율적일 수 있다. 시뮬캐스트 방식이 더 효율적인 경우에는 도 4에 도시된 바와 같이 일부 해상도에서 또는 전체 해상도에서 스케일러블 비디오 코딩을 한다. 한편, 코딩 효율을 높이기 위하여 일부 해상도, 예를 들면 가장 낮은 해상도에서는 제 6 실시예와 같이 스케일러블하지 않은 H.264 또는 MPEG-4 방식으로 비디오 코딩을 한다.
제7 실시예는 최저 해상도가 아닌 계층을 기초 계층으로 갖는 다중 계층 비디오 코딩방식의 예를 보여준다. 중간 해상도인 기초 계층으로 최고 해상도의 제2 향상 계층과 최저 해상도의 제1 향상 계층의 비디오를 코딩한다. 제2 향상 계층에서 비디오 코딩할 때는 기초 계층의 프레임을 업샘플링하여 참조하지만 제1 향상 계층에서 비디오 코딩할 때는 기초 계층의 프레임을 다운샘플링하여 참조한다.
제8 실시예는 최고 해상도 계층을 기초 계층으로 다중 계층 비디오 코딩방식의 예를 보여준다. 본 실시예에서 기초 계층의 비디오를 참조하여 제1 향상 계층의 비디오를 코딩하고 제1 향상 계층의 비디오를 참조하여 제2 향상 계층의 비디오를 코딩한다. 제1 향상 계층의 비디오를 코딩할 때 참조하는 프레임은 기초 계층의 프레임들을 다운샘플링한 프레임이다. 한편, 코딩 효율을 높이기 위하여 일부 계층을 스케일러블하지 않은 비디오 코딩방식으로 코딩할 수 있는데 제9 실시예는 이러한 실시예들 중 하나이다.
제10 실시예는 제4 실시예와 마찬가지로 복수의 기초 계층을 갖는 다중 계층 비디오 코딩방식의 예를 보여준다. 제10 실시예에서는 제4 실시예에서와 달리 높은 해상도 계층을 참조하여 낮은 해상도 계층의 비디오를 코딩한다.
도 6은 본 발명의 일 실시예에 따른 인터 프레임 코딩에서의 참조관계를 보여주는 도면이다. 점선으로된 화살표는 계층간 참조를 의미하고 실선으로된 화살표는 동일 계층에서의 참조를 의미한다.
본 실시예에서 낮은 해상도의 비디오(610)를 먼저 코딩한다. 코딩 순서는 시간적 스케일러빌리티를 고려하여 코딩한다. 즉, 도시된 바와 같이 GOP(Group Of Picture) 사이즈가 4인 경우에는 GOP의 첫번 째 프레임을 인트라 프레임(I 프레임)으로 코딩하고, GOP의 세번 째 프레임을 인터 프레임(H 프레임)으로 코딩한다. 그리고 나서 첫번 째 프레임과 세번 째 프레임을 참조하여 두번 째 프레임을 코딩하고, 세번 째 프레임을 참조하여 네번 째 프레임을 코딩한다. 디코딩 과정은 코딩과정과 동일한 순서로 된다. 즉, 1, 3, 2, 4 순서로 디코딩한다. 1번, 3번, 2번, 및 4번 프레임이 모두 디코딩되면 1번, 2번, 3번, 및 4번 프레임 순서로 출력할 수 있다.
한편, 높은 해상도의 비디오(620)는 낮은 해상도의 비디오(610)를 참조하여 낮은 해상도의 비디오와 동일한 순서로 코딩한다. 즉, 1, 3, 2, 4 순서로 코딩한다. 높은 해상도의 비디오를 디코딩하려면 코딩된 높은 해상도의 프레임들과 낮은 해상도의 프레임들을 필요로 한다. 먼저, 낮은 해상도의 1번 프레임을 디코딩하고 이를 참조하여 높은 해상도의 1번 프레임을 디코딩한다. 그리고 나서 낮은 해상도 의 3번 프레임을 디코딩하고 이를 참조하여 높은 해상도의 3번 프레임을 디코딩한다. 마찬가지 방식으로 낮은 해상도의 2번 프레임과 높은 해상도의 2번 프레임을 디코딩하고, 낮은 해상도의 4번 프레임과 높은 해상도의 4번 프레임을 디코딩한다. 한편, 프레임 레이트가 1/2인 높은 해상도의 비디오를 재구성하려면 낮은 해상도의 1번 프레임을 디코딩하고 이를 참조하여 높은 해상도의 1번 프레임을 디코딩한 후, 낮은 해상도의 3번 프레임을 디코딩하고 이를 참조하여 높은 해상도의 3번 프레임을 디코딩한다. 그리고 나서 다음 GOP의 프레임을 디코딩한다. 본 실시예는 이와 같은 방식으로 시간적 스케일러빌리티 특성을 가질 수 있다. GOP 사이즈가 8인 경우에는 1, 5, 3, 7, 2, 4, 6, 8 순서로 코딩하고 디코딩한다. 만일 1, 5번 프레임에서 코딩 또는 디코딩을 멈춘 경우에는 프레임 레이트가 1/4이 되고 1, 5, 3, 7번 프레임에서 코딩 또는 디코딩을 멈춘 경우에는 프레임 레이트가 1/2이 된다.
도 7은 본 발명의 다른 실시예에 따른 인터 프레임 코딩에서의 참조관계를 보여주는 도면이다.
도 6의 실시예는 낮은 해상도의 비디오(610)에서 다른 프레임을 참조하지 않는 프레임(I 프레임)을 참조하여 다른 프레임들(2 내지 4번 프레임들)을 코딩하여 화질이 좋지만 높은 해상도의 비디오(620)는 2 내지 4번 프레임들은 모두 다른 프레임을 참조하는 프레임(H 프레임)을 참조하여 코딩되므로 화질이 시뮬캐스트 코딩방식에 비해 좀 떨어지는 경향이 있다. 따라서, 이를 도 7의 실시예는 계층간 참조를 도 6의 실시예와 달리한다.
본 실시예에서 높은 해상도의 비디오(720)를 먼저 코딩한다. 코딩 순서는 시간적 스케일러빌리티를 고려하여 코딩한다. 즉, 도시된 바와 같이 GOP(Group Of Picture) 사이즈가 4인 경우에는 GOP의 첫번 째 프레임을 인트라 프레임(I 프레임)으로 코딩하고, GOP의 세번 째 프레임을 인터 프레임(H 프레임)으로 코딩한다. 그리고 나서 첫번 째 프레임과 세번 째 프레임을 참조하여 두번 째 프레임을 코딩하고, 세번 째 프레임을 참조하여 네번 째 프레임을 코딩한다. 디코딩 과정은 코딩과정과 동일한 순서로 된다. 즉, 1, 3, 2, 4 순서로 디코딩한다. 1번, 3번, 2번, 및 4번 프레임이 모두 디코딩되면 1번, 2번, 3번, 및 4번 프레임 순서로 출력할 수 있다.
한편, 낮은 해상도의 비디오(710)는 높은 해상도의 비디오(720)를 참조하여 높은 해상도의 비디오와 동일한 순서로 코딩한다. 즉, 1, 3, 2, 4 순서로 코딩한다. 낮은 해상도의 비디오를 디코딩하려면 코딩된 높은 해상도의 프레임들과 낮은 해상도의 프레임들을 필요로 한다. 먼저, 높은 해상도의 1번 프레임을 디코딩하고 이를 참조하여 낮은 해상도의 1번 프레임을 디코딩한다. 그리고 나서 높은 해상도의 3번 프레임을 디코딩하고 이를 참조하여 낮은 해상도의 3번 프레임을 디코딩한다. 마찬가지 방식으로 높은 해상도의 2번 프레임과 낮은 해상도의 2번 프레임을 디코딩하고, 높은 해상도의 4번 프레임과 낮은 해상도의 4번 프레임을 디코딩한다.
도 8과 도 9는 계층간 프레임 레이트가 다른 경우의 실시예를 보여준다. 인터 프레임 코딩에서의 참조관계를 보여주는 도면이다.
도 8의 실시예에서 낮은 해상도의 비디오(810)를 먼저 코딩한다. 코딩 순서는 시간적 스케일러빌리티를 고려하여 코딩한다. 즉, 도시된 바와 같이 GOP(Group Of Picture) 사이즈가 4인 경우에는 GOP의 첫번 째 프레임을 인트라 프레임(I 프레임)으로 코딩하고, GOP의 다섯번 째 프레임을 인터 프레임(H 프레임)으로 코딩한다. 그리고 나서 첫번 째 프레임과 다섯번 째 프레임을 참조하여 세번 째 프레임을 코딩한다. 이런 방식으로 1, 5, 3, 7 순서로 한 GOP의 프레임을 모두 코딩한다. 디코딩 과정은 코딩과정과 동일한 순서로 된다.
한편, 높은 해상도의 비디오(820)는 낮은 해상도의 비디오(810)를 참조하여 낮은 해상도의 비디오와 동일한 순서로 코딩한다. 즉, 1, 5, 3, 7 순서로 코딩한다. 그리고 나서 낮은 해상도의 비디오(810)에 없는 프레임들(2, 4, 6, 8)을 코딩한다.
도 9의 실시예에서 높은 해상도의 비디오(920)를 먼저 코딩한다. 코딩 순서는 시간적 스케일러빌리티를 고려하여 코딩한다. 즉, 도시된 바와 같이 GOP(Group Of Picture) 사이즈가 8인 경우에는 1, 5, 3, 7, 2, 4, 6, 8 순서로 한 GOP의 프레임을 모두 코딩한다. 디코딩 과정은 코딩과정과 동일한 순서로 된다.
낮은 해상도의 비디오(910)는 높은 해상도의 비디오(920)를 참조하여 높은 해상도의 비디오와 동일한 순서로 코딩한다. 즉, 1, 5, 3, 7 순서로 코딩한다.
도 6 내지 도 10의 실시예들은 모두 두 계층간의 참조 관계를 보여주는 실시예로서 3개 이상의 계층을 갖는 다중 계층 비디오 코딩을 할 경우에도 확장되어 적용될 수 있다.
높은 해상도의 프레임을 참조하여 낮은 해상도의 프레임을 코딩하는 다중 계층 비디오 코딩방식으로 비디오 스트리밍 서비스를 할 경우에 낮은 해상도의 비트 스트림을 전송할 때 효율이 낮을 수 있다. 즉, 낮은 해상도의 비트스트림에는 낮은 해상도의 코딩된 비디오 정보뿐만 아니라 높은 해상도의 코딩된 정보도 포함되어 있기 때문이다. 이러한 경우에는 다중 계층 비디오 코딩보다 시뮬캐스트 비디오 코딩방식이 더 효율적일 수 있다. 도 10과 도 11은 시뮬캐스트 비디오 코딩방식에서 코딩 효율을 높이기 위한 실시예를 보여준다.
도 10의 실시예는 인트라 프레임 공유관계를 보여주고 있다.
본 실시예는 시뮬 캐스트 방식과 마찬가지로 해상도가 다른 비디오(1010, 1020)를 별도로 코딩한다. 높은 해상도의 비디오(1020)를 시간적 스케일러빌리티를 갖는 순서, 예를 들면 1, 3, 2, 4 순서로 코딩하고, 낮은 해상도의 비디오(1010) 또한 시간적 스케일러빌리티를 갖는 순서로 비디오 코딩한다. 코딩된 높은 해상도의 비디오와 낮은 해상도의 비디오에는 각 GOP마다 하나의 인트라 프레임(I 프레임)과 하나 이상의 인터 프레임(H 프레임)이 포함된다. 대개의 경우에 인트라 프레임은 인터 프레임보다 많은 비트를 할당해야 한다. 실제로 높은 해상도의 비디오(1020)와 낮은 해상도의 비디오(1010)는 동일한 비디오 시퀀스에 해상도만 달리한 것이므로 유사한 부분이 많다. 따라서 본 실시예에서는 낮은 해상도의 인트라 프레임을 포함하지 않고 비디오 코딩한다. 즉, 최종적으로 생성된 비트스트림에는 높은 해상도의 코딩된 모든 프레임들과 낮은 해상도의 코딩된 인터 프레임들이 포함된다.
디코더에서 높은 해상도의 비디오(1020)를 요청하면 낮은 해상도의 코딩된 인터 프레임들을 제거한 후에 디코더로 비트스트림을 전송한다. 디코더에서 낮은 해상도의 비디오(1010)를 요청하면 높은 해상도의 코딩된 인터 프레임들을 제거하고, 낮은 해상도와 공유된 높은 해상도의 인트라 프레임(1022, 1024)에서 불필요한 부분을 제거하여 낮은 해상도의 인트라 프레임(1012, 1014)를 만든 후, 디코더로 비트스트림을 전송한다.
도 11은 본 발명의 다른 실시예에 따른 인트라 프레임 공유관계를 보여주는 도면이다.
도 11의 실시예에서는 도 10의 실시예와 마찬가지로 인트라 프레임 공유를 한다. 즉, 낮은 해상도의 비디오 스트리밍을 할 때는 높은 해상도의 인트라 프레임(1122)으로 낮은 해상도의 인트라 프레임(1112)을 만든다. 한편, 도 10의 실시예와는 달리 높은 해상도의 인트라 프레임(1124)은 낮은 해상도와 공유하지 않고 낮은 해상도의 프레임(1114)는 그대로 인터 프레임을 사용한다. 즉, 프레임 레이트가 다른 경우에 GOP의 경계를 일치시키지 않고 GOP 사이즈를 일치시키므로써 낮은 레이트에서 인트라 프레임의 비율이 높은 프레임 레이트보다 높아지는 것을 방지한다.
도 12는 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 보여주는 블록도이다. 본 실시예에서는 해상도가 다른 두 개의 계층을 갖는다. 그러나 이는 예시적인 것으로서 n개의 해상도가 다른 계층의 비디오 인코더도 본 발명의 범위에 포함되는 것으로 해석해야 한다.
비디오 인코더 시스템(1200)는 기초 계층 비디오를 코딩하는 제1 스케일러블 인코더(1210)와 향상 계층 비디오를 코딩하는 제2 스케일러블 인코더(1220) 및 제1 스케일러블 인코더(1210)와 제2 스케일러블 인코더(1220)의 코딩된 비디오로 비트스트림을 생성하는 비트스트림 생성 모듈(1230)을 포함한다.
제1 스케일러블 비디오 인코더(1210)는 기초 계층 비디오를 입력받아 스케일러블 비디오 코딩하며, 이를 위해 움직임 예측 모듈(1212)과 변환 모듈(1214) 및 양자화 모듈(1216)을 포함한다.
움직임 예측 모듈(1212)는 기초 계층 비디오를 구성하는 각 프레임간의 시간적 중복을 제거하는데, 움직임 예측 모듈(1212)는 참조 프레임과 현재 코딩되는 프레임 사이의 움직임을 예측하여 잔여 프레임(residual frame)을 얻는다. 움직임을 예측하여 시간적 중복을 제거하는 알고리즘으로는 UMCTF, STAR 등이 있다. 움직임을 예측할 때 도 3 내지 도 11을 통해 설명한 실시예들 중에서 코딩효율과 화질을 고려하여 선택한다.
잔여 프레임은 변환 모듈(1214)을 통해 웨이브렛 변환된다. 웨이브렛 변환은 잔여 프레임을 4등분하고, 잔여 프레임의 이미지와 거의 유사한 1/4 면적을 갖는 축소된 이미지(L 서브밴드)를 상기 프레임의 한쪽 사분면에 대체하고 나머지 3개의 사분면에는 L 이미지를 통해 잔여 프레임의 이미지를 복원할 수 있도록 하는 이미지(H 서브밴드)들로 대체한다. 마찬가지 방식으로 L 서브밴드는 자신의 1/4 면적을 갖는 LL 서브밴드와 L 이미지를 복원하기 위한 이미지들로 대체될 수 있다.
양자화 모듈(1216)은 웨이브렛 변환을 통해 얻은 변환 계수들을 양자화한다. 양자화 알고리즘은 EZW(Embedded Zerotrees Wavelet Algorithm), SPIHT(Set Partitioning in Hierarchical Trees), EZBC(Embedded Zero Block Coding), EBCOT(Embedded Block Coding with Optimal Truncation) 등이 있다.
제2 스케일러블 비디오 인코더(1220)는 향상 계층 비디오를 입력받아 스케일러블 비디오 코딩하며, 이를 위해 움직임 예측 모듈(1222)과 변환 모듈(1224) 및 양자화 모듈(1226)을 포함한다.
움직임 예측 모듈(1222)는 향상 계층 비디오를 구성하는 각 프레임간의 시간적 중복을 제거하는데, 움직임 예측 모듈(1222)는 향상 계층의 참조 프레임 및 기초 계층의 참조 프레임과 현재 코딩되는 프레임 사이의 움직임을 예측하여 잔여 프레임(residual frame)을 얻는다. 움직임을 예측하여 시간적 중복을 제거하는 알고리즘으로는 UMCTF, STAR 등이 있다.
잔여 프레임은 변환 모듈(1224)을 통해 웨이브렛 변환된다. 웨이브렛 변환은 잔여 프레임을 4등분하고, 잔여 프레임의 이미지와 거의 유사한 1/4 면적을 갖는 축소된 이미지(L 서브밴드)를 상기 프레임의 한쪽 사분면에 대체하고 나머지 3개의 사분면에는 L 이미지를 통해 잔여 프레임의 이미지를 복원할 수 있도록 하는 이미지(H 서브밴드)들로 대체한다. 마찬가지 방식으로 L 서브밴드는 자신의 1/4 면적을 갖는 LL 서브밴드와 L 이미지를 복원하기 위한 이미지들로 대체될 수 있다.
양자화 모듈(1226)은 웨이브렛 변환을 통해 얻은 변환 계수들을 양자화한다. 양자화 알고리즘은 EZW(Embedded Zerotrees Wavelet Algorithm), SPIHT(Set Partitioning in Hierarchical Trees), EZBC(Embedded Zero Block Coding), EBCOT(Embedded Block Coding with Optimal Truncation) 등이 있다.
제1 스케일러블 비디오 인코더(1210)과 제2 스케일러블 비디오 인코더(1220) 를 통해 코딩된 기초 계층 프레임들 및 향상 계층 프레임들은 비트스트림 생성 모듈(1230)에서 적당한 헤더 정보를 포함하여 비트스트림을 생성한다.
한편, 본 발명의 다른 실시예에서는 서로 다른 해상도의 비디오를 코딩하는 복수의 비디오 인코더들를 포함하며, 상기 비디오 인코더들 중에서 일부는 스케일러블하지 않은(non-scalable) 비디오 코딩방식, 예를 들면 H.264나 MPEG-4 방식으로 비디오 코딩한다.
생성된 비트스트림은 프리디코더(1240)를 통해 프리 디코딩되어 디코더(미 도시됨)로 전송된다.
프리디코더(1240)는 비디오 스트리밍 서비스의 형태들에 따라 각기 다른 곳에 위치할 수 있다. 일 실시예에 있어서, 프리디코더(1240)는 비디오 스트리밍 비디오 인코더 시스템(1200)에 존재한다. 이 경우에 비디오 인코더(1240)는 비트스트림 생성 모듈(1230)에서 생성된 비트스트림 전체가 아닌 프리디코딩된 비트스트림만을 디코더에 전송한다. 다른 실시예에 있어서, 프리디코더(1240)는 비디오 인코더 시스템(1200)과는 별도로 존재한다. 프리디코더(1240)는 비디오 스트리밍 서비스를 제공하는 스트리밍 서비스 제공자에게 존재하며, 스트리밍 서비스 제공자는 콘텐츠 제공자가 코딩한 비트스트림을 프리디코딩하여 디코더에 전송한다. 또 다른 실시예에 있어서, 프리디코더(1240)는 디코더 내에 존재한다. 디코더 내에 존재하는 프리디코더는 비트스트림에서 불필요한 부분을 잘라내어 필요한 해상도와 프레임 레이트를 갖는 비디오를 재구성할 수 있도록 한다.
앞서 설명한 비디오 인코더 시스템(1200) 및 후술할 비디오 디코더 시스템(1300)의 각 구성요소들은 기능성 모듈로서 이미 설명한 바와 같은 역할들을 수행한다. 이러한 기능성 모듈은 소프트웨어 또는 FPGA 또는 ASIC과 같은 하드웨어로 구현될 수 있다. 그렇지만 기능성 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 기능성 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 기능성 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 통신 시스템 내의 하나 또는 그 이상의 컴퓨터들을 실행시키도록 구현될 수도 있다.
도 13은 본 발명의 일 실시예에 따른 비디오 디코더의 구성을 보여주는 블록도이다. 본 실시예에서는 해상도가 다른 두 개의 계층을 갖는다. 그러나 이는 예시적인 것으로서 n개의 해상도가 다른 계층의 비디오 인코더도 본 발명의 범위에 포함되는 것으로 해석해야 한다.
비디오 디코더 시스템(1300)는 기초 계층 비디오를 디코딩하는 제1 스케일러블 디코더(1310)와 향상 계층 비디오를 코딩하는 제2 스케일러블 디코더(1320)를 포함한다. 제1 스케일러블 비디오 디코더(1310) 및 제2 스케일러블 비디오 디코더(1320)는 비트스트림 해석 모듈(1330)로부터 코딩된 비디오 정보를 받아 디코딩한다.
제1 스케일러블 비디오 디코더(1310)는 기초 계층의 코딩된 비디오 정보를 받아 스케일러블 비디오 디코딩하며, 이를 위해 역양자화 모듈(1312)과 역변환 모듈(1314) 및 움직임 보상 모듈(1316)을 포함한다.
역양자화 모듈(1312)은 코딩된 비디오 정보를 받아 역양자화하여 변환계수들을 얻는다. 역양자화 알고리즘은 EZW(Embedded Zerotrees Wavelet Algorithm), SPIHT(Set Partitioning in Hierarchical Trees), EZBC(Embedded Zero Block Coding), EBCOT(Embedded Block Coding with Optimal Truncation) 등이 있다.
역변환 모듈(1314)은 역변환한다. 인트라 코딩된 프레임의 경우에는 역변환을 통해 프레임을 재구성할 수 있으나, 인터 코딩된 프레임의 경우에는 역변환을 통해 잔여 프레임을 얻는다.
움직임 보상 모듈(1316)는 잔여 프레임을 입력받아 프레임을 재구성하는데, 이미 재구성된 프레임을 참조하여 잔여 프레임의 움직임을 보상한다. 움직임을 보상하는 알고리즘으로는 UMCTF, STAR 등이 있다.
제2 스케일러블 비디오 디코더(1320)는 향상 계층의 코딩된 비디오 정보를 받아 스케일러블 비디오 디코딩하며, 이를 위해 역양자화 모듈(1322)과 역변환 모듈(1324) 및 움직임 보상 모듈(1326)을 포함한다.
역양자화 모듈(1322)은 코딩된 비디오 정보를 받아 역양자화하여 변환계수들을 얻는다. 역양자화 알고리즘은 EZW(Embedded Zerotrees Wavelet Algorithm), SPIHT(Set Partitioning in Hierarchical Trees), EZBC(Embedded Zero Block Coding), EBCOT(Embedded Block Coding with Optimal Truncation) 등이 있다.
역변환 모듈(1324)은 역변환한다. 인트라 코딩된 프레임의 경우에는 역변환을 통해 프레임을 재구성할 수 있으나, 인터 코딩된 프레임의 경우에는 역변환을 통해 잔여 프레임을 얻는다.
움직임 보상 모듈(1326)는 잔여 프레임을 입력받아 프레임을 재구성하는데, 이미 기초 계층의 프레임과 향상 계층의 재구성된 프레임을 참조하여 잔여 프레임의 움직임을 보상한다. 움직임을 보상하는 알고리즘으로는 UMCTF, STAR 등이 있다.
도 14는 인트라 프레임 공유에서 부드러운 향상 계층의 부드러운 인트라 프레임을 생성하고 공유된 인트라 프레임을 디코딩하는 과정을 설명하기 위한 도면이다.
도면에서 D는 다운샘플링을 의미하고, U는 업샘플링을 의미한다. 아래 첨자중에서 W는 웨이브렛 방식을 의미하고, M은 MPEG 방식을 의미한다. F는 고해상도(기초 계층) 프레임을 의미하고, Fs는 저해상도(향상 계층) 프레임을 의미하고, FL은 고해상도 프레임의 저주파 서브밴드를 의미한다.
저해상도의 비트스트림을 생성하기 위하여 비디오를 구성하는 프레임들을 웨이브렛 방식으로 다운샘플링하고 다운샘플링된 프레임들을 업샘플링한 후 MPEG 방식으로 다운샘플링한다. 그리고 나서 MPEG 방식으로 다운샘플링된 저해상도의 비 디오를 스케일러블 비디오 코딩한다.
저해상도의 프레임 Fs(1420)가 인트라 프레임인 경우에 비트스트림에는 포함시키지 않는다. 저해상도의 프레임 Fs(1420)는 비트스트림에 포함된 고해상도의 인트라 프레임 F(1410)로부터 구할 수 있다. 고해상도의 인트라 프레임 프레임 F(1410)를 웨이브렛 방식으로 다운샘플링하고 다시 업샘플링하면 원래의 F와 거의 유사한 이미지가 된다. 이를 다시 MPEG 방식으로 다운샘플링하면 부드러운 저 해상도 인트라 프레임 Fs(820)를 얻을 수 있다. 한편 고해상도의 인트라 프레임 F(1410)는 웨이브렛 변환과 양자화를 거쳐 비트스트림에 포함된다. 비트스트림을 디코더에서 수신하기 전에 프리디코더에서 비트스트림의 일부 비트들이 잘려진다. 코딩된 F(1410)에서 고주파 서브밴드가 잘려지면 F의 저주파 서브밴드(FL)(1430)를 얻을 수 있다. F의 저주파 서브밴드 FL(1430)은 F(1410)를 웨이브렛 방식으로 다운샘플링한 것(DW(F))과 같다. 디코더측에서는 FL(1440)을 수신하고 이를 웨이브렛 방식으로 업샘플링하고 다시 MPEG 방식으로 다운샘플링하면 부드러운 인트라 프레임 Fs(1450)을 얻을 수 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구 의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명에 따르면 다양한 화질의 비디오 스트리밍 서비스를 할 수 있다.

Claims (37)

  1. 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계;
    상기 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하는 단계; 및
    상기 변환된 프레임들을 참조하여 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계를 포함하는 비디오 코딩방법.
  2. 제1항에 있어서,
    제1 해상도 및 제2 해상도 중 적어도 한 해상도의 프레임들을 상기 제1 해상도 및 제2 해상도와 다른 제3 내지 제n 해상도의 프레임들로 변환하는 단계와, 상기 제3 내지 제n 해상도의 프레임들로 변환된 프레임들을 참조하여 제3 내지 제n 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계를 더 포함하는 비디오 코딩방법.
  3. 제 1항에 있어서,
    상기 제1 해상도는 상기 제2 해상도보다 낮은 해상도이고, 상기 변환단계는 업샘플링인 비디오 코딩방법.
  4. 제1 해상도의 프레임들을 스케일러블하지 않은 비디오 코딩방식으로 비디오 코딩하는 단계;
    상기 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하는 단계; 및
    상기 변환된 프레임들을 참조하여 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계를 포함하는 비디오 코딩방법.
  5. 제4항에 있어서,
    상기 제1 해상도의 비디오 코딩방식은 H.264와 MPEG-4 중의 어느 한 방식인 비디오 코딩방법.
  6. 제 4항에 있어서,
    상기 제1 해상도는 상기 제2 해상도보다 낮은 해상도이고, 상기 변환단계는 업샘플링인 비디오 코딩방법
  7. 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계;
    제1 해상도보다 낮은 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계; 및
    상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 인터 프레임들을 포함하여 비트스트림을 생성하는 단계를 포함하는 비디오 코딩방법.
  8. 제7항에 있어서,
    상기 제2 해상도의 프레임들은 상기 제1 해상도의 프레임들을 웨이브렛 방식으로 다운샘플링하고, 다운샘플링된 프레임들을 웨이브렛 방식으로 업샘플링한 후, 업샘플링된 프레임들을 MPEG 방식으로 다운 샘플링한 프레임들인 비디오 코딩방법.
  9. 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 단계;
    제1 해상도보다 낮은 제2 해상도의 프레임들을 스케일러블하지 않은 비디오 코딩방식으로 비디오 코딩하는 단계; 및
    상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 인터 프레임들을 포함하여 비트스트림을 생성하는 단계를 포함하는 비디오 코딩방법.
  10. 제9항에 있어서,
    상기 제2 해상도의 비디오 코딩방식은 H.264와 MPEG-4 중의 어느 한 방식인 비디오 코딩방법.
  11. 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 제1 스케일러블 비디오 인코더;
    상기 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하고, 상기 변환된 프레임들을 참조하여 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으 로 비디오 코딩하는 제2 스케일러블 비디오 인코더; 및
    상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 프레임들을 포함한 비트스트림을 생성하는 비트스트림 생성모듈을 포함하는 비디오 인코딩 시스템.
  12. 제11항에 있어서,
    제1 해상도 및 제2 해상도와 다른 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 제3 내지 제n 스케일러블 비디오 인코더를 더 포함하며, 상기 제3 내지 제n 스케일러블 비디오 인코더는 제1 해상도 및 제2 해상도 중 적어도 한 해상도의 프레임들의 해상도를 변환하고, 상기 변환된 프레임들을 참조하여 상기 다른 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 비디오 인코딩 시스템.
  13. 제11항에 있어서,
    상기 제1 해상도는 상기 제2 해상도보다 낮은 해상도이고, 상기 해상도 변환은 업샘플링인 비디오 인코딩 시스템.
  14. 제1 해상도의 프레임들을 스케일러블하지 않은 비디오 코딩방식으로 비디오 코딩하는 제1 비디오 인코더;
    상기 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하고, 상기 변환된 프레임들을 참조하여 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 제2 비디오 인코더; 및
    상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 프레임들을 포함한 비트스트림을 생성하는 비트스트림 생성모듈을 포함하는 비디오 인코딩 시스템.
  15. 제14항에 있어서,
    상기 제1 해상도의 비디오 코딩방식은 H.264 방식인 비디오 인코딩 시스템.
  16. 제14항에 있어서,
    상기 제1 해상도의 비디오 코딩방식은 MPEG-4 방식인 비디오 인코딩 시스템.
  17. 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 제1 스케일러블 비디오 인코더;
    제1 해상도보다 낮은 제2 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 제2 스케일러블 비디오 인코더; 및
    상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 인터 프레임들을 포함하여 비트스트림을 생성하는 비트스트림 생성 모듈을 포함하는 비디오 인코딩 시스템.
  18. 제17항에 있어서,
    상기 제2 해상도의 프레임들은 상기 제1 해상도의 프레임들을 웨이브렛 방식으로 다운샘플링하고, 다운샘플링된 프레임들을 웨이브렛 방식으로 업샘플링한 후, 업샘플링된 프레임들을 MPEG 방식으로 다운 샘플링한 프레임들인 비디오 인코딩 시스템.
  19. 제1 해상도의 프레임들을 스케일러블 비디오 코딩방식으로 비디오 코딩하는 스케일러블 비디오 인코더;
    제1 해상도보다 낮은 제2 해상도의 프레임들을 스케일러블하지 않은 비디오 코딩방식으로 비디오 코딩하는 비스케일러블 비디오 인코더; 및
    상기 제1 해상도의 코딩된 프레임들과 상기 제2 해상도의 코딩된 인터 프레임들을 포함하여 비트스트림을 생성하는 비트스트림 생성모듈을 포함하는 비디오 인코딩 시스템
  20. 제19항에 있어서,
    상기 제2 해상도의 비디오 코딩방식은 H.264와 MPEG-4 중의 어느 한 방식인 비디오 인코딩 시스템.
  21. 스케일러블 비디오 코딩방식으로 코딩된 제1 해상도의 프레임들을 디코딩하여 프레임들을 재구성하는 단계;
    상기 재구성된 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하는 단계; 및
    스케일러블 비디오 코딩방식으로 코딩된 제2 해상도 프레임들을 상기 변환된 프레임들을 참조하여 디코딩하여 프레임들을 재구성하는 단계를 포함하는 비디오 디코딩방법.
  22. 스케일러블하지 않은 비디오 코딩방식으로 코딩된 제1 해상도의 프레임들을 디코딩하여 프레임들을 재구성하는 단계;
    상기 재구성된 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하는 단계; 및
    스케일러블 비디오 코딩방식으로 코딩된 제2 해상도 프레임들을 상기 변환된 프레임들을 참조하여 디코딩하여 프레임들을 재구성하는 단계를 포함하는 비디오 디코딩방법.
  23. 스케일러블 비디오 코딩방식으로 비디오 코딩된 제1 해상도의 프레임들을 디코딩하여 프레임들을 재구성하는 단계;
    상기 재구성된 프레임들 중 일부 프레임들의 해상도를 낮춰 제2 해상도의 인트라 프레임들을 생성하는 단계; 및
    스케일러블 비디오 코딩방식으로 코딩된 제2 해상도의 인터 프레임들을 상기 생성된 인트라 프레임들을 참조하여 디코딩하는 단계를 포함하는 비디오 디코딩방법.
  24. 스케일러블 비디오 코딩방식으로 비디오 코딩된 제1 해상도의 프레임들을 디코딩하여 프레임들을 재구성하는 단계;
    상기 재구성된 프레임들 중 일부 프레임들의 해상도를 낮춰 제2 해상도의 인트라 프레임들을 생성하는 단계; 및
    스케일러블하지 않은 비디오 코딩방식으로 코딩된 제2 해상도의 인터 프레임들을 상기 생성된 인트라 프레임들을 참조하여 디코딩하는 단계를 포함하는 비디오 디코딩방법.
  25. 스케일러블 비디오 코딩방식으로 코딩된 제1 해상도의 프레임들을 디코딩하여 프레임들을 재구성하는 제1 스케일러블 비디오 디코더;
    상기 재구성된 제1 해상도 프레임들을 제2 해상도의 프레임들로 변환하고, 스케일러블 비디오 코딩방식으로 코딩된 제2 해상도 프레임들을 상기 변환된 프레임들을 참조하여 디코딩하여 프레임들을 재구성하는 제2 스케일러블 비디오 디코더를 포함하는 비디오 디코딩 시스템.
  26. 스케일러블하지 않은 비디오 코딩방식으로 코딩된 제1 해상도의 프레임들을 디코딩하여 프레임들을 재구성하는 비스케일러블 비디오 디코더;
    상기 재구성된 제1 해상도의 프레임들을 제2 해상도의 프레임들로 변환하고, 스케일러블 비디오 코딩방식으로 코딩된 제2 해상도 프레임들을 상기 변환된 프레임들을 참조하여 디코딩하여 프레임들을 재구성하는 스케일러블 비디오 디코더를 포함하는 비디오 디코딩 시스템.
  27. 기초 계층 및 상기 기초 계층에 비하여 향상된 비디오 성능을 나타내도록 상기 기초 계층에 부가되는 적어도 하나 이상의 향상 계층으로 이루어지는 비트스트림을 디코딩하는 방법에 있어서,
    상기 비트스트림으로부터 기초 계층과 관련된 데이터를 추출하여 기초 계층의 이미지를 복원하는 단계;
    상기 적어도 하나 이상의 향상 계층과 관련된 데이터를 추출하는 단계; 및
    상기 추출된 향상 계층과 관련된 데이터를 이용하여 상기 기초 계층 이미지의 비트율을 향상시키는 단계를 포함하는 상기 방법.
  28. 제27항에 있어서,
    상기 기초 계층을 상기 적어도 하나 이상의 향상 계층 중 어떤 향상 계층이 의존하는지를 판단하는 단계를 더 포함하는 상기 방법.
  29. 기초 계층 및 상기 기초 계층에 비하여 향상된 비디오 성능을 나타내도록 상기 기초 계층에 부가되는 적어도 하나 이상의 향상 계층으로 이루어지는 비트스트림을 전송하는 방법에 있어서,
    상기 기초 계층과 관련된 데이터를 전송하는 단계;
    상기 기초 계층 및 상기 적어도 하나 이상의 향상 계층 간의 의존 관계를 나타내는 정보를 전송하는 단계; 및
    상기 향상 계층과 관련된 데이터를 전송하는 단계를 포함하는 상기 방법.
  30. 제29항에 있어서,
    상기 기초 계층은 스케일러블하지 않은 비디오 코딩 방식으로 코딩되고, 상기 향상 계층은 스케일러블한 비디오 코딩 방식으로 코딩된 것을 특징으로 하는 상기 방법.
  31. 제30항에 있어서, 상기 스케일러블하지 않은 비디오 코딩 방식은
    H.264 방식인 것을 특징으로 하는 상기 방법.
  32. 기초 계층 및 상기 기초 계층에 비하여 향상된 비디오 성능을 나타내도록 상기 기초 계층에 부가되는 적어도 하나 이상의 향상 계층으로 이루어지는 비트스트림을 생성하는 방법에 있어서,
    상기 기초 계층에 대한 데이터를 삽입하는 단계; 및
    상기 기초 계층의 비트율을 향상시키기 위한 향상 계층에 대한 데이터를 삽입하는 단계를 포함하는 것을 특징으로 하는 상기 방법.
  33. 제 32항에 있어서,
    상기 향상 계층과 상기 기초 계층간의 의존 관계를 포함하는 정보를 삽입하는 단계를 더 포함하는 것을 특징으로 하는 상기 방법.
  34. 제33항에 있어서,
    상기 기초 계층은 스케일러블하지 않은 비디오 코딩 방식으로 코딩되고, 상기 향상 계층은 스케일러블한 비디오 코딩 방식으로 코딩된 것을 특징으로 하는 상기 방법.
  35. 제34항에 있어서, 상기 스케일러블하지 않은 비디오 코딩 방식은
    H.264 방식인 것을 특징으로 하는 상기 방법.
  36. 기초 계층 및 상기 기초 계층에 부가하여 비트율을 향상시키기 위한 향상 계층으로 구성되는 적어도 하나 이상의 비디오 시퀀스 계층을 포함하는 비트스트림을 디코딩하는 방법에 있어서,
    상기 비디오 시퀀스 계층 중 제1 비디오 시퀀스 계층에 포함된 기초 계층과 관련된 데이터를 추출하여 기초 계층의 이미지를 복원하는 단계;
    상기 기초 계층의 향상 계층과 관련된 데이터를 추출하는 단계;
    상기 추출된 향상 계층과 관련된 데이터를 이용하여 상기 기초 계층 이미지의 비트율을 향상시킴으로써 제1 비디오 시퀀스를 복원하는 단계;
    상기 복원된 제 1 비디오 시퀀스를 이용하여, 상기 비디오 시퀀스 계층 중 제 2 비디오 시퀀스 계층으로부터 제2 비디오 시퀀스를 복원하는 단계를 포함하는 것을 특징으로 하는 디코딩 방법.
  37. 제 36항에 있어서, 상기 제1 비디오 시퀀스의 상기 기초 계층의 비디오 코딩 방식은 H.264 방식인 것을 특징으로 하는 디코딩 방법.
KR1020040028487A 2004-03-04 2004-04-24 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템 KR100596705B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007501706A JP2007525924A (ja) 2004-03-04 2005-02-25 ビデオストリーミングサービスのためのビデオコーディング方法とビデオエンコーディングシステム、及びビデオデコーディング方法とビデオデコーディングシステム
EP05726745A EP1721465A4 (en) 2004-03-04 2005-02-25 VIDEO ENCODING AND DECODING METHODS AND SYSTEMS FOR CONTINUOUS-FLOW VIDEO SERVICE
CA2557312A CA2557312C (en) 2004-03-04 2005-02-25 Video encoding and decoding methods and systems for video streaming service
PCT/KR2005/000520 WO2005086487A1 (en) 2004-03-04 2005-02-25 Video encoding and decoding methods and systems for video streaming service
US11/071,198 US20050195900A1 (en) 2004-03-04 2005-03-04 Video encoding and decoding methods and systems for video streaming service

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54954404P 2004-03-04 2004-03-04
US60/549,544 2004-03-04

Publications (2)

Publication Number Publication Date
KR20050089721A KR20050089721A (ko) 2005-09-08
KR100596705B1 true KR100596705B1 (ko) 2006-07-04

Family

ID=37272087

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040028487A KR100596705B1 (ko) 2004-03-04 2004-04-24 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템

Country Status (3)

Country Link
US (1) US20050195900A1 (ko)
KR (1) KR100596705B1 (ko)
CN (2) CN1926874B (ko)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453355B1 (en) 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP2348640B1 (en) 2002-10-05 2020-07-15 QUALCOMM Incorporated Systematic encoding of chain reaction codes
CN1954501B (zh) 2003-10-06 2010-06-16 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法
US7580461B2 (en) 2004-02-27 2009-08-25 Microsoft Corporation Barbell lifting for wavelet coding
US7418651B2 (en) 2004-05-07 2008-08-26 Digital Fountain, Inc. File download and streaming system
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
DE102004038110B3 (de) * 2004-08-05 2005-12-29 Siemens Ag Verfahren zum Codieren und Decodieren, sowie Codier- und Decodiervorrichtung zur Videocodierung
KR100878809B1 (ko) 2004-09-23 2009-01-14 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 이의 장치
KR100668345B1 (ko) * 2004-10-05 2007-01-12 삼성전자주식회사 움직임 보상된 계층 생성장치 및 방법
KR100888962B1 (ko) * 2004-12-06 2009-03-17 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
RU2402885C2 (ru) 2005-03-10 2010-10-27 Квэлкомм Инкорпорейтед Классификация контента для обработки мультимедийных данных
US20070022215A1 (en) * 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
US8879635B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
KR20070038396A (ko) * 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
KR100959541B1 (ko) * 2005-10-05 2010-05-27 엘지전자 주식회사 영상 신호의 인코딩/디코딩 방법 및 장치
KR100891663B1 (ko) * 2005-10-05 2009-04-02 엘지전자 주식회사 비디오 신호 디코딩 및 인코딩 방법
KR100891662B1 (ko) * 2005-10-05 2009-04-02 엘지전자 주식회사 비디오 신호 디코딩 및 인코딩 방법
KR20070096751A (ko) * 2006-03-24 2007-10-02 엘지전자 주식회사 영상 데이터를 코딩/디코딩하는 방법 및 장치
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US8948260B2 (en) 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
FR2895172A1 (fr) * 2005-12-20 2007-06-22 Canon Kk Procede et dispositif de codage d'un flux video code suivant un codage hierarchique, flux de donnees, procede et dispositif de decodage associes
US7956930B2 (en) 2006-01-06 2011-06-07 Microsoft Corporation Resampling and picture resizing operations for multi-resolution video coding and decoding
WO2007079781A1 (en) * 2006-01-13 2007-07-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Picture coding using adaptive colour space transformation
JP5550834B2 (ja) 2006-02-13 2014-07-16 デジタル ファウンテン, インコーポレイテッド 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US8340179B2 (en) * 2006-03-21 2012-12-25 Canon Kabushiki Kaisha Methods and devices for coding and decoding moving images, a telecommunication system comprising such a device and a program implementing such a method
BRPI0608004B1 (pt) * 2006-03-22 2019-08-27 Fraunhofer Ges Forschung esquema de codificação permitindo escalabilidade de precisão
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9332274B2 (en) * 2006-07-07 2016-05-03 Microsoft Technology Licensing, Llc Spatially scalable video coding
CN102158697B (zh) * 2006-09-07 2013-10-09 Lg电子株式会社 用于解码/编码视频信号的方法及装置
US7991236B2 (en) * 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
WO2008056959A1 (en) * 2006-11-09 2008-05-15 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
KR100896290B1 (ko) * 2006-11-17 2009-05-07 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
JP5281076B2 (ja) * 2007-04-25 2013-09-04 トムソン ライセンシング ダウンサンプリングされたリファレンスピクチャによるビュー間予測
CN101312529B (zh) * 2007-05-24 2010-07-21 华为技术有限公司 生成上下采样滤波器及实现编码的方法、***和装置
JP4450016B2 (ja) * 2007-06-12 2010-04-14 ソニー株式会社 液晶表示装置および液晶駆動回路
AU2008298602A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
KR101431543B1 (ko) * 2008-01-21 2014-08-21 삼성전자주식회사 영상 부호화/복호화 장치 및 방법
US8953673B2 (en) * 2008-02-29 2015-02-10 Microsoft Corporation Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers
US8711948B2 (en) 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8213503B2 (en) 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
JP2012516627A (ja) 2009-01-27 2012-07-19 トムソン ライセンシング ビデオ符号化およびビデオ復号における変換の選択のための方法および装置
US20100208795A1 (en) * 2009-02-19 2010-08-19 Motorola, Inc. Reducing aliasing in spatial scalable video coding
GB0905184D0 (en) * 2009-03-26 2009-05-06 Univ Bristol Encryption scheme
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US8428364B2 (en) 2010-01-15 2013-04-23 Dolby Laboratories Licensing Corporation Edge enhancement for temporal scaling with metadata
FR2957744B1 (fr) * 2010-03-19 2012-05-25 Canon Kk Procede de traitement d'une sequence video et dispositif associe
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
CN102438135B (zh) * 2011-01-14 2013-12-04 展讯通信(上海)有限公司 高分辨率视频在小尺寸显示设备上的降采样解码方法及装置
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US10873772B2 (en) * 2011-07-21 2020-12-22 V-Nova International Limited Transmission of reconstruction data in a tiered signal quality hierarchy
US9521418B2 (en) 2011-07-22 2016-12-13 Qualcomm Incorporated Slice header three-dimensional video extension for slice header prediction
US11496760B2 (en) 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
JP5474887B2 (ja) * 2011-08-01 2014-04-16 株式会社ソニー・コンピュータエンタテインメント 動画データ生成装置、動画像表示装置、動画データ生成方法、動画像表示方法、および動画像ファイルのデータ構造
US9288505B2 (en) * 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US11314405B2 (en) * 2011-10-14 2022-04-26 Autodesk, Inc. Real-time scrubbing of online videos
US9485503B2 (en) 2011-11-18 2016-11-01 Qualcomm Incorporated Inside view motion prediction among texture and depth view components
KR20130099515A (ko) * 2012-02-29 2013-09-06 삼성전자주식회사 키 프레임을 이용하여 컨텐츠를 재생하는 단말기의 장치 및 방법
EP2642755B1 (en) * 2012-03-20 2018-01-03 Dolby Laboratories Licensing Corporation Complexity scalable multilayer video coding
EA201492098A1 (ru) * 2012-05-14 2015-04-30 Лука Россато Кодирование и декодирование на основании смешивания последовательностей выборок с течением времени
CA2878807C (en) * 2012-07-09 2018-06-12 Vid Scale, Inc. Codec architecture for multiple layer video coding
WO2014058110A1 (ko) 2012-10-09 2014-04-17 광운대학교 산학협력단 다중 계층 비디오를 위한 계층 간 예측 방법 및 그 장치
KR20140087971A (ko) 2012-12-26 2014-07-09 한국전자통신연구원 계층적 비디오 부호화에서 다중참조계층을 적용한 화면간 부/복호화 방법 및 그 장치
WO2014107074A1 (ko) * 2013-01-04 2014-07-10 삼성전자 주식회사 스케일러블 비디오의 부호화 및 복호화를 위한 움직임 보상 방법 및 장치
CN105325009B (zh) * 2013-07-23 2019-04-16 英特尔公司 用于流式传输视频质量分析的改进技术
KR102310241B1 (ko) 2015-04-29 2021-10-08 삼성전자주식회사 소스 디바이스, 그의 제어 방법, 싱크 디바이스 및 그의 화질 개선 처리 방법
JP6501904B2 (ja) * 2015-05-27 2019-04-17 グーグル エルエルシー 球面ビデオのストリーミング
US10390071B2 (en) * 2016-04-16 2019-08-20 Ittiam Systems (P) Ltd. Content delivery edge storage optimized media delivery to adaptive bitrate (ABR) streaming clients
US10448013B2 (en) * 2016-12-22 2019-10-15 Google Llc Multi-layer-multi-reference prediction using adaptive temporal filtering
US10986356B2 (en) * 2017-07-06 2021-04-20 Samsung Electronics Co., Ltd. Method for encoding/decoding image and device therefor
KR102383117B1 (ko) * 2017-07-21 2022-04-06 삼성전자주식회사 디스플레이 장치, 디스플레이 방법 및 디스플레이 시스템
WO2020080765A1 (en) 2018-10-19 2020-04-23 Samsung Electronics Co., Ltd. Apparatuses and methods for performing artificial intelligence encoding and artificial intelligence decoding on image
CN111886864A (zh) * 2019-03-01 2020-11-03 阿里巴巴集团控股有限公司 分辨率自适应视频编码
CN110827380B (zh) * 2019-09-19 2023-10-17 北京铂石空间科技有限公司 图像的渲染方法、装置、电子设备及计算机可读介质
CN113286149B (zh) * 2021-07-21 2021-09-24 全时云商务服务股份有限公司 一种云会议自适应多层视频编码方法、***和存储介质
CN115733986A (zh) * 2021-08-30 2023-03-03 华为技术有限公司 编码、封装及显示方法、装置及电子设备
US20230179781A1 (en) * 2021-12-03 2023-06-08 Meta Platforms, Inc. Systems and methods for storing and transmitting video data
CN116418937A (zh) * 2021-12-31 2023-07-11 广州迈聆信息科技有限公司 视频分辨率调整方法、装置、存储介质以及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564262B1 (en) * 1996-09-16 2003-05-13 Microsoft Corporation Multiple multicasting of multimedia streams

Also Published As

Publication number Publication date
US20050195900A1 (en) 2005-09-08
CN1926874B (zh) 2012-07-04
KR20050089721A (ko) 2005-09-08
CN1926874A (zh) 2007-03-07
CN1926873A (zh) 2007-03-07

Similar Documents

Publication Publication Date Title
KR100596705B1 (ko) 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
US8331434B2 (en) Method and apparatus for video coding, predecoding, and video decoding for video streaming service, and image filtering method
KR100621581B1 (ko) 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치
US8116578B2 (en) Method and apparatus for effectively compressing motion vectors in video coder based on multi-layer
JP5014989B2 (ja) 基礎階層を利用するフレーム圧縮方法、ビデオコーディング方法、フレーム復元方法、ビデオデコーディング方法、ビデオエンコーダ、ビデオデコーダ、および記録媒体
US7933456B2 (en) Multi-layer video coding and decoding methods and multi-layer video encoder and decoder
KR20040091686A (ko) 더 높은 질의 참조 프레임을 사용하는 fgst 코딩 방법
EP1659797A2 (en) Method and apparatus for compressing motion vectors in video coder based on multi-layer
CA2557312C (en) Video encoding and decoding methods and systems for video streaming service
JP4660550B2 (ja) 多階層ビデオコーディングおよびデコーディング方法、ビデオエンコーダおよびデコーダ
EP1813114A1 (en) Method and apparatus for predecoding hybrid bitstream

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee