JP2009260977A - 不可逆圧縮及び可逆圧縮を組み合わせて用いたビデオデータ圧縮 - Google Patents

不可逆圧縮及び可逆圧縮を組み合わせて用いたビデオデータ圧縮 Download PDF

Info

Publication number
JP2009260977A
JP2009260977A JP2009114966A JP2009114966A JP2009260977A JP 2009260977 A JP2009260977 A JP 2009260977A JP 2009114966 A JP2009114966 A JP 2009114966A JP 2009114966 A JP2009114966 A JP 2009114966A JP 2009260977 A JP2009260977 A JP 2009260977A
Authority
JP
Japan
Prior art keywords
data
block
compression
compressed
bits
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
Application number
JP2009114966A
Other languages
English (en)
Inventor
Jeongnam Youn
ユン ジョンナム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Electronics Inc
Original Assignee
Sony Corp
Sony Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Electronics Inc filed Critical Sony Corp
Publication of JP2009260977A publication Critical patent/JP2009260977A/ja
Pending legal-status Critical Current

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/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/182Methods 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 a pixel
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • H04N19/426Methods 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 using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

【課題】不可逆圧縮と可逆圧縮との組み合わせを用いてビデオデータをより小さいサイズに圧縮し、追加情報を圧縮データに組み込む方法及び装置。
【解決手段】本方法は、小さいノイズが重要な意味を有するビデオコーデックの参照フレームを圧縮し、バス帯域幅を削減するよう用いることができる。ビデオコーデックにおける外部バスを介して接続されているエンコーダと外部のフレームメモリとの間のデータ転送を削減する。その削減は、エンコーダからのデータをフレームメモリに外部バスを通じて投入する前に圧縮することによって、フレームメモリからの圧縮データを外部バスを通じて取り出した後に解凍することによって行われる。参照フレームは、考慮すべき歪みを生じさせることなく可変サイズに圧縮され、エンコーダのコアと外部メモリとの間のバス帯域幅を削減する。本方法において、不可逆圧縮及び可逆圧縮は、圧縮効率が最大となるよう統合される。
【選択図】図3

Description

