JPWO2018074291A1 - 画像符号化方法、伝送方法および画像符号化装置 - Google Patents

画像符号化方法、伝送方法および画像符号化装置 Download PDF

Info

Publication number
JPWO2018074291A1
JPWO2018074291A1 JP2018546266A JP2018546266A JPWO2018074291A1 JP WO2018074291 A1 JPWO2018074291 A1 JP WO2018074291A1 JP 2018546266 A JP2018546266 A JP 2018546266A JP 2018546266 A JP2018546266 A JP 2018546266A JP WO2018074291 A1 JPWO2018074291 A1 JP WO2018074291A1
Authority
JP
Japan
Prior art keywords
slice segment
code amount
blocks
picture
slice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018546266A
Other languages
English (en)
Other versions
JP6767691B2 (ja
Inventor
敏彦 日下部
敏彦 日下部
北村 臣二
臣二 北村
安倍 清史
清史 安倍
秀之 大古瀬
秀之 大古瀬
橋本 隆
隆 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2018074291A1 publication Critical patent/JPWO2018074291A1/ja
Application granted granted Critical
Publication of JP6767691B2 publication Critical patent/JP6767691B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

伝送効率を向上させるとともに符号化の処理性能の低下を抑えた画像符号化方法を提供する。この画像符号化方法は、ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、それぞれピクチャを構成する複数のブロックを順次符号化し、その複数のブロックのうちの1つのブロックが対象ブロックとして符号化されるごとに、対象ブロックを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定し、閾値以上と判定された場合に、ビットストリームにおける符号化された対象ブロックに対応する位置に、そのスライスセグメントの終端を示す終端情報を設定する。

Description

本開示は、ピクチャを符号化することによってビットストリームを生成する画像符号化方法および画像符号化装置、ならびに生成されたビットストリームを伝送する伝送方法に関する。
現在、新しい画像符号化規格としてHEVC(High Efficiency Video Coding)方式(非特許文献1参照)が提供されている。この規格では、ピクチャを複数のスライスに分割して符号化し、その符号化されたピクチャを復号する画像符号化方法および画像復号方法などが規定されている。
大久保栄ら著,「H.265/HEVC教科書」,インプレスジャパン,2013年
しかしながら、非特許文献1の画像符号化方法では、符号化によって生成されるビットストリームの伝送効率を向上させようとすれば、符号化の処理性能が低下してしまうという問題がある。
そこで、本開示は、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができる画像符号化方法などを提供する。
本開示の一態様に係る画像符号化方法は、ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、前記複数のブロックのうちの1つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定し、前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定する。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本開示の画像符号化方法では、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができる。
図1Aは、ピクチャを構成する複数のスライスの一例を示す図である。 図1Bは、スライスによるエラー耐性を説明するための図である。 図2Aは、各スライスのネットワーク伝送を説明するための図である。 図2Bは、ピクチャを符号量に応じて複数のスライスに分割する例を示す図である。 図3Aは、パイプライン処理を説明するための各ブロックの符号化順を示す図である。 図3Bは、パイプライン処理を説明するための図である。 図4は、パイプライン処理が適切に行われない状態の一例を示す図である。 図5は、実施の形態1における画像符号化装置の構成を示すブロック図である。 図6は、実施の形態1におけるエントロピー符号化部の構成の一例を示すブロック図である。 図7は、実施の形態1における画像符号化装置によって符号化されたピクチャに含まれる複数のスライスセグメントの一例を示す図である。 図8は、実施の形態1におけるエントロピー符号化部の処理動作の一例を示すフローチャートである。 図9は、実施の形態1の変形例に係るエントロピー符号化部の構成の一例を示すブロック図である。 図10は、実施の形態1の画像符号化装置によって符号化されて送信されるピクチャの伝送時間の一例を示す図である。 図11は、実施の形態2の画像符号化装置におけるピクチャの分割例を、実施の形態1と比較して示す図である。 図12は、実施の形態2における画像符号化装置のエントロピー符号化部の処理動作の一例を示すフローチャートである。 図13は、実施の形態3の画像符号化装置によって符号化されて送信されるピクチャの伝送時間の一例を示す図である。 図14は、実施の形態3における画像符号化装置が上限CTU数を更新する一例を示す図である。 図15は、実施の形態3における画像符号化装置のエントロピー符号化部の処理動作の一例を示すフローチャートである。 図16は、TCP通信開始時のハンドシェイクによってMTU値を取得する例を示す図である。 図17は、経路MTU探索によってMTUを取得する例を示す図である。 図18は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図19は、スケーラブル符号化時の符号化構造の一例を示す図である。 図20は、スケーラブル符号化時の符号化構造の一例を示す図である。 図21は、webページの表示画面例を示す図である。 図22は、webページの表示画面例を示す図である。 図23は、スマートフォンの一例を示す図である。 図24は、スマートフォンの構成例を示すブロック図である。
(本開示の基礎となった知見)
本開示者は、「背景技術」の欄において記載した非特許文献1に関する画像符号化方法において、以下の問題が生じることを見出した。
図1Aは、ピクチャを構成する複数のスライスの一例を示す図である。
ピクチャは、図1Aに示すように、例えば複数のスライスから構成される。これらのスライスが符号化されるときには、スライス境界をまたいだ予測などは行われない。すなわち、符号化の対象とされるスライス(以下、対象スライスという)に対して、その対象スライス以外のスライスを用いたイントラ予測または予測動きベクトルの算出は行われない。したがって、画像復号装置は、符号化された各スライスをそれぞれ独立に復号することができる。つまり、画像復号装置は、それらの符号化された複数のスライスを並列に復号することができる。
図1Bは、スライスによるエラー耐性を説明するための図である。
上述のように、符号化された各スライスは独立に復号することができるため、画像復号装置は、図1Bに示すように、何れかのスライスが欠落しても、他のスライスを復号することができる。例えば、画像復号装置がピクチャに含まれるスライス1を復号した後に、次のスライス2の伝送エラーが生じする。このとき、画像復号装置は、そのスライス2を復号することはできないが、スライス2に続くスライス3以降のスライスを適切に復号することができる。
図2Aは、各スライスのネットワーク伝送を説明するための図である。
例えば、図2Aに示すように、ピクチャは複数のラインに分割される。その複数のラインのそれぞれはスライスとして構成される。なお、ラインは、ピクチャの水平方向に沿って一列に配列される複数のブロック(具体的にはCTU:Coding Tree Unit)からなる。
上述のような複数のスライスをネットワーク伝送する場合、大きな符号量を有するスライスはパケットサイズに合わせて分割される。すなわち、MTU(Maximum Transmission Unit)値を超える符号量のスライスは、それぞれMTU値以下の符号量を有する複数のセグメントに分割される。そして、その複数のセグメントのそれぞれがパケットに格納されて伝送される。なお、イーサネット(登録商標)の場合には、MTU値は1500バイトである。
しかし、このようにスライスを分割する場合には、図2Aに示すように、1つのパケットに無駄が生じることがある。例えば、互いに異なる2のスライスのそれぞれのセグメントを1つのパケットに格納すると、その1つのパケットが欠落してしまえば、2つのスライスを復号することができなくなる。したがって、1つのパケットには、互いに異なる2のスライスのそれぞれのセグメントを1つのパケットに格納することはできない。そのため、セグメントの符号量が少なければ、そのセグメントを格納するパケットでは空き容量が大きくなり、その空き容量が無駄になってしまう。
そこで、ピクチャを符号量に応じて複数のスライスに分割することが考えられる。
図2Bは、ピクチャを符号量に応じて複数のスライスに分割する例を示す図である。
例えば、図2Bに示すように、ピクチャを、それぞれMTU値と同じ符号量の複数のスライスに分割すれば、パケットの容量を有効に利用することができ、無駄の発生を抑えつつ、各スライスをパケットに格納して伝送することができる。
しかし、ピクチャを符号量に応じて複数のスライスに分割すれば、伝送の無駄を抑えることができるが、符号化の処理性能が低下してしまうという問題がある。
図3Aおよび図3Bは、パイプライン処理を説明するための図である。
例えば、図3Aに示すように、ピクチャに含まれる各ブロック(具体的にはCTU)は、例えばラスタースキャン順に符号化される。つまり、ブロックBk1、Bk2、Bk3、Bk4、Bk5の順にそれらのブロックが符号化される。
また、この符号化は、図3Bに示すように、動き探索、予測(イントラ予測またはインター予測)、直交変換および量子化、ならびにエントロピー符号化を含む。つまり、各ブロックに対しては、動き探索が行われ、次に、予測が行われ、次に、直交変換および量子化が行われ、その後にエントロピー符号化が行われる。パイプライン処理では、ブロックBk1に対して動き探索が行われ、予測が行われるときに、次のブロックBk2に対して動き探索が行われる。そして、ブロックBk1に対して直交変換および量子化が行われるときに、次のブロックBk2に対して予測が行われ、かつ、その次のブロックBk3に対して動き探索が行われる。このようなパイプライン処理によって、符号化の処理性能を向上することができる。
しかし、図2Bに示すように、ピクチャを符号量に応じて複数のスライスに分割する場合には、上述のパイプライン処理を適切に行うことができず、処理性能が低下してしまうことがある。
図4は、パイプライン処理が適切に行われない状態の一例を示す図である。
ピクチャを符号量に応じて複数のスライスに分割するためには、スライスの符号量をMTU値以下にする必要があり、そのスライスの符号量は、そのスライスに含まれる各ブロックの符号量の積算値に相当する。ブロックの符号量は、パイプライン処理の最後段にあるエントロピー符号化によって確定する。したがって、例えば、ブロックBk1のエントロピー符号化が行われて、そのブロックBk1の符号量が確定し、その結果、ブロックBk1を含むスライスの符号量がMTU値に達することがある。このときには、そのブロックBk1を含むスライスには、ブロックBk1の次のブロックBk2は含まれず、ブロックBk2は、次のスライスに含まれることなる。ここで、互いに異なるスライスでは、動き探索および予測などの処理が異なる。したがって、次のスライスに含まれるブロックBk2に対しては、ブロックBk1のスライスとは異なる動き探索および予測などの処理を行う必要がある。しかし、パイプライン処理では、既に、ブロックBk2に対して、ブロックBk1のスライスと同様の処理が行われている。その結果、ブロックBk2の符号化を動き探索からやり直さなければならない。これにより、パイプライン処理における無駄な処理(いわゆるパイプラインバブル)が発生する。したがって、符号化の遅延および処理負担の増加が生じ、処理性能が低下してしまうという問題が生じる。
このような問題を解決するために、本開示の一態様に係る画像符号化装置は、ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、前記複数のブロックのうちの1つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定し、前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定する。例えば、前記スライスセグメントは、前記ピクチャに含まれるスライスを構成する、独立スライスセグメントと、前記独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントとのうち何れか1つのスライスセグメントである。また、例えば、前記閾値は、前記ビットストリームのネットワーク伝送に用いられるパケットサイズ以下の数値である。また、ブロックは例えばCTUである。
これにより、ブロックが符号化されるごとに、スライスセグメントの符号量が特定され、その符号量が閾値以上である場合にスライスセグメントの終端が設定されるため、ピクチャをそれぞれ目的とする符号量の複数のスライスセグメントに分割することができる。つまり、1つのパケットの空き容量を抑えてそのパケットに1つのスライスセグメントを格納することができる。その結果、パケットの空き容量の無駄を抑えることができ、ネットワーク伝送の伝送効率を向上することができる。
さらに、これらの複数のスライスセグメントのそれぞれは、独立スライスセグメントおよび従属スライスセグメントのうちの一方であり、1つのスライスセグメントの符号化に、他のスライスセグメントを参照することができる。したがって、ブロックの符号化によって特定されるスライスセグメントの符号量に応じて、そのブロックがスライスセグメントの最後のブロックになるか否かに関わらず、他のスライスセグメントを参照して次のブロックの符号化を開始することができる。したがって、動き探索、予測、直交変換および量子化、エントロピー符号化の順に行われる一連の符号化のパイプライン処理において、スライスセグメントに含まれる最後のブロックが符号化された後に、他のスライスセグメントを参照して既に行われた次のブロックに対する動き探索などの処理のやり直しを防ぐことができる。その結果、符号化の処理性能の低下を抑えることができる。
また、前記画像符号化方法では、さらに、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、予め定められた最小ブロック数以上であるか否かを判定し、特定された前記符号量の判定では、前記符号化済みのブロックの数が前記最小ブロック数以上であると判定された場合に、特定された前記符号量が閾値以上か否かを判定してもよい。
これにより、スライスセグメントに含まれる符号化済みのブロックの数が最小ブロック数未満の場合には、スライスセグメントの終端が設定されないため、そのスライスセグメントに含まれるブロックの数を最小ブロック数以上にすることができる。これにより、例えばHEVC規格に準じた数以下のスライスセグメントを生成することができる。
また、前記画像符号化方法では、さらに、特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、予め定められた最大ブロック数以上であるか否かを判定し、前記符号化済みのブロックの数が前記最大ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定してもよい。
これにより、スライスセグメントの符号量が閾値未満であっても、そのスライスセグメントに含まれるブロックの数が最大ブロック数以上であれば、スライスセグメントの終端が設定される。したがって、スライスセグメントに含まれるブロックの数は最大ブロック数以下に制限されるため、ピクチャを最適な数以上のスライスセグメントに分割することができる。最適な数は例えば4である。したがって、画像復号装置では、その4つのスライスセグメントに対する復号を並列に行うことができる。
また、前記複数のブロックの符号化は、2値化および算術符号化を含み、前記スライスセグメントの符号量の特定では、前記2値化が行われて前記算術符号化が行われる前の前記対象ブロックの2値化データのデータ量を用いて、前記スライスセグメントの符号量を特定してもよい。例えば、前記スライスセグメントの符号量の特定では、前記2値化データのデータ量から、算術符号化された前記対象ブロックの符号量を推定し、推定された前記対象ブロックの符号量を用いて、前記スライスセグメントの符号量を特定してもよい。
これにより、対象ブロックに対する算術符号化が完了する前に、その対象ブロックのデータ量を用いてスライスセグメントの符号量を特定することができる。したがって、符号化の処理を高速化することができる。また、比較的処理時間が長い算術符号化をパイプライン処理から外すことができる。
また、前記画像符号化方法では、さらに、特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、上限ブロック数以上であるか否かを判定し、前記符号化済みのブロックの数が前記上限ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、前記終端情報によって終端が示された前記スライスセグメントに含まれる符号化済みのブロックの数であるスライスセグメントブロック数に応じて、前記上限ブロック数を更新してもよい。例えば、前記画像符号化方法では、さらに、予め定められた数である規定ブロック数を、前記上限ブロック数の初期値として設定し、前記上限ブロック数の更新では、更新前の上限ブロック数から前記スライスセグメントブロック数を減算することによって得られる値に、前記規定ブロック数を加算することによって、前記上限ブロック数を更新してもよい。
これにより、終端情報によって終端が示されたスライスセグメントのスライスセグメントブロック数が少なければ、上限ブロック数の更新によって、その上限ブロック数を増加することができる。したがって、その後、終端情報の設定によって新たに生成されるスライスセグメントのスライスセグメントブロック数が多くなる可能性を高めることができ、符号化されたピクチャに含まれるスライスセグメントの数を少なくすることができる。その結果、符号化されたピクチャをスライスセグメントごとに送信する場合には、スライスセグメントの数が多いためにそのピクチャの送信にかかる時間が長くなってしまうことを抑制することができる。
また、前記画像符号化方法では、さらに、前記ピクチャから得られるスライスセグメントの予め定められた数である規定スライス数に基づいて、前記上限ブロック数の初期値を設定し、前記上限ブロック数の更新では、更新前の上限ブロック数から前記スライスセグメントブロック数を減算することによって得られる値に、予め定められた最小ブロック数を加算することによって、前記上限ブロック数を更新し、前記初期値は、前記ピクチャに含まれる全てのブロックから、前記最小ブロック数のブロックを、前記規定スライス数よりも1つ少ない数のスライスセグメントのそれぞれに割り当てた場合に、前記ピクチャに含まれる残りのブロックの数であってもよい。
これにより、複数のスライスセグメントが終端情報の設定によって順に生成される場合には、上限ブロック数の初期値および更新によって、その生成順が前にあるスライスセグメントほど、スライスセグメントブロック数が多くなる可能性を高めることができる。
例えば、ピクチャに含まれる複数のスライスセグメントは、ピクチャ内の上に配置されているスライスセグメントから順に生成される。また、風景画などのピクチャでは、そのピクチャの上の領域には空が映し出されている場合が多い。したがって、空が映し出されているような単調な画像の領域では、各ブロックの符号量は少ないため、その領域にある生成順が前のスライスセグメントのスライスセグメントブロック数を多くすることができる。これにより、符号化されたピクチャに含まれるスライスセグメントの数を少なくすることができる。その結果、符号化されたピクチャをスライスセグメントごとに送信する場合には、スライスセグメントの数が多いためにそのピクチャの送信にかかる時間が長くなってしまうことを抑制することができる。
また、本開示の一態様に係る伝送方法は、ピクチャを符号化することによって生成されたビットストリームを伝送する伝送方法であって、それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、前記複数のブロックのうちの1つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定し、前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、前記終端情報を含む前記スライスセグメントをパケットに格納して伝送する。
これにより、上述と同様に、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
(実施の形態1)
図5は、本実施の形態における画像符号化装置の構成を示すブロック図である。
本実施の形態における画像符号化装置100は、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができる装置である。このような画像符号化装置100は、減算器101と、直交変換部102と、量子化部103と、エントロピー符号化部104と、逆量子化部105と、逆直交変換部106と、加算器107と、デブロッキングフィルタ108と、メモリ109と、面内予測部110と、インター予測部111と、動き検出部112と、スイッチ113とを備える。
減算器101は、複数のピクチャを含む動画像信号を取得するとともに、スイッチ113から予測画像を取得する。そして、減算器101は、その動画像信号に含まれるピクチャのうちの符号化の対象とされるブロック(以下、対象ブロックという)から予測画像を減算することによって差分画像を生成する。ブロックは、例えばCTU(Coding Tree Unit)、CU(Coding Unit)、PU(Prediction Unit)またはTU(Transform Unit)に相当する。
直交変換部102は、減算器101によって生成された差分画像に対して、例えば離散コサイン変換などの直交変換(周波数変換)を行うことによって、その差分画像を複数の周波数係数からなる係数列に変換する。量子化部103は、その係数列に含まれる各周波数係数を量子化することによって、量子化された係数列を生成する。
逆量子化部105は、量子化部103によって量子化された係数列を逆量子化する。逆直交変換部106は、その逆量子化された係数列に含まれる各周波数係数に対して逆離散コサイン変換などの逆直交変換(逆周波数変換)を行うことによって、復号差分画像を生成する。
加算器107は、スイッチ113から予測画像を取得し、その予測画像と、逆直交変換部106によって生成された復号差分画像とを加算することによって局所復号画像(再構成画像)を生成する。
デブロッキングフィルタ108は、加算器107によって生成された局所復号画像のブロック歪みを除去し、その局所復号画像をメモリ109に格納する。メモリ109は、インター予測の際の参照画像として局所復号画像を格納するためのメモリである。なお、このメモリ109は復号ピクチャバッファ(DPB)として用いられる。
面内予測部110は、加算器107によって生成された局所復号画像を用いて、対象ブロックに対してイントラ予測を行うことによって予測画像(イントラ予測画像)を生成する。
動き検出部112は、動画像信号に含まれる対象ブロックに対して動きベクトルを検出し、その検出された動きベクトルをインター予測部111とエントロピー符号化部104とに出力する。
インター予測部111は、メモリ109に格納されている画像を参照画像として参照するとともに、動き検出部112によって検出された動きベクトルを用いることによって、対象ブロックに対して動き補償を行う。インター予測部111は、このような動き補償を行うことによって、つまり対象ブロックに対してインター予測を行うことによって、対象ブロックの予測画像(インター予測画像)を生成する。
スイッチ113は、対象ブロックがイントラ予測符号化される場合には、面内予測部110によって生成された予測画像(イントラ予測画像)を減算器101及び加算器107に出力する。一方、スイッチ113は、対象ブロックがインター予測符号化される場合には、インター予測部111によって生成された予測画像(インター予測画像)を減算器101及び加算器107に出力する。
エントロピー符号化部104は、量子化部103によって量子化された係数列と、動き検出部112によって検出された動きベクトルとを、エントロピー符号化(可変長符号化)することによってビットストリームを生成する。また、本実施の形態では、エントロピー符号化部104は、ピクチャを複数のスライスセグメントに分割する。
図6は、本実施の形態におけるエントロピー符号化部104の構成の一例を示すブロック図である。
エントロピー符号化部104は、符号化処理部11と、符号量特定部12と、判定部13と、終端設定部14とを備える。
符号化処理部11は、ピクチャを構成する複数のブロックを順次エントロピー符号化する。なお、このエントロピー符号化されるブロックは、直交変換および量子化されたブロックであって、上述の係数列として構成されている。なお、以下では、ブロックをCTUとして説明する。
符号量特定部12は、その複数のCTUのうちの1つのCTUである対象CTUがエントロピー符号化されるごとに、その対象CTUを含むスライスセグメントの符号量を特定する。
判定部13は、特定された符号量が閾値以上か否かを判定する。閾値は、ビットストリームのネットワーク伝送に用いられるパケットサイズ(具体的にはMTU値)以下の数値である。
終端設定部14は、閾値以上と判定された場合に、そのビットストリームにおけるエントロピー符号化された対象CTUに対応する位置に、そのスライスセグメントの終端を示す終端情報(例えば、end_of_slice_segment_flag=1)を設定する。なお、ビットストリームにおけるエントロピー符号化された対象CTUに対応する位置は、その対象CTUの直後であってもよく、その対象CTUの直前であってもよく、その対象CTUの次のCTUの直後であってもよい。
これにより、スライスセグメントの終端(すなわち境界)が設定される。つまり、ビットストリームに含まれる符号化されたピクチャは、MTU値以下であって、そのMTU値に近い符号量の複数のスライスセグメントに分割することができる。つまり、1つのパケットの空き容量を抑えてそのパケットに1つのスライスセグメントを格納することができる。その結果、パケットの空き容量の無駄を抑えることができ、ネットワーク伝送の伝送効率を向上することができる。
図7は、本実施の形態における画像符号化装置100によって符号化されたピクチャに含まれる複数のスライスセグメントの一例を示す図である。
符号化されたピクチャは、図7に示すように、複数のスライスセグメントに分割される。また、複数のスライスセグメントを含むセットはスライスに相当する。言い換えれば、スライスが、複数のスライスセグメントに分割される。このような分割を、従属スライス分割ともいう。また、その複数のスライスセグメントのそれぞれは、ピクチャに含まれるスライスを構成する、独立スライスセグメントと、その独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントとのうち何れか1つのスライスセグメントである。例えば、図7に示すように、ピクチャは、ピクチャの先頭(左上端)に配置される独立スライスセグメント1と、その独立スライスセグメント1に従属する従属スライスセグメント1a、1b、1c・・・とを含む。
独立スライスセグメントおよび従属スライスセグメントは、上記非特許文献1の独立スライス・データおよび従属スライス・データに相当する。具体的には、独立スライスセグメントおよび従属スライスセグメントは、それぞれ以下の特徴を有する。
独立スライスセグメントおよび従属スライスセグメントは、それぞれスライスヘッダを有する。したがって、これらのスライスセグメントはNALユニットを構成する。しかし、従属スライスセグメントのスライスヘッダに含まれるシンタックス情報は、独立スライスセグメントのスライスヘッダに含まれるシンタックス情報よりも少ない。したがって、従属スライスセグメントの復号には、独立スライスセグメントのスライスヘッダに含まれる大部分のシンタックス情報がコピーされて用いられる。これにより、画像復号装置は、従属スライスセグメントだけでは、その従属スライスセグメントを復号することができず、上述のように、独立スライスセグメントのスライスヘッダを必要とする。
また、独立スライスセグメントとそれに従属する少なくとも1つの従属スライスセグメントからなるピクチャ内では、CTUのイントラ予測および予測動きベクトルの算出に、他のCTUの情報を参照することができる。つまり、このピクチャ内では、互いに異なる複数のスライスセグメントでも、そのスライスセグメントで行われる動き探索および予測などの処理は同じである。言い換えれば、スライスの境界と異なり、画像符号化装置100は、従属スライスセグメントに対するイントラ予測および予測動きベクトルの算出では、その従属スライスセグメントの境界をまたいだ参照が可能である。したがって、このピクチャ内では、参照関係が途切れないため、符号化効率の低下を防ぐことができる。
つまり、図3Bに示すように、ブロックBk1のエントロピー符号化によって、そのブロックBk1を含むスライスセグメントの終端が設定されるか否かに関わらず、次のブロックBk2の符号化を他のスライスセグメントを参照しながら開始することができる。つまり、動き探索、予測、直交変換および量子化、エントロピー符号化の順に行われる一連の符号化のパイプライン処理において、スライスセグメントに含まれる最後のブロックBk1が符号化された後に、他のスライスセグメントを参照して既に行われた次のブロックBk2に対する動き探索などの処理のやり直しを防ぐことができる。すなわち、図4に示すパイプラインバブルの発生を抑えることができる。その結果、符号化の処理性能の低下を抑えることができる。
図8は、本実施の形態におけるエントロピー符号化部104の処理動作の一例を示すフローチャートである。
エントロピー符号化部104は、図8に示すステップS11〜S16の各処理を、ピクチャに含まれる複数のCTUのそれぞれに対して順に実施する。複数のCTUは、例えばピクチャに含まれる1番目〜Nmax番目までの全てのCTUであって、それらのCTUが対象CTUとして順に処理される。なお、以下、n番目の対象CTUをCTUnとして示す。
まず、符号化処理部11は、係数列からなる対象CTUnをエントロピー符号化する(ステップS11)。次に、判定部13は、対象スライスセグメントに含まれる既にエントロピー符号化されたCTUの数であるCTU数が最小CTU数以上であるか否かを判定する(ステップS12)。なお、対象スライスセグメントは、ステップS11でエントロピー符号化された対象CTUnを含むスライスセグメントである。つまり、このステップS12の処理において判定されるCTU数には、直前のステップS11においてエントロピー符号化された対象CTUnの数(すなわち1)が含まれている。
ここで、判定部13によってCTU数が最小CTU数以上でないと判定されると(ステップS12のNo)、エントロピー符号化部104は、ステップS11からの処理を繰り返し実行する。この処理が繰り返されるときには、n番目の次の(n+1)番目のCTUが対象CTUとして処理される。なお、n番目がNmax番目である場合には、エントロピー符号化部104は、ステップS11からの処理を繰り返すことなく、ピクチャに対するエントロピー符号化を終了する。
一方、判定部13によってCTU数が最小CTU数以上であると判定すると(ステップS12のYes)、符号量特定部12は、対象スライスセグメントの符号量を特定する(ステップS13)。例えば、符号量特定部12は、その対象スライスセグメントのうち、最近のステップS11よりも前に既にエントロピー符号化された部分があれば、その部分の符号量に、最近のステップS11にてエントロピー符号化された対象CTUnの符号量を加算する。これにより、対象スライスセグメントの符号量が特定される。
そして、判定部13は、ステップS13で特定された対象スライスセグメントの符号量が閾値以上であるか否かを判定する(ステップS14)。ここで、対象スライスセグメントの符号量が閾値以上でないと判定されると(ステップS14のNo)、判定部13は、さらに、対象スライスセグメントのCTU数が最大CTU数以上であるか否かを判定する(ステップS15)。
ここで、CTU数が最大CTU数以上でないと判定されると(ステップS15のNo)、エントロピー符号化部104は、ステップS11からの処理を繰り返し実行する。
また、ステップS14において、対象スライスセグメントの符号量が閾値以上であると判定された場合には(ステップS14のYes)、終端設定部14は、対象スライスセグメントの終端を示す終端情報を設定する(ステップS16)。また、ステップS15において、CTU数が最大CTU数以上であると判定された場合(ステップS15のYes)にも、終端設定部14は、対象スライスセグメントの終端を示す終端情報を設定する(ステップS16)。
このような終端情報が設定されることによって、対象スライスセグメントの終端が確定する。
ここで、上述の最小CTU数は、例えば44である。つまり、1ピクチャあたりの画素数が4096×2160である場合、その1ピクチャに含まれる32×32画素のCTUは8640個である。そして、HEVC規格では、1ピクチャあたりのスライスセグメントの最大数は200以下に制限されている。したがって、図8に示すステップS12によって、何れのスライスセグメントであっても、そのスライスセグメントに含まれるCTUの数を最小CTU数44(8640/200=43.2)以上にしておけば、HEVC規格に準じて、1ピクチャあたりのスライスセグメントの数を200以下に抑えることができる。
また、上述の最大CTU数は、例えば2160である。つまり、1ピクチャあたりの画素数が4096×2160である場合、画像復号装置において複数のスライスセグメントに対する並列処理を図るため、1つのピクチャを4つ以上のスライスセグメントに分割することが望ましい。したがって、図8に示すステップS15によって、何れのスライスセグメントであっても、そのスライスセグメントに含まれるCTUの数を最大CTU数2160(8640/4)以下にしておけば、1ピクチャあたりのスライスセグメントの数を4つ以上にすることができる。
また、上述の閾値は、1つのパケットの空き容量を抑えて1つのスライスセグメントがそのパケットに格納されるように設定されていることが望ましい。これにより伝送効率を向上することができる。例えば、上述のように、イーサネット(登録商標)の場合には、MTU値は1500バイトである。したがって、その閾値は、例えば1500バイトである。
[まとめ]
このように、本実施の形態における画像符号化方法は、ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、この画像符号化方法では、まず、それぞれそのピクチャを構成する複数のCTUを順次符号化する。次に、その複数のCTUのうちの1つのCTUである対象CTUが符号化されるごとに、その対象CTUを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定する。そして、その閾値以上と判定された場合に、ビットストリームにおける符号化された対象CTUに対応する位置に、そのスライスセグメントの終端を示す終端情報を設定する。このスライスセグメントは、ピクチャに含まれるスライスを構成する、独立スライスセグメントと、その独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントとのうち何れか1つのスライスセグメントである。また、閾値は、ビットストリームのネットワーク伝送に用いられるパケットサイズ以下の数値である。
これにより、CTUが符号化されるごとに、スライスセグメントの符号量が特定され、その符号量が閾値以上である場合にスライスセグメントの終端が設定されるため、ピクチャをそれぞれ目標とする符号量の複数のスライスセグメントに分割することができる。つまり、1つのパケットの空き容量を抑えてそのパケットに1つのスライスセグメントを格納することができる。その結果、パケットの空き容量の無駄を抑えることができ、ネットワーク伝送の伝送効率を向上することができる。
さらに、これらの複数のスライスセグメントのそれぞれは、独立スライスセグメントおよび従属スライスセグメントのうちの一方であり、1つのスライスセグメントの符号化において、他のスライスセグメントを参照することができる。したがって、CTUの符号化によって特定されるスライスセグメントの符号量に応じて、そのCTUがスライスセグメントの最後のCTUになるか否かに関わらず、他のスライスセグメントを参照して次のCTUの符号化を開始することができる。したがって、動き探索、予測、直交変換および量子化、エントロピー符号化の順に行われる一連の符号化のパイプライン処理において、スライスセグメントに含まれる最後のCTUが符号化された後に、他のスライスセグメントを参照して既に行われた次のCTUに対する動き探索などの処理のやり直しを防ぐことができる。その結果、符号化の処理性能の低下を抑えることができる。
また、画像符号化方法では、さらに、符号量が特定されたスライスセグメントに含まれる符号化済みのCTUの数が、予め定められた最小CTU数以上であるか否かを判定する。そして、特定された符号量の判定では、その符号化済みのCTUの数が最小CTU数以上であると判定された場合に、特定された符号量が閾値以上か否かを判定する。
これにより、スライスセグメントに含まれる符号化済みCTUの数が最小CTU数未満の場合には、スライスセグメントの終端が設定されないため、そのスライスセグメントに含まれるCTUの数を最小CTU数以上にすることができる。これにより、例えばHEVC規格に準じた数(例えば200)以下のスライスセグメントを生成することができる。
また、画像符号化方法では、さらに、特定された符号量が閾値未満と判定された場合に、符号量が特定されたスライスセグメントに含まれる符号化済みのCTUの数が、予め定められた最大CTU数以上であるか否かを判定する。そして、その符号化済みのCTUの数が最大CTU数以上であると判定された場合に、ビットストリームにおける符号化された対象CTUに対応する位置に、スライスセグメントの終端を示す終端情報を設定する。
これにより、スライスセグメントの符号量が閾値未満であっても、そのスライスセグメントに含まれる符号化済みのCTUの数が最大CTU数以上であれば、スライスセグメントの終端が設定される。したがって、スライスセグメントに含まれるCTUの数は最大CTU数以下に制限されるため、ピクチャを最適な数以上のスライスセグメントに分割することができる。最適な数は例えば4である。したがって、画像復号装置では、その4つのスライスセグメントに対する復号を並列に行うことができる。
また、複数のCTUの符号化は、2値化および算術符号化を含み、スライスセグメントの符号量の特定では、2値化が行われて算術符号化が行われる前の対象CTUの2値化データのデータ量を用いて、スライスセグメントの符号量を特定する。例えば、スライスセグメントの符号量の特定では、2値化データのデータ量から、算術符号化された対象CTUの符号量を推定し、推定された対象CTUの符号量を用いて、スライスセグメントの符号量を特定する。
これにより、対象CTUに対する算術符号化が完了する前に、その対象CTUのデータ量を用いてスライスセグメントの符号量を特定することができる。したがって、符号化の処理を高速化することができる。また、比較的処理時間が長い算術符号化をパイプライン処理から外すことができる。
また、本実施の形態における伝送方法は、ピクチャを符号化することによって生成されたビットストリームを伝送する伝送方法であって、この伝送方法では、まず、それぞれピクチャを構成する複数のCTUを順次符号化する。次に、その複数のCTUのうちの1つのCTUである対象CTUが符号化されるごとに、対象CTUを含むスライスセグメントの符号量を特定し、特定された符号量が閾値以上か否かを判定する。そして、閾値以上と判定された場合に、ビットストリームにおける符号化された対象CTUに対応する位置に、スライスセグメントの終端を示す終端情報を設定し、その終端情報を含むスライスセグメントをパケットに格納して伝送する。
これにより、上述と同様に、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができる。
(変形例)
上記実施の形態では、対象CTUに対してエントロピー符号化を行った後に、そのエントロピー符号化された対象CTUの実際の符号量を用いて、対象スライスセグメントの符号量を特定したが、その対象CTUの符号量を推定してもよい。本変形例では、符号量特定部12は、符号化処理部11による対象CTUのエントロピー符号化が完了する前に、その対象CTUの符号量を推定する。
図9は、上記実施の形態の変形例に係るエントロピー符号化部104の構成の一例を示すブロック図である。
本変形例に係るエントロピー符号化部104の符号化処理部11は、CABAC(Context-Adaptive Binary Arithmetic Coding)によって対象CTUをエントロピー符号化する。具体的には、図9に示すように、符号化処理部11は、2値化部11aと、算術符号化部11bと、メモリ11cとを備える。
2値化部11aは、予め定められた変換法則にしたがって、対象CTUの係数列を2値化データに変換し、メモリ11cに格納する。
メモリ11cには、各CTUの2値化データとともに、終端設定部14から出力される終端情報が格納される。なお、本変形例では、終端設定部14は、対象CTUを含むスライスセグメントの符号量が閾値以上と判定された場合に、その対象CTUの2値化データに対応する位置に終端情報を出力する。
算術符号化部11bは、メモリ11cから2値化データを読み出して算術符号化を行う。具体的には、算術符号化部11bは、内部に0/1の生起確率を示すテーブルを格納しており、そのテーブルを参照して、次のビットの0/1の生起確率を取得する。そして、算術符号化部11bは、その生起確率を用いて2値化データを算術符号化する。なお、算術符号化部11bは、ビットの値が予測どおりでなかった場合、内部のテーブルの0/1の生起確率を更新する。算術符号化部11bは、算術符号化された対象CTUを出力する。また、算術符号化部11bは、メモリ11cから終端情報を読み出したときには、その終端情報を算術符号化する。
符号量特定部12は、2値化部11aから上述の2値化データを取得し、その2値化データから、対象CTUの符号量を推定する。例えば、符号量特定部12は、2値化データごとに、その2値化データと、その2値化データに対応する符号量とを示す変換テーブルを保持し、その変換テーブルを参照することによって、対象CTUの符号量を推定する。このような符号量の具体的な推定方法は、特許文献である特開2009−38746公報に開示されている。
このように、本変形例では、複数のCTUの符号化は、2値化および算術符号化を含む。そして、スライスセグメントの符号量の特定では、2値化が行われて算術符号化が行われる前の対象CTUの2値化データのデータ量を用いて、スライスセグメントの符号量を特定する。すなわち、スライスセグメントの符号量の特定では、2値化データのデータ量から、算術符号化された対象CTUの符号量を推定し、推定された対象CTUの符号量を用いて、スライスセグメントの符号量を特定する。あるいは、推定された対象CTUの符号量と対象CTUの符号量との誤差を考慮し、推定された対象CTUの符号量の約95%のデータ量を、対象CTUの符号量として特定してもよい。
これにより、対象CTUに対する算術符号化が完了する前に、その対象CTUのデータ量を用いてスライスセグメントの符号量を特定することができる。したがって、符号化の処理を高速化することができる。また、比較的処理時間が長い算術符号化をパイプライン処理から外すことができる。
また、上記変形例では、2値化データのデータ量から、算術符号化された対象CTUの符号量を推定したが、2値化データのデータ量を対象CTUの符号量として特定してもよい。あるいは、ビットレートに応じて2値化データのデータ量と符号量の関係が変化するため、低いビットレートの場合は、2値化データのデータ量の約70%のデータ量を、対象CTUの符号量として特定してもよい。また、高いビットレートの場合は、2値化データのデータ量の約80%のデータ量を、対象CTUの符号量として特定してもよい。
(実施の形態2)
実施の形態1では、最大ブロック数、すなわち最大CTU数は固定されているが、本実施の形態では、その最大CTU数を上限CTU数として更新する。なお、本実施の形態における画像符号化装置は、実施の形態1の画像符号化装置100と同一の構成を有し、本実施の形態では、判定部13が上限CTU数を更新する点が、実施の形態1と異なる。
図10は、実施の形態1の画像符号化装置100によって符号化されて送信されるピクチャの伝送時間の一例を示す図である。
例えば、実施の形態1の画像符号化装置100では、図10の(a)に示すように、各スライスセグメントの符号量などに基づいて、ピクチャを5つのスライスセグメントSL0〜SL4に分割する。そして、画像符号化装置100は、それらの5つのスライスセグメントSL0〜SL4を順に送信する。
しかし、実施の形態1の画像符号化装置100は、他のピクチャを符号化するときには、図10の(b)に示すように、そのピクチャの画像データによって、そのピクチャを6つ以上のスライスセグメントに分割することがある。具体的には、画像符号化装置100は、図10の(b)に示すように、7つのスライスセグメントSL0〜SL6に分割することがある。この場合には、画像符号化装置100は、それらの7つのスライスセグメントSL0〜LS6を順に送信する。例えば、各スライスセグメントは1つのパケットに格納されて送信される。このパケットのデータ列は、固定長であって、スライスセグメントの符号量に関わらず、予め定められたビット数を有する。そのため、符号化されたピクチャに含まれるスライスセグメントの数が多いほど、その符号化されたピクチャの送信には時間がかかる。つまり、図10の(b)に示す例では、符号化されたピクチャの送信にかかる時間が、図10の(a)に示す例よりも長くなってしまう。
実施の形態1において、画像符号化装置100がピクチャを多くのスライスセグメントに分割する原因の一つには、最大CTU数が固定されていることがある。つまり、図8に示すように、対象スライスセグメントの符号量が閾値よりも小さくても、その対象スライスセグメントに含まれるCTUの数が最大CTU数であれば、その対象スライスセグメントには終端が設定される。したがって、その対象スライスセグメントに含められなかった残りのCTUは、次のスライスセグメントに含められる。その結果、ピクチャが多くのスライスセグメントに分割される。ここで、仮に、最大CTU数を増加させれば、残りのCTUを対象スライスセグメントに含めることができ、スライスセグメントの数を減少させることができる。
そこで、本実施の形態における画像符号化装置100は、最大CTU数を上限CTU数として更新する。
図11は、本実施の形態の画像符号化装置100におけるピクチャの分割例を、実施の形態1と比較して示す図である。具体的には、図11の(a)は、本実施の形態におけるピクチャの分割例を示し、図11の(b)は、実施の形態1におけるピクチャの分割例を示す。
実施の形態1では、画像符号化装置100は、図11の(b)に示すように、上述の終端情報を設定することによって、ピクチャから複数のスライスセグメントのそれぞれを順に生成する。言い換えれば、画像符号化装置100は、複数のスライスセグメントのそれぞれを順に符号化する。
このような場合、実施の形態1では、符号化されたスライスセグメントSL0およびSL1のそれぞれに含まれるCTUの数が最大CTU数よりも少くなくても、画像符号化装置100は、その最大CTU数を更新することなく維持する。したがって、画像符号化装置100は、スライスセグメントSL2、SL3およびSL4のそれぞれの符号量が閾値よりも少なくても、その最大CTU数だけのCTUを含むスライスセグメントSL2、SL3およびSL4を順に符号化する。さらに、画像符号化装置100は、残りの少ない数のCTUを含むスライスセグメントSL5を符号化する。
その結果、実施の形態1では、画像符号化装置100は、図11の(b)に示すように、ピクチャを6つのスライスセグメントSL0〜SL5に分割する。つまり、画像符号化装置100は、6つのスライスセグメントSL0〜SL5を、スライスセグメントSL0、SL1、SL2、SL3、SL4、SL5の順に符号化する。そして、画像符号化装置100は、これらの6つのスライスセグメントSL0〜SL5のそれぞれが符号化されるごとに、そのスライスセグメントを送信する。
一方、本実施の形態でも、画像符号化装置100は、図11の(a)に示すように、上述の終端情報を設定することによって、ピクチャから複数のスライスセグメントのそれぞれを順に生成する。言い換えれば、画像符号化装置100は、複数のスライスセグメントのそれぞれを順に符号化する。
しかし、本実施の形態では、上述のような場合に、符号化されたスライスセグメントSL0およびSL1のそれぞれに含まれるCTUの数が上限CTU数よりも少ないときには、画像符号化装置100は、その上限CTU数を更新する。つまり、画像符号化装置100は、その上限CTU数を増加する。具体的には、画像符号化装置100は、スライスセグメントを符号化するごとに、その符号化されたスライスセグメントに含まれるCTUの数と、更新前の上限CTU数との差分を、上限CTU数の初期値に加算する。これにより、符号化されたスライスセグメントに含まれるCTUの数が少なければ、上限CTU数を増加させることができる。その結果、本実施の形態における画像符号化装置100は、増加された上限CTU数を用いることによって、多くのCTUを含むスライスセグメントSL3およびSL4を符号化することができる。したがって、本実施の形態では、実施の形態1のようにスライスセグメントSL5を符号化することなく、1つのピクチャから生成されるスライスセグメントの数を抑えることができる。
言い換えれば、本実施の形態における画像符号化装置100は、図11の(a)に示すように、ピクチャを、図11の(b)の例と比べて1つ少ない5つのスライスセグメントSL0〜SL4に分割することができる。つまり、画像符号化装置100は、5つのスライスセグメントSL0〜SL4だけを順に符号化して送信することができる。したがって、本実施の形態における画像符号化装置100は、図11の(b)に示す例と比べて、符号化されたピクチャの送信にかかる時間を短くすることができる。
図12は、本実施の形態における画像符号化装置100のエントロピー符号化部104の処理動作の一例を示すフローチャートである。
エントロピー符号化部104は、ピクチャに対して図12に示すステップS10の処理を実施し、次に、ステップS11〜S17の各処理を、ピクチャに含まれる複数のCTUのそれぞれに対して順に実施する。なお、図12に示すステップS10〜S17の処理のうち、実施の形態1の図8に示すステップと同一の処理については、図8と同一の符号を用いて示し、詳細な説明を省略する。
まず、判定部13は、予め定められた規定CTU数を上限CTU数の初期値に設定する(ステップS10)。
そして、符号化処理部11は、係数列からなる対象CTUnをエントロピー符号化する(ステップS11)。次に、判定部13は、対象スライスセグメントに含まれる既にエントロピー符号化されたCTUの数であるCTU数が最小CTU数以上であるか否かを判定する(ステップS12)。
ここで、判定部13によってCTU数が最小CTU数以上でないと判定されると(ステップS12のNo)、エントロピー符号化部104は、ステップS11からの処理を繰り返し実行する。
一方、判定部13によってCTU数が最小CTU数以上であると判定されると(ステップS12のYes)、符号量特定部12は、対象スライスセグメントの符号量を特定する(ステップS13)。
そして、判定部13は、ステップS13で特定された対象スライスセグメントの符号量が閾値以上であるか否かを判定する(ステップS14)。ここで、対象スライスセグメントの符号量が閾値以上でないと判定されると(ステップS14のNo)、判定部13は、さらに、対象スライスセグメントのCTU数が上限CTU数以上であるか否かを判定する(ステップS15a)。
ここで、CTU数が上限CTU数以上でないと判定されると(ステップS15aのNo)、エントロピー符号化部104は、ステップS11からの処理を繰り返し実行する。
また、ステップS14において、対象スライスセグメントの符号量が閾値以上であると判定された場合には(ステップS14のYes)、終端設定部14は、対象スライスセグメントの終端を示す終端情報を設定する(ステップS16)。また、ステップS15aにおいて、CTU数が上限CTU数以上であると判定された場合(ステップS15aのYes)にも、終端設定部14は、対象スライスセグメントの終端を示す終端情報を設定する(ステップS16)。
このような終端情報が設定されることによって、対象スライスセグメントの終端が確定する。つまり、スライスセグメントが生成または符号化される。
そして、ステップS16の処理が行われた後に、判定部13は、上限CTU数を更新する(ステップS17)。具体的には、判定部13は、規定CTU数に上述の差分を加算することによって、上限CTU数を更新する。その差分は、ステップS16で終端が設定されたスライスセグメントに含まれるCTUの数であるスライスセグメントCTU数を、更新前の上限CTU数から減算することによって得られる数である。
以上のように、本実施の形態における画像符号化装置100は、特定された符号量が閾値未満と判定された場合に、その符号量が特定されたスライスセグメントに含まれる符号化済みのブロックの数が、上限ブロック数以上であるか否かを判定する。そして、画像符号化装置100は、符号化済みのブロックの数が上限ブロック数以上であると判定された場合に、ビットストリームにおける符号化された対象ブロックに対応する位置に、スライスセグメントの終端を示す終端情報を設定する。そして、画像符号化装置100は、終端情報によって終端が示されたスライスセグメントに含まれる符号化済みのブロックの数であるスライスセグメントブロック数に応じて、上限ブロック数を更新する。なお、上述のブロックは例えばCTUであり、上限ブロック数は例えば上限CTU数であり、スライスセグメントブロック数は例えばスライスセグメントCTU数である。
例えば、画像符号化装置100は、予め定められた数である規定ブロック数を、上限ブロック数の初期値として設定する。そして、画像符号化装置100は、上限ブロック数の更新では、更新前の上限ブロック数からスライスセグメントブロック数を減算することによって得られる値に、規定ブロック数を加算することによって、上限ブロック数を更新する。
これにより、終端情報によって終端が示されたスライスセグメントのスライスセグメントブロック数が少なければ、上限ブロック数の更新によって、その上限ブロック数を増加することができる。したがって、その後、終端情報の設定によって新たに生成されるスライスセグメントのスライスセグメントブロック数が多くなる可能性を高めることができ、符号化されたピクチャに含まれるスライスセグメントの数を少なくすることができる。その結果、符号化されたピクチャをスライスセグメントごとに送信する場合には、スライスセグメントの数が多いためにそのピクチャの送信にかかる時間が長くなってしまうことを抑制することができる。
(実施の形態3)
実施の形態1では、最大ブロック数、すなわち最大CTU数は固定されているが、本実施の形態では、実施の形態2と同様に、その最大CTU数を上限CTU数として更新する。また、実施の形態2では、最初に比較的小さい数を初期値として上限CTU数に設定し、スライスセグメントが符号化されるごとに、そのスライスセグメントに含まれるCTUの数に応じて、上限CTU数を更新する。しかし、本実施の形態では、最初にできるだけ大きい数を初期値として上限CTU数に設定し、スライスセグメントが符号化されるごとに、そのスライスセグメントに含まれるCTUの数に応じて、上限CTU数を更新する。なお、本実施の形態における画像符号化装置は、実施の形態1および2の画像符号化装置100と同一の構成を有する。また、本実施の形態と実施の形態2とでは、判定部13が上限CTU数を設定および更新する方法が異なる。
図13は、本実施の形態の画像符号化装置100によって符号化されて送信されるピクチャの伝送時間の一例を示す図である。
本実施の形態でも、画像符号化装置100は、図13に示すように、上述の終端情報を設定することによって、ピクチャから複数のスライスセグメントのそれぞれを順に生成する。言い換えれば、画像符号化装置100は、複数のスライスセグメントのそれぞれを順に符号化する。
しかし、本実施の形態では、画像符号化装置100は、上記各実施の形態とは異なり、ピクチャを、予め定められた数である規定スライス数(図13の例では5)のスライスセグメントに分割する。つまり、本実施の形態では、画像符号化装置100は、図13に示すように、ピクチャを予め定められた5つのスライスセグメントSL0〜SL4に分割する。言い換えれば、画像符号化装置100は、ピクチャからスライスセグメントSL0、SL1、SL2、SL3、SL4の順に、予め定められた5つのスライスセグメントSL0〜SL4を符号化する。
さらに、本実施の形態では、画像符号化装置100は、スライスセグメントを符号化するときには、対象スライスセグメントに対して割り当てることが可能なできるだけ多くのCTUの数を上限CTU数として設定する。つまり、画像符号化装置100は、規定スライス数のスライスセグメントのそれぞれに対して最小CTU数のCTUを確保しながら、対象スライスセグメントに対して、できるだけ多くのCTUの数を上限CTU数として設定する。
例えば、画像符号化装置100は、符号化順で先頭のスライスセグメントSL0を符号化するときには、ピクチャに含まれる全CTUの数から、スライスセグメントSL1、SL2、SL3およびSL4のそれぞれの最小CTU数を減算する。画像符号化装置100は、この減算によって得られる値を、スライスセグメントSL0に対する上限CTU数として設定する。また、画像符号化装置100は、スライスセグメントSL1を符号化するときには、ピクチャに含まれる全CTUの数から、既に符号化されたスライスセグメントSL0に含まれるCTUの数と、スライスセグメントSL2、SL3およびSL4のそれぞれの最小CTU数とを減算する。画像符号化装置100は、この減算によって得られる値を、スライスセグメントSL1に対する上限CTU数として設定する。さらに、画像符号化装置100は、スライスセグメントSL2、SL3およびSL4に対しても上述と同様に、上限CTU数を設定する。
これにより、ピクチャに含まれる規定スライス数のスライスセグメントのうち、符号化順が前のスライスセグメントほど、そのスライスセグメントに対する上限CTU数を多くすることができる。その結果、ピクチャ内の上側にある領域ほど、大きなスライスセグメントが割り当てられ易くなる。つまり、風景画などのピクチャ内の上側の領域には、空などの背景が単調な画像として映し出され、高い周波数成分が含まれていない。したがって、その領域では、CTUごとの符号量が少ない。その結果、その領域に対する上限CTU数が多いほど、その領域のスライスセグメントを大きくすることができる。これにより、ピクチャにおいて符号化されるスライスセグメントの数を適切に抑えることができる。一方、ピクチャの下側にある領域ほど、その領域を多くのスライスセグメントに分割することができる。また、風景画などのピクチャ内の下側の領域には、複雑な画像が映し出され、高い周波数成分が多く含まれている。したがって、ピクチャ内の下側の領域では上側よりもその領域の符号量が多くなる傾向にあるが、多くのスライスセグメントをその領域に割り当てることができ、画質の低下を抑えることができる。
図14は、本実施の形態における画像符号化装置100が上限CTU数を更新する一例を示す図である。
例えば、画像符号化装置100は、図14に示すように、横幅が6CTUで、高さが4CTUからなるピクチャを、規定スライス数のスライスセグメントに分割する。規定スライス数は、予め定められた数であって、例えば4である。また、各スライスセグメントの最小CTU数は例えば1である。
このような場合、画像符号化装置100の判定部13は、まず、図14の(a)に示すように、符号化順で最初のスライスセグメントに対する上限CTU数を、「上限CTU数=全CTU数−(最小CUT数×(規定スライス数−1))・・・(式1)」によって算出する。具体的には、全CTU数は、6×4(CTU)であり、最小CTU数は1であり、規定スライス数は4である。したがって、判定部13は、符号化順で最初のスライスセグメントに対する上限CTU数を、6×4−(1×(4−1))=21として算出する。なお、このように算出される、符号化順で最初のスライスセグメントに対する上限CTU数は、上限CTU数の初期値として設定される。
次に、判定部13は、図14の(b)に示すように、符号化順で2番目のスライスセグメントに対する上限CTU数を、「上限CTU数=上限CTU数−スライスセグメントCUT数+最小CTU数・・・(式2)」によって更新する。つまり、判定部13は、符号化順で直前のスライスセグメントに対して算出された更新前の上限CTU数を、スライスセグメントCUT数と最小CTU数とに基づいて更新する。スライスセグメントCTU数は、符号化順で直前のスライスセグメントに含まれるCTUの数である。なお、上述の場合、符号化順で直前のスライスセグメントは、符号化順で最初のスライスセグメントである。具体的には、更新前の上限CTU数は21であり、スライスセグメントCTU数は例えば8であり、最小CTU数は1である。したがって、判定部13は、符号化順で2番目のスライスセグメントに対する上限CTU数を、21−8+1=14として算出する。すなわち、判定部13は、上限CTU数を21から14に更新する。
同様に、判定部13は、図14の(c)に示すように、符号化順で3番目のスライスセグメントに対する上限CTU数を、上記(式2)によって更新する。具体的には、更新前の上限CTU数は14であり、スライスセグメントCTU数は例えば7であり、最小CTU数は1である。したがって、判定部13は、符号化順で3番目のスライスセグメントに対する上限CTU数を、14−7+1=8として算出する。すなわち、判定部13は、上限CTU数を14から8に更新する。
同様に、判定部13は、図14の(d)に示すように、符号化順で4番目のスライスセグメントに対する上限CTU数を、上記(式2)によって更新する。具体的には、更新前の上限CTU数は8であり、スライスセグメントCTU数は例えば6であり、最小CTU数は1である。したがって、判定部13は、符号化順で4番目のスライスセグメントに対する上限CTU数を、8−6+1=3として算出する。すなわち、判定部13は、上限CTU数を8から3に更新する。
なお、上記(式1)および(式2)はそれぞれ、規定スライス数のスライスセグメントのそれぞれに対して最小CTU数のCTUを確保しながら、対象スライスセグメントに対して、できるだけ多くのCTUの数を上限CTU数として設定するための式である。
図15は、本実施の形態における画像符号化装置100のエントロピー符号化部104の処理動作の一例を示すフローチャートである。
エントロピー符号化部104は、ピクチャに対して図15に示すステップS10aの処理を実施し、次に、ステップS11〜S17aの各処理を、ピクチャに含まれる複数のCTUのそれぞれに対して順に実施する。なお、図15に示すステップS10a〜S17aの処理のうち、実施の形態1の図8に示すステップと同一の処理については、図8と同一の符号を用いて示し、詳細な説明を省略する。
まず、判定部13は、上記(式1)によって算出される数を上限CTU数の初期値として設定する(ステップS10a)。
そして、符号化処理部11は、係数列からなる対象CTUnをエントロピー符号化する(ステップS11)。次に、判定部13は、対象スライスセグメントに含まれる既にエントロピー符号化されたCTUの数であるCTU数が最小CTU数以上であるか否かを判定する(ステップS12)。
ここで、判定部13によってCTU数が最小CTU数以上でないと判定されると(ステップS12のNo)、エントロピー符号化部104は、ステップS11からの処理を繰り返し実行する。
一方、判定部13によってCTU数が最小CTU数以上であると判定すると(ステップS12のYes)、符号量特定部12は、対象スライスセグメントの符号量を特定する(ステップS13)。
そして、判定部13は、ステップS13で特定された対象スライスセグメントの符号量が閾値以上であるか否かを判定する(ステップS14)。ここで、対象スライスセグメントの符号量が閾値以上でないと判定されると(ステップS14のNo)、判定部13は、さらに、対象スライスセグメントのCTU数が上限CTU数以上であるか否かを判定する(ステップS15a)。
ここで、CTU数が上限CTU数以上でないと判定されると(ステップS15aのNo)、エントロピー符号化部104は、ステップS11からの処理を繰り返し実行する。
また、ステップS14において、対象スライスセグメントの符号量が閾値以上であると判定された場合には(ステップS14のYes)、終端設定部14は、対象スライスセグメントの終端を示す終端情報を設定する(ステップS16)。また、ステップS15aにおいて、CTU数が上限CTU数以上であると判定された場合(ステップS15aのYes)にも、終端設定部14は、対象スライスセグメントの終端を示す終端情報を設定する(ステップS16)。
このような終端情報が設定されることによって、対象スライスセグメントの終端が確定する。つまり、スライスセグメントが生成または符号化される。
そして、ステップS16の処理が行われた後に、判定部13は、上記(式2)によって上限CTU数を更新する(ステップS17a)。
以上のように、本実施の形態における画像符号化装置100は、ピクチャから得られるスライスセグメントの予め定められた数である規定スライス数に基づいて、上限ブロック数の初期値を設定する。そして、画像符号化装置100は、上限ブロック数の更新では、更新前の上限ブロック数からスライスセグメントブロック数を減算することによって得られる値に、予め定められた最小ブロック数を加算することによって、その上限ブロック数を更新する。また、上述の初期値は、ピクチャに含まれる全てのブロックから、最小ブロック数のブロックを、規定スライス数よりも1つ少ない数のスライスセグメントのそれぞれに割り当てた場合に、そのピクチャに含まれる残りのブロックの数である。なお、上述のブロックは例えばCTUであり、上限ブロック数は例えば上限CTU数であり、スライスセグメントブロック数は例えばスライスセグメントCTU数である。
これにより、複数のスライスセグメントが終端情報の設定によって順に生成される場合には、上限ブロック数の初期値および更新によって、その生成順が前にあるスライスセグメントほど、スライスセグメントブロック数が多くなる可能性を高めることができる。
例えば、ピクチャに含まれる複数のスライスセグメントは、ピクチャ内の上に配置されているスライスセグメントから順に生成される。また、風景画などのピクチャでは、そのピクチャの上の領域には空が映しだされている場合が多い。したがって、空が映し出されているような単調な画像の領域では、各ブロックの符号量は少ないため、その領域にある生成順が前のスライスセグメントのスライスセグメントブロック数を多くすることができる。これにより、符号化されたピクチャに含まれるスライスセグメントの数を少なくすることができる。その結果、符号化されたピクチャをスライスセグメントごとに送信する場合には、スライスセグメントの数が多いためにそのピクチャの送信にかかる時間が長くなってしまうことを抑制することができる。
以上、本開示の一態様に係る画像符号化方法、伝送方法および画像符号化装置について、上記各実施の形態および変形例を用いて説明したが、本開示は上記各実施の形態および変形例に限定されるものではない。
例えば、上記各実施の形態および変形例では、ピクチャを複数のスライスセグメントに分割したときには、そのピクチャには1つの独立スライスセグメントが含まれていたが、2つ以上の独立スライスセグメントが含まれていてもよい。この場合には、2つ以上の独立スライスセグメントのそれぞれについて、その独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントもピクチャに含まれる。また、上記各実施の形態および変形例では、ピクチャを複数のスライスに分割し、その複数のスライスのそれぞれを複数のスライスセグメントに分割してもよい。
また、上記各実施の形態およびその変形例では、例えば量子化パラメータを動的に変更することによって画像の圧縮率を調整するレート制御をさらに行ってもよい。例えば、画像符号化装置100は、スライスセグメントを符号化したときに、そのスライスセグメントの符号量が閾値以上であれば、次のスライスセグメントのブロックあたりの符号量が小さくなるようにレート制御を行う。これにより、生成されるスライスセグメントの数をより抑えることができる。
また、上記各実施の形態およびその変形例では、閾値としてMTU値以下の数値が用いられるが、画像符号化装置100は、ビットストリームの送信に用いられるMTU値をどのように取得してもよい。例えば、画像符号化装置100は、以下に示すようにMTU値を取得する。
[MTU値の取得例]
画像符号化装置100は、ビットストリームの送信に用いられるMTU値を、TCP(Transmission Control Protocol)通信開始時のハンドシェイクによって取得してもよい。
図16は、TCP通信開始時のハンドシェイクによってMTU値を取得する例を示す図である。
例えば、図16に示すように、画像符号化装置100を備える端末201は、TCPによって端末202と通信し、その端末202にビットストリームを送信する。この場合、通信開始時に、端末201と端末202とは、互いのMSS(Maximum Segment Size)値をハンドシェイクによって通知する。つまり、端末201は、自らのMSS値を端末202に通知し、端末202は、自らのMSS値を端末201に通知する。MSS値は、例えば、MTU値からTCPのヘッダサイズを減算することによって得られる値であって、具体的には、「MSS値=MTU値−40」によって得られる値である。そこで、端末201および端末202のMTU値が1500であれば、MSS値=1460が端末201と端末202との間で互いに通知される。その結果、端末201は、自らのMSS値が端末202のMSS値と同一であると判定し、そのMSS値を端末202との通信に用いる。つまり、端末201の画像符号化装置100は、そのMSS値に40を加算することによって得られる値を、端末202へのビットストリームの送信に用いられるMTU値として取得する。
または、画像符号化装置100は、ビットストリームの送信に用いられるMTU値を、経路MTU探索によって取得してもよい。なお、経路MTU探索は、RFC(Request for Comments)1191に規定されている。つまり、上述のTCP通信開始時のハンドシェイクでは、画像符号化装置100は、端末202のMTU値を取得することはできるが、端末間の経路のMTU値を取得することはできない。しかし、この経路MTU探索では、画像符号化装置100は、その経路の最小MTU値を取得することができる。
図17は、経路MTU探索によってMTUを取得する例を示す図である。
例えば、図17に示すように、画像符号化装置100を備える端末201は、ルータ211および212を介して端末202と通信し、その端末202にビットストリームを送信する。この場合、端末201は、1500バイトのIPデータのパケットを送信する。このとき、端末201は、そのパケットにDF(Don't Fragment)フラグ=1を設定しておく。なお、DFフラグ=1は、パケットの断片化の禁止を示す。経路上にあるルータ211は、そのパケットを受け取ると、そのパケットと自らのMTU値とを比較する。ルータ211のMTU値が1420バイトである場合、ルータ211は、そのパケットのデータ量が自らのMTU値に合わないため、そのパケットを分割しようとする。しかし、ルータ211は、そのパケットにDFフラグ=1が設定されているため、パケットを分割することができず、そのパケットを破棄する。
そして、ルータ211は、Type=3およびCode=4のICMP(Internet Control Message Protocol)で自らのMTU値を端末201に通知する。つまり、1420バイトのMTU値が端末201に通知される。その通知を受けた端末201は、DFフラグ=1が設定されたパケットを再び送信する。このとき送信されるパケットは、通知されたMTU値である1420バイトのIPデータを含む。ルータ212のMTU値が1420バイトであれば、この再び送信されたパケットは、ルータ211およびルータ212を介して端末202に送信される。また、ルータ212のMTU値が1420バイト未満であれば、上述のルータ211の例と同様に、端末201は、そのルータ212のMTU値に合わせたパケットを再送する。これにより、端末201は、端末201と端末202との間の経路における最小MTU値を取得することができる。
また、上記各実施の形態および変形例では、画像符号化装置100を備える端末は、ハンドオーバを行ってもよい。このハンドオーバによって、端末に取得される上述のMTU値が変化する場合には、画像符号化装置100は、その変化するMTU値に応じて閾値を設定し直してもよい。例えば、端末は、ハンドオーバによって、FDDI(Fiber Distributed Data Interface)の規格に準じた通信から、イーサネット(登録商標)の規格に準じた通信に切り替える。このとき、画像符号化装置100は、その切り替え後の規格のMTU値に応じて閾値を設定し直す。具体的には、画像符号化装置100は、符号化対象のピクチャの符号化が終了し、次のピクチャの符号化を開始するときに、その閾値を設定し直してもよい。なお、イーサネット(登録商標)では、MTU値は1500バイトであるが、FDDIでは、MTU値は4352バイトである。したがって、画像符号化装置100は、上述の例のようなハンドオーバが行われる場合、閾値を4352バイト以下の値から1500バイト以下のより小さい値に設定し直す。なお、画像符号化装置100は、通信に用いられる規格または技術がどのようなものであっても、その規格または技術のMTU値に応じて閾値を設定してもよい。例えば、IP(Internet Protocol)パケットをカプセル化してATM(Asynchronous Transfer Mode)ネットワーク上に送信する技術である「IP over ATM」では、MTU値は9180バイトである。画像符号化装置100は、このMTU値に応じて閾値を設定してもよい。
なお、上記各実施の形態および変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態および変形例の画像符号化装置などを実現するソフトウェアは、図8、図12または図15に示すフローチャートに含まれる各ステップをコンピュータに実行させるプログラムである。
(実施の形態4)
以上の各実施の形態において、機能ブロックの各々は、通常、MPU及びメモリ等によって実現可能である。また、機能ブロックの各々による処理は、通常、プロセッサなどのプログラム実行部が、ROM等の記録媒体に記録されたソフトウェア(プログラム)を読み出して実行することで実現される。当該ソフトウェアはダウンロード等により配布されてもよいし、半導体メモリなどの記録媒体に記録して配布されてもよい。なお、各機能ブロックをハードウェア(専用回路)によって実現することも、当然、可能である。
また、各実施の形態において説明した処理は、単一の装置(システム)を用いて集中処理することによって実現してもよく、又は、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するプロセッサは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、又は分散処理を行ってもよい。
本発明は、以上の実施例に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含される。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)又は動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、画像復号方法を用いた画像復号装置、及び両方を備える画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
[使用例]
図18は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex105、ex106、ex107、ex108、ex109、ex110、ex110が設置されている。
このコンテンツ供給システムex100では、インターネットex101に、インターネットサービスプロバイダex102又は通信網ex104、及び基地局ex105〜ex110を介して、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、及びスマートフォンex115などの各機器が接続される。当該コンテンツ供給システムex100は、上記のいずれかの要素を組合せて接続するようにしてもよい。固定無線局である基地局ex105〜ex110を介さずに、各機器が電話網又は近距離無線等を介して直接的又は間接的に相互に接続されていてもよい。また、ストリーミングサーバex103は、インターネットex101等を介して、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、及びスマートフォンex115などの各機器と接続される。また、ストリーミングサーバex103は、衛星ex116を介して、飛行機ex117内のホットスポット内の端末等と接続される。
なお、基地局ex105〜ex110の代わりに、無線アクセスポイント又はホットスポット等が用いられてもよい。また、ストリーミングサーバex103は、インターネットex101又はインターネットサービスプロバイダex102を介さずに直接通信網ex104と接続されてもよいし、衛星ex116を介さず直接飛行機ex117と接続されてもよい。
カメラex113はデジタルカメラ等の静止画撮影、及び動画撮影が可能な機器である。また、スマートフォンex115は、一般に2G、3G、3.9G、4G、そして今後は5Gと呼ばれる移動通信システムの方式に対応したスマートフォン機、携帯電話機、又はPHS(Personal Handyphone System)等である。
家電ex118は、冷蔵庫、又は家庭用燃料電池コージェネレーションシステムに含まれる機器等である。
コンテンツ供給システムex100では、撮影機能を有する端末が基地局ex105等を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、端末(コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、スマートフォンex115、及び飛行機ex117内の端末等)は、ユーザが当該端末を用いて撮影した静止画又は動画コンテンツに対して上記各実施の形態で説明した符号化処理を行い、符号化により得られた映像データと、映像に対応する音を符号化した音データと多重化し、得られたデータをストリーミングサーバex103に送信する。即ち、各端末は、本発明の一態様に係る画像符号化装置として機能する。
一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントは、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、ゲーム機ex112、カメラex113、家電ex114、スマートフォンex115、又は飛行機ex117内の端末等である。配信されたデータを受信した各機器は、受信したデータを復号化処理して再生する。即ち、各機器は、本発明の一態様に係る画像復号装置として機能する。
[分散処理]
また、ストリーミングサーバex103は複数のサーバ又は複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。例えば、ストリーミングサーバex103は、CDN(Contents Delivery Network)により実現され、世界中に分散された多数のエッジサーバとエッジサーバ間をつなぐネットワークによりコンテンツ配信が実現されていてもよい。CDNでは、クライアントに応じて物理的に近いエッジサーバが動的に割り当てられる。そして、当該エッジサーバにコンテンツがキャッシュ及び配信されることで遅延を減らすことができる。また、何らかのエラーが発生した場合又はトラフィックの増加などにより通信状態が変わる場合に複数のエッジサーバで処理を分散したり、他のエッジサーバに配信主体を切り替えたり、障害が生じたネットワークの部分を迂回して配信を続けることができるので、高速かつ安定した配信が実現できる。
また、配信自体の分散処理にとどまらず、撮影したデータの符号化処理を各端末で行ってもよいし、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、一般に符号化処理では、処理ループが2度行われる。1度目のループでフレーム又はシーン単位での画像の複雑さ、又は、符号量が検出される。また、2度目のループでは画質を維持して符号化効率を向上させる処理が行われる。例えば、端末が1度目の符号化処理を行い、コンテンツを受け取ったサーバ側が2度目の符号化処理を行うことで、各端末での処理負荷を減らしつつもコンテンツの質と効率を向上させることができる。この場合、ほぼリアルタイムで受信して復号する要求があれば、端末が行った一度目の符号化済みデータを他の端末で受信して再生することもできるので、より柔軟なリアルタイム配信も可能になる。
他の例として、カメラex113等は、画像から特徴量抽出を行い、特徴量に関するデータをメタデータとして圧縮してサーバに送信する。サーバは、例えば特徴量からオブジェクトの重要性を判断して量子化精度を切り替えるなど、画像の意味に応じた圧縮を行う。特徴量データはサーバでの再度の圧縮時の動きベクトル予測の精度及び効率向上に特に有効である。また、端末でVLC(可変長符号化)などの簡易的な符号化を行い、サーバでCABAC(コンテキスト適応型二値算術符号化方式)など処理負荷の大きな符号化を行ってもよい。
さらに他の例として、スタジアム、ショッピングモール、又は工場などにおいては、複数の端末によりほぼ同一のシーンが撮影された複数の映像データが存在する場合がある。この場合には、撮影を行った複数の端末と、必要に応じて撮影をしていない他の端末及びサーバを用いて、例えばGOP(Group of Picture)単位、ピクチャ単位、又はピクチャを分割したタイル単位などで符号化処理をそれぞれ割り当てて分散処理を行う。これにより、遅延を減らし、よりリアルタイム性を実現できる。
また、複数の映像データはほぼ同一シーンであるため、各端末で撮影された映像データを互いに参照し合えるように、サーバで管理及び/又は指示をしてもよい。または、各端末からの符号化済みデータを、サーバが受信し複数のデータ間で参照関係を変更、又はピクチャ自体を補正或いは差し替えて符号化しなおしてもよい。これにより、一つ一つのデータの質と効率を高めたストリームを生成できる。
また、サーバは、映像データの符号化方式を変更するトランスコードを行ったうえで映像データを配信してもよい。例えば、サーバは、MPEG系の符号化方式をVP系に変換してもよいし、H.264をH.265に変換してもよい。
このように、符号化処理は、端末、又は1以上のサーバにより行うことが可能である。よって、以下では、処理を行う主体として「サーバ」又は「端末」等の記載を用いるが、サーバで行われる処理の一部又は全てが端末で行われてもよいし、端末で行われる処理の一部又は全てがサーバで行われてもよい。また、これらに関しては、復号処理についても同様である。
[3D、マルチアングル]
近年では、互いにほぼ同期した複数のカメラex113及び/又はスマートフォンex115などの端末により撮影された異なるシーン、又は、同一シーンを異なるアングルから撮影した画像或いは映像を統合して利用することも増えてきている。各端末で撮影した映像は、別途取得した端末間の相対的な位置関係、又は、映像に含まれる特徴点が一致する領域などに基づいて統合される。
サーバは、2次元の動画像を符号化するだけでなく、動画像のシーン解析などに基づいて自動的に、又は、ユーザが指定した時刻において、静止画を符号化し、受信端末に送信してもよい。サーバは、さらに、撮影端末間の相対的な位置関係を取得できる場合には、2次元の動画像だけでなく、同一シーンが異なるアングルから撮影された映像に基づき、当該シーンの3次元形状を生成できる。なお、サーバは、ポイントクラウドなどにより生成した3次元のデータを別途符号化してもよいし、3次元データを用いて人物又はオブジェクトを認識或いは追跡した結果に基づいて、受信端末に送信する映像を、複数の端末で撮影した映像から選択、又は、再構成して生成してもよい。
このようにして、ユーザは、各撮影端末に対応する各映像を任意に選択してシーンを楽しむこともできるし、複数画像又は映像を用いて再構成された3次元データから任意視点の映像を切り出したコンテンツを楽しむこともできる。さらに、映像と同様に音も複数の相異なるアングルから収音され、サーバは、映像に合わせて特定のアングル又は空間からの音を映像と多重化して送信してもよい。
また、近年ではVirtual Reality(VR)及びAugmented Reality(AR)など、現実世界と仮想世界とを対応付けたコンテンツも普及してきている。VRの画像の場合、サーバは、右目用及び左目用の視点画像をそれぞれ作成し、Multi−View Coding(MVC)などにより各視点映像間で参照を許容する符号化を行ってもよいし、互いに参照せずに別ストリームとして符号化してもよい。別ストリームの復号時には、ユーザの視点に応じて仮想的な3次元空間が再現されるように互いに同期させて再生するとよい。
ARの画像の場合には、サーバは、現実空間のカメラ情報に、仮想空間上の仮想物体情報を、3次元的位置又はユーザの視点の動きに基づいて重畳する。復号装置は、仮想物体情報及び3次元データを取得又は保持し、ユーザの視点の動きに応じて2次元画像を生成し、スムーズにつなげることで重畳データを作成してもよい。または、復号装置は仮想物体情報の依頼に加えてユーザの視点の動きをサーバに送信し、サーバは、サーバに保持される3次元データから受信した視点の動きに合わせて重畳データを作成し、重畳データを符号化して復号装置に配信してもよい。なお、重畳データは、RGB以外に透過度を示すα値を有し、サーバは、3次元データから作成されたオブジェクト以外の部分のα値が0などに設定し、当該部分が透過する状態で、符号化してもよい。もしくは、サーバは、クロマキーのように所定の値のRGB値を背景に設定し、オブジェクト以外の部分は背景色にしたデータを生成してもよい。
同様に配信されたデータの復号処理はクライアントである各端末で行っても、サーバ側で行ってもよいし、互いに分担して行ってもよい。一例として、ある端末が、一旦サーバに受信リクエストを送り、そのリクエストに応じたコンテンツを他の端末で受信し復号処理を行い、ディスプレイを有する装置に復号済みの信号が送信されてもよい。通信可能な端末自体の性能によらず処理を分散して適切なコンテンツを選択することで画質のよいデータを再生することができる。また、他の例として大きなサイズの画像データをTV等で受信しつつ、鑑賞者の個人端末にピクチャが分割されたタイルなど一部の領域が復号されて表示されてもよい。これにより、全体像を共有化しつつ、自身の担当分野又はより詳細に確認したい領域を手元で確認することができる。
また今後は、屋内外にかかわらず近距離、中距離、又は長距離の無線通信が複数使用可能な状況下で、MPEG−DASHなどの配信システム規格を利用して、接続中の通信に対して適切なデータを切り替えながらシームレスにコンテンツを受信することが予想される。これにより、ユーザは、自身の端末のみならず屋内外に設置されたディスプレイなどの復号装置又は表示装置を自由に選択しながらリアルタイムで切り替えられる。また、自身の位置情報などに基づいて、復号する端末及び表示する端末を切り替えながら復号を行うことができる。これにより、目的地への移動中に、表示可能なデバイスが埋め込まれた隣の建物の壁面又は地面の一部に地図情報を表示させながら移動することも可能になる。また、符号化データが受信端末から短時間でアクセスできるサーバにキャッシュされている、又は、コンテンツ・デリバリー・サービスにおけるエッジサーバにコピーされている、などの、ネットワーク上での符号化データへのアクセス容易性に基づいて、受信データのビットレートを切り替えることも可能である。
[スケーラブル符号化]
コンテンツの切り替えに関して、図19に示す、上記各実施の形態で示した動画像符号化方法を応用して圧縮符号化されたスケーラブルなストリームを用いて説明する。サーバは、個別のストリームとして内容は同じで質の異なるストリームを複数有していても構わないが、図示するようにレイヤに分けて符号化を行うことで実現される時間的/空間的スケーラブルなストリームの特徴を活かして、コンテンツを切り替える構成であってもよい。つまり、復号側が性能という内的要因と通信帯域の状態などの外的要因とに応じてどのレイヤまで復号するかを決定することで、復号側は、低解像度のコンテンツと高解像度のコンテンツとを自由に切り替えて復号できる。例えば移動中にスマートフォンex115で視聴していた映像の続きを、帰宅後にインターネットTV等の機器で視聴したい場合には、当該機器は、同じストリームを異なるレイヤまで復号すればよいので、サーバ側の負担を軽減できる。
さらに、上記のように、レイヤ毎にピクチャが符号化されており、ベースレイヤの上位にエンハンスメントレイヤが存在するスケーラビリティを実現する構成以外に、エンハンスメントレイヤが画像の統計情報などに基づくメタ情報を含み、復号側が、メタ情報に基づきベースレイヤのピクチャを超解像することで高画質化したコンテンツを生成してもよい。超解像とは、同一解像度におけるSN比の向上、及び、解像度の拡大のいずれであってもよい。メタ情報は、超解像処理に用いる線形或いは非線形のフィルタ係数を特定するため情報、又は、超解像処理に用いるフィルタ処理、機械学習或いは最小2乗演算におけるパラメータ値を特定する情報などを含む。
または、画像内のオブジェクトなどの意味合いに応じてピクチャがタイル等に分割されており、復号側が、復号するタイルを選択することで一部の領域だけを復号する構成であってもよい。また、オブジェクトの属性(人物、車、ボールなど)と映像内の位置(同一画像における座標位置など)とをメタ情報として格納することで、復号側は、メタ情報に基づいて所望のオブジェクトの位置を特定し、そのオブジェクトを含むタイルを決定できる。例えば、図20に示すように、メタ情報は、HEVCにおけるSEIメッセージなど画素データとは異なるデータ格納構造を用いて格納される。このメタ情報は、例えば、メインオブジェクトの位置、サイズ、又は色彩などを示す。
また、ストリーム、シーケンス又はランダムアクセス単位など、複数のピクチャから構成される単位でメタ情報が格納されてもよい。これにより、復号側は、特定人物が映像内に出現する時刻などが取得でき、ピクチャ単位の情報と合わせることで、オブジェクトが存在するピクチャ、及び、ピクチャ内でのオブジェクトの位置を特定できる。
[Webページの最適化]
図21は、コンピュータex111等におけるwebページの表示画面例を示す図である。図22は、スマートフォンex115等おけるwebページの表示画面例を示す図である。図21及び図22に示すようにwebページが、画像コンテンツへのリンクであるリング画像を複数含む場合があり、閲覧するデバイスによってその見え方は異なる。画面上に複数のリンク画像が見える場合には、ユーザが明示的にリンク画像を選択するまで、又は画面の中央付近にリンク画像が近付く或いはリンク画像の全体が画面内に入るまでは、表示装置(復号装置)は、リンク画像として各コンテンツが有する静止画又はIピクチャを表示したり、複数の静止画又はIピクチャ等でgifアニメのような映像を表示をしたり、ベースレイヤのみ受信して映像を復号及び表示したりする。
ユーザによりリンク画像が選択された場合、表示装置は、ベースレイヤを最優先にして復号する。なお、webページを構成するHTMLにスケーラブルなコンテンツであることを示す情報があれば、表示装置は、エンハンスメントレイヤまで復号してもよい。また、リアルタイム性を担保するために、選択される前又は通信帯域が非常に厳しい場合には、表示装置は、前方参照のピクチャ(Iピクチャ、Pピクチャ、前方参照のみのBピクチャ)のみを復号及び表示することで、先頭ピクチャの復号時刻と表示時刻との間の遅延(コンテンツの復号開始から表示開始までの遅延)を低減できる。また、表示装置は、ピクチャの参照関係を敢えて無視して全てのBピクチャ及びPピクチャを前方参照にして粗く復号し、時間が経ち受信したピクチャが増えるにつれて正常の復号を行ってもよい。
[自動走行]
また、車の自動走行又は走行支援のため2次元又は3次元の地図情報などの静止画又は映像データを送受信する場合、受信端末は、1以上のレイヤに属する画像データに加えて、メタ情報として天候又は工事の情報なども受信し、これらを対応付けて復号してもよい。なお、メタ情報は、レイヤに属してもよいし、単に画像データと多重化されてもよい。
この場合、受信端末を含む車、ドローン又は飛行機などが移動するため、受信端末は、当該受信端末の位置情報を受信要求時に送信することで、基地局ex106〜ex110を切り替えながらシームレスな受信及び復号を実現できる。また、受信端末は、ユーザの選択、ユーザの状況又は通信帯域の状態に応じて、メタ情報をどの程度受信するか、又は地図情報をどの程度更新していくかを動的に切り替えることが可能になる。
以上のようにして、コンテンツ供給システムex100では、ユーザが送信した符号化された情報をリアルタイムでクライアントが受信して復号し、再生することができる。
[個人コンテンツの配信]
また、コンテンツ供給システムex100では、映像配信業者による高画質で長時間のコンテンツのみならず、個人による低画質で短時間のコンテンツのユニキャスト、又はマルチキャスト配信が可能である。また、このような個人のコンテンツは今後も増加していくと考えられる。個人コンテンツをより優れたコンテンツにするために、サーバは、編集処理を行ってから符号化処理を行ってもよい。これは例えば、以下のような構成で実現できる。
撮影時にリアルタイム又は蓄積して撮影後に、サーバは、原画又は符号化済みデータから撮影エラー、シーン探索、意味の解析、及びオブジェクト検出などの認識処理を行う。そして、サーバは、認識結果に基いて手動又は自動で、ピントずれ又は手ブレなどを補正したり、明度が他のピクチャに比べて低い又は焦点が合っていないシーンなどの重要性の低いシーンを削除したり、オブジェクトのエッジを強調したり、色合いを変化させるなどの編集を行う。サーバは、編集結果に基いて編集後のデータを符号化する。また撮影時刻が長すぎると視聴率が下がることも知られており、サーバは、撮影時間に応じて特定の時間範囲内のコンテンツになるように上記のように重要性が低いシーンのみならず動きが少ないシーンなどを、画像処理結果に基き自動でクリップしてもよい。または、サーバは、シーンの意味解析の結果に基づいてダイジェストを生成して符号化してもよい。
なお、個人コンテンツには、そのままでは著作権、著作者人格権、又は肖像権等の侵害となるものが写り込んでいるケースもあり、共有する範囲が意図した範囲を超えてしまうなど個人にとって不都合な場合もある。よって、例えば、サーバは、画面の周辺部の人の顔、又は家の中などを敢えて焦点が合わない画像に変更して符号化してもよい。また、サーバは、符号化対象画像内に、予め登録した人物とは異なる人物の顔が映っているかどうかを認識し、映っている場合には、顔の部分にモザイクをかけるなどの処理を行ってもよい。または、符号化の前処理又は後処理として、著作権などの観点からユーザが画像を加工したい人物又は背景領域を指定し、サーバは、指定された領域を別の映像に置き換える、又は焦点をぼかすなどの処理を行うことも可能である。人物であれば、動画像において人物をトラッキングしながら、顔の部分の映像を置き換えることができる。
また、データ量の小さい個人コンテンツの視聴はリアルタイム性の要求が強いため、帯域幅にもよるが、復号装置は、まずベースレイヤを最優先で受信して復号及び再生を行う。復号装置は、この間にエンハンスメントレイヤを受信し、再生がループされる場合など2回以上再生される場合に、エンハンスメントレイヤも含めて高画質の映像を再生してもよい。このようにスケーラブルな符号化が行われているストリームであれば、未選択時又は見始めた段階では粗い動画だが、徐々にストリームがスマートになり画像がよくなるような体験を提供することができる。スケーラブル符号化以外にも、1回目に再生される粗いストリームと、1回目の動画を参照して符号化される2回目のストリームとが1つのストリームとして構成されていても同様の体験を提供できる。
[その他の使用例]
また、これらの符号化又は復号処理は、一般的に各端末が有するLSIex500において処理される。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化又は復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、又はハードディスクなど)に組み込み、そのソフトウェアを用いて符号化又は復号処理を行ってもよい。さらに、スマートフォンex115がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データはスマートフォンex115が有するLSIex500で符号化処理されたデータである。
なお、LSIex500は、アプリケーションソフトをダウンロードしてアクティベートする構成であってもよい。この場合、端末は、まず、当該端末がコンテンツの符号化方式に対応しているか、又は、特定サービスの実行能力を有するかを判定する。端末がコンテンツの符号化方式に対応していない場合、又は、特定サービスの実行能力を有さない場合、端末は、コーデック又はアプリケーションソフトをダウンロードし、その後、コンテンツ取得及び再生する。
また、インターネットex101を介したコンテンツ供給システムex100に限らず、デジタル放送用システムにも上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)又は動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。衛星などを利用して放送用の電波に映像と音が多重化された多重化データを載せて送受信するため、コンテンツ供給システムex100のユニキャストがし易い構成に対してマルチキャスト向きであるという違いがあるが符号化処理及び復号処理に関しては同様の応用が可能である。
[ハードウェア構成]
図23は、スマートフォンex115を示す図である。また、図24は、スマートフォンex115の構成例を示す図である。スマートフォンex115は、基地局ex110との間で電波を送受信するためのアンテナex450と、映像及び静止画を撮ることが可能なカメラ部ex465と、カメラ部ex465で撮像した映像、及びアンテナex450で受信した映像等が復号されたデータを表示する表示部ex458とを備える。スマートフォンex115は、さらに、タッチパネル等である操作部ex466と、音声又は音響を出力するためのスピーカ等である音声出力部ex457と、音声を入力するためのマイク等である音声入力部ex456と、撮影した映像或いは静止画、録音した音声、受信した映像或いは静止画、メール等の符号化されたデータ、又は、復号化されたデータを保存可能なメモリ部ex467と、ユーザを特定し、ネットワークをはじめ各種データへのアクセスの認証をするためのSIMex468とのインタフェース部であるスロット部ex464とを備える。なお、メモリ部ex467の代わりに外付けメモリが用いられてもよい。
また、表示部ex458及び操作部ex466等を統括的に制御する主制御部ex460と、電源回路部ex461、操作入力制御部ex462、映像信号処理部ex455、カメラインタフェース部ex463、ディスプレイ制御部ex459、変調/復調部ex452、多重/分離部ex453、音声信号処理部ex454、スロット部ex464、及びメモリ部ex467とが同期バスex470を介して接続されている。
電源回路部ex461は、ユーザの操作により電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりスマートフォンex115を動作可能な状態に起動する。
スマートフォンex115は、CPU、ROM及びRAM等を有する主制御部ex460の制御に基づいて、通話及データ通信等の処理を行う。通話時は、音声入力部ex456で収音した音声信号を音声信号処理部ex454でデジタル音声信号に変換し、これを変調/復調部ex452でスペクトラム拡散処理し、送信/受信部ex451でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex450を介して送信する。また受信データを増幅して周波数変換処理及びアナログデジタル変換処理を施し、変調/復調部ex452でスペクトラム逆拡散処理し、音声信号処理部ex454でアナログ音声信号に変換した後、これを音声出力部ex457から出力する。データ通信モード時は、本体部の操作部ex466等の操作によってテキスト、静止画、又は映像データが操作入力制御部ex462を介して主制御部ex460に送出され、同様に送受信処理が行われる。データ通信モード時に映像、静止画、又は映像と音声を送信する場合、映像信号処理部ex455は、メモリ部ex467に保存されている映像信号又はカメラ部ex465から入力された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し、符号化された映像データを多重/分離部ex453に送出する。また、音声信号処理部ex454は、映像又は静止画等をカメラ部ex465で撮像中に音声入力部ex456で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex453に送出する。多重/分離部ex453は、符号化済み映像データと符号化済み音声データを所定の方式で多重化し、変調/復調部(変調/復調回路部)ex452、及び送信/受信部ex451で変調処理及び変換処理を施してアンテナex450を介して送信する。
電子メール又はチャットに添付された映像、又はウェブページ等にリンクされた映像を受信した場合、アンテナex450を介して受信された多重化データを復号するために、多重/分離部ex453は、多重化データを分離することにより、多重化データを映像データのビットストリームと音声データのビットストリームとに分け、同期バスex470を介して符号化された映像データを映像信号処理部ex455に供給するとともに、符号化された音声データを音声信号処理部ex454に供給する。映像信号処理部ex455は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって映像信号を復号し、ディスプレイ制御部ex459を介して表示部ex458から、リンクされた動画像ファイルに含まれる映像又は静止画が表示される。また音声信号処理部ex454は、音声信号を復号し、音声出力部ex457から音声が出力される。なおリアルタイムストリーミングが普及しているため、ユーザの状況によっては音声の再生が社会的にふさわしくない場も起こりえる。そのため、初期値としては、音声信号は再生せず映像データのみを再生する構成の方が望ましい。ユーザが映像データをクリックするなど操作を行った場合にのみ音声を同期して再生してもよい。
またここではスマートフォンex115を例に説明したが、端末としては符号化器及び復号化器を両方持つ送受信型端末の他に、符号化器のみを有する送信端末、及び、復号化器のみを有する受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムにおいて、映像データに音楽データなどが多重化された多重化データを受信又は送信するとして説明したが、多重化データには、音声データ以外に映像に関連する文字データなどが多重化されてもよいし、多重化データではなく映像データ自体が受信又は送信されてもよい。
なお、CPUを含む主制御部ex460が符号化又は復号処理を制御するとして説明したが、端末はGPUを備えることも多い。よって、CPUとGPUで共通化されたメモリ、又は共通に使用できるようにアドレスが管理されているメモリにより、GPUの性能を活かして広い領域を一括して処理する構成でもよい。これにより符号化時間を短縮でき、リアルタイム性を確保し、低遅延を実現できる。特に動き探索、デブロックフィルタ、SAO(Sample Adaptive Offset)、及び変換・量子化の処理を、CPUではなく、GPUでピクチャなどの単位で一括して行うと効率的である。
以上、本開示に係る画像符号化などについて、各実施の形態および変形例に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれてもよい。
本開示は、伝送効率を向上させるとともに符号化の処理性能の低下を抑えることができるという効果を奏し、例えば、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、デジタルビデオカメラ等の情報表示機器や撮像機器に利用可能であり、利用価値が高い。
11 符号化処理部
12 符号量特定部
13 判定部
14 終端設定部
100 画像符号化装置
101 減算器
102 直交変換部
103 量子化部
104 エントロピー符号化部
105 逆量子化部
106 逆直交変換部
107 加算器
108 デブロッキングフィルタ
109 メモリ
110 面内予測部
111 インター予測部
112 動き検出部
113 スイッチ

