図面 (/)

技術 画像処理装置

出願人 株式会社メガチップス
発明者 齋藤和宏
出願日 2013年3月29日 (7年8ヶ月経過) 出願番号 2013-075270
公開日 2014年10月23日 (6年1ヶ月経過) 公開番号 2014-200038
状態 特許登録済
技術分野 TV信号の圧縮,符号化方式
主要キーワード 所定単位期間 デコード制御回路 処理クロック数 最大処理能力 マルチモ バッファモード クロック停止信号 DMAインタフェース
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2014年10月23日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (16)

課題

ピクチャ毎コマンド発行及び割り込み通知を行う場合と比較すると、ソフトウェア処理部の処理負荷を軽減できるとともに、エンコード所要時間を短縮することが可能な、画像処理装置を得る。

解決手段

ハードウェア処理部12の動作モードがマルチモードに設定された場合には、ソフトウェア処理部11は、複数の出力ピクチャに関する複数の設定情報を、ハードウェア処理部12が入力ピクチャのエンコードを開始する前にハードウェア処理部12に一括して通知し、ハードウェア処理部12は、ソフトウェア処理部11から通知された複数の設定情報に基づいて、複数の出力ピクチャに関するエンコードを、ピクチャ毎の完了通知を省略して連続して実行し、複数の出力ピクチャに関するエンコードが全て完了することにより、エンコードの完了通知をソフトウェア処理部11に割り込み通知する。

概要

背景

背景技術に係る映像記録装置が、下記特許文献1に開示されている。当該映像記録装置において、映像入力部から入力された複数の映像データは、フレームバッファに格納される。符号化処理部は、映像データの符号化処理を実行する。エンコーダ制御部は、フレームバッファに格納されている複数の映像データの各々に関して、符号化処理の割り当て時間を設定する。そして、符号化処理部の現在の処理対象の映像データに関して設定された割り当て時間が経過すると、処理対象の映像データを次の映像データに切り替える。

概要

ピクチャ毎コマンド発行及び割り込み通知を行う場合と比較すると、ソフトウェア処理部の処理負荷を軽減できるとともに、エンコード所要時間を短縮することが可能な、画像処理装置を得る。ハードウェア処理部12の動作モードがマルチモードに設定された場合には、ソフトウェア処理部11は、複数の出力ピクチャに関する複数の設定情報を、ハードウェア処理部12が入力ピクチャのエンコードを開始する前にハードウェア処理部12に一括して通知し、ハードウェア処理部12は、ソフトウェア処理部11から通知された複数の設定情報に基づいて、複数の出力ピクチャに関するエンコードを、ピクチャ毎の完了通知を省略して連続して実行し、複数の出力ピクチャに関するエンコードが全て完了することにより、エンコードの完了通知をソフトウェア処理部11に割り込み通知する。

目的

本発明は係る事情に鑑みて成されたものであり、1ピクチャ毎にコマンド発行及び割り込み通知を行う場合と比較すると、ソフトウェア処理部の処理負荷を軽減できるとともに、エンコードの所要時間を短縮することが可能な、画像処理装置を得ることを目的とする

効果

実績

技術文献被引用数
0件
牽制数
2件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

画像処理処理対象であるピクチャを記憶する記憶部と、ピクチャに対する画像処理をソフトウェア処理によって実行するソフトウェア処理部と、ピクチャに対する画像処理をハードウェア処理によって実行するハードウェア処理部と、を備え、前記ソフトウェア処理部は、前記ハードウェア処理部の動作モードとして、画像処理装置最大処理能力に基づいて規定される所定単位期間内に、入力ピクチャを様々にエンコードすることにより、ピクチャサイズ及びフレームレートの少なくとも一方が異なる複数の出力ピクチャを生成するモードであるマルチモードを設定可能であり、前記ハードウェア処理部の動作モードがマルチモードに設定された場合には、前記ソフトウェア処理部は、複数の出力ピクチャに関する複数の設定情報を、前記ハードウェア処理部が入力ピクチャのエンコードを開始する前に前記ハードウェア処理部に一括して通知し、前記ハードウェア処理部は、前記ソフトウェア処理部から通知された複数の設定情報に基づいて、複数の出力ピクチャに関するエンコードを、ピクチャ毎完了通知を省略して連続して実行し、複数の出力ピクチャに関するエンコードが全て完了することにより、エンコードの完了通知を前記ソフトウェア処理部に割り込み通知する、画像処理装置。

請求項2

前記ソフトウェア処理部は、画像処理装置で処理可能な最大ピクチャサイズ及び当該最大ピクチャサイズに対応するフレームレートと、出力ピクチャの用途とに基づいて、複数の出力ピクチャの各々のピクチャサイズ及びフレームレートを設定する、請求項1に記載の画像処理装置。

請求項3

連続する複数の所定単位期間の各々において生成すべき出力ピクチャは、出力ピクチャのフレームレートに応じて異なり、前記ソフトウェア処理部は、複数の出力ピクチャのうち、各所定単位期間において生成すべき出力ピクチャを特定する情報を、前記設定情報に含めて前記ハードウェア処理部に通知する、請求項1又は2に記載の画像処理装置。

請求項4

前記ハードウェア処理部は、入力ピクチャを符号化する符号化回路と、前記符号化回路によって符号化されたピクチャをNAL化するNAL化回路と、前記符号化回路及び前記NAL化回路を制御する制御回路と、を有し、前記ソフトウェア処理部から前記ハードウェア処理部に通知された前記設定情報は、前記NAL化回路及び前記制御回路に入力される、請求項1〜3のいずれか一つに記載の画像処理装置。

請求項5

前記NAL化回路に入力される設定情報には、各出力ピクチャのNAL化に使用するヘッダ情報が含まれる、請求項4に記載の画像処理装置。

請求項6

前記ソフトウェア処理部はさらに、前記ハードウェア処理部の動作モードとして、入力ピクチャをエンコードすることにより、画像処理装置で処理可能な最大ピクチャサイズ及び当該最大ピクチャサイズに対応するフレームレートと比較して、ピクチャサイズが小さくフレームレートが高い出力ピクチャを生成するモードである高速モードを設定可能であり、前記ハードウェア処理部の動作モードが高速モードに設定された場合には、前記ソフトウェア処理部は、出力ピクチャに関する設定情報を、前記ハードウェア処理部が入力ピクチャのエンコードを開始する前に前記ハードウェア処理部に通知し、前記ハードウェア処理部は、前記ソフトウェア処理部から通知された設定情報に基づいて、出力ピクチャに関するエンコードを、ピクチャ毎の完了通知を省略して連続して実行し、指定数の出力ピクチャに関するエンコードが全て完了することにより、エンコードの完了通知を前記ソフトウェア処理部に割り込み通知する、請求項1に記載の画像処理装置。

請求項7

前記ソフトウェア処理部は、画像処理装置で処理可能な最大ピクチャサイズ及び当該最大ピクチャサイズに対応するフレームレートと、出力ピクチャのピクチャサイズと、前記ハードウェア処理部の最大クロック周波数とに基づいて、出力ピクチャの最大フレームレートを設定する、請求項6に記載の画像処理装置。

請求項8

前記ソフトウェア処理部は、連続したエンコードが実行される出力ピクチャの指定数に関する情報を、前記設定情報に含めて前記ハードウェア処理部に通知する、請求項6又は7に記載の画像処理装置。

請求項9

前記ハードウェア処理部は、入力ピクチャを符号化する符号化回路と、前記符号化回路によって符号化されたピクチャをNAL化するNAL化回路と、前記符号化回路及び前記NAL化回路を制御する制御回路と、を有し、前記ソフトウェア処理部から前記ハードウェア処理部に通知された前記設定情報は、前記NAL化回路及び前記制御回路に入力される、請求項6〜8のいずれか一つに記載の画像処理装置。

請求項10

前記NAL化回路に入力される設定情報には、出力ピクチャのNAL化に使用するヘッダ情報が含まれる、請求項9に記載の画像処理装置。

技術分野

0001

本発明は、画像処理装置に関し、特に、H.264圧縮符号化方式におけるリアルタイムエンコーダに関する。

背景技術

0002

背景技術に係る映像記録装置が、下記特許文献1に開示されている。当該映像記録装置において、映像入力部から入力された複数の映像データは、フレームバッファに格納される。符号化処理部は、映像データの符号化処理を実行する。エンコーダ制御部は、フレームバッファに格納されている複数の映像データの各々に関して、符号化処理の割り当て時間を設定する。そして、符号化処理部の現在の処理対象の映像データに関して設定された割り当て時間が経過すると、処理対象の映像データを次の映像データに切り替える。

