KR20240043648A - 동화상 부호화 장치, 동화상 복호 장치 - Google Patents

동화상 부호화 장치, 동화상 복호 장치 Download PDF

Info

Publication number
KR20240043648A
KR20240043648A KR1020230019977A KR20230019977A KR20240043648A KR 20240043648 A KR20240043648 A KR 20240043648A KR 1020230019977 A KR1020230019977 A KR 1020230019977A KR 20230019977 A KR20230019977 A KR 20230019977A KR 20240043648 A KR20240043648 A KR 20240043648A
Authority
KR
South Korea
Prior art keywords
information
image
unit
inverse
resolution
Prior art date
Application number
KR1020230019977A
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 KR20240043648A publication Critical patent/KR20240043648A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/172Methods 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 picture, frame or field
    • 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/186Methods 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 colour or a chrominance component
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)

Abstract

[과제] 종래의 뉴럴 네트워크 포스트필터 특성 SEI의 사양에서는, 포스트필터 처리를 실행하기 위해서는 픽처 단위로 SEI를 전송할 필요가 있어, 모든 픽처에서 동일한 포스트필터 처리를 수행하는 경우에는 장황하다고 하는 과제가 있다.
[해결 수단] 본 발명의 일 태양에 관한 동화상 복호 장치는 부호화 데이터를 복호하여 복호 화상을 생성하는 화상 복호 장치와, 시퀀스 단위로 역변환 정보를 보조 확장 정보로서 복호하는 역변환 정보 복호 장치와, 상기 복호 화상을 상기 역변환 정보를 이용하여 지정된 해상도로 변환을 수행하는 뉴럴 네트워크를 이용한 해상도 역변환 장치를 가지며, 상기 역변환 정보를 이용한 해상도 역변환 처리를 시퀀스 단위로 적용할지 픽처 단위로 적용할지의 정보를 복호하는 것을 특징으로 한다.

Description

