KR20190006963A - 비디오 데이터에 관련된 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 방법 및 디바이스 - Google Patents

비디오 데이터에 관련된 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR20190006963A
KR20190006963A KR1020187032671A KR20187032671A KR20190006963A KR 20190006963 A KR20190006963 A KR 20190006963A KR 1020187032671 A KR1020187032671 A KR 1020187032671A KR 20187032671 A KR20187032671 A KR 20187032671A KR 20190006963 A KR20190006963 A KR 20190006963A
Authority
KR
South Korea
Prior art keywords
binary
probability
context
value
sequence
Prior art date
Application number
KR1020187032671A
Other languages
English (en)
Other versions
KR102380579B1 (ko
Inventor
세바스띠앙 라세르
피에르 앙드리봉
필리쁘 보르드
Original Assignee
인터디지털 브이씨 홀딩스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터디지털 브이씨 홀딩스 인코포레이티드 filed Critical 인터디지털 브이씨 홀딩스 인코포레이티드
Publication of KR20190006963A publication Critical patent/KR20190006963A/ko
Application granted granted Critical
Publication of KR102380579B1 publication Critical patent/KR102380579B1/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 set of transform coefficients
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Algebra (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

본 발명들은 비디오 데이터에 관련된 신택스 엘리먼트 또는 비디오 데이터에 관한 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 방법 및 디바이스에 관한 것이다. 이 방법은, 이진 심볼들의 시퀀스의 각각의 이진 심볼에 대해: - 이진 심볼에 대해 정의된 컨텍스트 모델로부터 컨텍스트 값을 획득하는 단계 (100) 로서, 상기 컨텍스트 값은 이진 심볼이 이진 값과 동일하도록 하는, 제 1 확률 p 라고 불리는, 확률을 나타내는 비트들을 포함하는, 상기 컨텍스트 값을 획득하는 단계 (100); - 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼에 따라 상기 제 1 확률 p 를 수정함으로써 제 2 확률 p' 을 결정하는 단계 (110); - 상기 제 2 확률 p' 에 기초하여 이진 심볼을 산술 코딩하는 단계 (120); 및, - 상기 컨텍스트 값의 제 1 확률 p 를 업데이트 및 저장하는 단계 (130) 를 포함한다.

Description

비디오 데이터에 관련된 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 방법 및 디바이스
1. 분야
본 발명들은 일반적으로 화상/비디오 인코딩 및 디코딩에 관련된다. 특히, 본 발명들의 기술 분야는 비디오 데이터를 디코딩하기 위해 필요한 신택스 엘리먼트들 또는 비디오 데이터를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩에 관련된다.
2. 배경
본 섹션은 이하에서 설명 및/또는 청구되는 본 발명들의 다양한 양태들에 관련될 수도 있는 다양한 양태들에 대해 독자를 안내하기 위한 것이다. 이 논의는 독자에게 본 발명들의 다양한 양태들의 더 나은 이해를 용이하게 하기 위한 배경 정보를 제공함에 있어서 도움이 될 것으로 믿어진다. 따라서, 이들 진술들은 이러한 면에서 읽혀져야 하고, 종래 기술의 인정으로서 읽혀져서는 아니됨을 이해하여야 한다.
다음에서, 비디오 데이터는, 화상 (또는 비디오) 의 픽셀 값들에 관한 모든 정보, 및 예를 들어 화상 (또는 비디오) 을 시각화 및/또는 디코딩하기 위해 디스플레이 및/또는 다른 디바이스에 의해 사용될 수도 있는 모든 정보를 명시하는 특정 화상/비디오 포맷으로 샘플들의 하나 또는 수개의 어레이들 (픽셀 값들) 을 포함한다. 정지 화상 (또는 비디오의 화상) 은 샘플들의 제 1 어레이의 형태로 적어도 하나의 컴포넌트, 보통 루마 (또는 루미넌스) 컴포넌트를, 그리고, 가능하게는, 샘플들의 적어도 하나의 다른 어레이의 형태로 적어도 하나의 다른 컴포넌트, 보통 컬러 컴포넌트를 포함한다. 또는, 동등하게, 동일한 정보가 또한, 전통적인 3-색 RGB 표현과 같이 컬러 샘플들의 어레이의 셋트에 의해 표현될 수도 있다.
픽셀 값은 C 값들의 벡터에 의해 표현될 수도 있는 비디오 데이터이고, 여기서, C 는 컴포넌트들의 수이다. 벡터의 각 값은 픽셀 값들의 최대 동적 범위를 정의하는 다수의 비트들로 표현된다.
일반적으로 말하면, 블록은 비디오 데이터 또는 비디오 데이터에 관한 신택스 엘리먼트들과 같은 엘리먼트들의 셋트를 의미한다. 예를 들어, 픽셀들의 블록은 화상에 속하는 픽셀들의 셋트이고, 블록의 픽셀 값들은 이 블록에 속하는 픽셀들의 값들을 의미한다.
비디오 코딩 디바이스는 공간적 및 시간적 리던던시 (redundancy) 의 이점을 취함으로써 비디오 데이터를 압축하기를 시도할 수도 있다. 예를 들어, 비디오 인코더는 이웃하는, 이전에 코딩된 블록들에 관해 블록을 코딩함으로써 공간적 리던던시의 이점을 취할 수도 있다. 마찬가지로, 비디오 인코더는 이전에 코딩된 화상의 데이터에 관해 화상 데이터의 블록을 코딩함으로써 시간적 리던던시의 이점을 취할 수도 있다. 특히, 비디오 인코더는 공간적 이웃 (neighbor) 의 데이터로부터 또는 이전에 코딩된 화상의 데이터로부터 비디오 데이터의 현재 블록을 예측할 수도 있다. 비디오 인코더는 그 다음에, 비디오 데이터의 블록에 대한 실제 픽셀 값들과 그 블록에 대한 예측된 픽셀 값들 사이의 차이로서 비디오 데이터의 블록에 대한 잔차 (residual) 를 계산할 수도 있다. 따라서, 블록에 대한 잔차는 픽셀 (또는 공간) 도메인에서 픽셀-바이-픽셀 차이 값들을 포함할 수도 있다.
비디오 인코더는 그 다음에, 주파수 도메인에서 비교적 작은 수의 변환 계수들로 픽셀 값들의 에너지를 압축하기 위해 잔차의 값들에 대해 변환을 적용할 수도 있다. 비디오 인코더는 그 다음에, 그 변환 계수들을 양자화하고, 양자화된 변환 계수들의 2-차원 매트릭스를 양자화된 변환 계수들을 포함하는 1-차원 벡터로 변환하기 위해 양자화된 변환 계수들을 스캔할 수도 있다. 비디오 인코더는 그 다음에, 스캔된 계수들을 엔트로피 인코딩하기 위해 엔트로피 코딩 프로세스를 적용할 수도 있다. 예시적인 엔트로피 코딩 프로세스들은, 예를 들어, 컨텍스트-적응적 가변 길이 코딩 (context-adaptive variable length coding; CAVLC), 컨텍스트-적응적 이진 산술 코딩 (context-adaptive binary arithmetic coding; CABAC), 신택스-기반 컨텍스트-적응적 이진 산술 코딩 (syntax-based context-adaptive binary arithmetic coding; SBAC), 확률 간격 파티셔닝 엔트로피 (probability interval partitioning entropy; PIPE) 코딩 또는 다른 엔트로피 인코딩 방법들을 포함할 수도 있다.
비디오 디코더는 비디오 인코더에 의해 수행된 인코딩 기법들에 대해 일반적으로 상호적 (reciprocal) 기법들을 수행할 수도 있다. 비록 일반적으로 상호적이지만, 비디오 디코더는, 일부 경우들에서, 비디오 인코더에 의해 수행되는 것들과 유사한 기법들을 수행할 수도 있다.
비디오 인코더는 또한, 비디오 데이터를 디코딩함에 있어서 비디오 디코더에 의한 사용을 위해 인코딩된 비디오 데이터와 연관된 신택스 엘리먼트들 (syntax elements) 을 엔트로피 인코딩할 수도 있다. 비디오 디코더는 그러면, 비디오 인코더에 관해 기술된 데이터를 포함하는 수신된 비트스트림에서 포함된 신택스 엘리먼트들 또는 다른 데이터에 의존할 수도 있다.
신택스 엘리먼트들의 일부 예들에 따르면, 비디오 데이터의 블록에서 중요한 계수들 (즉, 비제로 (nonzero) 변환 계수들) 의 포지션들은 변환 계수들의 값들 이전에 인코딩될 수도 있고, 이는 변환 계수들의 "레벨들 (levels)" 로서 지칭될 수도 있다. 중요한 계수들의 로케이션들을 코딩하는 프로세스는 중요도 맵 코딩으로서 지칭될 수도 있다. 중요도 맵 (significance map; SM) 은 중요한 계수들의 로케이션들을 나타내는 이진 값들의 2 차원적 어레이를 포함한다.
예를 들어, 비디오 데이터의 블록에 대한 SM 은 1 들 및 0 들의 2-차원적 어레이를 포함할 수도 있고, 여기서, 1 들은 블록 내의 중요한 변환 계수들의 포지션들을 나타내고, 0 들은 블록 내의 비-중요한 (제로 값의) 변환 계수들의 포지션들을 나타낸다. 1 들 및 0 들은 "중요 계수 플래그들 (significant coefficient flags)" 로서 지칭된다.
추가적으로, 일부 예들에서, SM 은 1 들 및 0 들의 또 다른 2-D 어레이를 포함할 수도 있고, 여기서, 1 은 블록과 연관된 스캐닝 순서에 따라 블록 내의 마지막 중요 계수의 포지션을 나타내고, 0 들은 블록 내의 모든 다른 계수들의 포지션들을 나타낸다. 이 경우에, 1 들 및 0 들은 "최종 중요 계수 플래그들 (last significant coefficient flags)" 로서 지칭된다.
다른 예들에서, 이러한 최종 중요 계수 플래그들이 사용되지 않는다. 그보다는, 블록에서의 최종 중요 계수는 SM 의 나머지를 전송하기 전에 먼저 코딩될 수도 있다. 임의의 경우에, 비디오 데이터의 블록에 대한 SM 코딩은 블록을 코딩하기 위해 사용된 비디오 비트레이트의 상당한 퍼센티지를 소모할 수도 있다.
SM 이 코딩된 후에, 비디오 코더는 각각의 변환 계수의 레벨을 엔트로피 코딩할 수도 있다. 예를 들어, 비디오 코더는 각각의 비-제로 변환 계수의 절대 값을 이진수 형태로 변환할 수도 있다. 이렇게 하여, 각각의 비-제로 변환 계수는 예컨대 하나 이상의 비트들 또는 "빈들 (bins)" 을 포함하는 단일 코드를 이용하여 "이진화" 될 수도 있다. 변환된 계수의 부호를 위한 비트가 또한 인코딩될 수도 있다.
또한, 비디오 디코더로 하여금 비디오 데이터를 디코딩하도록 허용하기 위해 다수의 이진화된 신택스 엘리먼트들이 포함될 수도 있다. 예를 들어, 이진화된 신택스 엘리먼트는 모션 벡터 잔차들, 변환 유닛 코딩 플래그들, 코딩 그룹 코딩 플래그들, 변환된 계수 중요 플래그들, 변환된 계수 크기 (1 보다 더 큰 및 2 보다 더 큰) 플래그들, SAO 데이터 등을 나타낼 수도 있다.
비디오 코더는, 각각의 이진 심볼에 대해 확률 추정치들을 이용하여, 블록에 대해 변환 계수들 또는 신택스 엘리먼트 (정보) 에 대응하든지 간에, 비디오 데이터의 블록에 대해 각각의 이진 심볼 (또는 빈) 을 엔트로피 코딩할 수도 있다. 확률 추정치들은 주어진 이진 값 (예컨대, "0" 또는 "1") 을 갖는 이진 심볼의 우도 (likelihood) 를 나타낼 수도 있다. 확률 추정치들은 "컨텍스트 모델 (context model)" 로서도 지칭되는, 확률 모델 (probability model) 내에 포함될 수도 있다. 그 다음에, 비디오 코더는 코딩될 이진 심볼에 대한 컨텍스트를 결정하고, 결정된 컨텍스트로부터 확률 모델을 선택할 수도 있다.
컨텍스트는, 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 이진 심볼에 대해, 이전에 코딩된 이웃하는 신택스 엘리먼트들의 관련된 이진 심볼들의 값들을 포함할 수도 있다.
하나의 예로서, 블록의 각각의 중요 계수 플래그에 대한 컨텍스트는 블록의 타입 (예컨대, 블록 사이즈, 루마 또는 크로마 엘리먼트들의 블록), 및 블록과 연관된 스캐닝 순서에 따라 블록 내의 각각의 플래그에 대응하는 계수의 포지션을 포함한다.
다른 예로서, 블록에 대한 이진화된 잔차 변환 계수 절대 값의 이진 심볼에 대한 컨텍스트는 그 절대 값, 및 블록의 이전에 코딩된 계수들의 값들을 나타내는 단일 코드워드 내의 이진 심볼의 포지션을 포함한다.
다른 예들에서, 코딩된 블록 패턴 (coded block pattern) ("CBP") 을 나타내는 이진 심볼들의 시퀀스의 이진 심볼에 대한 컨텍스트는, 예컨대, 현재 신택스 엘리먼트의 상부에 또는 좌측에, 이전에 코딩된 이웃하는 신택스 엘리먼트들의 관련 이진 심볼들의 값들을 포함한다.
본 발명들은 상기 예들에 한정되지 않고, 예를 들어, H264 또는 H265 표준들에서 정의된 바와 같은, 임의의 신택스 엘리먼트들 및 컨텍스트들로 확장된다.
임의의 경우에, 각각의 컨텍스트에 대해 상이한 확률 모델이 정의된다.
이진 심볼을 엔트로피 코딩한 후에, 확률 모델은 최대 현재 확률 추정치들을 반영하기 위해 코딩된 이진 심볼의 값에 따라 업데이트된다.
비디오 데이터의 블록 (또는 신택스 엘리먼트들) 과 연관된 이진 심볼들은 하나 이상의 코딩 "패스들 (passes)" 에서 코딩될 수도 있다. 예를 들어, 제 1 패스 동안, 비디오 코더는 SM 을 엔트로피 코딩할 수도 있다. 제 2 패스 동안, 비디오 코더는 변환 계수 레벨들의 제 1 빈을 엔트로피 코딩할 수도 있다. 비디오 코더는 블록의 변환 계수들과 연관된 정보의 전부가 코딩될 때까지 코딩 패스들을 수행하는 것을 계속할 수도 있다.
일부 예들에서, 비디오 코더는 컨텍스트 적응적 및 비-컨텍스트 적응적 코딩의 조합을 이용하여 비디오 데이터의 블록 (또는 신택스 엘리먼트들) 의 빈들을 코딩할 수도 있다. 예를 들어, 하나 이상의 패스들에 대해, 비디오 코더는 정규 산술 코딩 프로세스를 바이패스 또는 생략하기 위해 바이패스 모드를 이용할 수도 있다. 이러한 경우들에서, 바이패스 코딩된 빈을 코딩하기 위해 정해진 동일한 확률 모델이 이용될 수도 있다. 바이패스 코딩된 빈들은 컨텍스트 또는 확률 업데이트들을 포함하지 않는다.
컨텍스트 적응적 코딩을 수행할 때, 일부 예들에서, 다수의 피드백 루프들로 인해 비교적 높은 직렬 종속성들이 존재할 수도 있다.
예를 들어, 이진 심볼을 코딩하기 위한 특별한 확률 모델을 나타내는 컨텍스트는 이전에 코딩된 이진 심볼들, 예컨대, 이전에 코딩된 신택스 엘리먼트들의 관련된 이진 심볼들의 값들에 의해 영향을 받을 수도 있다.
또한, 이진 심볼들을 코딩하기 위해 사용된 확률 모델들은 또한 이전에 코딩된 이진 심볼들의 값들에 의해 영향받을 수도 있다. 즉, 확률 모델들은 유한 상태 머신에서의 상태로서 유지될 수도 있다. 각각의 특정 상태는 특정 확률 값에 대응할 수도 있다. 확률 모델의 업데이트에 대응하는 다음 상태는 현재의 이진 심볼들의 값 (예컨대, 현재 코딩되고 있는 빈) 에 의존할 수도 있다.
또한, 상기 언급된 바와 같이, 특정 확률 모델은 특정 확률 값에 대응하는 각각의 특정 상태로 유한 상태 머신에서의 상태로서 유지될 수도 있다. 확률 모델의 업데이트에 대응하는 다음 상태는 현재의 이진 심볼의 값에 의존할 수도 있다. 상태 업데이트들로서 지칭될 수도 있는 이러한 피드백 루프들은 계산적 병목현상을 나타낼 수도 있다. 예를 들어, 피드백 루프들에서의 의존성들로 인해 스루풋 (throughput) 을 증가시키기 어려울 수도 있다. 즉, 하나의 이진 심볼은 이전 이진 심볼로부터의 확률 모델이 업데이트될 때까지 프로세싱되지 않을 수도 있다. 일부 예들에서, 동일한 컨텍스트가 높은 빈도로 계속적으로 (이진 심볼 단위로) 호출될 수도 있다.
컨텍스트-적응적 이진 산술 코딩 (CABAC) 은 H.264/MPEG-4 AVC ("Advanced video coding for generic audiovisual Services", SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Recommendation ITU-T H.264, Telecommunication Standardization Sector of ITU, February 2014) 및 High Efficiency Video Coding (HEVC) 표준들 (("High Efficiency Video Coding", SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Recommendation ITU-T H.265, Telecommunication Standardization Sector of ITU, April 2013) 에서 사용되는 엔트로피 인코딩의 형태이다.
CABAC 는, 비록 그것이 사용되는 비디오 코딩 표준들은 통상적으로 손실 압축 애플리케이션들을 위한 것이지만, 무손실 압축 기법이다.
도 1 은 CABAC 에서 신택스 엘리먼트를 인코딩하기 위한 일반적 블록도를 나타낸다.
기본적으로, CABAC 는 3 개의 기본 단계들을 포함한다.
제 1 단계에서, 이진화기 (binarizer) 는 주어진 비-이진 값의 신택스 엘리먼트를 이진 심볼들 (빈) 의 시퀀스에 맵핑한다. 이진 값의 신택스 엘리먼트가 주어지는 경우에, 도 1 에서 도시된 바와 같이, 이 초기 단계는 바이패스된다.
이진 심볼들의 시퀀스의 각각의 빈에 대해 또는 각각의 이진 값의 신택스 엘리먼트에 대해, 하나 이상의 후속하는 단계들이 코딩 모드에 의존하여 이어질 수도 있다.
소위 정규 코딩 모드에서, 컨텍스트 선택 스테이지에서, 컨텍스트 값은 이전에 인코딩된 신택스 엘리먼트들 또는 코딩된 이진 심볼들에 의존하여 결정된다. 그 다음에, 컨텍스트 값 및 이진 심볼 s 의 값은 정규 코딩 엔진에 패스되고, 여기서, 후속하는 컨텍스트 업데이트와 함께 산술 인코딩의 최종 스테이지가 컨텍스트 값의 확률 p 에 기초하여 발생한다 (도 1 참조).
대안적으로, 도 1 에서 스위치의 하위 우측 분기에 의해 나타낸 바와 같이, 명시적으로 할당된 확률 모델의 사용 없이 단순화된 코딩 엔진에 의해 전체 인코딩 (및 디코딩) 프로세스의 고속화를 허용하기 위해 이진 심볼들에 대해 소위 바이패스 코딩 모드가 선택된다.
도 2 는 이진 심볼들의 시퀀스가 비디오 데이터의 블록에 관한 중요도 맵을 나타내는 경우에 컨텍스트 선택 스테이지의 일 예를 나타낸다.
이것은 본 발명들이 신택스 엘리먼트를 나타내는 이진 심볼들의 임의의 시퀀스에 적용되기 때문에 비-제한적 예이다.
실례로, HEVC (또한 소위 H265) 에서, 모든 컨텍스트/신택스 엘리먼트 중에서,
Figure pct00001
컬러 채널 (루마 또는 크로마);
Figure pct00002
TU 사이즈;
Figure pct00003
변환된 계수의 포지션;
Figure pct00004
이웃하는 심볼 값들
이 존재한다.
도 2 의 예에서, 중요도 맵의 블록을 나타내는 이진 심볼들의 블록이 표현된다. 이 블록은 특정 스캐닝 순서에 따라 스캔된다. 예를 들어, 점선들에 의해 예시된 스캐닝 순서는 블록의 하부-우측 코너로부터 시작하여 상부-좌측 코너로이다. 이진 심볼 s 가 코딩될 것으로 가정하면, 상기 스캐닝 순서에 따라 이진 심볼 s 에 대해 수개의 컨텍스트들 Ci 가 정의되고, 각 컨텍스트 Ci 는 컨텍스트 값 ContVali 와 연관된다.
예를 들어, 4 개의 컨텍스트들 Ci 가 2 개의 이전에 코딩된 신택스 엘리먼트들 x1 및 x2 (중요도 플래그들) 로부터 이진 심볼들 s 에 대해 정의된다. 각각의 컨텍스트 Ci 는 x1 및 x2 의 이진 값들에 따라 정의되고, 특정 컨텍스트 값 ContVali 가 컨텍스트의 각각에 할당된다.
도 3 에서 예시된 예로서, 컨텍스트 값은, 확률 p 가 추론되는 확률 p' (또는 상태) 을 나타내는 비트들 (예컨대, 7 비트) pStatIdx 및 이진 심볼 s 의 특정 이진 값, 소위 최대 확률 심볼들 (Most Probable Symbols; MPS) 을 나타내는 비트 valMPS 를 포함한다.
x1 및 x2 의 값들에 따르면, 컨텍스트 Cs 는 4 개의 컨텍스트들로부터 선택되고, 연관된 컨텍스트 값 ContVals 은 이진 심볼 s 에 할당된다.
컨텍스트 업데이트 스테이지에서, 컨텍스트 값 ContVals 의 업데이트는 이진 심볼 s 가 MPS 와 동일한지 또는 동일하지 않은지 여부에 의존하여 도 4 에서 예시된 프로세스에 이어서 이루어진다.
2 개의 테이블들 transIdxMPS (이진 심볼 s 가 MPS 인 경우) 및 transIdxLPS (이진 심볼 s 가 MPS 가 아닌 경우, 즉, 그것이 최소 확률 심볼 (Least Probable Symbol; LPS) 인 경우) 을 통해 진화가 이루어진다. 이들 테이블들은 엔트리 pStateIdx 에 대해 도 5 에서 제공된다.
이 예에 이어서, MPS 일 이진 심볼 s 의 확률 pMPS 이 8 비트들로, 0 에서부터 127 까지 선형적으로 양자화된다. 그것은
pMPS = (p'+64)/127 = (pStateIdx+64)/127
에 의해 선택된 컨텍스트 값으로부터 추론되고, 1 이 될 심볼 s 의 확률 p 는 MPS 의 값에 의존하여 분명히 pMPS 로부터 추론된다.
p = pMPS if MPS=1,
p = 1-pMPS if MPS =0.
컨텍스트-적응적 코딩은, 인코딩된 비디오 데이터에 관한 상이한 신택스 엘리먼트들의 통계들을 동적으로 따르도록 허용하는 강력한 도구이다.
따라서, 비디오 데이터 및/또는 비디오 데이터에 관한 신택스 엘리먼트들을 엔트로피 코딩하기 위해 CABAC 를 이용하는 것은 그들의 통계들을 모델링하기 위해 HEVC/H265 에서 많은 (수백개까지) 컨텍스트들의 확장적 사용을 초래하였다.
컨텍스트를 선택하는 것은 많은 것들에 의존하고, 따라서, 신택스 엘리먼트 (또는 비디오 데이터) 의 통계들을 캡처하고 CABAC 의 성능을 최적화하기 위해 방대한 수의 컨텍스트들을 이용하는 것이 보통이다. 하지만, 컨텍스트들에 연관된 컨텍스트 값들은 이진 심볼들의 하나 이상의 시퀀스들의 모든 이진 심볼들을 인코딩하기 위해 메모리에 저장될 것이기 때문에, 컨텍스트들의 수를 증가시키는 것은 메모리 및 프로세싱 복잡도의 면에서 요건을 증가시킨다. 그것은 신택스 엘리먼트들을 인코딩하기 위해 CABAC 를 구현하는 비디오 디코더의 효율적인 하드웨어 구현성을 보장하기 위해 컨텍스트들의 수를 제한하는 결정적인 이유이다.
따라서 도전 중 하나는 컨텍스트들의 수를 너무 많이 증가시키지 않고 CABAC 에 의해 제공되는 증가된 압축 능력으로부터 혜택받는 것이다.
3. 요약
다음은 본 발명들의 일부 양태들의 기본적인 이해를 제공하기 위해 본 발명들의 간단한 요약을 제공한다. 이 요약은 본 발명들의 확장적 개관이 아니다. 그것은 본 발명들의 핵심적 또는 중요한 엘리먼트들을 식별하기 위한 것이 아니다. 다음의 요약은 단지 이하에서 제공되는 보다 상세한 설명에 대한 서두로서 단순화된 형태로 본 발명들의 일부 양태들을 제공한다.
본 발명들은, 비디오 데이터에 관련된 신택스 엘리먼트 또는 비디오 데이터에 관한 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 방법으로 종래 기술의 단점들의 적어도 하나를 치유하기 위해 전개되고, 이 방법은, 이진 심볼들의 시퀀스의 각각의 이진 심볼에 대해:
- 그 이진 심볼에 대해 정의된 컨텍스트 모델로부터 컨텍스트 값을 획득하는 단계로서, 상기 컨텍스트 값은 이진 심볼이 이진 값과 동일하도록 하는, 제 1 확률 p 라고 불리는, 확률을 나타내는 비트들을 포함하는, 상기 컨텍스트 값을 획득하는 단계;
- 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼에 따라 상기 제 1 확률 p 를 수정함으로써 제 2 확률 p' 을 결정하는 단계;
- 상기 제 2 확률 p' 에 기초하여 이진 심볼을 산술 코딩하는 단계; 및
- 코딩된 이진 심볼에 따라 상기 컨텍스트 값의 제 1 확률 p 를 업데이트 및 저장하는 단계를 포함한다.
그들 양태들의 다른 것에 따르면, 본 발명들은, 비디오 데이터에 관련된 신택스 엘리먼트 또는 비디오 데이터에 관한 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 디바이스에 관한 것이고, 이 디바이스는, 이진 심볼들의 시퀀스의 각각의 이진 심볼에 대해:
- 이진 심볼에 대해 정의된 컨텍스트 모델로부터 컨텍스트 값을 획득하는 것으로서, 상기 컨텍스트 값은 이진 심볼이 이진 값과 동일하도록 하는, 제 1 확률 p 라고 불리는, 확률을 나타내는 비트들을 포함하는, 상기 컨텍스트 값을 획득하는 것을 행하고;
- 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼에 따라 상기 제 1 확률 p 를 수정함으로써 제 2 확률 p' 을 결정하며;
- 제 2 확률 p' 에 기초하여 이진 심볼을 산술 코딩하고; 그리고
- 코딩된 이진 심볼에 따라 상기 컨텍스트 값의 제 1 확률 p 를 업데이트하도록
구성된, 프로세서를 포함한다.
상기 방법 또는 디바이스의 일 실시형태에 따르면, 컨텍스트 값은, 이진 심볼의 최대 확률 이진 값을 나타내는 비트를 더 포함하고, 그 비트들은 이진 심볼이 상기 최대 확률 이진 값과 동일하도록 하는 제 1 확률 p 를 나타낸다.
상기 방법 또는 디바이스의 일 실시형태에 따르면, 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼에 따라 제 1 확률 p 를 수정함으로써 제 2 확률 p' 을 결정하는 것은,
- 이진 심볼들의 시퀀스의 상기 적어도 하나의 이전에 코딩된 이진 심볼의 가중된 값으로부터 확률 조정 값을 획득하는 것;
- 상기 확률 조정 값을 제 1 확률 p 에 가산함으로써 제 2 확률 p' 을 결정하는 것을 포함한다.
상기 방법 또는 디바이스의 일 실시형태에 따르면, 확률 조정 값은,
Figure pct00005
에 의해, 이진 심볼들의 시퀀스의 상기 적어도 하나의 이전에 코딩된 이진 심볼의 가중된 값으로부터 획득되고, 여기서, Δ0 는 상수 값이고, wj 는 이진 심볼들의 시퀀스의 상기 적어도 하나의 이전에 코딩된 이진 심볼과 연관된 가중 값이며, fj 는 이진 심볼들의 시퀀스의 상기 적어도 하나의 이전에 코딩된 이진 심볼의 값이다.
상기 방법 또는 디바이스의 일 실시형태에 따르면, 확률 조정 값은, 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼의 값들에 따라 각각 정의된, 잠재적 (potential) 값들의 셋트로부터 선택된다.
그들 양태들의 또 다른 것에 따르면, 본 발명들은 상기 비디오 데이터를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 상기 방법 중 하나의 단계들을 포함하는, 비디오 데이터를 인코딩 또는 디코딩하기 위한 방법에 관한 것이다.
그들 양태들의 또 다른 것에 따르면, 본 발명들은 비디오 데이터 또는 신택스 엘리먼트를 인코딩 또는 디코딩하기 위한 디바이스에 관한 것이고, 이 디바이스는,
- 이진 심볼에 대해 정의된 컨텍스트 모델로부터 컨텍스트 값을 획득하는 것으로서, 상기 컨텍스트 값은 이진 심볼이 이진 값과 동일하도록 하는, 제 1 확률 p 라고 불리는, 확률을 나타내는 비트들을 포함하는, 상기 컨텍스트 값을 획득하는 것;
- 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼에 따라 상기 제 1 확률 p 를 수정함으로써 제 2 확률 p' 을 결정하는 것;
- 상기 제 2 확률 p' 에 기초하여 이진 심볼을 산술 코딩하는 것; 및
- 코딩된 이진 심볼에 따라 상기 컨텍스트 값의 제 1 확률 p 를 업데이트하는 것
에 의해, 상기 비디오 데이터를 나타내는 이진 심볼들의 시퀀스를 컨텍스트-적응적 이진 산술 코딩하도록 구성된 프로세서를 포함한다.
상기 방법 또는 디바이스의 일 실시형태에 따르면, 이진 심볼들의 시퀀스의 이전에 코딩된 이진 심볼과 연관된 가중 값은, 코딩될 이진 심볼들의 시퀀스의 현재의 이진 심볼로부터의 유클리디안 거리 (Euclidean distance) 에 의존한다.
그들 양태들의 다른 것에 따르면, 본 발명들은, 이 프로그램이 컴퓨터 상에서 실행될 때, 상기 방법의 단계들을 실행하기 위한 프로그램 코드 명령들을 포함하는 컴퓨터 프로그램 제품, 및 프로그램이 컴퓨팅 디바이스 상에서 실행될 때, 상기 방법의 단계들을 실행하기 위한 프로그램 코드의 명령들을 운반하는 비-일시적 (non-transitory) 저장 매체에 관한 것이다.
본 발명들의 구체적인 성질 및 본 발명들의 다른 목적들, 이점들, 특징들 및 이용들은 첨부 도면들과 함께 취해진 예들의 이하의 설명으로부터 분명해질 것이다.
4. 도면들의 간단한 설명
도면들에서, 본 발명들의 예들이 도시된다.
- 도 1 은 CABAC 를 이용하여 신택스 엘리먼트를 인코딩하기 위한 일반적 블록도를 나타낸다.
- 도 2 는 이진 심볼들의 시퀀스가 비디오 데이터의 블록에 관한 중요도 맵을 나타낼 때 컨택스트 선택 스테이지의 일 예를 나타낸다.
- 도 3 은 컨텍스트 값의 일 예를 나타낸다.
- 도 4 는 컨텍스트 값을 업데이트하기 위한 일반적 블록도를 나타낸다.
- 도 5 는 컨텍스트 값 업데이트를 위해 보통 사용되는 잘 알려진 테이블들을 나타낸다.
- 도 6 은 본 발명들의 일 예에 따른, 이진 심볼들의 시퀀스의 이진 심볼 s 를 컨텍스트-적응적 이진 산술 코딩하기 위한 방법을 나타낸다.
- 도 7 은, 이진 심볼 s 가, 예를 들어, 비디오 데이터의 블록에 관한 중요도 맵의 중요도 플래그를 나타낼 때, 도 6 의 방법의 일 실시형태의 일 예를 나타낸다.
- 도 8 은, 이진 심볼이 소위 "1 보다 큰" 플래그를 나타낼 때, 본 발명들의 일 예에 따른, 이진 심볼 s 를 컨텍스트-적응적 이진 산술 코딩하기 위한 방법의 일 예를 나타낸다.
- 도 9 는, 본 발명들에 따른, 픽셀들의 블록을 인코딩하기 위한 방법의 블록도를 나타낸다.
- 도 10 은, 본 발명들에 따른, 픽셀들의 블록을 디코딩하기 위한 방법의 블록도를 나타낸다.
- 도 11 은, 본 발명들의 일 예에 따른, 디바이스의 아키텍처의 일 예를 나타낸다.
- 도 12 는, 본 발명들의 일 예에 따른, 통신 네트워크를 통해 통신하는 2 개의 원격 디바이스들을 나타낸다.
유사 또는 동일한 엘리먼트들은 동일한 참조 부호들로 참조된다.
6. 본 발명들의 예의 설명
본 발명들은, 본 발명들의 예들이 도시되는 첨부 도면들을 참조하여 이하에서 보다 충분히 설명될 것이다. 하지만, 본 발명들은 많은 대안적인 형태들로 구현될 수도 있고, 본 명세서에서 전개되는 예들에 제한되는 것으로서 해석되어서는 아니된다. 따라서, 본 발명들은 다양한 변형들 및 대안적인 형태들에 대해 민감하지만, 그것의 특정 예들이 도면들에서 예들의 방식으로 도시되고, 본 명세서에서 자세히 설명될 것이다. 하지만, 본 발명들을 개시된 특정 형태들로 제한하려는 의도는 없으며, 반대로, 본 개시물은 청구항들에 의해 정의되는 바와 같이 본 발명들의 사상 및 범위 내에 속하는 모든 변형들, 균등물들, 및 대안들을 커버하는 것임을 이해하여야 한다.
본 명세서에서 사용된 용어는 오직 특정 예들을 설명할 목적을 위한 것이고, 본 발명들을 제한하는 것으로서 의도되지 아니한다. 본 명세서에서 사용된 바와 같이, "a", "an" 및 "the" 와 같은 단수 형태들은 문맥상 명확하게 달리 나타내지 않는 한 복수 형태들 역시 포함하는 것으로 의도된다. 용어들 "구비하다", "구비하는", "포함하다" 및/또는 "포함하는" 은, 이 명세서에서 사용될 때, 진술된 피처들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 명시하고, 하나 이상의 다른 피처들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 그것의 그룹들의 존재 또는 추가를 배제하지 않음을 추가로 이해할 것이다. 더욱이, 엘리먼트가 다른 엘리먼트에 대해 "응답하는" 또는 "접속되는" 것으로서 언급될 때, 그것은 그 다른 엘리먼트에 직접 응답 또는 접속될 수 있거나, 개재하는 엘리먼트들이 존재할 수도 있다. 반면에, 엘리먼트가 다른 엘리먼트에 대해 "직접적으로 응답하는" 또는 "직접적으로 접속되는" 것으로서 언급될 때에는, 개재하는 엘리먼트들이 존재하지 않는다. 본 명세서에서 사용된 바와 같이 용어 "및/또는" 은 연관된 열거된 항목들 중 하나 이상의 항목들의 임의의 및 모든 조합들을 포함하고, "/" 로서 약기될 수도 있다.
비록 용어들 제 1, 제 2 등이 다양한 엘리먼트들을 기술하기 위해 본 명세서에서 사용될 수도 있지만, 이들 엘리먼트들은 이들 용어들에 의해 제한되지 않아야 함을 이해할 것이다. 이들 용어들은 오직 하나의 엘리먼트를 다른 것으로부터 구별하기 위해 사용된다. 예를 들어, 본 발명들의 교시들로부터 벗어남이 없이, 제 1 엘리먼트는 제 2 엘리먼트로서 칭해질 수 있을 것이고, 유사하게, 제 2 엘리먼트는 제 1 엘리먼트로 칭해질 수 있을 것이다.
비록 도면들의 일부는 통신의 주 방향을 나타내기 위해 통신 경로들 상에 화살표들을 포함하지만, 통신은 도시된 화살표들의 반대 방향으로 일어날 수도 있음을 이해하여야 한다.
일부 예들은 블록도들 및 동작 플로우차트들과 관련하여 설명되고, 이 블록도들 및 동작 플로우차트들에서 각 블록은 명시된 논리적 기능(들)을 구현하기 위한 하나 이상의 실행가능한 명령들을 포함하는 코드의 부분, 회로 엘리먼트, 또는 모듈을 포함한다. 다른 구현들에서, 블록들에서 언급된 기능(들)은 언급된 순서 외에도 발생할 수도 있음에 또한 유의하여야 한다. 예를 들어, 연속적으로 도시된 2 개의 블록들은, 사실, 실질적으로 동시에 실행될 수도 있고, 또는, 그 블록들은 때로는 수반되는 기능성에 따라 역의 순서로 실행될 수도 있다.
"일 예에 따라서" 또는 "일 예에서" 에 대한 본 명세서에서의 언급은, 그 예와 관련하여 설명되는 특정 피처 (feature), 구조, 또는 특성이 본 발명들의 적어도 하나의 구현에서 포함될 수 있음을 의미한다. 본 명세서에서의 여러 곳에서 "일 예에 따라서" 또는 "일 예에서" 라는 문구의 출현들은 모두 반드시 동일한 예를 지칭하는 것도 아니고, 반드시 다른 예들의 상호 배타적인 별개의 또는 대안적인 예들도 아니다.
청구항들에서 나타나는 참조 부호들은 오직 예시적인 방식이고, 청구항들의 범위에 대한 제한 효과를 가지지 않을 것이다.
명시적으로 기술되지는 않지만, 본 예들 및 변형들은 임의의 조합 또는 하위-조합에서 채용될 수도 있다.
본 발명들은 화상의 인코딩/디코딩에 대해 설명되지만, 이하에서 설명되는 바와 같이 시퀀스에서의 각 화상은 순차적으로 인코딩/디코딩되기 때문에, 화상들의 시퀀스 (비디오) 의 인코딩/디코딩으로 확장된다.
본 발명들은 CABAC 의 수정된 버전을 개시하고, 이 CABAC 의 수정된 버전에서, 이진 심볼의 단일 컨텍스트가 고려되고, 확률 p' 은, 종래 기술에서와 같이 잠재적 컨텍스트들의 셋트 중에서 컨텍스트를 선택하는 대신에, 상기 단일 컨텍스트에 관한 컨텍스트 값에 포함된 확률 p 를 수정함으로써 획득된다. 다음으로, 컨텍스트 값의 수정된 확률 p' 및 이진 심볼 s 의 값은 산술적 인코딩에 제공되고, 컨텍스트는 확률 p 에 기초하여 업데이트된다.
메모리에 유지하기 위한 컨텍스트 값들의 수는 따라서 종래 기술에 비해 감소된다. 그 다음에, 컨텍스트들의 수는 보통의 CABAC 성능의 심각한 손실 없이 본 발명들에 따라 감소될 수도 있다.
도 6 은 본 발명들의 일 예에 따른, 이진 심볼들의 시퀀스의 이진 심볼 s 를 컨텍스트-적응적 이진 산술 코딩하기 위한 방법을 나타낸다.
단계 100 에서, 컨텍스트 값 ContVal 이 이진 심볼 s 에 대해 정의된 컨텍스트 C 로부터 획득된다.
도 3 과 관련하여 상기 설명된 바와 같이, 상기 컨텍스트 값 ContVal 은 이진 심볼 s 의 최대 확률 이진 값 (MPS) 을 나타내는 비트, 및 상기 최대 확률 이진 값과 동일하도록 하는 이진 심볼에 대한 확률 p 를 나타내는 비트들을 포함할 수도 있다.
일 실시형태에 따르면, 컨텍스트 C 는 도 1 과 관련하여 상기 설명된 바와 같이 잠재적 컨텍스트 Ci 의 셋트로부터 선택된다.
다른 실시형태에 따르면, 단일 컨텍스트 C 가 이진 심볼 s 에 대해 이용가능하다.
단계 110 에서, 확률 p' 은 이전에 코딩된 이미지 데이터를 나타내는 일부 정보 데이터에 따라 확률 p 를 수정함으로써 결정된다.
일 실시형태에 따르면, 정보 데이터는 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼이다.
다른 실시형태에 따르면, 정보 데이터는 이진 심볼들의 연속적인 코딩에 따라 진화하는 유한-상태 머신에 의해 제공된다.
단계 120 에서, 이진 심볼은 확률 p' 에 기초하여 산술 코딩되고, 단계 130 에서, 컨텍스트 값 ContVal 은 코딩된 이진 심볼에 따라, 즉, 도 4 와 관련하여 설명된 바와 같이, 업데이트된다.
단계 110 의 일 실시형태에 따르면, 확률 p' 은 확률 p 를 수정함으로써 결정되고,
- 이진 심볼들의 시퀀스의 상기 적어도 하나의 이전에 코딩된 이진 심볼로부터 확률 조정 값 Δ 를 획득하는 것 (단계 111); 및
- 상기 확률 조정 값을 확률 p 에 가산함으로써 확률 p' 을 결정하는 것 (단계 112):
Figure pct00006
을 포함하고, 여기서, C' 은 상기 적어도 하나의 이전에 코딩된 신택스 엘리먼트로부터 정의된 하위-컨텍스트이다.
도 7 은, 이진 심볼 s 가, 예를 들어, 중요도 맵의 중요도 플래그를 나타낼 때, 방법의 그러한 일 실시형태의 일 예를 나타낸다.
이 예에 따르면, 컨텍스트 값 ContVal 은 도 2 와 관련하여 정의된 바와 같이 2 개의 코딩된 신택스 엘리먼트들 x1 및 x2 에 의해 정의된 컨텍스트로부터 획득된다.
단계 111 에서, 하위-컨텍스트 C' 은, 여기서 x3, x4 및 x5 인, 이진 심볼들의 시퀀스의 적어도 하나의 다른 이전에 코딩된 이진 심볼로부터 정의된다. 하위-컨텍스트 C' 은 조정 값 Δ 을 획득하기 위해 고려된다.
단계 111 의 일 실시형태에 따르면, 확률 조정 값 Δ 는 다음 식에 의해 획득되고:
Figure pct00007
여기서, Δ0 는 상수 값이고, wj 는 하위-컨텍스트 C' 을 정의하는 K 개의 이전에 코딩된 신택스 엘리먼트들 중 하나와 연관된 가중 값이며, fj 는 상기 K 개의 이전에 코딩된 신택스 엘리먼트의 값이다. 상수 값 Δ0 는, Δ 의 fj 들의 모든 조합들에 대해 취해진 기대 값이 0 에 가깝도록 조정될 수도 있다. 이것은, 함께 고려되는 하위-컨텍스트 C' 의 글로벌 통계적 거동이 컨텍스트 C 의 통계적 거동에 가깝도록 보장한다.
예를 들어, 신택스 엘리먼트 xj 와 연관된 가중 값 wj 는 이진 심볼 s 로부터의 유클리디안 거리에 의존한다.
단계 111 의 일 실시형태에 따르면, 확률 조정 값 Δ 는, 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼의 값들에 따라 각각 정의된, 잠재적 값들의 셋트로부터 선택되는 정해진 그리고 미리결정된 값이다.
예를 들어, 모든 x3, x4 및 x5 신택스 엘리먼트들이 1 과 동일할 때 포지티브 (positive) 확률 조정 값이 결정될 수도 있고, 모든 이들 신택스 엘리먼트들이 0 과 동일할 때 네거티브 (negative) 값이 결정될 수도 있다.
다른 예로서, 하위-컨텍스트 C' 에 속하는 적어도 하나의 신택스 엘리먼트들이 1 과 동일할 때 포지티브 확률 조정 값이 선택될 수도 있고, 하위-컨텍스트 C' 에 속하는 적어도 하나의 신택스 엘리먼트들이 0 과 동일할 때 네거티브 확률 조정 값이 선택될 수도 있다.
또 다른 예로서, 신택스 엘리먼트들 x3, x4 및 x5 의 1 또는 0 의 퍼센티지 (percentage) 에 각각 따라 8 개의 확률 조정 값들이 결정될 수도 있다.
단계 111 의 또 다른 실시형태에 따르면, 확률 조정 값 Δ 는, 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼의 값들에 따라 각각 정의된 잠재적 값들의 셋트로부터 선택된다.
본 발명들은 오직 예시적 목적들을 위해 주어진 이들 간단한 예들에 제한되지 아니한다.
일 실시형태에 따르면, 확률 조정 값들은, 실례로, 코딩할 이진 심볼의 양자화 파라미터 (Quantization Parameter; QP) 에 의존하여 최적화될 수도 있다. 예를 들어, 주어진 QP 에서 코딩할 비디오 시퀀스들의 테스트 셋트를 이용하고 가중치들 wj 들의 여러 값들을 테스트함으로써, 상기 wj 들의 최적화된 값들이 결정되고 비디오 코더에서 하드-코딩된다.
도 8 은, 이진 심볼이, 변환된 계수 절대 값이 1 보다 큰지 또는 아닌지를 시그널링하는, 소위 "1 보다 큰" 플래그, 간략하게 greater1 플래그를 나타낼 때, 본 발명들의 일 예에 따른, 이진 심볼 s 를 컨텍스트-적응적 이진 산술 코딩하기 위한 방법의 일 예를 나타낸다. 물론, 그것은 중요 계수 (즉, 중요도 플래그에 의해 비-제로로서 시그널링된) 에만 적용된다.
종래 기술에서, 컨텍스트 값은 도 2 와 관련하여 설명된 바와 같이 4 개의 컨텍스트들 중에서 선택된다. 컨텍스트 인덱스는 이들 4 개의 컨텍스트들 중 어느 것이 선택되는지를 결정하기 위해 사용된다. 그것을 위해, 종래 기술에서는, 컨텍스트가 1 로 초기화되고, 다음과 같이 업데이트된다: 마지막 코딩된 greater1 플래그 (신택스 엘리먼트) 가 1 과 동일 (참) 하자마자, 컨텍스트 인덱스는 0 이 되고; 그렇지 않은 경우에, 컨텍스트 인덱스는 3 까지 증분된다. greater1 플래그는 그 다음에, 선택된 컨텍스트와 연관된 컨텍스트 값에 포함된 확률에 기초하여 인코딩되고, 선택된 컨텍스트는 상기 설명된 바와 같이 업데이트한다.
greater1 플래그들은 도 6 과 관련하여 설명된 수정된 CABAC 를 이용하여 코딩될 수도 있다.
단계 100 에서, 컨텍스트 C 는 도 2 와 관련하여 설명된 바와 같이 4 개의 컨텍스트들 중에서 선택된다. 확률 p 는 그러면 이 컨텍스트 Cs 와 연관된 컨텍스트 값 ContVals 로부터 획득된다.
확률 조정 값은 그러면 적어도 하나의 이전에 코딩된 greater1 플래그에 따라 결정되고, 수정된 확률 p' 은 상기 확률 조정 값에 따라 획득되며, 현재의 greater1 플래그는 수정된 확률 p' 에 기초하여 코딩되고, 컨텍스트 값 ContVals 는 상기 설명된 바와 같이 확률 p 에 따라 업데이트된다.
동일한 방법이 "2 보다 큰" 플래그에 적용될 수도 있다.
도 9 는, 본 발명들에 따른, 비디오 데이터의 블록 Bc 또는 신택스 엘리먼트를 인코딩하기 위한 방법의 블록도를 나타낸다.
오직 시간적 예측 기반 코딩 (인터 (INTER) 코딩) 과 관련한 방법의 기능적 모듈들만이 도 9 에서 도시된다. 종래 기술에서 잘 알려진 미도시의 다른 모듈들은 예를 들어 공간적 예측을 가지고 또는 공간적 예측 없이 인트라 (INTRA) 코딩을 구현한다.
단계 1200 에서, 모듈은, 예를 들어 픽셀 단위로, 잔차 블록 (Bres) 을 생성하기 위해 현재 블록 (Bc) 으로부터 예측 블록 (Bpred) 을 추출한다.
단계 1202 에서, 모듈은 잔차 블록 (Bres) 을 변환하고 정량화한다. 변환 T 는, 예를 들어, 이산 코사인 변환 (DCT) 또는 웨이블렛-기반과 같은 임의의 다른 블록-기반 변환이다.
단계 1206 에서, 모듈은 역 연산들을 실시한다: 역 양자화 Q-1 에 이어서 역 변환 T-1.
단계 1204 에서, 모듈은 정량화된 데이터를 코딩된 데이터의 비트스트림 (F) 으로 인코딩한다. 이 모듈은 도 6 및 도 7 과 관련하여 설명된 바와 같이 수정된 CABAC 를 실시한다.
단계 1208 에서, 모듈은, 예를 들어 픽셀 단위로, 단계 1206 에서 출력된 블록과 예측 블록 (Bpred) 을 병합하여 재구성된 비디오 데이터의 블록 (또는 신택스 엘리먼트) 을 생성하고, 이는 메모리에 저장된다 (단계 1210).
단계 1212 에서, 모듈은 메모리 (단계 1210) 에서 저장된 참조 화상의 블록 (Ir) 과 비디오 데이터의 블록 (Bc) 사이에 적어도 하나의 모션 벡터를 추정하고, 이 참조 화상은 코딩되고 재구성되었다.
일 변형에 따르면, 모션 추정은 원래의 참조 화상의 비디오 데이터의 블록 (Ic) 과 비디오 데이터의 블록 (Bc) 간에 실행될 수도 있다. 그 경우에, 단계 1210 은 단계 1212 에 링크되지 않는다.
잘 알려진 프로세스에 따르면, 모션 추정은, 모션 데이터에 의해 식별된 그 참조 화상에서의 비디오 데이터의 블록과 비디오 데이터의 블록 (Bc) 사이에 계산된 에러를 최소화하기 위해, 예를 들어 모션 벡터와 같은, 모션 데이터를 참조 화상 (Ir) (또는 Ic) 에서 검색한다.
모션 데이터는 그 다음에 결정 모듈에 송신된다.
단계 1214 에서, 결정 모듈은 결정된 코딩 모드들의 셋트로부터 비디오 데이터의 블록 (Bc) 에 대해 코딩 모드를 선택한다. 선택된 코딩 모드는 예를 들어 레이트 왜곡 기반 기준과 같은 기준을 최소화하는 코딩 모드이다. 하지만, 본 발명들은 임의의 다른 기준을 이용하여 선택될 수도 있는 코딩 모드를 선택하기 위해 임의의 프로세스에 제한되지 않는다.
선택된 코딩 모드 및 모션 데이터는 신호 (F) 에서 엔트로피 인코딩되는 신택스 엘리먼트들이다 (단계 1204).
단계 1216 에서, 모듈은 결정 모듈 (단계 1214) 에서 출력되는 선택된 코딩 모드로부터 그리고, 잠재적으로, 메모리에서 출력되는 모션 데이터 (단계 1210 또는 1212) 로부터 예측 블록 (Bpred) 을 결정한다.
도 10 은 비디오 데이터의 블록을 나타내는 코딩된 비디오 데이터의 비트스트림 (F) 을 디코딩하기 위한 방법의 일 실시형태를 나타낸다.
(신택스 엘리먼트들을 포함하는) 코딩된 비디오 데이터의 비트스트림 (F) 은, 예를 들어, 도 9 와 관련하여 설명된 바와 같은 방법으로부터 획득되었고, 통신 경로를 통해 송신되었다.
단계 1300 에서, 모듈은 비트스트림 (F), 디코딩할 코딩된 비디오 데이터에 관한 잔차 데이터, 및, 예를 들어 코딩 모드들, 모션 데이터 또는 중요도 맵과 같은, 잔차 데이터에 대해 디코딩된 비디오 데이터를 재구성하기 위해 필요한 신택스 엘리먼트들로부터, 엔트로피 디코딩을 위해 보통의 CABAC 를 실시한다.
미도시된 일 변형에 따르면, 모션 데이터를 디코딩하는 것은 모션 추정을 포함한다. 모션 데이터를 디코딩하기 위한 이러한 솔루션은 종래 기술에서 소위 템플릿 프로세스일 수도 있다.
디코딩할 픽셀들의 블록에 관한 디코딩된 비디오 데이터는 그 다음에 모듈 (단계 1302) 로 송신되고, 이 모듈은 역 양자화에 이어서 역 변환을 적용한다. 단계 1302 에서의 모듈은 단계 1206 에서의 모듈과 동일하다.
단계 1302 는 단계 1304 에 링크되고, 단계 1304 에서는, 예를 들어 픽셀 단위로, 단계 1302 에서 출력되는 잔차 블록과 예측 블록을 병합하여 비디오 데이터의 디코딩된 블록 (Bc) (재구성된 블록이라고도 함) 을 생성하고, 이는 그 다음에 메모리에 저장된다 (단계 1306).
단계 1308 에서, 모듈은, 디코딩할 비디오 데이터의 블록에 대해 비트스트림 (F) 으로부터 추출된 코딩 모드로부터, 그리고 잠재적으로, 모션 데이터를 재구성하는 모듈에서 출력되는 결정된 모션 데이터로부터 예측 블록 (Bpred) 을 결정한다.
도 10 과 관련하여 설명된 디코더는 도 9 와 관련하여 설명된 인코더에 의해 인코딩된 비디오 데이터를 디코딩하도록 구성된다.
인코더 (및 디코더) 는 특정 인코더 (디코더) 에 제한되지 않는다.
인코더 (및 디코더) 는, 예를 들어, JPEG, JPEG2000, MPEG2, HEVC 또는 H264/AVC 표준들과 같은 손실을 갖는 이미지/비디오 코더일 수도 있는 특정 인코더에 한정되지 않는다.
도 1 내지 도 10 에서, 모듈들은 구별가능한 물리적 유닛들과 관련될 수도 있고 관련되지 않을 수도 있는 기능적 유닛들이다. 예를 들어, 이들 모듈들 또는 그들의 일부는 유일의 컴포넌트 또는 회로에서 함께 가져와질 수도 있고, 또는 소프트웨어의 기능성들에 기여할 수도 있다. 반면, 일부 모듈들은 잠재적으로 별개의 물리적 엔티티들로 구성될 수도 있다. 본 발명들과 양립가능한 장치는, 순수 하드웨어를 이용하여, 예를 들어, ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array), VLSI (Very Large Scale Integration) 와 같은 전용 하드웨어를 이용하여, 또는 디바이스에 내장된 수개의 집적된 전자적 컴포넌트들로부터 또는 하드웨어 및 소프트웨어 컴포넌트들의 혼합으로부터 구현된다.
도 11 은, 도 1 내지 도 10 과 관련하여 설명된 방법을 구현하도록 구성될 수도 있는 디바이스 (1100) 의 일 예시적인 아키텍처를 나타낸다.
디바이스 (1100) 는 데이터 및 어드레스 버스 (1101) 에 의해 함께 링크되는 다음과 같은 엘리먼트들을 포함한다:
- 예를 들어 DSP (또는 디지털 신호 프로세서) 인, 마이크로프로세서 (1102) (또는 CPU);
- ROM (또는 판독 전용 메모리) (1103);
- RAM (또는 랜덤 액세스 메모리) (1104);
- 애플리케이션으로부터, 송신할 데이터의 수신을 위한 I/O 인터페이스 (1105); 및
- 배터리 (1106).
일 예에 따르면, 배터리 (1106) 는 디바이스 외부에 있다. 언급된 메모리의 각각에서, 본 명세서에서 사용된 "레지스터 (register)" 라는 단어는 작은 용량 (몇 비트) 의 영역에 또는 매우 큰 영역 (예컨대, 다량의 수신된 또는 디코딩된 데이터 또는 전체 프로그램) 에 대응할 수 있다. ROM (1103) 은 적어도 프로그램 및 파라미터들을 포함한다. ROM (1103) 은 본 발명들에 따른 기술들을 수행하기 위한 알고리즘들 및 명령들을 저장할 수도 있다. 스위치온될 때, CPU (1102) 는 RAM 에서 프로그램을 업로드하고, 대응하는 명령들을 실행한다.
RAM (1104) 은, 레지스터에서, 디바이스 (1100) 의 스위치온 후에 업로드되고 CPU (1102) 에 의해 실행되는 프로그램을, 레지스터에서 입력 데이터를, 레지스터에서 방법의 상이한 상태들에서의 중간 데이터를, 그리고 레지스터에서 방법의 실행을 위해 사용되는 다른 변수들을 포함한다.
본 명세서에서 설명된 구현들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수도 있다. 신호 형태의 구현의 맥락에서만 논의되는 (예를 들어, 오직 방법 또는 디바이스로서만 논의되는) 경우에도, 논의된 피처들의 구현은 다른 형태들 (예를 들어 프로그램) 로 또한 구현될 수도 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수도 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래머블 로직 디바이스를 포함하는, 일반적으로 프로세싱 디바이스들을 지칭하는, 예를 들어 프로세서와 같은 장치에서 예를 들어 구현될 수도 있다. 프로세서는 또한, 예를 들어, 컴퓨터들, 셀 폰들, 포터블/퍼스널 디지털 어시스턴트 (PDA) 들, 및 최종 사용자들 사이에 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
인코딩 또는 인코더의 일 예에 따르면, 비디오 데이터의 블록 (Bc) 또는 신택스 엘리먼트 또는 이진 심볼들의 시퀀스가 소스로부터 획득된다. 예를 들어, 소스는 다음을 포함하는 셋트에 속한다:
- 로컬 메모리 (1103 또는 1104), 예컨대, 비디오 메모리 또는 RAM (또는 랜덤 액세스 메모리), 플래시 메모리, ROM (또는 판독 전용 메모리), 하드 디스크;
- 저장 인터페이스 (1105), 예컨대, 대용량 스토리지, RAM, 플래시 메모리, ROM, 광학 디스크 또는 자기 지지체와의 인터페이스;
- 통신 인터페이스 (1105), 예컨대, 유선 인터페이스 (예를 들어, 버스 인터페이스, 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스) 또는 무선 인터페이스 (예컨대, IEEE 802.11 인터페이스 또는 Bluetooth® 인터페이스); 및
- 화상 캡처링 회로 (예컨대, 예를 들어, CCD (또는 전하-결합된 디바이스) 또는 CMOS (또는 상보형 금속-산화물-반도체)).
디코딩 또는 디코더의 일 예에 따르면, 디코딩되는 데이터는 목적지에 전송되고; 구체적으로, 그 목적지는:
- 로컬 메모리 (1103 또는 1104), 예컨대, 비디오 메모리 또는 RAM, 플래시 메모리, 하드 디스크;
- 저장 인터페이스 (1105), 예컨대, 대용량 스토리지, RAM, 플래시 메모리, ROM, 광학 디스크 또는 자기 지지체와의 인터페이스;
- 통신 인터페이스 (1105), 예컨대, 유선 인터페이스 (예를 들어, 버스 인터페이스 (예컨대, USB (또는 유니버설 직렬 버스)), 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스, HDMI (고 화질 멀티미디어 인터페이스) 인터페이스) 또는 무선 인터페이스 (예컨대, IEEE 802.11 인터페이스, WiFi ® 또는 Bluetooth ® 인터페이스); 및
- 디스플레이
를 포함하는 셋트에 속한다.
인코딩 또는 인코더의 예들에 따르면, 비트스트림 (F) 은 목적지에 전송된다. 일 예로서, 비트스트림 (F) 은 로컬 또는 원격 메모리, 예컨대, 비디오 메모리 (1104) 또는 RAM (1104), 하드 디스크 (1103) 에 저장된다. 일 변형에서, 비트스트림은, 저장 인터페이스 (1105), 예컨대, 대용량 스토리지, 플래시 메모리, ROM, 광학 디스크 또는 자기 지지체와의 인터페이스에 전송되고, 및/또는, 통신 인터페이스 (1105), 예컨대, 포인트 대 포인트 링크, 통신 버스, 포인트 대 멀티포인트 링크 또는 브로드캐스트 네트워크에 대한 인터페이스를 통해 송신된다.
디코딩 또는 디코더의 예들에 따르면, 비트스트림 (F) 은 소스로부터 획득된다. 예시적으로, 비트스트림은 로컬 메모리, 예컨대, 비디오 메모리 (1104), RAM (1004), ROM (1103), 플래시 메모리 (1103) 또는 하드 디스크 (1103) 로부터 판독된다. 일 변형에서, 비트스트림은 저장 인터페이스 (1105), 예컨대, 대용량 스토리지, RAM, ROM, 플래시 메모리, 광학 디스크 또는 자기 지지체와의 인터페이스로부터 수신되고, 및/또는, 통신 인터페이스 (1105), 예컨대, 포인트 대 포인트 링크, 버스, 포인트 대 멀티포인트 링크 또는 브로드캐스트 네트워크에 대한 인터페이스로부터 수신된다.
예들에 따르면, 도 1 내지 도 9 와 관련하여 설명된 인코딩 방법을 구현하도록 구성되는 디바이스 (1100) 는:
- 모바일 디바이스;
- 통신 디바이스;
- 게임 디바이스;
- 태블릿 (또는 태블릿 컴퓨터);
- 랩톱;
- 스틸 픽처 카메라;
- 비디오 카메라;
- 인코딩 칩;
- 스틸 픽처 서버; 및
- 비디오 서버 (예컨대, 브로드캐스트 서버, 비디오-온-디맨드 서버 또는 웹 서버)
를 포함하는 셋트에 속한다.
예들에 따르면, 도 10 과 관련하여 설명된 디코딩 방법을 구현하도록 구성되는 디바이스 (1100) 는:
- 모바일 디바이스;
- 통신 디바이스;
- 게임 디바이스;
- 셋 톱 박스;
- TV 셋트;
- 태블릿 (또는 태블릿 컴퓨터);
- 랩톱;
- 디스플레이; 및
- 디코딩 칩
을 포함하는 셋트에 속한다.
도 12 에서 예시된, 본 발명들의 예들에 따르면, 통신 네트워크 (NET) 를 통한 2 개의 원격 디바이스들 A 및 B 사이의 통신 상황에서, 디바이스 A 는 도 9 와 관련하여 설명된 바와 같이 화상을 인코딩하기 위한 방법을 구현하도록 구성되는, 메모리 RAM 및 ROM 과 관련된 프로세서를 포함하고, 디바이스 B 는 도 10 과 관련하여 설명된 바와 같이 화상을 디코딩하기 위한 방법을 구현하도록 구성되는, 메모리 RAM 및 ROM 과 관련된 프로세서를 포함한다.
본원에 기술된 다양한 프로세스들 및 피처들의 구현들은 다양한 상이한 장비 또는 애플리케이션들에서 구현될 수도 있다. 이러한 장비의 예들은 인코더, 디코더, 디코더로부터의 출력을 프로세싱하는 포스트-프로세서, 인코더에 입력을 제공하는 프리-프로세서, 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋톱 박스, 랩톱, 퍼스널 컴퓨터, 셀 폰, PDA, 및 화상 또는 비디오를 프로세싱하기 위한 임의의 다른 디바이스 또는 다른 통신 디바이스들을 포함한다. 명확한 바와 같이, 장비는 이동형일 수도 있고, 심지어 이동형 차량에 장착될 수도 있다.
추가적으로, 방법들은 프로세서에 의해 수행되는 명령들에 의해 구현될 수도 있고, 이러한 명령들 (및/또는 구현에 의해 생성된 데이터 값들) 은 컴퓨터 판독가능 저장 매체 상에 저장될 수도 있다. 컴퓨터 판독가능 저장 매체는 하나 이상의 컴퓨터 판독가능 매체(들)에 포함되고 컴퓨터에 의해 실행가능한 컴퓨터 판독가능 프로그램 코드를 그 위에 수록한 컴퓨터 판독가능 프로그램 제품의 형태를 취할 수 있다. 본 명세서에서 사용된 바와 같은 컴퓨터 판독가능 저장 매체는 정보를 그 안에 저장하기 위한 고유한 능력 및 그것으로부터의 정보의 취출을 제공하기 위한 고유한 능력이 주어진 비-일시적 저장 매체로 고려된다. 컴퓨터 판독가능 저장 매체는, 예를 들어, 비제한적으로, 전자적, 자기적, 광학적, 전자기적, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스, 또는 전술한 것의 임의의 적합한 조합일 수 있다. 다음의 것은, 본 발명들이 적용될 수 있는 컴퓨터 판독가능 저장 매체들의 보다 구체적인 예들을 제공하지만, 당해 기술분야에서 통상의 지식을 가진 자 (이하, '통상의 기술자' 라 함) 에 의해 쉽게 이해되는 바와 같이, 단지 예시적인 것이고 망라적 열거가 아님을 이해하여야 한다: 포터블 컴퓨터 디스켓; 하드 디스크; 판독-전용 메모리 (ROM); 소거가능 프로그래머블 판독-전용 메모리 (EPROM 또는 플래시 메모리); 포터블 콤팩트 디스크 판독-전용 메모리 (CD-ROM); 광학 저장 디바이스; 자기 저장 디바이스; 또는 전술한 것들의 임의의 적합한 조합.
명령들은 프로세서-판독가능 매체 상에 유형으로 포함된 애플리케이션 프로그램을 형성할 수도 있다.
명령들은, 예를 들어, 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합일 수도 있다. 명령들은, 예를 들어, 오퍼레이팅 시스템, 별도의 애플리케이션, 또는 이 둘의 조합에서 발견될 수도 있다. 프로세서는 따라서, 예를 들어, 프로세스를 수행하도록 구성된 디바이스, 및 프로세스를 수행하기 위한 명령들을 갖는 (저장 디바이스와 같은) 프로세서-판독가능 매체를 포함하는 디바이스 양자로서 특성화될 수도 있다. 추가적으로, 프로세서-판독가능 매체는, 명령들에 추가적으로 또는 대신에, 구현에 의해 생성된 데이터 값들을 저장할 수도 있다.
통상의 기술자에게 명백한 바와 같이, 구현들은, 예를 들어 저장되거나 송신될 수도 있는, 정보를 반송하도록 포맷팅된 다양한 신호들을 생성할 수도 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령들, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수도 있다. 예를 들어, 신호는, 본 발명들의 설명된 예의 신택스를 쓰거나 읽기 위한 규칙들을 데이터로서 반송하도록, 또는 본 발명들의 설명된 예에 의해 쓰여진 실제 신택스-값들을 데이터로서 반송하도록 포맷팅될 수도 있다. 이러한 신호는, 예를 들어, (예를 들어, 스펙트럼의 무선 주파수 부분을 이용하여) 전자기 파로서 또는 기저대역 신호로서 포맷팅될 수도 있다. 포맷팅 (formatting) 은, 예를 들어, 데이터 스트림을 인코딩하는 것, 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수도 있다. 신호가 반송하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수도 있다. 신호는 알려진 바와 같이 다양한 상이한 유선 또는 무선 링크들을 통해 송신될 수도 있다. 신호는 프로세서-판독가능 매체 상에 저장될 수도 있다.
다수의 구현들이 설명되었다. 그럼에도 불구하고, 다양한 변형들이 이루어질 수도 있음을 이해할 것이다. 예를 들어, 상이한 구현들의 엘리먼트들은 다른 구현들을 생성하기 위해 결합, 보충, 수정, 또는 제거될 수도 있다. 추가적으로, 통상의 기술자는, 다른 구조들 및 프로세스들이 개시된 것들에 대해 대체될 수도 있고, 결과적인 구현들은 개시된 구현들과 적어도 실질적으로 동일한 결과(들)를 달성하기 위해, 적어도 실질적으로 동일한 방식(들)으로, 적어도 실질적으로 동일한 기능(들)을 수행할 것이라는 것을 이해할 것이다. 따라서, 이들 및 다른 구현들은 본원에 의해 고려된다.

Claims (11)

  1. 비디오 데이터에 관련된 신택스 엘리먼트 또는 비디오 데이터에 관한 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 방법으로서,
    상기 이진 심볼들의 시퀀스의 각각의 이진 심볼에 대해:
    - 상기 이진 심볼에 대해 정의된 컨텍스트 모델로부터 컨텍스트 값을 획득하는 단계 (100) 로서, 상기 컨텍스트 값은 상기 이진 심볼이 이진 값과 동일하도록 하는, 제 1 확률 p 라고 불리는, 확률을 나타내는 비트들을 포함하는, 상기 컨텍스트 값을 획득하는 단계 (100);
    - 상기 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼에 따라 상기 제 1 확률 p 를 수정함으로써 제 2 확률 p' 을 결정하는 단계 (110);
    - 상기 제 2 확률 p' 에 기초하여 상기 이진 심볼을 산술 코딩하는 단계 (120); 및
    - 코딩된 상기 이진 심볼에 따라 상기 컨텍스트 값의 상기 제 1 확률 p 를 업데이트 및 저장하는 단계 (130) 를 포함하는, 컨텍스트-적응적 이진 산술 코딩을 위한 방법.
  2. 비디오 데이터에 관련된 신택스 엘리먼트 또는 비디오 데이터에 관한 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 디바이스로서,
    상기 이진 심볼들의 시퀀스의 각각의 이진 심볼에 대해:
    - 상기 이진 심볼에 대해 정의된 컨텍스트 모델로부터 컨텍스트 값을 획득하는 것으로서, 상기 컨텍스트 값은 상기 이진 심볼이 이진 값과 동일하도록 하는, 제 1 확률 p 라고 불리는, 확률을 나타내는 비트들을 포함하는, 상기 컨텍스트 값을 획득하는 것을 행하고;
    - 상기 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼에 따라 상기 제 1 확률 p 를 수정함으로써 제 2 확률 p' 을 결정하며;
    - 상기 제 2 확률 p' 에 기초하여 상기 이진 심볼을 산술 코딩하고; 그리고
    - 코딩된 상기 이진 심볼에 따라 상기 컨텍스트 값의 상기 제 1 확률 p 를 업데이트하도록
    구성된 프로세서를 포함하는, 컨텍스트-적응적 이진 산술 코딩을 위한 디바이스.
  3. 제 1 항의 방법 또는 제 2 항의 디바이스에 있어서,
    상기 컨텍스트 값은, 상기 이진 심볼의 최대 확률 이진 값 (MPS) 을 나타내는 비트를 더 포함하고, 상기 비트들은 상기 이진 심볼이 상기 최대 확률 이진 값과 동일하도록 하는 상기 제 1 확률 p 를 나타내는, 컨텍스트-적응적 이진 산술 코딩을 위한 방법 또는 디바이스.
  4. 제 1 항 또는 제 2 항의 방법 또는 제 2 항 또는 제 3 항의 디바이스에 있어서,
    상기 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼에 따라 상기 제 1 확률 p 를 수정함으로써 제 2 확률 p' 을 결정하는 단계 (110) 는,
    - 상기 이진 심볼들의 시퀀스의 상기 적어도 하나의 이전에 코딩된 이진 심볼의 가중된 값으로부터 확률 조정 값을 획득하는 단계 (111);
    - 상기 확률 조정 값을 상기 제 1 확률 p 에 가산함으로써 상기 제 2 확률 p' 을 결정하는 단계 (112) 를 포함하는, 컨텍스트-적응적 이진 산술 코딩을 위한 방법 또는 디바이스.
  5. 제 4 항의 방법 또는 디바이스에 있어서,
    상기 확률 조정 값은,
    Figure pct00008

    에 의해, 상기 이진 심볼들의 시퀀스의 상기 적어도 하나의 이전에 코딩된 이진 심볼의 가중된 값으로부터 획득되고,
    여기서, Δ0 는 상수 값이고, wj 는 상기 이진 심볼들의 시퀀스의 상기 적어도 하나의 이전에 코딩된 이진 심볼과 연관된 가중 값이며, fj 는 상기 이진 심볼들의 시퀀스의 상기 적어도 하나의 이전에 코딩된 이진 심볼의 값인, 컨텍스트-적응적 이진 산술 코딩을 위한 방법 또는 디바이스.
  6. 제 3 항의 방법 또는 디바이스에 있어서,
    상기 확률 조정 값은, 상기 이진 심볼들의 시퀀스의 상기 적어도 하나의 이전에 코딩된 이진 심볼의 값들에 따라 각각 정의된 잠재적 값들의 셋트로부터 선택되는, 컨텍스트-적응적 이진 산술 코딩을 위한 방법 또는 디바이스.
  7. 제 1 항, 제 3 항 내지 제 6 항 중 어느 한 항에 따른, 상기 비디오 데이터를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 방법의 단계들을 포함하는, 비디오 데이터를 인코딩 또는 디코딩하기 위한 방법.
  8. 비디오 데이터 또는 신택스 엘리먼트를 인코딩 또는 디코딩하기 위한 디바이스로서,
    - 이진 심볼에 대해 정의된 컨텍스트 모델로부터 컨텍스트 값을 획득하는 것으로서, 상기 컨텍스트 값은 상기 이진 심볼이 이진 값과 동일하도록 하는, 제 1 확률 p 라고 불리는, 확률을 나타내는 비트들을 포함하는, 상기 컨텍스트 값을 획득하는 것;
    - 상기 이진 심볼들의 시퀀스의 적어도 하나의 이전에 코딩된 이진 심볼에 따라 상기 제 1 확률 p 를 수정함으로써 제 2 확률 p' 을 결정하는 것;
    - 상기 제 2 확률 p' 에 기초하여 상기 이진 심볼을 산술 코딩하는 것; 및
    - 코딩된 상기 이진 심볼에 따라 상기 컨텍스트 값의 상기 제 1 확률 p 를 업데이트하는 것
    에 의해, 상기 비디오 데이터를 나타내는 이진 심볼들의 시퀀스를 컨텍스트-적응적 이진 산술 코딩하도록 구성된 프로세서를 포함하는, 비디오 데이터 또는 신택스 엘리먼트를 인코딩 또는 디코딩하기 위한 디바이스.
  9. 프로그램 코드 명령들을 포함하는 컴퓨터 프로그램 제품으로서,
    상기 프로그램 코드 명령들은, 이 프로그램이 컴퓨터 상에서 실행될 때, 제 1 항, 제 3 항 내지 제 6 항, 제 9 항 중 어느 한 항에 따른 인코딩 방법의 단계들을 실행하기 위한 것인, 컴퓨터 프로그램 제품.
  10. 프로그램 코드의 명령들을 운반하는 비-일시적 저장 매체로서,
    상기 프로그램 코드의 명령들은, 상기 프로그램이 컴퓨팅 디바이스 상에서 실행될 때, 제 1 항, 제 3 항 내지 제 6 항 중 어느 한 항에 따른 방법의 단계들을 실행하기 위한 것인, 비-일시적 저장 매체.
  11. 제 1 항, 제 3 항 내지 제 6 항 중 어느 한 항의 방법 또는 제 2 항 내지 제 6 항 중 어느 한 항의 디바이스에 있어서,
    상기 이진 심볼들의 시퀀스의 이전에 코딩된 이진 심볼과 연관된 가중 값은, 코딩될 상기 이진 심볼들의 시퀀스의 현재의 이진 심볼로부터의 유클리디안 거리에 의존하는, 컨텍스트-적응적 이진 산술 코딩을 위한 방법 또는 디바이스.
KR1020187032671A 2016-05-12 2017-05-05 비디오 데이터에 관련된 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 방법 및 디바이스 KR102380579B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16305554.4A EP3244610A1 (en) 2016-05-12 2016-05-12 Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to video data
EP16305554.4 2016-05-12
PCT/EP2017/060759 WO2017194401A2 (en) 2016-05-12 2017-05-05 Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to video data

Publications (2)

Publication Number Publication Date
KR20190006963A true KR20190006963A (ko) 2019-01-21
KR102380579B1 KR102380579B1 (ko) 2022-03-29

Family

ID=56101400

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187032671A KR102380579B1 (ko) 2016-05-12 2017-05-05 비디오 데이터에 관련된 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 방법 및 디바이스

Country Status (6)

Country Link
US (1) US11323714B2 (ko)
EP (2) EP3244610A1 (ko)
JP (1) JP7162532B2 (ko)
KR (1) KR102380579B1 (ko)
CN (1) CN109565596B (ko)
WO (1) WO2017194401A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111818346B (zh) * 2019-04-11 2023-04-18 富士通株式会社 图像编码方法和装置、图像解码方法和装置
CN112821894A (zh) * 2020-12-28 2021-05-18 湖南遥昇通信技术有限公司 一种基于加权概率模型的无损压缩方法和无损解压方法
CN113382265B (zh) * 2021-05-19 2023-03-24 北京大学深圳研究生院 视频数据熵编码硬件实现方法、设备、介质及程序产品
CN114039718B (zh) * 2021-10-18 2023-12-19 湖南遥昇通信技术有限公司 自适应加权概率模型的Hash编码方法以及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130002298A (ko) * 2011-06-28 2013-01-07 삼성전자주식회사 엔트로피 부호화/복호화 방법 및 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69625345T2 (de) 1996-07-15 2003-09-04 Koninkl Kpn Nv System mit Kodierungssektion, Kodierungsvorrichtung und Methode
KR100281322B1 (ko) 1998-04-24 2001-02-01 전주범 이진 형상 신호 부호화 및 복호화 장치와 그 방법
US7286710B2 (en) 2003-10-01 2007-10-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of a syntax element contained in a pre-coded video signal
CN101005287A (zh) 2007-01-26 2007-07-25 北京中星微电子有限公司 提高算术编码速度的方法、系统及编码装置
KR101773009B1 (ko) 2009-06-29 2017-08-30 톰슨 라이센싱 코딩되지 않은 구문에 대한 적응 확률 갱신을 위한 방법 및 장치
CN101848387A (zh) * 2010-03-19 2010-09-29 西安电子科技大学 基于jpeg2000标准的算术编码概率区间值确定方法
US8995523B2 (en) * 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
EP2533538A3 (en) * 2011-06-10 2013-03-20 Research In Motion Limited Method and system to reduce modelling overhead for data compression
FR2977111A1 (fr) * 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
SG187781A1 (en) * 2011-07-18 2013-03-28 Panasonic Corp Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
GB2516422A (en) * 2013-07-09 2015-01-28 Sony Corp Data encoding and decoding
WO2015188297A1 (zh) 2014-06-08 2015-12-17 北京大学深圳研究生院 加权跳过模式的视频图像块压缩算术编解码方法及装置
US9425822B2 (en) * 2014-08-05 2016-08-23 Broadcom Corporation Simplified range and context update for multimedia context-adaptive binary arithmetic coding design
EP3206399A4 (en) * 2014-11-04 2017-10-25 Samsung Electronics Co., Ltd. Probability updating method for binary arithmetic coding/decoding, and entropy coding/decoding apparatus using same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130002298A (ko) * 2011-06-28 2013-01-07 삼성전자주식회사 엔트로피 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
EP3456044B1 (en) 2021-08-18
JP2019521550A (ja) 2019-07-25
US11323714B2 (en) 2022-05-03
CN109565596B (zh) 2022-02-25
EP3244610A1 (en) 2017-11-15
WO2017194401A2 (en) 2017-11-16
KR102380579B1 (ko) 2022-03-29
US20200314430A1 (en) 2020-10-01
CN109565596A (zh) 2019-04-02
WO2017194401A3 (en) 2017-12-28
EP3456044A2 (en) 2019-03-20
JP7162532B2 (ja) 2022-10-28

Similar Documents

Publication Publication Date Title
US20240114139A1 (en) Systems and methods for coding transform data
TWI693822B (zh) 基於調色板之視訊寫碼中之最大調色板參數
RU2563681C2 (ru) Отдельное кодирование позиции последнего значимого коэффициента видеоблока при кодировании видео
CN114650419B (zh) 进行帧内预测的编码器、解码器和对应方法
KR101650636B1 (ko) 루마 및 크로마 블록을 위한 vlc 계수 코딩
US20200045316A1 (en) Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to picture data
WO2013056097A1 (en) Coding non-symmetric distributions of data
US11695962B2 (en) Encoding and decoding methods and corresponding devices
WO2020125595A1 (zh) 视频译码器及相应方法
KR102380579B1 (ko) 비디오 데이터에 관련된 신택스 엘리먼트를 나타내는 이진 심볼들의 시퀀스의 컨텍스트-적응적 이진 산술 코딩을 위한 방법 및 디바이스
CN111277828B (zh) 视频编解码方法、视频编码器和视频解码器
EP4246975A1 (en) Video decoding method and apparatus, video coding method and apparatus, and device
TW202032993A (zh) 用於係數位準之逃逸寫碼
US11711515B2 (en) Coding method and system with improved transform domain coefficient computation
CN111277840B (zh) 变换方法、反变换方法以及视频编码器和视频解码器
CN114982240A (zh) 用于视频译码的多重变换集信令
CN112135149A (zh) 语法元素的熵编码/解码方法、装置以及编解码器
CN111327894A (zh) 块划分方法、视频编解码方法、视频编解码器
CN113891084B (zh) 帧内预测模式相关的编码器、解码器、对应方法及计算机可读介质
CN113766227A (zh) 用于图像编码和解码的量化和反量化方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant