JP7482232B2 - Deep Loop Filters with Time-warpable Convolution - Google Patents
Deep Loop Filters with Time-warpable Convolution Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000004927 fusion Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation 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つ以上の実施形態を例示する添付の図面を簡潔に紹介する。
本明細書において添付の図面を参照して、例示的な実施形態について詳細に説明する。本明細書に記載される開示の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が、複数の元の画像フレームx1,...,xtを含むと仮定する。第1の動き推定ステップにおいて、複数の元の画像フレームは空間ブロックに分割され、各空間ブロックは反復的により小さいブロックにさらに分割することができ、カレントの(current)元の画像フレームxtと前の再構成されたフレームのセット
との間の動きベクトルのセットmtが、各空間ブロックについて計算される。ここで、下付き文字tは、カレントの第tのエンコーディングサイクルを表し、これは、画像フレームのタイムスタンプと一致しないことがある。さらに、前の再構成フレームのセット
は、複数の前のエンコーディングサイクルからのフレームを含むことができる。第2の動き補償ステップにおいて、予測されたフレーム
が、動きベクトルmtに基づいて前の再構成フレーム
の対応する画素をコピーすることにより得られ、カレントの元の画像フレームxtと、予測フレーム
との間の残差rtが、
により得られる。第3の推定ステップにおいて、空間ブロック上で離散コサイン変換(DCT)を実行した後、残差rtのDCT係数は、量子化された残差
を得るために量子化される。したがって、動きベクトルmtと、量子化残差
の双方が、エントロピーコーディングによりビットストリームにエンコードされ、ビットストリームは、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により元の画像フレームxtの再構成品質を評価するために計算される。次いで、再構成品質計算モジュール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.
さらに、高品質フレーム
と、元の画像フレームxtは、高品質フレーム
と、元の画像フレームxtとの間の差を認識及び検出するために、識別モジュール(discrimination module)340に入力され得る。すなわち、識別モジュール340は、
及びxtに基づいて、識別損失
を計算し、識別損失を逆伝搬モジュール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(xt)を計算するために、入力として
及びxtのうちの少なくとも1つを使用する分類ネットワークでもよい。識別特徴マップ
又はd(xt)に基づいて、識別DNNは、入力が元の画像フレームxtであるか、又は生成された(又は合成された)高品質フレーム
であるかを分類する。カテゴリ的交差エントロピー損失などの誤分類損失を測定するために、分類損失
を計算することができる。さらに、生成された高品質画像フレーム
に基づいて計算された識別特徴マップと、元の画像フレームxtに基づいて計算された識別特徴マップとの間の差を測定するために、特徴識別損失
が計算されてもよい。
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)に従って計算される。
teeth,
which is calculated according to the following equation (1):
ここで、γは、識別特徴マップ
及びd(xt)に関連づけられた重みである。
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)に従って計算されてもよい。
, 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層を含んでもよい。例えば、wkは、2D TDCカーネルの重み係数を表し、kは、1以上の自然数(例えば、k=1,...,K)であり、pkは、カーネル内の第kの位置に対する所定のオフセットを表す(例えば、3x3カーネルは、K=9、及びpk∈{(-1,-1),(-1,0),...,(1,1)}で定義される)と仮定する。2D TDC層は、入力特徴fin及び学習可能なオフセットΔPに基づいて、出力特徴foutを計算することができ、ここで、サンプリング位置p0における特徴は、以下の式に基づいて決定される。
ここで、オフセットの合計(p0+pk+Δpk)は不規則でもよく、整数でなくてもよく、TDC演算は、(p0+pk+Δpk)の不規則な位置を矯正するために、補間(例えば、双線形補間)を実行することができる。 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.
例えば、wkが、3D TDCカーネルの重み係数を表し、pkが、カーネル内の第kの位置に対する所定のオフセットを表し、kは、1以上の自然数(例えば、k=1,...,K)であると仮定する。3D TDCカーネルは、K=27、及びpk∈{(-1,-1,-1),(-1,-1,0),...,(1,1,1)}として定義されてもよい。3D TDC層は、入力特徴fin及び学習可能なオフセットΔPに基づいて、出力特徴foutを計算することができ、ここで、サンプリング位置p0における特徴は、上記で提供された同じ式(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)
ビデオシーケンスにおける複数の画像フレームを取得するステップと、
前記複数の画像フレームの各々について特徴マップを決定するステップと、
前記複数の画像フレームの中から参照フレームを選択するステップであって、前記参照フレームは、前記複数の画像フレームにおける他のフレームが整合される必要があるフレームである、選択するステップと、
前記参照フレームの参照特徴マップと前記複数の画像フレームにおける前記他のフレームの各々の特徴マップと、を連結し、前記連結された特徴マップをオフセット生成ディープニューラルネットワーク(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.
前記複数の画像フレームの前記再構成品質は、前記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層を含み、
前記複数の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乃至8のうちいずれか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 .
A computer program product causing at least one processor to carry out the method according to any one of claims 1 to 8 .
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)
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)
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)
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 |
-
2021
- 2021-08-05 US US17/394,504 patent/US11601661B2/en active Active
- 2021-08-18 CN CN202180006326.3A patent/CN114651270A/en active Pending
- 2021-08-18 JP JP2022538953A patent/JP7482232B2/en active Active
- 2021-08-18 WO PCT/US2021/046471 patent/WO2022076085A1/en unknown
- 2021-08-18 EP EP21878177.1A patent/EP4052214A4/en active Pending
- 2021-08-18 KR KR1020227021939A patent/KR20220107028A/en active Search and Examination
Patent Citations (1)
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)
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 |