JP2014027462A - 画像符号化装置、画像符号化システム、画像符号化方法及びプログラム、画像復号装置、画像復号システム、画像復号方法及びプログラム - Google Patents

画像符号化装置、画像符号化システム、画像符号化方法及びプログラム、画像復号装置、画像復号システム、画像復号方法及びプログラム Download PDF

Info

Publication number
JP2014027462A
JP2014027462A JP2012165945A JP2012165945A JP2014027462A JP 2014027462 A JP2014027462 A JP 2014027462A JP 2012165945 A JP2012165945 A JP 2012165945A JP 2012165945 A JP2012165945 A JP 2012165945A JP 2014027462 A JP2014027462 A JP 2014027462A
Authority
JP
Japan
Prior art keywords
encoding
image
decoding
motion vector
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012165945A
Other languages
English (en)
Other versions
JP5995583B2 (ja
Inventor
Hideaki Hattori
秀昭 服部
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012165945A priority Critical patent/JP5995583B2/ja
Priority to US13/949,801 priority patent/US9392278B2/en
Publication of JP2014027462A publication Critical patent/JP2014027462A/ja
Application granted granted Critical
Publication of JP5995583B2 publication Critical patent/JP5995583B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

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

Abstract

【課題】 動き予測を用いた画像符号化を行うにあたり、符号化する画像間に依存性があるため複数の符号化部で複数の画像を並列処理できない。
【解決手段】 複数の画像のうちN番目の画像を符号化する第1の符号化手段と、
前記N番目の画像を参照することにより、当該N番目の画像と連続するN+1番目の画像を符号化する第2の符号化手段を備え、前記N番目の画像の一部分であって、前記N+1番目の画像の最初の処理対象ブロックの動きベクトル存在範囲に基づいて処理を開始するタイミングを適応的に決定する。
【選択図】 図1

Description

本発明は画像符号化装置及びシステム、画像符号化方法及びプログラム、画像復号装置及びシステム、画像復号方法及びプログラムに関し、特に複数の画像を並列に符号化及び復号するシステムに関する。
動画像の符号化方式として、H.264/MPEG−4 AVC(以下H.264)が知られている(非特許文献1)。
近年、H.264の後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始され、JCT−VC(Joint Collaborative Team on Video Coding)がISO/IECとITU−Tの間で設立された。JCT−VCでは、High Efficiency Video Coding符号化方式(以下、HEVC)の標準化が進められている(非特許文献2)。
H.264やHEVCには、符号化効率を向上させるために、画面内の相関を利用して符号化する画面内予測符号化(以下、画面内符号化)及び、画面間の相関を利用して動きを予測し符号化を行う画面間予測符号化(以下、画面間符号化)の両方が採用されている。この画面間符号化においては、符号化のブロック単位で参照する画像(以下、参照画像)から符号化対象の画像(以下、対象画像)への動きの大きさを示す、動きベクトルが探索される。探索された動きベクトルは、対象画像の予測残差と同様に符号化が行われ、画像符号化装置の出力である符号化ストリームの一部として多重化される。
また、動画像の画像サイズ及び毎秒フレーム数の増加に伴い、従来の動画像より高画質な映像を記録及び再生することが要求されている。このような映像をリアルタイムで符号化する場合、単一の画像符号化装置では一般的には処理性能が不足してしまう。このため、複数の画像符号化装置を使用して複数画像を並列に符号化処理することが検討されている。
また、画面間符号化の動きベクトル探索における参照画像は、画像符号化装置と画像復号装置で同じ画像を使用する必要があるため、画像符号化装置内部で復号を行う、局所復号という処理によって参照画像を生成することが一般的である(特許文献1)。
特開2003−219428
ITU−T H.264 (03/2010) Advanced video coding for generic audio visual services JCT−VC 寄書 JCTVC−F335.doc インターネット< http://phenix.int−evry.fr/jct/doc_end_user/documents/6_Torino/wg11/ >
複数の画像符号化装置を使用して複数画像を並列に画面間符号化する場合、時間軸上において隣接する画像を参照画像とする。このとき、画面間符号化に必要な同一の参照画像が異なる画像符号化装置によって符号化及び局所復号が行われている最中である、という状況が発生する。このような状況においては、参照画像の符号化及び局所復号が完了するまで画面間符号化を開始できず、複数画像の並列符号化ができないという課題がある。
このような画面間予測における画像間の依存性を避けるために、時間軸上において離れた画像を参照画像として、複数画像の並列符号化を行うことも可能である。しかしながら画面間符号化においては、時間軸上において近い画像ほど画像間の相関が高いことが一般的である。従って、時間軸上において離れた画像を参照画像として画面間符号化する場合、近い画像を参照画像として画面間符号化する場合に比べ圧縮効率が劣化する。その結果、画像符号化装置の出力である符号化ストリームのデータサイズが大きくなってしまうという課題がある。
本発明は上記課題を鑑みて提案されたものであり、特定の符号化ストリームの構成に依存せず、かつ高い符号化効率を維持しながら複数の符号化部による高い処理性能を備えた画像符号化装置を提供することを目的とする。
上記の課題を解決するために、本発明の画像符号化装置は下記の構成を有する。すなわち、時間軸上に連続する複数の画像を符号化する画像符号化装置であって、前記複数の画像のうちN番目の画像を符号化する第1の符号化手段と、前記N番目の画像を参照することにより、当該N番目の画像と連続するN+1番目の画像を符号化する第2の符号化手段と、前記第1の符号化手段及び第2の符号化手段の処理開始タイミングを制御する制御手段とを備え、前記制御手段は、前記N番目の画像の一部分であって、前記N+1番目の画像の最初の処理対象ブロックの動きベクトル存在範囲に相当する部分の符号化が完了した後に、第2の符号化手段による前記最初の処理対象ブロックの符号化の開始を指示することを特徴とする。
本発明に係る画像符号化装置によれば、高い符号化効率を維持したまま、複数の符号化部によって複数画像の並列処理を行うことで、符号化の処理性能を向上させることが可能になる。また、複数の復号部を使用して複数画像の並列復号処理を行うことで復号の処理性能を向上させることも可能になる。
実施形態1の画像符号化装置を示す図 実施形態1の各画像の符号化方法及び画像間の参照関係を示す図 実施形態1の一画像のマクロブロックを示す図 実施形態1の符号化処理のタイミングチャートを示す図 実施形態2のレベルに基づいた動きベクトルの垂直方向の最大値を示す図 実施形態2の符号化処理タイミングチャートを示す図 実施形態3の画像復号装置を示す図 実施形態3の復号処理のタイミングチャートを示す図 実施形態4の各画像の符号化方法及び画像間の参照関係を示す図 実施形態5のスライスとタイルの例を示す図 実施形態6の画像符号化装置を示す図 実施形態6の符号化処理のタイミングチャートを示す図 実施形態7の画像符号化装置を示す図 実施形態8の各符号化スレッドのフローチャートを示す図 実施形態8のセマフォを使用してマクロブロックライン数を入力する場合のフローチャートを示す図 実施形態8のセマフォを使用してマクロブロックライン数を出力する場合のフローチャートを示す図
<実施形態1>
以下、本発明の実施形態1を、図面を用いて説明する。図1は、本実施形態1における画像符号化装置を示す図である。
図1に示す画像符号化装置は、CPU101、第1符号化部102及び第2符号化部112、メモリバス108、メモリコントローラ109、主記憶部110、割り込みコントローラ111、レジスタバス118を有する。本実施形態では、時間軸上に連続する複数の画像、すなわち動画を符号化する画像符号化装置について説明する。
図1の第1符号化部102における符号化方法について、図2を用いて説明する。図2は、本実施形態における各画像の符号化方法を示す図である。
本実施形態では、1枚目の画像以降、15枚に1枚の画像(図2においては1番目と16番目)を、画面内予測を使用した画面内予測符号化(以下、画面内符号化)により符号化する。図2において、前記画面内符号化する画像をI1、I16と表記する。一方、その他の画像(例えば2枚目から15枚目の画像)は、動き予測を用いた画面間符号化により符号化される。図2において、動き予測における矢印は画像間の参照関係を示している。画面間符号化を行う各画像は、直近の過去の1枚を参照画像とする。図2において、前記参照画像を1枚使用する画像は、P2、P3のように表記される。
本実施形態において、画面内符号化された画像と画面間符号化された画像から構成されるグループを画像グループと呼ぶ。図2において、I1〜P15を1画像グループとする。また、画面間符号化における動き予測の際の画像間の参照関係を画像グループ構造と呼ぶ。
本実施形態において、図1の第1符号化部102は、図2における奇数番目(1番目、3番目、5番目、(略)、(2N−1)番目)の画像の符号化を行う。尚、Nは任意の正の整数(N>0)である。一方、第2符号化部112は、偶数番目(2番目、4番目、6番目、(略)、(2N))の画像の符号化を行う。また、第1符号化部102がN番目の画像を符号化した場合、第2符号化部112は当該N番目の画像を参照することによりN+1番目の画像を符号化する。
第1符号化部102は、第1符号化制御部103、ダイレクト・メモリアクセス・コントローラ(DMAC)104及び107、動き予測部105、予測残差符号化及び局所復号部106を有する。第2符号化部112の内部構成は、第1符号化部102と同じである。
本実施形態において、第1符号化部102及び第2符号化部112は、マクロブロックと呼ばれる水平方向16画素、垂直方向16画素(本実施形態では以下、16×16画素と表記する。画素数が変化しても同様である)のブロック単位で符号化を行う。図3は、本実施形態における符号化対象である入力画像とマクロブロックの関係について示す図である。本実施形態における入力画像は、1920×1088画素であり、水平方向120マクロブロック、垂直方向68マクロブロックから構成される。つまり、本実施形態において、1マクロブロックは入力画像の一部分である。一般的な画像符号化においては、ブロック毎のラスタ・スキャン順により符号化が行われる。例えば、図3に示すように、(0、0)→(1、0)→(2、0)→(略)→(119、0)→(0、1)→(略)→(119、1)→(略)→(119、67)の順で各マクロブロックの符号化が行われる。尚、(X、Y)は水平方向の座標位置がX、垂直方向の座標位置がYであるマクロブロックを示す。
CPU101は、符号化パラメータをレジスタバス118経由で第1符号化制御部103及び第2符号化制御部113内部のレジスタに設定する。ここで符号化パラメータとは、量子化パラメータや、各画像を画面内符号化するか若しくは画面間符号化するかを決定する情報など、符号化に用いられるパラメータである。符号化パラメータが第1符号化制御部103及び第2符号化制御部113内部のレジスタに設定された後、CPU101は、レジスタ設定により、第1符号化制御部103及び第2符号化制御部113に符号化動作開始の指示を行う。このレジスタ設定は、ユーザーの操作や外部からの動作指示に基づく設定であり、一般的に符号化パラメータ設定と動作設定の両方を兼ねる。また、後述するように、CPU101は第1符号化制御部103及び第2符号化制御部113から符号化が完了したマクロブロックラインの数をレジスタバス118経由で読み込む。
メモリバス108は、CPU101及び第1符号化部102及び第2符号化部112から発行されるメモリ転送要求をメモリコントローラ109に伝達する。メモリコントローラ109は、メモリバス108から伝達されたメモリ転送要求を主記憶部110への命令に変換し、データの読み出し及び書き込みを行う。主記憶部110は、メモリコントローラ109からの命令に基づいて書き込み要求があったデータを記録し、読み出し要求があったデータを出力する。
尚、本実施形態において入力画像を生成する処理(例えばデジタルカメラにおける撮像センサからの読み出し、A/D変換及び現像処理)は十分に高速であり、入力画像は主記憶部110上において常に利用可能であるものとする。
第1符号化部102及び第2符号化部112の内部動作について以下に示す。
第1符号化制御部103は、CPU101からレジスタバス118経由で動作開始命令を受け、内部の各処理を制御する。DMAC104は、入力画像をマクロブロック毎に主記憶部110から読み込み、レジスタバス118経由で動き予測部105に出力する。動き予測部105は、DMAC104から受け取った入力マクロブロックの画面間予測を行うべく、参照画像中の必要な領域を主記憶部110から読み込み、予め定められた動きベクトル探索アルゴリズムに基づいて動きベクトル探索を行う。
動き予測部105は、発生する符号量が最も少なくなると推測される動きベクトルを符号化で使用する動きベクトルとして決定する。動き予測部105は、決定された動きベクトルを用いて動き予測を行った予測残差を、予測残差符号化及び局所復号部106に出力する。また、動き予測部105は、符号化で使用する動きベクトルも予測残差符号化及び局所復号部106に出力する。尚、符号化対象画像が画面内符号化を行う画像である場合には、動き予測部105は入力マクロブロックをそのまま予測残差符号化及び局所復号部106に出力する。
予測残差符号化及び局所復号部106は、動き予測部105から出力された予測残差に対して、予測残差符号化を行う。予測残差に対する予測残差符号化は、一般的に直交変換、量子化及びエントロピー符号化を含む。尚、予測残差符号化は、直交変換、量子化及びエントロピー符号化のうちいずれかが欠けていても良い。例えば静止画において、量子化を含まない予測残差符号化方式もある。さらに、予測残差符号化及び局所復号部106は、動き予測部105から受け取った動きベクトルに対しても、同一画像における周辺の動きベクトルからの予測及びエントロピー符号化を行う。
符号化された予測残差及び動きベクトルは、符号化ストリームとして多重化され、多重化された符号化ストリームは、DMAC107経由で主記憶部110に記録される。尚、対象画像が画面内符号化を行う画像である場合、予測残差符号化及び局所復号部106は、入力マクロブロックの画面内予測を行った後に予測残差符号化を行う。
さらに、予測残差符号化及び局所復号部106は、直交変換及び量子化を行った予測残差について逆量子化、逆直交変換を行って予測残差を復号する。また、予測残差符号化及び局所復号部106は、動き予測が使用されたかもしくは画面内予測が使用されたかという情報に基づいて、動き予測が使用された場合は動き補償を行う。この一連の復号処理は局所復号と呼ばれる。予測残差符号化及び局所復号部106は、局所復号を行うことにより画面間符号化における参照画像を生成する。生成された参照画像は、レジスタバス118を経由して主記憶部110に記録される。予測残差符号化及び局所復号部106は、局所復号処理の完了後、当該マクロブロックの符号化処理が完了した旨を第1符号化制御部103に通知する。
第1符号化制御部103は、符号化が完了したマクロブロック数をカウントする。後述するように、符号化が完了したマクロブロック数が、画像の水平方向のサイズに相当する1マクロブロックライン(本実施形態においては120マクロブロック)に到達する毎に、割り込みコントローラ111経由でCPU101に割り込みを発生させる。次に、第1符号化部102による符号化処理が完了したマクロブロックライン数をレジスタバス118経由でCPU101に伝達する。第2符号化部112の内部動作は、第1符号化部102の内部動作と同じであるため記述は省略する。
割り込みコントローラ111は、第1符号化制御部103及び第2符号化制御部113から出力される割り込みがあった際には、予め第1符号化制御部103及び第2符号化制御部113の内部に設定された割り込みに関するレジスタ値を読み出す。そして、割り込みコントローラ111は、読み出したレジスタ値に基づいて適応的にCPU101に伝達する。当該割り込みに関するレジスタ値は、割り込みコントローラ111が割り込みをマスクするか否か、及び各割り込みの優先度を設定するために用いられる。そして、レジスタバス118は、CPU101から発行されるレジスタ読み出し/書き込み要求を、割り込みコントローラ111、第1符号化制御部103及び第2符号化制御部113内部のレジスタアクセスとして伝達する。
第1符号化部102及び第2符号化部112は、前述のように予め定められた動きベクトル探索アルゴリズムにより動きベクトル探索を行う。この動きベクトル探索アルゴリズムでは、動きベクトルの水平方向及び垂直方向の最大値は予め決まっており、動きベクトルが存在する可能性のある範囲である動きベクトル存在範囲(以下、動きベクトル存在範囲)は既知であることが一般的である。そして、本実施形態における動きベクトル探索アルゴリズムでは、動きベクトル存在範囲が既知である。CPU101は、レジスタバス118経由で動きベクトルに関する所定のレジスタ値を読み出すことにより、第1符号化部102及び第2符号化部112における動きベクトル存在範囲を符号化処理開始前に把握することが可能である。
第1符号化制御部103及び第2符号化制御部113における符号化処理及びCPU101との情報伝達を図4のタイミングチャートを用いて示す。
図4は、水平方向に時刻を示し、第1符号化部102及び第2符号化部112における処理内容(どのフレームを符号化しているか)及び符号化が完了したマクロブロックラインの状況を示す。図4における符号化処理が完了したマクロブロックライン数は、現在符号化を行っているマクロブロックの垂直座標位置と同じ数になる。例えば、符号化を行っているマクロブロックが図3に示される状況である場合、2マクロブロックラインの符号化処理が完了している。尚、本実施形態において、動きベクトル探索アルゴリズムによって決まる垂直方向の動きベクトル存在範囲は、−32画素〜31画素である(5マクロブロック分)とする。
CPU101からの動作開始指示に基づき、第1符号化部102は、時刻t1において1番目の画像の画面内符号化を開始する。時刻t1においては2番目の画像を画面間符号化する第2符号化部112は、動き探索で使用する参照画像が生成されていないため、符号化を開始することができない。
画像右端のマクロブロックの符号化が完了すると、第1符号化制御部103は、符号化が完了したマクロブロックラインの数を第1符号化制御部103内部のレジスタに反映させ、割り込みコントローラ111経由でCPU101に割り込みを通知する。
CPU101は、当該割り込みを受け付けると、レジスタバス118経由で第1符号化制御部103から符号化が完了したマクロブロックラインの数を読み込む。そして、CPU101は当該第1符号化制御部103の内部に割り込みクリアに関するレジスタ値を設定することで当該割り込みをクリアする。
動きベクトル存在範囲が−32画素〜31画素の場合、2番目の画像の第1マクロブロックライン中の各マクロブロック(16×16画素)が画面間予測において参照する可能性があるのは、1番目の画像の垂直方向0〜47画素である。第1符号化部102により動きベクトル存在範囲である垂直0画素〜47画素(3マクロブロックライン分)の符号化が完了する。すると、第2符号化部112における第1マクロブロックラインのマクロブロックが必要とする参照画像が利用可能になっているということが保証される。CPU101は、割り込みが通知されるごとに第1符号化制御部103から符号化が完了したマクロブロックライン数を読み出し、第2符号化部112における参照画像が利用可能になっているかを判定する。時刻t2において、第1符号化部102の処理が完了したマクロブロックライン数が3に達したため、CPU101は、第2符号化部112に画面間符号化による2番目の画像の第1マクロブロックライン(最初の処理対象ブロック)の符号化処理の開始を指示する。
第1符号化部102と第2符号化部112の間で処理速度に差が発生することが一般的である。そのため、画面間符号化において、マクロブロックライン毎に参照画像が利用可能であることを確認する必要がある。よって、第2符号化部112は、マクロブロックラインの処理が完了する毎に、符号化が完了したマクロブロックライン数を第2符号化制御部113の内部のレジスタに反映させる。そして、第2符号化部112は、CPU101に割り込みを通知し、符号化処理を中断する。
CPU101は、第2符号化部112が各マクロブロックラインを画面間符号化するために、参照画像が利用可能であるか否かを、第1符号化部102から取得した符号化が完了したマクロブロックライン数より判定する。例えば、第2符号化部112が2番目のマクロブロックラインの符号化を開始するために、CPU101は第1符号化部102における符号化が完了したマクロブロックライン数が4に達している必要がある。参照画像が利用可能である場合、CPU101は第2符号化部112に符号化処理再開を指示する。参照画像が利用可能でない場合、利用可能になるまで第2符号化部112への符号化処理の再開指示は行わない。
上記処理を画像内の全てのマクロブロックライン分繰り返す。第1符号化部102は時刻t3において1番目の画像の符号化処理を完了し、第2符号化部112は時刻t5において2番目の画像の符号化処理を完了する。
CPU101は、第1符号化部102が3番目の画像を画面間予測で符号化するために、第1符号化部102の動きベクトル存在範囲と第2符号化部112によって符号化処理が完了したマクロブロックライン数を照らし合わせる。ただし、第1符号化部102の動きベクトル存在範囲は動きベクトル探索アルゴリズムから決まる。また、本実施形態における画像の垂直サイズは、動きベクトル存在範囲の垂直サイズに比べて十分大きい。このため、第2符号化部112の符号化処理が極端に低速でない限り、参照画像の必要な領域は利用可能である。CPU101は、参照画像上の必要な領域が利用可能であることを確認した後、第1符号化部102に3番目の画像の画面間符号化による符号化処理の開始を時刻t4において指示する。
CPU101は、3番目、4番目の画像に対してもマクロブロックラインの処理開始前に参照画像が利用可能であるかどうかを判定し、第1符号化部102及び第2符号化部112の処理動作を開始するタイミング(以下、処理開始タイミング)を決定する。
上記のように、CPU101は、動きベクトル探索アルゴリズムにより予め定まる動きベクトル存在範囲に基づいて、第1及び第2の各符号化部における処理開始タイミングを調整する。これにより、第1符号化部102及び第2符号化部112は、画面間符号化において連続フレームを並列符号化処理が可能になり、処理性能を高速化することができる。更に、高い符号化効率を維持して符号化することができる。
尚、H.264等の標準符号化方式における動きベクトルは、非整数画素精度で使用できることが一般的である。非整数画素の生成にはフィルタ処理が必要なため、非整数画素精度で動きベクトルを使用する際に、マクロブロックの動きベクトル探索を行うために必要な参照画像の範囲は、動きベクトルの最大値に比べて水平・垂直方向共に2〜3画素程度増加する。よって、動き予測における画像間の依存性が無くなるためには、動きベクトル存在範囲が含まれるマクロブロックライン数より1マクロブロックライン分多く、符号化処理の開始及び再開を待つ必要がある。よって、図4のタイミングチャートにおいて、非整数画素精度の動きベクトルの使用を前提とする場合、CPU101は第1符号化部102による4マクロブロックラインの符号化完了を待ってから、第2符号化部112に2番目の画像の符号化処理開始を指示する。
本実施形態では、第1符号化制御部103及び第2符号化制御部113からCPU101への割り込み通知は、各マクロブロックラインの完了時に行うとしているが、本発明はこれに限定されない。並列符号化処理の開始を早めるために、1マクロブロックが完了する度に参照画像が利用可能になっているか否かを確認し、符号化を開始することも可能である。その場合、垂直方向のみならず、水平方向の動きベクトル存在範囲を考慮する必要がある。ただし、各マクロブロックの符号化が完了する度にCPU101への割り込みが発生するため、割り込みの発生回数は大幅に増加する。
一方、CPU101への割り込みの発生回数をより少なくするために、予め定められた複数のマクロブロックライン数が完了する度にCPU101への割り込みを発生させ、符号化処理の開始が可能か否かを判断することも可能である。この場合、複数画像の並列符号化の処理開始タイミングがやや遅くなる。
上記CPU101への割り込みの発生回数は、第1符号化制御部103及び第2符号化制御部113に符号化開始前に割り込み発生回数に関する所定のレジスタ設定を行うことで調整させることが可能である。
尚、本発明で使用する画像符号化方式は、H.264に限定されず画面間予測を行ういかなる画像符号化方式も適用することが可能である。また、符号化の単位であるブロックのサイズも16×16画素のマクロブロックに限定されない。例えば、HEVC(非特許文献2参照)で規定されている32×32画素や64×64画素をブロックサイズとして使用することが可能である。
また、動きベクトル探索アルゴリズムに基づいて決定される動きベクトルの垂直方向の最大値も上記に限定されず、−512画素〜511.75画素等、より大きな最大値や、非整数画素の動きベクトルが最大値となる場合にも適用可能である。
また、本発明は特定の動きベクトル探索アルゴリズムに限定されず、動きベクトル存在範囲が予め特定される、どのような動きベクトル探索アルゴリズムにも適用することが可能である。さらに、画像グループ構造も図3で示した構成に限定されず、いかなる画面内符号化と画面間符号化の組み合わせにも本実施形態を適用することが可能である。
<実施形態2>
本実施形態に示す画像符号化装置は、レベルを用いて動きベクトル存在範囲を算出する。このレベルはH.264やHEVC等の画像符号化国際標準で一般的に使用されている、画像復号装置が復号可能なパラメータ値の範囲を示す情報である。
実施形態1の画像符号化装置は、動きベクトル探索アルゴリズムに基づいて動きベクトル存在範囲を算出していた。しかし、符号化部の動きベクトル探索アルゴリズムが開示されておらず動きベクトル存在範囲が不明である場合や、動きベクトル存在範囲が定まらないアルゴリズムが採用されている場合がある。この場合、実施形態1の構成では予め動きベクトル存在範囲を算出することができない。
そこで、本実施形態では、レベルを用いて動きベクトル存在範囲を算出し、符号化する画像符号化装置について説明する。このレベルは、符号化ストリームのヘッダに含まれる情報であるため、画像符号化装置と画像復号装置の両方で参照することが可能である。また、H.264等の画像符号化国際標準では、このレベルに基づいて、動きベクトルの垂直方向の最大値が制限されることが一般的である。
本実施形態における画像符号化装置の構成は、図1に示した実施形態1と同じ構成であるため記述を省略する。また、本実施形態におけるレベルは図5におけるレベル4、動きベクトルの垂直方向の正の最大値は255.75画素であるとする。
図5は、レベルに基づいた動きベクトルの垂直方向の最大値の例を示す表である。図5における各レベルは、復号部が復号可能な画像の最大サイズ(画像内における最大マクロブロック数で示している)と動きベクトルの巣直方向の最大値を規定している。尚、図5において、動きベクトルの最大値は正の値と負の値が規定されているが、符号化及び復号前に参照画像が利用可能か否かは、動きベクトルの正の最大値のみに依存する。このため、本実施形態では、動きベクトルの正の最大値を使用する。
図6は、図2の画像グループ構造及び符号化対象画像割り当てで符号化を行う場合のタイミングチャートを示す図である。動きベクトルの垂直方向の正の最大値である255.75に対応する18マクロブロックラインの符号化が第1符号化部102により完了するまで待ってから、第2符号化部112の動作が開始される。
また、第2符号化部112が2番目の画像の符号化を完了した時刻t5の直後においては、第1符号化部102による3番目の画像(4番目の画像にとっての参照画像)の符号化処理の進捗が十分でない。従って、CPU101は第2符号化部112に対して(第1符号化部102の符号化が完了したマクロブロックライン数が18になる)時刻t6まで待ってから、4番目の画像の符号化処理の動作開始を指示している。
上記の画像符号化装置の構成によれば、動きベクトル探索アルゴリズムからは動きベクトル存在範囲が算出できない場合でも、レベルを使用して動きベクトル存在範囲を算出することができる。よって、本実施形態においても動きベクトル存在範囲を用いて複数の符号化部による複数画像の並列符号化処理を実現することができる。尚、前述の実施形態1同様にレベルや動きベクトル存在範囲、ブロックサイズは上記に限定されない。
<実施形態3>
実施形態1における、動きベクトル探索アルゴリズムに関する情報は、一般に符号化ストリームには含まれない。よって、圧縮された符号化ストリームを入力して復号を行う画像復号装置において、動きベクトル探索アルゴリズムに基づいた動きベクトル存在範囲を算出することができない。
また、実施形態2では、画像復号装置が復号可能なパラメータ値の範囲を示すレベルを用いて動きベクトル存在範囲を算出する画像符号化装置を示した。本実施形態では、実施形態2のレベルを用いた画像符号化装置で符号化された符号化ストリームを、レベルを用いて復号する画像復号装置について示す。
図7は、本発明の実施形態3における画像復号装置を示す図である。図7の画像復号装置は、CPU701、第1復号部702及び第2復号部712、メモリバス708、メモリコントローラ709、主記憶部710、割り込みコントローラ711、レジスタバス718を有する。メモリバス708、メモリコントローラ709、主記憶部710、割り込みコントローラ711、レジスタバス718は、実施形態1における図1と同じ動作を行うため記述を省略する。
CPU701は、ユーザーの操作や外部からの動作指示に基づいて、レジスタバス718経由で第1復号制御部703及び第2復号制御部713のレジスタに、復号動作開始の指示を設定する。CPU701は、さらに第1復号制御部703及び第2復号制御部713から復号が完了したマクロブロックライン数をレジスタバス718経由で受け取る。
第1復号部702は、第1復号制御部703、ダイレクト・メモリアクセス・コントローラであるDMAC704、第1予測残差復号部705、動き補償部706、DMAC707を有する。
第1復号制御部703は、CPUからの動作開始命令を受けて内部の各処理を制御する。DMAC704は、入力である符号化ストリームを主記憶部710から読み込み、第1予測残差復号部705に出力する。
第1予測残差復号部705は、圧縮ストリームのエントロピー復号、逆直交変換及び逆量子化を行い、予測残差を復号する。復号された予測残差は、第1予測残差復号部705から動き補償部706に出力される。復号しているマクロブロックが画面内予測で符号化されている場合、復号を行った後に、動き補償部706に出力する。第1予測残差復号部705は、さらに符号化ストリームに多重化されている動きベクトルの復号も行い、動き補償部706に出力する。
動き補償部706は、第1予測残差復号部705から受け取った動きベクトルに基づいて参照画像を主記憶部710から読み込み、予測残差の動き補償を行う。動き補償が行われた復号画像は、動き補償部706からDMAC707に出力され、主記憶部710に書き込まれる。尚、動き補償部706は、復号しているマクロブロックが画面内予測で符号化されている場合、そのままDMAC707へ出力する。
動き補償部706は、動き補償処理の完了後、当該マクロブロックの復号処理が完了した旨を第1復号制御部703に通知する。
第1復号制御部703は、復号が完了したマクロブロック数をカウントする。実施形態1と同じく、各マクロブロックラインの復号が完了すると、割り込みコントローラ711経由でCPU701に割り込みを通知し、動き補償処理が完了したマクロブロックライン数をレジスタバス718経由でCPU701に伝達する。
第2復号部712の内部動作は、第1復号部702と同じであるため記述を省略する。
第1復号部702及び第2復号部712の復号処理における、レベルに基づいて決まる動きベクトル存在範囲を用いた複数フレームの並列復号処理及びCPU701との通信を図8のタイミングチャートを用いて示す。尚、本実施形態において、復号対象である符号化ストリームの画像サイズは図3と同じく1920×1088画素、レベルは図5記載のレベル4、動きベクトルの垂直方向の正の最大値は255.75画素であるとする。符号化ストリームは、実施形態1と同じく、図2の画像グループ構造で符号化が行われているものとする。第1復号部702は奇数番目の画像の復号を行い、第2復号部712は偶数番目の画像の復号を行う。
尚、本実施形態において、符号化ストリームは各画像の圧縮データにランダムアクセス可能なファイルフォーマットで構成されており、DMAC704は復号対象画像の先頭データを直接読み込むことが可能である。
CPU701からの動作開始指示に基づき、第1復号部702は時刻t1において、符号化ストリーム中の画面内符号化された1番目の画像に対して復号(画面内復号)を開始する。時刻t1において、画面間符号化された2番目の画像の復号(画面間復号)は動き補償に用いる参照画像が生成されていないため、第2復号部712は復号処理を開始することができない。第1復号部702によって画像の右端のマクロブロックラインの復号処理が完了すると、第1復号制御部703は内部のレジスタに復号が完了したマクロブロックラインの数を反映させ、割り込みコントローラ711経由でCPU701に割り込みを通知する。
CPU701は、割り込みを受け、レジスタバス718経由で復号が完了したマクロブロックラインの数を第1復号制御部703から読み込む。そして、CPU701は当該第1復号制御部703からの割り込みをクリアする。前述の通り、本実施形態において、動きベクトルの垂直方向の正の最大値は255.75画素であり、17マクロブロックラインに包含される。さらに、本実施形態においては非整数画素動きベクトルの存在を前提としており、動き補償に用いる参照画素の生成には、1マクロブロックライン多い18マクロブロックラインの復号が完了している必要がある。
図8に示すように、時刻t2において第1復号部702における復号が完了したマクロブロックライン数が18に達すると、CPU701は参照画像が利用可能になっていることを確認し、第2復号部712の復号動作の開始を指示する。
第2復号部712は、2番目の画像の画面間復号処理を行うにあたり、マクロブロックラインの復号が完了する度に、復号が完了したマクロブロックライン数をレジスタバス718経由でCPU701に伝達する。また、実施形態1と同様に、マクロブロックライン毎に処理を中断し、CPU701が次マクロブロックラインの復号にあたり参照画像が利用可能か否かを確認した後に復号処理を再開する。例えば、第2復号部712が2番目のマクロブロックラインの復号を開始するためには、第1復号部702における復号が完了したマクロブロックライン数は19に達している必要がある。
上記復号処理を画像内の全てのマクロブロックライン分繰り返す。第1復号部702は、時刻t3において1番目の画像の復号を完了する。第2復号部712は、時刻t5において2番目の画像の復号処理を完了する。尚、時刻t5において、第1復号部702による3番目の画像(4番目の画像にとっての参照画像)の復号処理の進捗が十分でない。従って、CPU701は第2復号部712による4番目の画像の復号処理動作を(第1復号部702の復号が完了したマクロブロックライン数が18になる)時刻t6まで遅延させてから開始する。
上記のように、本実施形態の画像復号装置において、符号化ストリームのヘッダに含まれるレベルに基づいて動きベクトル存在範囲を特定し、第1及び第2の各復号部における処理開始タイミングを調整する。結果として、複数の復号部においても複数画像の並列復号処理を実現することが可能であり、処理速度を大幅に向上させることが可能である。また、動きベクトル探索アルゴリズムに依存せず、どのような符号化ストリームの復号にも適用することが可能である。
尚、レベルの値や動きベクトルの垂直方向の最大値は上記に限定されず、どのような値の場合でも本実施形態の構成を適用することが可能である。また画像グループ構造も上記に限定されない。
さらに、動きベクトルの垂直方向の最大値がレベルのみならず、復号部が復号可能な処理の組み合わせを示すプロファイルにも依存する場合にも本実施形態は適用可能である。レベル及びプロファイルに基づいて動きベクトル存在範囲を算出し、算出された動きベクトル存在範囲に基づいて、第1及び第2の各復号部の処理開始タイミングを調整することで、複数画像の並列復号処理を実現することができる。また、動きベクトルの垂直方向の最大値がレベルに依存せず、固定の値として定められている符号化方式の場合にも、当該固定値を動きベクトル存在範囲として使用することで本実施形態の構成を適用することが可能である。
<実施形態4>
実施形態1及び2では、図2に示すように、参照画像を1枚使用する画面間符号化を使用した画像グループ構造について符号化を行う画像符号化装置を示したが、本発明は図2の画像グループ構造に限定されない。
図9は、参照画像を2枚使用する双方向画面間符号化を用いた画像グループ構造で符号化を行う画像符号化装置について示す図である。尚、画面内符号化を行う画像は、1番目、16番目とする。入力順序が4番目、7番目、等の画像は、参照画像が1枚の画面間符号化を行い、図9においてP4、P7と表記する。一方、入力順序が2番目、3番目の画像は、参照画像を2枚使用する双方向画面間符号化により符号化を行い、B2、B3と表記する。この双方向画面間符号化は、時間軸上において過去と未来の2枚の画像を使用するため、画像の入力順序と符号化順序が異なる。主記憶部110は、符号化順序を入れ替えるために、入力された画像を複数枚記録しておく必要がある。尚、図9において、I1、B2等の表示の下部に括弧付きの数字で符号化順序を示している。
また、本実施形態の双方向画面間予測においては、参照画像として画面内符号化した画像、画面間符号化した画像及び双方向画面間符号化した画像いずれも使用可能である。例えば、図9における画像B3は画像B2と画像P4の2枚を参照画像としている。
図9の画像グループ構造において、第1符号化部102は符号化順序が奇数番目の画像の符号化を行い、第2符号化部112は符号化順序が偶数番目の画像の符号化を行うとする。この場合にもタイミングチャートは図6と同様になる。ただし、3番目及び4番目の画像は画面間符号化ではなく、双方向画面間符号化を行う。尚、本実施形態におけるレベルは、図5におけるレベル4、動きベクトルの垂直方向の正の最大値は255.75画素であるとする。以下、図1を用いて本実施形態における画像符号化装置について説明する。
CPU101は、時刻t1において第1符号化部102に画像I1の画面内符号化の動作開始を指示する。さらに、CPU101は、第1符号化部102が18マクロブロックラインの符号化処理を完了した時刻t2において、第2符号化部112に画像P4の画面間符号化の動作開始を指示する。
CPU101は、第1符号化部102によるI1の符号化が時刻t3において完了した後、第2符号化部112による画像P4の符号化が18マクロブロックライン以上進んでいることを確認する。確認後、CPU101は時刻t4において、第1符号化部102に画像B2の双方向画面間符号化の動作開始を指示する。ここで、画像B2にとっての参照画像は画像I1及び画像P4の両方であるが、画像I1は符号化が完了していることが明らかであるため、CPU101は画像I1の処理状況の確認は行わない。しかしながら、画像符号化装置内部における符号化部の数が2以上の時には、画像I1についても符号化処理が完了したマクロブロックライン数を確認する必要がある。
画像P4の符号化が時刻t5において完了後、CPU101は第1符号化部102による画像B2の符号化が完了したマクロブロックライン数を確認する。CPU101は、第1符号化部102による画像B2の符号化が18マクロブロックライン以上完了し、参照画像が利用可能であることを確認後、第2符号化部112に画像B3の双方向画面間符号化の動作開始を指示する。尚、もう一方の参照画像である画像P4は符号化処理が完了していることが明らかであるため、CPU101は画像P4の処理状況の確認は行わない。しかしながら、画像符号化装置内部における符号化部の数が2以上の時には、画像P4についても符号化処理が完了したマクロブロックライン数を確認する必要がある。
本実施形態は上記のように、双方向画面間符号化を含む画像グループ構成で符号化を行う場合にも容易に適用することが可能であり、複数画像の並列符号化処理を行うことを可能とする。
また、本実施形態は参照画像を2枚使用して復号する双方向画面間復号を行う復号部を複数備え、複数画像を並列復号処理する画像復号装置にも適用することが可能である。
<実施形態5>
本実施形態では、動きベクトル存在範囲として画像符号化におけるスライスまたはタイルを用いて、複数の符号化部による並列符号化処理を行う画像符号化装置の構成について示す。
H.264においては、画像をマクロブロック毎のラスタ・スキャン順に複数の領域に分割し、各領域を独立に符号化もしくは復号する、スライスという技術が採用されている。HEVCにおいては、画像を複数の矩形領域に分割し、同じく独立に符号化もしくは復号する、タイルという技術が採用されている。図10(a)にスライスの例を、図10(b)にタイルの例を示す。
本実施形態における動きベクトル探索は、スライス及びタイル境界を動きベクトル存在範囲とする。また、スライス及びタイルの垂直サイズは、符号化ストリームのヘッダ情報から算出することが可能である。このため、符号化部及び復号部の両方において、スライス及びタイルの垂直サイズは既知の情報として扱う。
本実施形態において、図1の画像符号化装置を用いて説明する。CPU101は、外部から設定される各スライスの開始アドレス等に基づいて、符号化処理開始前に第1符号化部102及び第2符号化部112において符号化で使用するスライスの垂直サイズを算出する。
CPU101は、第1符号化部102に画面内符号化の動作開始を指示した後、第1符号化部102から割り込みコントローラ111で伝達される、符号化が完了したマクロブロックライン数を確認する。第1符号化部102による符号化が完了したマクロブロックライン数が、第2符号化部112による符号化で使用するスライスの垂直サイズを超えた場合は、参照画像が利用可能であることを意味する。CPU101は、参照画像が利用可能になったことを確認した後、第2符号化部112に画面間符号化の画面内符号化の動作開始を指示する。
また、画像の分割としてスライスの代わりにタイルを使用する場合にも、上記スライスと同様の構成により複数画像の並列符号化処理を実現することができる。CPU101には、符号化処理開始前に外部からタイルのサイズもしくはタイルの分割数が設定される。CPU101は、第1符号化部102及び第2符号化部112における符号化が完了したマクロブロックライン数と、タイルの垂直サイズを照らし合わせことにより符号化部への動作開始を指示する処理開始タイミングを決定する。
本実施形態は上述したように、符号化ストリームのヘッダに含まれる情報から算出可能である、スライス及びタイルの垂直サイズから動きベクトル存在範囲を算出することで、複数画像の並列符号化処理を実現することができる。本実施形態は、動き探索アルゴリズムが不明である場合もしくは動きベクトル存在範囲が定まらない場合に、符号化部を用いて複数画像を並列符号化処理する画像符号化装置に特に有効である。
また、本実施形態は、複数の復号部を使用して複数画像を並列復号処理する画像復号装置にも適用することが可能である。
<実施形態6>
本発明において画像符号化装置内部の符号化部の数には制限は無く、M(Mは2以上の任意の正の整数)個の符号化部を使用することが可能である。本実施形態は、M=4とし、かつ符号化部間の通信方法として直接接続を使用する画像符号化装置を示す。
図11は、本実施形態における画像符号化装置を示す図である。図11におけるCPU1101、メモリバス1106、メモリコントローラ1107、主記憶部1108、割り込みコントローラ1109、レジスタバス1110は、図1及び実施形態1と同じ動作を行うため記述を省略する。第1符号化部1102、第2符号化部1103、第3符号化部1104及び第4符号化部1105は、図11においては符号化制御部のみを示しているが、内部構成は図1の符号化部と同じである。
本実施形態のように符号化部が複数個ある場合、第1から第4の各符号化部(1102〜1105)がマクロブロックラインの符号化完了時にCPU1101に割込みを通知すると、CPU1101が受け取る割り込みの数が符号化部数に比例して増大してしまう。CPU101が複数の割り込み通知を受けると、CPU101による第1から第4の各符号化部(1102〜1105)の動作開始指示に遅延が発生し、画像符号化装置全体の処理性能が低下するというデメリットがある。本実施形態は、符号化部の数が増加しても、CPU1101への割り込みを増加させることのない画像符号化装置について示す。
本実施形態は、図2に示す画像グループ構造で符号化を行い、以下の分担で各画像の符号化を行う(Nは任意の正の整数である)。
第1符号化部1102: 1番目、5番目、9番目、(略)、(4N−3)番目
第2符号化部1103: 2番目、6番目、10番目、(略)、(4N−2)番目
第3符号化部1104: 3番目、7番目、11番目、(略)、(4N−1)番目
第4符号化部1105: 4番目、8番目、12番目、(略)、(4N)番目
本実施形態において、M個の符号化部を使用して複数画像の符号化を行う場合、第1から第4の各符号化部は符号化処理が完了したマクロブロックライン数を信号で出力する。iを1以上、かつM以下の整数とすると、前記マクロブロックラインの出力信号は、i番目の符号化部が局所復号で生成した画像を動き予測における参照画像として使用する符号化部(複数の場合もある)に直接接続される。
例えば、図2に示す画像グループ構造で符号化を行う場合、図11における第2符号化部1103が動き予測に使用する参照画像は、第1符号化部1102の局所復号により生成される。よって、図11において、第1符号化部1102の符号化処理が完了したマクロブロックライン数を示す出力信号は、第2符号化部1103の入力信号として直接接続される。同様に、図11における第4符号化部1105のマクロブロックライン数を示す出力信号は、第1符号化部1102の入力信号として直接接続される。よって、図2の画像グループ構造で符号化を行う場合、結果的に符号化部間のマクロブロックライン数を示す信号は、図11に示すようにリング状に接続される。
図12のタイミングチャートを用いて本実施形態の画像符号化装置の動作について説明する。尚、本実施形態の第1から第4の各符号化部(1102〜1105)における動き探索アルゴリズムに基づいた動きベクトル存在範囲は、−32画素〜31.75画素であるとする。また、第1から第4の各符号化部(1102〜1105)における動きベクトル存在範囲は、内部の第1符号化制御部1112、第2符号化制御部1113、第3符号化制御部1114、第4符号化制御部1115が夫々符号化処理開始前に算出するものとする。
図12の時刻t1において、第1符号化部1102内の第1符号化制御部1112は、CPU101からの動作開始指示に基づき画面内符号化による1番目の画像の符号化を開始する。
画面間符号化を行う第2符号化部1103、第3符号化部1104及び第4符号化部1105内部の第2から第4の各符号化制御部(1113〜1115)は、符号化が完了したマクロブロックライン数を示す信号のポーリング(読み出しの繰り返し)を行う。ここで、符号化が完了したマクロブロックライン数を示す信号とは、参照画像を生成している符号化部から入力される信号のことである。上述のように、動きベクトルの正の最大値は31.75画素であり、31.75画素を含む動きベクトル存在範囲は3マクロブロックラインである。さらに、非整数画素動きベクトルでは32画素以上の参照画素を使用して非整数画素を生成することを考慮して、第1から第4の各符号化制御部(1112〜1115)は4マクロブロックラインの符号化処理(参照画素生成)の完了を待つ。よって、参照画像が利用可能であることを保証することができる。
図12の第2符号化部1103、第3符号化部1104及び第4符号化部1105内部の第2から第4の各符号化制御部(1113〜1115)は、参照画像を生成している符号化部から入力されるマクロブロックライン数が4になる時刻t2、t3、t4まで待つ。そして、第2から第4の各符号化制御部(1113〜1115)は、符号化処理を開始している。
さらに、第1から第4の各符号化部(1102〜1105)内の第1から第4の各符号化制御部(1112〜1115)は、符号化が完了したマクロブロックを夫々カウントし、1マクロブロックラインの処理が完了すると内部の符号化処理を中断する。第1から第4の各符号化制御部(1112〜1115)は、符号化処理を中断後、次に符号化を行うマクロブロックの参照画像が利用可能であるか否かを、前記マクロブロックライン数の入力信号から逐次判断する。そして、第1から第4の各符号化制御部(1112〜1115)は、次に符号化を行うマクロブロックの参照画像が利用可能であると判断した場合、後続のマクロブロックラインの符号化処理を再開する。例えば、図12において、2番目のマクロブロックラインの符号化は、参照画像を生成している符号化部における、符号化が完了したマクロブロックライン数が5になっている必要がある。また、5番目の画像に対して画面間予測を行う第1符号化部1102も他の各符号化部(1103〜1105)と同様に、第4符号化部1105における符号化が完了したマクロブロックライン数が4になったことを確認し、時刻t5に置いて符号化処理を開始する。
第1から第4の各符号化部(1102〜1105)内の第1から第4の各符号化制御部(1112〜1115)は、画像内の全マクロブロックラインについて上記処理を繰り返す。
また、第4符号化部1105は各画像の全マクロブロックラインの符号化処理が完了すると、割り込みコントローラ1109を介してCPU1101に割り込みを通知する。画像符号化装置全体としては、画像4枚の符号化が完了する度にCPU1101に割り込みを1回通知することになり、CPU1101への割り込み回数を増やさずに符号化処理の状況を通知することが可能である。
上記のように、M個の符号化部を備えた画像符号化装置においても、動きベクトル存在範囲に基づいて処理開始タイミングを決定することで、M枚の画像の並列符号化処理を実現することができ、処理性能を高速化することができる。本実施形態において、時間軸上で隣接した画像を参照画像とすることにより、高い符号化効率を維持した並列処理が可能である。
また、本実施形態は上述した信号の直接接続に限定されず、例えばレジスタバス1110により符号化が完了したマクロブロックライン数を伝達することで、並列符号化処理を実現することも可能である。尚、レジスタバス1110により本実施形態の構成を実現する場合は、第1から第4の各符号化部(1102〜1105)がレジスタバス1110のマスタインターフェースを備える必要がある。尚、スレーブインターフェースは、図11等に記載されている既存のものを流用可能である。
尚、本実施形態における符号化部の個数は上記に限定されず、2個以上のいかなる整数個でも使用することが可能である。尚、符号化部の個数が2個である場合、上述したマクロブロックライン数を示す信号の直接接続は、2つの符号化部間で双方向に接続されることとなる。
また、本実施形態の画像符号化装置においては、画面間予測のみならず図9で示した双方向画面間符号化を用いた画像グループ構造を使用することも可能である。双方向画面間符号化において各符号化部は参照画像を2枚使用するが、符号化部の数が3以上の場合は2枚の参照画像も異なる二つの符号化部において並列に生成される。各符号化部は2枚の参照画像両方について、符号化が完了したマクロブロックライン数を確認する必要があるため、マクロブロックライン数を示す信号線を2本入力信号とする。
各符号化部の各符号化制御部は2本の信号線が示す数値の両方が、動きベクトル存在範囲を超えたことを確認してから、双方向画面間符号化を開始する。画像内の各マクロブロックライン処理の符号化を開始するにあたっても、同様に逐次2つのマクロブロックライン数の確認を行う必要がある。
本発明は上記に限定されず、マクロブロックライン数を信号線の直接接続により伝達する方法は、実施形態2のような画像復号装置にも適用することが可能である。また、実施形態2〜4に示した動きベクトル存在範囲の算出に符号化及びレベルを使用する方法や、実施形態5に示したように、スライスやタイルのサイズに基づいて各符号化部が動作を開始する構成にも本実施形態は適用可能である。
さらに、H.264等は、画面間符号化において、同一画像内の各マクロブロックにおける動きベクトルが夫々異なる画像を参照画像とすることが可能である。このように画面間符号化において複数の画像を参照画像とする場合には、前記画像符号化部には参照画像の枚数分毎に、符号化が完了したマクロブロックライン数を示す信号を夫々入力として接続する必要がある。
また、本実施形態において、符号化処理が完了したマクロブロックライン数を異なる符号化部に伝達している。しかしながら、例えば各符号化部に異なる符号化部の動きベクトル存在範囲を予め設定し、各符号化部が異なる符号化部に処理を開始する構成も可能である。その場合、符号化部間はマクロブロックライン数を示す信号ではなく、動作開始を示す信号を入力して接続される。また、動作開始指示はレジスタバス1110により伝達することも可能である。
<実施形態7>
HEVCでは、動きベクトルを予測符号化するにあたり、適応動きベクトル予測技術が採用されている。この適応動きベクトル予測技術では、同一画像内で使用された動きベクトルに加え、時間軸上において異なる画像で使用された動きベクトルを参照動きベクトルの候補群とする。本実施形態においては、符号化部間で直接接続されたインターフェースにより、時間軸上において異なる画像の動きベクトルを直接伝達することで、適応動きベクトル予測と複数画像の並列符号化の両方を実現する構成について示す。尚、本実施形態はHEVCにおける符号化ブロック単位で符号化を行うものとし、この符号化ブロックのサイズは16×16画素、32×32画素、64×64画素のいずれも使用することが可能である。下記説明における符号化ブロックは実施形態1〜6におけるマクロブロックに、符号化ブロックラインはマクロブロックラインに相当する。
図13は、本実施形態の画像符号化装置を示す図である。第1符号化部1302及び第2符号化部1312内にある、第1符号化制御部1303及び第2符号化制御部1313、第1動き予測部1305及び第2動き予測部1315以外は、実施形態1と同じ動作を行うため記述を省略する。また、図13において、第1符号化制御部1303及び第2符号化制御部1313は、動きベクトルを蓄えることが可能な第1FIFO1319及び第2FIFO1320を備えた直接接続インターフェースにより夫々接続されている。
本実施形態の第1符号化部1302において、第1動き予測部1305は、第1予測残差符号化及び局所復号部1306と第1符号化制御部1303の両方に、探索した動きベクトルを出力する。第1符号化制御部1303は、第1予測残差符号化及び局所復号部1306における当該符号化ブロックの処理が完了したことを確認してから、第1動き予測部1305から受け取った動きベクトルを第1FIFO1319に出力する。尚、第1符号化部1302が画面内符号化により符号化を行う場合には、第1符号化制御部1303は動きベクトルが有効でないことを示すデータを第1FIFO1319に出力する。また、HEVCでは、同一画像内において異なる符号化ブロックのサイズを使用することが可能であるため、第1符号化制御部1303は動きベクトルに符号化ブロックサイズの情報を付加して第1FIFO1319に出力する。
第2符号化部1312の第2符号化制御部1313は、画面間符号化を行うにあたり、第1FIFO1319から第1符号化部1302で探索された動きベクトル及び符号化ブロックサイズを受け取る。第2符号化制御部1313は、動きベクトル及び符号化ブロックサイズを受け取った回数に基づいて、第1符号化部1302における符号化ブロックライン数を認識することが可能である。第2符号化制御部1313は、符号化が完了した符号化ブロックライン数と、レベル等により決まる第2符号化部1312の動きベクトル存在範囲(符号化ブロックライン数に変換したもの)を比較する。比較結果から、第2符号化制御部1313は、前述の実施形態1〜6と同様に参照画像が利用可能である否かを判定し、画面間符号化における各符号化ブロックラインの符号化の処理開始タイミングを決定することができる。
さらに、第2符号化制御部1313は、第1FIFO1319から受け取った動きベクトルを参照動きベクトルの候補として第2予測残差符号化及び局所復号部1316へ出力する。
第2予測残差符号化及び局所復号部1316は、第2動き予測部1315から受け取った動きベクトルを予測符号化する。第2予測残差符号化及び局所復号部1316は、当該動きベクトルを予測符号化するにあたり、同一画像内の隣接ブロックにおける動きベクトルと第2符号化制御部1313から受け取った動きベクトルを参照動きベクトルの候補群とする。第2予測残差符号化及び局所復号部1316は、前記参照動きベクトル候補群の中から、最も動きベクトルを予測符号化した時の符号量が少なくなる動きベクトルを参照動きベクトルとして決定する。第2予測残差符号化及び局所復号部1316は、前記参照動きベクトルを用いて動きベクトルの予測符号化を行い、予測符号化した動きベクトルを符号化ストリームに多重化する。
尚、第2予測残差符号化及び局所復号部1316は、第2符号化制御部1313から受け取った動きベクトルが有効でないデータの場合、当該動きベクトルを参照動きベクトルの候補から除外する。
第2符号化制御部1313は、符号化処理開始後、第2動き予測部1315において探索された動きベクトル及び符号化のブロックサイズを第2FIFO1320に出力することで、第1符号化制御部1303に伝達する。第1符号化制御部1303は、第2FIFO1320から動きベクトル及び符号化ブロックサイズを受け取った回数に基づいて、第2符号化部1312における符号化が完了した符号化ブロックライン数を把握できる。第1符号化制御部1303は、当該符号化ブロックラインと動きベクトル存在範囲(符号化ブロックライン数に変換したもの)を比較することで、参照画像が利用可能であるか否かを判定する。そして、第1符号化制御部1303は画面間符号化における各符号化ブロックラインの処理開始タイミングを決定することができる。
上記のように、本実施形態では、時間の異なる画像の符号化で使用された動きベクトルを、FIFOを備えて直接接続されたインターフェース経由で符号化部間に直接伝達させる。当該動きベクトルは、複数符号化部における処理開始タイミングの決定及び動きベクトルの予測符号化の両方で使用することができる。結果として、冗長な情報伝達を避けることができ、複数画像の並列符号化による処理性能を十分向上させることが可能である。また、符号化部間における動きベクトルを、主記憶部ではなく直接接続されたインターフェースを用いて直接伝達することで、主記憶部の使用帯域を削減できるという効果も有する。
尚、HEVCでは、H.264のように各符号化ブロックに複数の動きベクトルを定義することが可能である。その場合、ブロックあたりの動きベクトル数に基づいて、動きベクトルを受け取った回数に重みづけしてカウントすることにより対応可能である。例えば、符号化ブロック内に動きベクトルが1本存在する場合、動きベクトル数を1としてカウントし、動きベクトルが4本存在する場合には動きベクトル数を0.25としてカウントすることで、上記同様に符号化処理の進捗を把握することが可能である。
また、本実施形態において、第1符号化制御部1303及び第2符号化制御部1313は、第1FIFO1319及び第2FIFO1320から受け取った動きベクトルを第1動き予測部1305及び第2動き予測部1315に送っても良い。これにり、第1動き予測部1305及び第2動き予測部1315は、動きベクトルの予測符号化で発生する符号量を考慮して、動きベクトル探索を行うことが可能である。
本実施形態では、上記のように画像符号化装置について示したが、画像復号装置についても同様の構成は適用可能である。例えば、図7に示した画像復号装置の場合、FIFOを備えたインターフェースで第1及び第2の各復号部(702及び712)内の第1復号制御部703及び第2復号制御部713の間を直接接続する。第1予測残差復号部705及び第2予測残差復号部715が復号した動きベクトルを直接接続したインターフェース経由で直接伝達することで、画像復号装置においても本実施形態の構成を実現することが可能である。結果として、動きベクトルの復号を行いながら複数画像の並列復号を実現し、復号処理の高速化及び主記憶部の使用帯域の削減することが可能である。
また、3個以上の符号化部もしくは復号部を備えた構成や、動きベクトル情報をCPUからのレジスタアクセスにより符号化部もしくは復号部間で直接伝達する等、前述した全ての実施形態と組み合わせることが可能である。
<実施形態8>
本発明はソフトウェア・プログラムとしても実現することが可能であり、マルチスレッド・プログラムで複数画像の並列符号化処理を行う構成を本実施形態で示す。マルチスレッド・プラグラムにおいて複数画像の並列符号化を行うために、符号化スレッド間では符号化が完了したマクロブロックライン数を共有する必要がある。本実施形態では、セマフォにより排他制御された共有メモリで、符号化が完了したマクロブロックライン数を伝達し、複数の符号化スレッドによる複数画像の並列符号化を行う。本実施形態において、セマフォは、符号化が完了したマクロブロックライン数を複数の符号化スレッド書き込むタイミングを同期制御するために用いられる。
複数の画像を複数の符号化スレッドにより並列符号化処理する(各スレッドが異なる画像を符号化する)場合の、1枚の画像を符号化するスレッドのフローチャートを図14、15及び図16に示す。尚、本実施形態は、実施形態2と同じく16×16画素のマクロブロック単位で符号化を行い、レベルに基づいて動きベクトル存在範囲を算出することでマクロブロックライン毎の処理開始タイミングを適応的に決定する。
ステップS1401において、符号化に使用するレベルを外部から読み込む。
ステップS1402において、画像を画面内予測で符号化するか画面間予測で符号化するかを含む符号化パラメータを外部から読み込む。
ステップS1403において、処理対象画像を画面内符号化する場合にはステップS1412に、画面間符号化もしくは双方向画面間符号化する際にはステップ1404に進む。
ステップS1404において、動きベクトル存在範囲として、ステップS1401で取得したレベルに対応する動きベクトルの垂直方向の正の最大値を入力する。
ステップS1405において、参照画像を生成している外部の符号化スレッドにおける符号化処理が完了したマクロブロックライン数を、セマフォを介して共有メモリ上から入力する。
ステップS1406において、ステップS1405で入力したマクロブロックライン数と、ステップS1404で入力した動きベクトルの垂直方向の正の最大値を以下の式により比較する。尚、下記の式において、除算は丸め無し(切り捨て)であり、かつ非整数画素の生成のために1マクロブロックが余分に必要となるため等号無しの不等号となっている。但し、整数画素動きベクトルのみの存在を前提とするならば、下記の式は等号付き不等号となる。
符号化が完了したマクロブロックライン数 >(動きベクトル垂直方向最大値/16+1)ステップS1406において、上記条件が成立すればマクロブロックラインを画面間符号化するための参照画像が利用可能であるとしてステップS1407に進む。そして、上記条件が成立しなければステップS1405に戻ることでマクロブロックラインの符号化処理の開始を遅延させる。
ステップS1407において、1マクロブロック分の入力画像と参照画像を読み出し、動き探索を行って符号化で使用する動きベクトルを決定する。決定した動きベクトルを使用して動き予測を行い、予測残差を算出する。
ステップS1408において、マクロブロックの予測残差の符号化処理及び動きベクトルの予測符号化処理を行い、符号化ストリームを出力する。この予測残差の符号化処理は実施形態1と同様に直交変換、量子化及びエントロピー符号化により行われる。また、ステップS1408において局所復号も行い、参照画像を生成する。
ステップS1409において、画像の右端のマクロブロックの符号化処理が完了したか否かを判定し、完了していなければステップS1407に戻り、1マクロブロックラインに達するまでステップS1407〜ステップS1408を繰り返す。1マクロブロックラインの符号化処理が完了するとステップS1410に進む。
ステップS1410において、1マクロブロックラインの符号化処理完了に伴い、符号化処理が完了したマクロブロックライン数を、セマフォを介して共有メモリ上に出力する。
ステップS1411において、画像内の全マクロブロックラインの符号化処理が完了したか否かを判定し、完了していなければステップS1405に戻り、完了していれば1画像の符号化を完了する。
ステップS1412〜ステップS1414において、1マクロブロックライン分の画面内符号化、予測残差符号化及び局所復号を実施形態1と同様に行う。画面内符号化において、画像間の依存性が無いため、セマフォを使用した処理が完了したマクロブロックライン数の入力は行わない。
ステップS1415において、1マクロブロックラインの符号化処理完了に伴い、他のスレッドに参照画像生成の進捗を伝達するために処理が完了したマクロブロックライン数を、セマフォを使用して出力する。
ステップS1416において、画像内の全マクロブロックライン数が完了したか否かを判定し、完了していなければステップS1412に戻り、完了していれば1画像の符号化を完了する。
図15は、図14のステップS1405で示した、外部符号化スレッドにおける符号化処理が完了したマクロブロックライン数を、セマフォを介して共有メモリから入力するフローチャートである。
ステップS1501において、共有メモリにアクセスするためのセマフォ獲得命令を発行する。
ステップS1502において、セマフォが獲得できていればステップS1503に進み、(他のスレッドがアクセス中との理由により)セマフォが獲得できなければステップS1501に戻る。
ステップS1503において、共有メモリから外部符号化スレッドにおける符号化が完了したマクロブロックライン数を取得して、参照画像の生成状況を入力する。
ステップS1504において、セマフォを解放し、他のスレッドが共有メモリにアクセスできるようにする。
図16は、図14のステップS1410及びS1415で示した、セマフォを介して符号化が完了したマクロブロックライン数を共有メモリに出力するフローチャートである。本実施形態において、図16は、自らの符号化スレッドで生成した参照画像の生成状況を他の符号化スレッドに伝達するために用いられる。
ステップS1601において、共有メモリにアクセスするためのセマフォ獲得命令を発行する。
ステップS1602において、セマフォが獲得できていればステップS1603に進み、(他のスレッドがアクセス中との理由により)セマフォが獲得できなければステップS1601に戻る。
ステップS1603において、自らの符号化スレッドで符号化が完了したマクロブロックライン数を共有メモリに記録する。
ステップS1604において、セマフォを解放し、他のスレッドが共有メモリにアクセスできるようにする。
上記のように、マルチスレッド・プログラムを用いた複数画像の並列符号化処理において、セマフォにより排他制御された共有メモリ上は、符号化スレッド間で符号化が完了したマクロブロックライン数を共有する。結果として、各符号化スレッドにおける参照画像が利用可能であることを保証できる。本マルチスレッド・プログラムの各符号化スレッドをマルチコアCPU上の異なるコア上で実行することにより、複数画像の並列符号化処理を高速化させることが可能となる。
尚、図14のフローチャートは簡易化のため、画面間符号化する際には画像中の全てのマクロブロックは画面間予測して符号化するとしているが、本発明はこれに限定されない。また、画面間符号化する際に画像内の一部のマクロブロックを画面内符号化することも可能である。
本発明は、復号スレッド・プログラムに適用が可能であることをはじめ、前記実施形態1〜7のいずれの形態もソフトウェア・プログラムとして実現することが可能である。マルチスレッドのスレッド数は上記に限定されず、M(Mは2以上の任意の整数)スレッドとして実現することが可能である。さらに、上記共有メモリの排他制御はセマフォに限定されず、同等の機能を備えるミューテックス等により実現することも可能である。
<その他の実施形態>
実施形態1〜8では、符号化の対象画像を画面間符号化するための参照画像の一部であって、当該対象画像の最初の処理対象ブロックの動きベクトル存在範囲に相当する部分の処理が完了した場合に、当該対象画像の処理対象ブロックの処理を開始するとした。しかしながら、本発明はこれに限定されない。すなわち、当該対象画像の最初の処理対象ブロックの動きベクトル存在範囲に相当する部分の処理が完了した後、所定時間後に当該対象画像の最初の処理ブロックの処理を開始してもよい。尚、この場合、動きベクトル存在範囲に相当する部分の処理が終了した後に限らず、垂直方向の動きベクトル存在範囲に基づく所定のマクロブロックライン分の処理が終了した後としても良い。また、スライス及びタイルのサイズに基づいて算出した動きベクトル存在範囲の処理が終了した後でも構わない。
また、前述した実施形態1〜8では、複数の符号化部を有する画像符号化装置及び複数の復号部を有する画像復号装置について説明したが、以下の形態で実現しても構わない。すなわち、実施形態1〜8における画像符号化装置及び画像復号装置を、画像符号化システム及び画像復号システムとして実行する。この場合、例えば図1において、第1符号化部及び第2符号化部を独立した2つの画像符号化装置として、図1全体を2つの画像符号化装置を有する画像符号化システムとして実現しても良い。
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。

Claims (11)

  1. 時間軸上に連続する複数の画像を符号化する画像符号化装置であって、
    前記複数の画像のうちN番目の画像を符号化する第1の符号化手段と、
    前記N番目の画像を参照することにより、当該N番目の画像と連続するN+1番目の画像を符号化する第2の符号化手段と、
    前記第1の符号化手段及び第2の符号化手段の処理開始タイミングを制御する制御手段と
    を備え、
    前記制御手段は、前記N番目の画像の一部分であって、前記N+1番目の画像の最初の処理対象ブロックの動きベクトル存在範囲に相当する部分の処理が完了した後に、第2の符号化手段による前記最初の処理対象ブロックの処理の開始を指示することを特徴とする画像符号化装置。
  2. 前記第1の符号化手段により処理されたブロックライン数を記録する記録手段
    を更に備え、
    前記制御手段は、前記記録手段により記録されたブロックライン数が動きベクトル存在範囲の垂直方向に相当するブロックライン数を記録した後に、第2の符号化手段による処理の開始を指示することを特徴とする請求項1に記載の画像符号化装置。
  3. 前記第2の符号化手段は、前記最初の処理対象ブロックの動きベクトルに基づいて符号化を行い、
    前記動きベクトル存在範囲は、前記動きベクトルを探索する際に参照する前記N番目の画像の範囲に基づいて決定されることを特徴とする請求項1または請求項2に記載の画像符号化装置。
  4. 前記動きベクトル存在範囲は、前記第1の符号化手段及び第2の符号化手段により符号化された符号化ストリームを入力として復号を行う、画像復号装置が復号可能なパラメータ値の範囲であるレベルに基づいて決定されることを特徴とする請求項1または請求項2に記載の画像符号化装置。
  5. 時間軸上に連続する複数の画像を復号する画像復号装置であって、
    前記複数の画像のうちN番目の画像を復号する第1の復号手段と、
    前記N番目の画像を参照することにより、当該N番目の画像と連続するN+1番目の画像を復号する第2の復号手段と、
    前記第1の復号手段及び第2の復号手段の処理開始タイミングを制御する制御手段と
    を備え、
    前記制御手段は、前記N番目の画像の一部分であって、前記N+1番目の画像の最初の処理対象ブロックの動きベクトル存在範囲に相当する部分の復号が完了した後に、第2の復号手段による前記最初の処理対象ブロックの復号の開始を指示することを特徴とする画像復号装置。
  6. 時間軸上に連続する複数の画像を符号化する画像符号化システムであって、
    前記複数の画像のうちN番目の画像を符号化する第1の符号化手段と、
    前記N番目の画像を参照することにより、当該N番目の画像と連続するN+1番目の画像を符号化する第2の符号化手段と、
    前記第1の符号化手段及び第2の符号化手段の処理開始タイミングを制御する制御手段と
    を備え、
    前記制御手段は、前記N番目の画像の一部分であって、前記N+1番目の画像の最初の処理対象ブロックの動きベクトル存在範囲に相当する部分の処理が完了した後に、第2の符号化手段による前記最初の処理対象ブロックの処理の開始を指示することを特徴とする画像符号化システム。
  7. 時間軸上に連続する複数の画像を復号する画像復号システムであって、
    前記複数の画像のうちN番目の画像を復号する第1の復号手段と、
    前記N番目の画像を参照することにより、当該N番目の画像と連続するN+1番目の画像を復号する第2の復号手段と、
    前記第1の復号手段及び第2の復号手段の処理開始タイミングを制御する制御手段と
    を備え、
    前記制御手段は、前記N番目の画像の一部分であって、前記N+1番目の画像の最初の処理対象ブロックの動きベクトル存在範囲に相当する部分の処理が完了した後に、第2の復号手段による前記最初の処理対象ブロックの処理の開始を指示することを特徴とする画像復号システム。
  8. 時間軸上に連続する複数の画像を符号化する画像符号化方法であって、
    前記複数の画像のうちN番目の画像を符号化する第1の符号化工程と、
    前記N番目の画像を参照することにより、当該N番目の画像と連続するN+1番目の画像を符号化する第2の符号化工程と、
    前記第1の符号化工程及び第2の符号化工程の処理開始タイミングを制御する制御工程と
    を備え、
    前記制御工程は、前記N番目の画像の一部分であって、前記N+1番目の画像の最初の処理対象ブロックの動きベクトル存在範囲に相当する部分の処理が完了した後に、第2の符号化工程による前記最初の処理対象ブロックの処理の開始を指示することを特徴とする画像符号化方法。
  9. 時間軸上に連続する複数の画像を復号する画像復号方法であって、
    前記複数の画像のうちN番目の画像を復号する第1の復号工程と、
    前記N番目の画像を参照することにより、当該N番目の画像と連続するN+1番目の画像を復号する第2の復号工程と、
    前記第1の復号工程及び第2の復号工程の処理開始タイミングを制御する制御工程と
    を備え、
    前記制御工程は、前記N番目の画像の一部分であって、前記N+1番目の画像の最初の処理対象ブロックの動きベクトル存在範囲に相当する部分の処理が完了した後に、第2の復号工程による前記最初の処理対象ブロックの処理の開始を指示することを特徴とする画像復号方法。
  10. コンピュータが読みだして実行することにより、前記コンピュータを請求項1に記載の画像符号化装置として機能させることを特徴とするプログラム。
  11. コンピュータが読みだして実行することにより、前記コンピュータを請求項3に記載の画像復号装置として機能させることを特徴とするプログラム。
JP2012165945A 2012-07-26 2012-07-26 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム Active JP5995583B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012165945A JP5995583B2 (ja) 2012-07-26 2012-07-26 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム
US13/949,801 US9392278B2 (en) 2012-07-26 2013-07-24 Image encoding or decoding apparatus, system, method, and storage medium for encoding or decoding a plurality of images in parallel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012165945A JP5995583B2 (ja) 2012-07-26 2012-07-26 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014027462A true JP2014027462A (ja) 2014-02-06
JP5995583B2 JP5995583B2 (ja) 2016-09-21

Family

ID=49994889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012165945A Active JP5995583B2 (ja) 2012-07-26 2012-07-26 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム

Country Status (2)

Country Link
US (1) US9392278B2 (ja)
JP (1) JP5995583B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015185979A (ja) * 2014-03-24 2015-10-22 富士通株式会社 動画像符号化装置及び動画像符号化器
JP2019191724A (ja) * 2018-04-20 2019-10-31 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2020072369A (ja) * 2018-10-31 2020-05-07 日本電信電話株式会社 復号装置、符号化装置、復号方法、符号化方法、及びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014230159A (ja) * 2013-05-23 2014-12-08 株式会社メガチップス 画像処理装置
KR20150066301A (ko) * 2013-12-06 2015-06-16 한국전자통신연구원 고화질 콘텐츠의 송수신 방법 및 장치
US10277913B2 (en) * 2014-10-22 2019-04-30 Samsung Electronics Co., Ltd. Application processor for performing real time in-loop filtering, method thereof and system including the same
KR102299573B1 (ko) * 2014-10-22 2021-09-07 삼성전자주식회사 실시간으로 인-루프 필터링을 수행할 수 있는 애플리케이션 프로세서, 이의 작동 방법, 및 이를 포함하는 시스템
CN110263895B (zh) * 2019-06-25 2023-02-17 北京慧眼智行科技有限公司 一种码图生成方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295616A (ja) * 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及びプログラム記録媒体
JP2006014113A (ja) * 2004-06-29 2006-01-12 Fujitsu Ltd 画像復号装置及び画像符号化装置
JP2008118616A (ja) * 2006-11-02 2008-05-22 Intervideo Inc マルチスレッドビデオデコーディングのための方法および装置
JP2009033640A (ja) * 2007-07-30 2009-02-12 Hitachi Ltd 画像復号化装置
JP2010515336A (ja) * 2006-12-27 2010-05-06 インテル コーポレイション ビデオ情報をデコード及びエンコードする方法及び装置
JP2010252069A (ja) * 2009-04-16 2010-11-04 Panasonic Corp 画像復号装置及び画像復号方法
JP2011029863A (ja) * 2009-07-24 2011-02-10 Hitachi Consumer Electronics Co Ltd 復号化処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940008389A (ko) * 1992-09-30 1994-04-29 가나이 쯔또무 화상신호처리장치 및 이것을 사용한 정보송수신장치
JP3941921B2 (ja) 2002-01-25 2007-07-11 三菱電機株式会社 動画像符号化装置
JP4790446B2 (ja) * 2006-03-01 2011-10-12 三菱電機株式会社 動画像復号装置及び動画像符号化装置
KR20090004725A (ko) * 2007-07-06 2009-01-12 엘지전자 주식회사 방송 수신기 및 방송 수신기의 데이터 처리 방법
US10244246B2 (en) * 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295616A (ja) * 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及びプログラム記録媒体
JP2006014113A (ja) * 2004-06-29 2006-01-12 Fujitsu Ltd 画像復号装置及び画像符号化装置
JP2008118616A (ja) * 2006-11-02 2008-05-22 Intervideo Inc マルチスレッドビデオデコーディングのための方法および装置
JP2010515336A (ja) * 2006-12-27 2010-05-06 インテル コーポレイション ビデオ情報をデコード及びエンコードする方法及び装置
JP2009033640A (ja) * 2007-07-30 2009-02-12 Hitachi Ltd 画像復号化装置
JP2010252069A (ja) * 2009-04-16 2010-11-04 Panasonic Corp 画像復号装置及び画像復号方法
JP2011029863A (ja) * 2009-07-24 2011-02-10 Hitachi Consumer Electronics Co Ltd 復号化処理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015185979A (ja) * 2014-03-24 2015-10-22 富士通株式会社 動画像符号化装置及び動画像符号化器
JP2019191724A (ja) * 2018-04-20 2019-10-31 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP7077115B2 (ja) 2018-04-20 2022-05-30 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2020072369A (ja) * 2018-10-31 2020-05-07 日本電信電話株式会社 復号装置、符号化装置、復号方法、符号化方法、及びプログラム
WO2020090408A1 (ja) * 2018-10-31 2020-05-07 日本電信電話株式会社 復号装置、符号化装置、復号方法、符号化方法、及びプログラム

Also Published As

Publication number Publication date
US9392278B2 (en) 2016-07-12
JP5995583B2 (ja) 2016-09-21
US20140029671A1 (en) 2014-01-30

Similar Documents

Publication Publication Date Title
JP5995583B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム
US10212441B2 (en) Method and apparatus for processing video
JP5620641B2 (ja) 適応型走査を用いる動画の符号化/復号化装置及びその方法
KR102144881B1 (ko) 비디오 처리를 위한 송신 장치 및 방법
US10757431B2 (en) Method and apparatus for processing video
JP2014011634A (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP4879269B2 (ja) 復号化方法及び装置
JP2011151430A (ja) 画像処理装置およびそれを搭載した撮像装置
JP2009302776A (ja) 画像符号化装置、その制御方法、及びコンピュータプログラム
US8594192B2 (en) Image processing apparatus
JPWO2009063646A1 (ja) 画像復号装置及び画像復号方法
US8488892B2 (en) Image encoder and camera system
JP5087016B2 (ja) 符号化装置及びその制御方法、コンピュータプログラム
US9179065B2 (en) Image processing apparatus, image processing method, and program product
JP5694674B2 (ja) 画像符号化装置、画像符号化復号化システム、画像符号化方法、画像表示方法
US20130083847A1 (en) Moving image compression encoding apparatus, method, and control program
JP2014078891A (ja) 画像処理装置、画像処理方法
JP2019004439A (ja) 符号化装置、撮像装置および符号化方法
JP6206280B2 (ja) 動画像符号化装置及び動画像符号化器
JP6618578B2 (ja) 画像符号化装置、および画像復号装置
JP5265984B2 (ja) 画像符号化装置及び復号装置
JP6610115B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
US10743009B2 (en) Image processing apparatus and image processing method
JP2008289105A (ja) 画像処理装置およびそれを搭載した撮像装置
JP7451131B2 (ja) 画像符号化装置、画像符号化方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160616

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160823

R151 Written notification of patent or utility model registration

Ref document number: 5995583

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151