KR20210058848A - 적어도 하나의 이미지를 표현하는 데이터 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들 - Google Patents

적어도 하나의 이미지를 표현하는 데이터 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들 Download PDF

Info

Publication number
KR20210058848A
KR20210058848A KR1020217008025A KR20217008025A KR20210058848A KR 20210058848 A KR20210058848 A KR 20210058848A KR 1020217008025 A KR1020217008025 A KR 1020217008025A KR 20217008025 A KR20217008025 A KR 20217008025A KR 20210058848 A KR20210058848 A KR 20210058848A
Authority
KR
South Korea
Prior art keywords
current block
block
coefficient
prediction
group
Prior art date
Application number
KR1020217008025A
Other languages
English (en)
Inventor
펠릭스 앙리
피에릭 필리프
모흐센 압돌리
고든 클레어
Original Assignee
오렌지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오렌지 filed Critical 오렌지
Publication of KR20210058848A publication Critical patent/KR20210058848A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

본 발명은 블록들로 분할되는 적어도 하나의 이미지를 표현하는 코딩된 데이터 스트림을 디코딩하기 위한 방법에 관한 것이다. 현재 블록으로 지칭되는 이미지의 적어도 하나의 블록에 대해, 현재 블록의 코딩 모드를 표시하는 정보의 항목이 데이터 스트림으로부터 디코딩된다(E42). 현재 블록의 코딩 모드가 제1 코딩 모드에 대응할 때, 현재 블록과 연관된 예측 잔차의 디코딩(E433)은 신택스 엘리먼트들의 제1 그룹을 사용하여 수행되는 한편, 현재 블록의 코딩 모드가 제2 코딩 모드에 대응할 때, 현재 블록과 연관된 예측 잔차의 디코딩(E442)은 신택스 엘리먼트들의 제2 그룹을 사용하여 수행되고, 제2 그룹은 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹이다.

Description

