KR20190015093A - 향상된 비디오 코딩을 위한 참조 프레임 재투영 - Google Patents

향상된 비디오 코딩을 위한 참조 프레임 재투영 Download PDF

Info

Publication number
KR20190015093A
KR20190015093A KR1020180076695A KR20180076695A KR20190015093A KR 20190015093 A KR20190015093 A KR 20190015093A KR 1020180076695 A KR1020180076695 A KR 1020180076695A KR 20180076695 A KR20180076695 A KR 20180076695A KR 20190015093 A KR20190015093 A KR 20190015093A
Authority
KR
South Korea
Prior art keywords
reference frame
reconstructed reference
scene pose
scene
reconstructed
Prior art date
Application number
KR1020180076695A
Other languages
English (en)
Other versions
KR102658657B1 (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 KR20190015093A publication Critical patent/KR20190015093A/ko
Application granted granted Critical
Publication of KR102658657B1 publication Critical patent/KR102658657B1/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/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/547Motion estimation performed in a transform domain
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/124Quantisation
    • 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]
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/142Detection of scene cut or scene change
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • 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/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/176Methods 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 block, e.g. a macroblock
    • 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
    • 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/537Motion estimation other than block-based
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

비디오 코딩과 관련된 기술이 논의된다. 이러한 비디오 코딩 기술은 장면 포즈 변경을 나타내는 장면 포즈 차이 데이터에 기초하여 재구성된 참조 프레임에 투영 변환을 적용하고 재투영된 재구성된 참조 프레임을 모션 보상 참조 프레임으로 사용하여 모션 보상을 수행하는 것을 포함한다.

Description

