JP2015216632A - 符号化装置および符号化方法 - Google Patents

符号化装置および符号化方法 Download PDF

Info

Publication number
JP2015216632A
JP2015216632A JP2015078932A JP2015078932A JP2015216632A JP 2015216632 A JP2015216632 A JP 2015216632A JP 2015078932 A JP2015078932 A JP 2015078932A JP 2015078932 A JP2015078932 A JP 2015078932A JP 2015216632 A JP2015216632 A JP 2015216632A
Authority
JP
Japan
Prior art keywords
prediction
image
unit
encoding
motion vector
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.)
Pending
Application number
JP2015078932A
Other languages
English (en)
Inventor
裕音 櫻井
Hironari Sakurai
裕音 櫻井
田中 潤一
Junichi Tanaka
潤一 田中
武文 名雲
Takefumi Nagumo
武文 名雲
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2015078932A priority Critical patent/JP2015216632A/ja
Publication of JP2015216632A publication Critical patent/JP2015216632A/ja
Pending legal-status Critical Current

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/124Quantisation
    • 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/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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/172Methods 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 picture, frame or field
    • 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/182Methods 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 pixel

Landscapes

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

Abstract

【課題】双方向予測時に必要な記憶容量を削減することができるようにする。
【解決手段】精度変換部は、入力画像に対して双方向予測を行う場合、予測方向ごとに、入力画像の分数画素精度の動きベクトルを整数画素精度の動きベクトルに変換する。平均化部は、精度変換部により変換された予測方向ごとの整数画素精度の動きベクトルに基づいて、入力画像の双方向予測の予測画像を生成する。本開示は、例えば、HEVC(High Efficiency Video Coding)方式の符号化装置等に適用することができる。
【選択図】図4

Description

