JP7482232B2 - Deep Loop Filters with Time-warpable Convolution - Google Patents

Deep Loop Filters with Time-warpable Convolution Download PDF

Info

Publication number
JP7482232B2
JP7482232B2 JP2022538953A JP2022538953A JP7482232B2 JP 7482232 B2 JP7482232 B2 JP 7482232B2 JP 2022538953 A JP2022538953 A JP 2022538953A JP 2022538953 A JP2022538953 A JP 2022538953A JP 7482232 B2 JP7482232 B2 JP 7482232B2
Authority
JP
Japan
Prior art keywords
frames
image frames
dnn
feature map
tdc
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2022538953A
Other languages
Japanese (ja)
Other versions
JP2023509395A (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 JP2023509395A publication Critical patent/JP2023509395A/en
Application granted granted Critical
Publication of JP7482232B2 publication Critical patent/JP7482232B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

[関連出願の相互参照]
本出願は、米国特許商標庁に2020年10月9日に出願された米国仮出願第63/090,126号、及び2021年8月5日に出願された米国出願第17/394,504号に基づき、これらに対して優先権を主張するものであり、これらの開示はその全体を参照により本明細書に組み込まれる。
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is based on and claims priority to U.S. Provisional Application No. 63/090,126, filed in the U.S. Patent and Trademark Office on October 9, 2020, and U.S. Application No. 17/394,504, filed on August 5, 2021, the disclosures of which are incorporated by reference in their entireties herein.

1. 分野
本開示は、ビデオコーディングの分野に関し、特に、時間変形可能畳み込み(TDC)を有するディープニューラルネットワーク(DNN)に基づいてデコードされたビデオを処理するためにループフィルタを使用するデバイス及び方法に関する。
1. Field This disclosure relates to the field of video coding, and in particular to devices and methods that use a loop filter to process decoded video based on a deep neural network (DNN) with time-variable convolutions (TDC).

2. 関連技術の説明
H.264/アドバンストビデオコーディング(Advanced Video Coding)(H.264/AVC)、高効率ビデオコーディング(High-Efficiency Video Coding、HEVC)、及び汎用ビデオコーディング(Versatile Video Coding、VVC)などの従来のビデオコーディング標準は、同様の(再帰的な)ブロックベースのハイブリッド予測/変換フレームワークを共有しており、これにおいて、イントラ/インター予測、整数変換、及びコンテキスト適応エントロピーコーディングなどの個々のコーディングツールは、全体効率を最適化するために集中的に手作りされている。基本的に、時空間的な画素近傍は、後続の変換、量子化、及びエントロピーコーディングのための対応する残差を取得するために、予測信号構築に利用される。一方、ディープニューラルネットワーク(DNN)の性質は、近隣画素の受容野からの時空間情報を分析することにより、異なるレベルの時空間刺激を抽出することである。高度な非線形性及び非局所的な時空間相関を探索する能力は、大きく改善された圧縮品質の有望な機会を提供する。
2. Description of Related Art Conventional video coding standards such as H.264/Advanced Video Coding (H.264/AVC), High-Efficiency Video Coding (HEVC), and Versatile Video Coding (VVC) share a similar (recursive) block-based hybrid prediction/transform framework, in which individual coding tools such as intra/inter prediction, integer transform, and context-adaptive entropy coding are intensively handcrafted to optimize overall efficiency. Essentially, spatio-temporal pixel neighborhoods are utilized in predictive signal construction to obtain corresponding residuals for subsequent transform, quantization, and entropy coding. Meanwhile, the nature of deep neural networks (DNNs) is to extract different levels of spatio-temporal stimuli by analyzing spatio-temporal information from the receptive fields of neighboring pixels. The ability to explore highly nonlinear and non-local spatio-temporal correlations offers promising opportunities for greatly improved compression quality.

しかしながら、圧縮されたビデオは必然的に圧縮アーチファクトに悩まされ、それは体感品質(QoE)を深刻に劣化させる。DNNベースの方法は、画像ノイズ除去、超解像、ぼけ除去等など、圧縮された画像の視覚品質を向上させるように開発されてきている。これらの方法がビデオに適用されると、画像ベースの方法は、圧縮されたビデオの品質、ビデオシーン、及びビデオ内のオブジェクトの動きを変えることにより引き起こされる不安定性及び変動に悩まされる。したがって、ビデオ内の近隣のフレームからの情報を利用して、向上させた視覚品質を安定させ、改善することが重要である。 However, compressed videos inevitably suffer from compression artifacts, which severely degrade the quality of experience (QoE). DNN-based methods have been developed to enhance the visual quality of compressed images, such as image denoising, super-resolution, deblurring, etc. When these methods are applied to videos, image-based methods suffer from instability and fluctuations caused by changing the quality of the compressed video, the video scene, and the motion of objects in the video. Therefore, it is important to utilize information from neighboring frames in the video to stabilize and improve the enhanced visual quality.

複数の近隣のビデオフレームからの情報を利用することの1つの注意は、移動するカメラ及び動的なシーンにより引き起こされる複雑な動きである。従来のブロックベースの動きベクトルは、非並進運動に対してうまく機能しない。また、学習ベースのオプティカルフロー法は、画素レベルでより正確な動き情報を提供することができるが、それらは、特に移動するオブジェクトの境界に沿って、依然として誤差を生じやすい。 One caveat of utilizing information from multiple neighboring video frames is the complex motion caused by a moving camera and dynamic scenes. Traditional block-based motion vectors do not work well for non-translational motion. And while learning-based optical flow methods can provide more accurate motion information at the pixel level, they are still prone to errors, especially along the boundaries of moving objects.

したがって、本開示の1つ以上の実施形態は、明示的な動き推定なしにデータ駆動方式で任意の及び複雑な動きを扱うための、時間変形可能畳み込み(TDC)を有するDNNベースのモデルを提供する。 Thus, one or more embodiments of the present disclosure provide a DNN-based model with time-deformable convolutions (TDCs) to handle arbitrary and complex motion in a data-driven manner without explicit motion estimation.

一実施形態によれば、ループフィルタを有する1つ以上のニューラルネットワークを使用してビデオコーディングを実行する方法が提供される。当該方法は、ビデオシーケンスにおける複数の画像フレームを取得するステップと、複数の画像フレームの各々について特徴マップを決定し、特徴マップに基づいてオフセットマップを決定するステップと、特徴マップ及びオフセットマップに対して時間変形可能畳み込み(temporal deformable convolution、TDC)を実行することにより整合された(aligned)特徴マップを決定するステップと、複数の整合されたフレームを生成するステップと、を含む。 According to one embodiment, a method for performing video coding using one or more neural networks with a loop filter is provided. The method includes obtaining a plurality of image frames in a video sequence, determining a feature map for each of the plurality of image frames, determining an offset map based on the feature map, determining an aligned feature map by performing a temporal deformable convolution (TDC) on the feature map and the offset map, and generating a plurality of aligned frames.

一実施形態によれば、コンピュータプログラムコードを記憶する少なくとも1つのメモリと、少なくとも1つのメモリにアクセスし、コンピュータプログラムコードにより指示されるとおり動作するように構成された少なくとも1つのプロセッサと、を含む装置が提供される。コンピュータプログラムコードは、少なくとも1つのプロセッサに、ビデオシーケンスにおける複数の画像フレームを取得することをさせるように構成された取得コードと、少なくとも1つのプロセッサに、複数の画像フレームの各々について特徴マップを決定し、特徴マップに基づいてオフセットマップを決定し、特徴マップ及びオフセットマップに対して時間変形可能畳み込み(TDC)を実行することにより整合された特徴マップを決定することをさせるように構成された決定コードと、少なくとも1つのプロセッサに、複数の整合されたフレームを生成することをさせるように構成された生成コードと、を含む。 According to one embodiment, an apparatus is provided that includes at least one memory that stores computer program code and at least one processor configured to access the at least one memory and operate as directed by the computer program code. The computer program code includes acquisition code configured to cause the at least one processor to acquire a plurality of image frames in a video sequence, decision code configured to cause the at least one processor to determine a feature map for each of the plurality of image frames, determine an offset map based on the feature map, and determine an aligned feature map by performing time transformable convolution (TDC) on the feature map and the offset map, and generation code configured to cause the at least one processor to generate the plurality of aligned frames.

一実施形態によれば、コンピュータプログラムコードを記憶する非一時的コンピュータ読取可能記憶媒体が提供され、コンピュータプログラムコードが少なくとも1つのプロセッサにより実行されると、少なくとも1つのプロセッサは、ビデオシーケンスにおける複数の画像フレームを取得し、複数の画像フレームの各々について特徴マップを決定し、特徴マップに基づいてオフセットマップを決定し、特徴マップ及びオフセットマップに対して時間変形可能畳み込み(TDC)を実行することにより整合された特徴マップを決定し、複数の整合されたフレームを生成するように構成される。 According to one embodiment, a non-transitory computer-readable storage medium is provided that stores computer program code that, when executed by at least one processor, is configured to obtain a plurality of image frames in a video sequence, determine a feature map for each of the plurality of image frames, determine an offset map based on the feature map, determine an aligned feature map by performing time warp convolution (TDC) on the feature map and the offset map, and generate a plurality of aligned frames.

以下の説明は、本開示の1つ以上の実施形態を例示する添付の図面を簡潔に紹介する。
一実施形態によるビデオコーディングシステムを示す図である。 一実施形態によるエンコーダ及びデコーダを含むコンピューティングデバイスの一例を示す図である。 一実施形態によるDNN LFモジュールを訓練する方法を示す図である。 一実施形態による2D TDCを使用するDNN LFモジュールの動作を示す図である。 一実施形態による3D TDCを使用するDNN LFモジュールの動作を示す図である。 一実施形態によるTDCを有するDNNを使用してビデオデータを処理する装置のブロック図である。
The following description briefly introduces the accompanying drawings, which illustrate one or more embodiments of the present disclosure.
FIG. 1 illustrates a video coding system according to one embodiment. FIG. 2 illustrates an example of a computing device including an encoder and a decoder according to one embodiment. FIG. 2 illustrates a method for training a DNN LF module according to one embodiment. FIG. 1 illustrates the operation of a DNN LF module using a 2D TDC according to one embodiment. FIG. 1 illustrates the operation of a DNN LF module using a 3D TDC according to one embodiment. FIG. 2 is a block diagram of an apparatus for processing video data using a DNN with a TDC according to one embodiment.

本明細書において添付の図面を参照して、例示的な実施形態について詳細に説明する。本明細書に記載される開示の1つ以上の実施形態は例示的な実施形態に過ぎず、本開示の範囲を限定するものと解釈されるべきではない。 Exemplary embodiments are described in detail herein with reference to the accompanying drawings. One or more embodiments of the disclosure described herein are exemplary embodiments only and should not be construed as limiting the scope of the disclosure.

図1は、一実施形態によるビデオコーディングシステムを示す図である。 Figure 1 illustrates a video coding system according to one embodiment.

図1を参照し、ビデオコーディングシステム100は、ネットワーク130を介して互いに接続されたエンコーダ110及びデコーダ120を含むことができる。エンコーダ110は、画像データ又はビデオデータを圧縮するように構成され得る。エンコーダ110は、ビデオコーディングシステム100のサーバ側に配置されてもよい。サーバは、クラウドサーバ、又は複数のサーバを含むサーバラスタであってよい。サーバは、プロセッサ、通信インターフェース、及びデータベースを含むことができる。プロセッサは、ビデオシーケンスの1つ以上の画像フレームをエンコードするように構成され得る。通信インターフェースは、ビデオシーケンスの1つ以上の画像フレーム、又はビデオシーケンスのエンコーディングに関連し得る他のデータを送信及び受信するように構成され得る。データベースは、ビデオシーケンスの1つ以上の画像、エンコードされたデータ、及びデコードされたデータを記憶するように構成され得る。しかしながら、1つ以上の実施形態はこれに限定されない。例えば、エンコーダ110は、ネットワーク130に接続されたコンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、モバイルデバイス、パーソナルデジタルアシスタント(PDA)、コンソール、ウェアラブルデバイスなど)において実現されてもよい。エンコーダ110は、コンピューティングデバイス上で動作するソフトウェアでもよい。 Referring to FIG. 1, the video coding system 100 may include an encoder 110 and a decoder 120 connected to each other via a network 130. The encoder 110 may be configured to compress image data or video data. The encoder 110 may be located on a server side of the video coding system 100. The server may be a cloud server or a server cluster including multiple servers. The server may include a processor, a communication interface, and a database. The processor may be configured to encode one or more image frames of a video sequence. The communication interface may be configured to transmit and receive one or more image frames of a video sequence or other data that may be related to the encoding of the video sequence. The database may be configured to store one or more images of the video sequence, the encoded data, and the decoded data. However, one or more embodiments are not limited thereto. For example, the encoder 110 may be implemented in a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a mobile device, a personal digital assistant (PDA), a console, a wearable device, etc.) connected to the network 130. The encoder 110 may be software running on the computing device.

