(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6484898
(24)【登録日】2019年3月1日
(45)【発行日】2019年3月20日
(54)【発明の名称】デプスオフセット圧縮
(51)【国際特許分類】
G06T 15/00 20110101AFI20190311BHJP
【FI】
G06T15/00 501
【請求項の数】26
【全頁数】19
(21)【出願番号】特願2016-567931(P2016-567931)
(86)(22)【出願日】2015年6月25日
(65)【公表番号】特表2017-525003(P2017-525003A)
(43)【公表日】2017年8月31日
(86)【国際出願番号】US2015037592
(87)【国際公開番号】WO2016003755
(87)【国際公開日】20160107
【審査請求日】2016年12月14日
(31)【優先権主張番号】14/318,986
(32)【優先日】2014年6月30日
(33)【優先権主張国】US
【前置審査】
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】アケナイン−モラー、トーマス ジー.
(72)【発明者】
【氏名】アンダーソン、マグナス
【審査官】
村松 貴士
(56)【参考文献】
【文献】
米国特許出願公開第2013/0265305(US,A1)
【文献】
特開2012−191569(JP,A)
【文献】
米国特許出願公開第2003/0038803(US,A1)
【文献】
特表2015−510288(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/00 − 15/87
H04N 19/00 − 19/98
(57)【特許請求の範囲】
【請求項1】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZmin、Zmax、複数の残差、およびZmin/Zmaxインデックス選択マスクを決定する段階と、
ある複数のビットの組み合わせを用いる第1のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、前記第1のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットの組み合わせを用いる第2のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、を用いることで圧縮を改善する段階と
を備える、方法。
【請求項2】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZmin、Zmax、複数の残差、およびZmin/Zmaxインデックス選択マスクを決定する段階と、
1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットの組み合わせを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する段階と、
ZminおよびZmaxの複数の範囲が重複することから生じる複数の冗長なビットの組み合わせを識別して、再利用する段階と
を備える、方法。
【請求項3】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZmin、Zmax、複数の残差、およびZmin/Zmaxインデックス選択マスクを決定する段階と、
1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットの組み合わせを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する段階と、
前記Zminおよび前記Zmaxのペアが冗長な組み合わせを構成するか、またはデプスオフセット圧縮に対する無効な基準値のペアであるか否かを判断する段階と、
そうである場合に、残りの回収された複数のビットと共に、異なるデプスオフセット圧縮スキームまたは異なる圧縮アルゴリズムを用いる段階と
を備える、方法。
【請求項4】
別の場合にインデックスマスクのために割り当てられた複数のビットを再利用して、1サンプル毎に1ビットを用いて複数の残差を拡張する段階を備える、請求項3に記載の方法。
【請求項5】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZmin、Zmax、複数の残差、およびZmin/Zmaxインデックス選択マスクを決定する段階と、
1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットの組み合わせを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する段階と、
ZminがZmaxよりも大きいか否かを判断する段階と、
そうである場合に、追加のビットに対するZminおよびZmaxをスワップして、ZminまたはZmaxの精度を改善する段階と
を備える、方法。
【請求項6】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZmin、Zmax、複数の残差、およびZmin/Zmaxインデックス選択マスクを決定する段階と、
1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットの組み合わせを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する段階と、
ZminがZmaxよりも大きい場合に、次のWxHビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示す段階であって、Wは、タイルの幅であり、Hは、タイルの高さである、段階と
を備える、方法。
【請求項7】
クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納する段階を備える、請求項6に記載の方法。
【請求項8】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZmin、Zmax、複数の残差、およびZmin/Zmaxインデックス選択マスクを決定する段階と、
1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットの組み合わせを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する段階と、
インデックスマスクが全て1または0であるか否かを検出する段階と、
そうである場合に、ZminまたはZmaxのうちの、1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットを、別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで、実際に用いられた基準値の精度を改善し、または前記複数の残差間で複数の追加のビットを再分散する段階と
を備える、方法。
【請求項9】
1タイル毎に2より多いデプス値を決定する段階を備える、請求項1〜8のいずれか1項に記載の方法。
【請求項10】
タイルを複数のサブタイルに分割する段階と、
1または複数の基準デプス値を前記複数のサブタイルの各々に割り当てる段階と
を備え、
実際の複数の前記デプス値に対する複数の残差は、前記1または複数の基準デプス値から算出されて格納される、請求項9に記載の方法。
【請求項11】
色データに同一の技術を用いる段階を備える、請求項1〜10のいずれか1項に記載の方法。
【請求項12】
実行されると、コンピュータに、
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定する手順と、
ある複数のビットを用いる第1のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられないZminおよびZmaxのうちの少なくとも1つに関して1デプス毎の複数の残差ビットを決定する手順と、
前記第1のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、前記第1のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットを用いる第2のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、を用いることで圧縮を改善する手順と
を実行させる、コンピュータプログラム。
【請求項13】
実行されると、コンピュータに、
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定する手順と、
1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかったZminおよびZmaxのうちの少なくとも1つに関して1デプス毎の複数の残差ビットを決定する手順と、
前記1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する手順と、
ZminおよびZmaxの複数の範囲が重複することから生じる複数の冗長なビットの組み合わせを識別して用いる手順と
を実行させる、コンピュータプログラム。
【請求項14】
実行されると、コンピュータに、
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定する手順と、
1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかったZminおよびZmaxのうちの少なくとも1つに関して1デプス毎の複数の残差ビットを決定する手順と、
前記1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する手順と、
ZminがZmaxに等しいか否かを判断する手順と、
そうである場合に、残りの複数のビットと共に、異なるデプスオフセット圧縮スキームまたは異なる圧縮アルゴリズムを用いる手順と
を実行させる、コンピュータプログラム。
【請求項15】
実行されると、コンピュータに、
別の場合にインデックスマスクのために割り当てられた複数のビットを再利用して、1サンプル毎に1ビットを用いて複数の残差を拡張する手順
を実行させる、請求項14に記載のコンピュータプログラム。
【請求項16】
実行されると、コンピュータに、
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定する手順と、
1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかったZminおよびZmaxのうちの少なくとも1つに関して1デプス毎の複数の残差ビットを決定する手順と、
前記1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する手順と、
ZminがZmaxよりも大きいか否かを判断する手順と、
そうである場合に、追加のビットに対するZminおよびZmaxをスワップして、ZminおよびZmaxの精度を改善する手順と
を実行させる、コンピュータプログラム。
【請求項17】
実行されると、コンピュータに、
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定する手順と、
1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかったZminおよびZmaxのうちの少なくとも1つに関して1デプス毎の複数の残差ビットを決定する手順と、
前記1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する手順と、
ZminがZmaxよりも大きい場合、次のWxHビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示す手順であって、Wは、タイルの幅であり、Hは、タイルの高さである、手順と
を実行させる、コンピュータプログラム。
【請求項18】
実行されると、コンピュータに、
クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納する手順
を実行させる、請求項17に記載のコンピュータプログラム。
【請求項19】
実行されると、コンピュータに、
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定する手順と、
1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかったZminおよびZmaxのうちの少なくとも1つに関して1デプス毎の複数の残差ビットを決定する手順と、
前記1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善する手順と、
インデックスマスクが全て1または0であるか否かを検出する手順と、
そうである場合に、ZminまたはZmaxのうちの、1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットを、別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで、実際に用いられた基準値の精度を改善し、または複数の残差間で複数の追加のビットを再分散する手順と
を実行させる、コンピュータプログラム。
【請求項20】
実行されると、コンピュータに、
1タイル毎に2より多いデプス値を決定する手順
を実行させる、請求項12〜19のいずれか1項に記載のコンピュータプログラム。
【請求項21】
実行されると、コンピュータに、
タイルを複数のサブタイルに分割する手順と、
複数のデプス値を前記複数のサブタイルに割り当てる手順と、
少なくとも1つのサブタイルのデプス値を前記タイルのデプス値として選択する手順と
を実行させる、請求項20に記載のコンピュータプログラム。
【請求項22】
実行されると、コンピュータに、
色データに同一の技術を用いる手順
を実行させる、請求項12〜21のいずれか1項に記載のコンピュータプログラム。
【請求項23】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定し、ある複数のビットを用いる第1のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられないZminおよびZmaxのうちの少なくとも1つに関して1デプス毎の複数の残差ビットを決定し、前記第1のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、前記第1のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられない複数のビットを用いる第2のデプスオフセット圧縮スキームまたは圧縮アルゴリズムと、を用いることで圧縮を改善するプロセッサと、
前記プロセッサに結合されたストレージと
を備える、装置。
【請求項24】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定し、1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかったZminおよびZmaxのうちの少なくとも1つに関して1デプス毎の複数の残差ビットを決定し、前記1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善し、ZminおよびZmaxの複数の範囲が重複することから生じる複数の冗長なビットの組み合わせを識別して用いるプロセッサと、
前記プロセッサに結合されたストレージと
を備える、装置。
【請求項25】
ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定し、1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかったZminおよびZmaxのうちの少なくとも1つに関して1デプス毎の複数の残差ビットを決定し、前記1つのデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いられなかった複数のビットを別のデプスオフセット圧縮スキームまたは圧縮アルゴリズムにおいて用いることで圧縮を改善し、ZminがZmaxに等しいか否かを判断し、そうである場合に、残りの複数のビットと共に、異なるデプスオフセット圧縮スキームまたは異なる圧縮アルゴリズムを用いるプロセッサと、
前記プロセッサに結合されたストレージと
を備える、装置。
【請求項26】
請求項12〜22のいずれか1項に記載のコンピュータプログラムを格納するコンピュータ可読記録媒体。
【発明の詳細な説明】
【背景技術】
【0001】
圧縮の方法は、グラフィックスハードウェアアーキテクチャにとりますます重要になってきている。圧縮の方法は、用いられる電力を低減し、性能を向上させ得るからである。デプスの圧縮は、様々な態様で行われ得る。
【0002】
デプスオフセット(DO)圧縮は、デプスを圧縮する極めて簡易な方法である。タイルは、デプスの矩形の領域であり、一度に圧縮される。ZminおよびZmaxとして示される最小および最大のデプスがタイルにおいて見られる。各デプス値に対して1ビットが格納され、これは、ZminまたはZmaxに対してデプスがエンコードされることを示す。次に、各デプスに対して、ZminまたはZmaxに対する残差が格納される。
【0003】
全ての圧縮された残差が十分に小さく、従ってタイルに対する所望のビットバジェット内に適合する場合、圧縮は成功したことになる。そうでなければ、データは、非圧縮形式で格納され、またはいくつかの他の方法を用いて圧縮され得る。
【0004】
より良好な圧縮が常に所望される。電力消費を低減し得、および/または性能を向上させ得るからである。帯域幅は、タイルの大きな割合が圧縮され得る場合、および/または少数のタイルが高い圧縮比で圧縮され得る場合に著しく低減され得る。
【図面の簡単な説明】
【0005】
いくつかの実施形態は、以下の図面に関して説明される。
【
図1】一実施形態による圧縮デプスアーキテクチャを示す。
【発明を実施するための形態】
【0006】
より良好な圧縮を実現するべく、DO圧縮スキームにおいて存在する意味のない複数の組み合わせが活用され得る。ZminおよびZmaxは、複数の基準点を記載し、これらの基準点から正および(黙示的には)負の残差が各々エンコードされる。複数のbビットは、ZminおよびZmaxの各々ならびにデプス毎のkの残差ビットに用いられると仮定する。このレイアウトについては、ZminおよびZmaxの範囲が重複する場合があるので、同一のデプス値を表す複数の冗長なやり方がある。更に、Zminは、常にZmaxよりも小さくなければならない。一般に、Zmin+2
k>Zmax−2
kである限り、同一のデプスは、ZminおよびZmaxの両方に対してエンコードされ得る。
【0007】
従って、ZminおよびZmaxの有効な組み合わせの数は(2
b−2
k−1)
2/2になるが、通常、DOにおいて見られる見組み合わせの割り当てられた数は、2
bとなる。これは、複数の組み合わせのうちの少なくとも半分が未使用であることを意味する。
【0008】
例として、少数の異なるbおよびkの値に対する24ビットのデプスバッファについての複数の冗長な組み合わせの割合は、以下の通りである。
【表1】
【0009】
上記の冗長性は、圧縮を改善するように用いられ得る。例えば、各々24ビットを用いて、ZminおよびZmaxが格納され、タイル全体が512ビットまで圧縮されるべきであると仮定する。ZminがZmaxに等しい場合、当該等しさは、残りの512−24=488ビットを異なるやり方で変換する信号として用いられ得る。24ビットはZmin=Zmaxから再び収集されるので、24のみが減算され、Zmin値がZmax値に等しい限り、いずれの値にも設定され得る。
【0010】
これは単なる例であることに留意されたい。すでに説明されたように、Zmin>=Zmaxが満たされ得る全ての組み合わせ、およびZminの範囲およびZmaxの範囲が重なり合い得る全ての冗長な組み合わせを考慮することにより、更により多くのビットが回収され得る。
【0011】
一実施形態は、別の場合であれば、残差がZminに対するものか、またはZmaxに対するものかを指標付けするべく用いられる1サンプル毎の追加のビットにより複数の残差を単に拡張する。
【0012】
別の実施形態は、代替的な圧縮アルゴリズムに回収されたビットを全て使用する。これらのビットは、例えば、1ピクセル毎の残差を用いて平面方程式をエンコードするべく用いられ得る。
【0013】
インデックスマスクを考慮することにより、更により不必要な組み合わせが見出され得る。インデックスマスクは、ZminまたはZmaxのいずれかを当該サンプルの基準点として選択するべく、1サンプル毎に1ビットを含む。インデックスの全てが0であるか、またはインデックスの全てが1である場合、Zmin値またはZmax値は、圧縮/解凍において用いられず、従って冗長である。これは、ZminまたはZmaxのいずれかに割り当てられた複数のビットが他の複数の目的にも用いられ得ることを意味する。上記の冗長なZmin/Zmaxの組み合わせが用いられる場合、インデックスマスクの動作は変更され得、従って更なる組み合わせは得られない。しかし、有効なZmin/Zmaxの組み合わせの全てに対して、インデックスマスクの冗長性が用いられ得る。
【0014】
一実施形態において、このことは、インデックスマスク内の全てにおいて0が存在するか、または全てにおいて1が存在するかを検出することによって1つのインターバルのみを有するときに表現可能な範囲を改善するべく用いられ、次にZminまたはZmaxのいずれかの複数の未使用ビットを利用して複数の残差値の精度を改善する。
【0015】
ZminおよびZmaxからの情報も、DOのバリアントを生成するべく利用され得る。例として、ZminおよびZmaxの値が通常通りに格納されると仮定する。6個の新しいZ値がZminとZmaxとの間の補間により一様に生成されると仮定する。ZminおよびZmaxと合わせて、選択のための8個の値が存在する。次に、各2×2のサブタイルは、複数のZ値のこのパレットへ指し示す標準的なZmin値を識別するべく3ビットを格納し、標準的なZmax値を指し示すべく別の3ビットを格納する。次に、複数の残差は、1つの2×2のサブタイル毎にこれらの新しいZminおよびZmaxの値に対して計算される。これは、(合計がちょうど2
nになる限り)任意のタイル/サブタイルのサイズ、およびZminとZmaxとの間の任意の数の補間されたデプスに対して一般化され得る。
【0016】
また、複数の冗長な組み合わせを用いてZminまたはZmaxに対する別のビットに相当するだけの精度を得ることも可能である。例えば、Zminが16ビットの精度を有し、ターゲットデプスが24であると仮定する。Zmin>Zmaxである場合、これらをスワップし、また、Zminの17番目のビットを1に設定する。そうでなければ、Zmin<Zmaxである場合、Zminの17番目のビットを0に設定する。このように、追加のビットがZmin(または所望である場合、Zmax)の精度を向上させる。
【0017】
ZminをZmaxと比較することから追加のビットを活用するなおも別の態様は、以下の通りである。Zmin>Zmaxである場合、ピクセルがクリアされたか否かを示す次のW×Hビットがクリアマスクであると仮定する。Wはタイルの幅であり、Hはタイルの高さである。クリアされていないデプスがほとんど存在しない場合、これらは非圧縮形式で格納され得、それ以外の場合には、複数の残差は、上記のように、しかしクリアされていない複数のピクセルのみについて格納される。
【0018】
上記の検討は、デプスに関するものであったが、同一のアプローチは、色のオフセット圧縮にも適用される。
【0019】
要約するならば、上記の複数の技術は、いくつかの異なるやり方で元のデプスオフセット(DO)の方法を改善し、タイルを圧縮するときにDOが成功する機会を増大させる。これは同様に、電力消費の低減および/または性能の向上をもたらし得る。
【0020】
図1を参照すると、複数のピクセルパイプライン10は、ラスタライザー11から複数のピクセルを受信する。ラスタライザーは、現在レンダリングされている三角形の内側にどのピクセルがあるかを識別する。ラスタライザーは、n×mのピクセルのタイル上で一度に動作し得る。ラスタライザーが三角形と部分的に重複するタイルを見つけた場合、ラスタライザーは、いくつかのピクセルパイプライン10にわたって当該タイルにおける複数のピクセルを分散させる。各ピクセルパイプラインは、ピクセルのデプスおよび色を計算する。
【0021】
複数のピクセルパイプライン10は、複数のデプス値をデプス比較ユニット12に供給する。デプス比較ユニットは、デプスキャッシュ14に書き込み、キャッシュから読み取る。追い出し時に、デプスキャッシュは、圧縮されると、メモリ階層18の次のレベルにおける圧縮および最終的格納のために、コンプレッサ16にデプスデータを送信する。次に、当該階層における情報は、デプス比較ユニット12により読み取られ得るようにデコンプレッサ19において解凍され、デプスキャッシュ14に供給され得る。デプスキャッシュ14は、6個のタイルを保持するものとして示されているが、他のサイズのデプスキャッシュが用いられてもよい。
【0022】
図2、3、4、および5を参照すると、そこに記載される複数のシーケンスは、ソフトウェア、ファームウェア、および/またはハードウェアに実装され得る。ソフトウェアおよびファームウェアの複数の実施形態において、これらのシーケンスは、磁気、光、または半導体ストレージ等、1または複数の非一時的コンピュータ可読媒体に格納される複数のコンピュータ実行命令により実装され得る。一実施形態において、
図1に示されるコンプレッサは、プロセッサベースであってもよく、ストレージは、コンプレッサに関連付けられていてもよい。
【0023】
図2のシーケンス20は、ダイアモンド22に示されるように、ZmaxがZminに等しいか否かを判断することにより開始する。そうである場合、ブロック24に示されるように、ZminおよびZmaxのうちの1つのみが、インデックスマスクなしで用いられる。
【0024】
次に、複数の残差は、ブロック26に示されるように、1サンプル毎に1ビットにより拡張され得る。
【0025】
図3を参照すると、シーケンス31は、
図2の段階22および24も用い得る。ブロック30に示されるように、Zminの複数のビットと、全ての残りのビットを異なる圧縮アルゴリズムに用いる。
【0026】
図4に表される別の場合において、ダイアモンド40に示されるように、複数のインデックスマスクビットの全てが1または0のいずれかであるか否かが判断され得る。そうである場合、ブロック42に示されるように、ZminまたはZmaxの複数の未使用ビットを用いて、実際に用いられるZminまたはZmaxの精度を改善し得る。
【0027】
図5に示されるシーケンス50を参照すると、ブロック52に示されるように、ZminおよびZmaxの値が最初に格納される。次に、ZminとZmax値との間で新しい複数のZ値が補間され得る(ブロック54)。例えば、6個の新しいZ値がZminとZmaxとの間の補間により一様に生成されてもよく、そうするとZminおよびZmaxと合わせて、選択するための8個の値が存在する。一実施形態において、タイルは次に、2×2のサブタイルに分割され得る。いずれの場合にも、ブロック56に示されるように、タイルは、所望のサイズの複数のサブタイルに分割される。補間された複数のデプス値の中から選択することにより、各サブタイルに対するローカルのZminおよびZmaxの値を割り当てる。追加の複数のビットは、標準的なZmax値を指し示す。例えば、タイルが2×2のサブタイルに分割される場合、各サブタイルは、複数のZ値のパレットへ指し示す3つのビットを格納して、標準的Zmin値を識別し、別の3つのビットは、標準的なZmax値を指し示す。次に、複数の残差は、1サブタイル毎にこれらの新しいZminおよびZmaxの値に対して計算される。ブロック60に示されるように、補間された複数のデプス値の中から選択することにより、各サブタイルに対するローカルのZminおよびZmaxの値を割り当てる。次に、ブロック64に示されるように、1サブタイル毎に新しいZminおよびZmaxの値に対して複数の残差が計算される。勿論、合計がちょうど2
nになる限り、ZminとZmaxとの間の任意の数の補間されたデプスと共に、任意のサブタイルおよびタイルのサイズが用いられ得る。
【0028】
図2〜5の複数のシーケンスは、いくつかの実施形態において別々に、または組み合わせて用いられ得る。
【0029】
図6は、システム700の実施形態を図示する。複数の実施形態において、システム700はメディアシステムであってもよいが、システム700は、この文脈に限定されるものではない。例えば、システム700は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末(PDA)、携帯電話、携帯電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレットまたはスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス等に組み込まれてもよい。
【0030】
複数の実施形態において、システム700は、ディスプレイ720に結合されたプラットフォーム702を備える。プラットフォーム702は、コンテンツサービスデバイス730もしくはコンテンツ配信デバイス740、または他の類似のコンテンツソース等のコンテンツデバイスからコンテンツを受信し得る。1または複数のナビゲーション機能を備えるナビゲーションコントローラ750は、例えば、プラットフォーム702および/またはディスプレイ720とインタラクトするように用いられてもよい。これらのコンポーネントの各々は、以下により詳細に説明される。
【0031】
複数の実施形態において、プラットフォーム702は、チップセット705、プロセッサ710、メモリ712、ストレージ714、グラフィックスサブシステム715、複数のアプリケーション716、および/または無線機718の任意の組み合わせを備え得る。チップセット705は、プロセッサ710、メモリ712、ストレージ714、グラフィックスサブシステム715、複数のアプリケーション716、および/または無線機718の間の相互通信を提供し得る。例えば、チップセット705は、ストレージ714との相互通信を提供することができるストレージアダプタ(図示せず)を含み得る。
【0032】
プロセッサ710は、複合命令セットコンピュータ(CISC)もしくは縮小命令セットコンピュータ(RISC)プロセッサ、x86命令セットに互換性のあるプロセッサ、マルチコア、またはその他のマイクロプロセッサもしくは中央処理装置(CPU)として実装され得る。複数の実施形態において、プロセッサ710は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等を備えてもよい。プロセッサは、メモリ712と共に
図2〜5の複数のシーケンスを実装し得る。
【0033】
メモリ712は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックRAM(SRAM)等の揮発性メモリデバイスとして実装され得るが、これらに限定されるものではない。
【0034】
ストレージ714は、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、装着ストレージデバイス、フラッシュメモリ、バッテリバックアップSDRAM(シンクロナスDRAM)、および/またはネットワークアクセス可能なストレージデバイス等の不揮発性ストレージデバイスとして実装され得るが、これらに限定されるものではない。複数の実施形態において、ストレージ714は、例えば、複数のハードドライブが含まれる場合に貴重なデジタル媒体に対する記憶性能を高めた保護を増大させる技術を備え得る。
【0035】
グラフィックスサブシステム715は、表示のために静止画像または動画のような複数の画像の処理を実行し得る。グラフィックスサブシステム715は、例えば、グラフィックス処理ユニット(GPU)またはビジュアルプロセッシングユニット(VPU)であってもよい。アナログまたはデジタルインターフェースは、グラフィックスサブシステム715およびディスプレイ720を通信可能に結合するように用いられてもよい。例えば、インターフェースは、高細精度マルチメディアインターフェース、DisplayPort、無線HDMI(登録商標)、および/または無線HDに準拠する技術のいずれかであってもよい。グラフィックスサブシステム715は、プロセッサ710またはチップセット705に集積され得る。グラフィックスサブシステム715は、チップセット705に通信可能に結合されたスタンドアロンカードであり得る。
【0036】
本明細書に説明されるグラフィックスおよび/または動画処理技術は、様々なハードウェアアーキテクチャで実装され得る。例えば、グラフィックスおよび/または動画機能は、チップセット内に集積され得る。あるいは、別個のグラフィックスおよび/またはビデオプロセッサが用いられてもよい。更に別の実施形態として、グラフィックスおよび/または複数のビデオ機能は、マルチコアプロセッサを含む汎用プロセッサにより実装され得る。更なる実施形態において、これらの機能は、家庭用電子デバイスに実装され得る。
【0037】
無線機718は、様々な好適の無線通信技術を用いて複数の信号を送受信することができる1または複数の無線機を含み得る。そのような複数の技術は、1または複数の無線ネットワークにわたる複数の通信を含み得る。例示的な複数の無線ネットワークとしては、無線ローカルエリアネットワーク(WLAN)、無線パーソナルエリアネットワーク(WPAN)、無線メトロポリタンエリアネットワーク(WMAN)、セルラーネットワーク、および衛星ネットワークが挙げられる(しかし、これらに限定されるものではない)。そのような複数のネットワークにわたって通信する場合に、無線機718は、任意のバージョンの1または複数の適用可能規格に準拠して動作し得る。
【0038】
複数の実施形態において、ディスプレイ720は、任意のテレビタイプのモニタまたはディスプレイを備え得る。ディスプレイ720は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ様式のデバイス、および/またはテレビを備え得る。ディスプレイ720は、デジタルおよび/またはアナログであってもよい。複数の実施形態において、ディスプレイ720は、ホログラフィックディスプレイであってもよい。また、ディスプレイ720は、視覚投影を受信し得る透明面であってもよい。そのような複数の投影は、様々な形態の情報、画像、および/またはオブジェクトを搬送し得る。例えば、そのような複数の投影は、モバイル拡張実現(MAR)アプリケーションのための視覚オーバーレイであってもよい。1または複数のソフトウェアアプリケーション716の制御下で、プラットフォーム702は、ユーザインターフェース722をディスプレイ720上に表示し得る。
【0039】
複数の実施形態において、コンテンツサービスデバイス730は、任意の国家的、国際的、および/または独立系サービスによりホストされ、従って例えばインターネットを介してプラットフォーム702にアクセス可能であり得る。コンテンツサービスデバイス730は、プラットフォーム702および/またはディスプレイ720に結合され得る。プラットフォーム702および/またはコンテンツサービスデバイス730は、ネットワーク760に、およびネットワーク760からメディア情報を通信する(例えば送信し、および/または受信する)べくネットワーク760に結合され得る。コンテンツ配信デバイス740は、プラットフォーム702および/またはディスプレイ720にも結合され得る。
【0040】
複数の実施形態において、コンテンツサービスデバイス730は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、インターネットが可能なデバイス、もしくはデジタル情報および/またはコンテンツを提供することができる電気機器、およびネットワーク760を介し、または直接に複数のコンテンツプロバイダと、プラットフォーム702と、ディスプレイ720との間で一方向または双方向にコンテンツを通信することができるその他の類似のデバイスを備え得る。コンテンツは、ネットワーク760を介してシステム700における複数のコンポーネントのうちのいずれか1つおよびコンテンツプロバイダに、およびこれらから一方向および/または双方向に通信され得ることが理解されよう。コンテンツの複数の例としては、例えば、動画、音楽、医療およびゲーム情報等を含む任意のメディア情報が挙げられ得る。
【0041】
コンテンツサービスデバイス730は、メディア情報、デジタル情報、および/または他のコンテンツを含むケーブルテレビ番組等のコンテンツを受信する。コンテンツプロバイダの複数の例としては、任意のケーブルもしくは衛星テレビ、またはラジオもしくはインターネットコンテンツプロバイダが挙げられ得る。提供される複数の例は、適用可能な実施形態を限定することを意図しない。
【0042】
複数の実施形態において、プラットフォーム702は、1または複数のナビゲーション機能を有するナビゲーションコントローラ750から複数の制御信号を受信し得る。コントローラ750の複数のナビゲーション機能は、例えば、ユーザインターフェース722とインタラクトするように用いられ得る。複数の実施形態において、ナビゲーションコントローラ750は、ユーザが空間(例えば、連続した多次元の)データをコンピュータに入力することを可能にする、コンピュータハードウェアコンポーネント(具体的にはヒューマンインターフェースデバイス)であり得るポインティングデバイスであってもよい。グラフィカルユーザインターフェース(GUI)等の多くのシステム、ならびに複数のテレビおよびモニタは、ユーザが物理的なジェスチャを用いてコンピュータまたはテレビを制御し、これらにデータを提供することを可能にする。
【0043】
コントローラ750におけるナビゲーション機能の動きは、ディスプレイ上に表示されるポインタ、カーソル、フォーカスリング、または他の複数の視覚インジケータの動きにより、ディスプレイ(例えば、ディスプレイ720)上に反映され得る。例えば、ソフトウェアアプリケーション716の制御下で、ナビゲーションコントローラ750上に位置する複数のナビゲーション機能は、例えばユーザインターフェース722上に表示される複数の仮想ナビゲーション機能にマッピングされ得る。複数の実施形態において、コントローラ750は、別個のコンポーネントではなく、プラットフォーム702および/またはディスプレイ720に統合されてもよい。しかし、実施形態は、本明細書に示され、または説明される要素または文脈に限定されない。
【0044】
複数の実施形態において、複数のドライバ(図示せず)は、例えば、有効にされると、初期ブートアップ後にユーザがボタンに触れることによりテレビ等のプラットフォーム702を即座にオンおよびオフにすることを可能にする技術を備え得る。プラットフォームが「オフ」にされると、プログラムロジックは、プラットフォーム702がコンテンツをメディアアダプタもしくは他のコンテンツサービスデバイス730、またはコンテンツ配信デバイス740にストリーミングすることを可能にし得る。更に、チップセット705は、例えば、5.1サラウンドサウンドオーディオおよび/または高細精度7.1サラウンドサウンドオーディオに対するハードウェアおよび/またはソフトウェアのサポートを備え得る。複数のドライバは、複数の統合グラフィックスプラットフォームためのグラフィックスドライバを含み得る。複数の実施形態において、複数のグラフィックスドライバは、周辺構成要素相互接続(PCI)エクスプレスグラフィックスカードを備え得る。
【0045】
様々な実施形態において、システム700において示される複数のコンポーネントのうちの任意の1または複数が統合され得る。例えば、プラットフォーム702およびコンテンツサービスデバイス730が統合されてもよく、またはプラットフォーム702およびコンテンツ配信デバイス740が統合されてもよく、または例えば、プラットフォーム702、コンテンツサービスデバイス730、およびコンテンツ配信デバイス740が統合されてもよい。様々な実施形態において、プラットフォーム702およびディスプレイ720は、統合されたユニットであってもよい。例えば、ディスプレイ720およびコンテンツサービスデバイス730が統合されてもよく、またはディスプレイ720およびコンテンツ配信デバイス740が統合されてもよい。これらの例は、範囲の限定であることを意図しない。
【0046】
様々な実施形態において、システム700は、無線システム、有線システム、または両方の組み合わせとして実装され得る。無線システムとして実装される場合、システム700は、1または複数のアンテナ、トランスミッタ、レシーバ、トランシーバ、増幅器、フィルタ、制御ロジック等のような無線共有媒体を介して通信するのに好適な複数のコンポーネントおよびインターフェースを含み得る。無線共有媒体の例としては、RFスペクトル等のような無線スペクトルの一部が挙げられ得る。有線システムとして実装される場合、システム700は、入力/出力(I/O)アダプタ、対応する有線通信媒体とI/Oアダプタを接続する物理コネクタ、ネットワークインターフェースカード(NIC)、ディスクコントローラ、ビデオコントローラ、オーディオコントローラ等のような有線通信媒体を介して通信するのに好適な複数のコンポーネントおよびインターフェースを含み得る。有線通信媒体の複数の例としては、ワイヤ、ケーブル、金属リード線、プリント回路基板(PCB)、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバ等が挙げられ得る。
【0047】
プラットフォーム702は、情報を通信するべく1または複数の論理または物理チャネルを確立し得る。情報は、メディア情報および制御情報を含み得る。メディア情報は、ユーザ向けのコンテンツを表す任意のデータを指し得る。コンテンツの複数の例としては、例えば、音声会話、ビデオ会議、ストリーミング動画、電子メール(「eメール」)メッセージ、ボイスメールメッセージ、英数字記号、グラフィックス、画像、ビデオ、テキスト等からのデータが挙げられ得る。音声会話からのデータは、例えば、発言情報、無音期間、バックグラウンドノイズ、コンフォートノイズ、トーン等であり得る。制御情報は、自動システム向けの複数のコマンド、命令、または制御ワードを表す任意のデータを指し得る。例えば、制御情報は、システムを通じてメディア情報をルーティングし、または予め定められたようにメディア情報を処理するようノードに指示するべく用いられ得る。しかし、実施形態は、
図6に示され、または説明される要素または文脈に限定されない。
【0048】
上記のように、システム700は、異なる物理的スタイルまたはフォームファクタで実施され得る。
図7は、システム700が実施され得る小さいフォームファクタデバイス800の複数の実施形態を図示する。例えば複数の実施形態において、デバイス800は、無線機能を有するモバイルコンピューティングデバイスとして実装され得る。例えば、モバイルコンピューティングデバイスは、処理システム、および1または複数のバッテリ等、モバイル電源または電力供給を有する任意のデバイスを指し得る。
【0049】
上記のように、モバイルコンピューティングデバイスの複数の例としては、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、携帯情報端末(PDA)、携帯電話、携帯電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレットまたはスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス等が挙げられ得る。
【0050】
モバイルコンピューティングデバイスの複数の例としては、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、眼鏡コンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、シューズコンピュータ(shoe computer)、衣類コンピュータ(clothing computer)、および他のウェアラブルコンピュータ等、人により着用されるように構成された複数のコンピュータも挙げられ得る。例えば複数の実施形態において、モバイルコンピューティングデバイスは、複数のコンピュータアプリケーション、ならびに音声通信および/またはデータ通信を実行することができるスマートフォンとして実装され得る。いくつかの実施形態は、例として、スマートフォンとして実施されるモバイルコンピューティングデバイスと共に説明され得るが、他の複数の無線モバイルコンピューティングデバイスを同様に用いる他の複数の実施形態が実施され得ることが理解され得る。これらの実施形態は、この文脈において限定されない。
【0051】
本明細書において説明される複数のグラフィックス処理技術は、様々なハードウェアアーキテクチャにおいて実装され得る。例えば、グラフィックス機能は、チップセット内に統合され得る。あるいは、別個のグラフィックスプロセッサが用いられ得る。更に別の実施形態として、複数のグラフィックス機能は、マルチコアプロセッサを含む汎用プロセッサにより実装され得る。
【0052】
以下の付記および/または例は、更なる実施形態に関する。例示的な一実施形態は、ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定する段階と、ZminがZmaxに実質的に等しいか否かを判断する段階と、そうである場合に、デプスオフセット圧縮にZminおよびZmaxのうちの1つのみを用い、インデックスマスクを用いることを避ける段階とを備える方法であり得る。方法は、ZminまたはZmaxのうちの1つのみを用いることにより保存された複数のビットを用いて、1サンプル毎に1ビットを用いて複数の残差を拡張する段階を備え得る。方法は、複数の残差がZminまたはZmaxに対するものか否かを指定する必要性を回避することにより保存された複数のビットを用いて、異なる圧縮アルゴリズムを用いる段階を備え得る。方法は、ZminがZmaxよりも大きいか否かを判断する段階と、そうである場合にZminおよびZmaxの精度をスワップする段階と、Zminを有する追加のビットを用いる段階とを備え得る。方法は、ZminがZmaxよりも小さいか否かを判断する段階と、そうである場合に、追加のビットを用いて、ZminがZmaxよりも小さいことを示す段階とを備え得る。方法は、インデックスマスクが全て1または0であるか否かを検出する段階と、そうである場合に、ZminまたはZmaxの複数の未使用ビットを用いて、実際に用いられた基準値の精度を改善する段階とを備え得る。方法は、ZminがZmaxよりも小さい場合、次のWxHビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示す段階を備え得、Wは、タイルの幅であり、Hは、タイルの高さである。方法は、クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納する段階を備え得る。方法は、1タイル毎に2より多いデプス値を決定する段階を備え得る。方法は、タイルを複数のサブタイルに分割する段階と、複数のデプス値を複数のサブタイルに割り当てる段階と、少なくとも1つのサブタイルのデプス値をタイルのデプス値として選択する段階とを備え得る。
【0053】
別の例示的な実施形態は、ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定することと、ZminがZmaxに実質的に等しいか否かを判断することと、そうである場合に、デプスオフセット圧縮にZminおよびZmaxのうちの1つのみを用い、インデックスマスクを用いることを避けることとを含むシーケンスを実行するプロセッサにより実行される、複数の命令を格納する1または複数の非一時的コンピュータ可読媒体であり得る。媒体は、ZminまたはZmaxのうちの1つのみを用いることにより保存された複数のビットを用いて、1サンプル毎に1ビットを用いて複数の残差を拡張することを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、複数の残差がZminまたはZmaxに対するものか否かを指定する必要性を回避することにより保存された複数のビットを用いて、異なる圧縮アルゴリズムを用いることを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、ZminがZmaxよりも大きいか否かを判断することと、そうである場合にZminおよびZmaxの精度をスワップすることと、Zminを有する追加のビットを用いることとを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、ZminがZmaxよりも小さいか否かを判断することと、そうである場合に、追加のビットを用いて、ZminがZmaxよりも小さいことを示すこととを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、インデックスマスクが全て1または0であるかを検出することと、そうである場合に、ZminまたはZmaxの複数の未使用ビットを用いて、実際に用いられた基準値の精度を改善することとを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、ZminがZmaxよりも小さい場合、次のWxHビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示すことを含むシーケンスを実行する複数の命令を更に格納し得、Wは、タイルの幅であり、Hは、タイルの高さである。媒体は、クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納することを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、1タイル毎に2より多いデプス値を決定することを含むシーケンスを実行する複数の命令を更に格納し得る。媒体は、タイルを複数のサブタイルに分割することと、複数のデプス値を複数のサブタイルに割り当てることと、少なくとも1つのサブタイルのデプス値をタイルのデプス値として選択することとを含むシーケンスを実行する複数の命令を更に格納し得る。
【0054】
別の例示的な実施形態は、ハードウェアプロセッサを用いて、デプスオフセット圧縮のためにZminおよびZmaxを決定する段階と、ZminがZmaxに実質的に等しいか否かを判断する段階と、そうである場合に、デプスオフセット圧縮にZminおよびZmaxのうちの1つのみを用い、インデックスマスクを用いることを避けるプロセッサと、プロセッサに結合されたストレージとを備える装置であり得る。装置は、ZminまたはZmaxのうちの1つのみを用いることにより保存された複数のビットを用いて、1サンプル毎に1ビットを用いて複数の残差を拡張するプロセッサを備え得る。装置は、複数の残差がZminまたはZmaxに対するものか否かを指定する必要性を回避することにより保存された複数のビットを用いて、異なる圧縮アルゴリズムを用いるプロセッサを備え得る。装置は、ZminがZmaxよりも大きいか否かを判断し、そうである場合にZminおよびZmaxの精度をスワップし、Zminを有する追加のビットを用いるプロセッサを備え得る。装置は、ZminがZmaxよりも小さいか否かを判断し、そうである場合に、追加のビットを用いて、ZminがZmaxよりも小さいことを示すプロセッサを備え得る。装置は、インデックスマスクが全て1または0であるかを検出し、そうである場合に、ZminまたはZmaxの複数の未使用ビットを用いて、実際に用いられた基準値の精度を改善するプロセッサを備え得る。装置は、ZminがZmaxよりも小さい場合、次のWxHビットをクリアマスクとして用いて、ピクセルがクリアされたか否かを示すプロセッサを備え得、Wは、タイルの幅であり、Hは、タイルの高さである。装置は、クリアされていないデプスがいくつ存在するかに応じて、複数のデプスを非圧縮形式で格納するプロセッサを備え得る。装置は、1タイル毎に2より多いデプス値を決定するプロセッサを備え得る。装置は、タイルを複数のサブタイルに分割し、複数のデプス値を複数のサブタイルに割り当て、少なくとも1つのサブタイルのデプス値をタイルのデプス値として選択するプロセッサを備え得る。装置は、プロセッサに通信可能に結合されたディスプレイを備え得る。装置は、プロセッサに結合されたバッテリを備え得る。
【0055】
本明細書を通して「一実施形態」または「実施形態」を参照する場合、実施形態に関連して説明される特定の機能、構造、または特性が、本開示に包含される少なくとも一実装に含まれることを意味する。従って、「一実施形態」または「実施形態において」という文言が現れても、必ずしも同一の実施形態を指すわけではない。更に、特定の機能、構造、または特性は、図示される特定の実施形態以外の他の好適な形式で設けられてもよく、またそのような全ての形態は、本願の特許請求の範囲に包含され得る。
【0056】
限定された数の実施形態が説明されているが、当業者は、それらから多くの修正形態および改変形態を理解するであろう。添付の特許請求の範囲は、そのような全ての修正形態および改変形態を、本開示の真の主旨および範囲内に含まれるものとして包含することが意図されている。