KR20210077006A - 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품 - Google Patents

360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20210077006A
KR20210077006A KR1020217018415A KR20217018415A KR20210077006A KR 20210077006 A KR20210077006 A KR 20210077006A KR 1020217018415 A KR1020217018415 A KR 1020217018415A KR 20217018415 A KR20217018415 A KR 20217018415A KR 20210077006 A KR20210077006 A KR 20210077006A
Authority
KR
South Korea
Prior art keywords
sample
boundary region
layer
picture
region
Prior art date
Application number
KR1020217018415A
Other languages
English (en)
Other versions
KR102432085B1 (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 KR20210077006A publication Critical patent/KR20210077006A/ko
Application granted granted Critical
Publication of KR102432085B1 publication Critical patent/KR102432085B1/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/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/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/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
    • 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/182Methods 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 a pixel
    • 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/187Methods 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 a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

비디오 인코딩을 위한 다양한 방법, 장치 및 컴퓨터 프로그램 제품이 개시된다. 일부 실시예에서, 방법은 인터-레이어 예측을 위해 360도 파노라마 소스 화상을 재구성하는 단계와, 360도 파노라마 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하는 단계를 포함하되, 도출하는 단계는 360도 파노라마 소스 화상의 적어도 일부를 업샘플링하는 단계 - 업샘플링하는 단계는 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 단계를 포함함 - 와, 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 반대 측 경계 영역의 하나 이상의 샘플 값과 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 레퍼런스 영역에 포함시키는 단계중 하나 또는 양자 모두를 포함한다.

Description

360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품{A METHOD, AN APPARATUS AND A COMPUTER PROGRAM PRODUCT FOR CODING A 360-DEGREE PANORAMIC VIDEO}
본 실시예는 360도 파노라마 비디오를 코딩하는 것에 관계된다.
본 섹션은 청구항에 기재된 발명에 대한 배경 또는 콘텍스트를 제공하도록 의도된다. 본 명세서의 설명은 추구되는 개념이지만 반드시 이전에 인식되었거나 추구되지는 않은 개념을 포함할 수 있다. 따라서, 본 명세서에서 달리 표시되지 않는 한, 본 섹션에 설명된 것이 본 출원의 설명 및 청구 범위에 대한 종래 기술은 아니며, 본 섹션에 포함되었다고 해서 종래 기술로서 인정되는 것은 아니다.
360도 파노라마 이미지와 비디오는 캡처 위치 둘레의 수평으로 전체 360도 시야를 포함한다. 360도 파노라마 비디오 콘텐츠는, 예컨대, 둘 이상의 카메라 센서를 단일 360도 파노라마 이미지로 스티칭하여 얻을 수 있다. 또한, 단일 이미지 센서를 광학 배치(optical arrangement)와 함께 사용하여 360도 파노라마 이미지를 생성할 수 있다.
일부 실시예는 360도 파노라마 비디오를 인코딩 및 디코딩하는 방법을 구현하기 위한 방법 및 장치를 제공한다.
발명의 예시의 다양한 양태가 상세한 설명에서 제공된다.
제 1 양태에 따라, 인터-레이어 예측을 위해 360도 파노라마 소스 화상을 재구성하는 단계와, 360도 파노라마 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하는 단계를 포함하되, 도출하는 단계는 360도 파노라마 소스 화상의 적어도 일부를 업샘플링하는 단계 - 업샘플링하는 단계는 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 단계를 포함함 - 와, 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 반대 측 경계 영역의 하나 이상의 샘플 값과 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 레퍼런스 영역에 포함시키는 단계 중 하나 또는 양자 모두를 포함하는 방법이 제공된다.
제 2 양태에 따라, 360도 파노라마 화상의 경계 영역의 샘플을 인코딩하는 단계를 포함하되, 인코딩하는 단계는 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하는 단계를 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 단계와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 단계와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하는 단계 중 하나 이상을 포함하는 방법이 제공된다.
제 3 양태에 따라, 360도 파노라마 화상의 경계 영역의 샘플을 디코딩하는 단계를 포함하되, 디코딩하는 단계는 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하는 단계를 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 단계와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 단계와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하는 단계 중 하나 이상을 포함하는 방법이 제공된다.
제 4 양태에 따라, 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서, 적어도 하나의 메모리와 컴퓨터 프로그램 코드는 적어도 하나의 프로세서를 사용하여 장치로 하여금 적어도 인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성하는 것과, 360도 파노라마 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하는 것을 수행하게 하도록 구성되며, 도출하는 것은 360도 파노라마 소스 화상의 적어도 일부분을 업샘플링하는 것 - 업샘플링은 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 것을 포함함 - 과, 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 반대 측 경계 영역의 하나 이상의 샘플 값과 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 레퍼런스 영역에 포함시키는 것 중 하나 또는 양자 모두를 포함하는 장치가 제공된다.
제 5 양태에 따라, 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서, 적어도 하나의 메모리와 컴퓨터 프로그램 코드는 적어도 하나의 프로세서를 사용하여 장치로 하여금 적어도 360도 파노라마 화상의 경계 영역의 샘플을 인코딩하는 것을 수행하게 하도록 구성되며, 인코딩하는 것은 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하는 것을 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하는 것 중 하나 이상을 포함하는 장치가 제공된다.
제 6 양태에 따라, 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서, 적어도 하나의 메모리와 컴퓨터 프로그램 코드는 적어도 하나의 프로세서를 사용하여 장치로 하여금 적어도 360도 파노라마 화상의 경계 영역의 샘플을 디코딩하는 것을 수행하게 하도록 구성되며, 디코딩하는 것은 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하는 것을 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하는 것 중 하나 이상을 포함하는 장치가 제공된다.
제 7 양태에 따라, 처리 수단과, 인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성하는 수단과, 360도 파노라마 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하는 수단을 포함하되, 도출하는 수단은 360도 파노라마 소스 화상의 적어도 일부를 업샘플링하는 것 - 업샘플링하는 것은 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 것을 포함함 - 과, 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 반대 측 경계 영역의 하나 이상의 샘플 값과 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 레퍼런스 영역에 포함시키는 것 중 하나 또는 양자 모두를 수행하도록 구성된 장치가 제공된다.
제 8 양태에 따라, 처리 수단과, 360도 파노라마 화상의 경계 영역의 샘플을 인코딩하는 수단을 포함하되, 인코딩하는 수단은 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하도록 구성되며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하는 것 중 하나 이상을 포함하는 장치가 제공된다.
제 9 양태에 따라, 처리 수단과, 360도 파노라마 화상의 경계 영역의 샘플을 디코딩하는 수단을 포함하되, 디코딩하는 수단은 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하는 것을 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하는 것 중 하나 이상을 포함하는 장치가 제공된다.
제 10 양태에 따라, 컴퓨터와 함께 사용하기 위한 컴퓨터 프로그램 코드를 갖는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 코드는 인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성하기 위한 코드와, 360도 파노라마 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하기 위한 코드를 포함하되, 도출하기 위한 코드는 360도 파노라마 소스 화상의 적어도 일부를 업샘플링하기 위한 코드 - 업샘플링하기 위한 코드는 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하기 위한 코드를 포함함 - 와, 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 반대 측 경계 영역의 하나 이상의 샘플 값과 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 레퍼런스 영역에 포함시키기 위한 코드 중 하나 또는 양자 모두를 포함하는 컴퓨터 프로그램 제품이 제공된다.
제 11 양태에 따라, 컴퓨터와 함께 사용하기 위한 컴퓨터 프로그램 코드를 갖는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 코드는 360도 파노라마 화상의 경계 영역의 샘플을 인코딩하기 위한 코드를 포함하되, 인코딩하기 위한 코드는 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하기 위한 코드를 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리를 위한 코드는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하기 위한 코드와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하기 위한 코드와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하기 위한 코드 중 하나 이상을 포함하는 컴퓨터 프로그램 제품이 제공된다.
제 12 양태에 따라, 컴퓨터와 함께 사용하기 위한 컴퓨터 프로그램 코드를 갖는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 코드는 360도 파노라마 화상의 경계 영역의 샘플을 디코딩하기 위한 코드를 포함하되, 디코딩하기 위한 코드는 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하기 위한 코드를 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리를 위한 코드는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하기 위한 코드와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하기 위한 코드와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하기 위한 코드 중 하나 이상을 포함하는 컴퓨터 프로그램 제품이 제공된다.
본 발명의 예시적인 실시예의 더욱 완전한 이해를 위해, 이제 첨부된 도면과 관련하여 취해진 하기의 설명에 대한 참조가 이루어진다.
도 1은 일 실시예에 따른 비디오 코딩 시스템의 블록도를 도시한다.
도 2는 일 실시예에 따른 장치의 레이아웃을 도시한다.
도 3은 일 실시예에 따른 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 비디오 코딩을 위한 장치를 도시한다.
도 4는 일 실시예에 따른 비디오 인코더의 블록도를 도시한다.
도 5는 일 실시예에 따른 비디오 디코더의 블록도를 도시한다.
도 6은 도 7 및 도 8에 이용된 예시를 도시한다.
도 7은 인터 예측 프로세스에서 화상 경계 외부의 샘플을 레퍼런싱하는 처리의 예시를 도시한다.
도 8은 화상 경계 외부의 샘플 또는 모션 벡터에 대한 액세스의 처리(파노라마 비디오 코딩)의 예시를 도시한다.
도 9는 전체 샘플 위치에서의 루마 샘플의 예시를 도시하며, 샘플은 예측된 루마 샘플 값을 생성하는데 사용된다.
도 10은 레퍼런스 레이어 위치 오프셋을 도시한다.
도 11은 레퍼런스 영역을 갖는 샘플 어레이의 예시를 도시한다.
도 12는 예측에 사용된 레퍼런스 샘플의 예시를 도시한다.
도 13은 일 실시예에 따른 방법을 도시하는 흐름도이다.
도 14는 다른 실시예에 따른 방법을 도시하는 흐름도이다.
본 출원은 360-파노라마 비디오 콘텐츠를 캡처 및/또는 생성하는 전용 디바이스 및 소프트웨어로 인해 그 양이 급격히 증가하는 360-파노라마 비디오 콘텐츠에 관한 것이다.
360-파노라마 비디오 콘텐츠를 캡처 및/또는 생성하는 장치의 일 실시예가 도 1 및 도 2에 도시되어 있다. 장치(50)는 전자 디바이스, 예를 들어, 무선 통신 시스템 또는 카메라 디바이스의 이동 단말 또는 사용자 장비이다. 장치(50)는 디바이스를 통합하고 보호하는 하우징(30)을 포함할 수 있다. 장치(50)는, 예를 들어, 액정 디스플레이 또는 이미지 및/또는 비디오를 디스플레이할 수 있는 임의의 다른 디스플레이 기술과 같은 디스플레이(32)를 더 포함할 수 있다. 장치(50)는 키보드(34)를 더 포함할 수 있다. 다른 실시예에 따르면, 임의의 적절한 데이터 또는 사용자 인터페이스 메커니즘이 채택될 수 있다. 예를 들어, 사용자 인터페이스는 터치 감지 디스플레이의 일부로서 가상 키보드 또는 데이터 입력 시스템으로서 구현될 수 있다. 장치(50)는 마이크로폰(36) 또는 디지털 또는 아날로그 신호 입력을 수신할 수 있는 임의의 적합한 오디오 입력 디바이스일 수 있다. 장치(50)는 이어피스(38), 스피커 또는 아날로그 오디오 또는 디지털 오디오 접속부 중 임의의 것일 수 있는 오디오 출력 디바이스를 더 포함할 수 있다. 장치(50)는 배터리를 더 포함할 수 있다(다른 실시예에 따라, 디바이스는 태양 전지, 연료 전지 또는 시계 발전기와 같은 임의의 적합한 모바일 에너지 디바이스에 의해 동력을 공급받을 수 있다). 장치는 이미지 및/또는 비디오를 레코딩 또는 캡처할 수 있는 카메라(42)를 포함하거나 카메라에 접속될 수 있다. 카메라(42)는, 예를 들어, 기존의 이차원 컬러 이미지 센서를 갖는 포물면 거울 배치(parabolic mirror arrangement)를 사용하거나 복수의 광시야각 렌즈 및/또는 복수의 컬러 이미지 센서를 사용함으로써 306도 시야를 수평으로 및/또는 수직으로 캡처할 수 있다. 카메라(42) 또는 장치에 접속된 카메라는 본질적으로 복수의 카메라를 포함할 수 있다. 일 실시예에 따라, 장치(50)는 다른 디바이스에 대한 단거리 시야선 통신을 위한 적외선 포트를 더 포함할 수 있다. 일 실시예에 따라, 장치(50)는, 예를 들어, 블루투스 무선 접속 또는 USB/firewire 유선 솔루션과 같은 임의의 적합한 단거리 통신 솔루션을 더 포함할 수 있다.
장치(50)는 장치를 제어하는 컨트롤러(56) 또는 프로세서를 포함할 수 있다. 컨트롤러(56)는, 일 실시예에 따라, 이미지 및 오디오 데이터의 형태로 데이터를 저장할 수 있고/있거나 또한 컨트롤러(56) 상에서의 구현을 위한 명령어를 저장할 수 있는 메모리(58)에 접속될 수 있다. 컨트롤러(56)는 코딩 및 디코딩 또는 오디오 및/또는 비디오 데이터를 수행하거나 컨트롤러(56)에 의해 수행되는 인코딩 및/또는 디코딩을 보조하는데 적합한 비디오 코덱 회로(54)에 더 접속될 수 있다.
비디오 코덱 회로(54)는 입력 비디오를 저장/전송에 적합한 압축된 표현으로 변환하는 인코더를 포함할 수 있고, 디코더는 압축된 비디오 표현을 다시 볼 수 있는 형태로 압축 해제할 수 있다. 인코더는 비디오를 더욱 컴팩트한 형식(즉, 낮은 비트율)으로 표현하기 위해 원본 비디오 시퀀스 내의 일부 정보를 폐기할 수 있다. 도 4는 예시적인 비디오 인코더를 도시하며, 여기서 In: 인코딩될 이미지; P'n: 이미지 블록의 예측 표현; Dn: 예측 에러 신호; D'n: 재구성된 예측 에러 신호; I'n: 사전 재구성된 이미지; R'n: 최종 재구성된 이미지; T, T-1: 변환 및 역변환; Q, Q-1: 양자화 및 역양자화; E: 엔트로피 인코딩(Entropy encoding); RFM: 레퍼런스 프레임 메모리(Reference frame memory); Pinter: 인터 예측(Inter prediction); Pintra; 인트라 예측(Intra prediction); MS: 모드 선택(Mode selection); F: 필터링. 도 5는 비디오 디코더의 블록도를 도시하며, P'n: 이미지 블록의 예측 표현; D'n: 재구성된 예측 에러 신호; I'n: 사전 재구성된 이미지; R'n: 최종 재구성된 이미지; T-1: 역변환; Q-1: 역양자화; E-1: 엔트로피 디코딩; RFM: 레퍼런스 프레임 메모리; P: 예측(인터 또는 인트라); F: 필터링이다. 일부 실시예에서 장치(50)(도 1 및 도 2)는 인코더 또는 디코더만을 포함하고, 일부 다른 실시예에서 장치(50)는 양자 모두를 포함한다.
도 1 및 도 2를 다시 참조한다. 장치(50)는, 예를 들어, 네트워크에서 사용자 정보를 제공하고 사용자 인증 및 승인을 위한 인증 정보를 제공하기에 적합한 UICC 및 UICC 판독기와 같은 카드 판독기(48) 및 스마트 카드(46)를 더 포함할 수 있다.
장치(50)는 컨트롤러에 접속되고 셀룰러 통신 네트워크, 무선 통신 시스템 또는 무선 근거리 통신망과 통신하기 위한 무선 통신 신호를 생성하기에 적합한 무선 인터페이스 회로(52)를 포함할 수 있다. 장치(50)는 무선 인터페이스 회로(52)에 접속된 안테나(44)를 더 포함할 수 있으며, 안테나(44)는 무선 인터페이스 회로 (52)에서 생성된 무선 주파수 신호를 다른 장치(들)로 송신하고 다른 장치(들)로부터 무선 주파수 신호를 수신한다.
일 실시예에 따르면, 장치(50)는 처리를 위해 코덱(54) 또는 컨트롤러에 전달되는 개별 프레임을 기록 또는 검출할 수 있는 카메라(42)를 포함한다. 일 실시 예에 따르면, 장치는 전송 및/또는 저장 전에 처리를 위해 다른 디바이스로부터 비디오 이미지 데이터를 수신할 수 있다. 일 실시예에 따르면, 장치(50)는 무선으로 또는 유선 접속에 의한 처리를 위해 이미지를 수신할 수 있다.
도 3은 일 실시예에 따라 복수의 장치, 네트워크 및 네트워크 요소를 포함하는 시스템 구성을 도시한다. 시스템(10)은 하나 이상의 네트워크를 통해 통신할 수 있는 복수의 통신 디바이스를 포함한다. 시스템(10)은 (GSM, UMTS, CDMA 네트워크 등과 같은) 무선 셀룰러 전화 네트워크, IEEE 802.11x 표준 중 임의의 것에 의해 정의된 바와 같은 무선 근거리 통신망(WLAN), 블루투스 개인 통신망, 이더넷 근거리 통신망, 토큰 링 근거리 통신망, 광역 통신망 및 인터넷을 포함하는 유선 또는 무선 네트워크를 포함할 수 있지만, 이에 제한되지 않는다.
시스템(10)은 본 실시예의 개념에 적합한 유선 및 무선 통신 디바이스 또는 장치(50)를 포함할 수 있다. 예를 들어, 도 3에 도시된 시스템은 모바일 전화 네트워크(11) 및 인터넷(28)의 표현을 도시한다. 인터넷(28)에 대한 접속부는 장거리 무선 접속부, 단거리 무선 접속부 및 전화 회선, 케이블 회선, 전력선 및 이와 유사한 통신 경로를 포함하되 이에 제한되지 않는 다양한 유선 접속부를 포함하되 이에 제한되지 않는다.
시스템(10)에 도시된 예시적인 통신 디바이스는 전자 디바이스 또는 장치(50), PDA(personal digital assistant) 및 모바일 전화(14)의 조합, PDA(16), IMD(integrated messaging device)(18), 데스크톱 컴퓨터(20), 노트북 컴퓨터(22), 디지털 카메라(12)를 포함할 수 있지만, 이에 제한되지 않는다. 장치(50)는 움직이는 개인에 의해 휴대될 때 정지되거나 이동될 수 있다. 장치(50)는 또한 운송 모드(mode of transport)에 위치될 수 있다.
추가적인 장치의 일부는 호출(call) 및 메시지를 송수신하고 무선 접속부(25)를 통해 서비스 제공자 및 기지국(24)과 통신할 수 있다. 기지국(24)은 모바일 전화 네트워크(11)와 인터넷(28) 사이의 통신을 허용하는 네트워크 서버(26)에 접속될 수 있다. 시스템은 추가적인 통신 디바이스 및 다양한 유형의 통신 디바이스를 포함할 수 있다.
통신 디바이스는 CDMA(code division multiple access), GSM(global systems for mobile communications), UMTS(universal mobile telephone system), TDMA(time divisional multiple access), FDMA(frequency division multiple access), TCP-IP(transmission control protocol-internet protocol), SMS(short messaging service), MMS(multimedia messaging service), 이메일, IMS(instant messaging service), 블루투스, IEEE 802.11 및 임의의 유사한 무선 통신 기술을 포함하는 다양한 전송 기술을 사용하여 통신할 수 있으나, 이에 제한되지 않는다. 본 발명의 다양한 실시예를 구현하는 것과 관련된 통신 디바이스는 무선 적외선, 레이저, 케이블 접속부 또는 임의의 적절한 접속부를 포함하는 다양한 매체를 사용하여 통신할 수 있으나, 이에 제한되지 않는다.
전술한 바와 같이, 본 발명은 360도 파노라마 이미지 및 비디오에 관한 것이다. 이러한 360도 파노라마 콘텐츠는 이미징 디바이스(예컨대, 도 1의 카메라 또는 장치)의 캡처 위치 둘레의 수평적으로 전체 360도 시야를 포함한다. 수직 시야는 다양할 수 있으며, 예를 들어, 180도가 될 수 있다. 360도 수평 시야와 180도 수직 시야를 포함하는 파노라마 이미지는 정방형 도법(equirectangular projection)을 사용하여 이차원 이미지 평면에 맵핑된 구(sphere)를 표현한다. 이러한 경우, 수평 좌표와 수직 좌표는 각각 어떠한 변환 또는 스케일링(scaling)이 적용되지 않은 경도 및 위도와 동등한 것으로 간주될 수 있다. 일부의 경우에, 360도 수평 시야를 갖지만 180도 미만의 수직 시야를 갖는 파노라마 콘텐츠는 구의 양 극지역이 이차원 이미지 평면에 맵핑되지 않은 정방형 도법의 특수한 경우로 간주될 수 있다.
360도 파노라마 비디오 콘텐츠는 다양한 수단을 통해 획득될 수 있다. 예를 들어, 둘 이상의 카메라 센서의 화상이 단일한 360도 파노라마 이미지로 스티칭될 수 있다. 이를 구현하기 위한 전용 디바이스 및 카메라 조작 장치가 시장에 존재한다. 또 다른 비제한적인 예시로서, 360도 파노라마 비디오 콘텐츠는 광학 배치를 갖는 단일한 이미지 센서를 통해 획득될 수 있다.
관련 기술의 비디오 인코딩이 하기에서 설명된다.
H.264/AVC 표준은 ITU-T(Telecommunications Standardization Sector of International Telecommunication Union)의 비디오 코딩 전문가 그룹(VCEG: Video Coding Experts Group)의 공동 비디오 팀(JVT: Joint Video Team )과 국제 표준화기구(ISO: International Organization for Standardization)/국제 전기 기술 위원회(IEC: International Electrotechnical Commission)의 MPEG(Moving Picture Experts Group)에 의해 개발되었다. H.264/AVC 표준은 두 개의 모(parent) 표준화 기구에서 공개하며, ITU-T 권고 H.264 및 MPEG-4 Part 10 AVC(Advanced Video Coding)로도 알려진 ISO/IEC 국제 표준 14496-10이라고 지칭된다. H.264/AVC 표준에는 사양에 대한 새로운 확장 또는 기능을 통합하는 여러 버전이 존재한다. 이러한 확장에는 SVC(Scalable Video Coding) 및 MVC(Multiview Video Coding)가 포함된다.
고효율 비디오 코딩(H.265/HEVC, 일명 HEVC: High Efficiency Video Coding)의 버전 1은 VCEG와 MPEG의 JCT-VC(Joint Collaborative Team-Video Coding)가 개발하였다. 표준은 두 개의 모 표준화 기구에서 공개하였으며, MPEG-H Part 2 고효율 비디오 코딩(HEVC)이라고도 알려진 ITU-T 권고 H.265 및 ISO/IEC 국제 표준 23008-2로 지칭된다. H.265/HEVC의 버전 2에는 각각 SHVC, MV-HEVC, 및 REXT로 축약될 수 있는 스케일러블 확장, 멀티뷰 확장 및 고화질 영상 확장이 포함된다. H.265/HEVC의 버전 2는 ITU-T 권고 H.265(10/2014) 및 ISO/IEC 23008-2의 제 2 판으로 공개되었다. 현재 각각 3D-HEVC 및 SCC로 축약될 수 있는 삼차원 및 스크린 콘텐츠 코딩 확장을 포함하는 H.265/HEVC에 대한 추가 확장을 개발하기 위한 표준화 프로젝트가 진행 중이다.
SHVC, MV-HEVC 및 3D-HEVC는 HEVC 표준의 버전 2의 부록 F에 명시된 공통 기본 사양을 사용한다. 이러한 공통 기본은, 예를 들어, 인터-레이어 의존성 뿐만 아니라 다중 레이어 비트스트림에 대한 인터-레이어 레퍼런스 화상 및 화상 순서 카운트 도출(derivation)을 포함하는 레퍼런스 화상 리스트 구성과 같은 디코딩 프로세스와 같은 비트스트림의 레이어의 일부 특성을 특정하는 상위 레벨 신택스 및 시맨틱을 포함한다. 부록 F는 HEVC의 잠재적인 후속 다중 레이어 확장에서 사용될 수 있다. 비록 비디오 인코더, 비디오 디코더, 인코딩 방법, 디코딩 방법, 비트스트림 구조 및/또는 실시예가 SHVC 및/또는 MV-HEVC와 같은 특정 확장을 참조하여 하기에서 설명될 수 있지만, 일반적으로 HEVC의 임의의 다중 레이어 확장에 적용될 수 있으며, 보다 일반적으로 임의의 다중 레이어 비디오 코딩 스킴에도 적용될 수 있음을 이해할 것이다.
H.264/AVC 및 HEVC를 비롯한 많은 하이브리드 비디오 코덱은 비디오 정보를 두 단계로 인코딩한다. 첫 번째 단계에서는 예측 코딩이, 예를 들어, 소위 샘플 예측 및/또는 소위 신택스 예측에 적용된다.
샘플 예측에서, 특정 화상 영역 또는 "블록" 내의 픽셀 또는 샘플 값이 예측된다. 이러한 픽셀 또는 샘플 값은, 예를 들어, 하나 이상의 하기의 방식을 사용하여 예측될 수 있다:
- 모션 보상 메커니즘(Motion compensation mechanisms), 코딩될 블록과 근접하게 대응하는 이전에 인코딩된 비디오 프레임 중 하나의 영역을 발견하고 표시하는 것을 포함함 (시간 예측, 또는 모션 보상 시간 예측 또는 모션 보상 예측 또는 MCP 또는 인터 예측이라고도 지칭될 수 있음).
- 인트라 예측(Intra prediction), 공간 영역 관계를 발견하고 표시하는 것을 포함하는 공간 메커니즘에 의해 픽셀 또는 샘플 값이 예측될 수 있음. 더욱 일반적으로, 인트라 예측은 공간 또는 변환 도메인에서 수행될 수 있어서, 즉, 샘플 값 또는 변환 계수가 예측될 수 있다. 인트라 예측은 일반적으로 인터 예측이 적용되지 않는 인트라 코딩에서 이용된다
H.264/AVC 및 HEVC를 포함하는 많은 비디오 코덱에서, 모션 정보는 각각의 모션 보상 이미지 블록과 연관된 모션 벡터에 의해 표시된다. 이러한 모션 벡터의 각각은 (인코더에서) 코딩되거나 (디코더에서) 디코딩될 화상 내의 이미지 블록 및 이전에 코딩되거나 디코딩된 이미지(또는 화상) 중 하나의 예측 소스 블록의 변위를 나타낸다. H.264/AVC 및 HEVC는 다른 많은 비디오 압축 표준과 마찬가지로 화상을 직사각형의 메시(mesh)로 분할하고, 각각의 직사각형에 대해 레퍼런스 화상 중 하나의 유사한 블록은 인터 예측을 위해 표시된다. 예측 블록의 위치는 코딩될 블록에 대한 예측 블록의 위치를 나타내는 모션 벡터로서 코딩된다.
코딩 절차의 한 결과는 모션 벡터 및 양자화된 변환 계수와 같은 코딩 파라미터 세트이다. 많은 파라미터가 공간적 또는 시간적으로 이웃하는 파라미터로부터 먼저 예측된다면 더욱 효율적으로 엔트로피 코딩될 수 있다. 예를 들어, 모션 벡터는 공간적으로 인접한 모션 벡터로부터 예측될 수 있고, 모션 벡터 예측자(predictor)에 대한 차이만이 코딩될 수 있다. 코딩 파라미터의 예측과 인트라 예측은 집합적으로 화상 내 예측으로 지칭될 수 있다.
파라미터 예측이라고도 지칭되는 신택스 예측에서, 신택스 요소 및/또는 시맨틱 요소 값 및/또는 신택스 요소로부터 유도된 변수는 이전에 코딩된 신택스 요소 및/또는 이전에 유도된 변수로부터 예측된다. 신택스 예측의 비제한적인 예시는 하기와 같다:
- 모션 벡터 예측에서, 예컨대, 인터 및/또는 인터-뷰 예측을 위한 모션 벡터는 블록 특정 예측 모션 벡터에 대해 차동적으로(differentially) 코딩될 수 있다. 많은 비디오 코덱에서, 예측 모션 벡터는 사전결정된 방법, 예를 들어, 인접한 블록의 인코딩된 또는 디코딩된 모션 벡터의 중간값(median)을 계산함으로써 생성된다. 때때로 AMVP(advanced motion vector prediction)로 지칭되는 모션 벡터 예측을 생성하는 또 다른 방법은 시간 레퍼런스 화상 내의 인접한 블록 및 코로케이팅된(co-located) 블록으로부터 후보 예측의 리스트를 생성하고, 선택된 후보를 모션 벡터 예측자로서 시그널링하는 것이다. 모션 벡터 값을 예측하는 것 외에, 이전에 코딩된/디코딩된 화상의 레퍼런스 인덱스가 예측될 수 있다. 레퍼런스 인덱스는 시간 레퍼런스 화상 내의 인접한 블록 및/또는 코로케이팅된 블록으로부터 예측될 수 있다. 모션 벡터의 차동 코딩은 슬라이스 경계(slice boundaries)에 걸쳐 비활성화될 수 있다.
- 예를 들어, CTU에서 CU로, 그리고 PU 로의 블록 파티셔닝이 예측될 수 있다.
- 필터 파라미터 예측에서, 예를 들어, 샘플 적응 오프셋에 대한 필터링 파라미터가 예측될 수 있다.
이전에 코딩된 이미지로부터의 이미지 정보를 이용하는 예측 방법은 또한 시간 예측 및 모션 보상으로도 지칭될 수 있는 소위 인터 예측 방법으로서 또한 지칭될 수 있다. 인터 예측은 어떤 때는 모션 보상 시간 예측만을 포함하는 것으로 간주될 수 있지만, 또 어떤 때는 샘플의 재구성/디코딩된 블록이 예측 소스로서 사용되므로, 예를 들어, 종래의 인터-뷰 예측을 포함하는 모든 유형의 예측을 포함하는 것으로 간주될 수 있다. 인터 예측은 샘플 예측만을 포함하는 것으로 간주될 수 있지만, 대안적으로 샘플 및 신택스 예측을 모두 포함하는 것으로 간주될 수도 있다. 신택스 및 샘플 예측의 결과로, 샘플의 픽셀의 예측 블록이 획득될 수 있다. 동일한 이미지를 갖는 이미지 정보를 사용하는 예측 방법은 인트라 예측 방법으로 지칭될 수도 있다.
두 번째 단계는 픽셀 또는 샘플의 예측 블록과 픽셀 또는 샘플의 원본 블록 사이의 에러를 코딩하는 것이다. 이는 특정된 변환을 사용하여 픽셀 또는 샘플 값의 차이를 변환함으로써 달성될 수 있다. 이러한 변환은, 예컨대, DCT(Discrete Cosine Transform) 또는 그 변형예일 수 있다. 차이를 변환한 후, 변환된 차이는 양자화되고 엔트로피 코딩된다. 일부 코딩 스킴에서, 인코더는, 예를 들어, 변환 유닛 단위로, 변환을 건너뛰고 샘플 도메인에서 예측 에러 블록을 코딩하도록 표시 할 수 있다.
양자화 프로세스의 충실도를 변화시킴으로써, 인코더는 픽셀 또는 샘플 표현의 정확도(즉, 화상의 시각적 품질)와 결과적인 인코딩된 비디오 표현의 크기(즉 파일 크기 또는 전송 비트율) 간의 균형을 제어할 수 있다.
디코더는 (인코더가 생성하고 이미지의 압축 표현에 포함된 모션 또는 공간 정보를 사용하는) 픽셀 또는 샘플 블록의 예측 표현을 형성하기 위해 인코더가 사용하는 것과 유사한 예측 메커니즘과 예측 에러 디코딩(공간 도메인에서 양자화된 예측 에러 신호를 복구하기 위한 예측 에러 코딩의 역 동작)을 적용함으로써 출력 비디오를 재구성한다.
픽셀 또는 샘플 예측 및 에러 디코딩 프로세스를 적용한 후에, 디코더는 예측 및 예측 에러 신호(픽셀 또는 샘플 값)를 결합하여 출력 비디오 프레임을 형성한다.
디코더(및 인코더)는 디스플레이를 위해 출력 비디오를 전달하고/전달하거나 비디오 시퀀스 내의 앞으로의 화상에 대한 예측 레퍼런스로서 저장하기 전에, 출력 비디오의 품질을 향상시키기 위해 추가적인 필터링 프로세스를 적용할 수도 있다. 필터링은, 예를 들어, 디블록킹(deblocking), 샘플 적응 오프셋(SAO: sample adaptive offset) 및/또는 적응 루프 필터링(ALF: adaptive loop filtering) 중 하나 이상을 포함할 수 있다.
블록 기반 코딩은 재구성되거나 디코딩된 화상의 블록 경계에서 가시적인 불연속성을 생성할 수 있다. (예컨대, 코딩 표준에) 사전결정되고/사전결정되거나 시그널링되는 하기와 같은 조건의 세트가 충족되는 경우, 그리드(예를 들어, 4×4 루마 샘플의 그리드)의 경계에 대한 필터링이 적용될 인코더 및/또는 디코더에 의해 결정된다:
-경계가, 예컨대, HEVC에 대해 특정된 것과 같은 예측 유닛 경계 또는 변환 유닛 경계와 같은 블록 경계이다;
- 경계 강도(boundary strength)(하기 참조)가 유의미하거나 관계있음, 예컨대, 0보다 크다;
- 경계 양쪽의 샘플 값의 변화가 특정된 임계값 미만이고, 임계값은, 예컨대, 변환 코딩에 사용된 양자화 파라미터에 따라 결정된다.
디블록킹 루프 필터링에 사용되는 경계 강도는 다음 중 하나 이상 또는 유사한 것과 같은 여러 조건 및 규칙에 기초하여 결정될 수 있다:
- 경계에 인접한 적어도 하나의 블록이 인트라 코딩되면, 경계 강도는 2와 같이 유의미한 것으로 설정될 수 있다;
- 경계에 인접한 적어도 하나의 블록이 논-제로(non-zero) 코딩된 잔류 계수를 갖고 경계가 TU 경계이면, 경계 강도는 1과 같이 관계있는 것으로 설정될 수 있다;
- 경계에 인접하는 두 개의 블록의 모션 벡터 사이의 절대값의 차이가 정수 루마 샘플 단위로 1보다 크거나 같으면, 경계 강도는 1과 같이 관계있는 것으로 설정될 수 있다;
- 상이한 레퍼런스 화상이 경계에 인접한 두 개의 블록에서 모션 벡터를 위해 사용되면, 경계 강도는 1과 같이 관계있는 것으로 설정될 수 있다;
- 경계에 인접한 두 개의 블록에 복수의 모션 백터가 존재하면, 경계 강도는 1과 같이 관계있는 것으로 설정될 수 있다;
- 이외의 경우, 경계 강도는 0과 같이 무의미한 것(또는 관계없는 것)으로 설정될 수 있다.
디블록킹 루프 필터는 복수의 필터링 모드 또는 강도를 포함할 수 있으며, 복수의 필터링 모드 또는 강도는 양자화 파라미터 값 및/또는 비트스트림 내의 인코더에 의해 포함된 시그널링과 같은 경계에 인접한 블록의 특징에 기초하여 적응적으로 선택될 수 있다. 예를 들어, 디블록킹 루프 필터는 정상 필터링 모드와 강한 필터링 모드를 포함할 수 있으며, 이는 필터 탭(filter taps)의 수(즉, 경계의 양쪽에서 필터링되는 샘플의 수) 및/또는 필터 탭의 값의 측면에서 상이할 수 있다. 예를 들어, 경계의 양쪽을 따라 2 개의 샘플을 필터링하는 것은 클리핑 동작(clipping operation)의 잠재적 영향을 생략할 경우, (3 7 9 -3)/16의 임펄스 응답을 갖는 필터로 수행될 수 있다.
SAO의 예시가 HEVC를 참조하여 다음에 주어지지만, SAO는 다른 코딩 스킴에도 또한 유사하게 적용될 수 있다. SAO에서, 화상은 별개의 SAO 결정이 각각의 구역에 대해 이루어지는 구역들로 분할될 수 있다. HEVC에서, SAO 파라미터를 적응시키기 위한 기본 유닛은 CTU이다(따라서, SAO 구역은 대응하는 CTU에 의해 커버되는 블록이다).
SAO 알고리즘에서, CTU 내의 샘플은 규칙의 세트에 따라 분류되고, 각각의 분류된 샘플 세트는 오프셋 값을 추가함으로써 증진된다. 오프셋 값은 비트스트림에서 시그널링된다. 1) 밴드 오프셋과 2) 에지 오프셋의 두 가지 유형의 오프셋이 있다. CTU의 경우, SAO가 사용되지 않거나 밴드 오프셋 또는 에지 오프셋이 사용된다. SAO가 사용되지 않거나 밴드 또는 에지 오프셋이 사용되는지에 대한 선택은, 예컨대, 레이트 왜곡 최적화(RDO: rate distortion optimization)를 갖는 인코더에 의해 결정되고 디코더로 시그널링될 수 있다.
적응 루프 필터(ALF)는 재구성된 샘플의 품질을 증진시키는 다른 방법이다. 루프 내의 샘플 값을 필터링함으로써 달성될 수 있다. 일부 실시예에서, 인코더는, 예컨대, RDO에 기초하여 화상의 어느 구역이 필터링되어야 하는지와 필터 계수를 결정하고, 이러한 정보는 디코더로 시그널링된다.
인터 예측 프로세스는 다음 요인 중 하나 이상을 사용하여 특성화될 수 있다:
- 모션 벡터 표현의 정확도. 예를 들어, 모션 벡터는 4 분의 1 픽셀 정확도일 수 있고, 분수 픽셀 위치(fractional-pixel positions)의 샘플 값은 유한 임펄스 응답(FIR: finite impulse response) 필터를 사용하여 획득될 수 있다.
- 인터 예측에 대한 블록 파티셔닝. H.264/AVC 및 HEVC를 포함하는 많은 코딩 표준은 인코더에서 모션 보상 예측을 위해 모션 벡터가 적용되는 블록의 크기 및 모양을 선택하고 비트스트림에서 선택된 크기 및 모양을 표시하여 디코더가 인코더에서 수행된 모션 보상 예측을 재현할 수 있게 한다.
- 인터 예측을 위한 레퍼런스 화상의 수. 인터 예측의 소스는 이전에 디코딩된 화상이다. H.264/AVC 및 HEVC를 포함하여 많은 코딩 표준이 인터 예측에 대해 복수의 레퍼런스 화상을 저장하고 블록 단위로 사용되는 레퍼런스 화상을 선택할 수 있게 한다. 예를 들어, 레퍼런스 화상은 H.264/AVC에서 매크로블록(macroblock) 또는 매크로블록 파티션 단위로 선택될 수 있고, HEVC에서 PU 또는 CU 단위로 선택될 수 있다. H.264/AVC 및 HEVC와 같은 많은 코딩 표준은 디코더가 하나 이상의 레퍼런스 화상 리스트를 생성하게 하는 신택스 구조(syntax structures)를 비트스트림에 포함한다. 레퍼런스 화상 리스트에 대한 레퍼런스 화상 인덱스는 복수의 레퍼런스 화상 중 어느 것이 특정 블록에 대한 인터 예측에 사용되는지를 표시하도록 사용될 수 있다. 레퍼런스 화상 인덱스는 선택된 인터 코딩 모드에서 인코더에 의해 비트스트림으로 코딩될 수 있거나, 다른 인터 코딩 모드에서, 예를 들어, 이웃하는 블록을 사용하여 (인코더 및 디코더에 의해) 유도될 수 있다.
- 모션 벡터 예측. 비트스트림에 모션 벡터를 효과적으로 표현하기 위해, 모션 벡터는 블록-특정 예측 모션 벡터에 대해 차동적으로 코딩될 수 있다. 많은 비디오 코덱에서, 예측 모션 벡터는 사전결정된 방식으로, 예를 들어, 인접한 블록의 인코딩된 또는 디코딩된 모션 벡터의 중간값을 계산함으로써 생성된다. 때때로 AMVP(advanced motion vector prediction)로 지칭되는 모션 벡터 예측을 생성하는 다른 방법은 시간 레퍼런스 화상의 인접한 블록 및/또는 코로케이팅된 블록으로부터 후보 예측의 리스트를 생성하고 선택된 후보를 모션 벡터 예측자로 시그널링하는 것이다. 모션 벡터 값을 예측하는 것 외에, 이전에 코딩된/디코딩된 화상의 레퍼런스 인덱스가 예측될 수 있다. 레퍼런스 인덱스는, 예를 들어, 시간 레퍼런스 화상 내의 인접한 블록 및/또는 코로케이팅된 블록으로부터 예측될 수 있다. 모션 벡터의 차동 코딩은 슬라이스 경계에 걸쳐 비활성화될 수 있다.
- 다중 가설 모션 보상 예측. H.264/AVC 및 HEVC은 P 슬라이스(본 명세서에서 단일 예측 슬라이스(uni-predictive slices)라고 지칭됨)에서 하나의 예측 블록 또는 B 슬라이스라고도 지칭되는 바이 예측 슬라이스에 대해 두 개의 보상 예측 블록의 선형 조합을 사용할 수 있다. B 슬라이스의 개별 블록은 바이 예측, 단일 예측 또는 인트라 예측될 수 있고, P 슬라이스의 개별 블록은 단일 예측 또는 인트라 예측될 수 있다. 바이 예측 화상에 대한 레퍼런스 화상은 출력 순서의 후속하는 화상 및 이전의 화상에 제한되지 않을 수 있으며, 임의의 레퍼런스 화상이 사용될 수 있다. H.264/AVC와 HEVC와 같은 많은 코딩 표준에서, 레퍼런스 화상 리스트 0으로 지칭되는 하나의 레퍼런스 화상 리스트가 P 슬라이스에 대해 구성되며, 리스트 0 및 리스트 1인 두 개의 레퍼런스 화상 리스트가 B 슬라이스에 대해 구성된다. B 슬라이스 대해서, 순방향의 예측이 레퍼런스 화상 리스트 0의 레퍼런스 화상으로부터의 예측을 레퍼런싱할 수 있고, 역방향의 예측이 레퍼런스 화상 리스트 1의 레퍼런스 화상으로부터의 예측을 레퍼런싱할 수 있는 경우, 예측을 위한 레퍼런스 화상이 서로에 대해 또는 현재 화상에 대해 임의의 디코딩 또는 출력 순서를 가지지 않을 수 있다.
- 가중 예측. 많은 코딩 표준이 인터 (P) 화상의 예측 블록에 대해 1의 예측 가중치를 사용하며, B 화상의 각 예측 블록에 대해 (평균의 결과로) 0.5의 예측 가중치를 사용한다. H.264/AVC는 P 및 B 슬라이스 모두에 대해 가중 예측을 허용한다. 묵시적 가중 예측에서 가중치는 POC(picture order counts)에 비례하며 명시적 가중 예측에서는 예측 가중치가 명시적으로 표시된다.
인터 예측 프로세스는 적어도 하기의 이유 때문에 화상 경계 밖의 샘플 위치를 레퍼런싱할 수 있다:
- 모션 벡터가 화상 경계 밖의 예측 블록을 포인팅할 수 있다;
- 모션 벡터가 정수가 아닌 샘플 위치를 포인팅할 수 있어서, 샘플 값이 화상 경계 밖의 위치로부터 입력 샘플을 취하는 필터링을 사용하여 보간된다.
모션 벡터 또는 모션 정보의 피스(piece)가 수평 모션 벡터 컴포넌트 및 수직 모션 벡터 컴포넌트를 포함하는 것으로 간주될 수 있다. 때때로, 모션 벡터 또는 모션 정보의 피스는 레퍼런스 화상이 사용될 수 있는 정보 또는 식별자를 포함하는 것으로 간주될 수도 있다.
화상과 연관된 모션 필드는 화상의 모든 코딩된 블록에 대해 생성된 모션 정보의 세트를 포함하는 것으로 간주될 수 있다. 모션 필드는, 예를 들어, 블록의 좌표에 의해 액세스가능할 수 있다. 모션 필드는, 예를 들어, HEVC의 TMVP 또는 현재 (디)코딩된 화상 이외의 예측을 위한 소스 또는 레퍼런스가 사용되는 다른 모션 예측 메커니즘에서 사용될 수 있다.
상이한 공간 입도(granularity) 또는 유닛이 모션 필드를 표현 및/또는 저장하기 위해 적용될 수 있다. 예를 들어, 공간 유닛의 정규 그리드(regular grid)가 사용될 수 있다. 예를 들어, 화상은 (오른쪽 에지와 아래 에지와 같은 화상의 에지에서는 예외를 가질 수 있는) 특정 크기의 직사각형 블록으로 분할될 수 있다. 예를 들어, 공간 유닛의 크기는 루마 샘플 유닛의 4×4 블록과 같이 비트스트림에서 인코더에 의해 뚜렷한(distinct) 모션이 표시될 수 있는 최소 크기와 같을 수 있다. 예를 들어, 공간 유닛이 루마 샘플 유닛의 16×16 블록과 같이 크기가 뚜렷한 모션을 표시할 수 있는 최소 크기보다 더 클 수 있는 사전결정된 또는 표시된 크기와 같을 수 있는 경우, 소위 압축 모션 필드가 사용될 수 있다. 예를 들어, HEVC 인코더 및/또는 디코더는 (화상 간의 임의의 예측에 모션 필드를 사용하기 전에) MDSR(motion data storage reduction) 또는 모션 필드 압축이 각각의 디코딩된 모션 필드에 대해 수행되는 방식으로 구현될 수 있다. HEVC 구현에서, MDSR은 압축 모션 필드에서 16×16 블록의 왼쪽 상단 샘플에 적용할 수 있는 모션을 유지함으로써 루마 샘플 유닛의 16×16 블록으로 모션 데이터의 입도를 줄일 수 있다. 인코더는, 예를 들어, 비디오 파라미터 세트 또는 시퀀스 파라미터와 같은 시퀀스-레벨 신택스 구조에서 하나 이상의 신택스 요소 및/또는 신택스 요소 값으로서 압축 모션 필드의 공간 유닛과 관련된 표시(들)를 인코딩할 수 있다. 일부 (디)코딩 방법 및/또는 디바이스에서, 모션 필드는 모션 예측의 블록 파티셔닝에 따라 (예를 들어, HEVC 표준의 예측 유닛에 따라) 표현 및/또는 저장될 수 있다. 일부 (디)코딩 방법 및/또는 디바이스에서, 정규 그리드 및 블록 파티셔닝의 조합이 적용되어 사전결정된 또는 표시된 공간 유닛 크기보다 큰 파티션과 연관된 모션이 이러한 파티션과 연관되어 표현 및/또는 저장될 수 있는 반면, 사전결정되거나 표시된 공간 유닛 크기 또는 그리드보다 작거나 정렬되지 않은 파티션과 연관된 모션은 사전결정되거나 표시된 유닛에 대해 표현 및/또는 저장된다.
비디오 인코더는, 예컨대, 원하는 매크로블록 모드 및 연관된 모션 벡터와 같은 레이트-왜곡(RD: rate-distortion) 최적 코딩 모드를 찾기 위해 라그랑지안 비용 함수(Lagrangian cost functions)를 이용할 수 있다. 이러한 종류의 비용 함수는 가중 인자 λ를 사용하여 손실(lossy) 코딩 방법으로 인한 (정확한 또는 추정된) 이미지 왜곡을 이미지 영역의 픽셀 값을 표현하는데 필요한 정보의 (정확한 또는 추정된) 양에 결부시킨다(tie together):
Figure pat00001
여기서 C는 최소화될 라그랑지안 비용이고, D는 고려된 모드 및 모션 벡터를 갖는 이미지 왜곡(예컨대, 평균 제곱 오차)이고, R은 디코더에서 이미지 블록을 재구성하기 위해 필요한 데이터를 표현하는데 필요한 (후보 모션 벡터를 표현하는 데이터 양을 포함하는) 비트 수이다.
H.264/AVC 및 HEVC의 일부 핵심 정의, 비트스트림 및 코딩 구조 및 개념이 실시예가 구현될 수 있는 비디오 인코더, 디코더, 인코딩 방법, 디코딩 방법 및 비트스트림 구조의 예시로서 본 섹션에서 설명된다. H.264/AVC의 핵심 정의, 비트스트림 및 코딩 구조 및 개념 중 일부는 HEVC에서와 동일하므로, 이들은 아래에서 함께 설명된다. 본 발명의 양태는 H.264/AVC 또는 HEVC에 제한되지 않으며, 발명 부분적으로 또는 완전히 실현될 수 있는 하나의 가능한 기초에 대한 설명이 제공된다.
많은 초기의 비디오 코딩 표준과 유사하게, 에러 없는 비트스트림을 위한 비트스트림 신택스 및 시맨틱과 디코딩 프로세스가 H.264/AVC 및 HEVC에 특정된다. 인코딩 프로세스는 특정되지 않지만 인코더는 합치하는(conforming) 비트스트림을 생성해야 한다. 비트스트림과 디코더의 합치는 HRD(Hypothetical Reference Decoder)로 검증할 수 있다. 표준에는 전송 에러 및 손실에 대처하는데 도움이되는 코딩 툴이 포함되어 있지만 인코딩에 툴을 사용하는 것은 선택 사항이며 에러가 있는 비트스트림에 대해서는 디코딩 프로세스가 특정되지 않았다.
기존의 표준에 대한 설명뿐 아니라 예시적인 실시예에 대한 설명에서, 신택스 요소는 비트스트림에 표현된 데이터 요소로서 정의될 수 있다. 신택스 구조는 비트스트림 내에 특정 순서로 함께 존재하는 0 개 이상의 신택스 요소로서 정의될 수 있다. 기존 표준에 대한 설명 및 예시적인 실시예에 대한 설명에서, "외부 수단에 의해" 또는 "외부 수단을 통해"라는 문구가 사용될 수 있다. 예를 들어, 신택스 구조 또는 디코딩 프로세스에서 사용되는 변수 값과 같은 엔티티가 "외부 수단에 의해" 디코딩 프로세스에 제공될 수 있다. "외부 수단에 의해"라는 문구는 엔티티가 인코더에 의해 생성된 비트스트림에 포함되지 않고 오히려, 예를 들어, 제어 프로토콜을 사용하여 비트스트림으로부터 외부로 전달됨을 나타낼 수 있다. 대안적으로 또는 추가적으로, 엔티티가 인코더에 의해 생성되지 않지만, 예를 들어, 플레이어 또는 디코딩 제어 로직 또는 디코더를 사용하는 유사 장치에서 생성될 수 있다는 것을 의미한다. 디코더는 가변 값과 같은 외부 수단을 입력하기 위한 인터페이스를 가질 수 있다.
H.264/AVC 또는 HEVC 인코더로의 입력 및 H.264/AVC 또는 HEVC 디코더의 출력을 위한 기본 유닛은 각각 화상이다. 인코더로의 입력으로서의 화상은 소스 화상으로서 지칭될 수 있고, 디코더에 의해 디코딩되는 화상은 디코딩된 화상으로 지칭될 수 있다.
소스 화상 및 디코딩된 화상은 각각 하기와 같은 샘플 어레이 중 하나 이상의 샘플 어레이를 포함한다:
- 루마(Y) 단독 (단색).
- 루마 및 두 개의 크로마(chroma) (YCbCr 또는 YCgCo).
- 초록, 파랑 및 빨강 (GBR, RGB로도 알려짐).
- 다른 특정되지 않은 단색 또는 삼자극값(tri-stimulus color) 샘플링(예를 들어, YZX, XYZ라고도 알려짐)을 표현하는 어레이.
하기에서 이러한 어레이는 루마(또는 L 또는 Y) 및 크로마라고도 지칭되며, 두 개의 크로마 어레이는 사용되는 실제 색상 표현 방법에 관계없이 Cb 및 Cr이라고 지칭된다. 사용되는 실제 색상 표현 방법은, 예를 들어, H.264/AVC 및/또는 HEVC의 VUI(Video Usability Information) 신택스를 사용하는 코딩된 비트스트림에 표시될 수 있다. 컴포넌트는 세 개의 샘플 어레이(루마 및 두 개의 크로마) 중 하나로부터의 어레이 또는 단일 샘플 또는 어레이 또는 단색 포맷의 화상을 구성하는 어레이 또는 단일 샘플로서 정의될 수 있다.
H.264/AVC와 HEVC에서, 화상은 하나의 프레임 또는 필드일 수 있다. 프레임은 루마 샘플과 가능하다면 대응하는 크로마 샘플의 행렬을 포함한다. 소스 신호가 교차되는(interlaced) 경우에, 필드는 프레임의 교번하는 샘플 행(alternate sample rows)의 세트이다. 크로마 샘플 어레이가 없을 수도 있거나(따라서 단색 샘플링이 사용될 수 있음), 루마 샘플 어레이와 비교되는 경우에 크로마 샘플 어레이가 서브샘플링될(subsampled) 수 있다. 크로마 포맷은 다음과 같이 요약될 수 있다:
- 단색 샘플링에서, 명목상으로(nominally) 루마 어레이로 간주될 수 있는 오직 하나의 샘플 어레이가 존재한다.
- 4:2:0 샘플링에서, 두 개의 크로마 어레이의 각각은 루마 어레이의 절반의 높이와 절반의 폭을 갖는다.
- 4:2:2 샘플링에서, 두 개의 크로마 어레이의 각각은 루마 어레이와 동일한 높이와 동일한 폭을 갖는다.
- 4:4:4 샘플링에서, 별도의 색상 평면이 사용되지 않는 경우, 두 개의 크로마 어레이의 각각은 루마 어레이와 동일한 높이와 동일한 폭을 갖는다.
H.264/AVC 및 HEVC에서, 샘플 어레이를 별도의 색상 평면으로서 비트스트림으로 코딩하고, 비트스트림의 코딩된 색상 평면을 개별적으로 각각 디코딩하는 것이 가능하다. 별도의 색상 평면이 사용되는 경우, 각각의 색상 평면이 단색 샘플링을 갖는 화상으로서 (인코더 및/또는 디코더에 의해) 별도로 처리된다.
파티셔닝은 세트를 서브세트로 분할한 것으로서 정의될 수 있어서, 세트의 각 요소는 정확하게 서브세트 중 하나가 된다.
HEVC 인코딩 및/또는 디코딩의 동작을 설명하는 경우에 하기의 용어가 사용될 수 있다. 코딩 블록은 코딩 트리 블록을 코딩 블록으로 분할하는 것이 파티셔닝이 되도록 하는 어떤 값 N에 대한 N×N 샘플 블록으로서 정의될 수 있다. 코딩 트리 블록(CTB)은 컴포넌트를 코딩 트리 블록으로 분할하는 것이 파티셔닝이 되도록 하는 어떤 값 N에 대한 N×N 샘플 블록으로서 정의될 수 있다. 코딩 트리 유닛(CTU)은 루마 샘플의 코딩 트리 블록, 3 개의 샘플 어레이를 갖는 화상의 크로마 샘플의 2 개의 대응하는 코딩 트리 블록, 또는 단색 화상 또는 세 개의 별도의 색상 평면과 샘플을 코딩하는데 사용된 신택스 구조를 사용하여 코딩된 화상의 샘플의 코딩 트리 블록으로서 정의될 수 있다. 코딩 유닛(CU)은 루마 샘플의 코딩 블록, 3 개의 샘플 어레이를 갖는 화상의 크로마 샘플의 2 개의 대응하는 코딩 블록, 또는 단색 화상 또는 세 개의 별도의 색상 평면과 샘플을 코딩하는데 사용된 신택스 구조를 사용하여 코딩된 화상의 샘플의 코딩 블록으로서 정의될 수 있다.
HEVC(High Efficiency Video Coding) 코덱과 같은 일부 비디오 코덱에서 비디오 화상은 화상의 영역을 커버하는 코딩 유닛(CU)으로 분할된다. CU는 CU 내의 샘플에 대한 예측 프로세스를 정의하는 하나 이상의 예측 유닛(PU)과 CU 내의 샘플에 대한 예측 에러 코딩 프로세스를 정의하는 하나 이상의 변환 유닛(TU)으로 구성된다. 통상적으로, CU는 가능한 CU 크기의 사전결정된 세트로부터 선택된 크기를 갖는 샘플의 사각형 블록(square block)으로 구성된다. 최대 허용 크기를 갖는 CU는 LCU(largest coding unit) 또는 CTU(coding tree unit)로 명명될 수 있고, 비디오 화상은 겹치지 않는 LCU로 분할된다. LCU는, 예컨대, LCU를 재귀적으로(recursively) 분할함으로써 더 작은 CU와 결과 CU의 조합으로 더 분할될 수 있다. 결과 CU의 각각은 전형적으로 적어도 하나의 PU 및 연관된 적어도 하나의 TU를 갖는다. 각 PU 및 TU는 예측 및 예측 에러 코딩 프로세스의 입도를 각각 증가시키기 위해 더 작은 PU 및 TU로 추가로 분할될 수 있다. 각 PU는 PU 내의 픽셀에 대해 어떤 종류의 예측이 적용될지를 정의하는 연관된 예측 정보를 갖는다(예컨대, 인터 예측된 PU에 대한 모션 벡터와 인트라 예측된 PU에 대한 인트라 예측 방향성 정보).
각각의 TU는 TU 내의 샘플들에 대한 예측 에러 디코딩 프로세스를 설명하는 정보와 연관될 수 있다(예를 들어, DCT 계수 정보를 포함함). 통상적으로 CU 레벨에서 예측 에러 코딩이 각 CU에 대해 적용되는지를 시그널링한다. CU와 연관된 예측 에러 잔차(prediction error residual)가 없는 경우, CU에 대한 TU가 없다고 간주될 수 있다. CU로의 이미지의 분할 및 PU와 TU로의 CU의 분할은 전형적으로 비트스트림에서 시그널링되어 디코더가 이러한 유닛의 의도된 구조를 재생산하는 것을 허용한다.
HEVC에서, 화상은 직사각형이며 정수의 LCU를 포함하는 타일로 파티셔닝될 수 있다. HEVC에서 타일로의 파티셔닝은 타일의 높이와 폭이 최대 하나의 LCU만큼 서로 상이한 규칙적인 그리드를 형성한다. HEVC에서, 슬라이스는 하나의 독립 슬라이스 세그먼트 및 동일한 액세스 유닛 내의 다음 독립 슬라이스 세그먼트(존재하는 경우)에 선행하는 모든 후속 종속 슬라이스 세그먼트(존재하는 경우)에 포함된 정수의 코딩 트리 유닛으로 정의된다. HEVC에서, 슬라이스 세그먼트는 타일 스캔에서 순차적으로 정렬되고 단일 NAL 유닛에 포함되는 정수의 코딩 트리 유닛으로 정의된다. 각 화상을 슬라이스 세그먼트로 분할하는 것이 파티셔닝이다. HEVC에서, 독립 슬라이스 세그먼트는 슬라이스 세그먼트 헤더의 신택스 요소의 값이 선행 슬라이스 세그먼트의 값으로부터 추론되지 않는 슬라이스 세그먼트로 정의되고, 종속 슬라이스 세그먼트는 슬라이스 세그먼트 헤더의 일부 신택스 요소의 값이 디코딩 순서에서 선행 독립 슬라이스 세그먼트 값으로부터 추정되는 슬라이스 세그먼트로서 정의된다. HEVC에서, 슬라이스 헤더는 현재 슬라이스 세그먼트인 독립 슬라이스 세그먼트 또는 현재 종속 슬라이스 세그먼트에 선행하는 독립 슬라이스 세그먼트의 슬라이스 세그먼트 헤더로서 정의되고, 슬라이스 세그먼트 헤더는 슬라이스 세그먼트에 표현된 제 1 또는 모든 코딩 트리 유닛에 관계된 데이터 요소를 포함하는 코딩된 슬라이스 세그먼트의 일부로서 정의된다. 타일이 사용되지 않는 경우 CU는 타일 내의 또는 화상 내의 LCU의 래스터 스캔(raster scan) 순서로 스캔된다. LCU 내에서 CU는 특정 스캔 순서를 갖는다.
비디오 코딩 표준 및 사양은 인코더가 코딩된 화상을 코딩된 슬라이스 등으로 분할할 수 있게 한다. 화상 내 예측(in-picture prediction)은 일반적으로 슬라이스 경계에 걸쳐 비활성화된다. 따라서, 슬라이스는 코딩된 화상을 독립적으로 디코딩가능한 피스로 분할하는 방법으로 간주될 수 있다. H.264/AVC 및 HEVC에서, 화상 내 예측은 슬라이스 경계에 걸쳐 비활성화될 수 있다. 따라서, 슬라이스는 코딩된 화상을 독립적으로 디코딩가능한 피스로 분할하는 방법으로 간주될 수 있으며, 따라서 슬라이스는 종종 전송을 위한 기본 단위로 간주된다. 많은 경우, 인코더는 어떤 유형의 화상 내 예측이 슬라이스 경계에 걸쳐 해제되는지를(turned off) 비트스트림에서 나타낼 수 있으며, 디코더 동작은, 예를 들어, 어떤 예측 소스가 이용가능한지 결론지을 때 이러한 정보를 고려한다. 예를 들어, 이웃하는 매크로블록 또는 CU가 상이한 슬라이스에 존재하는 경우, 이웃하는 매크로 블록 또는 CU로부터의 샘플은 인트라 예측에 이용가능하지 않은 것으로 간주될 수 있다.
H.264/AVC 또는 HEVC 인코더의 출력 및 H.264/AVC 또는 HEVC 디코더의 입력을 위한 기본 유닛은 NAL(Network Abstraction Layer) 유닛이다. 패킷 지향 네트워크(packet-oriented networks)를 통한 전송 또는 구조화된 파일로의 저장을 위해, NAL 유닛은 패킷 또는 유사한 구조롤 캡슐화될(encapsulated) 수 있다. NAL 유닛은 후속할 데이터 유형의 표시와 필요에 따라 산재된(interspersed) RBSP(raw byte sequence payload) 형식으로 데이터를 포함하는 시작코드 에뮬레이션 방지 바이트를 갖는 바이트를 포함하는 신택스 구조로 정의될 수 있다. RBSP는 NAL 유닛으로 캡슐화된 정수의 바이트를 포함하는 신택스 구조로서 정의될 수 있다. RBSP는 비어 있거나 RBSP 정지 비트가 후속하고 0과 동일한 0 개 이상의 후속하는 비트가 후속하는 데이터 신택스 구조를 포함하는 데이터 비트의 스트링의 형태를 갖는다. NAL 유닛은 헤더와 페이로드로 구성된다.
HEVC에서, 2 바이트 NAL 유닛 헤더가 모든 특정된 NAL 유닛 유형에 대해 사용된다. NAL 유닛 헤더는 하나의 예약 비트, 6 비트 NAL 유닛 유형 표시, 시간 레벨에 대한 3 비트 nuh_temporal_id_plusl 표시(1 이상일 필요가 있을 수 있음)와 6비트 nuh_layer_id 신택스 요소를 포함한다. temporal_id_plusl 신택스 요소는 NAL 유닛에 대한 시간 식별자로서 간주될 수 있고, 0-기반 TemporalId 변수는 다음과 같이 도출될 수 있다: TemporalId = temporal_id_plusl - 1. 0과 같은 TemporalId는 최저 시간 레벨에 대응한다. temporal_id_plusl의 값은 2 바이트 NAL 유닛 헤더를 포함하는 시작 코드 에뮬레이션을 회피하기 위해 0이 아니어야 한다. 선택된 값 이상인 TemporalId를 갖는 모든 VCL NAL 유닛을 배제하고 모든 다른 VCL NAL을 포함함으로써 생성된 비트스트림이 합치하도록 유지된다. 따라서, TID와 동일한 TemporalId를 갖는 화상은 TID보다 큰 TemporalId를 갖는 어떤 화상도 인터 예측 레퍼런스로 사용하지 않는다. 서브-레이어 또는 시간 서브-레이어가 TemporalId 변수의 특정 값을 갖는 VCL NAL 유닛과 연관된 비-VCL NAL 유닛으로 구성된 시간 스케일러블 비트스트림의 시간 스케일러블 레이어로서 정의될 수 있다. nuh_layer_id는 스케일러블 레이어 식별자로서 이해될 수 있다.
NAL 유닛은 VCL(Video Coding Layer) NAL 유닛과 비-VCL NAL 유닛으로 분류될 수 있다. H.264/AVC에서, 코딩된 슬라이스 NAL 유닛은 하나 이상의 코딩된 매크로블록을 표현하는 신택스 요소를 포함하고, 매크로블록의 각각은 압축되지 않은 화상 내의 샘플의 블록에 대응한다. HEVC에서, VCL NAL 유닛은 하나 이상의 CU를 표현하는 신택스 요소를 포함한다.
비-VCL NAL 유닛은, 예를 들어, 다음 유형 중 하나일 수 있다: 시퀀스 파라미터 세트, 화상 파라미터 세트, SEI(supplemental enhancement information) NAL 유닛, 액세스 유닛 구분자(delimiter), 시퀀스 NAL 유닛의 종단, 비트스트림 NAL 유닛의 종단 또는 필러 데이터 NAL 유닛. 파라미터 세트는 디코딩된 화상의 재구성에 필요할 수 있으며, 많은 다른 비-VCL NAL 유닛은 디코딩된 샘플 값의 재구성에 필요하지 않다.
코딩된 비디오 시퀀스를 통해 변경되지 않은 파라미터는 시퀀스 파라미터 세트에 포함될 수 있다. 디코딩 프로세스에 의해 필요할 수 있는 파라미터 외에도, 시퀀스 파라미터 세트는 버퍼링, 화상 출력 타이밍, 렌더링 및 리소스 예약에 중요 할 수 있는 파라미터를 포함하는 비디오 이용가능성 정보(VUI: video usability information)를 선택적으로 포함할 수 있다. HEVC에서, 시퀀스 파라미터 세트 RBSP는 하나 이상의 화상 파라미터 세트 RBSP 또는 버퍼링 기간 SEI 메시지를 포함하는 하나 이상의 SEI NAL 유닛에 의해 레퍼런싱될 수 있는 파라미터를 포함한다. 화상 파라미터 세트는 여러 코딩된 화상에서 변경되지 않을 가능성이 있는 파라미터를 포함한다. 화상 파라미터 세트 RBSP는 하나 이상의 코딩된 화상의 코딩된 슬라이스 NAL 유닛에 의해 레퍼런싱될 수 있는 파라미터를 포함할 수 있다.
HEVC에서, 비디오 파라미터 세트(VPS)는, 각 슬라이스 세그먼트 헤더에서 발견된 신택스 요소에 의해 레퍼런싱되는 PPS에서 발견된 신택스 요소에 의해 레퍼런싱되는 SPS에서 발견된 신택스 요소의 콘텐츠에 의해 결정된 바와 같은 0 개 이상의 전체 코딩된 비디오 시퀀스에 적용되는 신택스 요소를 포함하는 신택스 구조로서 정의될 수 있다. 비디오 파라미터 세트 RBSP는 하나 이상의 시퀀스 파라미터 RBSP에 의해 레퍼런싱될 수 있는 파라미터를 포함할 수 있다.
비디오 파라미터 세트(VPS: Video Parameter Set), 시퀀스 파라미터 세트(SPS: Sequence Parameter Set) 및 화상 파라미터 세트(PPS: Picture Parameter Set) 간의 관계 및 레이어 구조는 하기와 같이 설명될 수 있다. VPS는 파라미터 세트 레이어 구조와 스케일러빌리티(scalibility) 및/또는 3D 비디오의 콘텍스트에서 SPS보다 한 수준 위에 존재한다. VPS는 전체 코딩된 시퀀스에서 모든 (스케일러빌리티 또는 뷰) 레이어에 걸친 모든 슬라이스에 공통인 파라미터를 포함할 수 있다. SPS는 특정 (스케일러빌리티 또는 뷰) 레이어의 모든 슬라이스에 공통이고, 복수의 (스케일러빌리티 또는 뷰) 레이어에 공유될 수 있는 파라미터를 포함한다. PPS는 특정 레이어 표현(하나의 액세스 유닛 내의 하나의 스케일러빌리티 또는 뷰 레이어의 표현)의 모든 슬라이스에 대해 공통이고 복수의 레이어 표현의 모든 슬라이스에 공유될 가능성이 있는 파라미터를 포함한다.
H.264/AVC 및 HEVC 신택스는 파라미터 세트의 많은 인스턴스를 허용하고, 각 인스턴스는 고유한 식별자로 식별된다. 파라미터 세트에 필요한 메모리 사용을 제한하기 위하여, 파라미터 세트 식별자에 대한 값의 범위가 제한되었다. H.264/AVC 및 HEVC에서, 각각의 슬라이스 헤더는 슬라이스를 포함하는 화상의 디코딩을 위해 활성화된 화상 파라미터 세트의 식별자를 포함하고, 각각의 화상 파라미터 세트는 활성 시퀀스 파라미터 세트의 식별자를 포함한다. 결과적으로, 화상과 시퀀스 파라미터 세트의 전송은 슬라이스의 전송과 정확하게 동기화될 필요가 없다. 대신에, 활성 시퀀스와 화상 파라미터 세트가 레퍼런싱되기 전의 임의의 시점에 수신되는 것으로 충분하며, 슬라이스 데이터에 대해 사용된 프로토콜과 비교하여 더욱 안정적인 전송 메커니즘을 사용하여 파라미터 세트의 "대역 외(out-of-band)" 전송을 허용한다. 예를 들어, 파라미터 세트는 실시간 전송 프로토콜(RTP: Real-time Transport Protocol) 세션에 대한 세션 기술(session description) 내에 파라미터로서 포함될 수 있다. 파라미터 세트가 대역 내에서 전송되면, 에러 강건성(error robustness)을 향상시키기 위해 반복될 수 있다.
대역 외 전송, 시그널링 또는 저장이 액세스 편이성 또는 세션 협상(session negotiation)과 같은 전송 에러에 대한 내성(tolerance)과는 다른 목적을 위해 부가적으로 또는 대안적으로 사용될 수 있다. 예를 들어, ISOBMFF에 합치하는 파일내의 트랙의 샘플 엔트리가 파라미터 세트를 포함할 수 있으며, 비트스트림 내의 코딩된 데이터는 파일 또는 다른 파일의 다른 곳에 저장된다. 비트스트림을 따르는 문구(예컨대, 비트스트림을 따라 표시됨)는 청구범위와 설명된 실시예에서 대역 외 데이터가 비트스트림과 연관되는 방식으로 대역 외 전송, 시그널링 또는 저장되는 것을 지칭한다. 비트스트림을 따라 디코딩된다는 문구 또는 이와 유사한 것은 비트스트림과 연관된 레퍼런싱된 대역 외 데이터(대역 외 전송, 시그널링 또는 저장에 의해 획득될 수 있음)를 디코딩하는 것을 지칭할 수 있다.
인코더가, 예컨대, 블록 상에 또는 코딩 유닛 단위로 사용된 것을 선택하고 표시할 수 있는 코딩 스킴 중에서 이용가능한 인트라 예측 모드의 상이한 유형이 존재할 수 있다. 디코더는 표시된 인트라 예측 모드를 디코딩하고 그에 따라 예측 블록을 재구성할 수 있다. 예를 들어, 각각 상이한 각 방향의 여러 앵귤러(angular) 인트라 예측이 이용가능할 수 있다. 앵귤러 인트라 예측은 선형 예측 방향을 따라 인접한 블록들의 경계 샘플을 외삽하는(extrapolate) 것으로 간주될 수 있다. 부가적으로 또는 대안적으로, 평면 예측 모드(planar prediction mode)가 이용가능할 수 있다. 평면 예측은 본질적으로 예측 블록을 형성하는 것으로 간주될 수 있으며, 예측 블록의 각 샘플은 현재 블록의 왼쪽에 인접하는 샘플 열의 수직 정렬 샘플과 현재 블록 상부에 인접한 샘플 라인에 있는 수평 정렬 샘플의 평균으로 특정될 수 있다. 부가적으로 또는 대안으로, DC 예측 모드가 이용가능할 수 있으며, 예측 블록은 본질적으로 이웃 블록 또는 블록들의 평균 샘플 값이다.
H.265/HEVC는 AMVP(advanced motion vector prediction)와 병합 모드(merge mode)의 두 개의 모션 벡터 예측 스킴을 포함한다. AMVP 또는 병합 모드에서, PU에 대한 모션 벡터 후보들의 리스트가 도출된다. 공간적 후보와 시간적 후보의 두 종류의 후보가 존재하며, 시간적 후보는 또한 TMVP 후보로도 지칭될 수 있다.
병합 리스트 내의 후보 및/또는 AMVP에 대한 후보 리스트 또는 임의의 유사한 모션 벡터 후보 리스트 중 하나가 TMVP 후보 등일 수 있으며, 예를 들어, 슬라이스 헤더 내에 표시된 레퍼런스 화상과 같이 표시되거나 추론된 레퍼런스 화상 내의 코로케이팅된 블록으로부터 도출될 수 있다. HEVC에서, 코로케이팅된 파티션을 획득하는데 사용되는 레퍼런스 화상이 슬라이스 헤더의 collocated_from_10_flag 신택스 요소에 따라 선택된다. 플래그가 1이면, 코로케이팅된 파티션을 포함하는 화상이 리스트 0으로부터 도출됨을 특정하고, 그렇지 않으면 화상은 리스트 1으로부터 도출된다. collocated_from_10_flag가 존재하지 않는 경우, 1인 것으로 추론된다. 슬라이스 헤더 내의 collocated_ref_idx는 코로케이팅된 파티션을 포함하는 화상의 레퍼런스 인덱스를 특정한다. 현재 슬라이스가 P 슬라이스인 경우, collocated_ref_idx는 리스트 0 내의 화상을 레퍼런싱한다. 현재 슬라이스가 B 슬라이스인 경우, collocated_ref_idx는 collocated_from_10이 1이면 리스트 0 내의 화상을 레퍼런싱하고, 그렇지 않으면 리스트 1 내의 화상을 레퍼런싱한다. collocated_ref_idx는 항상 유효한 리스트 엔트리를 레퍼런싱하며, 결과적인 화상은 코딩된 화상의 모든 슬라이스에 대해 동일하다. collocated_ref_idx가 존재하지 않으면, 0으로 추론된다.
HEVC에서, 모션 코딩 모드가 병합 모드인 경우, 병합 리스트의 시간 모션 벡터 예측을 위한 소위 타겟 레퍼런스 인덱스가 0으로 설정된다. 시간 모션 벡터 예측을 이용하는 EVC의 모션 코딩 모드가 어드밴스드 모션 벡터 예측 모드인 경우, 타겟 레퍼런스 인덱스 값은 (예컨대, 각 PU 마다) 명시적으로 표시된다.
HEVC에서, 후보 예측 모션 벡터(PMV: predicted motion vector)의 이용가능성은 (공간 및 시간 후보 모두에 대해) 다음과 같이 결정될 수 있다(SRTP(short-term reference picture) = 단기 레퍼런스 화상, LRTP(long-term reference picture) = 장기 레퍼런스 화상):
Figure pat00002
HEVC에서, 타겟 레퍼런스 인덱스가 결정되면, 시간 모션 벡터 예측의 모션 벡터 값은 다음과 같이 도출될 수 있다: 현재 예측 유닛의 오른쪽 하단에 이웃하는 코로케이팅된 블록에서 모션 벡터 PMV가 획득된다. 코로케이팅된 블록이 존재하는 화상은, 예를 들어, 전술한 바와 같이 슬라이스 헤더 내의 시그널링된 레퍼런스 인덱스에 따라 결정될 수 있다. 오른쪽 하단에 이웃하는 PMV가 이용가능하지 않으면, 코로케이팅된 화상의 현재 PU의 위치에서 모션 벡터 PMV가 획득된다. 코로케이팅된 블록에서 결정된 이용가능한 모션 벡터 PMV는 제 1 화상 오더 카운트 차이와 제 2 화상 오더 카운트 차이의 비율에 따라 스케일링된다. 제 1 화상 오더 카운트(POC: picture order count) 차이는 코로케이팅된 블록을 포함하는 화상과 코로케이팅된 블록의 모션 벡터의 레퍼런스 화상 사이에서 도출된다. 제 2 화상 오더 카운트 차이는 현재 화상과 타겟 레퍼런스 화상 사이에서 도출된다. 타겟 레퍼런스 화상 및 코로케이팅된 블록의 모션 벡터의 레퍼런스 화상 중 (다른 하나는 단기 레퍼런스 화상인 반면) 하나만이 장기 레퍼런스 화상인 경우, TMVP 후보는 이용가능하지 않은 것으로 간주될 수 있다. 타겟 레퍼런스 화상 및 코로케이팅된 블록의 모션 벡터의 레퍼런스 화상이 모두 장기 레퍼런스 화상인 경우, POC 기반 모션 벡터 스케일링은 적용될 수 없다.
H.263, H.264/AVC 및 H.265/HEVC와 같은 몇몇 비디오 코딩 표준에서, 모션 벡터는 예측 블록을 획득하기 위해 화상 경계 외부의 영역을 포인팅할 수 있고, 분수 샘플 보간(fractional sample interpolation)이 화상 경계 외부의 샘플 위치를 사용할 수 있다. 예측 프로세스의 일부로서 화상 경계 외부의 샘플을 획득하기 위하여, 화상 경계의 각 샘플이 효과적으로 복사된다. 이는 도 6에 도시된 범례를 사용하여 도 7에 도시된다. 도 6에서, 참조 번호(610)는 레퍼런스 화상의 샘플 어레이를 정의하며, 참조 번호(620)는 샘플 어레이의 위치 샘플(x, y)을 정의한다. 도 7은 인터 예측 프로세스에서 화상 경계 외부의 샘플을 레퍼런싱하는 종래의 처리 기법을 도시한다.
인터 예측 프로세스에서 화상 경계 외부의 샘플 위치를 지원하는 메커니즘이 여러 방식으로 구현될 수 있다. 한 가지 방식은 디코딩된 화상보다 큰, 즉, 이미지의 상부, 하부, 우측, 및 좌측에 마진을 갖는 샘플 어레이를 할당하는 것이다. 이러한 마진을 사용하는 것 이외에 또는 이러한 마진을 사용하는 것 대신에, 예측에 사용되는 샘플 위치가 (분수 샘플 보간의 입력으로서 또는 예측 블록 내의 샘플 자체로서) 포화되어(saturated), 위치가 (마진이 사용되는 경우 그러한 마진을 갖는) 화상 경계를 초과하지 않도록 할 수 있다. 일부 비디오 코딩 표준은 그러한 방식으로 화상 경계에 대한 모션 벡터의 지원을 설명한다.
예를 들어, (중간) 화상 블록을 생성하는 분수 샘플 보간을 위한 루마 샘플(또는 레퍼런스 화상)의 소정 어레이(refPicLXL) 내부의 위치(xAi,j, yAi,j)를 도출하기 위해 하기의 등식이 HEVC에서 사용된다:
Figure pat00003
여기서, (xIntL, yIntL)은 전체 샘플 유닛의 루마 위치이고;
i와 j는 보간 필터 윈도우 내의 상대 위치이고;
pic_width_in_luma_samples는 루마 샘플 내의 화상 폭이고;
pic_height_in_luma_samples는 루마 샘플 내의 화상 높이이며;
Clip3()는 다음과 같이 특정된다:
Figure pat00004
샘플 위치가 (Cip3 연산 이전에) 음의 좌표를 가지면, Cip3 연산을 이용하여 0으로 포화될 수 있는 것이 관찰될 수 있다. 유사하게, 샘플 위치가 (수평 위치에 대한) 폭 또는 (수직 위치에 대한) 높이보다 크면, 각각 폭 - 1 및 높이 - 1로 포화될 수 있다.
크로마 컴포넌트의 인터 예측을 위한 분수 샘플 보간에서의 크로마 샘플 어레이 경계 내에 있는 크로마 샘플 위치를 포화시키는 유사한 등식이 또한 존재한다.
360도 파노라마 비디오를 인코딩 및/또는 디코딩하는 경우, 전술한 바와 같이 모션 벡터가 화상 경계 외부를 포인팅하고/포인팅하거나 분수 샘플 보간이 화상 경계 외부의 샘플 값을 사용하는 것으로 인해 화상 경계 외부의 샘플이 레퍼런스로서 사용될 수 있다. 전체 360도의 시야각이 표현된다는 사실 덕분에 화상 경계의 수평쪽 외부의 샘플이 예측 프로세스에 필요한 경우에 경계 샘플을 사용하는 종래 방법 대신에 화상의 반대쪽의 샘플 값을 사용할 수 있다. 이는 도 8에 도시된다. 도 8은 화상 경계 너머의 모션 벡터를 처리(파노라마 비디오 코딩)를 위해 적용될 수 있다. 화상 경계 외부의 픽셀을 처리하는 그러한 기법은 코딩된 화상과 비교하여 (폭 및/또는 높이가) 더 큰 레퍼런스 화상을 확장시킴으로써 처리될 수 있다. 후술될 것인 대안적인 구현방법이 또한 가능하다.
음의 수평 위치를 0으로, 그리고 폭 - 1보다 큰 수평 샘플 위치를 폭 - 1(즉, 화상의 최우측 샘플 열의 수평 샘플 위치)로 포화시키는 대신에, 화상 경계 외부의 레퍼런싱된 수평 샘플 위치가 랩핑될(wrapped) 수 있다. 이는 폭 - 1보다 큰 수평 샘플 위치가 랩핑되어 화상의 좌측의 샘플 열을 레퍼런싱한다는 것을 의미한다. 역으로, 0보다 작은 수평 샘플 위치가 랩핑되어 화상의 우측의 샘플 열을 레퍼런싱한다.
함수 Wrap()이 다음과 같이 특정된다:
Figure pat00005
HEVC에서 분수 루마 샘플 보간을 위해 상기의 등식을 참조하는 경우, 종래의 등식:
Figure pat00006
대신에, 다음의 등식이 사용된다:
Figure pat00007
전술한 두 가지 기술(즉, 화상 경계 외부의 샘플을 레퍼런싱하고 레퍼런싱된 샘플의 수평 샘플 위치를 랩핑하는 것)외에, 이러한 기술의 조합이 또한 이용될 수 있다. 마진은, 예를 들어, 디코딩된 화상 경계 내부와 디코딩된 화상 경계 외부 모두의 샘플을 레퍼런싱하는 가장 넓은 부분을 커버하도록 설정될 수 있다. 디코딩된 화상 경계의 완전히 밖에 있는 예측 유닛에 대해 샘플 위치 랩핑이 사용될 수 있다. 샘플 위치의 랩핑만을 사용하는 방법보다 이러한 조합 방법이 더 빠른 메모리 액세스를 가능하게 할 수 있다.
전술한 바와 같이, 모션 벡터가 레퍼런스 화상의 비-정수 샘플 위치를 레퍼런싱할 수 있다. 비-정수 샘플 위치에서 샘플 값은 분수 샘플 보간 프로세스를 통해 획득될 수 있다. 크로마 샘플 어레이에 대한 것과 상이한 프로세스가 루마 샘플 어레이에 대해 사용될 수 있다. 일 예시에 따른 루마에 대한 분수 샘플 보간 프로세스가 후술되는 바와 같이 동작할 수 있다. 제시된 프로세스는 HEVC로부터의 것이며, 이는 예시적인 목적으로 제공되며 유사한 프로세스가, 예를 들어, 필터 탭의 수를 변경함으로써 실현될 수 있음을 이해할 필요가 있다.
이러한 프로세스에 대한 입력은: 전체 샘플 유닛의 루마 위치(xIntL, yIntL); 분수 샘플 위치의 루마 위치(xFracL, yFracL); 및 루마 레퍼런스 샘플 어레이(refPicLXL). 이러한 프로세스의 출력은 예측된 루마 샘플 값(predSampleLXL)이다.
도 9에서, 음영 처리된 블록 내의 대문자(Ai,j)로 라벨링된 위치는 루마 샘플의 소정의 2차원 어레이(refPicLXL) 내부의 전체 샘플 위치에서의 루마 샘플을 나타낸다. 이러한 샘플은 예측 루마 샘플 값(predSampleLXL)을 생성하는데 사용될 수 있다. 루마 샘플의 소정의 어레이(refPicLXL) 내부의 대응하는 각 루마 샘플(Ai,j)에 대한 위치(xAi,j, yAi,j)는 다음과 같이 도출된다:
Figure pat00008
음영 처리되지 않은 블록 내의 소문자로 라벨링된 위치는 1/4 픽셀(quarter-pel) 샘플 분수 위치에서의 루마 샘플을 나타낸다. 분수 샘플 유닛(xFracL, yFracL)의 루마 위치 오프셋은 위치의 전체 샘플 및 분수 샘플에서 생성된 루마 샘플 중 어떤 것이 예측 루마 샘플 값(predSampleLXL)에 할당되는지를 특정한다. 이러한 할당은 하기의 표 1에서 특정된다. 값(predSampleLXL)이 출력이다.
변수들(shiftl, shift2 및 shift3)이 하기와 같이 도출된다: 변수(shift1)는 Min(2, 14 - BitDepthy)과 동일하게 설정되고, 변수(shift2)는 6과 동일하게 설정되며, 변수(shift3)는 Max(2, 14 - BitDepthy)와 동일하게 설정된다.
전체 샘플 위치(xAi,j, yAi,j)에서 루마 샘플(Ai,j)이 주어지면, 분수 샘플 위치에서 루마 샘플(a0,0 내지 r0,0)은 다음과 같이 도출된다:
- a0,0, b0,0, c0,0, d0,0, h0,0 및 n0,0으로 라벨링된 샘플은 가장 가까운 정수 위치 샘플에 8-탭 필터를 적용함으로써 다음과 같이 도출된다:
Figure pat00009
- e0,0, i0,0, p0,0, f0,0, j0,0, q0,0, g0,0, k0,0 및 r0,0으로 라벨링된 샘플은 수직 방향으로 i=-3..4인 샘플 a0,i, b0,i 및 c0,i에 8-탭 필터를 적용함으로써 다음과 같이 도출된다:
Figure pat00010
Figure pat00011
스케일러블 비디오 코딩은 하나의 비트스트림이, 예를 들어, 상이한 비트율, 해상도 또는 프레임율에서 콘텐츠의 다중 표현을 포함할 수 있는 코딩 구조를 레퍼런싱할 수 있다. 이러한 경우에, 수신기는 특성(예를 들어, 디스플레이 디바이스에 가장 잘 맞는 해상도)에 따라 원하는 표현을 추출할 수 있다. 대안적으로, 서버 또는 네트워크 요소가, 예를 들어, 수신기의 네트워크 특성 또는 처리 능력에 따라 수신기로 전성될 비트스트림의 부분을 추출할 수 있다. 의미있는 디코딩된 표현이 스케일러블 비트스트림의 특정 부분만을 디코딩함으로써 생성될 수 있다. 스케일러블 비트스트림은 일반적으로 이용가능한 최저 품질의 비디오를 제공하는 "베이스 레이어"와 하위 레이어와 함께 수신 및 디코딩될 때 비디오 품질을 증진시키는 하나 이상의 증진 레이어(enhancement layers)로 구성된다. 증진 레이어에 대한 코딩 효율을 향상시키기 위해, 그러한 레이어의 코딩된 표현은 일반적으로 하위 레이어에 따라 결정된다. 예컨대, 증진 레이어의 모션 및 모드 정보가 하위 레이어로부터 예측될 수 있다. 유사하게, 하위 레이어의 픽셀 데이터가 증진 레이어에 대한 예측을 생성하는데 사용될 수 있다.
일부 스케일러블 비디오 코딩 방식에서, 비디오 신호는 베이스 레이어 및 하나 이상의 증진 레이어로 인코딩될 수 있다. 증진 레이어는, 예를 들어, 시간 해상도(즉, 프레임율), 공간 해상도, 또는 단순히 다른 레이어 또는 그 일부에 의해 표현되는 비디오 콘텐츠의 품질을 증진시킬 수 있다. 각 레이어는 모든 종속 레이어와 함께 특정 공간 해상도, 시간 해상도 및 품질 레벨과 같은 비디오 신호의 하나의 표현이다. 본 문서에서, 스케일러블 레이어는 모든 종속 레이어와 함께 "스케일러블 레이어 표현"으로 지칭된다. 스케일러블 레이어 표현에 대응하는 스케일러블 비트스트림의 일부가 추출되고 디코딩되어 특정 충실도에서 원래 신호의 표현을 생성할 수 있다.
스케일러빌리티 모드 또는 스케일러빌리티 차원이 다음을 포함할 수 있지만 이에 제한되지는 않는다:
- 품질 스케일러빌리티: 베이스 레이어 화상이 증진 레이어 화상보다 낮은 품질로 코딩되는데, 예를 들어, 베이스 레이어에서 증진 레이어에서 보다 더 큰 양자화 파라미터 값(즉, 변환 계수 양자화에 대한 더 큰 양자화 단계 크기)을 사용하여 달성될 수 있다.
- 공간 스케일러빌리티: 베이스 레이어 화상이 증진 레이어 화상보다 낮은 해상도로 코딩된다(즉, 샘플 수가 적음). 공간 스케일러빌리티 및 품질 스케일러빌리티, 특히 조립성(coarse-grain) 스케일러빌리티 유형은 때로 동일한 유형의 스케일러빌리티로 간주될 수 있다.
- 비트 심도 스케일러빌리티: 베이스 레이어 화상이 증진 레이어 화상(예컨대, 10 또는 12 비트)보다 더 낮은 비트 심도(예컨대, 8 비트)에서 코딩된다.
- 동적 범위 스케일러빌리티: 스케일러블 레이어가 상이한 톤 맵핑 함수 및/또는 상이한 광학 변환 함수를 사용하여 획득된 상이한 동적 범위 및/또는 이미지를 표현한다.
- 크로마 포맷 스케일러빌리티: 베이스 레이어 화상이 증진 레이어 화상(예컨대, 4:4:4 포맷)보다 크로마 샘플 어레이에서 더 낮은 공간 해상도(예컨대, 4:2:0 크로마 포맷에서 코딩됨)를 제공한다.
- 색역(color gamut) 스케일러빌리티: 증진 레이어 화상이 베이스 레이어 화상보다 더 풍부한/더 넓은 색 표현 범위를 가진다 - 예를 들어, 증진 레이어는 UHDTV (ITU-R BT.2020) 색역을 가질 수 있으며, 베이스 레이어는 ITU-R BT.709 색역을 가질 수 있다.
- 뷰 스케일러빌리티, 멀티뷰 코딩으로도 지칭될 수 있음. 베이스 레이어는 제 1 뷰를 표현하고, 증진 레이어는 제 2 뷰를 표현한다.
- 심도 스케일러빌리티, 심도 증진 코딩으로도 지칭될 수 있음. 비트스트림의 하나의 레이어 또는 몇몇 레이어들이 텍스처 뷰(들)를 표현할 수 있고, 다른 레이어 또는 레이어들이 심도 뷰(들)를 표현할 수 있다.
- 관심 영역 스케일러빌리티(하기에 설명됨).
- 교차-순차 스케일러빌리티(필드-투-프레임 스케일러빌리티로도 알려짐): 베이스 레이어의 코딩된 교차 소스 콘텐츠 재료가 순차 소스 콘텐츠를 표현하도록 증진 레이어로 증진된다.
- 하이브리드 코덱 스케일러빌리티(코딩 표준 스케일러빌리티로도 알려짐): 하이브리드 코덱 스케일러빌리티에서, 비트스트림 신택스, 시맨틱 및 베이스 레이어와 증진 레이어의 디코딩 프로세스강 상이한 비디오 코딩 표준에 특정된다. 따라서, 베이스 레이어 화상은 증진 레이어 화상과 다른 코딩 표준 또는 포맷에 따라 코딩된다. 예를 들어, 베이스 레이어는 H.264/AVC로 코딩될 수 있고, 증진 레이어는 HEVC 멀티 레이어 확장으로 코딩될 수 있다. 외부 베이스 레이어 화상은 증진 레이어 디코딩 프로세스를 위해 외부 수단에 의해 제공되고, 증진 레이어 디코딩 프로세스를 위해 디코딩된 베이스 레이어 화상과 같이 처리되는 디코딩된 화상으로 정의될 수 있다. SHVC 및 MV-HEVC는 외부 베이스 레이어 화상의 사용을 허용한다.
스케일러빌리티 유형의 다수가 함께 결합되고 적용될 수 있음을 이해해야 한다. 예를 들어, 색역 스케일러빌리티 및 비트 심도 스케일러빌리티가 결합될 수 있다.
레이어라는 용어는 뷰 스케일러빌리티 및 심도 증진을 포함하는 스케일러빌리티의 임의의 유형의 맥락에서 사용될 수 있다. 증진 레이어는 SNR, 공간, 멀티뷰, 심도, 비트 심도, 크로마 및/또는 색역 증진과 같은 임의 유형의 증진을 지칭할 수 있다. 베이스 레이어는 베이스 뷰, SNR/공간 스케일러빌리티를 위한 베이스 레이어, 또는 심도 증진 비디오 코딩을 위한 텍스처 베이스 뷰와 같은 모든 유형의 베이스 비디오 시퀀스를 지칭할 수 있다.
3 차원(3D) 비디오 콘텐츠를 제공하는 다양한 기술들이 현재 연구되고 개발되고 있다. 입체 또는 2 시점 비디오에서, 하나의 비디오 시퀀스 또는 뷰가 좌측 눈에 제공되고, 병렬 뷰(parallel view)가 우측 눈에 제공되는 것으로 간주될 수 있다. 시점 전환을 가능하게하는 애플리케이션이나 많은 수의 뷰를 동시에 표시하고 시청자가 다른 시점에서 콘텐츠를 관찰하게 할 수 있게 할 수 있는 자동 입체 디스플레이를 위해 셋 이상의 병렬 뷰가 필요할 수 있다.
뷰는 하나의 카메라 또는 시점을 나타내는 화상의 시퀀스로서 정의될 수 있다. 뷰를 나타내는 화상은 뷰 컴포넌트라고도 한다. 다시 말해서, 뷰 컴포넌트는 단일 액세스 유닛에서 뷰의 코딩된 표현으로 정의될 수 있다. 멀티뷰 비디오 코딩에서, 둘 이상의 뷰가 비트스트림으로 코딩된다. 뷰는 일반적으로 입체 또는 멀티뷰 자동 입체 디스플레이에 표시되거나 다른 3D 배치에 사용되도록 의도되기 때문에, 일반적으로 동일한 장면을 나타내며 콘텐츠에 대해 다른 시점을 나타내지만 내용적으로 부분적으로 겹친다. 따라서, 인터-뷰 상관(inter-view correlation)의 장점을 취하고 압축 효율을 향상시키기 위해 멀티뷰 비디오 코딩에서 인터-뷰 예측이 이용될 수 있다. 인터-뷰 예측을 실현하는 한 가지 방법은 제 1 뷰 내에 존재하는 코딩되거나 디코딩되는 화상의 레퍼런스 화상 리스트(들)에 하나 이상의 다른 뷰의 하나 이상의 디코딩된 화상을 포함시키는 것이다. 뷰 스케일러빌리티는 하나 이상의 코딩된 뷰를 제거하거나 생략할 수 있으며 결과 비트스트림은 합치되도록 유지되며 원래보다 적은 수의 뷰로 비디오를 나타내는 멀티뷰 비디오 코딩 또는 멀티뷰 비디오 비트스트림을 나타낼 수 있다.
관심 영역(ROI:Region of Interest) 코딩은 비디오 내의 특정 영역을 높은 충실도로 코딩하는 것을 지칭하도록 정의될 수 있다. ROI 스케일러빌리티는 증진 레이어가 인터-레이어 예측을 위한 소스 화상의 일부만을, 예컨대, 공간적으로, 품질면에서, 비트 심도면에서 및/또는 다른 스케일러빌리티 차원에서 증진시키는 한 유형의 스케일러빌리티로서 정의될 수 있다. ROI 스케일러빌리티는 다른 유형의 스케일러빌리티과 함께 사용될 수 있으므로, 스케일러빌리티 유형의 상이한 범주를 형성하는 것으로 간주될 수 있다. ROI 스케일러빌리티를 사용하여 실현될 수 있는 서로 다른 요건을 갖는 ROI 코딩을 위한 몇 가지 상이한 애플리케이션이 존재한다. 예를 들어, 베이스 레이어에서 영역의 품질 및/또는 해상도를 증진시키기 위해 증진 레이어가 전송될 수 있다. 증진 레이어 및 베이스 레이어 비트스트림을 모두 수신하는 디코더는 두 레이어를 모두 디코딩하고 서로의 상부에 디코딩된 화상을 오버레이하여 최종 화상을 디스플레이할 수 있다.
스케일러빌리티는 두 가지 기본적인 방법으로 가능할 수 있다. 스케일러블 표현의 하위 레이어로부터의 픽셀 값 또는 신택스의 예측을 수행하기 위한 새로운 코딩 모드를 도입하거나, 또는 하위 레이어 화상을 상위 레이어의 레퍼런스 화상 버퍼(예를 들어, 디코딩된 화상 버퍼, DPB)에 배치함으로써 구현할 수 있다. 첫 번째 방법은 더욱 유연할 수 있으므로 대부분의 경우 더 나은 코딩 효율을 제공할 수 있다. 그러나, 두 번째 방법은 단일 레이어 코덱에 대한 최소한의 변경으로 효율적으로 구현될 수 있으면서도 여전히 이용가능한 코딩 효율성의 이득을 대부분 달성할 수 있다. 두 번째 방법은, 예를 들어, 레퍼런스 프레임 기반 스케일러빌리티 또는 상위 high-level-syntax-only 스케일러블 비디오 코딩으로 불릴 수 있다. 본질적으로 레퍼런스 프레임 기반 스케일러빌리티 코덱은 외부 수단에 의한 DPB 관리를 돌보는 것만으로 모든 레이어에 대해 동일한 하드웨어 또는 소프트웨어 구현을 이용함으로써 구현될 수 있다.
품질 스케일러빌리티(신호-대-잡음(Signal-to-Noise) 또는 SNR로도 열려짐) 및/또는 공간 스케일러빌리티를 위한 스케일러블 비디오 인코더는 다음과 같이 구현될 수 있다. 베이스 레이어에 대해, 종래의 논-스케일러블 비디오 인코더 및 디코더가 사용될 수 있다. 베이스 레이어의 재구성된/디코딩된 화상은 증진 레이어에 대한 레퍼런스 화상 버퍼 및/또는 레퍼런스 화상 리스트에 포함된다. 공간 스케일러빌리티의 경우에, 재구성된/디코딩된 베이스 레이어 화상은 증진 레이어 화상에 대한 레퍼런스 화상 리스트에 삽입되기 전에 업샘플링될(upsampled) 수 있다. 베이스 레이어의 디코딩된 화상은 증진 레이어의 디코딩된 레퍼런스 화상과 유사하게 증진 레이어 화상의 코딩/디코딩을 위해 레퍼런스 화상 리스트(들)에 삽입될 수 있다. 결과적으로, 인코더는 베이스 레이어 레퍼런스 화상을 인터 예측 레퍼런스로서 선택하고 코딩된 비트스트림 내의 레퍼런스 화상 인덱스와 함께 그 사용을 표시할 수 있다. 디코더는, 예를 들어, 베이스 레이어 화상이 증진 레이어에 대한 인터 예측 레퍼런스로서 사용되는 레퍼런스 화상 인덱스로부터의 비트스트림으로부터 디코딩한다. 디코딩된 베이스 레이어 화상이 증진 레이어에 대한 예측 레퍼런스로서 사용될 때, 그것은 인터 레이어 레퍼런스 화상으로 지칭된다.
이전 단락에서는 증진 레이어와 베이스 레이어를 갖는 두 개의 스케일러빌리티 레이어가 있는 스케일러블 비디오 코덱에 대해 설명했지만, 이러한 설명은 세 개 이상의 레이어를 갖는 스케일러빌리티 레이어 내의 모든 두 레이어로 일반화될 수 있음을 이해해야 한다. 이러한 경우, 제 2 증진 레이어는 인코딩 및/또는 디코딩 프로세스에서 제 1 증진 레이어에 따라 결정될 수 있고, 따라서 제 1 증진 레이어는제 2 증진 레이어의 인코딩 및/또는 디코딩을 위한 베이스 레이어로 간주될 수 있다. 또한, 증진 레이어의 레퍼런스 화상 버퍼 또는 레퍼런스 화상 리스트 내의 둘 이상의 레이어 중 인터 레이어 레퍼런스 화상이 존재할 수 있으며, 상 또는 증진 레이어의 레퍼런스 화상리스트가 있을 수 있으며, 각 인터 레이어 레퍼런스 화상은 인코딩 및/또는 디코딩되는 증진 레이어를 위한 베이스 레이어 또는 레퍼런스 레이어 내에 존재하는 것으로 간주될 수 있음을 이해할 필요가 있다. 또한, 레퍼런스 레이어 화상 업샘플링과 다른 유형의 인터 레이어 프로세싱이 대신하여 또는 부가적으로 발생할 수 있다는 것을 이해할 필요가 있다. 예를 들어, 레퍼런스 레이어 화상의 샘플의 비트 심도는 증진 레이어의 비트 심도로 변환될 수 있고/있거나 샘플 값은 레퍼런스 레이어의 색상 공간으로부터 증진 레이어의 색상 공간으로의 매핑을 겪을 수 있다.
스케일러블 비디오 코딩 및/또는 디코딩 스킴은 하기와 같이 특성화될 수 있는 멀티 루프 코딩 및/또는 디코딩을 사용할 수 있다. 인코딩/디코딩에서, 베이스 레이어 화상은 동일한 레이어 내의 코딩/디코딩 순서로 연속하는 화상에 대한 모션 보상 레퍼런스 화상으로서 또는 인터 레이어 (또는 인터-뷰 또는 인터-컴포넌트) 예측에 대한 레퍼런스로서 사용되기 위해 재구성/디코딩될 수 있다. 재구성/디코딩된 베이스 레이어 화상은 DPB에 저장될 수 있다. 증진 레이어 화상은 마찬가지로 동일한 레이어 내의 코딩/디코딩 순서로 연속하는 화상에 대한 모션 보상 레퍼런스로서 또는 존재하는 경우에 상위 증진 레이어에 대한 인터 레이어 (또는 인터-뷰 또는 인터-컴포넌트) 예측에 대한 레퍼런스로서 사용되기 위해 재구성/디코딩될 수 있다. 재구성/디코딩된 샘플 값 이외에, 베이스/레퍼런스 레이어의 신택스 요소 값 또는 베이스/레퍼런스 레이어의 신택스 요소 값으로부터 유도된 변수는 인터 -레이어/인터-컴포넌트/인터-뷰 예측에 사용될 수 있다.
HEVC(High Efficiency Video Coding) 표준의 첫 번째 버전에 대한 스케일러블 및 멀티뷰 확장이 2015년에 완료되었다. 스케일러블 비디오 코딩 확장(SHVC: scalable video coding extension)은 공간, 비트 심도, 색역 및 품질 스케일러빌리티를 제공하는 메커니즘을 제공하면서 인터-레이어 중복을 활용한다. 멀티뷰 확장(MV-HEVC)은, 예를 들어, 입체 디스플레이를 위해 적절한 멀티뷰 비디오 데이터의 코딩을 가능하게 한다. MV-HEVC에 대해, 인코딩을 위한 입력 멀티뷰 비디오 시퀀스는 전형적으로 행으로 배열된 다수의 카메라에 의해 캡처된다. 카메라 투영 센터는 일반적으로 동일 선상에 있고 각 이웃에서 동일한 거리에 떨어져 있으며, 카메라는 일반적으로 동일한 방향을 가리킨다. SHVC와 MV-HEVC는 동일한 상위 레벨 신택스를 공유하며 디코딩 프로세스의 대부분도 동일하므로 동일한 코덱 구현으로 SHVC 및 MV-HEVC를 모두 지원할 수 있는 장점이 있다. SHVC 및 MV-HEVC는 HEVC 버전 2에 포함되었다.
MV-HEVC에서, 인터-뷰 레퍼런스 화상은 코딩 또는 디코딩되는 현재 화상의 레퍼런스 화상 리스트(들)에 포함될 수 있다. SHVC는 멀티 루프 디코딩 동작을 사용한다. SHVC는 레퍼런스 인덱스 방법, 즉, 인터-레이어 레퍼런스 화상이 (전술한 바와 같은) 코딩 또는 디코딩되는 현재 화상의 하나 이상의 레퍼런스 화상 리스트 내에 포함될 수 있는 방법을 사용하도록 고려될 수 있다.
증진 레이어 코딩에 있어서, HEVC 베이스 레이어의 개념 및 코딩 툴이 SHVC 및/또는 MV-HEVC 등에서 사용될 수 있다. 그러나, 증진 레이어를 효율적으로 코딩하기 위해 레퍼런스 레이어에서 이미 코딩된 데이터(재구성된 화상 샘플 및 모션 파라미터, 즉, 모션 정보를 포함함)를 사용하는 부가적인 인터-레이어 예측 툴이 SHVC, MV-HEVC 및/또는 유사한 코덱과 통합될 수 있다.
비디오 및/또는 이미지 코딩 및/또는 디코딩에 적용된 전술한 예측 방법은 샘플 예측 및 신택스 예측으로 분류될 수 있다. 상이한 유형의 예측을 분류하는 보완 방법은 예측이 사용하는 도메인 또는 스케일러빌리티를 고려하는 것이다. 때로 예측 방향으로도 지칭될 수 있는 하나 이상의 하기의 예측 유형으로 분류될 수 있다:
- 예컨대, 대개 동일한 스케일러빌리티 레이어, 뷰 및 컴포넌트 유형(텍스처 또는 심도)의 이전 화상으로부터의 샘플 값 또는 모션 벡터의 시간 예측.
- 대개 동일한 시간 인스턴스 또는 액세스 유닛 및 동일한 컴포넌트 유형의 뷰 컴포넌트 사이에 발생하는 예측을 레퍼런싱하는 인터-뷰 예측(크로스-뷰 예측으로도 지칭될 수 있음).
- 대개 동일한 시간 인스턴스, 동일한 컴포넌트 유형 및 동일한 뷰의 레이어 사이에 발생하는 예측을 레퍼런싱하는 인터-레이어 예측.
- 인터-컴포넌트 예측은 신택스 요소 값, 샘플 값, 디코딩 프로세스에 사용되는 변수 값, 또는 한 유형의 컴포넌트 화상으로부터 다른 유형의 컴포넌트 화상으로의 유사한 것의 예측을 포함하는 것으로 정의될 수 있다. 예를 들어, 인터-컴포넌트 예측은 심도 뷰 컴포넌트로부터 텍스처 뷰 컴포넌트의 예측 또는 텍스처 뷰 컴포넌트로부터 심도 뷰 컴포넌트의 예측을 포함할 수 있다. 다른 예시에서, 인터-컴포넌트 예측은 루마 컴포넌트(또는 샘플 어레이)로부터 크로마 컴포넌트(또는 샘플 어레이)로 발생한다.
인터-레이어 예측은 (코딩 또는 디코딩되고있는) 현재 화상의 레이어와 상이한 레이어로부터의 레퍼런스 화상의 데이터 요소(예를 들어, 샘플 값 또는 모션 벡터)에 따라 결정되는 방식의 예측으로서 정의될 수 있다. 많은 유형의 인터-레이어 예측이 존재하며 스케일러블 비디오 인코더/디코더에 적용될 수 있다. 이용가능한 인터-레이어 예측 유형은, 예를 들어, 비트스트림 또는 비트스트림 내의 특정 레이어가 그에 따라 인코딩되는 코딩 프로파일 또는 디코딩 시에 비트스트림 또는 비트스트림 내의 특정 레이어가 합치하는 것으로 표시되는 코딩 프로파일에 따라 결정될 수 있다. 대안적으로 또는 부가적으로, 이용가능한 인터-레이어 예측 유형은 사용되는 스케일러빌리티 유형 또는 스케일러블 코덱 또는 비디오 코딩 표준 수정안(예를 들어, SHVC, MV-HEVC 또는 3D-HEVC)의 유형에 따라 결정될 수 있다.
인터-레이어 예측의 유형은 인터-레이어 샘플 예측, 인터-레이어 모션 예측, 인터-레이어 잔차 예측 중 하나 이상을 포함할 수 있지만, 이에 한정되는 것은 아니다. 인터-레이어 샘플 예측에서, 인터-레이어 예측을 위한 소스 화상의 재구성 된 샘플 값의 적어도 서브세트가 현재 화상의 샘플 값을 예측하기 위한 레퍼런스로서 사용된다. 인터-레이어 모션 예측에서, 인터-레이어 예측을 위한 소스 화상의 모션 벡터의 적어도 서브세트가 현재 화상의 모션 벡터를 예측하기 위한 레퍼런스로서 사용된다. 전형적으로, 어떤 레퍼런스 화상이 모션 벡터와 연관되는지에 대한 예측 정보는 또한 인터-레이어 모션 예측에 포함된다. 예를 들어, 모션 벡터에 대한 레퍼런스 화상의 참조 인덱스는 인터-레이어 예측되고/예측되거나 레퍼런스 화상의 화상 순서 카운트 또는 다른 식별이 인터-레이어 예측될 수 있다. 몇몇 경우, 인터-레이어 모션 예측은 블록 코딩 모드, 헤더 정보, 블록 파티셔닝 및/또는 다른 유사한 파라미터의 예측을 포함할 수도 있다. 몇몇 경우들에서, 블록 파티셔닝의 인터-레이어 예측과 같은 코딩 파라미터 예측은 다른 타입의 인터-레이어 예측으로 간주될 수 있다. 인터-레이어 잔차 예측에서, 인터-레이어 예측에 대한 소스 화상의 선택된 블록의 예측 에러 또는 잔차가 현재 화상을 예측하는데 사용된다.
인터-뷰 예측은 인터-레이어 예측과 같거나 유사한 것으로 간주될 수 있지만 다른 스케일러빌리티 유형 또는 차원이 아닌 뷰 간에 적용될 수 있다. 때때로, 인터-뷰 예측은 모션 보상 시간 예측과 유사하지만 뷰 간에 적용되는 인터-뷰 샘플 예측만을 레퍼런싱할 수도 있다. 때때로, 인터-뷰 예측은 인터-뷰 샘플 예측 및 인터-뷰 모션 예측 모두와 같은, 뷰 사이에서 발생할 수 있는 모든 유형의 예측을 포함하는 것으로 간주될 수 있다.
3D-HEVC와 같은 멀티뷰-플러스-심도 코딩에서, 크로스-컴포넌트 인터-레이어 예측이, 심도 화상과 같은 제 1 유형의 화상이 기존의 텍스처 화상과 같은 제 2 유형의 화상의 인터-레이어 예측에 영향을 미칠 수 있는 경우에 적용될 수 있다. 예를 들어, 디스패리티-보상 인터-레이어 샘플 값 및/또는 모션 예측이 적용될 수 있으며, 디스패리티는 적어도 부분적으로 심도 화상으로부터 도출될 수 있다. 뷰 합성 예측(view synthesis prediction)이라는 용어는 예측 블록이 연관된 심도 또는 디스패리티 정보에 기초하여 적어도 부분적으로 구성될 때 사용될 수 있다.
직접 레퍼런스 레이어는 레이어가 직접 레퍼런스 레이어인 다른 레이어의 인터-레이어 예측에 사용될 수 있는 레이어로서 정의될 수 있다. 직접 예측 레이어는 다른 레이어가 직접 레이어인 레이어로서 정의될 수 있다. 간접 레퍼런스 레이어는 제 2 레이어의 직접 레퍼런스 레이어가 아니지만, 레이어가 간접 레퍼런스 레이어인 제 2 레이어의 직접 레퍼런스 레이어 또는 간접 레퍼런스 레이어인 제 3 레이어의 직접 레퍼런스 레이어인 레이어로서 정의될 수 있다. 간접 예측 레이어는 다른 레이어가 간접 레퍼런스 레이어인 레이어로서 정의될 수 있다. 독립 레이어는 직접 레퍼런스 레이어가 없는 레이어로 정의될 수 있다. 즉, 독립 레이어는 인터-레이어 예측을 사용하여 예측되지 않는다. 논-베이스 레이어는 베이스 레이어 이외의 다른 레이어로 정의될 수 있으며, 베이스 레이어는 비트스트림에서 최하위 레이어로 정의될 수 있다. 독립 논-베이스 레이어는 독립 레이어와 논-베이스 레이어인 레이어로 정의될 수 있다.
인터-레이어 예측을 위한 소스 화상은 현재 화상의 예측을 위한 레퍼런스 화상으로서 사용될 수 있는 인터-레이어 레퍼런스 화상이거나 인터-레이어 레퍼런스 화상을 도출하는데 사용되는 디코딩된 화상으로서 정의될 수 있다. 멀티-레이어 HEVC 확장에서, 인터-레이어 레퍼런스 화상은 현재 화상의 인터-레이어 레퍼런스 화상 세트에 포함된다. 인터-레이어 레퍼런스 화상은 현재 화상의 인터-레이어 예측을 위해 사용될 수 있는 레퍼런스 화상으로 정의될 수 있다. 코딩 및/또는 디코딩 프로세스에서, 인터-레이어 레퍼런스 화상은 장기 레퍼런스 화상으로서 취급될 수 있다. 레퍼런스-레이어 화상은 (인코딩 또는 디코딩되고 있는) 현재 레이어 또는 현재 화상과 같은 특정 레이어 또는 특정 화상의 직접 레퍼런스 레이어의 화상으로 정의될 수 있다. 레퍼런스-레이어 화상은 인터-레이어 예측을 위한 소스 화상으로서 사용될 수 있지만 사용될 필요는 없다. 때때로, 인터-레이어 예측에 대한 레퍼런스-레이어 화상 및 소스 화상이라는 용어는 상호 교환적으로 사용될 수 있다.
인터-레이어 예측을 위한 소스 화상은 현재 화상과 동일한 액세스 유닛 내에있는 것이 요구될 수 있다. 일부 경우에, 예를 들어, 리샘플링, 모션 필드 맵핑 또는 다른 인터-레이어 프로세싱이 필요하지 않은 경우, 인터-레이어 예측 및 각각의 인터-레이어 레퍼런스 화상에 대한 소스 화상은 동일할 수 있다. 일부 경우에, 예를 들어, 레퍼런스 레이어의 샘플링 그리드(sampling grid)를 현재 (인코딩 또는 디코딩되고 있는) 현재 화상의 레이어의 샘플링 그리드와 일치시키기 위해 리샘플링이 필요할 때, 인터-레이어 프로세싱이 적용되어 인터-레이어 예측을 위한 소스 화상으로부터 인터-레이어 레퍼런스 화상을 유도한다. 이러한 인터-레이어 프로세싱의 예시는 다음 단락에서 설명된다.
인터-레이어 샘플 예측은 인터-레이어 예측을 위한 소스 화상의 샘플 어레이의 리샘플링을 포함할 수 있다. 인코더 및/또는 디코더는 증진 레이어의 쌍에 대한 수평 스케일 인자(예컨대, 변수(ScaleFactorHor)에 저장됨)와 수직 스케일 인자(예컨대, 변수(ScaleFactorVer)에 저장됨) 및, 예를 들어, 그 쌍의 레퍼런스 레이어 위치 오프셋에 기초하여 레퍼런스 레이어를 도출할 수 있다. 스케일 인자들 중 하나 또는 모두가 1과 같이 않으면, 인터-레이어 예측을 위한 소스 화상은 리샘플링되어, 증진 레이어 화상을 예측하기 위한 인터-레이어 레퍼런스 화상을 생성할 수 있다. 리샘플링에 사용되는 프로세스 및/또는 필터는, 예를 들어, 코딩 표준에서 사전정의될 수 있고/있거나 인코더에 의해 비트스트림에(예를 들어, 사전정의된 리샘플링 프로세스 또는 필터 사이의 인덱스로서) 표시되고/표시되거나 디코더에 의해 비트스트림으로부터 디코딩될 수 있다. 상이한 리샘플링 프로세스가 스케일 인자의 값에 따라 인코더에 의해 표시되고/표시되거나, 디코더에 의해 디코딩되고/디코딩되거나, 인코더 및/또는 디코더에 의해 추론될 수 있다. 예를 들어, 두 스케일 인자가 1보다 작으면, 사전정의된 다운샘플링 프로세스가 추론될 수 있고; 두 스케일 인자가 1보다 크면, 사전정의된 업샘플링 프로세스가 추론될 수 있다. 부가적으로 또는 대안적으로, 상이한 리샘플링 프로세스는 어떤 샘플 어레이가 처리되는지에 따라 인코더에 의해 표시되고/표시되거나, 디코더에 의해 디코딩되고/디코딩되거나, 인코더 및/또는 디코더에 의해 추론될 수 있다. 예를 들어, 제 1 리샘플링 프로세스는 루마 샘플 어레이에 사용되도록 추론될 수 있고, 제 2 리샘플링 프로세스는 크로마 샘플 어레이에 사용되도록 추론될 수 있다.
리샘플링된 루마 샘플 값을 획득하기 위한 인터-레이어 리샘플링 프로세스의 예시가 하기에 제공된다. 루마 레퍼런스 샘플 어레이라고도 지칭될 수 있는 입력 루마 샘플 어레이는 변수(rlPicSampleL)를 통해 레퍼런싱된다. 리샘플링된 루마 샘플 값은 증진-레이어 화상의 왼쪽 상단의 루마 샘플을 레퍼런스으로 루마 샘플 위치(xP, yP)에 대해 도출된다. 결과적으로, 프로세스는 변수(rsLumaSample)를 통해 액세스되는 리샘플링된 루마 샘플을 생성한다. 본 예시에서, p = 0 ... 15 및 x = 0 ... 7인 계수 fL[p, x]를 갖는 하기의 8-탭 필터가 루마 리샘플링 프로세스에 사용된다. (하기에서 가입 유무와 같은 표기는 상호교환적으로 해석될 수 있다. 예를 들어, fL은 fL과 동일하게 해석될 수 있다.)
Figure pat00012
보간 루마 샘플(rsLumaSample)의 값은 하기 순서의 단계를 적용함으로써 도출될 수 있다:
1. (xP, yP)에 대응하거나 코로케이팅된 레퍼런스 레이어 샘플 위치는, 예를 들어, 레퍼런스 레이어 위치 오프셋에 기초하여 도출될 수 있다. 이러한 레퍼런스 레이어 샘플 위치는 1/16 샘플 유닛의 (xRefl6, yRefl6)으로 레퍼런싱된다. 레퍼런스 레이어 위치 오프셋에 기초하여 (xP, yP)에 대응하거나 코로케이팅된 레퍼런스 레이어 샘플 위치를 도출하는 예시적인 방법이 후술된다.
2. 변수(xRef 및 xPhase)가 하기와 같이 도출된다:
Figure pat00013
여기서, ">>"는 우측 비트-시프트 연산, 즉, x 바이 y 이진수(x by y binary digits)의 2의 보수 정수 표현(complement integer representation)의 산술 우측 시프트이다. 이러한 함수는 y의 음이 아닌 정수 값에 대해서만 정의될 수 있다. 우측 시프트의 결과로서 MSB(most significant bit)로 시프트된 비트는 시프트 연산 이전의 x의 MSB와 동일한 값을 갖는다. "%"는 모듈러스 연산, 즉 x의 나머지를 y로 나눈 값이며 x >= 0 및 y > 0 인 정수 x 및 y에 대해서만 정의된다.
3. 변수(yRef 및 yPhase)가 하기와 같이 도출된다:
Figure pat00014
4. 변수(shiftl, shift2 및 offset)가 하기와 같이 도출된다:
Figure pat00015
여기서 RefLayerBitDepthY는 레퍼런스 레이어 내의 루마 샘플 당 비트 수이다. BitDepthY는 증진 레이어의 루마 샘플 당 비트 수이다. "<<"는 좌측 비트-시프트 연산, 즉, x 바이 y 이진수의 2의 보수 정수 표현의 산술 좌측 시프트이다. 이러한 함수는 y의 음이 아닌 정수 값에 대해서만 정의될 수 있다. 좌측 시프트의 결과로서 LSB(least significant bits)로 시프트된 비트는 0과 동일한 값을 갖는다.
5. n = 0 ... 7을 갖는 샘플 값(tempArray[n])이 하기와 같이 도출된다:
Figure pat00016
Figure pat00017
여기서, RefLayerPicHeightlnSamplesY는 루마 샘플에서 인터-레이어 예측을위한 소스 화상의 높이이다. RefLayerPicWidthlnSamplesY는 루마 샘플에서 인터-레이어 예측을 위한 소스 화상의 폭이다.
6. 보간 루마 샘플 값(rsLumaSample)이 하기와 같이 도출된다:
Figure pat00018
리샘플링된 크로마 샘플 값을 획득하기 위한 인터-레이어 리샘플링 프로세스는 루마 샘플 값에 대해 전술한 프로세스와 동일하거나 유사하게 특정될 수 있다. 예를 들어, 서로 다른 수의 탭을 갖는 필터가 루마 샘플과 크로마 샘플에 사용될 수 있다.
리샘플링은, 예를 들어, 화상에 관해서(리샘플링될 인터-레이어 예측 또는 레퍼런스 영역에 대한 전체 소스에 대해), 슬라이스에 관해서(예를 들어, 증진 레이어 슬라이스에 대응하는 레퍼런스 영역에 대해) 또는 블록에 관해서(예를 들어, 증진 레이어 코딩 트리 유닛에 대응하는 레퍼런스 영역에 대해) 수행될 수 있다. 인터-레이어 예측을 위한 소스 화상의 결정된 영역(예를 들어, 증진 레이어 화상의 화상, 슬라이스 또는 코딩 트리 유닛)의 리샘플링은, 예를 들어, 결정된 영역의 모든 샘플 위치를 루핑하고(looping), 각 샘플 위치에 대해 샘플에 관한 리샘플링 프로세스를 수행함으로써 수행될 수 있다. 그러나, 예를 들어, 특정 샘플 위치의 필터링이 이전 샘플 위치의 변수 값을 사용할 수 있는 것과 같이 결정된 영역을 리샘플링하기 위한 다른 가능성이 존재함을 이해해야 한다.
SVHC 및 MV-HEVC는 인터-레이어 샘플 예측 및 인터-레이어 모션 예측을 가능하게 한다. 인터-레이어 샘플 예측에서, 인터-레이어 레퍼런스(ILR) 화상은 예측 블록의 샘플 값을 획득하는데 사용된다. MV-HEVC에서, 인터-레이어 예측을 위한 소스 화상은 수정없이 ILR 화상으로서 작용한다. SHVC의 공간 및 색역 스케일러 빌러티에서, 리샘플링과 같은 인터-레이어 프로세싱은 인터-레이어 예측을 위한 소스 화상에 적용되어 ILR 화상을 얻는다. SHVC의 리샘플링 프로세스에서, 인터-레이어 예측을 위한 소스 화상은 잘라내기(cropped), 업샘플링 및/또는 패딩되어 ILR 화상을 획득할 수 있다. 인터-레이어 예측을 위한 업샘플링된 소스 화상의 증진 레이어 화상에 대한 상대적 위치는 소위 레퍼런스 레이어 위치 오프셋을 통해 표시된다. 이러한 기능은 베이스 레이어의 화상 영역 중 서브세트만이 증진 레이어 화상에서 증진되는 관심 영역(ROI) 스케일러빌리티를 가능하게 한다.
SHVC는 색역 스케일러빌리티(그러나 이에 제한되지 않음)에 대한 3D 룩업 테이블(LUT)에 기반한 가중 예측 또는 컬러 맵핑 프로세스의 사용을 가능하게 한다. 3D LUT 방법은 다음과 같이 설명될 수 있다. 각 색상 컴포넌트의 샘플 값 범위가 먼저 2x2x2 옥턴트(octants)를 형성하는 두 범위로 분할될 수 있으며, 루마 범위는 8x2x2 옥턴트로 네 개의 부분으로 분할될 수 있다. 각 옥턴트 내에서 교차 색상 컴포넌트 선형 모델을 적용하여 색상 매핑을 수행한다. 각 옥턴트에 대해, 4 개의 꼭지점이 비트스트림으로 인코딩되고/인코딩되거나 비트스트림으로부터 디코딩되어 옥턴트 내의 선형 모델을 나타낸다. 컬러 맵핑 테이블은 각 색상 컴포넌트에 대해 개별적으로 비트스트림으로 인코딩되고/인코딩되거나 비트스트림으로부터 디코딩된다. 컬러 맵핑은 3 단계를 포함하는 것으로 간주될 수 있다: 먼저, 주어진 레퍼런스-레이어 샘플 트리플렛(Y, Cb, Cr)이 속하는 옥턴트가 결정된다. 둘째로, 루마 및 크로마의 샘플 위치가 색상 컴포넌트 조정 프로세스를 적용하여 정렬될 수 있다. 셋째로, 결정된 옥턴트에 대해 특정된 선형 맵핑이 적용된다. 맵핑은 교차 컴포넌트 속성을 가질 수 있으며, 즉, 하나의 색상 컴포넌트의 입력 값이 다른 색상 컴포넌트의 맵핑된 값에 영향을 줄 수 있다. 또한 인터-레이어 리샘플링이 필요한 경우 리샘플링 프로세스에 대한 입력은 컬러 맵핑된 화상이다. 컬러 맵핑은 첫 번째 비트 심도의 샘플을 다른 비트 심도의 샘플에 맵핑할 수 있다.
인터-레이어 모션 예측은 다음과 같이 실현될 수 있다. H.265/HEVC의 TMVP와 같은 시간적 모션 벡터 예측 프로세스는 상이한 인터-레이어의 모션 데이터의 중복을 이용하기 위해 사용될 수 있다. 이는 다음과 같이 수행될 수 있다: 인터-레이어 예측을 위한 소스 화상이 업샘플링되는 경우, 인터-레이어 예측을 위한 소스 화상의 모션 데이터가 또한 모션 필드 매핑(MFM: motion field mapping)으로도 지칭될 수 있다. 증진 레이어 화상이, 예컨대, H.265/HEVC의 TMVP와 같은 시간적 모션 벡터 예측 메커니즘을 갖는 베이스 레이어 화상으로부터의 모션 벡터 예측을 이용하면, 대응하는 모션 벡터 예측자는 맵핑된 레퍼런스-레이어 모션 필드로부터 비롯된다. 이러한 방식으로, 상이한 레이어의 모션 데이터 간의 상관 관계가 스케일 러블 비디오 코더의 코딩 효율을 향상시키는데 이용될 수 있다. SHVC 등에서, 인터-레이어 모션 예측은 TMVP 도출을 위한 코로케이팅된 레퍼런스 화상으로서 인터-레이어 레퍼런스 화상을 설정함으로써 수행될 수 있다. 따라서, 맵핑된 모션 필드는 모션 벡터 예측 프로세스에서 TMVP 후보의 소스이다. SHVC의 공간 스케일러빌 리티에서, MFM(motion field mapping)이 ILR 화상의 모션 정보를 베이스 레이어 화상의 모션 정보로부터 획득하는 반면, 공간 스케일러빌리티가 인터-레이어에 적용되지 않으면 맵핑된 모션 필드는 인터-레이어 예측을 위한 소스 화상의 모션 필드와 동일하다. MFM에서, 인터-레이어 예측을 위한 소스 화상에서의 예측 의존성은 ILR 화상에 대한 레퍼런스 화상 리스트를 생성하기 위해 복제되고, 모션 벡터(MV)는 ILR 화상과 베이스 레이어 화상 사이의 공간 해상도 비율에 따라 재스케일링된다. 대조적으로, MFM은 인터-레이어 모션 예측 프로세스 동안에 레퍼런싱될 레퍼런스-뷰 화상에 대해 MV-HEVC에서 적용되지 않는다.
레퍼런스 레이어 화상과 증진 레이어 화상의 공간적 대응은 추론될 수 있거나 소위 레퍼런스 레이어 위치 오프셋의 하나 이상의 유형으로 표시될 수 있다. 인터-레이어의 인터-레이어 예측이 존재하는지 여부에 관계없이, 두 레이어의 공간적 대응을 레퍼런스 레이어 위치 오프셋과 함께 표시하도록 허용될 수 있다. HEVC에서, 레퍼런스 레이어 위치 오프셋은 인코더에 의해 PPS에 포함되고 디코더에 의해 PPS로부터 디코딩될 수 있다. 레퍼런스 레이어 위치 오프셋은 ROI 스케일러빌리티 달성에 사용되지만 이에 제한되지는 않는다. 레퍼런스 레이어 위치 오프셋은 스케일링된 레퍼런스 레이어 오프셋, 레퍼런스 영역 오프셋 및 리샘플링 위상 세트 중 하나 이상을 포함할 수 있다. 스케일링된 레퍼런스 레이어 오프셋은 레퍼런스 레이어의 디코딩된 화상에서 레퍼런스 영역의 좌측 상부 루마 샘플과 코로케이팅된 현재 화상의 샘플 사이의 수평 및 수직 오프셋과 레퍼런스 레이어의 디코딩된 화상 사이에서 레퍼런스 영역의 우측 하부 루마 샘플과 코로케이팅된 현재 화상의 샘플 사이의 수평 및 수직 오프셋을 특정하는 것으로 고려될 수 있다. 또 다른 방법은 증진 레이어 화상의 각 코너 샘플에 대한 업샘플링된 레퍼런스 영역의 코너 샘플의 위치를 특정하는 스케일링된 레퍼런스 레이어 오프셋을 고려하는 것이다. 스케일링된 레퍼런스 레이어 오프셋 값은 서명될 수 있다. 레퍼런스 영역 오프셋은 레퍼런스 레이어의 디코딩된 화상에서 레퍼런스 영역의 좌측 상부의 루마 샘플과 동일한 디코딩된 화상의 좌측 상부의 루마 샘플의 수평 및 수직 오프셋뿐만 아니라 레퍼런스 레이어의 디코딩된 화상의 레퍼런스 영역의 우측 하부의 루마 샘플과 동일한 디코딩된 화상의 오른쪽 하단의 루마 샘플 사이의 수평 및 수직 오프셋을 특정하는 것으로 간주될 수 있다. 레퍼런스 영역 오프셋 값은 서명될 수 있다. 리샘플링 위상 세트는 인터-레이어 예측을 위한 소스 화상의 리샘플링 프로세스에서 사용되는 위상 오프셋을 특정하는 것으로 간주될 수 있다. 루마 및 크로마 컴포넌트에 대해 상이한 위상 오프셋이 제공될 수 있다.
HEVC 표준은 다음과 같이 레퍼런스 레이어 위치 오프셋과 관련된 신택스 요소의 시맨틱을 특정한다:
num_ref_loc_offsets은 PPS에 제시된 레퍼런스 레이어 위치 오프셋의 수를 특정한다. num_ref_loc_offsets의 값은 0부터 vps_max_layers_minusl까지의 범위 내에 있을 수 있다.
ref_loc_offset_layer_id[i]는 i 번째 레퍼런스 레이어 위치 오프셋 파라미터가 특정된 nuh_layer_id 값을 특정한다. ref_loc_offset_layer_id[i]는, 예를 들어, 보조 화상과 그 연관된 주요 화상의 공간적 대응이 특정되는 경우, 직접 레퍼런스 레이어 사이에 있을 필요는 없다는 것을 이해해야 한다. i 번째 레퍼런스 레이어 위치 오프셋 파라미터는 i 번째 스케일링된 레퍼런스 레이어 오프셋 파라미터, i 번째 레퍼런스 영역 오프셋 파라미터 및 i 번째 리샘플링 위상 세트 파라미터로 구성된다
1과 동일한 scaled_ref_layer_offset_present_flag[i]은 i 번째 스케일링된 레퍼런스 레이어 오프셋 파라미터가 PPS에 존재함을 특정한다. 0과 동일한 scaled_ref_layer_offset_present_flag[i]는 i 번째 스케일링된 레퍼런스 레이어 오프셋 파라미터가 PPS에 존재하지 않음을 특정한다. 존재하지 않는 경우, scaled_ref_layer_offset_present_flag[i]의 값은 0과 같다고 추론된다. i 번째 스케일링된 레퍼런스 레이어 오프셋 파라미터는 ref_loc_offset_layer_id [i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상 내의 레퍼런스 영역에 대해 이러한 PPS를 레퍼런싱하는 화상의 공간적 대응을 특정한다.
scaled_ref_layer_left_offset[ref_loc_offset_layer_id[i]]는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상 내의 레퍼런스 영역의 좌측 상부의 루마 샘플과 코로케이팅된 현재 화상의 샘플과, subWC luma 샘플 유닛의 현재 화상의 좌측 상부의 luma 샘플 사이의 수평 오프셋을 특정하고, 여기서 subWC는 이러한 PPS를 레퍼런싱하는 화상의 SubWidthC와 동일하다. scaled_ref_layer_left_offset[ref_loc_offset_layer_id[i]]의 값은 -214에서 214-1의 범위 내에 있어야 한다. 존재하지 않으면, scaled_ref_layer_left_offset [ref_loc_offset_layer_id[i]]의 값은 0과 동일하다고 추론된다.
scaled_ref_layer_top_offset[ref_loc_offset_layer_id[i]]는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상 내의 레퍼런스 영역의 좌측 상부 루마 샘플과 코로케이팅된 현재 화상의 샘플과 subHC 루마 샘플 유닛의 현재 화상의 좌측 상부 루마 샘플 사이의 수직 오프셋을 특정하며, 여기서 subHC는 이러한 PPS를 레퍼런싱하는 화상의 SubHeightC와 같다. scaled_ref_layer_top_offset[ref_loc_offset_layer_id[i]]의 값은 -214에서 214-1의 범위 내에 있어야 한다. 존재하지 않는 경우, scaled_ref_layer_top_offset[ref_loc_offset_layer_id[i]]의 값은 0과 같다고 추론된다.
scaled_ref_layer_right_offset[ref_loc_offset_layer_id[i]]는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상에서 레퍼런스 영역의 우측 하부의 루마 샘플과 코로케이팅된 현재 화상의 샘플과 subWC 루마 샘플 유닛의 현재 화상의 우측 하부 루마 샘플 사이의 수평 오프셋을 특정하며, 여기서 subWC는 이러한 PPS를 레퍼런싱하는 화상의 SubWidthC와 동일하다. scaled_ref_layer_right_offset[ref_loc_offset_layer_id[i]]의 값은 -214에서 214-1의 범위 내에 있어야 한다. 존재하지 않으면, scaled_ref_layer_right_offset[ref_loc_offset_layer_id[i]]의 값은 0과 동일하다고 추론된다.
scaled_ref_layer_bottom_offset[ref_loc_offset_layer_id[i]]는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상에서 레퍼런스 영역의 우측 하부의 루마 샘플과 코로케이팅된 현재 화상의 샘플과 subHC 루마 샘플 유닛의 현재 화상의 우측 하부의 루마 샘플 사이의 수직 오프셋을 특정하고, 여기서 subHC는 이러한 PPS를 레퍼런싱하는 화상의 SubHeightC와 동일하다. scaled_ref_layer_bottom_offset[ref_loc_offset_layer_id[i]]의 값은 -214에서 214-1의 범위 내에 있어야 한다. 존재하지 않으면, scaled_ref_layer_bottom_offset[ref_loc_offset_layer_id[i]]의 값은 0과 동일하다고 추론된다.
currTopLeftSample, currBotRightSample, colRefRegionTopLeftSample 및 colRefRegionBotRightSample을 각각 현재 화상의 좌측 상부의 루마 샘플, 현재 화상의 우측 하부의 루마 샘플, ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상 내의 레퍼런스 영역의 좌측 상부 루마 샘플과 코로케이팅된 현재 화상의 샘플, 및 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상 내의 레퍼런스 영역의 우측 하부 루마 샘플과 코로케이팅된 현재 화상의 샘플이라 하자.
scaled_ref_layer_left_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 큰 경우, colRefRegionTopLeftSample은 currTopLeftSample의 오른쪽에 위치한다. scaled_ref_layer_left_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 작은 경우, colRefRegionTopLeftSample은 currTopLeftSample의 왼쪽에 위치한다.
scaled_ref_layer_top_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 큰 경우, colRefRegionTopLeftSample은 currTopLeftSample의 하부에 위치한다. scaled_ref_layer_top_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 작은 경우, colRefRegionTopLeftSample은 currTopLeftSample의 상부에 위치한다.
scaled_ref_layer_right_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 큰 경우 colRefRegionBotRightSample은 currBotRightSample의 왼쪽에 위치한다. scaled_ref_layer_right_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 작은 경우 colRefRegionTopLeftSample은 currBotRightSample의 오른쪽에 위치한다.
scaled_ref_layer_bottom_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 큰 경우, colRefRegionBotRightSample은 currBotRightSample의 상부에 위치한다. scaled_ref_layer_bottom_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 작은 경우, colRefRegionTopLeftSample은 currBotRightSample의 하부에 위치한다.
1과 동일한 ref_region_offset_present_flag[i]은 i 번째 레퍼런스 영역 오프셋 파라미터가 PPS에 존재함을 특정한다. 0과 동일한 ref_region_offset_present_flag[i]는 i 번째 레퍼런스 영역 오프셋 파라미터가 PPS에 존재하지 않음을 특정한다. 존재하지 않는 경우, ref_region_offset_present_flag[i]의 값은 0과 같다고 추론된다. i 번째의 레퍼런스 영역 오프셋 파라미터는 동일한 디코딩된 화상에 대해 ref_loc_offset_layer_id[i]와 같은 nuh_layer_id를 갖는 디코딩된 화상 내의 레퍼런스 영역의 공간적 대응을 특정한다.
ref_region_left_offset[ref_loc_offset_layer_id[i]]는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상 내의 레퍼런스 영역의 우측 상부의 루마 샘플을 특정하며, subWC 루마 샘플의 유닛 내의 동일한 디코딩된 화상의 좌측 상부의 루마 샘플 사이의 수평 오프셋을 특정하며, subWC는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 레이어의 SubWidthC와 동일하다. ref_region_left_offset[ref_loc_offset_layer_id[i]]의 값은 -214에서 214-1의 범위 내에 있어야 한다. 존재하지 않는 경우, ref_region_left_offset[ref_loc_offset_layer_id[i]]의 값은 0과 같다고 추론된다.
ref_region_top_offset[ref_loc_offset_layer_id[i]]는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상의 좌측 상부의 루마 샘플과 subHC 루마 샘플의 유닛 내의 동일한 디코딩된 화상의 좌측 상부의 루마 샘플 사이의 수직 오프셋을 특정하며, subHC는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 레이어의 SubHeightC와 동일하다. ref_region_top_offset [ref_loc_offset_layer_id [i]]의 값은 -214에서 214-1의 범위 내에 존재해야 한다. 존재하지 않는 경우, ref_region_top_offset[ref_loc_offset_layer_id[i]]의 값은 0과 동일하다고 추론된다.
ref_region_right_offset[ref_loc_offset_layer_id[i]]는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상 내의 레퍼런스 영역의 우측 하부의 루마 샘플과 subWC 루마 샘플의 유닛 내의 동일한 디코딩된 화상의 우측 하부의 루마 샘플 사이의 수평 오프셋을 특정하며, 여기서 subWC는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 레이어의 SubWidthC와 동일하다. ref_layer_right_offset[ref_loc_offset_layer_id[i]]의 값은 -214에서 214-1의 범위 내에 있어야 한다. 존재하지 않는 경우, ref_region_right_offset[ref_loc_offset_layer_id[i]]의 값은 0과 동일하다고 추론된다.
ref_region_bottom_offset[ref_loc_offset_layer_id[i]]는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상 내의 레퍼런스 영역의 우측 하부의 루마 샘플과 subHC 루마 샘플의 유닛 내의 동일한 디코딩된 화상의 우측 하부의 루마 샘플 사이의 수직 오프셋을 특정하고, 여기서 subHC는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 레이어의 SubHeightC와 동일하다. ref_layer_bottom_offset[ref_loc_offset_layer_id[i]]의 값은 -214에서 214-1의 범위 내에 있어야 한다. 존재하지 않으면, ref_region_bottom_offset[ref_loc_offset_layer_id[i]]의 값은 0과 동일하다고 추론된다.
refPicTopLeftSample, refPicBotRightSample, refRegionTopLeftSample, 및 refRegionBotRightSample은 각각 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상의 좌측 상부의 루마 샘플, ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상 내의 우측 하부의 루마 샘플, ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 디코딩된 화상의 레퍼런스 영역의 좌측 상부의 루마 샘플 및 ref_loc_offset_layer_id[i]와 nuh_layer_id를 갖는 디코딩된 화상 내의 레퍼런스 영역의 우측 하부의 루마 샘플이라고 하자.
ref_region_left_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 큰 경우, refRegionTopLeftSample은 refPicTopLeftSample의 오른쪽에 위치한다. ref_region_left_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 작은 경우, refRegionTopLeftSample은 refPicTopLeftSample의 왼쪽에 위치한다.
ref_region_top_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 큰 경우, refRegionTopLeftSample은 refPicTopLeftSample의 하부에 위치한다. ref_region_top_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 작은 경우, refRegionTopLeftSample은 refPicTopLeftSample의 상부에 위치한다.
ref_region_right_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 큰 경우, refRegionBotRightSample이 refPicBotRightSample의 좌측에 위치한다. ref_region_right_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 작은 경우, refRegionBotRightSample은 refPicBotRightSample의 오른쪽에 위치한다.
ref_region_bottom_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 큰 경우, refRegionBotRightSample은 refPicBotRightSample의 상부에 위치한다. ref_region_bottom_offset[ref_loc_offset_layer_id[i]]의 값이 0보다 작은 경우, refRegionBotRightSample은 refPicBotRightSample의 하부에 위치한다.
1과 동일한 resample_phase_set_present_flag[i]는 i 번째 리샘플링 위상 세트가 PPS에 존재함을 특정한다. 0과 동일한 resample_phase_set_present_flag[i]는 i 번째 리샘플링 위상 세트가 PPS에 존재하지 않음을 특정한다. 존재하지 않으면, resample_phase_set_present_flag[i]의 값은 0과 동일하다고 추론된다.
i 번째 리샘플링 위상 세트는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 직접 레퍼런스 레이어 화상의 리샘플링 프로세스에서 사용되는 위상 오프셋을 특정한다. ref_loc_offset_layer_id[i]에 의해 특정된 레이어가 현재 레이어의 직접 레퍼런스 레이어가 아닌 경우, 신택스 요소 phase_hor_luma[ref_loc_offset_layer_id[i]], phase_ver_luma[ref_loc_offset_layer_id[i]], phase_hor_chroma_plus8[ref_loc_offset_layer_id[i]] 및 phase_ver_chroma_plus8[ref_loc_offset_layer_id[i]]는 특정되지 않고 디코더에 의해 무시되어야 한다.
phase_hor_luma[ref_loc_offset_layer_id[i]]는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 직접 레퍼런스 레이어 화상의 리샘플링 프로세스에서 사용되는 수평 방향의 루마 위상 시프트를 특정한다. phase_hor_luma[ref_loc_offset_layer_id[i]]의 값은 0부터 31까지의 범위 내에 있어야 한다. 존재하지 않는 경우, phase_hor_luma[ref_loc_offset_layer_id[i]]의 값은 0과 같다고 추론된다.
phase_ver_luma[ref_loc_offset_layer_id[i]]는 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 직접 레퍼런스 레이어 화상의 리샘플링에 사용되는 수직 방향의 루마 위상 시프트를 특정한다. phase_ver_luma[ref_loc_offset_layer_id[i]]의 값은 0부터 31까지의 범위 내에 있어야 한다. 존재하지 않는 경우, phase_ver_luma[ref_loc_offset_layer_id[i]]의 값은 0과 같다고 추론된다.
phase_hor_chroma_plus8[ref_loc_offset_layer_id[i]] 빼기 8은 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 직접 레퍼런스 레이어 화상의 리샘플링에 사용된 수평 방향의 크로마 위상 시프트를 특정한다. phase_hor_chroma_plus8[ref_loc_offset_layer_id[i]]의 값은 0부터 63까지의 범위 내에 있어야 한다. 존재하지 않는 경우, phase_hor_chroma_plus8[ref_loc_offset_layer_id[i]]의 값은 8과 같다고 추론된다.
phase_ver_chroma_plus8[ref_loc_offset_layer_id[i]] 빼기 8은 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 직접 레퍼런스 레이어 화상의 리샘플링 프로세스에서 사용된 수직 방향의 크로마 위상 시프트를 특정한다. phase_ver_chroma_plus8[ref_loc_offset_layer_id[i]]의 값은 0부터 63까지의 범위 내에 있어야 한다. 존재하지 않는 경우, phase_ver_chroma_plus8[ref_loc_offset_layer_id[i]]의 값은 (4 * scaledRef egHeight + refRegHeight / 2) / refRegHeight + 4와 같다고 추론되고, 여기서 scaledRefRegHeight의 값은 이러한 PPS를 레퍼런싱하는 화상의 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 직접 레퍼런스 레이어 화상에 대해 도출된 ScaledRefRegionHeightlnSamplesY의 값과 동일하고, refRegHeight의 값은 이러한 PPS를 레퍼런싱하는 화상의 ref_loc_offset_layer_id[i]와 동일한 nuh_layer_id를 갖는 직접 레퍼런스 레이어 화상에 대해 도출된 RefLayerRegionHeightlnSamplesY와 동일하다.
도 10은 스케일링된 레퍼런스 레이어 오프셋이 사용되는 레퍼런스 레이어 위치 오프셋을 도시하고, 레퍼런스 영역 오프셋은 존재하지 않거나 0과 같으며, 리샘플링 위상 세트가 존재하지 않거나 위상 값이 디폴트(추론) 값과 동일하다. 도 10은 스케일링/업샘플링된 베이스 레이어(1010) 뿐만 아니라 증진 레이어(1030) 및 베이스 레이어(1020)를 도시한다.
rLId와 동일한 nuh_layer_id를 갖는 특정 직접 레퍼런스 레이어에 대해, 변수 ScaledRefLayerLeftOffset, ScaledRefLayerTopOffset, ScaledRefLayerRightOffset 및 ScaledRefLayerBottomOffset은 (필요 시에) 각각 현재 화상의 루마 샘플 유닛으로 표현되도록 스케일링되는 scaled_ref_layer_left_offset[rLId], scaled_ref_layer_top_offset[rLId], scaled_ref_layer_right_offset[rLId] 및 scaled_ref_layer_bottom_offset[rLId]과 동일하게 설정될 수 있다. 변수 ScaledRefRegionWidthlnSamplesY 및 ScaledRefRegionHeightlnSamplesY는 현재 화상 내의 레퍼런스 영역의 폭 및 높이로 각각 설정될 수 있다. 루마 샘플 어레이에 대한 수평 및 수직 스케일 인자는 (여기서는 ScaledRefRegionWidthlnSamplesY로 표시되는 인터-레이어 예측을 위한 소스 화상의 루마 샘플 어레이에서) 레퍼런스 영역 폭에 대한 ScaledRefRegionWidthInSamplesY의 비율 및 (인터-레이어 예측을 위한 소스 화상의 루마 샘플 어레이에서) 레퍼런스 영역 높이에 대한 ScaledRefRegionHeightlnSamplesY의 비율로서 각각 도출될 수 있다. 스케일 인자의 도출에서, 리샘플링 프로세스의 서브 샘플 입도가 고려될 수 있다. 예를 들어, 리샘플링 프로세스가 1/16 샘플 입도에서 동작할 때 루마 샘플 배열에 대한 수평 스케일 인자 ScaleFactorHor는 ((RefLayerRegionWidthlnSamplesY << 16) + (ScaledRefRegionWidthlnSamplesY >> 1)) / ScaledRefRegionWidthlnSamplesY와 동일하게 설정될 수 있으며, 여기서 "<<"는 왼쪽으로의 비트 시프트 연산이고 ">>"는 오른쪽으로의 비트 시프트 연산이고 "/"는 정수 나누기 연산이다. 크로마 샘플 어레이에 대한 스케일 인자는 유사하게 도출될 수 있다.
(xP, yP)에 대응하거나 코로케이팅된 레퍼런스 레이어 샘플 위치는, 예를 들어, 다음의 프로세스를 사용하여 레퍼런스 레이어 위치 오프셋에 기초하여 루마 샘플 어레이에 대해 도출할 수 있으며, 여기서 샘플 위치(xP, yP)는 루마 컴포넌트의 좌측 상부의 샘플에 상대적이다. 결과적으로, 프로세스는 루마 컴포넌트의 좌측 상부의 샘플에 상대적인 1/16 번째 샘플의 유닛 내의 레퍼런스 레이어 샘플 위치를 특정하는 샘플 위치(xRef16, yRef16)를 생성한다. xRef16은 (((xP - ScaledRefLayerLeftOffset) * ScaleFactorHor + addHor + (1 << 11)) >> 12) + refOffset과 동일하게 설정되고, 여기서 addHor는 루마에 대한 수평 위상 오프셋에 기초하여 설정되고, refOffSetLeft는 인터-레이어 예측을 위한 소스 화상의 루마 샘플 어레이의 좌측 상부의 샘플에 상대적인 16 번째 샘플의 유닛 내의 레퍼런스 영역의 좌측 오프셋이다. yRefl6은 (((yP - ScaledRefLayerTopOffset) * ScaleFactorVer + addVer + (1 << 11)) >> 12) + refOffsetTop과 동일하게 설정되고, 여기서 addVer는 루마에 대한 수직 위상 오프셋에 기초하여 설정되며, refOffSetTop은 인터-레이어 예측을 위한 소스 화상의 루마 샘플 어레이의 좌측 상부의 샘플에 상대적인 16 번째 샘플의 유닛 내의 레퍼런스 영역의 상부 오프셋이다. (xP, yP)에 대응하거나 코로케이팅된 레퍼런스 레이어 전술한 바와 유사하게 크로마 샘플 어레이에 대해 도출될 수 있다.
엔트로피 코더의 한 유형인 CABAC(Context-based Adaptive Binary Arithmetic Coding)는 신택스 요소(SE)를 코딩하기 위한 무손실 압축 툴이다. SE는 비디오가 어떻게 인코딩되었고 어떻게 디코딩되어야 하는지를 설명하는 정보이다. SE는 일반적으로 모든 예측 방법(예컨대, CU/PU/TU 파티션, 예측 타입, 인트라 예측 모드, 모션 벡터 등) 및 예측 에러(잔차) 코딩 정보(예컨대, 잔차 스킵/스플릿, 변환 스킵/스플릿, 계수 최종 x, 계수 최종 y, 유효 계수 등)에 대해 정의된다. 예를 들어, HEVC 표준에서, 상이한 CABAC의 총량은 다음 단계를 갖는다:
- 이원화(binarization): 신택스 요소가 이진 기호(bin)로 맵핑된다. Unary, Truncated Unary, Exp-Golomb 및 고정 길이(동일 확률) 이원화와 같은 여러 상이한 종류의 이원화가 신택스 요소의 예상 통계에 기초하여 사용될 수 있다;
- 콘텍스트 모델링: 각 bin의 확률이 예상되는 속성과 동일한 콘텍스트를 사용하여 이전에 코딩된 bin을 기반으로 추정된다. 동일한 동작 및 분배를 갖는 bin이 동일한 콘텍스트를 공유할 수 있다. 콘텍스트는 일반적으로 신택스 요소, 신택스 요소의 bin 위치, 루마/크로마, 블록 크기, 예측 모드 및/또는 인접 정보를 기반으로 정의된다. HEVC 표준에는 약 200 개의 콘텍스트가 정의되어 있다. 산술 코딩 중에 각 콘텍스트는 확률 상태 테이블을 가지며 해당 콘텍스트로 코딩된 bin의 확률을 결정한다. HEVC 표준의 확률 상태 테이블에 정의된 약 128 개의 가능한 확률 상태가 있다;
- 산술 코딩: bin은 대응하는 추정된 확률에 기초한 산술 코딩에 의해 코딩된다. 특수한 경우, bin은 ("바이패스" 코딩이라고도 알려진) 50 %의 동일한 확률로 코딩 될 수 있다;
- 확률 업데이트: 콘텍스트의 현재 확률 상태 변수 및 코딩된 비트의 값에 기초하여, 콘텍스트의 확률 상태 변수가 업데이트된다. 이를 위해 사전정의된 업데이트 테이블이 HEVC 표준에 정의되어 있다.
인트라 블록 복사(IBC: intra block copy)라 불리는 코딩 툴 또는 모드가 인터 예측과 유사하지만, 인코딩 또는 디코딩되는 현재 화상을 레퍼런스 화상으로서 사용한다. 명백하게, 현재 블록이 코딩 또는 디코딩되기 전에 코딩되거나 디코딩 된 블록만이 예측을 위한 레퍼런스로서 사용될 수 있다. HEVC의 화면 내용 코딩(SCC: screen content coding) 확장에는 IBC가 포함되도록 계획된다.
본 실시예는 360도 파노라마 이미지(들) 및/또는 비디오를 코딩 및/또는 디코딩하는 기법에 관한 것이다. 실시예는 360도의 완전한 시야가 수평으로 커버되고 따라서 샘플 어레이의 맨 오른쪽 샘플 열이 샘플 어레이의 좌측 샘플 열에 인접한 것으로 간주될 수 있다. 많은 실시예가 360도 파노라마 이미지(들) 및/또는 비디오 코딩의 압축 효율을 향상시키는데 사용될 수 있고, 추가적으로 또는 대안적으로 후술하는 다른 장점을 제공할 수 있다.
하기에서 일부 예시가 제공될 것이다.
1. 인터-레이어 예측
공간 스케일러블 이미지 및/또는 비디오 코딩은, 재구성된 베이스 레이어 화상을 증진 레이어 화상을 인코딩/디코딩(하기에서 (디)코딩이라고 지칭됨)하기 위한 레퍼런스 화상으로서 동작하도록 리샘플링함으로써 실현될 수 있다. 대안적으로, 공간 스케일러블 비디오 코딩은 증진 레이어 화상의 부분을 (디)코딩하기 위한 예측 블록으로서 동작하도록 인트라-코딩된 블록과 같은 베이스 레이어의 부분을 리샘플링함으로써 실현될 수 있다. 리샘플링은 레퍼런스 샘플을 획득하기 위해 다수의 베이스 레이어 샘플이 필터링되는 필터링 동작을 포함할 수 있다. 따라서, 그러한 리샘플링은 화상 경계 외부의 샘플 위치에 액세스할 수 있다. 레퍼런스 영역 위치 오프셋 등은 레퍼런스 레이어 화상에 대한 증진 레이어 화상의 공간적 대응을 표시하기 위해 사용될 수 있으며, 인터-레이어 리샘플링 프로세스가 레퍼런스 레이어 화상의 화상 경계 외부의 샘플을 레퍼런싱하도록 할 수 있다. 레퍼런스 영역 위치 오프셋은, 예를 들어,품질 및 ROI 스케일러빌리티 결합한 것일 수 있으며, 즉 공간 스케일러빌리티 이외의 다른 목적으로도 사용될 수 있다. 일부 실시예는 360도 파노라마 화상의 화상 경계 외부의 샘플 위치에 액세스하는 것에 대해 제시된다.
일 실시예에 따르면, 인코더 또는 디코더는 인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성한다. 대안적으로, 인코더 또는 디코더는 인터-레이어 예측을 위해 360도 파노라마 소스 화상으로서 작동하는 외부 베이스 레이어 화상을 수신한다. 그 다음, 인코더 또는 디코더는 인터-레이어 예측을 위해 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하는데, 도출은 인터-레이어 리샘플링을 포함한다. 인터-레이어 리샘플링은 전술한 것과 유사하게 수행될 수 있다; 그러나 화상 경계 외부의 샘플 위치가 필터링에서 입력으로 사용되는 리샘플링된 샘플 값의 도출은 하기에서 설명하는 바와 같이 상이하게 수행된다. 도 8에 도시된 바와 같이, 화상 경계 외부의 샘플 위치가 필터링 프로세스에서 레퍼런싱되는 경우, 반대쪽 경계 영역의 샘플 값이 사용된다. 즉, 화상 경계에 수평적으로 외부에 있는 샘플이 리샘플링된 샘플 값의 도출에 필요한 경우, 경계 샘플을 사용하는 종래의 방식 대신에 화상의 반대쪽으로부터의 샘플 값이 사용된다.
화상 경계 외부의 샘플 위치에 대한 레퍼런스는 인터-레이어 예측을 위한 소스 화상의 샘플 어레이(들)를 확장시킴으로써 처리될 수 있어서, 샘플 어레이(들)는 또한 인터-레이어 예측에서 사용될 수 있는 그러한 화상 경계 외부의 샘플 위치를 포함한다. 이러한 확장은 도 8에서 화상을 수평적으로 확장하는 샘플 위치에 의해 표시되도록 이해될 수 있다.
대안적으로, 화상 경계 외부의 샘플 위치에 대한 레퍼런스는 레퍼런싱된 샘플에 대한 수평 샘플 위치를 랩핑하여 처리될 수 있다. 음의 수평 위치를 0으로 포화시키고 폭 - 1보다 큰 수평 샘플 위치(즉, 화상의 가장 오른쪽 샘플 열의 수평 샘플 위치)를 폭 - 1로 포화시키는 대신에, 화상 경계 외부의 레퍼런싱된 수평 샘플 위치가 랩핑될 수 있다. 이는, 폭 - 1보다 큰 수평 샘플 위치가 랩핑되어 화상의 왼쪽에 있는 샘플 열을 레퍼런싱함을 의미한다. 그 반대의 경우, 0보다 작은 수평 샘플 위치가 랩핑되어 화상의 오른쪽에있는 샘플 열을 레퍼런싱한다.
예시적인 실시예에서, 앞서 제시된 예시적인 인터-레이어 리샘플링 프로세스는, 프로세스의 단계 5가 수평 샘플을 레퍼런싱하는 경우 Clip3 함수가 아닌 Wrap 함수 (이전에 지정된 바와 같이)를 사용한다는 수정을 통해 인터-레이어 리샘플링에 사용된다. 따라서, 인터-레이어 예측을 위한 360도 파노라마 소스 화상에 대한 단계 5는 다음과 같다: n = 0 ... 7 인 샘플 값 tempArray[n]은 다음과 같이 도출된다:
Figure pat00019
여기서, RefLayerPicHeightlnSamplesY는 루마 샘플에서 인터-레이어 예측을위한 소스 화상의 높이이다. RefLayerPicWidthlnSamplesY는 루마 샘플에서 인터-레이어 예측을 위한 소스 화상의 폭이다.
일 실시예에서, 화상 경계 외부의 샘플 위치가 전술된 바와 같이 또는 통상적으로 인터-레이어 리샘플링에서 처리되는지가 비트스트림에 표시된다. 인코더는 비디오 콘텐츠의 유형(예를 들어, 콘텐츠가 360도 파노라마인지의 여부)에 관한 정보를 얻을 수 있다. 대안적으로 또는 부가적으로, 인코더는 콘텐츠가 360도 파노라마 콘텐츠인지를 검출하는 알고리즘을 사용할 수 있다. 화상 경계 외부의 샘플 위치를 처리하는 어떤 방법이 인터-레이어 리샘플링에 사용되는지를 결론짓는 것에 대한 응답으로서, 인코더는 비트스트림에 방법을 표시한다. 시그널링은 인터-레이어 리샘플링에서 화상 경계 외부의 샘플 위치를 처리하는 것에 특정될 수 있거나 또는 인터 예측을 위해 화상 경계 외부의 샘플 위치를 처리하는 것과 결합될 수 있다. 예를 들어, 인코더는 비트스트림에 다음 표시 중 하나 이상을 포함할 수 있다:
- 시퀀스 파라미터 세트(SPS)와 같은 시퀀스-레벨 신택스 구조의 hor_wraparound_flag. hor_wraparound_flag는 SPS가 활성 SPS인 모든 화상에 대해 다음과 같이 특정한다:
o hor_wraparound_flag가 0과 동일한 경우, 화상 경계 외부의 수평 샘플 위치는 화상 경계 내에 있도록 포화되고,
o hor_wraparound_flag가 1과 동일한 경우, 화상 경계 바깥의 수평 샘플 위치는 화상 경계 내에 있도록 랩핑된다.
- 화상 파라미터 세트(PPS)와 같은 화상-레벨 신택스 구조의 hor_wraparound_flag. PPS의 hor_wraparound_flag는 전술한 SPS 플래그와 유사하게 특정되지만 PPS가 활성 PPS인 모든 화상에 적용된다. PPS 플래그는, 화상이 인터-레이어 예측을 위한 소스 화상으로서 및/또는 인터 예측을 위한 레퍼런스 화상으로서 사용되는 경우에 PPS가 활성 PPS인 화상에 적용되도록 특정할 수 있다. 대안적으로 또는 부가적으로, PPS 플래그는 PPS가 활성 PPS인 화상의 인터-레이어 예측을 위한 소스 화상(들) 및/또는 PPS가 활성 PPS인 화상의 인터 예측을 위한 레퍼런스 화상에 적용되도록 특정될 수 있다. 대안적으로 또는 부가적으로, PPS 플래그는, 예컨대, PPS가 활성 PPS인 화상과 인터-레이어 예측을 위한 특정 소스 화상 사이의 화상의 특정 쌍(들) 사이에 적용되도록 더 표시될 수 있으며, 이는, 예컨대, 레퍼런스 레이어 위치 오프셋 내에 또는 레퍼런스 레이어 위치 오프셋에 결합된 직접 레퍼런스 레이어의 nuh_laye_id를 이용하여 표시될 수 있다.
- 예측 유닛 신택스 구조에서와 같이 화상 레벨 하의 신택스 구조의 hor_wraparound_flag. hor_wraparound_flag는 조건부로 비트스트림에 존재할 수 있다. 일 실시예에서, hor_wraparound_flag는 화상 경계로부터 사전정의되거나, 종결되거나, 또는 시그널링된(예를 들어, SPS에서) 범위 내에 위치된 PU에 존재한다. 범위는, 예를 들어, 인터-레이어 리샘플링 필터의 탭들의 수 및/또는 최대 사전정의된 또는 표시된 수평 모션 벡터 길이에 기초하여 결정될 수 있다. 다른 실시예에서, hor_wraparound_flag는 조건부로 존재하는데, 화상 경계 외부의 샘플 위치가 인터 예측 프로세스에 필요한 경우, hor_wraparound_flag는 인터 예측에서 사용된 수평 샘플 위치에 적용될 수 있다. 인코더는, 예를 들어, hor_wraparound_flag의 값에 대한 레이트-왜곡 최적화된 결정을 사용할 수 있다. hor_wraparound_flag의 다른 값들이 코드 워드의 인코딩에 영향을 미치도록 hor_wraparound_flag는 CABAC와 같은 상황 적응형 엔트로피 코더로 코딩될 수 있다.
일부 실시예에서, 1과 동일한 시퀀스-레벨 hor_wraparound_flag는 화상-레벨 hor_wraparound_flag의 존재를 표시할 수 있다. 시퀀스 레벨 hor_wraparound_flag가 0인 경우, 화상 경계 외부의 수평 샘플 위치는 화상 경계 내에 있도록 포화된다. 그렇지 않으면 화상-레벨 hor_wraparound_flag가 상기에 특정된 대로 적용된다.
일부 실시예에서, 시퀀스-레벨 hor_wraparound_flag는 값 0 및 1이 전술한 바와 같이 특정될 수 있고, 값 2가 포화 또는 랩핑이 화상-레벨 hor_wraparound_flag에 의해 좌우되도록 사용될 수 있음을 표시할 수 있는 표시자로 대체된다. 화상-레벨 hor_wraparound_flag는 시퀀스-레벨 표시자가 2와 동일한 경우에만 존재한다.
일부 실시예에서, 시퀀스-레벨 표시자 또는 플래그로 화상-레벨 hor_wraparound_flag를 게이팅(gating)하는 것과 유사하게, 화상 레벨 하의 hor_wraparound_flag는 화상-레벨 표시자 또는 플래그로 게이팅된다.
일 실시예에서, 디코더는 화상 경계 외부의 샘플 위치가 전술한 바와 같이 또는 통상의 인터-레이어 리샘플링에서 처리되는지에 대한 하나 이상의 신택스 요소를 비트스트림으로부터 디코딩한다. 예를 들어, 디코더는 비트스트림으로부터 하나 이상의 신택스 요소를 전술한 바와 같이 디코딩할 수 있다. 디코더는 신택스 요소를 사용하여 화상 경계 외부의 샘플 위치를 처리하는 어떤 방법이 인터-레이어 리샘플링에 사용되는지를 결론짓는다. 시그널링은 인터-레이어 리샘플링에서 화상 경계 외부의 샘플 위치를 처리하는 것에 특정될 수 있거나 또는 인터 예측을 위해 화상 경계 외부의 샘플 위치를 처리하는 것과 결합될 수 있다.
일 실시예에서, 전술한 표시는, 예컨대, 코딩 표준에 사전정의될 수 있거나, 또는 인코더에 의해 표시되고/표시되거나 디코더에 의해 디코딩되어, 예를 들어, 오른쪽 화상 경계와 같은 특정 화상 경계 또는 경계들에만 적용될 수 있다. 일부 실시예에서, 특정 화상 경계 또는 경계들에 대해서만 표시를 적용하는 것에 대한 제약은 인터-레이어 리샘플링에 적용될 수 있지만 인터 예측에는 적용될 수 없다. 예를 들어, 화상의 우측에 관련된 시그널링과는 독립적으로, (코딩 표준에서와 같이) 사전정의되거나, 샘플 어레이의 가장 좌측의 열의 수평 좌표보다 작은 수평 샘플 위치가 가장 좌측의 열의 수평 좌표와 같아지도록 포화되는 것을 표시할 수 있다. 샘플 위치가 포화되면, 화상의 우측의 샘플 값은 리샘플링에 필요하지 않으므로, 베이스 레이어 및 증진 레이어 화상을 병렬로 (디)코딩하는 것이 가능할 수 있고, 예컨대, 래스터 예측에서 유닛을 코딩함으로써, 증진 레이어의 (디)코딩은, 예를 들어, 베이스 레이어에서의 각 CTU 행과 비교하여 하나의 CTU 행만큼 지연될 수 있다.
일 실시예에서, 베이스 레이어는, 예를 들어, 복수의 이미지 센서에 의해 캡처된 비디오를 스티칭함으로써 생성된 360도 파노라마 비디오를 나타낸다. 카메라 센서는 본질적으로 상이한 공간 해상도를 갖거나 상이한 공간 해상도를 사용하도록 구성될 수 있다. 대안적으로 또는 부가적으로, 파노라마 비디오의 하나 이상의 영역은 상이한 공간 해상도를 사용하도록 선택될 수 있다. 대안적으로 또는 부가적으로, 파노라마 비디오의 하나 이상의 영역은 검출 알고리즘 및/또는 수동 입력을 사용하여 관심 영역이 되도록 인코더에서 및/또는 비디오 처리 유닛 및/또는 사용자에 의해 선택될 수 있다. 결과적으로 360도 파노라마 비디오의 전부가 아닌 일부 공간 영역이 더 높은 공간 해상도로 인코딩될 수 있다. 일 예시에서, 베이스 레이어는 기본 품질로 360도 파노라마 비디오 콘텐츠를 나타내고, 증진 레이어는 90도 수평 시야와 같이 비디오 콘텐츠의 수평 서브세트의 품질 증진을 나타낸다. 본 예시에서, 베이스 레이어 및 증진 레이어의 샘플링 그리드는 동일하며, 즉 공간적 스케일링은 발생하지 않는다.
다른 실시예와 함께 또는 독립적으로 적용될 수있는 실시예에서, 증진 레이어는 관심 영역(region-of-interest) 레이어이며, 즉 직접 레퍼런스 레이어(들)의 공간 영역의 서브세트를 나타낸다. 예컨대, HEVC의 스케일러블 확장에 대해 특정 된 바와 같은 레퍼런스 레이어 위치 오프셋과 같은 신호가 인터-레이어 예측을 위한 각각의 소스 화상에 대한 증진 레이어 화상의 공간 대응을 특정하기 위해 인코더에 의해 사용된다. 일 실시예에서, 레퍼런스 영역은 인코더에 의해 화상 경계를 가로 지르는 것으로 표시되고, 화상 경계 외부의 영역은 다른 실시예에서 설명한 것과 유사하게 화상의 반대 측의 샘플 값으로 표시된다. 이를 통해 360도 파노라마 베이스 레이어의 화상 경계를 가로지르는 관심 영역 증진 레이어를 사용할 수 있다.
일 예시에서, 레퍼런스 영역 우측 오프셋(예컨대, 전술한 것과 유사한 ref_region_right_offset[] 신택스 요소)은 인코더에 의해 레퍼런스 영역의 오른쪽 경계가 인터 레이어 예측을 위한 소스 화상의 오른쪽 경계의 오른쪽에 위치됨을 표시하는 음의 값으로 설정된다. 본 예시에서, 인터-레이어 예측을 위한 소스 화상의 오른쪽 경계의 오른쪽에 위치된 샘플 위치가 화상 경계 내에 랩핑된다. 도 11은 본 예시를 도시하며, 대시 기호로 이루어진 박스는 인터-레이어 예측을 위한 소스 화상의 샘플 어레이의 화상 경계(1110)를 나타내고 점으로 이루어진 박스(1120)는 레퍼런스 영역을 표시하며, 작은 실선 박스는 개별 샘플을 표시한다. 도 11에서, ref_region_right_offset 등은 (인터-레이어 예측을 위한 소스 화상의 샘플 어레이의 샘플의 유닛에서) -n과 동일하므로, 레퍼런스 영역은 화상의 우측 경계에 n 개의 샘플 열에 걸쳐있다. 도 11에 도시된 바와 같이 화상의 우측 경계의 오른쪽에 있는 n 개의 샘플 열에 대한 샘플 값이 화상의 n 개의 가장 왼쪽의 샘플 열로부터 복사된다.
일 예시에서, 레퍼런스 영역 좌측 오프셋(예를 들어, 전술한 바와 같은 ref_region_left_offset[] 신택스 요소)은 레퍼런스 영역의 좌측 경계가 인터-레이어 예측을 위한 소스 화상의 좌측 경계의 왼쪽에 위치한다는 것을 나타내는 음의 값으로 설정된다. 본 예시에서, 인터-레이어 예측을 위한 소스 화상의 좌측 경계의 왼쪽에 위치된 샘플 위치는 화상 경계 내에 있도록 랩핑되어 있다.
일 예시에서, 스케일링된 레퍼런스 레이어 오프셋 값은 인코더에 의해 레퍼런스 영역 오프셋 값 대신에 또는 레퍼런스 영역 오프셋 값에 추가하여 설정되어, 증진 레이어 화상이 레퍼런스 레이어 화상의 반대쪽으로 화상 경계를 교차하는 레퍼런스 레이어 화상 내의 영역에 대응한다는 것을 표시한다. 마찬가지로, 디코더는 레퍼런스 영역 오프셋 값 대신에 또는 레퍼런스 영역 오프셋 값에 부가하여 스케일링된 레퍼런스 레이어 오프셋 값을 디코딩할 수 있으며, 값은 증진 레이어 화상이 레퍼런스 레이어 화상의 반대쪽으로 화상 경계를 교차하는 레퍼런스 레이어 화상의 영역에 대응한다는 것을 표시한다. 예를 들어, 스케일링된 레퍼런스 레이어 좌측 오프셋은 음의 값으로 설정될 수 있고, 스케일링된 레퍼런스 레이어 우측 오프셋은 양의 값으로 설정될 수 있어서, 레퍼런스 레이어 화상의 우측 경계가 증진 레이어 화상의 우측 경계의 왼쪽의 샘플 열에 대응함을 표시한다. 이러한 배치는 다른 실시예 및 예시와 유사하게, 스케일링된 레퍼런스 레이어 우측 오프셋에 의해 표시된 샘플 열의 오른쪽의 샘플 위치에 액세스할 경우, 레퍼런스 레이어 화상의 반대쪽 경계 영역의 샘플 값이 사용된다는 것을 의미할 수 있다. 다른 예시에서, 스케일링된 레퍼런스 레이어 좌측 오프셋은 양의 값으로 설정될 수 있고, 스케일링된 레퍼런스 레이어 우측 오프셋은 음의 값으로 설정될 수 있어서, 레퍼런스 레이어 화상의 좌측 경계가 증진 레이어 화상의 좌측 경계의 오른쪽의 샘플 열에 대응한다는 것을 표시할 수 있다. 이러한 배치는 다른 실시예 및 예시와 유사하게, 스케일링된 레퍼런스 레이어 좌측 오프셋에 의해 표시된 샘플 열의 왼쪽의 샘플 위치에 액세스할 경우, 레퍼런스 레이어 화상의 반대쪽 경계 영역의 샘플 값이 사용된다는 것을 의미할 수 있다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예에서, 증진 레이어는 관심 영역(region-of-interest) 레이어이며, 즉 직접 레퍼런스 레이어(들)의 공간 영역의 서브세트를 나타낸다. HEVC의 스케일러블 확장에 대해 특정된 바와 같이, 레퍼런스 레이어 위치 오프셋과 같은 시그널링이 인터-레이어 예측을 위한 각각의 소스 화상에 대한 증진 레이어 화상의 공간 대응을 특정하기 위해 인코더에 의해 사용된다. 일 실시예에서, 레퍼런스 영역은 인코더에 의해 화상 경계를 교차하는 것으로 표시된다. 화상 경계 외부의 영역에 대한 모션 필드는 화상의 반대쪽면의 모션 필드로 표시된다. 이는 360도 파노라마 베이스 레이어의 화상 경계를 교차하는 관심 영역 증진 레이어에서 인터-레이어 모션 예측을 가능하게 한다. 예를 들어, 도 11은 인터-레이어 예측을 위한 소스 화상의 모션 필드를 나타내는 것으로 간주될 수 있으며, 대시 기호로 이루어진 박스는 인터-레이어 예측을 위한 소스 화상의 모션 필드의 화상 경계를 나타내고, 점선으로 이루어진 박스는 레퍼런스 영역을 나타내며, 작은 실선 상자는 모션 필드의 입도에서(예컨대, 루마 샘플의 16×16 블록의 그리드에서) 모션 벡터를 나타낸다. 도 11에서, ref_region_right_offset 등은 (움직임 필드 그리드의 유닛에서) -n과 동일하므로, 레퍼런스 영역은 n 개의 움직임 필드 열에 의해 화상의 우측 경계에 걸쳐있다. 도 11에 도시된 바와 같이, 화상의 우측 경계의 오른쪽의 n 개의 모션 필드 열에 대한 모션 벡터는 화상의 n 개의 가장 왼쪽의 모션 필드 열로부터 복사된다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예에서, 디코더는 HEVC의 스케일러블 확장에 대해 특정된 바와 같이 레퍼런스 레이어 위치 오프셋을 디코딩하여 인터-레이어 예측을 위한 각각의 소스 화상에 대한 증진 레이어 화상의 공간 대응을 결론짓는다. 일 실시예에서, 레퍼런스 영역은 디코더에 의해 디코딩되어 화상 경계를 교차하고, 화상 경계 외부의 영역은 다른 실시예들에서 설명된 것과 유사하게 화상의 반대쪽의 샘플 값에 의해 표현된다. 이를 통해, 360도 파노라마 베이스 레이어의 화상 경계에 걸쳐있는 관심 영역 증진 레이어를 사용할 수 있다.
일 예시에서, 레퍼런스 영역 우측 오프셋(예를 들어, 전술한 바와 같은 ref_region_right_offset[] 신택스 요소)은 디코더에 의해 디코딩되어, 레퍼런스 영역의 우측 경계가 인터-레이어 예측을 위한 소스 화상의 우측 경계의 오른쪽에 위치됨을 표시하는 음의 값이 된다. 본 예시에서, 인터-레이어 예측을 위한 소스 화상의 우측 경계의 오른쪽에 위치된 샘플 위치는 화상 경계 내에 있도록 랩핑된다.
일 예시에서, 레퍼런스 영역 좌측 오프셋(예를 들어, 전술한 바와 같은 ref_region_left_offset[] 신택스 요소)은 디코더에 의해 디코딩되어 레퍼런스 영역의 좌측 경계가 인터-레이어 예측을 위한 소스 화상의 좌측 경계의 왼쪽에 위치됨을 나타내는 음의 값이 된다. 본 예시에서, 인터-레이어 예측을 위한 소스 화상의 좌측 경계의 왼쪽에 위치된 샘플 위치는 화상 경계 내에 있도록 랩핑된다.
일 실시예에서, 인터-레이어 예측을 위한 소스 화상의 화상 경계 또는 경계들에 걸쳐 있는 레퍼런스 영역은 전술한 바와 같이 인터-레이어 예측을 위한 소스 화상의 샘플 어레이를 확장시킴으로써 처리된다. 일 실시예에서, 인터-레이어 예측을 위한 소스 화상의 화상 경계 또는 경계들에 걸쳐있는 레퍼런스 영역은 전술한 바와 같이 및 (프로세스의 단계 5에서) 수평 샘플 위치를 레퍼런싱 하는 경우에 Clip3 함수 대신에 Wrap 함수를 사용하는 인터-레이어 리샘플링 프로세스에 의해 예시된 바와 같이 레퍼런싱된 샘플에 대해 수평 샘플 위치를 랩핑함으로써 처리된다. 일 실시예에서, 도 11에 도시된 바와 같이, 레퍼런스 영역은 인터-레이어 예측을 위한 소스 화상으로부터 샘플 값을 복사함으로써 생성된다.
다양한 실시예에서, 전술한 두 가지 기술을 혼합(즉, 샘플 어레이(들)의 확장 및 레퍼런스 샘플에 대한 수평 샘플 위치의 랩핑)할 수 있다. 확장된 샘플 어레이(들)의 마진이, 예를 들어, 인터-레이어 예측을 위한 소스 화상 내에 레퍼런스 영역이 존재하는 경우에 인터-레이어 리샘플링 프로세스에 의해 레퍼런싱된 샘플 위치를 커버하도록 확장될 수 있다. 샘플 위치 랩핑은 인터-레이어 예측을 위한 소스 화상의 화상 경계의 적어도 부분적으로 외부에 있는 레퍼런스 영역에 대해 사용된다. 이러한 결합 방법은 샘플 위치의 랩핑 만을 사용하는 방법보다 빠른 메모리 액세스를 가능하게 한다.
도 13에 도시된 실시예에 따르면, 방법은 인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성하는 단계와, 360도 파노라마 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하는 단계를 포함하고, 도출하는 단계는 다음의 단계 중 하나 또는 둘 모두를 포함한다: 360도 파노라마 소스 화상의 적어도 일부를 업샘플링하는 단계로서, 업샘플링하는 단계는 반대쪽 경계 영역의 하나 이상의 샘플 값 및/또는 반대쪽 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하는 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 단계와, 360도 파노라마 소스 화상의 화상 경계를 교차하는 레퍼런스 영역을 결정하고 반대쪽 경계 영역의 하나 이상의 샘플 값 및/또는 레퍼런스 영역의 반대쪽 경계 영역의 하나 이상의 블록과 연관된 변수 값을 포함하는 단계.
2. 화상 내 예측
2.1. 인트라 예측
다른 실시예와 함께 또는 독립적으로 사용될 수 있는 실시예에 따라, 화상의 반대쪽으로부터 재구성되거나 디코딩된 샘플 값이 인트라 예측을 위한 소스로서 사용된다. 인트라 예측은 블록 또는 코딩 유닛을 인코딩 또는 디코딩하는 부분일 수 있다.
도 12는 하기의 실시예 중 일부가 설명된 것에 기초하여 N × N 샘플의 블록 크기에 대한 예측 샘플(Px,y)를 획득하기 위해 예측에 사용되는 기준 샘플(Rx,y)의 예시를 도시한다. Rx,y 및 R(x,y)의 표기는 상호교환적으로 사용된다. 마찬가지로, Px,y 및 P(x,y)의 표기는 상호교환적으로 사용된다. 하기의 실시예 또는 그 조합 중 임의의 것이 인트라 예측을 위한 소스로서 화상의 반대쪽으로부터 재구성되거나 디코딩된 샘플 값을 사용하는데 사용될 수 있다:
- 화상의 가장 오른쪽의 블록(예컨대, 가장 오른쪽의 PU)에서 우측 상부의 레퍼런스 샘플의 랩-어라운드(Wrap-around). 현재 N × N 블록의 가장 오른쪽의 샘플 열이 화상에서 가장 오른쪽에 있는 경우: x = 1..N에 대해서 R(N+x,y)를 Q(x-1,j)로 설정하고, 여기서 Q(x,y)는 (0에서 시작하는 좌표계를 갖는) 현재 디코딩되는 화상의 샘플 어레이이며, j는 현재 디코딩되는 화상의 좌표에서 상부 블록(예컨대, PU)의 마지막 샘플 행이다. 다시 말해서, 인트라 예측을 위한 레퍼런스 샘플 위치가 화상 경계의 외부에 있는 경우, 각각의 샘플 값은 화상의 반대쪽으로부터 획득된다.
- 화상의 가장 오른쪽의 블록(예컨대, 가장 오른쪽의 PU)에서 우측 상부의 레퍼런스 샘플을 획득하기 위해 화상의 가장 왼쪽의 열을 사용. 가장 왼쪽의 샘플 열은 각도 예측 모드에 따라 선택될 수 있다.
- 수평으로 미러링된 블록을 (디)코딩하기 위한 블록 코딩 모드(예를 들어, PU 코딩 모드)에서 y = 0 .. 2N에 대한 레퍼런스 샘플 R(0,y)로서 화상의 가장 왼쪽 화상 열의 사용. 이러한 코딩 모드에서 x = 1 .. 2N에 대한 레퍼런스 샘플 R(x,0)은 Q(wx,j)와 동일하게 설정되며, 여기서 w는 샘플 어레이의 폭이고 j는 현재 디코딩되는 화상의 좌표에서 상부 블록(예컨대, PU)의 마지막 샘플 행이다. 인코더는, 예를 들어, 이러한 코딩 모드를 사용할지의 여부에 대한 RD-최적 결정을 수행할 수 있다. 이러한 코딩 모드를 사용할 경우, 인코더는 다음과 같이 동작할 수 있다: 인코더는 먼저 수평적으로 코딩될 비압축 블록을 미러링한다. 그 다음, 인코더는 통상적으로 상기에서 획득된 이용가능한 레퍼런스 샘플(R) 및 미러링된 블록을 사용하여 인트라 예측 모드를 선택한다. 인코더는 미러링된 코딩 모드 및 인트라 예측 모드의 하나 이상의 표시를 비트스트림으로 인코딩하며, 즉, 미러링된 코딩의 표시는 개별 신택스 요소로서 코딩될 수 있거나, 인트라 예측 모드 신택스 요소(들)와 함께 하나 이상의 예측 모드로서 포함될 수 있다. 종래의 인트라 예측 모드의 선택은, 예를 들어, RD 최적화를 사용하여 수행될 수 있다. 인코더는 선택된 인트라 예측 모드에 따라 예측 블록을 생성한 다음, 예측 에러 블록을 코딩할 수 있다. 또한, 인코더는 예측 블록 및 재구성된 예측 에러 블록(존재하는 경우)으로부터 미러링된 재구성 블록을 재구성한다. 그런 다음 인코더는 미러링된 재구성 블록을 수평적으로 미러링한 다음 샘플 어레이(Q)에 저장하고 예측을 위한 소스로서 사용될 수 있다. 디코더는 다음과 같이 동작할 수 있다: 디코더는 먼저 비트스트림으로부터 미러링된 코딩 모드 및 인트라 예측 모드의 하나 이상의 표시를 디코딩한다. 미러 된 코딩 모드가 사용 중인 경우, 디코더는 전술한 바와 같이 레퍼런스 샘플(R)을 생성한다. 그 후, 디코더는 인트라 예측 모드 및 레퍼런스 샘플(R)에 기초하여 예측 블록을 재구성한다. 디코더는 비트스트림에서 이용가능한 경우, 예측 에러 블록을 디코딩한다. 디코더는 또한 예측 블록 및 디코딩된 예측 에러 블록(존재하는 경우)으로부터 미러된 재구성 블록을 재구성한다. 그런 다음 디코더는 미러링된 재구성 블록을 수평적으로 미러링한 다음 샘플 어레이(Q)에 저장하고 예측을 위한 소스로 사용할 수 있다.
- (디)코딩되는 블록(예를 들어, PU)의 좌측, 상부 및 우측 상의 이용가능한 샘플 사이의 보간이 표시된 각도 방향으로 수행되도록 가장 오른쪽의 블록(예를 들어, PU)에 대한 각도 예측 모드를 변경함.
- 가장 오른쪽 블록(예컨대, 가장 오른쪽 PU)에 사용되는 오른쪽 및 우측 하부로부터의 새로운 각도의 인트라 예측 방향. 이러한 새로운 각도의 인트라 예측 방향은 인트라 예측을 위한 소스로서 화상의 가장 왼쪽의 샘플 열로부터의 샘플을 사용한다.
일 실시예에서, 전술한 인트라 예측 실시예는 루프 필터링 이전에 재구성되거나 디코딩된 샘플 값에 적용된다. 다른 실시예에서, 전술한 인트라 예측 실시 예는 루프 필터링을 거친 재구성되거나 디코딩된 샘플 값에 적용된다. 또 다른 실시예에서, 전술한 인트라 예측 실시예는 디블록킹과 같은 특정 루프 필터링을 겪었지만 샘플 적응 오프셋과 같은 다른 루프 필터링을 적용하기 전에 재구성되거나 디코딩된 샘플 값에 적용된다. 일부 실시예에서는, 예를 들어, 전술한 인트라 예측이 루프 필터링의 단계와 관련하여 어떤 순서로 발생하는지가 코딩 표준에서 사전정의되고, 다른 실시예에서는 인코더가 비트스트림에서 전술한 인트라 예측이 루프 필터링의 단계와 관련하여 어떤 순서로 발생하는지를 표시하고, 디코더는 비트 스트림으로부터 전술한 인트라 예측이 루프 필터링의 단계와 관련하여 어떤 순서로 발생하는지를 디코딩한다.
2.2.루프 필터링
다른 실시예와 함께 또는 독립적으로 사용될 수 있는 일 실시예에 따르면, 화상의 반대쪽으로부터의 중간 재구성되거나 디코딩된 샘플 값 및/또는 변수 값이 화상의 경계 영역의 중간 재구성되거나 디코딩된 샘플 값을 필터링하는데 사용된다.
일 실시예에서, 디블록킹 필터링은 화상의 수직 에지에 걸쳐 적용될 수 있다. 그 목적을 위해, 화상의 가장 오른쪽의 블록은 (블록 그리드의 동일한 수직 위치에서) 화상의 가장 왼쪽의 블록에 인접한 것으로 간주될 수 있으며, 화상의 가장 오른쪽 블록은 화상의 가장 왼쪽의 블록의 왼쪽에 존재하는 것으로 간주될 수 있다. 마찬가지로, 화상의 가장 오른쪽의 N 개의 샘플 열은 화상의 가장 왼쪽의 N 개의 샘플 열에 인접한 것으로 간주될 수 있으며, 여기서 N은 수직 경계를 따라 디블록킹 필터의 영향을 받는 샘플의 수이다. 디블록킹 필터링은 화상의 좌측 경계 영역 및 화상의 우측 경계 영역에서 샘플 값을 이용하고, 좌측 경계 영역 및 우측 경계 영역 중 하나 또는 둘 다를 변경한다. 부가적으로 또는 대안적으로, 디블록킹 필터링은 화상의 좌측 경계 영역 및 화상의 우측 경계 영역의 코딩 모드 및/또는 양자화 파라미터 값과 같은 변수 값을 이용한다. 임의의 유형의 디블록킹 필터가 전술한 디블록킹 필터와 같이 본 실시예와 함께 사용될 수 있다.
일 실시예에서, 루프 필터링은, 예를 들어, 디블록킹 루프 필터링을 위한 경계 강도를 결정할 때, 화상의 반대쪽에 있는 블록의 모션 벡터 값을 이용한다. 이러한 실시예에서, (블록 그리드의 동일한 수직 위치에서의) 필터링에서 화상의 반대쪽에서 수평으로 2 개의 블록의 모션 벡터 값을 사용하기 전에, 이들은 이미지의 원통형 표현에서 동일한 방향을 가리키도록 조건부로 정규화될(normalized) 수 있다. 예를 들어, 화상의 가장 오른쪽 블록이 화상의 좌측을 가리키는 음의 수평 모션 벡터 컴포넌트를 가지면, 도 8에 도시된 바와 같이 샘플 위치를 랩핑할 경우에 동일한 위치를 가리키는 양의 수평 모션 벡터 컴포넌트로 정규화될 수 있다. 정규화는, 예를 들어, 화상의 반대 측에서의 블록의 수평 모션 벡터 컴포넌트가 상이한 부호를 가질 경우에, 그리고 정규화된 수평 모션 벡터 컴포넌트의 절대값이 정규화되지 않은 (원래의) 수평 모션 벡터 컴포넌트의 절대값보다 작은 경우에 이루어질 수 있다.
일 실시예에서, 전술한 실시예에서 설명된 바와 같은 루프 필터링을 적용하는 것 대신에 또는 추가적으로, 포스트-필터링(post-filtering)이 화상의 반대 측으로부터의 재구성되거나 디코딩된 샘플 값 및/또는 변수 값이 상기 화상의 경계 영역의 재구성되거나 디코딩된 샘플 값을 필터링하는데 사용되는 방식으로 유사하게 적용될 수 있다. 포스트-필터링된 샘플 값들은, 예컨대, 디스플레이 프로세스에 대해 적용되지만 (디)코딩에서 사용되는 디코딩된 레퍼런스 화상의 샘플 값에 영향을 미치지는 않는다.
2.3. 콘텍스트-인식 엔트로피 (디)코딩의 콘텍스트 적응
다른 실시예와 함께 또는 독립적으로 사용될 수 있는 일 실시예에 따르면, 화상의 반대 측으로부터의 정보는 다음 방식들 중 하나 또는 둘 모두에서 이용된다:
- 화상의 가장 오른쪽 블록의 하나 이상의 bin의 확률을 추정할 시에, 확률은 예상된 속성 및 동일한 콘텍스트를 사용하는 이전에 코딩된 bin에 기초하여 추정된다. 이전의 코딩된 bin은 화상의 반대 측으로부터 유래된 것을 포함한다.
- 콘텍스트의 확률 상태 변수 및 코딩된 bin의 값을 업데이트할 시에, 콘텍스트의 확률 상태 변수는 적어도 부분적으로는 화상의 반대 측의 하나 이상의 콘텍스트 상태(들)에 기초하여 업데이트된다.
일 실시예에서, 화상 경계 외부의 샘플 위치 및/또는 화상 경계 외부의 위치와 연관된 파라미터가 화상 내 예측에 관계된 실시예에서 전술한 바와 같이 처리되는지를 인코더가 비트스트림 내에 표시하고/표시하거나 디코더가 비트스트림으로부터 디코딩한다. 표시는 예측 유형(예컨대, 인트라 예측, 루프 필터링, 엔트로피 코딩)에 특정될 수 있거나 다른 예측 유형(들)과 결합될 수 있다(예컨대, 화상 경계 외부의 샘플이 분수 샘플 보간 및/또는 화상 경계에 걸친 모션 벡터에 대해 화상의 반대 측으로부터 획득되는 것과, 디블록킹 루프 필터링이 전술한 바와 같이 화상의 수직 경계에 적용되는 것을 공동으로 표시하는 표시가 존재할 수 있다). 부가적으로 또는 대안적으로, 표시는 (예를 들어, 코딩 표준에) 사전정의되거나 표시될 수 있는 경계 또는 경계들에 특정될 수 있다. 인터-레이어 예측과 관련된 실시 예들에 대해 전술한 것과 유사한 표시가 화상 내 예측에 사용될 수 있다.
도 14에 도시된 실시예에 따르면, 방법은 360도 파노라마 화상의 경계 영역의 샘플을 코딩 또는 디코딩하는 단계와, 코딩 또는 디코딩하는 단계가 예측 및/또는 경계 영역의 샘플의 재구성에 있어서 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 이용하는 단계를 포함하며, 예측 및/또는 재구성은 다음 중 하나 이상을 포함한다:
- 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과,
- 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 기초로 하여 경계 영역의 중간 재구성 샘플을 필터링하는 것과,
- 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값에 기초하여 콘텍스트-적응 엔트로피 코딩 또는 디코딩을 튜닝하는 것.
본 실시예가 하기에서 더욱 상세히 설명된다.
화상 경계 외부의 샘플에 대한 보충 실시예
유효 화상 구역의 이용
디코딩된 화상의 폭 및 높이는 특정 제약 조건을 가질 수 있어서, 폭 및 높이는 (최소) 코딩 유닛 크기의 최소 배수이다. 예를 들어, HEVC에서는 디코딩된 화상의폭과 높이가 루마 샘플의 8의 배수이다. 인코딩된 화상이 이러한 제약 조건을 충족하지 않는 범위를 가지면, 제약 조건에 합치하는 화상 크기로 (디)코딩이 수행될 수 있지만, 출력은 불필요한 샘플 라인과 열을 잘라내어 수행될 수 있다. HEVC에서, 이러한 잘라내기는 이른바 합치성 잘라내기 윈도우(conformance cropping window) 기능을 사용하여 인코더에 의해 제어될 수 있다. 합치성 잘라내기 윈도우는 SPS에서 (인코더에 의해) 특정되며, 화상을 출력할 경우, 디코더는 합치성 잘라내기 윈도우에 따라 디코딩된 화상을 잘라낼 필요가 있다.
일 실시예에서, 전술한 실시예에서의 랩어라운드(wrap around) 동작은, 예컨대, 디코딩된 화상 영역이 아닌 합치성 잘라내기 윈도우에 의해 정의된 유효 화상 구역을 사용한다. 예를 들어, 0을 가장 왼쪽의 샘플 열의 수평 위치로 사용하는 대신에 합치성 잘라내기 윈도우의 좌측이 전술한 방법에서 사용된다. 마찬가지로 pic_width_in_luma_samples를 사용하는 대신에, 합치성 잘라내기 윈도우의 가장 오른쪽 샘플 열의 수평 샘플 위치가 전술한 방법에서 사용된다.
일 실시예에서, 전술한 실시예에에서의 랩어라운드 동작이 유효 화상 구역에 적용됨을 인코더가 비스트스트림에 표시하고/표시하거나 디코더가 비트스트림으로부터 디코딩한다. 인코더가 유효 화상 구역을 정의하는 표시, 예컨대, 합치성 잘라내기 윈도우 상의 표시를 표시하고/표시하거나 디코더가 이를 비트스트림으로부터 디코딩한다.
위상 시프트 랩어라운드
360도 파노라마 콘텐츠는 하나를 초과하는 이미지 센서의 캡처된 화상을 스티칭하여 생성될 수 있다. 결과적으로, 스티칭 이음새에 걸친 신호는 완벽하게 연속적인 신호를 나타내지 않을 수 있으며, 오히려 위상 시프트와 같은 불완전성이 발생할 수 있다. 일 실시예에서, 인코더는 화상 경계 쪽으로 이동하는 샘플 위치를 랩핑할 경우에 사용되는 정수 및/또는 분수 샘플 위치 시프팅에 관한 정보를 비트스트림으로 인코딩할 수 있으며, 디코더가 정보를 비트스트림으로부터 디코딩할 수 있다. 예를 들어, 정보는 SPS와 같은 시퀀스-레벨 신택스 구조 및/또는 PPS와 같은 화상-레벨 신택스 구조로 인코딩되고/인코딩되거나 그로부터 디코딩될 수 있다. 분수 샘플 위치에서의 샘플 값은 화상 경계 외부의 샘플 위치에 대한 통상적 인 동작(즉, 포화)을 이용하여 생성될 수 있다. 이러한 샘플 값을 생성한 후에, 분수 샘플 보간을 위한 입력 샘플 값을 얻기 위해 전체 픽셀 샘플 값인 것처럼 사용될 수 있다.
입체 360도 비디오에서의 인터-뷰 예측
뷰 간의 디스패리티를 갖는 360도 파노라마 비디오의 2 개의 뷰는, 예를 들어, 콘텐츠가 가상 현실 헤드셋과 같은 입체 디스플레이 상에 보여질 때 깊이감(depth sensation)을 얻기 위해 코딩될 수 있다. 비록 인터 예측을 참조하여 실시예가 설명되었지만, 실시예는 인터-뷰 예측에도 유사하게 적용될 수 있다는 것을 이해할 필요가 있다. 이는 뷰 사이에서 인터-뷰 예측을 사용하여 360도 파노라마 비디오의 두 개 이상의 뷰를 코딩할 때 유용할 수 있다. 또한, ROI 스케일러빌리티와 관련하여 설명된 실시예는 베이스 레이어의 영역이 아닌 (예를 들어, 제 2 뷰의) 360도 파노라마 비디오를 표현하는 증진 레이어와 유사하게 적용될 수 있다는 것을 이해할 필요가 있으며, 여기서 베이스 레이어는, 예컨대, 제 2 뷰를 나타낸다.
인트라 블록 복사
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 일 실시예에서, 인트라 블록 복사 벡터는 부분적으로 또는 완전히 화상 경계의 외부를 포인팅하고/포인팅하거나 서브 픽셀 샘플 위치를 포인팅함으로써 필터링에 의한 샘플 값을 재구성하게 하여, 샘플 값의 적어도 일부는 화상 경계 외부의 위치로부터 유래한다. 화상 경계 외부의 샘플 값은 다른 실시예와 유사하게 화상의 반대측의 경계 영역으로부터 획득된다.
일 실시예에서, IBC 인코딩 프로세스에 대한 레퍼런스 블록 탐색은, 화상의 반대측에 있는 각각의 샘플 위치가 아직 인코딩 또는 디코딩되지 않았으면, 화상 경계 외부의 샘플 위치가 레퍼런싱되지 않도록 제한된다. 화상의 반대측에 있는 각각의 샘플 위치가 아직 인코딩 또는 디코딩되지 않은 경우, 화상 경계 외부의 샘플 위치를 레퍼런싱하게 하는 비트스트림에서 그러한 IBC 모션 벡터를 포함시키는 것은 비디오 코딩 사양에서 허용되지 않을 수 있다.
일 실시예에서, 화상 경계 외부의 샘플 위치의 처리는 화상의 반대 측에 있는 각각의 샘플 위치가 인코딩 또는 디코딩되었는지에 따라 조절된다. 화상의 반대 측에 있는 각 샘플 위치가 인코딩되거나 디코딩된 경우, IBC에서 예측 블록을 생성할 시에 화상 경계 외부의 샘플 위치를 레퍼런싱할 경우에 화상의 반대 측에 있는 샘플 값이 사용된다. 화상의 반대 측에 있는 각각의 샘플 위치가 인코딩되거나 디코딩되지 않은 경우, 경계 샘플 확장 또는 화상 경계 내에 있는 샘플 위치의 포화와 같은 종래의 방법이 IBC에서 예측 블록을 생성할 시에 화상 경계 외부의 샘플 위치를 레퍼런싱할 경우에 사용된다.
수직 샘플 위치의 랩어라운드
앞서 제시된 방법은 부가적으로 또는 대안적으로 수직 방향에 유사하게 적용될 수 있다는 것을 이해할 필요가 있다. 이것은, 예를 들어, 수평 및 수직 방향 모두에 대해 또는, 예를 들어, 수평축이 360도를 나타내고 수직축이 180도를 나타내는 수직 방향에 대해서만 360도를 포함하는 비디초 콘텐츠에 대해 유용할 수 있다. 이러한 경우, 실시예는 수평 및 수직 방향 둘 다에 적용될 수 있다. 다른 실시예에서, 캡처링 디바이스가 제 1 축을 따라 360도로 그리고 제 2 축(제 1 축에 직교함)를 따라 180도 미만으로 캡처할 수 있고, 캡처링 디바이스가 기울어져서 360도 캡처가 수직 방향으로 발생할 수 있으며, 이러한 경우에 실시예는 수직 방향으로는 적용될 수 있지만 수평 방향으로는 적용될 수 없다.
입체 360도 비디오의 디스패리티-보상 인터-뷰 예측
디스패리티-보상 인터-뷰 예측을 위해 다른 실시예와 함께 또는 독립적으로 적용될 수 있는 실시예가 하기에서 설명된다. SHVC 코딩 툴(또는 유사물)이 인터-뷰 예측에 이용되도록 활성화될 경우, 디스패리티-보상 인터-뷰 예측이 다음과 같이 실현될 수 있다. 특히, SHVC(또는 유사물)의 레퍼런스 레이어 위치 오프셋 특징이 디스패리티-보상 인터-뷰 예측을 실현하는 데 사용될 수 있다. 오프셋은 뷰 간의 디스패리티에 따라 선택된다.
실시예에 따른 인코더 및/또는 디코더에서, 하나의 뷰 내의 화상의 모션 필드는 뷰 간의 디스패리티를 보상함으로써 다른 뷰 내의 화상의 시간 모션 벡터 예측자로서 사용되도록 맵핑된다. 인코더는 레퍼런스 레이어 위치 오프셋을 사용하여 맵핑을 표시할 수 있다. 디코더는 비트스트림으로부터 파싱된 레퍼런스 레이어 위치 오프셋으로부터의 맵핑을 디코딩할 수 있다. 레퍼런스 화상 리샘플링 및/또는 모션 필드 맵핑을 위한 랩어라운드 위치를 사용하는 인터-레이어 예측을 위한 전술한 실시예 중 하나 이상이 인코더 및 디코더에서 사용된다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 일 실시예에서, 인코더는 하기의 단계 중 하나 이상을 수행할 수 있다:
- 디스패리티 값이 도출 또는 추정될 수 있다.
- 스케일링된 레퍼런스 레이어 왼쪽 오프셋 및/또는 스케일링된 레퍼런스 레이어 오른쪽 오프셋에 대한 신택스 요소는 올바른 부호를 또한 고려하여 디스패리티 값과 동일하게 설정된다.
- 스케일링된 레퍼런스 레이어 상부 오프셋 및 스케일링된 레퍼런스 레이어 하부 오프셋에 대한 신택스 요소는 0과 동일하게 설정된다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 일 실시예에서, 인코더는 하기의 단계 중 하나 이상을 수행할 수 있다:
- 디스패리티 값이 도출 또는 추정될 수 있다.
- 레퍼런스 영역 왼쪽 오프셋 및/또는 레퍼런스 영역 오른쪽 오프셋에 대한 신택스 요소는 올바른 부호를 또한 고려하여 디스패리티 값과 동일하게 설정된다.
- 레퍼런스 영역 상부 오프셋 및 레퍼런스 영역 하부 오프셋에 대한 신택스 요소는 0과 동일하게 설정된다.
인코더는, 예를 들어, 하나 이상의 액세스 유닛의 화상으로부터 다음의 방식들 중 하나 이상을 사용하여 디스패리티 값을 도출할 수 있으나, 이에 제한되지는 않는다:
- 화상과 연관된 하나 이상의 심도 맵으로부터 도출된 평균 디스패리티.
- 화상에 적용된 카메라 파라미터로부터 도출 또는 추정된 디스패리티.
- 뷰 간의 평균 추정된 디스패리티, 여기서 추정은, 예를 들어, 스테레오 매칭 알고리즘을 사용하여 수행될 수 있다.
- 상이한 뷰의 화상 사이에 인터-뷰 모션 벡터를 적용하여 도출된 평균 디스패리티.
상기에서, 평균 디스패리티 대신에, 중간값(media) 또는 최댓값(maximum)과 같은 다른 수학적 및/또는 논리적 연산이 사용될 수 있다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 일 실시예에서, 인코더는 하기의 단계 중 하나 이상을 수행할 수 있다:
- 평균 디스패리티가 하나 이상의 화상에 대해서 도출 또는 추정될 수 있다.
- 스케일링된 레퍼런스 레이어 왼쪽 오프셋과 스케일링된 레퍼런스 레이어 오른쪽 오프셋에 대한 신택스 요소는 올바른 부호를 또한 고려하여 평균 디스패리티와 동일하게 설정된다.
- 스케일링된 레퍼런스 레이어 상부 오프셋 및 스케일링된 레퍼런스 레이어 하부 오프셋에 대한 신택스 요소는 0과 동일하게 설정된다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 일 실시예에서, 인코더는 하기의 단계 중 하나 이상을 수행할 수 있다:
- 인코더는 레퍼런스 화상 리스트에서 2 개의 인터-레이어 레퍼런스 화상 (베이스-뷰 화상)의 발생을 생성할 수 있다. 하나의 발생은 MV-HEVC에서의 (리샘플링이 없는) 통상적인 인터-레이어 레퍼런스 화상이다. 다른 발생은 레퍼런스 레이어 위치 오프셋에 의해 결정된 바와 같이 리샘플링된다. 인코더는 레퍼런스 화상 리스트 재정렬 신택스 또는 유사물을 사용하여 비트스트림에서 2 개의 발생의 생성을 표시할 수 있다. 인코더는 제 2 발생이 레퍼런스 화상 리스트 중 하나 또는 둘 다에 마지막으로 표시되도록 정렬시킬 수 있다.
- 인코더는 리샘플링된 레퍼런스 화상을 TMVP에 대해 코로케이팅된 화상으로 서만 사용한다. 인코더는, 예를 들어, 슬라이스 헤더에 코로케이팅된 화상을 표시할 수 있다. 인코더는 샘플 예측에 대한 레퍼런스로서 리샘플링된 화상을 사용하지 않는다.
다른 실시예와 함께 또는 독립적으로 적용될 수 있는 일 실시예에서, 인코더는 상이한 뷰의 화상 사이의 실제 디스패리티와 하기와 같이 결정된 코로케이션 사전-보상오프셋에 기초하여 디스패리티 값 또는 레퍼런스 레이어 위치 오프셋을 도출할 수 있다. HEVC TMVP는 모션 벡터를 선택하기 위해 코로케이팅된 화상의 디폴트 위치를 (인코딩 또는 디코딩되고 있는) 현재의 PU의 오른쪽 하단의 위치가 되게 한다. 예를 들어, 대응하는 블록이 인트라-코딩된 경우에, 어떤 모션 벡터도 디폴트 TMVP 후보 위치에서 이용가능하지 않은 경우에만, (공간적으로 코로케이팅된) 현재 PU의 위치가 고려된다. TMVP 후보에 대한 디폴트 위치는 실제 디스패리티로부터 오른쪽 하부로의 일종의 시프트를 유발하는 것으로 간주될 수 있다. 따라서, 인코더는 생성된 디스패리티 값 또는 레퍼런스 레이어 위치 오프셋에서 TMVP 디폴트 위치의 선택을 사전 보상할 수 있다. 예를 들어, 인코더는 수평 및 수직으로 8 개의 루마 샘플만큼 사전 보상할 수 있으며, 즉, 레퍼런스 레이어 위치 오프셋에 의해 특정된 윈도우를 수평 및 수직으로 8 개의 루마 샘플만큼 "이동"시킬 수 있다.
전술한 실시예가 멀티뷰 비디오, 즉, 둘을 초과하는 뷰에도 또한 유사하게 적용될 수 있음을 이해할 필요가 있다.
본 실시예는 이점을 제공한다. 예를 들어, 압축 효율이 향상될 수 있다. 또한 증진 레이어에서 향상된 360도 파노라마 베이스 레이어 내에서 레퍼런스 영역을 결정함에 있어 융통성이 있다. 예를 들어, 실시예는 360도 파노라마 베이스 레이어의 화상 경계에 걸쳐있는 관심 영역 증진 레이어를 활성화한다. 다른 예시에서, 360도 파노라마 이미지의 왼쪽 경계와 오른쪽 경계 사이의 가시적인 불연속성은 이러한 경계가 서로 인접하여 디스플레이될 때 주관적인 품질을 향상시킬 수 있는 디블록킹 필터링에 의해 감소되거나 은폐된다.
상기에서, 일부 예시적인 실시예가 인코더를 참조하여 설명되었지만, 결과적인 비트스트림 및 디코더는 그 내부에 대응하는 요소를 갖는다는 것을 이해할 필요가 있다. 마찬가지로, 예시적인 실시예가 디코더를 참조하여 설명되었지만, 인코더가 디코더에 의해 디코딩될 비트스트림을 생성하기 위한 구조 및/또는 컴퓨터 프로그램을 갖는다는 것을 이해할 필요가 있다.
상기에서, 일부 실시예가 베이스 레이어 및/또는 베이스 레이어 화상이라는 용어와 관련하여 설명되었다. 이러한 실시예는 임의의 직접 레퍼런스 레이어 및/또는 레퍼런스 레이어 화상에 각각 유사하게 적용된다는 것을 이해할 필요가 있다.
상기에서, 일부 실시예가 베이스 레이어 및 증진 레이어와 같은 2 개의 층과 관련하여 설명되었다. 이러한 실시예는 증진 레이어에 대한 임의의 수의 직접 레퍼런스 레이어에 유사하게 적용된다는 것을 이해할 필요가 있다. 또한, 이러한 실시예는 임의의 수의 증진 레이어에 유사하게 적용된다는 것을 이해할 필요가 있다. 예를 들어, 하나를 초과하는 ROI 증진 레이어가 (디)코딩될 수 있다. 또한, 각각의 ROI 증진 레이어는 360도 파노라마 베이스 레이어의 다른 공간 서브세트에 대응할 수 있다.
상기에서, 일부 실시예는 인터-레이어 모션 예측과 관련하여 설명되었다. 이러한 실시예는 모션 예측에 제한되지 않으며 임의의 다른 유형의 인터-레이어 파라미터 예측에 유사하게 적용된다는 것을 이해할 필요가 있다.
상기에서, 재구성된 샘플 및 재구성된 화상이라는 용어는 인코딩과 관련하여 주로 사용되었는데, 여기서 샘플 및 화상은 인코딩 프로세스의 일부로서 재구성되고, 디코딩 프로세스의 결과인 디코딩된 샘플 및 디코딩된 화상과 각각 동일한 값을 갖는다. 재구성된 샘플이라는 용어는 디코딩된 샘플이라는 용어와 상호교환적으로 사용될 수 있다. 재구성된 화상이라는 용어는 디코딩된 화상이라는 용어와 상호교환적으로 사용될 수 있다.
상기에서, 일부 실시예가 비디오코딩 방법과 관련하여 설명되었다. 이러한 실시예는 단일 이미지가 코딩되고/코딩되거나 단일의 코딩된 이미지 또는 액세스 유닛(상이한 스케일러빌리티 레이어의 몇몇 코딩된 이미지를 포함할 수 있음)이 디코딩되는 이미지 (디)코딩 방법들에 유사하게 적용된다는 것을 이해할 필요가 있다.
본 발명의 다양한 실시예는 메모리에 존재하과 관련 장치가 본 발명을 수행하게 하는 컴퓨터 프로그램 코드의 도움으로 구현될 수 있다. 예를 들어, 디바이스는 데이터를 처리, 수신 및 전송하기 위한 회로 및 전자 장치, 메모리 내의 컴퓨터 프로그램 코드, 및 컴퓨터 프로그램 코드를 실행할 때 디바이스로 하여금 실시 예의 특징을 수행하게 하는 프로세서를 포함할 수 있다. 또한, 서버와 같은 네트워크 장치가 데이터를 처리, 수신 및 전송하기 위한 회로 및 전자 장치, 메모리 내의 컴퓨터 프로그램 코드, 및 컴퓨터 프로그램 코드를 실행할 때 네트워크 디바이스로 하여금 기능을 수행하게 하는 프로세서를 포함할 수 있다.
본 발명은 전술한 실시예에만 한정되는 것은 아니며, 첨부된 청구항의 범위 내에서 변형될 수 있음이 자명하다.
제 1 양태에 따라, 인터-레이어 예측을 위해 360도 파노라마 소스 화상을 재구성하는 단계와, 360도 파노라마 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하는 단계를 포함하되, 도출하는 단계는 360도 파노라마 소스 화상의 적어도 일부를 업샘플링하는 단계 - 업샘플링하는 단계는 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 단계를 포함함 - 와, 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 반대 측 경계 영역의 하나 이상의 샘플 값과 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 레퍼런스 영역에 포함시키는 단계 중 하나 또는 양자 모두를 포함하는 방법이 제공된다.
제 2 양태에 따라, 360도 파노라마 화상의 경계 영역의 샘플을 인코딩하는 단계를 포함하되, 인코딩하는 단계는 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하는 단계를 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 단계와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 단계와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하는 단계 중 하나 이상을 포함하는 방법이 제공된다.
제 3 양태에 따라, 360도 파노라마 화상의 경계 영역의 샘플을 디코딩하는 단계를 포함하되, 디코딩하는 단계는 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하는 단계를 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 단계와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 단계와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하는 단계 중 하나 이상을 포함하는 방법이 제공된다.
제 4 양태에 따라, 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서, 적어도 하나의 메모리와 컴퓨터 프로그램 코드는 적어도 하나의 프로세서를 사용하여 장치로 하여금 적어도 인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성하는 것과, 360도 파노라마 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하는 것을 수행하게 하도록 구성되며, 도출하는 것은 360도 파노라마 소스 화상의 적어도 일부분을 업샘플링하는 것 - 업샘플링은 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 것을 포함함 - 과, 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 반대 측 경계 영역의 하나 이상의 샘플 값과 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 레퍼런스 영역에 포함시키는 것 중 하나 또는 양자 모두를 포함하는 장치가 제공된다.
제 5 양태에 따라, 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서, 적어도 하나의 메모리와 컴퓨터 프로그램 코드는 적어도 하나의 프로세서를 사용하여 장치로 하여금 적어도 360도 파노라마 화상의 경계 영역의 샘플을 인코딩하는 것을 수행하게 하도록 구성되며, 인코딩하는 것은 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하는 것을 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하는 것 중 하나 이상을 포함하는 장치가 제공된다.
제 6 양태에 따라, 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서, 적어도 하나의 메모리와 컴퓨터 프로그램 코드는 적어도 하나의 프로세서를 사용하여 장치로 하여금 적어도 360도 파노라마 화상의 경계 영역의 샘플을 디코딩하는 것을 수행하게 하도록 구성되며, 디코딩하는 것은 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하는 것을 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하는 것 중 하나 이상을 포함하는 장치가 제공된다.
제 7 양태에 따라, 처리 수단과, 인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성하는 수단과, 360도 파노라마 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하는 수단을 포함하되, 도출하는 수단은 360도 파노라마 소스 화상의 적어도 일부를 업샘플링하는 것 - 업샘플링하는 것은 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 것을 포함함 - 과, 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 반대 측 경계 영역의 하나 이상의 샘플 값과 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 레퍼런스 영역에 포함시키는 것 중 하나 또는 양자 모두를 수행하도록 구성된 장치가 제공된다.
제 8 양태에 따라, 처리 수단과, 360도 파노라마 화상의 경계 영역의 샘플을 인코딩하는 수단을 포함하되, 인코딩하는 수단은 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하도록 구성되며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하는 것 중 하나 이상을 포함하는 장치가 제공된다.
제 9 양태에 따라, 처리 수단과, 360도 파노라마 화상의 경계 영역의 샘플을 디코딩하는 수단을 포함하되, 디코딩하는 수단은 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하는 것을 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하는 것과, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하는 것 중 하나 이상을 포함하는 장치가 제공된다.
제 10 양태에 따라, 컴퓨터와 함께 사용하기 위한 컴퓨터 프로그램 코드를 갖는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 코드는 인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성하기 위한 코드와, 360도 파노라마 소스 화상으로부터 인터-레이어 레퍼런스 화상을 도출하기 위한 코드를 포함하되, 도출하기 위한 코드는 360도 파노라마 소스 화상의 적어도 일부를 업샘플링하기 위한 코드 - 업샘플링하기 위한 코드는 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하기 위한 코드를 포함함 - 와, 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 반대 측 경계 영역의 하나 이상의 샘플 값과 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 레퍼런스 영역에 포함시키기 위한 코드 중 하나 또는 양자 모두를 포함하는 컴퓨터 프로그램 제품이 제공된다.
제 11 양태에 따라, 컴퓨터와 함께 사용하기 위한 컴퓨터 프로그램 코드를 갖는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 코드는 360도 파노라마 화상의 경계 영역의 샘플을 인코딩하기 위한 코드를 포함하되, 인코딩하기 위한 코드는 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하기 위한 코드를 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 샘플의 예측과 경계 영역의 샘플의 재구성 중 하나 또는 양자 모두이며, 처리를 위한 코드는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하기 위한 코드와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 상기 경계 영역의 중간 재구성된 샘플을 필터링하기 위한 코드와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하기 위한 코드 중 하나 이상을 포함하는 컴퓨터 프로그램 제품이 제공된다.
제 12 양태에 따라, 컴퓨터와 함께 사용하기 위한 컴퓨터 프로그램 코드를 갖는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 코드는 360도 파노라마 화상의 경계 영역의 샘플을 디코딩하기 위한 코드를 포함하되, 디코딩하기 위한 코드는 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두를 이용하기 위한 코드를 포함하며, 경계 영역의 샘플을 처리함에 있어서, 샘플의 처리는 경계 영역의 상기 샘플의 예측과 상기 경계 영역의 상기 샘플의 재구성 중 하나 또는 양자 모두이며, 처리를 위한 코드는 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하기 위한 코드와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 경계 영역의 중간 재구성된 샘플을 필터링하기 위한 코드와, 반대 측 경계 영역의 하나 이상의 샘플 값과, 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하기 위한 코드 중 하나 이상을 포함하는 컴퓨터 프로그램 제품이 제공된다.

Claims (20)

  1. 인터-레이어 예측을 위해 360도 파노라마 소스 화상을 재구성하는 단계와,
    상기 360도 파노라마 소스 화상으로부터 코딩 트링 유닛의 인터-레이어 예측을 위한 레퍼런스 영역을 도출하는 단계를 포함하되,
    상기 도출하는 단계는
    상기 360도 파노라마 소스 화상의 적어도 일부를 리샘플링하는 단계 - 상기 리샘플링하는 단계는 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 상기 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 단계를 포함함 - 와,
    상기 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두를 상기 레퍼런스 영역에 포함시키는 단계
    중 하나 또는 양자 모두를 포함하는
    방법.
  2. 제 1 항에 있어서,
    디스패리티 값(disparity value)을 도출하는 단계와,
    상기 레퍼런스 영역의 왼쪽 오프셋과 오른쪽 오프셋에 대한 신택스 요소를 상기 디스패리티 값과 동일하게 설정하는 단계와,
    상기 레퍼런스 영역의 상부 오프셋과 하부 오프셋에 대한 신택스 요소를 0과 동일하게 설정하는 단계
    중 하나 이상을 더 포함하는
    방법.
  3. 제 2 항에 있어서,
    화상과 연관된 하나 이상의 심도 맵(depth maps)으로부터 평균 디스패리티를 도출하는 단계와,
    상기 화상에 적용된 카메라 파라미터로부터 디스패리티를 도출하는 단계와,
    스테레오 매칭 알고리즘을 사용하여 뷰 간의 평균 디스패리티를 도출하는 단계와,
    상이한 뷰들의 화상 사이에 인터-뷰 모션 벡터를 적용하여 평균 디스패리티를 도출하는 단계
    중 하나 이상을 사용하는 하나 이상의 액세스 유닛의 상기 화상으로부터 상기 디스패리티 값을 도출하는 단계를 더 포함하는
    방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    하나 이상의 화상에 대한 평균 디스패리티 값을 도출하는 단계와,
    스케일링된 레퍼런스 레이어 왼쪽 오프셋과 스케일링된 레퍼런스 레이어 오른쪽 오프셋에 대한 신택스 요소를 상기 평균 디스패리티 값과 동일하게 설정하는 단계와,
    스케일링된 레퍼런스 레이어 상부 오프셋과 스케일링된 레퍼런스 레이어 하부 오프셋에 대한 신택스 요소를 0과 동일하게 설정하는 단계
    중 하나 이상을 더 포함하는
    방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    레퍼런스 화상 리스트 내에 베이스-뷰 화상의 두 개의 발생(occurrences)을 생성하는 단계 - 제 1 발생은 기존의 인터-레이어 레퍼런스 화상이고, 제 2 발생은 리샘플림된 화상임 - 와,
    비트스트림 내에 상기 두 개의 발생의 생성을 선택적으로 표시하는 단계를 더 포함하는
    방법.
  6. 360도 파노라마 화상의 경계 영역의 샘플을 인코딩하는 단계를 포함하되, 상기 인코딩하는 단계는
    반대 측 경계 영역의 하나 이상의 샘플 값과,
    상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값
    중 하나 또는 양자 모두를 이용하는 단계를 포함하며,
    상기 경계 영역의 상기 샘플을 처리함에 있어서, 상기 샘플의 처리는 상기 경계 영역의 상기 샘플의 예측과 상기 경계 영역의 상기 샘플의 재구성 중 하나 또는 양자 모두이며, 상기 처리는
    상기 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 단계와,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 상기 경계 영역의 중간 재구성된 샘플을 필터링하는 단계와,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩(context-adaptive entropy coding)을 튜닝하는 단계 중 하나 이상을 포함하는
    방법.
  7. 360도 파노라마 화상의 경계 영역의 샘플을 디코딩하는 단계를 포함하되, 상기 디코딩하는 단계는
    반대 측 경계 영역의 하나 이상의 샘플 값과,
    상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값
    중 하나 또는 양자 모두를 이용하는 단계를 포함하며,
    상기 경계 영역의 상기 샘플을 처리함에 있어서, 상기 샘플의 처리는 상기 경계 영역의 상기 샘플의 예측과 상기 경계 영역의 상기 샘플의 재구성 중 하나 또는 양자 모두이며, 상기 처리는
    상기 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 단계와,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 상기 경계 영역의 중간 재구성된 샘플을 필터링하는 단계와,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하는 단계 중 하나 이상을 포함하는
    방법.
  8. 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서,
    상기 적어도 하나의 메모리와 상기 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서를 사용하여 상기 장치로 하여금 적어도
    인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성하는 것과,
    상기 360도 파노라마 소스 화상으로부터 코딩 트리 유닛의 인터-레이어 예측을 위한 레퍼런스 영역을 도출하는 것을 수행하게 하도록 구성되며,
    상기 도출하는 것은
    상기 360도 파노라마 소스 화상의 적어도 일부분을 리샘플링하는 것 - 상기 리샘플링은 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 상기 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 것을 포함함 - 과,
    상기 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두를 상기 레퍼런스 영역에 포함시키는 것
    중 하나 또는 양자 모두를 포함하는
    장치.
  9. 제 8 항에 있어서,
    상기 장치로 하여금 적어도
    디스패리티 값을 도출하는 것과,
    상기 레퍼런스 영역의 왼쪽 오프셋과 오른쪽 오프셋에 대한 신택스 요소를 상기 디스패리티 값과 동일하게 설정하는 것과,
    상기 레퍼런스 영역의 상부 오프셋과 하부 오프셋에 대한 신택스 요소를 0과 동일하게 설정하는 것
    을 수행하게 하는 컴퓨터 프로그램 코드를 더 포함하는
    장치.
  10. 제9항에 있어서,
    상기 장치로 하여금 적어도
    화상과 연관된 하나 이상의 심도 맵으로부터 평균 디스패리티를 도출하는 것과,
    상기 화상에 적용된 카메라 파라미터로부터 디스패리티를 도출하는 것과,
    스테레오 매칭 알고리즘을 사용하여 뷰 간의 평균 디스패리티를 도출하는 것과,
    상이한 뷰들의 화상 사이에 인터-뷰 모션 벡터를 적용하여 평균 디스패리티를 도출하는 것
    중 하나 이상을 사용함으로써 하나 이상의 액세스 유닛의 상기 화상으로부터 상기 디스패리티 값을 도출하는 것을 더 수행하게 하는 컴퓨터 프로그램 코드를 더 포함하는
    장치.
  11. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 장치로 하여금 적어도
    하나 이상의 화상에 대한 평균 디스패리티 값을 도출하는 것과,
    스케일링된 레퍼런스 레이어 왼쪽 오프셋과 스케일링된 레퍼런스 레이어 오른쪽 오프셋에 대한 신택스 요소를 상기 평균 디스패리티 값과 동일하게 설정하는 것과,
    스케일링된 레퍼런스 레이어 상부 오프셋과 스케일링된 레퍼런스 레이어 하부 오프셋에 대한 신택스 요소를 0과 동일하게 설정하는 것
    을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 더 포함하는
    장치.
  12. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 장치로 하여금 적어도
    레퍼런스 화상 리스트 내에 베이스-뷰 화상의 두 개의 발생을 생성하는 것 - 제 1 발생은 기존의 인터-레이어 레퍼런스 화상이고, 제 2 발생은 리샘플림된 화상임 - 과,
    비트스트림 내에 상기 두 개의 발생의 생성을 선택적으로 표시하는 것
    을 수행하게 하도록 구성된 컴퓨터 프로그램 코드를 더 포함하는
    장치.
  13. 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서,
    상기 적어도 하나의 메모리와 상기 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서를 사용하여 상기 장치로 하여금 적어도
    360도 파노라마 화상의 경계 영역의 샘플을 인코딩하는 것을 수행하게 하도록 구성되며, 상기 인코딩하는 것은
    반대 측 경계 영역의 하나 이상의 샘플 값과,
    상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값
    중 하나 또는 양자 모두를 이용하는 것을 포함하며,
    상기 경계 영역의 상기 샘플을 처리함에 있어서, 상기 샘플의 처리는 상기 경계 영역의 상기 샘플의 예측과 상기 경계 영역의 상기 샘플의 재구성 중 하나 또는 양자 모두이며, 상기 처리는
    상기 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 상기 경계 영역의 중간 재구성된 샘플을 필터링하는 것과,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하는 것 중 하나 이상을 포함하는
    장치.
  14. 적어도 하나의 프로세서와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하는 장치로서,
    상기 적어도 하나의 메모리와 상기 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서를 사용하여 상기 장치로 하여금 적어도
    360도 파노라마 화상의 경계 영역의 샘플을 디코딩하는 것을 수행하게 하도록 구성되며, 상기 디코딩하는 것은
    반대 측 경계 영역의 하나 이상의 샘플 값과,
    상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값
    중 하나 또는 양자 모두를 이용하는 것을 포함하며,
    상기 경계 영역의 상기 샘플을 처리함에 있어서, 상기 샘플의 처리는 상기 경계 영역의 상기 샘플의 예측과 상기 경계 영역의 상기 샘플의 재구성 중 하나 또는 양자 모두이며, 상기 처리는
    상기 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 상기 경계 영역의 중간 재구성된 샘플을 필터링하는 것과,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하는 것 중 하나 이상을 포함하는
    장치.
  15. 처리 수단과,
    인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성하는 수단과,
    상기 360도 파노라마 소스 화상으로부터 코딩 트리 유닛의 인터-레이어 예측을 위한 레퍼런스 영역을 도출하는 수단을 포함하되,
    상기 도출하는 수단은
    상기 360도 파노라마 소스 화상의 적어도 일부를 리샘플링하는 것 - 상기 리샘플링하는 것은 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 상기 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하는 것을 포함함 - 과,
    상기 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두를 상기 레퍼런스 영역에 포함시키는 것
    중 하나 또는 양자 모두를 수행하도록 구성된
    장치.
  16. 처리 수단과,
    360도 파노라마 화상의 경계 영역의 샘플을 인코딩하는 수단을 포함하되, 상기 인코딩하는 수단은
    반대 측 경계 영역의 하나 이상의 샘플 값과,
    상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값
    중 하나 또는 양자 모두를 이용하도록 구성되며,
    상기 경계 영역의 상기 샘플을 처리함에 있어서, 상기 샘플의 처리는 상기 경계 영역의 상기 샘플의 예측과 상기 경계 영역의 상기 샘플의 재구성 중 하나 또는 양자 모두이며, 상기 처리는
    상기 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 상기 경계 영역의 중간 재구성된 샘플을 필터링하는 것과,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하는 것 중 하나 이상을 포함하는
    장치.
  17. 처리 수단과,
    360도 파노라마 화상의 경계 영역의 샘플을 디코딩하는 수단을 포함하되, 상기 디코딩하는 수단은
    반대 측 경계 영역의 하나 이상의 샘플 값과,
    상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값
    중 하나 또는 양자 모두를 이용하는 것을 포함하며,
    상기 경계 영역의 상기 샘플을 처리함에 있어서, 상기 샘플의 처리는 상기 경계 영역의 상기 샘플의 예측과 상기 경계 영역의 상기 샘플의 재구성 중 하나 또는 양자 모두이며, 상기 처리는
    상기 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하는 것과,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 상기 경계 영역의 중간 재구성된 샘플을 필터링하는 것과,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하는 것 중 하나 이상을 포함하는
    장치.
  18. 컴퓨터와 함께 사용하기 위한 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 프로그램 코드는
    인터-레이어 예측을 위한 360도 파노라마 소스 화상을 재구성하기 위한 코드와,
    상기 360도 파노라마 소스 화상으로부터 코딩 트리 유닛의 인터-레이어 예측을 위한 레퍼런스 영역을 도출하기 위한 코드를 포함하되,
    상기 도출하기 위한 코드는
    상기 360도 파노라마 소스 화상의 적어도 일부를 리샘플링하기 위한 코드 - 상기 리샘플링하기 위한 코드는 반대 측 경계 영역의 하나 이상의 샘플 값 및/또는 상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값을 적어도 부분적으로 사용하여 상기 360도 파노라마 소스 화상의 경계 영역의 샘플을 필터링하기 위한 코드를 포함함 - 와,
    상기 360도 파노라마 소스 화상의 화상 경계를 가로지르는 레퍼런스 영역을 결정하고, 상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두를 상기 레퍼런스 영역에 포함시키기 위한 코드
    중 하나 또는 양자 모두를 포함하는
    컴퓨터 판독가능 저장 매체.
  19. 컴퓨터와 함께 사용하기 위한 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 프로그램 코드는
    360도 파노라마 화상의 경계 영역의 샘플을 인코딩하기 위한 코드를 포함하되, 상기 인코딩하기 위한 코드는
    반대 측 경계 영역의 하나 이상의 샘플 값과,
    상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값
    중 하나 또는 양자 모두를 이용하기 위한 코드를 포함하며,
    상기 경계 영역의 상기 샘플을 처리함에 있어서, 상기 샘플의 처리는 상기 경계 영역의 상기 샘플의 예측과 상기 경계 영역의 상기 샘플의 재구성 중 하나 또는 양자 모두이며, 상기 처리를 위한 코드는
    상기 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하기 위한 코드와,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 상기 경계 영역의 중간 재구성된 샘플을 필터링하기 위한 코드와,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 코딩을 튜닝하기 위한 코드 중 하나 이상을 포함하는
    컴퓨터 판독가능 저장 매체.
  20. 컴퓨터와 함께 사용하기 위한 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 프로그램 코드는
    360도 파노라마 화상의 경계 영역의 샘플을 디코딩하기 위한 코드를 포함하되, 상기 디코딩하기 위한 코드는
    반대 측 경계 영역의 하나 이상의 샘플 값과,
    상기 반대 측 경계 영역의 하나 이상의 블록과 연관된 하나 이상의 변수 값
    중 하나 또는 양자 모두를 이용하기 위한 코드를 포함하며,
    상기 경계 영역의 상기 샘플을 처리함에 있어서, 상기 샘플의 처리는 상기 경계 영역의 상기 샘플의 예측과 상기 경계 영역의 상기 샘플의 재구성 중 하나 또는 양자 모두이며, 상기 처리를 위한 코드는
    상기 하나 이상의 샘플 값에 기초하여 인트라 예측을 위한 예측 블록을 획득하기 위한 코드와,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 상기 경계 영역의 중간 재구성된 샘플을 필터링하기 위한 코드와,
    상기 반대 측 경계 영역의 상기 하나 이상의 샘플 값과, 상기 반대 측 경계 영역의 상기 하나 이상의 블록과 연관된 상기 하나 이상의 변수 값 중 하나 또는 양자 모두에 기초하여 콘텍스트 적응 엔트로피 디코딩을 튜닝하기 위한 코드 중 하나 이상을 포함하는
    컴퓨터 판독가능 저장 매체.
KR1020217018415A 2015-09-23 2016-09-21 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품 KR102432085B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562222366P 2015-09-23 2015-09-23
US62/222,366 2015-09-23
KR1020187011176A KR102267922B1 (ko) 2015-09-23 2016-09-21 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품
PCT/FI2016/050653 WO2017051072A1 (en) 2015-09-23 2016-09-21 A method, an apparatus and a computer program product for coding a 360-degree panoramic video

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187011176A Division KR102267922B1 (ko) 2015-09-23 2016-09-21 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품

Publications (2)

Publication Number Publication Date
KR20210077006A true KR20210077006A (ko) 2021-06-24
KR102432085B1 KR102432085B1 (ko) 2022-08-11

Family

ID=58283646

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187011176A KR102267922B1 (ko) 2015-09-23 2016-09-21 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품
KR1020217018415A KR102432085B1 (ko) 2015-09-23 2016-09-21 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187011176A KR102267922B1 (ko) 2015-09-23 2016-09-21 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품

Country Status (6)

Country Link
US (3) US20170085917A1 (ko)
EP (1) EP3354029A4 (ko)
JP (1) JP6559337B2 (ko)
KR (2) KR102267922B1 (ko)
CN (1) CN108293136B (ko)
WO (1) WO2017051072A1 (ko)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10341682B2 (en) * 2016-01-19 2019-07-02 Peking University Shenzhen Graduate School Methods and devices for panoramic video coding and decoding based on multi-mode boundary fill
US20170214937A1 (en) * 2016-01-22 2017-07-27 Mediatek Inc. Apparatus of Inter Prediction for Spherical Images and Cubic Images
US10602191B2 (en) * 2016-05-13 2020-03-24 Gopro, Inc. Apparatus and methods for video compression
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
EP3466075A1 (en) * 2016-05-26 2019-04-10 VID SCALE, Inc. Geometric conversion for 360-degree video coding
CN113873239A (zh) * 2016-06-24 2021-12-31 株式会社Kt 用于处理视频信号的方法和设备
CN109417632B (zh) 2016-07-08 2023-08-04 Vid拓展公司 使用几何图形投影的360度视频编码
AU2016231584A1 (en) * 2016-09-22 2018-04-05 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
EP3301930A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding an omnidirectional video
KR20230070062A (ko) * 2016-10-04 2023-05-19 주식회사 비원영상기술연구소 영상 데이터 부호화/복호화 방법 및 장치
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
CN108111851B (zh) * 2016-11-25 2020-12-22 华为技术有限公司 一种去块滤波方法及终端
US10244215B2 (en) 2016-11-29 2019-03-26 Microsoft Technology Licensing, Llc Re-projecting flat projections of pictures of panoramic video for rendering by application
US10244200B2 (en) * 2016-11-29 2019-03-26 Microsoft Technology Licensing, Llc View-dependent operations during playback of panoramic video
US10242714B2 (en) 2016-12-19 2019-03-26 Microsoft Technology Licensing, Llc Interface for application-specified playback of panoramic video
JP6922215B2 (ja) * 2016-12-27 2021-08-18 富士通株式会社 動画像符号化装置
CN110100438B (zh) * 2016-12-28 2022-04-15 索尼公司 图像处理装置和方法
KR102437108B1 (ko) * 2017-01-13 2022-08-26 삼성전자주식회사 360도 이미지를 부호화 또는 복호화하는 방법 및 장치
US10623735B2 (en) 2017-01-21 2020-04-14 OrbViu Inc. Method and system for layer based view optimization encoding of 360-degree video
MX2019008789A (es) * 2017-01-31 2019-09-11 Sharp Kk Sistemas y metodos para particionar una imagen en bloques de video para codificacion de video.
WO2018171758A1 (en) * 2017-03-24 2018-09-27 Mediatek Inc. Method and apparatus for deriving vr projection, packing, roi and viewport related tracks in isobmff and supporting viewport roll signaling
WO2018177373A1 (en) * 2017-03-30 2018-10-04 Mediatek Inc. Method and apparatus for signaling spherical region information in isobmff
KR20230079466A (ko) * 2017-04-11 2023-06-07 브이아이디 스케일, 인크. 면 연속성을 사용하는 360 도 비디오 코딩
WO2018212582A1 (ko) * 2017-05-18 2018-11-22 에스케이텔레콤 주식회사 화면 내 예측 부호화 또는 복호화 방법 및 장치
WO2018233662A1 (en) * 2017-06-23 2018-12-27 Mediatek Inc. METHOD AND APPARATUS FOR MOTION VECTOR DERIVATIONS IN IMMERSIVE VIDEO CODING
EP3422724B1 (en) * 2017-06-26 2024-05-01 Nokia Technologies Oy An apparatus, a method and a computer program for omnidirectional video
US11032545B2 (en) 2017-06-29 2021-06-08 Qualcomm Incorporated Reducing seam artifacts in 360-degree video
EP3646605A4 (en) * 2017-06-30 2020-11-25 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR SIGNALING INFORMATION ASSOCIATED WITH CONSTITUTIVE IMAGES IN VIRTUAL REALITY APPLICATIONS
US10798417B2 (en) 2017-07-05 2020-10-06 Qualcomm Incorporated Deblock filtering for 360-degree video coding
US10659760B2 (en) * 2017-07-10 2020-05-19 Qualcomm Incorporated Enhanced high-level signaling for fisheye virtual reality video
US10575018B2 (en) * 2017-07-10 2020-02-25 Qualcomm Incorporated Enhanced high-level signaling for fisheye virtual reality video in dash
EP3457698A1 (en) * 2017-09-18 2019-03-20 Thomson Licensing Method and apparatus for coding of omnidirectional video
KR20200064989A (ko) 2017-09-20 2020-06-08 브이아이디 스케일, 인크. 360도 비디오 코딩에서의 면 불연속 처리
US11877001B2 (en) 2017-10-10 2024-01-16 Qualcomm Incorporated Affine prediction in video coding
US11432010B2 (en) 2017-12-19 2022-08-30 Vid Scale, Inc. Face discontinuity filtering for 360-degree video coding
US10390063B2 (en) 2017-12-22 2019-08-20 Comcast Cable Communications, Llc Predictive content delivery for video streaming services
US10798455B2 (en) 2017-12-22 2020-10-06 Comcast Cable Communications, Llc Video delivery
US11212438B2 (en) * 2018-02-14 2021-12-28 Qualcomm Incorporated Loop filter padding for 360-degree video coding
US11218706B2 (en) * 2018-02-26 2022-01-04 Interdigital Vc Holdings, Inc. Gradient based boundary filtering in intra prediction
CN108347611B (zh) * 2018-03-02 2021-02-02 电子科技大学 用于经纬图的编码块级拉格朗日乘子的优化方法
WO2019240425A1 (ko) 2018-06-11 2019-12-19 에스케이텔레콤 주식회사 인터 예측 방법 및 영상 복호화 장치
MX2020013386A (es) 2018-06-11 2021-03-09 Hfi Innovation Inc Metodo y aparato de flujo optico bidireccional para la codificacion de video.
KR20190140387A (ko) * 2018-06-11 2019-12-19 에스케이텔레콤 주식회사 360도 영상의 인터 예측 방법 및 이를 이용한 영상 복호화 장치
CN110636296B (zh) * 2018-06-22 2022-05-27 腾讯美国有限责任公司 视频解码方法、装置、计算机设备以及存储介质
US11290749B2 (en) * 2018-07-17 2022-03-29 Comcast Cable Communications, Llc Systems and methods for deblocking filtering
WO2020031297A1 (ja) * 2018-08-08 2020-02-13 富士通株式会社 符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム
CN112930684B (zh) * 2018-08-17 2023-10-13 寰发股份有限公司 在视频编解码系统中利用双向预测处理视频的方法、设备
TWI822863B (zh) * 2018-09-27 2023-11-21 美商Vid衡器股份有限公司 360度視訊寫碼樣本導出
EP3874757A4 (en) * 2018-11-02 2022-08-24 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR REFERENCE OFFSET SIGNALING IN VIDEO CODING
EP3861736A4 (en) 2018-11-06 2022-03-30 Beijing Bytedance Network Technology Co., Ltd. POSITION DEPENDENT INTRAPREDICTION
CN111263191B (zh) * 2018-11-30 2023-06-27 中兴通讯股份有限公司 视频数据的处理方法、装置、相关设备及存储介质
JP7384831B2 (ja) * 2018-11-30 2023-11-21 テンセント・アメリカ・エルエルシー ビデオ符号化及び復号のための方法、装置及びコンピュータプログラム
WO2020108591A1 (en) 2018-12-01 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
WO2020114445A1 (en) 2018-12-07 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Context-based intra prediction
EP3906677A4 (en) 2019-01-02 2022-10-19 Nokia Technologies Oy DEVICE, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING
CN113170124B (zh) * 2019-01-14 2023-12-12 联发科技股份有限公司 虚拟边缘的环内滤波的方法和设备
CN109889829B (zh) * 2019-01-23 2022-08-09 北方工业大学 360度视频的快速样点自适应补偿
AU2020226565C1 (en) * 2019-02-22 2024-01-11 Beijing Bytedance Network Technology Co., Ltd. Neighbouring sample selection for intra prediction
CN115967810A (zh) 2019-02-24 2023-04-14 抖音视界有限公司 对视频数据进行编解码的方法、设备及计算机可读介质
WO2020180737A1 (en) * 2019-03-04 2020-09-10 Alibaba Group Holding Limited Method and system for processing video content
BR112021017841A2 (pt) * 2019-03-11 2021-11-30 Fraunhofer Ges Forschung Codificador e decodificador, método de codificação e decodificação, sinal de vídeo e sistema
HRP20230760T1 (hr) 2019-03-11 2023-11-10 Dolby Laboratories Licensing Corporation Signalizacija informacija koje se odnose na kut blende
MX2021011025A (es) * 2019-03-11 2021-11-12 Huawei Tech Co Ltd Un codificador, un decodificador y métodos correspondientes.
WO2020192642A1 (en) 2019-03-24 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Conditions in parameter derivation for intra prediction
US11394990B2 (en) * 2019-05-09 2022-07-19 Tencent America LLC Method and apparatus for signaling predictor candidate list size
WO2020249124A1 (en) 2019-06-14 2020-12-17 Beijing Bytedance Network Technology Co., Ltd. Handling video unit boundaries and virtual boundaries based on color format
US11277618B2 (en) * 2019-06-21 2022-03-15 Qualcomm Incorporated Increasing decoding throughput of intra-coded blocks
EP3989547A4 (en) * 2019-06-21 2023-04-19 Samsung Electronics Co., Ltd. VIDEO ENCODING METHOD AND DEVICE, AND VIDEO DECODER METHOD AND DEVICE
CN114097225B (zh) 2019-07-09 2024-04-19 北京字节跳动网络技术有限公司 用于自适应环路滤波的样点确定
BR112022000542A2 (pt) 2019-07-11 2022-03-15 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processar dados de vídeo, meios de armazenamento e de gravação não transitórios legíveis por computador
WO2021008539A1 (en) 2019-07-15 2021-01-21 Beijing Bytedance Network Technology Co., Ltd. Classification in adaptive loop filtering
US11095916B2 (en) * 2019-07-23 2021-08-17 Qualcomm Incorporated Wraparound motion compensation in video coding
US11877000B2 (en) * 2019-08-06 2024-01-16 Dolby Laboratories Licensing Corporation Canvas size scalable video coding
KR20220088680A (ko) 2019-08-06 2022-06-28 오피 솔루션즈, 엘엘씨 프레임 타입에 기반한 적응적 해상도 관리의 묵시적 시그널링
EP4011084A4 (en) 2019-08-06 2023-08-09 OP Solutions PRESCALE ADAPTIVE RESOLUTION MANAGEMENT
KR20220090493A (ko) 2019-08-06 2022-06-29 오피 솔루션즈, 엘엘씨 블록-기반 적응적 해상도 관리
EP4011067A4 (en) * 2019-08-06 2023-09-13 OP Solutions, LLC ADAPTIVE RESOLUTION MANAGEMENT SIGNALING
KR20220049000A (ko) 2019-08-23 2022-04-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 참조 픽처 리샘플링에서의 클리핑
KR102492522B1 (ko) * 2019-09-10 2023-01-27 삼성전자주식회사 툴 세트를 이용하는 영상 복호화 장치 및 이에 의한 영상 복호화 방법, 및 영상 부호화 장치 및 이에 의한 영상 부호화 방법
HRP20230554T1 (hr) * 2019-09-17 2023-08-18 Huawei Technologies Co., Ltd. Signaliziranje identifikatora podslike prilikom kodiranja videa na bazi podslika
US20220377344A1 (en) * 2019-09-19 2022-11-24 Vid Scale, Inc. Systems and methods for versatile video coding
US20220385888A1 (en) * 2019-09-20 2022-12-01 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium storing bitstream
US11375238B2 (en) * 2019-09-20 2022-06-28 Tencent America LLC Method for padding processing with sub-region partitions in video stream
US11336894B2 (en) * 2019-09-20 2022-05-17 Tencent America LLC Signaling of reference picture resampling with resampling picture size indication in video bitstream
JP7318120B2 (ja) 2019-09-22 2023-07-31 北京字節跳動網絡技術有限公司 適応ループフィルタリングにおけるパディングプロセス
CN114450954A (zh) 2019-09-27 2022-05-06 北京字节跳动网络技术有限公司 不同视频单元之间的自适应环路滤波
EP4044597A4 (en) * 2019-10-10 2023-11-01 Samsung Electronics Co., Ltd. IMAGE DECODING APPARATUS WITH TOOL SET AND IMAGE DECODING METHOD THEREOF, AND IMAGE CODING APPARATUS AND IMAGE CODING METHOD THEREOF
KR20220071203A (ko) 2019-10-10 2022-05-31 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 적응적 루프 필터링에서 이용 불가능한 샘플 위치들에서의 패딩 프로세스
WO2021078177A1 (en) * 2019-10-23 2021-04-29 Beijing Bytedance Network Technology Co., Ltd. Signaling for reference picture resampling
CN114600461A (zh) 2019-10-23 2022-06-07 北京字节跳动网络技术有限公司 用于多编解码工具的计算
MX2022005905A (es) * 2019-11-15 2022-06-24 Hfi Innovation Inc Metodo y aparato para se?alizacion de compensacion de movimiento envolvente horizontal en la codificacion de video vr360.
US11265558B2 (en) * 2019-11-22 2022-03-01 Qualcomm Incorporated Cross-component adaptive loop filter
US20220408114A1 (en) * 2019-11-22 2022-12-22 Sharp Kabushiki Kaisha Systems and methods for signaling tiles and slices in video coding
US11539939B2 (en) * 2019-11-27 2022-12-27 Hfi Innovation Inc. Video processing methods and apparatuses for horizontal wraparound motion compensation in video coding systems
US11711537B2 (en) 2019-12-17 2023-07-25 Alibaba Group Holding Limited Methods for performing wrap-around motion compensation
US11589037B2 (en) * 2019-12-20 2023-02-21 Qualcomm Incorporated Motion compensation using size of reference picture
MX2022008238A (es) * 2019-12-30 2022-10-07 Beijing Dajia Internet Information Tech Co Ltd Determinación de componentes cruzados de las componentes croma y luma de datos de video.
US11445176B2 (en) 2020-01-14 2022-09-13 Hfi Innovation Inc. Method and apparatus of scaling window constraint for worst case bandwidth consideration for reference picture resampling in video coding
CN115176467A (zh) * 2020-02-14 2022-10-11 抖音视界有限公司 视频比特流中的通用约束标志的使用
CN115699755A (zh) 2020-03-26 2023-02-03 Lg电子株式会社 基于卷绕运动补偿的图像编码/解码方法和装置及存储比特流的记录介质
JP2023521295A (ja) 2020-03-26 2023-05-24 アリババ グループ ホウルディング リミテッド 映像符号化データをシグナリングするための方法
CN115668935A (zh) * 2020-03-26 2023-01-31 Lg电子株式会社 基于卷绕运动补偿的图像编码/解码方法和设备及存储比特流的记录介质
CN111586414B (zh) * 2020-04-07 2022-04-15 南京师范大学 一种基于svc和dash的360°视频流调度方法
CN111489383B (zh) * 2020-04-10 2022-06-10 山东师范大学 基于深度边缘点与彩色图像的深度图像上采样方法及系统
WO2021236059A1 (en) * 2020-05-19 2021-11-25 Google Llc Dynamic parameter selection for quality-normalized video transcoding
KR20230012507A (ko) 2020-05-21 2023-01-26 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩의 스케일링 윈도우
US11032546B1 (en) * 2020-07-20 2021-06-08 Tencent America LLC Quantizer for lossless and near-lossless compression
CN114697658A (zh) * 2020-12-31 2022-07-01 华为技术有限公司 编解码方法、电子设备、通信系统以及存储介质
WO2023085181A1 (en) * 2021-11-09 2023-05-19 Sharp Kabushiki Kaisha Systems and methods for signaling downsampling offset information in video coding
JP2024006995A (ja) * 2022-07-05 2024-01-18 シャープ株式会社 動画像復号装置および動画像符号化装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060015225A (ko) * 2004-08-13 2006-02-16 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상
EP2824885A1 (en) * 2013-07-12 2015-01-14 Alcatel Lucent A manifest file format supporting panoramic video
JP2015515201A (ja) * 2012-03-30 2015-05-21 アルカテル−ルーセント ビデオストリームの選択された空間部分を符号化するための方法および装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4258879B2 (ja) * 1999-03-08 2009-04-30 パナソニック株式会社 画像符号化方法とその装置、画像復号化方法とその装置、コンピュータに画像符号化方法および画像復号化方法を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US20030220971A1 (en) * 2002-05-23 2003-11-27 International Business Machines Corporation Method and apparatus for video conferencing with audio redirection within a 360 degree view
US7623682B2 (en) * 2004-08-13 2009-11-24 Samsung Electronics Co., Ltd. Method and device for motion estimation and compensation for panorama image
KR101066117B1 (ko) * 2009-11-12 2011-09-20 전자부품연구원 스케일러블 영상 코딩 방법 및 장치
US9414086B2 (en) * 2011-06-04 2016-08-09 Apple Inc. Partial frame utilization in video codecs
US8787688B2 (en) * 2011-10-13 2014-07-22 Sharp Laboratories Of America, Inc. Tracking a reference picture based on a designated picture on an electronic device
JP6030230B2 (ja) * 2012-07-04 2016-11-24 インテル コーポレイション パノラマベースの3dビデオコーディング
US9648318B2 (en) * 2012-09-30 2017-05-09 Qualcomm Incorporated Performing residual prediction in video coding
US9584808B2 (en) * 2013-02-22 2017-02-28 Qualcomm Incorporated Device and method for scalable coding of video information
US10284842B2 (en) * 2013-03-05 2019-05-07 Qualcomm Incorporated Inter-layer reference picture construction for spatial scalability with different aspect ratios
US9813723B2 (en) * 2013-05-03 2017-11-07 Qualcomm Incorporated Conditionally invoking a resampling process in SHVC
US9635371B2 (en) * 2013-05-31 2017-04-25 Qualcomm Incorporated Determining rounding offset using scaling factor in picture resampling
US9686561B2 (en) * 2013-06-17 2017-06-20 Qualcomm Incorporated Inter-component filtering
US20150130800A1 (en) * 2013-11-12 2015-05-14 Fyusion, Inc. Segmentation of surround view data
US9654794B2 (en) * 2014-01-03 2017-05-16 Qualcomm Incorporated Methods for coding an inter-layer reference picture set (RPS) and coding end of bitstream (EOB) network access layer (NAL) units in multi-layer coding
US9906804B2 (en) * 2014-01-16 2018-02-27 Qualcomm Incorporated Reference layer sample position derivation for scalable video coding
MX2016016867A (es) * 2014-06-18 2017-03-27 Samsung Electronics Co Ltd Metodo de codificacion de video inter-capa para compensar diferencia de luminancia y dispositivo para ello, y metodo de decodificacion de video y dispositivo para ello.

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060015225A (ko) * 2004-08-13 2006-02-16 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상
KR100677142B1 (ko) * 2004-08-13 2007-02-02 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상
JP2015515201A (ja) * 2012-03-30 2015-05-21 アルカテル−ルーセント ビデオストリームの選択された空間部分を符号化するための方法および装置
EP2824885A1 (en) * 2013-07-12 2015-01-14 Alcatel Lucent A manifest file format supporting panoramic video

Also Published As

Publication number Publication date
CN108293136A (zh) 2018-07-17
CN108293136B (zh) 2022-12-30
EP3354029A1 (en) 2018-08-01
JP2018534827A (ja) 2018-11-22
KR20180056730A (ko) 2018-05-29
US20210297697A1 (en) 2021-09-23
US20200154139A1 (en) 2020-05-14
US20170085917A1 (en) 2017-03-23
EP3354029A4 (en) 2019-08-21
KR102267922B1 (ko) 2021-06-22
JP6559337B2 (ja) 2019-08-14
KR102432085B1 (ko) 2022-08-11
WO2017051072A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
KR102267922B1 (ko) 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품
KR102567284B1 (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
TWI781972B (zh) 具有用於視頻寫碼之樣本存取之線性模型預測模式
US10244253B2 (en) Video coding techniques using asymmetric motion partitioning
CA2929989C (en) Signaling partition information for 3d lookup table for color gamut scalability in multi-layer video coding
WO2017158236A2 (en) A method, an apparatus and a computer program product for coding a 360-degree panoramic images and video
US20190297339A1 (en) An Apparatus, A Method and A Computer Program for Video Coding and Decoding
KR101669524B1 (ko) 비디오 코딩을 위한 방법 및 장치
US20140218473A1 (en) Method and apparatus for video coding and decoding
US20140092978A1 (en) Method and apparatus for video coding
US20130229485A1 (en) Apparatus, a Method and a Computer Program for Video Coding and Decoding
US20140085415A1 (en) Method and apparatus for video coding
JP6502357B2 (ja) マルチレイヤビデオコーディングにおける色域スケーラビリティのための3dルックアップテーブルに関する区分情報のシグナリング
WO2015104456A1 (en) An apparatus, a method and a computer program for video coding and decoding
CN114982246B (zh) 环路滤波器的自适应舍入
CN114303374A (zh) 利用可切换滤波器的参考画面重采样
WO2017162911A1 (en) An apparatus, a method and a computer program for video coding and decoding
CN114402617A (zh) 利用矢量裁剪的仿射译码
WO2024079381A1 (en) An apparatus, a method and a computer program for video coding and decoding
WO2024003441A1 (en) An apparatus, a method and a computer program for video coding and decoding
WO2024074752A1 (en) An apparatus, a method and a computer program for video coding and decoding
WO2024012761A1 (en) An apparatus, a method and a computer program for video coding and decoding

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant