JP2018011120A - Imaging apparatus, control method for imaging apparatus, and program - Google Patents
Imaging apparatus, control method for imaging apparatus, and program Download PDFInfo
- Publication number
- JP2018011120A JP2018011120A JP2016136861A JP2016136861A JP2018011120A JP 2018011120 A JP2018011120 A JP 2018011120A JP 2016136861 A JP2016136861 A JP 2016136861A JP 2016136861 A JP2016136861 A JP 2016136861A JP 2018011120 A JP2018011120 A JP 2018011120A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- encoded
- encoding
- unit
- 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
- Television Signal Processing For Recording (AREA)
- Studio Devices (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【課題】撮像された画像を符号化した符号化データを記憶するメモリが圧迫されるのを回避しつつ、高い画質を維持可能にすることを課題とする。【解決手段】周波数変換部(103)はプレーンデータを周波数変換した変換係数データを生成する。量子化部(104)は、変換係数データを量子化して量子化データを生成する。エントロピー符号化部(105)は、プレーンデータと変換係数データと量子化データの何れかを符号化する。制御部(110)は、符号化データを記憶するメモリ(107)の使用容量が閾値未満の場合、プレーンデータを符号化し、メモリ使用容量が閾値以上になった場合、1フレーム分の変換係数データを符号化した後、量子化データを符号化するように制御する。【選択図】図1An object of the present invention is to maintain high image quality while avoiding pressure on a memory that stores encoded data obtained by encoding a captured image. A frequency converter (103) generates conversion coefficient data obtained by frequency-converting plane data. The quantization unit (104) quantizes the transform coefficient data to generate quantized data. The entropy encoding unit (105) encodes any of plane data, transform coefficient data, and quantized data. The control unit (110) encodes plane data when the used capacity of the memory (107) for storing the encoded data is less than the threshold value, and transform coefficient data for one frame when the memory used capacity exceeds the threshold value. After encoding, control is performed so that the quantized data is encoded. [Selection] Figure 1
Description
本発明は、撮像された画像データを符号化する撮像装置、撮像装置の制御方法、及びプログラムに関する。 The present invention relates to an imaging apparatus that encodes captured image data, a control method for the imaging apparatus, and a program.
近年、デジタルカメラやデジタルカムコーダーの普及により、デジタル方式により静止画像や動画像を撮影することが広く普及してきている。これらのカメラは、JPEGやH.264に代表される符号化技術を用いて、静止画像や動画像の画像データを圧縮して記録することが一般的であるが、特許文献1には、撮像されたRAW(生)画像データを圧縮して記録できる撮像装置も開示されている。 In recent years, with the spread of digital cameras and digital camcorders, it has become widespread to shoot still images and moving images by digital methods. Generally, these cameras compress and record still image or moving image data using an encoding technique typified by JPEG or H.264. An imaging apparatus capable of compressing and recording the raw RAW image data is also disclosed.
JPEGやH.264に代表される符号化技術では、記録されるデータ量を抑制するために、比較的重要度が低い情報に対して量子化を行うロッシー符号化によりデータ量を削減するのが一般的であるが、量子化を行わないロスレス符号化を行うこともある。また、特許文献2には、ロスレス符号化とロッシー符号化を切り替える構成を有する画像圧縮装置が開示されている。
In encoding techniques typified by JPEG and H.264, in order to reduce the amount of data to be recorded, the amount of data can be reduced by lossy encoding that quantizes relatively less important information. In general, lossless encoding without quantization may be performed.
ここで、ロスレス符号化とロッシー符号化の切り替えが行われる場合の想定例としては、連写撮影された静止画像や動画像等の画像データを一時記憶するメモリの圧迫回避などが挙げられる。例えば、メモリの空き容量が十分残っている場合には画質劣化が無いロスレス符号化を行うようにし、メモリの空き容量が少なくなったときに、ロッシー符号化に切り替えて発生符号量を減らすことで、メモリの圧迫を回避する。特に、ロスレス符号化では、画像によって、発生符号量が非常に大きくなることがあり、その発生符号量がメモリの空き容量を超えてしまう場合にはメモリが破綻してしまう。このため、メモリの空き容量が少なくなった場合に、ロスレス符号化からロッシー符号化に切り替えて発生符号量を減らすことにより、メモリの圧迫による破綻を回避する。 Here, as an assumption example when switching between lossless encoding and lossy encoding is performed, there is a pressure avoidance of a memory that temporarily stores image data such as still images and moving images taken continuously. For example, if there is sufficient free memory space, lossless coding is performed without image quality degradation, and when the free memory space decreases, switching to lossy coding reduces the amount of generated code. , Avoid memory pressure. In particular, in lossless encoding, the amount of generated code may be very large depending on the image, and if the generated code amount exceeds the free space of the memory, the memory will fail. For this reason, when the free space of the memory is reduced, the loss due to the compression of the memory is avoided by switching from lossless encoding to lossy encoding to reduce the generated code amount.
しかしながら、ロスレス符号化からロッシー符号化に切り替えられた直後は、ロッシー符号化であっても、符号化により発生する符号量が、ロスレス符号化の場合とさほど変わらないことがあり、この場合、メモリの圧迫回避が不十分になる虞がある。一方、ロッシー符号化による発生符号量を抑えるために、比較的重要度が低い情報を大幅に削減するような量子化を行うと、画質が大きく劣化することになり、符号化の切り替えがなされた箇所での画質変動が目立つようになってしまう。 However, immediately after switching from lossless encoding to lossy encoding, even in lossy encoding, the amount of code generated by encoding may not be much different from that in lossless encoding. There is a risk that the avoidance of pressure will be insufficient. On the other hand, in order to suppress the amount of generated code due to lossy encoding, if quantization is performed to significantly reduce information of relatively low importance, the image quality will be greatly degraded, and encoding switching has been performed. Variations in image quality at locations will become noticeable.
そこで、本発明は、撮像された画像を符号化した符号化データを記憶するメモリの圧迫を回避しつつ、符号化の切り替えの際の画質の変動を少なくすることを目的とする。 Accordingly, an object of the present invention is to reduce fluctuations in image quality when switching encoding while avoiding compression of a memory that stores encoded data obtained by encoding a captured image.
本発明は、フレーム画像に対して周波数変換を行って第1の係数データを生成する周波数変換手段と、第1の係数データを量子化パラメータに基づいて量子化して第2の係数データを生成する量子化手段と、入力されたデータを符号化して符号化データを生成する符号化手段と、符号化を制御する制御手段と、を有し、制御手段は、複数のフレーム画像から生成された複数の符号化データをメモリに記憶させる際に、メモリ内で符号化データの占める容量が所定の閾値未満である場合にはフレーム画像のデータを符号化し、メモリ内で符号化データの占める容量が所定の閾値以上となった場合には少なくとも1フレーム分の第1の係数データを符号化した後、第2の係数データを符号化するように制御することを特徴とする。 According to the present invention, frequency conversion means for performing frequency conversion on a frame image to generate first coefficient data, and second coefficient data are generated by quantizing the first coefficient data based on a quantization parameter. A quantization unit; an encoding unit that encodes input data to generate encoded data; and a control unit that controls encoding. The control unit includes a plurality of frames generated from a plurality of frame images. When the encoded data is stored in the memory, if the capacity occupied by the encoded data in the memory is less than a predetermined threshold, the frame image data is encoded, and the capacity occupied by the encoded data in the memory is predetermined. When the threshold value is equal to or greater than the threshold, the first coefficient data for at least one frame is encoded, and then the second coefficient data is controlled to be encoded.
本発明によれば、撮像された画像を符号化した符号化データを記憶するメモリが圧迫されるのを回避しつつ、符号化の切り替えの際の画質の変動を少なくすることが可能となる。 According to the present invention, it is possible to reduce fluctuations in image quality when switching between encodings while avoiding pressure on a memory that stores encoded data obtained by encoding a captured image.
以下、添付図面を参照して、本発明の一実施形態について説明する。
<第1の実施形態>
図1は、第1の実施形態の撮像装置100の概略構成を示す図である。
本実施形態の撮像装置100は、撮像部101、プレーン変換部102、周波数変換部103、量子化部104、エントロピー符号化部105、メモリI/F部106、メモリ107、記録処理部108、記録媒体109、制御部110、MUX111を有する。
Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
<First Embodiment>
FIG. 1 is a diagram illustrating a schematic configuration of an
The
制御部110は、少なくとも、プレーン変換部102と、周波数変換部103と、量子化部104と、エントロピー符号化部105と、MUX111とを制御する。
The
撮像部101は、レンズ光学系、絞り、レンズ光学系と絞りの制御及び駆動を行う駆動部、撮像素子等を有する。レンズ光学系は、焦点調整を可能にするフォーカス光学系と光学ズームを可能にするズーム光学系等を含む。駆動部は、フォーカス光学系に対するフォーカス制御及びレンズ駆動部と、絞りに対する絞り制御及び絞り駆動部を有しており、さらにズーム光学系に対するズーム制御及びレンズ駆動部を有していてもよい。撮像素子は、CCDイメージセンサー又はCMOSセンサーからなり、レンズ光学系により撮像面上に結像された光学像を電気信号に変換する。そして、撮像部101は、撮像素子により得られた電気信号をデジタル信号へ変換したRAW(生)データを、撮像によるフレーム画像(以下、フレームと表記する。)のデータとしてプレーン変換部102へ送る。
The
プレーン変換部102は、撮像部101から供給されたRAWデータを、色成分毎のデータに変換する。以下、RAWデータを色成分毎のデータに変換することをプレーン変換と呼ぶ。図2は、プレーン変換の説明図である。図2において、RAWデータ200は、いわゆるベイヤー配列に対応したデータであり、図中のRは赤色、G(G1,G2)は緑色、Bは青色の各画素を表している。プレーン変換部102は、RAWデータ200を、R成分のプレーン201Rと、G1成分のプレーン201G1と、G2成分のプレーン201G2と、B成分のプレーン201Bとの、四つのプレーンの画像データに変換する。本実施形態では、RAWデータをプレーン変換した各色成分のプレーンの画像データが、後述する周波数変換部103と後述するMUX111とに送られる。以下、プレーン変換により得られた各色成分の各プレーンの画像データをプレーンデータと呼ぶ。
The
周波数変換部103は、プレーン変換部102から供給された色成分毎のプレーンデータに対して、それぞれ周波数変換処理を行う。周波数変換処理の一例として、いわゆる離散ウェーブレット変換(Discrete Wavelet Transform:以下、DWTと表記する。)処理が行われる場合について、図3を用いて説明する。図3において、プレーンデータ300は、前述した四つのプレーンデータのうちの何れか一つであるとする。周波数変換部103は、プレーンデータ300をDWT処理により複数の周波数帯に分解する周波数分解処理を3回行うことにより、周波数帯毎の変換係数データからなるサブバンドデータ301を生成する。本実施形態では、このサブバンドデータ301における周波数帯毎の変換係数データが本発明に係る第1の係数データに相当する。以下、プレーンデータ300がDWT処理された各周波数帯をサブバンドと表記する。図3のサブバンドデータ301のうち、サブバンド"0"はDC(直流)成分の変換係数データを表しており、サブバンド"1"〜"9"はAC(交流)成分の変換係数データを表している。周波数変換部103により生成されたサブバンドデータは、後述する量子化部104と後述するMUX111とに送られる。
The
量子化部104は、サブバンドデータ内の各サブバンドの各変換係数データを、量子化パラメータの一つである量子化ステップ値で除算して量子化データを生成する。すなわち、各サブバンドの各変換係数データは、量子化ステップ値で除算されることにより圧縮されることになる。本実施形態では、この量子化データが本発明に係る第2の係数データに相当する。量子化部104による量子化処理で得られた量子化データは、後述するMUX111に送られる。
The
MUX111は、制御部110からの制御信号に基づいて、複数の入力データから1つのデータを選択して出力するマルチプレクサである。MUX111から出力されたデータは、エントロピー符号化部105へ送られる。本実施形態の場合、MUX111には、前述したプレーン変換部102から出力されたプレーンデータと、周波数変換部103から出力されたサブバンドデータと、量子化部104から出力された量子化データとの、三つのデータが入力される。本実施形態では、撮像装置100の動作モードが、第1の動作モードである場合、制御部110は、プレーン変換部102からのプレーンデータを、エントロピー符号化部105へ出力するようにMUX111を制御する。また、撮像装置100の動作モードが、第2の動作モードである場合、制御部110は、周波数変換部103からのサブバンドデータを、エントロピー符号化部105へ出力するようにMUX111を制御する。また、撮像装置100の動作モードが、第3の動作モードである場合、制御部110は、量子化部104からの量子化データをエントロピー符号化部105へ出力するようにMUX111を制御する。
The MUX 111 is a multiplexer that selects and outputs one data from a plurality of input data based on a control signal from the
エントロピー符号化部105は、MUX111から供給されたデータに対してエントロピー符号化を行う。具体的には、撮像装置100が例えば第1の動作モードである場合、エントロピー符号化部105は、MUX111を介して供給されたプレーンデータに対してエントロピー符号化を行う。また、撮像装置100が第2の動作モードである場合、エントロピー符号化部105は、MUX111を介して供給されたサブバンドデータに対してエントロピー符号化を行う。また、撮像装置100が第3の動作モードである場合、エントロピー符号化部105は、MUX111を介して供給された量子化データに対してエントロピー符号化を行う。なお、エントロピー符号化の方式としては、ゴロム符号化や、ランレングス符号化、ハフマン符号化、算術符号化等の可逆符号化が考えられるが、ここではその方式については限定せず、どのような方式が用いられてもよい。エントロピー符号化部105での符号化により生成された符号化データは、メモリI/F部106に送られる。
The
また、エントロピー符号化部105による符号化で発生した符号量を示す情報は、量子化部104にフィードバックされる。本実施形態の場合、例えば第2の動作モードでサブバンドデータの符号化が行われた場合、1フレーム分の発生符号量の情報とともに、サブバンド毎の変換係数データの符号化によるサブバンド毎の発生符号量の情報が、量子化部104に送られる。また、第3の動作モードでサブバンド毎の量子化データの符号化が行われた場合にも、1フレーム分の発生符号量の情報とともに、サブバンド毎の量子化データの符号化によるサブバンド毎の発生符号量の情報が、量子化部104に送られる。このように、エントロピー符号化部105は、第2及び第3の動作モードにおけるサブバンド毎の発生符号量の情報を、1フレーム分の発生符号量の情報とともに量子化部104にフィードバックする。
Information indicating the code amount generated by the encoding by the
量子化部104は、エントロピー符号化部105からフィードバックされた発生符号量の情報を参照して、量子化パラメータの一つである量子化ステップ値を決定する。本実施形態の場合、量子化部104には、1フレーム分の発生符号量とサブバンド毎の発生符号量の情報が、フィードバックされる。したがって、量子化部104は、1フレーム分の発生符号量だけでなく、サブバンド毎の発生符号量をも参照して、サブバンド毎の細かな量子化ステップ値を決定する。
The
以下、図4を用い、量子化部104が、サブバンド毎の発生符号量を参照して、サブバンド毎の細かな量子化ステップ値を決定する処理の動作について説明する。量子化ステップ値の決定の際には、1フレーム分の発生符号量も参照されるが、以下の説明では、1フレーム分の発生符号量の参照動作については省略する。
Hereinafter, the operation of the process in which the
図4の横軸は時間を示し、時点Taは例えば静止画像を連続撮像する連写により取得された時系列の各フレームのうち、1枚目のフレームの撮影タイミングを示し、時点Tbは2枚目のフレームの撮影タイミングを示しているとする。なお、時点TaとTbは動画撮影による連続した時系列の各フレームのうち1枚目と2枚目のフレームの撮影タイミングであってもよい。以下、静止画像の連写撮影がなされる場合のみを例に挙げて説明する。図4のサブバンドデータ401は、時点Taで撮影されたフレームの一つのプレーンデータから周波数変換処理により生成された各サブバンドの変換係数データを表しているとする。また、サブバンドデータ402は、時点Tbで撮影されたフレームの同プレーンデータから周波数変換処理により生成された各サブバンドの変換係数データを表しているとする。
The horizontal axis in FIG. 4 indicates time, and the time point Ta indicates, for example, the shooting timing of the first frame among the time-series frames acquired by continuous shooting for continuously capturing still images, and the time point Tb indicates two frames. Assume that the shooting timing of the eye frame is shown. Note that the points in time Ta and Tb may be the shooting timings of the first frame and the second frame in each successive time-series frame by moving image shooting. Hereinafter, only a case where continuous shooting of still images is performed will be described as an example. The
ここで、例えば静止画像の連写撮影が行われている場合、時系列順の各フレームの画像は、時間方向において相関が高くなっていると考えられる。なお、動画撮影が行われている場合も、その動画撮影による時系列順の各フレームの画像は、時間方向で相関が高いと考えられる。このため、量子化部104は、時点Tbで得られたサブバンドデータ402の量子化を行う際には、1フレーム前の時点Taで得られたサブバンドデータ401のサブバンド毎の発生符号量を参照して、サブバンド毎に量子化ステップ値を決定する。例えば、サブバンドデータ402内のサブバンド"5"の変換係数データを量子化する際には、サブバンドデータ401内の同サブバンド"5"での発生符号量を参照して、そのサブバンド"5"に対応した量子化ステップ値が決められる。このように、量子化部104は、各サブバンドの量子化ステップ値を決定する際には、時間方向で相関が高いと考えられる1フレーム前の同サブバンドにおける発生符号量を参照値として利用する。このため量子化部104は、エントロピー符号化部105からフィードバックされる1フレーム前の各発生符号量の情報を記憶する記憶素子を有している。
Here, for example, when continuous shooting of still images is performed, it is considered that the images of the frames in the time series order have a high correlation in the time direction. Even when moving image shooting is performed, it is considered that the images of the frames in time-series order by the moving image shooting have a high correlation in the time direction. Therefore, when the
図1に説明を戻す。メモリI/F部106は、撮像装置100の各部からのメモリ・アクセス要求を調停し、メモリ107に対する読み出し・書き込みの制御を行う。前述したエントロピー符号化部105によるエントロピー符号化後の符号化データは、メモリI/F部106を介して、メモリ107に一時的に記憶される。
Returning to FIG. The memory I /
メモリ107は、エントロピー符号化後の符号化データや、撮像装置100の各部から出力される各種データを一時的に記憶するための例えば揮発性メモリからなる記憶領域である。メモリ107に一時的に記憶された符号化データは、メモリI/F部106を介して記録処理部108に送られる。
The
記録処理部108は、メモリ107から読み出された符号化データから、記録媒体109への記録に適した記録データを生成し、その記録データを記録媒体109に記録する。記録媒体109は、例えば不揮発性メモリで構成される記録メディアである。なお、本実施形態の撮像装置100は、記録媒体109から記録データを再生することも可能となされているが、その再生のための構成等の説明及び図示は省略する。
The
<ロスレス符号化とロッシー符号化の切り替え想定例>
ここで、連写撮影等による各フレームの符号化データをバッファメモリに一時記憶させた後に記録媒体に記録する際に、バッファメモリ内で符号化データが占める容量に応じてロスレス符号化とロッシー符号化を切り替える例について想定してみる。なお、この想定例は、ロスレス符号化とロッシー符号化の切り替えにより生ずる可能性がある問題点について説明するための例であって、図1に示した本実施形態による後述する符号化の切り替え制御との差異を説明するための例である。
<Example of switching between lossless coding and lossy coding>
Here, when the encoded data of each frame by continuous shooting or the like is temporarily stored in the buffer memory and then recorded on the recording medium, lossless encoding and lossy encoding are performed according to the capacity occupied by the encoded data in the buffer memory. Let's assume an example of switching the conversion. This assumption example is an example for explaining a problem that may occur due to switching between lossless coding and lossy coding, and coding switching control described later according to the present embodiment shown in FIG. It is an example for demonstrating the difference.
本想定例において、ロスレス符号化では、撮像されたRAWデータをプレーン変換したプレーンデータに対して、エントロピー符号化が行われるとする。一方、ロッシー符号化では、プレーンデータを周波数変換処理した各サブバンドデータに量子化処理を行った後の量子化データに対して、エントロピー符号化が行われるとする。また本想定例において、ロスレス符号化からロッシー符号化への切り替えは、バッファメモリ内で符号化データが占める容量(以下、使用容量と表記する。)が、所定の閾値以上になったときに行われるとする。 In this assumption example, it is assumed that in lossless encoding, entropy encoding is performed on plane data obtained by plane-converting captured RAW data. On the other hand, in lossy coding, it is assumed that entropy coding is performed on the quantized data after the quantization processing is performed on each subband data obtained by subjecting the plane data to frequency conversion processing. In this assumption example, switching from lossless encoding to lossy encoding is performed when the capacity occupied by the encoded data in the buffer memory (hereinafter referred to as “used capacity”) exceeds a predetermined threshold. Let's say.
図5は、本想定例において、連写撮影された静止画像の各フレームの符号化データをバッファメモリに一時的に記憶した後、記録媒体へ転送して記録する場合のバッファメモリの使用容量の遷移例を示す図である。図5の例では、エントロピー符号化されてバッファメモリに記憶される符号化データの単位時間当たりの符号量が、バッファメモリから読み出されて記録媒体へ転送される単位時間当たりの転送データ量を超えている場合を示している。 FIG. 5 illustrates the capacity of the buffer memory used in the case where the encoded data of each frame of still images taken continuously is temporarily stored in the buffer memory and then transferred to the recording medium and recorded in this example. It is a figure which shows the example of a transition. In the example of FIG. 5, the code amount per unit time of the encoded data that is entropy encoded and stored in the buffer memory is the transfer data amount per unit time that is read from the buffer memory and transferred to the recording medium. Indicates the case where the number is exceeded.
図5のグラフ500の横軸は時間を示しており、縦軸はバッファメモリの容量を示しており、折れ線502がバッファメモリの使用容量の遷移を表している。また、図5のグラフ500の横軸の各目盛は、連写撮影による1枚分のフレームの符号化データがバッファメモリに記憶される時間を示している。また、図5の時点T1は、連写撮影された例えば1枚目のフレームの符号化データがバッファメモリに記憶されたタイミングを示している。以下同様であり、時点T2〜T13・・・は2枚目〜13枚目・・・の各フレームの符号化データがバッファメモリに記憶されたタイミングを示している。また、時点T0は撮影開始のタイミングを表し、時点T0からT2までの間では、折れ線502で示されるメモリ使用量は徐々に増加するが、時点T2ではメモリ使用容量が低下する。これはバッファメモリから記録媒体へのデータ転送処理が終了したことでバッファメモリ内に1枚目の符号化データ分だけ容量の空きができたことを表している。なお、バッファメモリから記録媒体へのデータ転送は、実際には1枚目のフレームがバッファメモリに記憶された時点T1から始まっている。図5の例では、説明を分かりやすくするために、時点T2のデータ転送完了のタイミングで、メモリ使用量が1枚目の符号化データ分だけ空くような(データ量が差し引かれるような)イメージで折れ線502が描かれている。
The horizontal axis of the
また、図5のタイムチャート501は、エントロピー符号化処理へ入力されるデータの入力タイミングを表している。本想定例の場合、連写撮影の開始直後はバッファメモリの使用容量に余裕があるため、連写撮影による各フレームのプレーンデータがエントロピー符号化処理への入力データとなされて、ロスレス符号化が行われる。このため、図5の入力データIN0やIN1は、プレーンデータ、つまり周波数変換処理及び量子化処理が行われていないデータである。
A
一方、図5のグラフ500の時点Txは、折れ線502で示されるバッファメモリの使用容量が、所定の閾値以上(Th以上)となったタイミングを表している。このようにバッファメモリの使用容量が所定の閾値Th以上になった場合、バッファメモリへ記憶されるデータ量を抑えるために、これ以降は符号化方式がロッシー符号化に切り替えられる。ロスレス符号化は、画像によって発生符号量が大きくなる可能性があり、発生符号量がバッファメモリの空き容量を超えてしまうと、符号化データの記憶が出来なくなり破綻してしまうため、これ以降は符号化方式がロッシー符号化に切り替えられる。本想定例の場合は、周波数変換部処理及び量子化処理がなされた後の量子化データをエントロピー符号化するようなロッシー符号化を行って発生符号量を抑える。図5の場合、バッファメモリの使用容量が閾値Th以上になった時点Txの次の時点T12以降は、周波数変換処理及び量子化処理がなされた後の量子化データIN12,IN13・・・を、エントロピー符号化処理への入力データとする。
On the other hand, a time point Tx in the
ここで、量子化処理では、量子化ステップ値を決め、周波数変換処理によるサブバンド毎の変換係数データを、その量子化ステップ値で除算することにより、データの圧縮が行われる。量子化ステップ値は、例えば連写撮影された各フレームの画像が時間方向において有している相関を利用することにより決めている。具体的には、1フレーム前に符号化された画像の発生符号量を参照し、その発生符号量に基づいて量子化ステップ値が決められる。また、発生符号量を参照する際には、前述の図4で説明したように、1フレーム分の発生符号量だけでなく、サブバンド毎の量子化データの符号化により発生したサブバンド毎の発生符号量が参照される。このように、サブバンド毎の発生符号量に応じてサブバンド毎に量子化ステップ値を変えることで、より細かな量子化ステップ値が設定されることになる。 Here, in the quantization process, data is compressed by determining a quantization step value and dividing the transform coefficient data for each subband by the frequency conversion process by the quantization step value. The quantization step value is determined, for example, by using the correlation that the images of each frame that has been continuously shot have in the time direction. Specifically, referring to the generated code amount of an image encoded one frame before, the quantization step value is determined based on the generated code amount. Further, when referring to the generated code amount, as described with reference to FIG. 4 above, not only the generated code amount for one frame but also the sub-band generated by encoding the quantized data for each sub-band. The generated code amount is referred to. In this way, a finer quantization step value is set by changing the quantization step value for each subband in accordance with the generated code amount for each subband.
ただし、図5の想定例の場合、時点T12以降でロッシー符号化への切り替えが行われるが、時点T12より前ではロスレス符号化が行われており、周波数変換処理及び量子化処理は行われていない。このため、入力データIN12の量子化データを生成する際に使用される量子化ステップ値は、1フレーム前に行われたロスレス符号化によるプレーンデータ毎の発生符号量のみを参照して決定された値となされている。したがって、入力データIN12は、周波数変換処理によるサブバンド毎の変換係数データを、プレーンデータ毎の発生符号量を参照して決定した量子化ステップ値を用いて量子化したデータとなる。すなわち、入力データIN12は、サブバンド毎の発生符号量に応じた細かく適切な量子化ステップ値ではなく、プレーンデータ毎の発生符号量に応じた大まかな量子化ステップ値を用いて、サブバンド毎の変換係数データを量子化したデータとなる。 However, in the case of the assumption example in FIG. 5, switching to lossy coding is performed after time T12, but lossless coding is performed before time T12, and frequency conversion processing and quantization processing are performed. Absent. For this reason, the quantization step value used when generating the quantized data of the input data IN12 is determined by referring only to the generated code amount for each plane data by the lossless encoding performed one frame before. Value. Therefore, the input data IN12 is data obtained by quantizing the transform coefficient data for each subband by the frequency transform process using the quantization step value determined with reference to the generated code amount for each plane data. That is, the input data IN12 is not a fine and appropriate quantization step value corresponding to the generated code amount for each subband, but a rough quantization step value corresponding to the generated code amount for each plane data. The conversion coefficient data is quantized data.
この入力データIN12のような量子化データをエントロピー符号化した場合、例えば図5の折れ線503に示すように、ロスレス符号化が行われた場合の発生符号量とあまり変わらない符号量が発生してしまうことがある。逆に、図5の折れ線504に示すように、発生符号量は少なくなるが、符号化による画質劣化が大きくなってしまうこともあり得る。折れ線503の例のように、ロスレス符号化の場合とさほど変わらない符号量が発生した場合には、時点T13でもバッファメモリの使用容量が減らずにバッファメモリの空き容量が少なくなって、符号化データの記憶が出来なくなる虞がある。一方、折れ線504の例のように発生符号量を少なくできれば、バッファメモリの使用容量を減らすことができ、バッファメモリの破綻を回避できる可能性が高くなる。しかしながら、この場合、符号化による画質劣化が大きくなったことで、符号化方式がロスレス符号化からロッシー符号化へ切り替えられた箇所での画質変動が目立つようになる。
When the quantized data such as the input data IN12 is entropy-encoded, for example, as shown by a
このように、図5の想定例の場合、ロスレス符号化とロッシー符号化を切り替える際に、量子化ステップ値を定めるための参照情報が不足し、符号量の制御が荒くなって、メモリ容量の圧迫、或いは、画質の劣化と画質変動が目立つという問題が生ずる虞がある。 Thus, in the case of the assumption example in FIG. 5, when switching between lossless coding and lossy coding, reference information for determining the quantization step value is insufficient, and the control of the code amount becomes rough, so that the memory capacity is reduced. There may be a problem that compression or deterioration of image quality and image quality fluctuation are conspicuous.
<本実施形態におけるロスレス符号化とロッシー符号化の切り替え制御>
そこで、本実施形態の撮像装置100は、連写撮影された静止画像や動画のフレームに対する符号化においてロスレス符号化とロッシー符号化の切り替えを行う際、メモリ107の圧迫と画質劣化及び画質変動を回避可能とする切り替え制御を実現している。
<Switching control between lossless coding and lossy coding in this embodiment>
Therefore, when switching between lossless encoding and lossy encoding in encoding of still images and moving image frames taken continuously, the
図6は、本実施形態の撮像装置100が例えば静止画像の連写撮影を行っている際の制御フローチャートであり、撮影されたフレームの符号化に関連する各処理ステップを示している。
図6のフローチャートに示した各処理は、図1に示した撮像装置100のハードウェア構成により実現される場合だけでなく、本実施形態に係るプログラムをCPU等で実行することにより実現されてもよい。以下の説明では、フローチャートの各処理のステップS201〜ステップS214をS201〜S214と略記する。図6のフローチャートの処理は、静止画像の連写撮影開始によりスタートする。
FIG. 6 is a control flowchart when the
Each process shown in the flowchart of FIG. 6 is not only realized by the hardware configuration of the
静止画像の連写撮影が開始されると、制御部110は、先ず、撮像装置100の動作モードを初期化する。初期化された動作モードを初期動作モードと呼ぶ。本実施形態において、動作モードには、初期動作モードと、前述した第1の動作モード、第2の動作モード、第3の動作モードがあり、各動作モードにおける制御の詳細は後述する。制御部110は、初期動作モードへの設定を行った後、S201の制御処理に進む。
When continuous shooting of still images is started, the
また、撮像装置100において連写撮影が開始されると、撮像部101からは連写撮影による各フレームのRAWデータが出力され、そのRAWデータがプレーン変換部102に供給される。制御部110は、S201において、プレーン変換部102を制御して、RAWデータのプレーン変換処理を行わせる。S201の後、制御部110は、S202の制御処理に進む。
When continuous shooting is started in the
S202では、制御部110は、撮像装置100の動作モードが、第2又は第3の動作モードか否かを判断する。制御部110は、S202において、第2又は第3の動作モードであると判断した場合(YES)にはS207の制御処理に進む。一方、制御部110は、S202において、第2又は第3の動作モードでないと判断した場合(NO)には、S203の制御処理に進む。静止画像の連写撮影が開始されたときには、動作モードは前述のように初期動作モードに設定されているため、制御部110は、S202において、第2又は第3の動作モードでないと判断し、S203に制御処理を進める。
In S202, the
S203に進むと、制御部110は、メモリ107の使用容量が所定の閾値以上(Th以上)になったか否か判定する。閾値Thは、メモリ使用量の閾値であり、メモリ107が記憶可能な最大容量よりも小さい値として、制御部110に予め設定されている。制御部110は、メモリ107の最大容量と書き込み及び読み出しの速度を把握しており、また、エントロピー符号化部105による符号化で発生した符号量を監視することにより、メモリ107の使用容量がどのように推移しているかを認識している。このため、制御部110は、メモリ107の使用容量が所定の閾値Th以上になったか否かを判定可能である。なお、図1には図示していないが、メモリI/F部106がメモリ使用容量の情報を生成して制御部110に通知し、制御部110は、そのメモリ使用容量の情報を用いて、メモリ107の使用容量が閾値Th以上か否かを判定してもよい。制御部110は、S203において、メモリ107の使用容量が閾値Th以上であると判定した場合(YES)はS205に処理を進め、閾値未満(Th未満)であると判定した場合(NO)にはS204の制御処理に進む。静止画像の連写撮影が開始されたときには、メモリ107の容量は余裕があり、閾値Th未満であるため、制御部110は、S204に制御処理を進める。
In step S203, the
S204に進むと、制御部110は、静止画像の連写撮影が開始された際の初期動作モードを第1の動作モードに変更した後、S210の制御処理に進む。S210では、制御部110は、エントロピー符号化部105を制御してエントロピー符号化を行わせる。この時点では第1の動作モードに設定されており、第1の動作モードは、前述したように、プレーンデータを、直接、エントロピー符号化する動作モードとなされている。したがって、S210において、制御部110は、プレーン変換部102によるプレーンデータ(つまり周波数変換部103及び量子化部104を介していないプレーンデータ)が、直接、エントロピー符号化部105に入力されるようにMUX111を制御する。そして、エントロピー符号化部105により生成された符号化データは、メモリI/F部106を介してメモリ107に記憶される。したがって、このときのメモリ107には、周波数変換処理及び量子化処理が行われていないプレーンデータをエントロピー符号化した符号化データ、つまりロスレス符号化による符号化データが記憶されることになる。
When the process proceeds to S204, the
前述したようにS210において第1の動作モードでのエントロピー符号化が行われた後、制御部110は、S211の制御処理に進む。S211では、制御部110は、撮像装置100の動作モードが第1の動作モードか否かを判断する。制御部110は、S211において第1の動作モードであると判断した場合(YES)にはS213の制御処理に進み、一方、第1の動作モードでないと判断した場合(NO)にはS212の制御処理に進む。静止画像の連写撮影が開始された際には、前述したように第1の動作モードに設定されているため、制御部110は、S211において第1の動作モードであると判断して、S213の制御処理に進む。
As described above, after the entropy encoding in the first operation mode is performed in S210, the
S213では、制御部110は、連写撮影による全てのフレームのRAWデータについて前述したエントロピー符号化が終わったか否かを判定する。制御部110は、S213において、全てのフレームのRAWデータに対する符号化処理が終わっていないと判定した場合(NO)には、S201に処理を戻し、次のフレームのRAWデータについて、前述したS201以降の制御処理を行う。
In S213, the
S201の処理に戻ると、制御部110は、前述同様に、プレーン変換部102を制御して、連写撮影によるフレームのRAWデータのプレーン変換処理を行わせた後、S202の制御処理に進む。この時点の動作モードは、前述したように第1の動作モードに設定されているため、制御部110は、S202において第2又は第3の動作モードでないと判断して、S203に制御処理を進める。S203において、制御部110は、メモリ107の使用容量が所定の閾値Th以上になったか否か判定し、使用容量が所定の閾値Th未満であると判定した場合には、S204以降に処理を進める。
Returning to the processing of S201, the
そして、制御部110は、連写撮影による各フレームについて前述した一連の処理を繰り返し、S213において、連写撮影による全てのフレームのRAWデータについてエントロピー符号化が終わったと判断した場合(YES)には、S214の制御処理に進む。S214では、制御部110は、撮像装置100の動作モードを初期動作モードに設定した後、図6のフローチャートの連写撮影処理を終了する。
Then, the
一方、制御部110は、連写撮影による各フレームについて前述した一連の処理を繰り返し、S203において、メモリ107の使用容量が所定の閾値Th以上になったと判定した場合に、S205に制御処理を進める。
On the other hand, the
S205では、制御部110は、動作モードを第2の動作モードに設定した後、S206の制御処理に進む。S206では、制御部110は、周波数変換部103を制御して周波数変換処理を行わせた後、S210の制御処理に進む。なお、S206では、周波数変換処理としてサブバンド分解(周波数分解)を3回行う例を挙げているが、サブバンド分解の回数は2回以上であればよい。本実施形態において、第2の動作モードは、前述したように、プレーンデータを周波数変換処理した後のサブバンドデータを、エントロピー符号化する動作モードとなされている。第2の動作モードの場合、制御部110は、プレーンデータを周波数変換部103で周波数変換した後のサブバンドデータ(つまり量子化部104を介していないサブバンドデータ)が、エントロピー符号化部105に入力されるようにMUX111を制御する。そして、S210において、エントロピー符号化部105により生成された符号化データは、メモリI/F部106を介してメモリ107に記憶される。第2の動作モードの場合、メモリ107には、サブバンドデータがエントロピー符号化された符号化データ、つまりサブバンド毎の変換係数データを符号化した符号化データが、記憶されることになる。また、第2の動作モードの場合、サブバンド毎の変換係数データが符号化されたことで発生する、サブバンド毎の発生符号量の情報が得られることになる。
In S205, the
前述したように第2の動作モードにおいて、S210の制御処理がなされた後、制御部110は、S211の制御処理に進む。この時点では第2の動作モードに設定されているため、制御部110は、S211において第1の動作モードでないと判断してS212の制御処理に進む。
As described above, after the control process of S210 is performed in the second operation mode, the
S212に進んだ場合、制御部110は、第2の動作モードにおける符号化で得られるサブバンド毎の発生符号量の情報を、量子化部104内の記憶素子に記憶させる。S212の後、制御部110は、S213の制御処理に進む。そして、制御部110は、S213において、全てのフレームのRAWデータに対する符号化処理が終わっていないと判定した場合、S201に処理を戻し、次のフレームのRAWデータについて、前述したS201以降の制御処理を行う。
When the process proceeds to S <b> 212, the
このときの制御部110は、S201において連写撮影によるフレームのRAWデータのプレーン変換処理を行わせた後、S202の制御処理に進む。この時点の動作モードは、前述したように第2の動作モードに設定されているため、制御部110は、S202において第2の動作モードであると判断して、S207に制御処理を進める。
At this time, the
S207に進んだ場合、制御部110は、動作モードを第3の動作モードに設定した後、S208の制御処理に進む。S208では、制御部110は、周波数変換部103を制御して周波数変換処理を行わせた後、S209の制御処理に進む。なお、S208においてもS206の場合と同様に、周波数変換処理としてサブバンド分解(周波数分解)を3回行う例を挙げているが、サブバンド分解の回数は2回以上であればよい。S209では、制御部110は、量子化部104を制御して量子化処理を行わせた後、S210の制御処理に進む。このときの量子化部104では、第2の動作モードに設定された際にS212で記憶素子に記憶したサブバンド毎の発生符号量の情報を参照して、量子化処理を行う。つまり、1フレーム前の同じサブバンドの発生符号量を参照して、サブバンド毎の量子化ステップ値を決定し、その量子化ステップ値を用いて量子化処理が行われる。
When the process proceeds to S207, the
前述したように第3の動作モードにおいて、S210の制御処理がなされた後、制御部110は、S211の制御処理に進む。この時点では第3の動作モードに設定されているため、制御部110は、S211において第1の動作モードでないと判断してS212の制御処理に進む。
As described above, after the control process of S210 is performed in the third operation mode, the
S212に進んだ場合、制御部110は、第3の動作モードにおける符号化で得られるサブバンド毎の発生符号量の情報を、量子化部104内の記憶素子に記憶させる。S212の後、制御部110は、S213の制御処理に進む。そして、制御部110は、S213において、全てのフレームのRAWデータに対する符号化処理が終わっていないと判定した場合、S201に処理を戻し、次のフレームのRAWデータについて、前述したS201以降の制御処理を行う。
When the process proceeds to S212, the
制御部110は、S201において連写撮影によるフレームのRAWデータのプレーン変換処理を行わせた後、S202の制御処理に進む。この時点の動作モードは、前述したように第3の動作モードに設定されているため、制御部110は、S202において第3の動作モードであると判断して、S207に制御処理を進める。
The
S207に進んだ場合、制御部110は、動作モードが既に第3の動作モードに設定済みであるため、第3の動作モードのまま次のS208の制御処理に進む。S208では、制御部110は、周波数変換部103を制御して周波数変換処理を行わせた後、S209の制御処理に進む。S209では、制御部110は、量子化部104を制御して量子化処理を行わせた後、S210の制御処理に進む。このときの量子化部104では、前のフレームの符号化が行われた際のS212で記憶素子に記憶したサブバンド毎の発生符号量の情報を参照して、サブバンド毎の量子化ステップ値を決定し、その量子化ステップ値を用いたサブバンド毎の量子化処理が行われる。
When the process proceeds to S207, the
制御部110は、これ以降の各フレームについては第3の動作モードによる符号化が行われるように各部を制御する。そして、第3の動作モードにおいて、連写撮影による全てのフレームのRAWデータについてエントロピー符号化が終わった場合、制御部110は、撮像装置100の動作モードを初期動作モードに設定した後に処理を終了する。
The
なお、図6のフローチャートでは省略しているが、第3の動作モードによる符号化が行われている際に、メモリ107の使用容量が閾値Th未満になった場合には、第1の動作モードに戻して、図6のフローチャートのS201以降の処理を行うようにしてもよい。
Although omitted in the flowchart of FIG. 6, when the use capacity of the
図7は、本実施形態の撮像装置100において前述の図6のフローチャートの処理が行われ、連写撮影されたフレームの符号化データをメモリ107に一時的に記憶した後、記録媒体109に記録する際のメモリ107の使用容量の遷移例を示す図である。図7の例においても前述の図5の例と同様、エントロピー符号化されてメモリ107に記憶される符号化データの単位時間当たりの符号量が、メモリ107から記録媒体109へ転送される単位時間当たりの転送データ量を超えているとする。
7, the processing of the flowchart of FIG. 6 described above is performed in the
図7のグラフ700の横軸は時間を示しており、縦軸はメモリ107の容量を示しており、折れ線702がメモリ107の使用容量の遷移を表している。また、図7のグラフ700の横軸の各目盛は、連写撮影により1枚のフレームが撮影され、そのフレームのデータが符号化されてメモリ107に記録される時間を示している。また、図7中の時点T1は、連写撮影された1枚目のフレームの符号化データがメモリ107に記憶されたタイミングを示している。以下同様に、時点T2〜T29は2枚目〜29枚目の各フレームの符号化データがメモリ107に記憶されたタイミングを示している。また、時点T0は撮影開始のタイミングを表し、時点T0からT2までの間では、折れ線702で示されるメモリ使用量は徐々に増加するが、時点T2ではメモリ使用容量は低下する。これはメモリ107から記録媒体109へのデータ転送処理が終了したことでメモリ107内に1枚目の符号化データ分だけ容量の空きができたことを表している。図7の例でも前述の図5の例と同様に、メモリ107から記録媒体109へのデータ転送は、実際には1枚目のフレームがメモリ107に記憶された時点T1から始まっている。また、図7の例では、説明を分かりやすくするために、時点T2のデータ転送完了のタイミングで、メモリ使用量が1枚目の符号化データ分だけ空くようなイメージで折れ線702が描かれている。
The horizontal axis of the
また、図7のタイムチャート701は、エントロピー符号化部105に対して入力されるデータのタイミングを表している。この図7の例の場合、連写撮影の開始直後はメモリ107の容量に余裕があるため、前述した第1の動作モードにより、連写撮影による各フレームのプレーンデータがエントロピー符号化部105に入力されてエントロピー符号化が行われる。このため、図7の入力データIN0やIN1は、プレーン変換部102からのプレーンデータであって、周波数変換処理及び量子化処理が行われていないデータである。
A
一方、図7のグラフ700の時点Txは、折れ線702で示されるメモリ107の使用容量が、所定の閾値Th以上になったタイミングを表している。本実施形態では、メモリ107の使用容量が所定の閾値Th以上になった場合、時点Txの後で少なくとも1フレーム分に相当する時点T12からT13の間は、第2の動作モードに設定される。これにより、時点T12からT13までの間は、周波数変換部103による周波数変換処理後のサブバンドデータが、エントロピー符号化部105への入力データIN12となされる。したがって、このときのエントロピー符号化部105では、サブバンド毎の変換係数データがエントロピー符号化され、それらサブバンド毎の符号化データが、メモリI/F部106を介してメモリ107に記憶される。また、エントロピー符号化部105による符号化で発生した、サブバンド毎の発生符号量の情報は、量子化部104に送られて内部の記憶素子に記憶される。
On the other hand, a time point Tx in the
本実施形態において、時点T12の次のフレームの時点T13では、第3の動作モードが設定される。これにより、時点T13のフレームでは、周波数変換部103による周波数変換処理後のサブバンドデータを更に量子化部104で量子化処理した後の量子化データが、エントロピー符号化部105への入力データIN13となされる。このとき、量子化部104の内部の記憶素子には、時点T12からT13までの間で行われたサブバンド毎の符号化により得られた、サブバンド毎の発生符号量の情報が記憶されている。したがって、量子化部104は、時点T13のフレームに対しては、1フレーム前に得られているサブバンド毎の発生符号量の情報を参照した、サブバンド毎の量子化ステップ値を決定することができる。そして、量子化部104においてサブバンド毎の量子化ステップ値を用いて量子化処理が行われた後の量子化データ(IN13)が、エントロピー符号化部105により符号化される。このサブバンド毎の符号化データは、メモリI/F部106を介してメモリ107に記憶される。また、時点T13のフレームについて、エントロピー符号化部105による符号化で発生したサブバンド毎の発生符号量の情報は、量子化部104にフィードバックされて内部の記憶素子に記憶される。なお、発生符号量の情報は制御部110が保持するようにしてもよく、この場合、制御部110が発生符号量の情報に基づいて量子化部104の量子化ステップ値を決定してもよい。
In the present embodiment, the third operation mode is set at time T13 of the next frame after time T12. As a result, in the frame at time T13, the quantized data obtained by further quantizing the subband data after the frequency conversion processing by the
以下、時点T13以降の各フレームについても同様に、それぞれ1フレーム前のサブバンド毎の発生符号量を基に量子化ステップ値が決定されて量子化が行われてからエントロピー符号化が行われることになる。そして、例えば時点T20で連写撮影が終了したとすると、メモリ107に残っている各フレームの符号化データが全て読み出されて無くなる時点T29まで、メモリ107から記録媒体109へのデータ転送が行われる。
Hereinafter, for each frame after time T13, similarly, the entropy encoding is performed after the quantization step value is determined and quantized based on the generated code amount for each subband one frame before. become. For example, if continuous shooting is completed at time T20, data transfer from the
以上のように、本実施形態の撮像装置100は、可能な限りロスレス符号化を行って高画質の画像を記録可能としている。そして、本実施形態の撮像装置100は、メモリ107の使用容量が閾値Th以上になってロスレス符号化の継続が困難になった場合、ロッシー符号化に切り替えることでメモリの圧迫を回避しつつ、符号化方式の切り替えによる画質劣化を低減可能とする。また、ロスレス符号化からロッシー符号化への切り替えの際には、少なくとも1フレーム分の画像に対して周波数変換処理によるサブバンドデータの符号化処理が行われ、その際のサブバンド毎の発生符号量の情報が記憶される。そして、次のフレームでは、周波数変換処理によるサブバンドデータに対する量子化処理が行われるが、その量子化の際には、1フレーム前の符号化の際の発生符号量を参照して量子化ステップ値が決定される。これにより、符号化方式が切り替えられた後の量子化処理では、サブバンド毎の発生符号量を参照した最適な量子化ステップ値を用いた量子化が可能となり、符号化方式の切り替わりの際の画質劣化を低減可能となる。
As described above, the
<第2の実施形態>
図8は、第2の実施形態の撮像装置800の概略構成を示す図である。
本実施形態の撮像装置800は、撮像部801、プレーン変換部802、周波数変換部803、量子化部804、エントロピー符号化部805、メモリI/F部806、メモリ807、記録処理部808、記録媒体809、制御部810、MUX811を有する。図8の撮像装置800において、前述した図1の撮像装置100と同一の構成についての説明は省略する。
<Second Embodiment>
FIG. 8 is a diagram illustrating a schematic configuration of an
The
図8に示す第2の実施形態の撮像装置800は、記録処理部808と制御部810の動作が、図1の撮像装置100の記録処理部108と制御部110とは異なる。これら記録処理部808と制御部810の動作の詳細については後述する。以下、第2の実施形態の撮像装置800において、前述した第1の実施形態の撮像装置100とは異なる部分についてのみ説明する。
In the
例えば、図8には図示していない各種処理部や撮像装置100に接続された外部装置等により、メモリ807に対して多数のアクセスが発生するような場合には、メモリ807からのデータ読み出し速度が低下する。ここで、例えば、メモリ807に対し、連写撮影等による各フレームの符号化データの書き込みが行われている状態で、メモリ807のデータ読み出し速度が低下すると、メモリ807の容量が圧迫されることになる。
For example, when a large number of accesses to the
図9(a)は、連写撮影等による各フレームの符号化データをメモリ807に一時的に記憶した後、記録媒体809に記録する際、メモリ807の読み出し速度が低下した場合の、メモリ807の使用容量の遷移例を示す図である。図9(a)の例において、符号化されてメモリ807に記憶される符号化データの単位時間当たりの符号量は、メモリ807から記録媒体809へ転送される単位時間当たりの転送データ量を超えているとする。また、図9(a)の遷移例において、メモリI/F部806は、メモリ807に対する符号化データの書き込みと読み出しについて、読み出しよりも書き込みの優先度を高くするように設定されているとする。
FIG. 9A shows the
図9(a)のグラフ900の横軸は時間を示し、縦軸はメモリ807の容量を示しており、折れ線902がメモリ807の使用容量の遷移を表している。図9(a)のグラフ900の横軸の各目盛は、連写撮影により1枚のフレームが撮影され、そのフレームのデータが符号化されてメモリ807に記憶される時間を示している。図9(a)中の時点T0,T1,〜,T12,・・・は、図7の例と同様、撮影開始タイミング以降の各フレームの符号化データがメモリ807に記憶されたタイミングを示している。図9(a)の遷移例の場合、前述の図7の例よりもメモリ807の読み出し速度が低下しているため、時点T0〜T4までの間ではメモリ使用量が徐々に増加している。そして、図9(a)の遷移例の場合、時点T4において、メモリ807から記録媒体809へ1枚目のフレームの符号化データの転送処理が終了したことで、メモリ807内に1フレームの符号化データ分だけ容量の空きができたことを表している。なお、図9(a)の例でも前述の図7の例と同様に、メモリ807から記録媒体809へのデータ転送は、実際には1枚目のフレームの符号化データがメモリ807に記憶された時点T1から始まっている。
The horizontal axis of the
図9(a)のタイムチャート901は、図7の例と同様に、エントロピー符号化部805に対して入力されるデータのタイミングを表している。連写撮影の開始後でメモリ807の使用容量に余裕がある期間は前述同様に第1の動作モードとなされるため、図9(a)の入力データIN0やIN1は、周波数変換処理及び量子化処理が行われていないプレーンデータである。
A
図9(a)のグラフ900の時点Txは、折れ線902で示すメモリ807の使用容量が、予め設定されている所定の閾値Th以上になったタイミングを表している。第2の実施形態においても第1の実施形態と同様、メモリ807の使用容量が所定の閾値Th以上になった場合、時点Txの後の時点T8からT9の間は、第2の動作モードに設定される。これにより、時点T8からT9の間は、周波数変換部803による周波数変換処理後のサブバンドデータが、エントロピー符号化部805への入力データIN8となされる。このときのエントロピー符号化部805では、サブバンド毎の変換係数データが符号化され、それらサブバンド毎の符号化データがメモリI/F部806を介してメモリ807に記憶される。また、エントロピー符号化部805による符号化で発生した、サブバンド毎の発生符号量の情報は、量子化部804の内部の記憶素子に記憶される。
A time point Tx in the
第2の実施形態においても第1の実施形態と同様に、時点T8の次のフレームの時点T9では、第3の動作モードが設定される。これにより、時点T9のフレームでは、周波数変換処理後のサブバンドデータを更に量子化処理した後の量子化データが、エントロピー符号化部805への入力データIN9となされる。またこのとき、量子化部804は、時点T9のフレームに対しては、時点T8〜T9の間の第2の動作モードの際に得られたサブバンド毎の発生符号量の情報を参照してサブバンド毎の量子化ステップ値を決定する。そして、量子化部804においてサブバンド毎の量子化ステップ値を用いて量子化処理が行われた後の量子化データ(IN9の量子化データ)はエントロピー符号化部805により符号化され、そのサブバンド毎の符号化データがメモリ807に記憶される。これ以降は第3の動作モードが継続される。
Also in the second embodiment, as in the first embodiment, the third operation mode is set at the time T9 of the next frame after the time T8. Thereby, in the frame at time T9, the quantized data obtained by further quantizing the subband data after the frequency conversion process is used as the input data IN9 to the
ここで、図9(a)の遷移例の場合、第3の動作モードによる符号化を行って発生符号量を抑えたとしても、メモリ807の読み出し速度が低下しているため、例えば時点T12においてメモリ807の使用容量が最大容量に達してしまう可能性がある。この場合、例えば量子化部804の量子化ステップ値を、発生符号量が大幅に少なくなるような値にして量子化を行わせることにより、メモリ807が最大容量に達しないように制御することが考えられる。しかしながら、発生符号量が大幅に少なくなるような量子化ステップ値による量子化を行うと、画質が急激に劣化してしまうようになる。
Here, in the case of the transition example in FIG. 9A, even when the encoding in the third operation mode is performed and the generated code amount is suppressed, the reading speed of the
そこで、第2の実施形態では、メモリ807のデータ転送速度に応じて、メモリ使用容量に対する所定の閾値Thを制御することにより、メモリ807の使用容量が最大容量に達してしまうのを防ぐとともに、画質の急激な劣化をも防止可能としている。
Therefore, in the second embodiment, by controlling the predetermined threshold Th for the memory usage capacity according to the data transfer rate of the
第2の実施形態の撮像装置800において、記録処理部808は、メモリ807からデータが読み出されて記録媒体809に記録される際のデータ転送速度を求める。例えば、記録処理部808は、メモリI/F部806によるメモリ807の符号化データ読み出し開始時間と、メモリ807の符号化データ読み出し完了時間との差分により、メモリ807のデータ読み出し際の単位時間当たりの転送量を推定する。また例えば、記録処理部808は、メモリI/F部806によるメモリ807のデータ書き込み量と読み出し量との比により、メモリ807のデータ読み出しの際の単位時間当たりの転送量を推定してもよい。このような単位時間当たりの転送量の情報は、メモリ807から読み出されて記録媒体809に記録される際のデータ転送速度を示す情報として、制御部810に送られる。制御部810は、記録処理部808から受け取ったデータ転送速度の情報に基づいて、所定の閾値Thを変更する。具体的には、メモリ使用容量に対する閾値Thは、データ転送速度が遅くなればなるほど下げられるように変更される。
In the
なお、データ転送速度に応じた閾値の変更は、一例として、複数のデータ転送速度と複数の閾値との対応テーブルを参照するような手法を用いることで実現可能である。例えば、制御部810は、異なる複数のデータ転送速度と複数の閾値との対応テーブルを内部の記憶素子等に保持しており、記録処理部808から供給されたデータ転送速度に応じた閾値を対応テーブルから読み出すことで、閾値を変更する。もちろん対応テーブルを参照する手法は一例であり、この例に限定されるものではなく、データ転送速度に応じた閾値を演算により求めるようにしてもよい。
Note that the threshold value can be changed according to the data transfer rate by using a method of referring to a correspondence table between a plurality of data transfer rates and a plurality of threshold values as an example. For example, the
図9(b)は、メモリ807のデータ転送速度が低下していることで、図9(a)で説明した所定の閾値Thが、閾値Th1のように低い値に変更された例を示す図である。図9(b)のグラフ920及び折れ線922とタイムチャート921は、前述した図9(a)のグラフ900及び折れ線902とタイムチャート901と同様に表されているものでるため、それらの詳細な説明は省略する。
FIG. 9B is a diagram showing an example in which the predetermined threshold Th described in FIG. 9A is changed to a low value like the threshold Th1 because the data transfer rate of the
図9(b)の例の場合、閾値Th1は図9(a)の閾値Thよりも低い値に変更されているため、その閾値Th1をメモリ807の使用容量が超える時点Txは、図9(a)の例よりも時間軸上で前になる。図9(b)の例の場合、メモリ807の使用容量が所定の閾値Th1以上になるのは時点T6とT7の間であり、このため第1の動作モードから第2の動作モードへの切り替えは時点T7で行われる。したがって、時点T7からT8の間は、周波数変換処理後のサブバンドデータが、エントロピー符号化部805への入力データIN7となされる。
In the case of the example in FIG. 9B, the threshold Th1 is changed to a value lower than the threshold Th in FIG. 9A. Therefore, the time Tx when the used capacity of the
そして、図9(b)の例の場合、第2の動作モードから第3の動作モードへの切り替えは、時点T7の次のフレームの時点T8において行われる。これにより、時点T8のフレームでは、周波数変換処理及び量子化処理が行われ、その量子化データがエントロピー符号化部805への入力データIN8となされる。これ以降は第3の動作モードが継続されることになる。
In the example of FIG. 9B, the switching from the second operation mode to the third operation mode is performed at time T8 of the next frame after time T7. Thereby, in the frame at time T8, frequency conversion processing and quantization processing are performed, and the quantized data becomes input data IN8 to the
図9(b)の例の場合、図9(a)の閾値Thよりも低い閾値Th1に変更されているため、第1の動作モードから第2の動作モードへの遷移、更には第3の動作モードへの遷移が、メモリ807の使用容量が少ない(空き容量が多い)段階で行われる。すなわち、メモリ807に十分な空き容量が残っている早い段階で、第3の動作モードへの切り替えが行われるため、メモリ807の読み出し速度が低下していたとしても、メモリ807の使用容量が最大容量に達してしまう可能性が低くなる。したがって、第3の動作モードにおいて、量子化部804の量子化ステップ値を、発生符号量が大幅に少なくなるような値にしなくてもよくなり、その結果、画質が急激に劣化するような事態になることを防止可能となる。
In the case of the example in FIG. 9B, since the threshold value Th1 is lower than the threshold value Th in FIG. 9A, the transition from the first operation mode to the second operation mode, and further the third The transition to the operation mode is performed when the used capacity of the
以上説明したように、第2の実施形態においては、メモリ807へのアクセスが多く、メモリ807のデータ転送速度が遅くなる場合でも、可能な限りロスレス符号化を行って高画質の画像を記録可能としている。また、第1の実施形態と同様に、第2の実施形態の撮像装置800は、メモリ807の使用容量が閾値以上になった場合には、ロッシー符号化に切り替えることでメモリの圧迫を回避しつつ、符号化方式の切り替えによる画質劣化を低減可能としている。また、符号化方式の切り替えの際には、前述同様、少なくとも1フレーム分の画像に対して周波数変換処理によるサブバンドデータの符号化を行い、次のフレームでは、1フレーム前の符号化の際の発生符号量を参照して量子化ステップ値が決定される。これにより、符号化方式の切り替わりの際の画質劣化が低減される。更に、第2の実施形態の撮像装置800は、データ転送速度に応じて閾値Thを変更可能となされており、メモリ807のデータ転送速度が遅くなる場合には、メモリ使用容量に対する閾値Thを、より低い閾値Th1に変更する。したがって、第2の実施形態によれば、メモリ807の使用容量が最大容量に達してしまうのを防ぐことができるとともに、動作モードを第3の動作モードに遷移させた後に画質が急激に劣化するのを防止可能である。
As described above, in the second embodiment, even when there are many accesses to the
なお、第2の実施形態では、メモリ807の単位時間当たりのデータ転送量(転送速度)に応じて閾値を変更する例を挙げたが、制御部810は、例えば記録媒体809におけるデータ転送処理性能(記録処理能力)を基に閾値を制御してもよい。この例の場合、メモリ807へのアクセス量が多い場合ではなく、記録処理部808の転送速度が高く維持されている場合において効果を発揮する。例えば、制御部810は、記録媒体809が高速な転送処理能力を有する場合には閾値を高く設定し、記録媒体809が低速な転送処理能力を有する場合には閾値を低く設定するように制御する。また、制御部810は、メモリ807のデータ転送速度と記録媒体809のデータ転送処理性能の両者を基に閾値を制御してもよい。例えば、制御部810は、メモリ807のデータ転送速度と記録媒体809のデータ転送処理性能の両者が高ければ閾値を高くし、何れか一方でも低ければ閾値を低く制御するようにしてもよい。また例えば、制御部810は、メモリ807のデータ転送速度と記録媒体809のデータ転送処理性能の何れか一方が低い場合であっても、他方によりメモリ807の圧迫を回避できるのであれば、閾値を低く制御しないようにしてもよい。
In the second embodiment, the threshold value is changed according to the data transfer amount (transfer speed) per unit time of the
また、図8の例では、記録処理部808が制御部810による制御を受けていない構成となっているが、記録処理部808も制御部810により制御される構成であってもよい。この場合、制御部810が前述したデータ転送速度や記録処理部808の単位時間当たりの読み出し速度を管理して、前述のように閾値の制御を行う。また、前述した発生符号量の情報は制御部810が保持していてもよく、制御部810が発生符号量を基に量子化部804の量子化ステップ値を決定してもよい。
In the example of FIG. 8, the
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
<Other embodiments>
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in the computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
100,800 撮像装置、101,801 撮像部、102,802 プレーン変換部、103,803 周波数変換部、104,804 量子化部、105,805 エントロピー符号化部、106,806 メモリI/F部、107,807 メモリ、108,808 記録処理部、109,809 記録媒体、110,810 制御部、111,811 MUX 100,800 imaging device, 101,801 imaging unit, 102,802 plane conversion unit, 103,803 frequency conversion unit, 104,804 quantization unit, 105,805 entropy coding unit, 106,806 memory I / F unit, 107,807 Memory, 108,808 Recording processing unit, 109,809 Recording medium, 110,810 Control unit, 111,811 MUX
Claims (12)
前記第1の係数データを、量子化パラメータに基づいて量子化して第2の係数データを生成する量子化手段と、
入力されたデータを符号化して符号化データを生成する符号化手段と、
前記符号化を制御する制御手段と、を有し、
前記制御手段は、
複数のフレーム画像から生成された複数の符号化データをメモリに記憶させる際に、メモリ内で前記符号化データの占める容量が所定の閾値未満である場合には、前記フレーム画像のデータを符号化し、
前記メモリ内で前記符号化データの占める容量が所定の閾値以上となった場合には、少なくとも1フレーム分の前記第1の係数データを符号化した後、前記第2の係数データを符号化するように制御することを特徴とする撮像装置。 Frequency conversion means for performing frequency conversion on the frame image to generate first coefficient data;
Quantization means for quantizing the first coefficient data based on a quantization parameter to generate second coefficient data;
Encoding means for encoding input data to generate encoded data;
Control means for controlling the encoding,
The control means includes
When storing a plurality of encoded data generated from a plurality of frame images in a memory, if the capacity occupied by the encoded data in the memory is less than a predetermined threshold, the data of the frame image is encoded. ,
When the capacity occupied by the encoded data in the memory exceeds a predetermined threshold value, the first coefficient data for at least one frame is encoded, and then the second coefficient data is encoded. An image pickup apparatus that is controlled as described above.
前記量子化手段は、前記複数のサブバンド毎に、1フレーム前のサブバンドの発生符号量に応じて決定された量子化パラメータを用いて量子化を行うことを特徴とする請求項2に記載の撮像装置。 The frequency transform decomposes the frame image into a plurality of subbands to generate the first coefficient data for each of the plurality of subbands;
3. The quantization unit according to claim 2, wherein the quantization unit performs quantization for each of the plurality of subbands using a quantization parameter determined according to a generated code amount of a subband one frame before. Imaging device.
前記周波数変換手段は、前記フレーム画像のRAWデータから変換された前記色成分毎の各プレーンデータを、前記周波数変換により複数のサブバンドに分解して、前記複数のサブバンド毎の前記第1の係数データを生成し、
前記量子化手段は、前記サブバンド毎の前記符号化による発生符号量に応じたサブバンド毎の量子化パラメータを用いて、前記サブバンド毎の前記第1の係数データを量子化して、前記サブバンド毎の第2の係数データを生成することを特徴とする請求項1乃至7の何れか1項に記載の撮像装置。 Plane conversion means for generating plane data obtained by converting RAW data of a frame image obtained by the imaging into a plane for each color component;
The frequency conversion means decomposes each plane data for each of the color components converted from the RAW data of the frame image into a plurality of subbands by the frequency conversion, and the first for each of the plurality of subbands. Generate coefficient data,
The quantization means quantizes the first coefficient data for each subband using a quantization parameter for each subband corresponding to a generated code amount by the encoding for each subband, and The imaging apparatus according to claim 1, wherein second coefficient data for each band is generated.
前記制御手段は、
前記メモリ内で前記符号化データの占める容量が所定の閾値未満である場合には、前記選択手段から、前記フレーム画像のデータを前記符号化手段に出力させ、
前記メモリ内で前記符号化データの占める容量が所定の閾値以上となった場合には、前記選択手段から、少なくとも1フレーム分の前記第1の係数データを前記符号化手段に出力させた後、以降は1フレーム前の前記第2の係数データを前記符号化手段に出力させることを特徴とする請求項1乃至8の何れか1項に記載の撮像装置。 A selection in which the frame image data, the first coefficient data, and the second coefficient data are input, and one of the input data is switched and selected and output to the encoding means Having means,
The control means includes
When the capacity occupied by the encoded data in the memory is less than a predetermined threshold, the selection means outputs the frame image data to the encoding means,
When the capacity occupied by the encoded data in the memory is equal to or greater than a predetermined threshold, after the selection means outputs the first coefficient data for at least one frame to the encoding means, 9. The image pickup apparatus according to claim 1, wherein the second coefficient data of one frame before is output to the encoding unit thereafter.
前記第1の係数データを、量子化パラメータに基づいて量子化して第2の係数データを生成する量子化工程と、
入力されたデータを符号化して符号化データを生成する符号化工程と、を有し、
前記符号化工程では、
複数のフレーム画像から生成された複数の符号化データをメモリに記憶させる際に、メモリ内で前記符号化データの占める容量が所定の閾値未満である場合には、前記フレーム画像のデータを符号化し、
前記メモリ内で前記符号化データの占める容量が所定の閾値以上となった場合には、少なくとも1フレーム分の前記第1の係数データを符号化した後、前記第2の係数データを符号化することを特徴とする撮像装置の制御方法。 A conversion step of performing frequency conversion on the frame image to generate first coefficient data;
A quantization step of quantizing the first coefficient data based on a quantization parameter to generate second coefficient data;
Encoding the input data to generate encoded data, and
In the encoding step,
When storing a plurality of encoded data generated from a plurality of frame images in a memory, if the capacity occupied by the encoded data in the memory is less than a predetermined threshold, the data of the frame image is encoded. ,
When the capacity occupied by the encoded data in the memory exceeds a predetermined threshold value, the first coefficient data for at least one frame is encoded, and then the second coefficient data is encoded. And a method of controlling the imaging apparatus.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016136861A JP2018011120A (en) | 2016-07-11 | 2016-07-11 | Imaging apparatus, control method for imaging apparatus, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016136861A JP2018011120A (en) | 2016-07-11 | 2016-07-11 | Imaging apparatus, control method for imaging apparatus, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018011120A true JP2018011120A (en) | 2018-01-18 |
Family
ID=60994390
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016136861A Pending JP2018011120A (en) | 2016-07-11 | 2016-07-11 | Imaging apparatus, control method for imaging apparatus, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2018011120A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110418061A (en) * | 2019-08-26 | 2019-11-05 | Oppo广东移动通信有限公司 | Image processing method, image processor, photographing device and electronic equipment |
| JP2020088537A (en) * | 2018-11-21 | 2020-06-04 | キヤノン株式会社 | Imaging apparatus, control method of the same, and program |
-
2016
- 2016-07-11 JP JP2016136861A patent/JP2018011120A/en active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020088537A (en) * | 2018-11-21 | 2020-06-04 | キヤノン株式会社 | Imaging apparatus, control method of the same, and program |
| JP7204441B2 (en) | 2018-11-21 | 2023-01-16 | キヤノン株式会社 | IMAGING DEVICE, CONTROL METHOD AND PROGRAM THEREOF |
| CN110418061A (en) * | 2019-08-26 | 2019-11-05 | Oppo广东移动通信有限公司 | Image processing method, image processor, photographing device and electronic equipment |
| CN110418061B (en) * | 2019-08-26 | 2021-04-23 | Oppo广东移动通信有限公司 | Image processing method, image processor, photographing device and electronic equipment |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2017085247A (en) | Encoding method, encoding device, imaging apparatus and program | |
| JP2016213528A (en) | Image encoder, image processing apparatus, image coding method | |
| JP6875821B2 (en) | Image coding device, imaging device, image coding method and program | |
| JP2019004428A (en) | Image encoding device, image decoding device, image encoding method, image decoding method, and program | |
| CN101253761B (en) | Image encoding apparatus and image encoding method | |
| JP6023596B2 (en) | Image encoding device | |
| JPWO2006098226A1 (en) | Encoding device and moving image recording system provided with encoding device | |
| JP6512916B2 (en) | Image pickup apparatus, control method thereof and program | |
| JP2011518527A (en) | Video decoding | |
| JP6806466B2 (en) | Image coding device and its control method | |
| JP6871727B2 (en) | Imaging equipment, image processing methods, and programs | |
| JP6929044B2 (en) | Imaging device, control method of imaging device, and program | |
| JP5943733B2 (en) | Image encoding apparatus, control method therefor, and program | |
| CN110087074B (en) | Image processing device and method for operating the same | |
| JP2018011120A (en) | Imaging apparatus, control method for imaging apparatus, and program | |
| JP2004166128A (en) | Method, device and program for coding image information | |
| JP2009010612A (en) | Image compression apparatus and image compression method | |
| JP6946671B2 (en) | Image processing device and image processing method | |
| US12069306B2 (en) | Image encoding apparatus and method for controlling the same and non-transitory computer-readable storage medium | |
| JP6775339B2 (en) | Image coding device and its control method | |
| JP7332399B2 (en) | Image processing device and its control method | |
| TWI846680B (en) | Image processing device and method for operating image processing device | |
| JP2010213187A (en) | Video coding transmission apparatus | |
| JP6916618B2 (en) | Image coding device and its control method and program | |
| JP6849880B2 (en) | Image transmission system and its control method and imaging device |