図2は、一実施形態によるエンコーダ及び/又はデコーダとして実現されるコンピューティングデバイスの一例を示す図である。コンピューティングデバイス200は、図1に示すエンコーダ110及び/又はデコーダ120として実現されてもよい。 Figure 2 illustrates an example of a computing device implemented as an encoder and/or decoder according to one embodiment. Computing device 200 may be implemented as encoder 110 and/or decoder 120 shown in Figure 1.

図2を参照し、コンピューティングデバイス200は、プロセッサ210、メモリ220、ストレージ230、入力インターフェース240、出力インターフェース250、通信インターフェース260、及びバス270を含むことができる。 Referring to FIG. 2, the computing device 200 may include a processor 210, a memory 220, a storage 230, an input interface 240, an output interface 250, a communication interface 260, and a bus 270.

プロセッサ210は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせで実現される。プロセッサ210は、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、アクセラレーテッド処理ユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は別のタイプの処理コンポーネントである。いくつかの実装において、プロセッサ210は、機能を実行するようにプログラム可能な1つ以上のプロセッサを含む。 Processor 210 may be implemented in hardware, firmware, or a combination of hardware and software. Processor 210 may be a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or another type of processing component. In some implementations, processor 210 includes one or more processors that are programmable to perform functions.

メモリ220は、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、及び/又は、プロセッサ210による使用のための情報及び/又は命令を記憶する別のタイプの動的又は静的記憶デバイス(例えば、フラッシュメモリ、磁気メモリ、及び/又は光学メモリ)を含む。 Memory 220 may include random access memory (RAM), read only memory (ROM), and/or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and/or optical memory) that stores information and/or instructions for use by processor 210.

ストレージ230は、コンピューティングデバイス200の動作及び使用に関連する情報及び/又はソフトウェアを記憶する。例えば、ストレージ230は、ハードディスク(例えば、磁気ディスク、光ディスク、磁気光ディスク、及び/又はソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又は別のタイプの非一時的コンピュータ読取可能媒体を、対応するドライブと共に含んでもよい。 Storage 230 stores information and/or software related to the operation and use of computing device 200. For example, storage 230 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and/or a solid state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium with a corresponding drive.

入力インターフェース240は、コンピューティングデバイス200がユーザ入力を介してなどで情報を受け取ることを可能にするコンポーネント(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、及び/又はマイクロフォン)を含む。さらに又は代わりに、入力インターフェース240は、情報を感知するセンサ(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、及び/又はアクチュエータ)を含んでもよい。出力インターフェース250は、コンピューティングデバイス200からの出力情報を提供するコンポーネント(例えば、ディスプレイ、スピーカ、及び/又は1つ以上の発光ダイオード(LED))を含む。 The input interface 240 includes components (e.g., a touch screen display, a keyboard, a keypad, a mouse, buttons, switches, and/or a microphone) that enable the computing device 200 to receive information, such as via user input. Additionally or alternatively, the input interface 240 may include sensors that sense information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and/or an actuator). The output interface 250 includes components (e.g., a display, a speaker, and/or one or more light emitting diodes (LEDs)) that provide output information from the computing device 200.

