JP7020466B2 - 残留レベルデータの位置依存エントロピ符号化のための組込みコーディク(ebc)回路 - Google Patents

残留レベルデータの位置依存エントロピ符号化のための組込みコーディク(ebc)回路 Download PDF

Info

Publication number
JP7020466B2
JP7020466B2 JP2019187670A JP2019187670A JP7020466B2 JP 7020466 B2 JP7020466 B2 JP 7020466B2 JP 2019187670 A JP2019187670 A JP 2019187670A JP 2019187670 A JP2019187670 A JP 2019187670A JP 7020466 B2 JP7020466 B2 JP 7020466B2
Authority
JP
Japan
Prior art keywords
block
quantized
entropy coding
circuit
conversion residual
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
JP2019187670A
Other languages
English (en)
Other versions
JP2020127188A (ja
JP2020127188A5 (ja
Inventor
ゴーラム サーヴァー モハメッド
タバタバイ アリ
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 Group Corp
Original Assignee
Sony Corp
Sony Group Corp
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 Group Corp filed Critical Sony Corp
Publication of JP2020127188A publication Critical patent/JP2020127188A/ja
Publication of JP2020127188A5 publication Critical patent/JP2020127188A5/ja
Application granted granted Critical
Publication of JP7020466B2 publication Critical patent/JP7020466B2/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/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
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic 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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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/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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

〔関連出願への相互参照/参照による援用〕
[0001] なし
[0002] 開示の様々な実施形態は、組込みコーデック(EBC)回路における画像および映像の圧縮および復元技術に関する。より具体的には、開示の様々な実施形態は、残留レベルデータの位置依存エントロピ符号化のためのEBC回路に関する。
[0003] 画像圧縮用の画像技術における最近の進歩は、画像の取込みおよび表示装置におけるオンチップコーデックに対する需要の増加につながり、これらは、画像を異なる解像度(例えば十分に高い分解能(HD)4K解像度および8K解像度)で表示品位の大幅な劣化および/またはメモリ使用量への衝撃なしに、記憶可能である。従来から、エントロピ符号化段階において、画像ブロックのための残留レベルのいくつかを符号化するために用いるビットの数は冗長なビットを含み、冗長なビットは、従来、画像ブロックのための全てのタイプの残留レベルに関して一様なエントロピ符号化方式を使用することによって生じる場合がある。エントロピ符号化段階におけるビットの数の冗長は、一様なエントロピ符号化方式が、第1のブロック内の残留レベルの位置に関係なく適用されるときさらに変動し、変動は、画像ブロックのための情報の点からより多くの圧縮を備えた領域を表すことができる。
[0004] 従来のおよび伝統的な取組みのさらなる制限および欠点は、本願の残りの部分においておよび図面に関して詳述するような、記載されたシステムと本開示のいくつかの態様との比較を通じて当業者に明白になる。
[0005] 残留レベルデータの位置依存エントロピ符号化のための組込みコーデック(EBC)回路および方法が提供され、実質的に図示されおよび/または少なくとも図の1つに関連して記載され、特許請求の範囲により完全に記述されている。
[0006] 本開示のこれらのならびに他の特徴および利点は、以下に示す本開示の詳細な説明を、全体を通じて同じ参照番号が同じ部分を指す添付図面とともに再検討することによって、よく理解できる。
開示の実施形態に従って、残留レベルデータの位置依存エントロピ符号化のための組込みコーデック(EBC)回路および他の回路を有する、典型的な媒体機器を示すブロック図である。 開示の実施形態に従って、様々な周辺の構成部品を有する、残留レベルデータの位置依存エントロピ符号化のための組込みコーデック(EBC)回路を示すブロック図である。 開示の実施形態に従って、入力画像ブロックの量子化変換残留レベルのブロックのための第1のヒストグラム分布を描いている。 開示の実施形態に従って、入力画像ブロックの量子化変換残留レベルのブロックのための第2のヒストグラム分布を描いている。 開示の実施形態に従って、図2のEBC回路による残留レベルデータの位置依存エントロピ符号化のための典型的な動作を図示するフローチャートである。 開示の実施形態に従って、符号化方式を図2のEBC回路によって二次元(2D)の画像ブロック上に順次適用する、異なるブロック出力を示す図表である。 開示の実施形態に従って、図5Bと一緒に、残留レベルデータの位置依存エントロピ符号化のための典型的な方法を図示するフローチャートを描いている。 開示の実施形態に従って、図5Aと一緒に、残留レベルデータの位置依存エントロピ符号化のための典型的な方法を図示するフローチャートを描いている。
[0013] 本開示の様々な実施形態は、残留レベルデータの位置依存エントロピ符号化のための方法および組込みコーデック(EBC)回路に見出すことができる。EBC回路はメモリおよび符号器回路を含み、それらは、符号化方式を画像ブロック上に順次適用することによって符号化画像ブロックのビットストリームの発生を扱う。開示されたEBC回路は、ブロックにおける量子化変換残留レベルを、量子化変換残留レベルの分類に基づいて2つの異なるセットに符号化するように構成できる。分類を用いて、異なるセットは、量子化変換残留レベルの異なるエントロピ符号化方式によって適切に符号化することができ、符号化はまた、ビットストリームのためのビットレートにおける変動の原因となることがある。第1のブロック内での量子化変換残留レベルの位置に基づいて適切なエントロピ符号化方式を適用することにより、複数コードが発生し、それらは、サンプルごとに必要なビットの数、および符号化画像ブロックのビットストリームのためのビットレートに関して効率的である。位置依存エントロピ符号化方式をサブブロックレベルに適用することにより、画像ブロックを符号化するために従来から必要とされる多くのビットがさらに減少できる。
[0014] 例えば、量子化変換残留レベルの第1のセットは、ハフマンエントロピ符号化方式の適用によって符号化することができ、それは、ハフマンテーブルのセットからハフマンテーブルを選択することができる。ハフマンテーブルの選択は、ブロックにおける量子化変換残留レベルの位置に依存することができ、また以前に符号化された量子化変換残留レベルの絶対値に依存する。第2のセットの量子化変換残留レベルについて、k番目の指数関数的Golomb符号方式が使用できる。
[0015] 図1は典型的な媒体機器を示すブロック図であり、媒体機器は、開示の実施形態に従って、残留レベルデータの位置依存エントロピ符号化のための組込みコーデック(EBC)回路および他の回路を有する。図1を参照すると、プロセッサ106、組込みコーデック(EBC)回路108および外部メモリ110を含む媒体機器102が示される。いくつかの実施形態では、画像センサ104が、プロセッサ106、EBC回路108および外部メモリ110と通信可能に連結できる。システムバス112がさらに示され、それは、画像センサ104、プロセッサ106、EBC回路108および外部メモリ110を相互に連結している。
[0016] 媒体機器102は、適切な論理、回路、インターフェイスを備え、それらは、圧縮されていない原画像および/または原映像を、外部メモリ110中に符号化された(すなわち圧縮された)画像および/または映像として記憶するように構成できる。媒体機器102は、メディアコンテンツ(例えば、符号化画像および/または映像)の符号化ならびに復号化、さらに媒体機器102とインターフェイス接続されたディスプレイ画面において復号化された再生を管理するようにさらに構成できる。媒体機器102は、これにメディアコンテンツをオフライン(ネットワークなし)で符号化するための他の計算回路とともに、専用オンチップコーデック回路(例えばEBC回路108)、および画像(圧縮されていない原画像または符号化画像)を記憶するための外部メモリ110を含む。いくつかの実施形態では、媒体機器102はまた、1つまたは複数の画像センサー(例えば画像センサー104)を含み、これにより圧縮されていないファイル形式である原画像ファイル形式(例えばビット深度が14ビットである原画像)で画像を取り込む。そのような場合、捕えた画像は、媒体機器102のEBC回路108によって符号化することができる。媒体機器102の例は、限定されないが、デジタルカメラ、携帯式通信装置(例えばラップトップ、スマートフォン、タブレット、ファブレット、スマート時計、スマート眼鏡など)、媒体サーバー、ワークステーション、デスクトップコンピュータ、および拡張現実/仮想現実/混合現実(AR/VR/MR)機器を含むことができる
[0017] 図1には示さないが、媒体機器102はネットワークインターフェイスも含み、それは、符号化された画像および/または非圧縮の原画像および/または映像の共有を、他の周辺の機器または同じグルーブに接続された機器を用いて、通信ネットワーク(図1に示さない)を介して管理するように構成できる。ネットワークインターフェイスおよび通信ネットワークの詳細は、簡潔さのための本開示から省略する。
[0018] 画像センサ104は、適切な論理、回路およびインターフェイスを備え、それらは、画像センサ104の視界(FOV)のシーンの圧縮されていない原画像または圧縮されない原画像のシーケンスを取り込むように構成できる。画像センサ104は、相補型金属酸化膜半導体(CMOS)センサのような能動型ピクセルセンサとして実装することができる。いくつかの実施形態では、能動型ピクセルセンサの代わりに、画像センサ104は、受動型ピクセルセンサ(例えば電荷結合素子(CCD)センサ、過剰サンプリングされた2値画像センサ、平面フーリエ取込みアレイ(PFCA)、裏面照射型(BSIまたはBI)センサ)の1つとして実装することができる。図示しないが、画像センサ104は、専門のマイクロプロセッサ(またはマイクロコントローラ)も含み、それは、画像センサ104、メモリバッファに記憶された画像を処理するグラフィック処理ユニット(GPU)および/または画像センサ104に統合されたメモリからの画像データに従って動作するように構成されている。
[0019] プロセッサ106は、適切な論理、回路およびインターフェイスを備え、それらは、専用メモリ(例えばEBC回路108中の外部メモリ110またはオンチップメモリ)に記憶された定まった命令を実行するように構成できる。プロセッサ106は、本技術で公知の多くのプロセッサ技術に基づいて実装することができる。プロセッサ106の例には、限定されないが、グラフィカルな処理装置(GPU)、プロセッサ用の双対プロセッサ(例えば専門の画像双対プロセッサ用である)、専門のデジタル信号プロセサ、中央処理装置(CPU)、x84ベースのプロセッサ、x64ベースのプロセッサ、縮小命令セットコンピュータ(RISC)プロセッサ、特定用途向け集積回路(ASIC)プロセッサ、複合命令セットコンピュータ(CISC)プロセッサが含まれる。
[0020] EBC回路108は、適切な論理、回路およびインターフェイスを備え、それらは、複数の画像ブロック(例えば、16x9画像ブロックまたは8x4画像ブロック)を特定の圧縮因子に従って符号化し、さらに符号化された複数の画像ブロックをEBC回路108において受け取った命令に応じて復号化するように構成できる。複数の画像ブロックは、画像センサ104による走査に続いて画像センサ104から検索された入力画像(すなわち、圧縮されない原画像)または二次元(2D)ピクセルアレイの一部にすることができる。EBC回路108は、外部メモリ110中の符号化画像ブロック(複数可)のビットストリームの記憶をさらに管理することができ、または符号化画像ブロック(複数可)のビットストリームを、専用通信ネットワークを介して他の媒体機器(例えば携帯メディアプレイヤ)に転送するのを管理することができる。
[0021] EBC回路108は、媒体機器102の他の計算回路とインターフェイス接続された、専門のハードウェア符号器/復号器として実装することができる。そのような実装では、EBC回路108は、特定の計算回路上の特定の波形率に関連することができる。特定の計算回路の例は、限定されないが、標準マイクロプロセッサ(MPU)またはデジタル信号プロセッサ(DSP)に基づいて、フィールドプログラマブルゲートアレイ(FPGA)、プログラム可能論理回路(PLD)、特定用途向け集積回路(ASIC)、プログラム可能ASIC(PL-ASIC)、特定用途向け集積部品(ASSP)、およびシステムオンチップ(SOC)を含むことができる。別の実施形態に従って、EBC回路108はまた、グラフィカルな処理装置(GPU)とインターフェイス接続して、EBC回路108の動作を並列処理することができる。さらに別の実施形態に従って、EBC回路108は、媒体機器102のハードウェア回路上で、メモリに記憶されたプログラム可能な命令と、論理ユニット(またはプログラマブル論理ユニット)との組合せとして実装することができる。
[0022] 外部メモリ110は、適切な論理、回路およびインターフェイスを備え、それらは、入力画像(圧縮されていな原画像または符号化された画像))あるいは入力画像のシーケンスを記憶するように構成できる。外部メモリ110は、画像センサ104から検索された、非圧縮の原画像ブロック(2D)を記憶する画像バッファとして働くようにさらに構成できる。追加的に、外部メモリ110は、EBC回路108によって選択的に適用される一連の符号化/復号化方式に関連した命令を記憶し、これにより符号化画像ブロック(複数可)のビットストリームを発生することができる。典型的な実施形態では、外部メモリ110は、EBC回路108と外部的にインターフェイス接続できるダイナミックRAM(DRAM)回路にすることができる。別の典型的な実施形態では、外部メモリ110は、EBC回路108と外部的にインターフェイス接続できるスタティックRAM(SRAM)回路にすることができる。外部メモリ110の実装のさらなる例は、限定されないが、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、読み取り専用メモリ(EEPROM)、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、CPUキャッシュ、または安全なデジタル(SD)カードを含む。
[0023] 図1には示さないが、媒体機器102は、既知のコーデック基準によって実装できる映像コーデックなどをさらに含み、既知のコーデック標準は、高度な映像コーデック(AVC)/メディアエキスパート(MPEG4/AVC)またはH.264を含む、MPEG-4/HEVCまたはH.265などを含むことができる。追加的に、映像コーデックは、FFmpeg、Xvid、DIVx、VP1-9、Windowsメディアコーデック、FFavsなどを含む、他のコーデックライブラリによって支持することができる。
[0024] システムバス112は、媒体機器102の異なる構成部品に連結されたデータチャネル(または導電性パス)のセットを含み得る、ハードウェアバスにすることができる。別言すれば、システムバス112は、媒体機器102の異なる構成部品のデータポート、アドレスポートおよび制御信号ポートを相互に連結することができる。例えば、システムバス112は、画像センサ104、プロセッサ106、EBC回路108、外部メモリ110および他の回路を相互連結することができる。システムバス112は、媒体機器102に搭載された異なる構成部品間で、シリアルデータ通信または並列処理されたデータ通信を促進するように構成できる。システムバス112の例は、8ビットの並列単一システムバス、16ビットの並列単一のシステムバス、32ビットの並列単一システムバス、64ビットの並列単一システムバス、直列データバスなどを含むことができる。
[0025] 動作時、入力画像の複数の画像ブロック(すなわち2D画像ブロック)を媒体機器102の外部メモリ110によって受け取ることができる。いくつかの実施形態では、第1の画像ブロックは、媒体機器102に接続されたオンチップ画像センサ(たとえば、画像センサ104)またはカメラ機器からの複数の画像ブロックから順次検索することができる。他の実施形態では、複数の画像ブロックを、非圧縮の原画像の論理区画から検索することができ、非圧縮の原画像は、媒体機器102の永続的なメモリに記憶され、またはカメラ、データサーバなどのような他の媒体メモリから外部的に受け取ることができる。
[0026] EBC回路108は、外部メモリ110または画像センサ104からの複数の画像ブロックから第1の画像ブロックを連続して受け取るように構成できる。EBC回路108は、第1の画像ブロック上で一連の符号化方式を実行して、符号化画像ブロックのビットストリームを発生するように構成できる。同様に、EBC回路108は、複数の画像ブロック上で一連の符号化方式を実行して、入力画像の圧縮した画像データのビットストリームを発生するように構成できる。圧縮した画像データのビットストリームは、既に発生した符号化画像ブロックのビットストリームを含むことができる。圧縮した画像データのビットストリームはヘッダー情報を含み、ヘッダー情報は、複数の画像ブロックの符号化段階において一連の符号化方式が適用され、圧縮した画像データのビットストリームを得ることを示す。一連の符号化方式は、前方変換を順次適用することを含み、量子化、残差予測、および1つまたは複数のエントロピ符号化方式が後に続くことができる。一連の符号化方式では、EBC回路108は、入力画像の複数の画像ブロックから第1の画像ブロックを選択するようにさらに構成できる。その後、EBC回路108は、第1の画像ブロック上に前方変換を適用して、複数の変換係数を発生するように構成できる。
[0027] 実施形態に従って、前方変換は、入力画像の複数の画像ブロック中の第1の画像ブロック上に、一次元行直接の余弦変換(1D行DCT)および1D列変換DCTを順次適用する。1D行DCTの後に1D列DCTが続くような適用は、行・列DCT方法と呼ぶことができる。行・列DCT方法では、第1の画像ブロックのための2D DCTが、1D行DCTおよび1D列DCTを順次適用することによって計算できる。ここで、1D行DCTの適用は、第1の画像ブロックの各行上に1D DCT変換を適用することに対応して、複数の行的変換係数を発生することができ、1D列DCTの適用は、行的変換係数のブロックの各列上への1D DCTの適用に対応して、複数の変換係数を発生することができる。
[0028] 実施形態に従って、前方変換は、正弦曲線の単一変換(それは、正規直交基底または固有ベクトルのファミリを含む)のファミリに基づくことができる。1Dの前方変換の例は、限定されないが、I-VIII離散余弦変換(DCT)タイプ、I-VIII離散正弦変換タイプ(DST)、離散ウェーブレット変換(DWT)、および双対木複数ウェーブレット変換(DCWT)を含むことができる。
[0029] 実施形態に従って、第1の画像ブロックは、YCbCr色空間における、輝度画像ブロック、クロマブルー画像ブロックまたはクロマレッド画像ブロックの組合せとして表わすことができ、そのような場合に、EBC回路108は、行・列DCT方法のような前方変換を、輝度画像ブロック、クロマレッド画像ブロックおよびクロマブルー画像ブロック上に別々に適用して、ルマブロック、クロマUブロックおよびクロマVブロックを発生するように構成できる。
[0030] EBC回路108は、第1の画像ブロックのための複数の変換係数を量子化して複数の量子化変換レベルを発生するようにさらに構成できる。同様に、第1の画像ブロック以外の画像ブロック用の変換係数をさらに量子化して、対応する複数の量子化変換レベルを発生することができる。したがって、EBC回路108は、複数の画像ブロック中の各画像ブロック用の複数の変換係数を連続して量子化した後に、量子化変換レベルの複数のブロックを発生するように構成できる。
[0031] 実施形態に従って、EBC回路108は、ルナブロック、クロマUブロックおよびクロマVブロックの各々における複数の変換係数を量子化して、対応する複数の量子化変換レベルを発生するように構成できる。複数の量子化変換レベルは、複数の離散した量子化ビンによって互いに分離することができる。複数の量子化ビンのための刻み幅は、1Dサブブロックの変換係数を複数の量子化変換レベルに効率的に量子化するために、さらに適応して(または一様に)選択することができる。各量子化変換レベルは、量子化ビンの上界および下限から中央値にすることができ、例えば「(155,175)」量子化ビンは、量子化変換レベル「(155+175)/2」、(すなわち「165」を含むことができる。量子化により、EBC回路108は、変換ドメインデータ(すなわち、第1の画像ブロックのための複数の変換係数)から、視覚的に顕著な品質低下なしに、冗長な係数情報を除去することができる。
[0032] 複数の量子化ビンは、量子化パラメータ(QP)に基づいて決定することができ、量子化パラメータは、適応量子化方式に従って定めた割合につれて変動して、メディアコンテンツを符号化しまたは復号化することができる。QPは、符号化画像ブロック(すなわち、2D画像ブロック)のビットストリームにおいて、0からビット深度まで変動することができる。例えば、圧縮した画像ブロックの8ビットのビットストリームのためのQPは、変換係数の第1のブロック用に「7」として、変換係数の第2のブロック用に「0」として選択することができ、それが示唆するのは、変換係数の第1のブロックは、第2のブロックよりも微細な刻み幅で量子化され、第2のブロックは、全く量子化されない場合があるということである。
[0033] EBC回路108は、量子化変換レベルの複数のブロック上に残りの予測方式を適用するようにさらに構成でき、その場合、各ブロックは、第1の画像ブロックのような対応する2D画像ブロック用の複数の量子化変換レベルを含むことができる。残差予測方式を適用した後、量子化変換残留レベルの複数のブロックは、量子化変換レベルの複数のブロックから得ることができる。実施形態に従って、EBC回路108は、残差予測方式を、複数の画像ブロック中の第1の画像ブロックのためのルマブロック、クロマUブロックおよびクロマVブロック内の複数の量子化変換レベル上に選択的に適用するように構成できる。例として、残差予測方式を選択的に適用することは、ルマブロックのDC量子化変換レベル(複数可)のみが符号化されたパルス符号変調(PCM)であり、クロマUおよびクロマVブロックの全てのDCおよびAC量子化変換レベルはPCM符号化されることを含み得る。
[0034] 対応する複数の画像ブロックのための量子化変換残留レベルの複数のブロックは、EBC回路108内の外部メモリ110またはオンチップメモリ(例えば、専用SRAMまたはオンチップキャッシュ)のようなメモリに記憶することができる。残差予測方式の例は、限定されないが、PCM方式、差動パルス符号変調(DPCM)方式または適応性DPCM(ADPCM)方式を含む。DPCM方式およびADPCM方式では、各量子化変換レベルを利用する代わりに、残余は、参照量子化レベルから予測される。
[0035] 第1のブロックは、複数の量子化変換残留レベルを含むことができ、さらにDC量子化変換残留レベルおよび複数のAC量子化変換残留レベルを含むことができる。例えば、「64」の量子化変換残留レベルから成る「8x8」ブロックは、「1」のDC量子化変換残留レベルと、「63」のAC量子化変換残留レベルとを含む。ここで、「DC」および「AC」は、ゼロ周波数および非ゼロ周波数を示す量子化変換残留レベルをそれぞれ表す。言い換えれば、「DC」は、画像ブロックまたはサブブロック中の第1の期間である直流(DC)期間であるのでゼロ周波数を表し、残りの成分は、非ゼロ周波数を示す交流(AC)期間(AC値またはAC係数とも呼ばれる)として公知であり、画像圧縮ドメインにおいて周知である。したがって、AC量子化変換残留レベルはAC係数の量子化変換残留レベルに対応し、DC量子化変換残留レベルはDC係数の量子化変換残留レベルに対応する。
[0036] 実施形態に従って、EBC回路108は、複数の量子化変換残留レベルの第1のブロックにおける絶対値のヒストグラム分布を計算して、第1のブロック内の複数の量子化変換残留レベルをエントロピ符号化するように構成できる。ヒストグラム分布は、第1のブロック内の複数の量子化変換残留レベルにおける絶対値の変動の広がりを示すことができる。別言すれば、ヒストグラム分布は、量子化変換残留レベルの範囲を表わす異なるビンを含むことができ、複数の量子化変換残留レベルの各々は、適切なビンに割り当てることができる。異なるビンは、対応するビンに割り当てた量子化変換残留レベルの総数を表すことができる。ヒストグラム分布は、EBC回路108によって利用して第1のブロック内の複数の量子化変換残留レベルを分類することができる。
[00037] EBC回路108は、第1のブロック内の複数の量子化変換残留レベルを、量子化変換残留レベルの第1のセットおよび量子化変換残留レベルの第2のセットに分類するように構成できる。分類は、複数の量子化変換残留レベル中の各量子化変換残留レベルと閾値レベル値との比較に基づいて行うことができる。例えば、第1のセットは、絶対値が「5」(すなわち閾値レベル値)よりも大きい全ての量子化変換残留レベルを含むことができ、第2のセットは、絶対値が5(すなわち閾値レベル値)よりも小さい又はこれと等しい全ての量子化変換残留レベルを含むことができる。
[0038] 分類は論理的分類にすることができ、その場合、第1のブロック内の複数の量子化変換残留レベルは、量子化変換残留レベルを分類主導で再配置することなく、依然として単独のブロックとして処理することができる。エントロピ符号化段階において、EBC回路108は、第1のブロック内の特定の位置における量子化変換残留レベルが量子化変換残留レベルの第1のセットまたは量子化変換残留レベルの第2のセットに属するかどうかを検出する必要があっても良い。EBC回路108が第1のブロックを走査している間に、量子化変換残留レベルは、量子化変換残留レベルの第1のセットからであると識別されるときはいつでも、EBC回路108は、そのような量子化変換残留レベルに、第1のエントロピ符号化方式(例えばハフマンエントロピ符号化方式)を適用するように構成できる。EBC回路108が第1のブロックを走査している間に、量子化変換残留レベルは量子化変換残留レベルの第2のセットからであると識別されるときはいつでも、EBC回路108は、第1のエントロピ符号化方式(例えばハフマンエントロピー符号化方式)に基づいてスキップコードを発生するように構成できる。スキップコードはトリガーコードとして働くことができ、トリガーコードは、検出された(例えば符号器回路または復号器回路によって)とき、現在走査されている量子化変換残留レベル(またはビットの符号化された部分)は、量子化変換残留レベルの第2のセットに属し、絶対値が閾値レベル値よりも大きいことを表す。その後、EBC回路108は、第2のエントロピ符号化方式(例えば、k番目の順序指数関数的Golombエントロピ符号化方式)を、対応する量子化変換残留レベルのスキップコードが発生した後、量子化変換残留レベルの第2のセット中の各量子化変換残留レベルに適用するように構成できる。第1のエントロピ符号化方式、または第1のエントロピ符号化方式(スキップコードを発生するための)と第2のエントロピ符号化方式との組合せは、第1のブロック内でEBC回路108によって後に続くDCからACの走査順序に従って、第1のブロック内の複数の量子化変換残留レベル上に適用することができる。DCからACの走査シーケンスは、第1のブロックにおいて、DC量子化変換残留レベルが走査されて、AC量子化変換残留レベルが後に続く走査シーケンスにすることができる。こうして、異なるエントロピ符号化方式を、量子化変換残留レベルの位置に基づいて、第1のブロックにおいてDCからACに走査順序に従って選択的に適用することは、第1のブロック中の複数の量子化変換残留レベル向けの位置依存エントロピ符号化方式と呼ぶことができる。
[0039] EBC回路108は、符号化画像ブロックのビットストリームを、量子化変換残留レベルの第1のセット上に第1のエントロピ符号化方式を、量子化変換残留レベルの第2のセット上に第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せを選択的に適用することによって発生するようにさらに構成できる。スキップコードは、ビットストリームの一部にすることができ、量子化変換残留レベルの第2のセットに属し得る、量子化変換残留レベルに関連したコード(量子化変換残留レベルを表すビットのセット)に先行する。
[0040] 例えば、「4x4」ブロックは「16」の量子化変換残留レベルを含むことができ、そのうち「9」の量子化変換残留レベルは、絶対値が「5」よりも大きく、「7」の量子化変換残留レベルは絶対値が「5」よりも小さい又はこれと等しい。EBC回路108は、ハフマンエントロピ符号化方式を適用することによって「9」の量子化変換残留レベルを符号化して、「3ビット/コード」の「9」ハフマンコード(またはコード)すなわち合計「27ビット」から成るビットストリームを発生するように構成できる。「7」の量子化変換残留レベルの絶対値が「5」よりも大きいので、ハフマンコードは、そのような量子化変換残留レベルを符号化するためにより多くのビットを取得することができる。従って、EBC回路108は、「2ビット」のスキップコードを発生し、量子化変換残留レベルと閾値レベル値との差(例えば、「7」-「5」または「2」)を符号化し、符号化は、指数関数的Golomb方式を、量子化変換残留レベル(「7」の量子化変換残留レベルから)と閾値レベル値との差に適用することによって行うように構成できる。指数関数的Golombエントロピ符号化方式は、小さい値を符号化するために他のエントロピ符号化方式よりも少ないビットを使用/利用することができ、「7」の量子化変換残留レベルは、レベルごとに「3」のビットによって符号化することができる。したがって、「7」の量子化変換残留レベルは、レベルごとに「3」のビットおよびスキップコードごとに追加の「2」のビット、すなわち合計「35」ビットによって符号化することができる。ハフマンコードは、「7」の量子化変換残留レベルのために、レベルごとに「5」以上のビットを使用し、従って、位置ベースのエントロピ符号化は、量子化変換残留レベルの第1のブロックを符号化するためにビットの量を減らし、それは、量子化変換残留レベルの第1のブロックのための圧縮因子を増すのを支援することができる。
[0041] 実施形態に従って、EBC回路108のEBC復号器回路(図1に示さない)が、異なる符号化テーブル(例えば、ハフマンエントロピ符号化方式、指数関数的Golombエントロピ符号化方式などのためのカスタム符号化テーブル)および量子化テーブルを予め記憶するように構成できる。従って、符号化画像ブロックのビットストリームは、異なる符号化テーブルおよび量子化テーブルを含む必要がないようにできる。実施形態に従って、EBC回路108は、符号化画像ブロックのビットストリームを発生し、結果としてビットストリームが符号化画像ブロックのビットストリームを復号化するために異なる符号化方式を利用する外部復号器によって復号化可能であるように構成できる。そのような場合には、EBC回路108は、ヘッダー情報または符号化画像ブロックのビットストリームに関連する異なる後続流れにおいて、異なる符号化テーブル(例えば、ハフマンエントロピ符号化方式、指数関数的Golombエントロピ符号化方式などのためのカスタム符号化テーブル)および量子化テーブルを追加するように構成できる。ビットストリームにおけるそのようなカスタムテーブルおよび量子化テーブルの追加によって、EBC回路108の出力は、他の復号器回路によって復号化可能にできる。
[0042] 実施形態に従って、符号化画像ブロックのビットストリームは、入力画像(例えば、2D画像)の一部として、外部メモリ110のようなメモリまたはEBC回路108内のオンチップメモリに記憶することができる。符号化画像ブロックのビットストリームには、異なる用途で多数の実装があり得る。実装のうちのいくつかは本明細書に簡単に説明した。1つの実装では、プロセッサ106は、符号化1D画像ブロックのビットストリームを、システムバス112を介して、媒体機器102のシステムバス112に通信可能に連結された(または接続された)ディスプレイ回路(例えばビデオカード)のフレームバッファー(またはフレーム記憶)に転送するように構成できる。フレームバッファーは、ディスプレイ回路のための圧縮したフレームバッファーとして働くことができる。ディスプレイ回路(図1に示さない)は、画像ブロックのビットストリームを復号化してさらに利用して、媒体機器102のディスプレイスクリーン上に画像のパッチを表示することができる。別の実装では、プロセッサ106は、符号化画像ブロックのビットストリームをシステムバス112を介して復号器バッファに転送するように構成でき、復号器バッファは、例えば媒体機器102内にある映像復号器の復号器画像バッファ(DPB)、画像復号器用のバッファメモリーまたは映像コーデックの符号化された画像バッファ(CPB)である。
[0043] 典型的な実装では、媒体機器102は、デジタルビデオカメラまたはデジタル画像カメラのようなカメラにすることができ、また符号化画像ブロックのビットストリームは、カメラ内のCMOSセンサから直接受け取るピクセル値の2Dアレイに対応することができる。特定のシナリオでは、EBC回路108は、CMOSセンサ回路に実装することができる。EBC回路108の詳細な動作は、例えば図2、図3および図4にさらに詳しく記載する。
[0044] 図2は、開示の実施形態に従って、様々な周辺の構成部品を有する、残留レベルデータの位置依存エントロピ符号化のための組込みコーデック(EBC)回路を示すブロック図である。図2は図1からの要素とともに説明する。図2を参照すると、EBC回路108のブロック図解200が示される。EBC回路108は、入力/出力(I/O)インターフェイス202、オンチップメモリ204、符号器回路206および復号器回路208を含むことができる。ブロック図解200には、画像センサ104、プロセッサ106および外部メモリ110も示され、これらは、システムバス112によってEBC回路108に通信可能に連結されている。いくつかの実施形態では、プロセッサ106および外部メモリ110は、開示の範囲から逸脱することなく、EBC回路108内に実装することができる。
[0045] 入出力インターフェイス202は、適切な論理、回路およびインターフェイスを備え、これらは、複数のI/Oポートを管理して、システムバス112を介して他の周辺の回路(例えば外部メモリ110、プロセッサ106または画像センサ104)からの通信データの交換を促進するように構成できる。通信データは、符号化画像ブロック、制御信号、CPU命令などのビットストリームを含むことができる。I/Oポートの構成は、EBC回路108の仕様、例えばASIC、FPGAまたはSoCチップ内の物理的なI/Oピンに依存することができる。
[0046] オンチップメモリ204は、異なる動作上のデータ(例えば、ドメインデータ、残留レベル、量子化レベル、エントロピ符号化ビットなど)を記憶するように構成できる、適切な論理、回路およびインターフェイスを備え、動作上のデータは、EBC回路108の異なる構成部品によって画像ブロックを符号化するために利用できる。オンチップメモリ204が記憶するように構成できる動作上のデータの例は、限定されないが、符号化画像ブロックのビットストリーム、変換ドメインデータ、量子化変換レベル、量子化変換残留レベルおよび1D/2D画像ブロックを含むことができる。オンチップメモリ204は、R/W速度、記憶容量、組立て要因などのような、定めたメモリ仕様で設計された特定のメモリとして実施することができる。オンチップメモリ204の例は、限定されないが、静的ランダムアクセスメモリ(SRAM)、動的アクセスメモリ(DRAM)および静的動的RAM(SD-RAM)を含むことができる。
[0047] 符号器回路206は、画像ブロックのビットストリームを発生するように構成できる適切な論理、回路およびインターフェイスを備え、発生には、画像ブロック上で、オンチップメモリ204または外部メモリ110のようなメモリに記憶された一連の符号化方式(位置依存エントロピー符号化方式を含む)を順次適用する。符号器回路206は、量子化変換残留レベルのブロック(画像ブロックに対応する)を符号化するために使用できるビットの数を減らすために最適化でき、入力された画像ブロックの圧縮効率および/または圧縮因子を改善する。いくつかの実施形態では、符号器回路206はハードウェア符号器チップにすることができ、符号器チップは、ASIC、プログラム可能論理回路(PLD)、SOC、FPGA、デジタル信号プロセサ(DSP)または他の専門化された回路の1つに基づいて実装することができる。他の実施形態では、符号器回路206は、ハードウェアと、オンチップメモリ204に記憶された命令(例えば、VHDL論理またはHDL論理に基づいた命令)のセットとの組合せとして実装することができる。
[0048] 復号器回路208は、符号化画像ブロックのビットストリームを、ビットストリーム中のヘッダー情報およびスキップコードのセットに基づいて復号化するように構成できる、適切な論理、回路およびインターフェイスを備え、それにより量子化変換残留レベルを、異なるセット、例えば量子化変換残留レベルの第1のセットおよび量子化変換残留レベルの第2のセットに分類することがトリガーされる。復号器回路208は、予め記憶した量子化テーブルおよび符号化テーブルを有することができ、両テーブルは、復号器回路208が、符号化画像ブロックのビットストリームを復号化するためにための参考として働くことができる。いくつかの実施形態では、復号器回路208はハードウェア符号器チップにすることができ、符号器チップは、ASIC、プログラム可能論理回路(PLD)、SOC、FPGA、デジタル信号プロセサ(DSP)または他の専門化された回路の1つに基づいて実装することができる。他の実施形態では、復号器回路208は、ハードウェアと、オンチップメモリ204内に記憶されたセットの命令(例えばVHDL理論またはHDL論理に基づいた命令)との組合せとして実装することができる。
[0049] 動作時、複数のブロックの量子化変換残留レベルが、入力画像の複数の画像ブロックから発生し、さらに外部メモリ110またはオンチップメモリ204のようなメモリに記憶することができる。複数のブロックは、入力画像のパッチとも呼ばれる、複数の画像ブロックに対応する残留レベルデータにすることができる。量子化変換残留レベルの複数のブロックは、量子化が後に続く1D前方変換と、量子化変換レベルの複数のブロックのための残差予測とに基づき発生することができる。例えば、「1280x720」の入力画像は、「80」「16x9」の画像ブロックを有する。符号器回路206は、量子化変換残留レベルの複数の「16x9」ブロックを発生し、発生は、「80」画像ブロックの各「16x9」画像ブロック上に、「16x1」行DCT-II変換、「16x1」列DCT-II変換を順次適用すること、「7」の量子化パラメータによる量子化、後に続く「80」画像ブロックの各「16x9」ブロック内での量子化変換レベルのPCM符号化によって起こる。
[0050] 複数のブロックの量子化変換残留レベルをエントロピ符号化するために、符号器回路206は、外部メモリ110またはオンチップメモリ204のようなメモリから、複数のブロック中の第1のブロックを検索するように構成できる。第1のブロックは、DC量子化変換残留レベルおよび複数のAC量子化変換残留レベルを含むことができ、例えば「16x16」ブロックは、1つのDC量子化変換残留レベルと、「15」のAC量子化変換残留レベルとを有することができる。
[0051] 所定の実施形態では、第1のブロックは、対応する画像ブロックが輝度画像ブロックであればルマブロックであり、第1のブロックは、対応する画像ブロックがクロマ画像ブロックであれば、クロマUブロックまたはクロマVブロックである。さらに、第1のRGB画像ブロックのために、符号器回路206は、RGB(またはBGR)画像ブロックをルマブロック、クロマUブロックおよびクロマVブロックに変換するように構成できる。ルマブロック、クロマUブロックまたはクロマVブロック内のAC量子化変換残留レベルの絶対値は、パターンに従って変動することができ、パターンは、高周波のAC量子化変換残留レベルおよび低周波のAC量子化変換残留レベルを有する特定の領域を表すことができる。
[0052] 第1のブロック内でのDC量子化変換残留レベルおよびAC量子化変換残留レベルの位置は、方向(例えば走査順序)に基づくことができ、方向は、第1の画像ブロック(第1のブロックに対応する)において1D列変換および1D列変換を複数のピクセル値上に連続して適用するために選択されている。例えば、1D列DCT変換の適用により、第1の位置にDC変換係数が発生し、第1のブロック内の異なる列中の引き続く位置に残りのAC変換係数が発生する。同様に、1D行変換を適用した後に1D列DCT変換を連続して適用することにより、第1の位置にDC変換係数が発生し、第1のブロック内の異なる列の引き続く位置に残りのAC変換係数が発生する。
[0053] 符号器回路206は、複数のブロック中の第1のブロック内の複数の量子化変換残留レベルを、量子化変換残留レベルの第1のセットおよび量子化変換残留レベルの第2のセットに分類するように構成できる。複数の量子化変換残留レベルの分類は、複数の量子化変換残留レベル中の各量子化変換残留レベルと、閾値レベル値との比較に基づいて行うことができる。比較は、第1のブロック内の複数の量子化変換残留レベル中の各量子化変換残留レベルの絶対値が、閾値レベル値よりも小さい、これと等しいまたはこれよりも大きくても、検査に対応することができる。実施形態に従って、量子化変換残留レベルの第1のセットの中の各量子化変換残留レベルの絶対値は、閾値レベル値よりも小さく、これと等しくまたはこれよりも大きくできる。実施形態に従って、量子化変換残留レベルの第2のセット中の各量子化変換残留レベルの絶対値は、閾値レベル値よりも大きい。
[0054] 実施形態に従って、符号器回路206は、第1のブロック(例えばルマブロック、クロマUブロックまたはクロマVブロック)内に複数の量子化変換残留レベルのヒストグラム分布を発生するように構成できる。ヒストグラム分布は複数のビンを有することができ、例えば、第1のビンは、量子化変換残留レベルの絶対値のための範囲「[0および5]」(「5」を含む)]を有することができる。後続のビンは、範囲「[0および5]」よりも大きい状態にある量子化変換残留レベルの絶対値を含むことができる。符号器回路206は、絶対値が第1ビンの範囲内にある量子化変換残留レベルを、量子化変換残留レベルの第1のセットに分類するように構成できる。同様に、符号器回路206は、絶対値が第1のビンの範囲よりも大きい量子化変換残留レベルを、量子化変換残留レベルの第2のセットに分類するように構成できる。
[0055] 符号器回路206は、第1のエントロピ符号化方式を量子化変換残留レベルの第1のセット上に適用し、および第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せを量子化変換残留レベルの第2のセット上に適用するようにさらに構成できる。第1のエントロピ符号化方式の適用、または第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せの適用は、第1のブロックにおけるDCからACの走査順序に実装することができる。第1のブロック内でのDCからACの走査順序は、第1のブロックにおいてDC量子化変換残留レベルが走査され、AC量子化変換残留レベルの走査が後に続く走査シーケンスにすることができる。より具体的には、DCからACの走査命令が続いて起こることによって、符号器回路206は、第1のエントロピ符号化方式と第2のエントロピ符号化方式との間で切り換わるように構成できる。切換えは、第1のブロックにおける量子化変換残留レベル(DCまたはAC)の位置、第1のブロック内の特定位置において、量子化変換残留レベルが量子化変換残留レベルの第1のセットまたは量子化変換残留レベルの第2のセットにあるかどうかに、基づくことができる。
[0056] 実施形態に従って、第1のエントロピ符号化方式は、ハフマンエントロピ符号化方式にすることができ、第2のエントロピ符号化方式は、指数関数的Golombエントロピ符号化方式にすることができる。符号器回路206は、量子化変換残留レベルの第1のセットを、予め特定されたハフマンテーブルのセットに基づいて符号化するようにさらに構成できる。量子化変換残留レベルの第1のセットは、ハフマンエントロピ符号化方式に従ってエントロピ符号化することができる。予め特定されたハフマンテーブルのセットは、デフォルトハフマンテーブルの第1のセットおよび位置特異的なハフマンテーブルの第の2セットを含むことができる。
[0057] 実施形態に従って、予め特定されたハフマンテーブルのセットは、第1の位置特異的なハフマンテーブル(「T0」)、第2の位置特異的なハフマンテーブル(「T1」)、第3の位置特異的なハフマンテーブル(「T2」)を含む。さらに、予め特定されたハフマンテーブルのセットは、ルマブロック用の第1のデフォルトハフマンテーブル(「T3」)、クロマUブロックまたはクロマVブロック用の第2のデフォルトハフマンテーブル(「T4」)を含む。表1は、予め特定されたハフマンテーブルの表を以下のように示す。
Figure 0007020466000001

表1:予め特定されたハフマンテーブル
[0058] 表1において、異なる量子化変換残留レベルすなわち「0」、「1」、「-1」、abs(「2」)、abs(「3」)、abs(「4」)およびabs(「5」)のためのハフマンコードが、T0、T1、T2、T3およびT4にそれぞれ与えられる。追加的に、スキップコードのためのハフマンコードが発生し、発生は、第1のブロックにおいてDCからACの走査順序の特定位置で検出された量子化変換残留レベルが、閾値(例えば閾値「5」)よりも大きいとき起こる。デフォルトハフマンテーブルおよび位置特異的なハフマンテーブルの選択は、エントロピ符号化段階において符号器回路206によって、後に続く異なる規則に基づいて行なうことができる。規則は本明細書で検討した。
[0059] 実施形態に従って、符号器回路206は、デフォルトハフマンテーブルの第1のセット(例えば、テーブルT1、T3またはT4に示す)からデフォルトハフマンテーブルを選択して、第1のブロックにおいてDCからACの走査順序に従って、量子化変換残留レベルの第1のセットを符号化するように構成できる。デフォルトハフマンテーブルの第1のセットは、量子化変換残留レベルが、エントロピ符号化段階においてルマブロックおよびクロマ(UまたはV)ブロックからデフォルトテーブルとして選択されるときは、デフォルトテーブルとして選択することができる。デフォルトハフマンテーブルの第1のセットが選択された場合、異なる位置における量子化変換残留レベルは、第1のブロック内の量子化変換残留レベルの絶対値に対応して一覧表示されたハフマンコードによって符号化することができる。
[0060] 実施形態に従って、デフォルトハフマンテーブルが、デフォルトハフマンテーブルの第1のセット(例えば、表1に示したT3またはT4)から選択され、第1のブロック内の現在位置における特定の量子化変換残留レベルためのハフマンコードを発生することができ、これは、以前に符号化された量子化変換残留レベルの絶対値が、「5」のような閾値レベル値よりも大きいときはいつでも起こる。実施形態に従って、符号器回路206は、位置特異的なハフマンテーブルの第2のセット(例えば表1、T0、T1およびT2に示す)から、第1のブロック内の各量子化変換残留レベルの特定位置に基づいて、位置特異的なハフマンテーブルを選択するようにさらに構成できる。位置特異的なハフマンテーブルは、量子化変換残留レベルの第1のセットを符号化するために、第1のブロック内でのDCからACの走査順序に従って選択することができる。
[0061] 例えば、量子化変換残留レベルの「4x4」ブロックは、以下のように与えることができる。
Figure 0007020466000002
ブロック(B)では、「4x4」すなわち「16」の量子化変換残留レベルがあり、その場合第1の量子化変換残留レベルは、値が「-21」であるDC量子化変換残留レベルであり、残りの量子化変換残留レベルは、AC量子化変換残留レベルである。ブロック(B)をエントロピ符号化するために、ブロック(B)内の複数の量子化変換残留レベルは、第1のセットおよび第2のセットに分類されている。第1のセットは、「5」よりも小さいまたはこれと等しい量子化変換残留レベルの絶対値、すなわち「0、0、0、0、0、0、1、1、1、2、3、5および5」を有することができる。同様に、第2のセットは、「5」よりも大きい量子化変換残留レベルの絶対値、すなわち「6、7および21」を有することができる。
[0062] 符号器回路206は、ブロック(B)をDCからACの走査順序に走査し、それにより、ブロック(B)内の量子化変換残留レベルが符号器回路206によってアクセス可能なシーケンス(または位置)が特定されるように構成できる。その後、符号器回路206は、現在位置において量子化変換残留レベルが第1のセットまたは第2のセットの何れからであるかに基づいて、ハフマンエントロピ符号化方式、またはハフマンエントロピ符号化方式と指数関数的Golombエントロピ符号化方式との組合せを選択的に適用するように構成できる。現在位置では、量子化変換残留レベルが第1のセットの一部である場合、符号器回路206は、量子化変換残留レベルのためのハフマンコードを、デフォルトハフマンテーブル(例えば、ブロック(B)がルマブロックまたはクロマブロックの場合)に基づいて発生するように構成できる。
[0063] 実施形態に従って、DCからACの走査順序では、符号器回路206は第1のブロック内の現在位置での量子化変換残留レベルは、量子化変換残留レベルの第2のセットの一部であると識別するように構成できる。そのような場合、符号器回路206は、量子化変換残留レベルの第2のセット中の各量子化変換残留レベル用のスキップコードを、第1のエントロピ符号化方式、例えばハフマンエントロピ符号化方式に従って発生すようにさらに構成できる。スキップコードの発生により、復号器回路208は、復号化段階において、各量子化変換残留レベルを、量子化変換残留レベルの第1のセットまたは量子化変換残留レベルの第2のセットに分類することが可能になる。
[0064] スキップコードの発生後、符号器回路206は、量子化変換残留レベルの第2のセット上に第2のエントロピ符号化方式(例えば、指数関数的Golombエントロピ符号化方式)を適用することに基づいて、量子化変換残留レベルの第2のセットを符号化するように構成できる。指数関数的Golombエントロピ符号化方式は、k番目順序の指数関数的Golombエントロピ符号化方式にすることができ、その場合kの値は、画像ブロックのコンテンツに基づいて予め定めまたは適応させることができる。各量子化変換残留レベルは、量子化変換残留レベルの第2のセット中の各量子化変換残留レベル用のスキップコードが発生した後に、符号化することができる。量子化変換残留レベルの第2のセットの中の各量子化変換残留レベル用に符号化されたコードが後に続くスキップコードを連続して発生することは、第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せの適用に対応することができる。
[0065] いくつかの実施形態において、表1に示すように、量子化変換残留レベルの第2のセット中の量子化変換残留レベルのために、スキップコードは、予め特定されたハフマンテーブルのセットに基づいて(ハフマンエントロピ符号化方式の適用とも呼ばれる)発生することができる。その後、符号器回路206は、同じ量子化変換残留レベル用に、指数関数的Golombコードを発生するように構成できる。代替的に、量子化変換残留レベルが閾値レベル値(例えば「5」)よりも大きいことをスキップコードが既に示すので、符号器回路206は、量子化変換残留レベルと閾値レベル値との間の絶対差用に指数関数的Golombコードを発生するように構成できる。したがって、復号器回路208は、スキップコード用の符号化された量子化変換残留レベルが復号化段階で検出されたときはいつでも、指数関数的Golombコードを、量子化変換残留レベルの実際の値と閾値レベル値との間の絶対差として扱うように構成できる。
追加的に、指数関数的Golombコードは復号化することができるので、閾値レベル値の追加により、量子化変換残留レベルは再び実際の値に戻ることができる。そのような場合、指数関数的Golombエントロピ符号化方式の実装により、特に指数関数的Golombエントロピ符号化方式の適用のための符号器回路206への入力がより小さい入力値(例えば、典型的に「0~3」の範囲)を含むとき、ハフマンエントロピ符号化方式と比較して、使用するビット数がより少なくできる。
[0066] 符号器回路206は、符号化画像ブロックのビットストリームを発生し、発生は、第1のエントロピ符号化方式、および第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せを適用することによって、第1のブロック内で続いて起こるDCからACの走査順序に従って起こるように構成できる。いくつかの実施形態では、発生したビットストリームは、後の段階に媒体機器102で使用するために、オンチップメモリ204および外部メモリ110のようなメモリに記憶することができる。他の実施形態では、発生したビットストリームは、EBC回路108の内部の復号器回路208、あるいは外部の映像コーデックまたは画像コーデック回路に直接伝達することができる。符号器回路206および実装したエントロピ符号化方式の詳細は、例えば図3A、図3B、図4Aおよび図4Bにさらに詳しく記載する。
[0067] 図3Aおよび図3Bは、開示の実施形態に従って、一緒に、入力画像ブロックの量子化変換残留レベルのブロックのための、第1のヒストグラム分布および第2のヒストグラム分布を描いている。図3Aおよび図3Bを参照すれば、第1のヒストグラム分布300Aおよび第2のヒストグラム分布300Bが示される。
[0068] 図3Aを参照して、符号器回路206は、サンプルごとに「4」ビットのようなサンプルごとに特定のビットにおいて、第1のヒストグラム分布300Aを発生するために、量子化変換残留レベルのルマブロック(すなわち第1のブロック)を走査する(DCからACの走査順序にしたがって)ように構成できる。第1のヒストグラム分布300Aは、ルマブロック(すなわち第1のブロック)の量子化変換残留レベル(Y軸線に沿って表わす)の総数を、「5」のような特定のビンサイズである異なるヒストグラムビン(X軸に沿って表わす)に与える。示すように、1D行DCT変換および1D列DCT変換を適用した後に、量子化変換残留レベルの最大数は「0」から「5」の範囲にあり、量子化変換残留レベルの残りの数は値「5」よりも大きい。したがって、ヒストグラム分布に基づいて、符号器回路206は、閾値レベル値「5」を設定するように構成できる。ルマブロック内では、「5」よりも小さいまたはこれと等しい全ての量子化変換残留レベルは、ハフマンエントロピ符号化方式の適用を受けることができる。残りの量子化変換残留レベルは、ハフマンエントロピ符号化方式の適用を受けて、スキップコードを発生することができ、スキップコードは、絶対値が閾値レベル値「5」よりも大きい、量子化変換残留レベル(復号器回路208または符号器回路206における)の存在を独自に示すことができる。その後、対応する量子化変換残留レベルのための各スキップコードのために、符号器回路206は、ルマブロック内の対応する量子化変換残留レベルのために指数関数的Golombコードを発生するように構成できる。
[0069] 図3Bを参照して、クロマブロック(すなわち第1のブロック)の量子化変換残留レベルを走査して(DCからACの走査順序にしたがって)、符号器回路206は、サンプルごとに「4」ビットのようなサンプルごとに特定のビットで第2のヒストグラム分布300Bを発生するように構成できる。第2のヒストグラム分布300Bにより、クロマUブロックまたはクロマVブロックの量子化変換残留レベル(Y軸に沿って表わす)の総数が、「5」のような特定のビンサイズの異なるヒストグラムビン(X軸に沿って表わす)内に与えられる。示すように、1D行DCT変換および1D列DCT変換を適用した後に、量子化変換残留レベルの最大数は範囲「0」~「5」にあり、量子化変換残留レベルの残りの数は値「5」よりも大きい。したがって、ヒストグラム分布に基づいて、符号器回路206は、「5」のような閾値レベル値を設定するように構成できる。クロマブロック内では、「5」よりも小さい全ての量子化変換残留レベルは、ハフマンエントロピ符号化方式の適用を受けることができる。残りの量子化変換残留レベルは、ハフマンエントロピ符号化方式の適用を受けてスキップコードを発生することができ、スキップコードは、絶対値が閾値レベル値「5」よりも大きい量子化変換残留レベルの存在(復号器回路208または符号器回路206における)を独自に示すことができる。その後、対応する量子化変換残留レベル用の各スキップコードに代えて、符号器回路206は、ルマブロック内で対応する量子化変換残留レベルための指数関数的Golombコードを発生するように構成できる。
[0070] 図4Aは、開示の実施形態に従って、図2のEBC回路による残留レベルデータの位置依存エントロピ符号化のための典型的な動作を図示するフローチャートである。図4Aは、図1、図2、図3Aおよび図3Bからの要素とともに説明する。図4Aを参照すると、ステップ404から始まるフローチャート400Aが示される。フローチャート400Aは、量子化変換残留レベルの第1のブロック402における位置依存エントロピ符号化の適用の流れを記載している。
[0071] 示すように、第1のブロック402は、「4x4」ブロックにすることができ、それは、複数の量子化変換残留レベル、すなわちA11、A12、A13、A14、A21、A22、A23、A24、A31、A32、A33、A34、A41、A42、A43およびA44を含む。ここで、A11は、DC量子化変換残留レベルにすることができ、残りのA12、A13、A14、A21、A22、A23、A24、A31、A32、A33、A34、A41、A42、A43およびA44は、AC量子化変換残留レベルにすることができる。符号器回路206は、第1のブロック402をDCからACの走査順序で走査するように構成でき、ここでDC量子化変換残留レベルが最初に走査され、AC量子化変換残留レベルの漸進的な行型走査が後に続く。
[0072] 404にて、量子化変換残留レベル「A11」の絶対値が「5」よりも小さい又はこれと等しいかどうかが決定できる。ここで、図3Aおよび図3Bに記載したように、「5」は閾値レベル値にすることができる。符号器回路206は、量子化変換残留レベル「A11」の絶対値が「5」よりも小さい又はこれと等しいかどうかを決定するように構成できる。「A11」の絶対値が「5」よりも小さい又はこれと等しい場合、制御は406に進む。そうでなければ、制御は408に進む。
[0073] 406にて、「A11」は、の量子化変換残留レベルの第1のセットに分類することができる。符号器回路206は、「A11」を量子化変換残留レベルの第1のセットに分類するように構成できる。「A11」を第1のセットに分類することは、「A11」の絶対値が、閾値レベル値「5」よりも小さい又はこれと等しいことを表し得る。さらに、そのような分類により、「A11」はハフマンエントロピ符号化方式によって符号化されたエントロピにできることが表される。
[0074] 408にて、「A11」は、量子化変換残留レベルの第2のセットに分類することができる。符号器回路206は、「A11」を量子化変換残留レベルの第2のセットに分類するように構成できる。「A11」を第2のセットに分類することは、「A11」の絶対値が閾値レベル値「5」より大きいことを表し得る。さらに、そのような分類により、「A11」は、それ自体を、指数関数的Golombエントロピ符号化方式によって符号化された第1のセットおよびさらなるエントロピから分離するために、スキップコードを必要とすることを表し得る。
[0075] 410にて、「A11」がルマブロックの一部かどうかが決定できる。ルマブロックは、光の三原色(RGB)(またはBGR)画像ブロックの変換である輝度画像ブロックに対応する。符号器回路206は、「A11」がルマブロックの一部かどうかを決定して、「A11」用のハフマンコードを発生するための適切なハフマンテーブルを選択するように構成できる。「A11」がルマブロックの一部である場合、制御は412に進む。そうでなければ、制御は414に進む。
[0076] 412にて、「A11」用のハフマンコードは、ルマブロック向けのデフォルトハフマンテーブルに基づいて発生できる。符号器回路206は、ルマブロック向けのデフォルトハフマンテーブルに基づいて、「A11」用のハフマンコードを発生するように構成できる。いくつかの実施形態では、デフォルトハフマンテーブルの代わりに、符号器回路206は、ハフマンテーブルを、ハフマンテーブルの予め特定されたセット(例えば図2の表1に与えたT0、T1、T2、T3およびT4)から選択するように構成できる。特定のハフマンテーブルの選択は、ルマブロック(すなわち第1のブロック)における「A11」のような、選択された量子化変換残留レベルの位置に依存することができる。さらに、いくつかの実施形態では、特定のハフマンテーブルの選択は、ルマブロック内で続いて起こるDCからACの走査順序に依存することができる。
[0077] 414にて、「A11」用のハフマンコードは、クロマブロック(例えばCb/クロマUまたはCr/クロマVブロック)向けのデフォルトハフマンテーブルに基づいて発生することができる。符号器回路206は、「A11」用のハフマンコードをクロマブロック向けのデフォルトハフマンテーブルに基づいて発生するように構成できる。いくつかの実施形態では、デフォルトハフマンテーブルの代わりに、符号器回路206は、ハフマンテーブルの予め特定されたセット(例えば図2の表1に与えるT0、T1、T2、T3およびT4)からハフマンテーブルを選択するように構成できる。特定のハフマンテーブルの選択は、クロマブロック(すなわち第1のブロック)における、「A11」のような選択された量子化変換残留レベルの位置に依存することができる。さらに、いくつかの実施形態では、特定のハフマンテーブルの選択は、クロマブロック内で続けて起こるDCからACの走査順序に依存することができる。
[0078] 416にて、「A11」用のスキップコードは、ハフマンテーブルの予め特定されたセットからのデフォルトハフマンテーブルに基づいて発生することができる。符号器回路206は、「A11」用のスキップコードを発生するように構成できる。スキップコードが発生するのは、符号器回路206が、「A11」用の適用可能なエントロピ符号化方式および「A11」のクラスの少なくとも一方を識別するのを助けるためである。さらに、スキップコードは、復号器回路208によってビットストリーム内で検出されたとき、復号器回路208をトリガーして量子化変換残留レベルから来るべきそれに続くビットを扱い、残留レベルは、絶対値が閾値レベル値「5」よりも大きく、かつビットストリーム内でスキップコードに続いて起こるビットために、指数関数的Golombエントロピ復号方式のようなエントロピ復号化方式を選択する。
[0079] 418にて、「A11」のために指数関数的Golombコードを発生することができる。符号器回路206は、「A11」用のスキップコードが発生した後、「A11」用の指数関数的Golombコードを発生するように構成できる。所定の実施形態では、指数関数的Golombコードは、「A11」と閾値レベル値「5」との間の絶対差に関して発生することができる。そのような実装では、指数関数的Golombコードは、「A11」の全値ではなく差だけを記憶することができ、それにより、結果的にそうでなければ「A11」の値を記憶するように要求される、ビットの数が減少することができる。
[0080] 420にて、制御は「A12」のような次の量子化変換残留レベルに進むことができる。符号器回路206は、制御を、第1のブロック402内における次の残留レベル、たとえば量子化変換「A12」に進めるように構成できる。
[0081] 図4Bは、開示の実施形態に従って、一連の符号化方式を図2のEBC回路によって二次元(2D)の画像ブロック上に順次適用した、異なるブロック出力を示す図表である。図4Bは、図1、図2、図3A、図3Bおよび図4Aからの要素とともに説明する。図4Bを参照して、量子化変換残留レベルの異なるブロック、すなわち行DCTルマブロック、列DCTルマブロック、行DCTクロマブロックおよび列DCTクロマブロックが示される。行DCTルマブロック、列DCTルマブロック、行DCTクロマブロックおよび列DCTクロマブロックでは、異なる領域は、対応するブロックを符号化するために使用する、予め特定されたハフマンテーブルのセット(例えば表1に示されるT0、T1、T2、T3およびT4)からのハフマンテーブルを特定するために示される。
[0082] 図5Aおよび図5Bは、開示の実施形態に従って、一緒に残留レベルデータの位置依存エントロピ符号化のための典型的な方法を図示するフローチャートを描いている。図5は、図1、図2、図3A、図3B、図4Aおよび図4Bからの要素とともに説明する。図5Aおよび図5Bを参照すると、フローチャート500が示される。フローチャート500は、ステップ502から開始し504に進む動作を記載することができる。
[0083] 504にて、入力画像は、複数の画像ブロックに分割することができる。符号器回路206は、入力画像、例えば「1280x720」入力画像を、複数の画像ブロック、例えば複数の16x16画像ブロックに分割するように構成できる。
[0084] 506にて、1D行DCT変換および1D列DCT変換の連続する適用と、後に続く量子化および残差予測とが複数の画像ブロック上で実行され、量子化変換残留レベルの複数のブロックを発生する。符号器回路206は、1D行DCT変換および1D列DCT変換を連続する適用と、引き続く量子化および残差予測とを複数の画像ブロック上で実行するように構成でき、これにより複数のブロックの量子化変換残留レベルが発生する。
[0085] 508にて、入力画像の複数の画像ブロックのための量子化変換残留レベルの複数のブロックが記憶できる。メモリ(例えばオンチップメモリ204または外部メモリ110)は、入力画像の複数の画像ブロックのための量子化変換残留レベルの複数のブロックを記憶するように構成できる。
[0086] 510にて、第1のブロック内の各位置における量子化変換残留レベルは、閾値レベル値よりも小さい又はこれと等しいかどうかが決定できる。符号器回路206は、第1のブロック内の各位置における量子化変換残留レベルが閾値レベル値よりも小さい又はこれと等しいかどうかを決定するように構成できる。第1のブロック内の各位置における量子化変換残留レベルが、閾値レベル値よりも小さい又はこれと等しい場合、制御は508に進み、そうでなければ制御は512に進む。
[0087] 512にて、複数のブロック中の第1のブロック内にある複数の量子化変換残留レベルの1つまたは複数は、量子化変換残留レベルの第1のセットに分類することができる。符号器回路206は、第1のブロック内にある複数の量子化変換残留レベルの1つまたは複数を、量子化変換残留レベルの第1のセットに分類するように構成できる。
[0088] 514にて、量子化変換残留レベルの第1のセット上に、第1のエントロピ符号化方式が第1のブロックにおいてでDCからACの走査順序で適用できる。符号器回路206は、第1のエントロピ符号化方式を、量子化変換残留レベルの第1のセット上に、第1のブロックにおいてDCからACの走査順序で適用するように構成できる。
[0089] 516にて、複数のブロック中の第1のブロック内にある複数の量子化変換残留レベルの1つまたは複数は、量子化変換残留レベルの第2のセットに分類することができる。符号器回路206は、第1のブロック内にある複数の量子化変換残留レベルの1つまたは複数を、量子化変換残留レベルの第2のセットに分類するように構成できる。
[0090] 518にて、量子化変換残留レベルの第2のセット上に、第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せが、第1のブロック内でDCからACの走査順序で適用できる。符号器回路206は、第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せを、量子化変換残留レベルの第2のセット上に、第1のブロック内でDCからACの走査順序で適用するように構成できる。
[0091] 520にて、符号化画像ブロックのビットストリームが、第1のエントロピ符号化方式、および第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せを、第1のブロック内で続いて起こるDCからACの走査に従って適用することによって、発生することができる。符号器回路206は、符号化画像ブロックのビットストリームを発生し、発生は、第1のエントロピ符号化方式、および第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せを、第1のブロック内で続いて起こるDCからACの走査順序に従って適用することによって起こるように構成できる。制御は終了に進む。
[0092] 開示の所定の実施形態は、組込みコーデック(EBC)回路(例えばEBC回路108)に見出される。開示の様々な実施形態は、メモリ(例えばオンチップメモリ204または外部メモリ110)と、メモリに通信可能に連結された符号器回路(例えば符号器回路206)とを含む、EBC回路を提供することができる。メモリは、入力画像の複数の画像ブロックのための、量子化変換残留レベルの複数のブロックを記憶するように構成できる。符号器回路は、複数のブロック中の第1のブロック内にある複数の量子化変換残留レベルを、量子化変換残留レベルの第1のセットおよび量子化変換残留レベルの第2のセットに分類するように構成できる。分類は、複数の量子化変換残留レベル中の各量子化変換残留レベルと閾値レベル値との比較に基づいて行なうことができる。符号器回路は、第1のエントロピ符号化方式を量子化変換残留レベルの第1のセット上に、第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合わせを量子化変換残留レベルの第2のセット上に、第1のブロック内でのDCからACの走査順序で適用するようにさらに構成できる。いくつかの実施形態では、第1のブロック内のDCからACの走査順序は、第1のブロックにおいてDC量子化変換残留レベルが走査され、AC量子化変換残留レベルが後に続き得る走査シーケンスである。符号化画像ブロックのビットストリームは、符号器回路を用いて、第1のエントロピ符号化方式、および第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せを、第1のブロック内で続いて起こるDCからACの走査順序に従って適用することよって、さらに発生することができる。
[0093] 実施形態に従って、符号器回路は、複数の画像ブロック上で符号化方式を順次実行して、入力画像の圧縮した画像データのビットストリームを発生するように構成できる。圧縮した画像データのビットストリームは、符号化画像ブロックの発生したビットストリームを含むことができる。圧縮した画像データのビットストリームはヘッダー情報を含み、ヘッダー情報は、複数の画像ブロックの符号化段階において、圧縮した画像データのビットストリームを得るために符号化方式が順次適用されることを示し得る。一連の符号化方式は、前方変換、これに続く量子化、残差予測、および第1のエントロピ符号化方式、または第1のエントロピ符号化方式と第2のエントロピ符号化方式との組合せのうち選択されたものを連続して適用することを含み得る。符号器回路は、一連の符号化方式を入力画像の複数のブロック上に順次適用することに基づいて、量子化変換残留レベルの複数のブロックを発生するように構成できる。前方変換は、一次元の行直接余弦変換(1D行DCT)および1D列DCT変換を、入力画像の複数のブロック上に順次適用することを含み得る。
[0094] 実施形態に従って、複数の量子化変換残留レベル中の各量子化変換残留レベルと閾値レベル値との比較は、各量子化変換残留レベルの絶対値が閾値レベル値よりも小さい又はこれと等しい場合でも、検査に対応することができる。ある場合には、量子化変換残留レベルの第1のセット中の各量子化変換残留レベルの絶対値が、閾値レベル値よりも小さい又はこれと等しい。他の場合には、量子化変換残留レベルの第2のセット中の各量子化変換残留レベルの絶対値が、閾値レベル値よりも大きい。
[0095] 所定の実施形態では、第1のブロックは、対応する画像ブロックが輝度画像ブロックであるときルマブロックにすることができ、第1のブロックは、対応する画像ブロックがクロマ画像ブロックであるとき、クロマUブロックまたはクロマVブロックにすることができる。
[0096] 実施形態に従って、第1のエントロピ符号化方式はハフマンエントロピ符号化方式にすることができ、第2のエントロピ符号化方式は指数関数的Golombエントロピ符号化方式にすることができる。符号器回路は、量子化変換残留レベルの第1のセットを、予め特定されたハフマンテーブルのセットに基づいて符号化するように構成できる。量子化変換残留レベルの第1のセットは、ハフマンエントロピ符号化方式に従ってエントロピ符号化することができる。予め特定されたハフマンテーブルのセットは、デフォルトハフマンテーブルの第1のセット、および位置特異的なハフマンテーブルの第2のセットを含むことができる。実施形態に従って、符号器回路は、デフォルトハフマンテーブルの第1のセットからデフォルトハフマンテーブルを選択して、量子化変換残留レベルの第1のセットを、第1のブロックにおけるDCからACの走査順序に従って符号化するようにさらに構成できる。別の実施形態に従って、符号器回路は、位置特異的なハフマンテーブルを、第1のブロック内にある各量子化変換残留レベルの特定の位置に基づいて、位置特異的なハフマンテーブルの第2のセットから選択するようにさらに構成できる。位置特異的なハフマンテーブルは、量子化変換残留レベルの第1のセットを、第1のブロック内でのDCからACの走査順序に従って符号化するために選択することができる。
[0097] 実施形態に従って、符号器回路は、量子化変換残留レベルの第2のセット中の各量子化変換残留レベルのためのスキップコードを、第1のエントロピ符号化方式に従って発生するようにさらに構成することができる。スキップコードは、予め特定されたハフマンテーブルのセットに基づいて発生することができる。スキップコードの発生により、復号器回路が、各量子化変換残留レベルを、量子化変換残留レベルの第1のセットまたは量子化変換残留レベルの第2のセットに分類することが可能になる。したがって、符号器回路は、量子化変換残留レベルの第2のセットを、量子化変換残留レベルの第2のセット上への第2のエントロピ符号化方式の適用に基づいて、符号化するようにさらに構成できる。各量子化変換残留レベルは、量子化変換残留レベルの第2のセット中の各量子化変換残留レベルのためにスキップコードを発生した後に、符号化することができる。
[0098] 本開示はハードウェア、またはハードウェアとソフトウェアとの組合せにおいて実現することができる。本開示は、集中型様式において、少なくとも1つのコンピュータシステムで実装し、または分散型様式において、異なる要素をいくつかの相互連結されたコンピュータシステムにわたって広げて実現することができる。本明細書に記載された方法を実施するのに適した、コンピュータシステムまたは他の装置を適合させることができる。ハードウェアとソフトウェアとの組合せは、コンピュータプログラムを備えた汎用計算機システムにして、コンピュータプログラムは、ロードされおよび実行されるときコンピュータシステムを制御して、本明細書に記載された方法を実施することができる。本開示は、同様に他の機能を行なう集積回路の一部を備え得るハードウェアで実現することができる。
[0099] 本開示はまた、コンピュータプログラム製品に埋め込むことができ、コンピュータプログラム製品は、本明細書に記載した方法の実施を可能にする全ての特徴を備え、かつコンピュータシステムにロードされたときこれらの方法を実行することができる。
コンピュータプログラムは、本文脈では、命令セットのあらゆる言語、コードまたは表記法によるあらゆる表現を意味し、命令は、情報処理能力を有するシステムに、特定の機能を、直接的にまたは以下の何れかまたは両方の後に実行することを意図する。
a)別の言語、コードまたは表記法への変換
b)異なる材料形態の再生
[0100] 本開示は、所定の実施形態に関して記載してきたが、当業者であれば、様々な変更が行なわれ得ること、本開示の範囲から逸脱することなく均等物で置き換え得ることを理解する。さらに、多くの修正が、特別の状況または材料を本開示の教示に適応させるために、その範囲から逸脱することなくなし得る。従って、現在の開示は、開示された特別の実施形態に限定されず、添付した請求項の範囲内に属する全ての実施形態を含むことを意図している。
102 媒体機器
104 画像センサ
106 プロセッサ
108 組込みコーデック回路
110 外部メモリ
206 符号器回路