本発明は、一般にビデオ信号処理に関する。より詳細には、圧縮ノイズを最小に抑えるよう不可逆圧縮と可逆圧縮とを組み合わせることによるビデオデータの圧縮に関する。さらに、ネットワークを介したビデオデータの送信又はストレージデバイス内にビデオデータを記憶するなどの一般的な利用のために、本発明は、圧縮ノイズを最小限度に抑える必要があるビデオコーデックにおけるフレーム(又は参照)メモリを削減し、ビデオデータ量を減少させることに関する。
今日、ビデオデータやデジタル化視覚情報は、広く用いられている。それは、情報技術における近年のデジタル革命の重要な側面を形成しており、さらに、視覚情報の生成、配布又は伝達、そして、消費又は使用のために、全てのタイプのシステムで利用されている。しかし、一般的に、ビデオデータは大容量である。これは、ストレージと伝送の両方にとって重大な問題を引き起こす。
一般に、データ圧縮は、ある表現からよりサイズが小さい表現である他の表現へ情報を変換するプロセスとして定義することができる。元のデータ又はそれに非常に近似しているものは、データ解凍の相補的なプロセスによって、よりサイズが小さい表現から復元することができる。圧縮プロセスと解凍プロセスは、しばしば、コーディングとデコーディングと呼ばれる。コーディング及びデコーディングシステムは、一般的には、コーダ及びデコーダの両方を有するシステムであるコーデックと呼ばれる。一般的に、コーデックは、MPEG2やH.264などのような制定済みの標準規格に従う。
圧縮技術及び解凍技術の使用は、しばしば、大量データのストレージ及び伝送を円滑にさせる。特に、視覚画像の伝送及びストレージは、大量のデータを含み、画像圧縮技術及び画像解凍技術によって、より大きな利益を得られる。
コーデックシステムや圧縮/解凍システムにおいて、画像は、その画像の圧縮を実行するエンコーダへ投入される。エンコーダによって圧縮された画像は、送信又は記憶のどちらかが行われる。圧縮画像は、その圧縮画像の解凍を実行するデコーダへ投入される。解凍された画像は、デコーダから出力され、閲覧するためのアウトプットデバイスに送られることとなる。
ビデオクリップは、個々の一連の画像又は“フレーム”で構成されている。ビデオの圧縮技術及び解凍技術は、ビデオ信号を処理し、圧縮データのためのストレージ及び帯域幅への要求を大幅に削減する。さらに、知覚の対象となる解凍データの画像品質を最大化させる。
静止画像は、画像を小さいピクセルブロックに分割することによって圧縮される。その小さいピクセルブロックは、周波数領域表現に変換され、その変換は、通常、離散コサイン変換(DCT)によって行われる。逆DCT(IDCT)は、DCT係数から元のピクセルを再構築するよう用いられる。DCT係数の量子化又はスケーリングは、知覚的な重要度がより高い情報を維持するエンコーディングプロセス、そして、知覚的な重要度がより低い情報を破棄するエンコーディングプロセスに用いられる。逆量子化は、デコーダで実行される量子化を逆にしたプロセスである。
コーディングプロセス及びデコーディングプロセスを実行する具体的な方法は多く存在する。通常、画像特徴は、処理対象のブロック(一般的に8×8ピクセル)より大きいことから、より効果的な圧縮では、画像の近接ブロック間の相関関係を使用することができる。エンコーダは、周囲のブロックの値に基づいて、いくつかの係数値の予測を試みる。また、DCT係数の直接的な量子化及びエンコーディングに代えて、実際の係数とそれらの予測値との間の差異について量子化及びエンコードを行う。差異は小さい可能性があることから、必要となるビット数を削減することが可能となる。通常、カラー画像は、いくつかの色平面(color plane)を用いて表される。色平面において、通常、一つの輝度(明るさ)平面と2つの色差(カラー)平面が用いられる。いくつかの小さいブロックから形成されるマクロブロックもまた用いることが可能である。
ビデオにおいては、連続するフレーム間の動きもまた、考慮しなければならない。ビデオのコーデックは、連続したビデオフレーム間の類似点に基づいて動き予測及び動き補償を用いる。動き予測は、今までに記録されたフレーム内の領域であって、現在のフレームの各マクロブロックと密接に適合する領域を見つけるよう試みる。各マクロブロックに関して、動き予測は、“動きベクトル”を生成する。そして、水平線及び垂直線のセットは、現在のフレーム内のマクロブロックの場所から参照フレーム内の選択された適合領域の場所までオフセットする。選択された領域は、現在のマクロブロックのピクセル予測として用いられ、差異(“予測エラー”)が、算出されエンコードされる。デコーダ内の動き補償は、動きベクトルを用いて、各マクロブロックのピクセルを予測する。
参照フレームは、一連のビデオフレームにおける今までに表示したフレームとは必ずしも限らない。ビデオ圧縮は、しばしば、表示する順序とは異なる順序でフレームをエンコードする。エンコーダは、いくつかのフレームを前方方向にスキップしながら、先のビデオフレームをエンコードすることができ、さらに、逆方向にスキップしながら、表示順内の次のフレームをエンコードすることができる。
ビデオ圧縮は、時おり、今までにエンコードしたフレームに依存することなく静止画像コーディング技術のみを用いてビデオフレームのエンコードを行う。これらは、“イントラフレーム”又は“Iフレーム”と呼ばれる。今までに表示した参照フレームのみを用いてエンコードが行われるフレームは、“予測フレーム(predictive frames)”又は“Pフレーム”と呼ばれる。さらに、今後表示される参照フレーム、そして、今までに表示した参照フレームの両方を用いてエンコードが行われるフレームは、“双方向型フレーム(bidirectional frames)”又は“Bフレーム”と呼ばれる。通常の方式において、コーデックは、Iフレームをエンコードし、次に、いくつかのフレームを前方方向にスキップさせた後、参照フレームとしてIフレームを用いてその先のPフレームをエンコードし、さらに、Iフレームの後に続く次のフレームへ逆方向にスキップする。IフレームとP−フレームとの間のフレームは、Bフレームとしてエンコードされる。次いで、エンコーダは、再度、いくつかのフレーム前方方向にスキップし、次に、参照フレームとして第1Pフレームを用いて他のPフレームをエンコードし、さらに、表示順内のギャップをBフレームで埋めるよう逆方向にスキップする。このプロセスは、12乃至15のPフレーム及びBフレームごとに新しいIフレームを挿入して続けられる。
多くのビデオコーデックのアーキテクチャにおいて、エンコーダのコアは、プロセッサ上で、個別のハードウエア又はソフトウエア内に実装される。通常、フレームメモリは、エンコーダのコアの外部に位置し、外部バスを通じてエンコーダのコアに接続されている外部のメモリ内にある。エンコーダのコアとフレームメモリとの間のバス上のデータ転送量は、非常に大きくなることがあり、消費電力も大きくなる。
したがって、ビデオコーデックにおけるエンコーダからフレームメモリまでの外部バスを通じて転送されるデータ量を削減するための方法及び装置の提供が望まれている。
本発明は、不可逆圧縮及び可逆圧縮を組み合わせることによってビデオデータを圧縮する方法及び装置である。本発明は、ビデオエンコーダ又はビデオデコーダの内部で参照フレームを圧縮するよう適用することができる。本発明の実施例は、フレームメモリの圧縮のために、制限する目的ではなく例示の目的でここに開示する。また一方、本発明は、フレームメモリの圧縮に制限されず、あらゆるビデオデータの圧縮の利用に適用することが可能である。
本発明のある側面は、視覚的な歪み(visual artifacts)を最小化するために不可逆圧縮と可逆圧縮を統合する方法である。フレームメモリが圧縮されている場合、エンコーダ及びデコーダ内で再構築されたピクセルの不整合によって生じるドリフトノイズは、重大な視覚的な歪みを発生させる。したがって、それらの不整合を最小化することは、フレームメモリの圧縮において非常に重要である。
本発明の他の側面は、ビデオコーデックにおいて外部バスを通じて接続されているエンコーダと外部のフレームメモリとの間のデータ転送を削減するための方法である。その方法は、エンコーダのコアからのデータをフレームメモリに外部バスを通じて投入する前に圧縮することによって、さらに、フレームメモリからの圧縮データを外部バスを通じて取り出した後に解凍することによって行われる。
本発明の他の側面は、元データの内容を変更することなく、ビデオデータに追加情報を組み込むための方法である。
本発明の他の側面は、エンコーダのコアと、そのエンコーダのコアに外部バスを介して接続されている外部のフレームメモリとを有するビデオコーデックの改善である。その改善は、エンコーダのアウトプットにおける圧縮ユニットであって、エンコーダからのデータをフレームメモリに外部バスを介して投入する前に圧縮するための圧縮ユニットと、さらに、エンコーダのインプットにおける解凍ユニットであって、フレームメモリからの圧縮データを外部バスを通じて取り出した後に解凍するための解凍ユニットとを含む。
さらに、本発明の他の側面は、以下の詳細な説明で導かれる。その場合、詳細な説明は、本発明の好ましい実施例の完全な開示が目的であり、それについて制限することはない。
本発明は、以下の図面の参照によって、より完全に理解されるであろう。さらに、その図面は例示の目的のためのみのものでる。
先行技術であるビデオコーデックシステムのエンコーダ/デコーダの単純なブロック図である。 先行技術である一般的なデコーダの単純はブロック図である。 本発明によるビデオコーデックシステムのエンコーダ/デコーダの単純なブロック図である。 8×4の輝度ブロックを示す。 4×4の色差ブロックを示す。 本発明による圧縮プロセスのフローチャートである。 CBI及びLIを組み込むことによって生成されるデータ構造を示す。 本発明による解凍プロセスのフローチャートである。 本発明による非圧縮プロセスのフローチャートであって、第1ピクセルの処理を示す。 本発明による非圧縮プロセスのフローチャートであって、第1ピクセルの残りのピクセルの処理を示す。 現在のピクセルX及び近接する解凍済みピクセルA、B、Cを表すピクセルマップである。 ブロックに対して外側の境界が全て0であるピクセルマップである。 予測後の8×4の輝度ブロックを示す。 予測後の4×4の色差ブロックを示す。 図10Aを分割した8×4の輝度ブロックを示す。 図10Bを分割した4×4の色差ブロックを示す。
より詳細に図を参照すると、本発明は、例示の目的のために図1乃至図10に示す方法及び装置を具体化している。ここに開示されている基本的な考え方から逸脱することなく、装置については、パーツの構成及び細部について変更することができ、さらに、方法については、その特定の実装について変更することができることは明らかであろう。
図1に示す先行技術である通常のビデオコーデックアーキテクチャにおいて、エンコーダのコアは、プロセッサ上で個別のハードウエア又はソフトウエアに実装され、フレームメモリは、エンコーダのコアの外側に設置される。その基本的なアーキテクチャは、標準的かつ技術的に既知である。一般的に、フレームメモリは、外部メモリ内に実装され、外部バスを通じてエンコーダのコアに接続される。T及びQはエンコーダの基本的なパーツであって、それぞれ、“DCTなどのような変換器”及び“量子化器”である。Cは、コーダであり、T及びQからの量子化されたDCT係数をエンコードする。IT及びIQは、組み込まれているデコーダの基本的なパーツであって、それぞれ、“逆変換器”及び“逆量子化器”である。M及びFは、それぞれ、“動き補償”及び“フレームメモリ”を示す。動き予測器MEは、動きベクトルMVをM及びCに提供し、さらに、フレームメモリからデータを読み取る。インプットにおける減算器は、予測エラーPEデータをQに提供する。通常、コーデックは、MPEG2やH.264などのような定着した標準規格によって組み立てられる。
エンコーダのコア内部のローカルデコーダでデコードされたビデオデータは、フレームメモリに転送される。また、動き補償及び動き予測の間、フレームメモリに記憶されているデータにアクセスする必要がある。ここで、データ転送量が問題となる。HDサイズのビデオについて言えば、例えば、1秒当たり30フレームを有する1448×1088のデータ転送量は、400Mバイトを超える。B−ピクチャを用いた場合、動き予測の間、必要なバス帯域幅は、1秒あたり800Mバイトを超える可能性がある。したがって、外部バスを介したデータ転送による電力消費は、重要であり、データ転送量の削減が望まれている。本発明は、フレームメモリ圧縮を使用し、元のビデオのデータ量を削減する。
図2は、一般的なデコーダの機能ブロック図を示す。そのデコーダは、図1のエンコーダから出力された圧縮ビデオデータを受けることが可能である。エンコーダとデコーダ間のIT、IQ、及び、Mは、正確に適合することから、データの不適合は、フレームメモリFにおいて存在しない。言い換えれば、表示されるビデオは、エンコーダの要求とまさに同じである。
本発明は、図3に示すようにフレームメモリの内容を圧縮する。図3のエンコーダ10は、図2に2つの新しい要素を付加したものと同じある。図2に示すいくつかの要素は、図3において示されていないものがある。それらは、特に関連性を有さないからである。しかし、それらを同様に含めてもよい。エンコーダ10は、外部バス14を介して外部のフレームメモリ(F)12に接続されている。エンコーダ10は、変換ユニット(T)16、量子化ユニット(Q)18、逆量子化ユニット(IQ)20、逆変換ユニット(IT)22、動き補償ユニット(M)24を備える。エンコーダ10は、減算器28を介してビデオインプットを受ける。また、その減算器28は、M24のアウトプットに接続されている。IT22及びM24のアウトプットは、加算器26で結合される。このアーキテクチャは、特定の設計に限定しないが、MPEG2や、H264、又は、他の標準規格に従う全てのコーデックに適用される。
エンコーダ10に加えられた2つの新しい要素は、フレームメモリ12へのアウトプットにおける圧縮ユニット30と、フレームメモリ12からのインプットにおける解凍ユニット32である。圧縮ユニット30は、加算器26からのデコードされたデータを圧縮する。その圧縮は、デコードされたデータが、バス14を介してフレームメモリ12に転送される前に行われる。フレームメモリ12の内容がバス14を通じてアクセスされたとき、フレームメモリ12から得られるデータは、解凍ユニット32によって元のデータに解凍され、動き補償ユニット24に投入される。
フレームメモリの内容は、不可逆及び可逆と称される2つの異なる方法で圧縮され得る。不可逆圧縮においては、圧縮効率を向上させるために元のデータの精度が失われる可能性がある。また一方で、精度を失うことから、解凍データは、元のものと全く同一とはならない。この場合、デコーダは、エンコーダからの不適合データを有する可能性がある。それは、エンコーダ内の動き補償(M)で用いられるデータが、デコーダ内のMで用いられるデータとは異なるからである。したがって、それらは、異なるアウトプットを生成する可能性がある。このエラーは、時間とともに蓄積され、深刻なドリフトエラーを発生させる可能性がある。このドリフトエラーは、連続したPフレームが多く存在する場合、デコードされたピクチャの品質を激しく劣化させる可能性がある。利用についての性能要件に依存するが、小さなドリフトエラーさえも受け入れることができない可能性もある。
通常、本発明は、ほぼ損失することがない圧縮方法を使用する。また、わずかなドリフトが許容される場合、本発明は、不可逆圧縮に拡張され得る(しかし、非常に軽微なドリフトエラーを伴う)。
圧縮アルゴリズムの概要
本発明によって、フレームメモリは、より小さなブロックに分割される。これは、動き補償及び動き予測においてフレームメモリのピクセルデータへランダムにアクセス可能としなくてはならないために必要だからである。ブロックのサイズは、性能要求によって決定される。本発明は、ブロックサイズを制限しない。本発明は、任意のサイズのブロックに適用可能である。しかしながら、例示の目的のために、輝度ブロック及び色差ブロックのサイズを、それぞれ、8×4及び4×4と仮定する。
輝度ブロック及び色差ブロックにおけるピクセル表記を図4A乃至図4Bに示す。
本発明の圧縮アルゴリズムの動作を図5に示す。輝度及び色差は、同じ方法で圧縮される。ここでは、輝度の圧縮の詳細のみを示す。
最初に、ステップ100で、元の8×4のブロックは、予測されて圧縮される。なお、この点について、8×4のブロックサイズは例としてのみ表されていること、そして、本発明は特定のブロックサイズに制限していないことに留意することが重要である。ステップ102において、圧縮後、圧縮の間に用いられたビット数が求められる。ステップ104において、ビット数が許容範囲Y(例えば、Yは、元のサイズの1/2、1/3、1/4などに設定することができる)内にある場合、ステップ106において、圧縮データはまとめられ、ステップ108において、外部バスを介してフレームメモリに記憶される。また一方で、ビット数が許容範囲を超えた場合、ステップ124において、不可逆圧縮が許容されるかについて決定される。不可逆圧縮が許容される場合、ステップ110において、不可逆圧縮が試行される。不可逆圧縮が許容されない場合、ステップ126において、元のデータを用いる。その元のデータがまとめられてフレームメモリに記憶される前に更なる処理は一切行われることがない。したがって、理解されるように、本発明は、不可逆圧縮のみが許容される場合、又は、可逆圧縮のみが許容される場合を含んでおり、それらは、具体的な利用法によって決定されるであろう。
不可逆圧縮処理のステップにおいて、最初に、1ビット(最下位ビット(LSB))を取り除くことによって元のデータの精度を低下させる。これは、ステップ110において、丸めを用いた1ビットの右方向へのシフトによって達成することができる。精度の低下は、ブロック全体でピクセル毎に同時に実行される。性能要求に依存して、右側へのシフト量を調整することができる。1ビットシフトから開始して、1ビットシフトが依然として多くの圧縮ビットを生成する場合、反復回数が許容される限り、右側へのシフトを行い続ける。
ステップ110の後、ステップ112において、新しいブロックを予測し圧縮する。圧縮の後、ステップ114において、圧縮の間に用いられたビット数を求める。ステップ116において、次の反復を認めるかを決定する。留意すべきは、許容される反復回数は、利用仕様であることであり、その許容される反復回数は、より多くのノイズが許容される範囲にまで大きくなり得ることである。さらなる反復が許容されない場合、ステップ122において、非圧縮プロセスが実行され、データ及びヘッダの情報をまとめ、フレームメモリに記憶する。非圧縮プロセスは、情報を損失させることなく追加のヘッダ情報を組み込むプロセスである。一方で、さらなる反復が許容される場合、ステップ118において、ビット数が許容範囲Y内であるかどうかをチェックする。ビット数がYより大きい場合、プロセスはステップ110に戻る。ビット数がYより大きくない場合、プロセスはステップ120に進み、そこでは、ノイズ圧縮ビットが生成される。
したがって、お分かりの通り、(i)圧縮可逆データ、(ii)非圧縮可逆データ、(iii)圧縮不可逆データ(iv)非圧縮不可逆データとなる4つの異なる結果のプロセスが原則的には存在する。したがって、以下のようなブロックの状態を示すよう、ヘッダ情報(フラグ)について最大2ビットを組み込む必要がある。
CBI:圧縮ブロックのしるし/非圧縮ブロックのしるし(1ビット)
LI:非可逆のしるし/可逆のしるし(1ビット)
ブロックの正確な状態を表すという理由からヘッダ情報には2ビットの使用が好ましいものの、必要に応じ、より少ないヘッダ情報の組み込みも可能であることに留意すべきである。例えば、元のブロックが保存され、フレームメモリに書き込まれる場合、現在のブロックが圧縮されていないことを示すヘッダ情報の1ビットを組み込みさえすれば足りる。しかしながら、ヘッダ情報は、元のデータブロックに組み込まれることから、ヘッダによる損失が存在する可能性があり、そして、ブロックは不可逆となる可能性がある128。非圧縮プロセス122は、データ損失を伴うことなくヘッダ情報を組み込むことができる。したがって、この同じ規則は、現在のブロックが圧縮されておらず、現在のブロックが不可逆128又は可逆130のどちらかであることを示すよう択一的に用いることができる。同様に、ヘッダ情報の1ビットは、ブロックが圧縮されており、可逆132であることを示すよう用いることができる。この同じ規則は、現在のブロックが圧縮されており、現在のブロックが可逆132又は不可逆134のどちらかであることを示すよう択一的に用いることができる。
CBIビット及びLIビットを組み込むプロセスを図6に示す。プロセスデータは、最初の2ビットとして2つのフラグを含む。プロセスデータは、最大である完全な元のサイズとすることができ、または、図に示すように1/2などのサイズに削減することもできる。
不可逆圧縮が適用されているとき、図5のステップ50において、圧縮の間に生じるノイズの量を算出し、ノイズ_補償_ビット(1ビット)を生成する。この情報は、解凍プロセスに転送され、これにより、ノイズを補正することができる。
全プロセスが完了した後、図5のステップ106において、ヘッダ情報及びデータは、パケットにまとめられる。バスの要求に依存して、パケットは、元のサイズの1/2、1/3、1/4など、または、単純に元のサイズと同じとすることができる。パケットの決定は、実装に依存する。ステップ108において、まとめられたデータは、フレームメモリに書き込まれる。
フレームメモリ内の圧縮データは、エンコーディング中の動き予測プロセス又は動き補償プロセスの間、読み取られることとなっている。したがって、ブロックが読み取られるとすぐに、元の容量に解凍されるはずである。解凍プロセスを図7に示す。
最初に、ステップ200及びステップ202において、解凍プロセスは、CBIビットを読み取り、チェックする。CBIビットが設定されている(0ではない)場合、それは、ブロックが圧縮されていることを示す。この場合、ステップ204において、ブロックは、圧縮プロセスで用いた同一の予測を用いてデコードされる。そして、ピクセル値を生成する。また、ステップ206及びステップ208において、ブロックは、損失を有する可能性が有ることから、LIが読み取られてチェックされる。ブロックが損失を伴って(LIが0ではない)圧縮されている場合、ステップ210において、ノイズ_補償_ビットがチェックされる。ステップ212において、この情報を用いることで、解凍されたブロックは、ノイズを取り除くよう補正される。ブロックが可逆圧縮されている(LI=0)場合、このノイズ補償ブロックは省略される。
ブロックが圧縮されていない(CBI=0)場合、ステップ214及びステップ216において、LI(不可逆又は可逆)を読み取り、チェックする必要がある。それが不可逆である場合、ブロックに含まれるデータは、ヘッダ(CBI及びLI)を含んでいる一つのピクセルを除いて単純に元のピクセルデータである。当然、実装に依存して、これら2つのビットは、2以上のピクセルに拡張することができる(2ビットのノイズを有する一つのピクセルの代わりに)。そして、ステップ218において、全てのデータが読み取られる。それが可逆であるとき、ステップ220において、ブロックをデコードする必要がある。エンコーディングプロセス(非圧縮プロセス)及びデコーディングプロセスを次のセクションで説明する。
非圧縮プロセス
図8A乃至図8Bは、非圧縮プロセスの実施例を表す。非圧縮プロセスは、元のピクセルの値を変更することなく、追加情報をピクセル情報に組み込むプロセスを表す。図8Aは、第1ピクセルの処理を示す。非圧縮ブロックにヘッダの2ビット(CBI及びLI)を組み込むために、ステップ300において、最初に第1ピクセルを読み取り、ステップ302において、それの2ビットを取り除くことによって第1ピクセルを処理する。取り除かれた2ビットは、FIFO(ファーストインファーストアウト)に記憶される。FIFOの内容は、後に、他のピクセルが処理されているときに組み込まれる。
圧縮バッファ(CB)及び解凍バッファ(DB)という2つのバッファが存在する。CBは、非圧縮の結果を含む。このデータは、非圧縮が完了するとすぐに、フレームメモリに転送される。したがって、このバッファの最大サイズは、元のデータのサイズ(8×4ブロック)に適合させるべきである。DBは、デコードされた結果を含む一時的なバッファである。それは、予測に用いられる。したがって、DBのサイズは、上部のピクセルに対しての1行、さらに、左側のピクセルに対しての1つ(8×1)とすることができる。例えば、図4Aに示すように、現在のピクセルの位置がP23である場合、上部のピクセルはPS13であり、左側のピクセルはP22である。この場合、DBは、上方の行(P10からP17まで)とP22を含む。
2ビットが取り除かれた後、ステップ304において、2つのヘッダビットは、6ビットのデータに付加される。6データビット(FIFOのために2ビットを移動させた後の左側)及び2ヘッダビット(CBI、LI)は、一つのパケットを構成する。ステップ306において、パケットは、CB内に記憶される。ステップ308において、既に解凍されているピクセルは、予測プロセスで用いられることから、第1のピクセルは、ヘッダビットを取り除くことによって、そして、それを8ビット精度に変換することによって、すなわち、2つのビットが位置している場所に2つの0を埋めることによってデコードされる。ステップ310において、結果は、DBに記憶される。
第1ピクセルの非圧縮プロセスが終了するとすぐに、残りのピクセルの非圧縮プロセスが開始する。図8Bにプロセスの詳細を示す。
現在のピクセルの値は、第2ピクセル(X=1)から開始して、すでに解凍されたピクセルから予測される。そして次に、現在値と予測値との残差を算出する。残差の値が閾値より小さい場合、残差の値は、より少ないビット数で表すことができる。元のピクセルは、8ビットであることから、いくつかのビットは、残差によって元のピクセルを表現する、より小さいビットを用いることで利用可能となる。利用可能なこれら追加のビットは、以下のように割当てることができる。
ストップフラグ(1ビット)
埋め込みが行われているかどうかを示す。ストップフラグ=1の場合、予測プロセスは終了する。残りのピクセル全ては、まさに元の値であり、最後のピクセルに至るまでCBに記憶される。ストップフラグ=0の場合、いくつかの追加データ(組み込まれる必要があるデータ)は、FIFOに残り続けている。したがって、プロセスは、データのための追加スペースが存在し続けるまで続けられる。
従前の対象包含フラグ(ContainedPrevious)(1ビット)
従前の対象包含フラグは、現在のデータが、残差値又は元の値のどちらを含むか表す。予測値の絶対値が閾値より大きい場合、それは、特定のビット数が、残差を表すのに必要であることを単に意味するだけではない。この場合、予測なしで元のピクセル値だけを用いる。しかしながら、2つの(ストップフラグ及び従前の対象包含フラグのための)ビットは、依然として組み込む必要があることから、元のピクセルデータから2つのビットは取り除かれるべきである。取り除かれたデータは、FIFOに置かれる。
残差が閾値より小さい場合、フラグのための2ビットを排除することで、いくつかの追加ビットが使用可能となる。これらの使用可能なビットは、FIFOにデータを組み込むよう用いられる。いくつかのビットは、FIFOから読み取られる。そして、パケットは、残差データ、2ビットのヘッダ、そして、FIFOデータを含んで構成される。得られるパケットは、CBに記憶される。
FIFOが空になるとすぐに、全てのヘッダ情報は、ブロックに組み込まれ、さらなる処理を必要としない。このとき、ストップフラグ=1に設定される。
注目すべきは、最悪の場合、FIFOは、全てのピクセルの処理が完了したときでさえ、空にならない可能性がある。これが生じると、ヘッダ情報を組み込むことができない。したがって、不可逆プロセスが適用される。不可逆プロセスにおいて、一つのピクセルを選び、2つのビットを取り除く。取り除かれたビットの位置で、ヘッダ情報を完成させる。一つのピクセル内の2ビットを用いる代わりに、2つのピクセルを選択し、それぞれ1ビットを取り除くことも可能である。このようにして、ピクセル内のエラーは、2ビットのエラーより小さくすることができる。
図8Bに示すようにプロセスの詳細を進めていくと、ステップ400において、ストップフラグ=0を有する第2ピクセル(カウンタ=1)から始まる。そして、ステップ402において、ピクセルの現在の8ビットを読み取る。ステップ404において、ストップフラグ=1であるかチェックする。第2ピクセル(X=1)、ストップフラグ=0なので、返答はNoとなる。Noである場合、ステップ406において、事前に解凍されている8ビットピクセルをDBから読み取り、ステップ408において、予測後に現在のピクセルの残差値を決定し、次いで、ステップ410において、残差値の絶対値が閾値より小さいかどうかチェックが行われる。もし、Yes(例えば、4ビットを用いて表すことが可能な−7から7までの残差値の範囲)である場合、すると、ステップ412において、FIFOからデータを読み取り、記憶する。そして、ステップ414において、従前の対象包含フラグ=1を設定し、ステップ416において、予測値データの4ビット及びFIFOデータの2ビットを有するパケットの部分を生成する。ステップ418において、FIFOが空であるかチェックする。FIFOが空でない場合、ステップ420において、2つのフラグのビットを加え(ストップフラグ=0)、8ビットのパケットを完成させ、ステップ422において、CBにパケットを記憶する。ステップ418において、FIFOが空である場合、ステップ424において、ストップフラグ=1を設定し、ステップ100において、ヘッダ情報を付加し、ステップ422において、CBに結果を記憶する。
残差値が閾値より大きい場合、現在のピクセル値は、予測なしで用いられる。この場合、ステップ426において、2ビットが、元のピクセルから削除され、ステップ428において、FIFOに2ビットを置き、ステップ430において、従前の対象包含フラグ=0に設定する。そして、ステップ100において、ヘッダ情報を付加し、ステップ422において、CBに結果を記憶する。ステップ422において、CBに結果を記憶した後、ステップ432において、いずれかの経路に基づいて最後のピクセルであるかをチェックする。もし違う場合、ステップ434において、カウンタX=X+1としてインクリメントし、ステップ402に戻り、現在の8ビットのピクセルを読み取る。
ステップ404において、ストップフラグ=1である場合、もはや予測は実行されない。そして、ステップ436において、現在のピクセル値をCBに記憶する。そして、ステップ438において、最後のピクセルであるかチェックする。もし、そうでない場合、ステップ434において、カウンタX=X+1としてインクリメントし、ステップ402に戻る。ステップ432又はステップ438において、最後のピクセルに到達するまで、プロセスは繰り返される。
予測及び圧縮
ブロック内のピクセルは、今までに解凍されたピクセルから予測される。第1ピクセルは予測されない。その代わり、それは、元の値を保持する。図9Aに示すように、現在のピクセルXの周りにある周辺の解凍済みピクセルA、B、及び、Cは、予測に用いられる。
Xの予測
=Px
=関数(A、B、C)
現在の圧縮アルゴリズムは、外部のブロックを参照することなく、ブロックがそれ上で完全に圧縮されるよう設計されている。したがって、外部ブロックについてのいずれの情報も用いられない。そのような独立して行う圧縮方法が好まれている理由は、ビデオコーデックの動き補償が、ブロックにランダムにアクセスする必要があるからである。もし、ブロックが、今まで処理された任意のブロックに対して依存関係を有している場合、このアルゴリズムの適用はふさわしくない可能性がある。したがって、ブロックの外側の境界は、図9Bに示すようにすべて0であるように仮定される。
予測の後、予測ピクセルと現在のピクセルとの間の残差は、以下のように算出される。
Rx=現在のピクセルの残差=(現在のピクセル値)−Px
予測の後の8×4ブロック及び4×4ブロックを図10A乃至図10Bに示す。図10C乃至図10Dに示すように、8×4輝度ブロックは、3つに分割され、4×4の色差ブロクは2つに分割される。以下では、例示の目的のために輝度ブロックを圧縮する方法のみ提示するが、色差ブロックも同じ方法で圧縮することができる。
輝度セグメント1
セグメント1は、第1ピクセルのみを含む。したがって、元の値を保持するために8ビットが必要とされる。必要となるビット数は、R(1)=8である。
輝度セグメント2
セグメント2は、予測から得られる残差データを含む。最初に、最大値を以下のように求める。
Max=Maximum(abs(R10)、abs(R20)、abs(R30))
上記データを解凍するために、ヘッダ情報の3ビットが必要である。
処理対象データフラグ(1ビット)
これは、データが処理されるか否かを示す。
ビットコードフラグ(2ビット)
これは、割当てられるビット数を示す。
これら2つのフラグに基づいて、輝度セグメント2内の全てのデータが割当てられる。輝度セグメント2にはピクセルが3つ存在することから、必要となるビットは、
R(2)=3*Bf
となる。
ここで、Bfは、割当てられる最終的なビット数である。
輝度セグメント3
輝度セグメント3において、7×1の行のピクセル全てが、同じ方法で圧縮される。セグメント2と同様に、最初に、7×1の残差データ内の全てのデータ間の最大値を以下のように求める。
Max=Maximum(abs(R01)、abs(R02)、...abs(R00))
解凍に関しても同様な方法で、ヘッダ情報の4ビットは、以下のように定義される。
処理対象データフラグ(1ビット)
これは、データが処理されるか否かを示す。
ビットコードフラグ(3ビット)
これは、割当てられるビット数を示す。
これら2つのフラグに基づいて、輝度セグメント3内の全てのデータが割当てられる。輝度セグメント3内に7×1サブブロックが4つ存在することから、必要となるビットは、
R(3)=4*Bf
となる。
要するに、圧縮で用いられる合計ビット数は、
R=R(1)+R(2)+R(3)+2(CBI及びLI)
となる。
ノイズ補償
不可逆圧縮を用いたとき、最下位ビットは、丸めによって切り捨てられる。したがって、このプロセスにおいて、切り捨てによるノイズが含まれる。理論上は、解凍プロセスにおいてこの損失を回復させることはできない。しかしながら、本発明は、ノイズ補償方法を使用し、1ビットの追加情報をデコーダに送ることによってノイズを取り除く。
この考え方の主要部は、切り捨てプロセスの間、切り捨てられる‘1’又は‘0’の数を数えることである。最も切り捨てられた値が‘1’である場合、ノイズ_補償_ビットには1を設定する。これにより、デコーダ側において、全てのデータを解凍したあと、LSBに1を設定する。したがって、それは、統計に基づき全ての値を単に‘0’又は‘1’としておくことによってノイズを削減する。切り捨てられたビットの値の大部分が‘0’であるときも、同じ方法が適用される。
このノイズ補償の方法は、圧縮ブロックより小さいブロックに適用することができる。例えば、8×4圧縮ブロック内の4つの8×1ブロックを用いることが可能である。この場合、4ビットのノイズ_補償_ビットが存在し得る。これらビットは、非圧縮プロセスにも同様に組み込まれる。
色差のノイズにも同様な方法で、補正が行われる。
さらなる特徴及び結論
本発明の特徴は、顕著な視覚的な歪みを一切発生させることなくビデオデータをより小さいサイズに圧縮する方法である(全ブロック内に最大で1ビットのエラーを有するほぼ無損失である方法)。わずかな視覚的な歪みを用いて、本方法をフレームメモリの圧縮に適用することができる。これは、ドリフトノイズは無視することができるという理由からである。本方法において、残差データを表すのに必要である最大精度を獲得し、さらにこの精度を圧縮のために利用する。
本発明の他の特徴は、圧縮するためにより少ないビット数を用いるようブロックをより小さいブロックに分割する方法である。本方法において、全ブロックの最大精度を獲得する代わりに、ブロックをより小さいブロックに分割し、各サブブロックにおける最大精度を獲得する。したがって、異なる精度が各サブブロックに割当てられ、圧縮フォーマットのブロックを表す不必要に大きなビット数の使用を回避する。
本発明のさらなる特徴は、圧縮ノイズを許容することによって可逆圧縮の方法を不可逆圧縮の方法に拡張する方法である。さらに圧縮率を向上させる必要がある場合、本方法は、不可逆圧縮に重点を置いて拡張されていてもよい。この場合、全ブロックに不可逆圧縮を行う代わりに、サブブロックを選択的に選び、より小さいブロックの損失を抑制する。
本発明のさらなる他の特徴は、圧縮ブロックの各サブブロックが、異なる範囲のノイズのレベルを有することができることである。したがって、それは、小さいノイズレベルを維持するとはいえ、より圧縮率を向上させる。
本発明の他の特徴は、不可逆圧縮を適用する際、圧縮ノイズを補正する方法である。ノイズは、圧縮プロセスにおいて予測され、1ビットに対して近似される。この近似されたノイズは、圧縮されたブロックに組み込まれる。解凍プロセスにおいて、ノイズは、この情報を用いて補正される。
本発明の他の特徴は、元のデータの損失をともなうことなく追加情報を組み込む方法である。ブロックが圧縮されていない場合、追加のヘッダ情報を備えなければならない。本方法は、元のいずれのピクセルデータを損失することなく追加の情報を付加する。
したがって、本発明は、エンコーダと外部のフレームメモリとの間の外部バスを通じたデータの転送を非常に削減するビデオコーデックシステムを提供する。これは、ビデオデータをストレージに記憶するための特定の利用形態を有する。また、それは、元の内容を失うことなく追加の情報をビデオデータに組み込む必要がある利用に適用することができる。
上記の説明は、多くの詳細を含むとはいえ、これらは、本発明の範囲を制限することと解釈すべきではなく、本発明の現時点でのいくつかの好ましい実施例の例示を単に提供するものと解釈すべきである。したがって、当然のことながら、本発明の範囲には、当業者にとって明らかとなるであろう他の実施例が十分に含まれている。そして、本発明の範囲は、特許請求の範囲のみによって制限される。その場合、単数要素への言及は、“一又は二以上”という記載を除いて、明確な記載がない限り“一つであって一つのみ”であると意味することを意図していない。上記の望ましい実施例の要素に対する構造的かつ機能的な全ての均等物であって、当業者にとって既知である均等物は、参照によってここに明確に組み込まれ、そして、特許請求の範囲によって含まれることを意図する。また、本発明を解決するよう求められる、ありとあらゆる問題に装置が対応する必要は無く、さらに、本出願の特許請求の範囲がそれを含む必要もない。そして、本開示の要素又は構成要素は、その要素又は構成要素が特許請求の範囲に明確に記載されているか否かにかかわらず、一般の人のために提供することを意図していない。本出願の特許請求の範囲は、要素が、“のための手段”という語句を用いて明確に記載されている限り、米国特許法112条第6段落の規定のもとで解釈される。