通信インターフェース260は、コンピューティングデバイス200が有線接続、無線接続、又は有線及び無線接続の組み合わせを介してなどで他のデバイスと通信することを可能にするトランシーバ様のコンポーネント(例えば、トランシーバ、及び/又は別個の受信機及び送信機)を含む。通信インターフェース260は、コンピューティングデバイス200が別のデバイスから情報を受信し、及び/又は別のデバイスに情報を提供することを可能にし得る。例えば、通信インターフェース260は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、Wi-Fiインターフェース、セルラーネットワークインターフェースなどを含んでもよい。 Communication interface 260 includes transceiver-like components (e.g., a transceiver, and/or a separate receiver and transmitter) that enable computing device 200 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 260 may enable computing device 200 to receive information from another device and/or provide information to another device. For example, communication interface 260 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.

バス270は、コンピューティングデバイス200のコンポーネント間の通信を可能にするコンポーネントを含む。 Bus 270 includes components that enable communication between components of computing device 200.

コンピューティングデバイス200は、本明細書に記載される1つ以上の動作を実行することができる。コンピューティングデバイス200は、プロセッサ210がメモリ220及び/又はストレージ230などの非一時的コンピュータ読取可能媒体に記憶されたソフトウェア命令を実行することに応答して、本明細書に記載される動作を実行してもよい。コンピュータ読取可能媒体は、本明細書において非一時的メモリデバイスとして定義される。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間、又は複数の物理ストレージデバイスにわたり分散されたメモリ空間を含んでもよい。 Computing device 200 may perform one or more operations described herein. Computing device 200 may perform operations described herein in response to processor 210 executing software instructions stored in a non-transitory computer-readable medium, such as memory 220 and/or storage 230. A computer-readable medium is defined herein as a non-transitory memory device. A memory device may include memory space within a single physical storage device or memory space distributed across multiple physical storage devices.

ソフトウェア命令は、別のコンピュータ読取可能媒体から、又は通信インターフェース260を介して別のデバイスから、メモリ220及び/又はストレージ230に読み込むことができる。実行されると、メモリ220及び/又はストレージ230に記憶されたソフトウェア命令は、プロセッサ210に、本明細書に記載される1つ以上のプロセスを実行させることができる。さらに又は代わりに、本明細書に記載される1つ以上のプロセスを実行するために、ソフトウェア命令の代わりに、又はソフトウェア命令と組み合わせて、ハードワイヤード回路が使用されてもよい。したがって、本明細書に記載される実装は、ハードウェア回路とソフトウェアの特定の組み合わせに限定されない。 Software instructions can be loaded into memory 220 and/or storage 230 from another computer-readable medium or from another device via communication interface 260. When executed, the software instructions stored in memory 220 and/or storage 230 can cause processor 210 to perform one or more processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, the implementations described herein are not limited to any particular combination of hardware circuitry and software.

図2に示すコンポーネントの数及び配置は、一例として提供されている。実際には、コンピューティングデバイス200は、図2に示されるものに対してさらなるコンポーネント、より少ないコンポーネント、異なるコンポーネント、又は別様に配置されたコンポーネントを含んでもよい。さらに又は代わりに、コンピューティングデバイス200のコンポーネントのセット(例えば、1つ以上のコンポーネント)が、コンピューティングデバイス200のコンポーネントの別のセットにより実行されるものとして説明される1つ以上の機能を実行してもよい。 The number and arrangement of components shown in FIG. 2 are provided as an example. In practice, computing device 200 may include additional, fewer, different, or differently arranged components than those shown in FIG. 2. Additionally or alternatively, a set of components (e.g., one or more components) of computing device 200 may perform one or more functions that are described as being performed by another set of components of computing device 200.

図3は、一実施形態によるDNN LFモジュールの訓練する方法を示す図である。 Figure 3 illustrates a method for training a DNN LF module in one embodiment.

まず、典型的なビデオ圧縮フレームワークについて本明細書において説明する。入力ビデオxが、複数の元の画像フレームx,...,xを含むと仮定する。第1の動き推定ステップにおいて、複数の元の画像フレームは空間ブロックに分割され、各空間ブロックは反復的により小さいブロックにさらに分割することができ、カレントの(current)元の画像フレームxと前の再構成されたフレームのセット

との間の動きベクトルのセットmが、各空間ブロックについて計算される。ここで、下付き文字tは、カレントの第tのエンコーディングサイクルを表し、これは、画像フレームのタイムスタンプと一致しないことがある。さらに、前の再構成フレームのセット

は、複数の前のエンコーディングサイクルからのフレームを含むことができる。第2の動き補償ステップにおいて、予測されたフレーム

が、動きベクトルmに基づいて前の再構成フレーム

の対応する画素をコピーすることにより得られ、カレントの元の画像フレームxと、予測フレーム

との間の残差rが、

により得られる。第3の推定ステップにおいて、空間ブロック上で離散コサイン変換(DCT)を実行した後、残差rのDCT係数は、量子化された残差

を得るために量子化される。したがって、動きベクトルmと、量子化残差

の双方が、エントロピーコーディングによりビットストリームにエンコードされ、ビットストリームは、1つ以上のデコーダに送信される。デコーダ側において、量子化残差

は、まず、復元された残差

を得るために(例えば、逆離散コサイン変換(IDCT)などの逆変換を通して)量子化解除され(de-quantized)、次いで、復元残差

は、予測フレーム

に加算され、

により、再構成フレームが得られる。
First, a typical video compression framework is described herein. Assume that an input video x contains multiple original image frames x1 ,..., xt . In a first motion estimation step, the multiple original image frames are divided into spatial blocks, each of which can be further divided into smaller blocks iteratively, and the current original image frame xt and a set of previous reconstructed frames are

A set of motion vectors m t between m t and m t is calculated for each spatial block, where the subscript t denotes the current t th encoding cycle, which may not coincide with the timestamp of an image frame. Additionally, a set of previous reconstructed frames m t

In the second motion compensation step, the predicted frame may include frames from multiple previous encoding cycles.

is the previous reconstructed frame based on the motion vector mt .

The current original image frame xt and the predicted frame

The residual r t between

In the third estimation step, after performing a Discrete Cosine Transform (DCT) on the spatial block, the DCT coefficients of the residual r t are obtained by the quantized residual

Therefore, the motion vector mt and the quantized residual

Both the quantized residuals are encoded into a bitstream by entropy coding, and the bitstream is transmitted to one or more decoders.

First, the restored residual

, and then de-quantized (e.g., through an inverse transform such as an inverse discrete cosine transform (IDCT)) to obtain

is the predicted frame

is added to

gives the reconstructed frame.

さらに、再構成フレーム

の視覚品質を改善するために、さらなるコンポーネントが使用されてもよい。デブロッキングフィルタ(Deblocking Filter、DF)、サンプル適応オフセット(Sample-Adaptive Offset、SAO)、適応ループフィルタ(Adaptive Loop Filter、ALF)、クロスコンポーネント適応フィルタ(Cross-Component Adaptive Filter、CCALF)等などのエンハンスメントモジュールの1つ以上が、再構成フレーム

を処理するために選択されてもよい。例えば、デブロッキングフィルタ(DF)は、ブロックコーディング手法を使用するときにマクロブロック間に形成される鋭いエッジを平滑化することにより視覚品質及び予測性能を改善するために、デコードされたビデオに適用され得るビデオフィルタである。サンプル適応オフセット(SAO)は、各サンプルにオフセット値を加えることにより平均サンプル歪みを低減するためのループ内フィルタ手法である。SAOは、2つのタイプのオフセット手法を含み、それらは、エッジオフセット(EO)とバンドオフセット(BO)である。EOは、フィルタリングされる画像フレーム内の局所的な方向構造により駆動され、BOは、近傍への依存なしに画像フレームの強度値を修正する。適応ループフィルタ(ALF)は、元のサンプル画像とデコードされたサンプル画像との間の平均二乗誤差を最小化するために使用され得る。エンハンスメントモジュールを処理する順序及びエンハンスメントモジュールの選択は、ユーザ設定に従って様々に修正されてもよい。
Furthermore, the reconstruction frame

