KR20220021471A - 화상 처리 장치 및 화상 처리 방법 - Google Patents

화상 처리 장치 및 화상 처리 방법 Download PDF

Info

Publication number
KR20220021471A
KR20220021471A KR1020217038773A KR20217038773A KR20220021471A KR 20220021471 A KR20220021471 A KR 20220021471A KR 1020217038773 A KR1020217038773 A KR 1020217038773A KR 20217038773 A KR20217038773 A KR 20217038773A KR 20220021471 A KR20220021471 A KR 20220021471A
Authority
KR
South Korea
Prior art keywords
weight matrix
unit
intra prediction
generation method
diagram showing
Prior art date
Application number
KR1020217038773A
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 KR20220021471A publication Critical patent/KR20220021471A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

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

Abstract

본 기술은, 처리를 단순화할 수 있도록 하는 화상 처리 장치 및 화상 처리 방법에 관한 것이다. 부호화/복호의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 행렬 인트라 예측이 행해지고, 커런트 예측 블록의 예측 화상이 생성된다. 그리고, 예측 화상을 사용하여, 커런트 예측 블록이 부호화/복호된다. 본 기술은, 예를 들어 화상의 부호화 및 복호를 행하는 경우에 적용할 수 있다.

Description

화상 처리 장치 및 화상 처리 방법
본 기술은 화상 처리 장치 및 화상 처리 방법에 관한 것으로, 특히 예를 들어, 처리를 단순화할 수 있도록 하는 화상 처리 장치 및 화상 처리 방법에 관한 것이다.
ITU-T와 ISO/IEC의 공동의 표준화 단체인 JVET(Joint Video Experts Team)에서는, H.265/HEVC보다도 부호화 효율을 더욱 향상시키는 것을 목적으로 하여, 차세대의 화상 부호화 방식인 VVC(Versatile Video Coding)의 표준화 작업이 진행되고 있다.
VVC의 표준화 작업에서는, 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측(MIP(Matrix-based intra prediction))을 행하는 것이 제안되어 있다(예를 들어, 비특허문헌 1 및 2를 참조).
MIP에서는, 파라미터 학습으로 구해진 행렬(웨이트 매트릭스) 및 바이어스(바이어스 벡터)의 파라미터가 규정되어 있고, 그 행렬 및 바이어스(의 파라미터)를 사용한 연산이 행해진다.
JVET-N0217-v3: CE3: Affine linear weighted intra prediction(CE3-4.1, CE3-4.2)(version 7 - date 2019-01-17) JVET-00084-vl: 8-bit implementation and simplification of MIP(version 1 - date 2019-06-18)
MIP의 연산(MIP에서 행해지는 연산)에서는, 소정의 시프트량만의 시프트가 행해진다. 시프트량은 비트 정밀도를 높게 하기 위해서, 행렬의 매트릭스 사이즈를 나타내는 MipSizeId 및 MIP의 모드 번호에 따라서 변경된다.
이상과 같이, MIP의 연산에서는, MipSizeId 및 MIP의 모드 번호에 따라서, 시프트량이 변경되기 때문에, MipSizeId 및 MIP의 모드 번호의 조합마다, 시프트량을 설정하지 않으면 안되어, 처리가 복잡해진다.
본 기술은 이러한 상황을 감안하여 이루어진 것이며, 처리를 단순화할 수 있도록 하는 것이다.
본 기술의 제1 화상 처리 장치는, 부호화의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 상기 행렬 인트라 예측을 행하고, 상기 커런트 예측 블록의 예측 화상을 생성하는 인트라 예측부와, 상기 인트라 예측부에 의해 생성된 상기 예측 화상을 사용하여, 상기 커런트 예측 블록을 부호화하는 부호화부를 구비하는 화상 처리 장치이다.
본 기술의 제1 화상 처리 방법은, 부호화의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 상기 행렬 인트라 예측을 행하고, 상기 커런트 예측 블록의 예측 화상을 생성하는 인트라 예측 공정과, 상기 인트라 예측 공정에 있어서 생성된 상기 예측 화상을 사용하여, 상기 커런트 예측 블록을 부호화하는 부호화 공정을 포함하는 화상 처리 방법이다.
본 기술의 제1 화상 처리 장치 및 화상 처리 방법에 있어서는, 부호화의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 상기 행렬 인트라 예측이 행해지고, 상기 커런트 예측 블록의 예측 화상이 생성된다. 그리고, 상기 예측 화상을 사용하여, 상기 커런트 예측 블록이 부호화된다.
본 기술의 제2 화상 처리 장치는, 복호의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 상기 행렬 인트라 예측을 행하고, 상기 커런트 예측 블록의 예측 화상을 생성하는 인트라 예측부와, 상기 인트라 예측부에 의해 생성된 상기 예측 화상을 사용하여, 상기 커런트 예측 블록을 복호하는 복호부를 구비하는 화상 처리 장치이다.
본 기술의 제2 화상 처리 방법은, 복호의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 상기 행렬 인트라 예측을 행하고, 상기 커런트 예측 블록의 예측 화상을 생성하는 인트라 예측 공정과, 상기 인트라 예측 공정에 있어서 생성된 상기 예측 화상을 사용하여, 상기 커런트 예측 블록을 복호하는 복호 공정을 포함하는 화상 처리 방법이다.
본 기술의 제2 화상 처리 장치 및 화상 처리 방법에 있어서는, 복호의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 상기 행렬 인트라 예측이 행해지고, 상기 커런트 예측 블록의 예측 화상이 생성된다. 그리고, 상기 예측 화상을 사용하여, 상기 커런트 예측 블록이 복호된다.
또한, 화상 처리 장치는 독립된 장치여도 되고, 하나의 장치를 구성하고 있는 내부 블록이어도 된다.
또한, 화상 처리 장치는 컴퓨터에 프로그램을 실행시킴으로써 실현할 수 있다. 프로그램은 기록 매체에 기록하거나, 또는 전송 매체를 통해 전송함으로써, 제공할 수 있다.
도 1은 MIP의 예측 화상의 제1 생성 방법을 설명하는 도면이다.
도 2는 MIP의 예측 화상의 제2 생성 방법을 설명하는 도면이다.
도 3은 (M, m)=(1, 3)의 웨이트 매트릭스 mWeight[i][j]의 예를 나타내는 도면이다.
도 4는 (M, m)=(1, 8)의 웨이트 매트릭스 mWeight[i][j]의 예를 나타내는 도면이다.
도 5는 MipSizeId=1의 바이어스 벡터 vBias[j]의 예를 나타내는 도면이다.
도 6은 MIP의 예측 화상의 제3 생성 방법을 설명하는 도면이다.
도 7은 MIP의 예측 화상의 제4 생성 방법을 설명하는 도면이다.
도 8은 문헌 A에 기재되어 있는 시프트량 sW를 나타내는 도면이다.
도 9는 문헌 A에 기재되어 있는 (M, m)=(0, 0)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 10은 문헌 A에 기재되어 있는 (M, m)=(0, 1)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 11은 문헌 A에 기재되어 있는 (M, m)=(0, 2)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 12는 문헌 A에 기재되어 있는 (M, m)=(0, 3)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 13은 문헌 A에 기재되어 있는 (M, m)=(0, 4)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 14는 문헌 A에 기재되어 있는 (M, m)=(0, 5)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 15는 문헌 A에 기재되어 있는 (M, m)=(0, 6)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 16은 문헌 A에 기재되어 있는 (M, m)=(0, 7)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 17은 문헌 A에 기재되어 있는 (M, m)=(0, 8)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 18은 문헌 A에 기재되어 있는 (M, m)=(0, 9)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 19는 문헌 A에 기재되어 있는 (M, m)=(0, 10)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 20은 문헌 A에 기재되어 있는 (M, m)=(0, 11)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 21은 문헌 A에 기재되어 있는 (M, m)=(0, 12)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 22는 문헌 A에 기재되어 있는 (M, m)=(0, 13)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 23은 문헌 A에 기재되어 있는 (M, m)=(0, 14)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 24는 문헌 A에 기재되어 있는 (M, m)=(0, 15)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 25는 문헌 A에 기재되어 있는 (M, m)=(0, 16)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 26은 문헌 A에 기재되어 있는 (M, m)=(0, 17)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 27은 문헌 A에 기재되어 있는 MipSizeId=0의 표준 변수 fO를 나타내는 도면이다.
도 28은 문헌 A에 기재되어 있는 (M, m)=(1, 0)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 29는 문헌 A에 기재되어 있는 (M, m)=(1, 1)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 30은 문헌 A에 기재되어 있는 (M, m)=(1, 2)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 31은 문헌 A에 기재되어 있는 (M, m)=(1, 3)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 32는 문헌 A에 기재되어 있는 (M, m)=(1, 4)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 33은 문헌 A에 기재되어 있는 (M, m)=(1, 5)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 34는 문헌 A에 기재되어 있는 (M, m)=(1, 6)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 35는 문헌 A에 기재되어 있는 (M, m)=(1, 7)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 36은 문헌 A에 기재되어 있는 (M, m)=(1, 8)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 37은 문헌 A에 기재되어 있는 (M, m)=(1, 9)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 38은 문헌 A에 기재되어 있는 MipSizeId=1의 표준 변수 fO를 나타내는 도면이다.
도 39는 문헌 A에 기재되어 있는 (M, m)=(2, 0)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 40은 문헌 A에 기재되어 있는 (M, m)=(2, 1)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 41은 문헌 A에 기재되어 있는 (M, m)=(2, 2)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 42는 문헌 A에 기재되어 있는 (M, m)=(2, 3)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 43은 문헌 A에 기재되어 있는 (M, m)=(2, 4)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 44는 문헌 A에 기재되어 있는 (M, m)=(2, 5)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 45는 문헌 A에 기재되어 있는 MipSizeId=2의 표준 변수 fO를 나타내는 도면이다.
도 46은 제3 생성 방법에서 사용되는 시프트량 sW를 나타내는 도면이다.
도 47은 제3 생성 방법에서 사용되는 (M, m)=(0, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 48은 제3 생성 방법에서 사용되는 (M, m)=(0, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 49는 제3 생성 방법에서 사용되는 (M, m)=(0, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 50은 제3 생성 방법에서 사용되는 (M, m)=(0, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 51은 제3 생성 방법에서 사용되는 (M, m)=(0, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 52는 제3 생성 방법에서 사용되는 (M, m)=(0, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 53은 제3 생성 방법에서 사용되는 (M, m)=(0, 6)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 54는 제3 생성 방법에서 사용되는 (M, m)=(0, 7)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 55는 제3 생성 방법에서 사용되는 (M, m)=(0, 8)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 56은 제3 생성 방법에서 사용되는 (M, m)=(0, 9)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 57은 제3 생성 방법에서 사용되는 (M, m)=(0, 10)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 58은 제3 생성 방법에서 사용되는 (M, m)=(0, 11)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 59는 제3 생성 방법에서 사용되는 (M, m)=(0, 12)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 60은 제3 생성 방법에서 사용되는 (M, m)=(0, 13)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 61은 제3 생성 방법에서 사용되는 (M, m)=(0, 14)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 62는 제3 생성 방법에서 사용되는 (M, m)=(0, 15)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 63은 제3 생성 방법에서 사용되는 (M, m)=(0, 16)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 64는 제3 생성 방법에서 사용되는 (M, m)=(0, 17)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 65는 제3 생성 방법에서 사용되는 MipSizeId=0의 고정 변수 fO를 나타내는 도면이다.
도 66은 제3 생성 방법에서 사용되는 (M, m)=(1, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 67은 제3 생성 방법에서 사용되는 (M, m)=(1, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 68은 제3 생성 방법에서 사용되는 (M, m)=(1, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 69는 제3 생성 방법에서 사용되는 (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 70은 제3 생성 방법에서 사용되는 (M, m)=(1, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 71은 제3 생성 방법에서 사용되는 (M, m)=(1, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 72는 제3 생성 방법에서 사용되는 (M, m)=(1, 6)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 73은 제3 생성 방법에서 사용되는 (M, m)=(1, 7)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 74는 제3 생성 방법에서 사용되는 (M, m)=(1, 8)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 75는 제3 생성 방법에서 사용되는 (M, m)=(1, 9)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 76은 제3 생성 방법에서 사용되는 MipSizeId=1의 고정 변수 fO를 나타내는 도면이다.
도 77은 제3 생성 방법에서 사용되는 (M, m)=(2, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 78은 제3 생성 방법에서 사용되는 (M, m)=(2, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 79는 제3 생성 방법에서 사용되는 (M, m)=(2, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 80은 제3 생성 방법에서 사용되는 (M, m)=(2, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 81은 제3 생성 방법에서 사용되는 (M, m)=(2, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 82는 제3 생성 방법에서 사용되는 (M, m)=(2, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 83은 제3 생성 방법에서 사용되는 MipSizeId=2의 고정 변수 fO를 나타내는 도면이다.
도 84는 제4 생성 방법에서 사용되는 시프트량 sW를 나타내는 도면이다.
도 85는 제4 생성 방법에서 사용되는 (M, m)=(0, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 86은 제4 생성 방법에서 사용되는 (M, m)=(0, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 87은 제4 생성 방법에서 사용되는 (M, m)=(0, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 88은 제4 생성 방법에서 사용되는 (M, m)=(0, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 89는 제4 생성 방법에서 사용되는 (M, m)=(0, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 90은 제4 생성 방법에서 사용되는 (M, m)=(0, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 91은 제4 생성 방법에서 사용되는 (M, m)=(0, 6)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 92는 제4 생성 방법에서 사용되는 (M, m)=(0, 7)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 93은 제4 생성 방법에서 사용되는 (M, m)=(0, 8)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 94는 제4 생성 방법에서 사용되는 (M, m)=(0, 9)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 95는 제4 생성 방법에서 사용되는 (M, m)=(0, 10)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 96은 제4 생성 방법에서 사용되는 (M, m)=(0, 11)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 97은 제4 생성 방법에서 사용되는 (M, m)=(0, 12)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 98은 제4 생성 방법에서 사용되는 (M, m)=(0, 13)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 99는 제4 생성 방법에서 사용되는 (M, m)=(0, 14)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 100은 제4 생성 방법에서 사용되는 (M, m)=(0, 15)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 101은 제4 생성 방법에서 사용되는 (M, m)=(0, 16)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 102는 제4 생성 방법에서 사용되는 (M, m)=(0, 17)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 103은 제4 생성 방법에서 사용되는 MipSizeId=0의 고정 변수 fO를 나타내는 도면이다.
도 104는 제4 생성 방법에서 사용되는 (M, m)=(1, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 105는 제4 생성 방법에서 사용되는 (M, m)=(1, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 106은 제4 생성 방법에서 사용되는 (M, m)=(1, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 107은 제4 생성 방법에서 사용되는 (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 108은 제4 생성 방법에서 사용되는 (M, m)=(1, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 109는 제4 생성 방법에서 사용되는 (M, m)=(1, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 110은 제4 생성 방법에서 사용되는 (M, m)=(1, 6)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 111은 제4 생성 방법에서 사용되는 (M, m)=(1, 7)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 112는 제4 생성 방법에서 사용되는 (M, m)=(1, 8)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 113은 제4 생성 방법에서 사용되는 (M, m)=(1, 9)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 114는 제4 생성 방법에서 사용되는 MipSizeId=1의 고정 변수 fO를 나타내는 도면이다.
도 115는 제4 생성 방법에서 사용되는 (M, m)=(2, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 116은 제4 생성 방법에서 사용되는 (M, m)=(2, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 117은 제4 생성 방법에서 사용되는 (M, m)=(2, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 118은 제4 생성 방법에서 사용되는 (M, m)=(2, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 119는 제4 생성 방법에서 사용되는 (M, m)=(2, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 120은 제4 생성 방법에서 사용되는 (M, m)=(2, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 121은 제4 생성 방법에서 사용되는 MipSizeId=2의 고정 변수 fO를 나타내는 도면이다.
도 122는 본 기술을 적용한 화상 처리 시스템의 일 실시 형태의 구성예를 나타내는 블록도이다.
도 123은 인코더(11)의 구성예를 나타내는 블록도이다.
도 124는 인코더(11)의 부호화 처리의 예를 설명하는 흐름도이다.
도 125는 디코더(51)의 상세한 구성예를 나타내는 블록도이다.
도 126은 디코더(51)의 복호 처리의 예를 설명하는 흐름도이다.
도 127은 본 기술을 적용한 컴퓨터의 일 실시 형태의 구성예를 나타내는 블록도이다.
<참조 문헌 >
본 명세서에서 개시되는 범위는, 실시 형태의 내용에 한정되는 것은 아니며, 출원 당시에 있어서 공지되어 있는 이하의 참조 문헌 REF1-REF7의 내용도, 참조에 의해 본 명세서에 도입된다. 즉, 이하의 참조 문헌 REF1-REF7에 기재되어 있는 내용도 서포트 요건에 대하여 판단할 때의 근거가 된다. 예를 들어, Quad-Tree Block Structure, QTBT(Quad Tree Plus Binary Tree) Block Structure, MTT(Multi-type Tree) Block Structure가 발명의 상세한 설명에 있어서 직접적으로 정의되어 있지 않은 경우에도, 본 개시의 범위 내이며, 청구범위의 서포트 요건을 충족시키는 것으로 한다. 또한, 예를 들어 파싱(Parsing), 신택스(Syntax), 시맨틱스(Semantics) 등의 기술 용어에 대해서도 마찬가지로, 발명의 상세한 설명에 있어서 직접적으로 정의되어 있지 않은 경우에도, 본 개시의 범위 내이며, 청구범위의 서포트 요건을 충족시키는 것으로 한다.
REF1: Recommendation ITU-T H.264(04/2017) “Advanced video coding for generic audiovisual services", April 2017
REF2: Recommendation ITU-T H.265(02/2018) “High efficiency video coding", February 2018
REF3: Benjamin Bross, Jianle Chen, Shan Liu, Versatile Video Coding(Draft 5), JVET-N1001-v7(version 7 - date 2019-05-29)
REF4: Jianle Chen, Yan Ye, Seung Hwan Kim, Algorithm description for Versatile Video Coding and Test Model 5(VTM 5), JVET- N1002-v1
REF5: JVET-N0217-v3: CE3: Affine linear weighted intra prediction(CE3-4.1, CE3-4.2)(version 7 - date 2019-01-17)
REF6: JVET-M0043-v2: CE3: Affine linear weighted intra prediction(test 1.2.1, test 1.2.2)(version 2 - date 2019-01-09)
REF7: JVET-O0084-vl: 8-bit implementation and simplification of MIP(version 1 - date 2019-06-18)
<정의>
인접한다는 것은, 화소에 대하여 말하면, 주목하는 커런트 화소에 대하여 1 화소분(1 라인분) 인접하는 경우뿐만 아니라, 복수 화소분(복수 라인분) 인접하는 경우를 포함한다. 따라서, 인접하는 화소란, 커런트 화소에 직접 인접하는 1 화소분의 위치의 화소 외에도, 커런트 화소에 연속적으로 인접하는 복수 화소분의 위치의 화소를 포함한다. 또한, 인접하는 블록이란, 주목하는 커런트 블록에 직접 인접하는 1 블록분의 범위의 블록 외에도, 커런트 블록에 연속적으로 인접하는 복수 블록분의 범위의 블록을 포함한다. 또한, 인접하는 블록이란, 커런트 블록의 근방에 위치하는 블록도 필요에 따라서 포함할 수 있다.
예측 블록이란, 인트라 예측을 행할 때의 처리 단위가 되는 블록(PU(Prediction Unit))을 의미하고, 예측 블록 내의 서브 블록도 포함한다. 예측 블록, 직교 변환을 행할 때의 처리 단위가 되는 직교 변환 블록(TU(Transform Unit)), 부호화를 행할 때의 처리 단위가 되는 부호화 블록(CU(Coding Unit))이 동일한 블록으로 통일화되어 있는 경우, 예측 블록, 직교 변환 블록 및 부호화 블록은 동일한 블록을 의미한다.
인트라 예측 모드란, 인트라 예측을 행할 때의 모드 번호, 모드 번호의 인덱스, 예측 블록의 블록 사이즈, 예측 블록 내의 처리 단위가 되는 서브 블록의 사이즈 등의, 인트라 예측 모드를 도출할 때에 참조하는 변수(파라미터)를 포괄하여 의미한다.
행렬 인트라 예측 모드(MIP 모드)란, MIP의 모드 번호, 모드 번호의 인덱스, MIP의 연산을 행할 때에 사용하는 행렬의 종류, MIP의 연산을 행할 때에 사용하는 행렬의 매트릭스 사이즈의 종류 등의, 행렬 인트라 예측 모드를 도출할 때에 참조하는 변수(파라미터)를 포괄하여 의미한다.
변경한다는 것은, 참조 문헌 REF3 또는 REF7에 기재된 내용(값, 연산식, 변수 등)을 기준으로 하여 변경하는 것을 의미한다. 변경한다는 것은, 그 밖에도, 출원 당시에 있어서 공지되어 있는 문헌, 예를 들어 "JVET DOCUMENT MANAGEMENT SYSTEM"의 web 사이트(http://phenix.int-evry.fr/jvet/)에 공개되어 있는 문서 "JVET-N1001-v7_proposal_text_MIP_8Bit.docx"(이하, 문헌 A라고도 함)에 기재된 내용을 기준으로 변경하는 것을 포함할 수 있다.
예를 들어, 참조 문헌 REF3에서는, MIP의 연산에 사용되는 시프트량 sW로서, 8과 9가 혼재하고 있지만, 이 혼재하고 있는 시프트량 sW 중 9를 8로 변경하는 것, 웨이트 매트릭스 mWeight를 포함하는 MIP의 연산(행렬 연산)을 변경하는 것, 바이어스 벡터 vBias를 포함하는 MIP의 연산을 변경하는 것 등이, 변경하는 것에 포함된다.
또한, 예를 들어 문헌 A(참조 문헌 REF7)에서는, 시프트량 sW로서, 6과 7과 8이 혼재하고 있지만, 이 혼재하고 있는 시프트량 sW 중 7을 6으로 변경하는 것, 8을 7로 변경하는 것, 웨이트 매트릭스 mWeight를 포함하는 MIP의 연산을 변경하는 것, 바이어스 벡터 vBias에 상당하는 변수 oW를 포함하는 MIP의 연산을 변경하는 것 등이, 변경하는 것에 포함된다. MIP의 연산의 변경에는, MIP의 연산에 사용되는 웨이트 매트릭스 mWeight, 바이어스 벡터 vBias, 변수 oW를 구하는 데 사용되는 변수 fO를 변경하는 것 등이 포함된다.
본 기술에서는, 복수의 패턴을 식별하는 식별 데이터를, 화상을 부호화하여 얻어지는 비트 스트림의 신택스로서 설정할 수 있다. 비트 스트림에는, 각종 패턴을 식별하는 식별 데이터를 포함할 수 있다.
식별 데이터로서는, 예를 들어 시프트량 sW에 관한 정보, 예를 들어 시프트량 sW가 고정값인지(고정값으로 설정되어 있는지) 여부 등을 나타내는 데이터를 채용할 수 있다.
비트 스트림에 식별 데이터를 포함하는 경우, 그 비트 스트림을 복호하는 디코더에서는, 식별 데이터를 파싱하여 참조함으로써, 보다 효율적으로 처리를 행하는 것이 가능해진다.
도 1은, MIP의 예측 화상의 제1 생성 방법을 설명하는 도면이다.
제1 생성 방법은, 참조 문헌 REF3(JVET-N1001-v7)에서 제안되어 있는 MIP의 예측 화상의 생성 방법이다.
제1 생성 방법에서는, 참조 문헌 REF3에 식 (8-69)로서 기재되어 있는 식 (1)에 따라서, 부호화/복호의 대상의 예측 블록인 커런트 예측 블록의 예측 화상의 (일부의) 화소(의 화소값) predMip[x][y]가 생성된다.
predMip[x][y]=((ΣmWeight[i][y*incH*predC+x*incW]*p[i])+(vBias[y*incH*predC+x*incW]<<sB)+oW)>>sW
· · · (1)
predMip[x][y]는, 예측 화상의 가로의 위치가 x이고 세로의 위치가 y인 화소(의 화소값)를 나타낸다. 예측 화상의 화소를 예측 화소라고도 한다.
식 (1)에 있어서, 서메이션 Σ는 변수 i를 0으로부터 2*boundarySize-1까지의 정수로 바꾸면서 취하는 서메이션을 나타낸다. boundarySize는 커런트 예측 블록의 블록 사이즈에 따라서 설정된다. 구체적으로는, boundarySize는 MIP에서, 커런트 예측 블록의 화소와의 연산(행렬 연산)에 사용되는 행렬(웨이트 매트릭스 mWeight[i][j])의 매트릭스 사이즈의 식별자인 MipSizeId에 따라서, 참조 문헌 REF3의 표 8-7을 따라서 설정된다. MipSizeId는, 매트릭스 사이즈가 4x4, 8x8 및 16x16인 경우, 0, 1 및 2로 각각 설정된다.
mWeight[i][j]는 MIP에서 사용되는 행렬의 제j행 제i열의 컴포넌트를 나타내고, 웨이트 매트릭스라고 불린다. 웨이트 매트릭스 mWeight[i][j]는 MipSizeId 및 modeId에 따라서 설정된다.
웨이트 매트릭스 mWeight[i][j]의 인수 i 및 j가 취하는 값의 수는, 참조 문헌 REF5에 있어서의 averaging으로 얻어지는 화소수, 및 예측 화상의 화소 predMip[x][y]의 수와, 각각 동등하다.
또한, 웨이트 매트릭스 mWeight[i][j]를 사용하여 행해지는 곱합(積合) 연산 ΣmWeight[i][y*incH*predC+x*incW]*p[i]가 MIP에 있어서, 커런트 예측 블록(의 화소)에 대하여 행해지는 행렬 연산이다. 즉, 곱합 연산 ΣmWeight[i][y*incH*predC+x*incW]*p[i]는, 웨이트 매트릭스 mWeight[i][j]를 컴포넌트로 하는 행렬과, 커런트 예측 블록의 화소 p[i]를 컴포넌트로 하는 벡터의 곱을 구하는 행렬 연산이다.
modeId는 인트라 예측 모드 predModeIntra에 따라서, 참조 문헌 REF3의 식 (8-64)를 따라서, 0 내지 17 중 어느 값으로 설정된다.
incH 및 incW는 PredC에 따라서, 참조 문헌 REF3의 식 (8-67) 및 식 (8-68)을 따라서 각각 설정된다.
PredC는 MipSizeId에 따라서, 참조 문헌 REF3의 표 8-7을 따라서 설정된다.
p[i]는, 커런트 예측 블록의 예측 화상을 생성할 때에 참조하는 참조 화상의 화소를 사용한 averaging으로 얻어지는 i번째의 화소(의 화소값)를 나타낸다.
vBias[j]는 예측 화상의 화소 predMip[x][y]에 첨가하는 바이어스이며, 바이어스 벡터라고 불린다. 바이어스 벡터 vBias[j]는 sizeId 및 modeId에 따라서 설정된다. 바이어스 벡터 vBias[j]의 인수 j가 취하는 값의 수는, 웨이트 매트릭스 mWeight[i][j]의 인수 j가 취하는 값의 수, 즉 예측 화상의 화소 predMip[x][y]의 수와 다름없다.
sizeId는, 참조 문헌 REF3의 표 8-2에 있어서 0, 1, 또는 2를 취하는 것이 기재되어 있다.
sB는, 화소값을 나타내는 비트수 bitdpthY에 따라서, 참조 문헌 REF3의 식 (8-66)을 따라서 설정된다.
oW는 sW(Weight shift)에 따라서, 참조 문헌 REF3의 식 (8-65)를 따라서 설정된다.
sW는 MipSizeId 및 modeId에 따라서, 참조 문헌 REF3의 표 8-8을 따라서 설정된다.
또한, A<<B 및 A>>B는, A를 B 비트만큼 좌 시프트 및 우 시프트하는 것을 각각 나타낸다.
제1 생성 방법에 있어서, sW는 ((ΣmWeight[i][y*incH*predC+x*incW]*p[i])+(vBias[y*incH*predC+x*incW]<<sB)+oW )를 시프트하는 시프트량이다.
참조 문헌 REF3의 표 8-8에 의하면, 시프트량 sW는 도 1에 나타내는 바와 같이, MipSizeId 및 modeId에 따라서 8 및 9 중 어느 하나로 설정된다.
따라서, 제1 생성 방법에서는, MipSizeId 및 modeId의 조합마다, 시프트량 sW를 재설정할 필요가 있어, MIP의 예측 화상을 생성하는 처리가 복잡해진다.
예를 들어, 제1 생성 방법을 하드웨어로 실장하는 경우에는, 시프트량 sW를 전환하는 셀렉터가 필요해져, 회로 규모가 증가한다. 또한, 제1 생성 방법을 소프트웨어로 실장하는 경우에는, 참조 문헌 REF3의 표 8-8로서 규정되는 테이블을 참조할 필요가 있어, 그만큼 처리 속도가 저하된다.
그래서, 본 기술에서는, 고정값으로 설정된 시프트량을 사용하여, MIP가 행해진다. 즉, 예를 들어 고정값으로 설정된 시프트량 sW에 따라서, 식 (1)의 연산이 변경되고, 그 변경된 연산에 따라서 MIP의 예측 화상이 생성된다.
도 2는, MIP의 예측 화상의 제2 생성 방법을 설명하는 도면이다.
제2 생성 방법에서는, 참조 문헌 REF3(JVET-N1001-v7)에서 제안되어 있는 MIP의 예측 화상을 생성하는 식 (1)의 시프트량 sW가, 고정값인, 예를 들어 8로 설정된다. 그리고, 제2 생성 방법에서는, 고정값인 8로 설정된 시프트량 sW=8에 따라서, 식 (1)의 연산이 변경되고, 그 변경된 연산에 따라서 MIP의 예측 화상이 생성된다.
구체적으로는, 제2 생성 방법에서는, 웨이트 매트릭스 mWeight[i][j] 및/또는 바이어스 벡터 vBias[j]가, 고정값으로 설정된 시프트량 sW=8에 따라서 변경되고, 그 변경된 웨이트 매트릭스 mWeight[i][j] 및/또는 바이어스 벡터 vBias[j]를 포함하는 연산에 따라서, MIP의 예측 화상이 생성된다.
여기서, MipSizeId 및 modeId의 조합을, (M, m)으로 나타내는 것으로 한다. M은 MipSizeId를 나타내고, m은 modeId를 나타낸다.
또한, 시프트량 sW를 고정값으로 설정하기 전에 얻어지는 예측 화소 predMip[x][y], 도 2에서는, 참조 문헌 REF3을 따라서 얻어지는 (MIP의 예측 화상의) 예측 화소 predMip[x][y], 즉 (M, m)=(1, 3) 및 (M, m)=(1, 8)의 시프트량 sW가 8일 경우에 얻어지는 예측 화소 predMip[x][y]를, 표준 예측 화소 predMip[x][y]라고도 하는 것으로 한다.
참조 문헌 REF3의 표 8-8에서는, (M, m)=(1, 3) 및 (M, m)=(1, 8)인 경우에, 시프트량 sW가 9로 되어 있으며, MipSizeId 및 modeId의 다른 조합에서는, 시프트량 sW는 8로 되어 있다. 따라서, 참조 문헌 REF3의 표 8-8에 있어서, (M, m)=(1, 3) 및 (M, m)=(1, 8)의 시프트량 sW를, 9로부터 8로 변경함으로써, MipSizeId 및 modeId의 각 조합에 대하여 시프트량 sW를 8로 고정할 수 있다.
제2 생성 방법에서는, (M, m)=(1, 3) 및 (M, m)=(1, 8)의 시프트량 sW가, 9로부터 8로 변경되고, MipSizeId 및 modeId의 각 조합에 대하여 시프트량 sW가 8로 고정된다. 그리고, 시프트량 sW를 고정값으로 설정한 후에 얻어지는 예측 화소(이하, 고정 예측 화소라고도 함), 여기에서는 (M, m)=(1, 3) 및 (M, m)=(1, 8)의 시프트량 sW가 8로 변경된 경우에 식 (1)을 따라서 얻어지는 예측 화소 predMip[x][y]가, 표준 예측 화소 predMip[x][y]에 근사하는 값이 되도록, (M, m)=(1, 3) 및 (M, m)=(1, 8)의 웨이트 매트릭스 mWeight[i][j] 및 바이어스 벡터 vBias[j]가, 시프트량 sW=8에 따라서 변경된다.
제2 생성 방법에서는, 이상과 같이 고정값으로 설정된 시프트량 sW=8에 따라서 변경된 웨이트 매트릭스 mWeight[i][j] 및 바이어스 벡터 vBias[j]를 포함하는 식 (1)의 연산에 따라서, MIP의 예측 화상이 생성된다.
따라서, 제2 생성 방법에서는, modeId, 나아가 MipSizeId 및 modeId의 조합에 구애받지 않고, 시프트량 sW가 고정되므로, MIP의 처리를 단순화할 수 있다. 그 결과, 참조 문헌 REF3의 표 8-8로서 규정되는 테이블을 규격으로 규정할 필요가 없어져, 규격을 심플하게 할 수 있다.
또한, 예를 들어 제2 생성 방법을 하드웨어로 실장하는 경우에는, 시프트량 sW를 전환하는 셀렉터가 불필요해져, 회로 규모를 증가를 억제할 수 있다. 또한, 제2 생성 방법을 소프트웨어로 실장하는 경우에는, 참조 문헌 REF3의 표 8-8로서 규정되는 테이블을 참조할 필요가 없어, 테이블을 참조하는 경우에 비교하여 처리 속도의 저하를 억제할 수 있다.
도 3은, (M, m)=(1, 3)의 웨이트 매트릭스 mWeight[i][j]의 예를 나타내는 도면이다.
여기서, 시프트량 sW를 고정값으로 설정하기 전의 웨이트 매트릭스 mWeight[i][j], 예를 들어 참조 문헌 REF3에 규정되어 있는, (M, m)=(1, 3)의 시프트량 sW가 9일 경우의 (M, m)=(1, 3)의 웨이트 매트릭스 mWeight[i][j]를, (M, m)=(1, 3)의 표준 웨이트 매트릭스 mWeight[i][j]라고도 하는 것으로 한다. 또한, 시프트량 sW를 고정값으로 설정한 후의 웨이트 매트릭스 mWeight[i][j], 예를 들어 (M, m)=(1, 3)의 시프트량 sW를 8로 변경한 경우에 식 (1)에서 사용되는, (M, m)=(1, 3)의 표준 웨이트 매트릭스 mWeight[i][j]를 변경한 웨이트 매트릭스 mWeight[i][j]를, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]라고도 하는 것으로 한다.
도 3의 A는, (M, m)=(1, 3)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이며, 도 3의 B는, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]의 예를 나타내는 도면이다.
도 3에 있어서, 좌측으로부터 i+1번째이고, 상측으로부터 j+1번째의 값이, 웨이트 매트릭스 mWeight[i][j]를 나타낸다.
도 3에서는, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j](도 3의 B)는, (M, m)=(1, 3)의 표준 웨이트 매트릭스 mWeight[i][j](도 3의 A)의 거의 1/2배로 변경되어 있다. 참조 문헌 REF3의 식 (8-69)에 있어서 우측 방향으로 행해지는 시프트량 sW가, 9로부터 8로 변경(고정)되었기 때문이다.
또한, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]는, 도 3에 나타낸 값에 한정되는 것은 아니다.
(M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]에 대하여는, 고정값으로서 설정된 시프트량 sW를 사용하여, 연산을 행하고, 기술적 효과를 상응하게 발휘하는 범위 내이면 적절히 변경 가능하다. 또한, 기술적 효과를 발휘하는 범위로서, 설정하는 근사 레벨에 의해서도 변화되기 때문에, 그들의 범위 내이면 적절히 변경 가능하다. 예를 들어 ±1의 범위 내에서 변경할 수도 있고, ±3의 범위 내에서 변경하는 것도 가능하다. 또한, 모든 값을 일률적으로 변경할 뿐만 아니라, 일부의 값만을 변경하는 것도 가능하다. 또한, 기존의 값에 대하여 변경하는 값의 범위를 개별로 하는 것도 가능하다.
즉, 예를 들어 (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]는, 고정값으로 설정된 시프트량 sW를 사용하여, 식 (1)의 연산을 행하였을 때, 예측 화상에 대하여 소정의 예측 정밀도 이상을 확보하는 등의 기술적 효과를 상응하게 발휘하는 범위 내에 있어서 적절히 변경할 수 있다.
또한, 기술적 효과를 발휘하는 범위(정도)는, 고정 예측 화소 predMip[x][y]를 표준 예측 화소 predMip[x][y]에 근사시키는 정도(이하, 근사 레벨이라고도 함)를, 어느 정도로 설정할지에 따라서 변화한다. (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]는, 설정된 근사 레벨을 유지할 수 있는 범위 내에 있어서 적절히 변경할 수 있다.
예를 들어, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]는, 도 3의 B에 나타낸 값을 기준으로 하여, ±1의 범위 내에서 변경하는 것이나, ±3의 범위 내에서 변경할 수 있다.
(M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]의 변경은, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]의 모두를 대상으로 행할 뿐만 아니라, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]의 일부만을 대상으로 행할 수 있다.
또한, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 변경하는 값의 범위로서는, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]의 모두에 대하여 일률적인 범위를 채용할 수도 있고, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j] 마다 개별의 범위를 채용할 수도 있다.
예를 들어, (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 변경하는 값의 범위는, 대응하는 표준 웨이트 매트릭스 mWeight[i][j]의 값마다 개별로 설정할 수 있다.
이상의 점, (M, m)=(1, 3) 이외의 고정 웨이트 매트릭스 mWeight[i][j], 고정값으로 설정된 시프트량 sW에 따라서 변경되는 바이어스 벡터 vBias[j], 및 고정값으로 설정된 시프트량 sW에 따라서 변경되는 후술하는 변수 fO에 대해서도 마찬가지이다.
도 4는, (M, m)=(1, 8)의 웨이트 매트릭스 mWeight[i][j]의 예를 나타내는 도면이다.
도 4의 A는, (M, m)=(1, 8)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이며, 도 4의 B는, (M, m)=(1, 8)의 고정 웨이트 매트릭스 mWeight[i][j]의 예를 나타내는 도면이다.
도 4에 있어서는, 도 3과 마찬가지로, 좌측으로부터 i+1번째이며, 상측으로부터 j+1번째의 값이, 웨이트 매트릭스 mWeight[i][j]이다.
도 4에 있어서는, 도 3과 마찬가지로, (M, m)=(1, 8)의 고정 웨이트 매트릭스 mWeight[i][j](도 4의 B)는, (M, m)=(1, 8)의 표준 웨이트 매트릭스 mWeight[i][j](도 4의 A)의 거의 1/2배로 변경되어 있다.
도 5는, MipSizeId=1의 바이어스 벡터 vBias[j]의 예를 나타내는 도면이다.
여기서, 시프트량 sW를 고정값으로 설정하기 전의 바이어스 벡터 vBias[j], 예를 들어 참조 문헌 REF3에 규정되어 있는, MipSizeId=1의 시프트량 sW가 9일 경우의 MipSizeId=1의 바이어스 벡터 vBias[j]를, MipSizeId=1의 표준 바이어스 벡터 vBias[j]라고도 하는 것으로 한다.
또한, 시프트량 sW를 고정값으로 설정한 후의 바이어스 벡터 vBias[j], 예를 들어 MipSizeId=1의 시프트량 sW를 8로 변경한 경우에 식 (1)에서 사용되는, MipSizeId=1의 표준 바이어스 벡터 vBias[j]를 변경한 바이어스 벡터 vBias[j]를, MipSizeId=1의 고정 바이어스 벡터 vBias[j]라고도 하는 것으로 한다.
도 5의 A는, MipSizeId=1의 표준 바이어스 벡터 vBias[j]를 나타내는 도면이며, 도 5의 B는, MipSizeId=1의 고정 바이어스 벡터 vBias[j]의 예를 나타내는 도면이다.
도 5에 있어서, 좌측으로부터 j+1번째이며, 상측으로부터 k+1번째의 값이, (M, m)=(1, k)의 바이어스 벡터 vBias[j]이다.
도 5에서는, (M, m)=(1, 0) 내지 (1, 9)의 고정 바이어스 벡터 vBias[j] 중, (M, m)=(1, 3) 및 (1, 8)의 고정 바이어스 벡터 vBias[j]가, 점선으로 둘러싸도록, (M, m)=(1, 3) 및 (1, 8)의 표준 바이어스 벡터 vBias[j]의 거의 1/2배로 각각 변경되고, 다른 고정 바이어스 벡터 vBias[j]는 표준 바이어스 벡터 vBias[j]와 동일해져 있다.
도 6은, MIP의 예측 화상의 제3 생성 방법을 설명하는 도면이다.
제3 생성 방법에서는, 문헌 A(JVET-N1001-v7_proposal_text_MIP_8Bit.docx)(및 참조 문헌 REF7)에서 제안되어 있는 MIP의 예측 화상을 생성하는 연산의 시프트량 sW가, 고정값인, 예를 들어 6으로 설정된다. 그리고, 제3 생성 방법에서는, 고정값인 6으로 설정된 시프트량 sW=6에 따라서, MIP의 예측 화상을 생성하는 연산이 변경되고, 그 변경된 연산에 따라서 MIP의 예측 화상이 생성된다.
여기서, 문헌 A에서 제안되어 있는 예측 화상의 생성에서는, 문헌 A에 식 (8-69)로서 기재되어 있는 식 (2)에 따라서, 커런트 예측 블록의 예측 화상의 (일부의) 화소 predMip[x][y]가 생성된다.
predMip[x][y]=(((ΣmWeight[i][y*incH*predC+x*incW]*p[i])+oW)>>sW)+dcVal
· · · (2)
식 (2)에 있어서, 서메이션 Σ는 변수 i를 0으로부터 inSize-1까지의 정수로 바꾸면서 취하는 서메이션을 나타낸다. inSize는 2*boundarySize-1 또는 2*boundarySize로 설정된다.
변수 oW는 식 (1)의 바이어스 벡터 vBias[j]에 상당한다. 변수 oW는 문헌 A에 식 (8-65)로서 기재되어 있는 식 (3)에 따라서 산출된다.
oW=(1<<(sW-1))-fO*(Σp[i])
· · · (3)
식 (3)에 있어서, 서메이션 Σ는 식 (2)와 마찬가지로, 변수 i를 0으로부터 inSize-1까지의 정수로 바꾸면서 취하는 서메이션을 나타낸다.
변수 fO는 MipSizeId 및 modeId에 따라서 설정된다. 바이어스 벡터 vBias[j]에 상당하는 변수 oW는 변수 fO를 사용하여, 식 (3)에 따라서 산출되므로, 변수 fO도 변수 oW와 마찬가지로, 바이어스 벡터 vBias[j]에 상당한다고 할 수 있다.
문헌 A에서 제안되어 있는 예측 화상의 생성에 있어서, sW는 ((ΣmWeight[i][y*incH*predC+x*incW]*p[i])+oW)를 시프트하는 시프트량이다.
문헌 A의 표 8-8에 의하면, 시프트량 sW는 도 6에 나타내는 바와 같이, MipSizeId 및 modeId에 따라서 6, 7, 또는 8로 설정된다.
따라서, 문헌 A에서 제안되어 있는 예측 화상의 생성에서는, MipSizeId 및 modeId의 조합마다, 시프트량 sW를 재설정할 필요가 있어, MIP의 예측 화상을 생성하는 처리가 복잡해지는 등, 제1 생성 방법과 마찬가지의 문제가 발생한다.
그래서, 제3 생성 방법에서는, 문헌 A에서 제안되어 있는 MIP의 예측 화상을 생성하는 식 (2)의 시프트량 sW가, 고정값으로 설정된다.
시프트량 sW로 설정되는 고정값으로서는, 예를 들어 문헌 A의 표 8-8에 기재되어 있는 6 내지 8 중, 최솟값인 6, 최댓값인 8 또는 중앙값인 7을 채용하는 것이나, 다른 값을 채용할 수 있다. 도 6에서는, 예를 들어 문헌 A의 표 8-8에 기재되어 있는 6 내지 8 중, 최솟값인 6이 시프트량 sW로 설정되는 고정값으로 채용되고 있다.
그리고, 제3 생성 방법에서는, 고정값인 6으로 설정된 시프트량 sW=6에 따라서, 식 (2)의 연산이 변경되고, 그 변경된 연산에 따라서 MIP의 예측 화상이 생성된다.
구체적으로는, 제3 생성 방법에서는, MipSizeId 및 modeId의 각 조합에 대하여 시프트량 sW가 6으로 고정된다.
그리고, 고정된 시프트량 sW=6에 따라서, 그 시프트량 sW=6을 사용한 식 (2)에 따라서 얻어지는 고정 예측 화소 predMip[x][y]가, 표준 예측 화소 predMip[x][y]에 근사하는 값이 되도록, 표준 웨이트 매트릭스 mWeight[i][j] 및 바이어스 벡터 vBias[j]에 상당하는 (변수 oW를 구하는 데 사용되는) 변수 fO가 변경된다.
여기서, 시프트량 sW를 고정값으로 설정하기 전의 변수 fO, 여기에서는, 문헌 A에 규정되어 있는 변수 fO를, 표준 변수 fO라고도 한다. 또한, 시프트량 sW를 고정값으로 설정한 후의 변수 fO, 여기에서는, 고정된 시프트량 sW=6에 따라서 표준 변수 fO를 변경하여 얻어지는 변수 fO를, 고정 변수 fO라고도 한다.
제3 생성 방법에서는, 이상과 같이 고정값으로 설정된 시프트량 sW=6에 따라서 표준 웨이트 매트릭스 mWeight[i][j] 및 표준 변수 fO를 변경함으로써 얻어지는 고정 웨이트 매트릭스 mWeight[i][j] 및 고정 변수 fO를 포함하는 식 (2)(및 식 (3))의 연산에 따라서, MIP의 예측 화상이 생성된다.
이상과 같이, 제3 생성 방법에서는, 제2 생성 방법과 마찬가지로, 고정값으로 설정된 시프트량 sW를 사용하여, MIP가 행해진다. 즉, 고정값으로 설정된 시프트량 sW에 따라서, 식 (2)의 연산이 변경되고, 그 변경된 연산에 따라서 MIP의 예측 화상이 생성된다.
따라서, 제3 생성 방법에서는, modeId, 나아가 MipSizeId 및 modeId의 조합에 구애받지 않고, 시프트량 sW가 고정되므로, MIP의 처리를 단순화할 수 있다. 그 결과, 문헌 A의 표 8-8로서 규정되는 테이블을 규격으로 규정할 필요가 없어져, 규격을 심플하게 할 수 있다.
또한, 예를 들어 제3 생성 방법을 하드웨어로 실장하는 경우에는, 시프트량 sW를 전환하는 셀렉터가 불필요해져, 회로 규모를 증가를 억제할 수 있다. 또한, 제3 생성 방법을 소프트웨어로 실장하는 경우에는, 문헌 A의 표 8-8로서 규정되는 테이블을 참조할 필요가 없어, 테이블을 참조하는 경우에 비교하여 처리 속도의 저하를 억제할 수 있다.
도 7은, MIP의 예측 화상의 제4 생성 방법을 설명하는 도면이다.
제4 생성 방법에서는, 문헌 A에서 제안되어 있는 MIP의 예측 화상을 생성하는 연산의 시프트량 sW가, MIP에서 사용되는 웨이트 매트릭스 mWeight[i][j]의 매트릭스 사이즈에 따른 고정값으로 설정된다.
여기서, MipSizeId는 웨이트 매트릭스 mWeight[i][j]의 매트릭스 사이즈의 식별자이기 때문에, 시프트량 sW를, 매트릭스 사이즈에 따른 고정값으로 설정하는 것은, 시프트량 sW를, MipSizeId에 따른 고정값으로 설정하는 것, 예를 들어 MipSizeId마다의 고정값으로 설정하는 것과 등가이다.
제4 생성 방법에서는, MipSizeId마다 고정값으로 설정된 시프트량 sW에 따라서, MIP의 예측 화상을 생성하는 연산이 변경되고, 그 변경된 연산에 따라서 MIP의 예측 화상이 생성된다.
제4 생성 방법에 있어서, 시프트량 sW로 설정되는 MipSizeId마다의 고정값으로서는, 예를 들어 문헌 A의 표 8-8에 기재되어 있는 MipSizeId마다의 시프트량 sW 중 최솟값이나 최댓값, 그 밖의 값을 채용할 수 있다.
예를 들어, 시프트량 sW로 설정되는 MipSizeId마다의 고정값으로서, 문헌 A의 표 8-8에 기재되어 있는 MipSizeId마다의 시프트량 sW 중 최솟값을 채용하는 것으로 한다.
문헌 A에 있어서, MipSizeId=0의 시프트량 sW는 6 또는 7을 취할 수 있으므로, 시프트량 sW로 설정되는 MipSizeId마다의 고정값으로서, 문헌 A의 표 8-8에 기재되어 있는 MipSizeId마다의 시프트량 sW 중 최솟값을 채용하는 경우, 제4 생성 방법에서는, MipSizeId=0의 시프트량 sW는 6 및 7 중 최솟값인 6으로 고정된다. 즉, 문헌 A의 표 8-8에 기재되어 있는 MipSizeId=0의 7로 되어 있는 시프트량 sW는 6으로 변경된다.
문헌 A에 있어서, MipSizeId=1의 시프트량 sW는 7 또는 8을 취할 수 있으므로, 시프트량 sW로 설정되는 MipSizeId마다의 고정값으로서, 문헌 A의 표 8-8에 기재되어 있는 MipSizeId마다의 시프트량 sW 중 최솟값을 채용하는 경우, 제4 생성 방법에서는, MipSizeId=1의 시프트량 sW는 7 및 8 중 최솟값인 7로 고정된다. 즉, 문헌 A의 표 8-8에 기재되어 있는 MipSizeId=1의 8로 되어 있는 시프트량 sW는 7로 변경된다.
문헌 A에 있어서, MipSizeId=2의 시프트량 sW는 6 또는 7을 취할 수 있으므로, 시프트량 sW로 설정되는 MipSizeId마다의 고정값으로서, 문헌 A의 표 8-8에 기재되어 있는 MipSizeId마다의 시프트량 sW 중 최솟값을 채용하는 경우, 제4 생성 방법에서는, MipSizeId=2의 시프트량 sW는 6 및 7 중 최솟값인 6으로 고정된다. 즉, 문헌 A의 표 8-8에 기재되어 있는 MipSizeId=2의 7로 되어 있는 시프트량 sW는 6으로 변경된다.
제4 생성 방법에서는, 이상과 같이, MipSizeId마다 고정값으로 설정된 시프트량 sW에 따라서, 식 (2)의 연산이 변경되고, 그 변경된 연산에 따라서 MIP의 예측 화상이 생성된다.
구체적으로는, 제4 생성 방법에서는, MipSizeId=0 및 2에 대하여는, 시프트량 sW가 6으로 고정된다.
또한, 고정된 시프트량 sW=6에 따라서, 그 시프트량 sW=6을 사용한 식 (2)에 따라서 얻어지는 고정 예측 화소 predMip[x][y]가, 표준 예측 화소 predMip[x][y]에 근사하는 값이 되도록, 표준 웨이트 매트릭스 mWeight[i][j] 및 표준 변수 fO가 변경된다.
그리고, 고정값으로 설정된 시프트량 sW=6에 따라서 표준 웨이트 매트릭스 mWeight[i][j] 및 표준 변수 fO를 변경함으로써 얻어지는 고정 웨이트 매트릭스 mWeight[i][j] 및 고정 변수 fO를 포함하는 식 (2)의 연산에 따라서, MIP의 예측 화상이 생성된다.
또한, MipSizeId=1에 대하여는, 시프트량 sW가 7로 고정된다.
또한, 고정된 시프트량 sW=7에 따라서, 그 시프트량 sW=7을 사용한 식 (2)에 따라서 얻어지는 고정 예측 화소 predMip[x][y]가, 표준 예측 화소 predMip[x][y]에 근사하는 값이 되도록, 표준 웨이트 매트릭스 mWeight[i][j] 및 표준 변수 fO가 변경된다.
그리고, 고정값으로 설정된 시프트량 sW=7에 따라서 표준 웨이트 매트릭스 mWeight[i][j] 및 표준 변수 fO를 변경함으로써 얻어지는 고정 웨이트 매트릭스 mWeight[i][j] 및 고정 변수 fO를 포함하는 식 (2)의 연산에 따라서, MIP의 예측 화상이 생성된다.
따라서, 제4 생성 방법에서는, 6으로 고정된 시프트량 sW에 따라서 식 (2)의 연산을 변경한 연산의 식과, 7로 고정된 시프트량 sW에 따라서 식 (2)의 연산을 변경한 연산의 식의 2개의 식이, MipSizeId에 따라서 전환되어 사용된다.
이상과 같이, 제4 생성 방법에서는, MipSizeId마다 고정값으로 설정된 시프트량을 사용하여, MIP가 행해진다. 즉, MipSizeId마다 고정값으로 설정된 시프트량 sW에 따라서, 식 (2)의 연산이 변경되고, 그 변경된 연산에 따라서 MIP의 예측 화상이 생성된다.
따라서, 제4 생성 방법에서는, modeId에 구애받지 않고, 시프트량 sW가 고정되므로, MIP의 처리를 단순화할 수 있고, 문헌 A의 표 8-8로서 규정되는 modeId마다의 테이블을 규격으로 규정할 필요가 없어져, 규격을 심플하게 할 수 있다.
또한, 예를 들어 제4 생성 방법을 하드웨어로 실장하는 경우에는, 시프트량 sW를 전환하는 셀렉터가 불필요하여, 회로 규모의 증가를 억제할 수 있다. 또한, 제4 생성 방법을 소프트웨어로 실장하는 경우에는, 문헌 A의 표 8-8로서 규정되는 테이블을 참조할 필요가 없어, 테이블을 참조하는 경우에 비교하여 처리 속도의 저하를 억제할 수 있다.
이하, 문헌 A에 기재되어 있는 시프트량 sW, (표준) 웨이트 매트릭스 mWeight[i][j] 및 (표준) 변수 fO, 그리고 제3 생성 방법 및 제4 생성 방법에서 사용되는 시프트량 sW, (고정) 웨이트 매트릭스 mWeight[i][j] 및 (고정) 변수 fO에 대하여, 재차 설명한다.
도 8은, 문헌 A에 기재되어 있는 시프트량 sW를 나타내는 도면이다.
도 8에 있어서, 좌측으로부터 m+1번째이며, 상측으로부터 M+1번째의 값이, (M, m)의 시프트량 sW를 나타낸다. 후술하는 시프트량 sW의 도면에서도, 마찬가지이다.
도 9는, 문헌 A에 기재되어 있는 (M, m)=(0, 0)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 9에 있어서, 좌측으로부터 i+1번째이며, 상측으로부터 j+1번째의 값이, 표준 웨이트 매트릭스 mWeight[i][j]를 나타낸다. 후술하는 웨이트 매트릭스 mWeight[i][j]의 도면에서도, 마찬가지이다.
도 10은, 문헌 A에 기재되어 있는 (M, m)=(0, 1)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 11은, 문헌 A에 기재되어 있는 (M, m)=(0, 2)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 12는, 문헌 A에 기재되어 있는 (M, m)=(0, 3)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 13은, 문헌 A에 기재되어 있는 (M, m)=(0, 4)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 14는, 문헌 A에 기재되어 있는 (M, m)=(0, 5)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 15는, 문헌 A에 기재되어 있는 (M, m)=(0, 6)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 16은, 문헌 A에 기재되어 있는 (M, m)=(0, 7)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 17은, 문헌 A에 기재되어 있는 (M, m)=(0, 8)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 18은, 문헌 A에 기재되어 있는 (M, m)=(0, 9)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 19는, 문헌 A에 기재되어 있는 (M, m)=(0, 10)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 20은, 문헌 A에 기재되어 있는 (M, m)=(0, 11)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 21은, 문헌 A에 기재되어 있는 (M, m)=(0, 12)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 22는, 문헌 A에 기재되어 있는 (M, m)=(0, 13)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 23은, 문헌 A에 기재되어 있는 (M, m)=(0, 14)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 24는, 문헌 A에 기재되어 있는 (M, m)=(0, 15)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 25는, 문헌 A에 기재되어 있는 (M, m)=(0, 16)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 26은, 문헌 A에 기재되어 있는 (M, m)=(0, 17)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 27은, 문헌 A에 기재되어 있는 MipSizeId=0의 표준 변수 fO를 나타내는 도면이다.
도 27의 MipSizeId=0의 표준 변수 fO에 있어서, 좌측으로부터 m+1번째의 값이, modeId=m의 표준 변수 fO를 나타낸다. 후술하는 변수 fO의 도면에서도, 마찬가지이다.
도 28은, 문헌 A에 기재되어 있는 (M, m)=(1, 0)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 29는, 문헌 A에 기재되어 있는 (M, m)=(1, 1)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 30은, 문헌 A에 기재되어 있는 (M, m)=(1, 2)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 31은, 문헌 A에 기재되어 있는 (M, m)=(1, 3)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 32는, 문헌 A에 기재되어 있는 (M, m)=(1, 4)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 33은, 문헌 A에 기재되어 있는 (M, m)=(1, 5)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 34는, 문헌 A에 기재되어 있는 (M, m)=(1, 6)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 35는, 문헌 A에 기재되어 있는 (M, m)=(1, 7)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 36은, 문헌 A에 기재되어 있는 (M, m)=(1, 8)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 37은, 문헌 A에 기재되어 있는 (M, m)=(1, 9)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 38은, 문헌 A에 기재되어 있는 MipSizeId=1의 표준 변수 fO를 나타내는 도면이다.
도 39는, 문헌 A에 기재되어 있는 (M, m)=(2, 0)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 40은, 문헌 A에 기재되어 있는 (M, m)=(2, 1)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 41은, 문헌 A에 기재되어 있는 (M, m)=(2, 2)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 42는, 문헌 A에 기재되어 있는 (M, m)=(2, 3)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 43은, 문헌 A에 기재되어 있는 (M, m)=(2, 4)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 44는, 문헌 A에 기재되어 있는 (M, m)=(2, 5)의 표준 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 45는, 문헌 A에 기재되어 있는 MipSizeId=2의 표준 변수 fO를 나타내는 도면이다.
도 46은, 제3 생성 방법에서 사용되는 시프트량 sW를 나타내는 도면이다.
제3 생성 방법에서는, 시프트량 sW는 고정값인, 예를 들어 6으로 설정된다.
그리고, 제3 생성 방법에서는, 시프트량 sW를 고정값인 6으로 설정한 후에 얻어지는 고정 예측 화소 predMip[x][y]가, 표준 예측 화소 predMip[x][y]에 근사하는 값이 되도록, 표준 웨이트 매트릭스 mWeight[i][j] 및 표준 변수 fO를 변경하여 얻어지는 고정 웨이트 매트릭스 mWeight[i][j] 및 고정 변수 fO가 사용된다.
도 47은, 제3 생성 방법에서 사용되는 (M, m)=(0, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 48은, 제3 생성 방법에서 사용되는 (M, m)=(0, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 49는, 제3 생성 방법에서 사용되는 (M, m)=(0, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 50은, 제3 생성 방법에서 사용되는 (M, m)=(0, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 51은, 제3 생성 방법에서 사용되는 (M, m)=(0, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 52는, 제3 생성 방법에서 사용되는 (M, m)=(0, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 53은, 제3 생성 방법에서 사용되는 (M, m)=(0, 6)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 54는, 제3 생성 방법에서 사용되는 (M, m)=(0, 7)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 55는, 제3 생성 방법에서 사용되는 (M, m)=(0, 8)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 56은, 제3 생성 방법에서 사용되는 (M, m)=(0, 9)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 57은, 제3 생성 방법에서 사용되는 (M, m)=(0, 10)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 58은, 제3 생성 방법에서 사용되는 (M, m)=(0, 11)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 59는, 제3 생성 방법에서 사용되는 (M, m)=(0, 12)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 60은, 제3 생성 방법에서 사용되는 (M, m)=(0, 13)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 61은, 제3 생성 방법에서 사용되는 (M, m)=(0, 14)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 62는, 제3 생성 방법에서 사용되는 (M, m)=(0, 15)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 63은, 제3 생성 방법에서 사용되는 (M, m)=(0, 16)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 64는, 제3 생성 방법에서 사용되는 (M, m)=(0, 17)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 65는, 제3 생성 방법에서 사용되는 MipSizeId=0의 고정 변수 fO를 나타내는 도면이다.
도 66은, 제3 생성 방법에서 사용되는 (M, m)=(1, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 67은, 제3 생성 방법에서 사용되는 (M, m)=(1, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 68은, 제3 생성 방법에서 사용되는 (M, m)=(1, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 69는, 제3 생성 방법에서 사용되는 (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 70은, 제3 생성 방법에서 사용되는 (M, m)=(1, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 71은, 제3 생성 방법에서 사용되는 (M, m)=(1, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 72는, 제3 생성 방법에서 사용되는 (M, m)=(1, 6)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 73은, 제3 생성 방법에서 사용되는 (M, m)=(1, 7)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 74는, 제3 생성 방법에서 사용되는 (M, m)=(1, 8)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 75는, 제3 생성 방법에서 사용되는 (M, m)=(1, 9)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 76은, 제3 생성 방법에서 사용되는 MipSizeId=1의 고정 변수 fO를 나타내는 도면이다.
도 77은, 제3 생성 방법에서 사용되는 (M, m)=(2, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 78은, 제3 생성 방법에서 사용되는 (M, m)=(2, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 79는, 제3 생성 방법에서 사용되는 (M, m)=(2, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 80은, 제3 생성 방법에서 사용되는 (M, m)=(2, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 81은, 제3 생성 방법에서 사용되는 (M, m)=(2, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 82는, 제3 생성 방법에서 사용되는 (M, m)=(2, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 83은, 제3 생성 방법에서 사용되는 MipSizeId=2의 고정 변수 fO를 나타내는 도면이다.
도 84는, 제4 생성 방법에서 사용되는 시프트량 sW를 나타내는 도면이다.
제4 생성 방법에서는, 시프트량 sW는 MipSizeId로 나타내지는 웨이트 매트릭스 mWeight[i][j]의 매트릭스 사이즈에 따른 고정값으로 설정된다. 즉, 제4 생성 방법에서는, 시프트량 sW는 MipSizeId마다 고정값으로 설정된다. 구체적으로는, 시프트량 sW는 MipSizeId=0, 1, 2의 경우, 6, 7, 6으로 각각 설정된다.
그리고, 제4 생성 방법에서는, 제3 생성 방법과 마찬가지로, 시프트량 sW를 고정값으로 설정한 후에 얻어지는 고정 예측 화소 predMip[x][y]가, 표준 예측 화소 predMip[x][y]에 근사하는 값이 되도록, 표준 웨이트 매트릭스 mWeight[i][j] 및 표준 변수 fO를 변경하여 얻어지는 고정 웨이트 매트릭스 mWeight[i][j] 및 고정 변수 fO가 사용된다.
도 85는, 제4 생성 방법에서 사용되는 (M, m)=(0, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 86은, 제4 생성 방법에서 사용되는 (M, m)=(0, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 87은, 제4 생성 방법에서 사용되는 (M, m)=(0, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 88은, 제4 생성 방법에서 사용되는 (M, m)=(0, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 89는, 제4 생성 방법에서 사용되는 (M, m)=(0, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 90은, 제4 생성 방법에서 사용되는 (M, m)=(0, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 91은, 제4 생성 방법에서 사용되는 (M, m)=(0, 6)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 92는, 제4 생성 방법에서 사용되는 (M, m)=(0, 7)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 93은, 제4 생성 방법에서 사용되는 (M, m)=(0, 8)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 94는, 제4 생성 방법에서 사용되는 (M, m)=(0, 9)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 95는, 제4 생성 방법에서 사용되는 (M, m)=(0, 10)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 96은, 제4 생성 방법에서 사용되는 (M, m)=(0, 11)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 97은, 제4 생성 방법에서 사용되는 (M, m)=(0, 12)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 98은, 제4 생성 방법에서 사용되는 (M, m)=(0, 13)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 99는, 제4 생성 방법에서 사용되는 (M, m)=(0, 14)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 100은, 제4 생성 방법에서 사용되는 (M, m)=(0, 15)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 101은, 제4 생성 방법에서 사용되는 (M, m)=(0, 16)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 102는, 제4 생성 방법에서 사용되는 (M, m)=(0, 17)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 103은, 제4 생성 방법에서 사용되는 MipSizeId=0의 고정 변수 fO를 나타내는 도면이다.
도 104는, 제4 생성 방법에서 사용되는 (M, m)=(1, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 105는, 제4 생성 방법에서 사용되는 (M, m)=(1, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 106은, 제4 생성 방법에서 사용되는 (M, m)=(1, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 107은, 제4 생성 방법에서 사용되는 (M, m)=(1, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 108은, 제4 생성 방법에서 사용되는 (M, m)=(1, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 109는, 제4 생성 방법에서 사용되는 (M, m)=(1, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 110은, 제4 생성 방법에서 사용되는 (M, m)=(1, 6)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 111은, 제4 생성 방법에서 사용되는 (M, m)=(1, 7)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 112는, 제4 생성 방법에서 사용되는 (M, m)=(1, 8)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 113은, 제4 생성 방법에서 사용되는 (M, m)=(1, 9)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 114는, 제4 생성 방법에서 사용되는 MipSizeId=1의 고정 변수 fO를 나타내는 도면이다.
도 115는, 제4 생성 방법에서 사용되는 (M, m)=(2, 0)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 116은, 제4 생성 방법에서 사용되는 (M, m)=(2, 1)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 117은, 제4 생성 방법에서 사용되는 (M, m)=(2, 2)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 118은, 제4 생성 방법에서 사용되는 (M, m)=(2, 3)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 119는, 제4 생성 방법에서 사용되는 (M, m)=(2, 4)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 120은, 제4 생성 방법에서 사용되는 (M, m)=(2, 5)의 고정 웨이트 매트릭스 mWeight[i][j]를 나타내는 도면이다.
도 121은, 제4 생성 방법에서 사용되는 MipSizeId=2의 고정 변수 fO를 나타내는 도면이다.
<본 기술을 적용한 화상 처리 시스템>
도 122는, 본 기술을 적용한 화상 처리 시스템의 일 실시 형태의 구성예를 나타내는 블록도이다.
화상 처리 시스템(10)은 인코더(11)로서의 화상 처리 장치 및 디코더(51)로서의 화상 처리 장치를 갖는다.
인코더(11)는 거기에 공급되는 부호화 대상의 원화상을 부호화하고, 그 부호화에 의해 얻어지는 부호화 비트 스트림을 출력한다. 부호화 비트 스트림은 도시하지 않은 기록 매체 또는 전송 매체를 통해, 디코더(51)에 공급된다.
디코더(51)는 거기에 공급되는 부호화 비트 스트림을 복호하고, 그 복호에 의해 얻어지는 복호 화상을 출력한다.
<인코더(11)의 구성예>
도 123은 도 122의 인코더(11)의 구성예를 나타내는 블록도이다.
또한, 이하 설명하는 블록도에 대하여는, 도면이 번잡해지는 것을 피하기 위해서, 각 블록의 처리에서 필요해지는 정보(데이터)를 공급하는 선의 기재를, 적절히 생략한다.
도 123에 있어서, 인코더(11)는 A/D 변환부(21), 재배열 버퍼(22), 연산부(23), 직교 변환부(24), 양자화부(25), 가역 부호화부(26) 및 축적 버퍼(27)를 갖는다. 또한, 인코더(11)는 역양자화부(28), 역직교 변환부(29), 연산부(30), 프레임 메모리(32), 선택부(33), 인트라 예측부(34), 움직임 예측 보상부(35), 예측 화상 선택부(36) 및 레이트 제어부(37)를 갖는다. 또한, 인코더(11)는 디블록 필터(31a), 적응 오프셋 필터(41) 및 ALF(adaptive loop filter)(42)를 갖는다.
A/D 변환부(21)는 아날로그 신호의 원화상(부호화 대상)을 디지털 신호의 원화상으로 A/D 변환하고, 재배열 버퍼(22)에 공급하여 기억시킨다. 또한, 인코더(11)에 디지털 신호의 원화상이 공급되는 경우에는, 인코더(11)는 A/D 변환부(21)를 마련하지 않고 구성할 수 있다.
재배열 버퍼(22)는 원화상의 프레임을, GOP(Group Of Picture)에 따라서 표시순으로부터 부호화(복호)순으로 재배열하고, 연산부(23), 인트라 예측부(34) 및 움직임 예측 보상부(35)에 공급한다.
연산부(23)는 재배열 버퍼(22)로부터의 원화상으로부터, 예측 화상 선택부(36)를 통해 인트라 예측부(34) 또는 움직임 예측 보상부(35)로부터 공급되는 예측 화상을 감산하고, 그 감산에 의해 얻어지는 잔차(예측 잔차)를 직교 변환부(24)에 공급한다.
직교 변환부(24)는 연산부(23)로부터 공급되는 잔차에 대하여, 이산 코사인 변환이나 카루넨·루베 변환 등의 직교 변환을 실시하고, 그 직교 변환에 의해 얻어지는 직교 변환 계수를 양자화부(25)에 공급한다.
양자화부(25)는 직교 변환부(24)로부터 공급되는 직교 변환 계수를 양자화한다. 양자화부(25)는 레이트 제어부(37)로부터 공급되는 부호량의 목표값(부호량 목표값)에 기초하여 양자화 파라미터를 설정하고, 직교 변환 계수의 양자화를 행한다. 양자화부(25)는 양자화된 직교 변환 계수인 부호화 데이터를, 가역 부호화부(26)에 공급한다.
가역 부호화부(26)는 양자화부(25)로부터의 부호화 데이터로서의 양자화된 직교 변환 계수를 소정의 가역 부호화 방식으로 부호화한다.
또한, 가역 부호화부(26)는 인코더(11)에서의 예측 부호화에 관한 부호화 정보 중, 복호 장치(170)에서의 복호에 필요한 부호화 정보를, 각 블록으로부터 취득한다.
여기서, 부호화 정보로서는, 예를 들어 인트라 예측이나 인터 예측의 예측 모드, 움직임 벡터 등의 움직임 정보, 부호량 목표값, 양자화 파라미터, 픽처 타입(I, P, B), 디블록 필터(31a) 및 적응 오프셋 필터(41)의 필터 파라미터 등이 있다.
예측 모드는 인트라 예측부(34)나 움직임 예측 보상부(35)로부터 취득할 수 있다. 움직임 정보는 움직임 예측 보상부(35)로부터 취득할 수 있다. 디블록 필터(31a) 및 적응 오프셋 필터(41)의 필터 파라미터는, 디블록 필터(31a) 및 적응 오프셋 필터(41)로부터 각각 취득할 수 있다.
가역 부호화부(26)는 부호화 정보를, 예를 들어 CAVLC(Context-Adaptive Variable Length Coding)나 CABAC(Context-Adaptive Binary Arithmetic Coding) 등의 가변장 부호화 또는 산술 부호화 그 밖의 가역 부호화 방식으로 부호화하고, 부호화 후의 부호화 정보 및 양자화부(25)로부터의 부호화 데이터를 포함하는 (다중화하는) 부호화 비트 스트림을 생성하여, 축적 버퍼(27)에 공급한다.
여기서, 이상의 연산부(23) 내지 가역 부호화부(26)가 화상을 부호화하는 부호화부를 구성하고, 부호화부에서 행해지는 처리(공정)가 부호화 공정이다.
축적 버퍼(27)는 가역 부호화부(26)로부터 공급되는 부호화 비트 스트림을, 일시적으로 축적한다. 축적 버퍼(27)에 축적된 부호화 비트 스트림은, 소정의 타이밍에 판독되어 전송된다.
양자화부(25)에 있어서 양자화된 직교 변환 계수인 부호화 데이터는, 가역 부호화부(26)에 공급될 뿐 아니라, 역양자화부(28)에도 공급된다. 역양자화부(28)는 양자화된 직교 변환 계수를, 양자화부(25)에 의한 양자화에 대응하는 방법으로 역양자화하고, 그 역양자화에 의해 얻어지는 직교 변환 계수를, 역직교 변환부(29)에 공급한다.
역직교 변환부(29)는 역양자화부(28)로부터 공급되는 직교 변환 계수를, 직교 변환부(24)에 의한 직교 변환 처리에 대응하는 방법으로 역직교 변환하고, 그 역직교 변환의 결과 얻어지는 잔차를, 연산부(30)에 공급한다.
연산부(30)는 역직교 변환부(29)로부터 공급되는 잔차에, 예측 화상 선택부(36)를 통해 인트라 예측부(34) 또는 움직임 예측 보상부(35)로부터 공급되는 예측 화상을 가산하고, 이에 의해, 원화상을 복호한 복호 화상(의 일부)를 얻어 출력한다.
연산부(30)가 출력하는 복호 화상은, 디블록 필터(31a) 또는 프레임 메모리(32)에 공급된다.
프레임 메모리(32)는 연산부(30)로부터 공급되는 복호 화상, 및 ALF(42)로부터 공급되는, 디블록 필터(31a), 적응 오프셋 필터(41) 및 ALF(42)가 적용된 복호 화상(필터 화상)을 일시 기억한다. 프레임 메모리(32)에 기억된 복호 화상은, 필요한 타이밍에, 예측 화상의 생성에 사용되는 참조 화상으로서, 선택부(33)에 공급된다.
선택부(33)는 프레임 메모리(32)로부터 공급되는 참조 화상의 공급처를 선택한다. 인트라 예측부(34)에 있어서 인트라 예측이 행해지는 경우, 선택부(33)는 프레임 메모리(32)로부터 공급되는 참조 화상을, 인트라 예측부(34)에 공급한다. 움직임 예측 보상부(35)에 있어서 인터 예측이 행해지는 경우, 선택부(33)는 프레임 메모리(32)로부터 공급되는 참조 화상을, 움직임 예측 보상부(35)에 공급한다.
인트라 예측부(34)는 재배열 버퍼(22)로부터 공급되는 원화상과, 선택부(33)를 통해 프레임 메모리(32)로부터 공급되는 참조 화상을 사용하여, 인트라 예측(화면 내 예측)을 행한다. 인트라 예측부(34)는 소정의 비용 함수에 기초하여, 최적인 인트라 예측의 예측 모드를 선택하고, 그 최적인 인트라 예측의 예측 모드에서 참조 화상으로 생성된 예측 화상을, 예측 화상 선택부(36)에 공급한다. 또한, 인트라 예측부(34)는 비용 함수에 기초하여 선택된 인트라 예측의 예측 모드를, 가역 부호화부(26) 등에 적절히 공급한다.
움직임 예측 보상부(35)는 재배열 버퍼(22)로부터 공급되는 원화상과, 선택부(33)를 통해 프레임 메모리(32)로부터 공급되는 참조 화상을 사용하여, 움직임 예측을 행한다. 또한, 움직임 예측 보상부(35)는 움직임 예측에 의해 검출되는 움직임 벡터에 따라서 움직임 보상을 행하고, 예측 화상을 생성한다. 움직임 예측 보상부(35)는 미리 준비된 복수의 인터 예측의 예측 모드에서, 인터 예측을 행하고, 참조 화상으로부터 예측 화상을 생성한다.
움직임 예측 보상부(35)는 소정의 비용 함수에 기초하여, 복수의 인터 예측의 예측 모드에서 최적인 인터 예측의 예측 모드를 선택한다. 또한, 움직임 예측 보상부(35)는 최적인 인터 예측의 예측 모드에서 생성된 예측 화상을, 예측 화상 선택부(36)에 공급한다.
또한, 움직임 예측 보상부(35)는 비용 함수에 기초하여 선택된 최적인 인터 예측의 예측 모드나, 그 인터 예측의 예측 모드에서 부호화된 부호화 데이터를 복호할 때에 필요한 움직임 벡터 등의 움직임 정보 등을, 가역 부호화부(26)에 공급한다.
예측 화상 선택부(36)는 연산부(23) 및 연산부(30)에 공급하는 예측 화상의 공급원을, 인트라 예측부(34) 및 움직임 예측 보상부(35) 중에서 선택하고, 그 선택한 쪽의 공급원으로부터 공급되는 예측 화상을, 연산부(23) 및 연산부(30)에 공급한다.
레이트 제어부(37)는 축적 버퍼(27)에 축적된 부호화 비트 스트림의 부호량에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(25)의 양자화 동작의 레이트를 제어한다. 즉, 레이트 제어부(37)는 축적 버퍼(27)의 오버플로우 및 언더플로우가 발생하지 않도록, 부호화 비트 스트림의 목표 부호량을 설정하고, 양자화부(25)에 공급한다.
디블록 필터(31a)는 연산부(30)로부터의 복호 화상에, 디블록 필터를 필요에 따라서 적용하고, 디블록 필터가 적용된 복호 화상(필터 화상) 또는 디블록 필터가 적용되어 있지 않은 복호 화상을, 적응 오프셋 필터(41)에 공급한다.
적응 오프셋 필터(41)는 디블록 필터(31a)로부터의 복호 화상에, 적응 오프셋 필터를 필요에 따라서 적용하고, 적응 오프셋 필터가 적용된 복호 화상(필터 화상) 또는 적응 오프셋 필터가 적용되어 있지 않은 복호 화상을, ALF(42)에 공급한다.
ALF(42)는 적응 오프셋 필터(41)로부터의 복호 화상에, ALF를 필요에 따라서 적용하고, ALF가 적용된 복호 화상 또는 ALF가 적용되어 있지 않은 복호 화상을, 프레임 메모리(32)에 공급한다.
<부호화 처리>
도 124는 도 123의 인코더(11)의 부호화 처리의 예를 설명하는 흐름도이다.
또한, 도 124에 나타내는 부호화 처리의 각 스텝의 순번은, 설명의 편의상의 순번이며, 실제의 부호화 처리의 각 스텝은 적절히 병렬적으로 필요한 순번으로 행해진다. 후술하는 처리에 대해서도, 마찬가지이다.
인코더(11)에서는, 스텝 S11에 있어서, A/D 변환부(21)는 원화상을 A/D 변환하고, 재배열 버퍼(22)에 공급하여, 처리는 스텝 S12로 진행한다.
스텝 S12에 있어서, 재배열 버퍼(22)는 A/D 변환부(21)로부터의 원화상을 기억하고, 부호화순으로 재배열하여 출력하고, 처리는 스텝 S13으로 진행한다.
스텝 S13에서는, 인트라 예측부(34)는 인트라 예측을 행하고(인트라 예측 공정), 처리는 스텝 S14로 진행한다. 스텝 S14에 있어서, 움직임 예측 보상부(35)는 움직임 예측이나 움직임 보상을 행하는 인터 예측을 행하고, 처리는 스텝 S15로 진행한다.
인트라 예측부(34)의 인트라 예측 및 움직임 예측 보상부(35)의 인터 예측에서는, 각종 예측 모드의 비용 함수가 연산됨과 함께, 예측 화상이 생성된다.
스텝 S15에서는, 예측 화상 선택부(36)는 인트라 예측부(34) 및 움직임 예측 보상부(35)에서 얻어지는 각 비용 함수에 기초하여, 최적인 예측 모드를 결정한다. 그리고, 예측 화상 선택부(36)는 인트라 예측부(34)에 의해 생성된 예측 화상, 및 움직임 예측 보상부(35)에 의해 생성된 예측 화상 중에서 최적의 예측 모드의 예측 화상을 선택하여 출력하고, 처리는 스텝 S15로부터 스텝 S16으로 진행한다.
스텝 S16에서는, 연산부(23)는 재배열 버퍼(22)가 출력하는 원화상인 부호화 대상의 대상 화상과, 예측 화상 선택부(36)가 출력하는 예측 화상과의 잔차를 연산하고, 직교 변환부(24)에 공급하여, 처리는 스텝 S17로 진행한다.
스텝 S17에서는, 직교 변환부(24)는 연산부(23)로부터의 잔차를 직교 변환하고, 그 결과 얻어지는 직교 변환 계수를, 양자화부(25)에 공급하여, 처리는 스텝 S18로 진행한다.
스텝 S18에서는, 양자화부(25)는 직교 변환부(24)로부터의 직교 변환 계수를 양자화하고, 그 양자화에 의해 얻어지는 양자화 계수를, 가역 부호화부(26) 및 역양자화부(28)에 공급하여, 처리는 스텝 S19로 진행한다.
스텝 S19에서는, 역양자화부(28)는 양자화부(25)로부터의 양자화 계수를 역양자화하고, 그 결과 얻어지는 직교 변환 계수를, 역직교 변환부(29)에 공급하여, 처리는 스텝 S20으로 진행한다. 스텝 S20에서는, 역직교 변환부(29)는 역양자화부(28)로부터의 직교 변환 계수를 역직교 변환하고, 그 결과 얻어지는 잔차를, 연산부(30)에 공급하여, 처리는 스텝 S21로 진행한다.
스텝 S21에서는, 연산부(30)는 역직교 변환부(29)로부터의 잔차와, 예측 화상 선택부(36)가 출력하는 예측 화상을 가산하고, 연산부(23)에서의 잔차의 연산의 대상이 된 원화상에 대응하는 복호 화상을 생성한다. 연산부(30)는 복호 화상을, 디블록 필터(31a)에 공급하여, 처리는 스텝 S21로부터 스텝 S22로 진행한다.
스텝 S22에서는, 디블록 필터(31a)는 연산부(30)로부터의 복호 화상에, 디블록 필터를 적용하고, 그 결과 얻어지는 필터 화상을, 적응 오프셋 필터(41)에 공급하여, 처리는 스텝 S23으로 진행한다.
스텝 S23에서는, 적응 오프셋 필터(41)는 디블록 필터(31a)로부터의 필터 화상에, 적응 오프셋 필터를 적용하고, 그 결과 얻어지는 필터 화상을, ALF(42)에 공급하여, 처리는 스텝 S24로 진행한다.
스텝 S24에서는, ALF(42)는 적응 오프셋 필터(41)로부터의 필터 화상에, ALF를 적용하고, 그 결과 얻어지는 필터 화상을, 프레임 메모리(32)에 공급하여, 처리는 스텝 S25로 진행한다.
스텝 S25에서는, 프레임 메모리(32)는 ALF(42)로부터 공급되는 필터 화상을 기억하고, 처리는 스텝 S26으로 진행한다. 프레임 메모리(32)에 기억된 필터 화상은, 스텝 S13이나 S14에서, 예측 화상을 생성하는 근본이 되는 참조 화상으로서 사용된다.
스텝 S26에서는, 가역 부호화부(26)는 양자화부(25)로부터의 양자화 계수인 부호화 데이터를 부호화하고, 그 부호화 데이터를 포함하는 부호화 비트 스트림을 생성한다. 또한, 가역 부호화부(26)는 양자화부(25)에서의 양자화에 사용된 양자화 파라미터나, 인트라 예측부(34)에서의 인트라 예측으로 얻어진 예측 모드, 움직임 예측 보상부(35)에서의 인터 예측으로 얻어진 예측 모드나 움직임 정보, 디블록 필터(31a) 및 적응 오프셋 필터(41)의 필터 파라미터 등의 부호화 정보를 필요에 따라서 부호화하고, 부호화 비트 스트림에 포함한다.
그리고, 가역 부호화부(26)는 부호화 비트 스트림을 축적 버퍼(27)에 공급하여, 처리는 스텝 S26으로부터 스텝 S27로 진행한다.
스텝 S27에 있어서, 축적 버퍼(27)는 가역 부호화부(26)로부터의 부호화 비트 스트림을 축적하고, 처리는 스텝 S28로 진행한다. 축적 버퍼(27)에 축적된 부호화 비트 스트림은, 적절히 판독되어 전송된다.
스텝 S28에서는, 레이트 제어부(37)는 축적 버퍼(27)에 축적되어 있는 부호화 비트 스트림의 부호량(발생 부호량)에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(25)의 양자화 동작의 레이트를 제어하고, 부호화 처리는 종료한다.
<디코더(51)의 구성예>
도 125는 도 122의 디코더(51)의 상세한 구성예를 나타내는 블록도이다.
도 125에 있어서, 디코더(51)는 축적 버퍼(61), 가역 복호부(62), 역양자화부(63), 역직교 변환부(64), 연산부(65), 재배열 버퍼(67) 및 D/A 변환부(68)를 갖는다. 또한, 디코더(51)는 프레임 메모리(69), 선택부(70), 인트라 예측부(71), 움직임 예측 보상부(72) 및 선택부(73)를 갖는다. 또한, 디코더(51)는 디블록 필터(31b), 적응 오프셋 필터(81) 및 ALF(82)를 갖는다.
축적 버퍼(61)는 인코더(11)로부터 전송되어 오는 부호화 비트 스트림을 일시 축적하고, 소정의 타이밍에 있어서, 그 부호화 비트 스트림을 가역 복호부(62)에 공급한다.
가역 복호부(62)는 축적 버퍼(61)로부터의 부호화 비트 스트림을 수신하고, 도 123의 가역 부호화부(26)의 부호화 방식에 대응하는 방식으로 복호한다.
그리고, 가역 복호부(62)는 부호화 비트 스트림의 복호 결과에 포함되는 부호화 데이터로서의 양자화 계수를, 역양자화부(63)에 공급한다.
또한, 가역 복호부(62)는 파싱을 행하는 기능을 갖는다. 가역 복호부(62)는 부호화 비트 스트림의 복호 결과에 포함될 필요한 부호화 정보를 파싱하고, 부호화 정보를, 인트라 예측부(71)나, 움직임 예측 보상부(72), 디블록 필터(31b), 적응 오프셋 필터(81) 그 밖의 필요한 블록에 공급한다.
역양자화부(63)는 가역 복호부(62)로부터의 부호화 데이터로서의 양자화 계수를, 도 123의 양자화부(25)의 양자화 방식에 대응하는 방식으로 역양자화하고, 그 역양자화에 의해 얻어지는 직교 변환 계수를, 역직교 변환부(64)에 공급한다.
역직교 변환부(64)는 역양자화부(63)로부터 공급되는 직교 변환 계수를, 도 123의 직교 변환부(24)의 직교 변환 방식에 대응하는 방식으로 역직교 변환하고, 그 결과 얻어지는 잔차를, 연산부(65)에 공급한다.
연산부(65)에는, 역직교 변환부(64)로부터 잔차가 공급될 뿐 아니라, 선택부(73)를 통해, 인트라 예측부(71) 또는 움직임 예측 보상부(72)로부터 예측 화상이 공급된다.
연산부(65)는 역직교 변환부(64)로부터의 잔차와, 선택부(73)로부터의 예측 화상을 가산하고, 복호 화상을 생성하여, 디블록 필터(31b)에 공급한다.
여기서, 이상의 가역 복호부(62) 내지 연산부(65)가 화상을 복호하는 복호부를 구성하고, 복호부에서 행해지는 처리(공정)가 복호 공정이다.
재배열 버퍼(67)는 ALF(82)로부터 공급되는 복호 화상을 일시 기억하고, 복호 화상의 프레임(픽처)의 배열을, 부호화(복호)순으로부터 표시순으로 재배열하고, D/A 변환부(68)에 공급한다.
D/A 변환부(68)는 재배열 버퍼(67)로부터 공급되는 복호 화상을 D/A 변환하고, 도시하지 않은 디스플레이에 출력하여 표시시킨다. 또한, 디코더(51)에 접속되는 기기가 디지털 신호의 화상을 접수하는 경우에는, 디코더(51)는 D/A 변환부(68)를 마련하지 않고 구성할 수 있다.
프레임 메모리(69)는 ALF(82)로부터 공급되는 복호 화상을 일시 기억한다. 또한, 프레임 메모리(69)는 소정의 타이밍에 있어서, 또는 인트라 예측부(71)나 움직임 예측 보상부(72) 등의 외부의 요구에 기초하여, 복호 화상을, 예측 화상의 생성에 사용하는 참조 화상으로서, 선택부(70)에 공급한다.
선택부(70)는 프레임 메모리(69)로부터 공급되는 참조 화상의 공급처를 선택한다. 선택부(70)는 인트라 예측으로 부호화된 화상을 복호하는 경우, 프레임 메모리(69)로부터 공급되는 참조 화상을 인트라 예측부(71)에 공급한다. 또한, 선택부(70)는 인터 예측으로 부호화된 화상을 복호하는 경우, 프레임 메모리(69)로부터 공급되는 참조 화상을 움직임 예측 보상부(72)에 공급한다.
인트라 예측부(71)는 가역 복호부(62)로부터 공급되는 부호화 정보에 포함되는 예측 모드에 따라서, 프레임 메모리(69)로부터 선택부(70)를 통해 공급되는 참조 화상을 사용하여, 도 123의 인트라 예측부(34)와 마찬가지의 인트라 예측을 행한다. 그리고, 인트라 예측부(71)는 인트라 예측에 의해 얻어지는 예측 화상을, 선택부(73)에 공급한다.
움직임 예측 보상부(72)는 가역 복호부(62)로부터 공급되는 부호화 정보에 포함되는 예측 모드에 따라서, 도 123의 움직임 예측 보상부(35)와 마찬가지로, 프레임 메모리(69)로부터 선택부(70)를 통해 공급되는 참조 화상을 사용하여 인터 예측을 행한다. 인터 예측은 가역 복호부(62)로부터 공급되는 부호화 정보에 포함되는 움직임 정보 등을 필요에 따라서 사용하여 행해진다.
움직임 예측 보상부(72)는 인터 예측에 의해 얻어지는 예측 화상을, 선택부(73)에 공급한다.
선택부(73)는 인트라 예측부(71)로부터 공급되는 예측 화상, 또는 움직임 예측 보상부(72)로부터 공급되는 예측 화상을 선택하고, 연산부(65)에 공급한다.
디블록 필터(31b)는 가역 복호부(62)로부터 공급되는 부호화 정보에 포함되는 필터 파라미터에 따라서, 연산부(65)로부터의 복호 화상에 디블록 필터를 적용한다. 디블록 필터(31b)는 디블록 필터가 적용된 복호 화상(필터 화상), 또는 디블록 필터가 적용되어 있지 않은 복호 화상을, 적응 오프셋 필터(81)에 공급한다.
적응 오프셋 필터(81)는 가역 복호부(62)로부터 공급되는 부호화 정보에 포함되는 필터 파라미터에 따라서, 디블록 필터(31b)로부터의 복호 화상에, 적응 오프셋 필터를 필요에 따라서 적용한다. 적응 오프셋 필터(81)는 적응 오프셋 필터가 적용된 복호 화상(필터 화상), 또는 적응 오프셋 필터가 적용되어 있지 않은 복호 화상을, ALF(82)에 공급한다.
ALF(82)는 적응 오프셋 필터(81)로부터의 복호 화상에, ALF를 필요에 따라서 적용하고, ALF가 적용된 복호 화상, 또는 ALF가 적용되어 있지 않은 복호 화상을, 재배열 버퍼(67) 및 프레임 메모리(69)에 공급한다.
<복호 처리>
도 126은 도 125의 디코더(51)의 복호 처리의 예를 설명하는 흐름도이다.
복호 처리에서는, 스텝 S51에 있어서, 축적 버퍼(61)는 인코더(11)로부터 전송되어 오는 부호화 비트 스트림을 일시 축적하고, 적절히 가역 복호부(62)에 공급하여, 처리는 스텝 S52로 진행한다.
스텝 S52에서는, 가역 복호부(62)는 축적 버퍼(61)로부터 공급되는 부호화 비트 스트림을 수취하여 복호하고, 부호화 비트 스트림의 복호 결과에 포함되는 부호화 데이터로서의 양자화 계수를, 역양자화부(63)에 공급한다.
또한, 가역 복호부(62)는 부호화 비트 스트림의 복호 결과에 포함되는 부호화 정보를 파싱한다. 그리고, 가역 복호부(62)는 필요한 부호화 정보를, 인트라 예측부(71)나, 움직임 예측 보상부(72), 디블록 필터(31b), 적응 오프셋 필터(81) 그 밖의 필요한 블록에 공급한다.
그리고, 처리는 스텝 S52로부터 스텝 S53으로 진행하고, 인트라 예측부(71) 또는 움직임 예측 보상부(72)가, 프레임 메모리(69)로부터 선택부(70)를 통해 공급되는 참조 화상, 및 가역 복호부(62)로부터 공급되는 부호화 정보에 따라서, 예측 화상을 생성하는 인트라 예측 또는 인터 예측을 행한다(인트라 예측 공정 또는 인터 예측 공정). 그리고, 인트라 예측부(71) 또는 움직임 예측 보상부(72)는 인트라 예측 또는 인터 예측에 의해 얻어지는 예측 화상을, 선택부(73)에 공급하여, 처리는 스텝 S53으로부터 스텝 S54로 진행한다.
스텝 S54에서는, 선택부(73)는 인트라 예측부(71) 또는 움직임 예측 보상부(72)로부터 공급되는 예측 화상을 선택하고, 연산부(65)에 공급하여, 처리는 스텝 S55로 진행한다.
스텝 S55에서는, 역양자화부(63)는 가역 복호부(62)로부터의 양자화 계수를 역양자화하고, 그 결과 얻어지는 직교 변환 계수를, 역직교 변환부(64)에 공급하여, 처리는 스텝 S56으로 진행한다.
스텝 S56에서는, 역직교 변환부(64)는 역양자화부(63)로부터의 직교 변환 계수를 역직교 변환하고, 그 결과 얻어지는 잔차를, 연산부(65)에 공급하여, 처리는 스텝 S57로 진행한다.
스텝 S57에서는, 연산부(65)는 역직교 변환부(64)로부터의 잔차와, 선택부(73)로부터의 예측 화상을 가산함으로써, 복호 화상을 생성한다. 그리고, 연산부(65)는 복호 화상을 디블록 필터(31b)에 공급하여, 처리는 스텝 S57로부터 스텝 S58로 진행한다.
스텝 S58에서는, 디블록 필터(31b)는 가역 복호부(62)로부터 공급되는 부호화 정보에 포함되는 필터 파라미터에 따라서, 연산부(65)로부터의 복호 화상에, 디블록 필터를 적용한다. 디블록 필터(31b)는 디블록 필터의 적용 결과 얻어지는 필터 화상을, 적응 오프셋 필터(81)에 공급하여, 처리는 스텝 S58로부터 스텝 S59로 진행한다.
스텝 S59에서는, 적응 오프셋 필터(81)는 가역 복호부(62)로부터 공급되는 부호화 정보에 포함되는 필터 파라미터에 따라서, 디블록 필터(31b)로부터의 필터 화상에, 적응 오프셋 필터를 적용한다. 적응 오프셋 필터(81)는 적응 오프셋 필터의 적용 결과 얻어지는 필터 화상을, ALF(82)에 공급하여, 처리는 스텝 S59로부터 스텝 S60으로 진행한다.
ALF(82)는 적응 오프셋 필터(81)로부터의 필터 화상에, ALF를 적용하고, 그 결과 얻어지는 필터 화상을, 재배열 버퍼(67) 및 프레임 메모리(69)에 공급하여, 처리는 스텝 S61로 진행한다.
스텝 S61에서는, 프레임 메모리(69)는 ALF(82)로부터 공급되는 필터 화상을 일시 기억하고, 처리는 스텝 S62로 진행한다. 프레임 메모리(69)에 기억된 필터 화상(복호 화상)은 스텝 S53의 인트라 예측 또는 인터 예측에서, 예측 화상을 생성하는 근본이 되는 참조 화상으로서 사용된다.
스텝 S62에서는, 재배열 버퍼(67)는 ALF(82)로부터 공급되는 필터 화상을, 표시순으로 재배열하고, D/A 변환부(68)에 공급하여, 처리는 스텝 S63으로 진행한다.
스텝 S63에서는, D/A 변환부(68)는 재배열 버퍼(67)로부터의 필터 화상을 D/A 변환하고, 복호 처리는 종료한다. D/A 변환 후의 필터 화상(복호 화상)은 도시하지 않은 디스플레이에 출력되어 표시된다.
도 123의 인트라 예측부(34) 및 도 125의 인트라 예측부(71)가 행하는 인트라 예측에는, MIP가 포함된다. 인트라 예측부(34) 및 (71)에 있어서, MIP의 예측 화상의 생성은 제2 내지 제4 생성 방법 중 어느 것에서 행해진다.
<기타>
본 기술은 임의의 화상 부호화·복호 방식에 적용할 수 있다. 즉, 상술한 본 기술과 모순되지 않는 한, 변환(역변환), 양자화(역양자화), 부호화(복호), 예측 등, 화상 부호화·복호에 관한 각종 처리의 사양은 임의이고, 상술한 예에 한정되지 않는다. 또한, 상술한 본 기술과 모순되지 않는 한, 이들 처리 중 일부를 생략해도 된다.
또한, 본 명세서에 있어서, 화상(픽처)의 부분 영역이나 처리 단위로서 설명에 사용하는 「블록」(처리부를 나타내는 블록이 아님)은, 특별히 언급하지 않는 한, 픽처 내의 임의의 부분 영역을 나타내고, 그 크기, 형상 및 특성 등은 한정되지 않는다. 예를 들어, 「블록」에는, 참조 문헌 REF1 내지 REF3 등에 기재된 TB(Transform Block), TU(Transform Unit), PB(Prediction Block), PU(Prediction Unit), SCU(Smallest Coding Unit), CU(Coding Unit), LCU(Largest Coding Unit), CTB(Coding Tree Block), CTU(Coding Tree Unit), 변환 블록, 서브 블록, 매크로 블록, 타일 또는 슬라이스 등, 임의의 부분 영역(처리 단위)이 포함되는 것으로 한다.
이상에 있어서 설명한 각종 정보가 설정되는 데이터 단위나, 각종 처리가 대상으로 하는 데이터 단위는, 각각 임의이며 상술한 예에 한정되지 않는다. 예를 들어, 이들 정보나 처리가 각각 TU(Transform Unit), TB(Transform Block), PU(Prediction Unit), PB(Prediction Block), CU(Coding Unit), LCU(Largest Coding Unit), 서브 블록, 블록, 타일, 슬라이스, 픽처, 시퀀스 또는 컴포넌트마다 설정되도록 해도 되고, 그들 데이터 단위의 데이터를 대상으로 하도록 해도 된다. 물론, 이 데이터 단위는 정보나 처리마다 설정될 수 있는 것이며, 모든 정보나 처리의 데이터 단위가 통일되어 있을 필요는 없다. 또한, 이들 정보의 저장 장소는 임의이며, 상술한 데이터 단위의 헤더나 파라미터 세트 등에 저장되도록 해도 된다. 또한, 복수 개소에 저장되도록 해도 된다.
이상에 있어서 설명한 본 기술에 관한 제어 정보를 부호화측으로부터 복호측으로 전송하도록 해도 된다. 예를 들어, 상술한 본 기술을 적용하는 것을 허가(또는 금지)할지 여부를 제어하는 제어 정보(예를 들어 enabled_flag)를 전송하도록 해도 된다. 또한, 예를 들어 상술한 본 기술을 적용하는 대상(또는 적용하지 않는 대상)을 나타내는 제어 정보를 전송하도록 해도 된다. 예를 들어, 본 기술을 적용하는(또는, 적용을 허가 혹은 금지하는) 블록 사이즈(상한 혹은 하한, 또는 그 양쪽), 프레임, 컴포넌트 또는 레이어 등을 지정하는 제어 정보를 전송하도록 해도 된다.
본 기술을 적용하는 블록의 사이즈를 지정하는 데 있어서, 직접적으로 블록 사이즈를 지정할 뿐만 아니라, 간접적으로 블록 사이즈를 지정하도록 해도 된다. 예를 들어 사이즈를 식별하는 식별 데이터를 사용하여 블록 사이즈를 지정하도록 해도 된다. 또한, 예를 들어 기준이 되는 블록(예를 들어 LCU나 SCU 등)의 사이즈와의 비 또는 차분에 의해 블록 사이즈를 지정하도록 해도 된다. 예를 들어, 신택스 요소 등으로서 블록 사이즈를 지정하는 정보를 전송하는 경우에, 그 정보로서, 상술한 바와 같은 간접적으로 사이즈를 지정하는 정보를 사용하도록 해도 된다. 이와 같이 함으로써, 그 정보의 정보량을 저감시킬 수 있어, 부호화 효율을 향상시킬 수 있는 경우도 있다. 또한, 이 블록 사이즈의 지정에는, 블록 사이즈의 범위의 지정(예를 들어, 허용되는 블록 사이즈의 범위의 지정 등)도 포함한다.
또한, 본 명세서에 있어서 「식별 데이터」란, 복수의 상태를 식별하기 위한 정보이며, 「플래그」 그 밖의 명칭의 것이 포함된다. 또한, 「식별 데이터」에는, 진짜(1) 또는 가짜(0)의 2 상태를 식별할 때에 사용하는 정보뿐만 아니라, 3 이상의 상태를 식별하는 것이 가능한 정보도 포함된다. 따라서, 이 「식별 데이터」가 취할 수 있는 값은, 예를 들어 1/0의 2값이어도 되고, 3값 이상이어도 된다. 즉, 이 「식별 데이터」를 구성하는 bit수는 임의이며, 1 bit여도 복수 bit여도 된다. 또한, 식별 데이터는 그 식별 데이터를 비트 스트림에 포함하는 형태뿐만 아니라, 어떤 기준이 되는 정보에 대한 식별 데이터의 차분 정보를 비트 스트림에 포함하는 형태도 상정되기 때문에, 본 명세서에 있어서는, 「식별 데이터」는 그 정보뿐만 아니라, 기준이 되는 정보에 대한 차분 정보도 포함한다.
또한, 부호화 데이터(비트 스트림)에 관한 각종 정보(메타데이터 등)는, 부호화 데이터에 관련지어져 있으면, 어떤 형태로 전송 또는 기록되도록 해도 된다. 여기서, 「관련짓는다」는 용어는, 예를 들어 한쪽의 데이터를 처리할 때에 다른 쪽의 데이터를 이용할 수 있도록(링크시킬 수 있도록) 하는 것을 의미한다. 즉, 서로 관련지어진 데이터는, 하나의 데이터로서 모아져도 되고, 각각 개별의 데이터로 해도 된다. 예를 들어, 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 전송로 상에서 전송되도록 해도 된다. 또한, 예를 들어 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에어리어)에 기록되도록 해도 된다. 또한, 이 「관련지음」은 데이터 전체가 아니라, 데이터가 일부여도 된다. 예를 들어, 화상과 그 화상에 대응하는 정보가, 복수 프레임, 1 프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어지게 해도 된다.
또한, 본 명세서에 있어서, 「합성한다」, 「다중화한다」, 「부가한다」, 「일체화한다」, 「포함한다」, 「저장한다」, 「집어넣다」, 「꽂아넣다」, 「삽입한다」 등의 용어는, 예를 들어 부호화 데이터와 메타데이터를 하나의 데이터로 통합한다고 하는, 복수의 물(物)을 하나로 통합하는 것을 의미하고, 상술한 「관련짓는다」의 하나의 방법을 의미한다.
본 기술은, 장치 또는 시스템을 구성하는 각종 구성, 예를 들어 시스템 LSI(Large Scale Integration) 등으로서의 프로세서, 복수의 프로세서 등을 사용하는 모듈, 복수의 모듈 등을 사용하는 유닛, 유닛에 추가로 그 밖의 기능을 부가한 세트 등(즉, 장치의 일부 구성)로서 실시할 수도 있다.
<본 기술을 적용한 컴퓨터의 설명>
이어서, 상술한 일련의 처리 전부 또는 일부는 하드웨어에 의해 행할 수도 있고, 소프트웨어에 의해 행할 수도 있다. 일련의 처리 전부 또는 일부를 소프트웨어에 의해 행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 범용의 컴퓨터 등에 인스톨된다.
도 127은 상술한 일련의 처리 전부 또는 일부를 실행하는 프로그램이 인스톨되는 컴퓨터의 일 실시 형태의 구성예를 나타내는 블록도이다.
프로그램은, 컴퓨터에 내장되어 있는 기록 매체로서의 하드 디스크(905)나 ROM(903)에 미리 기록해둘 수 있다.
혹은 또한, 프로그램은 드라이브(909)에 의해 구동되는 리무버블 기록 매체(911)에 저장(기록)해둘 수 있다. 이러한 리무버블 기록 매체(911)는 소위 패키지 소프트웨어로서 제공할 수 있다. 여기서, 리무버블 기록 매체(911)로서는, 예를 들어 플렉시블 디스크, CD-ROM(Compact Disc Read Only Memory), MO(Magneto Optical) 디스크, DVD(Digital Versatile Disc), 자기 디스크, 반도체 메모리 등이 있다.
또한, 프로그램은 상술한 바와 같은 리무버블 기록 매체(911)로부터 컴퓨터에 인스톨하는 것 외에도, 통신망이나 방송망을 통해 컴퓨터에 다운로드하고, 내장하는 하드 디스크(905)에 인스톨할 수 있다. 즉, 프로그램은, 예를 들어 다운로드 사이트로부터, 디지털 위성 방송용의 인공 위성을 통해 컴퓨터에 무선으로 전송하거나, LAN(Local Area Network), 인터넷이라는 네트워크를 통해 컴퓨터에 유선으로 전송할 수 있다.
컴퓨터는 CPU(Central Processing Unit)(902)를 내장하고 있으며, CPU(902)에는, 버스(901)를 통해 입출력 인터페이스(910)가 접속되어 있다.
CPU(902)는 입출력 인터페이스(910)를 통해, 유저에 의해 입력부(907)가 조작되거나 함으로써 명령이 입력되면, 그것에 따라서, ROM(Read Only Memory)(903)에 저장되어 있는 프로그램을 실행한다. 혹은, CPU(902)는 하드 디스크(905)에 저장된 프로그램을, RAM(Random Access Memory)(904)에 로드하여 실행한다.
이에 의해, CPU(902)는 상술한 흐름도에 따른 처리, 혹은 상술한 블록도의 구성에 의해 행해지는 처리를 행한다. 그리고, CPU(902)는 그 처리 결과를, 필요에 따라서, 예를 들어 입출력 인터페이스(910)를 통해, 출력부(906)로부터 출력, 혹은 통신부(908)로부터 송신, 나아가 하드 디스크(905)에 기록시키거나 한다.
또한, 입력부(907)는 키보드나 마우스, 마이크 등으로 구성된다. 또한, 출력부(906)는 LCD(Liquid Crystal Display)나 스피커 등으로 구성된다.
여기서, 본 명세서에 있어서, 컴퓨터가 프로그램에 따라서 행하는 처리는, 반드시 흐름도로서 기재된 순서를 따라서 시계열에 행해질 필요는 없다. 즉, 컴퓨터가 프로그램에 따라서 행하는 처리는, 병렬적 혹은 개별로 실행되는 처리(예를 들어, 병렬 처리 혹은 오브젝트에 의한 처리)도 포함한다.
또한, 프로그램은 하나의 컴퓨터(프로세서)에 의해 처리되는 것이어도 되고, 복수의 컴퓨터에 의해 분산 처리되는 것이어도 된다. 또한, 프로그램은 먼 곳의 컴퓨터에 전송되어 실행되는 것이어도 된다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하고, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 상관없다. 따라서, 별개의 하우징에 수납되어, 네트워크를 통하여 접속되어 있는 복수의 장치, 및 하나의 하우징 내에 복수의 모듈이 수납되어 있는 하나의 장치는, 모두 시스템이다.
또한, 본 기술의 실시 형태는 상술한 실시 형태에 한정되는 것은 아니며, 본 기술의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
예를 들어, 본 기술은 하나의 기능을 네트워크를 통하여 복수의 장치에서 분담, 공동하여 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한, 상술한 흐름도에서 설명한 각 스텝은, 하나의 장치에서 실행하는 것 외에도, 복수의 장치에서 분담하여 실행할 수 있다.
또한, 하나의 스텝에 복수의 처리가 포함되는 경우에는, 그 하나의 스텝에 포함되는 복수의 처리는, 하나의 장치에서 실행하는 것 외에도, 복수의 장치에서 분담하여 실행할 수 있다.
또한, 본 명세서에 기재된 효과는 어디까지나 예시이며 한정되는 것은 아니며, 다른 효과가 있어도 된다.
10: 화상 처리 시스템
11: 인코더
21: A/D 변환부
22: 재배열 버퍼
23: 연산부
24: 직교 변환부
25: 양자화부
26: 가역 부호화부
27: 축적 버퍼
28: 역양자화부
29: 역직교 변환부
30: 연산부
31a, 31b: 디블록 필터
32: 프레임 메모리
33: 선택부
34: 인트라 예측부
35: 움직임 예측 보상부
36: 예측 화상 선택부
37: 레이트 제어부
41: 적응 오프셋 필터
42: ALF
51: 디코더
61: 축적 버퍼
62: 가역 복호부
63: 역양자화부
64: 역직교 변환부
65: 연산부
67: 재배열 버퍼
68: D/A 변환부
69: 프레임 메모리
70: 선택부
71: 인트라 예측부
72: 움직임 예측 보상부
73: 선택부
81: 적응 오프셋 필터
82: ALF
901: 버스
902: CPU
903: ROM
904: RAM
905: 하드 디스크
906: 출력부
907: 입력부
908: 통신부
909:드라이브
910: 입출력 인터페이스
911: 리무버블 기록 매체

Claims (14)

  1. 부호화의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 상기 행렬 인트라 예측을 행하고, 상기 커런트 예측 블록의 예측 화상을 생성하는 인트라 예측부와,
    상기 인트라 예측부에 의해 생성된 상기 예측 화상을 사용하여, 상기 커런트 예측 블록을 부호화하는 부호화부
    를 구비하는 화상 처리 장치.
  2. 제1항에 있어서, 상기 인트라 예측부는, 고정값으로 설정된 시프트량에 따라서 변경된 연산에 따라서, 상기 행렬 인트라 예측을 행하는
    화상 처리 장치.
  3. 제2항에 있어서, 상기 인트라 예측부는, 고정값으로 설정된 시프트량에 따라서 변경된 웨이트 매트릭스를 포함하는 연산에 따라서, 상기 행렬 인트라 예측을 행하는
    화상 처리 장치.
  4. 제3항에 있어서, 상기 인트라 예측부는, 고정값으로 설정된 시프트량에 따라서 변경된 바이어스 벡터 또는 변수 fO를 포함하는 연산에 따라서, 상기 행렬 인트라 예측을 행하는
    화상 처리 장치.
  5. 제2항에 있어서, 상기 고정값은, 상기 행렬 인트라 예측에서 사용되는 매트릭스 사이즈에 따라서 설정된 값인
    화상 처리 장치.
  6. 제5항에 있어서, 상기 고정값은, 상기 행렬 인트라 예측에서 사용되는 매트릭스 사이즈의 식별자마다 설정된 고정값인
    화상 처리 장치.
  7. 제6항에 있어서, 상기 고정값은, 상기 매트릭스 사이즈의 식별자의 값이 0인 경우, 6인
    화상 처리 장치.
  8. 제6항에 있어서, 상기 고정값은, 상기 매트릭스 사이즈의 식별자의 값이 1인 경우, 7인
    화상 처리 장치.
  9. 제6항에 있어서, 상기 고정값은, 상기 매트릭스 사이즈의 식별자의 값이 2인 경우, 6인
    화상 처리 장치.
  10. 제2항에 있어서, 상기 고정값은 6인
    화상 처리 장치.
  11. 제2항에 있어서, 상기 고정값은 8인
    화상 처리 장치.
  12. 부호화의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 상기 행렬 인트라 예측을 행하고, 상기 커런트 예측 블록의 예측 화상을 생성하는 인트라 예측 공정과,
    상기 인트라 예측 공정에 있어서 생성된 상기 예측 화상을 사용하여, 상기 커런트 예측 블록을 부호화하는 부호화 공정
    을 포함하는 화상 처리 방법.
  13. 복호의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 상기 행렬 인트라 예측을 행하고, 상기 커런트 예측 블록의 예측 화상을 생성하는 인트라 예측부와,
    상기 인트라 예측부에 의해 생성된 상기 예측 화상을 사용하여, 상기 커런트 예측 블록을 복호하는 복호부
    를 구비하는 화상 처리 장치.
  14. 복호의 대상의 커런트 예측 블록에 대하여 행렬 연산을 사용한 인트라 예측인 행렬 인트라 예측을 행할 때, 고정값으로 설정된 시프트량을 사용하여, 상기 행렬 인트라 예측을 행하고, 상기 커런트 예측 블록의 예측 화상을 생성하는 인트라 예측 공정과,
    상기 인트라 예측 공정에 있어서 생성된 상기 예측 화상을 사용하여, 상기 커런트 예측 블록을 복호하는 복호 공정
    을 포함하는 화상 처리 방법.
KR1020217038773A 2019-06-19 2020-06-08 화상 처리 장치 및 화상 처리 방법 KR20220021471A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962863664P 2019-06-19 2019-06-19
US62/863,664 2019-06-19
US201962866281P 2019-06-25 2019-06-25
US62/866,281 2019-06-25
PCT/JP2020/022485 WO2020255769A1 (ja) 2019-06-19 2020-06-08 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
KR20220021471A true KR20220021471A (ko) 2022-02-22

Family

ID=74037296

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217038773A KR20220021471A (ko) 2019-06-19 2020-06-08 화상 처리 장치 및 화상 처리 방법

Country Status (13)

Country Link
US (1) US20220353546A1 (ko)
EP (2) EP4274230A3 (ko)
JP (1) JPWO2020255769A1 (ko)
KR (1) KR20220021471A (ko)
CN (1) CN114051733A (ko)
DK (1) DK3989578T3 (ko)
ES (1) ES2962996T3 (ko)
FI (1) FI3989578T3 (ko)
HU (1) HUE063717T2 (ko)
LT (1) LT3989578T (ko)
PL (1) PL3989578T3 (ko)
SI (1) SI3989578T1 (ko)
WO (1) WO2020255769A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112021006724A2 (pt) * 2019-06-25 2022-02-01 Guangdong Oppo Mobile Telecommunications Corp Ltd Método de conversão de figuração em código aplicado a um codificador, método de decodificação de figuração aplicado a um decodificador, decodificador, e mídia de armazenamento legível por computador
GB2588406B (en) * 2019-10-22 2022-12-07 British Broadcasting Corp Video encoding and video decoding

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102086145B1 (ko) * 2010-12-13 2020-03-09 한국전자통신연구원 인트라 예측 방법 및 그 장치
EP4054193A4 (en) * 2019-12-20 2023-01-25 Sony Group Corporation IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JVET-00084-vl: 8-bit implementation and simplification of MIP(version 1 - date 2019-06-18)
JVET-N0217-v3: CE3: Affine linear weighted intra prediction(CE3-4.1, CE3-4.2)(version 7 - date 2019-01-17)

Also Published As

Publication number Publication date
HUE063717T2 (hu) 2024-01-28
EP3989578A1 (en) 2022-04-27
CN114051733A (zh) 2022-02-15
EP3989578A4 (en) 2022-08-17
WO2020255769A1 (ja) 2020-12-24
EP3989578B1 (en) 2023-09-13
JPWO2020255769A1 (ko) 2020-12-24
PL3989578T3 (pl) 2024-02-26
DK3989578T3 (da) 2023-10-30
EP4274230A2 (en) 2023-11-08
EP4274230A3 (en) 2024-01-17
ES2962996T3 (es) 2024-03-22
LT3989578T (lt) 2023-11-10
SI3989578T1 (sl) 2024-02-29
US20220353546A1 (en) 2022-11-03
FI3989578T3 (fi) 2023-11-02

Similar Documents

Publication Publication Date Title
US11800111B2 (en) Encoding method that encodes a first denominator for a luma weighting factor, transfer device, and decoding method
JP7283389B2 (ja) 画像処理装置および方法
JP2022517081A (ja) イントラ・サブパーティション・コーディング・ツールによって引き起こされるサブパーティション境界のためのデブロッキングフィルタ
KR20200092315A (ko) 화상 처리 장치 및 방법
JP7444159B2 (ja) 画像処理装置及び画像処理方法
KR20220021471A (ko) 화상 처리 장치 및 화상 처리 방법
JP7456441B2 (ja) 画像処理装置及び画像処理方法
WO2021125317A1 (ja) 画像処理装置及び画像処理方法
JP6419934B2 (ja) 電子機器、符号化方法及びプログラム
JP6262381B2 (ja) 電子機器、復号方法及びプログラム
JPWO2015045301A1 (ja) 映像符号化装置、映像符号化方法および映像符号化プログラム
JP2024069447A (ja) 画像処理装置及び画像処理方法
US20220078416A1 (en) Image processing device and image processing method
JP6682594B2 (ja) 符号化方法および復号方法
JP6262380B2 (ja) 電子機器、復号方法及びプログラム
JP6132950B2 (ja) 符号化方法、復号方法、符号化装置、及び復号装置
KR20220022482A (ko) 화상 처리 장치 및 화상 처리 방법
KR20220053561A (ko) 화상 처리 장치 및 화상 처리 방법
JP5957513B2 (ja) 動画像復号化方法
JP2020074609A (ja) 記憶装置、送信装置、受信装置及び符号化データ