本開示は、符号化装置および符号化方法に関し、特に、双方向予測時に必要な記憶容量を削減することができるようにした符号化装置および符号化方法に関する。
ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team − Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が行われた(例えば、非特許文献1参照)。
AVC(Advanced Video Coding)方式やHEVC方式では、8ビットの画像の双方向予測(BiP)時、各予測方向について、分数画素精度(小数画素精度)の動きベクトルが検出され、その動きベクトルを用いて動き補償が行われる。そして、AVC方式では、その結果得られる14ビットの各予測方向の予測画像が8ビットに丸められて平均化され、最終的な予測画像が生成される。
しかしながら、HEVC方式では、14ビットの各予測方向の予測画像が丸められず、そのまま平均化されて、最終的な予測画像生成される。従って、AVC方式に比べて予測画像の精度は向上するが、平均化前の各予測方向の予測画像を保持するキャッシュに必要な記憶容量が大きくなる。このことは、予測モードがマージモードである場合においても同様である。
また、双方向予測では、動きベクトルの検出および動き補償を行うために、2方向の参照画像をキャッシュに保持する必要がある。従って、一方向予測に比べて参照画像を保持するキャッシュに必要な記憶容量が大きくなる。
Benjamin Bross,Gary J.Sullivan,Ye-Kui Wang,"Editors’ proposed corrections to HEVC version 1",JCTVC-M0432_v3,2013.4.18-4.26
従って、双方向予測時に必要な記憶容量を削減することが望まれている。
本開示は、このような状況に鑑みてなされたものであり、双方向予測時に必要な記憶容量を削減することができるようにするものである。
本開示の第1の側面の符号化装置は、画像に対して双方向予測を行う場合、予測方向ごとに、前記画像の分数画素精度の動きベクトルを整数画素精度の動きベクトルに変換する精度変換部と、前記精度変換部により変換された前記予測方向ごとの整数画素精度の動きベクトルに基づいて、前記画像の双方向予測の予測画像を生成する予測画像生成部と、前記予測画像生成部により生成された前記双方向予測の予測画像を用いて、前記画像を、再帰的に分割されるブロック構造にしたがって符号化する符号化部とを備える符号化装置である。
本開示の第1の側面の符号化方法は、本開示の第1の側面の符号化装置に対応する。
本開示の第1の側面においては、画像に対して双方向予測を行う場合、予測方向ごとに、前記画像の分数画素精度の動きベクトルが整数画素精度の動きベクトルに変換され、変換された前記予測方向ごとの整数画素精度の動きベクトルに基づいて、前記画像の双方向予測の予測画像が生成され、前記双方向予測の予測画像を用いて、前記画像が、再帰的に分割されるブロック構造にしたがって符号化される。
本開示の第2の側面の符号化装置は、画像に対する予測画像を生成する場合に、複数のLCU(Largest Coding Unit)単位で、前記画像に対して、前方向予測または後方向予測のみを行うように制限する方向制限予測部と、前記予測画像を用いて、前記画像を、再帰的に分割されるブロック構造にしたがって符号化する符号化部とを備える符号化装置である。
本開示の第2の側面の符号化方法は、本開示の第2の側面の符号化装置に対応する。
本開示の第2の側面においては、画像に対する予測画像を生成する場合に、複数のLCU(Largest Coding Unit)単位で、前記画像に対して、前方向予測または後方向予測のみが行われるように制限され、前記予測画像を用いて、前記画像が、再帰的に分割されるブロック構造にしたがって符号化される。
なお、第1および第2の側面の符号化装置は、コンピュータにプログラムを実行させることにより実現することができる。
また、第1および第2の側面の符号化装置を実現するために、コンピュータに実行させるプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
第1および第2の側面の符号化装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
本開示の第1および第2の側面によれば、画像を符号化することができる。また、本開示の第1および第2の側面によれば、双方向予測時に必要な記憶容量を削減することができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本開示を適用した符号化装置の第1実施の形態の構成例を示すブロック図である。 図1の符号化部の構成例を示すブロック図である。 図2の動き予測・補償部の構成例を示すブロック図である。 図3の双方向予測部の構成例を示すブロック図である。 図1の符号化装置による効果を説明する図である。 図1の符号化装置の符号化処理を説明するフローチャートである。 図1の符号化装置の符号化処理を説明するフローチャートである。 図7の動き予測・補償処理の詳細を説明するフローチャートである。 図8の双方向予測処理の詳細を説明するフローチャートである。 本開示を適用した符号化装置の第2実施の形態の構成例を示すブロック図である。 図10の符号化部の構成例を示すブロック図である。 図11の動き予測・補償部の構成例を示すブロック図である。 図12の双方向予測部の構成例を示すブロック図である。 図10の符号化装置における双方向予測モードの予測を説明する図である。 図13の決定部で決定される予測方向を説明する図である。 符号化装置の双方向予測処理を説明するフローチャートである。 本開示を適用した符号化装置の第3実施の形態の符号化部の構成例を示すブロック図である。 制約テーブルの第1の例を示す図である。 図17の符号化部の動き予測・補償処理を説明するフローチャートである。 制約テーブルの第2の例を示す図である。 制約テーブルの第3の例を示す図である。 復号装置の構成例を示すブロック図である。 コンピュータのハードウエアの構成例を示すブロック図である。 本開示を適用したテレビジョン装置の概略構成例を示す図である。 本開示を適用した携帯電話機の概略構成例を示す図である。 本開示を適用した記録再生装置の概略構成例を示す図である。 本開示を適用した撮像装置の概略構成例を示す図である。 本開示を適用したビデオセットの概略的な構成の一例を示している。 本開示を適用したビデオプロセッサの概略的な構成の一例を示している。 本開示を適用したビデオプロセッサの概略的な構成の他の例を示している。
以下、本開示の前提および本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.第1実施の形態:符号化装置(図1乃至図9)
2.第2実施の形態:符号化装置(図10乃至図16)
3.第3実施の形態:符号化装置(図17乃至図21)
4.復号装置(図22)
5.第4実施の形態:コンピュータ(図23)
6.テレビジョン装置(図24)
7.第5実施の形態:携帯電話機(図25)
8.第6実施の形態:記録再生装置(図26)
9.第7実施の形態:撮像装置(図27)
10.第8実施の形態:ビデオセット(図28乃至図30)
<第1実施の形態>
(符号化装置の第1実施の形態の構成例)
図1は、本開示を適用した符号化装置の第1実施の形態の構成例を示すブロック図である。
図1の符号化装置10は、符号化部11と外部メモリ12により構成される。符号化装置10は、外部メモリ12に記憶されている画像をHEVC方式で符号化する。
具体的には、符号化装置10の符号化部11は、処理部21とキャッシュ22により構成される。処理部21には、外部メモリ12に記憶されている符号化対象の画像が、キャッシュ22を介して入力される。処理部21は、入力された画像(以下、入力画像という)に対して符号化処理を行う。このとき、処理部21は、符号化処理の途中結果および最終結果を必要に応じてキャッシュ22に供給し、記憶させる。また、処理部21は、キャッシュ22に参照画像として記憶されている符号化済みの画像を読み出し、符号化処理に用いる。
キャッシュ22は、処理部21から供給される符号化処理の途中結果および最終結果を一時的に記憶する。キャッシュ22は、記憶している符号化処理の最終結果である符号化済みの画像を外部メモリ12に供給し、記憶させる。また、キャッシュ22は、外部メモリ12から参照画像として供給される符号化済みの画像および入力画像を一時的に記憶する。
外部メモリ12は、DRAM(Dynamic Random Access Memory)などにより構成される。外部メモリ12は、入力画像とキャッシュ22から供給される符号化済みの画像を記憶する。外部メモリ12は、記憶している入力画像をキャッシュ22に供給する。また、外部メモリ12は、記憶している符号化済みの画像を参照画像としてキャッシュ22に供給する。
(符号化部の構成例)
図2は、図1の符号化部11の構成例を示すブロック図である。
図2の符号化部11は、画面並べ替えバッファ32、演算部33、直交変換部34、量子化部35、可逆符号化部36、蓄積バッファ37、逆量子化部38、逆直交変換部39、および加算部40を有する。また、符号化部11は、デブロックフィルタ41、適応オフセットフィルタ42、フレームメモリ44、スイッチ45、イントラ予測部46、動き予測・補償部47、予測画像選択部48、およびレート制御部49を有する。
処理部21は、画面並べ替えバッファ32、蓄積バッファ37、およびフレームメモリ44以外のブロックに含まれる処理を行う部により構成される。キャッシュ22は、画面並べ替えバッファ32、蓄積バッファ37、およびフレームメモリ44、並びに、これら以外のブロックに含まれる処理の途中結果や最終結果を一時的に記憶する部により構成される。
符号化部11の画面並べ替えバッファ32は、図1の外部メモリ12から供給されるデジタル信号である入力画像を記憶する。画面並べ替えバッファ32は、記憶した表示の順番のフレーム単位の入力画像を、GOP構造に応じて、符号化のための順番に並べ替える。画面並べ替えバッファ32は、並べ替え後の入力画像を、演算部33、イントラ予測部46、および動き予測・補償部47に出力する。
演算部33は、符号化部として機能し、予測画像選択部48から供給される予測画像を用いて、画面並べ替えバッファ32から供給される入力画像を、再帰的に分割されるブロック構造にしたがって符号化する。具体的には、演算部33は、CU(Coding Unit)の構造にしたがって、入力画像から予測画像を減算することにより符号化を行う。演算部33は、その結果得られる画像を、残差情報として直交変換部34に出力する。なお、予測画像選択部48から予測画像が供給されない場合、演算部33は、画面並べ替えバッファ32から読み出された画像をそのまま残差情報として直交変換部34に出力する。
直交変換部34は、演算部33からの残差情報をTU(transform unit)単位で直交変換する。直交変換部34は、直交変換の結果得られる直交変換係数を量子化部35に供給する。
量子化部35は、直交変換部34から供給される直交変換係数に対して量子化を行う。量子化部35は、量子化された直交変換係数を可逆符号化部36に供給する。
可逆符号化部36は、最適イントラ予測モードを示すイントラ予測モード情報をイントラ予測部46から取得する。また、可逆符号化部36は、最適インター予測モードを示すインター予測モード情報、動きベクトルを表す動きベクトル情報、参照画像を特定する情報などを動き予測・補償部47から取得する。
また、可逆符号化部36は、適応オフセットフィルタ42からオフセットフィルタに関するオフセットフィルタ情報を取得する。
可逆符号化部36は、量子化部35から供給される量子化された直交変換係数に対して、可変長符号化(例えば、CAVLC(Context-Adaptive Variable Length Coding)など)、算術符号化(例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)など)などの可逆符号化を行う。
また、可逆符号化部36は、イントラ予測モード情報、または、インター予測モード情報、動きベクトル情報、および参照画像を特定する情報、並びにオフセットフィルタ情報を、符号化に関する符号化情報として可逆符号化する。可逆符号化部36は、可逆符号化された符号化情報と直交変換係数を、符号化データとして蓄積バッファ37に供給し、蓄積させる。なお、可逆符号化された符号化情報は、スライスヘッダ等のヘッダ部として符号化データに付加されるようにしてもよい。
蓄積バッファ37は、可逆符号化部36から供給される符号化データを、一時的に記憶する。また、蓄積バッファ37は、記憶している符号化データを出力する。
また、量子化部35より出力された、量子化された直交変換係数は、逆量子化部38にも入力される。逆量子化部38は、量子化部35により量子化された直交変換係数に対して、量子化部35における量子化方法に対応する方法で逆量子化を行う。逆量子化部38は、逆量子化の結果得られる直交変換係数を逆直交変換部39に供給する。
逆直交変換部39は、TU単位で、逆量子化部38から供給される直交変換係数に対して、直交変換部34における直交変換方法に対応する方法で逆直交変換を行う。逆直交変換部39は、その結果得られる残差情報を加算部40に供給する。
加算部40は、逆直交変換部39から供給される残差情報と、予測画像選択部48から供給される予測画像を加算し、局部的に復号を行う。なお、予測画像選択部48から予測画像が供給されない場合、加算部40は、逆直交変換部39から供給される残差情報を局部的に復号された画像とする。加算部40は、局部的に復号された画像をデブロックフィルタ41とフレームメモリ44に供給する。
デブロックフィルタ41は、加算部40から供給される局部的に復号された画像に対して、ブロック歪を除去するデブロックフィルタ処理を行い、その結果得られる画像を適応オフセットフィルタ42に供給する。
適応オフセットフィルタ42は、デブロックフィルタ41によるデブロックフィルタ処理後の画像に対して、主にリンギングを除去する適応オフセットフィルタ(SAO(Sample adaptive offset))処理を行う。
具体的には、適応オフセットフィルタ42は、最大の符号化単位であるLCU(Largest Coding Unit)ごとに適応オフセットフィルタ処理の種類を決定し、その適応オフセットフィルタ処理で用いられるオフセットを求める。適応オフセットフィルタ42は、求められたオフセットを用いて、デブロックフィルタ処理後の画像に対して、決定された種類の適応オフセットフィルタ処理を行う。
適応オフセットフィルタ42は、適応オフセットフィルタ処理後の画像をフレームメモリ44に供給する。また、適応オフセットフィルタ42は、行われた適応オフセットフィルタ処理の種類とオフセットを示す情報を、オフセットフィルタ情報として可逆符号化部36に供給する。
フレームメモリ44は、適応オフセットフィルタ42から供給される画像と、加算部40から供給される画像を蓄積する。フレームメモリ44に蓄積されたフィルタ処理が行われていない画像のうちのPU(Prediction Unit)に隣接する画素は、周辺画素としてスイッチ45を介してイントラ予測部46に供給される。
一方、フレームメモリ44に蓄積されたフィルタ処理が行われた画像は、符号化済みの画像として図1の外部メモリ12に供給され、記憶される。また、フレームメモリ44は、外部メモリ12から供給される参照画像を蓄積する。フレームメモリ44に蓄積された参照画像はスイッチ45を介して動き予測・補償部47に出力される。
イントラ予測部46は、PU単位で、フレームメモリ44からスイッチ45を介して読み出された周辺画素を用いて、候補となる全てのイントラ予測モードのイントラ予測処理を行う。
また、イントラ予測部46は、画面並べ替えバッファ32から読み出された入力画像と、イントラ予測処理の結果生成される予測画像とに基づいて、候補となる全てのイントラ予測モードに対してコスト関数値(詳細は後述する)を算出する。そして、イントラ予測部46は、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。
イントラ予測部46は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、予測画像選択部48に供給する。イントラ予測部46は、予測画像選択部48から最適イントラ予測モードで生成された予測画像の選択が通知された場合、イントラ予測モード情報を可逆符号化部36に供給する。
なお、コスト関数値は、RD(Rate Distortion)コストともいい、例えば、H.264/AVC方式における参照ソフトウエアであるJM(Joint Model)で定められているような、High Complexity モードまたはLow Complexity モードの手法に基づいて算出される。なお、H.264/AVC方式における参照ソフトウエアは、http://iphome.hhi.de/suehring/tml/index.htmにおいて公開されている。
具体的には、コスト関数値の算出手法としてHigh Complexity モードが採用される場合、候補となる全ての予測モードに対して、仮に復号までが行われ、次の式(1)で表わされるコスト関数値が各予測モードに対して算出される。
Figure 2015216632
Dは、原画像と復号画像の差分(歪)、Rは、直交変換の係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ未定乗数である。
一方、コスト関数値の算出手法としてLow Complexity モードが採用される場合、候補となる全ての予測モードに対して、予測画像の生成、および、符号化情報の符号量の算出が行われ、次の式(2)で表わされるコスト関数Cost(Mode)が各予測モードに対して算出される。
Figure 2015216632
Dは、原画像と予測画像の差分(歪)、Header_Bitは、符号化情報の符号量、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
Low Complexity モードにおいては、全ての予測モードに対して、予測画像を生成するだけでよく、復号画像を生成する必要がないため、演算量が少なくて済む。
動き予測・補償部47は、PU単位で、候補となる全てのインター予測モードの動き予測・補償処理を行う。具体的には、動き予測・補償部47は、画面並べ替えバッファ32から供給される入力画像と、フレームメモリ44からスイッチ45を介して供給される参照画像とに基づいて、候補となる全てのインター予測モードの動きベクトルを1/4画素精度で検出する。なお、インター予測モードとは、PUのサイズ、予測方向、マージモードであるかどうか等を表すモードである。
動き予測・補償部47は、候補となるインター予測モードが予測方向として双方向を表す場合、1/4画素精度の動きベクトルを整数画素精度の動きベクトルに変換する。そして、動き予測・補償部47は、変換後の整数画素精度の動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。一方、動き予測・補償部47は、候補となるインター予測モードが予測方向として前方向または後方向を表す場合、1/4画素精度の動きベクトルに基づいて参照画像に対して線形補間を用いた補償処理を施し、予測画像を生成する。
なお、前方向の予測(L0予測)とは、符号化する入力画像より表示順で前の画像を参照画像として行う予測であり、後方向の予測(L1予測)とは、符号化する入力画像より表示順で後の画像を参照画像として行う予測である。
また、動き予測・補償部47は、入力画像と予測画像に基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター予測モードに決定する。そして、動き予測・補償部47は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。
また、動き予測・補償部47は、予測画像選択部48から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトル情報、参照画像を特定する情報などを可逆符号化部36に出力する。
予測画像選択部48は、イントラ予測部46および動き予測・補償部47から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの、対応するコスト関数値が小さい方を、最適予測モードに決定する。そして、予測画像選択部48は、最適予測モードの予測画像を、演算部33および加算部40に供給する。また、予測画像選択部48は、最適予測モードの予測画像の選択をイントラ予測部46または動き予測・補償部47に通知する。
レート制御部49は、蓄積バッファ37に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部35の量子化動作のレートを制御する。
(動き予測・補償部の構成例)
図3は、図2の動き予測・補償部47の構成例を示すブロック図である。
図3の動き予測・補償部47は、L0予測部61、L1予測部62、双方向予測部63、および選択部64により構成される。
動き予測・補償部47のL0予測部61は、PU単位で、候補となるL0予測を表すインター予測モード(以下、L0予測モードという)の動き予測・補償処理を行う。具体的には、L0予測部61は、L0予測モードごとに、画面並べ替えバッファ32からの入力画像とスイッチ45からの表示順で入力画像より前の参照画像とに基づいて、動きベクトルを1/4画素精度で検出する。そして、L0予測部61は、L0予測モードごとに、1/4画素精度の動きベクトルに基づいて、参照画像に対して線形補間を用いた補償処理を施し、予測画像を生成する。
さらに、L0予測部61は、L0予測モードごとに、入力画像と予測画像に基づいてコスト関数値を算出する。L0予測部61は、各L0予測モードの予測画像とコスト関数値を選択部64に供給する。
L1予測部62の処理は、予測方向が後方向である点を除いて、L0予測部61の処理と同様である。即ち、L1予測部62は、PU単位で、候補となるL1予測を表すインター予測モード(以下、L1予測モードという)の動き予測・補償処理を行う。また、L1予測部62は、L1予測モードごとに、入力画像と予測画像に基づいてコスト関数値を算出する。L1予測部62は、各L1予測モードの予測画像とコスト関数値を選択部64に供給する。
双方向予測部63は、PU単位で、候補となる双方向予測を表すインター予測モード(以下、双方向予測モードという)の動き予測・補償処理を行う。具体的には、双方向予測部63は、双方向予測モードごとに、入力画像と表示順で入力画像より前の参照画像とに基づいて、前方向の動きベクトルを1/4画素精度で検出する。また、双方向予測部63は、双方向予測モードごとに、入力画像と表示順で入力画像より後の参照画像とに基づいて、後方向の動きベクトルを1/4画素精度で検出する。
そして、双方向予測部63は、双方向予測モードごとに、検出された前方向および後方向の1/4画素精度の動きベクトルを、整数画素精度の動きベクトルに変換する。双方向予測部63は、双方向予測モードごとに、整数画素精度の前方向および後方向の動きベクトルに基づいて参照画像に対して補償処理を施し、L0予測およびL1予測の予測画像を生成する。また、双方向予測部63は、双方向予測モードごとに、L0予測の予測画像とL1予測の予測画像を平均化し、双方向予測の予測画像を生成する。
双方向予測部63は、双方向予測モードごとに、入力画像と双方向予測の予測画像とに基づいてコスト関数値を算出する。双方向予測部63は、各双方向予測モードの予測画像とコスト関数値を選択部64に供給する。
選択部64は、L0予測部61、L1予測部62、および双方向予測部63から供給されるコスト関数値のうちの最小のコスト関数値に対応するインター予測モードを、最適インター予測モードに決定する。そして、選択部64は、最適インター予測モードのコスト関数値と、対応する予測画像を図2の予測画像選択部48に供給する。また、選択部64は、予測画像選択部48から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトル情報、参照画像を特定する情報などを可逆符号化部36に出力する。
(双方向予測部の構成例)
図4は、図3の双方向予測部63の構成例を示すブロック図である。
図4の双方向予測部63は、検出部81、精度変換部82、中間予測画像生成部83、メモリ84、検出部85、精度変換部86、中間予測画像生成部87、メモリ88、平均化部89、および算出部90により構成される。
双方向予測部63の検出部81は、2次元の線形内挿適応フィルタを有する。検出部81は、入力画像の双方向予測を行う場合、候補となる双方向予測モードごとに、前方向の1/4画素精度の動きベクトル検出処理を行う。
具体的には、検出部81は、2次元の線形内挿適応フィルタを用いて、図2の画面並べ替えバッファ32から供給される入力画像に対して内挿フィルタ処理を行い、入力画像を高解像度化する。また、検出部81は、2次元の線形内挿適応フィルタを用いて、図2のスイッチ45から供給される入力画像より表示順で前の参照画像に対して内挿フィルタ処理を行い、参照画像を高解像度化する。検出部81は、高解像度化された入力画像と参照画像に基づいて、入力画像の動きベクトルを1/4画素精度で検出する。検出部81は、検出された1/4画素精度の動きベクトルを精度変換部82に供給する。
精度変換部82は、検出部81から供給される1/4画素精度の動きベクトルを整数画素精度の動きベクトルに変換し、中間予測画像生成部83に供給する。
中間予測画像生成部83は、精度変換部82から供給される整数画素精度の動きベクトルに基づいて、入力画像より表示順で前の参照画像に対して動き補償を行うことにより、L0予測を行う。中間予測画像生成部83は、その結果生成されるL0予測の予測画像を中間予測画像としてメモリ84に供給する。
メモリ84は、キャッシュ22の一部を構成する。メモリ84は、中間予測画像生成部83から中間予測画像として供給されるL0予測の予測画像を記憶する。
検出部85、精度変換部86、中間予測画像生成部87、およびメモリ88の処理は、それぞれ、予測方向が後方向である点を除いて、検出部81、精度変換部82、中間予測画像生成部83、メモリ84の処理と同様である。
即ち、検出部85は、2次元の線形内挿適応フィルタを有し、入力画像の双方向予測を行う場合、候補となる双方向予測モードごとに、後方向の1/4画素精度の動きベクトル検出処理を行う。そして、検出部85は、検出された1/4画素精度の動きベクトルを精度変換部82に供給する。
精度変換部86は、検出部85から供給される1/4画素精度の動きベクトルを整数画素精度の動きベクトルに変換し、中間予測画像生成部87に供給する。
中間予測画像生成部87は、精度変換部86から供給される整数画素精度の動きベクトルに基づいて、入力画像より表示順で後の参照画像に対して動き補償を行うことにより、L1予測を行う。中間予測画像生成部87は、その結果生成されるL1予測の予測画像を中間予測画像としてメモリ88に供給する。
メモリ88は、キャッシュ22の一部を構成する。メモリ88は、中間予測画像生成部87から中間予測画像として供給されるL1予測の予測画像を記憶する。
平均化部89は、双方向予測モードごとに、メモリ84とメモリ88から中間予測画像を読み出し、平均化する。平均化部89は、平均化された中間予測画像を双方向予測の予測画像として算出部90に供給する。
以上のように、中間予測画像生成部83、メモリ84、中間予測画像生成部87、メモリ88、および平均化部89は、各予測方向の整数画素精度の動きベクトルに基づいて入力画像の双方向予測の予測画像を生成する予測画像生成部として機能する。
算出部90は、双方向予測モードごとに、平均化部89から供給される予測画像と入力画像とに基づいて、コスト関数値を算出する。算出部90は、各双方向予測モードの予測画像とコスト関数値を図3の選択部64に供給する。
(効果の説明)
図5は、符号化装置10による効果を説明する図である。
図5Aに示すように、双方向予測時に、分数画素精度の動きベクトルを用いて動き補償が行われる場合、線形補間を用いて動き補償を行う必要がある。従って、例えば、入力画像のビット数が8ビットである場合、動き補償の結果生成されるL0予測の予測画像およびL1予測の予測画像のビット数は14ビットになる。よって、双方向予測の予測画像を生成するためにL0予測の予測画像およびL1予測の予測画像を記憶するキャッシュに必要な記憶容量は大きくなる。
これに対して、符号化装置10では、双方向予測時に整数画素精度の動きベクトルを用いて動き補償を行う。従って、図5Bに示すように、動き補償時に線形補間を行う必要がなくなり、8ビットの入力画像から、8ビットのL0予測の予測画像とL1予測の予測画像が生成される。よって、キャッシュ22を構成するメモリ84およびメモリ88に必要な記憶容量は小さくなる。即ち、符号化装置10では、双方向予測時に分数画素精度の動きベクトルが用いられる場合に比べて、双方向予測時に必要なキャッシュの記憶容量を削減することができる。
また、符号化装置10では、双方向予測時に線形補間を行う必要がないため、双方向予測時に分数画素精度の動きベクトルが用いられる場合に比べて、双方向予測時の処理量を削減することができる。
(符号化装置の処理の説明)
図6および図7は、図1の符号化装置10の符号化処理を説明するフローチャートである。
図7のステップS31において、符号化部11の画面並べ替えバッファ32は、図1の外部メモリ12から供給される入力画像を記憶する。
ステップS32において、画面並べ替えバッファ32は、記憶した表示の順番のフレームの画像を、GOP構造に応じて、符号化のための順番に並べ替える。画面並べ替えバッファ32は、並べ替え後のフレーム単位の画像を、演算部33、イントラ予測部46、および動き予測・補償部47に供給する。
ステップS33において、イントラ予測部46は、PU単位で候補となる全てのイントラ予測モードのイントラ予測処理を行う。また、イントラ予測部46は、画面並べ替えバッファ32から読み出された画像と、イントラ予測処理の結果生成される予測画像とに基づいて、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。そして、イントラ予測部46は、コスト関数値が最小となるイントラ予測モードを、最適イントラ予測モードに決定する。イントラ予測部46は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、予測画像選択部48に供給する。
また、動き予測・補償部47は、PU単位で候補となる全てのインター予測モードの動き予測・補償処理を行う。また、動き予測・補償部47は、画面並べ替えバッファ32から供給される画像と予測画像とに基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター予測モードに決定する。そして、動き予測・補償部47は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。
ステップS34において、予測画像選択部48は、イントラ予測部46および動き予測・補償部47から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちのコスト関数値が最小となる方を、最適予測モードに決定する。そして、予測画像選択部48は、最適予測モードの予測画像を、演算部33および加算部40に供給する。
ステップS35において、予測画像選択部48は、最適予測モードが最適インター予測モードであるかどうかを判定する。ステップS35で最適予測モードが最適インター予測モードであると判定された場合、予測画像選択部48は、最適インター予測モードで生成された予測画像の選択を動き予測・補償部47に通知する。
そして、ステップS36において、動き予測・補償部47は、インター予測モード情報、動きベクトル情報、および参照画像を特定する情報を可逆符号化部36に供給し、処理をステップS38に進める。
一方、ステップS35で最適予測モードが最適インター予測モードではないと判定された場合、即ち最適予測モードが最適イントラ予測モードである場合、予測画像選択部48は、最適イントラ予測モードで生成された予測画像の選択をイントラ予測部46に通知する。そして、ステップS37において、イントラ予測部46は、イントラ予測モード情報を可逆符号化部36に供給し、処理をステップS38に進める。
ステップS38において、演算部33は、画面並べ替えバッファ32から供給される入力画像から、予測画像選択部48から供給される予測画像を減算することにより符号化を行う。演算部33は、その結果得られる画像を、残差情報として直交変換部34に出力する。
ステップS39において、直交変換部34は、演算部33からの残差情報に対してTU単位で直交変換を施し、その結果得られる直交変換係数を量子化部35に供給する。
ステップS40において、量子化部35は、直交変換部34から供給される直交変換係数を量子化し、量子化された直交変換係数を可逆符号化部36と逆量子化部38に供給する。
図7のステップS41において、逆量子化部38は、量子化部35から供給される量子化された係数を逆量子化し、その結果得られる直交変換係数を逆直交変換部39に供給する。
ステップS42において、逆直交変換部39は、逆量子化部38から供給される直交変換係数に対してTU単位で逆直交変換を施し、その結果得られる残差情報を加算部40に供給する。
ステップS43において、加算部40は、逆直交変換部39から供給される残差情報と、予測画像選択部48から供給される予測画像を加算し、局部的に復号を行う。加算部40は、局部的に復号された画像をデブロックフィルタ41とフレームメモリ44に供給する。
ステップS44において、デブロックフィルタ41は、加算部40から供給される局部的に復号された画像に対して、デブロックフィルタ処理を行う。デブロックフィルタ41は、その結果得られる画像を適応オフセットフィルタ42に供給する。
ステップS45において、適応オフセットフィルタ42は、デブロックフィルタ41から供給される画像に対して、LCUごとに適応オフセットフィルタ処理を行う。適応オフセットフィルタ42は、その結果得られる画像をフレームメモリ44に供給する。また、適応オフセットフィルタ42は、LCUごとに、オフセットフィルタ情報を可逆符号化部36に供給する。
ステップS46において、フレームメモリ44は、適応オフセットフィルタ42から供給される画像と加算部40から供給される画像を蓄積する。フレームメモリ44に蓄積されたフィルタ処理が行われていない画像のうちのPUに隣接する画素は、周辺画素としてスイッチ45を介してイントラ予測部46に供給される。一方、フレームメモリ44に蓄積されたフィルタ処理が行われた画像は、外部メモリ12に供給され、記憶される。また、フレームメモリ44は、符号化済みの画像として外部メモリ12から供給される参照画像を蓄積する。この参照画像は、スイッチ45を介して動き予測・補償部47に出力される。
ステップS47において、可逆符号化部36は、イントラ予測モード情報、または、インター予測モード情報、動きベクトル情報、および参照画像を特定する情報、並びにオフセットフィルタ情報を、符号化情報として可逆符号化する。
ステップS48において、可逆符号化部36は、量子化部35から供給される量子化された直交変換係数を可逆符号化する。そして、可逆符号化部36は、ステップS47の処理で可逆符号化された符号化情報と可逆符号化された直交変換係数から、符号化データを生成し、蓄積バッファ37に供給する。
ステップS49において、蓄積バッファ37は、可逆符号化部36から供給される符号化データを、一時的に蓄積する。
ステップS50において、レート制御部49は、蓄積バッファ37に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部35の量子化動作のレートを制御する。
ステップS51において、蓄積バッファ37は、記憶している符号化データを出力し、処理を終了する。
なお、図6および図7の符号化処理では、説明を簡単化するため、常に、イントラ予測処理と動き予測・補償処理が行われるようにしたが、実際には、ピクチャタイプ等によっていずれか一方のみが行われる場合もある。
図8は、図7のステップS33の動き予測・補償処理の詳細を説明するフローチャートである。この動き予測・補償処理は、PU単位で行われる。
図8のステップS61において、動き予測・補償部47のL0予測部61(図3)は、候補となるL0予測モードの動き予測・補償処理を行い、コスト関数値を算出するL0予測処理を行う。L0予測部61は、各L0予測モードの予測画像とコスト関数値を選択部64に供給する。
ステップS62において、L1予測部62は、候補となるL1予測モードの動き予測・補償処理を行い、コスト関数値を算出するL1予測処理を行う。L1予測部62は、各L1予測モードの予測画像とコスト関数値を選択部64に供給する。
ステップS63において、双方向予測部63は、候補となる双方向予測モードの動き予測・補償処理を行い、コスト関数値を算出する双方向予測処理を行う。この双方向予測処理の詳細は、後述する図9を参照して説明する。双方向予測部63は、各双方向予測モードの予測画像とコスト関数値を選択部64に供給する。
ステップS64において、選択部64は、L0予測部61、L1予測部62、および双方向予測部63から供給されるコスト関数値のうちの最小のコスト関数値に対応するインター予測モードを、最適インター予測モードに決定する。
ステップS65において、選択部64は、最適インター予測モードの予測画像とコスト関数値を図2の予測画像選択部48に出力し、処理を終了する。
図9は、図8のステップS63の双方向予測処理の詳細を説明するフローチャートである。この双方向予測処理は、候補となる双方向予測モードごとに行われる。
図9のステップS71において、双方向予測部63の検出部81(図4)は、前方向の1/4画素精度の動きベクトル検出処理を行い、検出された1/4画素精度の動きベクトルを精度変換部82に供給する。
ステップS72において、検出部85は、後方向の1/4画素精度の動きベクトル検出処理を行い、検出された1/4画素精度の動きベクトルを精度変換部86に供給する。
ステップS73において、精度変換部82は、検出部81から供給される前方向の1/4画素精度の動きベクトルを整数画素精度の動きベクトルに変換し、中間予測画像生成部83に供給する。
ステップS74において、精度変換部86は、検出部85から供給される後方向の1/4画素精度の動きベクトルを整数画素精度の動きベクトルに変換し、中間予測画像生成部87に供給する。
ステップS75において、中間予測画像生成部83は、精度変換部82から供給される前方向の整数画素精度の動きベクトルに基づいて、入力画像より表示順で前の参照画像に対して動き補償を行うことにより、L0予測を行う。中間予測画像生成部83は、その結果生成されるL0予測の予測画像をメモリ84に供給する。
ステップS76において、中間予測画像生成部87は、精度変換部86から供給される後方向の整数画素精度の動きベクトルに基づいて、入力画像より表示順で後の参照画像に対して動き補償を行うことにより、L1予測を行う。中間予測画像生成部87は、その結果生成されるL1予測の予測画像をメモリ88に供給する。
ステップS77において、メモリ84は、中間予測画像生成部83から供給されるL0予測の予測画像を記憶する。ステップS78において、メモリ88は、中間予測画像生成部87から供給されるL1予測の予測画像を記憶する。
ステップS79において、平均化部89は、メモリ84に記憶されているL0予測の予測画像と、メモリ88に記憶されているL1予測の予測画像を平均化する。平均化部89は、平均化された予測画像を双方向予測の予測画像として算出部90に供給する。
ステップS80において、算出部90は、平均化部89から供給される予測画像と入力画像とに基づいて、コスト関数値を算出する。算出部90は、予測画像とコスト関数値を図3の選択部64に供給する。そして、処理は、図8のステップS63に戻り、ステップS64に進む。
以上のように、符号化装置10は、双方向予測を行う場合、入力画像の分数画素精度の動きベクトルを整数画素精度の動きベクトルに変換し、整数画素精度の動きベクトルに基づいて双方向予測を行い、予測画像を生成する。従って、双方向予測の予測画像の生成に用いられるL0予測の予測画像とL1予測の予測画像のビット数を削減することができる。その結果、メモリ84およびメモリ88に必要な記憶容量を削減することができる。また、双方向予測時の処理量を削減することができる。
<第2実施の形態>
(符号化装置の第2実施の形態の構成例)
図10は、本開示を適用した符号化装置の第2実施の形態の構成例を示すブロック図である。
図10の符号化装置100は、符号化部101、外部メモリ102、およびダウンコンバータ103により構成される。符号化装置100は、外部メモリ102に記憶されている画像をHEVC方式で符号化する際、双方向予測時にL0予測またはL1予測のいずれかのみを行う。
具体的には、符号化装置100の符号化部101は、処理部111とキャッシュ112により構成される。処理部111には、外部メモリ102に記憶されている符号化対象の画像が、入力画像としてキャッシュ112を介して入力される。処理部111は、入力画像に対して符号化処理を行う。
このとき、処理部111は、符号化処理の途中結果および最終結果を必要に応じてキャッシュ112に供給し、記憶させる。また、処理部111は、キャッシュ112に記憶されている、入力画像より表示順で前および後の1/4倍に縮小された参照画像(以下、縮小参照画像という)と1/4倍に縮小された入力画像(以下、縮小入力画像という)とに基づいて、双方向予測モード時に行う予測として、L0予測またはL1予測を選択する。そして、処理部111は、キャッシュ112に参照画像として記憶されている符号化済み画像を用いて、選択されたL0予測またはL1予測を行うことにより、双方向予測モードの予測を行う。
キャッシュ112は、処理部111から供給される符号化処理の途中結果と符号化済みの画像を一時的に記憶する。キャッシュ112は、記憶している符号化済みの画像を外部メモリ102に供給し、記憶させる。また、キャッシュ112は、外部メモリ102から参照画像として供給される符号化済みの画像を一時的に記憶する。キャッシュ112は、外部メモリ102から供給される縮小参照画像、入力画像、および縮小入力画像を一時的に記憶する。
外部メモリ102は、DRAMなどにより構成される。外部メモリ102は、入力画像とキャッシュ112から供給される符号化済みの画像を記憶する。また、外部メモリ102は、ダウンコンバータ103から供給される縮小入力画像と縮小参照画像を記憶する。
外部メモリ102は、記憶している入力画像と、その入力画像に対応する縮小入力画像をキャッシュ112に供給する。また、外部メモリ102は、記憶している入力画像より表示順で前または後の符号化済みの画像を、参照画像としてキャッシュ112に供給する。さらに、外部メモリ102は、縮小参照画像をキャッシュ112に供給する。
ダウンコンバータ103は、外部メモリ102から入力画像を読み出し、その入力画像を1/4倍に縮小する。そして、ダウンコンバータ103は、その結果得られる縮小入力画像を外部メモリ102に供給する。
また、ダウンコンバータ103は、外部メモリ102から入力画像より表示順で前および後の符号化済みの画像を参照画像として読み出し、その参照画像を1/4倍に縮小する。そして、ダウンコンバータ103は、その結果得られる縮小参照画像を外部メモリ102に供給する。
なお、ここでは、参照画像と入力画像の縮小率は1/4であるものとするが、参照画像の縮小率と入力画像の縮小率は、同一であれば、1/4に限定されない。
(符号化部の構成例)
図11は、図10の符号化部101の構成例を示すブロック図である。
図11に示す構成のうち、図2の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図11の符号化部101の構成は、フレームメモリ44、動き予測・補償部47の代わりに、フレームメモリ131、動き予測・補償部132が設けられる点が、図1の符号化部11の構成と異なる。
フレームメモリ131は、適応オフセットフィルタ42から供給される画像と、加算部40から供給される画像を蓄積する。フレームメモリ131に蓄積されたフィルタ処理が行われていない画像のうちのPUに隣接する画素は、周辺画素としてスイッチ45を介してイントラ予測部46に供給される。
一方、フレームメモリ131に蓄積されたフィルタ処理が行われた画像は、符号化済みの画像として図10の外部メモリ102に供給され、記憶される。また、フレームメモリ131は、外部メモリ102から供給される参照画像、縮小参照画像、および縮小入力画像を蓄積する。フレームメモリ131に蓄積された参照画像、縮小参照画像、および縮小入力画像は、スイッチ45を介して動き予測・補償部132に出力される。
動き予測・補償部132は、PU単位で、候補となる全てのインター予測モードの動き予測・補償処理を行う。具体的には、動き予測・補償部132は、候補となるインター予測モードが双方向予測モードである場合、フレームメモリ131からスイッチ45を介して供給される縮小参照画像と縮小入力画像に基づいて、連続する5個のLCUからなるLCU群単位で予測方向を決定する。
そして、動き予測・補償部132は、画面並べ替えバッファ32から供給される入力画像と、フレームメモリ131からスイッチ45を介して供給される、決定された予測方向の参照画像とに基づいて、1/4画素精度の動きベクトル検出する。
一方、動き予測・補償部132は、候補となるインター予測モードがL0予測モードまたはL1予測モードである場合、入力画像より表示順で前または後の参照画像と入力画像とに基づいて、1/4画素精度の動きベクトルを検出する。
動き予測・補償部132は、インター予測モードごとに、検出された1/4画素精度の動きベクトルに基づいて、参照画像に対して線形補間を用いた補償処理を施し、予測画像を生成する。そして、動き予測・補償部132は、インター予測モードごとに、入力画像と予測画像に基づいてコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター予測モードに決定する。動き予測・補償部132は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。
また、動き予測・補償部132は、予測画像選択部48から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトル情報、参照画像を特定する情報などを可逆符号化部36に出力する。
なお、第2実施の形態では、双方向予測時の予測方向の決定単位が、連続する5個のLCUからなるLCU群であるようにするが、連続する5個以外の数のLCUであるようにすることもできる。
(動き予測・補償部の構成例)
図12は、図11の動き予測・補償部132の構成例を示すブロック図である。
図12に示す構成のうち、図3の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図12の動き予測・補償部132の構成は、双方向予測部63の代わりに双方向予測部151が設けられる点が、図3の動き予測・補償部47の構成と異なる。
双方向予測部151は、入力画像の双方向予測を行わない場合、双方向予測モードが表す予測方向を前方向または後方向のみに制限した双方向予測モードの動き予測・補償処理を、その双方向予測モードの動き予測・補償処理として行う。具体的には、双方向予測部151は、図11のフレームメモリ131からスイッチ45を介して供給される縮小参照画像と縮小入力画像に基づいて、LCU群単位で予測方向を前方向または後方向に決定する。これにより、双方向予測部151(方向制限予測部)は、前方向予測または後方向予測のみを行うように制限する。
そして、双方向予測部151は、画面並べ替えバッファ32から供給される入力画像と、フレームメモリ131からスイッチ45を介して供給される、決定された予測方向の参照画像とに基づいて、1/4画素精度の動きベクトル検出する。双方向予測部151は、双方向予測モードごとに、検出された1/4画素精度の動きベクトルに基づいて、決定された予測方向の参照画像に対して線形補間を用いた補償処理を施す。
双方向予測部151は、その結果生成される予測画像と入力画像に基づいてコスト関数値を算出する。双方向予測部151は、各双方向予測モードの予測画像とコスト関数値を選択部64に供給する。
(双方向予測部の構成例)
図13は、図12の双方向予測部151の構成例を示すブロック図である。
図13の双方向予測部151は、縮小予測補償部171、特徴量算出部172、特徴量保持部173、決定部174、および予測部175により構成される。
双方向予測部151の縮小予測補償部171には、図11のスイッチ45を介して、LUC群単位で、入力画像より表示順で前および後の縮小参照画像と縮小入力画像とが供給される。縮小予測補償部171は、縮小参照画像と縮小入力画像を用いて、各LCU群の双方向の動き予測・補償処理を行う。
具体的には、縮小予測補償部171は、2次元の線形内挿適応フィルタを有する。縮小予測補償部171は、LCU群ごとに、縮小入力画像と縮小参照画像を用いて、各予測方向の1/4画素精度の動きベクトル検出処理を行う。縮小予測補償部171は、その結果得られる各予測方向の1/4画素精度の動きベクトルに基づいて、縮小参照画像に対して動き補償を行うことにより、縮小入力画像の双方向予測を行う。
縮小予測補償部171は、双方向予測の結果得られる縮小予測画像と縮小入力画像に基づいて、各予測方向の縮小予測画像のコスト関数値を算出する。縮小予測補償部171は、各予測方向の縮小入力画像の動きベクトルと縮小予測画像のコスト関数値を、特徴量算出部172に供給する。
特徴量算出部172は、予測方向ごとに、縮小予測補償部171から供給される縮小入力画像の動きベクトルと縮小予測画像のコスト関数値に基づいて、以下の式(3)により、特徴量を算出する。
Figure 2015216632
式(3)において、Costmは、特徴量であり、SADは縮小入力画像のコスト関数値である。また、λは予め決められた係数であり、MVは縮小入力画像の動きベクトルである。
式(3)によれば、コスト関数値が小さいほど、即ち予測精度が高いほど、特徴量が小さくなる。また、動きベクトルが小さいほど、即ち符号化データに含まれる動きベクトル情報の情報量が少ないほど、特徴量が小さくなる。従って、特徴量が小さいほど、符号化効率は高い。
特徴量算出部172は、算出された各LCU群の前方向および後方向の特徴量を特徴量保持部173に供給し、前方向と後方向の動きベクトルを予測部175に供給する。特徴量保持部173は、特徴量算出部172から供給される各LCU群の前方向および後方向の特徴量を保持する。
決定部174は、LCU群ごとに、特徴量保持部173から前方向および後方向の特徴量を読み出す。決定部174は、読み出された前方向および後方向の特徴量に基づいて、双方向予測の代わりに行う予測の予測方向を決定する。
具体的には、決定部174は、前方向の特徴量と後方向の特徴量のうちの小さい方に対応する予測方向を、双方向予測の代わりに行う予測の予測方向に決定する。即ち、決定部174は、L0予測とL1予測のうちの符号化効率が高い方を、双方向予測の代わりに行う予測に決定する。決定部174は、各LCU群の予測方向を予測部175に供給する。
予測部175は、候補となる双方向予測モードごとに、双方向予測モードが表す予測方向を、予測部175から供給される予測方向に代えて、動き予測・補償処理を行う。具体的には、予測部175は、2次元の線形内挿適応フィルタを有する。予測部175は、図11のスイッチ45を介して供給される入力画像と、決定部174から供給される予測方向の参照画像とを用いて、1/4画素精度の動きベクトル検出処理を行う。このとき、予測部175は、特徴量算出部172から供給される前方向と後方向の動きベクトルのうちの、予測部175から供給される予測方向の動きベクトルを用いる。
予測部175は、1/4画素精度の動きベクトル検出処理により検出された1/4画素精度の動きベクトルに基づいて、参照画像に対して動き補償を行うことにより、決定部174から供給される予測方向の予測を行う。
予測部175は、双方向予測モードごとに、予測の結果得られる予測画像と入力画像に基づいて、コスト関数値を算出する。予測部175は、各双方向予測モードの予測画像とコスト関数値を図12の選択部64に供給する。
なお、図13では、特徴量算出部172が特徴量保持部173の前段に設けられたが、後段に設けられるようにしてもよい。この場合、特徴量保持部173は、各LCU群の動きベクトルとコスト関数値を保持し、特徴量算出部172は、その動きベクトルとコスト関数値に基づいて各LCU群の特徴量を算出し、決定部174に供給する。
(双方向予測モードの予測の説明)
図14は、図10の符号化装置100における双方向予測モードの予測を説明する図である。
図14Aに示すように、双方向予測モードの予測として双方向予測が行われる場合、外部メモリから、前方向の参照画像(L0参照画像)、後方向の参照画像(L1参照画像)、および入力画像が読み出され、キャッシュを構成するフレームメモリに記憶される。そして、フレームメモリに記憶されている前方向の参照画像、後方向の参照画像、および入力画像を用いて双方向予測が行われ、双方向予測の予測画像が生成される。
これに対して、符号化装置100では、図14Bに示すように、外部メモリ102から、決定部174で決定された予測方向の参照画像(L0/L1参照画像)と入力画像が読み出され、フレームメモリ131に記憶される。そして、フレームメモリ131に記憶されている参照画像と入力画像を用いてL0予測またはL1予測が行われ、L0予測またはL1予測の予測画像が生成される。
このように、符号化装置100では、外部メモリ102から前方向と後方向のいずれか一方の参照画像のみが読み出され、フレームメモリ131に記憶される。従って、双方向予測モードの予測として双方向予測が行われる場合に比べて、双方向予測モードの予測時の外部メモリ102とキャッシュ112間の参照画像の読み出しにおける帯域を半分に削減することができる。
(双方向予測モードの予測方向の説明)
図15は、図13の決定部174で決定される予測方向を説明する図である。
なお、図15において、正方形はLCUを表す。また、正方形内に記載されている「L0」および「L1」は、その正方形が表すLCUの双方向予測モードの予測が、それぞれ、L0予測、L1予測であることを表す。
双方向予測モードの予測方向がLCU単位で決定される場合、図15Aに示すように、LCUごとに、双方向予測モードの予測方向は異なる。従って、例えば、図15Aに示すように、隣接するLCUの双方向予測モードの予測方向が異なる場合、符号化部101は、外部メモリ102から、LCU単位で、その予測方向の参照画像を読み出す必要がある。
これに対して、決定部174は、LCU群ごとに双方向予測モードの予測方向を決定するので、各LCUの双方向予測モードの予測方向は、LCU群ごとに異なる。図15Bの例では、LCU群191と、そのLCU群191に隣接するLCU群192の双方向予測モードの予測方向が異なっている。この場合、符号化部101は、外部メモリ102から、LCU群単位で、そのLCU群の双方向予測モードの予測方向の参照画像を読み出すことができる。
従って、符号化部101は、双方向予測モードの予測方向がLCU単位で決定される場合に比べて、外部メモリ102へのアクセス回数を削減することができる。
(符号化装置の処理の説明)
図10の符号化装置100の符号化処理は、図8のステップS63の双方向予測処理、および、フレームメモリ44に縮小参照画像と縮小入力画像が蓄積される点を除いて、図6および図7の符号化処理と同様である。従って、以下では、双方向予測処理についてのみ説明する。
図16は、符号化装置100の双方向予測処理を説明するフローチャートである。この双方向予測処理は、候補となる双方向予測モードごとに行われる。
図16のステップS111乃至S118の処理は、LCU群単位で行われる。ステップS111において、双方向予測部151の縮小予測補償部171(図13)は、図11のスイッチ45を介して供給される縮小参照画像と縮小入力画像を用いて、各予測方向の1/4画素精度の動きベクトル検出処理を行う。
ステップS112において、縮小予測補償部171は、ステップS111の処理により得られる各予測方向の1/4画素精度の動きベクトルに基づいて、縮小参照画像に対して動き補償を行うことにより、縮小入力画像の双方向予測を行う。
ステップS113において、縮小予測補償部171は、双方向予測の結果得られる縮小予測画像と縮小入力画像に基づいて、各予測方向の縮小予測画像のコスト関数値を算出する。縮小予測補償部171は、各予測方向の縮小入力画像の動きベクトルと縮小予測画像のコスト関数値を、特徴量算出部172に供給する。
ステップS114において、特徴量算出部172は、予測方向ごとに、縮小予測補償部171から供給される動きベクトルとコスト関数値に基づいて、上述した式(3)により、特徴量を算出する。特徴量算出部172は、算出された前方向および後方向の特徴量を特徴量保持部173に供給し、前方向と後方向の動きベクトルを予測部175に供給する。
ステップS115において、特徴量保持部173は、特徴量算出部172から供給される前方向および後方向の特徴量を保持する。
ステップS116において、決定部174は、特徴量保持部173に記憶されている前方向の特徴量が、後方向の特徴量より小さいかどうかを判定する。ステップS116で前方向の特徴量が後方向の特徴量より小さいと判定された場合、決定部174は、双方向予測モードの予測方向を前方向に決定し、予測部175に供給する。
一方、ステップS116で前方向の特徴量が後方向の特徴量より小さくはないと判定された場合、決定部174は、双方向予測モードの予測方向を後方向に決定し、予測部175に供給する。
ステップS117またはS118の処理後、処理はステップS119に進む。ステップS119乃至S121の処理は、PU単位で行われる。
ステップS119において、予測部175は、決定部174から供給される処理対象のPUに対応する予測方向の参照画像と、スイッチ45を介して供給される入力画像とを用いて、1/4画素精度の動きベクトル検出処理を行う。
ステップS120において、予測部175は、ステップS119の処理により得られる1/4画素精度の動きベクトルに基づいて、参照画像に対して動き補償を行うことにより、決定部174から供給される予測方向の予測を行う。
ステップS121において、予測部175は、予測の結果得られる予測画像と入力画像に基づいて、コスト関数値を算出する。予測部175は、予測画像とコスト関数値を図12の選択部64に供給し、処理は終了する。
以上のように、符号化装置100は、双方向予測の代わりに、L0予測またはL1予測を行う。従って、符号化部101と外部メモリ102の間の参照画像の読み出しにおける帯域を削減することができる。また、双方向予測モード時の参照画像の記憶に必要なフレームメモリ131の記憶容量を削減することができる。さらに、双方向予測モード時にL0予測およびL1予測のうちの一方のみを行えばよいので、双方向予測モード時の処理量を削減することができる。
また、符号化装置100は、双方向予測の代わりに行う予測の予測方向を複数のLCU単位で決定するので、符号化部101から外部メモリ102へのアクセスの回数を削減することができる。
なお、特徴量は、コスト関数と動きベクトルのいずれか一方だけを用いて決定されてもよい。
<第3実施の形態>
(符号化装置の第3実施の形態の符号化部の構成例)
本開示を適用した符号化装置の第3実施の形態の構成は、符号化部を除いて、図10の符号化装置100の構成と同一である。従って、以下では、符号化部についてのみ説明する。
図17は、本開示を適用した符号化装置の第3実施の形態の符号化部の構成例を示すブロック図である。
図17に示す構成のうち、図11の構成と同じ構成には同じ符号を付してある。重複する説明については適宜省略する。
図17の符号化部200の構成は、レート制御部49、動き予測・補償部132の代わりに、レート制御部201、動き予測・補償部204が設けられる点、および、テーブル記憶部202、設定部203が新たに設けられる点が、図11の符号化部101の構成と異なる。符号化部200は、量子化パラメータ(QP)に応じて、動きベクトルの精度と予測方向を制限する。
具体的には、符号化部200のレート制御部201は、蓄積バッファ37に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部35の量子化動作のレートを制御する。また、レート制御部201は、量子化動作のレートの制御に用いられる量子化パラメータを設定部203に供給する。
テーブル記憶部202は、量子化パラメータに対応付けて動きベクトル制限情報と予測方向制限情報とが登録された制約テーブルを記憶する。動きベクトル制限情報とは、双方向予測時の動きベクトルの精度の整数精度への制限の有無を表す情報であり、予測方向制限情報とは、双方向予測モード時の予測方向の前方向または後方向への制限の有無を表す情報である。なお、予測方向制限情報が制限の有りを表す場合、双方向予測時は存在しないため、動きベクトル制限情報は登録されない。
設定部203は、レート制御部201から供給される量子化パラメータを画面単位で平均化し、量子化パラメータの平均値を計算する。設定部203は、量子化パラメータの平均値に基づいて、その平均値に対応付けて制約テーブルに登録されている動きベクトル制限情報と予測方向制限情報の読み出しを、テーブル記憶部202に要求する。
設定部203は、その要求に応じてテーブル記憶部202から読み出された動きベクトル制限情報に基づいて、双方向予測の予測画像の生成に用いる動きベクトルの精度を整数画素精度または分数画素精度に設定する。また、設定部203(決定部)は、要求に応じてテーブル記憶部202から読み出された予測方向制限情報に基づいて、双方向予測を行うかどうかを決定する。
設定部203は、設定された動きベクトルの精度と、双方向予測を行うかどうかを表す双方向予測情報とを、動き予測・補償部204に供給する。
動き予測・補償部204は、双方向予測情報が双方向予測を行わないこと表す場合、図11の動き予測・補償部132と同様の動き予測・補償処理(以下、方向制限処理という)を行う。
また、双方向予測情報が双方向予測を行うことを表し、設定された動きベクトルの精度が整数画素精度である場合、動き予測・補償部204は、図2の動き予測・補償部47と同様の動き予測・補償処理(以下、精度制限処理という)を行う。
さらに、双方向予測情報が双方向予測を行うことを表し、設定された動きベクトルの精度が分数画素精度である場合、動き予測・補償部204は、通常の動き予測・補償処理(以下、通常処理という)を行う。通常処理では、双方向予測モードの動き予測・補償処理として、動き予測・補償部132と同様に分数画素精度の動きベクトルが検出され、動き予測・補償部47と同様に双方向予測が行われる。
動き予測・補償部204は、入力画像と、方向制限処理、精度制限処理、または通常処理により生成された予測画像とに基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出する。そして、動き予測・補償部204は、コスト関数値が最小となるインター予測モードを最適インター予測モードに決定する。動き予測・補償部204は、最適インター予測モードのコスト関数値と、対応する予測画像を予測画像選択部48に供給する。
また、動き予測・補償部204は、予測画像選択部48から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトル情報、参照画像を特定する情報などを可逆符号化部36に出力する。
(制約テーブルの例)
図18は、図17のテーブル記憶部202に記憶される制約テーブルの例を示す図である。
量子化パラメータが低い場合、即ち符号化データのビットレートが高い場合、符号化性能の差が見えにくい。また、双方向予測モード時の予測方向の制限や、双方向予測時の動きベクトルの精度の制限によって生じる符号化効率の低下が、問題にならない。従って、双方向予測モード時の予測方向と双方向予測時の動きベクトルの精度を制限することにより、キャッシュ112の記憶容量を削減することが望ましい。
一方、量子化パラメータが高い場合、即ち符号化データのビットレートが低い場合、符号化性能の差が見えやすく、符号化効率の低下が問題になる。従って、双方向予測モード時の予測方向と双方向予測時の動きベクトルの精度を制限せずに、符号化性能や符号化効率を向上させることが望ましい。
従って、図18の制限テーブルでは、量子化パラメータ(QP)が、0〜29、30〜39、40〜51の3段階に区分され、量子化パラメータが最も低い区分(0〜29)に対応付けて、制限の有りを表す予測方向制限情報が登録されている。また、量子化パラメータが2番目に低い区分(30〜39)に対応付けて、制限の無しを表す予測方向制限情報と制限の有りを表す動きベクトル制限情報とが登録されている。さらに、量子化パラメータが最も高い区分(40〜51)に対応付けて、制限の無しを表す予測方向制限情報と動きベクトル制限情報とが登録されている。
なお、図18の量子化パラメータの区分は、用途(アプリケーション)ごとに区分が異なるように、各用途に対して想定される量子化パラメータに基づいて設定されている。
即ち、符号化部200がビデオカメラなどに設けられ、撮影画像の符号化データがストレージに記憶される場合、撮影画像であるHD(High Definition)画像の符号化データに要求されるビットレートは、50Mbpsなどの高ビットレートである。そして、この場合、量子化パラメータは、30以下になることが多い。従って、量子化パラメータの最も低い区分は、0〜29になっている。
また、撮影画像の符号化データがネットワーク伝送される場合、撮影画像であるHD画像の符号化データに要求されるビットレートは、5Mbpsなどの低ビットレートである。そして、この場合、量子化パラメータは、30〜39になることが多い。従って、量子化パラメータの2番目に低い区分は、30〜39になっている。
さらに、符号化部200が監視カメラなどに設けられ、符号化対象の撮影画像が監視カメラにより撮影された画像である場合、HD画像の符号化データに要求されるビットレートは、2Mbpsなどの超低ビットレートである。そして、この場合、量子化パラメータは、40以上になることが多い。従って、量子化パラメータの最も高い区分は、40〜51になっている。量子化パラメータの区分は、図18の例に限定されない。
(符号化装置の処理の説明)
本開示を適用した符号化装置の第3実施の形態の符号化処理は、図6のステップS33の動き予測・補償処理、および、必要に応じてフレームメモリ131に縮小参照画像と縮小入力画像が蓄積される点を除いて、図6および図7の符号化処理と同様である。従って、以下では、動き予測・補償処理についてのみ説明する。
図19は、図17の符号化部200の動き予測・補償処理を説明するフローチャートである。
図19のステップS141において、設定部203は、レート制御部201から供給される量子化パラメータを画面単位で平均化し、量子化パラメータの平均値を計算する。ステップS142において、設定部203は、テーブル記憶部202に記憶されている制約テーブルから、量子化パラメータの平均値に対応する動きベクトル制限情報と予測方向制限情報を読み出す。
ステップS143において、設定部203は、読み出された動きベクトル制限情報と予測方向制限情報に基づいて、双方向予測時の動きベクトルの精度と双方向予測情報を設定する。設定部203は、設定された動きベクトルの精度と双方向予測情報を動き予測・補償部204に供給する。
ステップS144において、動き予測・補償部204は、双方向予測情報が、双方向予測を行わないこと表しているかどうかを判定する。ステップS144で、双方向予測情報が双方向予測を行わないことを表していると判定された場合、処理はステップS146に進む。ステップS146において、動き予測・補償部204は、方向制限処理を行い、処理をステップS149に進める。
一方、ステップS144で、双方向予測情報が双方向予測を行うことを表していると判定された場合、処理はステップS145に進む。ステップS145において、動き予測・補償部204は、設定された動きベクトルの精度が整数画素精度であるかどうかを判定する。
ステップS145で設定された動きベクトルの精度が整数画素精度であると判定された場合、動き予測・補償部204は、精度制限処理を行い、処理をステップS149に進める。
また、ステップS145で設定された動きベクトルの精度が整数画素精度ではないと判定された場合、即ち設定された動きベクトルの精度が分数画素精度である場合、処理はステップS148に進む。
ステップS148において、動き予測・補償部204は、通常処理を行い、処理をステップS149に進める。
ステップS149において、動き予測・補償部204は、入力画像と、方向制限処理、精度制限処理、または通常処理により生成された予測画像とに基づいて、候補となる全てのインター予測モードに対してコスト関数値を算出する。そして、動き予測・補償部204は、コスト関数値が最小となるインター予測モードを最適インター予測モードに決定する。
ステップS150において、動き予測・補償部204は、最適インター予測モードの予測画像とコスト関数値を予測画像選択部48に出力する。そして、処理は終了する。
以上のように、符号化部200は、量子化パラメータに基づいて、方向制限処理、精度制限処理、および通常処理を選択的に行う。従って、例えば、量子化パラメータが高い場合、即ち符号化性能の差が見えやすく、符号化効率の低下が問題になる場合、符号化部200は、通常処理を行うことにより、画質および符号化効率を確保することができる。一方、量子化パラメータが低い場合、即ち符号化性能の差が見えにくく、符号化効率の低下が許容される場合、符号化部200は、方向制限処理や精度制限処理を行うことにより、キャッシュ112の記憶容量を削減することができる。
なお、第3実施の形態では、量子化パラメータを画面単位で平均化するものとしたが、スライス単位やLCU単位で平均化するようにしてもよい。平均化がLCU単位で行われる場合、双方向予測情報が双方向予測を行わないことを表すときの双方向予測モード時の予測方向は、LCU群単位ではなく、LCU単位で決定される。
(制約テーブルの他の例)
上述した説明では、符号化部200は、量子化パラメータに基づいて、方向制限処理、精度制限処理、および通常処理を選択的に行ったが、量子化パラメータ以外の情報に基づいて、方向制限処理、精度制限処理、および通常処理を選択的に行うようにしてもよい。
図20は、フレームレートに基づいて方向制限処理、精度制限処理、および通常処理を選択的に行う場合の制約テーブルの例を示す図である。
フレームレートが高い場合、入力画像と参照画像の時間的距離が短いため、予測精度の低下による予測画像への影響が小さい。従って、双方向予測モード時の予測方向と双方向予測時の動きベクトルの精度を制限することにより、キャッシュ112の記憶容量を削減することが望ましい。
一方、フレームレートが低い場合、入力画像と参照画像の時間的距離が長いため、予測精度の低下による予測画像への影響が大きい。従って、双方向予測モード時の予測方向と双方向予測時の動きベクトルの精度を制限せずに、予測画像の精度を向上させることが望ましい。
従って、図20の制限テーブルでは、フレームレートが、1p〜9p、10p〜29p、30p以上の3段階に区分され、フレームレートが最も高い区分(30p以上)に対応付けて、制限の有りを表す予測方向制限情報が登録されている。また、フレームレートが2番目に高い区分(10p〜29p)に対応付けて、制限の無しを表す予測方向制限情報と制限の有りを表す動きベクトル制限情報とが登録されている。さらに、フレームレートが最も低い区分(1p〜9p)に対応付けて、制限の無しを表す予測方向制限情報と動きベクトル制限情報とが登録されている。
なお、図20のフレームレートの区分は、用途(アプリケーション)ごとに区分が異なるように、各用途に対して想定される符号化対象のフレームレートに基づいて設定されている。
即ち、符号化部200がビデオカメラなどに設けられ、撮影画像の符号化データがストレージに記憶される場合、符号化対象の撮影画像のフレームレートは、30pや60pなどの高フレームレートである。従って、フレームレートの最も高い区分は、30p以上になっている。
また、撮影画像の符号化データがネットワーク伝送される場合、符号化対象の撮影画像のフレームレートは、15pなどの低フレームレートである。従って、フレームレートの2番目に高い区分は、10p〜29pになっている。
さらに、符号化部200が監視カメラなどに設けられ、符号化対象の撮影画像が監視カメラにより撮影された画像である場合、符号化対象の撮影画像のフレームレートは、5pなどの超低フレームレートである。従って、フレームレートの最も低い区分は、1p〜9pになっている。フレームレートの区分は、図20の例に限定されない。
テーブル記憶部202に図20の制約テーブルが記憶される場合、設定部203にはレート制御部201から量子化ビットレートが供給されない。そして、設定部203は、ユーザ等により入力されたフレームレートに基づいて、そのフレームレートに対応する動きベクトル制限情報と予測方向制限情報を制約テーブルから読み出す。設定部203は、読み出された動きベクトル制限情報と予測方向制限情報に基づいて、双方向予測時の動きベクトルの精度と双方向予測情報を設定する。
以上により、フレームレートが低い場合、即ち予測精度の低下による予測画像への影響が大きい場合、通常処理が行われるので、予測精度を確保することができる。一方、フレームレートが高い場合、即ち予測精度の低下による予測画像への影響が小さい場合、方向制限処理や精度制限処理が行われるので、キャッシュ112の記憶容量を削減することができる。
図21は、解像度に基づいて方向制限処理、精度制限処理、および通常処理を選択的に行う場合の制約テーブルの例を示す図である。
解像度が低い場合、画像の密度が低くなる(絵柄が粗くなる)ため、予測ベクトルの精度の予測画像への影響が小さい。従って、双方向予測モード時の予測方向と双方向予測時の動きベクトルの精度を制限することにより、キャッシュ112の記憶容量を削減することが望ましい。
一方、解像度が高い場合、画像の密度が高くなる(絵柄が細かくなる)場合が多いため、予測ベクトルの精度の予測画像への影響が大きい。従って、双方向予測モード時の予測方向と双方向予測時の動きベクトルの精度を制限せずに、予測画像の精度を向上させることが望ましい。
従って、図21の制限テーブルでは、解像度が、VGA(Video Graphics Array)解像度、HD解像度、4K解像度の3段階に区分され、解像度が最も低い区分(VGA解像度)に対応付けて、制限の有りを表す予測方向制限情報が登録されている。また、解像度が2番目に低い区分(HD解像度)に対応付けて、制限の無しを表す予測方向制限情報と制限の有りを表す動きベクトル制限情報とが登録されている。さらに、解像度が最も高い区分(4K解像度)に対応付けて、制限の無しを表す予測方向制限情報と動きベクトル制限情報とが登録されている。
なお、図21の解像度の区分は、用途(アプリケーション)ごとに区分が異なるように、各用途に対して想定される符号化対象の解像度に基づいて設定されている。
即ち、符号化部200がビデオカメラなどに設けられ、撮影画像の符号化データがストレージに記憶される場合、符号化対象の撮影画像の解像度は、例えば4K(QFHD(Quad Full High Definition))解像度などの高解像度である。従って、解像度の最も高い区分は、4K解像度になっている。
また、撮影画像の符号化データがネットワーク伝送される場合、符号化対象の撮影画像の解像度は、HD解像度などの中解像度である。従って、解像度の2番目に高い区分は、HD解像度になっている。
さらに、符号化部200が監視カメラなどに設けられ、符号化対象の撮影画像が監視カメラにより撮影された画像である場合、符号化対象の撮影画像は、VGA解像度などの低解像度である。従って、解像度の最も低い区分は、VGA解像度になっている。解像度の区分は、図21の例に限定されない。
テーブル記憶部202に図21に示した制約テーブルが記憶される場合、設定部203にはレート制御部201から量子化ビットレートが供給されない。そして、設定部203は、ユーザ等により入力された解像度に基づいて、その解像度に対応する動きベクトル制限情報と予測方向制限情報を制約テーブルから読み出す。設定部203は、読み出された動きベクトル制限情報と予測方向制限情報に基づいて、双方向予測時の動きベクトルの精度と双方向予測情報を設定する。
以上により、解像度が高い場合、即ち予測ベクトルの精度の予測画像への影響が大きい場合、通常処理が行われるので、予測ベクトルの精度を確保することができる。一方、解像度が低い場合、即ち予測ベクトルの精度の予測画像への影響が小さい場合、方向制限処理や精度制限処理が行われるので、キャッシュ112の記憶容量を削減することができる。
なお、第3実施の形態では、量子化パラメータ、フレームレート、または解像度に基づいて方向制限処理、精度制限処理、および通常処理が選択的に行われたが、用途(アプリケーション)に応じて方向制限処理、精度制限処理、および通常処理が選択的に行われるようにしてもよい。
<復号装置>
(復号装置の構成例)
図22は、符号化装置の第1乃至第3実施の形態により生成された符号化データを復号する復号装置220の構成例を示すブロック図である。
図22の復号装置220は、蓄積バッファ221、可逆復号部222、逆量子化部223、逆直交変換部224、加算部225、デブロックフィルタ226、適応オフセットフィルタ227、および画面並べ替えバッファ229を有する。また、復号装置220は、D/A変換部230、フレームメモリ231、スイッチ232、イントラ予測処理部233、動き補償部234、およびスイッチ235を有する。
復号装置220の蓄積バッファ221は、符号化装置10または符号化装置100から符号化データを受け取り、蓄積する。蓄積バッファ221は、蓄積されている符号化データを可逆復号部222に供給する。
可逆復号部222は、蓄積バッファ221からの符号化データに対して、図2の可逆符号化部36の可逆符号化に対応する、可変長復号や、算術復号等の可逆復号を施すことで、量子化された直交変換係数と符号化情報を得る。可逆復号部222は、量子化された直交変換係数を逆量子化部223に供給する。また、可逆復号部222は、符号化情報としてのイントラ予測モード情報などをイントラ予測処理部233に供給する。可逆復号部222は、動きベクトル情報、インター予測モード情報、参照画像を特定する情報などを動き補償部234に供給する。
さらに、可逆復号部222は、符号化情報としてのイントラ予測モード情報またはインター予測モード情報をスイッチ235に供給する。可逆復号部222は、符号化情報としてのオフセットフィルタ情報を適応オフセットフィルタ227に供給する。
逆量子化部223、逆直交変換部224、加算部225、デブロックフィルタ226、適応オフセットフィルタ227、フレームメモリ231、スイッチ232、イントラ予測処理部233、および動き補償部234は、図2の逆量子化部38、逆直交変換部39、加算部40、デブロックフィルタ41、適応オフセットフィルタ42、フレームメモリ44(131)、スイッチ45、イントラ予測部46、および動き予測・補償部47(132)とそれぞれ同様の処理を行い、これにより、画像が復号される。
具体的には、逆量子化部223は、可逆復号部222からの量子化された直交変換係数を逆量子化し、その結果得られる直交変換係数を逆直交変換部224に供給する。
逆直交変換部224は、逆量子化部223からの直交変換係数に対してTU単位で逆直交変換を行う。逆直交変換部224は、逆直交変換の結果得られる残差情報を加算部225に供給する。
加算部225は、逆直交変換部224から供給される残差情報と、スイッチ235から供給される予測画像を加算することにより、復号を行う。加算部225は、復号の結果得られる画像をデブロックフィルタ226とフレームメモリ231に供給する。
なお、スイッチ235から予測画像が供給されない場合、加算部225は、逆直交変換部224から供給される残差情報である画像を復号の結果得られる画像として、デブロックフィルタ226とフレームメモリ231に供給する。
デブロックフィルタ226は、加算部225から供給される画像に対してデブロックフィルタ処理を行い、その結果得られる画像を適応オフセットフィルタ227に供給する。
適応オフセットフィルタ227は、LCUごとに、可逆復号部222からのオフセットフィルタ情報が表すオフセットを用いて、デブロックフィルタ処理後の画像に対して、オフセットフィルタ情報が表す種類の適応オフセットフィルタ処理を行う。適応オフセットフィルタ227は、適応オフセットフィルタ処理後の画像を画面並べ替えバッファ229とフレームメモリ231に供給する。
画面並べ替えバッファ229は、適応オフセットフィルタ227から供給される画像をフレーム単位で記憶する。画面並べ替えバッファ229は、記憶した符号化のための順番のフレーム単位の画像を、元の表示の順番に並び替え、D/A変換部230に供給する。
D/A変換部230は、画面並べ替えバッファ229から供給されるフレーム単位の画像をD/A変換し、出力する。
フレームメモリ231は、適応オフセットフィルタ227から供給される画像と加算部225から供給される画像を蓄積する。フレームメモリ231に蓄積されたフィルタ処理が行われていない画像のうちのPUに隣接する画素は、周辺画素としてスイッチ232を介してイントラ予測処理部233に供給される。一方、フレームメモリ231に蓄積されたフィルタ処理が行われた画像は、参照画像として、スイッチ232を介して動き補償部234に供給される。
イントラ予測処理部233は、PU単位で、フレームメモリ231からスイッチ232を介して読み出された周辺画素を用いて、可逆復号部222から供給されるイントラ予測モード情報が示す最適イントラ予測モードのイントラ予測処理を行う。イントラ予測処理部233は、その結果生成される予測画像をスイッチ235に供給する。
動き補償部234は、フレームメモリ231からスイッチ232を介して、可逆復号部222から供給される参照画像を特定する情報により特定される参照画像を読み出す。動き補償部234は、読み出された参照画像と可逆復号部222から供給される動きベクトルとを用いて、PU単位で、可逆復号部222から供給されるインター予測モード情報が示す最適インター予測モードの動き補償処理を行う。動き補償部234は、その結果生成される予測画像をスイッチ235に供給する。
スイッチ235は、可逆復号部222からイントラ予測モード情報が供給された場合、イントラ予測処理部233から供給される予測画像を加算部225に供給する。一方、可逆復号部222からインター予測モード情報が供給された場合、スイッチ235は、動き補償部234から供給される予測画像を加算部225に供給する。
<第4実施の形態>
(本開示を適用したコンピュータの説明)
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図23は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータ800において、CPU(Central Processing Unit)801,ROM(Read Only Memory)802,RAM(Random Access Memory)803は、バス804により相互に接続されている。
バス804には、さらに、入出力インタフェース805が接続されている。入出力インタフェース805には、入力部806、出力部807、記憶部808、通信部809、及びドライブ810が接続されている。
入力部806は、キーボード、マウス、マイクロホンなどよりなる。出力部807は、ディスプレイ、スピーカなどよりなる。記憶部808は、ハードディスクや不揮発性のメモリなどよりなる。通信部809は、ネットワークインタフェースなどよりなる。ドライブ810は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア811を駆動する。
以上のように構成されるコンピュータ800では、CPU801が、例えば、記憶部808に記憶されているプログラムを、入出力インタフェース805及びバス804を介して、RAM803にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ800(CPU801)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア811に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータ800では、プログラムは、リムーバブルメディア811をドライブ810に装着することにより、入出力インタフェース805を介して、記憶部808にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部809で受信し、記憶部808にインストールすることができる。その他、プログラムは、ROM802や記憶部808に、あらかじめインストールしておくことができる。
なお、コンピュータ800が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
<テレビジョン装置>
図24は、本開示を適用した符号化装置により生成された符号化データを含む符号化ビットストリームを取得するテレビジョン装置の概略構成を例示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置900は、制御部910、ユーザインタフェース部911等を有している。
チューナ902は、アンテナ901で受信された放送波信号から所望のチャンネルを選局して復調を行い、得られた符号化ビットストリームをデマルチプレクサ903に出力する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象である番組の映像や音声のパケットを抽出して、抽出したパケットのデータをデコーダ904に出力する。また、デマルチプレクサ903は、EPG(Electronic Program Guide)等のデータのパケットを制御部910に供給する。なお、スクランブルが行われている場合、デマルチプレクサ等でスクランブルの解除を行う。
デコーダ904は、パケットの復号化処理を行い、復号処理化によって生成された映像データを映像信号処理部905、音声データを音声信号処理部907に出力する。
映像信号処理部905は、映像データに対して、ノイズ除去やユーザ設定に応じた映像処理等を行う。映像信号処理部905は、表示部906に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成する。また、映像信号処理部905は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それを番組の映像データに重畳する。映像信号処理部905は、このようにして生成した映像データに基づいて駆動信号を生成して表示部906を駆動する。
表示部906は、映像信号処理部905からの駆動信号に基づき表示デバイス(例えば液晶表示素子等)を駆動して、番組の映像などを表示させる。
音声信号処理部907は、音声データに対してノイズ除去などの所定の処理を施し、処理後の音声データのD/A変換処理や増幅処理を行いスピーカ908に供給することで音声出力を行う。
外部インタフェース部909は、外部機器やネットワークと接続するためのインタフェースであり、映像データや音声データ等のデータ送受信を行う。
制御部910にはユーザインタフェース部911が接続されている。ユーザインタフェース部911は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部910に供給する。
制御部910は、CPU(Central Processing Unit)やメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータ、EPGデータ、ネットワークを介して取得されたデータ等を記憶する。メモリに記憶されているプログラムは、テレビジョン装置900の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、テレビジョン装置900がユーザ操作に応じた動作となるように各部を制御する。
なお、テレビジョン装置900では、チューナ902、デマルチプレクサ903、映像信号処理部905、音声信号処理部907、外部インタフェース部909等と制御部910を接続するためバス912が設けられている。
<第5実施の形態>
(携帯電話機の構成例)
図25は、本開示を適用した携帯電話機の概略構成を例示している。携帯電話機920は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931を有している。これらは、バス933を介して互いに接続されている。
また、通信部922にはアンテナ921が接続されており、音声コーデック923には、スピーカ924とマイクロホン925が接続されている。さらに制御部931には、操作部932が接続されている。
携帯電話機920は、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
音声通話モードにおいて、マイクロホン925で生成された音声信号は、音声コーデック923で音声データへの変換やデータ圧縮が行われて通信部922に供給される。通信部922は、音声データの変調処理や周波数変換処理等を行い、送信信号を生成する。また、通信部922は、送信信号をアンテナ921に供給して図示しない基地局へ送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、得られた音声データを音声コーデック923に供給する。音声コーデック923は、音声データのデータ伸張やアナログ音声信号への変換を行いスピーカ924に出力する。
また、データ通信モードにおいて、メール送信を行う場合、制御部931は、操作部932の操作によって入力された文字データを受け付けて、入力された文字を表示部930に表示する。また、制御部931は、操作部932におけるユーザ指示等に基づいてメールデータを生成して通信部922に供給する。通信部922は、メールデータの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、メールデータを復元する。このメールデータを、表示部930に供給して、メール内容の表示を行う。
なお、携帯電話機920は、受信したメールデータを、記録再生部929で記憶媒体に記憶させることも可能である。記憶媒体は、書き換え可能な任意の記憶媒体である。例えば、記憶媒体は、RAMや内蔵型フラッシュメモリ等の半導体メモリ、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、またはメモリカード等のリムーバブルメディアである。
データ通信モードにおいて画像データを送信する場合、カメラ部926で生成された画像データを、画像処理部927に供給する。画像処理部927は、画像データの符号化処理を行い、符号化データを生成する。
多重分離部928は、画像処理部927で生成された符号化データと、音声コーデック923から供給された音声データを所定の方式で多重化して通信部922に供給する。通信部922は、多重化データの変調処理や周波数変換処理等を行い、得られた送信信号をアンテナ921から送信する。また、通信部922は、アンテナ921で受信した受信信号の増幅や周波数変換処理および復調処理等を行い、多重化データを復元する。この多重化データを多重分離部928に供給する。多重分離部928は、多重化データの分離を行い、符号化データを画像処理部927、音声データを音声コーデック923に供給する。画像処理部927は、符号化データの復号化処理を行い、画像データを生成する。この画像データを表示部930に供給して、受信した画像の表示を行う。音声コーデック923は、音声データをアナログ音声信号に変換してスピーカ924に供給して、受信した音声を出力する。
このように構成された携帯電話装置では、画像処理部927に本願の符号化装置(符号化方法)の機能が設けられる。このため、双方向予測時に必要な記憶容量を削減することができる。
<第6実施の形態>
(記録再生装置の構成例)
図26は、本開示を適用した記録再生装置の概略構成を例示している。記録再生装置940は、例えば受信した放送番組のオーディオデータとビデオデータを、記録媒体に記録して、その記録されたデータをユーザの指示に応じたタイミングでユーザに提供する。また、記録再生装置940は、例えば他の装置からオーディオデータやビデオデータを取得し、それらを記録媒体に記録させることもできる。さらに、記録再生装置940は、記録媒体に記録されているオーディオデータやビデオデータを復号して出力することで、モニタ装置等において画像表示や音声出力を行うことができるようにする。
記録再生装置940は、チューナ941、外部インタフェース部942、エンコーダ943、HDD(Hard Disk Drive)部944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、ユーザインタフェース部950を有している。
チューナ941は、図示しないアンテナで受信された放送信号から所望のチャンネルを選局する。チューナ941は、所望のチャンネルの受信信号を復調して得られた符号化ビットストリームをセレクタ946に出力する。
外部インタフェース部942は、IEEE1394インタフェース、ネットワークインタフェース部、USBインタフェース、フラッシュメモリインタフェース等の少なくともいずれかで構成されている。外部インタフェース部942は、外部機器やネットワーク、メモリカード等と接続するためのインタフェースであり、記録する映像データや音声データ等のデータ受信を行う。
エンコーダ943は、外部インタフェース部942から供給された映像データや音声データが符号化されていないとき所定の方式で符号化を行い、符号化ビットストリームをセレクタ946に出力する。
HDD部944は、映像や音声等のコンテンツデータ、各種プログラムやその他のデータ等を内蔵のハードディスクに記録し、また再生時等にそれらを当該ハードディスクから読み出す。
ディスクドライブ945は、装着されている光ディスクに対する信号の記録および再生を行う。光ディスク、例えばDVDディスク(DVD−Video、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等)やBlu−ray(登録商標)ディスク等である。
セレクタ946は、映像や音声の記録時には、チューナ941またはエンコーダ943からのいずれかの符号化ビットストリームを選択して、HDD部944やディスクドライブ945のいずれかに供給する。また、セレクタ946は、映像や音声の再生時に、HDD部944またはディスクドライブ945から出力された符号化ビットストリームをデコーダ947に供給する。
デコーダ947は、符号化ビットストリームの復号化処理を行う。デコーダ947は、復号処理化を行うことにより生成された映像データをOSD部948に供給する。また、デコーダ947は、復号処理化を行うことにより生成された音声データを出力する。
OSD部948は、項目の選択などのメニュー画面等を表示するための映像データを生成し、それをデコーダ947から出力された映像データに重畳して出力する。
制御部949には、ユーザインタフェース部950が接続されている。ユーザインタフェース部950は、操作スイッチやリモートコントロール信号受信部等で構成されており、ユーザ操作に応じた操作信号を制御部949に供給する。
制御部949は、CPUやメモリ等を用いて構成されている。メモリは、CPUにより実行されるプログラムやCPUが処理を行う上で必要な各種のデータを記憶する。メモリに記憶されているプログラムは、記録再生装置940の起動時などの所定タイミングでCPUにより読み出されて実行される。CPUは、プログラムを実行することで、記録再生装置940がユーザ操作に応じた動作となるように各部を制御する。
このように構成された記録再生装置では、エンコーダ943に本願の符号化装置(符号化方法)の機能が設けられる。このため、双方向予測時に必要な記憶容量を削減することができる。
<第7実施の形態>
(撮像装置の構成例)
図27は、本開示を適用した撮像装置の概略構成を例示している。撮像装置960は、被写体を撮像し、被写体の画像を表示部に表示させたり、それを画像データとして、記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、カメラ信号処理部963、画像データ処理部964、表示部965、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970を有している。また、制御部970には、ユーザインタフェース部971が接続されている。さらに、画像データ処理部964や外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、制御部970等は、バス972を介して接続されている。
光学ブロック961は、フォーカスレンズや絞り機構等を用いて構成されている。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCDまたはCMOSイメージセンサを用いて構成されており、光電変換によって光学像に応じた電気信号を生成してカメラ信号処理部963に供給する。
カメラ信号処理部963は、撮像部962から供給された電気信号に対してニー補正やガンマ補正、色補正等の種々のカメラ信号処理を行う。カメラ信号処理部963は、カメラ信号処理後の画像データを画像データ処理部964に供給する。
画像データ処理部964は、カメラ信号処理部963から供給された画像データの符号化処理を行う。画像データ処理部964は、符号化処理を行うことにより生成された符号化データを外部インタフェース部966やメディアドライブ968に供給する。また、画像データ処理部964は、外部インタフェース部966やメディアドライブ968から供給された符号化データの復号化処理を行う。画像データ処理部964は、復号化処理を行うことにより生成された画像データを表示部965に供給する。また、画像データ処理部964は、カメラ信号処理部963から供給された画像データを表示部965に供給する処理や、OSD部969から取得した表示用データを、画像データに重畳させて表示部965に供給する。
OSD部969は、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを生成して画像データ処理部964に出力する。
外部インタフェース部966は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタと接続される。また、外部インタフェース部966には、必要に応じてドライブが接続され、磁気ディスク、光ディスク等のリムーバブルメディアが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、インストールされる。さらに、外部インタフェース部966は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。制御部970は、例えば、ユーザインタフェース部971からの指示にしたがって、メディアドライブ968から符号化データを読み出し、それを外部インタフェース部966から、ネットワークを介して接続される他の装置に供給させることができる。また、制御部970は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース部966を介して取得し、それを画像データ処理部964に供給したりすることができる。
メディアドライブ968で駆動される記録メディアとしては、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアが用いられる。また、記録メディアは、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触IC(Integrated Circuit)カード等であってもよい。
また、メディアドライブ968と記録メディアを一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
制御部970は、CPUを用いて構成されている。メモリ部967は、制御部970により実行されるプログラムや制御部970が処理を行う上で必要な各種のデータ等を記憶する。メモリ部967に記憶されているプログラムは、撮像装置960の起動時などの所定タイミングで制御部970により読み出されて実行される。制御部970は、プログラムを実行することで、撮像装置960がユーザ操作に応じた動作となるように各部を制御する。
このように構成された撮像装置では、画像データ処理部964に本願の符号化装置(符号化方法)の機能が設けられる。このため、双方向予測時に必要な記憶容量を削減することができる。
<第8実施の形態>
(実施のその他の例)
以上において本開示を適用する装置の例を説明したが、本開示は、これに限らず、このような装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
(ビデオセットの構成例)
本開示をセットとして実施する場合の例について、図28を参照して説明する。図28は、本開示を適用したビデオセットの概略的な構成の一例を示している。
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
図28に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
図28に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
図28の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
図28のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信に関する処理を行うプロセッサ(若しくはモジュール)である。例えば、ブロードバンドモデム1333は、送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。例えば、ブロードバンドモデム1333は、ビデオプロセッサ1332が処理する画像データや画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報をデジタル変調・復調することができる。
RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
なお、図28において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図28に示されるように、フロントエンドモジュール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は、本開示を適用したセットとして実施することができる。
(ビデオプロセッサの構成例)
図29は、本開示を適用したビデオプロセッサ1332(図28)の概略的な構成の一例を示している。
図29の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
図29に示されるように、ビデオプロセッサ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(図28)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321(図28)等に出力する。
フレームメモリ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(図28)等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321(図28)等に供給する。
多重化部(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等(いずれも図28)から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により(図28)各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図28)等に供給する。
また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321(図28)等に供給し、各種記録媒体に記録させる。
さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等(いずれも図28)を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
また、ストリームバッファ1414は、例えばコネクティビティ1321(図28)等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321(図28)等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
また、コネクティビティ1321(図28)等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図28)等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321(図28)等に出力され、各種記録媒体に記録される。
また、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図28)等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321(図28)等において各種記録媒体から読み出され、ビデオプロセッサ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が、第1および第2実施の形態に係る符号化装置の機能を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図23を参照して上述した効果と同様の効果を得ることができる。
なお、エンコード・デコードエンジン1407において、本開示(すなわち、上述した各実施形態に係る復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
(ビデオプロセッサの他の構成例)
図30は、本開示を適用したビデオプロセッサ1332(図28)の概略的な構成の他の例を示している。図30の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
より具体的には、図30に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
図30に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321(図28)等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321(図28)のモニタ装置等に出力する。
ディスプレイエンジン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は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
図30に示される例において、コーデックエンジン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(いずれも図28)等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322(いずれも図28)等向けのインタフェースである。
次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333(いずれも図28)等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図28)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321(図28)等に出力され、各種記録媒体に記録される。
さらに、例えば、コネクティビティ1321(図28)等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図28)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図28)等に供給され図示せぬ他の装置に伝送される。
なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
このように構成されるビデオプロセッサ1332に本開示を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本開示を適用すればよい。つまり、例えば、コーデックエンジン1516が、第1および第2実施の形態に係る符号化装置を実現する機能ブロックを有するようにすればよい。コーデックエンジン1516が、このようにすることにより、ビデオプロセッサ1332は、図1乃至図23を参照して上述した効果と同様の効果を得ることができる。
なお、コーデックエンジン1516において、本開示(すなわち、上述した各実施形態に係る復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
(装置への適用例)
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図24)、携帯電話機920(図25)、記録再生装置940(図26)、撮像装置960(図27)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図23を参照して上述した効果と同様の効果を得ることができる。
なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本開示を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本開示を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を本開示を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本開示を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図23を参照して上述した効果と同様の効果を得ることができる。
つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図24)、携帯電話機920(図25)、記録再生装置940(図26)、撮像装置960(図27)等に組み込むことができる。そして、本開示を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図23を参照して上述した効果と同様の効果を得ることができる。
本開示は、MPEG,H.26x等のように、離散コサイン変換等の直交変換と動き補償によって圧縮されたビットストリームを、衛星放送、ケーブルTV、インターネット、携帯電話などのネットワークメディアを介して受信する際、または光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる符号化装置に適用することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
さらに、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、第1実施の形態と第2実施の形態を組み合わせてもよい。この場合、双方向予測を行う場合には、整数精度の動きベクトルを用いて双方向予測が行われ、双方向予測を行わない場合には、双方向予測の代わりにL0予測またはL1予測が行われる。
また、例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
本開示は、以下のような構成もとることができる。
(1)
画像に対して双方向予測を行う場合、予測方向ごとに、前記画像の分数画素精度の動きベクトルを整数画素精度の動きベクトルに変換する精度変換部と、
前記精度変換部により変換された前記予測方向ごとの整数画素精度の動きベクトルに基づいて、前記画像の双方向予測の予測画像を生成する予測画像生成部と、
前記予測画像生成部により生成された前記双方向予測の予測画像を用いて、前記画像を、再帰的に分割されるブロック構造にしたがって符号化する符号化部と
を備える符号化装置。
(2)
前記予測画像生成部は、
前記予測方向ごとに前記整数画素精度の動きベクトルに基づいて生成された前記画像の予測画像である中間予測画像を平均化し、前記双方向予測の予測画像を生成する平均化部
を備える
前記(1)に記載の符号化装置。
(3)
前記予測画像生成部は、
前記中間予測画像を記憶する記憶部
をさらに備え、
前記平均化部は、前記記憶部に記憶された前記中間予測画像を平均化する
ように構成された
前記(2)に記載の符号化装置。
(4)
前記予測画像生成部は、
前記予測方向ごとに、前記整数画素精度の動きベクトルに基づいて前記中間予測画像を生成する中間予測画像生成部
をさらに備える
前記(2)または(3)に記載の符号化装置。
(5)
アプリケーションに応じて、前記双方向予測の予測画像の生成に用いる前記動きベクトルの精度を整数画素精度または分数画素精度に設定する設定部
をさらに備える
前記(1)乃至(4)のいずれかに記載の符号化装置。
(6)
前記画像の量子化パラメータ、フレームレート、または解像度に基づいて、前記双方向予測の予測画像の生成に用いる前記動きベクトルの精度を整数画素精度または分数画素精度に設定する設定部
をさらに備える
前記(1)乃至(4)のいずれかに記載の符号化装置。
(7)
前記双方向予測を行わない場合、前方向予測または後方向予測のみを行うように制限する方向制限予測部
をさらに備える
前記(1)乃至(6)のいずれかに記載の符号化装置。
(8)
前記方向制限予測部は、
前記双方向予測を行わない場合、前記画像を縮小した縮小画像と前記画像の前方向および後方向の参照画像を縮小した縮小参照画像とを用いて、予測方向を前方向または後方向に決定する決定部と、
前記決定部により決定された前記前方向または後方向の予測を、前記画像と前記画像の前方向または後方向の参照画像とを用いて行う予測部と
を備える
前記(7)に記載の符号化装置。
(9)
前記決定部は、複数のLCU(Largest Coding Unit)単位で前記予測方向を決定する
ように構成された
前記(8)に記載の符号化装置。
(10)
前記決定部は、前記縮小画像の前方向および後方向の動きベクトルに基づいて、前記予測方向を決定する
ように構成された
前記(8)または(9)に記載の符号化装置。
(11)
前記決定部は、前記縮小参照画像から生成された前記縮小画像の予測画像である縮小予測画像のコスト関数値に基づいて、前記予測方向を決定する
ように構成された
前記(8)乃至(10)のいずれかに記載の符号化装置。
(12)
アプリケーションに応じて前記双方向予測を行わないことを決定する決定部
をさらに備える
前記(7)乃至(11)のいずれかに記載の符号化装置。
(13)
前記画像の量子化パラメータ、フレームレート、または解像度に基づいて、前記双方向予測を行わないことを決定する決定部
をさらに備える
前記(7)乃至(11)のいずれかに記載の符号化装置。
(14)
符号化装置が、
画像に対して双方向予測を行う場合、予測方向ごとに、前記画像の分数画素精度の動きベクトルを整数画素精度の動きベクトルに変換する精度変換ステップと、
前記精度変換ステップの処理により変換された前記予測方向ごとの整数画素精度の動きベクトルに基づいて、前記画像の双方向予測の予測画像を生成する予測画像生成ステップと
前記予測画像生成ステップの処理により生成された前記双方向予測の予測画像を用いて、前記画像を、再帰的に分割されるブロック構造にしたがって符号化する符号化ステップと
を含む符号化方法。
(15)
画像に対する予測画像を生成する場合に、複数のLCU(Largest Coding Unit)単位で、前記画像に対して、前方向予測または後方向予測のみを行うように制限する方向制限予測部と、
前記予測画像を用いて、前記画像を、再帰的に分割されるブロック構造にしたがって符号化する符号化部と
を備える符号化装置。
(16)
前記方向制限予測部は、
複数のLCU(Largest Coding Unit)単位で、前記画像を縮小した縮小画像と前記画像の前方向および後方向の参照画像を縮小した縮小参照画像とを用いて、予測方向を前方向または後方向に決定する決定部と、
前記決定部により決定された前記前方向または後方向の予測を、前記画像と前記画像の前方向または後方向の参照画像とを用いて行う予測部と
を備える
前記(15)に記載の符号化装置。
(17)
前記方向制限予測部は、アプリケーションに応じて制限を行う
ように構成された
前記(15)または(16)に記載の符号化装置。
(18)
前記方向制限予測部は、前記画像の量子化パラメータ、フレームレート、または解像度に基づいて、制限を行う
ように構成された
前記(15)または(16)に記載の符号化装置。
(19)
符号化装置が、
画像に対する予測画像を生成する場合に、複数のLCU(Largest Coding Unit)単位で、前記画像に対して、前方向予測または後方向予測のみを行うように制限する方向制限予測ステップと、
前記予測画像を用いて、前記画像を、再帰的に分割されるブロック構造にしたがって符号化する符号化ステップと
を含む符号化方法。
10 符号化装置, 33 演算部, 82 精度変換部, 83 中間予測画像生成部, 84 メモリ, 86 精度変換部, 87 中間予測画像生成部, 88 メモリ, 89 平均化部, 100 符号化装置, 151 双方向予測部, 174 決定部, 175 予測部

