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

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

Info

Publication number
KR102327323B1
KR102327323B1 KR1020187032526A KR20187032526A KR102327323B1 KR 102327323 B1 KR102327323 B1 KR 102327323B1 KR 1020187032526 A KR1020187032526 A KR 1020187032526A KR 20187032526 A KR20187032526 A KR 20187032526A KR 102327323 B1 KR102327323 B1 KR 102327323B1
Authority
KR
South Korea
Prior art keywords
prediction
list
block
mode
prediction mode
Prior art date
Application number
KR1020187032526A
Other languages
English (en)
Other versions
KR20190005867A (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 KR20190005867A publication Critical patent/KR20190005867A/ko
Application granted granted Critical
Publication of KR102327323B1 publication Critical patent/KR102327323B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 블록으로 세분화된 적어도 하나의 이미지를 나타내는 인코딩된 데이터 스트림을 디코딩하는 방법 및 장치에 관한 것으로, 적어도 2개의 예측 모드가 현재 블록이라 하는 이미지의 블록을 예측하기 위하여 사용 가능하다. 상기 현재 블록에 대하여, 그리고 상기 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 사용 가능한 예측 모드와 연관된 예측 블록이 획득된다. 그 다음, 2개의 사용 가능한 예측 모드 중 적어도 하나를 포함하는 리스트가 구축된다. 현재 모드라 하는 상기 리스트에 포함된 적어도 하나의 예측 모드에 대하여, 상기 현재 모드와 연관된 예측 블록과 다른 사용 가능한 예측 모드와 연관되고 상기 현재 블록에 대하여 획득된 다른 예측 블록 사이의 거리 측정값이 결정된다. 그 다음, 리스트는 결정된 상기 거리 측정값의 함수로서 수정된다. 그 다음, 상기 현재 블록에 대하여, 수정된 리스트로부터 예측 모드를 식별하는 정보가 인코딩된 블록의 스트림으로부터 디코딩되고, 상기 현재 블록이 식별된 상기 예측 모드와 연관된 예측 블록으로부터 재구축된다.

Description

적어도 하나의 이미지를 나타내는 데이터 스트림을 인코딩하고 디코딩하는 방법 및 장치
본 발명의 분야는 이미지 또는 이미지 시퀀스 및 특히 비디오 스트림의 인코딩 및 디코딩에 관한 분야이다.
더욱 구체적으로는, 본 발명은 이미지의 블록 기반 표현을 이용하는 이미지 또는 이미지 시퀀스의 압축에 관한 것이다.
본 발명은, 특히, 현재 또는 장래의 인코더(JPEG, MPEG, H.264, HEVC 등과 이들의 개선물)에서 구현되는 이미지 또는 비디오 인코딩과, 대응하는 디코딩 동작에 적용될 수 있다.
디지털 이미지와 이미지 시퀀스는 메모리의 측면에서 상당한 공간을 차지하고, 이것은 전송을 위하여 사용되는 네트워크에서의 혼잡 문제를 방지하기 위하여 전송될 때 이러한 이미지를 압축하는 것을 필수적으로 만든다. 이 네트워크에서 사용될 수 있는 비트 레이트가 일반적으로 제한된다는 것이 사실이다.
많은 비디오 데이터 압축 기술이 이미 알려져 있다. 이는, 동일한 이미지에 속하는 다른 픽셀에 상대적인 현재 이미지에서의 픽셀의 예측(인트라 예측(intra prediction)) 또는 이전 또는 이후 이미지에 상대적인 현재 이미지에서의 픽셀의 예측(인터 예측(inter prediction))을 구현하는 것을 제안하는, Mathias Wien, "High Efficiency Video Coding, Coding Tools and Specification", Signals and Communication Technology, 2015에서 설명된 HEVC("High Efficiency Video Coding") 압축 표준을 포함한다.
더욱 구체적으로는, 인트라 예측은 이미지 내의 공간적인 리던던시를 이용한다. 이 목적으로, 이미지는 픽셀 블록으로 세분화된다. 그 다음, 픽셀 블록은 이미지 내의 블록이 스캐닝되는 순서에 따라 현재 이미지에서 이전에 인코딩/디코딩된 블록에 대응하는 이미 재구성된 정보를 이용하여 예측된다.
게다가, 전통적으로, 현재 블록의 인코딩은 현재 블록의 예측을 이용하여 수행되며, 예측은 예측된 블록을 말하며, 예측 잔여(prediction residue) 또는 "잔여 블록"은 현재 블록과 예측된 블록 사이의 차이에 대응한다. 그 다음, 획득된 잔여 블록은, 예를 들어, DCT(discrete cosine transform(이산 코사인 변환)) 유형의 변환을 이용함으로써 변환된다. 다음으로, 변환된 잔여 블록의 계수가 정량화되고, 그 다음, 엔트로피 인코딩(entropic coding)에 의해 인코딩되고, 예측된 블록에 이 잔여 블록을 더함으로써 현재 이미지를 재구성할 수 있는 디코더로 전송된다
디코딩은 이미지별로 수행되고, 각각의 이미지에 대하여, 이것은 블록별로 수행된다. 각각의 블록에 대하여, 스트림의 대응하는 요소들이 판독된다. 잔여 블록의 계수의 역정량화 및 역변환이 수행된다. 다음으로, 블록의 예측이 계산되어 예측된 블록을 획득하고, 현재 블록이 디코딩된 잔여 블록에 예측(예측된 블록)을 더하여 재구축된다.
HEVC 표준에서, 35개의 상이한 인트라 예측 모드에 따라 현재 블록의 인트라 예측을 할 수 있다. 현재 블록을 예측하기 위하여 선택된 인트라 예측 모드를 인코딩하기 위하여, HEVC 표준은 예측된 모드에 대한 2개의 리스트를 정의한다:
- 현재 블록에 대하여 가장 가능성 있는 3개의 인트라 예측 모드를 포함하는 MPM(most probable mode(최대 확률 모드))이라 하는 제1 리스트로서, 이러한 MPM 리스트는 현재 블록의 이웃하는 블록의 인코딩 동안 예비적으로 선택된 예측 모드에 기초하여 정의된다.
- 32개의 다른 나머지 인트라 모드, 즉 MPM 리스트에 포함되지 않은 인트라 예측 모드를 포함하는 비 MPM 리스트라 하는 제2 리스트.
인덱스는 현재 블록을 예측하기 위하여 MPM 리스트가 사용되는지 비 MPM 리스트가 사용되는지 나타내기 위하여 디코더에 전송된다. 현재 블록이 MPM 리스트로부터 인트라 예측 모드에 의해 인코딩될 때, MPM 리스트에서 선택된 예측 모드의 인덱스는 엔트로피 인코딩에 의해 디코더로 전송된다. 현재 블록이 비 MPM 리스트로부터 인트라 예측 모드에 의해 인코딩될 때, 비 M 리스트에서 선택된 인트라 예측 모드의 인덱스는 고정된 5 비트 길이의 코드에 의해 인코딩된다.
비 MPM 리스트는 많은 개수의 인트라 예측 모드를 포함하고, 이에 따라 이 리스트의 예측 모드의 인덱스를 인코딩하는 비용은 높다.
L-L. Wang 및 W-C Siu는, "Novel Adaptive Algorithm for Intra Prediction with Compromised Modes Skipping and Signaling Processes in HEVC", IEEE, 2013에서, 첫 번째로, 인트라 예측 모드의 시그널링 비용을 감소시키고, 두 번째로, 예측 모드의 선택의 복잡성을 감소시키기 위하여, 현재 블록을 예측하는데 사용되는 인트라 예측 모드의 개수를 감소시키는 것을 가능하게 하는 인코딩 방법을 설명한다. 각각의 현재 블록에 대하여, 이러한 방법은 현재 블록의 레퍼런스 픽셀의 변동의 값에 따라 1개, 3개 또는 35개의 인트라 예측 모드를 포함하는 리스트를 구성한다. 현재 블록의 레퍼런스 픽셀은 현재 블록의 위에 위치된 로우(row)와 현재 블록의 오른쪽에 위치된 컬럼(column)의 픽셀에 대응한다. 그 다음, 현재 블록은 리스트의 예측 모드 중 하나에 의해 예측된다. 이러한 방법은 현재 블록을 예측하기 위하여 사용 가능한 인트라 예측 모드의 개수를 감소시켜 현재 블록을 예측하는데 사용되는 예측 모드의 시그널링 비용을 감소시킨다. 또한, 예측 모드의 리스트의 크기에 따라, 모든 인트라 예측 모드가 시험되는 것은 아니기 때문에, 이것은 현재 블록을 인코딩하기 위한 인트라 예측 모드의 선택 단계를 가속한다. 이 방법은 현재 블록에 대하여 사용 가능한 예측 모드를 결정하기 위한 기초로서 현재 블록의 이웃을 취한다. 그러나, 이러한 방법으로, 일부 예측 모드는 현재 블록을 예측하기 위하여 더 이상 사용 가능하지 않으며, 이것은 예측 정밀도의 손실을 초래하고 이에 따라 예측 잔여를 인코딩하는 비용에서의 증가를 초래한다.
따라서, 이미지 또는 비디오 데이터의 압축을 개선하는 것을 가능하게 하는, 현재 블록을 예측하기 위하여 예측 모드를 인코딩하기 위한 신규한 기술에 대한 요구가 있다.
본 발명은 종래 기술을 개선하고자 한다. 이 목적으로, 적어도 하나의 이미지를 나타내는 인코딩된 데이터 스트림을 디코딩하는 방법을 제안하며, 상기 이미지는 블록들로 세분화되고, 적어도 2개의 예측 모드가 현재 블록이라 하는 이미지의 블록을 예측하기 위하여 사용 가능하디. 디코딩하는 이러한 방법은, 상기 현재 블록에 대하여 다음의 단계들을 포함한다:
- 상기 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 사용 가능한 예측 모드와 연관된 예측 블록을 획득하는 단계,
- 2개의 예측 모드 중 적어도 하나를 포함하는 리스트를 구축하는 단계,
- 현재 모드라 하는 상기 리스트에 포함된 적어도 하나의 예측 모드에 대하여:
● 상기 현재 모드와 연관된 예측 블록과 다른 사용 가능한 예측 모드와 연관되고 현재 블록에 대하여 획득된 다른 예측 블록 사이의 거리 측정값을 결정하는 단계,
● 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하는 단계,
- 상기 현재 블록에 대하여, 수정된 리스트로부터 예측 모드를 식별하는 정보를 인코딩된 블록의 스트림으로부터 디코딩하는 단계,
- 식별된 상기 예측 모드와 연관된 예측 블록으로부터 상기 현재 블록을 재구축하는 단계.
본 발명에 따른 디코딩 방법은 예측 모드의 수정된 리스트로부터 블록을 예측하는데 사용되는 예측 모드를 나타내는 정보를 인코딩하는 것을 가능하게 한다. 유익하게는, 예측 모드의 리스튼 리스트의 예측 모드에 의해 산출된 예측 블록에 대하여 결정된 거리 측정값에 따라 조정된다. 이러한 조정은 제공하는 예측의 함수로서 서로에 대한 리스트의 예측 모드를 더욱 효율적으로 조직화하는 것을 가능하게 한다.
상기 현재 블록에 대하여 리스트의 예측 모드를 식별하는 정보를 인코딩하는 비용이라고도 하는 현재 블록에 대한 리스트의 예측 모드의 시그널링 비용은 이에 따라 최적화된다. 사실, 예측 모드의 리스트는 이러한 예측 모드에 의해 제공된 예측들 사이의 유사성에 대하여 조정된다. 이러한 조정은, 상기 현재 모드에 대하여, 리스트의 예측 모드를 식별하는 정보를 인코딩하는 비용을 최적화하고 감소시키는 것을 가능하게 한다.
"예측 블록에 대한 거리 측정값"이라는 용어는 본 명세서에서 예측 블록에 의해 제공된 예측과 다른 예측 블록에 의해 제공된 예측 사이의 차이의 측정값을 나타낸다. 이러한 거리 측정값은 예측 블록들 사이의 거리를 정량화한다. 이러한 거리는 모두 이러한 블록에 의해 제공된 예측이 상이함에 따라 더 커진다. 따라서, 서로에 대하여 눈에 띄게 근접하거나 서로로부터 매우 멀리 있는 예측 블록을 식별하고 이에 따라 예측 모드의 리스트를 조정하는 것이 가능하다.
예측 블록의 거리 측정값은 예측 블록에 의해 제공된 예측에 대하여, 즉 예측 블록의 내용에 대하여 결정된다. 따라서, 리스트는 제공된 예측의 내용에 따라 조정되고 종래 기술과 같이 현재 블록의 이웃에 대하여 예측되지 않는다. 그러므로, 리스트는 정밀도가 더 높게 조정된다.
유익하게는, 리스트는 현재 블록에 대하여 사용 가능한 모든 예측 모드를 포함할 수 있거나, 예를 들어, 소정의 예측 모드가 HEVC 표준의 MPM 리스트가 아닌 리스트에 포함될 때, 이들 중 일부만을 포함할 수 있다.
또한, 본 발명은, 적어도 하나의 이미지를 인코딩된 데이터 스트림 형태로 인코딩하는 방법에 관한 것이고, 상기 이미지는 블록들로 세분화되고, 적어도 2개의 예측 모드가 현재 블록이라 하는 상기 이미지의 블록을 예측하기 위하여 사용 가능하다. 인코딩하기 위한 이러한 방법, 상기 현재 블록에 대하여 다음의 단계들을 포함한다:
- 상기 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 상기 사용 가능한 예측 모드와 연관된 예측 블록을 획득하는 단계,
- 2개의 예측 모드 중 적어도 하나를 포함하는 리스트를 구축하는 단계,
- 현재 모드라 하는 상기 리스트에 포함된 적어도 하나의 예측 모드에 대하여:
● 상기 현재 모드와 연관된 예측 블록과 다른 사용 가능한 예측 모드와 연관되고 현재 블록에 대하여 획득된 다른 예측 블록 사이의 거리 측정값을 결정하는 단계,
● 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하는 단계,
- 현재 블록을 인코딩하기 위하여 수정된 리스트로부터 예측 모드를 선택하는 단계,
- 상기 현재 블록에 대하여, 수정된 리스트에서 선택된 상기 예측 모드를 식별하는 정보를 데이터 스트림에서 인코딩하는 단계.
이러한 인코딩 방법의 이점은 디코딩 방법의 이점과 동일하다.
여기에 위에서 언급된 실시예의 상이한 모드 또는 특성은 여기에 위에서 정의된 디코딩 및/또는 인코딩 방법의 특성에 추가되거나, 그와 독립적이거나 아니면 서로 조합될 수 있다.
본 발명의 하나의 특정 실시예에 따라, 예측 블록이 다른 사용 가능한 예측 모드와 연관된 예측 블록과 유사하다고 결정된 거리 측정값이 나타낼 때, 리스트의 수정은 리스트로부터의 상기 현재 모드의 제거(elimination)에 대응한다.
본 발명의 이 특정 실시예에 따라, 예측 모드가 동일하거나 눈에 띄게 근접한 예측 블록을 산출할 때, 리스트의 예측 모드의 개수는 감소된다. 따라서, 리스트에서의 예측 모드의 인덱스가 고정 길이 코드에 의해 인코딩될 때, 인덱스를 인코딩하는데 필요한 비트의 개수가 감소될 수 있다.
본 발명의 하나의 특정 실시예에 따라, 다른 사용 가능한 예측 모드는 상기 리스트에 포함되지 않는다. 따라서, 본 발명의 이 특정 실시예는, 리스트에 포함되지 않은 예측 모드의 예측에 유사한 예측을 제공하는 예측 모드의 리스트로부터의 제거를 가능하게 한다. 예를 들어, 리스트에 포함되지 않은 이러한 예측 모드는 H.264/AVC의 MPM 모드 또는 HEVC 표준의 MPM 리스트와 같은 이전에 코딩된 예측 모드이다. 이 특정 실시예는 이미 인코딩된 다른 모드와 중복된 예측 모드의 리스트로부터의 제거를 가능하게 한다.
본 발명의 하나의 특정 실시예에 따라, 제1 예측 블록에 대한 상기 거리 측정값이 상기 제1 예측 블록과 제2 예측 블록 사이에 계산된 평균 제곱 오차의 계산에 의해 결정되고, 계산된 평균 제곱 오차가 미리 정해진 임계값 아래에 있을 때 상기 제1 예측 블록은 상기 제2 예측 블록과 유사하다. 본 발명의 이 특정 실시예는 예측 블록들 사이의 평균 제곱 오차를 미리 정해진 임계값과 비교함으로써 예측 모드의 리스트를 수정한다. 따라서, 예측 블록이 근접하는지 또는 떨어져 있는지 식별하는 것이 가능하다.
본 발명의 다른 특정 실시예에 따라, 상기 미리 정해진 임계값은 현재 블록의 크기에 따라 변동된다. 사실, 현재 블록이 더 커질수록, 큰 양의 정보를 포함하는 것이 더 가능하게 된다.
본 발명의 다른 특정 실시예에 따라, 상기 리스트로부터의 예측 모드와 연관된 예측 블록의 거리 측정값을 결정하는 단계 및 결정된 거리 측정값의 함수로서 상기 리스트를 수정하는 단계는, 수정된 상기 리스트가 2N인 개수의 예측 모드를 포함하도록 반복되고, N은 리스트의 인덱스가 인코딩되는 비트의 개수이다. 본 발명의 이 특정 실시예는 현재 블록을 예측하기 위하여 사용 가능한 예측 모드의 개수와, 예측 모드가 고정 길이 인코딩에 의해 시그널링될 때 이러한 예측 모드와 연관된 시그널링 비용을 최적화한다.
본 발명의 다른 특정 실시예에 따라, 리스트의 수정은 리스트의 재정렬(re-ordering)에 대응하고, 리스트의 예측 모드는 리스트의 각각의 예측 모드에 대하여 결정된 거리 측정값의 내림차순에 따라 정렬된다. 따라서, 이러한 재정렬은 가변 길이 코드에 의한 인코딩을 통해 이러한 리스트의 거리의 인코딩을 최적화한다.
본 발명의 다른 특정 실시예에 따라, 리스트에 포함된 각각의 예측 모드에 대한 거리 측정값은 상기 예측 모드와 연관되고 상기 현재 모드에 대하여 획득되는 예측 블록의 에너지의 계산에 의해 결정된다. 본 발명의 이 특정 실시예에 따르면, 가장 많은 개수의 정보를 포함하는 예측 블록이 리스트의 시작에 놓여진다.
본 발명의 다른 특정 실시예에 따라, 거리 측정값은 예측 블록 및 다른 예측 모드와 연관된 다른 예측 블록 사이의 유클리드 거리의 계산에 의해 결정된다. 따라서, 리스트가 재정렬될 때, 사용 가능한 다른 예측 블록으로부터 가장 큰 거리에 있는 예측 블록이 리스트의 시작에 놓여진다. 따라서, 가장 상이한 예측 블록을 산출하는 예측 모드가 리스트의 시작에 놓여진다. 이에 따라, 낮은 인코딩 비용을 갖는 리스트의 인덱스에 대한 예측 블록에서의 더 많은 개수의 종류를 제안하는 것이 가능하다.
본 발명의 다른 특정 실시예에 따라, 리스트의 수정의 유형(예측 모드의 제거 또는 예측 모드의 재정렬)은 상기 이미지의 인코딩 유형에 따라 결정된다. 본 발명의 이 특정 실시예에 따라, 디코딩의 복잡성은 디코딩될 이미지의 유형에 따라 조정될 수 있다.
또한, 본 발명은 여기에 위에서 정의된 특정 실시예들 중 임의의 하나에 따른 디코딩 방법을 구현하도록 구성된 디코딩 장치에 관한 것이다. 이 디코딩 장치는 물론 본 발명에 따른 디코딩 방법에 관한 상이한 특성들을 포함할 수 있다. 따라서, 이 디코딩 장치의 특성 및 이점은 디코딩 방법의 특성 및 이점과 동일하며, 더 충분히 상세하게 설명되지 않는다.
본 발명의 다른 특정 실시예에 따라, 이러한 디코딩 장치는 단말기 내에 포함된다.
또한, 본 발명은 여기에 위에서 정의된 특정 실시예들 중 임의의 하나에 따른 인코딩 방법을 구현하도록 구성된 인코딩 장치에 관한 것이다. 이 인코딩 장치는 물론 본 발명에 따른 인코딩 방법에 관한 상이한 특성들을 포함할 수 있다. 따라서, 이 인코딩 장치의 특성 및 이점은 인코딩 방법의 특성 및 이점과 동일하며, 더 충분히 상세하게 설명되지 않는다.
본 발명의 다른 특정 실시예에 따라, 이러한 인코딩 장치는 단말기 또는 서버 내에 포함된다.
본 발명에 따른 디코딩 방법과 인코딩 방법은 각각 유선 형태 또는 소프트웨어 형태로 다양한 방식으로 구현될 수 있다.
본 발명의 다른 특정 실시예에 따라, 디코딩 방법과 인코딩 방법은 각각 컴퓨터 프로그램에 의해 구현된다. 또한, 본 발명은 프로세서에 의해 실행될 때 여기에 위에서 설명된 실시예들 중 임의의 하나에 따른 디코딩 방법 또는 인코딩 방법을 구현하기 위한 명령어를 포함하는 컴퓨터 프로그램에 관한 것이다. 이러한 프로그램은 임의의 프로그래밍 언어를 어떤 것이든 관계없이 이용할 수 있다. 이는 통신 네트워크로부터 다운로드되고 그리고/또는 컴퓨터 판독 가능한 매체에 저장될 수 있다.
이 프로그램은 임의의 프로그래밍 언어를 어떤 것이든 관계없이 이용할 수 있고, 부분적으로 컴파일된 형태 또는 어떤 것이든 관계없는 임의의 다른 형태와 같은, 소스 코드, 오브젝트 코드 또는 소스 코드와 오브젝트 코드 사이의 중간 코드의 형태를 가질 수 있다.
또한, 본 발명은 컴퓨터에 의해 판독 가능하고 여기에 위에서 언급된 바와 같은 프로그램 명령어를 포함하는 기록 매체 또는 정보 매체를 제공하는 것을 과제로 한다. 여기에 위에서 언급된 기록 매체는 프로그램을 저장할 수 있는 어떤 것이든 관계없는 임의의 엔티티 또는 장치일 수 있다. 예를 들어, 매체는, 예를 들어 CR ROM, 마이크로 전자 회로 ROM인 ROM과 같은 저장 수단이나, 예를 들어 플로피 디스크나 하드 디스크 드라이브인 자기 기록 수단을 포함할 수 있다. 더하여, 기록 매체는 무선 또는 다른 수단에 의해 전기 케이블 또는 광 케이블을 통해 반송될 수 있는 전기 신호 또는 광 신호와 같은 통신 가능한 매체일 수 있다. 제안된 기술에 따른 프로그램은 특히 인터넷 유형의 네트워크로 업로드될 수 있다.
대안으로서, 기록 매체는 프로그램이 포함되는 집적 회로에 대응할 수 있고, 회로는 논의 대상인 방법을 실행하거나 이를 실행하는데 사용되도록 구성된다.
본 발명의 다른 특정 및 이점은, 간단하고 예시적이며 비소진적인 예로서 주어지는 특정 실시예에 대한 설명과 다음의 첨부된 도면으로부터 더욱 명확하게 될 것이다:
- 도 1은 본 발명의 하나의 특정 실시예에 따른 인코딩 방법의 단계를 제공하고,
- 도 2는 본 발명의 하나의 특정 실시예에 따른 디코딩 방법의 단계를 제공하고,
- 도 3a 및 3b는 본 발명의 상이한 특정 실시예에 따라 본 발명에 따른 인코딩 및 디코딩 방법에서 사용되는 예측 모드의 리스트를 수정하기 위한 주요 단계를 예시하고,
- 도 4a 및 4b는 본 발명의 또 다른 특정 실시예에 따라 본 발명에 따른 인코딩 및 디코딩 방법에서 사용되는 예측 모드의 리스트를 수정하기 위한 주요 단계를 예시하고,
- 도 5는 본 발명의 특정 실시예 중 임의의 하나에 따른 인코딩 방법을 구현하도록 구성된 인코딩 장치의 단순화된 구조를 제공하고,
- 도 6은 본 발명의 특정 실시예 중 임의의 하나에 따른 디코딩 방법을 구현하도록 구성된 디코딩 장치의 단순화된 구조를 제공한다.
1. 일반 원리
본 발명의 일반적인 원리는 인코딩될 이미지의 픽셀 블록을 예측하는데 사용되는 예측 모드의 시그널링 비용을 개선하는 것을 목적으로 한다. 종래의 압축 표준은 인코딩될 블록의 픽셀의 가장 가까운 가능한 예측을 제공하기 위하여 블록을 인코딩하는 많은 수의 예측 모드를 제안한다. 따라서, 정량화된 예측 잔여는 작거나 심지어 0이며, 이는 예측 잔여를 인코딩하는 비용을 감소시킨다. 그러나, 예측 모드의 시그널링 비용은 가능한 예측 모드의 수에 따라 증가한다. 이제, 소정의 경우에, 예측 모드가 예측, 즉 서로 매우 가까운 예측된 블록을 제공한다는 것을 알 수 있다. 따라서, 소정의 예측 모드는 비트 레이트/왜곡 관점에서 항상 필요한 것은 아니다. 본 발명은 예측 모드의 시그널링 비용을 감소시키기 위하여 이미지 블록을 예측하고 인코딩하도록 사용 가능한 예측 모드의 개수를 조정하려고 한다.
이 목적으로, 예측 모드 리스트(L)가 생성되고, 리스트(L)의 예측 모드와 연관된 적어도 하나의 예측 블록의 내용에 대하여 결정된 거리 측정값의 함수로서 수정된다. 이러한 거리 측정값은, 실시예에 따라, 이러한 리스트로부터의 예측 모드에 의해 제공된 예측과 리스트에 속하거나 속하지 않은 다른 예측 모드에 의해 제공된 예측 사이의 계산된 거리에 대응한다.
무엇보다도, 이러한 리스트의 생성 및 수정을 수행하는 모드를 제공할 것이며, 그 다음 이러한 수정된 리스트를 이용하여 본 발명에 따른 인코딩 방법과 디코딩 방법을 제공할 것이다.
2. 예측 모드 리스트의 생성 및 수정
이하, 도 3a, 3b, 4a, 4b를 참조하여, 예측 모드 리스트(L)를 생성하고 수정하기 위한 구현예의 변형을 제공한다. 본 발명은 여기에서 HEVC 표준에 정의된 인트라 예측 모드에 대한 적용과 연계하여 설명된다. 본 발명은 다른 압축 표준 및 다른 예측 모드에 쉽게 적용될 수 있다.
HEVC 표준이 35개의 인트라 예측 모드를 정의한다는 것이 상기될 수 있다.
- 플래너(planar) 모드(모드 0), 이 모드는 레퍼런스 픽셀에 기초하여 예측 블록(또는 예측된 블록)의 픽셀을 선형으로 보간하는 것에 특징이 있다; 레퍼런스 픽셀은 이전에 재구축된 이웃하는 블록으로부터 구축된다.
- DC 모드(모드 1), 이 모드는 레퍼런스 픽셀의 평균에 대응하는 동일한 값을 예측 블록의 픽셀에 할당하는 것에 특징이 있다.
- 33개의 A(0) 내지 A(32) 각도(angular) 모드, 이러한 모드들은 33개의 연관된 방향 중 하나의 방향으로의 현재 블록의 레퍼런스 픽셀의 연장에 의해 예측 블록을 형성한다.
이하, 도 1b를 참조하여 설명된 본 발명에 따른 인코딩 방법과 도 2b를 참조하여 설명된 본 발명에 따른 디코딩 방법에서 사용되는 예측 모드의 리스트를 생성하고 수정하기 위한 단계(E10)를 구현하는 상이한 모드를 제공한다.
2.1 제1 구현 모드
도 3a에 예시된 예에서, 예측 모드의 리스트(L)의 수정은, 리스트(L)에 이미 존재하는 다른 예측 모드의 예측과 유사한 예측을 제공하는 예측 모드의 리스트(L)로부터의 제거(elimination)에 대응한다.
단계 E100에서, 인코딩/디코딩될 이미지의 현재 블록(bc)을 예측하기 위하여 사용 가능한 인트라 예측 모드가 결정된다. 현재 블록(bc)의 위치에 따라, 소정의 예측이 사용 가능하지 않은 것이 사실일 수 있다. 예를 들어, 블록(bc)이 이미지의 첫 번째 로우(row)의 블록이면, 현재 블록 위에 위치된 이웃하는 블록과 현재 블록의 왼쪽 위에 위치된 블록의 레퍼런스 픽셀을 이용하는 예측 모드는 사용 가능하지 않다. 블록(bc)이 이미지의 첫 번째 칼럼(column)의 블록이면, 현재 블록의 왼쪽에 위치에 위치된 이웃하는 블록과 현재 블록의 왼쪽 위에 위치된 블록의 레퍼런스 픽셀을 이용하는 예측 모드는 사용 가능하지 않다. 여기에서 설명된 이 실시예에서, 사용 가능한 예측 모드의 개수 n은 35인 것으로 고려된다.
단계 E101에서, 예측 블록(P[K])이 현재 블록(bc)에 대하여 사용 가능한 각각의 예측 모드(K)에 대하여 계산된다. 예측 블록은 예측 모드(K)(플래너, DC 또는 각도 모드(A(0) 내지 A(32)) 중 하나)에 대응하는 예측을 적용함으로써 획득된다. 이에 따라, 예측 블록(P[K])은 현재 블록(bc)과 동일한 크기를 가지며 예측 모드(K)에 의해 제공된 예측을 포함하는 픽셀 블록이다.
단계 E102에서, 예측 모드의 리스트(L)가 현재 블록에 대하여 사용 가능한 예측 모드로부터 구축된다. 이 리스트(L)는 예를 들어 HEVC 표준에서 비-MPM 리스트라 하는 예측 모드의 리스트에 대응한다.
비-MPM 리스트는 MPM 리스트로서 알려진 리스트에 포함되지 않은 나머지 인트라 예측 모드로부터 구축된다.
HEVC 표준에 따르며, MPM 리스트는 현재 블록을 인코딩하기 위한 가장 가능성 있는 모드 중 3개를 포함한다. Mtop과 Mleft는 각각 현재 블록의 위와 왼쪽에 위치된 블록과 연관된 예측 모드를 표시하고, 이 블록들은 예비적으로 인코딩/디코딩되었다. 블록 중 하나가 인트라 예측 모드에 따라 인코딩되지 않으면, DC 모드가 이에 할당된다.
Mtop과 Mleft가 모두 동일한 예측 모드이고, 이 예측 모드가 DC 또는 플래너 예측 모드이면, MPM 리스트는 다음의 예측 모드를 포함한다: MPM[0]=PLANAR, MPM[1]=DC, MPM[2]=A(26)
Mtop과 Mleft가 모두 동일한 각도 예측 모드 m(n)이면, MPM 리스트는 다음의 예측 모드를 포함한다: MPM[0]=m(n), MPM[1]=m(2+(n+29)mod32), MPM[2]=m(2+(n-1)mod32)
Mtop과 Mleft가 다르면, MPM 리스트는 다음의 예측 모드를 포함한다: MPM[0]=Mleft, MPM[1]=Mtop, MPM[2]=Mlast, 여기에서, Mlast는 다음과 같이 정의된다:
Mleft가 플래너 모드가 아니고 Mtop이 플래너 모드가 아니면, Mlast는 플래너 모드이고,
아니면, Mleft가 DC 모드가 아니고 Mtop이 DC 모드가 아니면, Mlast는 DC 모드이고,
아니면, Mlast는 각도 모드 A(26)이다.
단계 E102에서, MPM 리스트가 구축될 때, 리스트(L)는 현재 블록에 대하여 사용 가능하고 MPM 리스트에 포함되지 않은 모든 인트라 예측 모드를 추가함으로써 구축된다. 여기에서 설명된 실시예에서, 리스트(L)는 32개인 개수 NL의 예측 모드를 포함한다.
본 발명의 실시예의 다른 변형에 따르면, 리스트(L)는, 예를 들어, 사용 가능한 모든 인트라 예측 모드를 추가하거나 또는 H.264/AVC 표준에 의해 정의된 바와 같은 MPM이라 하는 하나의 인트라 예측 모드를 제외한 사용 가능한 모든 인트라 예측 모드를 추가함으로써, 다른 기준에 따라 구축될 수 있다. 본 발명은 모든 사용 가능한 예측 모드를 포함하든지, 이 중에서 일부만 포함하는지에 관계없이 리스트(L)의 인코딩을 개선하고자 한다.
단계 E103에서, 변수 i는 0으로 리셋된다. 이 변수 i는 리스트(L) 내에 포함된 모든 예측 모드를 스크롤하는데 사용된다.
리스트의 각각의 예측 모드(L[i])에 대하여, 예측 모드(L[i])가 이 리스트(L)의 다른 예측 모드와 유사한 예측을 제공하는지 결정된다. 이 목적으로, 제2 스크롤링이 값 i+1로부터 값 NL-1까지의 범위를 갖는 변수 j를 이용하여 리스트(L) 상에 수행된다. 이에 따라, 단계 E1040에서, 변수 j는 값 i+1로 리셋된다. 예측 모드(L[i])와 연관된 예측 블록(P(L[i]))과 예측 모드(L[j])와 연관된 다른 예측 블록(P(L[j])) 사이의 거리 측정값이 단계 E1042에서 결정된다.
여기에서 설명된 구현 모드에 따르면, 거리 측정값은 예측 블록(P(L[i]))의 픽셀과 예측 블록(P(L[j]))의 픽셀로부터 계산된 평균 제곱 오차(mean squared error)의 계산에 의해 결정된다. 단계 E1043에서, 단계 E1042에서 결정된 평균 제곱 오차가 미리 정해진 임계값(T1)보다 작은지 확인하기 위하여 시험이 수행된다. 평균 제곱 오차가 임계값(T1)보다 작으면('예'에 대한 Y), 예측 모드(L[i])가 리스트(L)로부터 제거되고(단계 E1045), 리스트(L)의 예측 모드의 개수(NL)는 이에 따라 1만큼 감소된다. 예측 모드(L[i])의 리스트(L)로부터의 제거 동안, 리스트에서 인덱스 i 이후에 위치된 리스트(L)의 모든 예측 모드는 한 레벨만큼 상승된다. 그 다음, 동작은 단계 E106으로 진행한다.
단계 E1043에서, 평균 제곱 오차가 임계값(T1)보다 크거나 같다면('아니오'에 대한 Y), 동작은 단계 E1044로 진행한다.
단계 E1044에서, j는 1만큼 증가되고, j가 NL보다 크거나 같은지에 대한 검사가 이루어진다. 다른 말로 하면, 예측 모드(L[i]) 이후에 위치된 모든 예측 모드가 제2 루프 동안 스크롤되었는지에 대한 검사가 이루어진다. 답이 '아니오'라면, 방법은 단계 E1042에서 재개한다.
답이 '예'라면, 방법은 리스트(L)에서의 다음 예측 모드로 진행하기 위하여 변수(i)가 1만큼 증가되는 단계 E1046으로 진행한다. 그 다음, 방법은 단계 E106으로 진행한다.
단계 E106에서, 리스트(L)의 모든 예측 모드가 제1 루프 동안 스크롤되었는지에 대한 검사가 이루어진다. 다른 말로 하면, i가 NL-1보다 크거나 같은지에 대한 시험이 이루어진다. 시험 E106의 결과가 '예'라면, 리스트(L)를 수정하기 위한 방법은 종료된다. 시험 E106의 결과가 '아니오'라면, 방법은 단계 E1040으로 복귀하여 리스트(L)의 다른 예측 모드와의 다음 예측 모드의 예측의 유사성을 확인한다.
2.2 제2 구현 모드
도 3b에 도시된 예에 따라. 예측 모드의 리스트(L)의 수정은 리스트(L) 내에 포함되지 않은 다른 예측 모드와 유사한 예측을 제공하는 예측 모드의 리스트(L)로부터의 제거에 대응한다. 예를 들어, 리스트(L)에 포함되지 않은 이러한 다른 예측 모드는 HEVC 표준의 MPM 리스트의 예측 모드이다.
도 3b의 단계 E100 내지 E103은 도 3a를 참조하여 설명된 것과 동일하다.
본 구현 모드에서, 리스트(L)의 각각의 예측 모드(L[i])에 대하여, 예측 모드(L[i])가 MPM 리스트의 다른 예측 모드와 유사한 예측을 제공하는지 판단된다. 이 목적으로, MPM 리스트는 값 0으로부터 값 Nm - 1까지의 범위를 갖는 변수 j를 이용하여 스크롤되고, Nm은 MPM 리스트에 포함된 예측 모드의 개수에 대응한다.
단계 E1050에서, 변수 j는 이에 따라 0으로 리셋된다. 예측 모드(MPM[j])와 연관된 다른 예측 블록(P(MPM[j]))에 대한 예측 모드(L[i])와 연관된 예측 블록(P(L[i]))의 거리 측정값이 단계 E1051에서 결정된다.
여기에서 설명된 구현 모드에 따라, 거리 측정값은 예측 블록(P(L[i]))의 픽셀과 예측 블록(P(MPM[j]))의 픽셀로부터 계산된 평균 제곱 오차의 계산에 의해 결정된다. 단계 E1052에서, 단계 E1051에서 결정된 평균 제곱 오차가 미리 정해진 임계값(T2)보다 작은지에 대한 시험이 이루어진다. 평균 제곱 오차가 임계값(T2)보다 작으면, 예측 모드(L[i])가 리스트(L)로부터 제거되고(단계 E1053), 리스트(L)의 예측 모드의 개수(NL)는 이에 따라 1만큼 감소된다. 예측 모드(L[i])의 리스트(L)로부터의 제거 동안, 리스트에서 인덱스 i 이후에 위치된 리스트(L)의 모든 예측 모드는 한 레벨만큼 상승된다. 그 다음, 동작은 단계 E1054으로 진행한다.
단계 E1052에서, 평균 제곱 오차가 임계값(T2)보다 크거나 같다면, 동작은 단계 E1055로 진행한다.
단계 E1055에서, j는 1만큼 증가되고, j가 NM보다 크거나 같은지에 대한 검사가 이루어진다. 다른 말로 하면, MPM 리스트의 모든 예측 모드가 제2 루프 동안 스크롤되었는지에 대한 확인이 이루어진다. 답이 '아니오'라면, 방법은 단계 E1051에서 재개한다.
답이 '예'라면, 방법은 리스트(L)에서의 다음 예측 모드로 진행하기 위하여변수 i가 1만큼 증가되는 단계 E1056으로 진행한다. 그 다음, 방법은 단계 E1054로 진행한다.
단계 E1054에서, 리스트(L)의 예측 모드가 제1 루프 동안 스크롤되었는지에 대한 확인이 이루어진다. 다른 말로 하면, i가 NL보다 크거나 같은지에 대한 확인이 이루어진다. 시험 E1054의 결과가 '예'라면, 리스트(L)를 수정하는 단계는 종료된다. 그렇지 않다면, 방법은 단계 E1050에서 재개하여 MPM 리스트의 예측 모드의 각각에 대한 예측과의 리스트(L) 내의 다음 예측 모드에 대한 예측의 유사성을 확인한다.
수정된 리스트(L)의 예측 모드의 시그널링 비용을 최적화하기 위하여, 도 3b에 도시된 리스트의 수정 및 그 다음의 도 3a에 도시된 리스트의 수정을 연속적으로 적용하는 것이 가능하다.
구현의 한 변형예에 따라, 임계값(T1, T2)은 상황에 따라 변동될 수 있다. 예를 들어, 임계값(T1 및/또는 T2)은 현재 블록(bc)의 크기에 따라 변동될 수 있다. 따라서, 임계값(T1)이 4x4 픽셀의 크기를 갖는 블록에 대하여 정의되면, 8x8 픽셀의 크기를 갖는 블록에 대하여 임계값은 4*T1이 될 것이고, 16x16 픽셀의 크기를 갖는 블록에 대하여 임계값은 16*T1이 될 것이고, 64x64 픽셀의 크기를 갖는 블록에 대하여 임계값은 64*T1이 될 것이다.
구현의 다른 변형예에 따라, 2개의 예측 블록 사이의 유사성의 기준으로서 평균 제곱 오차가 아닌 기준을 사용하는 것이 가능하다. 예를 들어, 2개의 예측 블록 사이의 유클리드 거리(Euclidean distance) 또는 2개의 픽셀 블록 사이의 다른 거리 측정값이 사용될 수 있다.
2.3 제3 구현 모드
도 4a에 도시된 예에 따라. 예측 모드의 리스트(L)의 수정은 예측 모드의 리스트(L)를 리스트의 예측 모드와 연관된 예측 블록의 내용에 대하여 결정된 기준에 따라 정렬하는 것에 대응한다.
도 4a의 단계 E100 내지 E102는 도 3a를 참조하여 설명된 것과 동일하다.
단계 E301에서, 리스트(L)의 예측 모드(L[i])와 연관된 예측 블록(P(L[i]))의 에너지(E(L[i]))는 각각의 예측 모드(L[i])에 대하여 계산된다. 예측 블록(P(L[i]))의 E(L[i])는 예측 블록의 픽셀의 값으로부터 계산된다.
단계 E302에서, 에너지(E(L[i]))의 내림차순에 따라 리스트의 예측 모드를 분류하도록 리스트(L)가 정렬된다.
유익하게는, 이러한 특정 실시예는 리스트(L)의 시작에서 가장 큰 양의 정보를 제공하는데 있어서 예측을 제공하는데 인덱스의 인코딩을 최적화한다.
2.4 제4 구현 모드
도 4b에 도시된 예에 따라, 예측 모드의 리스트(L)의 수정은 예측 모드의 리스트(L)를 리스트의 예측 모드와 연관된 예측 블록의 내용에 대하여 결정된 기준의 함수로서 정렬하는 것에 대응한다. 여기에서 설명된 예시적인 실시예에서, 기준은 블록 사이의 거리에 대응한다.
본 구현 모드에 따라, 도 4b의 단계 E100 내지 E103은 도 3a를 참조하여 설명된 것과 동일하다. 다른 예측 블록으로부터의 예측 블록의 거리가 계산되어 계산이 이루어진 예측 모드와 연관된 표(T)에 저장된다. 초기에, 표(T)는 비워진다.
값 0으로 변수 i를 리셋하기 위한 단계 E103에 이어, 0에서 NL까지의 범위를 갖는 k에 대하여, 예측 블록(P(L[i])) 및 각각의 예측 블록(P(L[k])) 사이의 거리가 단계 E410 동안 계산된다. 예를 들어, 이러한 거리는 예측 블록(P(L[i]))의 픽셀의 값을 포함하는 벡터와 예측 블록(P(L[k]))의 픽셀의 값을 포함하는 벡터 사이의 유클리드 거리에 의해 계산된다. 예측 블록(P(L[i]))에 대하여 계산된 거리가 거리의 내림차순으로 표(T)에 저장된다.
단계 E411 동안, 변수 i는 1만큼 증가하여 리스트(L) 내의 다음 예측 모드로 진행한다. 단계 E412 동안, 리스트(L)의 모든 예측 모드가 검토되었는지에 대한 확인이 이루어진다. 다른 말로 하면, i가 NL보다 더 큰지 또는 같은지에 대하여 시험이 단계 E412 동안 이루어진다. 그렇다면, 방법은 단계 E413으로 진행한다. 그렇지 않다면, 방법은 리스트(L) 내의 다음 예측 모드를 처리하기 위하여 단계 E410에서 재개한다.
단계 E413에서, 리스트(L)는, 표(T)에 저장된 예측 블록 사이의 거리의 내림차순으로 리스트(L)가 예측 모드(L[i])를 갖도록 예측 모드(L[i])를 정렬함으로써 업데이트된다. 다른 말로 하면, 거리의 감소하는 값에 의해 정렬한 후에, 리스트(L)는 다른 모드에 가장 먼 것으로부터 다른 모드에 가장 가까운 것으로 예측 모드를 제공한다.
이러한 구현 모드는, 리스트의 시작에, 가변 길이 코드에 따른 예측 모드의 인코딩의 경우에 가장 멀리 있는 예측 모드 및 이에 따른 가장 낮은 인코딩 비용과 연관된 가장 상이한 가능 예측을 제안하는 것을 가능하게 한다.
대안으로서, 본 구현 모드는 리스트(L)를 정렬하기 위하여 2개의 예측 블록 사이의 유클리드 거리가 아닌 기준을 사용할 수 있다. 예를 들어, 2개의 예측 블록 사이에 계산된 평균 제곱 오차의 내림차순으로 리스트(L)를 정렬하는 것이 가능하다.
2.5 대안적인 실시예
여기에 위에서 제공된 대안적인 실시예는 여기에 위에서 제공된 구현에 대한 특정 실시예 중 임의의 하나에 독립적으로 또는 그와 조합하여 적용될 수 있다.
2.5.1 리스트(L)의 크기 제어
하나의 대안적인 실시예에 따라, 리스트(L)가 제거에 의해 수정될 때, 리스트(L)에 포함된 예측 모드의 개수를 이의 인코딩 비용에 대하여 최적화하기 위하여 이의 크기가 검사된다.
본 변형예에 따라, 리셋 단계 E103에서, 리스트(L)는 임시 리스트(Lt)에 저장된다. 리스트(L)가 도 3a의 단계 E1045 또는 도 3b의 단계 E1053 동안 수정될 때, 수정된 리스트(L)에 포함된 예측 모드의 개수(NL)가 2의 정수 거듭제곱인지에 대한 확인이 이루어진다. 다른 말로 하면, NL이 2b의 형태로 기재될 수 있는지에 대한 확인이 이루어지며, 여기에서 b는 정수이고 리스트의 인덱스의 인코딩을 위하여 필요한 비트의 개수를 나타낸다. NL이 2의 정수 거듭제곱이면, 수정된 리스트(L)가 임시 리스트(Lt)에 저장된다.
리스트(L)의 수정 단계의 마지막에, 즉, 도 3a의 단계 E106 또는 도 3b의 단계 E1054 후에, 리스트(L)는 임시 리스트(Lt)로 교체된다. 임시 리스트(Lt)는 예측 모드의 개수의 2의 거듭 제곱인 마지막으로 수정된 리스트(L)를 포함한다.
따라서, 리스트의 예측 모드의 개수의 감소는 이 리스트의 예측 모드의 인코딩 비용에 대하여 최적화된다.
2.5.2 상황 매칭(Contextual matching)
리스트(L)의 수정 방법(예측 모드의 제거 또는 정렬)은 현재 블록(bc)이 속하는 디코딩/인코딩될 이미지의 유형에 종속할 수 있다. 예를 들어, 인트라 유형의 이미지에 속하는 현재 블록에 대하여, L이 도 4a 또는 4b를 참조하여 설명된 바와 같은 정렬 동작을 통해 수정될 수 있으며, 이는 이러한 방법이 덜 계산 집중적이기 때문이다. 인터 유형의 이미지에 대하여, 리스트(L)는 도 3a 또는 3b를 참조하여 설명된 바와 같은 리던던트 예측 모드의 제거를 통해 수정될 수 있다.
2.5.3 리스트(L)로부터의 유사한 블록의 다른 제거 방법
변형예로서, 다른 예측 모드와 유사한 예측을 제공하는 예측 모드의 리스트(L)로부터의 제거는 W.H. Equitz, "A New Vector Quantization Clustering Algorithm", IEEE Transactions on Accoustics, Speech, Signal Process, 37-10, pp 1568-1575, 1989에 설명된 'Pairwise Nearest Neighbor' 유형의 알고리즘을 통해 수행될 수 있다.
3. 인코딩 방법
도 1은 본 발명의 하나의 특정 실시예에 따라 인코딩된 데이터 스트림(STR)의 형태로 인코딩될 이미지 시퀀스(I1, I2, ..., IN)를 인코딩하는 방법의 단계를 제공한다. 예를 들어, 이러한 인코딩 방법은 도 5를 참조하여 설명되는 바와 같은 인코딩 장치에 의해 구현된다. 인코딩될 이미지 시퀀스(I1, I2, ..., IN)는 인코딩 방법의 입력에 제공된다. 인코딩 방법은 입력에서 제공된 이미지 시퀀스를 나타내는 인코딩된 데이터 스트림(STR)을 출력한다.
알려진 방법으로, 이미지 시퀀스(I1, I2, ..., IN)는 사전 구성되고 디코더에 알려진 인코딩 순서로 이미지별로 인코딩된다. 예를 들어, 이미지는 시간적인 순서(I1, I2, ..., IN)로 또는 다른 순서, 예를 들어, I1,I3, I2, ..., IN으로 인코딩될 수 있다.
단계 E0에서, 이미지 시퀀스(I1, I2, ..., IN)의 인코딩될 이미지(Ik)는 최대 크기의 블록으로 세분화된다. 각각의 최대 크기의 블록은 더 작은 블록으로 다시 세분화될 수 있다. 예를 들어, 최대 크기의 블록은 32x32 픽셀의 크기를 가진다. 이러한 최대 크기의 블록은, 예를 들어, 16x16, 8x8, 4x4, 16x8, 8x16 등으로 정사각형 또는 직사각형 서브 블록으로 세분화될 수 있다. 그 다음, 단계 E0에서, 이미지(Ik)의 인코딩될 블록(bc)은 이미지(Ik)의 미리 정해진 스캐닝에 따라 선택된다.
단계 E10에서, 현재 블록(bc)을 인코딩하기 위한 예측 모드의 리스트(L)가 생성되고 수정된다. 리스트(L)를 생성하고 수정하기 위한 단계 E10은 도 3a, 3b, 4a 및 4b를 참조하여 본 발명의 다른 실시예에 따라 위에서 본 명세서에서 설명된 하부 단계 세트를 포함한다.
생성된 예측 모드의 리스트(L)가 수정되면, 단계 E11에서, 현재 블록(bc)을 인코딩하기 위한 예측 모드가 리스트(L)의 예측 모드 중에서 선택된다. 예를 들어, 현재 블록에 대한 왜곡과 비트 레이트 사이의 최상의 트레이드오프를 제공하는 예측 모드가 선택된다.
단계 E12에서, 선택된 예측 모드를 식별하는 정보가 현재 블록(bc)에 대하여 인코딩된 데이터 스트림(STR)에서 인코딩된다. 예를 들어, 이러한 정보는 고정 길이 또는 가변 길이 코드에 의해 인코딩된 인덱스(idx)의 형태로 스트림에서 인코딩된다.
단계 E13에서, 예측 잔여(RES)가 현재 블록(bc) 및 단계 E11에서 선택된 예측 모드와 연관된 예측 블록(P(L[idx]))으로부터 계산된다. 예측 잔여(RES)는 인코딩될 현재 블록(bc) 및 예측 블록(P(L[idx])) 사이의 차이에 의해 획득된다.
그 다음, 단계 E14에서, 알려진 방식으로, 예를 들어, DCT 변환에 의해, 예측 잔여(RES)가 변환되고 정량화된다. 그 다음, 정량화된 변환 잔여의 계수가 획득된다.
단계 E15에서, 그 다음, 정량화된 변환 잔여의 계수가 인코딩된 데이터 스트림(STR)의 형태로 인코딩된다. 이 인코딩은 엔트로피 인코딩 모듈, 예를 들어, 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), pages 620 - 636, July 2003에 설명된 CABAC 인코더에 의해 수행된다. 단계 E15 동안, 단계 E11에서 선택된 예측 모드를 식별하는 정보가 현재 블록(bc)에 대한 인코딩된 데이터 스트림(STR)에서 인코딩된다. 예를 들어, 이러한 정보는 고정 길이 또는 가변 길이 코드에 의해 인코딩된 인덱스(idx)의 형태로 스트림에서 인코딩된다.
단계 E16에서, 역정량화 및 역변환을 정량화되고 변환된 계수에 적용함으로써 예측 잔여(RES')가 재구성된다. 단계 E17에서, 픽셀 블록(REC)은 재구축된 예측 잔여(RES')를 단계 E11에서 선택된 예측 모드와 연관된 예측 블록(P(L[idx]))에 더하는 것으로 재구축된다.
단계 E18에서, 인코딩될 모든 이미지 블록이 인코딩되었는지에 대한 확인이 이루어진다. 답이 '아니오'라면, 인코딩 방법은 인코딩될 이미지의 미리 정해진 스캐닝 순서에 따라 다음 블록으로 진행함으로써 단계 E10으로 복귀한다.
모든 이미지 블록이 처리되었다면, 단계 E19에서, 이미지(ik rec)가 이미지의 재구축된 블록(REC)으로부터 재구성되어 이미지 시퀀스의 이어지는 이미지의 인코딩 동안 기준으로서 이후에 사용될 기준 이미지 리스트에 저장된다.
4 디코딩 방법
도 2는 본 발명의 특정 실시예에 따라 디코딩될 이미지 시퀀스(I1, I2, ..., IN)를 나타내는 인코딩된 데이터의 데이터 스트림(STR)을 디코딩하는 방법의 단계를 제공한다.
예를 들어, 데이터 스트림(STR)은 도 1을 참조하여 제공된 인코딩 방법을 통해 생성되었다. 데이터 스트림(STR)은 도 6을 참조하여 설명되는 바와 같은 디코딩 장치(DEC)의 입력에서 제공된다.
디코딩 방법은 이미지별로 스트림의 디코딩을 수행한다. 디코딩될 각각의 이미지에 대하여, 디코딩 방법은 블록별로 이미지의 디코딩을 수행한다.
단계 E10에서 재구축될 이미지의 블록(bc)에 대하여, 현재 블록(bc)과 연관된 예측 모드의 리스트(L)가 데이터 스트림(STR)의 인코딩 동안 사용된 실시예와 동일한 특정 실시예에 따라 생성되고 수정된다. 리스트(L)를 형성하고 수정하기 위한 단계 E10은 도 3a, 3b, 4a 및 4b를 참조하는 본 발명의 다른 실시예에 따라 여기에 위에서 설명된 하부 단계 세트를 포함한다.
단계 E20에서, 블록(bc)에 대응하는 데이터 스트림(STR)의 데이터는, 한편으로는 현재 블록(bc)의 인코딩 모드(또는 예측 모드)에 관련된 문법(syntax) 요소를, 다른 한편으로는, 현재 블록(bc)의 예측 잔여의 계수 그룹을 제공하기 위하여, 엔트로피 디코딩 모듈에 의해 디코딩된다. 디코딩된 문법 요소는, 특히, 현재 블록(bc)에 대하여, 예측 모드의 리스트(L)의 예측 모드 중에서 하나의 예측 모드를 식별하는 예측 모드에 대한 정보를 포함한다. 예를 들어, 이러한 정보는 리스트(L)의 인덱스(idx)의 형태로 스트림에서 인코딩된다.
단계 E21에서, 블록(bc)의 예측 잔여의 계수는 역정량화 및 그 다음의 역변환을 겪어 인코딩된 예측 잔여(RES')를 산출한다.
단계 E22에서, 현재 블록(bc)이 리스트의 예측 모드(L[idx])와 연관된 예측 블록(P(L[idx]))과 인코딩된 데이터 스트림(STR)으로부터 디코딩된 현재 블록(bc)과 연관된 예측 잔여(RES')로부터 재구축된다. 예측 블록(P(L[idx]))은 단계 E10에서 이전에 계산되었다. 현재 블록(bc)에 대하여 재구축된 블록(REC)은 이에 따라 예측 블록(P(L[idx]))을 디코딩된 예측 잔여(RES')에 더하는 것으로 획득된다.
단계 E23에서, 디코딩될 모든 이미지 블록이 디코딩되어 재구축되었는지에 대한 확인이 이루어진다. 답이 '아니오'라면, 디코딩 방법은 단계 E10으로 복귀하여 디코딩될 이미지의 미리 정해진 스캐닝 순서에 따라 다음 블록으로 진행한다.
모든 이미지 블록이 처리되었다면, 단계 E24에서, 이미지(ik rec)가 재구성된 블록(REC)으로부터 재구축되어 이미지 시퀀스의 다음 이미지의 디코딩 동안 기준으로서 이후에 사용될 기준 이미지 리스트에 저장된다.
여기에 위에서 설명된 인코딩 방법 및 디코딩 방법은 H.266, HEVC/H.265, AVC/H.264와 같은 표준 비디오 인코더/디코더 또는 임의의 종류의 사설 비디오 인코더/디코더에 통합될 수 있다. 또한, 발명에 따른 인코딩 방법 및 디코딩 방법은 고정된 이미지 그리고 더욱 일반적으로 여러 사용 가능한 예측 모드에 의한 예측 인코딩을 이용하는 신호의 모든 종류의 인코더/디코더에 적용될 수 있다.
인코딩 방법 및 디코딩 방법이 공간적인 블록 기반의 인코딩(인트라 인코딩)의 경우에 여기에 위에서 설명되었다. 이러한 방법들은 다른 인코딩 모드, 예를 들어, 인터 인코딩에 따른 블록 인코딩의 경우에 쉽게 적용될 수 있다. 따라서, 구축된 예측 모드의 리스트는 상이한 종류의 인코딩 모드(인트라, 인터, 인터 레이어, 등)를 포함할 수 있다.
5. 인코딩 장치
도 5는 본 발명의 특정 실시예 중 임의의 하나에 따른 인코딩 방법을 구현하도록 구성된 인코딩 장치의 간략화된 구조를 제공한다. 인코딩 장치(COD)는 인코딩된 데이터 스트림의 형태로 적어도 하나의 이미지를 인코딩하도록 구성되고, 상기 이미지는 블록들로 세분화되고, 적어도 2개의 예측 모드가 현재 블록이라 하는 상기 이미지의 블록을 예측하기 위하여 사용 가능하다.
특히, 인코딩 장치(COD)는:
- 상기 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 사용 가능한 예측 모드와 연관된 예측 블록을 획득하고,
- 2개의 사용 가능한 예측 모드 중 적어도 하나를 포함하는 리스트를 구축하고,
- 현재 모드라 하는 상기 리스트에 포함된 적어도 하나의 예측 모드에 대하여:
● 상기 현재 모드와 연관된 예측 블록과 획득된 다른 예측 블록 사이의 거리 측정값을 결정하고,
● 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하고,
- 현재 블록을 인코딩하기 위하여, 수정된 리스트 중에서, 예측 모드를 선택하고,
- 상기 현재 블록에 대하여, 수정된 리스트에서 선택된 상기 예측 모드를 식별하는 정보를 데이터 스트림에 인코딩
하도록 구성된다.
본 발명의 하나의 특정 실시예에 따라, 인코딩 방법의 단계들은 컴퓨터 프로그램 명령어에 의해 구현된다. 이 목적으로, 인코딩 장치(COD)는 컴퓨터의 전통적인 아키텍처를 가지며, 특히 메모리(MEM)와, 예를 들어 마이크로프로세(PROC)를 구비하고 메모리(MEM)에 저장된 컴퓨터 프로그램(PG)에 의해 관리되는 처리 유닛(UT)을 포함한다. 컴퓨터 프로그램(PG)은, 프로그램이 프로세서(PROC)에 의해 실행될 때, 여기에 위에서 설명된 바와 같이 인코딩 방법의 단계들을 구현하기 위한 명령어를 포함한다.
초기에, 컴퓨터 프로그램(PG)의 코드 명령어는, 예를 들어, 메모리(RAM) 내로 로딩되고, 그 다음, 프로세서(PROC)에 위해 실행된다. 처리 유닛(UT)의 프로세서(PROC)는 특히, 컴퓨터 프로그램(PG)의 명령어에 따라, 여기에 위에서 설명된 인코딩 방법의 단계들을 구현한다.
본 발명의 다른 실시예에 따라, 인코딩 방법은 기능 모듈에 의해 구현된다. 이 목적으로, 인코딩 장치(COD)는:
- 상기 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 사용 가능한 예측 모드와 연관된 예측 블록을 획득하기 위한 획득 모듈(OBT),
- 2개의 사용 가능한 예측 모드 중 적어도 하나를 포함하는 리스트를 구축하기 위한 구축 모듈(COS),
- 리스트에 포함된 예측 모드와 연관된 예측 블록과 획득된 다른 예측 블록 사이의 거리 측정값을 결정하기 위한 결정 모듈(DET),
- 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하기 위한 수정 모듈(MOD),
- 현재 블록을 인코딩하기 위하여, 수정된 리스트로부터, 예측 모드를 선택하기 위한 선택 모듈(SEL),
- 상기 현재 블록에 대하여, 수정된 리스트에서 선택된 상기 예측 모드를 식별하는 정보를 데이터 스트림에 인코딩하기 위한 인코딩 모듈
을 더 포함한다.
처리 유닛(UT)은 인코딩 방법의 단계들을 구현하기 위하여 여기에 위에서 설명된 다른 기능 모듈 및 메모리(MEM)와 협동한다.
여기에 위에서 설명된 상이한 기능 모듈들은 하드웨어 및/또는 소프트웨어 형태를 가질 수 있다. 소프트웨어 형태에서, 이러한 기능 모듈은 프로세서, 메모리 및 프로그램 코드 명령어를 포함하고, 프로그램 코드 명령어는 프로세서에 의해 실행될 때 모듈에 대응하는 기능을 구현한다. 하드웨어 형태에서, 이러한 기능 모듈은, 예를 들어, 그리고 비한정적이지 않게, 마이크로프로세서, 디지털 신호 프로세서(DSP), ASIC(applications-specific integrated circuit), FPGA(field programmable gate array) 및 논리 유닛 배선과 같은 임의의 종류의 맞춤형 인코딩 회로에 의해 구현될 수 있다.
6. 디코딩 장치
도 6은 본 발명의 특정 실시예 중 임의의 하나에 따른 디코딩 방법을 구현하도록 구성된 디코딩 장치(DEC)의 간략화된 구조를 제공한다. 디코딩 장치(DEC)는 적어도 하나의 이미지를 나타내는 인코딩된 데이터의 스트림을 디코딩하도록 구성되고, 상기 이미지는 블록들로 세분화되고, 적어도 2개의 예측 모드가 현재 블록이라 하는 이미지의 블록을 예측하기 위하여 사용 가능하다. 특히, 디코딩 장치(DEC)는:
- 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 사용 가능한 예측 모드와 연관된 예측 블록을 획득하고,
- 2개의 사용 가능한 예측 모드 중 적어도 하나를 포함하는 리스트를 구축하고,
- 현재 모드라 하는 상기 리스트에 포함된 적어도 하나의 예측 모드에 대하여:
● 상기 현재 모드와 연관된 예측 모드와 획득된 다른 예측 블록 사이의 거리 측정값을 결정하고,
● 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하고,
- 상기 현재 블록에 대하여, 수정된 리스트로부터 예측 모드를 식별하는 정보를 인코딩된 데이터 스트림으로부터 디코딩하고,
- 식별된 상기 예측 모드와 연관된 예측 블록으로부터 상기 현재 블록을 재구축
하도록 구성된다.
본 발명의 하나의 특정 실시예에 따라, 디코딩 방법의 단계들은 컴퓨터 프로그램 명령어에 의해 구현된다. 이 목적으로, 디코딩 장치(DEC)는 컴퓨터의 전통적인 아키텍처를 가지며, 특히 메모리(MEM0)와, 예를 들어 마이크로프로세(PROC0)를 구비하고 메모리(MEM0)에 저장된 컴퓨터 프로그램(PG0)에 의해 관리되는 처리 유닛(UT0)을 포함한다. 컴퓨터 프로그램(PG0)은, 프로그램이 프로세서(PROC0)에 의해 실행될 때, 여기에 위에서 설명된 바와 같이 디코딩 방법의 단계들을 구현하기 위한 명령어를 포함한다.
초기에, 컴퓨터 프로그램(PG0)의 코드 명령어는, 예를 들어, 메모리(RAM) 내로 로딩되고, 그 다음, 프로세서(PROC0)에 위해 실행된다. 처리 유닛(UT0)의 프로세서(PROC0)는 특히, 컴퓨터 프로그램(PG0)의 명령어에 따라, 여기에 위에서 설명된 디코딩 방법의 단계들을 구현한다.
본 발명의 다른 특정 실시예에 따라, 디코딩 방법은 기능 모듈에 의해 구현된다. 이 목적으로, 디코딩 장치(DEC)는:
- 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 사용 가능한 예측 모드와 연관된 예측 블록을 획득하기 위한 획득 모듈(OBT0),
- 2개의 사용 가능한 예측 모드 중 적어도 하나를 포함하는 리스트를 구축하기 위한 구축 모듈(COS0),
- 상기 리스트에 포함된 예측 모드와 연관된 예측 블록과 획득된 다른 예측 블록 사이의 거리 측정값을 결정하기 위한 결정 모듈(DET0),
- 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하기 위한 수정 모듈(MOD0),
- 상기 현재 블록에 대하여, 수정된 리스트로부터 예측 모드를 식별하는 정보를 인코딩된 데이터 스트림로부터 디코딩하기 위한 디코딩 모듈(DC),
- 식별된 상기 예측 모드와 연관된 예측 블록으로부터 상기 현재 블록을 재구축하기 위한 재구축 모듈(RC)
을 더 포함한다.
처리 유닛(UT0)은 디코딩 방법의 단계들을 구현하기 위하여 여기에 위에서 설명된 다른 기능 모듈 및 메모리(MEM0)와 협동한다.
여기에 위에서 설명된 상이한 기능 모듈들은 하드웨어 및/또는 소프트웨어 형태를 가질 수 있다. 소프트웨어 형태에서, 이러한 기능 모듈은 프로세서, 메모리 및 프로그램 코드 명령어를 포함하고, 프로그램 코드 명령어는 프로세서에 의해 실행될 때 모듈에 대응하는 기능을 구현한다. 하드웨어 형태에서, 이러한 기능 모듈은, 예를 들어, 그리고 비한정적이지 않게, 마이크로프로세서, 디지털 신호 프로세서(DSP), ASIC(applications-specific integrated circuit), FPGA(field programmable gate array) 및 논리 유닛 배선과 같은 임의의 종류의 맞춤형 인코딩 회로에 의해 구현될 수 있다

Claims (15)

  1. 적어도 하나의 이미지를 나타내는 인코딩된 데이터 스트림을 디코딩하는 방법에 있어서,
    상기 이미지는 블록들로 세분화되고, 적어도 2개의 예측 모드가 현재 블록이라 하는 상기 이미지의 블록을 예측하기 위하여 사용 가능하며,
    상기 방법은, 상기 현재 블록에 대하여:
    - 상기 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 상기 사용 가능한 예측 모드와 연관된 예측 블록을 획득하는 단계(E101),
    - 사용 가능한 상기 2개의 예측 모드 중 적어도 하나를 포함하는 리스트를 구축하는 단계(E102),
    - 현재 모드라 하는 상기 리스트에 포함된 각각의 예측 모드에 대하여:
    ● 상기 현재 모드와 연관된 예측 블록과, 다른 사용 가능한 예측 모드와 연관되고 상기 현재 블록에 대하여 획득된 예측 블록 사이의 거리 측정값을 결정하는 단계(E1042, E1043),
    ● 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하고, 상기 현재 모드의 제거(elimination) 또는 상기 리스트의 재정렬(re-ordering)에 대응하는 상기 리스트를 수정하는 단계(E1045),
    - 상기 현재 블록에 대하여, 수정된 상기 리스트로부터 예측 모드를 식별하는 정보를 인코딩된 블록의 스트림으로부터 디코딩하는 단계(E20),
    - 식별된 상기 예측 모드와 연관된 예측 블록으로부터 상기 현재 블록을 재구축하는 단계(E22)
    를 포함하는,
    방법.
  2. 적어도 하나의 이미지를 인코딩된 데이터 스트림 형태로 인코딩하는 방법에 있어서,
    상기 이미지는 블록들로 세분화되고, 적어도 2개의 예측 모드가 현재 블록이라 하는 상기 이미지의 블록을 예측하기 위하여 사용 가능하며,
    인코딩하는 상기 방법은, 상기 현재 블록에 대하여:
    - 상기 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 상기 사용 가능한 예측 모드와 연관된 예측 블록을 획득하는 단계(E101),
    - 사용 가능한 상기 2개의 예측 모드 중 적어도 하나를 포함하는 리스트를 구축하는 단계(E102),
    - 현재 모드라 하는 상기 리스트에 포함된 각각의 예측 모드에 대하여:
    ● 상기 현재 모드와 연관된 예측 블록과, 다른 사용 가능한 예측 모드와 연관되고 상기 현재 블록에 대하여 획득된 예측 블록 사이의 거리 측정값을 결정하는 단계(E1042, E1043),
    ● 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하고, 상기 현재 모드의 제거(elimination) 또는 상기 리스트의 재정렬(re-ordering)에 대응하는 상기 리스트를 수정하는 단계(E1045),
    - 상기 현재 블록을 인코딩하기 위하여 수정된 상기 리스트로부터 예측 모드를 선택하는 단계(E11),
    - 상기 현재 블록에 대하여, 수정된 상기 리스트에서 선택된 상기 예측 모드를 식별하는 정보를 상기 데이터 스트림에서 인코딩하는 단계(E12)
    를 포함하는,
    방법.
  3. 제1항 또는 제2항에 있어서,
    결정된 상기 거리 측정값이, 상기 리스트에 포함된 상기 현재 모드와 연관된 상기 예측 블록이 다른 사용 가능한 예측 모드와 연관된 예측 블록과 유사하다고 나타낼 때, 상기 리스트의 수정은 상기 리스트로부터의 상기 현재 모드의 제거에 대응하는,
    방법.
  4. 제3항에 있어서,
    상기 다른 사용 가능한 예측 모드는 상기 리스트에 포함되지 않는,
    방법.
  5. 제1항에 있어서,
    제1 예측 블록에 대한 상기 거리 측정값이 상기 제1 예측 블록과 제2 예측 블록 사이에 계산된 평균 제곱 오차(mean squared error)의 계산에 의해 결정되고, 계산된 상기 평균 제곱 오차가 미리 정해진 임계값 아래에 있을 때 상기 제1 예측 블록은 상기 제2 예측 블록과 유사한,
    방법.
  6. 제5항에 있어서,
    상기 미리 정해진 임계값은 상기 현재 블록의 크기에 따라 변동되는,
    방법.
  7. 제3항에 있어서,
    상기 리스트로부터의 예측 모드와 연관된 예측 블록의 거리 측정값을 결정하는 단계 및 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하는 단계는, 수정된 상기 리스트가 2N인 개수의 예측 모드를 포함하도록 반복되고, N은 상기 리스트의 인덱스가 인코딩되는 비트의 개수인,
    방법.
  8. 제1항 또는 제2항에 있어서,
    상기 리스트의 수정은 상기 리스트의 재정렬에 대응하고, 상기 리스트의 예측 모드는 상기 리스트의 각각의 예측 모드에 대하여 결정된 거리 기준의 내림차순에 따라 정렬되는,
    방법.
  9. 제8항에 있어서,
    상기 리스트에 포함된 각각의 예측 모드에 대한 상기 거리 측정값은 상기 예측 모드와 연관되고 상기 현재 모드에 대하여 획득되는 상기 예측 블록의 에너지의 계산에 의해 결정되는,
    방법.
  10. 제8항에 있어서,
    상기 거리 측정값은 상기 예측 블록 및 다른 예측 모드와 연관된 다른 예측 블록 사이의 유클리드 거리(Euclidean distance)의 계산에 의해 결정되는,
    방법.
  11. 제1항 또는 제2항에 있어서,
    상기 리스트의 제거 또는 재정렬에 대응하는 상기 리스트의 수정의 유형은 상기 이미지의 인트라(intra) 또는 인터(inter) 인코딩 유형에 따라 결정되는,
    방법.
  12. 적어도 하나의 이미지를 나타내는 인코딩된 데이터 스트림을 디코딩하는 장치에 있어서,
    상기 이미지는 블록들로 세분화되고, 적어도 2개의 예측 모드가 현재 블록이라 하는 상기 이미지의 블록을 예측하기 위하여 사용 가능하며,
    상기 디코딩하는 장치는,
    - 상기 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 상기 사용 가능한 예측 모드와 연관된 예측 블록을 획득하고,
    - 사용 가능한 상기 2개의 예측 모드 중 적어도 하나를 포함하는 리스트를 구축하고,
    - 현재 모드라 하는 상기 리스트에 포함된 각각의 예측 모드에 대하여:
    ● 상기 현재 모드와 연관된 예측 블록과, 다른 사용 가능한 예측 모드와 연관되고 상기 현재 블록에 대하여 획득된 예측 블록 사이의 거리 측정값을 결정하고,
    ● 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하고, 상기 현재 모드의 제거(elimination) 또는 상기 리스트의 재정렬(re-ordering)에 대응하는 상기 리스트를 수정하고,
    - 상기 현재 블록에 대하여, 수정된 상기 리스트로부터 예측 모드를 식별하는 정보를 인코딩된 블록의 스트림으로부터 디코딩하고,
    - 식별된 상기 예측 모드와 연관된 예측 블록으로부터 상기 현재 블록을 재구축하도록 구성되는,
    장치.
  13. 적어도 하나의 이미지를 인코딩된 데이터 스트림 형태로 인코딩하는 장치에 있어서,
    상기 이미지는 블록들로 세분화되고, 적어도 2개의 예측 모드가 현재 블록이라 하는 상기 이미지의 블록을 예측하기 위하여 사용 가능하며,
    상기 장치는,
    - 상기 현재 블록을 예측하기 위하여 사용 가능한 각각의 예측 모드에 대하여, 상기 사용 가능한 예측 모드와 연관된 예측 블록을 획득하고,
    - 사용 가능한 상기 2개의 예측 모드 중 적어도 하나를 포함하는 리스트를 구축하고,
    - 현재 모드라 하는 상기 리스트에 포함된 각각의 예측 모드에 대하여:
    ● 상기 현재 모드와 연관된 예측 블록과, 다른 사용 가능한 예측 모드와 연관되고 상기 현재 블록에 대하여 획득된 예측 블록 사이의 거리 측정값을 결정하고,
    ● 결정된 상기 거리 측정값의 함수로서 상기 리스트를 수정하고, 상기 현재 모드의 제거(elimination) 또는 상기 리스트의 재정렬(re-ordering)에 대응하는 상기 리스트를 수정하고,
    - 상기 현재 블록을 인코딩하기 위하여 수정된 상기 리스트로부터 예측 모드를 선택하고,
    - 상기 현재 블록에 대하여, 수정된 상기 리스트에서 선택된 상기 예측 모드를 식별하는 정보를 상기 데이터 스트림에서 인코딩하도록 구성되는,
    장치.
  14. 프로세서에 의해 실행될 때, 제1항에 따른 디코딩하는 방법을 구현하기 위한 명령어를 포함하는, 컴퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램.
  15. 프로세서에 의해 실행될 때, 제2항에 따른 인코딩하는 방법을 구현하기 위한 명령어를 포함하는, 컴퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램.
KR1020187032526A 2016-05-10 2017-04-27 적어도 하나의 이미지를 나타내는 데이터 스트림을 인코딩하고 디코딩하는 방법 및 장치 KR102327323B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1654181A FR3051309A1 (fr) 2016-05-10 2016-05-10 Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
FR1654181 2016-05-10
PCT/EP2017/060038 WO2017194316A1 (fr) 2016-05-10 2017-04-27 Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image

Publications (2)

Publication Number Publication Date
KR20190005867A KR20190005867A (ko) 2019-01-16
KR102327323B1 true KR102327323B1 (ko) 2021-11-17

Family

ID=56119691

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187032526A KR102327323B1 (ko) 2016-05-10 2017-04-27 적어도 하나의 이미지를 나타내는 데이터 스트림을 인코딩하고 디코딩하는 방법 및 장치

Country Status (7)

Country Link
US (1) US10958901B2 (ko)
EP (1) EP3456045B1 (ko)
JP (1) JP7017522B2 (ko)
KR (1) KR102327323B1 (ko)
CN (1) CN109314786A (ko)
FR (1) FR3051309A1 (ko)
WO (1) WO2017194316A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2015202844A1 (en) 2011-01-12 2015-06-11 Ntt Docomo, Inc. Image predict coding method, image predict coding device, image predict coding program, image predict decoding method, image predict decoding device, and image predict decoding program

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3905969B2 (ja) * 1998-01-30 2007-04-18 株式会社東芝 動画像符号化装置および動画像符号化方法
US6567469B1 (en) * 2000-03-23 2003-05-20 Koninklijke Philips Electronics N.V. Motion estimation algorithm suitable for H.261 videoconferencing applications
JP4525878B2 (ja) * 2000-10-02 2010-08-18 日本電気株式会社 動画像符号化方法
US7386048B2 (en) * 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
KR101014660B1 (ko) * 2003-10-24 2011-02-16 삼성전자주식회사 인트라 예측 방법 및 장치
US7369707B2 (en) * 2003-10-28 2008-05-06 Matsushita Electric Industrial Co., Ltd. Intra-picture prediction coding method
US7697610B2 (en) * 2004-09-13 2010-04-13 Microsoft Corporation Variable block size early termination for video coding
EP1662800A1 (en) * 2004-11-30 2006-05-31 Humax Co., Ltd. Image down-sampling transcoding method and device
KR100679031B1 (ko) * 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
US7706442B2 (en) * 2005-02-15 2010-04-27 Industrial Technology Research Institute Method for coding mode selection of intra prediction in video compression
EP2223527A1 (en) * 2007-12-21 2010-09-01 Telefonaktiebolaget LM Ericsson (publ) Adaptive intra mode selection
KR101306834B1 (ko) * 2008-09-22 2013-09-10 에스케이텔레콤 주식회사 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법
US8861879B2 (en) * 2009-09-17 2014-10-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image based on skip mode
JP4819940B2 (ja) * 2009-12-04 2011-11-24 株式会社日立国際電気 動画像符号化装置
EP2532159A1 (en) 2010-02-05 2012-12-12 Telefonaktiebolaget L M Ericsson (PUBL) Selecting predicted motion vector candidates
US9025661B2 (en) * 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
KR101756442B1 (ko) * 2010-11-29 2017-07-11 에스케이텔레콤 주식회사 인트라예측모드의 중복성을 최소화하기 위한 영상 부호화/복호화 방법 및 장치
US10021384B2 (en) * 2010-12-23 2018-07-10 Samsung Electronics Co., Ltd. Method and device for encoding intra prediction mode for image prediction unit, and method and device for decoding intra prediction mode for image prediction unit
JP5812011B2 (ja) * 2010-12-27 2015-11-11 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法及びプログラム
US8913662B2 (en) * 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
BR112013014371B8 (pt) * 2011-01-07 2022-05-24 Hfi Innovation Inc Método e aparelho de codificação aperfeiçoada de modo de predição intra crominância
JP5781313B2 (ja) * 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
JP5713719B2 (ja) * 2011-02-17 2015-05-07 株式会社日立国際電気 動画像符号化装置
MY165837A (en) * 2011-06-13 2018-05-17 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
KR101953522B1 (ko) * 2011-06-17 2019-02-28 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 및 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
CA2837827C (en) * 2011-06-27 2019-01-15 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding-decoding apparatus
LT3136729T (lt) * 2011-06-28 2018-02-12 Samsung Electronics Co., Ltd. Vaizdo dekodavimo aparatas su vidine prognoze
KR102014332B1 (ko) 2011-10-21 2019-08-26 노키아 테크놀로지스 오와이 비디오 코딩 방법 및 장치
KR102511107B1 (ko) * 2011-12-05 2023-03-17 엘지전자 주식회사 인트라 예측 방법 및 장치
WO2013099285A1 (ja) * 2011-12-28 2013-07-04 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
US9955169B2 (en) * 2012-01-30 2018-04-24 Electronics And Telecommunications Research Institute Intra prediction mode encoding/decoding method and apparatus
US9426473B2 (en) * 2013-02-01 2016-08-23 Qualcomm Incorporated Mode decision simplification for intra prediction
CN103384326A (zh) * 2013-03-20 2013-11-06 张新安 一种avs-m视频编码快速帧内预测模式选择方法
US20160105685A1 (en) * 2014-10-08 2016-04-14 Qualcomm Incorporated Boundary filtering and cross-component prediction in video coding
KR101621358B1 (ko) * 2015-04-16 2016-05-17 아주대학교 산학협력단 Hevc 부호화 장치 및 그 인트라 예측 모드 결정 방법
KR20180008797A (ko) * 2015-06-15 2018-01-24 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10587873B2 (en) * 2015-10-13 2020-03-10 Lg Electronics Inc. Method and apparatus for encoding and decoding video signal
CA3024900C (en) * 2016-05-17 2021-02-16 Arris Enterprises Llc Template matching for jvet intra prediction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2015202844A1 (en) 2011-01-12 2015-06-11 Ntt Docomo, Inc. Image predict coding method, image predict coding device, image predict coding program, image predict decoding method, image predict decoding device, and image predict decoding program

Also Published As

Publication number Publication date
FR3051309A1 (fr) 2017-11-17
US20190208196A1 (en) 2019-07-04
CN109314786A (zh) 2019-02-05
WO2017194316A1 (fr) 2017-11-16
US10958901B2 (en) 2021-03-23
JP2019515589A (ja) 2019-06-06
EP3456045B1 (fr) 2021-06-02
JP7017522B2 (ja) 2022-02-08
KR20190005867A (ko) 2019-01-16
EP3456045A1 (fr) 2019-03-20

Similar Documents

Publication Publication Date Title
JP6165798B2 (ja) イントラ予測を使用したビデオ符号化
KR101351714B1 (ko) 비트 스트림 복호 방법
JP7110441B2 (ja) デジタル画像のコーディング方法、デコーディング方法、装置、および関連するコンピュータプログラム
CN107396126B (zh) 用于编码和解码图像的方法、编码和解码设备、以及相应的计算机程序
US8761240B2 (en) Methods and devices for data compression using context-based coding order
JP2017123668A (ja) コンピュータ可読媒体
KR102531124B1 (ko) 변환 기반 잔차 코딩을 이용한 예측 화상 코딩
JP2013229906A (ja) ハイブリッドビデオ符号化のための量子化
JP2012518940A (ja) ビデオ符号化での分割ブロック符号化方法、ビデオ復号化での分割ブロック復号化方法及びこれを実現する記録媒体
MXPA06002496A (es) Codificacion y descodificacion de plano de bit para estado de prediccion ac e informacion de tipo de codificacion de campo/marco de macrobloque.
KR20160091392A (ko) 이미지를 인코딩하고 디코딩하기 위한 방법, 이미지를 인코딩하고 디코딩하기 위한 디바이스 및 상응하는 컴퓨터 프로그램
JP6708211B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
JP6528635B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP7274427B2 (ja) 少なくとも1つの画像を表すデータストリームを符号化及び復号する方法及びデバイス
KR102327323B1 (ko) 적어도 하나의 이미지를 나타내는 데이터 스트림을 인코딩하고 디코딩하는 방법 및 장치
KR101249346B1 (ko) 적응적 양자화 계수 탐색을 이용한 영상 부호화/복호화 방법 및 장치, 상기 방법을 기록한 컴퓨터로 판독 가능한 기록매체
KR20150021980A (ko) 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
JP6497100B2 (ja) 映像符号化装置、方法及びプログラム
Xue et al. A two-stage video coding framework with both self-adaptive redundant dictionary and adaptively orthonormalized DCT basis

Legal Events

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