Claims (27)

  1. ビデオコーデックにおいて外部バスを介して接続されているエンコーダと外部のフレームメモリとの間のデータ転送を削減するための方法であって、
    前記エンコーダからのデータをフレームメモリに前記外部バスを通じて投入する前に圧縮するステップと、
    前記フレームメモリからの圧縮された前記データである圧縮データを前記外部バスを通じて取り出した後に解凍するステップと、
    を含むことを特徴する方法。
  2. 請求項1に記載の方法において、前記データは、可逆圧縮によって圧縮されることを特徴とする方法。
  3. 請求項1に記載の方法において、前記データは、不可逆圧縮によって圧縮されることを特徴とする方法。
  4. 請求項1に記載の方法において、前記データは、可逆圧縮と不可逆圧縮との組み合わせによって圧縮されることを特徴とする方法。
  5. 請求項1に記載の方法において、圧縮の実行前に、各フレームをより小さいブロックに分割するステップをさらに含むことを特徴とする方法。
  6. 請求項5に記載の方法において、前記フレームは、輝度フレーム及び色差フレームであることを特徴とする方法。
  7. 請求項5に記載の方法において、最初に元のブロックそれぞれを予測して圧縮し、そして、圧縮中に用いられたビット数が許容範囲内であるか決定することによって、各ブロックが圧縮されることを特徴とする方法。
  8. 請求項5に記載の方法において、
    分割された前記ブロックを異なる圧縮レベルであるサブブロックに分割するステップをさらに含み、
    一つの圧縮ブロックの内部で不可逆のサブブロックと可逆のサブブロックを一つにまとめることが可能であることを特徴とする方法。
  9. 請求項7に記載の方法において、圧縮中に用いられたビット数が許容範囲にある場合、前記圧縮データをパケットにまとめるステップと、そのパケットを前記フレームメモリに記憶するステップをさらに含むことを特徴とする方法。
  10. 請求項7に記載の方法において、圧縮中に用いられたビット数が許容範囲にない場合、不可逆圧縮によってデータを圧縮するよう試みるステップをさらに含むことを特徴とする方法。
  11. 請求項10に記載の方法において、不可逆圧縮は、元のデータの精度を低下させることによって実行されることを特徴とする方法。
  12. 請求項10に記載の方法において、圧縮中に取り込まれるノイズ量を示すノイズ補償ビットを生成するステップをさらに含むことを特徴とする方法。
  13. 請求項10に記載の方法において、不可逆圧縮が認められない場合、データは、非圧縮プロセスによって処理されることを特徴とする方法。
  14. 請求項4に記載の方法において、ブロック内の元の情報を損失することなく、圧縮した各ブロックに追加情報を組み込むステップをさらに含み、
    前記追加情報の少なくとも一つは、圧縮ブロックのしるし/非圧縮ブロクのしるしを含み、さらに、不可逆のしるし/可逆のしるしを含むことを特徴とする方法。
  15. 請求項4に記載の方法において、
    各ブロックの残差データを表すのに必要である最大精度を決定するステップと、
    ブロックの圧縮のためにこれを利用するステップと、
    をさらに含むことを特徴とする方法。
  16. 請求項4に記載の方法において、
    各ブロックをサブブロックに分割するステップと、
    各サブブロックのための最大精度を決定するステップと、
    そのサブブロックのための前記最大精度を用いて各サブブロックを圧縮するステップと、
    をさらに含むことを特徴とする方法。
  17. 請求項9に記載の方法において、各ブロックが圧縮されているか否かを決定し、そして、圧縮されている場合、ブロックの圧縮で使ったものと同じ精度を用いて各ブロックをデコーディングすることによって、フレームメモリからの前記圧縮データを解凍することを特徴とする方法。
  18. 請求項17に記載の方法において、各ブロックが圧縮されているか否かの決定は、組み込まれている圧縮ビット/非圧縮ビットを読み取ることによって行われることを特徴とする方法。
  19. 請求項17に記載の方法において、
    ブロックが不可逆圧縮によって圧縮されているか否かを決定するステップと、
    ブロックが不可逆圧縮によって圧縮されている場合、ノイズを削減するよう解凍済みブロックを補正するステップと、
    をさらに含むことを特徴とする方法。
  20. 請求項19に記載の方法において、ブロックが不可逆圧縮によって圧縮されているかの決定は、組み込まれている不可逆ビット/可逆ビットを読み取ることによって行われることを特徴とする方法。
  21. 請求項19に記載の方法において、前記解凍済みブロックの補正は、ノイズ補償ビットの読み取りを含むことを特徴とする方法。
  22. 請求項17に記載の方法において、
    ブロックが圧縮されていない場合、データが不可逆圧縮によって圧縮されているかを決定するステップと、
    データが不可逆圧縮によって圧縮されている場合、データをデコーディングし、または、データが不可逆圧縮によって圧縮されていない場合、全てのデータを読み取るステップと
    をさらに含むことを特徴とする方法。
  23. 請求項13に記載の方法において、前記非圧縮プロセスは、第1ピクセルを処理することにより実行され、その第1ピクセルを処理は、最初に、第1ピクセルを読み取り、その第1ピクセルのいくつかのビットを取り出して、取り出したそのビットをFIFOに送り、ヘッダの追加のビットを読み取り、そのヘッダのビットを前記第1ピクセルの残りのビットに付加し、圧縮バッファに結果を記憶し、処理済みの前記第1ピクセルを解凍し、そして、解凍した前記第1ピクセルを解凍バッファに記憶することによって行われることを特徴とする方法。
  24. 請求項23に記載の方法において、前記非圧縮プロセスは、第2ピクセルから開始することによって実行され、その実行は、今までに解凍されているピクセルから現在のピクセル値を予測し、現在の値と予測値との間の残差を算出し、その残差のために必要なビット数を決定し、ストップフラグビット及び従前の対象包含フラグビット、そして、任意のFIFOデータを利用可能なビットに組み込むことによって行われることを特徴とする方法。
  25. 請求項3に記載の方法において、
    圧縮ノイズは、前記不可逆圧縮において、圧縮におけるノイズを推定し、ノイズ情報を圧縮ブロックに組み込むことによって補正されることを特徴とする方法。
  26. 請求項3に記載の方法において、圧縮の間、最下位ビットを切り捨て、過半数を切り捨てられたビットをノイズ補正ビットとして設定し、解凍の間、最下位ビットには、その過半数を切り捨てられたビットが設定されることを特徴とする方法。
  27. エンコーダのコア、そして、そのエンコーダのコアに外部バスを介して接続されている外部のフレームメモリを有するビデオコーデックにおいて、
    前記エンコーダのアウトプットにおける圧縮ユニットであって、前記エンコーダからのデータを前記外部バスを介して前記フレームメモリに投入する前に圧縮する圧縮ユニットと、
    前記エンコーダのインプットにおける解凍ユニットであって、前記フレームメモリからの圧縮された前記データを前記外部バスを通じて取り出した後に解凍する解凍ユニットと を備えることを特徴とするビデオコーデック。