先行技術

0003

特開2010−272993号公報

発明が解決しようとする課題

0004

H.264リアルタイムエンコーダにおいては、CPU等を用いたソフトウェア処理によってヘッダ処理を行い、ハードウェアアクセラレータ等を用いたハードウェア処理によってマクロブロック処理を行う構成が一般的である。その理由は、ヘッダ処理に関しては、様々なプロファイルアプリケーションに柔軟に対応できるようにソフトウェア処理を行うのが有効であり、マクロブロック処理に関しては、演算量は膨大であるが定型処理の繰り返しが多いためにハードウェア処理を行うのが有効だからである。

0005

しかし、ソフトウェア処理とハードウェア処理との協働によってエンコードを行う場合には、1ピクチャの処理が完了する度に、CPUからハードウェアアクセラレータへのコマンド発行や、ハードウェアアクセラレータからCPUへの処理完了通知割り込み通知)が発生する。従って、CPUとハードウェアアクセラレータとの間でのコマンド発行及び割り込み通知が頻発し、その結果、CPUの処理負荷が増大するとともに、待機時間が長くなるために全体としてエンコードの所要時間が長期化する。

0006

本発明は係る事情に鑑みて成されたものであり、1ピクチャ毎にコマンド発行及び割り込み通知を行う場合と比較すると、ソフトウェア処理部の処理負荷を軽減できるとともに、エンコードの所要時間を短縮することが可能な、画像処理装置を得ることを目的とする。

課題を解決するための手段

0007

本発明の第1の態様に係る画像処理装置は、画像処理の処理対象であるピクチャを記憶する記憶部と、ピクチャに対する画像処理をソフトウェア処理によって実行するソフトウェア処理部と、ピクチャに対する画像処理をハードウェア処理によって実行するハードウェア処理部と、を備え、前記ソフトウェア処理部は、前記ハードウェア処理部の動作モードとして、画像処理装置の最大処理能力に基づいて規定される所定単位期間内に、入力ピクチャを様々にエンコードすることにより、ピクチャサイズ及びフレームレートの少なくとも一方が異なる複数の出力ピクチャを生成するモードであるマルチモードを設定可能であり、前記ハードウェア処理部の動作モードがマルチモードに設定された場合には、前記ソフトウェア処理部は、複数の出力ピクチャに関する複数の設定情報を、前記ハードウェア処理部が入力ピクチャのエンコードを開始する前に前記ハードウェア処理部に一括して通知し、前記ハードウェア処理部は、前記ソフトウェア処理部から通知された複数の設定情報に基づいて、複数の出力ピクチャに関するエンコードを、ピクチャ毎の完了通知を省略して連続して実行し、複数の出力ピクチャに関するエンコードが全て完了することにより、エンコードの完了通知を前記ソフトウェア処理部に割り込み通知することを特徴とするものである。

0008

第1の態様に係る画像処理装置によれば、ハードウェア処理部の動作モードがマルチモードに設定された場合には、ソフトウェア処理部は、複数の出力ピクチャに関する複数の設定情報を、ハードウェア処理部が入力ピクチャのエンコードを開始する前にハードウェア処理部に一括して通知する。また、ハードウェア処理部は、ソフトウェア処理部から通知された複数の設定情報に基づいて、複数の出力ピクチャに関するエンコードを、ピクチャ毎の完了通知を省略して連続して実行する。そして、複数の出力ピクチャに関するエンコードが全て完了することにより、エンコードの完了通知をソフトウェア処理部に割り込み通知する。その結果、ピクチャサイズやフレームレートが異なる複数シーケンスの出力ピクチャに関するマルチエンコードを実行するにあたって、ソフトウェア処理部とハードウェア処理部との間で1ピクチャ毎にコマンド発行及び割り込み通知を行う場合と比較すると、ソフトウェア処理部の処理負荷を軽減できるとともに、エンコード処理の所要時間を短縮することが可能となる。

0009

本発明の第2の態様に係る画像処理装置は、第1の態様に係る画像処理装置において特に、前記ソフトウェア処理部は、画像処理装置で処理可能な最大ピクチャサイズ及び当該最大ピクチャサイズに対応するフレームレートと、出力ピクチャの用途とに基づいて、複数の出力ピクチャの各々のピクチャサイズ及びフレームレートを設定することを特徴とするものである。

0010

第2の態様に係る画像処理装置によれば、ソフトウェア処理部は、画像処理装置で処理可能な最大ピクチャサイズ及び当該最大ピクチャサイズに対応するフレームレートと、出力ピクチャの用途とに基づいて、複数の出力ピクチャの各々のピクチャサイズ及びフレームレートを設定する。従って、画像処理装置の最大処理能力を有効に活用しつつ、マルチエンコードを適切に実行することが可能となる。

0011

本発明の第3の態様に係る画像処理装置は、第1又は第2の態様に係る画像処理装置において特に、連続する複数の所定単位期間の各々において生成すべき出力ピクチャは、出力ピクチャのフレームレートに応じて異なり、前記ソフトウェア処理部は、複数の出力ピクチャのうち、各所定単位期間において生成すべき出力ピクチャを特定する情報を、前記設定情報に含めて前記ハードウェア処理部に通知することを特徴とするものである。

0012

第3の態様に係る画像処理装置によれば、ソフトウェア処理部は、複数の出力ピクチャのうち、各所定単位期間において生成すべき出力ピクチャを特定する情報を、設定情報に含めてハードウェア処理部に通知する。従って、ハードウェア処理部は、複数の出力ピクチャのうち各所定単位期間において生成すべき出力ピクチャを、設定情報に基づいて適切に処理することが可能となる。

0013

本発明の第4の態様に係る画像処理装置は、第1〜第3のいずれか一つの態様に係る画像処理装置において特に、前記ハードウェア処理部は、入力ピクチャを符号化する符号化回路と、前記符号化回路によって符号化されたピクチャをNAL化するNAL化回路と、前記符号化回路及び前記NAL化回路を制御する制御回路と、を有し、前記ソフトウェア処理部から前記ハードウェア処理部に通知された前記設定情報は、前記NAL化回路及び前記制御回路に入力されることを特徴とするものである。

0014

第4の態様に係る画像処理装置によれば、ソフトウェア処理部からハードウェア処理部に通知された設定情報は、NAL化回路及び制御回路に入力される。このように、マルチエンコードを実行するにあたって必要となる設定情報をNAL化回路及び制御回路に入力することにより、ハードウェア処理部においてマルチエンコードを適切に実行することが可能となる。

0015

本発明の第5の態様に係る画像処理装置は、第4の態様に係る画像処理装置において特に、前記NAL化回路に入力される設定情報には、各出力ピクチャのNAL化に使用するヘッダ情報が含まれることを特徴とするものである。

0016

第5の態様に係る画像処理装置によれば、NAL化回路に入力される設定情報には、各出力ピクチャのNAL化に使用するヘッダ情報が含まれる。このように、各出力ピクチャのNAL化を行うにあたって必要となるヘッダ情報をNAL化回路に入力することにより、NAL化回路において各出力ピクチャのNAL化を適切に実行することが可能となる。

0017

本発明の第6の態様に係る画像処理装置は、第1の態様に係る画像処理装置において特に、前記ソフトウェア処理部はさらに、前記ハードウェア処理部の動作モードとして、入力ピクチャをエンコードすることにより、画像処理装置で処理可能な最大ピクチャサイズ及び当該最大ピクチャサイズに対応するフレームレートと比較して、ピクチャサイズが小さくフレームレートが高い出力ピクチャを生成するモードである高速モードを設定可能であり、前記ハードウェア処理部の動作モードが高速モードに設定された場合には、前記ソフトウェア処理部は、出力ピクチャに関する設定情報を、前記ハードウェア処理部が入力ピクチャのエンコードを開始する前に前記ハードウェア処理部に通知し、前記ハードウェア処理部は、前記ソフトウェア処理部から通知された設定情報に基づいて、出力ピクチャに関するエンコードを、ピクチャ毎の完了通知を省略して連続して実行し、指定数の出力ピクチャに関するエンコードが全て完了することにより、エンコードの完了通知を前記ソフトウェア処理部に割り込み通知することを特徴とするものである。

0018