Further components may be used to improve the visual quality of the reconstructed frame. One or more of the enhancement modules, such as a Deblocking Filter (DF), Sample-Adaptive Offset (SAO), Adaptive Loop Filter (ALF), Cross-Component Adaptive Filter (CCALF), etc., may be applied to the reconstructed frame.

For example, a deblocking filter (DF) is a video filter that can be applied to the decoded video to improve visual quality and prediction performance by smoothing sharp edges formed between macroblocks when using block coding techniques. Sample Adaptive Offset (SAO) is an in-loop filter technique for reducing the average sample distortion by adding an offset value to each sample. SAO includes two types of offset techniques, namely edge offset (EO) and band offset (BO). EO is driven by local directional structures in the image frame being filtered, and BO modifies the intensity values of the image frame without dependency on the neighborhood. An adaptive loop filter (ALF) can be used to minimize the mean square error between the original sample image and the decoded sample image. The order of processing the enhancement modules and the selection of the enhancement modules may be variously modified according to user settings.

一実施形態によれば、DNN LFを訓練する全体的な方法が提供される。図3を参照し、N個の前の再構成フレームのセット

が、DNN LFモジュール310への入力として提供される。DNN LFモジュール310は、エンドツーエンド(E2E)LF DNNネットワークを使用することにより、高品質フレーム

を生成することができる。生成された高品質フレーム

は、次いで、再構成品質計算モジュール320により元の画像フレームxの再構成品質を評価するために計算される。次いで、再構成品質計算モジュール320は、再構成品質

を逆伝搬モジュール330に出力する。逆伝搬モジュール330は、再構成品質計算モジュール320により評価された再構成品質に従ってDNN LFモジュール310を訓練するために、再構成品質

をDNN LFモジュール310にフィードバックする。
According to one embodiment, a general method for training a DNN LF is provided. With reference to FIG. 3, a set of N previous reconstructed frames is

is provided as an input to the DNN LF module 310. The DNN LF module 310 performs high quality frame forwarding by using an end-to-end (E2E) LF DNN network.

The generated high quality frame

is then calculated by the reconstruction quality calculation module 320 to evaluate the reconstruction quality of the original image frame xt . The reconstruction quality calculation module 320 then calculates the reconstruction quality

to the backpropagation module 330. The backpropagation module 330 outputs the reconstruction quality

is fed back to the DNN LF module 310.

さらに、DNN LFモジュール310により出力されるN個の前の再構成フレームのセットに対する整合損失

が、逆伝搬モジュール330に供給され得、これは次いで、DNN LFモジュール310を訓練するために、逆伝搬モジュール330を通じてDNN LFモジュール310にフィードバックされる。整合損失のより詳細な説明は、図4を参照して以下に記載される。
Furthermore, the match loss for the set of N previous reconstructed frames output by the DNN LF module 310 is

may be fed to the backpropagation module 330, which is then fed back to the DNN LF module 310 through the backpropagation module 330 to train the DNN LF module 310. A more detailed description of the matching loss is provided below with reference to FIG.

さらに、高品質フレーム

と、元の画像フレームxは、高品質フレーム

と、元の画像フレームxとの間の差を認識及び検出するために、識別モジュール(discrimination module)340に入力され得る。すなわち、識別モジュール340は、

及びxに基づいて、識別損失

を計算し、識別損失を逆伝搬モジュール330に送ることができる。識別損失

は、DNN LFモジュール310及び識別モジュール340を訓練するために、逆伝搬モジュール330を通じてDNN LFモジュール310及び識別モジュール340にフィードバックされ得る。
Plus, high quality frames

and the original image frame xt is the high-quality frame

and the original image frame xt .

Based on xt , the discrimination loss

and send the discrimination loss to the backpropagation module 330.

may be fed back to the DNN LF module 310 and the identification module 340 through the backpropagation module 330 to train the DNN LF module 310 and the identification module 340.

識別DNNは、識別特徴マップ

又はd(x)を計算するために、入力として

及びxのうちの少なくとも1つを使用する分類ネットワークでもよい。識別特徴マップ

又はd(x)に基づいて、識別DNNは、入力が元の画像フレームxであるか、又は生成された(又は合成された)高品質フレーム

であるかを分類する。カテゴリ的交差エントロピー損失などの誤分類損失を測定するために、分類損失

を計算することができる。さらに、生成された高品質画像フレーム

に基づいて計算された識別特徴マップと、元の画像フレームxに基づいて計算された識別特徴マップとの間の差を測定するために、特徴識別損失

が計算されてもよい。
The discriminative DNN is a discriminative feature map

Or to calculate d(x t ), we take

and x t .

Based on d( xt ), the discriminative DNN can be implemented as follows :

To measure misclassification loss, such as categorical cross entropy loss, we use classification loss.

Furthermore, the generated high quality image frame

To measure the difference between the discriminative feature map calculated based on xt and the discriminative feature map calculated based on the original image frame xt , we use the feature discrimination loss

may be calculated.

全体的な識別損失

は、

の線形結合でもよく、これは、以下の式(1)に従って計算される。
Overall discrimination loss

teeth,

which is calculated according to the following equation (1):

ここで、γは、識別特徴マップ

及びd(x)に関連づけられた重みである。
where γ is the discriminative feature map

and d(x t ) is the weight associated with it.

上述したように、再構成品質計算モジュール320により出力される再構成品質

、DNN LF 310により出力される整合損失

、識別モジュール340により出力される識別損失

は、逆伝搬モジュール330に送られる。それぞれのモジュールからこれらの計算を受け取ることに基づいて、逆伝搬モジュール330は、結合損失(joint loss)Ljointの勾配を計算することができ、これは、DNN LFモジュール310及び識別モジュール340にフィードバックされ得る。結合損失Ljointの勾配は、次の式(2)に従って計算されてもよい。
As described above, the reconstruction quality output by the reconstruction quality calculation module 320

, the match loss output by the DNN LF 310

, the discrimination loss output by the discrimination module 340

is sent to the backpropagation module 330. Based on receiving these calculations from each module, the backpropagation module 330 can calculate the gradient of the joint loss L joint , which can be fed back to the DNN LF module 310 and the identification module 340. The gradient of the joint loss L joint may be calculated according to the following equation (2):

ここで、λは、整合損失に関連づけられた重みであり、βは、識別損失に関連づけられた重みである。 where λ is the weight associated with the matching loss and β is the weight associated with the discrimination loss.

結合損失Ljointの勾配は、LF DNN(例えば、特徴抽出DNN、オフセット生成DNN、TDC DNN、フレーム再構成DNN、フレーム合成DNN、識別DNN、並びにTDC及び特徴融合DNN)におけるDNN重み係数を更新するために、逆伝搬モジュール330を通じて逆伝搬することができる。 The gradient of the joint loss L joint can be backpropagated through the backpropagation module 330 to update the DNN weight coefficients in the LF DNNs (e.g., feature extraction DNN, offset generation DNN, TDC DNN, frame reconstruction DNN, frame synthesis DNN, discriminative DNN, and TDC and feature fusion DNNs).

結合損失Ljointを上記の1つ以上のDNNにフィードバックすることに基づいて、予測フレーム

は、N個の前の再構成フレームのセット

を更新するために追加される。例えば、カレントフレームから最大の距離にある最も古いフレームが、N個の前の再構成フレームのセットから除去されてもよく、予測フレーム

が、除去された最も古いフレームを置き換えるために追加されてもよい。その後、エンコーダは、tからt+1へ、次のエンコーディングサイクルに入ることができる。
Based on feeding back the joint loss L joint to one or more of the DNNs, a predicted frame is

is the set of N previous reconstructed frames