Claims (14)

  1. ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、
    それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、
    前記複数のブロックのうちの1つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、
    特定された符号量が閾値以上か否かを判定し、
    前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定する
    画像符号化方法。
  2. 前記スライスセグメントは、前記ピクチャに含まれるスライスを構成する、独立スライスセグメントと、前記独立スライスセグメントに従属する少なくとも1つの従属スライスセグメントとのうち何れか1つのスライスセグメントである
    請求項1に記載の画像符号化方法。
  3. 前記閾値は、前記ビットストリームのネットワーク伝送に用いられるパケットサイズ以下の数値である
    請求項1または2に記載の画像符号化方法。
  4. 前記画像符号化方法では、さらに、
    前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、予め定められた最小ブロック数以上であるか否かを判定し、
    特定された前記符号量の判定では、
    前記符号化済みのブロックの数が前記最小ブロック数以上であると判定された場合に、特定された前記符号量が閾値以上か否かを判定する
    請求項1〜3の何れか1項に記載の画像符号化方法。
  5. 前記画像符号化方法では、さらに、
    特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、予め定められた最大ブロック数以上であるか否かを判定し、
    前記符号化済みのブロックの数が前記最大ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定する
    請求項1〜4の何れか1項に記載の画像符号化方法。
  6. 前記複数のブロックの符号化は、2値化および算術符号化を含み、
    前記スライスセグメントの符号量の特定では、
    前記2値化が行われて前記算術符号化が行われる前の前記対象ブロックの2値化データのデータ量を用いて、前記スライスセグメントの符号量を特定する
    請求項1〜5の何れか1項に記載の画像符号化方法。
  7. 前記スライスセグメントの符号量の特定では、
    前記2値化データのデータ量から、算術符号化された前記対象ブロックの符号量を推定し、推定された前記対象ブロックの符号量を用いて、前記スライスセグメントの符号量を特定する
    請求項6に記載の画像符号化方法。
  8. 前記画像符号化方法では、さらに、
    特定された前記符号量が閾値未満と判定された場合に、前記符号量が特定された前記スライスセグメントに含まれる符号化済みのブロックの数が、上限ブロック数以上であるか否かを判定し、
    前記符号化済みのブロックの数が前記上限ブロック数以上であると判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
    前記終端情報によって終端が示された前記スライスセグメントに含まれる符号化済みのブロックの数であるスライスセグメントブロック数に応じて、前記上限ブロック数を更新する
    請求項1〜4の何れか1項に記載の画像符号化方法。
  9. 前記画像符号化方法では、さらに、
    予め定められた数である規定ブロック数を、前記上限ブロック数の初期値として設定し、
    前記上限ブロック数の更新では、
    更新前の上限ブロック数から前記スライスセグメントブロック数を減算することによって得られる値に、前記規定ブロック数を加算することによって、前記上限ブロック数を更新する
    請求項8に記載の画像符号化方法。
  10. 前記画像符号化方法では、さらに、
    前記ピクチャから得られるスライスセグメントの予め定められた数である規定スライス数に基づいて、前記上限ブロック数の初期値を設定し、
    前記上限ブロック数の更新では、
    更新前の上限ブロック数から前記スライスセグメントブロック数を減算することによって得られる値に、予め定められた最小ブロック数を加算することによって、前記上限ブロック数を更新し、
    前記初期値は、
    前記ピクチャに含まれる全てのブロックから、前記最小ブロック数のブロックを、前記規定スライス数よりも1つ少ない数のスライスセグメントのそれぞれに割り当てた場合に、前記ピクチャに含まれる残りのブロックの数である
    請求項8に記載の画像符号化方法。
  11. ピクチャを符号化することによってビットストリームを生成する画像符号化方法であって、
    それぞれ前記ピクチャを構成する複数のブロックを符号化し、
    前記複数のブロックに含まれる対象ブロックを含むスライスセグメントの符号量を特定し、
    特定された符号量が閾値以上か否かを判定し、
    前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定する
    画像符号化方法。
  12. ピクチャを符号化することによって生成されたビットストリームを伝送する伝送方法であって、
    それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、
    前記複数のブロックのうちの1つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、
    特定された符号量が閾値以上か否かを判定し、
    前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定し、
    前記終端情報を含む前記スライスセグメントをパケットに格納して伝送する
    伝送方法。
  13. ピクチャを符号化することによってビットストリームを生成する画像符号化装置であって、
    それぞれ前記ピクチャを構成する複数のブロックを順次符号化する符号化処理部と、
    前記複数のブロックのうちの1つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定する符号量特定部と、
    特定された符号量が閾値以上か否かを判定する判定部と、
    前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定する終端設定部とを備える
    画像符号化装置。
  14. 処理回路と、前記処理回路からアクセス可能な記憶装置とを備え、ピクチャを符号化することによってビットストリームを生成する画像符号化装置であって、
    前記処理回路は、前記記憶装置を用いて、
    それぞれ前記ピクチャを構成する複数のブロックを順次符号化し、
    前記複数のブロックのうちの1つのブロックが対象ブロックとして符号化されるごとに、前記対象ブロックを含むスライスセグメントの符号量を特定し、
    特定された符号量が閾値以上か否かを判定し、
    前記閾値以上と判定された場合に、前記ビットストリームにおける符号化された前記対象ブロックに対応する位置に、前記スライスセグメントの終端を示す終端情報を設定する
    画像符号化装置。
