KR20210062055A - 양방향 예측을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 장치 - Google Patents

양방향 예측을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20210062055A
KR20210062055A KR1020217011690A KR20217011690A KR20210062055A KR 20210062055 A KR20210062055 A KR 20210062055A KR 1020217011690 A KR1020217011690 A KR 1020217011690A KR 20217011690 A KR20217011690 A KR 20217011690A KR 20210062055 A KR20210062055 A KR 20210062055A
Authority
KR
South Korea
Prior art keywords
predictor
sample
block
picture
weight
Prior art date
Application number
KR1020217011690A
Other languages
English (en)
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 KR20210062055A publication Critical patent/KR20210062055A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component

Landscapes

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

Abstract

상이한 구현들이 설명되며, 특히 양방향 예측과 함께 모션 보상을 사용하는 비디오 인코딩 및 디코딩을 위한 구현들이 제시된다. 인코딩 방법은 픽처에 대해, 제1 참조 픽처를 사용하여 픽처의 블록에 대한 제1 예측자를 획득하는 단계; 제2 참조 픽처를 사용하여 픽처의 블록에 대한 제2 예측자를 획득하는 단계; 양방향 예측 인터 예측에서 블록에 대한 제3 예측자를 형성하기 위해 제1 예측자 및 제2 예측자를 사용하는 단계를 포함하며, 제3 예측자는 제1 예측자 및 제2 예측자의 가중 평균으로서 획득되고; 가중 예측에서 사용되는 가중치는 블록 내의 샘플의 위치에 의존한다. 블록 삼각 파티션 예측을 구현하기 위한, 다수의 패턴을 사용하여 블록 파티션 예측을 구현하기 위한, 그리고 디코딩 방법에서의 대응하는 모션 보상을 위한 다른 실시예들이 제시된다.

Description