동화상 부호화 장치, 동화상 복호 장치{MOVING IMAGE CODING DEVICE AND MOVING IMAGE DECODING DEVICE}
본 발명의 실시형태는 동화상 부호화 장치, 동화상 복호 장치에 관한 것이다.
동화상을 효율적으로 전송 또는 기록하기 위해, 동화상을 부호화함으로써 부호화 데이터를 생성하는 동화상 부호화 장치, 및 당해 부호화 데이터를 복호함으로써 복호 화상을 생성하는 동화상 복호 장치가 이용되고 있다.
구체적인 동화상 부호화 방식으로서는, 예를 들어 H.264/AVC, H.265/HEVC(High-Efficiency Video Coding), H.266/Versatile Video Coding(VVC) 방식 등을 들 수 있다.
이러한 동화상 부호화 방식에서는, 동화상을 구성하는 화상(픽처)은 화상을 분할함으로써 얻어지는 슬라이스, 슬라이스를 분할함으로써 얻어지는 부호화 트리 유닛(CTU: Coding Tree Unit), 부호화 트리 유닛을 분할함으로써 얻어지는 부호화 단위(부호화 유닛(Coding Unit: CU)으로 불리는 경우도 있다), 및 부호화 단위를 분할함으로써 얻어지는 변환 유닛(TU: Transform Unit)으로 이루어진 계층 구조에 의해 관리되며, CU별로 부호화/복호된다.
또한, 이러한 동화상 부호화 방식에서는, 통상, 입력 화상을 부호화/복호함으로써 얻어지는 국소 복호 화상을 기초로 예측 화상이 생성되고, 당해 예측 화상을 입력 화상(원화상)으로부터 감산하여 얻어지는 예측 오차(「차분 화상」 또는 「잔차 화상」이라고 부르는 경우도 있다)가 부호화된다. 예측 화상의 생성 방법으로서는, 화면간 예측(인터 예측) 및 화면내 예측(인트라 예측)을 들 수 있다.
H.274에는, 화상의 성질이나, 표시 방법, 타이밍 등을 부호화 데이터와 동시에 전송하기 위한 보조 확장 정보 SEI(Supplemental Enhancement Information) message가 규정되어 있다.
비특허문헌 1에서는, 포스트필터로서 이용되는 뉴럴 네트워크 필터의 토폴로지와 파라미터를 랜덤 액세스 가능한 단위로 전송하는 SEI가 개시되어 있다. 또한, 포스트필터 처리를 수행할지를 픽처 단위로 전송하는 SEI가 개시되어 있다.
S. McCarthy, T. Chujoh, M. M. Hannuksela, G. J. Sullivan and Y.-K. Wang, "Additional SEI messages for VSEI (Draft 1)," JVET-AA2006-v2, Aug.19, 2022.
그러나, 비특허문헌 1에서 개시되어 있는 방법에서는 포스트필터 처리를 실행하기 위해서는 픽처 단위로 SEI를 전송할 필요가 있어, 모든 픽처에서 동일한 포스트필터 처리를 수행하는 경우에는 장황하다고 하는 과제가 있었다.
본 발명의 일 태양에 관한 동화상 복호 장치는 부호화 데이터를 복호하여 복호 화상을 생성하는 화상 복호 장치와, 시퀀스 단위로 역변환 정보를 보조 확장 정보로서 복호하는 역변환 정보 복호 장치와, 상기 복호 화상을 상기 역변환 정보를 이용하여 지정된 해상도로 변환을 수행하는 뉴럴 네트워크를 이용한 해상도 역변환 장치를 가지며, 상기 역변환 정보를 이용한 해상도 역변환 처리를 시퀀스 단위로 적용할지 픽처 단위로 적용할지의 정보를 복호하는 것을 특징으로 한다.
또한, 본 발명의 일 태양에 관한 동화상 복호 장치는 부호화 데이터를 복호하여 복호 화상을 생성하는 화상 복호 장치와, 역변환 정보를 보조 확장 정보로서 시퀀스 단위로 복호하는 역변환 정보 복호 장치와, 상기 복호 화상을 상기 역변환 정보를 이용하여 지정된 해상도로 변환을 수행하는 뉴럴 네트워크를 이용한 해상도 역변환 장치를 가지며, 상기 역변환 정보를 이용한 해상도 역변환 처리를 계층별로 적용할지의 정보를 복호하는 것을 특징으로 한다.
또한, 본 발명의 일 태양에 관한 동화상 부호화 장치는 화상을 부호화하여 부호화 데이터를 생성하는 화상 부호화 장치와, 상기 부호화 데이터를 복호했을 때의 복호 화상의 해상도를 역변환하기 위한 역변환 정보를 생성하는 역변환 정보 생성 장치와, 상기 역변환 정보를 보조 확장 정보로서 시퀀스 단위로 부호화하는 역변환 정보 부호화 장치를 가지며, 상기 역변환 정보를 이용한 해상도 역변환 처리를 시퀀스 단위로 적용할지 픽처 단위로 적용할지의 정보를 부호화하는 것을 특징으로 한다.
또한, 본 발명의 일 태양에 관한 동화상 부호화 장치는 화상을 부호화하여 부호화 데이터를 생성하는 화상 부호화 장치와, 상기 부호화 데이터를 복호했을 때의 복호 화상의 해상도를 역변환하기 위한 역변환 정보를 생성하는 역변환 정보 생성 장치와, 상기 역변환 정보를 보조 확장 정보로서 시퀀스 단위로 부호화하는 역변환 정보 부호화 장치를 가지며, 상기 역변환 정보를 이용한 해상도 역변환 처리를 계층별로 적용할지의 정보를 부호화하는 것을 특징으로 한다.
이와 같은 구성으로 함으로써, 포스트필터 처리를 수행하는 경우에는 장황하게 되는 경우가 있다는 과제를 해결할 수 있다.
도 1은 본 실시형태에 관한 동화상 전송 시스템의 구성을 나타내는 개략도이다.
도 2는 부호화 데이터의 계층 구조를 나타내는 도면이다.
도 3은 본 실시형태에 관한 동화상 전송 시스템에서 처리의 대상이 되는 화상의 개념도이다.
도 4는 참조 픽처 및 참조 픽처 리스트의 일 예를 나타내는 개념도이다.
도 5는 화상 복호 장치의 구성을 나타내는 개략도이다.
도 6은 화상 복호 장치의 개략적 동작을 설명하는 흐름도이다.
도 7은 화상 부호화 장치의 구성을 나타내는 블럭도이다.
도 8은 본 실시형태의 뉴럴 네트워크 포스트필터 특성 SEI 신택스를 나타내는 도면이다.
도 9는 다른 실시형태의 뉴럴 네트워크 포스트필터 특성 SEI 신택스를 나타내는 도면이다.
도 10은 뉴럴 네트워크 포스트필터 액티브화 SEI 신택스를 나타내는 도면이다.
도 11은 SEI 메시지의 컨테이너인 SEI 페이로드의 신택스를 나타내는 도면이다.
도 12는 NN 필터부(611)의 처리의 흐름도를 나타내는 도면이다.
도 13은 NN 필터부(611)의 뉴럴 네트워크의 구성을 나타내는 도면이다.
도 14는 NNR의 부호화 장치·복호 장치에 대해 나타내는 도면이다.
(제1 실시형태)
이하, 도면을 참조하면서 본 발명의 실시형태에 대하여 설명한다.
도 1은 본 실시형태에 관한 동화상 전송 시스템의 구성을 나타내는 개략도이다.
동화상 전송 시스템(1)은 해상도가 변환된 상이한 해상도의 화상을 부호화한 부호화 데이터를 전송하고, 전송된 부호화 데이터를 복호하여 화상을 원래 해상도로 역변환하여 표시하는 시스템이다. 동화상 전송 시스템(1)은 동화상 부호화 장치(10), 네트워크(21), 동화상 복호 장치(30), 화상 표시 장치(41)로 이루어진다.
동화상 부호화 장치(10)는 해상도 변환 장치(해상도 변환부)(51), 화상 부호화 장치(화상 부호화부)(11), 역변환 정보 작성 장치(역변환 정보 작성부)(71), 역변환 정보 부호화 장치(역변환 정보 부호화부)(81)로 구성된다.
동화상 복호 장치(30)는 화상 복호 장치(화상 복호부)(31), 해상도 역변환 장치(해상도 역변환부)(61) 및 역변환 정보 복호 장치(역변환 정보 복호부)(91)로 구성된다.
해상도 변환 장치(51)는 동화상에 포함되는 화상(T1)의 해상도를 변환하여, 상이한 해상도의 화상을 포함하는 가변 해상도 동화상(T2)을 화상 부호화 장치(11)에 공급한다. 또한, 해상도 변환 장치(51)는 화상의 해상도 변환의 유무를 나타내는 역변환 정보를 화상 부호화 장치(11)에 공급한다. 당해 정보가 해상도 변환을 나타내는 경우, 화상 부호화 장치(11)는 후술하는 해상도 변환 정보 ref_pic_resampling_enabled_flag를 1로 설정하고, 부호화 데이터(Te)의 시퀀스 파라미터 세트 SPS(Sequence Parameter Set)에 포함시켜 부호화한다.
역변환 정보 작성 장치(71)는 동화상에 포함되는 화상(T1)을 기초로 역변환 정보를 작성한다. 역변환 정보는 해상도 변환 전의 입력 화상(T1)과 해상도 변환 및 부호화, 복호 후의 화상(Td1)의 관계로부터 도출 혹은 선택된다.
역변환 정보 부호화 장치(81)에는 역변환 정보가 입력된다. 역변환 정보 부호화 장치(81)는 역변환 정보를 부호화하여 부호화된 역변환 정보를 생성하고, 네트워크(21)에 보낸다.
화상 부호화 장치(11)에는 가변 해상도 화상(T2)이 입력된다. 화상 부호화 장치(11)는 RPR(Reference Picture Resampling)의 틀을 이용하여, PPS 단위로 입력 화상의 화상 사이즈 정보를 부호화하여, 화상 복호 장치(31)에 보낸다.
도 1에서, 역변환 정보 부호화 장치(81)는 화상 부호화 장치(11)와 연결되어 있지 않으나, 역변환 정보 부호화 장치(81)와 화상 부호화 장치(11)는 적절히 필요한 정보를 통신할 수도 있다.
네트워크(21)는 부호화된 역변환 정보 및 부호화 데이터(Te)를 화상 복호 장치(31)에 전송한다. 부호화된 역변환 정보의 일부 또는 전부는 보조 확장 정보 SEI로서 부호화 데이터(Te)에 포함시켜질 수도 있다. 네트워크(21)는 인터넷(Internet), 광역 네트워크(WAN: Wide Area Network), 소규모 네트워크(LAN: Local Area Network) 또는 이들의 조합이다. 네트워크(21)는 반드시 양방향의 통신망으로 한정되지 않으며, 지상 디지털 방송, 위성 방송 등의 방송파를 전송하는 일방향의 통신망일 수도 있다. 또한, 네트워크(21)는 DVD(Digital Versatile Disc: 등록 상표), BD(Blu-ray Disc: 등록 상표) 등의 부호화 데이터(Te)를 기록한 저장 매체로 대체될 수도 있다.
화상 복호 장치(31)는 네트워크(21)가 전송한 부호화 데이터(Te)를 복호하여, 가변 해상도 복호 화상(Td1)을 생성하여 해상도 역변환 장치(61)에 공급한다.
역변환 정보 복호 장치(91)는 네트워크(21)가 전송한 부호화된 역변환 정보를 복호해 역변환 정보를 생성하여 해상도 역변환 장치(61)에 공급한다.
도 1에 있어서, 역변환 정보 복호 장치(91)는 화상 복호 장치(31)와는 별도로 도시되어 있지만, 역변환 정보 복호 장치(91)는 화상 복호 장치(31)에 포함될 수도 있다. 예를 들어, 역변환 정보 복호 장치(91)는 화상 복호 장치(31)의 각 기능부와는 별도로 화상 복호 장치(31)에 포함될 수도 있다. 또한, 도 1에서, 화상 복호 장치(31)와 연결되어 있지 않으나, 역변환 정보 복호 장치(91)와 화상 복호 장치(31)는 적절히 필요한 정보를 통신할 수도 있다.
해상도 역변환 장치(61)는 해상도 변환 정보가 해상도 변환을 나타내는 경우, 부호화 데이터나 역변환 정보에 포함되는 화상 사이즈 정보를 기초로, 화상 복호 장치(31)의 복호 화상을 해상도 변환된 화상으로 역변환한다. 해상도 변환된 화상을 역변환하는 방법으로서, 뉴럴 네트워크를 이용한 초해상 처리 등의 포스트필터 처리 등이 있다.
또한, 해상도 역변환 장치(61)는 해상도 변환 정보가 등배(等倍)의 해상도를 나타내는 경우, 뉴럴 네트워크를 이용한 포스트필터 처리를 수행하고, 입력 화상(T1)으로 복원하는 해상도 역변환 처리를 실행하여, 복호 화상(Td2)을 생성할 수도 있다.
아울러, 여기서 해상도 변환, 해상도 역변환이란, 화상 사이즈의 변경뿐만 아니라, 색차 신호 포맷의 변환, 즉, 4:2:0과 4:2:2와 4:4:4의 변환 등도 포함된다. 또한, 화상 사이즈가 등배인 변환, 역변환에서도 동일한 논의가 가능하다.
화상 표시 장치(41)는 해상도 역변환 장치(61)로부터 입력된 1 또는 복수의 복호 화상(Td2)의 전부 또는 일부를 표시한다. 화상 표시 장치(41)는 예를 들어 액정 디스플레이, 유기 EL(Electro-luminescence) 디스플레이 등의 표시 디바이스를 구비한다. 디스플레이의 형태로서는, 거치, 모바일, HMD 등을 들 수 있다. 또한, 화상 복호 장치(31)가 높은 처리 능력을 갖는 경우에는, 화질이 높은 화상을 표시하고, 보다 낮은 처리 능력밖에 갖지 않는 경우에는, 높은 처리 능력, 표시 능력을 필요로 하지 않는 화상을 표시한다.
도 3은 도 1에 나타내는 동화상 전송 시스템에서 처리의 대상이 되는 화상의 개념도이며, 시간의 경과에 수반하는 당해 화상의 해상도의 변화를 나타내는 도면이다. 다만, 도 3에서는, 화상이 부호화되어 있는지 여부를 구별하고 있지 않다. 도 3은 동화상 전송 시스템의 처리 과정에서, 해상도를 저하시켜 화상 복호 장치(31)에 화상을 전송하는 예를 나타내고 있다. 도 3에 나타내는 바와 같이, 통상, 해상도 변환 장치(51)는 전송되는 정보의 정보량을 적게 하기 위해 화상의 해상도를 입력 화상의 해상과 동일하거나 그 이하로 하는 변환을 수행한다.
<연산자>
본 명세서에서 이용하는 연산자를 이하에 기재한다.
>>는 우측 비트 시프트, <<는 좌측 비트 시프트, &는 비트와이즈 AND, |은 비트와이즈 OR, |=은 OR 대입 연산자이고, ||은 논리합을 나타낸다.
x ? y :z는 x가 참(0 이외)인 경우에 y, x가 거짓(0)인 경우에 z를 취하는 3항 연산자이다.
Clip3(a, b, c)는 c를 a 이상 b 이하의 값으로 클립하는 함수이며, c<a의 경우에는 a를 반환(return)하고, c>b의 경우에는 b를 반환하고, 그 외의 경우에는 c를 반환하는 함수이다(단, a<=b).
abs(a)는 a의 절대값을 반환하는 함수이다.
Int(a)는 a의 정수값을 반환하는 함수이다.
floor(a)는 a 이하의 최대 정수를 반환하는 함수이다.
ceil(a)는 a 이상의 최소 정수를 반환하는 함수이다.
a/d는 d에 의한 a의 나눗셈(소수점 이하 버림)을 나타낸다.
a^b는 power(a, b)를 나타낸다. a=2의 경우 1<<b와 동일하다.
<부호화 데이터(Te)의 구조>
본 실시형태에 관한 화상 부호화 장치(11) 및 화상 복호 장치(31)의 상세한 설명에 앞서, 화상 부호화 장치(11)에 의해 생성되고, 화상 복호 장치(31)에 의해 복호되는 부호화 데이터(Te)의 데이터 구조에 대하여 설명한다.
부호화 데이터(Te)는 복수 CVS(Coded Video Sequence)와 EoB(End of Bitstream) NAL unit으로 구성된다. CVS는 복수의 AU(Access Unit)와 EoS(End of Sequence) NAL unit으로 구성된다. CVS 선두의 AU는 CVSS(Coded Video Sequence Start) AU라고 부른다. CVS를 레이어별로 분할한 단위를 CLVS(Coded Layer Video Sequence)라고 부른다. AU는 동일 출력 시각의 하나 혹은 복수의 레이어의 PU(Picture Unit)로 이루어진다. 만약, Multilayer의 부호화 방식을 채용하지 않는 경우에는, AU는 하나의 PU로 이루어진다. PU는 복수의 NAL 유닛으로 구성되는 하나의 복호 픽처의 부호화 데이터의 단위이다. CLVS는 동일 레이어의 PU로 구성되어 있으며, CLVS 선두의 PU는 CLVSS(Coded Layer Video Sequence Start) PU라고 부른다. CLVSS PU는 랜덤 액세스 가능한 IRAP(Intra Random Access Pictures)나 GDR(Gradual Decoder Refresh Picture)이 되는 PU로 한정된다. NAL 유닛은 NaL unit header와 RBSP(Raw Byte Sequence Payload) 데이터로 구성되어 있다. 그리고, NaL unit header는 2 비트의 0 데이터에 이어, 레이어값을 나타내는 6 비트의 nuh_layer_id와, NAL 유닛 타입을 나타내는 5 비트의 nuh_unit_type과 Temporal ID값에 1 플러스된 값의 3 비트의 nuh_temporal_id_plus1로 구성된다.
도 2는 PU 단위로의 부호화 데이터(Te)에서의 데이터의 계층 구조를 나타내는 도면이다. 부호화 데이터(Te)는 예시적으로, 시퀀스 및 시퀀스를 구성하는 복수의 픽처를 포함한다. 도 2에는, 시퀀스 SEQ를 규정하는 부호화 비디오 시퀀스, 픽처 PICT를 규정하는 부호화 픽처, 슬라이스 S를 규정하는 부호화 슬라이스, 슬라이스 데이터를 규정하는 부호화 슬라이스 데이터, 부호화 슬라이스 데이터에 포함되는 부호화 트리 유닛, 부호화 트리 유닛에 포함되는 부호화 유닛을 나타내는 도면이 나타나 있다.
(부호화 비디오 시퀀스)
부호화 비디오 시퀀스에서는, 처리 대상의 시퀀스 SEQ를 복호하기 위해 화상 복호 장치(31)가 참조하는 데이터의 집합이 규정되어 있다. 시퀀스 SEQ는 도 2에 나타내는 바와 같이, 비디오 파라미터 세트 VPS(Video Parameter Set), 시퀀스 파라미터 세트 SPS(Sequence Parameter Set), 픽처 파라미터 세트 PPS(Picture Parameter Set), Adaptation Parameter Set(APS), 픽처 PICT, 및 보조 확장 정보 SEI(Supplemental Enhancement Information)를 포함하고 있다.
비디오 파라미터 세트 VPS에서는, 복수의 레이어로 구성되어 있는 동화상에서, 복수의 동화상에 공통되는 부호화 파라미터의 집합 및 동화상에 포함되는 복수의 레이어 및 개개의 레이어와 관련된 부호화 파라미터의 집합이 규정되어 있다.
시퀀스 파라미터 세트 SPS에서는, 대상 시퀀스를 복호하기 위해 화상 복호 장치(31)가 참조하는 부호화 파라미터의 집합이 규정되어 있다. 예를 들어, 픽처의 폭이나 높이가 규정된다. 아울러, SPS는 복수 존재할 수도 있다. 그 경우, PPS로부터 복수의 SPS의 어느 것인가를 선택한다.
여기서, 시퀀스 파라미터 세트 SPS에는 이하의 신택스 요소가 포함된다.
·ref_pic_resampling_enabled_flag: 대상 SPS를 참조하는 단일 시퀀스에 포함되는 각 화상을 복호하는 경우에, 해상도를 가변으로 하는 기능(리샘플링: resampling)을 이용하는지 여부를 규정하는 플래그이다. 다른 측면에서 말하면, 당해 플래그는 예측 화상의 생성에서 참조되는 참조 픽처의 사이즈가, 단일 시퀀스가 나타내는 각 화상 사이에서 변화하는 것을 나타내는 플래그이다. 당해 플래그의 값이 1인 경우, 상기 리샘플링이 적용되고, 0인 경우, 적용되지 않는다.
·pic_width_max_in_luma_samples: 단일 시퀀스에서의 화상 중, 최대 폭을 갖는 화상의 폭을 휘도 블록 단위로 지정하는 신택스 요소이다. 또한, 당해 신택스 요소의 값은 0이 아닌 동시에, Max(8, MinCbSizeY)의 정수배인 것이 요구된다. 여기서, MinCbSizeY는 휘도 블록의 최소 사이즈에 의해 정해지는 값이다.
·pic_height_max_in_luma_samples: 단일 시퀀스에서의 화상 중, 최대 높이를 갖는 화상의 높이를 휘도 블록 단위로 지정하는 신택스 요소이다. 또한, 당해 신택스 요소의 값은 0이 아닌 동시에, Max(8, MinCbSizeY)의 정수배인 것이 요구된다.
픽처 파라미터 세트 PPS에서는, 대상 시퀀스 내의 각 픽처를 복호하기 위해 화상 복호 장치(31)가 참조하는 부호화 파라미터의 집합이 규정되어 있다. 아울러, PPS는 복수 존재할 수도 있다. 그 경우, 대상 시퀀스 내의 각 픽처로부터 복수의 PPS 중 어느 것인가를 선택한다.
여기서, 픽처 파라미터 세트 PPS에는 이하의 신택스 요소가 포함된다.
·pps_pic_width_in_luma_samples: 대상 픽처의 폭을 지정하는 신택스 요소이다. 당해 신택스 요소의 값은 0이 아니고, Max(8, MinCbSizeY)의 정수배인 동시에, sps_pic_width_max_in_luma_samples 이하의 값인 것이 요구된다.
·pps_pic_height_in_luma_samples: 대상 픽처의 높이를 지정하는 신택스 요소이다. 당해 신택스 요소의 값은 0이 아니고, Max(8, MinCbSizeY)의 정수배인 동시에, sps_pic_height_max_in_luma_samples 이하의 값인 것이 요구된다.
·pps_conformance_window_flag: 컨포먼스(크로핑) 윈도우 오프셋 파라미터가 계속해서 통지되는지 여부를 나타내는 플래그이며, 컨포먼스 윈도우를 표시하는 장소를 나타내는 플래그이다. 이 플래그가 1인 경우, 당해 파라미터가 통지되고, 0인 경우, 컨포먼스 윈도우 오프셋 파라미터가 존재하지 않는 것을 나타낸다.
·pps_conf_win_left_offset, pps_conf_win_right_offset, pps_conf_win_top_offset, pps_conf_win_bottom_offset: 출력용 픽처 좌표로 지정되는 직사각형 영역에 관하여, 복호 처리로 출력되는 픽처의 좌, 우, 상, 하 위치를 지정하기 위한 오프셋 값이다. 또한, pps_conformance_window_flag의 값이 0인 경우, pps_conf_win_left_offset, pps_conf_win_right_offset, pps_conf_win_top_offset, pps_conf_win_bottom_offset의 값은 0인 것으로 추정된다.
여기서, 색차 포맷의 변수 ChromaFormatIdc는 sps_chroma_format_id의 값이며, 변수 SubWidthC와 변수 SubHightC는 이 ChromaFormatIdc에 의해 정해지는 값이다. 모노크롬 포맷의 경우는 SubWidthC와 SubHightC는 모두 1이고, 4:2:0 포맷의 경우는 SubWidthC와 SubHightC는 모두 2이고, 4:2:2 포맷의 경우는 SubWidthC가 2이고 SubHightC가 1이며, 4:4:4 포맷의 경우는 SubWidthC와 SubHightC는 모두 1이다.
·pps_init_qp_minus26은 PPS에서 참조되는 슬라이스의 양자화 파라미터 SliceQpY를 도출하기 위한 정보이다.
(서브픽처)
픽처는 다시 직사각형의 서브픽처로 분할되어 있을 수도 있다. 서브픽처의 사이즈는 CTU의 배수일 수도 있다. 서브픽처는 종횡으로 정수개 연속하는 타일의 집합으로 정의된다. 즉, 픽처는 직사각형의 타일로 분할되어, 직사각형 타일의 집합으로서 서브픽처를 정의한다. 서브픽처의 좌상 타일의 ID와 우하 타일의 ID를 이용하여 서브픽처를 정의할 수도 있다.
(부호화 픽처)
부호화 픽처에서는, 처리 대상의 픽처 PICT를 복호하기 위해 화상 복호 장치(31)가 참조하는 데이터의 집합이 규정되어 있다. 픽처 PICT는 도 2에 나타내는 바와 같이, 픽처 헤더 PH, 슬라이스 0~슬라이스 NS-1을 포함한다(NS는 픽처 PICT에 포함되는 슬라이스의 총수).
또한 픽처 레벨로 갱신되는 양자화 파라미터 SliceQpY를 도출하기 위한 정보(ph_qp_delta)가 포함된다.
SliceQpY = 26 + pps_init_qp_minus26 + ph_qp_delta
이하, 슬라이스 0~슬라이스 NS-1의 각각을 구별할 필요가 없는 경우, 부호의 첨자를 생략하고 기술하는 경우가 있다. 또한, 이하에 설명하는 부호화 데이터(Te)에 포함되는 데이터이며, 첨자를 붙이고 있는 다른 데이터에 대해서도 마찬가지이다.
(부호화 슬라이스)
부호화 슬라이스에서는, 처리 대상의 슬라이스 S를 복호하기 위해 화상 복호 장치(31)가 참조하는 데이터의 집합이 규정되어 있다. 슬라이스는 도 2에 나타내는 바와 같이, 슬라이스 헤더 및 슬라이스 데이터를 포함하고 있다.
슬라이스 헤더에는, 대상 슬라이스의 복호 방법을 결정하기 위해 화상 복호 장치(31)가 참조하는 부호화 파라미터군이 포함된다. 슬라이스 타입을 지정하는 슬라이스 타입 지정 정보(slice_type)는 슬라이스 헤더에 포함되는 부호화 파라미터의 일 예이다.
슬라이스 타입 지정 정보에 의해 지정 가능한 슬라이스 타입으로서는, (1) 부호화 시에 인트라 예측만을 이용하는 I 슬라이스, (2) 부호화 시에 단예측(L0 예측), 또는 인트라 예측을 이용하는 P 슬라이스, (3) 부호화 시에 단예측(L0 예측 혹은 L1 예측), 양예측, 또는 인트라 예측을 이용하는 B 슬라이스 등을 들 수 있다. 아울러, 인터 예측은 단예측, 양예측으로 한정되지 않으며, 보다 많은 참조 픽처를 이용하여 예측 화상을 생성할 수도 있다. 이하, P, B 슬라이스라고 부르는 경우에는, 인터 예측을 이용할 수 있는 블록을 포함하는 슬라이스를 가리킨다.
또한 슬라이스 레벨로 갱신되는 양자화 파라미터 SliceQpY를 도출하기 위한 정보(sh_qp_delta)가 포함된다.
SliceQpY = 26 + pps_init_qp_minus26 + sh_qp_delta
아울러, 슬라이스 헤더는 픽처 파라미터 세트 PPS에의 참조(pic_parameter_set_id)를 포함하고 있을 수도 있다.
(부호화 슬라이스 데이터)
부호화 슬라이스 데이터에서는, 처리 대상의 슬라이스 데이터를 복호하기 위해 화상 복호 장치(31)가 참조하는 데이터의 집합이 규정되어 있다. 슬라이스 데이터는 도 2의 부호화 슬라이스 헤더에 나타내는 바와 같이, CTU를 포함하고 있다. CTU는 슬라이스를 구성하는 고정 사이즈(예를 들어 64x64)의 블록이며, 최대 부호화 단위(LCU: Largest Coding Unit)라고 부르는 경우도 있다.
(부호화 트리 유닛)
도 2에는, 처리 대상의 CTU를 복호하기 위해 화상 복호 장치(31)가 참조하는 데이터의 집합이 규정되어 있다. CTU는 재귀적인 쿼드 트리 분할(QT(Quad Tree) 분할), 이진 트리 분할(BT(Binary Tree) 분할) 혹은 삼항 트리 분할(TT(Ternary Tree) 분할)에 의해 부호화 처리의 기본적인 단위인 부호화 유닛 CU로 분할된다. BT 분할과 TT 분할을 합쳐 멀티 트리 분할(MT(Multi Tree) 분할)이라고 부른다. 재귀적인 쿼드 트리 분할에 의해 얻어지는 나무 구조의 노드를 부호화 노드(Coding Node)라고 칭한다. 쿼드 트리, 이진 트리 및 삼항 트리의 중간 노드는 부호화 노드이며, CTU 자신도 최상위의 부호화 노드로서 규정된다.
(부호화 유닛)
도 2는 처리 대상의 부호화 유닛을 복호하기 위해 화상 복호 장치(31)가 참조하는 데이터의 집합이 규정되어 있다. 구체적으로는, CU는 CU 헤더 CUH, 예측 파라미터, 변환 파라미터, 양자화 변환 계수 등으로 구성된다. CU 헤더에서는 예측 모드 등이 규정된다.
예측 처리는 CU 단위로 수행되는 경우와, CU를 더 분할한 서브CU 단위로 수행되는 경우가 있다.
예측의 종류(예측 모드)는 인트라 예측과 인터 예측의 2개가 있다. 인트라 예측은 동일 픽처 내의 예측이고, 인터 예측은 서로 상이한 픽처 사이(예를 들어, 표시 시각 사이, 레이어 화상 사이)에서 수행되는 예측 처리를 가리킨다.
변환·양자화 처리는 CU 단위로 수행되는데, 양자화 변환 계수는 4x4 등의 서브블록 단위로 엔트로피 부호화할 수도 있다.
(예측 파라미터)
예측 화상은 블록에 부수하는 예측 파라미터에 의해 도출된다. 예측 파라미터에는, 인트라 예측과 인터 예측의 예측 파라미터가 있다.
이하, 인터 예측의 예측 파라미터에 대하여 설명한다. 인터 예측 파라미터는 예측 리스트 이용 플래그 predFlagL0과 predFlagL1, 참조 픽처 인덱스 refIdxL0과 refIdxL1, 움직임 벡터 mvL0과 mvL1로 구성된다. predFlagL0, predFlagL1은 참조 픽처 리스트(L0 리스트, L1 리스트)가 이용되는지 여부를 나타내는 플래그이며, 값이 1인 경우에 대응하는 참조 픽처 리스트가 이용된다. 아울러, 본 명세서 중 「XX인지 여부를 나타내는 플래그」라고 기재하는 경우, 플래그가 0 이외(예를 들어 1)를 XX인 경우, 0을 XX가 아닌 경우로 하여, 논리 부정, 논리곱 등에서는 1을 참, 0을 거짓으로 취급한다(이하 동일). 단, 실제 장치나 방법에서는 참값, 거짓값으로서 다른 값을 이용할 수도 있다.
(참조 픽처 리스트)
참조 픽처 리스트는 참조 픽처 메모리(306)에 저장된 참조 픽처로 이루어지는 리스트이다. 도 4는 참조 픽처 및 참조 픽처 리스트의 일 예를 나타내는 개념도이다. 도 4의 참조 픽처의 일 예를 나타내는 개념도에서, 직사각형은 픽처, 화살표는 픽처의 참조 관계, 가로축은 시간, 직사각형 중의 I, P, B는 각각 인트라 픽처, 단예측 픽처, 양예측 픽처, 직사각형 중의 숫자는 복호순을 나타낸다. Tid는 계층의 깊이를 나타내는 TemporalID의 값이며, NAL 유닛 헤더에서 보내진다. 도면에 나타내는 바와 같이, 픽처의 복호순은 I0, P1, B2, B3, B4이며, 표시순은 I0, B3, B2, B4, P1이다. 도 4에는, 픽처 B3(대상 픽처)의 참조 픽처 리스트의 예를 나타나고 있다. 참조 픽처 리스트는 참조 픽처의 후보를 나타내는 리스트이며, 하나의 픽처(슬라이스)가 하나 이상의 참조 픽처 리스트를 가질 수도 있다. 도면의 예에서는, 대상 픽처 B3은 L0 리스트 RefPicList0 및 L1 리스트 RefPicList1의 2개의 참조 픽처 리스트를 갖는다. 개개의 CU에서는, 참조 픽처 리스트 RefPicListX(X=0 또는 1) 중의 어느 픽처를 실제로 참조할지를 refIdxLX에서 지정한다. 도면은 refIdxL0=2, refIdxL1=0의 예이다. 아울러, LX는 L0 예측과 L1 예측을 구별하지 않는 경우에 이용되는 기술 방법이며, 이후에서는, LX를 L0, L1로 치환함으로써 L0 리스트에 대한 파라미터와 L1 리스트에 대한 파라미터를 구별한다.
(화상 복호 장치의 구성)
본 실시형태에 관한 화상 복호 장치(31)(도 5)의 구성에 대하여 설명한다.
화상 복호 장치(31)는 엔트로피 복호부(301), 파라미터 복호부(예측 화상 복호 장치)(302), 루프 필터(305), 참조 픽처 메모리(306), 예측 파라미터 메모리(307), 예측 화상 생성부(예측 화상 생성 장치)(308), 역양자화·역변환부(311), 및 가산부(312), 예측 파라미터 도출부(320)를 포함하여 구성된다. 아울러, 후술하는 화상 부호화 장치(11)에 맞추어, 화상 복호 장치(31)에 루프 필터(305)가 포함되지 않는 구성도 있다.
파라미터 복호부(302)는 또한, 헤더 복호부(3020), CT 정보 복호부(3021) 및 CU 복호부(3022)(예측 모드 복호부)를 구비하고 있으며, CU 복호부(3022)는 또한 TU 복호부(3024)를 구비하고 있다. 이들을 총칭하여 복호 모듈이라고 부를 수도 있다. 헤더 복호부(3020)는 부호화 데이터로부터 VPS, SPS, PPS, APS 등의 파라미터 세트 정보, 슬라이스 헤더(슬라이스 정보)를 복호한다. CT 정보 복호부(3021)는 부호화 데이터로부터 CT를 복호한다. CU 복호부(3022)는 부호화 데이터로부터 CU를 복호한다.
TU 복호부(3024)는 스킵 모드 이외(skip_mode==0)인 경우에, 부호화 데이터로부터 QP 갱신 정보와 양자화 예측 오차를 복호한다.
예측 화상 생성부(308)는 인터 예측 화상 생성부(309) 및 인트라 예측 화상 생성부(310)를 포함하여 구성된다.
예측 파라미터 도출부(320)는 인터 예측 파라미터 도출부(303) 및 인트라 예측 파라미터 도출부(304)를 포함하여 구성된다.
엔트로피 복호부(301)는 외부로부터 입력된 부호화 데이터(Te)에 대해 엔트로피 복호를 수행하여, 개개의 부호(신택스 요소)를 복호한다. 엔트로피 부호화에는, 신택스 요소의 종류나 주위 상황에 따라 적응적으로 선택한 콘텍스트(확률 모델)를 이용하여 신택스 요소를 가변 길이 부호화하는 방식과, 미리 정해진 표 혹은 계산식을 이용하여 신택스 요소를 가변 길이 부호화하는 방식이 있다. 전자의 CABAC(Context Adaptive Binary Arithmetic Coding)는 콘텍스트의 CABAC 상태(우세 심볼의 종별(0 or 1)과 확률을 지정하는 확률 상태 인덱스 pStateIdx)를 메모리에 저장한다. 엔트로피 복호부(301)는 세그먼트(타일, CTU행, 슬라이스)의 선두에서 모든 CABAC 상태를 초기화한다. 엔트로피 복호부(301)는 신택스 요소를 바이너리 열(Bin String)로 변환하고, Bin String의 각 비트를 복호한다. 콘텍스트를 이용하는 경우에는, 신택스 요소의 각 비트에 대해 콘텍스트 인덱스 ctxInc를 도출하고, 콘텍스트를 이용하여 비트를 복호하고, 이용한 콘텍스트의 CABAC 상태를 갱신한다. 콘텍스트를 이용하지 않는 비트는 등확률(EP, bypass)로 복호되며, ctxInc 도출이나 CABAC 상태는 생략된다. 복호된 신택스 요소에는, 예측 화상을 생성하기 위한 예측 정보 및, 차분 화상을 생성하기 위한 예측 오차 등이 있다.
엔트로피 복호부(301)는 복호한 부호를 파라미터 복호부(302)에 출력한다. 어느 부호를 복호할지의 제어는 파라미터 복호부(302)의 지시를 기초로 수행된다.
(기본 플로우)
도 6은 화상 복호 장치(31)의 개략적 동작을 설명하는 흐름도이다.
(S1100: 파라미터 세트 정보 복호) 헤더 복호부(3020)는 부호화 데이터로부터 VPS, SPS, PPS 등의 파라미터 세트 정보를 복호한다.
(S1200: 슬라이스 정보 복호) 헤더 복호부(3020)는 부호화 데이터로부터 슬라이스 헤더(슬라이스 정보)를 복호한다.
이하, 화상 복호 장치(31)는 대상 픽처에 포함되는 각 CTU에 대해, S1300부터 S5000의 처리를 반복함으로써 각 CTU의 복호 화상을 도출한다.
(S1300: CTU 정보 복호) CT 정보 복호부(3021)는 부호화 데이터로부터 CTU를 복호한다.
(S1400: CT 정보 복호) CT 정보 복호부(3021)는 부호화 데이터로부터 CT를 복호한다.
(S1500: CU 복호) CU 복호부(3022)는 S1510, S1520을 실시하여, 부호화 데이터로부터 CU를 복호한다.
(S1510: CU 정보 복호) CU 복호부(3022)는 부호화 데이터로부터 CU 정보, 예측 정보 등을 복호한다.
(S1520: TU 정보 복호) TU 복호부(3024)는 TU에 예측 오차가 포함되어 있는 경우에, 부호화 데이터로부터 QP 갱신 정보와 양자화 예측 오차를 복호한다. 아울러, QP 갱신 정보는 양자화 파라미터 QP의 예측값인 양자화 파라미터 예측값 qPpred로부터의 차분값이다.
(S2000: 예측 화상 생성) 예측 화상 생성부(308)는 대상 CU에 포함되는 각 블록에 대해, 예측 정보를 기초로 예측 화상을 생성한다.
(S3000: 역양자화·역변환) 역양자화·역변환부(311)는 대상 CU에 포함되는 각 TU에 대해, 역양자화·역변환 처리를 실행한다.
(S4000: 복호 화상 생성) 가산부(312)는 예측 화상 생성부(308)로부터 공급되는 예측 화상과, 역양자화·역변환부(311)로부터 공급되는 예측 오차를 가산함으로써, 대상 CU의 복호 화상을 생성한다.
(S5000: 루프 필터) 루프 필터(305)는 복호 화상에 디블록킹 필터, SAO, ALF 등의 루프 필터를 걸어 복호 화상을 생성한다.
(인터 예측 파라미터 도출부의 구성)
루프 필터(305)는 부호화 루프 내에 마련한 필터이며, 블록 왜곡이나 링잉 왜곡을 제거하여, 화질을 개선하는 필터이다. 루프 필터(305)는 가산부(312)가 생성한 CU의 복호 화상에 대해, 디블록킹 필터, 샘플 적응 오프셋(SAO), 적응 루프 필터(ALF) 등의 필터를 가한다.
참조 픽처 메모리(306)는 CU의 복호 화상을 대상 픽처 및 대상 CU별로 미리 정한 위치에 저장한다.
예측 파라미터 메모리(307)는 CTU 혹은 CU별로 미리 정한 위치에 예측 파라미터를 저장한다.
예측 화상 생성부(308)에는 예측 파라미터 도출부(320)가 도출한 파라미터가 입력된다. 또한, 예측 화상 생성부(308)는 참조 픽처 메모리(306)로부터 참조 픽처를 읽어낸다. 예측 화상 생성부(308)는 파라미터와 참조 픽처(참조 픽처 블록)를 이용하여 블록의 예측 화상을 생성한다.
역양자화·역변환부(311)(잔차 복호부)는 파라미터 복호부(302)로부터 입력된 양자화 변환 계수를 역양자화, 역변환하여 변환 계수를 구한다.
(뉴럴 네트워크 포스트필터 특성 SEI)
도 8은 본 실시형태의 뉴럴 네트워크 포스트필터 특성 SEI 메시지 nn_post_filter_characteristics(payloadSize)의 신택스를 나타내고 있다. 인수의 payloadSize는 이 SEI 메시지의 바이트 수를 나타내고 있다.
이 SEI 메시지는 CVS(Coded Video Sequence)별로 적용되는 SEI이다. 아울러, CVS란, IRAP(Intra Random Access Pictures)나 GDR(Gradual Decoder Refresh Picture)과 같은 랜덤 액세스 가능한 액세스 유닛(AU)을 선두로 하는 0개 이상의 액세스 유닛의 집합을 가리킨다. 액세스 유닛은 동시각에 표시되는 픽처로 구성된다. IRAP는 Instantaneous Decoder Refresh(IDR), Clean Random Access(CRA), Broken Link Access(BLA)의 어느 것인가일 수도 있다.
이 SEI 메시지에서는, 이하의 변수가 정의된다.
복호 화상의 폭과 높이는 휘도 화소의 단위로, 여기서는 각각 InpPicWidthInLumaSamples 및 InpPicHeightInLumaSamples로 나타난다.
InpPicWidthInLumaSamples는 pps_pic_width_in_luma_samples-SubWidthC*(pps_conf_win_left_offset+pps_conf_win_right_offset)에 동일하게 설정된다.
InpPicHeightInLumaSamples는 pps_pic_height_in_luma_samples-SubHeightC*(pps_conf_win_top_offset+pps_conf_win_bottom_offset)에 동일하게 설정된다.
복호 화상은 수직 좌표 y 및 수평 좌표 x의 휘도 화소의 2차원 배열 CroppedYPic[y][x] 및, 색차 화소의 2차원 배열 CroppedCbPic[y][x] 및 CroppedCrPic[y][x]로 한다. 여기서, 화소 배열의 좌상 모퉁이의 좌표 y가 0, x가 0으로 한다.
복호 화상의 휘도의 화소 비트 길이 BitDepthY로 한다. 복호 화상의 색차의 화소 비트 길이 BitDepthC로 한다. 아울러, BitDepthY와 BitDepthC는 모두 BitDepth에 동일하게 설정된다.
변수 InpSubWidthC는 복호 화상의 수평 방향의 휘도에 대한 색차 서브샘플링비로 하고, 변수 InpSubHeightC는 복호 화상의 수직 방향의 휘도에 대한 색차 서브샘플링비로 한다. 아울러, InpSubWidthC는 부호화 데이터의 변수 SubWidthC와 동일하게 설정된다. InpSubHeightC는 부호화 데이터의 변수 SubHeightC에 동일하게 설정된다.
변수 SliceQPY는 부호화 데이터의 슬라이스 레벨로 갱신되는 양자화 파라미터 SliceQpY에 동일하게 설정된다.
nnpfc_id에는, 포스트필터 처리를 식별하기 위해 사용할 수 있는 식별 번호가 포함되어 있다. nnpfc_id의 값은 0 이상 2의 32승-2 이하의 값이어야 한다. 256 이상 511 이하, 또는 2의 31승 이상 2의 32승-2 이하의 nnpfc_id의 값은 장래의 사용을 위해 예약되어 있다. 따라서, 디코더는 256 이상 511 이하, 또는 2의 31승 이상 2의 32승-2 이하의 값의 nnpfc_id의 값을 무시하는 것으로 한다.
nnpfc_mode_idc는 관련지어진 포스트필터 처리가, 이 사양에서 지정된 외부 수단에 의해 결정되는지 여부를 나타내는 값이다. 이 값이 0인 경우에는, 관련지어진 포스트필터 처리가, 이 사양에서 지정되어 있지 않은 외부 수단에 의해 결정되는 것을 지정한다. nnpfc_mode_idc의 값이 1인 경우에는, 관련지어진 포스트필터 처리가 이 SEI 메시지에 포함되는 ISO/IEC15938-17 비트 스트림으로 표시되는 뉴럴 네트워크인 것을 나타낸다. nnpfc_mode_idc의 값이 2인 경우에는, 관련지어진 포스트필터 처리가, 지정된 태그 URI(Uniform Resource Identifier)의 (nnpfc_uri_tag[i]) 및 뉴럴 네트워크 정보 URI(nnpfc_uri[i])에 의해 식별되는 뉴럴 네트워크인 것을 나타낸다.
nnpfc_mode_idc의 값은 0 이상 255 이하의 값이어야 한다. 2보다 큰 nnpfc_mode_idc의 값은 장래의 지정을 위해 예약되어 있으므로, 이 사양의 이 버전에 준거한 비트 스트림에는 존재해서는 안 된다. 이 사양의 이 버전에 준거한 디코더는 nnpfc_mode_idc의 예약값을 포함하는 SEI 메시지를 무시하는 것으로 한다.
비특허문헌 1의 문제점으로서는, 뉴럴 네트워크 포스트필터 특성 SEI 메시지에서 정의된 필터 정보를 이용하여 포스트필터 처리를 실행하려면, 후술하는 뉴럴 네트워크 포스트필터 액티브화 SEI를 이용하여 픽처 단위로 SEI를 전송할 필요가 있어, 모든 픽처에서 동일한 포스트필터 처리를 수행하는 경우에는 장황하다는 과제가 있었다.
이에, 본 실시형태에서는, 뉴럴 네트워크 포스트필터 특성 SEI 메시지에서, 액티브화의 방법을 정의하는 신택스 요소를 추가하여, 뉴럴 네트워크 포스트필터 액티브화 SEI 메시지를 이용하지 않아도 포스트필터 처리를 실행할 수 있도록 한다.
nnpfc_activation_type은 포스트필터 처리의 액티브화의 종류를 나타내는 값이다. nnpfc_activation_type의 값이 0인 경우에는, 뉴럴 네트워크 포스트필터 액티브화 SEI 메시지를 이용하는 것을 나타낸다. nnpfc_activation_type의 값이 1인 경우에는, 현재의 CSV 내의 모든 픽처를 액티브화하고, 현재의 뉴럴 네트워크 포스트필터 특성 SEI 메시지에 의해 필터 처리되는 것을 지정한다.
nnpfc_activation_type의 값은 0 이상 255 이하의 값이어야 한다. 1보다 큰 nnpfc_activation_type의 값은 장래의 지정을 위해 예약되어 있으므로, 이 사양의 이 버전에 준거한 비트 스트림에는 존재해서는 안 된다. 이 사양의 이 버전에 준거한 디코더는 nnpfc_activation_type의 예약값을 포함하는 SEI 메시지를 무시하는 것으로 한다.
이와 같은 실시형태로 함으로써, CVS 단위로 포스트필터 처리를 액티브화할 수 있어, 모든 픽처에서 동일한 포스트필터 처리를 수행하는 경우에는 장황하다는 과제를 해결할 수 있다.
nnpfc_purpose_and_formatting_flag는 필터의 목적, 입력 포맷, 출력 포맷 및 복잡함과 관련된 구문 요소가 존재하는지 여부를 나타내는 플래그로, 이 플래그의 값이 1인 경우에는, 필터의 목적, 입력의 서식 설정, 출력의 서식 설정 및 복잡함과 관련된 구문 요소가 존재하는 것을 나타낸다. 이 플래그의 값이 0인 경우에는, 필터의 목적, 입력 포맷, 출력 포맷 및 복잡함과 관련된 구문 요소가 존재하지 않는 것을 나타낸다.
nnpfc_mode_idc의 값이 1이고, CLVS(Coded Layer Video Sequence)에 이 SEI 메시지의 nnpfc_id의 값과 동일한 nnpfc_id의 값을 갖는 선행하는 뉴럴 네트워크 포스트필터 특성 SEI 메시지가 포함되어 있지 않은 경우에는, nnpfc_purpose_and_formatting_flag의 값은 1이어야 한다.
CLVS에, 이 SEI 메시지의 nnpfc_id의 값과 동일한 nnpfc_id의 값을 갖는 디코드순으로 선행하는 뉴럴 네트워크 포스트필터 특성 SEI 메시지가 포함되어 있는 경우, 다음 조건의 적어도 하나가 적용된다.
·뉴럴 네트워크의 갱신을 제공하기 위해, 이 SEI 메시지에서는 nnpfc_mode_idc의 값이 1이고 nnpfc_purpose_and_formatting_flag의 값이 0이다.
·이 SEI 메시지는 이전의 뉴럴 네트워크 포스트필터 특성 SEI 메시지와 동일한 내용이다.
이 SEI 메시지가, 현재의 CLVS 내에서 특정 nnpfc_id값을 갖는, 복호순으로 최초의 뉴럴 네트워크 포스트필터 특성 SEI 메시지인 경우, 이 SEI 메시지는 현재의 CLVS의 마지막까지, 현재의 레이어에서의 현재의 복호 화상과 출력순으로 후속의 모든 복호 화상과 관련된 베이스가 되는 포스트필터를 규정한다.
이 SEI 메시지가, 현재의 CLVS 내에서 특정 nnpfc_id값을 갖는, 복호순으로 최초의 뉴럴 네트워크 포스트필터 특성 SEI 메시지가 아닌 경우, 이 SEI 메시지는 현재의 CLVS의 끝까지, 혹은 현재의 CLVS에서의 특정 nnpfc_id값을 갖는, 출력순으로 다음의 뉴럴 네트워크 포스트필터 특성 SEI 메시지까지, 현재의 레이어에서의 현재의 복호된 화상과 출력순으로 모든 후속의 복호된 화상에 관련된다.
nnpfc_purpose는 포스트필터 처리의 목적을 나타낸다. nnpfc_purpose의 값은 0 이상 2의 32승-2 이하의 값이어야 한다. 4보다 큰 nnpfc_purpose의 값은 장래의 사양을 위해 예약되어 있으므로, 이 사양의 이 버전에 준거한 비트 스트림에는 존재해서는 안 된다. 이 사양의 이 버전에 준거한 디코더는 nnpfc_purpose의 예약값을 포함하는 SEI 메시지를 무시하는 것으로 한다.
nnpfc_purpose의 값이 0인 경우, 불명료 또는 미정의를 나타낸다.
nnpfc_purpose의 값이 1인 경우, 화질의 향상을 목적으로 한다.
nnpfc_purpose의 값이 2인 경우, 4:2:2 색차 형식 또는 4:4:4 색차 형식으로의 업샘플링, 또는 4:2:2 색차 형식으로부터 4:4:4 색차 형식으로의 업샘플링을 나타낸다.
nnpfc_purpose의 값이 3인 경우, 색차 형식을 변경하지 않고 복호된 출력 화상의 폭 또는 높이를 늘린다.
nnpfc_purpose의 값이 4인 경우, 복호된 출력 화상의 폭 또는 높이를 늘려, 색차 형식을 업샘플링한다.
아울러, SubWidthC의 값이 1이고, SubHeightC의 값이 1인 경우, nnpfc_purpose는 2, 4여서는 안 된다.
또한, 전술한 nnpfc_mode_idc의 값이 2인 경우에는, 바이트 단위가 되도록 nnpfc_reserved_zero_bit에서 값 0의 비트를 삽입한다. 또한, 지정된 태그 URI(nnpfc_uri_tag[i]) 및 뉴럴 네트워크 정보 URI(nnpfc_uri[i])로부터 뉴럴 네트워크의 정보를 부호화, 복호하고, 이들 정보를 이용하여 관련지어진 포스트필터 처리를 수행한다.
또한, nnpfc_mode_idc의 값이 1인 경우에는, 바이트 단위가 되도록, nnpfc_reserved_zero_bit에서 값 0의 비트를 삽입한 다음, ISO/IEC15938-17 비트 스트림 nnpfc_payload_byte[i]를 이용하여 뉴럴 네트워크의 정보를 부호화, 복호한다.
도 9는 본 발명의 다른 실시형태의 뉴럴 네트워크 포스트필터 특성 SEI 메시지의 신택스이다.
전술한 실시형태의 차이는 nnpfc_activation_type의 추가이다. 본 실시형태에서는, 특정 레이어나 Temporal ID의 픽처의 액티브화를 지정한다.
nnpfc_activation_type은 포스트필터 처리의 액티브화의 종류를 나타내는 값이다. nnpfc_activation_type의 값이 0과 1인 경우에는, 전술한 실시형태와 동일하다. nnpfc_activation_type의 값이 2인 경우에는, 도 9와 같이, nnpfc_activation_temporal_id_flag[i]를 이용하며, 값이 0인 경우에는 포스트필터 처리를 액티브화하지 않고, 값이 1인 경우에는 포스트필터 처리를 액티브화한다. nnpfc_activation_temporal_id_flag[i]는 Temporal ID값이 i인 픽처의 포스트필터 처리를 액티브화하는지 여부의 플래그이다.
다른 형태로서는, nnpfc_activation_type의 값이 2인 경우, 명시적으로 액티브화하는 레이어값 nuh_layer_id와 Temporal ID의 값을 신택스 요소로 지정하고, 해당하는 CVS 내의 픽처만의 포스트필터 처리를 액티브화할 수도 있다.
다른 형태로서는, nnpfc_activation_type의 값이 2인 경우, 신택스 요소를 추가하지 않고, nuh_layer_id와 Temporal ID의 값으로 지정되는 CVS 내의 픽처의 포스트필터 처리를 액티브화할 수도 있다. nuh_layer_id는 뉴럴 네트워크 포스트필터 액티브화 SEI 메시지의 NAL 유닛의 헤더로 지정되는 레이어값이다. Temporal ID의 값은 신택스 요소 nuh_temporal_id_plus1에서 1을 뺀 값이다.
다른 형태로서는, nnpfc_activation_type의 값이 2인 경우, 신택스 요소를 추가하지 않고, nuh_layer_id로 지정되는 CVS 내의 모든 픽처의 포스트필터 처리를 액티브화한다. nnpfc_activation_type의 값이 3인 경우, nuh_layer_id와 Temporal ID의 값으로 지정되는 CVS 내의 픽처의 포스트필터 처리를 액티브화할 수도 있다. nuh_layer_id는 뉴럴 네트워크 포스트필터 액티브화 SEI 메시지의 NAL 유닛의 헤더로 지정되는 레이어값이다. Temporal ID의 값은 신택스 요소 nuh_temporal_id_plus1에서 1을 뺀 값이다.
아울러, Temporal ID에 관해서는, 지정한 값으로 픽처를 특정하는 이외의 방법으로서는, 지정한 값 이상의 Temporal ID의 픽처에 대해, 포스트필터 처리를 액티브화한다고 하는 방법을 취할 수도 있다.
이러한 실시형태로 함으로써, 특정 레이어나 Temporal ID의 픽처만의 포스트필터 처리를 액티브화할 수 있어, 장황하다는 과제를 해결할 수 있다.
(뉴럴 네트워크 포스트필터 액티브화 SEI)
도 10은 뉴럴 네트워크 포스트필터 액티브화 SEI 메시지의 신택스를 나타내는 도면이다.
이 SEI 메시지는 현재의 복호 화상의 포스트필터 처리에 사용할 수 있는 뉴럴 네트워크 포스트필터 처리를 지정한다. 뉴럴 네트워크 포스트필터 액티브화 SEI 메시지는 현재의 복호 화상에 대해서만 적용된다.
예를 들어, 포스트필터 처리가 다양한 목적을 대상으로 하고 있는 경우나, 다양한 색 성분을 필터 처리하는 경우 등, 동일한 복호 화상에 대해 복수의 뉴럴 네트워크 포스트필터 액티브화 SEI 메시지가 존재하는 경우가 있을 수 있다.
신택스 요소 nnpfa_id는 현재의 복호 화상과 관련하여, nnpfc_id가 nnpfa_id와 동일한 하나 이상의 뉴럴 네트워크 포스트필터 특성 SEI에 의해 지정된 뉴럴 네트워크 포스트필터 처리를 현재의 복호 화상의 포스트필터 처리에 사용할 수 있는 것을 지정한다.
(SEI 페이로드)
도 11은 비특허문헌 1의 SEI 메시지의 컨테이너인 SEI 페이로드의 신택스를 나타내는 도면이다.
nal_unit_type이 PREFIX_SEI_NUT일 때 호출된다. PREFIX_SEI_NUT는 슬라이스 데이터보다 전에 위치하는 SEI인 것을 나타내고 있다.
payloadType이 210일 때, 뉴럴 네트워크 포스트필터 특성 SEI가 호출된다.
payloadType이 211일 때, 뉴럴 네트워크 포스트필터 액티브화 SEI가 호출된다.
(SEI의 복호와 포스트필터 처리)
헤더 복호부(3020)는 SEI 메시지의 컨테이너인 SEI 페이로드를 읽어들여, 뉴럴 네트워크 포스트필터 특성 SEI 메시지를 복호한다. 예를 들어, 헤더 복호부(3020)는 nnpfc_id, nnpfc_mode_idc, nnpfc_activation_type, nnpfc_purpose_and_formatting_flag, nnpfc_purpose, nnpfc_reserved_zero_bit, nnpfc_uri_tag[i], nnpfc_uri[i], nnpfc_reserved_zero_bit, nnpfc_payload_byte[i]를 복호한다.
도 12는 NN 필터부(611)의 처리의 흐름도를 나타내는 도면이다. NN 필터부(611)는 상기 SEI 메시지의 파라미터에 따라 이하의 처리를 수행한다.
S6001: 뉴럴 네트워크 복잡도 요소로부터 처리량과 정밀도를 읽어들인다.
S6002: S6001에서 읽어들인 처리량이 NN 필터부(611)의 처리 가능한 복잡도를 초과하는 경우에는 종료한다. 초과하지 않는 경우에는 S6003으로 진행한다.
S6003: S6001에서 읽어들인 정밀도가 NN 필터부(611)의 처리 가능한 정밀도를 초과하는 경우에는 종료한다. 초과하지 않는 경우에는 S6004로 진행한다.
S6004: SEI로부터 네트워크 모델을 특정하여, NN 필터부(611)의 토폴로지를 설정한다.
S6005: SEI의 갱신 정보로부터 네트워크 모델의 파라미터를 도출한다.
S6006: 도출된 네트워크 모델의 파라미터를 NN 필터부(611)에 읽어들인다.
S6007: NN 필터부(611)의 필터 처리를 실행하여, 외부로 출력한다.
단, 복호 처리에서의 휘도 샘플이나 색차 샘플의 구축에 SEI가 반드시 필요시 되지는 않는다.
(NN 필터부(611)의 구성예)
도 13은 뉴럴 네트워크 필터부(NN 필터부(611))를 이용한 보간(예측 화상) 필터, 루프 필터, 포스트필터의 구성예를 나타내는 도면이다. 이하에서는 포스트필터의 예를 설명하지만, 보간 필터나 루프 필터일 수도 있다.
동화상 복호 장치 후의 후처리부(해상도 역변환 장치)(61)는 NN 필터부(611)를 구비한다. NN 필터부(611)는 참조 픽처 메모리(306)의 화상을 출력할 때, 필터 처리를 수행하여 외부로 출력한다. 출력 화상에 대해, 표시, 파일 쓰기, 재인코드(트랜스코드), 전송 등을 할 수도 있다. NN 필터부(611)는 입력 화상에 대해, 뉴럴 네트워크 모델에 의한 필터 처리를 수행하는 수단이다. 동시에, 등배 혹은 유리수배의 축소·확대를 수행할 수도 있다.
여기서, 뉴럴 네트워크 모델(이하, NN모델)이란, 뉴럴 네트워크의 요소 및 결합 관계(토폴로지)와, 뉴럴 네트워크의 파라미터(가중, 바이어스)를 의미한다. 아울러, 토폴로지를 고정하고, 뉴럴 네트워크 모델의 파라미터만을 전환할 수도 있다.
(NN 필터부(611)의 상세)
NN 필터부는 입력 화상 inputTensor와 입력 파라미터(예를 들어, QP, bS 등)를 이용하여, 뉴럴 네트워크 모델에 의한 필터 처리를 수행한다. 입력 화상은 컴포넌트별 화상일 수도 있고, 복수 컴포넌트를 각각 채널로서 갖는 화상일 수도 있다. 또한, 입력 파라미터는 화상과 상이한 채널에 할당할 수도 있다.
NN 필터부는 이하의 처리를 반복하여 적용할 수도 있다.
NN 필터부는 inputTensor에 커널 k[m][i][j]를 컨볼루션 연산(conv, convolution)하고, bias를 가산한 출력 화상 outputTensor를 도출한다. 여기서, nn=0..n-1, xx=0..width-1, yy=0..height-1이며, Σ는 각각 mm, i, j에 대한 총합을 나타낸다.
outputTensor[nn][xx][yy]=ΣΣΣ(k[mm][i][j]*inputTensor[mm][xx+i-of][yy+j-of]+bias[nn])
1x1 Conv의 경우, Σ는 각각 mm=0..m-1, i=0, j=0의 총합을 나타낸다. 이때, of=0을 설정한다. 3x3 Conv의 경우, Σ는 각각 mm=0..m-1, i=0..2, j=0..2의 총합을 나타낸다. 이때, of=1을 설정한다. n은 outSamples의 채널 수, m은 inputTensor의 채널 수, width는 inputTensor와 outputTensor의 폭, height는 inputTensor와 outputTensor의 높이이다. of는 inputTensor와 outputTensor의 사이즈를 동일하게 하기 위해, inputTensor의 주위에 마련하는 패딩 영역의 사이즈이다. 이하, NN 필터부의 출력이 화상이 아니라 값(보정값)인 경우에는, outputTensor 대신 corrNN으로 출력을 나타낸다.
아울러, CWH 형식의 inputTensor, outputTensor가 아니라 CHW 형식의 inputTensor, outputTensor로 기술하면 이하의 처리와 등가이다.
outputTensor[nn][yy][xx]=ΣΣΣ(k[mm][i][j]*inputTensor[mm][yy+j-of][xx+i-of]+bias[nn])
또한, Depth wise Conv로 불리는 이하의 식으로 나타내는 처리를 수행할 수도 있다. 여기서, nn=0..n-1, xx=0..width-1, yy=0..height-1이며, Σ는 각각 i, j에 대한 총합을 나타낸다. n은 outputTensor와 inputTensor의 채널 수, width는 inputTensor와 outputTensor의 폭, height는 inputTensor와 outputTensor의 높이이다.
outputTensor[nn][xx][yy]=ΣΣ(k[nn][i][j]*inputTensor[nn][xx+i-of][yy+j-of]+bias[nn])
또한 Activate로 불리는 비선형 처리, 예를 들어 ReLU를 이용할 수도 있다.
ReLU(x) = x >= 0 ? x : 0
또한 이하의 식으로 나타내는 leakyReLU를 이용할 수도 있다.
leakyReLU(x) = x >= 0 ? x : a * x
여기서 a는 소정의 값, 예를 들어 0.1이나 0.125이다. 또한 정수 연산을 수행하기 위해 상기 모든 k, bias, a의 값을 정수로 하여, conv의 뒤로 우 시프트를 수행할 수도 있다.
ReLU에서는 0 미만의 값에 대해서는 항상 0, 그 이상의 값에 대해서는 입력값이 그대로 출력된다. 한편, leakyReLU에서는, 0 미만의 값에 대해, a로 설정된 구배로 선형 처리가 수행된다. ReLU에서는 0 미만의 값에 대한 구배가 소실되기 때문에, 학습이 진행되기 어려워지는 경우가 있다. leakyReLU에서는 0 미만의 값에 대한 구배가 남겨져, 상기 문제가 발생하기 어려워진다. 또한, 상기 leakyReLU(x) 중, a의 값을 파라미터화하여 이용하는 PReLU를 이용할 수도 있다.
(NNR)
Neural Network Coding and Representation(NNR)은 뉴럴 네트워크(NN)를 효율적으로 압축하기 위한 국제 표준 규격 ISO/IEC15938-17이다. 학습이 완료된 NN의 압축을 수행함으로써, NN을 보존이나 전송을 할 때의 효율화가 가능해진다.
이하에 NNR의 부호화·복호 처리의 개요에 대하여 설명한다.
도 14는 NNR의 부호화 장치·복호 장치에 대해 나타내는 도면이다.
NN 부호화 장치(801)는 전처리부(8011), 양자화부(8012), 엔트로피 부호화부(8013)를 갖는다. NN 부호화 장치(801)는 압축 전의 NN 모델 O를 입력하고, 양자화부(8012)에서 NN 모델 O의 양자화를 수행하여, 양자화 모델 Q를 구한다. NN 부호화 장치(801)는 양자화 전에, 전처리부(8011)에서 가지치기(프루닝)나 스파스화 등의 파라미터 삭감 방법을 반복하여 적용할 수도 있다. 그 후, 엔트로피 부호화부(8013)에서, 양자화 모델 Q에 엔트로피 부호화를 적용하여, NN 모델의 보존, 전송을 위한 비트 스트림 S를 구한다.
NN 복호 장치(802)는 엔트로피 복호부(8021), 파라미터 복원부(8022), 후처리부(8023)를 갖는다. NN 복호 장치(802)는 처음에 전송된 비트 스트림 S를 입력하고, 엔트로피 복호부(8021)에서 S의 엔트로피 복호를 수행하여, 중간 모델 RQ를 구한다. NN 모델의 동작 환경이 RQ에서 사용된 양자화 표현을 이용한 추론을 서포트하고 있는 경우, RQ를 출력하고, 추론에 사용할 수도 있다. 그렇지 않은 경우, 파라미터 복원부(8022)에서 RQ의 파라미터를 원래 표현으로 복원하고, 중간 모델 RP를 구한다. 사용하는 성긴 텐서 표현이 NN 모델의 동작 환경에서 처리할 수 있는 경우, RP를 출력하고, 추론에 사용할 수도 있다. 그렇지 않은 경우, NN 모델 O와 상이한 텐서, 또는 구조 표현을 포함하지 않는 재구성 NN 모델 R을 구하고, 출력한다.
NNR 규격에는, 정수, 부동 소수점 등, 특정 NN 파라미터의 수치 표현에 대한 복호 방법이 존재한다.
복호 방법 NNR_PT_INT는 정수값의 파라미터로 이루어지는 모델을 복호한다. 복호 방법 NNR_PT_FLOAT는 NNR_PT_INT를 확장하고, 양자화 스텝 사이즈 delta를 추가한다. 이 delta에 상기 정수값을 곱셈하여, 스케일링된 정수를 생성한다. delta는 정수의 양자화 파라미터 qp와 delta의 입도 파라미터 qp_density로부터, 이하와 같이 도출된다.
mul = 2^(qp_density) + (qp & (2^(qp_density)-1))
delta = mul * 2^((qp >> qp_density)-qp_density)
(학습 완료 NN의 포맷)
학습 완료 NN의 표현은 층의 사이즈나 층간 접속 등의 토폴로지 표현과, 가중이나 바이어스 등의 파라미터 표현의 2개의 요소로 이루어진다.
토폴로지 표현은 Tensorflow나 PyTorch 등의 네이티브 포맷으로 커버되고 있지만, 상호 운용성 향상을 위해, Open Neural Network Exchange Format(ONNX), Neural Network Exchange Format(NNEF) 등의 교환 포맷이 존재한다.
또한, NNR 규격에서는, 압축된 파라미터 텐서를 포함하는 NNR 비트 스트림의 일부로서, 토폴로지 정보 nnr_topology_unit_payload를 전송한다. 이로써, 교환 포맷뿐만 아니라, 네이티브 포맷으로 표현된 토폴로지 정보와의 상호 운용을 실현한다.
(화상 부호화 장치의 구성)
다음으로, 본 실시형태에 관한 화상 부호화 장치(11)의 구성에 대하여 설명한다. 도 7은 본 실시형태에 관한 화상 부호화 장치(11)의 구성을 나타내는 블럭도이다. 화상 부호화 장치(11)는 예측 화상 생성부(101), 감산부(102), 변환·양자화부(103), 역양자화·역변환부(105), 가산부(106), 루프 필터(107), 예측 파라미터 메모리(예측 파라미터 저장부, 프레임 메모리)(108), 참조 픽처 메모리(참조 화상 저장부, 프레임 메모리)(109), 부호화 파라미터 결정부(110), 파라미터 부호화부(111), 예측 파라미터 도출부(120), 엔트로피 부호화부(104)를 포함하여 구성된다.
예측 화상 생성부(101)는 CU별로 예측 화상을 생성한다.
감산부(102)는 예측 화상 생성부(101)로부터 입력된 블록의 예측 화상의 화소값을 화상(T)의 화소값으로부터 감산하여 예측 오차를 생성한다. 감산부(102)는 예측 오차를 변환·양자화부(103)에 출력한다.
변환·양자화부(103)는 감산부(102)로부터 입력된 예측 오차에 대해, 주파수 변환에 의해 변환 계수를 산출하고, 양자화에 의해 양자화 변환 계수를 도출한다. 변환·양자화부(103)는 양자화 변환 계수를 파라미터 부호화부(111) 및 역양자화·역변환부(105)에 출력한다.
역양자화·역변환부(105)는 화상 복호 장치(31)에서의 역양자화·역변환부(311)(도 5)와 동일하며, 설명을 생략한다. 산출한 예측 오차는 가산부(106)에 출력된다.
파라미터 부호화부(111)는 헤더 부호화부(1110), CT 정보 부호화부(1111), CU 부호화부(1112)(예측 모드 부호화부)를 구비하고 있다. CU 부호화부(1112)는 또한 TU 부호화부(1114)를 구비하고 있다. 이하, 각 모듈의 개략 동작을 설명한다.
헤더 부호화부(1110)는 헤더 정보, 분할 정보, 예측 정보, 양자화 변환 계수 등의 파라미터의 부호화 처리를 수행한다.
CT 정보 부호화부(1111)는 QT, MT(BT, TT) 분할 정보 등을 부호화한다.
CU 부호화부(1112)는 CU 정보, 예측 정보, 분할 정보 등을 부호화한다.
TU 부호화부(1114)는 TU에 예측 오차가 포함되어 있는 경우에, QP 갱신 정보와 양자화 예측 오차를 부호화한다.
CT 정보 부호화부(1111), CU 부호화부(1112)는 인터 예측 파라미터, 양자화 변환 계수 등의 신택스 요소를 파라미터 부호화부(111)에 공급한다.
엔트로피 부호화부(104)에는, 파라미터 부호화부(111)로부터 양자화 변환 계수와 부호화 파라미터가 입력된다. 엔트로피 부호화부(104)는 이들을 엔트로피 부호화하여 부호화 데이터(Te)를 생성하고, 출력한다.
예측 파라미터 도출부(120)는 부호화 파라미터 결정부(110)로부터 입력된 파라미터로부터 인터 예측 파라미터 및 인트라 예측 파라미터를 도출한다. 도출된 인터 예측 파라미터 및 인트라 예측 파라미터는 파라미터 부호화부(111)에 출력된다.
가산부(106)는 예측 화상 생성부(101)로부터 입력된 예측 블록의 화소값과 역양자화·역변환부(105)로부터 입력된 예측 오차를 화소별로 가산하여 복호 화상을 생성한다. 가산부(106)는 생성한 복호 화상을 참조 픽처 메모리(109)에 저장한다.
루프 필터(107)는 가산부(106)가 생성한 복호 화상에 대해, 디블록킹 필터, SAO, ALF를 가한다. 아울러, 루프 필터(107)는 반드시 상기 3종류의 필터를 포함하지 않을 수도 있으며, 예를 들어 디블록킹 필터만의 구성일 수도 있다.
예측 파라미터 메모리(108)는 부호화 파라미터 결정부(110)가 생성한 예측 파라미터를, 대상 픽처 및 CU별로 미리 정한 위치에 저장한다.
참조 픽처 메모리(109)는 루프 필터(107)가 생성한 복호 화상을 대상 픽처 및 CU별로 미리 정한 위치에 저장한다.
부호화 파라미터 결정부(110)는 부호화 파라미터의 복수의 세트 중, 하나의 세트를 선택한다. 부호화 파라미터란, 상술한 QT, BT 혹은 TT 분할 정보, 예측 파라미터, 혹은 이들과 관련하여 생성되는 부호화의 대상이 되는 파라미터이다. 예측 화상 생성부(101)는 이들 부호화 파라미터를 이용하여 예측 화상을 생성한다.
아울러, 상술한 실시형태에서의 화상 부호화 장치(11), 화상 복호 장치(31)의 일부, 예를 들어 엔트로피 복호부(301), 파라미터 복호부(302), 루프 필터(305), 예측 화상 생성부(308), 역양자화·역변환부(311), 가산부(312), 예측 파라미터 도출부(320), 예측 화상 생성부(101), 감산부(102), 변환·양자화부(103), 엔트로피 부호화부(104), 역양자화·역변환부(105), 루프 필터(107), 부호화 파라미터 결정부(110), 파라미터 부호화부(111), 예측 파라미터 도출부(120)를 컴퓨터에서 실현하도록 할 수도 있다. 그 경우, 이 제어 기능을 실현하기 위한 프로그램을 컴퓨터 판독 가능한 기록 매체에 기록하고, 이 기록 매체에 기록된 프로그램을 컴퓨터 시스템에 읽어들여 실행함으로써 실현할 수도 있다. 아울러, 여기서 말하는 「컴퓨터 시스템」이란, 화상 부호화 장치(11), 화상 복호 장치(31)의 어느 것인가에 내장된 컴퓨터 시스템이며, OS나 주변 기기 등의 하드웨어를 포함하는 것으로 한다. 또한, 「컴퓨터 판독 가능한 기록 매체」란, 플렉시블 디스크, 광자기 디스크, ROM, CD-ROM 등의 가반(portable) 매체, 컴퓨터 시스템에 내장되는 하드 디스크 등의 저장 장치를 말한다. 또한 「컴퓨터 판독 가능한 기록 매체」란, 인터넷 등의 네트워크나 전화 회선 등의 통신 회선을 통해 프로그램을 송신하는 경우의 통신선과 같이, 단시간, 동적으로 프로그램을 보유하는 것, 그 경우의 서버나 클라이언트가 되는 컴퓨터 시스템 내부의 휘발성 메모리와 같이, 일정 시간 프로그램을 보유하고 있는 것도 포함할 수도 있다. 또한 상기 프로그램은 전술한 기능의 일부를 실현하기 위한 것일 수도 있고, 또한 전술한 기능을 컴퓨터 시스템에 이미 기록되어 있는 프로그램과의 조합으로 실현할 수 있는 것일 수도 있다.
또한, 상술한 실시형태에서의 화상 부호화 장치(11), 화상 복호 장치(31)의 일부 또는 전부를, LSI(Large Scale Integration) 등의 집적 회로로서 실현할 수도 있다. 화상 부호화 장치(11), 화상 복호 장치(31)의 각 기능 블록은 개별적으로 프로세서화할 수도 있고, 일부 또는 전부를 집적하여 프로세서화할 수도 있다. 또한, 집적 회로화의 방법은 LSI로 한정되지 않으며, 전용 회로 또는 범용 프로세서로 실현할 수도 있다. 또한, 반도체 기술의 진보에 의해 LSI를 대체하는 집적 회로화의 기술이 출현한 경우, 당해 기술에 의한 집적 회로를 이용할 수도 있다.
이상, 도면을 참조하여 본 발명의 일 실시형태에 대하여 상세히 설명하였지만, 구체적인 구성이 상술한 것으로 한정되는 것은 아니며, 이 발명의 요지를 벗어나지 않는 범위 내에서 다양한 설계 변경 등을 하는 것이 가능하다.
본 실시형태를 도 1을 기초로 설명하면, 부호화 데이터를 복호하여 복호 화상을 생성하는 화상 복호 장치, 시퀀스 단위로 역변환 정보를 보조 확장 정보로서 복호하는 역변환 정보 복호 장치, 상기 복호 화상을 상기 역변환 정보를 이용하여 지정된 해상도로 변환을 수행하는 뉴럴 네트워크를 이용한 해상도 역변환 장치를 가지며, 상기 역변환 정보를 이용한 해상도 역변환 처리를 시퀀스 단위로 적용할지 픽처 단위로 적용할지의 정보를 복호하는 것을 특징으로 하는 동화상 복호 장치이다.
또한, 부호화 데이터를 복호하여 복호 화상을 생성하는 화상 복호 장치, 역변환 정보를 보조 확장 정보로서 시퀀스 단위로 복호하는 역변환 정보 복호 장치, 상기 복호 화상을 상기 역변환 정보를 이용하여 지정된 해상도로 변환을 수행하는 뉴럴 네트워크를 이용한 해상도 역변환 장치를 가지며, 상기 역변환 정보를 이용한 해상도 역변환 처리를 계층(레이어)별로 적용할지의 정보를 복호하는 것을 특징으로 하는 동화상 복호 장치이다.
또한, 화상을 부호화하여 부호화 데이터를 생성하는 화상 부호화 장치, 상기 부호화 데이터를 복호했을 때의 복호 화상의 해상도를 역변환하기 위한 역변환 정보를 생성하는 역변환 정보 생성 장치, 상기 역변환 정보를 보조 확장 정보로서 시퀀스 단위로 부호화하는 역변환 정보 부호화 장치를 가지며, 상기 역변환 정보를 이용한 해상도 역변환 처리를 시퀀스 단위로 적용할지 픽처 단위로 적용할지의 정보를 부호화하는 것을 특징으로 하는 동화상 부호화 장치이다.
또한, 화상을 부호화하여 부호화 데이터를 생성하는 화상 부호화 장치, 상기 부호화 데이터를 복호했을 때의 복호 화상의 해상도를 역변환하기 위한 역변환 정보를 생성하는 역변환 정보 생성 장치, 상기 역변환 정보를 보조 확장 정보로서 시퀀스 단위로 부호화하는 역변환 정보 부호화 장치를 가지며, 상기 역변환 정보를 이용한 해상도 역변환 처리를 계층(레이어)별로 적용할지의 정보를 부호화하는 것을 특징으로 하는 동화상 부호화 장치이다.
본 발명의 실시형태가 상술한 실시형태로 한정되는 것은 아니며, 청구항에 나타낸 범위에서 다양한 변경이 가능하다. 즉, 청구항에 나타낸 범위에서 적절히 변경한 기술적 수단을 조합하여 얻어지는 실시형태에 대해서도 본 발명의 기술적 범위에 포함된다.
본 발명의 실시형태는 화상 데이터가 부호화된 부호화 데이터를 복호하는 동화상 복호 장치, 및 화상 데이터가 부호화된 부호화 데이터를 생성하는 동화상 부호화 장치에 적합하게 적용할 수 있다. 또한, 동화상 부호화 장치에 의해 생성되고, 동화상 복호 장치에 의해 참조되는 부호화 데이터의 데이터 구조에 적합하게 적용할 수 있다.
1: 동화상 전송 시스템
30: 동화상 복호 장치
31: 화상 복호 장치
301: 엔트로피 복호부
302: 파라미터 복호부
305, 107: 루프 필터
306, 109: 참조 픽처 메모리
307, 108: 예측 파라미터 메모리
308, 101: 예측 화상 생성부
311, 105: 역양자화·역변환부
312, 106: 가산부
320: 예측 파라미터 도출부
10: 동화상 부호화 장치
11: 화상 부호화 장치
102: 감산부
103: 변환·양자화부
104: 엔트로피 부호화부
110: 부호화 파라미터 결정부
111: 파라미터 부호화부
120: 예측 파라미터 도출부
71: 역변환 정보 작성 장치
81: 역변환 정보 부호화 장치
91: 역변환 정보 복호 장치
611: NN 필터부

