KR101663397B1 - 가중 예측 파라미터 코딩 - Google Patents

가중 예측 파라미터 코딩 Download PDF

Info

Publication number
KR101663397B1
KR101663397B1 KR1020147030729A KR20147030729A KR101663397B1 KR 101663397 B1 KR101663397 B1 KR 101663397B1 KR 1020147030729 A KR1020147030729 A KR 1020147030729A KR 20147030729 A KR20147030729 A KR 20147030729A KR 101663397 B1 KR101663397 B1 KR 101663397B1
Authority
KR
South Korea
Prior art keywords
list
weighted prediction
prediction parameters
video
reference picture
Prior art date
Application number
KR1020147030729A
Other languages
English (en)
Other versions
KR20150003249A (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 KR20150003249A publication Critical patent/KR20150003249A/ko
Application granted granted Critical
Publication of KR101663397B1 publication Critical patent/KR101663397B1/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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

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

Abstract

본 기법들은 일반적으로 가중 예측 파라미터들의 코딩에 관련된다. 비디오 코더는 다른 참조 화상 리스트에 대한 코딩된 가중 예측 파라미터들에 기초하여 참조 화상 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다. 참조 화상 리스트의 예들은 결합된 참조 화상 리스트를 포함하여, 코딩 목적들을 위해 구성된 참조 화상 리스트들을 포함한다.

Description

가중 예측 파라미터 코딩{WEIGHTED PREDICTION PARAMETER CODING}
본 출원은 2012년 4월 3일자로 출원된 미국 가출원 제 61/619,856 호의 이익을 주장하며, 그 전체 내용이 참조로 여기에 포함된다.
본 개시는 비디오 코딩에 관한 것으로서, 특히 가중 예측 파라미터 코딩을 위한 기법들에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비젼들, 디지털 다이렉트 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인용 휴대정보단말들 (PDAs), 랩탑 또는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, e-북 판독기들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디오 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화들, 소위 "스마트폰들", 화상 회의 디바이스들, 비디오 스트리밍 디바이스들 등을 포함하는 광범위한 디바이스들 내로 통합될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, AVC (Advanced Video Coding) 에 의해 정의된 표준들, 현재 개발중인 HEVC (High Efficiency Video Coding) 표준, 및 그러한 표준들의 확장들에 기술된 것들과 같은 비디오 압축 기법들을 구현한다. 비디오 디바이스들은 그러한 비디오 압축 기법들을 구현함으로써 더욱 효율적으로 디지털 비디오 정보를 송신, 수신, 인코딩, 디코딩, 및/또는 저장할 수도 있다.
비디오 압축 기법들은 비디오 시퀀스들에 고유한 중복 (redundancy) 을 감소시키거나 제거하기 위해 공간 (인트라-화상) 예측 및/또는 시간 (인터-화상) 예측을 수행한다. 블록 기반 비디오 코딩의 경우, 비디오 슬라이스 (즉, 비디오 프레임 또는 비디오 프레임의 일부) 는 트리블록들, 코딩 유닛들 (CUs) 및/또는 코딩 노드들로서도 지칭될 수도 있는 비디오 블록들로 파티셔닝될 수도 있다. 화상의 인트라 코딩된 (I) 슬라이스에서의 비디오 블록들은 동일한 화상 내의 이웃하는 블록들에서의 참조 샘플들에 대한 공간 예측을 사용하여 인코딩된다. 화상의 인터 코딩된 (P 또는 B) 슬라이스 내의 비디오 블록들은 동일한 화상 내의 이웃하는 블록들에서의 참조 샘플들에 대한 공간 예측 또는 다른 참조 화상들 내의 참조 샘플들에 대한 시간 예측을 사용할 수도 있다. 화상들은 프레임들로서 지칭될 수도 있고, 참조 화상들은 참조 프레임들로 지칭될 수도 있다.
공간 또는 시간 예측은 코딩될 블록에 대한 예측 블록을 야기한다. 레지듀얼 데이터는 코딩될 오리지널 블록과 예측 블록 사이의 화소 차이들을 나타낸다. 인터 코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터에 따라 인코딩되고, 레지듀얼 데이터는 코딩된 블록과 예측 블록 사이의 차이를 나타낸다. 인트라 코딩된 블록은 인트라 코딩 모드 및 레지듀얼 데이터에 따라 인코딩된다. 추가의 압축을 위해, 레지듀얼 데이터는 화소 도메인으로부터 변환 도메인으로 변환되어, 레지듀얼 변환 계수들을 야기할 수도 있고, 이들은 그 후 양자화될 수도 있다. 초기에 2차원 배열로 배열된 양자화된 변환 계수들은 변환 계수들의 1차원 벡터를 생성하기 위해 스캔될 수도 있고, 훨씬 더 많은 압축을 달성하기 위해 엔트로피 코딩이 적용될 수도 있다.
일반적으로, 본 개시는 가중 예측 파라미터들을 코딩하기 위한 기법들에 관련된다. 가중 예측 파라미터들은 현재 화상의 블록을 인터 예측하는데 사용될 수 있는 참조 화상들의 화소 값들에 적용할 스케일링 팩터를 나타낼 수도 있다. 비디오 코더는 하나 또는 2 개의 참조 화상 리스트들 내의 참조 화상들을 식별한다. 일부 예들에서, 2 개의 참조 화상 리스트들이 실질적으로 등가인 경우, 비디오 코더는 그 2 개의 참조 화상 리스트들 중 하나에 대해 가중 예측 파라미터들을 코딩하고, 그 코딩된 가중 예측 파라미터들에 기초하여 다른 참조 화상 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다.
일부 예들에서, 비디오 코더는 2 개의 참조 화상 리스트들로부터 결합된 참조 화상 리스트를 구성 (construct) 할 수도 있다. 이들 예들에서, 비디오 코더는 결합된 참조 화상 리스트에 대해 가중 예측 파라미터들을 코딩하고, 결합된 참조 화상 리스트에 대한 코딩된 가중 예측 파라미터들로부터 2 개의 참조 화상 리스트들에 대한 가중 예측 파라미터들을 결정할 수도 있다.
하나의 예에서, 본 개시는 비디오 데이터를 코딩하는 방법을 기술한다. 방법은 제 1 리스트에 대한 가중 예측 파라미터들을 코딩하는 단계로서, 제 1 리스트는 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 코딩하는 단계; 제 1 리스트에 대한 가중 예측 파라미터들에 기초하여 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 단계로서, 제 2 리스트는 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 결정하는 단계; 및 코딩된 및 결정된 가중 예측 파라미터들인 가중 예측 파라미터들의 하나 이상에 적어도 기초하여 현재 화상 내의 블록을 인터 예측하는 단계를 포함한다.
하나의 예에서, 본 개시는 비디오 데이터를 코딩하는 디바이스를 기술한다. 디바이스는 제 1 리스트에 대한 가중 예측 파라미터들을 코딩하는 것으로서, 제 1 리스트는 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 코딩하고; 제 1 리스트에 대한 가중 예측 파라미터들에 기초하여 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 것으로서, 제 2 리스트는 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 결정하며; 코딩된 및 결정된 가중 예측 파라미터들인 가중 예측 파라미터들의 하나 이상에 적어도 기초하여 현재 화상 내의 블록을 인터 예측하도록 구성된 비디오 코더를 포함한다.
하나의 예에서, 본 개시는 저장된 명령들을 갖는 컴퓨터 판독가능 저장 매체를 기술하며, 명령들은 실행될 때 비디오 코딩을 위한 디바이스의 하나 이상의 프로세서들로 하여금, 제 1 리스트에 대한 가중 예측 파라미터들을 코딩하게 하는 것으로서, 제 1 리스트는 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 코딩하게 하고; 제 1 리스트에 대한 가중 예측 파라미터들에 기초하여 제 2 리스트에 대한 가중 예측 파라미터들을 결정하게 하는 것으로서, 제 2 리스트는 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 결정하게 하며; 코딩된 및 결정된 가중 예측 파라미터들인 가중 예측 파라미터들의 하나 이상에 적어도 기초하여 현재 화상 내의 블록을 인터 예측하게 한다.
하나의 예에서, 본 개시는 비디오 데이터를 코딩하는 디바이스를 기술하며, 그 디바이스는 제 1 리스트에 대한 가중 예측 파라미터들을 코딩하는 수단으로서, 제 1 리스트는 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 코딩하는 수단; 제 1 리스트에 대한 가중 예측 파라미터들에 기초하여 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 수단으로서, 제 2 리스트는 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 결정하는 수단; 및 코딩된 및 결정된 가중 예측 파라미터들인 가중 예측 파라미터들의 하나 이상에 적어도 기초하여 현재 화상 내의 블록을 인터 예측하는 수단을 포함한다.
하나의 예에서, 본 개시는 비디오 데이터를 코딩하는 방법을 기술하며, 그 방법은 제 1 참조 화상 리스트를 구성 (construct) 하는 단계; 제 2 참조 화상 리스트를 구성하는 단계; 제 1 참조 화상 리스트가 제 2 참조 화상 리스트와 동일한지 여부를 나타내는 제 1 신택스 엘리먼트를 적어도 코딩하는 단계; 제 1 신택스 엘리먼트가 제 1 참조 화상 리스트가 제 2 참조 화상 리스트와 동일하다고 나타내는 경우, 제 1 참조 화상 리스트 내에서 식별된 참조 화상들에 대한 가중 예측 파라미터들을 코딩하고, 제 2 참조 화상 리스트 내에서 식별된 참조 화상들에 대한 가중 예측 파라미터들을 코딩하지 않는 단계; 및 제 1 신택스 엘리먼트가 제 1 참조 화상 리스트가 제 2 참조 화상 리스트와 동일하다고 나타내는 경우, 제 1 참조 화상 리스트에서 식별된 적어도 하나의 참조 화상으로부터 그리고 해당 참조 화상에 대한 가중 예측 파라미터에 기초하여 비디오 블록을 예측하는 단계를 포함한다.
하나의 예에서, 본 개시는 비디오 데이터를 코딩하는 방법을 기술하며, 그 방법은 제 1 참조 화상 리스트 및 제 2 참조 화상 리스트의 제 1 의 N 개의 엘리먼트들이 동일한지 여부를 나타내는 제 1 신택스 엘리먼트를 적어도 코딩하는 단계; 제 1 의 N 개의 엘리먼트들이 동일한 경우, 제 1 참조 화상 리스트의 사이즈 및 제 2 참조 화상 리스트의 사이즈를 나타내는 정보를 코딩하는 단계; 제 1 참조 화상 리스트의 사이즈가 제 2 참조 화상 리스트의 사이즈보다 큰 경우, 제 1 참조 화상 리스트를 구성하는 단계, 및 제 1 참조 화상 리스트로부터 제 2 참조 화상 리스트를 도출하는 단계; 및 제 2 참조 화상 리스트의 사이즈가 제 1 참조 화상 리스트의 사이즈보다 큰 경우, 제 2 참조 화상 리스트를 구성하는 단계, 및 제 2 참조 화상 리스트로부터 제 1 참조 화상 리스트를 도출하는 단계를 포함한다.
하나 이상의 예들의 상세들은 첨부하는 도면들 및 이하의 상세한 설명에 진술되어 있다. 다른 특징들, 목적들 및 이점들은 상세한 설명 및 도면들로부터, 그리고 청구범위로부터 명백할 것이다.
도 1 은 본 개시에서 기술된 하나 이상의 예들에 따른 예시의 비디오 인코딩 및 디코딩 시스템을 도시하는 블록도이다.
도 2a 및 도 2b 는 실질적으로 등가인 참조 화상 리스트들의 예들을 도시하는 개념도들이다.
도 3 은 본 개시에 기술된 기법들을 구현할 수도 있는 비디오 인코더의 예를 도시하는 블록도이다.
도 4 는 본 개시에 기술된 기법들을 구현할 수도 있는 비디오 디코더의 예를 도시하는 블록도이다.
도 5 는 본 개시에서 기술된 하나 이상의 예들에 따른 비디오 인코더의 예시적인 동작을 나타내는 흐름도이다.
도 6 은 본 개시에서 기술된 하나 이상의 예들에 따른 비디오 디코더의 예시적인 동작을 나타내는 흐름도이다.
비디오 코더 (예를 들어, 비디오 인코더 또는 비디오 디코더) 는 화상 내의 하나 이상의 블록들을 인트라 예측 (예를 들어, 인트라 예측 인코딩 또는 인트라 예측 디코딩) 하거나, 화상 내의 하나 이상의 블록들을 인터 예측할 수도 있다. 화상 내의 블록들을 인터 예측 (예를 들어, 블록들을 인터 예측 인코딩 또는 블록들을 인터 예측 디코딩) 하기 위해, 비디오 코더는 하나 또는 2 개의 참조 화상 리스트들 (RefPicList0 및 RefPicList1) 을 구성한다. RefPicList0 및 RefPicList1 의 각각은 현재 화상 내의 블록을 인터 예측하는데 잠재적으로 사용될 수 있는 참조 화상들을 나타낸다. 예를 들어, 블록이 단방향 예측 (예를 들어, 하나의 참조 화상으로 예측) 되는 경우, 비디오 코더는 블록에 대한 모션 벡터를 결정하고, 모션 벡터가 참조하는 참조 화상을 결정할 수도 있다. RefPicList0 또는 RefPicList1 은 단방향 모션 벡터가 참조하는 참조 화상을 식별할 수도 있다. 블록이 양방향 예측 (예를 들어, 2 개의 참조 화상들로 예측) 되는 경우, 비디오 코더는 블록에 대한 2 개의 모션 벡터들 (즉, 각 참조 화상에 대해 하나) 을 결정할 수도 있다. 비디오 코더는 또한 제 1 모션 벡터가 참조하는 RefPicList0 내의 참조 화상 및 제 2 모션 벡터가 참조하는 RefPicList1 내의 참조 화상을 결정할 수도 있다. 단방향 예측되거나 양방향 예측되는 예의 경우, 비디오 코더는 참조 화상 또는 화상들 내에서 모션 벡터 또는 벡터들에 의해 참조되는 블록 또는 블록들에 기초하여 현재 화상의 블록을 인터 예측할 수도 있다.
또, 일부 예들에서, 비디오 코더는 참조 화상 리스트들 각각에서의 참조 화상들 각각에 대한 가중 예측 파라미터를 결정할 수도 있다. 가중 예측 파라미터는 스케일링 팩터를 정의할 수도 있고, 그 스케일링 팩터에 의해 참조 화상 내의 화소 값들이 현재 화상 내의 블록을 인터 예측하기 위해 스케일링된다. 본 개시에 기술된 기법들은 참조 화상 리스트들 각각 내의 참조 화상들에 대한 가중 예측 파라미터들을 결정하는 효율적인 방법들을 제공한다.
예를 들어, 2 개의 참조 화상 리스트들이 실질적으로 등가인 경우, 비디오 인코더가 양 리스트들에 대한 가중 예측 파라미터들을, 코딩된 비트스트림에서 시그널링하는 것이 필요하지 않을 수도 있다. 오히려, 비디오 인코더는 실질적으로 등가인 리스트들 중 하나에 대한 가중 예측 파라미터들을, 코딩된 비트스트림에서 시그널링할 수도 있고, 비디오 디코더는 리스트들 중 하나에 대한 가중 예측 파라미터들을, 코딩된 비트스트림으로부터 수신하고, 시그널링된 가중 예측 파라미터들에 기초하여 다른 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다.
하나의 예에서, RefPicList0 및 RefPicList1 이 실질적으로 등가라고 가정하라. 이러한 예에서, 비디오 인코더는 RefPicList0 에 대한 가중 예측 파라미터들을, 코딩된 비트스트림에서 시그널링할 수도 있고, 비디오 디코더는 RefPicList0 에 대한 가중 예측 파라미터들에 기초하여 RefPicList1 에 대한 가중 예측 파라미터들을 결정할 수도 있다. 이러한 방식으로, 양 리스트들에 대한 가중 예측 파라미터들이 시그널링될 필요가 없고, 리스트들 중 하나만에 대한 가중 예측 파라미터들을 시그널링하는 것이 충분할 수도 있기 때문에, 시그널링될 필요가 있는 데이터의 양은 감소될 수도 있다.
RefPicList0 및 RefPicList1 이 실질적으로 등가인 것으로 고려되는 적어도 2 가지 경우들이 존재할 수도 있다. 하나의 경우에서, RefPicList0 및 RefPicList1 은 RefPicList0 및 RefPicList1 이 동일할 때 실질적으로 등가인 것으로 고려된다. RefPicList0 및 RefPicList1 이 동일한 경우, RefPicList0 및 RefPicList1 은 정확히 동일한 참조 화상들을 정확히 동일한 순서로 식별한다. 즉, RefPicList0 및 RefPicList1 은 서로의 카피들이다.
다른 경우에서, RefPicList0 및 RefPicList1 은 리스트들 중 하나의 전체 또는 서브세트가 리스트들 중 다른 하나의 서브세트와 동일할 때 실질적으로 등가인 것으로 고려된다. 예를 들어, RefPicList0 이 M 개의 엔트리들을 포함하고 (즉, M 개의 참조 화상들을 식별하고), RefPicList1 이 N 개의 엔트리들을 포함한다 (즉, N 개의 참조 화상들을 식별한다) 고 가정하라. 또한, M 이 N 보다 크다고 가정하라. 이러한 예에서, RefPicList0 내의 제 1 의 N 개의 엔트리들 (즉, RefPicList0 의 서브셋) 이 콘텐츠와 순서에서 RefPicList1 내의 N 개의 엔트리들 (즉, RefPicList1 의 전체) 과 동일한 경우, RefPicList0 및 RefPicList1 은 가중 예측 파라미터들을 결정하는 목적을 위해 실질적으로 등가인 것으로 고려된다.
일부 예들에서, 비디오 인코더가 RefPicList0 및 RefPicList1 가 실질적으로 등가라고 결정하는 경우, 비디오 인코더는 코딩된 비트스트림에서 RefPicList0 및 RefPicList1 가 실질적으로 등가라는 것을 나타내는 플래그를 시그널링할 수도 있다. 비디오 인코더는 또한 RefPicList0 및 RefPicList1 가 실질적으로 등가인 경우에 참조 화상 리스트들 중 하나 만에 대한 가중 예측 파라미터들을, 코딩된 비트스트림에서 시그널링할 수도 있다. 참조 화상 리스트들 중 하나의 전체 또는 서브세트가 다른 참조 화상 리스트의 서브세트와 동일하기 때문에 RefPicList0 및 RefPicList1 가 실질적으로 등가인 예들에서, 비디오 인코더는 코딩된 비트스트림에서 2 개의 참조 화상 리스트들 중 더 긴 것 (즉, 그의 서브세트가 다른 참조 화상 리스트의 전체 또는 서브세트와 동일한 참조 화상 리스트) 에 대한 가중 예측 파라미터들을 시그널링할 수도 있다.
비디오 디코더는 코딩된 비트스트림으로부터 RefPicList0 및 RefPicList1 가 실질적으로 등가라고 나타내는 플래그를 수신하고, 리스트들 중 하나에 대한 가중 예측 파라미터들만을 수신하는 것을 예상할 수도 있다. 비디오 디코더는 RefPicList0 및 RefPicList1 가 실질적으로 등가인 경우에 RefPicList0 및 RefPicList1 양자 모두 내의 참조 화상들에 대해 수신된 가중 예측 파라미터들을 동일하게 설정할 수도 있다. 예를 들어, 비디오 디코더는 RefPicList0 및 RefPicList1 의 사이즈들을 이미 결정했을 수도 있다. 비디오 디코더가 RefPicList0 및 RefPicList1 의 사이즈들이 동일하다고 결정하고, RefPicList0 및 RefPicList1 이 실질적으로 등가인 경우, 비디오 디코더는 수신된 가중 예측 파라미터들을 RefPicList0 및 RefPicList1 양자 모두에 대한 가중 예측 파라미터들과 동일하게 설정할 수도 있다.
그러나, 비디오 디코더가 RefPicList0 및 RefPicList1 의 사이즈들이 동일하지 않다고 결정하고, RefPicList0 및 RefPicList1 이 실질적으로 등가인 경우, 비디오 디코더는 2 개의 리스트들 중 더 긴 것에 대한 가중 예측 파라미터들을 수신하는 것으로 예상할 수도 있다. 예를 들어, 이전의 예로 계속하면, RefPicList0 가 RefPicList1 보다 더 긴 경우, 비디오 디코더는 코딩된 비트스트림으로부터 RefPicList0 에 대한 가중 예측 파라미터들을 수신하는 것으로 예상할 수도 있다. 그 후, 비디오 디코더는 RefPicList0 의 제 1 의 N 개의 엔트리들에 대한 가중 예측 파라미터들을 RefPicList1 의 대응하는 N 개의 엔트리들과 동일한 것으로 설정 (즉, RefPicList1 의 사이즈가 N 이기 때문에 RefPicList0 의 서브세트를 RefPicList1 의 전체와 동일하게 설정) 할 수도 있다.
일반적으로, RefPicList0 및 RefPicList1 이 실절적으로 등가이고, RefPicList0 및 RefPicList1 이 상이한 사이즈들인 경우, RefPicList0 가 RefPicList1 보다 더 길 확률은 RefPicList1 이 RefPicList0 보다 더 길 확률보다 더 크다. 이에 따라, 일부 예들에서, 비디오 인코더는 RefPicList0 및 RefPicList1 의 사이즈들이 동일할 때만, 또는 RefPicList0 의 사이즈가 RefPicList1 의 사이즈보다 더 길고, RefPicList1 의 사이즈가 RefPicList0 의 사이즈보다 더 길지 않을 때 리스트들 중 하나 에 대해서만 가중 예측 파라미터들을, 코딩된 비트스트림에서 시그널링할 수도 있다. 이러한 방식으로, RefPicList0 및 RefPicList1 가 실질적으로 등가인 경우에 가중 예측 파라미터들은 항상 RefPicList0 에 대한 것일 것이기 때문에, 비디오 디코더는 코딩된 비트스트림으로부터 비디오 디코더가 어느 리스트에 대해 가중 예측 파라미터들을 수신했는지를 결정할 필요가 없을 수도 있다.
일부 예들에서, 기법들은 가중 예측 파라미터들의 효율적인 시그널링을 위해 (RefPicListC 로서 지칭되는) 결합된 참조 화상 리스트의 사용을 활용할 수도 있다. 일부 예들에서, 비디오 인코더 및 비디오 디코더는 각각 각각의 참조 화상 리스트들 0 및 리스트들 1 을 구성할 수도 있다. 또, 비디오 인코더 및 비디오 디코더는 구성된 RefPicList0 및 RefPicList1 내의 참조 화상들의 일부 결합인 결합된 참조 화상 리스트 (즉, RefPicListC) 를 구성할 수도 있다. 일부 예들에서, 비디오 인코더 및 비디오 디코더는 현재 화상 내의 블록을 인터 예측하는데 사용되는 참조 화상 또는 화상들을 식별하기 위해 RefPicListC 를 활용할 수도 있다.
본 개시에 기술된 기법들에 따르면, 비디오 인코더는 코딩된 비트스트림에서 RefPicListC 가 구성되어야 하는지 여부를 나타내는 플래그를 시그널링할 수도 있고, 비디오 디코더는 그 플래그의 값에 응답하여 RefPicListC 를 구성할 수도 또는 하지 않을 수도 있다. RefPicListC 가 구성되어야 하는 예들에서, 비디오 인코더는 코딩된 비트스트림에서 RefPicList0 및 RefPicList1 내의 화상들에 대해서가 아니고, RefPicListC 내의 참조 화상들에 대해 가중 예측 파라미터들을 시그널링할 수도 있다. 일들 예들에서, 비디오 디코더는 RefPicList0 및 RefPicList1 내의 참조 화상들에 대한 가중 예측 파라미터들을 결정하기 위해 RefPicListC 내의 참조 화상들에 대한 가중 예측 파라미터들을 활용할 수도 있다.
예를 들어, 비디오 디코더는 RefPicList0 및 RefPicList1 로부터 RefPicListC 를 구성하는 일부 기법을 활용했을 수도 있다. 이에 따라, 비디오 디코더는 RefPicListC 내에서 식별된 참조 화상들과 RefPicList0 및 RefPicList1 내에서 실별된 참조 화상들 사이의 맵핑을 결정했을 수도 있다. 즉, 비디오 디코더가 RefPicList0 및 RefPicList1 로부터 RefPicListC 를 구성했기 때문에, 비디오 디코더는 RefPicListC 내의 특정의 참조 화상이 RefPicList0 또는 RefPicList1 로부터 왔는지 여부를 결정할 수 있을 수도 있다. 이러한 방식으로, RefPicListC 의 구성이 가능하게 된 경우, 비디오 인코더는 코딩된 비트스트림에서 RefPicList0 및 RefPicList1 내의 화상들에 대한 가중 예측 파라미터들을 시그널링하기 보다는 RefPicListC 내의 화상들에 대한 가중 예측 파라미터들을 시그널링할 수도 있다.
일부 예들에서, 비디오 인코더 및 비디오 디코더는 (예를 들어, RefPicList0 및 RefPicList1 가 실질적으로 등가인 경우 또는 RefPicListC 의 구성이 가능하게 되는 경우) 상기의 예들의 임의의 조합을 활용할 수도 있다. 예를 들어, 비디오 인코더는 RefPicList0 및 RefPicList1 가 실질적으로 등가인지 여부를 나타내는 플래그를 시그널링하고, RefPicListC 의 구성이 가능하게 되는지 여부를 나타내는 플래그를 시그널링할 수도 있다. 이러한 예에서, 비디오 인코더는 RefPicListC 에 대한 가중 예측 파라미터들을 시그널링할 수도 있고, RefPicList0 및 RefPicList1 이 실질적으로 등가이고, 동일한 경우, 비디오 디코더는 RefPicListC 에 대한 가중 예측 파라미터들을 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들과 동일하게 설정할 수도 있다. RefPicList0 및 RefPicList1 가 실질적으로 등가이지만, 사이즈들이 상이하기 때문에 (즉, 하나의 서브세트가 다른 것의 전체 또는 서브세트와 동일하기 때문에) 동일하지 않은 경우, RefPicListC 는 RefPicList0 또는 RefPicList1 중 더 긴 것과 동일할 수도 있고, 이것은 일반적으로 RefPicList0 이다.
다른 예로서, 비디오 인코더는 RefPicList0 및 RefPicList1 가 실질적으로 등가인지 여부를 나타내는 플래그만을 시그널링할 수도 있지만, RefPicListC 가 구성되어야 하는지 또는 구성되지 않아야 하는지 여부를 나타내는 플래그를 시그널링하지 않는다. 또 다른 예에서, 비디오 인코더는 RefPicListC 가 구성되어야 하하는지 또는 구성되지 않아야 하는지 여부를 나타내는 플래그만을 시그널링할 수도 있지만, RefPicList0 및 RefPicList1 가 실질적으로 등가인지 여부를 나타내는 플래그를 시그널링하지 않는다.
어느 경우에도, 비디오 코더 (예를 들어, 인코더 또는 디코더) 는 제 1 리스트에 대한 가중 예측 파라미터들을 코딩 (예를 들어, 인코딩 또는 디코딩) 하도록 구성될 수도 있다. 비디오 코더는 제 1 리스트에 대한 가중 예측 파라미터들에 대한 코딩된 시그널링으로부터 제 2 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다. 제 1 리스트는 결합된 참조 화상 리스트 (RefPicListC), 제 1 참조 화상 리스트 (RefPicList0), 또는 제 2 참조 화상 리스트 (RefPicList1) 중 하나일 수도 있다.
도 1 은 본 개시에 기술된 하나 이상의 예들에 따른 예시의 비디오 인코딩 및 디코딩 시스템을 도시하는 블록도이다. 예를 들어, 시스템 (10) 은 소스 디바이스 (12) 및 목적지 디바이스 (14) 를 포함한다. 소스 디바이스 (12) 는 및 목적지 디바이스 (14) 는 소스 디바이스 (12) 및 목적지 디바이스 (14) 각각이 화상들을 코딩하는 비디오 데이터의 코딩을 구현하도록 구성된다.
시스템 (10) 은 멀티뷰 코딩에 대한 기법들을 포함하여 상이한 비디오 코딩 표준들, 특허 표준, 또는 임의의 다른 방식의 비디오 코딩에 따라 동작할 수도 있다. 다음은 비디오 코딩 표준들의 몇몇 예들을 기술하며, 제한하는 것으로 고려되지 않아야 한다. 비디오 코딩 표준들은 스케일러블 비디오 코딩 (SVC) 및 멀티뷰 비디오 코딩 (MVC) 확장들을 포함하여, ITU-T H.261, ISO/IEC MPEG-1 비쥬얼, ITU-T H.262 또는 ISO/IEC MPEG-2 비쥬얼, ITU-T H.263, ISO/IEC MPEG-4 비쥬얼 및 (ISO/IEC MPEG-4 AVC 로서 알려진) ITU-T H.264 를 포함한다.
또, ITU-T VCEG (Video Coding Experts Group) 및 ISO/IEC MPEG (Motion Picture Experts Group) 의 JCT-VC (Joint Collaboration Team on Video Coding) 에 의해 개발되는 새로운 비디오 코딩 표준, 즉 HEVC (High Efficiency Video Coding) 이 존재한다. HEVC WD9 로서 지칭된 HEVC 의 최근의 워킹 드래프트는 http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wgl1/JCTVC-K1003-v10.zip 으로부터 2013년 3월 12일 현재 이용가능하다. 이하에 HEVC WD6 로서 지칭되는 HEVC 의 워킹 드래프트의 초기 버전은 http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wgl1/JCTVC-H1003-v21.zip 으로부터 2012 년 4월 3일에 이용가능했다. 단지 예시의 목적으로, 본 개시에 기술된 기법들은 H.264 및 HEVC 표준들에 따른 예들을 사용하여 기술된다.
도 1 에 도시된 바와 같이, 시스템 (10) 은 목적지 디바이스 (14) 에 의해 나중의 시간에 디코딩될 인코딩된 비디오 데이터를 생성하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 "스마트" 폰들, 소위 "스마트" 패드들, 또는 무선 통신을 위해 구비된 다른 그러한 무선 디바이스들과 같은 무선 핸드셋을 포함하여, 임의의 광범위한 디바이스들을 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 의 추가적인 예들은 디지털 텔레비젼, 디지털 다이렉트 브로드캐스트 시스템 내의 디바이스, 무선 브로드캐스트 시스템 내의 디바이스, 개인용 휴대정보단말 (PDA), 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, e-북 판독기, 디지털 카메라, 디지털 리코딩 디바이스, 디지털 미디어 플레이어, 비디오 게이밍 디바이스, 비디오 게임 콘솔, 셀룰러 무선 전화, 위성 무선 전화, 화상회의 디바이스 및 비디오 스트리밍 디바이스 등을 포함하지만 이들에 제한되지 않는다.
목적지 디바이스 (14) 는 링크 (16) 를 통해 디코딩될 인코딩된 비디오 데이터를 수신할 수도 있다. 링크 (16) 는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 인코딩된 비디오 데이터를 이동시킬 수 있는 임의의 타입의 매체 또는 디바이스를 포함한다. 하나의 예시에서, 링크 (16) 는 소스 디바이스 (12) 가 실시간으로 목적지 디바이스 (14) 로 직접 인코딩된 비디오 데이터를 송신하는 것을 가능하게 하는 통신 매체를 포함한다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조되고, 목적지 디바이스 (14) 로 송신될 수도 있다. 통신 매체는 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 통신 매체는 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷 기반 네트워크의 일부를 형성할 수도 있다. 통신 매체는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 용이하게 하는데 유용할 수도 있는 라우터들, 스위치들, 기지국들, 또는 임의의 다른 장비를 포함할 수도 있다.
일부 예들에서, 인코딩된 데이터는 출력 인터페이스 (22) 로부터 저장 디바이스 (34) 로 출력된다. 유사하게, 인코딩된 데이터는 입력 인터페이스 (28) 에 의해 저장 디바이스 (34) 로부터 액세스된다. 저장 디바이스 (34) 의 예들은 하드 드라이브, 블루레이 디스크들, DVD 들, CD-ROM 들, 플래시 메모리, 휘발성 또는 비휘발성 메모리 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체와 같은 임의의 다양한 분포되거나 국부적으로 액세스되는 데이터 저장 매체를 포함한다. 추가의 예에서, 저장 디바이스 (34) 는 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오를 유지하는 파일 서버 또는 다른 중간 저장 디바이스에 대응한다. 이러한 예들에서, 목적지 디바이스 (14) 는 스트리밍 또는 다운로드를 통해 저장 디바이스 (34) 로부터 저장된 비디오 데이터에 액세스한다. 파일 서버는 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신할 수 있는 임의의 타입의 서버이다. 예시의 파일 서버들은 웹 서버 (예를 들어, 웹사이트 용), FTP 서버, 네트워크 어태치드 스토리지 (NAS) 디바이스들, 또는 로컬 디스크 드라이브들을 포함한다. 목적지 디바이스 (14) 는 인터넷 연결을 포함하여, 임의의 표준 데이터 연결을 통해 인코딩된 비디오 데이터에 액세스한다. 이것은 무선 채널 (예를 들어, Wi-Fi 연결), 유선 연결 (예를 들어, DSL, 케이블 모뎀 등), 또는 파일 서버에 저장된 인코딩된 비디오 데이터에 액세스하기 위해 적합한 양자의 조합들을 포함할 수도 있다. 저장 디바이스 (34) 로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 양자의 조합일 수도 있다.
본 개시의 기법들은 무선 애플리케이션들 또는 설정들에 반드시 제한되지는 않는다. 기법들은 공중 (over-the-air) 텔레비젼 브로드캐스트들, 케이블 텔레비젼 송신들, 위성 텔레비젼 송신들, (예를 들어 인터넷을 통한) 스트리밍 비디오 송신들, 데이터 저장 매체 상의 저장을 위한 디지털 비디오의 인코딩, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션들과 같은 임의의 다양한 멀티미디어 애플리케이션들을 지원하는 비디오 코딩에 적용될 수도 있다. 일부 예들에서, 시스템 (10) 은 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 및/또는 비디오 전화와 같은 애플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성된다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 및 출력 인터페이스 (22) 를 포함한다. 일부 예들에서, 출력 인터페이스 (22) 는 변조기/복조기 (모뎀) 및/또는 송신기를 포함한다. 소스 디바이스 (12) 에서, 비디오 소스 (18) 는 비디오 캡쳐 디바이스 (예를 들어, 비디오 카메라), 이전에 캡쳐된 비디오를 포함하는 비디오 아카이브, 비디오 컨텐츠 제공자로부터 비디오를 수신하기 위한 비디오 공급 인터페이스, 및/또는 소스 비디오로서 컴퓨터 그래픽 데이터를 생성하기 위한 컴퓨터 그래픽 시스템, 그러한 소스들의 조합, 또는 임의의 다른 소스와 같은 하나 이상의 소스를 포함한다. 하나의 예로서, 비디오 소스 (18) 가 비디오 카메라인 경우, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라폰들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 본 개시에 기술된 기법들은 일반적으로 비디오 코딩에 적용가능하고, 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다.
비디오 인코더 (20) 는 캡쳐된, 미리 캡쳐된, 또는 컴퓨터로 생성된 비디오를 인코딩한다. 소스 디바이스 (12) 의 출력 인터페이스 (22) 는 목적지 디바이스 (14) 로 인코딩된 비디오 데이터를 송신하도록 구성된다. 인코딩된 비디오 데이터는 또한 (또는 대안적으로) 디코딩 및/또는 플레이백을 위해 목적지 디바이스 (14) 또는 다른 디바이스들에 의한 추후의 액세스를 위해 저장 디바이스 (34) 에 저장될 수도 있다.
목적지 디바이스 (14) 는 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 일부 예들에서, 입력 인터페이스 (28) 는 수신기 및/또는 모뎀을 포함한다. 목적지 디바이스 (14) 의 입력 인터페이스 (28) 는 링크 (16) 를 통해 또는 저장 디바이스 (34) 로부터 인코딩된 비디오 데이터를 수신한다. 링크 (16) 를 통해 통신되거나, 저장 디바이스 (34) 상에제공된 인코딩된 비디오 데이터는, 비디오 데이터를 디코딩한는데 있어서, 비디오 디코더 (30) 와 같은 비디오 디코더에 의한 사용을 위해 비디오 인코더 (20) 에 의해 생성된 다양한 신택스 엘리먼트들을 포함한다. 그러한 신택스 엘리먼트들은 통신 매체 상에서 송신되거나, 저장 매체 상에 저장되거나, 또는 파일 서버에 저장된 인코딩된 비디오 데이터와 함께 포함될 수도 있다.
디스플레이 디바이스 (32) 는 목적지 디바이스 (14) 와 통합되거나 목적지 디바이스 (14) 의 외부에 있을 수도 있다. 일부 예들에서, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함하고 또한 외부 디스플레이 디바이스와 인터페이싱하도록 구성된다. 다른 예들에서, 목적지 디바이스 (14) 는 디스플레이 디바이스이다. 일반적으로, 디스플레이 디바이스 (32) 는 사용자에게 디코딩된 비디오 데이터를 디스플레이하고, 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기발광다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 임의의 다양한 디스플레이 디바이스들을 포함한다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 위에서 열거한 예들과 같은 여러 비디오 코딩 표준들에 따라 동작할 수도 있다. 그러나, 본 개시에 기술된 기법들은 그렇게 제한되는 것으로 고려되지 않아야 한다. 비디오 압축 표준들의 다른 예들은 MPEG-2 및 ITU-T H.263 을 포함한다. On2 VP6/VP7/VP8 로서 지칭되는 것들과 같은 사유화된 코딩 기법들은 또한 여기에 기술된 하나 이상의 기법들을 구현할 수도 있다.
그러나, 본 개시의 기법들은 임의의 특정의 코딩 표준에 제한되지 않는다. 또한, 본 개시에 기술된 기법들은 특정의 표준에 반드시 부응하지 않을 수도 있지만, 본 개시에 기술된 기법들은 또한 여러 표준들에 대한 코딩 효율을 보조할 수도 있다. 또한, 본 개시에 기술된 기법들은 장래의 표준들의 일부일 수도 있다. 이해의 편의를 위해, 기법들은 개발중인 HEVC 표준에 대해 기술되지만, 기법들은 HEVC 표준에 제한되지 않고, 특정의 표준에 의해 정의되지 않는 다른 비디오 코딩 표준들 또는 비디오 코딩 기법들에 확장될 수 있다.
도 1 에 도시되지는 않지만, 일부 양태들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 오디오 인코더 및 디코더와 통합되고, 공통 데이터 스트림 또는 분리된 데이터 스트림들에서 오디오 및 비디오 양자 모두의 인코딩을 핸들링하기 위해 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함한다. 적용가능한 경우, 일부 예들에서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들에 따른다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSPs), 주문형반도체 (ASIC) 들, 필드 프로그래머블 게이트 어레이들 (FPGAs), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합과 같은 임의의 다양한 적합한 인코더 회로로서 구현될 수도 있다. 기법들이 부분적으로 소프트웨어로 구현되는 경우, 디바이스는 적합한 비일시적인 컴퓨터 판독가능 매체에 소프트웨어를 위한 명령들을 저장할 수도 있고, 본 개시의 기법들을 수행하기 위해 하나 이상의 프로세서들을 사용하여 하드웨어로 명령들을 실행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 것이 각각의 디바이스 내의 결합된 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있다. 본 개시에 기술된 기법들에 따라 비디오 인코더 (20) 는 비디오 데이터를 인코딩하도록 구성되고, 비디오 디코더 (30) 는 비디오 데이터를 디코딩하도록 구성된다.
비디오 시퀀스는 통상 일련의 비디오 화상들을 포함한다. 화상들의 그룹 (group of pictures: GOP) 은 일반적으로 하나 이상의 비디오 화상들의 시리즈를 포함한다. GOP 는 GOP 의 헤더, GOP 의 하나 이상의 화상들의 헤더 내의, 또는 다르게는 GOP 내에 포함된 다수의 화상들을 기술하는 신택스 데이터를 포함할 수도 있다. 각각의 화상은 각각의 화상에 대한 인코딩 모드를 기술하는 화상 신택스 데이터를 포함할 수도 있다. 비디오 인코더 (20) 는 통상 비디오 데이터를 인코딩하기 위해 개개의 비디오 화상들 내의 비디오 블록들에 대해 동작한다. 비디오 블록은 H.264 표준에서 정의된 매크로블록, 매크로블록의 파티션, 및 가능하게는 파티션의 서브블록 또는 HEVC 표준에 정의된 최대 코딩 유닛들 (LCUs), 코딩 유닛들 (CUs), 예측 유닛들 (PUs), 또는 변환 유닛들 (TUs) 에 대응할 수도 있다. 비디오 블록들은 고정되거나 변화하는 사이즈들을 가질 수도 있고, 특정된 코딩 표준에 따라 사이즈가 상이할 수도 있다. 각각의 비디오 화상은 복수의 슬라이스들을 포함할 수도 있다. 각각의 슬라이스는 복수의 비디오 블록들을 포함할 수도 있다.
하나의 예로서, ITU-T H.264 표준은 루마 컴포넌트들에 대해 16 바이 16, 8 바이 8, 또는 4 바이 4, 및 크로마 컴포넌트들에 대해 8 x 8 과 같은 여러 블록 사이즈들에서의 인트라 예측 뿐아니라, 루마 컴포넌트들에 대해 16 x 16, 16 x 8, 8 x 16, 8 x 8, 8 x 4, 4 x 8 및 4 x 4, 및 크로마 컴포넌트들에 대해 대응하는 스케일링된 사이즈들과 같은 여러 블록 사이즈들에서의 인터 예측을 지원한다. 이러한 개시에서, "N x N" 및 "N 바이 N" 은 수직 및 수평 디멘젼들 (예를 들어, 16 x 16 화소들 또는 16 바이 16 화소들) 로 블록의 화소 디멘젼들으르 지칭하기 위해 교환가능하게 사용될 수도 있다. 일반적으로, 16 x 16 블록은 수직 방향으로 16 개의 화소들 (y = 16), 및 수평 방향으로 16 개의 화소들 (x = 16) 을 가질 것이다. 마찬가지로, N x N 블록은 일반적으로 수직 방향으로 N 개의 화소들, 및 수평 방향으로 N 개의 화소들을 가지며, 여기서 N 은 음이 아닌 정수값을 나타낸다. 블록 내의 화소들은 행들 및 열들로 배열될 수도 있다. 또한, 블록들은 수직 방향에서와 동일한 수평 방향에서의 화소들의 수를 반드시 가질 필요는 없다. 예를 들어, 블록들은 N x M 화소들을 포함할 수도 있고, 여기서 M 은 N 과 반드시 동일하지는 않다.
블록이 인트라 예측 코딩 (예를 들어, 인트라 예측) 되는 경우, 블록은 블록에 대한 인트라 예측 모드를 기술하는 데이터를 포함할 수도 있다. 다른 예로서, 블록이 인터 예측 코딩 (예를 들어, 인터 예측) 되는 경우, 블록은 블록에 대한 모션 벡터를 정의하는 정보를 포함할 수도 있다. 블록에 대한 모션 벡터를 정의하는 데이터는 예를 들어 모션 벡터의 수평 컴포넌트, 모션 벡터의 수직 컴포넌트, 모션 벡터에 대한 레졸루션 (예를 들어, 1/4 화소 정밀도 또는 1/8 화소 정밀도) 을 기술한다. 또, 인터 예측되는 경우, 블록은 모션 벡터가 가리키는 참조 화상, 및/또는 모션 벡터에 대한 참조 화상 리스트 (예를 들어, RefPicList0 또는 RefPicList1) 와 같은 참조 인덱스 정보를 포함할 수도 있다.
JCT-VC 는 HEVC 표준의 개발에 애쓰고 있다. HEVC 표준화 노력들은 HEVC Test Model (HM) 로 지칭되는 비디오 코딩 디바이스의 진화하는 모델에 기초한다. HM 은 예를 들어 ITU-T H.264/AVC 에 따라 현존하는 디바이스들에 대해 비디오 코딩 디바이스들의 수개의 추가적인 능력들을 상정한다. 예를 들어, H.264 는 9 개의 인트라 예측 인코딩 모드들을 제공하는 반면, HM 은 33 개의 방향성/각도 인트라 예측 인코딩 모드들 플러스 DC 및 평면 모드들을 제공할 수도 있다.
HM 의 작업 모델은 비디오 화상이 루마 및 크로마 샘플들 양자 모두를 포함하는 트리블록들의 시퀀스 또는 최대 코딩 유닛들 (LCU) 로 분할될 수도 있다는 것을 기술한다. 트리블록은 H.264 표준의 매크로블록과 유사한 목적을 갖는다. 슬라이스는 코딩 순서에서 다수의 연속적인 트리블록들을 포함한다. 비디오 화상은 하나 이상의 슬라이스들로 파티셔닝될 수도 있다. 각 트리블록은 쿼드트리에 따라 코딩 유닛들 (CUs) 로 분할될 수도 있다. 예를 들어, 쿼드트리의 루트 노드로서의 트리블록은 4 개의 차일드 노드들로 분할될 수도 있고, 각 차일드 노드는 차례로 페어런트 노드일 수도 있고, 다른 4 개의 차일드 노드들로 분할될 수도 있다. 쿼드트리의 리프 (leaf) 노드로서의 최종의, 미분할 차일드 노드는 코딩 노드 (즉, 코딩된 비디오 블록) 을 포함한다. 코딩된 비트스트림과 연관된 신택스 데이터는 트리블록이 분할될 수도 있는 최대 횟수를 정의할 수도 있고, 또한 코딩 노드들의 최소 사이즈를 정의할 수도 있다. 트리블록들은 일부 예들에서 LCU 들로서 지칭된다.
CU 는 코딩 노드 및 코딩 노드와 연관된 예측 유닛들 (PUs) 및 변환 유닛들 (TUs) 을 포함한다. CU 의 사이즈는 코딩 노드의 사이즈에 대응하고, 형상이 정사각형일 수도 있다. 일부 예들에서, CU 의 사이즈는 8 x 8 화소들로부터 최대 64 x 64 화소들 또는 그 이상을 갖는 트리블록의 사이즈까지의 범위에 걸친다. 일부 예들에서, 각 CU 는 하나 이상의 PU 들 및 하나 이상의 TU 들을 포함한다. CU 와 연관된 신택스 데이터는, 예를 들어 하나 이상의 PU 들로의 CU 의 파티셔닝을 기술한다. 파티셔닝 모드들은 CU 가 스킵 또는 다이렉트 모드 인코딩되는지, 인트라 예측 모드 인코딩되는지, 또는 인터 예측 모드 인코딩되는지 여부간에 상이하다. 일부 예들에서, PU 들은 형상이 비정사각형이도록 파티셔닝될 수 있다. CU 와 연관된 신택스 데이터는 또한, 예를 들어 쿼드트리에 따라 하나 이상의 TU 들로의 CU 의 파티셔닝을 기술한다. TU 는 형상이 정사각형 또는 비정사각형일 수 있다.
HEVC 표준은 상이한 CU 들에 대해 상이할 수도 있는 TU 들에 따라 변환들을 허용한다. 항상 그렇지는 않지만, TU 들은 통상 파티셔닝된 LCU 에 대해 정의된 주어진 CU 내의 PU 들의 사이즈에 기초하여 사이징된다. TU 들은 통상 PU 와 동일한 사이즈이거나 더 작다. 일부 예들에서, CU 에 대응하는 레지듀얼 샘플들은 "레지듀얼 쿼드 트리" (RQT) 로서 알려진 쿼드트리 구조를 사용하여 더 작은 유닛들로 서브 분할 (subdivide) 된다. RQT 의 리프 노드들은 변환 유닛들 (TUs) 로서 지칭될 수 있다. 일부 예들에서, TU 들과 연관된 화소 차이 값들은 양자화되는 변환 계수들을 생성하기 위해 변환된다.
일반적으로, PU 는 예측 프로세스에 관련된 데이터를 포함한다. 예를 들어, PU 가 인트라 예측 코딩되는 경우, PU 는 PU 에 대한 인트라 예측 모드를 기술하는 데이터를 포함한다. 다른 예로서, PU 가 인터 예측 코딩되는 경우, PU 는 PU 에 대해 모션 벡터를 정의하는 데이터를 포함한다. PU 에 대해 모션 벡터를 정의하는 데이터는 예를 들어 모션 벡터의 수평 컴포넌트, 모션 벡터의 수직 컴포넌트, 모션 벡터에 대한 레졸루션 (예를 들어, 1/4 화소 정밀도 또는 1/8 화소 정밀도), 모션 벡터가 가리키는 참조 화상, 및/또는 모션 벡터에 대한 참조 화상 리스트 (예를 들어, RefPicList0 또는 RefPicList1) 를 기술한다.
일반적으로, TU 는 변환 및 양자화 프로세스들에 사용된다. 하나 이상의 PU 들을 갖는 주어진 CU 는 또한 하나 이상의 변환 유닛들 (TUs) 을 포함할 수도 있다. 예측에 후속하여, 비디오 인코더 (20) 는 PU 에 대응하는 레지듀얼 값들을 계산할 수도 있다. 레지듀얼 값들은 변환 계수들로 변환되고, 양자화되고, TU 들을 사용하여 스캐닝되어 엔트로피 코딩을 위해 직렬화된 변환 계수들을 생성할 수도 있는 화소 차이 값들을 포함한다. 본 개시는 통상적으로 CU 의 코딩 노드를 지칭하기 위해 용어 "비디오 블록" 을 사용한다. 일부 특정의 경우들에서, 본 개시는 또한 코딩 노드 및 PU 들 및 TU 들을 포함하는 트리블록, 즉 LCU 또는 CU 를 지칭하기 위해 용어 "비디오 블록" 을 사용할 수도 있다.
하나의 예로서, HM 은 여러 PU 사이즈들에서의 예측을 지원한다. 특정의 CU 의 사이즈가 2N x 2N 이라고 가정하면, HM 은 2N x 2N 또는 N x N 의 PU 사이즈들에서의 인트라 예측, 및 2N x 2N, 2N x N, N x 2N, 또는 N x N 의 대칭적 PU 사이즈들에서의 인터 예측을 지원한다. HM 은 또한 2N x nU, 2N x nD, nL x 2N, 및 nR x 2N 의 PU 사이즈들에서의 인터 예측을 위한 비대칭 파티셔닝을 지원한다. 비대칭 파티셔닝에서, CU 의 하나의 방향은 파티셔닝되지 않지만, 다른 방향은 25% 및 75% 로 파티셔닝된다. 25% 파티션에 대응하는 CU 의 부분은 "상측", "하측", "좌측", 또는 "우측" 의 표시가 후속하는 "n" 에 의해 표시된다. 따라서, 예를 들어, "2N x nU" 는 상측에 2N x 0.5N PU 및 하측에 2N x 1.5N PU 로 수평으로 파티셔닝되는 2N x 2N CU 를 지칭한다.
H.264 표준 또는 HEVC 표준에서, 인트라 예측 또는 인터 예측 코딩에 후속하여, 비디오 인코더 (20) 는 HEVC 에서 또는 H.264 에서의 매크로블록에 대해 CU 의 TU 들에 대한 레지듀얼 데이터를 계산한다. PU 들은 (화소 도메인으로서도 지칭되는) 공간 도메인에서 화소 데이터를 포함하고, TU 들은 레지듀얼 비디오 데이터에의 변환 (예를 들어, 이산 코사인 변환 (DCT)), 인티저 변환, 웨이블릿 변환, 또는 개념적으로 유사한 변환의 적용에 후속하는 변환 도메인에서의 계수들을 포함한다. 레지듀얼 데이터는 인코딩되지 않은 화상의 화소들과 HEVC 에서의 PU 들에 대응하는 예측 값들 또는 H.264 에서의 매크로블록에 대한 예측 값들 사이의 화소 차이들에 대응할 수도 있다.
변환 계수들을 생성하는 임의의 변환들에 후속하여, 일부 예들에서, 비디오 인코더 (20) 는 변환 계수들의 양자화를 수행한다. 양자화는 일반적으로 변환 계수들이 가능하게는 그 계수들을 표현하는데 사용되는 데이터의 양을 감소시키도록 양자화되어 추가의 압축을 제공하는 프로세스를 지칭한다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 심도를 감소시킨다. 예를 들어, n-비트 값은 양자화 동안 m-비트 값으로 내림되고, 여기서 n 은 m 보다 더 크다.
일부 예들에서, 비디오 인코더 (20) 는 엔트로피 인코딩될 수 있는 직렬화된 벡터를 생성하기 위해 양자화된 변환 계수들을 스캔하기 위한 미리 정의된 스캔 순서를 활용한다. 다른 예들에서, 비디오 인코더 (20) 는 적응적 스캔을 수행한다. 일차원 벡터를 형성하기 위해 양자화된 변환 계수들을 스캔한 후, 일부 예들에서, 비디오 인코더 (20) 는 몇가지 예들로서 컨텍스트 적용형 가변 길이 코딩 (CAVLC), 컨텍스트 적응형 이진 산술 코딩 (CABAC), 신택스 기반 컨텍스트 적응형 이진 산술 코딩 (SBAC), 확률 구간 파티셔닝 엔트로피 (PIPE) 코딩 또는 다른 엔트로피 인코딩 방법론에 따라 그 일차원 벡터를 엔트로피 인코딩한다. 비디오 인코더 (20) 는 또한 비디오 데이터를 디코딩하는데 비디오 디코더 (30) 에 의한 사용을 위해 인코딩된 비디오 데이터와 연관된 신택스 엘리먼트들을 엔트로피 인코딩한다.
CABAC 를 수행하기 위해, 비디오 인코더 (20) 는 송신될 심볼에 컨텍스트 모델 내의 컨텍스트를 할당할 수도 있다. 컨텍스트는 예를 들어 심볼의 이웃하는 값들이 비제로 (non-zero) 인지 아닌지 여부에 관련될 수도 있다. CAVLC 를 수행하기 위해, 비디오 인코더 (20) 는 송신될 심볼에 대한 가변 길이 코드를 선택할 수도 있다. VLC 에서의 코드워드들은 상대적으로 더 짧은 코드들이 더 가능성 있는 심볼들에 대응하는 반면, 더 긴 코드들이 덜 가능성 있는 심볼들에 대응하도록 구성될 수도 있다. 이러한 방식으로, VLC 의 사용은, 예를 들어 송신될 각 심볼에 대해 동일 길이 코드워드들을 사용하여 비트 절약들을 달성할 수도 있다. 가능성 결정은 심볼에 할당된 컨텍스트에 기초할 수도 있다.
상술된 바와 같이, 인터 예측 코딩 (예를 들어, 비디오 인코더 (20) 에 의한 인터 예측 인코딩 또는 비디오 디코더 (30) 에 의한 인터 예측 디코딩) 을 수행하기 위해, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 하나 또는 2 개의 참조 화상 리스트들 (즉, RefPicList0 및 RefPicList1) 을 구성 (construct) 하도록 구성될 수도 있다. 예를 들어, 현재 화상 내의 블록들을 디코딩하기 전에, 비디오 디코더 (30) 는 RefPicList0 및 RefPicList1 를 구성할 수도 있고, 여기서 RefPicList0 및 RefPicList1 는 비디오 디코더 (30) 가 현재 화상 내의 블록들을 인터 예측 (예를 들어, 현재 화상 내의 블록들을 인터 예측 디코딩) 하는데 잠재적으로 사용할 수 있는 참조 화상들을 식별한다. 비디오 디코더 (30) 가 RefPicList0 및 RefPicList1 를 구성할 수도 있는 여러가지 방법들이 존재할 수도 있고, 본 개시에 기술된 기법들은 RefPicList0 및 RefPicList1 을 구성하기 위한 임의의 특정의 기법에 제한되지 않는다.
비디오 인코더 (20) 는 또한 RefPicList0 및 RefPicList1 를 구성하도록 구성될 수도 있다. 예를 들어, 비디오 인코더 (20) 측 상의 RefPicList0 및 RefPicList1 는 비디오 인코더 (20) 가 화상의 블록들을 인터 예측 인코딩하는데 잠재적으로 사용할 수 있는 화상들을 식별할 수도 있고, 비디오 디코더 (30) 측 상의 RefPicList0 및 RefPicList1 는 비디오 디코더 (30) 가 화상의 블록들을 인터 예측 디코딩하는데 잠재적으로 사용할 수 있는 화상들을 식별할 수도 있다. 비디오 인코더 (20) 가 구성하는 RefPicList0 및 RefPicList1 는 비디오 디코더 (30) 가 구축하는 각각의 RefPicList0 및 RefPicList1 과 실질적으로 유사할 수도 있다.
상술된 바와 같이, RefPicList0 및 RefPicList1 는 참조 화상들을 식별한다. 일부 예들에서, RefPicList0 및 RefPicList1 는 그들의 화상 순서 카운트 (POC) 값으로 참조 화상들을 식별할 수도 있다. POC 값은 화상의 고유의 식별자이고 화상들이 출력되거나 디스플레이되는 순서를 나타낸다. 예를 들어, 더 작은 POC 값을 갖는 화상은 더 큰 POC 값을 갖는 화상보다 더 일찍 출력되거나 디스플레이된다. POC 값은 코딩 순서와 혼동되지 않아야 한다. 예를 들어, 더 작은 POC 값을 갖는 화상이 더 큰 POC 값을 갖는 화상 보다 나중에 인코딩되거나 디코딩되는 것이 가능하다.
일부 예들에서, RefPicList0 및 RefPicList1 에서 식별된 화상들 각각과 연관된 가중 예측 파라미터가 존재할 수도 있다. 가중 예측 파라미터들은 현재 화상 내의 블록을 인터 예측 (예를 들어, 현재 화상 내의 블록을 인터 예측 디코딩) 하는데 사용되는 참조 화상 내의 화소들의 화소 값들을 스케일링하기 위해 비디오 디코더 (30) 가 활용하는 스케일링 팩터를 나타낸다. 예를 들어, RefPicList0 내의 제 1 화상에 대한 가중 예측 파라미터가 'x' 이고, 비디오 디코더 (30) 가 현재 화상 내의 블록을 인터 예측하기 위해 RefPicList0 내의 제 1 화상을 사용해야 하는 경우, 비디오 디코더 (30) 는 모션 벡터에 의해 나타낸 바와 같은, 인터 예측하는데 사용되는 RefPicList0 내의 제 1 화상 내의 블록의 화소 값들을 x 의 값과 승산할 수도 있다. 비디오 디코더 (30) 는 현재 화상의 블록을 인터 예측하기 위해 결과의 값들을 활용할 수도 있다. 가중 예측 파라미터는 또한 픽셀 값들이 스케일링된 후 가산되거나 감산되는 오프셋을 정의할 수도 있다.
비디오 인코더 (20) 는 비디오 디코더 (30) 가 구성하는 참조 화상 리스트(들) 에 대한 가중 예측 파라미터들을, 코딩된 비트스트림에서 시그널링하도록 구성될 수도 있다. 다음의 표 1 은 가중 예측 파라미터들을 시그널링하기 위해 비디오 인코더 (20) 가 비디오 디코더 (30) 로 시그널링하는 신택스 엘리먼트들의 하나의 예를 도시한다. 표 1 은 HEVC WD6 의 섹션 7.3.3.8 에서의 표와 실질적으로 유사하다. HEVC WD9 의 섹션 7.3.8.4 는 HEVC WD6 로부터 HEVC WD9 로의 HEVC 표준의 변경들에 기인한 차이들을 갖는 이하의 표와 유사한 가장 최근의 가중 예측 파라미터 신택스를 포함한다.
Figure 112014105046487-pct00001
Figure 112014105046487-pct00002
HEVC WD6 에서, ref_pic_list_combination_flag 는 다음과 같이 정의된다.
1 과 동일한 ref_pic_list_combination_flag 는 참조 화상 RefPicList0 및 참조 화상 RefPicList1 가 단방향 예측되는 예측 유닛들을 위해 사용되는 추가적인 참조 화상 리스트 결합이도록 결합된다는 것을 나타낸다. 0 과 동일한 이러한 플래그는 참조 화상 RefPicList0 및 참조 화상 RefPicList1 이 동일하고, 따라서 참조 화상 RefPicList0 이 참조 화상 리스트 결합으로서 사용된다는 것을 나타낸다. 참조 화상 리스트 결합은 표 1 에 정의된 루프의 시작에서 비어있는 (empty) 것으로서 설정된다.
상기는 (때때로 결합된 참조 화상 리스트 또는 RefPicListC 로서 지칭되는) 참조 화상 리스트 결합의 개념을 기술한다. 비디오 디코더 (30) 는 RefPicList0 및 RefPicList1 로부터 RefPicListC 를 도출할 수도 있다. RefPicListC 를 사용하는 경우, 비디오 디코더 (30) 가 단방향 예측된 블록을 인터 예측하는데 RefPicListC 를 사용하기 때문에, 비디오 인코더 (20) 는 단방향 예측된 블록이 RefPicList0 내의 화상 또는 RefPicList1 내의 화상으로부터 예측되어야 하는지 여부를 특정할 필요가 없다.
ref_pic_list_combination_flag 에 대한 상기 설명에서, ref_pic_list_combination_flag 가 0 과 동일한 경우, RefPicList0 및 RefPicList1 는 동일하다. "동일하다" 는 RefPicList0 및 RefPicList1 가 정확히 동일한 참조 화상들을, 정확히 동일한 순서로 식별한다는 것을 의미한다. 예를 들어, RefPicList0 및 RefPicList1 가 동일한 경우, RefPicList0 및 RefPicList1 는 서로의 카피들이다.
RefPicList0 및 RefPicList1 가 동일한 경우, 비디오 인코더 (20) 는 RefPicList0 및 RefPicList1 양자 모두에 대해, 코딩된 비트스트림에서, 파라미터들 (예를 들어, 가중 예측 파라미터들) 을 시그널링할 필요가 없을 수도 있다. 오히려, 비디오 인코더 (20) 가 RefPicList0 및 RefPicList1 중 하나에 대한 파라미터들을 시그널링하는 것이 충분할 수도 있고, 비디오 디코더 (30) 는 시그널링된 파라미터들이 RefPicList0 및 RefPicList1 양자 모두에 대해 사용될 수 있다고 결정할 수도 있다. 일부 경우들에서, RefPicList0 및 RefPicList1 이 동일한 경우, RefPicList0 에 대한 파라미터들을, 비디오 인코더 (20) 는 코딩된 비트스트림에서 시그널링할 수도 있고, 비디오 디코더 (30) 는 코딩된 비트스트림으로부터 수신할 수도 있다.
ref_pic_list_combination 이 1 과 동일한 경우, RefPicList0 및 RefPicList1 는 동일할 수도 있거나, 상이할 수도 있다. ref_pic_list_combination 이 1 과 동일한 경우, 결합된 참조 화상 리스트 (RefPicListC) 에 대한 엔트리들의 수를, 비디오 인코더 (20) 는 코딩된 비트스트림에서 시그널링할 수도 있고, 비디오 디코더 (30) 는 코딩된 비트스트림으로부터 수신할 수도 있다. RefPicListC 내의 엔트리들의 수를 정의하는 신택스 엘리먼트는 num_ref_idx_lc_active_minus1 로서 지칭될 수도 있다.
ref_pic_list_combination 이 1 과 동일한 경우, 결합된 참조 화상 리스트가 구성되어야 하는 방식을 나타내는 신택스 엘리먼트를, 비디오 인코더 (20) 는 또한 코딩된 비트스트림에서 시그널링할 수도 있고, 비디오 디코더 (30) 는 코딩된 비트스트림으로부터 수신할 수도 있다. 이러한 신택스 엘리먼트는 ref_pic_list_modification_flag_lc 로서 지칭된다. 일부 예들에서, ref_pic_list_modification_flag_lc 의 디폴트 값은 0 이다.
다음의 표 2 는 비디오 인코더 (20) 가 참조 화상 RefPicListCombination 신택스에 대해 비디오 디코더 (30) 로 시그널링하는 신택스 엘리먼트들의 하나의 예를 나타낸다. 표 2 는 HEVC WD6 의 섹션 7.3.3.3 에서의 표와 실질적으로 유사하다.
Figure 112014105046487-pct00003
상기 예들은 RefPicList0, RefPicList1, 및 RefPicListC 의 개념을 기술했다. 그러나, HEVC WD9 에서, 결합된 참조 화상 리스트 (RefPicListC) 의 개념은 제거된다. RefPicListC 가 HEVC WD9 로부터 제거되었지만, 본 개시에 기술된 기법들은 HEVC 표준에 적용가능하다. 예를 들어, 본 개시에 기술된 기법들은 결합된 참조 화상 리스트에 대한 신택스 엘리먼트들이 사용되는 예들에 제한될 필요가 없다. 오히려, 본 개시에 기술된 기법들은 다른 신택스 엘리먼트들을 활용하거나, 새로운 신택스 엘리먼트들을 활용할 수도 있다. 이에 따라, 결합된 참조 화상 리스트에 대한 기법들의 설명은 예시의 목적으로만 제공되고, 제한하는 것으로 고려되지 않아야 한다. 또한, 결합된 참조 화상 리스트가 HEVC WD9 로부터 제거되지만, 장래의 표준들이 결합된 참조 화상 리스트 개념을 활용하는 것이 가능할 수도 있다.
상술된 바와 같이, 0 과 동일한 신택스 엘리먼트, ref_pic_list_combination_flag 는 RefPicList0 및 RefPicList1 가 동일한 것을 의미한다. 다시, ref_pic_list_combination_flag 는 신택스 엘리먼트의 하나의 예이고, RefPicList0 및 RefPicList1 가 동일 (또는, 더욱 상세히 기술되는 바와 같이, 실질적으로 등가) 인지 여부를 나타내는, 결합된 참조 화상 리스트와 관련되지 않는 다른 신택스 엘리먼트를, 비디오 인코더 (20) 가 코딩된 비트스트림에서 시그널링하고, 비디오 디코더 (30) 가 코딩된 비트스트림으로부터 수신하는 것이 가능할 수도 있다.
그러나, 표 1 에 나타낸 바와 같이, 비디오 인코더 (20) 는 RefPicList0 및 RefPicList1 가 동일하더라도 RefPicList0 및 RefPicList1 양자 모두에 대해 가중 예측 파라미터들을 시그널링할 수도 있다. 이것은 비디오 디코더 (30) 에 대해 프로세싱 시간을 증가시키고 대역폭을 소비하는, 가중 예측 파라미터들의 불필요한 시그널링을 야기한다. 예를 들어, RefPicList0 및 RefPicList1 가 동일한 경우, 비디오 인코더 (20) 가 양 리스트들 내의 참조 화상들에 대한 가중 예측 파라미터들을 시그널링할 필요가 없을 수도 있다. 대신에, 비디오 인코더 (20) 가 참조 화상 리스트들 중 하나에 대한 가중 예측 파라미터들을 코딩된 비트스트림에서 시그널링하고, 다른 참조 화상 리스트는 가중 예측 파라미터들을 인계받는 다면, 대역폭 및 계산적 효율들이 실현될 수도 있다.
예를 들어, RefPicList0 및 RefPicList1 가 동일한 경우, 비디오 인코더 (20) 는 RefPicList0 의 참조 화상들에 대한 가중 예측 파라미터들을, 코딩된 비트스트림에서 시그널링할 수도 있다. 비디오 디코더 (30) 는 RefPicList0 의 참조 화상들에 대한 가중 예측 파라미터들을, 코딩된 비트스트림으로부터 수신할 수도 있다. 이러한 경우에, 비디오 디코더 (30) 는 RefPicList1 의 참조 화상들에 대한 가중 예측 파라미터들을, 코딩된 비트스트림으로부터 수신하지 않을 수도 있다. 오히려, 비디오 디코더 (30) 는 RefPicList0 에 대한 수신된 가중 예측 파라미터들을에 기초하여 RefPicList1 내의 참조 화상들에 대한 가중 예측 파라미터들을 결정할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 RefPicList1 내의 참조 화상들에 대한 가중 예측 파라미터들로서 RefPicList0 내의 참조 화상들에 대한 가중 예측 파라미터들을 카피할 수도 있다. 이러한 방식으로, RefPicList1 는 RefPicList0 로부터 가중 예측 파라미터들을 인계받는다.
상기의 예는 RefPicList0 및 RefPicList1 가 동일할 때 RefPicList0 에 대한 가중 예측 파라미터들을, 코딩된 비트스트림에서 시그널링하는 비디오 인코더 (20) 를 기술했지만, 본 개시에 기술된 기법들은 그렇게 제한되지 않는다. 일부 예들에서, RefPicList0 및 RefPicList1 가 동일한 경우, 비디오 인코더 (20) 는 RefPicList1 내의 참조 화상들에 대한 가중 예측 파라미터들을, 코딩된 비트스트림에서 시그널링할 수도 있다. 비디오 디코더 (30) 는 RefPicList1 에 대한 가중 예측 파라미터들에 기초하여 RefPicList0 내의 참조 화상들에 대한 가중 예측 파라미터들을 결정 (예를 들어, 가중 예측 파라미터들을 카피) 할 수도 있다. 이러한 예에서, RefPicList0 는 RefPicList1 로부터 가중 예측 파라미터들을 인계받는다.
또한, 상기의 예에서, RefPicList0 및 RefPicList1 가 "동일" 할 때, 2 개의 참조 화상 리스트들 양자 모두에 대해서가 아니라 하나에 대한 가중 예측 파라미터들을, 비디오 인코더 (20) 가 시그널링하고 비디오 디코더 (30) 가 수신한다. 그러나, RefPicList0 및 RefPicList1 가 동일하다는 요건이 필수적인 것은 아니다. 일부 예들에서, 참조 화상 리스트들 중 하나는 다른 참조 화상 리스트의 서브세트일 수도 있다. 예를 들어, RefPicList0 는 M 개의 참조 화상들을 식별할 수도 있고, RefPicList1 는 N 개의 참조 화상들을 식별할 수도 있다. 즉, RefPicList0 의 사이즈는 RefPicList1 의 사이즈와 상이하다. 이러한 예에서, M 은 N 보다 크다고 가정하라. 일부 경우들에서, RefPicList0 의 제 1 의 N 개의 엔트리들은 RefPicList1 의 N 개의 엔트리들과 동일할 수도 있다 (즉, RefPicList0 의 서브세트가 컨텐츠와 순서에 있어서 RefPicList1 과 동일하다).
이러한 경우에, 제 1 참조 화상 리스트의 서브세트가 제 2 참조 화상 리스트의 전체 또는 서브세트와 동일한 경우, 비디오 인코더 (20) 는 제 1 참조 화상 리스트의 서브세트가 제 2 참조 화상 리스트의 전체 또는 서브세트와 동일하다고 나타내는 신택스 엘리먼트를, 코딩된 비트스트림에서 시그널링하고, 더 긴 참조 화상 리스트 (예를 들어, 제 1 참조 화상 리스트) 에 대한 가중 예측 파라미터들을 시그널링할 수도 있다. 비디오 디코더 (30) 는 더 긴 참조 화상 리스트에 대한 가중 예측 파라미터들에 기초하여 더 짧은 참조 화상 리스트 (예를 들어, 제 2 참조 화상 리스트) 에 대한 가중 예측 파라미터들을 결정할 수도 있다. 임의의 남은 참조 화상들이 존재한다면, 비디오 인코더 (20) 는 나머지 참조 화상들에 대한 가중 예측 파라미터들을 시그널링할 수도 있다. 설명의 편의를 위해, 기법들이 참조 화상 리스트들 중 하나의 서브세트가 다른 참조 화상 리스트의 전체와 동일한 예들을 사용하여 기술된다.
예를 들어, RefPicList0 및 RefPicList1 를 구성하는데 있어서, 비디오 디코더 (30) 는 RefPicList0 및 RefPicList1 내의 엔트리들의 수 (RefPicList0 에 대해 M 및 RefPicList1 에 대해 N) 를 이미 결정했을 수도 있다. 이러한 예에서, 비디오 디코더 (30) 는 RefPicList0 의 서브세트가 RefPicList1 의 전체와 등가라는 것을 나타내는 신택스 엘리먼트를, 코딩된 비트스트림으로부터 수신할 수도 있고, 또한 RefPicList0 에 대한 M 개의 가중 예측 파라미터들을, 코딩된 비트스트림으로부터 수신할 수도 있다 (그리고 RefPicList1 에 대한 N 개의 가중 예측 파라미터들을, 코딩된 비트스트림으로부터 수신하지 않을 수도 있다). 이러한 예에서, 비디오 디코더 (30) 는 비디오 디코더 (30) 가 RefPicList0 에 대해 수신한 총 M 개의 가중 예측 파라미터들 중 제 1 의 N 개의 가중 예측 파라미터들을 카피하고, 그들을 RefPicList1 의 N 개의 엔트리들에 대한 가중 예측 파라미터들로서 설정할 수도 있다.
상기의 예에서, RefPicList0 의 제 1 의 N 개의 가중 예측 파라미터들은 RefPicList1 의 N 개의 가중 예측 파라미터들과 동일했다. 그러나, 일부 예들에서는, RefPicList0 의 상이한 서브세트 (예를 들어, 중간의 N 개의 가중 예측 파라미터들) 가 RefPicList1 의 N 개의 가중 예측 파라미터들과 동일할 수도 있다. 이들 예들에서, 서브세트가 동일하다는 것을 식별하는 신택스 엘리먼트를, 비디오 인코더 (20) 가 시그널링할 수도 있고, 비디오 디코더 (30) 가 수신할 수도 있다.
RefPicList1 의 전체와 동일한 서브세트를 포함하는 RefPicList0 가 예시의 목적만으로 제공된다는 것이 이해되어야 하고, 제한하는 것으로 고려되지 않아야 한다. 일부 경우들에서, RefPicList1 의 서브세트는 RefPicList0 의 전체와 동일할 수도 있고, 그들로부터 비디오 디코더 (30) 가 RefPicList0 에 대한 가중 예측 파라미터들을 결정하는, RefPicList1 에 대한 가중 예측 파라미터들을, 비디오 인코더 (20) 가 시그널링하고 비디오 디코더 (30) 가 수신할 수도 있다.
상술된 예들에서, 제 1 참조 화상 리스트가 제 2 참조 화상 리스트와 동일한 경우, 또는 제 1 참조 화상 리스트의 서브세트가 제 2 참조 화상 리스트의 전체와 동일한 경우, 비디오 인코더 (20) 는 제 2 참조 화상 리스트에 대해서가 아니라 제 1 참조 화상 리스트에 대한 가중 예측 파라미터들을 시그널링할 수도 있다. 본 개시에서 사용된 바와 같이, 용어 "실질적으로 등가" 는 2 개의 참조 화상 리스트들이 동일한 예들, 또는 참조 화상 리스트들 중 하나의 서브세트가 다른 참조 화상 리스트의 전체 또는 다른 참조 화상 리스트의 서브세트와 동일한 예들을 지칭한다. 즉, 제 1 참조 화상 리스트가 제 2 참조 화상 리스트와 실질적으로 등가인 경우, 제 1 참조 화상 리스트가 제 2 참조 화상 리스트와 동일하거나, 제 1 참조 화상 리스트의 서브세트가 제 2 참조 화상 리스트의 전체 또는 서브세트와 동일하다. 일부 예들에서, 2 개의 리스트들이 실질적으로 등가인 경우 바이패스 (bypass) 코딩이 활용될 수도 있다. 또한, 하나의 참조 화상 리스트의 서브세트가 다른 참조 화상 리스트의 서브세트와 동일한 예들에서, 2 개의 참조 화상 리스트들 내의 임의의 나머지 참조 화상들에 대한 가중 예측 파라미터들을, 비디오 인코더 (20) 가 시그널링할 수도 있고, 비디오 디코더 (30) 가 수신할 수도 있다.
일반적으로, RefPicList0 및 RefPicList1 이 실질적으로 등가이고 상이한 사이즈라면, RefPicList0 이 RefPicList1 보다 더 길 확률은 RefPicList1 이 RefPicList0 보다 더 길 확률보다 크다. 즉, RefPicList0 및 RefPicList1 이 실질적으로 등가이고 상이한 사이즈라면, RefPicList0 내의 엔트리들의 수가 RefPicList1 내의 엔트리들의 수보다 클 확률이 RefPicList1 내의 엔트리들의 수가 RefPicList0 내의 엔트리들의 수보다 클 확률보다 크다.
이에 따라, 일부 예들에서, 비디오 인코더 (20) 는, RefPicList0 및 RefPicList1 의 사이즈들이 동일한 경우, 또는 RefPicList1 의 사이즈가 RefPicList0 의 사이즈보다 긴 경우가 아니라 RefPicList0 의 사이즈가 RefPicList1 의 사이즈보다 더 긴 경우에만 리스트들 중 하나에 대해서만 가중 예측 파라미터들을 시그널링할 수도 있다. 이러한 식으로, RefPicList0 및 RefPicList1 가 실질적으로 등가인 경우 가중 예측 파라미터들은 항상 RefPicList0 에 대한 것일 것이므로, 비디오 디코더 (30) 는 비디오 디코더 (30) 가 어느 참조 화상 리스트 에 대해 가중 예측 파라미터들을 수신했는지를 결정할 필요가 없을 수도 있다.
도 2a 및 도 2b 는 실질적으로 등가인 참조 화상 리스트들의 예들을 도시하는 개념도들이다. 도 2a 는 비디오 디코더 (30) 가 구성한 제 1 참조 화상 리스트 (RefPicList0) 및 제 2 참조 화상 리스트 (RefPicList1) 를 도시한다. 예를 들어, RefPicList0 및 RefPicList1 의 인덱스 칼럼은 RefPicList0 및 RefPicList1 로의 인덱스를 나타내고, POC 값 칼럼은 RefPicList0 및 RefPicList1 내에서 식별된 참조 화상들의 POC 값들을 나타낸다.
RefPicList0 및 RefPicList1 을 구성하기 위해, 신택스 엘리먼트들: num_ref_idx_l0_active_minus1 및 num_ref_idx_l1_active_minus1 을, 비디오 인코더 (20)가 코딩된 비트스트림에서 시그널링했고, 비디오 디코더 (30) 가 코딩된 비트스트림으로부터 수신했다. num_ref_idx_l0_active_minus1 신택스 엘리먼트는 RefPicList0 내의 엔트리들에 대한 수를 나타내고, num_ref_idx_l1_active_minus1 신택스 엘리먼트는 RefPicList1 내의 엔트리들의 수를 나타낸다. 예를 들어, num_ref_idx_l0_active_minus1 플러스 1 은 RefPicList0 내의 엔트리들의 수와 동일하고, num_ref_idx_l1_active_minus1 플러스 1 은 RefPicList1 내의 엔트리들의 수와 동일하다. 도 2a 의 예에서, num_ref_idx_l0_active_minus1 은 3 과 동일하고, num_ref_idx_l1_active_minus1 은 3 과 동일하다.
도 2a 에 도시된 바와 같이, RefPicList0 및 RefPicList1 은 동일하다 (이것은 실질적으로 등가인 RefPicList0 및 RefPicList1 의 하나의 예이다). 예를 들어, RefPicList0 및 RefPicList1 은 (예를 들어, 그들의 POC 값들에 의해) 동일한 참조 화상들을, 동일한 순서로 식별한다. 이러한 예에서, RefPicList0 및 RefPicList1 중 다른 것에 대해서가 아니라 하나에 대한 가중 예측 파라미터들을, 비디오 인코더 (20) 가 코딩된 비트스트림에서 시그널링할 수도 있고, 비디오 디코더 (30) 가 코딩된 비트스트림으로부터 수신할 수도 있다 (예를 들어, 2 개의 참조 화상 리스트들 중 하나만에 대한 가중 예측 파라미터들을 수신할 수도 있다). 비디오 디코더 (30) 는 시그널링된 가중 예측 파라미터들에 기초하여, 그리고 일부 예들에서는 시그널링된 가중 예측 파라미터들에만 기초하여, 다른 참조 화상 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다.
도 2b 는 RefPicList0 및 RefPicList1 의 다른 예를 도시한다. 그러나, 이러한 예에서, RefPicList0 내에 총 5 개의 엔트리들이 존재하기 때문에 num_ref_idx_l0_active_minus1 은 4 와 동일하고, RefPicList1 내에는 총 2 개의 엔트리들이 존재하기 때문에 num_ref_idx_l1_active_minus1 은 1 과 동일하다. 또한, RefPicList0 의 서브세트는 RefPicList1 의 전체 또는 서브세트와 동일하다 (이것은 실질적으로 등가인 RefPicList0 및 RefPicList1 의 다른 예이다). 예를 들어, RefPicList0 의 5 개의 엔트리들 중 처음 2 개가 RefPicList1 의 양 엔트리들 (즉, 전체) 와 동일하다.
이러한 예에서, 비디오 인코더 (20) 는 RefPicList0 의 가중 예측 파라미터들을 시그널링하고, RefPicList1 의 가중 예측 파라미터들을 시그널링하지 않을 수도 있다. 비디오 디코더 (30) 는 RefPicList0 의 가중 예측 파라미터들을 수신할 수도 있고, RefPicList0 의 수신된 가중 예측 파라미터들에 기초하여, 그리고 일부 예들에서는 RefPicList0 의 수신된 가중 예측 파라미터들에만 기초하여, RefPicList1 의 가중 예측 파라미터들을 결정할 수도 있다.
예를 들어, 이러한 예에서, 비디오 디코더 (30) 는 (예를 들어, num_ref_idx_l0_active_minus1 및 num_ref_idx_l1_active_minus1 의 값들에 기초하여) RefPicList0 및 RefPicList1 의 사이즈들을 결정했을 수도 있다. 비디오 디코더 (30) 는 코딩된 비트스트림으로부터 5 개의 가중 예측 파라미터들을 수신할 수도 있다. 비디오 디코더 (30) 는, RefPicList0 의 엔트리들의 수 (즉, 사이즈) 가 5 이기 때문에 그 5 개의 가중 예측 파라미터들이 RefPicList0 에 대한 것이라고 결정할 수도 있다. 비디오 디코더 (30) 가 더이상 가중 예측 파라미터들을 수신하지 않았기 때문에, 비디오 디코더 (30) 는 RefPicList1 에 대한 가중 예측 파라미터들이 RefPicList0 에 대한 가중 예측 파라미터들로부터 결정되어야 한다고 결정할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 RefPicList1 에 대한 가중 예측 파라미터들로서 RefPicList0 에 대한 처음 2 개의 가중 예측 파라미터들을 카피할 수도 있다.
상술된 예들에서, 비디오 인코더 (20) 는 2 개의 참조 화상 리스트들이 실질적으로 등가인 경우에 2 개의 참조 화상 리스트들 중 다른 참조 화상 리스트에 대해서가 아니라 하나의 참조 화상 리스트에 대한 가중 예측 파라미터들을 인코딩하고 시그널링한다. 비디오 디코더 (30) 는 2 개의 참조 화상 리스트들이 실질적으로 등가인 경우에 2 개의 참조 화상 리스트들 중 하나에 대한 가중 예측 파라미터들을 수신 및 디코딩하고, 2 개의 참조 화상 리스트들 중 다른 하나에 대한 가중 예측 파라미터들은 수신 및 디코딩하지 않는다. 오히려, 비디오 디코더 (30) 는, 비디오 디코더 (30) 가 가중 예측 파라미터들을 수신한 참조 화상에 대한 가중 예측 파라미터들로부터, 그리고 일부 경우들에서는 그 가중 예측 파라미터들만으로부터, 비디오 디코더 (30) 가 가중 예측 파라미터들을 수신하지 않은 참조 화상 리스트에 대한 가중 예측 파라미터들을 결정한다.
그러나, 본 개시에 기술된 기법들은 그렇게 제한되지 않는다. 일부 예들에서, 기법들은 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들을 인코딩 및 시그널링하거나 수신 및 디코딩하는데 결합된 참조 화상 리스트 (RefPicListC) 를 활용할 수도 있다. 상술된 바와 같이, 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 RefPicList0 및 RefPicList1 을 구성한다. 용어 P-슬라이스들은 단방향으로 예측된 슬라이스들을 지칭하고, RefPicList0 내의 참조 화상들로부터 예측된다. 용어 B-슬라이스들은 RefPicList0 또는 RefPicList1 내의 참조 화상들로부터 단방향으로 예측되거나, RefPicList0 및 RefPicList1 로부터의 참조 화상들로부터 양방향 예측된 슬라이스들을 지칭한다. 일부 경우들에서, 단방향으로 예측된 B-슬라이스들의 경우, 비디오 인코더 (20) 는 슬라이스가 RefPicList0 또는 RefPicList1 로부터 예측되는지 여부를 특정할 필요가 있을 수도 있다.
일부 경우들에서, RefPicList0 또는 RefPicList1 가 단방향 예측된 슬라이스를 위해 활용되는지 여부를 나타내는 시그널링을 피하기 위해, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 RefPicList0 및 RefPicList1 로부터 결합된 참조 화상 리스트 (RefPicListC) 를 구성한다. 일반적으로, RefPicListC 는 단방향 예측된 B-슬라이스들을 위해 활용되지만, 또한 P-슬라이스들을 위해 사용될 수 있다. 이들 경우들에서, 비디오 인코더 (20) 는 RefPicListC 로의 인덱스를 시그널링하고, 비디오 디코더 (30) 는 RefPicListC 로의 인덱스로부터 단방향 예측된 슬라이스를 인터 예측하는데 사용되어야 하는 참조 화상을 식별한다. 이러한 방식으로, 단방향으로 예측된 슬라이스가 RefPicList0 또는 RefPicList1 로부터 예측되는지 여부를 나타내는 신택스 엘리먼트들을, 비디오 인코더 (20) 가 시그널할 필요가 없을 수도 있고, 비디오 디코더 (30) 가 수신할 필요가 없을 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 가 RefPicListC 를 구성하는 여러 방법들이 존재할 수도 있다. 하나의 예로서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 구성된 RefPicList0 및 RefPicList1 로부터 RefPicListC 를 구성하기 위한 디폴트 구성 스킴을 구현할 수도 있다. 즉, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 인터 예측될 블록을 포함하는 화상에 대해 RefPicList0 및 RefPicList1 을 구성할 수도 있다. 그 후, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 RefPicListC 가 구성되어야 하는 방식을 나타내는 신택스 엘리먼트들을, 비디오 인코더 (20) 가 시그널링하지 않고 비디오 디코더 (30) 가 수신하지 않고 RefPicListC 를 구성할 수도 있다. 다른 예로서, 비디오 디코더 (30) 는 RefPicListC 를 구성할 수도 있고, 그 후 RefPicListC 변경되어야 하는 방식을 나타내는 신택스 엘리먼트들을 수신할 수도 있다. 또 다른 예로서, 비디오 디코더 (30) 는 비디오 디코더 (30) 가 RefPicListC 를 구성해야 하는 방식을 나타내는 신택스 엘리먼트들을 수신할 수도 있다.
이들 예들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 가 RefPicListC 를 구성하는 경우, 일부 예들에서, 비디오 인코더 (20) 는 RefPicList0 및 RefPicList1 이 실질적으로 등가인 경우에 RefPicListC 에 대한 가중 예측 파라미터들을 시그널링할 수도 있다. 이들 예들에서, 비디오 인코더 (20) 는 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들을 시그널링하지 않을 수도 있다. 비디오 디코더 (30) 는 그 후 RefPicList0 또는 RefPicList1 중 어느 하나에 대한 가중 예측 파라미터들을 수신하지 않고, RefPicListC 에 대한 가중 예측 파라미터들로 부터 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들을 결정할 수도 있다.
예를 들어, RefPicList0 및 RefPicList1 가 동일한 경우, RefPicListC 는 RefPicList0 및 RefPicList1 와 동일할 것이다. 이러한 경우에, 비디오 인코더 (20) 는 RefPicList0 및 RefPicList1 에 대해서가 아니고 RefPicListC 에 대한 가중 예측 파라미터들을 시그널링할 수도 있고, 비디오 디코더 (30) 는 RefPicListC 에 대한 가중 예측 파라미터들에 기초하여 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들을 결정할 수도 있다.
다른 예로서, RefPicList0 의 서브세트가 RefPicList1 의 전체 또는 서브세트와 동일한 경우 (또는 그 역의 경우), RefPicListC 는 2 개의 참조 화상 리스트들 중 더 긴 것과 동일할 수도 있다. 이러한 경우에, 비디오 인코더 (20) 는 RefPicList0 및 RefPicList1 에 대해서가 아니고, RefPicListC 에 대한 가중 예측 파라미터들을 시그널링할 수도 있고, 비디오 디코더 (30) 는 RefPicListC 에 대한 가중 예측 파라미터들에 기초하여 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들을 결정할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 num_ref_idx_l0_active_minus1 및 num_ref_idx_l1_active_minus1 에 기초하여 RefPicList0 및 RefPicList1 의 사이즈들을 이미 결정했을 수도 있고, 따라서 RefPicList0 또는 RefPicList1 중 어느 것이 더 긴지를 이미 결정했을 수도 있다.
이러한 방식으로, 비디오 디코더 (30) 는 RefPicListC, RefPicList0, 및 RefPicList1 의 사이즈들에 기초하여 RefPicListC 에 대한 가중 예측 파라미터들이 RefPicList0 또는 RefPicList1 에 대한 것들과 동일한지 여부를 결정할 수 있을 수도 있다. 그 후, 비디오 디코더 (30) 는 다른 참조 화상 리스트 (즉, RefPicList0 및 RefPicList1 중 더 짧은 것) 에 대한 가중 예측 파라미터들을 결정할 수도 있다.
상술된 바와 같이, 일부 예들에서, 비디오 인코더 (20) 는 구성된 RefPicListC 가 변경되어야 하는 방식 또는 RefPicListC 가 구성되어야 하는 방식을 나타내는 신택스 엘리먼트들을 시그널링할 수도 있다. 이들 예들에서, 비디오 인코더 (20) 는 어느 참조 화상들이 RefPicListC 내에 포함되어야 하는지를 나타내는 신택스 엘리먼트들을 시그널링할 수도 있다. 또, 비디오 인코더 (20) 는 신택스 엘리먼트 (예를 들어, num_ref_idx_lc_active_minus1) 로 RefPicListC 의 사이즈를 시그널링할 수도 있다.
이들 예들에서, 비디오 인코더 (20) 는 RefPicListC 에 대한 가중 예측 파라미터들을 시그널링하지 않을 수도 있다. 오히려, 비디오 디코더 (30) 는 비디오 인코더 (20) 가 RefPicList0 및 RefPicList1 에 대해 시그널링한 가중 예측 파라미터들로부터 RefPicListC 에 대한 가중 예측 파라미터들을 결정할 수도 있다. 즉, RefPicList0 및 RefPicList1 가 실질적으로 등가가 아니더라도, 비디오 인코더 (20) 는 RefPicListC 에 대한 가중 예측 파라미터들을 시그널링할 필요가 없을 수도 있고, 비디오 디코더 (30) 는 대신에 RefPicList0 및 RefPicList1 에 대한 시그널링된 가중 예측 파라미터들로부터 RefPicListC 에 대한 가중 예측 파라미터들을 결정할 수도 있다.
상기의 예들에서, 2 개의 참조 화상 리스트들이 실질적으로 등가인 경우에 가중 예측 파라미터들이 동일하다고 가정되었고, 이것은 하나의 참조 화상 리스트가 다른 참조 화상 리스트에 대한 가중 예측 파라미터들을 인계받는 것을 허용한다. 그러나, 이것은 항상 그럴필요는 없다. 2 개의 참조 화상 리스트들이 실질적으로 등가인 경우에도, 그 리스트들 각각 내의 참조 화상들에 대한 가중 예측 파라미터들이 상이한 것이 가능할 수도 있다. 그러한 경우들에서, 양 참조 화상 리스트들이 실질적으로 등가이더라도, 양 참조 화상 리스트들에 대한 가중 예측 파라미터들을, 비디오 인코더 (20) 가 시그널링할 수도 있고 비디오 디코더 (30) 가 수신할 수도 있다. 그러나, 예시의 목적으로, 본 개시에 기술된 기법들은 실질적으로 등가인 참조 화상 리스트들에 대한 가중 예측 파라미터들이 동일한 예들을 사용하여 기술된다.
이에 따라, 본 개시에 기술된 예시의 기법들에서, (비디오 인코더 (20) 또는 비디오 디코더 (30) 에 대한 일반적인 용어인) 비디오 코더는 현재 화상의 제 1 리스트에 대한 가중 예측 파라미터들을 (인코딩 또는 디코딩에 대한 일반적인 용어인) 코딩할 수도 있다. 비디오 코더는 제 1 리스트에 대한 코딩된 가중 예측 파라미터들에 기초하여 현재 화상의 제 2 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다. 일부 예에서, 비디오 코더는 제 1 리스트에 대한 코딩된 가중 예측 파라미터들에만 기초하여 제 2 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다. 비디오 코더는 그 후 코딩된 가중 예측 파라미터들 및 결정된 가중 예측 파라미터들 중 하나 이상에 적어도 기초하여 현재 화상 내의 블록을 인터 예측 (예를 들어, 블록을 인터 예측 인코딩 또는 인터 예측 디코딩) 할 수도 있다.
이들 예들에서, 제 1 리스트는 제 1 참조 화상 리스트 (RefPicList0), 제 2 참조 화상 리스트 (RefPicList1), 또는 결합된 참조 화상 리스트 (RefPicListC) 일 수도 있고, 제 2 리스트는 제 1 리스트와 상이하다. 어떤 경우에든지, 제 1 리스트 및 제 2 리스트는 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함한다. 비디오 코더가 제 1 리스트의 가중 예측 파라미터들에 기초하여 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 예들에서, 비디오 코더는 제 1 리스트에 대한 가중 예측 파라미터들에만 기초하여, 그리고 제 2 리스트에 대한 가중 예측 파라미터들을 코딩하지 않고 제 2 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다.
일부 예들에서, 비디오 코더는 제 1 리스트와 제 3 리스트가 실질적으로 등가인 경우에 제 1 리스트에 대한 가중 예측 파라미터들에 기초하여 제 2 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다. 예를 들어, 제 1 리스트가 RefPicList0 이고, 제 2 리스트가 RefPicListC 이며, 제 3 리스트가 RefPicList1 이라고 가정하라. 이러한 예에서, 비디오 코더는 RefPicList0 및 RefPicList1 가 실질적으로 등가인 경우에 RefPicList0 에 대한 가중 예측 파라미터들에 기초하여 RefPicListC 에 대한 가중 예측 파라미터들을 결정할 수도 있다.
다른 예로서, 제 1 리스트가 RefPicList0 이고, 제 2 리스트가 RefPicList1 이라고 가정하라. 이러한 예에서, 제 3 리스트는 제 2 리스트와 동일하다 (즉, 제 3 리스트는 또한 RefPicList1 이다). 이러한 예에서, 제 1 리스트 및 제 3 리스트 (즉, RefPicList0 및 RefPicList1) 가 실질적으로 등가인 경우, 비디오 코더는 제 1 리스트 (즉, RefPicList0) 에 대한 가중 예측 파라미터들에 기초하여 제 2 리스트 (즉, RefPicList1) 에 대한 가중 예측 파라미터들을 결정할 수도 있다.
다른 리스트로부터 하나의 리스트에 대한 가중 예측 파라미터들을 결정하기 위한 여러 양태들이 대응하는 신택스 엘리먼트를 사용하여 아래에 기술된다. RefPicList0 및 RefPicList1 가 동일한 양태들과 같은 일부 양태들이 위에서 그리고 HEVC WD6 에서 정의된 바와 같은 ref_pic_list_combination_flag 의 정의를 활용한다. 일부 양태들은 RefPicList0 또는 RefPicList1 의 서브세트가 다른 것의 전체 또는 서브세트와 동일한 양태들 (예를 들어, RefPicList0 내의 N 개의 엔트리들이 RefPicList1 내의 N 개의 엔트리들과 동일하고, 여기서 RefPicList1 내의 N 개의 엔트리들은 RefPicList1 의 전체일 수도 있다) 과 같은 일부 양태들은 ref_pic_list_combination_flag 의 정의를 변경한다. 또, ref_pic_list_combination_flag 는 참조 화상 리스트들이 실질적으로 등가인지 여부를 나타내는데 사용될 수 있는 신택스 엘리먼트의 하나의 예이다. 그러나, 기법들은 ref_pic_list_combination_flag 를 사용하는 것에 제한되지 않는다. 또한, 본 개시에 기술된 기법들은 결합된 참조 화상 리스트들이 고려되지 않거나 사용되지 않는 상황들에 연장가능하다.
제 1 양태에서, ref_pic_list_combination_flag 의 정의는 표 1 에 대해 위에서 정의된 것과 동일한다. 이러한 제 1 양태에서, 2 개의 리스트들이 "동일한" 경우에 그 리스트들 중 하나 (예를 들어, RefPicList1) 에 대한 가중 예측 파라미터들이 다른 것 (예를 들어, RefPicList0) 으로부터 인계받는 다고 가정된다면, 표 3 은 신택스 엘리먼트들의 예들을 제공한다. 그러나, ref_pic_list_combination_flag 의 값이 가중 예측 파라미터들이 양 리스트들에 대해 동일한지 여부를 나타내지 않는 경우, 비디오 인코더 (20) 는 RefPicList0 및 RefPicList1 이 실질적으로 등가이더라도 RefPicList0 및 RefPicList1 양자 모두에 대한 가중 예측 파라미터들을 시그널링한다.
아래의 표 3 에 나타낸 바와 같이, 표 1 의 "if(slice_type == B)" 의 의사 코드는 "if(slice_type == B && ref_pic_list_combination_flag != 0)" 으로 대체된다. 즉, 그 의사 코드는 RefPicList0 및 RefPicList1 가 동일하지 않는 경우만이 비디오 인코더 (20) 가 RefPicList1 에 대한 가중 예측 파라미터들을 시그널링하는 경우들이라는 것을 나타낸다.
Figure 112014105046487-pct00004
Figure 112014105046487-pct00005

