(57)【要約】現在のブロックと隣接ブロックとが識別され、現在のブロックが処理されるプロトコルが提供される。いくつかの変形では、現在および隣接ブロックの共有サイズが標準ブロックサイズよりも小さいかどうかに応じて、非ブロック化フィルタが、標準ブロックサイズまたは共有ブロックサイズのいずれかに設定されたフィルタリングブロックサイズを伴って適用される。一実施形態において、現在のブロックと隣接ブロックとを識別することは、標準ブロックサイズとして四角ブロックサイズを選択することをさらに含む。
2018530259.tif 000002
【特許請求の範囲】
【請求項１】
デジタルビデオデータを処理するコンピュータ実装方法であって、前記方法は、
現在のブロックと隣接ブロックとを識別することであって、前記現在および隣接ブロックは、共有サイズと、それらの間の線形境界とを有し、前記現在および隣接ブロックの両方は、前記線形境界に隣接している、ことと、
前記現在および隣接ブロックの前記共有サイズが標準ブロックサイズよりも小さいことを決定することと、
少なくとも前記現在のブロックに、前記標準ブロックサイズに設定されたフィルタリングブロックサイズを伴う非ブロック化フィルタを適用することと
を含む、デジタルビデオデータを処理するコンピュータ実装方法。
【請求項２】
前記識別することと、前記決定することと、前記適用することとを行うように、ビデオエンコーダを有していないデバイスのビデオデコーダを構成することをさらに含む、請求項１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項３】
前記識別することと、前記決定することと、前記適用することとを行うように、ビデオエンコーダのデコーダループを構成することをさらに含む、請求項１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項４】
前記現在のブロックに、前記標準ブロックサイズに設定された前記フィルタリングブロックサイズを伴う前記非ブロック化フィルタを適用することは、回路を起動することを含み、
前記回路は、前記現在および隣接ブロックの前記共有サイズが前記標準ブロックサイズよりも小さいという決定への自動条件応答として、前記現在のブロックに、前記標準ブロックサイズに設定された前記フィルタリングブロックサイズを伴う前記非ブロック化フィルタを適用するように構成され、前記回路は、前記現在および隣接ブロックの前記共有サイズが前記標準ブロックサイズに少なくとも等しいという決定への自動条件応答として、前記現在のブロックに、前記現在および隣接ブロックの前記共有サイズに設定されたフィルタリングブロックサイズを伴う非ブロック化フィルタを適用するようにも構成されている、請求項３に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項５】
前記現在および隣接ブロックの前記共有サイズが前記標準ブロックサイズに少なくとも等しいという決定への自動条件応答として、前記現在のブロックに、前記現在および隣接ブロックの前記共有サイズに設定されたフィルタリングブロックサイズを伴う非ブロック化フィルタを適用するように構成されている回路を起動することをさらに含む、請求項１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項６】
前記現在のブロックと前記隣接ブロックとを識別することは、
前記隣接ブロックおよび前記現在のブロックとして、水平境界によって分離される第１のブロックおよび第２のブロックをそれぞれ選択することをさらに含み、前記水平境界は、前記線形境界である、請求項５に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項７】
前記現在のブロックと前記隣接ブロックとを識別することは、
前記標準ブロックサイズとして四角ブロックサイズを選択することをさらに含む、請求項６に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項８】
前記現在のブロックと前記隣接ブロックとを識別することは、
前記標準ブロックサイズとして少なくとも８ピクセル×８ピクセルのブロックサイズを選択することをさらに含む、請求項１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項９】
前記識別することと、前記決定することと、前記適用することとを行うように、ゲームデバイスを構成することをさらに含む、請求項９に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項１０】
前記識別することと、前記決定することと、前記適用することとを行うように、ハンドヘルドネットワーク化コンピューティングデバイスを構成することをさらに含む、請求項１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項１１】
前記識別することと、前記決定することと、前記適用することとを行うように、ウェアラブルネットワーク化コンピューティングデバイスを構成することをさらに含む、請求項１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項１２】
前記現在のブロックと前記隣接ブロックとを識別することは、
前記共有サイズとして、４ピクセル×４ピクセル、８ピクセル×８ピクセル、および１６ピクセル×１６ピクセルから成る群から選択されるブロックサイズを識別することをさらに含む、請求項１２に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項１３】
前記識別することと、前記決定することと、前記適用することとを行うように、汎用プロセッサを構成することをさらに含む、請求項１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項１４】
前記現在ブロックと前記隣接ブロックとは、連続した変換ブロックである、請求項１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項１５】
前記現在および隣接ブロックを含む画像ブロックがイントラコード化される場合、第１の境界強度で前記非ブロック化フィルタを構成することと、前記画像ブロックがイントラコード化されない場合、前記第１の境界強度よりも低い第２の境界強度で前記非ブロック化フィルタを構成することとをさらに含む、請求項１５に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項１６】
前記現在および隣接ブロックを含む画像ブロックがイントラコード化される場合、第１の境界強度で前記非ブロック化フィルタを構成することと、前記画像ブロックがイントラコード化されない場合、前記第１の境界強度よりも低い第２の境界強度で前記非ブロック化フィルタを構成することとをさらに含み、前記第２の境界強度は、前記フィルタリングブロックサイズに関連付けられた量子化変換係数がゼロである場合、より低い強度値を有し、前記第２の境界強度は、前記フィルタリングブロックサイズに関連付けられた前記量子化変換係数がゼロではない場合、より高い強度値を有する、請求項１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項１７】
汎用プロセッサは、ソフトウェアのみで実装された前記非ブロック化フィルタを用いて、前記識別することと、前記決定することと、前記適用することとを行う、請求項１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【請求項１８】
ビデオデータを処理する方法であって、前記方法は、
現在のブロックと隣接ブロックとを識別することであって、前記現在および隣接ブロックは、共有サイズと、それらの間の線形境界とを有し、前記現在および隣接ブロックの両方は、前記線形境界に隣接している、ことと、
前記現在および隣接ブロックの前記共有サイズが標準ブロックサイズに少なくとも等しいことを決定することと、
少なくとも前記現在のブロックに、前記現在および隣接ブロックの前記共有サイズに設定されたフィルタリングブロックサイズを伴う非ブロック化フィルタを適用することと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオ信号の符号化および復号に関し、より具体的には、ブロックノイズがあるアーチファクトの効率的な軽減に関する。
【背景技術】
【０００２】
デジタル画像、音声／オーディオ、グラフィック、およびビデオ等のデジタルマルチメディアの出現は、コンテンツの確実な記憶、通信、伝送、および検索ならびにアクセスを可能にした、相対的容易性に起因して、種々の用途を有意に改良するとともに、全く新しい用途を広げてきた。全体的に、デジタルマルチメディアの用途は、娯楽、情報、医療、およびセキュリティを含む、広範囲を包含して多くなっており、多数の方法で社会の利益になっている。カメラおよびマイクロホン等のセンサによって捕捉されるようなマルチメディアは、多くの場合、アナログであり、パルス符号変調（ＰＣＭ）の形態のデジタル化のプロセスが、それをデジタルにする。しかしながら、デジタル化の直後、結果として生じるデータの量は、スピーカおよび／またはＴＶディスプレイによって必要とされるアナログ表現を再作成するために必要であるため、極めて有意であり得る。したがって、大量のデジタルマルチメディアコンテンツの効率的な通信、記憶、または伝送は、未加工ＰＣＭ形態から圧縮表現へのその圧縮を要求する。したがって、マルチメディアの圧縮のための多くの技法が発明されている。長年にわたって、ビデオ圧縮技法は、多くの場合、非圧縮デジタルビデオに類似する高い心理視覚品質を留保しながら、多くの場合、１０〜１００の間の高い圧縮率を達成することができる点まで、非常に精巧になっている。
【０００３】
著しい進歩が、（ＭＰＥＧ−１、ＭＰＥＧ−２、Ｈ．２６３、ＭＰＥＧ−４  ｐａｒｔ２、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４、ＭＰＥＧ−４  ＳＶＣ、およびＭＶＣ等の多数の規格団体主導ビデオコード化規格、ならびにＷｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏ、Ｒｅａｌ  Ｖｉｄｅｏ、Ｏｎ２  ＶＰ、および同等物等の業界主導専用規格によって示されるように）現在までビデオ圧縮の技術および科学において遂げられているが、いつでもどこでもアクセスのために利用可能である、さらに高い品質、より高い解像度、および現在の３Ｄ（立体）ビデオに対する消費者の増え続ける欲求が、さらに高いレベルのビデオ圧縮の所望を煽り、ＤＶＤ／ＢＤ、無線ブロードキャスト、ケーブル／衛星、ＰＣ／ラップトップ、ＴＶ、セットトップボックス、ゲーム機、携帯用メディアプレーヤ／デバイス、スマートフォン、およびウェアラブルコンピューティングデバイス等の一連のクライアントデバイスへの有線ならびにモバイルネットワーク等の種々の手段を介した配信を余儀なくさせてきた。規格団体主導規格では、これは、新しい技術寄与およびＩＴＵ−Ｔ規格委員会によるＨ．２６５ビデオ圧縮についての何年かの予備研究からの技術を組み合わせることが予期される、高効率ビデオコード化（ＨＥＶＣ）において、ＩＳＯ  ＭＰＥＧによる近年開始された取り組みによって証明される。
【０００４】
全ての前述の規格は、ビデオのフレームの間の運動を補償することによって、時間冗長性を低減させることを伴う、一般的なフレーム間予測コード化フレームワークを採用する。基本的概念は、ブロック合致方法を使用することによって、隣接する画像の間の時間依存性を除去することである。符号化プロセスの開始時に、符号化されていないビデオシーケンスの各フレームは、３つのカテゴリ、すなわち、Ｉタイプフレーム、Ｐタイプフレーム、およびＢタイプフレームのうちの１つにグループ化される。Ｉタイプフレームは、イントラコード化される。すなわち、フレーム自体からの情報のみが、画像を符号化するために使用され、フレーム間運動補償技法は使用されない（但し、フレーム間運動補償技法が適用され得る）。
【０００５】
他の２つのタイプのフレーム、すなわち、ＰタイプおよびＢタイプは、フレーム間運動補償技法を使用して符号化される。Ｐ画像とＢ画像との間の差異は、運動補償に使用される参照画像の時間方向である。Ｐタイプ画像が、（表示順に）前の画像からの情報を利用する一方で、Ｂタイプ画像は、（表示順に）前および将来の画像の両方からの情報を利用し得る。
【０００６】
ＰタイプおよびＢタイプフレームに関して、各フレームが、次いで、各ピクセルの輝度およびクロミナンス成分の係数によって表される、ピクセルのブロックに分割され、１つ以上の運動ベクトルが、ブロック毎に取得される（Ｂタイプ画像が、将来および過去のコード化されたフレームの両方からの情報を利用し得るため、２つの運動ベクトルがブロック毎に符号化され得る）。運動ベクトル（ＭＶ）は、現在のブロックの位置から、それぞれ、参照ブロックおよび参照フレームと称される、別の前もって符号化されたフレーム（表示順に過去または将来のフレームであり得る）の中の類似ブロックの位置までの空間変位を表す。該当する場合、参照ブロックと現在のブロックとの間の差異が決定され、残余（「残留信号」とも称される）が取得される。したがって、インターコード化されたフレームのブロック毎に、ブロックのコンテンツ全体ではなく、残余および運動ベクトルのみが符号化される必要がある。ビデオシーケンスのフレームの間の本種類の時間冗長性を除去することによって、ビデオシーケンスは、圧縮されることができる。
【０００７】
ビデオデータをさらに圧縮するために、フレーム間または内予測技法が適用された後、残留信号の係数は、多くの場合、（例えば、離散余弦変換（「ＤＣＴ」）または離散正弦変換（「ＤＳＴ」）を使用して）空間ドメインから周波数ドメインに変換される。典型的には、人間に知覚可能なビデオシーケンスを構成する画像のタイプ等の自然発生画像に関して、低周波数エネルギーは、常に、高周波数エネルギーよりも強い。周波数ドメイン内の残留信号は、したがって、空間ドメイン内で受けるであろうよりも良好なエネルギー圧密を受ける。順方向変換後、係数は、量子化され得、エントロピーは、例えば、インターネット等のネットワークを経由した伝送のために、パケット化または別様に処理される前に符号化され得る。
【０００８】
デコーダ側で、逆量子化および逆変換が、空間残留信号を回復するように適用される。これらは、多くのビデオ圧縮規格における典型的変換／量子化プロセスである。逆予測プロセスが、次いで、元の符号化されていないビデオシーケンスの再作成されたバージョンを生成するために行われ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
最先端のビデオ圧縮では、非ブロック化フィルタ（ＤＢＦ）が、コーデック設計の極めて重要な側面である。そのようなフィルタの目的は、いわゆる「ブロックノイズがあるアーチファクト」、すなわち、主に量子化に起因する、２つの画像ブロックの間の境界において観察可能な不連続性を軽減することである。複雑な課題である、システムリソースに過度に重い負担をかけることなく、そのような顕著なビデオ画像欠陥を軽減する多大かつ継続的な必要性が存在する。
【課題を解決するための手段】
【００１０】
以下に表される番号付きの箇条および請求項に関して、当業者は、その中の記載された動作が、概して、任意の順で行われ得ることを理解するであろう。また、種々の動作フローがある順序で提示されるが、種々の動作は、図示されるもの以外の順で行われ得る、または同時に行われる得ることを理解されたい。そのような代替的順序付けの実施例は、文脈が別様に指示しない限り、重複、交互、中断された、並べ替えられた、増分、予備、補足、同時、逆、または他の変異順序付けを含み得る。さらに、「〜に応答する」、「〜に関連する」のような用語、または他の過去形の形容詞は、概して、文脈が別様に指示しない限り、そのような変形を除外することを意図していない。また、以下の番号付きの箇条では、側面および実施形態の具体的組み合わせは、（１）それぞれの実施形態によると、「コンポーネント」または他のそのような識別子が、所与の一連の箇条の中で１回を上回って（例えば、「ａ」もしくは「ａｎ」（１つの）とともに）導入されると考えられるインスタンス毎に、そのような指定が、同一のエンティティまたは明確に異なるエンティティのいずれかを識別し得、（２）以下で「従属」箇条と呼ばれ得るものが、それぞれの実施形態では、それらが参照する「独立」箇条の特徴または上記で説明される他の特徴を組み込む場合もあり、組み込まない場合もあるように、簡略形態で述べられる。
【００１１】
（箇条）
（箇条１）現在のブロック（例えば、項目６４０、７７０、８２２のうちの１つ以上のもの）および隣接ブロック（例えば、項目６３０、６５０、７６０、８１１、８１２、８２１のうちの１つ以上のもの）を識別することであって、現在および隣接ブロックは、共有サイズと、それらの間の線形境界（例えば、項目６０１、６０２、７０１、７０２、８０１、８０２のうちの１つ以上のもの）とを有し、現在および隣接ブロックの両方は、線形境界に隣接している、ことと、
現在および隣接ブロックの共有サイズが標準ブロックサイズ（例えば、８ピクセル×８ピクセルのような公称上四角いサイズ）よりも小さいことを決定することと、
少なくとも現在のブロックに、標準ブロックサイズに設定されたフィルタリングブロックサイズを伴う非ブロック化フィルタを適用すること（例えば、図１２または１３参照）と
を含む、デジタルビデオデータを処理するコンピュータ実装方法。
【００１２】
（箇条２）識別することと、決定することと、適用することとを行うように、ビデオエンコーダを有していないデバイス（例えば、ビデオエンコーダを伴わずに構成されている、例えば、項目３００、１７１０、１７２０、１７３０、１７４０のうちの１つ以上のもの）のビデオデコーダ（例えば、図５参照）を構成することをさらに含む、箇条１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００１３】
（箇条３）識別することと、決定することと、適用することとを行うように、ビデオエンコーダ（例えば、汎用コンピュータ１７５０内の符号化デバイス２００のインスタンス）のデコーダループを（例えば、ローカルデコーダループ４３０の中にＤＢＦプロセッサ４８８のインスタンスを含むことによって）構成することをさらに含む、箇条１に記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００１４】
（箇条４）現在のブロックに、標準ブロックサイズに設定されたフィルタリングブロックサイズを伴う非ブロック化フィルタを適用することは、
現在および隣接ブロックの共有サイズが標準ブロックサイズよりも小さいという決定への自動条件応答として、現在のブロックに、標準ブロックサイズに設定されたフィルタリングブロックサイズを伴う非ブロック化フィルタを適用するように構成され、また、現在および隣接ブロックの共有サイズが標準ブロックサイズに少なくとも等しいという決定への自動条件応答として、現在のブロックに、現在および隣接ブロックの共有サイズに設定されたフィルタリングブロックサイズを伴う非ブロック化フィルタを適用するように構成されている、回路（例えば、特殊用途回路１７３１のインスタンス）を起動することを含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００１５】
（箇条５）現在および隣接ブロックの共有サイズが標準ブロックサイズに少なくとも等しいという決定への自動条件応答として、現在のブロックに、現在および隣接ブロックの共有サイズに設定されたフィルタリングブロックサイズを伴う非ブロック化フィルタを適用するように構成されている、回路（例えば、特殊用途回路１７３２のインスタンス）を起動することをさらに含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００１６】
（箇条６）現在のブロックと隣接ブロックとを識別することはさらに、
それぞれ、隣接ブロック（例えば、項目６５０、７６０、８１２のうちの１つ以上のもの）および現在のブロック（例えば、項目６４０、７７０、８２２のうちの１つ以上のもの）として、水平境界によって分離される第１のブロックおよび第２のブロックを選択することであって、水平境界は、線形境界（例えば、項目６０１、７０１、８０２のうちの１つ以上のもの）である、ことを含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００１７】
（箇条７）現在のブロックと隣接ブロックとを識別することはさらに、
標準ブロックサイズとして四角ブロックサイズを選択することを含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００１８】
（箇条８）現在のブロックと隣接ブロックとを識別することはさらに、
標準ブロックサイズとして少なくとも８ピクセル×８ピクセルのブロックサイズを選択することを含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００１９】
（箇条９）現在のブロックと隣接ブロックとを識別することはさらに、
標準ブロックサイズとして最大でも８ピクセル×８ピクセルのブロックサイズを選択することを含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００２０】
（箇条１０）現在のブロックと隣接ブロックとを識別することはさらに、
共有サイズとして、４ピクセル×４ピクセル、８ピクセル×８ピクセル、および１６ピクセル×１６ピクセルから成る群から選択されるブロックサイズを識別すること（例えば、図１１参照）を含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００２１】
（箇条１１）識別することと、決定することと、適用することとを行うように、ゲームデバイス（例えば、項目１７４０のインスタンス）を構成することをさらに含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００２２】
（箇条１２）識別することと、決定することと、適用することとを行うように、ハンドヘルドネットワーク化コンピューティングデバイス（例えば、項目１７２０、１７３０のうちの１つ以上のもの）を構成することをさらに含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００２３】
（箇条１３）識別することと、決定することと、適用することとを行うように、ウェアラブルネットワーク化コンピューティングデバイス（例えば、項目１７１０、１７３０のうちの１つ以上のもの）を構成することをさらに含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００２４】
（箇条１４）識別することと、決定することと、適用することとを行うように、（方法のソフトウェア実装を実行する汎用コンピュータ１７５０内の）汎用プロセッサを構成することをさらに含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００２５】
（箇条１５）現在ブロックと隣接ブロックとは、連続した変換ブロックである、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００２６】
（箇条１６）現在および隣接ブロックを含む画像ブロックがイントラコード化される場合、第１の境界強度で非ブロック化フィルタを構成することと、画像ブロックがイントラコード化されない場合、第１の境界強度よりも低い第２の境界強度で非ブロック化フィルタを構成すること（例えば、図１４または１５参照）とをさらに含む、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【００２７】
（箇条１７）現在および隣接ブロックを含む画像ブロックがイントラコード化される場合、第１の境界強度で非ブロック化フィルタを構成することと、画像ブロックがイントラコード化されない場合、第１の境界強度よりも低い第２の境界強度で非ブロック化フィルタを構成することとをさらに含み、第２の境界強度は、フィルタリングブロックサイズに関連付けられる量子化変換係数がゼロである場合、より低い強度値を有し、第２の境界強度は、フィルタリングブロックサイズに関連付けられる量子化変換係数がゼロではない場合、より高い強度値を有する（例えば、図１４または１５参照）、上記の箇条のうちのいずれかに記載のデジタルビデオデータを処理するコンピュータ実装方法。
【図面の簡単な説明】
【００２８】
【図１】図１は、少なくとも１つの実施形態による、例示的ビデオ符号化／復号システムを図示する。
【図２】図２は、少なくとも１つの実施形態による、例示的符号化デバイスのいくつかのコンポーネントを図示する。
【図３】図３は、少なくとも１つの実施形態による、例示的復号デバイスのいくつかのコンポーネントを図示する。
【図４】図４は、少なくとも１つの実施形態による、例示的ビデオエンコーダのブロック図を図示する。
【図５】図５は、少なくとも１つの実施形態による、例示的ビデオデコーダのブロック図を図示する。
【図６】図６は、少なくとも１つの実施形態による、処理される画像の領域を図示する。
【図７】図７も、少なくとも１つの実施形態による、処理される画像の領域を図示する。
【図８】図８も、少なくとも１つの実施形態による、処理される画像の領域を図示する。
【図９】図９は、少なくとも１つの実施形態による、変換ブロック処理ルーチンを図示する。
【図１０】図１０は、少なくとも１つの実施形態による、変換ブロックサイズ選択サブルーチンを図示する。
【図１１】図１１は、少なくとも１つの実施形態による、順方向整数変換サブルーチンを図示する。
【図１２】図１２は、少なくとも１つの実施形態による、画像処理ルーチンを図示する。
【図１３】図１３は、少なくとも１つの実施形態による、非ブロック化フィルタリングブロックサイズ決定サブルーチンを図示する。
【図１４】図１４は、少なくとも１つの実施形態による、輝度のみのＤＢＦ適用サブルーチンを図示する。
【図１５】図１５は、少なくとも１つの実施形態による、ＤＢＦ適用サブルーチンを図示する。
【図１６】図１６は、少なくとも１つの実施形態による、境界強度決定サブルーチンを図示する。
【図１７】図１７は、少なくとも１つの実施形態による、例示的ネットワーク化ビデオ実装を図示する。
【発明を実施するための形態】
【００２９】
以下に続く発明を実施するための形態は、大部分が、プロセッサ、プロセッサ用のメモリ記憶デバイス、接続された表示デバイス、および入力デバイスを含む、従来のコンピュータコンポーネントによるプロセスおよび動作の象徴的表現に関して表される。さらに、これらのプロセスおよび動作は、遠隔ファイルサーバ、コンピュータサーバ、およびメモリ記憶デバイスを含む、異種分散型コンピューティング環境内の従来のコンピュータコンポーネントを利用し得る。これらの従来の分散型コンピューティングコンポーネントはそれぞれ、通信ネットワークを介してプロセッサによってアクセス可能である。
【００３０】
「一実施形態では」、「少なくとも１つの実施形態では」、「種々の実施形態では」、「いくつかの実施形態では」という語句、および同等物が、本明細書で繰り返し使用され得る。そのような語句は、必ずしも同一の実施形態を指すわけではない。「〜を備えている」、「〜を有する」、および「〜を含む」という用語は、文脈が別様に指示しない限り同義である。種々の実施形態が、画像間／内予測および変換コード化を使用するという点で、概して上記で説明されたように、典型的「ハイブリッド」ビデオコード化アプローチとの関連で説明される。
【００３１】
ここで、図面に図示されるような実施形態の説明が詳細に参照される。実施形態は、図面および関連説明に関連して説明されるが、本開示の範囲から逸脱することなく、明示的に図示および／または説明されているかどうかにかかわらず、全ての代替物、修正、ならびに均等物を含む、代替および／または同等の実装が、示され、かつ説明される具体的実施形態に代用され得ることが、当業者によって理解されるであろう。種々の代替実施形態では、追加のデバイスまたは図示されるデバイスの組み合わせが、範囲を本明細書に開示される実施形態に限定することなく、追加され得るか、もしくは組み合わせられ得る。
【００３２】
（例示的ビデオ符号化／復号システム）
図１は、少なくとも１つの実施形態による、例示的ビデオ符号化／復号システム１００を図示する。符号化デバイス２００（図２に図示され、以下で説明される）および復号デバイス３００（図３に図示され、以下で説明される）は、ネットワーク１０４とデータ通信する。符号化デバイス２００は、ストレージエリアネットワーク（「ＳＡＮ」）、高速シリアルバス等の直接データ接続を通して、および／または他の好適な通信技術を介して、もしくは（図１の鎖線によって示されるような）ネットワーク１０４を介してのいずれかで、未符号化ビデオソース１０８とデータ通信し得る。同様に、復号デバイス３００は、ストレージエリアネットワーク（「ＳＡＮ」）、高速シリアルバス等の直接データ接続を通して、および／または他の好適な通信技術を介して、もしくは（図１の鎖線によって示されるような）ネットワーク１０４を介してのいずれかで、随意の符号化ビデオソース１１２とデータ通信し得る。いくつかの実施形態では、符号化デバイス２００、復号デバイス３００、符号化ビデオソース１１２、および／または未符号化ビデオソース１０８は、１つ以上の複製ならびに／もしくは分散された物理的または論理デバイスを備え得る。多くの実施形態では、図示されるよりも多くの符号化デバイス２００、復号デバイス３００、未符号化ビデオソース１０８、および／または符号化ビデオソース１１２があり得る。
【００３３】
種々の実施形態では、符号化デバイス２００は、概して、例えば、復号デバイス３００からネットワーク１０４を経由して要求を受理し、それに応じて応答を提供することが可能なネットワーク化コンピューティングデバイスであり得る。種々の実施形態では、復号デバイス３００は、ハンドヘルドデバイス（例えば、携帯電話）、ウェアラブルコンピューティングデバイス（例えば、腕時計またはヘッドアップディスプレイ）、専用メディアプレーヤ、コンピューティングタブレット、自動車ヘッドユニット、オーディオビデオオンデマンド（ＡＶＯＤ）システム、専用メディアコンソール、ゲームデバイス、「セットトップボックス」、デジタルビデオレコーダ、テレビ、または汎用コンピュータ等の形状因子を有する、ネットワーク化コンピューティングデバイスであり得る。種々の実施形態では、ネットワーク１０４は、インターネット、１つ以上のローカルエリアネットワーク（「ＬＡＮ」）、１つ以上の広域ネットワーク（「ＷＡＮ」）、セルラーデータネットワーク、および／もしくは他のデータネットワークを含み得る。ネットワーク１０４は、種々の点において、有線および／または無線ネットワークであり得る。
【００３４】
（例示的符号化デバイス）
図２を参照すると、例示的符号化デバイス２００のいくつかのコンポーネントが図示されている。いくつかの実施形態では、符号化デバイスは、図２に示されるものよりも多くのコンポーネントを含み得る。しかしながら、例証的実施形態を開示するために、これらの概して従来のコンポーネントの全てが示されることは必要ではない。図２に示されるように、例示的符号化デバイス２００は、ネットワーク１０４等のネットワークに接続するためのネットワークインターフェース２０４を含む。例示的符号化デバイス２００はまた、全てバス２２０を介してネットワークインターフェース２０４とともに相互接続される、処理ユニット２０８（例えば、汎用プロセッサを実装する）と、メモリ２１２と、随意のユーザ入力２１４（例えば、英数字キーボード、キーパッド、マウスもしくは他のポインティングデバイス、タッチスクリーン、および／またはマイクロホン）と、随意のディスプレイ２１６とを含む。メモリ２１２は、概して、ＲＡＭ、ＲＯＭ、およびディスクドライブ、フラッシュメモリ等の恒久的大量記憶デバイスを備えている。
【００３５】
例示的符号化デバイス２００のメモリ２１２は、オペレーティングシステム２２４、ならびに変換ブロック処理ルーチン９００（図９を参照して以下で説明される）を行うための命令を伴うソフトウェア実装フレーム間ビデオエンコーダ４００（図４を参照して以下で説明される）等のいくつかのソフトウェアサービスのためのプログラムコードを記憶する。メモリ２１２はまた、一例として、映画および／またはテレビエピソード等のオーディオ／視覚メディア作品の符号化されていないコピーを表し得る、ビデオデータファイル（図示せず）を記憶し得る。これらおよび他のソフトウェアコンポーネントは、フロッピー（登録商標）ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、ＵＳＢドライブ、メモリカード等の非一過性のコンピュータ読み取り可能な媒体２３２に関連付けられるドライブ機構（図示せず）を使用して、符号化デバイス２００のメモリ２１２の中にロードされ得る。
【００３６】
動作時、オペレーティングシステム２２４は、符号化デバイス２００のハードウェアおよび他のソフトウェアリソースを管理し、ソフトウェア実装フレーム間ビデオエンコーダ４００等のソフトウェアアプリケーション用の共通サービスを提供する。ネットワークインターフェース２０４を介したネットワーク通信、入力２１４を介してデータを受信すること、随意のディスプレイ２１６を介してデータを出力すること、およびソフトウェア実装フレーム間ビデオエンコーダ４００等の種々のソフトウェアアプリケーション用のメモリ２１２の配分等のハードウェア機能に関して、オペレーティングシステム２２４は、符号化デバイス上で実行するソフトウェアとハードウェアとの間の中間体としての役割りを果たす。
【００３７】
いくつかの実施形態では、符号化デバイス２００はさらに、高速シリアルバスまたは同等物等の未符号化ビデオソース１０８と通信するための特殊未符号化ビデオインターフェース２３６を備え得る。いくつかの実施形態では、符号化デバイス２００は、ネットワークインターフェース２０４を介して未符号化ビデオソース１０８と通信し得る。他の実施形態では、未符号化ビデオソース１０８は、メモリ２１２またはコンピュータ読み取り可能な媒体２３２の中に常駐し得る。
【００３８】
概して、従来の汎用コンピューティングデバイスに適合する、例示的符号化デバイス２００が説明されているが、符号化デバイス２００は、例示的ソフトウェア実装フレーム間ビデオエンコーダ４００、および変換ブロック処理ルーチン９００、例えば、ビデオ録画デバイス、ビデオコプロセッサおよび／またはアクセラレータ、パーソナルコンピュータ、ゲーム機、セットトップボックス、ハンドヘルドもしくはウェアラブルコンピューティングデバイス、スマートフォン、または任意の他の好適なデバイス等の種々の実施形態によるビデオを符号化するための命令を実行することが可能な多数のデバイスのうちのいずれかであり得る。
【００３９】
符号化デバイス２００は、一例として、オンデマンドメディアサービス（図示せず）の増進のために動作され得る。少なくとも１つの例示的実施形態では、オンデマンドメディアサービスは、作品および／またはサブスクリプション毎の基準で、ビデオコンテンツ等のメディア作品のデジタルコピーをユーザに提供する、オンラインオンデマンドメディアストアの増進のために符号化デバイス２００を動作させていてもよい。オンデマンドメディアサービスは、未符号化ビデオソース１０８からそのようなメディア作品のデジタルコピーを取得し得る。
【００４０】
（例示的復号デバイス）
図３を参照すると、例示的復号デバイス３００のいくつかのコンポーネントが図示されている。いくつかの実施形態では、復号デバイスは、図３に示されるものよりも多くのコンポーネントを含み得る。しかしながら、例証的実施形態を開示するために、これらの概して従来のコンポーネントの全てが示されることは必要ではない。図３に示されるように、例示的復号デバイス３００は、ネットワーク１０４等のネットワークに接続するためのネットワークインターフェース３０４を含む。例示的復号デバイス３００はまた、全てバス３２０を介してネットワークインターフェース３０４とともに相互接続される、処理ユニット３０８（例えば、汎用プロセッサを実装する）と、メモリ３１２と、随意のユーザ入力３１４（例えば、英数字キーボード、キーパッド、マウスもしくは他のポインティングデバイス、タッチスクリーン、および／またはマイクロホン）と、随意のディスプレイ３１６と、随意のスピーカ３１８とを含む。メモリ３１２は、概して、ＲＡＭ、ＲＯＭ、およびディスクドライブ、フラッシュメモリ等の恒久的大量記憶デバイスを備えている。
【００４１】
例示的復号デバイス３００のメモリ３１２は、オペレーティングシステム３２４、ならびに変換ブロック回復ルーチン（「Ｒｅｓｉｄｕａｌ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ  ａｎｄ  ｉｎｖｅｒｓｅ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ  ｉｎ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｓｙｓｔｅｍｓ  ａｎｄ  ｍｅｔｈｏｄｓ」と題され、２０１５年３月３１日に出願された、国際特許出願第ＰＣＴ／ＣＮ２０１５／０７５５９７号に説明される）を行うための命令を伴うソフトウェア実装フレーム間ビデオデコーダ５００（図５を参照して以下で説明される）等のいくつかのソフトウェアサービスのためのプログラムコードを記憶し得る。メモリ３１２はまた、一例として、映画および／またはテレビエピソード等のオーディオ／視覚メディア作品の符号化されていないコピーを表し得る、ビデオデータファイル（図示せず）を記憶し得る。これらおよび他のソフトウェアコンポーネントは、フロッピー（登録商標）ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカード等の非一過性のコンピュータ読み取り可能な媒体３３２に関連付けられるドライブ機構（図示せず）を使用して、復号デバイス３００のメモリ３１２の中にロードされ得る。
【００４２】
動作時、オペレーティングシステム３２４は、復号デバイス３００のハードウェアおよび他のソフトウェアリソースを管理し、ソフトウェア実装フレーム間ビデオデコーダ５００等のソフトウェアアプリケーション用の共通サービスを提供する。ネットワークインターフェース３０４を介したネットワーク通信、入力３１４を介してデータを受信すること、随意のディスプレイ３１６および／または随意のスピーカ３１８を介してデータを出力すること、ならびにメモリ３１２の配分等のハードウェア機能に関して、オペレーティングシステム３２４は、符号化デバイス上で実行するソフトウェアとハードウェアとの間の中間体としての役割りを果たす。
【００４３】
いくつかの実施形態では、復号デバイス３００はさらに、例えば、高速シリアルバスまたは同等物等の符号化ビデオソース１１２と通信するための随意の符号化ビデオインターフェース３３６を備え得る。いくつかの実施形態では、復号デバイス３００は、ネットワークインターフェース３０４を介して符号化ビデオソース１１２等の符号化ビデオソースと通信し得る。他の実施形態では、符号化ビデオソース１１２は、メモリ３１２またはコンピュータ読み取り可能な媒体３３２の中に常駐し得る。
【００４４】
概して、従来の汎用コンピューティングデバイスに適合する、例示的復号デバイス３００が説明されているが、復号デバイス３００は、例示的ソフトウェア実装フレーム間ビデオデコーダ５００、および変換ブロックサイズ選択サブルーチン１０００、例えば、ビデオ録画デバイス、ビデオコプロセッサおよび／またはアクセラレータ、パーソナルコンピュータ、ゲーム機、セットトップボックス、ハンドヘルドもしくはウェアラブルコンピューティングデバイス、スマートフォン、または任意の他の好適なデバイス等の種々の実施形態によるビデオを復号するための命令を実行することが可能な多数のデバイスのうちのいずれかであり得る。
【００４５】
復号デバイス３００は、一例として、オンデマンドメディアサービスと協働して動作され得る。少なくとも１つの例示的実施形態では、オンデマンドメディアサービスは、作品および／またはサブスクリプション毎の基準で、ビデオコンテンツ等のメディア作品のデジタルコピーを、復号デバイス３００を動作させるユーザに提供し得る。復号デバイスは、例えば、ネットワーク１０４を介した符号化デバイス２００を介して、未符号化ビデオソース１０８からそのようなメディア作品のデジタルコピーを取得し得る。
【００４６】
（ソフトウェア実装フレーム間ビデオエンコーダ）
図４は、少なくとも１つの実施形態による、残留変換技法を採用するソフトウェア実装フレーム間ビデオエンコーダ４００（以降では「エンコーダ４００」）の一般的機能ブロック図を示す。表示順のビデオシーケンスの１つ以上の符号化されていないビデオフレーム（ｖｉｄｆｒｍｓ）が、シーケンサ４０４に提供され得る。
【００４７】
シーケンサ４０４は、予測コード化画像タイプ（例えば、Ｉ、Ｐ、またはＢ）を各符号化されていないビデオフレームに割り当て、フレームのシーケンスまたはフレームのシーケンスからのフレームのグループを、運動予測目的のためにコード化順に並べ替えてもよい（例えば、Ｉタイプフレーム、その後にＰタイプフレームが続き、その後にＢタイプフレームが続く）。順序付けられた符号化されていないビデオフレーム（ｓｅｑｆｒｍｓ）が、次いで、コード化順でブロックインデクサ４０８に入力され得る。
【００４８】
順序付けられた符号化されていないビデオフレーム（ｓｅｑｆｒｍｓ）毎に、ブロックインデクサ４０８は、現在のフレームの最大コード化ブロック（「ＬＣＢ」）サイズ（例えば、６４×６４ピクセル）を決定し、符号化されていないフレームをコード化ブロック（ｂｌｃｋｓ）のアレイに分割し得る。所与のフレーム内の個々のコード化ブロックは、例えば、４×４ピクセルから最大で現在のフレームのＬＣＢサイズまで、サイズが変動し得る。
【００４９】
各コード化ブロックは、次いで、一度に１つずつ差分器４１２に入力され得、前もって符号化されたコード化ブロック（ＣＢ）から生成される、対応する予測信号ブロック（ｐｒｅｄ）と差分され得る。予測ブロック（ｐｒｅｄ）を生成するために、コード化ブロック（ｂｌｃｋｓ）も、運動推定器４１６に提供されるものである。差分器４１２において差分した後、結果として生じる残留ブロック（ｒｅｓ）は、変換器４２０（以下で議論される）によって周波数ドメイン表現に順方向変換され得、変換係数のブロック（ｔｃｏｆ）をもたらす。変換係数のブロック（ｔｃｏｆ）は、次いで、量子化器４２４に送信され得、次いで、エントロピーコーダ４２８およびローカル復号ループ４３０の両方に送信され得る、量子化係数のブロック（ｑｃｆ）をもたらす。
【００５０】
ローカル復号ループ４３０の開始時に、逆量子化器４３２は、変換係数のブロックを逆量子化し（ｔｃｏｆ’）、それらを逆変換器４３６にパスして逆量子化残留ブロック（ｒｅｓ’）を生成し得る。加算器４４０において、運動補償予測器４４２またはイントラ予測器４４４からの予測ブロック（ｐｒｅｄ）が、ローカルで復号されたブロック（ｒｅｃ）を生成するように、逆量子化残留ブロック（ｒｅｓ’）に加算され得る。ローカルで復号されたブロック（ｒｅｃ）は、次いで、ブロックノイズを低減させ、運動推定器４１６および運動補償予測器４４２用の参照フレームとして使用され得る、回復されたフレーム（ｒｅｃｄ）を組み立てる、フレームアセンブラおよび非ブロック化フィルタプロセッサ４８８に送信され得る。加算器４４０の後、ｒｅｃは、イントラ予測器を生成するために参照ピクセルとして使用され得る。イントラ予測器は、予測ブロックがその隣接ブロックと強い前後関係を有するときに有用である。
【００５１】
エントロピーコーダ４２８は、量子化変換係数（ｑｃｆ）、差分運動ベクトル（ｄｍｖ）、および他のデータを符号化し、符号化されたビデオビットストリーム４４８を生成する。符号化されていないビデオシーケンスのフレーム毎に、符号化されたビデオビットストリーム４４８は、符号化された画像データ（例えば、符号化された量子化変換係数（ｑｃｆ）および差分運動ベクトル（ｄｍｖ））と、符号化されたフレームヘッダ（例えば、現在のフレームのＬＣＢサイズ等の構文情報）とを含み得る。
【００５２】
（順方向整数変換プロシージャ）
変換器４２０の機能性を参照すると、変換器は、コード化ブロックの輝度および彩度値毎に残留値のブロックを受信し、残留値のブロックを１つ以上の輝度および彩度変換ブロックに分割する。
【００５３】
少なくとも１つの実施形態では、コード化ブロックは、現在のコード化ブロックサイズ、ならびにコード化ブロックのための運動補償もしくはイントラ予測に使用される１つ以上の予測ブロック（ＰＢ）のサイズに従って定寸される、変換ブロックに分割される。例えば、変換ブロック（ＴＢ）サイズは、図１０に示される組み合わせに従って割り当てられ得る。変換器４２０はまた、現在のフレームのための画像ヘッダ内の最大変換ブロックサイズフラグを設定し得る。
【００５４】
コード化ブロックが変換ブロックに分割された後、変換ブロック内の残留値は、例えば、順方向ＤＣＴ変換動作を介して、空間ドメインから周波数ドメインに変換される。少なくとも１つの実施形態では、コード化効率を増加させるために、変換ブロックの残留値の整数均等物が取得され、順方向整数ＤＣＴ変換動作が行われ得る。コード化効率をさらに増加させるために、ビデオコード化プロセスで単一命令複数データ（ＳＩＭＤ）命令アーキテクチャを利用することが有利であり得る。しかしながら、ＳＩＭＤ命令アーキテクチャの殆どの一般的実装は、１６ビットのビット幅を要求する。したがって、少なくとも１つの実施形態では、ビットシフト動作が、残留値を確実にするように、いくつかの順方向変換動作後に残留値に（およびデコーダ側で、いくつかの逆変換動作後に変換係数に）行われてもよく、変換係数は、１６ビット整数によって表され得る。
【００５５】
（ソフトウェア実装フレーム間デコーダ）
図５は、少なくとも１つの実施形態による、復号デバイス３００等の復号デバイスとともに使用するために好適である、対応するソフトウェア実装フレーム間ビデオデコーダ５００（以降では「デコーダ５００」）の逆残留変換技法の一般的機能ブロック図を示す。デコーダ５００は、エンコーダ４００におけるローカルデコーダループ４３０と同様に稼働し得る。
【００５６】
具体的には、復号される符号化されたビデオビットストリーム５０４が、量子化係数のブロック（ｑｃｆ）、差分運動ベクトル（ｄｍｖ）、付随するメッセージデータパケット（ｍｓｇ−ｄａｔａ）、および他のデータを復号し得る、エントロピーデコーダ５０８に提供され得る。量子化係数ブロック（ｑｃｆ）は、次いで、逆量子化器５１２によって逆量子化され得、逆量子化係数（ｃｆ’）をもたらす。逆量子化係数（ｃｆ’）は、次いで、逆変換器５１６（以下で説明される）によって周波数ドメインから逆変換され得、復号された残留ブロック（ｒｅｓ’）をもたらす。予測モード（ｐｒｅｄＭｏｄｅ）によると、加算器５２０は、非ブロック化フィルタリングプロセスの前に隣接ブロックを使用することによってイントラ予測モード（ｉｎｔｒａＭｏｄｅ）に従って導出されるイントラ予測器５３４であり得る、または対応する運動ベクトル（ｍｖ）を使用することによって取得される運動補償予測器であり得る、予測器（ｐｒｅｄ）を加算し得る。結果として生じる復号されたビデオ（ｄｖ）は、フレームアセンブラおよび非ブロック化フィルタリングプロセッサ５８８の中で非ブロック化フィルタ処理され得る。
フレームアセンブラおよび非ブロック化フィルタリングプロセッサ５８８の出力におけるブロック（ｒｅｃｄ）は、デコーダ５００から出力され得、また、後続のコード化ブロックを復号するために運動補償予測器５３０用の参照フレームとして使用され得る、ビデオシーケンスの再構築されたフレームを形成する。
【００５７】
（逆整数変換プロシージャ）
逆変換器５１６の機能性を参照すると、逆変換器は、逆量子化器５１２から逆量子化１６ビット整数変換係数のブロックを取得する。逆変換器５１６は、上記で説明される、変換器４２０によって行われる順方向整数ＤＣＴ変換動作を逆転させ、残留値を回復するために、逆量子化器５１２から取得される変換係数に逆整数ＤＣＴ変換動作を行う。そのような実装に関するさらなる情報は、２０１５年３月３１日に出願された、国際特許出願第ＰＣＴ／ＣＮ２０１５／０７５５９７号（「Ｒｅｓｉｄｕａｌ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ  ａｎｄ  ｉｎｖｅｒｓｅ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ  ｉｎ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｓｙｓｔｅｍｓ  ａｎｄ  ｍｅｔｈｏｄｓ」）で見出され得る。
【００５８】
（水平に隣接するブロック）
図６は、隣接サブブロック／ブロック６３０のいくつかのピクセル６３１、６３２、６３３に隣接する、現在のサブブロック／ブロック６４０のいくつかのピクセル６４１、６４２、６４３を含む領域６００（例えば、画像またはフレーム）を図示し、ブロック６３０、６４０は、随意に、同一のサイズ（例えば、両方とも８×８または両方とも１６×１６）である。それぞれの変形では、そのような現在および隣接ブロックは、４×４またはより大きいコード化ブロック、予測ブロック、もしくは変換ブロック（例えば、図６に関して以下で説明される）に対応し得る。ブロック６３０、６４０は、（随意に）それらのそれぞれの上部に沿った水平境界６０１およびそれらの間の垂直境界６０２によって両方とも境界される、連続変換ブロックであり得る。現在のブロック６４０はまた、示されるように、上記の隣接ブロック６５０に隣接する。ブロック６４０の１つ以上の境界６０１、６０２を横断して観察可能なブロックノイズがあるアーチファクト（例えば、一見、量子化または画像圧縮の他の側面に起因した、はっきりした遷移）が、本明細書に説明されるような非ブロック化フィルタリングを用いて軽減される。
【００５９】
（垂直に隣接するブロック）
図７は、随意に、同一のサイズ（例えば、８×８または１６×１６）の隣接ブロック７６０のピクセルに隣接する、現在のブロック７７０のいくつかのピクセル７７１、７７２、７７３、７７４、７７５を含む（例えば、画像またはフレームの）領域７００を図示する。そのような現在および隣接ブロックは、例えば、図６で参照が行われる、コード化ブロック、予測ブロック、または変換ブロックに対応し得る。両方のブロック７６０、７７０は、示されるように、それらの間の水平境界７０１およびそれらのそれぞれの左側に沿った垂直境界７０２によって境界される。いくつかの変形では、ブロック７７０は、ブロック６４０のインスタンスであり得、故に、別の着目画像領域７８０（例えば、領域７００のスライスまたは隣接ブロック６３０）に隣接し得る。代替として、または加えて、ブロック７７０は、示されるように、４ピクセル×４ピクセルのブロックサイズ７７９を有する、サブブロックを含み得る。
【００６０】
（コーナブロック）
図８は、現在のブロック８２２が、示されるように、一対の線形境界８０１、８０２によって、垂直に隣接する隣接ブロック８１２、水平に隣接する隣接ブロック８２１、および対角線上に隣接するブロック８１１から分割される、（例えば、画像またはフレームの）領域８００を図示する。４つ全てのそのようなブロック８１１、８１２、８２１、８２２はまた、本明細書に説明されるように共通する他の属性を有する（例えば、全てコード化または変換ブロックである）。また、現在のブロック８２２は、いくつかの変形では、ブロック６４０もしくはブロック７７０のうちの１つ以上のものをインスタンス化し得る。
【００６１】
（変換ブロック処理ルーチン）
図９は、本明細書に説明されるようなエンコーダ４００またはデコーダ５００のインスタンス等の少なくとも１つの実施形態とともに使用するために好適な変換ブロック処理ルーチン９００を図示する。
【００６２】
実行ブロック９０４では、変換ブロック処理ルーチン９００は、符号化されている現在のフレームのための整数残留値のコード化ブロックを取得する。変換ブロック処理ルーチン９００は、次いで、現在のコード化ブロックのサイズと、運動推定で使用される、対応する予測ブロックのサイズとを、現在のコード化ブロックサイズおよび予測ブロックサイズの現在の組み合わせのための適切な彩度ならびに輝度変換ブロックサイズを返す、変換ブロックサイズ選択サブルーチン１０００（図１０を参照して以下で説明される）に提供する。
【００６３】
実行ブロック９０８では、変換ブロック処理ルーチン９００は、次いで、上記の変換ブロックサイズ選択サブルーチン１０００によって返される彩度および輝度変換ブロックサイズに従って、現在のコード化ブロックを、１６ビット整数残留値の１つ以上の変換ブロックに分離する。
【００６４】
開始ループブロック９１２では、順に、現在のコード化ブロックの各変換ブロックが処理される。
【００６５】
決定ブロック９１６では、現在の変換ブロックの残留値がそれぞれ、ゼロ値を有する場合には、実行ブロック９２０で、変換ブロック処理ルーチン９００が、現在の変換ブロックの変換ブロックヘッダの中で対応する変換ブロックパターンフラグを設定する。
【００６６】
別様に、決定ブロック９１６では、現在の変換ブロックの残留値のうちの１つ以上のものがゼロではない値を有する場合には、変換ブロック処理ルーチン９００は、１６ビット整数変換係数の対応するブロックを返す、順方向整数変換サブルーチン１１００（図１１を参照して以下で説明される）を呼び出す。
【００６７】
終了ループブロック９２４では、変換ブロック処理ルーチン９００は、（該当する場合）現在のコード化ブロックの次の変換ブロックを処理するように、開始ループブロック９１２に戻って反復し、次いで、変換ブロック処理ルーチン９００は、終了ブロック９９９において現在のコード化ブロックについて終了する。
【００６８】
（変換ブロックサイズ選択サブルーチン）
図１０は、変換ブロック処理ルーチン９００等の少なくとも１つの実施形態とともに使用するために好適な変換ブロックサイズ選択サブルーチン１０００を図示する。
【００６９】
実行ブロック１００４および１００８では、変換ブロックサイズ選択サブルーチン１０００は、コード化ブロックサイズと、現在のコード化ブロックの運動推定プロセスに使用される予測ブロックサイズとを取得する。
【００７０】
決定ブロック１０１２では、現在のコード化ブロックのコード化ブロックサイズが８×８ピクセルである場合には、変換ブロックサイズ選択サブルーチン１０００は、決定ブロック１０１６に進む。
【００７１】
決定ブロック１０１６では、現在のコード化ブロックの予測ブロックサイズが８×８ピクセルである場合には、実行ブロック１０２０で、変換ブロックサイズ選択サブルーチン１０００は、現在のコード化ブロックの輝度変換ブロックサイズを８×８輝度変換係数に設定し、実行ブロック１０２４で、変換ブロックサイズ決定サブルーチンは、現在のコード化ブロックの彩度変換ブロックサイズを４×４彩度変換係数に設定する。変換ブロックサイズ決定サブルーチンは、次いで、リターンブロック１０９９において、現在のコード化ブロックの輝度変換ブロックサイズおよび彩度変換ブロックサイズを返す。
【００７２】
決定ブロック１０１６を再び参照すると、現在のコード化ブロックの予測ブロックサイズが８×８ピクセルではない場合には、実行ブロック１０２８で、変換ブロックサイズ選択サブルーチン１０００は、現在のコード化ブロックの輝度変換ブロックサイズを４×４輝度変換係数に設定する。変換ブロックサイズ選択サブルーチン１０００は、次いで、実行ブロック１０２４に進む。上記で説明されるように、実行ブロック１０２４では、変換ブロックサイズ決定サブルーチンは、現在のコード化ブロックの彩度変換ブロックサイズを４×４彩度変換係数に設定する。変換ブロックサイズ選択サブルーチン１０００は、次いで、リターンブロック１０９９において、現在のコード化ブロックの輝度変換ブロックサイズおよび彩度変換ブロックサイズを返す。
【００７３】
決定ブロック１０１２を再び参照すると、現在のコード化ブロックのコード化ブロックサイズが８×８ピクセルではない場合には、変換ブロックサイズ選択サブルーチン１０００は、決定ブロック１０３６に進む。
【００７４】
決定ブロック１０３６では、現在のコード化ブロックのコード化ブロックサイズが１６×１６ピクセルである場合には、変換ブロックサイズ選択サブルーチン１０００は、決定ブロック１０４０に進む。
【００７５】
決定ブロック１０４０では、現在のコード化ブロックの予測ブロックサイズが１６×１６ピクセルである場合には、実行ブロック１０４４で、変換ブロックサイズ選択サブルーチン１０００は、現在のコード化ブロックの輝度変換ブロックサイズを１６×１６輝度変換係数に設定し、実行ブロック１０４８で、変換ブロックサイズ決定サブルーチンは、次いで、現在のコード化ブロックの彩度変換ブロックサイズを８×８彩度変換係数に設定する。変換ブロックサイズ決定サブルーチンは、次いで、リターンブロック１０９９において、現在のコード化ブロックの輝度変換ブロックサイズおよび彩度変換ブロックサイズを返す。
【００７６】
決定ブロック１０４０を再び参照すると、現在のコード化ブロックの予測ブロックサイズが１６×１６ピクセルではない場合には、変換ブロックサイズ選択サブルーチン１０００は、実行ブロック１０２８に進む。上記で説明されるように、実行ブロック１０２８では、変換ブロックサイズ選択サブルーチン１０００は、現在のコード化ブロックの輝度変換ブロックサイズを４×４輝度変換係数に設定する。変換ブロックサイズ選択サブルーチン１０００は、次いで、実行ブロック１０２４に進む。上記で説明されるように、実行ブロック１０２４では、変換ブロックサイズ決定サブルーチンは、現在のコード化ブロックの彩度変換ブロックサイズを４×４彩度変換係数に設定する。変換ブロックサイズ決定サブルーチンは、次いで、リターンブロック１０９９において、現在のコード化ブロックの輝度変換ブロックサイズおよび彩度変換ブロックサイズを返す。
【００７７】
決定ブロック１０３６を再び参照すると、現在のコード化ブロックのコード化ブロックサイズが１６×１６ピクセルではない場合には、変換ブロックサイズ選択サブルーチン１０００は、実行ブロック１０４４に進む。上記で説明されるように、実行ブロック１０４４では、変換ブロックサイズ選択サブルーチン１０００は、現在のコード化ブロックの輝度変換ブロックサイズを１６×１６輝度変換係数に設定し、実行ブロック１０４８では、変換ブロックサイズ決定サブルーチンは、次いで、現在のコード化ブロックの彩度変換ブロックサイズを８×８彩度変換係数に設定する。変換ブロックサイズ決定サブルーチンは、次いで、リターンブロック１０９９において、現在のコード化ブロックの輝度変換ブロックサイズおよび彩度変換ブロックサイズを返す。
【００７８】
（順方向整数変換サブルーチン）
図１１は、変換ブロック処理ルーチン９００等の少なくとも１つの実施形態とともに使用するために好適な順方向整数変換サブルーチン１１００を図示する。
【００７９】
実行ブロック１１０４では、順方向整数変換サブルーチンは、例えば、変換ブロック処理ルーチン９００から変換ブロックを取得する。
【００８０】
決定ブロック１１０８では、現在の変換ブロックが整数変換係数の４×４ブロックである場合には、実行ブロック１１１２で、順方向整数変換サブルーチン１１００は、４×４順方向変換、例えば、上記で説明される４×４順方向整数変換動作を行う。順方向整数変換サブルーチン１１００は、次いで、リターンブロック１０９９において、４×４整数変換を介して取得される変換係数を返す。
【００８１】
決定ブロック１１０８を再び参照すると、現在の変換ブロックが整数変換係数の４×４ブロックではない、例えば、整数変換係数の８×８、１６×１６、３２×３２、または６４×６４ブロックである場合には、順方向整数変換サブルーチン１１００は、決定ブロック１１１６に進む。
【００８２】
決定ブロック１１１６では、現在の変換ブロックが整数変換係数の８×８ブロックである場合には、実行ブロック１１２０で、順方向整数変換サブルーチン１１００は、８×８順方向変換、例えば、上記で説明される８×８順方向整数変換動作を行う。実行ブロック１１２４では、順方向整数変換サブルーチン１１００は、実行ブロック１１２０において８×８整数変換を介して取得される変換係数を操作し、変換係数が１６ビット以下によって表され得ることを確実にするために、変換係数を右に２回ビットシフトさせる。順方向整数変換サブルーチン１１００は、リターンブロック１１９９において、ビットシフトされた変換係数を返す。
【００８３】
決定ブロック１１１６を再び参照すると、現在の変換ブロックが整数変換係数の８×８ブロックではない場合（例えば、整数変換係数の１６×１６、３２×３２、または６４×６４ブロックである場合）には、順方向整数変換サブルーチン１１００は、決定ブロック１１２６に進む。
【００８４】
決定ブロック１１２６では、現在の変換ブロックが整数変換係数の１６×１６ブロックである場合には、実行ブロック１１２８で、順方向整数変換サブルーチン１１００は、１６×１６順方向変換、例えば、上記で説明される１６×１６順方向整数変換動作を行う。順方向整数変換サブルーチン１１００は、次いで、実行ブロック１１２４に進む。上記で説明されるように、実行ブロック１１２４では、順方向整数変換サブルーチン１１００は、実行ブロック１１２０において８×８整数変換を介して取得される変換係数を操作し、変換係数が１６ビット以下によって表され得ることを確実にするために、変換係数を右に２回ビットシフトさせる。順方向整数変換サブルーチン１１００は、リターンブロック１１９９において、ビットシフトされた変換係数を返す。
【００８５】
決定ブロック１１２６を再び参照すると、現在の変換ブロックが整数変換係数の１６×１６ブロックより大きい、例えば、整数変換係数の３２×３２または６４×６４ブロックである場合には、実行ブロック１１３２で、順方向整数変換サブルーチン１１００は、大規模変換を行う。順方向整数変換サブルーチン１１００は、リターンブロック１１９９において、大規模整数変換プロシージャの結果を返す。
【００８６】
（画像処理ルーチン）
図１２は、本明細書に説明されるようなエンコーダ４００またはデコーダ５００のインスタンス等の少なくとも１つの実施形態とともに使用するために好適な画像処理ルーチン１２００を図示する。当業者によって認識されるであろうように、符号化プロセスにおける全てのイベントが図１２に図示されているわけではない。むしろ、明確にするために、いくつかの必須ではない事柄（例えば、当技術分野で周知である、または提示される実施形態に直接関連しないコンテンツ）は、省略されている。
【００８７】
開始ループブロック１２１４では、順に、一連（例えば、データストリーム）の中の各画像が処理される。
【００８８】
実行ブロック１２１６では、変換ブロック処理ルーチン１２００は、その効果が以下で説明される、ブール「ｄｅｂｌｏｃｋ＿ｅｎａｂｌｅｄ＿ｐｉｃ」フラグ値およびブール「ｄｅｂｌｏｃｋ＿ｅｎａｂｌｅｄ＿ｌｕｍａ＿ｏｎｌｙ＿ｐｉｃ」フラグ値等のヘッダ（例えば、画像ヘッダ）のコンテンツを抽出する。
【００８９】
決定ブロック１２２２では、「ｄｅｂｌｏｃｋ＿ｅｎａｂｌｅｄ＿ｐｉｃ」フラグが設定される場合には、画像処理ルーチン１２００は、対応する非ブロック化フィルタブロックサイズを返す、ＤＢＦブロックサイズ決定サブルーチン１３００（図１３を参照して以下で説明される）を呼び出す。次いで、画像処理ルーチン１２００は、決定ブロック１２２４に進む。
【００９０】
決定ブロック１２２４では、「ｄｅｂｌｏｃｋ＿ｅｎａｂｌｅｄ＿ｌｕｍａ＿ｏｎｌｙ＿ｐｉｃ」フラグが設定される場合には、画像処理ルーチン１２００は、画像内の各好適なブロックの１つまたは２つの縁に沿って非ブロック化フィルタを輝度成分に適用する、輝度のみのＤＢＦ適用サブルーチン１４００（図１４を参照して以下で説明される）を呼び出す。例えば、領域６００が現在の画像の輝度成分の一部である状況では、これは、境界６０２を横断する遷移があまり顕著ではないように、ピクセル６４１−６４３に影響を及ぼす、ぶれ動作をトリガし得る。
【００９１】
しかしながら、「ｄｅｂｌｏｃｋ＿ｅｎａｂｌｅｄ＿ｌｕｍａ＿ｏｎｌｙ＿ｐｉｃ」フラグが決定ブロック１２２４において設定されない場合には、画像処理ルーチン１２００は、画像内の各好適なブロックの１つまたは２つの縁に沿って非ブロック化フィルタを輝度および彩度成分に適用する、ＤＢＦ適用サブルーチン１５００（図１５を参照して以下で説明される）を呼び出す。例えば、領域７００が現在の画像の一部である状況では、これは、境界７０１を横断する遷移があまり顕著ではないように、ピクセル７７１−７７５の輝度および彩度成分に影響を及ぼす、ぶれ動作をトリガし得る。代替として、または加えて、ぶれ動作は、以下で説明されるようにある事例では、境界７０１を横断する輝度および彩度遷移を穏やかにし得る。
【００９２】
終了ループブロック１２３４では、画像処理ルーチン１２００は、開始ループブロック１２１４に戻って反復し、シーケンスの中の（該当する場合）次の画像を処理し、そうでなければ、終了ブロック１２９９において停止する。
【００９３】
（ＤＢＦブロックサイズ決定サブルーチン）
図１３は、画像処理ルーチン１２００によって起動されるとき、または別様に本明細書に説明されるようなエンコーダ４００もしくはデコーダ５００のインスタンスにおいて等、少なくとも１つの実施形態とともに使用するために好適なＤＢＦブロックサイズ決定サブルーチン１３００を図示する。
【００９４】
実行ブロック１３０２および１３０４では、ＤＢＦブロックサイズ決定サブルーチン１３００は、（例えば、８×８または１６×１６の）「標準」ブロックサイズならびに変換ブロックサイズを取得する。
【００９５】
決定ブロック１３０８では、変換ブロックサイズが「標準」ブロックサイズよりも小さい場合には、ＤＢＦブロックサイズ決定サブルーチン１３００は、実行ブロック１３１４において、「標準」ブロックサイズに合致するように非ブロック化フィルタブロックサイズを設定する（例えば、「標準」ブロックサイズが８×８であり、変換ブロックサイズが４×４である場合、フィルタブロックサイズを８×８に設定する）。別様に、ＤＢＦブロックサイズ決定サブルーチン１３００は、実行ブロック１３１６において、変換ブロックサイズに合致するように非ブロック化フィルタブロックサイズを設定する（例えば、それが変換ブロックサイズである場合、および「標準」ブロックサイズが１６×１６またはそれよりも小さい場合、フィルタブロックサイズを１６×１６に設定する）。いずれの場合も、ＤＢＦブロックサイズ決定サブルーチン１３００は、次いで、リターンブロック１３９９において、ＤＢＦフィルタブロックサイズを返す。これは、例えば、容認不可能な処理負荷（例えば、小さすぎる変換ブロックサイズを非ブロック化に使用させる）が別様に生じるであろう（例えば、最終的に、適度かつ不必要により良好な画像を提供する）、限界的に実行可能な実装状況（例えば、汎用プロセッサによって実行されるソフトウェアで実装されるＤＢＦ）において起こり得る。そのような非ブロック化フィルタリングは、状況が許容するときに、非ブロック化フィルタリングのレベルがより深い、すなわち、より徹底的である限り、「層状」と呼ばれてもよい。
【００９６】
いくつかの変形では、非ブロック化フィルタリングプロセスは、１つのフィルタブロックの上部および左境界のみに適用される。
【００９７】
（輝度のみのＤＢＦ適用サブルーチン）
図１４は、本明細書に説明されるようなエンコーダ４００またはデコーダ５００のインスタンス等の少なくとも１つの実施形態とともに使用するために好適な輝度のみのＤＢＦ適用サブルーチン１４００を図示する。
【００９８】
開始ループブロック１４０８では、順に、画像内の各ブロックの輝度成分またはモノクロ画像の各ブロックのいずれかが処理される。
【００９９】
決定ブロック１４１２では、現在のブロック（例えば、上記で説明される１つ以上のブロック６４０、７７０、８２２のインスタンス）がイントラコード化される場合には、輝度のみのＤＢＦ適用サブルーチン１４００は、実行ブロック１４１４において、（例えば、２の境界強度を選択することによって）公称よりも強い境界を示す。別様に、輝度のみのＤＢＦ適用サブルーチン１４００は、決定ブロック１４２２に進む。
【０１００】
決定ブロック１４２２では、現在のブロックがゼロではない量子化変換係数を有する場合には、輝度のみのＤＢＦ適用サブルーチン１４００は、実行ブロック１４２８において、（例えば、１の境界強度またはある他の中間値を選択することによって）公称強度境界を示す。別様に、輝度のみのＤＢＦ適用サブルーチン１４００は、公称またはより弱い境界強度を示す、コンテキスト特定の境界強度決定サブルーチン１６００（図１６を参照して以下で説明される）を呼び出す。
【０１０１】
いずれの場合も、輝度のみのＤＢＦ適用サブルーチン１４００は、次いで、実行ブロック１４３４において、非ブロック化フィルタリングを適用する際に、決定された境界強度を使用する。
【０１０２】
終了ループブロック１４３８では、輝度のみのＤＢＦ適用サブルーチン１４００は、開始ループブロック１４０８に戻って反復し、該当する場合、現在の画像内の次のブロックを処理し、そうでなければ、終了ブロック１４９９において停止する。
【０１０３】
（ＤＢＦ適用サブルーチン）
図１５は、本明細書に説明されるようなエンコーダ４００またはデコーダ５００のインスタンス等の少なくとも１つの実施形態とともに使用するために好適なＤＢＦ適用サブルーチン１５００を図示する。
【０１０４】
開始ループブロック１５０８では、順に、画像内の各ブロックが処理される。
【０１０５】
決定ブロック１５１２では、現在のブロック（例えば、上記で説明される１つ以上のブロック６４０、８２２のインスタンス）がイントラコード化される場合には、ＤＢＦ適用サブルーチン１５００は、実行ブロック１５１４において、（例えば、２の境界強度を選択することによって）公称よりも強い境界を示す。別様に、ＤＢＦ適用サブルーチン１５００は、決定ブロック１５２２に進む。
【０１０６】
決定ブロック１５２２では、現在のブロックがゼロではない量子化変換係数を有する場合には、ＤＢＦ適用サブルーチン１５００は、実行ブロック１５２８において、（例えば、１の境界強度を選択することによって）公称強度境界を示す。別様に、ＤＢＦ適用サブルーチン１５００は、公称またはより弱い境界強度を示す、コンテキスト特定の境界強度決定サブルーチン１６００（図１６を参照して以下で説明される）を呼び出す。
【０１０７】
いずれの場合も、ＤＢＦ適用サブルーチン１５００は、次いで、実行ブロック１５３４において、非ブロック化フィルタリングを適用する際に、決定された境界強度を使用する。
【０１０８】
終了ループブロック１５３８では、ＤＢＦ適用サブルーチン１５００は、開始ループブロック１５０８に戻って反復し、該当する場合、現在の画像内の次のブロックを処理し、そうでなければ、終了ブロック１５９９において停止する。
【０１０９】
（境界強度決定サブルーチン）
図１６は、本明細書に説明されるようなエンコーダ４００またはデコーダ５００のインスタンス等の少なくとも１つの実施形態とともに使用するために好適な境界強度決定サブルーチン１６００を図示する。
【０１１０】
実行ブロック１６０６では、境界強度決定サブルーチン１６００は、現在の領域の１つ以上の属性（例えば、上記で説明される１つ以上のサブブロック／ブロック６４０、７７０、８２２のインスタンスの予測指数、参照指数、もしくは運動ベクトルのうちの１つ以上のもの）を決定する。
【０１１１】
実行ブロック１６０８では、境界強度決定サブルーチン１６００は、（例えば、上記で説明される１つ以上の隣接サブブロック／ブロック６３０、７６０、８１２、８２１のインスタンスから）隣接領域の同一の属性を決定する。
【０１１２】
決定ブロック１６１４では、境界強度決定サブルーチン１６００は、（例えば、「順方向予測」を表すＰＩが現在および隣接ブロックの両方に適用されること、または「後方予測」および「双方向予測」をシグナリングするそれぞれのＰＩが同一ではないことを決定することによって等）現在および隣接領域の予測指数（ＰＩ）が同一であるかどうかを決定する。２つの領域（例えば、ブロック）のＰＩが同一ではない場合、境界強度決定サブルーチン１６００は、実行ブロック１６２８において、公称または中間境界強度（例えば、１の整数値を有する）を選択する。
【０１１３】
別様に、境界強度決定サブルーチン１６００は、現在および隣接領域の参照指数（ＲＩ）が比較される、決定ブロック１６１６に進む。例えば、現在の領域のＲＩが「ＬＩＳＴ０」であり、隣接領域のＲＩが「ＬＩＳＴ１」である（例えば、異なる画像の参照を表す）場合、境界強度決定サブルーチン１６００は、実行ブロック１６２８において公称境界強度を選択する。
【０１１４】
別様に、境界強度決定サブルーチン１６００は、（例えば、隣接および現在のブロック７６０、７７０の）運動ベクトルの間の差異の規模が計算される、実行ブロック１６１８に進む。そのような差異は、例えば、ユークリッド距離またはマンハッタン距離として計算され得る。境界強度決定サブルーチン１６００は、実行ブロック１６３２において、本差異の規模を閾値（例えば、１ピクセル距離）と比較する。規模が閾値を超える場合、境界強度決定サブルーチン１６００は、実行ブロック１６２８において、公称境界強度を選択する。そうでなければ、境界強度決定サブルーチン１６００は、実行ブロック１６３６において、より低い境界強度（例えば、ゼロ）を選択する。いずれの場合も、境界強度決定サブルーチン１６００は、リターンブロック１６９９において、選択された境界強度を返す。
【０１１５】
図１７は、少なくとも１つの実施形態による、例示的ネットワーク化ビデオ実装１７００を図示する。ネットワーク１７０４は、ビデオ対応ウェアラブルデバイス１７１０、ハンドヘルドデバイス１７２０、特殊用途コンピューティングデバイス１７３０（例えば、いくつかの変形では、特定用途向け集積回路１７３１、１７３２、１７３３の１つ以上のインスタンスを有する）、ゲームデバイス１７４０、または汎用コンピュータ１７５０（例えば、上記で説明されるような１つ以上の符号化デバイス２００もしくは復号デバイス３００を実装する）の１つ以上のインスタンスとデータ通信し得る。
【０１１６】
ビデオ圧縮の第一人者であるＰｅｔｅｒ  Ｓｙｍｅｓは、「厳重に守られている商業秘密である人間の心理視覚系のモデルを伴う魔術」として、ビデオ最適化技術を説明している。効果的な特許法がない限り、少数の市場参加者が本分野で存続可能なままであろう。堅調な開示および公平な条件がない限り、将来の前進は、あまり必要ではなくなるであろう。実際、本明細書に開示される秘密のプロトコルおよび構造は、最先端の現在のコーデック設計の単なる表現以上のものである。以下で表される特定の組み合わせは、当業者によって偶然に組み立てられる設計選択肢の単なる発生よりもはるかに重要である。むしろ、それらは実際には、適用法によって提供されるように、これに関する発明者がその正当に独占的な使用の限定周期と引き換えに一般に開示している独特な飛躍的進歩である。
【０１１７】
以下の添付の請求項に関して、当業者は、その中の記載された動作が、概して、任意の順で行われ得ることを理解するであろう。また、種々の動作フローがある順序で提示されるが、種々の動作は、図示されるもの以外の順で行われ得る、または同時に行われる得ることを理解されたい。そのような代替的順序付けの実施例は、文脈が別様に指示しない限り、重複、交互、中断された、並べ替えられた、増分、予備、補足、同時、逆、または他の変異順序付けを含み得る。さらに、「〜に応答する」、「〜に関連する」のような用語、または他の過去形の形容詞は、概して、文脈が別様に指示しない限り、そのような変形を除外することを意図していない。
【０１１８】
具体的実施形態が本明細書に図示および説明されているが、代替および／または同等の実装が、本開示の範囲から逸脱することなく、示され、かつ説明される具体的実施形態に代用され得ることが、当業者によって理解されるであろう。本願は、本明細書で議論される実施形態の任意の適合または変形例を網羅することを意図している。
【図１】
2018530259.tif 000003
【図２】
2018530259.tif 000004
【図３】
2018530259.tif 000005
【図４】
2018530259.tif 000006
【図５】
2018530259.tif 000007
【図６】
2018530259.tif 000008
【図７】
2018530259.tif 000009
【図８】
2018530259.tif 000010
【図９】
2018530259.tif 000011
【図１０】
2018530259.tif 000012
【図１１】
2018530259.tif 000013
【図１２】
2018530259.tif 000014
【図１３】
2018530259.tif 000015
【図１４】
2018530259.tif 000016
【図１５】
2018530259.tif 000017
【図１６】
2018530259.tif 000018
【図１７】
2018530259.tif 000019
【国際調査報告】
2018530259.tif 000020
2018530259.tif 000021