JP2009114966A 2008-04-15 2009-04-14 不可逆圧縮及び可逆圧縮を組み合わせて用いたビデオデータ圧縮 Pending JP2009260977A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/103,427 US8194736B2 (en) 2008-04-15 2008-04-15 Video data compression with integrated lossy and lossless compression

Publications (1)

Publication Number Publication Date
JP2009260977A true JP2009260977A (ja) 2009-11-05

Family

ID=41163950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009114966A Pending JP2009260977A (ja) 2008-04-15 2009-04-14 不可逆圧縮及び可逆圧縮を組み合わせて用いたビデオデータ圧縮

Country Status (3)

Country Link
US (1) US8194736B2 (ja)
JP (1) JP2009260977A (ja)
CN (1) CN101562749B (ja)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012014472A1 (ja) * 2010-07-29 2012-02-02 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、及び動画像復号装置
JP2012029213A (ja) * 2010-07-27 2012-02-09 Fujitsu Ltd 動画像符号化装置
JP2012044240A (ja) * 2010-08-12 2012-03-01 Fujitsu Ltd 動画像符号化装置
JP2012060265A (ja) * 2010-09-06 2012-03-22 Fujitsu Ltd 画像処理装置
JP2012195701A (ja) * 2011-03-15 2012-10-11 Fujitsu Ltd 画像処理装置及び画像処理方法
JP2013524652A (ja) * 2010-04-07 2013-06-17 リグオリ,ヴィンチェンツォ メモリ要求低減ビデオ送信システム
JPWO2012005106A1 (ja) * 2010-07-08 2013-09-02 日本電気株式会社 映像復号装置、映像符号化装置、映像復号方法、映像符号化方法及びプログラム
JP2014123830A (ja) * 2012-12-20 2014-07-03 Hitachi Information & Telecommunication Engineering Ltd 動画像圧縮伸張装置
JP2014143572A (ja) * 2013-01-24 2014-08-07 Hitachi Information & Telecommunication Engineering Ltd 画像符号化装置
JP2015146474A (ja) * 2014-01-31 2015-08-13 株式会社アクセル 符号化装置及び復号化装置
JP2015146473A (ja) * 2014-01-31 2015-08-13 株式会社アクセル 符号化装置及び復号化装置
US9307244B2 (en) 2012-08-08 2016-04-05 Megachips Corporation Data storage controlling device, data reading controlling device, and data storing method
US9536323B2 (en) 2011-12-26 2017-01-03 Megachips Corporation Data storage control apparatus, data storage apparatus, data readout control apparatus, data storage method, compression circuit, and compression method
JPWO2014167609A1 (ja) * 2013-04-12 2017-02-16 株式会社スクウェア・エニックス・ホールディングス 情報処理装置、制御方法、プログラム、及び記録媒体
WO2017104010A1 (ja) * 2015-12-16 2017-06-22 三菱電機株式会社 動画像符号化装置および動画像符号化方法
JP2018014721A (ja) * 2017-07-31 2018-01-25 株式会社スクウェア・エニックス・ホールディングス 情報処理装置、制御方法、プログラム、及び記録媒体
WO2018110270A1 (ja) * 2016-12-12 2018-06-21 ソニー株式会社 画像処理装置および方法
US10225569B2 (en) 2014-03-31 2019-03-05 Megachips Corporation Data storage control apparatus and data storage control method
JP2019092051A (ja) * 2017-11-15 2019-06-13 住友電気工業株式会社 映像伝送システム、映像送信装置、映像受信装置、映像送信方法、映像受信方法およびコンピュータプログラム
EP3672247A1 (en) 2018-12-18 2020-06-24 Renesas Electronics Corporation Video encoding device, operating methods thereof, and vehicles equipped with a video encoding device
US11683497B2 (en) 2019-11-06 2023-06-20 Renesas Electronics Corporation Moving picture encoding device and method of operating the same

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8340183B2 (en) * 2007-05-04 2012-12-25 Qualcomm Incorporated Digital multimedia channel switching
TWI477142B (zh) * 2008-06-20 2015-03-11 Mstar Semiconductor Inc 影像處理電路及相關方法
US20100098166A1 (en) * 2008-10-17 2010-04-22 Texas Instruments Incorporated Video coding with compressed reference frames
US10097869B2 (en) * 2011-08-29 2018-10-09 Tata Consultancy Services Limited Method and system for embedding metadata in multiplexed analog videos broadcasted through digital broadcasting medium
TWI479418B (zh) * 2012-01-19 2015-04-01 Novatek Microelectronics Corp 多媒體裝置的啟動方法及多媒體裝置
US9384410B2 (en) * 2012-05-21 2016-07-05 Nvidia Corporation Method and system for image compression while encoding at least one extra bit
US20140072027A1 (en) * 2012-09-12 2014-03-13 Ati Technologies Ulc System for video compression
US9978156B2 (en) * 2012-10-03 2018-05-22 Avago Technologies General Ip (Singapore) Pte. Ltd. High-throughput image and video compression
KR101835316B1 (ko) * 2013-04-02 2018-03-08 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
CN104113759B (zh) * 2013-04-17 2018-03-23 展讯通信(上海)有限公司 视频系统、视频帧缓存再压缩/解压缩方法与装置
US9819969B2 (en) 2013-11-26 2017-11-14 Nvidia Corporation Generalization of methods and systems for image compression while encoding at least one extra bit
CN103745443B (zh) * 2014-01-10 2017-06-13 北京优纳科技有限公司 提高图像质量的方法和设备
KR102099626B1 (ko) * 2014-08-20 2020-04-10 한국전자통신연구원 부호화 장치 및 방법
US9686560B2 (en) * 2015-02-23 2017-06-20 Teledyne Dalsa, Inc. Lossless data compression and decompression apparatus, system, and method
CN105979265A (zh) * 2016-05-05 2016-09-28 贵州白山云科技有限公司 图片压缩方法和装置
JP6875821B2 (ja) * 2016-10-19 2021-05-26 キヤノン株式会社 画像符号化装置、撮像装置、画像符号化方法およびプログラム
US10609418B2 (en) 2017-04-18 2020-03-31 Qualcomm Incorporated System and method for intelligent data/frame compression in a system on a chip
US10484685B2 (en) 2017-04-18 2019-11-19 Qualcomm Incorporated System and method for intelligent data/frame compression in a system on a chip
US10511842B2 (en) * 2017-10-06 2019-12-17 Qualcomm Incorporated System and method for foveated compression of image frames in a system on a chip
US10659797B2 (en) 2017-10-31 2020-05-19 Google Llc Video frame codec architectures
KR102515127B1 (ko) * 2018-03-22 2023-03-28 삼성전자주식회사 디스플레이 장치의 저 전력 모드에서의 동작을 지원하는 디스플레이 드라이버 회로
KR102626217B1 (ko) 2018-11-30 2024-01-16 삼성전자주식회사 프레임 버퍼 컴프레서 및 이를 포함하는 이미지 처리 장치
US11075647B2 (en) * 2019-02-27 2021-07-27 Movidius Limited Methods and apparatus to compress data
CN110032425B (zh) * 2019-03-22 2021-04-06 北京智游网安科技有限公司 一种动态链接库文件虚拟化方法、系统及存储介质
GB2586516B (en) 2019-08-23 2022-07-06 Imagination Tech Ltd Random accessible image data compression
US11244476B2 (en) 2020-04-06 2022-02-08 Samsung Display Co., Ltd. Systems and methods for low-complexity near lossless fixed-rate hybrid data compression codecs
CN111787330B (zh) * 2020-06-16 2022-03-08 眸芯科技(上海)有限公司 支持解码压缩帧缓存自适应分配的编码方法及应用
CN112600938B (zh) * 2020-12-30 2022-01-11 深圳市蓝硕通讯设备有限公司 一种企业通讯数据压缩系统
CN112929590B (zh) * 2021-02-05 2022-10-04 广东欧谱曼迪科技有限公司 开机动画播放系统、压缩方法、装置及解压方法、装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06327001A (ja) * 1993-05-11 1994-11-25 Olympus Optical Co Ltd 画像処理装置
JPH08116539A (ja) * 1994-10-17 1996-05-07 Hitachi Ltd 動画像符号化装置と動画像符号化方法
JPH1051767A (ja) * 1996-07-29 1998-02-20 Mitsubishi Electric Corp 画像再生装置
JPH10327407A (ja) * 1997-02-26 1998-12-08 Samsung Electron Co Ltd Mpegシステムデコーダー及びこれのデータ処理方法
JPH11251919A (ja) * 1997-11-24 1999-09-17 St Microelectronics Srl メモリ必要量削減方法
JP2001506085A (ja) * 1996-12-10 2001-05-08 トムソン コンシューマ エレクトロニクス インコーポレイテッド メモリを有効利用する画像処理システムのオーバーヘッド・データプロセッサ
JP2003348592A (ja) * 2002-05-23 2003-12-05 Matsushita Electric Ind Co Ltd 画像データ記憶装置、符号化装置、復号化装置、及び、圧縮伸長システム
JP2006080793A (ja) * 2004-09-08 2006-03-23 Canon Inc 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598514A (en) * 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
EP0739570A1 (en) * 1994-01-14 1996-10-30 Houston Advanced Research Center Boundary-spline-wavelet compression for video images
US5847762A (en) 1995-12-27 1998-12-08 Thomson Consumer Electronics, Inc. MPEG system which decompresses and then recompresses MPEG video data before storing said recompressed MPEG video data into memory
US6157740A (en) * 1997-11-17 2000-12-05 International Business Machines Corporation Compression/decompression engine for enhanced memory storage in MPEG decoder
US7136417B2 (en) * 2002-07-15 2006-11-14 Scientific-Atlanta, Inc. Chroma conversion optimization
CN1719507A (zh) * 2004-07-08 2006-01-11 夏普株式会社 数据变换装置
US8401071B2 (en) * 2007-12-19 2013-03-19 Sony Corporation Virtually lossless video data compression

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06327001A (ja) * 1993-05-11 1994-11-25 Olympus Optical Co Ltd 画像処理装置
JPH08116539A (ja) * 1994-10-17 1996-05-07 Hitachi Ltd 動画像符号化装置と動画像符号化方法
JPH1051767A (ja) * 1996-07-29 1998-02-20 Mitsubishi Electric Corp 画像再生装置
JP2001506085A (ja) * 1996-12-10 2001-05-08 トムソン コンシューマ エレクトロニクス インコーポレイテッド メモリを有効利用する画像処理システムのオーバーヘッド・データプロセッサ
JPH10327407A (ja) * 1997-02-26 1998-12-08 Samsung Electron Co Ltd Mpegシステムデコーダー及びこれのデータ処理方法
JPH11251919A (ja) * 1997-11-24 1999-09-17 St Microelectronics Srl メモリ必要量削減方法
JP2003348592A (ja) * 2002-05-23 2003-12-05 Matsushita Electric Ind Co Ltd 画像データ記憶装置、符号化装置、復号化装置、及び、圧縮伸長システム
JP2006080793A (ja) * 2004-09-08 2006-03-23 Canon Inc 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524652A (ja) * 2010-04-07 2013-06-17 リグオリ,ヴィンチェンツォ メモリ要求低減ビデオ送信システム
JP5835585B2 (ja) * 2010-07-08 2015-12-24 日本電気株式会社 映像復号装置、映像符号化装置、映像復号方法、映像符号化方法及びプログラム
JPWO2012005106A1 (ja) * 2010-07-08 2013-09-02 日本電気株式会社 映像復号装置、映像符号化装置、映像復号方法、映像符号化方法及びプログラム
US9258560B2 (en) 2010-07-08 2016-02-09 Nec Corporation Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and program
JP2012029213A (ja) * 2010-07-27 2012-02-09 Fujitsu Ltd 動画像符号化装置
WO2012014472A1 (ja) * 2010-07-29 2012-02-02 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、及び動画像復号装置
JP2012044240A (ja) * 2010-08-12 2012-03-01 Fujitsu Ltd 動画像符号化装置
JP2012060265A (ja) * 2010-09-06 2012-03-22 Fujitsu Ltd 画像処理装置
JP2012195701A (ja) * 2011-03-15 2012-10-11 Fujitsu Ltd 画像処理装置及び画像処理方法
US9536323B2 (en) 2011-12-26 2017-01-03 Megachips Corporation Data storage control apparatus, data storage apparatus, data readout control apparatus, data storage method, compression circuit, and compression method
US9307244B2 (en) 2012-08-08 2016-04-05 Megachips Corporation Data storage controlling device, data reading controlling device, and data storing method
JP2014123830A (ja) * 2012-12-20 2014-07-03 Hitachi Information & Telecommunication Engineering Ltd 動画像圧縮伸張装置
JP2014143572A (ja) * 2013-01-24 2014-08-07 Hitachi Information & Telecommunication Engineering Ltd 画像符号化装置
JPWO2014167609A1 (ja) * 2013-04-12 2017-02-16 株式会社スクウェア・エニックス・ホールディングス 情報処理装置、制御方法、プログラム、及び記録媒体
US9769486B2 (en) 2013-04-12 2017-09-19 Square Enix Holdings Co., Ltd. Information processing apparatus, method of controlling the same, and storage medium
US10003812B2 (en) 2013-04-12 2018-06-19 Square Enix Holdings Co., Ltd. Information processing apparatus, method of controlling the same, and storage medium
JP2015146473A (ja) * 2014-01-31 2015-08-13 株式会社アクセル 符号化装置及び復号化装置
JP2015146474A (ja) * 2014-01-31 2015-08-13 株式会社アクセル 符号化装置及び復号化装置
US10225569B2 (en) 2014-03-31 2019-03-05 Megachips Corporation Data storage control apparatus and data storage control method
WO2017104010A1 (ja) * 2015-12-16 2017-06-22 三菱電機株式会社 動画像符号化装置および動画像符号化方法
WO2018110270A1 (ja) * 2016-12-12 2018-06-21 ソニー株式会社 画像処理装置および方法
US10855982B2 (en) 2016-12-12 2020-12-01 Sony Corporation Image processing apparatus and method
JP2018014721A (ja) * 2017-07-31 2018-01-25 株式会社スクウェア・エニックス・ホールディングス 情報処理装置、制御方法、プログラム、及び記録媒体
JP2019092051A (ja) * 2017-11-15 2019-06-13 住友電気工業株式会社 映像伝送システム、映像送信装置、映像受信装置、映像送信方法、映像受信方法およびコンピュータプログラム
EP3672247A1 (en) 2018-12-18 2020-06-24 Renesas Electronics Corporation Video encoding device, operating methods thereof, and vehicles equipped with a video encoding device
KR20200075736A (ko) 2018-12-18 2020-06-26 르네사스 일렉트로닉스 가부시키가이샤 동화상 부호화 장치 및 그 동작 방법, 동화상 부호화 장치를 탑재하는 차량
US11102475B2 (en) 2018-12-18 2021-08-24 Renesas Electronics Corporation Video encoding device, operating methods thereof, and vehicles equipped with a video encoding device
US11606552B2 (en) 2018-12-18 2023-03-14 Renesas Electronics Corporation Video encoding device, operating methods thereof, and vehicles equipped with a video encoding device
US11683497B2 (en) 2019-11-06 2023-06-20 Renesas Electronics Corporation Moving picture encoding device and method of operating the same