For example, the oldest frame with the greatest distance from the current frame may be removed from the set of N previous reconstructed frames, and the predicted frame

may be added to replace the oldest frame that was removed. The encoder can then enter the next encoding cycle, from t to t+1.

一実施形態によれば、DNN LFモジュール310は、再構成フレーム

の視覚品質を改善するために、上述したさらなるコンポーネント(例えば、DF、SAO、ALF、CCALFなど)の1つ以上と組み合わせて使用されてもよい。例えば、再構成フレーム

は、DF、DNN LFモジュール、SAO、及びALFを通じて順次処理され得る。しかしながら、1つ以上の実施形態はこれに限定されず、さらなるコンポーネントを処理する順序が様々に構成されてもよい。一実施形態において、DNN LFモジュール310は、再構成フレーム

の視覚品質を向上させるために、全ての他のさらなるコンポーネントの代替として単独で使用されてもよい。
According to one embodiment, the DNN LF module 310 generates a reconstructed frame

It may be used in combination with one or more of the additional components mentioned above (e.g., DF, SAO, ALF, CCALF, etc.) to improve the visual quality of the reconstructed frame.

may be processed sequentially through the DF, the DNN LF module, the SAO, and the ALF. However, one or more embodiments are not limited in this respect, and the order of processing the additional components may be configured in various ways. In one embodiment, the DNN LF module 310 processes the reconstructed frame

It may be used alone as a replacement for all other additional components to improve the visual quality of the

図4は、一実施形態による2D TDCを使用するDNN LFモジュールの動作を示す図である。 Figure 4 illustrates the operation of a DNN LF module using a 2D TDC in one embodiment.

図4を参照し、DNN LFモジュール400は、特徴抽出モジュール410、オフセット生成モジュール420、TDCモジュール430、フレーム再構成モジュール440、フレーム合成モジュール450、及び整合誤差計算モジュール460を含むことができる。 Referring to FIG. 4, the DNN LF module 400 may include a feature extraction module 410, an offset generation module 420, a TDC module 430, a frame reconstruction module 440, a frame synthesis module 450, and a matching error calculation module 460.

特徴抽出モジュール410は、入力としてN個の前の再構成フレームのセット

を受け取り、フォワード推論(forward inference)を通じて特徴抽出DNNを使用することにより特徴マップ

を計算するように構成され得る。例えば、フレーム

が、全ての他のフレームが整合されなければならない参照フレームとして使用されると仮定し、オフセット生成モジュール420は、

に基づいて、特徴マップ

を連結し(concatenating)、連結された特徴マップをオフセット生成DNNに通すことにより、オフセットマップΔPj→i,tを計算することができる。ここで、フレーム

は、N個の前の再構成フレームのセット

の、任意のフレームであってよい。一般性を損なうことなく、N個の前の再構成フレームのセット

は、それらのタイムスタンプに従って昇順にランク付けされる。したがって、視覚品質を向上させるためのフレームは、N個の再構成フレーム

のタイムスタンプに基づいて選択されてもよい。例えば、ターゲットが、カレント再構成フレーム

を向上させることであるとき、

である。すなわち、全ての他の前に再構成された近隣フレームは、

の前であり得る。別の実施形態において、前に再構成された近隣フレームの一部が、

の前であってよく、残りのフレームは、

の後であってもよい。
The feature extraction module 410 takes as input a set of N previous reconstructed frames,

and extracts a feature map by using a feature extraction DNN through forward inference.

For example, the frame

Assuming that , is used as the reference frame to which all other frames must be aligned, the offset generation module 420 calculates

Based on the feature map

By concatenating the feature maps and passing the concatenated feature maps through the offset generation DNN, we can compute the offset map ΔP j→i,t . Here,

is the set of N previous reconstructed frames

Without loss of generality, the set of N previous reconstructed frames may be any frame of

are ranked in ascending order according to their timestamps. Therefore, the frames for improving the visual quality are the N reconstructed frames

For example, the target may be selected based on the timestamp of the current reconstructed frame.

When the aim is to improve

That is, all other previously reconstructed neighboring frames are

In another embodiment, the portion of the previously reconstructed neighboring frame may be

and the remaining frames may be

It may be after.

オフセット生成モジュール420により生成されたオフセットマップΔPj→i,tは、TDCモジュール430に入力され得る。図4において、TDC DNNは、いくつかのTDC層を積み重ねる(stacking)ことにより形成され、各層は、正規化線形ユニット(Rectified Linear Unit、ReLU)などの非線形活性化層、及び他のDNN層(例えば、ボトルネック層)が後に続いてもよい。TDCモジュール430は、TDC DNNを使用して、特徴抽出モジュール410により出力される特徴マップ

と、オフセット生成モジュール420により出力されるオフセットマップΔPj→i,tとに基づいて、整合された特徴マップ

を計算する。
The offset map ΔP j→i,t generated by the offset generation module 420 may be input to the TDC module 430. In FIG. 4, the TDC DNN is formed by stacking several TDC layers, each of which may be followed by a nonlinear activation layer, such as a Rectified Linear Unit (ReLU), and other DNN layers (e.g., bottleneck layers). The TDC module 430 uses the TDC DNN to extract the feature map output by the feature extraction module 410.

and the offset map ΔP j→i,t output by the offset generation module 420,

Calculate.

一実施形態によれば、TDC DNNは、二次元(2D)TDC層を含んでもよい。例えば、wは、2D TDCカーネルの重み係数を表し、kは、1以上の自然数(例えば、k=1,...,K)であり、pは、カーネル内の第kの位置に対する所定のオフセットを表す(例えば、3x3カーネルは、K=9、及びp∈{(-1,-1),(-1,0),...,(1,1)}で定義される)と仮定する。2D TDC層は、入力特徴fin及び学習可能なオフセットΔPに基づいて、出力特徴foutを計算することができ、ここで、サンプリング位置pにおける特徴は、以下の式に基づいて決定される。
According to one embodiment, the TDC DNN may include a two-dimensional (2D) TDC layer. For example, assume that w k represents a weighting coefficient of a 2D TDC kernel, where k is a natural number equal to or greater than 1 (e.g., k=1,...,K), and p k represents a predefined offset for the kth position in the kernel (e.g., a 3x3 kernel is defined with K=9 and p k ∈{(-1,-1),(-1,0),...,(1,1)}). The 2D TDC layer may calculate output features f out based on input features f in and a learnable offset ΔP, where the feature at sampling position p 0 is determined based on the following formula:

ここで、オフセットの合計(p+p+Δp)は不規則でもよく、整数でなくてもよく、TDC演算は、(p+p+Δp)の不規則な位置を矯正するために、補間(例えば、双線形補間)を実行することができる。 Here, the sum of the offsets ( p0 + pk + Δpk ) may be irregular and may not be an integer, and the TDC operation may perform interpolation (e.g., bilinear interpolation) to correct for the irregular position of ( p0 + pk + Δpk ).

さらに、整合誤差計算モジュール460は、整合損失

を計算して、

の間の不整合の誤差を測定するように構成され得る。例えば、不整合を計算するために、L1ノルム(又は絶対誤差の平均)、又はL2ノルム(二乗根誤差の平均)が使用されてもよい。フレーム再構成モジュール440は、フィードフォワード推論計算を通じてフレーム再構成DNNを使用して、特徴抽出モジュール410により出力される特徴マップ

と、TDCモジュール430により出力される整合された特徴マップ

とに基づいて、整合されたフレーム

を生成することができる。整合されたフレーム

は、フレーム合成モジュール450への入力として使用されてもよく、フレーム合成モジュール450は、フレーム合成DNNを使用して合成された高品質フレーム

を生成することができる。
Furthermore, the match error calculation module 460 calculates the match loss

Calculate the following:

For example, the L1 norm (or average of absolute errors), or the L2 norm (average of square root errors) may be used to calculate the mismatch. The frame reconstruction module 440 uses the frame reconstruction DNN through a feed-forward inference calculation to extract the feature maps output by the feature extraction module 410.

