(57)【要約】  符号化処理に必要な情報をより小さなサイズに圧縮することができる情報圧縮装置等を提供する。情報圧縮装置１０１は、対象画像が第１サイズに分割された複数の第１ブロックにおける、該対象画像を表す数値列に基づき、該第１サイズ以上の第２サイズを有する第２ブロックに関して、該第２ブロックに含まれている該第１ブロックに関する該数値列に含まれている数値が所定の値以上である該第１ブロックの第１個数と、該第１サイズ以下の第３サイズを有する第３ブロックに関して、該第３ブロックに関する該数値列に含まれている数値が該所定の値以上である第２個数とを算出する個数算出部１０２と、算出した該第２個数に基づき該第３ブロックに関する該数値列をメモリに格納する際の第２位置情報を算出し、算出した該第１個数と該第２個数とに基づき、該第２ブロックに含まれている該第１ブロックに関する第２情報であって、該第１ブロックに含まれている該第３ブロックに関する該第２位置情報を少なくとも含んでいる該第２情報を該メモリに格納する際の第１位置情報を算出する位置算出部１０３と、少なくとも該第１位置情報を含む第１情報と、該第２情報とを作成し、作成した該第２情報を、該メモリのうち該第１位置情報が表す記憶領域に格納する情報作成部１０４と、該第３ブロックに関する該数値列に含まれている数値が該所定の値以上である該第３ブロックに関する該数値列を、該メモリのうち該第２位置情報が表す記憶領域に格納する情報格納部１０５とを有する。
2017082304.tif 000002
【特許請求の範囲】
【請求項１】
対象画像が第１サイズに分割された複数の第１ブロックにおける、前記対象画像を表す数値列に基づき、前記第１サイズ以上の第２サイズを有する第２ブロックに関して、前記第２ブロックに含まれている前記第１ブロックに関する前記数値列に含まれている数値が所定の値以上である前記第１ブロックの第１個数と、前記第１サイズ以下の第３サイズを有する第３ブロックに関して、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である第２個数とを算出する個数算出手段と、
算出した前記第２個数に基づき前記第３ブロックに関する前記数値列をメモリに格納する際の第２位置情報を算出し、算出した前記第１個数と前記第２個数とに基づき、前記第２ブロックに含まれている前記第１ブロックに関する第２情報であって、前記第１ブロックに含まれている前記第３ブロックに関する前記第２位置情報を少なくとも含んでいる前記第２情報を前記メモリに格納する際の第１位置情報を算出する位置算出手段と、
少なくとも前記第１位置情報を含む第１情報と、前記第２情報とを作成し、作成した前記第２情報を、前記メモリのうち前記第１位置情報が表す記憶領域に格納する情報作成手段と、
前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である前記第３ブロックに関する前記数値列を、前記メモリのうち前記第２位置情報が表す記憶領域に格納する情報格納手段と
を備える情報圧縮装置。
【請求項２】
前記情報作成手段は、前記第２ブロックにおける第１ブロックの位置を表す位置情報を作成し、作成した前記位置情報を含む前記第２情報を作成する
請求項１に記載の情報圧縮装置。
【請求項３】
前記情報作成手段は、前記第１ブロックのサイズを表すサイズ情報を作成し、作成した前記サイズ情報を含む前記第２情報を作成する
請求項１または請求項２に記載の情報圧縮装置。
【請求項４】
前記情報作成手段は、前記第１ブロックに関する前記数値列を、所定のスキャン順序に従いスキャンした場合に、値がゼロではない数値が最後に現れる位置を特定し、特定した位置を表す非ゼロ位置情報を作成し、作成した非ゼロ位置情報を含む前記第２情報を作成する
請求項１乃至請求項３のいずれかに記載の情報圧縮装置。
【請求項５】
前記情報作成手段は、前記第２ブロックにおいて前記所定のスキャン順序に従い、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上であるか否かを判定し、各前記第３ブロックに関して判定した結果を表すブロック情報を作成し、作成したブロック情報を含む前記第２情報を作成する
請求項１乃至請求項４のいずれかに記載の情報圧縮装置。
【請求項６】
前記第２個数が所定の個数よりも多いか否かを判定し、前記第２個数が前記所定の個数よりも多い場合には、前記所定の値として、より大きな値を設定するパラメータ判定手段
をさらに備え、
前記個数算出手段は、前記パラメータ判定手段が設定した前記所定の値に基づいて、前記第１個数と、前記第２個数とを算出する
請求項１乃至請求項５のいずれかに記載の情報圧縮装置。
【請求項７】
前記個数算出手段は、前記第２個数を算出する場合に、前記第１ブロックごとに、並列的に、または、擬似並列的に処理を実行する
請求項１乃至請求項６のいずれかに記載の情報圧縮装置。
【請求項８】
請求項１乃至請求項７のいずれかに記載の情報圧縮装置
を備える動画像符号化装置。
【請求項９】
対象画像が第１サイズに分割された複数の第１ブロックにおける、前記対象画像を表す数値列に基づき、前記第１サイズ以上の第２サイズを有する第２ブロックに関して、前記第２ブロックに含まれている前記第１ブロックに関する前記数値列に含まれている数値が所定の値以上である前記第１ブロックの第１個数と、前記第１サイズ以下の第３サイズを有する第３ブロックに関して、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である第２個数とを算出し、
算出した前記第２個数に基づき前記第３ブロックに関する前記数値列をメモリに格納する際の第２位置情報を算出し、算出した前記第１個数と前記第２個数とに基づき、前記第２ブロックに含まれている前記第１ブロックに関する第２情報であって、前記第１ブロックに含まれている前記第３ブロックに関する前記第２位置情報を少なくとも含んでいる前記第２情報を前記メモリに格納する際の第１位置情報を算出し、
少なくとも前記第１位置情報を含む第１情報と、前記第２情報とを作成し、作成した前記第２情報を、前記メモリのうち前記第１位置情報が表す記憶領域に格納し、
前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である前記第３ブロックに関する前記数値列を、前記メモリのうち前記第２位置情報が表す記憶領域に格納する情報圧縮方法。
【請求項１０】
対象画像が第１サイズに分割された複数の第１ブロックにおける、前記対象画像を表す数値列に基づき、前記第１サイズ以上の第２サイズを有する第２ブロックに関して、前記第２ブロックに含まれている前記第１ブロックに関する前記数値列に含まれている数値が所定の値以上である前記第１ブロックの第１個数と、前記第１サイズ以下の第３サイズを有する第３ブロックに関して、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である第２個数とを算出する個数算出機能と、
算出した前記第２個数に基づき前記第３ブロックに関する前記数値列をメモリに格納する際の第２位置情報を算出し、算出した前記第１個数と前記第２個数とに基づき、前記第２ブロックに含まれている前記第１ブロックに関する第２情報であって、前記第１ブロックに含まれている前記第３ブロックに関する前記第２位置情報を少なくとも含んでいる前記第２情報を前記メモリに格納する際の第１位置情報を算出する位置算出機能と、
少なくとも前記第１位置情報を含む第１情報と、前記第２情報とを作成し、作成した前記第２情報を、前記メモリのうち前記第１位置情報が表す記憶領域に格納する情報作成機能と、
前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である前記第３ブロックに関する前記数値列を、前記メモリのうち前記第２位置情報が表す記憶領域に格納する情報格納機能と
をコンピュータに実現させる情報圧縮プログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、情報のサイズを圧縮する情報圧縮装置等に関する。
【背景技術】
【０００２】
動画像データの圧縮符号化技術は、広く普及し、たとえば、デジタル放送、光学ディスクを用いた映像コンテンツの頒布、インターネット等の通信ネットワークを介した映像配信等の用途に利用されている。動画像データを低ビットレート、高圧縮率かつ高画質で符号化して符号化データを生成したり、符号化された動画像データを復号化したりする符号化技術としては、たとえば、国際電気通信連合（ＩＴＵ）によって標準化されたＨ．２６１方式、及び、Ｈ．２６３方式等の方式がある。さらに、符号化技術としては、たとえば、国際標準化機構（ＩＳＯ）によって作成されたＭＰＥＧ−１、ＭＰＥＧ−２、及び、ＭＰＥＧ−４や、米国映画テレビ技術者協会（ＳＭＰＴＥ）によって標準化されたＶＣ−１等の方式が国際標準規格として広く用いられている。【０００３】
ＩＴＵは、Ｉｎｔｅｒｎａｔｉｏｎａｌ＿Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ＿Ｕｎｉｏｎの略称を表す。ＩＳＯは、Ｉｎｔｅｒｎａｔｉｏｎａｌ＿Ｏｒｇａｎｉｚａｔｉｏｎ＿ｆｏｒ＿Ｓｔａｎｄａｒｄｉｚａｔｉｏｎの略称を表す。ＭＰＥＧは、Ｍｏｖｉｎｇ＿Ｐｉｃｔｕｒｅ＿Ｅｘｐｅｒｔｓ＿Ｇｒｏｕｐの略称を表す。ＳＭＰＴＥは、Ｓｏｃｉｅｔｙ＿ｏｆ＿Ｍｏｔｉｏｎ＿Ｐｉｃｔｕｒｅ＿ａｎｄ＿Ｔｅｌｅｖｉｓｉｏｎ＿Ｅｎｇｉｎｅｅｒｓの略称を表す。【０００４】
また、ＩＴＵとＩＳＯとの共同にて規格化されたＨ．２６４／ＭＰＥＧ−４＿ＡＶＣ（以降、「Ｈ．２６４方式」と表す）は、普及が進んでいる。非特許文献１は、Ｈ．２６４方式について開示している。さらに、Ｈ．２６５／ＭＰＥＧ−Ｈ＿ＨＥＶＣ（以降、「Ｈ．２６５方式」と表す）は、動画像データに関する圧縮符号化に関する規格として、２０１３年に標準化された。非特許文献２は、Ｈ．２６５方式について開示している。Ｈ．２６５方式は、動画像データに含まれている映像に関して、Ｈ．２６４方式と同等な画像品質を担保しつつ、該動画像データのサイズを半分程度に圧縮することが可能な技術であると言われており、今後、幅広い分野での活用が期待されている。【０００５】
ＡＶＣは、Ａｄｖａｎｃｅｄ＿Ｖｉｄｅｏ＿Ｃｏｄｉｎｇの略称を表す。ＨＥＶＣは、Ｈｉｇｈ＿Ｅｆｆｉｃｉｅｎｃｙ＿Ｖｉｄｅｏ＿Ｃｏｄｉｎｇの略称を表す。【０００６】
これらの動画像符号化技術は、たとえば、動き補償予測処理、予測誤差画像に関する直交変換処理、直交変換係数に関する量子化処理、及び、量子化処理された直交変換係数に関するエントロピー符号化処理等の要素技術を含むので、ハイブリッド符号化技術と呼ばれている。これらの動画像符号化技術は、動画像データの特性の一つである空間方向と時間軸方向とに関する画像データ間の相関性に基づき、フレーム内予測、及び、フレーム間予測を実行することによって、動画像データに関する高い圧縮効率を達成している。フレーム間予測においては、時間的に近接する画像データ間での被写体や背景等の対象体の動き、該対象物に関する位置ずれを補正することによって、予測画像を生成する動き補償予測処理が利用されている。【０００７】
動画像符号化技術の例として、たとえば、特許文献１、及び、非特許文献５には、該動画像符号化処理を効率よく実施する符号化装置が開示されている。これらの装置は、量子化された直交変換係数を含む変換係数値列のサイズを小さくすることによって、動画像符号化処理を効率よく実施する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２０１４／１６７６０９号
【非特許文献】
【０００９】
【非特許文献１】ＩＴＵ−Ｔ＿Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ＿Ｈ．２６４  「Ａｄｖａｎｃｅｄ＿ｖｉｄｅｏ＿ｃｏｄｉｎｇ＿ｆｏｒ＿ｇｅｎｅｒｉｃ＿ａｕｄｉｏｖｉｓｕａｌ＿ｓｅｒｖｉｃｅｓ」、［ｏｎｌｉｎｅ］、２０１０年３月、［２０１５年１０月２０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｔｕ．ｉｎｔ／ｒｅｃ／Ｔ−ＲＥＣ−Ｈ．２６４＞
【非特許文献２】ＩＴＵ−Ｔ＿Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ＿Ｈ．２６５  「Ａｄｖａｎｃｅｄ＿ｖｉｄｅｏ＿ｃｏｄｉｎｇ＿ｆｏｒ＿ｇｅｎｅｒｉｃ＿ａｕｄｉｏｖｉｓｕａｌ＿ｓｅｒｖｉｃｅｓ」、［ｏｎｌｉｎｅ］、２０１３年４月、［２０１５年１０月２０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｔｕ．ｉｎｔ／ｒｅｃ／Ｔ−ＲＥＣ−Ｈ．２６５＞
【非特許文献３】Ｊｏｉｎｔ＿Ｖｉｄｅｏ＿Ｔｅａｍ（ＪＶＴ）＿ｏｆ＿ＩＳＯ／ＩＥＣ＿ＭＰＥＧ＿ａｎｄ＿ＩＴＵ−Ｔ＿ＶＣＥＧ、Ｄｏｃｕｍｅｎｔ＿ＪＶＴ−Ｏ０７９、「Ｔｅｘｔ＿Ｄｅｓｃｒｉｐｔｉｏｎ＿ｏｆ＿Ｊｏｉｎｔ＿Ｍｏｄｅ＿Ｒｅｆｅｒｅｎｃｅ＿Ｅｎｃｏｄｉｎｇ＿Ｍｅｔｈｏｄ＿ａｎｄ＿Ｄｅｃｏｄｉｎｇ＿Ｃｏｎｃｅａｌｍｅｎｔ＿Ｍｅｔｈｏｄ」、［ｏｎｌｉｎｅ］、２００５年４月、［２０１５年１０月２０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｒｅｓｅａｒｃｈｇａｔｅ．ｎｅｔ／ｐｕｂｌｉｃａｔｉｏｎ／２４８６１７５４３＿Ｔｅｘｔ＿Ｄｅｓｃｒｉｐｔｉｏｎ＿ｏｆ＿Ｊｏｉｎｔ＿Ｍｏｄｅｌ＿Ｒｅｆｅｒｅｎｃｅ＿Ｅｎｃｏｄｉｎｇ＿Ｍｅｔｈｏｄｓ＿ａｎｄ＿Ｄｅｃｏｄｉｎｇ＿Ｃｏｎｃｅａｌｍｅｎｔ＿Ｍｅｔｈｏｄｓ＞
【非特許文献４】Ｊｏｉｎｔ＿Ｃｏｌｌａｂｏｒａｔｉｖｅ＿Ｔｅａｍ＿ｏｎ＿Ｖｉｄｅｏ＿Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）＿ｏｆ＿ＩＴＵ−Ｔ＿ＳＧ１６＿ＷＰ３＿ａｎｄ＿ＩＳＯ／ＩＥＣ＿ＪＴＣ１／ＳＣ２９／ＷＧ１１、Ｄｏｃｕｍｅｎｔ＿ＪＣＴＶＣ−Ｓ１００２、「Ｈｉｇｈ＿Ｅｆｆｉｃｉｅｎｃｙ＿Ｖｉｄｅｏ＿Ｃｏｄｉｎｇ（ＨＥＶＣ）＿Ｔｅｓｔ＿Ｍｏｄｅｌ＿１６（ＨＭ＿１６）＿Ｉｍｐｒｏｖｅｄ＿Ｅｎｃｏｄｅｒ＿Ｄｅｓｃｒｉｐｔｉｏｎ」、［ｏｎｌｉｎｅ］、２０１４年１０月、［２０１５年１０月２０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｍｐｅｇ．ｃｈｉａｒｉｇｌｉｏｎｅ．ｏｒｇ／ｓｔａｎｄａｒｄｓ／ｍｐｅｇ−ｈ／ｈｉｇｈ−ｅｆｆｉｃｉｅｎｃｙ−ｖｉｄｅｏ−ｃｏｄｉｎｇ／ｎ１４９７０−ｈｉｇｈ−ｅｆｆｉｃｉｅｎｃｙ−ｖｉｄｅｏ−ｃｏｄｉｎｇ−ｈｅｖｃ−ｔｅｓｔ−ｍｏｄｅｌ−１６＞
【非特許文献５】Ｍｉｃｒｏｓｏｆｔ＿Ｃｏｒｐｏｒａｔｉｏｎ、「ＤｉｒｅｃｔＸ＿Ｖｉｄｅｏ＿Ａｃｃｅｌｅｒａｔｉｏｎ＿Ｓｐｅｃｉｆｉｃａｔｉｏｎ＿ｆｏｒ＿Ｈ．２６４／ＡＶＣ＿Ｄｅｃｏｄｉｎｇ」、［ｏｎｌｉｎｅ］、２０１０年１２月、［２０１５年１０月２０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｅｎ−ｕｓ／ｄｏｗｎｌｏａｄ／ｄｅｔａｉｌｓ．ａｓｐｘ？ｉｄ＝１１３２３＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１に開示された動画像符号化技術が有する問題点は、たとえば、量子化された変換係数値列のサイズを十分に削減することができないことである。この問題点について詳細に説明する。特許文献１には、１０２４ビット（ｂｉｔ）の変換係数情報を、５１２ビットの固定長を有するデータに変換するデータ変換処理が開示されている。このデータ変換処理は、変換結果として算出される変換係数値列が固定長にて演算処理が実行されるので処理自体が簡単であり、さらに、高い並列化効率を達成することができる。しかし、該データ変換処理には、変換係数値列のサイズを、変換前の変換係数値列のサイズの２分の１にしか削減できないという問題点がある。さらに、該データ変換処理によれば、ある画素ブロックを直交変換した場合に算出される変換係数のすべての値（すなわち、直交変換ブロック、または、変換係数値列）に対して非ゼロの値か否かを示すフラグを記録するので、たとえば、Ｈ．２６５方式にて追加された画素ブロック（たとえば、１６×１６画素、３２×３２画素等）の場合に、該動画像符号化技術は、このフラグを記録するのに要する記憶領域が大きくなってしまう問題点を有する。【００１１】
そこで、本発明の主たる目的の１つは、符号化処理に必要な情報を、より小さなサイズに圧縮することができる情報圧縮装置等を提供することである。
【課題を解決するための手段】
【００１２】
前述の目的を達成するために、本発明の一態様において、情報圧縮装置は、
対象画像が第１サイズに分割された複数の第１ブロックにおける、前記対象画像を表す数値列に基づき、前記第１サイズ以上の第２サイズを有する第２ブロックに関して、前記第２ブロックに含まれている前記第１ブロックに関する前記数値列に含まれている数値が所定の値以上である前記第１ブロックの第１個数と、前記第１サイズ以下の第３サイズを有する第３ブロックに関して、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である第２個数とを算出する個数算出手段と、
算出した前記第２個数に基づき前記第３ブロックに関する前記数値列をメモリに格納する際の第２位置情報を算出し、算出した前記第１個数と前記第２個数とに基づき、前記第２ブロックに含まれている前記第１ブロックに関する第２情報であって、前記第１ブロックに含まれている前記第３ブロックに関する前記第２位置情報を少なくとも含んでいる前記第２情報を前記メモリに格納する際の第１位置情報を算出する位置算出手段と、
少なくとも前記第１位置情報を含む第１情報と、前記第２情報とを作成し、作成した前記第２情報を、前記メモリのうち前記第１位置情報が表す記憶領域に格納する情報作成手段と、
前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である前記第３ブロックに関する前記数値列を、前記メモリのうち前記第２位置情報が表す記憶領域に格納する情報格納手段と
を備える。【００１３】
また、本発明の他の見地として、情報圧縮方法は、
対象画像が第１サイズに分割された複数の第１ブロックにおける、前記対象画像を表す数値列に基づき、前記第１サイズ以上の第２サイズを有する第２ブロックに関して、前記第２ブロックに含まれている前記第１ブロックに関する前記数値列に含まれている数値が所定の値以上である前記第１ブロックの第１個数と、前記第１サイズ以下の第３サイズを有する第３ブロックに関して、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である第２個数とを算出し、
算出した前記第２個数に基づき前記第３ブロックに関する前記数値列をメモリに格納する際の第２位置情報を算出し、算出した前記第１個数と前記第２個数とに基づき、前記第２ブロックに含まれている前記第１ブロックに関する第２情報であって、前記第１ブロックに含まれている前記第３ブロックに関する前記第２位置情報を少なくとも含んでいる前記第２情報を前記メモリに格納する際の第１位置情報を算出し、
少なくとも前記第１位置情報を含む第１情報と、前記第２情報とを作成し、作成した前記第２情報を、前記メモリのうち前記第１位置情報が表す記憶領域に格納し、
前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である前記第３ブロックに関する前記数値列を、前記メモリのうち前記第２位置情報が表す記憶領域に格納する。【００１４】
また、本発明の他の見地として、情報圧縮プログラムは、
対象画像が第１サイズに分割された複数の第１ブロックにおける、前記対象画像を表す数値列に基づき、前記第１サイズ以上の第２サイズを有する第２ブロックに関して、前記第２ブロックに含まれている前記第１ブロックに関する前記数値列に含まれている数値が所定の値以上である前記第１ブロックの第１個数と、前記第１サイズ以下の第３サイズを有する第３ブロックに関して、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である第２個数とを算出する個数算出機能と、
算出した前記第２個数に基づき前記第３ブロックに関する前記数値列をメモリに格納する際の第２位置情報を算出し、算出した前記第１個数と前記第２個数とに基づき、前記第２ブロックに含まれている前記第１ブロックに関する第２情報であって、前記第１ブロックに含まれている前記第３ブロックに関する前記第２位置情報を少なくとも含んでいる前記第２情報を前記メモリに格納する際の第１位置情報を算出する位置算出機能と、
少なくとも前記第１位置情報を含む第１情報と、前記第２情報とを作成し、作成した前記第２情報を、前記メモリのうち前記第１位置情報が表す記憶領域に格納する情報作成機能と、
前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である前記第３ブロックに関する前記数値列を、前記メモリのうち前記第２位置情報が表す記憶領域に格納する情報格納機能と
をコンピュータに実現させる。【００１５】
さらに、同目的は、係る情報圧縮プログラムを記録するコンピュータが読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００１６】
本発明に係る情報圧縮装置等によれば、符号化処理に必要な情報をより小さなサイズに圧縮することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係る情報圧縮装置が有する構成を示すブロック図である。
【図２】第１の実施形態に係る情報圧縮装置における処理の流れを示すフローチャートである。
【図３】本発明の第２の実施形態に係る動画像符号化装置が有する構成を示すブロック図である。
【図４】、第２の実施形態に係る動画像符号化装置における処理の流れを示すフローチャートである。
【図５】１６×１６画素のサイズを有する第１ブロックの一例を表す図である。
【図６】８×８画素のサイズを有する第１ブロックの一例を表す図である。
【図７】変換係数情報の一例を概念的に表す図である。
【図８】第１情報が有するデータ構造の一例を概念的に表す図である。
【図９】第２情報が有するデータ構造の一例を概念的に表す図である。
【図１０】変換係数情報が有するデータ構造の一例を概念的に表す図である。
【図１１】本発明の第３の実施形態に係る情報圧縮装置が有する構成を示すブロック図である。
【図１２】第３の実施形態に係る情報圧縮装置を有する動画像符号化装置における処理の流れを示すフローチャートである。
【図１３】本発明の各実施形態に係る情報圧縮装置または符号化装置を実現可能な計算処理装置のハードウェア構成例を概略的に示す図である。
【図１４】動画像符号化装置が有する構成を示すブロック図である。
【図１５】動画像符号化装置における処理の流れを示すフローチャートである。
【図１６】ＧＰＵをアクセラレータとして有する動画像符号化装置が有する構成の一例を表す図である。
【図１７】変換処理、量子化処理、逆量子化処理、及び、逆変換処理をＧＰＵにて処理する場合の動画像符号化装置が有する構成例を表す図である。
【図１８】変換係数値列のサイズを削減しつつ、動画像符号化処理を実行する動画像符号化装置が有する構成を表す図である。
【図１９】動画像符号化装置における処理の流れを示すフローチャートである。
【図２０】直交変換処理によって算出される情報を概念的に示す図である。
【発明を実施するための形態】
【００１８】
本願発明の理解を容易にするため、本願発明に関連している動画像符号化装置５０１、及び、動画像符号化装置５０１における処理について、図１４乃至図２０を参照しながら説明する。
【００１９】
まず、図１４を参照しながら、該動画像符号化処理を実行する動画像符号化装置５０１について説明する。図１４は、動画像符号化装置５０１が有する構成を示すブロック図である。
【００２０】
動画像符号化装置５０１は、動き予測部５０２と、フィルタ部５０３と、フレームバッファ５０４と、量子化部５０５と、減算変換部５０６と、逆量子化部５０７と、逆変換加算部５０８と、量子化制御部５０９と、エントロピー符号化部５１０（以降、「符号化部５１０」と表す）とを有する。
【００２１】
フレームバッファ５０４は、あるフレーム（フレーム画像）を符号化処理した結果として作成される画像データを格納することができる。説明の便宜上、フレームバッファ５０４には、あるフレームを符号化処理した結果として作成される画像データ（以降、「符号化済みフレーム」と表す）を含む動画像データが格納されているとする。
【００２２】
動画像符号化装置５０１は、複数のフレームを含む動画像データを受信する場合に、受信した動画像データが所定のサイズに従って区画された画素ブロック単位にて、該動画像データを符号化する符号化処理を実行する。該所定のサイズは、たとえば、Ｈ．２６４方式、または、Ｈ．２６５方式に従い、以下に説明するように定義されている。
【００２３】
Ｈ．２６４方式の場合に、該所定のサイズは、たとえば、１６×１６画素を有するサイズを有する画素ブロックである。該画素ブロックは、マクロブロック（ＭＢＬ）とも呼ばれ、縦方向に１６画素、横方向に１６画素からなる矩形状の画素ブロックである。Ｈ．２６５方式の場合に、該所定のサイズは、コーディングツリーユニット（ＣＴＵ）と呼ばれる１６×１６画素、３２×３２画素、または、６４×６４画素等のサイズを有している画素ブロックである。
【００２４】
次に、図１５を参照しながら動画像符号化装置５０１における処理について説明する。図１５は、動画像符号化装置５０１における処理の流れを示すフローチャートである。
【００２５】
動き予測部５０２は、受信した動画像データと、フレームバッファ５０４に格納されている符号化済みフレームとに基づき、受信した動画像データに含まれている対象体に関して、フレーム内に関する予測処理、または、フレーム間に関する予測処理を実行する（ステップＳ５０１）。動き予測部５０２は、該予測処理の結果として算出された予測画像を、減算変換部５０６に対して出力する。以降、フレーム間に関する予測処理を、「フレーム間予測処理」と表す。フレーム内に関する予測処理を、以降の説明においては、「フレーム内予測処理」と表す。
【００２６】
減算変換部５０６は、動き予測部５０２が出力した予測画像を入力する。減算変換部５０６は、受信した動画像データにおいて予測対象であるフレームから、入力した予測画像を減算することによって、予測誤差画像を作成する（ステップＳ５０２）。減算変換部５０６は、作成した予測誤差画像に対して離散コサイン変換（ＤＣＴ）等の直交変換処理を実行する（ステップＳ５０３）。この処理によって、減算変換部５０６は、作成した予測誤差画像と同等な画像を、複数の周波数成分を有する関数を用いて表す。減算変換部５０６は、各周波数成分に関して、該周波数成分を有する関数に対する変換係数を含む変換係数値列を算出する。減算変換部５０６は、作成した変換係数値列を、量子化部５０５に対して出力する。
【００２７】
尚、ＤＣＴは、Ｄｉｓｃｒｅｔｅ＿Ｃｏｓｉｎｅ＿Ｔｒａｎｓｆｏｒｍの略称を表す。
【００２８】
Ｈ．２６４方式の場合に、該直交変換処理は、４×４画素を有する画素ブロック、または、８×８画素を有する画素ブロック単位にて処理が実行される。Ｈ．２６５方式の場合に、該直交変換処理は、４×４画素を有する画素ブロック乃至３２×３２画素を有する画素ブロックごとにて直交変換処理が実行される。
【００２９】
量子化部５０５は、減算変換部５０６が出力した変換係数値列と、量子化制御部５０９が算出した量子化パラメータ（ＱＰ）とを入力する。量子化部５０５は、入力した変換係数値列に含まれている各変換係数と、入力した量子化パラメータとに基づき、たとえば、変換係数の値が量子化パラメータの値よりも小さい場合に該変換係数の値として０を設定する等の量子化処理を実行する（ステップＳ５０４）。量子化部５０５は、該量子化処理によって算出された変換係数を含む変換係数値列を作成し、作成した変換係数値列を逆量子化部５０７に対して出力する。説明の便宜上、量子化部５０５が算出した変換係数を「量子化された変換係数」と表し、量子化部５０５が算出した変換係数値列を「量子化された変換係数値列」と表す。
【００３０】
逆量子化部５０７は、該量子化された変換係数値列を入力し、該量子化された変換係数値列に基づき、入力された予測誤差画像と同等な（または、同じ）画像（以降、「復元画像」と表す）を作成する逆量子化処理を実行する（ステップＳ５０５）。逆量子化部５０７は、該逆量子化処理の結果として作成された復元画像を逆変換加算部５０８に対して出力する。
【００３１】
逆変換加算部５０８は、逆量子化部５０７が出力した復元画像を入力し、入力した復元画像と、動き予測部５０２が出力した予測画像とが加算された画像（以降、「再構築画像」と表す）を作成する（ステップＳ５０６）。逆変換加算部５０８は、作成した再構築画像を、フィルタ部５０３に対して出力する。
【００３２】
フィルタ部５０３は、逆変換加算部５０８が出力した再構築画像を入力し、入力した再構築画像に含まれている歪みを軽減する等のフィルタ処理を実行することによって、フィルタ処理後の画像（以降、「補正画像」と表す）を作成する（ステップＳ５０７）。フィルタ処理において用いられるフィルタは、たとえば、デブロックフィルタ（Ｈ．２６４方式の場合、または、Ｈ．２６５方式の場合）、Ｓａｍｐｌｅ＿Ａｄａｐｔｉｖｅ＿Ｏｆｆｓｅｔ（Ｈ．２６５方式の場合）等である。フィルタ部５０３は、作成した補正画像を、フレームバッファ５０４に格納する（ステップＳ５０８）。補正画像は、該処理を符号化した後に受信するフレームを符号化する場合に、フレームバッファ５０４に記憶されている符号化済みフレームとして参照される。
【００３３】
また、符号化部５１０は、量子化された変換係数値列に対して、所定の規則に従ったエントロピー符号化処理を実行することによって、該量子化された変換係数値列が符号化された結果を表すビットストリームを出力する。エントロピー符号化処理は、たとえば、コンテキスト適応算術符号化（ＣＡＢＡＣ）（Ｈ．２６４方式の場合、または、Ｈ．２６５方式の場合）、コンテキスト適応可変長符号化（ＣＡＶＬＣ）（Ｈ．２６４方式の場合）である。エントロピー符号化処理は、たとえば、非特許文献３、または、非特許文献４に開示されているので、該エントロピー符号化処理に関する説明を省略する。
【００３４】
動画像符号化装置５０１は、動画像データに含まれている各フレームに関して、図１４を参照しながら説明したように、動き予測処理、変換処理、量子化処理、逆量子化処理、逆変換処理、フィルタ処理等の、多くの計算量を必要とする処理を実行する。したがって、動画像符号化装置５０１は、膨大な量の演算処理を実行することによって、動画像符号化処理を実行する。
【００３５】
膨大な量の演算を短期間に実行する目的のためには、たとえば、アクセラレータが用いられる。アクセラレータは、たとえば、ＧＰＵ、ＤＳＰ、または、ＦＰＧＡである。ＧＰＵは、３次元グラフィックスを高速に処理することが可能なプロセッサである。ＧＰＵは、数百から数千台のプロセッサコアが集積された並列プロセッサを有する。ＧＰＵは、処理自体が高効率に並列化可能な処理であれば、汎用のプロセッサと比較して数倍〜数十倍高速に該処理を実行することができる。アクセラレータは、上述した例に限定されない。
【００３６】
ＧＰＵは、Ｇｒａｐｈｉｃｓ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔの略称を表す。ＤＳＰは、Ｄｉｇｉｔａｌ＿Ｓｉｇｎａｌ＿Ｐｒｏｃｅｓｓｏｒの略称を表す。ＦＰＧＡは、Ｆｉｅｌｄ＿Ｐｒｏｇｒａｍｍａｂｌｅ＿Ｇａｔｅ＿Ａｒｒａｙの略称を表す。
【００３７】
以降、説明の便宜上、アクセラレータは、ＧＰＵであるとする。
【００３８】
図１４に示された各部が実行する処理のうち、動き予測部５０２が実行するフレーム内予測処理、動き予測部５０２が実行するフレーム間予測処理、または、フィルタ部５０３が実行するフィルタ処理は、特に、演算量が多い。したがって、動画像符号化処理を短期間に実行する目的のため、図１６に例示されているように、フレーム内予測処理、フレーム間予測処理、及び、フィルタ処理は、ＧＰＵ５２１に割り当てられることもある。図１６は、ＧＰＵ５２１をアクセラレータとして有する動画像符号化装置５０１が有する構成の一例を表す図である。
【００３９】
図１６に示された各部における処理は、図１４を参照しながら説明したような処理と同様であるので、該処理に関する説明を省略する。図１６に示された例において、ＧＰＵ５２１は、動き予測部５０２が実行するフレーム間予測処理、動き予測部５０２が実行するフレーム内予測処理、及び、フィルタ部５０３が実行するフィルタ処理を実行する。ＣＰＵ５２２は、減算変換部５０６と、量子化部５０５と、量子化制御部５０９と、逆量子化部５０７と、エントロピー符号化部５１０と、逆変換加算部５０８とに示される各部が実行する処理を実行する。したがって、この例の場合には、フレーム内予測処理、フレーム間予測処理、及び、フィルタ処理等の多くの演算量を含む処理がＧＰＵ５２１に割り当てられるので、これらの多くの演算量を含んでいる処理自体は、短期間に処理を実行することができる。
【００４０】
しかし、演算量が多い処理がＧＰＵ５２１に割り当てられたとしても、動画像符号化処理全体が短期間に処理できるとは限らない。この理由は、ＣＰＵ５２２とＧＰＵ５２１とが動画像符号化処理を実行する場合に、ＣＰＵ５２２とＧＰＵ５２１との間にてデータ転送が必要であるからである。図１６に示された例においては、（１）入力された動画像データをＣＰＵ５２２からＧＰＵ５２１に転送する、（２）予測画像をＧＰＵ５２１からＣＰＵ５２２に転送する、（３）再構築画像をＣＰＵ５２２からＧＰＵ５２１に転送する、という３回のデータ転送が必要である。実際には、ＣＰＵ５２２、及び、ＧＰＵ５２１間等の異なるプロセッサ間のデータ転送速度は、低速であることが多い。この結果、たとえ、ＧＰＵ５２１によって多く演算量を含んでいる処理自体を高速に実行したとしても、ＣＰＵ５２２とＧＰＵ５２１との間にてデータ転送が多い場合には、ＣＰＵ５２２、及び、ＧＰＵ５２１間でのデータ転送に要する転送時間は、符号化処理を高速に処理する場合のボトルネックである可能性がある。
【００４１】
また、図１４に例示された各部が実行する処理において、変換処理、量子化処理、逆量子化処理、及び、逆変換処理は、比較的、演算量も多い。さらに、たとえば、非特許文献４に開示されているような適応ＱＰ選択処理、または、レート歪み（ＲＤ）最適量子化処理は、より高度、かつ、より複雑な量子化処理であり、図１４を参照しながら説明した量子化処理より演算量が多い。
【００４２】
動画像符号化処理全体を短期間に実行する目的のためには、図１７に例示されている動画像符号化装置５０１のように、変換処理、量子化処理、逆量子化処理、及び、逆変換処理をＧＰＵ５２３に割り当てることもできる。図１７は、変換処理、量子化処理、逆量子化処理、及び、逆変換処理をＧＰＵ５２３にて処理する場合の動画像符号化装置５０１が有する構成例を表す図である。
【００４３】
図１７に示された各部における処理は、図１４に示された動画像符号化装置５０１における処理と同様であるので、各部に関する処理の説明を省略する。図１７に例示された動画像符号化装置５０１は、図１４に例示された動画像符号化装置５０１とは異なり、減算変換部５０６、量子化部５０５、逆量子化部５０７、逆変換加算部５０８、フィルタ部５０３、及び、動き予測部５０２が実行する処理は、ＧＰＵ５２３に割り当てられる。これに対して、量子化制御部５０９、及び、エントロピー符号化部５１０が行う処理は、ＣＰＵ５２４に割り当てられる。
【００４４】
ＧＰＵ５２３が、変換処理、量子化処理、逆量子化処理、及び、逆変換処理を実行することによって、これらの処理自体は短期間に実行することができる。しかし、図１６を参照しながら説明した場合と同様に、多くの演算量を含んでいる処理がＧＰＵ５２３に割り当てられたとしても、動画像符号化処理全体が短期間に処理できるとは限らない。この理由は、エントロピー符号化処理等の処理を実行するＣＰＵ５２４と、ＧＰＵ５２３との間にて、量子化部５０５からの出力である変換係数値列等の情報を転送する処理が必要であるからである。したがって、この変換係数値列等を転送する処理は、動画像符号化処理の全体を短期間に処理する際のボトルネックである可能性がある。動画像符号化処理全体を短期間に処理する際のボトルネックであることについて、例を参照しながら説明する。
【００４５】
動画像データに含まれているフレームのサイズが８ビット〜１０ビット程度である場合に、該フレームに基づき算出される変換係数値列のサイズは、１６ビット程度である。つまり、変換係数値列のサイズは、該フレームのサイズよりも大きい。この結果、ＧＰＵ５２３からＣＰＵ５２４への変換係数等のデータ転送に要する時間は、該フレームを転送する処理に要する時間よりも長い。ＧＰＵ５２３と、ＣＰＵ５２４との間における転送処理は、動画像符号化処理全体の処理速度を律速する可能性がある。
【００４６】
さらに、別の態様として、図１８に例示されているような動画像符号化装置５０１も可能である。図１８は、変換係数値列のサイズを削減しつつ、動画像符号化処理を実行する動画像符号化装置５０１が有する構成を表す図である。
【００４７】
エントロピー符号化処理は、逐次的に演算を実行する必要がある処理である。このため、該エントロピー符号化処理に関しては、並列処理することによって高速に処理を実行するＧＰＵ５２３よりも、ＣＰＵ５２４に割り当てる方が短期間に処理することができる。
【００４８】
動画像符号化装置５０１は、図１７に例示された動画像符号化装置５０１と比較して、さらに、情報圧縮装置５１１と、情報復元部５１２とを有する。ＧＰＵ５２５は、減算変換部５０６、量子化部５０５、逆量子化部５０７、逆変換加算部５０８、フィルタ部５０３、動き予測部５０２、及び、情報圧縮装置５１１にて実行される処理を実行する。ＣＰＵ５２６は、情報復元部５１２、量子化制御部５０９、及び、符号化部５１０にて実行される処理を実行する。
【００４９】
図１９を参照しながら、図１８に示された動画像符号化装置５０１における処理について説明する。図１９は、動画像符号化装置５０１における処理の流れを示すフローチャートである。
【００５０】
情報圧縮装置５１１は、量子化部５０５が出力した量子化された変換係数値列に対して、該量子化された変換係数値列のサイズを削減するデータ変換処理を実行する（ステップＳ６０１）。ＧＰＵ５２５における情報圧縮装置５１１は、変換したデータをＣＰＵ５２６における情報復元部５１２に転送する。すなわち、変換されたデータは、ＧＰＵ５２５からＣＰＵ５２６に転送される。
【００５１】
情報復元部５１２は、情報圧縮装置５１１が転送したデータを受信し、受信したデータに対して、該データ変換処理に応じた逆変換処理を実行することによって、該量子化された変換係数値列を算出する（ステップＳ６０２）。情報復元部５１２は、該量子化された変換係数値列を符号化部５１０に対して出力する。
【００５２】
情報圧縮装置５１１が実行する処理について詳細に説明する。量子化された変換係数値列は、高い頻度にて、値がゼロである変換係数を含む。情報圧縮装置５１１は、たとえば、８×８（＝６４）画素の係数（データサイズは、１６ビット×６４＝１０２４ビット）を、所定のスキャン順序に従いスキャンすることによって、後述の処理を実行する。情報圧縮装置５１１は、量子化された変換係数値列に関して、スキャンした各変換係数の値が非ゼロであるか否かを示すビット列（６４ビットのサイズ）と、値が非ゼロである変換係数のみが格納されている変換係数値列とを算出する。該変換係数値列は、たとえば、最大２８個の変換係数（１６ビット×２８＝４４８ビットのサイズ）を含む。この場合に、情報圧縮装置５１１は、５１２ビット（＝４４８ビット＋６４ビット）のサイズを有するデータを算出する。したがって、量子化された変換係数値列が、値がゼロである変換係数を含んでいない分だけ、該量子化された変換係数値列のサイズは小さい。
【００５３】
上述した例において、情報圧縮装置５１１は、８×８画素に関して量子化された変換係数値列のサイズを削減するデータ変換処理を実行したが、所定のサイズが複数である（たとえば、２×２画素、４×４画素、及び、８×８画素）、各サイズの変換係数値列に対してデータ変換処理を実行してもよい。この場合に、情報圧縮装置は、各サイズの画素ブロックに関して算出された変換係数を所定のスキャン順序に従いスキャンする。情報圧縮装置は、量子化された変換係数値列において、値が非ゼロである変換係数についてのみ、直交変換ブロック内の最後の非ゼロ係数か否かを表すフラグ（ＥＯＢ）、画素ブロック内の変換係数の位置（Ｉｎｄｅｘ）、及び、変換係数の値（Ｖａｌｕｅ）を含むデータを作成する。これらの処理によって、値がゼロである変換係数の情報を転送する必要が無いので、データ転送量は大きく削減できる。
【００５４】
次に、Ｈ．２６５方式に従って作成された変換係数値列を圧縮する例を参照しながら、情報圧縮装置における処理について説明する。情報圧縮装置は、量子化された変換係数値列に対してデータ変換処理を実行するが、説明を簡便にするため、変換係数値列に対してデータ変換処理を実行すると仮定する。ただし、量子化処理は、必ずしも実行されなくてもよい。また、直交変換処理が、各フレームが３２×３２画素（サイズ）を有する画素ブロックに分割された領域に関して適用され、この結果、各フレームに関して変換係数値列が算出されるとする。尚、直交変換ブロックのサイズが３２×３２画素とは、Ｈ．２６５方式の場合に利用できる最大のサイズである。本実施形態においては、異なるサイズ（たとえば、６４×６４画素等）の画素ブロックを単位として、直交変換処理が適用されてもよい。
【００５５】
さらに、Ｈ．２６５方式によれば、直交変換処理を適用するブロックサイズは、必ずしも、１種類でなくともよく、複数種類であってもよい。たとえば、直交変換処理を適用する画素ブロックのサイズは、３２×３２画素を有する画素ブロック、１６×１６画素を有する画素ブロック、８×８画素を有する画素ブロック、及び、４×４画素を有する画素ブロックが含まれていてもよい。
【００５６】
図２０を参照しながら、直交変換処理によって算出される情報について説明する。図２０は、直交変換処理によって算出される情報を概念的に示す図である。図２０に例示されているような、第１矩形乃至第２２矩形を含む矩形は、直交変換処理を適用する画素ブロック（３２×３２画素）を表す。この例では、第１矩形乃至第２２矩形を含む３２×３２画素を有する画素ブロックの中で、以下の３つのサイズを有する画素ブロックに関して、それぞれ、直交変換処理が適用される。
【００５７】
（ｉ）１６×１６画素を有する画素ブロック（第１矩形）に関して１か所、
（ｉｉ）８×８画素を有する画素ブロック（第２乃至８矩形、第１３矩形、及び、第２２矩形）に関して９か所、
（ｉｉｉ）４×４画素を有する画素ブロック（第９乃至１２矩形、及び、第１４矩形乃至第２１矩形）に関して１２か所。
【００５８】
また、図２０において、丸印を付された矩形は、直交変換処理を適用する画素ブロックのうち、該画素ブロックに関して算出される変換係数の値が非ゼロである変換係数が１つ以上含まれている画素ブロック（以降、「非ゼロブロック」と表す）を表す。丸印を付されていない矩形は、直交変換処理を適用する画素ブロックのうち、該画素ブロックに関して算出される変換係数の値が非ゼロである変換係数が１つも含まれていない画素ブロック（以降、「ゼロブロック」と表す）を表す。図２０に示された例において、非ゼロブロックの個数は、上述した（ｉ）に関して１個（第１矩形）、（ｉｉ）に関して３個（第４矩形、第７矩形、及び、第８矩形）、（ｉｉｉ）に関して１個（第１５矩形）である。すなわち、３２×３２画素を有する画素ブロックは、５つの非ゼロブロック（第１矩形、第４矩形、第７矩形、第８矩形、及び、第１５矩形）を含んでいる。
【００５９】
＜第１の実施形態＞
図１を参照しながら、本発明の第１の実施形態に係る情報圧縮装置１０１が有する構成について詳細に説明する。図１は、本発明の第１の実施形態に係る情報圧縮装置１０１が有する構成を示すブロック図である。
【００６０】
本発明の第１の実施形態に係る情報圧縮装置１０１は、個数算出部１０２と、位置算出部１０３と、情報作成部１０４と、情報格納部１０５とを有する。
【００６１】
図１８に示された動画像符号化装置５０１における情報圧縮装置５１１は、情報圧縮装置１０１であるとする。
【００６２】
次に、図２を参照しながら、第１の実施形態に係る情報圧縮装置１０１における処理について説明する。図２は、第１の実施形態に係る情報圧縮装置１０１における処理の流れを示すフローチャートである。
【００６３】
個数算出部１０２は、外部の装置（たとえば、図１８に例示された量子化部５０５）から、対象画像を表す数値列を入力する。動画像データに含まれているフレーム画像は、たとえば、直交変換処理を適用する対象を表す所定のサイズ（たとえば、１６×１６画素、８×８画素、または、４×４画素）を有するブロック（以降、「第１ブロック」と表す）ごとに区画されている。係る対象画像は、該フレーム画像のうち、個々の第１ブロックに含まれている部分画像を表す。第１サイズは、図２０に例示されているような所定のサイズ（たとえば、１６×１６画素、８×８画素、または、４×４画素）のいずれかを表す。また、第１ブロックに関する数値列は、たとえば、該第１ブロックにおける対象画像に対して、直交変換処理（さらに、量子化処理）を適用した結果、算出される変換係数値列である。
【００６４】
次に、個数算出部１０２は、入力した数値列に基づき、第１サイズ以上の第２サイズを有する第２ブロックに関して、該第２ブロックに含まれている該第１ブロックに関する数値列に含まれている数値が所定の値以上である第１ブロックの個数（以降、「第１個数」と表す）を算出する（ステップＳ１０１）。たとえば、第２サイズは、３２×３２画素である。ステップＳ１０１に示す処理において、個数算出部１０２は、フレームに含まれている１つ以上の３２×３２画素を有する画素ブロック（以降、「３２×３２画素ブロック」と表す）を処理対象として、該３２×３２画素ブロックに含まれている第１ブロックを特定する。個数算出部１０２は、特定した第１ブロックに関する数値列（たとえば、変換係数値列）に含まれている数値が、所定の値以上であるか否かを判定し、該数値列が該所定の値以上である数値を含んでいる場合に、該第１ブロックが非ゼロブロックであると判定する。個数算出部１０２は、非ゼロブロックであると判定した第１ブロックの個数（上述した「第１個数」）を算出する（ステップＳ１０１）。
【００６５】
さらに、個数算出部１０２は、入力した数値列に基づき、第１サイズ以下の第３サイズを有する第３ブロックに関して、該第３ブロックに関する該数値列に含まれている数値が所定の値以上である第１ブロックの個数（以降、「第２個数」と表す）を算出する（ステップＳ１０１）。たとえば、第３サイズは、４×４画素（サイズ）である。ステップＳ１０１に示す処理において、個数算出部１０２は、３２×３２画素ブロックに含まれている非ゼロブロックを対象として、該非ゼロブロックに含まれている４×４画素を有する第３ブロック（以降、「４×４画素ブロック」と表す）を設定する。個数算出部１０２は、設定した第３ブロックに関する数値列（たとえば、変換係数値列）が、所定の値以上である数値を含んでいるか否かを判定し、該数値列が該所定の値以上である変換係数を含んでいる場合に、該第３ブロックが非ゼロブロックであると判定する。個数算出部１０２は、非ゼロブロックであると判定した第３ブロックの個数（上述した「第２個数」）を算出する（ステップＳ１０１）。
【００６６】
次に、位置算出部１０３は、算出した第２個数に基づき、第３ブロックに関する数値列を格納する第２位置情報を算出する（ステップＳ１０２）。たとえば、第３ブロックに関する変換係数を格納するのに要する記憶領域の大きさが所定の記憶容量である場合に、位置算出部１０３は、該所定の記憶容量と、１から第２個数に至る各整数とを掛け算することによって、記憶装置において数値列を格納する位置を算出する。たとえば、第３ブロックが４×４画素ブロックであり、さらに、所定の記憶容量が１６ビットである場合に、位置算出部１０３は、２５６（＝１６ｘ４×４）ビットと、１から第２個数に至る各整数とを掛け算することによって数値列を格納する第２位置情報を算出する。
【００６７】
さらに、位置算出部１０３は、算出した第１個数と、算出した第２個数とに基づき、第２ブロックに関する第２情報を格納する位置を表す第１位置情報を算出する（ステップＳ１０２）。第２情報は、第２ブロック（たとえば、３２×３２画素ブロック）に含まれている第１ブロック（たとえば、１６×１６画素ブロック）を表す情報（たとえば、第１ブロックの大きさ、第２ブロックにおける第１ブロックの位置情報）である。さらに、第２情報は、該第２ブロック（たとえば、３２×３２画素ブロック）における第１ブロック（たとえば、１６×１６画素ブロック）に含まれている第３ブロック（たとえば、４×４画素ブロック）に関する数値列の格納先を表す第２位置情報を含む。
【００６８】
次に、情報作成部１０４は、対象画像に含まれている１つ以上の第２ブロックに関して位置算出部１０３が算出した第１位置情報を含む第１情報を作成する（ステップＳ１０３）。情報作成部１０４は、対象画像に含まれている１つ以上の第２ブロックに関して、該第２ブロックに含まれている第３ブロックに関する数値列の格納先を表す第２位置情報を含む第２情報を作成する（ステップＳ１０３）。情報作成部１０４は、さらに、第２ブロックの大きさ、第１ブロックに含まれている１つ以上の第２ブロックの位置を表す位置情報等を含む第２情報を作成してもよい。情報作成部１０４は、ある第２ブロックに関して算出した第２情報を、該ある第２ブロックに関して算出した第１位置情報が表す位置（記憶領域）に格納する。
【００６９】
次に、情報格納部１０５は、該対象画像に含まれている１つ以上の第３ブロックのうち、数値列に含まれている数値が所定の値以上である第３ブロックについて該対象画像に含まれている値を読み取り、読み取った値を、記憶装置（メモリ）内の、該第３ブロックに関する数値列の格納先を表す第２位置情報が表す位置（記憶領域）に格納する（ステップＳ１０４）。情報格納部１０５は、たとえば、非ゼロブロックである第３ブロックに関して対象画像に含まれている値を読み取り、読み取った値を第２位置情報が表す位置に格納する。この場合に、情報格納部１０５は、ステップＳ１０４に示された処理によって、非ゼロブロックである第３ブロック（たとえば、４×４画素ブロック）に関する変換係数の値のみを記憶装置に格納する。
【００７０】
その後、たとえば、情報圧縮装置１０１が、ＧＰＵが有する機能を用いて実現されている場合（たとえば、図１８におけるＧＰＵ５２５）に、情報圧縮装置１０１は、作成した第１情報、第２情報、及び、非ゼロブロックである第３ブロックに関する変換係数の値のみを、ＣＰＵ（たとえば、図１８におけるＣＰＵ５２６）に送信してもよい。
【００７１】
次に、第１の実施形態に係る情報圧縮装置１０１に関する効果について説明する。
【００７２】
第１の実施形態に係る情報圧縮装置１０１によれば、符号化処理に必要な情報を、より小さなサイズに圧縮することができる。この理由は、対象画像を構成する情報内に符号化処理に必要な情報（たとえば、所定のサイズを有する画素ブロック等の処理単位に関する情報）を保ったままの状態において、情報圧縮装置１０１が復元画像等を作成する場合に参照される情報のみを、メモリ内の格納先に格納するからである。たとえば、対象画像に関する符号化処理に必要な情報は、情報作成部１０４が作成する第１情報、及び、情報作成部１０４が作成する第２情報として保存されている。また、情報格納部１０５が、非ゼロブロックである第３ブロックに関する変換係数の値のみを記憶装置に格納することによって、たとえば、復元画像等を作成する場合に参照されない変換係数の値は、記憶装置に格納されていない。すなわち、情報格納部１０５には、復元画像等を作成する場合に参照される情報のみが格納されている。
【００７３】
したがって、第１の実施形態に係る情報圧縮装置１０１によれば、符号化処理に必要な情報を、より小さなサイズに圧縮することができる。
【００７４】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００７５】
図３を参照しながら、本発明の第２の実施形態に係る動画像符号化装置２０１について説明する。図３は、本発明の第２の実施形態に係る動画像符号化装置２０１が有する構成を示すブロック図である。
【００７６】
第２の実施形態に係る動画像符号化装置２０１は、動き予測部２０２と、減算変換部２０５と、量子化部２０６と、逆量子化部２０８と、逆変換加算部２０９と、フィルタ部２０３と、フレームバッファ２０４と、情報圧縮装置２０７と、量子化制御部２１０と、符号化部２１１と、情報復元部２１２とを有する。情報圧縮装置２０７は、たとえば、図１に示された情報圧縮装置１０１である。
【００７７】
説明の便宜上、動き予測部２０２と、減算変換部２０５と、量子化部２０６と、逆量子化部２０８と、逆変換加算部２０９と、フィルタ部２０３と、フレームバッファ２０４と、情報圧縮装置２０７とにおける処理は、図３の破線にて示す如く、ＧＰＵ２１３に割り当てられているとする。量子化制御部２１０と、符号化部２１１と、情報復元部２１２とにおける処理は、図３の破線にて示す如く、ＣＰＵ２１４に割り当てられているとする。動き予測部２０２と、減算変換部２０５と、量子化部２０６と、逆量子化部２０８と、逆変換加算部２０９と、フィルタ部２０３と、量子化制御部２１０と、符号化部２１１とは、図１４乃至図１９を参照しながら説明した処理と同様な処理を実行するので、本実施形態においては、これらの各部における処理に関する詳細な説明を省略する。
【００７８】
次に、図４を参照しながら、情報圧縮装置２０７における処理を中心に、第２の実施形態に係る動画像符号化装置２０１における処理について説明する。図４は、第２の実施形態に係る動画像符号化装置２０１における処理の流れを示すフローチャートである。
【００７９】
減算変換部２０５は、動画像データにおける各フレームに関して、所定の大きさを有する第１ブロックを対象として、該画素ブロックにおける画像を直交変換処理することによって、該第１ブロックに関する変換係数値列を作成する（ステップＳ２０１）。減算変換部２０５は、作成した変換係数値列を、量子化部２０６に対して出力する。
【００８０】
量子化部２０６は、減算変換部２０５が出力した変換係数値列を入力し、入力した変換係数値列に含まれている各値を量子化処理することによって、該変換係数値列が量子化された変換係数値列を作成する（ステップＳ２０２）。量子化部２０６は、該量子化された変換係数値列を、情報圧縮装置２０７に対して出力する。すなわち、量子化部２０６が出力する変換係数値列は、各フレームに関して、第１ブロックを対象として作成された数値列である。
【００８１】
第２の実施形態に係る情報圧縮装置２０７は、図２０に例示されているような第１矩形乃至第２２矩形に示された各第１ブロックに関して、該第１ブロックに関する数値列（たとえば、変換係数値列等）を入力する。たとえば、第１ブロックは、所定のサイズ（たとえば、１６×１６画素、８×８画素）の大きさを有する画素ブロックである。
【００８２】
まず、情報圧縮装置２０７は、入力した数値列に基づき、第１サイズ以上の第２サイズ（たとえば、３２×３２画素）を有する第２ブロックに関して、該第２ブロックに含まれている該第１ブロックに関する数値列に含まれている数値が所定の値以上である第１ブロックの第１個数を算出する（ステップＳ２０３）。たとえば、図２０に示された例の場合に、情報圧縮装置２０７は、入力した数値列に基づき、３２×３２画素ブロックに含まれる非ゼロブロックの第１個数として、５（すなわち、第１矩形、第４矩形、第７矩形、第８矩形、及び、第１５矩形）を算出する。
【００８３】
次に、情報圧縮装置２０７は、各非ゼロブロックに関して、該第１サイズ以下の第３サイズ（たとえば、４×４画素）を有する第３ブロックに関して、該第３ブロックが非ゼロブロックであるか否かを判定する。情報圧縮装置２０７は、たとえば、非ゼロブロックのサイズが１６×１６画素（図５に例示）である場合に、縦方向、及び、横方向に４等分する。図５は、１６×１６画素を有する第１ブロックの一例を表す図である。
【００８４】
図５に示された例の場合に、情報圧縮装置２０７は、１６×１６画素ブロックを、縦方向、及び、横方向に４等分することによって、第２３矩形乃至第３８矩形によって示される１６個の４×４画素ブロックについて、それぞれ、非ゼロブロックであるか否かを判定する。図５においては、丸印を付された矩形が表す画素ブロックは非ゼロブロックを表し、丸印が付されていない矩形がゼロブロックを表す。
【００８５】
情報圧縮装置２０７は、たとえば、図５において、第２３矩形が表す第３ブロックに関する数値列が非ゼロである変換係数を含んでいる場合に、該第３ブロックが非ゼロブロックであると判定する。情報圧縮装置２０７は、たとえば、該第３ブロックに関する数値列内の変換係数の値がすべてゼロである場合に、該第３ブロックがゼロブロックであると判定する。情報圧縮装置２０７は、第２ブロックに含まれている第２４矩形乃至第３８矩形によって示される各第３ブロックに関しても、第２３矩形が表す第３ブロックに対して実行した判定処理と同様な判定処理を実行する。図５に示された例の場合に、情報圧縮装置２０７は、第２３矩形乃至第２５矩形、及び、第２８矩形によって示された第３ブロックが非ゼロブロックであると判定し、第２６矩形、第２７矩形、及び、第２９矩形乃至第３８矩形によって示された第３ブロックがゼロブロックであると判定する。
【００８６】
同様に、図５に示された第２ブロックの大きさ（この場合、１６×１６画素）と異なる大きさを有する各第２ブロック（図６に例示）に関しても、情報圧縮装置２０７は、非ゼロブロックであるか否かを判定する。図６は、８×８画素を有する第１ブロックの一例を表す図である。図６に示された例の場合に、情報圧縮装置２０７は、たとえば、縦方向、及び、横方向に２等分することによって、４×４画素ブロックを対象として非ゼブロックであるか否かを判定する。
【００８７】
情報圧縮装置２０７は、非ゼロブロックである第３ブロックの個数（すなわち、第２個数）を算出する（ステップＳ２０３）。たとえば、図５及び図６に示す例の場合に、情報圧縮装置２０７は、第２個数として５（すなわち、第２３乃至２５矩形、第２８矩形、及び、第３９矩形によって示される第３ブロックの個数）を算出する。
【００８８】
次に、情報圧縮装置２０７は、算出した第２個数に基づき、各第３ブロックに関する数値列を格納する位置を表す第２位置情報を算出する（ステップＳ２０４）。さらに、情報圧縮装置２０７は、算出した第１個数と、算出した第２個数とに基づき、第２ブロックに関する第２情報を格納する位置を表す第１位置情報を算出する（ステップＳ２０４）。ステップＳ２０４において、情報圧縮装置２０７は、各第２ブロックに関する第２情報を格納する第１位置情報を算出する。
【００８９】
ステップＳ２０４に関する処理を、さらに、具体的に説明する。情報圧縮装置２０７は、ある第１ブロックに関する第２位置情報を算出する場合に、処理しているフレームに関して、当該ある第１ブロックに関する処理を開始するまでに算出した第２個数の累計数を算出することによって、第２位置情報を算出してもよい。また、情報圧縮装置２０７は、ある第２ブロックに関する第１位置情報を算出する場合に、処理しているフレームに関して、当該ある第２ブロックに関する処理を開始するまでに算出した第１個数の累計数を算出することによって、第２位置情報を算出してもよい。
【００９０】
次に、情報圧縮装置２０７は、第１情報、及び、第２情報を作成する（ステップＳ２０５）。情報圧縮装置２０７は、作成した第２情報を、記憶装置（メモリ）内の第１位置情報が表す位置（記憶領域）に格納する。第１情報、及び、第２情報を作成する処理については、図８乃至図９を参照しながら後述する。
【００９１】
情報圧縮装置２０７は、非ゼロブロックである第３ブロックに関する数値列を、算出した第２位置情報が表す位置に格納することによって、非ゼロブロックである第３ブロックに関する変換係数の値のみが格納された変換係数情報（図７）を作成する（ステップＳ２０６）。図７は、変換係数情報の一例を概念的に表す図である。情報圧縮装置２０７がＧＰＵ２１３を用いて実現されている場合に、情報圧縮装置２０７は、作成した第１情報、第２情報、及び、変換係数情報をＣＰＵ２１４に対して転送（送信）する（ステップＳ２０７）。
【００９２】
図７を参照すると、変換係数情報は、図５に示された第２３矩形乃至第２５矩形、及び、第２８矩形が表す各第３ブロックに関する数値列と、図６に示された第３９矩形が表す第３ブロックに関する数値列とを含む。図５及び図６において、丸印を付された矩形は、非ゼロブロックである第３ブロックを表すので、該変換係数情報は、非ゼロブロックである第３ブロックに関する変換係数の値のみを含んでいる。すなわち、変換係数情報は、ゼロブロックである第３ブロックに関する変換係数の値を含んでいない。
【００９３】
次に、第１情報、第２情報、または、変換係数情報が有するデータ構造を参照しながら、本実施形態に係る情報圧縮装置２０７が実行する処理について説明する。
【００９４】
まず、図８を参照しながら、第１情報が有するデータ構造について説明する。図８は、第１情報が有するデータ構造の一例を概念的に表す図である。
【００９５】
図８を参照すると、第１情報は、たとえば、第２ブロックを識別可能なブロック番号と、該ブロック番号が表す第２ブロックに含まれている第１ブロックのうち、非ゼロブロックである個数を表すブロック数と、該第２ブロックに関する第２情報を格納する位置を表す第１位置情報とが関連付けされた情報である。たとえば、第１情報においては、ブロック番号「１」と、画素ブロック数「３」と、第１位置情報「１」とが関連付けされている。これは、ブロック番号「１」が表す第２ブロック（たとえば、３２×３２ブロック）が、非ゼロブロックである３つの第１ブロックを含み、これらの第１ブロックに関する第２情報が、第１位置情報「１」を先頭アドレスとする記憶領域に格納されることを表す。
【００９６】
図８に例示された第１情報において、ブロック番号「２」と、画素ブロック数「５」と、第１位置情報「４」とが関連付けされている。これは、ブロック番号「２」が表す第２ブロック（たとえば、３２×３２ブロック）が、非ゼロブロックである５つの第１ブロックを含み、これらの第１ブロックに関する第２情報が、第１位置情報「４」を先頭アドレスとする記憶領域に格納されることを表す。ステップＳ２０４に関する処理にて説明したように、ブロック番号「２」に関連付けされた第１位置情報「４」は、たとえば、ブロック番号「２」が表すブロックに関する処理を開始する（この場合に、ブロック番号「１」が表すブロックに関する処理）までに算出されたブロック数（この場合、ブロック数「３」）に基づいて算出される。たとえば、ブロック番号「２」に関する第１位置情報は、ブロック番号「１」に関連付けされた第１位置情報「１」と、ブロック番号「１」に関連付けされたブロック数「３」との合計値として算出される。第１情報は、上述した例に限定されない。
【００９７】
たとえば、第１情報は、フレームに含まれている各３２×３２画素ブロックに関して、該３２×３２画素ブロックに含まれている非ゼロブロックの個数と、該３２×３２画素ブロックに関する情報を格納する記憶領域の先頭アドレスとが関連付けされた情報を表す。この場合に、フレームに含まれている３２×３２画素ブロックの個数は一定であるので、第１情報は、固定長の大きさを有する。以降、第１情報は、各３２×３２画素ブロックに関して、該３２×３２画素ブロックに関する情報が格納されている記憶領域の先頭アドレスを表す情報であるとする。すなわち、第１情報は、該３２×３２画素ブロックに含まれている非ゼロブロックの個数と、該３２×３２画素ブロックに関する情報が格納されている記憶領域の先頭アドレスを示す第１位置情報とを含む。
【００９８】
本実施形態に係る情報圧縮装置２０７は、ステップＳ２０３において設定した第２ブロックに対してブロック番号を割り当て、割り当てたブロック番号と、ステップＳ２０３において算出した第１個数と、ステップＳ２０４において算出した第１位置情報とが関連付けされた第１情報を作成する。
【００９９】
次に、図９を参照しながら、第２情報が有するデータ構造について説明する。図９は、第２情報が有するデータ構造の一例を概念的に表す図である。
【０１００】
図９を参照すると、第２情報は、ある第１ブロックに関して、該第１ブロックに含まれている第３ブロックに関する変換係数列（または、数値列）を格納する記憶領域を指し示す第２位置情報を含む情報である。第２情報は、さらに、該第１ブロックに含まれている第３ブロックが非ゼロブロックであるか否かを表す情報（図９における「非ゼロ？」の列）を含んでいてもよい。第２情報は、第２ブロックに含まれている１つ以上の第３ブロックの位置を表す情報（図９における「位置」の「縦方向」及び「横方向」）を含んでいてもよい。
【０１０１】
第２情報は、さらに、該第１ブロックのサイズと、第１ブロックに関する数値列を所定のスキャン順序に従いスキャンした場合に、該第１ブロックにおいて、非ゼロである最後の変換係数の値が出現する位置（図９における「非ゼロ位置」の「縦方向」及び「横方向」）を含んでいてもよい。
【０１０２】
言い換えると、第２情報は、第１ブロックに関して、以下のような情報１乃至情報６に例示された情報を含んでいてもよい。
【０１０３】
（情報１）第１ブロックが輝度ブロックであるか、または、色差ブロックかを表す情報（図９における「種別情報」、ｃＩｄｘ）、
（情報２）第２ブロックに含まれている１つ以上の第１ブロックの位置を表す位置情報（図９における「位置」、縦方向（ｐｏｓＹ）、及び、横方向（ｐｏｓＸ））、
（情報３）該第２ブロックのサイズを表すサイズ情報（図９における「サイズ」、ｌｏｇ２ｔｒａｆｏＳｉｚｅ）、
（情報４）該第２ブロックに含まれている非ゼロの変換係数を、所定のスキャン順序に従いスキャンした場合に、該第２ブロックにおいて最後に非ゼロの変換係数が出現する位置を表す非ゼロ位置情報（図９における「非ゼロ位置」、ｌａｓｔＳｉｇｎｉｆｉｃａｎｔＣｏｅｆｆＸ（横方向）、及び、ｌａｓｔＳｉｇｎｉｆｉｃａｎｔＣｏｅｆｆＹ（縦方向））、
（情報５）該第２ブロックにおいて、第３ブロックを所定のスキャン順序に従いスキャンした場合に、各第３ブロックが非ゼロブロックであるか否かを示すブロック情報（図９における「非ゼロ？」、ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇ）、
（情報６）該第２ブロックにおいて、非ゼロブロックである各第３ブロックに関する変換係数が格納されている記憶領域の先頭アドレスを表す第２位置情報（ｉｎｄｅｘ）。第２位置情報は、たとえば、非ゼロブロックである第３ブロックに関する変換係数が格納されている記憶領域を指し示す先頭アドレスを、先頭の第３ブロックからの相対位置によって表した値を格納してもよい。
【０１０４】
したがって、情報圧縮装置２０７、及び、情報復元部２１２等は、情報６における第２位置情報を参照することによって、ある非ゼロブロックにおける非ゼロ４×４ブロックに関する変換係数の値を読み取ることができる。
【０１０５】
たとえば、図９に例示された第２情報においては、種別情報「２」、位置の縦方向「１」、位置の横方向「１」、サイズ「８」、非ゼロ位置の縦方向「５」、非ゼロ位置の横方向「５」、非ゼロ「０，１，１，・・・」、及び、第２位置情報「５」が関連付けされている。これは、たとえば、第１ブロックの種別が色差ブロックであり、第２ブロックにおける第１ブロックの位置が（１，１）であり、第１ブロックのサイズが８であることを表す。さらに、これは、第１ブロックを所定のスキャン順序に従いスキャンした場合に、最後に非ゼロの変換係数値が現れる位置が（５，５）であり、第１ブロックにおいて第３ブロックを所定のスキャン順序にスキャンした場合に、ゼロブロック（０）、非ゼロブロック（１）、非ゼロブロック（１）の順に並んでいることを表す。さらに、これは、非ゼロブロックである第３ブロックに関する変換係数を格納する先頭位置が５であることを表す。
【０１０６】
図９に例示された第２情報における第２位置情報は、ステップＳ２０４に関して上述したように、たとえば、図９の３行目（種別情報「２」、縦方向「１」、・・・に示される行）に関する処理を開始するまで（この場合に、第１、乃至、２行目）に算出された第２個数の累計数によって算出される。尚、図９には、第１行目に示された第１ブロックが２つの非ゼロ第３ブロックを含んでおり、第２行目に示された第１ブロックが２つの非ゼロ第３ブロックを含んでいる場合の第２情報が例示されている。この場合に、図９の３行目に記された第２情報は、５（＝２＋２＋１）である。第２情報は、図９に示された例に限定されない。たとえば、第２情報における第２位置情報は、たとえば、第１ブロックに含まれている非ゼロブロックである第３ブロックごとに、当該第３ブロックに関する変換係数を格納する記憶領域を指し示す先頭アドレスを含んでいてもよい。
【０１０７】
本実施形態に係る情報圧縮装置２０７は、ステップＳ２０５において、たとえば、第２ブロックに含まれている１つ以上の第１ブロックの位置を特定することによって、上述した「情報２」を作成する。情報圧縮装置２０７は、第２ブロックに含まれている非ゼロの変換係数を、所定のスキャン順序に従いスキャンした場合に非ゼロの変換係数が現れる位置を特定することによって、上述した「情報４」を作成する。情報圧縮装置２０７は、第２ブロックにおいて、第３ブロックを所定のスキャン順序に従いスキャンし、スキャンした各第３ブロックが非ゼロブロックであるか否かを判定することによって、上述した「情報５」を作成する。尚、情報圧縮装置２０７は、「情報１」に関して、読み取った種別情報を、第２情報に格納する。
【０１０８】
次に、図１０を参照しながら、変換係数情報が有するデータ構造について説明する。図１０は、変換係数情報が有するデータ構造の一例を概念的に表す図である。図１０に例示された変換係数情報においては、図７に例示された変換係数値列に含まれている変換係数の値が具体的に示されている。
【０１０９】
図１０に例示された変換係数情報を参照すると、変換係数情報は、変換係数値「１，２，３，・・・」を含む。これは、非ゼロブロックである第３ブロックに関する変換係数の値が「１，２，３，・・・」であることを表す。
【０１１０】
したがって、本実施形態に係る情報圧縮装置２０７は、図８に例示された第１情報と、図９に例示された第２情報と、図１０に例示された変換係数情報とを含む記録情報を作成する。
【０１１１】
また、第１情報が格納されている記憶領域、第２情報が格納されている記憶領域、及び、変換係数情報が格納されている記憶領域は、主記憶装置（メモリ）のアドレス空間において、連続しているアドレスに配置するのが望ましい。この理由は、これらの３つの情報が相互に関連しているので、ある１つの情報を転送する場合には、他の２つの情報を転送する必要があるからである。たとえば、これら３つの情報が格納されている記憶領域を、連続しているアドレスに配置することによって、情報圧縮装置２０７は、ＣＰＵ２１４からＧＰＵ２１３に転送する場合に、１回の処理にて情報を転送することが可能なバースト転送を実行することができる。
【０１１２】
図４を参照しながら上述した説明において、ステップＳ２０１及びステップＳ２０２に示された処理が非ゼロブロックごとに独立している処理であるので、情報圧縮装置２０７は、ステップＳ２０１及びステップＳ２０２を、複数の非ゼロブロックに関して並列的または擬似並列的に処理してもよい。また、ステップＳ２０３に示された処理、及び、ステップＳ２０４に示された処理が３２×３２画素ブロックごとに相互に独立している処理であるので、情報圧縮装置２０７は、ステップＳ２０３、及び、ステップＳ２０４を、複数の３２×３２画素ブロックに関して並列的または擬似並列的に処理してもよい。ステップＳ２０１乃至ステップＳ２０４に記載された処理は、上述した例に限定されない。
【０１１３】
ステップＳ２０４に示された処理においては、ある画素ブロックに関して、該ある画素ブロックとは異なる画素ブロックに関する処理結果を参照する処理を含む。該処理は、連続する数値列の部分和を計算する処理であり、ｓｃａｎ処理、または、ｐｒｅｆｉｘ＿ｓｕｍ処理とも呼ばれている。該ｓｃａｎ処理、または、ｐｒｅｆｉｘ＿ｓｕｍ処理に関しては、効率的な並列処理技術が提案されているが、ここでは、該並列処理技術に関する説明を省略する。
【０１１４】
このように、図４におけるステップＳ２０１乃至ステップＳ２０４は、それぞれ、効率的な並列処理が可能な処理であるので、該処理をＧＰＵ２１３のような並列処理向けのプロセッサに割り当てることによって、動画像符号化処理を高速処理することが可能である。
【０１１５】
また、第１情報を格納する記憶領域、第２情報を格納する記憶領域、及び、変換係数情報を格納する記憶領域を、連続しているアドレスに割り当てることによって、情報圧縮装置２０７は、ステップＳ２０７に示されたデータ転送を、１度のバースト転送によって実現することができる。このように記憶領域を割り当てることによって、情報圧縮装置２０７は、短期間でのデータ転送を実現することができる。
【０１１６】
次に、第２の実施形態に係る動画像符号化装置２０１に関する効果について説明する。
【０１１７】
第２の実施形態に係る動画像符号化装置２０１によれば、符号化処理に必要な情報を、より小さなサイズに圧縮することができる。この理由は、第２の実施形態に係る動画像符号化装置２０１が、第１の実施形態に係る情報圧縮装置１０１を含むからである。この理由について詳細に説明する。
【０１１８】
動画像符号化装置２０１は、各フレームを４×４画素ブロックという単位にて管理し、そのうち、さらに、非ゼロ４×４ブロックの情報のみに関してデータ転送する処理を実行する。１つの画素ブロックのサイズが大きいほど、値がゼロである変換係数を含む可能性が高い。しかし、値がゼロである変換係数は、動画像符号化処理の後処理において利用されることはないので、ＧＰＵ２１３が実行する処理において算出されたとして、後処理を実行するＣＰＵ２１４に転送される必要がない。本実施形態に係る動画像符号化装置２０１によれば、たとえば、非ゼロ４×４ブロックの変換係数のみが転送されるので、転送データのサイズを大きく削減できる。たとえば、非ゼロ４×４ブロックがフレーム中の数％（パーセント）〜１０％程度しか存在しない場合には、本実施形態に係る動画像符号化装置２０１によれば、転送データのサイズを１０分の１程度以下に削減することができる。
【０１１９】
さらに、本実施形態に係る動画像符号化装置２０１によれば、データ変換処理を高速に実行することできる。これは、データ変換処理自体が高効率な並列処理であり、さらに、該データ変換処理をＧＰＵ２１３等の並列プロセッサにて実現することができるからである。動画像符号化装置２０１によれば、３２×３２画素を有する画素ブロックに関する情報を、直交変換ブロック、４×４画素ブロック等の小さな画素ブロックによって階層的に管理するので、各データ変換処理自体を高並列に実現することができる。
【０１２０】
これに対して、たとえば、非特許文献５に記載された方法におけるデータ変換処理は複雑である。該方法は、直交変換ブロックに関して、所定のスキャン順序に従い、すべての変換係数をスキャンし、スキャンされた順序にて該変換係数を含んでいる変換係数値列を算出する。該方法は、該変換係数値列に含まれている変換係数に基づき、ＥＯＢ、Ｉｎｄｅｘ等の値を逐次的に算出する。言い換えれば、該方法は、ＥＯＢを算出する処理に、変換係数ごとの条件判定を逐次的に算出する。したがって、この方法がＧＰＵ２１３等の並列処理可能なプロセッサに実装されたとしても、該方法を短期間に処理することはできない。
【０１２１】
たとえば、非特許文献５に記載の技術においては、３２×３２画素を有する直交変換ブロックに関して、１０２４個の変換係数に関して逐次処理が必要である。これに対して、本実施形態に係る動画像符号化装置２０１によれば、複数の変換係数を含む第３ブロックに分割されているので、逐次処理が必要である処理は、高々６４（＝１０２４÷（４×４））個の直交変換ブロック、６４個の４×４画素ブロック、または、１６（＝４×４）個の変換係数に対する処理である。したがって、本実施形態に係る動画像符号化装置２０１によれば、逐次処理を大きく低減できることができるので、短期間に動画像符号化処理を実行することができる。
【０１２２】
符号化方式がＨ．２６５方式である場合には、１６×１６画素や３２×３２画素等のサイズを有する直交変換ブロックを処理する必要があるので、Ｈ．２６５方式に従ったデータ変換処理には、さらに多くの処理を要する。たとえば、非特許文献５に記載された技術は、Ｈ．２６５方式に従い３２×３２画素の直交変換ブロックを処理する場合に、１０２４個の変換係数を含む変換係数値列に対して、逐次的に処理を実行する必要がある。この結果、該データ変換処理には、長い処理時間を要する。この結果、非特許文献５に記載された技術によれば、データ変換処理、及び、データ逆変換処理等の処理に要する時間が長くなるので、動画像符号化処理を短期間に実行することができない。
【０１２３】
＜第３の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第３の実施形態について説明する。
【０１２４】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【０１２５】
図１１を参照しながら、本発明の第３の実施形態に係る情報圧縮装置３０１について説明する。図１１は、本発明の第３の実施形態に係る情報圧縮装置３０１が有する構成を示すブロック図である。
【０１２６】
本発明の第３の実施形態に係る情報圧縮装置３０１は、個数算出部３０２と、位置算出部１０３と、情報作成部１０４と、情報格納部１０５と、パラメータ判定部３０３とを有する。
【０１２７】
情報圧縮装置３０１は、たとえば、図３に例示されているような動画像符号化装置２０１において処理を実行する。この場合に、情報圧縮装置３０１は、図３に示された情報圧縮装置２０７に対応する。
【０１２８】
次に、図１２を参照しながら、情報圧縮装置３０１における処理を中心に、第３の実施形態に係る情報圧縮装置３０１を有する動画像符号化装置における処理について説明する。図１２は、第３の実施形態に係る情報圧縮装置３０１を有する動画像符号化装置２０１における処理の流れを示すフローチャートである。
【０１２９】
説明の便宜上、第３ブロックは、４×４画素を有する画素ブロック（すなわち、４×４画素ブロック）のうち、非ゼロブロックであると判定された画素ブロックを、「非ゼロ４×４ブロック」と表すとする。第１ブロックに対して直交変換処理が適用されるので、第１ブロックを「直交変換ブロック」と表すとする。直交変換ブロックのうち、非ゼロブロックであると判定された画素ブロックを、「非ゼロ直交変換ブロック」と表すとする。尚、第１ブロック、及び、第３ブロックは、上述した例に限定されない。
【０１３０】
減算変換部２０５は、動画像データに含まれている１つ以上のフレームに関して、所定の大きさを有する第１ブロックを対象として、該画素ブロックにおける画像を直交変換処理することによって、該第１ブロックにおける画像を表す変換係数値列を作成する（ステップＳ２０１）。減算変換部２０５は、作成した変換係数値列を、量子化部２０６に対して出力する。
【０１３１】
量子化部２０６は、減算変換部２０５が出力した変換係数値列を入力し、入力した変換係数値列に含まれている各値を量子化処理することによって、該変換係数値列が量子化された変換係数値列を作成する（ステップＳ２０２）。量子化部２０６は、該量子化された変換係数値列を情報圧縮装置３０１に対して出力する。すなわち、量子化部２０６が出力する変換係数値列は、各フレームに関して、第１ブロックを対象として作成された変換係数値列である。
【０１３２】
次に、情報圧縮装置３０１における個数算出部３０２は、量子化部２０６が出力した数値列（すなわち、直交変換ブロックに関する変換係数値列）を入力する。個数算出部３０２は、図４を参照しながら説明したような、ステップＳ２０３における処理を実行することによって、第１個数、及び、第２個数を算出する（ステップＳ３０３）。個数算出部３０２は、算出した第１個数、及び、第２個数をパラメータ判定部３０３に対して出力する。
【０１３３】
パラメータ判定部３０３は、個数算出部３０２が出力した第１個数、及び、第２個数を入力する。パラメータ判定部３０３は、入力した第２個数が所定の第２基準を満たしているか否かを判定する（ステップＳ３０４）。たとえば、所定の第２基準は、該第２個数が所定の個数を超えているか否かを表す条件である。たとえば、所定の個数は、フレームに含まれている非ゼロ直交変換ブロックに含まれている４×４画素ブロック（すなわち、「第３ブロック」）の個数に対する割合（たとえば、該個数の２０％）を用いて定義されていてもよい。パラメータ判定部３０３は、該第２個数が所定の第２基準を満たしているか否かを判定する処理によって、該フレームを動画像符号化処理する場合に必要な転送データ量（発生符号量）が多いか少ないかを判定することができる。
【０１３４】
パラメータ判定部３０３は、入力した第２個数が所定の第２基準を満たしていない場合には（ステップＳ３０４にてＮＯ）、量子化パラメータの値をより大きな値に設定する（ステップＳ３０５）。たとえば、第２個数がフレームにおける４×４画素ブロックの個数の２０％を越えている場合、パラメータ判定部３０３は、該転送データ量が多すぎると判定し、非ゼロブロックであるか否かを判定する量子化パラメータの値として、より大きな値を設定する。量子化パラメータの値を大きくすることによって、第３ブロック（または、第１ブロック）が非ゼロブロックであると判定される画素ブロックの個数が減少する。この結果、非ゼロ４×４ブロックの個数等は、量子化パラメータの値を大きくすることによって減少する。
【０１３５】
その後、個数算出部３０２は、設定された量子化パラメータに基づき、第１ブロック（たとえば、非ゼロブロック）の第１個数、及び、第３ブロック（たとえば、非ゼロ４×４ブロック）の第２個数を算出する（ステップＳ３０３）。
【０１３６】
入力した第２個数が所定の第２基準を満たしている場合に（ステップＳ３０４にてＹＥＳ）、位置算出部１０３は、ステップＳ２０４に示した処理を実行する。
【０１３７】
所定の第２基準は、上述した例に限定されない。たとえば、所定の第２基準は、該フレームに含まれている非ゼロ直交変換ブロックの第１個数と、該フレームに含まれている非ゼロ４×４ブロックの第２個数とを加重平均する処理により算出される評価値が所定の上限値を超えるか否かを表す条件であってもよい。加重平均を算出する処理は、たとえば、第１個数に所定の重みを掛け算した値と、第２個数に所定の重みを掛け算した値とを算出し、算出した２つの値を加算する処理である。この場合に、パラメータ判定部３０３は、算出した評価値が所定の上限値を超える場合に、該所定の上限値に対する該評価値の割合を算出し、算出した割合に応じて、量子化パラメータに設定する値を増大する幅（増大幅）を算出する。パラメータ判定部３０３は、算出した増大幅に基づき、量子化パラメータの値を設定する。
【０１３８】
以降、情報圧縮装置３０１は、図４を参照しながら説明したような、ステップＳ２０５乃至ステップＳ２０７に示された処理と同様な処理を実行する。
【０１３９】
次に、第３の実施形態に係る情報圧縮装置３０１に関する効果について説明する。
【０１４０】
第３の実施形態に係る情報圧縮装置３０１によれば、符号化処理に必要な情報をより小さなサイズに圧縮することができる。情報圧縮装置３０１が当該効果を奏する理由は、第１の実施形態に係る情報圧縮装置１０１が当該効果を奏する理由と同様な理由である。
【０１４１】
さらに、第３の実施形態に係る情報圧縮装置３０１によれば、動画像符号化処理に要する時間を調整することができる。この理由は、情報圧縮装置３０１が量子化パラメータの値を設定し、設定した値に基づき量子化処理を実行するからである。この理由について詳細に説明する。
【０１４２】
量子化パラメータの値は、第１ブロック（または、第３ブロック）が非ゼロブロックであるか否かを判定する基準を表している。情報圧縮装置３０１は、転送データ量が多いと判定する場合に量子化パラメータの値をより大きな値に設定することによって、転送データ量を減らす。したがって、第３の実施形態に係る情報圧縮装置３０１によれば、転送データ量を調整することができるので、動画像符号化処理に要する時間を調整することができる。また、情報圧縮装置３０１によれば、より大きな値を量子化パラメータに設定する処理によって、転送データ量をより削減することができるので、より処理効率の高い動画像符号化処理を提供することができる。
【０１４３】
パラメータ判定部３０３が、非ゼロ直交変換ブロックの個数、及び、非ゼロ４×４ブロックの個数に基づき量子化パラメータの値を調整するので、量子化パラメータの値を調整する処理は処理量（演算量）が少ない。したがって、パラメータ判定部３０３を含む情報圧縮装置３０１によれば、少ない演算量による処理によって適切な量子化処理を実現でき、さらに、該量子化処理によってフレームを表す特徴量を算出することができる。したがって、情報圧縮装置３０１によれば、量子化パラメータの値が不適当であった場合、または、入力画像が非常に複雑である結果として転送データ量が極度に多い場合であっても、動画像符号化処理を安定的に実現することができる。
【０１４４】
また、動画像データに関するビットレートを維持する目的のために、動画像符号化装置においては、該動画像データにおける特定のフレームに関して転送データ量が極度に多い場合に、該特定のフレームと異なるフレームに関する転送データ量を減らす処理が実行されることもある。この場合に、該特定のフレームと異なるフレームに係る画質は低下する。情報圧縮装置３０１が量子化パラメータの値を適切に設定するので、発生符号量が極度に大きいフレームは生じない。したがって、情報圧縮装置３０１によれば、該特定のフレームと異なるフレームに係る画質が低下する状況は生じない。言い換えれば、第３の実施形態に係る情報圧縮装置３０１によれば、動画像データに関して安定した画質を提供することができる。
【０１４５】
上述した例においては、Ｈ．２６５方式に従って符号化処理を実行する例を参照しながら、情報圧縮装置３０１における処理、及び、動画像符号化装置における処理等について説明した。しかし、符号化方式は、Ｈ．２６５方式に限定されず、ＶＣ−１方式等の異なる符号化方式、国際標準の動画像符号化方式等に含まれていない符号化方式であってもよい。また、変換係数に関する処理は、上述した例に限定されず、たとえば、画素ブロックに関する変換係数の情報が階層的に管理される方式であってもよい。
【０１４６】
上述した例においては、ＤＣＴ等の直交変換処理を実行する動画像符号化方式の例を参照しながら、情報圧縮装置３０１における処理、及び、動画像符号化処理装置における処理等について説明した。しかし、情報圧縮装置３０１における処理、及び、動画像符号化装置は、Ｗａｖｅｌｅｔ変換等の変換方式に基づく符号化方式、または、予測誤差画像に対する変換処理を実行することなく量子化処理するような符号化方式等の場合であっても、上述した直交変換処理の場合と同様な処理を実行してもよい。
【０１４７】
上述した例においては、アクセラレータがＧＰＵである場合の例を参照しながら、情報圧縮装置３０１における処理、及び、動画像符号化装置における処理等について説明した。しかし、アクセラレータが、複数のＣＰＵ、ＰＣクラスタ、ＦＰＧＡ、専用ＬＳＩ回路等の装置であってもよく、この場合に、情報圧縮装置３０１は、アクセラレータがＧＰＵである場合に実行した処理と同様な処理を実行する。
【０１４８】
尚、ＬＳＩは、Ｌａｒｇｅ−Ｓｃａｌｅ＿Ｉｎｔｅｇｒａｔｉｏｎの略称を表す。ＰＣは、ｐｅｒｓｏｎａｌ＿ｃｏｍｐｕｔｅｒの略称を表す。
【０１４９】
（ハードウェア構成例）
上述した本発明の各実施形態における情報圧縮装置または符号化装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係る情報圧縮装置または符号化装置は、物理的または機能的に少なくとも２つの計算処理装置を用いて実現してもよい。また、係る情報圧縮装置または符号化装置は、専用の装置として実現してもよい。
【０１５０】
図１３は、第１の実施形態乃至第３の実施形態に係る情報圧縮装置または符号化装置を実現可能な計算処理装置のハードウェア構成例を概略的に示す図である。計算処理装置２２０は、中央処理演算装置（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ、以降「ＣＰＵ」と表す）２２１、メモリ２２２、ディスク２２３、不揮発性記録媒体２２４、通信インターフェース（以降、「通信ＩＦ」と表す）２２７、及び、ディスプレー２２８を有する。計算処理装置２２０は、入力装置２２５、出力装置２２６に接続可能であってもよい。計算処理装置２２０は、通信ＩＦ２２７を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
【０１５１】
不揮発性記録媒体２２４は、コンピュータが読み取り可能な、たとえば、コンパクトディスク（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ＿Ｖｅｒｓａｔｉｌｅ＿Ｄｉｓｃ）である。また、不揮発性記録媒体２２４は、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）、ソリッドステートドライブ（Ｓｏｌｉｄ＿Ｓｔａｔｅ＿Ｄｒｉｖｅ）等であってもよい。不揮発性記録媒体２２４は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体２２４は、上述した媒体に限定されない。また、不揮発性記録媒体２２４の代わりに、通信ＩＦ２２７、及び、通信ネットワークを介して、係るプログラムを持ち運びしてもよい。
【０１５２】
すなわち、ＣＰＵ２２１は、ディスク２２３に記憶されているソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２２にコピーし、演算処理を実行する。ＣＰＵ２２１は、プログラム実行に必要なデータをメモリ２２２から読み取る。表示が必要な場合には、ＣＰＵ２２１は、ディスプレー２２８に出力結果を表示する。外部への出力が必要な場合には、ＣＰＵ２２１は、出力装置２２６に出力結果を出力する。外部からプログラムを入力する場合、ＣＰＵ２２１は、入力装置２２５からプログラムを読み取る。ＣＰＵ２２１は、上述した図１、図３、または、図１１に示す各部が表す機能（処理）に対応するところのメモリ２２２にある情報圧縮プログラム（図２、図４、または、図１２）を解釈し実行する。ＣＰＵ２２１は、上述した本発明の各実施形態において説明した処理を順次実行する。
【０１５３】
すなわち、このような場合、本発明は、係る情報圧縮プログラム、または、符号化プログラムによっても成し得ると捉えることができる。さらに、係る情報圧縮プログラム、または、符号化プログラムが記録されたコンピュータが読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
【０１５４】
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０１５５】
この出願は、２０１５年１１月１１日に出願された日本出願特願２０１５−２２０９９０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１５６】
１０１    情報圧縮装置
１０２    個数算出部
１０３    位置算出部
１０４    情報作成部
１０５    情報格納部
２０１    動画像符号化装置
２０２    動き予測部
２０３    フィルタ部
２０４    フレームバッファ
２０５    減算変換部
２０６    量子化部
２０７    情報圧縮装置
２０８    逆量子化部
２０９    逆変換加算部
２１０    量子化制御部
２１１    符号化部
２１２    情報復元部
２１３    ＧＰＵ
２１４    ＣＰＵ
３０１    情報圧縮装置
３０２    個数算出部
３０３    パラメータ判定部
２２０    計算処理装置
２２１    ＣＰＵ
２２２    メモリ
２２３    ディスク
２２４    不揮発性記録媒体
２２５    入力装置
２２６    出力装置
２２７    通信ＩＦ
２２８    ディスプレー
５０１    動画像符号化装置
５０２    動き予測部
５０３    フィルタ部
５０４    フレームバッファ
５０５    量子化部
５０６    減算変換部
５０７    逆量子化部
５０８    逆変換加算部
５０９    量子化制御部
５１０    符号化部
５２１    ＧＰＵ
５２２    ＣＰＵ
５２３    ＧＰＵ
５２４    ＣＰＵ
５１１    情報圧縮装置
５１２    情報復元部
５２５    ＧＰＵ
５２６    ＣＰＵ
【図１】
2017082304.tif 000003
【図２】
2017082304.tif 000004
【図３】
2017082304.tif 000005
【図４】
2017082304.tif 000006
【図５】
2017082304.tif 000007
【図６】
2017082304.tif 000008
【図７】
2017082304.tif 000009
【図８】
2017082304.tif 000010
【図９】
2017082304.tif 000011
【図１０】
2017082304.tif 000012
【図１１】
2017082304.tif 000013
【図１２】
2017082304.tif 000014
【図１３】
2017082304.tif 000015
【図１４】
2017082304.tif 000016
【図１５】
2017082304.tif 000017
【図１６】
2017082304.tif 000018
【図１７】
2017082304.tif 000019
【図１８】
2017082304.tif 000020
【図１９】
2017082304.tif 000021
【図２０】
2017082304.tif 000022
【手続補正書】
【提出日】平成30年4月20日(2018.4.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象画像が第１サイズに分割された複数の第１ブロックにおける、前記対象画像を表す数値列に基づき、前記第１サイズ以上の第２サイズを有する第２ブロックに関して、前記第２ブロックに含まれている前記第１ブロックに関する前記数値列に含まれている数値が所定の値以上である前記第１ブロックの第１個数と、前記第１サイズ以下の第３サイズを有する第３ブロックに関して、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である第２個数とを算出する個数算出手段と、
算出した前記第２個数に基づき前記第３ブロックに関する前記数値列をメモリに格納する際の第２位置情報を算出し、算出した前記第１個数と前記第２個数とに基づき、前記第２ブロックに含まれている前記第１ブロックに関する第２情報であって、前記第１ブロックに含まれている前記第３ブロックに関する前記第２位置情報を少なくとも含んでいる前記第２情報を前記メモリに格納する際の第１位置情報を算出する位置算出手段と、
少なくとも前記第１位置情報を含む第１情報と、前記第２情報とを作成し、作成した前記第２情報を、前記メモリのうち前記第１位置情報が表す記憶領域に格納する情報作成手段と、
前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である前記第３ブロックに関する前記数値列を、前記メモリのうち前記第２位置情報が表す記憶領域に格納する情報格納手段と
を備える情報圧縮装置。
【請求項２】
前記情報作成手段は、前記第２ブロックにおける第１ブロックの位置を表す位置情報を作成し、作成した前記位置情報を含む前記第２情報を作成する
請求項１に記載の情報圧縮装置。
【請求項３】
前記情報作成手段は、前記第１ブロックのサイズを表すサイズ情報を作成し、作成した前記サイズ情報を含む前記第２情報を作成する
請求項１または請求項２に記載の情報圧縮装置。
【請求項４】
前記情報作成手段は、前記第１ブロックに関する前記数値列を、所定のスキャン順序に従いスキャンした場合に、値がゼロではない数値が最後に現れる位置を特定し、特定した位置を表す非ゼロ位置情報を作成し、作成した非ゼロ位置情報を含む前記第２情報を作成する
請求項１乃至請求項３のいずれかに記載の情報圧縮装置。
【請求項５】
前記情報作成手段は、前記第２ブロックにおいて前記所定のスキャン順序に従い、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上であるか否かを判定し、各前記第３ブロックに関して判定した結果を表すブロック情報を作成し、作成したブロック情報を含む前記第２情報を作成する
請求項１乃至請求項４のいずれかに記載の情報圧縮装置。
【請求項６】
前記第２個数が所定の個数よりも多いか否かを判定し、前記第２個数が前記所定の個数よりも多い場合には、前記所定の値として、より大きな値を設定するパラメータ判定手段
をさらに備え、
前記個数算出手段は、前記パラメータ判定手段が設定した前記所定の値に基づいて、前記第１個数と、前記第２個数とを算出する
請求項１乃至請求項５のいずれかに記載の情報圧縮装置。
【請求項７】
前記個数算出手段は、前記第２個数を算出する場合に、前記第１ブロックごとに、並列的に、または、擬似並列的に処理を実行する
請求項１乃至請求項６のいずれかに記載の情報圧縮装置。
【請求項８】
請求項１乃至請求項７のいずれかに記載の情報圧縮装置
を備える符号化装置。
【請求項９】
情報処理装置によって、対象画像が第１サイズに分割された複数の第１ブロックにおける、前記対象画像を表す数値列に基づき、前記第１サイズ以上の第２サイズを有する第２ブロックに関して、前記第２ブロックに含まれている前記第１ブロックに関する前記数値列に含まれている数値が所定の値以上である前記第１ブロックの第１個数と、前記第１サイズ以下の第３サイズを有する第３ブロックに関して、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である第２個数とを算出し、
算出した前記第２個数に基づき前記第３ブロックに関する前記数値列をメモリに格納する際の第２位置情報を算出し、算出した前記第１個数と前記第２個数とに基づき、前記第２ブロックに含まれている前記第１ブロックに関する第２情報であって、前記第１ブロックに含まれている前記第３ブロックに関する前記第２位置情報を少なくとも含んでいる前記第２情報を前記メモリに格納する際の第１位置情報を算出し、
少なくとも前記第１位置情報を含む第１情報と、前記第２情報とを作成し、作成した前記第２情報を、前記メモリのうち前記第１位置情報が表す記憶領域に格納し、
前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である前記第３ブロックに関する前記数値列を、前記メモリのうち前記第２位置情報が表す記憶領域に格納する情報圧縮方法。
【請求項１０】
対象画像が第１サイズに分割された複数の第１ブロックにおける、前記対象画像を表す数値列に基づき、前記第１サイズ以上の第２サイズを有する第２ブロックに関して、前記第２ブロックに含まれている前記第１ブロックに関する前記数値列に含まれている数値が所定の値以上である前記第１ブロックの第１個数と、前記第１サイズ以下の第３サイズを有する第３ブロックに関して、前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である第２個数とを算出する個数算出機能と、
算出した前記第２個数に基づき前記第３ブロックに関する前記数値列をメモリに格納する際の第２位置情報を算出し、算出した前記第１個数と前記第２個数とに基づき、前記第２ブロックに含まれている前記第１ブロックに関する第２情報であって、前記第１ブロックに含まれている前記第３ブロックに関する前記第２位置情報を少なくとも含んでいる前記第２情報を前記メモリに格納する際の第１位置情報を算出する位置算出機能と、
少なくとも前記第１位置情報を含む第１情報と、前記第２情報とを作成し、作成した前記第２情報を、前記メモリのうち前記第１位置情報が表す記憶領域に格納する情報作成機能と、
前記第３ブロックに関する前記数値列に含まれている数値が前記所定の値以上である前記第３ブロックに関する前記数値列を、前記メモリのうち前記第２位置情報が表す記憶領域に格納する情報格納機能と
をコンピュータに実現させる情報圧縮プログラム。
【国際調査報告】
2017082304.tif 000023
2017082304.tif 000024
2017082304.tif 000025
2017082304.tif 000026