향상된 비디오 코딩을 위한 참조 프레임 재투영{REFERENCE FRAME REPROJECTION FOR IMPROVED VIDEO CODING}
H.264 또는 MPEG-4 Part 10, AVC(Advanced Video Coding) 코덱, H.265 HEVC(High Efficiency Video Coding) 코덱 등과 같은 기존의 비디오 코덱은 가변 파티션 크기의 블록을 통해 수행되는 모션 보상 예측 원리를 사용하여 동작한다. 이러한 모션 추정 및 보상은 현재 프레임의 블록들에 대해 블록 기반 검색을 사용하여 하나 이상의 참조 프레임에서 최상의 매치 블록(match block)을 찾는다. 최상의 매치 블록은 참조 프레임에 대한 참조 인덱스 및 현재 프레임 블록과 참조 프레임에서의 최상의 매치 블록 사이의 모션을 나타내는 모션 벡터를 사용하여 참조된다. 참조 인덱스 및 인코더에서 모션 추정을 통해 찾은 모션 벡터는 비트 스트림으로 인코딩되어 디코더로 전송된다. 인코더와 디코더는 모션 보상에 이러한 참조 프레임 및 모션 벡터를 사용하여 프레임을 재구성해서, 다른 참조 프레임으로서 사용하고 (디코더 측에서) 프리젠테이션할 수 있게 한다. 이러한 기술은, 코딩되고 있는 비디오 콘텐츠가, 패닝할 수 있지만 최소의 회전, 줌, 왜곡 등을 갖는 단일 카메라 모델에 기초하여 생성될 때 가장 효율적일 수 있다. 그러나 보다 높은 회전 레벨, 줌잉인 또는 줌잉아웃(zooming in or out), 왜곡 등을 포함하는 콘텐츠에는 적용하기 어려울 수 있다.
따라서, 회전, 줌 및 다른 효과들로 비디오 콘텐츠를 처리하기 위한 코덱 시스템의 압축 효율, 비디오 품질 및 계산 효율을 증가시키는 것이 유리할 수 있다. 현재 개선이 필요한 부분은 이들 및 다른 고려 사항들과 관련이 있다.
본 명세서에 기술된 개시내용은 첨부된 도면에서 한정의 의미가 아니라 예로서 설명된다. 설명을 단순화하고 명료하게 하기 위해, 도면들에 예시된 요소들은 반드시 일정한 비율로 도시되는 것은 아니다. 예를 들어, 명확성을 위해 일부 요소의 치수가 다른 요소들에 비해 과장될 수도 있다. 또한, 적절한 것으로 고려되는 경우, 대응하는 또는 유사한 요소를 나타내기 위해 참조 부호가 도면들 사이에서 반복되었다.
도 1은 재투영된 재구성된 참조 프레임을 사용하여 비디오 코딩을 하기 위한 컨텍스트의 예시도이다.
도 2는 재투영된 재구성된 참조 프레임을 사용하여 비디오 인코딩을 하기 위한 인코더의 예시도이다.
도 3은 재투영된 재구성된 참조 프레임을 사용하여 비디오 디코딩을 하기 위한 예시적인 디코더의 블록도를 도시한 것이다.
도 4는 재투영된 재구성된 참조 프레임을 사용하여 비디오를 코딩하기 위한 예시적인 프로세스를 나타내는 흐름도이다.
도 5는 장면 포즈 차이 데이터를 평가한 것에 기초하여 프레임 재투영을 조건부로 적용하기 위한 예시적인 프로세스를 도시한 흐름도이다.
도 6은 비디오 코딩에서 사용하기 위한 복수의 재투영된 재구성된 참조 프레임의 일례를 도시한 것이다.
도 7은 줌인(zoom in) 동작 후의 재투영된 재구성된 참조 프레임의 예시적인 후처리를 도시한 것이다.
도 8은 줌아웃 동작 후의 재투영된 재구성된 참조 프레임의 예시적인 후처리를 도시한 것이다.
도 9는 관심 영역에만 적용된 예시적인 투영 변환을 도시한 것이다.
도 10은 재투영된 재구성된 참조 프레임을 사용하여 비디오 코딩을 하기 위한 예시적인 프로세스를 도시한 흐름도이다.
도 11은 재투영된 재구성된 참조 프레임을 사용하여 비디오 코딩을 하기 위한 예시적인 시스템을 도시한 도면이다.
도 12는 예시적인 시스템을 도시한 도면이다.
도 13은 본 개시의 적어도 일부 구현에 따라 구성된 예시적인 소형 폼 팩터 디바이스를 도시한 것이다.
이하, 하나 이상의 실시예 혹은 구현예를 첨부된 도면을 참조하면서 설명한다. 특정한 구성 및 배치가 설명되지만, 이는 단지 예시의 목적으로 행해지는 것이라는 점을 이해해야 한다. 당업자라면, 본 개시의 사상 및 범주로부터 벗어나지 않고 다른 구성 및 배치가 사용될 수도 있다는 것을 알 것이다. 본 명세서에서 설명되는 기술 및/또는 배치가 본 명세서에서 설명되는 것 이외의 다양한 다른 시스템 및 응용 분야에서도 사용될 수 있다는 것이 당업자에게는 자명할 것이다.
하기 설명은 예컨대 SoC(system-on-a-chip) 아키텍처와 같은 아키텍처에서 나타날 수 있는 다양한 구현예를 설명하지만, 본 명세서에 개시되는 기술 및/또는 배치의 구현은 특정한 아키텍처 및/또는 컴퓨팅 시스템으로 한정되는 것은 아니며, 유사한 목적을 위한 임의의 아키텍처 및/또는 컴퓨팅 시스템에 의해 구현될 수도 있다. 예컨대, 다수의 집적 회로(IC) 칩 및/또는 패키지, 및/또는 셋톱 박스와 같은 컴퓨팅 장치 및/또는 가전(CE) 장치, 스마트폰 등을 사용하는 다양한 아키텍처가 본 명세서에 설명되는 기술 및/또는 배치를 구현할 수 있다. 나아가, 하기 설명은 로직 구현예, 시스템 컴포넌트의 타입 및 상관성, 로직 분할/통합 선택 등과 같은 많은 세부 사항을 설명하지만, 첨부된 청구항은 이러한 특정한 세부 사항 없이도 실시될 수 있다. 다른 예에서, 예컨대 제어 구조 및 전체 소프트웨어 명령어 시퀀스와 같은 일부 내용은 본 명세서에 개시되는 내용을 불명확하게 하지 않기 위해서 도시하지 않았다.
본 명세서에 개시되는 내용은 하드웨어, 펌웨어, 소프트웨어 혹은 이들의 임의의 조합으로 구현될 수 있다. 개시된 내용은 머신-판독 가능 매체에 저장된 명령어로서 구현될 수도 있으며, 이 명령어는 하나 이상의 프로세서에 의해 판독 및 실행될 수 있다. 머신-판독 가능 매체는 머신(예컨대, 컴퓨팅 장치)에 의해 판독 가능한 형태로 정보를 저장 혹은 전송하기 위한 임의의 매체 및/또는 메커니즘을 포함할 수 있다. 예컨대, 머신-판독 가능 매체는 ROM(read only memory); RAM(random access memory); 자기 디스크 저장 매체; 광 저장 매체; 플래시 메모리 장치; 전기, 광, 음향 혹은 다른 형태의 전파 신호(예컨대, 반송파, 적외선 신호, 디지털 신호 등) 등을 포함할 수 있다.
본 명세서에서 "하나의 실시예", "일 실시예", "예시적인 실시예" 등을 참조한다는 것은, 설명되는 구현예가 특정한 특성, 구성 혹은 특징을 포함할 수는 있지만, 모든 실시예가 반드시 이들 특성, 구성 혹은 특징을 포함해야 한다는 것은 아니다. 나아가, 이러한 표현이 반드시 동일한 구현예를 가리키는 것은 아니다. 또한, 특정한 특성, 구성 혹은 특징을 일 실시예를 참조로 설명했다면, 이러한 특정한 특성, 구성 혹은 특징은 본 명세서에 명백하게 개시되어 있지 않더라도 다른 구현예와 관련해서도 유효하다는 것을 당업자는 상정할 수 있을 것이다.
본 명세서에 개시된 방법, 디바이스, 장치, 컴퓨팅 플랫폼 및 물품은 비디오 코딩에 관한 것이며, 특히 모션 추정 및 모션 보상을 위해서 재구성된 비디오 프레임을 재투영해서 재투영된 재구성된 참조 프레임을 제공하는 것에 관한 것이다.
상술한 바와 같이, 현재의 모션 추정 및 모션 보상 기법은 현재의 프레임의 블록들을 조사하여 최상의 매치 블록을 찾아내기 위해 참조 프레임을 사용한다. 이러한 모션 추정 및 모션 보상은 코딩 효율을 향상시키기 위해서 일시적으로 중복되는 정보를 포함한다. 그러나, 이러한 기술은, 코딩되는 비디오 콘텐츠가 보다 높은 회전, 줌인 혹은 줌아웃, 왜곡 등을 포함하는 경우에는 그 사용이 제한될 수 있다. 예컨대, 가상 현실, 증강 현실, 휴대형 장치 등의 경우에, 이 장치는 다양한 방향으로(예컨대, 6자유도(6-DOF); 위/아래, 전/후, 좌/우, 롤(roll), 요(yaw), 피치(pitch)) 빈번하게 이동할 수 있다. 이 경우, 비디오 캡처 및/또는 비디오 생성은 그 사이에 복잡한 모션(예를 들어, 팬, 회전, 줌, 왜곡 등)을 갖는 프레임의 시퀀스를 제공할 수 있다.
본 명세서에 개시되는 일부 실시예에서, 제1 장면 포즈에 대응하는 재구성된 참조 프레임(예컨대, 참조 프레임이 캡처/생성된 시점이나 혹은 그 부근의 장면의 뷰)은 제1 장면 포즈로부터 이 제1 장면 포즈에 후속하는 제2 장면 포즈로의 장면 포즈 변경을 나타내는 장면 포즈 차이 데이터에 기초한 투영 변환을 이용해서 변환될 수 있다. 제2 장면 포즈는, 현재 프레임이 캡처/생성된 시점이나 혹은 그 부근의 장면의 뷰, 또는 현재 프레임이 생성 혹은 렌더링된 시점이나 혹은 그 부근의 장면의 뷰에 대응한다. 이러한 장면 포즈 차이 데이터는 코딩되는 프레임 밖의 데이터로, 참조 프레임과 코딩되는 현재 프레임 사이의 장면 포즈에 있어서의 변경을 나타내는 데이터(예컨대, 메타데이터)를 제공한다. 본 명세서에서 사용되는 용어 장면 포즈(scene pose)는, 장면을 캡처하는 시점 혹은 뷰포트와 관련해서 장면의 포즈를 나타내는데 사용된다. 가상 현실의 경우에, 장면 포즈는 생성되는 장면의 포즈 혹은 뷰를 가상 현실(VR) 장치의 사용자(예컨대, VR 헤드셋을 착용하고 있는 사용자)의 시점과 관련해서 나타낸다. 이미지 캡처 장치(예컨대, 휴대형 장치의 카메라, 헤드 장착형 장치 등)의 경우에, 장면 포즈는 이미지 캡처 장치에 의해 캡처되는 장면의 포즈 혹은 뷰를 나타낸다. 증강 현실(AR)의 경우에, 장면 포즈는 분석되는(예컨대, 이미지 캡처 장치에 의해서) 장면의 포즈 혹은 시점, 및 장면과 관련해서 생성되는 임의의 정보(예컨대, 중첩 정보, 이미지 등)의 포즈를 나타낸다.
장면 포즈 차이 데이터는 투영 변환을 재구성된 참조 프레임에 적용해서 재투영된 재구성된 참조 프레임을 생성하는데 활용될 수 있다. 본 명세서에서 사용되는 용어 투영 변환(projective transformation)은 입력 프레임과 출력 프레임 사이의 평행 관계, 길이 및 각도를 반드시 보존하는 것은 아닌 변환을 나타낸다. 이러한 투영 변환은 평행 관계, 길이 및 각도를 보존하는 아핀 변환과 대조될 수 있으며, 따라서 복잡한 장면 포즈 변경을 캡처하는 것으로 더 제한된다. 장면 포즈 차이 데이터는, 6자유도 차분 정보 혹은 델타 정보, 변환 혹은 변환 매트릭스, 모션 벡터 필드 등과 같은 장면 포즈 변경을 나타내는 임의의 적절한 데이터 혹은 정보가 될 수 있다. 나아가, 투영 변환은 장면 포즈 차이 데이터의 포맷에 따라서 임의의 적절한 기술 혹은 기술들을 사용해서 수행될 수 있다. 본 명세서에서 더 설명되는 바와 같이, 투영 변환을 적용한 이후에, 이렇게 생성한 프레임을, 모션 추정 및/또는 모션 보상에 사용하기 위해 재구성된 참조 프레임의 크기 및 형상에 맞추도록 추가 기술이 사용될 수 있다.
재투영된 재구성된 참조 프레임은, 모션 추정(인코더에서) 및/또는 모션 보상(인코더 혹은 디코더에서)에서, 모션 정보(예컨대, 인코더에서 생성된 모션 벡터) 및/또는 코딩되는 현재 프레임에 대응하는 재구성된 현재 프레임을 생성하는데 사용된다. 예컨대, 재구성된 현재 프레임은, 후속하는 프레임에 대한 모션 추정/보상(예컨대, 인코더에서의 로컬 디코드 루프에서)에 사용하기 위한, 인코더에서의 루프에서 생성된다. 재구성된 현재 프레임은 또한, 후속 프레임에 대한 모션 보상에 사용하기 위해서 및/또는 사용자에게 최종적으로 제시하기 위해서 디코더에서 생성된다. 이러한 기술은 코딩되는 현재 프레임과 모션 추정/보상에 사용되는 참조 프레임(예컨대, 재투영된 재구성된 참조 프레임) 사이의 매칭을 더 가깝게 해서, 코딩 효율을 향상시킨다. 이러한 이점이 본 명세서의 설명에 기초해서 당업자에게는 자명할 것이다. 또한, 개시된 기술은, H.264/ MPEG-4 AVC(Advanced Video Coding) 표준 기반 코덱, H.265 HEVC(High Efficiency Video Coding) 표준 기반 코덱, 제안된 비디오 코딩(H.266) 코덱, AV1 표준과 같은 AOM(Alliance for Open Media) 표준 기반 코덱, MPEG-4 표준과 같은 MPEG 표준 기반 코덱, VP9 표준 기반 코덱, 혹은 임의의 다른 적절한 코덱이나 그 확장판이나 프로파일과 같은 임의의 적절한 코딩 컨텍스트에서 사용될 수 있다.
도 1은, 본 개시의 적어도 일부 구현예에 따라서 배열된, 재투영된 재구성된 참조 프레임을 사용하여 비디오 코딩을 하기 위한 예시적인 컨텍스트(130)의 설명도이다. 도 1에 도시된 바와 같이, 컨텍스트(130)는 시스템(100) 및 시스템(110)을 포함할 수 있으며, 이들은 통신 링크(131)에 의해 통신 가능하게 연결된다. 일 실시예에서, 컨텍스트(130)는, (예컨대, 게임 콘텐츠, 엔터테인먼트 콘텐츠 등의) 가상 현실 프레임을 생성하는 호스트 시스템으로서 시스템(100)을 포함하는 가상 현실 컨텍스트로, 이 가상 현실 프레임은 인코딩되어서 시스템(110)으로 전송된다. 이러한 컨텍스트에서, 시스템(110)은 싱크(sink) 등을 특징으로 하며, 시스템(110)은 디스플레이(115)를 통해서 제시되는 프레임을 볼 때 3차원(3D) 효과를 사용자에게 제공하는 옵틱(도시 생략)을 포함하는 헤드 장착형 장치(HMD)가 될 수 있다.
이러한 컨텍스트에서, 사용자가 가상의 장면의 상이한 부분을 보고, 가상의 콘텐츠와 상호 작용하는 것 등에 따라서, 시스템(110)은 종종 3차원(3D) 공간에서 이동할 수 있다는 것을 이해할 것이다. 따라서, 시스템(110)은 6-DOF 모션(135)과 같은 특징을 가진 모션을 통해서 3D 공간을 이동할 수 있으며, 이는 시스템(110)이 병진(translation)(전/후(예컨대, x축), 상/하(예컨대, y축), 좌/우(예컨대, z축)) 및 회전(요(예컨대, z축 둘레의 각 α), 롤(예컨대, y축 둘레의 각 β) 및 피치(예컨대, y축 둘레의 각 γ))으로 이동할 수 있는 것을 나타낸다. 시스템(110)의 사용자의 상정되는 시선(예컨대, x축의 전방 방향에 따라서)에 기초해서 VR 프레임과 같은 3D 콘텐츠가 생성될 수 있다는 것을 이해할 것이다.
VR 비디오 프레임 및 콘텐츠와 관련해서 설명했지만, 본 명세서에 개시되는 컨텍스트(130), 시스템(100), 시스템(110) 및 다른 시스템은, 임의의 적절한 콘텐츠를 포함하는 프레임 혹은 픽쳐에 대해서 동작할 수 있다. 일부 실시예에서, 개시되는 기술은 아웃사이드-인 혹은 인사이드-아웃 6-DOF 데이터 혹은 정보를 사용하는 가상 현실(VR), 증강 현실(AR), 합성 현실(MR) 등에 적용될 수 있다. 일부 실시예에서, 개시되는 기술은 카메라, 카메라를 구비한 스마트폰 등에 적용되어, 카메라 혹은 스마트폰이 3-DOF 데이터 혹은 정보를 제공하는 일체형 IMU(inertial measurement unit)을 포함할 수 있다. 일부 실시예에서, 개시된 기술은 PTZ(pan-tilt-zoom) 제어 데이터 혹은 정보를 제공하는 기능을 가진 감시 카메라 등에 적용될 수 있다. 일부 실시예에서, 상술한 기술은, 병진 데이터 혹은 정보, 6-DOF 데이터 혹은 정보 등을 제공하는 기능을 가진 가상 카메라 배향을 구비한 클라우드 게임 혹은 엔터테인먼트 서비스에 적용될 수 있다.
도시된 바와 같이 시스템(110)은 장면 포즈 추적 모듈(111), 송수신기(112), 디코더(113), 렌더 모듈(114) 및 디스플레이(115)를 포함할 수 있다. 나아가, 시스템(100)은 애플리케이션 모듈(101), 렌더 모듈(102), 인코더(103) 및 송수신기(104)를 포함할 수 있다. 설명을 계속 이어서, VR 컨텍스트는 헤드 장착형 장치와 같은 사용자 착용 시스템(110)이 될 수 있지만 이것으로 한정되는 것은 아니다. 사용자가 이동함에 따라서, 장면에 대한 사용자의 시각(예컨대, 뷰 포즈)은 사용자 이동에 따라서 변경된다. 나아가, 시스템(110) 및 시스템(100)은 통신 링크(131)에 의해서 통신 가능하게 연결되고, 통신 링크(131)는 무선 링크(예컨대, WiFi, WiGiG 등)가 될 수도 있고 유선 접속(USB 연결, 트랜스포트 애그나스틱 디스플레이(Transport Agnostic Display) 연결 등)이 될 수도 있다. 사용자가 이동함에 따라서, 장면 포즈 추적 모듈(111)은 시스템(110)의 위치 및 방향을 추적한다. 도시된 바와 같이, 이러한 위치 및 방향 데이터(121)는 시스템(100)에 제공된다(송수신기(104, 112) 사이의 통신 링크(131)를 통해서). 이러한 위치 및 방향 데이터(121)는 6-DOF 데이터(예컨대, 초기화된 제로 위치에 대한 x, y, z, α, β, γ 값), 이전에 알려진 6-DOF 위치에 대한 6-DOF 차이 데이터(예컨대, Δx, Δy, Δz, Δα, Δβ, Δγ 값), 3-DOF 데이터(예컨대, 초기화된 제로 위치에 대한 x, y, z 값), 이전에 알려진 6-DOF 위치에 대한 3-DOF 차이 데이터(예컨대, Δx, Δy, Δz 값) 등과 같은 임의의 적절한 포맷으로 제공될 수 있다. 나아가, 6-DOF 및 3-DOF 위치 및 방향 정보와 관련해서 설명했지만, 임의의 조합의 임의의 수의 자유도가 구현될 수 있다.
도시된 바와 같이, 애플리케이션 모듈(101)(시스템(100)의 중앙 처리 장치에서 실행될 수 있다)은 메타데이터로서 위치 및 방향 데이터(121)를 수신한다. 현재 장면 포즈를 나타내는 가장 최근 메타데이터(예컨대, Pcurr)는 애플리케이션 모듈(101)이 렌더 데이터(123)를 생성하는데 사용되며, 이는 현재 프레임을 렌더링하는데 사용될 것이다. 예컨대, 애플리케이션 모듈(101)은 렌더 데이터(123)를 생성할 때 위치 및 방향 데이터(121)에 응답해서 게임 애플리케이션, 엔터테인먼트 애플리케이션 등을 실행할 수 있다. 예컨대, 시스템(110)의 사용자가 이동하고 및/또는 가상 장면과 상호 작용함에 따라서, 위치 및 방향 데이터(121) 및/또는 다른 입력 데이터가 가상 장면에 대한 사용자의 다음 뷰를 생성하는데 사용된다. 도시된 바와 같이, 렌더 모듈(102)은 렌더 데이터(123)를 사용해서 렌더링된 프레임(124)을 생성한다. 예컨대, 렌더 모듈(102)은 그래픽 처리 유닛 등을 통해서 렌더링 파이프라인을 구현해서 렌더 데이터(123)에 기초해서 렌더링된 프레임(124)을 생성한다.
또한, 도시된 바와 같이, 시스템(100)은 애플리케이션 모듈(101)이나 다른 모듈 또는 이들의 조합을 통해서 포즈 차이 데이터(122)를 생성한다. 상술한 바와 같이, 일부 예에서, 포즈 차이 데이터(122)는 위치 및 방향 데이터(121)를 통해서 제공될 수 있다. 어떤 경우든 포즈 차이 데이터(122)는 이전에 코딩된 재구성된 참조 프레임(예컨대, 렌더링된 프레임(124) 이전의 프레임)에 대응하는 장면 포즈와 렌더링된 프레임(124)(예컨대, 현재 프레임)에 대응하는 장면 포즈 사이의 장면 포즈 차이를 나타낸다. 상술한 바와 같이, 포즈 차이 데이터(122)는 프레임들, 시점들 등의 사이의 장면 포즈 변경을 나타내는 임의의 적절한 데이터 혹은 정보를 포함할 수 있다. 일 실시예에서, 포즈 차이 데이터(122)는 장면 포즈 차이 메타데이터로서 표시된다. 예컨대, 렌더링된 프레임(124)(예컨대, 현재 프레임)에 대응하는 장면 포즈(Pcurr) 및 인코더(103)(예컨대, 인코더(103)의 프레임 버퍼)에서 재구성된 참조 프레임에 대응하는 장면 포즈(Pref)에 대해, 포즈 차이 데이터(122)는 장면 포즈들 사이의 차이를 제공한다(ΔP=Pref-Pcurr). 예컨대, ΔP는 이전에 알려진 6-DOF 위치에 대한 6-DOF 차이 데이터(예컨대, Δx, Δy, Δz, Δα, Δβ, Δγ 값)를 제공할 수 있다.
본 명세서에 더 설명되는 바와 같이, 재구성된 참조 프레임(본 명세서에 더 설명되는 바와 같은 인코더(103)에 의해 생성된)에 포즈 차이 데이터(122)에 기초해서 투영 변환과 같은 변환이 적용되어(필요에 따라서는 다른 기술과 함께), 재투영된 재구성된 참조 프레임이 생성된다. 본 명세서에서 재투영된 프레임과 관련해서 사용되는 용어 '재투영된'이란, 프레임이 포즈 차이 데이터(122)를 사용해서 또 다른 장면 포즈 혹은 투영으로 변환되었다는 것을 가리킨다. 재투영된 재구성된 참조 프레임은 이후에, 렌더링된 프레임(124)을 인코딩해서 비트스트림(125)의 적어도 일부를 생성하기 위한 모션 추정 및 모션 보상 참조 프레임으로서 사용된다. 예컨대, 인코더(103)에 의해 수행되는 모션 예측은, 재투영된 재구성된 참조 프레임을 검색함으로써 렌더링된 프레임(124)의 블록을 블록 기반 검색하는 것을 포함할 수 있다. 이러한 모션 예측에 의해 생성되는 모션 벡터(예컨대, 모션 벡터 필드)는 이후에 인코더(103)에 의해서 렌더링된 프레임(124)을 재구성하는데 참조 프레임으로서 사용하기 위해서 사용된다. 또한, 모션 벡터 및 변환되고 양자화된 예측 잔차(예컨대, 렌더링된 프레임(124)의 원래의 블록과 재투영된 재구성된 참조 프레임의 참조되는 블록 사이의 잔차)가 비트스트림(125)으로 인코딩되고, 이는 통신 링크(131)를 통해서 시스템(110)으로 전송된다.
일부 실시예에서, 렌더 데이터(123)로부터의 렌더링된 프레임(124)의 렌더 및 포즈 차이 데이터(122)에 기초한 재구성된 참조 프레임의 변환의 상대적인 타이밍은, 렌더링된 프레임(124)의 렌더링과 재구성된 참조 프레임의 변환의 동작들 중 적어도 일부가 동시에 수행될 수 있도록 이들 동작을 적어도 부분적으로 동시에 수행한다. 이와 같이 렌더링 및 변환을 동시에 행함으로써, 시스템(100)의 처리 파이프라인에서의 지연을 감소시킬 수 있다.
도시된 바와 같이, 시스템(110)에서, 포즈 차이 데이터(122)는 디코더(113)로 제공된다. 도시된 바와 같이, 일부 실시예에서, 포즈 차이 데이터(122)는 통신 링크(131)를 통해서 시스템(100)으로부터 수신된다. 일부 실시예에서, 포즈 차이 데이터(122)는 위치 및 방향 데이터(121)에 의해 장면 포즈 추적 모듈(111)로부터 제공된다. 일부 실시예에서, 포즈 차이 데이터(122)는 시스템(110)의 장면 포즈 추적 모듈(111) 혹은 또 다른 모듈이나 컴포넌트로부터 별도의 위치 및 방향 데이터(121)에 의해 제공된다. 일 실시예에서, 포즈 차이 데이터(122)는 비트스트림(125)을 통해서 제공될 수 있다. 예컨대, 이러한 포즈 차이 데이터(122)는 재구성된 참조 프레임의 재투영을 나타내는 메타데이터로서 표준화되어서 비트스트림(125)에 포함될 수 있다. 포즈 차이 데이터(122)(예컨대, 메타데이터)는 임의의 적절한 포맷을 가질 수 있으며, 비트스트림(125)에 포함되도록 더 압축될 수 있다. 일부 실시예에서, 시스템(100)은 포즈 차이 데이터(122)를 시스템(110)에 제공하기 전에 포즈 차이 데이터(122)를 변경할 수 있다. 어떤 경우든, 인코더(103) 및 디코더(113)로 제공되는 포즈 차이 데이터(122)는 동일해야 하고(혹은 적어도 동일한 재구성된 참조 프레임 재투영의 구현을 가능하게 한다), 동일한 재구성된 참조 프레임에 동일한 방식으로 적용되어서, 인코더(103) 및 디코더(113)가 동일한 재투영된 재구성된 참조 프레임을 생성하게 해야 한다. 이와 같이 하지 않으면, 모션 보상 동안, 인코더(103) 및 디코더(113)가 다른 프레임을 참조할 수도 있고, 코딩이 충돌될 수도 있다.
디코더(113)는 포즈 차이 데이터(122)를 재구성된 참조 프레임에 적용하여 재투영된 재구성된 참조 프레임(예컨대, 인코더(103)와 관련하여 전술한 재투영된 재구성된 참조 프레임)을 생성한다. 시스템(110)은 통신 링크(131)를 통해 비트스트림(125)을 수신하고, 디코더(113)는 비트스트림(125)을 디코딩하여, 전술한 렌더링된 프레임(124)에 대응하는 변환 및 양자화된 예측 잔차(residuals) 및 모션 벡터를 결정한다. 그 후, 디코더(113)는 변환 및 양자화된 예측 잔차를 역양자화 및 역변환하고, 모션 벡터를 사용하여 재투영된 재구성된 참조 프레임의 참조 블록을 결정한다. 그 후, 재구성된(예컨대, 역 양자화 및 변환된) 예측 잔차 및 대응하는 참조 블록은 합해져서 재구성된 블록을 형성하고, 재구성된 블록은 선택적인 인트라 예측 재구성된 블록뿐만 아니라 다른 재구성된 블록과 결합되어 재구성된 프레임을 제공할 수 있으며, 재구성된 프레임은 선택적으로 디블록 필터링되어 재구성된 프레임(126)을 생성할 수 있는데, 재구성된 프레임(126)은 렌더링된 프레임(124)의 재구성이다. 재구성된 프레임(126)은 포즈 차이(PD) 데이터(132)와 함께, 시스템(110)의 그래픽 처리 유닛에 의해 구현될 수 있는 렌더 모듈(114)에 제공되는데, 포즈 차이 데이터(132)는 렌더 모듈(114)이 포즈 차이 데이터(132)에 기초하여 재구성된 프레임을 재투영 또는 왜곡시켜 디스플레이(115)를 통한 디스플레이 및 사용자에의 프리젠테이션을 위한 최종 프레임(127)을 제공하도록 훨씬 더 최신의 장면 포즈 정보를 제공한다.
따라서, 컨텍스트(130)는 통신 링크(131)를 통해 호스트(예컨대, 시스템(100))에 통신 가능하게 결합된 헤드 장착 디스플레이(예컨대, 시스템(110))를 제공한다. 시스템(110)은 장면 포즈 추적 모듈(111)(예컨대, 6-DOF 시스템)로부터 추적 정보(예컨대, 위치 및 배향 데이터(121))를 송신하는데, 위치 및 배향 데이터(121)는 시스템(110)의 위치 및 배향 데이터를 포함할 수 있다. 시스템(100)의 애플리케이션 모듈(101) 상에서 실행되는 애플리케이션(예컨대, 게임, 엔터테인먼트 애플리케이션 등)은 추적 정보를 메타 데이터로서 수신한다. 가장 최근의 메타 데이터(장면 포즈 정보, Pcurr)는, (예컨대, 렌더링된 프레임(124)을 생성하도록 렌더 모듈(102)에 렌더 데이터(123)를 제공하는 애플리케이션에 의해) 렌더링된 프레임을 렌더링하고 이전 장면 포즈 정보(Pref)를 갖는 재구성된 참조 프레임을 재투영하기 위해 사용된다. 예를 들어, 인코더(103)(또는 시스템(100)의 다른 모듈 또는 컴포넌트)에 의한 재구성된 참조 프레임의 재투영을 위해, 장면 포즈 차이 또는 장면 포즈 차이 데이터(예컨대, ΔP=Pref-Pcurr)가 사용된다.
(시스템(100)으로부터 수신되거나 시스템(110)에서 생성되는) 이러한 포즈 차이 데이터(122)는 또한 재구성된 참조 프레임을 재투영하기 위해 디코더(113)에 의해 사용된다. 렌더링된 프레임(124)은 시스템(110)에 전송되는 비트스트림(125)을 생성하기 위해 인코더(103)에 의해 재투영된 재구성된 참조 프레임을 사용하여 인코딩된다. 디코더(113)에서의 재투영된 재구성된 참조 프레임 및 비트스트림(125)으로부터의 정보는 재구성된 프레임(126)(렌더링된 프레임(124)에 대응함)을 디코딩하기 위해 사용된다. 재구성된 프레임(126)은 포즈 차이 데이터(132) 및 가장 최근의 헤드 포즈에 기초한 최종 재투영과 함께 렌더 모듈(114)에 제공되며, 렌즈 왜곡 및 보정(적용되는 경우)이 수행되고 결과 프레임(127)이 디스플레이를 위해 전송된다.
설명된 바와 같이, 몇몇 실시예에서, 추적된 위치 및 배향 데이터(121)는 포즈 차이 데이터(122)를 생성하기 위해 사용된다. 실시예에서, 장면 포즈 예측은 후속 장면 포즈 데이터(예컨대, 프레임 렌더링을 위해 사용됨) 및/또는 포즈 차이 데이터(122)를 생성하기 위해 사용될 수 있다. 예를 들어, 위치 및 배향 데이터(121)의 측정, 렌더링된 프레임(124)의 렌더링, 및 프레임(127)의 디스플레이 사이의 지연은 바람직하지 않은 사용자 인터페이스(예컨대, 아티팩트, 지연 시간 등)를 제공할 수 있는데, 이는 장면 포즈 예측을 사용하여 적어도 부분적으로 해결될 수 있다. 이러한 장면 포즈 예측은 임의의 적절한 기술 또는 기술들을 사용하여 수행될 수 있다. 예를 들어, 가장 최근 또는 후속 장면 포즈 데이터(또는 장면 포즈 차이 데이터)는 이전에 알려진 장면 포즈 차이를 사용하여 이전 장면 포즈로부터의 외삽에 기초하여 생성될 수 있다. 실시예에서, (예컨대, 장면 포즈 추적 모듈(111)로부터의) 재구성된 참조 프레임에 대응하는 장면 포즈 데이터 및 후속 장면 포즈 데이터는, 측정된 장면 포즈 데이터에 더 후속하는 장면 포즈 데이터를 외삽하기 위해 사용될 수 있다. 예를 들어, 처리 시간은, 렌더링 데이터(123)를 생성하기 위한 시간, 렌더링된 프레임(124)을 렌더링하기 위한 렌더 시간(예컨대, 렌더 복잡성), 비트스트림(125)의 생성을 위한 인코드 시간, 비트스트림(125)을 통신하기 위한 통신 링크(131)를 통한 데이터 전송 시간, 및/또는 재구성된 프레임(126)의 생성을 위한 디코딩 시간의 합을 포함하도록 결정될 수 있다. 처리 시간은 시스템(100) 및/또는 시스템(110)의 동작 동안 이러한 시간을 측정함으로써 근사화되거나 결정될 수 있다.
제1 시간 인스턴스에서의 알려진 제1 장면 포즈와 제1 시간 인스턴스에 후속하는 제2 시간 인스턴스에서의 알려진 제2 장면 포즈 사이의 포즈 차이를 사용하여, 제2 시간 인스턴스 플러스 처리 시간에서(예컨대, 제3 시간 인스턴스에서) 시간 인스턴스에 대한 포즈 인스턴스는 외삽 기술을 사용하여 결정될 수 있다. 예를 들어, 제1 시간 인스턴스와 제2 시간 인스턴스 간의 장면 포즈 차이가 제3 시간 인스턴스에서의 장면 포즈 차이에 선형적으로 외삽될 수 있다. 예를 들어, 외삽된 장면 포즈는 P3=P2+(P2-P1)*(t3-t2)/(t2-t21)로 제공될 수 있는데, P3은 시간 t3에서의 외삽된 장면 포즈이고, P2는 시간 t2에서의 장면 포즈이며, P1은 시간 t1에서의 장면 포즈이다. 실시예에서, 제2 시간 인스턴스에서 제3 시간 인스턴스로 외삽할 때 포즈 차이의 오버슈트 가능성을 줄이기 위해, 외삽에 미리 결정된 인자(factor)(예컨대, 2/3 또는 1/2 등)를 곱하여 선형 외삽을 감소시킨다(예컨대, P3=P2+k*(P2-P1)*(t3-t2)/(t2-t21), 여기서 k는 미리 결정된 인자임). 위에서 설명된 바와 같이, 이러한 예측되거나 외삽된 장면 포즈(예컨대, P3) 및/또는 장면 포즈 차이 데이터(예컨대, P3-P1)는 다음에, 설명된 처리 파이프 라인에 걸쳐(예컨대, 애플리케이션 모듈(101), 렌더 모듈(102), 인코더(103), 및/또는 디코더(113)에서) 사용될 수 있다.
또한, 렌더 모듈(114)과 관련하여 설명된 바와 같이, 재구성된 프레임(126)의 재투영은 디스플레이(115)를 통한 제시 직전에 최종 프레임 버퍼(도시되지 않음)에서 수행될 수 있다. 이러한 재투영은 랜더링을 위해 사용된 예측되거나 외삽된 장면 포즈 헤드 포즈와 디스플레이 시에 장면 포즈 추적 모듈(111)로부터 가장 최근에 이용 가능한 장면 포즈 사이의 차이에 기초할 수 있고, 이러한 재투영은 설명된 바람직하지 않은 사용자 인터페이스 효과를 더 완화할 수 있다.
도 2는 본 개시의 적어도 몇몇 구현에 따라 구성된, 재투영된 재구성된 참조 프레임을 사용하여 비디오 인코딩을 하기 위한 예시적인 인코더(200)를 도시한 것이다. 예를 들어, 인코더(200)는 시스템(100)의 인코더(103)로서 구현될 수 있다. 도 2에 도시된 바와 같이, 인코더(200)는 투영 변환 모듈(213), 차분기(212), 인트라 예측 모듈(201), 모션 추정 모듈(202), 차분기(203), 변환 모듈(204), 양자화 모듈(205), 엔트로피 인코더(214), 역양자화 모듈(206), 역변환 모듈(207), 가산기(208), 모션 보상 모듈(209), 인트라 디코딩 모듈(210), 스위치(215, 216), 및 디블록 필터링 모듈(211)을 포함할 수 있다. 인코더(200)는 제시의 명확성을 위해 도시되지 않은 추가 모듈 및/또는 상호접속을 포함할 수 있다.
도시된 바와 같이, 인코더(200)는 그에 대응하는 현재 장면 포즈(221)를 갖는 입력 프레임(224)을 수신하고, 인코더(200)는 현재 장면 포즈(221)가 참조 장면 포즈(223)에 대해 시간적으로 후속하도록 참조 장면 포즈(223)에 대응하는 재구성된 참조 프레임(225)을 이전에 생성하였다. 설명된 바와 같이, 현재 장면 포즈(221)는 (예컨대, 장면 포즈 추적 모듈(111)에 의한) 측정된 장면 포즈 또는 (예컨대, 외삽 등을 사용하여 예측된) 예측된 장면 포즈일 수 있다. 인식되는 바와 같이, 현재 장면 포즈(221)는 입력 프레임(224)에 대응하고 참조 장면 포즈(223)는 재구성된 참조 프레임(225)에 대응하지만, 그러한 장면 포즈의 타이밍 또는 시간 인스턴스(예컨대, 측정 시간)와 프레임의 타이밍 또는 시간 인스턴스(그들이 제시되는 시간)는 같거나 다를 수 있다. 입력 프레임(224)(또는 입력 프레임들)은 비디오 시퀀스의 임의의 적절한 포맷의 프레임 또는 화상을 포함할 수 있다. 예를 들어, 입력 프레임(224)은 임의의 수의 비디오 프레임의 비디오 시퀀스의 프레임일 수 있다. 이러한 프레임은 임의의 적절한 포맷일 수 있으며, VR 프레임 또는 콘텐츠, AR 프레임 또는 콘텐츠, MR 프레임 또는 콘텐츠, (예컨대, 모바일 카메라 디바이스, 보안 카메라 등을 통해) 캡처된 이미지 프레임, 등과 같은 임의의 적절한 콘텐츠를 포함할 수 있다. 프레임은, 병렬 처리를 허용하고/하거나 비디오 데이터를 상이한 컬러 성분으로 분리하는 세그먼트 또는 평면으로 분할되거나 이를 포함할 수 있다. 예를 들어, 컬러 비디오 데이터의 프레임은 휘도 평면에 대해 동일하거나 상이한 해상도에서 하나의 휘도 평면 또는 성분 및 2개의 색차 평면 또는 성분을 포함할 수 있다. 입력 프레임(224)은 예를 들어 M×N 픽셀 블록에 대응하는 데이터를 포함하는 임의 크기의 블록으로 분할될 수 있다. 이러한 블록은 픽셀 데이터의 하나 이상의 평면 또는 컬러 채널로부터의 데이터를 포함할 수 있다. 본 명세서에서 사용될 때, 블록이라는 용어는 임의의 적절한 크기의 매크로블록, 코딩 유닛 등을 포함할 수 있다. 인식되는 바와 같이, 이러한 블록은 또한, 예측, 변환 등을 위해 서브블록으로 분할될 수 있다.
도시된 바와 같이, 현재 장면 포즈(221)와 참조 장면 포즈(223) 사이의 차이는 장면 포즈 차이 데이터를 생성하는 차분기(212)에 의해 결정될 수 있는데, 인코더(200)의 컨텍스트에서 장면 포즈 차이 데이터는 변환 매트릭스(222)에 의해 제공된다. 예를 들어, 6-DOF 장면 포즈 차이 데이터(예컨대, Δx, Δy, Δz, Δα, Δβ 및 Δγ 값)는, 변환 매트릭스(222)가 재구성된 참조 프레임(225)에 적용될 때 현재 장면 포즈(221)로부터 참조 장면 포즈(223)로의 투영 변환을 제공하도록, 공지된 기술을 사용하여 변환 매트릭스(222)로 변환될 수 있다. 도시된 바와 같이, 변환 매트릭스(222)는 투영 변환 모듈(213)에 의해 재투영된 재구성된 참조 프레임(226)을 생성하기 위해 재구성된 참조 프레임(225)에 적용될 수 있다. 재투영된 재구성된 참조 프레임(226)은 모션 추정 모듈(202) 및 모션 보상 모듈(209)에 제공된다. 도시된 예에서, 차분기(212)는 장면 포즈 차이 데이터를 생성한다. 다른 예에서, 인코더(200)는 이러한 장면 포즈 차이 데이터를 변환 매트릭스(222)로서 또는 임의의 다른 적절한 포맷으로 수신할 수 있다.
설명된 바와 같이, 입력 프레임(224)은 인코더(200)에 의한 인코딩을 위해 제공된다. 시스템(100)의 컨텍스트에서, 입력 프레임(224)은 렌더링된 프레임(124)일 수 있다. 그러나, 여기에서 설명된 바와 같이, 입력 프레임(224)은, 이미지 캡처 디바이스에 의해 캡처된 입력 이미지 또는 프레임, 렌더링된 프레임, 증강된 현실 프레임 등과 같은 인코딩을 위한 임의의 적절한 프레임일 수 있다. 도시된 바와 같이, 입력 프레임(224)은 재투영된 재구성된 참조 프레임(226)에 부분적으로 기초하여 인코딩되어 비트스트림(235)을 생성할 수 있다. 예를 들어, 인코더(100)의 컨텍스트에서, 비트스트림(235)은 비트스트림(125)일 수 있다. 비트스트림(235)은 표준(예컨대, AVC, HEVC 등) 준수 포맷과 같은 임의의 적절한 포맷을 가질 수 있다.
예를 들어, 인코더(200)는 입력 프레임(224)을, 모션 추정 모듈(202) 및 모션 보상 모듈(209)을 통해 시간적으로(인터) 예측하거나 인트라 예측 모듈(201)을 통해 공간적으로(인트라) 예측될 수 있는 상이한 크기의 블록으로 분할할 수 있다. 이러한 코딩 결정은 인코드 제어기(도시되지 않음)의 제어 하에 선택 스위치(215)를 통해 구현될 수 있다. 도시된 바와 같이, 모션 추정 모듈(202)은 재투영된 재구성된 참조 프레임(226)을 모션 보상 참조 프레임으로서 사용할 수 있다. 즉, 모션 추정 모듈(202)은 입력 프레임(224)의 블록을 사용하여 최상의 매치 블록에 대한 재투영된 재구성된 참조 프레임(226)(및 사용되는 경우, 다른 모션 보상 참조 프레임)을 검색하고, 재투영된 재구성된 참조 프레임(226)에 대한 참조 인덱스 및 모션 벡터를 사용하여 최상의 매치 블록을 참조할 수 있다. 참조 인덱스는, 블록에 사용된 모션 보상 참조 프레임을 나타내기 위해 하나 이상의 모션 보상 참조 프레임이 모션 검색에 사용되는 경우에 사용될 수 있다. 오직 하나의 모션 보상 참조 프레임(예컨대, 재투영된 재구성된 참조 프레임(226))이 사용될 때, 참조 인덱스는 생략될 수 있다. 필요하다면, 이러한 블록에 대한 모션 벡터 및 참조 인덱스는, 엔트로피 인코더(214)를 통한 비트스트림(235)으로의 인코딩을 위해 모션 추정 모듈(202)로부터 모션 벡터 및 참조 인덱스(227)로서 제공된다.
설명된 바와 같이, 재투영된 재구성된 참조 프레임(226)은 모션 추정 모듈(202) 및 모션 보상 모듈(209)을 통해 (그리고 이하에서 설명되는 디코더(300)의 모션 보상 모듈(309)을 통해) 모션 보상 참조 프레임으로서 사용된다. 일 실시예에서는, 재투영된 재구성된 참조 프레임(226)만이 모션 보상 참조 프레임으로서 사용된다. 다른 실시예에서는, 재투영된 재구성된 참조 프레임(226) 및 다른 프레임이 모션 보상 참조 프레임으로서 사용된다. 실시예에서, 재투영된 재구성된 참조 프레임(226)은, 재투영된 재구성된 참조 프레임(226)이 재구성된 참조 프레임을 대신하도록 표준 기반의 재구성된 참조 프레임 대신 사용될 수 있으며, 모든 다른 코딩은 표준을 따를 수 있다. 또 다른 실시예에서, 재투영된 재구성된 참조 프레임(226)이 이용 가능한 프레임에 추가될 수 있고, 재투영된 재구성된 참조 프레임(226)의 표시자 등이 비트스트림(235)을 통해 제공될 수 있도록 표준의 확장이 요구될 수 있다.
실시예에서, 재투영된 재구성된 참조 프레임(226)과 재구성된 참조 프레임(225)은 모두 모션 보상 참조 프레임으로서 사용된다. 예를 들어, 모션 추정 모듈(202)은, 입력 프레임(224)의 제1 블록이 모션 보상을 위해 (예컨대, 참조 인덱스 및 모션 벡터를 통해) 재구성된 참조 프레임(225)을 참조하고 입력 프레임(224)의 제2 블록이 모션 보상을 위해 (예컨대, 상이한 참조 인덱스 및 다른 모션 벡터를 통해) 재투영된 재구성된 참조 프레임(226)을 참조하도록, 재구성된 참조 프레임(225)과 재투영된 재구성된 참조 프레임(226)을 모두 모션 보상 참조 프레임으로서 사용하여 블록 단위로 입력 프레임(224)에 대한 모션 추정을 수행한다.
또한, 하나의 재투영된 재구성된 참조 프레임(226)을 생성하는 것과 관련하여 설명되었지만, 재구성된 참조 프레임(225)에 적용되는 상이한 변환 매트릭스에 기초하여 하나 이상의 추가적인 재투영된 재구성된 참조 프레임이 생성될 수 있다. 예를 들어, 복수의 재투영된 재구성된 참조 프레임을 생성하기 위해 복수의 투영 변환이 적용될 수 있는데, 복수의 재투영된 재구성된 참조 프레임이 모두 모션 보상에 사용하기 위해 모션 추정 모듈(202) 및 모션 보상 모듈(209)(및 모션 보상 모듈(309))에 제공될 수 있다. 블록이 재투영된 재구성된 참조 프레임들 중 특정 재투영된 재구성된 참조 프레임을 참조할 때, 이러한 참조는 모션 벡터의 참조 인덱스 및 참조 인덱스(227)에 의해 표시될 수 있다. 예를 들어, (예컨대, 재구성된 참조 프레임(225)과 입력 프레임(224) 사이의 장면 포즈 차이 데이터를 사용하여) 재구성된 참조 프레임(225)에 제1 투영 변환을 적용함으로써 생성된 제1 재투영된 재구성된 참조 프레임과 (예컨대, 재구성된 참조 프레임(225)과 입력 프레임(224)의 이전 프레임 사이의 장면 포즈 차이 데이터를 사용하여) 재구성된 참조 프레임(225)에 제2 투영 변환을 적용함으로써 생성된 제2 재투영된 재구성된 참조 프레임이 모두 모션 보상 참조 프레임으로서 사용될 수 있다. 대안으로 또는 부가적으로, 도 6과 관련하여 더 설명되는 바와 같이 하나 이상의 재투영된 재구성된 참조 프레임을 생성하기 위해, 다른 재구성된 참조 프레임(예컨대, 더 과거에 재구성된 참조 프레임)에 하나 이상의 투영 변환이 적용될 수 있다.
계속해서 도 2를 참조하면, 인트라 코딩 또는 인터 코딩의 사용에 기초하여, (예컨대, 도시된 바와 같이 재투영된 재구성된 참조 프레임(226)이 모션 보상 참조 프레임으로서 사용되는 경우에는 입력 프레임(224) 및 재투영된 재구성된 참조 프레임(226)의 픽셀들 사이에서 또는 다른 모션 보상 참조 프레임의 픽셀을 사용하여) 입력 프레임(224)의 각 블록의 소스 픽셀과 각 블록에 대한 예측된 픽셀 사이의 차이가 차분기(203)를 통해 만들어져 블록에 대한 예측된 잔차를 생성할 수 있다. 차이 또는 예측된 잔차는 변환 모듈(204)을 통해 (예컨대, 이산 코사인 변환 등에 기초하여) 주파수 도메인으로 변환되고, 양자화 모듈(205)을 통해 양자화된 계수로 변환된다. 이러한 양자화된 계수, 모션 벡터 및 참조 인덱스(227), 및 다양한 제어 신호는, 엔트로피 인코더(214)를 통해 엔트로피 인코딩되어 인코딩된 비트스트림(235)을 생성하는데, 인코딩된 비트스트림(235)은 디코더로 송신 또는 전달되거나 할 수 있다.
또한, 로컬 디코드 루프의 일부로서, 양자화된 예측된 잔차 계수는 역양자화 모듈(206)을 통해 역양자화되고 역변환 모듈(207)을 통해 역변환되어 재구성된 차이 또는 잔차를 생성할 수 있다. 재구성된 차이 또는 잔차는 가산기(208)를 통해 모션 보상 모듈(209)(도시된 바와 같이 재투영된 재구성된 참조 프레임(226)이 모션 보상 참조 프레임으로 사용되는 경우에는 재투영된 재구성된 참조 프레임(226)의 픽셀을 사용하거나 다른 모션 보상 참조 프레임의 픽셀을 사용할 수 있음) 또는 인트라 디코딩 모듈(210)로부터의 참조 블록과 결합되어 재구성된 블록을 생성할 수 있는데, 재구성된 블록은 도시된 바와 같이 디블록 필터링을 위해 디블록 필터링 모듈(211)에 제공되어 다른 입력 프레임에 의한 사용을 위한 재구성된 참조 프레임을 제공할 수 있다. 예를 들어, 재구성된 참조 프레임(예컨대, 재구성된 참조 프레임(225))은 프레임 버퍼에 저장될 수 있다.
따라서, 인코더(200)는, 재구성된 참조 프레임(225)을 단독으로 사용하는 것에 비해, 재투영된 재구성된 참조 프레임(226)을 사용하여 입력 프레임(224)을 보다 효율적으로 코딩할 수 있다. 이러한 코딩 효율의 예시적인 결과는 표 1을 참조하여 더 설명된다. 다음에 비트스트림(235)은, 사용자에게 제시하기 위해 입력 프레임(224)에 대응하는 재구성된 프레임을 생성하기 위한 후속 디코딩을 위해, 저장되거나 원격 디바이스로 송신되거나 이와 유사한 동작이 수행된다.
도 3은 본 발명의 적어도 몇몇 구현에 따라 구성된, 재투영된 재구성된 참조 프레임을 사용하여 비디오 디코딩을 하기 위한 예시적인 디코더(300)의 블록도를 도시한 것이다. 예를 들어, 디코더(300)는 시스템(110) 내의 디코더(113)로서 구현될 수 있다. 도시된 바와 같이, 디코더(300)는 투영 변환 모듈(313), 차분기(312), 엔트로피 디코더(305), 역양자화 모듈(306), 역변환 모듈(307), 가산기(308), 모션 보상 모듈(309), 인트라 디코딩 모듈(310), 스위치(314), 및 디블록 필터링 모듈(311)을 포함할 수 있다. 디코더(300)는 제시의 명확성을 위해 도시되지 않은 추가 모듈 및/또는 상호접속을 포함할 수 있다.
도시된 바와 같이, 디코더(300)는 현재 장면 포즈(221), 참조 장면 포즈(223), 및 입력 비트스트림(235)(예를 들어, 하나 이상의 재투영된 재구성된 참조 프레임을 사용하여 인코딩된 비디오 프레임에 대응하거나 이 비디오 프레임을 나타내는 입력 비트스트림)을 수신할 수 있고, 디코더(300)는 표시를 위한 프레임(230)을 생성할 수 있다. 예를 들어, 디코더(300)는 표준(예를 들어, AVC, HEVC 등) 호환 포맷과 같은 임의의 적절한 포맷을 가질 수 있는 입력 비트스트림(235)을 수신할 수 있다. 인코더(200)와 관련하여 논의된 바와 같이, 현재 장면 포즈(221)와 참조 장면 포즈(223) 사이의 차이는 인코더(200) 및 디코더(300)의 컨텍스트에서 변환 매트릭스(222)에 의해 제공되는 장면 포즈 차이 데이터를 생성하기 위해 차분기(312)에 의해 결정될 수 있다. 논의된 바와 같이, 6-DOF 장면 포즈 차이 데이터는, 변환 매트릭스(222)가 재구성된 참조 프레임(225)에 적용되면 현재 장면 포즈(221)로부터 참조 장면 포즈(223)로의 투영 변환을 제공하도록, 공지된 기술을 사용하여 변환 매트릭스(222)로 변환될 수 있다. 변환 매트릭스(222)는 재투영된 재구성된 참조 프레임(226)을 생성하기 위해 투영 변환 모듈(313)에 의해 재구성된 참조 프레임(225)에 적용될 수 있다. 도시된 바와 같이, 재투영된 재구성된 참조 프레임(226)은 모션 보상 모듈(309)에 제공된다. 도시된 예에서, 차분기(312)는 장면 포즈 차이 데이터를 생성한다. 다른 예에서, 디코더(300)는 그러한 장면 포즈 차이 데이터를 변환 매트릭스(222)로서 또는 임의의 다른 적절한 포맷으로 수신할 수 있다. 실시예에서, 디코더(300)는 비트스트림(235)의 일부를 디코딩함으로써 그러한 장면 포즈 차이 데이터를 수신한다.
예를 들어, 디코더(300)는 엔트로피 디코더(305)를 통해 비트스트림(235)을 수신할 수 있으며, 이 엔트로피 디코더(305)는 비트스트림(235)으로부터 모션 벡터 및 참조 인덱스(227)와 블록 기반 양자화된 예측 잔차 계수를 디코딩할 수 있다. 도시된 바와 같이, 모션 벡터 및 참조 인덱스(227)는 모션 보상 모듈(309)에 제공된다. 양자화된 예측 잔차 계수는 역 양자화 모듈(306)을 통해 역 양자화되고 역변환 모듈(307)을 통해 역변환되어 재구성된 블록 기반 차이 또는 잔차(예를 들어, 예측 잔차 블록)를 생성한다. 재구성된 차이 또는 잔차는 재구성된 블록을 생성하기 위해 가산기(308)를 통해 모션 보상 모듈(309)(재투영된 재구성된 참조 프레임(226)으로부터의 픽셀 또는 다른 모션 보상 참조 프레임의 픽셀을 사용할 수 있음) 또는 인트라 디코딩 모듈(310)로부터의 기준 블록과 결합된다. 예를 들어, 각 블록에 대해, 모션 보상 모듈(309) 및 인트라 디코딩 모듈(310) 중 하나는, 비트 스트림(235)으로부터 디코딩된 제어 신호에 의해 제어되는 스위치(314)의 제어하에서 블록에 대한 대응하는 재구성된 차이 또는 잔차에 부가하기 위한 기준 블록을 제공할 수 있다. 도시된 바와 같이, 재구성된 블록은 또 다른 입력 프레임에 의해 사용되고 (원하는 경우) 사용자에게 제시되는 재구성된 참조 프레임을 제공하기 위해 디블록 필터링을 위한 디블록 필터링 모듈(311)에 제공된다. 예를 들어, 재구성된 참조 프레임(예를 들어, 재구성된 참조 프레임(225))은 다른 프레임을 디코딩할 때 사용하기 위해 또한 궁극적으로 사용자에게 제시하기 위해 프레임 버퍼에 저장될 수 있다. 예를 들어, 표시를 위한 프레임(230)은 디스플레이로 직접 전송될 수 있거나, 렌더 모듈(114)과 관련하여 논의된 바와 같이 추가 재투영을 위해 전송될 수 있다.
논의된 바와 같이, 재투영된 재구성된 참조 프레임(226)은 모션 보상 모듈(309)을 통해 모션 보상 참조 프레임으로서 사용된다. 실시예에서, 재투영된 재구성된 참조 프레임(226)만이 모션 보상 참조 프레임으로서 사용된다. 다른 실시예에서, 재투영된 재구성된 참조 프레임(226) 및 다른 프레임이 모션 보상 참조 프레임으로서 사용된다. 논의된 바와 같이, 재투영된 재구성된 참조 프레임(226)은 표준 기반의 재구성된 참조 프레임 대신에 사용될 수 있어 재투영된 재구성된 참조 프레임(226)이 재구성된 참조 프레임의 위치를 취하고 모든 다른 코딩은 표준을 따를 수 있다. 다른 실시예에서, 재투영된 재구성된 참조 프레임(226)은 이용가능한 프레임에 부가될 수 있고, 재투영된 재구성된 참조 프레임(226)의 표시자 등이 비트스트림(235)을 통해 제공될 수 있도록 표준의 확장이 요구될 수 있다.
실시예에서, 재투영된 재구성된 참조 프레임(226) 및 재구성된 참조 프레임(225)은 모두 모션 보상 참조 프레임으로서 사용된다. 예를 들어, 모션 보상 모듈(309)은 모션 벡터 및 참조 인덱스(227)의 제어하에서 재투영된 재구성된 참조 프레임(226) 및/또는 재구성된 참조 프레임(225)으로부터 픽셀 데이터를 검색함으로써 모션 보상을 수행할 수 있다. 또한, 하나의 재투영된 재구성된 참조 프레임(226)을 생성하는 것과 관련하여 설명되었지만, 재구성된 참조 프레임(225)에 적용되는 상이한 변환 매트릭스에 기초하여 하나 이상의 추가적인 재투영된 재구성된 참조 프레임이 생성될 수 있다. 예를 들어, 다수의 투영 변환(각각의 변환은 상이한 장면 포즈 차이 데이터를 갖는 것으로 가정)이 적용되어 다수의 재투영된 재구성된 참조 프레임을 생성하는데, 이 재투영된 재구성된 참조 프레임들은 모두 모션 보상시 사용하기 위해 모션 보상 모듈(309)에 제공될 수 있다. 블록이 재투영된 재구성된 참조 프레임 중 특정 재투영된 재구성된 참조 프레임을 참조하면, 모션 보상 모듈(309)은 이용가능한 재투영된 재구성된 참조 프레임들 중 임의의 것으로부터 픽셀 데이터를 검색함으로써 모션 보상을 수행할 수 있다. 예를 들어, 제1 투영 변환을 (예를 들어, 재구성된 참조 프레임(225)과 입력 프레임(224) 사이의 장면 포즈 차이 데이터를 사용하여) 재구성된 참조 프레임(225)에 적용함으로써 생성된 제1 재투영된 재구성된 참조 프레임과, 제2 투영 변환을 (예를 들어, 재구성된 참조 프레임(225)과 입력 프레임(224) 이전의 프레임 사이의 장면 포즈 차이 데이터를 사용하여) 재구성된 참조 프레임(225)에 적용함으로써 생성된 제2 재투영된 재구성된 참조 프레임, 및 이들 모두는 모션 보상 참조 프레임으로서 사용될 수 있다. 이와 달리 또는 이에 더해, 하나 이상의 투영 변환이 다른 재구성된 참조 프레임(예를 들어, 더 이전의 재구성된 참조 프레임)에 적용되어 하나 이상의 재투영된 재구성된 참조 프레임을 생성할 수 있다.
도 4는 본 개시의 적어도 일부 구현예에 따라 구성된, 재투영된 재구성된 참조 프레임을 사용하여 비디오를 코딩하기 위한 예시적인 프로세스(400)를 나타내는 흐름도이다. 프로세스(400)는 도 4에 도시된 바와 같이 하나 이상의 동작(401-409)을 포함할 수 있다. 프로세스(400)는 비디오 코딩 프로세스의 적어도 일부를 형성할 수 있다. 비 한정적인 예로서, 프로세스(400)는 비디오 인코딩 프로세스 또는 비디오 디코딩 프로세스의 적어도 일부를 형성할 수 있다.
프로세스(400)는 제1 장면 포즈에 대응하는 재구성된 참조 프레임이 생성되는 동작(401)으로 시작한다. 재구성된 참조 프레임은 임의의 적절한 기술 또는 기법을 사용하여 재구성될 수 있다. 예를 들어, 프레임에 대한 기준 블록은 인트라 디코딩 및/또는 모션 보상 기법을 사용하여 결정될 수 있고, 각각의 기준 블록은(존재한다면) 예측 잔차와 결합되어 재구성된 기준 블록을 형성할 수 있다. 재구성된 기준 블록은 프레임 내로 결합되거나 병합될 수 있고, 프레임은 디블록 필터링되어 재구성된 참조 프레임을 생성할 수 있다. 예를 들어, 재구성된 참조 프레임은 인코더(200) 및 디코더(300)와 관련하여 설명된 바와 같이 재구성된 참조 프레임(225)에 대응할 수 있다.
프로세싱은 동작(402)에서 계속되며, 여기서 (재구성된 참조 프레임에 대응하는) 제1 장면 포즈로부터 제1 장면 포즈에 후속하는 제2 장면 포즈(장면의 보다 최근의 평가에 대응함)로의 장면 포즈 변경에 대한 장면 포즈 차이 데이터가 수신 또는 생성될 수 있다. 논의된 바와 같이, 장면 포즈 차이 데이터는 시간 경과에 따른 장면 포즈 변경을 나타낸다. 장면 포즈 차이 데이터는 임의의 적절한 포맷을 가질 수 있고, 동작(404)과 관련하여 논의된 바와 같이 프레임에 적용될 수 있다. 실시예에서, 장면 포즈 차이 데이터는 변환 매트릭스이다. 예를 들어, 프레임(예를 들어, 재구성된 참조 프레임)의 각각의 픽셀 좌표 또는 일부 픽셀 좌표는 재투영된 프레임(예를 들어, 재투영된 재구성된 참조 프레임)이 생성되도록 픽셀에 대한 새로운 또는 재투영된 픽셀 좌표를 제공하기 위해 변환 매트릭스로 행렬 곱셈될 수 있다. 실시예에서, 장면 포즈 차이 데이터는, 변환 매트릭스로 변환되고/되거나 프레임(예를 들어, 재구성된 참조 프레임)에 적용되어 재투영된 프레임(예를 들어, 재투영된 재구성된 참조 프레임)을 생성할 수 있는 6 자유도 차분 데이터(예를 들어, △x, △y, △z, △α, △β 및 △γ 값)이다. 실시예에서, 장면 포즈 차이 데이터는 재투영된 프레임(예를 들어, 재투영된 재구성된 참조 프레임)을 생성하기 위해 프레임(예를 들어, 재구성된 참조 프레임)에 적용될 수 있는 모션 벡터 필드이다.
프로세싱은 동작(403)에서 계속되며, 여기서 재구성된 참조 프레임에 대한 장면 포즈 차이 데이터의 적용이 평가에 의존하도록, 장면 포즈 차이 데이터가 선택적으로 평가될 수 있다. 장면 포즈 차이 데이터는, 예를 들어 장면 포즈의 차이가 재투영을 수행하는 비용을 보증하기에 충분히 큰지를 결정하기 위해 평가될 수 있다. 예를 들어, 장면 포즈의 차이 또는 장면 포즈 차이 데이터에 대응하는 하나 이상 또는 모든 크기 값이 임계 값보다 작은 경우, 재투영은 건너뛸 수 있다. 일부 실시예에서, 동작(403)은 인코더(예를 들어, 인코더(200))에서 수행될 수 있지만, 비트스트림(예를 들어, 비트스트림(235)) 내의 재투영 건너뛰기 표시자에 응답하여 디코더(예를 들어, 디코더(300))에서 재투영 건너뛰기가 수행될 수도 있다.
도 5는 본 개시의 적어도 일부 구현예에 따라 구성된, 장면 포즈 차이 데이터의 평가에 기초하여 프레임 재투영을 조건부로 적용하기 위한 예시적인 프로세스(500)를 나타내는 흐름도이다. 프로세스(500)는 도 5에 도시된 바와 같이 하나 이상의 동작(501-504)을 포함할 수 있다.
프로세스(500)는 하나 이상의 장면 전환 차이 크기 값(SCDMV)이 생성되는 동작(501)으로 시작된다. 장면 전환 차이 크기 값은 장면 포즈 차이 데이터의 크기(예를 들어, 장면 포즈의 변화의 크기)를 나타내는 임의의 값 또는 값들을 포함할 수 있다. 예를 들어, 6 자유도 차분 데이터 또는 임의의 자유도 차분 데이터와 관련하여, 장면 전환 차이 크기 값은 각각의 자유도 차이 또는 델타의 제곱의 합(예를 들어, Δx2+Δy2+Δz2+Δα2+Δβ2+Δγ2), 병진 성분의 제곱의 합(예를들어, Δx2+Δy2+Δz2) 등을 포함한다. 변환 매트릭스의 문맥에서, 장면 전환 차이 크기 값은 매트릭스 계수의 제곱의 합 등을 포함할 수 있다. 모션 벡터 필드의 문맥에서, 장면 전환 차이 크기 값은 모션 벡터 필드에 대한 평균 절대 모션 벡터 값, 모션 벡터 필드 내의 모션 벡터의 x 및 y 성분의 제곱의 합의 평균 등을 포함할 수 있다.
프로세싱은 동작(502)에서 계속될 수 있으며, 여기서 장면 전환 차이 크기 값이 임계 값과 비교된다. 도시된 바와 같이, 장면 포즈 차이 데이터에 대응하는 장면 전환 차이 크기 값이 임계 값을 초과하면, 프로세싱은 동작(503)에서 계속되고, 여기서 대응하는 재구성된 참조 프레임에 투영 변환이 적용된다. 그렇지 않은 경우, 프로세싱은 동작(504)에서 계속되며, 여기서 투영 변환이 건너뛰기 되고 장면 포즈 차이 데이터가 폐기된다.
예시된 실시예에서, 단일 장면 전환 차이 크기 값은 단일 임계 값과 비교되고, 장면 전환 차이 크기 값이 임계 값을 초과하면 투영 변환이 적용된다. 다른 실시예에서, 장면 전환 차이 크기 값이 임계 값을 만족시키거나 초과하는 경우 투영 변환이 적용된다. 실시예에서, 다수의 장면 전환 차이 크기 값 각각은 제각기의 임계 값을 만족시키거나 초과해야 한다. 실시예에서, 채용된 각각의 자유도는 적용될 투영 변환을 위한 임계 값을 초과하도록 요구된다. 실시예에서, 장면 전환 차이 크기 값(들)(예를 들어, 하나 이상의 장면 전환 차이 크기 값)은 제1 임계 값을 만족시키거나 초과해야 하고, 투영 변환이 적용되는 제2 임계 값을 초과하지 않아야 하며, 따라서 제1 임계 값이 제2 임계 값보다 작다.
도 4의 설명으로 돌아가면, 프로세싱은 투영 변환이 적용되는 동작(404)에서 계속될 수 있다. 예를 들어, 투영 변환은 동작(403)에서 제공된 평가가 사용되는 경우 그러한 평가에 기초하여 조건부로 적용될 수 있거나, 또는 평가가 사용되지 않는 모든 경우에 적용될 수 있다. 투영 변환은 임의의 적절한 기술 또는 기법을 사용하여 적용될 수 있다. 예를 들어, 투영 변환의 적용은 장면 포즈 차이 데이터의 포맷에 의존할 수 있다. 장면 포즈 차이 데이터가 변환 매트릭스이거나 또는 이 변환 매트릭스로 변환되는 문맥에서, 재구성된 참조 프레임의 각 픽셀 좌표 또는 일부 픽셀 좌표는 변환 매트릭스로 행렬 곱셈되어 픽셀에 대한 새로운 또는 재투영된 픽셀 좌표를 제공함으로써 재투영된 프레임(예를 들어, 재투영된 재구성된 참조 프레임)이 생성된다. 장면 포즈 차이 데이터가 6 자유도 차분 데이터(예를 들면, Δx, Δy, Δz, Δα, Δβ, Δγ 값)이거나 또는 보다 적은 자유도 등의 차분 데이터인 경우, 6 자유도 차분 데이터는 변환 매트릭스로 변환되거나 및/또는 재구성된 참조 프레임에 적용되어 재투영된 프레임을 생성할 수 있다. 장면 포즈 차이 데이터가 모션 벡터 필드인 실시예에서, 모션 벡터 필드는(예를 들어, 블록 단위로) 재구성된 참조 프레임에 적용되어 각 블록에 대응하는 픽셀을 블록에 대한 대응하는 모션 벡터에 기초하여 새로운 위치로 재배치할 수 있다. 논의된 바와 같이, 동작(404)에서 적용되는 투영 변환은 장면 포즈 차이가 시간에 따라 변하도록 장면 포즈 차이에 기초할 수 있다.
도 6은 본 개시의 적어도 일부 구현예에 따라 구성된, 비디오 코딩시 사용하기 위한 다수의 재투영된 재구성된 참조 프레임의 예를 도시한다. 도 6에 도시된 바와 같이, 장면 포즈 변경 컨텍스트(600)는 본 명세서에서 논의된 바와 같이 해당 참조 장면 포즈(223)(Pref)를 갖는 재구성된 참조 프레임(225)을 포함한다. 참조 장면 포즈(223)는 재구성된 참조 프레임(225)에 대응하는 프레임이 사용자에게 제공되었을 시간, 재구성된 참조 프레임(225)에 대응하는 프레임이 렌더링되었을 시간 등에서의 장면 포즈일 수 있다. 또한, 도 6에 도시된 바와 같이, 참조 장면 포즈(223)와 현재 장면 포즈(221)(Pcurr) 간의 차이는 본 명세서에서 논의된 임의의 포맷일 수 있는 장면 포즈 차이 데이터(601)(ΔP=Pcurr-Pref)를 제공한다. 장면 포즈 차이 데이터(601)는 재구성된 참조 프레임(225)에 적용되어 재투영된 재구성된 참조 프레임(226)을 생성한다. 논의된 바와 같이, 현재 장면 포즈(221)는 보다 최근의 장면 포즈 측정치에 기초할 수 있고 또는 현재 장면 포즈(221)는 (외삽법 또는 유사한 기법을 사용하여) 투영된 장면 포즈에 기초할 수 있다. 또한, 장면 포즈 차이 데이터(601)(및/또는 현재 장면 포즈(221))는 본 명세서에서 논의된 바와 같이 입력 프레임(224)을 렌더링하는데 사용될 수 있다. 도시된 바와 같이, 재투영된 재구성된 참조 프레임(226)은 입력 프레임(224)의 코딩에 대해 (인코더(200)에 의한) 모션 추정 및 모션 보상(602)을 위해 또는 (디코더(300)에 의한) 모션 보상만을 위해 사용된다. 즉, 재투영된 재구성된 참조 프레임(226)은 본 명세서에서 논의된 바와 같이 입력 프레임(224)의 코딩을 위한 모션 보상 참조 프레임으로서 사용된다.
또한, 장면 포즈 변경 컨텍스트(600)에 도시된 바와 같이, 하나 이상의 추가적인 재투영된 재구성된 참조 프레임이 생성되어 모션 추정 및 모션 보상(602)을 위해 사용될 수 있다. 예를 들어, 이러한 모션 추정 및 모션 보상(602)은 하나 이상의 재투영된 재구성된 참조 프레임, 및 재투영이 없는 하나 이상의 재구성된 참조 프레임(예를 들어, 재구성된 참조 프레임(225))을 포함하는 모션 보상 참조 프레임(607)의 그룹을 검색할 수 있다. (예를 들어, 인코더(200)에서의) 모션 추정 검색 동안, 입력 프레임(224)의 블록에 대해, 최상의 매치 블록이 임의의 모션 보상 참조 프레임(607)으로부터 발견되고, 이 최상의 매치 블록은 프레임 참조 및 모션 벡터을 사용하여 참조된다. (예를 들어, 인코더(200) 또는 디코더(300)에서의) 모션 보상 동안, 프레임 참조 및 모션 벡터는 모션 보상 참조 프레임(607) 중에서 최상의 매치 블록(예를 들어, 기준 블록)에 액세스하는데 사용되며, 이 최상의 매치 블록은 본 명세서에서 논의된 바와 같이 프레임을 재구성하기 위해 다른 블록과 결합되는 재구성된 블록을 형성하도록 재구성된 예측 잔차에 부가된다.
실시예에서, 재구성된 참조 프레임(605)은 참조 장면 포즈(604)가 참조 장면 포즈(223)보다 앞서도록 자신에 대응하는 참조 장면 포즈(604)(Pref2)를 갖는다. 참조 장면 포즈(604)는 재구성된 참조 프레임(605)에 대응하는 프레임이 사용자에게 제시된 시간, 재구성된 참조 프레임(605)에 대응하는 프레임이 렌더링된 시간 등에서의 장면 포즈일 수 있다. 참조 장면 포즈(604)와 현재 장면 포즈(221)(Pcurr) 사이의 차이는 본 명세서에서 논의된 임의의 포맷일 수 있는 장면 포즈 차이 데이터(610)(ΔP2=Pcurr-Pref2)를 제공한다. 장면 포즈 차이 데이터(610)는 재투영된 재구성된 참조 프레임(606)을 생성하기 위해 재구성된 참조 프레임(605)에 적용된다. 도시된 바와 같이, 재투영된 재구성된 참조 프레임(606)은 보상 참조 프레임(607)의 일부로서 입력 프레임(224)의 코딩에 대해 (인코더(200)에 의한) 모션 추정 및 모션 보상(602)을 위해 또는 (디코더(300)에 의한) 모션 보상만을 위해 사용된다. 예를 들어, 다수의 재투영된 재구성된 참조 프레임의 사용은 입력 프레임(224)에 대한 코딩 효율을 향상시킬 수 있다.
본 명세서에서 논의된 투영 변환은 프레임 내의 객체의 병진, 프레임에 대한 줌인 또는 줌아웃 효과, 프레임의 회전, 프레임의 왜곡 등을 제공하는 것과 같은 임의의 적절한 방식으로 재구성된 참조 프레임(또는 이의 일부)을 재투영 또는 워핑(warp)할 수 있다. 재구성된 참조 프레임은 참조 프레임, 재구성된 프레임 등으로 특성화될 수 있고, 재투영된 재구성된 참조 프레임은 워핑된 재구성된 참조 프레임, 워핑된 참조 프레임, 재투영된 참조 프레임 등으로 특성화될 수 있다.
일부 실시예에서, 투영 변환 이후에, 재투영되거나 워핑된 참조 프레임은 모션 추정/보상 참조 프레임으로서 제공되기 전에 추가로 처리될 수 있다. 예를 들어, 줌인, 줌 아웃 및 회전 동작은 재구성된 참조 프레임의 풋프린트(예를 들어, 재구성된 참조 프레임의 원래 크기 및 형상)의 외부로 이동되는 픽셀을 제공할 수 있다. 이러한 문맥에서, 투영 변환 후의 결과적인 프레임의 픽셀은 변경되거나, 제거될 수 있고, 또는 추가의 픽셀 값이 부가되어 갭을 채움으로써 움직임 추정/보상 기준을 위해 사용되는 재투영된 재구성된 참조 프레임은 재구성된 참조 프레임의 동일한 크기 및 형상(및 참조 프레임으로서 재투영된 재구성된 참조 프레임을 사용하여 코딩될 프레임의 동일한 크기 및 형상)을 갖게 된다.
도 7은 본 개시의 적어도 일부 구현예에 따라 구성된, 줌인 동작 이후의 재투영된 재구성된 참조 프레임의 예시적인 사후 프로세싱(700)을 도시한다. 도 7에 도시된 바와 같이, 투영 변환을 적용한 후, 결과적인 재투영된 재구성된 참조 프레임(701)은 (예를 들어, 논의된 투영 변환을 통해) 결과적인 재투영된 재구성된 참조 프레임(701)을 생성하기 위해 사용되는 대응하는 재구성된 참조 프레임(702)의 원래의 크기(예를 들어, h1xw1)보다 큰 크기(예를 들어, h2xw2)를 갖는다. 결과적인 재투영된 재구성된 참조 프레임(701)은 워핑된 재구성된 참조 프레임, 결과적인 재구성된 참조 프레임 등으로서 특성화될 수 있다.
도시된 바와 같이, 결과적인 재투영된 재구성된 참조 프레임(701)이 재구성된 참조 프레임의 원래 크기보다 큰 크기를 가지거나 재투영된 재구성된 참조 프레임(701)의 일부가 재구성된 참조 프레임의 원래 크기 밖에 있는 실시예에서, 재구성된 참조 프레임의 원래의 크기와 동일한 크기 및 형상(및 코딩될 입력 프레임의 크기 및 형상)을 갖는 바운딩 박스(703)가 결과적인 재투영된 재구성된 참조 프레임(701)에 적용되고, 스케일링(704)이 바운딩 박스(703) 내 결과적인 재투영된 재구성된 참조 프레임(701)의 픽셀 값에 적용되어 재구성된 참조 프레임과 동일한 크기, 형상 및 픽셀 밀도(및 코딩될 입력 프레임의 크기 및 형상)을 갖는 재투영된 재구성된 참조 프레임(706)을 생성한다. 예시된 실시예에서, 바운딩 박스(703)는 재구성된 참조 프레임의 원래의 크기와 동일한 크기 및 형상(및 코딩될 입력 프레임의 크기 및 형상)을 갖는다. 다른 실시예에서, 구현된 인코드/디코드 아키텍처에 의해 지원된다면, 보다 큰 재투영된 재구성된 참조 프레임(706)이 생성될 수 있다. 예를 들어, 더 큰 크기가 지원되는 경우, 바운딩 박스(703)는 재구성된 참조 프레임의 원래 크기보다 클 수 있다. 그러한 예에서, 바운딩 박스(703)는 최대 지원 참조 프레임 크기까지 재구성된 참조 프레임의 원래 크기보다 큰 크기를 갖는다.
예를 들어, 줌인(zoom in)(예를 들어, 사용자 시각(user perspective)에 더 가깝게 이동) 투영 변환은 결과적인 재투영된 재구성된 참조 프레임(701)이 원래의 재구성된 참조 프레임(702)의 해상도보다 큰 것으로 스케일링되도록 한다. 이러한 상황에서, 인코더(200) 및 디코더(300)는 전체 해상도(full resolution)의 참조 프레임을 여전히 요청할 수 있다. 그러나, 논의된 바와 같이, 줌인 동작은 더 큰 표면을 할당한다. 재구성된 참조 프레임의 피치 및 초기 x, y 좌표를 사용함으로써, 바운딩 박스(703)가 결과적인 재투영된 재구성된 참조 프레임(701)에 적용되고, 스케일링(704)을 통해 전체 해상도를 갖는 재투영된 재구성된 참조 프레임(706)이 (예를 들어, 프레임 버퍼 등 내에서) 인코더(200) 및 디코더(300)에 제공되며, 재투영된 재구성된 참조 프레임(227)에 대응할 수 있는 재투영된 재구성된 참조 프레임(706)이 그에 따라 참조 프레임 고유 해상도에 대응할 것이다. 이러한 기술들은 인코더(200) 및 디코더(300)의 나머지가 모션 추정/보상 등과 관련하여 정상적으로 동작하게 한다. 이해할 수 있는 바와 같이, 그러한 기술들을 사용하면 경계 픽셀들(705)에 대한 픽셀 정보가 손실된다. 그러나, 유사한 장면 포즈가 참조 프레임(예를 들어, 입력 프레임(224)/표시를 위한 프레임(230))으로서 재투영된 재구성된 참조 프레임(706)을 사용하여 코딩될 프레임을 생성하는데 사용될 때, 그러한 픽셀 정보는 모션 추정/보상 동안 불필요할 것으로 예상된다.
결과적인 재투영된 재구성된 참조 프레임(701)을 생성하기 위한 줌인 동작과 관련하여 설명되었지만, 원래의 해상도보다 큰 프레임 또는 재구성된 참조 프레임의 원래 크기 외부의 픽셀을 제공하는 임의의 변환 또는 워핑(warping)은 원래의 재구성된 참조 프레임과 동일한 해상도를 갖는 재투영된 재구성된 참조 프레임을 생성하기 위해 전술한 바운딩 박스 및 스케일링 기술이 적용될 수 있다. 예를 들어, 프레임 회전 변환은 인코드/디코드 처리 이전에 제거될 수도 있는 원래의 재구성된 참조 프레임 외부의 픽셀을 제공할 수 있다. 다른 실시예들에서, 인코드/디코드 구조에 의해 지원된다면, 줌인 또는 유사한 효과를 야기하는 설명된 투영 변환 이후에, 경계 픽셀(705) 또는 그의 일부가 모션 추정/보상으로 사용될 수 있다.
도 8은 본 개시의 적어도 일부 구현예들에 따라 배치된, 줌아웃 동작 후의 재투영된 재구성된 참조 프레임의 예시적인 후처리(800)를 도시한다. 도 8에 도시된 바와 같이, 투영 변환의 적용 후에, 결과적인 재투영된 재구성된 참조 프레임(801)은 (예를 들어, 설명된 투영 변환을 통해) 결과적인 재구성된 참조 프레임(801)을 생성하는데 사용된 대응하는 재구성된 참조 프레임(802)의 원래 크기(예를 들어, h1×w1)보다 큰 크기(예를 들어, h2×w2)를 갖는다. 결과적인 재투영된 재구성된 참조 프레임(801)은 워핑된 재구성된 참조 프레임, 결과적인 재구성된 참조 프레임 등으로 특징지어 질 수 있다.
도시된 바와 같이, 결과적인 재투영된 재구성된 참조 프레임(801)이 재구성된 참조 프레임(802)의 원래 크기보다 작은 크기를 갖거나 재투영된 재구성된 참조 프레임(801)의 일부가 재구성된 참조 프레임(802)의 에지 내에 있고 연장되지 않는 실시예들에서, 에지 픽셀 생성 동작(805)이 결과적인 재투영된 재구성된 참조 프레임(801)에 적용되어 재구성된 참조 프레임(802)과 동일한 크기, 형상 및 픽셀 밀도(및 코딩될 입력 프레임의 크기 및 형상)를 갖는 재투영된 재구성된 참조 프레임(804)을 생성한다. 도시된 실시예에서, 재투영된 재구성된 참조 프레임(801)의 외부 에지들(예를 들어, 하나 이상의 에지들)과 재구성된 참조 프레임(802)의 대응 에지들 사이의 갭(803)은 재투영된 재구성된 참조 프레임(804)의 대응하는 구성된 픽셀 값들로 채워진다. 구성된 픽셀 값은 픽셀 복제 기술 등과 같은 임의의 적절한 기술 또는 기술들을 사용하여 생성될 수 있다.
예를 들어, 줌아웃 투영 변환은 결과적인 재투영된 재구성된 참조 프레임(801)이 원래의 재구성된 참조 프레임(802)의 해상도보다 작게 스케일링되게 한다. 전술한 줌인 동작과 관련하여 논의된 바와 같이, 인코더(200) 및 디코더(300)는 전체 해상도 참조 프레임을 여전히 요구한다. 도 8에 예시된 줌아웃을 위해, 에지 픽셀들(예를 들어, 갭(803)을 채우기 위한 픽셀들)은 논의된 바와 같이 복제되어 누락 픽셀들을 채울 수 있다. 이러한 픽셀 복제는 픽셀 복사, 픽셀 값 외삽(pixel value extrapolation) 등에 의해 수행될 수 있다. 도시된 바와 같이, 전체 해상도를 갖는 재투영된 재구성된 참조 프레임(804)은 인코더(200) 및 디코더(300)에 제공되며, 재투영된 재구성된 참조 프레임(226)에 대응할 수 있는 재투영된 재구성된 참조 프레임(804)이 그에 따라 참조 프레임의 고유 해상도에 대응할 것이다. 이러한 기술들은 인코더(200) 및 디코더(300)의 나머지가 모션 추정/보상 등과 관련하여 정상적으로 동작할 수 있게 한다.
결과적인 재투영된 재구성된 참조 프레임(601)을 생성하기 위한 줌아웃 동작과 관련하여 설명되었지만, 원래 해상도보다 작은 프레임을 제공하는 임의의 변환 또는 워핑은 설명된 픽셀 구성 기술을 적용하여 원래의 재구성된 참조 프레임과 동일한 해상도를 갖는 재투영된 재구성된 참조 프레임을 생성할 수도 있다. 예를 들어, 프레임 회전 변환이 인코드/디코드 처리 전에 구성될 수 있는 원래의 재구성된 참조 프레임에 대해 픽셀 갭을 제공할 수 있다.
더욱이, 일부 실시예들에서, 도 1을 참조하면, 시스템(100)이 배럴(barrel) 왜곡된 렌더링된 프레임을 생성하면, 배럴 왜곡을 제거하고, 재투영(예를 들어, 투영 변환)을 적용하고 배럴 왜곡을 재적용함으로써 재구성된 참조 프레임이 생성될 수 있다. 이러한 기술은 현재 뷰와 동일한 관점에서 재투영된 재구성된 참조 프레임을 생성한다. 또한, 배럴 왜곡으로부터의 워핑은 재투영을 위해 배럴 왜곡을 제거함으로써 완화될 수 있는 상당한 양으로 물체의 크기 및 형상을 변화시킬 수 있다. 본원에서 논의된 바와 같이, 재투영은 재투영 없이 재구성된 참조 프레임의 사용과 비교하여 입력 프레임과 재투영된 재구성된 참조 프레임 사이의 보다 유사한 뷰를 생성한다.
도 4의 동작(404)에 대한 설명으로 돌아가면, 논의된 바와 같이, 일부 실시예들에서, 결과적인 재투영된 재구성된 참조 프레임을 생성하기 위해 재구성된 참조 프레임 전체에 투영 변환이 적용된다. 이러한 전체 프레임 투영 변환 적용은 구현을 단순하게 할 수 있다. 다른 실시예들에서, 투영 변환은 결과적인 재투영된 재구성된 참조 프레임을 생성하기 위해 재구성된 참조 프레임의 일부분 또는 부분들에만 적용된다. 예를 들어, 관심 영역 또는 관심 영역들이 재투영된 재구성된 참조 프레임의 배경을 제외한 것이며 투영 변환이 관심 영역 또는 관심 영역들 또는 배경에만 적용될 수 있도록, 하나 이상의 객체 또는 관심 영역들 등이 재투영된 재구성된 참조 프레임 내에서 결정될 수 있다.
도 9는 본 개시의 적어도 일부 구현예들에 따라 구성된 관심 영역에만 적용된 예시적인 투영 변환을 도시한다. 도 9에 도시된 바와 같이, 관심 영역(902)은, 재구성된 참조 프레임(901)이 관심 영역(902)과 관심 영역(902)을 제외한 배경(903)을 포함하도록, 재구성된 참조 프레임(901) 내에 제공될 수 있다. 관심 영역(902)은 임의의 적절한 기술 또는 기술들을 사용하여 재구성된 참조 프레임(901) 내에서 결정되거나 제공될 수 있다. 일 실시예에서, 관심 영역(902)(예를 들어, 관심 영역(902)의 좌표들)은 애플리케이션 모듈(101)에 의해 (예를 들어, 비트스트림(125) 또는 비트스트림(125)에 대한 측파대 내에서) 통신 링크(131)를 통해 인코더(103) 및 디코더(113)에 제공된다. 일부 실시예들에서, 관심 영역(902)은 렌더링된 객체(예를 들어, 게임의 일부 등)가 되도록 애플리케이션 모듈(101)에 의해 결정될 수 있다. 다른 실시예들에서, 관심 영역(902)은 객체 검출, 객체 추적 등을 사용하여 결정될 수도 있다.
도시된 바와 같이, 일 실시예에서, 투영 변환(904)이 관심 영역(902)에만 적용되어 배경(903)이 아닌 재투영된 재구성된 참조 프레임(905)의 워핑되거나 또는 재투영된 관심 영역(906)을 생성한다. 다른 실시예들에서, 투영 변환(904)은 배경(903)에만 적용되어 관심 영역(902)이 아닌 재투영된 재구성된 참조 프레임(905)의 워핑되거나 재투영된 배경을 생성한다. 이러한 기술은, 예를 들어, 변경되는 배경과 관련하여 정지된 것으로 알려진 객체의 워핑 또는 재투영을 제공하지 않을 수 있다. 예를 들어, 본원에서 설명된 바와 같이 객체 주위의 배경이 6-DOF 또는 이와 유사한 방식으로 움직이는 동안 객체가 관찰자와 함께 움직이는 경우(예를 들어, 관찰자 앞에 있는 볼), 배경(903)에 투영 변환을 적용하는 동안 (예를 들어, 관심 영역(902) 내에서 움직임이 없는) 볼에 투영 변환을 적용하지 않는 것이 유리할 수 있다. 유사하게, (예를 들어, 배경(903)이 변하지 않거나 단지 패닝(panning)되도록) 관심 영역(902)만이 관찰자에 대해 변경되는 경우, 배경(903)이 변경되지 않은 채로 남겨두면서 관심 객체(902)에만 투영 변환을 적용하는 것이 유리할 수 있다. 도시된 실시예에서, 단일의 직사각형 관심 영역이 제공된다. 그러나, 임의의 수 및 형상의 관심 영역이 구현될 수 있다.
도 4를 다시 참조하면, 전체 프레임 투영 변환에 대해 논의된 바와 같이, 투영 변환이 관심 영역(902) 또는 배경(903)에만 적용될 때 동작(405)이 적용될 수 있다. 예를 들어, 관심 영역이 투영 변환의 결과로서 확장될 때 관심 영역(902)의 원래 크기 내에서 스케일링될 수 있다. 관심 영역이 투영 변환의 결과로서 관심 영역(902)의 크기보다 더 작은 경우, 배경(903)으로부터의 픽셀이 사용되거나 픽셀 구성(예를 들어, 복제)이 갭을 채우는데 사용될 수 있다.
프로세싱은 프로세스(400)에 도시된 인코드 경로 또는 디코드 경로에 따른 선택적 동작(405)에서 계속될 수 있다. 예를 들어, 동작들(401 내지 405)은 인코더(200) 및 디코더(300)에 의해 동일한 방식으로 수행됨으로써 둘 모두가 (예를 들어, 모션 보상 모듈(209) 및 모션 보상 모듈(309)에 의해 각각 수행되는 바와 같은) 모션 보상에 사용할 동일한 재투영된 재구성된 참조 프레임을 갖는다. 이해할 수 있는 바와 같이, 인코더(200) 및 디코더(300)에 의해 사용되는 모션 보상 프레임(들) 사이의 임의의 불일치는 코딩 프로세스에서의 손상을 야기할 것이다.
인코드 프로세스 경로에 있어서, 프로세싱은 동작(406)에서 계속될 수 있고, 여기서 동작(404) 및/또는 동작(405)에서 생성된 재투영된 재구성된 참조 프레임(들)을 사용하여 모션 추정 및 모션 보상이 수행된다. 예를 들어, 인코더(200)와 관련하여 논의한 바와 같이, 모션 추정 검색은 (예를 들어, 재투영된 재구성된 참조 프레임(들) 중 일부 또는 모든 부분들을 검색함으로써) 모션 보상 프레임으로서 재투영된 재구성된 참조 프레임(들)을 사용하여 입력 프레임(224)의 블록들에 대해 블록 단위로 (예를 들어, 모션 추정 모듈(202)에 의해) 수행된다. 최상의 매치 블록은 참조 인덱스(예를 들어, 둘 이상이 사용되는 경우 참조 프레임을 표시함) 및 모션 벡터에 의해 표시된다. 더욱이, (예를 들어, 모션 보상 모듈(209)에 의해) 본원에 논의된 바와 같이 최상의 매치 블록들을 검색하고 대응하는 재구성된 예측 잔차를 추가함으로써 블록을 재구성하도록 모션 보상이 수행된다.
프로세싱은 동작(407)에서 계속될 수 있고, 여기서 참조 인덱스 및 모션 벡터뿐만 아니라 변환 및 양자화된 예측 잔차(예를 들어, 입력 프레임(224)의 블록과 차이가 변환되고 양자화된 후의 대응하는 최상의 매치 블록 사이의 차이)가 비트스트림으로 인코딩된다. 비트 스트림은 본원에서 논의된 표준(예를 들어, AVC, HEVC 등) 또는 비표준을 준수할 수 있다.
디코드 프로세스 경로에 대해, 프로세싱은 (예를 들어, 모션 보상 모듈(209)에 의해) 모션 보상이 수행되는 동작(408)에서 계속될 수 있다. 예를 들어, 동작(407)에서 생성된 비트스트림과 같은 비트스트림은 모션 보상을 위한 참조 인덱스 및 모션 벡터뿐만 아니라 재구성된 예측 잔차(예를 들어, 역 양자화 및 역변환 후의 디코드된 잔차)를 제공하도록 디코드될 수 있다. 모션 보상은 (본원에서 논의된 재투영된 재구성된 참조 프레임(들)을 포함하여 둘 이상이 사용된다면 참조 프레임에 대한) 참조 인덱스 및 모션 벡터들에 의해 표시된 바와 같은 최상의 매치 블록들을 검색하고 대응하는 재구성된 예측 잔차를 검색된 최상의 매치 블록에 추가함으로써 블록을 재구성하도록 수행된다.
프로세싱은 동작(409)에서 계속될 수 있으며, 여기서 제시를 위한 프레임이 동작(408)에서 생성된 재구성된 블록뿐만 아니라 임의의 인트라 디코드된 재구성된 블록을 사용하여 프레임을 재구성하여 재구성된 프레임을 생성함으로써 생성된다. 재구성된 프레임은 선택적으로 디블록(deblock) 필터링되어 (후속 디코드된 프레임에 대한 참조뿐만 아니라) 제시를 위한 재구성된 프레임을 생성할 수 있다. 재구성된 프레임은, 예를 들어, 참조 프레임 및 디스플레이 장치를 통한 디스플레이 용도를 위해 프레임 버퍼에 저장될 수 있다.
논의된 기술들은 특히 복잡한 장면 포즈 변경을 갖는 상황에서 압축 효율을 향상시킬 수 있다. 예를 들어, 사용자가 피할 수 없는 헤드 모션과 함께 게임에서 객체에 더 가깝게 이동하면서 게임을 하는 사용자에 기초하여 생성된 비디오 시퀀스를 사용하는 경우에 대해 다음과 같은 개선 사항이 관찰된다. 비디오 시퀀스는 일정한 품질로 인코딩된다(예를 들어, PSNR 결과가 하기 표 1에 도시된 것과 매우 유사하다). 표 1에서 "정상(Normal)"이라고 표기된 첫 번째 행은 논의된 재투영 기술을 사용하지 않은 비디오 시퀀스의 코딩에 대응한다. 두 번째 행에 표기된 "참조 프레임 재투영"은 본원에서 논의된 바와 같은 장면 포즈 차이 데이터 또는 정보에 기초하여(예를 들어, HMD 움직임에 기초하여) 재투영되는 참조 프레임을 갖는 동일한 비디오 시퀀스를 코딩하는 것에 대응한다. 표 1에서 볼 수 있듯이, 테스트 시퀀스의 압축률은 50% 이상 향상된다. 인코딩은 더 많은 모션 벡터가 더 나은 매칭(예를 들어, 79% 인터블록 또는 코딩 유닛(CU)과 비교하여 93%)을 발견하면서 향상되고 재투영으로 인해 블록이 근접한 매치를 발견하는 것을 나타내는 모션 벡터에 더 적은 비트가 소비된다.
Figure pat00001
도 10은 본 개시의 적어도 일부 구현예들에 따라 배치된 재투영된 재구성된 참조 프레임을 사용하는 비디오 코딩을 위한 예시적인 프로세스(1000)를 도시하는 흐름도이다. 프로세스(1000)는 도 10에 도시된 바와 같이 하나 이상의 동작(1001 내지 1004)을 포함할 수 있다. 프로세스(1000)는 비디오 코딩 프로세스의 적어도 일부를 형성할 수 있다. 비 제한적인 예로서, 프로세스(1000)는 본원에 논의된 바와 같이 시스템(100)에 의해 착수된 비디오에 대한 비디오 인코딩 프로세스, 비디오 디코딩 프로세스, 비디오 전처리 또는 비디오 후처리 중 적어도 일부를 형성할 수 있다. 더욱이, 프로세스(1000)는 도 11의 시스템(1100)을 참조하여 본원에 설명될 것이다.도 11은 본 개시의 적어도 일부 구현예들에 따라 배치된 재투영된 재구성된 참조 프레임을 사용하는 비디오 코딩을 위한 예시적인 시스템(1100)에 관한 설명도이다. 도 11에 도시된 바와 같이, 시스템(1100)은 그래픽 프로세서(1101), 중앙 처리 장치(1102), 및 메모리(1103)를 포함할 수 있다. 시스템(110)은 또한 장면 포즈 추적 모듈(111) 및/또는 디스플레이(115)를 포함할 수 있다. 또한 도시된 바와 같이, 그래픽 프로세서(1101)는 렌더 모듈(102) 및/또는 렌더 모듈(114)을 포함할 수 있다. 또한, 중앙 처리 장치(1102)는 애플리케이션 모듈(101), 인코더(103, 200), 및/또는 디코더(113, 300)를 포함하거나 구현할 수 있다. 예를 들어, 렌더링되거나 캡처된 프레임으로부터 압축된 비트스트림을 생성하기 위해 구현되는 시스템(예를 들어, 호스트 시스템 등)과 같이, 시스템(1100)은 렌더 모듈(102) 및 인코더(103, 200)(예를 들어, 인코더(103) 및/또는 인코더(200) 또는 이들 중 하나 또는 둘 모두의 컴포넌트)를 포함할 수 있다. 제시를 위한 프레임을 생성하기 위해 비트스트림을 압축해제하도록 구현되는 시스템(예를 들어, 싱크, 디스플레이 시스템 등)과 같이, 시스템(1100)은 렌더 모듈(114), 애플리케이션 모듈(101), 디코더(113, 300)(예를 들어, 디코더(113) 및/또는 디코더(300) 또는 이들 중 하나 또는 둘 모두의 컴포넌트), 장면 포즈 추적 모듈(111), 및/또는 디스플레이(115)를 포함할 수 있다. 예를 들어, 시스템(1100)은 시스템(100) 및/또는 시스템(110)을 구현할 수 있다. 시스템(1100)의 예에서, 메모리(1103)는 비디오 프레임, 재투영된 재구성된 참조 프레임, 비트스트림 데이터, 장면 포즈 데이터, 장면 포즈 차이 데이터 또는 본원에 설명된 임의의 다른 데이터 또는 파라미터와 같은 비디오 콘텐츠를 저장할 수 있다.
그래픽 프로세서(1101)는 본원에 논의된 동작들을 제공할 수 있는 임의의 수 및 유형의 그래픽 프로세서들 또는 처리 유닛들을 포함할 수 있다. 이러한 동작은 소프트웨어 또는 하드웨어 또는 이들의 조합을 통해 구현될 수 있다. 일 실시예에서, 그래픽 프로세서(1101)의 도시된 모듈은 회로 등을 통해 구현될 수 있다. 예를 들어, 그래픽 프로세서(1101)는 본원에 설명된 동작을 제공하기 위해 프레임을 렌더링하고, 비디오 데이터를 조작하여 압축된 비트스트림을 생성하기 위한 전용 회로, 및/또는 압축된 비트스트림을 조작하여 비디오 데이터를 생성하기 위한 전용 회로를 포함할 수 있다. 예를 들어, 그래픽 프로세서(1101)는 프레임 버퍼에서 비디오 프레임의 생성을 가속화하기 위해 메모리를 조작 및 변경하고/하거나 비디오의 이미지 또는 프레임에 기초하여 비트스트림의 생성을 가속화하기 위해 메모리를 조작 및 변경하기 위한 전자 회로를 포함할 수 있다.
중앙 처리 장치(1102)는 시스템(1100)에 대한 제어 및 다른 고수준 기능을 제공하고/하거나 본원에 논의된 동작을 제공할 수 있는 임의의 수 및 유형의 처리 유닛 또는 모듈을 포함할 수 있다. 예를 들어, 중앙 처리 장치(1102)는 명령어에 의해 지정된 기본 산술, 논리, 제어, 입력/출력 동작 등을 수행함으로써 컴퓨터 프로그램의 명령어를 수행하기 위한 전자 회로를 포함할 수 있다.
메모리(1103)는 휘발성 메모리(예를 들어, 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM) 등) 또는 비휘발성 메모리(예를 들어, 플래시 메모리 등) 등과 같은 임의의 유형의 메모리일 수 있다. 일 실시예에서, 메모리(1103)는 픽셀 값, 제어 파라미터, 비트스트림 데이터, 또는 임의의 다른 비디오 데이터, 프레임 데이터, 또는 본원에 설명된 임의의 다른 데이터와 같은 비디오 데이터를 저장하도록 구성될 수 있다. 비 제한적인 예에서, 메모리(1103)는 캐시 메모리에 의해 구현될 수 있다. 일 실시예에서, 렌더 모듈(102) 및/또는 렌더 모듈(114)의 하나 이상의 부분은 그래픽 프로세서(1101)의 실행 유닛(EU)을 통해 구현될 수 있다. 실행 유닛은, 예를 들어, 프로그래머블 로직 또는 광범위한 프로그래머블 로직 기능을 제공할 수 있는 로직 코드 또는 코어들과 같은 회로를 포함할 수 있다. 일 실시예에서, 렌더 모듈(102) 및/또는 렌더 모듈(114)은 고정 기능 회로 등과 같은 전용 하드웨어를 통해 구현될 수 있다. 고정 기능 회로는 전용 로직 또는 회로를 포함할 수 있고, 고정된 목적 또는 기능을 위한 전용 로직에 맵핑될 수 있는 고정 기능 엔트리 포인트 세트를 제공할 수 있다.
도시된 실시예에서, 렌더 모듈(102) 및/또는 렌더 모듈(114)은 그래픽 프로세서(1101)에 의해 구현된다. 다른 실시예에서, 렌더 모듈(102) 및/또는 렌더 모듈(114)의 하나 또는 둘 또는 구성 요소는 중앙 처리 장치(1102)에 의해 구현된다. 유사하게, 도시된 실시예에서, 애플리케이션 모듈(101), 인코더(103, 200), 및 디코더(113, 300)의 하나, 일부, 전부 또는 구성 요소가 중앙 처리 장치(1102)에 의해 구현된다. 다른 실시예에서, 애플리케이션 모듈(101), 인코더(103, 200) 및 디코더(113, 300) 중 하나, 일부, 전부 또는 이들의 구성 요소가 그래픽 프로세서(1101)로서 구현된다. 일부 실시예에서, 애플리케이션 모듈(101), 인코더(103, 200) 및 디코더(113, 300) 중 하나, 일부, 전부 또는 이들의 구성 요소가 전용 이미지 또는 비디오 프로세서에 의해 구현된다.
도 10의 설명을 참조하면, 프로세스(1000)는 동작(1001)에서 시작될 수 있으며, 여기서 제1 장면 포즈에 대응하는 재구성된 참조 프레임이 생성된다. 재구성된 참조 프레임은 임의의 적절한 기술 또는 기법을 이용하여 생성될 수 있다. 예를 들어, 재구성된 참조 프레임은 인트라 디코딩 및/또는 모션 보상 기술(인코더 또는 디코더에서)을 사용하여 프레임에 대한 참조 블록을 결정함으로써 생성될 수 있고, 각각의 참조 블록은 (존재한다면) 예측 잔차와 결합되어 재구성된 참조 블록을 형성한다. 재구성된 참조 블록은 프레임으로 결합되거나 병합될 수 있고, 프레임은 디블럭 필터링되어 재구성된 참조 프레임을 생성할 수 있다. 예를 들어, 재구성된 참조 프레임은 인코더(200) 및/또는 디코더(300)와 관련하여 설명된 재구성된 참조 프레임(225)에 대응할 수 있다.
프로세싱은 동작(1002)에서 계속될 수 있으며, 여기서 제1 장면 포즈로부터 제1 장면 포즈 다음의 제2 장면 포즈로의 장면 포즈 변경을 나타내는 장면 포즈 차이 데이터가 수신되거나 생성된다. 장면 포즈 차이 데이터는 임의의 적절한 데이터 포맷을 포함할 수 있고, 임의의 적절한 기술 또는 기법을 사용하여 수신되거나 생성될 수 있다. 일 실시예에서, 장면 포즈 차이 데이터는 여기에서 논의된 바와 같이 변환 행렬, 6 자유도 차분 데이터, 모션 벡터 필드 등을 포함한다.
일 실시예에서, 장면 포즈 차이 데이터는 제1 장면 포즈와 제1 장면 포즈에 대응하는 시간 이후에 측정된 제2 장면 포즈 사이의 차이에 기초하여 생성된다. 또한, 제2 장면 포즈는 여기에서 논의된 바와 같이 프레임을 렌더링하는 데 사용될 수 있다. 일 실시예에서, 장면 포즈 차이 데이터는 외삽 기술 등을 사용하여 예측된다. 일 실시예에서, 장면 포즈 차이 데이터는 제1 장면 포즈가 제3 장면 포즈에 후속하도록 제3 장면 포즈로부터 제1 장면 포즈까지의 제2 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 외삽함으로써 예측된다.
프로세싱은 동작(1003)에서 계속될 수 있는데, 여기서 투영 변환은 재투영된 재구성된 참조 프레임을 생성하기 위해 장면 포즈 차이 데이터에 기초하여 재구성된 참조 프레임의 적어도 일부에 적용된다. 투영 변환은 임의의 적절한 기술 또는 기법을 사용하여 적용될 수 있다. 일 실시예에서, 투영 변환은 아핀 투영(예를 들어, 아핀 투영 구성 요소) 및 비아핀 투영(예를 들어, 비아핀 투영 구성 요소)을 모두 포함하며, 비아핀 투영은 줌 투영, 배럴 왜곡 투영 또는 구면 회전 투영 중 적어도 하나를 포함한다.
본 명세서에서 논의된 바와 같이, 투영 변환은 재구성된 참조 프레임의 전체 또는 재구성된 참조 프레임의 일부분에만 적용될 수 있다. 일 실시예에서, 투영 변환은 재구성된 참조 프레임 전체에 적용된다. 일 실시예에서, 프로세스(1000)는 재구성된 참조 프레임의 관심 영역 및, 관심 영역을 제외한 재구성된 참조 프레임의 배경 영역을 결정하는 것을 포함하고, 투영 변환을 적용하는 것은 관심 영역에만 또는 재구성된 참조 프레임의 배경에만 투영 변환을 적용하는 것을 더 포함한다.
또한, 재투영된 재구성된 참조 프레임(예를 들어, 모션 보상 참조 프레임으로서 사용될 포맷으로 최종화된 프레임)을 생성하기 위해 후처리가 (투영 변환이 적용된 후에) 제공될 수 있다. 일 실시예에서, 투영 변환을 적용하는 것은 재구성된 참조 프레임에 줌-인 변환을 적용하여 재구성된 참조 프레임의 크기보다 큰 크기를 갖는 제1 재투영된 재구성된 참조 프레임을 생성하는 것을 포함하고, 프로세스(1000)는 재구성된 참조 프레임과 동일한 크기를 가지는 바운딩 박스를 제1 재투영된 재구성된 참조 프레임에 적용하는 것과, 바운딩 박스 내의 제1 재투영된 재구성된 참조 프레임의 일부분을 재구성된 참조 프레임의 크기 및 해상도로 스케일링하여 재투영된 재구성된 참조 프레임을 생성하는 것을 포함한다. 일 실시예에서, 투영 변환을 적용하는 것은 재구성된 참조 프레임의 크기보다 작은 크기의 제1 재투영된 재구성된 참조 프레임을 생성하기 위해 재구성된 참조 프레임에 줌아웃 변환을 적용하는 것을 포함하고, 프로세스(1000)는 재구성된 참조 프레임의 동일한 크기 및 해상도를 갖는 재투영된 재구성된 참조 프레임을 제공하기 위해 제1 재투영된 재구성된 참조 프레임의 적어도 하나의 에지에 인접한 에지 픽셀을 생성하는 것을 더 포함한다. 일 실시예에서, 투영 변환을 적용하는 것은 제1 재투영된 재구성된 참조 프레임을 생성하기 위해 구면 회전을 재구성된 참조 프레임에 적용하는 것을 포함하며, 프로세스(1000)는 재구성된 참조 프레임의 동일한 크기 및 해상도를 갖는 재투영된 재구성된 참조 프레임을 제공하기 위해 제1 재투영된 재구성된 참조 프레임의 적어도 하나의 에지에 인접한 에지 픽셀을 생성하는 것을 더 포함한다.
일부 실시예에서, 투영 변환은 장면 포즈 차이 데이터의 평가에 조건부로 적용될 수 있다. 일 실시예에서, 장면 포즈 차이 데이터에 대응하는 적어도 하나의 장면 전환 차이 크기 값이 임계 값과 비교되고, 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하는 것은 장면 전환 차이 크기 값이 임계값을 만족하는지 아니면 초과하는지에 달려 있다. 일 실시예에서, 장면 포즈 차이 데이터에 대응하는 적어도 하나의 장면 전환 차이 크기 값은 제1 임계 값 및 제1 임계 값보다 큰 제2 임계 값과 비교되고, 투영 변환을 재구성된 참조 프레임의 적어도 일부에 적용하는 것은 장면 전환 차이 크기 값이 상기 제1 임계 값을 만족하거나 초과하고 제2 임계 값은 초과하지 않는 것에 달려 있다.
일부 실시예에서, 재구성된 참조 프레임에 대한 투영 변환의 논의된 애플리케이션은 다른 동작들과 동시에 수행되어 프로세싱에서 지연 시간 또는 딜레이를 감소시킬 수 있다. 일 실시예에서, 프로세스(1000)는 투영 변환을 적용하는 것과 적어도 부분적으로 동시에 제2 프레임을 렌더링하는 것 또는 투영 변환을 적용하는 것과 적어도 부분적으로 동시에 비트 스트림을 수신하는 것 중 적어도 하나를 더 포함한다.
프로세싱은 동작(1004)에서 계속될 수 있으며, 여기서 재투영된 재구성된 참조 프레임을 모션 보상 참조 프레임으로서 사용하여 현재의 재구성된 프레임을 생성하도록 모션 보상이 수행된다. 이러한 모션 보상은 (로컬 루프의 일부로서) 인코더 또는 디코더에서 수행될 수 있다. 예를 들어, 현재의 재구성된 프레임을 재구성하는 데 사용하기 위해 재투영된 재구성된 참조 프레임으로부터 블록을 검색하기 위해 모션 벡터 및 프레임 참조 인덱스 정보가 사용될 수 있다.
일부 실시예들에서, 재투영된 재구성된 참조 프레임만이 모션 보상 참조 프레임으로서 사용된다. 다른 실시예에서, 추가적인 모션 보상 참조 프레임이 사용된다. 일 실시예에서, 모션 보상을 수행하는 것은, (예를 들어, 투영 변환을 적용하지 않고) 재구성된 참조 프레임 및 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로 사용하여 블록 단위로 블록에 대해 모션 보상을 수행하는 것을 포함하여, 현재의 재구성된 프레임의 제1 블록이 모션 보상을 위해 재구성된 참조 프레임을 참조하고, 현재의 재구성된 프레임의 제2 블록이 모션 보상을 위해 재투영된 재구성된 참조 프레임을 참조하도록 한다. 일 실시예에서, 프로세스(1000)는 제3 장면 포즈가 제1 장면 포즈에 선행하도록 제3 장면 포즈에 대응하는 제2 재구성된 참조 프레임을 생성하는 것, 제3 장면 포즈로부터 제 2 장면 포즈로의 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 수신하는 것과, 상기 제2 장면 포즈 차이 데이터에 기초하여 제2 재구성된 참조 프레임의 적어도 일부분에 제2 투영 변환을 적용하여 제2 재투영된 재구성된 참조 프레임을 생성하는 것을 포함하여, 현재 프레임에 대한 모션 보상을 수행하는 것이 재투영된 재구성된 참조 프레임 및 제2 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 생성하도록 한다.
본 명세서에 설명된 시스템의 다양한 구성 요소는 소프트웨어, 펌웨어 및/또는 하드웨어 및/또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 시스템(100, 110, 1100)의 다양한 구성 요소는 적어도 부분적으로, 예컨대 스마트폰과같은 컴퓨팅 시스템에서 볼 수 있는 컴퓨팅 시스템-온-칩(SoC)의 하드웨어에 의해 적어도 부분적으로 제공될 수 있다. 당업자는 본 명세서에 설명된 시스템이 대응하는 도면에 도시되지 않은 부가적인 구성 요소를 포함할 수 있다는 것을 인식할 수 있다. 예를 들어, 본 명세서에서 논의된 시스템들은 명료함을 위해 도시되지 않은 비트 스트림 멀티플렉서 또는 디멀티플렉서 모듈 등과 같은 부가적인 구성요소를 포함할 수 있다.
본 명세서에서 논의된 예시적인 프로세스의 구현은 설명된 순서로 도시된 모든 동작의 착수를 포함할 수 있지만, 본 개시는 이에 국한되지 않으며, 다양한 예에서 본 명세서의 예시적인 프로세스의 구현은 도시된 동작의 서브 세트, 또는 도시된 것과 다른 순서로 수행되는 동작, 또는 추가 동작을 포함할 수 있다.
또한, 본 명세서에서 논의된 임의의 하나 이상의 동작은 하나 이상의 컴퓨터 프로그램 제품에 의해 제공되는 명령어에 응답하여 수행될 수 있다. 이러한 프로그램 제품은, 예를 들어 프로세서에 의해 실행될 때, 본 명세서에서 설명된 기능성을 제공할 수 있는 명령어를 제공하는 신호 관련 매체를 포함할 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 기계 판독 가능 매체의 임의의 형태로 제공될 수 있다. 따라서, 예를 들어, 하나 이상의 그래픽 프로세싱 유닛(들) 또는 프로세서 코어(들)를 포함하는 프로세서는 하나 이상의 머신 판독가능 매체에 의해 프로세서에 전달된 프로그램 코드 및/또는 명령어 또는 명령어 세트에 응답하여 본 명세서의 예시적인 프로세스 블록 중 하나 이상을 수행할 수 있다. 일반적으로, 머신 판독 가능 매체는 본 명세서에 기술된 디바이스 및/또는 시스템 중 임의의 디바이스, 및/또는 시스템으로 하여금 본 명세서에 논의된 기술, 모듈, 구성 요소 등을 구현하도록 하는 프로그램 코드 및/또는 명령어 또는 명령어 세트의 형태로 소프트웨어를 전달할 수 있다.
본 명세서에 설명된 임의의 구현 예에서 사용된 바와 같이, "모듈"이라는 용어는 소프트웨어 로직, 펌웨어 로직, 하드웨어 로직, 및/또는 본 명세서에 설명된 기능성을 제공하도록 구성된 회로의 임의의 조합을 지칭한다. 소프트웨어는 소프트웨어 패키지, 코드 및/또는 명령어 세트 또는 명령어로서 구현될 수 있으며, 본 명세서에 설명된 임의의 구현 예에서 사용되는 "하드웨어"는 예를 들어, 단독으로 또는 임의의 조합으로, 하드 와이어드 회로, 프로그램 가능한 회로, 상태 기계 회로, 고정 기능 회로, 실행 유닛 회로, 및/또는 프로그램 가능한 회로에 의해 실행되는 명령어를 저장하는 펌웨어를 포함할 수 있다. 모듈은 집합적으로 또는 개별적으로, 예를 들어, 집적 회로(IC), 시스템 온칩(SoC) 등과 같은 보다 큰 시스템의 일부를 형성하는 회로로서 구현될 수 있다.
도 12는 본 발명의 적어도 일부 구현 예에 따라 배열된 예시적인 시스템(1200)의 설명도이다. 다양한 구현 예에서, 시스템(1200)은 모바일 시스템일 수 있으나 이러한 내용으로 제한되는 것은 아니다. 예를 들어, 시스템(1200)은 퍼스널 컴퓨터(PC), 랩톱 컴퓨터, 울트라 랩톱 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜톱 컴퓨터, 개인 디지털 보조기(PDA), 셀룰러 전화, 셀룰러 전화/PDA 조합, 텔레비전, 스마트 장치(스마트폰, 스마트 타블렛 또는 스마트 TV), 모바일 인터넷 장치(MID), 메시징 장치, 데이터 통신 장치, 카메라(예, 포인트 앤드 슛 카메라, 슈퍼 줌 카메라, DSLR 카메라), 가상 현실 장치(virtual reality device), 증강 현실 장치(augmented reality device) 등에 포함될 수 있다.
다양한 구현예에서, 시스템은 디스플레이(1220)에 결합된 플랫폼(1202)을 포함한다. 플랫폼(1202)은 콘텐츠 서비스 장치(들)(1230) 또는 콘텐츠 전달 장치(들)(1240) 또는 다른 유사한 콘텐츠 소스와 같은 콘텐츠 장치로부터 콘텐츠를 수신할 수 있다. 하나 이상의 내비게이션 피처를 포함하는 내비게이션 제어기(1250)는 예를 들어, 플랫폼(1202) 및/또는 디스플레이(1220)와 상호 작용하는 데 사용될 수 있다. 이들 구성 요소 각각은 이하에서 더 상세히 설명된다.
다양한 구현 예에서, 플랫폼(1202)은 칩셋(1205), 프로세서(1210), 메모리(1212), 안테나(1213), 저장 장치(1214), 그래픽 서브 시스템(1215), 애플리케이션(1216) 및/또는 무선 장치(1218)의 임의의 조합을 포함할 수 있다. 칩셋(1205)은 프로세서(1210), 메모리(1212), 저장 장치(1214), 그래픽 서브 시스템(1215), 애플리케이션(1216) 및/또는 무선 장치(1218) 사이의 상호 통신을 제공할 수 있다. 예를 들어, 칩셋(1205)은 저장 장치(1214)와의 상호 통신을 제공할 수 있는 저장 어댑터(도시되지 않음)를 포함할 수 있다.
프로세서(1210)는 CISC(Complex Instruction Set Computer) 또는 RISC(Reduced Instruction Set Computer) 프로세서, x86 명령어 세트 호환 프로세서, 멀티 코어, 또는 임의의 다른 마이크로 프로세서 또는 중앙 처리 장치(CPU)로서 구현될 수 있다. 다양한 구현 예에서, 프로세서(1210)는 듀얼 코어 프로세서(들)(dual-core processor(s)), 듀얼 코어 모바일 프로세서(들)(dual-core mobile processor(s)) 등일 수 있다.
메모리(1212)는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory) 또는 SRAM(Static RAM)과 같은 휘발성 메모리 장치로 구현될 수 있다.
저장 장치(1214)는 자기 디스크 드라이브, 광학 디스크 드라이브, 테이프 드라이브, 내부 저장 장치, 부착된 저장 장치, 플래시 메모리, 배터리 백업된 SDRAM 등(동기식 DRAM) 및/또는 네트워크 액세스 가능 저장 장치와 같은 비 휘발성 저장 장치로 구현될 수 있으나 이에 한정되는 것은 아니다. 다양한 구현 예에서, 저장 장치(1214)는 예를 들어, 다수의 하드 드라이브가 포함되는 경우 가치있는 디지털 미디어에 대한 저장 성능 강화 프로텍션을 증가시키는 기술을 포함할 수 있다.
그래픽 서브 시스템(1215)은 디스플레이를 위해 스틸 또는 비디오와 같은 이미지의 프로세싱을 수행할 수 있다. 그래픽 서브 시스템(1215)은 예를 들어, 그래픽 처리 장치(GPU) 또는 시각 처리 장치(VPU)일 수 있다. 아날로그 또는 디지털 인터페이스는 그래픽 서브 시스템(1215) 및 디스플레이(1220)를 통신 가능하게 연결하는 데 사용될 수 있다. 예를 들어, 인터페이스는 고선명 멀티미디어 인터페이스, 디스플레이포트(DisplayPort), 무선 HDMI 및/또는 무선 HD 호환 기술 중 임의의 것일 수 있다. 그래픽 서브 시스템(1215)은 프로세서(1210) 또는 칩셋(1205)에 통합될 수 있다. 일부 구현 예에서, 그래픽 서브 시스템(1215)은 칩셋(1205)에 통신 가능하게 결합된 독립형 장치일 수 있다.
본 명세서에 기술된 그래픽 및/또는 비디오 처리 기술은 다양한 하드웨어 아키텍처로 구현될 수 있다. 예를 들어, 그래픽 및/또는 비디오 기능이 칩셋 내에 통합될 수 있다. 대안적으로, 개별 그래픽 및/또는 비디오 프로세서가 사용될 수 있다. 또 다른 구현 예로서, 그래픽 및/또는 비디오 기능은 멀티 코어 프로세서를 포함하는 범용 프로세서에 의해 제공될 수 있다. 다른 실시예에서, 기능들은 소비자 전자 장치에 구현될 수 있다.
무선부(1218)는 다양한 적합한 무선 통신 기술을 사용하여 신호를 송신하고 수신할 수 있는 하나 이상의 무선부를 포함할 수 있다. 이러한 기술은 하나 이상의 무선 네트워크를 통한 통신을 수반할 수 있다. 예시적인 무선 네트워크는 WLAN(wireless local area network), WPAN(wireless personal area network), WMAN(wireless metropolitan area network), 셀룰러 네트워크 및 위성 네트워크를 포함한다(그러나, 이에 한정되지 않음). 이러한 네트워크를 통해 통신할 때, 무선부(1218)는 임의의 버전의 하나 이상의 적용 가능한 표준에 따라 동작할 수 있다.
다양한 구현예에서, 디스플레이(1220)는 임의의 텔레비전 유형 모니터 또는 디스플레이를 포함할 수 있다. 디스플레이(1220)는 예를 들어 컴퓨터 디스플레이 스크린, 터치 스크린 디스플레이, 비디오 모니터, 텔레비전형 디바이스 및/또는 텔레비전을 포함할 수 있다. 디스플레이(1220)는 디지털 및/또는 아날로그일 수 있다. 다양한 구현예에서, 디스플레이(1220)는 홀로그래픽 디스플레이일 수 있다. 또한, 디스플레이(1220)는 시각적 투영을 수신할 수 있는 투명한 표면일 수 있다. 이러한 투영은 다양한 형태의 정보, 이미지 및/또는 객체를 전달할 수 있다. 예를 들어, 이러한 투영은 모바일 증강 현실(MAR) 애플리케이션을 위한 시각적 오버레이일 수 있다. 하나 이상의 소프트웨어 애플리케이션(1216)의 제어 하에서, 플랫폼(1202)은 디스플레이(1220) 상에 사용자 인터페이스(1222)를 표시할 수 있다.
다양한 구현예에서, 콘텐츠 서비스 장치(들)(1230)은 임의의 국내, 국제 및/또는 독립적인 서비스에 의해 호스팅될 수 있으며, 따라서 예를 들어 인터넷을 통해 플랫폼(1202)에 액세스 가능할 수 있다. 콘텐츠 서비스 장치(들)(1230)은 플랫폼(1202) 및/또는 디스플레이(1220)에 연결될 수 있다. 플랫폼(1202) 및/또는 콘텐츠 서비스 장치(들)(1230)은 네트워크(1260)에 연결되어 네트워크(1260)로 및 네트워크(1260)로부터 미디어 정보를 통신(예를 들어, 송신 및/또는 수신)할 수 있다. 콘텐츠 전송 장치(들)(1240)도 플랫폼(1202) 및/또는 디스플레이(1220)에 연결될 수 있다.
다양한 구현예에서, 콘텐츠 서비스 장치(들)(1230)은 케이블 텔레비전 박스, 개인용 컴퓨터, 네트워크, 전화, 인터넷 가능 디바이스 또는 디지털 정보 및/또는 콘텐츠를 전달할 수 있는 어플라이언스, 및 네트워크(1260)를 통해 또는 직접적으로 콘텐츠 제공자와 플랫폼(1202) 및/또는 디스플레이(1220) 사이에서 콘텐츠를 단방향으로 또는 양방향으로 통신할 수 있는 임의의 다른 유사 디바이스를 포함할 수 있다. 콘텐츠는 네트워크(1260)를 통해 콘텐츠 제공자 및 시스템(1200) 내의 구성요소들 중 어느 하나로 및 어느 하나로부터 단방향 및/또는 양방향으로 통신될 수 있음을 알 것이다. 콘텐츠의 예는 예를 들어 비디오, 음악, 의료 및 게임 정보 등을 포함하는 임의의 미디어 정보를 포함할 수 있다.
콘텐츠 서비스 장치(들)(1230)은 미디어 정보, 디지털 정보 및/또는 다른 콘텐츠를 포함하는 케이블 텔레비전 프로그래밍과 같은 콘텐츠를 수신할 수 있다. 콘텐츠 제공자의 예는 임의의 케이블 또는 위성 텔레비전 또는 라디오 또는 인터넷 콘텐츠 제공자를 포함할 수 있다. 제공된 예들은 본 명세서에 따른 구현예를 임의의 방식으로 제한하는 것을 의미하지 않는다.
다양한 구현예에서, 플랫폼(1202)은 하나 이상의 내비게이션 피처를 갖는 내비게이션 제어기(1250)로부터 제어 신호를 수신할 수 있다. 내비게이션 피처는 예를 들어 사용자 인터페이스(1222)와 상호 작용하는 데 사용될 수 있다. 다양한 실시예에서, 내비게이션은 사용자로 하여금 공간(예를 들어, 연속적 및 다차원) 데이터를 컴퓨터에 입력하게 하는 컴퓨터 하드웨어 구성요소(구체적으로, 휴먼 인터페이스 디바이스)일 수 있는 포인팅 디바이스일 수 있다. 그래픽 사용자 인터페이스(GUI), 및 텔레비전 및 모니터와 같은 다수의 시스템은 사용자로 하여금 물리적 제스처를 사용하여 컴퓨터 또는 텔레비전에 데이터를 제공하고 제어하게 한다.
내비게이션 피처의 이동은 포인터, 커서, 포커스 링, 또는 디스플레이 상에 표시된 다른 시각적 표시자의 이동에 의해 디스플레이(예를 들어, 디스플레이(1220)) 상에 복제될 수 있다. 예를 들어, 소프트웨어 애플리케이션(1216)의 제어 하에, 내비게이션 상에 위치된 내비게이션 피처는 예컨대, 사용자 인터페이스(1222) 상에 표시된 가상 내비게이션 피처에 매핑될 수 있다. 다양한 실시예에서, 내비게이션 피처는 별도의 구성요소가 아닐 수도 있으며 플랫폼(1202) 및/또는 디스플레이(1220)에 통합될 수 있다. 그러나, 본 개시내용은 본 명세서에 도시되거나 설명된 컨텍스트에서 또는 요소로 제한되지 않는다.
다양한 구현예에서, 드라이버(도시 생략)는 예를 들어 인에이블될 때 초기 부팅 이후에 사용자가 버튼 터치로 텔레비전과 같은 플랫폼(1202)을 즉시 턴 온하고 턴 오프하게 하는 기술을 포함할 수 있다. 프로그램 로직은 플랫폼이 턴 "오프"되는 경우에도 플랫폼(1202)이 콘텐츠를 미디어 어댑터 또는 다른 콘텐츠 서비스 장치(들)(1230) 또는 콘텐츠 전송 장치(들)(1240)로 스트리밍하게 할 수 있다. 또한, 칩셋(1205)은 예컨대, 5.1 서라운드 사운드 오디오 및/또는 고화질 7.1 서라운드 사운드 오디오를 위한 하드웨어 및/또는 소프트웨어 지원을 포함할 수 있다. 드라이버는 통합 그래픽 플랫폼용 그래픽 드라이버를 포함할 수 있다. 다양한 실시예에서, 그래픽 드라이버는 PCI(peripheral component interconnect) 익스프레스 그래픽 카드를 포함할 수 있다.
다양한 구현예에서, 시스템(1200)에 도시된 구성요소 중 임의의 하나 이상의 구성요소는 통합될 수 있다. 예를 들어, 플랫폼(1202)과 콘텐츠 서비스 장치(들)(1230)이 통합될 수 있거나, 플랫폼(1202)과 콘텐츠 전송 장치(들)(1240)이 통합될 수 있거나, 플랫폼(1202), 콘텐츠 서비스 장치(들)(1230) 및 콘텐츠 전송 장치(들)(1240)이 통합될 수 있다. 다양한 실시예에서, 플랫폼(1202) 및 디스플레이(1220)는 통합 유닛일 수 있다. 예를 들어, 디스플레이(1220)와 콘텐츠 서비스 장치(들)(1230)이 통합될 수 있거나, 디스플레이(1220)와 콘텐츠 전송 장치(들)(1240)이 통합될 수 있다. 이들 예는 본 개시내용을 제한하려는 것이 아니다.
다양한 실시예에서, 시스템(1200)은 무선 시스템, 유선 시스템, 또는 양자의 조합으로서 구현될 수 있다. 무선 시스템으로서 구현되는 경우, 시스템(1200)은 하나 이상의 안테나, 송신기, 수신기, 송수신기, 증폭기, 필터, 제어 로직 등과 같은 무선 공유 매체를 통해 통신하기에 적합한 구성요소 및 인터페이스를 포함할 수 있다. 무선 공유 매체의 예는 RF 스펙트럼 등과 같은 무선 스펙트럼의 일부를 포함할 수 있다. 유선 시스템으로서 구현되는 경우, 시스템(1200)은 입출력(I/O) 어댑터, I/O 어댑터를 대응하는 유선 통신 매체와 접속하기 위한 물리적 커넥터, 네트워크 인터페이스 카드(NIC), 디스크 제어기, 비디오 제어기, 오디오 제어기 등과 같은 유선 통신 매체를 통해 통신하기에 적합한 구성요소 및 인터페이스를 포함할 수 있다. 유선 통신 매체의 예는 와이어, 케이블, 금속 리드, 인쇄 회로 보드(PCB), 백플레인, 스위치 패브릭, 반도체 재료, 연선, 동축 케이블, 광섬유 등을 포함할 수 있다.
플랫폼(1202)은 정보를 통신하기 위해 하나 이상의 논리적 또는 물리적 채널을 수립할 수 있다. 정보는 미디어 정보 및 제어 정보를 포함할 수 있다. 미디어 정보는 사용자를 위한 콘텐츠를 나타내는 임의의 데이터를 지칭할 수 있다. 콘텐츠의 예는, 예를 들어, 음성 대화, 화상 회의, 스트리밍 비디오, 전자 메일("이메일") 메시지, 음성 메일 메시지, 영숫자 심볼, 그래픽, 이미지, 비디오, 텍스트 등으로부터의 데이터를 포함할 수 있다. 음성 대화로부터의 데이터는 예를 들어 스피치 정보, 묵음 기간, 배경 잡음, 컴포트 노이즈, 톤 등일 수 있다. 제어 정보는 자동화된 시스템을 위한 커맨드, 명령어 또는 제어 단어를 나타내는 임의의 데이터를 지칭할 수 있다. 예를 들어, 제어 정보는 시스템을 통해 미디어 정보를 라우팅하거나 노드에게 사전결정된 방식으로 미디어 정보를 처리하도록 지시하는 데 사용될 수 있다. 그러나, 실시예는 도 12에 도시되거나 설명된 컨텍스트에서 또는 요소로 제한되지 않는다.
전술한 바와 같이, 시스템(1200)은 다양한 물리적 스타일 또는 폼 팩터로 구현될 수 있다. 도 13은 본 명세서의 적어도 일부 구현예에 따라 배열된 예시적인 소형 폼 팩터 디바이스(1300)를 도시한다. 일부 예에서, 시스템(1200)은 디바이스(1300)를 통해 구현될 수 있다. 다른 예에서, 시스템(1100) 또는 이의 일부는 디바이스(1300)를 통해 구현될 수 있다. 다양한 실시예에서, 예컨대, 디바이스(1300)는 무선 기능을 갖는 모바일 컴퓨팅 디바이스로서 구현될 수 있다. 모바일 컴퓨팅 디바이스는, 예를 들어, 하나 이상의 배터리와 같은 모바일 전력 소스 또는 공급장치 및 처리 시스템을 구비한 임의의 디바이스를 지칭할 수 있다.
모바일 컴퓨팅 디바이스의 예는 퍼스널 컴퓨터(PC), 랩톱 컴퓨터, 울트라 랩톱 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜탑 컴퓨터, 개인 휴대 정보 단말기(PDA), 셀룰러 전화, 결합형 셀룰러 전화/PDA, 스마트 디바이스(예컨대, 스마트폰, 스마트 태블릿 또는 스마트 모바일 텔레비전), 모바일 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스, 카메라 등을 포함할 수 있다.
모바일 컴퓨팅 디바이스의 예는 손목 컴퓨터, 손가락 컴퓨터, 링 컴퓨터, 안경 컴퓨터, 벨트 클립 컴퓨터, 암밴드 컴퓨터, 신발 컴퓨터, 의복 컴퓨터 및 다른 착용형 컴퓨터와 같은 사람이 착용하도록 되어있는 컴퓨터도 포함할 수 있다. 다양한 실시예에서, 예를 들어, 모바일 컴퓨팅 디바이스는 음성 통신 및/또는 데이터 통신뿐만 아니라 컴퓨터 애플리케이션을 실행할 수 있는 스마트폰으로서 구현될 수 있다. 일부 실시예가 스마트폰으로서 구현된 모바일 컴퓨팅 디바이스로 설명될 수 있지만, 다른 실시예는 다른 무선 모바일 컴퓨팅 디바이스를 사용하여 구현될 수도 있음을 이해할 수 있다. 실시예는 이 컨텍스트에서 제한되지 않는다.
도 13에 도시된 바와 같이, 디바이스(1300)는 전면(1301) 및 후면(1302)을 가지 하우징을 포함할 수 있다. 디바이스(1300)는 디스플레이(1304), 입출력(I/O) 디바이스(1306), 및 통합 안테나(1308)를 포함한다. 디바이스(1300)는 내비게이션 피처(1312)도 포함할 수 있다. I/O 디바이스(1306)는 모바일 컴퓨팅 디바이스에 정보를 입력하기 위한 임의의 적절한 I/O 디바이스를 포함할 수 있다. I/O 디바이스(1306)의 예는 영숫자 키보드, 숫자 키패드, 터치 패드, 입력 키, 버튼, 스위치, 마이크로폰, 스피커, 음성 인식 디바이스 및 소프트웨어 등을 포함할 수 있다. 정보는 또한 마이크로폰(도시 생략)을 통해 디바이스(1300)에 입력될 수 있고 또는 음성 인식 디바이스에 의해 디지털화될 수 있다. 도시된 바와 같이, 디바이스(1300)는 디바이스(1300)의 후면(1302)(또는 다른 곳에) 통합된 카메라(1305)(예를 들어, 렌즈, 조리개 및 이미징 센서를 포함함) 및 플래시(1310)를 포함할 수 있다. 다른 예에서, 카메라(1305) 및 플래시(1310)는 디바이스(1300)의 전면(1301)에 통합될 수 있거나, 전면 카메라 및 후면 카메라 모두가 제공될 수 있다. 카메라(1305) 및 플래시(1310)는 예를 들어 안테나(1308)를 통해 디바이스(1300)로부터 원격 통신되고/되거나 디스플레이(1304)로 출력되는 스트리밍 비디오로 처리된 이미지 데이터를 발생시키는 카메라 모듈의 구성요소일 수 있다.
다양한 실시예는 하드웨어 요소, 소프트웨어 요소, 또는 양자의 조합을 사용하여 구현될 수 있다. 하드웨어 요소의 예는 프로세서, 마이크로프로세서, 회로, 회로 요소(예컨대, 트랜지스터, 저항, 캐패시터, 인덕터 등), 집적 회로, 주문형 집적 회로(ASIC), 프로그램가능 로직 디바이스(PLD), 디지털 신호 프로세서(DSP), 필드 프로그램가능 게이트 어레이(FPGA), 로직 게이트, 레지스터, 반도체 디바이스, 칩, 마이크로칩, 칩 세트 등을 포함할 수 있다. 소프트웨어의 예는 소프트웨어 구성요소, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 기능, 방법, 절차, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(API), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 단어, 값, 기호, 또는 이들의 임의의 조합을 포함할 수 있다. 실시예가 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 구현되는지 여부를 판정하는 것은 원하는 계산 레이트, 전력 레벨, 열 허용 오차, 처리 사이클 예산, 입력 데이터 레이트, 출력 데이터 레이트, 메모리 리소스, 데이터 버스 속도 및 다른 설계 또는 성능 제약과 같은 임의의 수의 인자에 따라 달라질 수 있다.
적어도 하나의 실시예의 하나 이상의 양상은, 머신에 의해 판독될 때, 머신으로 하여금 본 명세서에 설명된 기술을 수행하기 위한 로직을 제조하게 하는, 프로세서 내의 다양한 로직을 나타내는 머신 판독가능 매체 상에 저장된 전형적인 명령어에 의해 구현될 수 있다. IP 코어로 알려진 이러한 표현은 유형의 머신 판독가능 매체에 저장되어 다양한 고객 또는 제조 시설에 공급되어 실제로 로직 또는 프로세서를 만드는 제조 머신에 로드될 수 있다.
본 명세서에 설명된 소정 특징들이 다양한 구현예를 참조하여 설명되었지만,이 설명은 제한적인 의미로 해석되지 않는다. 따라서, 본 개시내용과 관련이 있는 당업자에게 자명한 본 명세서에 설명된 구현예의 수정뿐만 아니라 다른 구현예도 본 명세서의 사상 및 범위 내에 있는 것으로 간주된다.
하기 예들은 다른 실시예들과 관련이 있다.
하나 이상의 제1 실시예에서, 비디오 코딩을 위한 컴퓨터 구현 방법은 제1 장면 포즈(scene pose)에 대응하는 재구성된 참조 프레임을 생성하는 단계와, 상기 제1 장면 포즈로부터 상기 제1 장면 포즈에 후속하는 제2 장면 포즈로의 장면 포즈 변경을 나타내는 장면 포즈 차이(scene pose difference) 데이터를 수신하는 단계와, 상기 장면 포즈 차이 데이터에 기초하여 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환(projective transformation)을 적용하여 재투영된 재구성된 참조 프레임을 생성하는, 투영 변환을 적용하는 단계와, 상기 재투영된 재구성된 참조 프레임을 모션 보상 참조 프레임으로서 사용하여 현재의 재구성된 프레임을 생성하도록 모션 보상을 수행하는 단계를 포함한다.
하나 이상의 제2 실시예에서, 임의의 제1 실시예에 있어서, 상기 투영 변환은 아핀 투영(affine projection) 및 비아핀 투영(non-affine projection) 모두를 포함하고, 상기 비아핀 투영은 줌(zoom) 투영, 배럴 왜곡(barrel distortion) 투영, 및 구면 회전(spherical rotation) 투영 중 적어도 하나를 포함하고, 상기 장면 포즈 차이 데이터는 변환 행렬, 6 자유도 차분 데이터, 및 모션 벡터 필드 중 하나를 포함한다.
하나 이상의 제3 실시예에서, 제1 실시예 또는 제2 실시예 중 어느 하나에 있어서, 상기 투영 변환은 상기 재구성된 참조 프레임 전체에 적용되고, 상기 방법은 상기 투영 변환을 적용하는 것과 적어도 부분적으로 동시에 제2 프레임을 렌더링하는 단계와, 상기 투영 변환을 적용하는 것과 적어도 부분적으로 동시에 비트스트림을 수신하는 단계 중 적어도 하나를 더 포함한다.
하나 이상의 제4 실시예에서, 제1 실시예 내지 제3 실시예 중 어느 하나에 있어서, 상기 모션 보상을 수행하는 단계는, 상기 현재의 재구성된 프레임의 제1 블록이 모션 보상을 위해 상기 재구성된 참조 프레임을 참조하고 상기 현재의 재구성된 프레임의 제2 블록이 모션 보상을 위해 상기 재투영된 재구성된 참조 프레임을 참조하도록, 상기 재구성된 참조 프레임 및 상기 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하여 블록 단위로 모션 보상을 수행하는 단계를 포함한다.
하나 이상의 제5 실시예에서, 제1 실시예 내지 제4 실시예 중 어느 하나에 있어서, 상기 재구성된 참조 프레임의 관심 영역 및 상기 관심 영역을 제외한 상기 재구성된 참조 프레임의 배경 영역을 결정하는 단계를 더 포함하되, 상기 투영 변환을 적용하는 단계는 상기 재구성된 참조 프레임의 상기 관심 영역과 상기 재구성된 배경 중 하나에만 상기 투영 변환을 적용하는 단계를 포함한다.
하나 이상의 제6 실시예에서, 제1 실시예 내지 제5 실시예 중 어느 하나에 있어서, 상기 투영 변환을 적용하는 단계는, 상기 재구성된 참조 프레임에 줌인(zoom-in) 변환을 적용하여 상기 재구성된 참조 프레임의 크기보다 큰 크기의 제1 재투영된 재구성된 참조 프레임을 생성하는 단계를 포함하고, 상기 방법은, 상기 재구성된 참조 프레임과 동일한 크기의 바운딩 박스를 상기 제1 재투영된 재구성된 참조 프레임에 적용하는 단계와, 상기 재투영된 재구성된 참조 프레임을 생성하기 위해, 상기 바운딩 박스 내의 상기 제1 재투영된 재구성된 참조 프레임의 일부분을 상기 재구성된 참조 프레임의 크기 및 해상도로 스케일링하는 단계를 더 포함한다.
하나 이상의 제7 실시예에서, 제1 실시예 내지 제6 실시예 중 어느 하나에 있어서, 상기 투영 변환을 적용하는 단계는, 상기 재구성된 참조 프레임에 줌아웃(zoom-out) 변환을 적용하여 상기 재구성된 참조 프레임의 크기보다 작은 크기의 제1 재투영된 재구성된 참조 프레임을 생성하는 단계를 포함하고, 상기 방법은, 상기 재구성된 참조 프레임과 동일한 크기 및 해상도의 재투영된 재구성된 참조 프레임을 제공하기 위해, 상기 제1 재투영된 재구성된 참조 프레임의 적어도 하나의 에지에 인접한 에지 픽셀을 생성하는 단계를 포함한다.
하나 이상의 제8 실시예에서, 제1 실시예 내지 제7 실시예 중 어느 하나에 있어서, 상기 투영 변환을 적용하는 단계는, 상기 재구성된 참조 프레임에 구면 회전을 적용하여 제1 재투영된 재구성된 참조 프레임을 생성하는 단계를 포함하고, 상기 방법은, 상기 재구성된 참조 프레임과 동일한 크기 및 해상도의 재투영된 재구성된 참조 프레임을 제공하기 위해 상기 제1 재투영된 재구성된 참조 프레임의 적어도 하나의 에지에 인접한 에지 픽셀을 생성하는 단계를 포함한다.
하나 이상의 제9 실시예에서, 제1 실시예 내지 제8 실시예 중 어느 하나에 있어서, 상기 제1 장면 포즈가 상기 제3 장면 포즈에 후속하도록 제3 장면 포즈로부터 상기 제1 장면 포즈로의 제2 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 외삽하여 상기 장면 포즈 차이 데이터를 예측하는 단계를 더 포함한다.
하나 이상의 제10 실시예에서, 제1 실시예 내지 제9 실시예 중 어느 하나에 있어서, 상기 방법은 상기 장면 포즈 차이 데이터에 대응하는 적어도 하나의 장면 전환 차이 크기 값을 임계 값과 비교하는 단계를 더 포함하며, 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하는 것은 장면 전환 차이 크기 값이 임계 값을 만족하거나 초과하는지에 의존한다.
하나 이상의 제11 실시예에서, 제1 실시예 내지 제10 실시예 중 어느 하나에 있어서, 제3 장면 포즈에 대응하는 제2 재구성된 참조 프레임을 생성하는 단계-상기 제3 장면 포즈는 상기 제1 장면 포즈에 선행함-와, 상기 제3 장면 포즈로부터 상기 제2 장면 포즈로의 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 수신하는 단계와, 상기 제2 장면 포즈 차이 데이터에 기초하여 상기 제2 재구성된 참조 프레임의 적어도 일부에 제2 투영 변환을 적용하여 상기 제2 재투영된 재구성된 참조 프레임을 생성하는 단계를 더 포함하며, 상기 현재 프레임에 대한 모션 보상을 수행하는 것이, 상기 재투영된 재구성된 참조 프레임 및 상기 제2 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용한다.
하나 이상의 제12 실시예에서, 비디오 코딩을 위한 시스템이 제1 장면 포즈에 대응하는 재구성된 참조 프레임을 저장하는 메모리와, 상기 메모리에 연결되어 있는 프로세서를 포함하며, 상기 프로세서는, 장면 포즈 차이 데이터에 기초하여 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하여 재투영된 재구성된 참조 프레임을 생성하고-상기 장면 포즈 차이 데이터는 제1 장면 포즈로부터 상기 제1 장면 포즈에 후속하는 제2 장면 포즈로의 장면 포즈 변경을 나타냄-, 상기 재투영된 재구성된 참조 프레임을 모션 보상 참조 프레임으로서 사용하여 현재의 재구성된 프레임을 생성하도록 모션 보상을 수행한다.
하나 이상의 제13 실시예에서, 임의의 제12 실시예에 있어서, 상기 투영 변환은 아핀 투영 및 비아핀 투영 모두를 포함하고, 상기 비아핀 투영은 줌 투영, 배럴 왜곡 투영, 및 구면 회전 투영 중 적어도 하나를 포함하고, 상기 장면 포즈 차이 데이터는 변환 행렬, 6 자유도 차분 데이터, 및 모션 벡터 필드 중 하나를 포함한다.
하나 이상의 제14 실시예에서, 제12 실시예 또는 제13 실시예 중 어느 하나에 있어서, 상기 프로세서가 모션 보상을 수행하는 것은, 상기 현재의 재구성된 프레임의 제1 블록이 모션 보상을 위해 상기 재구성된 참조 프레임을 참조하고 상기 현재의 재구성된 프레임의 제2 블록이 모션 보상을 위해 상기 재투영된 재구성된 참조 프레임을 참조하도록, 상기 재구성된 참조 프레임 및 상기 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하여 블록 단위로 모션 보상을 수행하는 것을 포함한다.
하나 이상의 제15 실시예에서, 제12 실시예 내지 제14 실시예 중 어느 하나에 있어서, 상기 프로세서는 또한 상기 재구성된 참조 프레임의 관심 영역 및 상기 관심 영역을 제외한 상기 재구성된 참조 프레임의 배경 영역을 결정하며, 상기 프로세서가 투영 변환을 적용하는 것이 상기 재구성된 참조 프레임의 상기 관심 영역과 상기 재구성된 배경 중 하나에만 상기 투영 변환을 적용하는 것을 포함한다.
하나 이상의 제16 실시예에서, 제12 실시예 내지 제15 실시예 중 어느 하나에 있어서, 상기 프로세서는 또한 상기 제1 장면 포즈가 상기 제3 장면 포즈에 후속하도록 제3 장면 포즈로부터 상기 제1 장면 포즈로의 제2 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 외삽에 기초하여 상기 장면 포즈 차이 데이터를 예측한다.
하나 이상의 제17 실시예에서, 제12 실시예 내지 제16 실시예 중 어느 하나에 있어서, 상기 프로세서는 또한 상기 장면 포즈 차이 데이터에 대응하는 적어도 하나의 장면 전환 차이 크기 값을 임계 값과 비교하며, 상기 프로세서가 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하는 것은 장면 전환 차이 크기 값이 임계 값을 만족하거나 초과하는지에 의존한다.
하나 이상의 제18 실시예에서, 제12 실시예 내지 제17 실시예 중 어느 하나에 있어서, 상기 프로세서는 또한, 제3 장면 포즈에 대응하는 제2 재구성된 참조 프레임을 생성하고-상기 제3 장면 포즈는 상기 제1 장면 포즈에 선행함-, 상기 제3 장면 포즈로부터 상기 제2 장면 포즈로의 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 수신하며, 상기 제2 장면 포즈 차이 데이터에 기초하여 상기 제2 재구성된 참조 프레임의 적어도 일부에 제2 투영 변환을 적용하여 상기 제2 재투영된 재구성된 참조 프레임을 생성하고, 상기 프로세서가 상기 현재 프레임에 대한 모션 보상을 수행하는 것은, 상기 프로세서가 상기 재투영된 재구성된 참조 프레임 및 상기 제2 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하는 것을 포함한다.
하나 이상의 제19 실시예에서, 비디오 코딩을 위한 시스템은 제1 장면 포즈에 대응하는 재구성된 참조 프레임을 생성하는 수단과, 상기 제1 장면 포즈로부터 상기 제1 장면 포즈에 후속하는 제2 장면 포즈로의 장면 포즈 변경을 나타내는 장면 포즈 차이 데이터를 수신하는 수단과, 상기 장면 포즈 차이 데이터에 기초하여 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하여 재투영된 재구성된 참조 프레임을 생성하는, 투영 변환을 적용하는 수단과, 상기 재투영된 재구성된 참조 프레임을 모션 보상 참조 프레임으로서 사용하여 현재의 재구성된 프레임을 생성하도록 모션 보상을 수행하는 수단을 포함한다.
하나 이상의 제20 실시예에서, 임의의 제19 실시예에 있어서, 상기 투영 변환은 아핀 투영 및 비아핀 투영 모두를 포함하고, 상기 비아핀 투영은 줌 투영, 배럴 왜곡 투영, 및 구면 회전 투영 중 적어도 하나를 포함하고, 상기 장면 포즈 차이 데이터는 변환 행렬, 6 자유도 차분 데이터, 및 모션 벡터 필드 중 하나를 포함한다.
하나 이상의 제21 실시예에서, 제19 실시예 또는 제20 실시예 중 어느 하나에 있어서, 상기 투영 변환은 상기 재구성된 참조 프레임 전체에 적용되고, 상기 시스템은 상기 투영 변환을 적용하는 것과 적어도 부분적으로 동시에 제2 프레임을 렌더링하는 수단과, 상기 투영 변환을 적용하는 것과 적어도 부분적으로 동시에 비트스트림을 수신하는 수단 중 적어도 하나를 더 포함한다.
하나 이상의 제22 실시예에서, 제19 실시예 내지 제21 실시예 중 어느 하나에 있어서, 상기 모션 보상을 수행하는 수단은, 상기 현재의 재구성된 프레임의 제1 블록이 모션 보상을 위해 상기 재구성된 참조 프레임을 참조하고 상기 현재의 재구성된 프레임의 제2 블록이 모션 보상을 위해 상기 재투영된 재구성된 참조 프레임을 참조하도록, 상기 재구성된 참조 프레임 및 상기 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하여 블록 단위로 모션 보상을 수행하는 수단을 포함한다.
하나 이상의 제23 실시예에서, 적어도 하나의 머신 판독 가능 매체는, 컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금 제1 장면 포즈에 대응하는 재구성된 참조 프레임을 생성하고, 상기 제1 장면 포즈로부터 상기 제1 장면 포즈에 후속하는 제2 장면 포즈로의 장면 포즈 변경을 나타내는 장면 포즈 차이 데이터를 수신하며, 상기 장면 포즈 차이 데이터에 기초하여 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하여 재투영된 재구성된 참조 프레임을 생성하는, 투영 변환을 적용하고, 상기 재투영된 재구성된 참조 프레임을 모션 보상 참조 프레임으로서 사용하여 현재의 재구성된 프레임을 생성하도록 모션 보상을 수행함으로써, 비디오 코딩을 수행하게 하는 복수의 명령어를 포함한다.
하나 이상의 제24 실시예에서, 임의의 제23 실시예에 있어서, 상기 투영 변환은 아핀 투영 및 비아핀 투영 모두를 포함하고, 상기 비아핀 투영은 줌 투영, 배럴 왜곡 투영, 및 구면 회전 투영 중 적어도 하나를 포함하고, 상기 장면 포즈 차이 데이터는 변환 행렬, 6 자유도 차분 데이터, 및 모션 벡터 필드 중 하나를 포함한다.
하나 이상의 제25 실시예에서, 제23 실시예 또는 제24 실시예 중 어느 하나에 있어서, 상기 모션 보상을 수행하는 것은, 상기 현재의 재구성된 프레임의 제1 블록이 모션 보상을 위해 상기 재구성된 참조 프레임을 참조하고 상기 현재의 재구성된 프레임의 제2 블록이 모션 보상을 위해 상기 재투영된 재구성된 참조 프레임을 참조하도록, 상기 재구성된 참조 프레임 및 상기 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하여 블록 단위로 모션 보상을 수행하는 것을 포함한다.
하나 이상의 제26 실시예에서, 제23 실시예 내지 제25 실시예 중 어느 하나에 있어서, 상기 머신 판독 가능 매체는, 컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금 상기 재구성된 참조 프레임의 관심 영역 및 상기 관심 영역을 제외한 상기 재구성된 참조 프레임의 배경 영역을 결정함으로써 비디오 코딩을 수행하게 하는 복수의 명령어를 더 포함하되, 상기 투영 변환을 적용하는 것은 상기 재구성된 참조 프레임의 상기 관심 영역과 상기 재구성된 배경 중 하나에만 상기 투영 변환을 적용하는 것을 포함한다.
하나 이상의 제27 실시예에서, 제23 실시예 내지 제26 실시예 중 어느 하나에 있어서, 상기 머신 판독 가능 매체는, 컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금 상기 제1 장면 포즈가 상기 제3 장면 포즈에 후속하도록 제3 장면 포즈로부터 상기 제1 장면 포즈로의 제2 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 외삽하여 상기 장면 포즈 차이 데이터를 예측함으로써 비디오 코딩을 수행하게 하는 복수의 명령어를 더 포함한다.
하나 이상의 제28 실시예에서, 제23 실시예 내지 제27 실시예 중 어느 하나에 있어서, 상기 머신 판독 가능 매체는 컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금 상기 장면 포즈 차이 데이터에 대응하는 적어도 하나의 장면 전환 차이 크기 값을 임계 값과 비교함으로써 비디오 코딩을 수행하게 하는 복수의 명령어를 더 포함하며, 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하는 것은 장면 전환 차이 크기 값이 임계 값을 만족하거나 초과하는지에 의존한다.
하나 이상의 제29 실시예에서, 제23 실시예 내지 제28 실시예 중 어느 하나에 있어서, 상기 머신 판독 가능 매체는 컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금 제3 장면 포즈에 대응하는 제2 재구성된 참조 프레임을 생성하고-상기 제3 장면 포즈는 상기 제1 장면 포즈에 선행함-, 상기 제3 장면 포즈로부터 상기 제2 장면 포즈로의 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 수신하며, 상기 제2 장면 포즈 차이 데이터에 기초하여 상기 제2 재구성된 참조 프레임의 적어도 일부에 제2 투영 변환을 적용하여 상기 제2 재투영된 재구성된 참조 프레임을 생성함으로써 비디오 코딩을 수행하게 하는 복수의 명령어를 더 포함하며, 상기 현재 프레임에 대한 모션 보상을 수행하는 것은 상기 재투영된 재구성된 참조 프레임 및 상기 제2 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용한다.
하나 이상의 제30 실시예에서, 적어도 하나의 머신 판독 가능 매체는 컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금 상기 실시예 중 하나에 따른 방법을 수행하게 하는 복수의 명령어를 포함할 수 있다.
하나 이상의 제31 실시예에서, 장치 또는 시스템은 상기 실시예들 중 어느 하나에 따른 방법을 수행하기 위한 수단을 포함할 수 있다.
실시예들은 상술한 실시예들에 한정되지 않고, 첨부된 청구항들의 범위를 벗어나지 않고 수정 및 변경되어 실시될 수 있음을 인식할 수 있을 것이다. 예를 들어, 위 실시예들은 특징들의 특정한 조합을 포함할 수 있다. 그러나, 이들 실시 예는 이에 국한되지 않으며, 다양한 구현예에서, 이들 특징의 서브세트만 취하거나, 이들 특징의 다른 순서를 취하거나, 이들 특징의 상이한 조합을 최하거나, 및/또는 명시적으로 나열된 특징 외의 추가적인 특징을 취할 수도 있다. 그러므로, 실시예들의 범위는 청구범위의 권리가 주어지는 균등물의 전체 범위와 함께, 첨부된 청구 범위를 참조하여 결정되어야 한다.