and the aligned feature map output by the TDC module 430

Based on the above, the aligned frames are

The aligned frames can be generated.

may be used as input to the frame synthesis module 450, which generates a high quality frame

can be generated.

DNN LFモジュールのいくつかの特定の実施形態が上述されたが、本開示の1つ以上の実施形態はこれに限定されないことを理解されたい。例えば、特徴抽出DNN、オフセット生成DNN、TDC DNN、フレーム再構成DNN、及びフレーム合成DNNの各々に対して、層のタイプ、層の数、カーネルサイズ等は様々に構成されてもよい。例えば、ResNETなどの任意のバックボーンネットワークが、特徴合成DNNとして使用されてもよい。例えば、規則的な畳み込み層及びボトルネック層のセットが、オフセット生成DNNとして積み重ねられてもよい。例えば、TDC層のセットが、TDC DNNとして積み重ねられてもよく、スキップ接続を有する少数の畳み込み層が、フレーム再構成DNNとして一緒に積み重ねられてもよい。例えば、少数の残差ブロック層が、フレーム合成DNNとして一緒に積み重ねられてもよい。 Although several specific embodiments of the DNN LF module are described above, it should be understood that one or more embodiments of the present disclosure are not limited thereto. For example, the layer type, number of layers, kernel size, etc. may be configured variously for each of the feature extraction DNN, offset generation DNN, TDC DNN, frame reconstruction DNN, and frame synthesis DNN. For example, any backbone network such as ResNET may be used as the feature synthesis DNN. For example, a set of regular convolutional layers and bottleneck layers may be stacked as the offset generation DNN. For example, a set of TDC layers may be stacked as the TDC DNN, and a small number of convolutional layers with skip connections may be stacked together as the frame reconstruction DNN. For example, a small number of residual block layers may be stacked together as the frame synthesis DNN.

図5は、一実施形態による3D TDCを使用するDNN LFモジュールの動作を示す図である。 Figure 5 illustrates the operation of a DNN LF module using a 3D TDC in one embodiment.

図5を参照し、DNN LFモジュール500は、特徴抽出モジュール510、TDC及び特徴融合モジュール520、及び特徴再構成モジュール530を含むことができる。DNN LFモジュール500のコンポーネントの特徴又は機能の一部は、図4を参照して上述されていることを理解されたい。したがって、その繰り返しの記載は省略されることがある。 With reference to FIG. 5, the DNN LF module 500 may include a feature extraction module 510, a TDC and feature fusion module 520, and a feature reconstruction module 530. It should be understood that some of the features or functions of the components of the DNN LF module 500 have been described above with reference to FIG. 4. Therefore, repeated description thereof may be omitted.

一実施形態によれば、入力フレーム

は、サイズ(n、c、h、w)の4D入力テンソルを取得するために一緒に積み重ねられてもよく、ここで、cは、チャネルの数(例えば、カラーフレームに対して3)であり、(h、w)は、ビデオフレームの解像度を提供する。特徴抽出モジュール510は、フォワード推論を通じて特徴抽出DNNを使用して、特徴マップ

の4D特徴テンソルを計算するように構成され得る。一実施形態において、特徴抽出DNNは、3D畳込み層(例えば、C3D)を使用して、特徴マップ

を計算し、ビデオの時空間特性を捕捉する。別の実施形態において、各個々の特徴マップは、図4を参照して説明したように、2D畳み込み層を使用して計算されてもよい。ここで、特徴マップ

は、各個々の入力フレームについて特徴マップ

を計算した後、4Dテンソルに連結されてもよい。したがって、特徴抽出モジュール510は、4D特徴テンソルを出力することができる。
According to one embodiment, an input frame

may be stacked together to obtain a 4D input tensor of size (n, c, h, w), where c is the number of channels (e.g., 3 for a color frame) and (h, w) provide the resolution of the video frame. The feature extraction module 510 uses a feature extraction DNN through forward inference to generate a feature map

In one embodiment, the feature extraction DNN can be configured to compute a 4D feature tensor of feature maps using a 3D convolutional layer (e.g., C3D).

To capture the spatio-temporal characteristics of the video, we compute the feature map σ, which captures the spatio-temporal characteristics of the video. In another embodiment, each individual feature map may be computed using a 2D convolutional layer, as described with reference to FIG. 4. Here, the feature maps σ,

is the feature map for each individual input frame.

After computing, they may be concatenated into a 4D tensor. Thus, the feature extraction module 510 can output a 4D feature tensor.

例えば、wが、3D TDCカーネルの重み係数を表し、pが、カーネル内の第kの位置に対する所定のオフセットを表し、kは、1以上の自然数(例えば、k=1,...,K)であると仮定する。3D TDCカーネルは、K=27、及びp∈{(-1,-1,-1),(-1,-1,0),...,(1,1,1)}として定義されてもよい。3D TDC層は、入力特徴fin及び学習可能なオフセットΔPに基づいて、出力特徴foutを計算することができ、ここで、サンプリング位置pにおける特徴は、上記で提供された同じ式(3)を使用して与えられる。 For example, assume that w k represents a weighting coefficient of the 3D TDC kernel, p k represents a predefined offset for the kth position in the kernel, where k is a natural number equal to or greater than 1 (e.g., k=1,...,K). The 3D TDC kernel may be defined as K=27, and p k ∈{(-1,-1,-1), (-1,-1,0),...,(1,1,1)}. The 3D TDC layer can compute output features f out based on input features f in and a learnable offset ΔP, where the feature at sampling position p 0 is given using the same equation (3) provided above.

図5において、TDC及び特徴融合DNNは、1つ以上の3D TDC層を積み重ねることにより形成されてもよく、各層は、ReLUなどの非線形活性化層が後に続く。さらに又は代わりに、各3D TDC層は、ボトルネック層などの他のDNN層が後に続いてもよい。例えば、フレーム

が、全ての他のフレームが整合される必要がある参照フレームであり、TDC及び特徴融合モジュール520は、TDC及び特徴融合DNNを使用して、4D特徴テンソル

に基づいて、融合された整合された特徴マップ

を計算すると仮定する。フレーム再構成モジュール530は、フレーム再構成DNNを使用して、融合された整合された特徴マップ

に基づいて、再構成された高品質フレーム

を計算する。ここで、DNN LFモジュール500を訓練する際に実行される明示的な空間整合はない。代わりに、3D変形可能畳み込みは、時空間オフセットを直接学習して、整合された融合された特徴を生成する。
In FIG. 5 , the TDC and feature fusion DNN may be formed by stacking one or more 3D TDC layers, each followed by a nonlinear activation layer such as ReLU. Additionally or alternatively, each 3D TDC layer may be followed by other DNN layers, such as a bottleneck layer. For example, in the frame

is the reference frame to which all other frames need to be aligned, and the TDC and feature fusion module 520 uses the TDC and feature fusion DNN to derive the 4D feature tensor

Based on the above, the fused and aligned feature map

Assume that we compute the fused aligned feature map using the frame reconstruction DNN.

Based on the reconstructed high quality frame

Here, there is no explicit spatial matching performed in training the DNN LF module 500. Instead, the 3D deformable convolution directly learns the spatio-temporal offsets to generate the aligned fused features.

DNN LFモジュールのいくつかの特定の実施形態が上述されたが、本開示の1つ以上の実施形態はこれに限定されないことを理解されたい。例えば、特徴抽出DNN、TDC及び特徴融合DNN、及びフレーム再構成DNNの各々に対して、層のタイプ、層の数、カーネルサイズ等は様々に構成されてもよい。 Although several specific embodiments of the DNN LF module are described above, it should be understood that one or more embodiments of the present disclosure are not limited thereto. For example, the layer types, number of layers, kernel sizes, etc. may be configured differently for each of the feature extraction DNN, the TDC and feature fusion DNN, and the frame reconstruction DNN.

