KR20200013660A - 적어도 하나의 이미지를 나타내는 데이터 스트림을 인코딩 및 디코딩하는 방법 및 장치 - Google Patents

적어도 하나의 이미지를 나타내는 데이터 스트림을 인코딩 및 디코딩하는 방법 및 장치 Download PDF

Info

Publication number
KR20200013660A
KR20200013660A KR1020197034947A KR20197034947A KR20200013660A KR 20200013660 A KR20200013660 A KR 20200013660A KR 1020197034947 A KR1020197034947 A KR 1020197034947A KR 20197034947 A KR20197034947 A KR 20197034947A KR 20200013660 A KR20200013660 A KR 20200013660A
Authority
KR
South Korea
Prior art keywords
block
pixel
current
image
prediction
Prior art date
Application number
KR1020197034947A
Other languages
English (en)
Other versions
KR102532484B1 (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 KR20200013660A publication Critical patent/KR20200013660A/ko
Application granted granted Critical
Publication of KR102532484B1 publication Critical patent/KR102532484B1/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/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
    • 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/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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/94Vector quantisation
    • 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

Landscapes

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

Abstract

본 발명은 블록으로 세분된 적어도 하나의 이미지를 나타내는 인코딩된 데이터를 포함하는 신호를 인코딩하기 위한 방법 및 장치와 이를 디코딩하기 위한 방법 및 장치에 관한 것으로, 신호는 보정 블록(correction block)이라 하는 블록을 나타내는 정보를 포함한다. 신호에 인코딩된 이미지의 적어도 하나의 현재 블록에 대하여, 현재 블록의 적어도 하나의 제1 픽셀은 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀로부터 상기 제1 픽셀을 대하여 획득된(E20) 예측값으로부터 인코딩되고, 상기 예측은 상기 보정 블록의 픽셀의 적어도 하나의 값을 이용하여 보정되고(E21), 현재 블록의 적어도 하나의 현재 픽셀은 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀에 대하여 획득된(E21) 예측값으로부터 인코딩되고, 상기 예측은 상기 보정 블록의 픽셀의 적어도 하나의 값을 이용하여 보정되어(E21), 현재 블록에 대한 예측 블록(predictive block)을 전달한다. 또한, 신호는, 현재 블록과 예측 블록으로부터 계산된 잔여 블록(residue block)을 나타내는 적어도 하나의 정보(Resq b)를 포함한다.

Description

적어도 하나의 이미지를 나타내는 데이터 스트림을 인코딩 및 디코딩하는 방법 및 장치
본 발명의 분야는 이미지 또는 이미지 시퀀스, 특히 비디오 스트림의 코딩 및 인코딩 분야이다.
더욱 구체적으로는, 본 발명은 이미지의 블록별 표현을 이용한 이미지 또는 이미지의 시퀀스의 압축에 관한 것이다.
본 발명은, 특히, 현재 또는 미래의 인코더로 구현되는 이미지 또는 비디오 인코딩(JPEG, MPEG, H.264, HEVC 및 기타 표준 및 이들의 개정에 따름) 및 대응하는 디코딩에 적용될 수 있다.
디지털 이미지 및 이미지 시퀀스는 상당한 양의 메모리 공간을 차지한다. 이것은, 전송을 위하여 사용되는 네트워크에서의 혼잡 문제를 방지하기 위하여, 이러한 이미지가 전송될 때 이를 압축하는 것을 필요로 한다. 사실, 일반적으로 이 네트워크에서 사용될 수 있는 비트 레이트는 제한된다.
많은 알려진 비디오 데이터 압축 기술들이 있다. 이들은 동일한 이미지에 속하는 다른 픽셀에 상대적인 현재 이미지의 픽셀의 예측(인트라 예측(intra prediction)) 또는 선행하거나 후행하는 이미지에 속하는 다른 픽셀에 대한 현재 이미지의 픽셀의 예측(인터 예측(inter prediction))을 구현하는 것을 제안하는 HVAC("High Efficiency Video Coding, Coding Tools and Specification", Matthias Wien, Signals and Communication Technology, 2015) 압축 표준을 포함한다.
더욱 구체적으로는, 인트라 예측은 이미지 내의 공간 리던던시를 활용한다. 이 목적으로, 이미지는 픽셀 블록으로 세분된다. 그 다음, 픽셀 블록은 이미지 내의 블록의 스캐닝 순서에 따라 현재 이미지에서 이전에 인코딩/디코딩된 블록에 대응하는 이미 재구축된 정보를 이용하여 예측된다.
게다가, 전통적으로, 현재 블록의 인코딩은 예측 블록(predictive block)이라 하는 현재 블록의 예측과, 현재 블록 및 예측 블록 사이의 차이에 대응하는 예측 잔여물(prediction residue) 또는 "잔여 블록(residual block)"을 이용하여 수행된다. 그 다음, 획득된 잔여 블록은, 예를 들어, DCT(discrete cosine transform) 타입의 변환을 이용하여, 변환된다. 다음으로, 변환된 잔여 블록의 계수들은 정량화되고, 이어 엔트로피 인코딩(entropic encoding)에 의해 인코딩되고 이 잔여 블록을 예측 블록에 추가함으로써 현재 블록을 재구축할 수 있는 디코더로 전송된다.
디코딩은 이미지별로 수행되고, 각각의 이미지에 대하여, 이는 블록별로 수행된다. 각각의 블록에 대하여, 스트림의 대응하는 요소들이 판독된다. 잔여 블록의 계수들의 역정량화 및 역변환이 수행된다. 그 다음, 블록의 예측이 계산되어 예측 블록을 획득하고, 현재 블록은 예측(즉, 예측 블록)을 디코딩된 잔여 블록에 추가함으로써 재구축된다.
전통적으로, 현재 블록의 인트라 예측은 이미지에서 이전에 재구축된 블록의 기준 픽셀을 이용함으로써 수행된다. 이러한 상황은 도 1에 도시되며, 현재 블록(X)의 픽셀(X(i, j)i =0,1,2,3 및 j=0,1,2, 3)을 예측하는데 사용되는 기준 픽셀은 일반적으로 현재 블록 바로 위의 라인에 위치된 픽셀(T(-1, i)i =-1,0,1,2,3으로 식별되는 픽셀)과 현재 블록의 왼쪽에 있는 컬럼에 위치된 픽셀(T(i, -1)i =-1,0,1,2,3으로 식별되는 픽셀)에 대응한다.
예를 들어, HEVC 표준은 이러한 기준 픽셀들을 이용하는 35개의 인트라 예측 모드를 정의하고, 이러한 예측 모드들은 이 기준 픽셀들이 현재 블록을 위한 예측 블록을 구축하는데 사용되는 방식에 따라 서로 상이하다.
이러한 인트라 예측 기술에 따라 예측 블록의 제1 로우 및 제1 컬럼 상에 위치된 픽셀들은 이들이 기준 픽셀들에 바로 인접하기 때문에 매우 잘 예측된다. 사실 픽셀들이 공간에서 서로 더 가까울수록, 이들이 포함하는 정보가 상관되는 정도는 더 크다.
대조적으로, 오른쪽 밑에 위치된, 즉, 기준 픽셀로부터 멀리 위치된 예측 블록의 픽셀, 예를 들어, 도 1에 도시된 픽셀 X(3, 3)은 정확하게 예측되지 않는다. 그러면, 이러한 픽셀은 높은 에너지를 갖는 예측 잔여물을 제공하고, 이에 따라 이를 인코딩하는데 더 높은 비트 레이트가 필요하다.
따라서, 현재 블록을 예측하기 위하여 예측 블록을 구축하여 이미지 또는 비디오 데이터의 압축을 개선하기 위한 새로운 기술에 대한 요구가 있다.
본 발명은 종래 기술을 개선한다. 이는 블록으로 세분된 적어도 하나의 이미지를 나타내는 인코딩된 데이터 스트림을 디코딩하는 방법에 관한 것이다. 디코딩 방법은, 이미지의 적어도 하나의 현재 블록에 대하여:
- 인코딩된 데이터 스트림으로부터, 잔여 블록(residue block)과 보정 블록(correction block)이라 하는 블록을 나타내는 적어도 하나의 정보를 디코딩하는 단계;
- 디코딩된 정보로부터 보정 블록을 결정하는 단계;
- 현재 블록으로부터 예측 블록(predictive block)을 결정하는 단계로서,
○ 현재 블록의 적어도 하나의 제1 픽셀에 대하여:
■ 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀로부터 상기 제1 픽셀의 예측값을 획득하는 단계와,
■ 제1 픽셀에 대하여 획득된 예측값에 보정 블록의 픽셀의 적어도 하나의 값을 더하여 상기 제1 픽셀을 보정하는 단계,
제1 픽셀로부터 구별되는 현재 블록의 적어도 하나의 현재 픽셀에 대하여:
■ 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀의 예측값을 획득하는 단계와,
■ 상기 현재 픽셀에 대하여 획득된 상기 예측값에 상기 보정 블록의 픽셀의 적어도 하나의 값을 더하여 상기 현재 픽셀을 보정하는 단계
를 포함하는 단계; 및
- 예측 블록 및 디코딩된 잔여 블록에 기초하여 상기 현재 블록을 재구축하는 단계
를 포함한다.
상관적으로, 본 발명은 적어도 하나의 이미지를 인코딩된 데이터 스트림의 형태로 인코딩하는 방법에 관한 것으로, 상기 이미지는 블록으로 세분되고, 방법은, 인코딩될 이미지의 적어도 하나의 현재 블록에 대하여:
- 현재 블록의 예측 블록을 결정하는 단계로서,
○ 현재 블록의 적어도 하나의 제1 픽셀에 대하여:
■ 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀에 기초하여 상기 제1 픽셀의 예측값을 획득하는 단계와,
■ 상기 제1 픽셀에 대하여 획득된 예측값에 보정 블록이라 하는 블록의 픽셀의 적어도 하나의 값을 더하여 상기 제1 픽셀을 보정하는 단계,
○ 제1 픽셀로부터 구별되는 현재 블록의 적어도 하나의 현재 픽셀에 대하여:
■ 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀의 예측값을 획득하는 단계와,
■ 현재 픽셀에 대하여 획득된 예측값에 상기 보정 블록의 픽셀의 적어도 하나의 값을 더하여 상기 현재 픽셀을 보정하는 단계
를 포함하는 단계;
- 데이터 스트림에, 상기 보정 블록을 나타내는 적어도 하나의 정보를 인코딩하는 단계;
- 상기 현재 블록 및 상기 결정된 예측 블록으로부터 잔여 블록(residue block)을 계산하는 단계; 및
- 데이터 스트림에 상기 잔여 블록을 인코딩하는 단계
를 포함한다.
따라서, 본 발명에 따르면, 현재 블록의 현재 픽셀의 예측이 개선된다. 사실, 이에 따라, 이전에 보정된 현재 블록의 픽셀에 의해 현재 블록의 현재 픽셀을 예측할 수 있다. 특히, 현재 블록의 기준 픽셀, 즉 현재 블록 바로 위 및 현재 블록의 왼쪽에 위치된 픽셀에 대응하는 기준 픽셀로부터 공간적으로 멀리 있는 현재 픽셀에 대하여, 이에 따라, 이 현재 픽셀에 더 가까운 현재 블록의 픽셀에 의해 이러한 현재 픽셀을 예측할 수 있다. 픽셀의 예측이 개선되기 때문에, 현재 블록과 예측 블록 사이의 예측 잔여물(prediction residue)은 더 작아지고, 현재 블록의 인코딩 비용은 감소된다.
본 발명에 따라, 현재 블록에 대한 인코딩 잔여물은 데이터 스트림에 전송되고, 현재 블록을 재구축하기 위하여 예측 블록에 더해지며, 이에 따라 압축 성능을 개선한다.
본 발명의 다른 특정 실시예에 따라, 보정 블록은 미리 정해진 잔여 데이터를 포함한다.
본 발명의 다른 특정 실시예에 따라, 보정 블록은 미리 정해진 데이터 블록 세트에 속하고, 상기 보정 블록을 나타내는 상기 적어도 하나의 정보는 블록 세트들 중에서 상기 보정 블록의 식별을 가능하게 한다. 본 발명의 이 특정 실시예에 따르면, 잔여 데이터 블록의 사전(dictionary)이 인코더 및 디코더에 대하여 사용 가능하다. 인코딩되거나 디코딩될 현재 블록에 대하여, 보정 블록은 사전의 블록들로부터 선택된다. 예를 들어, 현재 블록을 인코딩하기 위한 최상의 비트 레이트/왜곡 트레이트 오프를 제공하는 사전의 블록이 현재 블록에 대한 보정 블록으로서 선택된다.
본 발명의 다른 특정 실시예에 따라, 현재 픽셀의 예측값은 현재 픽셀 위에 위치된 픽셀, 현재 픽셀의 왼쪽에 위치된 픽셀 및 현재 픽셀의 왼쪽 위에 위치된 픽셀에 적용된 로컬 예측 함수의 함수로서 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 획득된다. 본 발명의 이 특정 실시예에 따르면, 현재 픽셀이 이 픽셀의 인과 관계가 있고(causal) 로컬인 이웃을 통해 예측된다. 이에 따라, 현재 픽셀 및 현재 픽셀을 예측하는데 사용되는 기준 픽셀 사이의 상관 관계는 전통적인 인트라 예측 방법을 이용하는 것보다 더 높다.
본 발명의 다른 특정 실시예에 따라, 로컬 예측 함수를 나타내는 정보는 인코딩된 데이터 스트림에 인코딩되거나 인코딩된 데이터 스트림으로부터 디코딩된다. 본 발명의 이 특정 실시예에 따르면, 상이한 로컬 예측 함수가 현재 블록의 픽셀을 예측하는데 사용될 수 있다. 따라서, 현재 블록의 픽셀을 예측하기 위한 가장 효율적인 로컬 예측 함수를 선택하고 디코더에 신호로 알릴 수 있다.
본 발명의 다른 특정 실시예에 따라, 인코딩된 데이터 스트림은, 현재 블록에 대하여, 현재 블록이 이미지의 이전에 재구축된 블록에 속하는 픽셀만을 이용하는 예측 모드에 따라 인코딩되는지 또는 현재 블록이 현재 블록의 적어도 하나의 이전에 보정된 픽셀을 이용하는 예측 모드에 따라 인코딩되는지 나타내는 정보를 포함한다. 이 특정 실시예에 따르면, 데이터 스트림은 현재 블록이 예를 들어 기존의 압축 표준에서 알려진 바와 같은 방향성 인트라 예측 모드에 따라 인코딩되는지 또는 위에서 언급된 특정 실시예들 중 임의의 하나의 새로운 인트라 예측 모드에 따라 인코딩되는지 나타내는 정보를 포함한다. 따라서, 이미지의 각각의 블록에 대하여, 비트 레이트/왜곡의 측면에서 최상의 인트라 예측 모드를 선택할 수 있다.
또한, 본 발명은 블록으로 세분된 적어도 하나의 이미지를 나타내는 인코딩된 데이터를 포함하는 신호에 관한 것이다. 이러한 신호는, 이미지의 적어도 하나의 현재 블록에 대하여, 보정 블록이라 하는 블록을 나타내는 적어도 하나의 정보를 포함하고, 현재 블록의 적어도 하나의 제1 픽셀은 보정 블록의 픽셀의 적어도 하나의 값과 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀로부터 상기 제1 픽셀에 대하여 획득된 예측값으로부터 인코딩되고, 현재 블록의 적어도 하나의 현재 픽셀은 보정 블록의 픽셀의 적어도 하나의 값과, 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀에 대하여 획득된 예측값으로부터 인코딩되어, 현재 블록에 대한 예측 블록을 전달한다. 또한, 신호는 현재 블록과 예측 블록으로부터 계산된 잔여 블록을 나타내는 적어도 하나의 정보를 포함한다.
본 발명의 하나의 특정 실시예에 따라, 신호는, 현재 블록에 대하여, 현재 블록이 이미지의 이전에 재구축된 블록에 속하는 픽셀만을 이용하는 예측 모드에 따라 인코딩되는지 또는 현재 블록이 현재 블록의 적어도 하나의 이전에 보정된 픽셀을 이용하는 예측 모드에 따라 인코딩되는지 나타내는 정보를 더 포함한다.
또한, 본 발명은 위에서 정의된 특정 실시예들 중 임의의 하나에 따른 디코딩 방법을 구현하도록 구성된 디코딩 장치에 관한 것이다. 이 디코딩 장치는 물론 본 발명에 따른 디코딩 방법에 대한 다양한 특성을 포함할 수 있다. 따라서, 이 디코딩 장치의 특성 및 이점은 디코딩 방법의 특성 및 이점과 동일하며, 더 상세하게는 설명되지 않는다.
본 발명의 하나의 특정 실시예에 따라, 이러한 디코딩 장치는 단말기에 포함된다.
또한, 본 발명은 위에서 정의된 특정 실시예들 중 임의의 하나에 따른 인코딩 방법을 구현하도록 구성된 인코딩 장치에 관한 것이다. 이 인코딩 장치는 물론 본 발명에 따른 인코딩 방법에 대한 다양한 특성을 포함할 수 있다. 따라서, 이 인코딩 장치의 특성 및 이점은 인코딩 방법의 특성 및 이점과 동일하며, 더 상세하게는 설명되지 않는다.
본 발명의 하나의 특정 실시예에 따라, 이러한 인코딩 장치는 단말기 또는 서버에 포함된다.
본 발명에 따른 디코딩 방법 및 인코딩 방법은, 각각, 다양한 방식으로, 특히 유선 또는 소프트웨어 형태로 구현될 수 있다. 본 발명의 하나의 특정 실시예에 따라, 디코딩 방법 및 인코딩 방법은, 각각, 컴퓨터 프로그램에 의해 구현된다. 또한, 본 발명은, 프로세서에 의해 실행될 때, 여기에서 전술된 특정 실시예들 중 임의의 하나에 따른 디코딩 방법 또는 인코딩 방법을 구현하기 위한 명령어를 포함하는 컴퓨터 프로그램에 관한 것이다. 이러한 프로그램은 모든 프로그래밍 언어를 사용할 수 있다. 이는 통신 네트워크로부터 다운로드될 수 있고 그리고/또는 컴퓨터 판독 가능한 매체 또는 캐리어에 기록될 수 있다.
이 프로그램은 모든 프로그래밍 언어를 사용할 수 있으며, 예를 들어, 부분적으로 컴파일된 형태 또는 모든 다른 바람직한 형태인 소스 코드, 오브젝트 코드 또는 소스 코드와 오브젝트 코드 사이의 중간 코드의 형태를 가질 수 있다.
또한, 본 발명은 컴퓨터에 의해 판독 가능하고 여기에서 위에 언급된 바와 같은 프로그램의 명령어를 포함하는 정보 캐리어 또는 매체를 제공하는 것을 목적으로 한다. 여기에서 위에 언급된 정보 캐리어는 프로그램을 저장할 수 있는 어떠한 엔티티 또는 장치일 수 있다. 예를 들어, 캐리어 또는 매체는 예를 들어 CD ROM 또는 마이크로 전자 회로 ROM인 ROM 또는 예를 들어 플로피 디스크나 하드 디스크 드라이브인 자기 기록 수단과 같은 저장 수단을 포함할 수 있다. 또한, 정보 매체는 전기 케이블 또는 광 케이블에 의해, 무선으로 또는 다른 수단에 의해 전달될 수 있는 전기 또는 광학 신호와 같은 전송 가능한 매체에 대응할 수 있다. 본 발명에 따른 프로그램은 특히 인터넷 유형의 네트워크로부터 다운로드될 수 있다.
대안으로서, 기록 지지체(recording support)는 프로그램이 통합된 집적 회로에 대응할 수 있으며, 회로는 해당 방법을 실행하거나 해당 방법의 실행에 사용되도록 맞추어진다.
본 발명의 다른 특징 및 이점은, 간단하고 예시적이며 비소진적인 예를 이용하여 제공되는 여러 특정 실시예에 대한 이어지는 설명과, 다음과 같은 첨부된 도면으로부터 더욱 명확하게 될 것이다:
- 도 1은 현재 블록의 픽셀을 예측하기 위한 종래 기술에 따른 기준 픽셀의 위치를 도시하고,
- 도 2는 본 발명의 하나의 특정 실시예에 따른 예측 블록을 결정하기 위한 방법을 도시하고,
- 도 3은 본 발명의 하나의 특정 실시예에 따른 현재 블록의 픽셀을 예측하는데 사용되는 기준 픽셀의 위치의 예를 도시하고,
- 도 4는 본 발명의 하나의 특정 실시예에 따른 인코딩 방법의 단계들을 제공하고,
- 도 5는 본 발명의 하나의 특정 실시예에 따른 디코딩 방법의 단계들을 제공하고,
- 도 6은 본 발명의 특정 실시예들 중 어느 하나에 따른 인코딩 방법을 구현하도록 맞추어진 인코딩 장치의 간략화된 구조를 제공하고,
- 도 7은 본 발명의 특정 실시예들 중 어느 하나에 따른 디코딩 방법을 구현하도록 맞추어진 인코딩 장치의 간략화된 구조를 제공하고,
- 도 8a는 본 발명의 하나의 특정 실시예에 따라 이미지의 적어도 하나의 블록을 나타내는 인코딩된 데이터를 포함하는 신호의 일례를 도시하고,
- 도 8b는 본 발명의 다른 실시예에 따라 이미지의 적어도 하나의 블록을 나타내는 인코딩된 데이터를 포함하는 신호의 일례를 도시한다.
1. 일반 원리
본 발명의 일반적인 원리는 블록의 예측을 위하여 전통적으로 사용되는 기준 픽셀로부터 멀리 위치된 이미지의 인코딩될 블록의 픽셀들의 예측을 개선하는 것을 목적으로 한다.
이 목적으로, 이러한 픽셀들의 예측은 잔여 데이터 블록을 이용하여 이전에 보정된 현재 블록 자체의 픽셀의 사용에 의해 구현된다. 이러한 잔여 데이터 블록은 예측에 의한 전통적 인코딩 방법에서 알려진 인코딩 잔여 블록과는 상이하다. 본 발명에 따라, 보정 블록(correction block)이라고도 하는 잔여 데이터 블록은 현재 블록의 이어지는 픽셀들을 예측하는 역할을 하는 현재 블록의 픽셀들의 값을 보정하는데 사용되는 잔여 데이터를 포함한다. 사실, 현재 블록의 이어지는 픽셀들을 예측하는 역할을 하는 현재 블록의 픽셀들 자신은 현재 블록의 이전에 보정된 픽셀들 및/또는 이미지의 이전에 재구축된 블록의 픽셀들에 의해 예측되었지만, 이를 위하여 예측 잔여물은 아직 계산되지 않았거나 인코딩/디코딩되지 않았다. 본 발명에 따라, 현재 블록의 픽셀들은 아직 재구축되지 않은 현재 블록에도 속하는 다른 픽셀들에 의해, 즉 인코더 및 디코더가 사용 가능한 보정 블록을 이용하여 보정된 인코딩/디코딩된 예측을 이용하여 예측된다.
"픽셀의 값(value of pixel)"이라는 용어는 여기에서 픽셀을 위하여 인코딩될 이미지 성분의 값을 의미하도록 이해된다. 예를 들어, 휘도 성분(Y)의 형태를 갖고 2개의 색차 성분(U, V)을 갖는 인코딩될 이미지의 표현의 경우에, 예측 방법은 각각의 성분에 적용될 수 있거나, 단지 이들 중 하나에만 적용될 수 있다. 분명하게, 본 발명은 YUV 표현에 제한되지 않으며 이미지의 다른 표현(RGB, YCbCr 등)에 유사하게 적용될 수 있다.
먼저, 본 발명에 따른 현재 블록에 대한 예측 블록을 결정하는 구현 모드를 제공하고, 그 다음 예를 들어 이미지의 현재 블록을 예측하기 위한 예측 블록의 결정을 이용하는 이미지 시퀀스를 인코딩하기 위한 방법 및 데이터 스트림을 디코딩하기 위한 방법과, 대응하는 인코딩 장치 및 디코딩 장치를 제공한다.
2. 본 발명의 하나의 특정 실시예에 따라 현재 블록을 예측하기 위한 예측 블록을 결정
도 2는 인코딩될 이미지의 현재 블록(X)을 예측하는 역할을 하는 예측 블록(bpred)의 결정을 도시한다.
두꺼운 선으로 도 3에 도시된 현재 블록(X)의 각각의 픽셀(Xi)에 대하여, 픽셀(Xi)의 예측값은 단계 E20 동안 결정된다. 이 목적으로, 로컬 예측 함수 H(Ai, Bi, Ci)가 사용된다. 이러한 함수 H(Ai, Bi, Ci)는 픽셀 Ai, Bi, Ci의 값으로부터 픽셀 Xi의 예측 값 Pi를 계산한다. 여기에서 설명된 본 발명의 특정 실시예에 따르면, 픽셀 Ai, Bi, Ci는, 각각, 픽셀 Xi의 왼쪽에 위치된 픽셀, 픽셀 Xi의 위에 위치된 픽셀 및 픽셀 Xi의 왼쪽 위에 위치된 픽셀에 대응한다.
로컬 예측 함수 H(Ai, Bi, Ci)는, 예를 들어, 다음의 형태를 가진다:
Figure pct00001
변형으로서, 예를 들어,
Figure pct00002
인 다른 종류의 로컬 예측 함수가 사용될 수 있다.
로컬 예측 함수 H(Ai, Bi, Ci)는 인코더 또는 디코더에 알려질 수 있거나, 아니면 이미지 또는 이미지 시퀀스의 인코딩된 데이터에서 인코딩된 데이터 스트림으로 전송될 수 있다.
현재 블록(X)에서의 픽셀(Xi)의 위치에 따라, 로컬 예측 함수는 이미지의 이전에 재구축된 블록에 속할 수 있고 그리고/또는 현재 블록(X)에 속할 수 있는 픽셀 Ai, Bi, Ci를 사용한다.
예를 들어, 도 3의 픽셀 X1에 대하여, 예측값은 픽셀 A1, B1, C1로부터, 즉 이미지의 이전에 재구축된 블록에 속하는 기준 픽셀만을 이용하여, 더욱 구체적으로는 현재 블록의 위, 왼쪽 및 왼쪽 위에 위치된 블록에 속하는 기준 픽셀만을 이용하여 결정된다.
도 3의 픽셀 X2에 대하여, 예측값은 픽셀 A2, B2, C2로부터, 즉 이미지의 이전에 재구축된 블록에 속하는 기준 픽셀과 현재 블록에 속하는 픽셀을 이용하여 결정된다.
도 3의 픽셀 X3에 대하여, 예측값은 픽셀 A3, B3, C3으로부터, 즉 현재 블록에 속하는 픽셀만을 이용하여 결정된다.
일반적으로, 도 1을 참조하는 표시법을 이용하여, 현재 블록(X)의 픽셀(X(lin, col))에 대하여(여기에서, lin은 블록(X)의 왼쪽 위의 코너에 대한 픽셀(X)의 로우(row)의 인덱스를 나타내고, col은 블록(X)의 왼쪽 위의 코너에 대한 픽셀(X)의 컬럼(column)의 인덱스를 나타낸다), 예측값 G(lin, col)은 다음에 의해 획득된다:
Figure pct00003
Figure pct00004
Figure pct00005
Figure pct00006
여기에서, T(lin, col)은 이전에 재구축된 블록에 속하는 픽셀이고, H는 로컬 예측 함수이고, Pk(x, y)는 현재 블록(X)에 속하고 아래에서 설명되는 보정 블록(Vk)에 의해 이전에 보정된 픽셀 X(x, y)의 예측값이다.
단계 E20의 마지막에, 예측값 G(lin, col)이 현재 픽셀 X(lin, col)에 대하여 획득된다.
단계 E21 동안, 예측값 G(lin, col)은 픽셀 X(lin, col)에 대한 보정 블록(Vk)의 값을 이용하여 보정된다. 보정 블록(Vk)은, 예를 들어, 픽셀의 값이 8비트로 표현될 때 -255와 +255 사이의 값을 포함하는 잔여 데이터 블록이다.
본 발명의 하나의 특정 실시예에 따라, 보정 블록(Vk)은 미리 정해진 잔여 데이터 블록의 세트 또는 사전(dictionary) {Vk}k= 0...N에 속하고, N은 세트의 블록의 개수이다.
예를 들어, 이러한 사전은 잔여물의 값의 모든 가능한 조합의 서브 세트를 포함하고, 서브 세트는, 예를 들어, 이미지의 그룹으로부터 학습함으로써 선택되고 그리고/또는 인코딩된 데이터 스트림을 이용하여 전송된다.
예를 들어, 이 예에서, 이미지의 픽셀이 8비트로 인코딩되고 보정 블록의 각각의 픽셀이 8비트로 표현되는 예측값을 음의 방향으로 또는 양의 방향으로 보정할 수 있다는 것이 고려된다. 그 다음, 보정 블록의 이러한 픽셀은 9비트의 동적 범위를 가져야만 한다. 따라서, 예를 들어 8x8 픽셀의 크기를 갖는 보정 블록에 대하여, 가능한 블록의 개수는 29x64이다. 그러면, 잔여물의 값의 모든 가능한 조합 중에서 선택된 보정 블록을 식별하기 위하여 많은 양의 정보를 인코딩하는 것이 필수적일 수 있다. 또한, 최상의 보정 블록에 대한 검색은 계산의 측면에서 매우 비용이 많이 들 수 있다.
실제로, 예를 들어 32 내지 512의 보정 블록을 포함하는 사전 크기는 최적 압축, 즉, 감소된 정보 전송을 위한 품질에 있어서 높은 이득을 획득하게 할 수 있다. 그러나, 이러한 보정 블록이 현재 블록의 픽셀을 보정하기 위하여 진정으로 유용한 블록을 나타내도록 사전의 블록을 잘 선택하는 것이 필수적이다.
여기에서 설명된 예에 따라, 사전 {Vk}k= 0...N은 모든 가능한 보정 블록, 즉 잔여물의 값의 모든 가능한 조합을 포함하는 보정 블록의 방대한 세트 중에서 보정 블록의 서브 세트로서 구축된다. 제1 변형에 따라, 이 사전 {Vk}k= 0...N을 구축하기 위하여, Linde-Buzo-Gray 알고리즘(즉, LBG 알고리즘)을 이용하는 전통적인 구축 기술이 Linde , Y.; Buzo , A.; Gray, R. (1980). "An Algorithm for Vector Quantizer Design". IEEE Transactions on Communications. 28: 84 . doi:10.1109/TCOM.1980.1094577에 설명된 바와 같이 사용된다. 이 기술은 보정될 픽셀 블록을 학습하기 위한 시퀀스와, 예를 들어, 임의로 선택된 초기 사전을 이용한다. 그 다음, 이 기술은 다음의 2개의 단계를 반복한다:
- 학습 시퀀스의 각각의 블록에 대하여, 미리 정해진 기준, 예를 들어, 학습 시퀀스의 현재 블록의 픽셀의 예측 동안 보정 블록의 사용에 의해 생성된 왜곡의 측면에서 이해되는 바와 같은 사전의 최상의 보정 블록을 결정하는 제1 단계. 학습 블록은 2개의 클래스(class)로 분할되고, 각각의 클래스는 사전의 보정 블록과 연관된 학습 블록의 세트이다.
- 각각의 클래스에 대하여, 새로운 보정 블록이 결정되어, 이 블록이 상기 클래스의 미리 정해진 기준을 개선한다. 그 다음, 클래스와 연관된 사전 블록은 이러한 새로운 블록으로 교체된다.
예를 들어, "Vector Quantization and Signal Compression" by Allen Gersho and Robert M. Gray, The Springer International Series in Engineering and Computer Science Series Volume 159 Springer US에서 설명된 "Pairwise Nearest Neighbor" 접근 방식과 같은 정량화(quantification) 사전을 구축하기 위하여 당해 업계의 통상의 기술자에게 알려진 다른 방법이 가능하다.
바람직하게는, 보정 블록(Vk)은 현재 블록의 크기와 동일한 크기를 가진다.
본 발명의 하나의 특정 실시예에서, 동일한 보정 블록이 현재 블록의 모든 픽셀에 대하여 사용된다.
단계 E21 동안, 보정 블록 Vk(lin, col)의 값은 픽셀 X(lin, col)에 대하여 획득된 예측값 G(lin, col)에 더해져 픽셀 X(lin, col)의 보정된 예측값 Pk(lin, col)를 획득한다: Pk(lin, col) = G(lin, col) + Vk(lin, col).
단계 E22 동안, 현재 블록의 모든 픽셀이 예측되었는지 확인된다. 그러한 경우에(도 2에서의 예), 각각의 픽셀 X(lin, col)에 대하여 보정된 예측값 Pk(lin, col)를 포함하는 보정 블록(Vk)과 연관된 예측 블록(bpred)이 현재 블록을 인코딩 또는 재구축하는데 사용 가능하다. 그렇지 않다면(도 2에서의 아니오), 동작은 다음 픽셀에 대하여 단계 E20 및 E21을 반복함으로써 현재 블록의 다음 픽셀의 예측으로 이동한다.
3. 인코딩 방법
도 4는 본 발명의 하나의 특정 실시예에 따라 인코딩된 데이터 스트림(STR)의 형태로 인코딩될 이미지 시퀀스(I1, I2, ..., INb)를 인코딩하기 위한 방법의 단계들을 제공한다. 예를 들어, 이러한 인코딩 방법은 도 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 등의 크기를 갖는 정사각형 또는 직사각형 서브 블록으로 세분될 수 있다.
그 다음, 단계 E0 동안, 이미지 Ij(1≤j≤Nb)의 인코딩될 블록 또는 서브 블록(X)이 이미지 Ij의 미리 정해진 스캐닝 방향에 따라 선택된다.
여기에서, 블록(X)은 인트라 인코딩 모드에 따라 인코딩된다고 가정된다. 사용 가능한 인트라 인코딩 모드 중에서, 블록(X)은, 예를 들어, "Overview of the High Efficiency Video Coding ( HEVC ) Standard", G.-J. Sullivan, J.-R. Ohm, W.-J. Han , T. Wiegand , IEEE Transactions on Circuits and Systems for Video Technology, December 2012에 설명된 HEVC 표준에서 정의된 인트라 인코딩 모드에 따른 전통적인 인트라 인코딩 모드를 이용하거나, 아니면 도 2 및 3을 참조하여 위에서 설명된 바와 같은 예측을 이용하는 인트라 인코딩을 이용하여 인코딩될 수 있다고 가정된다. 여기에서 설명된 인코딩 방법은 물론 현재 블록(X)을 인코딩하기 위하여 사용 가능한 다른 인트라 예측 모드에 적용되고, HEVC 표준에서 설명된 인트라 인코딩 모드에만 한정되지 않는다.
여기에서 설명된 특정 실시예에 따라, 블록(X)에 대한 최상의 인트라 인코딩 모드는 각각의 인트라 인코딩 모드와 연관된 비트 레이트/왜곡 비용을 이용하여 선택될 것이다.
단계 E10 동안, 블록(X)을 인코딩하기 위한 최상의 전통적인 인트라 모드가 결정된다. 전통적인 인트라 예측은 이전에 재구축된 픽셀 T(lin, col)에 의해 현재 블록의 픽셀 X(lin, col) 세트를 예측하는 것을 특징으로 하고, 여기에서, 도 1에 도시된 바와 같이, lin은 블록(X)의 왼쪽 위 코너에 대한 픽셀의 로우의 이미지에서의 인덱스를 나타내고, col은 블록(X)의 왼쪽 위 코너에 대한 픽셀의 컬럼의 이미지에서의 인덱스를 나타낸다. 이전에 재구축된 픽셀 T(lin, col)은 함수 세트 {Fm}로부터 선택된 보간 함수(interpolation function)에 의해 보간되고, m의 값의 범위는 0에서 M-1까지이고, M은 각각의 픽셀 X(lin, col)에 대한 인트라 모드의 개수이고, 예측값 P(lin, col)은 P(lin, col) = Fm(T, lin, col)에 의해 제공되고, m은 인트라 예측 모드의 인덱스이다.
따라서, HEVC 표준에 따라, 모드 M = 1은 각각의 예측된 픽셀 P(lin, col)에 이전에 재구축된 픽셀 T(lin, col)의 평균값을 할당하는 것을 특징으로 한다. m>1로 인덱스가 붙여진 모드는 이전에 재구축된 픽셀 T(lin, col)로부터의 33개의 상이한 방향으로의 방향성 보간이다.
단계 E10 동안, 전통적인 인트라 예측 모드 m(m=0, M-1) 중에서 최상의 가능한 예측이 결정된다.
이 목적으로, 범위가 0으로부터 M-1까지인 각각의 예측 모드 m에 대하여:
- 서브 단계 E101 동안, 대응하는 예측 함수를 현재 블록(X)의 각각의 픽셀에 적용함으로써 예측 블록 Pm이 재구축되고: Pm(lin, col) = Fm(T, lin, col),
- 서브 단계 E102 동안, 모드 m에 대한 현재 블록(X)의 예측 잔여물(Resm)이 Resm(lin, col) = X(lin, col) - Pm(lin, col)에 의해 현재 블록(X)의 각각의 픽셀에 대하여 계산되고,
- 전통적으로, 서브 단계 E103 동안, 예측 잔여물이, 예를 들어, DCT 변환에 의해 변환되고 정량화되어, 정량화된 계수(Resq m)를 전달하고, 인트라 예측 모드 m과 연관된 인코딩 비용(Rm)이 정량화된 계수(Resq m)로부터 그리고 인트라 예측 모드 m을 신호로 알리기 위한 비용으로부터 추정되고,
- 서브 단계 E104 동안, 예측 잔여물(Resrec m)은 정량화된 계수(Resq m)의 역정량화 및 역변환에 의해 재구축되고,
- 서브 단계 E105 동안, 현재 블록(Xrec m)이 Xrec m=Resrec m+Pm에 의해 재구축되고,
- 서브 단계 E106 동안, 인트라 예측 모드 m과 연관된 현재 블록(X)과 재구축된 현재 블록(Xrec m) 사이의 왜곡(Dm)이 계산되고(Dm = Dist(X, Xrec m)), 여기에서 Dist는 에러 함수, 예를 들어, 2차 에러 함수이고, 인트라 예측 모드 m과 연관된 비트 레이트/왜곡 비용이 계산된다(Jm = Rm + λ×Dm).
서브 단계 E107 동안, 예측 모드 m(m은 0에서 M-1까지)과 연관된 모든 비트 레이트/왜곡 비용 중에서 가장 낮은 비트 레이트/왜곡 비용(Jn)을 제공하는 예측 모드 n이 최상의 전통적인 인트라 예측 모드로서 선택된다. 예측 모드 n, 잔여물(Resq n)과 연관된 인코딩된 정보 및 재구축된 현재 블록(Xrec m)은 동작의 후속 부분을 위하여 저장된다.
단계 E11 동안, 최상의 전통적인 인트라 예측 모드와 이어서 비교되도록, 도 2 및 3을 참조하여 설명된 인트라 예측 모드를 인코딩하는 비용이 결정된다. 더욱 명확하게 하기 위하여, 도 2 및 3을 참조하여 설명된 인트라 예측 모드는 "보정된 예측을 갖는 모드"라 할 것이다.
단계 E11 동안, 보정된 예측 모드에 따른 비트 레이트/왜곡 비용이 가장 낮은 현재 블록(X)의 인코딩을 제공하는 보정 블록(Vb)이 결정된다. 이 목적으로, 보정 블록 세트의 각각의 보정 블록(Vk)에 대하여(k는 범위가 0에서 N-1까지), 다음의 서브 단계들이 구현된다:
- 서브 단계 E111 동안, 보정 블록(Vk)과 연관된 예측 블록(Pk)이 도 2를 참조하여 설명된 단계 20 내지 22를 구현함으로써 구축되고,
- 서브 단계 E112 동안, 보정 블록(Vk)에 대한 현재 블록(X)의 예측 잔여물(Resk)이 Resk(lin, col) = X(lin, col) - Pk(lin, col)에 의해 현재 블록(X)의 각각의 픽셀에 대하여 계산된다.
- 서브 단계 E113 동안, 예측 잔여물이, 예를 들어, DCT 변환에 의해 변환되고 정량화되어, 정량화된 계수(Resq k)를 전달하고, 보정 블록(Vk)과 연관된 인코딩 비용(Rk)이 정량화된 계수로부터 그리고 보정 블록(Vk)을 신호로 알리기 위한 비용으로부터 추정되고, 예를 들어, 보정 블록(Vk)은 보정 블록의 세트 중에서 보정 블록(Vk)의 인덱스의 인코딩에 의해 디코더로 신호로 알려지고,
- 서브 단계 E114 동안, 예측 잔여물(Resrec k)은 정량화된 계수(Resq k)의 역정량화 및 역변환에 의해 재구축되고,
- 서브 단계 E115 동안, 현재 블록(Xrec)이 Xrec k=Resrec k+Pk에 의해 재구축되고,
- 서브 단계 E116 동안, 보정 블록(Vk)과 연관된 현재 블록(X)과 재구축된 현재 블록(Xrec k) 사이의 왜곡(Dk)이 계산되고(Dk = Dist(X, Xrec k)), 여기에서 Dist는 에러 함수, 예를 들어, 2차 에러 함수이고, 보정 블록(Vk)과 연관된 비트 레이트/왜곡 비용이 계산된다(Jk = Rk + λ×Dk).
서브 단계 E117 동안, 보정 블록(Vk)(k는 범위가 0에서 M-1까지인 값)과 연관된 가장 낮은 비트 레이트/왜곡 비용(Jk)을 제공하는 보정 블록(Vb)이 최상의 보정 블록으로서 선택된다. 보정 블록(Vb)의 인덱스와 예측 잔여물(Resb)과 연관된 인코딩된 정보는 동작의 후속 부분을 위하여 저장된다.
단계 E12 동안, 단계 E10 동안 그리고 단계 E11 동안 각각 획득된 2개의 예측 모드의 비트 레이트/왜곡 비용(Jn 및 Jb)이 비교되고, 현재 블록(X)은 가장 낮은 비트 레이트/왜곡 비용을 제공하는 인트라 예측 모드에 따라 인코딩된다.
단계 E12 동안, 인트라 예측 모드의 종류를 나타내는 정보(TY)가 도 8a 및 8b에 도시된 바와 같이 데이터 스트림(STR)에서 인코딩된다. 이러한 정보는 현재 블록(X)이 전통적인 인트라 예측 모드, 즉 이미지의 이전에 재구축된 블록에 속하는 픽셀만을 이용하는 예측 모드에 따라 인코딩되는지, 또는 현재 블록(X)이 보정된 예측을 갖는 모드, 즉 현재 블록(X)의 적어도 하나의 이전에 보정된 픽셀을 이용하는 예측 모드에 따라 인코딩되는지 나타낸다.
단계 E12 동안 현재 블록(X)을 인코딩하기 위한 최상의 인트라 예측 모드가 전통적인 인트라 예측 모드 n이라고 판단되면, 단계 E13 동안 예측 모드 n이 인코딩된 데이터 스트림(STR)에 인코딩되고, 이 예측 모드 n에 대하여 획득된 정량화된 계수(Resq n)가 엔트로피 인코딩 모듈, 예를 들어, D. Marpe, H. Schwarz, T. Wiegand, "Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard" IEEE Transactions on Circuits and Systems for Video Technology(Volume: 13, Issue: 7), 620 - 636 페이지, July 2003에 설명된 CABAC 인코더에 의해 인코딩된 데이터 스트림(STR)에 인코딩된다.
단계 E12 동안 현재 블록(X)을 인코딩하기 위한 최상의 인트라 예측 모드가 보정 블록(Vb)을 이용하여 보정된 예측을 갖는 모드라고 판단되면, 단계 E13 동안 보정 블록(Vb)을 나타내는 정보, 예를 들어, 보정 블록의 사전에서의 보정 블록(Vb)의 인덱스 "b"가 인코딩된 데이터 스트림(STR)에 인코딩된다. 이러한 인덱스는 예를 들어 고정된 길이 또는 가변 길이를 갖는 코드에 의해 인코딩된다. 그 다음, 보정 블록(Vb)에 대하여 단계 E113 동안 획득된 정량화된 계수(Resq b)가 엔트로피 인코딩 모듈, 예를 들어, CABAC 인코더에 의해 인코딩된 데이터 스트림(STR)에 인코딩된다. 보정된 예측을 갖는 모드에 따른 현재 블록(X)의 인코딩으로 발생하는 신호의 일례는 도 8a에 도시된다.
본 발명의 하나의 특정 실시예에 따라, 보정된 예측을 갖는 모드에 대하여 사용된 로컬 예측 함수 H(Ai, Bi, Ci)를 나타내는 정보가 도 8b에 도시된 바와 같이 인코딩된 데이터 스트림(STR)에 인코딩된다. 본 발명의 이러한 특정 실시예에 따라, 이러한 정보는 이미지 레벨로 인코딩될 수 있다. 따라서, 보정된 예측을 갖는 모드에 따라 인코딩될 때, 동일한 로컬 예측 함수가 이미지의 모든 블록에 대하여 사용된다. 아니면, 이러한 정보는 블록 레벨로 인코딩될 수 있고, 이에 따라, 로컬 예측 함수는 각각의 블록에 대하여 맞추어 질 수 있고, 최상의 비트 레이트/왜곡 비용을 제공하는 로컬 예측 함수가 선택될 수 있다.
단계 E14에서, 인코딩될 이미지(Ij)의 모든 블록이 인코딩되었는지 확인된다. 아닌 경우에(아니오), 인코딩 방법은 인코딩될 이미지의 미리 정해진 스캔에 따라 다음 블록의 선택으로 진행함으로써 단계 E10으로 복귀한다.
이미지의 모든 블록이 처리되었다면, 단계 E15에서, 이미지(Ij rec)가 이미지의 재구축된 블록(Xrec)으로부터 재구축되고, 이미지 시퀀스의 다음 이미지의 인코딩 동안 기준으로서 이후에 사용될 기준 이미지의 리스트에 저장된다. 그 다음, 인코딩 방법은 단계 E0로 복귀하여 인코딩 순서에 따라 이미지 시퀀스의 이어지는 이미지를 처리한다.
4. 디코딩 방법
도 5는 본 발명의 하나의 특정 실시예에 따라 디코딩될 이미지 시퀀스(I1, I2, ..., INb)를 나타내는 인코딩된 데이터 스트림(STR)을 디코딩하기 위한 방법을 제공한다.
예를 들어, 데이터 스트림(STR)은 도 4를 참조하여 제공된 인코딩 방법을 통해 생성되었다. 데이터 스트림(STR)은 도 7을 참조하여 설명되는 바와 같은 디코딩 장치(DEC)의 입력에 제공된다.
디코딩 방법은 이미지별로 스트림의 디코딩을 수행하고, 각각의 이미지는 블록별로 디코딩된다.
재구축될 이미지의 블록(X)에 대하여, 단계 E50 동안, 블록(X)에 대응하는 데이터 스트림(STR)의 데이터가 엔트로피 디코딩 모듈에 의해 디코딩되어, 한편으로는 현재 블록(X)에 대한 인코딩 모드에 관련된 신택스(syntax) 요소를 제공하고 다른 한편으로는 현재 블록(X)의 예측 잔여 계수(Resq b)를 제공한다.
본 발명의 하나의 특정 실시예에 따라, 디코딩된 신택스 요소는, 특히, 현재 블록(X)이 전통적인 인트라 예측 모드, 즉 이미지의 이전에 재구축된 블록에 속하는 픽셀만을 이용하는 예측 모드에 따라 인코딩되는지, 또는 현재 블록(X)이 보정된 예측 모드, 즉 현재 블록(X)의 적어도 하나의 이전에 보정된 픽셀을 이용하는 예측 모드에 따라 인코딩되는지 나타내는 정보(TY)를 포함한다.
여기에서, 현재 블록(X)은 보정된 예측을 갖는 모드에 따라 인코딩된 것으로 가정된다.
또한, 단계 E50 동안 디코딩된 신택스 요소는 디코더(DEC)에서 사용 가능한 보정 블록의 사전에 속하는 보정 블록(Vb)을 나타내는 정보 "b"를 포함한다.
단계 E501에서, 보정 블록(Vb)은 디코딩된 정보 "b"로부터 결정된다. 보정 블록(Vb)은 디코더(DEC)에서 사용 가능한 사전의 보정 블록 중에서 식별된다. 예를 들어, 이러한 보정 블록은 디코더(DEC)의 메모리에 저장된다.
단계 E51에서, 블록(X)의 예측 잔여 계수는 역정량화를 받고, 그 다음 역변환을 받아 디코딩된 예측 잔여물(Resq b rec)을 제공한다.
단계 E52에서, 보정 블록(Vb)과 연관된 예측 블록(Pb)이 도 2를 참조하여 설명된 단계 20 내지 22를 구현함으로써 구축된다.
또한, 본 발명의 하나의 특정 실시예에 따라, 단계 E50 동안 디코딩된 신택스 요소는 보정된 예측을 갖는 모드에 대하여 사용된 로컬 예측 함수 H(Ai, Bi, Ci)를 나타내는 정보를 포함한다. 이러한 정보는 이미지 신택스 요소의 레벨로 또는 현재 블록(X)에 대하여 디코딩될 수 있다. 로컬 예측 함수 H(Ai, Bi, Ci)를 나타내는 이러한 정보는 인코더 및 디코더에 알려진 예측 함수의 리스트 중에서의 함수의 인덱스일 수 있다. 본 발명의 하나의 특정 실시예에 따라, 인코딩된 데이터 스트림(STR)의 디코딩된 로컬 예측 함수 H(Ai, Bi, Ci)는 단계 E52 동안 도 2를 참조하여 설명된 예측 블록을 결정하기 위한 방법에 의해 사용된다.
단계 E53 동안, 인코딩된 데이터 스트림(STR)으로부터 디코딩된 현재 블록(X)과 연관된 예측 잔여물(Resq b rec)을 보정 블록(Vb)과 연관된 예측 블록(Pb)에 더하여 현재 블록(Xrec)이 재구축된다.
단계 E54에서, 디코딩될 이미지의 모든 블록이 디코딩되어 재구축되었는지 확인된다. 아닌 경우에(아니오), 디코딩 방법은 디코딩될 이미지의 미리 정해진 스캐닝에 따른 다음 블록의 선택을 수행하는 단계 E50에서 재개된다.
이미지의 모든 블록이 처리되었다면(예), 단계 E55에서, 재구축된 블록(Xrec)으로부터 이미지(Ik rec)가 재구축되어 이미지 시퀀스에서 이어지는 이미지의 디코딩 동안 기준으로서 이후에 사용될 기준 이미지의 리스트에 저장된다.
여기에서 전술된 인코딩 및 디코딩 방법은 H.266, HEVC/H.265, AVC/H.264 표준을 이용하는 장치와 같은 표준 비디오 인코더/디코더 또는 임의의 종류의 전유(proprietary) 비디오 인코더/디코더로 통합될 수 있다. 또한, 본 발명에 따른 인코딩 및 디코딩 방법은 모든 종류의 고정된 이미지 인코더/디코더에 적용되며, 더욱 일반적으로는 블록별 예측 인코딩을 이용하는 신호 인코더/디코더에 적용된다.
인코딩 및 디코딩 방법은 여기에서 공간적 블록별 인코딩(이미지의 인트라 인코딩)의 경우에서 전술되었다. 이러한 방법들은 다른 종류의 인코딩 모드에 따라, 예를 들어, 소정의 블록만이 공간적 예측에 의해 인코딩될 수 있는 인터 인코딩 모드에 따라 인코딩된 이미지의 경우에 용이하게 적용된다.
5. 인코딩 장치
도 6은 본 발명의 임의의 하나의 특정 실시예에 따른 인코딩 방법을 구현하도록 맞추어진 인코딩 장치(COD)의 간략화된 구조를 나타낸다.
본 발명의 하나의 특정 실시예에 따라, 인코딩 방법의 단계들은 컴퓨터 프로그램 명령어에 의해 구현된다. 이 목적으로, 인코딩 장치(COD)는 전통적인 컴퓨터 아키텍처를 가지며, 특히, 메모리(MEM)와, 예를 들어 프로세서(PROC)가 구비되며 메모리(MEM)에 저장된 컴퓨터 프로그램(PG)에 의해 관리되는 처리 유닛(UT)을 포함한다. 컴퓨터 프로그램(PG)은 프로그램이 프로세서(PROC)에 의해 실행될 때 여기에서 전술된 인코딩 방법의 단계들을 구현하기 위한 명령어를 포함한다.
초기에, 컴퓨터 프로그램 코드 명령어(PG)가, 예를 들어, 메모리(RAM)에 로딩되고, 그 다음, 프로세서(PROC)에 의해 실행된다. 처리 유닛(UT)의 프로세서(PROC)는 특히 컴퓨터 프로그램(PG)의 명령어에 따라 위에서 전술된 인코딩 방법의 단계들을 구현한다.
본 발명의 다른 특정 실시예에 따라, 인코딩 방법은 기능 모듈에 의해 구현된다. 이 목적으로, 인코딩 장치(COD)는,
- 인코딩될 이미지의 현재 블록에 대한 예측 블록을 결정하도록 구성된 예측 모듈(PRED)로서,
○ 현재 블록의 적어도 하나의 제1 픽셀에 대하여:
■ 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀로부터 상기 제1 픽셀의 예측값을 획득하고,
■ 상기 제1 픽셀에 대하여 획득된 예측값에 보정 블록이라 하는 블록의 픽셀의 적어도 하나의 값을 더하여 제1 픽셀을 보정하고,
○ 현재 블록의 적어도 하나의 픽셀에 대하여:
■ 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀의 예측값을 획득하고,
■ 현재 픽셀에 대하여 획득된 예측값에 상기 현재 블록의 픽셀의 적어도 하나의 값을 더하여 상기 현재 블록을 보정하도록
구성된, 예측 모듈(PRED),
- 인코딩된 데이터 스트림에서, 상기 현재 블록과 상기 결정된 예측 블록으로부터 계산된 잔여 블록 및 상기 보정 블록을 나타내는 적어도 하나의 정보의 인코딩에 맞추어진 인코딩 모듈(CD)
을 더 포함한다.
처리 유닛(UT)은 현재 블록으로부터 그리고 결정된 예측 블록으로부터 잔여 블록을 계산하도록 구성된다.
처리 유닛(UT)은 인코딩 방법의 단계들을 구현하기 위하여 위에서 전술된 상이한 기능 모듈 및 메모리(MEM)와 협력한다.
여기에서 전술된 상이한 기능 모듈은 하드웨어 형태 및/또는 소프트웨어 형태를 가질 수 있다. 하드웨어 형태에서, 이러한 기능 모듈은, 프로세서, 메모리 및 프로그램 코드 명령어를 포함하여, 코드 명령어가 프로세서에 의해 실행될 때 모듈에 대응하는 기능을 구현할 수 있다. 하드웨어 형태에서, 이러한 기능 모듈은, 예를 들어 그리고 비소진적으로, 마이크로 프로세서, 디지털 신호 프로세서(DSP), ASIC(applications specific integrated circuits), FPGA(field programmable gate arrays) 회로, 논리 회로의 배선 등과 같은 임의의 종류의 인코딩 회로에 의해 구현될 수 있다.
6. 디코딩 장치
도 7은 본 발명의 임의의 하나의 특정 실시예에 따른 디코딩 방법을 구현하도록 맞추어진 디코딩 장치(DEC)의 간략화된 구조를 나타낸다.
본 발명의 하나의 특정 실시예에 따라, 디코딩 장치(DEC)는 전통적인 컴퓨터 아키텍처를 가지며, 특히, 메모리(MEM0)와, 예를 들어 프로세서(PROC0)가 구비되며 메모리(MEM0)에 저장된 컴퓨터 프로그램(PG0)에 의해 관리되는 처리 유닛(UT0)을 포함한다. 컴퓨터 프로그램(PG0)은 프로그램이 프로세서(PROC0)에 의해 실행될 때 위에서 전술된 디코딩 방법의 단계들을 구현하기 위한 명령어를 포함한다.
초기에, 컴퓨터 프로그램 코드 명령어(PG0)가, 예를 들어, 메모리(RAM)에 로딩되고, 그 다음, 프로세서(PROC0)에 의해 실행된다. 처리 유닛(UT0)의 프로세서(PROC0)는 특히 컴퓨터 프로그램(PG0)의 명령어에 따라 위에서 전술된 디코딩 방법의 단계들을 구현한다.
본 발명의 다른 특정 실시예에 따라, 디코딩 방법은 기능 모듈에 의해 구현된다. 이 목적으로, 디코딩 장치(DEC)는,
- 재구축될 이미지의 적어도 하나의 현재 블록에 대하여, 잔여 블록과 보정 블록이라 하는 블록을 나타내는 정보를 인코딩된 데이터 스트림에서 디코딩하도록 구성된 디코딩 모듈(DC),
- 디코딩된 정보로부터 보정 블록을 결정하도록 구성된 결정 모듈(DET),
- 현재 블록의 예측 블록을 결정하도록 구성된 예측 모듈(PRED0)로서,
○ 현재 블록의 적어도 하나의 제1 픽셀에 대하여:
■ 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀로부터 상기 제1 픽셀의 예측값을 획득하고,
■ 상기 제1 픽셀에 대하여 획득된 예측값에 보정 블록의 픽셀의 적어도 하나의 값을 더하여 제1 픽셀을 보정하고,
○ 제1 픽셀로부터 구분되는 현재 블록의 적어도 하나의 픽셀에 대하여:
■ 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀의 예측값을 획득하고,
○ 현재 픽셀에 대하여 획득된 예측값에 보정 블록의 픽셀의 적어도 하나의 값을 더하여 상기 현재 블록을 보정하도록
구성된, 예측 모듈(PRED0),
- 예측 블록 및 잔여 블록으로부터 상기 현재 블록을 재구축하도록 맞추어진 재구축 모듈(REC)
을 더 포함한다.
처리 유닛(UT0)은 디코딩 방법의 단계들을 구현하기 위하여 위에서 전술된 상이한 기능 모듈 및 메모리(MEM0)와 협력한다.
여기에서 전술된 상이한 기능 모듈은 하드웨어 형태 및/또는 소프트웨어 형태를 가질 수 있다. 하드웨어 형태에서, 이러한 기능 모듈은, 프로세서, 메모리 및 프로그램 코드 명령어를 포함하여, 코드 명령어가 프로세서에 의해 실행될 때 모듈에 대응하는 기능을 구현할 수 있다. 하드웨어 형태에서, 이러한 기능 모듈은, 예를 들어 그리고 비소진적으로, 마이크로 프로세서, 디지털 신호 프로세서(DSP), ASIC(applications specific integrated circuits), FPGA(field programmable gate arrays) 회로, 논리 회로의 배선 등과 같은 임의의 종류의 디코딩 회로에 의해 구현될 수 있다.

Claims (13)

  1. 적어도 하나의 이미지를 나타내는 인코딩된 데이터 스트림을 디코딩하는 방법에 있어서,
    상기 이미지는 블록으로 세분되고, 상기 방법은, 현재 블록이라 하는 상기 이미지의 적어도 하나의 블록에 대하여:
    - 상기 인코딩된 데이터 스트림으로부터, 잔여 블록(residue block)과 보정 블록(correction block)이라 하는 블록을 나타내는 적어도 하나의 정보를 디코딩하는 단계(E50);
    - 디코딩된 상기 정보로부터 상기 보정 블록을 결정하는 단계;
    - 상기 현재 블록을 예측하기 위하여 예측 블록(predictive block)을 결정하는 단계(E52)로서,
    상기 현재 블록의 적어도 하나의 제1 픽셀에 대하여:
    - 상기 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀로부터 상기 제1 픽셀의 예측값을 획득하는 단계(E20),
    - 상기 제1 픽셀에 대하여 획득된 예측값에 상기 보정 블록의 픽셀의 적어도 하나의 값을 더하여 상기 제1 픽셀을 보정하는 단계(E21),
    상기 제1 픽셀로부터 구별되는 상기 현재 블록의 적어도 하나의 현재 픽셀에 대하여:
    - 상기 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀의 예측값을 획득하는 단계(E20),
    - 상기 현재 픽셀에 대하여 획득된 예측값에 상기 보정 블록의 픽셀의 적어도 하나의 값을 더하여 상기 현재 픽셀을 보정하는 단계(E21)
    를 포함하는 단계; 및
    - 상기 예측 블록 및 디코딩된 상기 잔여 블록으로부터 상기 현재 블록을 재구축하는 단계(E43)
    를 포함하는, 방법.
  2. 적어도 하나의 이미지를 인코딩된 데이터 스트림의 형태로 인코딩하는 방법에 있어서,
    상기 이미지는 블록으로 세분되고, 상기 방법은, 현재 블록이라 하는 인코딩될 상기 이미지의 적어도 하나의 블록에 대하여:
    - 상기 현재 블록을 예측하기 위한 예측 블록을 결정하는 단계(E111)로서,
    상기 현재 블록의 적어도 하나의 제1 픽셀에 대하여:
    - 상기 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀로부터 상기 제1 픽셀의 예측값을 획득하는 단계(E20),
    - 상기 제1 픽셀에 대하여 획득된 예측값에 보정 블록이라 하는 블록의 픽셀의 적어도 하나의 값을 더하여 상기 제1 픽셀을 보정하는 단계(E21);
    상기 제1 픽셀로부터 구별되는 상기 현재 블록의 적어도 하나의 현재 픽셀에 대하여:
    - 상기 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀에 대한 예측값을 획득하는 단계(E20),
    - 상기 현재 픽셀에 대하여 획득된 예측값에 상기 보정 블록의 픽셀의 적어도 하나의 값을 더하여 상기 현재 픽셀을 보정하는 단계(E21)
    를 포함하는 단계;
    - 상기 데이터 스트림에, 상기 보정 블록을 나타내는 적어도 하나의 정보를 인코딩하는 단계(E13);
    - 상기 현재 블록 및 결정된 상기 예측 블록으로부터 잔여 블록(residue block)을 계산하는 단계; 및
    - 상기 데이터 스트림에 상기 잔여 블록을 인코딩하는 단계
    를 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 보정 블록은 미리 정해진 잔여 데이터를 포함하는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 보정 블록은 미리 정해진 데이터 블록 세트에 속하고, 상기 보정 블록을 나타내는 상기 적어도 하나의 정보는 상기 세트의 블록들 중에서 상기 보정 블록의 식별을 가능하게 하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 현재 픽셀의 예측값은 상기 현재 픽셀 위에 위치된 픽셀, 상기 현재 픽셀의 왼쪽에 위치된 픽셀 및 상기 현재 픽셀의 왼쪽 위에 위치된 픽셀에 적용된 로컬 예측 함수의 함수로서 상기 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 획득되는, 방법.
  6. 제5항에 있어서,
    상기 로컬 예측 함수를 나타내는 정보는 상기 인코딩된 데이터 스트림에 인코딩되거나 상기 인코딩된 데이터 스트림으로부터 디코딩되는, 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 인코딩된 데이터 스트림은, 상기 현재 블록에 대하여, 상기 현재 블록이 상기 이미지의 이전에 재구축된 블록에 속하는 픽셀만을 이용하는 예측 모드에 따라 인코딩되는지 또는 상기 현재 블록이 상기 현재 블록의 적어도 하나의 이전에 보정된 픽셀을 이용하는 예측 모드에 따라 인코딩되는지 나타내는 정보를 포함하는, 방법.
  8. 적어도 하나의 이미지를 나타내는 인코딩된 데이터 스트림을 디코딩하는 디코딩 장치(DEC)에 있어서,
    상기 이미지는 블록으로 세분되고, 상기 디코딩 장치는, 현재 블록이라 하는 상기 이미지의 적어도 하나의 블록에 대하여:
    - 상기 인코딩된 데이터 스트림으로부터, 잔여 블록(residue block)과 보정 블록(correction block)이라 하는 블록을 나타내는 적어도 하나의 정보를 디코딩하도록 구성된 디코딩 모듈(DC);
    - 디코딩된 상기 정보로부터 상기 보정 블록을 결정하도록 구성된 결정 모듈(DET);
    - 상기 현재 블록을 예측하기 위하여 예측 블록(predictive block)을 결정하도록 구성된 예측 모듈(PRED0)로서,
    - 상기 현재 블록의 적어도 하나의 제1 픽셀에 대하여:
    - 상기 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀로부터 상기 제1 픽셀의 예측값을 획득하고,
    - 상기 제1 픽셀에 대하여 획득된 예측값에 상기 보정 블록의 픽셀의 적어도 하나의 값을 더하여 상기 제1 픽셀을 보정하고,
    - 상기 제1 픽셀로부터 구별되는 상기 현재 블록의 적어도 하나의 현재 픽셀에 대하여:
    - 상기 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀의 예측값을 획득하고,
    - 상기 현재 픽셀에 대하여 획득된 상기 예측값에 상기 보정 블록의 픽셀의 적어도 하나의 값을 더하여 상기 현재 픽셀을 보정하도록,
    구성된 상기 예측 모듈; 및
    - 상기 예측 블록 및 디코딩된 상기 잔여 블록에 기초하여 상기 현재 블록을 재구축하도록 구성된 재구축 모듈(REC)
    을 포함하는, 디코딩 장치.
  9. 적어도 하나의 이미지를 인코딩된 데이터 스트림의 형태로 인코딩하는 인코딩 장치(COD)에 있어서,
    상기 이미지는 블록으로 세분되고, 상기 인코딩 장치는, 현재 블록이라 하는 인코딩될 상기 이미지의 적어도 하나의 블록에 대하여:
    - 상기 현재 블록을 예측하기 위한 예측 블록을 결정하도록 구성된 예측 모듈(PRED)로서,
    - 상기 현재 블록의 적어도 하나의 제1 픽셀에 대하여:
    - 상기 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀에 기초하여 상기 제1 픽셀의 예측값을 획득하고,
    - 상기 제1 픽셀에 대하여 획득된 예측값에 보정 블록이라 하는 블록의 픽셀의 적어도 하나의 값을 더하여 상기 제1 픽셀을 보정하고,
    - 상기 현재 블록의 적어도 하나의 현재 픽셀에 대하여:
    - 상기 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀에 대한 예측값을 획득하고,
    - 상기 현재 픽셀에 대하여 획득된 예측값에 상기 보정 블록의 픽셀의 적어도 하나의 값을 더하여 상기 현재 픽셀을 보정하도록
    구성된 상기 예측 모듈; 및
    - 상기 데이터 스트림에, 상기 현재 블록 및 결정된 상기 예측 블록으로부터 계산된 잔여 블록(residue block)과 상기 현재 블록을 나타내는 적어도 하나의 정보를 인코딩하도록 구성된 인코딩 모듈(CD)
    을 포함하는, 인코딩 장치.
  10. 프로세서에 의해 실행될 때, 제1항 및 제3항 내지 제7항 중 어느 한 항에 따른 디코딩 방법을 구현하기 위한 명령어를 포함하는 컴퓨터 프로그램.
  11. 프로세서에 의해 실행될 때, 제2항 내지 제7항 중 어느 한 항에 따른 인코딩 방법을 구현하기 위한 명령어를 포함하는 컴퓨터 프로그램.
  12. 적어도 하나의 이미지를 나타내는 인코딩된 데이터를 포함하는 신호로서,
    상기 이미지는 블록으로 세분되고, 현재 블록이라 하는 상기 이미지의 적어도 하나의 블록에 대하여, 상기 신호는,
    - 보정 블록(correction block)이라 하는 블록을 나타내는 적어도 하나의 정보로서, 상기 현재 블록의 적어도 하나의 제1 픽셀은 상기 보정 블록의 픽셀의 적어도 하나의 값과 상기 이미지의 이전에 재구축된 블록의 적어도 하나의 픽셀로부터 상기 제1 픽셀에 대하여 획득된 예측값으로부터 인코딩되고, 상기 현재 블록의 적어도 하나의 현재 픽셀은 상기 보정 블록의 픽셀의 적어도 하나의 값으로부터, 그리고 상기 현재 블록의 적어도 하나의 이전에 보정된 픽셀로부터 상기 현재 픽셀에 대하여 획득된 예측값으로부터 인코딩되어, 상기 현재 블록에 대한 예측 블록을 전달하고, 상기 보정 블록을 나타내는 적어도 하나의 정보와,
    - 상기 현재 블록과 상기 예측 블록으로부터 계산된 잔여 블록(residue block)을 나타내는 적어도 하나의 정보(Resq b)
    를 포함하는, 신호.
  13. 제12항에 있어서,
    상기 현재 블록에 대하여, 상기 현재 블록이 상기 이미지의 이전에 재구축된 블록에 속하는 픽셀만을 이용하는 예측 모드에 따라 인코딩되는지 또는 상기 현재 블록이 상기 현재 블록의 적어도 하나의 이전에 보정된 픽셀을 이용하는 예측 모드에 따라 인코딩되는지 나타내는 정보(TY)를 더 포함하는, 신호.
KR1020197034947A 2017-05-29 2018-05-18 적어도 하나의 이미지를 나타내는 데이터 스트림을 인코딩 및 디코딩하는 방법 및 장치 KR102532484B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1754688A FR3066873A1 (fr) 2017-05-29 2017-05-29 Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
FR1754688 2017-05-29
PCT/FR2018/051210 WO2018220311A1 (fr) 2017-05-29 2018-05-18 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 (2)

Publication Number Publication Date
KR20200013660A true KR20200013660A (ko) 2020-02-07
KR102532484B1 KR102532484B1 (ko) 2023-05-16

Family

ID=59297119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197034947A KR102532484B1 (ko) 2017-05-29 2018-05-18 적어도 하나의 이미지를 나타내는 데이터 스트림을 인코딩 및 디코딩하는 방법 및 장치

Country Status (9)

Country Link
US (2) US11245924B2 (ko)
EP (2) EP3632103B1 (ko)
JP (1) JP7274427B2 (ko)
KR (1) KR102532484B1 (ko)
CN (2) CN117544784A (ko)
BR (1) BR112019025108A2 (ko)
ES (1) ES2902766T3 (ko)
FR (1) FR3066873A1 (ko)
WO (1) WO2018220311A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3066873A1 (fr) * 2017-05-29 2018-11-30 Orange Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
FR3092719A1 (fr) * 2019-02-07 2020-08-14 Orange Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image.

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013009896A1 (en) * 2011-07-12 2013-01-17 Huawei Technologies Co. Ltd. Pixel-based intra prediction for coding in hevc
WO2013067435A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602004017180D1 (de) * 2003-06-27 2008-11-27 Nxp Bv Codierungsverfahren für tragbare vorrichtungen
US7953152B1 (en) * 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
US7707213B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
US7707214B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
KR101455647B1 (ko) * 2007-09-14 2014-10-28 삼성전자주식회사 컬러 기반으로 예측 값을 보정하는 방법 및 장치, 이것을이용한 이미지 압축/복원 방법과 장치
KR101364195B1 (ko) * 2008-06-26 2014-02-21 에스케이텔레콤 주식회사 움직임벡터 부호화/복호화 방법 및 그 장치
FR2958489A1 (fr) * 2010-04-02 2011-10-07 Thomson Licensing Procede de codage et procede de reconstruction d'un bloc d'une sequence d'images
WO2012008037A1 (ja) * 2010-07-15 2012-01-19 富士通株式会社 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法
WO2012035640A1 (ja) * 2010-09-16 2012-03-22 株式会社 東芝 動画像符号化方法及び動画像復号化方法
KR101979379B1 (ko) * 2011-08-25 2019-05-17 삼성전자주식회사 영상의 부호화 방법 및 장치, 및 영상의 복호화 방법 및 장치
CN110708542B (zh) * 2012-01-18 2023-02-17 韩国电子通信研究院 视频解码装置、视频编码装置和传输比特流的方法
MX340432B (es) * 2012-06-04 2016-07-08 Panasonic Ip Corp America Metodo de codificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento y aparato de decodificacion de imagenes en movimiento.
WO2014050971A1 (ja) * 2012-09-28 2014-04-03 日本電信電話株式会社 イントラ予測符号化方法、イントラ予測復号方法、イントラ予測符号化装置、イントラ予測復号装置、それらのプログラム並びにプログラムを記録した記録媒体
US11323747B2 (en) * 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
JP6315911B2 (ja) * 2013-07-09 2018-04-25 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
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
AU2014201583A1 (en) * 2014-03-14 2015-10-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data using a block dictionary
FR3024933A1 (fr) * 2014-08-12 2016-02-19 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
CN107852492A (zh) * 2015-05-12 2018-03-27 三星电子株式会社 用于对图像进行编码和解码的方法和设备
KR20170108367A (ko) * 2016-03-17 2017-09-27 세종대학교산학협력단 인트라 예측 기반의 비디오 신호 처리 방법 및 장치
US10701366B2 (en) * 2017-02-21 2020-06-30 Qualcomm Incorporated Deriving motion vector information at a video decoder
FR3066873A1 (fr) * 2017-05-29 2018-11-30 Orange Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013009896A1 (en) * 2011-07-12 2013-01-17 Huawei Technologies Co. Ltd. Pixel-based intra prediction for coding in hevc
WO2013067435A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding

Also Published As

Publication number Publication date
CN117544784A (zh) 2024-02-09
EP3632103B1 (fr) 2021-10-13
CN110710204B (zh) 2023-12-12
WO2018220311A1 (fr) 2018-12-06
EP3632103A1 (fr) 2020-04-08
KR102532484B1 (ko) 2023-05-16
JP7274427B2 (ja) 2023-05-16
US11245924B2 (en) 2022-02-08
US11736721B2 (en) 2023-08-22
FR3066873A1 (fr) 2018-11-30
US20220116658A1 (en) 2022-04-14
EP3941045A1 (fr) 2022-01-19
BR112019025108A2 (pt) 2020-06-23
US20200084471A1 (en) 2020-03-12
JP2020522180A (ja) 2020-07-27
CN110710204A (zh) 2020-01-17
ES2902766T3 (es) 2022-03-29

Similar Documents

Publication Publication Date Title
KR102426721B1 (ko) 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
EP3448038B1 (en) Decoding method for intra predicting a block by first predicting the pixels at the boundary
JP6158802B2 (ja) 復号装置および復号方法
JP6164600B2 (ja) ビデオ符号化での分割ブロック符号化方法、ビデオ復号化での分割ブロック復号化方法及びこれを実現する記録媒体
KR101356733B1 (ko) 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
KR101549823B1 (ko) 적응적 이진화를 이용한 영상 부호화, 복호화 방법 및 장치
US9210435B2 (en) Video encoding method and apparatus for estimating a code amount based on bit string length and symbol occurrence frequency
JP2008035134A (ja) 画像符号化装置
JP2023156438A (ja) データ符号化方法及び装置、データ復号化方法及び装置、画像処理装置
JP7047777B2 (ja) 画像データ符号化及び復号化
US11736721B2 (en) Methods and devices for coding and decoding a data stream representative of at least one image
EP2034742A2 (en) Video coding method and device
JP2023542029A (ja) 低ビット精度のニューラルネットワーク(nn)に基づくクロスコンポーネント予測のための方法、機器、及びコンピュータプログラム
JP6708211B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
KR102327323B1 (ko) 적어도 하나의 이미지를 나타내는 데이터 스트림을 인코딩하고 디코딩하는 방법 및 장치
JP7396883B2 (ja) 符号化装置、復号装置、及びプログラム
KR102543086B1 (ko) 화상을 인코딩 및 디코딩하기 위한 방법 및 장치
WO2024044207A1 (en) Magnitude prediction with candidate pruning
CA3208760A1 (en) Magnitude coding and decoding using prediction
GB2585044A (en) Image data encoding and decoding
WO2012115434A2 (ko) 복수 참조 영상을 이용한 영상 부복호화 방법 및 이러한 방법을 사용하는 장치

Legal Events

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