以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(前処理部)
3.第3の実施の形態(前処理部)
4.第4の実施の形態(その他)
<1.第1の実施の形態>
<HEVCのブロックサイズ>
近年、MPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)より更なる符号化効率の向上を目的として、ITU-T(International Telecommunication Union Telecommunication Standardization Sector)と、ISO/IEC(International Organization for Standardization / International Electrotechnical Commission)の共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。
HEVCに標準おいては、符号化対象の画像の予測画像がブロック毎に生成され、その符号化対象の画像と予測画像との残差情報が生成され、その残差情報が符号化される。また、このブロックのサイズは、RDコスト等の数字性能に基づいて設定される。HEVC標準の場合、このブロックのサイズは、64x64乃至8x8で設定することができる。なお、MC(Motion Compensation)ブロックサイズは、64x64乃至8x8で設定することができ、DCT(Discrete Cosine Transform)サイズは、32x32乃至4x4で設定することができる。
このようなHEVC標準の場合、人工的に生成された人工画像を符号化対象とすると、復号画像の主観画質が低減するおそれがあった。
<SG画像>
人工画像について説明する。人工画像は、例えば、業務用の測定信号であるSG画像、コンピュータにより生成されたCG(Computer Graphics)画像、字幕、アニメーション画像等の、撮像画像のような自然画像でない画像である。図1の画像10は、SG画像の例を示す。画像10の例に示されるように、一般的にSG画像は、垂直方向または水平方向のランプ信号(画素値の単調増加または単調減少)により構成される。
一般的に、人工画像は、自然画像と比べて、垂直方向または水平方向に画素値の単調増加または単調減少が多い、ノイズ成分(高周波成分)が少ない、画素値のばらつきが少ない等の特徴を持つ。つまり、人工画像は、自然画像と比べて、画像の変化が少ないか、変化の規則性が強い。
<境界フィルタ処理>
ところで、HEVCでは、イントラ予測効率をさらに高める工夫として、DC予測や水平・垂直方向の予測等のシンプルな予測モードに対する予測参照画素と予測画像との間に生じる不連続性を抑制するための境界フィルタ処理(境界平滑化処理とも称する)が導入されている。
図2は、境界フィルタ処理について説明する図である。図2において、小さな各四角が画素を示し、太線で囲まれた4x4画素がカレントブロックを示す。図2のAは、DC予測の場合の境界フィルタ処理の様子の例が示されている。DC予測の場合、斜線模様で示される画素に以下の式(1)に示されるようなフィルタ処理が行われる。
predSamples[0][0] = (p[-1][0]+2*dcVal+p[0][-1]+2) >> 2
predSamples[x][0] = (p[x][-1]+3*dcVal+2) >> 2, with x = 1..nTbS-1
predSamples[0][y] = (p[-1][y]+3*dcVal+2) >> 2, with y = 1..nTbS-1
・・・(1)
なお、dcValは、周辺画素(図2に示されるカレントブロック以外の画素(太線で囲まれていない部分の画素))の平均値である。例えば、図2のA中の画素pは、周辺画素p1の値を参照して以下の式(2)のようにフィルタ処理される。
p = (p1+3*dcVal+2) >> 2
・・・(2)
図2のBは、水平方向予測の場合の境界フィルタ処理の様子の例が示されている。水平方向予測の場合、斜線模様で示される画素に以下の式(3)に示されるようなフィルタ処理が行われる。
predSamples[x][y] = Clip1Y(p[-1][y]+((p[x][-1]-p[-1][-1]) >> 1))
with x = 0..nTbS-1 , y=0
・・・(3)
例えば、図2のB中の画素pは、周辺画素p0乃至p2の値を参照して以下の式(4)のようにフィルタ処理される。
p = (p2+(p1-p0)) >> 1
・・・(4)
図2のCは、垂直方向予測の場合の境界フィルタ処理の様子の例が示されている。垂直方向予測の場合、斜線模様で示される画素に以下の式(5)に示されるようなフィルタ処理が行われる。
predSamples[x][y] = Clip1Y(p[x][-1]+((p[-1][y]-p[-1][-1]) >> 1))
with x = 0 , y = 0..nTbS-1
・・・(5)
例えば、図2のC中の画素pは、周辺画素p0乃至p2の値を参照して以下の式(6)のようにフィルタ処理される。
p = (p1+(P2-P0)) >> 1
・・・(6)
<デブロッキングフィルタ>
次に、デブロッキングフィルタ(Deblocking filter)について説明する。デブロッキングフィルタは、ブロック境界線(垂直境界と水平境界)に沿って掛けられる、境界線の近傍画素を用いた平滑化処理である。HEVCでは、ウィークフィルタ(weak filter)とストロングフィルタ(Strong filter)の2種類のフィルタが用意されている。境界のピクセル値の変化によりいずれか一方が選択される。ストロングフィルタの場合、境界の両側3画素の画素値が変化する。ウィークフィルタの場合、境界の両側1画素または2画素の画素値が変化する。
例えば、境界が垂直方向の場合(垂直境界の場合)のデブロッキングフィルタの例を図3に示す。図3において、各四角は画素を示し、垂直方向の太線は境界(垂直境界)を示す。デブロッキングフィルタが掛けられることにより、ウィークフィルタの場合、境界付近の画素値p0およびp1並びに画素値q0およびq1は、それぞれ、以下の式(7)のように、画素値p0'およびp1'並びに画素値q0'およびq1'に変化する。また、ストロングフィルタの場合、境界付近の画素値p0乃至p2並びに画素値q0乃至q2は、それぞれ、以下の式(8)のように、画素値p0'乃至p2'並びに画素値q0'乃至q2'に変化する。
weak filter
Δ = (9*(q0-p0)-3*(q1-p1)+8) >> 4
p0′ = Clip1Y(p0+Δ)
q0′ = Clip1Y(q0-Δ)
Δp = (((p2+p0+1) >> 1)-p1-Δ) >> 1)
Δq = (((q2+q0+1) >> 1)-q1-Δ) >> 1)
p1′ = Clip1Y(p1+Δp)
q1′ = Clip1Y(q1+Δq)
・・・(7)
Strong filter
p0′ = Clip3(p0-2*tC, p0+2*tC, (p2+2*p1+2*p0+2*q0+q1+4) >> 3)
p1′ = Clip3(p1-2*tC, p1+2*tC, (p2+p1+p0+q0+2) >> 2)
p2′ = Clip3(p2-2*tC, p2+2*tC, (2*p3+3*p2+p1+p0+q0+4) >> 3)
q0′ = Clip3(q0-2*tC, q0+2*tC, (p1+2*p0+2*q0+2*q1+q2+4) >> 3)
q1′ = Clip3(q1-2*tC, q1+2*tC, (p0+q0+q1+q2+2) >> 2)
q2′= Clip3(q2-2*tC, q2+2*tC, (p0+q0+q1+3*q2+2*q3+4) >> 3)
・・・(8)
<主観画質の劣化>
図4において、各四角は画素を示し、太線は、ブロック境界を示す。つまり、図4には、上側に8x8画素のブロック(8x8ブロックとも称する)が示され、下側に16x16画素のブロック(16x16ブロックとも称する)が示されている。例えば、図4において、各8x8ブロックに垂直方向予測が適用されると、境界フィルタ処理により、各8x8ブロックの垂直方向の境界に隣接する画素(図中斜線模様の画素)の画素値が変化する(すなわち劣化する)。
次に、各16x16ブロックに垂直方向予測が適用されると、各8x8ブロックの画素値が16x16ブロックにコピーされる。つまり、図中斜線模様で示されるように、8x8ブロックの劣化した画素値が、16x16ブロックにも反映され、画素列41乃至画素列44が劣化する。
この内、画素列41および画素列43は、16x16ブロックの境界近傍の画素列であるため、上述したデブロッキングフィルタにより、劣化が抑制される。しかしながら、画素列42および画素列44は、境界近傍の画素列では無いので、デブロッキングフィルタが掛けられない。そのため、劣化が残ってしまう。このような画像が参照画像として利用されることにより、さらに画素値の劣化が伝搬する。このような画質の劣化により、復号画像の主観画質が低減するおそれがあった。
図5および図6は、図4の構成の具体的な画素値の例を示す図である。図5および図6の上段の各四角は、図4の8x8ブロックの画素に対応し、各数字はその画素値を示す。同様に、図5および図6の下段の各四角は、図4の16x16ブロックの画素に対応し、各数字はその画素値を示す。
図5は、境界フィルタにより画素値が変化した様子の例を示している。図5において8x8ブロックの境界に隣接する図中斜線模様の画素の画素値が、他の画素の画素値と異なる値に変化している。そして、その画素値の変化は、16x16ブロックにも伝搬している。
図6は、デブロッキングフィルタ後の画素値の様子の例を示している。図6においてグレーの画素は、デブロッキングフィルタが掛けられる画素を示す。図6に示されるように、8x8ブロックは略全ての画素にデブロッキングフィルタが掛けられるので、画素値の変化は緩和される。これに対して16x16ブロックの場合、境界近傍で無い画素にはデブロッキングフィルタが掛けられず、斜線模様の画素の画素値変化(すなわち画質劣化)は略残ってしまう。
特に、人工画像の場合、上述のようにノイズ成分が少なく、変化が少ないかまたは変化の規則性が強い。そのため、その規則性に沿わないこのような画素値の劣化は、主観的に目立ち易い。また、換言するに、人工画像は、そのような特徴から、画像が平坦であったり、水平方向または垂直方向に単調増加したり単調減少したりする可能性が高い。そのため、上述のDC予測、水平方向予測、垂直方向予測が適用される可能性が高い。つまり、上述のような画素値の劣化が発生し易い。
<ブロックサイズの制限>
そこで、符号化対象の画像の予測画像を生成する予測処理のカレントブロックを、そのカレントブロックの周辺に位置する周辺ブロックのサイズに応じたサイズに設定するようにする。このようにすることにより、復号画像の主観画質の低減を抑制することができる。
<ブロック分割>
ところで、MPEG2(Moving Picture Experts Group 2(ISO/IEC 13818-2))やMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)などの旧来の画像符号化方式では、符号化処理は、マクロブロックと呼ばれる処理単位で実行される。マクロブロックは、16x16画素の均一なサイズを有するブロックである。これに対し、HEVC(High Efficiency Video Coding)では、符号化処理は、CU(Coding Unit)と呼ばれる処理単位(符号化単位)で実行される。CUは、最大符号化単位であるLCU(Largest Coding Unit)を再帰的に分割することにより形成される、可変的なサイズを有するブロックである。選択可能なCUの最大サイズは、64x64画素である。選択可能なCUの最小サイズは、8x8画素である。最小サイズのCUは、SCU(Smallest Coding Unit)と呼ばれる。なお、CUの最大サイズは、64x64画素に限定されず、より大きい128x128画素、256x256画素などのブロックサイズとしてもよい。
このように、可変的なサイズを有するCUが採用される結果、HEVCでは、画像の内容に応じて画質及び符号化効率を適応的に調整することが可能である。予測符号化のための予測処理は、PU(Prediction Unit)と呼ばれる処理単位(予測単位)で実行される。PUは、CUをいくつかの分割パタンのうちの1つで分割することにより形成される。また、PUは、輝度(Y)及び色差(Cb,Cr)毎のPB(Prediction Block)と呼ばれる処理単位(予測ブロック)から構成される。さらに、直交変換処理は、TU(Transform Unit)と呼ばれる処理単位(変換単位)で実行される。TUは、CU又はPUをある深さまで分割することにより形成される。また、TUは、輝度(Y)及び色差(Cb, Cr)毎のTB(Transform Block)と呼ばれる処理単位(変換ブロック)から構成される。
<再帰的なブロックの分割>
図7は、HEVCにおけるCUについての再帰的なブロック分割の概要を説明するための説明図である。CUのブロック分割は、1つのブロックの4(=2x2)個のサブブロックへの分割を再帰的に繰り返すことにより行われ、結果として四分木(Quad-Tree)状のツリー構造が形成される。1つの四分木の全体をCTB(Coding Tree Block)といい、CTBに対応する論理的な単位をCTU(Coding Tree Unit)という。
図7の上部には、一例として、64x64画素のサイズを有するCUであるC01が示されている。C01の分割の深さは、ゼロに等しい。これは、C01がCTUのルートでありLCUに相当することを意味する。LCUサイズは、SPS(Sequence Parameter Set)又はPPS(Picture Parameter Set)において符号化されるパラメータにより指定され得る。CUであるC02は、C01から分割される4つのCUのうちの1つであり、32x32画素のサイズを有する。C02の分割の深さは、1に等しい。CUであるC03は、C02から分割される4つのCUのうちの1つであり、16x16画素のサイズを有する。C03の分割の深さは、2に等しい。CUであるC04は、C03から分割される4つのCUのうちの1つであり、8x8画素のサイズを有する。C04の分割の深さは、3に等しい。このように、CUは、符号化される画像を再帰的に分割することにより形成される。分割の深さは、可変的である。例えば、青空のような平坦な画像領域には、より大きいサイズの(即ち、深さが小さい)CUが設定され得る。一方、多くのエッジを含む急峻な画像領域には、より小さいサイズの(即ち、深さが大きい)CUが設定され得る。そして、設定されたCUの各々が、符号化処理の処理単位となる。
<CUへのPUの設定>
PUは、イントラ予測及びインター予測を含む予測処理の処理単位である。PUは、CUをいくつかの分割パタンのうちの1つで分割することにより形成される。図8は、図7に示したCUへのPUの設定について説明するための説明図である。図8の右には、2Nx2N、2NxN、Nx2N、NxN、2NxnU、2NxnD、nLx2N及びnRx2Nという、8種類の分割パタンが示されている。これら分割パタンのうち、イントラ予測では、2Nx2N及びNxNの2種類が選択可能である(NxNはSCUでのみ選択可能)。これに対してインター予測では、非対称動き分割が有効化されている場合に、8種類の分割パタンの全てが選択可能である。
<CUへのTUの設定>
TUは、直交変換処理の処理単位である。TUは、CU(イントラCUについては、CU内の各PU)をある深さまで分割することにより形成される。図9は、図8に示したCUへのTUの設定について説明するための説明図である。図9の右には、C02に設定され得る1つ以上のTUが示されている。例えば、TUであるT01は、32x32画素のサイズを有し、そのTU分割の深さはゼロに等しい。TUであるT02は、16x16画素のサイズを有し、そのTU分割の深さは1に等しい。TUであるT03は、8x8画素のサイズを有し、そのTU分割の深さは2に等しい。
上述したCU、PU及びTUといったブロックを画像に設定するためにどのようなブロック分割を行うかは、典型的には、符号化効率を左右するコストの比較に基づいて決定される。エンコーダは、例えば1つの2Mx2M画素のCUと、4つのMxM画素のCUとの間でコストを比較し、4つのMxM画素のCUを設定した方が符号化効率が高いならば、2Mx2M画素のCUを4つのMxM画素のCUへと分割することを決定する。
<CUとPUの走査順>
画像を符号化する際、画像(又はスライス、タイル)内に格子状に設定されるCTB(又はLCU)が、ラスタスキャン順に走査される。1つのCTBの中では、CUは、四分木を左から右、上から下に辿るように走査される。カレントブロックを処理する際、上及び左の隣接ブロックの情報が入力情報として利用される。図10は、CUとPUの走査順について説明するための説明図である。図10の左上には、1つのCTBに含まれ得る4つのCUである、C10、C11、C12及びC13が示されている。各CUの枠内の数字は、処理の順序を表現している。符号化処理は、左上のCUであるC10、右上のCUであるC11、左下のCUであるC12、右下のCUであるC13の順で実行される。図10の右には、CUであるC11に設定され得るインター予測のための1つ以上のPUが示されている。図10の下には、CUであるC12に設定され得るイントラ予測のための1つ以上のPUが示されている。これらPUの枠内の数字に示したように、PUもまた、左から右、上から下に辿るように走査される。
以下においては、画像(ピクチャ)の部分領域や処理単位として「ブロック」を用いて説明する場合がある(処理部のブロックではない)。この場合の「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、この場合の「ブロック」には、例えば、TB、TU、PB、PU、SCU、CU、LCU(CTB)、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれるものとする。
<画像符号化装置>
図11は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図11に示される画像符号化装置100は、HEVC(ITU-T H.265|ISO/IEC 23008-2 High Efficiency Video Coding)に準拠した方法で動画像の画像データを符号化する装置である。なお、図11においては、処理部やデータの流れ等の主なものを示しており、図11に示されるものが全てとは限らない。つまり、画像符号化装置100において、図11においてブロックとして示されていない処理部が存在したり、図11において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
図11に示されるように画像符号化装置100は、前処理バッファ111、前処理部112、演算部113、直交変換部114、量子化部115、符号化部116、および蓄積バッファ117を有する。また、画像符号化装置100は、逆量子化部118、逆直交変換部119、演算部120、フィルタ121、フレームメモリ122、イントラ予測部123、インター予測部124、予測画像選択部125、およびレート制御部126を有する。
この場合の画像符号化装置100には、人工画像が入力画像として入力される。前処理バッファ111は、その入力された人工画像の画像データの各フレームをその表示順に記憶する。前処理部112は、前処理バッファ111に記憶されている画像データに対して、フレームの並べ替え、メタデータの生成、ブロックの設定等の処理を行う。前処理が終了すると、画像データや各種の符号化に関する情報が各種処理部に供給される。例えば、画像データが、演算部113、イントラ予測部123、インター予測部124等に供給される。また、メタデータ等が、符号化部116やその他の処理部に供給される。
演算部113は、前処理バッファ111から読み出された画像から、予測画像選択部125を介してイントラ予測部123またはインター予測部124から供給される予測画像を減算し、それらの差分である残差情報(残差データとも称する)を得る。例えば、イントラ符号化が行われる画像の場合、演算部113は、前処理バッファ111から読み出された画像から、イントラ予測部123から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部113は、前処理バッファ111から読み出された画像から、インター予測部124から供給される予測画像を減算する。演算部113は、得られた残差データを直交変換部114に供給する。
直交変換部114は、演算部113から供給される残差データを所定の方法で直交変換する。直交変換部114は、その直交変換後の残差データ(直交変換係数とも称する)を量子化部115に供給する。
量子化部115は、その直交変換係数を所定の方法で量子化する。量子化部115は、レート制御部126から供給される符号量の目標値(target_bitrate)に応じて量子化パラメータを設定し、その量子化を行う。量子化部115は、量子化後の残差データ(量子化データとも称する)を符号化部116および逆量子化部118に供給する。
符号化部116は、量子化部115から供給された量子化データを符号化する。また、符号化部116は、最適な予測モードに関する情報を予測画像選択部125から取得する。さらに、符号化部116は、任意の処理部から任意の情報を取得することができる。符号化部116は、これらの各種情報を符号化する。このように、符号化部116は、画像に関する情報を符号化し、符号化データを生成する。符号化部116は、得られた符号化データを蓄積バッファ117に供給して蓄積させる。
蓄積バッファ117は、符号化部116から供給された符号化データを、一時的に保持する。蓄積バッファ117は、所定のタイミングにおいて、保持している符号化データを、例えばビットストリーム等として画像符号化装置100の外部に出力する。例えば、この符号化データは、任意の記録媒体、任意の伝送媒体、任意の情報処理装置等を介して復号側に伝送される。すなわち、蓄積バッファ117は、符号化データを伝送する伝送部でもある。
逆量子化部118は、その量子化データを量子化部115による量子化に対応する方法で逆量子化する。逆量子化部118は、逆量子化後の量子化データ(直交変換係数とも称する)を、逆直交変換部119に供給する。
逆直交変換部119は、その直交変換係数を、直交変換部114による直交変換処理に対応する方法で逆直交変換する。逆直交変換部119は、逆直交変換された直交変換係数(復元された残差データとも称する)を演算部120に供給する。
演算部120は、その復元された残差データに、予測画像選択部125を介してイントラ予測部123またはインター予測部124から供給される予測画像を加算し、局所的に再構成された画像(再構成画像とも称する)を得る。例えば、イントラ符号化が行われる画像の場合、演算部120は、復元された残差データに、イントラ予測部123から供給される予測画像を加算する。また、例えば、インター符号化が行われる画像の場合、演算部120は、復元された残差データに、インター予測部124から供給される予測画像を加算する。演算部120は、得られた再構成画像をフィルタ121およびイントラ予測部123に供給する。
フィルタ121は、その再構成画像に対して、適宜、例えばデブロッキングフィルタ等のフィルタ処理を行う。フィルタ121は、フィルタ処理結果(復号画像と称する)をフレームメモリ122に供給する。
フレームメモリ122は、その復号画像を自身の記憶領域内に記憶する。また、フレームメモリ122は、所定のタイミングにおいて、記憶している復号画像を参照画像としてインター予測部124に供給する。
イントラ予測部123は、演算部120から参照画像として供給される再構成画像である処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。例えば、イントラ予測部123は、予め用意された複数のイントラ予測モード(例えば、DC予測、水平方向予測、垂直方向予測等)でこのイントラ予測を行う。イントラ予測部123は、候補となる全てのイントラ予測モードで予測画像を生成し、最適なモードを選択する。イントラ予測部123は、最適なイントラ予測モードを選択すると、その最適なイントラ予測モードで生成された予測画像、最適なイントラ予測モードを示すインデックス等のイントラ予測に関する情報であるイントラ予測モード情報等を、予測結果に関する情報として、予測画像選択部125に供給する。
インター予測部124は、前処理バッファ111から供給される入力画像と、フレームメモリ122から供給される参照画像とを用いてインター予測処理(動き予測処理および補償処理)を行う。より具体的には、インター予測部124は、インター予測処理として、動き予測を行って検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。例えば、インター予測部124は、予め用意された複数のインター予測モードでこのようなインター予測を行う。インター予測部124は、候補となる全てのインター予測モードで予測画像を生成し、最適なモードを選択する。インター予測部124は、最適なインター予測モードを選択すると、その最適なインター予測モードで生成された予測画像、最適なインター予測モードを示すインデックスや動き情報等のインター予測に関する情報であるインター予測モード情報等を、予測結果に関する情報として、予測画像選択部125に供給する。
予測画像選択部125は、イントラ予測部123およびインター予測部124から上述した予測結果に関する情報を取得する。予測画像選択部125は、それらの中からいずれか1つを選択することにより、その領域における予測モードを選択する。つまり、予測画像選択部125は、最適な予測モードとして、(最適な)イントラ予測モードと(最適な)インター予測モードとの内、いずれか一方を選択する。予測画像選択部125は、選択したモードの予測画像を演算部113や演算部120に供給する。また、予測画像選択部125は、選択した予測結果に関する情報の一部または全部を最適な予測モードに関する情報として符号化部116に供給し、符号化データに格納させる。
レート制御部126は、蓄積バッファ117に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部115の量子化動作のレートを制御する。
<前処理部>
図12は、前処理部112の主な構成例を示すブロック図である。図12に示されるように、前処理部112は、画面並べ替え部151、メタデータ設定部152、および人工画像ブロック設定部153を有する。
画面並べ替え部151は、前処理バッファ111に表示順に記憶されている画像データの各フレームの順番を、GOP(Group Of Picture)に応じて、符号化順に並べ替える。メタデータ設定部152は、例えば、ビデオパラメータセット(VPS(Video Parameter Set))、シーケンスパラメータセット(SPS(Sequence Parameter Set))、ピクチャパラメータセット(PPS(Picture Parameter Set))、スライスヘッダ等のメタデータを生成する。なお、メタデータ設定部152が設定するメタデータは任意であり、これらの例に限定されない。メタデータ設定部152は、設定したメタデータを例えば符号化部116等、任意の処理部に供給する。
人工画像ブロック設定部153は、前処理バッファ111に記憶されている人工画像の画像データの処理対象であるカレントピクチャに対して、自然画像等の通常画像とは異なる人工画像用のモードでブロック設定を行う。例えば、人工画像ブロック設定部153は、人工画像用のモードとして、符号化対象の画像の予測画像を生成する予測処理のカレントブロックを、そのカレントブロックの周辺に位置する周辺ブロックのサイズに応じたサイズに設定する。例えば、人工画像ブロック設定部153は、カレントブロックの上に隣接する上ブロックとカレントブロックの左に隣接する左ブロックとをその周辺ブロックとし、カレントブロックを、その上ブロックのサイズと左ブロックのサイズとに応じたサイズに設定する。
例えば、図13のAに示されるように、カレントブロック(Cur)の上に隣接する上ブロック(Up)のサイズ(NxN)と、カレントブロック(Cur)の左に隣接する左ブロック(Left)のサイズ(NxN)とが同一である場合、人工画像ブロック設定部153が、カレントブロック(Cur)のサイズを、その上ブロック(Up)および左ブロック(Left)のサイズ(NxN)と同一(すなわち、NxN)に設定するようにしてもよい。
また、例えば、図13のBに示されるように、上ブロック(Up)のサイズ(NxN)と、左ブロック(Left)のサイズ(MxM)とが同一でない場合、人工画像ブロック設定部153が、カレントブロック(Cur)のサイズ(SxS)を、それらのブロックの内、サイズの小さい方のブロックのサイズ以下(すなわち、S <= Min(M,N))に設定するようにしてもよい。
また、例えば、人工画像ブロック設定部153が、画素値を参照する参照ブロックのサイズと同一に設定するようにしてもよい。例えば、図13のCに示されるように、左ブロック(Left)を参照ブロックとする場合、人工画像ブロック設定部153が、カレントブロック(Cur)のサイズを、左ブロック(Left)のサイズ(MxM)と同一(すなわち、MxM)に設定するようにしてもよい。
また、例えば、図13のDに示されるように、左ブロック(Left)を参照ブロックとする場合、人工画像ブロック設定部153が、カレントブロック(Cur)のサイズ(SxS)を、左ブロック(Left)のサイズ(MxM)以下(すなわち、S <= M)に設定するようにしてもよい。
人工画像用のモードによるブロック設定の方法は、周辺ブロックのサイズに基づくものであれば任意である。上述した4例の内のいずれかの方法が適用されるようにしてもよいし、上述した4例以外の方法が適用されるようにしてもよい。また、複数の方法が候補として設定され、状況に応じてその中の1つの方法が選択されて適用されるようにしてもよい。例えばブロックサイズや参照方向等に基づいてその選択が行われるようにしてもよい。なお、周辺ブロックは、処理済み(符号化済み)のブロックであればよく、上述した上ブロック及び左ブロック以外のブロックであってもよい。例えば、カレントブロックの斜め方向に隣接するブロックであってもよいし、カレントブロックに隣接しないブロックであってもよい。
HEVC標準の場合、ブロックの設定は、RDコスト等の数字性能に基づいて行われていた。図11の画像符号化装置100の場合、人工画像ブロック設定部153が、上述のように、周辺ブロックのサイズに基づいてカレントブロックのサイズを設定するので、例えばブロックサイズを周辺ブロックと揃える等して、画素値の変化(画質の劣化)を伝搬させないようにすることができ、復号画像の主観画質の低減を抑制することができる。
<画像符号化処理の流れ>
次に、画像符号化装置100が実行する処理について説明する。最初に、画像符号化装置100が人工画像を符号化する際に実行する画像符号化処理の流れの例を、図14のフローチャートを参照して説明する。
画像符号化処理が開始されると、ステップS101において、前処理部112は、画像符号化装置100に入力され、前処理バッファ111に記憶された人工画像の画像データに対して、前処理を行う。
ステップS102において、イントラ予測部123、インター予測部124、および予測画像選択部125は、予測処理を行い、最適な予測モードの予測画像等を生成する。つまり、この予測処理において、イントラ予測部123はイントラ予測を行って最適なイントラ予測モードの予測画像等を生成し、インター予測部124はインター予測を行って最適なインター予測モードの予測画像等を生成し、予測画像選択部125はそれらの予測モードの内の最適な方を選択する。
ステップS103において、演算部113は、入力画像である人工画像と、ステップS102の予測処理により選択された最適なモードの予測画像との差分を演算する。つまり、演算部113は、入力画像と予測画像との残差データを生成する。このようにして求められた残差データは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
ステップS104において、直交変換部114は、ステップS103の処理により生成された残差データを直交変換する。
ステップS105において、量子化部115は、レート制御部126により算出された量子化パラメータを用いる等して、ステップS104の処理により得られた直交変換係数を量子化する。
ステップS106において、逆量子化部118は、ステップS105の処理により生成された量子化データを、そのステップS105の量子化の特性に対応する特性で逆量子化する。
ステップS107において、逆直交変換部119は、ステップS106の処理により得られた直交変換係数を、ステップS104の直交変換に対応する方法で逆直交変換する。
ステップS108において、演算部120は、ステップS107の処理により復元された残差データに、ステップS102の予測処理により得られた予測画像を加算することにより、再構成画像の画像データを生成する。
ステップS109においてフィルタ121は、ステップS108の処理により生成された再構成画像の画像データに対して、デブロッキングフィルタ等のフィルタ処理を行う。
ステップS110において、フレームメモリ122は、ステップS109の処理により得られた、局所的に復号された復号画像を記憶する。
ステップS111において、符号化部116は、ステップS105の処理により得られた量子化後の残差データを符号化する。例えば、符号化部116は、量子化後の残差データに対して、CABAC(Context-based Adaptive Binary Arithmetic Code)を行い、符号化データを生成する。また、符号化部116は、ステップS101の処理により生成されたメタデータを符号化し、符号化データに付加する。さらに、符号化部116は、量子化に関する情報や予測に関する情報等も適宜符号化し、符号化データに付加する。
ステップS112において蓄積バッファ117は、ステップS111の処理により得られた符号化データ等を蓄積する。蓄積バッファ117に蓄積された符号化データ等は、例えばビットストリームとして適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
ステップS113において、レート制御部126は、ステップS112の処理により蓄積バッファ117に蓄積された符号化データ等の符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、ステップS105の量子化処理のレートを制御する。
ステップS113の処理が終了すると、画像符号化処理が終了する。
なお、これらの各処理の処理単位は任意であり、互いに同一でなくてもよい。したがって、各ステップの処理は、適宜、他のステップの処理等と並行して、または、処理順を入れ替えて実行することもできる。
<前処理の流れ>
次に、図14のステップS101において実行される前処理の流れの例を、図15のフローチャートを参照して説明する。前処理が開始されると、画面並べ替え部151は、ステップS131において、前処理バッファ111に記憶されている画像データのフレームを、表示順から符号化順に並べ替える。
ステップS132において、メタデータ設定部152は、各種メタデータを設定する。
ステップS133において、人工画像ブロック設定部153は、人工画像用モードでブロック分割を行う。この分割した各ブロックの情報は、適宜、任意の処理部に供給される。情報を供給された処理部は、そのブロック分割に基づいて、それぞれの処理を行う。
ステップS133の処理が終了すると、前処理が終了し、処理は図14に戻る。
以上のように各処理を行うことにより、画像符号化装置100は、境界フィルタ処理による画質劣化の伝搬を抑制するように人工画像を符号化することができる。つまり、復号画像の主観画質の低減を抑制することができる。
<2.第2の実施の形態>
<人工画像の判定>
第1の実施の形態においては、人工画像が画像符号化装置100に入力されることを前提としていたが、画像符号化装置100が、人工画像を識別するようにしてもよい。
<前処理部>
その場合も、画像符号化装置100の構成は、基本的に第1の実施の形態の場合(図11)と同様である。ただし、この場合の前処理部112の主な構成例を図16に示す。この場合、前処理部112は、第1の実施の形態において説明した構成(図12)に加え、さらに、人工画像判定部201および通常画像ブロック設定部202を有する。
人工画像判定部201は、入力画像が人工画像であるか否かを判定する。この判定方法は任意である。例えば、ユーザ等による指定に基づいて人工画像の判定が行われるようにしてもよい。つまり、人工画像判定部201が、ユーザ等により「入力画像が人工画像である」という指定がなされた場合、入力画像を人工画像であると判定し、ユーザ等による指定が無い場合、入力画像を自然画像等の通常画像であると判定するようにしてもよい。
また、例えば、水平方向または垂直方向に画素値の単純増加または単純減少が生じているか否かに基づいて人工画像の判定が行われるようにしてもよい。つまり、人工画像判定部201が、水平方向(すなわち画素行)と垂直方向(すなわち画素列)のそれぞれについて、隣接画素同士の画素値の差分を求め、その差分に基づいて画素値の単純増加または単純減少が発生しているか否かを判定し、その判定結果に基づいて人工画像の判定が行われるようにしてもよい。例えば、人工画像判定部201が、画素値の単純増加または単純減少が発生していると判定された場合、入力画像を人工画像であると判定し、画素値の単純増加または単純減少が発生していないと判定された場合、入力画像を通常画像であると判定するようにしてもよい。なお、判定基準は画素値の単純増加または単純減少でなくてもよい。例えば、画素列や画素行において、画素値に所定の繰り返しパタンが発生している場合に、人工画像判定部201が、入力画像を人工画像であると判定するようにしてもよい。
さらに、例えば、入力画像(残差データ)に対するDCT(Discrete Cosine Transform)やアダマール変換(Hadamard Transform)のような直交変換により得られた直交変換係数における高域成分に基づいて人工画像の判定が行われるようにしてもよい。例えば、人工画像判定部201が、直交変換係数における高域成分が所定の基準(例えば所定の閾値)より少ない場合、入力画像を人工画像であると判定し、直交変換係数における高域成分が所定の基準以上の場合、入力画像を通常画像であると判定するようにしてもよい。
また、例えば、入力画像の画素値の分散を求め、そのばらつきの大きさに基づいて人工画像の判定が行われるようにしてもよい。例えば、人工画像判定部201が、入力画像の画素値のばらつきが所定の基準(例えば所定の閾値)より小さい場合、入力画像を人工画像であると判定し、入力画像の画素値のばらつきが所定の基準以上の場合、入力画像を通常画像であると判定するようにしてもよい。
もちろん、これら以外の方法で入力画像を判定するようにしてもよい。また、複数の方法を併用するようにしてもよい。例えば、複数の方法の内、1つでも該当する場合、入力画像を人工画像であると判定するようにしてもよい。また、複数の方法の内、所定数以上該当する場合、入力画像を人工画像であると判定するようにしてもよい。さらに、各方法に重み付けを行うようにしてもよい。また、この重み付けを可変としてもよい。例えば、状況に応じて重み付けが更新されるようにしてもよいし、判定の履歴等に基づいて重み付けが更新されるようにしてもよい。
通常画像ブロック設定部202は、通常画像と判定された入力画像に対して、RDコスト等の数字性能によってブロックの設定を行う。つまり、通常画像ブロック設定部202は、HEVC標準と同様の方法でブロックの設定を行う。
<前処理の流れ>
この場合も、画像符号化装置100は、第1の実施の形態の場合と同様に画像符号化処理を行う(図14)。この場合の図14のステップS101において実行される前処理の流れの例を、図17のフローチャートを参照して説明する。前処理が開始されると、ステップS201およびステップS202の各処理は、図15のステップS131およびステップS132の各処理と同様に実行される。
ステップS203において、人工画像判定部201は、入力画像が人工画像であるか否かを判定する。入力画像が人工画像であると判定された場合、処理はステップS204に進む。
ステップS204において、人工画像ブロック設定部153は、人工画像と判定された入力画像に対して、人工画像用モードでブロック分割を行う。この分割した各ブロックの情報は、適宜、任意の処理部に供給される。情報を供給された処理部は、そのブロック分割に基づいて、それぞれの処理を行う。ステップS204の処理が終了すると、前処理が終了し、処理は図14に戻る。
また、ステップS203において、入力画像が通常画像であると判定された場合、処理はステップS205に進む。
ステップS205において、通常画像ブロック設定部202は、通常画像と判定された入力画像に対して、通常画像用モードでブロック分割を行う。つまり、RDコスト等の数字性能によってブロックを設定する。この分割した各ブロックの情報は、適宜、任意の処理部に供給される。情報を供給された処理部は、そのブロック分割に基づいて、それぞれの処理を行う。ステップS205の処理が終了すると、前処理が終了し、処理は図14に戻る。
以上のように各処理を行うことにより、画像符号化装置100は、入力画像が人工画像であるか否かに応じて適切にブロック分割を行うことができる。したがって、画像符号化装置100は、入力画像が人工画像である場合、復号画像の主観画質の低減を抑制することができ、入力画像が通常画像である場合、不要に符号化効率の低減を抑制することができる。
<3.第3の実施の形態>
<人工画像領域の判定>
第2の実施の形態においては、画像符号化装置100が、入力画像が人工画像であるか否かを判定するように説明したが、入力画像の一部が人工画像であるようにしてもよい。つまり、画像符号化装置100が、入力画像に含まれる人工画像の領域を検出することができるようにし、検出した領域毎に画像の特徴に応じたブロック分割を行うようにしてもよい。
<前処理部>
その場合も、画像符号化装置100の構成は、基本的に第1の実施の形態の場合(図11)と同様である。ただし、この場合の前処理部112の主な構成例を図18に示す。この場合、前処理部112は、第2の実施の形態において説明した構成(図16)の人工画像判定部201の代わりに、人工画像領域判定部301を有する。
人工画像領域判定部301は、入力画像(各フレーム)の内、人工画像により構成される部分領域(人工画像領域とも称する)を検出する。この人工画像領域の判定(検出)方法は任意である。例えば、ユーザ等による指定に基づいて人工画像領域の判定が行われるようにしてもよい。つまり、人工画像領域判定部301が、ユーザ等により「人工画像領域である」という指定がなされた部分領域を人工画像領域であると判定し、それ以外の領域を自然画像等の通常画像により構成される領域(通常画像領域)であると判定するようにしてもよい。
また、例えば、水平方向または垂直方向に画素値の単純増加または単純減少が生じているか否かに基づいて人工画像領域の判定が行われるようにしてもよい。例えば、人工画像領域判定部301が、水平方向(すなわち画素行)と垂直方向(すなわち画素列)のそれぞれについて、隣接画素同士の画素値の差分を求め、その差分に基づいて画素値の単純増加または単純減少が発生しているか否かに基づいて人工画像領域の判定が行われるようにしてもよい。つまり、人工画像領域判定部301が、画素値の単純増加または単純減少が発生していると判定された領域を人工画像領域であると判定し、画素値の単純増加または単純減少が発生していない領域を通常画像であると判定するようにしてもよい。なお、判定基準は画素値の単純増加または単純減少でなくてもよい。例えば、画素列や画素行において、画素値に所定の繰り返しパタンが発生している場合に、人工画像領域判定部301が、その領域を人工画像領域であると判定するようにしてもよい。
さらに、例えば、入力画像(残差データ)に対するDCT(Discrete Cosine Transform)やアダマール変換(Hadamard Transform)のような直交変換により得られた直交変換係数における高域成分に基づいて人工画像領域の判定が行われるようにしてもよい。例えば、人工画像領域判定部301が、直交変換係数における高域成分が所定の基準(例えば所定の閾値)より少ない領域を人工画像であると判定し、直交変換係数における高域成分が所定の基準以上の領域を通常画像であると判定するようにしてもよい。
また、例えば、入力画像の画素値の分散を求め、そのばらつきの大きさに基づいて人工画像領域の判定が行われるようにしてもよい。例えば、人工画像領域判定部301が、画素値のばらつきが所定の基準(例えば所定の閾値)より小さい領域を人工画像であると判定し、画素値のばらつきが所定の基準以上の領域を通常画像であると判定するようにしてもよい。
もちろん、これら以外の方法で入力画像を判定するようにしてもよい。また、複数の方法を併用するようにしてもよい。例えば、複数の方法の内、1つでも該当する領域を人工画像領域であると判定するようにしてもよい。また、複数の方法の内、所定数以上該当する領域を人工画像であると判定するようにしてもよい。さらに、各方法に重み付けを行うようにしてもよい。また、この重み付けを可変としてもよい。例えば、状況に応じて重み付けが更新されるようにしてもよいし、判定の履歴等に基づいて重み付けが更新されるようにしてもよい。
なお、この領域判定は、予め定められた所定の大きさの部分領域毎に行われるようにしてもよい。つまり、人工画像領域判定部301が、各部分領域が人工画像領域であるか否かを判定するようにしてもよい。また、この領域判定が画素毎に行われるようにしてもよい。つまり、人工画像領域判定部301が、各画素が人工画像領域に属するのか通常画像領域に属するのかを識別するようにしてもよい。なお、例えば1つ前のフレーム等、過去に処理されたフレーム(過去フレームとも称する)の領域判定結果を利用して、処理対象であるカレントフレームの領域判定が行われるようにしてもよい。例えば、過去フレームの領域判定結果を領域判定の初期値として利用するようにしてもよい。
<前処理の流れ>
この場合も、画像符号化装置100は、第1の実施の形態の場合と同様に画像符号化処理を行う(図14)。この場合の図14のステップS101において実行される前処理の流れの例を、図19のフローチャートを参照して説明する。前処理が開始されると、ステップS301およびステップS302の各処理は、図15のステップS131およびステップS132の各処理と同様に実行される。
ステップS303において、人工画像領域判定部301は、入力画像のカレントフレームについて、人工画像領域を検出する。つまり、カレントフレームを人工画像領域とそれ以外の領域(通常画像領域)とに分割する。
ステップS304において、人工画像ブロック設定部153は、人工画像領域と判定された領域を人工画像用モードでブロック分割を行う。すなわち、人工画像ブロック設定部153は、入力画像のカレントフレームの人工画像領域について、カレントブロックを周辺ブロックのサイズに応じたサイズに設定する。
ステップS305において、通常画像ブロック設定部202は、通常画像領域と判定された領域を通常画像用モードでブロック分割を行う。すなわち、人工画像ブロック設定部153は、入力画像のカレントフレームの通常画像領域について、カレントブロックのサイズをRDコスト等の数字性能に基づいて設定する。
ステップS305の処理が終了すると、前処理が終了し、処理は図14に戻る。
以上のように各処理を行うことにより、画像符号化装置100は、入力画像のフレームに人工画像(領域)と通常画像(領域)とが混在する場合であっても、各領域に対して適切にブロック分割を行うことができる。したがって、画像符号化装置100は、符号化効率の低減を抑制しながら、復号画像の主観画質の低減を抑制することができる。
<4.第4の実施の形態>
<情報のデータ単位>
以上において説明した画像に関する情報や画像の符号化・復号に関する情報が設定される(または対象とするデータの)データ単位は、それぞれ任意であり、上述した例に限定されない。例えば、これらの情報が、それぞれ、TU、TB、PU、PB、CU、LCU、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報毎に設定される。つまり、全ての情報が同一のデータ単位毎に設定される(または対象とする)ようにしなくてもよい。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
<符号化>
本技術は、イントラ予測を行う任意の画像符号化に適用することができる。つまり、変換(逆変換)、量子化(逆量子化)、符号化、インター予測、フィルタ処理等の仕様は任意であり、上述した例に限定されない。また、それらの処理の一部または全部を省略するようにしてもよい。
<本技術の適用分野>
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。
例えば、本技術は、鑑賞の用に供される画像を伝送するシステムやデバイスにも適用することができる。また、例えば、本技術は、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、農業の用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、畜産業の用に供されるシステムやデバイスにも適用することができる。さらに、本技術は、例えば火山、森林、海洋等の自然の状態を監視するシステムやデバイスにも適用することができる。また、本技術は、例えば天気、気温、湿度、風速、日照時間等を観測する気象観測システムや気象観測装置に適用することができる。さらに、本技術は、例えば鳥類、魚類、ハ虫類、両生類、哺乳類、昆虫、植物等の野生生物の生態を観測するシステムやデバイス等にも適用することができる。
<多視点画像符号化システムへの適用>
上述した一連の処理は、複数の視点(ビュー(view))の画像を含む多視点画像の符号化が行われる多視点画像符号化システムに適用することができる。その場合、各視点(ビュー(view))の符号化において、本技術を適用するようにすればよい。
<階層画像符号化システムへの適用>
また、上述した一連の処理は、所定のパラメータについてスケーラビリティ(scalability)機能を有するように複数レイヤ化(階層化)された階層画像の符号化が行われる階層画像符号化(スケーラブル符号化)システムに適用することができる。その場合、各階層(レイヤ)の符号化において、本技術を適用するようにすればよい。
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図20は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図20に示されるコンピュータ800において、CPU(Central Processing Unit)801、ROM(Read Only Memory)802、RAM(Random Access Memory)803は、バス804を介して相互に接続されている。
バス804にはまた、入出力インタフェース810も接続されている。入出力インタフェース810には、入力部811、出力部812、記憶部813、通信部814、およびドライブ815が接続されている。
入力部811は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部812は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部813は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部814は、例えば、ネットワークインタフェースよりなる。ドライブ815は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア821を駆動する。
以上のように構成されるコンピュータでは、CPU801が、例えば、記憶部813に記憶されているプログラムを、入出力インタフェース810およびバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータ(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ815に装着することにより、入出力インタフェース810を介して、記憶部813にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部814で受信し、記憶部813にインストールすることができる。
その他、このプログラムは、ROM802や記憶部813に、あらかじめインストールしておくこともできる。
<本技術の応用>
上述した実施形態に係る画像符号化装置100は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機や受信機、または、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置や、これら記憶媒体から画像を再生する再生装置などの、様々な電子機器に応用され得る。
<第1の応用例:テレビジョン受像機>
図21は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース部909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909及び制御部910を相互に接続する。
このように構成されたテレビジョン装置900において、映像信号処理部905が、例えば、デコーダ904から供給される画像データを符号化し、得られた符号化データを、外部インタフェース部909を介してテレビジョン装置900の外部に出力させることができるようにしてもよい。そして、その映像信号処理部905が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、映像信号処理部905が、デコーダ904から供給される画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、テレビジョン装置900は、図1乃至図19を参照して上述した各実施の形態と同様の効果を得ることができる。
<第2の応用例:携帯電話機>
図22は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929に供給し、その記憶媒体に書き込ませる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929に供給し、その記憶媒体に書き込ませる。
さらに、画像表示モードにおいて、記録再生部929は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部927へ出力する。画像処理部927は、記録再生部929から入力される符号化ストリームを復号し、画像データを表示部930に供給し、その画像を表示させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機920において、例えば画像処理部927が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、画像処理部927が、画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、携帯電話機920は、図1乃至図19を参照して上述した各実施の形態と同様の効果を得ることができる。
<第3の応用例:記録再生装置>
図23は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
記録再生装置940は、チューナ941、外部インタフェース(I/F)部942、エンコーダ943、HDD(Hard Disk Drive)部944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、およびユーザインタフェース(I/F)部950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
外部インタフェース部942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部942を介して受信される映像データおよび音声データは、エンコーダ943へ入力される。即ち、外部インタフェース部942は、記録再生装置940における伝送部としての役割を有する。
エンコーダ943は、外部インタフェース部942から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD部944は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD部944は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ945は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVD(Digital Versatile Disc)ディスク(DVD-Video、DVD-RAM(DVD - Random Access Memory)、DVD-R(DVD - Recordable)、DVD-RW(DVD - Rewritable)、DVD+R(DVD + Recordable)、DVD+RW(DVD + Rewritable)等)又はBlu-ray(登録商標)ディスクなどであってよい。
セレクタ946は、映像および音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD部948へ出力する。また、デコーダ947は、生成した音声データを外部のスピーカへ出力する。
OSD部948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD部948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置940を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置940において、例えばエンコーダ943が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、エンコーダ943が、画像データを、以上の各実施の形態において説明方法で符号化するようにしてもよい。このようにすることにより、記録再生装置940は、図1乃至図19を参照して上述した各実施の形態と同様の効果を得ることができる。
<第4の応用例:撮像装置>
図24は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース(I/F)部966、メモリ部967、メディアドライブ968、OSD部969、制御部970、ユーザインタフェース(I/F)部971、およびバス972を備える。
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース部971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、および制御部970を相互に接続する。
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース部966またはメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース部966またはメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD部969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD部969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース部966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部966は、撮像装置960における伝送部としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置960の動作を制御する。
ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
このように構成された撮像装置960において、例えば画像処理部964が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、画像処理部964が、画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、撮像装置960は、図1乃至図19を参照して上述した各実施の形態と同様の効果を得ることができる。
<第5の応用例:ビデオセット>
また、本技術は、任意の装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。図25は、本技術を適用したビデオセットの概略的な構成の一例を示している。
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
図25に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
図25に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
図25の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
図25のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
ビデオプロセッサ1332は、画像の符号化・復号(その一方または両方)に関する機能を有するプロセッサである。
ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
なお、図25において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図25に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、および増幅部1353を有する。
アンテナ部1351は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
<ビデオプロセッサの構成例>
図26は、本技術を適用したビデオプロセッサ1332(図25)の概略的な構成の一例を示している。
図26の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
図26に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、およびメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408Aおよび1408B、並びに、オーディオESバッファ1409Aおよび1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、およびストリームバッファ1414を有する。
ビデオ入力処理部1401は、例えばコネクティビティ1321(図25)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321等に出力する。
フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、およびエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
オーディオエンコーダ1410は、例えばコネクティビティ1321等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321等に供給する。
多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333等に供給する。
また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、例えばコネクティビティ1321等に供給し、各種記録媒体に記録させる。
さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
また、ストリームバッファ1414は、例えばコネクティビティ1321等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、または外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
また、コネクティビティ1321等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリームまたはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
また、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、上述した画像符号化装置100の機能を有するようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図19を参照して上述した各実施の形態と同様の効果を得ることができる。
なお、エンコード・デコードエンジン1407において、本技術(すなわち、画像符号化装置100の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
<ビデオプロセッサの他の構成例>
図27は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図27の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
より具体的には、図27に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
図27に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321のモニタ装置等に出力する。
ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化または符号化データの復号を行うようにしてもよい。
図27に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514またはコーデックエンジン1516)に供給される。
多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322等向けのインタフェースである。
次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
さらに、例えば、コネクティビティ1321等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333等に供給され図示せぬ他の装置に伝送される。
なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、上述した画像符号化装置100の機能を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図19を参照して上述した各実施の形態と同様の効果を得ることができる。
なお、コーデックエンジン1516において、本技術(すなわち、画像符号化装置100の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
<装置への適用例>
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図21)、携帯電話機920(図22)、記録再生装置940(図23)、撮像装置960(図24)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図19を参照して上述した各実施の形態と同様の効果を得ることができる。
なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図19を参照して上述した各実施の形態と同様の効果を得ることができる。
つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図21)、携帯電話機920(図22)、記録再生装置940(図23)、撮像装置960(図24)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図19を参照して上述した各実施の形態と同様の効果を得ることができる。
<第6の応用例:ネットワークシステム>
また、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。図28は、本技術を適用したネットワークシステムの概略的な構成の一例を示している。
図28に示されるネットワークシステム1600は、機器同士が、ネットワークを介して画像(動画像)に関する情報を授受するシステムである。このネットワークシステム1600のクラウドサービス1601は、自身に通信可能に接続されるコンピュータ1611、AV(Audio Visual)機器1612、携帯型情報処理端末1613、IoT(Internet of Things)デバイス1614等の端末に対して、画像(動画像)に関するサービスを提供するシステムである。例えば、クラウドサービス1601は、所謂動画配信(オンデマンドやライブ配信)のような、画像(動画像)のコンテンツの供給サービスを端末に提供する。また、例えば、クラウドサービス1601は、端末から画像(動画像)のコンテンツを受け取って保管するバックアップサービスを提供する。また、例えば、クラウドサービス1601は、端末同士の画像(動画像)のコンテンツの授受を仲介するサービスを提供する。
クラウドサービス1601の物理構成は任意である。例えば、クラウドサービス1601は、動画像を保存し、管理するサーバ、動画像を端末に配信するサーバ、動画像を端末から取得するサーバ、ユーザ(端末)や課金を管理するサーバ等の各種サーバや、インターネットやLAN等の任意のネットワークを有するようにしてもよい。
コンピュータ1611は、例えば、パーソナルコンピュータ、サーバ、ワークステーション等のような情報処理装置により構成される。AV機器1612は、例えば、テレビジョン受像機、ハードディスクレコーダ、ゲーム機器、カメラ等のような画像処理装置により構成される。携帯型情報処理端末1613は、例えば、ノート型パーソナルコンピュータ、タブレット端末、携帯電話機、スマートフォン等のような携帯型の情報処理装置により構成される。IoTデバイス1614は、例えば、機械、家電、家具、その他の物、ICタグ、カード型デバイス等、画像に関する処理を行う任意の物体により構成される。これらの端末は、いずれも通信機能を有し、クラウドサービス1601に接続し(セッションを確立し)、クラウドサービス1601と情報の授受を行う(すなわち通信を行う)ことができる。また、各端末は、他の端末と通信を行うこともできる。端末間の通信は、クラウドサービス1601を介して行うようにしてもよいし、クラウドサービス1601を介さずに行うようにしてもよい。
以上のようなネットワークシステム1600に本技術を適用し、端末間や、端末とクラウドサービス1601との間で画像(動画像)のデータが授受される際に、その画像データが各実施の形態において上述したように符号化されるようにしてもよい。つまり、端末(コンピュータ1611乃至IoTデバイス1614)やクラウドサービス1601が、それぞれ、上述した画像符号化装置100の機能を有するようにしてもよい。このようにすることにより、画像データを授受する端末(コンピュータ1611乃至IoTデバイス1614)やクラウドサービス1601は、図1乃至図19を参照して上述した各実施の形態と同様の効果を得ることができる。
<その他>
なお、符号化データ(ビットストリーム)に関する各種情報は、符号化データに多重化されて伝送され又は記録されるようにしてもよいし、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
また、上述したように、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術を、他の実施の形態において説明した本技術と組み合わせて実施することもできる。また、上述した任意の本技術を、上述していない他の技術と併用して実施することもできる。
なお、本技術は以下のような構成も取ることができる。
(1) 符号化対象の画像の予測画像を生成する予測処理のカレントブロックを、前記カレントブロックの周辺に位置する周辺ブロックのサイズに応じたサイズに設定するブロック設定部と、
前記ブロック設定部により設定されたカレントブロックについてイントラ予測処理を行い、前記予測画像を生成するイントラ予測部と、
前記イントラ予測部により生成された前記予測画像を用いて、前記符号化対象の画像を符号化する符号化部と
を備える画像処理装置。
(2) 前記周辺ブロックは、前記カレントブロックの上側に隣接する上ブロックと、左側に隣接する左ブロックであり、
前記ブロック設定部は、前記上ブロックと前記左ブロックのサイズが同一の場合、前記カレントブロックを、前記上ブロックおよび前記左ブロックと同一のサイズに設定するように構成される
(1)に記載の画像処理装置。
(3) 前記ブロック設定部は、前記上ブロックと前記左ブロックのサイズが同一でない場合、前記カレントブロックを、前記上ブロックおよび前記左ブロックの内、小さい方のブロック以下のサイズに設定するように構成される
(1)または(2)に記載の画像処理装置。
(4) 前記周辺ブロックは、前記カレントブロックにおいて画素値を参照する参照ブロックであり、
前記ブロック設定部は、前記カレントブロックを、前記参照ブロックと同一のサイズに設定するように構成される
(1)乃至(3)のいずれかに記載の画像処理装置。
(5) 前記周辺ブロックは、前記カレントブロックにおいて画素値を参照する参照ブロックであり、
前記ブロック設定部は、前記カレントブロックを、前記参照ブロックよりも小さいサイズに設定するように構成される
(1)乃至(4)のいずれかに記載の画像処理装置。
(6) 前記符号化対象の画像は、人工的に生成された人工画像である
(1)乃至(5)のいずれかに記載の画像処理装置。
(7) 前記符号化対象の画像が人工的に生成された人工画像であるか否かを判定する人工画像判定部をさらに備え、
前記ブロック設定部は、前記人工画像判定部により前記符号化対象の画像が前記人工画像であると判定された場合、前記カレントブロックを、前記周辺ブロックのサイズに応じたサイズに設定するように構成される
(1)乃至(6)のいずれかに記載の画像処理装置。
(8) 前記人工画像判定部は、ユーザにより前記符号化対象の画像が前記人工画像であると指定された場合、前記符号化対象の画像が前記人工画像であると判定する
(1)乃至(7)のいずれかに記載の画像処理装置。
(9) 前記人工画像判定部は、水平方向または垂直方向に画素値の単純増加または単純減少が生じている場合、前記符号化対象の画像が前記人工画像であると判定する
(1)乃至(8)のいずれかに記載の画像処理装置。
(10) 前記人工画像判定部は、高域成分が所定の基準より少ない場合、前記符号化対象の画像が前記人工画像であると判定する
(1)乃至(9)のいずれかに記載の画像処理装置。
(11) 前記人工画像判定部は、画素値のばらつきが所定の基準より小さい場合、前記符号化対象の画像が前記人工画像であると判定する
(1)乃至(10)のいずれかに記載の画像処理装置。
(12) 前記カレントブロックが、人工的に生成された人工画像により構成される人工画像領域であるか否かを判定する領域判定部をさらに備え、
前記ブロック設定部は、前記領域判定部により前記カレントブロックが前記人工画像領域であると判定された場合、前記カレントブロックを、前記周辺ブロックのサイズに応じたサイズに設定するように構成される
(1)乃至(11)のいずれかに記載の画像処理装置。
(13) 前記領域判定部は、ユーザにより前記カレントブロックが前記人工画像領域であると指定された場合、前記カレントブロックが前記人工画像領域であると判定する
(1)乃至(12)のいずれかに記載の画像処理装置。
(14) 前記領域判定部は、前記カレントブロックにおいて、水平方向または垂直方向に画素値の単純増加または単純減少が生じている場合、前記カレントブロックが前記人工画像領域であると判定する
(1)乃至(13)のいずれかに記載の画像処理装置。
(15) 前記領域判定部は、前記カレントブロックの高域成分が所定の基準より少ない場合、前記カレントブロックが前記人工画像領域であると判定する
(1)乃至(14)のいずれかに記載の画像処理装置。
(16) 前記領域判定部は、前記カレントブロックの画素値のばらつきが所定の基準より小さい場合、前記カレントブロックが前記人工画像領域であると判定する
(1)乃至(15)のいずれかに記載の画像処理装置。
(17) 前記カレントブロックについて、前記符号化対象の画像と、前記イントラ予測部により生成された前記予測画像との差分を求め、残差画像を生成する第1の演算部と、
前記第1の演算部により得られた前記残差画像を直交変換する直交変換部と、
前記直交変換部により得られた前記残差画像の直交変換係数を量子化する量子化部と
をさらに備え、
前記符号化部は、前記量子化部により得られた前記直交変換係数の量子化係数を符号化するように構成される
(1)乃至(16)のいずれかに記載の画像処理装置。
(18) 前記量子化部により得られた前記量子化係数を逆量子化する逆量子化部と、
前記逆量子化部により得られた直交変換係数を逆直交変換する逆直交変換部と、
前記逆直交変換部により得られた残差画像に、前記イントラ予測部により生成された前記予測画像を加算し、局所的な復号画像を生成する第2の演算部と、
第2の演算部により得られた前記復号画像に対してデブロッキングフィルタをかけるデブロッキングフィルタ部と
をさらに備える(1)乃至(17)のいずれかに記載の画像処理装置。
(19) 前記イントラ予測部および前記符号化部は、ITU-T H.265|ISO/IEC 23008-2 High Efficiency Video Codingに準拠した方法でそれぞれの処理を行う
(1)乃至(18)のいずれかに記載の画像処理装置。
(20) 符号化対象の画像の予測画像を生成する予測処理のカレントブロックを、前記カレントブロックの周辺に位置する周辺ブロックのサイズに応じたサイズに設定し、
設定されたカレントブロックについてイントラ予測処理を行い、前記予測画像を生成し、
生成された前記予測画像を用いて、前記符号化対象の画像を符号化する
画像処理方法。