図6は、一実施形態によるTDCを有するDNN LFを使用してビデオデータを処理する装置のブロック図である。装置600のコンポーネントの特徴又は機能の一部は、図4及び図5を参照して上述されていることを理解されたい。したがって、その繰り返しの記載は省略されることがある。 Figure 6 is a block diagram of an apparatus for processing video data using a DNN LF with a TDC according to one embodiment. It should be understood that some of the features or functions of the components of the apparatus 600 have been described above with reference to Figures 4 and 5. Therefore, repeated description thereof may be omitted.

装置600は、コンピュータプログラムコードを記憶する少なくとも1つのメモリと、少なくとも1つのメモリにアクセスし、コンピュータプログラムコードにより指示されるとおり動作するように構成された少なくとも1つのプロセッサとを含むことができる。コンピュータプログラムコード600は、取得コード610、決定コード620、及び生成コード630を含むことができる。 The apparatus 600 may include at least one memory that stores computer program code and at least one processor configured to access the at least one memory and operate as directed by the computer program code. The computer program code 600 may include an acquisition code 610, a decision code 620, and a generation code 630.

取得コード610は、ビデオシーケンスにおける再構成画像フレームのセットを取得するように構成され得る。一実施形態によれば、取得コード610は、図4及び図5に関して上述した特徴抽出モジュール410及び510の動作を実行するように構成されてもよい。 Acquisition code 610 may be configured to acquire a set of reconstructed image frames in a video sequence. According to one embodiment, acquisition code 610 may be configured to perform the operations of feature extraction modules 410 and 510 described above with respect to FIGS. 4 and 5.

決定コード620は、複数の画像フレームの各々について特徴マップを決定し、特徴マップに基づいてオフセットマップを決定し、特徴マップ及びオフセットマップに対して時間変形可能畳み込み(TDC)を実行することにより整合された特徴マップを決定するように構成され得る。一実施形態によれば、決定コード620は、図4に関して上述したオフセット生成モジュール420、TDC430、及び整合誤差計算モジュール460、並びに図5に関して上述したTDC及び特徴融合モジュール520の動作を実行するように構成されてもよい。 The decision code 620 may be configured to determine a feature map for each of the plurality of image frames, determine an offset map based on the feature map, and determine an aligned feature map by performing time-variable convolution (TDC) on the feature map and the offset map. According to one embodiment, the decision code 620 may be configured to perform the operations of the offset generation module 420, the TDC 430, and the alignment error calculation module 460 described above with respect to FIG. 4, and the TDC and feature fusion module 520 described above with respect to FIG. 5.

生成コード630は、複数の整合されたフレームを生成し、複数の整合されたフレームを合成して、複数の画像フレームに対応する複数の高品質フレームを出力するように構成され得る。一実施形態によれば、生成コード630は、図4のフレーム再構成モジュール430及びフレーム合成モジュール450、並びに図5のフレーム再構成モジュール530の動作を実行するように構成されてもよい。 The generation code 630 may be configured to generate a plurality of aligned frames and to combine the plurality of aligned frames to output a plurality of high quality frames corresponding to the plurality of image frames. According to one embodiment, the generation code 630 may be configured to perform the operations of the frame reconstruction module 430 and the frame composition module 450 of FIG. 4 and the frame reconstruction module 530 of FIG. 5.

装置600は、取得コード610、決定コード620、及び生成コード630のみを含むものとして記載されたが、本開示の1つ以上の実施形態はこれに限定されない。1つ以上の実施形態は、図6に示されたものより多くの又は少ないコンポーネント又は部分を含んでもよい。 Although the device 600 has been described as including only the acquisition code 610, the decision code 620, and the generation code 630, one or more embodiments of the present disclosure are not so limited. One or more embodiments may include more or fewer components or portions than those shown in FIG. 6.

「ユニット」又は「モジュール」などの、本開示の1つ以上の実施形態で使用される用語は、少なくとも1つの機能又は動作を処理するユニットを示し、ハードウェア、ソフトウェアにおいて、又はハードウェアとソフトウェアの組み合わせで実装することができる。 Terms used in one or more embodiments of the present disclosure, such as "unit" or "module," refer to a unit that processes at least one function or operation and can be implemented in hardware, software, or a combination of hardware and software.

用語「ユニット」、「コード」、又は「モジュール」は、アドレス指定可能な記憶媒体に記憶され、プロセッサにより実行可能であるプログラムにより実装されてもよい。 The terms "unit", "code", or "module" may be implemented by a program stored in an addressable storage medium and executable by a processor.

例えば、用語「ユニット」、「コード」、又は「モジュール」は、ソフトウェアコンポーネント、オブジェクト指向ソフトウェアコンポーネント、クラスコンポーネント及びタスクコンポーネント、プロセス、機能、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び/又は変数を含んでもよい。 For example, the terms "unit," "code," or "module" may include software components, object-oriented software components, class and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and/or variables.

本開示の実施形態のいくつかが上記で示され、説明されている。しかしながら、本開示の1つ以上の実施形態は、前述の特定の実施形態に限定されない。本開示の主旨及び範囲から逸脱することなく、様々な修正、置換、改良、及びその同等のものがなされ得ることが理解され得る。このような修正、置換、改良、及びその同等のものは、本開示の保護範囲に含まれるものとし、本開示の発明概念又は見通しから独立していると解釈されるべきではないことを理解されたい。 Some of the embodiments of the present disclosure have been shown and described above. However, one or more embodiments of the present disclosure are not limited to the specific embodiments described above. It can be understood that various modifications, substitutions, improvements, and equivalents thereof can be made without departing from the spirit and scope of the present disclosure. It should be understood that such modifications, substitutions, improvements, and equivalents are intended to be included in the scope of protection of the present disclosure and should not be construed as being independent of the inventive concept or perspective of the present disclosure.

Claims (10)

