(57)【特許請求の範囲】
【請求項１】
ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、
それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、
前記複数のブロックのうちの１つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、
特定された符号量が閾値以上か否かを判定し、
前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、上限ブロック数以上であるか否かを判定し、
前記符号化済みのブロックの数が前記上限ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
前記終端情報によって終端が示された前記スライスセグメントに含まれる符号化済みのブロックの数であるスライスセグメントブロック数に応じて、前記上限ブロック数を更新する、
画像符号化方法。
【請求項２】
前記スライスセグメントは、前記ピクチャに含まれるスライスを構成する、独立スライスセグメントと、前記独立スライスセグメントに従属する少なくとも１つの従属スライスセグメントとのうち何れか１つのスライスセグメントである
請求項１に記載の画像符号化方法。
【請求項３】
前記閾値は、前記ビットストリームのネットワーク伝送に用いられるパケットサイズ以下の数値である
請求項１または２に記載の画像符号化方法。
【請求項４】
前記画像符号化方法では、さらに、
前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、予め定められた最小ブロック数以上であるか否かを判定し、
特定された前記符号量の判定では、
前記符号化済みのブロックの数が前記最小ブロック数以上であると判定された場合に、特定された前記符号量が閾値以上か否かを判定する
請求項１〜３の何れか１項に記載の画像符号化方法。
【請求項５】
前記複数のブロックの符号化は、２値化および算術符号化を含み、
前記スライスセグメントの符号量の特定では、
前記２値化が行われて前記算術符号化が行われる前の前記対象ブロックの２値化データのデータ量を用いて、前記スライスセグメントの符号量を特定する
請求項１〜４の何れか１項に記載の画像符号化方法。
【請求項６】
前記スライスセグメントの符号量の特定では、
前記２値化データのデータ量から、算術符号化された前記対象ブロックの符号量を推定し、推定された前記対象ブロックの符号量を用いて、前記スライスセグメントの符号量を特定する
請求項５に記載の画像符号化方法。
【請求項７】
前記画像符号化方法では、さらに、
予め定められた数である規定ブロック数を、前記上限ブロック数の初期値として設定し、
前記上限ブロック数の更新では、
更新前の上限ブロック数から前記スライスセグメントブロック数を減算することによって得られる値に、前記規定ブロック数を加算することによって、前記上限ブロック数を更新する
請求項１〜６の何れか１項に記載の画像符号化方法。
【請求項８】
前記画像符号化方法では、さらに、
前記ピクチャから得られるスライスセグメントの予め定められた数である規定スライス数に基づいて、前記上限ブロック数の初期値を設定し、
前記上限ブロック数の更新では、
更新前の上限ブロック数から前記スライスセグメントブロック数を減算することによって得られる値に、予め定められた最小ブロック数を加算することによって、前記上限ブロック数を更新し、
前記初期値は、
前記ピクチャに含まれる全てのブロックから、前記最小ブロック数のブロックを、前記規定スライス数よりも１つ少ない数のスライスセグメントのそれぞれに割り当てた場合に、前記ピクチャに含まれる残りのブロックの数である
請求項１〜６の何れか１項に記載の画像符号化方法。
【請求項９】
ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、
それぞれ前記ピクチャを構成する複数のブロックを符号化し、
前記複数のブロックに含まれる対象ブロックを含むスライスセグメントの符号量を特定し、
特定された符号量が閾値以上か否かを判定し、
前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、上限ブロック数以上であるか否かを判定し、
前記符号化済みのブロックの数が前記上限ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
前記終端情報によって終端が示された前記スライスセグメントに含まれる符号化済みのブロックの数であるスライスセグメントブロック数に応じて、前記上限ブロック数を更新する、
画像符号化方法。
【請求項１０】
ピクチャを符号化することによって生成されたビットストリームを伝送する伝送方法であって、
それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、
前記複数のブロックのうちの１つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、
特定された符号量が閾値以上か否かを判定し、
前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、上限ブロック数以上であるか否かを判定し、
前記符号化済みのブロックの数が前記上限ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
前記終端情報によって終端が示された前記スライスセグメントに含まれる符号化済みのブロックの数であるスライスセグメントブロック数に応じて、前記上限ブロック数を更新し、
前記終端情報を含む前記スライスセグメントをパケットに格納して伝送する
伝送方法。
【請求項１１】
ピクチャを符号化することによってビットストリームを生成する画像符号化装置であって、
それぞれ前記ピクチャを構成する複数のブロックを順次符号化する符号化処理部と、
前記複数のブロックのうちの１つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定する符号量特定部と、
特定された符号量が閾値以上か否かを判定する判定部と、
前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定する終端設定部とを備え、
前記終端設定部は、
特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、上限ブロック数以上であるか否かを判定し、
前記符号化済みのブロックの数が前記上限ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
前記終端情報によって終端が示された前記スライスセグメントに含まれる符号化済みのブロックの数であるスライスセグメントブロック数に応じて、前記上限ブロック数を更新する、
画像符号化装置。
【請求項１２】
処理回路と、前記処理回路からアクセス可能な記憶装置とを備え、ピクチャを符号化することによってビットストリームを生成する画像符号化装置であって、
前記処理回路は、前記記憶装置を用いて、
それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、
前記複数のブロックのうちの１つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、
特定された符号量が閾値以上か否かを判定し、
前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、上限ブロック数以上であるか否かを判定し、
前記符号化済みのブロックの数が前記上限ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
前記終端情報によって終端が示された前記スライスセグメントに含まれる符号化済みのブロックの数であるスライスセグメントブロック数に応じて、前記上限ブロック数を更新する、
画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ピクチャを符号化することによってビットストリームを生成する画像符号化方法および画像符号化装置、ならびに生成されたビットストリームを伝送する伝送方法に関する。
【背景技術】
【０００２】
現在、新しい画像符号化規格としてＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）方式（非特許文献１参照）が提供されている。この規格では、ピクチャを複数のスライスに分割して符号化し、その符号化されたピクチャを復号する画像符号化方法および画像復号方法などが規定されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】大久保栄ら著，「Ｈ．２６５／ＨＥＶＣ教科書」，インプレスジャパン，２０１３年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１の画像符号化方法では、符号化によって生成されるビットストリームの伝送効率を向上させようとすれば、符号化の処理性能が低下してしまうという問題がある。【０００５】
そこで、本開示は、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができる画像符号化方法などを提供する。
【課題を解決するための手段】
【０００６】
本開示の一態様に係る画像符号化方法は、ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、前記複数のブロックのうちの１つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定し、前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定する。【０００７】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本開示の画像符号化方法では、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】図１Ａは、ピクチャを構成する複数のスライスの一例を示す図である。
【図１Ｂ】図１Ｂは、スライスによるエラー耐性を説明するための図である。
【図２Ａ】図２Ａは、各スライスのネットワーク伝送を説明するための図である。
【図２Ｂ】図２Ｂは、ピクチャを符号量に応じて複数のスライスに分割する例を示す図である。
【図３Ａ】図３Ａは、パイプライン処理を説明するための各ブロックの符号化順を示す図である。
【図３Ｂ】図３Ｂは、パイプライン処理を説明するための図である。
【図４】図４は、パイプライン処理が適切に行われない状態の一例を示す図である。
【図５】図５は、実施の形態１における画像符号化装置の構成を示すブロック図である。
【図６】図６は、実施の形態１におけるエントロピー符号化部の構成の一例を示すブロック図である。
【図７】図７は、実施の形態１における画像符号化装置によって符号化されたピクチャに含まれる複数のスライスセグメントの一例を示す図である。
【図８】図８は、実施の形態１におけるエントロピー符号化部の処理動作の一例を示すフローチャートである。
【図９】図９は、実施の形態１の変形例に係るエントロピー符号化部の構成の一例を示すブロック図である。
【図１０】図１０は、実施の形態１の画像符号化装置によって符号化されて送信されるピクチャの伝送時間の一例を示す図である。
【図１１】図１１は、実施の形態２の画像符号化装置におけるピクチャの分割例を、実施の形態１と比較して示す図である。
【図１２】図１２は、実施の形態２における画像符号化装置のエントロピー符号化部の処理動作の一例を示すフローチャートである。
【図１３】図１３は、実施の形態３の画像符号化装置によって符号化されて送信されるピクチャの伝送時間の一例を示す図である。
【図１４】図１４は、実施の形態３における画像符号化装置が上限ＣＴＵ数を更新する一例を示す図である。
【図１５】図１５は、実施の形態３における画像符号化装置のエントロピー符号化部の処理動作の一例を示すフローチャートである。
【図１６】図１６は、ＴＣＰ通信開始時のハンドシェイクによってＭＴＵ値を取得する例を示す図である。
【図１７】図１７は、経路ＭＴＵ探索によってＭＴＵを取得する例を示す図である。
【図１８】図１８は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。
【図１９】図１９は、スケーラブル符号化時の符号化構造の一例を示す図である。
【図２０】図２０は、スケーラブル符号化時の符号化構造の一例を示す図である。
【図２１】図２１は、ｗｅｂページの表示画面例を示す図である。
【図２２】図２２は、ｗｅｂページの表示画面例を示す図である。
【図２３】図２３は、スマートフォンの一例を示す図である。
【図２４】図２４は、スマートフォンの構成例を示すブロック図である。
【発明を実施するための形態】
【００１０】
（本開示の基礎となった知見）
本開示者は、「背景技術」の欄において記載した非特許文献１に関する画像符号化方法において、以下の問題が生じることを見出した。
【００１１】
図１Ａは、ピクチャを構成する複数のスライスの一例を示す図である。
【００１２】
ピクチャは、図１Ａに示すように、例えば複数のスライスから構成される。これらのスライスが符号化されるときには、スライス境界をまたいだ予測などは行われない。すなわち、符号化の対象とされるスライス（以下、対象スライスという）に対して、その対象スライス以外のスライスを用いたイントラ予測または予測動きベクトルの算出は行われない。したがって、画像復号装置は、符号化された各スライスをそれぞれ独立に復号することができる。つまり、画像復号装置は、それらの符号化された複数のスライスを並列に復号することができる。
【００１３】
図１Ｂは、スライスによるエラー耐性を説明するための図である。
【００１４】
上述のように、符号化された各スライスは独立に復号することができるため、画像復号装置は、図１Ｂに示すように、何れかのスライスが欠落しても、他のスライスを復号することができる。例えば、画像復号装置がピクチャに含まれるスライス１を復号した後に、次のスライス２の伝送エラーが生じする。このとき、画像復号装置は、そのスライス２を復号することはできないが、スライス２に続くスライス３以降のスライスを適切に復号することができる。
【００１５】
図２Ａは、各スライスのネットワーク伝送を説明するための図である。
【００１６】
例えば、図２Ａに示すように、ピクチャは複数のラインに分割される。その複数のラインのそれぞれはスライスとして構成される。なお、ラインは、ピクチャの水平方向に沿って一列に配列される複数のブロック（具体的にはＣＴＵ：Coding Tree Unit）からなる。
【００１７】
上述のような複数のスライスをネットワーク伝送する場合、大きな符号量を有するスライスはパケットサイズに合わせて分割される。すなわち、ＭＴＵ（Maximum Transmission Unit）値を超える符号量のスライスは、それぞれＭＴＵ値以下の符号量を有する複数のセグメントに分割される。そして、その複数のセグメントのそれぞれがパケットに格納されて伝送される。なお、イーサネット（登録商標）の場合には、ＭＴＵ値は１５００バイトである。
【００１８】
しかし、このようにスライスを分割する場合には、図２Ａに示すように、１つのパケットに無駄が生じることがある。例えば、互いに異なる２のスライスのそれぞれのセグメントを１つのパケットに格納すると、その１つのパケットが欠落してしまえば、２つのスライスを復号することができなくなる。したがって、１つのパケットには、互いに異なる２のスライスのそれぞれのセグメントを１つのパケットに格納することはできない。そのため、セグメントの符号量が少なければ、そのセグメントを格納するパケットでは空き容量が大きくなり、その空き容量が無駄になってしまう。
【００１９】
そこで、ピクチャを符号量に応じて複数のスライスに分割することが考えられる。
【００２０】
図２Ｂは、ピクチャを符号量に応じて複数のスライスに分割する例を示す図である。
【００２１】
例えば、図２Ｂに示すように、ピクチャを、それぞれＭＴＵ値と同じ符号量の複数のスライスに分割すれば、パケットの容量を有効に利用することができ、無駄の発生を抑えつつ、各スライスをパケットに格納して伝送することができる。
【００２２】
しかし、ピクチャを符号量に応じて複数のスライスに分割すれば、伝送の無駄を抑えることができるが、符号化の処理性能が低下してしまうという問題がある。
【００２３】
図３Ａおよび図３Ｂは、パイプライン処理を説明するための図である。
【００２４】
例えば、図３Ａに示すように、ピクチャに含まれる各ブロック（具体的にはＣＴＵ）は、例えばラスタースキャン順に符号化される。つまり、ブロックＢｋ１、Ｂｋ２、Ｂｋ３、Ｂｋ４、Ｂｋ５の順にそれらのブロックが符号化される。
【００２５】
また、この符号化は、図３Ｂに示すように、動き探索、予測（イントラ予測またはインター予測）、直交変換および量子化、ならびにエントロピー符号化を含む。つまり、各ブロックに対しては、動き探索が行われ、次に、予測が行われ、次に、直交変換および量子化が行われ、その後にエントロピー符号化が行われる。パイプライン処理では、ブロックＢｋ１に対して動き探索が行われ、予測が行われるときに、次のブロックＢｋ２に対して動き探索が行われる。そして、ブロックＢｋ１に対して直交変換および量子化が行われるときに、次のブロックＢｋ２に対して予測が行われ、かつ、その次のブロックＢｋ３に対して動き探索が行われる。このようなパイプライン処理によって、符号化の処理性能を向上することができる。
【００２６】
しかし、図２Ｂに示すように、ピクチャを符号量に応じて複数のスライスに分割する場合には、上述のパイプライン処理を適切に行うことができず、処理性能が低下してしまうことがある。
【００２７】
図４は、パイプライン処理が適切に行われない状態の一例を示す図である。
【００２８】
ピクチャを符号量に応じて複数のスライスに分割するためには、スライスの符号量をＭＴＵ値以下にする必要があり、そのスライスの符号量は、そのスライスに含まれる各ブロックの符号量の積算値に相当する。ブロックの符号量は、パイプライン処理の最後段にあるエントロピー符号化によって確定する。したがって、例えば、ブロックＢｋ１のエントロピー符号化が行われて、そのブロックＢｋ１の符号量が確定し、その結果、ブロックＢｋ１を含むスライスの符号量がＭＴＵ値に達することがある。このときには、そのブロックＢｋ１を含むスライスには、ブロックＢｋ１の次のブロックＢｋ２は含まれず、ブロックＢｋ２は、次のスライスに含まれることなる。ここで、互いに異なるスライスでは、動き探索および予測などの処理が異なる。したがって、次のスライスに含まれるブロックＢｋ２に対しては、ブロックＢｋ１のスライスとは異なる動き探索および予測などの処理を行う必要がある。しかし、パイプライン処理では、既に、ブロックＢｋ２に対して、ブロックＢｋ１のスライスと同様の処理が行われている。その結果、ブロックＢｋ２の符号化を動き探索からやり直さなければならない。これにより、パイプライン処理における無駄な処理（いわゆるパイプラインバブル）が発生する。したがって、符号化の遅延および処理負担の増加が生じ、処理性能が低下してしまうという問題が生じる。
【００２９】
このような問題を解決するために、本開示の一態様に係る画像符号化装置は、ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、前記複数のブロックのうちの１つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定し、前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定する。例えば、前記スライスセグメントは、前記ピクチャに含まれるスライスを構成する、独立スライスセグメントと、前記独立スライスセグメントに従属する少なくとも１つの従属スライスセグメントとのうち何れか１つのスライスセグメントである。また、例えば、前記閾値は、前記ビットストリームのネットワーク伝送に用いられるパケットサイズ以下の数値である。また、ブロックは例えばＣＴＵである。
【００３０】
これにより、ブロックが符号化されるごとに、スライスセグメントの符号量が特定され、その符号量が閾値以上である場合にスライスセグメントの終端が設定されるため、ピクチャをそれぞれ目的とする符号量の複数のスライスセグメントに分割することができる。つまり、１つのパケットの空き容量を抑えてそのパケットに１つのスライスセグメントを格納することができる。その結果、パケットの空き容量の無駄を抑えることができ、ネットワーク伝送の伝送効率を向上することができる。
【００３１】
さらに、これらの複数のスライスセグメントのそれぞれは、独立スライスセグメントおよび従属スライスセグメントのうちの一方であり、１つのスライスセグメントの符号化に、他のスライスセグメントを参照することができる。したがって、ブロックの符号化によって特定されるスライスセグメントの符号量に応じて、そのブロックがスライスセグメントの最後のブロックになるか否かに関わらず、他のスライスセグメントを参照して次のブロックの符号化を開始することができる。したがって、動き探索、予測、直交変換および量子化、エントロピー符号化の順に行われる一連の符号化のパイプライン処理において、スライスセグメントに含まれる最後のブロックが符号化された後に、他のスライスセグメントを参照して既に行われた次のブロックに対する動き探索などの処理のやり直しを防ぐことができる。その結果、符号化の処理性能の低下を抑えることができる。
【００３２】
また、前記画像符号化方法では、さらに、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、予め定められた最小ブロック数以上であるか否かを判定し、特定された前記符号量の判定では、前記符号化済みのブロックの数が前記最小ブロック数以上であると判定された場合に、特定された前記符号量が閾値以上か否かを判定してもよい。
【００３３】
これにより、スライスセグメントに含まれる符号化済みのブロックの数が最小ブロック数未満の場合には、スライスセグメントの終端が設定されないため、そのスライスセグメントに含まれるブロックの数を最小ブロック数以上にすることができる。これにより、例えばＨＥＶＣ規格に準じた数以下のスライスセグメントを生成することができる。
【００３４】
また、前記画像符号化方法では、さらに、特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、予め定められた最大ブロック数以上であるか否かを判定し、前記符号化済みのブロックの数が前記最大ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定してもよい。
【００３５】
これにより、スライスセグメントの符号量が閾値未満であっても、そのスライスセグメントに含まれるブロックの数が最大ブロック数以上であれば、スライスセグメントの終端が設定される。したがって、スライスセグメントに含まれるブロックの数は最大ブロック数以下に制限されるため、ピクチャを最適な数以上のスライスセグメントに分割することができる。最適な数は例えば４である。したがって、画像復号装置では、その４つのスライスセグメントに対する復号を並列に行うことができる。
【００３６】
また、前記複数のブロックの符号化は、２値化および算術符号化を含み、前記スライスセグメントの符号量の特定では、前記２値化が行われて前記算術符号化が行われる前の前記対象ブロックの２値化データのデータ量を用いて、前記スライスセグメントの符号量を特定してもよい。例えば、前記スライスセグメントの符号量の特定では、前記２値化データのデータ量から、算術符号化された前記対象ブロックの符号量を推定し、推定された前記対象ブロックの符号量を用いて、前記スライスセグメントの符号量を特定してもよい。
【００３７】
これにより、対象ブロックに対する算術符号化が完了する前に、その対象ブロックのデータ量を用いてスライスセグメントの符号量を特定することができる。したがって、符号化の処理を高速化することができる。また、比較的処理時間が長い算術符号化をパイプライン処理から外すことができる。
【００３８】
また、前記画像符号化方法では、さらに、特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、上限ブロック数以上であるか否かを判定し、前記符号化済みのブロックの数が前記上限ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、前記終端情報によって終端が示された前記スライスセグメントに含まれる符号化済みのブロックの数であるスライスセグメントブロック数に応じて、前記上限ブロック数を更新してもよい。例えば、前記画像符号化方法では、さらに、予め定められた数である規定ブロック数を、前記上限ブロック数の初期値として設定し、前記上限ブロック数の更新では、更新前の上限ブロック数から前記スライスセグメントブロック数を減算することによって得られる値に、前記規定ブロック数を加算することによって、前記上限ブロック数を更新してもよい。
【００３９】
これにより、終端情報によって終端が示されたスライスセグメントのスライスセグメントブロック数が少なければ、上限ブロック数の更新によって、その上限ブロック数を増加することができる。したがって、その後、終端情報の設定によって新たに生成されるスライスセグメントのスライスセグメントブロック数が多くなる可能性を高めることができ、符号化されたピクチャに含まれるスライスセグメントの数を少なくすることができる。その結果、符号化されたピクチャをスライスセグメントごとに送信する場合には、スライスセグメントの数が多いためにそのピクチャの送信にかかる時間が長くなってしまうことを抑制することができる。
【００４０】
また、前記画像符号化方法では、さらに、前記ピクチャから得られるスライスセグメントの予め定められた数である規定スライス数に基づいて、前記上限ブロック数の初期値を設定し、前記上限ブロック数の更新では、更新前の上限ブロック数から前記スライスセグメントブロック数を減算することによって得られる値に、予め定められた最小ブロック数を加算することによって、前記上限ブロック数を更新し、前記初期値は、前記ピクチャに含まれる全てのブロックから、前記最小ブロック数のブロックを、前記規定スライス数よりも１つ少ない数のスライスセグメントのそれぞれに割り当てた場合に、前記ピクチャに含まれる残りのブロックの数であってもよい。
【００４１】
これにより、複数のスライスセグメントが終端情報の設定によって順に生成される場合には、上限ブロック数の初期値および更新によって、その生成順が前にあるスライスセグメントほど、スライスセグメントブロック数が多くなる可能性を高めることができる。
【００４２】
例えば、ピクチャに含まれる複数のスライスセグメントは、ピクチャ内の上に配置されているスライスセグメントから順に生成される。また、風景画などのピクチャでは、そのピクチャの上の領域には空が映し出されている場合が多い。したがって、空が映し出されているような単調な画像の領域では、各ブロックの符号量は少ないため、その領域にある生成順が前のスライスセグメントのスライスセグメントブロック数を多くすることができる。これにより、符号化されたピクチャに含まれるスライスセグメントの数を少なくすることができる。その結果、符号化されたピクチャをスライスセグメントごとに送信する場合には、スライスセグメントの数が多いためにそのピクチャの送信にかかる時間が長くなってしまうことを抑制することができる。
【００４３】
また、本開示の一態様に係る伝送方法は、ピクチャを符号化することによって生成されたビットストリームを伝送する伝送方法であって、それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、前記複数のブロックのうちの１つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定し、前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、前記終端情報を含む前記スライスセグメントをパケットに格納して伝送する。
【００４４】
これにより、上述と同様に、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができる。
【００４５】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００４６】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００４７】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００４８】
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
【００４９】
（実施の形態１）
図５は、本実施の形態における画像符号化装置の構成を示すブロック図である。
【００５０】
本実施の形態における画像符号化装置１００は、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができる装置である。このような画像符号化装置１００は、減算器１０１と、直交変換部１０２と、量子化部１０３と、エントロピー符号化部１０４と、逆量子化部１０５と、逆直交変換部１０６と、加算器１０７と、デブロッキングフィルタ１０８と、メモリ１０９と、面内予測部１１０と、インター予測部１１１と、動き検出部１１２と、スイッチ１１３とを備える。
【００５１】
減算器１０１は、複数のピクチャを含む動画像信号を取得するとともに、スイッチ１１３から予測画像を取得する。そして、減算器１０１は、その動画像信号に含まれるピクチャのうちの符号化の対象とされるブロック（以下、対象ブロックという）から予測画像を減算することによって差分画像を生成する。ブロックは、例えばＣＴＵ（Coding Tree Unit）、ＣＵ（Coding Unit）、ＰＵ（Prediction Unit）またはＴＵ（Transform Unit）に相当する。
【００５２】
直交変換部１０２は、減算器１０１によって生成された差分画像に対して、例えば離散コサイン変換などの直交変換（周波数変換）を行うことによって、その差分画像を複数の周波数係数からなる係数列に変換する。量子化部１０３は、その係数列に含まれる各周波数係数を量子化することによって、量子化された係数列を生成する。
【００５３】
逆量子化部１０５は、量子化部１０３によって量子化された係数列を逆量子化する。逆直交変換部１０６は、その逆量子化された係数列に含まれる各周波数係数に対して逆離散コサイン変換などの逆直交変換（逆周波数変換）を行うことによって、復号差分画像を生成する。
【００５４】
加算器１０７は、スイッチ１１３から予測画像を取得し、その予測画像と、逆直交変換部１０６によって生成された復号差分画像とを加算することによって局所復号画像（再構成画像）を生成する。
【００５５】
デブロッキングフィルタ１０８は、加算器１０７によって生成された局所復号画像のブロック歪みを除去し、その局所復号画像をメモリ１０９に格納する。メモリ１０９は、インター予測の際の参照画像として局所復号画像を格納するためのメモリである。なお、このメモリ１０９は復号ピクチャバッファ（ＤＰＢ）として用いられる。
【００５６】
面内予測部１１０は、加算器１０７によって生成された局所復号画像を用いて、対象ブロックに対してイントラ予測を行うことによって予測画像（イントラ予測画像）を生成する。
【００５７】
動き検出部１１２は、動画像信号に含まれる対象ブロックに対して動きベクトルを検出し、その検出された動きベクトルをインター予測部１１１とエントロピー符号化部１０４とに出力する。
【００５８】
インター予測部１１１は、メモリ１０９に格納されている画像を参照画像として参照するとともに、動き検出部１１２によって検出された動きベクトルを用いることによって、対象ブロックに対して動き補償を行う。インター予測部１１１は、このような動き補償を行うことによって、つまり対象ブロックに対してインター予測を行うことによって、対象ブロックの予測画像（インター予測画像）を生成する。
【００５９】
スイッチ１１３は、対象ブロックがイントラ予測符号化される場合には、面内予測部１１０によって生成された予測画像（イントラ予測画像）を減算器１０１及び加算器１０７に出力する。一方、スイッチ１１３は、対象ブロックがインター予測符号化される場合には、インター予測部１１１によって生成された予測画像（インター予測画像）を減算器１０１及び加算器１０７に出力する。
【００６０】
エントロピー符号化部１０４は、量子化部１０３によって量子化された係数列と、動き検出部１１２によって検出された動きベクトルとを、エントロピー符号化（可変長符号化）することによってビットストリームを生成する。また、本実施の形態では、エントロピー符号化部１０４は、ピクチャを複数のスライスセグメントに分割する。
【００６１】
図６は、本実施の形態におけるエントロピー符号化部１０４の構成の一例を示すブロック図である。
【００６２】
エントロピー符号化部１０４は、符号化処理部１１と、符号量特定部１２と、判定部１３と、終端設定部１４とを備える。
【００６３】
符号化処理部１１は、ピクチャを構成する複数のブロックを順次エントロピー符号化する。なお、このエントロピー符号化されるブロックは、直交変換および量子化されたブロックであって、上述の係数列として構成されている。なお、以下では、ブロックをＣＴＵとして説明する。
【００６４】
符号量特定部１２は、その複数のＣＴＵのうちの１つのＣＴＵである対象ＣＴＵがエントロピー符号化されるごとに、その対象ＣＴＵを含むスライスセグメントの符号量を特定する。
【００６５】
判定部１３は、特定された符号量が閾値以上か否かを判定する。閾値は、ビットストリームのネットワーク伝送に用いられるパケットサイズ（具体的にはＭＴＵ値）以下の数値である。
【００６６】
終端設定部１４は、閾値以上と判定された場合に、そのビットストリームにおけるエントロピー符号化された対象ＣＴＵに対応する位置に、そのスライスセグメントの終端を示す終端情報（例えば、ｅｎｄ＿ｏｆ＿ｓｌｉｃｅ＿ｓｅｇｍｅｎｔ＿ｆｌａｇ＝１）を設定する。なお、ビットストリームにおけるエントロピー符号化された対象ＣＴＵに対応する位置は、その対象ＣＴＵの直後であってもよく、その対象ＣＴＵの直前であってもよく、その対象ＣＴＵの次のＣＴＵの直後であってもよい。
【００６７】
これにより、スライスセグメントの終端（すなわち境界）が設定される。つまり、ビットストリームに含まれる符号化されたピクチャは、ＭＴＵ値以下であって、そのＭＴＵ値に近い符号量の複数のスライスセグメントに分割することができる。つまり、１つのパケットの空き容量を抑えてそのパケットに１つのスライスセグメントを格納することができる。その結果、パケットの空き容量の無駄を抑えることができ、ネットワーク伝送の伝送効率を向上することができる。
【００６８】
図７は、本実施の形態における画像符号化装置１００によって符号化されたピクチャに含まれる複数のスライスセグメントの一例を示す図である。
【００６９】
符号化されたピクチャは、図７に示すように、複数のスライスセグメントに分割される。また、複数のスライスセグメントを含むセットはスライスに相当する。言い換えれば、スライスが、複数のスライスセグメントに分割される。このような分割を、従属スライス分割ともいう。また、その複数のスライスセグメントのそれぞれは、ピクチャに含まれるスライスを構成する、独立スライスセグメントと、その独立スライスセグメントに従属する少なくとも１つの従属スライスセグメントとのうち何れか１つのスライスセグメントである。例えば、図７に示すように、ピクチャは、ピクチャの先頭（左上端）に配置される独立スライスセグメント１と、その独立スライスセグメント１に従属する従属スライスセグメント１ａ、１ｂ、１ｃ・・・とを含む。
【００７０】
独立スライスセグメントおよび従属スライスセグメントは、上記非特許文献１の独立スライス・データおよび従属スライス・データに相当する。具体的には、独立スライスセグメントおよび従属スライスセグメントは、それぞれ以下の特徴を有する。
【００７１】
独立スライスセグメントおよび従属スライスセグメントは、それぞれスライスヘッダを有する。したがって、これらのスライスセグメントはＮＡＬユニットを構成する。しかし、従属スライスセグメントのスライスヘッダに含まれるシンタックス情報は、独立スライスセグメントのスライスヘッダに含まれるシンタックス情報よりも少ない。したがって、従属スライスセグメントの復号には、独立スライスセグメントのスライスヘッダに含まれる大部分のシンタックス情報がコピーされて用いられる。これにより、画像復号装置は、従属スライスセグメントだけでは、その従属スライスセグメントを復号することができず、上述のように、独立スライスセグメントのスライスヘッダを必要とする。
【００７２】
また、独立スライスセグメントとそれに従属する少なくとも１つの従属スライスセグメントからなるピクチャ内では、ＣＴＵのイントラ予測および予測動きベクトルの算出に、他のＣＴＵの情報を参照することができる。つまり、このピクチャ内では、互いに異なる複数のスライスセグメントでも、そのスライスセグメントで行われる動き探索および予測などの処理は同じである。言い換えれば、スライスの境界と異なり、画像符号化装置１００は、従属スライスセグメントに対するイントラ予測および予測動きベクトルの算出では、その従属スライスセグメントの境界をまたいだ参照が可能である。したがって、このピクチャ内では、参照関係が途切れないため、符号化効率の低下を防ぐことができる。
【００７３】
つまり、図３Ｂに示すように、ブロックＢｋ１のエントロピー符号化によって、そのブロックＢｋ１を含むスライスセグメントの終端が設定されるか否かに関わらず、次のブロックＢｋ２の符号化を他のスライスセグメントを参照しながら開始することができる。つまり、動き探索、予測、直交変換および量子化、エントロピー符号化の順に行われる一連の符号化のパイプライン処理において、スライスセグメントに含まれる最後のブロックＢｋ１が符号化された後に、他のスライスセグメントを参照して既に行われた次のブロックＢｋ２に対する動き探索などの処理のやり直しを防ぐことができる。すなわち、図４に示すパイプラインバブルの発生を抑えることができる。その結果、符号化の処理性能の低下を抑えることができる。
【００７４】
図８は、本実施の形態におけるエントロピー符号化部１０４の処理動作の一例を示すフローチャートである。
【００７５】
エントロピー符号化部１０４は、図８に示すステップＳ１１〜Ｓ１６の各処理を、ピクチャに含まれる複数のＣＴＵのそれぞれに対して順に実施する。複数のＣＴＵは、例えばピクチャに含まれる１番目〜Ｎｍａｘ番目までの全てのＣＴＵであって、それらのＣＴＵが対象ＣＴＵとして順に処理される。なお、以下、ｎ番目の対象ＣＴＵをＣＴＵｎとして示す。
【００７６】
まず、符号化処理部１１は、係数列からなる対象ＣＴＵｎをエントロピー符号化する（ステップＳ１１）。次に、判定部１３は、対象スライスセグメントに含まれる既にエントロピー符号化されたＣＴＵの数であるＣＴＵ数が最小ＣＴＵ数以上であるか否かを判定する（ステップＳ１２）。なお、対象スライスセグメントは、ステップＳ１１でエントロピー符号化された対象ＣＴＵｎを含むスライスセグメントである。つまり、このステップＳ１２の処理において判定されるＣＴＵ数には、直前のステップＳ１１においてエントロピー符号化された対象ＣＴＵｎの数（すなわち１）が含まれている。
【００７７】
ここで、判定部１３によってＣＴＵ数が最小ＣＴＵ数以上でないと判定されると（ステップＳ１２のＮｏ）、エントロピー符号化部１０４は、ステップＳ１１からの処理を繰り返し実行する。この処理が繰り返されるときには、ｎ番目の次の（ｎ＋１）番目のＣＴＵが対象ＣＴＵとして処理される。なお、ｎ番目がＮｍａｘ番目である場合には、エントロピー符号化部１０４は、ステップＳ１１からの処理を繰り返すことなく、ピクチャに対するエントロピー符号化を終了する。
【００７８】
一方、判定部１３によってＣＴＵ数が最小ＣＴＵ数以上であると判定すると（ステップＳ１２のＹｅｓ）、符号量特定部１２は、対象スライスセグメントの符号量を特定する（ステップＳ１３）。例えば、符号量特定部１２は、その対象スライスセグメントのうち、最近のステップＳ１１よりも前に既にエントロピー符号化された部分があれば、その部分の符号量に、最近のステップＳ１１にてエントロピー符号化された対象ＣＴＵｎの符号量を加算する。これにより、対象スライスセグメントの符号量が特定される。
【００７９】
そして、判定部１３は、ステップＳ１３で特定された対象スライスセグメントの符号量が閾値以上であるか否かを判定する（ステップＳ１４）。ここで、対象スライスセグメントの符号量が閾値以上でないと判定されると（ステップＳ１４のＮｏ）、判定部１３は、さらに、対象スライスセグメントのＣＴＵ数が最大ＣＴＵ数以上であるか否かを判定する（ステップＳ１５）。
【００８０】
ここで、ＣＴＵ数が最大ＣＴＵ数以上でないと判定されると（ステップＳ１５のＮｏ）、エントロピー符号化部１０４は、ステップＳ１１からの処理を繰り返し実行する。
【００８１】
また、ステップＳ１４において、対象スライスセグメントの符号量が閾値以上であると判定された場合には（ステップＳ１４のＹｅｓ）、終端設定部１４は、対象スライスセグメントの終端を示す終端情報を設定する（ステップＳ１６）。また、ステップＳ１５において、ＣＴＵ数が最大ＣＴＵ数以上であると判定された場合（ステップＳ１５のＹｅｓ）にも、終端設定部１４は、対象スライスセグメントの終端を示す終端情報を設定する（ステップＳ１６）。
【００８２】
このような終端情報が設定されることによって、対象スライスセグメントの終端が確定する。
【００８３】
ここで、上述の最小ＣＴＵ数は、例えば４４である。つまり、１ピクチャあたりの画素数が４０９６×２１６０である場合、その１ピクチャに含まれる３２×３２画素のＣＴＵは８６４０個である。そして、ＨＥＶＣ規格では、１ピクチャあたりのスライスセグメントの最大数は２００以下に制限されている。したがって、図８に示すステップＳ１２によって、何れのスライスセグメントであっても、そのスライスセグメントに含まれるＣＴＵの数を最小ＣＴＵ数４４（８６４０／２００＝４３．２）以上にしておけば、ＨＥＶＣ規格に準じて、１ピクチャあたりのスライスセグメントの数を２００以下に抑えることができる。
【００８４】
また、上述の最大ＣＴＵ数は、例えば２１６０である。つまり、１ピクチャあたりの画素数が４０９６×２１６０である場合、画像復号装置において複数のスライスセグメントに対する並列処理を図るため、１つのピクチャを４つ以上のスライスセグメントに分割することが望ましい。したがって、図８に示すステップＳ１５によって、何れのスライスセグメントであっても、そのスライスセグメントに含まれるＣＴＵの数を最大ＣＴＵ数２１６０（８６４０／４）以下にしておけば、１ピクチャあたりのスライスセグメントの数を４つ以上にすることができる。
【００８５】
また、上述の閾値は、１つのパケットの空き容量を抑えて１つのスライスセグメントがそのパケットに格納されるように設定されていることが望ましい。これにより伝送効率を向上することができる。例えば、上述のように、イーサネット（登録商標）の場合には、ＭＴＵ値は１５００バイトである。したがって、その閾値は、例えば１５００バイトである。
【００８６】
［まとめ］
このように、本実施の形態における画像符号化方法は、ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、この画像符号化方法では、まず、それぞれそのピクチャを構成する複数のＣＴＵを順次符号化する。次に、その複数のＣＴＵのうちの１つのＣＴＵである対象ＣＴＵが符号化されるごとに、その対象ＣＴＵを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定する。そして、その閾値以上と判定された場合に、ビットストリームにおける符号化された対象ＣＴＵに対応する位置に、そのスライスセグメントの終端を示す終端情報を設定する。このスライスセグメントは、ピクチャに含まれるスライスを構成する、独立スライスセグメントと、その独立スライスセグメントに従属する少なくとも１つの従属スライスセグメントとのうち何れか１つのスライスセグメントである。また、閾値は、ビットストリームのネットワーク伝送に用いられるパケットサイズ以下の数値である。
【００８７】
これにより、ＣＴＵが符号化されるごとに、スライスセグメントの符号量が特定され、その符号量が閾値以上である場合にスライスセグメントの終端が設定されるため、ピクチャをそれぞれ目標とする符号量の複数のスライスセグメントに分割することができる。つまり、１つのパケットの空き容量を抑えてそのパケットに１つのスライスセグメントを格納することができる。その結果、パケットの空き容量の無駄を抑えることができ、ネットワーク伝送の伝送効率を向上することができる。
【００８８】
さらに、これらの複数のスライスセグメントのそれぞれは、独立スライスセグメントおよび従属スライスセグメントのうちの一方であり、１つのスライスセグメントの符号化において、他のスライスセグメントを参照することができる。したがって、ＣＴＵの符号化によって特定されるスライスセグメントの符号量に応じて、そのＣＴＵがスライスセグメントの最後のＣＴＵになるか否かに関わらず、他のスライスセグメントを参照して次のＣＴＵの符号化を開始することができる。したがって、動き探索、予測、直交変換および量子化、エントロピー符号化の順に行われる一連の符号化のパイプライン処理において、スライスセグメントに含まれる最後のＣＴＵが符号化された後に、他のスライスセグメントを参照して既に行われた次のＣＴＵに対する動き探索などの処理のやり直しを防ぐことができる。その結果、符号化の処理性能の低下を抑えることができる。
【００８９】
また、画像符号化方法では、さらに、符号量が特定されたスライスセグメントに含まれる符号化済みのＣＴＵの数が、予め定められた最小ＣＴＵ数以上であるか否かを判定する。そして、特定された符号量の判定では、その符号化済みのＣＴＵの数が最小ＣＴＵ数以上であると判定された場合に、特定された符号量が閾値以上か否かを判定する。
【００９０】
これにより、スライスセグメントに含まれる符号化済みＣＴＵの数が最小ＣＴＵ数未満の場合には、スライスセグメントの終端が設定されないため、そのスライスセグメントに含まれるＣＴＵの数を最小ＣＴＵ数以上にすることができる。これにより、例えばＨＥＶＣ規格に準じた数（例えば２００）以下のスライスセグメントを生成することができる。
【００９１】
また、画像符号化方法では、さらに、特定された符号量が閾値未満と判定された場合に、符号量が特定されたスライスセグメントに含まれる符号化済みのＣＴＵの数が、予め定められた最大ＣＴＵ数以上であるか否かを判定する。そして、その符号化済みのＣＴＵの数が最大ＣＴＵ数以上であると判定された場合に、ビットストリームにおける符号化された対象ＣＴＵに対応する位置に、スライスセグメントの終端を示す終端情報を設定する。
【００９２】
これにより、スライスセグメントの符号量が閾値未満であっても、そのスライスセグメントに含まれる符号化済みのＣＴＵの数が最大ＣＴＵ数以上であれば、スライスセグメントの終端が設定される。したがって、スライスセグメントに含まれるＣＴＵの数は最大ＣＴＵ数以下に制限されるため、ピクチャを最適な数以上のスライスセグメントに分割することができる。最適な数は例えば４である。したがって、画像復号装置では、その４つのスライスセグメントに対する復号を並列に行うことができる。
【００９３】
また、複数のＣＴＵの符号化は、２値化および算術符号化を含み、スライスセグメントの符号量の特定では、２値化が行われて算術符号化が行われる前の対象ＣＴＵの２値化データのデータ量を用いて、スライスセグメントの符号量を特定する。例えば、スライスセグメントの符号量の特定では、２値化データのデータ量から、算術符号化された対象ＣＴＵの符号量を推定し、推定された対象ＣＴＵの符号量を用いて、スライスセグメントの符号量を特定する。
【００９４】
これにより、対象ＣＴＵに対する算術符号化が完了する前に、その対象ＣＴＵのデータ量を用いてスライスセグメントの符号量を特定することができる。したがって、符号化の処理を高速化することができる。また、比較的処理時間が長い算術符号化をパイプライン処理から外すことができる。
【００９５】
また、本実施の形態における伝送方法は、ピクチャを符号化することによって生成されたビットストリームを伝送する伝送方法であって、この伝送方法では、まず、それぞれピクチャを構成する複数のＣＴＵを順次符号化する。次に、その複数のＣＴＵのうちの１つのＣＴＵである対象ＣＴＵが符号化されるごとに、対象ＣＴＵを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定する。そして、閾値以上と判定された場合に、ビットストリームにおける符号化された対象ＣＴＵに対応する位置に、スライスセグメントの終端を示す終端情報を設定し、その終端情報を含むスライスセグメントをパケットに格納して伝送する。
【００９６】
これにより、上述と同様に、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができる。
【００９７】
（変形例）
上記実施の形態では、対象ＣＴＵに対してエントロピー符号化を行った後に、そのエントロピー符号化された対象ＣＴＵの実際の符号量を用いて、対象スライスセグメントの符号量を特定したが、その対象ＣＴＵの符号量を推定してもよい。本変形例では、符号量特定部１２は、符号化処理部１１による対象ＣＴＵのエントロピー符号化が完了する前に、その対象ＣＴＵの符号量を推定する。
【００９８】
図９は、上記実施の形態の変形例に係るエントロピー符号化部１０４の構成の一例を示すブロック図である。
【００９９】
本変形例に係るエントロピー符号化部１０４の符号化処理部１１は、ＣＡＢＡＣ（Context-Adaptive Binary Arithmetic Coding）によって対象ＣＴＵをエントロピー符号化する。具体的には、図９に示すように、符号化処理部１１は、２値化部１１ａと、算術符号化部１１ｂと、メモリ１１ｃとを備える。
【０１００】
２値化部１１ａは、予め定められた変換法則にしたがって、対象ＣＴＵの係数列を２値化データに変換し、メモリ１１ｃに格納する。
【０１０１】
メモリ１１ｃには、各ＣＴＵの２値化データとともに、終端設定部１４から出力される終端情報が格納される。なお、本変形例では、終端設定部１４は、対象ＣＴＵを含むスライスセグメントの符号量が閾値以上と判定された場合に、その対象ＣＴＵの２値化データに対応する位置に終端情報を出力する。
【０１０２】
算術符号化部１１ｂは、メモリ１１ｃから２値化データを読み出して算術符号化を行う。具体的には、算術符号化部１１ｂは、内部に０／１の生起確率を示すテーブルを格納しており、そのテーブルを参照して、次のビットの０／１の生起確率を取得する。そして、算術符号化部１１ｂは、その生起確率を用いて２値化データを算術符号化する。なお、算術符号化部１１ｂは、ビットの値が予測どおりでなかった場合、内部のテーブルの０／１の生起確率を更新する。算術符号化部１１ｂは、算術符号化された対象ＣＴＵを出力する。また、算術符号化部１１ｂは、メモリ１１ｃから終端情報を読み出したときには、その終端情報を算術符号化する。
【０１０３】
符号量特定部１２は、２値化部１１ａから上述の２値化データを取得し、その２値化データから、対象ＣＴＵの符号量を推定する。例えば、符号量特定部１２は、２値化データごとに、その２値化データと、その２値化データに対応する符号量とを示す変換テーブルを保持し、その変換テーブルを参照することによって、対象ＣＴＵの符号量を推定する。このような符号量の具体的な推定方法は、特許文献である特開２００９−３８７４６公報に開示されている。
【０１０４】
このように、本変形例では、複数のＣＴＵの符号化は、２値化および算術符号化を含む。そして、スライスセグメントの符号量の特定では、２値化が行われて算術符号化が行われる前の対象ＣＴＵの２値化データのデータ量を用いて、スライスセグメントの符号量を特定する。すなわち、スライスセグメントの符号量の特定では、２値化データのデータ量から、算術符号化された対象ＣＴＵの符号量を推定し、推定された対象ＣＴＵの符号量を用いて、スライスセグメントの符号量を特定する。あるいは、推定された対象ＣＴＵの符号量と対象ＣＴＵの符号量との誤差を考慮し、推定された対象ＣＴＵの符号量の約９５％のデータ量を、対象ＣＴＵの符号量として特定してもよい。
【０１０５】
これにより、対象ＣＴＵに対する算術符号化が完了する前に、その対象ＣＴＵのデータ量を用いてスライスセグメントの符号量を特定することができる。したがって、符号化の処理を高速化することができる。また、比較的処理時間が長い算術符号化をパイプライン処理から外すことができる。
【０１０６】
また、上記変形例では、２値化データのデータ量から、算術符号化された対象ＣＴＵの符号量を推定したが、２値化データのデータ量を対象ＣＴＵの符号量として特定してもよい。あるいは、ビットレートに応じて２値化データのデータ量と符号量の関係が変化するため、低いビットレートの場合は、２値化データのデータ量の約７０％のデータ量を、対象ＣＴＵの符号量として特定してもよい。また、高いビットレートの場合は、２値化データのデータ量の約８０％のデータ量を、対象ＣＴＵの符号量として特定してもよい。
【０１０７】
（実施の形態２）
実施の形態１では、最大ブロック数、すなわち最大ＣＴＵ数は固定されているが、本実施の形態では、その最大ＣＴＵ数を上限ＣＴＵ数として更新する。なお、本実施の形態における画像符号化装置は、実施の形態１の画像符号化装置１００と同一の構成を有し、本実施の形態では、判定部１３が上限ＣＴＵ数を更新する点が、実施の形態１と異なる。
【０１０８】
図１０は、実施の形態１の画像符号化装置１００によって符号化されて送信されるピクチャの伝送時間の一例を示す図である。
【０１０９】
例えば、実施の形態１の画像符号化装置１００では、図１０の（ａ）に示すように、各スライスセグメントの符号量などに基づいて、ピクチャを５つのスライスセグメントＳＬ０〜ＳＬ４に分割する。そして、画像符号化装置１００は、それらの５つのスライスセグメントＳＬ０〜ＳＬ４を順に送信する。
【０１１０】
しかし、実施の形態１の画像符号化装置１００は、他のピクチャを符号化するときには、図１０の（ｂ）に示すように、そのピクチャの画像データによって、そのピクチャを６つ以上のスライスセグメントに分割することがある。具体的には、画像符号化装置１００は、図１０の（ｂ）に示すように、７つのスライスセグメントＳＬ０〜ＳＬ６に分割することがある。この場合には、画像符号化装置１００は、それらの７つのスライスセグメントＳＬ０〜ＬＳ６を順に送信する。例えば、各スライスセグメントは１つのパケットに格納されて送信される。このパケットのデータ列は、固定長であって、スライスセグメントの符号量に関わらず、予め定められたビット数を有する。そのため、符号化されたピクチャに含まれるスライスセグメントの数が多いほど、その符号化されたピクチャの送信には時間がかかる。つまり、図１０の（ｂ）に示す例では、符号化されたピクチャの送信にかかる時間が、図１０の（ａ）に示す例よりも長くなってしまう。
【０１１１】
実施の形態１において、画像符号化装置１００がピクチャを多くのスライスセグメントに分割する原因の一つには、最大ＣＴＵ数が固定されていることがある。つまり、図８に示すように、対象スライスセグメントの符号量が閾値よりも小さくても、その対象スライスセグメントに含まれるＣＴＵの数が最大ＣＴＵ数であれば、その対象スライスセグメントには終端が設定される。したがって、その対象スライスセグメントに含められなかった残りのＣＴＵは、次のスライスセグメントに含められる。その結果、ピクチャが多くのスライスセグメントに分割される。ここで、仮に、最大ＣＴＵ数を増加させれば、残りのＣＴＵを対象スライスセグメントに含めることができ、スライスセグメントの数を減少させることができる。
【０１１２】
そこで、本実施の形態における画像符号化装置１００は、最大ＣＴＵ数を上限ＣＴＵ数として更新する。
【０１１３】
図１１は、本実施の形態の画像符号化装置１００におけるピクチャの分割例を、実施の形態１と比較して示す図である。具体的には、図１１の（ａ）は、本実施の形態におけるピクチャの分割例を示し、図１１の（ｂ）は、実施の形態１におけるピクチャの分割例を示す。
【０１１４】
実施の形態１では、画像符号化装置１００は、図１１の（ｂ）に示すように、上述の終端情報を設定することによって、ピクチャから複数のスライスセグメントのそれぞれを順に生成する。言い換えれば、画像符号化装置１００は、複数のスライスセグメントのそれぞれを順に符号化する。
【０１１５】
このような場合、実施の形態１では、符号化されたスライスセグメントＳＬ０およびＳＬ１のそれぞれに含まれるＣＴＵの数が最大ＣＴＵ数よりも少くなくても、画像符号化装置１００は、その最大ＣＴＵ数を更新することなく維持する。したがって、画像符号化装置１００は、スライスセグメントＳＬ２、ＳＬ３およびＳＬ４のそれぞれの符号量が閾値よりも少なくても、その最大ＣＴＵ数だけのＣＴＵを含むスライスセグメントＳＬ２、ＳＬ３およびＳＬ４を順に符号化する。さらに、画像符号化装置１００は、残りの少ない数のＣＴＵを含むスライスセグメントＳＬ５を符号化する。
【０１１６】
その結果、実施の形態１では、画像符号化装置１００は、図１１の（ｂ）に示すように、ピクチャを６つのスライスセグメントＳＬ０〜ＳＬ５に分割する。つまり、画像符号化装置１００は、６つのスライスセグメントＳＬ０〜ＳＬ５を、スライスセグメントＳＬ０、ＳＬ１、ＳＬ２、ＳＬ３、ＳＬ４、ＳＬ５の順に符号化する。そして、画像符号化装置１００は、これらの６つのスライスセグメントＳＬ０〜ＳＬ５のそれぞれが符号化されるごとに、そのスライスセグメントを送信する。
【０１１７】
一方、本実施の形態でも、画像符号化装置１００は、図１１の（ａ）に示すように、上述の終端情報を設定することによって、ピクチャから複数のスライスセグメントのそれぞれを順に生成する。言い換えれば、画像符号化装置１００は、複数のスライスセグメントのそれぞれを順に符号化する。
【０１１８】
しかし、本実施の形態では、上述のような場合に、符号化されたスライスセグメントＳＬ０およびＳＬ１のそれぞれに含まれるＣＴＵの数が上限ＣＴＵ数よりも少ないときには、画像符号化装置１００は、その上限ＣＴＵ数を更新する。つまり、画像符号化装置１００は、その上限ＣＴＵ数を増加する。具体的には、画像符号化装置１００は、スライスセグメントを符号化するごとに、その符号化されたスライスセグメントに含まれるＣＴＵの数と、更新前の上限ＣＴＵ数との差分を、上限ＣＴＵ数の初期値に加算する。これにより、符号化されたスライスセグメントに含まれるＣＴＵの数が少なければ、上限ＣＴＵ数を増加させることができる。その結果、本実施の形態における画像符号化装置１００は、増加された上限ＣＴＵ数を用いることによって、多くのＣＴＵを含むスライスセグメントＳＬ３およびＳＬ４を符号化することができる。したがって、本実施の形態では、実施の形態１のようにスライスセグメントＳＬ５を符号化することなく、１つのピクチャから生成されるスライスセグメントの数を抑えることができる。
【０１１９】
言い換えれば、本実施の形態における画像符号化装置１００は、図１１の（ａ）に示すように、ピクチャを、図１１の（ｂ）の例と比べて１つ少ない５つのスライスセグメントＳＬ０〜ＳＬ４に分割することができる。つまり、画像符号化装置１００は、５つのスライスセグメントＳＬ０〜ＳＬ４だけを順に符号化して送信することができる。したがって、本実施の形態における画像符号化装置１００は、図１１の（ｂ）に示す例と比べて、符号化されたピクチャの送信にかかる時間を短くすることができる。
【０１２０】
図１２は、本実施の形態における画像符号化装置１００のエントロピー符号化部１０４の処理動作の一例を示すフローチャートである。
【０１２１】
エントロピー符号化部１０４は、ピクチャに対して図１２に示すステップＳ１０の処理を実施し、次に、ステップＳ１１〜Ｓ１７の各処理を、ピクチャに含まれる複数のＣＴＵのそれぞれに対して順に実施する。なお、図１２に示すステップＳ１０〜Ｓ１７の処理のうち、実施の形態１の図８に示すステップと同一の処理については、図８と同一の符号を用いて示し、詳細な説明を省略する。
【０１２２】
まず、判定部１３は、予め定められた規定ＣＴＵ数を上限ＣＴＵ数の初期値に設定する（ステップＳ１０）。
【０１２３】
そして、符号化処理部１１は、係数列からなる対象ＣＴＵｎをエントロピー符号化する（ステップＳ１１）。次に、判定部１３は、対象スライスセグメントに含まれる既にエントロピー符号化されたＣＴＵの数であるＣＴＵ数が最小ＣＴＵ数以上であるか否かを判定する（ステップＳ１２）。
【０１２４】
ここで、判定部１３によってＣＴＵ数が最小ＣＴＵ数以上でないと判定されると（ステップＳ１２のＮｏ）、エントロピー符号化部１０４は、ステップＳ１１からの処理を繰り返し実行する。
【０１２５】
一方、判定部１３によってＣＴＵ数が最小ＣＴＵ数以上であると判定されると（ステップＳ１２のＹｅｓ）、符号量特定部１２は、対象スライスセグメントの符号量を特定する（ステップＳ１３）。
【０１２６】
そして、判定部１３は、ステップＳ１３で特定された対象スライスセグメントの符号量が閾値以上であるか否かを判定する（ステップＳ１４）。ここで、対象スライスセグメントの符号量が閾値以上でないと判定されると（ステップＳ１４のＮｏ）、判定部１３は、さらに、対象スライスセグメントのＣＴＵ数が上限ＣＴＵ数以上であるか否かを判定する（ステップＳ１５ａ）。
【０１２７】
ここで、ＣＴＵ数が上限ＣＴＵ数以上でないと判定されると（ステップＳ１５ａのＮｏ）、エントロピー符号化部１０４は、ステップＳ１１からの処理を繰り返し実行する。
【０１２８】
また、ステップＳ１４において、対象スライスセグメントの符号量が閾値以上であると判定された場合には（ステップＳ１４のＹｅｓ）、終端設定部１４は、対象スライスセグメントの終端を示す終端情報を設定する（ステップＳ１６）。また、ステップＳ１５ａにおいて、ＣＴＵ数が上限ＣＴＵ数以上であると判定された場合（ステップＳ１５ａのＹｅｓ）にも、終端設定部１４は、対象スライスセグメントの終端を示す終端情報を設定する（ステップＳ１６）。
【０１２９】
このような終端情報が設定されることによって、対象スライスセグメントの終端が確定する。つまり、スライスセグメントが生成または符号化される。
【０１３０】
そして、ステップＳ１６の処理が行われた後に、判定部１３は、上限ＣＴＵ数を更新する（ステップＳ１７）。具体的には、判定部１３は、規定ＣＴＵ数に上述の差分を加算することによって、上限ＣＴＵ数を更新する。その差分は、ステップＳ１６で終端が設定されたスライスセグメントに含まれるＣＴＵの数であるスライスセグメントＣＴＵ数を、更新前の上限ＣＴＵ数から減算することによって得られる数である。
【０１３１】
以上のように、本実施の形態における画像符号化装置１００は、特定された符号量が閾値未満と判定された場合に、その符号量が特定されたスライスセグメントに含まれる符号化済みのブロックの数が、上限ブロック数以上であるか否かを判定する。そして、画像符号化装置１００は、符号化済みのブロックの数が上限ブロック数以上であると判定された場合に、ビットストリームにおける符号化された対象ブロックに対応する位置に、スライスセグメントの終端を示す終端情報を設定する。そして、画像符号化装置１００は、終端情報によって終端が示されたスライスセグメントに含まれる符号化済みのブロックの数であるスライスセグメントブロック数に応じて、上限ブロック数を更新する。なお、上述のブロックは例えばＣＴＵであり、上限ブロック数は例えば上限ＣＴＵ数であり、スライスセグメントブロック数は例えばスライスセグメントＣＴＵ数である。
【０１３２】
例えば、画像符号化装置１００は、予め定められた数である規定ブロック数を、上限ブロック数の初期値として設定する。そして、画像符号化装置１００は、上限ブロック数の更新では、更新前の上限ブロック数からスライスセグメントブロック数を減算することによって得られる値に、規定ブロック数を加算することによって、上限ブロック数を更新する。
【０１３３】
これにより、終端情報によって終端が示されたスライスセグメントのスライスセグメントブロック数が少なければ、上限ブロック数の更新によって、その上限ブロック数を増加することができる。したがって、その後、終端情報の設定によって新たに生成されるスライスセグメントのスライスセグメントブロック数が多くなる可能性を高めることができ、符号化されたピクチャに含まれるスライスセグメントの数を少なくすることができる。その結果、符号化されたピクチャをスライスセグメントごとに送信する場合には、スライスセグメントの数が多いためにそのピクチャの送信にかかる時間が長くなってしまうことを抑制することができる。
【０１３４】
（実施の形態３）
実施の形態１では、最大ブロック数、すなわち最大ＣＴＵ数は固定されているが、本実施の形態では、実施の形態２と同様に、その最大ＣＴＵ数を上限ＣＴＵ数として更新する。また、実施の形態２では、最初に比較的小さい数を初期値として上限ＣＴＵ数に設定し、スライスセグメントが符号化されるごとに、そのスライスセグメントに含まれるＣＴＵの数に応じて、上限ＣＴＵ数を更新する。しかし、本実施の形態では、最初にできるだけ大きい数を初期値として上限ＣＴＵ数に設定し、スライスセグメントが符号化されるごとに、そのスライスセグメントに含まれるＣＴＵの数に応じて、上限ＣＴＵ数を更新する。なお、本実施の形態における画像符号化装置は、実施の形態１および２の画像符号化装置１００と同一の構成を有する。また、本実施の形態と実施の形態２とでは、判定部１３が上限ＣＴＵ数を設定および更新する方法が異なる。
【０１３５】
図１３は、本実施の形態の画像符号化装置１００によって符号化されて送信されるピクチャの伝送時間の一例を示す図である。
【０１３６】
本実施の形態でも、画像符号化装置１００は、図１３に示すように、上述の終端情報を設定することによって、ピクチャから複数のスライスセグメントのそれぞれを順に生成する。言い換えれば、画像符号化装置１００は、複数のスライスセグメントのそれぞれを順に符号化する。
【０１３７】
しかし、本実施の形態では、画像符号化装置１００は、上記各実施の形態とは異なり、ピクチャを、予め定められた数である規定スライス数（図１３の例では５）のスライスセグメントに分割する。つまり、本実施の形態では、画像符号化装置１００は、図１３に示すように、ピクチャを予め定められた５つのスライスセグメントＳＬ０〜ＳＬ４に分割する。言い換えれば、画像符号化装置１００は、ピクチャからスライスセグメントＳＬ０、ＳＬ１、ＳＬ２、ＳＬ３、ＳＬ４の順に、予め定められた５つのスライスセグメントＳＬ０〜ＳＬ４を符号化する。
【０１３８】
さらに、本実施の形態では、画像符号化装置１００は、スライスセグメントを符号化するときには、対象スライスセグメントに対して割り当てることが可能なできるだけ多くのＣＴＵの数を上限ＣＴＵ数として設定する。つまり、画像符号化装置１００は、規定スライス数のスライスセグメントのそれぞれに対して最小ＣＴＵ数のＣＴＵを確保しながら、対象スライスセグメントに対して、できるだけ多くのＣＴＵの数を上限ＣＴＵ数として設定する。
【０１３９】
例えば、画像符号化装置１００は、符号化順で先頭のスライスセグメントＳＬ０を符号化するときには、ピクチャに含まれる全ＣＴＵの数から、スライスセグメントＳＬ１、ＳＬ２、ＳＬ３およびＳＬ４のそれぞれの最小ＣＴＵ数を減算する。画像符号化装置１００は、この減算によって得られる値を、スライスセグメントＳＬ０に対する上限ＣＴＵ数として設定する。また、画像符号化装置１００は、スライスセグメントＳＬ１を符号化するときには、ピクチャに含まれる全ＣＴＵの数から、既に符号化されたスライスセグメントＳＬ０に含まれるＣＴＵの数と、スライスセグメントＳＬ２、ＳＬ３およびＳＬ４のそれぞれの最小ＣＴＵ数とを減算する。画像符号化装置１００は、この減算によって得られる値を、スライスセグメントＳＬ１に対する上限ＣＴＵ数として設定する。さらに、画像符号化装置１００は、スライスセグメントＳＬ２、ＳＬ３およびＳＬ４に対しても上述と同様に、上限ＣＴＵ数を設定する。
【０１４０】
これにより、ピクチャに含まれる規定スライス数のスライスセグメントのうち、符号化順が前のスライスセグメントほど、そのスライスセグメントに対する上限ＣＴＵ数を多くすることができる。その結果、ピクチャ内の上側にある領域ほど、大きなスライスセグメントが割り当てられ易くなる。つまり、風景画などのピクチャ内の上側の領域には、空などの背景が単調な画像として映し出され、高い周波数成分が含まれていない。したがって、その領域では、ＣＴＵごとの符号量が少ない。その結果、その領域に対する上限ＣＴＵ数が多いほど、その領域のスライスセグメントを大きくすることができる。これにより、ピクチャにおいて符号化されるスライスセグメントの数を適切に抑えることができる。一方、ピクチャの下側にある領域ほど、その領域を多くのスライスセグメントに分割することができる。また、風景画などのピクチャ内の下側の領域には、複雑な画像が映し出され、高い周波数成分が多く含まれている。したがって、ピクチャ内の下側の領域では上側よりもその領域の符号量が多くなる傾向にあるが、多くのスライスセグメントをその領域に割り当てることができ、画質の低下を抑えることができる。
【０１４１】
図１４は、本実施の形態における画像符号化装置１００が上限ＣＴＵ数を更新する一例を示す図である。
【０１４２】
例えば、画像符号化装置１００は、図１４に示すように、横幅が６ＣＴＵで、高さが４ＣＴＵからなるピクチャを、規定スライス数のスライスセグメントに分割する。規定スライス数は、予め定められた数であって、例えば４である。また、各スライスセグメントの最小ＣＴＵ数は例えば１である。
【０１４３】
このような場合、画像符号化装置１００の判定部１３は、まず、図１４の（ａ）に示すように、符号化順で最初のスライスセグメントに対する上限ＣＴＵ数を、「上限ＣＴＵ数＝全ＣＴＵ数−（最小ＣＵＴ数×（規定スライス数−１））・・・（式１）」によって算出する。具体的には、全ＣＴＵ数は、６×４（ＣＴＵ）であり、最小ＣＴＵ数は１であり、規定スライス数は４である。したがって、判定部１３は、符号化順で最初のスライスセグメントに対する上限ＣＴＵ数を、６×４−（１×（４−１））＝２１として算出する。なお、このように算出される、符号化順で最初のスライスセグメントに対する上限ＣＴＵ数は、上限ＣＴＵ数の初期値として設定される。
【０１４４】
次に、判定部１３は、図１４の（ｂ）に示すように、符号化順で２番目のスライスセグメントに対する上限ＣＴＵ数を、「上限ＣＴＵ数＝上限ＣＴＵ数−スライスセグメントＣＵＴ数＋最小ＣＴＵ数・・・（式２）」によって更新する。つまり、判定部１３は、符号化順で直前のスライスセグメントに対して算出された更新前の上限ＣＴＵ数を、スライスセグメントＣＵＴ数と最小ＣＴＵ数とに基づいて更新する。スライスセグメントＣＴＵ数は、符号化順で直前のスライスセグメントに含まれるＣＴＵの数である。なお、上述の場合、符号化順で直前のスライスセグメントは、符号化順で最初のスライスセグメントである。具体的には、更新前の上限ＣＴＵ数は２１であり、スライスセグメントＣＴＵ数は例えば８であり、最小ＣＴＵ数は１である。したがって、判定部１３は、符号化順で２番目のスライスセグメントに対する上限ＣＴＵ数を、２１−８＋１＝１４として算出する。すなわち、判定部１３は、上限ＣＴＵ数を２１から１４に更新する。
【０１４５】
同様に、判定部１３は、図１４の（ｃ）に示すように、符号化順で３番目のスライスセグメントに対する上限ＣＴＵ数を、上記（式２）によって更新する。具体的には、更新前の上限ＣＴＵ数は１４であり、スライスセグメントＣＴＵ数は例えば７であり、最小ＣＴＵ数は１である。したがって、判定部１３は、符号化順で３番目のスライスセグメントに対する上限ＣＴＵ数を、１４−７＋１＝８として算出する。すなわち、判定部１３は、上限ＣＴＵ数を１４から８に更新する。
【０１４６】
同様に、判定部１３は、図１４の（ｄ）に示すように、符号化順で４番目のスライスセグメントに対する上限ＣＴＵ数を、上記（式２）によって更新する。具体的には、更新前の上限ＣＴＵ数は８であり、スライスセグメントＣＴＵ数は例えば６であり、最小ＣＴＵ数は１である。したがって、判定部１３は、符号化順で４番目のスライスセグメントに対する上限ＣＴＵ数を、８−６＋１＝３として算出する。すなわち、判定部１３は、上限ＣＴＵ数を８から３に更新する。
【０１４７】
なお、上記（式１）および（式２）はそれぞれ、規定スライス数のスライスセグメントのそれぞれに対して最小ＣＴＵ数のＣＴＵを確保しながら、対象スライスセグメントに対して、できるだけ多くのＣＴＵの数を上限ＣＴＵ数として設定するための式である。
【０１４８】
図１５は、本実施の形態における画像符号化装置１００のエントロピー符号化部１０４の処理動作の一例を示すフローチャートである。
【０１４９】
エントロピー符号化部１０４は、ピクチャに対して図１５に示すステップＳ１０ａの処理を実施し、次に、ステップＳ１１〜Ｓ１７ａの各処理を、ピクチャに含まれる複数のＣＴＵのそれぞれに対して順に実施する。なお、図１５に示すステップＳ１０ａ〜Ｓ１７ａの処理のうち、実施の形態１の図８に示すステップと同一の処理については、図８と同一の符号を用いて示し、詳細な説明を省略する。
【０１５０】
まず、判定部１３は、上記（式１）によって算出される数を上限ＣＴＵ数の初期値として設定する（ステップＳ１０ａ）。
【０１５１】
そして、符号化処理部１１は、係数列からなる対象ＣＴＵｎをエントロピー符号化する（ステップＳ１１）。次に、判定部１３は、対象スライスセグメントに含まれる既にエントロピー符号化されたＣＴＵの数であるＣＴＵ数が最小ＣＴＵ数以上であるか否かを判定する（ステップＳ１２）。
【０１５２】
ここで、判定部１３によってＣＴＵ数が最小ＣＴＵ数以上でないと判定されると（ステップＳ１２のＮｏ）、エントロピー符号化部１０４は、ステップＳ１１からの処理を繰り返し実行する。
【０１５３】
一方、判定部１３によってＣＴＵ数が最小ＣＴＵ数以上であると判定すると（ステップＳ１２のＹｅｓ）、符号量特定部１２は、対象スライスセグメントの符号量を特定する（ステップＳ１３）。
【０１５４】
そして、判定部１３は、ステップＳ１３で特定された対象スライスセグメントの符号量が閾値以上であるか否かを判定する（ステップＳ１４）。ここで、対象スライスセグメントの符号量が閾値以上でないと判定されると（ステップＳ１４のＮｏ）、判定部１３は、さらに、対象スライスセグメントのＣＴＵ数が上限ＣＴＵ数以上であるか否かを判定する（ステップＳ１５ａ）。
【０１５５】
ここで、ＣＴＵ数が上限ＣＴＵ数以上でないと判定されると（ステップＳ１５ａのＮｏ）、エントロピー符号化部１０４は、ステップＳ１１からの処理を繰り返し実行する。
【０１５６】
また、ステップＳ１４において、対象スライスセグメントの符号量が閾値以上であると判定された場合には（ステップＳ１４のＹｅｓ）、終端設定部１４は、対象スライスセグメントの終端を示す終端情報を設定する（ステップＳ１６）。また、ステップＳ１５ａにおいて、ＣＴＵ数が上限ＣＴＵ数以上であると判定された場合（ステップＳ１５ａのＹｅｓ）にも、終端設定部１４は、対象スライスセグメントの終端を示す終端情報を設定する（ステップＳ１６）。
【０１５７】
このような終端情報が設定されることによって、対象スライスセグメントの終端が確定する。つまり、スライスセグメントが生成または符号化される。
【０１５８】
そして、ステップＳ１６の処理が行われた後に、判定部１３は、上記（式２）によって上限ＣＴＵ数を更新する（ステップＳ１７ａ）。
【０１５９】
以上のように、本実施の形態における画像符号化装置１００は、ピクチャから得られるスライスセグメントの予め定められた数である規定スライス数に基づいて、上限ブロック数の初期値を設定する。そして、画像符号化装置１００は、上限ブロック数の更新では、更新前の上限ブロック数からスライスセグメントブロック数を減算することによって得られる値に、予め定められた最小ブロック数を加算することによって、その上限ブロック数を更新する。また、上述の初期値は、ピクチャに含まれる全てのブロックから、最小ブロック数のブロックを、規定スライス数よりも１つ少ない数のスライスセグメントのそれぞれに割り当てた場合に、そのピクチャに含まれる残りのブロックの数である。なお、上述のブロックは例えばＣＴＵであり、上限ブロック数は例えば上限ＣＴＵ数であり、スライスセグメントブロック数は例えばスライスセグメントＣＴＵ数である。
【０１６０】
これにより、複数のスライスセグメントが終端情報の設定によって順に生成される場合には、上限ブロック数の初期値および更新によって、その生成順が前にあるスライスセグメントほど、スライスセグメントブロック数が多くなる可能性を高めることができる。
【０１６１】
例えば、ピクチャに含まれる複数のスライスセグメントは、ピクチャ内の上に配置されているスライスセグメントから順に生成される。また、風景画などのピクチャでは、そのピクチャの上の領域には空が映しだされている場合が多い。したがって、空が映し出されているような単調な画像の領域では、各ブロックの符号量は少ないため、その領域にある生成順が前のスライスセグメントのスライスセグメントブロック数を多くすることができる。これにより、符号化されたピクチャに含まれるスライスセグメントの数を少なくすることができる。その結果、符号化されたピクチャをスライスセグメントごとに送信する場合には、スライスセグメントの数が多いためにそのピクチャの送信にかかる時間が長くなってしまうことを抑制することができる。
【０１６２】
以上、本開示の一態様に係る画像符号化方法、伝送方法および画像符号化装置について、上記各実施の形態および変形例を用いて説明したが、本開示は上記各実施の形態および変形例に限定されるものではない。
【０１６３】
例えば、上記各実施の形態および変形例では、ピクチャを複数のスライスセグメントに分割したときには、そのピクチャには１つの独立スライスセグメントが含まれていたが、２つ以上の独立スライスセグメントが含まれていてもよい。この場合には、２つ以上の独立スライスセグメントのそれぞれについて、その独立スライスセグメントに従属する少なくとも１つの従属スライスセグメントもピクチャに含まれる。また、上記各実施の形態および変形例では、ピクチャを複数のスライスに分割し、その複数のスライスのそれぞれを複数のスライスセグメントに分割してもよい。
【０１６４】
また、上記各実施の形態およびその変形例では、例えば量子化パラメータを動的に変更することによって画像の圧縮率を調整するレート制御をさらに行ってもよい。例えば、画像符号化装置１００は、スライスセグメントを符号化したときに、そのスライスセグメントの符号量が閾値以上であれば、次のスライスセグメントのブロックあたりの符号量が小さくなるようにレート制御を行う。これにより、生成されるスライスセグメントの数をより抑えることができる。
【０１６５】
また、上記各実施の形態およびその変形例では、閾値としてＭＴＵ値以下の数値が用いられるが、画像符号化装置１００は、ビットストリームの送信に用いられるＭＴＵ値をどのように取得してもよい。例えば、画像符号化装置１００は、以下に示すようにＭＴＵ値を取得する。
【０１６６】
［ＭＴＵ値の取得例］
画像符号化装置１００は、ビットストリームの送信に用いられるＭＴＵ値を、ＴＣＰ（Transmission Control Protocol）通信開始時のハンドシェイクによって取得してもよい。
【０１６７】
図１６は、ＴＣＰ通信開始時のハンドシェイクによってＭＴＵ値を取得する例を示す図である。
【０１６８】
例えば、図１６に示すように、画像符号化装置１００を備える端末２０１は、ＴＣＰによって端末２０２と通信し、その端末２０２にビットストリームを送信する。この場合、通信開始時に、端末２０１と端末２０２とは、互いのＭＳＳ（Maximum Segment Size）値をハンドシェイクによって通知する。つまり、端末２０１は、自らのＭＳＳ値を端末２０２に通知し、端末２０２は、自らのＭＳＳ値を端末２０１に通知する。ＭＳＳ値は、例えば、ＭＴＵ値からＴＣＰのヘッダサイズを減算することによって得られる値であって、具体的には、「ＭＳＳ値＝ＭＴＵ値−４０」によって得られる値である。そこで、端末２０１および端末２０２のＭＴＵ値が１５００であれば、ＭＳＳ値＝１４６０が端末２０１と端末２０２との間で互いに通知される。その結果、端末２０１は、自らのＭＳＳ値が端末２０２のＭＳＳ値と同一であると判定し、そのＭＳＳ値を端末２０２との通信に用いる。つまり、端末２０１の画像符号化装置１００は、そのＭＳＳ値に４０を加算することによって得られる値を、端末２０２へのビットストリームの送信に用いられるＭＴＵ値として取得する。
【０１６９】
または、画像符号化装置１００は、ビットストリームの送信に用いられるＭＴＵ値を、経路ＭＴＵ探索によって取得してもよい。なお、経路ＭＴＵ探索は、ＲＦＣ（Request for Comments）１１９１に規定されている。つまり、上述のＴＣＰ通信開始時のハンドシェイクでは、画像符号化装置１００は、端末２０２のＭＴＵ値を取得することはできるが、端末間の経路のＭＴＵ値を取得することはできない。しかし、この経路ＭＴＵ探索では、画像符号化装置１００は、その経路の最小ＭＴＵ値を取得することができる。
【０１７０】
図１７は、経路ＭＴＵ探索によってＭＴＵを取得する例を示す図である。
【０１７１】
例えば、図１７に示すように、画像符号化装置１００を備える端末２０１は、ルータ２１１および２１２を介して端末２０２と通信し、その端末２０２にビットストリームを送信する。この場合、端末２０１は、１５００バイトのＩＰデータのパケットを送信する。このとき、端末２０１は、そのパケットにＤＦ（Don't Fragment）フラグ＝１を設定しておく。なお、ＤＦフラグ＝１は、パケットの断片化の禁止を示す。経路上にあるルータ２１１は、そのパケットを受け取ると、そのパケットと自らのＭＴＵ値とを比較する。ルータ２１１のＭＴＵ値が１４２０バイトである場合、ルータ２１１は、そのパケットのデータ量が自らのＭＴＵ値に合わないため、そのパケットを分割しようとする。しかし、ルータ２１１は、そのパケットにＤＦフラグ＝１が設定されているため、パケットを分割することができず、そのパケットを破棄する。
【０１７２】
そして、ルータ２１１は、Ｔｙｐｅ＝３およびＣｏｄｅ＝４のＩＣＭＰ（Internet Control Message Protocol）で自らのＭＴＵ値を端末２０１に通知する。つまり、１４２０バイトのＭＴＵ値が端末２０１に通知される。その通知を受けた端末２０１は、ＤＦフラグ＝１が設定されたパケットを再び送信する。このとき送信されるパケットは、通知されたＭＴＵ値である１４２０バイトのＩＰデータを含む。ルータ２１２のＭＴＵ値が１４２０バイトであれば、この再び送信されたパケットは、ルータ２１１およびルータ２１２を介して端末２０２に送信される。また、ルータ２１２のＭＴＵ値が１４２０バイト未満であれば、上述のルータ２１１の例と同様に、端末２０１は、そのルータ２１２のＭＴＵ値に合わせたパケットを再送する。これにより、端末２０１は、端末２０１と端末２０２との間の経路における最小ＭＴＵ値を取得することができる。
【０１７３】
また、上記各実施の形態および変形例では、画像符号化装置１００を備える端末は、ハンドオーバを行ってもよい。このハンドオーバによって、端末に取得される上述のＭＴＵ値が変化する場合には、画像符号化装置１００は、その変化するＭＴＵ値に応じて閾値を設定し直してもよい。例えば、端末は、ハンドオーバによって、ＦＤＤＩ（Fiber Distributed Data Interface）の規格に準じた通信から、イーサネット（登録商標）の規格に準じた通信に切り替える。このとき、画像符号化装置１００は、その切り替え後の規格のＭＴＵ値に応じて閾値を設定し直す。具体的には、画像符号化装置１００は、符号化対象のピクチャの符号化が終了し、次のピクチャの符号化を開始するときに、その閾値を設定し直してもよい。なお、イーサネット（登録商標）では、ＭＴＵ値は１５００バイトであるが、ＦＤＤＩでは、ＭＴＵ値は４３５２バイトである。したがって、画像符号化装置１００は、上述の例のようなハンドオーバが行われる場合、閾値を４３５２バイト以下の値から１５００バイト以下のより小さい値に設定し直す。なお、画像符号化装置１００は、通信に用いられる規格または技術がどのようなものであっても、その規格または技術のＭＴＵ値に応じて閾値を設定してもよい。例えば、ＩＰ（Internet Protocol）パケットをカプセル化してＡＴＭ（Asynchronous Transfer Mode）ネットワーク上に送信する技術である「ＩＰ ｏｖｅｒ ＡＴＭ」では、ＭＴＵ値は９１８０バイトである。画像符号化装置１００は、このＭＴＵ値に応じて閾値を設定してもよい。
【０１７４】
なお、上記各実施の形態および変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態および変形例の画像符号化装置などを実現するソフトウェアは、図８、図１２または図１５に示すフローチャートに含まれる各ステップをコンピュータに実行させるプログラムである。
【０１７５】
（実施の形態４）
以上の各実施の形態において、機能ブロックの各々は、通常、ＭＰＵ及びメモリ等によって実現可能である。また、機能ブロックの各々による処理は、通常、プロセッサなどのプログラム実行部が、ＲＯＭ等の記録媒体に記録されたソフトウェア（プログラム）を読み出して実行することで実現される。当該ソフトウェアはダウンロード等により配布されてもよいし、半導体メモリなどの記録媒体に記録して配布されてもよい。なお、各機能ブロックをハードウェア（専用回路）によって実現することも、当然、可能である。
【０１７６】
また、各実施の形態において説明した処理は、単一の装置（システム）を用いて集中処理することによって実現してもよく、又は、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するプロセッサは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、又は分散処理を行ってもよい。
【０１７７】
本発明は、以上の実施例に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含される。
【０１７８】
さらにここで、上記各実施の形態で示した動画像符号化方法（画像符号化方法）又は動画像復号化方法（画像復号方法）の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、画像復号方法を用いた画像復号装置、及び両方を備える画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
【０１７９】
［使用例］
図１８は、コンテンツ配信サービスを実現するコンテンツ供給システムｅｘ１００の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ｅｘ１０５、ｅｘ１０６、ｅｘ１０７、ｅｘ１０８、ｅｘ１０９、ｅｘ１１０、ｅｘ１１０が設置されている。
【０１８０】
このコンテンツ供給システムｅｘ１００では、インターネットｅｘ１０１に、インターネットサービスプロバイダｅｘ１０２又は通信網ｅｘ１０４、及び基地局ｅｘ１０５〜ｅｘ１１０を介して、コンピュータｅｘ１１１、ゲーム機ｅｘ１１２、カメラｅｘ１１３、家電ｅｘ１１４、及びスマートフォンｅｘ１１５などの各機器が接続される。当該コンテンツ供給システムｅｘ１００は、上記のいずれかの要素を組合せて接続するようにしてもよい。固定無線局である基地局ｅｘ１０５〜ｅｘ１１０を介さずに、各機器が電話網又は近距離無線等を介して直接的又は間接的に相互に接続されていてもよい。また、ストリーミングサーバｅｘ１０３は、インターネットｅｘ１０１等を介して、コンピュータｅｘ１１１、ゲーム機ｅｘ１１２、カメラｅｘ１１３、家電ｅｘ１１４、及びスマートフォンｅｘ１１５などの各機器と接続される。また、ストリーミングサーバｅｘ１０３は、衛星ｅｘ１１６を介して、飛行機ｅｘ１１７内のホットスポット内の端末等と接続される。
【０１８１】
なお、基地局ｅｘ１０５〜ｅｘ１１０の代わりに、無線アクセスポイント又はホットスポット等が用いられてもよい。また、ストリーミングサーバｅｘ１０３は、インターネットｅｘ１０１又はインターネットサービスプロバイダｅｘ１０２を介さずに直接通信網ｅｘ１０４と接続されてもよいし、衛星ｅｘ１１６を介さず直接飛行機ｅｘ１１７と接続されてもよい。
【０１８２】
カメラｅｘ１１３はデジタルカメラ等の静止画撮影、及び動画撮影が可能な機器である。また、スマートフォンｅｘ１１５は、一般に２Ｇ、３Ｇ、３．９Ｇ、４Ｇ、そして今後は５Ｇと呼ばれる移動通信システムの方式に対応したスマートフォン機、携帯電話機、又はＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）等である。
【０１８３】
家電ｅｘ１１８は、冷蔵庫、又は家庭用燃料電池コージェネレーションシステムに含まれる機器等である。
【０１８４】
コンテンツ供給システムｅｘ１００では、撮影機能を有する端末が基地局ｅｘ１０５等を通じてストリーミングサーバｅｘ１０３に接続されることで、ライブ配信等が可能になる。ライブ配信では、端末（コンピュータｅｘ１１１、ゲーム機ｅｘ１１２、カメラｅｘ１１３、家電ｅｘ１１４、スマートフォンｅｘ１１５、及び飛行機ｅｘ１１７内の端末等）は、ユーザが当該端末を用いて撮影した静止画又は動画コンテンツに対して上記各実施の形態で説明した符号化処理を行い、符号化により得られた映像データと、映像に対応する音を符号化した音データと多重化し、得られたデータをストリーミングサーバｅｘ１０３に送信する。即ち、各端末は、本発明の一態様に係る画像符号化装置として機能する。
【０１８５】
一方、ストリーミングサーバｅｘ１０３は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントは、上記符号化処理されたデータを復号化することが可能な、コンピュータｅｘ１１１、ゲーム機ｅｘ１１２、カメラｅｘ１１３、家電ｅｘ１１４、スマートフォンｅｘ１１５、又は飛行機ｅｘ１１７内の端末等である。配信されたデータを受信した各機器は、受信したデータを復号化処理して再生する。即ち、各機器は、本発明の一態様に係る画像復号装置として機能する。
【０１８６】
［分散処理］
また、ストリーミングサーバｅｘ１０３は複数のサーバ又は複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。例えば、ストリーミングサーバｅｘ１０３は、ＣＤＮ（Ｃｏｎｔｅｎｔｓ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ）により実現され、世界中に分散された多数のエッジサーバとエッジサーバ間をつなぐネットワークによりコンテンツ配信が実現されていてもよい。ＣＤＮでは、クライアントに応じて物理的に近いエッジサーバが動的に割り当てられる。そして、当該エッジサーバにコンテンツがキャッシュ及び配信されることで遅延を減らすことができる。また、何らかのエラーが発生した場合又はトラフィックの増加などにより通信状態が変わる場合に複数のエッジサーバで処理を分散したり、他のエッジサーバに配信主体を切り替えたり、障害が生じたネットワークの部分を迂回して配信を続けることができるので、高速かつ安定した配信が実現できる。
【０１８７】
また、配信自体の分散処理にとどまらず、撮影したデータの符号化処理を各端末で行ってもよいし、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、一般に符号化処理では、処理ループが２度行われる。１度目のループでフレーム又はシーン単位での画像の複雑さ、又は、符号量が検出される。また、２度目のループでは画質を維持して符号化効率を向上させる処理が行われる。例えば、端末が１度目の符号化処理を行い、コンテンツを受け取ったサーバ側が２度目の符号化処理を行うことで、各端末での処理負荷を減らしつつもコンテンツの質と効率を向上させることができる。この場合、ほぼリアルタイムで受信して復号する要求があれば、端末が行った一度目の符号化済みデータを他の端末で受信して再生することもできるので、より柔軟なリアルタイム配信も可能になる。
【０１８８】
他の例として、カメラｅｘ１１３等は、画像から特徴量抽出を行い、特徴量に関するデータをメタデータとして圧縮してサーバに送信する。サーバは、例えば特徴量からオブジェクトの重要性を判断して量子化精度を切り替えるなど、画像の意味に応じた圧縮を行う。特徴量データはサーバでの再度の圧縮時の動きベクトル予測の精度及び効率向上に特に有効である。また、端末でＶＬＣ（可変長符号化）などの簡易的な符号化を行い、サーバでＣＡＢＡＣ（コンテキスト適応型二値算術符号化方式）など処理負荷の大きな符号化を行ってもよい。
【０１８９】
さらに他の例として、スタジアム、ショッピングモール、又は工場などにおいては、複数の端末によりほぼ同一のシーンが撮影された複数の映像データが存在する場合がある。この場合には、撮影を行った複数の端末と、必要に応じて撮影をしていない他の端末及びサーバを用いて、例えばＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）単位、ピクチャ単位、又はピクチャを分割したタイル単位などで符号化処理をそれぞれ割り当てて分散処理を行う。これにより、遅延を減らし、よりリアルタイム性を実現できる。
【０１９０】
また、複数の映像データはほぼ同一シーンであるため、各端末で撮影された映像データを互いに参照し合えるように、サーバで管理及び／又は指示をしてもよい。または、各端末からの符号化済みデータを、サーバが受信し複数のデータ間で参照関係を変更、又はピクチャ自体を補正或いは差し替えて符号化しなおしてもよい。これにより、一つ一つのデータの質と効率を高めたストリームを生成できる。
【０１９１】
また、サーバは、映像データの符号化方式を変更するトランスコードを行ったうえで映像データを配信してもよい。例えば、サーバは、ＭＰＥＧ系の符号化方式をＶＰ系に変換してもよいし、Ｈ．２６４をＨ．２６５に変換してもよい。
【０１９２】
このように、符号化処理は、端末、又は１以上のサーバにより行うことが可能である。よって、以下では、処理を行う主体として「サーバ」又は「端末」等の記載を用いるが、サーバで行われる処理の一部又は全てが端末で行われてもよいし、端末で行われる処理の一部又は全てがサーバで行われてもよい。また、これらに関しては、復号処理についても同様である。
【０１９３】
［３Ｄ、マルチアングル］
近年では、互いにほぼ同期した複数のカメラｅｘ１１３及び／又はスマートフォンｅｘ１１５などの端末により撮影された異なるシーン、又は、同一シーンを異なるアングルから撮影した画像或いは映像を統合して利用することも増えてきている。各端末で撮影した映像は、別途取得した端末間の相対的な位置関係、又は、映像に含まれる特徴点が一致する領域などに基づいて統合される。
【０１９４】
サーバは、２次元の動画像を符号化するだけでなく、動画像のシーン解析などに基づいて自動的に、又は、ユーザが指定した時刻において、静止画を符号化し、受信端末に送信してもよい。サーバは、さらに、撮影端末間の相対的な位置関係を取得できる場合には、２次元の動画像だけでなく、同一シーンが異なるアングルから撮影された映像に基づき、当該シーンの３次元形状を生成できる。なお、サーバは、ポイントクラウドなどにより生成した３次元のデータを別途符号化してもよいし、３次元データを用いて人物又はオブジェクトを認識或いは追跡した結果に基づいて、受信端末に送信する映像を、複数の端末で撮影した映像から選択、又は、再構成して生成してもよい。
【０１９５】
このようにして、ユーザは、各撮影端末に対応する各映像を任意に選択してシーンを楽しむこともできるし、複数画像又は映像を用いて再構成された３次元データから任意視点の映像を切り出したコンテンツを楽しむこともできる。さらに、映像と同様に音も複数の相異なるアングルから収音され、サーバは、映像に合わせて特定のアングル又は空間からの音を映像と多重化して送信してもよい。
【０１９６】
また、近年ではＶｉｒｔｕａｌ  Ｒｅａｌｉｔｙ（ＶＲ）及びＡｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ（ＡＲ）など、現実世界と仮想世界とを対応付けたコンテンツも普及してきている。ＶＲの画像の場合、サーバは、右目用及び左目用の視点画像をそれぞれ作成し、Ｍｕｌｔｉ−Ｖｉｅｗ  Ｃｏｄｉｎｇ（ＭＶＣ）などにより各視点映像間で参照を許容する符号化を行ってもよいし、互いに参照せずに別ストリームとして符号化してもよい。別ストリームの復号時には、ユーザの視点に応じて仮想的な３次元空間が再現されるように互いに同期させて再生するとよい。
【０１９７】
ＡＲの画像の場合には、サーバは、現実空間のカメラ情報に、仮想空間上の仮想物体情報を、３次元的位置又はユーザの視点の動きに基づいて重畳する。復号装置は、仮想物体情報及び３次元データを取得又は保持し、ユーザの視点の動きに応じて２次元画像を生成し、スムーズにつなげることで重畳データを作成してもよい。または、復号装置は仮想物体情報の依頼に加えてユーザの視点の動きをサーバに送信し、サーバは、サーバに保持される３次元データから受信した視点の動きに合わせて重畳データを作成し、重畳データを符号化して復号装置に配信してもよい。なお、重畳データは、ＲＧＢ以外に透過度を示すα値を有し、サーバは、３次元データから作成されたオブジェクト以外の部分のα値が０などに設定し、当該部分が透過する状態で、符号化してもよい。もしくは、サーバは、クロマキーのように所定の値のＲＧＢ値を背景に設定し、オブジェクト以外の部分は背景色にしたデータを生成してもよい。
【０１９８】
同様に配信されたデータの復号処理はクライアントである各端末で行っても、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、ある端末が、一旦サーバに受信リクエストを送り、そのリクエストに応じたコンテンツを他の端末で受信し復号処理を行い、ディスプレイを有する装置に復号済みの信号が送信されてもよい。通信可能な端末自体の性能によらず処理を分散して適切なコンテンツを選択することで画質のよいデータを再生することができる。また、他の例として大きなサイズの画像データをＴＶ等で受信しつつ、鑑賞者の個人端末にピクチャが分割されたタイルなど一部の領域が復号されて表示されてもよい。これにより、全体像を共有化しつつ、自身の担当分野又はより詳細に確認したい領域を手元で確認することができる。
【０１９９】
また今後は、屋内外にかかわらず近距離、中距離、又は長距離の無線通信が複数使用可能な状況下で、ＭＰＥＧ−ＤＡＳＨなどの配信システム規格を利用して、接続中の通信に対して適切なデータを切り替えながらシームレスにコンテンツを受信することが予想される。これにより、ユーザは、自身の端末のみならず屋内外に設置されたディスプレイなどの復号装置又は表示装置を自由に選択しながらリアルタイムで切り替えられる。また、自身の位置情報などに基づいて、復号する端末及び表示する端末を切り替えながら復号を行うことができる。これにより、目的地への移動中に、表示可能なデバイスが埋め込まれた隣の建物の壁面又は地面の一部に地図情報を表示させながら移動することも可能になる。また、符号化データが受信端末から短時間でアクセスできるサーバにキャッシュされている、又は、コンテンツ・デリバリー・サービスにおけるエッジサーバにコピーされている、などの、ネットワーク上での符号化データへのアクセス容易性に基づいて、受信データのビットレートを切り替えることも可能である。
【０２００】
［スケーラブル符号化］
コンテンツの切り替えに関して、図１９に示す、上記各実施の形態で示した動画像符号化方法を応用して圧縮符号化されたスケーラブルなストリームを用いて説明する。サーバは、個別のストリームとして内容は同じで質の異なるストリームを複数有していても構わないが、図示するようにレイヤに分けて符号化を行うことで実現される時間的／空間的スケーラブルなストリームの特徴を活かして、コンテンツを切り替える構成であってもよい。つまり、復号側が性能という内的要因と通信帯域の状態などの外的要因とに応じてどのレイヤまで復号するかを決定することで、復号側は、低解像度のコンテンツと高解像度のコンテンツとを自由に切り替えて復号できる。例えば移動中にスマートフォンｅｘ１１５で視聴していた映像の続きを、帰宅後にインターネットＴＶ等の機器で視聴したい場合には、当該機器は、同じストリームを異なるレイヤまで復号すればよいので、サーバ側の負担を軽減できる。
【０２０１】
さらに、上記のように、レイヤ毎にピクチャが符号化されており、ベースレイヤの上位にエンハンスメントレイヤが存在するスケーラビリティを実現する構成以外に、エンハンスメントレイヤが画像の統計情報などに基づくメタ情報を含み、復号側が、メタ情報に基づきベースレイヤのピクチャを超解像することで高画質化したコンテンツを生成してもよい。超解像とは、同一解像度におけるＳＮ比の向上、及び、解像度の拡大のいずれであってもよい。メタ情報は、超解像処理に用いる線形或いは非線形のフィルタ係数を特定するため情報、又は、超解像処理に用いるフィルタ処理、機械学習或いは最小２乗演算におけるパラメータ値を特定する情報などを含む。
【０２０２】
または、画像内のオブジェクトなどの意味合いに応じてピクチャがタイル等に分割されており、復号側が、復号するタイルを選択することで一部の領域だけを復号する構成であってもよい。また、オブジェクトの属性（人物、車、ボールなど）と映像内の位置（同一画像における座標位置など）とをメタ情報として格納することで、復号側は、メタ情報に基づいて所望のオブジェクトの位置を特定し、そのオブジェクトを含むタイルを決定できる。例えば、図２０に示すように、メタ情報は、ＨＥＶＣにおけるＳＥＩメッセージなど画素データとは異なるデータ格納構造を用いて格納される。このメタ情報は、例えば、メインオブジェクトの位置、サイズ、又は色彩などを示す。
【０２０３】
また、ストリーム、シーケンス又はランダムアクセス単位など、複数のピクチャから構成される単位でメタ情報が格納されてもよい。これにより、復号側は、特定人物が映像内に出現する時刻などが取得でき、ピクチャ単位の情報と合わせることで、オブジェクトが存在するピクチャ、及び、ピクチャ内でのオブジェクトの位置を特定できる。
【０２０４】
［Ｗｅｂページの最適化］
図２１は、コンピュータｅｘ１１１等におけるｗｅｂページの表示画面例を示す図である。図２２は、スマートフォンｅｘ１１５等おけるｗｅｂページの表示画面例を示す図である。図２１及び図２２に示すようにｗｅｂページが、画像コンテンツへのリンクであるリング画像を複数含む場合があり、閲覧するデバイスによってその見え方は異なる。画面上に複数のリンク画像が見える場合には、ユーザが明示的にリンク画像を選択するまで、又は画面の中央付近にリンク画像が近付く或いはリンク画像の全体が画面内に入るまでは、表示装置（復号装置）は、リンク画像として各コンテンツが有する静止画又はＩピクチャを表示したり、複数の静止画又はＩピクチャ等でｇｉｆアニメのような映像を表示をしたり、ベースレイヤのみ受信して映像を復号及び表示したりする。
【０２０５】
ユーザによりリンク画像が選択された場合、表示装置は、ベースレイヤを最優先にして復号する。なお、ｗｅｂページを構成するＨＴＭＬにスケーラブルなコンテンツであることを示す情報があれば、表示装置は、エンハンスメントレイヤまで復号してもよい。また、リアルタイム性を担保するために、選択される前又は通信帯域が非常に厳しい場合には、表示装置は、前方参照のピクチャ（Ｉピクチャ、Ｐピクチャ、前方参照のみのＢピクチャ）のみを復号及び表示することで、先頭ピクチャの復号時刻と表示時刻との間の遅延（コンテンツの復号開始から表示開始までの遅延）を低減できる。また、表示装置は、ピクチャの参照関係を敢えて無視して全てのＢピクチャ及びＰピクチャを前方参照にして粗く復号し、時間が経ち受信したピクチャが増えるにつれて正常の復号を行ってもよい。
【０２０６】
［自動走行］
また、車の自動走行又は走行支援のため２次元又は３次元の地図情報などの静止画又は映像データを送受信する場合、受信端末は、１以上のレイヤに属する画像データに加えて、メタ情報として天候又は工事の情報なども受信し、これらを対応付けて復号してもよい。なお、メタ情報は、レイヤに属してもよいし、単に画像データと多重化されてもよい。
【０２０７】
この場合、受信端末を含む車、ドローン又は飛行機などが移動するため、受信端末は、当該受信端末の位置情報を受信要求時に送信することで、基地局ｅｘ１０６〜ｅｘ１１０を切り替えながらシームレスな受信及び復号を実現できる。また、受信端末は、ユーザの選択、ユーザの状況又は通信帯域の状態に応じて、メタ情報をどの程度受信するか、又は地図情報をどの程度更新していくかを動的に切り替えることが可能になる。
【０２０８】
以上のようにして、コンテンツ供給システムｅｘ１００では、ユーザが送信した符号化された情報をリアルタイムでクライアントが受信して復号し、再生することができる。
【０２０９】
［個人コンテンツの配信］
また、コンテンツ供給システムｅｘ１００では、映像配信業者による高画質で長時間のコンテンツのみならず、個人による低画質で短時間のコンテンツのユニキャスト、又はマルチキャスト配信が可能である。また、このような個人のコンテンツは今後も増加していくと考えられる。個人コンテンツをより優れたコンテンツにするために、サーバは、編集処理を行ってから符号化処理を行ってもよい。これは例えば、以下のような構成で実現できる。
【０２１０】
撮影時にリアルタイム又は蓄積して撮影後に、サーバは、原画又は符号化済みデータから撮影エラー、シーン探索、意味の解析、及びオブジェクト検出などの認識処理を行う。そして、サーバは、認識結果に基いて手動又は自動で、ピントずれ又は手ブレなどを補正したり、明度が他のピクチャに比べて低い又は焦点が合っていないシーンなどの重要性の低いシーンを削除したり、オブジェクトのエッジを強調したり、色合いを変化させるなどの編集を行う。サーバは、編集結果に基いて編集後のデータを符号化する。また撮影時刻が長すぎると視聴率が下がることも知られており、サーバは、撮影時間に応じて特定の時間範囲内のコンテンツになるように上記のように重要性が低いシーンのみならず動きが少ないシーンなどを、画像処理結果に基き自動でクリップしてもよい。または、サーバは、シーンの意味解析の結果に基づいてダイジェストを生成して符号化してもよい。
【０２１１】
なお、個人コンテンツには、そのままでは著作権、著作者人格権、又は肖像権等の侵害となるものが写り込んでいるケースもあり、共有する範囲が意図した範囲を超えてしまうなど個人にとって不都合な場合もある。よって、例えば、サーバは、画面の周辺部の人の顔、又は家の中などを敢えて焦点が合わない画像に変更して符号化してもよい。また、サーバは、符号化対象画像内に、予め登録した人物とは異なる人物の顔が映っているかどうかを認識し、映っている場合には、顔の部分にモザイクをかけるなどの処理を行ってもよい。または、符号化の前処理又は後処理として、著作権などの観点からユーザが画像を加工したい人物又は背景領域を指定し、サーバは、指定された領域を別の映像に置き換える、又は焦点をぼかすなどの処理を行うことも可能である。人物であれば、動画像において人物をトラッキングしながら、顔の部分の映像を置き換えることができる。
【０２１２】
また、データ量の小さい個人コンテンツの視聴はリアルタイム性の要求が強いため、帯域幅にもよるが、復号装置は、まずベースレイヤを最優先で受信して復号及び再生を行う。復号装置は、この間にエンハンスメントレイヤを受信し、再生がループされる場合など２回以上再生される場合に、エンハンスメントレイヤも含めて高画質の映像を再生してもよい。このようにスケーラブルな符号化が行われているストリームであれば、未選択時又は見始めた段階では粗い動画だが、徐々にストリームがスマートになり画像がよくなるような体験を提供することができる。スケーラブル符号化以外にも、１回目に再生される粗いストリームと、１回目の動画を参照して符号化される２回目のストリームとが１つのストリームとして構成されていても同様の体験を提供できる。
【０２１３】
［その他の使用例］
また、これらの符号化又は復号処理は、一般的に各端末が有するＬＳＩｅｘ５００において処理される。ＬＳＩｅｘ５００は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化又は復号用のソフトウェアをコンピュータｅｘ１１１等で読み取り可能な何らかの記録メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、又はハードディスクなど）に組み込み、そのソフトウェアを用いて符号化又は復号処理を行ってもよい。さらに、スマートフォンｅｘ１１５がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データはスマートフォンｅｘ１１５が有するＬＳＩｅｘ５００で符号化処理されたデータである。
【０２１４】
なお、ＬＳＩｅｘ５００は、アプリケーションソフトをダウンロードしてアクティベートする構成であってもよい。この場合、端末は、まず、当該端末がコンテンツの符号化方式に対応しているか、又は、特定サービスの実行能力を有するかを判定する。端末がコンテンツの符号化方式に対応していない場合、又は、特定サービスの実行能力を有さない場合、端末は、コーデック又はアプリケーションソフトをダウンロードし、その後、コンテンツ取得及び再生する。
【０２１５】
また、インターネットｅｘ１０１を介したコンテンツ供給システムｅｘ１００に限らず、デジタル放送用システムにも上記各実施の形態の少なくとも動画像符号化装置（画像符号化装置）又は動画像復号化装置（画像復号装置）のいずれかを組み込むことができる。衛星などを利用して放送用の電波に映像と音が多重化された多重化データを載せて送受信するため、コンテンツ供給システムｅｘ１００のユニキャストがし易い構成に対してマルチキャスト向きであるという違いがあるが符号化処理及び復号処理に関しては同様の応用が可能である。
【０２１６】
［ハードウェア構成］
図２３は、スマートフォンｅｘ１１５を示す図である。また、図２４は、スマートフォンｅｘ１１５の構成例を示す図である。スマートフォンｅｘ１１５は、基地局ｅｘ１１０との間で電波を送受信するためのアンテナｅｘ４５０と、映像及び静止画を撮ることが可能なカメラ部ｅｘ４６５と、カメラ部ｅｘ４６５で撮像した映像、及びアンテナｅｘ４５０で受信した映像等が復号されたデータを表示する表示部ｅｘ４５８とを備える。スマートフォンｅｘ１１５は、さらに、タッチパネル等である操作部ｅｘ４６６と、音声又は音響を出力するためのスピーカ等である音声出力部ｅｘ４５７と、音声を入力するためのマイク等である音声入力部ｅｘ４５６と、撮影した映像或いは静止画、録音した音声、受信した映像或いは静止画、メール等の符号化されたデータ、又は、復号化されたデータを保存可能なメモリ部ｅｘ４６７と、ユーザを特定し、ネットワークをはじめ各種データへのアクセスの認証をするためのＳＩＭｅｘ４６８とのインタフェース部であるスロット部ｅｘ４６４とを備える。なお、メモリ部ｅｘ４６７の代わりに外付けメモリが用いられてもよい。
【０２１７】
また、表示部ｅｘ４５８及び操作部ｅｘ４６６等を統括的に制御する主制御部ｅｘ４６０と、電源回路部ｅｘ４６１、操作入力制御部ｅｘ４６２、映像信号処理部ｅｘ４５５、カメラインタフェース部ｅｘ４６３、ディスプレイ制御部ｅｘ４５９、変調／復調部ｅｘ４５２、多重／分離部ｅｘ４５３、音声信号処理部ｅｘ４５４、スロット部ｅｘ４６４、及びメモリ部ｅｘ４６７とが同期バスｅｘ４７０を介して接続されている。
【０２１８】
電源回路部ｅｘ４６１は、ユーザの操作により電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりスマートフォンｅｘ１１５を動作可能な状態に起動する。
【０２１９】
スマートフォンｅｘ１１５は、ＣＰＵ、ＲＯＭ及びＲＡＭ等を有する主制御部ｅｘ４６０の制御に基づいて、通話及データ通信等の処理を行う。通話時は、音声入力部ｅｘ４５６で収音した音声信号を音声信号処理部ｅｘ４５４でデジタル音声信号に変換し、これを変調／復調部ｅｘ４５２でスペクトラム拡散処理し、送信／受信部ｅｘ４５１でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナｅｘ４５０を介して送信する。また受信データを増幅して周波数変換処理及びアナログデジタル変換処理を施し、変調／復調部ｅｘ４５２でスペクトラム逆拡散処理し、音声信号処理部ｅｘ４５４でアナログ音声信号に変換した後、これを音声出力部ｅｘ４５７から出力する。データ通信モード時は、本体部の操作部ｅｘ４６６等の操作によってテキスト、静止画、又は映像データが操作入力制御部ｅｘ４６２を介して主制御部ｅｘ４６０に送出され、同様に送受信処理が行われる。データ通信モード時に映像、静止画、又は映像と音声を送信する場合、映像信号処理部ｅｘ４５５は、メモリ部ｅｘ４６７に保存されている映像信号又はカメラ部ｅｘ４６５から入力された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し、符号化された映像データを多重／分離部ｅｘ４５３に送出する。また、音声信号処理部ｅｘ４５４は、映像又は静止画等をカメラ部ｅｘ４６５で撮像中に音声入力部ｅｘ４５６で収音した音声信号を符号化し、符号化された音声データを多重／分離部ｅｘ４５３に送出する。多重／分離部ｅｘ４５３は、符号化済み映像データと符号化済み音声データを所定の方式で多重化し、変調／復調部（変調／復調回路部）ｅｘ４５２、及び送信／受信部ｅｘ４５１で変調処理及び変換処理を施してアンテナｅｘ４５０を介して送信する。
【０２２０】
電子メール又はチャットに添付された映像、又はウェブページ等にリンクされた映像を受信した場合、アンテナｅｘ４５０を介して受信された多重化データを復号するために、多重／分離部ｅｘ４５３は、多重化データを分離することにより、多重化データを映像データのビットストリームと音声データのビットストリームとに分け、同期バスｅｘ４７０を介して符号化された映像データを映像信号処理部ｅｘ４５５に供給するとともに、符号化された音声データを音声信号処理部ｅｘ４５４に供給する。映像信号処理部ｅｘ４５５は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって映像信号を復号し、ディスプレイ制御部ｅｘ４５９を介して表示部ｅｘ４５８から、リンクされた動画像ファイルに含まれる映像又は静止画が表示される。また音声信号処理部ｅｘ４５４は、音声信号を復号し、音声出力部ｅｘ４５７から音声が出力される。なおリアルタイムストリーミングが普及しているため、ユーザの状況によっては音声の再生が社会的にふさわしくない場も起こりえる。そのため、初期値としては、音声信号は再生せず映像データのみを再生する構成の方が望ましい。ユーザが映像データをクリックするなど操作を行った場合にのみ音声を同期して再生してもよい。
【０２２１】
またここではスマートフォンｅｘ１１５を例に説明したが、端末としては符号化器及び復号化器を両方持つ送受信型端末の他に、符号化器のみを有する送信端末、及び、復号化器のみを有する受信端末という３通りの実装形式が考えられる。さらに、デジタル放送用システムにおいて、映像データに音楽データなどが多重化された多重化データを受信又は送信するとして説明したが、多重化データには、音声データ以外に映像に関連する文字データなどが多重化されてもよいし、多重化データではなく映像データ自体が受信又は送信されてもよい。
【０２２２】
なお、ＣＰＵを含む主制御部ｅｘ４６０が符号化又は復号処理を制御するとして説明したが、端末はＧＰＵを備えることも多い。よって、ＣＰＵとＧＰＵで共通化されたメモリ、又は共通に使用できるようにアドレスが管理されているメモリにより、ＧＰＵの性能を活かして広い領域を一括して処理する構成でもよい。これにより符号化時間を短縮でき、リアルタイム性を確保し、低遅延を実現できる。特に動き探索、デブロックフィルタ、ＳＡＯ（Ｓａｍｐｌｅ  Ａｄａｐｔｉｖｅ  Ｏｆｆｓｅｔ）、及び変換・量子化の処理を、ＣＰＵではなく、ＧＰＵでピクチャなどの単位で一括して行うと効率的である。
【０２２３】
以上、本開示に係る画像符号化などについて、各実施の形態および変形例に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれてもよい。
【産業上の利用可能性】
【０２２４】
本開示は、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができるという効果を奏し、例えば、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、デジタルビデオカメラ等の情報表示機器や撮像機器に利用可能であり、利用価値が高い。
【符号の説明】
【０２２５】
１１    符号化処理部
１２    符号量特定部
１３    判定部
１４    終端設定部
１００    画像符号化装置
１０１    減算器
１０２    直交変換部
１０３    量子化部
１０４    エントロピー符号化部
１０５    逆量子化部
１０６    逆直交変換部
１０７    加算器
１０８    デブロッキングフィルタ
１０９    メモリ
１１０    面内予測部
１１１    インター予測部
１１２    動き検出部
１１３    スイッチ
【図１Ａ】
0006767691.tif 000002
【図１Ｂ】
0006767691.tif 000003
【図２Ａ】
0006767691.tif 000004
【図２Ｂ】
0006767691.tif 000005
【図３Ａ】
0006767691.tif 000006
【図３Ｂ】
0006767691.tif 000007
【図４】
0006767691.tif 000008
【図５】
0006767691.tif 000009
【図６】
0006767691.tif 000010
【図７】
0006767691.tif 000011
【図８】
0006767691.tif 000012
【図９】
0006767691.tif 000013
【図１０】
0006767691.tif 000014
【図１１】
0006767691.tif 000015
【図１２】
0006767691.tif 000016
【図１３】
0006767691.tif 000017
【図１４】
0006767691.tif 000018
【図１５】
0006767691.tif 000019
【図１６】
0006767691.tif 000020
【図１７】
0006767691.tif 000021
【図１８】
0006767691.tif 000022
【図１９】
0006767691.tif 000023
【図２０】
0006767691.tif 000024
【図２１】
0006767691.tif 000025
【図２２】
0006767691.tif 000026
【図２３】
0006767691.tif 000027
【図２４】
0006767691.tif 000028