Claims (19)

  1. 画像に対して双方向予測を行う場合、予測方向ごとに、前記画像の分数画素精度の動きベクトルを整数画素精度の動きベクトルに変換する精度変換部と、
    前記精度変換部により変換された前記予測方向ごとの整数画素精度の動きベクトルに基づいて、前記画像の双方向予測の予測画像を生成する予測画像生成部と、
    前記予測画像生成部により生成された前記双方向予測の予測画像を用いて、前記画像を、再帰的に分割されるブロック構造にしたがって符号化する符号化部と
    を備える符号化装置。
  2. 前記予測画像生成部は、
    前記予測方向ごとに前記整数画素精度の動きベクトルに基づいて生成された前記画像の予測画像である中間予測画像を平均化し、前記双方向予測の予測画像を生成する平均化部
    を備える
    請求項1に記載の符号化装置。
  3. 前記予測画像生成部は、
    前記中間予測画像を記憶する記憶部
    をさらに備え、
    前記平均化部は、前記記憶部に記憶された前記中間予測画像を平均化する
    ように構成された
    請求項2に記載の符号化装置。
  4. 前記予測画像生成部は、
    前記予測方向ごとに、前記整数画素精度の動きベクトルに基づいて前記中間予測画像を生成する中間予測画像生成部
    をさらに備える
    請求項2に記載の符号化装置。
  5. アプリケーションに応じて、前記双方向予測の予測画像の生成に用いる前記動きベクトルの精度を整数画素精度または分数画素精度に設定する設定部
    をさらに備える
    請求項1に記載の符号化装置。
  6. 前記画像の量子化パラメータ、フレームレート、または解像度に基づいて、前記双方向予測の予測画像の生成に用いる前記動きベクトルの精度を整数画素精度または分数画素精度に設定する設定部
    をさらに備える
    請求項1に記載の符号化装置。
  7. 前記双方向予測を行わない場合、前方向予測または後方向予測のみを行うように制限する方向制限予測部
    をさらに備える
    請求項1に記載の符号化装置。
  8. 前記方向制限予測部は、
    前記双方向予測を行わない場合、前記画像を縮小した縮小画像と前記画像の前方向および後方向の参照画像を縮小した縮小参照画像とを用いて、予測方向を前方向または後方向に決定する決定部と、
    前記決定部により決定された前記前方向または後方向の予測を、前記画像と前記画像の前方向または後方向の参照画像とを用いて行う予測部と
    を備える
    請求項7に記載の符号化装置。
  9. 前記決定部は、複数のLCU(Largest Coding Unit)単位で前記予測方向を決定する
    ように構成された
    請求項8に記載の符号化装置。
  10. 前記決定部は、前記縮小画像の前方向および後方向の動きベクトルに基づいて、前記予測方向を決定する
    ように構成された
    請求項8に記載の符号化装置。
  11. 前記決定部は、前記縮小参照画像から生成された前記縮小画像の予測画像である縮小予測画像のコスト関数値に基づいて、前記予測方向を決定する
    ように構成された
    請求項8に記載の符号化装置。
  12. アプリケーションに応じて前記双方向予測を行わないことを決定する決定部
    をさらに備える
    請求項7に記載の符号化装置。
  13. 前記画像の量子化パラメータ、フレームレート、または解像度に基づいて、前記双方向予測を行わないことを決定する決定部
    をさらに備える
    請求項7に記載の符号化装置。
  14. 符号化装置が、
    画像に対して双方向予測を行う場合、予測方向ごとに、前記画像の分数画素精度の動きベクトルを整数画素精度の動きベクトルに変換する精度変換ステップと、
    前記精度変換ステップの処理により変換された前記予測方向ごとの整数画素精度の動きベクトルに基づいて、前記画像の双方向予測の予測画像を生成する予測画像生成ステップと
    前記予測画像生成ステップの処理により生成された前記双方向予測の予測画像を用いて、前記画像を、再帰的に分割されるブロック構造にしたがって符号化する符号化ステップと
    を含む符号化方法。
  15. 画像に対する予測画像を生成する場合に、複数のLCU(Largest Coding Unit)単位で、前記画像に対して、前方向予測または後方向予測のみを行うように制限する方向制限予測部と、
    前記予測画像を用いて、前記画像を、再帰的に分割されるブロック構造にしたがって符号化する符号化部と
    を備える符号化装置。
  16. 前記方向制限予測部は、
    複数のLCU(Largest Coding Unit)単位で、前記画像を縮小した縮小画像と前記画像の前方向および後方向の参照画像を縮小した縮小参照画像とを用いて、予測方向を前方向または後方向に決定する決定部と、
    前記決定部により決定された前記前方向または後方向の予測を、前記画像と前記画像の前方向または後方向の参照画像とを用いて行う予測部と
    を備える
    請求項15に記載の符号化装置。
  17. 前記方向制限予測部は、アプリケーションに応じて制限を行う
    ように構成された
    請求項15に記載の符号化装置。
  18. 前記方向制限予測部は、前記画像の量子化パラメータ、フレームレート、または解像度に基づいて、制限を行う
    ように構成された
    請求項15に記載の符号化装置。
  19. 符号化装置が、
    画像に対する予測画像を生成する場合に、複数のLCU(Largest Coding Unit)単位で、前記画像に対して、前方向予測または後方向予測のみを行うように制限する方向制限予測ステップと、
    前記予測画像を用いて、前記画像を、再帰的に分割されるブロック構造にしたがって符号化する符号化ステップと
    を含む符号化方法。