ループフィルタを有する1つ以上のニューラルネットワークを使用してビデオコーディングを実行する方法であって、
ビデオシーケンスにおける複数の画像フレームを取得するステップと、
前記複数の画像フレームの各々について特徴マップを決定するステップと、
前記複数の画像フレームの中から参照フレームを選択するステップであって、前記参照フレームは、前記複数の画像フレームにおける他のフレームが整合される必要があるフレームである、選択するステップと、
前記参照フレームの参照特徴マップと前記複数の画像フレームにおける前記他のフレームの各々の特徴マップと、を連結し、前記連結された特徴マップをオフセット生成ディープニューラルネットワーク(DNN)に通して、オフセットマップを決定するステップと、
前記特徴マップ及び前記オフセットマップに対して時間変形可能畳み込み(TDC)を実行することにより整合された特徴マップを決定するステップと、
前記整合された特徴マップに基づいて複数の整合されたフレームを生成するステップと、
を含む方法。
1. A method for performing video coding using one or more neural networks having loop filters, comprising:
acquiring a number of image frames in a video sequence;
determining a feature map for each of the plurality of image frames;
selecting a reference frame from among the plurality of image frames, the reference frame being a frame to which other frames in the plurality of image frames need to be aligned;
concatenating a reference feature map of the reference frame with a feature map of each of the other frames in the plurality of image frames and passing the concatenated feature map through an offset generation deep neural network (DNN) to determine an offset map;
determining an aligned feature map by performing a time-deformable convolution (TDC) on the feature map and the offset map;
generating a plurality of aligned frames based on the aligned feature maps;
The method includes:
前記複数の整合されたフレームを合成して前記複数の画像フレームに対応する複数の高品質フレームを出力するステップ、
をさらに含む請求項1に記載の方法。
combining the aligned frames to output a plurality of high quality frames corresponding to the plurality of image frames;
The method of claim 1 further comprising:
前記特徴マップと前記整合された特徴マップとの間の不整合の誤差を示す整合損失を決定するステップ、
をさらに含み、
前記1つ以上のニューラルネットワークは、前記整合損失により訓練される、請求項1に記載の方法。
determining a matching loss indicative of a mismatch error between the feature map and the aligned feature map;
Further comprising:
The method of claim 1 , wherein the one or more neural networks are trained with the matching loss.
前記複数の画像フレームを取得することは、前記複数の画像フレームを積み重ねて4次元(4D)入力テンソルを取得することを含む、請求項1に記載の方法。 The method of claim 1, wherein acquiring the multiple image frames includes stacking the multiple image frames to acquire a four-dimensional (4D) input tensor. 前記複数の画像フレームは、デブロッキングフィルタ(DF)、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)、又はクロスコンポーネント適応フィルタ(CCALF)のうちの少なくとも1つを使用してさらに処理される、請求項1に記載の方法。 The method of claim 1, wherein the plurality of image frames are further processed using at least one of a deblocking filter (DF), a sample adaptive offset (SAO), an adaptive loop filter (ALF), or a cross-component adaptive filter (CCALF). 前記複数の高品質フレームは、前記複数の画像フレームの再構成品質を決定するために評価され、
前記複数の画像フレームの前記再構成品質は、前記1つ以上のニューラルネットワーク内で逆伝搬され、
前記1つ以上のニューラルネットワークは、前記複数の画像フレームの前記再構成品質により訓練される、請求項2に記載の方法。
The plurality of high quality frames are evaluated to determine a reconstruction quality of the plurality of image frames;
the reconstruction qualities of the plurality of image frames are back-propagated through the one or more neural networks;
The method of claim 2 , wherein the one or more neural networks are trained with the reconstruction quality of the plurality of image frames.
前記複数の画像フレームの各々が元の画像フレームであるか又は高品質フレームであるかの分類における誤差を示す識別損失を決定するステップ、
をさらに含み、
前記1つ以上のニューラルネットワークは、前記識別損失により訓練される、請求項1に記載の方法。
determining a discrimination loss indicative of an error in classifying each of the plurality of image frames as either an original image frame or a high quality frame;
Further comprising:
The method of claim 1 , wherein the one or more neural networks are trained with the discriminative loss.
前記整合された特徴マップを決定することは、時間変形可能畳み込みディープニューラルネットワーク(TDC DNN)を使用することを含み、
前記TDC DNNは、積み重ねにおける複数のTDC層を含み、
前記複数のTDC層の各々は、正規化線形ユニット(ReLU)を含む非線形活性化層が後に続く、請求項1に記載の方法。
Determining the aligned feature map includes using a time-deformable convolutional deep neural network (TDC DNN);
The TDC DNN includes a plurality of TDC layers in a stack;
The method of claim 1 , wherein each of the plurality of TDC layers is followed by a nonlinear activation layer including a rectified linear unit (ReLU).
装置であって、
コンピュータプログラムコードを記憶する少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードを実行するように構成された少なくとも1つのプロセッサと、
を含み、
前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに請求項1乃至のうちいずれか1項に記載の方法を実行させる、装置。
An apparatus comprising:
at least one memory storing computer program code;
at least one processor configured to access said at least one memory and to execute said computer program code;
Including,
9. Apparatus, wherein the computer program code causes the at least one processor to perform the method of any one of claims 1 to 8 .
少なくとも1つのプロセッサに請求項1乃至のうちいずれか1項に記載の方法を実行させるコンピュータプログラム。
A computer program product causing at least one processor to carry out the method according to any one of claims 1 to 8 .
JP2022538953A 2020-10-09 2021-08-18 Deep Loop Filters with Time-warpable Convolution Active JP7482232B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063090126P 2020-10-09 2020-10-09
US63/090,126 2020-10-09
US17/394,504 US11601661B2 (en) 2020-10-09 2021-08-05 Deep loop filter by temporal deformable convolution
US17/394,504 2021-08-05
PCT/US2021/046471 WO2022076085A1 (en) 2020-10-09 2021-08-18 Deep loop filter by temporal deformable convolution

Publications (2)

Publication Number Publication Date
JP2023509395A JP2023509395A (en) 2023-03-08
JP7482232B2 true JP7482232B2 (en) 2024-05-13

Family

ID=81078440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022538953A Active JP7482232B2 (en) 2020-10-09 2021-08-18 Deep Loop Filters with Time-warpable Convolution

Country Status (6)

Country Link
US (1) US11601661B2 (en)
EP (1) EP4052214A4 (en)
JP (1) JP7482232B2 (en)
KR (1) KR20220107028A (en)
CN (1) CN114651270A (en)
WO (1) WO2022076085A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827616B (en) * 2022-04-28 2023-03-10 电子科技大学 Compressed video quality enhancement method based on space-time information balance
WO2024076165A1 (en) * 2022-10-06 2024-04-11 오픈엣지테크놀로지 주식회사 Method for generating command set for neural network operation, and computing device for same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200265567A1 (en) 2019-02-18 2020-08-20 Samsung Electronics Co., Ltd. Techniques for convolutional neural network-based multi-exposure fusion of multiple image frames and for deblurring multiple image frames

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107925762B (en) * 2015-09-03 2020-11-27 联发科技股份有限公司 Video coding and decoding processing method and device based on neural network
JP2020510463A (en) * 2017-01-27 2020-04-09 アーテリーズ インコーポレイテッド Automated segmentation using full-layer convolutional networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200265567A1 (en) 2019-02-18 2020-08-20 Samsung Electronics Co., Ltd. Techniques for convolutional neural network-based multi-exposure fusion of multiple image frames and for deblurring multiple image frames

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Deng Jianing et al.,Spatio-Temporal Deformable Convolution for Compressed Video Quality Enhancement,PROCEEDINGS OF THE AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE,vol.34, no.07,2020年03月04日,pp 10696-10700,インターネットより入手
Yapeng Tian et al.,TDAN: Temporally-Deformable Alignment Network for Video Super-Resolution,2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),IEEE,2020年06月13日,pp. 3357-3360,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9156615,IEL Online (IEEE Xplore)

Also Published As

Publication number Publication date
CN114651270A (en) 2022-06-21
EP4052214A1 (en) 2022-09-07
US20220116633A1 (en) 2022-04-14
US11601661B2 (en) 2023-03-07
JP2023509395A (en) 2023-03-08
EP4052214A4 (en) 2023-01-04
WO2022076085A1 (en) 2022-04-14
KR20220107028A (en) 2022-08-01

Similar Documents

Publication Publication Date Title
JP7110370B2 (en) Using Nonlinear Functions Applied to Quantization Parameters of Machine Learning Models for Video Coding
US10425649B2 (en) Method and apparatus for performing graph-based prediction using optimization function
US10805629B2 (en) Video compression through motion warping using learning-based motion segmentation
CN105191309B (en) Content-adaptive Prediction distance analyzer and hierarchical motion estimation system for next-generation Video coding
EP3545679B1 (en) Apparatus and method for encoding an image
CN111801945A (en) Hybrid motion compensated neural network with side information based video coding
JP7345654B2 (en) Predictive frame generation with deformable convolution for video coding
US11490078B2 (en) Method and apparatus for deep neural network based inter-frame prediction in video coding
JP7482232B2 (en) Deep Loop Filters with Time-warpable Convolution
Perra Assessing the quality of experience in viewing rendered decompressed light fields
JP7487423B2 (en) Learned Multi-scale Optical Flow for Video Compression
US20240037802A1 (en) Configurable positions for auxiliary information input into a picture data processing neural network
US20240161488A1 (en) Independent positioning of auxiliary information in neural network based picture processing
Li et al. Space-time quantization and motion-aligned reconstruction for block-based compressive video sensing
Rizkallah et al. Graph-based spatio-angular prediction for quasi-lossless compression of light fields
RU2646358C2 (en) Method for eliminating redundancy when compressing sequence of images
US20240073425A1 (en) Image encoding apparatus and image decoding apparatus both based on artificial intelligence, and image encoding method and image decoding method performed by the image encoding apparatus and the image decoding apparatus
US10051268B2 (en) Method for encoding, decoding video signal and device therefor
EP4388743A1 (en) Generalized difference coder for residual coding in video compression
CN116934647A (en) Compressed light field quality enhancement method based on spatial angle deformable convolution network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230829

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240426

R150 Certificate of patent or registration of utility model

Ref document number: 7482232

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150