KR20200022492A - 영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램 - Google Patents

영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20200022492A
KR20200022492A KR1020207002968A KR20207002968A KR20200022492A KR 20200022492 A KR20200022492 A KR 20200022492A KR 1020207002968 A KR1020207002968 A KR 1020207002968A KR 20207002968 A KR20207002968 A KR 20207002968A KR 20200022492 A KR20200022492 A KR 20200022492A
Authority
KR
South Korea
Prior art keywords
coding
current block
zone
decoding
image
Prior art date
Application number
KR1020207002968A
Other languages
English (en)
Inventor
조엘 용
펠릭스 앙리
바파디탸 레이
Original Assignee
오렌지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오렌지 filed Critical 오렌지
Publication of KR20200022492A publication Critical patent/KR20200022492A/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • 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/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

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

Abstract

본 발명은 블록으로 분할된 영상(ICj)의 인코딩에 관한 것으로서, 상기 영상은 별개의 제1 및 제2 구역(Z1, Z2)을 포함한다. 인코딩은, 영상의 적어도 하나의 현재 블록(Bu)에 대해, 현재 블록이 제1 및 제2 구역 중 어느 것에 속하는지를 결정하는 단계(C4); 현재 블록이 제1 구역(Z1)에 속하는 경우, 제1 인코딩 방식(MC1)에 의해 현재 블록을 인코딩하는 단계(C5a)); 현재 블록이 제2 구역(Z2)에 속하는 경우, 제2 인코딩 방식(MC2)에 의해 현재 블록을 인코딩하는 단계(C5b))를 구현하고, 제2 인코딩 방식(MC2)은, 제2 구역에서의 현재 블록의 위치로부터, 영상의 제1 구역에 위치된 이전에 인코딩된 다음 디코딩된 블록(Bref)을 식별하는 단계(C51b)); 식별된 블록과 연관된 적어도 하나의 인코딩 파라미터(PRC1)의 값을 복사하는 단계를 포함하는 것을 특징으로 한다.

Description