적어도 하나의 이미지를 표현하는 데이터 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들
1. 발명의 기술분야
본 발명의 분야는 특히 비디오 스트림들에서 이미지들 또는 이미지들의 시퀀스들을 인코딩 및 디코딩하는 것이다.
더 구체적으로, 본 발명은 이미지들의 블록 표현을 사용하여 이미지들 또는 이미지들의 시퀀스들의 압축에 관한 것이다.
본 발명은 특히, 현재 또는 장래의 인코더들(JPEG, MPEG, H.264, HEVC 등 및 이들의 수정들)에서 구현되는 이미지 또는 비디오 코딩, 및 대응하는 디코딩에 적용될 수 있다.
2. 종래 기술
디지털 이미지들 및 이미지들의 시퀀스들은 메모리 관점에서 많은 공간을 차지하고, 이는, 이러한 이미지들을 송신할 때, 이러한 송신에 사용되는 네트워크 상에서 혼잡 문제들을 회피하기 위해 이미지들을 압축하도록 요구한다.
비디오 데이터를 압축하기 위한 많은 기술들이 이미 공지되어 있다. 이들 중, HEVC 압축 표준("High Efficiency Video Coding, Coding Tools and Specification", Matthias Wien, Signals and Communication Technology, 2015)은 동일한 이미지(인트라 예측) 또는 이전 또는 후속 이미지(인터 예측)에 속하는 다른 픽셀들과 관련하여 현재 이미지의 픽셀들의 예측을 구현하는 것을 제안한다.
더 구체적으로, 인트라 예측은 이미지 내의 공간 리던던시들을 사용한다. 이를 수행하기 위해, 이미지들은 픽셀들을 블록들로 분할된다. 그 다음, 픽셀들의 블록들은 이미지 내의 블록들의 스캐닝 순서에 따라 현재 이미지에서 이전에 코딩/디코딩된 블록들에 따른 이미 재구성된 정보를 사용하여 예측된다.
또한, 표준 방식에서, 현재 블록의 코딩은 예측자 블록으로 지칭되는 현재 블록, 및 현재 블록과 예측자 블록 사이의 차이에 대응하는 예측 잔차 또는 "잔차 블록"의 예측을 사용하여 수행된다. 그 다음, 결과적 잔차 블록은, 예를 들어, DCT(discrete cosine transform) 타입 변환을 사용하여 변환된다. 그 다음, 변환된 잔차 블록의 계수들은 양자화되고, 엔트로피 코딩에 의해 코딩되고 디코더에 송신되며, 디코더는 이러한 잔차 블록을 예측자 블록에 추가함으로써 현재 블록을 재구성할 수 있다.
디코딩은 이미지별로, 그리고 각각의 이미지에 대해 블록별로 수행된다. 각각의 블록에 대해, 스트림의 대응하는 엘리먼트들이 판독된다. 잔차 블록의 계수들의 역양자화 및 역변환이 수행된다. 그 다음, 예측자 블록을 획득하기 위해 블록 예측이 계산되고, 현재 블록은 예측(즉, 예측자 블록)을 디코딩된 잔차 블록에 추가함으로써 재구성된다.
US9253508에서, 인트라 모드에서 블록들을 코딩하기 위한 DPCM(Differential Pulse Code Modulation) 코딩 기술이 HEVC 인코더에 통합된다. 이러한 기술은 이전에 재구성된 동일한 블록의 픽셀들의 다른 세트에 의해 인트라 블록의 픽셀들의 세트를 예측하는 것으로 구성된다. US9253508에서, 코딩될 인트라 블록의 픽셀들의 세트는 블록의 행, 또는 열, 또는 행 및 열에 대응하고, 픽셀들의 세트를 예측하기 위해 사용되는 인트라 예측은 HEVC 표준에 정의된 방향성 인트라 예측들 중 하나이다.
그러나, 이러한 기술은 최적이 아니다. 실제로, 인트라 블록의 픽셀들의 세트의 재구성은, 손실없는 코딩의 경우 예측 잔차의 추가에 대응하여 상당히 낮은 압축비를 제공하거나, 또는 예측으로 기능하는 픽셀들의 상기 다른 세트의 역변환 및/또는 역양자화 이후 예측 잔차의 추가에 대응한다. 따라서 이러한 기술에서는, 로컬 예측 기능을 사용하여 인트라 블록의 각각의 픽셀이 예측되는 것 및 후속 픽셀이 예측되기 전에 예측된 픽셀이 재구성되는 것을 가능하지 않다. 실제로, 이러한 기술은 픽셀들의 다른 세트를 예측하기 위해 픽셀들의 세트(예를 들어, 블록의 행/열)가 재구성되도록 요구한다. 즉, 한 쌍의 블록의 각각의 예측 및 재구성에 있어서, 블록의 몇몇 픽셀들이 예측되고 재구성된다.
또한, US9253508에서, 예를 들어, HEVC 표준에서 정의된 바와 같은 종래의 인트라 예측 모드들과 DPCM 예측 모드가 공존하게 하는 방법은 설명되지 않는다.
따라서, 이미지 또는 비디오 데이터의 압축을 개선하기 위한 새로운 코딩 및 디코딩 방법이 필요하다.
3. 발명의 요약
본 발명은 최신 기술을 개선한다. 이를 위해, 본 발명은 블록들로 분할되는 적어도 하나의 이미지를 표현하는 코딩된 데이터 스트림을 디코딩하기 위한 방법에 관한 것이고, 디코딩 방법은, 현재 블록으로 지칭되는 이미지의 적어도 하나의 블록에 대해,
현재 블록의 코딩 모드를 표시하는 정보의 항목을 디코딩하는 단계,
현재 블록의 코딩 모드가 제1 코딩 모드에 대응할 때, 현재 블록을 디코딩하는 단계 ― 현재 블록을 디코딩하는 단계는,
신택스 엘리먼트들의 제1 그룹을 사용하여 현재 블록과 연관된 예측 잔차를 디코딩하는 단계,
이전에 디코딩된 블록의 재구성된 픽셀들로부터 현재 블록의 예측을 획득하는 단계,
획득된 예측 및 상기 디코딩된 예측 잔차로부터 상기 현재 블록을 재구성하는 단계를 포함함 ―,
현재 블록의 코딩 모드가 제2 코딩 모드에 대응할 때, 현재 블록을 디코딩하는 단계를 포함하고, 현재 블록을 디코딩하는 단계는,
신택스 엘리먼트들의 제2 그룹을 사용하여 현재 블록과 연관된 예측 잔차를 디코딩하는 단계 ― 상기 제2 그룹은 상기 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹임 ―,
상기 현재 블록을 재구성하는 단계를 포함하고, 현재 블록을 재구성하는 단계는,
현재 블록의 각각의 픽셀에 대해,
다른 이전에 디코딩된 픽셀로부터 상기 픽셀의 예측을 획득하는 단계 ― 상기 다른 이전에 디코딩된 픽셀은 상기 현재 블록 또는 이미지의 이전에 디코딩된 블록에 속함 ―,
신택스 엘리먼트들의 제2 그룹을 사용하여 디코딩된 예측 잔차 및 상기 획득된 픽셀의 예측으로부터 상기 픽셀을 재구성하는 단계를 포함한다.
따라서, 본 발명에 따르면, 기존의 코딩 모드의 신택스 엘리먼트들의 적어도 하나의 부분이 사용될 수 있다. 이는, 동일한 프로세싱 유닛이 사용될 수 있기 때문에 데이터 프로세싱을 풀링(pooling)하는 것, 및 하드웨어 및 소프트웨어 둘 모두의 관점에서 구현 비용을 감소시키는 것을 허용한다.
본 발명에 따르면, 신택스 엘리먼트들의 제1 그룹 및 신택스 엘리먼트들의 제2 그룹이 별개임을 주목해야 한다. 실제로, 신택스 엘리먼트들의 제2 그룹은 제1 그룹의 서브그룹이고, 이는 상기 제1 그룹의 적어도 하나의 신택스 엘리먼트를 포함한다. 신택스 엘리먼트들의 제2 그룹은, 제1 그룹의 모든 신택스 엘리먼트들을 포함하지는 않는다는 점에서 제1 그룹과는 상이하다. 실제로, 신택스 엘리먼트들의 제2 그룹은 제1 그룹의 신택스 엘리먼트들의 수보다 엄격하게 적은 신택스 엘리먼트들의 수를 포함한다. 따라서, 신택스 엘리먼트들의 제2 그룹은 신택스 엘리먼트들의 제1 그룹의 엄격한 서브그룹이다.
따라서 본 발명은 제2 코딩 모드에 따라 획득된 예측 잔차의 코딩을, 코딩될 계수들의 통계에 적응시킨다. 실제로, 이러한 통계는 제1 코딩 모드에 따라 획득된 예측 잔차의 계수들의 통계와는 상이하다. 따라서, 데이터 압축이 개선된다.
본 발명은 또한 블록들로 분할되는 적어도 하나의 이미지를 표현하는 데이터 스트림을 인코딩하기 위한 방법에 관한 것이다. 인코딩 방법은 현재 블록으로 지칭되는 이미지의 적어도 하나의 블록에 대해,
현재 블록의 코딩 모드를 표시하는 정보의 항목을 코딩하는 단계,
현재 블록의 코딩 모드가 제1 코딩 모드에 대응할 때, 현재 블록을 코딩하는 단계 ― 현재 블록을 코딩하는 단계는,
이전에 디코딩된 블록의 재구성된 픽셀들로부터 현재 블록의 예측을 획득하는 단계,
획득된 예측으로부터 획득되는 현재 블록과 연관된 예측 잔차를 획득하는 단계,
신택스 엘리먼트들의 제1 그룹을 사용하여 현재 블록과 연관된 상기 예측 잔차를 코딩하는 단계를 포함함 ―,
현재 블록의 코딩 모드가 제2 코딩 모드에 대응할 때, 현재 블록을 코딩하는 단계를 포함하고, 현재 블록을 코딩하는 단계는,
현재 블록의 각각의 픽셀에 대해,
다른 이전에 디코딩된 픽셀로부터 상기 픽셀의 예측을 획득하는 단계 ― 상기 다른 이전에 디코딩된 픽셀은 상기 현재 블록 또는 이미지의 이전에 디코딩된 블록에 속함 ―,
상기 픽셀에 대해 획득된 예측으로부터 예측 잔차를 획득하는 단계,
신택스 엘리먼트들의 제2 그룹을 사용하여 상기 현재 블록의 픽셀들과 연관된 예측 잔차들을 포함하는 현재 블록과 연관된 예측 잔차를 코딩하는 단계를 포함하고, 상기 제2 그룹은 상기 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹이다.
본 발명은 또한 블록들로 분할되는 적어도 하나의 이미지를 표현하는 코딩된 데이터 스트림에 관한 것이다. 코딩된 데이터 스트림은 현재 블록으로 지칭되는 이미지의 적어도 하나의 블록에 대해,
현재 블록의 코딩 모드를 표시하는 정보의 항목,
현재 블록의 코딩 모드가 제1 코딩 모드에 대응할 때, 신택스 엘리먼트들의 제1 그룹을 사용하여 코딩된 제1 코딩 모드에 다른 예측 잔차 ― 예측 잔차는 이전에 디코딩된 블록의 재구성된 픽셀들로부터 현재 블록의 예측으로부터 획득되는 제1 코딩 모드에 따름 ―,
현재 블록의 코딩 모드가 제2 코딩 모드에 대응할 때, 신택스 엘리먼트들의 제2 그룹을 사용하여 코딩된 제2 코딩 모드에 따른 예측 잔차 ― 상기 제2 그룹은 상기 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹이고, 상기 예측 잔차는,
현재 블록의 각각의 픽셀에 대해,
다른 이전에 디코딩된 픽셀로부터 상기 픽셀의 예측을 획득하는 것 ― 상기 다른 이전에 디코딩된 픽셀은 상기 현재 블록 또는 이미지의 이전에 디코딩된 블록에 속함 ―,
상기 픽셀에 대해 획득된 예측으로부터 상기 픽셀과 연관된 예측 잔차를 획득하는 것에 의해 획득된 제2 코딩 모드에 따른다.
이러한 데이터 스트림은 임의의 저장 매체, 예를 들어, 메모리 상에 저장될 수 있거나, 또는 라디오 또는 다른 수단에 의해 전기 또는 광학 케이블을 통해 반송될 수 있는 전기 또는 광학 신호의 형태로 송신될 수 있다.
본 발명의 특정 실시예에 따르면, 신택스 엘리먼트들의 제1 그룹은 상기 예측 잔차의 계수들의 결정된 스캐닝 순서에 따라, 상기 현재 블록과 연관된 예측 잔차의 제1 넌-널(non-null) 계수의 위치를 표시하는 위치 신택스 엘리먼트들을 포함하고, 상기 신택스 엘리먼트들의 제2 그룹은 상기 위치 신택스 엘리먼트들을 포함하지 않는다.
제1 코딩 모드에 따라 현재 블록의 예측 잔차를 디코딩 또는 인코딩할 때, 예측 잔차는 상기 결정된 스캐닝 순서에 따라 예측 잔차의 제1 넌-널 계수로부터 예측 잔차의 마지막 계수까지 스캐닝된다.
본원에 설명된 특정 실시예에 따르면, 제2 코딩 모드에 따라 현재 블록의 예측 잔차를 디코딩 또는 코딩할 때, 예측 잔차는 상기 결정된 스캐닝 순서에 따라 예측 잔차의 제1 계수로부터 예측 잔차의 마지막 계수까지 스캐닝된다. 본 발명의 이러한 특정 실시예는, 제1 넌-널 계수가 예측 잔차의 제1 계수에 대응할 때 제2 코딩 모드에 따라 예측 잔차의 코딩 비용을 감소시킨다.
본 발명의 다른 특정 실시예에 따르면, 현재 블록과 연관된 예측 잔차는 계수들의 적어도 하나의 서브-블록을 포함하고, 상기 신택스 엘리먼트들의 제1 그룹은 상기 계수들의 적어도 하나의 서브-블록과 연관된 서브-블록 신택스 엘리먼트 ― 상기 서브-블록 신택스 엘리먼트는 서브-블록의 적어도 하나의 계수가 넌-널인지 여부를 표시함 ―, 및 적어도 하나의 넌-널 계수를 포함하는 예측 잔차의 계수들의 각각의 서브-블록에 대해, 서브-블록의 각각의 계수에 대한 유의성 신택스 엘리먼트를 포함하고, 상기 유의성 신택스 엘리먼트는 상기 계수가 널인지 여부를 표시한다. 본 발명의 이러한 다른 특정 실시예에 따르면, 신택스 엘리먼트들의 제2 그룹은 예측 잔차의 각각의 계수에 대한 유의성 신택스 엘리먼트를 포함한다.
즉, 본 발명의 이러한 특정 실시예에 따르면, 제2 코딩 모드에 따라, 현재 블록과 연관된 예측 잔차의 계수들은 서브-블록에 의해 그룹화되지 않고, 서브-블록 신택스 엘리먼트는 신택스 엘리먼트들의 제2 그룹에 포함되지 않는다.
본 발명의 다른 특정 실시예에 따르면, 신택스 엘리먼트들의 제1 그룹은, 결정된 스캐닝 순서에 따라 스캐닝된 예측 잔차의 각각의 넌-널 계수에 대해,
계수의 절대값이 1과 동일한지 여부를 표시하는 신택스 엘리먼트,
계수의 절대값이 1과 동일하지 않은 각각의 계수에 대해, 계수의 절대값이 2와 동일한지 여부를 표시하는 신택스 엘리먼트,
계수의 절대값이 1 또는 2와 동일하지 않은 각각의 계수에 대해, 계수의 절대값 마이너스 3을 표시하는 신택스 엘리먼트,
계수가 포지티브인지 또는 네거티브인지 여부를 표시하는 신택스 엘리먼트를 포함한다.
본 발명의 이러한 다른 특정 실시예에 따르면, 신택스 엘리먼트들의 제2 그룹은, 결정된 스캐닝 순서에 따라 스캐닝된 예측 잔차의 각각의 넌-널 계수에 대해, 계수의 절대값을 표시하는 신택스 엘리먼트, 및 계수가 포지티브인지 또는 네거티브인지 여부를 표시하는 상기 신택스 엘리먼트를 포함한다.
본 발명은 또한 앞서 정의된 특정 실시예들 중 임의의 하나에 따른 디코딩 방법을 구현하도록 구성된 디코딩 디바이스에 관한 것이다. 이러한 디코딩 디바이스는, 물론, 본 발명에 따른 디코딩 방법과 관련된 상이한 특성들을 포함할 수 있다. 따라서, 이러한 디코딩 디바이스의 특성들 및 이점들은 디코딩 방법의 것들과 동일하고, 추가로 상세히 설명되지 않는다.
디코딩 디바이스는 특히, 프로세서를 포함하고, 프로세서는, 현재 블록으로 지칭되는 이미지의 적어도 하나의 블록에 대해,
현재 블록의 코딩 모드를 표시하는 정보의 항목을 디코딩하고,
현재 블록의 상기 코딩 모드가 제1 코딩 모드에 대응할 때,
신택스 엘리먼트들의 제1 그룹을 사용하여 현재 블록과 연관된 예측 잔차를 디코딩하는 것,
이전에 디코딩된 블록의 재구성된 픽셀들로부터 현재 블록의 예측을 획득하는 것,
획득된 예측 및 상기 디코딩된 예측 잔차로부터 상기 현재 블록을 재구성하는 것에 의해 현재 블록을 디코딩하고,
현재 블록의 코딩 모드가 제2 코딩 모드에 대응할 때,
신택스 엘리먼트들의 제2 그룹을 사용하여 현재 블록과 연관된 예측 잔차를 디코딩하는 것 ― 상기 제2 그룹은 상기 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹임 ―,
상기 현재 블록을 재구성하는 것에 의해 현재 블록을 디코딩하도록 구성되고, 현재 블록을 재구성하는 것은,
현재 블록의 각각의 픽셀에 대해,
다른 이전에 디코딩된 픽셀로부터 상기 픽셀의 예측을 획득하는 것 ― 상기 다른 이전에 디코딩된 픽셀은 상기 현재 블록 또는 이미지의 이전에 디코딩된 블록에 속함 ―,
신택스 엘리먼트들의 제2 그룹을 사용하여 디코딩된 예측 잔차 및 상기 획득된 픽셀의 예측으로부터 상기 픽셀을 재구성하는 것을 포함한다.
본 발명의 특정 실시예에 따르면, 이러한 디코딩 디바이스는 단말에 포함된다.
본 발명은 또한 앞서 정의된 특정 실시예들 중 임의의 하나에 따른 코딩 방법을 구현하도록 구성된 인코딩 디바이스에 관한 것이다. 이러한 인코딩 디바이스는, 물론, 본 발명에 따른 코딩 방법과 관련된 상이한 특성들을 포함할 수 있다. 따라서, 이러한 코딩 디바이스의 특성들 및 이점들은 코딩 방법의 것들과 동일하고, 추가로 상세히 설명되지 않는다.
인코딩 디바이스는 특히, 프로세서를 포함하고, 프로세서는, 현재 블록으로 지칭되는 이미지의 적어도 하나의 블록에 대해,
현재 블록의 코딩 모드를 표시하는 정보의 항목을 코딩하고,
현재 블록의 코딩 모드가 제1 코딩 모드에 대응할 때,
이전에 디코딩된 블록의 재구성된 픽셀들로부터 현재 블록의 예측을 획득하는 것,
획득된 예측으로부터 획득되는 상기 현재 블록과 연관된 예측 잔차를 획득하는 것,
신택스 엘리먼트들의 제1 그룹을 사용하여 현재 블록과 연관된 상기 예측 잔차를 코딩하는 것에 의해 현재 블록을 코딩하고,
현재 블록의 코딩 모드가 제2 코딩 모드에 대응할 때,
현재 블록의 각각의 픽셀에 대해,
다른 이전에 디코딩된 픽셀로부터 상기 픽셀의 예측을 획득하는 것 ― 상기 다른 이전에 디코딩된 픽셀은 상기 현재 블록 또는 이미지의 이전에 디코딩된 블록에 속함 ―,
상기 픽셀에 대해 획득된 예측으로부터 예측 잔차를 획득하는 것,
신택스 엘리먼트들의 제2 그룹을 사용하여 상기 현재 블록의 픽셀들과 연관된 예측 잔차들을 포함하는 현재 블록과 연관된 예측 잔차를 코딩하는 것에 의해 현재 블록을 코딩하도록 구성되고, 상기 제2 그룹은 상기 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹이다.
본 발명의 특정 실시예에 따르면, 이러한 코딩 디바이스는 단말 또는 서버에 포함된다.
본 발명에 따른 디코딩 방법, 인코딩 방법 각각은 다양한 방식들로, 특히 유선 형태 또는 소프트웨어 형태로 구현될 수 있다. 본 발명의 특정 실시예에 따르면, 디코딩 방법, 코딩 방법 각각은 컴퓨터 프로그램에 의해 구현된다. 본 발명은 또한, 프로그램이 프로세서에 의해 실행될 때, 이전에 설명된 특정 실시예들 중 임의의 실시예에 따른 디코딩 방법 또는 코딩 방법을 구현하기 위한 명령들을 포함하는 컴퓨터 프로그램에 관한 것이다. 이러한 프로그램은 임의의 프로그래밍 언어를 사용할 수 있다. 이는 통신 네트워크로부터 다운로드되고 그리고/또는 컴퓨터 판독가능 매체 상에 기록될 수 있다.
이러한 프로그램은 임의의 프로그래밍 언어를 사용할 수 있고, 소스 코드, 객체 코드, 또는 소스 코드와 객체 코드 사이의 중간적 코드의 형태, 예를 들어, 부분적으로 컴파일된 형태 또는 임의의 다른 바람직한 형태일 수 있다.
본 발명은 또한 앞서 언급된 바와 같은 컴퓨터 프로그램의 명령들을 포함하는 컴퓨터 판독가능 저장 매체 또는 데이터 매체에 관한 것이다. 앞서 언급된 기록 매체들은 프로그램을 저장할 수 있는 임의의 엔티티 또는 디바이스일 수 있다. 예를 들어, 매체는 메모리와 같은 저장 수단을 포함할 수 있다. 한편, 기록 매체들은 라디오에 의해 또는 다른 수단에 의해, 전기 또는 광학 케이블을 통해 반송될 수 있는 전기 또는 광학 신호와 같은 송신 매체에 대응할 수 있다. 본 발명에 따른 프로그램은 특히 인터넷-타입 네트워크 상에 다운로드될 수 있다.
대안적으로, 기록 매체들은 프로그램이 임베딩되는 집적 회로에 대응할 수 있고, 회로는 해당 방법을 실행하도록 또는 실행에 사용되도록 적응된다.
4. 도면 목록
본 발명의 다른 특성들 및 이점들은 간단한 예시적인 비제한적 예로서 제공된 특정 실시예의 다음 설명 및 첨부된 도면을 읽을 때 보다 명확하게 나타날 것이다.
도 1은 본 발명의 특정 실시예에 따른 코딩 방법의 단계들을 도시한다.
도 2는 본 발명의 특정 실시예에 따른 인트라 예측 모드를 결정하기 위한 현재 블록의 이웃 블록들의 위치 예를 예시한다.
도 3은 본 발명의 특정 실시예에 따른 현재 블록의 픽셀들을 예측하기 위해 사용되는 기준 픽셀들의 위치 예를 예시한다.
도 4는 본 발명의 특정 실시예에 따른 디코딩 방법의 단계들을 도시한다.
도 5는 본 발명의 특정 실시예에 따른 이미지의 적어도 하나의 블록을 표현하는 코딩된 데이터를 포함하는 신호 예를 예시한다.
도 6은 본 발명의 특정 실시예들 중 임의의 것에 따른 코딩 방법을 구현하도록 적응된 코딩 디바이스의 단순화된 구조를 도시한다.
도 7은 본 발명의 특정 실시예들 중 임의의 것에 따른 디코딩 방법을 구현하도록 적응된 디코딩 디바이스의 단순화된 구조를 도시한다.
도 8은 계수들의 블록을 서브-블록들로 분할하는 것을 예시한다.
5. 본 발명의 실시예의 설명
5.1 일반적 원리
본 발명의 일반적 원리는, 픽셀-기반 인트라 예측, 즉, 코딩될 블록의 이전에 재구성된 픽셀들로부터 코딩될 블록의 픽셀들의 예측으로부터 예측 잔차를 코딩하기 위해, 적어도 하나의 이전에 재구성된 블록으로부터 픽셀들의 예측을 사용하는 코딩 모드로부터 획득된 예측 잔차를 코딩하기 위해 사용되는 신택스 엘리먼트들의 그룹의 일 부분의 사용을 허용하는 것이다.
따라서, 본 발명은 특히 다른 코딩 모드에 의해 이미 사용된 신택스 엘리먼트들의 일 부분을 재사용하는 것을 가능하게 함으로써, 픽셀-기반 인트라 코딩 모드의 압축 성능을 개선하고 이러한 새로운 코딩 모드의 구현 비용을 감소시킨다.
5.2 실시예들
도 1은 본 발명의 특정 실시예에 따른 코딩 방법의 단계들을 도시한다. 예를 들어, 이미지들의 시퀀스 I1, I2, ..., INb는 본 발명의 특정 실시예에 따른 코딩된 데이터 스트림 STR의 형태로 코딩된다. 예를 들어, 이러한 코딩 방법은 도 6과 관련하여 추후에 설명되는 바와 같은 코딩 디바이스에 의해 구현된다.
이미지들의 시퀀스 I1, I2, ..., INb ― Nb는 코딩될 시퀀스의 이미지들의 수임 ― 는 코딩 방법의 입력으로서 제공된다. 코딩 방법은 입력으로서 제공된 이미지들의 시퀀스를 표현하는 코딩된 데이터 스트림 STR을 출력한다.
공지된 방식으로, 이미지들의 시퀀스 I1, I2, ..., INb의 코딩은 인코더에 공지되고 이전에 확립된 코딩 순서에 따라 이미지별로 수행된다. 예를 들어, 이미지들은 시간 순서 I1, I2, ..., INb, 또는 다른 순서, 예를 들어, I1, I3, I2, ..., INb로 코딩될 수 있다.
단계 E0에서, 이미지들의 시퀀스 I1, I2, ..., INb의 코딩될 이미지 Ij는 블록들로, 예를 들어, 크기 32x32 또는 64x64 픽셀들 또는 그 초과의 블록들로 분할된다. 이러한 블록은, 정사각형 또는 직사각형 서브-블록들, 예를 들어, 16x16, 8x8, 4x4, 16x8, 8x16으로 세분화될 수 있다.
단계 E1에서, 이미지 Ij의 코딩될 제1 블록 또는 서브-블록 Xb는 이미지 Ij의 미리 결정된 스캐닝 순서에 따라 선택된다. 예를 들어, 이는 이미지의 사전편찬 상의 스캐닝 순서에서 제1 블록일 수 있다.
단계 E2에서, 인코더는 현재 블록 Xb를 코딩하기 위한 코딩 모드를 선택할 것이다.
본원에 설명된 특정 실시예에 따르면, 인코더는 제1 코딩 모드 M1 및 제2 코딩 모드 M2로부터 현재 블록 Xb를 코딩하기 위한 코딩 모드를 선택한다. 추가적인 코딩 모드들(본원에 설명되지 않음)이 사용될 수 있다.
본원에 설명된 특정 실시예에 따르면, 제1 코딩 모드 M1은 예를 들어, HEVC 표준에 따라 정의된 바와 같이 종래의 인트라 예측에 의한 현재 블록의 코딩에 대응하고, 제2 코딩 모드 M2는 ILR(In-Loop Residual) 예측 코딩에 대응한다.
단계 E2에서, 인코더는 현재 블록을 코딩하기 위한 최상의 코딩 모드를 결정하기 위해 레이트/왜곡 최적화를 수행할 수 있다. 이러한 레이트/왜곡 최적화 동안, 제1 및 제2 코딩 모드들과 별개인 추가적인 코딩 모드들, 예를 들어, 인터 모드 코딩 모드가 테스트될 수 있다. 이러한 레이트/왜곡 최적화 동안, 인코더는 각각의 코딩 모드와 연관된 왜곡 및 레이트를 결정하기 위해 상이한 이용가능한 코딩 모드들에 따라 현재 블록 Xb의 코딩을 시뮬레이트하고, 예를 들어, D+λR 기능에 따라 최상의 레이트/왜곡 절충을 제공하는 코딩 모드를 선택하고, 여기서 R은 평가된 코딩 모드에 따라 현재 블록을 코딩하도록 요구되는 레이트이고, D는 디코딩된 블록과 원래의 현재 블록 사이에서 측정된 왜곡이고, λ는, 예를 들어, 사용자에 의해 입력되거나 인코더에서 정의되는 라그랑지안 승수(Lagrangian multiplier)이다.
단계 E20에서, 현재 블록에 대해 선택된 코딩 모드를 표시하는 정보의 항목은 데이터 스트림 STR에서 코딩된다.
현재 블록 Xb가 제1 코딩 모들 M1에 따라 코딩되면, 방법은 M1에 따라 블록을 코딩하기 위한 단계 E21로 진행한다. 현재 블록 Xb가 제2 코딩 모들 M2에 따라 코딩되면, 방법은 M2에 따라 블록을 코딩하기 위한 단계 E22로 진행한다.
본 발명의 특정 실시예에 따라, 제1 코딩 모드 M1에 따라 블록을 코딩하기 위한 단계 E21이 아래에서 설명된다. 본원에 설명된 특정 모드에 따르면, 제1 코딩 모드는 종래의 인트라 예측, 예를 들어, HEVC 표준에서 정의된 것에 대응한다.
단계 E210에서, 양자화 단계 δ1이 결정된다. 예를 들어, 양자화 단계 δ1은 사용자에 의해 설정되거나, 또는 압축과 품질 사이의 절충을 설정하는 양자화 파라미터를 사용하여 계산되고 사용자에 의해 입력 또는 인코더에 의해 정의될 수 있다. 따라서, 이러한 양자화 파라미터는 레이트 왜곡 비용 함수 D+ λ.R에서 사용되는 파라미터 λ일 수 있고, 여기서 D는 코딩에 의해 도입되는 왜곡을 표현하고, R은 코딩에 사용되는 레이트를 표현한다. 이러한 함수는 코딩 선택들을 행하기 위해 사용된다. 통상적으로, 이러한 함수를 최소화하는 이미지를 코딩하는 방법이 추구된다.
변형으로서, 양자화 파라미터는 AVC 또는 HEVC 표준들에서 종래에 사용되는 양자화 파라미터에 대응하는 QP일 수 있다. 따라서, HEVC 표준에서, 양자화 단계 δ1은 수식
Figure pct00001
에 의해 결정되고, 여기서 k = 0..5에 대해 levelScale[ k ] = { 40, 45, 51, 57, 64, 72 }이다.
단계 E211에서, 현재 블록의 예측은 종래의 인트라 예측 모드를 사용하여 결정된다. 이러한 종래의 인트라 예측에 따르면, 각각의 예측된 픽셀은 현재 블록 위에 위치된 이웃 블록들(기준 픽셀들)로부터 발생하는 디코딩된 픽셀들로부터 현재 블록의 좌측으로만 계산된다. 픽셀들이 기준 픽셀들로부터 예측되는 방식은, 디코더에 송신되고 인코더 및 디코더에 공지된 미리 결정된 모드 세트들로부터 인코더에 의해 선택되는 예측 모드에 의존한다.
따라서, HEVC에서 35개의 가능한 예측 모드들, 즉, 33개의 상이한 각도 방향들에서 기준 픽셀들을 보간하는 33개의 모드들, 및 2개의 다른 모드들, 즉, 예측된 블록의 각각의 픽셀이 기준 픽셀들의 평균으로부터 생성되는 DC 모드, 및 평면형 및 비방향성 보간을 수행하는 PLANAR 모드가 존재한다. 이러한 "종래의 인트라 예측"은 널리 공지되어 있고, 또한 ITU-T H.264 표준(오직 9개의 상이한 모드들만이 존재함) 뿐만 아니라 인터넷 어드레스(https://jvet.hhi.fraunhofer.de/)에서 입수가능한 실험적 JEM 소프트웨어에서 사용되며, 여기서 67개의 상이한 예측 모드들이 존재한다. 모든 경우들에서, 종래의 인트라 예측은 위에서 언급된 2개의 양상들(이웃 블록들로부터 픽셀들의 예측 및 최적의 예측 모드의 디코더로의 송신)을 고려한다.
따라서, 단계 E211에서, 인코더는 예측 모드들의 미리 결정된 리스트로부터 이용가능한 예측 모드들 중 하나를 선택한다. 선택하기 위한 하나의 방식은 예를 들어, 모든 예측 모드들을 평가하는 것, 및 전통적으로 레이트-왜곡 비용과 같은 비용 함수를 최소화하는 예측 모드를 유지하는 것으로 이루어진다.
단계 E212에서, 현재 블록에 대해 선택된 예측 모드는 현재 블록의 이웃 블록들로부터 코딩된다. 도 2는 현재 블록 Xb의 예측 모드를 코딩하기 위해 현재 블록 Xb의 이웃 블록들 Ab 및 Bb의 위치 예를 도시한다.
단계 E212에서, 현재 블록에 대해 선택된 인트라 예측 모드는 이웃 블록들과 연관된 인트라 예측 모드들을 사용하여 코딩된다.
예를 들어, 현재 블록의 예측 모드를 코딩하기 위해 HEVC 표준에서 설명된 접근법이 사용될 수 있다. 도 2의 예에서, 이러한 접근법은 현재 블록 위에 위치된 블록 Ab와 연관된 인트라 예측 모드 mA, 및 현재 블록의 바로 좌측에 위치된 블록 Bb와 연관된 인트라 예측 모드 mB를 식별하는 것으로 이루어진다. mA 및 mB의 값에 따라, 3개의 인트라 예측 모드들을 포함하는 MPM(Most Probable Mode)으로 지칭되는 리스트 및 32개의 다른 예측 모드들을 포함하는 넌-MPM으로 지칭되는 리스트가 생성된다.
HEVC 표준에 따라, 현재 블록의 인트라 예측 모드를 코딩하기 위해, 신택스 엘리먼트들이 송신된다:
- 현재 블록에 대해 코딩될 예측 모드가 MPM 리스트 내에 있는지 여부를 표시하는 바이너리 표시자,
- 현재 블록의 예측 모드가 MPM 리스트에 속하면, 현재 블록의 예측 모드에 대응하는 MPM 리스트가 코딩되고,
- 현재 블록의 예측 모드가 MPM 리스트에 속하지 않으면, 현재 블록의 예측 모드에 대응하는 넌-MPM 리스트가 코딩되고,
단계 E213에서, 현재 블록에 대한 예측 잔차 R이 구성된다.
단계 E213에서, 표준 방식으로, 예측된 블록 P가 단계 E211에서 선택된 예측 모드에 따라 구성된다. 그 다음, 예측 잔차 R은 예측된 블록 P와 원래의 현재 블록 사이의 각각의 픽셀에 대한 차이를 계산함으로써 획득된다.
단계 E214에서, 예측 잔차 R은 RT로 변환된다.
단계 E214에서, 변환 계수들을 포함하는 블록 RT를 생성하기 위해 잔차 블록 R에 주파수 변환이 적용된다. 변환은 예를 들어, DCT-타입 변환일 수 있다. 변환들의 미리 결정된 세트 ET로부터 사용될 변환을 선택하고 사용된 변환을 디코더에 통지하는 것이 가능하다.
단계 E215에서, 변환된 잔차 블록 RT는 예를 들어, 양자화 단계 δ1을 갖는 스칼라 양자화를 사용하여 양자화된다. 이는 양자화된 변환된 예측 잔차 블록 RTQ를 생성한다.
단계 E216에서, 양자화된 블록 RTQ의 계수들이 엔트로피 인코더에 의해 코딩된다. 예를 들어, HEVC 표준에서 특정된 엔트로피 코딩이 사용될 수 있다.
이러한 경우, 잔차 RTQ의 계수들의 코딩은 다음과 같이 작용한다.
계수들의 스캐닝 순서가 결정된다. 이러한 스캐닝 순서는 인코더 및 디코더에서 동일하다. 이는, 예를 들어, 인코더 및 디코더에서 디폴트로 정의된다. 이는, 예를 들어, 행별로 및 열별로 현재 양자화된 블록 RTQ를 스캐닝하는 것으로 이루어진다.
신택스 엘리먼트들이 스캐닝 순서에 따라 직면되는 제1 넌-널 계수의 위치를 표시하기 위해 송신된다. 이러한 신택스 엘리먼트들은 LastX 및 LastY로 지칭될 것이다(현재 양자화된 블록 RTQ에서 상기 계수의 좌표들을 표시함).
그 다음, 계수들은 상기 제1 넌-널 계수로부터 현재 양자화된 블록 RTQ의 마지막 계수까지 스캐닝된다. 현재 양자화된 블록 RTQ의 계수들은 서브-블록들로 그룹화된다. 예를 들어, 4x4 계수들의 서브-블록들로 분할되는 변환된 예측 잔차 블록을 도시하는 도 8에 도시된 바와 같이, 계수들은 현재 양자화된 블록 RTQ에 포함된 크기 4x4의 서브-블록들로 그룹화된다. 서브-블록들의 다른 크기들이 물론 가능하다.
각각의 서브-블록의 경우, 그 서브-블록이 완전히 제로들로 이루어지는지 여부를 표시하는 신택스 엘리먼트 coded_sub_block_flag가 송신된다. 즉, 이러한 신택스 엘리먼트는 서브-블록의 모든 계수들이 널이면 값 0을 취하고 그렇지 않으면 값 1을 취한다(서브그룹의 적어도 하나의 계수는 0과는 상이하다).
적어도 하나의 넌-널 계수를 포함하는 각각의 서브-블록에 대해, (결정된 스캐닝 순서에 따라 LastX 및 LastY에 의해 표시된 서브-블록의 마지막 계수 이후에 위치된) 각각의 계수에 대한 신택스 엘리먼트 sig_coeff_flag가 송신되고, 이러한 신택스 엘리먼트는 계수가 널인지 여부를 표시한다. 이러한 신택스 엘리먼트는 LastX 및 LastY에 의해 식별된 제1 넌-널 계수에 대해 송신되지 않는데, 이는, 이러한 계수가 넌-널인 것을 인코더가 이미 알기 때문이다.
각각의 넌-널 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater1_flag가 송신되어, 계수가 1과 동일한지 여부를 표시한다.
넌-널이고 1과 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater2_flag가 송신되어, 계수가 2와 동일한지 여부를 표시한다.
넌-널이고 1과 동일하지 않고 2와 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_remaining가 송신되어, 계수 마이너스 3의 진폭을 표시한다.
마지막으로, 각각의 넌-널 계수에 대해, 계수가 포지티브인지 또는 네거티브인지 여부를 표시하기 위해 신택스 엘리먼트 coeff_sign_flag가 송신된다.
공지된 방식으로, 양자화된 블록 RTQ의 계수들을 역양자화하고, 그 다음, 디코딩된 예측 잔차를 획득하기 위해 역양자화된 계수들에 역변환을 적용함으로써, 현재 블록이 디코딩된다. 그 다음, 현재 블록을 재구성하고 그 디코딩된 버전을 획득하기 위해, 디코딩된 예측 잔차에 예측이 추가된다. 그 다음, 현재 블록의 디코딩된 버전이 추후에 사용되어 이미지의 다른 이웃 블록들이 공간적으로 예측되거나 다른 이미지들의 블록들이 인터-이미지 예측에 의해 예측될 수 있다.
본 발명의 특정 실시예에 따라, 제2 코딩 모드 M2에 따라 블록을 코딩하기 위한 단계 E22가 아래에서 설명된다. 본원에 설명된 특정 실시예에 따르면, 제2 코딩 모드는 ILR 예측 코딩에 대응한다.
단계 E220에서, 현재 블록에 대한 로컬 예측자 PL이 결정된다. 본원에 설명된 코딩 모드에 따르면, 현재 블록의 픽셀들은 현재 블록의 이웃 블록 또는 현재 블록 자체의 이전에 재구성된 픽셀들에 의해 예측된다.
바람직하게는, 예측을 위해, 예측될 픽셀에 가능한 한 가까이 있는 픽셀들이 선택된다. 이는, 이것이 로컬 예측자로 지칭되는 이유이다. 로컬 예측자 PL은 또한 제2 코딩 모드 M2와 연관된 현재 블록의 예측 모드에 동화될 수 있다. 이러한 해석에 따르면, 본원에 설명된 특정 실시예에서, 제1 코딩 모드는 인트라 예측 모드들의 제1 그룹, 예를 들어, HEVC 표준에 의해 정의된 인트라 예측 모드들을 사용하고, 여기서는 ILR 모드인 제2 코딩 모드는 인트라 예측 모드들의 제1 그룹과 별개인 예측 모드들의 제2 그룹을 사용한다.
로컬 예측자 PL은 고유할 수 있거나 또는 미리 결정된 로컬 예측자들의 세트(예측 모드들의 제2 그룹)로부터 선택될 수 있다.
실시예 변형에 따르면, 4개의 로컬 예측자들이 정의된다. 따라서, 현재 블록 Xb를 도시하는 도 3에 예시된 바와 같이, 현재 블록으로부터 예측될 현재 픽셀을 X, X의 바로 좌측에 위치된 픽셀을 A, X의 바로 좌측 위에 위치된 픽셀을 B, X의 바로 위에 위치된 픽셀을 C로 지칭하면, 4개의 로컬 예측자들 PL1, PL2, PL3, PL4는 다음과 같이 정의될 수 있다:
Figure pct00002
여기서 min(A,B)는 A의 값과 B의 값 사이에서 최소 값을 리턴하는 함수에 대응하고, max(A,B)는 A의 값과 B의 값 사이에서 최대 값을 리턴하는 함수에 대응한다.
단계 E220에서, 현재 블록에 대해 사용된 로컬 예측자 PL이 결정된다. 즉, 현재 블록의 모든 픽셀들에 대해 동일한 로컬 예측자, 즉, 동일한 예측 함수가 사용될 것이다. 이를 위해, 몇몇 실시예 변형들이 가능하다.
예측자들 각각을 이용한 현재 블록의 코딩이 (현재 블록에 대한 코딩 모드를 선택하는 최적화와 유사하게) 시뮬레이트될 수 있고, 비용 함수를 최적화하는(예를 들어, D + λ.R 함수를 최소화함, 여기서 R은 블록을 코딩하기 위해 사용되는 레이트이고, D는 원래의 블록에 대한 디코딩된 블록의 왜곡이고, λ는 사용자에 의해 설정된 파라미터임) 로컬 예측자가 선택된다.
또는, 현재 블록에 대한 로컬 예측자를 선택하는 복잡도를 제한하기 위해, 이전에 코딩된 픽셀들의 텍스처의 배향이 분석된다. 예를 들어, 현재 블록의 위 또는 좌측에 위치된 블록에서 이전에 코딩된 픽셀들은 소벨-타입(Sobel-type) 연산자를 사용하여 분석된다.
- 배향이 수평인 것으로 결정되면, 로컬 예측자 PL2가 선택되고,
- 배향이 수직인 것으로 결정되면, 로컬 예측자 PL3이 선택되고,
- 배향이 대각인 것으로 결정되면, 로컬 예측자 PL4가 선택되고,
- 배향이 나타나지 않으면, 로컬 예측자 PL1이 선택된다.
현재 블록을 예측하기 위해 어느 로컬 예측자가 사용되었는지를 디코더에 표시하기 위해 데이터 스트림 STR에서 신택스 엘리먼트가 코딩된다.
단계 E221에서, 양자화 단계 δ2가 결정된다. 예를 들어, 양자화 단계 δ2는, 현재 블록이 제1 코딩 모드에 따라 코딩되었다면 단계 E210에서 결정될 양자화 단계 δ1과 동일한 양자화 파라미터에 의존한다.
단계 E222에서, 현재 블록에 대한 예측 잔차 R1이 계산된다. 이를 위해, 로컬 예측자가 선택되면, 현재 블록의 각각의 현재 픽셀에 대해,
- 예측된 값 PRED를 획득하기 위해, 현재 블록의 현재 픽셀 X는, 블록 외부에 있고 이미 재구성된 픽셀들(및 그에 따라 그들의 디코딩된 값과 함께 이용가능함), 또는 현재 블록에서 이전에 재구성된 픽셀들, 또는 둘 모두를 사용하여, 선택된 로컬 예측자 PL에 의해 예측된다. 모든 경우들에서, 예측자 PL은 이전에 재구성된 픽셀들을 사용한다. 도3에서, 현재 블록의 제1 행 및/또는 제1 열 상에 위치된 현재 블록의 픽셀들은 (예측된 값 PRED를 구성하기 위한) 기준 픽셀들로서, 블록 외부에 있고 이미 재구성된 픽셀들(도 3의 회색 픽셀들) 및 가능하게는 현재 블록의 재구성된 픽셀들을 사용할 것이다. 현재 블록의 다른 픽셀들의 경우, 예측된 값 PRED를 구성하기 위해 사용되는 기준 픽셀들은 현재 블록 내부에 위치되고;
PRED와 X 사이의 차이 DIFF는, Q(X) = ScalarQuant(DIFF) = ScalarQuant(δ2, X-PRED)에 의해 양자화 단계 δ2를 갖는 스칼라 양자화기에 의해 값 Q(X)로 양자화되고, 스칼라 양자화기는, 예를 들어,
Figure pct00003
와 같은 가장 가까운 이웃 스칼라 양자화기이다.
Q(X)는 X와 연관된 양자화된 잔차이다. 이는 공간 도메인에서 계산되는데, 즉, 픽셀 X의 예측된 값 PRED와 X의 원래의 값 사이의 차이로부터 직접 계산된다. 픽셀 X에 대한 이러한 양자화된 잔차 Q(X)는 추후에 코딩될 양자화된 예측 잔차 블록 R1Q에 저장되고;
- X의 디코딩된 예측된 값 P1(X)은 양자화된 잔차 Q(X)의 역양자화된 값을 예측된 값 PRED에 추가함으로써 계산된다. 따라서, X의 디코딩된 예측된 값 P1(X)은 P1(X) = PRED + ScalarDequant(δ2, Q(X))에 의해 획득된다. 예를 들어, 가장 가까운 스칼라 양자화 역함수는, ScalarDequant(Δ,x)=Δ×x
로 주어진다.
따라서, 디코딩된 예측된 값 P1(X)는 현재 블록에서 프로세싱되도록 유지되는 가능한 픽셀들을 예측하는 것을 가능하게 한다. 또한, 현재 블록의 픽셀들의 디코딩된/재구성된 값들을 포함하는 블록 P1은 (종래의 인트라 예측자와는 반대로) 현재 블록의 ILR 예측자이다.
앞서 설명된 서브-단계들은, PL1,..., PL4로부터 선택된 예측을 위해 사용되는 픽셀들이 이용가능한 것을 보장하는 스캐닝 순서로, 현재 블록의 모든 픽셀들에 대해 수행된다.
실시예 변형에 따르면, 현재 블록의 스캐닝 순서는 사전편찬 상의 순서, 즉, 좌측부터 우측으로, 그리고 최상부로부터 바닥으로의 순서이다.
다른 실시예 변형에 따르면, 현재 블록의 몇몇 스캐닝 순서들, 예를 들어,
- 사전편찬 상의 순서, 또는
- 최상부로부터 바닥으로 제1 열을 스캐닝하고, 그 다음, 그 바로 우측의 열을 스캐닝하는 등등, 또는
- 서로 대각들을 스캐닝하는 것
이 사용될 수 있다.
이러한 다른 변형에 따르면, 스캐닝 순서들 각각과 연관된 코딩 비용을 시뮬레이트하고, 레이트/왜곡 관점에서 현재 블록에 대한 최상의 스캐닝 순서를 선택하고, 그 다음, 현재 블록에 대해, 선택된 스캐닝 순서를 표현하는 정보의 항목을 코딩하는 것이 가능하다.
단계 E222의 종료 시에, 양자화된 잔차 블록 R1Q가 결정되었다. 이러한 양자화된 잔차 블록 R1Q는 디코더로의 송신을 위해 코딩되어야 한다. 현재 블록의 예측자 P1이 또한 결정되었다.
단계 E223에서, 양자화된 잔차 블록 R1Q는 디코더로의 송신을 위해 코딩된다. 종래의 예측 잔차의 양자화된 계수들을 코딩하기 위해, HEVC에서 설명된 방법과 같은 임의의 공지된 접근법이 사용될 수 있다.
본원에 설명된 발명의 특정 실시예에 따르면, 양자화된 잔차 블록 R1Q의 값들은, 코딩 모드 M1로부터 예측 잔차를 코딩하기 위해 사용되는 신택스 엘리먼트들의 적어도 하나의 부분을 사용하여 데이터 스트림 STR에서 엔트로피 인코더를 이용하여 코딩된다.
잔차 R1Q를 코딩하기 위해, 잔차 RTQ에 대해 사용되는 신택스 엘리먼트들의 그룹의 서브그룹이 사용된다.
실제로, 잔차 R1Q의 통계는 잔차 RTQ의 통계와는 상이하다. 따라서, 압축을 최대화하기 위해 이러한 특정 통계에 예측 잔차 R1Q의 엔트로피 코딩을 적응시키는 것이 필요하다. 그러나, 잔차 RTQ에 대해 송신되는 신택스의 서브세트인 신택스로 제한됨으로써, 동일한 소프트웨어 또는 하드웨어 컴포넌트를 재사용하는 것이 가능하고, 이는 특히 구현 비용 관점에서 흥미롭다.
본 발명의 실시예 변형에 따르면, 잔차 R1Q의 코딩은, 신택스 엘리먼트들 LastX 및 LastY를 생략하고 양자화된 예측 잔차 블록 R1Q의 계수들 모두를 체계적으로 스캐닝함으로써 수행된다.
이러한 경우, 잔차 R1Q의 계수들의 코딩은 다음과 같이 작용한다.
계수들의 스캐닝 순서가 결정된다. 계수들은 양자화된 잔차 블록 R1Q의 제1 계수로부터 양자화된 잔차 블록 R1Q의 마지막 계수까지 스캐닝된다. 계수들의 엔트로피 코딩의 나머지는 코딩 모드 M1로부터 변환된 예측 잔차를 코딩하는 경우 설명되는 것과 유사하다.
이러한 계수들은 서브-블록들, 예를 들어, 현재 양자화된 잔차 블록 R1Q에 포함된 크기 4x4의 서브-블록들에 의해 그룹화된다. 서브-블록들의 다른 크기들이 물론 가능하다.
각각의 서브-블록의 경우, 그 서브-블록이 완전히 제로들로 이루어지는지 여부를 표시하는 신택스 엘리먼트 coded_sub_block_flag가 송신된다. 적어도 하나의 넌-널 계수를 포함하는 각각의 서브-블록의 경우, 신택스 엘리먼트 sig_coeff_flag가 각각의 계수에 대해 송신되고, 이러한 신택스 엘리먼트는, 계수가 널인지 여부를 표시한다. 각각의 넌-널 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater1_flag가 송신되어, 계수가 1과 동일한지 여부를 표시한다. 넌-널이고 1과 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater2_flag가 송신되어, 계수가 2와 동일한지 여부를 표시한다. 넌-널이고 1과 동일하지 않고 2와 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_remaining가 송신되어, 계수 마이너스 3의 진폭을 표시한다.
마지막으로, 각각의 넌-널 계수에 대해, 계수가 포지티브인지 또는 네거티브인지 여부를 표시하기 위해 신택스 엘리먼트 coeff_sign_flag가 송신된다.
본원에 설명된 특정 실시예의 다른 변형에 따르면, 양자화된 잔차 R1Q의 코딩은, 신택스 엘리먼트들 LastX 및 LastY를 생략하고 양자화된 잔차 블록 R1Q의 모든 계수들을 체계적으로 스캐닝하고, 엘리먼트 coded_sub_block_flag를 생략함으로써 수행된다. 따라서, 유의성 값 sig_coeff_flag는 양자화된 잔차 블록 R1Q의 각각의 계수에 대해 체계적으로 코딩된다.
이러한 변형에 따르면, 잔차 R1Q의 계수들의 코딩은 다음과 같이 작용한다. 계수들의 스캐닝 순서가 결정된다. 계수들은 결정된 스캐닝 순서에 따라, 양자화된 잔차 블록 R1Q의 상기 제1 계수로부터 양자화된 잔차 블록 R1Q의 마지막 계수까지 스캐닝된다. 이를 위해, 각각의 계수에 대해, 신택스 엘리먼트 sig_coeff_flag가 송신되고, 이러한 신택스 엘리먼트는 계수가 널인지 여부를 표시한다. 각각의 넌-널 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater1_flag가 송신되어, 계수가 1과 동일한지 여부를 표시한다. 넌-널이고 1과 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater2_flag가 송신되어, 계수가 2와 동일한지 여부를 표시한다. 넌-널이고 1과 동일하지 않고 2와 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_remaining가 송신되어, 계수 마이너스 3의 진폭을 표시한다. 마지막으로, 각각의 넌-널 계수에 대해, 계수가 포지티브인지 또는 네거티브인지 여부를 표시하기 위해 신택스 엘리먼트 coeff_sign_flag가 송신된다.
다른 실시예 변형에 따르면, 잔차 R1Q의 코딩은 오직 신택스 엘리먼트들 coeff_abs_level_remaining 및 coeff_sign_flag를 사용하여 수행된다. 이러한 변형에 따르면, 블록의 모든 계수들은 체계적으로 스캐닝되고 각각의 계수의 값은 코딩된다. 잔차 R1Q의 계수들의 코딩은 다음과 같이 작용한다. 계수들의 스캐닝 순서가 결정된다. 계수들은 양자화된 잔차 블록 R1Q의 제1 계수로부터 양자화된 잔차 블록 R1Q의 마지막 계수까지 스캐닝된다.
이를 위해, 양자화된 잔차 블록 R1Q의 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_remaining이 송신되어, 계수의 진폭을 표시하고, 각각의 넌-널 계수에 대해, 계수가 포지티브인지 또는 네거티브인지 여부를 표시하기 위해 신택스 엘리먼트 coeff_sign_flag가 송신된다.
앞서 설명된 모든 실시예 변형들에 따르면, 예측 잔차 R1Q의 코딩은 "종래의" 잔차 RTQ에 대해 사용되는 신택스 엘리먼트들의 비어 있지 않고 엄격한 서브세트(즉, 동일하지 않음)인 신택스 엘리먼트들의 그룹으로부터 수행되는 것으로 나타난다.
본 발명의 특정 실시예에 따르면, 현재 블록에 대해 획득된 ILR 예측자로부터 추가적인 예측 잔차 R2를 결정 및 코딩하는 것이 가능하다. 그러나, 추가적인 예측 잔차 R2의 코딩은 선택적이다. 실제로, 그 예측된 버전 P1 및 양자화된 잔차 R1Q에 의해 현재 블록을 간단히 코딩하는 것이 가능하다.
현재 블록에 대해 추가적인 예측 잔차 R2를 코딩하기 위해, 하기 단계들이 구현된다.
단계 E224에서, 예측자 P1과 원래의 현재 블록 Xb 사이의 차이 R2는 추가적인 잔차 R2를 형성하기 위해 계산된다: R2= Xb-P1. 하기 단계들은 이러한 잔차 R2에 대한 종래의 코딩 단계들에 대응한다.
단계 E225에서, 잔차 R2는 계수들 R2T의 블록을 생성하기 위해 주파수 변환을 사용하여 변환되다.
변환은 예를 들어, DCT-타입 변환일 수 있다. 변환들의 미리 결정된 세트 ET2로부터 사용될 변환을 선택하고 사용된 변환을 디코더에 통지하는 것이 가능하다. 이러한 경우, 잔차 R2의 특정 통계에 적응하기 위해 세트 ET2는 세트 ET와 상이할 수 있다.
단계 E226에서, 계수들 R2T의 블록은, 예를 들어, δ 양자화 단계 스칼라 양자화를 사용하여 양자화된다. 이는 블록 R2TQ를 생성한다.
양자화 단계 δ는 사용자에 의해 설정될 수 있고; 또한, 압축과 품질 사이의 절충을 설정하는 다른 파라미터 λ를 사용하여 계산되고 사용자 또는 인코더에 의해 입력될 수 있다. 예를 들어, 양자화 단계 δ는 양자화 단계 δ1에 대응하거나 그와 유사하게 결정될 수 있다.
그 다음, 단계 E227에서, 양자화된 블록 R2TQ의 계수들은 코딩된 방식으로 송신된다. 예를 들어, HEVC 표준에서 특정된 코딩이 사용될 수 있다.
공지된 방식으로, 양자화된 블록 R2TQ의 계수들을 역양자화하고, 그 다음, 디코딩된 예측 잔차를 획득하기 위해 역양자화된 계수들에 역변환을 적용함으로써, 현재 블록이 디코딩된다. 그 다음, 현재 블록을 재구성하고 그 디코딩된 버전 Xrec를 획득하기 위해, 디코딩된 예측 잔차에 예측 P1이 추가된다. 그 다음, 현재 블록의 디코딩된 버전 Xrec이 추후에 사용되어 이미지의 다른 이웃 블록들이 공간적으로 예측되거나 다른 이미지들의 블록들이 인터-이미지 예측에 의해 예측될 수 있다.
단계 E23에서, 현재 블록이 코딩 방법에 의해 프로세싱될 이미지의 마지막 블록인지 여부가 체크되어, 이전에 정의된 스캐닝 순서를 고려한다. 예이면, 방법은, 비디오의 다음 이미지(존재하는 경우)를 코딩하는 것(단계 E25)으로 진행한다. 아니오이면, 단계 E24에서, 프로세싱될 이미지의 후속 블록이 이미지의 이전에 정의된 스캐닝 순서에 따라 선택되고, 코딩 방법은 단계 E2로 진행하고, 여기서 선택된 블록은 프로세싱될 현재 블록이 된다.
도 4는 본 발명의 특정 실시예에 따라 디코딩될 이미지들 I1, I2, ..., INb의 시퀀스를 표현하는 코딩된 데이터의 스트림 STR을 디코딩하기 위한 방법의 단계들을 도시한다.
예를 들어, 데이터 스트림 STR은 도 1과 관련하여 도시된 코딩 방법을 통해 생성되었다. 데이터 스트림 STR은 도 7과 관련하여 설명된 바와 같이, 디코딩 디바이스 DEC에 대한 입력으로서 제공된다.
디코딩 방법은 이미지별로 스트림을 디코딩하고, 각각의 이미지는 블록별로 디코딩된다.
단계 E40에서, 디코딩될 이미지 Ij는 블록들로 세분화된다. 각각의 블록은, 이후 상세히 설명되는 일련의 단계들로 이루어진 디코딩 동작을 겪을 것이다. 블록들은 동일한 크기 또는 상이한 크기들일 수 있다.
단계 E41에서, 이미지 Ij의 디코딩될 제1 블록 또는 서브-블록 Xb는 이미지 Ij의 미리 결정된 스캐닝 순서에 따라 현재 블록으로서 선택된다. 예를 들어, 이는 이미지의 사전편찬 상의 스캐닝 순서에서 제1 블록일 수 있다.
단계 E42에서, 현재 블록에 대한 코딩 모드를 표시하는 정보의 항목은 데이터 스트림 STR으로부터 판독된다. 본원에 설명된 특정 실시예에 따르면, 이러한 정보의 항목은, 현재 블록이 제1 코딩 모드 M1에 따라 코딩되는지 또는 제2 코딩 모드 M2에 따라 코딩되는지 여부를 표시한다. 본원에 설명된 특정 실시예에 따르면, 제1 코딩 모드 M1은 예를 들어, HEVC 표준에 따라 정의된 바와 같이 현재 블록의 종래의 인트라 예측 코딩에 대응하고, 제2 코딩 모드 M2는 ILR(In-Loop Residual) 예측 코딩에 대응한다.
다른 특정 실시예들에서, 스트림 STR로부터 판독된 정보의 항목은 또한 현재 블록을 코딩하기 위한 다른 코딩 모드들의 사용을 표시할 수 있다(본원에 설명되지 않음).
현재 블록이 제1 코딩 모드 M1에 따라 코딩되는, 현재 블록을 디코딩하기 위한 단계 E43이 아래에 설명된다.
단계 E430에서, 양자화 단계 δ1이 결정된다. 예를 들어, 양자화 단계 δ1은 데이터 스트림 STR에서 판독된 양자화 파라미터 QP로부터 또는 인코더에서 수행된 것과 유사하게 결정된다. 예를 들어, 양자화 단계 δ1은 데이터 스트림 STR에서 판독된 양자화 파라미터 QP를 사용하여 계산될 수 있다. 예를 들어, 양자화 파라미터 QP는 AVC 또는 HEVC 표준들에서 종래에 사용되는 양자화 파라미터일 수 있다. 따라서, HEVC 표준에서, 양자화 단계 δ1은 수식
Figure pct00004
에 의해 결정되고, 여기서 k = 0..5에 대해 levelScale[ k ] = { 40, 45, 51, 57, 64, 72 }이다.
단계 E431에서, 현재 블록을 코딩하기 위해 선택된 예측 모드는 이웃 블록들로부터 디코딩된다. 이를 위해, 인코더에서 수행된 바와 같이, 현재 블록에 대해 선택된 인트라 예측 모드는 현재 블록의 이웃 블록들과 연관된 인트라 예측 모드들을 사용하여 코딩된다.
MPM 및 넌-MPM 리스트들 둘 모두의 구성은 코딩 동안 수행된 것과 엄격하게 유사하다. HEVC 표준에 따르면, 하기 타입의 신택스 엘리먼트들이 디코딩된다:
- 현재 블록에 대해 코딩될 예측 모드가 MPM 리스트 내에 있는지 여부를 표시하는 바이너리 표시자,
- 현재 블록의 예측 모드가 MPM 리스트에 속하면, 코딩된 현재 블록의 예측 모드에 대응하는 MPM 리스트 내의 인덱스,
- 현재 블록의 예측 모드가 MPM 리스트에 속하지 않으면, 코딩된 현재 블록의 예측 모드에 대응하는 넌-MPM 리스트 내의 인덱스.
따라서, 현재 블록의 인트라 예측 모드를 디코딩하기 위해, 바이너리 표시자 및 예측 모드 인덱스가 데이터 스트림 STR로부터의 현재 블록에 대해 판독된다.
단계 E432에서, 디코더는 디코딩된 예측 모드로부터 현재 블록에 대한 예측된 블록 P를 구성한다.
단계 E433에서, 디코더는 예를 들어, HEVC 표준에 특정된 디코딩을 사용하여 데이터 스트림 STR로부터 양자화된 블록 RTQ의 계수들을 디코딩한다.
이러한 경우, 잔차 RTQ의 계수들의 디코딩은 다음과 같이 작용한다. 계수들의 스캐닝 순서는 인코더에서 사용된 스캐닝 순서에 대응하여 결정된다. 결정된 스캐닝 순서에 따라 잔차 블록 RTQ에서 제1 넌-널 계수의 좌표들을 표시하는 신택스 엘리먼트들 LastX 및 LastY가 디코딩된다. 계수들은 제1 넌-널 계수로부터 블록의 마지막 계수까지 스캐닝된다. 이를 위해, 이러한 계수들은 현재 양자화된 잔차 블록 RTQ에 포함된 크기 4x4의 서브-블록들로 그룹화된다. 각각의 서브-블록의 경우, 그 서브-블록이 완전히 제로들로 이루어지는지 여부를 표시하는 신택스 엘리먼트 coded_sub_block_flag가 디코딩된다. 적어도 하나의 넌-널 계수를 포함하는 각각의 서브-블록에 대해, (LastX 및 LastY에 의해 표시된 블록의 마지막 계수 이후에 위치된) 각각의 계수에 대한 신택스 엘리먼트 sig_coeff_flag가 디코딩되고, 이러한 신택스 엘리먼트는 계수가 널인지 여부를 표시한다. 각각의 넌-널 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater1_flag가 디코딩되어, 계수가 1과 동일한지 여부를 표시한다. 넌-널이고 1과 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater2_flag가 디코딩되어, 계수가 2와 동일한지 여부를 표시한다. 넌-널이고 1과 동일하지 않고 2와 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_remaining가 디코딩되어, 계수 마이너스 3의 진폭을 표시한다. 마지막으로, 각각의 넌-널 계수에 대해, 계수가 포지티브인지 또는 네거티브인지 여부를 표시하기 위해 신택스 엘리먼트 coeff_sign_flag가 디코딩된다.
단계 E434에서, 디코딩된 블록 RTQ는, 예를 들어, 양자화 단계 δ1의 스칼라 역양자화를 사용하여 역양자화된다. 이는 역양자화된 계수들 RTQD의 블록을 생성한다.
단계 E435에서, 디코딩된 예측 잔차 블록 RTQDI를 생성하기 위해 역양자화된 계수들 RTQD의 블록에 주파수 역변환이 적용된다. 변환은 예를 들어, DCT-타입 역변환일 수 있다. 데이터 스트림 STR로부터 표시자를 디코딩함으로써 변환들의 미리 결정된 세트 ETI로부터 사용될 변환을 선택하는 것이 가능하다.
단계 E436에서, Xrec = P + RTQDI에 의해 디코딩된 현재 블록 Xrec를 생성하기 위해, 단계 E432에서획득된 예측된 블록 P 및 단계 E435에서 획득된 디코딩된 잔차 블록 RTQDI으로부터 현재 블록이 재구성된다.
현재 블록이 제2 코딩 모드 M2에 따라 코딩되는, 현재 블록을 디코딩하기 위한 단계 E44가 아래에 설명된다.
단계 E440에서, 현재 블록의 픽셀들을 예측하기 위해 사용된 로컬 예측자 PL이 결정된다. 오직 하나의 예측자가 이용가능한 경우, 로컬 예측자는, 예를 들어, 디코더 레벨에서 디폴트로 설정되고, 이를 결정하기 위해 스트림 STR로부터 어떠한 신택스 엘리먼트도 판독될 필요가 없다.
몇몇 로컬 예측자들, 예를 들어, 앞서 설명된 예측자들 PL1 내지 PL4가 이용가능한 경우, 현재 블록을 예측하기 위해 어느 로컬 예측자가 사용되었는지를 식별하기 위해 데이터 스트림 STR로부터 신택스 엘리먼트가 디코딩된다. 따라서 로컬 예측자는 그 디코딩된 신택스 엘리먼트로부터 결정된다.
단계 E441에서, 인코더에서 수행된 것과 유사하게 양자화 단계 δ2가 결정된다.
단계 E442에서, 양자화된 잔차 R1Q는 데이터 스트림 STR로부터 디코딩된다.
본원에 설명된 발명의 특정 실시예에 따르면, 양자화된 잔차 블록 R1Q의 값들은, 코딩 모드 M1로부터 예측 잔차를 디코딩하기 위해 사용되는 신택스 엘리먼트들의 적어도 하나의 부분을 사용하여 데이터 스트림 STR로부터 디코딩된다. 잔차 R1Q를 디코딩하기 위해, 잔차 RTQ에 대해 사용되는 신택스 엘리먼트들의 그룹의 서브그룹이 사용된다.
실시예 변형에 따르면, 잔차 R1Q의 디코딩은, 신택스 엘리먼트들 LastX 및 LastY를 생략하고 양자화된 잔차 블록 R1Q의 계수들 모두를 체계적으로 스캐닝함으로써 수행된다. 이러한 경우, 잔차 R1Q의 계수들의 디코딩은 다음과 같이 작용한다. 계수들의 스캐닝 순서는 인코더에서 결정된 스캐닝 순서에 대응하여 결정된다. 계수들은 양자화된 잔차 블록 R1Q의 제1 계수로부터 양자화된 잔차 블록 R1Q의 마지막 계수까지 스캐닝된다. 이를 위해, 이러한 계수들은 현재 양자화된 잔차 블록 R1Q에 포함된 크기 4x4의 서브-블록들로 그룹화된다. 각각의 서브-블록의 경우, 그 서브-블록이 완전히 제로들로 이루어지는지 여부를 표시하는 신택스 엘리먼트 coded_sub_block_flag가 디코딩된다. 적어도 하나의 넌-널 계수를 포함하는 각각의 서브-블록의 경우, 신택스 엘리먼트 sig_coeff_flag가 각각의 계수에 대해 디코딩되고, 이러한 신택스 엘리먼트는, 계수가 널인지 여부를 표시한다. 각각의 넌-널 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater1_flag가 디코딩되어, 계수가 1과 동일한지 여부를 표시한다. 넌-널이고 1과 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater2_flag가 디코딩되어, 계수가 2와 동일한지 여부를 표시한다. 넌-널이고 1과 동일하지 않고 2와 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_remaining가 디코딩되어, 계수 마이너스 3의 진폭을 표시한다.
마지막으로, 각각의 넌-널 계수에 대해, 계수가 포지티브인지 또는 네거티브인지 여부를 표시하기 위해 신택스 엘리먼트 coeff_sign_flag가 디코딩된다.
실시예 변형에 따르면, 잔차 R1Q의 디코딩은, 신택스 엘리먼트들 LastX 및 LastY를 생략하고 양자화된 잔차 블록 R1Q의 계수들 모두를 체계적으로 스캐닝하고, 신택스 엘리먼트 coded_sub_block_flag를 생략하고, 따라서 블록의 각각의 계수에 대한 값을 체계적으로 디코딩함으로써 수행된다.
이러한 경우, 잔차 RTQ의 계수들의 디코딩은 다음과 같이 작용한다. 계수들의 스캐닝 순서가 결정된다. 계수들은 양자화된 잔차 블록 R1Q의 제1 계수로부터 양자화된 잔차 블록 R1Q의 마지막 계수까지 스캐닝된다. 각각의 계수에 대해, 신택스 엘리먼트 sig_coeff_flag가 디코딩되고, 이러한 신택스 엘리먼트는 계수가 널인지 여부를 표시한다. 각각의 넌-널 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater1_flag가 디코딩되어, 계수가 1과 동일한지 여부를 표시한다. 넌-널이고 1과 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_greater2_flag가 디코딩되어, 계수가 2와 동일한지 여부를 표시한다. 넌-널이고 1과 동일하지 않고 2와 동일하지 않은 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_remaining가 디코딩되어, 계수 마이너스 3의 진폭을 표시한다. 마지막으로, 각각의 넌-널 계수에 대해, 계수가 포지티브인지 또는 네거티브인지 여부를 표시하기 위해 신택스 엘리먼트 coeff_sign_flag가 디코딩된다.
다른 실시예 변형에 따르면, 잔차 R1Q의 디코딩은 오직 신택스 엘리먼트들 coeff_abs_level_remaining 및 coeff_sign_flag를 사용하여 수행된다. 이러한 경우, 잔차 R1Q의 계수들의 디코딩은 다음과 같이 작용한다. 계수들의 스캐닝 순서가 결정된다. 계수들은 양자화된 잔차 블록 R1Q의 제1 계수로부터 양자화된 잔차 블록 R1Q의 마지막 계수까지 스캐닝된다. 이를 위해, 각각의 계수에 대해, 신택스 엘리먼트 coeff_abs_level_remaining이 디코딩되어, 계수의 진폭을 표시하고, 각각의 넌-널 계수에 대해, 계수가 포지티브인지 또는 네거티브인지 여부를 표시하기 위해 신택스 엘리먼트 coeff_sign_flag가 디코딩된다.
단계 E443에서, 역양자화된 잔차 블록 R1QD를 생성하기 위해, 양자화된 잔차 블록 R1Q는 양자화 단계 δ2를 사용하여 역양자화된다.
단계 E444에서, 역양자화된 잔차 블록 R1QD가 획득될 때, 예측된 블록 P1은 단계 E440에서 결정된 로컬 예측자 PL을 사용하여 구성된다.
단계 E444에서, 현재 블록의 각각의 픽셀은 다음과 같이 예측 및 재구성된다:
- 예측된 값 PRED를 획득하기 위해, 현재 블록의 현재 픽셀 X는, 블록 외부에 있고 이미 재구성된 픽셀들, 또는 현재 블록의 이전에 재구성된 픽셀들 또는 둘 모두를 사용하여, 선택된 예측자 PL에 의해 예측된다. 모든 경우들에서, 예측자 PL은 이전에 디코딩된 픽셀들을 사용한다.
- 현재 픽셀 X의 디코딩된 예측된 값 P1(X)은, P1(X) = PRED + R1QD(X)이도록, 예측 잔차 R1QD의 역양자화된 값을 예측된 값 PRED에 추가함으로써 계산된다.
이러한 단계들은, PL1,..., PL4로부터 선택된 예측을 위해 사용되는 픽셀들이 이용가능한 것을 보장하는 스캐닝 순서로, 현재 블록의 모든 픽셀들에 대해 구현된다.
예를 들어, 스캐닝 순서는 사전편찬 상의 순서(좌측에서 우측으로, 그 다음, 최상부로부터 바닥까지의 행들)이다.
본 발명의 특정 실시예에 따르면, 현재 블록의 각각의 픽셀의 디코딩된 예측된 값들 P1(X)을 포함하는 예측된 블록 P1은 여기서 디코딩된 현재 블록 Xrec를 형성한다.
본 발명의 다른 특정 실시예에 따르면, 여기서, 현재 블록에 대해 추가적인 예측 잔차가 코딩되었다고 고려된다. 따라서, 현재 블록 Xrec의 디코딩된 보전을 재구성하기 위해 이러한 추가적인 예측 잔차를 디코딩하는 것이 필요하다.
예를 들어, 이러한 다른 특정 실시예는 인코더 및 디코더 레벨에서 디폴트로 활성화되거나 활성화되지 않을 수 있다. 또는, 추가적인 예측 잔차가 코딩되면 ILR 코딩 모드에 따라 코딩된 각각의 블록에 대해 표시할 블록 레벨 정보를 갖는 표시자가 데이터 스트림에서 코딩될 수 있다. 또는 추가로, 추가적인 예측 잔차가 코딩되면 ILR 코딩 모드에 따라 코딩된 이미지 또는 이미지들의 시퀀스의 모든 블록들에 대해 표시할 이미지 또는 이미지들의 시퀀스 레벨 정보를 갖는 표시자가 데이터 스트림에서 코딩될 수 있다.
단계 E445에서, 현재 블록에 대해 추가적인 예측 잔차가 코딩될 때, 양자화된 예측 잔차 R2TQ의 계수들은 인코더에서 구현된 것들에 적응되는 수단, 예를 들어, HEVC 디코더에서 구현되는 수단을 사용하여 데이터 스트림 STR로부터 디코딩된다.
단계 E446에서, 양자화된 계수들 R2TQ의 블록은, 예를 들어, 양자화 단계 δ1의 스칼라 역양자화를 사용하여 역양자화된다. 이는 역양자화된 계수들 R2TQD의 블록을 생성한다.
단계 E447에서, 디코딩된 예측 잔차 블록 R2TQDI를 생성하기 위해 블록 R2TQD에 주파수 역변환이 적용된다.
역변환은 예를 들어, DCT-타입 역변환일 수 있다.
변환들의 미리 결정된 세트 ET2로부터 사용될 변환을 선택하고 사용될 변환을 디코더에 통지하는 정보의 항목을 디코딩하는 것이 가능하다. 이러한 경우, 잔차 R2의 특정 통계에 적응하기 위해 세트 ET2는 세트 ET와 상이하다.
단계 E448에서, 현재 블록은, 단계 E444에서 획득된 예측된 블록 P1을 디코딩된 예측 잔차 R2TQDI에 추가함으로써 재구성된다.
단계 E45에서, 현재 블록이 디코딩 방법에 의해 프로세싱될 이미지의 마지막 블록인지 여부가 체크되어, 이전에 정의된 스캐닝 순서를 고려한다. 예이면, 방법은, 비디오의 다음 이미지(존재하는 경우)를 디코딩하는 것(단계 E47)으로 진행한다. 아니오이면, 단계 E46에서, 프로세싱될 이미지의 후속 블록이 이미지의 이전에 정의된 스캐닝 순서에 따라 선택되고, 디코딩 방법은 단계 E42로 진행하고, 선택된 블록은 프로세싱될 현재 블록이 된다.
도 5는 본 발명의 특정 실시예에 따른 이미지의 적어도 하나의 블록을 표현하는 코딩된 데이터를 포함하는 신호 예 STR을 예시한다.
신호 STR은, 이미지의 블록에 대해 그 블록에 대한 코딩 모드를 표시하는 코딩된 표시자 TY를 포함한다. 블록이, 여기서는 ILR 모드인 제2 코딩 모드에 따라 코딩되는 것으로 표시자 TY가 표시할 때, 신호는 제1 코딩 모드로부터 예측 잔차들의 값들을 코딩하기 위해 사용되는 신택스 엘리먼트들의 그룹의 서브그룹인 신택스 엘리먼트들의 그룹을 사용하여 코딩되는 양자화된 예측 잔차들 R1Q의 값들을 포함한다. 이러한 서브그룹은, 현재 블록이 제2 코딩 모드에 따라 코딩될 때 도 1 또는 도 4와 관련하여 설명된 바와 같은 신택스 엘리먼트들을 포함한다.
신호는 가능하게는 양자화된 변환된 예측 잔차들 R2TQ의 코딩된 값들을 포함한다. 현재 블록에 대해 몇몇 로컬 예측자들이 가능할 때, 신호는 또한 로컬 예측자 PL 코딩된 표시자를 포함한다.
블록이, 여기서는 종래의 인트라 예측 모드인 제1 코딩 모드에 따라 코딩되는 것으로 표시자 TY가 표시할 때, 신호는, 제1 코딩 모드에 따라 현재 블록이 코딩될 때 도 1 또는 도 4와 관련하여 설명된 바와 같은 신택스 엘리먼트들의 그룹을 사용하여 코딩되는 양자화된 변환된 예측 장차들 RTQ의 값들, 현재 블록에 대해 코딩될 예측 모드가 MPM 리스트 내에 있는지 여부를 표시하는 바이너리 표시자 iMPM, 및 대응하는 리스트에서 현재 블록 예측 모드의 인덱스를 표시하는 인덱스 idxMPM을 포함한다.
도 6은 본 발명의 특정 실시예들 중 임의의 것에 따른 코딩 방법을 구현하도록 적응된 코딩 디바이스 COD의 단순화된 구조를 도시한다.
본 발명의 특정 실시예에 따르면, 코딩 방법의 단계들은 컴퓨터 프로그램 명령어들에 의해 구현된다. 이를 위해, 코딩 디바이스 COD는 컴퓨터의 표준 아키텍처를 갖고, 특히, 예를 들어, 프로세서 PROC를 구비하고 메모리 MEM에 저장된 컴퓨터 프로그램 PG에 의해 구동되는 프로세싱 유닛 UT, 메모리 MEM을 포함한다. 컴퓨터 프로그램 PG는, 프로그램이 프로세서 PROC에 의해 실행될 때, 앞서 설명된 바와 같이 코딩 방법의 단계들을 구현하기 위한 명령들을 포함한다.
초기화 시에, 컴퓨터 프로그램 PG의 코드 명령들은 예를 들어, 프로세서 PROC에 의해 실행되기 전에 RAM 메모리(도시되지 않음)에 로딩된다. 특히, 프로세싱 유닛 UT의 프로세서 PROC는 컴퓨터 프로그램 PG의 명령들에 따라, 앞서 설명된 코딩 방법의 단계들을 구현한다.
도 7은 본 발명의 특정 실시예들 중 임의의 것에 따른 디코딩 방법을 구현하도록 적응된 디코딩 디바이스 DEC의 단순화된 구조를 도시한다.
본 발명의 특정 실시예에 따르면, 디코딩 디바이스 DEC는 컴퓨터의 표준 아키텍처를 갖고, 특히, 예를 들어, 프로세서 PROC0을 구비하고 메모리 MEM0에 저장된 컴퓨터 프로그램 PG0에 의해 구동되는 프로세싱 유닛 UT0, 메모리 MEM0을 포함한다. 컴퓨터 프로그램 PG0은, 프로그램이 프로세서 PROC0에 의해 실행될 때, 앞서 설명된 바와 같이 디코딩 방법의 단계들을 구현하기 위한 명령들을 포함한다.
초기화 시에, 컴퓨터 프로그램 PG0의 코드 명령들은 예를 들어, 프로세서 PROC0에 의해 실행되기 전에 RAM 메모리(도시되지 않음)에 로딩된다. 특히, 프로세싱 유닛 UT0의 프로세서 PROC0은 컴퓨터 프로그램 PG0의 명령들에 따라, 앞서 설명된 디코딩 방법의 단계들을 구현한다.

Claims (13)

  1. 적어도 하나의 이미지를 표현하는 코딩된 데이터 스트림을 디코딩하기 위한 방법으로서,
    상기 이미지는 블록들로 분할되고,
    상기 디코딩 방법은, 현재 블록으로 지칭되는 상기 이미지의 적어도 하나의 블록에 대해,
    상기 현재 블록의 코딩 모드를 표시하는 정보의 항목을 디코딩하는 단계(E42),
    상기 현재 블록의 상기 코딩 모드가 제1 코딩 모드에 대응할 때, 상기 현재 블록을 디코딩하는 단계(E43) ― 상기 현재 블록을 디코딩하는 단계(E43)는,
    신택스(syntax) 엘리먼트들의 제1 그룹을 사용하여 상기 현재 블록과 연관된 예측 잔차를 디코딩하는 단계(E433),
    이전에 디코딩된 블록의 재구성된 픽셀들로부터 상기 현재 블록의 예측을 획득하는 단계(E432),
    상기 획득된 예측 및 상기 디코딩된 예측 잔차로부터 상기 현재 블록을 재구성하는 단계(E436)를 포함함 ―;
    상기 현재 블록의 상기 코딩 모드가 제2 코딩 모드에 대응할 때, 상기 현재 블록을 디코딩하는 단계(E44)를 포함하고, 상기 현재 블록을 디코딩하는 단계(E44)는,
    신택스 엘리먼트들의 제2 그룹을 사용하여 상기 현재 블록과 연관된 상기 예측 잔차를 디코딩하는 단계(E442) ― 상기 제2 그룹은 상기 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹임 ―,
    상기 현재 블록을 재구성하는 단계(E444)를 포함하고, 상기 현재 블록을 재구성하는 단계(E444)는,
    상기 현재 블록의 각각의 픽셀에 대해,
    다른 이전에 디코딩된 픽셀로부터 상기 픽셀의 예측을 획득하는 단계 ― 상기 다른 이전에 디코딩된 픽셀은 상기 현재 블록 또는 상기 이미지의 이전에 디코딩된 블록에 속함 ―,
    상기 신택스 엘리먼트들의 제2 그룹을 사용하여 상기 디코딩된 예측 잔차 및 상기 획득된 픽셀의 예측으로부터 상기 픽셀을 재구성하는 단계를 포함하는, 방법.
  2. 적어도 하나의 이미지를 표현하는 데이터 스트림을 인코딩하기 위한 방법으로서,
    상기 이미지는 블록들로 분할되고,
    상기 코딩 방법은, 현재 블록으로 지칭되는 상기 이미지의 적어도 하나의 블록에 대해,
    상기 현재 블록의 코딩 모드를 표시하는 정보의 항목을 코딩하는 단계(E20),
    상기 현재 블록의 상기 코딩 모드가 제1 코딩 모드에 대응할 때, 상기 현재 블록을 코딩하는 단계(E21) ― 상기 현재 블록을 코딩하는 단계(E21)는,
    이전에 디코딩된 블록의 재구성된 픽셀들로부터 상기 현재 블록의 예측을 획득하는 단계(E213),
    상기 획득된 예측으로부터 획득되는 상기 현재 블록과 연관된 예측 잔차를 획득하는 단계(E213),
    신택스 엘리먼트들의 제1 그룹을 사용하여 상기 현재 블록과 연관된 상기 예측 잔차를 코딩하는 단계(E216)를 포함함 ―
    상기 현재 블록의 상기 코딩 모드가 제2 코딩 모드에 대응할 때, 상기 현재 블록을 코딩하는 단계(E22)를 포함하고, 상기 현재 블록을 코딩하는 단계(E22)는,
    상기 현재 블록의 각각의 픽셀에 대해,
    다른 이전에 디코딩된 픽셀로부터 상기 픽셀의 예측을 획득하는 단계(E222) ― 상기 다른 이전에 디코딩된 픽셀은 상기 현재 블록 또는 상기 이미지의 이전에 디코딩된 블록에 속함 ―,
    상기 픽셀에 대해 획득된 상기 예측으로부터 예측 잔차를 획득하는 단계(E222),
    신택스 엘리먼트들의 제2 그룹을 사용하여 상기 현재 블록의 픽셀들과 연관된 상기 예측 잔차들을 포함하는 상기 현재 블록과 연관된 예측 잔차를 코딩하는 단계(E223)를 포함하고, 상기 제2 그룹은 상기 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹인, 방법.
  3. 제1 항 또는 제2 항에 있어서,
    상기 신택스 엘리먼트들의 제1 그룹은 상기 예측 잔차의 계수들의 결정된 스캐닝 순서에 따라, 상기 현재 블록과 연관된 상기 예측 잔차의 제1 넌-널(non-null) 계수의 위치를 표시하는 위치 신택스 엘리먼트들을 포함하고,
    상기 신택스 엘리먼트들의 제2 그룹은 상기 위치 신택스 엘리먼트들을 포함하지 않는, 방법.
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    상기 현재 블록과 연관된 상기 예측 잔차는 계수들의 적어도 하나의 서브-블록을 포함하고, 상기 신택스 엘리먼트들의 제1 그룹은,
    상기 계수들의 적어도 하나의 서브-블록과 연관된 서브-블록 신택스 엘리먼트 ― 상기 서브-블록 신택스 엘리먼트는 상기 서브-블록의 적어도 하나의 계수가 넌-널인지 여부를 표시함 ―,
    적어도 하나의 넌-널 계수를 포함하는 상기 예측 잔차의 계수들의 각각의 서브-블록에 대해, 상기 서브-블록의 각각의 계수에 대한 유의성 신택스 엘리먼트를 포함하고, 상기 유의성 신택스 엘리먼트는 상기 계수가 널인지 여부를 표시하고,
    상기 신택스 엘리먼트들의 제2 그룹은 상기 예측 잔차의 각각의 계수에 대한 유의성 신택스 엘리먼트를 포함하는, 방법.
  5. 제1 항 내지 제4 항 중 어느 한 항에 있어서,
    상기 신택스 엘리먼트들의 제1 그룹은, 결정된 스캐닝 순서에 따라 스캐닝된 상기 예측 잔차의 각각의 넌-널 계수에 대해,
    상기 계수의 절대값이 1과 동일한지 여부를 표시하는 신택스 엘리먼트,
    상기 계수의 절대값이 1과 동일하지 않은 각각의 계수에 대해, 상기 계수의 절대값이 2와 동일한지 여부를 표시하는 신택스 엘리먼트,
    상기 계수의 절대값이 1 또는 2와 동일하지 않은 각각의 계수에 대해, 상기 계수의 절대값 마이너스 3을 표시하는 신택스 엘리먼트,
    상기 계수가 포지티브인지 또는 네거티브인지 여부를 표시하는 신택스 엘리먼트를 포함하고,
    상기 신택스 엘리먼트들의 제2 그룹은, 결정된 스캐닝 순서에 따라 스캐닝된 상기 예측 잔차의 각각의 넌-널 계수에 대해,
    상기 계수의 절대값을 표시하는 신택스 엘리먼트,
    상기 계수가 포지티브인지 또는 네거티브인지 여부를 표시하는 상기 신택스 엘리먼트를 포함하는, 방법.
  6. 적어도 하나의 이미지를 표현하는 코딩된 데이터 스트림을 디코딩하기 위한 디바이스로서,
    상기 이미지는 블록들로 분할되고,
    상기 디코딩 디바이스는 프로세서(PROC0)를 포함하고, 상기 프로세서는, 현재 블록으로 지칭되는 상기 이미지의 적어도 하나의 블록에 대해,
    상기 현재 블록의 코딩 모드를 표시하는 정보의 항목을 디코딩하고,
    상기 현재 블록의 상기 코딩 모드가 제1 코딩 모드에 대응할 때,
    신택스 엘리먼트들의 제1 그룹을 사용하여 상기 현재 블록과 연관된 예측 잔차를 디코딩하는 것,
    이전에 디코딩된 블록의 재구성된 픽셀들로부터 상기 현재 블록의 예측을 획득하는 것,
    상기 획득된 예측 및 상기 디코딩된 예측 잔차로부터 상기 현재 블록을 재구성하는 것
    에 의해 상기 현재 블록을 디코딩하고,
    상기 현재 블록의 상기 코딩 모드가 제2 코딩 모드에 대응할 때,
    신택스 엘리먼트들의 제2 그룹을 사용하여 상기 현재 블록과 연관된 상기 예측 잔차를 디코딩하는 것 ― 상기 제2 그룹은 상기 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹임 ―,
    상기 현재 블록을 재구성하는 것
    에 의해 상기 현재 블록을 디코딩하도록 구성되고,
    상기 현재 블록을 재구성하는 것은,
    상기 현재 블록의 각각의 픽셀에 대해,
    다른 이전에 디코딩된 픽셀로부터 상기 픽셀의 예측을 획득하는 것 ― 상기 다른 이전에 디코딩된 픽셀은 상기 현재 블록 또는 상기 이미지의 이전에 디코딩된 블록에 속함 ―,
    상기 신택스 엘리먼트들의 제2 그룹을 사용하여 상기 디코딩된 예측 잔차 및 상기 획득된 픽셀의 예측으로부터 상기 픽셀을 재구성하는 것을 포함하는, 디바이스.
  7. 적어도 하나의 이미지를 표현하는 데이터 스트림을 인코딩하기 위한 디바이스로서,
    상기 이미지는 블록들로 분할되고,
    상기 코딩 디바이스는 프로세서(PROC)를 포함하고, 상기 프로세서는, 현재 블록으로 지칭되는 상기 이미지의 적어도 하나의 블록에 대해,
    상기 현재 블록의 코딩 모드를 표시하는 정보의 항목을 코딩하고,
    상기 현재 블록의 상기 코딩 모드가 제1 코딩 모드에 대응할 때,
    이전에 디코딩된 블록의 재구성된 픽셀들로부터 상기 현재 블록의 예측을 획득하는 것,
    상기 획득된 예측으로부터 획득되는 상기 현재 블록과 연관된 예측 잔차를 획득하는 것,
    신택스 엘리먼트들의 제1 그룹을 사용하여 상기 현재 블록과 연관된 상기 예측 잔차를 코딩하는 것
    에 의해 상기 현재 블록을 코딩하고,
    상기 현재 블록의 상기 코딩 모드가 제2 코딩 모드에 대응할 때,
    상기 현재 블록의 각각의 픽셀에 대해,
    다른 이전에 디코딩된 픽셀로부터 상기 픽셀의 예측을 획득하는 것 ― 상기 다른 이전에 디코딩된 픽셀은 상기 현재 블록 또는 상기 이미지의 이전에 디코딩된 블록에 속함 ―,
    상기 픽셀에 대해 획득된 상기 예측으로부터 예측 잔차를 획득하는 것,
    신택스 엘리먼트들의 제2 그룹을 사용하여 상기 현재 블록의 픽셀들과 연관된 상기 예측 잔차들을 포함하는 상기 현재 블록과 연관된 예측 잔차를 코딩하는 것
    에 의해 상기 현재 블록을 코딩하도록 구성되고,
    상기 제2 그룹은 상기 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹인, 디바이스.
  8. 적어도 하나의 이미지를 표현하는 코딩된 데이터 스트림으로서,
    상기 이미지는 블록들로 분할되고, 상기 코딩된 데이터 스트림은, 현재 블록으로 지칭되는 상기 이미지의 적어도 하나의 블록에 대해,
    상기 현재 블록의 코딩 모드를 표시하는 정보의 항목,
    상기 현재 블록의 코딩 모드가 제1 코딩 모드에 대응할 때, 신택스 엘리먼트들의 제1 그룹을 사용하여 코딩된 상기 제1 코딩 모드에 다른 예측 잔차 ― 상기 예측 잔차는 이전에 디코딩된 블록의 재구성된 픽셀들로부터 상기 현재 블록의 예측으로부터 획득되는 상기 제1 코딩 모드에 따름 ―,
    상기 현재 블록의 코딩 모드가 제2 코딩 모드에 대응할 때, 신택스 엘리먼트들의 제2 그룹을 사용하여 코딩된 상기 제2 코딩 모드에 따른 예측 잔차 ― 상기 제2 그룹은 상기 신택스 엘리먼트들의 제1 그룹의 신택스 엘리먼트들의 서브그룹이고, 상기 예측 잔차는,
    상기 현재 블록의 각각의 픽셀에 대해,
    다른 이전에 디코딩된 픽셀로부터 상기 픽셀의 예측을 획득하는 것 ― 상기 다른 이전에 디코딩된 픽셀은 상기 현재 블록 또는 상기 이미지의 이전에 디코딩된 블록에 속함 ―,
    상기 픽셀에 대해 획득된 상기 예측으로부터 상기 픽셀과 연관된 예측 잔차를 획득하는 것
    에 의해 획득된 상기 제2 코딩 모드에 따르는, 데이터 스트림.
  9. 제8 항에 있어서,
    상기 신택스 엘리먼트들의 제1 그룹은 상기 예측 잔차의 결정된 스캐닝 순서에 따라, 상기 현재 블록과 연관된 상기 예측 잔차의 제1 넌-널 계수의 위치를 표시하는 위치 신택스 엘리먼트들을 포함하고,
    상기 신택스 엘리먼트들의 제2 그룹은 상기 위치 신택스 엘리먼트들을 포함하지 않는, 데이터 스트림.
  10. 제8 항 또는 제9 항에 있어서,
    상기 예측 잔차는 계수들의 적어도 하나의 서브-블록을 포함하고, 상기 신택스 엘리먼트들의 제1 그룹은,
    상기 계수들의 적어도 하나의 서브-블록과 연관된 서브-블록 신택스 엘리먼트 ― 상기 서브-블록 신택스 엘리먼트는 상기 서브-블록의 적어도 하나의 계수가 넌-널인지 여부를 표시함 ―,
    적어도 하나의 넌-널 계수를 포함하는 상기 예측 잔차의 계수들의 각각의 서브-블록에 대해, 상기 서브-블록의 각각의 계수에 대한 유의성 신택스 엘리먼트를 포함하고, 상기 유의성 신택스 엘리먼트는 상기 계수가 널인지 여부를 표시하고,
    상기 신택스 엘리먼트들의 제2 그룹은 상기 예측 잔차의 각각의 계수에 대한 유의성 신택스 엘리먼트를 포함하는, 데이터 스트림.
  11. 제8 항 내지 제10 항 중 어느 한 항에 있어서,
    상기 신택스 엘리먼트들의 제1 그룹은, 결정된 스캐닝 순서에 따라 스캐닝된 상기 예측 잔차의 각각의 넌-널 계수에 대해,
    상기 계수의 절대값이 1과 동일한지 여부를 표시하는 신택스 엘리먼트,
    상기 계수의 절대값이 1과 동일하지 않은 각각의 계수에 대해, 상기 계수의 절대값이 2와 동일한지 여부를 표시하는 신택스 엘리먼트,
    상기 계수의 절대값이 1 또는 2와 동일하지 않은 각각의 계수에 대해, 상기 계수의 절대값 마이너스 3을 표시하는 신택스 엘리먼트,
    상기 계수가 포지티브인지 또는 네거티브인지 여부를 표시하는 신택스 엘리먼트를 포함하고,
    상기 신택스 엘리먼트들의 제2 그룹은, 결정된 스캐닝 순서에 따라 스캐닝된 상기 예측 잔차의 각각의 넌-널 계수에 대해,
    상기 계수의 절대값을 표시하는 신택스 엘리먼트,
    상기 계수가 포지티브인지 또는 네거티브인지 여부를 표시하는 상기 신택스 엘리먼트를 포함하는, 데이터 스트림.
  12. 컴퓨터 프로그램으로서,
    상기 프로그램이 프로그램에 의해 실행될 때, 제1 항 또는 제3 항 내지 제5 항 중 어느 한 항에 따른 디코딩 방법 또는 제2 항 내지 제5 항 중 어느 한 항에 따른 인코딩 방법을 구현하기 위한 명령들을 포함하는, 컴퓨터 프로그램.
  13. 제12 항에 따른 컴퓨터 프로그램의 명령들을 포함하는, 컴퓨터 판독가능 데이터 매체.
KR1020217008025A 2018-09-21 2019-09-03 적어도 하나의 이미지를 표현하는 데이터 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들 KR20210058848A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1858572 2018-09-21
FR1858572A FR3086486A1 (fr) 2018-09-21 2018-09-21 Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image.
PCT/FR2019/052023 WO2020058593A1 (fr) 2018-09-21 2019-09-03 Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image

Publications (1)

Publication Number Publication Date
KR20210058848A true KR20210058848A (ko) 2021-05-24

Family

ID=65494290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217008025A KR20210058848A (ko) 2018-09-21 2019-09-03 적어도 하나의 이미지를 표현하는 데이터 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들

Country Status (8)

Country Link
US (1) US11985355B2 (ko)
EP (1) EP3854088A1 (ko)
JP (1) JP2022500944A (ko)
KR (1) KR20210058848A (ko)
CN (1) CN112740692B (ko)
BR (1) BR112021003210A2 (ko)
FR (1) FR3086486A1 (ko)
WO (1) WO2020058593A1 (ko)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL2950543T3 (pl) * 2006-01-09 2018-03-30 Matthias Narroschke Kodowanie adaptacyjne błędu prognozowania w hybrydowym kodowaniu wideo
US20080225947A1 (en) * 2007-03-13 2008-09-18 Matthias Narroschke Quantization for hybrid video coding
US8634462B2 (en) * 2007-03-13 2014-01-21 Matthias Narroschke Quantization for hybrid video coding
US9253508B2 (en) 2011-11-04 2016-02-02 Futurewei Technologies, Inc. Differential pulse code modulation intra prediction for high efficiency video coding
US9307264B2 (en) * 2012-06-22 2016-04-05 Sharp Kabushiki Kaisha Arithmetic decoding device, arithmetic coding device, image decoding apparatus, and image coding apparatus
US10645399B2 (en) * 2013-07-23 2020-05-05 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding image
FR3012714A1 (fr) * 2013-10-25 2015-05-01 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
FR3023112A1 (fr) * 2014-06-27 2016-01-01 Bcom Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
WO2017041271A1 (en) * 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Efficient context modeling for coding a block of data
US10218975B2 (en) 2015-09-29 2019-02-26 Qualcomm Incorporated Transform precision manipulation in video coding
US10779007B2 (en) * 2017-03-23 2020-09-15 Mediatek Inc. Transform coding of video data
KR20210156351A (ko) * 2017-07-07 2021-12-24 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치

Also Published As

Publication number Publication date
JP2022500944A (ja) 2022-01-04
BR112021003210A2 (pt) 2021-05-11
US11985355B2 (en) 2024-05-14
US20220046287A1 (en) 2022-02-10
CN112740692A (zh) 2021-04-30
WO2020058593A1 (fr) 2020-03-26
FR3086486A1 (fr) 2020-03-27
EP3854088A1 (fr) 2021-07-28
CN112740692B (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
JP6526099B2 (ja) Hevcにおけるcabacのための変換スキップされたブロックのための修正コーディング
US11350106B2 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
US20230199193A1 (en) Methods and devices for coding and decoding a data stream representing at least one image
US20080232706A1 (en) Method and apparatus for encoding and decoding image using pixel-based context model
JP2024056766A (ja) 少なくとも1つの画像を表すデータストリームをコーディングおよびデコーディングするための方法および装置
KR20210058848A (ko) 적어도 하나의 이미지를 표현하는 데이터 스트림을 인코딩 및 디코딩하기 위한 방법들 및 디바이스들
JP7466469B2 (ja) 少なくとも1つの画像を表すデータストリームをコーディングおよび復号するための方法およびデバイス
CN112740690B (zh) 用于编码和解码代表至少一个图像的数据流的方法和设备
CN113412618B (zh) 用于编码和解码表示至少一个图像的数据流的方法和设备

Legal Events

Date Code Title Description
A201 Request for examination