양방향 예측을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 장치
비디오를 비트스트림으로 인코딩하기 위한 방법 및 장치가 개시된다. 대응하는 디코딩 방법 및 장치가 추가로 개시된다. 적어도 일부 실시예들은 또한 비디오 압축 스킴에서의 인터 코딩된 블록(inter coded block)들에 대한 양방향 예측에 관한 것이다.
하나 이상의 구현의 기술 분야는 일반적으로 비디오 압축에 관련된다. 높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 스킴들은 비디오 콘텐츠에서의 공간 및 시간 중복성(redundancy)을 활용하기 위해 보통 예측 및 변환을 이용한다. 일반적으로, 인트라(intra) 또는 인터(inter) 예측이 인트라 또는 인터 프레임 상관성을 이용하기 위해 사용되고, 이어서 종종 예측 에러들 또는 예측 잔차들로서 표시되는, 원래의 블록과 예측된 블록 간의 차이들이 변환되고, 양자화되며, 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축된 데이터는 엔트로피 코딩, 양자화, 변환 및 예측에 대응하는 역 프로세스들에 의해 디코딩된다. 권고안 ITU-T H.265라고도 알려진 HEVC 비디오 압축 표준에서, 인터 예측에서 사용되는 양방향 예측 프로세스는 2개의 단방향 예측 신호의 평균화를 포함한다. 도 1은 HEVC에서의 양방향 예측 프로세스를 도시한다. 2개의 단방향 예측의 평균화는 도 1에 도시된 바와 같이 입력 비트 깊이 또는 내부 비트 깊이보다 높은 정밀도로 행해진다. 양방향 예측 공식은 수학식 1로 표시되며, 여기서 오프셋 및 시프트가 최종 예측자를 입력 비트 깊이로 정규화하는 데 사용된다.
Figure pct00001
중간 스테이지들에서 라운딩이 없기 때문에, HEVC 보간 필터는 소정의 구현 최적화들을 허용한다.
비디오 압축 기술에 대한 최근의 추가들은 다양한 산업 표준들, JVET(Joint Video Exploration Team) 그룹에 의해 개발되고 있는 JEM(Joint Exploration Model) 및 후속 VTM(Versatile Video Coding(VVC) Test Model)과 같은 참조 소프트웨어 및/또는 문서들의 버전들을 포함한다. 그 목적은 기존의 HEVC(High Efficiency Video Coding) 표준에 대한 추가적인 개선들을 행하는 것이다. 예를 들어, 비디오 코덱의 보다 최근의 접근법에서, 2개의 단방향 예측을 평균화하여 양방향 예측을 획득하기 위해 다수의 가중치가 사용된다. 통상적으로, 사용되는 가중치들은 {-1/4, 5/4}, {3/8, 5/8} 또는 {1/2, 1/2}({1/2, 1/2}는 HEVC에서 구현된 것임)이고, 양방향 예측 공식은 수학식 2에서와 같이 수정된다. 전체 블록에 대해 하나의 가중치만이 사용된다.
Figure pct00002
비디오 코덱의 다른 접근법에서는, 삼각 예측이 병합 모드에서 사용된다. 도 2는 코딩 유닛(CU)을 2개의 삼각 예측 유닛으로 분할하는 것을 도시한다. 도 2에 도시된 바와 같이, CU는 대각선 에지를 따른 대각선 또는 역대각선 방향에서의 2개의 삼각 예측 유닛(PU0 및 PU1)으로 분할된다. CU 내의 각각의 삼각 예측 유닛은 병합 후보 리스트로부터 도출되는 그 자신의 모션 벡터들 및 참조 프레임 인덱스를 사용하여 인터 예측된다. 이와 관련하여, 전체 CU에 대한 최종 예측을 도출하기 위해 2개의 삼각 예측 유닛 사이의 대각선 또는 역대각선 에지에 적응성 가중 프로세스가 적용된다. 도 3은 2개의 삼각 예측 유닛 사이의 대각선 에지에 대한 그러한 가중 프로세스를 도시한다. 삼각 예측 유닛 모드는 단지 스킵(skip) 또는 병합 모드에서 CU들에 적용된다. 삼각 예측 유닛 모드가 CU에 적용될 때, CU를 2개의 삼각 예측 유닛으로 분할하는 방향을 나타내는 인덱스 및 2개의 삼각 예측 유닛의 모션 벡터들이 시그널링된다. 예측 유닛들 둘 다에 대해 5개의 단방향 예측자의 공통 리스트가 도출되고, 고전적인 병합 프로세스에서와 다르게 동일한 공간 및 시간 위치들이 검사되지만, 단방향 벡터들만이 사용된다. 충분한 후보들이 존재하지 않을 경우, 중복 모션 벡터들이 리스트에 추가되지 않고, 제로 모션 벡터들이 리스트의 끝에 추가된다. 모션 벡터 예측자의 수는 주어진 예측 유닛에 대해 5이고, 각각의 대각선에 대해 20개의 조합이 테스트된다(5*4=20, 동일한 모션 벡터 예측자가 양 PU들에 대해 사용될 수 없다). 인덱스의 범위는 0 내지 39이고, 탐색표(표 2 참조)가 인덱스로부터 각각의 PU에 대한 분할 방향 및 모션 벡터들을 도출하기 위해 사용된다. 주어진 삼중쌍(triplet)의 제1 요소는 대각선 방향을 제공하고, 제2 및 제3 요소들은 PU0 및 PU1 각각에 대한 예측자 인덱스를 각각 제공한다. 인덱스 신택스는 표 1에 표시된다.
prediction_unit( x0, y0, nPbW, nPbH ) { 설명자
if( cu_skip_flag[ x0 ][ y0 ] ) {
triangle_flag[ x0 ][ y0]
if( MaxNumMergeCand > 1 ) {
if( triangle_flag[ x0 ][ y0] ) {
triangle_merge_data( x0, y0, nPbW, nPbH) ae(v)
} else {
merge_idx[ x0 ][ y0 ]
}
}
} else { /* MODE_INTER */
merge_flag[ x0 ][ y0 ] ae(v)
if( merge_flag[ x0 ][ y0 ] ) {
if( MaxNumMergeCand > 1 ) {
if( triangle_flag[ x0 ][ y0] ) {
triangle_merge_data( x0, y0, nPbW, nPbH)
} else {
merge_idx[ x0 ][ y0 ] ae(v)
}
}
}
}
triangle_merge_data( x0, y0, nPbW, nPbH) {
most_probable_idx[ x0 ][ y0 ] u(1)
if( most_probable_idx[ x0 ][ y0 ] ) {
zero_or_one_idx[ x0 ][ y0 ] u(1)
} else {
remaining_idx[ x0 ][ y0 ] se(v)
}
}
표 1: 삼각 파티션들 및 대응하는 병합 인덱스 신택스
const uint8_t g_TriangleCombination[TRIANGLE_MAX_NUM_CANDS][3] =
{
{ 0, 1, 0 }, { 1, 0, 1 }, { 1, 0, 2 }, { 0, 0, 1 }, { 0, 2, 0 },
{ 1, 0, 3 }, { 1, 0, 4 }, { 1, 1, 0 }, { 0, 3, 0 }, { 0, 4, 0 },
{ 0, 0, 2 }, { 0, 1, 2 }, { 1, 1, 2 }, { 0, 0, 4 }, { 0, 0, 3 },
{ 0, 1, 3 }, { 0, 1, 4 }, { 1, 1, 4 }, { 1, 1, 3 }, { 1, 2, 1 },
{ 1, 2, 0 }, { 0, 2, 1 }, { 0, 4, 3 }, { 1, 3, 0 }, { 1, 3, 2 },
{ 1, 3, 4 }, { 1, 4, 0 }, { 1, 3, 1 }, { 1, 2, 3 }, { 1, 4, 1 },
{ 0, 4, 1 }, { 0, 2, 3 }, { 1, 4, 2 }, { 0, 3, 2 }, { 1, 4, 3 },
{ 0, 3, 1 }, { 0, 2, 4 }, { 1, 2, 4 }, { 0, 4, 2 }, { 0, 3, 4 },
}
표 2: 대각선 방향 및 예측자들을 결정하기 위한 탐색표
도 4는 특정 압축 스킴에 따른 삼각 파티션들에 대한 서브블록 모션 벡터 저장을 도시한다. 일 구현에서, 모션 벡터들은 각각의 4x4 서브블록에 대해 저장된다. 삼각 파티션들이 CU에 대해 사용될 때, 각각의 파티션에 대해 사용되는 모션 벡터들은 각각의 서브블록에 대해 동일한 방식으로 저장되지만, 에지 상의 서브블록에 대해서는, 도 4에 도시된 바와 같이, 하나의 PU로부터의 모션 벡터만이 저장된다.
삼각 파티션들과 결합된 인터 코딩된 블록들의 양방향 예측은 구현 문제들을 발생시킨다. 따라서, 양방향 예측을 위한 덜 계산적인 방법이 바람직하다. 따라서, 인터 코딩된 블록들의 양방향 예측을 개선하기 위한 몇몇 실시예들이 개시된다.
본 개시의 일 양태에 따르면, 픽처를 인코딩하기 위한 방법이 개시된다. 이러한 방법은 제1 참조 픽처를 사용하여 픽처의 블록에 대한 제1 예측자를 획득하는 단계; 제2 참조 픽처를 사용하여 픽처의 블록에 대한 제2 예측자를 획득하는 단계; 양방향 예측 인터 예측에서 픽처의 블록에 대한 제3 예측자를 형성하기 위해 제1 예측자 및 제2 예측자를 사용하는 단계를 포함하고, 제3 예측자는 제1 예측자 및 제2 예측자의 가중 평균으로서 획득되고; 제3 예측자의 샘플은 제1 예측자의 샘플에 제1 가중치를 적용함으로써 그리고 제2 예측자의 샘플에 제2 가중치를 적용함으로써 획득되고; 제3 예측자의 샘플, 제1 예측자의 샘플 및 제2 예측자의 샘플은 블록 내의 동일한 위치를 공유하고; 제1 가중치 및 제2 가중치는 블록 내의 샘플의 위치에 의존한다.
본 개시의 다른 양태에 따르면, 픽처를 인코딩하기 위한 장치가 개시된다. 이러한 장치는 제1 참조 픽처를 사용하여 픽처의 블록에 대한 제1 예측자를 획득하기 위한 수단; 제2 참조 픽처를 사용하여 픽처의 블록에 대한 제2 예측자를 획득하기 위한 수단; 제1 예측자 및 제2 예측자를 사용하여 양방향 예측 인터 예측에서 픽처의 블록에 대한 제3 예측자를 형성하기 위한 수단을 포함하고, 제3 예측자는 제1 예측자 및 제2 예측자의 가중 평균으로서 획득되고; 제3 예측자의 샘플은 제1 예측자의 샘플에 제1 가중치를 적용함으로써 그리고 제2 예측자의 샘플에 제2 가중치를 적용함으로써 획득되고; 제3 예측자의 샘플, 제1 예측자의 샘플 및 제2 예측자의 샘플은 블록 내의 동일한 위치를 공유하고; 제1 가중치 및 제2 가중치는 블록 내의 샘플의 위치에 의존한다.
본 개시의 일 양태에 따르면, 픽처를 인코딩하기 위한 장치가 제공되고, 장치는 프로세서, 및 프로세서에 결합된 적어도 하나의 메모리를 포함하고, 프로세서는 인코딩 방법의 임의의 변형들을 구현하도록 구성된다.
본 개시의 다른 양태에 따르면, 비디오를 디코딩하기 위한 방법이 개시된다. 이러한 방법은 비트스트림에서, 코딩된 비디오 데이터를 수신하고, 모션 보상을 위해, 제1 참조 픽처를 사용하여 픽처의 블록에 대한 제1 예측자를 획득하는 단계; 제2 참조 픽처를 사용하여 픽처의 블록에 대한 제2 예측자를 획득하는 단계; 양방향 예측 인터 예측에서 픽처의 블록에 대한 제3 예측자를 형성하기 위해 제1 예측자 및 제2 예측자를 사용하는 단계를 포함하고, 제3 예측자는 제1 예측자 및 제2 예측자의 가중 평균으로서 획득되고; 제3 예측자의 샘플은 제1 예측자의 샘플에 제1 가중치를 적용함으로써 그리고 제2 예측자의 샘플에 제2 가중치를 적용함으로써 획득되고; 제3 예측자의 샘플, 제1 예측자의 샘플 및 제2 예측자의 샘플은 블록 내의 동일한 위치를 공유하고; 제1 가중치 및 제2 가중치는 블록 내의 샘플의 위치에 의존한다.
본 개시의 다른 양태에 따르면, 비디오를 디코딩하기 위한 장치가 개시된다. 이러한 장치는 비트스트림에서, 코딩된 비디오 데이터를 수신하기 위한 수단 및 모션 보상을 처리하기 위한 수단을 포함하고, 모션 보상을 처리하기 위한 상기 수단은 제1 참조 픽처를 사용하여 픽처의 블록에 대한 제1 예측자를 획득하기 위한 수단; 제2 참조 픽처를 사용하여 픽처의 블록에 대한 제2 예측자를 획득하기 위한 수단; 제1 예측자 및 제2 예측자를 사용하여 양방향 예측 인터 예측에서 픽처의 블록에 대한 제3 예측자를 형성하기 위한 수단을 더 포함하고, 제3 예측자는 제1 예측자 및 제2 예측자의 가중 평균으로서 획득되고; 제3 예측자의 샘플은 제1 예측자의 샘플에 제1 가중치를 적용함으로써 그리고 제2 예측자의 샘플에 제2 가중치를 적용함으로써 획득되고; 제3 예측자의 샘플, 제1 예측자의 샘플 및 제2 예측자의 샘플은 블록 내의 동일한 위치를 공유하고; 제1 가중치 및 제2 가중치는 블록 내의 샘플의 위치에 의존한다.
본 개시의 일 양태에 따르면, 비디오를 디코딩하기 위한 장치가 제공되고, 장치는 프로세서, 및 프로세서에 결합된 적어도 하나의 메모리를 포함하고, 프로세서는 비트스트림에서 코딩된 비디오 데이터를 수신하고, 디코딩 방법의 임의의 변형들을 구현하도록 구성된다.
본 개시는 또한 전술한 설명들 중 임의의 설명의 방법 또는 장치에 따라 생성된 비디오 데이터를 포함하는 신호를 제공한다. 본 실시예들은 또한, 컴퓨터에 의해 실행될 때 컴퓨터로 하여금 설명된 방법들을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램 제품을 제공한다.
본 개시는 또한 위에서 설명된 방법들에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 본 개시는 또한 위에서 설명된 방법들에 따라 생성된 비트스트림을 송신하기 위한 방법 및 장치를 제공한다.
위의 설명은 본 발명의 실시예들의 일부 양태들의 기본적인 이해를 제공하기 위하여 본 발명의 간략한 요약을 제시한다. 이 요약은 본 발명의 광범위한 개요는 아니다. 이것은 실시예들의 중요한/결정적 요소들을 식별하거나 본 발명의 범위를 기술하는 것을 의도하지 않는다. 그 유일한 목적은 본 발명의 일부 개념들을 추후 제시되는 더 상세한 설명에 대한 서론으로서 간략한 방식으로 제시하는 것이다.
본 개시의 추가적인 특징들 및 이점들은 첨부 도면들을 참조하여 진행하는 예시적인 실시예들의 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 HEVC 표준에 따른 양방향 예측 프로세스를 도시한다.
도 2는 특정 압축 스킴에 따라 코딩 유닛(CU)을 2개의 삼각 예측 유닛으로 분할하는 것을 도시한다.
도 3은 특정 압축 스킴에 따른 2개의 삼각 예측 유닛 사이의 대각선 에지에 대한 가중 프로세스를 도시한다.
도 4는 특정 압축 스킴에 따른 삼각 파티션들에 대한 서브블록 모션 벡터 저장을 도시한다.
도 5는 특정 압축 스킴에 따른 양방향 예측 삼각 파티션들에 대한 모션 보상 프로세스를 도시한다.
도 6은 특정 압축 스킴에 따른 단방향 예측 삼각 파티션들에 대한 모션 보상 프로세스를 도시한다.
도 7은 본 개시의 일 실시예에 따른 삼각 예측에 적응되는 수정된 모션 보상 프로세스의 일례를 도시한다.
도 8은 본 개시의 일 실시예에 따른 다수의 대각선 패턴의 예들을 도시한다.
도 9 및 도 10은 본 개시의 일 실시예에 따른 다수의 패턴의 다른 예들을 도시한다.
도 11은 제안된 모션 벡터 저장의 일 실시예를 도시한다.
도 12는 본 개시의 일 실시예에 따른 예시적인 인코더를 도시한다.
도 13은 본 개시의 일 실시예에 따른 예시적인 디코더를 도시한다.
도 14는 다양한 양태들 및 실시예들이 구현되는 시스템의 일례의 블록도를 도시한다.
도 15는 본 개시의 일 실시예에 따른 디코딩 방법 또는 인코딩 방법 중 임의의 방법으로 구현되는 가중 양방향 예측을 도시한다.
도면들 및 설명들은 통상적인 인코딩 및/또는 디코딩 디바이스들에서 발견되는 많은 다른 요소를 명확성을 위해 제거하면서 본 원리들의 명확한 이해와 관련되는 요소들을 도시하기 위해 간략화되었다는 것을 이해해야 한다. 제1, 제2라는 용어들은 본 명세서에서 다양한 요소들을 설명하는 데 사용될 수 있지만, 이러한 요들은 이러한 용어들에 의해 한정되지 않아야 한다는 것이 이해될 것이다. 이러한 용어들은 단지 하나의 요소를 다른 요소와 구별하기 위해 사용된다.
다양한 실시예들은 픽처의 인코딩/디코딩에 관하여 설명된다. 그들은 슬라이스 또는 타일과 같은 픽처의 일부 또는 픽처들의 전체 시퀀스를 인코딩/디코딩하는 데 적용될 수 있다.
다양한 방법들이 위에서 설명되었고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않는 한, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다.
적어도 일부 실시예들은 가중 양방향 예측을 포함하는 비디오 인코딩 또는 비디오 디코딩을 위한 방법에 관련되며, 가중 양방향 예측의 가중치들은 인코딩된 또는 디코딩된 비디오의 픽처의 블록 내의 샘플의 위치에 의존한다.
양방향 예측 삼각 파티션들에 대한 가중 모션 보상의 첫 번째 문제점은 각각의 PU가 양방향 예측되고, 따라서 2개의 예측 사이의 에지에 대한 가중 프로세스를 수반한다는 점이다. 도 5는 양방향 예측 삼각 파티션들에 대한 모션 보상 프로세스를 도시한다. 도 3에 도시된 바와 같은 에지 상의 샘플들의 경우, 도 5에 도시된 바와 같이 4번의 모션 보상이 필요하다. 따라서, 덜 계산적인 방법이 바람직하다.
삼각 PU를 단방향 예측으로 제한하여 메모리 대역폭을 감소시키는 첫 번째 해결책이 제안되었다. 도 6은 단방향 예측 삼각 파티션들에 대한 모션 보상 프로세스를 도시한다. 이 경우, 모션 보상 프로세스는 도 6에 도시된 바와 같이 단순화된다. 그러나, 이 해결책은 여전히 프로세스의 정밀도에 관한 개선으로부터 이익을 얻을 수 있다. 적어도 하나의 실시예는 인터 코딩된 블록들의 양방향 예측 프로세스의 정밀도를 개선하는 것에 관련된다.
양방향 예측 삼각 파티션들의 향상에서, 더 많은 패턴들을 추가함으로써 압축 효율을 개선하는 것이 바람직하다. 그러면, 양방향 예측 파티션들에 대한 가중 모션 보상의 두 번째 문제점은 파티션들과 모션 벡터들의 조합의 인덱스를 코딩하는 큰 비용을 갖지 않고 추가된 패턴들을 시그널링하는 것이다. 적어도 하나의 실시예는 인터 코딩된 블록들의 양방향 예측 프로세스의 시그널링을 개선하는 것에 관련된다.
세 번째 문제점은 에지 상의 서브블록들에서 각각의 PU에 대해 사용되는 모션 벡터들의 저장이다. 에지 상의 샘플의 경우, 2개의 예측 사이에 가중화가 행해지며, 이는 적어도 2개의 모션 벡터가 이 샘플을 예측하는 데 사용되지만, 메모리에는 현재 PU를 예측하는 데 사용되는 모션 벡터만이 저장된다는 것을 의미하며, 이는 이웃 블록들에 대한 최적이 아닌 모션 전파로 이어질 수 있다. 적어도 하나의 실시예는 인터 코딩된 블록들의 양방향 예측 프로세스에 대한 모션 벡터들의 저장을 개선하는 것에 관련된다.
따라서, 인터 코딩된 블록들의 양방향 예측을 개선하기 위한 몇몇 실시예들이 개시된다.
일반 실시예
가중 양방향 예측을 위한 일반적인 방법(1500)의 적어도 하나의 실시예가 도 15에 도시되어 있다. 이러한 방법은 이 분야의 기술자에 의한 비디오 인코딩 방법 또는 비디오 디코딩 방법의 모션 보상 프로세스 중 어느 하나에서 쉽게 구현되며, 여기서 입력 정보의 획득은 인코딩 방법에서 RDO 루프에서 결정되거나 디코더에서 수신된 데이터로부터 디코딩된다. 본 원리들에 따르면, 가중 양방향 예측의 가중치들은 인코딩된 또는 디코딩된 비디오의 픽처의 블록 내의 샘플의 위치에 의존한다. 따라서, 삼각 파티션의 처리는 가중 예측으로서 유리하게 수행되고, 후술되는 바와 같이 인터 코딩된 블록들의 양방향 예측 프로세스의 정밀도를 증가시킨다.
먼저, 도 15의 1510에서, 인코딩/디코딩될 픽처의 블록에 대해 제1 예측자 및 제2 예측자가 획득된다. 블록에 대한 제1 예측자는 리스트 L0에 저장된 제1 참조 픽처를 사용하고, 블록에 대한 제2 예측자는 리스트 L1에 저장된 제2 참조 픽처를 사용한다. 그러한 2개의 단방향 예측자들은 조합되어 양방향 인터 예측에 의해 제3 예측자를 형성한다.
이후에 설명되는 상이한 실시예들에 따르면, 1520에서, 위치 의존적 가중치들의 결정에서 사용되는 적어도 하나의 정보가 획득된다. 이 단계는 선택적이다. 비제한적인 실시예들에 따르면, 제1 정보는 삼각 파티션을 갖는 픽처의 블록의 분할을 나타내고, 제2 정보는 블록의 삼각 파티션의 에지의 방향을 나타내고, 제3 정보는 삼각 파티션의 에지의 위치를 나타낸다. 다른 실시예에 따르면, 블록의 분할은 삼각 파티션, 및 도 9에 도시된 바와 같은 에지를 따른 2개의 파티션으로의 블록의 더 일반적인 분할로 제한되지 않는다. 그러면, 위치 의존적 가중치들의 결정에서 사용되는 정보는 에지 파티션을 갖는 픽처의 블록의 분할을 나타내는 정보이다. 비제한적인 실시예들에 따르면, 제4 정보는 소위 "삼각 파티션"의 에지가 수직 또는 수평이라는(그리고 대각선은 아니라는) 것을 나타낸다. 다른 실시예에 따르면, 위치 의존적 가중치들의 결정에서 사용되는 정보는 컬러 성분과 관련된 정보이다. 블록이 루마 블록 또는 크로마 블록일 경우에 블록 내의 샘플들의 수는 상이할 수 있으며, 따라서 가중치들은 또한 컬러 성분에 따라 결정된다. 그 외에, 가중치는 또한 블록의 크기에 따라 결정된다. 다른 실시예에 따르면, 양방향 예측에서의 위치 의존적 가중치들은 삼각 또는 에지 파티션으로 제한되지 않으며, 따라서 정보는 보다 일반적으로는 위치 의존적 가중치들의 결정에서 사용되는 임의의 정보이다.
앞서 설명된 바와 같이, 특정 실시예에서, 양방향 예측을 얻도록 2개의 단방향 예측을 평균화하기 위해 다수의 가중치가 사용된다. 비제한적인 예에 따르면, 사용되는 가중치들은 {-1/4, 5/4}, {3/8, 5/8} 또는 {1/2, 1/2}이며, 여기서 한 쌍의 가중치만이 전체 블록에 대해 사용된다. 본 원리들은 유리하게도 가중치들의 세트 중 블록 기반 가중치의 선택에 적합하며, 샘플의 위치 의존적 가중치들은 선택된 블록 기반 가중치로부터 도출된다. 즉, 샘플의 가중치는 샘플의 위치 및 예측자의 선택된 블록 기반 가중치에 따라 결정된다. 따라서, 1530에서, 가중치들의 세트 중 선택된 블록기반 가중치가 선택적으로 결정된다.
1540에서, 블록 내의 샘플의 위치 의존적 가중치들이 결정된다. 특정 실시예들에 따르면, 블록 내의 샘플의 위치 의존적 가중치는 획득된 정보, 선택된 블록 기반 가중치, 블록의 성분, 블록의 크기 중 적어도 하나로부터 더 도출된다. 제3 예측자의 샘플은 제1 예측자의 샘플에 제1 가중치를 적용함으로써 그리고 제2 예측자의 샘플에 제2 가중치를 적용함으로써 획득된다. 따라서, 제1 및 제2 가중치들은 블록 내의 샘플의 위치에 따라 결정된다. 제3 예측자의 샘플, 제1 예측자의 샘플 및 제2 예측자의 샘플은 블록 내의 동일한 위치를 공유하고, 샘플들은 블록에서 같은 곳에 위치된다.
일 실시예에 따르면, 위치 의존적 가중치 양방향 인터 예측은 삼각 예측에 사용된다. 각각의 삼각 예측 유닛이 단방향 예측으로 제한됨에 따라, 삼각 예측은 양방향 예측으로서 구현되며, 제1 가중치 및 제2 가중치는 샘플 위치에 의존한다. 삼각 파티션의 경우에, 제1 가중치 및 제2 가중치는 샘플과 블록의 삼각 파티션의 에지 사이의 거리에 의존한다. 그러나, 본 원리들은 삼각 파티션들로 제한되지 않으며, 수평/수직 에지를 포함하고 다수의 패턴들을 포함하는 블록의 다른 파티션들로 쉽게 확장될 수 있다. 상이한 변형들 및 개선들이 이후에 설명된다. 가중치들을 계산하는 데 사용되는 블록 내의 에지의 위치는 블록의 2개의 파티션으로의 분할을 나타내는 적어도 하나의 정보로부터 획득된다. 게다가, 일 변형에서, 적어도 하나의 정보는 인코딩 방법에 대응하는 디코딩 방법이 양방향 예측을 위해 동일한 정보를 사용할 수 있게 하도록 시그널링된다. 예를 들어, 인코딩 방법에서, 적어도 하나의 시그널링된 정보는 엔트로피 코딩된다. 예를 들어, 디코딩 방법에서, 적어도 하나의 정보는 시그널링된 정보의 엔트로피 디코딩으로부터 획득된다.
그러나, 양방향 예측에서의 위치 의존적 가중치들은 삼각 또는 에지 파티션으로 제한되지 않는다. 예를 들어, 본 원리들은 또한 가중치들이 다른 파티션이 없는 샘플 위치에 의존하는 아베크(avec) 조합 인터-인트라 예측에 적합하다.
샘플 의존적 가중치들이 획득되면, 1550에서 양방향 예측 프로세스가 처리된다. 양방향 예측자라고도 지칭되는 제3 예측자는 제1 예측자 및 제2 예측자의 가중 평균으로서 획득된다. 유리하게, 가중 평균은 예측자들의 비트 깊이에 비해 증가된 비트 깊이에 대해 처리된다. 이어서, 1560에서, 더 큰 비트 깊이에 대한 가중 평균을 시프팅 및 클리핑하여, 제1 및 제2 예측자와 동일한 비트 깊이에 대한 제3 예측자를 획득한다.
1570에서, 양방향 예측이 종료되고, 코딩된 또는 디코딩된 이미지 블록에 대한 제3 예측자가 출력된다.
실시예 1
따라서, 인코딩 또는 디코딩 방법의 적어도 하나의 실시예는 증가된 정밀도를 갖는 삼각 파티션의 에지 상의 샘플들의 가중화에 관련된다. 도 7은 일 실시예에 따른 삼각 예측을 위한 수정된 모션 보상 프로세스의 예를 도시한다. 각각의 삼각 예측 유닛이 단방향 예측으로 제한됨에 따라, 샘플 위치 의존적 가중 인자들을 갖는 양방향 예측을 처리하여 삼각 예측을 획득한다. 2개의 단방향 예측 P1 및 P2를 평균하는 데 사용되는 가중치가 각각의 샘플에 대해 상이할 수 있는 이러한 수정된 모션 보상 프로세스는 도 3 및 도 4에 도시된 위치 의존적 가중치들로 구현된다. 가중치는 현재 샘플 S0, S1, S2 또는 S3과 2개의 삼각 PU P1 및 P2 사이의 에지 사이의 거리에 의존한다. 예를 들어, 파티션의 에지 상의 샘플 S0에 대해 제1 가중치 W1은 4/8과 동일하고 제2 가중치 W2는 4/8과 동일하다. 예를 들어, 파티션의 에지로부터 멀리 떨어진 샘플 S1에 대해 제1 가중치 W1은 1/8과 동일하고 제2 가중치 W2는 7/8과 동일하다. 반대로, 파티션의 에지로부터 동일한 거리에 있는 샘플 S2에 대해 제1 가중치 W1은 7/8과 동일하고 제2 가중치 W2는 1/8과 동일하다. 그리고, 샘플 S3과 파티션의 에지 사이의 거리가 정의된 값을 초과할 때, 제1 가중치 W1은 8/8과 동일하고, 제2 가중치 W2는 0/8과 동일하다. 도 7에 도시된 바와 같이, 입력 비트 깊이로의 시프팅 및 클리핑은 유리하게 샘플들의 가중 후로 연기되고, 따라서 확장된 정밀도의 이익을 얻는다. 이 실시예에서, 제1 정보는 예를 들어 도 3에 도시된 바와 같이 좌상에서 우하로의 방향을 따른 삼각 파티션을 갖는 픽처의 블록의 분할을 나타낸다. 예를 들어, triangle_flag와 같은 전용 신택스가 블록의 삼각 파티셔닝을 나타내는 데 사용된다. 루마 성분의 크기 NxN(예를 들어, 도 3에서와 같이 N=8)의 블록에서, 블록 내의 범위 [0, N-1] 내의 위치(x,y), x 및 y에서의 가중치 W1은 예를 들어 다음 식에 의해 획득된다.
W1 = (Clip(0, 8, (x - y) + 4) 및 W2 = 8 - W1
결과적인 가중치들은 범위 [0-8]에 있고, 따라서 가중 합에 대해 증가된 정밀도가 획득되고, 이어서 비트 깊이를 제3 예측자의 비트 깊이로 감소시키기 위해 시프팅 및 클리핑 동작이 수행된다. 도 3에 도시된 바와 같이, 위치(x,y)에서의 가중치 W1은 크로마 성분에 대해 상이하다.
실시예 2
인코딩 또는 디코딩 방법의 적어도 하나의 실시예는 다수의 파티션 패턴에 적응되는 삼각 파티션의 에지 상의 샘플들의 가중화에 더 관련된다. 유리하게, 다수의 파티션 패턴의 배열을 나타내는 정보를 이용하여 상이한 파티션 패턴들의 블록 내의 에지를 결정한다. 따라서, 에지에 대한 블록 내의 샘플의 위치, 예를 들어 거리가 결정된다. 도 8은 일 실시예에 따른 다수의 대각선 패턴들의 예들을 도시한다. 2개의 패턴(TL2BR 또는 TR2BL) 또는 더 많은 패턴(TL2BR_1_4, TL2BR_3_4, TR2BL_1_4, TR2BL_3_4)이 정의되는 그러한 다수의 대각선 패턴들은 코딩 효율을 바람직하게 개선한다. 예를 들어, 도 8에 도시된 바와 같이, 대각선은 (1/4 또는 3/4만큼) 시프팅되고 (좌상에서 우하로(TL2BR) 또는 우상에서 좌하로(TR2BL)) 회전될 수 있다.
적어도 일 실시예는 삼각 파티션들과 같은 다수의 파티션을 갖는 양방향 예측에 관련된다. 변형 특성에 따르면, 다수의 패턴의 코딩 및 모션 벡터 예측자들에 대한 인덱스는 분리된다. 실제로, 도 8로부터의 6개의 패턴이 양방향 예측 삼각 파티션들로서 구현되는 경우, 6*20 = 180개의 조합이 인코더에서 테스트되어야 할 것이다. 다양한 인코더 고속 구현들이 실시예 5의 변형들에서 아래에 설명된다.
따라서, 모션 벡터 후보 리스트 most_probable_idx 내의 모션 벡터 인덱스의 시그널링으로부터 신택스 요소 diagonal_dir[x0][y0], diagonal_pos[x0][y0]를 사용하는 패턴의 시그널링을 분리하는 전용 신택스가 설명된다. 따라서, 블록의 삼각 파티션의 에지의 방향을 나타내는 제2 정보는 diagonal_dir[x0][y0] 신택스 요소이고, 삼각 파티션의 에지의 위치를 나타내는 제3 정보는 diagonal_pos[x0][y0] 신택스 요소이다. 이러한 신택스 요소들은 각각 엔트로피 코딩되고 디코딩되며, 표 4 및 표 5에서 이진화가 제안된다.
prediction_unit( x0, y0, nPbW, nPbH ) { 설명자
if( cu_skip_flag[ x0 ][ y0 ] ) {
triangle_flag[ x0 ][ y0]
if( MaxNumMergeCand > 1 ) {
if( triangle_flag[ x0 ][ y0] ) {
triangle_merge_data( x0, y0, nPbW, nPbH) ae(v)
} else {
merge_idx[ x0 ][ y0 ]
}
}
} else { /* MODE_INTER */
merge_flag[ x0 ][ y0 ] ae(v)
if( merge_flag[ x0 ][ y0 ] ) {
if( MaxNumMergeCand > 1 ) {
if( triangle_flag[ x0 ][ y0] ) {
triangle_merge_data( x0, y0, nPbW, nPbH)
} else {
merge_idx[ x0 ][ y0 ] ae(v)
}
}
}
}
triangle_merge_data( x0, y0, nPbW, nPbH) {
diagonal_dir[ x0 ][ y0 ] u(1)
diagonal_pos[ x0 ][ y0 ] ae(v)
most_probable_idx[ x0 ][ y0 ] u(1)
if( most_probable_idx[ x0 ][ y0 ] ) {
zero_or_one_idx[ x0 ][ y0 ] u(1)
} else {
remaining_idx[ x0 ][ y0 ] se(v)
}
}
표 3: 다수의 패턴에 대한 수정된 신택스
diagonal_dir[ x0 ][ y0 ]은 블록의 2개의 예측 유닛을 분리하는 대각선의 방향을 지정하고, x0, y0은 픽처의 좌상 루마 샘플에 대한 고려되는 예측 블록의 좌상 루마 샘플의 위치 (x0, y0)을 지정한다. 다양한 대각선 방향들의 예가 도 2 및 도 8에도 도시되어 있다.
diagonal_dir의 값 diagonal_dir의 명칭 빈 스트링(Bin string)
0 TL2BR 0
1 TR2BL 1
표 4: diagonal_dir 신택스 요소의 이진화
diagonal_pos[ x0 ][ y0 ]은 블록의 2개의 예측 유닛을 분리하는 대각선의 위치를 지정하고, x0, y0은 픽처의 좌상 루마 샘플에 대한 고려되는 예측 블록의 좌상 루마 샘플의 위치 (x0, y0)을 지정한다. 다양한 대각선 위치들의 예가 도 8에 도시되어 있다.
diagonal_pos의 값 diagonal_pos의 명칭 빈 스트링
0 TX2BX 0
1 TX2BX_1_4 10
2 TX2BX_3_4 11
표 5: diagonal_pos 신택스 요소의 이진화
실시예 3
또 다른 변형에서, 다른 에지들은 도 9 및 도 10에 도시된 바와 같이 블록의 코너로부터 중간까지의 수평 또는 수직 에지들로서 사용될 수 있다. 예를 들어, 도 9는 에지가 수평(HOR, H0R_1_4, H0R_3_4) 또는 수직(VER, VER_1_4, VER_3_4)이고 블록의 중간(HOR, VER)에 또는 1/4(H0R_1_4, H0R_3_4, VER_1_4, VER_3_4)에 위치하는 추가적인 패턴들을 도시한다. 도 10은 에지가 블록의 코너에서 시작하여 중간에서 끝나는 다른 추가적인 패턴들을 도시한다. 물론, 본 원리들에 적합한 에지를 따르는 파티션들은 설명된 패턴들에 제한되지 않으며, 이 분야의 기술자는 위치 의존적 가중 인자들을 사용하는 수정된 모션 보상 프로세스를 다른 파티션 패턴들에 쉽게 적용할 것이다. 본 실시예에 따르면, 신택스는 표 6에 도시된 바와 같이 새로운 패턴들을 추가하도록 수정된다.
triangle_merge_data( x0, y0, nPbW, nPbH) {
diagonal_flag[ x0 ][ y0 ] u(1)
partition_dir[ x0 ][ y0 ] u(1)
partition_pos[ x0 ][ y0 ] ae(v)
most_probable_idx[ x0 ][ y0 ] u(1)
if( most_probable_idx[ x0 ][ y0 ] ) {
zero_or_one_idx[ x0 ][ y0 ] u(1)
} else {
remaining_idx[ x0 ][ y0 ] se(v)
}
}
표 6: 대각선 플러스 수평 및 수직 파티션들에 대한 제안된 신택스
다른 변형에서, 에지 상의 평균화를 위해 적용할 다른 가중치들을 나타내는 신택스 요소가 코딩된다.
실시예 4
적어도 하나의 실시예는 파티션의 에지 상의 모션 벡터들의 저장에 더 잘 적응된다. 고전적인 인터 모드들에서, 양방향 예측이 사용될 때, 2개의 모션 벡터(각각의 리스트에 대해 하나씩)가 4x4 서브블록들에 저장된다. 삼각 모드 병합에서, 각각의 PU가 단방향 예측으로 제한되는 변형에서, 도 11에 도시된 바와 같이 에지 상에서 사용되는 2개의 모션 벡터는 유리하게 각각의 2개의 리스트에 저장된다. 따라서, 본 방법은 추가 비용 없이 구현된다. 수학식 2와 조합하여, 모션 벡터들은 리스트 0 및 리스트 1로부터의 각각의 모션 벡터에 대해 주어진 가중치 w0 및 w1과 함께 저장될 수 있다. 이것은 모션 벡터들의 더 양호한 전파, 따라서 이웃 블록들에 대한 더 양호한 예측을 가능하게 한다.
실시예 5의 변형들
실시예 5는 모션 보상을 위한 인코더 고속화에 관련된다. 인코더에서, 주어진 패턴에 대해 모션 벡터 예측자들의 20개의 조합이 사용됨에 따라, 테스트되는 조합들의 최대 수는 더 많은 패턴을 사용할 때 많이 증가한다. 임의의 조합에 대해, 후보를 평가하기 위해 평균화가 처리된다. 적어도 하나의 실시예는 테스트되는 조합들의 수를 감소시키는 것에 관련된다. 일 특성에 따르면, SATD(Sum of Absolute Transformed Differences)를 갖는 고속 추정을 사용함으로써, 최상의 예측자들에 대해서만 RDOQ(Rate Distortion optimized Quantization) 프로세스가 행해진다.
제1 변형에서, 리스트의 끝에 추가된 제로 모션 벡터 예측자를 사용하는 조합들은 테스트되지 않는다. 예를 들어, 리스트의 예측자 4 및 5가 추가된 제로 모션 벡터들인 경우, 20개 대신에 주어진 패턴에 대한 3*2=6개의 조합만이 테스트된다. 6개의 패턴의 경우, 6*20=240개 대신 6*6=36개의 조합이 테스트된다.
제2 변형에서, 고전적인 병합에서 선택된 모션 벡터를 사용하는 조합들이 테스트되고, 나머지 조합들은 테스트되지 않는다. 먼저, 고전적인 병합에 대한 최상의 병합 후보가 결정된다. 이어서, 최상의 후보가 단방향 또는 양방향인지에 따라 1개 또는 2개의 모션 벡터(들)가 복구된다. 이어서, 이들 모션 벡터가 삼각 PU들에 대한 모션 벡터 예측자들의 리스트에 있는 경우, 가능한 조합들의 테스트는 이러한 모션 벡터 예측자들을 포함하는 조합들의 테스트로 감소된다.
제3 변형에서, 모션 벡터 예측자들은 SAD 또는 SATD로 순위화된다. 모든 조합이 최대 5개의 모션 벡터 예측자를 사용하여 행해짐에 따라, 모든 5개의 단방향 모션 벡터 예측자가 SAD 또는 SATD를 사용하여 그들의 가능성에 따라 순위화된다. N(N<5)개의 최상의 모션 벡터가 유지되거나 임계치를 초과하는 예측자들이 제거된다. 따라서, 가능한 조합들의 수가 감소된다.
추가적인 실시예들 및 정보
본 출원은 도구, 특징, 실시예, 모델, 접근법 등을 포함하는 다양한 양태들을 설명한다. 이러한 양태들 중 다수는 특이성을 갖고 설명되며, 적어도 개별 특성들을 보여주기 위해, 제한하는 것으로 보일 수 있는 방식으로 종종 설명된다. 그러나, 이는 설명의 명료함을 위한 것이고, 그러한 양태들의 응용 또는 범위를 제한하지 않는다. 실제로, 모든 상이한 양태들이 조합되고 교환되어 추가의 양태들을 제공할 수 있다. 더구나, 양태들은 이전의 출원들에서 설명된 양태들과 조합되고 교환될 수도 있다.
본 출원에서 설명되고 고려되는 양태들은 많은 상이한 형태들로 구현될 수 있다. 아래의 도 12, 13 및 14는 일부 실시예들을 제공하지만, 다른 실시예들이 고려되며, 도 12, 13 및 14의 논의는 구현들의 폭을 제한하지 않는다. 양태들 중 적어도 하나는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이고, 적어도 하나의 다른 양태는 일반적으로 생성되거나 인코딩된 비트스트림을 송신하는 것에 관한 것이다. 이들 및 다른 양태들은 방법, 장치, 설명된 방법들 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체, 및/또는 설명된 방법들 중 임의의 방법에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체로서 구현될 수 있다.
본 출원에서, "재구성된" 및 "디코딩된"이란 용어들은 상호교환가능하게 사용될 수 있고, "픽셀" 및 "샘플"이란 용어들은 상호교환가능하게 사용될 수 있으며, "이미지", "픽처" 및 "프레임"이란 용어들은 상호교환가능하게 사용될 수 있다. 필수적은 아니지만 통상적으로, "재구성된"이라는 용어는 인코더 측에서 사용되는 반면, "디코딩된"이라는 용어는 디코더 측에서 사용된다.
다양한 방법들이 본 명세서에서 설명되며, 방법들 각각은 설명되는 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않는 한, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다.
본 출원에서 설명된 다양한 방법들 및 다른 양태들은 모듈들, 예를 들어 도 12에 도시된 바와 같은 비디오 인코더(100)의 엔트로피 코딩(145), 모션 보상(170) 및 모션 추정(175), 및 도 13의 비디오 디코더(200)의 엔트로피 디코딩(230) 및 모션 보상(275) 모듈들을 수정하기 위해 사용될 수 있다. 더욱이, 본 양태들은 VVC 또는 HEVC로 제한되지 않으며, 예를 들어 이미 존재하거나 미래에 개발되는지에 관계없이 다른 표준들 및 권고안들, 및 (VVC 및 HEVC를 포함하는) 임의의 그러한 표준들 및 권고안들의 확장들에 적용될 수 있다. 달리 지시되거나 기술적으로 배제되지 않는 한, 본 출원에서 설명된 양태들은 개별적으로 또는 조합하여 사용될 수 있다.
본 출원에서는 다양한 수치 값들, 예를 들어, 파티션들의 수 또는 상대적 가중치들의 값이 사용된다. 특정 값들은 예시적인 목적들을 위한 것이고, 설명되는 양태들은 이러한 특정 값들로 제한되지 않는다.
도 12는 인코더(100)를 도시한다. 이 인코더(100)의 변형들이 고려되지만, 인코더(100)는 명료함을 위해 모든 예상되는 변형들의 설명 없이 아래에서 설명된다.
인코딩되기 전에, 비디오 시퀀스는 프리-인코딩 처리(101), 예를 들어 입력 컬러 픽처에 컬러 변환을 적용하는 것(예를 들어, RGB 4:4:4로부터 YCbCr 4:2:0로의 변환) 또는 (예를 들면 컬러 성분들 중 하나의 컬러 성분의 히스토그램 등화를 사용하여) 압축에 더 탄력적인 신호 분포를 얻기 위하여 입력 픽처 성분들의 리매핑을 수행하는 것을 겪을 수 있다. 메타데이터가 사전 처리와 연관되고, 비트스트림에 첨부된다.
인코더(100)에서, 픽처가 아래에 설명되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는 예를 들어 CU들의 유닛들로 파티셔닝되고(102) 처리된다. 각각의 유닛은 예를 들어 인트라 또는 인터 모드를 사용하여 인코딩된다. 유닛이 인트라 모드에서 인코딩될 때, 그것은 인트라 예측(160)을 수행한다. 인터 모드에서, 모션 추정(175) 및 보상(170)이 수행된다. 인코더는 유닛을 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 것을 사용할지를 결정(105)하고, 예를 들어, 예측 모드 플래그에 의해 인트라/인터 결정을 나타낸다. 예측 잔차들이 예를 들어 원래의 이미지 블록에서 예측 블록을 감산함으로써(110) 계산된다.
이어서, 예측 잔차들이 변환되고(125) 양자화된다(130). 양자화된 변환 계수들뿐만 아니라 모션 벡터들 및 다른 신택스 요소들도 비트스트림을 출력하도록 엔트로피 코딩(145)된다. 인코더는 변환을 생략하고 비변환된 잔차 신호에 직접 양자화를 적용할 수 있다. 인코더는 변환 및 양자화 둘 다를 우회할 수 있는데, 즉 잔차는 변환 또는 양자화 프로세스들의 적용 없이 직접 코딩된다.
인코더는 인코딩된 블록을 디코딩하여 추가적 예측들에 대한 참조를 제공한다. 예측 잔차들을 디코딩하기 위해, 양자화된 변환 계수들은 역양자화되고(140) 역변환된다(150). 디코딩된 예측 잔차들과 예측된 블록을 조합하여(155), 이미지 블록이 재구성된다. 인-루프 필터들(165)은, 예를 들어, 인코딩 아티팩트들을 줄이기 위한 디블로킹(deblocking)/샘플 적응성 오프셋(SAO: Sample Adaptive Offset) 필터링을 수행하기 위해, 재구성된 픽처에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(180)에 저장된다.
도 13은 비디오 디코더(200)의 블록도를 도시한다. 디코더(200)에서, 비트스트림이 아래에서 설명되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로 도 13에 설명된 바와 같이 인코딩 패스(pass)와 상반되는 디코딩 패스를 수행한다. 인코더(100)는 또한 일반적으로 비디오 데이터를 인코딩하는 것의 일부로서 비디오 디코딩을 수행한다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은 먼저, 변환 계수들, 모션 벡터들 및 다른 코딩된 정보를 획득하기 위해 엔트로피 디코딩된다(230). 픽처 파티션 정보는 픽처가 파티셔닝되는 방법을 나타낸다. 따라서, 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 분할할 수 있다(235). 예측 잔차들을 디코딩하기 위해, 변환 계수들은 역양자화되고(240) 역변환된다(250). 디코딩된 예측 잔차들과 예측된 블록을 조합하여(255), 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 모션 보상 예측(즉, 인터 예측)(275)으로부터 획득될 수 있다(270). 인-루프 필터들(265)이 재구성된 이미지에 대해 적용된다. 필터링된 이미지는 참조 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 포스트-디코딩 처리(285), 예를 들어, 역 컬러 변환(예를 들어, YCbCr 4:2:0부터 RGB 4:4:4로의 변환) 또는 프리-인코딩 처리(101)에서 수행된 리매핑 프로세스의 역을 수행하는 역 리매핑을 추가로 겪을 수 있다. 포스트-디코딩 처리는 프리-인코딩 처리에서 도출되고 비트스트림에서 시그널링되는 메타데이터를 사용할 수 있다.
도 14는 다양한 양태들 및 실시예들이 구현되는 시스템의 일례의 블록도를 도시한다. 시스템(1000)은 아래에서 설명되는 다양한 컴포넌트들을 포함하는 디바이스로서 실시될 수 있고 본 명세서에서 설명되는 양태들 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스들의 예들은 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 개인용 비디오 레코딩 시스템, 접속된 가전 기기 및 서버와 같은 다양한 전자 디바이스들을 포함하지만 이에 한정되지는 않는다. 시스템(1000)의 요소들은 단독으로 또는 조합하여 단일 집적 회로(IC), 다수의 IC 및/또는 개별 컴포넌트들로 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(1000)의 처리 및 인코더/디코더 요소들은 다수의 IC 및/또는 개별 컴포넌트들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(1000)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해, 하나 이상의 다른 시스템들 또는 다른 전자 디바이스들에 통신가능하게 결합된다. 다양한 실시예들에서, 시스템(1000)은 본 명세서에서 설명된 양태들 중 하나 이상을 구현하도록 구성된다.
시스템(1000)은, 예를 들어, 본 명세서에 설명된 다양한 양태들을 구현하기 위해 그 안에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(1010)를 포함한다. 프로세서(1010)는 내장 메모리, 입출력 인터페이스, 및 이 분야에 공지된 다양한 다른 회로들을 포함할 수 있다. 시스템(1000)은 적어도 하나의 메모리(1020)(예를 들어, 휘발성 메모리 디바이스 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(1000)은 전기적 소거 및 프로그래밍 가능 판독 전용 메모리(EEPROM), 판독 전용 메모리(ROM), 프로그래밍 가능 판독 전용 메모리(PROM), 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 플래시, 자기 디스크 드라이브 및/또는 광 디스크 드라이브를 포함하지만 이에 한정되지 않는 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는 저장 디바이스(1040)를 포함한다. 저장 디바이스(1040)는 비제한적 예들로서 내부 저장 디바이스, 부착식 저장 디바이스(착탈식 및 비착탈식 저장 디바이스들을 포함함), 및/또는 네트워크 액세스 가능 저장 디바이스를 포함할 수 있다.
시스템(1000)은, 예를 들어, 인코딩된 비디오 또는 디코딩된 비디오를 제공하기 위해 데이터를 처리하도록 구성된 인코더/디코더 모듈(1030)을 포함하고, 인코더/디코더 모듈(1030)은 그 자신의 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(1030)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 모두를 포함할 수 있다. 또한, 인코더/디코더 모듈(1030)은 시스템(1000)의 별개의 요소로서 구현될 수 있거나, 이 분야의 기술자들에게 공지된 바와 같이 하드웨어와 소프트웨어의 조합으로서 프로세서(1010) 내에 통합될 수 있다.
본 명세서에 설명된 다양한 양태들을 수행하기 위해 프로세서(1010) 또는 인코더/디코더(1030) 상에 로딩될 프로그램 코드는 저장 디바이스(1040)에 저장될 수 있고, 후속하여 프로세서(1010)에 의한 실행을 위해 메모리(1020) 상에 로딩될 수 있다. 다양한 실시예들에 따르면, 프로세서(1010), 메모리(1020), 저장 디바이스(1040), 및 인코더/디코더 모듈(1030) 중 하나 이상은 본 명세서에 설명된 프로세스들의 수행 동안 다양한 아이템들 중 하나 이상을 저장할 수 있다. 이러한 저장된 아이템들은 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 부분들, 비트스트림, 행렬들, 변수들, 및 방정식들, 공식들, 연산들 및 연산 로직의 처리로부터의 중간 또는 최종 결과들을 포함할 수 있지만, 이에 제한되지는 않는다.
일부 실시예들에서, 프로세서(1010) 및/또는 인코더/디코더 모듈(1030) 내부의 메모리는 명령어들을 저장하고 인코딩 또는 디코딩 동안에 필요한 처리를 위한 작업 메모리를 제공하는 데 사용된다. 그러나, 다른 실시예들에서는, 처리 디바이스(예를 들어, 처리 디바이스는 프로세서(1010) 또는 인코더/디코더 모듈(1030)일 수 있음) 외부의 메모리가 이러한 기능들 중 하나 이상을 위해 사용된다. 외부 메모리는 메모리(1020) 및/또는 저장 디바이스(1040), 예를 들어 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다. 몇몇 실시예에서, 예를 들어 텔레비전의 운영 체제를 저장하기 위해 외부 비휘발성 플래시 메모리가 사용된다. 적어도 하나의 실시예에서, RAM과 같은 고속 외부 동적 휘발성 메모리는 MPEG-2(MPEG은 동화상 전문가 그룹을 지칭하고, MPEG-2는 ISO/IEC 13818로도 지칭되고, 13818-1은 H.222로도 알려져 있고, 13818-2는 H.262로도 알려져 있음), HEVC(HEVC는 H.265 및 MPEG-H 파트 2로도 알려져 있는 고효율 비디오 코딩을 지칭함) 또는 VCC(Versatile Video Coding, JVET(Joint Video Experts Team)에 의해 개발되고 있는 새로운 표준)와 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 사용된다.
시스템(1000)의 요소들에 대한 입력은 블록(1130)에 표시된 바와 같이 다양한 입력 디바이스들을 통해 제공될 수 있다. 이러한 입력 디바이스들은 (i) 예를 들어 방송사에 의해 무선 송신된 무선 주파수(RF) 신호를 수신하는 RF 부분, (ii) 컴포넌트(COMP) 입력 단자(또는 COMP 입력 단자들의 세트), (iii) 범용 직렬 버스(USB) 입력 단자, 및/또는 (iv) 고화질 멀티미디어 인터페이스(HDMI) 입력 단자를 포함하지만, 이에 한정되지 않는다. 도 10에 도시되지 않은 다른 예들은 합성 비디오를 포함한다.
다양한 실시예들에서, 블록(1130)의 입력 디바이스들은 이 분야에 알려진 바와 같은 연관된 각각의 입력 처리 요소를 갖는다. 예를 들어, RF 부분은 (i) 원하는 주파수를 선택하는 것(신호를 선택하는 것 또는 신호를 주파수들의 대역으로 제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향 변환하는 것, (iii) 주파수들의 더 좁은 대역으로 다시 대역 제한하여 소정 실시예들에서 채널로 지칭될 수 있는 (예를 들어) 신호 주파수 대역을 선택하는 것, (iv) 하향 변환되고 대역 제한된 신호를 복조하는 것, (V) 에러 정정을 수행하는 것, 및 (vi) 원하는 데이터 패킷들의 스트림을 선택하기 위해 역다중화하는 것에 적합한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 부분은 이러한 기능들을 수행하기 위한 하나 이상의 요소들, 예를 들어 주파수 선택기들, 신호 선택기들, 대역 제한기들, 채널 선택기들, 필터들, 하향 변환기들, 복조기들, 에러 정정기들 및 역다중화기들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 근-기저대역 주파수(near-baseband frequency))로 또는 기저대역으로 하향 변환하는 것을 포함하는 다양한 이러한 기능들을 수행하는 튜너를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 부분 및 그의 연관된 입력 처리 요소는 유선(예를 들어, 케이블) 매체를 통해 송신되는 RF 신호를 수신하고, 필터링, 하향 변환, 및 원하는 주파수 대역으로의 다시 한 번의 필터링에 의해 주파수 선택을 수행한다. 다양한 실시예들은 전술한(그리고 다른) 요소들의 순서를 재배열하고, 이 요소들의 일부를 제거하고/하거나, 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소들을 추가하는 것은, 예를 들어, 증폭기들 및 아날로그-디지털 변환기를 삽입하는 것과 같이 기존 요소들 사이에 요소들을 삽입하는 것을 포함할 수 있다. 다양한 실시예들에서, RF 부분은 안테나를 포함한다.
또한, USB 및/또는 HDMI 단자들은 USB 및/또는 HDMI 접속들을 통해 다른 전자 디바이스들에 시스템(1000)을 접속하기 위한 각각의 인터페이스 프로세서를 포함할 수 있다. 입력 처리의 다양한 양태들, 예를 들어 리드-솔로몬 에러 정정이 예를 들어 필요에 따라 별도의 입력 처리 IC 내에서 또는 프로세서(1010) 내에서 구현될 수 있다는 것을 이해해야 한다. 유사하게, USB 또는 HDMI 인터페이스 처리의 양태들은 필요에 따라 별도의 인터페이스 IC들 내에서 또는 프로세서(1010) 내에서 구현될 수 있다. 복조되고 에러 정정되고 역다중화된 스트림은, 예를 들어, 프로세서(1010), 및 출력 디바이스 상에서의 제시를 위해 필요에 따라 데이터스트림을 처리하기 위해 메모리 및 저장 요소들과 조합하여 동작하는 인코더/디코더(1030)를 포함하는 다양한 처리 요소들에 제공된다.
시스템(1000)의 다양한 요소들은 통합 하우징 내에 제공될 수 있다. 통합 하우징 내에서, 다양한 요소들은 적합한 접속 배열, 예를 들어 I2C(Inter-IC) 버스, 와이어링 및 인쇄 회로 보드들을 포함하는, 이 분야에 공지된 바와 같은 내부 버스를 사용하여 상호접속되고 그들 사이에서 데이터를 송신할 수 있다.
시스템(1000)은 통신 채널(1060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1050)를 포함한다. 통신 인터페이스(1050)는 통신 채널(1060)을 통해 데이터를 송신하고 수신하도록 구성된 송수신기를 포함할 수 있지만, 이에 한정되는 것은 아니다. 통신 인터페이스(1050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만 이에 제한되지 않으며, 통신 채널(1060)은 예를 들어 유선 및/또는 무선 매체 내에서 구현될 수 있다.
다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어 IEEE 802.11(IEEE는 전기 전자 엔지니어 협회(Institute of Electrical and Electronics Engineers)를 지칭함)과 같은 무선 네트워크를 사용하여 데이터가 시스템(1000)에 스트리밍되거나 다른 방식으로 제공된다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들을 위해 적응되는 통신 채널(1060) 및 통신 인터페이스(1050)를 통해 수신된다. 이러한 실시예들의 통신 채널(1060)은 통상적으로 스트리밍 애플리케이션들 및 다른 오버-더-톱(over-the-top) 통신들을 허용하기 위해 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다. 다른 실시예들은 입력 블록(1130)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 또 다른 실시예들은 입력 블록(1130)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 위에 표시된 바와 같이, 다양한 실시예들은 비-스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시예들은 Wi-Fi 이외의 무선 네트워크들, 예를 들어, 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(1000)은 디스플레이(1100), 스피커들(1110), 및 다른 주변 디바이스들(1120)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다양한 실시예들의 디스플레이(1100)는, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 곡면 디스플레이, 및/또는 폴더블 디스플레이 중 하나 이상을 포함한다. 디스플레이(1100)는 텔레비전, 태블릿, 랩톱, 셀폰(모바일 폰), 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이(1100)는 또한 (예를 들어, 스마트폰에서와 같이) 다른 컴포넌트들과 통합되거나, 별개(예를 들어, 랩톱용의 외부 모니터)일 수 있다. 다른 주변 디바이스들(1120)은, 실시예들의 다양한 예들에서, 독립형 디지털 비디오 디스크(또는 디지털 다기능 디스크)(두 용어에 대해 DVR), 디스크 플레이어, 스테레오 시스템, 및/또는 조명 시스템 중 하나 이상을 포함한다. 다양한 실시예들은 시스템(1000)의 출력에 기초하여 기능을 제공하는 하나 이상의 주변 디바이스(1120)를 사용한다. 예를 들어, 디스크 플레이어는 시스템(1000)의 출력을 재생하는 기능을 수행한다.
다양한 실시예들에서, 제어 신호들은 AV.Link, CEC(Consumer Electronics Control), 또는 사용자 개입이 있거나 없이 디바이스 대 디바이스 제어를 가능하게 하는 다른 통신 프로토콜들과 같은 시그널링을 이용하여 시스템(1000)과 디스플레이(1100), 스피커들(1110) 또는 다른 주변 디바이스들(1120) 사이에서 통신된다. 출력 디바이스들은 각각의 인터페이스(1070, 1080 및 1090)를 통해 전용 접속들을 통해 시스템(1000)에 통신가능하게 결합될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(1050)를 통해 통신 채널(1060)을 사용하여 시스템(1000)에 접속될 수 있다. 디스플레이(1100) 및 스피커들(1110)은, 예를 들어, 텔레비전과 같은 전자 디바이스에서 시스템(1000)의 다른 컴포넌트들과 함께 단일 유닛으로 통합될 수 있다. 다양한 실시예들에서, 디스플레이 인터페이스(1070)는, 예를 들어, 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이(1100) 및 스피커(1110)는 대안적으로, 예를 들어, 입력(1130)의 RF 부분이 별도의 셋톱 박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상과 별개일 수 있다. 디스플레이(1100) 및 스피커들(1110)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는 예를 들어, HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함하는 전용 출력 접속들을 통해 제공될 수 있다.
실시예들은 프로세서(1010)에 의해 구현되는 컴퓨터 소프트웨어에 의해 또는 하드웨어에 의해 또는 하드웨어와 소프트웨어의 조합에 의해 수행될 수 있다. 비제한적인 예로서, 실시예들은 하나 이상의 집적 회로에 의해 구현될 수 있다. 메모리(1020)는 기술적 환경에 적절한 임의의 타입일 수 있고, 비제한적 예들로서 광학 적 메모리 디바이스들, 자기 메모리 디바이스들, 반도체 기반 메모리 디바이스들, 고정식 메모리, 및 이동식 메모리와 같은 임의의 적절한 데이터 저장 기술을 사용하여 구현될 수 있다. 프로세서(1010)는 기술적 환경에 적절한 임의의 타입일 수 있고, 비제한적 예들로서 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들, 및 멀티 코어 아키텍처에 기초한 프로세서들 중 하나 이상을 포함할 수 있다.
다양한 구현들은 디코딩을 수반한다. 본 출원에서 사용되는 바와 같은 "디코딩"은 디스플레이에 적합한 최종 출력을 생성하기 위해, 예를 들어, 수신된 인코딩된 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 디코더에 의해 통상적으로 수행되는 프로세스들, 예를 들어, 엔트로피 디코딩, 역양자화, 역변환 및 차동 디코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한 또는 대안적으로 본 출원에서 설명된 다양한 구현들의 디코더에 의해 수행되는 프로세스들, 예를 들어, 양방향 예측 플래그를 디코딩하는 것, 양방향 예측을 위한 파티션 및 예측자 리스트 내의 인덱스를 디코딩하는 것, 블록 내의 픽셀의 위치에 따라, 특히 PU의 파티션의 에지를 따라 가중치를 결정하는 것, 및 양방향 예측 및 결정된 가중치를 사용하여 인터에서 모션 보상을 수행하는 것을 포함한다.
추가 예들로서, 하나의 실시예에서, "디코딩"은 엔트로피 디코딩만을 지칭하고, 다른 실시예에서, "디코딩"은 차동 디코딩만을 지칭하고, 다른 실시예에서, "디코딩"은 엔트로피 디코딩과 차동 디코딩의 조합을 지칭한다. "디코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되는지 또는 일반적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 이 분야의 기술자들에 의해 잘 이해될 것으로 여겨진다.
다양한 구현들은 인코딩을 수반한다. "디코딩"에 관한 위의 논의와 유사한 방식으로, 본 출원에서 사용되는 바와 같은 "인코딩"은 인코딩된 비트스트림을 생성하기 위해, 예를 들어, 입력 비디오 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 인코더에 의해 통상적으로 수행되는 프로세스들, 예를 들어, 파티셔닝, 차동 인코딩, 변환, 양자화 및 엔트로피 인코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한 또는 대안적으로 본 출원에서 설명된 다양한 구현들의 인코더에 의해 수행되는 프로세스들, 예를 들어, 모션 보상 및 모션 예측을 사용하여 양방향 예측 스킴에서 예측자를 결정하고 - 양방향 예측의 가중치는 블록 내의 픽셀의 위치에 기초하고, 특히 PU의 파티션의 에지를 따름 -, 양방향 예측을 사용하여 인터에서 모션 보상을 수행하는 것, 및 양방향 예측 플래그를 인코딩하고, 양방향 예측을 위한 파티션을 인코딩하고, 예측자 리스트 내의 인덱스를 인코딩하는 것을 포함한다.
추가 예들로서, 하나의 실시예에서 "인코딩"은 엔트로피 인코딩만을 지칭하고, 다른 실시예에서 "인코딩"은 차동 인코딩만을 지칭하며, 다른 실시예에서 "인코딩"은 차동 인코딩과 엔트로피 인코딩의 조합을 지칭한다. "인코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되는지 또는 일반적으로 더 넓은 인코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 이 분야의 기술자들에 의해 잘 이해될 것으로 여겨진다.
본 명세서에서 사용되는 바와 같은 신택스 요소들, 예를 들어 diagonal_dir, diagonal_pos, diagonal_flag, partition_dir, partition_pos는 설명적 용어들이라는 점에 유의한다. 따라서, 그들은 다른 신택스 요소 명칭들의 사용을 배제하지 않는다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것이 이해되어야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 또한 대응하는 방법/프로세스의 흐름도를 제공한다는 것이 이해되어야 한다.
다양한 실시예들은 예를 들어 인코더에서 양방향 예측된 다수의 파티션 PU에 대한 조합들을 테스트할 때 레이트 왜곡 최적화를 언급한다. 특히, 인코딩 프로세스 동안, 종종 계산 복잡도의 제약이 주어지면, 레이트와 왜곡 사이의 균형 또는 절충이 일반적으로 고려된다. 레이트 왜곡 최적화는 일반적으로 레이트 및 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로서 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법들이 있다. 예를 들어, 접근법들은 코딩 및 디코딩 이후에 재구성된 신호의 코딩 비용 및 관련 왜곡의 완전한 평가와 함께, 모든 고려된 모드들 또는 코딩 파라미터 값들을 포함하는 모든 인코딩 옵션들의 광범위한 테스팅에 기초할 수 있다. 인코딩 복잡성을 피하기 위해, 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 계산을 이용하는 더 빠른 접근법들이 또한 사용될 수 있다. 예컨대 가능한 인코딩 옵션들 중 일부에 대해서만 근사화된 왜곡을 그리고 다른 인코딩 옵션들에 대해서는 완전한 왜곡을 사용함으로써 이들 2개의 접근법의 혼합이 또한 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기술들 중 임의의 기술을 사용하지만, 최적화는 반드시 코딩 비용 및 관련 왜곡 둘 다의 완전한 평가인 것은 아니다.
본 명세서에서 설명된 구현들 및 양태들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터스트림 또는 신호로 구현될 수 있다. 단일 구현 형태의 맥락에서만 논의되더라도(예를 들어, 방법으로서만 논의되더라도), 논의되는 특징들의 구현은 다른 형태들(예를 들어, 장치 또는 프로그램)로 또한 구현될 수 있다. 장치는 예를 들어 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍 가능 로직 디바이스를 포함하는 일반적인 처리 디바이스들을 지칭하는, 예를 들어 프로세서에서 구현될 수 있다. 프로세서들은 또한 예를 들어, 컴퓨터들, 셀폰들, 휴대용/개인용 휴대 단말기들("PDA들"), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
"일 실시예" 또는 "실시예" 또는 "일 구현" 또는 "구현"뿐만 아니라 이들의 다른 변형들에 대한 언급은 실시예와 관련하여 설명된 특정 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 출원의 전반에 걸친 다양한 위치들에서 등장하는 문구 "일 실시예에서" 또는 "실시예에서" 또는 "일 구현에서" 또는 "구현에서"뿐만 아니라 임의의 다른 변형들의 출현들은 반드시 모두가 동일한 실시예를 지칭하는 것은 아니다.
또한, 본 출원은 다양한 정보를 "결정하는 것"을 언급할 수 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것 또는 정보를 메모리로부터 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보에 "액세스하는 것"을 언급할 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보를 "수신하는 것"을 언급할 수 있다. 수신하는 것은 "액세스하는 것"과 같이 광의의 용어로 의도된다. 정보를 수신하는 것은 예를 들어 정보에 액세스하는 것 또는 (예로서, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 통상적으로 예를 들어 정보를 저장하는 것, 정보를 처리하는 것, 정보를 송신하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것 또는 정보를 추정하는 것과 같은 동작들 동안 하나의 방식 또는 다른 방식으로 수반된다.
예를 들어, "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우들에서의 이하의 "/", "및/또는" 및 "~ 중 적어도 하나" 중 임의의 것의 사용은 처음 열거된 옵션 (A)만의 선택 또는 두 번째로 열거된 옵션 (B)만의 선택 또는 옵션 (A 및 B) 둘 다의 선택을 포함하는 것으로 의도된다는 것을 알아야 한다. 추가 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나"의 경우들에서, 이러한 문구는 첫 번째로 열거된 옵션 (A)만의 선택 또는 두 번째로 열거된 옵션 (B)만의 선택 또는 세 번째로 열거된 옵션 (C)만의 선택 또는 첫 번째와 두 번째로 열거된 옵션 (A 및 B)만의 선택 또는 첫 번째와 세 번째로 열거된 옵션 (A 및 C)만의 선택 또는 두 번째와 세 번째로 열거된 옵션 (B 및 C)만의 선택 또는 3개의 옵션 (A 및 B 및 C) 전부의 선택을 포함하는 것으로 의도된다. 이것은 이 분야 및 관련 분야의 통상의 기술자에게 명백한 바와 같이 열거되는 바와 같은 많은 아이템들에 대해 확장될 수 있다.
또한, 본 명세서에서 사용되는 바와 같이, 단어 "신호"는 많은 가운데 특히 대응하는 디코더에 대한 무언가의 표시를 지칭한다. 예를 들어, 소정 실시예들에서, 인코더는 개선된 양방향 예측을 위해, 예를 들어 블록의 분할 및 연관된 가중치를 시그널링하기 위해 복수의 파라미터 중 특정 파라미터를 시그널링한다. 이러한 방식으로, 일 실시예에서, 인코더 측 및 디코더 측 둘 다에서 동일한 파라미터가 사용된다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 송신(명시적 시그널링)할 수 있다. 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것들도 갖는 경우, 시그널링은 송신(암시적 시그널링) 없이 단지 디코더가 특정 파라미터를 알고 선택하는 것을 허용하기 위해 사용될 수 있다. 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링은 다양한 방식들로 달성될 수 있다는 것을 알아야 한다. 예를 들어, 다양한 실시예들에서, 하나 이상의 신택스 요소, 플래그 등이 정보를 대응하는 디코더에 시그널링하는 데 사용된다. 전술한 것은 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 명사로서 본 명세서에서 사용될 수도 있다.
이 분야의 통상의 기술자에게 명백한 바와 같이, 구현들은 예를 들어 저장 또는 송신될 수 있는 정보를 반송하도록 포맷팅된 다양한 신호들을 생성할 수 있다. 정보는 예를 들어 방법을 수행하기 위한 명령어들, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 반송하도록 포맷팅될 수 있다. 이러한 신호는 예컨대 (예컨대, 스펙트럼의 무선 주파수 부분을 사용하는) 전자기파로서 또는 기저 대역 신호로서 포맷팅될 수 있다. 포맷팅은 예를 들어 데이터 스트림을 인코딩하는 것 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는 예를 들어 아날로그 또는 디지털 정보일 수 있다. 신호는 공지된 바와 같은 다양한 상이한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
다수의 실시예들이 설명되었다. 이러한 실시예들의 특징들은 단독으로 또는 임의의 조합으로 제공될 수 있다. 또한, 실시예들은 다양한 청구항 카테고리들 및 유형들에 걸쳐, 하기의 특징들, 디바이스들 또는 양태들 중 하나 이상을 단독으로 또는 임의의 조합으로 포함할 수 있다.
Figure pct00003
디코더 및/또는 인코더에서 적용되는 양방향 예측 프로세스를 수정한다.
Figure pct00004
디코더 및/또는 인코더에서 정밀도가 증가된 양방향 예측 방법들을 적용한다.
Figure pct00005
디코더 및/또는 인코더에서 양방향 예측 방법들을 위해 동일한 PU에서 몇몇 가중치들을 가능하게 한다.
Figure pct00006
디코더 및/또는 인코더에서 PU의 파티션의 에지에 대한 픽셀의 위치에 따라 양방향 예측 방법들을 위해 PU에서 가중치들을 결정한다.
Figure pct00007
디코더 및/또는 인코더에서 PU의 다수의 파티션의 에지에 대한 픽셀의 위치에 따라 양방향 예측 방법들을 위해 PU에서 가중치들을 결정한다.
Figure pct00008
디코더가 사용할 양방향 예측 방법을 위한 PU 파티션 및 선택적으로 각각의 픽셀에 대한 가중치를 식별할 수 있게 하는 신택스 요소들을 시그널링에 삽입한다.
Figure pct00009
이러한 신택스 요소들에 기초하여, 디코더에서 적용할 양방향 예측 방법을 위한 파티션 및 가중치들을 선택한다.
Figure pct00010
논의된 실시예들 중 임의의 것에 따라 인코더 및/또는 디코더에서 단방향 예측 모션 모델을 사용하여 그들을 가중 양방향 예측으로 조합한다.
Figure pct00011
설명된 신택스 요소들 또는 그의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호.
Figure pct00012
디코더가 인코더에 의해 사용되는 것에 대응하는 방식으로 모션 보상을 수행할 수 있게 하는 신택스 요소들을 시그널링에 삽입한다.
Figure pct00013
설명된 신택스 요소들 또는 그 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성 및/또는 송신 및/또는 수신 및/또는 디코딩한다.
Figure pct00014
설명된 실시예들 중 임의의 것에 따라 인터에서 양방향 예측을 수행하는 TV, 셋톱 박스, 셀폰, 태블릿 또는 다른 전자 디바이스.
Figure pct00015
설명된 실시예들 중 임의의 것에 따라 인터에서 양방향 예측을 수행하고 (예컨대, 모니터, 스크린 또는 다른 유형의 디스플레이를 사용하여) 결과적인 이미지를 디스플레이하는 TV, 셋톱 박스, 셀폰, 태블릿 또는 다른 전자 디바이스.
Figure pct00016
인코딩된 이미지를 포함하는 신호를 수신하기 위해 채널을 (예를 들어, 튜너를 사용하여) 튜닝하고, 설명된 실시예들 중 임의의 것에 따라 인터에서 양방향 예측을 수행하는 TV, 셋톱 박스, 셀폰, 태블릿 또는 다른 전자 디바이스.
Figure pct00017
인코딩된 이미지를 포함하는 신호를 (예를 들어, 안테나를 사용하여) 무선 수신하고, 설명된 실시예들 중 임의의 것에 따라 인터 파라미터들에서 양방향 예측을 수행하는 TV, 셋톱 박스, 셀폰, 태블릿 또는 다른 전자 디바이스.

Claims (14)

  1. 비디오 인코딩을 위한 방법으로서,
    제1 참조 픽처를 사용하여 픽처의 블록에 대한 제1 예측자를 획득하는 단계(1510);
    제2 참조 픽처를 사용하여 상기 픽처의 블록에 대한 제2 예측자를 획득하는 단계(1510);
    양방향 예측 인터 예측(bi-prediction inter prediction)에서 상기 픽처의 블록에 대한 제3 예측자를 형성하기 위해 상기 제1 예측자 및 상기 제2 예측자를 사용하는 단계(1540, 1550) - 상기 제3 예측자는 상기 제1 예측자와 상기 제2 예측자의 가중 평균으로서 획득됨 -
    를 포함하며;
    상기 제1 예측자의 샘플에 제1 가중치를 적용함으로써 그리고 상기 제2 예측자의 샘플에 제2 가중치를 적용함으로써 상기 제3 예측자의 샘플이 획득되고; 상기 제3 예측자의 샘플, 상기 제1 예측자의 샘플, 및 상기 제2 예측자의 샘플은 상기 블록 내의 동일한 위치를 공유하고; 상기 제1 가중치 및 상기 제2 가중치는 상기 블록 내의 샘플의 위치에 의존하는, 방법.
  2. 비디오 디코딩을 위한 방법으로서,
    제1 참조 픽처를 사용하여 픽처의 블록에 대한 제1 예측자를 획득하는 단계(1510);
    제2 참조 픽처를 사용하여 상기 픽처의 블록에 대한 제2 예측자를 획득하는 단계(1510);
    양방향 예측 인터 예측에서 상기 픽처의 블록에 대한 제3 예측자를 형성하기 위해 상기 제1 예측자 및 상기 제2 예측자를 사용하는 단계(1540, 1550) - 상기 제3 예측자는 상기 제1 예측자와 상기 제2 예측자의 가중 평균으로서 획득됨 -
    를 포함하며;
    상기 제1 예측자의 샘플에 제1 가중치를 적용함으로써 그리고 상기 제2 예측자의 샘플에 제2 가중치를 적용함으로써 상기 제3 예측자의 샘플이 획득되고; 상기 제3 예측자의 샘플, 상기 제1 예측자의 샘플, 및 상기 제2 예측자의 샘플은 상기 블록 내의 동일한 위치를 공유하고; 상기 제1 가중치 및 상기 제2 가중치는 상기 블록 내의 샘플의 위치에 의존하는, 방법.
  3. 비디오 인코딩을 위한 장치로서,
    하나 이상의 프로세서
    를 포함하며, 상기 하나 이상의 프로세서는:
    제1 참조 픽처를 사용하여 픽처의 블록에 대한 제1 예측자를 획득하고;
    제2 참조 픽처를 사용하여 상기 픽처의 블록에 대한 제2 예측자를 획득하고;
    양방향 예측 인터 예측에서 상기 픽처의 블록에 대한 제3 예측자를 형성하기 위해 상기 제1 예측자 및 상기 제2 예측자를 사용하도록 - 상기 제3 예측자는 상기 제1 예측자와 상기 제2 예측자의 가중 평균으로서 획득됨 -
    구성되고;
    상기 제1 예측자의 샘플에 제1 가중치를 적용함으로써 그리고 상기 제2 예측자의 샘플에 제2 가중치를 적용함으로써 상기 제3 예측자의 샘플이 획득되고; 상기 제3 예측자의 샘플, 상기 제1 예측자의 샘플, 및 상기 제2 예측자의 샘플은 상기 블록 내의 동일한 위치를 공유하고; 상기 제1 가중치 및 상기 제2 가중치는 상기 블록 내의 샘플의 위치에 의존하는, 장치.
  4. 비디오 디코딩을 위한 장치로서,
    하나 이상의 프로세서
    를 포함하며, 상기 하나 이상의 프로세서는:
    제1 참조 픽처를 사용하여 픽처의 블록에 대한 제1 예측자를 획득하고;
    제2 참조 픽처를 사용하여 상기 픽처의 블록에 대한 제2 예측자를 획득하고;
    양방향 예측 인터 예측에서 상기 픽처의 블록에 대한 제3 예측자를 형성하기 위해 상기 제1 예측자 및 상기 제2 예측자를 사용하도록 - 상기 제3 예측자는 상기 제1 예측자와 상기 제2 예측자의 가중 평균으로서 획득됨 -
    구성되고;
    상기 제1 예측자의 샘플에 제1 가중치를 적용함으로써 그리고 상기 제2 예측자의 샘플에 제2 가중치를 적용함으로써 상기 제3 예측자의 샘플이 획득되고; 상기 제3 예측자의 샘플, 상기 제1 예측자의 샘플, 및 상기 제2 예측자의 샘플은 상기 블록 내의 동일한 위치를 공유하고; 상기 제1 가중치와 상기 제2 가중치는 상기 블록 내의 샘플의 위치에 의존하는, 장치.
  5. 제1항 또는 제2항, 또는 제3항 또는 제4항에 있어서, 상기 제1 예측자와 상기 제2 예측자의 가중 평균은 상기 제1 예측자, 상기 제2 예측자, 및 상기 제3 예측자의 비트 깊이 이상의 비트 깊이에 대해 처리되는, 방법 또는 장치.
  6. 제1항, 제2항, 및 제5항 중 어느 한 항, 또는 제3항 내지 제5항 중 어느 한에 있어서, 삼각 파티션을 갖는 상기 픽처의 블록의 분할을 나타내는 제1 정보가 획득되고, 상기 제1 가중치 및 상기 제2 가중치는 샘플과 상기 블록의 삼각 파티션의 에지 사이의 거리에 의존하는, 방법 또는 장치.
  7. 제6항에 있어서, 상기 픽처의 블록의 삼각 파티션의 에지의 방향을 나타내는 제2 정보가 획득되는, 방법 또는 장치.
  8. 제6항 또는 제7항에 있어서, 상기 블록 내의 삼각 파티션의 에지의 위치를 나타내는 제3 정보가 획득되는, 방법 또는 장치.
  9. 제6항, 제7항, 및 제8항 중 어느 한 항에 있어서, 상기 삼각 파티션의 에지가 상기 블록 내에서 수직 또는 수평임을 나타내는 제4 정보가 획득되는, 방법 또는 장치.
  10. 제6항 내지 제9항 중 어느 한 항에 있어서, 상기 제1 정보, 상기 제2 정보, 상기 제3 정보, 및 상기 제4 정보 중 적어도 하나가 엔트로피 코딩되거나 엔트로피 디코딩되는, 방법 또는 장치.
  11. 제1항, 제2항, 제5항, 제6항, 제7항, 제8항, 제9항, 및 제10항 중 어느 한 항, 또는 제3항 내지 제10항 중 어느 한 항에 있어서, 상기 픽처의 블록은 루마 성분 및 2개의 크로마 성분을 포함하고, 상기 제1 가중치 및 상기 제2 가중치는 또한, 상기 루마 성분 또는 상기 크로마 성분에 의존하는, 방법 또는 장치.
  12. 비일시적 컴퓨터 판독가능 매체로서, 프로세서를 사용한 재생을 위한, 제3항 내지 제11항 중 어느 한 항의 장치에 따라 또는 제1항, 제2항, 제4항, 제5항, 제6항, 제7항, 제8항, 제9항, 제10항, 및 제11항 중 어느 한 항의 방법에 의해 생성된 데이터 콘텐츠를 포함하는, 비일시적 컴퓨터 판독가능 매체.
  13. 컴퓨터 프로그램 제품으로서, 하나 이상의 프로세서에 의해 실행될 때 제1항, 제2항, 제5항, 제6항, 제7항, 제8항, 제9항, 제10항, 및 제11항 중 어느 한 항의 방법을 수행하기 위한 컴퓨팅 명령어를 포함하는, 컴퓨터 프로그램 제품.
  14. 인코딩된 비디오를 포함하는 신호로서,
    제1 참조 픽처를 사용하여 픽처의 블록에 대한 제1 예측자를 획득하는 단계;
    제2 참조 픽처를 사용하여 상기 픽처의 블록에 대한 제2 예측자를 획득하는 단계;
    양방향 예측 인터 예측에서 상기 픽처의 블록에 대한 제3 예측자를 형성하기 위해 상기 제1 예측자 및 상기 제2 예측자를 사용하는 단계 - 상기 제3 예측자는 상기 제1 예측자와 상기 제2 예측자의 가중 평균으로서 획득됨 -
    를 수행함으로써 형성되고;
    상기 제1 예측자의 샘플에 제1 가중치를 적용함으로써 그리고 상기 제2 예측자의 샘플에 제2 가중치를 적용함으로써 상기 제3 예측자의 샘플이 획득되고; 상기 제3 예측자의 샘플, 상기 제1 예측자의 샘플, 및 상기 제2 예측자의 샘플은 상기 블록 내의 동일한 위치를 공유하고; 상기 제1 가중치 및 상기 제2 가중치는 상기 블록 내의 샘플의 위치에 의존하는, 신호.
KR1020217011690A 2018-09-21 2019-09-18 양방향 예측을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 장치 KR20210062055A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18306231.4 2018-09-21
EP18306231 2018-09-21
PCT/US2019/051653 WO2020061147A1 (en) 2018-09-21 2019-09-18 Method and apparatus for video encoding and decoding using bi-prediction

Publications (1)

Publication Number Publication Date
KR20210062055A true KR20210062055A (ko) 2021-05-28

Family

ID=67436823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217011690A KR20210062055A (ko) 2018-09-21 2019-09-18 양방향 예측을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 장치

Country Status (7)

Country Link
US (2) US11677976B2 (ko)
EP (1) EP3854079A1 (ko)
JP (2) JP7502278B2 (ko)
KR (1) KR20210062055A (ko)
CN (1) CN112740674A (ko)
IL (1) IL281533A (ko)
WO (1) WO2020061147A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI738081B (zh) * 2018-10-10 2021-09-01 聯發科技股份有限公司 視訊編碼系統中結合多重預測子用於區塊預測之方法和裝置
CN111418207B (zh) 2018-11-06 2024-04-19 北京字节跳动网络技术有限公司 依赖块尺寸的对运动信息的存储
JP7451873B2 (ja) * 2019-03-08 2024-03-19 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム
CN110312130B (zh) * 2019-06-25 2021-10-15 浙江大华技术股份有限公司 基于三角模式的帧间预测、视频编码方法及设备
EP4262202A1 (en) * 2022-04-13 2023-10-18 Panasonic Intellectual Property Corporation of America Encoder, decoder, encoding method, and decoding method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106060547B (zh) * 2010-06-07 2019-09-13 数码士有限公司 解码高分辨率图像的方法和装置
SG189184A1 (en) * 2010-10-01 2013-05-31 Samsung Electronics Co Ltd Image intra prediction method and apparatus
CA3017176C (en) * 2011-06-28 2020-04-28 Samsung Electronics Co., Ltd. Method and apparatus for image encoding and decoding using intra prediction
KR101663394B1 (ko) * 2011-11-11 2016-10-06 지이 비디오 컴프레션, 엘엘씨 적응적 분할 코딩
US9497473B2 (en) * 2013-10-03 2016-11-15 Qualcomm Incorporated High precision explicit weighted prediction for video coding
US9986236B1 (en) 2013-11-19 2018-05-29 Google Llc Method and apparatus for encoding a block using a partitioned block and weighted prediction values
JP2015192381A (ja) * 2014-03-28 2015-11-02 ソニー株式会社 画像処理装置及び画像処理方法
KR101857797B1 (ko) * 2014-03-31 2018-05-14 삼성전자주식회사 깊이 영상을 부호화 또는 복호화 하는 방법 및 장치
WO2016138513A1 (en) * 2015-02-27 2016-09-01 Arris Enterprises, Inc. Modification of unification of intra block copy and inter signaling related syntax and semantics
CA2988107A1 (en) * 2015-06-19 2016-12-22 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
KR20210049822A (ko) 2018-09-07 2021-05-06 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 비디오 코딩 시스템 및 방법

Also Published As

Publication number Publication date
JP7502278B2 (ja) 2024-06-18
US20230362405A1 (en) 2023-11-09
CN112740674A (zh) 2021-04-30
US11677976B2 (en) 2023-06-13
JP2022502905A (ja) 2022-01-11
WO2020061147A1 (en) 2020-03-26
WO2020061147A8 (en) 2021-04-22
JP2024119908A (ja) 2024-09-03
EP3854079A1 (en) 2021-07-28
US20210352320A1 (en) 2021-11-11
IL281533A (en) 2021-05-31

Similar Documents

Publication Publication Date Title
CN113273209B (zh) Mmvd和smvd与运动和预测模型的组合
US20230164314A1 (en) Method and apparatus for deblocking an image
US20220078405A1 (en) Simplifications of coding modes based on neighboring samples dependent parametric models
JP7502278B2 (ja) 双予測を使用するビデオエンコーディングおよびデコーディングのための方法および装置
CN112889287A (zh) 广义双向预测和加权预测
US20230232037A1 (en) Unified process and syntax for generalized prediction in video coding/decoding
CN113170113B (zh) 用于视频编码和解码的三角形和多重假设组合
KR20230145097A (ko) 공간 국소 조명 보상
KR20210069715A (ko) 비디오 인코딩 및 디코딩의 아핀 모드 시그널링
US11991389B2 (en) Method and apparatus for video encoding and decoding with optical flow based on boundary smoothed motion compensation
KR20220123666A (ko) 가중-예측 파라미터들의 추정
US20240171731A1 (en) Geometric partitions with switchable interpolation filter
US20230023837A1 (en) Subblock merge candidates in triangle merge mode
US20220264147A1 (en) Hmvc for affine and sbtmvp motion vector prediction modes
KR20220052991A (ko) 스위칭가능한 보간 필터들
WO2024033116A1 (en) Geometric partition mode boundary prediction
WO2024078896A1 (en) Template type selection for video coding and decoding
WO2024208650A1 (en) Intra geometric partition mode with template matching
KR20240056576A (ko) 템플릿 매칭에 기초한 비디오 인코딩 및 디코딩을 위한 크로마 예측
WO2023194103A1 (en) Temporal intra mode derivation
EP3994893A1 (en) Signaling of merge indices for triangle partitions
KR20240099324A (ko) 기준 픽처 리샘플링을 사용한 비디오 인코딩 및 디코딩
WO2024208648A1 (en) Coding of intra geometric partition mode with template matching
CN114270829A (zh) 局部照明补偿标志继承