표 3 에서, 리스트 결합 동작 없는 P-슬라이스들 및 B-슬라이스들의 경우 (ref_pic_list_modification_flag_lc == 0), 비디오 인코더 (20) 는 RefPicList0 에 대한 가중 예측 파라미터들을 시그널링한다. ref_pic_list_modification_flag_lc 신택스 엘리먼트는 결합된 참조 화상 리스트에 대한 임의의 변경이 필요한지 여부를 나타내며, 0 인 경우는 결합된 참조 화상 리스트의 어떠한 변경도 필요하지 않다는 것을 나타낸다.
이러한 예에서, RefPicList0 및 RefPicList1 이 동일하지 않은 경우, 비디오 인코더 (20) 는 ref_pic_list_modification_flag_lc 이 0 과 동일할 때 그리고 B-슬라이스들에 대해 RefPicList1 에 대한 가중 예측 파라미터들을 시그널링한다. 그렇지 않은 경우, 비디오 인코더 (20) 는 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들이 동일하기 때문에 RefPicList1 에 대한 가중 예측 파라미터들을 시그널링하지 않는다.
결합된 참조 화상 리스트 변경이 존재하는 경우 (즉, ref_pic_list_modification_flag_lc == 1), 비디오 인코더 (20) 는 RefPicListC 에 대한 가중 예측 파라미터들을 시그널링한다. 비디오 디코더 (30) 는 RefPicListC 에 대한 시그널링된 가중 예측 파라미터들로부터 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들을 결정할 수도 있다. 예를 들어, RefPicListC 를 구성하기 위해, 비디오 디코더 (30) 는 RefPicList0 및 RefPicList1 로부터 참조 화상들을 선택했을 수도 있다. 이러한 방식으로, 비디오 디코더 (30) 는 RefPicList0 및 RefPicList1 과 RefPicListC 사이의 맵핑을 결정했을 수도 있다 (즉, RefPicList0 및 RefPicList1 로부터의 어느 화상들이 RefPicListC 에 그리고 RefPicListC 의 어느 인덱스에 포함되는지를 결정했을 수도 있다).
이에 따라, RefPicListC 에 대한 가중 예측 파라미터들을 수신함으로써 그리고 RefPicListC 와 RefPicList0 및 RefPicList1 사이의 맵핑을 이전에 결정한 것에 의해, 비디오 디코더 (30) 는 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들을 결정할 수도 있다. 예를 들어, 비디오 디코더 (30) 가 RefPicList0 의 제 1 참조 화상을 RefPicListC 의 제 1 참조 화상으로서 포함시켰고, RefPicList1 의 제 1 참조 화상을 RefPicListC 의 제 2 참조 화상으로서 포함시킨 것을 가정하라. 이러한 예에서, 비디오 디코더 (30) 는 RefPicListC 의 처음 2 개의 참조 화상들에 대한 가중 예측 파라미터들을 수신할 수도 있다. 비디오 디코더 (30) 는 RefPicListC 의 제 1 가중 예측 파라미터를 RefPicList0 의 제 1 화상에 대한 가중 예측 파라미터로서 설정하고, RefPicListC 의 제 2 가중 예측 파라미터를 RefPicList1 의 제 2 화상에 대한 가중 예측 파라미터로서 설정할 수도 있다.
제 2 양태에서, ref_pic_list_combination_flag 의 정의는 위에서 그리고 HEVC WD6 에서 정의된 것과 상이할 수도 있다. 예를 들어, 제 2 양태에서, 1 과 동일한 ref_pic_list_combination_flag 는 RefPicList0 및 RefPicList1 이 단방향 예측되는 예측 유닛들을 위해 사용되는 추가의 참조 화상 리스트 결합 (예를 들어, RefPicListC) 에 결합된다는 것을 나타낼 수도 있다. 0 과 동일한 ref_pic_list_combination_flag 는 더 짧은 리스트 (RefPicList0 또는 RefPicList1) 의 처음 N = min(num_ref_idx_l0_active_minus1+1, num_ref_idx_l1_active_minus1+1) 이 더 긴 리스트의 처음 (예를 들어, 상부) N 개의 엘리먼트들 (예를 들어, 엔트리들) 과 동일하다 (즉, 하나의 리스트의 서브세트가 다른 리스트의 전체 또는 서브세트와 동일하다) 는 것을 나타낼 수도 있다. 이러한 예에서, 더 긴 리스트는 RefPicListC 로서 사용되고, RefPicListC 는 아래의 표 4 에 정의된 루프의 시작에서 비어있는 (empty) 것으로 설정된다. 즉, 더 짧은 리스트의 제 1 의 N 개의 엘리먼트들 (예를 들어, 엔트리들) 이 더 긴 리스트의 제 1 의 N 개의 엘리먼트들과 등가인 경우, 비디오 인코더 (20) 는 그 N 개의 엘리먼트들에 대해서만 가중 예측 파라미터들을 시그널링할 수도 있다. 일부 예들에서, 각각에 추가적인 참조 화상들이 존재하는 경우, 비디오 인코더 (20) 는 나머지 화상들에 대한 가중 예측 파라미터들을 시그널링할 수도 있다.
Figure 112014105046487-pct00006
Figure 112014105046487-pct00007

