KR20160007564A - 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝 - Google Patents

높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝 Download PDF

Info

Publication number
KR20160007564A
KR20160007564A KR1020157034630A KR20157034630A KR20160007564A KR 20160007564 A KR20160007564 A KR 20160007564A KR 1020157034630 A KR1020157034630 A KR 1020157034630A KR 20157034630 A KR20157034630 A KR 20157034630A KR 20160007564 A KR20160007564 A KR 20160007564A
Authority
KR
South Korea
Prior art keywords
frames
coded
image sequence
frame rate
video data
Prior art date
Application number
KR1020157034630A
Other languages
English (en)
Other versions
KR101859155B1 (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 KR20160007564A publication Critical patent/KR20160007564A/ko
Application granted granted Critical
Publication of KR101859155B1 publication Critical patent/KR101859155B1/ko

Links

Images

Classifications

    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

높은 프레임 레이트들을 갖는 비디오 데이터가, 제한된 리소스들(예컨대, 디코더 및/또는 디스플레이 리소스들)을 갖는 디바이스들 상에 디스플레이될 수 있다. 이러한 디바이스들은 그들의 리소스들이 다른 작업들에 전념하고 있을 수 있거나 또는 높은 프레임 레이트들로 비디오 데이터를 디스플레이하지 못할 수 있다. 코딩 방법은 추가적인 드롭 가능한 프레임(droppable frame)들이 인코딩된 비디오 데이터에 포함되도록 프레임들을 코딩하는 단계를 포함할 수 있다. 디코딩 방법은 인코딩된 비디오 데이터가 디코딩되기 전에 드롭 가능한 프레임들을 드롭시켜, 디코딩되고 디스플레이될 프레임들의 수를 감소시키는 단계를 포함할 수 있다. 이러한 방법들은 가변 프레임 레이트를 갖는 비디오 데이터에 적용될 수 있고 슬로 모션 재생을 위해 이미지 시퀀스를 처리하는 것과 조합될 수 있다.

Description

높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝{TUNING VIDEO COMPRESSION FOR HIGH FRAME RATE AND VARIABLE FRAME RATE CAPTURE}
우선권 주장
본 출원은, 전체적으로 본 명세서에 참고로 포함된, 2013년 8월 21일자로 출원된 미국 특허 출원 제13/972,434호, 2013년 6월 7일자로 출원된 미국 가출원 제61/832,447호, 및 2013년 7월 1일자로 출원된 미국 가출원 제61/841,635호에 대해 우선권을 주장한다.
본 발명은 대체로 이미지 및 비디오 처리의 분야에 관한 것이다. 보다 구체적으로, 본 발명은 드롭 가능한 프레임(droppable frame)들을 갖는 프레임들을 인코딩 및 디코딩하는 것, 및 드롭 가능한 프레임들을 갖는 인코딩된 비디오를 슬로 모션으로 디스플레이하는 방법에 관한 것이다.
비디오 캡처 기술의 발전은 비디오 데이터를 높은 프레임 레이트들로 캡처할 수 있게 한다. 이러한 기술을 포함하는 카메라들은 통상, 이러한 데이터를 용이하게 인코딩할 수 있고 인코딩된 비디오 콘텐츠를 고속 통신 채널들을 통해 송신할 수 있는 강력한 프로세서들과 연결된다. 그러나, 캡처된 비디오 데이터를 디스플레이하기 위해 사용되는 디바이스들이 항상 동일하게 높은 프레임 레이트들로 비디오 데이터를 디스플레이할 수 있는 것은 아니다. 이러한 디바이스들은 실시간으로 높은 프레임 레이트들로 비디오 데이터를 디코딩하고 그 데이터를 디스플레이하기에는 제한된 리소스들을 가질 수 있다. 그리하여, 디스플레이 디바이스가 높은 프레임 레이트를 갖는 인코딩된 비디오 데이터를 수신했을 때, 디스플레이 디바이스는 디바이스의 제한된 리소스로 인해 비디오 콘텐츠를 실시간으로 디코딩 및 디스플레이하지 못할 수 있다.
본 발명의 특징부들을 이해할 수 있도록 하기 위해, 다수의 도면들이 이하에 설명된다. 그러나, 첨부 도면들은 특정한 실시예들만을 예시하므로, 본 발명이 다른 등가적으로 유효한 실시예들을 포괄할 수 있도록 본 발명의 범주의 제한으로 간주되어서는 안된다는 것에 유의해야 한다.
도 1은 본 발명의 실시예에 따른 비디오 코딩 시스템의 단순화된 블록 다이어그램을 도시한다.
도 2는 본 발명의 실시예에 따른 비디오 캡처 및 디스플레이 시스템의 기능 블록 다이어그램이다.
도 3은 본 발명의 실시예에 따른 비디오 코딩 시스템의 기능 블록 다이어그램이다.
도 4는 본 발명의 실시예에 따른 비디오 디코딩 시스템의 기능 블록 다이어그램이다.
도 5는 본 발명의 실시예에 따른 드롭 가능한 프레임들을 갖는 비디오 데이터를 인코딩하기 위한 방법을 도시한다.
도 6은 본 발명의 실시예에 따른 드롭 가능한 프레임들을 갖는 비디오 데이터를 디코딩하기 위한 방법을 도시한다.
도 7은 슬로 모션 재생을 위해 드롭 가능한 프레임들을 갖는 비디오 데이터를 디코딩하기 위한 방법을 도시한다.
도 8은 본 발명의 실시예에 따라 슬로 모션으로 비디오 데이터를 처리하기 위한 방법을 도시한다.
도 9는 본 발명의 실시예에 따라 처리될 수 있는 비디오 데이터의 이미지 시퀀스들을 도시한다.
본 발명의 실시예들은, 높은 프레임 레이트들을 갖는 비디오 데이터를 제한된 리소스들(예컨대, 디코더 및/또는 디스플레이 리소스들)을 갖는 디바이스들 상에 디스플레이할 수 있게 하는 비디오 코딩 및 디코딩 시스템들 및 방법들을 제공한다. 이러한 디바이스들은 그들의 리소스들이 다른 작업들에 전념하고 있을 수 있거나 또는 높은 프레임 레이트들로 비디오 데이터를 디스플레이하지 못할 수 있다. 코딩 방법은 추가적인 드롭 가능한 프레임들이 인코딩된 비디오 데이터에 포함되도록 프레임들을 코딩하는 것을 포함할 수 있다. 디코딩 방법은 인코딩된 비디오 데이터가 디코딩되기 전에 드롭 가능한 프레임들을 드롭시켜, 디코딩되고 디스플레이될 프레임들의 수를 감소시키는 것을 포함할 수 있다. 이러한 방법들은 가변 프레임 레이트를 갖는 비디오 데이터에 적용될 수 있고 슬로 모션 재생을 위해 이미지 시퀀스를 처리하는 것과 조합될 수 있다.
도 1은 본 발명의 실시예에 따른 비디오 코딩 시스템(100)의 단순화된 블록 다이어그램을 도시한다. 시스템(100)은 네트워크(150)를 통해 상호접속되는 복수의 단말기들(110 내지 140)을 포함할 수 있다. 데이터의 단방향 송신의 경우, 제1 단말기(110)가 네트워크(150)를 통한 다른 단말기(120)로의 송신을 위해 로컬 위치에서 비디오 데이터를 코딩할 수 있다. 제2 단말기(120)는 네트워크(150)로부터 다른 단말기의 코딩된 비디오 데이터를 수신하고, 코딩된 데이터를 디코딩하고, 복원된 비디오 데이터를 디스플레이할 수 있다. 단방향 데이터 송신은 미디어 서빙 응용들 등에서 공통이다.
도 1은, 예를 들어 화상 회의 동안 일어날 수 있는 코딩된 비디오의 양방향 송신을 지원하도록 제공된 단말기들(130, 140)의 두 번째 쌍을 도시한다. 데이터의 양방향 송신의 경우, 각 단말기(130, 140)가 네트워크(150)를 통한 다른 단말기로의 송신을 위해 로컬 위치에서 캡처된 비디오 데이터를 코딩할 수 있다. 각 단말기(120, 130, 140)는 또한 다른 단말기에 의해 송신되는 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있고 로컬 디스플레이 디바이스에서 복원된 비디오 데이터를 디스플레이할 수 있다.
단말기들(110 내지 140)은 비디오를 높은 프레임 레이트(예컨대, 120 fps, 240 fps 등)로 캡처할 수 있다. 단말기들(110 내지 140)은 비디오를 가변 프레임 레이트로 캡처할 수 있다. 비디오가 캡처되는 프레임 레이트는 비디오에서의 콘텐츠, 장면 상태(scene condition)들 및/또는 비디오를 캡처하고 처리하기 위해 사용되는 처리 리소스의 가용성에 기초하여 동적으로 변화할 수 있다. 예를 들어, 더 적은 광이 이용 가능한 경우, 프레임 레이트는 낮아질 수 있다(예컨대, 120 fps에서부터 20 fps로). 비디오 콘텐츠 내의 모션이 증가되는 경우 또는 카메라에 의해 프레임 레이트는 증가될 수 있다(예컨대, 120 fps에서부터 240 fps로). 카메라는 캡처하기 위해 이용 가능한 리소스들에 기초하여 캡처 프레임 레이트를 증가시키고 캡처된 비디오를 처리(예컨대, 필터링 및 인코딩)할 수 있다.
도 1에서, 단말기들(110 내지 140)은 서버들, 개인용 컴퓨터들 및 스마트폰들로서 도시되어 있지만, 본 발명의 원리는 그렇게 제한되지는 않는다. 본 발명의 실시예들은 랩톱 컴퓨터들, 태블릿 컴퓨터들, 미디어 플레이어들 및/또는 전용 화상 회의 장비에서 응용을 찾는다. 단말기들(120 내지 140)은 비디오를 디코딩하고 그리고/또는 디스플레이하기에는 제한된 리소스를 포함할 수 있다.
네트워크(150)는, 예를 들어 유선 및/또는 무선 통신 네트워크들을 포함한, 단말기들(110 내지 140) 사이에서 코딩된 비디오 데이터를 전달하는 임의의 수의 네트워크들을 나타낼 수 있다. 통신 네트워크(150)는 회선 교환형(circuit-switched) 및/또는 패킷 교환형(packet-switched) 채널들에서 데이터를 교환할 수 있다. 대표적인 네트워크는 원격 통신망(telecommunications network), 근거리 통신망(local area network), 광역 통신망(wide area network) 및/또는 인터넷을 포함한다. 본 논의를 위해, 네트워크(150)의 아키텍처 및 토폴로지는 하기에 설명되지 않는 한 본 발명의 동작에 중요하지 않다.
도 2는 본 발명의 실시예에 따른 비디오 캡처 및 디스플레이 시스템(200)의 기능 블록 다이어그램이다. 시스템(200)은 비디오 데이터를 캡처하고 인코딩하기 위한 제1 단말기(210), 및 인코딩된 비디오 데이터를 디코딩하고 디코딩된 비디오 데이터를 디스플레이하기 위한 제2 단말기(230)를 포함할 수 있다. 제1 단말기(210) 내의 송신기(216)는 인코딩된 비디오를 통신 채널(220)을 통해 제2 단말기(230) 내의 수신기(232)로 송신할 수 있다.
제1 단말기(210)는 비디오 데이터를 높은 프레임 레이트(예컨대, 120 fps 또는 240 fps)로 제공하는 비디오 소스(212)를 포함할 수 있다. 비디오 소스(212)에 의해 제공되며 디코더(234)로 전송되는 비디오 데이터의 프레임 레이트는, 제2 단말기(230)가 비디오 데이터를 디코딩하고 그리고/또는 디스플레이할 수 있는 디폴트 프레임 레이트(예컨대, 24 fps, 25 fps, 30 fps 또는 60 fps)를 초과할 수 있다. 비디오 데이터를 디스플레이하기 위해, 디코더(234)는 인코딩된 비디오 데이터로부터의 선택된 수의 프레임들만을 디코딩할 수 있다. 디코더(234)는 다수의 드롭 가능한 프레임들을 드롭시켜, 인코딩된 비디오 데이터를 디코딩하기 위해 필요한 리소스들을 감소시킬 수 있다. 디코더(234)는 다수의 드롭 가능한 프레임들을 드롭시켜, 프레임 레이트를 디폴트 프레임 레이트(즉, 디코더(234)가 취급할 수 있는 프레임 레이트 및/또는 비디오 디스플레이(236)가 비디오 콘텐츠를 디스플레이할 수 있는 프레임 레이트)로 낮출 수 있다.
제1 단말기(210) 내의 비디오 코더(214)는 비디오 소스(212)로부터의 비디오 데이터를 인코딩할 수 있다. 비디오 코더(214)는, 비디오 디코더(234)에 의해 드롭될 수 있고 디코딩될 수 없는 드롭 가능한 프레임들을 인코딩된 프레임들이 포함하도록 비디오 데이터를 코딩할 수 있다. 드롭 가능한 프레임들은 임의의 다른 프레임들의 예측 시에 사용되지 않는 프레임들을 포함할 수 있다. 일 실시예에서, 드롭 가능한 프레임들은 디코딩되는 다른 프레임들에서의 데이터에 의존할 수 있는 반면에, 다른 프레임들은 드롭 가능한 프레임들에서의 데이터에 의존하지 않을 수 있다. 따라서, 디코더(234)가 드롭 가능한 프레임을 디코딩하지 않는 경우, 다른 프레임들은 디코딩된 드롭 가능한 프레임에서의 데이터를 필요로 하지 않고 여전히 디코딩될 수 있다.
비디오 코더(214)는 또한 인코딩된 프레임들이 드롭 불가능한 프레임(non-droppable frame)들을 포함하도록 비디오 데이터를 코딩할 수 있다. 드롭 불가능한 프레임들은 다른 프레임들을 인코딩하기 위한 참조 프레임들로서 사용되는 프레임들을 포함할 수 있다.
비디오 코더(214)는, 프레임 레이트를 디폴트 프레임 레이트(예컨대, 제2 단말기(230)가 비디오 데이터를 디코딩하고 그리고/또는 디스플레이할 수 있는 프레임 레이트)에 이르게 하기 위해, 인코딩된 비디오 데이터가 충분히 드롭 가능한 프레임들을 포함하도록 비디오 데이터를 인코딩할 수 있다. 따라서, 비디오 코더는 초당 특정 수의 드롭 가능한 프레임들 및/또는 특정 수의 드롭 불가능한 프레임들이 존재하도록 비디오 데이터를 코딩할 수 있다. 비디오 코더(214)는 어느 프레임들이 드롭 가능한 프레임들인지 그리고/또는 어느 프레임들이 드롭 불가능한지를 표시할 수 있다. 비디오 코더(214)는 미리 설정된 디폴트 프레임 레이트를 가질 수 있거나 또는 제2 단말기(230)로부터 디폴트 프레임 레이트를 수신할 수 있는데, 디폴트 프레임 레이트는 디코더(234) 및/또는 디스플레이(236)에 이용 가능한 리소스들에 기초하여 변화할 수 있다.
코더(214)는 프레임 레이트 임계치(예컨대, 디폴트 프레임 레이트)를 초과하는 임의의 프레임들에 대해 드롭 가능한 프레임들을 생성하도록 비디오 데이터를 인코딩할 수 있다. 예를 들어, 프레임 레이트 임계치가 60 fps이고 비디오 소스(212)에 의해 제공되는 프레임 레이트가 240 fps로 있을 때, 매 4개의 프레임들 중 적어도 3개가 드롭 가능한 프레임들로서 인코딩될 수 있다. 프레임 레이트 임계치가 60 fps이고 비디오 소스(212)에 의해 제공되는 프레임 레이트가 120 fps로 있을 때, 매 2개의 프레임들 중 적어도 1개가 드롭 가능한 프레임들로서 인코딩될 수 있다. 프레임 레이트 임계치가 60 fps이고 비디오 소스(212)에 의해 제공되는 프레임 레이트가 60 fps 이하일 때, 프레임들은 드롭 가능할 필요가 없다.
다른 실시예에서, 비디오 소스(212)는 비디오 데이터를 동적으로 변화하는 프레임 레이트로 제공할 수 있다. 프레임 레이트는 비디오에서의 콘텐츠, 장면 상태들 및/또는 비디오 데이터를 캡처하고 처리(예컨대, 인코딩)하기 위해 사용되는 처리 리소스의 가용성에 기초하여 동적으로 변화할 수 있다. 프레임 레이트의 범위는 제2 단말기가 비디오 데이터를 디코딩하고 그리고/또는 디스플레이할 수 있는 디폴트 프레임 레이트를 초과할 수 있다. 소스 비디오 데이터의 프레임 레이트가 디폴트 프레임 레이트를 초과하는 경우, 비디오 코더(214)는 추가적인 드롭 가능한 프레임들을 인코딩된 비디오 데이터에 제공하도록 인코딩 파라미터를 변경할 수 있다. 추가적인 드롭 가능한 프레임들은 디코더(234)가 드롭 가능한 프레임을 드롭시키고 인코딩된 데이터를 디폴트 프레임 레이트로 디코딩할 수 있게 할 수 있다.
드롭 가능한 프레임들을 갖는 비디오를 인코딩하는 것은 디코더(234)에 대한 시간 확장성(temporal scalability)을 제공하는데, 이는 디코더 리소스들, 디스플레이 리소스들, 플레이 레이트(play rate) 등에 따라 더 많거나 또는 더 적은 프레임들이 디코딩될 수 있게 한다. 드롭 가능한 프레임들을 갖는 인코딩된 비디오 데이터는 다수의 디바이스들로 전송될 수 있는데, 여기서 각 디바이스는 비디오 데이터를 디코딩하고 그리고/또는 디스플레이하기 위해 이용 가능한 상이한 리소스들을 가질 수 있다. 드롭 가능한 프레임들을 갖는 인코딩된 데이터를 제공하는 것은, 모든 디바이스들이 비디오 콘텐츠를 디스플레이할 수 있는 것을 보장할 수 있다. 각 디바이스는 디바이스 상에서 이용 가능한 리소스들에 기초하여 어느 프레임들을 드롭시킬지 및 디코딩할 프레임들의 수를 선정할 수 있다.
추가적인 드롭 가능한 프레임들을 포함시키는 것은, 인코딩된 비디오 데이터의 비트 레이트를 증가시킬 수 있는데, 이는 프레임 간 예측(inter frame prediction)이 사용되는 경우, 프레임 간 예측이 시간적으로 더 먼 프레임들로부터 기초할 것이기 때문이다. 시간적으로 더 먼 프레임들은 덜 정확한 예측을 제공할 수 있는데, 이는 더 많은 비트들이 잔차(residual)에서 소비될 수 있음을 의미한다. 그러나, 데이터를 수신하는 디바이스들이 데이터를 디코딩하고 그리고/또는 디스플레이하기에는 제한된 리소스들을 가질 수 있기 때문에, 디코더(234)에 대한 시간 확장성의 이익들은 비디오 데이터를 인코딩하고 송신하기 위해 필요한 더 높은 리소스들보다 뛰어날 수 있다. 따라서, 데이터를 인코딩하고 송신하기 위해 사용되는 제1 단말기(210)(예컨대, 서버 또는 고품질 카메라)는 비디오 데이터를 인코딩하고 송신하기 위해 더 많은 리소스를 가질 필요가 있을 수 있는 반면에, 제2 단말기(230)(예컨대, 스마트 폰 또는 휴대용 단말기)는 비디오 데이터를 디코딩하고 디스플레이하기에는 제한된 리소스를 포함할 수 있다.
도 3은 본 발명의 실시예에 따른 비디오 코딩 시스템(300)의 기능 블록 다이어그램이다.
시스템(300)은, 시스템(300)에 의해 코딩될 비디오 데이터를 제공하는 비디오 소스(310), 전처리기(320), 비디오 코더(330), 송신기(340), 및 시스템(300)의 동작을 관리하는 제어기(350)를 포함할 수 있다.
비디오 소스(310)는 시스템(300)에 의해 코딩될 비디오를 제공할 수 있다. 미디어 서빙 시스템에서, 비디오 소스(310)는 이전에 제작된 비디오를 저장하는 저장 디바이스일 수 있다. 화상 회의 시스템에서, 비디오 소스(310)는 로컬 이미지 정보를 비디오 시퀀스로서 캡처하는 카메라일 수 있다. 비디오 데이터는 전형적으로, 순서대로 볼 때 모션을 부여하는 복수의 개별 프레임들로서 제공된다. 프레임들 자체는 전형적으로 픽셀들의 공간 어레이로서 조직된다. 비디오 소스(310)는 비디오를 높은 프레임 레이트(예컨대, 120 fps 또는 240 fps)로 그리고/또는 동적으로 가변하는 프레임 레이트로 제공할 수 있다.
전처리기(320)는 비디오 데이터에 대한 다양한 분석적인 및 신호 컨디셔닝 동작(signal conditioning operation)들을 수행할 수 있다. 전처리기(320)는 입력 프레임들을 색 성분들(예를 들어, 휘도 및 색차 성분들)로 파싱(parsing)할 수 있고, 또한 프레임들을 픽셀 블록들, 픽셀 데이터의 공간 어레이들로 파싱할 수 있는데, 이는 추가 코딩의 기초를 형성할 수 있다. 전처리기(320)는 또한, 비디오 코더(330)에 의해 적용되는 코딩 동작들의 효율을 개선시키기 위해 프레임 데이터에 다양한 필터링 동작들을 적용할 수 있다.
비디오 코더(330)는 비디오 시퀀스의 비트 레이트를 감소시키도록 비디오 시퀀스에 대한 코딩 동작들을 수행할 수 있다. 비디오 코더(330)는 코딩 엔진(332), 로컬 디코더(333), 참조 화상 캐시(334), 예측기(335) 및 제어기(336)를 포함할 수 있다. 코딩 엔진(332)은 비디오 데이터에서의 시간적 및/또는 공간적 중복성들을 활용함으로써 입력 비디오 데이터를 코딩할 수 있고 코딩된 비디오 데이터의 데이터 스트림을 생성할 수 있는데, 코딩된 비디오 데이터의 데이터 스트림은 전형적으로 소스 비디오 데이터의 데이터 스트림과 비교해서 감소된 비트 레이트를 갖는다. 비디오 코더(330)는, 그의 동작의 일부로서, 모션 보상된 예측 코딩을 수행할 수 있는데, 모션 보상된 예측 코딩은 "참조 프레임들"로서 지정된 비디오 시퀀스로부터의 하나 이상의 이전에 코딩된 프레임들을 참조하여 예측적으로 입력 프레임을 코딩한다. 이러한 방식으로, 코딩 엔진(332)은 입력 프레임의 픽셀 블록들과, 입력 프레임에 대한 예측 참조(들)로서 선택되는 참조 프레임(들)의 픽셀 블록들 사이의 차이들을 코딩한다.
로컬 디코더(333)는 참조 프레임들로서 지정되는 프레임들의 코딩된 비디오 데이터를 디코딩할 수 있다. 코딩 엔진(332)의 동작들은 전형적으로 손실성 프로세스들이다. 코딩된 비디오 데이터가 비디오 디코더(도 3에 도시되지 않음)에서 디코딩될 때, 복원된 비디오 시퀀스는 전형적으로 약간의 에러들을 갖는 소스 비디오 시퀀스의 복제품(replica)이다. 로컬 디코더(333)는 참조 프레임들에 대해 비디오 디코더에 의해 수행될 디코딩 프로세스들을 복제하고, 재구성된 참조 프레임들이 참조 화상 캐시(334)에 저장될 수 있도록 할 수 있다. 이러한 방식으로, 시스템(300)은 원단(far-end) 비디오 디코더에 의해 획득될 재구성된 참조 프레임들로서 공통 콘텐츠를 갖는 재구성된 참조 프레임들의 복사본들을 국부적으로 저장할 수 있다(송신 에러 없음). 일 실시예에서, 로컬 디코더(333)는 디코딩 프로세스를 복제하기 위해 디코딩되고 디스플레이 디바이스에 의해 디스플레이될 프레임들만을 디코딩할 수 있다. 따라서, 로컬 디코더(333)는 드롭 가능한 프레임들을 디코딩하지 못할 수 있다. 다른 실시예에서, 로컬 디코더(333)는 디코딩 프로세스를 복제하기 위해 드롭 불가능한 프레임들 및 드롭 가능한 프레임들 둘 모두를 디코딩할 수 있다.
예측기(335)는 코딩 엔진(332)에 대한 예측 탐색들을 수행할 수 있다. 즉, 코딩되는 새로운 프레임에 대해, 예측기(335)는 새로운 프레임들에 대한 적절한 예측 참조로서 기능할 수 있는 이미지 데이터에 대해 참조 화상 캐시(334)를 탐색할 수 있다. 예측기(335)는 적절한 예측 참조들을 찾기 위해 픽셀 블록 단위(pixel block-by-pixel block basis)로 동작할 수 있다. 경우에 따라, 예측기(335)에 의해 획득되는 탐색 결과들에 의해 결정되는 바와 같이, 입력 프레임이 참조 화상 캐시(334)에 저장된 다수의 프레임들로부터 도출되는 예측 참조들을 가질 수 있다.
제어기(336)는, 예를 들어, 코딩된 비디오의 타깃 비트 레이트를 충족시키는 코딩 파라미터들의 선택, 드롭 가능할 수 있는 프레임들을 결정하는 것, 및 드롭 불가능한 프레임들이 제공되어야 하는 프레임 레이트를 결정하는 것을 포함한, 비디오 코더(330)의 코딩 동작들을 관리할 수 있다. 전형적으로, 비디오 코더들은 비트 레이트 요건들, 품질 요건들 및/또는 에러 회복 방침(error resiliency policy)들에 의해 부과되는 제약들에 따라 동작한다. 제공된 비디오의 프레임 레이트 및 임계치 프레임 레이트에 기초하여, 제어기(336)는 인코딩된 비디오 데이터에 포함되는 드롭 가능한 프레임들의 수를 변경할 수 있다. 제어기(336)는 이러한 제약들을 충족시키기 위해 비디오 시퀀스의 프레임들에 대한 코딩 파라미터들을 선택할 수 있다. 예를 들어, 제어기(336)는 코딩 모드들 및/또는 양자화 파라미터들을 프레임들 및/또는 프레임들 내의 픽셀 블록들에 할당할 수 있다.
송신기(340)는 코딩된 비디오 데이터를 버퍼링하여, 통신 채널(360)을 통해 원단 단말기(도시되지 않음)로 송신할 준비를 할 수 있다. 송신기(340)는 비디오 코더(330)로부터의 코딩된 비디오 데이터를, 단말기로 송신될 다른 데이터, 예를 들어, 코딩된 오디오 데이터 및/또는 부수적인 데이터 스트림들(소스들이 도시되지 않음)과 병합할 수 있다.
제어기(350)는 시스템(300)의 동작을 관리할 수 있다. 코딩 동안, 제어기(350)는 각 프레임에 (자발적으로 또는 제어기(336)와 협력하여) 소정 프레임 유형을 할당할 수 있는데, 소정 프레임 유형은 각각의 프레임에 적용되는 코딩 기법들에 영향을 미칠 수 있다. 예를 들어, 프레임들은 종종 하기 프레임 유형들 중 하나로서 할당된다:
Figure pct00001
인트라 프레임(I 프레임)은, 예측의 소스로서 시퀀스에서의 임의의 다른 프레임을 사용하지 않고 코딩되고 디코딩되는 것이다.
Figure pct00002
예측 프레임(P 프레임)은, 예측의 소스로서 시퀀스에서의 앞선 프레임을 사용하여 코딩되고 디코딩되는 것이다.
Figure pct00003
양방향 예측 프레임(B 프레임)은, 예측의 소스로서 시퀀스에서의 앞선 프레임 및 도래하는 프레임 둘 모두를 사용하여 코딩되고 디코딩되는 것이다.
제어기(350) 및/또는 제어기(336)는 프레임들이 드롭 가능한지를 할당할 수 있다. 다른 실시예에서, 제어기(350) 및/또는 제어기(336)는 프레임들이 드롭 가능한지 및 드롭 불가능한지를 할당할 수 있다.
드롭 가능한 프레임들은 임의의 다른 프레임들의 예측 시에 사용되지 않는 프레임들을 포함할 수 있다. 따라서, I 프레임들, P 프레임들 및 B 프레임들은, 다른 프레임들(예컨대, P 프레임들 또는 B 프레임들)이 디코딩되기 위해 그들에 의존하지 않는 경우 드롭 가능할 수 있다. 드롭 불가능한 프레임들은 다른 프레임들의 예측을 위해 (예컨대, 참조 프레임들로서) 사용되는 프레임들을 포함할 수 있다. 일 실시예에서, 참조 프레임들은 항상 드롭 불가능한 프레임들로서 지정될 수 있다. 따라서, I 프레임, P 프레임 및 B 프레임들은, 다른 프레임들(예컨대, P 프레임들 또는 B 프레임들)이 디코딩되기 위해 그들에 의존하는 경우 드롭 불가능할 수 있다. 프레임들은 심지어 참조 프레임으로서 사용되지 않더라도 드롭 불가능하다고 지정될 수 있다. 예를 들어, 드롭 불가능하다고 지정된 프레임들에 대해 특정 프레임 레이트가 제공되는 것을 보장하기 위해 또는 지정된 프레임에 대한 다른 정보를 디코더 또는 디스플레이 디바이스로 제공하기 위해 참조 프레임이 아닌 프레임이 드롭 불가능하다고 지정될 수 있다. 비디오 코더(330)는, 프레임이 드롭 가능한지 또는 드롭 불가능한지, 또는 드롭 가능해야 하는지 또는 드롭 불가능해야 하는지의 지정에 기초하여 프레임들을 코딩할 수 있다.
프레임들은 일반적으로 복수의 픽셀 블록들(예를 들어, 각각 4x4, 8x8 또는 16x16 픽셀들의 블록들)로 공간적으로 파싱되고 픽셀 블록 단위로 코딩된다. 픽셀 블록들은 픽셀 블록들의 각각의 프레임들에 적용되는 코딩 할당에 의해 결정되는 바와 같이 다른 코딩된 픽셀 블록들을 참조하여 예측적으로 코딩될 수 있다. 예를 들어, I 프레임들의 픽셀 블록들은 비예측적으로(non-predictively) 코딩될 수 있거나 또는 이들은 동일한 프레임의 픽셀 블록들을 참조하여 예측적으로 코딩될 수 있다(공간적 예측). P 프레임들의 픽셀 블록들은, 비예측적으로, 공간적 예측을 통해, 또는 1개의 이전에 코딩된 참조 프레임을 참조한 시간적 예측을 통해 코딩될 수 있다. B 프레임들의 픽셀 블록들은, 비예측적으로, 공간적 예측을 통해, 또는 1개 또는 2개의 이전에 코딩된 참조 프레임들을 참조한 시간적 예측을 통해 코딩될 수 있다.
비디오 코더(330)는 H.263, H.264, MPEG-2 또는 HEVC와 같은 미리 결정된 프로토콜에 따라 코딩 동작들을 수행할 수 있다. 비디오 코더(330)는, 그의 동작 시에, 입력 비디오 시퀀스에서의 시간적 및 공간적 중복성들을 활용하는 예측 코딩 동작들을 포함한, 다양한 압축 동작들을 수행할 수 있다. 따라서, 코딩된 비디오 데이터는 사용되는 프로토콜에 의해 특정되는 신택스(syntax)에 따를 수 있다.
실시예에서, 송신기(340)는 인코딩된 비디오를 이용하여 추가적인 데이터를 송신할 수 있다. 추가적인 데이터는, 비디오 프레임들에 대한 수집된 통계 자료들, 전처리기(320)에 의해 수행되는 동작들에 대한 상세 사항들, 또는 어느 프레임들이 드롭 가능한지를 포함할 수 있다. 추가적인 데이터는 대역 외 데이터(out-of-band data)를 위한 운영 프로토콜에 의해 확립되는 채널에서 송신될 수 있다. 예를 들어, 송신기(340)는 보충 강화 정보(SEI) 채널 및/또는 비디오 유용성 정보(VUI) 채널에서 추가적인 데이터를 송신할 수 있다. 대안적으로, 비디오 코더(330)는 이러한 데이터를 인코딩된 비디오 프레임들의 일부로서 포함할 수 있다.
도 4는 본 발명의 실시예에 따른 비디오 디코딩 시스템(400)의 기능 블록 다이어그램이다. 비디오 디코딩 시스템(400)은 인코딩된 비디오 데이터를 수신하는 수신기(410), 비디오 디코더(420), 후처리기(430), 시스템(400)의 동작을 관리하는 제어기(432), 및 디코딩된 비디오 데이터를 디스플레이하는 디스플레이(434)를 포함할 수 있다.
수신기(410)는 시스템(400)에 의해 디코딩될 비디오를 수신할 수 있다. 인코딩된 비디오 데이터는 채널(412)로부터 수신될 수 있다. 수신기(410)는 인코딩된 비디오 데이터를, 다른 데이터, 예를 들어, 코딩된 오디오 데이터 및/또는 부수적인 데이터 스트림들과 함께 수신할 수 있다. 수신기(410)는 인코딩된 비디오 데이터를 다른 데이터로부터 분리시킬 수 있다.
비디오 디코더(420)는 수신기(410)로부터 수신되는 비디오 시퀀스에 대한 디코딩 동작을 수행할 수 있다. 비디오 디코더(420)는 디코더(422), 참조 화상 캐시(424), 및 제어기(428)의 제어 하에서 동작하는 예측 모드 선택(426)을 포함할 수 있다. 디코더(422)는 참조 화상 캐시(424)에 저장된 참조 화상들을 참조하여 수신기(410)로부터 수신되는 코딩된 비디오 데이터를 재구성할 수 있다. 디코더(422)는 재구성된 비디오 데이터를 후처리기(430)로 출력할 수 있는데, 이 후처리기는 디스플레이를 위해 재구성된 비디오 데이터를 컨디셔닝하도록 그에 대해 추가적인 동작을 수행할 수 있다. 참조 프레임들의 재구성된 비디오 데이터는 또한 후속으로 수신되는 코딩된 비디오 데이터의 디코딩 동안 사용하기 위해 참조 화상 캐시(424)에 저장될 수 있다.
디코더(422)는 비디오 코더(230)(도 2에 도시됨)에 의해 수행된 코딩 동작들을 도치시킨 디코딩 동작들을 수행할 수 있다. 디코더(422)는 복원된 픽셀 블록 데이터를 생성하기 위해 엔트로피 디코딩, 역양자화(dequantization) 및 변환 디코딩을 수행할 수 있다. 양자화/역양자화 동작들은 손실성 프로세스들이며, 그에 따라, 복원된 픽셀 블록 데이터는 아마도 비디오 코더(330)(도 3에 도시됨)에 의해 코딩된 소스 픽셀 블록들의 복제품일 것이지만 약간의 에러를 포함할 수 있다. 예측적으로 코딩된 픽셀 블록들에 대해, 변환 디코딩은 잔차 데이터를 생성할 수 있고; 디코더(422)는 픽셀 블록들과 연관된 모션 벡터들을 사용하여, 예측 잔차들과 조합될 참조 화상 캐시(424)로부터의 예측된 픽셀 블록들을 검색할 수 있다. 예측 모드 선택기(426)는 디코딩되는 인코딩된 프레임의 각 픽셀 블록에 대해 사용되는 시간적 예측 모드를 식별할 수 있고, 디코딩을 위해 필요한 데이터를 참조 화상 캐시(424)로부터 판독하도록 요청할 수 있다. 재구성된 픽셀 블록들은 프레임들로 다시 어셈블되어 후처리기(430)로 출력될 수 있다.
앞서 논의된 바와 같이, 인코딩된 비디오 데이터는, 임의의 다른 프레임들의 예측 시에 사용되지 않는 프레임들인 드롭 가능한 프레임들을 포함할 수 있다. 디코더가 드롭 가능한 프레임들을 디코딩하기 위한 리소스들을 갖지 않는 경우, 디스플레이는 드롭 가능한 프레임들에 대해 제공된 프레임 레이트를 디스플레이할 수 없거나 또는 사용자가 더 낮은 재생 프레임 레이트를 선택하여, 디코더는 드롭 가능한 프레임들을 디코딩하지 못할 수 있다. 인코딩된 비디오 데이터는 드롭 가능한 각 프레임 상에 플래그를 포함시켜, 원한다면 디코더(422)가 이러한 프레임들을 드롭시킬 수 있게 할 수 있다. 다른 실시예에서, 인코더는 또한 인코딩된 비디오 데이터에서의 프레임들을 분석함으로써 어느 프레임들이 드롭 가능한지를 결정할 수 있다.
후처리기(430)는, 일반적으로 디스플레이(434)에서의, 렌더링을 위해 복원된 비디오 데이터를 컨디셔닝하기 위해서 비디오 처리를 수행할 수 있다. 전형적인 후처리 동작들은 디블로킹 필터(deblocking filter)들, 에지 검출 필터(edge detection filter)들, 링잉 필터(ringing filter)들 등을 적용하는 것을 포함할 수 있다. 후처리기(430)는 디스플레이(434) 상에 렌더링을 위해 복원된 비디오 시퀀스를 출력하거나, 또는 선택적으로, 이후의 검색 및 디스플레이를 위해 메모리(도시되지 않음)에 저장할 수 있다. 제어기(432)는 시스템(400)의 동작을 관리할 수 있다.
비디오 디코더(420)는, 인코더에 의해 사용된 것과 동일한 프로토콜인, H.263, H.264, MPEG-2 또는 HEVC와 같은 미리 결정된 프로토콜에 따라 디코딩 동작들을 수행할 수 있다. 비디오 디코더(420)는, 그의 동작 시에, 인코딩된 비디오 시퀀스에서의 시간적 및 공간적 중복성들을 활용하는 예측 디코딩 동작들을 포함한, 다양한 디코딩 동작들을 수행할 수 있다. 따라서, 코딩된 비디오 데이터는 사용되는 프로토콜에 의해 특정되는 신택스에 따를 수 있다.
실시예에서, 수신기(410)는 인코딩된 비디오를 이용하여 추가적인 데이터를 수신할 수 있다. 추가적인 데이터는, 비디오 프레임들에 대한 수집된 통계 자료들, 전처리기(320)(도 3에 도시됨)에 의해 수행되는 동작들에 대한 상세 사항들, 또는 어느 프레임들이 드롭 가능한지를 포함할 수 있다. 추가적인 데이터는 대역 외 데이터를 위한 운영 프로토콜에 의해 확립되는 채널을 통해 수신될 수 있다. 예를 들어, 수신기(410)는 보충 강화 정보(SEI) 채널 및/또는 비디오 유용성 정보(VUI) 채널을 통해 추가적인 데이터를 수신할 수 있다. 대안적으로, 추가적인 데이터는 인코딩된 비디오 프레임들의 일부로서 포함될 수 있다. 추가적인 데이터는 비디오 디코더(420) 및/또는 후처리기(430)에 의해 사용되어, 데이터를 적절히 디코딩하고 그리고/또는 원래 비디오 데이터를 더 정확하게 재구성할 수 있다.
도 5는 본 발명의 실시예에 따른 드롭 가능한 프레임들을 갖는 비디오 데이터를 인코딩하는 방법(500)을 도시한다. 이 방법은, 입력 비디오 데이터를 수신하는 것(박스 510), 입력 비디오 데이터의 프레임 레이트가 임계치 초과인지를 판정하는 것(박스 520), 입력 비디오 데이터의 프레임 레이트가 임계치 초과인 경우, 인코딩 시에 드롭 가능한 프레임들의 수를 증가시키는 것(박스 530), 및 입력 비디오 데이터를 코딩하는 것을 포함할 수 있다. 이 방법은 도 2에 도시된 코더(214)에 의해 수행될 수 있다.
입력 비디오 데이터는 비디오 소스(예컨대, 메모리 또는 카메라)로부터 수신될 수 있다(박스 510). 입력 비디오 데이터는 높은 프레임 레이트(예컨대, 120 fps 또는 240 fps)를 가질 수 있다. 입력 비디오 데이터의 프레임 레이트는, 디스플레이 디바이스 상에 디스플레이되거나 또는 디코더에 의해 디코딩될 수 있는 디폴트 프레임 레이트(예컨대, 24 fps, 25 fps, 30 fps 또는 60 fps) 보다 더 높을 수 있다. 디코더는 디스플레이 디바이스의 일부일 수 있다.
입력 비디오 데이터의 프레임 레이트가 임계치 초과인지를 판정하는 것(박스 520)은 입력 비디오 데이터의 프레임 레이트를 결정하는 것을 포함할 수 있다. 임계치는, 디스플레이 디바이스 상에 디스플레이되거나 또는 디코더에 의해 디코딩될 수 있는 디폴트 프레임 레이트(예컨대, 24 fps, 25 fps, 30 fps 또는 60 fps)일 수 있다. 임계치는 비디오 데이터를 디스플레이하기 위해 사용되는 디바이스 상에서의 이용 가능한 리소스들에 기초하여 동적으로 변화할 수 있다. 이러한 리소스들은 비디오 데이터를 디코딩하기 위해 사용되는 리소스들 및/또는 비디오 콘텐츠를 플레이하기 위해 사용되는 리소스들을 포함할 수 있다. 임계치는 비디오 데이터를 수신하는 모든 디바이스들에 의해 디스플레이될 수 있는 프레임 레이트로 설정될 수 있거나 또는 임계치는 디바이스들이 비디오 데이터를 디스플레이하는 평균 프레임 레이트로 설정될 수 있다. 임계치는 비디오 데이터를 디스플레이하기 위한 디바이스를 사용하여 사용자에 의해 설정된 재생 속도에 기초할 수 있다. 디폴트 프레임 레이트는 디스플레이 디바이스의 정상 재생 모드일 수 있다.
입력 비디오 데이터의 프레임 레이트가 임계치를 초과하는 경우(박스 520에서 예), 인코더는 인코딩된 비디오 데이터에서의 드롭 가능한 프레임들의 수를 증가시킬 수 있다. 드롭 가능한 프레임의 수는, 임의의 다른 프레임들의 예측 시에 사용되지 않는 추가적인 드롭 가능한 프레임들을 제공하도록 인코더 파라미터들을 변경함으로써 증가될 수 있다. 일 실시예에서, 드롭 가능한 프레임들의 수는, 임계치 프레임 레이트를 초과하는 임의의 프레임들에 대해 드롭 가능한 프레임을 제공하도록 증가될 수 있다. 예를 들어, 프레임 레이트 임계치가 60 fps이고 입력 비디오 데이터의 프레임 레이트가 240 fps일 때, 매 4개의 프레임들 중 적어도 3개가 드롭 가능한 프레임들로서 인코딩될 수 있다. 프레임 레이트 임계치가 60 fps이고 입력 비디오 데이터의 프레임 레이트가 120 fps일 때, 매 2개의 프레임들 중 적어도 1개가 드롭 가능한 프레임들로서 인코딩될 수 있다.
입력 비디오 데이터의 프레임 레이트가 임계치 이하인 경우(박스 520에서 아니오), 입력 비디오 데이터를 코딩하는 것(박스 540)은 디폴트 파라미터들을 이용하여 입력 비디오 데이터를 코딩하는 것을 포함할 수 있다. 디폴트 파라미터들은 인코딩된 비디오 데이터에서의 드롭 가능한 프레임들 및 드롭 불가능한 프레임들의 수에 대한 선호도가 없다고 특정할 수 있다. 디폴트 파라미터들을 이용하여 입력 비디오 데이터를 코딩하는 것은, 초당 드롭 가능한 프레임들의 수에 상관없이, 비트 레이트 요건들, 품질 요건들 및/또는 에러 회복 방침들에 의해 부과되는 제약들에 따라 입력 비디오 데이터를 인코딩하는 것을 포함할 수 있다.
입력 비디오 데이터의 프레임 레이트가 임계치 초과인 경우(박스 520에서 예), 입력 비디오 데이터를 코딩하는 것(박스 540)은 추가적인 드롭 가능한 프레임들을 제공하도록 변경된 파라미터들을 이용하여 입력 비디오 데이터를 코딩하는 것을 포함할 수 있다. 추가적인 드롭 가능한 프레임들을 제공하도록 변경된 파라미터를 이용하여 입력 비디오를 코딩하는 것은, 프레임들이 드롭 가능한 프레임들에서의 데이터에 의존할 수 없기 때문에, 비트 레이트를 증가시키고, 품질을 저하시키고 그리고/또는 에러 회복력을 증가시킬 수 있다. 입력 비디오 데이터를 인코딩하는 것은, 드롭 가능한 프레임들을 I-프레임들, P-프레임들 또는 B-프레임들로서 코딩하는 것을 포함할 수 있다. 비디오의 콘텐츠 및 인코딩 파라미터들은 드롭 가능한 프레임들이 코딩되는 방식을 결정하기 위해 사용될 수 있다. 추가적인 드롭 가능한 프레임들을 이용하여 비디오 데이터를 코딩하는 것은, 초당 특정한 수의 드롭 가능한 프레임들이 제공되는 것을 보장하도록 충분한 드롭 가능한 프레임들을 제공하는 것을 포함할 수 있다.
드롭 불가능한 프레임들은 정상 재생 모드에서 비디오 데이터의 디스플레이를 위해 사용될 수 있다. 드롭 가능한 프레임들 및 드롭 불가능한 프레임들은 강화된 재생 모드에서 비디오 데이터의 디스플레이를 위해 사용될 수 있다.
일단 입력 비디오 데이터가 코딩되면, 인코딩된 비디오 데이터는 송신될 수 있다(박스 550). 코딩된 비디오 데이터를 송신하는 것은, 인코딩된 비디오 데이터에서의 어느 프레임들이 드롭 가능한 프레임들인지를 송신하는 것을 포함할 수 있다. 코딩된 비디오 데이터를 송신하는 것은, 드롭 가능한 프레임들 및 드롭 불가능한 프레임들(즉, 다른 프레임들이 의존하는 데이터를 갖는 프레임들) 둘 모두를 송신하는 것을 포함할 수 있다.
도 6은 본 발명의 실시예에 따른 드롭 가능한 프레임들을 갖는 비디오 데이터를 디코딩하는 방법(600)을 도시한다. 이 방법(600)은 인코딩된 비디오 데이터를 수신하는 것(박스 610), 인코딩된 비디오 데이터의 프레임 레이트가 임계치 초과인지를 판정하는 것(박스 620), 인코딩된 비디오 데이터의 프레임 레이트가 임계치 초과인 경우(박스 620에서 예), 어느 프레임들이 드롭 가능한지를 결정하는 것(박스 630) 및 드롭 가능한 프레임들을 디코딩하지 않고 인코딩된 비디오 데이터를 디코딩하는 것(블록 640), 인코딩된 비디오 데이터의 프레임 레이트가 임계치를 초과하지 않는 경우(박스 620에서 아니오), 인코딩된 비디오 데이터를 디코딩하는 것(블록 650)을 포함할 수 있다.
인코딩된 비디오 데이터를 수신하는 것(박스 610)은 통신 채널을 통해 인코딩된 비디오 데이터를 수신하는 것을 포함할 수 있다. 인코딩된 비디오 데이터는 높은 프레임 레이트(예컨대, 120 fps 또는 240 fps)를 포함할 수 있다. 인코딩된 비디오 데이터의 프레임 레이트는, 디스플레이 디바이스 상에 디스플레이되거나 또는 디스플레이 디바이스에서의 디코더에 의해 디코딩될 수 있는 디폴트 프레임 레이트(예컨대, 24 fps, 25 fps, 30 fps 또는 60 fps) 보다 더 높을 수 있다. 인코딩된 비디오 데이터는 드롭 가능한 프레임들을 포함할 수 있고, 드롭 가능한 프레임들은 드롭 가능한 프레임들에서의 데이터에 의존하는 임의의 다른 프레임들을 갖지 않는다.
인코딩된 비디오 데이터의 프레임 레이트가 임계치 초과인지를 판정하는 것(박스 620)은 인코딩된 비디오 데이터의 프레임 레이트를 결정하는 것을 포함할 수 있다. 임계치는, 디스플레이 디바이스 상에 디스플레이되거나 또는 디코더에 의해 디코딩될 수 있는 디폴트 프레임 레이트(예컨대, 24 fps, 25 fps, 30 fps 또는 60 fps)일 수 있다. 임계치는 비디오 데이터를 디스플레이하기 위해 사용되는 디바이스 상에서의 이용 가능한 리소스들에 기초하여 동적으로 변화할 수 있다. 이러한 리소스들은 비디오 데이터를 디코딩하기 위해 사용되는 리소스 및/또는 비디오 콘텐츠를 플레이하기 위해 사용되는 리소스들을 포함할 수 있다. 임계치는 비디오 콘텐츠를 디스플레이하기 위해 사용되는 디바이스에 대해 미리 설정될 수 있다. 임계치는 비디오 데이터를 디스플레이하기 위한 디바이스를 사용하여 사용자에 의해 설정된 재생 속도(예컨대, 정상 모드 또는 강화된 모드)에 기초할 수 있다.
입력 비디오 데이터의 프레임 레이트가 임계치를 초과하는 경우(박스 620에서 예), 디코더는 인코딩된 비디오 데이터에서의 어느 프레임들이 드롭 가능한지를 결정할 수 있고(박스 630), 드롭 가능한 프레임들을 디코딩하지 않고 인코딩된 비디오 데이터를 디코딩할 수 있다(박스 640). 인코딩된 비디오 데이터는 어느 프레임들이 드롭 가능한 프레임들인지를 표시하기 위해 플래그를 포함할 수 있다. 다른 실시예에서, 디코더는 인코딩된 비디오 데이터에서의 어느 프레임들이 드롭 가능한지를 결정할 수 있다. 디코더는 프레임 레이트 임계치에 대응하는 프레임 레이트로 디코딩된 데이터를 제공하기 위해 필요한 프레임들만을 디코딩할 수 있다. 프레임 레이트 임계치가, 디코더 및/또는 디스플레이의 리소스들의 변경으로 인해, 동적인 경우, 디코더는 프레임 레이트 임계치를 추적하도록 디코딩되는 드롭 가능한 프레임들의 수를 변경할 수 있다. 따라서, 프레임 레이트 임계치가 증가되는 경우, 디코더는 디코딩되는 드롭 가능한 프레임들의 수를 증가시킬 수 있다. 프레임 레이트 임계치가 감소되는 경우, 디코더는 디코딩되는 드롭 가능한 프레임들의 수를 감소시킬 수 있다.
인코딩된 비디오 데이터의 프레임 레이트가 임계치 이하인 경우(박스 620에서 아니오), 디코더는 드롭 가능한 프레임들 및 드롭 불가능한 프레임들을 포함하는 인코딩된 비디오 데이터에서의 모든 프레임들을 디코딩할 수 있다(박스 650). 인코딩 비디오 데이터를 디코딩하는 것(박스 650)은 인코딩된 비디오 데이터에서의 모든 드롭 가능한 프레임들을 디코딩하는 것을 포함할 수 있다.
방법(600)은 디바이스의 디스플레이 상에 디코딩된 비디오 데이터를 디스플레이하는 것(박스 660)을 포함할 수 있다.
도 7은 슬로 모션 재생을 위해 드롭 가능한 프레임들을 갖는 비디오 데이터를 디코딩하는 방법을 도시한다. 이 방법(700)은 인코딩된 비디오 데이터를 수신하는 것(박스 710), 표준 프레임 레이트로 디코딩된 비디오 데이터를 제공하도록 인코딩된 비디오 데이터를 디코딩하는 것(박스 720), 표준 프레임 레이트로 디코딩된 비디오 데이터를 디스플레이하는 것(박스 730), 슬로 모션 재생으로 비디오 데이터를 디스플레이하기 위한 커맨드를 수신하는 것(박스 740), 커맨드에 응답하여, 증가된 프레임 레이트로 디코딩된 비디오 데이터를 제공하도록 인코딩된 비디오 데이터를 디코딩하는 것(박스 750), 및 슬로 모션 재생으로 디코딩된 비디오 데이터를 디스플레이하는 것(박스 760)을 포함할 수 있다.
인코딩된 비디오 데이터를 수신하는 것(박스 710)은 통신 채널을 통해 인코딩된 비디오 데이터를 수신하는 것을 포함할 수 있다. 인코딩된 비디오 데이터는 높은 프레임 레이트(예컨대, 120 fps 또는 240 fps)를 포함할 수 있다. 인코딩된 비디오 데이터의 프레임 레이트는, 디스플레이 디바이스 상에 디스플레이되거나 또는 디스플레이 디바이스에서의 디코더에 의해 디코딩될 수 있는 디폴트 프레임 레이트(예컨대, 24 fps, 25 fps, 30 fps 또는 60 fps) 보다 더 높을 수 있다. 인코딩된 비디오 데이터는 드롭 가능한 프레임들을 포함할 수 있고, 드롭 가능한 프레임들은 드롭 가능한 프레임들에서의 데이터에 의존하는 임의의 다른 프레임들을 갖지 않는다.
인코딩된 비디오 데이터는 표준 프레임 레이트로 디코딩된 비디오 데이터를 제공하도록 디코딩될 수 있다(박스 720). 표준 프레임 레이트(예컨대, 30 fps)는 디바이스의 디스플레이 상에 통상적으로 디스플레이되는 레이트 또는 디코더 및/또는 디스플레이의 리소스들에 의해 취급될 수 있는 레이트일 수 있다. 인코딩된 비디오 데이터를 디코딩하는 것은 인코딩된 비디오가 디코딩되기 전에 드롭 가능한 프레임들을 드롭시키는 것을 포함할 수 있다. 드롭되는 드롭 가능한 프레임들의 수는, 디코딩된 비디오 데이터의 프레임 레이트를 표준 프레임 레이트에 이르게 하기 위해 필요한 프레임들의 수에 대응할 수 있다. 디코딩된 비디오 데이터는 디바이스의 디스플레이 상에 표준 프레임 레이트로 디스플레이될 수 있다(박스 730).
사용자가 슬로 모션 재생으로 비디오 데이터를 디스플레이하기 위한 커맨드를 발행할 수 있다(박스 740). 사용자는 표준 프레임 레이트로 비디오 데이터의 재생 동안(박스 730) 커맨드를 발행할 수 있다. 커맨드에 응답하여, 인코딩된 비디오 데이터는 증가된 프레임 레이트로 디코딩된 비디오 데이터를 제공하도록 디코딩될 수 있다(박스 750). 증가된 프레임 레이트는, 동일한 비디오 콘텐츠를 동일한 프레임 레이트(예컨대, 표준 프레임 레이트)로 디스플레이하지만 슬로 모션 재생으로 드롭 가능한 프레임들로부터의 추가적인 비디오 콘텐츠를 디스플레이하기 위해(박스 760) 사용될 수 있다. 슬로 모션을 제공하기 위해 사용되는 드롭 가능한 프레임들의 타이밍은, 표준 프레임 레이트로 드롭 가능한 프레임들을 디스플레이하기 위해 변경될 수 있다.
디스플레이할 프레임들의 수를 증가시키기 위해, 인코더는 추가적인 드롭 가능한 프레임들을 디코딩할 수 있다. 디코딩되는 추가적인 드롭 가능한 프레임들의 수는 사용자에 의해 선택되는 슬로 모션 재생 속도에 대응할 수 있다. 따라서, 선택되는 재생 속도가 감소되는 경우, 더 많은 드롭 가능한 프레임들이 디코딩될 수 있다. 사용자가 표준 재생 속도를 선택할 때, 디코더는 다시, 드롭되는 드롭 가능한 프레임들의 수를 증가시켜, 디코딩된 비디오 데이터의 프레임 레이트를 표준 프레임 레이트로 감소시킬 수 있다.
도 8은 본 발명의 실시예에 따라 슬로 모션으로 비디오 데이터를 처리하는 방법을 도시한다. 이 방법(800)은 인코딩된 비디오 데이터를 수신하는 것(박스 810), 슬로 재생을 위한 커맨드를 수신하는 것(박스 820), 슬로 재생을 위해 인코딩된 비디오 데이터를 처리하는 것(박스 830) 및 인코딩된 비디오 데이터를 출력하는 것(박스 840)을 포함할 수 있다. 이 방법(800)은 입력 비디오 데이터를 트랜스코딩하지 않고 수행될 수 있다. 이 방법(800)은 소프트웨어 및/또는 하드웨어에서 수행될 수 있다.
인코딩된 비디오 데이터를 수신하는 것(박스 810)은 통신 채널을 통해 또는 저장 디바이스로부터 인코딩된 비디오 데이터를 수신하는 것을 포함할 수 있다. 인코딩된 비디오 데이터는 높은 프레임 레이트(예컨대, 120 fps 또는 240 fps)를 포함할 수 있다. 인코딩된 비디오 데이터의 프레임 레이트는, 디스플레이 디바이스 상에 비디오 콘텐츠를 디스플레이하기 위해 사용되는 디폴트 프레임 레이트(예컨대, 24 fps, 25 fps, 30 fps 또는 60 fps) 보다 더 높을 수 있다. 디폴트 프레임 레이트는 비디오 콘텐츠를 디코딩하고 그리고/또는 디스플레이하기 위해 디스플레이 디바이스 상에서의 이용 가능한 리소스들에 의해 제한될 수 있다. 도 8에 도시된 바와 같이, 입력 인코딩된 비디오 데이터(812)는 드롭 가능한 프레임들('d') 및 드롭 불가능한 프레임들('I' 및 'P')을 포함할 수 있다. 드롭 가능한 프레임들은, 드롭 가능한 프레임들에서의 데이터에 의존하는 임의의 다른 프레임들을 갖지 않는 프레임들을 포함할 수 있다. 드롭 불가능한 프레임들은 다른 프레임들을 인코딩하기 위한 참조 프레임들로서 사용되는 프레임들을 포함할 수 있다. 앞서 논의된 바와 같이, I 프레임들, P 프레임들 및 B 프레임들은 다른 프레임들(예컨대, P 프레임들 또는 B 프레임들)이 디코딩되기 위해 그들에 의존하지 않는 경우 드롭 가능할 수 있다. 도 8에서 입력 비디오 데이터가 각 I-프레임 및 각 P-프레임을 뒤따르는 3개의 드롭 가능한 프레임들의 패턴을 갖는 화상들의 그룹(group of pictures, GOP)으로 도시되어 있지만, 다른 패턴들이 GOP에 포함될 수 있다.
슬로 모션 재생을 위한 커맨드를 수신하는 것(박스 820)은 슬로 모션으로 디스플레이되어야 하는 입력 비디오 데이터의 부분의 선택을 포함할 수 있다. 슬로 모션으로 디스플레이하는 것은, 선택된 부분의 각 프레임에 나타낸 콘텐츠의 지속기간을 변경할 수 있다. 도 8의 예에서, 입력 비디오 데이터(822)는 원래 프레임 레이트의 0.25x의 슬로 모션 레이트로 디스플레이되도록 선택되는 프레임들(8 내지 15)을 포함할 수 있다. 프레임들(0 내지 7) 및 프레임들(16 내지 23)은 슬로 모션으로 디스플레이하도록 선택되지 않을 수 있다.
슬로 모션 재생을 위한 커맨드(박스 820)는 슬로 모션 재생을 시작하는 시작 시간 또는 시작 프레임을 포함할 수 있다. 커맨드는 슬로 모션 재생을 위한 시작 프레임 및 종료 프레임, 또는 대안적으로 시작 시간 및 종료 시간을 포함할 수 있다. 대안적으로, 커맨드는 슬로 모션 재생이 제공되어야 하는 시작 프레임/시간 및 지속기간(예컨대, 프레임들의 수 또는 시간으로)을 포함할 수 있다. 커맨드는 슬로 모션 재생을 위한 속도 또는 확장 인자(scaling factor)를 포함할 수 있다. 일 실시예에서, 입력 비디오 데이터의 부분에 적용되는 슬로 모션 재생 속도는 고정된 값들(예컨대, 원래 레이트의 0.25x, 0.5x 또는 0.75x 속도)로 미리 정의될 수 있다. 슬로 모션 재생을 위한 커맨드는, 높은 프레임 레이트를 갖는 원래 비디오 데이터에서의 비디오 콘텐츠에 대해 이루어진 선택들로부터, 프레임 콘텐츠를 디스플레이하기 위해 사용되는 디폴트 프레임 레이트(예컨대, 30 fps)로 제공되는 비디오 데이터에 대해 이루어진 선택들로부터, 또는 원래 높은 프레임 레이트의 콘텐츠에서의 참조 프레임들(예컨대, I-프레임들 및/또는 P-프레임들)에 기초하여 이루어진 선택들로부터 수신될 수 있다. 슬로 모션을 위한 커맨드는, 비디오 데이터가 디폴트 프레임 레이트로 디스플레이 디바이스 상에 디스플레이되고 있는 동안 수신될 수 있다.
슬로 모션 재생을 위한 커맨드에 응답하여, 입력 인코딩된 비디오 데이터는 입력 비디오 데이터의 선택된 부분의 타이밍(예컨대, 프레임들의 지속기간)을 조정하도록 처리될 수 있다. 입력 비디오 데이터의 선택된 부분에서의 프레임들의 지속기간은 선택된 슬로 모션 속도(예컨대, 원래 레이트의 0.25x 또는 0.5x의 재생)를 제공하도록 증가될 수 있다. 예를 들어, 입력 비디오 데이터의 프레임 레이트가 120 fps이고 입력 비디오 데이터의 부분이 원래 비디오 데이터 콘텐츠의 속도의 0.25X로 디스플레이되는 경우, 선택된 부분에서의 프레임들의 지속기간은 30 fps를 제공하도록 조정될 수 있는 반면에, 선택되지 않은 부분에서의 프레임들의 지속기간은 120 fps로 유지될 수 있다.
일 실시예에서, 입력 비디오 데이터의 선택된 부분에서의 프레임들의 지속기간은, 비디오 데이터의 콘텐츠를 디스플레이하기 위해 사용될 고정된 프레임 레이트에 기초하여 선택된 슬로 모션 속도로 비디오 콘텐츠를 디스플레이하도록 증가될 수 있다. 예를 들어, 입력 비디오 데이터의 프레임 레이트가 120 fps이고, 출력 비디오 데이터의 프레임 레이트가 30 fps로 설정되고, 입력 비디오 데이터의 선택된 부분이 원래 레이트의 속도의 0.25X로 디스플레이되는 경우, 선택된 부분에서의 프레임들의 지속기간은 (임의의 프레임들을 드롭시키지 않고) 30 fps를 제공하도록 조정될 수 있고, 선택되지 않은 부분에서의 다수의 프레임들이 드롭될 수 있고 선택되지 않은 부분에서의 나머지 프레임들의 지속기간은 30 fps를 제공하도록 조정될 수 있다.
다른 실시예에서, 입력 비디오 데이터의 선택 부분에서의 하나 이상의 프레임들은, 고정된 디스플레이 프레임 레이트들로 원하는 슬로 모션을 달성하도록 드롭될 수 있다. 슬로 모션으로 디스플레이되는 선택된 부분에서의 프레임들은, 디스플레이 프레임 레이트와 입력 비디오 데이터 프레임 레이트 간의 비가 비디오 데이터의 그 부분에 적용되는 슬로 모션 속도(예컨대, 0.25 또는 0.5) 미만인 경우 드롭될 수 있다. 예를 들어, 입력 비디오 데이터의 프레임 레이트가 240 fps이고, 디스플레이된 비디오 데이터의 프레임 레이트가 30 fps이고, 원하는 슬로 모션 속도가 0.25X인 경우, 비디오 데이터의 선택된 부분에서의 프레임들의 절반이 드롭될 수 있고, 선택된 부분에서의 프레임들의 나머지의 지속기간은 30 fps로 출력되도록 증가될 수 있다.
일 실시예에서, 슬로 재생을 위해 인코딩된 비디오 데이터를 처리하는 것(박스 830)은, 선택된 부분에서의 프레임들을 리타이밍하는 것(박스 832), 드롭 가능한 프레임들을 드롭시키는 것(박스 834) 및/또는 인코딩된 비디오 데이터를 일정한 프레임 레이트로 출력하도록 선택되지 않은 부분에서의 프레임 레이트를 변환하는 것(박스 836)을 포함할 수 있다.
프레임들을 리타이밍하는 것(박스 832)은, 슬로 모션을 위해 선택되는 부분에서의 프레임들의 지속기간을 변경하는 것을 포함할 수 있다. 도 8의 예에서, 이미지 시퀀스(833)에서의 프레임들(8 내지 15)의 지속기간은 원래 프레임 레이트의 0.25X 속도를 제공하도록 변경될 수 있다. 선택된 부분에서의 각 프레임은 출력 프레임 레이트를 제공하도록 조정될 수 있다. 슬로 모션을 위해 선택되지 않은 프레임들(예컨대, 프레임들(0 내지 7) 및 프레임들(16 내지 23))은 동일한 지속기간으로 유지될 수 있다.
드롭 가능한 프레임들을 드롭시키는 것(박스 834)은 슬로 모션을 위해 선택되지 않은 이미지 시퀀스의 부분에서의 드롭 가능한 프레임들을 드롭시키는 것을 포함할 수 있다. 프레임들은 비디오 콘텐츠가 디스플레이될 프레임 레이트를 제공하도록 드롭될 수 있다. 예를 들어, 입력 비디오 데이터가 120 fps로 제공되고 출력 비디오 데이터가 30 fps로 디스플레이되는 경우, 프레임들의 3분의 1이 드롭될 수 있다. 도 8에 도시된 바와 같이, 이미지 시퀀스(835)에서의 프레임들(1, 2, 3, 5, 6, 7, 17, 18, 19, 21, 22, 23)이 드롭될 수 있다. 앞서 논의된 바와 같이, 일부 실시예들에서, 선택된 부분에서의 프레임들이 또한 드롭될 수 있다.
프레임들이 드롭된 후에, 선택되지 않은 부분에서의 프레임들의 프레임 레이트가 조정될 수 있다(박스 836). 프레임 레이트의 조정은 출력 비디오 데이터에 일정한 프레임 레이트를 제공하도록 프레임들의 지속기간을 조정하는 것을 포함할 수 있다. 도 8의 예에서, 이미지 시퀀스(837)의 선택된 부분 및 선택되지 않은 부분에서의 모든 프레임들이 동일한 프레임 레이트(예컨대, 30 fps)로 제공될 수 있다.
인코딩된 비디오 데이터를 출력하는 것(박스 840)은 디스플레이 디바이스 상에 처리된 비디오 데이터를 디스플레이하는 것, 메모리 또는 저장 디바이스에 처리된 비디오를 저장하는 것, 또는 통신 채널을 통해 처리된 비디오를 송신하는 것을 포함할 수 있다. 처리된 비디오 데이터는 후속 프로세스(예컨대, 시각적 효과들을 적용하거나 또는 비디오 데이터를 처리하는 것)에 의해 처리되기 위해 또는 이후의 디스플레이를 위해 저장될 수 있다. 후속 프로세스들은 정규 재생과 슬로 모션 재생 사이에서의 전이들에 시각적 효과들을 적용하는 것을 포함할 수 있다.
도 9는 본 발명의 실시예에 따라 처리될 수 있는 비디오 데이터의 이미지 시퀀스들을 도시한다. 입력 이미지 시퀀스(910)는 대략 0.2초의 비디오 콘텐츠를 제공하기 위해 120 fps로 캡처되는 23개의 프레임들을 나타낼 수 있다. 도 9에 도시된 예는 특정 수의 프레임들로 도시되어 있지만, 본 발명의 실시예는 그렇게 제한되지는 않는다.
입력 이미지 시퀀스(910)는 슬로 모션을 위해 선택된 부분(912), 선택되지 않은 부분들(914), 및 중간 슬로 모션 부분들(916)을 포함할 수 있다. 입력 이미지 시퀀스(910)는 참조 프레임(I), 드롭 가능한 프레임들(p), 및 드롭 불가능한 프레임들(P)을 포함하는 프레임들의 GOP를 포함할 수 있다. 프레임들의 GOP는 이미지 시퀀스(910)에 나타낸 프레임들의 구조로 한정되지 않을 수 있다.
입력 이미지 시퀀스(910)에서의 프레임들의 그룹은 슬로 모션 재생을 위해 선택되는 시퀀스(912)의 부분을 제공하도록 선택될 수 있다. 선택들은 그 부분들이 I 프레임 상에서 또는 드롭 불가능한 프레임들(P) 상에서 시작하도록 이루어질 수 있다. 입력 이미지 시퀀스(910)는 슬로 모션 재생을 위해 선택되지 않은 부분들(914)을 포함할 수 있다. 사용자가 슬로 모션 재생 부분(912)에 대한 확장 인자를 선택할 수 있다. 사용자는 미리 정의된 슬로 모션 속도들(예컨대, 0.75X, 0.5X 및 0.25X)로부터 슬로 모션 재생 부분(912)에 적용되는 슬로 모션을 선택할 수 있다.
입력 시퀀스는 중간 슬로 모션 재생을 위한 시퀀스의 부분들(916)을 포함할 수 있다. 중간 슬로 모션 재생 부분들(916)은 이미지 콘텐츠의 재생 속도를 점진적으로 조정하기 위해 사용될 수 있다. 중간 슬로 모션 재생 부분들(916)은 시스템에 의해 설정되거나 또는 사용자에 의해 선택될 수 있다. 시스템은 슬로 모션 재생 부분(912)에 대해 이루어진 선택들에 기초하여 중간 슬로 모션 재생 부분들(916)의 지속기간 및/또는 슬로 모션 재생을 설정할 수 있다. 일 실시예에서, 시스템 또는 사용자는 슬로 모션 재생 부분(912)으로부터 또는 선택되지 않은 부분들(914)로부터 중간 슬로 모션 재생 부분들(916)에 대한 프레임들을 선택할 수 있다.
입력 이미지 시퀀스(910)에서의 프레임들은 슬로 모션 재생 부분(912) 및/또는 중간 슬로 모션 재생 부분들(916)에서 선택된 재생을 제공하도록 리타이밍될 수 있다. 예를 들어, 슬로 모션 재생 부분(912)에서의 각 프레임의 지속기간은, 0.25X 확장을 제공하도록 1/120초에서부터 1/30초로 조정될 수 있다. 중간 슬로 모션 재생 부분들(916)에서의 각 프레임의 지속기간은, 0.25 확장을 제공하도록 1/120초에서부터 1/60초로 조정될 수 있다. 선택되지 않은 부분들(914)에서의 프레임들의 지속기간은 1/120초로 유지될 수 있다. 조정된 타이밍을 갖는 입력 시퀀스의 예가 이미지 시퀀스(920)에 나타나 있다. 이미지 시퀀스(920)에 나타낸 바와 같이, 조정된 타이밍으로 인해, 이미지 시퀀스는 가변 프레임 레이트를 포함할 수 있다.
일정한 프레임 레이트를 제공하기 위해, 이미지 시퀀스(920)로부터 복수의 프레임들이 드롭될 수 있다. 이미지 시퀀스(930)는 드롭 가능한 프레임들이 제거된 후의 이미지 시퀀스를 예시한다. 이미지 시퀀스(930)에 나타낸 바와 같이, 선택되지 않은 부분들(914)로부터 프레임들의 3/4이 제거될 수 있고, 중간 슬로 모션 재생 부분들(916)로부터 프레임들의 1/2이 제거될 수 있고, 슬로 모션 재생 부분(912)으로부터 프레임들이 제거되지 않을 수 있다.
드롭 가능한 프레임들이 제거된 후에, 일정한 프레임 레이트를 제공하기 위해 나머지 프레임들에 대해 리타이밍이 수행될 수 있다. 이미지 시퀀스(940)는 조정된 프레임 지속기간을 갖는 출력 시퀀스를 예시한다. 이미지 시퀀스(940)는 대략 0.47초의 비디오를 제공하는 30 fps로 14개의 프레임들을 나타낼 수 있다. 이미지 시퀀스(940)에서의 프레임들의 총 지속기간은 이미지 시퀀스(920)에서의 프레임들의 총 지속기간에 대응할 수 있다. 그러나, 이미지 시퀀스(920)에서의 프레임들은 가변 프레임 레이트를 포함할 수 있다. 출력 시퀀스(940)는 디스플레이 디바이스 상에 디스플레이되거나, 저장 디바이스에 저장되거나, 또는 통신 채널을 통해 다른 디바이스로 송신될 수 있다.
도 8 및 도 9에 도시된 실시예들은 일정한 높은 프레임 레이트를 갖는 입력 이미지 시퀀스로 도시되어 있지만, 이러한 실시예들은 가변 프레임 레이트들을 갖는 입력 이미지 시퀀스들로 연장될 수 있다.
일부 응용들에서, 이상 설명된 모듈들은 통합 소프트웨어 시스템의 요소들로서 제공될 수 있는데, 여기서 블록들은 컴퓨터 프로그램의 별도의 요소들로서 제공될 수 있다. 일부 실시예들은, 예를 들어, 프로세서에 의해 실행되는 경우, 프로세서로 하여금 개시된 실시예들에 따른 방법을 수행하게 하도록 할 수 있는 명령어 또는 명령어들의 세트를 저장할 수 있는 비일시적 컴퓨터-판독가능 저장 매체 또는 물품을 사용하여 구현될 수 있다. 본 발명의 다른 응용들은 전용 하드웨어 및 소프트웨어 컴포넌트들의 하이브리드 시스템으로서 구체화될 수 있다.
예시적인 방법들 및 컴퓨터 프로그램 명령어들은 비일시적 기계 판독가능 저장 매체 상에서 구체화될 수 있다. 또한, 서버 또는 데이터베이스 서버는 기계 실행가능 프로그램 명령어들을 저장하도록 구성된 기계 판독가능 매체를 포함할 수 있다. 본 발명의 실시예들의 특징부들은 하드웨어, 소프트웨어, 펌웨어, 또는 그들의 조합으로 구현될 수 있고, 그들의 시스템들, 서브시스템들, 컴포넌트들 또는 서브컴포넌트들에서 이용될 수 있다. "기계 판독가능 저장 매체"는 정보를 저장할 수 있는 임의의 매체를 포함할 수 있다. 기계 판독가능 저장 매체의 예들에는 전자 회로들, 반도체 메모리 디바이스, ROM, 플래시 메모리, 소거가능 ROM(EROM), 플로피 디스켓, CD-ROM, 광 디스크, 하드 디스크, 광섬유 매체, 또는 임의의 전자기 또는 광 저장 디바이스가 포함된다.
(임의의 개발 계획에서와 같이) 임의의 실제 구현의 개발에 있어서, 많은 결정들이 개발자의 특정 목적들(예를 들면, 시스템 및 비지니스 관련 제약 조건을 준수)을 성취하도록 만들어져야만 하고, 이러한 목적들이 구현에 따라 변화할 것임이 이해될 것이다. 또한, 이러한 개발 노력들은 복잡하며 시간이 걸릴 수 있으나, 그럼에도 불구하고 본 발명의 이익을 갖는 디지털 비디오 캡처, 처리 및 분배 분야에서 당업자에게는 일상적인 것임이 이해될 것이다.
본 명세서에서 예시되고 설명된 프로세스들은 일련의 단계들을 포함하지만, 일부 단계들이 상이한 순서로 일어날 수 있고, 일부는 본 명세서에 나타내고 설명된 것 외의 다른 단계들과 동시에 일어날 수 있기 때문에, 본 발명의 상이한 실시예들이 단계들의 예시된 순서에 의해 제한되지 않는다는 것이 이해될 것이다. 추가로, 예시된 모든 단계들이 본 발명에 따른 방법론을 구현하기 위해 필요한 것은 아니다. 게다가, 프로세스들은 본 명세서에 예시되고 설명된 장치 및 시스템들과 관련하여 뿐만 아니라 예시되지 않은 다른 시스템들과 관련하여 구현될 수 있음이 이해될 것이다.
상기 설명이 의도적인 예시이며, 제한하려는 것이 아님이 이해될 것이다. 예를 들면, 상기 설명된 실시예들은 서로 조합하여 이용될 수 있다. 많은 다른 실시예들이 상기 설명을 검토할 때 당업자에게 명백할 것이다. 그러므로, 본 발명의 범주는 첨부된 청구범위를 참조하여, 이러한 청구범위가 부여하게 되는 등가물들의 전체 범주와 함께 결정되어야 한다.

Claims (20)

  1. 코딩 방법으로서,
    선택 코딩된 프레임(select coded frame)들이 다른 코딩된 프레임들에 대한 예측 참조들로서 기능하는 예측 코딩 기법들에 따라 이미지 시퀀스를 코딩하는 단계를 포함하고, 상기 코딩하는 단계는,
    정상 재생 모드(normal playback mode) 동안 디스플레이되는 이미지 시퀀스로부터의 프레임들을, 강화된 재생 모드(enhanced playback mode) 동안 디스플레이되는 이미지 시퀀스의 다른 프레임들과 구별하는 단계,
    상기 정상 재생 모드와 연관된 프레임들에 대해, 각각의 프레임들이 상기 이미지 시퀀스의 다른 프레임들에 대한 예측 참조들로서 기능하는 후보들이 되는 상기 예측 코딩 기법들에 따라 프레임들을 코딩하는 단계, 및
    상기 강화된 재생 모드와 연관된 프레임들에 대해, 각각의 프레임들이 상기 이미지 시퀀스의 다른 프레임들에 대한 예측 참조들로서 기능하는 것을 방지하는 상기 예측 코딩 기법들에 따라 프레임들을 코딩하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 이미지 시퀀스는 상기 정상 재생 모드의 프레임 레이트를 초과하는 프레임 레이트를 갖는 복수의 프레임들을 포함하는, 방법.
  3. 제1항에 있어서, 상기 이미지 시퀀스는 상기 강화된 재생 모드의 프레임 레이트와 적어도 일치하는 프레임 레이트를 갖는 복수의 프레임들을 포함하는, 방법.
  4. 제1항에 있어서, 코딩된 이미지 시퀀스를 통신 채널을 통해 송신하는 단계를 추가로 포함하는, 방법.
  5. 제1항에 있어서, 상기 이미지 시퀀스는 가변 프레임 레이트를 갖는, 방법.
  6. 제1항에 있어서, 상기 정상 재생 모드의 프레임 레이트는 상기 이미지 시퀀스를 디스플레이 디바이스 상에 디스플레이하기 위해 사용되는 프레임 레이트인, 방법.
  7. 제1항에 있어서, 상기 강화된 모드와 연관된 프레임들은 인트라-프레임(I-프레임), 예측 프레임(P-프레임) 및 양방향 프레임(B-프레임)을 포함하는, 방법.
  8. 디코딩 방법으로서,
    디코딩된 비디오에 대한 재생 모드를 정상 재생 모드 및 강화된 재생 모드로부터 결정하는 단계,
    선택 코딩된 프레임들이 예측 참조들로서 다른 코딩된 프레임들을 사용하여 코딩되는 예측 디코딩 기법들에 따라, 코딩된 이미지 시퀀스를 디코딩하는 단계를 포함하고, 상기 디코딩하는 단계는,
    상기 정상 재생 모드가 선택되는 경우,
    상기 코딩된 이미지 시퀀스로부터 상기 강화된 재생 모드와 연관된 코딩된 프레임들을 드롭(drop)시키는 단계, 및
    상기 예측 디코딩 기법들에 따라 나머지 프레임들을 디코딩하는 단계, 및
    상기 강화된 재생 모드가 선택되는 경우,
    상기 예측 디코딩 기법들에 따라, 상기 강화된 재생 모드와 연관되는 상기 코딩된 이미지 시퀀스의 프레임들을 디코딩하는 단계 - 상기 프레임들은 상기 정상 재생 모드의 프레임들 및 상기 코딩된 이미지 시퀀스로부터의 추가적인 프레임들을 포함함 - 를 포함하는, 방법.
  9. 제8항에 있어서, 상기 코딩된 이미지 시퀀스의 예측 참조들은, 코딩된 프레임들이 상기 강화된 재생 모드에 속하지만 상기 정상 재생 모드에 속하지 않는 경우 상기 코딩된 프레임들이 상기 이미지 시퀀스의 다른 부분들에 대한 예측 참조로서 기능하는 것을 방지하도록 제한되는, 방법.
  10. 제8항에 있어서, 상기 코딩된 이미지 시퀀스는 상기 정상 재생 모드의 프레임 레이트를 초과하는 프레임 레이트를 갖는 복수의 프레임들을 포함하는, 방법.
  11. 제8항에 있어서, 상기 코딩된 이미지 시퀀스는 가변 프레임 레이트를 갖는, 방법.
  12. 제8항에 있어서, 상기 강화된 모드와 연관된 프레임들은 인트라-프레임(I-프레임), 예측 프레임(P-프레임) 및 양방향 프레임(B-프레임)을 포함하는, 방법.
  13. 제8항에 있어서, 상기 강화된 모드는 상기 코딩된 이미지 시퀀스를 디코딩하기 위해 이용 가능한 리소스들에 기초하여 선택되는, 방법.
  14. 제8항에 있어서, 상기 강화된 모드는 상기 코딩된 이미지 시퀀스의 부분을 슬로 모션(slow motion)으로 디스플레이하기 위해 선택되는, 방법.
  15. 복수의 코딩된 프레임들을 포함하는 예측-코딩된 이미지 시퀀스를 저장하는 비일시적인 저장 디바이스로서, 선택 코딩된 프레임들이 다른 코딩된 프레임들에 대한 예측 참조들로서 기능하고, 상기 이미지 시퀀스는 정상 재생 모드 및 정상 재생 모드보다 더 큰 수의 프레임들을 갖는 강화된 재생 모드 둘 모두를 지원하도록 다수의 코딩된 프레임들을 포함하고, 상기 정상 재생 모드와 연관된 선택 코딩된 프레임들은 상기 이미지 시퀀스의 다른 프레임들에 대한 예측 참조들로서 기능하지만 상기 강화된 재생 모드와 연관된 코딩된 프레임들은 상기 이미지 시퀀스의 다른 프레임들에 대한 예측 참조들로서 기능하지 않는, 비일시적인 저장 디바이스.
  16. 슬로 모션 재생을 위해 코딩된 이미지 시퀀스를 처리하는 방법으로서,
    디스플레이 프레임 레이트보다 더 높은 프레임 레이트를 갖는 코딩된 이미지 시퀀스를 수신하는 단계;
    슬로 모션 재생을 위해 상기 인코딩된 이미지 시퀀스의 부분을 선택하는 커맨드를 수신하는 단계;
    상기 선택된 부분에서의 프레임들을 리타이밍(retiming)하여 상기 디스플레이 프레임 레이트로 프레임들을 제공하는 단계; 및
    상기 선택된 부분 외의 상기 코딩된 이미지 시퀀스의 부분들로부터 코딩된 프레임들을 드롭시키는 단계를 포함하고, 상기 드롭된 코딩된 프레임들은, 각각의 프레임들이 상기 이미지 시퀀스의 다른 프레임들에 대한 예측 참조들로서 기능하는 것을 방지하는 예측 코딩 기법들에 따라 코딩되는 프레임들을 포함하는, 방법.
  17. 제16항에 있어서, 상기 코딩된 프레임들을 드롭시킨 후에, 상기 선택된 부분 외의 부분들에서의 나머지 프레임들을 리타이밍하는 단계를 추가로 포함하는, 방법.
  18. 제16항에 있어서, 메모리에 상기 드롭된 코딩된 프레임들 없이 상기 인코딩된 이미지 시퀀스를 저장하는 단계를 추가로 포함하는, 방법.
  19. 제16항에 있어서, 상기 드롭된 코딩된 프레임들을 디코딩하지 않고 상기 코딩된 이미지 시퀀스를 디코딩하는 단계를 추가로 포함하는, 방법.
  20. 제16항에 있어서, 상기 선택된 부분에 인접한 상기 이미지 시퀀스의 부분에서 중간 슬로 모션 부분을 생성하는 단계를 추가로 포함하고, 상기 중간 슬로 모션 부분은 디폴트 재생 속도와 상기 선택된 부분의 재생 속도 사이에서 전이되는 재생 속도를 포함하는, 방법.
KR1020157034630A 2013-06-07 2014-03-19 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝 KR101859155B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361832447P 2013-06-07 2013-06-07
US61/832,447 2013-06-07
US201361841635P 2013-07-01 2013-07-01
US61/841,635 2013-07-01
US13/972,434 2013-08-21
US13/972,434 US10009628B2 (en) 2013-06-07 2013-08-21 Tuning video compression for high frame rate and variable frame rate capture
PCT/US2014/031236 WO2014197106A1 (en) 2013-06-07 2014-03-19 Tuning video compression for high frame rate and variable frame rate capture

Publications (2)

Publication Number Publication Date
KR20160007564A true KR20160007564A (ko) 2016-01-20
KR101859155B1 KR101859155B1 (ko) 2018-05-18

Family

ID=52005460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157034630A KR101859155B1 (ko) 2013-06-07 2014-03-19 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝

Country Status (6)

Country Link
US (1) US10009628B2 (ko)
EP (1) EP3005701A1 (ko)
KR (1) KR101859155B1 (ko)
CN (1) CN105264892B (ko)
AU (1) AU2014275405B2 (ko)
WO (1) WO2014197106A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180078149A (ko) * 2016-12-29 2018-07-09 엑시스 에이비 녹화된 비디오를 재생하기 위한 방법 및 시스템
KR20180112510A (ko) * 2017-04-04 2018-10-12 한국전자통신연구원 영상 부호화 및 복호화 장치
EP3748424A1 (en) 2016-01-21 2020-12-09 LG Electronics Inc. Display device
WO2022169124A1 (ko) * 2021-02-05 2022-08-11 삼성전자 주식회사 복수의 디스플레이를 포함하는 디스플레이 시스템 및 그 영상 출력 방법
US11948533B2 (en) 2021-02-05 2024-04-02 Samsung Electronics Co., Ltd. Display system including plurality of displays and image output method thereof

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9531959B2 (en) * 2014-08-29 2016-12-27 Semiconductor Components Industries, Llc Imaging systems and methods for capturing image data at high scan rates
KR102646030B1 (ko) * 2016-12-15 2024-03-12 삼성전자주식회사 영상제공장치, 그의 제어 방법 및 영상제공시스템
TWI679884B (zh) * 2017-03-31 2019-12-11 鴻海精密工業股份有限公司 視頻加密和解密的方法及裝置
CN108933952A (zh) * 2017-05-26 2018-12-04 中兴通讯股份有限公司 一种视频播放方法、装置、计算机设备及计算机可读介质
US10979744B2 (en) * 2017-11-03 2021-04-13 Nvidia Corporation Method and system for low latency high frame rate streaming
US10798335B2 (en) * 2018-05-14 2020-10-06 Adobe Inc. Converting variable frame rate video to fixed frame rate video
CN108989849B (zh) * 2018-08-01 2021-01-29 广州长嘉电子有限公司 一种dvb-t2+s2电视信号处理方法及***
WO2020071828A1 (en) * 2018-10-04 2020-04-09 Samsung Electronics Co., Ltd. Method and system for recording a super slow motion video in a portable electronic device
CN113315973B (zh) * 2019-03-06 2022-12-20 深圳市道通智能航空技术股份有限公司 编码方法、图像编码器及图像传输***
US10468064B1 (en) 2019-03-19 2019-11-05 Lomotif Inc. Systems and methods for efficient media editing
CN111462868B (zh) * 2020-04-09 2023-05-30 武汉联影医疗科技有限公司 医学影像管理方法、装置和存储介质
CN113691862B (zh) * 2020-05-19 2023-09-01 深圳市环球数码科技有限公司 视频处理方法、用于视频播放的电子设备和视频播放***
KR20220006680A (ko) 2020-07-08 2022-01-18 삼성디스플레이 주식회사 표시 장치 및 이를 이용한 표시 패널의 구동 방법
KR20220124031A (ko) * 2021-03-02 2022-09-13 삼성전자주식회사 영상 패킷을 송수신하는 전자 장치 및 이의 동작 방법
CN113722058B (zh) * 2021-06-16 2022-10-25 荣耀终端有限公司 一种资源调用方法及电子设备
CN113453054B (zh) * 2021-06-30 2022-11-29 深圳万兴软件有限公司 音视频丢帧方法、装置、计算机设备及存储介质
CN114390314B (zh) * 2021-12-30 2024-06-18 咪咕文化科技有限公司 可变帧率音视频处理方法、设备及存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040071211A1 (en) * 1997-04-07 2004-04-15 Kinya Washino Video production system with mixed frame removal
US6014694A (en) 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
US6034731A (en) * 1997-08-13 2000-03-07 Sarnoff Corporation MPEG frame processing method and apparatus
US7023913B1 (en) 2000-06-14 2006-04-04 Monroe David A Digital security multimedia sensor
US6954499B2 (en) 2000-03-15 2005-10-11 Victor Company Of Japan, Ltd Moving picture coding, coded-moving picture bitstream conversion and coded-moving picture bitstream multiplexing
US7958532B2 (en) 2001-06-18 2011-06-07 At&T Intellectual Property Ii, L.P. Method of transmitting layered video-coded information
JP4222869B2 (ja) * 2002-12-10 2009-02-12 株式会社ソニー・コンピュータエンタテインメント 画像再生装置
KR100679740B1 (ko) * 2004-06-25 2007-02-07 학교법인연세대학교 시점 선택이 가능한 다시점 동영상 부호화/복호화 방법
US7571246B2 (en) 2004-07-29 2009-08-04 Microsoft Corporation Media transrating over a bandwidth-limited network
US20060150071A1 (en) * 2005-01-05 2006-07-06 Microsoft Corporation Software-based video rendering
US7885338B1 (en) 2005-04-25 2011-02-08 Apple Inc. Decoding interdependent frames of a video for display
US20070058926A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Optimizing trick modes for streaming media content
BRPI0706826A2 (pt) 2006-03-14 2011-04-05 Nec Corp método de controle de buffer, aparelho relé e sistema de comunicação
JP2007336275A (ja) 2006-06-15 2007-12-27 Toshiba Corp 動画像再生装置
US8243789B2 (en) 2007-01-25 2012-08-14 Sharp Laboratories Of America, Inc. Methods and systems for rate-adaptive transmission of video
JP2008250654A (ja) * 2007-03-30 2008-10-16 Alpine Electronics Inc ビデオプレイヤ及びビデオ再生制御方法
US8233772B1 (en) * 2007-04-16 2012-07-31 Adobe Systems Incorporated Generating transitions for remapping video playback time
US9020048B2 (en) * 2008-04-30 2015-04-28 Zeevee, Inc. Dynamically modifying video and coding behavior
US20100150230A1 (en) 2008-12-17 2010-06-17 Apple Inc. Video coding system using sub-channels and constrained prediction references to protect against data transmission errors
US20110235709A1 (en) 2010-03-25 2011-09-29 Apple Inc. Frame dropping algorithm for fast adaptation of buffered compressed video to network condition changes
US20110274156A1 (en) * 2010-05-05 2011-11-10 Cavium Networks System and method for transmitting multimedia stream
US20110299604A1 (en) * 2010-06-04 2011-12-08 Apple Inc. Method and apparatus for adaptive video sharpening
US20110310956A1 (en) * 2010-06-22 2011-12-22 Jian-Liang Lin Methods for controlling video decoder to selectively skip one or more video frames and related signal processing apparatuses thereof
JP5752268B2 (ja) * 2011-01-14 2015-07-22 ヴィディオ・インコーポレーテッド 時間スケーラビリティのための高いレイヤのシンタックス
US9270784B2 (en) 2011-02-16 2016-02-23 Masque Publishing, Inc. Peer-to-peer communications
US20130064308A1 (en) 2011-09-14 2013-03-14 General Instrument Corporation Coding and decoding synchronized compressed video bitstreams
KR20140007708A (ko) * 2012-07-10 2014-01-20 삼성전자주식회사 영상 디스플레이 장치, 영상 디스플레이 방법 및 안경장치
US20140269934A1 (en) * 2013-03-15 2014-09-18 Sony Corporation Video coding system with multiple scalability and method of operation thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3748424A1 (en) 2016-01-21 2020-12-09 LG Electronics Inc. Display device
EP4180866A1 (en) 2016-01-21 2023-05-17 LG Electronics, Inc. Display device
KR20180078149A (ko) * 2016-12-29 2018-07-09 엑시스 에이비 녹화된 비디오를 재생하기 위한 방법 및 시스템
KR20180112510A (ko) * 2017-04-04 2018-10-12 한국전자통신연구원 영상 부호화 및 복호화 장치
WO2022169124A1 (ko) * 2021-02-05 2022-08-11 삼성전자 주식회사 복수의 디스플레이를 포함하는 디스플레이 시스템 및 그 영상 출력 방법
US11948533B2 (en) 2021-02-05 2024-04-02 Samsung Electronics Co., Ltd. Display system including plurality of displays and image output method thereof

Also Published As

Publication number Publication date
AU2014275405A1 (en) 2015-12-03
CN105264892A (zh) 2016-01-20
CN105264892B (zh) 2019-10-11
US10009628B2 (en) 2018-06-26
KR101859155B1 (ko) 2018-05-18
US20140362918A1 (en) 2014-12-11
EP3005701A1 (en) 2016-04-13
WO2014197106A1 (en) 2014-12-11
AU2014275405B2 (en) 2017-04-13

Similar Documents

Publication Publication Date Title
KR101859155B1 (ko) 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝
US10715806B2 (en) Systems, methods, and media for transcoding video data
US9071841B2 (en) Video transcoding with dynamically modifiable spatial resolution
CN107005698B (zh) 支持尽力服务解码的元数据提示
KR20170123632A (ko) 비디오 인코딩을 위한 적응적 모드 체킹 순서
US9584832B2 (en) High quality seamless playback for video decoder clients
US20140241435A1 (en) Method for managing memory, and device for decoding video using same
CN1812587A (zh) 视频编码
JP2011130410A (ja) 符号化方法、復号化方法及び装置
KR20220006120A (ko) 비디오 코딩에서의 참조 픽처 리샘플링을 위한 디코더 측 모션 벡터 개선(dmvr) 코딩 툴의 핸들링
US9565404B2 (en) Encoding techniques for banding reduction
US20080025408A1 (en) Video encoding
CN110636288B (zh) 视频解码、编码方法和装置及电子设备
KR20060118592A (ko) 영상 부호화 방법 및 장치, 영상 복호 방법 및 장치,그들의 프로그램 및 그들 프로그램을 기록한 기록 매체
CN110572675B (zh) 视频解码、编码方法和装置、存储介质与解码器、编码器
CN117616751A (zh) 动态图像组的视频编解码
US20180352240A1 (en) Generalized Temporal Sub-Layering Frame Work
CN110572680B (zh) 视频解码、编码方法和装置,存储介质与解码器、编码器
US20230308658A1 (en) Methods of parameter set indication in video streaming
RU2798316C2 (ru) Способ и аппаратура внешнего предсказания
CN110677647B (zh) 视频解码、编码方法和装置、存储介质与解码器、编码器
JP5946980B1 (ja) 画像復号化方法
JP5750191B2 (ja) 画像復号化方法
WO2023059689A1 (en) Systems and methods for predictive coding
CN117812268A (zh) 视频转码方法、装置、设备以及介质

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)