(57)【要約】      （修正有）【課題】ビデオコンテンツの非変換ブロックを、スキャン順序を選択的に変更して符号化する方法を提供する。【解決手段】エンコーダまたはデコーダは、スキャン順序に従ってスキャン処理をブロックに行うことができる。変換された符号化ブロックが符号化される場合、エンコーダまたはデコーダは、特定のスキャン順序を利用することができる。ブロックが変換されなかった場合、エンコーダまたはデコーダは、スキャン順序を異なるスキャン順序に選択的に変更する。ブロックが特定の種類の予測に関連付けられている場合、スキャン順序を異なる順序に変更することができる。また、非変換ブロックが所定のサイズより小さいサイズを有する場合に、スキャン順序を異なる順序に変更することができる。【選択図】図５
2018157571.tif 000002
【特許請求の範囲】
【請求項１】
第１のブロックをスキャンするためのスキャン順序をコンピューティングデバイスにより特定することであって、前記第１のブロックが変換符号化モードに関連付けられていることと、
非変換符号化モードに関連付けられた第２のブロックを前記コンピューティングデバイスにより特定することであって、前記第２のブロックが、前記第１のブロックの特徴と同一の少なくとも１つの特徴を有することと、
前記第１のブロックをスキャンするための前記スキャン順序と異なるスキャン順序に従って前記第２のブロックをスキャンするように決定することであって、前記決定は、前記第２のブロックに関連付けられた予測モードまたは前記第２のブロックのサイズのうちの少なくとも１つに基づくことと、
前記異なるスキャン順序に従って前記第２のブロックを前記コンピューティングデバイスによりスキャンすることと
を備える、方法。
【請求項２】
前記第１のブロックの特徴と同一の前記第２のブロックの前記少なくとも１つの特徴が、前記第２のブロックのサイズまたは前記第２のブロックの予測モードのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記決定することが、前記第２のブロックに関連付けられた前記予測モードがイントラ予測を備えると決定することを備える、請求項１に記載の方法。
【請求項４】
前記決定することが、前記第２のブロックの前記サイズが所定のサイズより小さいと決定することを備える、請求項１に記載の方法。
【請求項５】
変換されたブロックを符号化する際に使用される第１のスキャン順序を特定することと、
前記第１のスキャン順序または第２のスキャン順序のいずれに従って非変換ブロックを符号化すべきかを、前記非変換ブロックの予測モードまたは前記非変換ブロックのサイズのうちの少なくとも１つに基づいて判定することと、
前記判定に少なくとも部分的に基づいて前記第１のスキャン順序または前記第２のスキャン順序に従って前記非変換ブロックを符号化することと
を含む動作を実施するように実行時に１つまたは複数のプロセッサに指示するコンピュータ可読命令を格納した１つまたは複数のコンピュータ記憶媒体。
【請求項６】
前記判定することが、前記非変換ブロックの前記予測モードの加重値と、前記非変換ブロックの前記サイズの加重値とに少なくとも部分的に基づく、請求項５に記載の１つまたは複数のコンピュータ記憶媒体。
【請求項７】
前記符号化することが、
前記第１のスキャン順序または前記第２のスキャン順序に従って前記非変換ブロックの残差情報の２次元配列をスキャンして、残差情報の１次元配列を生成することと、
残差情報の前記１次元配列をエントロピー符号化することと
を含む、請求項５に記載の１つまたは複数のコンピュータ記憶媒体。
【請求項８】
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサにより少なくとも部分的に実装された符号化コンポーネントであって、
非変換符号化に関連付けられたブロックを特定し、
（ｉ）非変換符号化に関連付けられた前記ブロックの予測モードが特定の予測モードであること、または（ｉｉ）非変換符号化に関連付けられた前記ブロックのサイズが特定のサイズより小さいことのうちの少なくとも１つを決定し、
前記決定に少なくとも部分的に基づいて、変換符号化に関連付けられたブロックをエントロピー符号化するために用いられる順序とは異なる順序に従って並べられた前記ブロックの副単位を用いて、非変換符号化に関連付けられた前記ブロックをエントロピー符号化する
ように構成された符号化コンポーネントと
を備える、システム。
【請求項９】
非変換符号化に関連付けられた前記ブロックが、高効率ビデオ符号化規格により定義された変換単位を含む、請求項８に記載のシステム。
【請求項１０】
非変換符号化に関連付けられた前記ブロックと、変換符号化に関連付けられた前記ブロックのうちの少なくとも１つとが、同一の画像の一部である、請求項８に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
ビデオ圧縮技法は、ビデオコンテンツを効率的に配信し保存するために利用される。これらの技法は一般に、ビデオコンテンツを表すデータの量を削減しようとする。一例では、ビデオフレームは、画素のブロック（たとえば、符号化単位）に分割され、画素のブロックは、様々な符号化技法、たとえば予測、変換、量子化、およびエントロピー符号化が施される。画素のブロックの符号化中に、ブロックに関するデータの２次元配列（たとえば、変換係数）にスキャン処理を行って、データを１次元配列に再配置することができ、これにエントロピー符号化が施される。スキャン処理を特定の順序（たとえば、水平、ジグザグ、垂直など）に従い行って、特定のデータ（たとえば、非零係数）を１次元配列の一端に配置することができる。
【発明の概要】
【課題を解決するための手段】
【０００２】
本開示は、ビデオコンテンツの非変換ブロック（non-transform block）を最適なスキャン順序に従って符号化することを対象とする。いくつかの実装では、エンコーダまたはデコーダは、符号化中にスキャン処理を行って、画素のブロックに関するデータの２次元配列をデータの１次元配列に変更する、またはその逆を行うことができる。スキャン処理を順序（たとえば、水平、垂直、ジグザグなど）に従い行って、エントロピー符号化用にデータを再配置することができる。変換された符号化ブロックが符号化される場合、エンコーダまたはデコーダは、特定のスキャン順序を利用することができる。変換されなかったブロックが符号化される場合（たとえば、非変換ブロック、非変換符号化に関連付けられたブロックなど）、エンコーダまたはデコーダは、特定のスキャン順序を異なる順序に選択的に変更することができる。たとえば、非変換ブロックが特定の種類の予測に関連付けられている場合、スキャン順序を異なる順序に変更することができる。他の例では、非変換ブロックが所定のサイズ（たとえば、８×８ブロック、１６×１６ブロックなど）より小さいサイズを有する場合、スキャン順序を異なる順序に変更することができる。
【０００３】
この概要は、詳細な説明において以下でさらに説明する概念から選択したものを簡略化した形式で紹介するために設けられている。この概要は、特許請求する主題の主要機能または基本機能を特定するものではなく、特許請求する主題の範囲を限定するために用いられるものでもない。
【０００４】
添付図面を参照して詳細な説明を記載する。図面において、参照番号の最も左の桁は、その参照番号が最初に登場する図面を識別する。異なる図面での同一の参照番号の使用は、類似または同一の項目または特徴を示す。
【図面の簡単な説明】
【０００５】
【図１】スキャン順序を選択的に変更してビデオコンテンツの非変換ブロックを符号化する一例示的アーキテクチャの図である。
【図２】図１のエンコーダの例示的詳細の図である。
【図３】図１のデコーダの例示的詳細の図である。
【図４Ａ】ブロックをスキャンするために利用可能な例示的スキャン順序の図である。
【図４Ｂ】ブロックをスキャンするために利用可能な例示的スキャン順序の図である。
【図５】スキャン順序を選択的に変更してビデオコンテンツの非変換ブロックを符号化する一例示的処理の図である。
【発明を実施するための形態】
【０００６】
ビデオコンテンツは一般に、単一のフレーム内で、または複数のフレームにわたって重複情報を有する一連のフレームを含む。重複情報の量を削減するために、様々な符号化（たとえば、圧縮）技法を実装して、ビデオコンテンツを表現するために用いられるビット数を減少することができ、これには、たとえば予測、変換、量子化およびエントロピー符号化がある。符号化技法の実行中に（たとえば、エントロピー符号化の前または間に）、スキャン処理を行って、画素のブロックに関するデータの２次元配列をデータの１次元配列に変更すること、またはその逆を行うことができる。特定の種類のデータ（たとえば、非零変換係数）を１次元配列の一端に配置するために、スキャン処理を特定の順序（たとえば、水平、垂直、ジグザグなど）に従って行うことができる。しかしながら、全ての種類のブロックに対してスキャン順序が一様な場合、望ましくない結果につながることがあり、たとえば１次元配列内で特定の種類のデータが散在的に分布してしまうことがある。
【０００７】
本開示は、最適なスキャン順序に従ってビデオコンテンツの非変換ブロックを符号化することを対象とする。いくつかの例では、非変換ブロックをスキャンするために本来使用され得るスキャン順序は、非変換ブロックに関する情報（たとえば、予測モードおよび／またはブロックのサイズ）に基づいて、異なる順序に選択的に変更することができる。これにより、ブロックに関する特定の種類のデータを、スキャン中に効率的に配置することができ、および／または、スキャン順序の変更に起因する複雑性を不必要に導入しないようにすることができる。
【０００８】
いくつかの実装では、エンコーダおよびデコーダは、予測、量子化、および／またはエントロピー符号化によって、ブロックを変換することなくブロックを符号化することができる。この種類のブロックは、「非変換ブロック」と呼ばれることがある。そのような例では、エンコーダまたはデコーダは、符号化中に行われるスキャン処理のスキャン順序を変更すべきか否かを判定することができる。たとえば、エンコーダまたはデコーダは、変換されたブロック（「変換ブロック（transformed block）」と呼ばれる）に対して使用されるスキャン順序に従って非変換ブロックをスキャンすべきか、または異なる順序に従って非変換ブロックをスキャンすべきかを判定することができる。
【０００９】
たとえば、非変換ブロックが特定の種類の予測（たとえば、イントラ予測）に関連付けられている場合、非変換ブロックは、変換ブロックをスキャンするために使用されるものと異なる順序に従ってスキャンすることができる。他の例では、非変換ブロックが所定のサイズ（たとえば、８×８ブロック、１６×１６ブロックなど）より小さいサイズを有する場合、非変換ブロックは、変換ブロックをスキャンするために使用されるものと異なる順序に従ってスキャンすることができる。
【００１０】
いずれの場合でも、非変換ブロックを最適なスキャン順序に従ってスキャンすることができる。たとえば、非変換ブロックのデータの２次元配列（たとえば、残差情報）を特定の順序でスキャンして、データの１次元配列を生成することができる。次いで、１次元配列にエントロピー符号化を施すことができる。
【００１１】
本明細書では符号化技法の多くを高効率ビデオ符号化（HEVC:High Efficiency Video Coding）規格に照らして説明するが、これらの技法は他の規格、たとえば高度ビデオ符号化（AVC:Advanced Video Coding）規格などに同様に適用することができる。
【００１２】
この簡単な概要は、読者の便宜のために与えられており、特許請求の範囲も、以下の節の範囲も限定するものではない。さらに、以下で詳細に説明される技法は、いくつかの方法で、およびいくつかの文脈で実装することができる。より詳細に後述されるように、１つの例示的な実装および文脈が以下の図面を参照して与えられる。しかしながら、以下の実装および文脈が多数のうちの１つにすぎないことは理解されたい。
【００１３】
例示的アーキテクチャ
図１に、特定のスキャン順序に従って非変換ブロックを符号化するための一例示的アーキテクチャ１００を示す。ここでは、符号化技法を、ビデオコンテンツを符号化（たとえば、圧縮）し、符号化されたビデオコンテンツをデバイス１０４に送信するビデオコンテンツソース１０２との関連で説明する。たとえば、ビデオコンテンツソース１０２は、ブロックをスキャンするために利用されるスキャン順序を選択的に変更して、ビデオコンテンツを符号化することができる。符号化されたビデオをデバイス１０４へネットワーク１０６を越えて送信することができ、ここでビデオコンテンツはスキャン順序を選択的に変更して復号される。本明細書ではビデオ符号化および復号技法を、別々のデバイス（たとえば、ビデオコンテンツソース１０２およびデバイス１０４）上で行われるものとして論じるが、符号化および／または復号は同一のデバイス上で行われてもよく、または分散コンピューティング環境においてデバイスに分配されてもよい。
【００１４】
ビデオコンテンツソース１０２および／またはデバイス１０４は、任意の種類のコンピューティングデバイス、たとえばサーバ、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、電子リーダデバイス、モバイルハンドセット、携帯情報端末（PDA:personal digital assistant）、ポータブルナビゲーションデバイス、ポータブルゲームデバイス、ゲームコンソール、タブレットコンピュータ、スマートウォッチ、ポータブルメディアプレーヤー、セットトップボックスなどとして実装することができる。一例では、ビデオコンテンツソース１０２および／またはデバイス１０４は、クラスタ、データセンター、クラウドコンピューティング環境、またはこれらの組み合わせにおいて構成される。たとえば、ビデオコンテンツソース１０２は、クラウドサービス、たとえばストレージ、処理などを提供するクラウドコンピューティングデバイスとして動作することができる。クラウド環境は、１つまたは複数の種類のコンピューティングリソース（たとえば、コンピューティングデバイス、ネットワーキングデバイス、および／または記憶デバイス）を含むネットワーク分散環境を含むことができる。
【００１５】
ビデオコンテンツソース１０２は、１つまたは複数のネットワークインターフェース１０８、１つまたは複数のプロセッサ１１０、およびメモリ１１２を備えることができる。１つまたは複数のプロセッサ１１０は、中央処理装置（CPU）、グラフィクス処理装置（GPU）、マイクロプロセッサ、デジタル信号プロセッサなどを含むことができる。メモリ１１２は、１つまたは複数のソフトウェアおよび／またはファームウェアモジュールを格納するように構成することができ、これらは様々な機能を実装するために１つまたは複数のプロセッサ１１０上で実行可能である。「モジュール」という用語は、議論のためにソフトウェアを例示的に分割したものを表すことを意図しており、いかなる種類の要件または必要な方法、様式または編成を表すことも意図していない。したがって、様々な「モジュール」を論じるが、これらの機能および／または類似の機能は、異なって配置されることがある（たとえば、より少数のモジュールに組み合わせられる、より多数のモジュールに分割される、など）。さらに、本明細書では特定の機能およびモジュールを、プロセッサ上で実行可能なソフトウェアおよび／またはファームウェアにより実装されるものとして記載しているが、他の実施形態では、モジュールのいずれかまたは全てを、記載の機能を実行するためのハードウェア（たとえば、ASIC、専用処理ユニットなど）により全体的または部分的に実装することができる。
【００１６】
図１に示すように、メモリ１１２は、ビデオコンテンツ１１６を符号化（たとえば、圧縮）するように構成されたエンコーダ１１４（たとえば、エンコーダモジュール）を含むことができる。エンコーダ１１４は、様々な符号化技法、たとえば予測、変換、量子化、および／またはエントロピー符号化を適用して、ビデオコンテンツを表すビットストリームを生成することができる。符号化技法の実行中に（たとえば、エントロピー符号化の前または間に）、画素のブロックを表すデータを特定の順序に配置するために、スキャン処理をスキャン順序に従って行うことができる。エンコーダ１１４は、１つまたは複数の基準、たとえば特定の種類の予測（たとえば、イントラ予測）に関連付けられていること、および／または特定のサイズ（たとえば、８×８ブロック、１６×１６ブロック、３２×３２ブロックなどより小さいサイズ）を有することを満たす非変換ブロックに対してスキャン順序を変更することができる。たとえば、特定の非変換ブロックをスキャンするために、エンコーダ１１４は、変換ブロックに関連付けられた第１のスキャン順序１１８から第２のスキャン順序１２０にスキャン順序を変更することができる。エンコーダ１１４のさらなる詳細については、図２を参照して以下で論じる。図１には示していないが、メモリ１１２は、ビデオコンテンツを復号するように構成されたデコーダをさらに含むことができる。
【００１７】
デバイス１０４は、１つまたは複数のネットワークインターフェース１２２、１つまたは複数のプロセッサ１２４、およびメモリ１２６を備える。１つまたは複数のプロセッサ１２４は、中央処理装置（CPU）、グラフィクス処理装置（GPU）、マイクロプロセッサ、デジタル信号プロセッサなどを含むことができる。メモリ１２６は、１つまたは複数のソフトウェアおよび／またはファームウェアモジュールを格納するように構成することができ、これらは様々な機能を実装するために１つまたは複数のプロセッサ１２４上で実行可能である。たとえば、メモリ１２６は、ビデオコンテンツソース１０２および／または異なるソースから受信されたビデオコンテンツ１３０を復号するように構成されたデコーダ１２８（たとえば、デコーダモジュール）を含むことができる。デコーダ１２８は概して、符号化操作のほぼ逆の操作を行うことで、ビデオコンテンツを表すビットストリームを復号することができる。ビデオコンテンツをデコードする間に、デコーダ１２８は、１つまたは複数の基準、たとえば特定の種類の予測（たとえば、イントラ予測）に関連付けられていること、および／または特定のサイズ（たとえば、８×８ブロックより小さいサイズ）を有することを満足する非変換ブロックに対してスキャン順序を変更することができる。図１には示していないが、メモリ１２６は、ビデオコンテンツを符号化するように構成されたエンコーダをさらに含むことができる。
【００１８】
エンコーダ１１４および／またはデコーダ１２８は一般に、符号化単位（CU:coding unit）（符号化ブロック（CB:coding block）とも呼ばれる）、マクロブロック、または他の種類の符号化構造に対して符号化技法を行うことができる。議論の簡単のため、符号化技法は、符号化単位に関して論じることがある。各符号化単位は、画像の画素のブロックに対応し得る。符号化単位は、所定の画素寸法（たとえば、４×４、８×８、１６×１６、３２×３２、６４×６４など）を有することがあり、および／またはビデオ圧縮規格、たとえばＨ．２６４／高度ビデオ符号化（AVC）または高効率ビデオ符号化（HEVC）により定義されている場合がある。いくつかの例では、符号化単位は、符号化単位が符号化される際に、１つまたは複数の予測単位、あるいは１つまたは複数の変換単位として表される。すなわち、予測が行われる際に、符号化単位は、１つまたは複数の予測単位（PU:prediction unit）（予測ブロックとも呼ばれる）により表すことができる。一方、変換が行われる際に、符号化単位は、１つまたは複数の変換単位（TU:transform unit）（変換ブロックとも呼ばれる）により表すことができる。予測単位および／または変換単位は、符号化単位の副単位（sub-unit）とすることができる。したがって、いくつかの例では、符号化単位を副単位に分割することができ、符号化操作を副単位に対して個別に行うことができる（たとえば、スキャン処理を、符号化単位の副単位である変換単位に行うことができる）。
【００１９】
エンコーダ１１４およびデコーダ１２８は図１ではモジュールとして実装されるように示されているが、エンコーダ１１４および／またはデコーダ１２８あるいは任意の関連する操作は、１つまたは複数のハードウェアロジックコンポーネント、たとえばフィールドプログラマブルゲートアレイ（FPGA）、特定用途向け集積回路（ASIC）、特定プログラム向け標準品（ASSP:Application-Specific Standard Product）、  システムオンチップシステム（SOC:System-on-chip system）、複合プログラマブルロジックデバイス（CPLD:Complex Programmable Logic Device）などとして実装することができる。いくつかの例では、エンコーダ１１４および／またはデコーダ１２８は、音声エンコーダ／デコーダと一体化することができ、共通のデータストリームまたは別々のデータストリーム内の音声およびビデオの両方の符号化／復号を扱うための適切なＭＵＸ−ＤＥＭＵＸユニット、あるいは他のハードウェアおよび／またはソフトウェアを含むことができる。あるいはまたはさらに、エンコーダ１１４および／またはデコーダ１２８は、１つまたは複数のプロセッサ１１０の一部（たとえば、CPU、GPU、マイクロプロセッサなど）として組み込むことができる。加えて、いくつかの例では、エンコーダ１１４および／またはデコーダ１２８は、オペレーティングシステムまたは他のアプリケーションに組み込むことができる。エンコーダ１１４および／またはデコーダ１２８は、ビデオ圧縮規格、たとえばＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６１、Ｈ．２６３、Ｈ．２６４／ＡＶＣ、ＨＥＶＣなどに従って動作することができる。
【００２０】
メモリ１１２および１２６は図１では単一のユニットとして図示されているが、メモリ１１２および／または１２６（ならびに本明細書に記載の全ての他のメモリ）は、コンピュータ可読媒体のうちの１つまたは組み合わせを含むことができる。コンピュータ可読媒体は、コンピュータ記憶媒体および／または通信媒体を含むことができる。コンピュータ記憶媒体は、たとえばコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実装された揮発性および不揮発性の、リムーバブルおよび非リムーバブル媒体を含む。コンピュータ記憶媒体は、限定はしないが、相変化メモリ（PRAM）、スタティックランダムアクセスメモリ（SRAM）、ダイナミックランダムアクセスメモリ（DRAM）、他の種類のランダムアクセスメモリ（RAM）、読み出し専用メモリ（ROM）、電気消去可能プログラム可能読み出し専用メモリ（EEPROM）、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ（CD-ROM）、デジタル多用途ディスク（DVD）または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいはコンピュータがアクセスするために情報を格納するのに使用可能な任意の他の非伝送媒体を含む。
【００２１】
これに対して、通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、変調されたデータ信号、たとえば搬送波または他の伝送メカニズム内に具体化することができる。本明細書で定義されるように、コンピュータ記憶媒体は通信媒体を含まない。
【００２２】
上述のように、ビデオコンテンツソース１０２およびデバイス１０４は、ネットワーク１０６を介して通信することができる。ネットワーク１０６は、複数の異なる種類のネットワーク、たとえば携帯ネットワーク、ワイヤレスネットワーク、ローカルエリアネットワーク（LAN）、ワイドエリアネットワーク（WAN）、およびインターネットなどのうちの任意の１つ、または組み合わせを含むことができる。
【００２３】
例示的符号化コンポーネント
図２に、図１のエンコーダ１１４の例示的詳細を示す。上述のように、符号化ブロック（たとえば、単位）がエンコーダ１１４により符号化される。符号化ブロックは、予測時には１つまたは複数の予測ブロックとして表すことができ、変換時には１つまたは複数の変換ブロックとして表すことができる。したがって、予測操作を個々の予測ブロックに対して行うことができ、変換操作を個々の変換ブロックに対して行うことができる。説明を簡単にするために、図２を参照して論じる、および本開示の他の場所で論じる符号化技法は概して、「ブロック」を参照することにする。このブロックは、予測段階の予測ブロックと、変換段階の変換ブロックとを含むことにする。
【００２４】
エンコーダ１１４は、ブロック（たとえば、予測ブロック）に対して予測を行うための予測コンポーネント２０２（たとえば、モジュール、ハードウェアなど）を含むことができる。予測コンポーネント２０２は、異なるモードの予測、たとえばフレーム内（たとえば、空間的）予測、またはフレーム間（たとえば、時間的）予測をブロックに対して行うことができる。フレーム内予測では、予測コンポーネント２０２は、同一フレーム内の参照ブロックを、ブロックに最も一致するブロックとして決定することができる。すなわち、参照ブロックは、フレームの画素のブロックの中で、（たとえば、画素値に従って）ブロックに最も類似し得る。フレーム間予測では、予測コンポーネント２０２は、ブロックのフレームに対して時間的に隣接するフレーム内の、ブロックに最も一致する参照ブロックを決定することができる。ここでは、参照ブロックは、隣接フレーム内の画素のブロックの中で、（たとえば、画素値に従って）ブロックに最も類似し得る。いずれの場合でも、参照ブロックがブロックに正確に一致しない場合、予測コンポーネント２０２は、参照ブロックおよびブロックの画素値の差を決定することができる。この差は、「残差情報（residual information）」と呼ばれる（「残差（residue）」または「残差値（residual value）」としても知られている）。予測コンポーネント２０２は、残差情報の２次元配列（たとえば、予測ブロックの画素値ごとの残差情報を含むブロック）を出力することができる。
【００２５】
エンコーダ１１４は、ブロック（たとえば、予測ブロックの残差情報）に変換を適用可能な変換コンポーネント２０４をさらに含むことができる。変換は、離散コサイン変換（DCT:discrete cosine transform）、離散ウェーブレット変換、整数変換、または情報を変換するための任意の他の一般的に知られている技法を含むことができる。変換は、変換コンポーネント２０４により選択的に適用することができる。すなわち、いくつかの例では変換が適用され（たとえば、変換係数が出力され）、他の例では変換が適用されない（たとえば、残差情報が変換されずに出力される）。たとえば、変換コンポーネント２０４は、ブロックの最大画素値および最小画素値の差が所定値より大きい場合、またはレート歪み制約が満たされる（たとえば、ブロックを変換しないレート歪みコストがブロックを変換するレート歪みコストより小さい）場合などに、変換しないようにすることができる。いくつかの実装では、２０１２年８月２３日に出願され、「Ｎｏｎ−Ｔｒａｎｓｆｏｒｍ  Ｃｏｄｉｎｇ」と題され、引用により本明細書に組み込まれる、米国特許出願第１３／５９３，２１４号で論じられている技法に従って、変換が選択的に適用される。
【００２６】
変換が行われる場合、変換コンポーネント２０４は、ブロックの残差情報に対応する変換係数の組を出力することができる。あるいは、変換が行われない場合、変換コンポーネント２０４は、変換コンポーネント２０４に入力された残差情報を出力することができる。本明細書では、「非変換ブロック」は、変換コンポーネント２０４を通過し得たとしても変換されなかったブロックを指すことがある。いずれの場合でも、変換コンポーネント２０４は、データの２次元配列（たとえば、変換係数または残差情報）を出力することができる。
【００２７】
エンコーダ１１４は、ブロック（たとえば、非変換ブロックの残差情報、または変換ブロックの変換係数）を量子化するための量子化コンポーネント２０６をさらに含むことができる。ブロックが変換された例では、ブロックの係数を量子化することができる。ブロックが変換されなかった例では、ブロックの残差情報を量子化することができる。量子化コンポーネント２０６は、データの２次元配列（たとえば、量子化された残差情報または量子化された係数）を出力することができる。
【００２８】
エンコーダ１１４は、ブロック（たとえば、量子化された残差情報または量子化された係数）をエントロピー符号化するためのエントロピー符号化コンポーネント２０８をさらに含むことができる。ブロックをエントロピー符号化するために、スキャン処理をブロックに行って、データの１次元配列を生成することができる。たとえば、スキャン処理は、ブロックを表すデータの２次元配列（たとえば、量子化された残差情報または量子化された係数）をスキャンして、データの１次元配列を生成することができる。すなわち、スキャン処理は、２次元配列のデータをシリアル化することができる。
【００２９】
図２に、エントロピー符号化コンポーネント２０８により実行可能な一例示的スキャン処理を示す。ここで、２次元配列２１０の副単位（たとえば、「ａ１」〜「ａ１６」）は、変換が行われたか否かに応じて、量子化された残差情報または量子化された変換係数を表すことができる。図示のように、スキャン処理は、副単位「ａ１６」から始まり、実線に沿って副単位「ａ４」に進み、そして副単位「ａ１５」から始まる次の列をスキャンし、同様に残りの列をスキャンし続けることができる。スキャンを行うことにより、エントロピー符号化コンポーネント２０８は、データの１次元配列２１２を生成することができる。
【００３０】
エントロピー符号化コンポーネント２０８は、特定の種類のデータを共にグループ化するために、スキャン順序に従ってスキャン処理を行うことができる。いくつかの例では、非零データ（たとえば、非零係数または残差情報）が２次元配列内の特定の領域に配置されている確率がより高いことがある。たとえば、図２の２次元配列２１０に戻ると、非零係数（エネルギーと呼ばれることもある）は、配列２１０の左上隅に（たとえば、副単位「ａ１」に向けて）グループ化されていることがある。エントロピー符号化を効率的に行うために、２次元配列２１０の副単位を（図４を参照して詳細に論じる）対角スキャン（diagonal scan）に従ってスキャンして、２次元配列２１０を１次元配列２１２内に、非零係数を一端にグループ化して配置するようにすることができる。しかしながら、全ての種類のブロックに適用されるスキャン順序が一様な場合、そのようにグループ化されないことがある。
【００３１】
したがって、エントロピー符号化コンポーネント２０８は、異なる種類のブロックに対してスキャン順序を選択的に変更することができる。すなわち、エントロピー符号化コンポーネント２０８は、１つまたは複数の所定またはデフォルトのスキャン順序から変更すべきか否かを判定することができる。たとえば、変換ブロックに対して、１つまたは複数の所定またはデフォルトのスキャン順序を用いて、（たとえば、ブロックの予測モード、ブロックのサイズなどに基づいて）ブロックをスキャンすることができる。一方、非変換ブロックに対して、エントロピー符号化コンポーネント２０８は、非変換ブロックの特徴に基づいて、変換ブロック用の１つまたは複数の所定またはデフォルトのスキャン順序から選択的に変更することができる。
【００３２】
たとえば、特定の予測モードおよびサイズの変換ブロックをスキャンする場合、第１のスキャン順序を用いることができる。一方、変換ブロックと同一の予測モードおよび／またはサイズの非変換ブロックをスキャンする場合、エントロピー符号化コンポーネント２０８は、第１のスキャン順序または第２のスキャン順序のいずれを利用すべきかを判定することができる。たとえば、非変換ブロックが特定の種類の予測に関連付けられている（たとえば、非変換ブロックにイントラ予測が施された）場合、第２のスキャン順序を用いることができる。あるいは、非変換ブロックが特定の種類の予測に関連付けられていない（たとえば、非変換ブロックにインター予測が施された）場合、第１のスキャン順序を用いることができる。他の例では、非変換ブロックが所定のサイズより小さいサイズを有する（たとえば、非変換ブロックが４×４または８×８である）場合、第２のスキャン順序を用いることができる。一方、非変換ブロックが所定のサイズ以上のサイズを有する（たとえば、非変換ブロックが８×８以上である）場合、第１のスキャン順序を用いることができる。
【００３３】
さらに他の例では、エントロピー符号化コンポーネント２０８は、非変換ブロックの予測モードの加重値および非変換ブロックのサイズの加重値に基づいて、変換ブロックに関連付けられた所定またはデフォルトのスキャン順序から変更すべきか否かを判定することができる。たとえば、２次元配列のサイズが所定のサイズよりも特定の量だけ大きい場合、サイズを、現在のスキャン順序を維持する方向により重く重み付けすることができる。あるいはまたはさらに、サイズまたは予測モードを、他方よりもより重く重み付けするように選択することができる（たとえば、予測モードが、ブロックのサイズよりも判定により大きく影響することになる）。
【００３４】
図２の例では、エントロピー符号化コンポーネント２０８は、所定またはデフォルトのスキャン順序２１４のうちの１つからスキャン順序２１６のうちの１つに切り替えるべきか否かを判定することができる。ここで、通常は、ブロックが上記で論じた特定の特徴を含む場合（たとえば、特定のサイズを有する、および／または特定の予測モードに関連付けられている非変換ブロック）を除いて、所定のスキャン順序２１４を行うことができる。一方、スキャン順序２１６は、所定のスキャン順序２１４の逆のスキャン順序に対応してもよい。したがって、いくつかの例では、エントロピー符号化コンポーネント２０８は、所定のスキャン順序から所定のスキャン順序の逆に切り替えるべきか否かを判定することができる。なお他の例では、スキャン順序２１６は、逆のスキャン順序に加えて他の種類のスキャン順序を含むことができる。
【００３５】
いくつかの実装では、１つまたは複数の所定またはデフォルトのスキャン順序から選択的に変更することで、本技法により、ブロックに関する特定の種類のデータを効率的に配置できるようになり、および／またはスキャン順序の変更に起因する複雑性を不必要に導入しないようにすることができる。たとえば、イントラ予測に関連付けられた非変換ブロックは通常、変換ブロックと比べて反対側の領域に（たとえば、右上側と比べて右下側に）非零値（たとえば、残差情報）を含むことがあるので、本技法は、イントラ予測に関連付けられた非変換ブロックに対してスキャン順序を変更することで、効率的なエントロピー符号化のために１次元配列の一端に非零値を効率的に配置することができる。加えて、スキャン順序の変更により、（たとえば、スキャン順序を維持することに比べて）ブロックをスキャンする複雑性が増加することがあるので、本技法は、変更がいかなる追加の利益も生み出さない可能性がある場合に、所定のサイズより小さい非変換ブロックに対してスキャン順序を変更することで、追加の複雑性をスキャンに導入しないようにすることができる。
【００３６】
スキャン処理はエントロピー符号化コンポーネント２０８により行われるように記載しているが、他のコンポーネント、たとえば量子化コンポーネント２０６または他のコンポーネントが、スキャン処理を行ってもよい。少なくとも１つの例では、量子化コンポーネント２０６がスキャン処理を行い、データの１次元配列を出力し、これはエントロピー符号化コンポーネント２０８に入力される。
【００３７】
エントロピー符号化コンポーネント２０８は、スキャン処理により生じるデータの１次元配列にエントロピー符号化を行うことができる。エントロピー符号化は、コンテキスト適応２値算術符号化（CABAC:context adaptive binary arithmetic coding）、コンテキスト適応可変長符号化（CAVLC:context adaptive variable-length coding）、確率エントロピー符号化（PIPE）などを行うことを含むことができる。エントロピー符号化は、ビデオコンテンツを少なくとも部分的に表すビットストリームを生成することができる。図２に示すように、１つまたは複数の符号化ブロック２２４をエンコーダ１１４に入力すると、ビットストリーム２２６が出力され得る。
【００３８】
エンコーダ１１４は、符号化中のブロックの逆量子化を行うための逆量子化コンポーネント２１８をさらに含むことができる。その後、逆変換コンポーネント２２０は、逆変換をブロックに選択的に適用することができる。ブロックが変換コンポーネント２０４で変換された場合、逆変換をブロックに行うことができる。しかしながら、ブロックが変換コンポーネント２０４で変換されなかった場合、逆変換は行われないことがある。いずれの場合でも、再構成コンポーネント２２２により、予測コンポーネント２０２からの情報に基づいて、ブロックを再構成することができる。この情報は、ブロックに対する残差情報を形成するために利用される参照ブロックを示すことができる。再構成されたブロックを用いて、たとえばそのブロックと同一または異なるフレーム内の他のブロックなどの他のブロックを符号化することができる。
【００３９】
図２には示していないが、エンコーダ１１４は、他の種類のコンポーネント、たとえばブロックの境界の間のエッジを平滑化するためのデブロッキングフィルタまたは任意の他のコンポーネントなどを含むことができる。
【００４０】
図３に、図１のデコーダ１２８の例示的詳細を示す。デコーダ１２８は概して、エンコーダ１１４の逆操作を行うことができる。デコーダ１２８は、ビットストリーム３０４に逆エントロピー符号化を行うためのエントロピー符号化コンポーネント３０２を含むことができる。エントロピー符号化は、特定のスキャン順序（たとえば、エントロピー符号化コンポーネント２０８により使用されたスキャン順序）に従ってビットストリーム３０４のデータをスキャンすることを含むことができる。スキャン順序は、ビットストリーム３０４内または他の場所で指定する、ブロックの特徴（たとえば、ブロックのサイズ、予測モード、変換モードなど）に基づいて決定する、事前に定義するなどとすることができる。たとえば、スキャン処理は、所定またはデフォルトのスキャン順序３０６および逆のスキャン順序３０８の中からスキャン順序を選択して、逆エントロピー符号化をビットストリーム３０４に行うことができる。一例では、図３に示すように、スキャン処理は、１次元配列３１０（たとえば、ビットストリーム３０４）を２次元配列３１２へ特定のスキャン順序に従ってスキャンすることができる。スキャン処理が１次元配列３１０の左側（たとえば、副単位「ａ１６」）から開始する場合、副単位「ａ１６」、「ａ１２」、「ａ８」および「ａ４」を、２次元配列３１２内へ２次元配列３１２の１つの列としてスキャンすることができる。そして、１次元配列３１０の副単位の次の組（たとえば、「ａ１５」、「ａ１１」、「ａ７」および「ａ３」）を、２次元配列３１２などの他の列内にスキャンすることができる、といった具合である。あるいは、いくつかの例では、スキャン処理が１次元配列３１０の右側から開始する場合、逆のスキャン（たとえば、データを符号化するために行われたスキャンの逆）を行うことができる。図２のエントロピー符号化コンポーネント２０８を参照して上記で同様に論じたように、エントロピー符号化コンポーネント３０２は、ビットストリーム３０４をスキャンするために使用されるスキャン順序を選択的に変更することができる。たとえば、ブロックを符号化するために異なるスキャン順序（たとえば、他のブロックに対して使用される所定またはデフォルトのスキャン順序と異なるもの）が使用された場合、エントロピー符号化コンポーネント３０２は、そのブロックに対して異なるスキャン順序に切り替えることができる。上述のように、たとえば非変換ブロックが特定の種類の予測（たとえば、イントラ予測）に関連付けられている、および／または所定のサイズより小さいサイズを有する場合に、異なるスキャン順序を使用することができる。エントロピー符号化コンポーネント３０２は、図２のエントロピー符号化コンポーネント２０８を参照して上記で論じたものと同様の機能を含むことができる。
【００４１】
デコーダ１２８は、逆量子化コンポーネント３１４、逆変換コンポーネント３１６、および予測コンポーネント３１８をさらに含むことができる。コンポーネント３１４〜３１８は概して、図２のコンポーネント２０２〜２０６と類似した、コンポーネント２０２〜２０６の逆操作を行うための機能を含むことができる。たとえば、逆量子化コンポーネント３１４は、逆量子化をブロック（たとえば、量子化された係数または量子化された残差情報）に行うことができ、逆変換コンポーネント３１６は、逆変換をブロック（たとえば、変換係数）に行うことができ、予測コンポーネント３１８は、予測をブロック（たとえば、残差情報）に行うことができる。ブロックが変換されなかった例では、逆変換コンポーネント３１６は、逆変換を適用しないようにすることができる。そうすることで、デコーダ１２８は、復号されたビデオコンテンツを表す１つまたは複数の符号化ブロック３２０を出力することができる。
【００４２】
例示的デコーダ１２８の上記の議論ではスキャン処理はエントロピー符号化コンポーネント３０２により行われているが、スキャン処理は他のコンポーネント、たとえば逆量子化コンポーネント３１４または任意の他のコンポーネントにより行うことができる。一例では、逆量子化コンポーネント３１４は、データが１次元配列から２次元配列に変更される前または後に、データを逆量子化することができる。
【００４３】
例示的スキャン順序
図４Ａおよび図４Ｂに、ブロックをスキャンするのに利用可能な例示的スキャン順序４００〜４１０を示す。スキャン順序４０６〜４１０は、スキャン順序４００〜４０４の逆のスキャン順序をそれぞれ備えることができる。いくつかの例では、スキャン順序４００〜４０４は、通常適用されるデフォルトのスキャン順序を備えることができ、スキャン順序４０６〜４１０は、たとえば特定のサイズおよび／または予測モードなどの特定の特徴を含む非変換ブロックに適用され得る代替的スキャン順序を備えることができる。複数のデフォルトのスキャン順序が１つの実装で用いられる場合、ブロックのサイズ、ブロックに使用された予測モード、ブロックのタイプ（たとえば、輝度または色差）などに基づいて、デフォルトのスキャン順序をブロックに対して選択することができる。図４Ａおよび図４Ｂでは、スキャン順序４００〜４１０は概して、実線に沿ってスキャンし、次のスキャンのために点線に沿って位置変更することができる。
【００４４】
スキャン順序４００〜４１０を図４Ａおよび図４Ｂに例示したが、他の種類のスキャン順序が、スキャン処理に用いられてもよい。さらに、スキャン順序４００〜４０４をデフォルトのスキャン順序として記載したが、他のスキャン順序、たとえばスキャン順序４０６〜４１０、スキャン順序４００〜４１０のいずれか１つ、またはスキャン順序４００〜４１０の任意の組み合わせなどがデフォルトのスキャン順序でもよい。
【００４５】
スキャン順序４００は、ブロックの副単位４１２から開始し、実線に沿ってブロックをスキャンして副単位４１４に到達する対角スキャンを備えることができる。スキャン順序４０２は、ブロックの副単位４１６から開始し、実線に沿ってブロックをスキャンして副単位４１８に到達する垂直スキャンを備えることができる。スキャン順序４０４は、ブロックの副単位４２０から開始し、実線に沿ってブロックをスキャンして副単位４２２に到達する水平スキャンを備えることができる。
【００４６】
一方、スキャン順序４０６〜４１０は、スキャン順序４００〜４０４の逆のスキャン順序をそれぞれ備える。具体的には、スキャン順序４０６は、副単位４２４から始まり副単位４２６で終了する逆対角スキャンを備え、スキャン順序４０８は、副単位４２８から始まり副単位４３０で終了する逆垂直スキャンを備え、スキャン順序４１０は、副単位４３２から始まり副単位４３４で終了する逆水平スキャンを備えることができる。
【００４７】
いくつかの実装では、デフォルトのスキャン順序と異なるスキャン順序を利用すると決定された場合、デフォルトの順序の逆のスキャン順序を利用することができる。たとえば、スキャン順序４０２（たとえば、垂直スキャン）に従って符号化している間に、ブロックに対して代替的スキャン順序を使用すると決定された場合、スキャン順序４０８（たとえば、逆垂直スキャン）を使用することができる。代替的スキャン順序は、特定の特徴を含む非変換ブロック、たとえばイントラ予測に関連付けられた、および／または所定のサイズより小さいサイズを有する非変換ブロックに対して使用することができる。
【００４８】
例示的処理
図５に、本明細書に記載の技法を用いるための一例示的処理５００を示す。説明を簡単にするため、処理５００は、符号化コンポーネントにより行われるものとして説明する。たとえば、処理５００の個々の動作のうちの１つまたは複数は、図１のアーキテクチャ１００のエンコーダ１１４および／またはデコーダ１２８により行うことができる。しかしながら、処理５００は他のアーキテクチャで実施されてもよい。また、アーキテクチャ１００は、他の処理を行うために用いることができる。
【００４９】
処理５００（ならびに本明細書に記載の各処理）は論理的な流れ図として例示されており、その各動作は、ハードウェア、ソフトウェアまたはそれらの組み合わせで実装可能な一連の動作を表す。ソフトウェアの文脈では、動作は、１つまたは複数のプロセッサにより実行された場合に列挙された動作を実施する１つまたは複数のコンピュータ可読記憶媒体上に格納されたコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実施するかまたは特定の抽象的データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が記載された順序は、限定として解釈されることを意図しておらず、任意数の記載の動作は、処理を実装するために任意の順序で、および／または並行して組み合わせることができる。さらに、動作のいずれも省略可能である。
【００５０】
５０２において、符号化コンポーネント（たとえば、エンコーダまたはデコーダ）は、変換符号化モード（transform coding mode）に関連付けられた第１のブロックをスキャンするために使用されるスキャン順序を特定することができる。第１のブロックは変換ブロックと呼ばれることがあり、これは第１のブロックが変換されたことを示す。第１のブロックのスキャン順序は、第１のブロックの予測モード、第１のブロックのサイズなどに関連付けられたブロックに対するデフォルトのスキャン順序を備えることができる。
【００５１】
５０４において、符号化コンポーネントは、非変換符号化モード（non-transform coding mode）に関連付けられた第２のブロックを特定することができる。第２のブロックは非変換ブロックと呼ばれることがあり、これは第２のブロックが変換されなかった（たとえば、非変換符号化に関連付けられている）ことを示す。第２のブロックは、第１のブロックの特徴と同一の少なくとも１つの特徴、たとえば同一のサイズ、予測モード、ブロックタイプ（たとえば、ブロックが輝度ブロック（白黒での明るさを表す成分）または色差ブロック（色を表す成分）のいずれであるか）などを有してもよい。さらに、第２のブロックおよび第１のブロックは、同一の画像（たとえば、フレーム）の一部でもよい。
【００５２】
５０６において、符号化コンポーネントは、第２のブロックに関して１つまたは複数の基準が満たされているか否かを判定することができる。たとえば、符号化コンポーネントは、第２のブロックの予測モードが特定の予測モード、たとえばイントラ予測であるかを判定することができる。ここでは、符号化コンポーネントは、第２のブロックに適用された予測モード（たとえば、イントラ予測またはインター予測）を特定することができる。あるいはまたはさらに、符号化コンポーネントは、第２のブロックのサイズが所定のサイズより小さいかを判定することができる。
【００５３】
５０６において１つまたは複数の基準が満たされている場合（たとえば、YESの経路）、符号化コンポーネントは、第１のブロックに対して使用されたものと異なるスキャン順序に従って、５０８のスキャン処理を第２のブロックに行うことができる。たとえば、スキャン処理は、第１のブロックに対して使用されたスキャン順序の逆を利用することができる。一例では、符号化コンポーネントは、第２のブロックが本来ならスキャンされるはずのデフォルトのスキャン順序と異なるスキャン順序を利用することができる。あるいは、５０６において１つまたは複数の基準が満たされていない場合（たとえば、NOの経路）、符号化コンポーネントは、第１のブロックに対して使用されたスキャン順序に従って５１０のスキャン処理を第２のブロックに行うことができる。したがって、５０６における判定は、第１のブロックのスキャン順序に従って第２のブロックをスキャンすべきか、異なるスキャン順序に従って第２のブロックをスキャンすべきかを判定することができる。
【００５４】
５０８または５１０においてスキャン処理を行ういずれの場合でも、処理は、第２のブロックの残差情報の２次元配列をスキャンして残差情報の１次元配列を生成することを含むことができる。すなわち、スキャン処理は、第２のブロックのデータをシリアル化することができる。
【００５５】
５１２において、符号化コンポーネントは、エントロピー符号化を第２のブロックに行うことができる。これは、第２のブロックを表す残差情報（たとえば、量子化された残差情報）の１次元配列をエントロピー符号化することを含むことができる。５０８のスキャン処理が行われた場合、１次元配列は、第１のブロック（たとえば、変換ブロック）をエントロピー符号化するために使用されたものと異なる順序に従って並べられた第２のブロックの副単位（たとえば、複数の残差情報）を含むことができる。
【００５６】
結論
実施形態を構造的特徴および／または方法論的行為に特有の文言で記載したが、本開示が記載した特定の特徴または行為に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および行為は、本明細書では、実施形態を実装する例示的な形として開示されている。
【００５７】
上述の方法および処理の全てを、１つまたは複数の汎用コンピュータまたはプロセッサにより実行されるソフトウェアコードモジュール内に具現化し、これを介して完全に自動化することができる。コードモジュールは、任意の種類のコンピュータ可読記憶媒体または他のコンピュータ記憶デバイスに格納することができる。あるいは、方法の一部または全部は、専用のコンピュータハードウェアに具現化することができる。
【００５８】
条件の文言（Conditional language）、とりわけ「することができる（can）」、「可能性がある（could）」、「場合がある（might）」または「してもよい（may）」などは、特段の断りがない限り、文脈の中で特定の実施形態には特定の特徴、要素および／またはステップが含まれるが、他の実施形態にはそれらが含まれないことを示すものと理解される。したがって、そのような条件の文言は概して、特定の特徴、要素および／またはステップが１つまたは複数の実施形態のために何としても必要であること、あるいは、特定の特徴、要素および／またはステップが任意の特定の実施形態に含まれているまたはその中で実施されるかを、ユーザ入力または指示の有無にかかわらず判定するための論理を１つまたは複数の実施形態が必ず含むことを暗示するものではない。
【００５９】
接続の文言（Conjunctive language）、たとえば「Ｘ、ＹまたはＺのうちの少なくとも１つ」という句は、特段の断りがない限り、項目、用語などが、Ｘ、ＹまたはＺのいずれか、あるいはこれらの組み合わせであり得ることを示すものと理解されたい。
【００６０】
本明細書に記載された、および／または添付図面に図示された流れ図内の任意のルーチン説明、要素またはブロックは、ルーチン内の特定の論理的機能または要素を実装するための１つまたは複数の実行可能命令を含むモジュール、セグメントまたはコードの一部を潜在的に表すものと理解されたい。代替的実装は本明細書に記載の実施形態の範囲に含まれており、その中では、当業者に理解されるように関連する機能に応じて、要素または機能は削除することができ、あるいは、示したまたは論じた以外の順序で、たとえばほぼ同時にまたは逆の順序で実行することができる。
【００６１】
上述の実施形態に対して多くの変形および修正が可能であることが強調されるべきであり、その要素は他の許容範囲内の例の中にあるものと理解されたい。全てのそのような修正および変形は、本明細書において本開示の範囲に含まれ、以下の特許請求の範囲により保護されるものとする。
【図１】
2018157571.tif 000003
【図２】
2018157571.tif 000004
【図３】
2018157571.tif 000005
【図４Ａ】
2018157571.tif 000006
【図４Ｂ】
2018157571.tif 000007
【図５】
2018157571.tif 000008
【外国語明細書】
2018157571000001.pdf