제 2 양태에서, P-슬라이스들 및 B-슬라이스들이 동일하지 않고 (그리고 ref_pic_list_combination_flag != 0), 리스트 결합 동작들이 존재하지 않는 (즉, ref_pic_list_modification_flag_lc == 0) 경우, 비디오 인코더 (20) 는 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들을 시그널링할 수도 있다. 리스트 변경이 존재하거나 (즉, ref_pic_list_modification_flag != 0), RefPicList0 및 RefPicList1 이 실질적으로 등가인 (즉, ref_pic_list_combination_flag == 0) 경우, 비디오 인코더 (20) 는 RefPicListC 에 대한 가중 예측 파라미터들을 시그널링할 수도 있다. 비디오 디코더 (30) 는 RefPicListC 에 대한 시그널링된 가중 예측 파라미터들로부터 RefPicList0 및 RefPicList1 에 대한 가중 예측 파라미터들을 결정할 수도 있다.
RefPicList0 및 RefPicList1 가 실질적으로 등가인 (즉, ref_pic_list_combination_flag == 0) 경우에 대해, 비디오 디코더 (30) 는 각각의 사이즈들에 기초하여 (즉, num_ref_idx_l0_active_minus1, num_ref_idx_l1_active_minus1 에 기초하여) 비디오 디코더 (30) 가 어떤 참조 화상 리스트에 대해 가중 예측 파라미터들을 수신했는지를 결정할 수도 있다. 비디오 디코더 (30) 는 시그널링되지 않은 리스트로 시그널링된 리스트에 대한 가중 예측 파라미터들을 카피하고, 제 1 의 N 개의 엘리먼트들 (즉, 시그널링되지 않은 리스트의 사이즈에 의해 결정된) 이후를 잘라냄으로써 비디오 디코더 (30) 가 가중 예측 파라미터들을 수신하지 않았던 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다.
RefPicListC 가 변경되어야 하는 케이스의 경우, 비디오 디코더 (30) 는 표 2 를 사용하여 상술된 참조 화상 리스트 결합 신택스의 신택스 엘리먼트들에 기초하여 RefPicList0 로부터 RefPicListC 내의 화상들의 기원을 결정할 수도 있다. 또한, 2 개의 리스트들이 실질적으로 등가이더라도 RefPicList0 및 RefPicList1 양자 모두에 대한 가중 예측 파라미터들이 시그널링되어야 하는 경우, 양 리스트들에 대한 가중 예측 파라미터들을, 비디오 인코더 (20) 가 시그널링할 수도 있고, 비디오 디코더 (30) 가 수신할 수도 있다.
신택스 엘리먼트 "ref_pic_list_combination_flag" 는 2 개의 리스트들이 실질적으로 등가인지 여부를 나타내기 위해 상기의 예들에서 임의의 신택스 엘리먼트 이름에 의해 대체될 수 있을 것이라는 것이 이해되어야 한다. 신택스 엘리먼트의 0 값이 리스트들이 실질적으로 등가라는 것을 나타내는 경우, 상기 신택스 엘리먼트들은 동일할 수도 있다. 그렇지 않은 경우, 그러한 신택스 엘리먼트의 값을 체크하는 로직은 역전되어야 한다 (즉, == 0 은 != 0 으로 대체될 것이고, 그 역도 성립한다).
유사하게, 신택스 엘리먼트 "ref_pic_list_modification_flag_lc" 는 비디오 디코더 (30) 가 비디오 인코더 (20) 로부터의 명시적인 시그널링에 의해 RefPicListC 를 구성해야 하는지 여부를 나타내는, 상기 예들에서의 임의의 신택스 엘리먼트 이름에 의해 대체될 수 있을 것이다. 그러한 신택스 엘리먼트의 값이 0 인 경우, 비디오 디코더 (30) 는 비명시적으로 시그널링된 기법들 (예를 들어, 디폴트 또는 암시적인 기법들) 을 사용하여 RefPicListC 를 구성할 수도 있다. 신택스 엘리먼트의 0 값이 RefPicListC 가 명시적으로 구성되지 않는다는 것을 나타내는 경우, 상기 신택스는 동일할 수도 있다. 그렇지 않은 경우, 이러한 신택스 엘리먼트의 값을 체크하는 로직은 역전되어야 한다 (즉, == 0 은 != 0 으로 대체될 것이고, 그 역도 성립한다).
제 3 양태에서, 디폴트 RefPicListC 형성은 리스트 구성에서 가중 예측 파라미터들을 고려하지 않는다. 또한, 비디오 인코더 (20) 는 항상 RefPicList0 및 RefPicList1 에 대해 가중 예측 파라미터들을 개별적으로 시그널링하는 대신에 RefPicListC 내의 B-슬라이스들에 대한 가중 예측 파라미터들을 시그널링한다. P-슬라이스들은 단일의 리스트를 사용하고, 따라서 이러한 제 3 양태에서의 P-슬라이스들의 기법들은 상기한 것과 동일하다. P-슬라이스들은 참조된 화상들 모두가 하나의 리스트 (즉, RefPicList0) 로부터 오는 RefPicListC 의 특수한 경우로서 취급될 수도 있다. 이러한 제 3 양태에서, 결합된 리스트 시그널링은 비디오 인코더 (20) 가 결합된 리스트 엔트리들을 명시적으로 시그널링하는 경우에 디폴트 결합된 리스트 프로세스 또는 변경된 결합된 리스트에 대해 유지된다.
이러한 제 3 양태에서, RefPicList0 및 RefPicList1 양자가 실질적으로 등가인 경우에 RefPicListC 는 RefPicList0 또는 RefPicList1 중 하나와 등가일 것이므로, ref_pic_list_combination_flag 는 가중 예측 파라미터들의 시그널링에 영향을 주지 않을 수도 있다. num_ref_idx_lc_active_minus1 의 값은, 존재한다면, 비디오 인코더 (20) 가 슬라이스 헤더에서 시그널링한 것과 동일하다. RefPicListC 의 디폴트 또는 암시적인 구성의 경우, num_ref_idx_lc_active_minus1 의 값은 시그널링되지 않고, RefPicListC 를 구성하는 암시적이거나 디폴트 기법으로부터 생성된 RefPicListC 의 사이즈 마이너스 1 과 동일한 것으로 가정된다. RefPicListC 를 구성하는 하나의 예의 디폴트 기법이 HEVC WD6 의 섹션 8.3.4.3 B 슬라이스들에서의 참조 화상 리스트들 결합을 위한 맵핑 프로세스에 제공된다. 그러나, 그 기법들은 RefPicListC 를 구성하기 위한 그러한 디폴트 기법들에 제한되지 않는다.
Figure 112014105046487-pct00008
대안적으로, 제 3 양태에서, P-슬라이스들이 num_ref_idx_l0_active_minus1 플러스 1 개의 엔트리들을 갖는 결합된 리스트의 특수한 경우로서 취급되는 경우, B-슬라이스들 및 P-슬라이스들에 대한 신택스가 결합될 수 있다. P-슬라이스들의 경우, num_ref_idx_lc_active_minus1 의 값은 num_ref_idx_l0_active_minus1 과 동일할 것이며, B-슬라이스들에 대한 디폴트 RefPicListC 의 경우, 그의 값은 하나의 예 그리고 (상술된) 섹션 8.3.4.3 에서 기술된 프로세스로부터 야기되는 리스트의 사이즈와 동일할 것이다. RefPicListC 에 대한 참조 화상들이 ref_pic_list_modification_flag_lc 를 사용하여 명시적으로 시그널링되는 경우에 대해, 그의 값은 num_ref_idx_lc_active_minus1 신택스와 동일할 것이다. 표 6 은 제 3 양태의 대안에 대한 신택스 엘리먼트들을 제공한다.
Figure 112014105046487-pct00009
제 4 양태에서, ref_pic_list_combination_flag 의 정의는 표 1 및 HEVC WD6 에 대해 상술된 바와 동일하다. 제 4 양태는 제 1 양태와 유사할 수도 있고, 표 7 은 제 4 양태에 대한 신택스 엘리먼트들을 제공한다. 그러나, 제 4 양태에서, 비디오 인코더 (20) 는 변경된 결합된 리스트 가중 예측 파라미터들을 시그널링하지 않을 수도 있다. 이러한 예에서, 비디오 디코더 (30) 는 RefPicList0 및 RefPicList1 의 가중 예측 파라미터들로부터 RefPicListC 에 대한 가중 예측 파라미터들을 결정할 수도 있다.
Figure 112014105046487-pct00010
도 3 은 본 개시에 기술된 기법들을 구현할 수도 있는 비디오 인코더의 예를 도시하는 블록도이다. 예를 들어, 도 3 은 비디오 슬라이스들 내의 비디오 블록들의 인트라 코딩 및 인터 코딩 (예를 들어, 인트라 예측 인코딩과 같은 인트라 예측 또는 인터 예측 인코딩과 같은 인터 예측) 을 수행할 수도 있는 비디오 인코더 (20) 를 도시한다. 인트라 코딩은 주어진 비디오 프레임 또는 화상 내의 비디오에서의 공간적 리던던시를 감소시키거나 제거하기 위해 공간적 예측 (spatial prediction) 에 의존한다. 인터 코딩은 비디오 시퀀스의 인접한 프레임들 또는 화상들 내의 비디오에서 시간적 리던던시를 감소시키거나 제거하기 위해 시간적 예측 (temporal prediction) 에 의존한다. 인트라 모드 (I 모드) 는 수개의 공간 기반 압축 모드들의 임의의 것을 지칭할 수도 있다. 단방향 예측 (P 모드) 또는 양방향 예측 (B 모드) 과 같은 인터 모드들은 수개의 시간 기반 압축 모드들의 임의의 것을 지칭할 수도 있다.
도 3 의 예에서, 비디오 인코더 (20) 는 파티셔닝 유닛 (40), 예측 프로세싱 유닛 (42), 참조 화상 메모리 (64), 합산기 (50), 변환 프로세싱 유닛 (52), 양자화 프로세싱 유닛 (54), 및 엔트로피 인코딩 유닛 (56) 을 포함한다. 예측 프로세싱 유닛 (42) 은 모션 추정 유닛 (44), 모션 보상 유닛 (46), 및 인트라 예측 유닛 (48) 을 포함한다. 비디오 블록 재구성을 위해, 비디오 인코더 (20) 는 또한 역양자화 프로세싱 유닛 (58), 역변환 프로세싱 유닛 (60), 및 합산기 (62) 를 포함한다. 디블록킹 필터 (도 3 에 도시되지 않음) 가 또한 재구성된 비디오로부터 블록키니스 (blockiness) 아티팩트들을 제거하기 위해 블록 경계들을 필터링하기 위해 포함될 수도 있다. 원하는 경우, 디블록킹 필터는 통상 합산기 (62) 의 출력을 필터링할 것이다. 추가적인 루프 필터들 (인 루프 또는 포스트 루프) 이 또한 디블록킹 필터에 추가하여 사용될 수도 있다. 참조 화상 메모리 (64) 는 디코딩 화상 버퍼 (decoding picture buffer: DPB) 의 하나의 예이다.
도 3 에 도시된 바와 같이, 비디오 인코더 (20) 는 비디오 데이터를 수신하고, 파티셔닝 유닛 (40) 은 데이터를 비디오 블록들로 파티셔닝한다. 이러한 파티셔닝은 또한 슬라이스들, 타일들, 또는 다른 더 큰 유닛들로의 파티셔닝 뿐아니라 (예를 들어, LCU 들 및 CU 들의 쿼드트리 구조에 따른) 비디오 블록 파티셔닝을 포함할 수도 있다. 비디오 인코더 (20) 는 일반적으로 인코딩될 비디오 슬라이스 내의 비디오 블록들을 인코딩하는 컴포넌트들을 도시한다. 그 슬라이스는 다수의 비디오 블록들로 (그리고 가능하게는 타일들로서 지칭되는 비디오 블록들의 세트들로) 분할될 수도 있다. 예측 프로세싱 유닛 (42) 은 에러 결과들 (예를 들어, 코딩 레이트 및 왜곡의 레벨) 에 기초하여 현재의 비디오 블록에 대해, 복수의 인트라 코딩 모드들 중 하나 또는 복수의 인터 모딩 모드들 중 하나와 같은 복수의 가능한 코딩 모드들 중 하나를 선택할 수도 있다. 예측 프로세싱 유닛 (42) 은 레지듀얼 블록 데이터를 생성하기 위해 합산기 (50) 로 그리고 참조 화상으로서의 사용을 위해 인코딩된 블록을 재구성하기 위해 합산기 (62) 로 결과의 인트라 또는 인터 코딩된 블록을 제공할 수도 있다.
예측 프로세싱 유닛 (42) 내의 인트라 예측 유닛 (48) 은 공간적 압축을 제공하기 위해 코딩될 현재의 블록과 동일한 프레임 또는 슬라이스 내의 하나 이상의 이웃하는 블록들에 대한 현재의 비디오 블록의 인트라 예측 코딩을 수행할 수도 있다. 예측 프로세싱 유닛 (42) 내의 모션 추정 유닛 (44) 및 모션 보상 유닛 (46) 은 시간적 압축을 제공하기 위해 하나 이상의 참조 화상들 내의 하나 이상의 예측 블록들에 대한 현재의 비디오 블록의 인터 예측 코딩을 수행한다.
모션 추정 유닛 (44) 은 비디오 시퀀스에 대한 미리 결정된 패턴에 따라 비디오 슬라이스에 대한 인터 예측 모드를 결정하도록 구성될 수도 있다. 미리 결정된 패턴은 시퀀스 내의 비디오 슬라이스들을 P 슬라이스들 또는 B 슬라이스들로서 지정할 수도 있다. 모션 추정 유닛 (44) 및 모션 보상 유닛 (46) 은 고도로 집적될 수도 있지만, 개념적 목적을 위해 별도로 도시된다. 모션 추정 유닛 (44) 에 의해 수행되는 모션 추정은 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 생성하는 프로세스이다. 예를 들어, 모션 벡터는 참조 화상 내의 예측 블록에 대한 현재 비디오 프레임 또는 화상 내의 비디오 블록의 PU 의 변위를 나타낼 수도 있다.
예측 블록은 SAD (sum of absolute difference), SSD (sum of square difference), 또는 다른 차이 메트릭들에 의해 결정될 수도 있는 화소 차이에 의해 코딩될 비디오 블록의 PU 와 근접하게 매치하는 것으로 발견되는 블록이다. 일부 예들에서, 비디오 인코더 (20) 는 참조 화상 메모리 (64) 에 저장된 참조 화상들의 서브-인티저 (sub-integer) 화소 위치들에 대한 값들을 계산할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 참조 화상의 1/4 화소 위치들, 1/8 화소 위치들, 또는 다른 프랙셔널 (fractional) 화소 위치들의 값들을 내삽할 수도 있다. 따라서, 모션 추정 유닛 (44) 은 풀 (full) 화소 위치들 및 프랙셔널 화소 위치들에 대한 모션 검색을 수행하고 프랙셔널 화소 정밀도로 모션 벡터를 출력할 수도 있다.
모션 추정 유닛 (44) 은 PU 의 위치를 참조 화상의 예측 블록의 위치와 비교함으로써 인터 코딩된 슬라이스 내의 비디오 블록의 PU 에 대한 모션 벡터를 계산한다. 참조 화상은 제 1 참조 화상 리스트 (RefPicList0) 또는 제 2 참조 화상 리스트 (RefPicList1) 로부터 선택될 수도 있고, 이들 각각은 참조 화상 메모리 (64) 에 저장된 하나 이상의 참조 화상들을 식별한다. 모션 추정 유닛 (44) 은 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (46) 으로 계산된 모션 벡터를 전송한다.
모션 보상 유닛 (46) 에 의해 수행된 모션 보상은 모션 추정, 가능하게는 서브-화소 정밀도로 내삽들을 수행하는 것에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페칭 (fetching) 또는 생성하는 것을 수반할 수도 있다. 현재의 비디오 블록의 PU 에 대한 모션 벡터를 수신하자마자, 모션 보상 유닛 (46) 은 참조 화상 리스트들 중 하나 내에서 모션 벡터가 가리키는 예측 블록을 로케이팅할 수도 있다. 비디오 인코더 (20) 는 코딩되는 현재의 비디오 블록의 화소 값들로부터 예측 블록의 화소 값들을 감산함으로써 레지듀얼 비디오 블록을 형성하여, 화소 차이 값들을 형성한다. 화소 차이 값들은 블록에 대한 레지듀얼 데이터를 형성하고, 루마 및 크로마 차이 컴포넌트들 양자 모두를 포함할 수도 있다. 합산기 (50) 는 이러한 감산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 모션 보상 유닛 (46) 은 또한 비디오 슬라이스의 비디오 블록들을 디코딩하는데 있어서 비디오 디코더 (30) 에 의해 사용하기 위한 비디오 블록들 및 비디오 슬라이스와 연관된 신택스 엘리먼트들을 생성할 수도 있다.
인트라 예측 유닛 (48) 은 상술된 바와 같은 모션 추정 유닛 (44) 및 모션 보상 유닛 (46) 에 의해 수행된 인터 예측에 대한 대안으로서, 현재의 블록을 인트라 예측할 수도 있다. 특히, 인트라 예측 유닛 (48) 은 현재의 블록을 인코딩하기 위해 사용할 인트라 예측 모드를 결정할 수도 있다. 일부 예들에서, 인트라 예측 유닛 (48) 은 예를 들어 개별적인 인코딩 패스들 동안 여러 인트라 예측 모드들을 사용하여 현재의 블록을 인코딩할 수도 있고, 인트라 예측 유닛 (48) (또는 일부 예들에서 모드 선택 유닛) 은 테스트된 모드들로부터 사용할 적당한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측 유닛 (48) 은 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중에서 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다. 레이트 왜곡 분석은 일반적으로 인코딩된 블록과 그 인코딩된 블록을 생성하기 의해 인코딩되었던 오리지날, 인코딩되지 않은 블록 사이의 왜곡 (또는 에러) 의 양 뿐아니라, 그 인코딩된 블록을 생성하기 위해 사용되는 비트 레이트 (즉, 비트들의 수) 를 결정한다. 인트라 예측 유닛 (48) 은 어느 인트라 예측 모드가 블록에 대한 최선의 레이트 왜곡 값을 나타내는지를 결정하기 위해 여러 인코딩된 블록들에 대한 왜곡들 및 레이트들로부터 비 (ratio) 들을 계산할 수도 있다.
임의의 경우에, 블록에 대한 인트라 예측 모드를 선택한 후에, 인트라 예측 유닛 (48) 은 엔트로피 인코딩 유닛 (56) 으로 블록에 대한 선택된 인트라 예측 모드를 나타내는 정보를 제공할 수도 있다. 엔트로피 인코딩 유닛 (56) 은 선택된 인트라 예측 모드를 나타내는 정보를 인코딩할 수도 있다. 비디오 인코더 (20) 는 여러 블록들에 대한 인코딩 콘텍스트 (context) 들의 정의들, 및 그 콘텍스트들 각각에 대해 사용할 가장 가능성있는 인트라 예측 모드, 인트라 예측 모드 인덱스 테이블, 및 변경된 인트라 예측 모드 인덱스 테이블의 표시들을, 복수의 인트라 예측 모드 인덱스 테이블들 및 복수의 변경된 인트라 예측 모드 인덱스 테이블들 (코드워드 맵핑 테이블들로서도 지칭됨) 을 포함할 수도 있는 송신된 비트스트림 구성 데이터에 포함시킬 수도 있다.
예측 프로세싱 유닛 (42) 이 인터 예측 또는 인트라 예측을 통해 현재의 비디오 블록에 대한 예측 블록을 생성한 후, 비디오 인코더 (20) 는 현재의 비디오 블록으로부터 예측 블록을 감산함으로써 레지듀얼 비디오 블록을 형성한다. 레지듀얼 블록 내의 레지듀얼 비디오 데이터는 하나 이상의 TU 들 내에 포함되고, 변환 프로세싱 유닛 (52) 에 적용될 수도 있다. 변환 프로세싱 유닛 (52) 은 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 사용하여 레지듀얼 비디오 데이터를 레지듀얼 변환 계수들로 변환한다. 변환 프로세싱 유닛 (52) 은 화소 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 레지듀얼 비디오 데이터를 변환할 수도 있다.
변환 프로세싱 유닛 (52) 은 결과의 변환 계수들을 양자화 프로세싱 유닛 (54) 으로 전송할 수도 있다. 양자화 프로세싱 유닛 (54) 은 비트 레이트를 더욱 감소시키기 위해 변환 계수들을 양자화한다. 양자화 프로세스는 그 계수들의 일부 또는 전부와 연관된 비트 심도를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 변경될 수도 있다. 일부 예들에서, 양자화 프로세싱 유닛 (54) 은 그 후 양자화된 변환 계수들을 포함하는 매트릭스의 스캔을 수행할 수도 있다. 대안적으로, 엔트로피 인코딩 유닛 (56) 이 그 스캔을 수행할 수도 있다.
양자화에 후속하여, 엔트로피 인코딩 유닛 (56) 은 양자화된 변환 계수들을 인코딩한다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 콘텍스트 적응형 가변 길이 코딩 (CAVLC), 콘텍스트 적응형 이진 산술 코딩 (CABAC), 신택스 기반 콘텍스트 적응형 이진 산술 코딩 (SBAC), 확률 인터벌 파티셔닝 엔트로피 (PIPE) 코딩 또는 다른 엔트로피 인코딩 방법론 또는 기법을 수행할 수도 있다. 엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 인코딩에 후속하여, 인코딩된 비트스트림은 비디오 디코더 (30) 로 송신되고, 비디오 디코더 (30) 에 의한 이후의 송신 또는 취출을 위해 아카이브될 수도 있다. 엔트로피 인코딩 유닛 (56) 은 또한 코딩되고 있는 현재의 비디오 슬라이스에 대한 모션 벡터들 및 다른 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다.
역양자화 프로세싱 유닛 (58) 및 역변환 프로세싱 유닛 (60) 은 참조 화상의 참조 블록으로서 이후에 사용을 위해 화소 도메인에서 레지듀얼 블록을 재구성하기 위해, 각각 역양자화 및 역변환을 적용한다. 모션 보상 유닛 (46) 은 참조 화상 리스트들 중 하나 내의 참조 화상들 중 하나의 예측 블록에 레지듀얼 블록을 가산함으로써 참조 블록을 계산할 수도 있다. 모션 보상 유닛 (46) 은 또한 모션 추정에서 사용하기 위한 서브 인티저 화소값들을 계산하기 위해 재구성된 레지듀얼 블록에 하나 이상의 내삽 필터들을 적용할 수도 있다. 합산기 (62) 는 참조 화상 메모리 (64) 에의 저장을 위한 참조 블록을 생성하기 위해 모션 보상 유닛 (46) 에 의해 생성된 모션 보상된 예측 블록에 재구성된 레지듀얼 블록을 가산한다. 참조 블록은 후속하는 비디오 프레임 또는 화상 내의 블록을 인터 예측하기 위해 참조 블록으로서 모션 추정 유닛 (44) 및 모션 보상 유닛 (46) 에 의해 사용될 수도 있다.
이러한 방식으로, 비디오 인코더 (20) 는 본 개시에 기술된 하나 이상의 예시의 기법들을 구현하도록 구성되는 비디오 인코더의 예이다. 예를 들어, 예측 프로세싱 유닛 (42) 은 다른 리스트로부터 리스트에 대한 가중 예측 파라미터들을 결정하는 예시의 기법들을 구현하도록 구성될 수도 있다. 일부 예들에서, 예측 프로세싱 유닛 (42) 이외의 유닛이 상술된 예들을 구현할 수도 있다. 일부 예들에서는, 비디오 인코더 (20) 의 하나 이상의 다른 유닛들과 함께 예측 프로세싱 유닛 (42) 이 상술된 예들을 구현할 수도 있다. 일부 예들에서, (도 3 에 도시되지 않은) 비디오 인코더 (20) 의 프로세서 또는 유닛이, 단독으로 또는 비디오 인코더 (20) 의 다른 유닛들과 함께, 상술된 예들을 구현할 수도 있다.
도 4 는 본 개시에 기술된 기법들을 구현할 수도 있는 비디오 디코더의 예를 도시하는 블록도이다. 예를 들어, 비디오 디코더 (30) 는 인터 예측 디코딩 또는 인트라 예측 디코딩을 수행할 수도 있다. 도 4 는 비디오 디코더 (30) 를 도시한다. 도 4 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (70), 예측 프로세싱 유닛 (71), 역양자화 프로세싱 유닛 (76), 역변환 프로세싱 유닛 (78), 합산기 (80), 및 참조 화상 메모리 (82) 를 포함한다. 예측 프로세싱 유닛 (71) 은 모션 보상 유닛 (72) 및 인트라 예측 유닛 (74) 을 포함한다. 일부 예들에서, 비디오 디코더 (30) 는 도 3 의 비디오 인코더 (20) 에 대해 기술된 인코딩 패스 (pass) 에 대해 일반적으로 역인 디코딩 패스를 수행할 수도 있다. 참조 화상 메모리 (82) 는 디코딩된 화상 버퍼 (DPB) 의 하나의 예이다.
디코딩 프로세스 동안, 비디오 디코더 (30) 는 비디오 인코더 (20) 로부터 인코딩된 비디오 슬라이스의 비디오 블록들 및 연관된 신택스 엘리먼트들을 나타내는 인코딩된 비디오 비트스트림을 수신한다. 비디오 디코더 (30) 의 엔트로피 디코딩 유닛 (70) 은 양자화된 계수들, 모션 벡터들 및 다른 신택스 엘리먼트들을 생성하기 위해 비트스트림을 엔트로피 디코딩한다. 엔트로피 디코딩 유닛 (70) 은 예측 프로세싱 유닛 (71) 으로 모션 벡터들 및 다른 신택스 엘리먼트들을 포워드한다. 비디오 디코더 (30) 는 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨에서 신택스 엘리먼트들을 수신할 수도 있다.
비디오 슬라이스가 인트라 코딩된 (I) 슬라이스로서 코딩되는 경우, 예측 프로세싱 유닛 (71) 의 인트라 예측 유닛 (74) 은 시그널링된 인트라 예측 모드 및 현재의 프레임 또는 화상의 이전에 디코딩된 블록들로부터의 데이터에 기초하여 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 생성할 수도 있다. 비디오 프레임이 인터 코딩된 (즉, B 또는 P) 슬라이스로서 코딩되는 경우, 예측 프로세싱 유닛 (71) 의 모션 보상 유닛 (72) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 생성한다. 예측 블록들은 참조 화상 리스트들 중 하나 내의 참조 화상들 중 하나로부터 생성될 수도 있다. 비디오 디코더 (30) 는 참조 화상 메모리 (82) 에 저장된 참조 화상들에 기초하여 디폴트 구성 기법들을 사용하여 참조 화상 리스트들 (RefPicList0 및 RefPicList1) 을 구성할 수도 있다.
모션 보상 유닛 (72) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 파싱함으로써 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 디코딩되는 현재의 비디오 블록에 대한 예측 블록들을 생성하기 위해 그 예측 정보를 사용한다. 예를 들어, 모션 보상 유닛 (72) 은 비디오 슬라이스의 비디오 블록들을 코딩하는데 사용되는 예측 모드 (예를 들어, 인트라 예측 또는 인터 예측), 인터 예측 슬라이스 타입 (예를 들어, B 슬라이스 또는 P 슬라이스), 슬라이스에 대한 참조 화상 리스트들 중 하나 이상에 대한 구성 (construction) 정보, 슬라이스의 각 인터 코딩된 비디오 블록에 대한 모션 벡터들, 슬라이스의 각 인터 코딩된 비디오 블록에 대한 인터 예측 상태, 및 현재의 비디오 슬라이스 내의 비디오 블록들을 디코딩하는 다른 정보를 결정하기 위해 수신된 신택스 엘리먼트들 중 일부를 사용한다.
모션 보상 유닛 (72) 은 또한 내삽 필터들에 기초하여 내삽을 수행할 수도 있다. 모션 보상 유닛 (72) 은 참조 블록들의 서브 인티저 화소들에 대한 내삽된 값들을 계산하기 위해 비디오 블록들의 인코딩 동안 비디오 인코더 (20) 에 의해 사용된 바와 같은 내삽 필터들을 사용할 수도 있다. 이 경우에, 모션 보상 유닛 (72) 은 수신된 신택스 엘리먼트들로부터 비디오 인코더 (20) 에 의해 사용되는 내삽 필터들을 결정하고, 예측 블록들을 생성하기 위해 내삽 필터들을 사용할 수도 있다.
역양자화 프로세싱 유닛 (76) 은 비트스트림에서 제공되고 엔트로피 디코딩 유닛 (70) 에 의해 디코딩된 양자화된 변환 계수들을 역양자화 (즉, 탈양자화) 한다. 역양자화 프로세스는 양자화의 정도 및, 마찬가지로 적용되어야 하는 역양자화의 정도를 결정하기 위해 비디오 슬라이스 내의 각 비디오 블록에 대한 비디오 인코더 (20) 에 의해 계산된 양자화 파라미터의 사용을 포함할 수도 있다. 역변환 프로세싱 유닛 (78) 은 화소 도메인 내의 레지듀얼 블록들을 생성하기 위해 변환 계수들에 역변환 (예를 들어, 역 DCT, 역 인티저 변환, 또는 개념적으로 유사한 역변환 프로세스) 을 적용한다.
모션 보상 유닛 (72) 이 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재의 비디오 블록에 대한 예측 블록들을 생성한 후, 비디오 디코더 (30) 는 모션 보상 유닛 (72) 에 의해 생성된 대응하는 예측 블록들과 역변환 프로세싱 유닛 (78) 으로부터의 레지듀얼 블록들을 합산함으로써 디코딩된 비디오 블록을 형성한다. 합산기 (80) 는 이러한 합산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 원한다면, 디블록킹 필터가 또한 블록키니스 아티팩트들을 제거하기 위해 디코딩된 블록들을 필터링하도록 적용될 수도 있다. (코딩 루프 내에서 또는 코딩 루프 이후에) 다른 루프 필터들이 또한 화소 천이들을 평활화하거나 그렇지 않으면 비디오 품질을 향상하기 위해 사용될 수도 있다. 주어진 화상 내의 디코딩된 비디오 블록들은 그 후 후속하는 모션 보상을 위해 사용되는 참조 화상들을 저장하는 참조 화상 메모리 (82) 에 저장된다. 참조 화상 메모리 (82) 는 또한 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상에 나중의 제시를 위해 디코딩된 비디오를 저장한다.
이러한 방식으로, 비디오 디코더 (30) 는 본 개시에 기술된 하나 이상의 예시의 기법들을 구현하도록 구성되는 비디오 디코더의 예이다. 예를 들어, 예측 프로세싱 유닛 (71) 은 다른 리스트로부터 리스트에 대한 가중 예측 파라미터들을 결정하기 위한 예시의 기법들을 구현하도록 구성될 수도 있다. 일부 예들에서, 예측 프로세싱 유닛 (71) 이외이 유닛이 상술된 예들을 구현할 수도 있다. 일부 예들에서는, 비디오 디코더 (30) 의 하나 이상의 다른 유닛들과 함께 예측 프로세싱 유닛 (71) 이 상술된 예들을 구현할 수도 있다. 일부 또 다른 예들에서는, 비디오 디코더 (30) 의 프로세서 또는 유닛 (도 4 에 도시되지 않음) 이, 단독으로 또는 비디오 디코더 (30) 의 다른 유닛들과 함께, 상술된 예들을 구현할 수도 있다.
도 5 는 본 개시에 기술된 하나 이상의 기법들에 따른 비디오 인코더의 예시의 동작을 도시하는 흐름도이다. 비디오 인코더에 대한 도 5 에 도시된 기법들은 비디오 인코더 (20) 또는 다른 타입들의 비디오 인코더들에 적용가능할 수도 있다.
비디오 인코더는 제 1 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다 (90). 비디오 인코더는 제 1 리스트의 가중 예측 파라미터들에만 기초하여 제 2 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다 (92). 비디오 인코더는 제 1 및 제 2 리스트들에 대한 가중 예측 파라미터들에 기초하여 블록을 인터 예측 인코딩할 수도 있다 (94). 비디오 인코더는 제 1 리스트에 대해서만 가중 예측 파라미터들을 인코딩할 수도 있다 (96). 비디오 인코더는 제 1 리스트에 대해서만 인코딩된 가중 예측 파라미터들을 시그널링할 수도 있다.
도 6 은 본 개시에 기술된 하나 이상의 기법들에 따른 비디오 디코더의 예시의 동작을 도시하는 흐름도이다. 비디오 디코더에 대한 도 6 에 도시된 기법들은 비디오 디코더 (30) 또는 다른 타입들의 비디오 디코더들에 적용가능할 수도 있다.
비디오 디코더는 코딩된 비트스트림으로부터 제 1 리스트에 대해서만 가중 예측 파라미터들을 수신할 수도 있다 (100). 비디오 디코더는 제 1 리스트에 대한 가중 예측 파라미터들을 디코딩할 수도 있다 (102). 비디오 디코더는 제 1 리스트에 대한 가중 예측 파라미터들에 기초하여 제 2 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다 (104). 비디오 디코더는 디코딩된 가중 예측 파라미터들 및 결정된 가중 예측 파라미터들 중 하나 이상에 적어도 기초하여 현재의 화상 내의 블록을 인터 예측 디코딩할 수도 있다 (106).
도 5 또는 도 6 에 도시된 예에서, 제 1 리스트는 현재의 화상 내의 하나 이상의 블록들을 인터 예측하기 위해 사용되는 참조 화상들을 포함하고, 제 2 리스트는 현재의 화상 내의 하나 이상의 블록들을 인터 예측하기 위해 사용되는 참조 화상들을 포함한다. 제 1 리스트 및 제 2 리스트의 예들은 RefPicListC, RefPicList0, 및 RefPicList1 을 포함하고, 여기서 제 1 리스트 및 제 2 리스트는 상이하다.
일부 예들에서, 비디오 코더 (예를 들어, 비디오 인코더 또는 비디오 디코더) 는 제 1 리스트에 대한 가중 예측 파라미터들에만 기초하여 제 2 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다. 일부 예들에서, 비디오 코더는 제 2 리스트에 대한 가중 예측 파라미터들을 코딩하지 않고 제 2 리스트에 대한 가중 예측 파라미터들을 결정할 수도 있다.
비디오 코더는 또한 제 1 리스트 및 제 2 리스트가 실질적으로 등가 (즉, 동일 또는 제 1 리스트가 제 2 리스트보다 긴 경우, 및 제 1 리스트의 제 1 의 N 개의 엔트리들이 제 2 리스트의 제 1 의 N 개의 엔트리들과 동일한 경우) 인지 여부를 나타내는 신택스 엘리먼트를 코딩할 수도 있다. 이러한 예에서, 비디오 코더는 신택스 엘리먼트가 제 1 리스트 및 제 2 리스트가 실질적으로 등가라고 나타내는 경우 제 1 리스트에 기초하여 제 2 리스트에 대한 가중 예측 파라미터를 결정할 수도 있다.
하나 이상의 예들에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장 및 송신되고, 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는 데이터 저장 매체와 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체, 또는 예를 들어 통신 프로토콜에 따라 한 장소로부터 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호나 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시에 기술된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
제한이 아닌 예시로써, 그러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 기억장치, 자기 디스크 기억장치, 또는 다른 자기적 저장 디바이스들, 플래시 메모리, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결은 적절하게 컴퓨터 판독가능 매체로 명명된다. 예를 들어, 명령들이 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 라인 (DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 라인 (DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체가 연결들, 반송파들, 신호들, 또는 다른 트랜지언트 매체를 포함하지 않고, 대신에 비일시적 유형의 저장 매체에 지향되는 것이 이해되어야 한다. 여기서 사용된 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크, 레이저 디스크, 광디스크, DVD, 플로피 디스크, 및 블루레이 디스크를 포함하고, 여기서 디스크 (disk) 는 통상 자기적으로 데이터를 재생하는 반면, 디스크 (disc) 는 레이저로 광학적으로 데이터를 재생한다. 상술한 것들의 조합들이 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSPs), 범용 마이크로프로세서들, 주문형 반도체 (ASIC) 들, 필드 프로그래머블 로직 어레이들 (FPGAs), 또는 다른 등가의 집적되거나 이산의 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 이에 따라, 여기서 사용된 용어 "프로세서" 는 여기에 기술된 기법들의 구현에 적합한 임의의 상술된 구조 또는 임의의 다른 구조를 지칭할 수도 있다. 또, 일부 양태들에서, 여기에 기술된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공되거나, 결합된 코덱에 포함될 수도 있다. 또한, 그 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들로 완전히 구현될 수 있을 것이다.
본 개시의 기법들은 무선 핸드셋, 집적회로 (IC) 또는 IC 들의 세트 (예를 들어, 칩셋) 를 포함하여 매우 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 여러 컴포넌트들, 모듈들, 또는 유닛들은 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시에 기술되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 필요로하지는 않는다. 오히려, 상술된 바와 같이, 여러 유닛들이 코덱 하드웨어 유닛에서 결합되거나, 적합한 소프트웨어 및/또는 펌웨어와 결합하여 상술된 하나 이상의 프로세서들을 포함하여 상호동작가능한 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
여러 예들이 기술되었다. 이들 및 다른 예들은 다음의 청구범위의 범위 내에 있다.

Claims (28)

  1. 비디오 데이터를 코딩하는 방법으로서,
    제 1 리스트 및 제 2 리스트를 구성하는 단계로서, 상기 제 1 리스트 및 상기 제 2 리스트 각각은 현재의 화상 내의 상기 비디오 데이터의 하나 이상의 블록들을 인터 예측하기 위해 사용되는 참조 화상들을 포함하는, 상기 구성하는 단계;
    상기 제 1 리스트에 대한 가중 예측 파라미터들을 코딩하는 단계로서, 상기 가중 예측 파라미터들은 상기 제 1 리스트에서의 각각의 참조 화상들 내의 화소 값들이 상기 현재의 화상 내의 블록을 인터 예측하기 위해 스케일링되어야 하는 스케일링 팩터들을 정의하는, 상기 가중 예측 파라미터들을 코딩하는 단계;
    상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 신택스 엘리먼트를 코딩하는 단계;
    상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 상기 신택스 엘리먼트에 기초하여, 그리고 상기 제 1 리스트에 대한 가중 예측 파라미터들에 기초하여, 상기 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 단계로서, 상기 제 2 리스트는 상기 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 결정하는 단계; 및
    코딩되는 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들 및 상기 제 2 리스트에 대한 상기 결정된 가중 예측 파라미터들 중 하나 이상에 적어도 기초하여 상기 현재 화상 내의 상기 블록을 인터 예측하는 단계를 포함하는, 비디오 데이터를 코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 단계는, 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들에 기초하여, 그리고 다른 가중 예측 파라미터들에는 기초하지 않고, 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 결정하는 단계를 포함하는, 비디오 데이터를 코딩하는 방법.
  3. 제 1 항에 있어서,
    상기 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 단계는 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 코딩하지 않고 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 결정하는 단계를 포함하는, 비디오 데이터를 코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 제 1 리스트는 결합된 참조 화상 리스트 (RefPicListC), 제 1 참조 화상 리스트 (RefPicList0), 또는 제 2 참조 화상 리스트 (RefPicList1) 중 하나를 포함하고, 상기 제 2 리스트는 상기 제 1 리스트와 상이한, 비디오 데이터를 코딩하는 방법.
  5. 제 1 항에 있어서,
    상기 가중 예측 파라미터들을 코딩하는 단계는 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들을 디코딩하는 단계이고;
    상기 신택스 엘리먼트를 코딩하는 단계는 상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 상기 신택스 엘리먼트를 디코딩하는 단계이며;
    상기 인터 예측하는 단계는, 상기 제 1 리스트에 대한 상기 디코딩된 가중 예측 파라미터들 및 상기 제 2 리스트에 대한 상기 결정된 가중 예측 파라미터들 중 하나 이상에 적어도 기초하여 상기 현재 화상 내의 상기 블록을 인터 예측 디코딩하는 단계인, 비디오 데이터를 코딩하는 방법.
  6. 제 1 항에 있어서,
    상기 가중 예측 파라미터들을 코딩하는 단계는 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들을 인코딩하는 단계이고;
    상기 신택스 엘리먼트를 코딩하는 단계는 상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 상기 신택스 엘리먼트를 인코딩하는 단계이며;
    상기 인터 예측하는 단계는, 인코딩되는 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들 및 상기 제 2 리스트에 대한 상기 결정된 가중 예측 파라미터들 중 하나 이상에 적어도 기초하여 상기 현재 화상 내의 상기 블록을 인터 예측 인코딩하는 단계인, 비디오 데이터를 코딩하는 방법.
  7. 제 1 항에 있어서,
    상기 방법은 비디오 코딩 디바이스를 포함하는 무선 통신 디바이스 상에서 실행가능하며,
    상기 무선 통신 디바이스는,
    상기 비디오 코딩 디바이스 내에 배치되어 상기 비디오 데이터를 저장하는 메모리;
    상기 제 1 리스트 및 상기 제 2 리스트를 구성하기 위해 상기 메모리로부터 상기 비디오 데이터를 취출하도록 구성된 프로세서로서, 상기 프로세서는 또한 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들을 코딩하고, 상기 신택스 엘리먼트를 코딩하며, 상기 제 2 리스트에 대한 상기 가중 예측 파라미터들을 결정하고, 상기 현재의 화상 내의 상기 블록을 인터 예측하도록 구성되는, 상기 프로세서; 및
    상기 비디오 데이터를 송신하거나 상기 비디오 데이터를 수신하는 것 중 하나를 하도록 구성된 송신기 또는 수신기 중 적어도 하나를 포함하는, 비디오 데이터를 코딩하는 방법.
  8. 제 7 항에 있어서,
    상기 무선 통신 디바이스는 셀룰러 전화이고,
    상기 비디오 데이터는 각각 상기 송신기 또는 상기 수신기 중 상기 적어도 하나에 의해 송신되거나 수신되고, 셀룰러 통신 표준에 따라 변조되는, 비디오 데이터를 코딩하는 방법.
  9. 비디오 데이터를 코딩하는 디바이스로서,
    상기 비디오 데이터를 저장하는 메모리; 및
    비디오 코더를 포함하고,
    상기 비디오 코더는,
    제 1 리스트 및 제 2 리스트를 구성하는 것으로서, 상기 제 1 리스트 및 상기 제 2 리스트 각각은 현재의 화상 내의 상기 비디오 데이터의 하나 이상의 블록들을 인터 예측하기 위해 사용되는 참조 화상들을 포함하는, 상기 구성하고;
    상기 제 1 리스트에 대한 가중 예측 파라미터들을 코딩하는 것으로서, 상기 가중 예측 파라미터들은 상기 제 1 리스트에서의 각각의 참조 화상들 내의 화소 값들이 상기 현재의 화상 내의 블록을 인터 예측하기 위해 스케일링되어야 하는 스케일링 팩터들을 정의하는, 상기 가중 예측 파라미터들을 코딩하며;
    상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 신택스 엘리먼트를 코딩하고;
    상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 상기 신택스 엘리먼트에 기초하여, 그리고 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들에 기초하여, 상기 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 것으로서, 상기 제 2 리스트는 상기 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 결정하며;
    코딩되는 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들 및 상기 제 2 리스트에 대한 상기 결정된 가중 예측 파라미터들 중 하나 이상에 적어도 기초하여 상기 현재 화상 내의 상기 블록을 인터 예측하도록 구성된, 비디오 데이터를 코딩하는 디바이스.
  10. 제 9 항에 있어서,
    상기 제 2 리스트에 대한 상기 가중 예측 파라미터들을 결정하기 위해, 상기 비디오 코더는 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들에 기초하여, 그리고 다른 가중 예측 파라미터들에는 기초하지 않고, 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 결정하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  11. 제 9 항에 있어서,
    상기 제 2 리스트에 대한 상기 가중 예측 파라미터들을 결정하기 위해, 상기 비디오 코더는 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 가중 예측 파라미터들을 코딩하지 않고 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 결정하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  12. 제 9 항에 있어서,
    상기 제 1 리스트는 결합된 참조 화상 리스트 (RefPicListC), 제 1 참조 화상 리스트 (RefPicList0), 또는 제 2 참조 화상 리스트 (RefPicList1) 중 하나를 포함하고, 상기 제 2 리스트는 상기 제 1 리스트와 상이한, 비디오 데이터를 코딩하는 디바이스.
  13. 제 9 항에 있어서,
    상기 비디오 코더는 비디오 디코더를 포함하고,
    상기 비디오 디코더는,
    상기 제 1 리스트에 대한 상기 가중 예측 파라미터들을 디코딩하고;
    상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 상기 신택스 엘리먼트를 디코딩하며;
    상기 제 1 리스트에 대한 상기 가중 예측 파라미터들에 기초하여 상기 제 2 리스트에 대한 상기 가중 예측 파라미터들을 결정하고;
    상기 제 1 리스트에 대한 상기 디코딩된 가중 예측 파라미터들 및 상기 제 2 리스트에 대한 상기 결정된 가중 예측 파라미터들 중 상기 하나 이상에 적어도 기초하여 상기 현재 화상 내의 상기 블록을 인터 예측 디코딩하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  14. 제 9 항에 있어서,
    상기 비디오 코더는 비디오 인코더를 포함하고,
    상기 비디오 인코더는,
    상기 제 1 리스트에 대한 상기 가중 예측 파라미터들을 인코딩하고;
    상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 상기 신택스 엘리먼트를 인코딩하며;
    상기 제 1 리스트에 대한 상기 가중 예측 파라미터들에 기초하여 상기 제 2 리스트에 대한 상기 가중 예측 파라미터들을 결정하고;
    인코딩되는 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들 및 상기 제 2 리스트에 대한 상기 결정된 가중 예측 파라미터들 중 상기 하나 이상에 적어도 기초하여 상기 현재 화상 내의 상기 블록을 인터 예측 인코딩하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  15. 제 9 항에 있어서,
    상기 디바이스는,
    집적 회로;
    마이크로프로세서; 또는
    상기 비디오 코더를 포함하는 무선 디바이스
    중 하나를 포함하는, 비디오 데이터를 코딩하는 디바이스.
  16. 제 9 항에 있어서,
    상기 디바이스는 무선 통신 디바이스이고,
    상기 비디오 데이터를 송신하거나 상기 비디오 데이터를 수신하는 것 중 하나를 하도록 구성된 송신기 또는 수신기 중 적어도 하나를 더 포함하는, 비디오 데이터를 코딩하는 디바이스.
  17. 제 16 항에 있어서,
    상기 무선 통신 디바이스는 셀룰러 전화이고,
    상기 비디오 데이터는 각각 상기 송신기 또는 상기 수신기 중 상기 적어도 하나에 의해 송신되거나 수신되고, 셀룰러 통신 표준에 따라 변조되는, 비디오 데이터를 코딩하는 디바이스.
  18. 저장된 명령들을 갖는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 실행될 때, 비디오 코딩을 위한 디바이스의 하나 이상의 프로세서들로 하여금,
    제 1 리스트 및 제 2 리스트를 구성하게 하는 것로서, 상기 제 1 리스트 및 상기 제 2 리스트 각각은 현재의 화상 내의 하나 이상의 블록들을 인터 예측하기 위해 사용되는 참조 화상들을 포함하는, 상기 구성하게 하고;
    상기 제 1 리스트에 대한 가중 예측 파라미터들을 코딩하게 하는 것으로서, 상기 가중 예측 파라미터들은 상기 제 1 리스트에서의 각각의 참조 화상들 내의 화소 값들이 상기 현재의 화상 내의 블록을 인터 예측하기 위해 스케일링되어야 하는 스케일링 팩터들을 정의하는, 상기 가중 예측 파라미터들을 코딩하게 하며;
    상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 신택스 엘리먼트를 코딩하게 하고;
    상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 상기 신택스 엘리먼트에 기초하여, 그리고 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들에 기초하여, 상기 제 2 리스트에 대한 가중 예측 파라미터들을 결정하게 하는 것으로서, 상기 제 2 리스트는 상기 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 결정하게 하며;
    코딩되는 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들 및 상기 제 2 리스트에 대한 상기 결정된 가중 예측 파라미터들 중 하나 이상에 적어도 기초하여 상기 현재 화상 내의 상기 블록을 인터 예측하게 하는, 비일시적 컴퓨터 판독가능 저장 매체.
  19. 제 18 항에 있어서,
    상기 하나 이상의 프로세서들로 하여금 상기 제 2 리스트에 대한 상기 가중 예측 파라미터들을 결정하게 하는 상기 명령들은, 상기 하나 이상의 프로세서들로 하여금 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들에 기초하여, 그리고 다른 가중 예측 파라미터들에는 기초하지 않고, 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 결정하게 하는 명령들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  20. 제 18 항에 있어서,
    상기 하나 이상의 프로세서들로 하여금 상기 제 2 리스트에 대한 상기 가중 예측 파라미터들을 결정하게 하는 상기 명령들은, 상기 하나 이상의 프로세서들로 하여금 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 코딩하지 않고 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 결정하게 하는 명령들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  21. 비디오 데이터를 코딩하는 디바이스로서,
    제 1 리스트 및 제 2 리스트를 구성하는 수단으로서, 상기 제 1 리스트 및 상기 제 2 리스트 각각은 현재의 화상 내의 상기 비디오 데이터의 하나 이상의 블록들을 인터 예측하기 위해 사용되는 참조 화상들을 포함하는, 상기 구성하는 수단;
    상기 제 1 리스트에 대한 가중 예측 파라미터들을 코딩하는 수단으로서, 상기 가중 예측 파라미터들은 상기 제 1 리스트에서의 각각의 참조 화상들 내의 화소 값들이 상기 현재의 화상 내의 블록을 인터 예측하기 위해 스케일링되어야 하는 스케일링 팩터들을 정의하는, 상기 가중 예측 파라미터들을 코딩하는 수단;
    상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 신택스 엘리먼트를 코딩하는 수단;
    상기 제 1 리스트가 상기 제 2 리스트보다 더 길다는 것과 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들이 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들과 동일하다는 것을 나타내는 상기 신택스 엘리먼트에 기초하여, 그리고 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들에 기초하여, 상기 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 수단으로서, 상기 제 2 리스트는 상기 현재 화상 내의 하나 이상의 블록들을 인터 예측하는데 사용되는 참조 화상들을 포함하는, 상기 결정하는 수단; 및
    코딩되는 상기 제 1 리스트에 대한 상기 가중 예측 파라미터들 및 상기 제 2 리스트에 대한 상기 결정된 가중 예측 파라미터들 중 하나 이상에 적어도 기초하여 상기 현재 화상 내의 상기 블록을 인터 예측하는 수단을 포함하는, 비디오 데이터를 코딩하는 디바이스.
  22. 제 21 항에 있어서,
    상기 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 수단은, 상기 제 1 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들에 기초하여, 그리고 다른 가중 예측 파라미터들에는 기초하지 않고, 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 결정하는 수단을 포함하는, 비디오 데이터를 코딩하는 디바이스.
  23. 제 21 항에 있어서,
    상기 제 2 리스트에 대한 가중 예측 파라미터들을 결정하는 수단은, 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 코딩하지 않고 상기 제 2 리스트의 상기 제 1 의 N 개의 엔트리들에 대한 상기 가중 예측 파라미터들을 결정하는 수단을 포함하는, 비디오 데이터를 코딩하는 디바이스.
  24. 비디오 데이터를 코딩하는 방법으로서,
    제 1 참조 화상 리스트 및 제 2 참조 화상 리스트의 제 1 의 N 개의 엘리먼트들이 동일하다는 것을 나타내는 제 1 신택스 엘리먼트를 적어도 코딩하는 단계;
    동일한 상기 제 1 의 N 개의 엘리먼트들에 기초하여, 상기 제 1 참조 화상 리스트의 사이즈 및 상기 제 2 참조 화상 리스트의 사이즈를 나타내는 상기 비디오 데이터의 정보를 코딩하는 단계;
    상기 제 1 참조 화상 리스트의 사이즈가 상기 제 2 참조 화상 리스트의 사이즈보다 큰 것에 기초하여,
    상기 제 1 참조 화상 리스트를 구성하는 단계, 및
    상기 제 1 참조 화상 리스트로부터 상기 제 2 참조 화상 리스트를 도출하는 단계; 및
    상기 제 2 참조 화상 리스트의 사이즈가 상기 제 1 참조 화상 리스트의 사이즈보다 큰 것에 기초하여,
    상기 제 2 참조 화상 리스트를 구성하는 단계, 및
    상기 제 2 참조 화상 리스트로부터 상기 제 1 참조 화상 리스트를 도출하는 단계를 포함하는, 비디오 데이터를 코딩하는 방법.
  25. 제 24 항에 있어서,
    상기 제 1 의 N 개의 엘리먼트들이 동일한 것 및 상기 제 1 참조 화상 리스트의 사이즈가 상기 제 2 참조 화상 리스트의 사이즈보다 큰 것에 기초하여,
    상기 제 1 참조 화상 리스트에서 식별된 참조 화상들에 대한 가중 예측 파라미터들을 코딩하는 단계로서, 상기 제 1 참조 화상 리스트에서 식별된 상기 참조 화상들에 대한 상기 가중 예측 파라미터들은 상기 제 1 참조 화상 리스트에서의 각각의 참조 화상들 내의 화소 값들이 스케일링되어야 하는 스케일링 팩터들을 정의하는, 상기 가중 예측 파라미터들을 코딩하는 단계;
    상기 제 2 참조 화상 리스트에서 식별된 참조 화상들에 대한 가중 예측 파라미터들을 코딩하지 않는 단계; 및
    상기 제 1 참조 화상 리스트에서 식별된 제 1 의 N 개의 참조 화상들에 대한 상기 가중 예측 파라미터들로부터 상기 제 2 참조 화상 리스트에서 식별된 상기 참조 화상들에 대한 상기 가중 예측 파라미터들을 도출하는 단계; 및
    상기 제 1 의 N 개의 엘리먼트들이 동일한 것 및 상기 제 2 참조 화상 리스트의 사이즈가 상기 제 1 참조 화상 리스트의 사이즈보다 큰 것에 기초하여,
    상기 제 2 참조 화상 리스트에서 식별된 참조 화상들에 대한 가중 예측 파라미터들을 코딩하는 단계로서, 상기 제 2 참조 화상 리스트에서 식별된 상기 참조 화상들에 대한 상기 가중 예측 파라미터들은 상기 제 2 참조 화상 리스트에서의 각각의 참조 화상들 내의 화소 값들이 스케일링되어야 하는 스케일링 팩터들을 정의하는, 상기 가중 예측 파라미터들을 코딩하는 단계;
    상기 제 1 참조 화상 리스트에서 식별된 참조 화상들에 대한 가중 예측 파라미터들을 코딩하지 않는 단계; 및
    상기 제 2 참조 화상 리스트에서 식별된 제 1 의 N 개의 참조 화상들에 대한 상기 가중 예측 파라미터들로부터 상기 제 1 참조 화상 리스트에서 식별된 상기 참조 화상들에 대한 상기 가중 예측 파라미터들을 도출하는 단계를 더 포함하는, 비디오 데이터를 코딩하는 방법.
  26. 삭제
  27. 삭제
  28. 삭제
KR1020147030729A 2012-04-03 2013-03-15 가중 예측 파라미터 코딩 KR101663397B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261619856P 2012-04-03 2012-04-03
US61/619,856 2012-04-03
US13/830,484 US9143781B2 (en) 2012-04-03 2013-03-14 Weighted prediction parameter coding
US13/830,484 2013-03-14
PCT/US2013/032383 WO2013151765A1 (en) 2012-04-03 2013-03-15 Weighted prediction parameter coding

Publications (2)

Publication Number Publication Date
KR20150003249A KR20150003249A (ko) 2015-01-08
KR101663397B1 true KR101663397B1 (ko) 2016-10-06

Family

ID=49235008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147030729A KR101663397B1 (ko) 2012-04-03 2013-03-15 가중 예측 파라미터 코딩

Country Status (5)

Country Link
US (1) US9143781B2 (ko)
EP (1) EP2834977B1 (ko)
KR (1) KR101663397B1 (ko)
CN (1) CN104272742B (ko)
WO (1) WO2013151765A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018236133A1 (ko) * 2017-06-19 2018-12-27 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019045391A1 (ko) * 2017-08-29 2019-03-07 주식회사 케이티 비디오 신호 처리 방법 및 장치

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103283237B (zh) * 2010-12-22 2017-03-22 Lg电子株式会社 帧内预测方法和使用该方法的设备
IN2014CN02377A (ko) 2011-09-29 2015-06-19 Sharp Kk
DK2763414T3 (da) 2011-09-29 2020-11-30 Sharp Kk Billedafkodningsindretning og fremgangsmåde til billedafkodning til udførelse af konvertering af bi-forudsigelse til uni-forudsigelse
TW201408071A (zh) * 2012-04-09 2014-02-16 Vid Scale Inc 視訊編碼加權預測參數傳訊
US9654775B2 (en) * 2014-01-09 2017-05-16 Vixs Systems, Inc. Video encoder with weighted prediction and methods for use therewith
GB2524726B (en) * 2014-03-25 2018-05-23 Canon Kk Image data encapsulation with tile support
WO2016200984A1 (en) 2015-06-08 2016-12-15 Vid Scale, Inc. Intra block copy mode for screen content coding
US10091506B2 (en) * 2015-06-11 2018-10-02 Sony Corporation Data-charge phase data compression architecture
US11190770B2 (en) 2016-07-05 2021-11-30 Kt Corporation Method and apparatus for processing video signal
WO2018037919A1 (ja) * 2016-08-26 2018-03-01 シャープ株式会社 画像復号装置、画像符号化装置、画像復号方法、および画像符号化方法
WO2018056763A1 (ko) * 2016-09-23 2018-03-29 엘지전자(주) 템플릿 기반 가중치를 이용하여 예측을 수행하는 방법 및 장치
EP3422722A1 (en) 2017-06-30 2019-01-02 Thomson Licensing Method for encoding a matrix of image views obtained from data acquired by a plenoptic camera
JP7242839B2 (ja) * 2018-09-12 2023-03-20 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオエンコーダ、ビデオデコーダ、および対応物
EP4022920A4 (en) * 2019-09-06 2022-11-16 Huawei Technologies Co., Ltd. HIGH LEVEL SIGNALING METHOD AND APPARATUS FOR WEIGHTED PREDICTION
WO2021134209A1 (en) * 2019-12-30 2021-07-08 Huawei Technologies Co., Ltd. Method and apparatus of harmonizing weighted prediction with non-rectangular merge modes

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004039083A1 (ja) * 2002-04-26 2004-05-06 Ntt Docomo, Inc. 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム
ZA200800248B (en) 2005-07-21 2009-08-26 Thomson Licensing Method and apparatus for weighted prediction for scalable video coding
EP1806930A1 (en) * 2006-01-10 2007-07-11 Thomson Licensing Method and apparatus for constructing reference picture lists for scalable video
EP1980112B1 (en) * 2006-02-02 2012-10-24 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
WO2007092192A2 (en) * 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for motion estimation using combined reference bi-prediction
MX337935B (es) 2006-10-16 2016-03-29 Nokia Technologies Oy Sistema y metodo para implementar una administracion eficiente de memoria intermedia decodificada en codificacion de video de vistas multiples.
US8270483B1 (en) 2008-01-18 2012-09-18 Maxim Integrated Products, Inc. Method and apparatus for applying accurate parameter estimation and efficient fade detection in weighted prediction for video compression
WO2011019384A1 (en) 2009-08-11 2011-02-17 Thomson Licensing Methods and apparatus for generalized weighted prediction
BR112013005122A2 (pt) 2010-09-03 2016-05-03 Dolby Lab Licensing Corp método e sistema para compensação e transição de iluminação para codificação e processamento de vídeo
US9066102B2 (en) 2010-11-17 2015-06-23 Qualcomm Incorporated Reference picture list construction for generalized P/B frames in video coding
CN107105270B (zh) * 2010-12-13 2020-04-24 韩国电子通信研究院 帧间预测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BROSS B et al: "High Efficiency Video Coding (HEVC) text specification Working Draft 5", JCT-VC Meeting;GENEVA; no. JCTVC-G1103.
HENDRY et al: "Comments on Reference Picture Lists Combination Syntax", JCT-VC Meeting; SAN JOSE, no.JCTVC-H0504.

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018236133A1 (ko) * 2017-06-19 2018-12-27 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US11006109B2 (en) 2017-06-19 2021-05-11 Lg Electronics Inc. Intra prediction mode based image processing method, and apparatus therefor
WO2019045391A1 (ko) * 2017-08-29 2019-03-07 주식회사 케이티 비디오 신호 처리 방법 및 장치
US11490108B2 (en) 2017-08-29 2022-11-01 Kt Corporation Method of decoding/encoding a video signal with sub-block based motion vector derivation

Also Published As

Publication number Publication date
US20130259130A1 (en) 2013-10-03
CN104272742B (zh) 2017-10-31
CN104272742A (zh) 2015-01-07
EP2834977A1 (en) 2015-02-11
WO2013151765A1 (en) 2013-10-10
US9143781B2 (en) 2015-09-22
KR20150003249A (ko) 2015-01-08
EP2834977B1 (en) 2020-03-11

Similar Documents

Publication Publication Date Title
KR101663397B1 (ko) 가중 예측 파라미터 코딩
JP6636564B2 (ja) ビデオコーディングにおける4:2:2サンプルフォーマットのためのコード化ブロックフラグ(cbf)コーディング
CN110326298B (zh) 译码mcts嵌套式sei消息
KR101613858B1 (ko) 화상 구획화 체계들에 대한 통합된 설계
KR102210792B1 (ko) 잔차 차동 펄스 코드 변조 (dpcm) 확장들 및 변환 스킵, 회전 및 스캔들과의 조화
KR102124225B1 (ko) 타일들 및 파면 병렬 프로세싱
JP5805861B2 (ja) 隣接モードを使用したビデオコーディングのための拡張イントラ予測モードシグナリング
CA2867764C (en) Grouping bypass coded syntax elements in video coding
KR101619004B1 (ko) 인트라 예측 코딩에 있어서의 최빈 변환
KR101676938B1 (ko) 비디오 코딩을 위한 장기 참조 화상들에 대한 데이터 시그널링
KR20190055113A (ko) 비디오 코딩을 위한 가변 수의 인트라 모드들
JP2018530246A (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
KR20150076235A (ko) 비디오 코딩을 위한 참조 화상 상태
IL230016A (en) Video encoding using customizable motion vector resolution
KR102221569B1 (ko) 멀티-계층 비디오 코딩에서의 크로스 계층 픽처 타입 정렬의 표시
JP6199371B2 (ja) ビデオ・コーディングのためのインタ・レイヤ・テクスチャ予測
TWI558174B (zh) 用於寫碼視訊資訊之裝置、方法及非暫時性電腦可讀媒體
KR20200037462A (ko) 상이한 종횡비를 갖는 공간 스케일러빌리티를 위한 계층간 참조 화상 구성
KR20160034321A (ko) 인트라 랜덤 액세스 포인트 픽처들의 개선된 교차-계층 정렬
KR20150138308A (ko) Shvc 를 위한 다수의 기초 계층 참조 화상
KR20140131525A (ko) 병렬 모션 추정 범위 사이즈의 묵시적 도출
KR20170126890A (ko) 움직임 검색에서 낮은 복잡도 1/4 화소 생성을 위한 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 4