第6の態様に係る画像処理装置によれば、ハードウェア処理部の動作モードが高速モードに設定された場合には、ソフトウェア処理部は、出力ピクチャに関する設定情報を、ハードウェア処理部が入力ピクチャのエンコードを開始する前にハードウェア処理部に通知し、ハードウェア処理部は、ソフトウェア処理部から通知された設定情報に基づいて、出力ピクチャに関するエンコードを、ピクチャ毎の完了通知を省略して連続して実行し、指定数の出力ピクチャに関するエンコードが全て完了することにより、エンコードの完了通知をソフトウェア処理部に割り込み通知する。その結果、ピクチャサイズが小さくフレームレートが高い出力ピクチャを生成するモードである高速モードを実行するにあたって、ソフトウェア処理部とハードウェア処理部との間で1ピクチャ毎にコマンド発行及び割り込み通知を行う場合と比較すると、ソフトウェア処理部の処理負荷を軽減できるとともに、エンコード処理の所要時間を短縮することが可能となる。

0019

本発明の第7の態様に係る画像処理装置は、第6の態様に係る画像処理装置において特に、前記ソフトウェア処理部は、画像処理装置で処理可能な最大ピクチャサイズ及び当該最大ピクチャサイズに対応するフレームレートと、出力ピクチャのピクチャサイズと、前記ハードウェア処理部の最大クロック周波数とに基づいて、出力ピクチャの最大フレームレートを設定することを特徴とするものである。

0020

第7の態様に係る画像処理装置によれば、ソフトウェア処理部は、画像処理装置で処理可能な最大ピクチャサイズ及び当該最大ピクチャサイズに対応するフレームレートと、出力ピクチャのピクチャサイズと、ハードウェア処理部の最大クロック周波数とに基づいて、出力ピクチャの最大フレームレートを設定する。従って、画像処理装置の最大処理能力を有効に活用しつつ、高速エンコードを適切に実行することが可能となる。

0021

本発明の第8の態様に係る画像処理装置は、第6又は第7の態様に係る画像処理装置において特に、前記ソフトウェア処理部は、連続したエンコードが実行される出力ピクチャの指定数に関する情報を、前記設定情報に含めて前記ハードウェア処理部に通知することを特徴とするものである。

0022

第8の態様に係る画像処理装置によれば、ソフトウェア処理部は、連続したエンコードが実行される出力ピクチャの指定数に関する情報を、設定情報に含めてハードウェア処理部に通知する。従って、ハードウェア処理部は、高速エンコードにおいて連続したエンコードによって生成すべき指定数の出力ピクチャを、設定情報に基づいて適切に処理することが可能となる。

0023

本発明の第9の態様に係る画像処理装置は、第6〜第8のいずれか一つの態様に係る画像処理装置において特に、前記ハードウェア処理部は、入力ピクチャを符号化する符号化回路と、前記符号化回路によって符号化されたピクチャをNAL化するNAL化回路と、前記符号化回路及び前記NAL化回路を制御する制御回路と、を有し、前記ソフトウェア処理部から前記ハードウェア処理部に通知された前記設定情報は、前記NAL化回路及び前記制御回路に入力されることを特徴とするものである。

0024

第9の態様に係る画像処理装置によれば、ソフトウェア処理部からハードウェア処理部に通知された設定情報は、NAL化回路及び制御回路に入力される。このように、高速エンコードを実行するにあたって必要となる設定情報をNAL化回路及び制御回路に入力することにより、ハードウェア処理部において高速エンコードを適切に実行することが可能となる。

0025

本発明の第10の態様に係る画像処理装置は、第9の態様に係る画像処理装置において特に、前記NAL化回路に入力される設定情報には、出力ピクチャのNAL化に使用するヘッダ情報が含まれることを特徴とするものである。

0026

第10の態様に係る画像処理装置によれば、NAL化回路に入力される設定情報には、出力ピクチャのNAL化に使用するヘッダ情報が含まれる。このように、出力ピクチャのNAL化を行うにあたって必要となるヘッダ情報をNAL化回路に入力することにより、NAL化回路において出力ピクチャのNAL化を適切に実行することが可能となる。

発明の効果

0027

本発明によれば、ピクチャサイズやフレームレートが異なる複数シーケンスの出力ピクチャに関するマルチエンコードを実行するにあたって、ソフトウェア処理部とハードウェア処理部との間で1ピクチャ毎にコマンド発行及び割り込み通知を行う場合と比較すると、ソフトウェア処理部の処理負荷を軽減できるとともに、エンコードの所要時間を短縮することが可能となる。

図面の簡単な説明

0028

本発明の実施の形態に係るカメラシステムの全体構成を示す図である。
画像処理装置の構成を簡略化して示す図である。
ハードウェア処理部の構成を示す図である。
通常モードにおける画像処理装置の処理フローを示すフローチャートである。
通常モードにおける画像処理装置の制御シーケンスを示す図である。
画像処理装置が生成する複数シーケンスの一例を示す図である。
シーケンスのピクチャサイズ及びフレームレートの第1の設定例を示す図である。
シーケンスのピクチャサイズ及びフレームレートの第2の設定例を示す図である。
シーケンスのピクチャサイズ及びフレームレートの第3の設定例を示す図である。
マルチモードにおいて、同一の所定単位期間内にエンコードされるシーケンスの関係を示す図である。
通常モードで複数シーケンスを生成した場合の完了通知回数を示す図である。
マルチモードにおける画像処理装置の制御シーケンスを示す図である。
ピクチャサイズとフレームレートとの関係を示す図である。
高速モードにおける画像処理装置の処理フローを示すフローチャートである。
高速モードにおける画像処理装置の制御シーケンスを示す図である。

実施例

0029

以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。

0030

図1は、本発明の実施の形態に係るカメラシステム1の全体構成を示す図である。カメラシステム1は、複数のカメラ3(3A〜3C)と、カメラ3に接続されたリアルタイムエンコーダ等の画像処理装置2と、画像処理装置2に接続されたモニタ4及びハードディスク等の記録装置5と、通信ネットワーク6を介して画像処理装置2に接続されたモニタ7とを備えて構成されている。例えば、特定の施設警備するための監視カメラシステムの用途でカメラシステム1を利用する場合には、カメラ3は監視対象エリア内に設置され、画像処理装置2、モニタ4、及び記録装置5は施設の警備室内に設置され、モニタ7は遠隔警備会社内に設置される。

0031

画像処理装置2は、カメラ3によって撮影された画像に対してH.264圧縮符号化方式でエンコードを行う。当該画像は、記録装置5に記録されるとともに、リアルタイムでモニタ4に表示される。また、当該画像は、通信ネットワーク6を介して警備会社に送信され、警備会社内のモニタ7に表示される。

0032

図2は、画像処理装置2の構成を簡略化して示す図である。画像処理装置2は、画像処理の処理対象であるピクチャを記憶するDDRメモリ等の記憶部13と、ピクチャに対する画像処理をソフトウェア処理によって実行するCPU等のソフトウェア処理部11と、ピクチャに対する画像処理をハードウェア処理によって実行するハードウェアアクセラレータ等のハードウェア処理部12とを備えて構成されている。記憶部13、ソフトウェア処理部11、及びハードウェア処理部12は、システムバス14を介して相互に接続されている。また、ソフトウェア処理部11及びハードウェア処理部12は、レジスタバス15を介して相互に接続されている。

0033

ソフトウェア処理部11は、画像のエンコードに用いる各種の情報をハードウェア処理部12に通知する。ハードウェア処理部12は、ソフトウェア処理部11からの指示により、記憶部13から画像を読み出して当該画像のエンコードを行う。そして、エンコードが完了すると、エンコードの完了通知をソフトウェア処理部11に通知する。

0034

図3は、ハードウェア処理部12の構成を示す図である。図3接続関係で示すように、ハードウェア処理部12は、DMAR21と、DMAインタフェース22と、エンコード制御回路23と、動き探索回路24と、動き補償回路25と、直交変換量子化逆量子化回路26と、CABAC/CAVLC符号化回路等のエントロピ符号化回路27と、NAL符号化回路28と、DMAW29と、NAL復号回路30と、CABAC/CAVLC復号回路等のエントロピ復号回路31と、デブロッキングフィルタ回路等のフィルタ回路32と、デコードシーケンサ33と、デコード制御回路34と、CPUインタフェース35と、割り込み制御回路36とを備えて構成されている。

0035

DMAR21及びDMAW29は、システムバス14を介して記憶部13に接続されている。CPUインタフェース35及び割り込み制御回路36は、レジスタバス15を介してソフトウェア処理部11に接続されている。また、図示を省略したが、DMAR21及びDMAW29はレジスタバス15を介してソフトウェア処理部11に接続されており、CPUインタフェース35はシステムバス14を介してソフトウェア処理部11に接続されている。

