KR20160065939A - 고정밀도 데이터에 대한 비트 심도 변수를 이용한 가중화된 예측 신택스 및 시맨틱들의 간략화된 프로세싱 - Google Patents

고정밀도 데이터에 대한 비트 심도 변수를 이용한 가중화된 예측 신택스 및 시맨틱들의 간략화된 프로세싱 Download PDF

Info

Publication number
KR20160065939A
KR20160065939A KR1020167011516A KR20167011516A KR20160065939A KR 20160065939 A KR20160065939 A KR 20160065939A KR 1020167011516 A KR1020167011516 A KR 1020167011516A KR 20167011516 A KR20167011516 A KR 20167011516A KR 20160065939 A KR20160065939 A KR 20160065939A
Authority
KR
South Korea
Prior art keywords
value
bitdepth
offset
weighted prediction
syntax element
Prior art date
Application number
KR1020167011516A
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 KR20160065939A publication Critical patent/KR20160065939A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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

특정 실시형태들은 고-정밀도 데이터 플래그를 검사하기 위한 시맨틱들에서 조건 검사를 제거할 수도 있다. 이것은 인코딩 및 디코딩 프로세스에서 이용된 시맨틱들을 간략화한다. 이 경우, 고-정밀도 데이터 플래그가 설정되어 있지 않더라도, 가중화된 예측 신택스 엘리먼트의 값은 BitDepth 변수에 의해 설정된다. 그러나, BitDepth가 8 비트들과 같은 고-정밀도 데이터로 고려되지 않더라도, 가중화된 예측 신택스 엘리먼트에 대한 범위는 여전히 고정된 값과 동일하다. 예를 들어, 신택스 엘리먼트들 luma_offset_l0[i], luma_offset_l1[i], delta_chroma_offset_l0[i][j], 및 delta_chroma_offset_l1[i][j]은, 비트 심도가 임계값을 초과하는지 여부를 표시하기 위하여, 플래그 extended_precision_processing_flag가 인에이블되든지 그리고 인에이블되지 않든지, 위에서 설명된 바와 같은 변수 BitDepth를 이용한다.

Description

