KR20210018942A - 비디오 코딩을 위한 양방향 광학 흐름의 방법 및 장치 - Google Patents

비디오 코딩을 위한 양방향 광학 흐름의 방법 및 장치 Download PDF

Info

Publication number
KR20210018942A
KR20210018942A KR1020217000801A KR20217000801A KR20210018942A KR 20210018942 A KR20210018942 A KR 20210018942A KR 1020217000801 A KR1020217000801 A KR 1020217000801A KR 20217000801 A KR20217000801 A KR 20217000801A KR 20210018942 A KR20210018942 A KR 20210018942A
Authority
KR
South Korea
Prior art keywords
tilt
block
slope
gradient
bit depth
Prior art date
Application number
KR1020217000801A
Other languages
English (en)
Other versions
KR102596104B1 (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 KR20210018942A publication Critical patent/KR20210018942A/ko
Application granted granted Critical
Publication of KR102596104B1 publication Critical patent/KR102596104B1/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/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
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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

진성(true) 양방향 예측 블록에 대해 양방향 광학 흐름(Bi-directional optical flow; BIO)을 사용하는 방법 및 장치가 개시된다. 본 발명의 한 방법에 따라, 기울기(gradients)는 계산 복잡성을 감소시키기 위해 미리 정의된 비트 깊이로 제한된다. 또 다른 방법에 따르면, 기울기 합 및/또는 L0 보간된 픽셀과 L1 보간된 픽셀들 간의 차이의 데이터 범위는 미리 정의된 비트 깊이만큼 시프트된다. 미리 정의된 비트 깊이는 암시적으로 결정되거나 시퀀스 레벨, 화상 레벨 또는 슬라이스 레벨에서 비트 스트림에서 시그널링될 수 있다. 미리 정의된 비트 깊이는 입력 비트 깊이에 따라 결정될 수도 있다.

Description

비디오 코딩을 위한 양방향 광학 흐름의 방법 및 장치
관련 출원에 대한 상호 참조
본 출원은 2018년 6월 11일에 출원된 미국 특허 가출원 제62/683,098호, 2018년 07월 27일에 출원된 미국 특허 가출원 제62/703,959호, 2018년 8월 13일에 출원된 미국 특허 가출원 제62/717,982호, 및 2018년 8월 17일에 출원된 미국 특허 가출원 제62/719,186호에 대한 우선권을 주장한다. 이 미국 특허 가출원들은 인용에 의해 그 전부가 본원에 통합된다.
기술분야
본 발명은 양방향 예측 블록에 대한 모션을 개선(refine)하기 위해 양방향 광학 흐름(Bi-directional Optical flow; BIO)을 사용하는 모션 보상(motion compensation)에 관한 것이다. 특히, 본 발명은 BIO 프로세스와 연관된 계산 복잡도 감소에 관한 것이다.
양방향 광학 흐름(BIO)
양방향 광학 흐름(BIO 또는 BDOF)은 JCTVC-C204(E. Alshina 외, 양방향 광학 흐름(Bi-directional optical flow), ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 JCT-VC(Joint Collaborative Team on Video Coding), 3차 회의: 중국, 광저우, 2010년 10월 7일-15일, 문서: JCTVC-C204) 및 VCEG-AZ05(E. Alshina 외, 차세대 비디오 코딩을 위한 알려진 도구 성능 조사(Known tools performance investigation for next generation video coding), ITU-T SG 16 질문 6, VCEG(Video Coding Experts Group), 52차 회의: 2015년 6월 19일-26일, 폴란드, 바르샤바, 문서: VCEG-AZ05)에 개시된 모션 추정/보상 기술이다. BIO는 도 1에 도시된 바와 같이 광학 흐름 및 안정된 모션의 가정을 기반으로 샘플 레벨의 모션 개선(motion refinement)을 유도(derive)했으며, 여기서 B-슬라이스(양방향 예측 슬라이스)(120) 내의 현재 픽셀(122)은 참조 화상 0(130) 내의 한 픽셀 및 참조 화상 1(110) 내의 한 픽셀에 의해 예측된다. 도 1에 도시된 바와 같이, 현재 픽셀(122)은 참조 화상 1(110) 내의 픽셀 B(112)와 참조 화상 0(130) 내의 픽셀 A(132)에 의해 예측된다. 도 1에서, v x v y 는 양방향 광학 흐름(BIO) 모델을 사용하여 유도되는 x-방향 및 y-방향의 픽셀 변위 벡터이다. 이는 이전 화상과 이후 화상에 대응하는 두 개의 참조 화상으로부터 예측되는 진성 양방향 예측 블록(truly bi-directional predicted blocks)에만 적용된다. VCEG-AZ05에서, BIO는 5x5 윈도우를 사용하여 각 샘플의 모션 개선을 유도한다. 따라서, NxN 블록의 경우 NxN 블록에 대한 샘플 기반의 모션 개선을 유도하기 위해서는 (N+4)x(N+4) 블록의 모션 보상 결과와 대응하는 기울기 정보(gradient information)가 필요하다. VCEG-AZ05에 따르면, 6-탭 기울기 필터와 6-탭 보간 필터가 BIO에 대한 기울기 정보를 생성하는 데 사용된다. 따라서 BIO의 계산 복잡성은 기존 양방향 예측의 계산 복잡성보다 훨씬 높다. BIO의 성능을 더욱 향상시키기 위해 다음과 같은 방법이 제안된다.
HEVC의 기존 양방향 예측에서, 예측자(predictor)는 수학식 1을 사용하여 생성되고, P (0) P (1) 는 각각 리스트 0 예측자 및 리스트 1 예측자이다.
Figure pct00001
JCTVC-C204 및 VECG-AZ05에서, BIO 예측자는 수학식 2를 사용하여 생성된다.
Figure pct00002
Figure pct00003
수학식 2에서, I x (0) I x (1) 각각 리스트 0 예측자 및 리스트 1 예측자의 x 방향 기울기를 나타내고; I y (0) I y (1) 각각 리스트 0 예측자 및 리스트 1 예측자에서 y 방향 기울기를 나타내며; v x v y 각각 x 방향 및 y 방향으로의 오프셋 또는 변위를 나타낸다. v x v y 의 유도 프로세스는 다음과 같이 표시된다. 먼저, 최상의 값 v x v y 를 찾기 위해 비용 함수가 diffCost(x, y)로 정의된다. 비용 함수 diffCost(x, y)를 최소화하기 위해 최상의 값 vx 및 vy를 찾기 위해 하나의 5x5 윈도우가 사용된다. vx 및 vy의 해법은 S 1 , S 2 , S 3 , S 5 ,S 6 을 사용하여 표현될 수 있다.
Figure pct00004
최소 비용 함수
Figure pct00005
Figure pct00006
에 따라 유도될 수 있다.
수학식 3 및 4를 풀면, v x v y 가 수학식 5에 따라 해결될 수 있다:
Figure pct00007
위의 수학식들에서,
Figure pct00008
는 리스트 0 화상 내의 (x, y)에 있는 픽셀의 x 방향 기울기에 대응하고,
Figure pct00009
는 리스트 1 화상 내의(x, y)에 있는 픽셀의 x 방향 기울기에 대응하고,
Figure pct00010
는 리스트 0 화상 내의 (x, y)에 있는 픽셀의 y 방향 기울기에 대응하며,
Figure pct00011
는 리스트 1 화상 내의 (x,y)에 있는 픽셀의 y 방향 기울기에 대응한다.
일부 관련 기술에서, S 2 무시될 수 있으며, v x v y 는 수학식 6에 따라 해결될 수 있다:
Figure pct00012
위의 수학식들에서, 파라미터 S 1 , S 2 , S 3 , S 5 ,S 6 는 x 방향 기울기와 y 방향 기울기와 관련이 있다. 예를 들면, S 1 는 리스트 0 내의 참조 블록의 x 방향 기울기와 리스트 1 내의 참조 블록의 x 방향 기울기의 합으로부터 계산된다. 이 합의 제곱은 S 1 로서 사용된다. S 5 는 목록 0 내의 참조 블록의 y 방향 기울기와 목록 1 내의 참조 블록의 y 방향 기울기의 합으로부터 계산된다. 이 합의 제곱은 S 5 로서 사용된다. 편의를 위해, 파라미터 S 1 , S 2 , S 3 , S 5 ,S 6 은 이 개시에서 기울기 파라미터라고 지칭된다. 실제에서, 기울기 파라미터 S 1 , S 2 , S 3 , S 5 ,S 6 은 종종 미리 정의된 비트 깊이와 함께 고정 소수점 표현을 사용한다. v x v y 의 유도에는 곱셈, 덧셈 및 나눗셈 연산이 필요할 것이다. 이 연산들 중 나눗셈 연산은 구현 비용이 더 많이 든다.
우리는 BIO 프로세스에서, 특히 S 1 , S 2 , S 3 , S 5 ,S 6 을 계산하기 위해 필요한 비트 깊이가 크다는 것을 우리는 알 수 있다. 예를 들어, 비디오 시퀀스에서 픽셀 값의 비트 깊이가 10 비트이고 기울기의 비트 깊이가 분수 보간 필터 또는 기울기 필터에 의해 증가된 경우, 하나의 x 방향 기울기 또는 하나의 y 방향 기울기를 나타내려면 16 비트가 필요하다. 이러한 16 비트는 4와 동일한 기울기 시프트에 의해 추가로 감소될 수 있으므로 하나의 기울기는 그 값을 나타내는 데 12 비트가 필요하다. 기울기 시프트에 의해 기울기의 크기가 12 비트로 감소될 수 있더라도 BIO 동작에 필요한 비트 깊이는 여전히 크다. S 1 , S 2 , S 5 를 계산하려면 13 비트 x 13 비트를 갖는 하나의 멀티플라이어(multiplier)가 필요하다. S 3 S 6 을 얻으려면 13 비트 x 17 비트를 갖는 또 다른 멀티플라이어가 필요하다. 윈도우 크기가 크면 S 1 , S 2 , S 3 , S 5 ,S 6 을 나타내는 데 32 비트보다 많은 비트가 필요하다. 본 발명에서는, 요구되는 비트 깊이를 r감소시키기 위해 다양한 방법이 개시된다.
일반화된 양방향 예측(Generalized bi-prediction; GBi)
일반화된 양방향 예측(GBi)은 JVET-C0047(C. Chen 외, "인터 코딩을 위한 일반화된 양방향 예측(Generalized bi-prediction for inter coding)", ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 JVET(Joint Video Exploration Team), 3차 회의: 스위스, 제네바, 2016년 5월 26일 - 6월 1일, 문서: JVET-C0047)에 제안된다. GBi의 개념은 기존의 양방향 예측에서 동일한 가중치를 사용하는 대신 L0 및 L1로부터의 예측자에 대해 각각 다른 가중치를 사용할 수 있도록 하는 것이다. 예측자 생성은 수학식 1 및 2에 요약될 수 있다.
Figure pct00013
Figure pct00014
위의 수학식들에서, P TraditionalBiPred 및 PGBi는 각각 기존 양방향 예측 및 GBi에 대한 최종 예측자이고, P L0 및 PL1은 L0 및 L1로부터의 예측자이고, w 0 w 1 은 L0 및 L1에 대해 선택된 GBi 가중치이며, RoundingOffset, shiftNum, RoundingOffset1, shiftNum1은 각각 기존 양방향 예측 및 GBi에서 최종 예측자를 정규화하는 데 사용된다. AMVP 모드(즉, 일반 인터 예측 모드)에 대해, 이 CU가 양방향 예측 모드로 코딩되면, GBi에서의 가중치 선택이 하나의 CU에 대해 명시적으로 시그널링된다. 병합 모드의 경우, 가중치 선택은 병합 후보로부터 상속된다.
진성(true) 양방향 예측 블록에 대해 양방향 광학 흐름(Bi-directional optical flow; BIO)을 사용하는 방법 및 장치가 개시된다. 본 발명의 한 방법에 따르면, 현재 화상 내의 현재 블록과 연관된 입력 데이터가 수신되고, 여기서 현재 블록은 양방향 예측을 사용하여 코딩된다. 참조 화상 리스트 0으로부터의 제1 참조 화상 내의 현재 블록과 관련된 제1 참조 블록과 참조 화상 리스트 1로부터의 제2 참조 화상 내의 현재 블록과 연관된 제2 참조 블록이 결정되고, 제1 참조 블록 및 제2 참조 블록은 진성 양방향 모션 벡터에 의해 지시된다. 제1 참조 블록에 기초하여 제1 x-기울기 및 제1 y-기울기가 그리고 제2 참조 블록에 기초하여 제2 x-기울기 및 제2 y-기울기가 유도된다. 제1 x-기울기, 제1 y-기울기, 제2 x-기울기, 및 제2 y-기울기와 관련된 데이터 범위는 미리 정의된 비트 깊이로 제한되어 범위 제한 제1 x-기울기, 범위 제한 제1 y-기울기, 범위 제한 제2 x-기울기, 및 범위 제한 제2 y-기울기를 생성한다. 제1 정보에 기초하여 기울기 파라미터의 세트가 유도되고, 제1 정보는 범위 제한 제1 x-기울기, 범위 제한 제1 y-기울기, 범위 제한 제2 x-기울기, 범위 제한 제2 y-기울기를 포함한다. x-모션 오프셋 및 y-모션 오프셋은 기울기 파라미터의 세트에 기초해 유도된다. 개선된 예측자는 제2 정보에 기초하여 현재 블록에 대해 개선된 예측자가 생성되고, 제2 정보는 x-모션 오프셋 및 y-모션 오프셋을 포함한다. 현재 블록은 개선된 예측자에 기초해 인코딩 또는 디코딩된다.
일 실시예에서, 제1 x-기울기, 제1 y-기울기, 제2 x-기울기 및 제2 y-기울기가 최댓값보다 크거나 최솟값보다 작은 경우, 제1 x-기울기, 제1 y-기울기, 제2 x-기울기 및 제2 y-기울기는 미리 정의된 비트 깊이에 의해 표시되는 허용 가능한 값으로 클리핑된다(clipped).
또 다른 방법에 따라, 제1 참조 블록에 기초하여 제1 x-기울기 및 제1 y-기울기가 그리고 제2 참조 블록에 기초하여 제2 x-기울기 및 제2 y-기울기가 유도된다. 제1 x-기울기와 제2 x-기울기에 기초해 x-기울기 합이 유도되고; 제1 y-기울기 및 제2 y-기울기에 기초하여 y-기울기 합이 유도되고; 제1 참조 블록과 제2 참조 블록에서 보간된 픽셀들 간의 참조 차이(reference differences)가 유도되며; x-기울기 합 및 y-기울기 합, 참조 차이에 대한 데이터 범위, 또는 이 둘 모두는 제1 미리 정의된 비트 깊이만큼 시프트된다. 제1 정보를 사용하여 x-모션 오프셋 및 y-모션 오프셋이 유도되고, 제1 정보는 x-기울기 합, y-기울기 합 및 참조 차이를 포함한다. 제2 정보에 기초하여 현재 블록에 대한 개선된 예측자가 생성되고, 제2 정보는 x-모션 오프셋 및 y-모션 오프셋을 포함한다. 현재 블록은 개선된 예측자에 기초해 인코딩 또는 디코딩된다.
일 실시예에서, x-기울기 합 및 y-기울기 합, 또는 참조 차이에 대한 데이터 범위, 또는 이 둘 모두는, 제1 미리 정의된 비트 깊이만큼 시프트되기 전에 제2 미리 정의된 깊이로 제한된다. 또 다른 실시예에서, x-기울기 합 및 y-기울기 합, 참조 차이에 대한 데이터 범위, 또는 이 둘 모두는 제1 미리 정의된 비트 깊이만큼 시프트된 후에 제2 미리 정의된 비트 깊이로 제한된다.
상기 방법에서, 제1 미리 정의된 비트 깊이는 암시적으로 결정될 수 있다. 제1 미리 정의된 비트 깊이는 입력 비트 깊이에 따라 결정될 수 있다. 제1 미리 정의된 비트 깊이는 시퀀스 레벨, 화상 레벨 또는 슬라이스 레벨에서 비트 스트림에서 시그널링될 수 있다.
도 1은 모션 개선을 위한 오프셋 모션 벡터를 유도하기 위한 양방향 광학 흐름(BIO)의 예를 도시한다.
도 2는 본 발명의 실시예에 따라 양방향 예측 블록에 대한 모션을 개선하기 위해 양방향 광학 흐름(BIO)을 사용하는 비디오 코딩 시스템의 예시적인 흐름도를 도시하며, 여기서 기울기의 데이터 범위는 미리 정의된 비트 깊이로 제한된다.
도 3은 본 발명의 실시예에 따라 양방향 예측 블록에 대한 예측자를 개선하기 위해 양방향 광학 흐름(BIO)을 사용하는 비디오 코딩 시스템의 예시적인 흐름도를 도시하며, 여기서 기울기 합 및/또는 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위가 시프트된다.
이하 설명은 본 발명을 수행하는 최상으로 예상되는 모드에 대한 것이다. 이 설명은 본 발명의 일반적인 원리를 예시하기 위한 것이고 제한하는 의도로 해석되지 않아야 한다. 본 발명의 범위는 첨부된 청구항들을 참고하여 최상으로 결정된다.
앞서 언급했듯이 양방향 광학 흐름(BIO 또는 BDOF) 기술은 양방향 모션 벡터를 개선하여 모션 보상 성능을 향상시킨다. 그러나 BIO 또는 BDOF 프로세스는 복잡한 동작을 수반한다. 또한 이 동작은 높은 정확도의 멀티플라이어를 수반한다. 복잡성을 줄이기 위해, 일부 복잡성 감소 기술이 실제로 사용될 수 있다. 예를 들어, 한 가지 의미에서, 다음 수학식들에 따라 데이터 범위를 줄이기 위해 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이와 합을 우측으로 시프트하여 기울기와 연관된 데이터 범위가 감소된다:
Figure pct00015
Figure pct00016
Figure pct00017
Figure pct00018
Figure pct00019
상기 수학식들에서,
shift = max(4,(bitDepth - 8)), 및
shiftA = max(1,(bitDepth - 11)).
방법 1. 기울기의 데이터 범위를 제한함
기울기 시프트는 기울기의 데이터 범위를 감소시키고 기울기의 정밀도를 제어할 수 있지만, 기울기 시프트만 사용하여 기울기의 데이터 범위를 제한하는 것으로는 충분하지 않다. 따라서, 기울기의 데이터 범위를 미리 정의된 비트 깊이로 제한하는 방법이 개시된다. 기울기가 허용된 최댓값보다 크거나 허용된 최솟값보다 작으면 기울기가 허용된 값으로 클리핑된다. 예를 들어, 우리는 기울기의 데이터 범위를 10 비트로 제한할 수 있어, 멀티플라이어가 11 비트 x 11 비트 및 11 비트 x 17 비트로 감소될 수 있다. 또 다른 실시예에서, 기울기의 데이터 범위는 8 비트로 제한되어 멀티플라이어는 9 비트 x 9 비트 및 9 비트 x 17 비트로 감소될 수 있다. 데이터 범위는 입력 비트 깊이에 따라 암시적으로 미리 정의된 값이거나, 시퀀스 레벨, 화상 레벨 또는 슬라이스 레벨에서 비트 스트림에서 디코더에 명시적으로 시그널링될 수 있다. 또 다른 실시예에서, 기울기가 허용된 최댓값보다 크거나 허용된 최솟값보다 작을 때, BIO 프로세스가 생략된다.
방법 2. 기울기 합 및/또는 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위를 제한함
BIO 프로세스에서 멀티플라이어의 입력은 L0 기울기와 L1 기울기의 합 또는 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이이다. 이 방법에 따르면, 기울기와 보간된 픽셀에 직접적으로 제한이 부과되는 대신에, L0 기울기와 L1 기울기의 합 또는 L0 보간된 픽셀과 L1 보간 픽셀 간의 차이의 데이터 범위에 제한이 부과된다. 일 실시예에서, 일부 미리 정의된 비트 깊이에서 L0 기울기와 L1 기울기의 합 및/또는 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위에 제한이 부과된다. 예를 들어, 우리는 L0 기울기와 L1 기울기의 합과 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위를 각각 10 비트로 제한하여, 멀티플라이어가 10 비트 x 10 비트 및 10 비트 x 10 비트로 감소될 수 있다. 또 다른 실시예에서, 기울기의 데이터 범위는 8 비트로 제한되어 멀티플라이어가 8 비트 x 8 비트 및 8 비트 x 8 비트로 감소될 수 있다. 데이터 범위 제약은 L0 기울기와 L1 기울기의 합에만 적용하거나, L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이에만 적용되거나, 이들 둘 다에 적용될 수 있다. L0 기울기와 L1 기울기의 합과 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위들은 동일할 수 있거나 다를 수 있다. 데이터 범위들은 입력 비트 깊이에 따라 암시적으로 미리 정의된 값이거나 시퀀스 레벨, 화상 레벨 또는 슬라이스 레벨에서 비트 스트림에서 디코더에 명시적으로 시그널링될 수 있다. 또 다른 실시예에서, L0 기울기와 L1 기울기의 합 또는 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이가 허용된 최댓값보다 크거나 허용된 최솟값보다 작을 때, BIO 프로세스가 생략된다(skipped).
일 실시예에서, 허용된 범위를 벗어난 데이터는 BIO 프로세스에서 변위를 유도하는 데 사용되지 않는다. 또 다른 실시예에서, 허용된 범위를 벗어난 데이터는 BIO 프로세스에서 변위를 유도하는 데 사용되지 않으며 이러한 픽셀은 BIO에 의해 개선되지 않는다.
일 실시예에서, 방법 1 및 방법 2는 필요한 비트 깊이를 감소시키기 위해 함께 결합될 수 있다. 예를 들어, 우리는 기울기의 데이터 범위와 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위를 10 비트로 제한한다. 따라서 멀티플라이어는 11 비트 x 11 비트 및 11 비트 x 10 비트로 감소될 수 있다. 또 다른 실시예에서, 기울기 또는 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위가 허용된 최댓값보다 크거나 허용된 최솟값보다 작을 때, BIO 프로세스는 생략된다.
방법 3. 기울기 합 및/또는 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위를 시프트함
일 실시예에서, 우리는 일부 미리 정의된 비트 깊이에서 기울기 합의 데이터 범위를 시프트하는 것을 제안한다. 예를 들어, 우리는 기울기 합의 데이터 범위를 4비트만큼 우측으로 시프트하여, 멀티플라이어가 8 비트 x 8 비트 및 8 비트 x 15 비트로 감소될 수 있다. 또 다른 실시예에서, 우리는 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위를 우측으로 시프트할 수도 있다. 예를 들어, L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위가 4 비트만큼 우측으로 시프트될 수 있어, 멀티플라이어가 12 비트 x 12 비트 및 12 비트 x 11 비트로 감소될 수 있다. 일 실시예에서, 기울기 합과 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위 둘 다가 시프트될 수 있다. 예를 들어, 기울기 합과 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위 둘 다가 4 비트만큼 우측으로 시프트될 수 있어, 멀티플라이어가 8 비트 x 8 비트 및 8 비트 x 11 비트로 감소될 수 있다. 또 다른 예에서, 우리는 기울기 합을 4 비트만큼 우측으로 시프트하고 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이를 7 비트만큼 우측으로 시프트한다. 이러한 방식으로, 멀티플라이어가 8 비트 x 8 비트 및 8 비트 x 8 비트로 감소될 수 있다. 기울기 합 또는 L0과 L1 간의 차이에 대한 시프트 수(shifting number)는 입력 비트 깊이에 따라 암시적으로 미리 정의된 값이거나, 시퀀스 레벨, 화상 레벨 또는 슬라이스 레벨에서 비트 스트림에서 디코더에 명시적으로 시그널링될 수 있다.
방법 4. 기울기 합의 데이터 범위를 제한하고 시프트하며, L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이를 제한하고 시프트함
일 실시예에서, 우리는 일부 미리 정의된 비트 깊이에서 기울기 합의 데이터 범위를 제한한 다음, 이를 시프트하는 것을 제안한다. 클리핑 순서와 시프트 동작이 전환될(switched) 수 있으며, 클리핑 값과 시프트 값은 응용 요건에 따라 임의의 숫자로 설정될 수 있다. 예를 들어, 우리는 기울기 합의 데이터 범위를 10 비트로 제한한 다음 기울기 합을 2 비트만큼 우측으로 시프트할 수 있다. 따라서 멀티플라이어는 8 비트 x 8 비트 및 8 비트 x 15 비트로 감소될 수 있다. 또 다른 실시예에서, L0과 L1 픽셀 간의 차이의 데이터 범위는 12 비트로 클리핑될 수 있고, 그런 다음, 결괏값은 1 비트만큼 우측으로 시프트된다. 멀티플라이어는 12 비트 x 12 비트 및 12 비트 x 11 비트가 된다. 일 실시예에서, 우리는 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이뿐만 아니라 기울기 합을 제한하고 시프트할 수 있다. 예를 들어, 우리는 기울기 합의 데이터 범위를 10 비트로 제한한 다음 기울기 합을 2 만큼 우측으로 시프트할 수 있다. 다음으로, 우리는 L0 보간된 픽셀과 L1 보간된 픽셀의 차이에 대한 데이터 범위를 12 비트로 제한한 다음 이를 1 비트만큼 우측으로 시프트한다. 이러한 방식으로 멀티플라이어는 8 비트 x 8 비트 및 8 비트 x 11 비트로 감소된다. 또한, 파라미터 S 1, S 2, S 3, S 5 S 6 모두는 32 비트로 표현될 수 있다. 기울기 합 및 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이에 대해 데이터 범위를 제한하는 것과 시프트 연산의 조합에 대한 더 많은 예가 표 1에 보여 진다. 기울기 합 또는 L0과 L1 간의 차이의 데이터 범위에 대한 제한된 범위 및 시프트 값은, 입력 비트 깊이에 따라 암시적으로 미리 정의된 값이거나, 시퀀스 레벨, 화상 레벨 또는 슬라이스 레벨에서 비트 스트림에서 디코더에 명시적으로 시그널링될 수 있다.
기울기 합에 대한 제한된 범위 기울기 합에 대한 시프트 수 L0과 L1 간의 차이에 대한 제한된 범위 L0과 L1 간의 차이에 대한 시프트 수 승산을 위한 비트 수 S 1 , S 2 , S 3 , S 5 ,S 6 을 표현하기 위한 비트 수
예 A 10 2 12 1 8 비트 x 8 비트 및 8 비트 x 11 비트 모든 32 비트
예 B 10 3 12 1 7 비트 x 7 비트 및 7 비트 x 11 비트 모든 32 비트
예 C 10 3 12 2 7 비트 x 7 비트 및 7 비트 x 10 비트 모든 32 비트
예 D 10 3 12 3 7 비트 x 7 비트 및 7 비트 x 9 비트 모든 32 비트
예 E 10 4 12 5 6 비트 x 6 비트 및 6 비트 x 7 비트 모든 32 비트
예 F 10 4 12 7 6 비트 x 6 비트 및 6 비트 x 5 비트 모든 32 비트
방법 5. 참조 픽셀의 기울기를 직접 계산함
기존 관행에 따르면, 기울기는 두 가지 다른 방법을 사용하여 계산된다. 첫 번째 방법은 하나의 모션 위상 종속 필터(motion-phase-dependent filter)를 참조 픽셀에 적용하는 것이다. 이 방법에 따르면 기울기 계산을 수행하려면 하나의 추가 기울기 필터 세트와 하나의 추가 보간 필터 세트가 필요하다. 다른 방법은 하나의 고정 필터(예를 들어, 3-탭 필터 또는 5-탭 필터)를 적용하여 픽셀을 보간하는 것이다. 이러한 방식으로, 기울기 계산을 위한 추가 필터 세트가 필요하지 않다. 그러나 보간된 픽셀과 기울기 계산 간의 데이터 종속성이 도입된다. 이 데이터 종속성을 제거하기 위해, 우리는 하나의 고정 필터를 직접 참조 픽셀에 적용할 것을 제안한다. 일 실시예에서, MV는 먼저 정수 MV로 반올림된다. 기울기는 MV의 분수 부분을 고려하지 않고 픽셀을 직접 참조하는 하나의 고정 필터(예를 들어, 3-탭 필터 또는 5-탭 필터)를 적용하여 유도된다. 예를 들어, MV가 (0.25, -0.25)이면 반올림된 MV는 (0, 0)이 된다. 필터 계수가 [-1, 0, 1] 인 3-탭 필터를 사용하여 기울기를 계산하는 경우, 수평 기울기는 위치 (1, 0) 및 (-1, 0)에서의 참조 픽셀을 사용하여 계산되고, 수직 기울기는 위치 (0, 1) 및 (0, -1)에서의 참조 픽셀을 사용하여 계산된다. 이 방법을 사용하면 보간된 픽셀과 기울기 계산 간의 데이터 종속성이 제거될 수 있다.
또 다른 실시예에서, MV에 의해 지시되는 위치 주변의 4개의 가장 가까운 정수 참조 픽셀이 기울기를 계산하는 데 사용된다. 예를 들어, MV가 (0.25, -0.25)이면, 위치 (0, 0), (1, 0), (0, -1) 및 (1, -1)에서의 참조 픽셀이 사용되어 기울기를 계산한다. 수평 기울기는 위치 (0, 0) 및 (1, 0)에서의 참조 픽셀들 간의 차이와 위치 (0, -1) 및 (1, -1)에서의 참조 픽셀들 간의 차이를 평균하여 유도된다. 수직 기울기는 위치 (0, -1) 및 (0, 0)에서의 참조 픽셀들 간의 차이와 위치 (1, -1) 및 (1, 0)에서의 참조 픽셀들 간의 차이를 평균하여 유도된다. 또 다른 실시예에서, MV에 의해 지시되는 위치 주변의 3개의 가장 가까운 정수 참조 픽셀이 기울기를 계산하는 데 사용된다. 예를 들어, MV가 (0.25, -0.25)이면 위치 (0, 0), (1, 0) 및 (0, -1)에서의 참조 픽셀이 사용되어 기울기를 계산한다. 수평 기울기는 위치 (0, 0) 및 (1, 0)에서의 참조 픽셀들 간의 차이를 계산하여 유도된다. 수직 기울기는 위치 (0, -1) 및 (0, 0)에서의 참조 픽셀들 간의 차이를 계산하여 유도된다.
또 다른 실시예에서, 미리 정의된 가중치 쌍이 적용되어 기울기를 계산할 수 있다. 예를 들어, MV가 (0.25, -0.25)이면, 위치 (0, 0), (1, 0), (0, -1) 및 (1, -1)에서의 참조 픽셀이 사용되어 기울기를 계산한다. 수평 기울기는, 가중치(예를 들어, 0.25)를 곱한, 위치 (0, 0) 및 (1, 0)에서의 참조 픽셀들 간의 차이와 가중치(예를 들어, 0.75)를 곱한, 위치 (0, -1) 및 (1, -1)에서의 참조 픽셀들 간의 차이의 합산에 의해 유도된다. 수직 기울기는, 가중치(예를 들어, 0.25)를 곱한, 위치 (0, 0) 및 (1, 0)에서의 참조 픽셀들 간의 차이와 가중치(예를 들어, 0.75)를 곱한, 위치 (1, -1) 및 (1, 0)에서의 참조 픽셀들 간의 차이에 의해 유도된다. 가중치 쌍의 값(예를 들어, [0.25, 0.75])은 그 합이 1인 임의의 두 숫자일 수 있다.
방법 6. 수평 보간 필터 후 기울기를 계산함
방법 5에서, 우리는 하나의 고정 필터를 직접 참조 픽셀에 적용하여 데이터 종속성을 완전히 제거할 수 있다. 분수 MV에 대한 기울기의 정밀도는 동시에 무시될 것이다. 예를 들어, MV가 상이한 분수 부분들을 가질지라도, MV는 먼저 정수 MV로 반올림될 것이고 반올림된 MV는 동일한 참조 픽셀을 지시하게 된다. 데이터 의존성을 줄이고 분수 MV에 대한 기울기의 소정 정밀도를 유지하기 위해, 우리는 MV의 수평 분수 부분이 고려되는 수평 보간 필터 이후 생성된 출력 픽셀에 하나의 고정 필터를 적용할 것을 제안한다. 예를 들어, 참조 픽셀은 수평 보간 필터에 의해 생성될 것이며, 여기서 기울기는 MV의 수평 분수 부분을 고려하여 출력 픽셀에 하나의 고정 필터(예를 들어, 3-탭 필터 또는 5-탭 필터)를 적용하여 유도된다.
방법 7. GBi와 BIO 간의 상호 작용
GBi가 예측된 블록의 최종 조합(final blending)을 위해 L0 보간된 픽셀과 L1 보간된 픽셀에 대해 상이한 가중치들을 허용하는 한편, BIO에서, L0 보간된 픽셀과 L1 보간된 픽셀은 광학 흐름 이론에 기초해 갱신될 것이다. 두 코딩 도구 모두는 양방향 예측 모드에서 예측 성능을 향상시키는 것을 목표로 한다. 우리는 두 코딩 도구 중 하나를 활성화하여 성능이 다른 도구에 의해 영향받는 것을 회피하고 실행 시간(runtime)도 절약할 수 있다. 일 실시예에서, GBi는 BIO가 켜져 있을 때 비활성화될 수 있다. 이 경우, L0 및 L1에 대한 동일한 가중치는 BIO에서 L0 및 L1에 대해 로컬 모션 벡터의 오프셋이 동일하다는 가정을 여하튼 만족시킨다.
경우에 따라, 현재 화상의 L0으로부터의 참조 화상과 L1으로부터 참조 화상 간의 차이가 상당히 다르다. 이 경우, BIO에서 L0 및 L1로부터의 로컬 모션 벡터에 대해 동일한 움직임(equal movement)의 가정은 정확하지 않다. 일 실시예에서, 우리는 GBi와 BIO를 동시에 활성화하여 이들 두 코딩 도구로부터 추가적인 코딩 이득을 얻을 수 있다. 또 다른 실시예에서, BIO가 활성화될 때, 가중치 선택의 일부만이 사용될 수 있다. 또 다른 실시예에서, BIO가 활성화될 때 지원되는 GBi 가중치는 BIO가 비활성화될 때의 GBi 가중치와 다를 수 있다. 지원되는 GBi 가중치는 BIO가 활성화되면 미리 정의되거나 디코더에 시그널링될 수 있다. 선택 방법은 현재 화상과 L0 및 L1로부터의 참조 화상 간의 POC(picture of count)의 차이에 기초할 수 있다. 예를 들어, L0으로부터의 참조 화상의 POC, 현재 화상, 및 L1로부터의 참조 화상의 POC가 각각 1, 2, 7이면, 현재 화상과 L0으로부터의 참조 화상 간의 POC의 차이(diff_POC0라고 지칭됨)와 현재 화상과 L1로부터의 참조 화상 간의 POC의 차이(diff_POC1이라고 지칭됨)는 각각 1 및 5이다. diff_POC0_POC1이라고 지칭되는, diff_POC0과 diff_POC1 간의 차이는 4이다. diff_POC0_POC1이 미리 정의된 문턱 값보다 크면, BIO는 GBi로부터의 어떤 선택된 가중치로 활성화될 수 있다. 선택된 가중치를 결정하기 위한 조건은 QP(quantization parameter), POC, 시간 계층(temporal layer) ID 또는 이러한 요소들의 임의의 조합과 관련된 정보에 의해 결정될 수 있다.
전술한 제안된 방법 중 임의의 것은 인코더 및/또는 디코더에서 구현될 수 있다. 예를 들어, 제안된 방법들 중 임의의 방법은 인코더의 인터 예측 모듈 또는 재구성 프로세스(reconstruction process), 및/또는 디코더의 인터 예측 모듈 또는 재구성 프로세스에서 구현될 수 있다. 대안적으로, 제안된 방법 중 임의의 방법은 인코더의 인터 예측 모듈 또는 재구성 프로세스 및/또는 디코더의 인터 예측 모듈 또는 재구성 프로세스에 결합된 회로로서 구현될 수 있다.
도 2는 본 발명의 실시예에 따라 양방향 예측 블록에 대한 모션을 개선하기 위해 양방향 광학 흐름(BIO)을 사용하는 비디오 코딩(예를 들면, 인코딩 및/또는 디코딩) 시스템의 예시적인 흐름도를 도시하며, 여기서 기울기의 데이터 범위는 미리 정의된 비트 깊이로 제한된다. 흐름도에 도시된 단계 및 본 개시의 다른 흐름도는 인코더 측 및/또는 디코더 측에서 하나 이상의 프로세서(예를 들어, 하나 이상의 CPU)에서 실행 가능한 프로그램 코드로서 구현될 수 있다. 흐름도에 도시된 단계는 또한 흐름도의 단계를 수행하도록 배열된 하나 이상의 전자 디바이스 또는 프로세서와 같은 하드웨어에 기초하여 구현될 수 있다. 이 방법에 따르면, 현재 화상 내의 현재 블록과 연관된 입력 데이터가 단계(210)에서 수신되고, 여기서 현재 블록은 양방향 예측을 사용하여 코딩(예를 들어, 인코딩 및/또는 디코딩)된다. 참조 화상 리스트 0으로부터의 제1 참조 화상 내의 현재 블록과 연관된 제1 참조 블록과 참조 화상 리스트 1로부터의 제2 참조 화상 내의 현재 블록과 연관된 제2 참조 블록이 단계(220)에서 결정되고, 제1 참조 블록 및 제2 참조 블록은 진성 양방향 모션 벡터에 의해 지시된다. 단계(230)에서, 제1 참조 블록에 기초하여 제1 x-기울기 및 제1 y-기울기가 유도되고 제2 참조 블록에 기초하여 제2 x-기울기 및 제2 y-기울기가 유도된다. 단계(240)에서, 제1 x-기울기, 제1 y-기울기, 제2 x-기울기, 및 제2 y-기울기와 관련된 데이터 범위는 미리 정의된 비트 깊이로 제한되어 범위 제한 제1 x-기울기, 범위 제한 제1 y-기울기, 범위 제한 제2 x-기울기, 및 범위 제한 제2 y-기울기를 생성한다. 단계(250)에서, 제1 정보에 기초하여 기울기 파라미터의 세트가 생성되고, 제1 정보는 범위 제한 제1 x-기울기, 범위 제한 제1 y-기울기, 범위 제한 제2 x-기울기, 범위 제한 제2 y-기울기를 포함한다. 단계(260)에서, x-모션 오프셋 및 y-모션 오프셋는 기울기 파라미터의 세트에 기초해 유도된다. 단계(270)에서 제2 정보에 기초하여 현재 블록에 대한 개선된 예측자가 생성되고, 제2 정보는 x-모션 오프셋 및 y-모션 오프셋을 포함한다. 현재 블록은 단계(280)에서 개선된 예측자에 기초하여 인코딩 또는 디코딩된다.
도 3은 본 발명의 실시예에 따라 양방향 예측 블록에 대한 예측자를 개선하기 위해 양방향 광학 흐름(BIO)을 사용하는 비디오 코딩(예를 들면, 인코딩 및/또는 디코딩) 시스템의 예시적인 흐름도를 도시하며, 여기서 기울기 합 및/또는 L0 보간된 픽셀과 L1 보간된 픽셀 간의 차이의 데이터 범위가 시프트된다. 이 방법에 따르면, 현재 화상 내의 현재 블록과 연관된 입력 데이터가 단계(310)에서 수신되고, 여기서 현재 블록은 양방향 예측을 사용하여 코딩(예를 들어, 인코딩 및/또는 디코딩)된다. 참조 화상 리스트 0으로부터의 제1 참조 화상 내의 현재 블록과 연관된 제1 참조 블록과 참조 화상 리스트 1로부터의 제2 참조 화상 내의 현재 블록과 연관된 제2 참조 블록이 단계(320)에서 결정되고, 제1 참조 블록 및 제2 참조 블록은 진성 양방향 모션 벡터에 의해 지시된다. 단계(330)에서, 제1 참조 블록에 기초하여 제1 x-기울기 및 제1 y-기울기가 유도되고 제2 참조 블록에 기초하여 제2 x-기울기 및 제2 y-기울기가 유도된다. 단계(340)에서, 제1 x-기울기와 제2 x-기울기에 기초해 x-기울기 합이 유도되고; 제1 y-기울기 및 제2 y-기울기에 기초하여 y-기울기 합이 유도되고; 제1 참조 블록과 제2 참조 블록에서 보간된 픽셀들 간의 참조 차이가 유도되며; x-기울기 합 및 y-기울기 합, 참조 차이에 대한 데이터 범위, 또는 이 둘 모두는 제1 미리 정의된 비트 깊이만큼 시프트된다. 단계(350)에서, 제1 정보를 사용하여 x-모션 오프셋 및 y-모션 오프셋이 유도되고, 제1 정보는 x-기울기 합, y-기울기 합 및 참조 차이를 포함한다. 단계(360)에서, 제2 정보에 기초하여 현재 블록에 대한 개선된 예측자가 생성되고, 제2 정보는 x-모션 오프셋 및 y-모션 오프셋을 포함한다. 현재 블록은 단계(370)에서 개선된 예측자에 기초하여 인코딩 또는 디코딩된다.
도시된 흐름도는 본 발명에 따른 비디오 코딩의 예를 도시하도록 의도된다. 당업자는 본 발명의 사상에서 벗어나지 않고 본 발명을 실시하기 위해 각 단계를 수정하거나, 단계들을 재배열하거나, 단계들을 분할하거나, 단계들을 결합할 수 있다. 본 개시에서, 특정 구문론(syntax) 및 의미론(semantics)은 본 발명의 실시예를 구현하는 예를 설명하기 위해 사용되었다. 당업자라면 본 발명의 사상으로부터 벗어나지 않고 구문론 및 의미론을 등가의 구문론 및 의미론으로 대체하여 본 발명을 실시할 수 있다.
전술한 설명은 당업자가 특정 응용 및 그 요건과 관련하여 제공된 대로 본 발명을 실시할 수 있게 하기 위해 제시된다. 설명된 실시예에 대한 다양한 수정은 당업자에게 명백할 것이며, 여기에서 정의된 일반적인 원리는 다른 실시예에 적용될 수 있다. 따라서, 본 발명은 도시되고 설명된 특정 실시예로 제한되도록 의도되지 않고, 여기에 개시된 원리 및 신규한 특징과 일치하는 가장 넓은 범위에 부합되어야 한다. 위의 상세한 설명에서는 본 발명에 대한 완전한 이해를 제공하기 위해 다양한 특정 세부 사항이 예시되었다. 그럼에도 불구하고, 본 발명이 실시될 수 있다는 것이 당업자에 의해 이해될 것이다.
상술한 바와 같은 본 발명의 실시예는 다양한 하드웨어, 소프트웨어 코드 또는 둘 모두의 조합으로 구현될 수 있다. 예를 들어, 본 발명의 실시예는 여기에 설명된 프로세싱을 수행하기 위해 비디오 압축 칩에 통합된 하나 이상의 회로 회로들 또는 비디오 압축 소프트웨어에 통합된 프로그램 코드일 수 있다. 본 발명의 실시예는 또한, 여기에 설명된 프로세싱을 수행하기 위해 디지털 신호 프로세서(Digital Signal Processor; DSP)에서 실행될 프로그램 코드일 수 있다. 본 발명은 또한, 컴퓨터 프로세서, 디지털 신호 프로세서, 마이크로프로세서, 또는 FPGA(field programmable gate array)에 의해 수행될 다수의 기능을 수반할 수 있다. 이들 프로세서는 본 발명에 의해 구체화된 특정 방법을 정의하는 기계 판독 가능 소프트웨어 코드 또는 펌웨어 코드를 실행함으로써 본 발명에 따른 특정 작업을 수행하도록 구성될 수 있다. 소프트웨어 코드 또는 펌웨어 코드는 상이한 프로그래밍 언어 및 상이한 포맷 또는 스타일로 개발될 수 있다. 소프트웨어 코드는 상이한 타겟 플랫폼용으로 또한, 컴파일될 수 있다. 그러나, 본 발명에 따른 작업을 수행하기 위해 코드를 구성하는 다른 수단 및 소프트웨어 코드의 상이한 코드 포맷, 스타일 및 언어는 본 발명의 사상 및 범위를 벗어나지 않을 것이다.
본 발명은 그 사상 또는 본질적인 특성에서 벗어나지 않고 다른 특정 형태로 구체화될 수 있다. 설명된 예들은 모든 양상에서 예시하는 것이지 제한하는 것이 아닌 것으로 고려되어야 한다. 따라서, 본 발명의 범위는 전술한 설명에 의해서보다는 첨부된 청구항들에 의해 표시된다. 청구항들과 동등한 의미 및 범위 내에 있는 모든 변경은 그 범위 내에 포함되어야 한다.

Claims (13)

  1. 진성(true) 양방향 예측 블록에 대해 양방향 광학 흐름(Bi-directional optical flow; BIO)을 사용하는 비디오 코딩 방법에 있어서,
    현재 화상 내의 현재 블록과 연관된 입력 데이터를 수신하는 단계 - 상기 현재 블록은 양방향 예측을 사용하여 코딩됨 -;
    참조 화상 리스트 0으로부터의 제1 참조 화상 내의 상기 현재 블록과 연관된 제1 참조 블록과 참조 화상 리스트 1로부터의 제2 참조 화상 내의 상기 현재 블록과 연관된 제2 참조 블록을 결정하는 단계 - 상기 제1 참조 블록 및 상기 제2 참조 블록은 진성 양방향 모션 벡터에 의해 지시됨(pointed) -;
    상기 제1 참조 블록에 기초해 제1 x-기울기(gradients) 및 제1 y-기울기를 그리고 상기 제2 참조 블록에 기초해 제2 x-기울기 및 제2 y-기울기를 유도하는(derive) 단계;
    범위 제한(range-limited) 제1 x-기울기, 범위 제한 제1 y-기울기, 범위 제한 제2 x-기울기, 및 범위 제한 제2 y-기울기를 생성하기 위해, 상기 제1 x-기울기, 상기 제1 y-기울기, 상기 제2 x-기울기, 및 상기 제2 y-기울기와 관련된 데이터 범위를 미리 정의된 비트 깊이로 제한하는 단계;
    제1 정보에 기초하여 기울기 파라미터의 세트를 유도하는 단계 - 상기 제1 정보는 상기 범위 제한 제1 x-기울기, 상기 범위 제한 제1 y-기울기, 상기 범위 제한 제2 x-기울기, 상기 범위 제한 제2 y-기울기를 포함함 -;
    상기 기울기 파라미터의 세트에 기초해 x-모션 오프셋 및 y-모션 오프셋을 유도하는 단계;
    제2 정보에 기초하여 상기 현재 블록에 대한 개선된 예측자(refined predictor)를 생성하는 단계 - 상기 제2 정보는 상기 x-모션 오프셋 및 상기 y-모션 오프셋을 포함함 -; 및
    상기 개선된 예측자에 기초해 상기 현재 블록을 인코딩 또는 디코딩하는 단계
    를 포함하는, 비디오 코딩 방법.
  2. 제1항에 있어서,
    상기 제1 x-기울기, 상기 제1 y-기울기, 상기 제2 x-기울기 및 상기 제2 y-기울기가 최댓값보다 크거나 최솟값보다 작은 경우, 상기 제1 x-기울기, 상기 제1 y-기울기, 상기 제2 x-기울기 및 상기 제2 y-기울기는 상기 미리 정의된 비트 깊이에 의해 표시되는 허용 가능한 값으로 클리핑되는(clipped) 것인, 비디오 코딩 방법.
  3. 제1항에 있어서,
    상기 미리 정의된 비트 깊이는 암시적으로(implicitly) 결정되는 것인, 비디오 코딩 방법.
  4. 제1항에 있어서,
    상기 미리 정의된 비트 깊이는 입력 비트 깊이에 따라 결정되는 것인, 비디오 코딩 방법.
  5. 제1항에서,
    상기 미리 정의된 비트 깊이는 시퀀스 레벨, 화상 레벨 또는 슬라이스 레벨에서 비트 스트림에서 시그널링되는 것인, 비디오 코딩 방법.
  6. 진성 양방향 예측 블록에 대해 양방향 광학 흐름(Bi-directional optical flow; BIO)을 사용하는 비디오 코딩 장치에 있어서,
    상기 비디오 코딩 장치는 하나 이상의 전자 회로 또는 프로세서를 포함하고,
    상기 하나 이상의 전자 회로 또는 프로세서는,
    현재 화상 내의 현재 블록과 연관된 입력 데이터를 수신하고 - 상기 현재 블록은 양방향 예측을 사용하여 코딩됨 -;
    참조 화상 리스트 0으로부터의 제1 참조 화상 내의 상기 현재 블록과 연관된 제1 참조 블록과 참조 화상 리스트 1로부터의 제2 참조 화상 내의 상기 현재 블록과 연관된 제2 참조 블록을 결정하고 - 상기 제1 참조 블록 및 상기 제2 참조 블록은 진성 양방향 모션 벡터에 의해 지시됨 -;
    상기 제1 참조 블록에 기초해 제1 x-기울기 및 제1 y-기울기를 그리고 상기 제2 참조 블록에 기초해 제2 x-기울기 및 제2 y-기울기를 유도하고;
    범위 제한 제1 x-기울기, 범위 제한 제1 y-기울기, 범위 제한 제2 x-기울기, 및 범위 제한 제2 y-기울기를 생성하기 위해, 상기 제1 x-기울기, 상기 제1 y-기울기, 상기 제2 x-기울기, 및 상기 제2 y-기울기와 관련된 데이터 범위를 미리 정의된 비트 깊이로 제한하고;
    제1 정보에 기초하여 기울기 파라미터의 세트를 유도하고 - 상기 제1 정보는 상기 범위 제한 제1 x-기울기, 상기 범위 제한 제1 y-기울기, 상기 범위 제한 제2 x-기울기, 상기 범위 제한 제2 y-기울기를 포함함 -;
    상기 기울기 파라미터의 세트에 기초해 x-모션 오프셋 및 y-모션 오프셋을 유도하고;
    제2 정보에 기초하여 상기 현재 블록에 대한 개선된 예측자를 생성하며 - 상기 제2 정보는 상기 x-모션 오프셋 및 상기 y-모션 오프셋을 포함함 -;
    상기 개선된 예측자에 기초해 상기 현재 블록을 인코딩 또는 디코딩하도록
    배열되는 것인, 비디오 코딩 장치.
  7. 진성 양방향 예측 블록에 대해 양방향 광학 흐름(Bi-directional optical flow; BIO)을 사용하는 비디오 코딩 방법에 있어서,
    현재 화상 내의 현재 블록과 연관된 입력 데이터를 수신하는 단계 - 상기 현재 블록은 양방향 예측을 사용하여 코딩됨 -;
    참조 화상 리스트 0으로부터의 제1 참조 화상 내의 상기 현재 블록과 연관된 제1 참조 블록과 참조 화상 리스트 1로부터의 제2 참조 화상 내의 상기 현재 블록과 연관된 제2 참조 블록을 결정하는 단계 - 상기 제1 참조 블록 및 상기 제2 참조 블록은 진성 양방향 모션 벡터에 의해 지시됨 -;
    상기 제1 참조 블록에 기초하여 제1 x-기울기 및 제1 y-기울기를 그리고 상기 제2 참조 블록에 기초하여 제2 x-기울기 및 제2 y-기울기를 유도하는 단계;
    상기 제1 x-기울기 및 상기 제2 x-기울기에 기초하여 x-기울기 합을 유도하고, 상기 제1 y-기울기 및 상기 제2 y-기울기에 기초하여 y-기울기 합을 유도하며, 상기 제1 참조 블록과 상기 제2 참조 블록에서 보간된 픽셀들 간의 참조 차이(reference differences)를 유도하는 단계 - 상기 x-기울기 합 및 상기 y-기울기 합에 대한 데이터 범위, 상기 참조 차이, 또는 이 둘 모두는 제1 미리 정의된 비트 깊이만큼 시프트됨 -;
    제1 정보를 사용하여 x-모션 오프셋 및 y-모션 오프셋을 유도하는 단계 - 상기 제1 정보는 상기 x-기울기 합, 상기 y-기울기 합, 및 상기 참조 차이를 포함함-;
    제2 정보에 기초하여 상기 현재 블록에 대한 개선된 예측자를 생성하는 단계 - 상기 제2 정보는 상기 x-모션 오프셋 및 상기 y-모션 오프셋을 포함함 -; 및
    상기 개선된 예측자에 기초해 상기 현재 블록을 인코딩 또는 디코딩하는 단계
    를 포함하는, 비디오 코딩 방법.
  8. 제7항에 있어서,
    상기 제1 미리 정의된 비트 깊이는 암시적으로 결정되는 것인, 비디오 코딩 방법.
  9. 제7항에 있어서,
    상기 제1 미리 정의된 비트 깊이는 입력 비트 깊이에 따라 결정되는 것인, 비디오 코딩 방법.
  10. 제7항에 있어서,
    상기 제1 미리 정의된 비트 깊이는 시퀀스 레벨, 화상 레벨 또는 슬라이스 레벨에서 비트 스트림에서 시그널링되는 것인, 비디오 코딩 방법.
  11. 제7항에 있어서,
    상기 x-기울기 합 및 상기 y-기울기 합에 대한 데이터 범위, 상기 참조 차이, 또는 이 둘 모두는, 상기 제1 미리 정의된 비트 깊이만큼 시프트되기 전에 제2 미리 정의된 비트 깊이로 제한되는 것인, 비디오 코딩 방법.
  12. 제7항에 있어서,
    상기 x-기울기 합 및 상기 y-기울기 합에 대한 데이터 범위, 상기 참조 차이, 또는 이 둘 모두는 상기 제1 미리 정의된 비트 깊이만큼 시프트된 후에 제2 미리 정의된 비트 깊이로 제한되는 것인, 비디오 코딩 방법.
  13. 진성 양방향 예측 블록에 대해 양방향 광학 흐름(Bi-directional optical flow; BIO)을 사용하는 비디오 코딩 장치에 있어서,
    상기 비디오 코딩 장치는 하나 이상의 전자 회로 또는 프로세서를 포함하고,
    상기 하나 이상의 전자 회로 또는 프로세서는,
    현재 화상 내의 현재 블록과 연관된 입력 데이터를 수신하고 - 상기 현재 블록은 양방향 예측을 사용하여 코딩됨 -;
    참조 화상 리스트 0으로부터의 제1 참조 화상 내의 상기 현재 블록과 연관된 제1 참조 블록과 참조 화상 리스트 1로부터의 제2 참조 화상 내의 상기 현재 블록과 연관된 제2 참조 블록을 결정하고 - 상기 제1 참조 블록 및 상기 제2 참조 블록은 진성 양방향 모션 벡터에 의해 지시됨 -;
    상기 제1 참조 블록에 기초하여 제1 x-기울기 및 제1 y-기울기를 그리고 상기 제2 참조 블록에 기초하여 제2 x-기울기 및 제2 y-기울기를 유도하고;
    상기 제1 x-기울기와 상기 제2 x-기울기에 기초해 x-기울기 합을 유도하고, 상기 제1 y-기울기 및 상기 제2 y-기울기에 기초하여 y-기울기 합을 유도하고, 상기 제1 참조 블록과 상기 제2 참조 블록에서 보간된 픽셀들 간의 참조 차이를 유도하고 - 상기 x-기울기 합 및 상기 y-기울기 합에 대한 데이터 범위, 상기 참조 차이, 또는 이 둘 모두는 제1 미리 정의된 비트 깊이만큼 시프트됨 -;
    제1 정보를 사용하여 x-모션 오프셋 및 y-모션 오프셋을 유도하고 - 상기 제1 정보는 상기 x-기울기 합, 상기 y-기울기 합 및 상기 참조 차이를 포함함 -;
    제2 정보에 기초하여 상기 현재 블록에 대한 개선된 예측자를 생성하며 - 상기 제2 정보는 상기 x-모션 오프셋 및 상기 y-모션 오프셋을 포함함 -; 및
    상기 개선된 예측자에 기초해 상기 현재 블록을 인코딩 또는 디코딩하도록
    배열되는 것인, 비디오 코딩 장치.
KR1020217000801A 2018-06-11 2019-06-10 비디오 코딩을 위한 양방향 광학 흐름의 방법 및 장치 KR102596104B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201862683098P 2018-06-11 2018-06-11
US62/683,098 2018-06-11
US201862703959P 2018-07-27 2018-07-27
US62/703,959 2018-07-27
US201862717982P 2018-08-13 2018-08-13
US62/717,982 2018-08-13
US201862719186P 2018-08-17 2018-08-17
US62/719,186 2018-08-17
PCT/CN2019/090560 WO2019238008A1 (en) 2018-06-11 2019-06-10 Method and apparatus of bi-directional optical flow for video coding

Publications (2)

Publication Number Publication Date
KR20210018942A true KR20210018942A (ko) 2021-02-18
KR102596104B1 KR102596104B1 (ko) 2023-10-30

Family

ID=68842690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217000801A KR102596104B1 (ko) 2018-06-11 2019-06-10 비디오 코딩을 위한 양방향 광학 흐름의 방법 및 장치

Country Status (7)

Country Link
US (1) US11153599B2 (ko)
EP (1) EP3804324A4 (ko)
KR (1) KR102596104B1 (ko)
CN (1) CN112272952B (ko)
MX (1) MX2020013386A (ko)
TW (1) TWI717753B (ko)
WO (1) WO2019238008A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102516067B1 (ko) * 2016-07-14 2023-03-30 삼성전자주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
TWI729483B (zh) * 2018-09-04 2021-06-01 聯發科技股份有限公司 視訊編解碼系統的運動向量湊整統一的方法以及裝置
WO2020061082A1 (en) 2018-09-21 2020-03-26 Vid Scale, Inc. Complexity reduction and bit-width control for bi-directional optical flow
BR112021008251A2 (pt) * 2018-11-05 2021-08-03 Beijing Bytedance Network Technology Co., Ltd. método para processar vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
KR20210091304A (ko) * 2018-11-21 2021-07-21 인터디지털 브이씨 홀딩스 인코포레이티드 화상 인코딩 및 디코딩을 위한 방법 및 디바이스
US11523109B2 (en) * 2019-05-02 2022-12-06 Tencent America LLC Method and apparatus for improvements of affine prof
WO2021050226A1 (en) 2019-09-12 2021-03-18 Alibaba Group Holding Limited Method and apparatus for encoding or decoding video
KR20220062588A (ko) * 2019-09-12 2022-05-17 알리바바 그룹 홀딩 리미티드 비디오 부호화 정보 시그널링용 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017036399A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of motion compensation for video coding based on bi prediction optical flow techniques
US20170094305A1 (en) * 2015-09-28 2017-03-30 Qualcomm Incorporated Bi-directional optical flow for video coding

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090132629A (ko) 2007-04-09 2009-12-30 가부시키가이샤 엔.티.티.도코모 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
US20130083851A1 (en) 2010-04-06 2013-04-04 Samsung Electronics Co., Ltd. Method and apparatus for video encoding and method and apparatus for video decoding
CN113259684B (zh) 2013-04-08 2024-09-17 Ge视频压缩有限责任公司 分量间预测
US10070125B2 (en) 2013-07-31 2018-09-04 Nokia Technologies Oy Method and apparatus for video coding and decoding
JP6559337B2 (ja) 2015-09-23 2019-08-14 ノキア テクノロジーズ オーユー 360度パノラマビデオの符号化方法、符号化装置、及びコンピュータプログラム
KR20170058838A (ko) 2015-11-19 2017-05-29 한국전자통신연구원 화면간 예측 향상을 위한 부호화/복호화 방법 및 장치
WO2017134957A1 (ja) * 2016-02-03 2017-08-10 シャープ株式会社 動画像復号装置、動画像符号化装置、および予測画像生成装置
WO2017188566A1 (ko) 2016-04-25 2017-11-02 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
JP2019519148A (ja) 2016-05-13 2019-07-04 ヴィド スケール インコーポレイテッド ビデオ符号化のための一般化された多重仮説予測(Generalized Multi−Hypothesis Prediction)のためのシステムおよび方法
WO2018012886A1 (ko) 2016-07-12 2018-01-18 한국전자통신연구원 영상 부호화/복호화 방법 및 이를 위한 기록 매체
US11153594B2 (en) 2016-08-29 2021-10-19 Apple Inc. Multidimensional quantization techniques for video coding/decoding systems
US20190215521A1 (en) 2016-09-22 2019-07-11 Mediatek Inc. Method and apparatus for video coding using decoder side intra prediction derivation
US10951912B2 (en) 2016-10-05 2021-03-16 Qualcomm Incorporated Systems and methods for adaptive selection of weights for video coding
WO2018070632A1 (ko) 2016-10-11 2018-04-19 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
US10986367B2 (en) 2016-11-04 2021-04-20 Lg Electronics Inc. Inter prediction mode-based image processing method and apparatus therefor
US10750203B2 (en) 2016-12-22 2020-08-18 Mediatek Inc. Method and apparatus of adaptive bi-prediction for video coding
WO2018113658A1 (en) 2016-12-22 2018-06-28 Mediatek Inc. Method and apparatus of motion refinement for video coding
US10931969B2 (en) 2017-01-04 2021-02-23 Qualcomm Incorporated Motion vector reconstructions for bi-directional optical flow (BIO)
US10523964B2 (en) 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
CN110476424B (zh) * 2017-03-16 2022-03-04 联发科技股份有限公司 一种视频编解码方法及装置
US20180332298A1 (en) 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
KR102653715B1 (ko) * 2017-07-03 2024-04-01 브이아이디 스케일, 인크. 양방향 광학 흐름에 기반한 모션 보상 예측
WO2019234578A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Asymmetric weighted bi-predictive merges
US11523109B2 (en) * 2019-05-02 2022-12-06 Tencent America LLC Method and apparatus for improvements of affine prof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017036399A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of motion compensation for video coding based on bi prediction optical flow techniques
US20170094305A1 (en) * 2015-09-28 2017-03-30 Qualcomm Incorporated Bi-directional optical flow for video coding

Also Published As

Publication number Publication date
TWI717753B (zh) 2021-02-01
CN112272952B (zh) 2022-07-01
EP3804324A4 (en) 2022-08-03
EP3804324A1 (en) 2021-04-14
US11153599B2 (en) 2021-10-19
US20210250604A1 (en) 2021-08-12
TW202002645A (zh) 2020-01-01
WO2019238008A1 (en) 2019-12-19
CN112272952A (zh) 2021-01-26
KR102596104B1 (ko) 2023-10-30
MX2020013386A (es) 2021-03-09

Similar Documents

Publication Publication Date Title
KR102596104B1 (ko) 비디오 코딩을 위한 양방향 광학 흐름의 방법 및 장치
US11109062B2 (en) Method and apparatus of motion refinement based on bi-directional optical flow for video coding
US11470348B2 (en) Methods and apparatuses of video processing with bi-direction prediction in video coding systems
US10965955B2 (en) Method and apparatus of motion refinement for video coding
US11558634B2 (en) Prediction refinement for combined inter intra prediction mode
CN113612993B (zh) 视频数据的运动补偿方法及装置
WO2017036399A1 (en) Method and apparatus of motion compensation for video coding based on bi prediction optical flow techniques
US20220210439A1 (en) Method and Apparatus of Simplified Affine Subblock Process for Video Coding System
US20230232012A1 (en) Method and Apparatus Using Affine Non-Adjacent Candidates for Video Coding
JP7556090B2 (ja) デコーダ側精緻化ツールのサイズ選択アプリケーション
WO2023221993A1 (en) Method and apparatus of decoder-side motion vector refinement and bi-directional optical flow for video coding

Legal Events

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