0036

図3では簡略化のため接続関係の図示を省略したが、CPUインタフェース35は、DMAR21、DMAW29、エンコード制御回路23、NAL符号化回路28、エントロピ符号化回路27、及びデコードシーケンサ33に接続されている。また、割り込み制御回路36は、エンコード制御回路23及びデコードシーケンサ33に接続されている。また、デコードシーケンサ33は、エンコード制御回路23及び割り込み制御回路36に接続されている。また、デコード制御回路34は、NAL復号回路30、エントロピ復号回路31、動き補償回路25、直交変換・量子化・逆量子化回路26、及びフィルタ回路32に接続されており、デコード時にこれらの回路を制御する。また、エンコード制御回路23は、割り込み制御回路36、動き探索回路24、動き補償回路25、直交変換・量子化・逆量子化回路26、フィルタ回路32、NAL符号化回路28、及びエントロピ符号化回路27に接続されており、エンコード時にこれらの回路を制御する。

0037

エンコード時には、処理対象の画像データが、DMAR21、DMAインタフェース22、エンコード制御回路23、動き探索回路24、動き補償回路25、直交変換・量子化・逆量子化回路26、エントロピ符号化回路27、NAL符号化回路28、及びDMAW29を経由することによって、パイプライン処理による画像のエンコードが行われる。

0038

デコード時には、処理対象の画像データが、DMAR21、NAL復号回路30、エントロピ復号回路31、直交変換・量子化・逆量子化回路26、動き補償回路25、フィルタ回路32、DMAインタフェース22、及びDMAW29を経由することによって、パイプライン処理による画像のデコードが行われる。

0039

本実施の形態に係る画像処理装置2では、ソフトウェア処理部11による設定によって、ハードウェア処理部12(特にNAL符号化回路28)の符号化動作モードとして、通常モード、マルチモード、及び高速モードの3つの動作モードを任意に切り替えることが可能である。

0040

通常モードは、ソフトウェア処理部11からの1回の指示でハードウェア処理部12が1ピクチャのエンコードを行い、1ピクチャのエンコードが完了する毎に、ハードウェア処理部12からソフトウェア処理部11にエンコードの完了通知が通知される動作モードである。

0041

マルチモードは、ソフトウェア処理部11からの1回の指示で、ハードウェア処理部12がピクチャサイズやフレームレートが異なる複数シーケンスの複数ピクチャのエンコードを行い、当該複数ピクチャのエンコードが全て完了すると、ハードウェア処理部12からソフトウェア処理部11にエンコードの完了通知が通知される動作モードである。

0042

高速モードは、ソフトウェア処理部11からの1回の指示で、ハードウェア処理部12が通常モードより高いフレームレートで1シーケンスの複数ピクチャのエンコードを行い、当該複数ピクチャのエンコードが全て完了すると、ハードウェア処理部12からソフトウェア処理部11にエンコードの完了通知が通知される動作モードである。

0043

以下、各動作モードについて順に説明する。

0044

<通常モード>
図4は、通常モードにおける画像処理装置2の処理フローを示すフローチャートである。

0045

まずステップP01においてソフトウェア処理部11は、ハードウェア処理部12の外部の回路に関する設定を行う。例えば、図示しないDMAコントローラに関連する初期設定や、割り込み及びクロック制御に関する初期設定を行う。

0046

次にステップP02においてソフトウェア処理部11は、ハードウェア処理部12に対してストリームバッファの初期設定を行う。例えば、NAL符号化回路28内のストリームバッファの動作モードとして、リングバッファモード及びリニアバッファモードの一方を設定する。

0047

次にステップP03においてソフトウェア処理部11は、ハードウェア処理部12に対してシーケンスパラメータの設定を行う。例えば、ピクチャサイズ、レート制御関連パラメータ量子化マトリクス、エントロピ符号化モード、及びNALヘッダ情報に関する設定を行う。

0048

次にステップP04においてソフトウェア処理部11は、今回の処理対象のピクチャが、処理すべき最後のピクチャであるか否かを判定する。

0049

最後のピクチャでない場合、次にステップP05においてソフトウェア処理部11は、ハードウェア処理部12に対して画像バッファの設定を行う。例えば、キャプチャ画像バッファローカルデコード画像バッファ、及び参照画像バッファに関する設定を行う。

0050

次にステップP06においてソフトウェア処理部11は、ハードウェア処理部12への入力ピクチャとなるキャプチャ画像を、記憶部13内に準備する。

0051

次にステップP07においてソフトウェア処理部11は、ハードウェア処理部12に対してピクチャパラメータの設定を行う。例えば、ピクチャの基本情報、デブロッキングフィルタ関連、動き探索関連、及びエントロピ符号化関連の設定を行う。

0052

次にステップP08においてソフトウェア処理部11は、記憶部13からハードウェア処理部12へのキャプチャ画像及び参照画像転送の開始を指示する。

0053

次にステップP09においてソフトウェア処理部11は、ハードウェア処理部12に対して、次のピクチャのエンコードで使用する量子化マトリクスに関する設定を行う。

0054

次にステップP10においてソフトウェア処理部11は、ハードウェア処理部12に対してマクロブロック処理の開始を指示する。

0055

次にステップP11においてソフトウェア処理部11は、ハードウェア処理部12に対して、NAL化に必要なヘッダ情報のパラメータ設定を行う。例えば、ヘッダデータの有効ビット長、及びヘッダ開始バイト位置に関する設定を行う。ハードウェア処理部12を通常モードで動作させる場合には、1ピクチャのエンコードで使用するヘッダ情報を設定する。

0056

次にステップP12においてソフトウェア処理部11は、ハードウェア処理部12に対してヘッダ情報のNAL化の開始を指示する。

0057

次にステップP13,P14においてソフトウェア処理部11は、エンコードの完了通知がハードウェア処理部12から送られてくるまで待機する。エンコードの完了通知は、割り込み通知としてハードウェア処理部12からソフトウェア処理部11に入力される。

0058

完了通知を受領すると、次にステップP15においてソフトウェア処理部11は、NALエラー解析を行う。例えば、ストリームバッファのバッファフルエラーの発生の有無を解析する。

0059

NALエラーが発生している場合、次にステップP24においてソフトウェア処理部11は、所定のエラー処理によってエンコードを終了する。あるいは、バッファサイズを拡大してステップP04以降の処理をやり直しても良い。

0060

NALエラーが発生していない場合、次にステップP16においてソフトウェア処理部11は、cabac_zero_word(CZW)及び/又はフィラーデータの挿入の要否を判定する。例えば、その時点でのストリーム発生符号量に関する情報をハードウェア処理部12から取得することにより、当該発生符号量に基づいてCZW及び/又はフィラーデータの挿入の要否を判定する。

0061

CZW及び/又はフィラーデータの挿入が必要である場合、次にステップP17においてソフトウェア処理部11は、ハードウェア処理部12に対して、NAL化に必要なCZW及び/又はフィラーデータのパラメータ設定を行う。例えば、挿入するCZW及び/又はフィラーデータのサイズを設定する。

0062

次にステップP18においてソフトウェア処理部11は、ハードウェア処理部12に対して、CZW及び/又はフィラーデータのNAL化の開始を指示する。

0063

次にステップP19,P20においてソフトウェア処理部11は、エンコードの完了通知がハードウェア処理部12から送られてくるまで待機する。エンコードの完了通知は、割り込み通知としてハードウェア処理部12からソフトウェア処理部11に入力される。

0064

完了通知を受領すると、次にステップP21においてソフトウェア処理部11は、NALエラーの解析を行う。例えば、ストリームバッファのバッファフルエラーの発生の有無を解析する。

0065

NALエラーが発生している場合、次にステップP24においてソフトウェア処理部11は、所定のエラー処理によってエンコードを終了する。あるいは、バッファサイズを拡大してステップP04以降の処理をやり直しても良い。

0066

NALエラーが発生していない場合、次にステップP22においてソフトウェア処理部11は、エンコードの完了後にハードウェア処理部12から記憶部13に書き込まれたNAL化ストリームを、記憶部13から出力する。

0067

次にステップP23においてソフトウェア処理部11は、エンコードピクチャ用のカウンタ値を1だけインクリメントした後、ステップP04の判定を行う。これにより、予め設定された所定数のピクチャのエンコードが完了するまで、上記の処理が繰り返される。そして、最後のピクチャのエンコードが完了すると、処理が終了する。

