特許第5787116号(P5787116)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ モトローラ モビリティ エルエルシーの特許一覧

特許5787116ビデオデータのコンテキストモデルを決定する方法及びシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5787116
(24)【登録日】2015年8月7日
(45)【発行日】2015年9月30日
(54)【発明の名称】ビデオデータのコンテキストモデルを決定する方法及びシステム
(51)【国際特許分類】
   H04N 19/13 20140101AFI20150910BHJP
   H04N 19/18 20140101ALI20150910BHJP
   H04N 19/61 20140101ALI20150910BHJP
【FI】
   H04N19/13
   H04N19/18
   H04N19/61
【請求項の数】21
【全頁数】61
(21)【出願番号】特願2013-552742(P2013-552742)
(86)(22)【出願日】2012年2月10日
(65)【公表番号】特表2014-509487(P2014-509487A)
(43)【公表日】2014年4月17日
(86)【国際出願番号】US2012024608
(87)【国際公開番号】WO2012112384
(87)【国際公開日】20120823
【審査請求日】2013年7月31日
(31)【優先権主張番号】61/443,700
(32)【優先日】2011年2月16日
(33)【優先権主張国】US
(31)【優先権主張番号】13/363,432
(32)【優先日】2012年2月1日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】510284071
【氏名又は名称】モトローラ モビリティ エルエルシー
【氏名又は名称原語表記】MOTOROLA MOBILITY LLC
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ルー、ジエン
(72)【発明者】
【氏名】パヌソポーン、クリット
(72)【発明者】
【氏名】ワン、リミン
【審査官】 坂東 大五郎
(56)【参考文献】
【文献】 Cheung Auyeung, Wei Liu,Parallel processing friendly simplified context selection of significance map,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 4th Meeting: Daegu, KR,2011年 1月20日,JCTVC-D260
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
(57)【特許請求の範囲】
【請求項1】
複数の要素のマトリクスに関連付けられたビデオデータを処理する方法であって、
前記マトリクスを通して、所定の走査パターンを使用して前記ビデオデータを読み取ることであって、前記複数の要素の各要素は、位置(y,x)を有し、ここで、0≦y≦(高さ−1)および0≦x≦(幅−1)であり、マトリクスの面積は、高さ×幅である、前記読み取ること、
位置(0,0)の要素から位置(高さ−1,幅−1)の要素まで予め設定された走査パターンにおける複数の要素の各要素のコンテキストモデルを決定することであって、
前記予め設定された走査パターンがジグザグパターンである場合、
位置(0,0)における要素では、コンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(0,0)における対応する要素に対するコンテキストモデルとして決定し、
位置(1,0)における要素では、コンテキストモデルを、前記異なるマトリクスの位置(1,0)における対応する要素に対するコンテキストモデルとして決定し、
位置(0,1)における要素では、コンテキストモデルを、前記異なるマトリクスの位置(0,1)における対応する要素に対するコンテキストモデルとして決定し、
位置(0,0)、(1,0)、(0,1)以外の位置における要素では、前記複数の要素のうちの他の要素の値に基づいて、複数のジグザグ走査線のうちの単一のジグザグ走査線の各要素のコンテキストモデルを決定し、
前記他の要素は前記要素と同じジグザグ走査線に沿っておらず、前記他の要素は、前記複数のジグザグ走査線のうちの2本以下の前記他のジグザグ走査線に含まれ、
前記予め設定された走査パターンが垂直パターンである場合、
0≦k≦(高さ−1)の各位置(k,0)における要素では、前記コンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(k,0)における対応する要素に対するコンテキストモデルとして決定し、
位置(k,0)以外の位置における要素では、前記複数の要素のうちの他の要素の値に基づいて、複数の垂直走査線のうちの単一の垂直走査線の各要素のコンテキストモデルを決定し、
前記他の要素は前記要素と同じ垂直走査線に沿っておらず、前記他の要素は、前記複数の垂直走査線のうちの2本以下の前記他の垂直走査線に含まれ、
前記予め設定された走査パターンが水平パターンである場合、
0≦p≦(幅−1)の各位置(0,p)における要素では、前記コンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(0,p)における対応する要素に対するコンテキストモデルとして決定し、
位置(0,p)以外の位置における要素では、前記複数の要素のうちの他の要素の値に基づいて、複数の水平走査線のうちの単一の水平走査線の各要素のコンテキストモデルを決定し、
前記他の要素は前記要素と同じ単一の水平走査線に沿っておらず、前記他の要素は、前記複数の水平走査線のうちの2本以下の前記他の水平走査線に含まれる
ことにより、前記位置(0,0)の要素から位置(高さ−1,幅−1)の要素まで予め設定された走査パターンにおける複数の要素の各要素のコンテキストモデルを決定すること、
それぞれ決定されたコンテキストモデルに基づいて各要素を処理することを備える、方法。
【請求項2】
前記予め設定された走査パターンがジグザグパターンである場合、前記他の要素は、前記複数のジグザグ走査線のうちの他の1本のジグザグ走査線のみに含まれ、
前記予め設定された走査パターンが垂直パターンである場合、前記他の要素は、前記複数の垂直走査線のうちの他の1本の垂直走査線のみに含まれ、
前記予め設定された走査パターンが水平パターンである場合、前記他の要素は、前記複数の水平走査線のうちの他の1本の水平走査線のみに含まれる、請求項1に記載の方法。
【請求項3】
前記異なるマトリクスは、前に符号化されたマトリクスである、請求項1に記載の方法。
【請求項4】
前記マトリクスは顕著性マップを含み、
前記複数の要素の各要素は、ビデオ圧縮係数の有無を示す、請求項1に記載の方法。
【請求項5】
前記複数の要素のそれぞれは二進数であり、各二進数は、ビデオブロックの量子化変換係数がゼロであるか否かを示す、請求項1に記載の方法。
【請求項6】
前記他のジグザグ走査線は、前記ジグザグ走査パターンのうちの前に処理されたジグザグ走査線であり、
前記他の垂直走査線は、前記垂直走査パターンのうちの前に処理された垂直走査線であり、
前記他の水平走査線は、前記水平走査パターンのうちの前に処理された水平走査線である、請求項1に記載の方法。
【請求項7】
前記処理することは、前記コンテキストモデルを確率値にマッピングすることを含む、請求項1に記載の方法。
【請求項8】
前記ビデオデータは、ビデオピクチャブロックを示し、
前記方法は、
前記ビデオデータに変換を適用して、変換係数を導出すること、
前記変換係数を量子化すること
をさらに含み、
前記要素は、量子化された前記変換係数のうちの1つの値が0であるか否かを示す、請求項1に記載の方法。
【請求項9】
前記予め設定された走査パターンが垂直パターンである場合に前記コンテキストモデルを決定することは、
前記位置(0,1)における要素では、前記コンテキストモデルを、前記異なるマトリクスの前記位置(0,1)における対応する要素に対するコンテキストモデルとして決定することを含む、請求項1に記載の方法。
【請求項10】
前記予め設定された走査パターンが水平パターンである場合に前記コンテキストモデルを決定することは、
前記位置(1,0)における要素では、前記コンテキストモデルを、前記異なるマトリクスの前記位置(1,0)における対応する要素に対するコンテキストモデルとして決定することを含む、請求項1に記載の方法。
【請求項11】
第1の要素に関する前記決定すること及び前記処理することは、第2の要素に対する前記決定すること及び処理することと並列に実行され、
前記第1の要素および前記第2の要素は、前記複数のジグザグ走査線のうちの一つのジグザグ走査線、前記複数の垂直走査線のうちの一つの垂直走査線、および前記複数の水平走査線のうちの一つの水平走査線のうちの一つの走査線に配置される、請求項1に記載の方法。
【請求項12】
要素のマトリクスにより表される顕著性マップを処理する方法であって、前記マトリクスは複数の走査線に沿って符号化され、各走査線は前記マトリクスの前記要素のうちの1つ又は複数を含み、
前記方法は、
前記複数の要素のマトリクスの各要素に使用すべきコンテキストモデルを決定することであって、
前記複数の要素のマトリクスは、高さ×幅の面積を有し、前記複数の要素の各要素は、位置(y,x)を有し、ここで、0≦y≦(高さ−1)および0≦x≦(幅−1)であり、
前記複数の走査線がジグザグパターンを形成する場合、
位置(0,0)における要素に使用すべきコンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(0,0)における対応する要素に対するコンテキストモデルとして決定し、
位置(1,0)における要素に使用すべきコンテキストモデルを、前記異なるマトリクスの位置(1,0)における対応する要素に対するコンテキストモデルとして決定し、
位置(0,1)における要素に使用すべきコンテキストモデルを、前記異なるマトリクスの位置(0,1)における対応する要素に対するコンテキストモデルとして決定し、
前記複数の走査線が垂直パターンを形成する場合、
0≦k≦(高さ−1)の各位置(k,0)における要素に使用すべきコンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(k,0)における対応する要素に対するコンテキストモデルとして決定し、
前記複数の走査線が水平パターンを形成する場合、
0≦p≦(幅−1)の各位置(0,p)における要素に使用すべきコンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(0,p)における対応する要素に対するコンテキストモデルとして決定し、
前記複数の要素のマトリクスの他の要素では、前記マトリクスの一部分の要素に基づいて前記複数の走査線の第1の走査線の要素に使用すべきコンテキストモデルを決定し、前記一部分の要素は前記複数の走査線のうちの第2の走査線の要素からなり、前記第2の走査線は前記第1の走査線に隣接する
ことにより、前記複数の要素のマトリクスの各要素に使用すべきコンテキストモデルを決定すること、
それぞれ決定されるコンテキストモデルに基づいて各要素を処理することを備える、方法。
【請求項13】
前記マトリクスの一部分の要素は、2つの要素、3つの要素、4つの要素、または5つの要素からなる、請求項12に記載の方法。
【請求項14】
前記コンテキストモデルを決定することは、
前記複数の走査線が垂直パターンを形成する場合に、前記位置(0,1)における要素に使用すべきコンテキストモデルを、前記異なるマトリクスの前記位置(0,1)における対応する要素に対するコンテキストモデルとして決定すること、
前記複数の走査線が水平パターンを形成する場合に、前記位置(1,0)における要素に使用すべきコンテキストモデルを、前記異なるマトリクスの前記位置(1,0)における対応する要素に対するコンテキストモデルとして決定することを含み、
前記異なるマトリクスは、前に符号化されたマトリクスである、請求項12に記載の方法。
【請求項15】
ビデオデータを処理するシステムであって、
プロセッサを備え、
前記プロセッサは、
複数の走査線を含む所定の走査パターンに沿って顕著性マップの要素を読み出すことであって、前記顕著性マップは、前記複数の要素のマトリクスを含み、前記マトリクスは、高さ×幅の面積を有し、各要素は、位置(y,x)を有し、ここで、0≦y≦(高さ−1)および0≦x≦(幅−1)であり、
前記複数の走査線がジグザグパターンを形成する場合、
位置(0,0)における要素に使用すべきコンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(0,0)における対応する要素に対するコンテキストモデルとして決定し、
位置(1,0)における要素に使用すべきコンテキストモデルを、前記異なるマトリクスの位置(1,0)における対応する要素に対するコンテキストモデルとして決定し、
位置(0,1)における要素に使用すべきコンテキストモデルを、前記異なるマトリクスの位置(0,1)における対応する要素に対するコンテキストモデルとして決定し、
前記複数の走査線が垂直パターンを形成する場合、
0≦k≦(高さ−1)の各位置(k,0)における要素に使用すべきコンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(k,0)における対応する要素に対するコンテキストモデルとして決定し、
前記複数の走査線が水平パターンを形成する場合、
0≦p≦(幅−1)の各位置(0,p)における要素に使用すべきコンテキストモデルを、前記マトリクスの面積を有する異なるマトリクスの位置(0,p)における対応する要素に対するコンテキストモデルとして決定し、
一組の他の要素に基づいて、前記複数の走査線のうちの走査線の他の要素のコンテキストモデルを決定することであって、前記一組の他の要素は、前記複数の走査線のうちの2本以下の他の走査線の要素を含む、前記決定すること、
それぞれ決定されるコンテキストモデルに基づいて各要素を処理すること
を含むステップを実施するための命令を実行する、システム。
【請求項16】
前記顕著性マップは複数の二進数を含み、
各二進数は、前記ビデオデータのビデオ圧縮係数がゼロであるか否かを示す、請求項15に記載のシステム。
【請求項17】
前記一組の他の要素は他の1本の走査線からの要素からなる、請求項15に記載のシステム。
【請求項18】
前記一組の他の要素は、処理中の前記要素を有する前記走査線に平行する他の1本の走査線からの要素からなる、請求項15に記載のシステム。
【請求項19】
前記ビデオデータはビデオピクチャブロックを示し、
前記プロセッサは、
前記ビデオデータに変換を適用して、変換係数を導出すること、
前記変換係数を量子化すること、
を含むステップを実施するための命令をさらに実行し、
前記顕著性マップは、量子化された前記変換係数のそれぞれの値がゼロであるか否かを示す、請求項15に記載のシステム。
【請求項20】
前記処理ステップを実行するための前記命令は、前記要素を符号化する命令および前記要素を復号化する命令のうちの1つの命令をさらに含む、請求項15に記載のシステム。
【請求項21】
前記ステップは、
前記複数の走査線が垂直パターンを形成する場合に、前記位置(0,1)における要素に使用すべきコンテキストモデルを、前記異なるマトリクスの前記位置(0,1)における対応する要素に対するコンテキストモデルとして決定すること、
前記複数の走査線が水平パターンを形成する場合に、前記位置(1,0)における要素に使用すべきコンテキストモデルを、前記異なるマトリクスの前記位置(1,0)における対応する要素に対するコンテキストモデルとして決定することを含み、
前記異なるマトリクスは、前に符号化されたマトリクスである、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的にはビデオ画像処理に関し、より詳細にはビデオ画像データの符号化及び復号化に関する。
【背景技術】
【0002】
ビデオ圧縮は、多くの演算にブロック処理を使用する。ブロック処理では、隣接ピクセルのブロックが符号化ユニットにグループ化され、圧縮演算はこのピクセルグループを1つのユニットとして処理して、符号化ユニット内の隣接セルの相関を利用する。ブロックに基づく処理は多くの場合、予測符号化及び変換符号化を含む。量子化を用いる変換符号化は、ソースピクチャから取得される変換ブロックの量子化により、ソースピクチャ内の変換ブロックに関連するデータが破棄されることが多く、それにより、帯域幅要件を下げるが、多くの場合、ソースピクチャから元の変換ブロックを再生成するに当たり品質損失も生じるため、一般に「不可逆的」であるデータ圧縮の一種である。
【0003】
MPEG−4 AVCは、H.264としても知られ、ブロック処理で変換符号化を使用する、確立されているビデオ圧縮規格である。H.264では、ピクチャは16×16ピクセルのマクロブロック(MB)に分割される。各MBは多くの場合、より小さなブロックにさらに分割される。MBに等しいか、又はMBよりも小さなサイズのブロックは、ピクチャ内/ピクチャ間予測を使用して予測され、空間変換が量子化と共に予測残差に適用される。残差の量子化変換係数は一般に、エントロピー符号化方法(すなわち、可変長符号化又は算術符号化)を使用して符号化される。コンテキスト適応型二値算術符号化(Context Adaptive Binary Arithmetic Coding:CABAC)がH.264に導入されて、適応型二値算術符号化技法を1組のコンテキストモデル(Context model)に組み合わせることにより、実質的に可逆的圧縮効率が提供される。コンテキストモデル選択は、CABACにおいて、適応の程度及び冗長低減を提供する役割を果たす。H.264は、2Dブロックへの2種類の走査パターンを指定する。ジグザグ走査が、プログレッシブビデオ圧縮技法を用いて符号化されたピクチャに使用され、交互走査が、インタレースビデオ圧縮技法を用いて符号化されたピクチャに使用される。
【0004】
H.264の後に続くものとして開発された国際ビデオ符号化規格であるHEVC(High Efficiency Video Coding:高性能ビデオ符号化)は、変換ブロックサイズを16×16ピクセル及び32×32ピクセルに拡張して、高精細(HD)ビデオ符号化に役立つ。
【図面の簡単な説明】
【0005】
図1A】本発明の様々な実施形態を使用し得るビデオシステムである。
図1B】本発明の実施形態を実施し得るコンピュータシステムである。
図2A】本発明の実施形態による特定のビデオ符号化原理を示す。
図2B】本発明の実施形態による特定のビデオ符号化原理を示す。
図3A】本発明の実施形態による特定のビデオ符号化原理を示す。
図3B】本発明の実施形態による特定のビデオ符号化原理を示す。
図4A】本発明の実施形態による符号器及び復号器の可能な構造を示す。
図4B】本発明の実施形態による符号器及び復号器の可能な構造を示す。
図5A】本発明の実施形態によるさらなるビデオ符号化原理を示す。
図5B】本発明の実施形態によるさらなるビデオ符号化原理を示す。
図6A】本発明の様々な実施形態と併せて使用し得る可能な走査パターンを示す。
図6B】本発明の様々な実施形態と併せて使用し得る可能な走査パターンを示す。
図6C】本発明の様々な実施形態と併せて使用し得る可能な走査パターンを示す。
図6D】本発明の様々な実施形態と併せて使用し得る可能な走査パターンを示す。
図6E】本発明の様々な実施形態と併せて使用し得る可能な走査パターンを示す。
図7A】本発明の実施形態において使用し得る処理方法を示す。
図7B】本発明の実施形態において使用し得る処理方法を示す。
図8】本発明の実施形態において、隣接要素をいかに使用して、コンテキストモデルの決定に使用し得るかを示す。
図9】本発明の実施形態において、隣接要素をいかに使用して、コンテキストモデルの決定に使用し得るかを示す。
図10】本発明の実施形態において、隣接要素をいかに使用して、コンテキストモデルの決定に使用し得るかを示す。
図11】本発明の実施形態において、隣接要素をいかに使用して、コンテキストモデルの決定に使用し得るかを示す。
図12】本発明の実施形態において、隣接要素をいかに使用して、コンテキストモデルの決定に使用し得るかを示す。
図13】本発明の実施形態において、隣接要素をいかに使用して、コンテキストモデルの決定に使用し得るかを示す。
図14】本発明の実施形態において、隣接要素をいかに使用して、コンテキストモデルの決定に使用し得るかを示す。
図15】本発明の実施形態において、隣接要素をいかに使用して、コンテキストモデルの決定に使用し得るかを示す。
図16】本発明の代替の実施形態を示す。
図17】本発明の代替の実施形態を示す。
図18】本発明の代替の実施形態を示す。
図19】本発明の代替の実施形態を示す。
図20】本発明の代替の実施形態を示す。
図21】本発明の代替の実施形態を示す。
図22】本発明の代替の実施形態を示す。
図23】本発明の代替の実施形態を示す。
図24】本発明の代替の実施形態を示す。
図25】本発明の代替の実施形態を示す。
図26】本発明の代替の実施形態を示す。
図27】本発明の代替の実施形態を示す。
図28】本発明の代替の実施形態を示す。
図29】本発明の代替の実施形態を示す。
図30】本発明の代替の実施形態を示す。
図31】本発明の代替の実施形態を示す。
図32】本発明の代替の実施形態を示す。
図33】本発明の代替の実施形態を示す。
図34】本発明の代替の実施形態を示す。
図35】本発明の代替の実施形態を示す。
図36】本発明の代替の実施形態を示す。
図37】本発明の代替の実施形態を示す。
図38】本発明の代替の実施形態を示す。
図39】本発明の代替の実施形態を示す。
図40】本発明の代替の実施形態を示す。
図41】本発明の代替の実施形態を示す。
図42】本発明の代替の実施形態を示す。
図43】本発明の代替の実施形態を示す。
図44】本発明の代替の実施形態を示す。
図45】本発明の代替の実施形態を示す。
図46】本発明の代替の実施形態を示す。
図47】本発明の代替の実施形態を示す。
図48】本発明の代替の実施形態を示す。
図49】本発明の代替の実施形態を示す。
図50】本発明の代替の実施形態を示す。
図51】本発明の代替の実施形態を示す。
【発明を実施するための形態】
【0006】
詳細な説明
本発明の様々な実施形態について、添付図面を参照してより詳細に後述する。
しかし、添付図面が本発明の実施形態を示し、したがって、本発明の範囲の限定として見なされるべきではなく、他の等しく効果的な実施形態を認め得ることに留意されたい。
【0007】
本発明の様々な実施形態及び特徴についてこれより説明する。本発明の一実施形態では、ビデオデータ係数のマトリクス(matrix)の顕著性マップ(significance map)は、コンテキスト適応型二値算術符号化(CABAC)を使用して符号化又は復号化される。より詳細には、量子化され変換された係数のマトリクスの顕著性マップは、(符号化又は復号化のいずれか一方で)走査パターンに沿って線(走査線と呼ばれる)毎に走査される。各走査線は走査パターンの垂直部分、水平部分、又は対角部分であり得る。特定の走査線内で処理される各要素のコンテキストモデルは、その走査線内にはなく、他の走査線内にある隣接要素の値に基づいて選ばれる。いくつかの実施形態では、隣接要素は他の2本以下の走査線内にある。他の実施形態では、近接要素は他の1本の走査線内のみにある。
【0008】
同じ走査線内にある隣接要素に頼らないことにより、並列処理が促進される。例えば、第1の符号器はある走査線に沿って二進数を処理することができ、その間、第2の符号器は並列して、同じ走査線内の別の二進数を処理することができる。この同時処理は、2つの二進数のそれぞれのコンテキストモデルが相互依存していないことにより促進される。すなわち、第1の符号器により処理されている二進数は、コンテキストモデルの選択に関して、第2の符号器により処理されている二進数に依存しない。
【0009】
本発明の別の実施形態では、変換領域内のブロックの場合、関連付けられた顕著性マップが、走査パターンを辿って符号化される。走査パターンは、現在のブロック、現在のスライス、現在のピクチャ、若しくは現在のシーケンスに対して事前に決定されるか、又は現在のブロック、現在のスライス、現在のピクチャ、若しくは現在のシーケンスに利用可能な少数の可能な走査パターンのうちの1つであることができる。
【0010】
本発明のさらに別の実施形態では、顕著性マップ内の要素のコンテキストモデルは、変換領域内の要素の周波数位置に基づいて選択される。変換領域内の低周波数位置にある要素は、他の変換ブロック内にあるが、同じ周波数位置にある他の要素と同じコンテキストモデルを共有し得、その理由は、同じ周波数位置にあるこれらの要素間に高い相関がある可能性があるためである。変換領域内の高周波数位置にある要素は、同じ走査線に沿った隣接符号化要素を除き、同じブロック内の隣接する符号化要素の値(0又は1)に基づいて決定し得る。
【0011】
本発明の実施形態を使用し得るビデオシステムの例についてこれより説明する。図中、機能ブロックとして示される要素をハードウェア、ソフトウェア、又はこれらの組み合わせで実施し得ることが理解される。さらに、本発明の実施形態は、パーソナルコンピュータ、スマートフォン、又はタブレットコンピュータ等の他のシステムで利用することもできる。
【0012】
図1Aを参照すると、全体的に10と示されるビデオシステムは、ケーブルテレビネットワークのヘッドエンド100を含む。ヘッドエンド100は、ビデオコンテンツを近隣区域129、130、及び131に配信するように構成される。ヘッドエンド100は、ヘッドエンド階層内で動作し得、階層内で高いヘッドエンドほど、一般に、大きな機能を有する。ヘッドエンド100は、衛星放送アンテナ112に通信可能にリンクされ、衛星放送アンテナ112から非ローカル番組のビデオ信号を受信する。ヘッドエンド100はローカル局114にも通信可能にリンクされ、ローカル局114はローカル番組をヘッドエンド100に配信する。ヘッドエンド100は、衛星放送アンテナ112から受信されるビデオ信号を復号化する復号器104、ローカル局114からローカル番組を受信するオフエア受信器106、ヘッドエンド100の様々な構成要素間でデータトラフィックをルーティングする切り替え器(switcher)102、顧客に配信するためにビデオ信号を符号化する符号器116、顧客に配信するために信号を変調する変調器118、及び様々な信号を結合して単一のマルチチャネル伝送にする結合器120を含む。
【0013】
ヘッドエンド100は、ハイブリッドファイバケーブル(HFC)ネットワーク122にも通信可能にリンクされる。HFCネットワーク122は複数のノード124、126、及び128に通信可能にリンクされる。各ノード124、126、及び128は、近隣区域129、130、及び131のうちの1つに同軸ケーブルによりリンクされ、ケーブルテレビ信号をその近隣地区に配信する。図1Aの複数の近隣地区130の1つはより詳細に示される。近隣地区130は、図1Aに示される家132を含むいくつかの住宅を含む。家132内には、ビデオディスプレイ136に通信可能にリンクされたセットトップボックス134がある。セットトップボックス134は、第1の復号器138及び第2の復号器140を含む。第1及び第2の復号器138及び140は、ユーザインタフェース142及び大容量記憶装置144に通信可能にリンクされる。ユーザインタフェース142はビデオディスプレイ136に通信可能にリンクされる。
【0014】
動作中、ヘッドエンド100は、ローカル及び非ローカル番組のビデオ信号を衛星放送アンテナ112及びローカル局114から受信する。非ローカル番組ビデオ信号は、デジタルビデオストリームの形態で受信され、その一方で、ローカル番組ビデオ信号はアナログビデオストリームとして受信される。いくつかの実施形態では、ローカル番組はデジタルビデオストリームとして受信することもできる。デジタルビデオストリームは復号器104により復号化され、顧客の要求に応答して切り替え器102に送信される。ヘッドエンド100は、大容量記憶装置110に通信可能にリンクされたサーバ108も含む。大容量記憶装置110は、ビデオオンデマンド(VOD)を含む様々な種類のビデオコンテンツを記憶し、サーバ108はビデオコンテンツを検索し、スイッチャー102に提供する。切り替え器102は、ローカル番組を変調器118に直接ルーティングし、変調器118はローカル番組を変調し、非ローカル番組(任意のVODを含む)を符号器116にルーティングする。符号器116は、非ローカル番組をデジタル符号化する。次に、符号化非ローカル番組は変調器118に送信される。結合器120は、変調アナログビデオデータ及び変調デジタルビデオデータを受信し、ビデオデータを結合し、マルチ無線周波数(RF)チャネルを介してHFCネットワーク122に送信する。
【0015】
HFCネットワーク122は、結合ビデオデータをノード124、126、及び128に送信し、これらのノードはデータを各近隣地区129、130、及び131に再送信する。家132はこのビデオデータをセットトップボックス134、より詳細には第1の復号器138及び第2の復号器140において受信する。第1及び第2の復号器138及び140は、ビデオデータのデジタル部分を復号化し、復号化データをユーザインタフェース142に提供し、次に、ユーザインタフェース142は復号化データをビデオディスプレイ136に提供する。
【0016】
図1Aの符号器116並びに復号器138及び140(並びに本明細書に記載される他の全てのステップ及び機能)は、メモリ又は別の種類の記憶装置等のコンピュータ可読記憶装置に記憶されるコンピュータ可読命令を含むコンピュータコードとして実施し得る。コンピュータコードは、特定用途向け集積回路(ASIC)又は他の種類の回路等のプロセッサによりコンピュータシステムで実行される。例えば、符号器116を実施するコンピュータコードは、ヘッドエンド100に存在するコンピュータシステム(サーバ等)で実行し得る。他方、復号器138及び140のコンピュータコードは、一種のコンピュータシステムを構成するセットトップボックス134で実行し得る。コードは、ソースコード、オブジェクトコード、実行可能コード、又は他の形式のプログラム命令から構成されるソフトウェアプログラムとして存在し得る。
【0017】
図1Bは、符号器116並びに復号器138及び140のコンピュータコードを実行し得るコンピュータシステムの例を示す。コンピュータシステムは、全体的に400と示され、本明細書に記載される方法、機能、及び他のステップの幾つか又は全てを実行するソフトウェア命令を実施又は実行し得るプロセッサ401又は処理回路を含む。プロセッサ401からのコマンド及びデータは、通信バス403を介して通信される。コンピュータシステム400は、ランダムアクセスメモリ(RAM)等のコンピュータ可読記憶装置402も含み、コンピュータ可読記憶装置402に、実行中、プロセッサ401のソフトウェア及びデータが存在し得る。記憶装置402は不揮発性データ記憶装置も含み得る。コンピュータシステム400は、ネットワークに接続するためのネットワークインタフェース404も含み得る。他の既知の電子構成要素を追加してもよく、又はコンピュータシステム400に示される構成要素と置換してもよい。コンピュータシステム400は、ヘッドエンド100に存在し、符号器116を実行してもよく、又はセットトップボックス134内に実施して、復号器138及び140を実行してもよい。さらに、コンピュータシステム400は、ヘッドエンド100及びセットトップボックス134以外の場所に存在してもよく、小型化して、スマートフォン又はタブレットコンピュータに一体化してもよい。
【0018】
本発明の実施形態において、ビデオデータが符号器116並びに復号器138及び140によりいかに符号化され復号化されるかの高水準な説明をこれより提供する。この実施形態では、符号器及び復号器は高性能ビデオ符号化(HEVC)方法に従って動作する。HEVCは、ブロックに基づくハイブリッド空間及び時間予測符号化方法である。HEVCでは、入力ピクチャはまず、図2Aに示されるように、LCU(largest coding units:最大符号化ユニット)と呼ばれる正方形ブロックに分割される。基本符号化ユニットが16×16ピクセルのマクロブロックである他のビデオ符号化規格と異なり、HEVCでは、LCUは128×128ピクセルと大きくすることができる。LCUは、CU(符号化ユニット)と呼ばれる4つの正方形ブロックに分割することができ、CUはLCUのサイズの1/4である。各CUは4つのより小さなCUにさらに分けることができ、このCUは元のCUのサイズの1/4である。特定の基準が満たされるまで、分割プロセスを繰り返すことができる。図3Aは、CUに分割されたLCUの例を示す。
【0019】
特定のLCUがCUにいかに分割されるかは、四分木(quadtree)で表すことができる。四分木の各ノードにおいて、ノードがサブノードにさらに分割される場合、フラグが「1」に設定される。その他の場合、フラグは「0」に設定を取り消される。例えば、図3AのLCU区画は図3Bの四分木で表すことができる。これらの「分割フラグ」はまとめて、スキップモードフラグ、統合モードフラグ、及び予測ユニット(predictive unit:PU)モードフラグを含むビデオストリーム内の他のフラグと共に符号化される。図3Bの四分木の場合、分割フラグ10100が、その他のフラグと共にオーバーヘッドとして符号化される。
【0020】
各CUは予測ユニット(PU)にさらに分割することができる。したがって、四分木の各リーフにおいて、最後のCU 2N×2Nは、図2Bに示されるように、4つの可能なパターン(N×N、N×2N、2N×N、及び2N×2N)のうちの1つを保有することができる。CUは、空間的又は時間的に予測符号化することができる。CUがイントラモードで符号化される場合、CUの各PUはそれ自体の空間予測方向を有することができる。CUが中間モード(inter mode)で符号化された場合、CUの各PUはそれ自体の動きベクトル及び関連付けられた参照ピクチャを有することができる。
【0021】
各CUは、ブロック変換演算の適用により変換ユニット(transform unit:TU)に分割することもできる。ブロック変換演算はブロック内のピクセルを非相関化し、ブロックエネルギーを変換ブロックの低次係数にコンパクト化する傾向を有する。しかし、1つのみの変換8×8又は4×4がMBに適用される他の方法とは異なり、本実施形態では、図5Aに示されるように、サイズの異なる1組のブロック変換をCUに適用し得、ここでは、左のブロックがPUに区画されるCUであり、右のブロックは関連付けられた変換ユニット(TU)の組である。CU内の各ブロック変換のサイズ及び位置は、RQTと呼ばれる別個の四分木により記述される。図5Bは、図5Aの例におけるCUのTUの四分木表現を示す。この例では、11000が符号化され、オーバーヘッドの部分として送信される。
【0022】
任意の所与のCUのTU及びPUは異なる目的で使用し得る。TUは通常、変換、量子化、及び符号化演算に使用され、その一方で、PUは通常、空間及び時間予測に使用される。所与のCUの場合、PUの数とTUの数との間に直接的な関係がある必要はない。
【0023】
符号器116(図1A)は、本発明の実施形態によれば、図4Aに示されるいくつかの機能モジュールで構成される。これらのモジュールはハードウェア、ソフトウェア、又はこれらの2つの任意の組み合わせで実施し得る。現在のPU、xが与えられる場合、予測PU、x’がまず、空間予測又は時間予測を通して得られる。この空間又は時間予測は空間予測モジュール129又は時間予測モジュール130のそれぞれにより実行される。
【0024】
水平、垂直、45度対角、135度対角、DC、平坦等を含む、空間予測モジュール129がPU毎に実行することができる幾つかの可能な空間予測方向がある。一実施形態では、4×4、8×8、16×16、32×32、及び64×64ブロックのルマ(Luma)イントラ予測モードの数はそれぞれ、18、35、35、35、及び4である。ルマイントラモードを含め、IntraFromLumaと呼ばれる追加のモードをクロマ(Chroma)イントラ予測モードに使用し得る。シンタックスは、PU毎の空間予測方向を示す。
【0025】
符号器116(図1A)は、動き予測演算を通して時間的予測を実行する。特に、時間予測モジュール130(図4A)は、参照ピクチャ上で現在PUの最適適合予測を検索する。最適適合予測は、動きベクトル(motion vector:MV)及び関連付けられた参照ピクチャ(refIdx)により記述される。Bピクチャ内のPUは最高で2つのMVを有することができる。MV及びrefIdxの両方は、ビットストリーム内のシンタックスの一部である。
【0026】
次に、予測PUは現在PUから差し引かれ、剰余PU,eが生成される。剰余PU,eは次に、一度に1つの変換ユニット(TU)ずつ変換モジュール116により変換され、変換領域内の剰余PU,Eが生成される。このタスクを達成するために、変換モジュール116は正方形又は非正方形ブロック変換のいずれかを使用する。
【0027】
図4Aを再び参照すると、変換係数Eは量子化モジュール118により量子化され、高精度変換係数を有限数の可能な値に変換する。量子化係数は次に、エントロピー符号化モジュール120によりエントロピー符号化され、最終的な圧縮ビットが生成される。エントロピー符号化モジュール120により実行される特定のステップについてより詳細に以下において考察する。
【0028】
時間及び空間予測を促進するために、符号器116も量子化変換係数Eをとり、逆量子化モジュール122を用いて逆量子化し、E’という逆量子化変換係数を生成する。逆量子化変換係数E’は次に、逆変換モジュール124により逆変換されて、再構築剰余PU,e’を生成する。次に、再構築剰余PU,e’は、空間又は時間のいずれかの対応する予測x’に加算されて、再構築PU,x’’を形成する。
【0029】
なお図4Aを参照すると、非ブロック化フィルタ演算が再構築PU,x’’に対して実行され、まず、ブロック化アーチファクトを低減する。復号化ピクチャへの非ブロック化フィルタプロセスの完了後、サンプル適応オフセットプロセスが条件により実行され、それにより、再構築ピクセルと元のピクセルとのピクセル値オフセットを補償する。適合型ループフィルタ関数が条件によりループフィルタモジュール126により再構築PUに対して実行され、これにより、入力ピクチャと出力ピクチャとの符号化歪みが最小化される。再構築ピクチャが参照ピクチャである場合、それらの再構築ピクチャは、将来の時間予測のために参照バッファ128に記憶される。
【0030】
本発明の実施形態では、イントラピクチャ(Iピクチャ等)及びインターピクチャ(Pピクチャ又はBピクチャ等)が符号器116(図1A)によりサポートされる。イントラピクチャは、他のピクチャを参照せずに符号化される。したがって、空間予測がイントラピクチャ内部のCU/PUに使用される。イントラピクチャは、復号化を開始することができる可能なポイントを提供する。他方、インターピクチャは高圧縮を目的とする。インターピクチャはイントラ予測及びインター予測の両方をサポートする。イントラピクチャ内のCU/PUは空間又は時間のいずれかで予測符号化される。時間参照は、前に符号化されたイントラ又はインターピクチャである。
【0031】
本発明の実施形態によるエントロピー符号化モジュール120(図4A)の動作について、より詳細にこれより説明する。エントロピー符号化モジュール120は、量子化モジュール118から受信する係数の量子化マトリクスをとり、その量子化マトリクスを使用して、全ての量子化係数の符号を表す符号マトリクスを生成するとともに、顕著性マップを生成する。顕著性マップは、各要素が量子化係数マトリクス内の非ゼロ量子化係数の位置を指定するマトリクスである。特に、量子化された2D変換マトリクスがあり、位置(y,x)における量子化係数の値がゼロではない場合、それは顕著とみなされ、「1」が関連付けられた顕著性マップ内の位置(y,x)に割り当てられる。その他の場合、「0」が顕著性マップ内の位置(y,x)に割り当てられる。
【0032】
エントロピー符号化モジュール120は、顕著性マップを作成すると、顕著性マップを符号化する。一実施形態では、これは、コンテキスト適応型二値算術符号化(CABAC)技法を使用して達成される。そうするに当たり、エントロピー符号化モジュール120は、走査線に沿って顕著性マップを走査し、顕著性マップ内のエントリ毎に、符号化モジュールは、そのエントリのコンテキストモデルを選ぶ。次に、エントロピー符号化モジュール120は、選ばれたコンテキストモデルに基づいてエントリを符号化する。すなわち、各エントリには、使用されているコンテキストモデル(数学的確率モデル)に基づいて確率が割り当てられる。確率は、顕著性マップ全体が符号化されるまで蓄積される。
【0033】
エントロピー符号化モジュール120により出力される値並びにエントロピー符号化符号、顕著性マップ、及びゼロではない係数は、符号器116(図1A)によりビットストリームに挿入される。このビットストリームは、HFCネットワーク122を介して復号器138及び140に送信される。復号器138及び140(図1A)は、ビットストリームを受信する場合、図4Bに示される機能を実行する。符号器138のエントロピー復号化モジュール146は、符号値、顕著性マップ、及びゼロではない係数を復号化して、量子化変換係数を再生成する。顕著性マップを復号化するに当たり、エントロピー復号化モジュール120は、エントロピー符号化モジュール120と併せて説明された手順の逆を実行する−走査線で構成された走査パターンに沿って顕著性マップを復号化する。次に、エントロピー復号化モジュール146は、係数を逆量子化モジュール147に提供し、逆量子化モジュール147は係数マトリクスを逆量子化し、逆量子化変換係数E’を生成する。逆量子化モジュール147は、逆量子化係数E’を逆変換モジュール149に提供する。逆変換モジュール149は、逆変換演算を係数E’に対して実行して、再構築剰余PU,e’を生成する。フィルタリング及び空間予測が、図4Aと併せて説明されたように適用される。
【0034】
上述したように、符号器側でのビデオピクチャの圧縮ビットストリームへの変換及び復号器側でのビットストリームの元のビデオピクチャへの変換は、マルチステッププロセスである。本明細書において開示される本発明の様々な実施形態は一般に、顕著性マップが符号化され復号化されるプロセスの部分に向けられる。
【0035】
本発明の実施形態による並列処理を達成するために、顕著性マップの要素のうちの少なくとも1つのコンテキストモデルは、同じ走査線に沿った要素を除き、隣接要素の値に基づいて選ばれる。このようにして、同じ走査線に沿った要素間に依存性がなくなる。
【0036】
図6A図6Eを参照すると、符号器116(図1A)は、走査パターンに沿って線毎に顕著性マップ600を処理する。これらの各図では、走査パターンは一連の矢印付き線(arrow-headed line)で表され、各線は走査パターン内の走査線を表す。走査パターンは、例えば、図6Aに示されるジグザグ走査(zigzag scan)等のジグザグ走査、図6Bに示される対角左下走査等の対角左下走査、図6Cに示される対角右上走査等の対角右上走査、図6Dに示される垂直走査等の垂直走査、又は図6Eに示される水平走査等の水平走査であり得る。図6A図6Eに示される走査パターンは、逆に実行してもよく、したがって、パターンは逆の角から開始され、矢印の方向は逆になる。
【0037】
各例では、要素602及び604は走査パターン内で同じ走査線に沿うが、互いに並列処理することができる。これは、これらの2つの要素のそれぞれのコンテキストモデルが他方の要素の値に依存しないためである。換言すれば、第1の要素602のコンテキストモデルは、第2の要素604の値に依存しない。
【0038】
これより、より具体的な例を提供する。(図6A図6B、又は図6Cのように)顕著性マップの要素が対角走査パターンで処理される場合、図7Aの手順を使用し得る。図7Aは、顕著性マップの1組の処理規則のマトリクス表現である。これらの規則は以下のように表現し得、「高さ」は顕著性マップマトリクスの高さ(y軸に沿った要素の数)であり、「幅」は顕著性マップマトリクスの幅(x軸に沿った要素の数)である。
【0039】
規則A:位置(0,0)、(0,1)、又は(1,0)における要素の場合、符号器又は復号器は一意のコンテキストモデルを割り当てる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロックの顕著性マップ内の他の要素と同じコンテキストモデルを共有する。
【0040】
規則B:位置(0,x>1)における要素では、符号器又は復号器は、位置(0,x−1)、(0,x−2)、及び(1,x−2)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0041】
規則C:位置(y>1,0)における要素では、符号器又は復号器は、位置(y−1,0)、(y−2,0)、及び(y−2,1)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0042】
規則D:位置(y>0,x>0)における要素では、符号器又は復号器は、位置(y−1,x−1)、(y−1,x)、及び(y,x−1)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0043】
規則E:位置(y>0,x>0)における要素では、符号器又は復号器は、x>1の場合、(y−1,x−2)及び(y,x−2)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0044】
規則F:位置(y>0,x>0)における要素では、符号器又は復号器は、xが1よりも大きく、yが高さ−1よりも小さい場合、(y+1,x−2)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0045】
規則G:位置(y>0,x>0)における要素では、符号器又は復号器は、yが1よりも大きい場合、(y−2,x−1)及び(y−2,x)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0046】
規則H:位置(y>0,x>0)における要素では、符号器又は復号器は、yが1よりも大きく、xが幅−1よりも小さい場合、(y−2,x+1)における隣接要素の値(0又は1)に基づいて、コンテキストモデルを選ぶ。
【0047】
2進法の「1」のインスタンスの総数が計算され、符号器又は復号器は、その数に対応するコンテキストモデルを使用する。例えば、規則D、E、及びFが要素(y,x)に適用される場合、符号器又は復号器は、(y−1,x−1)、(y−1,x)、(y,x−1)、(y−1,x−2)、(y,x−2)、及び(y+1,x−2)での隣接要素の中から2進法の「1」のインスタンス数を計算する。これらの隣接要素の中に3つの2進法の「1」インスタンスがある場合、コンテキストモデル番号3を使用して、処理中の要素を符号化又は復号化する。各コンテキストモデルは、顕著性マップ内の要素に異なる確率をもたらし得る。
【0048】
図7Bのフローチャートを参照して、本発明の実施形態による上の規則A〜Hの適用についてこれより説明する。ステップ702において、符号器又は復号器は、要素が位置(0,0)、(0,1)、又は(1,0)にあるか否かを判断する。それらの位置にある場合、プロセスはステップ704に続き、そこで、符号器又は復号器は、同じサイズの他の変換ユニット(TU)内の同じ位置にある要素と同じコンテキストモデルを使用する。例えば、同じサイズの前のTU内の位置(0,1)にある要素がコンテキストモデル1を使用する場合、位置(0,1)での要素はコンテキストモデル1を使用する。
【0049】
ステップ706において、符号器又は復号器は、要素が位置(0,x>1)にあるか否かを判断する。そうである場合、プロセスはステップ708に続き、符号器又は復号器は、位置(0,x−1)、(0,x−2)、及び(1,x−2)における隣接要素の値(0又は1)に基づいてコンテキストモデルを選択する。その他の場合、プロセスはステップ710に移り、符号器又は復号器は、要素が位置(y>1,0)にあるか否かを判断する。そうである場合、プロセスはステップ712に移り、符号器又は復号器は、隣接要素(y−1,0)、(y−2,0)、及び(y−2,1)に基づいて要素のコンテキストモデルを選択する。
【0050】
ステップ714において、符号器又は復号器は、要素が位置(y>0,x>0)にあるか否かを判断する。その位置にある場合、プロセスはステップ716に移り、符号器又は復号器は、位置(y−1,x−1)、(y−1,x)、及び(y,x−1)にある要素の値に基づいてその要素のコンテキストモデルを選択する。その位置にない場合、プロセスはステップ718に移り、符号器又は復号器は、要素のx座標が1よりも大きいか否かを判断する。1よりも大きい場合、プロセスはステップ720に進み、符号器又は復号器はさらに、位置(y−1,x−2)及び(y,x−2)における要素の値を考慮する。1よりも大きくない場合、プロセスはステップ726に移る。
【0051】
ステップ722において、符号器又は復号器は、yが顕著性マップの高さから1を引いたものよりも小さいか否かを判断する。ステップ724において、小さい場合、符号器又は復号器はさらに、位置(y+1,x−2)にある要素の値を考慮する。ステップ726において、符号器又は復号器はyが1よりも大きいか否かを判断する。大きい場合、符号器又は復号器はさらに、ステップ728において、位置(y−,x−)及び(y−2,x)にある要素の値を考慮する。ステップ730において、符号器又は復号器は、xが顕著性マップの幅から1を引いたものよりも小さいか否かを判断する。小さい場合、符号器又は復号器はさらに、位置(y−2,x+1)にある要素の値を考慮する。
【0052】
これより図8図15を参照して、上述した処理方式を使用して、顕著性マップの複数の要素をいかに並列処理することができるかの例をこれより示す。この例では、2つの復号器138及び140(図1A)(第1及び第2の復号器と呼ぶ)が顕著性マップ(すなわち、図8図15の仮説的顕著性マップ)を復号化していると仮定する。
【0053】
第1の復号器及び第2の復号器は、顕著性マップを対角左下走査パス(図6Bに示される走査パスのような)で復号化する。上で概説した規則Aに従い、第1の復号器は、前に復号化された顕著性マップ内の位置(0,0)にある要素の復号化に適用されたものと同じコンテキストモデルを位置(0,0)にある要素に適用する。第2の復号器は、前に復号化された顕著性マップ内の位置(0,1)にある要素の復号化に適用されたものと同じコンテキストモデルを位置(0,1)にある要素に適用する。第2の復号器の動作と並列して、第1の復号器は、前に復号化された顕著性マップ内の位置(1,0)にある要素の復号化に適用されたものと同じコンテキストモデルを位置(1,0)にある要素に適用する。
【0054】
第1の復号器は、位置(0,0)、(0,1)、及び(1,0)における要素の値に基づいて、位置(1,1)にある要素のコンテキストモデルを選択する。第2の復号器は同時に、同じ要素群−(0,0)、(0,1)、及び(1,0)を使用することにより、位置(2,0)にある要素のコンテキストモデルを決定する。このプロセスは、走査パターンに沿って各走査線で続けられる。以下の表1は、復号化されている顕著性マップの要素の座標を、使用されるコンテキストモデルの決定に使用される隣接要素、隣接要素群を示す図及び参照符号、並びに使用される規則(上の規則A〜H)と共に列挙する。第1の復号器及び第2の復号器により並列に符号化することができる複数の要素の例が、1列目に示される。簡潔にするために、顕著性マップのあらゆる要素が復号化されているものとして示されるわけではない。表1に示される要素は単なる例が意図される。
【0055】
【表1】
図7A及び図7B並びにそれらに付随する上記説明は、同じ走査線内にある要素に頼らないコンテキストモデルを選ぶことにより、顕著性マップをいかに符号化又は復号化することができるかの例を示す。しかし、本発明の他の実施形態により、顕著性マップの符号化及び復号化を行う多くの他の可能な方法がある。以下の例1〜18はこれらの他の方法のうちのいくつかを示す。
例1
この例は、最高で5つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図16)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0056】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(図17のステップ1700及び1702)。
【0057】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(0,x−2)における隣接要素の値(0又は1)に基づいて選択される(図17のステップ1704及び1706)。
【0058】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,0)における隣接要素の値(0又は1)に基づいて選択される(図17のステップ1708及び1710)。
【0059】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x−1)及び(y−1,x)及び(y,x−1)における隣接要素の値(0又は1)に基づいて選択され(図17のステップ1712及び1714)、
xが1よりも大きく、且つyが高さ−1よりも小さい場合には、(y+1,x−2)における隣接要素の値(0又は1)にも基づいて選択され(図17のステップ1716及び1718)、
yが1よりも大きく、且つxが幅−1よりも小さい場合には、(y−2,x+1)における隣接要素の値(0又は1)にも基づいて選択される(図17のステップ1720及び1722)。
【0060】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみである。
例2
この例は、最高で4つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図18)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0061】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(図19のステップ1900及び1902)。
【0062】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(0,x−2)における隣接要素の値(0又は1)に基づいて選択される(図19のステップ1904及び1906)。
【0063】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,0)における隣接要素の値(0又は1)に基づいて選択される(図19のステップ1908及び1910)。
【0064】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y,x−1)における隣接要素の値(0又は1)に基づいて選択される(図19のステップ1912及び1914)。
【0065】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、xが1よりも大きく、且つyが高さ−1よりも小さい場合には、(y+1,x−2)における隣接要素の値(0又は1)に基づいて選択される(図19のステップ1916及び1918)。
【0066】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、yが1よりも大きく、且つxが幅−1よりも小さい場合には、(y−2,x+1)における隣接要素の値(0又は1)に基づいて選択される(図19のステップ1920及び1922)。
【0067】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例3
この例は、最高で4つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図20)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0068】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(図21のステップ2100及び2102)。
【0069】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−2)における隣接要素の値(0又は1)に基づいて選択される(図21のステップ2104及び2106)。
【0070】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,1)における隣接要素の値(0又は1)に基づいて選択される(図21のステップ2108及び2110)。
【0071】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y,x−1)における隣接要素の値(0又は1)に基づいて選択される(図21のステップ2112及び2114)。
【0072】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、xが1よりも大きく、且つyが高さ−1よりも小さい場合には、(y+1,x−2)における隣接要素の値(0又は1)に基づいて選択される(図21のステップ2116及び2118)。
【0073】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、yが1よりも大きく、且つxが幅−1よりも小さい場合には、(y−2,x+1)における隣接要素の値(0又は1)に基づいて選択される(図21のステップ2120及び2122)。
【0074】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例4
この例は、最高で3つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図22)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0075】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(図23のステップ2300及び2302)。
【0076】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(0,x−2)における隣接要素の値(0又は1)に基づいて選択される(図23のステップ2304及び2306)。
【0077】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,0)における隣接要素の値(0又は1)に基づいて選択される(図23のステップ2308及び2310)。
【0078】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x)、(y,x−1)、及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図23のステップ2312及び2314)。
【0079】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみである。
例5
この例は、最高で2つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図24)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0080】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(図25のステップ2500及び2502)。
【0081】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(0,x−2)における隣接要素の値(0又は1)に基づいて選択される(図25のステップ2504及び2506)。
【0082】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,0)における隣接要素の値(0又は1)に基づいて選択される(図25のステップ2508及び2510)。
【0083】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y,x−1)における隣接要素の値(0又は1)に基づいて選択される(図25のステップ2512及び2514)。
【0084】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例6
この例は、最高で2つの符号化隣接要素を利用するジグザグ走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図26)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0085】
位置(0,0)、(0,1)、又は(1,0)における要素の場合、一意のコンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,0)、(0,1)、又は(1,0)における要素は、同じ位置(0,0)、(0,1)、又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有する(図27のステップ2700及び2702)。
【0086】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−2)における隣接要素の値(0又は1)に基づいて選択される(図27のステップ2704及び2706)。
【0087】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−2,1)における隣接要素の値(0又は1)に基づいて選択される(図27のステップ2708及び2710)。
【0088】
位置(y>0,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y,x−1)における隣接要素の値(0又は1)に基づいて選択される(図27のステップ2712及び2714)。
【0089】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例7
この例は、最高で5つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図28)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0090】
位置(y,0)又は(0,1)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)又は(0,1)における要素は、同じ位置(y,0)又は(0,1)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N,N,・・・N<高さであり、且つ和(N,N,・・・N)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(図29のステップ2900及び2902)。
【0091】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図29のステップ2904及び2906)。
【0092】
位置(1,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)、(1,x−1)、及び(2,x−1)における隣接要素の値(0又は1)に基づいて選択される(図29のステップ2908及び2910)。
【0093】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図29のステップ2912及び2914)。
【0094】
位置(y=高さ−2,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y+1,x−1)、(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図29のステップ2916及び2918)。
【0095】
位置(高さ−2>y>1,x>0)における要素の場合、コンテキストモデルは、位置(y−2,x−1)、(y−1,x−1)、(y,x−1)、(y+1,x−1)、及び(y+2,x−1)における隣接要素の値(0又は1)に基づいて選択される(図29のステップ2920及び2922)。
【0096】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例8
この例は、最高で5つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図30)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0097】
位置(y,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)における要素は、同じ位置(y,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N,N,・・・N<高さであり、且つ和(N,N,・・・N)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(図31のステップ3100及び3102)。
【0098】
位置(0,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図31のステップ3104及び3106)。
【0099】
位置(1,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)、(1,x−1)、及び(2,x−1)における隣接要素の値(0又は1)に基づいて選択される(図31のステップ3108及び3110)。
【0100】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図31のステップ3112及び3114)。
【0101】
位置(y=高さ−2,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)、(y+1,x−1)、及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図31のステップ3116及び3118)。
【0102】
位置(高さ−2>y>1,x>0)における要素の場合、コンテキストモデルは、位置(y−2,x−1)、(y−1,x−1)、(y,x−1)、(y+1,x−1)、及び(y+2,x−1)における隣接要素の値(0又は1)に基づいて選択される(図31のステップ3120及び3122)。
【0103】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみであり、コンテキストとしての位置の使用は、第1の列に対してのみ適用され、これにより、アルゴリズムが簡素化される。
例9
この例は、最高で4つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図32)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0104】
位置(y,0)又は(0,1)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)又は(0,1)における要素は、同じ位置(y,0)又は(0,1)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N,N,・・・N<高さであり、且つ和(N,N,・・・N)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(図33のステップ3300及び3302)。
【0105】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図33のステップ3304及び3306)。
【0106】
位置(1,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)、(1,x−1)、及び(2,x−1)における隣接要素の値(0又は1)に基づいて選択される(図33のステップ3308及び3310)。
【0107】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図33のステップ3312及び3314)。
【0108】
位置(高さ−2>y>1,x=1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図33のステップ3316及び3318)。
【0109】
位置(高さ−2>y>1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−2)、(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図33のステップ3320及び3322)。
【0110】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみである。
例10
この例は、最高で4つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図34)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0111】
位置(y,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)における要素は、同じ位置(y,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N,N,・・・N<高さであり、且つ和(N,N,・・・N)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(図35のステップ3500及び3502)。
【0112】
位置(0,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図35のステップ3504及び3506)。
【0113】
位置(1,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)、(1,x−1)、及び(2,x−1)における隣接要素の値(0又は1)に基づいて選択される(図35のステップ3508及び3510)。
【0114】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図35のステップ3512及び3514)。
【0115】
位置(高さ−2>y>1,1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図35のステップ3516及び3518)。
【0116】
位置(高さ−2>y>1,x=1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図35のステップ3520及び3522)。
【0117】
位置(高さ−2>y>1,x>1)における要素の場合、コンテキストモデルは、位置(y,x−2)、(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図35のステップ3524及び3526)。
【0118】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみであり、コンテキストとしての位置の使用は、第1の列に対してのみ適用され、これにより、アルゴリズムが簡素化される。
例11
この例は、最高で3つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図36)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0119】
位置(y,0)又は(0,1)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)又は(0,1)における要素は、同じ位置(y,0)又は(0,1)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N,N,・・・N<高さであり、且つ和(N,N,・・・N)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(図37のステップ3700及び3702)。
【0120】
位置(0,x>1)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図37のステップ3704及び3706)。
【0121】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図37のステップ3708及び3710)。
【0122】
位置(高さ−2>y>1,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図37のステップ3712及び3714)。
【0123】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例12
この例は、最高で3つの符号化隣接要素を利用する垂直走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図38)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0124】
位置(y,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(y,0)における要素は、同じ位置(y,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<N,N,・・・N<高さであり、且つ和(N,N,・・・N)=高さである間、n個の要素を結合して、同じコンテキストを共有することができる(図39のステップ3900及び3902)。
【0125】
位置(0,x>0)における要素の場合、コンテキストモデルは、位置(0,x−1)及び(1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図39のステップ3904及び3906)。
【0126】
位置(y=高さ−1,x>0)における要素の場合、コンテキストモデルは、位置(y,x−1)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図39のステップ3908及び3910)。
【0127】
位置(高さ−2>y>1,x>0)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y,x−1)、及び(y+1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図39のステップ3912及び3914)。
【0128】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみであり、コンテキストとしての位置の使用は、第1の列に対してのみ適用され、これにより、アルゴリズムが簡素化される。
例13
この例は、最高で5つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図40)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0129】
位置(0,x)又は(1,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)又は(1,0)における要素は、同じ位置(0,x)又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M,M,・・・M<幅であり、且つ和(M,M,・・・M)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(図41のステップ4100及び4102)。
【0130】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(図41のステップ4104及び4106)。
【0131】
位置(y>0,1)における要素の場合、コンテキストモデルは、位置(y−1,0)、(y−1,1)、及び(y−1,2)における隣接要素の値(0又は1)に基づいて選択される(図41のステップ4108及び4110)。
【0132】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図41のステップ4112及び4114)。
【0133】
位置(y>0,x=幅−2)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(図41のステップ4116及び4118)。
【0134】
位置(y>0,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−2)、(y−1,x−1)、(y−1,x)、(y−1,x+1)、及び(y−1,x+2)における隣接要素の値(0又は1)に基づいて選択される(図41のステップ4120及び4122)。
【0135】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例14
この例は、最高で5つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図42)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0136】
位置(0,x)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)における要素は、同じ位置(0,x)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M,M,・・・M<幅であり、且つ和(M,M,・・・M)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(図43のステップ4300及び4302)。
【0137】
位置(y>0,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(図43のステップ4304及び4306)。
【0138】
位置(y>0,1)における要素の場合、コンテキストモデルは、位置(y−1,0)、(y−1,1)、及び(y−1,2)における隣接要素の値(0又は1)に基づいて選択される(図43のステップ4308及び4310)。
【0139】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図43のステップ4312及び4314)。
【0140】
位置(y>0,x=幅−2)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(図43のステップ4316及び4318)。
【0141】
位置(y>0,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−2)、(y−1,x−1)、(y−1,x)、(y−1,x+1)、及び(y−1,x+2)における隣接要素の値(0又は1)に基づいて選択される(図43のステップ4320及び4322)。
【0142】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみであり、コンテキストとしての位置の使用は、第1の行に対してのみ適用され、これにより、アルゴリズムが簡素化される。
例15
この例は、最高で4つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図44)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0143】
位置(0,x)又は(1,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)又は(1,0)における要素は、同じ位置(0,x)又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M,M,・・・M<幅であり、且つ和(M,M,・・・M)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(図45のステップ4500及び4502)。
【0144】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(図45のステップ4504及び4506)。
【0145】
位置(y>0,1)における要素の場合、コンテキストモデルは、位置(y−1,0)、(y−1,1)、及び(y−1,2)における隣接要素の値(0又は1)に基づいて選択される(図45のステップ4508及び4510)。
【0146】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図45のステップ4512及び4514)。
【0147】
位置(y=1,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(図45のステップ4516及び4518)。
【0148】
位置(y>1,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−2,x)、(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(図45のステップ4520及び4522)。
【0149】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみである。
例16
この例は、最高で4つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図46)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0150】
位置(0,x)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)における要素は、同じ位置(0,x)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M,M,・・・M<幅であり、且つ和(M,M,・・・M)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(図47のステップ4700及び4702)。
【0151】
位置(y>0,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(図47のステップ4704及び4706)。
【0152】
位置(y>0,1)における要素の場合、コンテキストモデルは、位置(y−1,0)、(y−1,1)、及び(y−1,2)における隣接要素の値(0又は1)に基づいて選択される(図47のステップ4708及び4710)。
【0153】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図47のステップ4712及び4714)。
【0154】
位置(y=1,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(図47のステップ4716及び4718)。
【0155】
位置(y>1,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−2,x)、(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(図47のステップ4720及び4722)。
【0156】
この例において提供される方式を使用することにより、記憶する必要がある係数は2本の隣接走査線内の係数のみであり、コンテキストとしての位置の使用は、第1の行に対してのみ適用され、これにより、アルゴリズムが簡素化される。
例17
この例は、最高で3つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図48)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0157】
位置(0,x)又は(1,0)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)又は(1,0)における要素は、同じ位置(0,x)又は(1,0)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M,M,・・・M<幅であり、且つ和(M,M,・・・M)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(図49のステップ4900及び4902)。
【0158】
位置(y>1,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(図49のステップ4904及び4906)。
【0159】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図49のステップ4908及び4910)。
【0160】
位置(y>0,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(図49のステップ4912及び4914)。
【0161】
この例において提供される方式を使用することにより、記憶する必要がある係数は1本の隣接走査線内の係数のみである。
例18
この例は、最高で3つの符号化隣接要素を利用する水平走査パターンの場合のコンテキストモデル選択を示す。特に、高さ×幅の顕著性マップ(図50)を考えると、顕著性マップ内の要素のコンテキストモデルは以下のように決定される。
【0162】
位置(0,x)における要素の場合、一意又は結合コンテキストモデルが割り当てられる。すなわち、現在ブロック内の位置(0,x)における要素は、同じ位置(0,x)における他のブロック内の他の要素と同じコンテキストモデルを共有し、0<M,M,・・・M<幅であり、且つ和(M,M,・・・M)=幅である間、m個の要素を結合して、同じコンテキストを共有することができる(図51のステップ5100及び5102)。
【0163】
位置(y>0,0)における要素の場合、コンテキストモデルは、位置(y−1,0)及び(y−1,1)における隣接要素の値(0又は1)に基づいて選択される(図51のステップ5104及び5106)。
【0164】
位置(y>0,x=幅−1)における要素の場合、コンテキストモデルは、位置(y−1,x)及び(y−1,x−1)における隣接要素の値(0又は1)に基づいて選択される(図51のステップ5108及び5110)。
【0165】
位置(y>0,幅−2>x>1)における要素の場合、コンテキストモデルは、位置(y−1,x−1)、(y−1,x)、及び(y−1,x+1)における隣接要素の値(0又は1)に基づいて選択される(図51のステップ5112及び5114)。
【0166】
本開示の全体を通して具体的に説明したが、代表的な例は広範囲の用途にわたり有用性を有し、上記考察は、限定を意図せず、限定として解釈されるべきではない。本明細書において使用される用語、説明、及び図は、例としてのみ記載され、限定を意図されない。多くの変形が例の趣旨及び範囲内で可能であることを当業者は認識する。例を参照して例を説明したが、当業者は、以下の特許請求の範囲に記載される例及びそれらの均等物の範囲から逸脱せずに、記載された例に様々な変更を行うことが可能である。
図2A
図2B
図3A
図5A
図5B
図6A
図6B
図6C
図6D
図6E
図7A
図8
図9
図10
図11
図12
図13
図14
図15
図16
図18
図20
図22
図24
図26
図28
図30
図32
図34
図36
図38
図44
図46
図48
図50
図1A
図1B
図3B
図4A
図4B
図7B
図17
図19
図21
図23
図25
図27
図29
図31
図33
図35
図37
図39
図40
図41
図42
図43
図45
図47
図49
図51