JP5335912B2 - 画像符号化装置、画像符号化方法、及び画像符号化プログラム - Google Patents

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

Info

Publication number
JP5335912B2
JP5335912B2 JP2011518620A JP2011518620A JP5335912B2 JP 5335912 B2 JP5335912 B2 JP 5335912B2 JP 2011518620 A JP2011518620 A JP 2011518620A JP 2011518620 A JP2011518620 A JP 2011518620A JP 5335912 B2 JP5335912 B2 JP 5335912B2
Authority
JP
Japan
Prior art keywords
macroblocks
rate
encoding
macroblock
image
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.)
Active
Application number
JP2011518620A
Other languages
English (en)
Other versions
JP2012507886A (ja
Inventor
庸介 高田
知式 松崎
Original Assignee
ジーブイビービー ホールディングス エス.エイ.アール.エル.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ジーブイビービー ホールディングス エス.エイ.アール.エル. filed Critical ジーブイビービー ホールディングス エス.エイ.アール.エル.
Priority to JP2011518620A priority Critical patent/JP5335912B2/ja
Publication of JP2012507886A publication Critical patent/JP2012507886A/ja
Application granted granted Critical
Publication of JP5335912B2 publication Critical patent/JP5335912B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Description

本発明は、画像処理技術に関し、より詳細には、画像符号化装置、画像符号化方法、及び画像符号化プログラムに関する。
動画像をデジタル処理する技術において、発生する膨大な情報量を圧縮して符号化するための方式として、デジタルビデオ及び付随するオーディオに対する符号化方式の標準規格ISO/IEC 13818(通称、「MPEG−2」(Moving Picture Expert Group Phase 2))がある。このようにして生成されたMPEG−2の規格に準拠したビットストリームは、通信やテレビジョン放送など幅広い分野で使用されている(非特許文献1参照)。
MPEG−2準拠ビットストリームは階層構造を有し、最上位のシーケンス・レイヤから順にGOP(Group of Pictures)レイヤ、ピクチャ・レイヤ、スライス・レイヤ、マクロブロック・レイヤ及びブロック・レイヤの各レイヤを含む。
MPEG−2においては、一連の複数の画像から構成される動画像を処理する場合、各画像フレームを一旦フレームメモリに保存し、フレーム間の動き補償差分を取ることによって時間軸方向の冗長度を削減し、さらに、各フレームを構成する複数の画素を離散コサイン変換(以後、「DCT」と略す)することにより空間軸方向の冗長度を削減することにより、効率良い動画像圧縮符号化を実現している。
符号化された信号は、デコーダに送られて復号され再生される。MPEG−2は一般にフレーム間符号化(inter−frame coding)を利用して高い圧縮率を実現している。デコーダでは、画像フレームを再生し第1のフレームメモリに保存し、差分情報に基づいて次に続くべき画像フレームを予測し第2のフレームメモリに保存し、2つのフレームからその間に挿入される画像フレームをさらに予測して、一連の画像フレームを構成し動画像を再生する。このような手法は双方向予測と呼ばれる。
MPEG−2では、この双方向予測を実現するために、Iフレーム、Pフレーム及びBフレームという3つのタイプを規定している。Iフレームは、イントラ符号化フレームを意味し、他のフレームとは独立して静止画として符号化される画像のことである。Pフレームは、順方向予測符号化フレームを意味し、時間的に過去に位置するIフレームまたはPフレームに基づいて予測符号化される画像のことである。Bフレームは、双方向予測符号化フレームを意味し、時間的に前後に位置するIフレームまたはPフレームを用いて順方向、逆方向または双方向のフレームに基づいて予測符号化される画像のことである。すなわち、Iフレーム及びPフレームを先に符号化処理した後、その間に挿入されるBフレームが符号化される(非特許文献2参照)。
フレーム間符号化は、連続するフレームの間の相関を用いて圧縮を行うという性質から、圧縮と伸張を繰り返すと画質が低下しやすい。このため、高画質が要求される、画像編集システムやビデオ・サーバでは、フレーム内符号化(intra−frame coding)のみが利用されることがある。例えば、MPEG−2においてI(intra)フレームのみを使う符号化方式(「以後、Iフレームのみの符号化」と呼ぶ。)がある。MPEG−2では、Iフレームに加えてPフレーム,Bフレームなどの複数のフレームを含むGOP単位でレートコントロールすることが一般的であるが、Iフレームのみの符号化においても同様の方法でレートコントロールができる。
エンコーダで符号化されたMPEG−2ビットストリームは、所定の転送速度で伝送路に送出され、該伝送路上のデコーダに入力されて復号され再生される。しかしながら、動画像を符号化して発生する情報量、すなわち、動画像信号のエントロピーは一定ではない。このように一定しない動画像信号を符号化して、生成した符号化信号を固定レートの伝送路に送出するためには、符号化信号が一定のエントロピーを有するように、符号化データのレートコントロールを行う必要がある。
従来の画像符号化のレートコントロールについて、図8を参照して説明する。図8に示す従来の画像符号化装置100は、デジタル画像データを入力する入力部101と、ブロック化処理部102と、符号化部103と、FIFOバッファ104と、レートコントロール部105と、出力部106とを備える。ブロック化処理部102は、入力部101から入力された画像データをブロックに分割して、符号化の基本単位であるマクロブロックを生成する。符号化部103は、ブロック化処理部102によって生成されたマクロブロックをDCT変換、量子化、可変長符号化してビットストリームを生成する。FIFOバッファ104は、符号化部103から供給されるビットストリームを一時的に蓄え、出力部106を介して出力する。レートコントロール部105は、FIFOバッファ104の占有率に基づいて、符号化部103が次の画像データの量子化処理に用いる量子化パラメータを制御する、フィードバック型のレートコントロールを行う。量子化パラメータは量子化の粗さまたは細かさに影響し、量子化の粗さまたは細かさは秒当たり符号化されるビットの数に直接影響する。量子化が粗くなると、より少ないデータしか維持されず、符号化された画像データの品質は劣化する。量子化が細かくなると、より多くのデータが維持され、画像符号化の品質は向上する。しかしながら、量子化があまりにも細かければ、秒毎の符号化ビットの数は割り当てられた帯域幅を超え、限られた帯域幅に収まるようにレートコントロールをやり直す必要がある。
Iフレームのみの符号化においても、高ビットレートが要求されるため、デコーダのバッファに余裕がない場合が多い。このため、Iフレームのみの符号化では、一層厳密なレートコントロールが要求されるため、レートコントロールに通常よりも時間がかかってしまう。また、フィードバックレートコントロールの性質から、Iフレームの符号長がフレーム毎に異なるので、特にシーンチェンジ時やカットやインサートなどの編集の結果、レートが一気に増大し、バッファ管理上の制約を破り、バッファが破綻してしまう恐れがある。
DVのようなコーデックでは、Iフレームが同じ大きさになるようにしてレートコントロールを行うので上述のような問題はない。レートコントロールを効率的に行うため、マクロブロック・シャッフリングという手法が使われる(例えば、特許文献3参照)。マクロブロックは輝度や色差を表すDCTブロックをまとめたものである。MPEG−2やMPEG−1にもマクロブロックに相当するものがあることから、本書において「マクロブロック」とは、MPEG−2やMPEG−1におけるマクロブロックに相当するものも含むものとする。
マクロブロック・シャッフリングでは、空間的にランダムに位置するマクロブロックを複数個、例えば5個収集して、符号化する。ここで、符号化されたマクロブロックの符号長を「マクロブロックのレート」と呼ぶ。このようにして収集されたマクロブロックのレートが目標レートを超えないように、レートコントロールが実行される。このようにしてまとめられたマクロブロックの集合を「セグメント」と呼ぶ。これにより、セグメントという小さな単位で上述のレートコントロールを行いながら、画像データ全体にフェアにビットを割り当てるようにしている。また、セグメントに含まれるマクロブロックの数が小さいので、レートコントロールを高速に実行でき、また必要な回路規模を小さくできる。
ISO/IEC 13818−2:2000,Information technology−Generic coding of moving pictures and associated audio information: Video Peter Symes. Digital Video Compression. Mcgraw−Hill, 2003. 特開平11−298896号公報
MPEG−2のストリーム構造によれば、マクロブロックの行(row)はスライスと呼ばれる構造にまとめられ、スライスの中ではマクロブロックにスキャン順の依存関係の生じる処理(DC成分のDPCM符号化など)が施されるので、シャッフルしたマクロブロックを独立して符号化し、レートコントロールを実行することができない。このため、MPEG−2に準拠したIフレームのみの符号化において、DVのようなマクロブロック・シャッフリングを利用したレートコントロールを行うことは難しい。MPEG−2では1個のマクロブロックが1個のスライスを構成するようにストリームの構造を変更することが許されているため、マクロブロックを独立して符号化し、レートコントロールすることができる。しかし、このようにストリームの構造を変更すると、DC予測などの予測符号化が使えないことや補助情報によるオーバーヘッドが増えることにより、符号化効率が落ちるという課題がある。
したがって、本発明は、上述の課題に鑑み、スライス構造を変更することなく、最大レートを見積もり、順次修正していく符号予測を行いながら、マクロブロック・シャッフリングによってフェアなビット割り当てと高速なレートコントロールを保障し、必要な回路規模を小型化できる、画像符号化装置及び画像符号化方法を提供することを目的とする。
本発明の第1の態様によると、画像を表す画像データを符号化する画像符号化装置において、前記画像符号化装置は、前記画像データを構成する複数個のマクロブロックを画像内のそれぞれの位置から収集して並び替えるシャッフル部と、前記シャッフル部によって収集されて並び替えられた、前記複数個のマクロブロックを基本単位として、空間周波数変換及びエントロピー符号化を行う符号化部と、前記複数個のマクロブロックを基本単位として、前記符号化部を制御して、前記複数個のマクロブロックの符号化後のレートを調整するレートコントロール部と、を含み、前記レートコントロール部は、前記複数個のマクロブロックの各々のマクロブロックについて、各々のマクロブロックの予測元マクロブロックから予測される予測量が既知であるか否かを判別し、前記複数個のマクロブロックを含む画像データ全体における符号化済みのマクロブロックの中で、予測量が既知でないと判別されたマクロブロックの個数に基づいてレートの修正を実行することによって、前記符号化部を制御する、画像符号化装置が提供される。
この構成により、本発明の画像符号化装置は、複数個のマクロブロックの各々のマクロブロックについて、マクロブロックのシャッフリングをしながら、各々のマクロブロックの予測元マクロブロックから予測される予測量が既知であるか否かを判別し、複数個のマクロブロックを含む画像データ全体における符号化済みのマクロブロックの中で、予測量が既知でないと判別されたマクロブロックの個数に基づいてレートの修正を実行することによって符号化部を制御することができるので、レート修正を採用したレートコントロールを実現することができる。さらに、処理を実行するための基本単位を全体で構成するマクロブロックの数を少数に選択することによって、処理を高速化し、当該処理に必要な回路規模のサイズを縮小することができる。さらに、符号化部は、マクロブロック・シャッフリングによって画像データの疑似ランダムな位置から抽出した少数のマクロブロックに符号化を実行するので、画像全体の画質を均一化し、画像のクオリティを向上することができる。例えば、画像のエントロピーの変動の大きい連続した画像データをIフレームに符号化する場合であっても、出力されるビットストリームの大きさを均一にすることができるため、バッファの制約を破るおそれがない。このため、複数枚のフレームをマルチスレッドを利用して同時に符号化し、その後に一つのストリームにまとめることが可能である。また、同じ理由から、エンコード後にカットやインサートなどの編集が可能である。
さらに、上述の画像符号化装置において、対応する予測元マクロブロックから予測される予測量が既知でない符号化済みのマクロブロックをオープン・マクロブロックと定義し、前記レートコントロール部は、前記画像データの割り当てレートに、前記複数個のマクロブロックの個数を前記画像データのマクロブロックの個数で除算した値を積算して、前記複数個のマクロブロックに対する割り当てレートを算出し、前記複数個のマクロブロックが前記符号化部によって符号化された前後の画像データ全体のオープン・マクロブロックの個数の差分に、前記オープン・マクロブロックの予測符号の最大レートと前記予測符号の平均値との差分を積算して前記複数個のマクロブロックに対する割り当てレートの修正量を算出し、前記複数個のマクロブロックに対する割り当てレートに前記修正量を加算して、修正割り当てレートを算出し、前記複数個のマクロブロックの符号化後のレートが前記修正割り当てレートと同等以下となるように前記符号化部を制御するようにしてもよい。
この構成により、本発明の画像符号化装置では、前記レートコントロール部が、前記複数個のマクロブロックに対する割り当てレートを、前記画像データの割り当てレートに、前記複数個のマクロブロックの個数を前記画像データのマクロブロックの個数で除算した値を積算して算出し、前記複数個のマクロブロックが前記符号化部によって符号化された前後の画像データ全体のオープン・マクロブロックの個数の差分に、前記オープン・マクロブロックの予測符号の最大レートと前記予測符号の平均値との差分を積算して前記複数個のマクロブロックに対する割り当てレートの修正量を算出し、前記複数個のマクロブロックに対する割り当てレートに前記修正量を加算して、修正割り当てレートを算出し、前記複数個のマクロブロックの符号化後のレートが前記修正割り当てレートと同等以下となるように前記符号化部を制御することができる。したがって、符号化を行う際に、予測量が未知のオープン・マクロブロックに対して、一旦最大のレートを割り当てた後、予測符号のレートが明らかになる毎にオープン・マクロブロックのレートを適宜修正するので、レートコントロールを保証できる。さらに、割り当てレートを適宜修正するので、フェアに安定して予測符号のレートを割り当てることができる。
さらに、上述の画像符号化装置において、前記符号化部が前記複数のマクロブロックをJPEG及びMPEG−2の少なくとも一つに準拠して符号化してもよい。具体的には、静止画画像にも応用可能である。本発明の画像符号化装置は、例えば、画像エントロピーの変動の大きい一連の画像データを、例えば、Iフレームのみで符号化する場合であっても、出力されるビットストリームの大きさを略均一にすることができるため、複数枚のフレームをマルチスレッドを利用して同時に符号化し、その後でストリームにまとめることも可能である。また、同じ理由から、符号化後にカットやインサートなどの編集もしやすい。また、前記符号化部は前記複数のマクロブロックをインターフレーム符号化方式に準拠して符号化してもよいので、本発明は幅広い用途に適用可能である。
上述の画像符号化装置において、前記予測レートは、例えば、DC予測の符号を含んでもよい。この構成によって、本発明の画像符号化装置は、符号化を行う際に、DC予測が未知のオープン・マクロブロックに対して、一旦最大のレートを割り当てた後、予測レートが明らかになる毎にレートを適宜更新することができるので、レートコントロールを保証できる。前記空間周波数変換をDCT変換によって実行し、前記レートコントロール部は、前記符号化部が前記複数個のマクロブロックをDCT変換する際に用いる量子化スケールを前記修正割り当てレートに基づいて決定するようにしてもよい。例えば、DC予測で犠牲になりがちなAC成分に割り当てるレートも安定して確保することができ、2次元的な細かい変化を鮮明に表現することなども可能になる。
上述の画像符号化装置において、前記画像データは、一列に配列された第2の複数個のマクロブロックから構成されるスライス・レイヤを含み、前記シャッフル部は、前記第2の複数個のマクロブロックを並び替える際に、前記スライス・レイヤにおけるスキャン順を含む前記第2の複数個のマクロブロックの位置情報を生成し、前記レートコントロール部は、前記スライス・レイヤを構成する一列に配列された第2の複数個のマクロブロックのバイト単位のレートを、前記スライス・レイヤを構成する一列に配列された第2の複数個のマクロブロックのビット単位のレートと、前記スライス・レイヤを構成する一列に配列された第2の複数個のマクロブロックの符号化済みマクロブロックとそれらに伴うオーバーヘッドのビット単位の合計レートとの和を8で除算して整数に切り上げて得た値から、前記スライス・レイヤを構成する一列に配列された第2の複数個のマクロブロックの符号化済みマクロブロックとそれらに伴うオーバーヘッドのビット単位の合計レートを8で除算して整数に切り上げて得た値を減じて算出してもよい。
スライス中のマクロブロックの符号は通常、バイト単位で処理される。この構成によって、本発明の画像符号化装置は、レートコントロール部が、マクロブロックのバイト単位のレートを、スライス・レイヤを構成する一列に配列された複数個のマクロブロックのビット単位のレートと、スライス・レイヤを構成する一列に配列された複数個のマクロブロックの符号化済みマクロブロックとそれらに伴うオーバーヘッドのビット単位の合計レートとの和を8で除算して整数に切り上げて得た値から、スライス・レイヤを構成する一列に配列された複数個のマクロブロックの符号化済みマクロブロックとそれらに伴うオーバーヘッドのビット単位の合計レートを8で除算して整数に切り上げて得た値を減じて算出することができる。
上述の画像符号化装置は、さらに、前記符号化部によって符号化された符号化データを一時的に保存する中間バッファ部と、前記中間バッファ部に保存された符号化データをスキャン順に読み取って当該符号化データを出力することによって、前記符号化データを前記シャッフル部によって並び替えられる前の配列に再び並び替える並び替え部と、を含み、前記中間バッファ部は、固定長のオーバーヘッドとマクロブロックの総数を乗算して得た値と、画像データ全体に対する割り当てレートとを加算した合計と同等の容量を有するようにしてもよい。
マクロブロック毎に当該マクロブロックの符号を保存する従来のバッファでは、マクロブロック毎に最大のレートをバッファに割り当てているが、本発明の画像符号化装置では、必要なバッファの容量を画像データの全体の割り当てレートと、固定長オーバーヘッドをマクロブロックの数で乗算して得た値との合計に削減することができる。
本発明の第2の態様によると、画像を表す画像データを符号化する画像符号化方法において、前記画像符号化方法は、前記画像データを構成する複数個のマクロブロックを画像内のそれぞれの位置から収集して並び替えるシャッフリングステップと、前記シャッフリングステップにおいて収集されて並び替えられた、前記複数個のマクロブロックを基本単位として、空間周波数変換及びエントロピー符号化を行う符号化ステップと、前記複数個のマクロブロックを基本単位として、前記符号化ステップを制御して、前記複数個のマクロブロックの符号化後のレートを調整するレートコントロールステップと、を含み、前記レートコントロールステップは、前記複数個のマクロブロックの各々のマクロブロックについて、各々のマクロブロックの予測元マクロブロックから予測される予測量が既知であるか否かを判別するステップと、前記複数個のマクロブロックを含む画像データ全体における符号化済みのマクロブロックの中で、予測量が既知でないと判別されたマクロブロックの個数に基づいてレートの修正を実行することによって、前記符号化ステップを制御するステップを有する、画像符号化方法を提供する。
本発明の第3の態様によると、画像を表す画像データを符号化するためのコンピュータによって実行される、画像符号化プログラムであって、前記画像符号化プログラムは、
前記画像データを構成する複数個のマクロブロックを画像内のそれぞれの位置から収集して並び替えるシャッフリングステップと、前記シャッフリングステップにおいて収集されて並び替えられた、前記複数個のマクロブロックを基本単位として、空間周波数変換及びエントロピー符号化を行う符号化ステップと、前記複数個のマクロブロックを基本単位として、前記符号化ステップを制御して、前記複数個のマクロブロックの符号化後のレートを調整するレートコントロールステップと、を含み、前記レートコントロールステップは、前記複数個のマクロブロックの各々のマクロブロックについて、各々のマクロブロックの予測元マクロブロックから予測される予測量が既知であるか否かを判別するステップと、前記複数個のマクロブロックを含む画像データ全体における符号化済みのマクロブロックの中で、予測量が既知でないと判別されたマクロブロックの個数に基づいてレートの修正を実行することによって、前記符号化ステップを制御するステップを有する、画像符号化プログラム、を提供する。
マクロブロックのシャッフリングをしながら、各々のマクロブロックの予測元マクロブロックから予測される予測量が既知であるか否かを判別し、複数個のマクロブロックを含む画像データ全体における符号化済みのマクロブロックの中で、予測量が既知でないと判別されたマクロブロックの個数に基づいてレートの修正を実行することによって符号化ステップを制御することができるので、レート修正を採用したレートコントロールを実現することができる。さらに、処理を実行するための基本単位を全体で構成するマクロブロックの数を少数に選択することによって、処理を高速化し、当該処理に必要な回路規模のサイズを縮小することができる。さらに、符号化ステップは、複数のマクロブロックを基本単位として、マクロブロック・シャッフリングによって画像データの疑似ランダムな位置から抽出したマクロブロックに符号化を実行するので、画像全体の画質を均一化し、画像のクオリティを向上することができる。例えば、エントロピーの変動の大きい連続した画像データをIフレームのみに符号化する場合であっても、出力されるビットストリームの大きさを均一にすることができるため、バッファの制約を破るおそれがない。このため、複数枚のフレームをマルチスレッドを利用して同時に符号化し、その後に一つのストリームにまとめることが可能である。また、同じ理由から、エンコード後にカットやインサートなどの編集が可能である。
本発明によれば、マクロブロック・シャッフリングを実行することによってマクロブロックを疑似ランダムに抽出し、セグメントという少ない数のマクロブロックを単位として符号化を制御するので、高速なレートコントロールを保障しながら、必要な回路規模を小さくできる。画質が均一になるので、画像のクオリティが向上する。さらに、スライス構造が変化しないので、符号予測を行うことができ、符号化効率が低下しない。レートコントロールでは、予測元マクロブロックから予測される予測量が不明なマクロブロックにおいては可能な最大レート、すなわち、修正レート、を最初に見積もり、マクロブロックの各々について予測が明らかになる毎に順次レートを更新していくことによって、レートコントロールを保証することができる。さらに予測されるレート、すなわち、平均レート、からの修正レートのずれをキャンセルするように割り当てレートを適当に修正することでマクロブロック毎のビット割り当てをフェアにできる。
図1は、本発明の第1の実施の形態の画像符号化装置のブロック図である。 図2は、図1の画像符号化装置のシャッフル部が実行するシャッフリングを説明する図である。 図3は、図2で説明するシャッフリングによって形成されるセグメントの一例を示す図である。 図4は、図1の画像符号化装置の符号化部が実行する符号化処理を説明する図である。 図5は、図1の画像符号化装置のレートコントロール部が実行するレートコントロール処理を説明するフロー図である。 図6は、本発明の第2の実施の形態の画像符号化装置のブロック図である。 図7は、図6の画像符号化装置の中間ストリームバッファを説明する図である。 従来の画像符号化装置のブロック図である。
以下、本発明の具体的な実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
本発明の第1の実施の形態の画像符号化装置について、図1を参照して説明する。図1に示すように、本実施の形態の画像符号化装置10は、デジタルに変換された画像データを入力する入力部1と、ブロック化処理部2と、シャッフル部3と、符号化部4と、レートコントロール部5と、並べ替え部6と、出力部7とを備える。ブロック化処理部2は、入力部1から入力された画像データをブロックに分割して、符号化の基本単位であるマクロブロックを生成する。シャッフル部3は、ブロック化処理部2によって生成された複数のマクロブロックを疑似ランダムに抽出する。シャッフル部3によって疑似ランダムに抽出された複数のマクロブロックは、全体でセグメントと呼ばれる。一つのセグメントを構成するマクロブロックの個数は、例えば5個など、少数でよい。符号化部4は、シャッフル部3によってシャッフリングされて疑似ランダムに抽出されたマクロブロックをDCT変換、量子化、可変長符号化してビットストリームを生成する。レートコントロール部5は、シャッフルされたマクロブロックに対してセグメントの単位でレートコントロールを行う。シャッフル部3が実行するシャッフリング及びレートコントロール部5が実行するレートコントロールの詳細については後述する。並び替え部6は、符号化部4によって生成されたビットストリームを、シャッフリング3によってシャッフリングされる前の配列に並び替え、出力部7を介してビットストリームを出力する。本実施の形態の画像符号化装置は、シャッフリングによって画面上で疑似ランダムな位置からマクロブロックを抽出するので、全体として、画像の画質を均一にすることができるまた、セグメントに含まれるマクロブロックの数を少なくすることができるので、レートコントロールを高速に実行することができ、必要な回路規模を小さくできる。
<1.具体的なシャッフリング方法>
以下、シャッフル部3が実行する具体的なシャッフリングの方法について、図2を参照して説明する。図2に、シャッフル部3がシャッフリングを実行するマクロブロックを含むブロックに分割された画像データを示す。また、画像データから疑似ランダムに抽出したマクロブロックを含むセグメントについては図3に示す。本実施の形態では、35列25行のマクロブロックを有する画像データを想定して説明する。
まず、画像データ全体を7列5行からなるマクロブロックを有するスーパーブロックに分割する。図2においてスーパーブロックは太い線で囲まれた長方形で示されている。本実施の形態では、行または列の少なくとも何れかを同一とするマクロブロックを持たないように5個のスーパーブロックSB〜SBを選択する。波線の矢印はスーパーブロックのスキャン順を示す。上からk番目に位置するi行j列のスーパーブロックをSB[i,j]とすると、図2では、SB[0,0],SB[1,2],SB[2,4],SB[3,1],SB[4,3]が選択されている。
次に、選択したスーパーブロックをスキャンして、選択したスーパーブロックの各々から1個ずつマクロブロックを抽出し、セグメントを形成する。図2においてマクロブロックは細い線で囲まれた正方形で示されており、実線の矢印はマクロブロックのスキャン順を示す。k番目のスーパーブロックにおいてl番目にスキャンされたマクロブロックをMB[k,l]として、図3に形成されたセグメントの一例を示す。図3に示すセグメントは、MB[0,11],MB[1,11],MB[2,11],MB[3,11],MB[4,11]と、各スーパーブロックから抽出された11個目のマクロブロックから形成されていることがわかる。
図2で実線の矢印で示す順序で所与のスーパーブロック内のすべてのマクロブロックを処理し終えると、次に、波線の矢印で示すように、それぞれの処理済みのスーパーブロックの下方に位置する未処理のスーパーブロックに移行し、それぞれの未処理のスーパーブロックからマクロブロックを所定の順番に選択して、次のセグメントを形成していく。下端のスーパーブロックにある全てのマクロブロックを処理した場合は、処理済みのスーパーブロックと同じ列の上端の未処理のスーパーブロックに移行するようにする。以下、すべてのスーパーブロックで同様の処理を実行する。マクロブロックを選択する方法は、例えば、図2で実線の矢印で示すように、それぞれのスーパーブロックの内部をジグザグにスキャンしてスーパーブロックの各々から未処理のマクロブロックを選択するようにしてもよいが、これに限定されず、セグメントに属する所定の数のマクロブロックを適時もれなく、画像データの中から空間的に擬似ランダムになるように選択できるのであれば、如何なる順序で行ってもよい。また、抽出するマクロブロックの数も5個に限定されず、実装するシステムで好適であれば、任意の数でもよく、また、可変であってもよい。このようなシャッフリングのパターンをテーブルとしてメモリ(図示してない)に記憶しておいて、シャッフル部3がこのメモリに記憶したテーブルを参照しながらシャッフリングを実行するようにしてもよい。符号化部4とレートコントロール部5はそれぞれ、このようにして形成されたセグメント毎に符号化処理及びレートコントロールを実行する。
図2において、網掛けしたマクロブロックは符号化済みマクロブロックを表す。薄い網掛けは、DC予測の予測元マクロブロックがまだ符号化されていない符号化済みマクロブロックを表し、濃い網掛けは、DC予測の予測元マクロブロックが既に符号化された符号化済みマクロブロックを表す。以後、DC予測の予測元マクロブロックがまだ符号化されていない符号化済みマクロブロックを、「オープン・マクロブロック」と呼び、DC予測の予測元のブロックがすでに符号化された符号化済みマクロブロックを、「クローズド・マクロブロック」と呼ぶ。スライス・レイヤは図2において水平方向のマクロブロックの配列によって構成される。左端のマクロブロックはスライスの先頭に位置するマクロブロックであるため、常にクローズド・マクロブロックとして処理される。MPEG−2では、各行のマクロブロックの配列がそれぞれスライスを構成しているため、DC予測は、スーパーブロックを跨いでもよい。シャッフル部3はマクロブロックを並び替える(シャッフルする)際に、スライス・レイヤにおけるスキャン順を含むマクロブロックの位置情報を生成する。
図2のようにシャッフリングを行うと、符号化を進めるにつれ、符号化済みマクロブロックの個数が所定の数、例えば、全マクロブロックの個数の略半数に至るまでは、オープン・マクロブロックの個数は増加していく傾向にあるが、符号化済みマクロブロックの個数が当該所定の数を超えてさらに増加すると、オープン・マクロブロックの個数は減少していく傾向にある。画像データのサイズやスーパーブロックへの分割方法などに応じて、セグメントによってマクロブロックの個数が異なってもよい。このとき、セグメントの内部のマクロブロックあたりのレートが同一になるように、一つのセグメントに割り当てるレートを変更してもよい。本実施の形態では、説明を簡潔にするため、すべてのセグメントのマクロブロックの個数を同一とする。
<2.マクロブロックの符号化方法>
以下、符号化部4が実行する、MPEG−2に準拠したIフレームのマクロブロックの符号化方法を説明する。一つのマクロブロックを構成するDCTブロックの個数はクロマサブサンプリングによって異なるが、ここでは、説明を容易にするためクロマサブサンプリングを4:2:2であるとする。クロマサブサンプリングが4:2:2とき、マクロブロックには輝度(Y)ブロック4個と、2種類の色差(Cb,Cr)ブロック、それぞれCbとCrのブロックに対して2個ずつからなる。それぞれのブロックはDCT変換される。DCTブロックのDCT成分は、1個のDC成分と残りのAC成分に分けられ、それぞれに異なる符号化が行われる。
AC成分は量子化マトリクスによって周波数毎に異なる精度で量子化される。その後、マトリクスで量子化されたAC成分は、すべてのAC成分に共通の量子化スケールによってさらに量子化される。量子化スケールによって量子化されたAC成分は、ジグザグスキャンされ、エントロピー符号化される。符号化部4はAC成分に対する量子化スケールを変化させることでレートコントロールを行う。
DC成分は、11または10,9,8ビットに量子化された後、Y,Cb,Cr毎に予測符号化される。すなわち、あるブロックのDC成分は次のブロックのDC成分の予測値として使われ、その差分が符号化される。図4に、DC成分に含まれる輝度信号を表すY,色差信号を表すCb,Crを示す。図4に示すように、4個のYブロックはスキャン順にY0,Y1,Y2,Y3と呼ばれ、この順にDC予測される。2個のCbブロックもスキャン順にCb0,Cb1とよばれこの順にDC予測される。2個のCrブロックも同様にスキャン順にCr0,Cr1とよばれこの順にDC予測される。マクロブロック内の最初のブロックY0,Cb0,Cr0は、それぞれ、そのマクロブロック(以後、「被予測マクロブロック」と呼ぶ。)のすぐ左に隣接するマクロブロック(以後、「予測元マクロブロック」と呼ぶ。)のY3,Cb1,Cr1から予測される。以降の説明では、マクロブロック内でのイントラマクロブロックDC予測を、「イントラDC予測」、マクロブロック間でのインターマクロブロックDC予測を、「インターDC予測」と呼ぶ。
インターDC予測は同じスライスに含まれるマクロブロック間でのみ行われる。以下、説明を容易にするため、最大のスライスを仮定する。すなわち、同じ行のマクロブロックは同一のスライスに属すると仮定する。スライスの先頭、すなわち列の左端のマクロブロックには、予測元のブロックが存在しないので、DCはゼロから予測される。
<3.具体的なバジェットの割り当て方法>
以下、レートコントロール部5がレートコントロールを実行する際に考慮される、各セグメントへのレートのバジェットの割り当てとその修正方法について、簡易化したMPEG−2準拠Iフレーム符号化の場合を例に説明する。本実施の形態のバジェットの割り当て方法は次の特徴を前提とする。1.レートコントロールを保証できる。具体的には、画像データの複雑さによらず必ず目的とする符号長以下のストリームを出力するので、レートコントロールが失敗することはない。2.マクロブロックに対してフェアにバジェットを割り当てられる。平均すると各マクロブロックに対する割り当てレート、すなわちバジェットを、マクロブロックがオープンであるかクローズドであるかに関わらず、セグメント間で略同一にできる。なお、「レートのバジェット」または「バジェット」とは、「割り当て可能な最大レート」または単に「割り当てレート」を意味する。
本実施の形態では、説明を容易にするため、MPEG−2準拠Iフレームを以下のように簡略化した圧縮方法を用いる。(1)MPEG−2のヘッダ(例えば、シーケンス・ヘッダ、ピクチャ・ヘッダ、スライス・ヘッダ、マクロブロック・ヘッダ)などによるオーバーヘッドはないものとして考える。最終的に符号化されたストリームはマクロブロックの符号のみからなり、マクロブロックの符号はDC(イントラ、インター)とAC成分の符号のみからなるものと仮定する。(2)インターDC予測以外の依存関係(例えば、量子化スケール、符号のビット・アラインメント、スライスの先頭マクロブロックのオーバーヘッド)は考えない。(1)の簡略化は、画像データ全体のバジェットから固定長のオーバーヘッドをあらかじめ差し引いておくことによって実現する。(2)の簡略化については後で検討し、本方法が容易にMPEG2準拠Iフレームに拡張できることを示す。
最終的なストリームのサイズ、すなわち、画像データ全体のレートのバジェットをBpictureとすると、セグメントのレートのバジェットBsegmentは、以下の式に従って算出できる。
Figure 0005335912
ただし、NMBs in pictureとNMBs in segmentはそれぞれ、画像データ全体に含まれるマクロブロックの個数とセグメントに含まれるマクロブロックの個数を表す。上式において、
Figure 0005335912
が整数でない場合は、レートコントロールを保証するため、切り捨てた値がセグメントのバジェットとなる。切り捨ての場合、余りのバジェットを無駄にしないように、余りのバジェットをいくつかのセグメントに割り当てるようにしてもよい。
あるセグメントをレートコントロール部5がレートコントロールするとは、符号化部4が実行する量子化処理に用いる量子化パラメータを変化させることによって、そのセグメントの実際のレートSsegment、または以下で説明するように修正レートS’segmentをそのセグメントに割り当てられたバジェットBsegment、または、以下で説明するように修正バジェットB’segment以下になるように制御することを意味する。あるセグメントを符号化した後に、余りのレート(B’segment−S’segment)を、それ以降のセグメントに割り当てるようにしてもよい。
セグメントの符号化を進める毎に、オープンであるマクロブロックの個数は変化する。所与の時点のオープン・マクロブロックの個数をNopenMBsで表すとすると、符号化を始める前はNopenMBs=0である。所与のセグメントを符号化する毎に、NopenMBsは増減したり、あるいは変化しなかったりする。画像データのすべてのマクロブロックを符号化するとNopenMBs=0に戻る。
所与のセグメントを符号化した後のオープン・マクロブロックの個数の変化ΔNopenMBsを以下の式で定義する。
Figure 0005335912
ただし、NopenMBsとN’openMBsは、それぞれ、そのセグメントを符号化する前と後のオープン・マクロブロックの個数を表す。セグメントに属するマクロブロックの個数はNMBs in segmentであるので、
Figure 0005335912
となる。そのセグメントに割り当てられる、修正バジェットB’segmentは、ΔNopenMBsを使って、以下の式で定義される。
Figure 0005335912
ここで
Figure 0005335912
はオープン・マクロブロックのオーバーヘッドのレートの平均値を表す。所与のマクロブロックについて、オープン・マクロブロックのオーバーヘッドのレートOopenMBは、インターDC予測の最大レート
Figure 0005335912
と実際のインターDC予測のレートSinterDCPred.の差として以下の式で定義する。
Figure 0005335912
Figure 0005335912
は、インターDC予測のレートSinterDCPred.の平均レート
Figure 0005335912
を用いて、以下のように表せる。
Figure 0005335912
平均レートは、代表的な画像データについて平均値を計算するなどして静的に求めてもよいし、あるいはエンコード中の画像データから動的に求めてもよい。以下では、説明を容易にするため、平均値は静的な値であると仮定する。
すべてのセグメントについて、ΔNopenMBsを足し合わせると0になることから、すべてのセグメントについて修正後のバジェットB’segmentを足し合わせたものは、すべてのセグメントについて修正前のバジェットBsegmentを足し合わせたものに等しい。つまり、セグメントのバジェットBsegmentをB’segmentに修正しても、画像データ全体のバジェットは変化しない。
画像データ全体のレートコントロールを保証するには、セグメント単位のレートコントロールが保証できさえすれればよい。セグメント単位のレートコントロールを保証するためには、最悪のケースにおいても、セグメントのレートがB’segment以下になるようにレートコントロール部5がレートコントロールできなければならない。B’segmentが最小値
Figure 0005335912
になるのは、ΔNopenMBsが最小値(−NMBs in segment)になるときなので、以下のように表せる。
Figure 0005335912
セグメントを符号化するのに必要な最小のレートは、例えば、セグメントに属するマクロブロックのすべてのAC成分をゼロにしたときのセグメントの修正されたレート
Figure 0005335912
の最大値
Figure 0005335912
として求められる。
Figure 0005335912
は符号化方法が、例えば、MPEG−2準拠Iフレームの場合などと与えられれば、静的に求めることができる。以上の制約を用いると、セグメントのレートコントロールを保証する条件は、以下のように表せる。
Figure 0005335912
Figure 0005335912
は、マクロブロック内のイントラDC予測残差を0に設定する(つまりマクロブロック内で同一のDCを使う)などしてさらに小さくすることもできる。以下の説明では、レートコントロールを保証するために、この条件が満たされていると仮定する。
あるセグメントの修正されたレートS’segmentは、そのセグメントに属するすべてのクローズド・マクロブロックのレートSMBを合計したものと、そのセグメントに属するすべてのオープン・マクロブロックの修正されたレートS’MBを合計したものと、の合計から、そのセグメントを符号化することで新たにクローズドとなったすべてのマクロブロックのオープン・マクロブロック・オーバーヘッドOopen MBを合計したものを引いたものと定義する。したがって、以下の数式で表せる。
Figure 0005335912
ただし、オープン・マクロブロックのオーバーヘッドOopen MBは、上で定義したように、インターDC予測の最大レート
Figure 0005335912
と実際のレートSinterDCPredの差である(再掲):
Figure 0005335912
クローズド・マクロブロックのレートSMBは、インターDC予測のレートSinterDCPredと、イントラDC予測のレートSintraDCPredと、AC成分のレートSACを足し合わせたものであるため、以下の式で表される。
Figure 0005335912
一方で、オープン・マクロブロックの修正されたレートS’MBは、インターDC予測の最大レート
Figure 0005335912
と、イントラDC予測のレートSintraDCPred.と、AC成分のレートSACを足し合わせたものであるため、以下の式で表される。
Figure 0005335912
オープン・マクロブロックの修正されたレートは、将来そのマクロブロックがクローズドとなったときに明らかになる、実際のインターDC予測のレートSinterDCPred.を使うと、以下のように表される。
Figure 0005335912
よって、このセグメントには、ΔNopenMBs個のオープン・マクロブロック・オーバーヘッドOopenMBが足されていることがわかる。ところで、これらのオープン・マクロブロック・オーバーヘッドは、平均的には、
Figure 0005335912
によって近似できる。このため、そのセグメントのバジェットに
Figure 0005335912
を加えて修正することで、このオーバーヘッドを打ち消すことができ、セグメント間のバジェットの割り当てをフェアにできる。
オープン・マクロブロックのレートとして、修正されたレートS’MBの代わりに、平均的な推定レートを用い、セグメントのバジェットを修正しないようにしても、セグメント間のバジェットの割り当てをフェアにできる。しかし、このようにすると、レートコントロールを保証することができない。なぜなら、インターDC予測のレートが後に明らかになったときに、そのレートが平均レートよりも大きくなる可能性があり、そのとき、その差が残されたバジェットよりも大きくなってしまう可能性があるからである。
最大、すなわち、最も粗い量子化パラメータを使っても、セグメントの修正されたレートS’segmentが、そのセグメントの修正されたバジェットB’segmentよりも大きくなる場合には、例えば、次のようにしてさらにレートを小さくし、レートコントロールを保証する。すべてのAC成分をゼロにすれば、そのときの修正されたレートは
Figure 0005335912
となり、
B’segmentよりも確実に小さくなる。なぜなら、以下の関係が成り立つからである。
Figure 0005335912
<4.修正したバジェットを用いたレートコントロール>
レートコントロール部5が実行する、このようにして修正したバジェットを用いたレートコントロールについて、図5にフローチャートを示し、説明する。
まず、ステップS101にて、マクロブロックの個数NopenMBsを0に設定する。ステップS102で、次のセグメントが存在するか否か判定する。次のセグメントがないと判定された場合はステップS103に進み、処理を終了する。一方で、次のセグメントが存在すると判定された場合、処理はステップS104に進む。ステップS104では、次のセグメントに属するマクロブロックを符号化する。マクロブロッを符号化する前後のオープン・マクロブロックの個数をそれぞれ、NopenMBs、N’openMBsとする。ステップS105では、このセグメントに割り当てるバジェットを以下の数式に従って修正する。
Figure 0005335912
ここで、
Figure 0005335912
ステップS106で、このセグメントの修正後のレートS’segmentが、
Figure 0005335912
となるようにレートコントロールする。ステップS107で、オープン・マクロブロックの個数NopenMBsをN’openMBsで置き換える。次にステップS102に戻り、次のセグメントが存在する限り同様の処理を繰り返す。
このように本実施の形態の画像符号化装置10は、符号化を行う際に、予測符号が未知のオープン・マクロブロックに対して、一旦最大のレートを割り当てた後、予測が明らかになる毎にレートを適宜修正することができるので、レート制御が失敗することを回避でき、割り当てレートを適宜修正するので、フェアで安定して予測符号のレートを割り当てることができる。また、例えば、DC予測に適用して、DC予測のレートにフェアに安定して予測レートを割り当てることにより、例えば、DC予測で犠牲になりがちなAC成分に割り当てるレートも安定して確保することができ、2次元的な細かい変化を鮮明に表現することなども可能になる。また、本発明はDC予測のみならず、例えば、AC予測など、様々な予測に応用可能である。
空間周波数変換をDCT変換によって実行し、レートコントロール部は、符号化部が複数個のマクロブロックを量子化する際に用いる量子化スケールを修正割り当てレートに基づいて決定するようにしてもよい。あるいは、本発明の代替の態様として、画像データ全体のマクロブロックのDC成分だけを先に求め、DC予測にかかるレートをあらかじめ計算しておき、その後、AC成分についてマクロブロック・シャッフリングによってレートコントロールすることも想到可能である。
さらに、マクロブロック・シャッフリングを実行することによってマクロブロックを疑似ランダムに抽出し、セグメントという少ない数のマクロブロックを単位として符号化を制御するので、全体の画質を均一に維持ながら、高速なレートコントロールを可能とし、必要な回路規模を小さくできる。
以上説明したように、本実施の形態の画像符号化装置10は、スライス構造を変更することなく、オープン・マクロブロックのレートに最大のレートを見積もり、順次修正していくレート修正を行い、マクロブロック・シャッフリングによって全体の画質を均一に維持するので、高速なレートコントロールを保障しつつ、必要な回路規模を小型化できる。
<5.インターDC予測以外の依存関係>
レートコントロール部5がレートコントロールを実行する際に考慮する、インターDC予測以外の依存関係、例えば、量子化スケール、符号のビット・アラインメント、スライス先頭のマクロブロックのオーバーヘッドについて以下、検討する。
(1)量子化スケール
あるマクロブロックの量子化スケールは、そのマクロブロックの予測元マクロブロックの量子化スケールと同一であれば省略できる。具体的には、マクロブロックのヘッダのフラグによって量子化スケールに変化があるかどうか通知してもよい。予測元マクロブロックの量子化スケールが不明であるオープン・マクロブロックでは、修正レートを、可能な最大レートを用いて算出する必要がある。インターDC予測に対する修正と同様の方法で、量子化スケールについても割り当てレート、すなわちバジェットを修正することによって、セグメント間のバジェットの割り当てをフェアにできる。
(2)符号のビット・アラインメント
上述の説明では、マクロブロックのDC成分とAC成分のレートをバイト単位と仮定して説明したが、実際はビット単位である。さらに、同一のスライスに属するマクロブロックの符号は、マクロブロック間でバイト・アラインされない。ここでバイト・アラインとは、次の符号がバイトの境界から始まるように、ビットを詰めること、すなわちビット・スタッフィングすることを意味する。あるスライスでビット・スタッフィングのために追加するレートは、そのスライスに属するすべてのマクロブロックのビット単位のレートが明らかにならなければ、求められない。マクロブロックのビット単位のレートsMBをバイト単位のレートSMBに擬似的に変換するには、次の式に従って処理する。
Figure 0005335912
ただし、ssliceはスライスのビット単位のレートで、そのスライスに属するこれまでに符号化したマクロブロックのビット単位のレートを合計したものを表す。同様にして、マクロブロックのDC成分やAC成分のレートも擬似的にバイト単位で計算することができる。この方法では、常にレートをバイトに切り上げて評価するので、保守的にレートを見積もることができる。このためレートコントロールを保証できる。また、この方法では、マクロブロックのバイト単位の符号長が、本来のレートの単位であるビットより、小さくまたは大きく見積もられる可能性がある。しかし、セグメントには複数のマクロブロックが集められているので、平均的にはこれらの誤差は打ち消される。
(3)スライス先頭マクロブロックのオーバーヘッド
スライス先頭のマクロブロックでは、予測元マクロブロックがなく、予測ができないので、DC成分は常にゼロから予測される。このため、スライス先頭のマクロブロックは、スライス先頭でないマクロブロックに比べて、平均レートが大きくなる傾向にある。このオーバーヘッドを打ち消すため、スライス先頭のマクロブロックに割り当てるバジェットを同じスライスの続くマクロブロックの各々に割り当てるバジェットより大きくなるように、マクロブロック間のバジェットの割り当てを変化させてもよい。
以上説明したように、本実施の形態の画像符号化装置はセグメントという少ない数のマクロブロックを単位として符号化部を制御するので、レートコントロールは高速となり、必要な回路規模を小さくできる。また、マクロブロックをシャッフリングによって画面上で疑似ランダムな位置から抽出するので、画像全体の画質が均一となり、画像のクオリティを向上することができる。例えば、エントロピーの変動の大きい画像データを符号化する場合であっても、出力されるビットストリームの大きさを均一にすることができるため、バッファの制約を破るおそれがない。このため、複数枚のフレームをマルチスレッドを利用して同時にエンコードし、その後に一つのストリームにまとめることが可能である。また、同じ理由から、エンコード後にカットやインサートなどの編集が可能である。
<6.符号化ストリームの並べ替えのための中間バッファ>
最終的なストリームサイズに比例するサイズのバッファ、すなわち、中間バッファ、に中間結果を保存し、符号を並べ替えて最終的なストリームを出力する方法を説明する。この方法は、マクロブロック毎にそのマクロブロックの符号を保存するバッファを用意する方法と比較して、必要なバッファを小さくできる利点がある。この構成の例について、次の実施の形態で説明する。
(第2の実施の形態)
本発明の第2の実施の形態の画像符号化装置について、図6を参照して説明する。図6に示すように、本実施の形態の画像符号化装置20は、符号化部4と並び替え部6の間に中間ストリームバッファ8を備えた点以外は、上述の第1の実施の形態の画像符号化装置と略同様である。同様の構成には同様の符号を付して説明を省略する。
中間ストリームバッファ8の構造例を図7に示す。符号化されたマクロブロックのデータは、スキャン順にアクセス可能な、パックされたマクロブロックとして保存される。パックされたマクロブロックには、量子化スケールや符号化されていないDC成分などに加えて、可変長にパックされたAC符号へのポインタが含まれる。図7において、パックされたマクロブロックを網掛けした正方形で、ポインタを曲がった矢印で示す。
パックされたマクロブロックは、DC予測や符号の並び替えのために、スキャン順にアクセス可能なテーブル配列に従って配置される。中間ストリームバッファ8にはシャッフルされた順序で符号が保存される。パックされたAC符号は、マクロブロック毎に長さが異なるため、メモリブロックが中間ストリームバッファ8から動的に割り当てられる。MPEG−2のストリームではDCとACの符号をDCTブロック毎に交互に配置することが規定されており、最終的なストリームを生成する際に、DCTブロック毎に符号にアクセスする必要がある。このため、AC符号長とAC符号をDCTブロック毎に保存するようになっている。したがって、パックされたAC符号は、そのマクロブロックに含まれるDCTブロックそれぞれのAC符号のビット長(ac_nbits[0, …, 7])と実際のAC符号(ac_codes[0, …, 7])を含む。
AC符号はビット単位であるため、パックされたAC符号の最後に、バイトまたはワード単位のアラインメントのためのスタッフィングが挿入される。中間ストリームバッファのバイト単位の大きさBintermediate.は、例えば、以下の条件を満たせば十分である。
Figure 0005335912
ただし、Bpicture画像データ全体のバジェットを表す。NMBsは画像データに含まれるマクロブロックの個数を表す。Nblocks in MBは一つのマクロブロックに含まれるDCTブロックの個数を表し、クロマサブサンプリングが4:2:2のときNblocks in MB=8である。右辺第2項はac_nbits[…]とスタッフィングによるオーバーヘッドを表す。ここでは、ac_nbits[i]は16ビット、すなわち、2バイトであると仮定して、2を加算している。また、スタッフィングはワード境界へのスタッフィングであると仮定している。Bintermediateは、中間バッファに保存されないその他のヘッダなどのオーバーヘッドのサイズを差し引くなどして、さらに小さくできる。
マクロブロック毎に当該マクロブロックの符号を保存する従来のバッファでは、マクロブロック毎のバッファにマクロブロックの最大レートが割り当てられているが、本発明の画像符号化装置では、必要なバッファの容量は、画像データの全体の割り当てレートと、固定長オーバーヘッドをマクロブロックの数で乗算して得た値との合計に削減することができる。
以上説明したように、本実施の形態の画像符号化装置は、第1の実施の形態の画像符号化装置の特徴に加えて、マクロブロック毎に符号を保存するバッファを用意する方法と比較して、必要なバッファの容量を小さくできる。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したものに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
例えば、上述の実施の形態では、MPEG−2準拠の符号化方式について説明したが、本発明はこれに限定されない。本発明は、類似のマクロブロックからなる構成であれば、JPEGなどを含む、MPEG−2のDC予測などの予測を用いる符号化方式に幅広く応用可能であり、さらに、フレーム内(イントラ)符号化のみならず、例えば、MPEG−2準拠の符号化方式などのフレーム間(インターフレーム)符号化方式に準拠した符号化処理であっても、イントラスライスの処理などのフレーム内(イントラフレーム)符号化処理の部分などに応用可能である。
1 入力部
2 ブロック化処理部
3 シャッフル部
4 符号化部
5 レートコントロール部
6 並べ替え部
7 出力部
8 中間ストリームバッファ
10 第1の実施の形態の画像符号化装置
20 第2の実施の形態の画像符号化装置
101 入力部
102 ブロック化処理部
103 符号化部
105 レートコントロール部
106 出力部
100 従来の画像符号化装置

Claims (17)

  1. 画像を表す画像データを符号化する画像符号化装置において、
    前記画像符号化装置は、
    前記画像データを構成する複数個のマクロブロックを画像内のそれぞれの位置から収集して並び替えるシャッフル部と、
    前記シャッフル部によって収集されて並び替えられた、前記複数個のマクロブロックを基本単位として、空間周波数変換及びエントロピー符号化を行う符号化部と、
    前記複数個のマクロブロックを基本単位として、前記符号化部を制御して、前記複数個のマクロブロックの符号化後のレートを調整するレートコントロール部と、を含み、
    前記レートコントロール部は、前記複数個のマクロブロックの各々のマクロブロックについて、各々のマクロブロックの予測元マクロブロックから予測される予測量が既知であるか否かを判別し、
    前記複数個のマクロブロックを含む画像データ全体における符号化済みのマクロブロックの中で、予測量が既知でないと判別されたマクロブロックの個数に基づいてレートの修正を実行することによって、前記符号化部を制御する、画像符号化装置。
  2. 対応する予測元マクロブロックから予測される予測量が既知でない符号化済みのマクロブロックをオープン・マクロブロックと定義し、
    前記レートコントロール部は、前記画像データの割り当てレートに、前記複数個のマクロブロックにおけるマクロブロックの個数を前記画像データのマクロブロックの個数で除算した値を算して、前記複数個のマクロブロックに対する割り当てレートを算出し、
    前記複数個のマクロブロックが前記符号化部によって符号化された前後の画像データ全体のオープン・マクロブロックの個数の差分に、前記オープン・マクロブロックの予測符号の最大レートと前記予測符号の平均値との差分を算して前記複数個のマクロブロックに対する割り当てレートの修正量を算出し、
    前記複数個のマクロブロックに対する割り当てレートに前記修正量を加算して、修正割り当てレートを算出し、
    前記複数個のマクロブロックの符号化後のレートが前記修正割り当てレートと同等以下となるように前記符号化部を制御する、請求項1記載の画像符号化装置。
  3. 前記予測符号がDC予測の符号を含む、請求項2記載の画像符号化装置。
  4. 前記空間周波数変換はDCT変換によって実行され、
    前記レートコントロール部は、前記符号化部が前記複数個のマクロブロックを量子化する際に用いる量子化スケールを前記修正割り当てレートに基づいて決定する、請求項2記載の画像符号化装置。
  5. 前記画像データは、一列に配列された第2の複数個のマクロブロックから構成されるスライス・レイヤを含み、
    前記シャッフル部は、前記第2の複数個のマクロブロックを並び替える際に、前記スライス・レイヤにおけるスキャン順を含む前記第2の複数個のマクロブロックの位置情報を生成し、
    前記レートコントロール部は、前記スライス・レイヤを構成する一列に配列された第2の複数個のマクロブロックのバイト単位のレートを、前記スライス・レイヤを構成する一列に配列された第2の複数個のマクロブロックのビット単位のレートと、前記スライス・レイヤを構成する一列に配列された第2の複数個のマクロブロックの符号化済みマクロブロックと前記複数個のマクロブロックに伴うオーバーヘッドのビット単位の合計レートとの和を8で除算して整数に切り上げて得た値から、前記スライス・レイヤを構成する一列に配列された第2の複数個のマクロブロックの符号化済みマクロブロックと前記複数個のマクロブロックに伴うオーバーヘッドのビット単位の合計レートを8で除算して整数に切り上げて得た値を減じて算出する、請求項1記載の画像符号化装置。
  6. 前記レートコントロール部は、前記スライス・レイヤの先頭に位置するマクロブロックへの割り当てレートが、前記スライス・レイヤの他のマクロブロックへの割り当てレートより大きくなるように、前記スライス・レイヤのマクロブロックの各々の割り当てレートを算出する、請求項5記載の画像符号化装置。
  7. さらに、前記符号化部によって符号化された符号化データを一時的に保存する中間バッファ部と、
    前記中間バッファ部に保存された符号化データをスキャン順に読み取り、前記符号化データを出力することによって、前記符号化データを前記シャッフル部によって並び替えられる前の配列に再び並び替える並び替え部と、を含み、
    前記中間バッファ部は、固定長のオーバーヘッドにマクロブロックの総数を乗算して得た値と、画像データ全体の割り当てレートと、の合計と同等の容量を有する、請求項1記載の画像符号化装置。
  8. 前記符号化部が前記複数個のマクロブロックをJPEG及びMPEG−2の少なくとも一つに準拠して符号化する、請求項1記載の画像符号化装置。
  9. 前記符号化部が前記複数個のマクロブロックをインターフレーム符号化方式に準拠して符号化する、請求項1記載の画像符号化装置。
  10. 画像を表す画像データを符号化する画像符号化方法において、
    前記画像符号化方法は、
    前記画像データを構成する複数個のマクロブロックを画像内のそれぞれの位置から収集して並び替えるシャッフリングステップと、
    前記シャッフリングステップにおいて収集されて並び替えられた、前記複数個のマクロブロックを基本単位として、空間周波数変換及びエントロピー符号化を行う符号化ステップと、
    前記複数個のマクロブロックを基本単位として、前記符号化ステップを制御して、前記複数個のマクロブロックの符号化後のレートを調整するレートコントロールステップと、を含み、
    前記レートコントロールステップは、前記複数個のマクロブロックの各々のマクロブロックについて、各々のマクロブロックの予測元マクロブロックから予測される予測量が既知であるか否かを判別するステップと、
    前記複数個のマクロブロックを含む画像データ全体における符号化済みのマクロブロックの中で、予測量が既知でないと判別されたマクロブロックの個数に基づいてレートの修正を実行することによって、前記符号化ステップを制御するステップを有する、画像符号化方法。
  11. 対応する予測元マクロブロックから予測される予測量が既知でない符号化済みのマクロブロックをオープン・マクロブロックと定義し、
    前記レートコントロールステップは、前記画像データの割り当てレートに、前記複数個のマクロブロックの個数を前記画像データのマクロブロックの個数で除算した値を算して、前記複数個のマクロブロックに対する割り当てレートを算出するステップと、
    前記複数個のマクロブロックが前記符号化ステップにおいて符号化された前後の画像データ全体のオープン・マクロブロックの個数の差分に、前記オープン・マクロブロックの予測符号の最大レートと前記予測符号の平均値との差分を算して前記複数個のマクロブロックに対する割り当てレートの修正量を算出し、前記複数個のマクロブロックに対する割り当てレートに前記修正量を加算して修正割り当てレートを算出するステップと、
    前記複数個のマクロブロックの符号化後のレートが前記修正割り当てレートと同等以下となるように前記符号化ステップを制御するステップと、を含む、請求項10記載の画像符号化方法。
  12. 前記予測符号がDC予測の符号を含む、請求項11記載の画像符号化方法。
  13. 前記空間周波数変換はDCT変換によって実行され、
    前記レートコントロールステップは、前記符号化ステップで前記複数個のマクロブロックを量子化する際に用いる量子化スケールを、前記修正割り当てレートに基づいて決定するステップを含む、請求項11記載の画像符号化方法。
  14. 前記画像データは、一列に配列された第2の複数個のマクロブロックから構成されるスライス・レイヤを含み、
    前記シャッフリングステップは、前記第2の複数個のマクロブロックを並び替える際に、前記スライス・レイヤにおけるスキャン順を含む前記第2の複数個のマクロブロックの位置情報を生成するステップを含み、
    前記レートコントロールステップは、前記スライス・レイヤを構成する一列に配列された前記複数個のマクロブロックのバイト単位のレートを、前記スライス・レイヤを構成する一列に配列された前記複数個のマクロブロックのビット単位のレートと、前記スライス・レイヤを構成する一列に配列された前記複数個のマクロブロックの符号化済みマクロブロックと前記複数個のマクロブロックに伴うオーバーヘッドのビット単位の合計レートとの和を8で除算して整数に切り上げて得た値から、前記スライス・レイヤを構成する一列に配列された前記複数個のマクロブロックの符号化済みマクロブロックと前記複数個のマクロブロックに伴うオーバーヘッドのビット単位の合計レートを8で除算して整数に切り上げて得た値を減じて算出するステップを有する、請求項10記載の画像符号化方法。
  15. 前記レートコントロールステップは、前記スライス・レイヤの先頭に位置するマクロブロックへの割り当てレートが、前記スライス・レイヤの他のマクロブロックへの割り当てレートより大きくなるように、前記スライス・レイヤのマクロブロックの各々の割り当てレートを算出するステップを有する、請求項14記載の画像符号化方法。
  16. さらに、前記符号化ステップにおいて符号化された符号化データを一時的に保存する一時保存ステップと、
    前記一時保存ステップにおいて保存された符号化データをスキャン順に読み取り、前記符号化データを出力することによって、前記符号化データを前記シャッフリングステップにおいて並び替えられる前の配列に再び並び替える並び替えステップと、を含み、
    前記一時保存ステップは、固定長のオーバーヘッドにマクロブロックの総数を乗算して得た値と、画像データ全体の割り当てレートと、の合計と同等の容量を有するバッファに前記符号化データを保存するステップを有する、請求項10記載の画像符号化方法。
  17. 画像を表す画像データを符号化するためのコンピュータによって実行される、画像符号化プログラムであって、
    前記画像符号化プログラムは、
    前記画像データを構成する複数個のマクロブロックを画像内のそれぞれの位置から収集して並び替えるシャッフリングステップと、
    前記シャッフリングステップにおいて収集されて並び替えられた、前記複数個のマクロブロックを基本単位として、空間周波数変換及びエントロピー符号化を行う符号化ステップと、
    前記複数個のマクロブロックを基本単位として、前記符号化ステップを制御して、前記複数個のマクロブロックの符号化後のレートを調整するレートコントロールステップと、を含み、
    前記レートコントロールステップは、前記複数個のマクロブロックの各々のマクロブロックについて、各々のマクロブロックの予測元マクロブロックから予測される予測量が既知であるか否かを判別するステップと、
    前記複数個のマクロブロックを含む画像データ全体における符号化済みのマクロブロックの中で、予測量が既知でないと判別されたマクロブロックの個数に基づいてレートの修正を実行することによって、前記符号化ステップを制御するステップを有する、画像符号化プログラム。
JP2011518620A 2008-10-30 2009-10-22 画像符号化装置、画像符号化方法、及び画像符号化プログラム Active JP5335912B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011518620A JP5335912B2 (ja) 2008-10-30 2009-10-22 画像符号化装置、画像符号化方法、及び画像符号化プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008280228 2008-10-30
JP2008280228 2008-10-30
JP2011518620A JP5335912B2 (ja) 2008-10-30 2009-10-22 画像符号化装置、画像符号化方法、及び画像符号化プログラム
PCT/JP2009/005548 WO2010050157A1 (en) 2008-10-30 2009-10-22 Image encoding apparatus, image encoding method, and image encoding program

Publications (2)

Publication Number Publication Date
JP2012507886A JP2012507886A (ja) 2012-03-29
JP5335912B2 true JP5335912B2 (ja) 2013-11-06

Family

ID=41720591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011518620A Active JP5335912B2 (ja) 2008-10-30 2009-10-22 画像符号化装置、画像符号化方法、及び画像符号化プログラム

Country Status (7)

Country Link
US (1) US8731056B2 (ja)
EP (1) EP2351375A1 (ja)
JP (1) JP5335912B2 (ja)
KR (1) KR20110096118A (ja)
CN (1) CN102257819A (ja)
CA (1) CA2757789A1 (ja)
WO (1) WO2010050157A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5537293B2 (ja) * 2009-07-03 2014-07-02 パナソニック株式会社 画像符号化装置及び画像復号化装置
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
US9124895B2 (en) 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
US9077998B2 (en) * 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
KR20160034424A (ko) * 2012-01-20 2016-03-29 소니 주식회사 유효성 맵 코딩의 복잡성 감소
LT3793200T (lt) 2012-04-13 2023-02-27 Ge Video Compression, Llc Vaizdo kodavimas su maža delsa
US8873872B1 (en) * 2012-04-18 2014-10-28 Matrox Graphics Inc. Division of entropy coding in codecs
US10003803B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
US10003802B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
CA3095638C (en) 2012-06-29 2023-11-14 Ge Video Compression, Llc Video data stream concept
US8933826B2 (en) 2013-03-01 2015-01-13 Gurulogic Microsystems Oy Encoder apparatus, decoder apparatus and method
US8754791B1 (en) 2013-03-01 2014-06-17 Gurulogic Microsystems Oy Entropy modifier and method
CN104822067A (zh) * 2015-05-03 2015-08-05 华东理工大学 一种基于分块置乱和非线性变换的图像及视频信息隐藏方法
US9621926B1 (en) * 2015-09-25 2017-04-11 Amazon Technologies, Inc. Predictive transmitting of video stream data
CN111601109A (zh) * 2020-05-13 2020-08-28 西安万像电子科技有限公司 图像数据的处理方法、装置和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214506A (en) * 1991-08-30 1993-05-25 Bell Communications Research, Inc. Low bit-rate video coding technique
US5440344A (en) * 1992-04-28 1995-08-08 Mitsubishi Denki Kabushiki Kaisha Video encoder using adjacent pixel difference for quantizer control
JPH0646395A (ja) * 1992-07-27 1994-02-18 Hitachi Ltd データ圧縮装置
EP0605972B1 (en) * 1992-12-14 1999-10-27 Canon Kabushiki Kaisha Light receiving member having a multi-layered light receiving layer with an enhanced concentration of hydrogen or/and halogen atoms in the vicinity of the interface of adjacent layers
JPH0723423A (ja) * 1993-06-16 1995-01-24 Hitachi Ltd ディジタル映像信号記録再生装置
US6674897B1 (en) * 1993-09-08 2004-01-06 Sony Corporation Picture data compression device and red data detection device
JP3336754B2 (ja) * 1994-08-19 2002-10-21 ソニー株式会社 デジタルビデオ信号の記録方法及び記録装置
US5708473A (en) * 1994-08-30 1998-01-13 Hughes Aircraft Company Two stage video film compression method and system
JP3115199B2 (ja) * 1994-12-16 2000-12-04 松下電器産業株式会社 画像圧縮符号化装置
JP3854697B2 (ja) * 1997-09-16 2006-12-06 キヤノン株式会社 受信装置
JP4083302B2 (ja) * 1998-08-12 2008-04-30 株式会社東芝 動画像スクランブル/デスクランブル装置
US6934417B2 (en) * 2000-12-22 2005-08-23 Texas Instruments Incorporated Transcoding scheme for assistance in image transformations

Also Published As

Publication number Publication date
CA2757789A1 (en) 2010-05-06
KR20110096118A (ko) 2011-08-29
EP2351375A1 (en) 2011-08-03
JP2012507886A (ja) 2012-03-29
WO2010050157A1 (en) 2010-05-06
US8731056B2 (en) 2014-05-20
US20110206121A1 (en) 2011-08-25
CN102257819A (zh) 2011-11-23

Similar Documents

Publication Publication Date Title
JP5335912B2 (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム
KR101156996B1 (ko) 복호 장치 및 복호 방법
JP5072893B2 (ja) 画像符号化方法および画像復号化方法
EP1154650A2 (en) A method for computational graceful degradation in an audiovisual compression system
US20020054638A1 (en) Coded signal separating and merging apparatus, method and computer program product
JPWO2007094100A1 (ja) 動画像符号化/復号化方法及び装置並びにプログラム
WO2004077833A1 (en) Apparatus, system for, method of and computer program product for separating and merging coded signal
KR20140089584A (ko) 부호화 장치, 복호화 장치, 부호화 방법, 복호화 방법, 및 컴퓨터 판독가능 기억 매체
EP1143737A2 (en) Image encoding apparatus and method, video camera, image recording apparatus, and image transmission apparatus
JPWO2008142956A1 (ja) 映像符号化装置、映像符号化方法および映像符号化プログラム
JP5128389B2 (ja) 動画像符号化装置及び動画像符号化方法
JP4532980B2 (ja) 動画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
KR20050020710A (ko) 부호화 장치 및 부호화 방법
KR100588795B1 (ko) 부호화 장치 및 부호화 방법
JPWO2002080567A1 (ja) 画像信号量子化装置およびその方法
JP2000023195A (ja) 画像符号化装置及び方法、並びに画像復号装置及び方法、並びに符号化データ提供媒体
JP3818819B2 (ja) 画像符号化方式変換装置、画像符号化方式変換方法および記録媒体
JP4007398B2 (ja) 量子化制御装置およびその方法
JPWO2019017327A1 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラムが格納された記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130605

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130731

R150 Certificate of patent or registration of utility model

Ref document number: 5335912

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250