KR102356013B1 - 샘플 적응성 오프셋 제어 - Google Patents

샘플 적응성 오프셋 제어 Download PDF

Info

Publication number
KR102356013B1
KR102356013B1 KR1020217015603A KR20217015603A KR102356013B1 KR 102356013 B1 KR102356013 B1 KR 102356013B1 KR 1020217015603 A KR1020217015603 A KR 1020217015603A KR 20217015603 A KR20217015603 A KR 20217015603A KR 102356013 B1 KR102356013 B1 KR 102356013B1
Authority
KR
South Korea
Prior art keywords
sao
offset
coded
data
saoshiftoffset
Prior art date
Application number
KR1020217015603A
Other languages
English (en)
Other versions
KR20210063466A (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
Priority claimed from US14/173,676 external-priority patent/US9300967B2/en
Application filed by 애플 인크. filed Critical 애플 인크.
Priority to KR1020227002405A priority Critical patent/KR102448449B1/ko
Publication of KR20210063466A publication Critical patent/KR20210063466A/ko
Application granted granted Critical
Publication of KR102356013B1 publication Critical patent/KR102356013B1/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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Optical Communication System (AREA)
  • Steroid Compounds (AREA)

Abstract

고효율 비디오 코딩 표준(HEVC)과 같은 비디오 코딩 표준들에서의 샘플 적응성 오프셋(SAO) 값들과 같은 오프셋 값들은, 더 정밀한 값들을 전송하는 데 필요한 신호 오버헤드에 실질적으로 영향을 주지 않고서 이러한 값들의 정밀도를 개선하는 계산들 및 동작들을 수행함으로써 개선될 수 있다. 그러한 계산들 및 동작들은 비디오 샘플 및 그의 이웃들 중 적어도 일부에 양자화 팩터를 적용하고, 양자화된 값들을 비교하고, 비교에 기초하여 비디오 샘플을 최소, 최대 또는 다양한 에지 유형들 중 하나로 분류하는 것을 포함할 수 있다. 오프셋 값들의 정밀도를 개선하기 위해 다른 샘플 범위, 오프셋 모드 및/또는 오프셋 정밀도 파라미터들이 계산되고 메타데이터와 함께 전송될 수 있다.

Description

샘플 적응성 오프셋 제어{SAMPLE ADAPTIVE OFFSET CONTROL}
관련 출원의 상호 참조
본 출원은, 본 명세서에 전체적으로 참고로 포함된, 2013년 6월 19일자로 출원된 미국 가출원 제61/836,931호의 35 U.S.C.§119(e)에 따른 이익을 주장하는, 2014년 2월 5일자로 출원된 미국 특허 출원 제14/173,676호의 연속 출원인, 2014년 4월 17일자로 출원된 미국 특허 출원 제14/255,609호에 대한 우선권을 주장한다.
본 발명은 비디오 코딩 및 압축을 위해 신호 진폭들을 재구성하는 방법에 관한 것이다. 보다 구체적으로, 본 발명은 고효율 비디오 코딩(High Efficiency Video Coding, HEVC) 표준 내에서와 같은 비디오 코딩 및 처리 시스템들에서의 샘플 적응성 오프셋(Sample Adaptive Offset, SAO) 프로세스들에서의 양자화 및 적응성 동적 범위 시그널링을 위한 방법들에 관한 것이다.
현재 ISO/IEC 23008-2 MPEG-H Part 2 및 ITU-T H.265로서 공개된 HEVC 표준은 MPEG-2, MPEG-4 Part 2, MPEG-4 AVC/H.264, VC1 및 VP8을 포함하지만 이로 한정되지 않는 이전의 비디오 코딩 표준들 및 기술들보다 비디오 코딩 효율을 개선하도록 설계된 수 개의 새로운 비디오 코딩 도구들을 도입하였다. 이러한 도구들 중 하나는, 전형적으로 디블록킹(deblocking) 필터링 후에 수행되는 필터링 메커니즘인 SAO이다. 이 프로세스는 루프내(in-loop) 프로세스, 예를 들어 SAO 처리된 픽처를 기준으로서 이용할 수 있는 후속 픽처들에 영향을 주는 프로세스이거나, 루프외(out of loop) 프로세스, 예를 들어 인코더 밖에서의 표시(display) 또는 다른 후속 처리에만 영향을 주는 프로세스일 수 있다. SAO는 재구성된 픽셀들을 카테고리들로 그룹화하며, 사전 정의된 카테고리화 또는 분류 프로세스에 기초하여 픽셀 값들에 오프셋을 적용함으로써 왜곡을 줄인다.
SAO는 HEVC 사양에서 정의되는 바와 같이 2개의 동작 모드들, 즉 에지(edge) 오프셋 모드 및 대역(band) 오프셋 모드를 지원한다. 에지 오프셋 모드에서, 사전 결정된 샘플의 값이 수평, 수직 또는 대각선 방향의 8개의 이웃 샘플들 중 2개의 샘플들과 비교될 수 있다. 샘플링된 값들의 간단한 직접 비교에 기초하여, 사전 결정된 샘플은 수 개의 카테고리들 중 하나의 카테고리로 분류될 수 있다. 대역 오프셋 모드에서, 사전 결정된 샘플의 진폭은 샘플을 32개의 대역들 중 하나의 대역으로 카테고리화하는 데 이용될 수 있다. SAO가 오프셋 파라미터를 지원하는 32개의 대역들의 세트 내의 4개의 연속 대역들 중 하나의 대역으로 샘플이 카테고리화되는 경우에, 샘플에 대해 오프셋이 규정될 수 있다.
기존의 HEVC 표준은 분류 및 오버헤드와 관련하여 SAO 방법들에 대한 제한들을 포함한다. 이와 관련하여, 분류 프로세스는 분류에 사용되는 비트 깊이, 정밀도, 색상 및 대역 개수에 의해 제한된다. 오프셋 값들을 시그널링하는 데 필요한 오버헤드를 줄이기 위해, 기존의 HEVC 표준은 오프셋이 제공될 수 있는 대역들의 개수, 및 또한 상이한 픽셀 카테고리들 각각에 대한 정밀한 오프셋 값들을 규정하는 능력 둘 모두를 제한한다. 예를 들어, 10 비트 초과의 비트 깊이들에 대해 오프셋 값들의 최대 값을 제한하는 것은 SAO 값들에 의해 다루어지는 증가된 동적 범위를 위하여 더 높은 비트 깊이들에서 SAO 값들의 정밀도를 줄인다. 그러나, 일부 예들에서, 예를 들어 부가될 오프셋이 작은 범위 내에 있을 때, SAO 값들의 더 높은 정밀도는 높은 동적 범위보다 이미지 품질 목적에 대해 더 중요할 수 있다. 따라서, 잡음에 대해 더 적은 취약성을 갖는 샘플들을 분류할 수 있고, 적용되는 오프셋들의 정밀도를 확장시키면서 오프셋 값들의 동적 범위 및/또는 이러한 오프셋들을 전송하는 데 필요한 신호 오버헤드에 대한 영향을 최소화할 수 있는 SAO에 대한 더 유연한 접근법에 대한 필요성이 존재한다.
본 출원은 개선된 샘플 적응성 오프셋 제어 기술을 제공하는 것을 그 일 목적으로 한다.
발명의 일 측면에 따르면, 디코딩 방법이 제공된다. 위 방법은 코딩된 비디오 스트림 내의 픽처 파라미터 데이터세트(picture parameter dataset)로부터, 코딩된 루마(luma) 데이터에 대한 샘플 적응성 오프셋(sample adaptive offset, SAO) 오프셋 값들의 도출을 위해 그리고 코딩된 크로미넌스(chrominance) 데이터에 대한 SAO 오프셋 값들의 도출을 위해, 파라미터들을 추출하는 단계; 코딩된 루마 데이터를 위한 필드 내에 규정된 양만큼 디폴트 SAO 오프셋 값을 시프트시킴으로써 제1 SAO 오프셋 값을 도출하는 단계; 상기 제1 SAO 오프셋 값을 SAO 필터링 동작에서의 오프셋으로서 이용하여, 상기 코딩된 비디오 스트림으로부터 획득되어진 재구성된 루마 데이터에 대해 SAO 필터링을 수행하는 단계; 코딩된 크로마(chroma) 데이터를 위한 필드 내에 규정된 양만큼 상기 디폴트 SAO 오프셋 값을 시프트시킴으로써 제2 SAO 오프셋 값을 도출하는 단계; 및 상기 제2 SAO 오프셋 값을 상기 SAO 필터링 동작에서의 오프셋으로서 이용하여, 상기 코딩된 비디오 스트림으로부터 획득되어진 재구성된 크로마 데이터에 대해 SAO 필터링을 수행하는 단계를 포함할 수 있다. 상기 제1 및 제2 SAO 오프셋 값들 중 하나의 SAO 오프셋 값의 상기 도출은, saoOffsetVal = offsetSign * saoOffsetAbs << saoShiftOffset에 의해 발생하고, 여기서, offsetSign은 각자의 상기 SAO 오프셋 값에 대해 규정된 부호를 나타내고, saoOffsetAbs는 상기 디폴트 SAO 오프셋 값을 나타내고, "<<"는 비트 시프트 동작을 나타내고, saoShiftOffset은 상기 코딩된 루마 또는 코딩된 크로마 데이터에 대해 각각 상기 픽처 파라미터 세트로부터 추출된 상기 파라미터로부터 도출될 수 있다. 루마에 대해, saoShiftOffset은 상기 픽처 파라미터 세트 내에 제공된 sao_luma_bit_shift 필드로부터 도출될 수 있다. 루마에 대해, saoShiftOffset은 sao_luma_bit_shift 필드가 상기 픽처 파라미터 세트 내에 제공되지 않는 경우에 0으로 간주될 수 있다. 크로마에 대해, saoShiftOffset은 상기 픽처 파라미터 세트 내에 제공된 sao_chroma_bit_shift 필드로부터 도출될 수 있다. 크로마에 대해, saoShiftOffset은 sao_chroma_bit_shift 필드가 상기 픽처 파라미터 세트 내에 제공되지 않는 경우에 0으로 간주될 수 있다.
발명의 다른 측면에 따르면, 디코딩 방법이 제공된다. 위 방법은 코딩된 비디오 스트림 내의 픽처 파라미터 데이터세트로부터, 코딩된 루마 데이터에 대한 샘플 적응성 오프셋(SAO) 오프셋 값들의 도출을 위해, 파라미터를 추출하는 단계; SAO 오프셋 값을 saoOffsetVal = offsetSign * saoOffsetAbs << saoShiftOffset에 의해 도출하는 단계 - 여기서, offsetSign은 각자의 상기 SAO 오프셋 값에 대해 규정된 부호를 나타내고, saoOffsetAbs는 디폴트 SAO 오프셋 값을 나타내고, "<<"는 비트 시프트 동작을 나타내고, saoShiftOffset은 상기 추출된 파라미터로부터 도출됨 -; 및 상기 SAO 오프셋 값을 SAO 필터링 동작에서의 오프셋으로서 이용하여, 상기 코딩된 비디오 스트림으로부터 획득되어진 재구성된 루마 데이터에 대해 SAO 필터링을 수행하는 단계를 포함할 수 있다. saoShiftOffset은 상기 픽처 파라미터 세트 내에 제공된 sao_luma_bit_shift 필드로부터 도출될 수 있다. saoShiftOffset은 sao_luma_bit_shift 필드가 상기 픽처 파라미터 세트 내에 제공되지 않는 경우에 0으로 간주될 수 있다.
발명의 또 다른 측면에 따르면, 디코딩 방법이 제공된다. 위 방법은 코딩된 비디오 스트림 내의 픽처 파라미터 데이터세트로부터, 코딩된 크로마 데이터에 대한 샘플 적응성 오프셋(SAO) 오프셋 값들의 도출을 위해, 파라미터를 추출하는 단계; SAO 오프셋 값을 saoOffsetVal = offsetSign * saoOffsetAbs <<saoShiftOffset에 의해 도출하는 단계 - 여기서, offsetSign은 각자의 상기 SAO 오프셋 값에 대해 규정된 부호를 나타내고, saoOffsetAbs는 디폴트 SAO 오프셋 값을 나타내고, "<<"는 비트 시프트 동작을 나타내고, saoShiftOffset은 상기 추출된 파라미터로부터 도출됨 -; 및 상기 SAO 오프셋 값을 SAO 필터링 동작에서의 오프셋으로서 이용하여, 상기 코딩된 비디오 스트림으로부터 획득되어진 재구성된 크로마 데이터에 대해 SAO 필터링을 수행하는 단계를 포함할 수 있다. saoShiftOffset은 상기 픽처 파라미터 세트 내에 제공된 sao_chroma_bit_shift 필드로부터 도출될 수 있다. saoShiftOffset은 sao_chroma_bit_shift 필드가 상기 픽처 파라미터 세트 내에 제공되지 않는 경우에 0으로 간주될 수 있다.
발명의 또 다른 측면에 따르면, 디코딩 방법이 제공된다. 위 방법은 코딩된 비디오 스트림으로부터, 코딩된 루마 데이터에 대한 샘플 적응성 오프셋(SAO) 오프셋 값들의 도출을 위해 그리고 코딩된 크로미넌스 데이터에 대한 SAO 오프셋 값들의 도출을 위해, 파라미터들을 추출하는 단계; 코딩된 루마 데이터를 위한 필드 내에 규정된 양만큼 디폴트 SAO 오프셋 값을 시프트시킴으로써 제1 SAO 오프셋 값을 도출하는 단계; 상기 제1 SAO 오프셋 값을 SAO 필터링 동작에서의 오프셋으로서 이용하여, 상기 코딩된 비디오 스트림으로부터 획득되어진 재구성된 루마 데이터에 대해 SAO 필터링을 수행하는 단계; 코딩된 크로마 데이터를 위한 필드 내에 규정된 양만큼 상기 디폴트 SAO 오프셋 값을 시프트시킴으로써 제2 SAO 오프셋 값을 도출하는 단계; 및 상기 제2 SAO 오프셋 값을 상기 SAO 필터링 동작에서의 오프셋으로서 이용하여, 상기 코딩된 비디오 스트림으로부터 획득되어진 재구성된 크로마 데이터에 대해 SAO 필터링을 수행하는 단계를 포함할 수 있다. 상기 제1 및 제2 SAO 오프셋 값들 중 하나의 SAO 오프셋 값의 상기 도출은, saoOffsetVal = offsetSign * saoOffsetAbs << saoShiftOffset에 의해 발생하고, 여기서, offsetSign은 각자의 상기 SAO 오프셋 값에 대해 규정된 부호를 나타내고, saoOffsetAbs는 상기 디폴트 SAO 오프셋 값을 나타내고, "<<"는 비트 시프트 동작을 나타내고, saoShiftOffset은 상기 코딩된 루마 또는 코딩된 크로마 데이터에 대해 각각 상기 코딩된 비디오 스트림으로부터 추출된 상기 파라미터로부터 도출될 수 있다. 상기 파라미터들은 슬라이스 헤더(slice header)로부터 추출될 수 있다. 상기 파라미터들은 시퀀스 파라미터 세트로부터 추출될 수 있다.
본 출원은 개선된 샘플 적응성 오프셋 제어 기술을 제공하는 것을 그 일 효과로 한다.
도 1은 본 발명의 일 실시예에 따른 양자화 방법을 도시하는 흐름도.
도 2는 본 발명의 일 실시예에 따른 다른 양자화 방법을 도시하는 흐름도.
도 3은 본 발명의 일 실시예에 따른 다른 양자화 방법을 도시하는 흐름도.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른, 변환된 색공간(color space)들에서 샘플 적응성 오프셋을 적용하기 위한 방법들을 도시하는 흐름도.
도 5는 본 발명의 일 실시예에 따른 오프셋 내삽(interpolation) 방법을 도시하는 흐름도.
도 6은 본 발명의 일 실시예에 따른, 불균일하게 분포된 범위들을 갖는 샘플들에 대한 오프셋들을 식별하기 위한 방법을 도시하는 흐름도.
도 7은 본 발명의 일 실시예에 따른 코딩 시스템의 블록도.
도 8은 본 발명의 일 실시예에 따른 디코딩 시스템의 블록도.
도 9는 본 발명의 일 실시예에 따른 다중 단말기 시스템의 블록도.
도 10은 샘플 적응성 오프셋의 동적 범위 및/또는 정밀도를 결정 및 시그널링하기 위한 방법을 도시하는 흐름도.
본 발명의 실시예들은 샘플들의 오프셋 값들에 대한 비트 깊이에 대한 잡음의 영향을 줄이고 제어하고/하거나 그 비트 깊이를 조절하기 위한 기술들을 제공한다. 그러한 기술들은 샘플 적응성 오프셋(SAO) 프로세스들뿐만 아니라, 후처리에도 적용될 수 있다.
일 실시예에서, 카테고리화 또는 분류 프로세스 동안에 추가적이고 선택적인 양자화 단계가 수행될 수 있다. 분류 프로세스에서, 오프셋 값의 잡음 감도를 줄이기 위해 샘플 값들이 비교 전에 상이한 그룹들로 분류될 수 있다. 다른 실시예에서, 샘플 범위, 오프셋 모드 및 오프셋 정밀도 파라미터들이 또한 계산되고, 다른 실시예들에서는 샘플링된 비디오 데이터와 관련된 메타데이터와 함께 전송되어 오프셋들의 적용을 개선할 수 있다.
다른 실시예에서, 비디오 데이터는 오프셋 값들을 적용하는 데 더 적합한 성분들을 갖는 제2 색공간으로 변환될 수 있다. 일단 오프셋 값들이 제2 색공간에 적용되면, 적용된 오프셋을 갖는 비디오 데이터는 다시 제1 색공간으로 변환될 수 있다. 다시, 이 예에서, 제2 색공간에 대한 식별 정보가 전송되는 경우, 이러한 식별 정보를 전송하기 위해 최소의 오버헤드가 필요할 수 있다.
다른 실시예에서, 제한된 신호 오버헤드로 인해 명확하게 시그널링될 수 없는 소정 대역들에 대한 오프셋 값들은 대신에 명확하게 시그널링된 오프셋 값들로부터 내삽될 수 있다. 이러한 내삽은 비인접 대역들을 명확하게 시그널링하고 나서 명확하게 시그널링된 비인접 대역들 사이에 위치되는 중간 대역들과 관련된 오프셋 값들을 내삽함으로써 일어날 수 있다. 대역들은 또한 불균일하게 분할될 수 있어, 일부 대역들이 다른 대역들과는 상이한 폭들을 갖고/갖거나 더 넓은 범위의 값들을 포함하게 한다. 이러한 실시예들은 오프셋 값들이 오프셋들에 의해 가장 영향을 받는 이미지의 특정 섹션들에서 더 정밀하게 적용되는 것을 가능하게 할 수 있다.
샘플들의 양자화 및 분류
SAO는 재구성된 샘플들을 다양한 카테고리들로 분류하고, 각각의 카테고리에 대한 오프셋을 획득하고, 획득된 오프셋을 카테고리 내의 각각의 샘플에 부가하는 것을 포함할 수 있다. 각각의 카테고리에 대한 오프셋은 인코더에서 계산되고, 디코더로 시그널링될 수 있다. 샘플들의 분류는 인코더 및 디코더 둘 모두에서 수행될 수 있다. 양자화는 콘텐트 내의 잡음을 마스킹하고, 비디오 콘텐트의 에지들 상의 더 양호한 포커스를 제공할 수 있다. 그러한 예들에서, 사용되는 특정 양자화 팩터(quantization factor)에 대한 정보가 전송될 때, 특정 양자화 값만이 전송되는 것이 필요하다. 다수의 샘플들에 대해 동일한 양자화 팩터를 사용함으로써 오버헤드가 추가로 감소할 수 있다. 다른 실시예들에서 오프셋들의 적용을 개선하기 위해, 추가적인 샘플 범위, 오프셋 모드 및 오프셋 정밀도 파라미터들이 또한 계산되고, 샘플링된 비디오 데이터와 관련된 메타데이터와 함께 전송될 수 있다. 샘플들이 멀리 있는지 여부뿐만 아니라 이들이 얼마나 멀리 있는지를 검사함으로써 에지 분류를 돕기 위해 양자화 파라미터가 도입될 수 있다. 양자화 파라미터는 이웃 샘플들 사이의 절대 차이가 임계치보다 큰지 여부를 결정하기 위해 또한 사용될 수 있는데, 여기서 임계치는 정밀하거나 양자화될 수 있다. 양자화 파라미터는 또한 이웃 샘플들 사이의 차이를 양자화하고, 양자화된 차이들에 기초하여 분류를 수행할 수 있다. 통상의 에지 오프셋 결정들은, 현재 샘플 값의 이웃들의 기준과 비교하여 현재 샘플 값의 더 큰/더 작은/동일한 기준을 이용하는 직접 비교에 기초하지만, 이들은 특히 더 높은 비트 깊이들에서 잡음에 의해 쉽게 왜곡된다. 본 명세서에서 논의되는 양자화 파라미터 기술들은 그러한 잡음 영향들에 대한 감도를 줄일 것으로 예상된다.
제1 실시예에서, 처리될 모든 샘플들은 양자화 팩터를 이용하여 양자화될 수 있다. 양자화 팩터는 주어진 샘플 값 및 그의 이웃들의 샘플 값들을 나누는 제수(divisor)를 포함할 수 있다. 양자화된 샘플들은 반올림될 수 있다. 이어서, 반올림된 샘플들은 분류 프로세스를 위한 파라미터들로서 이용될 수 있다. 일부 예들에서, 반올림에 더하여 또는 반올림에 대한 대안으로서, 몫에 대해 상한 또는 하한 계산과 같은 다른 연산들이 수행될 수 있다. 예를 들어, 제수의 값이 2의 배수인 경우, 메모리 자원들을 보존할 수 있는, 시프트 연산(shift operation) 또는 비트와이즈(bitwise) AND 마스크의 대신 사용에 의해 제산(division operation)이 간소화될 수 있으며, 이는 본 명세서에서 추가로 기술된다. 이어서, 결정 프로세스는 새로운 양자화된 샘플들에 기초하여 샘플들을 카테고리화할 수 있다. 표 1은 이 실시예에 기초하여 에지 오프셋 모드에서 상이한 에지 유형들을 분류하기 위한 예시적인 조건들을 나타낸다. 표 1에서, 부동 소수점 수일 수 있는 T는 제수에 대응한다.
[표 1]
Figure 112021059334797-pat00001
도 1은 제1 실시예에 따른 예시적인 방법(100)을 도시한다. 단계 101에서, 양자화 팩터(T), 사전 결정된 비디오 샘플의 값(p), 사전 결정된 비디오 샘플에 대한 제1 이웃의 값(n0) 및 사전 결정된 비디오 샘플에 대한 제2 이웃의 값(n1)이 식별될 수 있다. 단계 102에서, 식별된 값(p, n0, n1)들 각각을 양자화 팩터(T)로 나눌 수 있다. 단계 103에서, 나누어진 샘플 값(p/T)이 그의 이웃들의 나누어진 값(n0/T, n1/T)들과 비교될 수 있다.
일부 예들에서, 비교가 일어나기 전에, 나누어진 값(p/T, n0/T, 및/또는 n1/T)들 중 하나 이상에 함수가 적용되어, 이러한 나누어진 값들을 더 일반적인 카테고리들과 연관시킬 수 있다. 예를 들어, 일부 예들에서, 박스 105에서와 같이, 반올림 함수가 나누어진 값들 각각에 적용될 수 있어, 나누어진 값들 각각이 대응하는 정수와 연관되게 한다. 이어서, 단계 103에서, 연관된 정수들이 서로 비교될 수 있다. 다른 예들에서, 다른 함수들이 적용될 수 있다. 예를 들어, 단계 103에서 값들을 서로 비교하기 전에, 박스 106에서 상한 또는 하한 계산 함수가 나누어진 값들 각각에 적용될 수 있다. 다른 실시예들에서, 다른 함수들이 또한 이용될 수 있다. 단계 104에서, 사전 결정된 비디오 샘플은 단계 103에서 행해진 비교에 기초하여, 최소, 제1 에지 유형, 제2 에지 유형, 최대, 및 이들 중 어느 것도 아님 중 하나로서 분류될 수 있다. 상기 표 1은 단계 103에서의 비교에 기초하여 비디오 샘플을 이러한 유형들 중 하나로서 분류하기 위한 예시적인 기준들을 나타낸다. 예시적인 비교 기준들이 표 1의 조건 열 내에 나타나 있다.
추가 실시예에서, 에지 유형들의 분류는 샘플링된 값과 그의 이웃들 사이의 차이들의 양자화에 기초할 수 있는데, 샘플링된 값과 그의 이웃들 사이의 차이들은 통상의 SAO 방법들에 따라 평가될 수 있다. 표 2는 이 실시예에 기초하여 에지 오프셋 모드에서 상이한 에지 유형들을 분류하기 위한 예시적인 조건들을 나타낸다.
[표 2]
Figure 112021059334797-pat00002
도 2는 제2 실시예에 따른 예시적인 방법(200)을 도시한다. 단계 201에서, 양자화 팩터, 사전 결정된 비디오 샘플의 값(p), 사전 결정된 비디오 샘플에 대한 제1 이웃의 값(n0) 및 사전 결정된 비디오 샘플에 대한 제2 이웃의 값(n1)이 식별될 수 있다. 단계 202에서, 사전 결정된 비디오 샘플(p)과 그의 이웃(n0, n1)들 각각 사이의 차이(p-n0, p-n1)들이 결정될 수 있다. 단계 203에서, 양자화 팩터는 본 명세서에서 추기로 기술되는 바와 같이 단계 202에서 결정된, 값과 그의 이웃들 사이의 차이들 각각에 적용될 수 있다. 단계 204에서, 방법(200)은 사전 결정된 비디오 샘플 값과 그의 이웃들 사이의 차이들 각각의 양자화의 부호를 평가할 수 있다. 단계 205에서, 사전 결정된 비디오 샘플(p)은 단계 204에서 행해진 평가에 기초하여, 최소, 제1 에지 유형, 제2 에지 유형, 최대, 및 이들 중 어느 것도 아님 중 어느 하나로서 분류될 수 있다. 상기 표 2는 단계 204에서 행해진 평가에 기초하여 비디오 샘플을 이러한 유형들 중 하나로서 분류하기 위한 예시적인 기준들을 나타낸다. 예시적인 비교 기준들이 표 2의 조건 열 내에 나타나 있다.
또 다른 실시예에서, 처리될 모든 샘플들은 동일한 양자화기(Q)를 이용하여 양자화될 수 있다. 이어서, 결정 프로세스는 새로운 양자화된 샘플들에 기초하여 샘플들을 카테고리화할 수 있다. 양자화 파라미터는 에지 분류 전에 샘플들을 더 낮은 정밀도로 양자화함으로써 샘플들의 동적 범위를 줄일 수 있다. 샘플들을 한 번 양자화한 후에, 양자화된 값을 모든 이웃 결정들에 대해 재사용함으로써, 이 실시예는 메모리 자원들을 보존할 수 있다. 하기의 표 3은 이 실시예에 기초하여 에지 오프셋 모드에서 상이한 에지 유형들을 분류하기 위한 예시적인 조건들을 나타낸다. 표 3 및 (달리 지시되지 않는 한) 본 명세서의 다른 표들에서, p는 주어진 샘플의 값에 대응하고, n0은 주어진 샘플로부터의 (전형적으로 수평, 수직 또는 대각선 방향의) 제1 방향 이웃의 값에 대응하고, n1은 주어진 샘플로부터의 (전형적으로 수평, 수직 또는 대각선 방향으로 제1 방향과 반대인 방향의) 제2 방향 이웃의 값에 대응하고, Q는 양자화 팩터에 대응한다.
[표 3]
Figure 112021059334797-pat00003
도 3은 제3 실시예에 따른 예시적인 방법(300)을 도시한다. 단계 301에서, 양자화 팩터, 사전 결정된 비디오 샘플의 값(p), 사전 결정된 비디오 샘플에 대한 제1 이웃의 값(n0) 및 사전 결정된 비디오 샘플에 대한 제2 이웃의 값(n1)이 식별될 수 있다. 단계 302에서, 식별된 값(p, n0, n1)들 각각에 양자화 팩터가 적용될 수 있다. 예를 들어, 양자화는 상기 표 1과 관련하여 기술된 바와 같이 반올림 함수일 수 있다. 이 예에서, 표 3은 표 1의 일반화이다. 단계 303에서, 양자화된 샘플 값(Q[p])이 그의 이웃들의 양자화된 값(Q[n0], Q[n1])들과 비교될 수 있다. 단계 304에서, 사전 결정된 비디오 샘플(p)은 단계 303에서 행해진 비교에 기초하여, 최소, 제1 에지 유형, 제2 에지 유형, 최대, 및 이들 중 어느 것도 아님 중 하나로서 분류될 수 있다. 상기 표 3은 단계 303에서 행해진 비교에 기초하여 비디오 샘플을 이러한 유형들 중 하나로서 분류하기 위한 예시적인 기준들을 나타낸다. 예시적인 비교 기준들이 표 3의 조건 열 내에 나타나 있다.
본 명세서에서 설명되는 실시예들 각각과 관련하여, 양자화 프로세스는 j 비트만큼의 우측 시프트 연산과 같은 시프트 연산일 수 있다. 일부 예들에서, 시프트 연산은 반올림 제어를 추가로 포함할 수 있다. 양자화 프로세스의 일 모드에서, 양자화 스텝 크기는 샘플들의 비트 깊이에 기초하여 동적으로 계산될 수 있다. 예를 들어, 샘플들은 그들의 8개의 최상위 비트들로 양자화될 수 있다. 다시 말하면, bitDepth가 처리될 샘플의 비트 깊이를 나타내고, (j를 대체하는) N이 bitDepth에 기초하여 고정되는 경우, 즉 N = bitDepth - 8인 경우, 양자화는 본 명세서에서 논의되는 도 1 및 도 3 실시예들에 대해 Q1(x) = x>>N으로서 수행될 수 있다.
일 실시예에서, 양자화는 본 명세서에서 논의되는 도 2 실시예에 대해 다음과 같이 샘플 x 및 양자화 팩터 j를 이용하여 수행될 수 있다.
Q2(x, j) = floor(x/(2^j)) = sign (x) * (abs(x) >> j)
Q3(x, j) = ((x + (1 << (j - 1))) >> j)
양자화 방법(Q1, Q3)들은 유사하다. 예를 들어, 양 및 음의 값들이 구별되지 않는 경우, 음의 바이어스가 존재하여서, 값은 음인 경우에 결코 0이 되지 않을 것이며, 샘플은 반올림 팩터 없이 우측으로 시프트될 수 있다.
양자화 방법들은 대안적으로 코딩 트리 변경 프로세스에서 개념화될 수 있으며, 이러한 프로세스에서 에지 인덱스의 값(edgeIdx)은 다음과 같이 도출될 수 있다.
edgeIdx = 2 + Sign(recPicture[ xSi ][ ySj ] - recPicture[ xSi + hPos[ 0 ] ][ ySj + vPos[ 0 ] ]) + Sign(recPicture[ xSi ][ ySj ] - recPicture[ xSi + hPos[ 1 ] ][ ySj + vPos[ 1 ] ])
본 발명에서처럼 일 실시예에 따라 양자화가 적용될 때, 에지 인덱스는 다음과 같이 부호를 SignQuant로 대체함으로써 도출될 수 있다.
edgeIdx = 2 + SignQuant(recPicture[ xSi ][ ySj ] - recPicture[ xSi + hPos[ 0 ] ][ ySj + vPos[ 0 ] ]) + SignQuant (recPicture[ xSi ][ ySj ] - recPicture[ xSi + hPos[ 1 ] ][ ySj + vPos[ 1 ] ])
여기서, SignQuant는 하기일 수 있다:
Figure 112021059334797-pat00004
대안적인 실시예에서, 이는 다음과 같을 수 있다:
edgeIdx = 2 + Sign(Q(recPicture[ xSi ][ ySj ] - recPicture[ xSi + hPos[ 0 ] ][ ySj + vPos[ 0 ] ])) + Sign(Q(recPicture[ xSi ][ ySj ] - recPicture[ xSi + hPos[ 1 ] ][ ySj + vPos[ 1 ] ]))
이때, Q는 앞서 기술된 바와 같은 양자화 방법인데, 예를 들어 Q는 Q2 또는 Q3일 수 있다. 추가의 실시예에서, 이는 또한 다음과 같을 수 있다:
edgeIdx = 2 + Sign(Q1(recPicture[ xSi ][ ySj ]) - Q1(recPicture[ xSi + hPos[ 0 ] ][ ySj + vPos[ 0 ] ])) + Sign(Q1(recPicture[ xSi ][ ySj ]) - Q1(recPicture[ xSi + hPos[ 1 ] ][ ySj + vPos[ 1 ] ]))
양자화 프로세스의 다른 모드에서, j는 각각의 색상 성분에 대해 시그널링될 수 있다. 시그널링은 슬라이스 헤더 내에서 수행되어, 오버헤드를 최소화하는 이점을 제공할 수 있다. 예를 들어, 슬라이스 세그먼트 헤더는 다음과 같이 변경될 수 있는데, 여기서 slice_sao_luma_thres_scale 및 slice_sao_chroma_thres_scale은 루마 및 크로마 성분들 각각에 대해 본 명세서에서 논의되는 에지 오프셋 분류에서 샘플링된 비디오 값들의 양자화에서 비교를 위해 사용될 수 있는 임계치들을 규정한다:
Figure 112021059334797-pat00005
시그널링은 PPS에서 또는 SPS 레벨에서 코딩 트리 유닛에 대해 적응되는 SAO 신택스 내에서 또한 수행될 수 있다. 이러한 모드는 샘플들을 양자화하는 사전 결정된 개수의 최상위 비트들로부터 양자화를 분리함으로써 더 큰 유연성을 제공할 수 있으며, 양자화 파라미터는 다양한 레벨들에서 시그널링될 수 있다.
시그널링 동적 범위 및 정밀도 파라미터
일 실시예에서, 에지 오프셋 및 대역 오프셋 분류 방법들 둘 모두에 대해, SAO의 정밀도는 시그널링 오버헤드를 제한하면서 그리고 추가 파라미터들의 시그널링의 지원에 의해 동적 범위를 유지하면서 향상될 수 있다. 이러한 추가 파라미터들은 시그널링되는 오프셋들의 동적 범위 및/또는 정밀도를 규정하는 파라미터들을 포함할 수 있다.
SAO는 본래의 신호 진폭들을 더 양호하게 재구성하도록 설계되지만, SAO 성능은 특히 기존의 HEVC 표준에서 높은 비트 레이트들 및 비트 깊이들에서 나쁠 수 있다. SAO에서, 픽처 및 정정 오프셋들이 비트스트림 내에서 수신된다. 재구성된 픽처의 샘플들은 카테고리들로 분류되며, 카테고리들에 대응하는 정정 오프셋들은 디블록킹 후에 재구성된 픽처 샘플들에 부가된다. 기존 HEVC 표준에서, 코딩된 오프셋 값들의 크기는 (1<<(Min(bitDepth, 10) - 5)) - 1의 최대값으로 제한되는 반면, 부호 값들은 (예컨대, 대역 오프셋 방법에서) 비트스트림 내에서 시그널링되거나 각각의 에지 카테고리에 대해 사전 정의된다. 따라서, 최종 오프셋 값은 하기로서 계산될 수 있다:
SaoOffset = offsetSign * saoOffsetAbs << (bitDepth - Min(bitDepth, 10))
여기서, offsetSign은 오프셋에 대한 규정된 부호이고, saoOffsetAbs는 시그널링된 오프셋 크기이고, bitDepth는 처리된 샘플들의 규정된 비트 깊이이다. SaoOffset은 본 명세서에서 추가로 기술되는 바와 같이 각각의 색상 성분에 대해 개별적으로 정의되고 시그널링될 수 있다. 예를 들어, 8 비트 데이터에 대한 오프셋 범위는 [-7, 7] 내이고, 10 비트 데이터는 [-31, 31] 내이고, 12 비트 데이터는 [-31, 31] * 4 내이다. 양자화는 상기 수학식에서 우측으로 시프트된 부분, 즉 << (bitDepth - Min(bitDepth, 10))으로서 표현된다. 다시 말하면, 기존 HEVC 표준에서의 양자화는 10 초과의 비트 깊이들에 대해 적용된다.
그러나, 이러한 계산 방법은 나쁜 성능을 초래할 수 있다. 예를 들어, 에지 또는 대역 오프셋 SAO 방법들에 대해, 시그널링될 오프셋들은, (예컨대, 최소 평균 제곱 방법을 이용하는) 소정의 최적화 모델이 주어질 경우에, 제한되고 다소 작은 범위 내에 있을 수 있다. 그러나, 최종 SAO 오프셋 값이 시그널링을 위해 결정될 때, (10보다 높은 비트 깊이들에 대해) HEVC 표준에 의해 요구되는 반올림, 양자화 및 클리핑(clipping) 제약들뿐만 아니라 코딩과 같은 추가 제약들이 주어질 경우에, 양자화 후에는, 이러한 오프셋들은 결국 그들 대부분이 또는 전체가 0으로 완전히 양자화될 수 있다. 이는 SAO의 유효성을 줄이거나, 심지어는 SAO를 완전히 오프시킬 것이며, 이는 전체 코딩 효율에 악영향을 준다.
따라서, SAO 성능은 양자화를 제거하고/하거나 주어진 비트 깊이에 대한 양자화를 조정함으로써 개선될 수 있다. 일 실시예에서, SAO 오프셋들의 정밀도를 규정하는 파라미터가 제공될 수 있다. 고정되고 비트 깊이에 의존하는 양만큼 오프셋 파라미터들을 조정하기 위해 고정된 스케일링 팩터를 적용하는 대신에, 가변 스케일링 파라미터가 제공될 수 있다. 스케일링 파라미터는 특정 샘플들에 적용될 특정 스케일링 팩터를 규정할 수 있다.
도 10은 샘플 적응성 오프셋의 동적 범위 및/또는 정밀도를 결정하고 시그널링하기 위한 방법(1000)을 도시하는 흐름도이다. 제1 단계 1002에서, 방법(1000)은 비트스트림 내의 코딩된 비디오 데이터를 수신하며, 비트스트림으로부터 SAO 오프셋이 어떻게 적용될지를 규정하는 파라미터들을 추출할 수 있다. 일부 예들에서, 특정 스케일링 팩터를 시그널링하기 위해 saoShiftOffset 파라미터가 이용될 수 있다. 단계 1004에서, 방법(1000)은 비트스트림이 SAO 시프트 오프셋 값을 규정하는 파라미터를 포함하는지 여부를 결정한다. 예를 들어, 레거시(legacy) 시스템들은 SAO 오프셋이 어떻게 적용될지를 규정하는 파라미터를 전송하지 않을 수 있다. SAO 오프셋을 어떻게 적용할지를 규정하는 파라미터가 추출될 수 없는 경우, 방법(1000)은 디폴트 SAO 오프셋 스킴(scheme)이 적용되는 단계 1008로 진행한다. 예를 들어, saoShiftOffset이 시그널링되지 않거나, 수신되지 않거나, 존재하지 않는 경우, 오프셋들은 기존의 고정 스케일링 스킴에 따라 스케일링될 수 있다(즉, 10 초과의 비트 깊이들에 대해 양자화의 적용). 방법(1000)이 SAO 오프셋 파라미터를 추출하는 경우, 방법은 SAO가 파라미터에 따라 비디오에 적용되는 단계 1006으로 진행한다. 예를 들어, 오프셋은 아래의 예시적인 코드에 따라 saoShiftOffset 파라미터에 의해 규정되는 양만큼 시프트될 수 있다:
if (saoShiftOffset is not present)
SaoOffset = offsetSign * saoOffsetAbs << (bitDepth - Min(bitDepth, 10))
else
SaoOffset = offsetSign * saoOffsetAbs << saoShiftOffset
대안적인 실시예들에서, 기준들은 또한 맞춤화된 오프셋 스케일링이 사용되는 예들을 제한하도록 규정될 수 있다. 예를 들어, bitDepth가 10보다 큰 경우에만 맞춤화된 오프셋 시그널링을 허가하면서, 또한 saoMaxLogOffsetAbs 양에 기초하는 규정된 bitDepth가 주어지는 경우에 현재의 최대 샘플 값 내에서 동적 범위를 제한하기 위해, 추가적인 기준들이 규정될 수 있다.
일 실시예에서, 파라미터 SaoOffset은 픽처 파라미터 세트(picture parameter set, PPS) 내에서 시그널링될 수 있다. 대안적인 실시예에서, 파라미터는 인코딩된 비디오 데이터와 관련된 시퀀스 파라미터 세트(sequence parameter set, SPS), 슬라이스 헤더 또는 다른 메타데이터 내에서 명확하게 시그널링될 수 있다. 일부 예들에서, 이러한 추가 파라미터들은 Main, Main-10 및 Main Still 프로파일들과 같은, HEVC에서 이미 정의된 프로파일들과는 상이한 새로운 프로파일들에서 지원될 수 있다. 파라미터들은 각각의 최대 코딩 유닛(largest coding unit, LCU)에 대해 시그널링될 수 있는 반면, LCU들 사이의 예측 메커니즘들은 시그널링 오버헤드를 줄일 수 있다.
파라미터들은 각각의 색상 성분에 대해 정의될 수 있는데, 그러나 이는 서로 유사할 필요가 없을 수 있다. 따라서, 각각의 색상 성분은 그와 관련된 그 자신의 saoOffset 파라미터를 가질 수 있다. 예를 들어, 루마 성분은 그 자신의 saoOffset 파라미터를 가질 수 있고, 크로마 성분은 그 자신의 saoOffset 파라미터를 가질 수 있다. 대안적인 실시예들에서, 상이한 색상 성분들은 동일한 saoOffset 파라미터 또는 동일한 세트의 saoOffset 파라미터들을 이용할 수 있다.
예를 들어, 파라미터 saoOffset은 다음과 같이 픽처 파라미터 세트 RBSP(raw byte sequence payload) 신택스 내에서 파라미터 sao_luma_bit_shift 및 sao_chroma_bit_shift에 의해 시그널링 될 수 있다.
Figure 112021059334797-pat00006
sao_luma_bit_shift는 루마 샘플들에 대한 SAO 오프셋 값들을 도출하는 데 사용되는 파라미터를 규정할 수 있다. sao_luma_bit_shift의 값은 0 내지 BitDepthY-6의 범위 내에 있을 수 있다. 존재하지 않을 때, sao_luma_bit_shift의 값은 0인 것으로 추정될 수 있으며, 이 경우에 양자화는 기존 HEVC 표준에 따라 수행될 수 있다. sao_chroma_bit_shift는 크로마 샘플들에 대한 SAO 오프셋 값들을 도출하는 데 사용되는 파라미터를 규정할 수 있다. sao_chroma_bit_shift의 값은 0 내지 BitDepthC-6 의 범위 내에 있을 수 있다. 존재하지 않을 때, sao_chroma_bit_shift의 값은 0인 것으로 추정되며, 이 경우에 양자화는 기존 HEVC 표준에 따라 수행될 수 있다.
일부 예들에서, 시그널링되는 오프셋 양 saoOffsetAbs에 대한 최대 허용가능 값은 또한 파라미터 내에 또는 추가 파라미터로서 포함될 수 있다. 최대 허용가능 값은 그대로 인코딩될 수 있거나, 그의 밑수 2인 로그, 즉 saoMaxLogOffsetAbs를 취함으로써 더 효율적으로 인코딩될 수 있다. 이 예에서, 최대 허용가능 값은 하기로서 규정될 수 있다.
saoMaxOffset = (1 << saoMaxLogOffsetAbs) - 1
일부 예들에서, saoOffsetAbs의 엔트로피 코딩 프로세스(cmax)는 이러한 인코딩에 의해 영향을 받을 수 있다. 대안적인 실시예에서, 현재의 최대 값은 (1<<(Min(bitDepth, 10)-5))-1과 동일하도록 설정될 수 있으므로, saoDeltaMaxLogOffsetAbs를 시그널링하고, saoMaxLogOffsetAbs를 하기와 동일한 것으로서 설정함으로써 몇몇 비트들이 절감될 수 있다:
saoMaxLogOffsetAbs = (Min(bitDepth, 10) - 5) + saoDeltaMaxLogOffsetAbs
saoDeltaMaxLogOffsetAbs가 0인 경우에 기존 동적 범위가 사용될 수 있으며, 그렇지 않은 경우에는 확장된 동적 범위가 제공될 수 있다.
대안적인 실시예에서, 적응성 동적 범위 시그널링은 슬라이스 레벨 제어에서 제공되고 추출될 수 있다. 예를 들어, 0 내지 4의 범위인 i에 대한 SaoOffsetVal[cIdx][rx][ry][i]는 다음과 같이 도출될 수 있다:
SaoOffsetVal[ cIdx ][ rx ][ ry ][ 0 ] = 0
for(i = 0; i < 4; i++) {
SaoOffsetVal[ cIdx ][ rx ][ ry ][ i + 1 ] = offsetSign * sao_offset_abs[ cIdx ][ rx ][ ry ][ i ]
}
대안적인 실시예에서, 적응성 동적 범위 시그널링은 다음과 같이 시퀀스 레벨 제어에서 제공되고 추출될 수 있다:
Figure 112021059334797-pat00007
sao_quant_enabled_flag가 1일 때, 디코더는 sao_offset_abs에 대해 양자화가 적용될 것이라는 것을 통지 받을 수 있다. Sao_quant_enabled_flag가 0이라는 것은 sao_offset_abs에 대한 양자화가 이용되지 않을 것임을 지시할 수 있다. 존재하지 않을 때, sao_quant_enabled_flag의 값은 0인 것으로 추정되며, 이 경우에 양자화는 기존 HEVC 표준에 따라 수행될 수 있다.
부가적으로, HEVC가 SAO를 루프 내 처리 메커니즘으로서 적용하는 경우, 본 명세서에 기술되는 실시예들 중 하나 이상은 루프 내 SAO 처리 메커니즘의 일부로서 적용될 수 있거나, 이들은 HEVC와 같은 코덱과 무관한 후처리 메커니즘들로서 적용될 수 있다. 코덱과 무관한 후처리 메커니즘들로서 적용되는 이들 실시예의 경우, SAO 메타데이터는 여전히 보완 향상 정보(Supplemental Enhancement Information, SEI) 메시지, MPEG-2 시스템의 사용자 규정 메타데이터 또는 다른 메커니즘들을 포함하지만 이로 한정되지 않는 캐리어 메커니즘을 이용하여 코덱 내에서 시그널링될 수 있다. 부가적으로, 본 발명의 실시예들은 일부 형태의 SAO에 대해 제공될 수 있는 다른 코덱들 내에 포함될 수 있다. 이러한 다른 코덱들은 HEVC의 미래의 코덱들 또는 확장들, 예를 들어 HEVC의 스케일링 가능 또는 3D/멀티뷰 확장들을 포함할 수 있다.
변환된 색공간에서의 SAO의 적용
YUV 4:2:0 색공간을 지원하는 것에 더하여, HEVC는 많은 가운데 특히 YUV 4:2:2 및 YCoCg, YCoCg-R 또는 RGB 4:4:4와 같은 다른 색공간들 및 색상 샘플링 포맷들을 또한 지원한다. 상이한 실시예들에서, SAO는 비디오 데이터의 고유 색공간과는 상이한 색공간들에서 적용될 수 있다. 상이한 색공간에서의 SAO의 적용은 RGB 색공간에서와 같은 특정 색상 값 대신에 크로미넌스 파라미터와 같은 특정 색공간과 관련된 특정 파라미터들에 대해 오프셋들이 더 정밀하게 규정되는 것을 가능하게 할 수 있다.
SAO는 이미지 데이터를 상이한 색공간 및 샘플링 포맷으로, 예를 들어 4:2:0 내지 4:4:4로 변환하고, 상이한 색공간 및 샘플링 포맷에서 SAO를 적용하고, 이어서 이미지 데이터를 다시 고유 색공간 및 샘플링 포맷으로 변환함으로써 비고유 색공간들에서 적용될 수 있다. 예를 들어, 고유 인코딩 색공간이 RGB Rec.709 또는 Rec.2020인 경우, SAO를 이미지 데이터의 루마 및/또는 크로미넌스 성분들에 직접 적용하기 위해, 이미지 데이터는 YUV 색공간으로 변환될 수 있다. 일단 이미지 데이터가 YUV 색공간으로 변환되면, SAO에 기초하는 하나 이상의 오프셋이 YUV 색공간 내의 변환된 이미지 데이터에 적용될 수 있다. 역변환 또는 색상 변환 알고리즘이 YUV 색공간 내의 데이터에 적용되어, 본래의 RGB 색공간으로 복귀할 수 있다.
결정, 즉 색공간 및/또는 샘플링 포맷 변환의 유형은 한 세트의 인코딩된 데이터 내에서 시그널링 또는 식별될 수 있으며, 일부 예들에서 시퀀스 파라미터 세트(SPS), 픽처 파라미터 세트(PPS), 슬라이스 헤더 또는 SAO 신택스 내에 포함될 수 있다. 다른 예들에서, 이러한 정보는 다른 메타데이터의 일부일 수 있거나, 다른 곳에서 시그널링될 수 있다.
고유 색공간으로의 복귀를 위한 역변환은 순방향 변환(M)의 역을 계산함으로써 도출될 수 있다. 예를 들어, 역변환(M-1)은 M-1 = adj(M)/det(M)으로서 계산될 수 있는데, 여기서 adj는 행렬 M의 딸림 행렬(adjucate)이고, det는 M의 행렬식이다. 일부 예들에서, 그러한 계산은 고유 색공간으로의 복귀를 시그널링하는 데 필요한 오버헤드를 줄일 수 있다.
비고유 색공간들에서의 SAO의 적용은, 일부 예들에서, HEVC 또는 미래의 비디오 코딩 시스템들에서의 기존의 고유 색공간 방법들을 대체할 수 있다. 다른 예들에서, 비고유 색공간들에서 SAO를 적용하는 능력은 HEVC 또는 다른 비디오 코딩 시스템들 내에 추가 선택사항으로서 추가될 수 있다. 일부 예들에서, 상이한 색공간들로의 변환은 변환에 대한 계산 요구들을 간소화하기 위해 4:4:4 콘텐트만으로 제한될 수 있지만, 다른 예들에서 변환은 또한 크로마 샘플들이 색상 변환 프로세스 내에서 업스케일링 및 다운스케일링되게 함으로써 다른 색상 샘플링 예들로 확장될 수 있다. 업스케일링 및 다운스케일링은 픽셀 복제 또는 데시메이션(decimation)과 같은 간단한 계산들을 이용하여 수행될 수 있거나, 많은 가운데 특히 이중 선형(bilinear)으로부터 멀티-탭(multi-tap), 에지 적응성 및 양방향 알고리즘들에 이르는 더 계산 집약적인 필터들을 포함할 수 있다.
현재의 HEVC 표준에서와 같이, 하나의 색상 샘플(예컨대, 루마)에 대해 하나의 형태의 SAO를 적용하지만, 상이한 색상 샘플들(크로마 u 또는 크로마 v)에 대해 다른 형태의 SAO를 적용하는 것이 바람직할 수 있다. 본 명세서에서 기술되는 실시예들 각각은 상이한 유형의 SAO를 비디오 데이터에 불균일하게 그리고/또는 샘플별 기준으로 적용하는 것을 지원할 수 있다.
도 4a는 예시적인 코딩 방법(400)을 도시한다. 박스 401에서, 비디오 데이터가 제1 색공간으로부터 제2 색공간으로 변환될 수 있다. 제1 색공간은 비디오 데이터가 인코딩되는 디폴트 또는 사전 결정된 색공간일 수 있다. 제2 색공간은 선택될 수 있는데, 그 이유는 제1 색공간 대신에 제2 색공간에 적용되는 오프셋을 이용하여 더 개선될 수 있는 하나 이상의 색상 성분을 제2 색공간이 포함하기 때문이다.
일단 비디오 데이터가 제2 색공간으로 변환되면, 박스 402에서, 적어도 하나의 오프셋 계산 기준이 제2 색공간 내의 변환된 비디오 데이터에 적용될 수 있다. 일단 오프셋이 계산되면, 박스 403에서, 계산된 오프셋들을 포함하는 변환된 비디오 데이터가 다시 제1 색공간으로 변환될 수 있다.
이어서, 후속 비디오 처리 기능들을 위해 제2 색공간으로의 변환에 대한 정보를 제공하도록, 제2 색공간의 식별자 또는 다른 특성이 제1 색공간 내의 변환된 비디오와 관련된 메타데이터 내에 포함되거나 달리 시그널링될 수 있다(404).
도 4b는 예시적인 디코딩 방법(410)을 도시한다. 이어서, 박스 411에서, 제2 색공간의 식별자 또는 다른 특성이 수신되고/되거나, 제1 색공간 내의 변환된 비디오와 관련된 메타데이터로부터 추출될 수 있다. 식별자는 비디오 처리 기능들을 위해 제2 색공간으로의 변환에 대한 정보를 제공할 수 있다. 박스 411에서 수신된 식별자에 기초하여, 하나 이상의 오프셋 계산 기준이 제2 색공간 내의 변환된 비디오 데이터에 적용될 수 있다.
오프셋 내삽
앞서 논의된 바와 같이, 기존의 대역 오프셋 모드는 32개의 가능한 대역들 중 4개의 연속 대역들에 대한 오프셋을 규정하는 능력을 제공하였다. 그러나, 일부 예들에서, 시그널링되는 오프셋들의 오버헤드 및/또는 개수를 불가피하게 증가시킴이 없이, 단지 4개의 연속 대역들의 제한된 세트보다 더 많은 대역들에 대한 오프셋들을 규정하는 것이 바람직할 수 있다.
이를 달성하기 위해, 일부 예들에서, 불연속 대역들에 대한 오프셋 시그널링이 허용될 수 있다. 일부 예들에서, 4개 대역들의 동일 세트가 선택될 수 있지만, 대역들 중 일부 또는 전부는 인접하지 않도록 선택될 수 있다. 비인접 대역들 사이에 위치되는 중간 대역들에 대한 오프셋이 비인접 대역들과 관련된 오프셋들을 이용하여 내삽될 수 있다. 중간 대역들의 개수는 인코딩된 데이터와 관련된 SPS, PPS, 슬라이스 헤더, SAO 신택스 또는 다른 메타데이터 내에 포함되어진 시그널링된 파라미터에서 규정될 수 있다.
동일한 개수의 중간 대역(파라미터 sao_intermediate_offset)들이 4개의 대역들 각각 사이에 위치되도록 4개 대역들 전부가 균일하게 이격되는 예들에서, 가능한 오프셋들의 개수는 (4+3*sao_intermediate_offsets)일 수 있다. sao_intermediate_offsets가 0 이외의 값으로 설정되는 경우, 파라미터 sao_intermediate_offsets와 동일한 대역 분리 거리를 갖는 대역들의 오프셋들만이, 비트스트림 내에서 시그널링되는 바와 같이, 제1 대역 위치(파라미터 sao_band_position)의 최초 대역으로부터 시작하여 시그널링될 수 있다. 다른 시그널링되지 않은 중간 대역들 각각은 시그널링된 대역 오프셋들을 이용하여 내삽될 수 있다. 가장 간단한 방법은 이중 선형 내삽을 이용하여, 오프셋들을 하기로서 생성하는 것이다:
w = sao_intermediate_offsets + 1;
s = sao_band_position;
for (k=0;k<4;k++){
for (i = 1; i < w; i++) {
band_offset[s +4*k+i] =
((w - i) * band_offset[s +4*k] + i * band_offset[s +4*(k+1)] + (w>>1)) / w;
}
}
상이한 예들에서는 다른 더 긴 필터들이 사용될 수 있다. 이러한 규정된 범위 밖의 추가 오프셋들이 또한 규정된 범위 내의 오프셋들의 값들에 기초하여 외삽될(extrapolated) 수 있다.
도 5는 일 실시예에서의 예시적인 방법(500)을 도시한다. 박스 501에서, 샘플링된 비디오 데이터와 관련된 값들의 가능한 진폭들의 범위가 다수의 대역들로 세분될 수 있다. 각각의 대역은 전체 진폭 범위의 특정 서브세트에 대응할 수 있어, 전체 범위 내의 각각의 진폭 값이 오직 하나뿐인 대역 내에만 속하게 한다.
오버헤드 제한들로 인해, 기존의 시스템들에서, 제한된 연속 개수의 이러한 대역들에 대해서만, 예를 들어 32개 대역들 중 4개의 인접 대역들의 세트에 대해서만 오프셋 값들을 규정하는 것이 가능하였다. 일 실시예에서, 오프셋이 명확히 규정된 연속 대역들의 이러한 제한된 세트에만 오프셋이 적용될 수 있다. 대안적인 실시예에서, 오프셋이 규정된 다른 대역에 인접하지 않는 대역들에 대해서도 오프셋이 규정 또는 적용되지 못할 수 있다.
박스 502에서, 적어도 2개의 비인접 대역들 각각에 대해 오프셋들이 시그널링될 수 있다. 따라서, 예를 들어 대역 1, 2, 3 및 4와 같이 서로 인접하는 4개의 연속 대역들의 세트에 대해 오프셋들이 시그널링될 것을 요구하는 대신에, 박스 502에서, 예를 들어 대역 1, 5, 9 및 13과 같은 동일한 개수 또는 상이한 개수의 비인접 대역들에 대해 오프셋들이 시그널링될 수 있다.
박스 503에서, 오프셋이 박스 502에서 시그널링된 적어도 2개의 비인접 대역들 사이의 중간 대역에 대해 오프셋이 내삽될 수 있다. 오프셋은 박스 502에서 시그널링된 적어도 2개의 비인접 대역들에 대한 오프셋들의 값들을 이용하여 내삽될 수 있다. 선형, 이중 선형, 다항식 및 스플라인 내삽을 포함하지만 이로 한정되지 않는 임의의 유형의 내삽 알고리즘이 이용될 수 있다.
불균일 대역
다른 예들에서, 샘플들은 불균일하게 분포될 수 있거나, 예를 들어 베버-페히너(Weber-Fechner) 법칙에 의해 규정되는 바와 같이, 더 작은 변화들이 육안으로 더 인식될 수 있는 상이한 범위들을 가질 수 있다. 이러한 예들에서, 샘플 범위는 동등하게 이격된 대역들에 의해 균일하게 분할될 필요는 없다. 대신에, 대역들은 로그, 지수 또는 다른 비선형 함수를 이용하여 분할될 수 있다. 예를 들어, 일부 예들에서, 대역들은 하기의 함수들에 의해 정의될 수 있다:
f(x) = ceil(log2(x + 1)),
f(x) = ceil(log2((1 << bitDepth) - x))
f(x) = (x <= (1<<(bitDepth - 1)) ? ceil(log2(x + 1)) : ceil(log2((1 << bitDepth) - x))
f(x) = round((2.0^(float(x)/float((1<<bitdepth) - 1))*31))-31
f(x)= round((2.0^(float((1 << bitDepth) - x - 1)/float((1<<bitdepth) - 1))*31))-31
이들 및 다른 함수들을 이용하여, 각각의 대역 내에 상이한 개수의 샘플을 갖는 상이한 대역들을 생성할 수 있다. 다른 실시예에서, 대역들의 개수뿐만 아니라 시퀀스 내의 각각의 각자의 대역과 관련된 샘플들의 개수 둘 모두가 명확히 시그널링되는 파라미터들이 제공될 수 있다. 일부 예들에서, 각각의 대역의 시작점이 추가적인 시작점 파라미터를 통해 명확히 또는 차별적으로 시그널링될 수 있다. 다른 예들에서, 기존 HEVC 사양들에서 제공되는 방법들을 또한 이용하여, 시그널링된 대역들을 식별할 수 있다.
내삽을 이용하여, 명확히 시그널링된 것들 외의 추가적인 오프셋들을 식별할 수 있다. 중간 대역 오프셋들이 그들의 크기에 관계없이 내삽될 수 있거나, 크기 파라미터가 내삽된 결과를 스케일링하는 데 이용될 수 있다. 일부 예들에서, 제1 대역 또는 특정 대역 생성 프로세스가 인코딩된 데이터와 관련된 SPS, PPS, 슬라이스 레벨 또는 다른 메타데이터 내에 포함된 파라미터를 통해 시그널링될 수 있다.
대역들은 또한 각각의 오프셋 또는 인코딩된 매크로블록, 코딩 유닛 또는 코딩 트리 유닛에 대해 동적으로 조정될 수 있다. 그러나, 이는 더 복잡한 대역들을 생성하기 위해 추가적인 대역폭 및 계산 능력을 요구할 수 있다. 일부 예들에서, 각각의 매크로블록, 코딩 유닛 또는 코딩 트리 유닛에 대한 대역 분할 프로세스를 스위칭하는 대신에, 대역 오프셋 및/또는 에지 오프셋 모드의 상이한 변형들을 포함한 상이한 지원 모드들이 시그널링될 수 있다. 부가적으로, sao_type_idx_luma 및 sao_type_idx_chroma 지시자들과 같은 파라미터들이 또한 지원 모드들의 개수를 더 증가시키기 위해 제공될 수 있다.
도 6은 일 실시예에서의 예시적인 방법을 도시한다. 박스 601에서, 샘플링된 비디오 데이터의 가능한 진폭 값들의 범위가 식별될 수 있다. 박스 602에서, 식별된 범위에 비선형 연산이 적용될 수 있다. 비선형 연산은 진폭 값들의 범위를 불균일 대역들로 세분할 수 있는데, 이때 일부 대역들은 다른 대역들보다 더 넓으며 더 많은 값을 포함한다. 비선형 연산은 불균일한 대역들을 생성할 수 있는 불균일한 출력을 생성하는 임의의 유형의 논리 또는 함수를 포함할 수 있다. 비선형 연산은 지수, 로그 또는 적어도 2차 다항식 함수와 같은 비선형 함수를 포함할 수 있지만, 이로 한정되지 않는다. 박스 603에서, 박스 601에서 식별된 진폭 범위는 진폭 범위에 비선형 연산을 적용한 결과에 기초하여 불균일한 대역들로 분할될 수 있다. 박스 604에서, 인코딩된 비디오 데이터와 관련된 메타데이터 내에서 불균일한 대역들의 식별자가 시그널링되거나 포함될 수 있어, 대역들이 구별될 수 있게 한다. 일부 예들에서, 식별자는 각각의 대역의 시작 및/또는 끝을 규정할 수 있다. 다른 예들에서, 식별자는 제1 대역의 시작, 및 대역들 각각을 식별하는 데 사용되는 공식 또는 다른 기준들을 식별할 수 있다. 다른 예들에서, 식별자는 상이한 불균일한 대역들을 제출할 수 있는 다른 유형의 식별 정보를 포함할 수 있다.
포커싱된 에지 오프셋 모드
본 명세서에서 논의되는 바와 같이, 기존 에지 오프셋 모드에서, 사전 결정된 샘플의 값을 수평, 수직 또는 대각선 방향의 8개의 이웃 샘플들 중 2개와 비교하여 샘플을 분류한다. 기존 에지 오프셋 모드는 샘플들 각각의 상대적 크기를 고려함이 없이 모든 샘플들을 동일하게 고려한다. 일부 예들에서, 인코더들은 에지 특성들에 더하여 샘플 크기들을 고려할 수 있는데, 이는 에지 오프셋팅으로부터 가장 많은 이익을 얻는 특정 에지들, 객체들 또는 영역들에 대한 포커스를 개선할 수 있다.
특정 에지들, 객체들 또는 영역들에 대한 포커스는 SAO 오프셋 대역들의 시작을 지시하기 위해 대역 오프셋 모드에서 제공되는 sao_band_position 파라미터와 같은 SAO 대역 지시자 파라미터의 시그널링을 제공함으로써 달성될 수 있다. 이러한 대역 지시자 파라미터는 에지 오프셋 모드가 적용되어야 하는 대역(들)을 규정할 수 있다. 다시 말하면, 샘플을 먼저 검사하여, 샘플이 특정 대역에 속하는지 여부를 결정할 수 있다. 이어서, 에지 인덱스 EdgeIdx 기준을 적용하여, 샘플이 먼저 특정 대역에 속하는 것으로 결정된 경우에만 적절한 오프셋들을 결정할 수 있다.
일부 예들에서, 현재의 HEVC 사양에서 규정되는 바와 같은 균일 샘플링 스킴 또는 본 명세서에서 설명되는 것들과 같은 다른 불균일 스킴들에 기초하여, 단일 대역이 특정 대역으로서 식별될 수 있다. 다른 예들에서, 둘 이상의 연속 대역들을 포함한 추가 대역들이 또한 처리될 대역들의 추가 개수를 규정하는 다른 파라미터를 통해 특정 대역들로서 식별될 수 있다. 파라미터들 각각은 SPS, PPS, 슬라이스 헤더를 포함하지만 이로 한정되지 않는 인코딩된 비디오 데이터와 관련된 메타데이터 내에서 또는 SAO 신택스 내에서 시그널링될 수 있다. 이러한 향상된 에지 오프셋 모드는 기존 에지 오프셋 모드를 대체할 수 있거나, 추가적인 유형의 동작 모드로서 제공될 수 있다.
시스템 개요
부가적으로, HEVC가 SAO를 루프 내 처리 메커니즘으로서 적용하는 경우, 본 명세서에 기술되는 실시예들 중 하나 이상은 루프 내 SAO 처리 메커니즘의 일부로서 적용될 수 있거나, 이들은 HEVC와 같은 코덱과 무관한 후처리 메커니즘들로서 적용될 수 있다. 코덱과 무관한 후처리 메커니즘들로서 적용되는 이들 실시예의 경우, SAO 메타데이터는 여전히 보완 향상 정보(Supplemental Enhancement Information, SEI) 메시지, MPEG-2 시스템의 사용자 규정 메타데이터 또는 다른 메커니즘들을 포함하지만 이로 한정되지 않는 캐리어 메커니즘을 이용하여 코덱 내에서 시그널링될 수 있다. 부가적으로, 본 발명의 실시예들은 일부 형태의 SAO에 대해 제공될 수 있는 다른 코덱들 내에 포함될 수 있다. 이러한 다른 코덱들은 HEVC의 미래의 코덱들 또는 확장들, 예를 들어 HEVC의 스케일링 가능 또는 3D/멀티뷰 확장들을 포함할 수 있다.
도 7은 비디오 데이터를 인코딩 및 디코딩하기 위한 컴포넌트들을 포함하는 본 발명의 일 실시예의 코딩 시스템(700)의 간단한 블록도를 도시한다. 시스템(700)은 감산기(712), 변환 유닛(714), 양자화기(716) 및 엔트로피 코딩 유닛(718)을 포함할 수 있다. 감산기(712)는 소스 이미지로부터 입력 모션 보상 블록을 수신하고, 사용되는 예측 모드에 따라 예측 유닛(750)으로부터 예측 모션 보상 블록을 수신할 수 있다. 감산기(712)는 입력 블록으로부터 예측 블록을 감하여, 픽셀 잔차(residual)들의 블록을 생성할 수 있다. 예측이 수행되지 않는 경우, 감산기(712)는 단지 입력 블록을 변경 없이 출력할 수 있다. 변환 유닛(714)은 수신하는 블록을 공간 변환, 전형적으로 이산 코사인 변환(discrete cosine transform, "DCT") 또는 웨이블릿 변환에 따라 변환 계수들의 어레이로 변환할 수 있다. 양자화기(716)는 양자화 파라미터(quantization parameter, "QP")에 따라 각각의 블록의 변환 계수들을 절단할 수 있다. 절단에 사용되는 QP 값들은 채널 내에서 디코더로 전송될 수 있다. 엔트로피 코딩 유닛(718)은 양자화된 계수들을 엔트로피 코딩 알고리즘, 예를 들어 가변 길이 코딩 알고리즘 또는 상황-적응성 이진 산술 코딩(context-adaptive binary arithmetic coding)에 따라 코딩할 수 있다. 위에서 논의된 메시지, 플래그 및/또는 다른 정보를 포함하는 추가 메타데이터가 코딩된 데이터에 추가되거나 그 안에 포함될 수 있으며, 이는 시스템(700)에 의해 출력될 수 있다.
시스템(700)은 또한 역양자화 유닛(722), 역변환 유닛(724), 가산기(726), 필터 시스템(730), 버퍼(740) 및 예측 유닛(750)을 포함할 수 있다. 역양자화 유닛(722)은 코딩된 비디오 데이터를 양자화기(716)에 의해 사용된 QP에 따라 양자화할 수 있다. 역변환 유닛(724)은 재양자화된 계수들을 픽셀 도메인으로 변환할 수 있다. 가산기(726)는 역변환 유닛(724)으로부터 출력된 픽셀 잔차들을 예측 유닛(750)으로부터의 예측 모션 데이터와 더할 수 있다. 가산기(726)로부터의 합산된 출력은 필터링 시스템(730)으로 출력될 수 있다.
필터링 시스템(730)은 디블록킹 필터(732), 강도 도출 유닛(734) 및 샘플 적응성 오프셋(SAO) 필터(733)를 포함할 수 있다. 필터링 시스템 내의 필터들은 재구성된 샘플들이 디코더 루프 내의 디코딩된 픽처 버퍼(740) 내로 기입되기 전에 그들에 적용될 수 있다. 디블록킹 필터(732)는 가산기(726)로부터 출력된 비디오 데이터를 강도 도출 유닛(734)에 의해 제공된 강도로 복구하기 위해 디블록킹 필터링을 적용할 수 있다. 강도 도출 유닛(734)은 전술된 기술들 중 임의의 기술을 이용하여 강도 값을 도출할 수 있다. SAO 필터(733)는 본 명세서에서 설명되는 오프셋 특징들 중 적어도 하나를 수행하도록 구성될 수 있으며, 일부 예들에서는 본 명세서에서 설명되는 오프셋 특징들 중 둘 이상의 특징들의 상이한 조합들을 수행할 수 있다. SAO 필터링은 본 명세서에서 정의되는 특정 조건들을 충족시키는 모든 샘플들에 적응적으로 적용될 수 있다. SAO는 인코더에 의해 전송되는 탐색표(look-up table)들 내의 값들에 기초하여 각각의 샘플에 오프셋 값을 조건부로 더함으로써 디코딩된 샘플들을 변경할 수 있다. 예를 들어, 각각의 샘플의 분류를 규정하는 분류자 인덱스(classifier index) 및 샘플들의 오프셋들이 엔트로피 코더(718)에 의해 비트스트림 내에 인코딩될 수 있다. 디코딩 프로세서에서, 분류자 인덱스 및 오프셋들은 대응하는 디코더에 의해 디코딩될 수 있다. 필터링 시스템(730)은 또한 다른 유형의 필터들을 포함할 수 있지만, 이들은 단지 본 발명의 현재 실시예들의 표시를 간소화하기 위해 도 7에 도시되지 않는다.
버퍼(740)는 필터링 시스템(730)에 의해 출력된 바와 같은 복구된 프레임 데이터를 저장할 수 있다. 복구된 프레임 데이터는 후속 수신되는 블록들의 코딩 동안에 기준 프레임들로서의 사용을 위해 저장될 수 있다.
예측 유닛(750)은 모드 결정 유닛(752) 및 모션 추정기(motion estimator)(754)를 포함할 수 있다. 모션 추정기(754)는 코딩되는 소스 이미지와 버퍼(740) 내에 저장된 기준 프레임(들) 사이의 이미지 모션을 추정할 수 있다. 모드 결정 유닛(752)은 예측 모드를 할당하여, 입력 블록을 코딩하고, 입력 블록에 대한 예측 기준으로서 역할할 블록을 버퍼(740)로부터 선택할 수 있다. 예를 들어, 모드 결정 유닛은 사용될 예측 모드(예를 들어, 단방향 예측 P 코딩 또는 양방향 예측 B 코딩)를 선택하고, 그러한 예측 코딩에 사용할 모션 벡터들을 생성할 수 있다. 이와 관련하여, 예측 유닛(750)은 선택된 기준 프레임들의 버퍼링된 블록 데이터를 버퍼(740)로부터 검색할 수 있다.
도 8은 본 발명의 일 실시예에 따른 디코더(800)의 간단한 블록도이다. 디코더(800)는 엔트로피 디코더(818), 역양자화기(816), 역변환 유닛(814), 가산기(812), 강도 도출 유닛(834), 디블록킹 필터(832) 및 SAO 필터(833)를 포함할 수 있다. 디코더(800)는 예측 유닛(850) 및 버퍼(840)를 추가로 포함할 수 있다.
엔트로피 디코더(818)는 채널로부터 (또는 도시되지 않은 채널 버퍼를 통해) 수신된 데이터를 엔트로피 디코딩 알고리즘, 예를 들어 가변 길이 디코딩 알고리즘 또는 상황-적응성 이진 산술 디코딩에 따라 디코딩할 수 있다. 역양자화기(816)는 엔트로피 디코더(818)로부터 수신된 계수 데이터에 양자화 파라미터를 곱할 수 있다. 역변환 유닛(814)은 역양자화기(816)로부터 수신된 역양자화된 계수 데이터를 픽셀 데이터로 변환할 수 있다. 역변환 유닛(814)은 인코더의 변환 유닛에 의해 수행된 변환 동작들(예컨대, DCT 또는 웨이블릿 변환들)의 역을 수행할 수 있다. 가산기(812)는 역변환 유닛(814)에 의해 획득된 픽셀 데이터를 예측 유닛(850)으로부터 획득된 예측 픽셀 데이터와 픽셀별 기준으로 더할 수 있다. 가산기(812)는 복구된 데이터를 출력할 수 있으며, 이로부터 복구 프레임이 구성되어 디스플레이 디바이스(도시되지 않음)에서 렌더링될 수 있다. 프레임 버퍼(840)가 디코딩된 데이터를 축적하고, 이로부터 재구성된 프레임들을 형성할 수 있다. 강도 도출 유닛(834)은 위에서 논의된 기술들 중 임의의 기술을 이용하여 강도 값을 도출할 수 있다. 디블록킹 필터(832)는 채널에 의해 식별된 필터링 파라미터들에 따라 그리고 강도 도출 유닛(834)에 의해 제공된 강도로 복구 프레임 데이터에 대해 디블록킹 필터링 동작들을 수행할 수 있다. SAO 필터(833)는 본 명세서에서 설명되는 오프셋 특징들 중 적어도 하나를 수행하도록 구성될 수 있으며, 일부 예들에서는 본 명세서에서 설명되는 오프셋 특징들 중 둘 이상의 특징들의 상이한 조합을 수행할 수 있다. SAO 필터링은 본 명세서에서 정의되는 특정 조건들을 충족시키는 모든 샘플들에 적응적으로 적용될 수 있다. SAO는 인코더에 의해 전송되는 탐색표들 내의 값들에 기초하여 각각의 샘플에 오프셋 값을 조건부로 더함으로써 디코딩된 샘플들을 변경할 수 있다. 예를 들어, 각각의 샘플의 분류를 규정하는 분류자 인덱스 및 샘플들의 오프셋들이 비트스트림으로부터 판독 및 디코딩될 수 있다.
도 9는 본 발명의 실시예들과 함께 사용하기에 적합한 다중 단말기 시스템(900)을 도시한다. 시스템(900)은 채널(950)을 통해 상호접속된 적어도 2개의 단말기(910, 920)들을 포함할 수 있다. 데이터의 단방향 송신을 위해, 제1 단말기(910)는 채널(950)을 통한 다른 단말기(920)로의 송신을 위해 로컬 위치에서 비디오 데이터를 코딩할 수 있다. 제2 단말기(920)는 채널(950)로부터 다른 단말기의 코딩된 비디오 데이터를 수신하고, 코딩된 데이터를 디코딩하고, 복구된 비디오 데이터를 표시할 수 있다. 단방향 데이터 송신은 미디어 스트리밍 응용 등에서 일반적이다.
도 9는 예를 들어 비디오 회의 동안에 일어날 수 있는 코딩된 비디오의 양방향 송신을 지원하기 위해 제공되는 단말기(930, 940)들의 제2 쌍을 또한 도시한다. 데이터의 양방향 송신을 위해, 각각의 단말기(930, 940)는 채널(950)을 통한 다른 단말기로의 송신을 위해 국지적 위치에서 캡처된 비디오 데이터를 코딩할 수 있다. 각각의 단말기(930, 940)는 또한 다른 단말기에 의해 송신되는 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있고, 복구된 비디오 데이터를 로컬 디스플레이 디바이스에 표시할 수 있다.
도 9에서, 단말기(910 내지 940)들은 서버, 개인용 컴퓨터 및 스마트폰으로서 도시되지만, 본 발명의 원리들은 그렇게 한정되지는 않는다. 본 발명의 실시예들은 랩탑 컴퓨터, 태블릿 컴퓨터, 미디어 플레이어 및/또는 전용 비디오 회의 장비와 관련된 응용을 발견한다. 각각의 단말기(910 내지 940)는 처리 디바이스 및 메모리를 포함할 수 있다. 처리 디바이스는 중앙 처리 유닛, 마이크로프로세서, 또는 메모리에 저장된 명령어들을 실행하도록 구성되는 다른 집적 회로와 같은 디바이스를 포함할 수 있다. 메모리는 RAM, ROM, 하드 드라이브, 플래시 드라이브 및 광 디스크를 포함하지만 이로 한정되지 않는, 명령어들을 저장할 수 있는 임의의 형태의 유형 매체(tangible media)를 포함할 수 있다. 채널(950)은 단말기(910 내지 940)들 사이에서 코딩된 비디오 데이터를 운반하는, 예를 들어 유선 및/또는 무선 통신 네트워크들을 포함한 임의의 개수의 네트워크들을 나타낸다. 통신 네트워크는 회선 교환형(circuit-switched) 및/또는 패킷 교환형(packet-switched) 채널에서 데이터를 교환할 수 있다. 대표적인 네트워크는 원격 통신망(telecommunications network), 근거리 통신망(local area network), 광역 통신망(wide area network) 및/또는 인터넷을 포함한다. 다른 실시예에서, 채널(950)은 저장 디바이스, 예를 들어 전기, 광학 또는 자기 저장 디바이스로서 제공될 수 있다. 본 논의를 위해, 채널(950)의 아키텍처 및 토폴로지는 본 발명의 동작에 중요하지 않다.
상기의 논의는 코덱과 관련하여 본 발명의 실시예들의 동작을 기술하고 있다. 일반적으로, 코덱들은 전자 디바이스로서 제공된다. 그것은 주문형 집적 회로, 필드 프로그래밍가능 게이트 어레이 및/또는 디지털 신호 프로세서와 같은 집적 회로에 내장될 수 있다. 대안적으로, 그것은 개인용 컴퓨터, 노트북 또는 컴퓨터 서버 상에서 실행되는 컴퓨터 프로그램에 내장될 수 있다. 유사하게, 디코더는 주문형 집적 회로, 필드 프로그래밍가능 게이트 어레이 및/또는 디지털 신호 프로세서와 같은 집적 회로에 내장될 수 있거나, 그것은 개인용 컴퓨터, 노트북 컴퓨터 또는 컴퓨터 서버 상에서 실행되는 컴퓨터 프로그램에 내장될 수 있다. 디코더는 일반적으로 게이밍 시스템, DVD 플레이어, 휴대용 미디어 플레이어 등과 같은 소비자 전자 디바이스에 패키징되고, 이는 또한 비디오 게임, 브라우저 기반 미디어 플레이어 등과 같은 소비자 소프트웨어 응용에 패키징될 수 있다. 이러한 컴포넌트들은 필요에 따라 전용 하드웨어 컴포넌트들 및 프로그래밍된 범용 프로세서들에 걸쳐 기능을 분산시키는 하이브리드 시스템들로서 제공될 수 있다.
상기의 설명은 예시 및 설명의 목적을 위해 제공되었다. 이는 망라하는 것이 아니며, 본 발명의 실시예들을 개시된 바로 그 형태들로 한정하지 않는다. 수정들 및 변경들이 위의 교시에 비추어 가능하거나, 본 발명에 따른 실시 중인 실시예들로부터 획득될 수 있다. 본 명세서에서 달리 설명되지 않는 한, 방법들 중 임의의 방법이 임의의 조합으로 실시될 수 있다. 예를 들어, 시그널링하는 방법들 및 분류를 위한 양자화 팩터를 도출하는 방법이 임의의 조합으로 실시될 수 있다.

Claims (7)

  1. 비디오 데이터를 디코딩하는 장치로서, 상기 장치는,
    코딩된 비디오 스트림 내의 픽처 파라미터 세트로부터, 코딩된 루마 데이터에 대한 SAO(sample adaptive offset) 오프셋 부호들 및 오프셋 값들의 도출 및 코딩된 크로미넌스(chrominance) 데이터에 대한 SAO 오프셋 부호들 및 오프셋 값들의 도출에 대한 파라미터들을 추출하는 수단;
    코딩된 루마 데이터에 대한 필드에 규정된 양만큼 디폴트 SAO 오프셋 값을 시프트시킴으로써 제1 SAO 오프셋 값을 도출하는 수단;
    SAO 필터링 동작에서의 오프셋으로 상기 제1 SAO 오프셋 값을 사용해서 상기 코딩된 비디오 스트림으로부터 획득한 재구성된 루마 데이터에 SAO 필터링을 수행하는 수단;
    코딩된 크로미넌스 데이터에 대한 필드에 규정된 양만큼 상기 디폴트 SAO 오프셋 값을 시프트시킴으로써 제2 SAO 오프셋 값을 도출하는 수단;
    상기 SAO 필터링 동작에서의 오프셋으로 상기 제2 SAO 오프셋 값을 사용해서 상기 코딩된 비디오 스트림으로부터 획득한 재구성된 크로미넌스 데이터에 SAO 필터링을 수행하는 수단
    을 포함하고,
    상기 제1 및 제2 SAO 오프셋 값들 중 하나의 도출은,
    saoOffsetVal = offsetSign * saoOffsetAbs << saoShiftOffset에 의해 발생하고,
    offsetSign은 각자의 상기 SAO 오프셋 값에 대해 상기 픽처 파라미터 세트로부터 추출된 오프셋 부호를 나타내고,
    saoOffsetAbs는 상기 디폴트 SAO 오프셋 값을 나타내고,
    "<<"는 비트 시프트 동작을 나타내고,
    saoShiftOffset은 상기 코딩된 루마 데이터 또는 코딩된 크로미넌스 데이터에 대해 각각 상기 픽처 파라미터 세트로부터 추출된 오프셋 값으로부터 도출되고,
    상기 코딩된 루마 데이터에 대해, saoShiftOffset은 상기 픽처 파라미터 세트에서 제공되는 sao_luma_bit_shift 필드로부터 도출되고,
    상기 코딩된 크로미넌스 데이터에 대해, saoShiftOffset은 상기 픽처 파라미터 세트에서 제공되는 sao_chroma_bit_shift 필드로부터 도출되는, 장치.
  2. 제1항에 있어서, 루마에 대해, saoShiftOffset은 상기 픽처 파라미터 세트에서 sao_luma_bit_shift 필드가 제공되지 않는 경우 영(zero)으로 간주되는, 장치.
  3. 제1항에 있어서, 크로미넌스에 대해, saoShiftOffset은 상기 픽처 파라미터 세트에서 sao_chroma_bit_shift 필드가 제공되지 않는 경우 영(zero)으로 간주되는, 장치.
  4. 비디오 데이터를 디코딩하는 장치로서, 상기 장치는,
    코딩된 비디오 스트림 내의 픽처 파라미터 세트로부터, 코딩된 데이터에 대한 SAO(sample adaptive offset) 오프셋 값들의 도출 수단에 대한 오프셋 부호 및 오프셋 값 파라미터들을 추출하는 수단;
    saoOffsetVal = offsetSign * saoOffsetAbs << saoShiftOffset에 의해 SAO 오프셋 값을 도출하고 - offsetSign은 상기 픽처 파라미터 세트로부터 추출된 오프셋 부호이고 각자의 상기 SAO 오프셋 값에 대해 규정된 부호를 나타내고, saoOffsetAbs는 디폴트 SAO 오프셋 값을 나타내고, "<<"는 비트 시프트 동작을 나타내고, saoShiftOffset은 상기 추출된 오프셋 값 파라미터로부터 도출됨 - ,
    SAO 필터링 동작에서의 오프셋으로 상기 SAO 오프셋 값을 사용해서 상기 코딩된 비디오 스트림으로부터 획득한 재구성된 데이터에 SAO 필터링을 수행하는 수단을 포함하고,
    루마 코딩된 데이터에 대해, saoShiftOffset은 상기 픽처 파라미터 세트에서 제공되는 sao_luma_bit_shift 필드로부터 도출되고,
    크로마 코딩된 데이터에 대해, saoShiftOffset은 상기 픽처 파라미터 세트에서 제공되는 sao_chroma_bit_shift 필드로부터 도출되는, 장치.
  5. 제4항에 있어서, 루마 코딩된 데이터에 대해, saoShiftOffset은 상기 픽처 파라미터 세트에서 sao_luma_bit_shift 필드가 제공되지 않는 경우 영(zero)으로 간주되는, 장치.
  6. 제4항에 있어서, 크로마 코딩된 데이터에 대해, saoShiftOffset은 상기 픽처 파라미터 세트에서 sao_chroma_bit_shift 필드가 제공되지 않는 경우 영(zero)으로 간주되는, 장치.
  7. 비디오 데이터를 디코딩하는 장치로서,
    코딩된 비디오 스트림 내의 픽처 파라미터 세트로부터, 코딩된 루마 데이터에 대한 SAO(sample adaptive offset) 오프셋 부호들 및 오프셋 값들의 도출 및 코딩된 크로마 데이터에 대한 SAO 오프셋 값들의 도출에 대한 파라미터들을 추출하는 수단;
    코딩된 루마 데이터에 대한 필드에 규정된 양만큼 디폴트 SAO 오프셋 값을 시프트시킴으로써 제1 SAO 오프셋 값을 도출하는 수단;
    SAO 필터링 동작에서의 오프셋으로 상기 제1 SAO 오프셋 값을 사용해서 상기 코딩된 비디오 스트림으로부터 획득한 재구성된 루마 데이터에 SAO 필터링을 수행하는 수단;
    코딩된 크로마 데이터에 대한 필드에 규정된 양만큼 상기 디폴트 SAO 오프셋 값을 시프트시킴으로써 제2 SAO 오프셋 값을 도출하는 수단; 및
    상기 SAO 필터링 동작에서의 오프셋으로 상기 제2 SAO 오프셋 값을 사용해서 상기 코딩된 비디오 스트림으로부터 획득한 재구성된 크로마 데이터에 SAO 필터링을 수행하는 수단을 포함하고,
    상기 제1 및 제2 SAO 오프셋 값들 중 하나의 도출은,
    saoOffsetVal = offsetSign * saoOffsetAbs << saoShiftOffset에 의해 발생하고,
    offsetSign은 각자의 상기 SAO 오프셋 값에 대해 상기 픽처 파라미터 세트로부터 추출된 오프셋 부호를 나타내고,
    saoOffsetAbs는 상기 디폴트 SAO 오프셋 값을 나타내고,
    "<<"는 비트 시프트 동작을 나타내고,
    saoShiftOffset은 상기 코딩된 루마 데이터 또는 코딩된 크로마 데이터에 대해 각각 상기 픽처 파라미터 세트로부터 추출된 상기 파라미터로부터 도출되고,
    상기 코딩된 루마 데이터에 대해, saoShiftOffset은 상기 픽처 파라미터 세트에서 제공되는 SAO 루마 비트 시프트 필드로부터 도출되고,
    상기 코딩된 크로마 데이터에 대해, saoShiftOffset은 상기 픽처 파라미터 세트에서 제공되는 SAO 크로마 비트 시프트 필드로부터 도출되는, 장치.
KR1020217015603A 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어 KR102356013B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227002405A KR102448449B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201361836931P 2013-06-19 2013-06-19
US61/836,931 2013-06-19
US14/173,676 US9300967B2 (en) 2013-06-19 2014-02-05 Sample adaptive offset control
US14/173,676 2014-02-05
US14/255,609 US10708588B2 (en) 2013-06-19 2014-04-17 Sample adaptive offset control
US14/255,609 2014-04-17
PCT/US2014/036375 WO2014204584A1 (en) 2013-06-19 2014-05-01 Sample adaptive offset control
KR1020207028484A KR102257885B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207028484A Division KR102257885B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227002405A Division KR102448449B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어

Publications (2)

Publication Number Publication Date
KR20210063466A KR20210063466A (ko) 2021-06-01
KR102356013B1 true KR102356013B1 (ko) 2022-02-08

Family

ID=54771485

Family Applications (8)

Application Number Title Priority Date Filing Date
KR1020217015603A KR102356013B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020177017438A KR20170077281A (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020187008995A KR102072855B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020157035731A KR101752401B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020207028484A KR102257885B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020227002405A KR102448449B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020227033212A KR102531052B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020207002686A KR102168600B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어

Family Applications After (7)

Application Number Title Priority Date Filing Date
KR1020177017438A KR20170077281A (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020187008995A KR102072855B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020157035731A KR101752401B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020207028484A KR102257885B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020227002405A KR102448449B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020227033212A KR102531052B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어
KR1020207002686A KR102168600B1 (ko) 2013-06-19 2014-05-01 샘플 적응성 오프셋 제어

Country Status (8)

Country Link
US (3) US10708588B2 (ko)
EP (1) EP3011740A1 (ko)
JP (5) JP2016525298A (ko)
KR (8) KR102356013B1 (ko)
CN (2) CN105706449B (ko)
AU (6) AU2014281169B2 (ko)
HK (1) HK1221364A1 (ko)
WO (1) WO2014204584A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713914B (zh) * 2011-06-30 2021-06-01 三菱电机株式会社 图像编码装置及方法、图像解码装置及方法
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
CA2908323C (en) * 2013-07-15 2021-07-06 Mediatek Inc. Method of sample adaptive offset processing for video coding
US9501864B2 (en) * 2013-12-27 2016-11-22 Intel Corporation Adaptive depth offset compression
KR20200014945A (ko) * 2014-03-14 2020-02-11 브이아이디 스케일, 인크. Rgb 비디오 코딩 향상을 위한 시스템 및 방법
WO2016115981A1 (en) 2015-01-22 2016-07-28 Mediatek Singapore Pte. Ltd. Method of video coding for chroma components
WO2016115736A1 (en) * 2015-01-23 2016-07-28 Mediatek Singapore Pte. Ltd. Additional intra prediction modes using cross-chroma-component prediction
US9445131B1 (en) * 2015-01-23 2016-09-13 Faroudja Enterprises, Inc. De-blocking and de-banding filter with adjustable filter strength for video and image processing
JP6454229B2 (ja) * 2015-06-10 2019-01-16 日本電信電話株式会社 画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
EP3142363A1 (en) * 2015-09-08 2017-03-15 Thomson Licensing Methods and devices for encoding and decoding a sequence of pictures, and corresponding computer program product and computer-readable medium
WO2017208549A1 (ja) * 2016-06-01 2017-12-07 ソニー株式会社 画像処理装置及び画像処理方法
EP3291553A1 (en) * 2016-08-30 2018-03-07 Thomson Licensing Method and apparatus for video coding with sample adaptive offset
US10623737B2 (en) * 2016-10-04 2020-04-14 Qualcomm Incorporated Peak sample adaptive offset
WO2018070723A1 (ko) * 2016-10-11 2018-04-19 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
JP6814029B2 (ja) * 2016-11-22 2021-01-13 日本放送協会 ループフィルタ、符号化装置、復号装置、及びプログラム
KR20180092774A (ko) 2017-02-10 2018-08-20 삼성전자주식회사 샘플 적응적 오프셋 처리를 수행하는 영상 처리 장치 및 영상 처리 방법
KR20220127948A (ko) 2017-03-22 2022-09-20 한양대학교 산학협력단 적응적인 화소 분류 기준에 따른 인루프 필터링 방법
CN107181963B (zh) * 2017-03-31 2019-10-22 武汉斗鱼网络科技有限公司 一种视频压缩方法及装置
US10951888B2 (en) * 2018-06-04 2021-03-16 Contrast, Inc. Compressed high dynamic range video
US11070825B2 (en) * 2019-06-13 2021-07-20 Mediatek Inc. Method and apparatus of encoding or decoding video data with adaptive colour transform
JP7382494B6 (ja) * 2019-09-23 2023-11-29 ベイジン ダージャー インターネット インフォメーション テクノロジー カンパニー リミテッド ビデオ符号化復号化における定量化および逆定量化設計のための方法及び装置
US11743459B2 (en) * 2020-09-29 2023-08-29 Qualcomm Incorporated Filtering process for video coding
JP2024508232A (ja) * 2021-02-01 2024-02-26 ベイジン ダージャー インターネット インフォメーション テクノロジー カンパニー リミテッド クロスコンポーネントサンプリング適応オフセットにおける彩度符号化復号化の強化
KR20230139811A (ko) * 2021-02-22 2023-10-05 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 교차-성분 샘플 적응적 오프셋에서의 코딩 향상
KR20230156790A (ko) * 2021-03-18 2023-11-14 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 교차 컴포넌트 샘플 적응적 오프셋에서의 코딩 향상
US11924415B2 (en) * 2021-05-11 2024-03-05 Tencent America LLC Method and apparatus for boundary handling in video coding
CN113489984A (zh) * 2021-05-25 2021-10-08 杭州博雅鸿图视频技术有限公司 Avs3的样点自适应补偿方法、装置、电子设备及存储介质
WO2024054686A1 (en) * 2022-09-09 2024-03-14 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for adaptive loop filtering

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737032A (en) * 1995-09-05 1998-04-07 Videotek, Inc. Serial digital video processing with concurrent adjustment in RGB and luminance/color difference
US7847833B2 (en) * 2001-02-07 2010-12-07 Verisign, Inc. Digital camera device providing improved methodology for rapidly taking successive pictures
US8254461B2 (en) * 2002-07-24 2012-08-28 Apple Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US8638862B2 (en) 2005-03-18 2014-01-28 Sharp Laboratories Of America, Inc. Methods and systems for upsampling filter design
JP5101522B2 (ja) * 2006-01-13 2012-12-19 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 適応色空間変換を用いた画像符号化
JP4925697B2 (ja) 2006-03-23 2012-05-09 ソニー株式会社 ネットワーク伝送用の映像信号符号化システム及び映像信号符号化方法,信号変換装置
EP1909227B1 (en) * 2006-10-03 2018-06-27 Vestel Elektronik Sanayi ve Ticaret A.S. Method of and apparatus for minimizing ringing artifacts in an input image
US9456111B2 (en) 2010-06-15 2016-09-27 Mediatek Inc. System and method for content adaptive clipping
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
CN102595127B (zh) 2011-01-14 2015-11-25 索尼公司 用于hevc的帧内色度模式信令的码字空间缩减
WO2012128540A2 (ko) * 2011-03-21 2012-09-27 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
EP2882190B1 (en) 2011-04-21 2018-11-14 HFI Innovation Inc. Method and apparatus for improved in-loop filtering
US10484693B2 (en) 2011-06-22 2019-11-19 Texas Instruments Incorporated Method and apparatus for sample adaptive offset parameter estimation for image and video coding
KR101826215B1 (ko) * 2011-06-23 2018-03-22 후아웨이 테크놀러지 컴퍼니 리미티드 오프셋 복호 장치, 오프셋 부호화 장치, 화상 필터 장치 및 데이터 구조
US10070152B2 (en) 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
US9204148B1 (en) * 2011-09-28 2015-12-01 Electronics And Telecommunications Research Institute Method for encoding and decoding images based on constrained offset compensation and loop filter, and apparatus therefor
US9357235B2 (en) * 2011-10-13 2016-05-31 Qualcomm Incorporated Sample adaptive offset merged with adaptive loop filter in video coding
CN103051892B (zh) 2011-10-14 2015-12-09 联发科技股份有限公司 内嵌式回路滤波方法以及内嵌式回路滤波装置
US9756353B2 (en) * 2012-01-09 2017-09-05 Dolby Laboratories Licensing Corporation Hybrid reference picture reconstruction method for single and multiple layered video coding systems
US9955152B2 (en) 2012-02-07 2018-04-24 Sun Patent Trust Image coding method and image decoding method
JP2013236358A (ja) 2012-03-14 2013-11-21 Sharp Corp 画像フィルタ装置、画像復号装置、画像符号化装置、およびデータ構造
EP2838262A4 (en) * 2012-04-16 2016-01-06 Samsung Electronics Co Ltd METHOD FOR MULTIPLE VIEW VIDEO CODING BASED ON A TREE STRUCTURE CODING UNIT AND DEVICE THEREFOR AND METHOD FOR MULTIPLE VIDEO VIDEO DECODING BASED ON A TREE STRUCTURE CODING UNIT AND DEVICE THEREFOR
TWI652935B (zh) * 2012-09-28 2019-03-01 Vid衡器股份有限公司 視訊編碼方法及裝置
US10694214B2 (en) * 2012-12-21 2020-06-23 Qualcomm Incorporated Multi-type parallelized sample adaptive offset in video coding
US9912942B2 (en) * 2012-12-28 2018-03-06 Qualcomm Incorporated High-frequency-pass sample adaptive offset in video coding
GB2509707B (en) * 2013-01-04 2016-03-16 Canon Kk A method, device, computer program, and information storage means for encoding or decoding a video sequence
US9900609B2 (en) * 2013-01-04 2018-02-20 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US10334253B2 (en) 2013-04-08 2019-06-25 Qualcomm Incorporated Sample adaptive offset scaling based on bit-depth
US20140348222A1 (en) * 2013-05-23 2014-11-27 Mediatek Inc. Method of Sample Adaptive Offset Processing for Video Coding and Inter-Layer Scalable Coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, et al., ‘High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Consent)’, (JCTVC-L1003), JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 12th Meeting: Ge*
E. Alshina, et al., ‘AhG 18: On SAO performance at high bit-depth and high bit-rate’, (JCTVC-P0222), JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 16th Meeting: San Jose, US, 9-17 Jan. 2014*
W-S KIM, et al., ‘AhG5: Offset Scaling in SAO for High Bit-depth Video Coding ’, (JCTVC-M0335), JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 13th Meeting: Incheon, KR, 18-26 April 2013*

Also Published As

Publication number Publication date
CN111526367A (zh) 2020-08-11
AU2021204661B2 (en) 2022-11-24
AU2017202576A1 (en) 2017-05-11
EP3011740A1 (en) 2016-04-27
AU2020201584B2 (en) 2021-04-08
CN105706449B (zh) 2020-05-19
US20200288127A1 (en) 2020-09-10
JP2021044811A (ja) 2021-03-18
KR20160009061A (ko) 2016-01-25
KR20200012050A (ko) 2020-02-04
KR20170077281A (ko) 2017-07-05
KR102257885B1 (ko) 2021-05-28
AU2020201584A1 (en) 2020-03-19
KR102168600B1 (ko) 2020-10-21
US10708588B2 (en) 2020-07-07
JP2024073510A (ja) 2024-05-29
KR20220013476A (ko) 2022-02-04
KR20180035945A (ko) 2018-04-06
KR20200118239A (ko) 2020-10-14
CN105706449A (zh) 2016-06-22
AU2018204551A1 (en) 2018-07-12
JP2016525298A (ja) 2016-08-22
KR102072855B1 (ko) 2020-02-03
US11363264B2 (en) 2022-06-14
US20140376608A1 (en) 2014-12-25
AU2014281169A1 (en) 2015-12-10
AU2018204551B2 (en) 2020-03-19
JP2022174102A (ja) 2022-11-22
AU2017202576B2 (en) 2018-03-22
KR101752401B1 (ko) 2017-06-29
AU2021204661A1 (en) 2021-07-29
US20220272336A1 (en) 2022-08-25
KR102531052B1 (ko) 2023-05-10
CN111526367B (zh) 2023-08-04
JP2018078611A (ja) 2018-05-17
WO2014204584A1 (en) 2014-12-24
KR102448449B1 (ko) 2022-09-30
AU2014281169B2 (en) 2017-01-19
AU2023201119A1 (en) 2023-03-30
KR20220136480A (ko) 2022-10-07
KR20210063466A (ko) 2021-06-01
HK1221364A1 (zh) 2017-05-26

Similar Documents

Publication Publication Date Title
US11363264B2 (en) Sample adaptive offset control
US9300967B2 (en) Sample adaptive offset control
EP2834980A2 (en) Sample adaptive filtering with offsets

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right