영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램
본 발명은 일반적으로 영상 처리 분야에 관한 것으로서, 보다 정확하게는 디지털 영상이 고정되어 있든지 또는 디지털 영상 시퀀스의 일부를 형성하든지 상관없이, 이러한 디지털 영상의 파라미터의 코딩 및 디코딩에 관한 것이다.
이러한 영상 파라미터의 코딩/디코딩은 특히,
- 하나의 동일한 카메라로부터 비롯되어 시간적으로 서로 후속되는 영상(2D 유형의 코딩/디코딩);
- 상이한 뷰(view)에 따라 지향된 다양한 카메라로부터 비롯되는 영상(3D 유형의 코딩/디코딩);
- 해당 텍스처 성분 및 깊이 성분(3D 유형의 코딩/디코딩);
- 360° 비디오의 투영에 의해 획득된 영상;
- 기타를 포함하는 적어도 하나의 비디오 시퀀스로부터 비롯되는 영상에 적용된다.
본 발명은 2D 또는 3D 유형의 영상의 파라미터의 코딩/디코딩에 유사한 방식으로 적용된다.
특히, 본 발명은 전적으로 그런 것은 아니지만, 현재의 AVC("고도 비디오 코딩"의 영어 약어) 및 HEVC("고효율 비디오 코딩"의 영어 약어) 비디오 코더(coder) 및 이들의 확장(MVC, 3D-AVC, MV-HEVC, 3D-HEVC 등)으로 구현되는 비디오 코딩, 및 대응하는 디코딩에 적용될 수 있다.
현재의 비디오 코더(MPEG, H.264, HEVC 등)는 비디오 시퀀스의 블록 단위 표현을 사용한다. 영상은 예를 들어, HEVC 표준에서와 같은 재귀적 방식으로 다시 분할될 수 있는 블록으로 분할된다.
코딩될 현재 블록에 대해, 이러한 블록과 연관된 영상 파라미터는 예를 들어, 그 목적이 손실 없이 이들 파라미터를 코딩하는 것인 엔트로피 코더와 같은 코더에 의해 구현되는 적응형 코딩 방식을 사용하여 비트의 형태로 코딩된다.
이러한 파라미터는 예를 들어,
- 현재 블록의 픽셀의 잔차(residual) 예측 계수;
- 현재 블록의 예측 모드(인트라(Intra) 예측, 인터(Inter) 예측, 정보가 디코더에 전송되지 않는(영어로 "스킵") 예측을 수행하는 디폴트 예측);
- 현재 블록의 예측 유형을 명시하는 정보(방향, 참조 영상 등);
- 현재 블록의 분할 유형;
- 필요한 경우 현재 블록의 모션 정보;
- 기타이다.
엔트로피 코딩 후에 획득된 비트는 디코더에 전송되도록 의도된 데이터 신호로 기록된다.
코딩된 데이터 신호가 디코더에 의해 수신되면, 디코딩은 영상마다, 그리고 각각의 영상에 대해, 블록마다 수행된다. 각각의 블록에 대해, 블록과 연관된 영상 파라미터를 나타내는 비트가 판독된 다음, 디코더에 의해 구현되는 디코딩 방식을 사용하여 디코딩된다.
고려되는 각각의 영상 유형 또는 형식에 대해, 특정 코딩이 구현된다. 따라서, 예를 들어, AVC 및 HEVC 코더/디코더는 하나의 동일한 카메라로부터 비롯되어 시간적으로 서로 후속되는 2D 영상을 코딩/디코딩하도록 적응된다. 또한, 이러한 코더/디코더는,
- 입체 비디오의 투영에 의해 획득되고, 사용자의 좌안 및 우안을 통해 각각 보이도록 의도된 하나의 동일한 장면을 나타내는 2개의 뷰를 각각 포함하는 영상;
- 360° 입체 비디오의 2차원 투영에 의해 획득된 영상 등을 코딩/디코딩하도록 적응된다.
다른 실시예에 따라, 3D-HEVC 코더/디코더는 상이한 뷰에 따라 지향된 다양한 카메라로부터 비롯되는 3D 영상, 대응하는 텍스처 성분 및 깊이 성분, 모노 360° 비디오로부터 비롯되는 영상 등과 같은, 3D 영상을 코딩/디코딩하도록 적응된다.
따라서, 고려되는 영상 형식 또는 유형에 대해 매우 특정한 유형의 코딩/디코딩을 제안함으로써, 현재의 코더/디코더에 의해 달성되는 코딩/디코딩 성능은 만족스럽지 못하다.
따라서, 본 발명은 현재 영상을 위한 코딩/디코딩 성능을 최적화할 수 있게 하면서, 주어진 유형 또는 형식의 비디오 콘텐츠로부터 비롯되는 현재 영상에 대해 2개의 상이한 코딩/디코딩 방식을 사용하는 것을 제안하는 코더/디코더를 구상한다.
본 발명의 목적 중 하나는 전술한 종래기술의 단점을 해결하는 것이다.
이러한 취지로, 본 발명의 대상은 블록으로 분할된 영상을 코딩하기 위한 방법에 관한 것으로서, 상기 영상은 별개의 제1 및 제2 구역을 포함한다.
이러한 코딩 방법은 영상의 적어도 하나의 현재 블록에 대해,
- 현재 블록이 제1 및 제2 구역 중 어느 것에 속하는지를 결정하는 단계;
- 현재 블록이 제1 구역에 속하는 경우, 제1 코딩 방식을 사용하여 현재 블록을 코딩하는 단계;
- 현재 블록이 제2 구역에 속하는 경우, 제2 코딩 방식을 사용하여 현재 블록을 코딩하는 단계를 구현하며,
제2 코딩 방식은,
- 제2 구역에서의 현재 블록의 위치에 기초하여, 영상의 제1 구역에 위치된 이전에 코딩된 다음 디코딩된 블록을 식별하는 단계;
- 식별된 블록과 연관된 적어도 하나의 코딩 파라미터의 값을 복사하는 단계를 포함한다는 점에서 주목할 만하다.
이러한 제공은 영상이 표현하는 장면이 초기에 포착된 방식에 가장 잘 적응된 코딩 방식을 하나의 동일한 인코더 내에서 선택할 수 있게 한다.
예를 들어, 현재 영상이 2차원 영상인 경우,
- 이러한 영상이 시간적으로 서로 후속되는 2D 영상을 포함하는 비디오로부터 비롯되는 경우, AVC 또는 HEVC 유형의 통상적인 방식과 같은, 인코더로 구현되는 제1 코딩 방식을 선택하도록 결정되고;
- 사용자의 좌안 및 우안에 대응하는 2개의 영상 구역으로 형성되는 이러한 영상이 예를 들어 360°의 각도를 커버하는 복수의 화각에 따라 포착된 입체 비디오의 투영에 의해 획득된 경우, 현재 블록이 영상의 제1 구역에 위치되는지 또는 제2 구역에 위치되는지에 따라, 전술한 제1 코딩 방식, 또는 제2 코딩 방식을 인코더에서 선택하도록 결정된다.
따라서, 본 발명에 의해, 비디오 콘텐츠의 형식을 고려하는 비디오 콘텐츠의 적응형 코딩을 제안하는 것이 가능하다. 또한, 특정 유형의 콘텐츠 형식에 대해, 본 발명은 유리하게는 현재 순간에 코딩될 영상의 구역에 따라 현재 영상에 적응형 코딩을 적용할 수 있게 하며, 제1 구역의 적어도 하나의 현재 블록은 제1 코딩 방식에 따라 코딩되고, 이러한 영상의 제2 구역의 적어도 하나의 현재 블록은 제2 코딩 방식에 따라 코딩된다.
유리하게는, 사용되는 제2 코딩 방식은 현재 영상의 제2 구역과 제1 구역 사이에 존재하는 공간 상관을 이용할 수 있게 하며, 제1 구역에 위치된 블록의 적어도 하나의 코딩 파라미터의 값은 제2 구역의 현재 블록에 대해 복사된다. 따라서, 현재 블록에 대해 이러한 코딩 파라미터의 값을 코딩할 필요가 없다. 이로 인해 비트레이트가 더 정확하고, 덜 복잡하며, 덜 비싸기 때문에, 영상의 보다 고성능 코딩이 이루어진다.
특정 실시형태에 따라, 제2 코딩 방식은 현재 영상의 제2 구역의 모든 블록에 적용된다.
이러한 제공은 인코더에서 구현되는 코딩의 비트레이트 측면에서 복잡성의 감소 및 비용의 감소를 최적화할 수 있게 한다.
다른 특정 실시형태에 따라, 코딩 방법은,
- 제1 코딩 방식을 사용하여 영상의 제2 구역의 상기 적어도 하나의 현재 블록을 코딩하는 단계;
- 미리 결정된 코딩 성능 기준에 따라 제1 코딩 방식 또는 제2 코딩 방식을 선택하는 단계;
- 상기 선택을 나타내는 정보 아이템을 코딩하는 단계를 구현한다.
제1 및 제2 코딩 방식이 경합하도록 설정된다는 점을 고려하면, 제2 코딩 방식이 현재 블록에서 인코더에 초기에 적용되었지만, 코딩 방법이 보다 유연해짐으로써, 코딩의 효율을 개선한다.
또 다른 특정 실시형태에 따라, 영상의 제1 및 제2 구역은 동일한 형상을 가지며, 제1 구역은 제2 구역의 위에 위치되고, 영상의 중앙을 따라 연장되는 수평 경계에 의해 제2 구역과 분리된다.
현재 영상의 제1 및 제2 구역의 이러한 공간적 배치는 제2 구역의 현재 블록의 위치에 따라, 영상의 제1 구역의 이미 코딩된 다음 디코딩된 블록의 위치를 정확하게 사전 정의함으로써, 코딩 성능을 최적화할 수 있게 한다.
실시형태의 전술한 다양한 모드 또는 특성은 위에서 정의된 바와 같은 코딩 방법의 과정에서 구현되는 작업에 독립적으로 또는 서로 조합하여 추가될 수 있다.
유사하게, 본 발명은 블록으로 분할된 적어도 하나의 영상을 코딩하기 위한 장치에 관한 것으로서, 상기 영상은 별개의 제1 및 제2 구역을 포함한다.
이러한 코딩 장치는 영상의 적어도 하나의 현재 블록에 대해,
- 현재 블록이 제1 및 제2 구역 중 어느 것에 속하는지를 결정하는 단계;
- 현재 블록이 제1 구역에 속하는 경우, 제1 코딩 방식을 사용하여 현재 블록을 코딩하는 단계;
- 현재 블록이 제2 구역에 속하는 경우, 제2 코딩 방식을 사용하여 현재 블록을 코딩하는 단계를 구현하도록 설계된 처리 회로를 포함하며,
제2 코딩 방식은,
- 제2 구역에서의 현재 블록의 위치에 기초하여, 영상의 제1 구역에 위치된 이전에 코딩된 다음 디코딩된 블록을 식별하는 단계;
- 식별된 블록과 연관된 적어도 하나의 코딩 파라미터의 값을 복사하는 단계를 포함한다는 점에서 주목할 만하다.
상응하는 방식으로, 본 발명은 또한 코딩된 블록으로 분할된 영상을 나타내는 데이터 신호를 디코딩하기 위한 방법에 관한 것으로서, 상기 적어도 하나의 영상은 별개의 제1 및 제2 구역을 포함한다.
이러한 디코딩 방법은 영상의 디코딩될 적어도 하나의 현재 블록에 대해,
- 현재 블록이 제1 및 제2 구역 중 어느 것에 속하는지를 결정하는 단계;
- 현재 블록이 제1 구역에 속하는 경우, 제1 디코딩 방식을 사용하여 현재 블록을 디코딩하는 단계;
- 현재 블록이 제2 구역에 속하는 경우, 제2 디코딩 방식을 사용하여 현재 블록을 디코딩하는 단계를 구현하며,
제2 디코딩 방식은,
- 제2 구역에서의 현재 블록의 위치에 기초하여, 영상의 제1 구역에 위치된 이전에 디코딩된 블록을 식별하는 단계;
- 상기 식별된 블록과 연관된 적어도 하나의 디코딩 파라미터를 현재 블록에 할당하는 단계를 포함한다는 점에서 주목할 만하다.
특정 실시형태에 따라, 제2 디코딩 방식은 현재 영상의 제2 구역의 모든 블록에 적용된다.
다른 특정 실시형태에 따라, 제2 디코딩 방식은 현재 블록에 대해, 제2 디코딩 방식의 선택에 대한 정보 아이템이 데이터 신호에서 판독되는 경우 제2 구역의 현재 블록에 적용되며, 제1 디코딩 방식은 현재 블록에 대해, 상기 제1 디코딩 방식의 선택에 대한 정보 아이템이 데이터 신호에서 판독되는 경우 제2 구역의 현재 블록에 적용된다.
또 다른 특정 실시형태에 따라, 영상의 제1 및 제2 구역은 동일한 형상을 가지며, 제1 구역은 제2 구역의 위에 위치되고, 영상의 중앙을 따라 연장되는 수평 경계에 의해 제2 구역과 분리된다.
실시형태의 전술한 다양한 모드 또는 특성은 위에서 정의된 바와 같은 디코딩 방법의 과정에서 구현되는 작업에 독립적으로 또는 서로 조합하여 추가될 수 있다.
유사하게, 본 발명은 코딩된 블록으로 분할된 영상을 나타내는 데이터 신호를 디코딩하기 위한 장치에 관한 것으로서, 상기 적어도 하나의 영상은 별개의 제1 및 제2 구역을 포함한다.
이러한 디코딩 장치는 영상의 디코딩될 적어도 하나의 현재 블록에 대해,
- 현재 블록이 제1 및 제2 구역 중 어느 것에 속하는지를 결정하는 단계;
- 현재 블록이 제1 구역에 속하는 경우, 제1 디코딩 방식을 사용하여 현재 블록을 디코딩하는 단계;
- 현재 블록이 제2 구역에 속하는 경우, 제2 디코딩 방식을 사용하여 현재 블록을 디코딩하는 단계를 구현하도록 설계된 처리 회로를 포함하며,
제2 디코딩 방식은,
- 제2 구역에서의 현재 블록의 위치에 기초하여, 영상의 제1 구역에 위치된 이전에 디코딩된 블록을 식별하는 단계;
- 상기 식별된 블록과 연관된 적어도 하나의 디코딩 파라미터를 현재 블록에 할당하는 단계를 포함하는 것을 특징으로 한다.
본 발명은 또한 컴퓨터를 통해 실행될 때, 본 발명에 따른 코딩 방법 및 디코딩 방법 중 하나를 구현하기 위한 명령을 포함하는 컴퓨터 프로그램에 관한 것이다.
이러한 프로그램은 임의의 프로그래밍 언어를 사용할 수 있으며, 소스 코드, 객체 코드, 또는 소스 코드와 객체 코드 사이의 중간 코드의 형식일 수 있고, 예를 들어 부분적으로 컴파일링된 형식 또는 임의의 다른 바람직한 형식일 수 있다.
또한, 본 발명의 또 다른 대상은 컴퓨터에 의해 판독 가능하고, 전술한 바와 같은 컴퓨터 프로그램 명령을 포함하는 기록 매체를 구상한다.
기록 매체는 프로그램을 저장할 수 있는 임의의 엔티티 또는 장치일 수 있다. 예를 들어, 매체는 ROM, 예를 들어 CD ROM 또는 마이크로 전자 회로 ROM과 같은 저장 수단, 또는 다른 자기 기록 수단, 디지털 기록 수단, 예를 들어 USB 키 또는 하드 디스크를 포함할 수 있다.
또한, 이러한 기록 매체는 무선 또는 다른 수단에 의해 전기 또는 광 케이블을 통해 전달될 수 있는 전기 또는 광 신호와 같은 전송 가능 매체일 수 있다. 본 발명에 따른 프로그램은 특히 인터넷 유형의 네트워크를 통해 다운로드될 수 있다.
대안적으로, 이러한 기록 매체는 프로그램이 통합된 집적 회로일 수 있고, 집적 회로는 논의 중인 방법을 실행하거나 방법의 실행에 사용되도록 적응된다.
다른 특징 및 이점은 도면을 참조하여 설명되는 바람직한 실시형태를 읽었을 때 명백해질 것이며, 도면으로서:
- 도 1a는 본 발명의 제1 실시형태에 따른 코딩 방법의 과정을 도시한다;
- 도 1b는 본 발명의 제2 실시형태에 따른 코딩 방법의 과정을 도시한다;
- 도 2a는 본 발명의 제1 실시형태에 따른 코딩 장치를 도시한다;
- 도 2b는 본 발명의 제2 실시형태에 따른 코딩 장치를 도시한다;
- 도 3a 내지 도 3c는 코딩되거나 디코딩될 현재 영상의 별개의 구역의 실시예를 각각 도시한다;
- 도 4는 도 1a 및 도 1b의 코딩 방법으로 구현되는 예시적인 통상적인 코딩 방식을 도시한다;
- 도 5a 및 도 5b는 도 1a 및 도 1b의 코딩 방법 또는 도 6a 및 도 6b의 디코딩 방법으로 구현되는 바와 같은, 본 발명에 따른 코딩 또는 디코딩 방식을 현재 블록에 적용하는 동안, 현재 영상에서 참조 블록을 식별하는 2개의 상이한 실시예를 각각 도시한다;
- 도 6a는 본 발명의 제1 실시형태에 따른 디코딩 방법의 과정을 도시한다;
- 도 6b는 본 발명의 제2 실시형태에 따른 디코딩 방법의 과정을 도시한다;
- 도 7a는 본 발명의 제1 실시형태에 따른 디코딩 장치를 도시한다;
- 도 7b는 본 발명의 제2 실시형태에 따른 디코딩 장치를 도시한다;
- 도 8은 도 6a 및 도 6b의 디코딩 방법으로 구현되는 예시적인 통상적인 디코딩 방식을 도시한다.
코딩 부분에 대한 상세한 설명
이제 본 발명의 제1 실시형태가 설명될 것이며, 본 발명에 따른 코딩 방법은 현재 또는 미래의 비디오 코딩 표준 중 어느 하나를 따르는 코더로 구현된 코딩에 의해 달성되는 것과 유사한 2진 스트림에 따른 영상 또는 영상들의 시퀀스를 코딩하기 위해 사용된다.
이러한 실시형태에서, 본 발명에 따른 코딩 방법은 예를 들어, 그러한 코더의 변경에 의해 소프트웨어 또는 하드웨어 방식으로 구현된다. 본 발명의 제1 실시형태에 따른 코딩 방법은 도 1a에 도시된 바와 같이, 작업(C1 내지 C6a) 또는 C1 내지 C6b))을 포함하는 알고리즘의 형태로 표현된다.
본 발명의 제1 실시형태에 따라, 코딩 방법은 도 2a에 도시된 코딩 장치 또는 코더(CO)로 구현된다.
도 2a에 도시된 바와 같이, 코더(CO)는 버퍼 메모리(MT_C)를 포함하는 메모리(MEM_C), 본 발명에 따른 코딩 방법을 구현하는 컴퓨터 프로그램(PG_C)에 의해 구동되는 프로세서(PROC_C)를 포함한다. 초기화 시에, 컴퓨터 프로그램(PG_C)의 코드 명령은 예를 들어, 프로세서(PROC_C)에 의해 실행되기 전에, MR_C로 표시된 RAM 메모리로 로딩된다.
도 1a에 도시된 코딩 방법은, 고정되어 있거나, 그렇지 않으면 코딩될 L개의 영상(IC1,…, ICj,…, ICL)(1≤j≤L) 시퀀스의 일부를 형성하는, 임의의 현재 영상(ICj)에 적용된다.
현재 영상(ICj)은 완전하지 않은 실시예로서,
- 하나의 동일한 카메라로부터 비롯되어 시간적으로 서로 후속되는 영상(2D 유형의 코딩/디코딩);
- 상이한 뷰에 따라 지향된 다양한 카메라로부터 비롯되는 영상(3D 유형의 코딩/디코딩);
- 말하자면 하나의 동일한 장면을 나타내는 해당 텍스처 성분 및 깊이 성분(3D 유형의 코딩/디코딩);
- 모노 360° 비디오의 투영에 의해 획득된 영상;
- 입체 비디오의 투영에 의해 획득되고, 하나의 동일한 장면을 나타내는 적어도 2개의 뷰를 각각 포함하는 영상;
- 예를 들어 스크린 비디오 캡처에 의해 획득된 영상과 같은, "스크린 콘텐츠" 유형의 부자연스러운 영상;
- 기타를 포함하는 적어도 하나의 비디오 시퀀스로부터 비롯된다.
도 1a를 참조하면, 그 자체로 알려진 방식으로, 현재 영상(ICj)을 복수의 블록(B1, B2, …, Bu,…, BS)(1≤u≤S)으로 분할하는 단계를 C1에서 수행한다. 분할하는 단계는 도 2a에 도시된 분할 장치(MP_C)에 의해 구현되며, 이 장치는 프로세서(PROC_C)에 의해 구동된다.
본 발명의 의미 내에서, "블록"이란 용어는 코딩 단위를 의미한다는 것을 유의해야 한다. 후자의 용어는 특히 HEVC 표준 "ISO/IEC/23008-2 권고안 ITU-T H.265 고효율 비디오 코딩(HEVC)"에서 사용된다.
특히, 이러한 코딩 단위는 블록, 매크로 블록, 또는 그렇지 않으면 다른 기하학적 형상을 나타내는 픽셀 세트라고도 지칭되는, 직사각형 또는 정사각형 형상의 픽셀 세트를 함께 그룹화한다.
상기 블록(B1, B2, …, Bu,…, BS)은 예를 들어 사전식 유형인 미리 결정된 순회(traversal) 순서에 따라 코딩되도록 의도된다. 이것은 블록이 좌측에서 우측으로 차례로 코딩됨을 의미한다.
다른 유형의 순회도 물론 가능하다. 따라서, 영상(ICj)을 슬라이스라고 지칭되는 여러 개의 서브 영상으로 분할하고, 이러한 유형의 분할을 각각의 서브 영상에 독립적으로 적용하는 것이 가능하다. 위에 설명된 바와 같이, 일련의 라인이 아니라, 일련의 칼럼을 코딩하는 것도 가능하다. 어느 한 방향으로 라인 또는 칼럼을 순회하는 것도 가능하다.
실시예에 따라, 블록(B1, B2,…, Bu,…, BS)은 정사각형 형상을 가지며, 모두가 K≥1인 K개의 픽셀을 포함한다. 완전하지 않은 실시예로서, 블록은 64x64 픽셀, 및/또는 32x32, 및/또는 16x16, 및/또는 8x8 픽셀의 크기를 갖는다.
반드시 블록 크기의 배수는 아닌 영상의 크기에 따라, 좌측의 마지막 블록 및 하단의 마지막 블록은 정사각형이 아닐 수 있다. 대안적인 실시형태에서, 블록은 예를 들어, 직사각형 크기일 수 있거나/있고 서로 정렬되지 않을 수 있다.
선택적인 방식으로, 도 1a에 점선으로 도시된 바와 같이, 현재 영상(ICj)의 특성과 연관되는 신택스(syntax) 요소(activateStereoReuse)를 코딩하는 단계가 C2에서 수행된다.
신택스 요소(activateStereoReuse)는 현재 영상(ICj)을 포함하는 비디오 시퀀스의 상위 레벨 신택스 요소이다. 이러한 취지로, 코딩 환경에 따라, 이러한 요소는,
- 비디오 시퀀스의 각각의 영상의 코딩 시작 시에 코딩될 수 있거나,
- 또는 영상 시퀀스의 코딩 시작 시에 단지 한 번만 코딩될 수 있거나,
- 또는 비디오 시퀀스의 코딩 시작 시에 단지 한 번만 코딩될 수 있다.
신택스 요소(activateStereoReuse)는 코딩될 현재 영상의 형식의 유형을 나타내도록 의도된다. 바람직한 실시형태에 따라, 코딩될 현재 영상이 입체 비디오, 360°, 180° 등의 투영에 의해 획득된 경우, 그리고 현재 영상이 동일한 시간 순간에서 포착되어 단일 뷰(직사각형의 픽셀)를 형성하도록 현재 영상에 배치된 다수의 뷰로 구성된 경우, 신택스 요소(activateStereoReuse)는 값 1로 코딩된다. 이러한 영상을 구성하기 위한 방법은 예를 들어, "프레임 패킹"(FP)이라 지칭되는 기술을 사용한다. 한편, 코딩될 현재 영상이 2D 유형이거나 그렇지 않으면 모노 비디오, 360°, 180° 등의 투영에 의해 획득된 경우, 신택스 요소(activateStereoReuse)는 값 0으로 코딩된다.
코딩(C2)은 예를 들어, CABAC(영어로 "환경 적응형 이진 산술 코딩") 유형의 엔트로피 코딩이거나, 산술 또는 허프만 유형의 다른 엔트로피 코딩이다. 이러한 코딩은 도 2a에 도시된 코딩 장치(MC_C)에 의해 구현되며, 이 장치는 프로세서(PROC_C)에 의해 구동된다.
이러한 코딩(C2)은 코더(CO)가,
- 2D 유형으로 코딩되거나, 그렇지 않으면 모노 비디오, 360°, 180° 등의 투영에 의해 획득되는 현재 영상과,
- 입체 비디오, 360°, 180° 등의 투영에 의해 획득되고, FP 유형의 기술에 따라 구성되는 코딩될 현재 영상을 자율적인 방식으로 구별하는 경우에는 필요하지 않다.
후속하는 설명에서, 코딩될 현재 영상은 입체 비디오, 360°, 180° 등의 투영에 의해 획득되었고, 현재 영상은 동일한 시간 순간에서 포착되어 단일 뷰(직사각형의 픽셀)를 형성하도록 현재 영상에 배치된 다수의 뷰로 구성되는 것으로 간주된다.
도 1a를 참조하면, 도 2a의 코더(CO)는 영상(ICj)의 코딩될 현재 블록(Bu)을 C3에서 선택한다.
C4에서, 예를 들어 영상(ICj)의 좌측 상단에 위치된 제1 픽셀에 대한 이의 좌표를 결정함으로써(좌표(0, 0)를 가짐), 영상(ICj)의 현재 블록(Bu)의 위치 확인을 수행한다. 이러한 위치 확인의 효과는 현재 블록이 현재 영상(ICj)의 제1 구역에 속하는지 또는 제2 구역에 속하는지를 결정하는 것이며, 제1 및 제2 구역은 별개이다. 본 발명에 따라, 제1 및 제2 구역은 이들이 중첩되지 않는다는 점에서 별개이다.
위치 확인(C4)은 도 2a에 도시된 바와 같은 계산 장치(CAL1_C)에 의해 구현되며, 이 장치는 프로세서(PROC_C)에 의해 구동된다.
바람직한 실시형태인 도 3a에 도시된 제1 실시형태에 따라, 현재 영상(ICj)은 영상의 상단 절반부에 걸쳐서 연장되는 제1 구역(Z1), 및 영상의 하단 절반부에 걸쳐서 연장되는 제2 구역(Z2)을 포함한다. 구역(Z1 및 Z2)은 동일한 형상을 가지며, 영상의 중앙을 따라 연장되는 수평 경계(FH)에 의해 서로 분리된다.
도 3b에 도시된 제2 실시형태에 따라, 현재 영상(ICj)은 영상의 좌측 절반부에 걸쳐서 연장되는 제1 구역(Z1), 및 영상의 우측 절반부에 걸쳐서 연장되는 제2 구역(Z2)을 포함한다. 구역(Z1 및 Z2)은 동일한 형상을 가지며, 영상의 중앙을 따라 연장되는 수직 경계(FV)에 의해 서로 분리된다.
도 3c에 도시된 제3 실시형태에 따라, 현재 영상(ICj)은 영상의 제1 좌측 상단 1/4에 걸쳐서 연장되는 제1 구역(Z1), 및 영상의 제2 좌측 상단 1/4에 걸쳐서 연장되는 제2 구역(Z2)을 포함한다. 구역(Z1 및 Z2)은 동일한 형상을 가지며, 영상의 1/4에 걸쳐서 연장되는 수평 경계(FH)에 의해 서로 분리된다.
다른 구성도 물론 가능하다. 예를 들어, 구역(Z1 및 Z2)은 교환될 수 있다. 또한, 구역(Z1 및 Z2)은 동일한 형상을 가질 수 있거나 동일한 형상을 갖지 않을 수 있다.
현재 블록(Bu)이 영상(ICj)의 제1 구역(Z1)에 속하는 경우, 도 1a를 참조하면, 제1 코딩 방식(MC1)을 사용하여 현재 블록을 코딩하는 단계를 C5a)에서 수행한다. 제1 코딩 방식(MC1)은 통상적인 방식으로서, 그 실시예가 도 4에 도시된다. 코딩 방식(MC1)은 구역(Z1)의 임의의 현재 블록에 적용된다.
도 4를 참조하면, 이와 같은 통상적인 코딩 방식(MC1)은 통상적인 예측 기술, 예를 들어 인트라 및/또는 인터 및/또는 스킵 및/또는 병합 등에 의해, 현재 블록(Bu)의 예측(C51a))을 구현한다. 이러한 취지로, 현재 블록(Bu)은 방금 언급한 예측 기술 중 하나에 속하는 예측 모드에 따라 적어도 하나의 예측변수(predictor) 블록에 대해 예측된다.
그 자체로 알려진 방식으로, 현재 블록(Bu)은 복수의 후보 예측변수 블록에 대해 예측된다. 각각의 후보 예측변수 블록은 이미 코딩된 다음 디코딩된 픽셀의 블록이다.
예측(C51a))이 완료되면, 예를 들어 당업자에게 잘 알려진 왜곡 비트레이트 기준을 최소화함으로써, 미리 결정된 코딩 성능 기준에 따라, 상기 미리 결정된 예측 기술들이 경합하도록 설정된 후에, 최적의 예측변수 블록(BPopt)이 획득된다. 블록(BPopt)은 현재 블록(Bu)의 근사치인 것으로 간주된다. 이러한 예측에 관한 정보는 디코더에 전송될 데이터 신호 또는 스트림 내에 신택스 요소의 형식으로 기록되도록 의도된다.
그 후에, 현재 블록(Bu)에 관한 데이터를 예측변수 블록(BPopt)의 데이터와 비교하는 단계를 C52a)에서 통상적으로 수행한다. 이러한 비교는 획득된 예측변수 블록(BPopt)과 현재 블록(Bu) 간의 차이를 계산하는 단계로 이루어진다.
그 다음, 잔차 블록(Bru)이라 지칭되는 데이터 세트가 획득된다.
작업(C51a) 및 C52a))은 도 2a에 도시된 예측 코딩 장치(PRED_C)에 의해 구현되며, 이 장치는 프로세서(PROC_C)에 의해 구동된다.
다시 도 4를 참조하면, 현재 잔차 블록(Bru)의 데이터는 통상적인 방식으로 C53a)에서 코딩된다.
제한적이지 않은 예시적인 실시형태에 따라, 이러한 코딩(C53a))은 현재 잔차 블록(Bru)의 픽셀에 대한 변환의 적용(C531a))을 구현한다.
그 자체로 알려진 방식으로, 환경 또는 사용된 코딩 표준에 따라, 이러한 변환은 예를 들어, DCT("이산 코사인 변환"의 영어 약어), DST("이산 사인 변환"의 영어 약어) 유형, DWT("이산 웨이블렛 변환"의 영어 약어) 유형, 또는 다른 LT("래핑(Lapped) 변환"의 영어 약어) 유형의 변환이다. 이들 변환은 도 2a의 코더(CO)의 버퍼 메모리(MT_C)의 리스트(LTS1)에 미리 저장된다.
이러한 변환의 적용이 완료되면, 현재 변환된 데이터 블록(Btu)이 획득된다.
이러한 작업은 도 2a에 도시된 바와 같은 변환 계산 장치(MTR_C)에 의해 수행되며, 이 장치는 프로세서(PROC_C)에 의해 구동된다.
코딩(C53a))은 또한 예를 들어, 스칼라 또는 벡터 양자화와 같은 통상적인 양자화 연산에 따라, 변환된 블록(Btu)의 데이터의 양자화(C532a))를 구현한다. 그 다음, 양자화된 계수의 블록(Bqu)이 획득된다.
양자화(C532a))는 도 2a에 도시된 바와 같은 양자화 장치(MQ_C)에 의해 구현되며, 이 장치는 프로세서(PROC_C)에 의해 구동된다.
변환 계산 장치(MTR_C) 및 양자화 장치(MQ_C)는 도 2a에 도시된 블록을 코딩하기 위한 장치(MCB_C)에 포함되며, 이 장치는 프로세서(PROC_C)에 의해 구동된다.
코딩(C53a))은 또한 양자화된 계수의 블록(Bqu)의 데이터의 코딩(C533a))을 구현한다. 코딩(C533a))은 도 2a의 코딩 장치(MC_C)에 의해 구현된다. 코딩(C53a))의 완료 시에 현재 블록(Bu)의 코딩된 데이터 세트(DCu)가 획득된다.
도 1a를 참조하면, C6a)에서 신호 부분(F)을 구성하는 단계를 수행하며, 신호 부분(F)은,
- C5a)에서 획득된 코딩된 데이터(DCu);
- 코더(CO)에 의해 인코딩된 특정 정보로서, 예를 들어,
ㆍ 현재 블록(Bu)에 적용된 인터, 인트라, 스킵 또는 병합 예측 유형, 그리고 적절한 경우, 선택된 예측 모드, 획득된 예측변수 블록의 인덱스,
ㆍ 현재 블록(Bu)이 분할된 경우, 현재 블록(Bu)의 분할 유형,
ㆍ 현재 블록(Bu)의 데이터에 적용된 변환 유형,
- 기타와 같은 특정 정보를 통상적으로 포함한다.
본 발명에 따라, 신택스 요소(activateStereoReuse)가 영상 레벨로 코딩되는 경우, 스트림(F)은 신택스 요소(activateStereoReuse)의 값 0/1을 선택적으로 포함한다.
스트림(F)의 구성은 도 2a에 도시된 바와 같은 데이터 신호 구성 장치(MCF)에 의해 구현된다.
위치 확인(C4)의 완료 시에, 현재 블록(Bu)이 영상(ICj)의 제2 구역(Z2)에 속하는 경우, 제2 코딩 방식(MC2)을 사용하여 현재 블록을 코딩하는 단계를 C5b)에서 수행한다. 제1 실시형태에 따라, 제2 코딩 방식(MC2)은 제2 구역(Z2)에 위치된 임의의 현재 블록에 적용된다.
본 발명에 따라, 도 1a를 참조하면, 이전에 코딩된 다음 디코딩된 참조 블록(Bref)을 식별하는 단계를 C51b)에서 수행하며, 참조 블록(Bref)은 현재 영상(ICj)의 제1 구역(Z1)에 위치된다.
식별(C51b))은 도 2a에 도시된 바와 같은 계산 장치(CAL2_C)에 의해 구현되며, 이 장치는 프로세서(PROC_C)에 의해 구동된다.
바람직한 실시형태에 따라, 제2 구역(Z2)에 위치되었던 현재 블록이 현재 영상(ICj)에서 좌표(xu, yu)를 갖는 좌측 상단의 이의 제1 픽셀을 갖는 경우, 참조 블록(B'ref)은 좌측 상단의 제1 픽셀(p'ref)이 x'ref=xu 및 y'ref=yu-h/2인 좌표(x'ref, y'ref)를 갖는 블록인 것으로 제1 구역(Z1)에서 결정되며, 여기서 h는 현재 영상(ICj)의 높이이다.
도 5a는 결정되는 참조 블록(B'ref)이 예를 들어 도 3a에 도시된 것과 유사한 현재 영상(ICj)의 제1 구역(Z1)에서 다른 인접한 참조 블록과 중첩되지 않는 경우에, 그러한 결정의 일 실시예를 도시한다. 도 5a에서, 인접한 참조 블록은 포인트로 표시된 것이다. 그 다음, 이러한 구성에 따라, 블록(B'ref)은 식별된 블록(Bref)인 것으로 간주된다.
도 5b는 결정되는 참조 블록(B'ref)이 예를 들어 도 3a에 도시된 것과 유사한 현재 영상(ICj)의 제1 구역(Z1)에서 다른 인접한 참조 블록(r1, r2, r3, r4)과 중첩되는 경우에, 그러한 결정의 다른 실시예를 도시한다. 예시적인 실시형태에 따른 이러한 구성에 따라, 인접한 참조 블록(r1, r2, r3, r4) 중에서, 가장 많은 픽셀이 블록(B'ref)과 공통인 것이 결정된다. 이 경우, 도 5b에서, 이는 식별된 블록(Bref)인 것으로 간주되는 참조 블록(r4)이다.
물론, 블록(B'ref)이 현재 영상(ICj)의 제1 구역(Z1)에서 인접한 참조 블록과 중첩되는 경우, 인접한 참조 블록을 선택하기 위한 다른 방식이 존재한다.
다른 실시예에 따라, 도 5b의 경우, 인접한 참조 블록(r1, r2, r3, r4) 중에서, 블록(B'ref)의 중심을 포함하는 것이 결정될 수 있다.
또 다른 예시적인 실시형태에 따라, 참조 블록(B'ref)은 x'ref=xc 및 y'ref=yc-h/2 좌표를 갖는 픽셀을 포함하는 블록인 것으로 제1 구역(Z1)에서 결정되며, 여기서 (xc, yc)는 현재 블록의 중심의 좌표이다.
참조 블록(Bref)이 제1 구역(Z1)에서 식별되었다면, 도 1a를 참조하면, 참조 블록(Bref)과 연관된 적어도 하나의 코딩 파라미터(PRC1)를 판독하는 단계를 C52b)에서 수행한다. 이러한 코딩 파라미터(PRC1)는 도 2a의 코더의 버퍼 메모리(MT_C)의 리스트(LST2)에 저장된다.
판독(C52b))은 도 2a에 도시된 바와 같은 판독 장치(LEC_C)에 의해 구현되며, 이 장치는 프로세서(PROC_C)에 의해 구동된다.
완전하지 않은 실시예로서, 리스트(LST2)는 식별된 참조 블록(Bref)과 연관된 다수(K개)의 코딩 파라미터(PRC1, PRC2,…, PRCK)를 포함하며, 코딩 파라미터는 특히,
- 블록(Bref)을 예측하기 위해 선택된 인트라, 인터, 스킵, 병합 등의 예측 유형;
- 블록(Bref)의 코딩 동안 블록(Bref)에 인트라 예측이 적용된 경우에 선택된 인트라 예측의 방향;
- 블록(Bref)에 적용된 예측이 인터 유형인 경우 모션 벡터의 인덱스;
- 블록(Bref)의 코딩 동안 블록(Bref)에 적용된 예측의 잔차의 영도(nullity);
- 블록(Bref)의 코딩 동안 블록(Bref)에 적용된 분할 유형;
- 선택된 변환 유형;
- 선택된 양자화 간격의 값;
- 예를 들어 HEVC 표준에서 사용되는 SAO("샘플 적응형 오프셋") 모드와 같은, 블록(Bref)에 적용된 필터링 유형;
- 기타이다.
따라서, 판독(C52b)) 과정에서, 블록(Bref)과 연관된 전술한 코딩 파라미터 중 하나 이상이 판독될 수 있다.
도 1a를 참조하면, 현재 블록에 대해, C52b)에서 판독된 코딩 파라미터(PRC1)의 값을 복사하는 단계를 C53b)에서 수행한다. 따라서, 유리하게는 코딩 파라미터(PRC1)를 코딩할 필요가 없다.
일 실시형태에 따라, 참조 블록(Bref)의 코딩 파라미터(PRC1 )가 현재 블록에 대해 값이 복사되었던 파라미터인지 여부를 나타내는 신택스 요소(ES_PRC1)를 코딩하는 단계를 C54b)에서 수행한다.
코딩(C54b))은 예를 들어, CABAC 유형의 엔트로피 코딩이거나, 산술 또는 허프만 유형의 다른 엔트로피 코딩이다. 이러한 코딩은 도 2a의 코딩 장치(MC_C)에 의해 구현된다.
예를 들어, 신택스 요소(ES_PRC1)는,
- 코딩 파라미터(PRC1)의 값이 현재 블록에 대해 복사되었음을 나타내기 위한 값 1로 코딩되고,
- 코딩 파라미터(PRC1)의 값이 현재 블록에 대해 복사되지 않았으며 이에 따라 통상적으로 코딩되었음을 나타내기 위한 값 0으로 코딩된다.
신택스 요소(ES_PRC1)가 값 0으로 코딩되는 경우, 코딩 파라미터(PRC1)는 통상적인 방식으로 코딩된다.
일 실시형태에 따라, 코딩(C54b))의 과정에서, K개의 신택스 요소(ES_PRC1, ES_PRC2,…, ES_PRCK)가 코딩되며, 이들은 참조 블록(Bref)과 연관된 각각의 코딩 파라미터(PRC1, PRC2,…, PRCK)가 현재 블록에 대해 값이 복사되었던 파라미터인지 여부를 나타낸다.
물론, 위와 같은 K개의 신택스 요소 중 일부만을 코딩하도록 결정될 수 있다. 일 실시형태에 따라, 신택스 요소(activateStereoReuse)가 C2에서 값 1로 코딩되었다고 가정하면, 예를 들어 2진 시퀀스 1101은,
- 신택스 요소(activateStereoReuse)가 C2에서 값 1로 코딩되었고,
- 참조 블록(Bref)에 적용된 분할 유형의 값이 현재 블록에 대해 복사되었으며,
- 참조 블록(Bref)에 적용된 변환 유형의 값이 현재 블록에 대해 복사되지 않았고, 이 경우 현재 블록에 적용된 변환 유형은 통상적인 방식으로 코딩되며,
- 참조 블록(Bref)의 코딩 동안 사용된 양자화 간격의 값이 현재 블록에 대해 복사되었음을 의미한다.
도 1a를 참조하면, 도 2a의 장치(MCF)는 본 발명에 따라, 상기 적어도 신택스 요소(ES_PRC1)의 값 0/1을 포함하는 신호 부분(F)을 구성하는 단계를 C6a)에서 수행한다.
또한, 신호 부분(F)은 통상적인 방식으로 코딩되었던 현재 블록의 모든 데이터를 포함한다.
본 발명에 따라, 신택스 요소(activateStereoReuse)가 영상 레벨로 코딩되는 경우, 스트림(F)은 신택스 요소(activateStereoReuse)의 값 0/1을 선택적으로 포함한다.
그 후, 데이터 신호(F)는 통신망(도시되지 않음)에 의해 원격 단말기로 전송된다. 원격 단말기는 도 7a에 도시된 디코더(DO)를 포함한다.
도 1a를 참조하여 방금 설명된 제1 실시형태에 따라,
- 코딩 작업 C1 내지 C6a)는 현재 영상(ICj)의 제1 구역(Z1)의 각각의 블록에 대해 구현되고,
- 코딩 작업 C1 내지 C6b)는 현재 영상(ICj)의 제2 구역(Z2)의 각각의 블록에 대해 구현된다.
이제 도 1b를 참조하여, 본 발명에 따른 코딩 방법의 제2 실시형태를 설명할 것이다.
본 발명의 이러한 제2 실시형태에 따라, 코딩 방법은 도 2a의 코더(CO)의 요소들과 유사한 요소들을 포함하는 도 2b에 도시된 코딩 장치 또는 코더(CO')로 구현된다. 단순화의 이유로, 이들과 같은 유사한 요소는 도 2a에서와 동일한 참조부호로 도 2b에서 반복된다.
제2 실시형태에 따라, 제1 코딩 방식(MC1)은 도 1a의 제1 실시형태에서와 정확히 동일한 방식으로, 제1 구역(Z1)에 위치된 임의의 현재 블록에 적용된다. 도 1b를 참조하면, 이러한 제2 실시형태는, 제2 구역(Z2)에 위치된 현재 블록에 대해 구현된 코딩(C5b))과 더불어, 예를 들어 도 4에 도시된 코딩 방식과 같은, 현재 영상의 제1 구역(Z1)의 임의의 블록에 적용되는 제1 코딩 방식(MC1)을 사용하여 현재 블록(Bu)을 코딩하는 단계를 C100b)에서 수행된다는 점에 의해, 도 1a의 실시형태와 구별된다. 이러한 코딩(100b))은 도 2b에 도시된 예측 코딩 장치(PRED_C), 블록을 코딩하기 위한 장치(MCB_C), 및 코딩 장치(MC_C)에 의해 구현된다.
도 1b를 참조하면, 각각 C5b) 및 C100b)에서 현재 블록에 적용된 코딩 방식(MC1 및 MC2)은 예를 들어 당업자에게 잘 알려진 왜곡 비트레이트 기준을 최소화함으로써, 미리 결정된 코딩 성능 기준에 따라 C200b)에서 경합하도록 설정된다.
경합하도록 설정하는 단계(C200b))는 도 2b에 도시된 바와 같은 계산 장치(CPT)에 의해 구현되며, 이 장치는 프로세서(PROC_C)에 의해 구동된다.
경합하도록 설정하는 단계(C200b))가 완료되면, MCopt=MC1 또는 MCopt=MC2가 되도록 하는 최적의 코딩 방식(MCopt)이 획득된다. 그 다음, 신택스 요소(ES_MCopt)가 C300b)에서 코딩된다.
코딩(C300b))은 예를 들어, CABAC 유형의 엔트로피 코딩이거나, 산술 또는 허프만 유형의 다른 엔트로피 코딩이다. 이러한 코딩은 도 2b의 코딩 장치(MC_C)에 의해 구현된다.
예를 들어, 신택스 요소(ES_MCopt)는,
- 경합하도록 설정하는 단계(C200b)) 후에 선택된 통상적인 제1 코딩 방식(MC1)을 사용하여 제2 구역(Z2)의 현재 블록(Bu)이 코딩됨을 나타내기 위한 값 0으로 코딩되고,
- 경합하도록 설정하는 단계(C200b)) 후에 선택된 본 발명에 따른 제2 코딩 방식(MC2)을 사용하여 제2 구역(Z2)의 현재 블록(Bu)이 코딩됨을 나타내기 위한 값 1로 코딩된다.
도 1b를 참조하면, 도 2b의 장치(MCF)는 신호 부분(F')을 구성하는 단계를 C400b)에서 수행하며, 신호 부분(F')은,
- 경합하도록 설정하는 단계(C200b) 후에 통상적인 제1 코딩 방식(MC1)이 선택된 경우,
ㆍ C100b)에서 획득된 코딩된 데이터(DCu);
ㆍ 코더(CO')에 의해 인코딩된 특정 정보로서, 예를 들어,
o 현재 블록(Bu)에 적용된 인터, 인트라, 스킵 또는 병합 예측 유형, 그리고 적절한 경우, 선택된 예측 모드, 획득된 예측변수 블록의 인덱스,
o 현재 블록(Bu)이 분할된 경우, 현재 블록(Bu)의 분할 유형,
o 현재 블록(Bu)의 데이터에 적용된 변환 유형,
o 기타와 같은 특정 정보;
- 경합하도록 설정하는 단계(C200b)) 후에 본 발명에 따른 제2 코딩 방식(MC2)이 선택된 경우,
ㆍ 상기 적어도 신택스 요소(ES_PRC1)의 값 0/1;
ㆍ 통상적인 방식으로 코딩되었던 현재 블록의 모든 데이터를 포함한다.
그 후, 신호 부분(F')은 통신망(도시되지 않음)에 의해 원격 단말기로 전송된다. 원격 단말기는 도 7b에 도시된 디코더(DO)를 포함한다.
방금 설명된 코딩 방법의 제2 실시형태에 따라,
- 코딩 작업 C1 내지 C6a)는 현재 영상(ICj)의 제1 구역(Z1)의 각각의 블록에 대해 구현되고,
- 코딩 작업 C1 내지 C400b)는 현재 영상(ICj)의 제2 구역(Z2)의 각각의 블록에 대해 구현된다.
디코딩 부분에 대한 상세한 설명
이제 본 발명의 제1 실시형태가 설명될 것이며, 본 발명에 따른 디코딩 방법은, 현재 또는 미래의 비디오 디코딩 표준 중 어느 하나를 따르는 디코더에 의해 디코딩될 수 있는 영상 또는 영상들의 시퀀스를 나타내는 데이터 신호 또는 스트림을 디코딩하기 위해 사용된다.
이러한 실시형태에서, 본 발명에 따른 디코딩 방법은 예를 들어, 그러한 디코더의 변경에 의해 소프트웨어 또는 하드웨어 방식으로 구현된다.
본 발명의 제1 실시형태에 따른 디코딩 방법은 도 6a에 도시된 바와 같이, 작업(D1 내지 D7a) 또는 D1 내지 D7b))을 포함하는 알고리즘의 형태로 표현된다.
이러한 제1 실시형태에 따라, 본 발명에 따른 디코딩 방법은 도 7a에 도시된 디코딩 장치 또는 디코더(DO)로 구현된다.
도 7a에 도시된 바와 같이, 본 발명의 제1 실시형태에 따라, 디코더(DO)는 버퍼 메모리(MT_D)를 자체적으로 포함하는 메모리(MEM_D), 본 발명에 따른 디코딩 방법을 구현하는 컴퓨터 프로그램(PG_D)에 의해 구동되는 프로세서(PROC_D)를 포함한다. 초기화 시에, 컴퓨터 프로그램(PG_D)의 코드 명령은 예를 들어, 프로세서(PROC_D)에 의해 실행되기 전에, RAM_D로 표시된 RAM 메모리로 로딩된다.
도 6a에 도시된 디코딩 방법은, 고정되어 있거나, 그렇지 않으면 디코딩될 L개의 영상(IC1,…, ICj,…, ICL)(1≤j≤L) 시퀀스의 일부를 형성하는 임의의 코딩된 현재 영상(ICj)에 적용된다.
디코딩될 현재 영상(ICj)은 완전하지 않은 실시예로서,
- 하나의 동일한 카메라로부터 비롯되어 시간적으로 서로 후속되는 영상(2D 유형의 코딩/디코딩);
- 상이한 뷰에 따라 지향된 다양한 카메라로부터 비롯되는 영상(3D 유형의 코딩/디코딩);
- 말하자면 하나의 동일한 장면을 나타내는 해당 텍스처 성분 및 깊이 성분(3D 유형의 코딩/디코딩);
- 모노 360° 비디오의 투영에 의해 획득된 영상;
- 입체 비디오의 투영에 의해 획득되고, 사용자의 좌안 및 우안을 통해 각각 보이도록 의도된 하나의 동일한 장면을 나타내는 2개의 뷰를 각각 포함하는 영상;
- 예를 들어 스크린 비디오 캡처에 의해 획득된 영상과 같은, "스크린 콘텐츠" 유형의 부자연스러운 영상;
- 기타를 포함하는 적어도 하나의 비디오 시퀀스로부터 비롯된다.
선택적인 방식으로, 도 6a에 점선으로 도시된 바와 같이, 디코딩될 현재 영상(ICj)의 특성과 연관된 신택스 요소(activateStereoReuse)의 코딩된 값 0 또는 1을 데이터 신호(F)에서 판독하는 단계를 D1에서 수행한다. 판독하는 단계(D1)는 이러한 신택스 요소가 현재 영상(ICj)의 레벨로 코딩된 경우에만 구현된다.
바람직한 실시형태에 따라, 판독되는 신택스 요소(activateStereoReuse)는 예를 들어,
- 코딩될 현재 영상이 입체 비디오, 360°, 180° 등의 투영에 의해 획득된 경우, 그리고 디코딩될 현재 영상이 전술한 FP 기술에 따라 구성된 경우, 값 1을 취하고,
- 디코딩될 현재 영상이 2D 유형이거나 그렇지 않으면 모노 비디오, 360°, 180° 등의 투영에 의해 획득된 경우, 값 0을 취한다.
판독하는 단계(D1)는 도 7a에 도시된 바와 같은 스트림 분석 장치(PARS_D)에 의해 구현되며, 상기 장치는 프로세서(PROC_D)에 의해 구동된다.
식별의 경우, 도 6a를 참조하면, 신택스 요소(activateStereoReuse)에 의해 취해진 코딩된 값 0 또는 1을 디코딩하는 단계를 D2에서 수행한다.
이러한 디코딩(D2)은 도 7a에 도시된 디코딩 장치(MD_D)에 의해 구현되며, 이 장치는 프로세서(PROC_D)에 의해 구동된다.
디코딩은 예를 들어, CABAC 유형의 엔트로피 디코딩이거나, 산술 또는 허프만 유형의 다른 엔트로피 디코딩이다.
이러한 디코딩(D2)은 디코더(DO)가,
- 2D 유형으로 디코딩되거나, 그렇지 않으면 모노 비디오, 360°, 180° 등의 투영에 의해 획득되는 현재 영상과,
- 입체 비디오, 360°, 180° 등의 투영에 의해 획득되고, FP 유형의 기술에 따라 구성된, 디코딩될 현재 영상을 자율적인 방식으로 구별하는 경우에는 필요하지 않다.
후속하는 설명에서, 디코딩될 현재 영상은 입체 비디오, 360°, 180° 등의 투영에 의해 획득되었고, 현재 영상은 동일한 시간 순간에서 포착되어 단일 뷰(직사각형의 픽셀)를 형성하도록 현재 영상에 배치된 다수의 뷰로 구성되는 것으로 간주된다.
도 6a를 참조하면, 전술한 사전식 순서에 따라 이전에 코딩된 블록(B1, B2, …, Bu,…, BS)과 각각 연관되고, 도 1a의 코딩 작업(C5a) 또는 C5b))의 완료 시에 획득된, 코딩된 데이터(DC1, DC2,…, DCu, …, DCS)(1≤u≤S)를 신호(F)에서 식별하는 단계를 D3에서 수행한다. 이것은 블록이 위에서 언급된 코딩 순서에 대응하는 방식으로, 좌측에서부터 우측으로 차례로 디코딩됨을 의미한다.
이러한 식별(D3)은 도 7a의 스트림 분석 장치(PARS_D)에 의해 구현된다.
방금 전술한 것 이외의 다른 유형의 순회도 물론 가능하며, 코딩 시에 선택된 순회의 순서에 따라 좌우된다.
실시예에 따라, 블록(B1, B2,…, Bu,…, BS)은 정사각형 형상을 가지며, 모두가 K≥1인 K개의 픽셀을 포함한다. 완전하지 않은 실시예로서, 블록은 64x64 픽셀, 및/또는 32x32, 및/또는 16x16, 및/또는 8x8 픽셀의 크기를 갖는다.
반드시 블록 크기의 배수는 아닌 영상의 크기에 따라, 좌측의 마지막 블록 및 하단의 마지막 블록은 정사각형이 아닐 수 있다. 대안적인 실시형태에서, 블록은 예를 들어, 직사각형 크기일 수 있거나/있고 서로 정렬되지 않을 수 있다.
도 6a를 참조하면, D4에서, 도 7a의 디코더(DO)는 영상(ICj)의 현재 코딩된 데이터 세트(DCu)를 디코딩될 현재 블록으로서 선택하며, 이 세트는 디코딩될 블록(Bu)과 연관된다.
D5에서, 예를 들어 영상(ICj)의 제1 재구성된 픽셀에 대한 이의 좌표를 결정함으로써, 영상(ICj)의 디코딩될 현재 블록(Bu)의 위치 확인을 수행하며, 이 픽셀은 영상(ICj)의 좌측 상단에 위치되고, 좌표 (0,0)을 갖는다.
위치 확인(D5)은 도 7a에 도시된 바와 같은 계산 장치(CAL1_D)에 의해 구현되며, 이 장치는 프로세서(PROC_D)에 의해 구동된다.
현재 블록(Bu)이 영상(ICj)의 제1 구역(Z1)에 속하는 경우, 도 6a를 참조하면, 도 1a의 C5a)에서의 코딩 시에 적용된 코딩 방식(MC1)에 대응하는 제1 디코딩 방식(MD1)을 사용하여 현재 블록을 디코딩하는 단계를 D6a)에서 수행한다. 제1 디코딩 방식(MD1)은 통상적인 방식이며, 그 실시예가 도 8에 도시된다. 디코딩 방식(MD1)은 구역(Z1)의 임의의 현재 블록에 적용된다.
도 8을 참조하면, 이와 같은 통상적인 디코딩 방식(MD1)은, 현재 블록(Bu)에 적용된 인터, 인트라, 스킵 또는 병합 예측 유형, 그리고 적절한 경우, 선택된 예측 모드, 코딩 시에 구현되었던 예측(C51a))(도 4) 동안 획득된 예측변수 블록(BPopt)의 인덱스와 같은, 신호(F)에서 이전에 판독된 예측 정보의 디코딩을 D61a)에서 구현한다.
디코딩(D61a))이 완료되면, 디코딩된 인덱스와 연관된 예측변수 블록(BPopt)이 획득된다.
현재 블록(Bu)의 코딩된 데이터(DCu)는 D62a)에서 디코딩된다. 이러한 디코딩은 도 7a에 도시된 블록을 디코딩하기 위한 장치(MDB_D)에 의해 구현되며, 이 장치는 프로세서(PROC_D)에 의해 구동된다.
디코딩(D62a))은, 도 1a의 C5a)에서 코딩되었고, 디코딩될 현재 블록(Bu)과 연관되는, 데이터(DCu)를 디코딩하는 단계를 D621a)에서 구현한다. 이러한 디코딩이 완료되면, 도 4의 C532a)에서 획득된 양자화된 계수의 블록(Bqu)과 연관된 수치 정보 세트가 획득된다.
디코딩(D621a))은 도 7a에 도시된 디코딩 장치(MD_D)에 의해 구현된다.
또한, 디코딩(D62a))은 도 4의 양자화(C532a))에 대한 역 연산인 통상적인 역양자화(dequantization) 연산에 따라, 양자화된 계수의 블록(Bqu)의 역양자화(D622a))를 구현한다. 그 다음, 현재의 역양자화된 계수 세트(BDqu)가 획득된다. 이러한 역양자화는 예를 들어 스칼라 또는 벡터 유형이며, 도 7a에 도시된 바와 같은 역양자화 장치(MQ-1_D)에 의해 구현되고, 이 장치는 프로세서(PROC_D)에 의해 구동된다.
또한, 디코딩(D62a))은 D622a)에서 획득된 현재의 역양자화된 계수 세트(BDqu)에 대한 변환의 적용(D623a))을 구현한다. 그 자체로 알려진 방식으로, 이러한 변환은 예를 들어 DCT, DST, DWT, LT 또는 다른 변환과 같은, 도 4의 C531a)에서의 코딩에 적용된 것에 대한 역 변환이다. 도 2a의 코더(CO)에 대응하는 방식으로, 이들 변환은 도 7a의 디코더(DO)의 버퍼 메모리(MT_D)에 미리 저장되는 변환 리스트(LTS1-1)의 일부를 형성한다. 적용될 변환의 유형은 통상적으로, 코딩에 적용된 변환의 인덱스를 데이터 신호(F)에서 판독함으로써, 디코더에서 결정될 수 있다.
변환 적용(D623a))은 도 7a에 도시된 바와 같은 변환 계산 장치(MTR-1_D)에 의해 수행되며, 이 장치는 프로세서(PROC_D)에 의해 구동된다.
역양자화 장치(MQ-1_D) 및 변환 계산 장치(MTR-1_D)는 도 7a에 도시된 블록을 디코딩하기 위한 장치(MDB_D)에 포함되며, 이 장치는 프로세서(PROC_D)에 의해 구동된다.
현재 블록의 데이터의 디코딩(D62a))이 완료되면, 현재 디코딩된 잔차 블록(BDru)이 획득된다.
도 8을 참조하면, D63a)에서, 현재 디코딩된 잔차 블록(BDru)은 D61a)에서 획득된 예측변수 블록(BPopt)에 추가된다.
작업(D63a))은 도 7a에 도시된 예측 디코딩 장치(PRED_D)에 의해 구현되며, 이 장치는 프로세서(PROC_D)에 의해 구동된다.
작업(D63a))이 완료되면, 현재 디코딩된 블록(BDu)이 획득된다.
도 6a를 다시 참조하면, 현재 디코딩된 블록(BDu)을 디코딩된 영상(IDj)에 기록하는 단계를 D7a)에서 수행한다.
기록하는 단계(D7a))는 도 7a에 도시된 바와 같은 영상 재구성 장치(URI)에 의해 구현되며, 장치(URI)는 프로세서(PROC_D)에 의해 구동된다.
도 6a를 참조하면, 위치 확인(D5)의 완료 시에, 현재 블록(Bu)이 영상(ICj)의 제2 구역(Z2)에 속하는 경우, 도 1a의 C5b)에서의 코딩 시에 적용된 코딩 방식(MC2)에 대응하는 제2 디코딩 방식(MD2)을 사용하여 현재 블록을 디코딩하는 단계를 D6b)에서 수행한다. 제1 실시형태에 따라, 제2 디코딩 방식(MD2)은 제2 구역(Z2)에 위치된 디코딩될 임의의 현재 블록에 적용된다.
본 발명에 따라, 도 6a를 참조하면, 이전에 디코딩된 참조 블록(Bref)을 식별하는 단계를 D61b)에서 수행하며, 참조 블록(Bref)은 디코딩이 수행되는 현재 영상(ICj)의 제1 구역(Z1)에 위치된다.
식별(D61b))은 도 7a에 도시된 바와 같은 계산 장치(CAL2_D)에 의해 구현되며, 이 장치는 프로세서(PROC_D)에 의해 구동된다. 식별(D61b))은 도 1a를 참조하는 코딩 시에 수행된 식별(C51b))과 동일하다.
바람직한 실시형태에 따라, 제2 구역(Z2)에 위치된 현재 블록이 현재 영상(ICj)에서 좌표(xu, yu)를 갖는 좌측 상단의 이의 제1 픽셀을 갖는 경우, 참조 블록(B'ref)은 좌측 상단의 제1 픽셀(p'ref)이 x'ref=xu 및 y'ref=yu-h/2인 좌표(x'ref, y'ref)를 갖는 블록인 것으로 제1 구역(Z1)에서 결정되며, 여기서 h는 현재 영상(ICj)의 최고점(top)이다.
참조 블록(B'ref)의 결정의 실시예는 도 5a 및 도 5b를 참조하여 이미 설명되었으므로 여기서 다시 설명되지 않을 것이다.
도 6a를 참조하여, 참조 블록(Bref)이 제1 구역(Z1)에서 식별되었다면, 도 7a의 장치(PARS_D)는, 참조 블록(Bref)의 코딩 파라미터(PRC1)가 현재 블록(Bu)에 대해 값이 복사된 파라미터인지 여부를 나타내는 적어도 하나의 신택스 요소(ES_PRC1)를 신호(F)에서 판독하는 단계를 D62b)에서 수행한다.
그 다음, D63b)에서, 신택스 요소(ES_PRC1)를 디코딩하는 단계를 수행한다.
디코딩(D63b))은 예를 들어, CABAC 유형의 엔트로피 디코딩이거나, 산술 또는 허프만 유형의 다른 엔트로피 디코딩이다. 이러한 디코딩은 도 7a의 코딩 장치(MD_D)에 의해 구현된다.
예를 들어,
- 신택스 요소(ES_PRC1)의 디코딩된 값이 1과 같은 경우, 코딩 파라미터(PRC1)는 현재 블록의 디코딩 파라미터(PRD1)로서 직접 사용되며,
- 신택스 요소(ES_PRC1)의 디코딩된 값이 0과 같은 경우, 코딩 파라미터(PRC1)는 통상적인 디코딩 방식을 사용하여 디코딩된다.
일 실시형태에 따라, 코딩(D63b))의 과정에서, K개의 신택스 요소(ES_PRC1, ES_PRC2,…, ES_PRCK)가 디코딩되며, 이들은 참조 블록(Bref)과 연관된 각각의 코딩 파라미터(PRC1, PRC2,…, PRCK)가 현재 블록의 코딩 동안에 값이 복사되었던 파라미터인지 여부를 나타낸다.
물론, K개의 신택스 요소 중 일부만이 C54b)(도 1a)에서의 코딩 시에 코딩된 경우, 위와 같은 K개의 신택스 요소 중 일부만을 디코딩하도록 결정될 수 있다. 일 실시형태에 따라, 신택스 요소(activateStereoReuse)의 D2에서 획득된 디코딩된 값이 값 1을 갖는다고 가정하면, 예를 들어 2진 시퀀스 1101은,
- 신택스 요소(activateStereoReuse)가 C2에서 값 1로 코딩되었고,
- 참조 블록(Bref)에 적용되었던 분할 유형이 현재 블록의 디코딩 파라미터로서 직접 사용되며,
- 참조 블록(Bref)에 적용되었던 변환 유형이 현재 블록의 디코딩 파라미터로서 직접 사용되지 않고 통상적인 방식으로 디코딩되며,
- 참조 블록(Bref)의 코딩 동안 사용된 양자화 간격의 값이 현재 블록의 디코딩 파라미터로서 직접 사용됨을 의미한다.
도 7a를 참조하면, 참조 블록(Bref)과 연관된 적어도 하나의 디코딩 파라미터(PRD1)는 디코더(DO)의 버퍼 메모리(MT_D)의 리스트(LST2)에 저장된다.
완전하지 않은 실시예로서, 도 7a의 디코더(DO)의 리스트(LST2)는, 식별된 참조 블록(Bref)과 연관되고, 도 2a의 코더(CO)의 리스트(LST2)에 저장된 K개의 코딩 파라미터(PRC1, PRC2,…, PRCK)와 각각 동일한, 다수(K개)의 디코딩 파라미터(PRD1, PRD2,…, PRDK)를 포함한다. 이러한 파라미터의 실시예는 도 1a의 코딩 방법 동안 이미 설명되었으므로 여기서 다시 설명되지 않을 것이다.
도 6a를 참조하면, 현재 블록(Bu)에 대해, 신택스 요소(ES_PRC1)와 연관된 코딩 파라미터(PRC1)의 값을 복사하는 단계를 D64b)에서 수행한다. 이러한 취지로, 디코딩 파라미터(PRD1)의 D63b)에서 디코딩된 값이 현재 블록(Bu)에 할당된다.
현재 블록에 대한 제2 디코딩 방식(MD2)의 적용이 완료되면, 현재 디코딩된 블록(BDu)이 획득된다.
도 7a의 영상 재구성 장치(URI)는 현재 디코딩된 블록(BDu)을 디코딩된 영상(IDj)에 기록하는 단계를 D7b)에서 수행한다.
도 6a를 참조하여 방금 설명된 제1 실시형태에 따라,
- 디코딩 작업 D1 내지 D7a)는 현재 영상(ICj)의 제1 구역(Z1)의 각각의 블록에 대해 구현되고,
- 디코딩 작업 D1 내지 D7b)는 현재 영상(ICj)의 제2 구역(Z2)의 각각의 블록에 대해 구현된다.
이제 도 6b를 참조하여, 본 발명에 따른 디코딩 방법의 제2 실시형태를 설명할 것이다.
본 발명의 이러한 제2 실시형태에 따라, 디코딩 방법은 도 7a의 디코더(DO)의 요소들과 유사한 요소들을 포함하는 도 7b에 도시된 디코딩 장치 또는 디코더(DO')로 구현된다. 단순화의 이유로, 이들과 같은 유사한 요소는 도 7a에서와 동일한 참조부호로 도 7b에서 반복된다.
제2 실시형태에 따라, 제1 디코딩 방식(MD1)은 도 6a의 제1 실시형태에서와 정확히 동일한 방식으로, 제1 구역(Z1)에 위치된 임의의 현재 블록에 적용된다. 제2 실시형태는 제2 디코딩 방식(MD2)이 제2 구역(Z2)에 위치된 각각의 현재 블록에 체계적으로 적용되지 않는다는 점에 의해, 도 6a의 실시형태와 구별된다. 이러한 취지로, 현재 블록(Bu)이 디코딩될 현재 영상의 제2 구역(Z2)에 위치되었다면, 도 1b의 C200b)에서의 코딩 시에 구현된 경합 후에, 어떤 코딩 방식(MC1 또는 MC2)이 선택되었는지를 나타내는 신택스 요소(ES_MCopt)를 신호(F')에서 판독하는 단계를 D100b)에서 수행한다. 판독하는 단계(D100b))는 도 7b의 장치(PARS_D)에 의해 구현된다.
그 다음, D200b)에서, 신택스 요소(ES_MCopt)를 디코딩하는 단계를 수행한다.
디코딩(D200b))은 예를 들어, CABAC 유형의 엔트로피 디코딩이거나, 산술 또는 허프만 유형의 다른 엔트로피 디코딩이다. 이러한 디코딩은 도 7b의 코딩 장치(MD_D)에 의해 구현된다.
신택스 요소(ES_MCopt)의 디코딩된 값이 1과 같은 경우, 현재 블록은 제1 실시형태에 따른 도 6a의 D5b)에서와 정확히 동일한 방식으로, 제2 디코딩 방식(MD2)을 사용하여 디코딩된다.
신택스 요소(ES_MCopt)의 디코딩된 값이 0과 같은 경우, 현재 블록은 제1 실시형태에 따른 도 6a의 D5a)에서와 정확히 동일한 방식으로, 현재 영상의 제1 구역(Z1)의 각각의 현재 블록에 적용되었던 제1 디코딩 방식(MD1)을 사용하여 D300b)에서 디코딩된다.
디코딩 방식(MD1)은 예를 들어 도 8에 도시된 디코딩 방식이다. 이러한 디코딩(300b))은 도 7b에 도시된 디코딩 장치(MD_D), 블록을 디코딩하기 위한 장치(MDB_D), 및 예측 디코딩 장치(PRED_D)에 의해 구현된다.
현재 블록에 대한 제1 디코딩 방식(MD1) 또는 제2 디코딩 방식(MD2)의 적용이 완료되면, 현재 디코딩된 블록(BDu)이 획득된다.
도 7b의 영상 재구성 장치(URI)는 현재 디코딩된 블록(BDu)을 디코딩된 영상(IDj)에 기록하는 단계를 D400b)에서 수행한다.
도 6b를 참조하여 방금 설명된 제2 실시형태에 따라,
- 디코딩 작업 D1 내지 D7a)는 현재 영상(ICj)의 제1 구역(Z1)의 각각의 블록에 대해 구현되고,
- 디코딩 작업 D1 내지 D400b)는 현재 영상(ICj)의 제2 구역(Z2)의 각각의 블록에 대해 구현된다.
위에서 설명된 실시형태는 순수하게 전적으로 제한적이지 않은 표시를 통해 주어졌지만, 본 발명의 범위를 벗어나지 않고 당업자에 의해 많은 변형이 용이하게 이루어질 수 있음은 물론이다.

