(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6707709
(24)【登録日】2020年5月22日
(45)【発行日】2020年6月10日
(54)【発明の名称】量子化を用いるエンコーダ、デコーダ、および方法
(51)【国際特許分類】
H04N 19/12 20140101AFI20200601BHJP
H03M 7/30 20060101ALI20200601BHJP
H04N 19/124 20140101ALI20200601BHJP
H04N 19/176 20140101ALI20200601BHJP
H04N 19/154 20140101ALI20200601BHJP
H04N 19/46 20140101ALI20200601BHJP
H04N 1/41 20060101ALI20200601BHJP
【FI】
H04N19/12
H03M7/30 Z
H04N19/124
H04N19/176
H04N19/154
H04N19/46
H04N1/41
【請求項の数】47
【全頁数】47
(21)【出願番号】特願2019-501959(P2019-501959)
(86)(22)【出願日】2017年7月17日
(65)【公表番号】特表2019-527959(P2019-527959A)
(43)【公表日】2019年10月3日
(86)【国際出願番号】EP2017025215
(87)【国際公開番号】WO2018010852
(87)【国際公開日】20180118
【審査請求日】2019年10月25日
(31)【優先権主張番号】1612365.5
(32)【優先日】2016年7月15日
(33)【優先権主張国】GB
【早期審査対象出願】
(73)【特許権者】
【識別番号】513156386
【氏名又は名称】グルロジック マイクロシステムズ オーワイ
【氏名又は名称原語表記】Gurulogic Microsystems Oy
(74)【代理人】
【識別番号】100127188
【弁理士】
【氏名又は名称】川守田 光紀
(72)【発明者】
【氏名】カレヴォ オッシ
【審査官】
片岡 利延
(56)【参考文献】
【文献】
国際公開第2013/128010(WO,A2)
【文献】
米国特許出願公開第2015/0063461(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
H03M 7/30
(57)【特許請求の範囲】
【請求項1】
エンコーダ(110)を介して、入力データを符号化し、対応する符号化データを生成する方法であって、前記入力データは複数のデータ部分を含み、1つのデータ部分は1つのデータブロックを指し、前記方法は、
(a) 所定のデータ部分が、対応する所定の品質パラメータ値を有するように、前記複数のデータ部分に対して1つ以上の前記品質パラメータ値を部分ごとに設定することと、
(b) 前記複数のデータ部分を解析し、前記複数のデータ部分の符号化に用いる少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を選択することと、
(c) (b)において選択した少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いて、前記複数のデータ部分を符号化し、対応する符号化データ部分を生成することと、
(d) 前記符号化データ部分を集約して、前記符号化データを生成することと、
(e) 前記少なくとも2つの量子化強度を示す情報および前記1つ以上の品質パラメータ値を示す情報を前記符号化データに組み込むことと、
を含み、
所定のデータ部分に対し、対応する所定の符号化方法および対応する所定の量子化強度が選択されてその符号化に用いられ、前記対応する所定の符号化方法および前記対応する所定の量子化強度は、(a)において前記所定のデータ部分に設定した所定の前記品質パラメータ値に基づいて選択され、
前記複数のデータ部分からの少なくとも2つのデータ部分は、(b)において選択した前記少なくとも1つの符号化方法から同じ符号化方法を用いて、かつ、(a)において前記少なくとも2つのデータ部分に設定した同じ前記品質パラメータ値に対して異なる量子化強度を用いて符号化される
ことを特徴とする方法。
【請求項2】
前記複数のデータ部分の符号化に用いる前記少なくとも1つの符号化方法は、複数の符号化方法から選択され、
前記方法は、前記少なくとも1つの符号化方法を示す情報を前記符号化データに組み込むことをさらに含む
ことを特徴とする、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの符号化方法は、前記複数のデータ部分の符号化に用いる少なくとも2つの符号化方法を含み、
前記方法は、前記少なくとも2つの符号化方法を示す情報を前記符号化データに組み込むことをさらに含む
ことを特徴とする、請求項1または2に記載の方法。
【請求項4】
所定のデータ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の前記品質パラメータ値を示す情報、のうち少なくとも2つが一緒に、前記所定のデータ部分に対する単一の情報として組み込まれることを特徴とする、請求項2または3に記載の方法。
【請求項5】
前記少なくとも1つの符号化方法を示す前記情報、前記少なくとも2つの量子化強度を示す前記情報、および/または前記1つ以上の品質パラメータ値を示す前記情報、のうち少なくとも2つを、単一のデータストリームに組み込むことを含むことを特徴とする、請求項4に記載の方法。
【請求項6】
所定のデータ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の前記品質パラメータ値を示す情報が個別に、前記所定のデータ部分に対する個別の情報として組み込まれることを特徴とする、請求項2または3に記載の方法。
【請求項7】
前記少なくとも1つの符号化方法を示す前記情報、前記少なくとも2つの量子化強度を示す前記情報、および前記1つ以上の品質パラメータ値を示す前記情報を、個別のデータストリームに組み込むことを含むことを特徴とする、請求項6に記載の方法。
【請求項8】
前記複数のデータ部分の符号化に用いる少なくとも2つの量子化方法を選択することをさらに含み、
前記複数のデータ部分からの少なくとも2つのデータ部分は、同じ符号化方法を用いて、かつ、(a)において前記少なくとも2つのデータ部分に設定した同じ前記品質パラメータ値に対して異なる量子化強度および異なる量子化方法を用いて符号化される
ことを特徴とする、請求項1から7のいずれかに記載の方法。
【請求項9】
前記符号化データ部分は、用いた異なる符号化方法および/または異なる量子化強度に基づいて、前記符号化データ内に含まれる複数のデータストリームへと集約されることを特徴とする、請求項1から8のいずれかに記載の方法。
【請求項10】
前記少なくとも2つの量子化強度を示す前記情報と、前記1つ以上の品質パラメータ値を示す前記情報は、1つ以上のデータストリームの形式で前記符号化データに組み込まれることを特徴とする、請求項1から9のいずれかに記載の方法。
【請求項11】
前記入力データは、画像データ、動画データ、音声データ、生体データ、ゲノムデータ、医療測定データ、センサデータ、監視データ、多次元データの少なくとも1つを含むことを特徴とする、請求項1から10のいずれかに記載の方法。
【請求項12】
前記少なくとも2つの量子化強度は、前記入力データの前記複数のデータ部分の1つ以上の特性に基づいて動的に選択されることを特徴とする、請求項1から11のいずれかに記載の方法。
【請求項13】
入力データを符号化し、対応する符号化データを生成するエンコーダ(110)であって、前記入力データは複数のデータ部分を含み、1つのデータ部分は1つのデータブロックを指し、前記エンコーダ(110)は、前記入力データを処理するデータ処理構成を備え、前記エンコーダ(110)は、
(a) 所定のデータ部分が、対応する所定の品質パラメータ値を有するように、前記複数のデータ部分に対して1つ以上の前記品質パラメータ値を部分ごとに設定するように動作し、
(b) 前記複数のデータ部分を解析し、前記複数のデータ部分の符号化に用いる少なくとも1つの符号化方法および少なくとも2つの量子化強度を選択するように動作する解析器(210)を備え、
(c) (b)において選択した少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いて、前記複数のデータ部分を符号化し、対応する符号化データ部分を生成するように動作する符号化構成(220)を備え、
(d) 前記符号化データ部分を集約して、前記符号化データを生成するように動作する集約器(230)を備え、
(e) 前記少なくとも2つの量子化強度を示す情報および前記1つ以上の品質パラメータ値を示す情報を前記符号化データに組み込むように動作し、
所定のデータ部分に対し、対応する所定の符号化方法および対応する所定の量子化強度が選択されてその符号化に用いられ、前記対応する所定の符号化方法および前記対応する所定の量子化強度は、(a)において前記所定のデータ部分に設定した所定の前記品質パラメータ値に基づいて選択され、
前記複数のデータ部分からの少なくとも2つのデータ部分は、(b)において選択した前記少なくとも1つの符号化方法から同じ符号化方法を用いて、かつ、(a)において前記少なくとも2つのデータ部分に設定した同じ前記品質パラメータ値に対して異なる量子化強度を用いて符号化される
ことを特徴とするエンコーダ(110)。
【請求項14】
前記解析器(210)は、前記複数のデータ部分の符号化に用いる前記少なくとも1つの符号化方法を、複数の符号化方法から選択するように動作し、
前記エンコーダ(110)は、前記少なくとも1つの符号化方法を示す情報を前記符号化データに組み込むように動作する
ことを特徴とする、請求項13に記載のエンコーダ(110)。
【請求項15】
前記少なくとも1つの符号化方法は、前記複数のデータ部分の符号化に用いる少なくとも2つの符号化方法を含み、
前記エンコーダ(110)は、前記少なくとも2つの符号化方法を示す情報を前記符号化データに組み込むように動作する
ことを特徴とする、請求項13または14に記載のエンコーダ(110)。
【請求項16】
所定のデータ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の前記品質パラメータ値を示す情報、のうち少なくとも2つが一緒に、前記所定のデータ部分に対する単一の情報として組み込まれることを特徴とする、請求項14または15に記載のエンコーダ(110)。
【請求項17】
前記少なくとも1つの符号化方法を示す前記情報、前記少なくとも2つの量子化強度を示す前記情報、および/または前記1つ以上の品質パラメータ値を示す前記情報、のうち少なくとも2つを、単一のデータストリームに組み込むように動作することを特徴とする、請求項16に記載のエンコーダ(110)。
【請求項18】
所定のデータ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の前記品質パラメータ値を示す情報が個別に、前記所定のデータ部分に対する個別の情報として組み込まれることを特徴とする、請求項14または15に記載のエンコーダ(110)。
【請求項19】
前記少なくとも1つの符号化方法を示す前記情報、前記少なくとも2つの量子化強度を示す前記情報、および前記1つ以上の品質パラメータ値を示す前記情報を、個別のデータストリームに組み込むように動作することを特徴とする、請求項18に記載のエンコーダ(110)。
【請求項20】
前記複数のデータ部分の符号化に用いる少なくとも2つの量子化方法を選択するように動作し、
前記複数のデータ部分からの少なくとも2つのデータ部分は、同じ符号化方法を用いて、かつ、(a)において前記少なくとも2つのデータ部分に設定した同じ前記品質パラメータ値に対して異なる量子化強度および異なる量子化方法を用いて符号化される
ことを特徴とする、請求項13から19のいずれかに記載のエンコーダ(110)。
【請求項21】
前記集約器(230)は、前記符号化データ部分を、用いた異なる符号化方法および/または異なる量子化強度に基づいて、前記符号化データ内に含まれる複数のデータストリームへと集約するように動作することを特徴とする、請求項13から20のいずれかに記載のエンコーダ(110)。
【請求項22】
前記少なくとも2つの量子化強度を示す前記情報と、前記1つ以上の品質パラメータ値を示す前記情報は、1つ以上のストリームの形式で前記符号化データに組み込まれることを特徴とする、請求項13から21のいずれかに記載のエンコーダ(110)。
【請求項23】
前記入力データは、画像データ、動画データ、音声データ、生体データ、ゲノムデータ、医療測定データ、センサデータ、監視データ、多次元データの少なくとも1つを含むことを特徴とする、請求項13から22のいずれかに記載のエンコーダ(110)。
【請求項24】
前記解析器(210)は、前記少なくとも2つの量子化強度を、前記入力データの前記複数のデータ部分の1つ以上の特性に基づいて動的に選択するように動作することを特徴とする、請求項13から23のいずれかに記載のエンコーダ(110)。
【請求項25】
デコーダ(120)を介して、符号化データを復号化し、対応する復号化データを生成する方法であって、1つのデータ部分は1つのデータブロックを指し、前記方法は、
(a) 前記符号化データの複数の符号化データ部分の生成中に、少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化強度および1つ以上の品質パラメータ値を示す情報を、前記符号化データ内から受信することと、
(b) (a)からの前記情報を用いて、前記少なくとも1つの符号化方法の逆を、前記少なくとも2つの量子化強度および前記1つ以上の品質パラメータ値と共に、前記符号化データの対応する符号化データ部分に部分ごとに適用し、対応する復号化データ部分を生成することと、
(c) 前記復号化データ部分を集約して、前記復号化データを生成することと、
を含み、
少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いた、前記複数の符号化データ部分からの少なくとも2つの符号化データ部分の生成中に、それらの符号化データ部分に対し、同じ符号化方法と共に、同じ品質パラメータ値に対して異なる量子化強度が用いられ、
所定の符号化データ部分に対し、対応する所定の符号化方法の逆が、対応する所定の量子化強度および対応する所定の品質パラメータ値と共に適用され、対応する復号化データ部分が生成される
ことを特徴とする方法。
【請求項26】
前記符号化データの前記複数の符号化データ部分の生成中に、前記少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化方法を示す情報を、前記符号化データ内から受信することを含み、
前記複数の符号化データ部分からの少なくとも2つの符号化データ部分は、同じ符号化方法と共に、同じ品質パラメータ値に対して異なる量子化強度および異なる量子化方法を用いて生成される
ことを特徴とする、請求項25に記載の方法。
【請求項27】
前記符号化データは、用いた異なる符号化方法および/または異なる量子化強度に対応する前記複数の符号化データ部分がそれぞれ集約された複数のデータストリームを含むことを特徴とする、請求項25または26に記載の方法。
【請求項28】
前記符号化データは、その前記複数の符号化データ部分の生成中に用いた前記少なくとも2つの量子化強度および前記1つ以上の品質パラメータ値を示す前記情報が組み込まれた1つ以上のデータストリームを含むことを特徴とする、請求項25から27のいずれかに記載の方法。
【請求項29】
前記複数の符号化データ部分の生成中に用いた前記少なくとも1つの符号化方法を示す情報を、前記符号化データ内から受信することを含むことを特徴とする、請求項25から28のいずれかに記載の方法。
【請求項30】
所定の符号化データ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の前記品質パラメータ値を示す情報、のうち少なくとも2つが一緒に、前記所定の符号化データ部分に対する単一の情報として受信されることを特徴とする、請求項29に記載の方法。
【請求項31】
前記少なくとも1つの符号化方法を示す前記情報、前記少なくとも2つの量子化強度を示す情報、および/または前記1つ以上の品質パラメータ値を示す情報、のうち少なくとも2つを、単一のデータストリームで受信することを含むことを特徴とする、請求項30に記載の方法。
【請求項32】
所定の符号化データ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の前記品質パラメータ値を示す情報が個別に、前記所定の符号化データ部分に対する個別の情報として受信されることを特徴とする、請求項29に記載の方法。
【請求項33】
前記少なくとも1つの符号化方法を示す前記情報、前記少なくとも2つの量子化強度を示す情報、および前記1つ以上の品質パラメータ値を示す情報を個別のデータストリームで受信することを含むことを特徴とする、請求項32に記載の方法。
【請求項34】
前記符号化データは、符号化画像データ、符号化動画データ、符号化音声データ、符号化生体データ、符号化ゲノムデータ、符号化医療測定データ、符号化センサデータ、符号化監視データ、符号化多次元データの少なくとも1つを含むことを特徴とする、請求項25から33のいずれかに記載の方法。
【請求項35】
符号化データを復号化し、対応する復号化データを生成するデコーダ(120)であって、前記デコーダ(120)は、前記符号化データを処理するデータ処理構成を備え、1つのデータ部分は1つのデータブロックを指し、前記デコーダ(120)は、
(a) 前記符号化データの複数の符号化データ部分の生成中に、少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化強度および1つ以上の品質パラメータ値を示す情報を、前記符号化データ内から受信するように動作する情報復号化構成(410)と、
(b) (a)からの前記情報を用いて、前記少なくとも1つの符号化方法の逆を、前記少なくとも2つの量子化強度および前記1つ以上の品質パラメータ値と共に、前記符号化データの対応する符号化データ部分に部分ごとに適用し、対応する復号化データ部分を生成するように動作する復号化構成(420)と、
(c) 前記復号化データ部分を集約して、前記復号化データを生成するように動作する集約器(430)と、
を備え、
少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いた、前記複数の符号化データ部分からの少なくとも2つの符号化データ部分の生成中に、それらの符号化データ部分に対し、同じ符号化方法と共に、同じ品質パラメータ値に対して異なる量子化強度が用いられ、
所定の符号化データ部分に対し、対応する所定の符号化方法の逆が、対応する所定の量子化強度および対応する所定の品質パラメータ値と共に適用され、対応する復号化データ部分が生成される
ことを特徴とするデコーダ(120)。
【請求項36】
前記情報復号化構成(410)は、前記符号化データの前記複数の符号化データ部分の生成中に、前記少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化方法を示す情報を、前記符号化データ内から受信するように動作し、
前記複数の符号化データ部分からの少なくとも2つの符号化データ部分は、同じ符号化方法と共に、同じ品質パラメータ値に対して異なる量子化強度および異なる量子化方法を用いて生成される
ことを特徴とする、請求項35に記載のデコーダ(120)。
【請求項37】
前記符号化データは、用いた異なる符号化方法および/または異なる量子化強度に対応する前記複数の符号化データ部分がそれぞれ集約された複数のデータストリームを含むことを特徴とする、請求項35または36に記載のデコーダ(120)。
【請求項38】
前記符号化データは、その前記複数の符号化データ部分の生成中に用いた前記少なくとも2つの量子化強度および前記1つ以上の品質パラメータ値を示す前記情報が組み込まれた1つ以上のデータストリームを含むことを特徴とする、請求項35から37のいずれかに記載のデコーダ(120)。
【請求項39】
前記情報復号化構成(410)は、前記複数の符号化データ部分の生成中に用いた前記少なくとも1つの符号化方法を示す情報を、前記符号化データ内から受信するように動作することを特徴とする、請求項35から38のいずれかに記載のデコーダ(120)。
【請求項40】
所定の符号化データ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の前記品質パラメータ値を示す情報、のうち少なくとも2つが一緒に、前記所定の符号化データ部分に対する単一の情報として組み込まれることを特徴とする、請求項39に記載のデコーダ(120)。
【請求項41】
前記情報復号化構成(410)は、前記少なくとも1つの符号化方法を示す前記情報、前記少なくとも2つの量子化強度を示す情報、および/または前記1つ以上の品質パラメータ値を示す情報、のうち少なくとも2つを、単一のデータストリームで受信するように動作することを特徴とする、請求項40に記載のデコーダ(120)。
【請求項42】
所定の符号化データ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の前記品質パラメータ値を示す情報が個別に、前記所定の符号化データ部分に対する個別の情報として受信されることを特徴とする、請求項39に記載のデコーダ(120)。
【請求項43】
前記情報復号化構成(410)は、前記少なくとも1つの符号化方法を示す前記情報、前記少なくとも2つの量子化強度を示す情報、および前記1つ以上の品質パラメータ値を示す情報を個別のデータストリームで受信するように動作することを特徴とする、請求項42に記載のデコーダ(120)。
【請求項44】
前記符号化データは、符号化画像データ、符号化動画データ、符号化音声データ、符号化生体データ、符号化ゲノムデータ、符号化医療測定データ、符号化センサデータ、符号化監視データ、符号化多次元データの少なくとも1つを含むことを特徴とする、請求項35から43のいずれかに記載のデコーダ(120)。
【請求項45】
装置の処理手段に実行されると、前記装置に、請求項1から12のいずれかに記載の方法を実行させるように構成されるコンピュータ可読命令を備える、コンピュータプログラム。
【請求項46】
装置の処理手段に実行されると、前記装置に、請求項25から34のいずれかに記載の方法を実行させるように構成されるコンピュータ可読命令を備える、コンピュータプログラム。
【請求項47】
請求項13から24のいずれかに記載の少なくとも1つのエンコーダ(110)と、請求項35から44のいずれかに記載の少なくとも1つのデコーダ(120)とを備えるコーデック(130)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、入力データを符号化し、対応する符号化データを生成するエンコーダに関する。本開示は、入力データを符号化し、対応する符号化データを生成する方法にも関する。本開示は、符号化データを復号化し、対応する復号化データを生成するデコーダにも関する。本開示は、符号化データを復号化し、対応する復号化データを生成する方法にも関する。さらに本開示は、前述の方法を実行するために、処理ハードウェアを備えるコンピュータ装置によって実行可能なコンピュータ可読命令が格納された非一時的コンピュータ可読格納媒体を含む、コンピュータプログラム製品にも関する。さらに本開示は、少なくとも1つの前述のエンコーダおよび少なくとも1つの前述のデコーダを備えるコーデックにも関する。例えばマルチキャストコンテンツ配信システムにおいて、例えば少なくとも1つのエンコーダおよび複数のデコーダを備える。
【0002】
近年、データの利用、格納、および転送が急速に増加している。データは格納領域を必要とし、ある場所から別の場所へと通信される場合は伝送帯域幅を必要とする。画像、動画、音声、ゲノムデータ、測定データ、またはその他のデータを格納または伝送する場合、コストとエネルギーを節約しつつ、良好なユーザ経験すなわち高品質と低遅延を実現するために、当該データを可能なかぎり高い品質で可能なかぎり圧縮することが望ましい。
【0003】
データ圧縮はよく知られた技術であり、所定のデータの通信時に利用される通信ネットワーク容量や、格納時に利用されるデータ格納容量を削減することを可能にする。データ圧縮は、データを圧縮しても情報が失われない可逆圧縮、または、データを圧縮するとある程度の情報が失われる非可逆圧縮とすることができる。
【0004】
変換ベースの符号化方法の多くが、現代の画像、動画、および音声の圧縮コーデックで用いられる。信号を周波数領域に符号化する変換の例として、離散コサイン変換(Discrete Cosine Transform:DCT、参照文献[1]を参照)、逆散乱変換(Inverse Scattering Transform:IST、参照文献[2]を参照)、離散サイン変換(Discrete Sine Transform:DST、参照文献[3]を参照)、離散フーリエ変換(Discrete Fourier Transform:DFT、参照文献[4]を参照)、高速フーリエ変換(Fast Fourier Transform:FFT、参照文献[5]を参照)、ウェーブレット(参照文献[6]を参照)、アダマール変換(参照文献[7]を参照)などがある。既知の変換ベースの符号化方法は、現代の画像や動画の非可逆圧縮標準において、データを符号化して対応する符号化データを生成するためによく用いられる。これらの標準には、例えば現在知られているJPEG(参照文献[8]を参照)、H.264(参照文献[9]を参照)、HEVC(参照文献[10]を参照)などがある。変換ベースの符号化方法のいくつかは、音声データ圧縮用の現代の符号化標準であるMP3(参照文献[11]を参照)にも使用されている。また、DCTベースの符号化方法は、データを効率的に圧縮する「強力なエネルギー圧縮特性」のため、効果的に用いることができる。
【0005】
互いに異なるデータブロックやデータパケットを処理する際に、複数の互いに異なる符号化方法(例えば、マルチレベル符号化、スケール符号化、スライド符号化、ライン符号化、外挿法、内挿法、データベースへの参照を介した符号化、DCTなど)を用いるように動作するコーデックもある。これらのコーデックには、例えば、英国登録特許公報第2503295号に記載されるようなデータブロックエンコーダや、英国登録特許公報第2505169号に記載されるようなデータブロックデコーダなどがある。
【0006】
実際、互いに異なる種類のデータブロックやデータパケットには、互いに異なる方法がより適していることが分かっている。換言すれば、データ符号化の一般的なDCT方法だけでは、前述の他の符号化方法と適正に競い合うには不十分である。同様に、他の方法においても、処理対象の所定のデータブロックやデータパケットに適切な圧縮結果をもたらすのはどの種類の量子化であるかを判断するのは困難である。
【0007】
DCTおよびその他の変換は、入力データから符号化データを生成する際に、異なる品質やビット目標値を得るために、異なる量子化パラメータまたは異なる量子化テーブルと共によく用いられることが知られている。例えば、所定のH.264エンコーダによって生成される符号化データにおいて、所定のブロックのDCT係数に対する量子化強度を直接的に決定する量子化パラメータが用いられる。また、例えば、JPEGエンコーダによって生成される符号化データにおいて、個々のDCT係数値に対する量子化強度を決定する量子化テーブルが用いられる。しかしながら、既知のH.264標準およびJPEG標準において、互いに同じ品質パラメータを有する複数のDCT変換ブロックを含む符号化データを生成するが、それらのデータは、同標準に従って符号化された符号化ブロック用に選択された異なる量子化強度を用いて符号化されることは知られていない。
【0008】
さらに、前述の既知の手法には、基礎となる方法(例えばDCT)と共に、所定の同一の品質パラメータと、異なる量子化強度とを用いる場合に、異なる符号化方法(例えばDCTQLおよびDCTQH)に関する選択情報を挿入する選択肢が含まれていない。実際、前述の既知の方法は、符号化データに品質パラメータを挿入せず、当該ブロックのDCT変換係数に用いた量子化強度のみを挿入する。
【0009】
異なる量子化パラメータまたは異なる量子化テーブル(量子化)は、異なるカラーチャネル(例えば、YUV色空間内の輝度チャネルYとクロミナンスチャネルUおよびV)に用いられることも知られている。また、他の符号化方法を異なる量子化と共に用いることができることも知られている。
【0010】
しかしながら、複数の異なる符号化方法による符号化処理および復号化処理中に、互いに異なる量子化をブロック単位またはパケット単位で切り替える、簡単でコスト効率の良い機構を提供するような既知の符号化ソリューションはまだない。現在、所定のフレーム、チャネル、スライス、または関心領域(Region of Interest:ROI)の量子化パラメータを変更することはできるが、符号化方法および量子化の変更に必要な、精度や柔軟性に関して適切な構成は現在はサポートされていない。一般的には、1つの符号化方法のみが用いられ、その符号化方法に対する量子化パラメータはほとんど変更されない。そのため、従来の符号化ソリューションでは少数の変更のみに関する情報が提供され、この情報の提供方法に関してはあまり考慮されていない。したがって、そのような手法は、符号化方法および量子化レベルの(例えば、ブロックまたはパケットごとの)変更が多い場合に関連する情報を提供するには(例えばデータオーバヘッドの点で)コストがかかりすぎる。
【0011】
公開済みPCT特許出願である国際公開公報第2013/128010号(Leannec Fabrice Le et. al. ;「Method and devices for encoding a sequence of images into a scalable video bit−stream, and decoding a corresponding scalable video bit−stream(一連の画像をスケーラブル動画ビットストリームに符号化し、対応するスケーラブル動画ビットストリームを復号化する方法および装置)」)には、基本レイヤおよび拡張レイヤを符号化することを含む符号化方法が記載されている。前記拡張レイヤを符号化することは、イントラフレーム予測のみによって元の拡張INTRA画像を符号化することを含む。前記元の拡張INTRA画像を符号化することは、前記元の拡張INTRA画像と、前記基本レイヤ内の対応する符号化基本画像を復号化したものとの差分として、それぞれブロックタイプを有する画素ブロックを含む残差画像を取得することと、所定のブロックタイプを有するブロックの画素値を、それぞれ係数タイプを有する一式の係数に変換することと、各係数タイプの初期係数符号化メリット(initial coefficient encoding merit)を決定することと、各係数の対応する前記初期係数符号化メリットと所定のブロックメリット(block merit)とに基づいて係数を選択することと、選択された前記係数を量子化シンボルに量子化することと、前記量子化シンボルを符号化することと、を含む。
【0012】
本開示は、入力データ(D1)を符号化し、対応する符号化データ(E2)を生成する改良された方法を提供することを目的とする。
【0013】
また、本開示は、入力データ(D1)を符号化し、対応する符号化データ(E2)を生成する改良されたエンコーダを提供することを目的とする。
【0014】
また、本開示は、符号化データ(E2)を復号化し、対応する復号化データ(D3)を生成する改良された方法を提供することを目的とする。
【0015】
また、本開示は、符号化データ(E2)を復号化し、対応する復号化データ(D3)を生成する改良されたデコーダを提供することを目的とする。
【0016】
本開示のさらなる目的は、前述の従来技術の問題の少なくともいくつかを、少なくとも部分的に解決することである。
【0017】
第1の態様において、本開示の実施形態により、エンコーダを介して、入力データ(D1)を符号化し、対応する符号化データ(E2)を生成する方法が提供される。前記入力データ(D1)は複数のデータ部分を含み、1つのデータ部分は1つのデータブロックを指す。前記方法は、
(a) 所定のデータ部分が、対応する所定の品質パラメータ値を有するように、前記複数のデータ部分に対して1つ以上の前記品質パラメータ値を部分ごとに設定することと、
(b) 前記複数のデータ部分を解析し、前記複数のデータ部分の符号化に用いる少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を選択することと、
(c) (b)において選択した少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いて、前記複数のデータ部分を符号化し、対応する符号化データ部分を生成することと、
(d) 前記符号化データ部分を集約して、前記符号化データ(E2)を生成することと、
(e) 前記少なくとも2つの量子化強度を示す情報および前記1つ以上の品質パラメータ値を示す情報を前記符号化データ(E2)に組み込むことと、
を含み、
所定のデータ部分に対し、対応する所定の符号化方法および対応する所定の量子化強度が選択されてその符号化に用いられ、前記対応する所定の符号化方法および前記対応する所定の量子化強度は、(a)において前記所定のデータ部分に設定した所定の前記品質パラメータ値に基づいて選択され、
前記複数のデータ部分からの少なくとも2つのデータ部分は、(b)において選択した前記少なくとも1つの符号化方法から同じ符号化方法を用いて、かつ、(a)において前記少なくとも2つのデータ部分に設定した同じ前記品質パラメータ値に対して異なる量子化強度を用いて符号化されることを特徴とする。
【0018】
様々な符号化方法を用いて入力データ(D1)を符号化し、符号化データ(E2)を生成する際に、量子化強度を部分単位、例えばブロック単位またはパケット単位で変更するコスト効率の良い方法が提供されるという点で、本発明は有利である。このため、データを符号化して対応する符号化データを生成する際に、圧縮率または品質を向上できる可能性がある。
【0019】
第2の態様において、本開示の実施形態により、入力データ(D1)を符号化し、対応する符号化データ(E2)を生成するエンコーダが提供される。前記入力データ(D1)は複数のデータ部分を含み、1つのデータ部分は1つのデータブロックを指す。前記エンコーダは、前記入力データ(D1)を処理するデータ処理構成を備え、前記エンコーダは、
(a) 所定のデータ部分が、対応する所定の品質パラメータ値を有するように、前記複数のデータ部分に対して1つ以上の前記品質パラメータ値を部分ごとに設定するように動作し、
(b) 前記複数のデータ部分を解析し、前記複数のデータ部分の符号化に用いる少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を選択するように動作する解析器を備え、
(c) (b)において選択した少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いて、前記複数のデータ部分を符号化し、対応する符号化データ部分を生成するように動作する符号化構成を備え、
(d) 前記符号化データ部分を集約して、前記符号化データ(E2)を生成するように動作する集約器を備え、
(e) 前記少なくとも2つの量子化強度を示す情報および前記1つ以上の品質パラメータ値を示す情報を前記符号化データ(E2)に組み込むように動作し、
所定のデータ部分に対し、対応する所定の符号化方法および対応する所定の量子化強度が選択されてその符号化に用いられ、前記対応する所定の符号化方法および前記対応する所定の量子化強度は、(a)において前記所定のデータ部分に設定した所定の前記品質パラメータ値に基づいて選択され、
前記複数のデータ部分からの少なくとも2つのデータ部分は、(b)において選択した前記少なくとも1つの符号化方法から同じ符号化方法を用いて、かつ、(a)において前記少なくとも2つのデータ部分に設定した同じ前記品質パラメータ値に対して異なる量子化強度を用いて符号化されることを特徴とする。
【0020】
第3の態様において、本開示の実施形態により、デコーダを介して、符号化データ(E2)を復号化し、対応する復号化データ(D3)を生成する方法が提供される。1つのデータ部分は1つのデータブロックを指す。前記方法は、
(a) 前記符号化データ(E2)の複数の符号化データ部分の生成中に、少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化強度および1つ以上の品質パラメータ値を示す情報を、前記符号化データ(E2)内から受信することと、
(b) (a)からの前記情報を用いて、前記少なくとも1つの符号化方法の逆を、前記少なくとも2つの量子化強度および前記1つ以上の品質パラメータ値と共に、前記符号化データ(E2)の対応する符号化データ部分に部分ごとに適用し、対応する復号化データ部分を生成することと、
(c) 前記復号化データ部分を集約して、前記復号化データ(D3)を生成することと、
を含み、
少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いた、前記複数の符号化データ部分からの少なくとも2つの符号化データ部分の生成中に、それらの符号化データ部分に対し、同じ符号化方法と共に、同じ品質パラメータ値に対して異なる量子化強度が用いられ、
所定の符号化データ部分に対し、対応する所定の符号化方法の逆が、対応する所定の量子化強度および対応する所定の品質パラメータ値と共に適用され、対応する復号化データ部分が生成されることを特徴とする。
【0021】
第4の態様において、本開示の実施形態により、符号化データ(E2)を復号化し、対応する復号化データ(D3)を生成するデコーダが提供される。前記デコーダは、前記符号化データ(E2)を処理するデータ処理構成を備える。1つのデータ部分は1つのデータブロックを指す。前記デコーダは、
(a) 前記符号化データ(E2)の複数の符号化データ部分の生成中に、少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化強度および1つ以上の品質パラメータ値を示す情報を、前記符号化データ(E2)内から受信するように動作する情報復号化構成と、
(b) (a)からの前記情報を用いて、前記少なくとも1つの符号化方法の逆を、前記少なくとも2つの量子化強度および前記1つ以上の品質パラメータ値と共に、前記符号化データ(E2)の対応する符号化データ部分に部分ごとに適用し、対応する復号化データ部分を生成するように動作する復号化構成と、
(c) 前記復号化データ部分を集約して、前記復号化データ(D3)を生成するように動作する集約器と、
を備え、
少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いた、前記複数の符号化データ部分からの少なくとも2つの符号化データ部分の生成中に、それらの符号化データ部分に対し、同じ符号化方法と共に、同じ品質パラメータ値に対して異なる量子化強度が用いられ、
所定の符号化データ部分に対し、対応する所定の符号化方法の逆が、対応する所定の量子化強度および対応する所定の品質パラメータ値と共に適用され、対応する復号化データ部分が生成されることを特徴とする。
【0022】
第5の態様において、本開示の実施形態により、前記第1の態様に従う方法を実行するために、処理ハードウェアを備えるコンピュータ装置によって実行可能なコンピュータ可読命令が格納された非一時的コンピュータ可読格納媒体を含む、コンピュータプログラム製品が提供される。
【0023】
第6の態様において、本開示の実施形態により、前記第3の態様に従う方法を実行するために、処理ハードウェアを備えるコンピュータ装置によって実行可能なコンピュータ可読命令が格納された非一時的コンピュータ可読格納媒体を含む、コンピュータプログラム製品が提供される。
【0024】
第7の態様において、本開示の実施形態により、前記第2の態様に従う少なくとも1つのエンコーダと、前記第4の態様に従う少なくとも1つのデコーダとを備えるコーデックが提供される。例えば、コーデックは、少なくとも1つのエンコーダと複数の対応するデコーダとを備える。
【0025】
本開示の別の態様、利点、特徴、および目的は、以下に添付する特許請求の範囲と併せて解釈される、例示的実施形態の図面および詳細な説明から明らかにされるであろう。
【0026】
本開示の特徴は、添付の特許請求の範囲に定められる本開示の範囲を逸脱することなく、様々に組合せ可能であることを理解されたい。
【図面の簡単な説明】
【0027】
前記の摘要と、下記の例示的な実施形態の詳細な説明は、添付の図面と共に読むことでよりよく理解される。本開示の説明の目的で、本開示の例示的な構成を図面に示している。しかしながら、本開示は、ここに開示する具体的な方法および装置に限定されるわけではない。また、図面は縮尺に従ったものではないことを、当業者は理解されるであろう。可能なかぎり、同様の要素は同番号で示している。
【0028】
以下、本開示における実施形態を、単なる例示として、かつ添付の図面を参照して説明する。
【
図1】
図1は、本開示の一実施形態による、入力データ(D1)を符号化して対応する符号化データ(E2)を生成するエンコーダと、符号化データ(E2)を復号化して対応する復号化データ(D3)を生成するデコーダの模式図である。エンコーダとデコーダは共にコーデックを形成する。
【
図2】
図2は、本開示の一実施形態による、
図1のエンコーダとその様々な構成要素とを示す模式図である。
【
図3】
図3は、本開示の一実施形態による、
図1のエンコーダにより入力データ(D1)を符号化して対応する符号化データ(E2)を生成する方法のステップを示すフローチャートである。
【
図4】
図4は、本開示の一実施形態による、
図1のデコーダとその様々な構成要素とを示す模式図である。
【
図5】
図5は、本開示の一実施形態による、
図1のデコーダにより符号化データ(E2)を復号化して対応する復号化データ(D3)を生成する方法のステップを示すフローチャートである。
【
図6】
図6は、本開示の実施形態により符号化された後、復号化された例示的画像である。
【0029】
添付図面において下線の引かれた番号は、その番号が位置するアイテムやその番号が隣接するアイテムを表すために使用される。
【0030】
以下の詳細な説明は、本開示の実施形態およびそれらの実施形態を実装できる方法について説明している。本開示を実行する態様の一部を開示しているが、本開示を実行または実践する他の実施形態も可能であることを当業者は認識されるであろう。
【0031】
以下に示す本開示の実施形態の説明において用いる頭字語を、以下の表1に定義する。
【0032】
表1に示す頭字語は、インターネットのウェブサイト「ウィキペディア」でさらに詳しく説明されている。
【0033】
第1の態様において、本開示の実施形態により、エンコーダを介して、入力データ(D1)を符号化し、対応する符号化データ(E2)を生成する方法が提供される。前記入力データ(D1)は複数のデータ部分を含み、1つのデータ部分は1つのデータブロックを指す。前記方法は、
(a) 所定のデータ部分が、対応する所定の品質パラメータ値を有するように、前記複数のデータ部分に対して1つ以上の前記品質パラメータ値を部分ごとに設定することと、
(b) 前記複数のデータ部分を解析し、前記複数のデータ部分の符号化に用いる少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を選択することと、
(c) (b)において選択した少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いて、前記複数のデータ部分を符号化し、対応する符号化データ部分を生成することと、
(d) 前記符号化データ部分を集約して、前記符号化データ(E2)を生成することと、
(e) 前記少なくとも2つの量子化強度を示す情報および前記1つ以上の品質パラメータ値を示す情報を前記符号化データ(E2)に組み込むことと、
を含み、
所定のデータ部分に対し、対応する所定の符号化方法および対応する所定の量子化強度が選択されてその符号化に用いられ、前記対応する所定の符号化方法および前記対応する所定の量子化強度は、(a)において前記所定のデータ部分に設定した所定の前記品質パラメータ値に基づいて選択され、
前記複数のデータ部分からの少なくとも2つのデータ部分は、(b)において選択した前記少なくとも1つの符号化方法から同じ符号化方法を用いて、かつ、(a)において前記少なくとも2つのデータ部分に設定した同じ前記品質パラメータ値に対して異なる量子化強度を用いて符号化されることを特徴とする。
【0034】
本開示の実施形態による方法は、1つの符号化方法が使用可能であればよく、その場合、当該1つの符号化方法が、異なる量子化強度で(例えば、互いに異なる量子化強度、すなわち、互いに異なる様々な量子化強度を用いて)入力データ(D1)のデータ部分に適用されることを理解されたい。換言すれば、当該少なくとも1つの符号化方法は、事前に決定することができ、したがって所定のエンコーダおよび対応する所定のデコーダにとって既知である。
【0035】
あるいは、複数の符号化方法が使用可能であってもよい。その場合、複数のデータ部分の符号化に用いる少なくとも1つの符号化方法は、当該複数の符号化方法から選択されてもよい。その場合、当該方法は、当該少なくとも1つの符号化方法を示す情報を符号化データ(E2)に組み込むことをさらに含んでもよい。
【0036】
あるいは、場合によっては、当該少なくとも1つの符号化方法は、複数のデータ部分の符号化に用いる少なくとも2つの符号化方法を含んでもよい。その場合、当該方法は、当該少なくとも2つの符号化方法を示す情報を符号化データ(E2)に組み込むことをさらに含んでもよい。
【0037】
複数の符号化方法は、1つ以上の変換ベースの符号化方法を含むことができることを理解されたい。そのような変換ベースの符号化方法の例として、DCT、DFT、DST、ライン、スケール、スライド、ウェーブレット、アダマール変換などがあるが、これらに限定されない。「DCT」は「離散コサイン変換」を意味する(参照文献[1]を参照)。「DFT」は「離散フーリエ変換」を意味する(参照文献[4]を参照)。「DST」は「離散サイン変換」を意味する(参照文献[3]を参照)。「ライン」は外挿法、例えば、英国登録特許公報第2516425号に記載されているような外挿法などを意味する。「スケール」および「スライド」は内挿法、例えば、英国登録特許公報第2516426号に記載されているような内挿法などを意味する。「ウェーブレット」はウェーブレット変換を意味する(参照文献[6]を参照)。「アダマール変換」については参照文献[7]を参照されたい。これらの変換ベースの符号化方法、すなわちDCT、DFT、DST、ライン、スケール、スライド、ウェーブレット、およびアダマール変換は、当業者に既知である。当業者は、ウィキペディアなどの教育的な情報源や、公開された特許文献を調べることにより、そのようなトピックに関する知識を得ているであろう。
【0038】
本開示の全体にわたって、「データ部分」という用語は通常、例えばデータブロック、一群のデータブロック、データセクション、データパケット、一群のデータパケットなどのデータの一部を意味する。この点において、入力データ(D1)の複数のデータ部分は以下のものの少なくとも1つを含んでもよい。
(a) 入力データ(D1)にすでに存在するデータブロックまたはデータパケット、
(b) 入力データ(D1)に存在する個々のデータ値を組み合わせることによって、または入力データ(D1)にすでに存在するデータブロックまたはデータパケットを組み合わせることによって、導出されるデータブロックまたはデータパケット、および/または
(c) 入力データ(D1)を分割することによって、または入力データ(D1)にすでに存在するデータブロックまたはデータパケットを分割することによって、導出されるデータブロックまたはデータパケット。
【0039】
上記において、「少なくとも1つの」とは、選択肢(a)、(b)、および(c)をそれぞれ個別に用いることも、あるいは(a)と(b)、(a)と(c)、(b)と(c)、(a)と(b)と(c)、などの様々な組合せで用いることもできることを意味する。
【0040】
入力データ(D1)は、当該入力データ(D1)にすでに存在するデータブロックまたはデータパケットが先験的に既知であるような形式で受信されることはあるものの、そのような形式で受信されないこともしばしばあることに注意されたい。
【0041】
また、当該方法は、複数のデータ部分の符号化に用いる少なくとも2つの量子化方法を選択することを含んでもよい。複数のデータ部分からの少なくとも2つのデータ部分は、同じ符号化方法を用いて、かつ、(a)において当該少なくとも2つのデータ部分に設定した同じ品質パラメータ値に対して異なる量子化強度および異なる量子化方法を用いて符号化される。
【0042】
本開示の全体にわたって、「量子化強度」という用語は通常、量子化が実行された程度、すなわち、用いた量子化レベルの数を定めるパラメータを意味し、「量子化方法」という用語は通常、所定のデータ部分に対して選択された特定の量子化強度を得るために用いる量子化方法を意味する。本開示の実施形態によると、入力データ(D1)の少なくとも2つのデータ部分に対する品質パラメータ値が同じでも、当該少なくとも2つのデータ部分に異なる量子化強度を用いることができる。
【0043】
「量子化」という用語は通常、空間量子化とデータ値量子化のいずれにおいても、解像度の単位を意味する。参照文献[12]では、数学およびデジタル信号処理における「量子化」を、「大きい入力値の集合をより小さい(可算)集合へとマッピングする処理」と定義している。本開示の実施形態による前述の方法では、値が本来有するビットよりも少ないビットでその値を示し、かつあまり大きい誤差を生じさせないように、量子化を用いる。換言すれば、前述の方法は、例えば、連続信号からアナログデジタル変換器によって生成された、または最初からデジタルであった、元の値に対する量子化レベル数を小さくするために再量子化を用いる。量子化レベル数を小さくすると、量子化強度が高くなる。例えば、画像のカラー値およびアルファ値は通常は8ビット値(すなわち、バイト単位)で示され、音声信号は通常は、例えば、16ビットまたは24ビットの離散デジタル値で示される(音声信号は元はアナログであり、画像の色は元はより大きいビット深度を有しているであろう)。本開示の実施形態による方法では、そのような信号を入力データ(D1)として受信し、複数の量子化強度から最適な量子化強度を選択し、任意で、複数の量子化方法から最適な量子化方法を選択することによって、入力データ(D1)のコンテンツを品質パラメータ値およびコンテンツの性質に従って適応的に再量子化する。
【0044】
当該方法は、その後の符号化データ(E2)の復号化から再生成される復号化データ(D3)における量子化による誤差を削減するために、少なくとも1つの信号処理アルゴリズムを用いることを含んでもよい。例として、当該少なくとも1つの信号処理アルゴリズムは、量子化のために復号化画像内に形成される可能性のあるシャープエッジを滑らかにするために用いることができる。当該少なくとも1つの信号処理アルゴリズムは、デブロッキングフィルタによって実装されてもよい。そのようなフィルタは、線形または非線形にすることができる。
【0045】
(b)における解析は、入力データ(D1)のデータ部分のデータタイプ、データ構造、データのばらつき、データサイズの1つ以上を決定することを含んでもよい。
【0046】
(c)における符号化には、入力データ(D1)の少なくとも2つのデータ部分の符号化に同じ符号化方法を用いるが、部分単位で量子化強度を変更することが含まれることに注意されたい。換言すれば、入力データ(D1)の当該少なくとも2つのデータ部分は、同じ符号化方法で符号化されるが、同じ品質パラメータ値に対して少なくとも2つの(互いに)異なる量子化強度を用いる。3つ以上の(互いに)異なる量子化強度を用いてもよい。
【0047】
複数のデータ部分が存在するため、複数の符号化方法(本明細書では、例えば、1つの符号化方法だけ用いることを請求しているが)と複数の量子化強度を複数のデータ部分の符号化に用いる可能性があることを理解されたい。しかしながら、用いる少なくとも1つの符号化方法および少なくとも2つの量子化強度は、所定の1つのデータ部分に対して1つの符号化方法および1つの量子化強度だけが選択されるように、部分ごとに選択される。換言すれば、符号化中、所定の1つのデータ部分は、1つの符号化方法および1つの量子化強度、すなわち、そのデータ部分に対応する符号化方法および量子化強度を適用することによって符号化される。
【0048】
本開示の実施形態によると、1つ以上の品質パラメータ値は、複数のデータ部分に部分ごとに設定される。換言すれば、各データ部分は対応する品質パラメータ値を有する。複数のデータ部分のいくつかは、同じ品質パラメータ値を有する場合があることを理解されたい。
【0049】
入力データ(D1)の異なるデータ部分には異なる品質パラメータ値が望ましい場合があることも理解されたい。ただし、1つの所定のデータ部分には1つの品質パラメータ値のみが関連付けられる。例として、画像内の関心領域(Region-Of-Interest:ROI)を、その画像内の他の領域より高い品質で符号化することができる。そのような場合、画像内のROIと他の領域とでは異なる品質パラメータ値を設定し、画像内のROIには1つの品質パラメータ値のみを設定する。
【0050】
本開示の実施形態による方法では、符号化方法に複数の異なる量子化の選択肢を用いることで、従来の既知のデータ符号化手法と比べて、あらゆるタイプのデータに対してより高いデータ圧縮率またはより高いデータ品質を得ることができる。従来は1つの符号化方法のみが用いられ、所定の画像またはスライスの量子化パラメータはほとんど変更されない。したがって、従来の符号化方法では少数の変更のみに対する情報が提供され、この情報の提供方法に関してはあまり考慮されていない。「量子化パラメータ」は「品質パラメータ」と同じではないことを理解されたい。量子化は、符号化および復号化されるデータのタイプに応じて異なる方法で品質に影響を及ぼすことができる。一方、本開示の実施形態による方法では、エンコーダから対応するデコーダに多くの情報を提供する必要がある。これらの情報は、部分単位(例えば、ブロック単位またはパケット単位)で選択された少なくとも2つの量子化強度を示す情報、部分単位(例えば、ブロック単位またはパケット単位)で設定された1つ以上の品質パラメータ値を示す情報、任意で、少なくとも1つの符号化方法(例えば、少なくとも2つの符号化方法)を示す情報、および任意で、部分単位(例えば、ブロック単位またはパケット単位)で選択された少なくとも2つの量子化方法を示す情報である。
【0051】
また、前述の方法は複数の互いに異なる符号化方法および標準と組み合わせて用いることができる。例として、前述の方法は、英国登録特許公報第2503295号に記載されているようなデータブロックエンコーダと共に用いて、互いに同様のデータ圧縮率でより高いデータ品質、または互いに同様のデータ品質でより高いデータ圧縮率を得ることができる。
【0052】
また、前述の方法は、例えば1D、2D、3D、およびND(Nは正の整数)といった任意の次元数を有する多様なタイプのデータと共に用いるのに適している。入力データ(D1)は1次元データを含んでもよい。あるいは、入力データ(D1)は多次元データを含んでもよい。あるいは、入力データ(D1)は、1次元データと多次元データの組合せを、例えば入力データ(D1)の様々な部分に存在する変化するコンテンツの関数として含んでもよい。換言すれば、入力データ(D1)の次元は、入力データ(D1)の互いに異なる部分内で可変である場合がある。
【0053】
入力データ(D1)は、画像データ、動画データ、音声データ、生体データ、ゲノムデータ、医療測定データ、センサデータ、監視データの少なくとも1つを含んでもよい。例として、監視データは、動画クリップ、セキュリティドアの経時的な開閉を記録するデータファイル、音声クリップ、および手動監視タスクを完了する際の監視員の検証ログインの組合せを含むことができる。また、入力データ(D1)は複数の互いに異なるタイプのデータを含んでもよい。例として、入力データ(D1)は、手術の実施中の動画にあるような、生体データと動画データの組合せを含んでもよい。例えば、実施中の手術の動画フィルムには、測定データを可逆的に提供する必要がある場合があるが、一般的な説明のための実際の手術手順の動画クリップは、非可逆的符号化で提供することができる。
【0054】
また、本開示の一実施形態によると、例えばリアルタイムのデータストリーミングシステムにおいて、少なくとも2つの量子化強度は、入力データ(D1)の複数のデータ部分の1つ以上の特性に基づいて動的に選択される。この点において、当該複数のデータ部分の1つ以上の特性は、データ部分のデータコンテンツの元の解像度、および/またはデータコンテンツの元の品質の少なくとも1つを含んでもよい。このような1つ以上の特性は、画像の解像度、画像の色または白黒フォーマット、画像の空間情報の複雑性、画像に存在する空間情報の範囲、などに関連付けする場合がある。
【0055】
量子化強度および任意で量子化方法を部分単位で選択すると、符号化方法の使用、品質、または圧縮率が大幅に改善される。
【0056】
当該方法は、所定の品質を得るために、所定の符号化方法、所定の量子化強度、および任意で所定の量子化方法が、入力データ(D1)の所定のデータ部分の符号化に適切かどうかを決定するために、レート歪み(Rate Distortion:RD)最適化(参照文献[13]を参照)を用いることを含んでもよい。この点において、RD最適化は、RD値を低減、例えば最小化するために用いてもよい。RD値は、所定の符号化方法、所定の量子化強度、および任意で所定の量子化方法によって生じる歪みを、所定の符号化方法、所定の量子化強度、および任意で所定の量子化方法に用いたビット数を「ラムダ」(ラグランジュ乗数)に掛けた積と足し合わせたものとして計算される。また、歪みは、復号化データ部分と元のデータ部分との二乗誤差として算出されてもよい。
【0057】
本開示の実施形態によると、入力データ(D1)の少なくとも2つのデータ部分に対する品質パラメータ値が同じでも、当該少なくとも2つのデータ部分に異なる量子化強度を用いることができる。本開示の全体にわたって、「品質パラメータ」という用語は通常、品質と圧縮率との間でいかに妥協するか、すなわち品質と圧縮率とをいかに最適化するかについて定めるパラメータを意味する。例として、所定の品質パラメータ値は品質レベル要件を示し、この値に基づいて、RD最適化プロセス中にラグランジュ乗数の値が計算または設定される。従来の符号化方法において、量子化強度は品質レベル要件に直接的に関連付けられている。すなわち、量子化強度は品質レベル要件が変更された場合にのみ変更されることに注意されたい。ここで、品質パラメータは品質によって直接的に制限されるのではなく、符号化データ(E2)サイズの削減と、再構築されたデータ(すなわち、符号化データ(E2)のその後の復号化から再構築されたデータ)の品質の向上との間で最適化を実行することに関係する。
【0058】
量子化強度は、所定の品質パラメータ値に一致するように、適応的に調整されてもよい。高い品質パラメータ値により、低い量子化強度を用いることを要求し、その場合に対応するデコーダにおいて高い品質を再現するようにしてもよい。そのような場合、低い品質パラメータ値は高い量子化強度に、中程度の品質パラメータ値は中程度の量子化強度に、高い品質パラメータ値は低い量子化強度に対応してもよい。例として、品質パラメータ値が1から100の範囲で変動する場合、低い量子化強度は高い品質パラメータ値、例えば100またはほぼ100に対応し、高い量子化強度は低い品質パラメータ値、例えば1またはほぼ1に対応し、中程度の量子化強度は中程度の品質パラメータ値、例えば50またはほぼ50に対応する。
【0059】
前述のように、本開示の実施形態によると、品質パラメータは、品質と圧縮率との最適化を制御する。換言すれば、所定のデータ部分に対する量子化強度および関連付けられた符号化方法は、その所定のデータ部分に設定された所定の品質パラメータ値に基づいて選択される。高い量子化強度を用いても、高品質が得られる場合があることを理解されたい。そのような場合を特定すると、圧縮から大きな利益が得られる。
【0060】
1つ以上の品質パラメータ値には、品質パラメータのデフォルト値が含まれてもよい。その場合、品質パラメータのデフォルト値に従って、品質パラメータの低値、中央値、および高値が自動的に決定される。
【0061】
用いた1つ以上の品質パラメータ値も、エンコーダからデコーダへと信号送信されるため、デコーダは、その都度データ部分に用いた量子化強度に関する正確な情報がなくても、用いた量子化強度を自動的に適応および調整するように動作することを理解されたい。
【0062】
ここで、品質パラメータと量子化強度は互いに直接的に依存しないため、入力データ(D1)の値が適切である場合、高い量子化強度によって高い品質が得られるのであれば、高い品質で高い量子化強度を用いることができることを理解されたい。
【0063】
あるいは、量子化強度は、品質パラメータ値をまったく考慮せず、絶対的に調整されてもよい。
【0064】
本開示の実施形態によると、量子化強度は、所定の品質パラメータ値から直接的に決定されない。品質パラメータは、ラグランジュ乗数の値に影響を及ぼすことに注意されたい。本開示の実施形態による方法では、ラグランジュ乗数の値は、品質パラメータ値が大きいほどラグランジュ乗数の値が小さくなるように、所定の品質パラメータ値に対して定義される。その結果、所定のタイプのデータに対して、得られる品質と圧縮率が可能なかぎり最適化される。換言すれば、品質パラメータ値が大きいほど、生成される符号化データ(E2)の量が多くなり、対応する復号化データ(D3)すなわち、その後の符号化データ(E2)の復号化から再構築されるデータの品質が向上する。同様に、品質パラメータ値が小さいほど、生成される符号化データ(E2)の量が少なくなり、対応する復号化データ(D3)の品質が低下する(すなわち、誤差が大きくなる)。
【0065】
したがって、本開示の実施形態による方法は、品質パラメータに対する量子化強度の調整が適応的か絶対的かに関係なく、各データ部分に対して最良の符号化方法、および任意で最良の量子化方法を選択するように動作する。換言すれば、本開示の実施形態による方法は、品質パラメータに対する量子化強度の調整が適応的か絶対的かに関係なく、品質パラメータと量子化強度を別々に調整するように動作する。その結果、本開示の実施形態による方法は、所定のデータ部分に最適な符号化方法、量子化強度、および任意で量子化方法を用いるように、所定の品質パラメータ値によって、データの圧縮とその後の符号化データ(E2)の復号化を最適化するように動作する。
【0066】
ここで、符号化データ(E2)のサイズを削減、例えば最小化し、再構築されたデータの品質を向上、例えば最大化するために、複数の互いに異なる符号化方法を用いると有効であることに留意されたい。これは最適な方法で実行できる可能性がある。用いるRD最適化により、多数の反復や、最適ではない値や定義を多数含む定義済み表を用いることなく、所定のデータ部分に最適な符号化方法、量子化強度、および任意で量子化方法を選択することができるためである。
【0067】
当該方法において、符号化データ(E2)を生成する際に、全体的に最良または十分に良好な入力データ(D1)の符号化を行うために、反復的な手法によって、用いる符号化方法、量子化強度、および任意で量子化方法の最適な組合せを決定してもよい。この反復は、入力データ(D1)に対し、符号化データ(E2)において必要な程度のデータ圧縮および/またはデータ品質が得られるまで続けてもよい。
【0068】
符号化方法、量子化強度、および任意で量子化方法の最良または十分に良好な組合せは、様々な異なる方法で選択できることを理解されたい。例として、総当たり方法によってすべての可能な選択肢をテストすることができる。別の例として、複数の異なる選択肢の組合せを用意し、それらの組合せの中から、最良または十分に良好な組合せを選択することができる。これにより、すべての可能な選択肢をテストしなくて済む。
【0069】
また、本開示の一実施形態によると、少なくとも2つの量子化強度を示す情報と、1つ以上の品質パラメータ値を示す情報は、1つ以上のデータストリームの形式で符号化データ(E2)に組み込まれる。この点において、当該1つ以上のデータストリームは、符号化データ(E2)内のヘッダに含められてもよい。ヘッダ内に含めることは、当該1つ以上のデータストリームを提供する方法の単なる一例であることを理解されたい。場合によっては、ヘッダに属するバイトと、符号化データ部分に属するバイトとを特定することが困難なことがある。特に、符号化データ(E2)が、複数の符号化データ部分が組み合わされている単一のデータストリームで提供される場合はそうである。そのような場合、少なくとも2つの量子化強度を示す情報と1つ以上の品質パラメータ値を示す情報とを1つ以上の個別のデータストリームで提供すると有利であろう。
【0070】
本開示の別の実施形態によると、当該方法は、符号化データ(E2)とは別に、1つ以上のデータストリームをエンコーダから対応するデコーダに提供することを含む。
【0071】
ここで、「データストリーム」という用語は、異なるデータストリームが異なる通信チャネルを介して個別に通信されることを示すわけではないことを理解されたい。本開示の全体にわたって、「データストリーム」という用語は通常、互いに個別に維持されるデータのセクションを意味する。換言すれば、データストリームは、同じファイルに順次挿入されてもよく、あるいは、同じ通信チャネルを介して順次伝送されてもよい。個々のデータストリームを個別に格納または伝送することもできる。
【0072】
本開示の一実施形態によると、所定のデータ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の品質パラメータ値を示す情報が個別に、すなわち、所定のデータ部分に対する個別の情報として組み込まれる。この点において、当該方法は、少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および1つ以上の品質パラメータ値を示す情報を、個別のデータストリームに組み込むことを含んでもよい。これらの「互いに」個別のデータストリームは、符号化データ(E2)に含めることも、符号化データ(E2)とは個別に提供することもできる。
【0073】
本開示の別の実施形態によると、所定のデータ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の品質パラメータ値を示す情報、のうち少なくとも2つが一緒に、すなわち、所定のデータ部分に対する単一の情報として組み込まれる。この点において、当該方法は、少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および/または1つ以上の品質パラメータ値を示す情報、のうち少なくとも2つを、単一のデータストリームに組み込むことを含んでもよい。
【0074】
この単一のデータストリームは、符号化データ(E2)に含めることも、符号化データ(E2)とは個別に提供することもできる。
【0075】
所定のデータ部分に用いた符号化方法を示す情報と所定のデータ部分に用いた量子化強度を示す情報が、所定のデータ部分に対する単一の情報として組み合わされてもよい。そのような単一の情報は、所定のデータ部分に用いた、選択された符号化方法および選択された量子化強度を表す選択インデックスを用いて実装されてもよい。そのような場合、複数のデータ部分と関連付けられた複数の選択インデックスは単一のデータストリームに組み込まれ、任意で単一のデータファイルに挿入される。
【0076】
少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および1つ以上の品質パラメータ値を示す情報は、データベースまたはデータサーバから提供されてもよい。
【0077】
このやり方では、少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および1つ以上の品質パラメータ値を示す情報が、可能なかぎり効率的に組み込まれ、所定のデコーダに提供される。これにより、所定のデコーダが符号化データ(E2)の適切な復号化を明確に行うことができる。
【0078】
入力データ(D1)の複数のデータ部分に用いた、少なくとも1つの選択された符号化方法、選択された量子化強度、および任意で、選択された量子化方法は、選択インデックスを用いて表してもよい。例として、互いに異なるDCTベースの符号化方法、それらに対応する量子化強度、および任意で量子化方法は、選択インデックス「DCTQ1」、「DCTQ2」、「DCTQ3」などのように表すことができ、これらの符号化方法の互いに異なる量子化方法および/または互いに異なる量子化強度は、選択インデックス「Q1」、「Q2」、「Q3」などのように表すことができる。そのような場合、選択インデックス「DCTQ1」は、選択インデックス「Q1」によって表される量子化方法と量子化強度を用いたことを表し、選択インデックス「DCTQ2」は、選択インデックス「Q2」によって表される量子化方法と量子化強度を用いたことを表す。その他も同様である。
【0079】
前記の説明において、例えばDCT符号化方法に異なる複数の名称を用いていても、それらは同じ符号化方法(すなわち、DCT)であり、単に異なる量子化強度と、任意で異なる量子化方法を用いているだけの場合があることを理解されたい。
【0080】
また、符号化方法と、それらに対応する量子化強度および任意で量子化方法を、絶対的に、すなわち品質パラメータに関連しないように命名してもよい。例として、選択インデックス「DCTQD1」はDCTベースの符号化方法でデータ値を1で割る、すなわち、DCTベースの符号化方法で量子化を行わないことを表し、選択インデックス「DCTQD2」は、DCTベースの符号化方法でデータ値を2で割ることを表し、同様に、選択インデックス「DCTQD4」は、DCTベースの符号化方法でデータ値を4で割ることを表す。
【0081】
また、符号化方法と、それらに対応する量子化強度および任意で量子化方法を、品質パラメータと相対的に命名してもよい。例として、選択インデックス「DCTQL」、「DCTQM」、および「DCTQH」を用いることができる。選択インデックス「DCTQM」は、DCTベースの符号化方法で、入力データ(D1)に指定された品質パラメータが示すとおりに、例えば品質パラメータによるデフォルトの量子化強度を用いて、実質的に量子化を行うことを表す。一方、選択インデックス「DCTQH」は、DCTベースの符号化方法で、デフォルトの量子化強度より高い量子化強度を用いて、すなわち品質パラメータが示す品質より低い品質で、量子化を行うことを表し、選択インデックス「DCTQL」は、DCTベースの符号化方法で、デフォルトの量子化強度より低い量子化強度を用いて、すなわち品質パラメータが示す品質より高い品質で、量子化を行うことを表す。そのような場合、所定の品質パラメータ値に対してデフォルトの量子化強度を定め、そのデフォルトの量子化強度と相対的に他の量子化強度を定めることができる。符号化データ(E2)のデータストリームをデコーダで復号化する際に、用いた符号化方法、量子化強度、1つ以上の品質パラメータ値、および任意で量子化方法を示す情報に応じて、用いた量子化強度の漸減的および/または漸増的な調整が行われる。これらの情報は、符号化データ(E2)に含まれる、および/または符号化データ(E2)とは個別に提供される。
【0082】
別の例として、所望の品質パラメータ値が1から100の範囲で50であった場合、選択インデックス「DCTQM」は、例えば8による量子化を表し、選択インデックス「DCTQL」は、例えば5による量子化を表し、選択インデックス「DCTQH」は、例えば12による量子化を表すであろう。
【0083】
また、量子化強度は、選択された符号化方法の所定の定義に従って、一度に1つ以上の手順によって(例えば「QH」の場合は)高く、または(例えば「QL」の場合は)低くしてもよい。例として、DCTで用いたデフォルトの量子化強度が10であった場合、選択インデックス「DCTQM」は、デフォルトの量子化値、すなわち10による量子化を示し、選択インデックス「DCTQH1」は、例えば11による量子化を示し、選択インデックス「DCTQH2」は、例えば13による量子化を示し、選択インデックス「DCTQL1」は、例えば9による量子化を示し、選択インデックス「DCTQL2」は、例えば8による量子化を示すであろう。
【0084】
したがって、本開示の実施形態によると、選択された符号化方法(単数または複数)および選択された量子化強度を示す情報は、少なくとも2つの選択インデックス、例えば、選択された符号化方法(単数または複数)および選択された量子化強度を含む複数のインデックス、あるいはそれらの一意の識別番号を用いて、エンコーダからデコーダに提供される。
【0085】
本開示の実施形態によると、DCT、DST、ライン、スケール、スライドなどの様々な互いに異なる符号化方法を用いることができ、これらの符号化方法では、互いに異なる選択肢、すなわち、互いに異なる量子化強度、および任意で互いに異なる量子化方法を用いて量子化を実行できることに注意されたい。この点において、互いに異なる符号化方法およびそれらの互いに異なる量子化の選択肢は、適切な選択インデックスおよびそれらの一意の識別番号を用いて信号送信することができる。
【0086】
例として、選択インデックスおよびそれらの識別番号を以下に示す。
選択インデックス「Unchanged」に対し識別番号「0」、
選択インデックス「DC8」に対し識別番号「1」、
選択インデックス「DC7」に対し識別番号「2」、
選択インデックス「DC6」に対し識別番号「3」、
選択インデックス「LineH8」に対し識別番号「4」、
選択インデックス「LineH7」に対し識別番号「5」、
選択インデックス「LineV8」に対し識別番号「6」、
選択インデックス「LineV7」に対し識別番号「7」、
選択インデックス「DCTL」に対し識別番号「8」、
選択インデックス「DCTM」に対し識別番号「9」、
選択インデックス「DCTH1」に対し識別番号「10」、
選択インデックス「DCTH2」に対し識別番号「11」、
などである。
【0087】
上記において、選択インデックス「DC8」は、DC符号化方法において、量子化後のデータ値が8ビットで表現されることを示し、同様に、選択インデックス「DC7」は、量子化後のデータ値が7ビットで表現されることを示すであろう。
【0088】
元の、すなわち量子化前のデータ値のビット深度が「8」である場合、選択インデックス「DC8」で示される量子化方法の代わりに選択インデックス「DCQD1」で示される量子化方法を使用しても、同じ結果が得られることを理解されたい。ここで、選択インデックス「DCQD1」は、元のデータ値を1で割ることを示している。同様に、選択インデックス「DC7」で示される量子化方法は、元のデータ値を2で割ることを示す選択インデックス「DCQD2」で示される量子化方法で置き換えることができる。また、選択インデックス「DC6」で示される量子化方法は、選択インデックス「DCQD4」で示される量子化方法で置き換えることができる、などがある。これは、選択インデックス「LineH8」、「LineH7」、「LineV8」、および「LineV7」で示される量子化方法にも当てはまる。
【0089】
さらに、所定の品質パラメータに従って適応的に調整を行う量子化方法を選択することもできる。そのような場合、品質パラメータが量子化の程度に直接的に影響し、量子化強度が別途信号送信されることはない。そのような場合において、量子化強度を調整することが望ましい場合、より強い量子化を行い品質を低下させる選択インデックス「QH」で示される量子化方法、または、より弱い量子化を行い品質を向上させる選択インデックス「QL」で示される量子化方法を用いることで、調整することができる。
【0090】
数多くの互いに異なる量子化方法および量子化強度が利用可能であることに注意されたい。選択された量子化強度および任意で量子化方法は、除算値または量子化後のデータ値のビット数、すなわち量子化後のデータ値のビット深度を用いて定めることができる。
【0091】
上記の例の続きとして、選択された符号化方法を示す情報が組み込まれ、選択された量子化強度を示す情報とは個別に提供される場合、選択インデックスおよびそれらの識別番号は以下のようであってもよい。
選択インデックス「Unchanged」に対し識別番号「0」、
選択インデックス「DC」に対し識別番号「1」、
選択インデックス「LineH」に対し識別番号「2」、
選択インデックス「LineV」に対し識別番号「3」、
選択インデックス「DCT」に対し識別番号「4」、
などである。
【0092】
また、選択された量子化方法を示す情報および選択された量子化強度を示す情報は、選択された符号化方法ごとに個別のデータストリームに、または少なくとも1つの選択された符号化方法に対する少なくとも1つの複合データストリームに、組み込まれて提供されてもよい。そのような複合データストリームは、量子化値を、8、7、6などの絶対値として信号送信するために用いても、0、−1、+1、−2などの相対値として信号送信するために用いてもよい。
【0093】
例えば、方程式やルックアップテーブル(Look-Up Table:LUT)を用いることで、より高度な量子化方式を用いることもできることを理解されたい。用いる量子化方式に関係なく、デコーダがデータ値の適切な逆量子化を明確に実行できるように、選択された量子化強度、および任意で、選択された量子化方法、の定義および提供は一意であるべきである。
【0094】
また、互いに異なるサイズのデータ部分に同じ符号化方法および量子化強度を用いてもよい。あるいは、互いに異なるサイズのデータ部分に互いに異なる符号化方法および/または互いに異なる量子化強度を用いてもよい。換言すれば、同じサイズの複数のデータ部分に、符号化方法および量子化強度に関して互いに異なる独自の選択肢を持たせることができる。
【0095】
所定の入力データ(D1)を圧縮することが望ましい場合、後の復号化中の再構築時に生じる誤差、すなわち再構築の品質を考慮しつつ、所定の入力データ(D1)を可能なかぎり大きいデータ部分に分割して、可能なかぎり単純な符号化方法を用いることや、可能なかぎり量子化することが有利である可能性があることを理解されたい。換言すれば、単純な符号化方法によって生成された少量のデータを広範囲で量子化しても、達成されるビットの削減が小さいことが多く、再構築における誤差が大きいため、有利ではない。これに対し、比較的複雑な符号化方法によって生成されたデータを量子化すると、再構築の品質をそれほど落とすことなく、提供されるデータビットが削減されることが多い。したがって、データ部分のサイズおよび用いる符号化方法は、可能なかぎり大きいデータ部分および可能なかぎり単純な符号化方法を用いることを狙いとして、入力データ(D1)のデータコンテンツに基づいて決定してもよい。「データコンテンツ」という用語は、例えば、画像情報、画像の色、画像のコントラスト、画像の空間情報密度、一連の動画画像(例えば高速再生動画シーン)に起こる時間的変化、などに関連してもよい。データコンテンツという用語は、動画データを伴うメタデータとして定義してもよい。
【0096】
また、本開示の一実施形態によると、符号化データ部分は、用いた異なる符号化方法および/または異なる量子化強度に基づいて、符号化データ(E2)に含まれる複数のデータストリームへと集約される。例えば、「異なる符号化方法」は、「互いに異なる符号化方法」、すなわち様々な異なる符号化方法を用いることを意味すると解釈されるべきであり、「異なる量子化強度」は、「互いに異なる量子化強度」、すなわち様々な異なる量子化強度を用いることを意味すると解釈される。この点において、互いに異なる符号化方法を用いて生成された符号化データ部分は、可能なデータ値の互いに異なる性質、または前述の符号化方法によって生成されたデータ値により、互いに異なるデータストリームに集約されてもよい。
【0097】
本開示の別の実施形態によると、符号化データ部分は、例えば、無線放送、光ファイバーデータ放送などの目的で、単一のデータストリームに集約される。マルチキャストシステムでは、符号化データストリームは、例えば、データ通信ネットワーク内の互いに異なるサーバに個別に提供されてもよい。そのような構成は、例えば、新しい大ヒット映画を一般視聴用に配給する際に有用である。この場合、複数のデータストリームの一部に関連付けられたデータが、世界各地の様々なサーバに事前に配置されており、その複数のデータストリームの最後のデータストリームが利用可能にされることによってユーザデバイス側で符号化データの復号化が可能になったときに、その大ヒット映画の視聴、すなわち「リリース」が成立する。このような動作により、データ通信ネットワーク内のピークデータフローを削減することができる。また、ユーザデバイスのユーザが支払う料金に応じて、その大ヒット映画を異なる解像度で視聴することができるように、最後のデータストリームを様々なバージョンで提供することができる。
【0098】
複数のデータストリームの少なくとも2つを組み合わせて、符号化データ(E2)に含まれるデータストリームの数を削減、例えば最小化してもよい。
【0099】
単に説明の目的で、前述の、互いに異なるデータストリームへの集約を実行できる方法の例について検討する。説明する例において、入力データ(D1)のデータ部分の1つ以上は、変換された値を2で割る第1の量子化強度「QD2」を含む第1の符号化方法「DCTQD2」を用いて符号化され、入力データ(D1)の他のデータ部分の1つ以上は、変換された値を4で割る第2の量子化強度「QD4」を含む第2の符号化方法「DCTQD4」を用いて符号化される。そのような場合、第1の符号化方法「DCTQD2」および第2の符号化方法「DCTQD4」によって生成された各DC係数をそれぞれ個別のデータストリームで提供すると有利である。換言すれば、第1の符号化方法「DCTQD2」から生成されるDC係数、すなわち0から1024の範囲の値は、第1のデータストリームで提供され、第2の符号化方法「DCTQD4」から生成されるDC係数、すなわち0から512の範囲の値は、第2のデータストリームで提供される。
【0100】
しかしながら、例えば、第1の符号化方法「DCTQD2」および第2の符号化方法「DCTQD4」から生成された各AC係数の符号ビットを個別のストリームで提供することは有利ではないことを理解されたい。これは、量子化強度「QD2」および「QD4」ではそれらの特性が変わらないからである。したがって、これらのAC係数の符号ビットは、符号ビットの2つの個別のデータストリームよりも、圧縮される可能性のある単一のデータストリームのほうが、より効率的に提供される。
【0101】
本明細書における「第1」、「第2」などの用語は、いかなる順序、数量、または重要度も表さず、ある要素と別の要素を区別するために用いることを理解されたい。
【0102】
全体として、本開示の実施形態によると、例えばブロックエンコーダにおいてそうであるように、多数の、例えば10の符号化方法が利用可能である場合、それら多数の符号化方法間の切り替えと合わせて、量子化方法および量子化強度の切り替えに対応するために必要となる符号化の複雑性の増加は、ほんのわずかである。したがって、1つの類似の符号化方法と共に互いに異なる量子化方法および互いに異なる量子化強度を用いることによって、新しい選択肢として少数の符号化方法を追加すると、互いに異なるデータ部分に対し、互いに異なる量子化方法および互いに異なる量子化強度を容易に切り替えるのに有利な機会が得られる。
【0103】
第2の態様において、本開示の実施形態により、入力データ(D1)を符号化し、対応する符号化データ(E2)を生成するエンコーダが提供される。前記入力データ(D1)は複数のデータ部分を含み、1つのデータ部分は1つのデータブロックを指す。前記エンコーダは、前記入力データ(D1)を処理するデータ処理構成を備え、前記エンコーダは、
(a) 所定のデータ部分が、対応する所定の品質パラメータ値を有するように、前記複数のデータ部分に対して1つ以上の前記品質パラメータ値を部分ごとに設定するように動作し、
(b) 前記複数のデータ部分を解析し、前記複数のデータ部分の符号化に用いる少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を選択するように動作する解析器を備え、
(c) (b)において選択した少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いて、前記複数のデータ部分を符号化し、対応する符号化データ部分を生成するように動作する符号化構成を備え、
(d) 前記符号化データ部分を集約して、前記符号化データ(E2)を生成するように動作する集約器を備え、
(e) 前記少なくとも2つの量子化強度を示す情報および前記1つ以上の品質パラメータ値を示す情報を前記符号化データ(E2)に組み込むように動作し、
所定のデータ部分に対し、対応する所定の符号化方法および対応する所定の量子化強度が選択されてその符号化に用いられ、前記対応する所定の符号化方法および前記対応する所定の量子化強度は、(a)において前記所定のデータ部分に設定した所定の前記品質パラメータ値に基づいて選択され、
前記複数のデータ部分からの少なくとも2つのデータ部分は、(b)において選択した前記少なくとも1つの符号化方法から同じ符号化方法を用いて、かつ、(a)において前記少なくとも2つのデータ部分に設定した同じ前記品質パラメータ値に対して異なる量子化強度を用いて符号化されることを特徴とする。
【0104】
本開示の実施形態によるエンコーダは、符号化方法に複数の異なる量子化の選択肢を用いることで、従来の既知のエンコーダと比べて、あらゆるタイプのデータに対してより高いデータ圧縮率またはより高いデータ品質を得ることができる。
【0105】
入力データ(D1)は、画像データ、動画データ、音声データ、生体データ、ゲノムデータ、医療測定データ、センサデータ、監視データ、多次元データの少なくとも1つを含んでもよい。
【0106】
解析器は、前述のとおり、少なくとも2つの量子化強度を、入力データ(D1)の複数のデータ部分の1つ以上の特性に基づいて動的に選択するように動作してもよい。
【0107】
また、解析器は、複数のデータ部分の符号化に用いる少なくとも1つの符号化方法を、複数の符号化方法から選択するように動作してもよく、エンコーダは、少なくとも1つの符号化方法を示す情報を符号化データ(E2)に組み込むように動作する。
【0108】
少なくとも1つの符号化方法は、複数のデータ部分の符号化に用いる少なくとも2つの符号化方法を含んでもよく、エンコーダは、少なくとも2つの符号化方法を示す情報を符号化データ(E2)に組み込むように動作する。
【0109】
また、本開示の一実施形態によると、所定のデータ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の品質パラメータ値を示す情報、のうち少なくとも2つが一緒に、すなわち、所定のデータ部分に対する単一の情報として組み込まれる。この点において、当該エンコーダは、少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および/または1つ以上の品質パラメータ値を示す情報、のうち少なくとも2つを、単一のデータストリームに組み込むように動作してもよい。
【0110】
本開示の別の実施形態によると、所定のデータ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の品質パラメータ値を示す情報が個別に、すなわち、所定のデータ部分に対する個別の情報として組み込まれる。この点において、当該エンコーダは、少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および1つ以上の品質パラメータ値を示す情報を、個別のデータストリームに組み込むように動作してもよい。
【0111】
また、当該エンコーダは、複数のデータ部分の符号化に用いる少なくとも2つの量子化方法を選択するように動作してもよい。複数のデータ部分からの少なくとも2つのデータ部分は、同じ符号化方法を用いて、かつ、(a)において少なくとも2つのデータ部分に設定した同じ品質パラメータ値に対して異なる量子化強度および異なる量子化方法を用いて符号化される。
【0112】
また、集約器は、符号化データ部分を、用いた異なる符号化方法および/または異なる量子化強度に基づいて、符号化データ(E2)に含まれる複数のデータストリームへと集約するように動作してもよい。
【0113】
少なくとも2つの量子化強度を示す情報と、1つ以上の品質パラメータ値を示す情報は、1つ以上のストリームの形式で符号化データ(E2)に組み込まれてもよい。この点において、当該1つ以上のデータストリームは、符号化データ(E2)内のヘッダに含められてもよい。
【0114】
第3の態様において、本開示の実施形態により、デコーダを介して、符号化データ(E2)を復号化し、対応する復号化データ(D3)を生成する方法が提供される。1つのデータ部分は1つのデータブロックを指す。前記方法は、
(a) 前記符号化データ(E2)の複数の符号化データ部分の生成中に、少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化強度および1つ以上の品質パラメータ値を示す情報を、前記符号化データ(E2)内から受信することと、
(b) (a)からの前記情報を用いて、前記少なくとも1つの符号化方法の逆を、前記少なくとも2つの量子化強度および前記1つ以上の品質パラメータ値と共に、前記符号化データ(E2)の対応する符号化データ部分に部分ごとに適用し、対応する復号化データ部分を生成することと、
(c) 前記復号化データ部分を集約して、前記復号化データ(D3)を生成することと、
を含み、
少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いた、前記複数の符号化データ部分からの少なくとも2つの符号化データ部分の生成中に、それらの符号化データ部分に対し、同じ符号化方法と共に、同じ品質パラメータ値に対して異なる量子化強度が用いられ、
所定の符号化データ部分に対し、対応する所定の符号化方法の逆が、対応する所定の量子化強度および対応する所定の品質パラメータ値と共に適用され、対応する復号化データ部分が生成されることを特徴とする。
【0115】
当該方法は、符号化データ(E2)の複数の符号化データ部分の生成中に、少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化方法を示す情報を、符号化データ(E2)内から受信することを含んでもよい。複数の符号化データ部分からの少なくとも2つの符号化データ部分は、同じ符号化方法と共に、同じ品質パラメータ値に対して異なる量子化強度および異なる量子化方法を用いて生成される。
【0116】
符号化データ(E2)は、その複数の符号化データ部分の生成中に用いた少なくとも2つの量子化強度および1つ以上の品質パラメータ値を示す情報が組み込まれた1つ以上のデータストリームを含んでもよい。この点において、1つ以上のデータストリームは、符号化データ(E2)内に含まれるヘッダ内から受信されてもよい。
【0117】
あるいは、当該少なくとも1つの符号化方法は、複数の符号化データ部分の生成中に用いた少なくとも2つの符号化方法を含んでもよい。
【0118】
当該方法は、複数の符号化データ部分の生成中に用いた少なくとも1つの符号化方法を示す情報を、符号化データ(E2)内から受信することを含んでもよい。
【0119】
本開示の一実施形態によると、所定の符号化データ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の品質パラメータ値を示す情報、のうち少なくとも2つが一緒に、すなわち、所定の符号化データ部分に対する単一の情報として受信される。この点において、当該方法は、少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および/または1つ以上の品質パラメータ値を示す情報、のうち少なくとも2つを、単一のデータストリームで受信することを含んでもよい。
【0120】
本開示の別の実施形態によると、所定の符号化データ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の品質パラメータ値を示す情報が個別に、すなわち、所定の符号化データ部分に対する個別の情報として受信される。この点において、当該方法は、少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および1つ以上の品質パラメータ値を示す情報を個別のデータストリームで受信することを含んでもよい。
【0121】
所定の符号化データ部分の生成中に用いた符号化方法を示す情報と、所定の符号化データ部分の生成中に用いた量子化強度を示す情報が、単一の情報、すなわち単一の選択インデックスまたはその識別番号に含まれて受信されてもよい。復号化中、この単一の情報は、符号化データ(E2)の生成時に用いた量子化強度と共に、符号化方法の逆を所定の符号化データ部分に適用するために、デコーダによって用いられる。
【0122】
少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および1つ以上の品質パラメータ値を示す情報は、データベースまたはデータサーバから受信されてもよい。
【0123】
当該方法において、符号化データ(E2)は符号化1次元データを含んでもよい。あるいは、当該方法において、符号化データ(E2)は符号化多次元データを含んでもよい。あるいは、符号化データ(E2)は、例えば動画データ内の音声、字幕、画像などの変化する一連の符号化データ(E2)として、符号化1次元データと符号化多次元データの組合せを含む。
【0124】
当該方法において、符号化データ(E2)は、符号化画像データ、符号化動画データ、符号化音声データ、符号化生体データ、符号化ゲノムデータ、符号化医療測定データ、符号化センサデータ、符号化監視データの少なくとも1つを含んでもよい。
【0125】
当該方法において、符号化データ(E2)は、用いた異なる符号化方法および/または異なる量子化強度に対応する複数の符号化データ部分がそれぞれ集約された複数のデータストリームを含んでもよい。
【0126】
あるいは、当該方法において、符号化データ(E2)は、異なる符号化方法および/または異なる量子化強度によって生成された複数の符号化データ部分が組み合わされた単一のデータストリームを含んでもよい。
【0127】
また、前述の方法は複数の互いに異なる復号化方法および標準と組み合わせて用いることができる。例として、前述の方法は、英国登録特許公報第2505169号に記載されるようなデータブロックデコーダと共に用いることができる。
【0128】
第4の態様において、本開示の実施形態により、符号化データ(E2)を復号化し、対応する復号化データ(D3)を生成するデコーダが提供される。前記デコーダは、前記符号化データ(E2)を処理するデータ処理構成を備える。1つのデータ部分は1つのデータブロックを指す。前記デコーダは、
(a) 前記符号化データ(E2)の複数の符号化データ部分の生成中に、少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化強度および1つ以上の品質パラメータ値を示す情報を、前記符号化データ(E2)内から受信するように動作する情報復号化構成と、
(b) (a)からの前記情報を用いて、前記少なくとも1つの符号化方法の逆を、前記少なくとも2つの量子化強度および前記1つ以上の品質パラメータ値と共に、前記符号化データ(E2)の対応する符号化データ部分に部分ごとに適用し、対応する復号化データ部分を生成するように動作する復号化構成と、
(c) 前記復号化データ部分を集約して、前記復号化データ(D3)を生成するように動作する集約器と、
を備え、
少なくとも1つの符号化方法および少なくとも2つの異なる量子化強度を用いた、前記複数の符号化データ部分からの少なくとも2つの符号化データ部分の生成中に、それらの符号化データ部分に対し、同じ符号化方法と共に、同じ品質パラメータ値に対して異なる量子化強度が用いられ、
所定の符号化データ部分に対し、対応する所定の符号化方法の逆が、対応する所定の量子化強度および対応する所定の品質パラメータ値と共に適用され、対応する復号化データ部分が生成されることを特徴とする。
【0129】
情報復号化構成は、符号化データ(E2)の複数の符号化データ部分の生成中に、少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化方法を示す情報を、符号化データ(E2)内から受信するように動作してもよい。複数の符号化データ部分からの少なくとも2つの符号化データ部分は、同じ符号化方法と共に、同じ品質パラメータ値に対して異なる量子化強度および異なる量子化方法を用いて生成される。
【0130】
符号化データ(E2)は、用いた異なる符号化方法および/または異なる量子化強度に対応する複数の符号化データ部分がそれぞれ集約された複数のデータストリームを含んでもよい。
【0131】
符号化データ(E2)は、その複数の符号化データ部分の生成中に用いた少なくとも2つの量子化強度および1つ以上の品質パラメータ値を示す情報が組み込まれた1つ以上のデータストリームを含んでもよい。
【0132】
情報復号化構成は、複数の符号化データ部分の生成中に用いた少なくとも1つの符号化方法を示す情報を、符号化データ(E2)内から受信するように動作してもよい。
【0133】
本開示の一実施形態によると、所定の符号化データ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の品質パラメータ値を示す情報、のうち少なくとも2つが一緒に、すなわち、所定の符号化データ部分に対する単一の情報として受信される。この点において、当該情報復号化構成は、少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および/または1つ以上の品質パラメータ値を示す情報、のうち少なくとも2つを、単一のデータストリームで受信するように動作してもよい。
【0134】
本開示の別の実施形態によると、所定の符号化データ部分に対し、対応する所定の符号化方法を示す情報、対応する所定の量子化強度を示す情報、および/または対応する所定の品質パラメータ値を示す情報が個別に、すなわち、所定の符号化データ部分に対する個別の情報として受信される。この点において、当該情報復号化構成は、少なくとも1つの符号化方法を示す情報、少なくとも2つの量子化強度を示す情報、および1つ以上の品質パラメータ値を示す情報を個別のデータストリームで受信するように動作してもよい。
【0135】
また、符号化データ(E2)は、符号化画像データ、符号化動画データ、符号化音声データ、符号化生体データ、符号化ゲノムデータ、符号化医療測定データ、符号化センサデータ、符号化監視データ、符号化多次元データの少なくとも1つを含んでもよい。
【0136】
第5の態様において、本開示の実施形態により、前記第1の態様に従う方法を実行するために、処理ハードウェアを備えるコンピュータ装置によって実行可能なコンピュータ可読命令が格納された非一時的コンピュータ可読格納媒体を含む、コンピュータプログラム製品が提供される。
【0137】
コンピュータ可読命令は、例えば「App store」などのソフトウェアアプリケーションストアからコンピュータ装置へとダウンロード可能であってもよい。
【0138】
第6の態様において、本開示の実施形態により、前記第3の態様に従う方法を実行するために、処理ハードウェアを備えるコンピュータ装置によって実行可能なコンピュータ可読命令が格納された非一時的コンピュータ可読格納媒体を含む、コンピュータプログラム製品が提供される。
【0139】
コンピュータ可読命令は、例えば「App store」などのソフトウェアアプリケーションストアからコンピュータ装置へとダウンロード可能であってもよい。
【0140】
第7の態様において、本開示の実施形態により、前記第2の態様に従う少なくとも1つのエンコーダと、前記第4の態様に従う少なくとも1つのデコーダとを備えるコーデックが提供される。例えば、前述のようなマルチキャストコンテンツ配信システムにおいて、少なくとも1つのエンコーダおよび複数のデコーダを用いてもよい。
【0141】
例示的なコーデックを
図1に示している。このコーデックについて、以下に詳細に説明する。このコーデックは、入力データ(D1)を符号化して対応する符号化データ(E2)を生成する少なくとも1つのエンコーダと、符号化データ(E2)を復号化して対応する復号化データ(D3)を生成する少なくとも1つのデコーダとを備える。
【0142】
復号化データ(D3)は、非可逆的モードの動作におけるように、入力データ(D1)と略類似であってもよい。「略」とは、少なくとも50%の類似度、より選択的には少なくとも90%の類似度、さらに選択的には少なくとも99%の類似度を意味する。あるいは、復号化データ(D3)は、例えば変換(例えば符号変換)によって、入力データ(D1)と異なってもよいが、入力データ(D1)に存在するものと実質的に類似の情報を維持してもよい。例えば、互いに異なるタイプの通信プラットフォーム、ソフトウェア層、通信デバイスなどと互換となるように、復号化データ(D3)の再フォーマットも必要となる場合、復号化データ(D3)は通常は入力データ(D1)と異なるように変換される。
【0143】
本開示の実施形態によると、少なくとも1つのエンコーダは、入力データ(D1)を処理して対応する符号化データ(E2)を生成するデータ処理ハードウェアを備える。少なくとも1つのエンコーダのデータ処理ハードウェアは、前述のように、プログラム命令を実行するように動作する少なくとも1つの縮小命令セットコンピュータ(Reduced Instruction Set Computing:RISC)プロセッサを用いて実装されてもよい。
【0144】
また、少なくとも1つのエンコーダは、符号化データ(E2)を、データベース格納のためにデータサーバおよび/またはデータストレージへと通信するように動作してもよい。データサーバおよび/またはデータストレージは、その後の符号化データ(E2)の復号化のために、少なくとも1つのデコーダにアクセス可能に配置される。少なくとも1つのデコーダは、少なくとも1つのエンコーダと互換であると有利である。データサーバおよび/またはデータストレージは、データ配布のためにピアツーピアネットワークの一部であってもよい。符号化データ(E2)は、伝送中は断片化され、複数の互いに異なるピアツーピア通信経路を介して提供される。このような手法により、例えばデータコンテンツを盗んで不正に配布(例えば、著作権保護された資料、動画、フィルムなどの海賊版配布)するための、第三者による盗聴が困難になる。
【0145】
いくつかの例において、少なくとも1つのデコーダは、データサーバおよび/またはデータストレージから符号化データ(E2)にアクセスするように動作してもよい。
【0146】
別の例において、少なくとも1つのエンコーダは、データ通信ネットワークまたは直接接続のいずれかを介して符号化データ(E2)を少なくとも1つのデコーダへとストリーミングするように動作してもよい。また、ハードウェアベースまたはソフトウェアベースのエンコーダを備えるデバイスは、ハードウェアベースまたはソフトウェアベースのデコーダを備えた別のデバイスと直接通信できることも理解されたい。そのような手法により、符号化データ(E2)の通信を支援可能な、エンコーダのピアツーピアネットワークを実現可能である。さらに、そのようなピアツーピアの動作により、協調して動作する複数のエンコーダ間で符号化タスクを共有、すなわち符号化データ(E2)を生成でき、また任意で、例えばピアツーピアのマルチキャスト構成で、符号化データ(E2)を1つ以上のデコーダに分散することができる。
【0147】
さらに別の例において、少なくとも1つのデコーダを、ハードドライブ、光学ディスク、および/またはソリッドステートドライブ(Solid-State Drive:SSD)などの非一時的コンピュータ可読格納媒体から符号化データ(E2)を取得するように実装してもよい。
【0148】
本開示の実施形態によると、少なくとも1つのデコーダは、符号化データ(E2)を処理して対応する復号化データ(D3)を生成するデータ処理ハードウェアを備える。少なくとも1つのデコーダのデータ処理ハードウェアは、前述のように、プログラム命令を実行するように動作する少なくとも1つのRISCプロセッサを用いて実装してもよい。そのようなRISCプロセッサは、比較的単純な連結動作を極めて高速に実行できるため、例えばリアルタイムの、ストリーミング形式で提供されるデータの復号化に適している。
【0149】
本開示の実施形態をマルチキャスト形式で実装する場合、そのようなデコーダが複数用いられる。所定のデコーダは、例えばそのデータメモリをデータバッファとして用いることで、符号化データ(E2)を他のデコーダへと渡す中継局として機能してもよい。そのような手法により、高品質の動画データコンテンツをストリーミングする際にデータ通信ネットワークに生じるデータフローのオーバーロードを低減することができる。
【0150】
少なくとも1つのエンコーダおよび少なくとも1つのデコーダは、例えば符号化データ(E2)の双方向通信を可能にするために、両方とも単一のデバイス内に存在してもよい。そのような場合、少なくとも1つのエンコーダおよび少なくとも1つのデコーダは共にコーデックを形成する。例えば、そのようなコーデックは、双方向のビデオ会議装置において有利に用いられる。
【0151】
あるいは、コーデックは、複数のデバイス間で効果的に実装されてもよい。コーデックは、例えば1つ以上の特定用途向け集積回路(Application-Specific Integrated Circuit:ASIC)を用いて、カスタム設計のデジタルハードウェアとして実装されてもよい。あるいは、または加えて、コーデックは、プログラム命令を実行するように動作するコンピュータハードウェアを用いて実装されてもよい。プログラム命令は、例えば非一時的な機械可読データキャリアでコンピュータハードウェアに提供される。
【0152】
例として、少なくとも1つのエンコーダおよび/または少なくとも1つのデコーダは、家庭用電子装置、無線通信装置および関連システム、デジタルカメラ、スマートフォン、タブレットコンピュータ、パーソナルコンピュータ、科学測定装置、通信設備、ビデオ会議設備、衛星などに有利に用いられる。
【0153】
次に、本開示の実施形態を図面を参照して説明する。
【0154】
図1を参照すると、本開示の実施形態は以下に関する。
(i) 入力データ(D1)を符号化して対応する符号化データ(E2)を生成するエンコーダ110、および、入力データ(D1)を符号化して対応する符号化データ(E2)を生成する、対応する方法、
(ii) 符号化データ(E2)を復号化して対応する復号化データ(D3)を生成するデコーダ120、および、符号化データ(E2)を復号化して対応する復号化データ(D3)を生成する、対応する方法、および
(iii) 少なくとも1つのエンコーダと少なくとも1つのデコーダの組合せ、すなわちエンコーダ110とデコーダ120の組合せを備えるコーデック130。
【0155】
図1は単なる例に過ぎず、本明細書の請求の範囲を不要に制限するものではない。コーデック130に関する具体的な指定は例として挙げるものであり、コーデック130を具体的な数、タイプ、または構成のエンコーダおよびデコーダに制限すると解釈されるものではないことを理解されたい。当業者は、本開示の実施形態の多様な変形、変更、修正を認識されるであろう。エンコーダ110およびデコーダ120は、前述のデータ符号化の方法およびデータ復号化の方法を用いるように動作する。
【0156】
ここで
図2を参照すると、本開示の一実施形態による、エンコーダ110とその様々な構成要素とを示す模式図が提供されている。エンコーダ110は、解析器210と、符号化構成220と、集約器230とを備える。
【0157】
エンコーダ110は、前述のとおり、1つ以上の品質パラメータ値を、入力データ(D1)の複数のデータ部分に部分ごとに設定するように動作する。
【0158】
解析器210は、複数のデータ部分を解析し、これら複数のデータ部分の符号化に用いる少なくとも1つの符号化方法および少なくとも2つの量子化強度を、部分ごとに選択するように動作する。
【0159】
符号化構成220は、前述のとおり、複数のデータ部分を符号化して対応する符号化データ部分を生成するように動作する。この点において、複数のデータ部分からの少なくとも2つのデータ部分は、同じ符号化方法を用いて、かつ、当該少なくとも2つのデータ部分に設定した同じ品質パラメータ値に対して異なる量子化強度を用いて符号化される。
【0160】
符号化構成220は、
図2に示すように、複数のデータ部分をほぼ同時に符号化するために並列化を用いるように動作してもよい。
【0161】
集約器230は、符号化データ部分を集約して符号化データ(E2)を生成するように動作する。
【0162】
エンコーダ110は、少なくとも2つの量子化強度を示す情報および1つ以上の品質パラメータ値を示す情報を符号化データ(E2)に組み込むように動作する。
【0163】
図2は単なる例に過ぎず、本明細書の請求の範囲を不要に制限するものではない。エンコーダ110に関する具体的な指定は例として挙げるものであり、エンコーダ110を具体的な数、タイプ、または構成のエンコーダ構成要素に制限すると解釈されるものではないことを理解されたい。当業者は、本開示の実施形態の多様な変形、変更、修正を認識されるであろう。
【0164】
ここで
図3を参照すると、本開示の一実施形態による、入力データ(D1)を符号化して対応する符号化データ(E2)を生成する方法のステップを示すフローチャートが提供されている。この方法は、論理的なフロー図に示したステップの集まりとして示されており、前述のとおり、例えばハードウェア、ソフトウェア、またはそれらの組合せにおいて実行可能な一連のステップとして表されている。
【0165】
この方法はエンコーダを介して実行される。
【0166】
ステップ310において、前述のとおり、1つ以上の品質パラメータ値が、入力データ(D1)の複数のデータ部分に部分ごとに設定される。
【0167】
ステップ320において、前述のとおり、複数のデータ部分が解析され、複数のデータ部分の符号化に用いる少なくとも1つの符号化方法および少なくとも2つの量子化強度が選択される。
【0168】
次に、ステップ330において、少なくとも1つの選択された符号化方法および少なくとも2つの選択された量子化強度を入力データ(D1)のそれぞれ対応するデータ部分に適用することで、複数のデータ部分が符号化されて対応する符号化データ部分が生成される。この点において、複数のデータ部分からの少なくとも2つのデータ部分は、同じ符号化方法を用いて、かつ、ステップ310において当該少なくとも2つのデータ部分に設定した同じ品質パラメータ値に対して異なる量子化強度を用いて符号化される。
【0169】
ステップ340において、符号化データ部分が集約されて符号化データ(E2)が生成される。
【0170】
ステップ350において、少なくとも2つの量子化強度を示す情報および1つ以上の品質パラメータ値を示す情報が符号化データ(E2)に組み込まれる。
【0171】
ステップ350は、ステップ330およびステップ340と同時に、またはそれらの前に実行することもできる。
【0172】
ステップ310から350は単なる例示であり、本明細書の請求の範囲から逸脱することなく、1つ以上のステップを追加したり、1つ以上のステップを省略したり、1つ以上のステップを異なる順序で提供したりすることにより、他のステップを提供することも可能である。
【0173】
次に
図4を参照すると、本開示の一実施形態による、デコーダ120とその様々な構成要素とを示す模式図が提供されている。デコーダ120は、情報復号化構成410と、復号化構成420と、集約器430とを備える。
【0174】
情報復号化構成410は、符号化データ(E2)の複数の符号化データ部分の生成中に少なくとも1つの符号化方法と共に用いられた少なくとも2つの量子化強度および1つ以上の品質パラメータ値を示す情報を、符号化データ(E2)内から受信するように動作する。
【0175】
復号化構成420は、それらの情報を用いて、少なくとも1つの符号化方法の逆を、少なくとも2つの量子化強度および1つ以上の品質パラメータ値と共に、符号化データ(E2)の対応する符号化データ部分に適用して対応する復号化データ部分を生成するように動作する。
【0176】
復号化構成420は、
図4に示すように、符号化データ(E2)の複数の符号化データ部分をほぼ同時に復号化するために並列化を用いるように動作してもよい。
【0177】
集約器430は、復号化データ部分を集約して復号化データ(D3)を生成するように動作する。
【0178】
図4は単なる例に過ぎず、本明細書の請求の範囲を不要に制限するものではない。デコーダ120に関する具体的な指定は例として挙げるものであり、デコーダ120を具体的な数、タイプ、または構成のエンコーダ構成要素に制限すると解釈されるものではないことを理解されたい。当業者は、本開示の実施形態の多様な変形、変更、修正を認識されるであろう。
【0179】
ここで
図5を参照すると、本開示の一実施形態による、符号化データ(E2)を復号化して対応する復号化データ(D3)を生成する方法のステップを示すフローチャートが提供されている。この方法は、論理的なフロー図に示したステップの集まりとして示されており、前述のとおり、例えばハードウェア、ソフトウェア、またはそれらの組合せにおいて実行可能な一連のステップとして表されている。
【0180】
この方法はデコーダを介して実行される。
【0181】
ステップ510において、符号化データ(E2)の複数の符号化データ部分の生成中に少なくとも1つの符号化方法と共に用いた少なくとも2つの量子化強度および1つ以上の品質パラメータ値を示す情報が、符号化データ(E2)内から受信される。
【0182】
ステップ520において、それらの情報を用いて、少なくとも2つの量子化強度および1つ以上の品質パラメータ値と共に、少なくとも1つの符号化方法の逆が、符号化データ(E2)の対応する符号化データ部分に適用され、対応する復号化データ部分が生成される。
【0183】
ステップ530において、復号化データ部分が集約されて復号化データ(D3)が生成される。
【0184】
ステップ510から530は単なる例示であり、本明細書の請求の範囲から逸脱することなく、1つ以上のステップを追加したり、1つ以上のステップを省略したり、1つ以上のステップを異なる順序で提供したりすることにより、他のステップを提供することも可能である。
【0185】
ここで
図6を参照すると、本開示の実施形態により、例示的画像を符号化し、その後、その例示的画像を復号化する例が提供されている。
【0186】
図6には、例示的画像の境界を適切に示す、黒い境界線が示されている。この黒い境界線は例示的画像の一部ではないことを理解されたい。
【0187】
例示的画像のサイズは24×16画素であり、それぞれ8×8画素のブロックサイズを有する6つのデータブロックに分割されている。これら6つのデータブロックは、第1のデータブロック602、第2のデータブロック604、第3のデータブロック606、第4のデータブロック608、第5のデータブロック610、および第6のデータブロック612として示されている。
【0188】
これらのデータ部分の符号化および量子化には、27の互いに異なる方法が使用可能である。これらの方法の選択インデックスおよび識別番号は以下のとおりである。
選択インデックス「DCTQL」に対し識別番号「0」、
選択インデックス「DCTQM」に対し識別番号「1」、
選択インデックス「DCTQH」に対し識別番号「2」、
選択インデックス「DC1」に対し識別番号「3」、
選択インデックス「DC2」に対し識別番号「4」、
選択インデックス「DC3」に対し識別番号「5」、
選択インデックス「DC4」に対し識別番号「6」、
選択インデックス「DC5」に対し識別番号「7」、
選択インデックス「DC6」に対し識別番号「8」、
選択インデックス「DC7」に対し識別番号「9」、
選択インデックス「DC8」に対し識別番号「10」、
選択インデックス「LineH1」に対し識別番号「11」、
選択インデックス「LineH2」に対し識別番号「12」、
選択インデックス「LineH3」に対し識別番号「13」、
選択インデックス「LineH4」に対し識別番号「14」、
選択インデックス「LineH5」に対し識別番号「15」、
選択インデックス「LineH6」に対し識別番号「16」、
選択インデックス「LineH7」に対し識別番号「17」、
選択インデックス「LineH8」に対し識別番号「18」、
選択インデックス「LineV1」に対し識別番号「19」、
選択インデックス「LineV2」に対し識別番号「20」、
選択インデックス「LineV3」に対し識別番号「21」、
選択インデックス「LineV4」に対し識別番号「22」、
選択インデックス「LineV5」に対し識別番号「23」、
選択インデックス「LineV6」に対し識別番号「24」、
選択インデックス「LineV7」に対し識別番号「25」、および
選択インデックス「LineV8」に対し識別番号「26」。
【0189】
選択インデックス「DCTQL」は、所定の品質パラメータに従って高い品質を得るように、DCT変換されたデータ値を低い量子化強度で量子化することで、高い品質の再構築を行うことを示している。同様に、選択インデックス「DCTQM」は、中程度の量子化強度によって中程度の品質の再構築を行い、選択インデックス「DCTQH」は、高い量子化強度によって低い品質の再構築を行うことを示している。DC、LineH、およびLineV方法の選択インデックス内の数字は、これらの方法によって生成されたデータ値が、各数字によって示されるビット深度を有するように量子化されることを表している。例えば、選択インデックス「LineV7」は、垂直ブロックラインのデータ値がビット深度「7」を有するように量子化されることを表している。換言すれば、量子化後に、2の7乗すなわち128個のデータ値が得られることになる。
【0190】
説明する例において、品質パラメータ値は75である。これは、かなり高い品質の復号化画像を得ることが望まれていることを示している。品質パラメータ値の範囲は1(最も低い品質)から100(可逆的な品質)である。品質パラメータ値が75である場合、ラグランジュ乗数の値「L」は0.9671に設定される。したがって、レート歪み(Rate Distortion:RD)値を以下の式を用いて計算する際に、所定のデータブロックの符号化に用いたビット数「Bits」に「L」が掛けられる。
RD=SSE+L*Bits
ここで「SSE」は、元のデータブロックと、対応する復号化データブロックとの画素間の二乗誤差の合計を表す。
【0191】
第1のデータブロック602のすべての画素値は153
10(=99
16=10011001
2)であるため、選択インデックス「DC4」で表される符号化方法および量子化を用いて第1のデータブロック602を量子化すると有利である。これにより、4ビットのビット深度で量子化された場合に値9
10(=9
16=1001
2)が得られる。換言すれば、DC方法および4ビットの量子化を用いると、可逆的な結果が得られる。換言すれば、値「9」の逆量子化により元の値「153」が得られるため、SSEの値は0(ゼロ)になる。より大きいビット数を用いて結果を表現しても、再構築を向上することにはならない。不要にビットを消費するだけであり、再構築における誤差が生じることもある。より小さいビット数を用いて結果を表現すると、必ず再構築における誤差が生じる。ラグランジュ乗数の値「L」がわずか0.9671であるため、この誤差によるダメージは、1ビットや数ビットを削減することでは相殺されない。例えば、選択インデックス「DC3」で表される符号化方法、量子化方法、および量子化強度が選択された場合、量子化値は4
10(=4
16=100
2)となり、この量子化値が逆量子化されると、得られる値は146
10(=92
16=10010010
2)となる。この歪みは、SSEが3136(=64*7*7)であることを意味する。したがって、1ビットを削減しても、RD値について利益が得られることはない(=3136−0.9671*1)。
【0192】
第2のデータブロック604は、選択インデックス「DC1」によって表される符号化方法、量子化方法、および量子化強度を用いて符号化および量子化することが有利である。第2のデータブロック604の元の値はすべて255
10(=FF
16=11111111
2)であり、これは量子価値が1
10(=1
16=1
2)となることを意味する。この値を復号化すると、元の値255が得られる。結果として、第2のデータブロック604に二乗誤差は生じない。
【0193】
第3のデータブロック606では、元の値は、選択インデックス「LineH1」で表される符号化方法、量子化方法、および量子化強度を用いて符号化および量子化されると有利であり、8つの連続した水平ブロックラインの値は上から下に1 1 1 1 0 0 0 0である。これも、再構築が可逆的であることを意味する。
【0194】
次に、第4のデータブロック608および第5のデータブロック610に用いる符号化および量子化について説明する。比較のため、第4のデータブロック608および第5のデータブロック610は、選択インデックス「DCTQH」、「DCTQM」、および「DCTQL」で表される符号化方法、量子化方法、および量子化強度を用いて符号化および量子化されている。説明する例において、品質パラメータ値75は、選択インデックス「DCTQL」に対応する量子化方法はデータ値を2で割り、選択インデックス「DCTQM」に対応する量子化方法はデータ値を4で割り、選択インデックス「DCTQH」に対応する量子化方法はデータ値を8で割ることを定めている。品質パラメータ値95を用いた場合、除数の値はそれぞれ、例えば、1、2、および4になることを理解されたい。同様に、品質パラメータ値10を用いた場合、除数の値はそれぞれ、例えば、6、11、および20になる。
【0195】
第4のデータブロック608の画素の元のデータ値は以下のとおりである。
(182、153、119、119、119、119、153、204、255、204、182、153、73、73、182、73、255、255、204、119、0、0、255、153、255、255、255、73、0、0、204、255、73、182、255、119、0、0、153、255、204、73、204、153、0、0、119、255、255、204、0、0、0、0、73、255、255、255、255、73、0、0、153、255)
【0196】
第4のデータブロック608のDCT変換されたデータ値(X)は以下のとおりである。
(1122、195、480、−289、−12、88、−32、54、78、4、−136、104、−58、60、−55、9、−5、11、−13、148、53、−51、−1、−32、−91、−133、−103、2、103、−28、72、−42、65、−43、−9、−101、−56、−60、34、29、−32、−29、123、78、59、−67、−20、−23、49、−20、−21、−66、−1、71、26、26、−54、−44、4、−3、−24、−50、−54、−28)
【0197】
選択インデックス「DCTQL」によって表された量子化方法および量子化強度を用いて前述のDCT変換されたデータ値を量子化、すなわち2で割ると(Y=X/2)、量子化された変換値は以下のとおりとなる。
(561、97、240、−144、−6、44、−16、27、39、2、−68、52、−29、30、−27、4、−2、5、−6、74、26、−25、0、−16、−45、−66、−51、1、51、−14、36、−21、32、−21、−4、−50、−28、−30、17、14、−16、−14、61、39、29、−33、−10、−11、24、−10、−10、−33、0、35、13、13、−27、−22、2、−1、−12、−25、−27、−14)
【0198】
これらの量子化された変換値(すなわち、周波数係数)は、シグザグ型の走査を用いること、10ビットDC値を個別に信号送信すること、AC値の符号ビットを個別に信号送信すること、および、10ビットAC値をゼロラン(zero−run)の可変長符号(Variable-Length Code:VLC)符号化(参照文献[14]を参照)で符号化することによって、例えば416ビットで符号化できる。この例における他の量子化された変換値については、必要なビット数が同様に計算される。値がより強く量子化される(すなわち、より少ないビットで値が表現される)場合、元のDC値およびAC値は、例えば9ビット(除数が4の場合)または8ビット(除数が8の場合)を有するであろう。
【0199】
逆量子化の際、量子化された変換値に2が掛けられ(X'=Y*2)、以下の逆量子化された変換値が得られる。
(1122、194、480、−288、−12、88、−32、54、78、4、−136、104、−58、60、−54、8、−4、10、−12、148、52、−50、0、−32、−90、−132、−102、2、102、−28、72、−42、64、−42、−8、−100、−56、−60、34、28、−32、−28、122、78、58、−66、−20、−22、48、−20、−20、−66、0、70、26、26、−54、−44、4、−2、−24、−50、−54、−28)
【0200】
その後、DCT変換の逆を適用することで、逆量子化された変換値を復号化すると、以下の復号化データ値が得られる。
(184、153、119、119、117、120、153、204、255、203、182、154、73、74、182、74、254、254、203、119、0、0、254、153、255、255、254、73、0、0、204、254、74、182、254、118、0、0、152、255、204、74、204、152、0、0、119、255、254、204、2、0、1、0、74、254、255、254、254、73、0、0、153、255)
【0201】
これらの復号化データ値に基づいて、二乗誤差(SSE)の合計の値35が算出される。したがって、選択インデックス「DCTQL」によって表される符号化方法、量子化方法、および量子化強度を第4のデータブロック608に用いると、RD値は437.3136(=35+0.9671*416)となる。
【0202】
同様に、選択インデックス「DCTQM」によって表される量子化方法および量子化強度を用いて、DCT変換されたデータ値を量子化、すなわち4で割ると(Y=X/4)、量子化された変換値は以下のとおりとなる。
(280、49、120、−72、−3、22、−8、13、19、1、−34、26、−14、15、−14、2、−1、3、−3、37、13、−13、0、−8、−23、−33、−26、0、26、−7、18、−10、16、−11、−2、−25、−14、−15、8、7、−8、−7、31、19、15、−17、−5、−6、12、−5、−5、−16、0、18、6、6、−13、−11、1、−1、−6、−12、−13、−7)
【0203】
これらの量子化された変換値(すなわち、周波数係数)は、例えば367ビットで符号化できる。
【0204】
逆量子化の際、これらの量子化された変換値に4が掛けられ(X'=Y*4)、以下の逆量子化された変換値が得られる。
(1120、196、480、−288、−12、88、−32、52、76、4、−136、104、−56、60、−56、8、−4、12、−12、148、52、−52、0、−32、−92、−132、−104、0、104、−28、72、−40、64、−44、−8、−100、−56、−60、32、28、−32、−28、124、76、60、−68、−20、−24、48、−20、−20、−64、0、72、24、24、−52、−44、4、−4、−24、−48、−52、−28)
【0205】
その後、DCT変換の逆を適用することで、これらの逆量子化された変換値を復号化すると、以下の復号化データ値が得られる。
(183、153、117、120、117、118、151、204、255、203、182、152、73、73、181、72、255、254、202、121、0、1、255、153、254、255、252、73、0、0、203、255、73、180、255、119、0、0、153、254、204、73、203、153、0、0、119、253、255、204、4、0、0、0、71、255、255、255、254、72、0、2、154、254)
【0206】
これらの復号化データ値に基づいて、二乗誤差(SSE)の合計の値78が算出される。したがって、選択インデックス「DCTQM」によって表される符号化方法、量子化方法、および量子化強度を用いると、RD値は432.9257(=78+0.9671*367)となる。
【0207】
同様に、選択インデックス「DCTQH」によって表される量子化方法および量子化強度を用いて、DCT変換されたデータ値を量子化、すなわち8で割ると(Y=X/8)、量子化された変換値は以下のとおりとなる。
(140、24、60、−36、−1、11、−4、7、10、0、−17、13、−7、7、−7、1、−1、1、−2、18、7、−6、0、−4、−11、−17、−13、0、13、−3、9、−5、8、−5、−1、−13、−7、−7、4、4、−4、−4、15、10、7、−8、−2、−3、6、−2、−3、−8、0、9、3、3、−7、−5、0、0、−3、−6、−7、−3)
【0208】
これらの量子化された変換値(すなわち、周波数係数)は、例えば323ビットで符号化できる。
【0209】
逆量子化の際、これらの量子化された変換値に8が掛けられ(X'=Y*8)、以下の逆量子化された変換値が得られる。
(1120、192、480、−288、−8、88、−32、56、80、0、−136、104、−56、56、−56、8、−8、8、−16、144、56、−48、0、−32、−88、−136、−104、0、104、−24、72、−40、64、−40、−8、−104、−56、−56、32、32、−32、−32、120、80、56、−64、−16、−24、48、−16、−24、−64、0、72、24、24、−56、−40、0、0、−24、−48、−56、−24)
【0210】
その後、DCT変換の逆を適用することで、これらの逆量子化された変換値を復号化すると、以下の復号化データ値が得られる。
(180、147、119、123、120、117、155、205、253、204、179、151、75、73、181、81、255、255、200、118、3、1、251、149、255、255、254、70、0、2、205、255、76、183、255、117、2、0、155、253、205、73、203、154、0、1、120、255、253、198、1、0、0、2、74、254、255、253、255、74、0、0、151、253)
【0211】
これらの復号化データ値に基づいて、二乗誤差(SSE)の合計の値317が算出される。したがって、選択インデックス「DCTQH」によって表される符号化方法、量子化方法、および量子化強度を用いると、RD値は629.3733(=317+0.9671*323)となる。
【0212】
ここで、第5のデータブロック610の同様の計算について考えると、第5のデータブロック610の画素の元のデータ値は以下のとおりである。
(255、255、255、255、255、255、255、73、255、255、255、255、255、255、153、0、119、255、255、255、255、204、0、0、73、153、255、255、255、255、73、0、255、73、153、255、255、255、119、73、255、255、119、73、255、255、204、153、255、255、255、153、0、0、73、119、255、255、255、255、255、73、0、73)
【0213】
第5のデータブロック610のDCT変換されたデータ値(X)は以下のとおりである。
(1468、366、−266、110、−29、−27、28、−2、134、−54、−187、96、−102、37、−10、−20、77、142、120、−89、−4、21、−66、31、95、−147、201、131、−25、70、−29、31、41、−51、−133、24、69、54、26、12、−82、13、47、−138、−83、3、−7、−11、55、−50、−29、64、4、−116、−34、13、−54、56、22、−63、64、55、26、−27)
【0214】
選択インデックス「DCTQL」によって表された量子化方法および量子化強度を用いて前述のDCT変換されたデータ値を量子化、すなわち2で割ると(Y=X/2)、量子化された変換値は以下のとおりとなる。
(734、183、−133、55、−14、−13、14、−1、67、−27、−93、48、−51、18、−5、−10、38、71、60、−44、−2、10、−33、15、47、−73、100、65、−12、35、−14、15、20、−25、−66、12、34、27、13、6、−41、6、23、−69、−41、1、−3、−5、27、−25、−14、32、2、−58、−17、6、−27、28、11、−31、32、27、13、−13)
【0215】
これらの量子化された変換値(すなわち、周波数係数)は、例えば433ビットで符号化できる。
【0216】
逆量子化の際、量子化された変換値に2が掛けられ(X'=Y*2)、以下の逆量子化された変換値が得られる。
(1468、366、−266、110、−28、−26、28、−2、134、−54、−186、96、−102、36、−10、−20、76、142、120、−88、−4、20、−66、30、94、−146、200、130、−24、70、−28、30、40、−50、−132、24、68、54、26、12、−82、12、46、−138、−82、2、−6、−10、54、−50、−28、64、4、−116、−34、12、−54、56、22、−62、64、54、26、−26)
【0217】
その後、DCT変換の逆を適用することで、これらの逆量子化された変換値を復号化すると、以下の復号化データ値が得られる。
(255、254、254、254、254、255、253、73、255、255、255、255、255、255、154、0、120、255、254、255、255、204、1、1、73、153、255、255、255、255、74、1、255、73、154、255、255、254、120、72、255、254、119、75、253、255、204、154、254、253、255、154、2、1、73、119、255、255、254、255、254、73、1、72)
【0218】
これらの復号化データ値に基づいて、二乗誤差(SSE)の合計の値44が算出される。したがって、選択インデックス「DCTQL」によって表される符号化方法、量子化方法、および量子化強度を用いると、RD値は462.7543(=44+0.9671*433)となる。
【0219】
同様に、選択インデックス「DCTQM」によって表される量子化方法および量子化強度を用いて、DCT変換されたデータ値を量子化、すなわち4で割ると(Y=X/4)、量子化された変換値は以下のとおりとなる。
(367、91、−66、27、−7、−7、7、0、33、−13、−47、24、−25、9、−2、−5、19、35、30、−22、−1、5、−16、8、24、−37、50、33、−6、17、−7、8、10、−13、−33、6、17、13、6、3、−20、3、12、−34、−21、1、−2、−3、14、−12、−7、16、1、−29、−8、3、−13、14、5、−16、16、14、6、−7)
【0220】
これらの量子化された変換値(すなわち、周波数係数)は、例えば382ビットで符号化できる。
【0221】
逆量子化の際、これらの量子化された変換値に4が掛けられ(X'=Y*4)、以下の逆量子化された変換値が得られる。
(1468、364、−264、108、−28、−28、28、0、132、−52、−188、96、−100、36、−8、−20、76、140、120、−88、−4、20、−64、32、96、−148、200、132、−24、68、−28、32、40、−52、−132、24、68、52、24、12、−80、12、48、−136、−84、4、−8、−12、56、−48、−28、64、4、−116、−32、12、−52、56、20、−64、64、56、24、−28)
【0222】
その後、DCT変換の逆を適用することで、これらの逆量子化された変換値を復号化すると、以下の復号化データ値が得られる。
(255、254、255、253、255、255、253、75、255、252、255、253、255、253、151、1、121、255、255、255、254、203、0、0、73、154、253、253、254、254、74、1、253、74、153、255、255、252、120、74、255、255、120、72、255、255、204、155、254、254、255、153、1、1、77、120、254、255、255、253、254、72、2、74)
【0223】
これらの復号化データ値に基づいて、二乗誤差(SSE)の合計の値109が算出される。したがって、選択インデックス「DCTQM」によって表される符号化方法、量子化方法、および量子化強度を用いると、RD値は478.4322(=109+0.9671*382)となる。
【0224】
同様に、選択インデックス「DCTQH」によって表される量子化方法および量子化強度を用いて、DCT変換されたデータ値を量子化、すなわち8で割ると(Y=X/8)、量子化された変換値は以下のとおりとなる。
(183、46、−33、14、−4、−3、3、0、17、−7、−23、12、−13、5、−1、−2、10、18、15、−11、0、3、−8、4、12、−18、25、16、−3、9、−4、4、5、−6、−17、3、9、7、3、1、−10、2、6、−17、−10、0、−1、−1、7、−6、−4、8、0、−14、−4、2、−7、7、3、−8、8、7、3、−3)
【0225】
これらの量子化された変換値(すなわち、周波数係数)は、例えば336ビットで符号化できる。
【0226】
逆量子化の際、これらの量子化された変換値に8が掛けられ(X'=Y*8)、以下の逆量子化された変換値が得られる。
(1464、368、−264、112、−32、−24、24、0、136、−56、−184、96、−104、40、−8、−16、80、144、120、−88、0、24、−64、32、96、−144、200、128、−24、72、−32、32、40、−48、−136、24、72、56、24、8、−80、16、48、−136、−80、0、−8、−8、56、−48、−32、64、0、−112、−32、16、−56、56、24、−64、64、56、24、−24)
【0227】
その後、DCT変換の逆を適用することで、これらの逆量子化された変換値を復号化すると、以下の復号化データ値が得られる。
(255、253、255、255、255、251、255、70、255、254、255、252、252、255、156、2、119、253、255、249、254、204、4、0、73、155、251、254、255、255、71、0、251、74、150、255、251、250、121、70、253、255、122、73、254、254、206、149、255、255、252、150、2、0、72、119、255、254、253、255、254、74、0、69)
【0228】
これらの復号化データ値に基づいて、二乗誤差(SSE)の合計の値304が算出される。したがって、選択インデックス「DCTQH」によって表される符号化方法、量子化方法、および量子化強度を用いると、RD値は628.9456(=304+0.9671*336)となる。
【0229】
上記のRD値の計算から、選択インデックス「DCTQM」によって表されるDCTベースの方法、量子化方法、および量子化強度を用いて第4のデータブロック608を、および選択インデックス「DCTQL」によって表されるDCTベースの方法、量子化方法、および量子化強度を用いて第5のデータブロック610を符号化および量子化することが有利であることは明らかである。前述の例において示した他の代替方法では大量の二乗誤差が生じるため、第4のデータブロック608および第5のデータブロック610に必要なビット数が極めて少ない場合でも、それらの代替方法は選択されないであろう。
【0230】
第6のデータブロック612については、様々なLineHの代替方法を考慮できる。第6のデータブロック612の水平ブロックラインは以下の値を有する(上から下の方向):0
10(=00
16=00000000
2)、73
10(=49
16=01001001
2)、182
10(=B6
16=10110110
2)、255
10(=FF
16=11111111
2)、182、255。選択インデックス「LineH8」によって表される符号化方法、量子化方法、および量子化強度では、8*7=56ビットが用いられ、SSEはゼロとなる。したがって、RD値は0+0.9671*64=61.8944となる。選択インデックス「LineH7」によって表される符号化方法、量子化方法、および量子化強度では、8*7=56ビットが用いられるが、元の値73は値72
10(=48
16=01001000
2)に、元の値182は値183
10(=B7
16=10110111
2)に再構築され、32(=4×8)画素中1つの値に誤差が生じる。したがって、RD値は32*1*1+0.9671*56=86.1576となる。より大きい量子化強度を用いる(すなわち、データ値がより少ないビットで表現される)場合、より多くの誤差が生じる。このため、第6のデータブロック612には、選択インデックス「LineH8」によって表される符号化方法、量子化方法、および量子化強度を選択すると有利である。
【0231】
したがって、例示的画像の6つのデータブロックそれぞれに選択される符号化方法、量子化方法、および量子化強度は、第1のデータブロック602から第6のデータブロック612の順に、それぞれの選択インデックスで以下のように示される。
DC4、DC1、LineH1、DCTQM、DCTQL、およびLineH8
【0232】
これらの選択インデックスは、以下のようなそれぞれの識別番号を用いてデータストリームとして信号送信され、提供される。
6、3、11、1、0、18
【0233】
27の互いに異なる方法が使用可能であるため、選択された符号化方法、選択された量子化方法、および選択された量子化強度を示す情報、すなわち選択インデックスの識別番号は5つのビット値として提供することができる。したがって、選択された符号化方法、選択された量子化方法、および選択された量子化強度を示す情報は、例示的画像の6つのデータブロックごとに単一の情報として提供してもよい。
【0234】
さらに、多数のデータブロックが存在し、使用可能な方法のいくつかが、それ以外の方法より頻繁に用いられる場合、個々のデータブロックの選択された符号化方法、選択された量子化方法、および選択された量子化強度を示す情報を、例えばレンジ符号(参照文献[15]を参照)またはVLC符号化(参照文献[14]を参照)を用いて、単一の複合データストリームにエントロピー符号化すると有利である。
【0235】
同様に、選択された方法ごとに、固有の一連のデータを固有のデータストリームとして生成し、それらすべてのストリームを個別にエントロピー符号化すると有利である場合がある。しかしながら、説明した例には少数のデータブロックしかなく、各データブロックは異なる方法で符号化されるため、選択インデックスのすべての識別番号と、これらの異なる方法によって生成される一連のデータを、エントロピー符号化せずに以下のように1つのビットストリームで提供すると有利である。
00110(6)、1001(9)、00011(3)、1(1)、01011(11)1 1 1 1 0 0 0 0、00001(1)、367ビットのDCTQM符号化データ、00000(0)、433ビットのDCTQL符号化データ、10010(18)、00000000(0)、01001001(73)、00000000(0)、01001001(73)、10110110(182)、11111111(255)、10110110(182)、11111111(255)。
【0236】
したがって、6つのデータブロックすべてのデータは、9+6+13+372+438+69=907ビットで符号化され、再構築における二乗誤差の合計は、0+0+0+78+44+0=122となる。これら6つの方法を用いると、この画像全体のRD値は122+0.9671*907=999.1597となる。
【0237】
説明した例では、3つの互いに異なる符号化方法、すなわちDC、DCT、およびLineHが用いられ、すべての符号化方法は2つの互いに異なる量子化強度と共に用いられた。結果として、例示的画像の6つのデータブロックは、それぞれ異なる組合せの変換と量子化によって符号化されている。これらの選択された組合せの選択インデックスは、それぞれ、単一の選択情報、すなわちデータブロックごとに1つの5ビット値で表現された識別番号で信号送信され提供されている。
【0238】
選択された符号化方法を示す情報と、選択された量子化方法および選択された量子化強度を示す情報とは、別々に、すなわち互いに個別の情報として提供できることを理解されたい。そのような場合、DCT、DC、LineH、およびLineV変換に対する4つの異なる選択インデックスと、例えば以下のような識別番号となるであろう。
選択インデックス「DCT」に対し識別番号「0」、
選択インデックス「DC」に対し識別番号「1」、
選択インデックス「LineH」に対し識別番号「2」、および
選択インデックス「LineV」に対し識別番号「3」。
【0239】
したがって、選択された符号化方法を示す情報は2ビットで信号送信されうる。
【0240】
同様に、DCT方法には3つの量子化の選択肢があり、例えば以下のように表現される。
量子化「QL」に対し識別番号「0」、
量子化「QM」に対し識別番号「1」、および
量子化「QH」に対し識別番号「2」。
【0241】
したがって、選択された量子化を示す情報は、例えば、QL='0'、QM='11'、およびQH='10'というVLC符号化フォーマットで信号送信されうる。
【0242】
また、他の符号化方法、すなわちDC、LineH、およびLineVに対し、8つの互いに異なる量子化の選択肢が使用可能である。したがって、量子化の選択肢は3ビット、すなわち値0から7が「000」から「111」で信号送信されうる。
【0243】
このため、選択された符号化方法を示す情報と、選択された量子化方法および選択された量子化強度を示す情報とは、例えば以下のように信号送信されうる。
01(1)、011(4)、01(1)000(1)、10(2)、000(1)、00(0)、0(QM)、00(0)、11(QH)、10(2)、111(8)。
【0244】
そのような場合、選択された符号化方法を示す情報と、選択された量子化方法および選択された量子化強度を示す情報とが一緒に、すなわち単一の情報として提供される場合と比べて、3ビット(=30−27)削減される。しかしながら、これら2つの情報を1つの複合的な情報として信号送信または提供したほうが有利であることが多い。
【0245】
この選択肢においても、選択された符号化方法を示す情報と、選択された量子化方法および選択された量子化強度を示す情報とをそれぞれ固有のデータストリームで提供でき、その後、すべてのデータブロックを一度にエントロピー符号化できることに注意されたい。
【0246】
他にも多くの符号化方法の選択肢が使用可能であるため、
図6の例示的画像の符号化は、他の符号化方法の選択肢を用いるとさらに向上できる可能性があることを理解されたい。しかしながら、説明した例で使用可能な27の互いに異なる方法では、所望の品質パラメータ値が75であり、ラグランジュ乗数が0.9671に設定されている場合、RD値がより小さくなるように例示的画像を符号化することができなかった。
【0247】
図6は単なる例に過ぎず、本明細書の請求の範囲を不要に制限するものではない。当業者は、本開示の実施形態の多様な変形、変更、修正を認識されるであろう。
【0248】
添付の特許請求の範囲に定義される本開示の範囲を逸脱することなく、前述した本開示の実施形態への修正が可能である。本発明の記述と特許請求の範囲で用いられる「含む」、「備える」、「包含する」、「構成される」、「有する」、「存在する」などの表現は、包括的構成であると解釈されることを意図しており、明示的に記載されていないアイテムや部品、構成要素も含まれうることを意図している。単数による表記は、複数の場合も関連すると解釈される。添付の特許請求の範囲における括弧内の数字は、請求項の理解を助けることを意図したものであり、これらの請求項によって定義される発明の範囲を限定するように解釈されるべきではない。
【0249】
「一実施形態において」、「一実施形態によると」などの表現は通常、この表現に続く特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれ、また、本開示の2つ以上の実施形態に含まれてもよいことを意味する。このような表現は、必ずしも同じ実施形態を指すわけではないことが重要である。
【0250】
前述の説明における「少なくとも1つの」および「1つ以上」という表現は、ある例示的実施形態については単数を規定し、別の例示的実施形態については複数を規定すると解釈されることを理解されたい。例えば、「1つ以上」は、一例示的実施形態において複数に関連すると解釈することができる。
【0251】
参照文献
[1] Discrete cosine transform(離散コサイン変換)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Discrete_cosine_transform
[2] Inverse scattering transform(逆散乱変換)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Inverse_scattering_transform
[3] Discrete sine transform(離散サイン変換)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Discrete_sine_transform
[4] Discrete Fourier Transform(離散フーリエ変換)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Discrete_Fourier_transform
[5] Fast Fourier transform(高速フーリエ変換)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Fast_Fourier_transform
[6] Wavelet(ウェーブレット)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Wavelet
[7] Hadamard transform(アダマール変換)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Hadamard_transform
[8] JPEG−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/JPEG
[9] H.264/MPEG−4 AVC−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC
[10] High Efficiency Video Coding(HEVC)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/High_Efficiency_Video_Coding
[11] MP3−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/MP3
[12] Quantization (signal processing)(量子化(信号処理))−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Quantization_(signal_processing)
[13] Rate-distortion optimization(レート歪み最適化)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Rate-distortion_optimization
[14] Variable-length code(可変長符号)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Variable-length_code
[15] Range encoding(レンジ符号)−ウィキペディア、フリー百科事典(英語版)(2016年7月10日アクセス)。
URL: http://en.wikipedia.org/wiki/Range_encoding