JP2018546266A 2016-10-18 2017-10-11 画像符号化方法、伝送方法および画像符号化装置 Active JP6767691B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016204533 2016-10-18
JP2016204533 2016-10-18
PCT/JP2017/036745 WO2018074291A1 (ja) 2016-10-18 2017-10-11 画像符号化方法、伝送方法および画像符号化装置

Publications (2)

Publication Number Publication Date
JPWO2018074291A1 true JPWO2018074291A1 (ja) 2019-07-18
JP6767691B2 JP6767691B2 (ja) 2020-10-14

Family

ID=62019273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018546266A Active JP6767691B2 (ja) 2016-10-18 2017-10-11 画像符号化方法、伝送方法および画像符号化装置

Country Status (4)

Country Link
US (1) US11297329B2 (ja)
EP (1) EP3531700B1 (ja)
JP (1) JP6767691B2 (ja)
WO (1) WO2018074291A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11381621B2 (en) * 2018-04-11 2022-07-05 Samsung Electronics Co., Ltd. Device and method for processing data in multimedia system
US11252429B2 (en) * 2018-04-27 2022-02-15 Ati Technologies Ulc Low-latency consumption of an encoded video bitstream
EP3769522A4 (en) * 2019-01-16 2021-01-27 Telefonaktiebolaget LM Ericsson (publ) VIDEO ENCODING WITH EQUAL TILE DISTRIBUTION WITH REMAINING

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1511420A (zh) * 2001-11-09 2004-07-07 松下电器产业株式会社 运动图像编码方法和装置
JP2003209837A (ja) * 2001-11-09 2003-07-25 Matsushita Electric Ind Co Ltd 動画像符号化方法及び動画像符号化装置
US7190723B2 (en) * 2002-03-27 2007-03-13 Scientific-Atlanta, Inc. Digital stream transcoder with a hybrid-rate controller
JP4235209B2 (ja) * 2006-02-10 2009-03-11 Nttエレクトロニクス株式会社 動きベクトル検出装置および動きベクトル検出方法
JP4747975B2 (ja) * 2006-07-14 2011-08-17 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
JP4787100B2 (ja) * 2006-07-27 2011-10-05 パナソニック株式会社 画像符号化装置
EP2088784B1 (en) * 2006-11-28 2016-07-06 Panasonic Corporation Encoding device and encoding method
JP5026092B2 (ja) * 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
JP2008193627A (ja) * 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
US20080288518A1 (en) * 2007-05-15 2008-11-20 Motorola, Inc. Content data block processing
TWI330987B (en) * 2007-05-18 2010-09-21 Via Tech Inc Method and apparatus for determining whether adjacent macroblocks are located in the same slice
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
JP2009038746A (ja) 2007-08-03 2009-02-19 Panasonic Corp 画像情報符号化装置
CN101897190B (zh) * 2007-11-28 2012-06-20 松下电器产业株式会社 图像编码方法和图像编码装置
EP2112764A1 (en) * 2008-04-25 2009-10-28 Thomson Licensing Method for encoding a sequence of integers, storage device and signal carrying an encoded integer sequence and method for decoding a sequence of integers
US8743970B2 (en) * 2009-04-13 2014-06-03 Freescale Semiconductor, Inc. Video decoding with error detection and concealment
JP2010278730A (ja) * 2009-05-28 2010-12-09 Mitsubishi Electric Corp 動画像符号化装置及び動画像符号化方法
JP5489557B2 (ja) * 2009-07-01 2014-05-14 パナソニック株式会社 画像符号化装置及び画像符号化方法
US8473677B2 (en) * 2009-09-29 2013-06-25 Cleversafe, Inc. Distributed storage network memory access based on memory state
JP5396302B2 (ja) * 2010-02-08 2014-01-22 パナソニック株式会社 映像信号符号化装置及び映像信号符号化方法
US9313514B2 (en) * 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
US9154158B2 (en) * 2011-01-13 2015-10-06 Texas Instruments Incorporated Macro-block encoding of skipped video frames
US8634474B2 (en) * 2011-05-03 2014-01-21 Texas Instruments Incorporated CABAC macroblock rewind and end of slice creation to control slice size for video encoders
US9185424B2 (en) * 2011-07-05 2015-11-10 Qualcomm Incorporated Image data compression
US8634639B2 (en) * 2011-08-03 2014-01-21 Csr Technology Inc. Zero pass JPEG bit rate controller
US9681125B2 (en) * 2011-12-29 2017-06-13 Pelco, Inc Method and system for video coding with noise filtering
US9749661B2 (en) * 2012-01-18 2017-08-29 Qualcomm Incorporated Sub-streams for wavefront parallel processing in video coding
JP6019797B2 (ja) * 2012-06-22 2016-11-02 富士通株式会社 動画像符号化装置、動画像符号化方法、及びプログラム
US9014277B2 (en) * 2012-09-10 2015-04-21 Qualcomm Incorporated Adaptation of encoding and transmission parameters in pictures that follow scene changes
GB2513303B (en) * 2013-04-16 2017-06-07 Canon Kk Method and device for partitioning an image
AU2013228045A1 (en) * 2013-09-13 2015-04-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
GB2519745B (en) * 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units
US9338464B2 (en) * 2014-02-04 2016-05-10 Cable Television Laboratories, Inc. Adaptive field and frame identification
BR112018073434A2 (pt) * 2016-05-13 2019-03-26 Interdigital Vc Holdings, Inc. método e aparelho para codificação de vídeo com corte adaptativo
CN109479136A (zh) * 2016-08-04 2019-03-15 深圳市大疆创新科技有限公司 用于比特率控制的系统和方法