Claims (20)

  1. 組込みコーデック(EBC)回路であって、
    入力画像の複数の画像ブロックための量子化変換残留レベルの複数のブロックを記憶するように構成されたメモリと、
    符号器回路と、を備え、前記符号器回路は、
    前記複数のブロック中の第1のブロック内の複数の量子化変換残留レベルを、前記複数の量子化変換残留レベル中の各量子化変換残留レベルと閾値レベル値との比較に基づいて、量子化変換残留レベルの第1のセットおよび量子化変換残留レベルの第2のセットに分類し、ここで、前記量子化変換残留レベルの第1のセットの量子化変換残留レベルは前記閾値レベル値よりも小さいか又はこれと等しく、前記量子化変換残留レベルの第2のセットの量子化変換残留レベルは前記閾値レベル値よりも大きく、
    前記量子化変換残留レベルの第1のセット上に第1のエントロピ符号化方式を、前記量子化変換残留レベルの第2のセット上に前記第1のエントロピ符号化方式と第2のエントロピ符号化方式との組み合わせを、前記第1のブロックにおいて直流から交流(DCからAC)の走査順序で適用し、
    符号化画像ブロックのビットストリームを、前記第1のエントロピ符号化方式、および第1のエントロピ符号化方式と前記第2のエントロピ符号化方式との組合せを、前記第1のブロックにおいて続いて起こる直流から交流(DCからAC)の走査順序に従って適用することによって発生する、組込みコーデック(EBC)回路。
  2. 前記符号器回路は、前記複数の画像ブロック上に一連の符号化方式を実行して、前記入力画像の圧縮した画像データのビットストリームを発生するようにさらに構成され、
    前記圧縮した画像データのビットストリームは、前記符号化画像ブロックの発生したビットストリームを備える、請求項1に記載のEBC回路。
  3. 前記圧縮した画像データのビットストリームは、前記複数の画像ブロックの符号化段階において前記圧縮した画像データのビットストリームを得るために適用される、一連の符号化方式を表すヘッダー情報を備え、前記一連の符号化方式は、前方変換、これに続く量子化、残差予測、および第1のエントロピ符号化方式、または前記第1のエントロピ符号化方式と前記第2のエントロピ符号化方式との前記組合せのうち選択されたものを連続して適用することを含む、請求項2に記載のEBC回路。
  4. 前記符号器回路は、前記量子化変換残留レベルの複数のブロックを、前記入力画像の前記複数のブロック上への前記一連の符号化方式の適用に基づいて発生するようにさらに構成されている、請求項3に記載のEBC回路。
  5. 前記前方変換は、前記入力画像の前記複数の画像ブロック上に、一次元の行直接余弦変換(1D行DCT)および1D列変換DCTを連続して適用することを備える、請求項3に記載のEBC回路。
  6. 前記比較は、各量子化変換残留レベルの絶対値が前記閾値レベル値よりも小さい又はこれと等しいか否かのチェックに対応する、請求項1に記載のEBC回路。
  7. 前記量子化変換残留レベルの第1のセットの中の各量子化変換残留レベルの絶対値は、前記閾値レベル値よりも小さいまたはこれと等しい、請求項1に記載のEBC回路。
  8. 前記量子化変換残留レベルの第2のセットの中の各量子化変換残留レベルの絶対値は、前記閾値レベル値よりも大きい、請求項1に記載のEBC回路。
  9. 対応する画像ブロックが輝度画像ブロックであるとき、前記第1のブロックはルマブロックである、請求項1に記載のEBC回路。
  10. 対応する画像ブロックがクロマ画像ブロックであるとき、前記第1のブロックはクロマUブロックまたはクロマVブロックである、請求項1に記載のEBC回路。
  11. 前記第1のエントロピ符号化方式はハフマンエントロピ符号化方式であり、前記第2のエントロピ符号化方式は指数関数的Golombエントロピ符号化方式である、請求項1に記載のEBC回路。
  12. 前記符号器回路は、前記量子化変換残留レベルの第1のセットを、予め特定されたハフマンテーブルのセットに基づいて符号化するようにさらに構成され、前記量子化変換残留レベルの第1のセットは、前記ハフマンエントロピ符号化方式に従ってエントロピ符号化される、請求項11に記載のEBC回路。
  13. 前記予め特定されたハフマンテーブルのセットは、デフォルトハフマンテーブルの第1のセットおよび位置特異的なハフマンテーブルの第の2セットを備える、請求項12に記載のEBC回路。
  14. 前記符号器回路は、前記デフォルトハフマンテーブルの第1のセットからデフォルトハフマンテーブルを選択して、前記量子化変換残留レベルの第1のセットを、前記第1のブロック内で前記DCからACの走査順序に従って符号化するようにさらに構成されている、請求項13に記載のEBC回路。
  15. 前記符号器回路は、前記位置特異的なハフマンテーブルの第2のセットから、位置特異的なハフマンテーブルを、第1のブロック内の各量子化変換残留レベルの特定の位置に基づいて選択するように構成され、前記位置特異的なハフマンテーブルは、前記量子化変換残留レベルの第1のセットを、前記第1のブロック内で前記DCからACの走査順序に従って符号化するために選択される、請求項13に記載のEBC回路。
  16. 前記符号器回路は、前記量子化変換残留レベルの第2のセット中の各量子化変換残留レベルのためのスキップコードを、前記第1のエントロピ符号化方式に従って発生するようにさらに構成され、前記スキップコードは、予め特定されたハフマンテーブルのセットに基づいて発生する、請求項1に記載のEBC回路。
  17. 前記スキップコードの発生により、復号器回路が、各量子化変換残留レベルを、前記量子化変換残留レベルの第1のセットまたは前記量子化変換残留レベルの第2のセットに分類することが可能になる、請求項16に記載のEBC回路。
  18. 前記符号器回路は、前記量子化変換残留レベルの第2のセットを、前記量子化変換残留レベルの第2のセット上への前記第2のエントロピ符号化方式の適用に基づいて符号化するようにさらに構成され、各量子化変換残留レベルは、前記量子化変換残留レベルの第2のセット中の各量子化変換残留レベルのための前記スキップコードを発生した後に符号化される、請求項16に記載のEBC回路。
  19. 前記第1のブロック内でのDCからACの走査順序は、前記第1のブロックにおいてDC量子化変換残留レベルが走査され、AC量子化変換残留レベルが後に続く走査シーケンスである、請求項1に記載のEBC回路。
  20. 方法であって、
    メモリおよび符号器回路を備える組込みコーデック(EBC)回路において、
    前記メモリによって、入力画像の複数の画像ブロックのための量子化変換残留レベルの複数のブロックを記憶する段階と、
    前記符号器回路によって、前記複数のブロック中の第1のブロック内の複数の量子化変換残留レベルを、前記複数の量子化変換残留レベル中の各量子化変換残留レベルと閾値レベル値との比較に基づいて、量子化変換残留レベルの第1のセットおよび量子化変換残留レベルの第2のセットに分類する段階であって、ここで、前記量子化変換残留レベルの第1のセットの量子化変換残留レベルは前記閾値レベル値よりも小さいか又はこれと等しく、前記量子化変換残留レベルの第2のセットの量子化変換残留レベルは前記閾値レベル値よりも大きい段階と、
    前記符号器回路によって、前記量子化変換残留レベルの第1のセット上に第1のエントロピ符号化方式を、前記量子化変換残留レベルの第2のセット上に前記第1のエントロピ符号化方式と第2のエントロピ符号化方式との組み合わせを、前記第1のブロックにおいて直流から交流(DCからAC)の走査順序で適用する段階と、
    前記符号器回路によって、符号化画像ブロックのビットストリームを、前記第1のエントロピ符号化方式、および前記第1のエントロピ符号化方式と前記第2のエントロピ符号化方式との組合せを、前記第1のブロックにおいて続いて起こる直流から交流(DCからAC)の走査順序を選択的に適用することによって発生する段階と、を備える方法。
JP2019187670A 2019-02-06 2019-10-11 残留レベルデータの位置依存エントロピ符号化のための組込みコーディク(ebc)回路 Active JP7020466B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/268,554 2019-02-06
US16/268,554 US10728555B1 (en) 2019-02-06 2019-02-06 Embedded codec (EBC) circuitry for position dependent entropy coding of residual level data

Publications (3)

Publication Number Publication Date
JP2020127188A JP2020127188A (ja) 2020-08-20
JP2020127188A5 JP2020127188A5 (ja) 2021-05-13
JP7020466B2 true JP7020466B2 (ja) 2022-02-16

Family

ID=71783431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019187670A Active JP7020466B2 (ja) 2019-02-06 2019-10-11 残留レベルデータの位置依存エントロピ符号化のための組込みコーディク(ebc)回路

Country Status (4)

Country Link
US (1) US10728555B1 (ja)
JP (1) JP7020466B2 (ja)
KR (1) KR102267215B1 (ja)
CN (1) CN111541895B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116634168B (zh) * 2023-07-26 2023-10-24 上海方诚光电科技有限公司 一种基于工业相机的图像无损处理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007381A (ja) 2002-04-19 2004-01-08 Matsushita Electric Ind Co Ltd 可変長符号化方法および可変長復号化方法
JP2005530375A (ja) 2002-05-02 2005-10-06 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
JP2006333500A (ja) 2006-07-10 2006-12-07 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法
WO2011013192A1 (ja) 2009-07-27 2011-02-03 株式会社東芝 画像符号化方法および画像復号方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6995794B2 (en) * 1999-06-30 2006-02-07 Logitech Europe S.A. Video camera with major functions implemented in host software
US6650784B2 (en) * 2001-07-02 2003-11-18 Qualcomm, Incorporated Lossless intraframe encoding using Golomb-Rice
CN100452883C (zh) * 2001-12-17 2009-01-14 微软公司 处理视频图像的方法
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
KR101539240B1 (ko) 2007-06-14 2015-07-30 삼성전자주식회사 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
EP2524506B1 (en) * 2010-01-15 2018-03-07 Thomson Licensing DTV Video coding using compressive sensing
JP5688136B2 (ja) * 2010-04-23 2015-03-25 エム アンド ケー ホールディングス インコーポレイテッド 映像を符号化する装置及び方法
CN101895756B (zh) * 2010-07-15 2012-10-31 北京大学 视频图像块的编码、解码、重构方法及系统
US9641846B2 (en) * 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
EP3349360B1 (en) * 2011-01-14 2019-09-04 GE Video Compression, LLC Entropy encoding and decoding scheme
US20130003859A1 (en) * 2011-06-30 2013-01-03 Qualcomm Incorporated Transition between run and level coding modes
EP2611156A1 (en) 2011-12-30 2013-07-03 Samsung Electronics Co., Ltd Apparatus and method for encoding depth image by skipping discrete cosine transform (dct), and apparatus and method for decoding depth image by skipping dct
JP2014011481A (ja) * 2012-06-27 2014-01-20 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9930348B2 (en) 2014-03-14 2018-03-27 Qualcomm Incorporated Coefficient level coding in a video coding process
US9877048B2 (en) * 2014-06-09 2018-01-23 Qualcomm Incorporated Entropy coding techniques for display stream compression (DSC)
US9538044B2 (en) 2015-03-20 2017-01-03 Kyocera Document Solutions Inc. Apparatus and method for data decoding
WO2016192073A1 (zh) * 2015-06-04 2016-12-08 清华大学 编码方法、解码方法及其装置
WO2017151877A1 (en) * 2016-03-02 2017-09-08 MatrixView, Inc. Apparatus and method to improve image or video quality or encoding performance by enhancing discrete cosine transform coefficients
US10595033B2 (en) * 2017-02-15 2020-03-17 Sony Corporation Variable length coding of header data for image compression

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007381A (ja) 2002-04-19 2004-01-08 Matsushita Electric Ind Co Ltd 可変長符号化方法および可変長復号化方法
JP2005530375A (ja) 2002-05-02 2005-10-06 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
JP2006333500A (ja) 2006-07-10 2006-12-07 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法
WO2011013192A1 (ja) 2009-07-27 2011-02-03 株式会社東芝 画像符号化方法および画像復号方法