JP2015078932A 2014-04-22 2015-04-08 符号化装置および符号化方法 Pending JP2015216632A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015078932A JP2015216632A (ja) 2014-04-22 2015-04-08 符号化装置および符号化方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014087911 2014-04-22
JP2014087911 2014-04-22
JP2015078932A JP2015216632A (ja) 2014-04-22 2015-04-08 符号化装置および符号化方法

Publications (1)

Publication Number Publication Date
JP2015216632A true JP2015216632A (ja) 2015-12-03

Family

ID=54332313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015078932A Pending JP2015216632A (ja) 2014-04-22 2015-04-08 符号化装置および符号化方法

Country Status (3)

Country Link
US (1) US10110916B2 (ja)
JP (1) JP2015216632A (ja)
WO (1) WO2015163146A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2019082413A1 (ja) * 2017-10-24 2019-11-21 三菱電機株式会社 画像処理装置及び画像処理方法
JP2020532225A (ja) * 2017-08-22 2020-11-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108347602B (zh) * 2017-01-22 2021-07-30 上海澜至半导体有限公司 用于无损压缩视频数据的方法和装置
CN109729352B (zh) * 2017-10-27 2020-07-21 华为技术有限公司 确定仿射编码块的运动矢量的方法和装置
KR20210088686A (ko) * 2018-11-16 2021-07-14 샤프 가부시키가이샤 비디오 코딩에서 모션 벡터 예측을 도출하기 위한 시스템들 및 방법들

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5407974B2 (ja) 2010-03-24 2014-02-05 富士通株式会社 動画像符号化装置及び動きベクトル検出方法
WO2012042810A1 (ja) 2010-09-29 2012-04-05 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像処理システム
BR112014004645B1 (pt) * 2011-11-08 2022-04-26 Kabushiki Kaisha Toshiba Método de codificação de imagem e aparelho de codificação de imagem
US9426463B2 (en) 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9325991B2 (en) * 2012-04-11 2016-04-26 Qualcomm Incorporated Motion vector rounding
US20150103911A1 (en) 2012-04-15 2015-04-16 Samsung Electronics Co., Ltd. Method and apparatus for determining reference images for inter-prediction
US9380305B2 (en) * 2013-04-05 2016-06-28 Qualcomm Incorporated Generalized residual prediction in high-level syntax only SHVC and signaling and management thereof
US20140301463A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for video coding and decoding
US9930363B2 (en) * 2013-04-12 2018-03-27 Nokia Technologies Oy Harmonized inter-view and view synthesis prediction for 3D video coding
KR101967398B1 (ko) * 2013-07-09 2019-04-09 노키아 테크놀로지스 오와이 모션 정보를 시그널링하기 위한 구문을 수반하는 비디오 코딩을 위한 방법 및 장치
US9628795B2 (en) * 2013-07-17 2017-04-18 Qualcomm Incorporated Block identification using disparity vector in video coding
US9451254B2 (en) * 2013-07-19 2016-09-20 Qualcomm Incorporated Disabling intra prediction filtering
WO2015015058A1 (en) * 2013-07-31 2015-02-05 Nokia Corporation Method and apparatus for video coding and decoding
US9641862B2 (en) * 2013-10-15 2017-05-02 Nokia Technologies Oy Video encoding and decoding
US9544601B2 (en) * 2013-10-15 2017-01-10 Qualcomm Incorporated Wedgelet pattern extension for depth intra coding
CN106416250B (zh) * 2013-12-02 2020-12-04 诺基亚技术有限公司 视频编码和解码
US9756359B2 (en) * 2013-12-16 2017-09-05 Qualcomm Incorporated Large blocks and depth modeling modes (DMM'S) in 3D video coding

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020532225A (ja) * 2017-08-22 2020-11-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
JP7179832B2 (ja) 2017-08-22 2022-11-29 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像符号化装置
US11563969B2 (en) 2017-08-22 2023-01-24 Panasonic Intellectual Property Corporation Of America Image encoder and related non-transitory computer readable medium for image decoding
US11812049B2 (en) 2017-08-22 2023-11-07 Panasonic Intellectual Property Corporation Of America Image encoder and related non-transitory computer readable medium for image decoding
US11856217B2 (en) 2017-08-22 2023-12-26 Panasonic Intellectual Property Corporation Of America Image encoder and related non-transitory computer readable medium for image decoding
US11924456B2 (en) 2017-08-22 2024-03-05 Panasonic Intellectual Property Corporation Of America Image encoder and related non-transitory computer readable medium for image decoding
JP7446393B2 (ja) 2017-08-22 2024-03-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像符号化装置、画像復号装置、およびビットストリーム生成装置
JPWO2019082413A1 (ja) * 2017-10-24 2019-11-21 三菱電機株式会社 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
US10110916B2 (en) 2018-10-23
WO2015163146A1 (ja) 2015-10-29
US20170094312A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
US20230224459A1 (en) Image encoding device and method, and image decoding device and method
JP2020039187A (ja) 符号化装置および符号化方法
JP6365540B2 (ja) 画像処理装置および方法
EP3528499A1 (en) Image processing device and image processing method
JP6287035B2 (ja) 復号装置および復号方法
US10148959B2 (en) Image coding device and method, and image decoding device and method
JP6711353B2 (ja) 画像処理装置および画像処理方法
WO2015098561A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015105003A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015053116A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
US20160373740A1 (en) Image encoding device and method
JPWO2016104179A1 (ja) 画像処理装置および画像処理方法
WO2015163146A1 (ja) 符号化装置および符号化方法
JP2015005899A (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015098559A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
KR102338669B1 (ko) 화상 처리 장치 및 방법, 및 기록 매체
JP6477930B2 (ja) 符号化装置および符号化方法
WO2016199574A1 (ja) 画像処理装置および画像処理方法
JP6402802B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2014103765A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
JP2015050738A (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法