【文献】
Rongqun Lin et al.,Deep Convolutional Neural Network for Decompressed Video Enhancement,Proceedings of 2016 Data Compression Conference (DCC),2016年 3月30日,p.617
(58)【調査した分野】(Int.Cl.,DB名)
前記インループフィルタは、デブロックフィルタ(deblocking filter(DF))、サンプル適応型オフセットフィルタ(sample adaptive offset(SAO)filter)、及び適応型ループフィルタ(adaptive loop filter(ALF))のうち少なくとも1つを含む、請求項14に記載の符号化装置。
前記インループフィルタは、デブロックフィルタ(DF)、サンプル適応型オフセットフィルタ(SAO filter)、及び適応型ループフィルタ(ALF)のうち少なくとも1つを含む、請求項21に記載の復号化装置。
前記インループフィルタは、デブロックフィルタ(DF)、サンプル適応型オフセットフィルタ(SAO filter)、及び適応型ループフィルタ(ALF)のうち少なくとも1つを含む、請求項25に記載の復号化装置。
前記インループフィルタは、デブロックフィルタ(DF)、サンプル適応型オフセットフィルタ(SAO filter)、及び適応型ループフィルタ(ALF)のうち少なくとも1つを含む、請求項29に記載の復号化装置。
【発明を実施するための形態】
【0039】
本明細書に開示されている本発明の概念による実施形態について、特定の構造的又は機能的説明は、単に、本発明の概念による実施形態を説明するための目的として例示されたものであり、本発明の概念による実施形態は、様々な形態に実施され、本明細書に説明された実施形態に限定されることはない。
【0040】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものとして、様々な形態に変更される。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【0041】
第1又は第2などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と命名することができ、同様に第2構成要素は第1構成要素にも命名することができる。
【0042】
いずれかの構成要素が他の構成要素に「連結」されているか「接続」されていると言及されたときには、その他の構成要素に直接的に連結されているか又は接続されているが、中間に他の構成要素が存在し得るものと理解されなければならない。一方、いずれかの構成要素が他の構成要素に「直接連結」されているか「直接接続」されていると言及されたときには、中間に他の構成要素が存在しないものと理解されなければならない。構成要素間の関係を説明する表現、例えば「〜間に」と「直ちに〜の間に」又は「〜に直接隣接する」なども同様に解釈されなければならない。
【0043】
本明細書で用いられる用語は、単に特定の実施形態を説明するために使用されたものであり、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0044】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0045】
以下、実施形態を添付の図面を参照して詳説する。添付図面を参照して説明することにおいて、図面符号に関わらず同じ構成要素は同じ参照符号を付与し、これに関する重複説明は省略することにする。
【0046】
図1は、符号化装置及び/又は復号化装置を用いるシステムの一例を説明するための図である。
【0047】
図1を参照すると、符号化装置及び/又は復号化装置を用いるシステム10は、ユーザ端末11とサーバ端末12を含む。ユーザ端末11は電子装置を含み得る。電子装置は、パーソナルコンピュータ(PC)、データサーバ、テレビ(TV)、又は携帯用装置に具現され得る。
【0048】
携帯用装置は、ラップトップコンピュータ、移動電話機、スマートフォン、タブレットPC、モバイルインターネットデバイス(MID)、PDA(personal digital assistant)、EDA(enterprise digital assistant)、デジタルスチールカメラ、デジタルビデオカメラ、PMP(portable multimedia player)、PSP(playstation portable)、PND(personal navigation device)又はportable navigation device、携帯用ゲームコンソール、無線通信端末、eブック(e−book)、又はスマートデバイスに具現される。
【0049】
サーバ端末12は、応用サーバ又はサービスサーバなどを含む。
【0050】
ユーザ端末11とサーバ端末12は、各種の機器又は有無線通信網と通信を行うための通信モデムなどの通信装置、映像を符号化又は復号化したり、符号化及び復号化のために画面間(inter)又は画面内(intra)の予測をするための各種のプログラムとデータを格納するためのメモリ18、プログラムを実行して演算及び制御するためのプロセッサ14などを備える様々な装置を含む。
【0051】
また、ユーザ端末11とサーバ端末12は、符号化装置によってビットストリームで符号化された映像を映像復号化装置に送信する。例えば、ユーザ端末11とサーバ端末12は、リアルタイム又は非リアルタイムに符号化された映像を映像復号化装置に送信する。
【0052】
ユーザ端末11とサーバ端末12は、有無線通信網又は様々な通信インターフェースを介して符号化された映像を映像復号化装置に送信する。例えば、有無線通信網は、インターネット、近距離無線通信網、無線LAN網、ワイヤレスブロードバンド網、又は移動通信網などであり得る。通信インターフェースは、ケーブル又は汎用直列バス(Universal Serial Bus(USB))などを含み得る。
【0053】
また、符号化装置によってビットストリームで符号化された映像は、コンピュータで読み出し可能な記録媒体を介して符号化装置から復号化装置に伝達されてもよい。
【0054】
復号化装置は、符号化された映像を復号化して復元された映像を再生する。
【0055】
符号化装置と復号化装置は、それぞれ別途の装置であってもよいが、具現に応じて1つの符号化及び復号化装置に製造されてもよい。1つの符号化及び復号化装置の場合、符号化装置の予測部、逆量子化部、逆変換部、加算部、フィルタ部、及びDPBは記載された順に復号化装置の予測部、逆量子化部、逆変換部、加算部、フィルタ部、及びDPBと実質的に同じ技術要素として、少なくとも同じ構造を含んだり、少なくとも同じ機能を行うよう具現され得る。また、エントロピー符号化部はその機能を逆に行うときエントロピー復号化部に対応する。
【0056】
したがって、以下の技術要素とその作動原理などに対する詳細説明について、対応する技術要素の重複する説明は省略することにする。
【0057】
また、復号化装置は、符号化装置で行われる符号化方法を復号化に適用するコンピューティング装置に対応するため、以下の説明では符号化装置を中心に説明する。符号化装置は符号化器に、復号化装置は復号化器にそれぞれ称される。
【0058】
図2Aは、一実施形態に係るCNN基盤インループフィルタを含む符号化装置のブロック図の一例を示し、
図2Bは、
図1に示された予測部のブロック図の一例を示す。
【0059】
図2A及び
図2Bを参照すると、符号化装置100は、変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、CNN基盤インループフィルタ150a、符号化ピクチャーバッファ(decoded picture buffer(DPB))160、予測部、及び複数の加算器を含む。
【0060】
符号化装置100は、入力映像110又は入力スライス110に符号化(エンコーディング)を行う。例えば、符号化装置100は、入力映像110又は入力スライス110を分割した複数のピクセルブロックfに符号化を行う。符号化装置100は、入力映像110又は入力スライス110を分割する分割部(図示せず)をさらに含んでもよい。分割部(図示せず)は、入力映像110又は入力スライス110を定められた大きさ(M×N)のブロックに分割する。ここで、M又はNは、1以上の自然数であり得る。
【0061】
分割部(図示せず)は、入力映像110又は入力スライス110の特性、又は解像度などに基づいてブロックの大きさ(M×N)を決定する。分割部(図示せず)は、ブロックの大きさ(M×N)を2のべき乗で決定される。分割部(図示せず)は、ブロックの大きさ(M×N)をまっ四角の形態又は長方形に決定される。例えば、分割部(図示せず)がまっ四角の形態に決定された場合、ブロックの大きさ(M×N)は256×256、128×128、64×64、32×32、16×16、8×8、又は4×4などであり得る。
【0062】
クfに対して画面内予測又は画面間予測などを用いて生成したブロックである。変換及び量子化部120は、残差ブロックeに変換及び量子化を行う。変換及び量子化部120がピクセルブロックfの代わりに残差ブロックeに対して変換及び量子化を行うことで、符号化の効率を向上させることができる。
【0063】
変換及び量子化部120は、残差ブロックeにフィルタリングを行ってフィルタ
変換及び/又は量子化を行う。
【0064】
変換及び量子化部120は、残差ブロックeを周波数領域に変換する。残差ブロックeの各画素は、変換された残差ブロックの変換係数に対応する。
【0065】
変換及び量子化部120は、変換マトリックスを用いて残差ブロックeを変換させる。変換マトリックスは、1次元、2次元、又は3次元の変換マトリックスであってもよい。例えば、変換及び量子化部120は、離散コサイン変換(discrete cosine transform(DCT))、離散サイン変換(discrete cosine transform(DST))、水平、垂直単位などに変換マトリックスを使用する。変換及び量子化部120は、残差ブロックeの大きさ、形態、種類(輝度/色差)、符号化モード、予測モード情報、量子化パラメータ、又は隣接ブロックの符号化情報などに基づいて、変換マトリックスの使用の有無を決定する。変換及び量子化部120は、残差ブロックeを変換して変換ブロックEを生成する。
【0066】
変換及び量子化部120は、変換ブロックEに量子化を行って量子化された残差
行う。変換及び量子化部120は、量子化パラメータ(quantization parameter(QP)による量子化区間、映像信号の特性による歪曲値区間、映像信号特性によるテクスチャ複雑度区間、及び映像信号特性による動き複雑度区間のうち少なくとも1つ以上に基づいて、残差映像eにフィルタリングを行う。映像信号は残差ブロックeを含む。
【0067】
変換及び量子化部120は、量子化パラメータ(QP)に基づいて量子化を行う。変換及び量子化部120は、変換ブロックEのブロック単位で量子化パラメータを決定する。量子化パラメータは、シーケンス、ピクチャー、スライス、又はブロックなどの単位で設定され得る。
【0068】
変換及び量子化部120は、変換ブロックEの隣接ブロックから少なくとも1つの量子化パラメータを誘導する。変換及び量子化部120は、少なくとも1つの量子化パラメータを用いて変換ブロックEの量子化パラメータを予測する。例えば、変換及び量子化部120は、変換ブロックEの左側、左側の上、左側の下、上側、右側の上、右側の下、下側などの隣接ブロックから少なくとも1つの量子化パラメータを誘導してもよい。変換及び量子化部120は、予測した量子化パラメータと隣接ブロックから誘導した量子化パラメータの差分値を算出してエントロピー符号化部130に送信する。
【0069】
変換及び量子化部120が変換ブロックEの隣接ブロックから量子化パラメータを誘導できない場合、変換及び量子化部120は、シーケンス、ピクチャー、スライス、又はブロックなどの単位に送信された基本パラメータに基づいて量子化パラメータを設定する。変換及び量子化部120は、基本パラメータと量子化パラメータの差分値を算出してエントロピー符号化部130に送信する。
【0070】
30及び/又は逆量子化及び逆変換部140に送信する。
テキスト適応可変長コーディング(CAVLC)、コンテキスト適応2進算術コーディング(CABAC)、又は構文基盤コンテキスト適応2進算術コーディング(SBAC)などの符号化方式を用いてエントロピー符号化を行うことができる。
エントロピー符号化部130は、エントロピー符号化を行って符号化データをビットストリームに出力する。符号化データは、量子化パラメータを符号化したビットストリームと符号化されたビットストリームを復号化するために必要な様々な情報を含む。また、符号化データは、符号化されたブロックの形態、量子化パラメータ、量子化ブロックが符号化されたビットストリーム、及び予測に必要な情報などを含んでもよい。
【0071】
って逆フィルタリング情報(inverse filtering inform
部140は、変換及び量子化部120の動作を逆に行う。例えば、逆量子化及び逆
化及び逆変換部140は、変換及び量子化部120の変換構造及び量子化構造を反対に構成してもよい。
【0072】
図1では、説明の便宜のために変換及び量子化部120が変換及び量子化を行うものと図示しているが、必ずこれに限定されることなく、残差ブロックeを変換する変換部と、残差ブロックeを量子化する量子化部にそれぞれ具現されてもよい。
また、逆量子化及び逆変換部140が逆量子化及び逆変換を行うものと図示して
てもよい。
【0074】
CNN基盤インループフィルタ150aは、予測情報にインループフィルタリン
CNN基盤インループフィルタ150aが2次予測ブロック(予備復元ブロック
ロックである。
【0075】
CNN基盤インループフィルタ150aは、深層畳み込みニューラルネットワークを使用する。すなわち、CNN基盤インループフィルタ150aは、複数のトレーニングデータに基づいて訓練される。CNN基盤インループフィルタ150aは、任意の入力映像に対して適切な出力映像を生成するよう訓練される。
【0076】
CNN基盤インループフィルタ150aは、入力レイヤ、隠れレイヤ、及び出力レイヤを含む。入力レイヤ、隠れレイヤ、及び出力レイヤはそれぞれ複数のノードを含む。
【0077】
隣接するレイヤ間のノードは、連結加重値を有して互いに接続されている。各ノードは、活性化モデルに基づいて動作する。活性化モデルに応じて入力値に対応する出力値が決定される。任意のノードの出力値は、該当ノードに接続された次のレイヤのノードに入力される。次のレイヤのノードは、複数のノードから出力される値が入力される。任意のノードの出力値が次のレイヤのノードに入力される過程で、連結加重値が適用される。次のレイヤのノードは、活性化モデルに基づいて入力値に対応する出力値を、該当ノードに接続されたその次のレイヤのノードに出力する。
【0078】
出力レイヤは、インループフィルタリングに対応するノードを含む。出力レイヤのノードは、インループフィルタリングを行った映像(又はブロック)に対応する特徴値を出力する。
【0079】
に、符号化ブロックごとに、又は指定された領域ごとにフィルタリングを行う。こ
を符号化することで、符号化の効率と複雑度を改善することができる。
【0082】
CNN基盤インループフィルタ150aの構成及び訓練方法などについては図面を参照して後述する。
【0083】
プレイ装置などに出力してディスプレイする。
【0086】
面間動き予測モード、動きブロックタイプ、及び動きベクトルのうち少なくとも1つを含んでもよい。
【0087】
予測部170は、フレーム内推定部171、動き推定部172、フレーム内予測部173、動き補償部174、モード決定部175、及び予測映像生成部176を含む。
【0088】
フレーム内推定部171及び動き推定部172は、入力映像110及び(復号化
【0089】
トラモードを決定し得る。フレーム内推定部171は、イントラモードをフレーム内予測部173及びエントロピー符号化部130に送信する。
【0090】
フレーム内予測部173は、イントラモードで入力映像110及び復元ブロック
【0091】
ル(motion vectors(MVs))を抽出する。動き推定部172は、動きベクトルを動き補償部174に送信する。
【0092】
いて画面内動きを補償し、モード決定部175に送信する。
【0093】
モード決定部175は、フレーム内予測部173及び動き補償部174からのデータに基づいて符号化モードを決定する。例えば、符号化モードは、イントラモード(intra mode)、インターモード(inter mode)などであってもよい。
【0094】
予測映像生成部176は、モード決定部175が決定した符号化モードに基づい
【0096】
図3は、一実施形態に係るCNN基盤インループフィルタを含む符号化装置のブロック図の他の例を示す。
【0097】
図3を参照すると、符号化装置100は、変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、インループフィルタ145、CNN基盤インループフィルタ150b、復号化ピクチャーバッファ160、予測部170、及び複数の加算器を含む。
【0098】
図3に示された変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、復号化ピクチャーバッファ160、予測部170、及び複数の加算器は、
図2Aに示された変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、復号化ピクチャーバッファ160、予測部170、及び複数の加算器と構成及び動作が実質的に同一である。ここで、以下は、インループフィルタ145及びCNN基盤インループフィルタ150bについて説明する。
【0100】
インループフィルタ145は、デブロックフィルタ(deblocking filter(DF))、サンプル適応型オフセットフィルタ(sample adaptive offset(SAO)filter)、及び適応型ループフィルタ(adaptive loop filter(ALF))のうち少なくとも1つを含む。
【0101】
すなわち、インループフィルタ145が1つのフィルタを含んでいる場合、インループフィルタ145は、デブロックフィルタ(DF)、サンプル適応型オフセットフィルタ(SAO filter)、及び適応型ループフィルタ(ALF)のうち1つのフィルタに具現される。
【0102】
インループフィルタ145が2つのフィルタを含んでいる場合、インループフィルタ145は、デブロックフィルタ(DF)及びサンプル適応型オフセットフィルタ(SAO filter)を含むものとして具現される。又は、インループフィルタ145は、サンプル適応型オフセットフィルタ(SAO filter)及び適応型ループフィルタ(ALF)を含むものとして具現されてもよい。又は、インループフィルタ145は、デブロックフィルタ(DF)及び適応型ループフィルタ(ALF)を含むものとして具現されてもよい。
インループフィルタ145が3つのフィルタを含んでいる場合、インループフィルタ145は、デブロックフィルタ(DF)、サンプル適応型オフセットフィルタ(SAO filter)、及び適応型ループフィルタ(ALF)を含むものとして具現されてもよい。
【0103】
得る。ブロック間画素値は、量子化過程で発生する可能性がある。デブロックフィルタ(DF)は、決定されたフィルタ係数をフィルタリングに使用し得る。
サンプル適応型オフセットフィルタ(SAO filter)は、符号化ブロック単位でリンギングアーティファクト(ringing artefact)や画素値区間の歪曲を修正する。サンプル適応型オフセットフィルタ(SAO fil
クセルブロックfに対して差値をオフセットに復元し得る。
【0104】
オフセットフィルタリングされた結果に、1段線形マッピングモデルを用いてフィルタリングを行うことができる。
【0105】
CNN基盤インループフィルタ150bは、予測情報にフィルタリングを行って
【0108】
図4は、一実施形態に係るCNN基盤インループフィルタを含む符号化装置のブロック図の他の例を示す。
【0109】
図4を参照すると、符号化装置100は、変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、CNN基盤インループフィルタ150c、復号化ピクチャーバッファ160、予測部170、及び複数の加算器を含む。
【0110】
図4に示された変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、復号化ピクチャーバッファ160、予測部170、及び複数の加算器は、
図2Aに示された変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、復号化ピクチャーバッファ160、予測部170、及び複数の加算器と構成及び動作が実質的に同一である。ここで、以下は、CNN基盤インループフィルタ150cについて説明する。
【0111】
CNN基盤インループフィルタ150cは、予測情報にフィルタリングを行って復元情報を生成する。CNN基盤インループフィルタ150cは、加算器から予備
【0115】
図5は、一実施形態に係るCNN基盤インループフィルタを含む符号化装置のブロック図の他の例を示す。
図5を参照すると、符号化装置100は、変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、インループフィルタ145、CNN基盤インループフィルタ150d、復号化ピクチャーバッファ160、予測部170、及び複数の加算器を含む。
【0116】
図5に示された変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、インループフィルタ145、復号化ピクチャーバッファ160、予測部170、及び複数の加算器は、
図3に示された変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、インループフィルタ145、復号化ピクチャーバッファ160、予測部170、及び複数の加算器と構成及び動作が実質的に同一である。ここで、以下は、CNN基盤インループフィルタ150dについて説明する。
【0117】
CNN基盤インループフィルタ150dは、予測情報にインループフィルタリングを行って復元情報を生成する。CNN基盤インループフィルタ150dは、イン
【0121】
図6は、一実施形態に係るCNN基盤インループフィルタを含む符号化装置のブロック図の他の例を示す。
【0122】
図6を参照すると、符号化装置100は、変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、CNN基盤インループフィルタ150e、復号化ピクチャーバッファ160、予測部170、及び複数の加算器を含む。
【0123】
図6に示された変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、復号化ピクチャーバッファ160、予測部170、及び複数の加算器は、
図2Aに示された変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、復号化ピクチャーバッファ160、予測部170、及び複数の加算器と構成及び動作が実質的に同一である。ここで、以下は、CNN基盤インループフィルタ150eについて説明する。
【0124】
CNN基盤インループフィルタ150eは、予測情報にインループフィルタリングを行って復元情報を生成する。CNN基盤インループフィルタ150eは、逆量
する。
【0126】
図7は、一実施形態に係るCNN基盤インループフィルタを含む符号化装置のブロック図の他の例を示す。
【0127】
図7を参照すると、符号化装置100は、変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、CNN基盤インループフィルタ150e、インループフィルタ147、復号化ピクチャーバッファ160、予測部170、及び複数の加算器を含む。
【0128】
図7に示された変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、CNN基盤インループフィルタ150e、復号化ピクチャーバッファ160、予測部170、及び複数の加算器は、
図6に示された変換及び量子化部120、エントロピー符号化部130、逆量子化及び逆変換部140、CNN基盤インループフィルタ150e、復号化ピクチャーバッファ160、予測部170、及び複数の加算器と構成及び動作が実質的に同一である。ここで、以下は、インループフィルタ147について説明する。
【0130】
インループフィルタ147は、
図3を参照して前述したように、デブロックフィルタ(DF)、サンプル適応型オフセットフィルタ(SAO filter)、及び適応型ループフィルタ(ALF)のうち少なくとも1つを含み得る。
【0131】
図8Aは、一実施形態に係るCNN基盤インループフィルタを含む復号化装置のブロック図の一例を示し、
図8Bは、
図8Aに示された予測部のブロック図の一例を示す。
【0132】
図8A及び
図8Bを参照すると、復号化装置200は、エントロピー復号化部210、逆量子化及び逆変換部220、CNN基盤インループフィルタ230a、符号化ピクチャーバッファ240、予測部250、及び加算器を含む。
【0133】
復号化装置200は、
図2A〜
図7に示された符号化装置100で行われる符号化方法を復号化に適用するコンピューティング装置に対応する。すなわち、エントロピー復号化部210、逆量子化及び逆変換部220、符号化ピクチャーバッファ240、予測部250、及び加算器は、
図2Aに示されたエントロピー符号化部130、逆量子化及び逆変換部140、変換及び量子化部120、復号化ピクチャーバッファ160、予測部170、及び加算器に対応する。
【0134】
エントロピー復号化部210は、符号化されたビットストリーム情報にパーシングを行うことによって復号化を行う。エントロピー復号化部210は、復号化を行ってフィルタリング情報と予備予測情報を出力する。エントロピー復号化部210
送信する。
【0137】
CNN基盤インループフィルタ230aは、予測情報にインループフィルタリン
【0138】
図2Aを参照して上述したように、CNN基盤インループフィルタ230aは、深層畳み込みニューラルネットワークを使用する。すなわち、CNN基盤インループフィルタ230aは、複数のトレーニングデータに基づいて訓練される。CNN基盤インループフィルタ230aは、任意の入力映像に対して適切な出力映像を生成するように訓練される。
【0139】
すなわち、CNN基盤インループフィルタ230aは、入力レイヤ、隠れレイヤ、及び出力レイヤを含む。入力レイヤ、隠れレイヤ、及び出力レイヤは、それぞれ複数のノードを含む。
【0140】
に、符号化ブロックごとに、又は指定された領域ごとにフィルタリングを行う。こ
化することによって復号化効率と複雑度を改善することができる。
【0143】
CNN基盤インループフィルタ230aの構成及び訓練方法などについては図面を参照して後述する。
【0144】
プレイ装置などに出力してディスプレイする。
【0146】
250は、フレーム内予測部251、動き補償部252、及び予測映像生成部253を含む。
フレーム内予測部251及び動き補償部252は、符号化ピクチャーバッファ2
を受信する。
【0148】
基づいて画面内動きを補償し、結果値を予測映像生成部253に送信する。
【0149】
予測映像生成部253は、フレーム内予測部251及び動き補償部252の結果
【0150】
図9は、一実施形態に係るCNN基盤インループフィルタを含む復号化装置のブロック図の他の例を示す。
【0151】
図9を参照すると、復号化装置200は、エントロピー復号化部210、逆量子化及び逆変換部220、インループフィルタ225、CNN基盤インループフィルタ230b、符号化ピクチャーバッファ240、予測部250、及び加算器を含む。
図9に示されたエントロピー復号化部210、逆量子化及び逆変換部220、符号化ピクチャーバッファ240、予測部250、及び加算器は、
図8Aに示された復号化部210、逆量子化及び逆変換部220、符号化ピクチャーバッファ240、予測部250、及び加算器と構成及び動作が実質的に同一である。ここで、以下は、インループフィルタ225及びCNN基盤インループフィルタ230bについて説明する。
【0153】
インループフィルタ225は、上述したようにデブロックフィルタ(DF)、サンプル適応型オフセットフィルタ(SAO filter)、及び適応型ループフィルタ(ALF)のうち少なくとも1つを含み得る。
【0154】
CNN基盤インループフィルタ230bは、予測情報にインループフィルタリン
【0157】
図10は、一実施形態に係るCNN基盤インループフィルタを含む復号化装置のブロック図の他の例を示す。
【0158】
図10を参照すると、復号化装置200は、エントロピー復号化部210、逆量子化及び逆変換部220、CNN基盤インループフィルタ230c、符号化ピクチャーバッファ240、予測部250、及び複数の加算器を含む。
【0159】
図10に示されたエントロピー復号化部210、逆量子化及び逆変換部220、符号化ピクチャーバッファ240、予測部250、及び複数の加算器は、
図8Aに示された復号化部210、逆量子化及び逆変換部220、符号化ピクチャーバッファ240、予測部250、及び加算器と構成及び動作が実質的に同一である。ここで、以下は、CNN基盤インループフィルタ230cについて説明する。
【0160】
CNN基盤インループフィルタ230cは、予測情報にインループフィルタリン
【0164】
図11は、一実施形態に係るCNN基盤インループフィルタを含む復号化装置のブロック図の他の例を示す。
【0165】
図11を参照すると、復号化装置200は、エントロピー復号化部210、逆量子化及び逆変換部220、インループフィルタ225、CNN基盤インループフィルタ230d、符号化ピクチャーバッファ240、予測部250、及び複数の加算器を含む。
【0166】
図11に示されたエントロピー復号化部210、逆量子化及び逆変換部220、インループフィルタ225、CNN基盤インループフィルタ230d、符号化ピクチャーバッファ240、予測部250、及び複数の加算器は、
図9に示されたエントロピー復号化部210、逆量子化及び逆変換部220、インループフィルタ225、符号化ピクチャーバッファ240、予測部250、及び加算器と構成及び動作が実質的に同一である。ここで、以下は、CNN基盤インループフィルタ230dについて説明する。
【0167】
CNN基盤インループフィルタ230dは、予測情報にインループフィルタリン
【0171】
図12は、一実施形態に係るCNN基盤インループフィルタを含む復号化装置のブロック図の他の例を示す。
【0172】
図12を参照すると、復号化装置200は、エントロピー復号化部210、逆量子化及び逆変換部220、CNN基盤インループフィルタ230e、符号化ピクチャーバッファ240、予測部250、及び加算器を含む。
【0173】
図12に示されたエントロピー復号化部210、逆量子化及び逆変換部220、符号化ピクチャーバッファ240、予測部250、及び複数の加算器は、
図8Aに示された復号化部210、逆量子化及び逆変換部220、符号化ピクチャーバッファ240、予測部250、及び加算器と構成及び動作が実質的に同一である。ここで、以下は、CNN基盤インループフィルタ230eについて説明する。
【0174】
CNN基盤インループフィルタ230eは、予測情報にインループフィルタリン
【0178】
図13は、一実施形態に係るCNN基盤インループフィルタを含む復号化装置のブロック図の他の例を示す。
【0179】
図13を参照すると、復号化装置200は、エントロピー復号化部210、逆量子化及び逆変換部220、CNN基盤インループフィルタ230e、インループフィルタ227、符号化ピクチャーバッファ240、予測部250、及び加算器を含む。
【0180】
図13に示されたエントロピー復号化部210、逆量子化及び逆変換部220、CNN基盤インループフィルタ230e、符号化ピクチャーバッファ240、予測部250、及び加算器は、
図12に示された復号化部210、逆量子化及び逆変換部220、CNN基盤インループフィルタ230e、符号化ピクチャーバッファ240、予測部250、及び加算器と構成及び動作が実質的に同一である。ここで、以下は、インループフィルタ227について説明する。
【0182】
インループフィルタ227は、
図9を参照して上述したように、デブロックフィルタ(DF)、サンプル適応型オフセットフィルタ(SAO filter)、及び適応型ループフィルタ(ALF)のうち少なくとも1つを含み得る。
【0183】
図14は、一実施形態に係るCNN基盤インループフィルタの構造を説明するための図である。
【0184】
図14を参照すると、CNN基盤インループフィルタ150は、入力レイヤ151、隠れレイヤ152、及び出力レイヤ153を含む。
【0185】
入力レイヤ151は、入力映像を受信する。入力映像は、劣化された復元映像を含む。例えば、入力レイヤ151には、逆量子化及び逆変換部140によって逆量子化及び逆変換が実行された復元映像が入力されてもよい。入力映像は、ブロック境界の歪曲、リンギングアーティファクト及び高周波ブラーリング歪曲を含む。復元映像は劣化現象を含む。
【0186】
入力レイヤ151は、入力映像にイメージパッチを行って隠れレイヤ153に抽出する。例えば、入力レイヤ151は、入力映像をf
1×f
1の大きさにイメージパッチを行ってもよい。
【0187】
隠れレイヤ152は、非線型マッピング(non−linear mapping)を行う。隠れレイヤ152は、N個の畳み込みレイヤを含む。ここで、第1畳み込みレイヤ152−1から第N畳み込みレイヤ152−Nに進行するほど映像の画質は向上し得る。
【0188】
CNN基盤インループフィルタ150は、隠れレイヤ152、出力レイヤ153、及び損失関数を介してCNN基盤インループフィルタの訓練が行われる。
第1畳み込みレイヤ152−1は数式(1)に対応する。
【0190】
第2畳み込みレイヤは数式(2)に対応する。
【0192】
同じ原理で、第N畳み込みレイヤ152−Nは数式(3)に対応する。
【0194】
すなわち、隠れレイヤ152は、ReLU(Rectified Linear Unit)関数を用いて訓練の効率及び速度を高めることができる。
出力レイヤ153は数式(4)に対応する。
【0196】
出力レイヤ153は、フィルタリングされて画質の向上した出力映像を出力できる。
損失関数は数式(5)に対応する。
【0198】
CNN基盤インループフィルタ150は、損失関数を介してフィルタリングエラーを最小化するように訓練される。
【0199】
図15は、一実施形態に係るCNN基盤インループフィルタの区間ごとの訓練方法を説明するための図面の一例である。
【0200】
図15を参照すると、CNN基盤インループフィルタ150は、量子化区間ごとに訓練を行う。CNN基盤インループフィルタ150は、量子化パラメータ(quantization parameter(QP))により歪曲値の異なる復元映像を処理し得る。ここで、CNN基盤インループフィルタ150は、量子化区間ごとに訓練を行って効果的なフィルタリングを行うことができる。
【0201】
量子化パラメータ(QP)は、0以上51以下の値であってもよい。各量子化区間は、少なくとも1つの量子化パラメータ(QP)を含む。ここで、複数の量子化区間が共通として含む量子化パラメータ(QP)もあり得る。例えば、第1区間と第2区間は、量子化パラメータ(QP)5を共通として含んでもよい。
【0202】
符号化装置100で符号化時に使用された量子化パラメータ(QP)は、復号化装置200で確認できる値であり、符号化装置100は、符号化時に使用された量子化パラメータ(QP)を復号化装置200に送信しなくてもよい。ここで、符号化装置100は、オーバーヘッドが発生せず、符号化の効率を高めることができる。
【0203】
符号化装置100は、第N区間の量子化パラメータ(QP)を用いて復元訓練映像300を生成する。符号化装置100は、復元訓練映像300をCNN基盤インループフィルタ150に送信する。
【0204】
CNN基盤インループフィルタ150は、復元訓練映像300にフィルタリングを行って出力映像を生成して加算器に送信する。
【0205】
加算器は、出力映像及びオリジナル入力訓練映像400を差分してCNN基盤インループフィルタ150に送信する。
【0206】
CNN基盤インループフィルタ150は、差分に基づいて隠れレイヤ152の加重値を調整する。例えば、CNN基盤インループフィルタ150は、出力映像と入力訓練映像400の差がないように加重値を調整し得る。ここで、CNN基盤インループフィルタ150の加重値を補正するための学習は、バックプロパゲーション(back propagation)方法を用いてもよい。
【0207】
復元訓練映像300及び入力訓練映像400は、様々な実施形態に具現され得る。すなわち、CNN基盤インループフィルタ150は、数多い訓練方法が存在する。CNN基盤インループフィルタ150は、訓練方法によって相違に動作得る。
【0208】
一例として、復元訓練映像300は、インループフィルタ140でフィルタリング適用前の復元映像であってもよい。CNN基盤インループフィルタ150は、フィルタリング適用前の復元映像にフィルタリングを行って入力訓練映像400に近い出力映像を生成する。この場合、CNN基盤インループフィルタ150は、
図2Aに示されたCNN基盤インループフィルタ150aとして動作し得る。
【0209】
他の例として、復元訓練映像300は、インループフィルタ140でフィルタリングが適用された映像であってもよい。すなわち、CNN基盤インループフィルタ150は、フィルタリングが適用された映像にフィルタリングを行ってオリジナル入力訓練映像400にさらに近い出力映像を生成する。この場合、CNN基盤インループフィルタ150は、
図3に示されたCNN基盤インループフィルタ150bとして動作し得る。
【0210】
他の例として、復元訓練映像300は、インループフィルタ140でフィルタリングが適用された映像であり、入力訓練映像400は残差映像eであってもよい。ここで、CNN基盤インループフィルタ150は、フィルタリングが適用された映像にフィルタリングを適用して残差映像を生成する。この場合、CNN基盤インループフィルタ150は、
図5に示されたCNN基盤インループフィルタ150dとして動作し得る。
【0211】
図16は、一実施形態に係るCNN基盤インループフィルタの区間ごとの訓練方法を説明するための図面の他の例である。
【0212】
図16を参照すると、CNN基盤インループフィルタ150は、歪曲値区間ごとに訓練を行う。CNN基盤インループフィルタ150は、量子化パラメータ(QP)により歪曲値が互いに異なり得る。ここで、CNN基盤インループフィルタ150は、歪曲値区間ごとに訓練を行って効果的なフィルタリングを行うことができる。
符号化装置100で符号化時に使用された歪曲値区間は、復号化装置200で確認できる値であり、符号化装置100は、符号化時に使用されたインデックスを復号化装置200に送信しなくてもよい。ここで、符号化装置100はオーバーヘッドが発生せず、符号化の効率を高めることができる。
【0213】
歪曲値は、入力訓練映像600及び復元訓練映像の差である。
【0214】
符号化装置100は、第N区間の歪曲値に属する復元訓練映像500を生成する。符号化装置100は、復元訓練映像500をCNN基盤インループフィルタ150に送信する。
【0215】
CNN基盤インループフィルタ150は、復元訓練映像500にフィルタリングを行って出力映像を生成して加算器に送信する。加算器は、出力映像及びオリジナル入力訓練映像600を差分してCNN基盤インループフィルタ150に送信する。
【0216】
CNN基盤インループフィルタ150は、差分に基づいて隠れレイヤ152の加重値を調整する。例えば、CNN基盤インループフィルタ150は、出力映像と入力訓練映像600の差がないように加重値を調整し得る。ここで、CNN基盤インループフィルタ150の加重値を補正するための学習は、バックプロパゲーション方法を用いてもよい。
【0217】
復元訓練映像500は残差映像であってもよい。残差映像は、残差映像に変換及び量子化を行い、再び逆量子化及び逆変換を行った映像である。
入力訓練映像600は残差映像であってもよい。残差映像は、入力映像と復元映像を差分した映像である。復元映像は、インループフィルタリングが適用された映像であるか、又はインループフィルタリングが適用されていない映像である。
すなわち、CNN基盤インループフィルタ150は、残差映像にフィルタリングを行って残差映像に近い出力映像を生成し得る。この場合、CNN基盤インループフィルタ150は、
図6に示されたCNN基盤インループフィルタ150eとして動作し得る。
【0218】
また、CNN基盤インループフィルタ150は、映像のスライスタイプごとにフィルタリングを行う。以下は、CNN基盤インループフィルタ150がスライスタイプごとにフィルタリングを行う動作について説明する。
【0219】
図17は、一実施形態に係るCNN基盤インループフィルタの訓練方法を説明するための図面の一例である。
【0220】
図17を参照すると、CNN基盤インループフィルタ150は、低い遅延構造(low delay configuration)の符号化又は復号化過程で複数の映像にフィルタリングを行う。
【0221】
複数の映像のスライスタイプは、イントラスライス(intra slice(I slice))、又は予測スライス(predictive slice(P slice))であり得る。
【0222】
イントラスライスの映像700−1及び700−Nは画面内予測を行う。予測スライスの映像700−2〜700−4は画面間予測を行う。
【0223】
例えば、予測スライスの映像700−2は、イントラスライスの映像700−1を参照して映像を予測する。予測スライスの映像700−3は、イントラスライスの映像700−1及び予測スライスの映像700−2を参照して映像を予測する。予測スライスの映像700−4は、イントラスライスの映像700−1及び予測スライスの映像700−2〜700−3を参照して映像を予測する。
【0224】
CNN基盤インループフィルタ150は、イントラスライスの映像700−1及び700−Nにフィルタリングを行い、歪曲の少ない映像を持続的に提供できる。CNN基盤インループフィルタ150は、イントラスライスの映像700−1及び700−Nを周期的に提供できる。
【0225】
図18は、一実施形態に係るCNN基盤インループフィルタの適用方法を説明するための図面の他の例である。
【0226】
図18を参照すると、CNN基盤インループフィルタ150は、低い遅延構造の符号化又は復号化過程で複数の映像800−1〜800−3、800−5、及び800−5に選択的にフィルタリングを行う。
【0227】
複数の映像800−1〜800−3、800−5、及び800−5のスライスタイプは、イントラスライス(I slice)、又は予測スライス(P slice)である。
【0228】
イントラスライスの映像800−1は、画面内予測を行う。予測スライスの映像800−2、800−3、800−5、及び800−7は画面間予測を行う。
例えば、予測スライスの映像800−2は、イントラスライスの映像800−1を参照して映像を予測する。予測スライスの映像800−3は、イントラスライスの映像700−1及び予測スライスの映像800−2を参照して映像を予測する。同じ原理で、予測スライスの映像800−5及び800−7は、以前のスライスの映像を参照して映像を予測する。
【0229】
CNN基盤インループフィルタ150は、イントラスライスの映像800−1及び予測スライスの映像800−3、800−5、及び800−7にフィルタリングを行い、歪曲の少ない映像を持続的に提供できる。CNN基盤インループフィルタ150は、周期的又は選択的にフィルタリングを行って予測スライスの映像800−3、800−5、及び800−7を提供できる。
【0230】
CNN基盤インループフィルタ150は、低い遅延構造下で選択的にフィルタリングを適用するだけではなく、一連の各入力スライスごとに、また、入力スライス内で符号化単位ブロックごとに(Coding Tree Unit(CTU))、又は符号化ブロックごとに(Coding Unit(CU))、又は指定された映像領域ごとに選択的に適用し得る。
【0231】
図19は、一実施形態に係るCNN基盤インループフィルタの適用方法を説明するための図面の他の例である。
【0232】
図19を参照すると、CNN基盤インループフィルタ150は、全画面内の構造の符号化、又は復号化過程で複数の映像900−1〜900−Nにフィルタリングを行う。
【0233】
複数の映像900−1〜900−Nのスライスタイプは、イントラスライス(I slice)であり得る。
【0234】
イントラスライスの映像900−1〜900−Nは画面内予測を行う。すなわち、イントラスライスの映像900−1〜900−Nの歪曲値は他の映像に伝達されず、CNN基盤インループフィルタ150は、全てのイントラスライスの映像900−1〜900−Nをフィルタリングして高画質の映像を提供することができる。
CNN基盤インループフィルタ150は、低い遅延構造下で選択的にフィルタリングを適用するだけではなく、一連の各入力スライスごとに、また、入力スライス内で符号化単位ブロックごとに(CTU)、又は符号化ブロックごとに(CU)、又は指定された映像領域ごとに選択的に適用し得る。
【0235】
図20は、一実施形態に係るCNN基盤インループフィルタの適用方法を説明するための図面の他の例であり、
図21は、一実施形態に係るCNN基盤インループフィルタの適用方法を説明するための図面の他の例である。
【0236】
図20及び
図21を参照すると、CNN基盤インループフィルタ150は、階層的なB画面の構造(hierarchical B−picture configuration)の符号化又は復号化過程で、複数の映像1010−1〜1010−3、1020−1〜1020−2、1030−1〜1030−4、1040−1〜1040−4にフィルタリングを行う。
【0237】
階層的なB画面の構造は、第1階層ないし第4階層を含む。
【0238】
第1階層映像1010−1〜1010−3のスライスタイプは、イントラスライス(I slice)又は予測スライス(P slice)であり得る。イントラスライスの映像1010−1〜1010−3は、画面内予測を行う。
【0239】
第2階層ないし第4階層映像1020−1〜1020−2、1030−1〜1030−4、1040−1〜1040−4のスライスタイプは、両側の予測スライス(bi−predictive slice(B slice))であり得る。両側の予測スライス(B slice)の映像1020−1〜1020−2、1030−1〜1030−4、1040−1〜1040−4は、下の階層の映像を参照して映像を予測する。ここで、両側の予測スライス(B slice)の映像1020−1〜1020−2、1030−1〜1030−4、1040−1〜1040−4は、下の階層が以前の映像(前)であっても、又は、以後の映像(後)であっても全て参照できる。例えば、第2階層の映像1020−1は、第1階層の映像1010−1及び1010−2を参照してもよい。第2階層の映像1020−2は、第1階層の映像1010−2及び1010−3を参照してもよい。
【0240】
同じ原理で、第4階層の映像1040−1は第3階層の映像1030−1及び第1階層の映像1010−1を参照し、第4階層の映像1040−3は第2階層の映像1020−1及び第3階層の映像1030−2を参照してもよい。
【0241】
CNN基盤インループフィルタ150は、特定の階層を選択してフィルタリングを行う。一例として、CNN基盤インループフィルタ150は、1階層の映像1010−1〜1010−3にフィルタリングを行ってもよい。
【0242】
他の例として、CNN基盤インループフィルタ150は、1階層の映像1010−1〜1010−3及び2階層の映像1020−1及び1020−2にフィルタリングを行ってもよい。CNN基盤インループフィルタ150は、1階層の映像1010−1〜1010−3及び2階層の映像1020−1及び1020−2にフィルタリングを行う動作については
図20に示す通りである。
【0243】
他の例として、CNN基盤インループフィルタ150は、1階層の映像1110−1〜1110−3、2階層の映像1120−1及び1120−2、及び第3階層の映像1130−1〜1130−4にフィルタリングを行ってもよい。CNN基盤インループフィルタ150は、1階層の映像1110−1〜1110−3、2階層の映像1120−1及び1120−2、及び第3階層の映像1130−1〜1130−4にフィルタリングを行う動作については
図21に示す通りである。
【0244】
CNN基盤インループフィルタ150は、低い遅延構造下で選択的にフィルタリングを適用するだけではなく、一連の各入力スライスごとに、また、入力スライス内で符号化単位ブロックごとに(CTU)、又は符号化ブロックごとに(CU)、又は指定された映像領域ごとに選択的に適用し得る。
【0245】
CNN基盤インループフィルタ150は、映像内の特定領域にフィルタリングを適用する。例えば、CNN基盤インループフィルタ150は、映像を複数の領域に分割し、複数の領域のうちの一部の領域だけを選択してフィルタリングを適用する。ここで、CNN基盤インループフィルタ150は、一部の領域にフィルタリング適用の有無をシグナリングし得る。
【0246】
また、CNN基盤インループフィルタ150は、映像内の動きの量とテクスチャの複雑度のうち少なくとも1つに基づいてフィルタリングを適用し得る。
【0247】
以上で前述した装置は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0248】
ソフトウェアはコンピュータプログラム、コード、命令、又はそのうちの一つ以上の組合せを含み、希望の通りに動作するよう処理装置を構成したり、独立的又は結合的に処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されたり処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は送信される信号波に永久的又は一時的に具体化することができる。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納されたり実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読出し可能な記録媒体に格納され得る。
【0249】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DYIJDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0250】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順で実行されるし、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【0251】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。