Claims (14)

  1. 블록으로 분할된 영상(ICj)을 코딩하기 위한 방법으로서,
    상기 영상은 별개의 제1 및 제2 구역(Z1, Z2)을 포함하며,
    상기 코딩 방법은 상기 영상의 적어도 하나의 현재 블록(Bu)에 대해,
    - 상기 현재 블록이 상기 제1 및 제2 구역 중 어느 것에 속하는지를 결정하는 단계(C4);
    - 상기 현재 블록이 상기 제1 구역(Z1)에 속하는 경우, 제1 코딩 방식(MC1)을 사용하여 상기 현재 블록을 코딩하는 단계(C5a));
    - 상기 현재 블록이 상기 제2 구역(Z2)에 속하는 경우, 제2 코딩 방식(MC2)을 사용하여 상기 현재 블록을 코딩하는 단계(C5b))를 구현하고,
    상기 제2 코딩 방식(MC2)은,
    - 상기 제2 구역에서의 상기 현재 블록의 위치에 기초하여, 상기 영상의 상기 제1 구역에 위치된 이전에 코딩된 다음 디코딩된 블록(Bref)을 식별하는 단계(C51b));
    - 상기 식별된 블록과 연관된 적어도 하나의 코딩 파라미터(PRC1)의 값을 복사하는 단계를 포함하는 것을 특징으로 하는,
    블록으로 분할된 영상(ICj)을 코딩하기 위한 방법.
  2. 제1항에 있어서,
    상기 제2 코딩 방식은 현재 영상의 상기 제2 구역의 모든 블록에 적용되는, 코딩 방법.
  3. 제1항에 있어서,
    - 상기 제1 코딩 방식(MC1)을 사용하여 상기 영상의 상기 제2 구역의 상기 적어도 하나의 현재 블록을 코딩하는 단계(C100b));
    - 미리 결정된 코딩 성능 기준에 따라 상기 제1 코딩 방식 또는 상기 제2 코딩 방식을 선택하는 단계(C200b));
    - 상기 선택을 나타내는 정보 아이템(ES_MCopt)을 코딩하는 단계(C300b))를 구현하는, 코딩 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 영상의 상기 제1 및 제2 구역은 동일한 형상을 가지며, 상기 제1 구역은 상기 제2 구역의 위에 위치되고, 상기 영상의 중앙을 따라 연장되는 수평 경계에 의해 상기 제2 구역과 분리되는, 코딩 방법.
  5. 블록으로 분할된 적어도 하나의 영상(ICj)을 코딩하기 위한 장치(CO)로서,
    상기 영상은 별개의 제1 및 제2 구역을 포함하며,
    상기 장치(CO)는, 상기 영상의 적어도 하나의 현재 블록에 대해,
    - 상기 현재 블록이 상기 제1 및 제2 구역 중 어느 것에 속하는지를 결정하는 단계;
    - 상기 현재 블록이 상기 제1 구역(Z1)에 속하는 경우, 제1 코딩 방식(MC1)을 사용하여 상기 현재 블록을 코딩하는 단계;
    - 상기 현재 블록이 상기 제2 구역(Z2)에 속하는 경우, 제2 코딩 방식(MC2)을 사용하여 상기 현재 블록을 코딩하는 단계를 구현하도록 설계된 처리 회로(CT_C)를 포함하고,
    상기 제2 코딩 방식(MC2)은,
    - 상기 제2 구역에서의 상기 현재 블록의 위치에 기초하여, 상기 영상의 상기 제1 구역에 위치된 이전에 코딩된 다음 디코딩된 블록(Bref)을 식별하는 단계;
    - 상기 식별된 블록과 연관된 적어도 하나의 코딩 파라미터(PRC1)의 값을 복사하는 단계를 포함하는 것을 특징으로 하는,
    블록으로 분할된 적어도 하나의 영상(ICj)을 코딩하기 위한 장치(CO).
  6. 컴퓨터 프로그램으로서,
    상기 프로그램이 컴퓨터를 통해 실행될 때, 제1항 내지 제4항 중 어느 한 항에 따른 상기 코딩 방법의 단계의 실행을 위한 프로그램 코드 명령을 포함하는,
    컴퓨터 프로그램.
  7. 컴퓨터 프로그램이 기록된 컴퓨터에 의해 판독 가능한 기록 매체로서,
    상기 컴퓨터 프로그램은, 상기 프로그램이 컴퓨터에 의해 실행될 때, 제1항 내지 제4항 중 어느 한 항에 따른 상기 코딩 방법의 단계의 실행을 위한 프로그램 코드 명령을 포함하는,
    컴퓨터 프로그램이 기록된 컴퓨터에 의해 판독 가능한 기록 매체.
  8. 코딩된 블록으로 분할된 영상(ICj)을 나타내는 데이터 신호(F)를 디코딩하기 위한 방법으로서,
    상기 적어도 하나의 영상은 별개의 제1 및 제2 구역(Z1, Z2)을 포함하며,
    상기 디코딩 방법은 상기 영상의 디코딩될 적어도 하나의 현재 블록(Bu)에 대해,
    - 상기 현재 블록이 상기 제1 및 제2 구역 중 어느 것에 속하는지를 결정하는 단계(D5);
    - 상기 현재 블록이 상기 제1 구역(Z1)에 속하는 경우, 제1 디코딩 방식(MD1)을 사용하여 상기 현재 블록을 디코딩하는 단계(D6a));
    - 상기 현재 블록이 상기 제2 구역(Z2)에 속하는 경우, 제2 디코딩 방식을 사용하여 상기 현재 블록을 디코딩하는 단계(D6b))를 구현하고,
    상기 제2 디코딩 방식은,
    - 상기 제2 구역에서의 상기 현재 블록의 위치에 기초하여, 상기 영상의 상기 제1 구역에 위치된 이전에 디코딩된 블록을 식별하는 단계(D61b));
    - 상기 식별된 블록과 연관된 적어도 하나의 디코딩 파라미터(PRD1)를 상기 현재 블록에 할당하는 단계(D64b))를 포함하는 것을 특징으로 하는,
    코딩된 블록으로 분할된 영상(ICj)을 나타내는 데이터 신호(F)를 디코딩하기 위한 방법.
  9. 제8항에 있어서,
    상기 제2 디코딩 방식은 현재 영상의 상기 제2 구역의 모든 블록에 적용되는, 디코딩 방법.
  10. 제8항에 있어서,
    상기 현재 블록에 대해, 상기 제2 디코딩 방식의 선택에 대한 정보 아이템이 상기 데이터 신호(F')에서 판독(D100b))되는 경우, 상기 제2 디코딩 방식이 상기 제2 구역의 상기 현재 블록에 적용되며,
    상기 현재 블록에 대해, 상기 제1 디코딩 방식의 선택에 대한 정보 아이템이 상기 데이터 신호에서 판독되는 경우, 상기 제1 디코딩 방식이 상기 제2 구역의 상기 현재 블록에 적용되는, 디코딩 방법.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서,
    상기 영상의 상기 제1 및 제2 구역은 동일한 형상을 가지며, 상기 제1 구역은 상기 제2 구역의 위에 위치되고, 상기 영상의 중앙을 따라 연장되는 수평 경계에 의해 상기 제2 구역과 분리되는, 디코딩 방법.
  12. 코딩된 블록으로 분할된 영상(ICj)을 나타내는 데이터 신호(F)를 디코딩하기 위한 장치로서,
    상기 적어도 하나의 영상은 별개의 제1 및 제2 구역을 포함하며,
    상기 장치는, 상기 영상의 디코딩될 적어도 하나의 현재 블록에 대해,
    - 상기 현재 블록이 상기 제1 및 제2 구역 중 어느 것에 속하는지를 결정하는 단계;
    - 상기 현재 블록이 상기 제1 구역(Z1)에 속하는 경우, 제1 디코딩 방식(MD1)을 사용하여 상기 현재 블록을 디코딩하는 단계;
    - 상기 현재 블록이 상기 제2 구역(Z2)에 속하는 경우, 제2 디코딩 방식을 사용하여 상기 현재 블록을 디코딩하는 단계를 구현하도록 설계된 처리 회로(CT_D)를 포함하고,
    상기 제2 디코딩 방식은,
    - 상기 제2 구역에서의 상기 현재 블록의 위치에 기초하여, 상기 영상의 상기 제1 구역에 위치된 이전에 디코딩된 블록을 식별하는 단계;
    - 상기 식별된 블록과 연관된 적어도 하나의 디코딩 파라미터(PRD1)를 상기 현재 블록에 할당하는 단계를 포함하는 것을 특징으로 하는,
    코딩된 블록으로 분할된 영상(ICj)을 나타내는 데이터 신호(F)를 디코딩하기 위한 장치.
  13. 컴퓨터 프로그램으로서,
    상기 프로그램이 컴퓨터를 통해 실행될 때, 제8항 내지 제11항 중 어느 한 항에 따른 상기 디코딩 방법의 단계의 실행을 위한 프로그램 코드 명령을 포함하는,
    컴퓨터 프로그램.
  14. 컴퓨터 프로그램이 기록된 컴퓨터에 의해 판독 가능한 기록 매체로서,
    상기 컴퓨터 프로그램은, 상기 프로그램이 컴퓨터에 의해 실행될 때, 제8항 내지 제11항 중 어느 한 항에 따른 상기 디코딩 방법의 단계의 실행을 위한 프로그램 코드 명령을 포함하는,
    컴퓨터 프로그램이 기록된 컴퓨터에 의해 판독 가능한 기록 매체.
KR1020207002968A 2017-07-05 2018-06-28 영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램 KR20200022492A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1756317 2017-07-05
FR1756317A FR3068558A1 (fr) 2017-07-05 2017-07-05 Procede de codage et decodage d'images,dispositif de codage et decodage et programmes d'ordinateur correspondants
PCT/FR2018/051579 WO2019008253A1 (fr) 2017-07-05 2018-06-28 Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants

Publications (1)

Publication Number Publication Date
KR20200022492A true KR20200022492A (ko) 2020-03-03

Family

ID=59579774

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207002968A KR20200022492A (ko) 2017-07-05 2018-06-28 영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램

Country Status (7)

Country Link
US (1) US11284085B2 (ko)
EP (1) EP3649786A1 (ko)
JP (1) JP2020526119A (ko)
KR (1) KR20200022492A (ko)
CN (1) CN111034202B (ko)
FR (1) FR3068558A1 (ko)
WO (1) WO2019008253A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3834422A4 (en) * 2018-08-10 2021-09-15 Huawei Technologies Co., Ltd. CODIFICATION PROCESS, DEVICE AND SYSTEM WITH MERGING MODE

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02130094A (ja) * 1988-11-10 1990-05-18 Nippon Telegr & Teleph Corp <Ntt> ステレオ動画像の動きベクトル情報符号化方式
US6215898B1 (en) 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
WO2012007038A1 (en) 2010-07-15 2012-01-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Hybrid video coding supporting intermediate view synthesis
KR102318349B1 (ko) * 2011-11-11 2021-10-27 지이 비디오 컴프레션, 엘엘씨 깊이-맵 추정 및 업데이트를 사용한 효율적인 멀티-뷰 코딩
KR101682999B1 (ko) * 2012-04-16 2016-12-20 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9544612B2 (en) 2012-10-04 2017-01-10 Intel Corporation Prediction parameter inheritance for 3D video coding
US20140354771A1 (en) * 2013-05-29 2014-12-04 Ati Technologies Ulc Efficient motion estimation for 3d stereo video encoding
FR3012004A1 (fr) * 2013-10-15 2015-04-17 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
FR3014278A1 (fr) * 2013-11-29 2015-06-05 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
MX360926B (es) 2014-01-03 2018-11-22 Microsoft Technology Licensing Llc Prediccion de vector de bloque en codificacion/descodificacion de video e imagen.
CN104853211A (zh) * 2014-02-16 2015-08-19 上海天荷电子信息有限公司 使用多种形式的参考像素存储空间的图像压缩方法和装置
WO2015152503A1 (ko) 2014-03-31 2015-10-08 인텔렉추얼디스커버리 주식회사 영상 복호화 장치 및 그 방법
DE112015000184T5 (de) 2014-06-20 2016-07-07 Mediatek Inc. Verfahren der Codierung für eine tiefenbasierte Blockpartitionierungsart in dreidimensionaler oder Multiview-Videocodierung
GB2531001B (en) 2014-10-06 2019-06-05 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US20170310994A1 (en) 2014-10-08 2017-10-26 Lg Electronics Inc. 3d video coding method and device
US10638140B2 (en) 2015-05-29 2020-04-28 Qualcomm Incorporated Slice level intra block copy and other video coding improvements

Also Published As

Publication number Publication date
WO2019008253A1 (fr) 2019-01-10
FR3068558A1 (fr) 2019-01-04
CN111034202A (zh) 2020-04-17
EP3649786A1 (fr) 2020-05-13
CN111034202B (zh) 2023-08-22
US11284085B2 (en) 2022-03-22
JP2020526119A (ja) 2020-08-27
US20200128251A1 (en) 2020-04-23

Similar Documents

Publication Publication Date Title
CN112585966B (zh) 以基于历史的运动向量为基础的帧间预测方法及其装置
CN112789852B (zh) 基于历史的图像编码方法及其设备
EP3905674A1 (en) Image coding method and device for carrying out mrl-based intra prediction
KR20180069850A (ko) 공간 인트라 예측을 위한 헬퍼 데이터를 이용한 비디오 코딩
KR102318065B1 (ko) 비디오를 인코딩하기 위한 방법 및 장치
US11722666B2 (en) Method for encoding and decoding images according to distinct zones, encoding and decoding device, and corresponding computer programs
EP3975556A1 (en) Image decoding method for performing inter-prediction when prediction mode for current block ultimately cannot be selected, and device for same
CN114556931A (zh) 基于调色板模式的图像或视频编码
CN114556933A (zh) 基于调色板转义编码的图像或视频编码
CN109845259B (zh) 编码和解码图像参数的方法、编码和解码图像参数的设备
US11284085B2 (en) Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs
CN114424548A (zh) 基于调色板编码的图像或视频编码
CN110431844B (zh) 用于对图像进行编码和解码的方法、编码和解码设备以及相应的计算机记录介质
EP4367886A1 (en) Improvements on temporal motion vector prediction

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application