0068

図5は、通常モードにおける画像処理装置2の制御シーケンスを示す図である。

0069

まずソフトウェア処理部11は、各種レジスタの設定情報を初期化するためのリセット信号S01を、エンコード制御回路23に入力する。

0070

次にNAL符号化回路28は、ウエイト設定信号S02をエントロピ符号化回路27に入力する。

0071

次にソフトウェア処理部11は、上記ステップP03,P05,P07で述べた設定情報等を含む初期設定信号S03を、エンコード制御回路23に入力する。

0072

次にソフトウェア処理部11は、上記ステップP02で述べたストリームバッファの初期設定信号S04を、NAL符号化回路28に入力する。

0073

次にソフトウェア処理部11は、上記ステップP08で述べた記憶部13からハードウェア処理部12への画像転送を開始させるコマンドS05を、エンコード制御回路23に入力する。

0074

次にソフトウェア処理部11は、上記ステップP09で述べた量子化マトリクスの設定信号S06を、エンコード制御回路23に入力する。

0075

次にソフトウェア処理部11は、上記ステップP10で述べたマクロブロック処理を開始させるコマンドS07を、エンコード制御回路23に入力する。

0076

次にエンコード制御回路23は、マクロブロックのエントロピ符号化を開始させる信号S08を、エントロピ符号化回路27に入力する。これにより、エントロピ符号化回路27は、当該マクロブロックのエントロピ符号化を開始する。

0077

次にソフトウェア処理部11は、上記ステップP11で述べたヘッダ情報の設定信号S09を、NAL符号化回路28に入力する。

0078

次にソフトウェア処理部11は、上記ステップP12で述べたヘッダ情報のNAL化を開始させるコマンドS10を、NAL符号化回路28に入力する。

0079

次にNAL符号化回路28は、NAL符号化回路28のクロック開始信号S11を、エンコード制御回路23に入力する。これにより、上記ステップP12で述べたNAL符号化回路28によるNAL化処理が開始される。

0080

ヘッダ情報のNAL化が完了すると、次にNAL符号化回路28は、ヘッダ情報のNAL化完了信号S12を、ソフトウェア処理部11に入力する。また、NAL符号化回路28は、ウエイト解除信号S13をエントロピ符号化回路27に入力する。これにより、エントロピ符号化回路27からNAL符号化回路28にマクロブロックのデータが入力され、NAL符号化回路28は当該マクロブロックのデータに関してNAL化を行う。

0081

次にエントロピ符号化回路27は、マクロブロックのエントロピ符号化の完了信号S14を、エンコード制御回路23に入力する。

0082

次にエンコード制御回路23は、次のマクロブロックのエントロピ符号化を開始させる信号S15を、エントロピ符号化回路27に入力する。当該マクロブロックのエントロピ符号化が完了すると、次にエントロピ符号化回路27は、マクロブロックのエントロピ符号化の完了信号S16をエンコード制御回路23に入力する。図中のループL02で示すように、エンコード制御回路23は、ピクチャ内の全てのマクロブロックに関するエントロピ符号化が完了するまで、同様の処理を繰り返す。

0083

次にエンコード制御回路23は、最後のマクロブロックのエントロピ符号化を開始させる信号S17を、エントロピ符号化回路27に入力する。当該マクロブロックのエントロピ符号化が完了すると、次にエントロピ符号化回路27は、マクロブロックのエントロピ符号化の完了信号S18をエンコード制御回路23に入力する。また、エントロピ符号化回路27は、ピクチャ内の最後のマクロブロックであることを示す信号S19を、NAL符号化回路28に入力する。

0084

次にNAL符号化回路28は、最後のマクロブロックのスライスデータに関するNAL化が完了すると、NAL符号化回路28のクロック停止信号S20を、エンコード制御回路23に入力する。また、NAL符号化回路28は、ウエイト設定信号S21をエントロピ符号化回路27に入力する。

0085

次にNAL符号化回路28は、1ピクチャ分のスライスデータのNAL化が完了したことを示すNAL化完了信号S22を、エンコード制御回路23に入力する。

0086

次にエンコード制御回路23は、上記ステップP13で述べたエンコードの完了通知S23を、ソフトウェア処理部11に入力する。

0087

上記ステップP16〜P21で述べたようにCZW及び/又はフィラーデータの挿入が必要である場合には、次にソフトウェア処理部11は、上記ステップP18で述べたCZW及び/又はフィラーデータのNAL化を開始させるコマンドS24を、NAL符号化回路28に入力する。

0088

次にNAL符号化回路28は、NAL符号化回路28のクロック開始信号S25を、エンコード制御回路23に入力する。これにより、上記ステップP18で述べたNAL符号化回路28によるNAL化処理が開始される。

0089

CZW及び/又はフィラーデータのNAL化が完了すると、次にNAL符号化回路28は、CZW及び/又はフィラーデータのNAL化完了信号S26を、ソフトウェア処理部11に入力する。

0090

次にNAL符号化回路28は、NAL符号化回路28のクロック停止信号S27を、エンコード制御回路23に入力する。

0091

図中のループL01で示すように、処理対象である全てのピクチャに関するNAL化が完了するまで、上記と同様の処理が繰り返し実行される。

0092

<マルチモード>
図1を参照して、画像処理装置2から出力された画像は、記録装置5への記録やモニタ4,7への表示等の様々な用途に利用される。そこでマルチモードでは、カメラ3によって撮影された画像(つまり画像処理装置2への入力ピクチャ)を画像処理装置2が同一時間で並行にリアルタイムエンコードすることにより、用途に応じてピクチャサイズやフレームレートが異なる複数のシーケンス(つまり画像処理装置2からの出力ピクチャ)を画像処理装置2から出力する。

0093

本実施の形態の例において、画像処理装置2は、最大処理能力(最大演算能力)としてピクチャサイズが1920×1080でフレームレートが103fpsの画像を処理可能であるものとする。この場合、画像処理装置2は1秒あたり840480個のマクロブロックを処理可能である。画像処理装置2は、この最大処理能力を複数シーケンスの生成に分配することによって、複数シーケンスのリアルタイムエンコードを実現する。

0094

図6は、画像処理装置2が生成する複数シーケンスの一例を示す図である。ピクチャサイズが1920×1080でフレームレートが103fpsの最大処理能力を分配することにより、画像処理装置2は、記録装置5への記録用途として、ピクチャサイズが1920×1080でフレームレートが30fps、ピクチャサイズが640×480でフレームレートが30fps、及びピクチャサイズが320×240でフレームレートが30fpsの3個のシーケンスと、高レートでの配信用途(例えばモニタ4への表示用途)として、ピクチャサイズが1920×1080でフレームレートが30fps、ピクチャサイズが640×480でフレームレートが30fps、及びピクチャサイズが320×240でフレームレートが30fpsの3個のシーケンスと、低レートでの配信用途(例えばモニタ7への表示用途)として、ピクチャサイズが1920×1080でフレームレートが10fps、ピクチャサイズが640×480でフレームレートが10fps、及びピクチャサイズが320×240でフレームレートが10fpsの3個のシーケンスとの、合計9個のシーケンスを生成することが可能である。

0095

各シーケンスのピクチャサイズ及びフレームレートは、ソフトウェア処理部11によって設定される。ソフトウェア処理部11は、画像処理装置2の最大処理能力と、ユーザによって指定されたシーケンスの用途とに基づいて、複数シーケンスに分配された処理能力の合計が画像処理装置2の最大処理能力以下となるように、各シーケンスのピクチャサイズ及びフレームレートを設定する。

0096

図7は、シーケンスのピクチャサイズ及びフレームレートの第1の設定例を示す図である。記録装置5への記録用途として、ピクチャサイズが1920×1080、640×360、320×180でフレームレートがいずれも30fpsの3個のシーケンスSEQ00〜SEQ02と、高レートでの配信用途として、ピクチャサイズが1920×1080、640×360、320×180でフレームレートがいずれも15fpsの3個のシーケンスSEQ10〜SEQ12と、低レートでの配信用途として、ピクチャサイズが1920×1080、640×360、320×180でフレームレートがいずれも10fpsの3個のシーケンスSEQ20〜SEQ22とが設定されている。

0097