Also Published As

Publication number Publication date
JP6767691B2 (ja) 2020-10-14
EP3531700B1 (en) 2022-04-06
US11297329B2 (en) 2022-04-05
EP3531700A1 (en) 2019-08-28
EP3531700A4 (en) 2019-11-06
WO2018074291A1 (ja) 2018-04-26
US20190238855A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
WO2017199800A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018212110A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2019208677A1 (ja) 符号化装置、復号装置、符号化方法および復号方法
JP2019033456A (ja) 符号化装置、復号装置、符号化方法、および復号方法
WO2018021374A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018101288A1 (ja) 符号化装置、符号化方法、復号装置および復号方法
WO2019155971A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP2021048619A (ja) 符号化装置及び符号化方法
WO2019189346A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018212111A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2019208372A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018097115A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2021193671A1 (ja) 符号化装置、復号装置、符号化方法、および復号方法
JP2017103744A (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、及び画像符号化復号装置
WO2019221103A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018225594A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018221554A1 (ja) 符号化装置、符号化方法、復号装置及び復号方法
US11297329B2 (en) Image encoding method, transmission method, and image encoder
WO2019189344A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
WO2018221553A1 (ja) 符号化装置、符号化方法、復号装置及び復号方法
WO2019009314A1 (ja) 符号化装置、復号装置、符号化方法および復号方法
WO2018021373A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP7403128B2 (ja) 符号化装置、復号装置、符号化方法、および復号方法
WO2019163794A1 (ja) 符号化装置及び符号化方法
WO2018097117A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200902

R151 Written notification of patent or utility model registration

Ref document number: 6767691

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151