Also Published As

Publication number Publication date
JP2020127188A (ja) 2020-08-20
KR20200096862A (ko) 2020-08-14
CN111541895B (zh) 2022-04-22
US10728555B1 (en) 2020-07-28
US20200252613A1 (en) 2020-08-06
CN111541895A (zh) 2020-08-14
KR102267215B1 (ko) 2021-06-22

Similar Documents

Publication Publication Date Title
CN113545064B (zh) 用于处理视频内容的方法和装置及计算机可读存储介质
JP4493215B2 (ja) ウェーブレット係数の方向性予測コード化法を用いた画像圧縮
US10645386B1 (en) Embedded codec circuitry for multiple reconstruction points based quantization
JP4895400B2 (ja) 画像フレームの非フレームエッジブロックの表現における改良された圧縮
CN114145016A (zh) 视频信号的矩阵加权帧内预测
TW201517600A (zh) 資料編碼和解碼
KR20210021577A (ko) 비디오 코딩에서의 필터링을 위한 장치 및 방법
CN115836525B (zh) 用于从多个交叉分量进行预测的视频编码、解码方法和设备
JP6868793B2 (ja) 画像ブロックに対する画素領域前処理動作に基づく画像ブロック符号化法
JP7020466B2 (ja) 残留レベルデータの位置依存エントロピ符号化のための組込みコーディク(ebc)回路
US10728557B2 (en) Embedded codec circuitry for sub-block based entropy coding of quantized-transformed residual levels
US10798419B2 (en) Embedded codec circuitry for sub-block based encoding of quantized prediction residual levels
JP2011234363A (ja) 画像処理システム及び方法
JP2020127188A5 (ja)
JP6860053B2 (ja) サブブロックに基づく精緻化ビット割り当てのための埋め込みコーデック回路
US20200162739A1 (en) Embedded codec circuitry for visual quality based allocation of refinement bits
US20220094951A1 (en) Palette mode video encoding utilizing hierarchical palette table generation
US10652543B2 (en) Embedded codec circuitry and method for frequency-dependent coding of transform coefficients
JP2006165699A (ja) 画像符号化装置および画像符号化方法
JP6485045B2 (ja) インデックス演算装置、プログラム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210122

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210324

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20210325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210826

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: 20220104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220117

R151 Written notification of patent or utility model registration

Ref document number: 7020466

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151