図8は、シーケンスのピクチャサイズ及びフレームレートの第2の設定例を示す図である。記録装置5への記録用途として、ピクチャサイズが1920×1080、640×360、320×180でフレームレートがいずれも30fpsの3個のシーケンスSEQ00〜SEQ02と、高レートでの配信用途として、ピクチャサイズが1920×1080、320×180、320×180でフレームレートがいずれも30fpsの3個のシーケンスSEQ10〜SEQ12と、低レートでの配信用途として、ピクチャサイズが1920×1080、640×360、320×180でフレームレートがいずれも10fpsの3個のシーケンスSEQ20〜SEQ22とが設定されている。

0098

図9は、シーケンスのピクチャサイズ及びフレームレートの第3の設定例を示す図である。記録装置5への記録用途として、ピクチャサイズが1920×1080、640×360、320×180でフレームレートがいずれも30fpsの3個のシーケンスSEQ00〜SEQ02と、高レートでの配信用途として、ピクチャサイズが1280×720、320×180、320×180でフレームレートがいずれも30fpsの3個のシーケンスSEQ10〜SEQ12と、低レートでの配信用途として、ピクチャサイズが1280×720、640×360、320×180でフレームレートがいずれも30fpsの3個のシーケンスSEQ20〜SEQ22とが設定されている。

0099

このようにマルチモードでは、画像処理装置2の最大処理能力を分配することによって、複数シーケンスSEQ00〜SEQ02,SEQ10〜SEQ12,SEQ20〜SEQ22を生成するためのエンコードが並行して行われる。

0100

図10は、マルチモードにおいて、同一の所定単位期間内にエンコードされるシーケンスの関係を示す図である。所定単位期間は、マルチエンコードで扱う複数シーケンスのうち最高フレームレートのシーケンスに関する、ピクチャ毎のエンコード間隔(垂直同期期間)である。ここでは図7に示した第1の設定例が採用された場合を想定しており、最高フレームレートが30fpsであるため、垂直同期期間V1〜V9は33msである。

0101

シーケンスSEQ00〜SEQ02はフレームレートが30fpsであるため、垂直同期期間V1〜V9の全てにおいてエンコードが行われる。シーケンスSEQ10〜SEQ12はフレームレートが15fpsであるため、垂直同期期間V1,V3,V5,V7,V9においてエンコードが行われる。シーケンスSEQ20〜SEQ22はフレームレートが10fpsであるため、垂直同期期間V1,V4,V7においてエンコードが行われる。その結果、垂直同期期間V1では9個、垂直同期期間V2では3個、垂直同期期間V3では6個、垂直同期期間V4では6個、垂直同期期間V5では6個、垂直同期期間V6では3個、垂直同期期間V7では9個、垂直同期期間V8では3個、垂直同期期間V9では6個のピクチャのエンコードが行われる。

0102

上述の通常モードによると、1ピクチャの処理が完了する度に、ソフトウェア処理部11からハードウェア処理部12へのコマンドS05,S07,S10、及び、ハードウェア処理部12からソフトウェア処理部11へのエンコードの完了通知S23が発生する。従って、各垂直同期期間V1〜V9において、エンコードするピクチャ数に等しい数のコマンドS05,S07,S10及び完了通知S23がそれぞれ発生する。そこでマルチモードでは、各垂直同期期間V1〜V9においてはハードウェア処理部12内で複数のピクチャを連続して処理し、ピクチャ毎のコマンドS05,S07,S10及び完了通知S23を省略する。これにより、図10に示すように各垂直同期期間V1〜V9における完了通知S23の回数はいずれも1回となり、割り込み通知の発生回数を抑制することができる。

0103

図11は、図10との比較のために、通常モードで複数シーケンスを生成した場合の完了通知回数を示す図である。通常モードによると、垂直同期期間V1では9回、垂直同期期間V2では3回、垂直同期期間V3では6回、垂直同期期間V4では6回、垂直同期期間V5では6回、垂直同期期間V6では3回、垂直同期期間V7では9回、垂直同期期間V8では3回、垂直同期期間V9では6回の完了通知S23が発生する。

0104

図12は、マルチモードにおける画像処理装置2の制御シーケンスを示す図である。

0105

まずソフトウェア処理部11は、各種レジスタの設定情報を初期化するためのリセット信号S01を、エンコード制御回路23に入力する。

0106

次にNAL符号化回路28は、ウエイト設定信号S02をエントロピ符号化回路27に入力する。

0107

次にソフトウェア処理部11は、上記ステップP03,P05,P07で述べた設定情報等を含む初期設定信号S03を、エンコード制御回路23に入力する。マルチモードでは、各垂直同期期間においてエンコードする複数のシーケンスを特定するための情報が、初期設定信号S03に含まれる。また、マルチモードでは、NAL符号化回路28内のストリームバッファの動作モードとして、リニアバッファモードが設定される。

0108

次にソフトウェア処理部11は、上記ステップP02で述べたストリームバッファの初期設定信号S04を、NAL符号化回路28に入力する。

0109

次にソフトウェア処理部11は、上記ステップP08で述べた記憶部13からハードウェア処理部12への画像転送を開始させるコマンドS05を、エンコード制御回路23に入力する。マルチモードでは、各垂直同期間においてエンコードする全てのキャプチャ画像が、記憶部13内に準備されている。

0110

次にソフトウェア処理部11は、上記ステップP09で述べた量子化マトリクスの設定信号S06を、エンコード制御回路23に入力する。

0111

次にソフトウェア処理部11は、NAL符号化回路28がマルチモードとして動作すべきことを指示する設定信号S30を、NAL符号化回路28に入力する。

0112

次にソフトウェア処理部11は、上記ステップP10で述べたマクロブロック処理を開始させるコマンドS07を、エンコード制御回路23に入力する。

0113

次にエンコード制御回路23は、マクロブロックのエントロピ符号化を開始させる信号S08を、エントロピ符号化回路27に入力する。これにより、エントロピ符号化回路27は、当該マクロブロックのエントロピ符号化を開始する。

0114

次にソフトウェア処理部11は、上記ステップP11で述べたヘッダ情報の設定信号S09を、NAL符号化回路28に入力する。マルチモードでは、各垂直同期間においてエンコードする全てのピクチャに関するヘッダ情報が、一括してNAL符号化回路28に入力される。

0115

次にソフトウェア処理部11は、上記ステップP12で述べたヘッダ情報のNAL化を開始させるコマンドS10を、NAL符号化回路28に入力する。

0116

次にNAL符号化回路28は、NAL符号化回路28のクロック開始信号S11を、エンコード制御回路23に入力する。これにより、上記ステップP12で述べたNAL符号化回路28によるNAL化処理が開始される。

0117

ヘッダ情報のNAL化が完了すると、次にNAL符号化回路28は、ヘッダ情報のNAL化完了信号S12を、ソフトウェア処理部11に入力する。マルチモードでは、各垂直同期間においてエンコードする最後のピクチャに関するヘッダ情報のNAL化が完了した場合にのみ、NAL化完了信号S12がソフトウェア処理部11に入力される。

0118

また、NAL符号化回路28は、ウエイト解除信号S13をエントロピ符号化回路27に入力する。これにより、エントロピ符号化回路27からNAL符号化回路28にマクロブロックのデータが入力され、NAL符号化回路28は当該マクロブロックのデータに関してNAL化を行う。

0119

次にエントロピ符号化回路27は、マクロブロックのエントロピ符号化の完了信号S14を、エンコード制御回路23に入力する。

0120

次にエンコード制御回路23は、次のマクロブロックのエントロピ符号化を開始させる信号S15を、エントロピ符号化回路27に入力する。当該マクロブロックのエントロピ符号化が完了すると、次にエントロピ符号化回路27は、マクロブロックのエントロピ符号化の完了信号S16をエンコード制御回路23に入力する。図中のループL02で示すように、エンコード制御回路23は、ピクチャ内の全てのマクロブロックに関するエントロピ符号化が完了するまで、同様の処理を繰り返す。

0121

次にエンコード制御回路23は、最後のマクロブロックのエントロピ符号化を開始させる信号S17を、エントロピ符号化回路27に入力する。当該マクロブロックのエントロピ符号化が完了すると、次にエントロピ符号化回路27は、マクロブロックのエントロピ符号化の完了信号S18をエンコード制御回路23に入力する。また、エントロピ符号化回路27は、ピクチャ内の最後のマクロブロックであることを示す信号S19を、NAL符号化回路28に入力する。

0122

次にNAL符号化回路28は、最後のマクロブロックのスライスデータに関するNAL化が完了すると、NAL符号化回路28のクロック停止信号S20を、エンコード制御回路23に入力する。マルチモードでは、各垂直同期間においてエンコードする最後のピクチャに関するスライスデータのNAL化が完了した場合にのみ、クロック停止信号S20がソフトウェア処理部11に入力される。

0123

また、NAL符号化回路28は、ウエイト設定信号S21をエントロピ符号化回路27に入力する。

0124

また、NAL符号化回路28は、1ピクチャ分のスライスデータのNAL化が完了したことを示すNAL化完了信号S22を、エンコード制御回路23に入力する。

0125

次にエンコード制御回路23は、次のピクチャのエントロピ符号化を開始し、当該ピクチャのスライスデータのNAL化が完了すると、NAL化完了信号S22がNAL符号化回路28からエンコード制御回路23に再び入力される。図中のループL03で示すように、エンコード制御回路23は、各垂直同期間においてエンコードする全てのピクチャに関するスライスデータのNAL化が完了するまで、同様の処理を繰り返す。

0126

次にエンコード制御回路23は、上記ステップP13で述べたエンコードの完了通知S23を、ソフトウェア処理部11に入力する。

0127

上記ステップP16〜P21で述べたようにCZW及び/又はフィラーデータの挿入が必要である場合には、次にソフトウェア処理部11は、上記ステップP18で述べたCZW及び/又はフィラーデータのNAL化を開始させるコマンドS24を、NAL符号化回路28に入力する。

0128

次にNAL符号化回路28は、NAL符号化回路28のクロック開始信号S25を、エンコード制御回路23に入力する。これにより、上記ステップP18で述べたNAL符号化回路28によるNAL化処理が開始される。

0129

CZW及び/又はフィラーデータのNAL化が完了すると、次にNAL符号化回路28は、CZW及び/又はフィラーデータのNAL化完了信号S26を、ソフトウェア処理部11に入力する。図中のループL04で示すように、NAL符号化回路28は、各垂直同期間においてエンコードする全てのピクチャに関するCZW及び/又はフィラーデータのNAL化が完了するまで、同様の処理を繰り返す。

0130

次にNAL符号化回路28は、NAL符号化回路28のクロック停止信号S27を、エンコード制御回路23に入力する。マルチモードでは、各垂直同期間においてエンコードする最後のピクチャに関するCZW及び/又はフィラーデータのNAL化が完了した場合にのみ、クロック停止信号S27がソフトウェア処理部11に入力される。

0131

なお、図12の例では、各垂直同期間においてエンコードする全てのピクチャに関するスライスデータのNAL化が完了した後に、当該全てのピクチャに関するCZW及び/又はフィラーデータをまとめてNAL化する例について述べた。この例に限らず、各垂直同期間においてエンコードする各ピクチャに関するスライスデータのNAL化が完了した後に、当該ピクチャに関するCZW及び/又はフィラーデータをNAL化することもできる。

0132

図中のループL01で示すように、処理対象である全てのピクチャに関するNAL化が完了するまで、上記と同様の処理が繰り返し実行される。

0133

このように、ハードウェア処理部12の動作モードがマルチモードに設定された場合には、ソフトウェア処理部11は、複数の出力ピクチャに関する複数の設定情報(各垂直同期間においてエンコードする全てのピクチャに関するヘッダ情報等)を、ハードウェア処理部12が入力ピクチャのエンコードを開始する前にハードウェア処理部12に一括して通知する。また、ハードウェア処理部12は、ソフトウェア処理部11から通知された複数の設定情報に基づいて、複数の出力ピクチャに関するエンコードを、ピクチャ毎の完了通知を省略して連続して実行する。そして、複数の出力ピクチャに関するエンコードが全て完了することにより、エンコードの完了通知S23をソフトウェア処理部11に割り込み通知する。その結果、ピクチャサイズやフレームレートが異なる複数シーケンスの出力ピクチャに関するマルチエンコードを実行するにあたって、ソフトウェア処理部11とハードウェア処理部12との間で1ピクチャ毎にコマンド発行及び割り込み通知を行う場合と比較すると、ソフトウェア処理部11の処理負荷を軽減できるとともに、エンコード処理の所要時間を短縮することが可能となる。

0134

また、ソフトウェア処理部11は、画像処理装置2で処理可能な最大ピクチャサイズ及び当該最大ピクチャサイズに対応するフレームレートと、出力ピクチャの用途とに基づいて、複数の出力ピクチャの各々のピクチャサイズ及びフレームレートを設定する。従って、画像処理装置2の最大処理能力を有効に活用しつつ、マルチエンコードを適切に実行することが可能となる。

0135

また、ソフトウェア処理部11は、複数の出力ピクチャのうち、各所定単位期間において生成すべき出力ピクチャを特定する情報を、初期設定信号S03(設定情報)に含めてハードウェア処理部12に通知する。従って、ハードウェア処理部12は、複数の出力ピクチャのうち各所定単位期間において生成すべき出力ピクチャを、初期設定信号S03に基づいて適切に処理することが可能となる。

0136

また、ソフトウェア処理部11からハードウェア処理部12に通知された設定情報は、NAL符号化回路28(NAL化回路)及びエンコード制御回路23(制御回路)に入力される。このように、マルチエンコードを実行するにあたって必要となる設定情報をNAL符号化回路28及びエンコード制御回路23に入力することにより、ハードウェア処理部12においてマルチエンコードを適切に実行することが可能となる。

0137

<高速モード>
上記と同様に、画像処理装置2は、最大処理能力としてピクチャサイズが1920×1080でフレームレートが103fpsの画像を処理可能であるものとする。また、1マクロブロックのエンコードに必要な処理クロック数が330サイクルであるものとする。この場合、ピクチャサイズが1920×1080でフレームレートが103fpsの画像を処理するのに必要なハードウェア処理部12のクロック周波数は、278MHzである。

0138

そこで高速モードでは、ハードウェア処理部12のクロック周波数の上限値を278MHzとして、ピクチャサイズを1920×1080よりも下げることにより、103fpsより高いフレームレートの画像を扱えるようにする。

0139

図13は、ピクチャサイズとフレームレートとの関係を示す図である。例えば、ピクチャサイズが640×480でフレームレートが160fpsの画像を処理するのに必要なクロック周波数は、上限値278MHz以下の63.4MHzであるため、画像処理装置2の処理能力の範囲内で当該画像を処理することが可能である。クロック周波数の値に代えて×印を記した項目は、クロック周波数が上限値278MHzを超える領域に相当する。

0140

図13によると、ピクチャサイズが1920×1080であれば最大フレームレートは103fpsであり、ピクチャサイズが854×480であれば最大フレームレートは400fpsであり、ピクチャサイズが640×480であれば最大フレームレートは400fpsであり、ピクチャサイズが640×360であれば最大フレームレートは800fpsであり、ピクチャサイズが352×288であれば最大フレームレートは1500fpsであり、ピクチャサイズが320×240であれば最大フレームレートは1500fpsであり、ピクチャサイズが320×180であれば最大フレームレートは3000fpsであり、ピクチャサイズが176×144であれば最大フレームレートは6000fpsであり、ピクチャサイズが160×128であれば最大フレームレートは8000fpsであることが分かる。

0141

各ピクチャサイズに対する最大フレームレートは、ソフトウェア処理部11によって設定される。ソフトウェア処理部11は、画像処理装置2で処理可能な最大ピクチャサイズ(1920×1080)及び当該最大ピクチャサイズに対応するフレームレート(103fps)と、出力ピクチャのピクチャサイズと、ハードウェア処理部12のクロック周波数の上限値(278MHz)とに基づいて、出力ピクチャの最大フレームレートを設定する。

0142

上述の通常モードによると、1ピクチャの処理が完了する度に、ソフトウェア処理部11からハードウェア処理部12へのコマンドS05,S07,S10、及び、ハードウェア処理部12からソフトウェア処理部11へのエンコードの完了通知S23が発生する。従って、高フレームレートの画像を扱う場合には、フレームレートに比例してコマンドS05,S07,S10及び完了通知S23の発生回数が増加する。そこで高速モードでは、指定数(例えばGOP15の場合は255個、GOP30の場合は240個)のピクチャを連続して処理し、これら指定数のピクチャ内では、ピクチャ毎のコマンドS05,S07,S10及び完了通知S23を省略する。これにより、割り込み通知の発生回数を抑制することができる。

0143

図14は、高速モードにおける画像処理装置2の処理フローを示すフローチャートである。図4に示した通常モードとの相違点は、処理負荷を軽減するためにステップP16〜P21のCZW及び/又はフィラーデータの挿入処理を省略したことである。その他については図4と同様であるため、重複した説明は省略する。

