JP2013110517A - 動きベクトル符号化装置、動きベクトル符号化方法及びプログラム、動きベクトル復号装置、動きベクトル復号方法及びプログラム - Google Patents
動きベクトル符号化装置、動きベクトル符号化方法及びプログラム、動きベクトル復号装置、動きベクトル復号方法及びプログラム Download PDFInfo
- Publication number
- JP2013110517A JP2013110517A JP2011252923A JP2011252923A JP2013110517A JP 2013110517 A JP2013110517 A JP 2013110517A JP 2011252923 A JP2011252923 A JP 2011252923A JP 2011252923 A JP2011252923 A JP 2011252923A JP 2013110517 A JP2013110517 A JP 2013110517A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- plane
- encoding
- unit
- block
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/198—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】 従来の符号化方式においては、4:4:4の色プレーンで構成される画像データにおいては輝度(Y)または輝度に近いGを基本にした符号化と其々の色プレーンを独立に符号化する方式が採用されていた。近年コンピュータのスクリーンのデータをRGBの色プレーン出符号化して伝送する用途が出始めている。この場合、G以外の色がメインになっている場合があり、Gをベースとした符号化効率が向上しないといった問題が生じた。また、其々の色プレーンを独立に符号化する場合、色プレーン間の相関を茂一いないため符号化効率が向上しないという問題が生じている。
【解決手段】 他の色プレーンの動きベクトルによるプレーン間予測動きベクトルを用いて予測ベクトルの算出を行う。これにより、色プレーン間の相関を用いて動きベクトルの符号化を行えるので符号化効率が改善できる。
【選択図】 図2
【解決手段】 他の色プレーンの動きベクトルによるプレーン間予測動きベクトルを用いて予測ベクトルの算出を行う。これにより、色プレーン間の相関を用いて動きベクトルの符号化を行えるので符号化効率が改善できる。
【選択図】 図2
Description
本発明は画像の符号化・復号において、動き補償を行う際の動きベクトルの符号化、復号に関する。特に、複数の色信号から構成される画像データに関する。
動画像の圧縮記録の符号化方式として、H.264/MPEG−4 AVC(以下H.264と略す)が知られている。(非特許文献1)
H.264においては従来の符号化方式と同様に他のピクチャを参照して動き補償を行うことによって符号化効率を向上させている。マクロブロック(16画素×16画素)単位またはブロック(8画素×8画素等)単位または長方形のブロック(16画素×8画素など)単位に動きベクトルを符号化することできる。動きベクトルの符号化においては周囲のブロック(左、上、右上)の動きベクトルの中央値を用いて予測動きベクトルを算出し、これと符号化対象の動きベクトルとの誤差を符号化している。
H.264においては従来の符号化方式と同様に他のピクチャを参照して動き補償を行うことによって符号化効率を向上させている。マクロブロック(16画素×16画素)単位またはブロック(8画素×8画素等)単位または長方形のブロック(16画素×8画素など)単位に動きベクトルを符号化することできる。動きベクトルの符号化においては周囲のブロック(左、上、右上)の動きベクトルの中央値を用いて予測動きベクトルを算出し、これと符号化対象の動きベクトルとの誤差を符号化している。
また、H.264では階層符号化を行うことができる。また、近年、H.264の後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。このために、JCT−VC(Joint Collaborative Team on Video Coding)がISO/IECとITU−Tの間で設立された。ここではHigh Efficiency Video Coding符号化方式(以下、HEVCと略す)として標準化が進められている。HEVCでは動きベクトルの新しい符号化方式として、Advanced Motion Vector Prediction(以下、AMVPと略す)が提案されている。(非特許文献2)
AMVPではH.264のように周囲のブロックの動きベクトルの中央値を参照動きベクトルとするだけではなく、周囲のブロックの動きベクトル自体も参照動きベクトルとなる。また、周囲のブロックの動きベクトルだけではなく、符号化順で前のピクチャの同じ位置のブロックの動きベクトル(以下、時間方向予測動きベクトル)も含めて予測動きベクトルとする。これらの予測動きベクトルから同じ成分の動きベクトルをまとめることで対象となる動きベクトルを削減し、この中から最も近い動きベクトルを選択する。また、エラー耐性を向上させ、スループット性能を向上させるため、予め決められた数より予測ベクトルが少なくなった時、代替の動きベクトルを挿入することも行っている。選択された動きベクトルを識別する符号(以下、予測ベクトルインデックス符号)と予測の結果の予測誤差を符号化する。これにより、符号化効率の向上を図っている。
AMVPではH.264のように周囲のブロックの動きベクトルの中央値を参照動きベクトルとするだけではなく、周囲のブロックの動きベクトル自体も参照動きベクトルとなる。また、周囲のブロックの動きベクトルだけではなく、符号化順で前のピクチャの同じ位置のブロックの動きベクトル(以下、時間方向予測動きベクトル)も含めて予測動きベクトルとする。これらの予測動きベクトルから同じ成分の動きベクトルをまとめることで対象となる動きベクトルを削減し、この中から最も近い動きベクトルを選択する。また、エラー耐性を向上させ、スループット性能を向上させるため、予め決められた数より予測ベクトルが少なくなった時、代替の動きベクトルを挿入することも行っている。選択された動きベクトルを識別する符号(以下、予測ベクトルインデックス符号)と予測の結果の予測誤差を符号化する。これにより、符号化効率の向上を図っている。
さらに、H.264において、RGBやYCbCRなどでサブサンプリングを行わない4:4:4を扱うための技術が開発され標準となっている。例えば、High 4:4:4 Predictive profileやHigh 4:4:4 Intra profile(非特許文献1 Annex AのProfile and Levels)がそれにあたる。JCT−VCでは従来の4:4:4の自然画に加え、ディスプレイ等のビデオ信号を対象とした符号化を検討している。(非特許文献3)
特に、その中にはコンピュータによるプレゼンテーションやコンピュータグラフィクス等の画面が含まれている。また、ビデオ信号としてRGBが使われることが多い。上記のプロファイルでは従来のYCbCrに加え、RGBからの簡単な色変換を行いYCgCoに変換する方法や、各色を独立して符号化する方法が加えられた。
特に、その中にはコンピュータによるプレゼンテーションやコンピュータグラフィクス等の画面が含まれている。また、ビデオ信号としてRGBが使われることが多い。上記のプロファイルでは従来のYCbCrに加え、RGBからの簡単な色変換を行いYCgCoに変換する方法や、各色を独立して符号化する方法が加えられた。
HEVCにおいて、サブサンプリングを行わない4:4:4を実現しようとした時、RGBを扱う際にH.264と同様にYCbCrに変換しても構わないが、その変換処理が不可欠である。また、RGBを独立に符号化する方法では、RGBの各信号間には強い相関性があるため、効率が上がらないという問題が生じている。この問題の解決手法として、例えば特許文献1に色信号間の相関を用いた符号化・復号技術が開示されている。
この文献では色成分ごとに個別に予測モードの判定を行う。さらに、同一色成分上での予測対象の画像領域の近傍の予測モード情報と、異なる色成分における予測対象の画像領域と同一画面内位置の予測モード情報のうち、いずれかを選択して予測モードの予測値を定めて予測モード情報の符号化することが開示されている。
ISO/IEC14496−10:2010 Information technology−−Coding of audio−visual objects−−Part10:Advanced Video Coding
JCT−VC 寄書 JCTVC−A124_r2.doc インターネット< http://wftp3.itu.int/av−arch/jctvc−site/2010_04_A_Dresden/>
JCT−VC 寄書 JCTVC−F013_v3.docx インターネット< http://phenix.int−evry.fr/jct/>
しかしながら、特許文献1においては動きベクトルは色成分ごとの集合(以下、色プレーン)毎に符号化されているため、色信号間の相関を考慮できず、符号化効率が向上しないという問題があった。
したがって、本発明は上述した課題を解決するためになされたものであり、色プレーン間の動きベクトルの符号化の符号化効率の向上を図ることを目的とする。
前述の問題点を解決するため、本発明の動きベクトル符号化装置は以下の構成を有する。すなわち、複数の色プレーンで構成される画像符号化装置において、
符号化対象ブロックの他の色プレーンの同一位置のブロック(プレーン間参照ブロック)の動きベクトルを抽出するプレーン間動きベクトル抽出手段と、
前記プレーン間参照ブロックの動きベクトルから予測動きベクトルを算出する予測動きベクトル算出手段と、前記符号化対象ブロックの動きベクトルと前記予測動きベクトルから動きベクトル誤差を算出する動きベクトル誤差算出手段と、前記動きベクトル誤差を符号化する動きベクトル差分符号化手段とを有する。
符号化対象ブロックの他の色プレーンの同一位置のブロック(プレーン間参照ブロック)の動きベクトルを抽出するプレーン間動きベクトル抽出手段と、
前記プレーン間参照ブロックの動きベクトルから予測動きベクトルを算出する予測動きベクトル算出手段と、前記符号化対象ブロックの動きベクトルと前記予測動きベクトルから動きベクトル誤差を算出する動きベクトル誤差算出手段と、前記動きベクトル誤差を符号化する動きベクトル差分符号化手段とを有する。
さらに、本発明の動きベクトル符号化装置は前記予測動きベクトル算出手段が、前記プレーン間参照ブロックの動きベクトルを予測動きベクトルとして算出することを特徴とする。
さらに、本発明の動きベクトル復号装置は以下の構成を有する。すなわち、複数の色プレーンで構成される画像データの符号データを入力する符号データ入力手段と、
復号対象の色プレーンの復号対象ブロックの他のプレーンの同一位置のブロック(プレーン間参照ブロック)の動きベクトルを抽出するプレーン間動きベクトル抽出手段と、前記プレーン間参照ブロックの動きベクトルから予測動きベクトルを算出する予測動きベクトル算出手段と、前記符号データから動きベクトル誤差を復号する動きベクトル差分復号手段と、前記予測動きベクトルと前記動きベクトル誤差から復号対象ブロックの動きベクトルを再生する動きベクトル再生手段とを有する。
復号対象の色プレーンの復号対象ブロックの他のプレーンの同一位置のブロック(プレーン間参照ブロック)の動きベクトルを抽出するプレーン間動きベクトル抽出手段と、前記プレーン間参照ブロックの動きベクトルから予測動きベクトルを算出する予測動きベクトル算出手段と、前記符号データから動きベクトル誤差を復号する動きベクトル差分復号手段と、前記予測動きベクトルと前記動きベクトル誤差から復号対象ブロックの動きベクトルを再生する動きベクトル再生手段とを有する。
さらに、拡前記予測動きベクトル算出手段が、前記プレーン間参照ブロックの動きベクトルを予測動きベクトルとして算出することを特徴とする。
本発明により、符号化する色信号プレーンの周囲ブロックないし前に符号化されたピクチャのブロックの動きベクトル及び基本レイヤの動きベクトルの参照を同一に扱う。これにより、motion_prediction_flagと識別情報をまとめることが可能になり、符号化効率を向上させることができる。
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
以下、本発明の実施形態を、図面を用いて説明する。図1は本実施形態の画像符号化装置を示すブロック図である。図1において、101は画像データを入力する端子である。本実施形態では説明を容易にするため、4:4:4でRGBの色プレーンからなる画像データを符号化するものとする。102は符号化する画像データを一旦格納するフレームメモリである。103、104、105はプレーン符号化部である。プレーン符号化部103は入力された画像データの第1の色プレーンを符号化し、第1色プレーン符号化データを生成する。ここでは第1の色プレーンをGの色プレーンとして説明するが、これに限定されない。プレーン符号化部104は、入力された画像データの第2の色プレーンを符号化し、第2色プレーン符号化データを生成する。ここでは第2の色プレーンをBの色プレーンとして説明する。プレーン符号化部105は、入力された画像データの第3の色プレーンを符号化し、第3色プレーン符号化データを生成する。ここでは第3の色プレーンをRの色プレーンとして説明する。106はプレーン符号化部103、104、105で生成された符号化データを統合し、シーケンスとして必要なヘッダ情報及び、フレームとして必要なヘッダ情報を生成、統合してビットストリームを形成する統合符号化部である。107は端子であり、統合符号化部106で生成されたビットストリームを外部に出力する端子である。
以下、本発明の実施形態を、図面を用いて説明する。図1は本実施形態の画像符号化装置を示すブロック図である。図1において、101は画像データを入力する端子である。本実施形態では説明を容易にするため、4:4:4でRGBの色プレーンからなる画像データを符号化するものとする。102は符号化する画像データを一旦格納するフレームメモリである。103、104、105はプレーン符号化部である。プレーン符号化部103は入力された画像データの第1の色プレーンを符号化し、第1色プレーン符号化データを生成する。ここでは第1の色プレーンをGの色プレーンとして説明するが、これに限定されない。プレーン符号化部104は、入力された画像データの第2の色プレーンを符号化し、第2色プレーン符号化データを生成する。ここでは第2の色プレーンをBの色プレーンとして説明する。プレーン符号化部105は、入力された画像データの第3の色プレーンを符号化し、第3色プレーン符号化データを生成する。ここでは第3の色プレーンをRの色プレーンとして説明する。106はプレーン符号化部103、104、105で生成された符号化データを統合し、シーケンスとして必要なヘッダ情報及び、フレームとして必要なヘッダ情報を生成、統合してビットストリームを形成する統合符号化部である。107は端子であり、統合符号化部106で生成されたビットストリームを外部に出力する端子である。
上記画像符号化装置における画像の符号化動作を以下に説明する。
符号化方式としてはH.264に準ずるものとする。統合符号化部106は、ブロック単位での符号化処理に先立ち、シーケンスとして必要なヘッダ情報及び、フレームとして必要なヘッダ情報を生成する。またフレームに関する符号化処理の前に必ずフレームとして必要なヘッダ情報を生成する。本実施形態では4:4:4のRGBの色プレーンを符号化する。この画像の構成をヘッダ情報として符号化する。シーケンスのヘッダ(Sequence paramete set(以下、SPS))の一部を表1に示す。
表1において、profile_idc符号とlevel_idc符号はシーケンスのプロファイルとレベルを規定する。seq_parameter_set_id符号はSPSの固有な番号である。chroma_format_idc符号は色度のサブサンプリングを表す。separate_colour_plane_idc符号は色プレーン間の符号化時の依存関係を表す。表2にそれぞれがとる値を示す。
最下段以外はH.264と同様である。chroma_format_idc符号が3を示し、separate_colour_plane_idc符号が2を示す場合、各色プレーン間の相関を用いて符号化する。
端子101から入力された1フレーム分の画像データはフレームメモリ102に格納される。フレームメモリ102からGの色プレーンの画像データがプレーン符号化部103に、Bの色プレーンの画像データがプレーン符号化部104に、Rの色プレーンの画像データがプレーン符号化部105に入力される。各プレーン符号化部は色プレーン毎に符号化を行う。プレーン符号化部104とプレーン符号化部105はプレーン符号化部103の符号化の際の情報を入手して符号化する。統合符号化部106はこれらのプレーン符号化部の出力を統合に、必要なヘッダ情報を追加して出力する。
図2にプレーン符号化部の詳細なブロック図を示す。本実施形態において、動きベクトルの符号化方法として上述のAMVPを用いることとするが、これに限定されない。201は端子であり、画像データを入力する。ここでは説明を容易にするため、ブロック単位で画像データが入力されるものとする。202はイントラ予測部であり、フレーム内の復号済みの画素の値を参照して予測を行う。ここでは説明を容易にするため、H.264のイントラ予測を例にとって説明する。イントラ予測部202はその予測の方法と発生した予測誤差を後段に出力する。203はインター予測部であり、他のフレームの復号済みの画素の値を参照して動き補償予測を行う。インター予測部203は参照フレームを特定する情報と動きベクトルを出力し、合わせて動き補償予測で生成された予測誤差を出力する。
204は予測決定部であり、イントラ予測部202とインター予測部203の出力から出力された予測誤差に基づいてブロックの符号化モード等の予測情報を決定する。205は予測誤差に対して直交変換を行って直交変換係数を算出し、さらにその直交変換係数に量子化を行って、量子化係数を算出する変換・量子化部である。206は算出された量子化係数を符号化する係数符号化部である。本発明において、符号化方法は特に限定しないが、ハフマン符号化、算術符号化、ゴロム符号化等を用いることができる。207は量子化係数に対して、変換・量子化部205で行った量子化の逆の処理である逆量子化を行い、変換係数を生成し、逆変換によって予測誤差を生成する。208は画像予測再生部であり、予測決定部204から予測方法を取得し、符号化済みの画素の値から画像データを生成する。
209はフレームメモリであり、生成された画像データを格納し復号済み画素の参照に対応する。211はイントラ予測符号化部であり、イントラ予測部202で生成されたイントラ予測モード等のイントラ予測情報を符号化し、イントラ予測符号化情報符号データを生成する。符号化方法は特に限定しないが、ハフマン符号化、算術符号化、ゴロム符号化等を用いることができる。
210は端子であり、他の色プレーンのプレーン符号化部から動きベクトル等の情報を入力する。212は動きベクトル保持部であり、インター予測符号化時の動きベクトルを保持する。214は端子であり、外部からの要求に従って動きベクトル保持部212に保持されている動きベクトルを外部に出力する端子である。213は参照動きベクトル群生成部であり、端子210から入力された動きベクトルや動きベクトル保持部212の動きベクトルから後述する参照動きベクトル群を生成する。215は予測動きベクトル選択・誤差算出部であり、符号化する動きベクトルの予測動きベクトルを参照動きベクトル群から決定し、その動きベクトルの予測誤差を算出する。
216は動きベクトル符号化部であり、決定された予測ベクトルの情報と動きベクトルの予測誤差を符号化し動きベクトル符号データを生成する。符号化方法は特に限定しないが、ハフマン符号化、算術符号化、ゴロム符号化等を用いることができる。217はインター予測符号化部であり、インター予測部203で生成されたインター予測モード等のインター予測情報を符号化し、生成された動きベクトル符号データとともにインター予測符号化情報符号データを生成する。218は予測決定部204から出力されるブロックの符号化モード等の予測情報を符号化して予測情報符号データを生成する予測情報符号化部である。219はセレクタであり、ブロックの符号化モードに従って入力を選択する。
220はブロックに関する情報を符号化するヘッダ符号化部である。221はヘッダ符号化部220、予測情報符号化部218、セレクタ219、係数符号化部206の出力をまとめ、ビットストリームを作成する符号データ成形部である。222はビットストリームを外部に出力する端子である。なお、本実施形態においてはプレーン符号化部103において端子210は不要であり、プレーン符号化部104及び105において端子214は不要である。これらを省略しても構わない。
上記の構成で各色プレーンの符号化動作を以下に説明する。
ヘッダ符号化部220は端子201から入力されたブロック単位で画像データを入力し、イントラ予測部202とインター予測部203に入力する。イントラ予測部202では、フレームメモリ209から同じフレーム内で符号化対象のブロックの周囲の符号化済みの画素の値を読み込み、イントラ予測を行い、イントラ予測モードとその予測誤差を出力する。イントラ予測モードはイントラ予測符号化部211に入力され、符号化してイントラ予測符号データを生成する。また、その予測誤差を予測決定部204に入力する。
また、インター予測部203では符号化するフレームより前に符号化されたフレームの符号化対象のブロック位置の周囲の画素の値から動き補償を行うために動きベクトルの探索を行い、その画素値の予測誤差が最小になる動きベクトルと動き補償モードを決定する。動き補償モードは特に限定しないが、H.264のように複数のフレームの参照をしたり、MPEG−1、2、4のように前方、後方、双方向等の参照をしたりしても良い。決定された動きベクトルは動きベクトル保持部212と予測動きベクトル選択・誤差算出部215と画像予測再生部208に入力される。また、最小となった画素値の予測誤差を予測決定部204に出力する。
予測決定部204はイントラ予測部202とインター予測部203から入力された画素値の予測誤差を比較する。イントラ予測部202から入力された予測誤差が小さい場合は、予測決定部204は符号化対象のブロックの符号化モードをイントラ符号化モードと決定する。そうでない場合は符号化対象のブロックの符号化モードをインター符号化モードと決定する。予測決定部204は決定した符号化モードを画像予測再生部208、動きベクトル保持部212、セレクタ219、予測情報符号化部218に出力する。予測情報符号化部218は入力された参照情報を符号化し、予測情報符号データを生成して符号データ成形部221に入力する。また、比較に用いた画素の予測誤差で小さい値の予測誤差を変換・量子化部205に入力する。符号化モードがインター符号化モードであった場合、動きベクトル保持部212は後段での参照や外部からの参照のため動きベクトルと動き補償モードをブロック単位で格納する。
変換・量子化部205に入力された画素値の予測誤差は直交変換され量子化されて量子化係数を生成する。生成された量子化係数は係数符号化部206で符号化され量子化係数符号データを生成して符号データ成形部221に入力する。また、量子化係数は逆量子化・逆変換部207に入力され、逆量子化、逆直交変換を経て画素値の予測誤差を生成する。生成された予測誤差は画像予測再生部208で符号化モードとイントラ予測モードまたは動き補償モードと動きベクトルに従ってフレームメモリ209から画素の予測値を算出してこれと生成された予測誤差から符号化対象ブロックの画素値を再生する。再生された画素値はフレームメモリ209に入力され、格納される。
参照動きベクトル群生成部213はまず動きベクトル保持部212から符号化対象ブロックの上方、左方、右上方のブロックの動きベクトルを読み出す。この動きベクトルを以下では空間予測動きベクトルと呼ぶこととする。続いて、動きベクトル保持部212から符号化対象フレームの直前に符号化されたフレームの符号化対象ブロックの同一位置の動きベクトルを読み出す。この動きベクトルを以下では時間予測動きベクトルと呼ぶこととする。プレーン符号化部103においては以上の動きベクトルを入力する。
図16にその様子を示す。図16において、符号化対象プレーンの符号化対象のブロック1601について、下記の2つの動きベクトルが空間予測動きベクトルとして入力される。すなわち、符号化対象の上方ブロック1602の動きベクトル1609、右上方ブロック1603の動きベクトル1610、左方ブロック1604の動きベクトル1611である。さらに、直前に符号化されたフレームの符号化対象ブロックと同一位置のブロック1605の動きベクトル1612が時間予測動きベクトルとして入力される。
また、プレーン符号化部104及び105ではさらに端子210からプレーン符号化部103で生成された符号化対象ブロックと同一位置のブロックの動きベクトルを入力する。図16において、プレーン符号化部104及び105において、参照プレーン1が第1色プレーンとなり、同一位置のブロック1606の動きベクトル1613を入力する。このように、以下では、他の色プレーンを参照して得た動きベクトルをプレーン間予測動きベクトルと呼ぶことにする。
さらにプレーン符号化部105ではさらに端子210からプレーン符号化部104で生成された符号化対象ブロックと同一位置のブロックの動きベクトルを入力する。図16において、プレーン符号化部105において、参照プレーン1が第1色プレーンとなり、参照プレーン2が第2色プレーンとなり、同一位置のブロック1607のプレーン間予測動きベクトル1614を入力することも可能である。
このため、参照動きベクトル群生成部213は符号化対象ブロックの位置から動きベクトル保持部212と端子210から予測に用いるための動きベクトルを入力する。また、動きベクトル保持部212から端子214を介してこれらの動きベクトルが出力される。
参照動きベクトル群生成部213はこれらの動きベクトルをまとめて参照動きベクトル群とする。参照動きベクトル群生成部213はさらに、これらの動きベクトルの平均値や中央値等から新たに予測のための動きベクトルを算出しても良い。さらに、これらの動きベクトルの中で、同じ成分を持つ動きベクトルに関しては冗長なので1つだけ残して、動きベクトルの数を減らすことも可能である。その後、各動きベクトルにインデックスを付けて、参照動きベクトル群とする。
図5にその様子を示す。第1色プレーンの符号化においては、プレーン間予測動きベクトルは無いので、図5(c)に示すように本実施形態において参照動きベクトル群は最大5つの動きベクトルを持つことが可能である。例えば、図中の空間予測動きベクトル1が空間予測動きベクトル4と、空間予測動きベクトル2が空間予測動きベクトル3と、同じ成分を持てば、図5(d)のように参照動きベクトル群の数を減らすことができる。インデックスの順番は特に限定しないが、空間予測動きベクトルであればブロックの位置の順や、時間予測動きベクトルは空間予測動きベクトルより若いインデックスを割り当てるなどのことができる。さらにプレーン符号化部104では参照動きベクトル群は図5(b)のようになる。プレーン間予測動きベクトルはプレーン符号化部103から読み出されて、参照動きベクトル群に組み入れられる。インデックスの順番は特に限定しないが、プレーン間予測動きベクトルは時間予測動きベクトルより若いインデックスを割り当てるなどしても構わない。さらにプレーン符号化部105では参照動きベクトル群は図5(a)のようになる。プレーン間予測動きベクトルの数は各プレーンで固定である。また、プレーン間予測動きベクトル、時間予測動きベクトル、空間予測動きベクトルに関して、区別なく同じ成分を持つ動きベクトルを減らしていくことももちろん可能である。
図2に戻り、インター予測部203で決定された符号化対象の動きベクトルは予測動きベクトル選択・誤差算出部215に入力される。また、参照動きベクトル群も参照動きベクトル群生成部213から入力される。予測動きベクトル選択・誤差算出部215は入力された符号化対象の動きベクトルと参照動きベクトル群の各動きベクトルとの予測誤差を求め、動きベクトルの予測誤差が最も小さくなるものを予測動きベクトルとして選択する。
予測動きベクトルのインデックス(図5を参照)と符号化対象ブロックの動きベクトルと予測動きベクトルの予測誤差を出力する。これらは動きベクトル符号化部216に入力され、それぞれ符号化され、動きベクトル符号データを生成する。インター予測符号化部217はインター予測部203で生成された動き補償モードと動きベクトル符号化部216から出力された動きベクトル符号データを統合してインター予測符号データを生成する。
イントラ予測符号化部211からのイントラ予測符号データとインター予測符号化部217からのインター予測符号データはセレクタ219に入力される。セレクタ219は予測決定部204の予測情報がイントラ符号化モードであればイントラ予測符号化部211の出力を、インター符号化モードであればインター予測符号化部217の出力を選択して符号データ成形部221に入力する。また、符号データ成形部221に予測情報符号化部218から予測情報符号データがヘッダ符号化部220からヘッダの符号化データが入力される。符号データ成形部221はブロック単位の符号データを成形し、端子222から出力する。
図1に戻り、プレーン符号化部103から第1色プレーン符号化データを、プレーン符号化部104から第2色プレーン符号化データを、プレーン符号化部105から第3色プレーン符号化データを統合符号化部106は入力する。統合符号化部106はこれらのブロック単位の符号データをまとめ、フレーム単位の符号データを構成し、ビットストリームの書式に従って成形して端子107から出力する。
図3、4は、実施形態1に係る画像符号化装置における動きベクトル符号化処理を示すフローチャートである。図3において、第1色プレーンの符号化処理を、図4において第2色プレーンまたは第3色プレーンの符号化処理を表す。
まず第1色プレーンの符号化処理について図3を用いて説明する。まず、ステップS301にて、符号化対象ブロックの動きベクトルを入力し、別な動きベクトルの予測時に参照するため、これを保持する。
ステップS302にて、符号化対象ブロックの周囲のブロックから空間予測動きベクトルを、直前に符号化されたフレームのブロックから時間予測動きベクトルを算出する。ステップS303にて、ステップS302で算出された各動きベクトルから参照動きベクトル群を生成する。生成にあたっては冗長な動きベクトルの削減、インデックス付けが行われる。
ステップS304にて、参照動きベクトル群の動きベクトルと符号化対象ブロックの動きベクトルを比較し、動きベクトル予測誤差を最小とする予測動きベクトルを決定し、そのインデックスを選択情報として生成する。また、最小となった動きベクトル予測誤差を当該ブロックの動きベクトル予測誤差とする。ステップS305にて、選択情報となったインデックスを符号化し選択情報符号データを生成する。
ステップS306にて、符号化対象ブロックの動きベクトル予測誤差を符号化する。続いて、第2色プレーン乃至は第3色プレーンの符号化処理について図4を用いて説明する。図4において、図3のステップと同様の機能を実現するステップについては同じ番号を付し、説明を省略する。ステップS401にて、最近に符号化したフレームを特定し、符号化対象ブロックと同一位置のブロックであるプレーン間参照ブロックを特定する。ステップS402にて、特定されたプレーン間参照ブロックの動きベクトルを抽出する。ステップS403にて、ステップS302にて抽出された空間予測動きベクトルと時間予測動きベクトルから参照動きベクトル群を生成する。生成にあたっては冗長な動きベクトルの削減、インデックス付けが行われる。以後、ステップS304にてからステップS306にて、選択情報の決定、動きベクトル予測誤差の算出とそれぞれの符号化が行われる。
以上の構成と動作により、色プレーン間で動きベクトルの予測符号化を行うことで、色プレーン間の相関を用いて効率よく符号化することができるようになる。また、参照動きベクトル群において、プレーン間予測動きベクトルを上位に配置することで、その相関をより有効に使用することが可能になる。
なお、本実施形態において入力された画像データを一旦、フレームメモリ102に格納したが、これに限定されず、ラインメモリ等で構成したものでも構わない。なお、参照動きベクトル群の動きベクトルとして図16に示す位置のブロックを参照したが、これに限定されない。例えばブロック1601の右に隣接するブロックの動きベクトルを加えても構わないし、これらの動きベクトルの中央値からなる動きベクトルを加えても構わない。また、他プレーンの動きベクトルを参照する動きベクトルは同一位置に限定されない。図16のブロック1606の周囲のブロックの動きベクトルを参照しても構わない。また、さらに他のブロックの動きベクトルを参照しても構わない。
なお、本実施形態では画像データをRGBの色プレーンで構成される例について説明したが、これに限定されない。前述のYCbCrやYCgCo、その他の色プレーンでも構わない。さらには4:4:4を説明のために使用したが、これに限定されない。4:4:4の画像を合成するために必要なαプレーンを加えて4:4:4:4の符号化を行っても構わない。
なお、本実施形態において、動きベクトルの予測符号化方法としてAMVPを用いて説明したが、これに限定されない。H.264のように参照する動きベクトルの中に時間予測動きベクトルやプレーン間予測動きベクトルを含めてももちろん構わない。
<実施形態2>
本実施形態においては、動きベクトルの符号化方法としてプレーン間予測動きベクトルとの予測誤差を符号化する。
本実施形態においては、動きベクトルの符号化方法としてプレーン間予測動きベクトルとの予測誤差を符号化する。
図6は本実施形態の画像符号化装置を示すブロック図である。図6において、本実施形態では説明を容易にするため、4:4:4でRGBの色プレーンからなる画像データを符号化するものとする。608は符号化の際に、各色プレーンの順位を決定するプレーン順位決定部である。609は決定されたプレーン順位を符号化するプレーン順位符号化部である。603、604、605はプレーン符号化部である。プレーン符号化部603は入力された画像データの第1の色プレーンを符号化し、第1色プレーン符号化データを生成する。ここでは第1の色プレーンをGの色プレーンとして説明するが、これに限定されない。プレーン符号化部604は、入力された画像データの第2の色プレーンを符号化し、第2色プレーン符号化データを生成する。ここでは第2の色プレーンをBの色プレーンとして説明する。プレーン符号化部605は、入力された画像データの第3の色プレーンを符号化し、第3色プレーン符号化データを生成する。ここでは第3の色プレーンをRの色プレーンとして説明する。606はプレーン符号化部603、604、605で生成された符号化データを統合し、シーケンスとして必要なヘッダ情報及び、フレームとして必要なヘッダ情報を生成、統合してビットストリームを形成する統合符号化部である。607は端子であり、統合符号化部606で生成されたビットストリームを外部に出力する端子である。
上記画像符号化装置における画像の符号化動作を以下に説明する。
符号化に先立ち、実施形態1と同様に、統合符号化部606はchroma_format_idc符号を3とし、separate_colour_plane_flag符号を2としてSPSに含めて符号化する。
入力された画像データはフレームメモリ102に格納される。Gの色プレーンの画像データはプレーン符号化部603に、Bの色プレーンの画像データはプレーン符号化部604に、Rの色プレーンの画像データはプレーン符号化部605に入力される。
プレーン順位決定部608はフレームメモリ102の各色プレーンの画像データの状態から各プレーンに符号化の順位を決定する。その決定方法は限定されない。例えば、各プレーン間の差分絶対値和を求め、その和が最も小さくなる順位で決定しても良いし、各プレーン内の標準誤差を算出してその大きさの上位から順位を決定しても良い。本実施形態では説明を容易にするため、順位をG、B、Rとし、第1の色プレーンをGの色プレーン、第2の色プレーンをBの色プレーン、第3の色プレーンをRの色プレーンとして説明する。個の順位はプレーン順位符号化部609とプレーン符号化部603、604、605に其々入力される。
プレーン順位符号化部609はGの色プレーンが第1色プレーンであり、Bの色プレーンが第2色プレーンであり、Rの色プレーンが第3色プレーンであることを符号化し、プレーン順位符号データを生成する。本発明において、符号化方法は特に限定しないが、ハフマン符号化、算術符号化、ゴロム符号化等を用いることができる。例えば、色のプレーンをR,G、Bの順に符号化することとし、Rプレーンの順位の3、Gプレーンの順位の1、Bプレーンの順位の2の値を符号化しても良い。この場合、RプレーンとGプレーンの順位を符号化すれば、自らBプレーンの順位は一意に決まるため、Bプレーンの符号化を省略することも可能である。または、H.264と同様にVUIパラメータを用いることも可能である。VUIパラメータのmatrix_coefficients符号を拡張した例を表3に示す。
表3において符号の値と取りうる色プレーンの組合せが示されている。値を0または9から13まで設定することで組合せを決定し、左からプレーンの順位が高いものすることができる。
プレーン符号化部603はGの色プレーンの符号化を行う。プレーン順位決定部608にてGの色プレーンは第1色プレーンであるので、他の色プレーンを参照しないで符号化する。プレーン符号化部604はBの色プレーンの符号化を行う。プレーン順位決定部608にてBの色プレーンは第2色プレーンであるので、第1色プレーンのみを参照して符号化する。プレーン符号化部605はRの色プレーンの符号化を行う。プレーン順位決定部608にてRの色プレーンは第3色プレーンであるので、第1色プレーンおよび第2色プレーンを参照して符号化する。
プレーン符号化部603、604、605の詳細なブロック図を図7に示す。図7において、図2のブロックと同様の機能を実現するブロックについては同じ番号を付し、説明を省略する。701は端子であり、プレーン順位決定部608から当該プレーン符号化部が符号化する色プレーンの順位を入力する。
702は端子であり、他のプレーンの動きベクトルを入力する端子である。端子210も同じ機能を果たすが、それぞれ、異なるプレーン符号化部に接続されている。704、705は端子であり、それぞれ、異なるプレーン符号化部に接続され、動きベクトルを外部に出力する。例えば、プレーン符号化部603の端子210と端子704はプレーン符号化部604の端子702と端子705に接続されている。プレーン符号化部604の端子210と端子704はプレーン符号化部605の端子702と端子705に接続されている。プレーン符号化部605の端子210と端子704はプレーン符号化部603の端子702と端子705に接続されている。
703はこれらの動きベクトルの入出力を端子701から入力される色プレーンの順位に応じて制御する動きベクトル入出力制御部である。端子701から当該プレーン符号化部が第1色プレーンの符号化を行う場合、端子210と端子702は動作せず、他のプレーン符号化部からの動きベクトルの入力を禁止する。第2色プレーンの符号化を行う場合、端子701または端子702のいずれかは動作せず、第3色プレーンのプレーン符号化部からの動きベクトルの入力を禁止する。第3色プレーンの符号化を行う場合も、端子701と端子702のいずれかは動作せず、第1色プレーンのプレーン符号化部からの動きベクトルの入力を行う。但し、これに限定されず、第3色プレーンの符号化を行う場合、第2色プレーンの動きベクトルを入力しても構わないし、第1色プレーン及び第2色プレーンの動きベクトルから予測動きベクトルを算出しても構わない。
712は動きベクトル保持部であり、図2の動きベクトル保持部212とは直接外部に動きベクトルを出力しない点が異なる。713は動きベクトル誤差算出部であり、動きベクトル入出力制御部703から入力される予測動きベクトルと入力された符号化対象ブロックの動きベクトルとの予測誤差を算出する。716は動きベクトル符号化部であり、図2の動きベクトル符号化部216とは参照動きベクトル群に関する参照情報の入力、符号化を行わないことが異なる。
上記の構成で各色プレーンの符号化動作を以下に説明する。図1の統合符号化部606は第1実施形態の統合符号化部106と同様に、符号化を開始する前に必要なヘッダ情報を追加して出力する。プレーン順位決定部608は予めプレーン順位を決定しておいても構わないし、入力される画像データに合わせて動的にプレーン順位を決定しても構わない。例えば、実施形態1のようにGBRの固定でも構わないし、上述のようにフレーム画像の特性から順位を決定しても構わない。決定された順位はプレーン順位符号化部609に入力される。プレーン順位符号化部609ではそれぞれの色プレーンの順位を符号化し、色プレーン順位符号データを生成する。生成された色プレーン順位符号データは統合符号化部606に入力される。本色プレーンの順位はシーケンス全体で固定でも構わないし、シーンチェンジ等に合わせて色プレーンの順位を入れ替えても構わない。
以後、ブロック単位での処理について説明する。図7において、端子201からブロック単位の画像データが入力され、イントラ予測とインター予測を行う。インター予測部203では実施形態1と同様に動き補償を行い、符号化対象ブロックの動きベクトルを算出する。算出された動きベクトルは動きベクトル保持部712と動きベクトル誤差算出部713に入力される。
動きベクトル入出力制御部703は当該プレーン符号化部がプレーン符号化部603である場合、入力されたGの色プレーンのブロック単位の画像データを第1色プレーンとして符号化する。動きベクトル入出力制御部703は端子701から第1色プレーンであることを入力する。端子210及び端子702からの入力は行わない。動きベクトル保持部712から符号化対象フレームで符号化対象ブロックの周囲の動きベクトルを入力する。この場合、H.264と同様に符号化対象ブロックの空間予測動きベクトルを動きベクトル保持部712から抽出する。抽出された空間予測動きベクトルの中央値から予測動きベクトルを算出し、動きベクトル誤差算出部713に入力する。
動きベクトル入出力制御部703は当該プレーン符号化部がプレーン符号化部604である場合、入力されたBの色プレーンのブロック単位の画像データを第2色プレーンとして符号化する。動きベクトル入出力制御部703は端子701から第2色プレーンであることを入力する。この時、第3色プレーンのプレーン符号化部605と接続されている端子210からの入力は行わない。プレーン符号化部603の動きベクトル保持部712から符号化対象ブロックと同じ位置のGの色プレーンのブロックの動きベクトルを端子704、プレーン符号化部604の端子702を経て動きベクトル入出力制御部703に入力される。動きベクトル入出力制御部703は入力した動きベクトルを予測動きベクトルとして動きベクトル誤差算出部713に入力する。
動きベクトル入出力制御部703は当該プレーン符号化部がプレーン符号化部605である場合、入力されたRの色プレーンのブロック単位の画像データを第3色プレーンとして符号化する。動きベクトル入出力制御部703は端子701から第3色プレーンであることを入力する。この時、第2色プレーンのプレーン符号化部604と接続されている端子702からの入力は行わない。プレーン符号化部603の動きベクトル保持部712から符号化対象ブロックと同じ位置のGの色プレーンのブロックの動きベクトルを端子705、プレーン符号化部605の端子210を経て動きベクトル入出力制御部703に入力される。
動きベクトル入出力制御部703は入力した動きベクトルを予測動きベクトルとして動きベクトル誤差算出部713に入力する。動きベクトル誤差算出部713は入力された予測動きベクトルとインター予測部203で生成された符号化対象ブロックの動きベクトルを入力し、動きベクトルの予測誤差を求める。例えば、符号化対象ブロックの動きベクトルから予測動きベクトルの各成分で減算を行い、動きベクトルの予測誤差を算出すればよい。
図17にその様子を示す。図17において、符号化対象プレーンが第1色プレーン1701である場合、符号化対象のブロック1704の動きベクトルは周囲のブロックの動きベクトルの中央値からなる動きベクトルを予測ベクトルとする。すなわち、符号化対象の上方ブロック1706の動きベクトル1708、左方ブロック1707の動きベクトル1709の中央値からなる動きベクトルを予測動きベクトルとする。この予測動きベクトルから予測誤差を算出する。第2色プレーン1702である場合は符号化対象ブロック1710の動きベクトル1711に対して第1色プレーンの動きベクトル1705と同じ成分を持つ動きベクトル1712を予測ベクトルとして予測誤差の動きベクトル1713を算出する。第3色プレーン1703である場合は符号化対象ブロック1714の動きベクトル1715に対して第1色プレーンの動きベクトル1705と同じ成分を持つ動きベクトル1716を予測ベクトルとして予測誤差の動きベクトル1717を算出する。
動きベクトル符号化部716は生成された予測誤差を符号化し、動きベクトル符号データを生成する。また、インター予測部203で生成された符号化対象ブロックの動きベクトルは動きベクトル保持部712に格納される。このようにプレーン間予測動きベクトルを含めて符号化された動きベクトル符号データはインター予測符号化部217、符号データ成形部221を経て端子222から外部に出力される。
図6に戻り、統合符号化部606はプレーン順位符号化部609からプレーン順位符号データを、各プレーン符号化部から各色プレーンの符号データを入力する。これらにプレーン順位符号データをシーケンスのヘッダ等に統合し、ビットストリームを形成して端子607から仏力する。
図8は、実施形態2に係る画像符号化装置における動きベクトル符号化処理を示すフローチャートである。第1色プレーンの符号化処理のフローチャートは実施形態1の図3と同様であるので説明を省略する。但し、ステップS302とステップS303において、時間予測ベクトルの抽出は行わない。図8において第2色プレーンまたは第3色プレーンの符号化処理を表す。
第2色プレーンの符号化処理について図8を用いて説明する。図8において、図3のステップと同様の機能を実現するステップについては同じ番号を付し、説明を省略する。ステップS801にて、最近に符号化したフレームを特定し、符号化対象ブロックと同一位置のブロックであるプレーン間参照ブロックを特定する。ステップS802にて、特定されたプレーン間参照ブロックの動きベクトルを抽出し、予測動きベクトルとする。ステップS803にて、ステップS301で入力された符号化対象ブロックの動きベクトルとステップS802で抽出した予測動きベクトルから動きベクトルの予測誤差を算出する。
以上の構成と動作により、色プレーンに順位を付け、他プレーンの動きベクトル参照を適応的にすることにより、色プレーン間で動きベクトルの予測符号化を行うことで、簡易な構成で色プレーン間の相関を用いて効率よく符号化することができるようになる。
なお、本実施形態においてシーケンスの符号化の前に色プレーンの順位を決定したがこれに限定されない。例えば、シーンチェンジ等を検出して色プレーンの順位を変更しても良い。この場合、H.264のピクチャ・パラメータ・セットにこの順位を表す符号を含めることで、その順位を変更することが可能である。
なお、本実施形態において予測動きベクトルの生成方法はこれに限定されない。例えば、第3色プレーンの符号化では予測動きベクトルを端子210と端子702から入力される動きベクトルから算出しても構わない。例えばこれらの動きベクトルの平均を予測動きベクトルとしてもよい。なお、色プレーンの符号化の順位について個別に符号化したが、例えば、符号化側、復号側で順位の組合せを共有し、その組合せの識別情報を符号化する方法もある。
<実施形態3>
図9は、本発明の実施形態3に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態1で生成された符号化データの復号を例にとって説明する。901はビットストリームを入力する端子である。902、903、904は統合復号部であり、シーケンスとして必要なヘッダ情報及び、フレームとして必要なヘッダ情報を復号し、各色プレーンの符号データを分離して後段に出力する。プレーン復号部903は、入力された第1の色プレーンの符号データを復号し、第1色プレーンの画像データを生成する。ここでは第1の色プレーンをGの色プレーンとして説明するが、これに限定されない。プレーン復号部904は、入力された第2の色プレーンの符号データを復号し、第2色プレーンの画像データを生成する。ここでは第2の色プレーンをBの色プレーンとして説明する。プレーン復号部905は、入力された第3の色プレーンの符号データを復号し、第3色プレーンの画像データを生成する。ここでは第3の色プレーンをRの色プレーンとして説明する。906は画像データを一旦格納するフレームメモリである。907は端子であり、復号されて再生された画像データを外部に出力する端子である。
図9は、本発明の実施形態3に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態1で生成された符号化データの復号を例にとって説明する。901はビットストリームを入力する端子である。902、903、904は統合復号部であり、シーケンスとして必要なヘッダ情報及び、フレームとして必要なヘッダ情報を復号し、各色プレーンの符号データを分離して後段に出力する。プレーン復号部903は、入力された第1の色プレーンの符号データを復号し、第1色プレーンの画像データを生成する。ここでは第1の色プレーンをGの色プレーンとして説明するが、これに限定されない。プレーン復号部904は、入力された第2の色プレーンの符号データを復号し、第2色プレーンの画像データを生成する。ここでは第2の色プレーンをBの色プレーンとして説明する。プレーン復号部905は、入力された第3の色プレーンの符号データを復号し、第3色プレーンの画像データを生成する。ここでは第3の色プレーンをRの色プレーンとして説明する。906は画像データを一旦格納するフレームメモリである。907は端子であり、復号されて再生された画像データを外部に出力する端子である。
上記画像復号装置における画像の復号動作を以下に説明する。
図9において、端子901から入力されたビットストリームは統合復号部902に入力される。統合復号部902はシーケンスのヘッダ情報の符号データの復号を行い、色プレーンの構成を再生する。実施形態1ではchroma_format_idc符号が3で、separate_colour_plane_flag符号が2である。この時、統合復号部902は色プレーンがGBRで構成され、色プレーン間の相関を用いて復号することを識別する。統合復号部902は続いて入力されるビットストリームから色プレーンG、色プレーンB、色プレーンRの符号データを分離し、それぞれをプレーン復号部903、904、905に出力する。
図10にプレーン復号部の詳細なブロック図を示す。1001は端子であり、符号データを入力する。ここでは説明を容易にするため、ブロック単位で符号データが入力されるものとする。1002は符号データ分離部であり、後段で必要な符号データを分離し出力する。また、1003はヘッダの符号データを復号し、ブロックに関する情報を再生するヘッダ復号部である。1004は量子化係数符号データを復号して量子化係数を再生する量子化係数復号部である。1005は量子化係数に逆量子化、逆変換を施して予測誤差を再生する逆量子化・逆変換部である。1009は予測情報復号部であり、ブロックの符号化モード等の予測情報を再生する。1010はセレクタであり、ブロックの符号化モードに従って出力を選択する。1011はインター予測復号部であり、インター予測モード等のインター予測情報を復号し、生成する。1016は動きベクトル復号部であり、動きベクトル符号データを復号して予測ベクトルの情報と動きベクトルの予測誤差を再生する。
1017は端子であり、他の色プレーンのプレーン復号部から動きベクトル等の情報を入力する。1019は動きベクトル保持部であり、インター予測符号化された動きベクトルを保持する。1018は参照動きベクトル群生成部であり、端子1017から入力された動きベクトルや動きベクトル保持部1019の動きベクトルから実施形態1の参照動きベクトル群生成部213と同様に参照動きベクトル群を生成する。1020は端子であり、外部からの要求に従って動きベクトル保持部1019に保持されている動きベクトルを外部に出力する端子である。1021は予測動きベクトル選択部であり、参照動きベクトル群生成部1018で生成された参照動きベクトル群から予測動きベクトルを選択する。1022は動きベクトル再生部であり、動きベクトル復号部1016で再生された動きベクトルの予測誤差と予測動きベクトル選択部1021で選択された予測動きベクトルから復号対象ブロックの動きベクトルを再生する。
1012はインター予測部であり、再生された動きベクトルに従って、他のフレームの復号済みの画素の値を参照して動き補償予測を行う。1013はイントラ予測復号部であり、イントラ予測符号化情報符号データを復号し、イントラ予測モード等のイントラ予測情報を生成する。1014はイントラ予測部であり、生成されたイントラ予測情報からイントラ予測モードに従って、フレーム内の復号済みの画素の値を参照して予測を行う。1015はセレクタでありセレクタ1010と同様にブロックの符号化モードに従って入力を選択する。1006はイントラ予測部1004またはインター予測部1012で生成された予測値を入力し、逆量子化・逆変換部1005から入力された予測誤差から復号対象ブロックの画像データを再生する画像予測再生部である。1007はフレームメモリであり、再生された画像データが格納される。1008は再生された画像データを外部に出力する端子である。
上記の構成で画像データの復号動作を以下に説明する。端子1001から入力された復号対象ブロックの符号データは符号データ分離部1002に入力されそれぞれの符号データに分類される。ヘッダ情報の符号データはヘッダ復号部1003に入力され、動きベクトル符号は動きベクトル復号部1016に入力され、予測情報符号データは予測情報復号部1009に入力される。予測情報復号部1009はまず予測情報を復号し、ブロックの符号化―モードを生成してセレクタ1010及びセレクタ1015に入力される。セレクタ1010は入力される。セレクタ1010は予測情報復号部1009から出力された符号化モードによって入力された符号データの出力先を決定する。符号化モードがイントラ予測モードであれば、入力された符号データをイントラ予測復号部1013に、そうでなければインター予測部1012から入力された符号データをインター予測復号部1011に出力する。
イントラ予測モードの時、セレクタ1010から入力された符号データはイントラ予測復号部1013に入力され、復号され、イントラ予測部1014に入力される。イントラ予測復号部1013では、復号対象ブロックの符号化モードを再生し、イントラ予測モードをイントラ予測部1014に入力する。イントラ予測部1014にて、フレーム内の復号済みの画素の値を参照して予測を行い、予測値を算出する。
一方、符号データ分離部1002は動きベクトル符号データを分離し、動きベクトル復号部1016に入力する。動きベクトル復号部1016は入力された動きベクトル符号データを復号し、予測動きベクトルのインデックス(図5を参照)と符号化対象ブロックの動きベクトルと予測動きベクトルの予測誤差を再生する。インデックスは予測動きベクトル選択部1021に、予測誤差は動きベクトル再生部1022に入力する。これと並行して復号対象ブロックの周囲のブロックから空間予測動きベクトル、直前に符号化されたフレームのブロックから時間方向予測動きベクトル、他のプレーンの動きベクトルからプレーン間予測動きベクトルを算出する。参照動きベクトル群生成部1018は端子1017から他プレーンの動きベクトルを入力する。但し、第1色プレーンの復号の際は端子1017からのプレーン間予測動きベクトルの入力は行われない。第2色プレーンの復号の際は端子1017から第1色プレーンの動きベクトルが入力される。第3色プレーンの復号の際は端子1017から第2色プレーンの動きベクトル及び第1色プレーンの動きベクトルが入力される。これらの動きベクトルは端子1020から読み出される。
また、参照動きベクトル群生成部1018は動きベクトル保持部1019から空間予測動きベクトルと時間動き予測ベクトルを入力する。これらの動きベクトルをまとめて参照動きベクトル群とする。さらに、実施形態1と同様にこれらの動きベクトルの中で、同じ成分を持つ動きベクトルに関しては冗長なので1つだけ残して、動きベクトルの数を減らすことも可能である。その後、各動きベクトルにインデックスを付けて、参照動きベクトル群とする。算出された参照動きベクトル群は予測動きベクトル選択部1021に入力される。予測動きベクトル選択部1021では入力されたインデックスに従って、参照動きベクトル群から予測動きベクトルを選択する。動きベクトル再生部1022は得られた予測動きベクトルと動きベクトルの予測誤差から復号対象のブロックの動きベクトルを再生する。
インター予測モードの時、セレクタ1010から入力された符号データはインター予測復号部1011に入力され、復号され、インター予測部1012に入力される。インター予測部1012は再生された動きベクトルに基づいてインター予測モードに従って復号済みの画素データを参照して予測値を算出する。
セレクタ1015は予測情報復号部1009から出力された符号化モードによって入力された符号データの出力先を決定する。符号化モードがイントラ予測モードであれば、イントラ予測部1014からの入力を、そうでなければインター予測部1012から入力を画像予測再生部1006に出力する。画像予測再生部1006はセレクタ1015から入力された予測値と逆量子化・逆変換部1005から入力された予測誤差から復号対象ブロックの画像データを再生する。再生された画像データはフレームメモリ1007の所定の位置に格納される。格納された画像データはインター予測部1012やイントラ予測部1014で使用される。再生された画像データは端子1008から外部、本実施形態では図9のフレームメモリ906に出力される。
図1に戻り、各プレーン復号部から出力された色プレーンの画像データはフレームメモリ906に格納され、フレームの画像データとして端子907から出力される。
図11、図12は、実施形態3に係る画像復号装置における動きベクトル復号処理を表すフローチャートであり、図11が第1色プレーンの動きベクトル復号処理を示し、図12が第2色プレーン及び第3色プレーンの動きベクトル復号処理を示す。
まず、図11において、ステップS1101にて、選択情報符号データを復号し、選択情報であるインデックスを再生する。ステップS1102にて、動きベクトル符号データを復号し、符号化対象ブロックの動きベクトルと予測動きベクトルとの予測誤差を再生する。ステップS1103にて、実施形態1の図3のステップS302と同様に復号対象ブロックの周囲のブロックから空間予測動きベクトル、直前に符号化されたフレームのブロックから時間方向予測動きベクトルを抽出する。ステップS1104にて、実施形態1の図3のステップS303と同様に、抽出された動きベクトルから参照動きベクトル群を生成する。この際、冗長な動きベクトルの削減、インデックス付けが行われる。ステップS1105にて、ステップS1101で生成されたインデックスに従って、参照動きベクトル群から予測動きベクトルを選択する。ステップS1106にて、ステップS1102で再生された予測誤差とステップS1105で選択された予測動きベクトルから復号対象ブロックの動きベクトルを再生する。さらに、後段での参照のためこれを保持して第1色プレーンの動きベクトル復号処理を終了する。
次に図12において、図11と同じ機能を果たすステップについては同じ番号を付し、詳細な説明は省略する。ステップS1201にて、最近に符号化したフレームを特定し、符号化対象ブロックと同一位置のブロックであるプレーン間参照ブロックを特定する。ステップS1202にて、他のプレーンの動きベクトル復号処理で保持されている動きベクトルからプレーン間参照ブロックの動きベクトルをプレーン間予測動きベクトルとして抽出する。第2色プレーンの復号においては第1色プレーンのプレーン間参照ブロックの動きベクトルをプレーン間予測動きベクトルとする。第3色プレーンの復号においては第1色プレーンと第2色プレーンのプレーン間参照ブロックの動きベクトルをそれぞれプレーン間予測動きベクトルとする。ステップS1203にて、ステップS1103で抽出された空間予測動きベクトルと時間方向予測動きベクトルとステップS1201で算出されたプレーン間予測動きベクトルから参照動きベクトル群を生成する。この際、冗長な動きベクトルの削減、インデックス付けが行われる。ステップS1204にて、ステップS1101で生成されたインデックスに従って、ステップS1203で抽出された参照動きベクトル群から予測動きベクトルを選択する。
以上の構成と動作により、色プレーン間で予測符号化された動きベクトルの復号を行うことで、色プレーン間の相関を用いて効率よく符号化された動きベクトルを再生することができるようになる。
また、参照動きベクトル群において、プレーン間予測動きベクトルを上位に配置することで、その相関をより有効に使用することが可能になる。なお、本実施形態において復号された画像データを一旦、フレームメモリ906に格納したが、これに限定されず、ラインメモリ等で構成したものでも構わないし、点順次で画素単位で出力しても構わない。
なお、本実施形態では画像データをRGBの色プレーンで構成される例について説明したが、これに限定されない。前述のYCbCrやYCgCo、その他の色プレーンでも構わない。さらには4:4:4を説明のために使用したが、これに限定されない。4:4:4の画像を合成するために必要なαプレーンを加えて4:4:4:4のビットストリームの復号を行っても構わない。
なお、本実施形態において、動きベクトルの予測符号化方法としてAMVPを用いて説明したが、これに限定されない。H.264のように参照する動きベクトルの中に時間予測動きベクトルやプレーン間予測動きベクトルを含めてももちろん構わない。
<実施形態4>
図13は、本発明の実施形態3に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態2で生成された符号化データの復号を例にとって説明する。図13において、図9の画像復号装置と同じ機能を果たすブロックについては同じ番号を付し、詳細な説明を省略する。1302は統合復号部であり、シーケンスとして必要なヘッダ情報及び、フレームとして必要なヘッダ情報を復号し、プレーン順符号データ、各色プレーンの符号データを分離して後段に出力する。1351はプレーン順位符号データを復号し、プレーン順位を再生するプレーン順位復号部である。1303、1304、1405はプレーン復号部である。
図13は、本発明の実施形態3に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態2で生成された符号化データの復号を例にとって説明する。図13において、図9の画像復号装置と同じ機能を果たすブロックについては同じ番号を付し、詳細な説明を省略する。1302は統合復号部であり、シーケンスとして必要なヘッダ情報及び、フレームとして必要なヘッダ情報を復号し、プレーン順符号データ、各色プレーンの符号データを分離して後段に出力する。1351はプレーン順位符号データを復号し、プレーン順位を再生するプレーン順位復号部である。1303、1304、1405はプレーン復号部である。
上記画像復号装置における画像の復号動作を以下に説明する。
図9において、端子901から入力されたビットストリームは統合復号部902に入力される。
統合復号部1302はシーケンスのヘッダ情報の符号データの復号を行い、色プレーンの構成を再生する。実施形態2に示した通り、VUIパラメータのmatrix_coefficients符号によって色プレーンの構成を知ることができる。統合復号部1302は色プレーンがGBRで構成されることを識別する。また、SPSのchroma_format_idc符号が3を示し、separate_colour_plane_flag符号が2であるので色プレーン間の相関を用いて復号することを識別する。統合復号部902は続いて入力されるビットストリームからプレーン順位符号データと色プレーンG、色プレーンB、色プレーンRの符号データを分離する。プレーン上位符号データはプレーン順位復号部1351に入力され、各色プレーンの符号データはそれぞれがプレーン復号部1303、1304、1305に入力される。
プレーン順位復号部1351は各プレーン復号部にそれぞれの順位を入力する。本実施形態では色プレーンGを復号するプレーン復号部1303が第1色プレーンであり、色プレーンBを復号するプレーン復号部1304が第2色プレーンであり、色プレーンRを復号するプレーン復号部1305が第3色プレーンである。
プレーン復号部1303、1304、1305の詳細なブロック図を図14に示す。図14において、図10のブロックと同様の機能を実現するブロックについては同じ番号を付し、説明を省略する。
1401は端子であり、プレーン順位復号部1351から当該プレーン復号部が復号する色プレーンの順位を入力する。1402、1403は端子であり、他のプレーンの動きベクトルを入力する端子である。1404、1405は端子であり、それぞれ、異なるプレーン復号部に接続され、動きベクトルを外部に出力する。例えば、プレーン復号部1303の端子1402と端子1404はプレーン復号部1304の端子1403と端子1405に接続されている。プレーン復号部1304の端子1402と端子1404はプレーン復号部1305の端子1403と端子1405に接続されている。プレーン復号部1305の端子1402と端子1404はプレーン復号部1303の端子1403と端子1405に接続されている。
1451はこれらの動きベクトルの入出力を端子1401から入力される色プレーンの順位に応じて制御する動きベクトル入出力制御部である。端子1401から当該プレー復号部が第1色プレーンの復号を行う場合、端子1402と端子1403は動作せず、他のプレーン復号部からの動きベクトルの入力を禁止する。第2色プレーンの復号を行う場合、第3プレーンの復号を行うプレーン復号部へ接続された端子1402または端子1403のいずれかは動作せず、第3色プレーンのプレーン復号部からの動きベクトルの入力を禁止する。第3色プレーンの復号を行う場合、第2プレーンの復号を行うプレーン復号部へ接続された端子1402または端子1403のいずれかは動作せず、第2色プレーンのプレーン復号部からの動きベクトルの入力を禁止する。但し、実施形態2と同様にこれに限定されず、第3色プレーンの符号化を行う場合、第2色プレーンの動きベクトルを入力しても構わないし、第1色プレーン及び第2色プレーンの動きベクトルから予測動きベクトルを算出しても構わない。
1419は動きベクトル保持部であり、図10の動きベクトル保持部1019とは直接外部に動きベクトルを出力しない点が異なる。1416は動きベクトル復号部であり、図10の動きベクトル復号部1016とはインデックスからなる選択情報は出力されないことが異なる。
上記の構成で画像データの復号動作を以下に説明する。端子1001から入力された復号対象ブロックの符号データは符号データ分離部1002に入力されそれぞれの符号データに分類される。動きベクトル符号は動きベクトル復号部1416に入力される。動きベクトル復号部1416は動きベクトル符号データを復号し、符号化対象ブロックの動きベクトルと予測動きベクトルとの予測誤差を再生する。再生された予測誤差は動きベクトル再生部1022に入力される。
動きベクトル入出力制御部1451は当該プレーン復号部がプレーン復号部1303である場合、入力されたGの色プレーンのブロック単位の画像データを第1色プレーンとして復号する。動きベクトル入出力制御部1451は、端子1402及び端子1403からの入力は行わない。動きベクトル保持部1419から復号対象フレームで復号対象ブロックの周囲の動きベクトルを入力し、空間予測動きベクトルを抽出する。さらに抽出された空間予測動きベクトルの中央値から予測動きベクトルを算出し、動きベクトル再生部1022に入力する。
また、動きベクトル入出力制御部1451は当該プレーン復号部がプレーン復号部1304である場合、入力されたBの色プレーンのブロック単位の画像データを第2色プレーンとして復号する。この時、第3色プレーンのプレーン復号部1305と接続されている端子1402からの入力は行わない。プレーン復号部1303の動きベクトル保持部1419から復号対象ブロックと同じ位置のGの色プレーンのブロックの動きベクトルを端子1404、プレーン復号部1304の端子1402を経て動きベクトル入出力制御部1451に入力される。動きベクトル入出力制御部1451は入力した動きベクトルを予測動きベクトルとして動きベクトル再生部1022に入力する。
さらに、動きベクトル入出力制御部1451は当該プレーン復号部がプレーン復号部1305である場合、入力されたRの色プレーンのブロック単位の画像データを第3色プレーンとして復号する。この時、第2色プレーンのプレーン復号部1304と接続されている端子1403からの入力は行わない。プレーン復号部1303の動きベクトル保持部1419から復号対象ブロックと同じ位置のGの色プレーンのブロックの動きベクトルを端子1405、プレーン復号部1305の端子1402を経て動きベクトル入出力制御部1451に入力される。動きベクトル入出力制御部1451は入力した動きベクトルを予測動きベクトルとして動きベクトル再生部1022に入力する。以下、実施形態3と同様に動きベクトル再生部1022で得られた予測動きベクトルと動きベクトルの予測誤差から復号対象のブロックの動きベクトルを再生する。
図15は、実施形態4に係る画像復号装置における第2色プレーン及び第3色プレーンの動きベクトル復号処理を表すフローチャートである。第1色プレーンの動きベクトル復号処理については既存の方法を用いることができる。例えば、H.264の動きベクトルの復号方法を用いることができる。図15において、ステップS1102は動きベクトル符号データを復号して動きベクトルの予測誤差を生成する。ステップS1501にて、他のプレーンの動きベクトルを参照してプレーン間予測動きベクトルを抽出する。ステップS1106にて、ステップS1102で再生された予測誤差とステップS1501で算出されたプレーン間予測動きベクトルから復号対象ブロックの動きベクトルを再生する。さらに後段での参照のためこれを保持して第2色プレーンまたは第3色プレーンの動きベクトル復号処理を終了する。
以上の構成と動作により、色プレーンの順位を決め、色プレーン間で差分符号化された動きベクトルの復号を行うことで、色プレーン間の相関を用いて効率よく符号化された動きベクトルを再生することができるようになる。
本実施形態において、動きベクトルの予測符号化方法として単に別な色プレーンの動きベクトルを用いたが、これに限定されない。H.264のように参照する動きベクトルの中に時間予測動きベクトルやプレーン間予測動きベクトルを含めてももちろん構わない。また、AMVPを用いてももちろん構わない。
<実施形態5>
図1、図2、図6、図7、図9、図10、図13、図14に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
図1、図2、図6、図7、図9、図10、図13、図14に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
図18は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
CPU1801は、RAM1802やROM1803に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、CPU1801は、図1、図2、図6、図7、図9、図10、図13、図14に示した各処理部として機能することになる。
RAM1802は、外部記憶装置1806からロードされたコンピュータプログラムやデータ、I/F(インターフェース)1809を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM1802は、CPU1801が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1802は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供したりすることができる。
ROM1803には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部1804は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU1801に対して入力することができる。表示部1805は、CPU1801による処理結果を表示する。また表示部1805は例えば液晶ディスプレイで構成される。
外部記憶装置1806は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置1806には、OS(オペレーティングシステム)や、図1、図2、図6、図7、図9、図10、図13、図14に示した各部の機能をCPU1801に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置1806には、処理対象としての各画像データが保存されていても良い。
外部記憶装置1806に保存されているコンピュータプログラムやデータは、CPU1801による制御に従って適宜、RAM1802にロードされ、CPU1801による処理対象となる。I/F1807には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F1807を介して様々な情報を取得したり、送出したりすることができる。1808は上述の各部を繋ぐバスである。
上述の構成からなる作動は前述のフローチャートで説明した作動をCPU1801が中心となってその制御を行う。
<その他の実施形態>
前述の実施形態において、ビュー間ダイレクト予測モード、ビュー間時間ダイレクトモード、ビュー間視差ダイレクト予測モードとビュー間参照予測モードを其々説明した。これらを上述のように用いても構わないし、これらを組み合わせて使用してももちろん構わない。例えば、ブロック単位でdirect_mv_pred_mode符号を設け、これらを識別する符号を割り当ててももちろん構わない。
前述の実施形態において、ビュー間ダイレクト予測モード、ビュー間時間ダイレクトモード、ビュー間視差ダイレクト予測モードとビュー間参照予測モードを其々説明した。これらを上述のように用いても構わないし、これらを組み合わせて使用してももちろん構わない。例えば、ブロック単位でdirect_mv_pred_mode符号を設け、これらを識別する符号を割り当ててももちろん構わない。
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
Claims (8)
- 符号化対象の色プレーンにおける符号化対象ブロックの動きベクトルを生成する動きベクトル生成手段と、
符号化対象の色プレーンと異なる色プレーンにおけるブロックであって、前記符号化対象ブロックの同一位置のブロックであるプレーン間参照ブロックの動きベクトルを抽出するプレーン間動きベクトル抽出手段と、
前記プレーン間参照ブロックの動きベクトルから予測動きベクトルを算出する予測動きベクトル算出手段と、
前記符号化対象ブロックの動きベクトルと前記予測動きベクトルから動きベクトル誤差を算出する動きベクトル誤差算出手段と、
前記動きベクトル誤差を符号化する動きベクトル差分符号化手段とを備えることを特徴とする動きベクトル符号化装置。 - 前記予測動きベクトル算出手段が、前記プレーン間参照ブロックの動きベクトルを予測動きベクトルとすることを特徴とする請求項1に記載の動きベクトル符号化装置。
- 前記予測動きベクトル算出手段が前記符号化対象ブロックの周囲の動きベクトルと前記プレーン間参照ブロックの動きベクトルから構成される参照動きベクトル群を生成する参照動きベクトル生成手段と、前記参照動きベクトル群から符号化対象ブロックの動きベクトルの予測ベクトルを選択して選択情報を出力する予測ベクトル選択手段を備え、さらに前記選択情報を符号化して選択情報符号を生成する選択情報符号化手段を備えることを特徴とする請求項1に記載の動きベクトル符号化装置。
- 複数の色プレーンで構成される画像データの符号データを入力する符号データ入力手段と、
復号対象の色プレーンと異なる色プレーンにおけるブロックであって、復号対象のブロックの同一位置のブロックであるプレーン間参照ブロックの動きベクトルを抽出するプレーン間動きベクトル抽出手段と、
前記符号データから動きベクトル誤差を復号する動きベクトル差分復号手段と、
前記プレーン間動きベクトル抽出手段において抽出したプレーン間参照ブロックの動きベクトルと前記動きベクトル誤差から復号対象ブロックの動きベクトルを再生する動きベクトル再生手段を備えることを特徴とする動きベクトル復号装置。 - 動きベクトル符号化装置における動きベクトル符号化方法であって、
符号化対象の色プレーンにおける符号化対象ブロックの動きベクトルを生成する動きベクトル生成工程と、
符号化対象の色プレーンと異なる色プレーンにおけるブロックであって、前記符号化対象ブロックの同一位置のブロックであるプレーン間参照ブロックの動きベクトルを抽出するプレーン間動きベクトル抽出工程と、
前記プレーン間参照ブロックの動きベクトルから予測動きベクトルを算出する予測動きベクトル算出工程と、
前記符号化対象ブロックの動きベクトルと前記予測動きベクトルから動きベクトル誤差を算出する動きベクトル誤差算出工程と、
前記動きベクトル誤差を符号化する動きベクトル差分符号化工程とを有することを特徴とする動きベクトル符号化方法。 - 動きベクトル復号装置における動きベクトル復号方法であって、
複数の色プレーンで構成される画像データの符号データを入力する符号データ入力工程と、
復号対象の色プレーンと異なる色プレーンにおけるブロックであって、復号対象ブロックの同一位置のブロックであるプレーン間参照ブロックの動きベクトルを抽出するプレーン間動きベクトル抽出工程と、
前記符号データから動きベクトル誤差を復号する動きベクトル差分復号工程と、
前記プレーン間参照ブロックの動きベクトルと前記動きベクトル誤差から復号対象ブロックの動きベクトルを再生する動きベクトル再生工程とを有することを特徴とする動きベクトル復号方法。 - コンピュータが読み出して実行することにより、前記コンピュータを、請求項1に記載の動きベクトル符号化装置として機能させることを特徴とするプログラム。
- コンピュータが読み出して実行することにより、前記コンピュータを、請求項4に記載の動きベクトル復号装置として機能させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011252923A JP2013110517A (ja) | 2011-11-18 | 2011-11-18 | 動きベクトル符号化装置、動きベクトル符号化方法及びプログラム、動きベクトル復号装置、動きベクトル復号方法及びプログラム |
PCT/JP2012/007171 WO2013073138A1 (en) | 2011-11-18 | 2012-11-08 | Motion vector coding apparatus, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011252923A JP2013110517A (ja) | 2011-11-18 | 2011-11-18 | 動きベクトル符号化装置、動きベクトル符号化方法及びプログラム、動きベクトル復号装置、動きベクトル復号方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013110517A true JP2013110517A (ja) | 2013-06-06 |
Family
ID=47351901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011252923A Pending JP2013110517A (ja) | 2011-11-18 | 2011-11-18 | 動きベクトル符号化装置、動きベクトル符号化方法及びプログラム、動きベクトル復号装置、動きベクトル復号方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2013110517A (ja) |
WO (1) | WO2013073138A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016039468A (ja) * | 2014-08-07 | 2016-03-22 | キヤノン株式会社 | 画像符号化装置及び方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104581186B (zh) * | 2013-10-14 | 2019-12-17 | 北京康吉森技术有限公司 | 一种图像压缩中对帧内移动矢量进行编码和解码的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102176754B (zh) | 2005-07-22 | 2013-02-06 | 三菱电机株式会社 | 图像编码装置和方法、以及图像解码装置和方法 |
EP2230849A1 (en) * | 2009-03-20 | 2010-09-22 | Mitsubishi Electric R&D Centre Europe B.V. | Encoding and decoding video data using motion vectors |
JP5234368B2 (ja) * | 2009-09-30 | 2013-07-10 | ソニー株式会社 | 画像処理装置および方法 |
-
2011
- 2011-11-18 JP JP2011252923A patent/JP2013110517A/ja active Pending
-
2012
- 2012-11-08 WO PCT/JP2012/007171 patent/WO2013073138A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016039468A (ja) * | 2014-08-07 | 2016-03-22 | キヤノン株式会社 | 画像符号化装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013073138A1 (en) | 2013-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11711539B2 (en) | Image encoding apparatus, image encoding method and program, image decoding apparatus, and image decoding method and program | |
US11303918B2 (en) | Image encoding and decoding method with a merge flag and motion vectors | |
US10097847B2 (en) | Video encoding device, video decoding device, video encoding method, video decoding method, and program | |
US10390034B2 (en) | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area | |
RU2669005C2 (ru) | Предсказание вектора блока в кодировании/декодировании видео и изображений | |
KR101863522B1 (ko) | 화상 부호화 장치, 화상 부호화 방법, 화상 복호화 장치, 화상 복호화 방법, 및 컴퓨터 판독가능 저장 매체 | |
JP6376719B2 (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
JP5950541B2 (ja) | 動きベクトル符号化装置、動きベクトル符号化方法及びプログラム、動きベクトル復号装置、動きベクトル復号方法及びプログラム | |
KR20220137964A (ko) | 비디오 인코딩 또는 디코딩을 위한 신경 네트워크 기반 인트라 예측 | |
TW201909637A (zh) | 影像預測解碼方法 | |
WO2020036132A1 (ja) | 画像符号化装置、画像復号装置、及びプログラム | |
JP7357736B2 (ja) | 符号化装置、復号装置、及びプログラム | |
JP4764706B2 (ja) | 動画像変換装置 | |
US12069259B2 (en) | Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program | |
JP6469277B2 (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
JP2013110517A (ja) | 動きベクトル符号化装置、動きベクトル符号化方法及びプログラム、動きベクトル復号装置、動きベクトル復号方法及びプログラム | |
US20240179345A1 (en) | Externally enhanced prediction for video coding | |
JP6184558B2 (ja) | 符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラム | |
JP2009260494A (ja) | 画像符号化装置及びその制御方法 | |
JP6618578B2 (ja) | 画像符号化装置、および画像復号装置 | |
US20240205412A1 (en) | Spatial illumination compensation on large areas | |
CN115699762A (zh) | 通过用信号通知gci对图像进行编码/解码的方法和设备及存储比特流的计算机可读记录介质 | |
JP2018201232A (ja) | 復号装置、復号方法 | |
JP2020039162A (ja) | 画像符号化装置、および画像復号装置 | |
JP2017225145A (ja) | 復号装置、復号方法及びプログラム |