Claims (25)

  1. 비디오 코딩을 위한 컴퓨터 구현 방법으로서,
    제1 장면 포즈(scene pose)에 대응하는 재구성된 참조 프레임을 생성하는 단계와,
    상기 제1 장면 포즈로부터 상기 제1 장면 포즈에 후속하는 제2 장면 포즈로의 장면 포즈 변경을 나타내는 장면 포즈 차이(scene pose difference) 데이터를 수신하는 단계와,
    상기 장면 포즈 차이 데이터에 기초하여 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환(projective transformation)을 적용하여 재투영된 재구성된 참조 프레임을 생성하는, 투영 변환을 적용하는 단계와,
    상기 재투영된 재구성된 참조 프레임을 모션 보상 참조 프레임으로서 사용하여 현재의 재구성된 프레임을 생성하도록 모션 보상을 수행하는 단계를 포함하는
    비디오 코딩 방법.
  2. 제1항에 있어서,
    상기 투영 변환은 아핀 투영(affine projection) 및 비아핀 투영(non-affine projection) 모두를 포함하고, 상기 비아핀 투영은 줌(zoom) 투영, 배럴 왜곡(barrel distortion) 투영, 및 구면 회전(spherical rotation) 투영 중 적어도 하나를 포함하며,
    상기 장면 포즈 차이 데이터는 변환 행렬, 6 자유도 차분 데이터, 및 모션 벡터 필드 중 하나를 포함하는
    비디오 코딩 방법.
  3. 제1항에 있어서,
    상기 투영 변환은 상기 재구성된 참조 프레임 전체에 적용되고,
    상기 방법은 상기 투영 변환을 적용하는 것과 적어도 부분적으로 동시에 제2 프레임을 렌더링하는 단계와, 상기 투영 변환을 적용하는 것과 적어도 부분적으로 동시에 비트스트림을 수신하는 단계 중 적어도 하나를 더 포함하는
    비디오 코딩 방법.
  4. 제1항에 있어서,
    상기 모션 보상을 수행하는 단계는, 상기 현재의 재구성된 프레임의 제1 블록이 모션 보상을 위해 상기 재구성된 참조 프레임을 참조하고 상기 현재의 재구성된 프레임의 제2 블록이 모션 보상을 위해 상기 재투영된 재구성된 참조 프레임을 참조하도록, 상기 재구성된 참조 프레임 및 상기 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하여 블록 단위로 모션 보상을 수행하는 단계를 포함하는
    비디오 코딩 방법.
  5. 제1항에 있어서,
    상기 재구성된 참조 프레임의 관심 영역 및 상기 관심 영역을 제외한 상기 재구성된 참조 프레임의 배경 영역을 결정하는 단계를 더 포함하되,
    상기 투영 변환을 적용하는 단계는 상기 재구성된 참조 프레임의 상기 관심 영역과 상기 재구성된 배경 영역 중 하나에만 상기 투영 변환을 적용하는 단계를 포함하는
    비디오 코딩 방법.
  6. 제1항에 있어서,
    상기 투영 변환을 적용하는 단계는, 상기 재구성된 참조 프레임에 줌인(zoom-in) 변환을 적용하여 상기 재구성된 참조 프레임의 크기보다 큰 크기의 제1 재투영된 재구성된 참조 프레임을 생성하는 단계를 포함하고,
    상기 방법은,
    상기 재구성된 참조 프레임과 동일한 크기의 바운딩 박스를 상기 제1 재투영된 재구성된 참조 프레임에 적용하는 단계와,
    상기 재투영된 재구성된 참조 프레임을 생성하기 위해, 상기 바운딩 박스 내의 상기 제1 재투영된 재구성된 참조 프레임의 일부분을 상기 재구성된 참조 프레임의 크기 및 해상도로 스케일링하는 단계를 더 포함하는
    비디오 코딩 방법.
  7. 제1항에 있어서,
    상기 투영 변환을 적용하는 단계는, 상기 재구성된 참조 프레임에 줌아웃(zoom-out) 변환을 적용하여 상기 재구성된 참조 프레임의 크기보다 작은 크기의 제1 재투영된 재구성된 참조 프레임을 생성하는 단계를 포함하고,
    상기 방법은, 상기 재구성된 참조 프레임과 동일한 크기 및 해상도의 재투영된 재구성된 참조 프레임을 제공하기 위해, 상기 제1 재투영된 재구성된 참조 프레임의 적어도 하나의 에지에 인접한 에지 픽셀을 생성하는 단계를 포함하는
    비디오 코딩 방법.
  8. 제1항에 있어서,
    상기 투영 변환을 적용하는 단계는, 상기 재구성된 참조 프레임에 구면 회전을 적용하여 제1 재투영된 재구성된 참조 프레임을 생성하는 단계를 포함하고,
    상기 방법은, 상기 재구성된 참조 프레임과 동일한 크기 및 해상도의 재투영된 재구성된 참조 프레임을 제공하기 위해 상기 제1 재투영된 재구성된 참조 프레임의 적어도 하나의 에지에 인접한 에지 픽셀을 생성하는 단계를 포함하는
    비디오 코딩 방법.
  9. 제1항에 있어서,
    제3 장면 포즈로부터 상기 제1 장면 포즈로의 제2 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 외삽하여 상기 장면 포즈 차이 데이터를 예측하는 단계를 더 포함하며, 상기 제1 장면 포즈는 상기 제3 장면 포즈에 후속하는
    비디오 코딩 방법.
  10. 제1항에 있어서,
    상기 장면 포즈 차이 데이터에 대응하는 적어도 하나의 장면 전환 차이 크기 값을 임계 값과 비교하는 단계를 더 포함하되,
    상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하는 것은 장면 전환 차이 크기 값이 상기 임계 값을 만족하거나 초과하는지에 의존하는
    비디오 코딩 방법.

  11. 제1항에 있어서,
    제3 장면 포즈에 대응하는 제2 재구성된 참조 프레임을 생성하는 단계-상기 제3 장면 포즈는 상기 제1 장면 포즈에 선행함-와,
    상기 제3 장면 포즈로부터 상기 제2 장면 포즈로의 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 수신하는 단계와,
    상기 제2 장면 포즈 차이 데이터에 기초하여 상기 제2 재구성된 참조 프레임의 적어도 일부에 제2 투영 변환을 적용하여 상기 제2 재투영된 재구성된 참조 프레임을 생성하는 단계를 더 포함하되,
    상기 현재 프레임에 대한 모션 보상을 수행하는 것은, 상기 재투영된 재구성된 참조 프레임 및 상기 제2 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하는
    비디오 코딩 방법.
  12. 비디오 코딩을 위한 시스템으로서,
    제1 장면 포즈에 대응하는 재구성된 참조 프레임을 저장하는 메모리와,
    상기 메모리에 연결되어 있는 프로세서를 포함하며,
    상기 프로세서는,
    장면 포즈 차이 데이터에 기초하여 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하여 재투영된 재구성된 참조 프레임을 생성하고-상기 장면 포즈 차이 데이터는 제1 장면 포즈로부터 상기 제1 장면 포즈에 후속하는 제2 장면 포즈로의 장면 포즈 변경을 나타냄-,
    상기 재투영된 재구성된 참조 프레임을 모션 보상 참조 프레임으로서 사용하여 현재의 재구성된 프레임을 생성하도록 모션 보상을 수행하는
    비디오 코딩 시스템.
  13. 제12항에 있어서,
    상기 투영 변환은 아핀 투영 및 비아핀 투영 모두를 포함하고, 상기 비아핀 투영은 줌 투영, 배럴 왜곡 투영, 및 구면 회전 투영 중 적어도 하나를 포함하고,
    상기 장면 포즈 차이 데이터는 변환 행렬, 6 자유도 차분 데이터, 및 모션 벡터 필드 중 하나를 포함하는
    비디오 코딩 시스템.
  14. 제12항에 있어서,
    상기 프로세서가 모션 보상을 수행하는 것은, 상기 프로세서가 상기 현재의 재구성된 프레임의 제1 블록이 모션 보상을 위해 상기 재구성된 참조 프레임을 참조하고 상기 현재의 재구성된 프레임의 제2 블록이 모션 보상을 위해 상기 재투영된 재구성된 참조 프레임을 참조하도록, 상기 재구성된 참조 프레임 및 상기 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하여 블록 단위로 모션 보상을 수행하는 것을 포함하는
    비디오 코딩 시스템.
  15. 제12항에 있어서,
    상기 프로세서는 또한 상기 재구성된 참조 프레임의 관심 영역 및 상기 관심 영역을 제외한 상기 재구성된 참조 프레임의 배경 영역을 결정하며,
    상기 프로세서가 투영 변환을 적용하는 것은, 상기 프로세서가 상기 재구성된 참조 프레임의 상기 관심 영역과 상기 재구성된 배경 영역 중 하나에만 상기 투영 변환을 적용하는 것을 포함하는
    비디오 코딩 시스템.
  16. 제12항에 있어서,
    상기 프로세서는 또한 제3 장면 포즈로부터 상기 제1 장면 포즈로의 제2 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터의 외삽에 기초하여 상기 장면 포즈 차이 데이터를 예측하며, 상기 제1 장면 포즈는 상기 제3 장면 포즈에 후속하는
    비디오 코딩 시스템.
  17. 제12항에 있어서,
    상기 프로세서는 또한 상기 장면 포즈 차이 데이터에 대응하는 적어도 하나의 장면 전환 차이 크기 값을 임계 값과 비교하며,
    상기 프로세서가 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하는 것은 장면 전환 차이 크기 값이 상기 임계 값을 만족하거나 초과하는지에 의존하는
    비디오 코딩 시스템.
  18. 제12항에 있어서,
    상기 프로세서는 또한,
    제3 장면 포즈에 대응하는 제2 재구성된 참조 프레임을 생성하고-상기 제3 장면 포즈는 상기 제1 장면 포즈에 선행함-,
    상기 제3 장면 포즈로부터 상기 제2 장면 포즈로의 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 수신하며,
    상기 제2 장면 포즈 차이 데이터에 기초하여 상기 제2 재구성된 참조 프레임의 적어도 일부에 제2 투영 변환을 적용하여 상기 제2 재투영된 재구성된 참조 프레임을 생성하고,
    상기 프로세서가 상기 현재 프레임에 대한 모션 보상을 수행하는 것은, 상기 프로세서가 상기 재투영된 재구성된 참조 프레임 및 상기 제2 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하는 것을 포함하는
    비디오 코딩 시스템.
  19. 적어도 하나의 머신 판독 가능 매체로서,
    컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금
    제1 장면 포즈에 대응하는 재구성된 참조 프레임을 생성하고,
    상기 제1 장면 포즈로부터 상기 제1 장면 포즈에 후속하는 제2 장면 포즈로의 장면 포즈 변경을 나타내는 장면 포즈 차이 데이터를 수신하며,
    상기 장면 포즈 차이 데이터에 기초하여 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하여 재투영된 재구성된 참조 프레임을 생성하고,
    상기 재투영된 재구성된 참조 프레임을 모션 보상 참조 프레임으로서 사용하여 현재의 재구성된 프레임을 생성하도록 모션 보상을 수행함으로써,
    비디오 코딩을 수행하게 하는 복수의 명령어를 포함하는
    머신 판독 가능 매체.

  20. 제19항에 있어서,
    상기 투영 변환은 아핀 투영 및 비아핀 투영 모두를 포함하고, 상기 비아핀 투영은 줌 투영, 배럴 왜곡 투영, 및 구면 회전 투영 중 적어도 하나를 포함하며,
    상기 장면 포즈 차이 데이터는 변환 행렬, 6 자유도 차분 데이터, 및 모션 벡터 필드 중 하나를 포함하는
    머신 판독 가능 매체.
  21. 제19항에 있어서,
    상기 모션 보상을 수행하는 것은, 상기 현재의 재구성된 프레임의 제1 블록이 모션 보상을 위해 상기 재구성된 참조 프레임을 참조하고 상기 현재의 재구성된 프레임의 제2 블록이 모션 보상을 위해 상기 재투영된 재구성된 참조 프레임을 참조하도록, 상기 재구성된 참조 프레임 및 상기 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하여 블록 단위로 모션 보상을 수행하는 것을 포함하는
    머신 판독 가능 매체.
  22. 제19항에 있어서,
    컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금 상기 재구성된 참조 프레임의 관심 영역 및 상기 관심 영역을 제외한 상기 재구성된 참조 프레임의 배경 영역을 결정함으로써 비디오 코딩을 수행하게 하는 복수의 명령어를 더 포함하되, 상기 투영 변환을 적용하는 것은 상기 재구성된 참조 프레임의 상기 관심 영역과 상기 재구성된 배경 영역 중 하나에만 상기 투영 변환을 적용하는 것을 포함하는
    머신 판독 가능 매체.
  23. 제19항에 있어서,
    컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금 제3 장면 포즈로부터 상기 제1 장면 포즈로의 제2 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 외삽하여 상기 장면 포즈 차이 데이터를 예측함으로써 비디오 코딩을 수행하게 하는 복수의 명령어를 더 포함하되, 상기 제1 장면 포즈는 상기 제3 장면 포즈에 후속하는
    머신 판독 가능 매체.
  24. 제19항에 있어서,
    컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금 상기 장면 포즈 차이 데이터에 대응하는 적어도 하나의 장면 전환 차이 크기 값을 임계 값과 비교함으로써 비디오 코딩을 수행하게 하는 복수의 명령어를 더 포함하되, 상기 재구성된 참조 프레임의 적어도 일부에 투영 변환을 적용하는 것은 장면 전환 차이 크기 값이 상기 임계 값을 만족하거나 초과하는지에 의존하는
    머신 판독 가능 매체.
  25. 제19항에 있어서,
    컴퓨팅 장치상에서 실행되는 것에 응답하여, 상기 컴퓨팅 장치로 하여금
    제3 장면 포즈에 대응하는 제2 재구성된 참조 프레임을 생성하고-상기 제3 장면 포즈는 상기 제1 장면 포즈에 선행함-,
    상기 제3 장면 포즈로부터 상기 제2 장면 포즈로의 장면 포즈 변경을 나타내는 제2 장면 포즈 차이 데이터를 수신하며,
    상기 제2 장면 포즈 차이 데이터에 기초하여 상기 제2 재구성된 참조 프레임의 적어도 일부에 제2 투영 변환을 적용하여 상기 제2 재투영된 재구성된 참조 프레임을 생성함으로써
    비디오 코딩을 수행하게 하는 복수의 명령어를 더 포함하되,
    상기 현재 프레임에 대한 모션 보상을 수행하는 것은, 상기 재투영된 재구성된 참조 프레임 및 상기 제2 재투영된 재구성된 참조 프레임 모두를 모션 보상 참조 프레임으로서 사용하는
    머신 판독 가능 매체.