고정밀도 데이터에 대한 비트 심도 변수를 이용한 가중화된 예측 신택스 및 시맨틱들의 간략화된 프로세싱{SIMPLIFIED PROCESSING OF WEIGHTED PREDICTION SYNTAX AND SEMANTICS USING A BIT DEPTH VARIABLE FOR HIGH PRECISION DATA}
관련된 출원들에 대한 상호-참조
본 개시내용은, 그 내용들이 전체적으로 참조에 의해 본원에 포함되는, 2013년 11월 5일자로 출원된 "Simplification of Weighted Prediction Syntax and Semantics for HEVC Range Extension"라는 명칭의 미국 가출원 제61/900,337호에 대한 우선권을 주장한다.
고효율 비디오 코딩(High Efficiency Video Coding)("HEVC") 코딩 표준(H.265라고도 함)은 ISO/IEC MPEG 표준화 기구들에 의해 발표된 코딩 표준이다. HEVC는 "고선명도(high definition)"보다 더 높은 해상도들을 지원하고, 이것은 픽셀들이 고선명도 픽처(picture)들보다 더 큰 수의 비트들에 의해 표현될 수도 있다는 것을 의미한다. 예를 들어, 1920 픽셀들의 폭인 고선명도 이미지들에 비해, 4K 해상도들은 4,000 픽셀들의 폭인 이미지들을 포함할 수도 있다.
시간적 모션 예측(temporal motion prediction)은 코딩 효율을 증가시키기 위한 효과적인 방법이고, 높은 압축을 제공한다. HEVC는 시간적 모션 예측을 위한 변환 모델을 이용한다. 변환 모델에 따르면, 현재 픽처에서의 소정의 현재 유닛에 대한 예측 신호는 참조 픽처에서의 대응하는 참조 유닛(reference unit)으로부터 생성된다. 참조 유닛의 좌표들은, 현재 유닛의 좌표들에 가산(add)되고/현재 유닛의 좌표들로부터 감산(subtract)될 수평(x) 및 수직(y) 방향들에 따른 변환 모션(translational motion)을 설명하는 모션 벡터(motion vector)에 의해 주어진다. 디코더는 압축된 비디오를 디코딩하기 위하여 모션 벡터를 필요로 한다.
HEVC는 하나의 참조 픽처들을 이용한 단일 예측, 또는 2 개의 참조 픽처들을 이용한 양방향-예측(bi-prediction)을 이용할 수도 있다. 참조 픽처들의 참조 유닛들에서의 픽셀들은 예측으로서 이용된다. 페이딩(fadign)이 발생할 때와 같은 일부의 조건들에서, 양방향-예측 시의 참조 유닛들 중의 하나의 참조 유닛의 픽셀들은 가장 정확한 예측을 산출하지 않을 수도 있다. 이것을 보상하기 위하여, HEVC는 모션 추정 프로세스(motion estimation process)를 수행할 때에 가중화된 예측(weighted prediction)을 이용할 수도 있다. 가중화된 예측은 예측으로서 상이하게 이용된 참조 유닛들 중의 하나 또는 양자에서의 픽셀들을 가중화할 수도 있다.
본 발명의 실시형태들은 고-정밀도(high-precision) 데이터 플래그를 검사하기 위한 시맨틱(semantic)들에서 조건 검사를 제거한다. 이것은 인코딩 및 디코딩 프로세스에서 이용된 시맨틱들을 간략화한다. 고-정밀도 데이터 플래그가 설정되어 있지 않더라도, 가중화된 예측 신택스 엘리먼트(syntax element)의 값은 BitDepth 변수에 의해 설정된다. 그러나, BitDepth가 8 비트들과 같은 고-정밀도 데이터로 고려되지 않더라도, 가중화된 예측 신택스 엘리먼트에 대한 범위는 여전히 고정된 값과 동일하다. 예를 들어, 신택스 엘리먼트들 luma_offset_l0[i], luma_offset_l1[i], delta_chroma_offset_l0[i][j], 및 delta_chroma_offset_l1[i][j]은, 비트 심도(bit depth)가 임계값을 초과하는지 여부를 표시하기 위하여, 플래그 extended_precision_processing_flag가 인에이블되든지 그리고 인에이블되지 않든지, 위에서 설명된 바와 같은 변수 BitDepth를 이용한다.
더욱 상세하게는, 본 발명의 방법은 다음의 단계들을 포함한다: (1) 참조 픽처의 픽셀들과 연관된 비트들의 수에 기초하여 비트 심도와 연관된 변수에 대한 제1 값을 설정하는 단계;(2) 현재 픽처의 현재 유닛에 대한 가중화된 예측을 수행하기 위한 가중화 인자(weighting factor)를 결정하는 단계; (3) 현재 유닛에 대한 모션 보상을 수행할 때에 최초 참조 픽처의 최초 참조 유닛의 픽셀들을 가중화하기 위하여 가중화 인자를 이용하는 단계; 및 (4) 비트 심도가 임계값을 초과하는지 여부를 표시하기 위하여 확장된 정밀도 플래그가 인에이블되든지 그리고 인에이블되지 않든지 가중화 인자와 연관된 가중화된 예측 신택스 엘리먼트에 대한 제2 값을 설정하는 단계로서, 가중화된 예측 신택스 엘리먼트에 대한 제2 값은 제1 값에 의해 설정된 범위 내에 있고, 모션 보상을 수행할 시에 이용된 예측 값에 대한 오프셋(offset)인, 가중화된 예측 신택스 엘리먼트에 대한 제2 값을 설정하는 단계.
도 1은 하나의 실시형태에 따라 비디오를 인코딩하고 디코딩하기 위한 간략화된 시스템을 도시한다.
도 2는 하나의 실시형태에 따라 모션 추정 및 보상 프로세스의 예를 도시한다.
도 3은 하나의 실시형태에 따라 가중화된 예측을 위해 이용되는 신택스 엘리먼트들의 표를 도시한다.
도 4는 하나의 실시형태에 따라 인코딩 프로세스에서 변수 BitDepth를 이용하기 위한 방법의 간략화된 플로우차트를 도시한다.
도 5는 하나의 실시형태에 따라 변수 BitDepth를 이용하여 인코딩된 비트스트림을 디코딩하기 위한 간략화된 플로우차트를 도시한다.
가중화된 예측을 수행하기 위한 기법들이 본원에서 설명되어 있다. 다음의 설명에서는, 설명의 목적들을 위하여, 여러 예들 및 특정 세부사항들이 특정 실시형태들의 철저한 이해를 제공하기 위하여 기재된다. 청구항들에 의해 정의된 바와 같은 특정 실시형태들은 단독으로, 또는 이하에서 설명된 다른 특징들과 조합하여 이 예들에서의 특징들의 일부 또는 전부를 포함할 수도 있고, 본원에서 설명된 특징들 및 개념들의 수정들 및 등가물들을 더 포함할 수도 있다.
특정 실시형태들은 비디오의 픽처들에서의 픽셀들을 표현하기 위하여 이용된 비트들의 수에 기초한 값에서 설정될 수도 있는 변수 BitDepth를 제공할 수도 있다. 변수는 HEVC 범위 확장과 같은 HEVC에서의 신택스 엘리먼트들에서 이용될 수도 있지만, 다른 코딩 표준들이 이용될 수도 있다. 변수를 이용함으로써, 비디오에 대한 상이한 해상도들이 인코딩 및 디코딩 프로세스 동안에 수용될 수도 있다. 예를 들어, 픽처들에서의 픽셀들의 수는 해상도에 따라 8 비트들, 10 비트들, 12 비트들, 또는 또 다른 수의 비트들에 의해 표현될 수도 있다. 신택스에서 BitDepth 변수를 이용하는 것은 모션 추정 및 모션 보상 프로세스에서 신축성을 제공한다. 예를 들어, 가중화된 예측 프로세스에서 이용된 신택스 엘리먼트들은 픽처들을 표현하기 위하여 이용된 상이한 수들의 비트들을 참작할 수도 있다.
기존에는, 고-정밀도 데이터가 프로세싱되고 있는지; 즉, 비디오의 픽처들에서의 픽셀들의 수가 8 비트들과 같은 수 또는 임계값을 초과하는지를 결정하기 위하여 조건 검사가 수행된다. 이 조건 검사는 신택스 엘리먼트들이 BitDepth 변수에 의해 설정된 범위 내에 있어야 하는지 여부를 결정하기 위하여 이용될 수도 있다. 고-정밀도 데이터 플래그가 설정되어 있지 않을 때, 가중화된 예측 신택스 엘리먼트의 값은 8 비트들과 같이, 픽처들에서의 픽셀들을 표현하기 위하여 이용된 픽셀들의 표준적인 수를 표현하는 고정된 범위에 의해 설정된다. 특정 실시형태들은 조건 검사를 제거할 수도 있다. 이것은 인코딩 및 디코딩 프로세스에서 이용된 시맨틱들을 간략화한다. 이 경우, 고-정밀도 데이터 플래그가 설정되어 있지 않더라도, 가중화된 예측 신택스 엘리먼트의 값은 BitDepth 변수에 의해 설정된다. 그러나, BitDepth가 8 비트들과 같은 고-정밀도 데이터로 고려되지 않더라도, 가중화된 예측 신택스 엘리먼트에 대한 범위는 여전히 고정된 값과 동일하다. 예를 들어, 신택스 엘리먼트들 luma_offset_l0[i], luma_offset_l1[i], delta_chroma_offset_l0[i][j], 및 delta_chroma_offset_l1[i][j]은, 비트 심도(bit depth)가 임계값을 초과하는지 여부를 표시하기 위하여, 플래그 extended_precision_processing_flag가 인에이블되든지 그리고 인에이블되지 않든지, 위에서 설명된 바와 같은 변수 BitDepth를 이용한다.
도 1은 하나의 실시형태에 따라 비디오를 인코딩하고 디코딩하기 위한 간략화된 시스템(100)을 도시한다. 시스템(100)은 인코더(102) 및 디코더(104)를 포함한다. 인코더(102) 및 디코더(104)는 HEVC와 같이, 비디오를 인코딩하고 디코딩하기 위한 비디오 코딩 표준을 이용할 수도 있다. 구체적으로, 인코더(102) 및 디코더(104)는 HEVC 범위 확장으로부터의 신택스 엘리먼트들을 이용할 수도 있다. 또한, 인코더(102) 및 디코더(104)의 다른 엘리먼트들이 인식될 수도 있다.
인코더(102) 및 디코더(104)는 모션 추정 및 모션 보상을 통해 시간적 예측을 수행한다. 모션 추정은 비디오의 현재 유닛에 대한 모션 벡터(motion vector)(MV)를 결정하는 프로세스이다. 예를 들어, 모션 추정 프로세스는 참조 픽처들 상에서의 비디오의 현재 유닛(예컨대, 예측 유닛(PU))에 대한 최상의 일치 예측(best match prediction)을 검색한다. 최상의 일치 예측은 모션 벡터 및 연관된 참조 픽처 ID에 의해 설명된다. 또한, B 픽처에서의 참조 유닛은, 픽처 순서에서 이전 픽처에서의 이전 참조 유닛과, 후속 참조 픽처에서의 후속 참조 유닛을 지시하는 2 개에 이르는 모션 벡터들을 가질 수도 있다. 다음으로, 모션 보상은 인코딩될 수 있는 잔차 에러(residual error)를 결정하기 위하여 비디오의 현재 유닛으로부터 모션 벡터에 의해 지시된 참조 유닛을 감산함으로써 수행된다. 양방향-예측의 경우, 모션 벡터들은 조합된 양방향 참조 유닛을 형성하기 위하여 조합될 수 있는 2 개의 참조 유닛들을 지시한다. 조합된 양방향 참조 유닛은 잔차 에러를 결정하기 위하여 현재 유닛으로부터 감산될 수 있다.
모션 추정 및 보상을 수행하기 위하여, 인코더(102) 및 디코더(104)는 모션 추정 및 보상 블록들(104-1 및 104-2)을 각각 포함한다. 모션 보상에서는, B 및 P 픽처들이 가중화된 예측을 이용함으로써 시간적 중복성(temporal redundancy)을 활용할 수도 있다. 가중화된 예측은 가중화 인자들을 참조 픽처들 중의 하나 또는 양자에 적용한다. P 픽처들에서는, 참조 유닛이 현재 유닛에 대한 예측으로서 이용되기 전에 가중화될 수도 있다. B 픽처들에서는, 참조 유닛들이 참조 픽처들을 조합된 양방향 참조 유닛으로 조합하기 전에 가중화된다. 기존에는, B 픽처가 그로부터 예측되는 참조 유닛들의 평균이 이용될 수도 있다. 그러나, 가중화된 예측을 이용하면, 참조 유닛들의 가중화된 평균(또는 다른 가중화된 계산)이 현재 유닛을 예측하기 위하여 이용될 수도 있다. 즉, 참조 유닛들의 픽셀들은 조합하기 전에 가중화 인자들에 의해 가중화될 수도 있다. 다음은 B 픽처들에 대하여 논의될 수도 있지만, 조합된 양방향 참조 유닛이 하나의 가중화된 참조 유닛에 의해 대체된다는 것을 제외하고는, 논의는 또한 P 픽처들에 적용할 것이다. 가중화된 예측의 이용은, 하나의 장면(scene)이 또 다른 장면으로 페이딩(fade)될 때와 같이 비디오에서 어떤 조건들이 발생할 때, 또는 흑색(black)으로 또는 흑색으로부터 페이딩되거나 교차-페이드(cross-fades) 상태일 때와 같이, 휘도에 있어서의 점진적인 변동이 있을 경우에[ 유용할 수도 있다. 예를 들어, 페이딩이 발생할 때, 페이딩과 연관된 픽처는 페이딩을 포함하지 않는 픽처보다 예측으로서 이용하기 위해 정확하지 않을 수도 있다. 페이딩을 포함하지 않는 픽처를 더 높게 가중화하는 것은 현재 유닛에 대한 더 양호한 예측을 생성할 수도 있다. 즉, 페이딩 효과를 포함하지 않는 참조 유닛의 픽셀들은 현재 유닛에 대한 더 높은 상관을 가질 수도 있다. 가중화는 잔차 에러를 감소시킬 수도 있고, 또한, 비트레이트(bitrate)를 감소시킬 수도 있다.
가중화 인자들은 참조 유닛들의 루마(luma) 및/또는 크로마(chroma) 성분들에 대해 제공될 수도 있다. 또한, 가중화 인자들은 이용된 참조 리스트에 기초하여 상이할 수도 있다. 즉, 양방향-예측은 list0 및 list1로부터 참조 픽처를 선택할 수도 있다. list0에서의 참조 픽처들은 가중화 인자 w0로 가중화될 수도 있고, list1에서의 참조 픽처들은 가중화 인자 w1로 가중화될 수도 있다. 또한, 참조 픽처들의 하나만이 가중화될 수도 있다. 가중화 인자들은 참조 유닛들에서 픽셀 값들을 상이하게 조절하는 정보일 수도 있다. 하나의 실시형태에서, 가중화 인자들은 백분율들일 수도 있다.
가중화된 예측 프로세스는, 가중화된 예측을 수행하기 위하여 인코더(102) 및 디코더(104)가 이용하는 파라미터들을 정의하는 신택스 엘리먼트들을 이용할 수도 있다. 이 파라미터들의 값들을 설정함으로써, 인코더(102)에서의 가중화된 예측 관리기(106-1) 및 디코더(104)에서의 가중화된 예측 관리기(106-2)는 가중화된 예측 프로세스를 수행할 수 있다. 간단한 예에서, 가중화 인자들은 상이한 참조 픽처들에서의 픽셀들을 상이하게 가중화할 수도 있다. 다음으로, 가중화된 예측 관리기들(106-1 및 106-2)은 조합된 양방향 참조 유닛으로서 이용하기 위하여 참조 유닛들의 가중화된 평균을 취한다. 다음으로, 모션 추정 및 보상 블록들(104-1 및 104-2)은 현재 유닛에 대한 모션 보상 프로세스에서 이 조합된 양방향 참조 유닛을 이용한다. 신택스 엘리먼트들은 가중화된 예측 프로세스를 더욱 상세하게 설명한 후에 이하에서 더욱 상세하게 설명될 것이다.
도 2는 하나의 실시형태에 따라 모션 추정 및 보상 프로세스의 예를 도시한다. 비디오는 다수의 픽처들(200-1 내지 200-5)을 포함한다. 현재 픽처는 200-3로 도시되어 있고, 비디오(202-1)의 현재 유닛을 포함한다. 현재 유닛(202-1)은 픽처 순서에서의 이전 픽처(200-1) 및 픽처 순서에서의 후속 픽처(200-5)와 같은 다른 픽처들(200)에서의 참조 픽처들로부터의 참조 유닛들을 이용하여 양방향-예측될 수도 있다. 픽처(200-1)는 참조 유닛(202-2)을 포함하고, 픽처(200-5)는 참조 유닛(202-3)을 포함하며, 이들 양자는 현재 유닛(202-1)을 예측하기 위하여 이용될 수 있다.
가중화된 예측에서는, 참조 유닛들(202-2 및 202-3)의 픽셀들이 상이하게 가중화될 수도 있다. 예를 들어, 참조 유닛들의 픽셀들은 가중화 인자들에 의해 가중화될 수도 있다. 간단한 예에서는, 참조 유닛(202-2)의 픽셀들이 0.25의 가중화 인자 w0로 가중화될 수도 있고, 참조 유닛(202-3)의 픽셀들이 0.75의 가중화 인자 w1로 가중화될 수도 있는 것과 같이, 가중화 인자들은 백분율들일 수도 있다. 다음으로, 이 가중화 인자들은 현재 유닛(202-1)에 대한 조합된 양방향 참조 유닛으로서 이용된 픽셀 값들을 계산하기 위하여 이용될 수도 있다.
일단 참조 유닛들이 결정되면, 모션 추정 및 보상 블록(104-1)은 현재 유닛(202-1)에 대하여 참조 유닛들(202-2 및 202-3)의 위치(location)를 표현하는 모션 벡터들을 결정할 수 있다. 다음으로, 모션 추정 및 보상 블록(104-1)은 조합된 양방향 참조 유닛과 현재 유닛(202-1)과의 사이의 차이를 잔차 에러로서 계산한다.
일단 잔차 에러를 결정하면, 인코더(102)는 잔차 에러, 모션 벡터들과, 또한, 조합된 양방향 참조 유닛을 결정하기 위하여 이용된 가중화 인자들을 인코딩한다. 인코더(102)는 인코딩된 잔차 에러, 모션 벡터들, 및 디코더(104)로 전송되는 인코딩된 비트스트림에서의 가중화 인자들을 포함한다. 용어 가중화 인자들은, 가중화된 예측 프로세스가 수행되도록 하고 가중화 인자들이 결정되도록 하는, 인코딩되는 정보를 표현하기 위한 논의의 목적들을 위해 이용된다. 인코딩된 비트스트림에서 인코딩되는 가중화 인자들에 대한 정보를 결정하기 위하여 이용된 신택스 엘리먼트들은 이하에서 더욱 상세하게 설명된다.
디코더(104)는 인코딩된 비트스트림을 수신하고, 비디오의 픽처들을 재구성할 수 있다. 디코더(104)는 현재 유닛(202-1)을 디코딩하기 이전에, 인코딩된 비트스트림으로부터 참조 유닛들(202-2 및 202-3)을 재구성할 수도 있다. 또한, 디코더(104)는 현재 유닛(202-1)에 대한 잔차 에러, 현재 유닛(202-1)에 대한 모션 벡터들, 및 가중화 인자들을 디코딩한다. 다음으로, 디코더(104)에서는, 모션 추정 및 보상 블록(104-2)이 현재 유닛(202-1)을 재구성하기 위하여 그 다음으로, 잔차 에러를 이용할 수도 있다. 예를 들어, 모션 추정 및 보상 블록(104-2)은 재구성된 참조 유닛들(202-2 및 202-3)을 위치시키기 위하여 모션 벡터들을 이용할 수도 있다. 다음으로, 가중화된 예측 관리기(106-2)는 재구성되고 조합된 양방향 참조 유닛을 형성하기 위하여 가중화 인자들을 재구성된 유닛들(202-2 및 202-3)에 적용한다. 다음으로, 재구성된 잔차 에러는 재구성된 현재 유닛을 형성하기 위하여 재구성되고 조합된 양방향 예측된 유닛에 가산된다.
위에서 언급된 바와 같이, 가중화된 예측을 위한 신택스 엘리먼트들은 가중화된 예측 프로세스에서 변수 BitDepth를 이용할 수도 있다. 변수 BitDepth는 픽처에서 픽셀을 표현하기 위하여 이용된 비트들의 수를 표현할 수도 있다. 다음은 비트 심도 변수를 이용하는 신택스 엘리먼트들을 설명할 것이다.
도 3은 하나의 실시형태에 따라 가중화된 예측을 위해 이용되는 신택스 엘리먼트들의 표(300)를 도시한다. 비디오의 루마 및 크로마 성분들과, 또한, list0 및 list1에 대한 신택스 엘리먼트들이 있다. 조합된 양방향 참조 유닛은 평균화 동작에서 가중화 인자들을 적용함으로써 결정될 수도 있다. 계산을 예시하기 위한 예에서, 가중화 인자 w0는 이전 참조 유닛(202-2)(예컨대, 픽셀들의 루마 및 크로마 성분들)에 의해 승산(multiply)되고, 가중화 인자 w1는 후속 참조 유닛(202-3)(예컨대, 픽셀들의 루마 및 크로마 성분들)에 의해 승산된다. 다음으로, 2 개의 값들은 함께 가산되고, 가산된 가중화 인자들에 의해 제산(divide)된다(예컨대, 정규화). 상기 예는, 조합된 양방향 참조 유닛을 결정하기 위하여 인코더(102) 및 디코더(104)가 계산을 어떻게 수행하는 것인지가 정확하게는 아닐 수도 있다. 다양한 방법들이 이용될 수도 있지만, 제산 동작을 수행하는 것은 고비용의 연산 동작일 수도 있다. 가중화 인자들을 유도하는 하나의 방법은 비트 시프팅(bit shifting)을 이용하는 것이다. 가중화 인자들은 공통 분모로 유도될 수 있고, 제산은 분모의 밑 2인 로그에 기초하여 비트들의 수의 조합되고 가중화된 예측의 우측 시프트(right shift)에 의해 표현된다. 즉, 루마 가중화 인자와 같은 가중화 인자는 분모의 밑 2인 로그에 의해 비트 시프트될 수도 있다.
다음의 신택스 엘리먼트들은 가중화된 예측 프로세스를 수행하기 위하여 이용될 수 있는 파라미터 값들을 인코딩한다. 302에서의 luma_offset_l0[i] 및 304에서의 delta_chroma_offset_l0[i][j]의 표(300)에서의 신택스 엘리먼트들은 픽처들에서의 픽셀을 표현하는 비트들의 수에 대한 BitDepth 변수를 이용할 수도 있다. 이 신택스 엘리먼트들은 list0에 대한 것이다. list1에 대한 대응하는 변수들은 또한, 306에서 luma_offset_l1[i] 및 308에서 delta_chroma_offset_l1[i][j]에 대해 제공된다. list0 엘리먼트들은 상세하게 설명될 수도 있지만, list0 엘리먼트들에 대한 임의의 논의도 list1 엘리먼트들에 적용한다. 이 신택스 엘리먼트들을 갖는 BitDepth 변수를 이용하는 것은 이 신택스 엘리먼트들이, 8, 10, 12, 14, 16 등의 비트들과 같은 상이한 수의 비트들로 픽셀들을 표현할 수도 있는 비디오에 대하여 이용되도록 한다. 이에 따라, 신택스 엘리먼트들은 고정밀도 데이터를 처리할 수 있고, 이것은 픽셀들이 8개를 초과하는 비트들에 의해 표현될 때일 수도 있다. 또한, 이하에서 설명되는 바와 같이, BitDepth 변수를 이용하는 것은 조건 검사가 인코더(102) 및 디코더(104)에서 회피되도록 한다. 표(300)에서의 다른 신택스 엘리먼트들은 또한, 상기 신택스 엘리먼트들에 대한 참조를 제공하기 위하여 이하에서 설명될 것이다.
신택스 엘리먼트 luma_log2_weight_denom는 모든 루마 가중화 인자들에 대하여 분모의 밑 2인 로그이다. luma_log2_weight_denom의 값은 0부터 7까지, 또는 0부터 BitDepthY까지의 범위 내에 있을 것이고, 여기서, BitDepthY는 참조 픽처의 루마 성분의 비트 심도이다. 변수 BitDepthY에 종속적으로 되도록 범위를 포함함으로써, 값은 픽셀들에 대한 상이한 수들의 비트들을 표현할 수 있다. 신택스 엘리먼트 luma_log2_weight_denom는 루마 가중화 인자(예컨대, 이하에서 설명된 신택스 엘리먼트 delta_luma_weight_l0[i] 및 delta_luma_weight_l1[i]의 델타 루마 가중화 인자)를 계산하기 위하여 이용된다.
신택스 엘리먼트 delta_chroma_log2_weight_denom는 모든 크로마 가중화 인자들에 대하여 분모의 밑 2인 로그(base 2 logarithm of the denominator)의 차이이다. 크로마 가중화 인자의 로그 2 분모(log 2 denominator)인 변수 ChromaLog2WeightDenom는 luma_log2_weight_denom + delta_chroma_log2_weight_denom과 동일한 것으로 유도되고, 값은 0부터 7까지, 또는 0부터 BitDepthC까지의 범위 내에 있을 것이고, 여기서, 변수 BitDepthC는 참조 픽처의 크로마 성분의 비트 심도이다. 변수 BitDepthC에 종속적으로 되도록 범위를 포함함으로써, 크로마 가중화 인자 값은 픽셀들에 대한 상이한 수들의 비트들을 표현할 수 있다.
신택스 엘리먼트 luma_weight_l0_flag[i]는 1과 동일할 때, RefPicList0[i]을 이용한 list0 예측의 루마 성분에 대한 가중화 인자들이 존재한다는 것을 특정한다. 신택스 엘리먼트 luma_weight_l0_flag[i]는 0과 동일할 때, 이 가중화 인자들이 존재하지 않는다는 것을 특정한다.
신택스 엘리먼트 chroma_weight_l0_flag[i]는 1과 동일할 때, RefPicList0[i]을 이용한 list0 예측의 크로마 예측 값들에 대한 가중화 인자들이 존재한다는 것을 특정한다. 신택스 엘리먼트 chroma_weight_l0_flag[i]는 0과 동일할 때, 크로마 가중화 인자들이 존재하지 않는다는 것을 특정한다. chroma_weight_l0_flag[i]가 존재하지 않을 때, 그것은 0과 동일한 것으로 추론된다.
신택스 엘리먼트 delta_luma_weight_l0[i]는 RefPicList0[i]을 이용한 list0 예측을 위한 루마 예측 값에 적용된 가중화 인자의 차이이다. 변수 LumaWeightL0[i]는 list0에 대한 루마 가중화 인자일 수도 있고, ( 1 << luma_log2_weight_denom ) + delta_luma_weight_l0[i]과 동일한 것으로 유도된다. 즉, 루마 가중화 인자는 변수 luma_log2_weight_denom 플러스(plus) delta_luma_weight_l0[i]의 값의 우측 시프트이다. luma_weight_l0_flag[i]가 1과 동일할 때, delta_luma_weight_l0[i]의 값은 -128부터 127까지, 또는 -(1 << (BitDepthY - 1)), (1 << (BitDepthY - 1)) -1까지의 범위 내에 있을 것이고, 여기서, BitDepthY는 참조 픽처의 루마 성분에 대한 비트 심도이다. 이것은 가중화 인자의 범위를 변수 BitDepthY에 기초하도록 설정한다. luma_weight_l0_flag[i]가 0과 동일할 때, LumaWeightL0[i]는 2luma _ log2 _weight_ denom와 동일한 것으로 추론된다.
신택스 엘리먼트 delta_chroma_weight_l0[i][j]는 RefPicList0[i]를 이용한 list0 예측을 위한 크로마 예측 값들에 적용된 가중화 인자의 차이이고, j는 Cb에 대해 0과 동일하고 j는 Cr에 대해 1과 동일하다. 변수 ChromaWeightL0[i][j]는 list0에 대한 크로마 가중화 인자일 수도 있고, ( 1 << ChromaLog2WeightDenom ) + delta_chroma_weight_l0[i][j]과 동일한 것으로 유도된다. 즉, 크로마 가중화 인자는 변수 ChromaLog2WeightDenom 플러스 delta_chroma_weight_l0[i][j]의 값의 우측 시프트이다. chroma_weight_l0_flag[i]가 1과 동일할 때, delta_chroma_weight_l0[i][j]의 값은 -128부터 127까지, 또는 -(1 << (BitDepthC - 1)), (1 << (BitDepthC - 1)) -1까지의 범위 내에 있을 것이고, 여기서, BitDepthC는 참조 픽처의 크로마 성분에 대한 비트 심도이다. 이것은 가중화 인자의 범위를 변수 BitDepthC에 기초하도록 설정한다. chroma_weight_l0_flag[i]가 0과 동일할 때, ChromaWeightL0[i][j]는 2ChromaLog2WeightDenom와 동일한 것으로 추론된다.
위에서 언급된 바와 같이, 신택스 엘리먼트들 luma_offset_l0[i] 및 delta_chroma_offset_l0[i][j]는, 비트 심도가 임계값을 초과하는지 여부를 표시하기 위하여, 확장된 정밀도 플래그가 인에이블되든지 그리고 인에이블되지 않든지 BitDepth 변수를 이용할 수도 있고, 이것은 고정밀도 데이터가 이용되고 있는지를 결정하기 위한 조건 검사를 수행하기 위한 필요성을 완화시킨다. 신택스에서, 제어 플래그 extended_precision_processing_flag는 픽처의 픽셀들의 비트 심도가 언제 8 비트들과 같은 임계값 또는 수를 초과하는지를 표시하기 위하여 이용될 수도 있다. 기존에는, 신택스 엘리먼트들 luma_offset_l0[i] 및 delta_chroma_offset_l0[i][j]에 대하여, 범위가 언제 고정되어야 하거나 BitDepth 변수에 기초해야 하는지를 결정하기 위하여, 시맨틱들이 플래그 extended_precision_processing_flag의 조건 검사를 이용하였다.
신택스 엘리먼트 luma_offset_l0[i]는 RefPicList0[i]를 이용한 list0 예측을 위한 루마 예측 값에 적용된 가산적 오프셋(additive offset)이다. 이 오프셋 값은 실제의 가중화된 예측 값을 결정하기 위하여 기본 예측 값(base prediction value)에 가산될 것이다. 기존에는, 신택스 엘리먼트 luma_offset_l0[i]에 대하여, 인코더(102) 및 디코더(104)는 플래그 extended_precision_processing_flag가 0과 동일한지를 결정하기 위하여 조건 검사를 수행할 필요가 있다. 0과 동일할 때, 이것은 비디오의 픽처들에서의 비트들의 수가 8 비트들과 같은 기본 값과 동일하다는 것(예컨대, 고정밀도 데이터가 프로세싱되고 있지 않음)을 의미한다. 이 경우, 신택스 엘리먼트 luma_offset_l0[i]의 범위는 -128부터 127까지의 범위 내에 있다. 이것은 픽셀들을 표현하기 위한 비트들의 수가 8 비트들일 때의 범위이다. 플래그 extended_precision_processing_flag가 1과 동일할 경우, 신택스 엘리먼트 luma_offset_l0[i]의 값은 위에서 설명된 바와 같은 BitDepth 변수에 의해 설정된 범위 내에 있다. 예를 들어, 다음의 시맨틱들이 기존에 이용된다:
extended_precision_processing_flag가 0과 동일할 경우, luma_offset_l0[i]의 값은 -128부터 127까지의 범위 내에 있을 것이다. extended_precision_processing_flag가 1과 동일할 경우, luma_offset_l0[i]의 값은 -(1 << (BitDepthY - 1)부터 (1 << (BitDepthY - 1) - 1까지의 범위 내에 있을 것이다. luma_weight_l0_flag[i]가 0과 동일할 때, luma_offset_l0[i]는 0과 동일한 것으로 추론된다.
신택스 엘리먼트 delta_chroma_offset_l0[i][j]는 RefPicList0[i]를 이용한 list0 예측을 위한 크로마 예측 값들에 적용된 가산적 오프셋의 차이이고, j는 Cb에 대해 0과 동일하고 j는 Cr에 대해 1과 동일하다. 이것은 모션 보상 프로세스를 위해 이용된 크로마 예측 값들에 대한 델타 값이다. 이 엘리먼트는 크로마 예측을 위한 가산적 오프셋 값을 계산하기 위하여 이용된다. 기존에는, 신택스 엘리먼트 delta_chroma_offset_l0[i][j]에 대하여, 인코더(102) 및 디코더(104)는 플래그 extended_precision_processing_flag가 0과 동일한지를 결정하기 위하여 조건 검사를 수행할 필요가 있다. 0과 동일할 때, 이것은 비디오의 픽처들에서의 비트들의 수가 8 비트들과 같은 기본 값과 동일하다는 것을 의미한다. 0과 동일할 때, 다음으로, 인코더(102) 또는 디코더(104)는 변수 ChromaOffsetL0[i][j]에 대한 값을 다음과 동일하도록 결정한다.
Figure pct00001
알 수 있는 바와 같이, 변수 ChromaOffsetL0[i][j]는 -128부터 127까지의 범위를 표현하는 값들 "-128, 127"을 포함한다. 이것은 비트 심도가 8비트들일 때인, delta_chroma_offset_l0[i][j]의 값이 -512부터 511까지의 범위 내에 있을 것이라는 것을 의미한다. chroma_weight_l0_flag[i]가 0과 동일할 때, ChromaOffsetL0[i][j]는 0과 동일한 것으로 추론된다.
플래그 extended_precision_processing_flag가 1과 동일할 경우, 변수 ChromaOffsetL0[i][j]의 값은 다음과 동일하다.
Figure pct00002
플래그 extended_precision_processing_flag가 1과 동일할 때에 이 수학식에서 알 수 있는 바와 같이, 값들 "-128, 127"은 "-(1 << (BitDepthC - 1), (1 << (BitDepthC - 1) -1"의 BitDepth 변수에 기초한 범위와 교환된다. 이 경우, 변수 ChromaOffsetL0[i][j]는 비디오의 크로마 성분에 대한 BitDepth 변수에 추가로 기초한다. 이것은 신택스 엘리먼트 delta_chroma_offset_l0[i][j]의 값이 -(1 << (BitDepthC + 1)부터 (1 << (BitDepthC + 1) -1까지의 범위 내에 있을 것이라는 것을 표현한다. 플래그 extended_precision_processing_flag가 0과 동일하였을 때, delta_chroma_offset_l0[i][j]의 값은 -512부터 511까지의 고정된 범위 내에 있었다. 이에 따라, 고정된 범위는 플래그 extended_precision_processing_flag가 0과 동일할 때에 위에서 이용되었다.
특정 실시형태들은, 비트 심도가 임계값을 초과하는지 여부를 표시하기 위하여, 플래그 extended_precision_processing_flag가 인에이블되든지 그리고 인에이블되지 않든지, 신택스 엘리먼트들 luma_offset_l0[i] 및 delta_chroma_offset_l0[i][j]의 값이 BitDepth 변수에 항상 종속되도록, 시맨틱들에서 조건 검사를 제거할 수도 있다. 이것은 조건 검사를 제거하고 시맨틱들을 간략화한다. 그러나, 플래그 extended_precision_processing_flag가 0과 동일하여 고-정밀도 데이터가 프로세싱되고 있지 않다는 것을 표시하더라도, 신택스 엘리먼트들 luma_offset_l0[i] 및 delta_chroma_offset_l0[i][j]에 대한 값들은 BitDepth 변수에 여전히 종속된다. 고정밀도 데이터가 프로세싱되고 있지 않을 때에도, 신택스 엘리먼트 luma_offset_l0[i]의 값들을 결정하기 위한 계산은 조건 검사를 수행하는 것보다 연산적으로 덜 집약적일 수도 있다.
다음은 조건 검사의 제거를 허용하는 정의들을 갖는 신택스 엘리먼트들 luma_offset_l0[i] 및 delta_chroma_offset_l0[i][j]을 예시한다.
신택스 엘리먼트 luma_offset_l0[i]는 RefPicList0[i]를 이용한 list0 예측을 위한 루마 예측 값에 적용된 가산적 오프셋이다. luma_offset_l0[i]의 값은 -(1 << (BitDepthY - 1)부터 (1 << (BitDepthY - 1) - 1까지의 범위 내에 있을 것이다. luma_weight_l0_flag[i]가 0과 동일할 때, luma_offset_l0[i]는 0과 동일한 것으로 추론된다. 신택스 엘리먼트 luma_offset_l0[i]에 대하여, -128 내지 127의 고정된 범위는 제거되고 -(1 << (BitDepthY - 1)부터 (1 << (BitDepthY - 1) - 1까지로 대체된다. 이것은 플래그 extended_precision_processing_flag가 0 또는 1인지(예컨대, 인에이블되거나 디스에이블되는지)의 여부에 관계 없이 신택스 엘리먼트 luma_offset_l0[i]가 BitDepth 값에 기초하도록 한다.
신택스 엘리먼트 delta_chroma_offset_l0[i][j]는 RefPicList0[i]를 이용한 list0 예측을 위한 크로마 예측 값들에 적용된 가산적 오프셋의 차이이고, j는 Cb에 대해 0과 동일하고 j는 Cr에 대해 1과 동일하다. 신택스 엘리먼트 delta_chroma_offset_l0[i][j]에 대하여, 변수 ChromaOffsetL0[i][j]는 플래그 extended_precision_processing_flag가 0 또는 1인지 여부에 관계 없이 BitDepth 변수에 항상 기초할 수도 있다. 즉, 범위 "-128 내지 127"는 -(1 << (BitDepthC - 1), (1 << (BitDepthC - 1) -1에 의해 대체된다. 예를 들어, 다음은 변수 ChromaOffsetL0[i][j]를 계산하기 위하여 이용된다.
Figure pct00003
delta_chroma_offset_l0[i][j]의 값은 -(1 << (BitDepthC + 1)로부터 (1 << (BitDepthC + 1) -1까지의 범위 내에 있을 것이다. chroma_weight_l0_flag[i]가 0과 동일할 때, ChromaOffsetL0[i][j]는 0과 동일한 것으로 추론된다.
이것은 플래그 extended_precision_processing_flag가 0 또는 1인지 여부에 관계 없이, 신택스 엘리먼트 delta_chroma_offset_l0[i][j]의 값이 -(1 << (BitDepthC + 1)로부터 (1 << (BitDepthC + 1) -1까지에 의해 설정된 범위 내에 항상 있을 것이라는 것을 의미한다. 또한, 고정밀도 데이터가 프로세싱되고 있지 않을 때에도, 신택스 엘리먼트 delta_chroma_offset_l0[i][j]의 값들을 결정하기 위한 계산은 조건 검사를 수행하는 것보다 연산적으로 덜 집약적일 수도 있다.
신택스 엘리먼트들 luma_weight_l1_flag[i], chroma_weight_l1_flag[i], delta_luma_weight_l1[i], luma_offset_l1[i], delta_chroma_weight_l1[i][j], 및 delta_chroma_offset_l1[i][j]는 각각 luma_weight_l0_flag[i], chroma_weight_l0_flag[i], delta_luma_weight_l0[i], luma_offset_l0[i], delta_chroma_weight_l0[i][j], 및 delta_chroma_offset_l0[i][j]과 동일한 시맨틱들을 가지고, l0, L0, list 0, 및 List0은 각각 l1, L1, list 1, 및 List1에 의해 대체된다. 변수 sumWeightL0Flags는 i = 0..num_ref_idx_l0_active_minus1에 대하여, luma_weight_l0_flag[i] + 2 * chroma_weight_l0_flag[i]의 합과 동일한 것으로 유도된다. slice_type이 B와 동일할 때, 변수 sumWeightL1Flags는 i = 0..num_ref_idx_l1_active_minus1에 대하여, luma_weight_l1_flag[i] + 2 * chroma_weight_l1_flag[i]의 합과 동일한 것으로 유도된다. slice_type이 P와 동일할 때, sumWeightL0Flags가 24 이하일 것이고, slice_type이 B와 동일할 때, sumWeightL0Flags 및 sumWeightL1Flags의 합이 24 이하일 것이라는 점이 비트스트림 적합성(bitstream conformance)의 요건이다.
따라서, 루마 및 크로마 성분들에 대한 변수 BitDepth를 이용함으로써, 인코더(102)는 비디오의 픽처들에서의 픽셀들을 표현하는 비트들의 수에 기초한 가중화된 예측을 위해 이용되는 비트들의 수를 변경할 수도 있다. 하나의 실시형태에서, 인코더(102)는 비디오의 픽처들에 대한 BitDepth를 알고 있고, 변수 BitDepth를, 픽처들의 픽셀들을 표현하는 비트들의 수의 값으로 설정할 수 있다. 시맨틱들은 또한, 조건 검사를 제거함으로써 간략화된다.
도 4는 하나의 실시형태에 따라 인코딩 프로세스에서 변수 BitDepth를 이용하기 위한 방법의 간략화된 플로우차트(400)를 도시한다. 402에서, 인코더(102)는 루마 및 크로마 성분들에 대하여 변수 BitDepth에 대한 값을 결정한다. 값은 비디오의 픽처들에서의 픽셀들을 표현하는 비트들의 수와 같은 비디오의 정밀도에 기초할 수도 있다. 인코더(102)는 비디오의 특성들을 분석하는 것에 기초하여 값을 결정할 수도 있다. 또한, 픽셀들을 표현하는 비트들의 수는 비디오와 연관된 메타데이터(metadata)로 입력되거나 포함될 수도 있다.
404에서, 모션 추정 및 보상 블록(104-1)은 가중화된 예측이 언제 인에이블되는지를 결정한다. 예를 들어, 가중화된 예측 플래그들, luma_weight_l0_flag[i], 및 chroma_weight_l0_flag[i]는, 가중화된 예측이 루마 및 크로마 성분들에 대해 인에이블된다는 것을 표시하기 위하여 설정될 수도 있다.
406에서, 가중화된 예측 관리기(106-1)는 참조 유닛들(202-2 및 202-3)에 대한 모션 벡터들과, 참조 유닛들(202-2 및 202-3)(예컨대, list0 및 list1)에 대하여 루마 및 크로마 성분들에 대한 가중화 인자들을 결정한다. 가중화 인자들은 현재 픽처에 대한 참조 픽처들로서 이용되고 있는 픽처들(예컨대, list0 및 list1)에 배정될 수도 있다.
408에서, 다음으로, 가중화된 예측 관리기(106-1)는 참조 유닛들(202-2 및 202-3)의 가중화 인자들 및 픽셀들에 기초한 모션 보상에서 이용하기 위하여 조합된 양방향 참조 유닛을 계산한다. 위에서 설명된 바와 같이, 가중화 인자들은 참조 유닛들(202-2 및 202-3)에서 픽셀들을 상이하게 가중화한다. 410에서, 모션 추정 및 보상 블록(104-1)은 현재 유닛(202-1) 및 조합된 양방향 참조 유닛을 이용하여 잔차 에러를 결정한다.
412에서, 인코더(102)는 가중화된 예측 프로세스에서 이용된 적용가능한 신택스 엘리먼트들에 대한 값들을 계산한다. 예를 들어, 변수 BitDepth를 이용하여, 신택스 엘리먼트들 luma_offset_l0[i], luma_offset_l1[i], delta_chroma_offset_l0[i][j], 및 delta_chroma_offset_l1[i][j]에 대한 값들이 계산된다. 이것은 플래그 extended_precision_processing_flag에 대한 조건 검사 없이 계산을 수행하는 것을 포함한다.
414에서, 인코더(102)는 현재 유닛(202-1)에 대한 모션 벡터들 및 잔차 에러와 함께, 인코딩된 비트스트림에서 가중화된 예측 프로세스를 위한 신택스 엘리먼트들에 대한 파라미터들을 인코딩한다. 예를 들어, 인코더(102)는 도 3에서의 표(300)에서 도시된 신택스 엘리먼트들에 대해 계산된 값들을 인코딩한다. 416에서, 인코더(102)는 인코딩된 비트스트림을 디코더(104)로 전송한다.
도 5는 하나의 실시형태에 따라 변수 BitDepth를 이용하여 인코딩된 비트스트림을 디코딩하기 위한 간략화된 플로우차트(500)를 도시한다. 502에서, 디코더(104)는 인코딩된 비트스트림을 수신한다. 504에서, 다음으로, 디코더(104)는 디코딩하기 위한 현재 픽처에서의 현재 유닛(202-1)을 결정한다. 506에서, 디코더(104)는 현재 유닛(202-1)에 대한 인코딩된 비트스트림으로부터의 인코딩된 모션 벡터들을 인코딩하고, 재구성된 참조 유닛들(202-2 및 202-3)을 위치시키기 위하여 이 모션 벡터들을 이용한다. 또한, 508에서, 디코더(104)는 인코딩된 비트스트림으로부터 현재 유닛(202-1)에 대한 잔차 에러를 결정한다.
510에서, 가중화된 예측 관리기(106-2)는 가중화된 예측을 위하여 표(300)에서의 신택스 엘리먼트들에 대한 값들을 결정할 수도 있다. 이것은 가중화된 예측 관리기(106-2)가 가중화 인자들을 결정하도록 할 수도 있다. 예를 들어, 변수 BitDepth를 이용하여, 신택스 엘리먼트들 luma_offset_l0[i], luma_offset_l1[i], delta_chroma_offset_l0[i][j], 및 delta_chroma_offset_l1[i][j]에 대한 값들이 계산된다. 이것은 플래그 extended_precision_processing_flag에 대한 조건 검사 없이 계산을 수행하는 것을 포함한다.
512에서, 다음으로, 가중화된 예측 관리기(106-2)는 조합된 양방향 참조 유닛을 결정하기 위하여 가중화 인자들을 참조 유닛들(202-2 및 202-3)에 적용할 수도 있다. 514에서, 다음으로, 모션 추정 및 보상 블록(104-2)은 재구성된 현재 유닛을 형성하기 위하여, 현재 유닛(202-1)에 대한 잔차 에러를 조합되고 가중화된 예측 유닛에 가산할 수 있다.
따라서, 특정 실시형태들은 가중화된 예측 프로세스에서 신택스 엘리먼트들에 대한 변수 BitDepth를 이용한다. 예를 들어, 신택스 엘리먼트들 luma_offset_l0[i], luma_offset_l1[i], delta_chroma_offset_l0[i][j], 및 delta_chroma_offset_l1[i][j]은, 비트 심도(bit depth)가 임계값을 초과하는지 여부를 표시하기 위하여, 플래그 extended_precision_processing_flag가 인에이블되든지 그리고 인에이블되지 않든지, 위에서 설명된 바와 같은 변수 BitDepth를 이용한다.
특정 실시형태들은 명령어 실행 시스템, 장치, 시스템, 또는 머신에 의해 또는 이와 관련하여 이용하기 위한 비-일시적인(non-transitory) 컴퓨터-판독가능 저장 매체에서 구현될 수도 있다. 컴퓨터-판독가능 저장 매체는 특정 실시형태들에서 설명된 방법을 수행하도록 컴퓨터 시스템을 제어하기 위한 명령어들을 포함한다. 컴퓨터 시스템은 하나 이상의 컴퓨팅 디바이스들을 포함할 수도 있다. 명령어들은 하나 이상의 컴퓨터 프로세서들에 의해 실행될 때, 특정 실시형태들에서 설명되는 것을 수행하도록 구성될 수도 있다.
본원에서의 설명에서, 그리고 뒤따르는 청구항들의 전반에 걸쳐 이용된 바와 같이, 단수 형태("a", "an", 및 "the")는 문맥이 명확하게 이와 다르게 기술하지 않을 경우에는 복수의 참조들을 포함한다. 또한, 본원에서의 설명에서, 그리고 뒤따르는 청구항들의 전반에 걸쳐 이용된 바와 같이, 내("in")의 의미는 문맥이 명확하게 이와 다르게 기술하지 않을 경우에는 내("in") 및 상("on")을 포함한다.
상기 설명은 특정 실시형태들의 양태들이 어떻게 구현될 수도 있는지의 예들과 함께 다양한 실시형태들을 예시한다. 상기 예들 및 실시형태들은 유일한 실시형태들인 것으로 간주되지 않아야 하고, 다음의 청구항들에 의해 정의된 바와 같은 특정 실시형태들의 신축성 및 장점들을 예시하기 위하여 제시된다. 상기 개시내용 및 다음의 청구항들에 기초하여, 다른 배열들, 실시형태들, 구현들 및 등가물들은 청구항들에 의해 정의된 바와 그 범위로부터 이탈하지 않으면서 채용될 수도 있다.

Claims (20)

  1. 방법으로서,
    참조 픽처(reference picture)의 픽셀들과 연관된 비트들의 수에 기초하여 비트 심도(bit depth)와 연관된 변수에 대한 제1 값을 설정하는 단계;
    현재 픽처의 현재 유닛에 대한 가중화된 예측을 수행하기 위한 가중화 인자(weighting factor)를 결정하는 단계;
    상기 현재 유닛에 대한 모션 보상을 수행할 때에 제1 참조 픽처의 제1 참조 유닛의 픽셀들을 가중화하기 위하여 상기 가중화 인자를 이용하는 단계; 및
    상기 비트 심도가 임계값을 초과하는지 여부를 표시하기 위하여, 확장된 정밀도 플래그가 인에이블되든지 그리고 인에이블되지 않든지, 상기 가중화 인자와 연관된 가중화된 예측 신택스 엘리먼트(weighted prediction syntax element)에 대한 제2 값을 설정하는 단계
    를 포함하고, 상기 가중화된 예측 신택스 엘리먼트에 대한 상기 제2 값은 상기 제1 값에 의해 설정된 범위 내에 있고 모션 보상을 수행함에 있어서 이용된 예측 값에 대한 오프셋인, 방법.
  2. 제1항에 있어서, 상기 확장된 정밀도 플래그에 대한 상태의 조건 검사(condition check)는 상기 제2 값을 설정하는 것과 함께 수행되지는 않는, 방법.
  3. 제1항에 있어서, 상기 가중화된 예측 신택스 엘리먼트는 상기 예측 값의 제1 성분에 대해 상기 오프셋을 적용하기 위한 것인, 방법.
  4. 제3항에 있어서, 상기 제1 성분은 비디오의 루마 성분을 포함하는, 방법.
  5. 제3항에 있어서, 상기 범위는 -(1 << (BitDepthY - 1) 내지 (1 << (BitDepthY - 1) - 1을 포함하고, BitDepthY는 루마 성분에 대한 변수인, 방법.
  6. 제1항에 있어서, 상기 가중화된 예측 신택스 엘리먼트는 상기 예측 값의 제1 성분에 대해 상기 오프셋의 차이를 적용하기 위한 것인, 방법.
  7. 제6항에 있어서, 상기 제1 성분은 비디오의 크로마 성분을 포함하는, 방법.
  8. 제6항에 있어서, 상기 범위는 -(1 << (BitDepthC - 1) 내지 (1 << (BitDepthC - 1) - 1을 포함하고, BitDepthC는 크로마 성분에 대한 변수인, 방법.
  9. 제8항에 있어서, 상기 제1 성분에 대한 상기 오프셋은
    Clip3( -(1 << (BitDepthC - 1), (1 << (BitDepthC - 1) -1, (delta_chroma_offset_10[i][j] - (((1 << (BitDepthC - 1)) * ChromaWeightLO[i][j] ) ≫ ChromaLog2WeightDenom ) + (1 << (BitDepthC -1)))
    를 이용하여 유도되고, BitDepthC는 상기 제1 성분에 대한 변수인, 방법.
  10. 장치로서,
    하나 이상의 컴퓨터 프로세서들;
    명령어들을 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체
    를 포함하고, 상기 명령어들은, 실행될 때,
    참조 픽처의 픽셀들과 연관된 비트들의 수에 기초하여 비트 심도와 연관된 변수에 대한 제1 값을 설정하고,
    현재 픽처의 현재 유닛에 대한 가중화된 예측을 수행하기 위한 가중화 인자를 결정하고,
    상기 현재 유닛에 대한 모션 보상을 수행할 때에 제1 참조 픽처의 제1 참조 유닛의 픽셀들을 가중화하기 위하여 상기 가중화 인자를 이용하고,
    상기 비트 심도가 임계값을 초과하는지 여부를 표시하기 위하여, 확장된 정밀도 플래그가 인에이블되든지 그리고 인에이블되지 않든지, 상기 가중화 인자와 연관된 가중화된 예측 신택스 엘리먼트에 대한 제2 값을 설정하고 - 상기 가중화된 예측 신택스 엘리먼트에 대한 상기 제2 값은 상기 제1 값에 의해 설정된 범위 내에 있고 모션 보상을 수행함에 있어서 이용된 예측 값에 대한 오프셋임 - ,
    상기 제1 참조 유닛을 이용하여 상기 현재 유닛을 인코딩하고, 그리고
    인코딩된 비트스트림에서 상기 가중화된 예측 신택스 엘리먼트에 대한 상기 제2 값을 갖는 상기 인코딩된 현재 유닛을 시그널링(signaling)하기 위하여
    구성되도록 상기 하나 이상의 컴퓨터 프로세서들을 제어하는, 장치.
  11. 제10항에 있어서, 상기 확장된 정밀도 플래그에 대한 상태의 조건 검사는 상기 제2 값을 설정하는 것과 함께 수행되지는 않는, 장치.
  12. 제10항에 있어서, 상기 가중화된 예측 신택스 엘리먼트는 상기 예측 값의 제1 성분에 대해 상기 오프셋을 적용하기 위한 것인, 장치.
  13. 제12항에 있어서, 상기 범위는 -(1 << (BitDepthY - 1) 내지 (1 << (BitDepthY - 1) - 1을 포함하고, BitDepthY는 루마 성분에 대한 변수인, 장치.
  14. 제10항에 있어서, 상기 가중화된 예측 신택스 엘리먼트는 상기 예측 값의 제1 성분에 대해 상기 오프셋의 차이를 적용하기 위한 것인, 장치.
  15. 제14항에 있어서, 상기 범위는 -(1 << (BitDepthC - 1) 내지 (1 << (BitDepthC - 1) - 1을 포함하고, BitDepthC는 상기 제1 성분으로서 이용된 크로마 성분에 대한 변수인, 장치.
  16. 장치로서,
    하나 이상의 컴퓨터 프로세서들; 및
    명령어들을 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체
    를 포함하고, 상기 명령어들은, 실행될 때,
    현재 픽처의 인코딩된 현재 유닛, 비디오에서의 픽처들의 픽셀들과 연관된 비트들의 수에 기초한 비트 심도와 연관된 변수에 대한 제1 값, 및 가중화 인자와 연관된 가중화된 예측 신택스 엘리먼트에 대한 제2 값을 포함하는 인코딩된 비트스트림을 수신하고 - 상기 제2 값은 상기 비트 심도가 임계값을 초과하는지 여부를 표시하기 위하여, 확장된 정밀도 플래그가 인에이블되든지 그리고 인에이블되지 않든지 계산되고, 상기 가중화된 예측 신택스 엘리먼트에 대한 상기 제2 값은 상기 제1 값에 의해 설정된 범위 내에 있고 모션 보상을 수행함에 있어서 이용된 예측 값에 대한 오프셋임 - ,
    상기 현재 유닛에 대한 가중화된 예측을 수행하기 위한 가중화 인자를 결정하고,
    상기 제2 값을 이용하여 상기 현재 유닛에 대한 모션 보상을 수행할 때에 제1 참조 픽처의 제1 참조 유닛의 픽셀들을 가중화하기 위하여 상기 가중화 인자를 이용하고 - 상기 가중화된 예측 신택스 엘리먼트에 대한 상기 제2 값은 상기 제1 값에 기초함 - , 그리고
    상기 제1 참조 유닛을 이용하여 상기 현재 유닛을 디코딩하기 위하여
    구성되도록 상기 하나 이상의 컴퓨터 프로세서들을 제어하는, 장치.
  17. 제16항에 있어서, 상기 확장된 정밀도 플래그에 대한 상태의 조건 검사는 상기 제2 값을 설정하는 것과 함께 수행되지는 않는, 장치.
  18. 제16항에 있어서, 상기 가중화된 예측 신택스 엘리먼트는 상기 예측 값의 제1 성분에 대해 상기 오프셋을 적용하기 위한 것인, 장치.
  19. 제18항에 있어서, 상기 범위는 -(1 << (BitDepthY - 1) 내지 (1 << (BitDepthY - 1) - 1을 포함하고, BitDepthY는 루마 성분에 대한 변수인, 장치.
  20. 제16항에 있어서, 상기 가중화된 예측 신택스 엘리먼트는 상기 예측 값의 제1 성분에 대해 상기 오프셋의 차이를 적용하기 위한 것인, 장치.
KR1020167011516A 2013-11-05 2014-11-05 고정밀도 데이터에 대한 비트 심도 변수를 이용한 가중화된 예측 신택스 및 시맨틱들의 간략화된 프로세싱 KR20160065939A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361900337P 2013-11-05 2013-11-05
US61/900,337 2013-11-05
US14/533,347 2014-11-05
PCT/US2014/064073 WO2015069729A1 (en) 2013-11-05 2014-11-05 Simplified processing of weighted prediction syntax and semantics using a bit depth variable for high precision data
US14/533,347 US10999574B2 (en) 2013-11-05 2014-11-05 Simplified processing of weighted prediction syntax and semantics using a bit depth variable for high precision data

Publications (1)

Publication Number Publication Date
KR20160065939A true KR20160065939A (ko) 2016-06-09

Family

ID=52016131

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167011516A KR20160065939A (ko) 2013-11-05 2014-11-05 고정밀도 데이터에 대한 비트 심도 변수를 이용한 가중화된 예측 신택스 및 시맨틱들의 간략화된 프로세싱

Country Status (5)

Country Link
US (4) US10999574B2 (ko)
KR (1) KR20160065939A (ko)
CA (1) CA2929400A1 (ko)
MX (1) MX354608B (ko)
WO (1) WO2015069729A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015069734A1 (en) 2013-11-05 2015-05-14 Arris Enterprises, Inc. Bit depth variable for high precision data in weighted prediction syntax and semantics

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
US10034012B2 (en) * 2010-05-13 2018-07-24 Sharp Kabushiki Kaisha Prediction image generation device, moving image decoding device, and moving image coding device
MX336158B (es) * 2012-06-27 2016-01-11 Toshiba Kk Dispositivo de codificacion, dispositivo de decodificacion, metodo de codificacion, y metodo de decodificacion.
US9648318B2 (en) * 2012-09-30 2017-05-09 Qualcomm Incorporated Performing residual prediction in video coding
KR20150037020A (ko) * 2013-09-30 2015-04-08 삼성전자주식회사 이동통신시스템에서 웹 서버 접속 방법 및 장치
US9497473B2 (en) * 2013-10-03 2016-11-15 Qualcomm Incorporated High precision explicit weighted prediction for video coding
WO2015069734A1 (en) 2013-11-05 2015-05-14 Arris Enterprises, Inc. Bit depth variable for high precision data in weighted prediction syntax and semantics

Also Published As

Publication number Publication date
US11523105B2 (en) 2022-12-06
MX354608B (es) 2018-03-07
US20210227215A1 (en) 2021-07-22
US20240146904A1 (en) 2024-05-02
US20150131721A1 (en) 2015-05-14
MX2016005722A (es) 2016-08-12
US10999574B2 (en) 2021-05-04
WO2015069729A1 (en) 2015-05-14
CA2929400A1 (en) 2015-05-14
US20230047355A1 (en) 2023-02-16

Similar Documents

Publication Publication Date Title
US11470351B2 (en) Bit depth variable for high precision data in weighted prediction syntax and semantics
EP3518544B1 (en) Video decoding with improved motion vector diversity
EP3100454B1 (en) Method for low-latency illumination compensation process
US20120230405A1 (en) Video coding methods and video encoders and decoders with localized weighted prediction
EP1927249A1 (en) Apparatus and method for encoding and decoding multi-view video
US9210448B2 (en) Moving picture decoding device, moving picture decoding method and integrated circuit
US20240146904A1 (en) Simplified processing of weighted prediction syntax and semantics using a bit depth variable for high precision data
US20160134887A1 (en) Video encoding apparatus, video encoding method, video decoding apparatus, and video decoding method
EP3066833A1 (en) Simplified processing of weighted prediction syntax and semantics using a bit depth variable for high precision data
CA3039039C (en) Offset temporal motion vector predictor (tmvp)
KR20140072939A (ko) 다시점 잔차 신호 예측 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2017101006106; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20171221

Effective date: 20190517