Claims (4)

  1. 부호화 데이터를 복호하여 복호 화상을 생성하는 화상 복호 장치와,
    시퀀스 단위로 역변환 정보를 보조 확장 정보로서 복호하는 역변환 정보 복호 장치와,
    상기 복호 화상을 상기 역변환 정보를 이용하여 지정된 해상도로 변환을 수행하는 뉴럴 네트워크를 이용한 해상도 역변환 장치를 가지며,
    상기 역변환 정보를 이용한 해상도 역변환 처리를 시퀀스 단위로 적용할지 픽처 단위로 적용할지의 정보를 복호하는 것을 특징으로 하는 동화상 복호 장치.
  2. 부호화 데이터를 복호하여 복호 화상을 생성하는 화상 복호 장치와,
    역변환 정보를 보조 확장 정보로서 시퀀스 단위로 복호하는 역변환 정보 복호 장치와,
    상기 복호 화상을 상기 역변환 정보를 이용하여 지정된 해상도로 변환을 수행하는 뉴럴 네트워크를 이용한 해상도 역변환 장치를 가지며,
    상기 역변환 정보를 이용한 해상도 역변환 처리를 계층별로 적용할지의 정보를 복호하는 것을 특징으로 하는 동화상 복호 장치.
  3. 화상을 부호화하여 부호화 데이터를 생성하는 화상 부호화 장치와,
    상기 부호화 데이터를 복호했을 때의 복호 화상의 해상도를 역변환하기 위한 역변환 정보를 생성하는 역변환 정보 생성 장치와,
    상기 역변환 정보를 보조 확장 정보로서 시퀀스 단위로 부호화하는 역변환 정보 부호화 장치를 가지며,
    상기 역변환 정보를 이용한 해상도 역변환 처리를 시퀀스 단위로 적용할지 픽처 단위로 적용할지의 정보를 부호화하는 것을 특징으로 하는 동화상 부호화 장치.
  4. 화상을 부호화하여 부호화 데이터를 생성하는 화상 부호화 장치와,
    상기 부호화 데이터를 복호했을 때의 복호 화상의 해상도를 역변환하기 위한 역변환 정보를 생성하는 역변환 정보 생성 장치와,
    상기 역변환 정보를 보조 확장 정보로서 시퀀스 단위로 부호화하는 역변환 정보 부호화 장치를 가지며,
    상기 역변환 정보를 이용한 해상도 역변환 처리를 계층별로 적용할지의 정보를 부호화하는 것을 특징으로 하는 동화상 부호화 장치.