KR1020180076695A 2017-08-03 2018-07-02 향상된 비디오 코딩을 위한 참조 프레임 재투영 KR102658657B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/668,600 US20190045213A1 (en) 2017-08-03 2017-08-03 Reference frame reprojection for improved video coding
US15/668,600 2017-08-03

Publications (2)

Publication Number Publication Date
KR20190015093A true KR20190015093A (ko) 2019-02-13
KR102658657B1 KR102658657B1 (ko) 2024-04-17

Family

ID=62981010

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180076695A KR102658657B1 (ko) 2017-08-03 2018-07-02 향상된 비디오 코딩을 위한 참조 프레임 재투영

Country Status (4)

Country Link
US (1) US20190045213A1 (ko)
EP (1) EP3439306B1 (ko)
KR (1) KR102658657B1 (ko)
CN (1) CN109391815A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220044879A (ko) * 2019-09-04 2022-04-11 주식회사 윌러스표준기술연구소 클라우드 가상 현실을 위한 imu 센서 데이터를 활용한 비디오 인코딩 및 디코딩 가속 방법 및 장치
KR20220053655A (ko) * 2020-03-16 2022-04-29 텐센트 아메리카 엘엘씨 클라우드 게이밍을 위한 방법 및 장치
KR20220062574A (ko) * 2020-03-16 2022-05-17 텐센트 아메리카 엘엘씨 클라우드 게이밍을 위한 방법 및 장치
US11514560B2 (en) 2020-12-28 2022-11-29 Samsung Electronics Co., Ltd. Method of correcting image latency and apparatus using the same
US11721084B2 (en) 2021-05-18 2023-08-08 Samsung Electronics Co., Ltd. Electronic device and method for correcting image latency

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184641B2 (en) * 2017-05-09 2021-11-23 Koninklijke Kpn N.V. Coding spherical video data
US10914957B1 (en) 2017-05-30 2021-02-09 Apple Inc. Video compression methods and apparatus
US10733783B2 (en) 2018-10-09 2020-08-04 Valve Corporation Motion smoothing for re-projected frames
EP3934233B1 (en) * 2019-03-27 2024-05-29 Sony Group Corporation Video processing device and video processing method
CN114080799A (zh) * 2019-07-04 2022-02-22 交互数字Vc控股法国有限公司 处理体数据
US11195303B2 (en) * 2020-01-29 2021-12-07 Boston Polarimetrics, Inc. Systems and methods for characterizing object pose detection and measurement systems
US11363247B2 (en) * 2020-02-14 2022-06-14 Valve Corporation Motion smoothing in a distributed system
CN112017216B (zh) * 2020-08-06 2023-10-27 影石创新科技股份有限公司 图像处理方法、装置、计算机可读存储介质及计算机设备
US11778168B2 (en) * 2020-09-24 2023-10-03 Ati Technologies Ulc Reference frame detection using sensor metadata
WO2022072242A1 (en) * 2020-10-01 2022-04-07 Qualcomm Incorporated Coding video data using pose information of a user
WO2022146780A1 (en) * 2020-12-30 2022-07-07 Snap Inc. Motion-to-photon latency augmented reality systems
CN115623224A (zh) * 2021-07-12 2023-01-17 华为技术有限公司 数据处理方法、系统及电子设备
CN117917683A (zh) * 2022-10-20 2024-04-23 华为技术有限公司 一种图像渲染的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170238011A1 (en) * 2016-02-17 2017-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods and Devices For Encoding and Decoding Video Pictures

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005624B (zh) * 1997-02-13 2011-11-16 三菱电机株式会社 动态图象译码装置和方法
US8705614B2 (en) * 2005-04-04 2014-04-22 Broadcom Corporation Motion estimation using camera tracking movements
JP5524063B2 (ja) * 2007-09-28 2014-06-18 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ情報処理
JP5092722B2 (ja) * 2007-12-07 2012-12-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US9426494B2 (en) * 2011-07-18 2016-08-23 Ziilabs Inc., Ltd. Systems and methods with early variance measure used to optimize video encoding
CN102595242B (zh) * 2012-03-12 2015-03-11 华为技术有限公司 动态调整视频的系统、终端和方法
WO2016073557A1 (en) * 2014-11-04 2016-05-12 The University Of North Carolina At Chapel Hill Minimal-latency tracking and display for matching real and virtual worlds
US10567641B1 (en) * 2015-01-19 2020-02-18 Devon Rueckner Gaze-directed photography
WO2017102468A1 (en) * 2015-12-15 2017-06-22 Koninklijke Philips N.V. Image processing systems and methods
EP3249603A1 (en) * 2016-05-25 2017-11-29 IMINT Image Intelligence AB Detection of motion in video from portable devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170238011A1 (en) * 2016-02-17 2017-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods and Devices For Encoding and Decoding Video Pictures

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Liang Guoyuan et al: "Affine correspondence based head pose estimation for a sequence of images by using a 3D model", AUTOMATIC FACE AND GESTURE RECOGNITION, PROCEEDINGS, 2004.5.17. pages 632-637. *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220044879A (ko) * 2019-09-04 2022-04-11 주식회사 윌러스표준기술연구소 클라우드 가상 현실을 위한 imu 센서 데이터를 활용한 비디오 인코딩 및 디코딩 가속 방법 및 장치
US11546582B2 (en) 2019-09-04 2023-01-03 Wilus Institute Of Standards And Technology Inc. Video encoding and decoding acceleration utilizing IMU sensor data for cloud virtual reality
US11792392B2 (en) 2019-09-04 2023-10-17 Wilus Institute Of Standards And Technology Inc. Video encoding and decoding acceleration utilizing IMU sensor data for cloud virtual reality
KR20220053655A (ko) * 2020-03-16 2022-04-29 텐센트 아메리카 엘엘씨 클라우드 게이밍을 위한 방법 및 장치
KR20220062574A (ko) * 2020-03-16 2022-05-17 텐센트 아메리카 엘엘씨 클라우드 게이밍을 위한 방법 및 장치
US11833419B2 (en) 2020-03-16 2023-12-05 Tencent America LLC Method and apparatus for cloud gaming
US11514560B2 (en) 2020-12-28 2022-11-29 Samsung Electronics Co., Ltd. Method of correcting image latency and apparatus using the same
US11721084B2 (en) 2021-05-18 2023-08-08 Samsung Electronics Co., Ltd. Electronic device and method for correcting image latency