Also Published As

Publication number Publication date
CN101562749A (zh) 2009-10-21
US20090257485A1 (en) 2009-10-15
US8194736B2 (en) 2012-06-05
CN101562749B (zh) 2013-08-14

Similar Documents

Publication Publication Date Title
JP2009260977A (ja) 不可逆圧縮及び可逆圧縮を組み合わせて用いたビデオデータ圧縮
US7792385B2 (en) Scratch pad for storing intermediate loop filter data
US8576924B2 (en) Piecewise processing of overlap smoothing and in-loop deblocking
KR101446771B1 (ko) 영상 부호화장치 및 영상 복호화장치
US9414086B2 (en) Partial frame utilization in video codecs
JP4393875B2 (ja) 複雑さの軽減された復号化に適したシングルレイヤビデオ符号化されたビットストリームを供給するシステム及び方法
JP5180298B2 (ja) 映像符号化装置及び方法と、映像復号化装置及び方法
US20040179610A1 (en) Apparatus and method employing a configurable reference and loop filter for efficient video coding
US8660191B2 (en) Software video decoder display buffer underflow prediction and recovery
KR20060088461A (ko) 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치
JP2004521583A (ja) 非スケーラブル符号化ビデオ信号からスケーラブル符号化ビデオ信号を発生する方法及び装置
US20080089418A1 (en) Image encoding apparatus and memory access method
JP2010193398A (ja) 画像符号化装置及び画像符号化方法
JP3918263B2 (ja) 圧縮符号化装置および符号化方法
US6804299B2 (en) Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation
JP2010098352A (ja) 画像情報符号化装置
US8707149B2 (en) Motion compensation with error, flag, reference, and decompressed reference data
EP1083752A1 (en) Video decoder with reduced memory
KR100670495B1 (ko) 동영상 압축 부호화 장치 및 방법
JP4919213B2 (ja) 電子透かし挿入方式および検出方式
JP2008544621A (ja) ビデオエラー隠蔽を向上させる符号化及び復号の方法及び装置
KR100345450B1 (ko) 인트라 블록 예측 부호화 및 복호화 장치 및 그 방법
JP2010288070A (ja) 画像符号化装置
JP4390009B2 (ja) 符号化装置及び方法、画像処理システム
KR100234239B1 (ko) 블록킹 효과 경감을 위한 양자화 방법과 그 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130318