KR1020230019977A 2022-09-27 2023-02-15 동화상 부호화 장치, 동화상 복호 장치 KR20240043648A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022153692A JP2024047918A (ja) 2022-09-27 2022-09-27 動画像符号化装置、動画像復号装置
JPJP-P-2022-153692 2022-09-27

Publications (1)

Publication Number Publication Date
KR20240043648A true KR20240043648A (ko) 2024-04-03

Family

ID=84829884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230019977A KR20240043648A (ko) 2022-09-27 2023-02-15 동화상 부호화 장치, 동화상 복호 장치

Country Status (6)

Country Link
US (1) US20240107040A1 (ko)
EP (1) EP4346213A1 (ko)
JP (1) JP2024047918A (ko)
KR (1) KR20240043648A (ko)
CN (1) CN117793369A (ko)
AU (1) AU2023200601A1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115191116A (zh) * 2019-10-02 2022-10-14 威诺瓦国际有限公司 使用嵌入信令来校正信号损伤
JP2022096879A (ja) * 2020-12-18 2022-06-30 シャープ株式会社 動画像符号化装置、復号装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S. McCarthy, T. Chujoh, M. M. Hannuksela, G. J. Sullivan and Y.-K. Wang, "Additional SEI messages for VSEI (Draft 1)," JVET-AA2006-v2, Aug.19, 2022.