Also Published As

Publication number Publication date
EP3439306B1 (en) 2020-12-30
KR102658657B1 (ko) 2024-04-17
EP3439306A1 (en) 2019-02-06
US20190045213A1 (en) 2019-02-07
CN109391815A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
KR102658657B1 (ko) 향상된 비디오 코딩을 위한 참조 프레임 재투영
JP6120390B2 (ja) 次世代動画用コンテンツに適応的な特性補償済み予測
KR101634500B1 (ko) 미디어 작업부하 스케줄러
US10341658B2 (en) Motion, coding, and application aware temporal and spatial filtering for video pre-processing
US20190132591A1 (en) Deep learning based quantization parameter estimation for video encoding
JP6163674B2 (ja) 高効率次世代ビデオコーディングのためのコンテンツ適応双方向性又は機能性予測マルチパスピクチャ
US11889096B2 (en) Video codec assisted real-time video enhancement using deep learning
TWI513316B (zh) 轉碼視頻資料之技術
US20180242016A1 (en) Deblock filtering for 360 video
US10887614B2 (en) Adaptive thresholding for computer vision on low bitrate compressed video streams
CN107005709B (zh) 对于任意形状的运动估计
US20160088298A1 (en) Video coding rate control including target bitrate and quality control
US20140254678A1 (en) Motion estimation using hierarchical phase plane correlation and block matching
KR20150090009A (ko) 섬네일 이미지를 압축 비디오 이미지에 포함시키는 기술
US20180098073A1 (en) Method and system of video coding using projected motion vectors
KR20230002318A (ko) 머신들을 위한 패치 기반 비디오 코딩
CN107736026B (zh) 样本自适应偏移编码
CN114650427A (zh) 将视频编码过程负载转移到硬件以获得更好密度质量折衷
JP2022524305A (ja) イマーシブビデオ符号化のための高レベルシンタックス
US10484714B2 (en) Codec for multi-camera compression

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant