JP2023008624A - 撮像装置及びその制御方法及びプログラム - Google Patents
撮像装置及びその制御方法及びプログラム Download PDFInfo
- Publication number
- JP2023008624A JP2023008624A JP2021112327A JP2021112327A JP2023008624A JP 2023008624 A JP2023008624 A JP 2023008624A JP 2021112327 A JP2021112327 A JP 2021112327A JP 2021112327 A JP2021112327 A JP 2021112327A JP 2023008624 A JP2023008624 A JP 2023008624A
- Authority
- JP
- Japan
- Prior art keywords
- code
- image
- unit
- output
- period
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】 回路規模の大幅な増大を伴うことなく、異なる複数の動作モードにおける符号化/復号の要求性能を満たす技術を提供する。【解決手段】 撮像部、該撮像部で得た画像を符号化する符号化部、該符号化部で生成された符号化データを復号する復号部とを有する撮像装置であって、動作モードに従って、符号化部が生成する符号の符号長の上限値を決定し、符号化部に設定する制御部を更に有し、復号部は、符号化部からの符号の符号長が閾値以下である場合には、当該符号を1サイクルで復号し、符号化部からの符号の符号長が閾値を超える場合には、当該符号を複数のサイクルで復号する。【選択図】 図1
Description
本発明は、画像の符号化及び復号技術に関するものである。
近年、デジタルカメラなどの撮像装置は、高解像度化、高フレームレート化に伴って、システムで扱う単位時間当たりの画像データ量が著しく増加している。このため、装置内の画像メモリやバスインタフェース回路の高速化が要求されている。これに対し、画像メモリやバスインタフェースで伝送する際の前後で、対象となる画像の圧縮符号化を行うことが考えられる。すなわち、バスインタフェース上の単位時間当たりのデータ量を抑制することで、回路の高速化の要求度合いを緩和するものである。
この場合、圧縮符号化のための符号化方式は、回路規模及び符号化遅延の小さいことが望まれる。そのため、従来のJPEGやMPEG2に代表されるDCTベースの符号化方式は、演算量(特に乗算)が多いので不向きである。そこで、DPCM(Differential Pulse Code Modulation:差分パルス符号変調)ベースの予測符号化を用いて予測差分データを生成し、さらに可変長符号を用いて圧縮する符号化方式が提案されている(例えば特許文献1)。
こうした可変長符号を復号する復号器は、一般的にハードウェア実装上、回路規模の増大を抑えつつ処理の高速化を実現することが困難である。可変長符号を復号する復号器には、通常、連続する符号を逐次処理するために次の符号を頭出しするバレルシフタ回路が必要となる。一般的にこうしたバレルシフタ回路は、一度にシフト可能なシフト幅(以下、最大シフト幅)が大きければ大きいほど回路規模が増大化する。このため、省回路規模化の観点からすれば、最大シフト幅が小さいバレルシフタ回路を備える方が望ましい。
一方で、最大シフト幅が、使用する符号の最大符号長を下回る場合、当然、最大シフト幅を上回る符号長の符号を復号する際には、1サイクルで次の符号の頭出しが行うことはできない。つまり、最大シフト幅を超える符号については、複数サイクルかけて処理を行う必要がある。このため、サイクル当たりの処理性能の観点からすれば、最大シフト幅が大きいバレルシフタ回路を備える方が望ましい。
上述したように、最大符号長の符号でも1サイクルで処理できる復号器の構成(以下、速度優先構成と呼ぶ)を採る場合、サイクル当たりの処理性能は高くなるものの、回路規模は大きくなる。一方、最大シフト幅を上回る符号長の符号を復号する際には複数サイクルで処理し、そうでない場合は1サイクルで処理する復号器の構成(以下、省規模優先構成と呼ぶ)を採る場合、速度優先構成に比べ回路規模は小さくできるものの、サイクル当たりの処理性能は劣る。
また、例えば特許文献2で提案されているような、任意のシンボル系列から符号を生成する際に、その符号長の最大値を指定可能な符号生成技術を適用することで、速度優先構成の復号器であってもその回路規模を抑えることが可能となる。しかしながらこの場合は、符号長の最大値に制限を加えるため、圧縮率が低下する。このため、必要な圧縮率を達成するために画質を低下させる必要が生ずる場合がある。
一方で、デジタルカメラなどの撮像装置においては、その動作モードに応じて符号化器及び復号器に要求される単位時間当たりの処理性能や圧縮性能は異なる場合が多い。例えば、記録画像を処理する動作モードにおいては、処理性能よりも画質を損なわない圧縮性能が優先される(以下、画質優先モードと呼ぶ)。また、液晶モニタ等の表示装置で映像を見ながら撮影するユースケース等において、表示画像を扱う処理系で使われる動作モードでは、単位時間当たりの画像の表示枚数を多くするために画質よりも処理性能が優先される(以下、処理性能優先モードと呼ぶ)。このように異なる複数の動作モードにおける要求性能を満たすために、従来、画質を損なわないように符号長の最大値に制限を加えない一方で、処理性能を損なわないように復号器の実装構成として速度優先構成を採用することで回路規模を犠牲にしていた。
本発明は上記の問題点に鑑み、回路規模の大幅な増大を伴うことなく、異なる複数の動作モードにおける要求性能を満たす符号化、復号の技術を提供することを目的とする。
この課題を解決するため、例えば本発明の撮像装置は以下の構成を備える。すなわち、
撮像手段、該撮像手段で得た画像を符号化する符号化手段、該符号化手段で生成された符号化データを復号する復号手段とを有する撮像装置であって、
動作モードに従って、前記符号化手段が生成する符号の符号長の上限値を決定し、前記符号化手段に設定する制御手段を更に有し、
前記復号手段は、
前記符号化手段からの符号の符号長が閾値以下である場合には、当該符号を1サイクルで復号し、
前記符号化手段からの符号の符号長が前記閾値を超える場合には、当該符号を複数のサイクルで復号する。
撮像手段、該撮像手段で得た画像を符号化する符号化手段、該符号化手段で生成された符号化データを復号する復号手段とを有する撮像装置であって、
動作モードに従って、前記符号化手段が生成する符号の符号長の上限値を決定し、前記符号化手段に設定する制御手段を更に有し、
前記復号手段は、
前記符号化手段からの符号の符号長が閾値以下である場合には、当該符号を1サイクルで復号し、
前記符号化手段からの符号の符号長が前記閾値を超える場合には、当該符号を複数のサイクルで復号する。
本発明によれば、回路規模の大幅な増大を伴うことなく、異なる複数の動作モードにおける要求性能を満たす画像処理装置を提供することができる。特に、速度優先構成の復号器を備えることなく、画質優先モードと処理性能優先モードいずれのモードにおいても、要求される画質及び復号器に要求される処理性能を満たす画像処理装置を提供することができる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
<画像処理装置の説明>
図1は、第1の実施形態が適用する画像処理装置の構成を示すブロック図である。本装置は、撮像部100、I/F部101、制御部102、画像符号化部103、メモリ104、表示画像復号部105、表示画像現像処理部106、表示画像処理部107、表示機器108、記録画像復号部109、記録画像現像処理部110、記録画像処理部111、記録媒体112、及び、操作部115を有する。
<画像処理装置の説明>
図1は、第1の実施形態が適用する画像処理装置の構成を示すブロック図である。本装置は、撮像部100、I/F部101、制御部102、画像符号化部103、メモリ104、表示画像復号部105、表示画像現像処理部106、表示画像処理部107、表示機器108、記録画像復号部109、記録画像現像処理部110、記録画像処理部111、記録媒体112、及び、操作部115を有する。
本画像処理装置の各ブロックの機能は、撮像部100やメモリ104、表示機器108、記録媒体112のような物理的デバイスを除き、ソフトウェア及びハードウェアのいずれによって実装されていてもよい。例えば、各ブロックの機能は、専用のデバイス、ロジック回路、及びメモリなどのハードウェアにより実装されてもよい。或いは、各ブロックの機能は、メモリ、メモリに記憶されている処理プログラム、及び処理プログラムを実行するCPU等のコンピュータにより実装されてもよい。本画像処理装置は、例えばデジタルカメラとして実施することができるが、それ以外の装置として実施することもできる。例えば、本画像処理装置は、パーソナルコンピュータ、携帯電話、スマートフォン、PDA、タブレット端末、デジタルビデオカメラなどの任意の情報処理端末又は撮像装置として実施することができる。
撮像部100は、撮像素子を備え光学系(図示せず)を介して撮像素子上に結像された光学像を光電変換し、得られたアナログ信号をA/D変換することでデジタル画像信号を出力する。実施形態における撮像素子は、R,G、Bの各色カラーフィルタがベイヤ配列となっているものとする。したがって、撮像部100が出力するデジタル画像データ信号の画素の並びもベイヤ配列となり、現像処理前の画像である。したがって、このデジタル画像データは、RAW画像データとも言う。
I/F部101は、撮像部100から供給される画像データ(RAW画像データ)を受け取り、画像符号化部103に出力する。図12(a)はベイヤ配列の一例を示している。図示の如く、ベイヤ配列は、1個のR(赤)、1個のB(青)、2個のG(緑)の画素で構成される2×2画素の単位ブロックが、繰り返された配列となっている。撮像部100で得た画像をラスタースキャン順に読み出すと、1ラインのRAW画像データは、RGRGRG…、もしくはGBGBGB…と、2つの成分が交互に並んだものとなる。1ライン中の隣り合う2画素は色成分が異なるので、このままでは効率的な符号化を行うには都合が悪い。そこで、実施形態におけるI/F部101は、図12(b)に示す構成を備える。図示の通り、I/F部101は、スイッチ1201,出力部1202、バッファ1203、1204を有する。スイッチ1201は、撮像部100からラスタースキャン順に入力した1ライン単位に出力先を変更する。例えば、スイッチ1201は、偶数番目のラインの出力先としてバッファ1203を、奇数番目のラインの出力先としてバッファ1204を交互に選択し、出力する。そして、出力部1202は、バッファ1203,1204のうち非書き込み中の1つから、画素配列の偶数番目の画素群の読み出しと出力を行い、次いで奇数番目の画素群の読み出しと出力を行う。例えば、撮像部100からの奇数番目のラインデータがバッファ1204に書き込まれている間、出力部1202はバッファ1203に既に格納されている画素データ{P0,P1,P2,P3,…}のうち、偶数番目の画素群{P0,P2…}を画像符号化部103に出力し、次いで奇数番目の画素群{P1,P3…}を画像符号化部103に出力する。つまり、1ライン分のRAW画像データ(2種類の色成分が混在したデータ)から、それぞれが単一成分のラインデータを2つ生成することになる。同様に、撮像部100からの偶数番目のラインデータがバッファ1203に書き込まれている間、出力部1202はバッファ1204に格納されている画素データのうち、偶数番目の画素群を出力し、次いで奇数番目の画素群を出力する。
制御部102は、操作部115を介してユーザからの各種操作を受け付け、装置全体の制御を司る。特に、実施形態の制御部102は、ユーザが設定(もしくは選択)した動作モードに応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。なお、上限値の決定方法としては、例えば処理速度よりも画質を優先することが要求される画質優先モードが選択された場合には、上限値を大きくし、画質よりも高速に処理することが要求される速度優先モードが選択された場合には、上限値を小さくする。上限値が小さく設定されることでr、復号スピードが高くなる。なお、画質と速度感を2段階ではなく、多段階にして、上限値を決めてもよい。
画像符号化部103は、I/F部101から供給される画像信号(単一成分で構成されるラインデータ)を、所定の画素数で構成される画素ブロックに含まれる各画素を後述する符号化方法に従って符号化し、情報量を圧縮した符号化データを出力する。出力された符号化データは、メモリ104に記憶される。
メモリ104は、画像符号化部103から出力された符号化データを格納する。メモリ104は、バッファメモリとして機能し、画像符号化部103から出力された符号化データを記憶するために必要な記憶容量を有する。
表示画像復号部105は、メモリ104に保持された符号化データを読み出して復号し、ベイヤ配列の画像を復元し、後段へ出力する。
表示画像現像処理部106は、表示画像復号部105より出力された画像(RAW画像データ)に対して表示画像向けの現像処理を実行し、表示画像データを生成する。より具体的には、表示画像現像処理部106は、RAW画像データのデベイヤ(デモザイク)処理と呼ばれる色補間処理、色空間変換処理、キズ補正処理、光学的な歪補正、拡大・縮小処理等を実行し、表示画像データを生成する。表示画像処理部107は、表示画像現像処理部106から出力される表示画像データに対してガンマ変換処理、色空間変換処理、拡大・縮小処理、表示機器108のI/Fへの合わせ込み処理等の画像処理を実行し、表示機器108へと出力する。表示機器108は、撮像部100から送出されてくる画像や、撮影した画像を確認するための表示機器であり、表示画像処理部107から出力された表示画像データを表示する。表示機器108は、電子ビューファインダーや、若しくは液晶モニタであってもよい。また、表示機器108は、更に各種処理メニュー等も表示する。
記録画像復号部109は、メモリ104に保持された符号化データを読み出して復号し、ベイヤ配列の画像を復元し、後段へ出力する。記録画像現像処理部110は、記録画像復号部109より出力された画像(RAWデータ)に対して記録画像向けの現像処理を実行し、記録画像データを生成する。より具体的には、記録画像現像処理部110は、デベイヤ(デモザイク)処理と呼ばれる色補間処理、色空間変換処理、ノイズ抑制処理、光学的な歪補正、拡大・縮小処理等を実行し、YCbCr4:2:2等の輝度と色差で表される記録画像データを生成する。記録画像処理部111は、記録画像現像処理部110から出力される記録画像データに対して圧縮処理を行い、圧縮された記録画像データを記録媒体112 に格納する。例えば、記録画像データが静止画である場合、記録画像処理部111はJPEG圧縮やHEIF圧縮等を用いて記録画像データを圧縮する。記録画像データが動画である場合、記録画像処理部111はMPEG-2、H.264、H.265等を用いて記録画像データを圧縮する。
なお、図1では、撮像部100~記録媒体112までの計13の構成要素の各々を独立して図示しているが、これらのブロックの全てが1チップに統合されていてもよいし、複数のチップに分割して構成されてもよい。例えば撮像部100、I/F部101、及び、画像符号化部103が一つのセンサデバイスとして統合して構成され、その他のブロックは1つまたは複数のチップ内に置かれる構成としてもよい。また、撮像部100が一つのセンサデバイスとして構成され、その他のブロックは1つまたは複数のチップ内に置かれる構成としてもよい。
<画像符号化部103の説明>
ここで、本実施形態にかかる画像符号化部103の構成及び処理フローについて、図2及び図3を用いて説明する。なお、先に説明したように、I/F部101から出力される画像データは単一成分(R,G,Bのいずれか)のラインデータとなるので、以下の説明では、その1つの色成分のラインデータに限って説明する。
ここで、本実施形態にかかる画像符号化部103の構成及び処理フローについて、図2及び図3を用いて説明する。なお、先に説明したように、I/F部101から出力される画像データは単一成分(R,G,Bのいずれか)のラインデータとなるので、以下の説明では、その1つの色成分のラインデータに限って説明する。
図2は、実施形態における画像符号化部103のブロック構成図である。画像符号化部103は、DPCM部200、量子化器201、可変長符号化器202、及び量子化パラメータ生成器203より構成される。
DPCM部200は、入力画像から、予め定められたサイズのブロック単位に入力し、ブロック単位にDPCM処理を行う。実施形態では、説明を単純化するため、1ブロックは水平方向に連続する64画素とするが、複数ライン分のバッファを有することで、2×32画素等、2次元のブロックとしても構わない。DPCM部200は、入力されるブロックの画素毎に予測値との差分をとって予測差分値を生成し、量子化器201へと出力する。予測値は、符号化対象画素の周辺画素の既に符号化済みの画素のローカルデコード値を用いて生成してもよく、符号化対象画素の左に隣接する画素値や真上に隣接する画素値のローカルデコード値を予測値としてもよい。また、符号化対象画素の複数の周辺画素、例えば左、左上、真上にそれぞれ隣接する画素値のローカルデコード値のいずれかを随時選択して予測値としてもよい。また、符号化対象画素の複数の周辺画素のローカルデコード値のメディアン値(中間値)をとって予測値としてもよい。また、いずれの予測値生成方法においても、本発明においてはこれらに限定されるものではない。
量子化部201は、DPCM部200から1ブロック分の予測差分値(実施形態では、64画素分の予測誤差値)を入力し、それらを、量子化パラメータ生成器203より与えられた量子化パラメータQPを用いて量子化する。そして、量子化部201は、1ブロック分の量子化予測差分値を、可変長符号化器202へ出力する。
本実施形態において、量子化器201は、QPが小さいほど量子化ステップを小さく(細かく)し、QPが大きいほど量子化ステップを大きく(粗く)する。具体的には、量子化データは式(1)で表される演算により生成される。
Quant= Data >> QP …(1)
ここで、Quantは量子化予測差分値、Dataは入力予測差分値、QPは量子化パラメータである。また、>>は右シフト演算を示している。例えば、Data=156、QP=3である場合、量子化予測差分値Quantは“19”となる。なお、「X>>3」は「Xを23(=8)で除算する」ことを表しているのは、当業者であれば明らかである。
Quant= Data >> QP …(1)
ここで、Quantは量子化予測差分値、Dataは入力予測差分値、QPは量子化パラメータである。また、>>は右シフト演算を示している。例えば、Data=156、QP=3である場合、量子化予測差分値Quantは“19”となる。なお、「X>>3」は「Xを23(=8)で除算する」ことを表しているのは、当業者であれば明らかである。
上述したように本実施形態においては、量子化パラメータQP分右シフトすることで量子化する構成としているが、これに限定されるものではなく、例えば除算を使用する構成としてもよい。
可変長符号化器202は、量子化器201より出力された1ブロック分の量子化予測差分値をエントロピー符号化して符号データを生成する。このとき、可変長符号化器202は、利用された量子化パラメータを示す情報を、符号化データの適当な位置(例えば先頭)に付加する。また、可変長符号化器202は、1ブロック分の符号化データのうち、最大符号長を量子化パラメータ生成器203へ出力する。
本実施形態において、量子化パラメータ生成器203は、エントロピー符号としてゴロム符号を用いるものとするが、これに限定されるものではなく他のエントロピー符号、例えばハフマン符号や算術符号を用いるのでも構わない。また、符号は、入力値(量子化予測差分値)が0の場合に最も短い符号長の符号が割り当てられ、入力値の絶対値が大きくなるほど長い符号長の符号が割り当てられる。
量子化パラメータ生成器203は、制御部102から出力される符号長制御信号、および可変長符号化器202から出力される符号長を元に、着目しているブロックに対する、量子化パラメータQPを生成して量子化器201へと出力する。符号長制御信号は、可変長符号化器202において使用する符号の符号長の上限値を指定する信号である。この上限値は、操作部115からの設定に従うものである。もし可変長符号化器202から出力される符号長が、符号長制御信号で指定される符号長上限値を上回る場合は、量子化パラメータ生成器203は、量子化パラメータQP値を増加させて、着目ブロックの量子化、エントロピー符号化を再度実行させる。また、可変長符号化器202から出力される符号長が上限値以下であった場合、量子化パラメータ生成器203は、可変長符号化器202に出力許可を与える。これを受け、可変長符号化器202は、生成された1ブロック分の符号化データ(利用した量子化パラメータを示す情報も含まれる)に出力する。
次に、画像符号化部103の処理フローを、図3を用いて説明する。図3は、画像符号化部103で行う、1ブロック(1×64画素)分の処理をフローチャートで表した図である。
処理が開始されると、S300にて、量子化パラメータ生成器203は量子化パラメータQPの初期化を行う。具体的には、設定した圧縮率に応じて量子化パラメータQPの初期値が生成される。すなわち、要求される圧縮率が高いほどQPの値を大きく、低いほどQPの値が小さくなるように初期値を生成する。
続いてS301にて、DPCM部200は、入力した1ブロック内の画素についてDPCM処理を行い、各画素の予測差分値を生成する。
次に、S302にて、量子化器201は、量子化パラメータQPを用いて、1ブロック分の予測差分値に対する量子化処理を行い、量子化予測差分値を生成する。
次に、S303にて、可変長符号化器202が1ブロック分の量子化予測差分値について符号化を行い、その中の最大符号長を求める。なお、符号化を行わず、量子化予測差分値と符号長との関係を示すテーブルを用いて、最大符号長を求めるようにしても良い。
次に、S304にて、量子化パラメータ203は、制御部102から設定された符号長制御信号で示される上限値と、可変長符号化器202から出力される符号長を比較する。符号長が上限値を超える場合、量子化パラメータ203は、S305に処理を進め、量子化パラメータQPを“1”増加させ、更新する。そして、量子化パラメータ203は、処理をS302に進める。この結果、更新後の量子化パラメータQPに基づく、着目ブロックに対する量子化器201による量子化、可変長符号化器202による符号化を再度実行させる。そして、着目ブロック内の最大符号長が上限値以下なるまで、S302~S305の処理が、繰り返されることになる。
さて、S304にて、量子化パラメータ203が、着目ブロックにおける最大符号長が上限値以下となったと判定した場合、処理をS306に進める。このS306にて、可変長符号化器202は、着目ブロックのエントロピー符号化を行い、量子化パラメータを付加した符号化データを出力する。
以上説明したごとく、画像符号化部103は制御部102から出力される符号長制御信号に応じて、指示された符号長の上限値を超える符号が発生した場合は量子化パラメータQP値を増加させて、符号長が当該上限値を超えないように符号化処理を行う。量子化パラメータQPの値が大きいほど符号化前の情報が多く削られるため、復号後の画像の画質劣化は大きくなる傾向にある。このため、符号長制御信号において符号長の上限値を大きく設定するほど、復号後の画像の画質劣化は小さく、符号長の上限値を小さく設定するほど、画質劣化は大きくなる。
また、本実施形態においては量子化パラメータQPをブロック単位に割り当てる構成として説明した。この際のブロックは、実施形態では水平方向に並ぶ64画素としたが、画像符号化部103内に、複数ライン分のバッファを設けることで、2次元的なブロック(例えば16×4画素等)としても良いし、1ブロックを構成する画素数も特に64画素に限定されるものでもない。
<画像復号部の説明>
次に、表示画像復号部105及び記録画像復号部109の構成について、図4を用いて説明する。
次に、表示画像復号部105及び記録画像復号部109の構成について、図4を用いて説明する。
図4は、表示画像復号部105(記録画像復号部109も同様)のブロック構成図である。なお、図示では、ベイヤ配列の画像に戻す構成については省略している。
表示画像復号部105は、選択器400、符号バッファ401、可変長復号器402、シフト量演算器403、シフタ404、逆量子化器405、逆DPCM部406、量子化パラメータ復号器407を有する。以下、同図を参照して、1ブロック(実施形態では1×64画素)の復号処理を説明する。
量子化パラメータ復号器407は、復号対象の着目ブロック分の符号化データに含まれる量子化パラメータに関する情報を復号し、量子化パラメータQPを決定し、それを逆量子化器405に設定する。
選択器400は、符号取り込み指示信号に基づき、着目ブロックの符号化データから所定単位分の符号入力、若しくはシフタ404の出力のいずれかを選択して符号バッファ401へ出力する。符号取り込み指示信号は、所定の単位数の符号入力を取り込むタイミングを指示するもので、本実施形態にかかる画像処理装置が備えるCPU等の制御手段(図示しない)等から出力されてもよい。また、符号入力の所定の単位数は1つであってもよいし、複数であってもよい。
符号バッファ401は、選択器400からの出力を格納するバッファであり、符号入力をクロック入力(図示しない)に同期して取り込んで出力する。また、符号バッファ401は、符号入力を前記所定の単位数分全て保持できる容量を有する。符号バッファ401からの出力は、可変長復号器402及びシフタ404へと、それぞれ接続される。
可変長復号器402は、シフト量演算器403より出力されるデータ無効指示信号に基づき、符号バッファ401より出力される符号データの先頭に位置する符号を可変長復号して量子化予測差分値を取り出し、逆量子化器405へと出力する。また、可変長復号器402は、符号バッファ401より出力される符号データの先頭に位置する符号の符号長を算出して、シフト量演算器403へと出力する。
シフト量演算器403は、可変長復号器402より出力される符号長を元に、シフタ404へ指示するシフト量を算出してシフタ404へと出力し、また、データ無効指示信号を生成して可変長復号器402へと出力する。シフト量演算器403は、シフタ404が一度に(1クロックサイクル期間に)シフトできる最大のシフト幅(以下、SW_max)を鑑み、符号長がSW_maxを超える場合はこれを複数のシフト量に分けて算出し、これらを複数回に分けて出力する。また、シフト量演算器403は、符号長がSW_maxを超える場合は、後続する符号部分を入力するための複数回のシフトを行い、最終回の出力時にデータ無効指示信号として無効でないことを示す「L」を、それ以外の下位の出力時は無効であることを示す「H」を出力する。また、符号長がSW_maxを超えない場合は、シフト量演算器403は、シフト量を複数に分けずに1回で出力し、かつ、その際のデータ無効指示信号として「L」を出力する。
本実施形態においては、シフタ404の最大シフト幅SW_maxは「16」であるとものとするが、これに限定されるものではない。例えば、入力された符号長が「8」であった場合はSW_max以下であるため、シフト量演算器403はシフト量として「8」を1回出力し、データ無効指示信号として「L」を出力する。また、例えば、入力された符号長が「20」であった場合はSW_maxを超えるため、シフト量演算器403はシフト量として「16」及び「4」に分け、それぞれ2回に分けて出力する。また、その際シフト量演算器403は、1回目のシフト量「16」出力時にデータ無効指示信号として「H」を出力し、2回目のシフト量「4」出力時にデータ無効指示信号として「L」を出力する。
シフタ404は、符号バッファ401より出力される符号データに対して、シフト量演算器403より出力されるシフト量分シフトして選択器400へと出力する。
可変長復号器402は、シフト量演算器403からデータ無効指示信号が「L」になった場合、1つの完成された符号が揃ったと判定し、復号し、量子化予測差分値を生成する。
逆量子化器405は、可変長復号器402より出力される量子化予測差分値に対して、量子化パラメータQPを用いて逆量子化処理を行って逆量子化予測差分値(符号化側の「予測差分値」に対応)を生成し、逆DPCM部406へと出力する。
逆DPCM部406は、逆量子化器405より出力される逆量子化予測差分値に、対応する予測値を加算して、画素値を復元して出力する。予測値は、DPCM部200における予測値の生成方法と同等の方法を用いて得ることができる。
次に、表示画像復号部105(記録画像復号部109も同様である)の動作を、図5及び図6を用いて説明する。
図5は、表示画像復号部105及び記録画像復号部109の動作をタイミングチャートで表した図である。図5で示す例においては、符号#1~4の4つの符号が、順に処理されていく状態を示している。また図6は、図5で示す例におけるこれらの符号#1~4の有する符号長、シフト量演算器403より出力される対応するシフト量、及び対応する消費クロックサイクル数の関係を表す。
図5において、期間501~期間506はそれぞれ、1クロックサイクルの期間を有する。
期間501の先頭において、所定単位分の符号が選択器400へと入力される。本実施形態においては、当該所定単位を4とするが、これに限定されるものではない。当該所定単位分の符号は、符号#1~4がそれぞれ先頭から番号順に隙間なく配置されている。
また、同じく期間501において選択器400は、符号取り込み指示信号が「H」レベル(符号入力取り込み指示を意味する)を示しているため、符号入力を選択してこれを出力する。
符号バッファ401は期間501における選択器400の出力(すなわち、符号入力)を取り込んで記憶し、期間502の先頭においてこれを出力する。
期間502の先頭において符号バッファ401より出力されたデータは、所定単位分の符号のうち最初の符号である符号#1がデータの先頭に配置された状態となっており、可変長復号器402へと渡される。
次に、期間502において可変長復号器402は、符号バッファ401より出力されたデータを入力として、データの先頭に配置されている符号#1の符号長「15」を算出してシフト量演算器403へと出力する。また、期間502において可変長復号器402は、符号#1を可変長復号して復号データ(量子化予測差分値)#1を取り出し、逆量子化器405へと出力する。
次に、期間502においてシフト量演算器403は、符号#1に対応するシフト量「15」を算出して、シフタ404へと出力する。符号#1の符号長は「15」であり、SW_maxである「16」以下であるため、符号#1に対応するシフト量は「15」となる。また同時にシフト量演算器403は、データ無効指示信号として「L」を出力する。
次に、期間502においてシフタ404は、符号バッファ401より出力されたデータをシフト量「15」分シフトして、シフト後のデータを選択器400へと出力する。なおシフト量「15」は符号#1の符号長と等しく、符号#1は全てシフトアウトされるため、シフト後のデータは次の符号#2が先頭に頭出しされた状態となる。
次に、期間502において選択器400は、符号取り込み指示信号が「L」レベル(符号入力非取り込み指示を意味する)を示しているため、シフタ404の出力を選択してこれを出力する。
また、期間502において逆量子化器405は、可変長復号器402より出力された復号データ(量子化予測差分値)#1を逆量子化し、IQデータ(逆量子化予測差分値)#1を生成して、逆DPCM部406へと出力する。
また、期間502において逆DPCM部406は、逆量子化器405より出力されたIQデータ(逆量子化予測差分値)#1に、対応する予測値を加算して復号された画素データ#1を出力する。
次に、符号バッファ401は期間502における選択器400の出力(すなわち、シフタ404出力)を取り込んで記憶し、期間503の先頭においてこれを出力する。
期間503の先頭において符号バッファ401より出力されたデータは、符号#2がデータの先頭に頭出しされた状態となっており、可変長復号器402へと渡される。
次に、期間503において可変長復号器402は、符号バッファ401より出力されたデータを入力として、データの先頭に頭出しされている符号#2の符号長「28」を算出してシフト量演算器403へと出力する。また、期間503において可変長復号器402は、符号#2を可変長復号して復号データ(量子化予測差分値)#2を取り出し、逆量子化器405へと出力する。
次に、期間503においてシフト量演算器403は、符号#2に対応する1回目のシフト量「16」を算出して、シフタ404へと出力する。符号#2の符号長は「28」であり、SW_maxである「16」より大きい値であるため、符号#2に対応するシフト量は2回に分割され、一回目がSW_maxと等しい「16」、二回目が残りの「12」となる。また同時にシフト量演算器403は、符号#2が2回に分けて処理されるため、一回目のデータ無効指示信号としてデータ無効を意味する「H」を出力する。
次に、期間503においてシフタ404は、符号バッファ401より出力されたデータをシフト量「16」分シフトして、シフト後のデータを選択器400へと出力する。なおシフト量「16」は符号#2の符号長より小さく、本期間において符号#2は全てシフトアウトされないため、シフト後のデータはまだ次の符号#3が先頭に頭出しされた状態になっていない(すなわち、復号対象データとして無効状態)。
次に、期間503において選択器400は、符号取り込み指示信号が「L」レベル(符号入力非取り込み指示を意味する)を示しているため、シフタ404出力を選択してこれを出力する。
また、期間503において逆量子化器405は、可変長復号器402より出力された復号データ(量子化予測差分値)#2を逆量子化し、IQデータ(逆量子化予測差分値)#2を生成して、逆DPCM部406へと出力する。
また、期間503において逆DPCM部406は、逆量子化器405より出力されたIQデータ(逆量子化予測差分値)#2に、対応する予測値を加算して復号された画素データ#2を出力する。
次に、符号バッファ401は期間503における選択器400の出力(すなわち、シフタ404出力)を取り込んで記憶し、期間504の先頭においてこれを出力する。
期間504の先頭において符号バッファ401より出力されたデータは、符号#2の一回目のシフトがなされた状態となっており、可変長復号器402へと渡される。
次に、期間504において可変長復号器402は、期間503におけるデータ無効指示信号が「H」、すなわちデータ無効を示していたのを受け、符号長及び復号データの出力を行わない。
次に、期間504においてシフト量演算器403は、符号#2に対応する2回目のシフト量「12」を算出して、シフタ404へと出力する。また同時にシフト量演算器403は、2回に分けて処理される符号#2の2回目のデータ無効指示信号として、データ有効を意味する「L」を出力する。
次に、期間504においてシフタ404は、符号バッファ401より出力されたデータをシフト量「12」分シフトして、シフト後のデータを選択器400へと出力する。なおシフト量「12」は符号#2の2回目のシフト量であり、本期間において符号#2は全てシフトアウトされるため、シフト後のデータは次の符号#3が先頭に頭出しされた状態になっている。
次に、期間504において選択器400は、符号取り込み指示信号が「L」レベル(符号入力非取り込み指示を意味する)を示しているため、シフタ404出力を選択してこれを出力する。
また、期間504において逆量子化器405は、可変長復号器402より復号データが出力されないため、逆DPCM部406への出力は行われない。
また、期間504において逆DPCM部406は、逆量子化器405よりIQデータ(逆量子化予測差分値)が出力されないため、復号された画素データの出力は行われない。
次に、符号バッファ401は期間504における選択器400の出力(すなわち、シフタ404出力)を取り込んで記憶し、期間505の先頭においてこれを出力する。
期間505の先頭において符号バッファ401より出力されたデータは、符号#3がデータの先頭に頭出しされた状態となっており、可変長復号器402へと渡される。
次に、期間505において可変長復号器402は、符号バッファ401より出力されたデータを入力として、データの先頭に頭出しされている符号#3の符号長「6」を算出してシフト量演算器403へと出力する。また、期間505において可変長復号器402は、符号#3を可変長復号して復号データ(量子化予測差分値)#3を取り出し、逆量子化器405へと出力する。
次に、期間505においてシフト量演算器403は、符号#3に対応するシフト量「6」を算出して、シフタ404へと出力する。符号#3の符号長は「6」であり、SW_maxである「16」以下であるため、符号#3に対応するシフト量は「6」となる。また同時にシフト量演算器403は、データ無効指示信号として「L」を出力する。
次に、期間505においてシフタ404は、符号バッファ401より出力されたデータをシフト量「6」分シフトして、シフト後のデータを選択器400へと出力する。なおシフト量「6」は符号#3の符号長と等しく、符号#3は全てシフトアウトされるため、シフト後のデータは次の符号#4が先頭に頭出しされた状態となる。
次に、期間505において選択器400は、符号取り込み指示信号が「L」レベル(符号入力非取り込み指示を意味する)を示しているため、シフタ404出力を選択してこれを出力する。
また、期間505において逆量子化器405は、可変長復号器402より出力された復号データ(量子化予測差分値)#3を逆量子化し、IQデータ(逆量子化予測差分値)#3を生成して、逆DPCM部406へと出力する。
また、期間505において逆DPCM部406は、逆量子化器405より出力されたIQデータ(逆量子化予測差分値)#3に、対応する予測値を加算して復号された画素データ#3を出力する。
次に、期間506の先頭において、次の所定単位分の符号が選択器400へと入力される。
また、同じく期間506において選択器400は、符号取り込み指示信号が「H」レベル(符号入力取り込み指示を意味する)を示しているため、符号入力を選択してこれを出力する。
符号バッファ401は期間506における選択器400の出力(すなわち、符号入力)を取り込んで記憶し、次の期間(図示しない)の先頭においてこれを出力する。
期間506の先頭において符号バッファ401より出力されたデータは、符号#4がデータの先頭に頭出しされた状態となっており、可変長復号器402へと渡される。
次に、期間506において可変長復号器402は、符号バッファ401より出力されたデータを入力として、データの先頭に頭出しされている符号#4の符号長「11」を算出してシフト量演算器403へと出力する。また、期間506において可変長復号器402は、符号#4を可変長復号して復号データ(量子化予測差分値)#4を取り出し、逆量子化器405へと出力する。
次に、期間506においてシフト量演算器403は、符号#4に対応するシフト量「11」を算出して、シフタ404へと出力する。符号#4の符号長は「11」であり、SW_maxである「16」以下であるため、符号#4に対応するシフト量は「11」となる。また同時にシフト量演算器403は、データ無効指示信号として「L」を出力する。
次に、期間506においてシフタ404は、符号バッファ401より出力されたデータをシフト量「11」分シフトして、シフト後のデータを選択器400へと出力する。なおシフト量「11」は符号#4の符号長と等しく、符号#4は全てシフトアウトされるため、これで全ての所定単位分の符号がシフトアウトされることになる。
また、期間506において逆量子化器405は、可変長復号器402より出力された復号データ(量子化予測差分値)#4を逆量子化し、IQデータ(逆量子化予測差分値)#4を生成して、逆DPCM部406へと出力する。
また、期間506において逆DPCM部406は、逆量子化器405より出力されたIQデータ(逆量子化予測差分値)#4に、対応する予測値を加算して復号された画素データ#4を出力する。
以下、期間506の先頭で入力された所定単位分の符号も、以降の期間で同様に処理されていくが、説明は割愛する。
以上説明したように、表示画像復号部105及び記録画像復号部109においては、入力される符号の符号長がシフタ404の最大シフト幅SW_maxを超えている場合は複数クロックサイクルで、そうでない場合には1クロックサイクルかけて処理していく。
このため画像を符号化した符号データの中に、最大シフト幅SW_maxを超える符号が多く含まれているほど復号にかかる時間は長くなる。逆に、最大シフト幅SW_maxを超える符号が少ないほど復号に係る時間は短くなる。
<第1の実施形態にかかる画像処理装置の動作の説明>
次に、第1の実施形態にかかる画像処理装置の動作を、図7を用いて説明する。図7は、第1の実施形態にかかる画像処理装置の動作を、タイミングチャートで表した図である。なお、以下の説明における動作モードは、ユーザが操作部115を介した設定したものである。
次に、第1の実施形態にかかる画像処理装置の動作を、図7を用いて説明する。図7は、第1の実施形態にかかる画像処理装置の動作を、タイミングチャートで表した図である。なお、以下の説明における動作モードは、ユーザが操作部115を介した設定したものである。
ここでは理解を容易にするため、撮像部100から送出されてくる画像をリアルタイムに表示機器108で表示させながら、ユーザによる撮影開始指示に従い画像を撮影し記録するというユースケースに基づいて説明する。また、本実施形態においては、表示機器108で表示させる画像の表示周期が8.3msec(以下、表示画像周期)、1秒当たりの連続撮影枚数が30である場合に当てはめて説明する。なお、1秒当たりの連続撮影枚数が30であるため、撮影し記録する画像の周期は33.3msec(以下、記録画像周期)となる。
図7において、期間701~期間707はそれぞれ、表示画像周期と同一の期間(8.3msec)を有する。また、図7において、表示画像垂直同期信号は表示機器108で表示させる画像の垂直同期信号を表し、記録画像垂直同期信号は撮影し記録する画像の垂直同期信号を表す。
期間701において、表示画像垂直同期信号に基づき撮像部100より表示画像LV1が出力され、I/F部101を介して画像符号化部103へと出力される。また、期間701において制御部102は、動作モードに応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。
本実施形態においては、表示画像周期が8.3msecと短く、表示画像復号部105における表示画像1枚当たりの復号処理もこの周期内に収めなければならない。一方で、表示画像は記録されることがなく、記録画像ほどの高画質が要求されるわけではない。このため制御部102へは、処理性能を優先する処理性能優先モードが設定される。制御部102は、動作モードが処理性能優先モードであることに応じて、画像符号化部103が使用する符号の符号長上限値を比較的小さい値となるように決定する。本実施形態においては、これを表示画像復号部105の有するシフタの最大シフト幅SW_maxと等しい値とする。こうすることで、SW_maxを超える符号長が発生しないため、表示画像復号部105における1画像当たりの復号処理時間が最短となる。
また、期間701において画像符号化部103は、制御部102より出力された符号長制御信号に基づき、I/F部101から供給される表示画像LV1を符号化し、符号化データを生成してメモリ104へと出力する。また、期間701においてメモリ104は、画像符号化部103から出力された表示画像LV1に対応する符号化データを格納する。
また、期間701において表示画像復号部105は、表示画像LV1に対応する符号化データをメモリ104から読み出し、これを復号して表示画像LV1に対応する復号画像信号を生成し、表示画像現像処理部106へと出力する。また、期間701において表示画像現像処理部106は、表示画像復号部105から出力される表示画像LV1に対応する復号画像信号に対して、表示画像向けの現像処理を行い表示画像処理部107へと出力する。また、期間701において表示画像処理部107は、表示画像現像処理部106から出力される画像信号に対して、表示画像向けの画像処理を行い表示機器108へと出力する。また、期間701において表示機器108は、表示画像処理部107から出力される表示画像LV1に対応する画像信号を表示する。
また、期間701において、図7の点線矢印で示すタイミングでユーザによる撮影開始指示が発生したとする。これに応じて、記録画像垂直同期信号が期間703の図示するタイミングでスタートする。次に、期間702において、表示画像垂直同期信号に基づき撮像部100より表示画像LV2が出力され、I/F部101を介して画像符号化部103へと出力される。また、期間702において制御部102は、動作モードに応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。
本期間においても表示画像を扱うため、制御部102へは処理性能を優先する処理性能優先モードが設定される。これに応じて制御部102は、期間701同様SW_maxと等しい値を符号長制御信号として出力する。
また、期間702において画像符号化部103は、制御部102より出力された符号長制御信号に基づき、I/F部101から供給される表示画像LV2を符号化し、符号化データを生成してメモリ104へと出力する。また、期間702においてメモリ104は、画像符号化部103から出力された表示画像LV2に対応する符号化データを格納する。また、期間702において表示画像復号部105は、表示画像LV2に対応する符号化データをメモリ104から読み出し、これを復号して表示画像LV2に対応する復号画像信号を生成し、表示画像現像処理部106へと出力する。また、期間702において表示画像現像処理部106は、表示画像復号部105から出力される表示画像LV2に対応する復号画像信号に対して、表示画像向けの現像処理を行い表示画像処理部107へと出力する。
また、期間702において表示画像処理部107は、表示画像現像処理部106から出力される画像信号に対して、表示画像向けの画像処理を行い表示機器108へと出力する。また、期間702において表示機器108は、表示画像処理部107から出力される表示画像LV2に対応する画像信号を表示する。
次に、期間703において、記録画像垂直同期信号に基づき撮像部100より記録画像RC1が出力され、I/F部101を介して画像符号化部103へと出力される。これは、期間701においてユーザによる撮影開始指示が発生したことに伴うもので、これにより本期間においては表示画像でなく記録画像が優先されて撮像部100より出力される。
また、期間703において制御部102は、動作モードに応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。
本実施形態においては、記録画像周期は33.3msecと表示画像周期(8.3msec)に比べ長く、記録画像復号部109における記録画像1枚当たりの復号処理もこの周期内に収まればよい。このため処理性能優先モード時と比べ、記録画像現像処理部110において高い処理性能は要求されない。一方で、記録画像は表示画像に比べ画質劣化を最小限度に抑えることが要求される。このため制御部102へは画質を優先する画質優先モードが設定される。制御部102は、動作モードが画質優先モードであることに応じて、画像符号化部103が使用する符号の符号長を上限無しとなるように決定する。こうすることで、画像符号化部103において符号化時に使用できる符号に制限がなくなるため、復号後画像の画質劣化を最小限度に抑えることができる。
また、期間703において画像符号化部103は、制御部102より出力された符号長制御信号に基づき、I/F部101から供給される記録画像RC1を符号化し、符号化データを生成してメモリ104へと出力する。また、期間703においてメモリ104は、画像符号化部103から出力された記録画像RC1に対応する符号化データを格納する。
前述したように、記録画像1枚当たりの復号処理時間は、記録画像周期(33.3msec)内に収まればよいため、記録画像RC1については、期間703~期間706にかけて復号処理を実施する。また、メモリ104へのアクセストラフィックの集中を避けるため、本実施形態では図7の記録画像復号処理の期間703~期間706で示すように、記録画像の復号処理を4回に分けて実施するものとする。すなわち、1回目を期間703に、2回目を期間704に、3回目を期間705に、4回目を期間706にそれぞれ実施する。
これに従い、期間703において記録画像復号部109は、記録画像RC1に対応する符号化データの1回目の復号を実施する。
期間703において記録画像復号部109は、記録画像RC1に対応する符号化データ(1/4)をメモリ104から読み出し、これを復号して記録画像RC1に対応する復号画像信号(1/4)を生成し、記録画像現像処理部110へと出力する。また、期間703において記録画像現像処理部110は、記録画像復号部109から出力される記録画像RC1に対応する復号画像信号(1/4)に対して、記録画像向けの現像処理を行い記録画像処理部111へと出力する。また、期間703において記録画像処理部111は、記録画像現像処理部110から出力される画像信号に対して、記録画像向けの画像処理を行い記録媒体112へと出力する。また、期間703において記録媒体112には、記録画像処理部111から出力される記録画像RC1に対応する画像信号(1/4)が記録される。
また一方で、期間703において撮像部100から出力された画像は記録画像であり、表示画像ではない。しかしながら、期間703においても表示機器108において表示させる表示用画像は必要となる。このため、期間703において表示画像復号部105は、再び表示画像LV2に対応する符号化データをメモリ104から読み出し、これを復号して表示画像LV2に対応する復号画像信号を生成し、表示画像現像処理部106へと出力する。また、期間703において表示画像現像処理部106は、表示画像復号部105から出力される表示画像LV2に対応する復号画像信号に対して、表示画像向けの現像処理を行い表示画像処理部107へと出力する。また、期間703において表示画像処理部107は、表示画像現像処理部106から出力される画像信号に対して、表示画像向けの画像処理を行い表示機器108へと出力する。また、期間703において表示機器108は、表示画像処理部107から出力される表示画像LV2に対応する画像信号を再び表示する。
次に、期間704において、表示画像垂直同期信号に基づき撮像部100より表示画像LV3が出力され、I/F部101を介して画像符号化部103へと出力される。
また、期間704において制御部102は、動作モードに応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。
本期間においては表示画像を扱うため、制御部102へは処理性能を優先する処理性能優先モードが設定される。これに応じて制御部102は、期間701同様SW_maxと等しい値を符号長制御信号として出力する。
また、期間704において画像符号化部103は、制御部102より出力された符号長制御信号に基づき、I/F部101から供給される表示画像LV3を符号化し、符号化データを生成してメモリ104へと出力する。また、期間704においてメモリ104は、画像符号化部103から出力された表示画像LV3に対応する符号化データを格納する。また、期間704において記録画像復号部109は、記録画像RC1に対応する符号化データの2回目の復号を実施する。期間704において記録画像復号部109は、記録画像RC1に対応する符号化データ(2/4)をメモリ104から読み出し、これを復号して記録画像RC1に対応する復号画像信号(2/4)を生成し、記録画像現像処理部110へと出力する。
また、期間704において記録画像現像処理部110は、記録画像復号部109から出力される記録画像RC1に対応する復号画像信号(2/4)に対して、記録画像向けの現像処理を行い記録画像処理部111へと出力する。また、期間704において記録画像処理部111は、記録画像現像処理部110から出力される画像信号に対して、記録画像向けの画像処理を行い記録媒体112へと出力する。また、期間704において記録媒体112には、記録画像処理部111から出力される記録画像RC1に対応する画像信号(2/4)が記録される。また、期間704において表示画像復号部105は、表示画像LV3に対応する符号化データをメモリ104から読み出し、これを復号して表示画像LV3に対応する復号画像信号を生成し、表示画像現像処理部106へと出力する。
また、期間704において表示画像現像処理部106は、表示画像復号部105から出力される表示画像LV3に対応する復号画像信号に対して、表示画像向けの現像処理を行い表示画像処理部107へと出力する。また、期間704において表示画像処理部107は、表示画像現像処理部106から出力される画像信号に対して、表示画像向けの画像処理を行い表示機器108へと出力する。 また、期間704において表示機器108は、表示画像処理部107から出力される表示画像LV3に対応する画像信号を表示する。
次に、期間705において、表示画像垂直同期信号に基づき撮像部100より表示画像LV4が出力され、I/F部101を介して画像符号化部103へと出力される。
次に、期間705において、表示画像垂直同期信号に基づき撮像部100より表示画像LV4が出力され、I/F部101を介して画像符号化部103へと出力される。
また、期間705において制御部102は、動作モードに応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。
本期間においては表示画像を扱うため、制御部102へは処理性能を優先する処理性能優先モードが設定される。これに応じて制御部102は、期間701同様SW_maxと等しい値を符号長制御信号として出力する。
また、期間705において画像符号化部103は、制御部102より出力された符号長制御信号に基づき、I/F部101から供給される表示画像LV4を符号化し、符号化データを生成してメモリ104へと出力する。また、期間705においてメモリ104は、画像符号化部103から出力された表示画像LV4に対応する符号化データを格納する。また、期間705において記録画像復号部109は、記録画像RC1に対応する符号化データの3回目の復号を実施する。期間705において記録画像復号部109は、記録画像RC1に対応する符号化データ(3/4)をメモリ104から読み出し、これを復号して記録画像RC1に対応する復号画像信号(3/4)を生成し、記録画像現像処理部110へと出力する。
また、期間705において記録画像現像処理部110は、記録画像復号部109から出力される記録画像RC1に対応する復号画像信号(3/4)に対して、記録画像向けの現像処理を行い記録画像処理部111へと出力する。また、期間705において記録画像処理部111は、記録画像現像処理部110から出力される画像信号に対して、記録画像向けの画像処理を行い記録媒体112へと出力する。また、期間705において記録媒体112には、記録画像処理部111から出力される記録画像RC1に対応する画像信号(3/4)が記録される。また、期間705において表示画像復号部105は、表示画像LV4に対応する符号化データをメモリ104から読み出し、これを復号して表示画像LV4に対応する復号画像信号を生成し、表示画像現像処理部106へと出力する。
また、期間705において表示画像現像処理部106は、表示画像復号部105から出力される表示画像LV4に対応する復号画像信号に対して、表示画像向けの現像処理を行い表示画像処理部107へと出力する。また、期間705において表示画像処理部107は、表示画像現像処理部106から出力される画像信号に対して、表示画像向けの画像処理を行い表示機器108へと出力する。また、期間705において表示機器108は、表示画像処理部107から出力される表示画像LV4に対応する画像信号を表示する。
次に、期間706において、表示画像垂直同期信号に基づき撮像部100より表示画像LV5が出力され、I/F部101を介して画像符号化部103へと出力される。また、期間706において制御部102は、動作モードに応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。本期間においては表示画像を扱うため、制御部102へは処理性能を優先する処理性能優先モードが設定される。これに応じて制御部102は、期間701同様SW_maxと等しい値を符号長制御信号として出力する。
次に、期間706において、表示画像垂直同期信号に基づき撮像部100より表示画像LV5が出力され、I/F部101を介して画像符号化部103へと出力される。また、期間706において制御部102は、動作モードに応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。本期間においては表示画像を扱うため、制御部102へは処理性能を優先する処理性能優先モードが設定される。これに応じて制御部102は、期間701同様SW_maxと等しい値を符号長制御信号として出力する。
また、期間706において画像符号化部103は、制御部102より出力された符号長制御信号に基づき、I/F部101から供給される表示画像LV5を符号化し、符号化データを生成してメモリ104へと出力する。また、期間706においてメモリ104は、画像符号化部103から出力された表示画像LV5に対応する符号化データを格納する。また、期間706において記録画像復号部109は、記録画像RC1に対応する符号化データの4回目(最終回)の復号を実施する。
期間706において記録画像復号部109は、記録画像RC1に対応する符号化データ(4/4)をメモリ104から読み出し、これを復号して記録画像RC1に対応する復号画像信号(4/4)を生成し、記録画像現像処理部110へと出力する。また、期間706において記録画像現像処理部110は、記録画像復号部109から出力される記録画像RC1に対応する復号画像信号(4/4)に対して、記録画像向けの現像処理を行い記録画像処理部111へと出力する。また、期間706において記録画像処理部111は、記録画像現像処理部110から出力される画像信号に対して、記録画像向けの画像処理を行い記録媒体112へと出力する。
また、期間706において記録媒体112には、記録画像処理部111から出力される記録画像RC1に対応する画像信号(4/4)が記録される。また、期間706において表示画像復号部105は、表示画像LV5に対応する符号化データをメモリ104から読み出し、これを復号して表示画像LV5に対応する復号画像信号を生成し、表示画像現像処理部106へと出力する。また、期間706において表示画像現像処理部106は、表示画像復号部105から出力される表示画像LV5に対応する復号画像信号に対して、表示画像向けの現像処理を行い表示画像処理部107へと出力する。
また、期間706において表示画像処理部107は、表示画像現像処理部106から出力される画像信号に対して、表示画像向けの画像処理を行い表示機器108へと出力する。また、期間706において表示機器108は、表示画像処理部107から出力される表示画像LV5に対応する画像信号を表示する。
次に、期間707において、記録画像垂直同期信号に基づき撮像部100より記録画像RC2が出力され、I/F部101を介して画像符号化部103へと出力される。これは、期間701においてユーザによる撮影開始指示が発生したことに伴うもので、これにより本期間においては表示画像でなく記録画像が優先されて撮像部100より出力される。また、期間707においては記録画像を扱うため、前述した理由により、動作モードは画質を優先する画質優先モードが設定される。
また、期間707において制御部102は、動作モードに応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。制御部102は、動作モードが画質優先モードであることに応じて、画像符号化部103が使用する符号の符号長を上限無しとなるように決定する。また、期間707において画像符号化部103は、制御部102より出力された符号長制御信号に基づき、I/F部101から供給される記録画像RC2を符号化し、符号化データを生成してメモリ104へと出力する。
また、期間707においてメモリ104は、画像符号化部103から出力された記録画像RC2に対応する符号化データを格納する。
前述した理由から、記録画像RC1と同様に記録画像RC2も、記録画像の復号処理を4回に分けて実施する。すなわち、1回目を期間707に、2~4回目をそれ以降の期間にそれぞれ実施する。
期間707において記録画像復号部109は、記録画像RC2に対応する符号化データ(1/4)をメモリ104から読み出し、これを復号して記録画像RC2に対応する復号画像信号(1/4)を生成し、記録画像現像処理部110へと出力する。また、期間707において記録画像現像処理部110は、記録画像復号部109から出力される記録画像RC2に対応する復号画像信号(1/4)に対して、記録画像向けの現像処理を行い記録画像処理部111へと出力する。また、期間707において記録画像処理部111は、記録画像現像処理部110から出力される画像信号に対して、記録画像向けの画像処理を行い記録媒体112へと出力する。また、期間707において記録媒体112には、記録画像処理部111から出力される記録画像RC1に対応する画像信号(1/4)が記録される。
また一方で、期間707において撮像部100から出力された画像は記録画像であり、表示画像ではない。しかしながら、期間703と同様に期間707においても、表示機器108において表示させる表示用画像は必要となる。このため、期間707において表示画像復号部105は、再び表示画像LV5に対応する符号化データをメモリ104から読み出し、これを復号して表示画像LV5に対応する復号画像信号を生成し、表示画像現像処理部106へと出力する。また、期間707において表示画像現像処理部106は、表示画像復号部105から出力される表示画像LV5に対応する復号画像信号に対して、表示画像向けの現像処理を行い表示画像処理部107へと出力する。また、期間707において表示画像処理部107は、表示画像現像処理部106から出力される画像信号に対して、表示画像向けの画像処理を行い表示機器108へと出力する。また、期間707において表示機器108は、表示画像処理部107から出力される表示画像LV5に対応する画像信号を再び表示する。
以下、これ以降の期間においても同様に処理が実施される。
以上説明したように、本実施形態によれば、省規模優先構成の復号に係る構成であっても、動作モードによって符号化時に使用する符号の最大符号長の制限を変えることで、それぞれの動作モードの要求を満たすことが可能となる。
[第2の実施形態]
第2の実施形態も、第1の実施形態と同様に画像処理装置に適用した例を説明する。第2の実施形態にかかる画像処理装置の構成は、表示画像復号部105及び記録画像復号部109の内部の構成が異なる以外、第1の実施形態と同様である。また、第2の実施形態にかかる画像処理装置全体の動作も、第1の実施形態と同様である。
第2の実施形態も、第1の実施形態と同様に画像処理装置に適用した例を説明する。第2の実施形態にかかる画像処理装置の構成は、表示画像復号部105及び記録画像復号部109の内部の構成が異なる以外、第1の実施形態と同様である。また、第2の実施形態にかかる画像処理装置全体の動作も、第1の実施形態と同様である。
<画像復号部の説明>
図8は、第2の実施形態にかかる画像復号部(表示画像復号部105及び記録画像復号部109)のブロック構成図である。以下、同図を参照してその構成と動作を説明する。尚、第2の実施形態における画像復号部を構成する各要素や関連する信号について、第1の実施形態と同様である場合は、その内容の一部または全ての説明を省略する。
図8は、第2の実施形態にかかる画像復号部(表示画像復号部105及び記録画像復号部109)のブロック構成図である。以下、同図を参照してその構成と動作を説明する。尚、第2の実施形態における画像復号部を構成する各要素や関連する信号について、第1の実施形態と同様である場合は、その内容の一部または全ての説明を省略する。
第2の実施形態にかかる画像復号部は、入力される符号データに対し、連続する2つの符号をペア(以下、符号ペア)としてこの符号ペア単位で復号処理を行う。
第2の実施形態にかかる画像復号部は、選択器800、符号バッファ801、可変長復号器802、シフト量演算器803、シフタ804、逆量子化器805a、逆量子化器805b、逆DPCM部806a、逆DPCM部806b、量子化パラメータ復号器407より構成される。
量子化パラメータ復号器407は、着目ブロックの符号化データの先頭に位置する、量子化パラメータに関する情報を復号し、逆量子化器805a、805bに設定する。
選択器800は符号取り込み指示信号に基づき、所定単位分の符号入力若しくはシフタ804の出力のいずれかを選択して符号バッファ801へと出力する。符号取り込み指示信号及び符号入力の所定の単位数については、第1の実施形態と同様であるため、説明を省略する。
符号バッファ801は選択器800からの出力を格納するバッファであり、符号入力をクロック入力(図示しない)に同期して取り込んで、可変長復号器802及びシフタ804へと出力する。
可変長復号器802は、シフト量演算器803より出力されるデータ無効指示信号に基づき、符号バッファ801より出力される符号データの先頭に位置する連続する2つの符号を可変長復号する。さらに可変長復号器802は、連続する2つの量子化予測差分値を取り出し、それぞれ逆量子化器805a、逆量子化器805bへと出力する。また、可変長復号器802は、当該連続する2つの符号の合計符号長を算出して、シフト量演算器803へと出力する。
シフト量演算器803は、可変長復号器802より出力される合計符号長を元に、シフタ804へ指示するシフト量を算出してシフタ804へと出力し、また、データ無効指示信号を生成して可変長復号器802へと出力する。シフト量演算器803は、シフタ804が一度に(1クロックサイクル期間に)シフトできる最大のシフト幅(以下、SW_max)を鑑み、合計符号長がSW_maxを超える場合はこれを複数のシフト量に分けて算出し、これらを複数回に分けて出力する。また、シフタ804は、合計符号長がSW_maxを超える場合は、複数回に分けたうちの最終回の出力時にデータ無効指示信号として無効でないことを示す「L」を、それ以外の下位の出力時は無効であることを示す「H」を出力する。また、合計符号長がSW_maxを超えない場合は、シフタ804は、シフト量を複数に分けずに1回で出力し、かつ、その際のデータ無効指示信号として「L」を出力する。
本実施形態においては、シフタ804の最大シフト幅SW_maxは「32」であるとものとするが、これに限定されるものではない。
例えば、入力された連続する2つの符号の合計符号長が「20」であった場合はSW_max以下であるため、シフト量演算器803はシフト量として「20」を1回出力し、データ無効指示信号として「L」を出力する。また、例えば、入力された連続する2つの符号の合計符号長が「40」であった場合はSW_maxを超えるため、シフト量演算器803はシフト量として「32」及び「8」に分け、それぞれ2回に分けて出力する。また、その際シフト量演算器803は、1回目のシフト量「32」出力時にデータ無効指示信号として「H」を出力し、2回目のシフト量「8」出力時にデータ無効指示信号として「L」を出力する。
シフタ804は、符号バッファ801より出力される符号データに対して、シフト量演算器803より出力されるシフト量分シフトして選択器800へと出力する。
逆量子化器805a及び逆量子化器805bは、可変長復号器802より出力される連続する2つの量子化予測差分値に対し、量子化パラメータ復号器407より設定された量子化パラメータに従って逆量子化処理を行い、逆量子化予測差分値を生成して、逆DPCM部806a及び逆DPCM部806bへとそれぞれ出力する。逆量子化処理については、第1の実施形態と同様であるため、説明を省略する。
逆DPCM部806a及び逆DPCM部806bは、逆量子化器805a及び逆量子化器805bの出力に対してそれぞれ逆DPCM処理を施し、復号された画素値をそれぞれ出力する。逆DPCM処理については、第1の実施形態と同様であるため、説明を省略する。
次に、第2の実施形態にかかる画像復号部の動作を、図9及び図10を用いて説明する。なお、1ブロック分の符号化データに対する量子化パラメータは既に復号済みであるものとして説明する。
図9は、第2の実施形態にかかる画像復号部の動作をタイミングチャートで表した図である。図9で示す例においては、符号#1~8の8つの符号を処理するにあたり、これら8つの符号を4つの符号ペア(符号#1/2、符号#3/4、符号#5/6、符号#7/8)として、順に処理していく状態を示している。なお、1ブロック分の符号化データにおける量子化パラメータは既に復号済みであるものとして説明する。
また図10は、図9で示す例におけるこれら4つの符号ペアが有するそれぞれの合計符号長、シフト量演算器803より出力される対応するシフト量、及び対応する消費クロックサイクル数の関係を表す。
図9において、期間901~期間906はそれぞれ、1クロックサイクルの期間を有する。
期間901の先頭において、所定単位分の符号が選択器800へと入力される。本実施形態においては、当該所定単位を8とするが、これに限定されるものではない。当該所定単位分の符号は、符号#1~8がそれぞれ先頭から番号順に隙間なく配置されている。
また、同じく期間901において選択器800は、符号取り込み指示信号が「H」レベル(符号入力取り込み指示を意味する)を示しているため、符号入力を選択してこれを出力する。
符号バッファ801は期間901における選択器800の出力(すなわち、符号入力)を取り込んで記憶し、期間902の先頭においてこれを出力する。
期間902の先頭において符号バッファ801より出力されたデータは、所定単位分の符号のうち最初の符号ペアである符号#1/2がデータの先頭に配置された状態となっており、可変長復号器802へと渡される。
次に、期間902において可変長復号器802は、符号バッファ801より出力されたデータを入力として、データの先頭に配置されている符号#1/2の合計符号長「43」を算出してシフト量演算器803へと出力する。また、期間902において可変長復号器802は、符号#1/2を可変長復号して復号データ(量子化予測差分値)#1/2を取り出し、それぞれ逆量子化器805a及び逆量子化器805bへと出力する。
次に、期間902においてシフト量演算器803は、符号#1/2に対応する1回目のシフト量「32」を算出して、シフタ804へと出力する。符号#1/2の合計符号長は「43」であり、SW_maxである「32」より大きい値であるため、符号#1/2に対応するシフト量は2回に分割され、一回目がSW_maxと等しい「32」、二回目が残りの「11」となる。また同時にシフト量演算器803は、符号#1/2が2回に分けて処理されるため、一回目のデータ無効指示信号としてデータ無効を意味する「H」を出力する。
次に、期間902においてシフタ804は、符号バッファ801より出力されたデータをシフト量「32」分シフトして、シフト後のデータを選択器800へと出力する。なおシフト量「32」は符号#1/2の合計符号長より小さく、本期間において符号#1/2は全てシフトアウトされないため、シフト後のデータはまだ次の符号#3/4が先頭に頭出しされた状態になっていない(すなわち、復号対象データとして無効状態)。
次に、期間902において選択器800は、符号取り込み指示信号が「L」レベル(符号入力非取り込み指示を意味する)を示しているため、シフタ804出力を選択してこれを出力する。
また、期間902において逆量子化器805a及び逆量子化器805bは、可変長復号器802より出力された量子化予測差分値#1/2を逆量子化し、IQデータ#1/2を生成して、逆DPCM部806a及び逆DPCM部806bへとそれぞれ出力する。
また、期間902において逆DPCM部806a及び逆DPCM部806bは、逆量子化器805a及び逆量子化器805bより出力されたIQデータ#1/2をそれぞれ逆量子化して、復号された画素データ#1/2を出力する。
次に、符号バッファ801は期間902における選択器800の出力(すなわち、シフタ804出力)を取り込んで記憶し、期間903の先頭においてこれを出力する。
期間903の先頭において符号バッファ801より出力されたデータは、符号#1/2の一回目のシフトがなされた状態となっており、可変長復号器802へと渡される。次に、期間903において可変長復号器802は、期間902におけるデータ無効指示信号が「H」、すなわちデータ無効を示していたのを受け、符号長及び復号データの出力を行わない。次に、期間903においてシフト量演算器803は、符号#1/2に対応する2回目のシフト量「11」を算出して、シフタ804へと出力する。また同時にシフト量演算器803は、2回に分けて処理される符号#1/2の2回目のデータ無効指示信号として、データ有効を意味する「L」を出力する。次に、期間903においてシフタ804は、符号バッファ801より出力されたデータをシフト量「11」分シフトして、シフト後のデータを選択器800へと出力する。なおシフト量「11」は符号#1/2の2回目のシフト量であり、本期間において符号#1/2は全てシフトアウトされるため、シフト後のデータは次の符号#3/4が先頭に頭出しされた状態になっている。
次に、期間903において選択器800は、符号取り込み指示信号が「L」レベル(符号入力非取り込み指示を意味する)を示しているため、シフタ804出力を選択してこれを出力する。また、期間903において逆量子化器805a及び逆量子化器805bは、可変長復号器802より復号データが出力されないため、逆DPCM部806a及び逆DPCM部806bへの出力は行われない。
また、期間903において逆DPCM部806a及び逆DPCM部806bは、逆量子化器805a及び逆量子化器805bよりIQデータ(逆量子化予測差分値)が出力されないため、復号された画素データの出力は行われない。
次に、符号バッファ801は期間903における選択器800の出力(すなわち、シフタ804出力)を取り込んで記憶し、期間904の先頭においてこれを出力する。
期間904の先頭において符号バッファ801より出力されたデータは、符号#3/4が頭出しされた状態となっており、可変長復号器802へと渡される。
次に、期間904において可変長復号器802は、符号バッファ801より出力されたデータを入力として、データの先頭に配置されている符号#3/4の合計符号長「17」を算出してシフト量演算器803へと出力する。また、期間904において可変長復号器802は、符号#3/4を可変長復号して復号データ(量子化予測差分値)#3/4を取り出し、それぞれ逆量子化器805a及び逆量子化器805bへと出力する。
次に、期間904においてシフト量演算器803は、符号#3/4に対応するシフト量「17」を算出して、シフタ804へと出力する。符号#3/4の合計符号長は「17」であり、SW_maxである「32」以下の値であるため、符号#3/4に対応するシフト量は「17」となる。また同時にシフト量演算器803は、データ無効指示信号として「L」を出力する。
次に、期間904においてシフタ804は、符号バッファ801より出力されたデータをシフト量「17」分シフトして、シフト後のデータを選択器800へと出力する。なおシフト量「17」は符号#3/4の合計符号長と等しく、符号#3/4は全てシフトアウトされるため、シフト後のデータは次の符号#5/6が先頭に頭出しされた状態となる。 次に、期間904において選択器800は、符号取り込み指示信号が「L」レベル(符号入力非取り込み指示を意味する)を示しているため、シフタ804出力を選択してこれを出力する。また、期間904において逆量子化器805a及び逆量子化器805bは、可変長復号器802より出力された量子化予測差分値#3/4を逆量子化し、IQデータ#3/4を生成して、逆DPCM部806a及び逆DPCM部806bへとそれぞれ出力する。また、期間904において逆DPCM部806a及び逆DPCM部806bは、逆量子化器805a及び逆量子化器805bより出力されたIQデータ#3/4をそれぞれ逆量子化して、復号された画素データ#3/4を出力する。
次に、符号バッファ801は期間904における選択器800の出力(すなわち、シフタ804出力)を取り込んで記憶し、期間905の先頭においてこれを出力する。
期間905の先頭において符号バッファ801より出力されたデータは、符号#5/6がデータの先頭に頭出しされた状態となっており、可変長復号器802へと渡される。次に、期間905において可変長復号器802は、符号バッファ801より出力されたデータを入力として、データの先頭に頭出しされている符号#5/6の合計符号長「25」を算出してシフト量演算器803へと出力する。また、期間905において可変長復号器802は、符号#5/6を可変長復号して復号データ(量子化予測差分値)#5/6を取り出し、逆量子化器805a及び逆量子化器805bへと出力する。次に、期間905においてシフト量演算器803は、符号#5/6に対応するシフト量「25」を算出して、シフタ804へと出力する。符号#5/6の合計符号長は「25」であり、SW_maxである「32」以下であるため、符号#5/6に対応するシフト量は「25」となる。また同時にシフト量演算器803は、データ無効指示信号として「L」を出力する。
次に、期間905においてシフタ804は、符号バッファ801より出力されたデータをシフト量「25」分シフトして、シフト後のデータを選択器800へと出力する。なおシフト量「25」は符号#5/6の合計符号長と等しく、符号#5/6は全てシフトアウトされるため、シフト後のデータは次の符号#7/8が先頭に頭出しされた状態となる。次に、期間905において選択器800は、符号取り込み指示信号が「L」レベル(符号入力非取り込み指示を意味する)を示しているため、シフタ804出力を選択してこれを出力する。
また、期間905において逆量子化器805a及び逆量子化器805bは、可変長復号器802より出力された復号データ#5/6を逆量子化し、IQデータ#5/6を生成して、逆DPCM部806a及び逆DPCM部806bへと出力する。また、期間905において逆DPCM部806a及び逆DPCM部806bは、逆量子化器805a及び逆量子化器805bより出力されたIQデータ(逆量子化予測差分値)#5/6に、対応する予測値を加算して復号された画素データ#5/6を出力する。
次に、期間906の先頭において、次の所定単位分の符号が選択器800へと入力される。また、同じく期間906において選択器800は、符号取り込み指示信号が「H」レベル(符号入力取り込み指示を意味する)を示しているため、符号入力を選択してこれを出力する。符号バッファ801は期間906における選択器800の出力(すなわち、符号入力)を取り込んで記憶し、次の期間(図示しない)の先頭においてこれを出力する。
期間906の先頭において符号バッファ801より出力されたデータは、符号#7/8がデータの先頭に頭出しされた状態となっており、可変長復号器802へと渡される。次に、期間906において可変長復号器802は、符号バッファ801より出力されたデータを入力として、データの先頭に頭出しされている符号#7/8の合計符号長「23」を算出してシフト量演算器803へと出力する。また、期間906において可変長復号器802は、符号#7/8を可変長復号して復号データ(量子化予測差分値)#7/8を取り出し、逆量子化器805a及び逆量子化器805bへと出力する。
次に、期間906においてシフト量演算器803は、符号#7/8に対応するシフト量「23」を算出して、シフタ804へと出力する。符号#7/8の合計符号長は「23」であり、SW_maxである「32」以下であるため、符号#7/8対応するシフト量は「23」となる。また同時にシフト量演算器803は、データ無効指示信号として「L」を出力する。
次に、期間906においてシフタ804は、符号バッファ801より出力されたデータをシフト量「23」分シフトして、シフト後のデータを選択器800へと出力する。なおシフト量「23」は符号#7/8の合計符号長と等しく、符号#7/8は全てシフトアウトされるため、これで全ての所定単位分の符号がシフトアウトされることになる。
また、期間906において逆量子化器805a及び逆量子化器805bは、可変長復号器802より出力された復号データ#7/8を逆量子化し、IQデータ#7/8を生成して、逆DPCM部806a及び逆DPCM部806bへと出力する。また、期間906において逆DPCM部806a及び逆DPCM部806bは、逆量子化器805a及び逆量子化器805bより出力されたIQデータ#7/8に、対応する予測値を加算して復号された画素データ#7/8を出力する。
以下、期間906の先頭で入力された所定単位分の符号も、以降の期間で同様に処理されていくが、説明は割愛する。
以上説明したように、第2の実施形態にかかる画像復号部においては、入力される符号ペアの合計符号長がシフタ804の最大シフト幅SW_maxを超えている場合は複数クロックサイクルで、そうでない場合には1クロックサイクルかけて処理していく。このため、画像を符号化した符号データの中に、最大シフト幅SW_maxを超える符号ペアが多く含まれているほど復号にかかる時間が長くなり、少ないほどその時間が短くなる。
[第3の実施形態]
図11は、第3の実施形態にかかる画像処理装置の構成を示すブロック図である。
本画像処理装置は、撮像部100、I/F部101、制御部1100、画像符号化部103、メモリ104、表示画像復号部105、表示画像現像処理部106、表示画像処理部107、表示機器108、記録画像復号部109、記録画像現像処理部110、記録画像処理部111、記録媒体112、通信部1101、及び接続部1102を有する。
図11は、第3の実施形態にかかる画像処理装置の構成を示すブロック図である。
本画像処理装置は、撮像部100、I/F部101、制御部1100、画像符号化部103、メモリ104、表示画像復号部105、表示画像現像処理部106、表示画像処理部107、表示機器108、記録画像復号部109、記録画像現像処理部110、記録画像処理部111、記録媒体112、通信部1101、及び接続部1102を有する。
このうち制御部1100、通信部1101、及び接続部1102以外の構成要素については、第1の実施形態にかかる画像処理装置における構成要素と同一であるため、説明を省略する。また、第3の実施形態にかかる画像処理装置全体の動作についても、第1の実施形態と同様の箇所についてはその説明を省略し、互いの差分に着目して説明する。
制御部1100は制御部102が行う動作に加え、動作モード及び通信部1101が出力する外部接続先の機器からの情報に応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。外部接続機器は例えば、パーソナルコンピュータ、携帯電話、スマートフォン、PDA、タブレット端末などの情報処理端末である。
通信部1101は外部接続機器と通信して情報を取得し、制御部1100へと出力する。外部接続機器から取得する情報は、外部接続機器が備える復号器の有するシフタの、1回の動作でシフトできる最大シフト幅とする。
接続部1102は外部接続機器とのインターフェースであり、メモリ104から画像符号化部103より出力された符号化データを読み出して、外部接続機器へと送信する。
<第3の実施形態にかかる画像処理装置の動作の説明>
次に、第3の実施形態にかかる画像処理装置の動作を説明する。
次に、第3の実施形態にかかる画像処理装置の動作を説明する。
本実施形態においては、撮像部100から送出されてくる画像をリアルタイムに外部接続機器で表示させながら、ユーザによる撮影開始指示に従い画像を撮影し記録するというユースケースに基づいて説明する。また、本実施形態においても第1の実施形態同様、外部接続機器で表示させる画像の表示画像周期が8.3msec、記録画像周期が33.3msecであるとする。
なお、第1の実施形態において説明したユースケースにおいては、符号化された表示画像の復号、現像処理、画像処理、表示を行うのはそれぞれ、表示画像復号部105、表示画像現像処理部106、表示画像処理部107、表示機器108であった。
これに対し、本第3の実施形態のユースケースにおける上記は全て、外部接続機器が行うという点において異なる。しかしながら、装置全体としての動作はごく一部を除き第1の実施形態と変わらない。
従って、第3の実施形態にかかる画像処理装置の動作も第1の実施形態同様、図7を用いて差分に着目して説明するものとし、第1の実施形態と同様である要素については、その内容の一部または全ての説明を省略する。また、符号化された表示画像の復号、現像処理、画像処理、表示の各処理については、前述したように外部接続機器が行うものと置き換えて理解されたい。また同様に、制御部102は通信部1101と置き換えて理解されたい。
期間701の先頭において、通信部1101は外部接続機器と通信し、外部接続機器が備える復号器の有するシフタの、1回の動作でシフトできる最大シフト幅SW_maxの情報を取得して、制御部1100へと出力する。
また、期間701において制御部1100は、前記最大シフト幅SW_max及び動作モードに応じて画像符号化部103が使用する符号の符号長上限値を決定し、符号長制御信号として画像符号化部103へ出力する。
本実施形態においても第1の実施形態同様、復号処理を含む表示画像の処理は表示画像周期8.3msec内に収める必要があり、一方で記録画像ほどの高画質が要求されるわけではないため、動作モードとしては処理性能優先モードが設定される。
制御部1100は、動作モードが処理性能優先モードであることに応じて、画像符号化部103が使用する符号の符号長上限値を比較的小さい値となるように決定する。本実施形態においては、これを外部接続機器の有するシフタの最大シフト幅SW_maxと等しい値とする。こうすることで、SW_maxを超える符号長が発生しないため、外部接続機器における1画像当たりの復号処理時間が最短となる。
また、期間701において画像符号化部103は、制御部1100より出力された符号長制御信号に基づき、I/F部101から供給される表示画像LV1を符号化し、符号化データを生成してメモリ104へと出力する。また、期間701においてメモリ104は、画像符号化部103から出力された表示画像LV1に対応する符号化データを格納する。また、期間701において接続部1102は、表示画像LV1に対応する符号化データをメモリ104から読み出し、外部接続機器へと送出する。
また、期間701において外部接続機器は、表示画像LV1に対応する符号化データを接続部1102より受信する。かつ、外部接続機器はこれを復号して表示画像LV1に対応する復号画像信号を生成し、表示画像向けの現像処理及び表示画像向けの画像処理を行い、これを表示する。
前述のごとく、符号化された表示画像の復号、現像処理、画像処理、表示の各処理については外部接続機器が行うものと置き換え、また、制御部102は通信部1101と置き換えれば第1の実施形態の画像処理装置の動作と同様であるため、以降の説明を省略する。
以上説明したように、本第3の実施形態にかかる画像処理装置においては、復号処理の速度要求が厳しい表示画像を外部接続機器に行わせる場合であっても、画像処理装置の有するシフタの最大シフト幅に合わせて符号長を制限することで、要求を満たすことが可能となる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
100…撮像部、101…I/F部、102…制御部、103…画像符号化部、104…メモリ、105…表示画像復号部、106…表示画像現像処理部、107…表示画像処理部、108…表示機器、109…記録画像復号部、110…記録画像現像処理部、111…記録画像処理部、112…記録媒体、200…DPCM部、201…量子化器、202…可変長符号化器、203…量子化パラメータ生成器、400…選択器、401…符号バッファ、402…可変長復号器、403…シフト量演算器、404…シフタ、405…逆量子化器、406…逆DPCM部
Claims (11)
- 撮像手段、該撮像手段で得た画像を符号化する符号化手段、該符号化手段で生成された符号化データを復号する復号手段とを有する撮像装置であって、
動作モードに従って、前記符号化手段が生成する符号の符号長の上限値を決定し、前記符号化手段に設定する制御手段を更に有し、
前記復号手段は、
前記符号化手段からの符号の符号長が閾値以下である場合には、当該符号を1サイクルで復号し、
前記符号化手段からの符号の符号長が前記閾値を超える場合には、当該符号を複数のサイクルで復号する
ことを特徴とする撮像装置。 - 前記符号化手段は、
前記撮像手段で得た画像データにおける予め設定された画素数のブロックを入力し、当該ブロック内の画素についてDPCM処理を行うDPCM処理手段と、
当該DPCM処理手段からの出力を量子化する量子化手段と、
当該量子化手段からの出力をエントロピー符号化し、符号を生成するエントロピー符号化手段と、
前記ブロック内の符号の最大符号長が前記制御手段により設定された上限値以下となるまで、前記量子化手段による量子化パラメータを更新し、前記ブロックの符号化を行わせる更新手段と
を含むことを特徴とする請求項1に記載の撮像装置。 - 前記動作モードは、処理速度よりも画質を優先することが要求される画質優先モード、及び、画質よりも高速に処理することが要求される速度優先モードを含むことを特徴とする請求項1又は2に記載の撮像装置。
- 前記復号手段は、復号対象の符号をその符号長分シフトして次の復号対象の符号の頭出しをするためのシフタを備え、
前記シフタは、一度にシフトできる最大のシフト量以下の符号長の符号については1サイクルでシフトし、そうでない符号については複数サイクルかけてシフトする
ことを特徴とする請求項1乃至3のいずれか1項に記載の撮像装置。 - 復号手段を有する他のデバイスと接続し、前記符号化データを送信し、復号データを受信する接続手段を更に有し、
前記制御手段は、前記画像の符号化に先だって接続先と通信を行って接続先のデバイスの復号手段の処理性能を取得し、
当該取得した処理性能に基づき、前記符号化手段で使用する符号の符号長の上限値を決定し、前記符号化手段に設定する
ことを特徴とする請求項1に記載の撮像装置。 - 撮像手段、該撮像手段で得た画像を符号化する符号化手段、該符号化手段で生成された符号化データを復号する復号手段とを有する撮像装置であって、
動作モードに従って、予め設定された数の符号の合計符号長の上限値を決定し、前記符号化手段に設定する制御手段を更に有し、
前記復号手段は、
前記符号化手段からの予め設定された数の符号の合計符号長が閾値以下である場合には、複数の復号手段を利用して、前記予め設定された数の符号を1サイクルで復号し、
前記符号化手段からの予め設定された数の符号の合計符号長が前記閾値を超える場合には、当該符号を複数のサイクルで復号し、前記予め設定された数の符号を、複数の復号手段を利用して復号する
ことを特徴とする撮像装置。 - 前記動作モードは、処理速度よりも画質を優先することが要求される画質優先モード、及び、画質よりも高速に処理することが要求される速度優先モードを含むことを特徴とする請求項6に記載の撮像装置。
- 前記復号手段は、予め設定された数の符号の合計符号長分シフトして次の復号対象の符号の頭出しをするためのシフタを備え、
前記シフタは、前記予め設定された数の符号の合計符号長が一度にシフトできる最大のシフト幅以下である場合には1サイクルでシフトし、そうでない場合には複数サイクルかけてシフトする、
ことを特徴とする請求項5又は6に記載の撮像装置。 - 撮像手段、該撮像手段で得た画像を符号化する符号化手段、該符号化手段で生成された符号化データを復号する復号手段とを有する撮像装置の制御方法であって、
動作モードに従って、前記符号化手段が生成する符号の符号長の上限値を決定し、前記符号化手段に設定する制御工程を有し、
前記復号手段は、
前記符号化手段からの符号の符号長が閾値以下である場合には、当該符号を1サイクルで復号し、
前記符号化手段からの符号の符号長が前記閾値を超える場合には、当該符号を複数のサイクルで復号する
ことを特徴とする撮像装置の制御方法。 - 撮像手段、該撮像手段で得た画像を符号化する符号化手段、該符号化手段で生成された符号化データを復号する復号手段とを有する撮像装置の制御方法であって、
動作モードに従って、予め設定された数の符号の合計符号長の上限値を決定し、前記符号化手段に設定する制御工程を有し、
前記復号手段は、
前記符号化手段からの予め設定された数の符号の合計符号長が閾値以下である場合には、複数の復号手段を利用して、前記予め設定された数の符号を1サイクルで復号し、
前記符号化手段からの予め設定された数の符号の合計符号長が前記閾値を超える場合には、当該符号を複数のサイクルで復号し、前記予め設定された数の符号を、複数の復号手段を利用して復号する
ことを特徴とする撮像装置の制御方法。 - コンピュータが読み込み実行することで、前記コンピュータに、請求項9又は10に記載の方法の各工程を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021112327A JP2023008624A (ja) | 2021-07-06 | 2021-07-06 | 撮像装置及びその制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021112327A JP2023008624A (ja) | 2021-07-06 | 2021-07-06 | 撮像装置及びその制御方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023008624A true JP2023008624A (ja) | 2023-01-19 |
Family
ID=85112369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021112327A Pending JP2023008624A (ja) | 2021-07-06 | 2021-07-06 | 撮像装置及びその制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023008624A (ja) |
-
2021
- 2021-07-06 JP JP2021112327A patent/JP2023008624A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6471787B2 (ja) | 画像処理装置及び画像処理方法 | |
JP6471786B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4734168B2 (ja) | 画像復号化装置及び画像復号化方法 | |
US8554004B2 (en) | Data transform apparatus | |
JP4641892B2 (ja) | 動画像符号化装置、方法、及びプログラム | |
US8908982B2 (en) | Image encoding device and image encoding method | |
US8823832B2 (en) | Imaging apparatus | |
US11445160B2 (en) | Image processing device and method for operating image processing device | |
JP6512916B2 (ja) | 撮像装置およびその制御方法ならびにプログラム | |
JP2010098352A (ja) | 画像情報符号化装置 | |
US20210344900A1 (en) | Image processing device | |
CN110087085B (zh) | 图像处理装置 | |
CN110087074B (zh) | 图像处理装置和用于操作图像处理装置的方法 | |
US20080252740A1 (en) | Image Pickup Device and Encoded Data Transferring Method | |
JP2023008624A (ja) | 撮像装置及びその制御方法及びプログラム | |
TWI820063B (zh) | 影像處理裝置及影像處理裝置的操作方法 | |
KR102543449B1 (ko) | 이미지 처리 장치 및 이미지 처리 장치의 동작 방법 | |
KR20220015556A (ko) | 이미지 처리 장치 및 프레임 버퍼 컴프레서 | |
EP2315445A1 (en) | Video compression | |
JP2023154574A (ja) | 画像処理装置及びその制御方法及びプログラム | |
KR100202957B1 (ko) | 양자화기 | |
JP2020141377A (ja) | 画像符号化装置、画像復号化装置、撮像装置、画像符号化方法、画像復号化方法、及びプログラム | |
JP2017098753A (ja) | 符号化装置、撮像装置、符号化装置の制御方法、プログラム及び記憶媒体 | |
JP2006324905A (ja) | 画像符号化方法、及び画像処理装置 | |
JP2014033333A (ja) | 撮像装置、画像圧縮方法 |