0144

図15は、高速モードにおける画像処理装置2の制御シーケンスを示す図である。

0145

まずソフトウェア処理部11は、各種レジスタの設定情報を初期化するためのリセット信号S01を、エンコード制御回路23に入力する。

0146

次にNAL符号化回路28は、ウエイト設定信号S02をエントロピ符号化回路27に入力する。

0147

次にソフトウェア処理部11は、上記ステップP03,P05,P07で述べた設定情報等を含む初期設定信号S03を、エンコード制御回路23に入力する。高速モードでは、連続エンコードを行う指定数に関する情報が、初期設定信号S03に含まれる。

0148

次にソフトウェア処理部11は、上記ステップP02で述べたストリームバッファの初期設定信号S04を、NAL符号化回路28に入力する。

0149

次にソフトウェア処理部11は、上記ステップP08で述べた記憶部13からハードウェア処理部12への画像転送を開始させるコマンドS05を、エンコード制御回路23に入力する。高速モードでは、連続エンコードする指定数の全てのキャプチャ画像が、記憶部13内に準備されている。

0150

次にソフトウェア処理部11は、上記ステップP09で述べた量子化マトリクスの設定信号S06を、エンコード制御回路23に入力する。

0151

次にソフトウェア処理部11は、NAL符号化回路28が高速モードとして動作すべきことを指示する設定信号S40を、NAL符号化回路28に入力する。

0152

次にソフトウェア処理部11は、上記ステップP10で述べたマクロブロック処理を開始させるコマンドS07を、エンコード制御回路23に入力する。

0153

次にエンコード制御回路23は、マクロブロックのエントロピ符号化を開始させる信号S08を、エントロピ符号化回路27に入力する。これにより、エントロピ符号化回路27は、当該マクロブロックのエントロピ符号化を開始する。

0154

次にソフトウェア処理部11は、上記ステップP11で述べたヘッダ情報の設定信号S09を、NAL符号化回路28に入力する。高速モードでは、連続エンコードする指定数の全てのピクチャに関するヘッダ情報が、一括してNAL符号化回路28に入力される。

0155

次にソフトウェア処理部11は、上記ステップP12で述べたヘッダ情報のNAL化を開始させるコマンドS10を、NAL符号化回路28に入力する。

0156

次にNAL符号化回路28は、NAL符号化回路28のクロック開始信号S11を、エンコード制御回路23に入力する。これにより、上記ステップP12で述べたNAL符号化回路28によるNAL化処理が開始される。

0157

ヘッダ情報のNAL化が完了すると、次にNAL符号化回路28は、ヘッダ情報のNAL化完了信号S12を、ソフトウェア処理部11に入力する。高速モードでは、連続エンコードする指定数の全てのピクチャに関するヘッダ情報のNAL化が完了した場合にのみ、NAL化完了信号S12がソフトウェア処理部11に入力される。

0158

また、NAL符号化回路28は、ウエイト解除信号S13をエントロピ符号化回路27に入力する。これにより、エントロピ符号化回路27からNAL符号化回路28にマクロブロックのデータが入力され、NAL符号化回路28は当該マクロブロックのデータに関してNAL化を行う。

0159

次にエントロピ符号化回路27は、マクロブロックのエントロピ符号化の完了信号S14を、エンコード制御回路23に入力する。

0160

次にエンコード制御回路23は、次のマクロブロックのエントロピ符号化を開始させる信号S15を、エントロピ符号化回路27に入力する。当該マクロブロックのエントロピ符号化が完了すると、次にエントロピ符号化回路27は、マクロブロックのエントロピ符号化の完了信号S16をエンコード制御回路23に入力する。図中のループL02で示すように、エンコード制御回路23は、ピクチャ内の全てのマクロブロックに関するエントロピ符号化が完了するまで、同様の処理を繰り返す。

0161

次にエンコード制御回路23は、最後のマクロブロックのエントロピ符号化を開始させる信号S17を、エントロピ符号化回路27に入力する。当該マクロブロックのエントロピ符号化が完了すると、次にエントロピ符号化回路27は、マクロブロックのエントロピ符号化の完了信号S18をエンコード制御回路23に入力する。また、エントロピ符号化回路27は、ピクチャ内の最後のマクロブロックであることを示す信号S19を、NAL符号化回路28に入力する。

0162

次にNAL符号化回路28は、最後のマクロブロックのスライスデータに関するNAL化が完了すると、NAL符号化回路28のクロック停止信号S20を、エンコード制御回路23に入力する。高速モードでは、連続エンコードする最後のピクチャに関するスライスデータのNAL化が完了した場合にのみ、クロック停止信号S20がソフトウェア処理部11に入力される。

0163

また、NAL符号化回路28は、ウエイト設定信号S21をエントロピ符号化回路27に入力する。

0164

また、NAL符号化回路28は、1ピクチャ分のスライスデータのNAL化が完了したことを示すNAL化完了信号S22を、エンコード制御回路23に入力する。

0165

次にエンコード制御回路23は、次のピクチャのエントロピ符号化を開始し、当該ピクチャのスライスデータのNAL化が完了すると、NAL化完了信号S22がNAL符号化回路28からエンコード制御回路23に再び入力される。図中のループL03で示すように、エンコード制御回路23は、連続エンコードする指定数の全てのピクチャに関するスライスデータのNAL化が完了するまで、同様の処理を繰り返す。

0166

次にエンコード制御回路23は、上記ステップP13で述べたエンコードの完了通知S23を、ソフトウェア処理部11に入力する。

0167

図中のループL01で示すように、処理対象である全てのピクチャに関するNAL化が完了するまで、上記と同様の処理が繰り返し実行される。

0168

このように、ハードウェア処理部12の動作モードが高速モードに設定された場合には、ソフトウェア処理部11は、出力ピクチャに関する設定情報(指定数等)を、ハードウェア処理部12が入力ピクチャのエンコードを開始する前にハードウェア処理部12に通知し、ハードウェア処理部12は、ソフトウェア処理部11から通知された設定情報に基づいて、出力ピクチャに関するエンコードを、ピクチャ毎の完了通知を省略して連続して実行し、指定数の出力ピクチャに関するエンコードが全て完了することにより、エンコードの完了通知S23をソフトウェア処理部11に割り込み通知する。その結果、ピクチャサイズが小さくフレームレートが高い出力ピクチャを生成するモードである高速モードを実行するにあたって、ソフトウェア処理部11とハードウェア処理部12との間で1ピクチャ毎にコマンド発行及び割り込み通知を行う場合と比較すると、ソフトウェア処理部11の処理負荷を軽減できるとともに、エンコード処理の所要時間を短縮することが可能となる。

0169

また、ソフトウェア処理部11は、画像処理装置2で処理可能な最大ピクチャサイズ及び当該最大ピクチャサイズに対応するフレームレートと、出力ピクチャのピクチャサイズと、ハードウェア処理部12の最大クロック周波数とに基づいて、出力ピクチャの最大フレームレートを設定する。従って、画像処理装置2の最大処理能力を有効に活用しつつ、高速エンコードを適切に実行することが可能となる。

0170

また、ソフトウェア処理部11は、連続したエンコードが実行される出力ピクチャの指定数に関する情報を、初期設定信号S03(設定情報)に含めてハードウェア処理部12に通知する。従って、ハードウェア処理部12は、高速エンコードにおいて連続したエンコードによって生成すべき指定数の出力ピクチャを、設定情報に基づいて適切に処理することが可能となる。

0171

また、ソフトウェア処理部11からハードウェア処理部12に通知された設定情報は、NAL符号化回路28(NAL化回路)及びエンコード制御回路23(制御回路)に入力される。このように、高速エンコードを実行するにあたって必要となる設定情報をNAL符号化回路28及びエンコード制御回路23に入力することにより、ハードウェア処理部において高速エンコードを適切に実行することが可能となる。

0172

また、NAL符号化回路28に入力される設定情報S09には、出力ピクチャのNAL化に使用するヘッダ情報が含まれる。このように、出力ピクチャのNAL化を行うにあたって必要となるヘッダ情報をNAL符号化回路28に入力することにより、NAL符号化回路28において出力ピクチャのNAL化を適切に実行することが可能となる。

0173

2画像処理装置
11ソフトウェア処理部
12ハードウェア処理部
13 記憶部
23エンコード制御回路
27エントロピ符号化回路
28NAL符号化回路

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