Also Published As

Publication number Publication date
JP2024047918A (ja) 2024-04-08
AU2023200601A1 (en) 2024-04-18
US20240107040A1 (en) 2024-03-28
CN117793369A (zh) 2024-03-29
EP4346213A1 (en) 2024-04-03

Similar Documents

Publication Publication Date Title
CA2951522C (en) Extensible design of nesting supplemental enhancement information (sei) messages
JP6761045B2 (ja) ビデオのための色再マッピング情報補足エンハンスメント情報メッセージを生成するための方法およびシステム
GB2534606A (en) Method and device for encoding or decoding an image comprising encoding of decoding information representing prediction modes
JP7407299B2 (ja) 量子化パラメータのための高レベルのビットストリームシンタックス
EP3132607B1 (en) Signaling reference layers for 3d color prediction for color gamut scalability
KR20220101711A (ko) Nal 유닛 관련 정보 기반 영상 또는 비디오 코딩
KR20210148343A (ko) 다층 비디오 스트림에 대한 출력 계층 세트를 위한 방법
JP2024014958A (ja) ローカルデュアルツリー向けのパレットモード
KR20220101712A (ko) 슬라이스 또는 픽처에 대한 nal 유닛 타입 기반 영상 또는 비디오 코딩
US20230362375A1 (en) Adaptive Colour Transform in Image/Video Coding
KR20230016655A (ko) 로컬 이중 트리 모드 유형 정의가 있는 팔레트 모드
KR20240043648A (ko) 동화상 부호화 장치, 동화상 복호 장치
KR20220050203A (ko) 변환 스킵 및 팔레트 코딩 관련 고급 문법 요소 기반 영상 또는 비디오 코딩
US20230421785A1 (en) Video coding apparatus and video decoding apparatus
WO2023112784A1 (ja) 動画像復号装置、ポスト画像処理装置、動画像符号化装置、動画像復号方法及び動画像符号化方法
JP2024076475A (ja) 動画像符号化装置、復号装置
WO2023136257A1 (ja) 動画像符号化装置、動画像復号装置
US20240098253A1 (en) Coefficients Coding In Transform Skip Mode
US20230328292A1 (en) Video coding apparatus and video decoding apparatus
EP4364423A1 (en) Independent subpicture film grain
KR20220100710A (ko) Nal 유닛 타입 기반 영상 또는 비디오 코딩
KR20220073825A (ko) 크로마 양자화 파라미터 오프셋 정보 기반 영상 또는 비디오 코딩
KR20230017236A (ko) 픽처 출력 관련 정보 기반 영상 또는 비디오 코딩
KR20220071268A (ko) 팔레트 코딩 또는 변환 유닛을 위한 양자화 파라미터 정보 기반 영상 또는 비디오 코딩
KR20230016047A (ko) 비디오 코딩에서의 서브픽처들 및 타일들의 사용