JP6389264B2 - エンコーディング方法及び装置並びにデコーディング方法及び装置 - Google Patents

エンコーディング方法及び装置並びにデコーディング方法及び装置 Download PDF

Info

Publication number
JP6389264B2
JP6389264B2 JP2016552562A JP2016552562A JP6389264B2 JP 6389264 B2 JP6389264 B2 JP 6389264B2 JP 2016552562 A JP2016552562 A JP 2016552562A JP 2016552562 A JP2016552562 A JP 2016552562A JP 6389264 B2 JP6389264 B2 JP 6389264B2
Authority
JP
Japan
Prior art keywords
code block
block group
processing order
code
determining
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
JP2016552562A
Other languages
English (en)
Other versions
JP2017506463A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2017506463A publication Critical patent/JP2017506463A/ja
Application granted granted Critical
Publication of JP6389264B2 publication Critical patent/JP6389264B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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

Landscapes

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

Description

この出願は、2014年2月18日に中国特許庁に出願された「ENCODING AND DECODING METHODS AND APPARATUSES」と題される中国特許出願公開第201410054130.3号明細書の優先権を主張するものであり、参照により、上記中国出願の全体が本明細書に組み入れられる。
本発明は、画像処理の分野に関し、特に、エンコーディング方法及び装置並びにデコーディング方法及び装置に関する。
ビデオ圧縮コーディング技術は、マルチメディアサービス、ブロードキャスト通信、ビデオ通信、保存等の分野で幅広く使用される。国際電気通信連合−電気通信標準化部門(International Telecommunication Union-Telecommunication standardization sector,ITU-T)及び国際標準化機構(International Organization for Standardization,ISO)/国際電気標準会議(International Electrotechnical Commission,IEC)により合同で作成されたH.264標準規格及びアドバンスド・ビデオ・コーディング(AVC)標準規格が今日最も幅広く使用されるビデオコーディング標準規格である。しかしながら、H.264/AVCは、高解像度ビデオの圧縮コーディングに適用できない。高精細度ビデオ、超高精細度ビデオ、及び、3Dビデオに対する人々の需要が高まるにつれて、ビデオコーディングに関する共同作業チーム(Joint Collaborative Team on Video Coding,JCT-VC)が高効率ビデオコーディング(HEVC)標準規格を提唱しており、H.264/AVCと比べてHEVCの圧縮効率が約50%向上される。
HEVC標準規格では、エンコードされるべき画像が重なり合わない画像ブロックに分けられる。エンコーダは、各画像ブロックを連続的に処理するために順次走査を行う。前述の画像ブロックが複数のサブブロックに更に分けられる場合があり、また、各サブブロックのコーディングパラメータが各サブブロックごとに独立に決定される場合がある。HEVCの用語において、前述の重なり合わない画像ブロックは、コーディングツリーユニット(Coding Tree Unit,CTU)と称され、また、コーディングツリーユニットのサイズは一般に64×64ピクセルに設定される。CTUを複数のサブブロックへと更に分けるために四分木構造が使用される場合があり、その場合、サブブロックは一般にHEVCではコードユニット(CU)と称される。1つのCTU中のCUは、Z形状態様の走査順序でエンコードされ、また、1つのフレーム中の全てのCTUがライン走査の順序でエンコードされる。HEVCにおけるフレーム内予測モードは、直流予測、面内予測、及び、方向性予測を含む。エンコードされるべきブロックに関しては、このエンコードされるべきブロックよりも上側の左側で既に再構成されているコードブロックが予測のための基準として使用され、また、既に再構成されているブロックにおける予測のために使用されるピクセルが基準ピクセルと称される。直流予測は、画像中の平坦なテクスチャを伴う領域内のブロックに適用でき、また、ブロック中の全てのピクセルに関しては、基準ピクセルの平均値が予測子として使用される。面内予測において、基準ピクセルは、双線形補間作業を経由して1つのブロック中の全てのピクセルの予測子を得るために使用され、したがって、面内予測は、スムーズに変化するテクスチャを伴うブロックに適用できる。方向性予測では、現在のコードブロックに含まれるテクスチャが既に再構成されて現在のコードブロックに近いブロックに対して非常に関連付けられるという特徴が使用され、また、所定の方向に沿って、対応する基準ピクセルの値が、現在のブロックにおけるピクセルの予測子として複製される。
H.264/AVC標準規格では、コードブロックがマクロブロック(Macro Block,MB)と称され、マクロブロックのサイズは固定して16×16ピクセルであり、また、各マクロブロックは、予測コーディングのために4×4、8×8、又は、16×16サブマクロブロック(Sub Macro Block,SMB)のみに分けられ得る。MB及びSMBはそれぞれHEVCにおけるCTU及びCUに対応する。MBのエンコーディング順序はCTUのそれと同様であり、また、MB及びCTUの両方がライン走査の順序でエンコードされ、また、SMBのエンコーディング順序もZ形状態様での順次走査である。また、H.264/AVCにおけるフレーム内予測は平均予測及び方向性予測も使用するが、最大で9個の予測モードが存在する。
すなわち、画像が伝統的なビデオコーディング標準規格でエンコードされるときには、エンコードされるべき画像が最初に重なり合わないコードブロックに分けられ、その後、各ブロックが所定の順序(ライン走査の順序)で連続的にエンコードされ、その結果、比較的低いエンコーディング圧縮効率がもたらされる。
本発明の実施態様は、ビデオ情報における空間相関を十分に利用でき、それにより、エンコーディング中及びデコーディング中に圧縮効率を向上させることができるエンコーディング方法及び装置並びにデコーディング方法及び装置を提供する。
第1の態様によれば、エンコーディング方法が提供され、本方法は、ターゲット画像の全コーディングコストにしたがって、ターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するステップと、最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成するステップと、最初の処理順序をビットストリームに書き込むステップとを含む。
第1の態様に関連して、第1の態様の第1の実施態様において、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するステップは、複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するステップであって、各処理順序に対応する全コーディングコストが、各処理順序にしたがって複数のコードブロック群がエンコードされるときのコーディングコストの和である、ステップと、全て処理順序に対応する全コーディングコストの最小全コーディングコストに対応する処理順序が最初の処理順序であることを決定するステップとを含む。
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第2の実施態様において、最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成するステップは、最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップと、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってコードブロック群をエンコードするステップとを含む。
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第3の実施態様において、最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップよりも前に、本方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第4の実施態様において、最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップとを含む。
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第5の実施態様において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第6の実施態様において、最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第7の実施態様において、最初の処理順序をビットストリームに書き込むステップは、最初の処理順序にしたがってコードブロック群のインデックスを配置するステップと、コードブロック群の配置されたインデックスをエンコードして、エンコードされたインデックスをビットストリームに書き込むステップとを含むか、又は、最初の処理順序にしたがってコードブロック群の座標を配置するステップと、コードブロック群の配置された座標をエンコードして、エンコードされた座標をビットストリームに書き込むステップとを含む。
第1の態様と第1の態様の前述の実施態様とに関連して、第1の態様の第8の実施態様において、コードブロック群のコーディングコストは、以下のうちの少なくとも1つ、すなわち、コードブロック群をエンコードするために費やされるビットの量、又は、コードブロック群の歪み、のうちの少なくとも1つを含む。
第2の態様によれば、デコーディング方法が提供され、本方法は、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得するステップと、最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップと、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってビットストリームをデコードするステップとを含む。
第2の態様に関連して、第2の態様の第1の実施態様において、最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップよりも前に、本方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。
第2の態様と第2の態様の前述の実施態様とに関連して、第2の態様の第2の実施態様において、最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップとを含む。
第2の態様と第2の態様の前述の実施態様とに関連して、第2の態様の第3の実施態様において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。
第2の態様と第2の態様の前述の実施態様とに関連して、第2の態様の第4の実施態様において、最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
第2の態様と第2の態様の前述の実施態様とに関連して、第2の態様の第5の実施態様において、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得するステップは、ビットストリームをデコードして複数のコードブロック群の配置されたインデックスを得るステップと、複数のコードブロック群のインデックスの配置順序にしたがって最初の処理順序を決定するステップとを含むか、又は、ビットストリームをデコードして複数のコードブロック群の配置された座標を得るステップと、複数のコードブロック群の座標の配置順序にしたがって最初の処理順序を決定するステップとを含む。
第3の態様によれば、エンコーダが提供され、エンコーダは、ターゲット画像の全コーディングコストにしたがって、ターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するように構成された決定ユニットと、決定ユニットによって決定された最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成するように構成されたエンコーディングユニットとを備え、エンコーディングユニットは、決定ユニットによって決定された最初の処理順序をビットストリームに書き込むように更に構成される。
第3の態様に関連して、第3の態様の第1の実施態様において、決定ユニットは、複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するように特に構成され、各処理順序に対応する全コーディングコストは、各処理順序にしたがって複数のコードブロック群がエンコードされるときのコーディングコストの和であり、また、決定ユニットは、全ての処理順序に対応する全コーディングコストの最小全コーディングコストに対応する処理順序が最初の処理順序であることを決定するように特に構成される。
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第2の実施態様において、エンコーディングユニットは、決定ユニットを使用することによる最初の処理順序にしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定し、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってコードブロック群をエンコードするように特に構成される。
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第3の実施態様において、決定ユニットは、コードブロックの複数の候補処理順序を決定し、複数の候補処理順序と複数の位置関係との間の対応関係を決定するように更に構成され、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第4の実施態様において、決定ユニットは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように特に構成される。
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第5の実施態様において、決定ユニットは、コードブロックの事前に設定された複数の候補処理順序を使用するように特に構成される。
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第6の実施態様において、決定ユニットは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように特に構成され、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第7の実施態様において、エンコーディングユニットは、最初の処理順序にしたがってコードブロック群のインデックスを配置し、コードブロック群の配置されたインデックスをエンコードして、エンコードされたインデックスをビットストリームに書き込むように特に構成されるか、又は、最初の処理順序にしたがってコードブロック群の座標を配置し、コードブロック群の配置された座標をエンコードして、エンコードされた座標をビットストリームに書き込むように特に構成される。
第3の態様と第3の態様の前述の実施態様とに関連して、第3の態様の第8の実施態様において、コードブロック群のコーディングコストは、以下のうちの少なくとも1つ、すなわち、コードブロック群をエンコードするためにエンコーディングユニットにより費やされるビットの量、又は、コードブロック群の歪み、のうちの少なくとも1つを含む。
第4の態様によれば、デコーダが提供され、デコーダは、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得するように構成された取得ユニットと、最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成された決定ユニットと、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってビットストリームをデコードするように構成されたデコーディングユニットとを備える。
第4の態様に関連して、第4の態様の第1の実施態様において、決定ユニットは、コードブロックの複数の候補処理順序を決定し、複数の候補処理順序と複数の位置関係との間の対応関係を決定するように更に構成され、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
第4の態様と第4の態様の前述の実施態様とに関連して、第4の態様の第2の実施態様において、決定ユニットは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように特に構成される。
第4の態様と第4の態様の前述の実施態様とに関連して、第4の態様の第3の実施態様において、決定ユニットは、コードブロックの事前に設定された複数の候補処理順序を使用するように特に構成される。
第4の態様と第4の態様の前述の実施態様とに関連して、第4の態様の第4の実施態様において、決定ユニットは、最初の処理順序にしたがって、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように特に構成され、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
第4の態様と第4の態様の前述の実施態様とに関連して、第4の態様の第5の実施態様において、取得ユニットは、デコーディングユニットを使用して、ビットストリームをデコードして複数のコードブロック群の配置されたインデックスを得、決定ユニットを使用して、複数のコードブロック群のインデックスの配置順序にしたがって最初の処理順序を決定するように特に構成されるか、又は、デコーディングユニットを使用して、ビットストリームをデコードして複数のコードブロック群の配置された座標を得、決定ユニットを使用して、複数のコードブロック群の座標の配置順序にしたがって最初の処理順序を決定するように特に構成される。
本発明のこの実施形態では、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序が決定され、最初の処理順序にしたがって複数のコードブロック群がエンコード及びデコードされ、それにより、ビデオ情報における空間相関を十分に使用することができ、その結果、エンコーディング中及びデコーディング中の圧縮効率が向上される。
本発明の実施態様における技術的解決策をより明確に説明するために、以下では、本発明の実施形態を説明するために必要とされる添付図面について簡単に記載する。当然ながら、以下の説明における添付図面は、本発明の幾つかの実施形態を単に示すにすぎず、また、当業者は、創造的労力を伴わずにこれらの添付図面から他の図面を依然として導き出すことができる。
本発明の一実施形態に係るエンコーディング方法のフローチャートである。 本発明の一実施形態に係るデコーディング方法のフローチャートである。 本発明の一実施形態に係るコードブロックの処理順序の概略図である。 本発明の他の実施形態に係るコードブロックの処理順序の概略図である。 本発明の一実施形態に係るコードブロックの候補処理順序と複数の位置関係との間の対応関係の概略図である。 本発明の一実施形態に係るエンコーダ側のエンコーディングのフローチャートである。 本発明の一実施形態に係るデコーダ側のデコーディングのフローチャートである。 本発明の一実施形態に係るエンコーダの概略ブロック図である。 本発明の一実施形態に係るデコーダの概略ブロック図である。 本発明の他の実施形態に係るエンコーダの概略ブロック図である。 本発明の他の実施形態に係るデコーダの概略ブロック図である。
以下では、本発明の実施形態における添付図面に関連して、本発明の実施形態における技術的解決策を明確に且つ十分に説明する。当然ながら、説明される実施形態は、本発明の実施形態の一部であって、全てではない。創造的労力を伴うことなく本発明の実施例に基づいて当業者により得られる他の全ての実施例は、本発明の保護範囲内に入るものとする。
図1は、本発明の一実施形態に係るエンコーディング方法のフローチャートである。
101.ターゲット画像の全コーディングコストにしたがって、ターゲット画像に含まれる複数のコードブロック群の最初の処理順序を決定する。
102.最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードして、ビットストリームを生成する。
103.最初の処理順序をビットストリームに書き込む。
本発明のこの実施形態では、ターゲット画像の全コーディングコストにしたがってターゲット画像に含まれる複数のコードブロック群の最初の処理順序が決定され、また、最初の処理順序にしたがって複数のコードブロック群がエンコードされ、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
言うまでもなく、本発明のこの実施形態におけるターゲット画像は、エンコードされるべき画像であり、或いは、コード化画像と称されてもよい。ターゲット画像は、複数の重なり合わないコードブロック群に分けられ、この場合、コードブロック群は、HEVCにおけるコーディングツリーユニットCTUに相当してもよく、或いは、H.264/AVCにおけるマクロブロックMB或いは同様のものに相当してもよい。コードブロック群は、コーディングパラメータを独立に決定できる複数のコードブロックに分けられ続けてもよく、この場合、コードブロックは、HEVCにおけるコードユニットCUに相当してもよく、或いは、H.264/AVCにおけるサブマクロブロックSMB或いは同様のものに相当してもよい。
随意的に、一実施形態において、ステップ101は、複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するステップであって、各処理順序に対応する全コーディングコストが、各処理順序にしたがって複数のコードブロック群がエンコードされるときのコーディングコストの和である、ステップと、全ての処理順序に対応する全コーディングコストの最小全コーディングコストに対応する処理順序が最初の処理順序であることを決定するステップとを含む。
具体的には、コードブロック群が異なる処理順序で処理されるときに、各コードブロック群のコーディングコストが処理順序に伴って変化する。コードブロック群のコーディングコストは、ブロック群のエンコーディングの品質を測定するための重要な基準である。コーディングコストが計算されるときには、ブロックをエンコードするために費やされるビットの量及び再構成後のブロックの品質が計算される。コーディングコストのより小さい値は、ブロックのより良好なエンコーディングを示す。したがって、全てのコードブロック群の最小全コーディングコストを得ることができる処理順序が最適な処理順序として使用されてもよい。したがって、最適な処理順序を決定する問題は、最小全コーディングコスト、すなわち、式(1)を解く問題へと変換されてよい。
Figure 0006389264
ここで、Nは、コードブロック群の全体の量を示し、1≦i≦Nは、コードブロック群のインデックスが左右上下の順序で示されることを表わし、Oは、コードブロック群の処理順序を示すベクトルであり、Oのそれぞれの項目は、コードブロック群のインデックスの配置態様であり、全体の想定し得る処理順序はNの順列N!であり、O=[1,2,…,N]であるときに示される処理順序は、伝統的なライン走査順序であり、Sj,kは、既に処理されているj個のブロック群のインデックスを含むセットであり、kは、既に処理されているjブロック群がN個のブロック群から選択されるj個のブロック群の
Figure 0006389264
個の想定し得る組み合わせのk番目の組み合わせであることを示し、iは、エンコードされないブロック群のうちの1つを示し、RD(Sj,k,i)は、Sj,k中の全てのコードブロック群が処理されてしまった場合においてコードブロック群iを処理するために必要とされるコストを示し、SNは、N個の全てのコードブロック群のセットを示し、
Figure 0006389264
は、N個のコードブロック群の最適な処理順序を示し、及び、最適な問題の目的は、N個の全てのコードブロック群の全コスト
Figure 0006389264
が最小であるように処理順序
Figure 0006389264
を見出すことである。
Figure 0006389264
を解くためには、各コードブロック群のコストRD(Sj,k,i)を計算する必要がある。1つのコードブロック群のコストRD(Sj,k,i)が得られた後、コードブロック群の最適な処理順序を決定するために式(2)で表わされる方法が使用されてもよい。
Figure 0006389264
ここで、j,1≦j≦N−1は、既に処理されているコードブロック群の量を示し、
Figure 0006389264
は、既に処理されているj個のブロック群の全ての想定し得る組み合わせのk番目の組み合わせを示し、Sj,kは、k番目の組み合わせの前述のケースで既に処理されているj個のブロッキング群のインデックスを含むセットであり、コスト関数
Figure 0006389264
は、コードブロック群セットSj,k中の全てのブロッキング群のコストの和、すなわち、最適な処理順序
Figure 0006389264
を使用することによってSj,kに含まれるj個のコードブロック群を処理するために必要とされる全コストであり、及び、RD(Sj,k,i)は、Sj,kによって表わされるk番目の組み合わせにより示されるj個の全てのブロック群が処理された場合においてブロッキング群iがエンコードされるときに引き起こされるコストを示す。
前述のプロセスを説明するための一例が与えられ、この場合、1,2,3の番号が付けられた処理されるべき3つのコードブロック群が存在する。j=2のときには、Sj,kに関して3つの想定し得るケース、すなわち、Sj,k={1,2}、Sj,k={1,3}、及び、Sj,k={2,3}が存在し、その最適なエンコーディング順序は、O{1,2}=1,2、O{1,3}=3,1、及び、O{2,3}=3,2であり、また、それに対応する最適なコストは、DP({1,2},O{1,2})、DP({1,3},O{1,3})、及び、DP({2,3},O{2,3})である。また、j=3のケースが考えられる。Sj,kに関する3つの想定し得るケースにおいて、他のコードブロック群はそれぞれ、3の番号が付けられたブロッキング群、2の番号が付けられたブロッキング群、及び、1の番号が付けられたブロッキング群であり、また、ブロッキング群をエンコードするための対応するコストはそれぞれRD({1,2},3)、RD({1,3},2)、及び、RD({2,3},1)である。この場合、エンコーディング番号1,2,3を伴う3つのコードブロック群の最小コストDP({1,2,3},O{1,2,3})は、式(3)を使用することによる計算によって得られてもよく、また、その後、最適な処理順序O{1,2,3}が決定される。
Figure 0006389264
随意的に、一実施形態において、ステップ102は、最初の処理順序にしたがってコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップと、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってコードブロック群をエンコードするステップとを含む。
具体的には、コードブロック群の処理順序が決定された後に、コードブロック群に含まれるコードブロックの処理順序が決定される必要が更にあり得る。現在のコードブロック群中のコードブロックの処理順序は、コードブロック群の処理順序にしたがって決定されてもよい。すなわち、現在のコードブロック群と現在のコードブロック群に隣り合うコードブロック群との間の処理順序は、現在のコードブロック群中のコードブロックの処理順序が決定されるように、コードブロック群の処理順序にしたがって決定されてもよい。現在のコードブロック群中のコードブロックが複数の事前に設定された候補処理順序を有してもよく、この場合、各候補処理順序が1つの位置関係に対応し、また、この位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係である。現在のコードブロック群がエンコードされるべきときには、現在のコードブロック群と現在のコードブロック群に隣り合う或いは近い既にエンコードされているコードブロック群との間の相対位置関係が最初に決定されてもよく、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、処理順序にしたがって現在のコードブロック群中の全てのコードブロックがエンコードされ、また、エンコーディングが終了された後、最初の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が最初の処理順序にしたがって完全にエンコードされるまで、相対位置関係等にしたがって決定される必要がある。
随意的に、一実施形態では、コードブロック群の各コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定する前に、方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。随意的に、一実施形態において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。コードブロックの事前に設定された複数の候補処理順序は、複数の方法を使用することにより決定されてもよい。例えば、コードブロックの事前に設定された複数の候補処理順序は、コードブロック群に含まれるコードブロックの分割態様にしたがって決定される。コードブロックの分割態様は等サイズ分割を含んでもよく、すなわち、例えばH.264/AVCで使用されるコードブロック群中のコードブロックのサイズが等しい。例えばHEVCでは、コードブロックの分割態様が不等サイズ分割を更に含んでもよい。等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図4に示され得る。不等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図3に示され得る。図3及び図4に示される幾つかの処理順序が単なる一部の例であり、コードブロックの事前に設定された処理順序がこれらに限定されずに任意の順序であってもよいことが理解されるべきである。
例えば、エンコーダ側は、コードブロック群中のコードブロックの複数の処理順序と、このコードブロック群と既にエンコードされているコードブロック群との相対位置との間の対応関係を事前に設定してもよい。例えば、図4に示されるコードブロックの4つの処理順序が事前に設定されてもよく、この場合、順序0は、左から右への順次走査であり、順序1は、右から左への順次走査であり、順序2は、上から下への縦列ずつの走査であり、及び、順序3は、下から上への縦列ずつの走査である。コードブロック群と既にエンコードされているコードブロック群との相対位置は、図5に示される以下の16個の相対位置であってもよい。すなわち、1.コードブロック群に隣り合う既にエンコードされているコードブロック群が存在しない。2.コードブロック群よりも上側のコードブロック群がエンコードされてしまっている。3.コードブロック群の右側のコードブロック群がエンコードされてしまっている。4.コードブロック群よりも下側のコードブロック群がエンコードされてしまっている。5.コードブロック群の左側のコードブロック群がエンコードされてしまっている。6.コードブロック群の上側及び右側のコードブロック群がエンコードされてしまっている。7.コードブロック群の下側及び右側のコードブロック群がエンコードされてしまっている。8.コードブロック群の左側及び下側のコードブロック群がエンコードされてしまっている。9.コードブロック群の左側及び上側のコードブロック群がエンコードされてしまっている。10.コードブロック群の上側及び下側のコードブロック群がエンコードされてしまっている。11.コードブロック群の左側及び右側のコードブロック群がエンコードされてしまっている。12.コードブロック群の上側、下側、及び、左側のコードブロック群がエンコードされてしまっている。13.コードブロック群の左側、右側、及び、上側のコードブロック群がエンコードされてしまっている。14.コードブロック群の上側、下側、及び、右側のコードブロック群がエンコードされてしまっている。15.コードブロック群の左側、右側、及び、下側のコードブロック群がエンコードされてしまっている。16.コードブロック群の上側、下側、左側、及び、右側のコードブロック群がエンコードされてしまっている。
エンコーダ側は、前述の4つの処理順序と前述の16個の相対位置関係との間の対応関係を更に事前設定してもよい。例えば、相対位置関係1が順序0に対応し、相対位置関係2が順序3に対応し、及び、相対位置関係3が順序2に対応する。
前述の対応関係から分かるように、異なるコードブロック群処理順序が与えられると、現在のコードブロック群に関する前述の16個のケースから対応するケースが選択される。その後、現在のコードブロック群中のコードブロックの処理順序が決定された後、与えられたコードブロック処理順序にしたがって現在のコードブロック群中のコードブロックに関してエンコーディング作業が行われて、コーディングコストが計算される。
ここでは、コードブロック処理順序の決定のために、既に処理されている隣り合うコードブロック群におけるピクセル値をできる限り使用することにより、現在のコードブロック群におけるピクセル値が予測される。コード化画像の空間相関が比較的十分に考慮され、これが圧縮効率を向上させるのに役立つ。
随意的に、一実施形態において、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
すなわち、コードブロックの複数の候補処理順序、及び、複数の候補処理順序と複数の位置関係との間の対応関係、がいずれも事前に設定されてもよい。現在処理されたコードブロック群中のコードブロックの処理順序を決定する際、エンコーダ側は、事前に設定された対応関係に直接にしたがって、現在処理されたコードブロック群中のコードブロックに対応する処理順序を決定してもよく、この場合、複数の候補処理順序及び対応関係は、前述の実施形態におけるそれと同様であり、したがって、ここでは再び詳しく説明しない。
随意的に、一実施形態において、最初の処理順序をビットストリームに書き込むことは、最初の処理順序にしたがってコードブロック群のインデックスを配置するステップと、コードブロック群の配置されたインデックスをエンコードして、エンコードされたインデックスをビットストリームに書き込むステップとを含み、或いは、最初の処理順序にしたがってコードブロック群の座標を配置するステップと、コードブロック群の配置された座標をエンコードして、エンコードされた座標をビットストリームに書き込むステップとを含む。
具体的には、コードブロック群の処理順序が決定された後、処理順序は、インデックス又は座標を用いて或いは他の態様で、デコーダ側がデコーディングを行うときにデコーダ側がコードブロック群のエンコーディング中のエンコーディング順序を直接に取得できるように、ビットストリームに書き込まれてもよい。具体的には、以下の2つの態様が存在してもよい。
1つの態様では、インデックス番号、例えば0〜N−1が、左から右へ及び上から下へのライン走査によってコード化画像中のコードブロック群に割り当てられてもよい。N個のインデックス番号は、計算によって得られる最適な処理順序にしたがってビットストリームに書き込まれる。
他の態様では、水平座標値及び垂直座標値が左から右へ及び上から下へとコードブロック群に対して割り当てられてもよい。例えば、(x,y)がコードブロックを示す。コード化画像がw個のコードブロック群とh個のコードブロック群とをそれぞれ水平方向及び垂直方向に有する場合には、コード化画像が全体でN個のコードブロック群を有し、ここで、N=w*hであり、また、x、yの値範囲はそれぞれ0≦x≦w−1及び0≦y≦h−1である。N個の座標群は、計算によって得られる最適な処理順序にしたがってエンコードされてもよい。例えば、N個の水平座標値及びN個の垂直座標値は、パルス符号変調(Pulse Code Modulation,PCM)と同様なエンコーディング態様を使用することにより独立に順次にエンコードされてもよい。或いは、N個の水平座標値及びN個の垂直座標値は、差分パルス符号変調(Differential Pulse Code Modulation,DPCM)と同様なエンコーディング態様を使用することによりエンコードされてもよい。
コードブロック群の最適な処理順序Oが前述の方法を使用することによりエンコードされた後、エンコーディングの結果がビデオビットストリームへ出力され、それにより、デコーダ側が最適な処理順序にしたがってデコーディングを行う。
随意的に、一実施形態において、コードブロック群のコーディングコストは、以下のうちの少なくとも1つ、すなわち、コードブロック群をエンコードするために費やされるビットの量、又は、コードブロック群の歪みのうちの少なくとも1つを含む。コードブロック群のコーディングコストは、ブロック群のエンコーディングの品質を測定するための重要な基準である。コーディングコストが計算されるときには、ブロックをエンコードするために費やされるビットの量及び再構成後のブロックの品質が計算される。コーディングコストのより小さい値は、ブロックのより良好なエンコーディングを示す。
ターゲット画像がエンコードされるべきときには、ターゲット画像中に含まれるコードブロック群の最初の処理順序が本発明のこの実施形態における方法にしたがって決定されてもよいことが理解されるべきである。コードブロック群中のコードブロックの処理順序が決定されるときには、一部のコードブロック群中のコードブロックの処理順序が決定されてもよく、また、他のコードブロック群中のコードブロックの処理順序が他の技術的解決策にしたがって決定されてもよく或いは予め決定されてもよい。
本発明のこの実施形態では、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序が決定され、また、最初の処理順序にしたがって複数のコードブロック群がエンコードされ、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
図2は、本発明の一実施形態に係るデコーディング方法のフローチャートである。
201.ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得する。
202.最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定する。
203.最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってビットストリームをデコードする。
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、ターゲット画像のビットストリームは、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってデコードされる。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
随意的に、一実施形態では、複数のコードブロック群の1つのコードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定する前に、方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。
エンコーディングとデコーディングとの間のマッチングを確保するために、デコーダ側は、エンコーダ側により使用される解決策と同じである解決策を使用して、現在のコードブロック群中のコードブロックの処理順序をコードブロック群の処理順序にしたがって決定する。現在のコードブロック群中のコードブロックが複数の事前に設定された候補処理順序を有してもよく、この場合、各候補処理順序が1つの位置関係に対応し、また、この位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係である。現在のコードブロック群がデコードされるべきときには、現在のコードブロック群と現在のコードブロック群に隣り合う或いは近い既にデコードされているコードブロック群との間の相対位置関係が最初に決定されてもよく、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、処理順序にしたがって現在のコードブロック群中の全てのコードブロックがデコードされ、また、デコーディングが終了された後、最初の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が最初の処理順序にしたがって完全にデコードされるまで、相対位置関係等にしたがって決定される必要がある。
随意的に、一実施形態において、複数のコードブロック群の各コードブロック群中のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップとを含む。随意的に、一実施形態において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。コードブロックの事前に設定された複数の候補処理順序は、複数の方法を使用することにより決定されてもよい。例えば、コードブロックの事前に設定された複数の候補処理順序は、コードブロック群に含まれるコードブロックの分割態様にしたがって決定される。コードブロックの分割態様は等サイズ分割を含んでもよく、すなわち、例えばH.264/AVCで使用されるコードブロック群中のコードブロックのサイズが等しい。例えばHEVCでは、コードブロックの分割態様が不等サイズ分割を更に含んでもよい。等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図4に示され得る。不等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図3に示され得る。図3及び図4に示される幾つかの処理順序が単なる一部の例であり、コードブロックの事前に設定された処理順序がこれらに限定されずに任意の順序であってもよいことが理解されるべきである。
例えば、デコーダ側は、コードブロック群中のコードブロックの複数の処理順序と、このコードブロック群とデコードされたコードブロック群との相対位置対応関係とを事前に設定してもよい。例えば、図4に示されるコードブロックの4つの処理順序が事前に設定され、この場合、順序0は、左から右への順次走査であり、順序1は、右から左への順次走査であり、順序2は、上から下への縦列ずつの走査であり、及び、順序3は、下から上への縦列ずつの走査である。コードブロック群と既にデコードされているコードブロック群との相対位置は、図5に示される以下の16個の相対位置であってもよい。すなわち、1.コードブロック群に隣り合う既にデコードされているコードブロック群が存在しない。2.コードブロック群よりも上側のコードブロック群がデコードされてしまっている。3.コードブロック群の右側のコードブロック群がデコードされてしまっている。4.コードブロック群よりも下側のコードブロック群がデコードされてしまっている。5.コードブロック群の左側のコードブロック群がデコードされてしまっている。6.コードブロック群の上側及び右側のコードブロック群がデコードされてしまっている。7.コードブロック群の下側及び右側のコードブロック群がデコードされてしまっている。8.コードブロック群の左側及び下側のコードブロック群がデコードされてしまっている。9.コードブロック群の左側及び上側のコードブロック群がデコードされてしまっている。10.コードブロック群の上側及び下側のコードブロック群がデコードされてしまっている。11.コードブロック群の左側及び右側のコードブロック群がデコードされてしまっている。12.コードブロック群の上側、下側、及び、左側のコードブロック群がデコードされてしまっている。13.コードブロック群の左側、右側、及び、上側のコードブロック群がデコードされてしまっている。14.コードブロック群の上側、下側、及び、右側のコードブロック群がデコードされてしまっている。15.コードブロック群の左側、右側、及び、下側のコードブロック群がデコードされてしまっている。16.コードブロック群の上側、下側、左側、及び、右側のコードブロック群がデコードされてしまっている。
デコーダ側は、前述の4つの処理順序と前述の16個の相対位置関係との間の対応関係を更に事前設定してもよい。例えば、相対位置関係1が順序0に対応し、相対位置関係2が順序3に対応し、及び、相対位置関係3が順序2に対応する。
前述の対応関係から分かるように、異なるコードブロック群処理順序が与えられると、現在のコードブロック群に関する前述の16個のケースから対応するケースが選択される。その後、現在のコードブロック群中のコードブロックの処理順序が決定された後、与えられたコードブロック処理順序にしたがって現在のコードブロック群中のコードブロックに関してデコーディング作業が行われる。
デコーダ側の前述の複数の事前に設定されたモード及び対応関係は、エンコーダ側の事前に設定されたモード及び対応関係と同じであることが理解されるべきである。
随意的に、一実施形態において、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
すなわち、コードブロックの複数の候補処理順序、及び、複数の候補処理順序と複数の位置関係との間の対応関係、がいずれも事前に設定されてもよい。現在処理されたコードブロック群中のコードブロックの処理順序を決定する際、エンコーダ側は、事前に設定された対応関係に直接にしたがって、現在処理されたコードブロック群中のコードブロックに対応する処理順序を決定してもよく、この場合、複数の候補処理順序及び対応関係は、前述の実施形態におけるそれと同様であり、したがって、ここでは再び詳しく説明しない。
随意的に、一実施形態において、ステップ201は、複数のコードブロック群の配置されたインデックスを得るためにビットストリームをデコードするステップと、複数のコードブロック群のインデックスの配置順序にしたがって最初の処理順序を決定するステップとを含み、或いは、複数のコードブロック群の配置された座標を得るためにビットストリームをデコードするステップと、複数のコードブロック群の座標の配置順序にしたがって最初の処理順序を決定するステップとを含む。
具体的には、コードブロック群の処理順序を決定した後、エンコーダ側は、インデックス又は座標を用いて或いは他の態様で、デコーダ側がデコーディングを行うときにデコーダ側がコードブロック群のエンコーディング中のエンコーディング順序を直接に取得できるように、処理順序をビットストリームに書き込んでもよい。具体的には、以下の2つの態様が存在してもよい。
1つの態様では、インデックス番号、例えば0〜N−1が、左から右へ及び上から下へのライン走査によってコード化画像中のコードブロック群に割り当てられてもよい。N個のインデックス番号は、計算によって得られる最適な処理順序にしたがってビットストリームに書き込まれる。
他の態様では、水平座標値及び垂直座標値が左から右へ及び上から下へとコードブロック群に対して割り当てられてもよい。例えば、(x,y)がコードブロックを示す。コード化画像がw個のコードブロック群とh個のコードブロック群とをそれぞれ水平方向及び垂直方向に有する場合には、コード化画像が全体でN個のコードブロック群を有し、ここで、N=w*hであり、また、x、yの値範囲はそれぞれ0≦x≦w−1及び0≦y≦h−1である。N個の座標群は、計算によって得られる最適な処理順序にしたがってエンコードされてもよい。例えば、N個の水平座標値及びN個の垂直座標値は、パルス符号変調(Pulse Code Modulation,PCM)と同様なエンコーディング態様を使用することにより独立に順次にエンコードされてもよい。或いは、N個の水平座標値及びN個の垂直座標値は、差分パルス符号変調(Differential Pulse Code Modulation,DPCM)と同様なエンコーディング態様を使用することによりエンコードされてもよい。
すなわち、これに対応して、デコーダ側は、エンコーダ側によってビットストリームに書き込まれる情報にしたがって前述の2つの態様でコードブロック群の処理順序を学習してもよい。
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、ターゲット画像のビットストリームは、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってデコードされる。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
図3は、本発明の一実施形態に係るコードブロックの処理順序の概略図である。図4は、本発明の他の実施形態に係るコードブロックの処理順序の概略図である。
本発明の実施形態におけるコードブロック群の処理順序が任意の順序であってもよいことが理解されるべきである。コードブロック群の処理順序の決定又は選択は、図2における前述の実施形態で詳しく説明されており、したがって、ここでは再び詳しく説明しない。
コードブロック群中の全てのコードブロックの処理順序は、事前に設定された複数の候補処理順序から選択されてもよい。例えば、図3に示されるZ形状走査の4つの処理順序が事前に設定されてもよく、或いは、図4に示される順次走査の4つの処理順序が事前に設定されてもよい。本明細書中では、図3及び図4が実施例により説明を容易にするためだけに使用されるにすぎない。実際には、任意の量の処理順序が事前に設定されてもよく、また、1つの処理順序が任意であるか又は省かれてもよく、これは本発明では限定されない。
例えばHEVCにおけるCTU中のCUが異なるサイズを有し得るケースと同様に、コードブロック群中のコードブロックが異なるサイズを有する場合、ライン走査の順序は、コードブロックを処理するべく使用されるのに適さない。この場合、図3に示される4つの処理順序がコードブロックの事前に設定される処理順序として選択されてよい。例えばH.264/AVCにおけるMB中のSMBが同じサイズを有するケースと同様に、コードブロック群中のコードブロックが同じサイズを有する場合には、図4に示される順次走査の4つの処理順序がコードブロックの事前に設定される処理順序として選択されてもよい。コードブロックにおける番号は、対応するコードブロックの処理順序を表わす。
図5は、本発明の一実施形態に係るコードブロックの候補処理順序と複数の位置関係との間の対応関係の概略図である。
エンコーダ側は、コードブロック群中のコードブロックの複数の処理順序と、このコードブロック群と既にエンコードされているコードブロック群との相対位置との対応関係を事前に設定してもよい。例えば、コードブロックの4つの処理順序が事前に設定されてもよく、この場合、順序0は、左から右への順次走査であり、順序1は、右から左への順次走査であり、順序2は、上から下への縦列ずつの走査であり、及び、順序3は、下から上への縦列ずつの走査である。コードブロック群と既にエンコードされているコードブロック群との相対位置が図5に示される16個の相対位置に事前設定されてもよい。1.コードブロック群に隣り合う既にエンコードされているコードブロック群が存在しない。2.コードブロック群よりも上側のコードブロック群がエンコードされてしまっている。3.コードブロック群の右側のコードブロック群がエンコードされてしまっている。4.コードブロック群よりも下側のコードブロック群がエンコードされてしまっている。5.コードブロック群の左側のコードブロック群がエンコードされてしまっている。6.コードブロック群の上側及び右側のコードブロック群がエンコードされてしまっている。7.コードブロック群の下側及び右側のコードブロック群がエンコードされてしまっている。8.コードブロック群の左側及び下側のコードブロック群がエンコードされてしまっている。9.コードブロック群の左側及び上側のコードブロック群がエンコードされてしまっている。10.コードブロック群の上側及び下側のコードブロック群がエンコードされてしまっている。11.コードブロック群の左側及び右側のコードブロック群がエンコードされてしまっている。12.コードブロック群の上側、下側、及び、左側のコードブロック群がエンコードされてしまっている。13.コードブロック群の左側、右側、及び、上側のコードブロック群がエンコードされてしまっている。14.コードブロック群の上側、下側、及び、右側のコードブロック群がエンコードされてしまっている。15.コードブロック群の左側、右側、及び、下側のコードブロック群がエンコードされてしまっている。16.コードブロック群の上側、下側、左側、及び、右側のコードブロック群がエンコードされてしまっている。
エンコーダ側は、前述の4つの処理順序と前述の16個の相対位置関係との間の対応関係を更に事前設定してもよい。例えば、相対位置関係1が順序0に対応し、相対位置関係2が順序3に対応し、及び、相対位置関係3が順序2に対応する。
図5に示される対応関係が実施例により説明を容易にするためだけに使用されるにすぎないことが理解されるべきである。実際には、任意の量の処理順序及び任意の量の相対位置関係が事前に設定されてもよく、また、1つの処理順序が任意であり又は省かれてもよく、これは本発明では限定されない。
前述の対応関係から分かるように、異なるコードブロック群処理順序が与えられると、現在のコードブロック群に関する前述の16個のケースから対応するケースが選択される。その後、現在のコードブロック群中のコードブロックの処理順序が決定された後、与えられたコードブロック処理順序にしたがって現在のコードブロック群中のコードブロックに関してエンコーディング作業が行われて、コーディングコストが計算される。例えば、現在のコードブロック群が最初の処理順序にしたがって処理されるべきときには、現在のコードブロック群の左側及び右側のコードブロック群がエンコードされてしまったことが最初に決定され得る。現在のコードブロックが位置関係11にあるとともに、現在のコードブロックに対応するコードブロック処理順序が順序0であることが、図5における相対位置関係にしたがって決定されてもよい。その後、エンコーダ側は、順序0にしたがってコードブロック群中のコードブロックに関して左から右へ順次走査を行って、コードブロックをエンコードしてもよい。全てのコードブロックが完全にエンコードされた後、次のコードブロック群が最初のエンコーディング順序にしたがって処理される。
ここでは、コードブロック処理順序の決定のために、既に処理されている隣り合うコードブロック群におけるピクセル値をできる限り使用することにより、現在のコードブロック群におけるピクセル値が予測される。コード化画像の空間相関が比較的十分に考慮され、これが圧縮効率を向上させるのに役立つ。
図6は、本発明の一実施形態に係るエンコーダ側のエンコーディングのフローチャートである。
最初に、ターゲット画像601が複数の重なり合わないコードブロック群に分けられる。コードブロック群のための分割方法は、エンコーディング標準規格及びデコーディング標準規格に依存してよい。例えば、HEVCにおいて分割により得られるコードブロック群がCTUであってもよく、また、H.264/AVCにおいて分割により得られるコードブロック群がMBであってもよい。また、コードブロック群の分割が事前に設定されてもよく或いは任意であってもよい。また、コードブロック群は、コーディングパラメータを独立に決定できる複数のコードブロックに更に分けられ続けてもよい。前述のコードブロック群又はコードブロックはピクセルのセットである。例えば、コードブロックのサイズがN×Nであれば、それは、ブロックが水平方向及び垂直方向の両方でN−ピクセルを有する二次元ピクセルアレイであることを示す。
エンコーダ側は、コードブロックにおけるピクセルの予測子602を取得するために、コードブロックに関して予測作業を行う。予測作業は、一般的には、フレーム間予測611とフレーム内予測612とに分類されてもよい。また、コードブロックのピクセルの元の値603とコードブロックのピクセルの予測子602との間の差が計算される。コードブロックにおけるピクセルの予測された差のセットは、コードブロックの残差604と称される。残差604に関して変換・量子化613が行われた後、変換量子化係数605が得られる。最後に、変換量子化係数605に関してエントロピーエンコーディング614作業が行われ、また、エントロピーエンコーディングで出力されるビット列がビットストリームに書き込まれる。また、再構成残差606を得るために、変換・量子化613が行われた変換量子化係数605に関して逆量子化・逆変換615作業が行われ、また、ブロックの再構成607を得るために現在のコードブロックの再構成残差606と予測子602とが互いに加えられる。現在のブロックの再構成607は、その後のコードブロックを予測するために使用されるようになっており、この場合、その後のコードブロックは、現在のコード化画像中の処理されるべきコードブロックであってもよく、或いは、その後のエンコードされるべき画像中のコードブロックであってもよい。
ターゲット画像601に関して予測コーディングを行う前に、エンコーダ側は、最初に、ターゲット画像601中に含まれる複数のコードブロック群の処理順序を決定してもよい。具体的には、コードブロック群が異なる処理順序で処理されるときに、各コードブロック群のコーディングコストが処理順序に伴って変化する。したがって、全てのコードブロック群の最小全コーディングコストを得ることができる処理順序が、エンコーディングが実際に行われるときのコードブロック群の処理順序として使用されてもよいことが決定されてもよい。特定の決定方法に関しては、図1中の前述の実施形態における関連するステップ及び式(1)及び(2)を参照することができ、したがって、ここでは再び詳しく説明しない。
コードブロック群の処理順序が決定された後、各コードブロック群中のコードブロックの処理順序が決定されてもよい。具体的には、現在のコードブロック群と現在のコードブロック群に隣り合うコードブロック群との間の処理順序は、現在のコードブロック群中のコードブロックの処理順序が決定されるように、コードブロック群の処理順序にしたがって決定されてもよい。現在のコードブロック群中のコードブロックが複数の事前に設定された候補処理順序を有してもよく、この場合、各候補処理順序が1つの位置関係に対応し、また、この位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係である。現在のコードブロック群がエンコードされるべきときには、現在のコードブロック群と現在のコードブロック群に隣り合う或いは近い既にエンコードされているコードブロック群との間の相対位置関係が最初に決定されてもよく、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、処理順序にしたがって現在のコードブロック群中の全てのコードブロックがエンコードされ、また、エンコーディングが終了された後、コードブロック群の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が処理順序にしたがって完全にエンコードされるまで、相対位置関係等にしたがって決定される必要がある。前述の「処理」は、予測作業611,612、残差604を決定する作業、変換/量子化613作業、エントロピーエンコーディング614作業、逆量子化/逆変換614作業、再構成607作業等を含んでもよい。
また、ビットストリームが生成されるときに、コードブロック群の処理順序がビットストリームに書き込まれてもよく、それにより、デコーダ側がその順序にしたがってデコーディングを行う。特定の処理順序のための識別方法に関しては、図1における対応する方法を参照することができ、したがって、ここでは再び詳しく説明しない。
本発明のこの実施形態では、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の処理順序が決定され、また、その処理順序にしたがって複数のコードブロック群がエンコードされ、それにより、ターゲット画像における空間相関を十分に利用することができ、その結果、エンコーディング中の圧縮効率が向上される。
図7は、本発明の一実施形態に係るデコーダ側のデコーディングのフローチャートである。
デコーダ側の処理方法は、エンコーダ側のそれに対応する。エンコーダ側によってエンコードされて出力されるビットストリームを得た後、デコーダ側は、そのビットストリームから、エンコーダ側がコードブロック群をエンコードするときの処理順序を取得してもよい。処理順序にしたがって、デコーダ側は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う或いは近い既にデコードされているコードブロック群との間の相対位置関係を最初に決定することができ、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、処理順序にしたがって現在のコードブロック群中の全てのコードブロックがデコードされ、また、デコーディングが終了された後、最初の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が最初の処理順序にしたがって完全にデコードされるまで、相対位置関係等にしたがって決定される必要がある。具体的には、図2における前述の方法を参照することができ、したがって、ここでは再び詳しく説明しない。言うまでもなく、デコーダ側による前述の「処理」は、予測モード情報及び変換量子化係数701を得るために入力ビットストリームに関してエントロピーデコーディング711を行うことを含む。デコーダは、現在のコードブロックの予測を得るために既に再構成されているブロック又は画像と予測モード情報とを使用し、再構成残差702を得るために変換量子化係数701に関して逆量子化/逆変換712が行われ、また、コードブロックの再構成704を得るために現在のコードブロックの再構成残差702と予測子703とが互いに加えられる。エンコーダ側は、コードブロック群の決定された処理順序とコードブロック群中のコードブロックの処理順序とにしたがって各コードブロックに関する情報をビットストリームに書き込む。それに対応して、デコーダ側は、コードブロックのデコーディングにより得られる再構成されたブロックを前述の順序で再構成された画像中に連続的に入れ込む。
本発明のこの実施形態では、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の処理順序が決定され、また、その処理順序にしたがって複数のコードブロック群がエンコードされ、それにより、ターゲット画像における空間相関を十分に利用することができ、その結果、エンコーディング中の圧縮効率が向上される。
図8は、本発明の一実施形態に係るエンコーダ80の概略ブロック図である。図8におけるエンコーダ80は、決定ユニット81とエンコーディングユニット82とを含む。
決定ユニット81は、ターゲット画像の全コーディングコストにしたがって、ターゲット画像に含まれる複数のコードブロック群の最初の処理順序を決定する。エンコーディングユニット82は、決定ユニット81により決定される最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードして、ビットストリームを生成し、また、エンコーディングユニット82は、決定ユニット81により決定される最初の処理順序をビットストリームに書き込む。
本発明のこの実施形態におけるエンコーダ80は、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するとともに、最初の処理順序にしたがって複数のコードブロック群をエンコードし、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
言うまでもなく、本発明のこの実施形態におけるターゲット画像は、エンコードされるべき画像であり、或いは、コード化画像と称されてもよい。ターゲット画像は、複数の重なり合わないコードブロック群に分けられ、この場合、コードブロック群は、HEVCにおけるコーディングツリーユニットCTUに相当してもよく、或いは、H.264/AVCにおけるマクロブロックMB或いは同様のものに相当してもよい。コードブロック群は、コーディングパラメータを独立に決定できる複数のコードブロックに分けられ続けてもよく、この場合、コードブロックは、HEVCにおけるコードユニットCUに相当してもよく、或いは、H.264/AVCにおけるサブマクロブロックSMB或いは同様のものに相当してもよい。
随意的に、一実施形態において、決定ユニット81は、具体的には、複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するように構成され、この場合、各処理順序に対応する全コーディングコストは、各処理順序にしたがって複数のコードブロック群がエンコードされるときのコーディングコストの和であり、また、決定ユニット81は、全ての処理順序に対応する全コーディングコストの最小全コーディングコストに対応する処理順序が最初の処理順序であることを決定するように構成される。
具体的には、コードブロック群が異なる処理順序で処理されるときに、各コードブロック群のコーディングコストが処理順序に伴って変化する。コードブロック群のコーディングコストは、ブロック群のエンコーディングの品質を測定するための重要な基準である。コーディングコストが計算されるときには、ブロックをエンコードするために費やされるビットの量及び再構成後のブロックの品質が計算される。コーディングコストのより小さい値は、ブロックのより良好なエンコーディングを示す。したがって、全てのコードブロック群の最小全コーディングコストを得ることができる処理順序が最適な処理順序として使用されてもよい。したがって、最適な処理順序を決定する問題は、最小全コーディングコスト、すなわち、式(4)を解く問題へと変換されてよい。
Figure 0006389264
ここで、Nは、コードブロック群の全体の量を示し、1≦i≦Nは、コードブロック群のインデックスが左右上下の順序で示されることを表わし、Oは、コードブロック群の処理順序を示すベクトルであり、Oのそれぞれの項目は、コードブロック群のインデックスの配置態様であり、全体の想定し得る処理順序はNの順列N!あり、O=[1,2,…,N]であるときに示される処理順序は、伝統的なライン走査順序であり、Sj,kは、既に処理されているj個のブロック群のインデックスを含むセットであり、kは、既に処理されているjブロック群がN個のブロック群から選択されるj個のブロック群の
Figure 0006389264
個の想定し得る組み合わせのk番目の組み合わせであることを示し、iは、エンコードされないブロック群のうちの1つを示し、RD(Sj,k,i)は、Sj,k中の全てのコードブロック群が処理されてしまった場合においてコードブロック群iを処理するために必要とされるコストを示し、SNは、N個の全てのコードブロック群のセットを示し、
Figure 0006389264
は、N個のコードブロック群の最適な処理順序を示し、及び、最適な問題の目的は、N個の全てのコードブロック群の全コスト
Figure 0006389264
が最小であるように処理順序
Figure 0006389264
を見出すことである。
Figure 0006389264
を解くためには、各コードブロック群のコストRD(Sj,k,i)を計算する必要がある。1つのコードブロック群のコストRD(Sj,k,i)が得られた後、コードブロック群の最適な処理順序を決定するために式(5)で表わされる方法が使用されてもよい。
Figure 0006389264
ここで、j,1≦j≦N−1は、既に処理されているコードブロック群の量を示し、
Figure 0006389264
は、既に処理されているj個のブロック群の全ての想定し得る組み合わせのk番目の組み合わせを示し、Sj,kは、k番目の組み合わせの前述のケースで既に処理されているj個のブロッキング群のインデックスを含むセットであり、コスト関数
Figure 0006389264
は、コードブロック群セットSj,k中の全てのブロッキング群のコストの和、すなわち、最適な処理順序
Figure 0006389264
を使用することによってSj,kに含まれるj個のコードブロック群を処理するために必要とされる全コストであり、及び、RD(Sj,k,i)は、Sj,kによって表わされるk番目の組み合わせにより示されるj個の全てのブロック群が処理された場合においてブロッキング群iがエンコードされるときに引き起こされるコストを示す。
前述のプロセスを説明するための一例が与えられ、この場合、1,2,3の番号が付けられた処理されるべき3つのコードブロック群が存在する。j=2のときには、Sj,kに関して3つの想定し得るケース、すなわち、Sj,k={1,2}、Sj,k={1,3}、及び、Sj,k={2,3}が存在し、その最適なエンコーディング順序は、O{1,2}=1,2、O{1,3}=3,1、及び、O{2,3}=3,2であり、また、それに対応する最適なコストは、DP({1,2},O{1,2})、DP({1,3},O{1,3})、及び、DP({2,3},O{2,3})DP({2,3},O{2,3})である。また、j=3のケースが考えられる。Sj,kに関する3つの想定し得るケースにおいて、他のコードブロック群はそれぞれ、3の番号が付けられたブロッキング群、2の番号が付けられたブロッキング群、及び、1の番号が付けられたブロッキング群であり、また、ブロッキング群をエンコードするための対応するコストはそれぞれRD({1,2},3)、RD({1,3},2)、及び、RD({2,3},1)である。この場合、エンコーディング番号1,2,3を伴う3つのコードブロック群の最小コストDP({1,2,3},O{1,2,3})は、式(6)(3)を使用することによる計算によって得られてもよく、また、その後、最適な処理順序O{1,2,3}が決定される。
Figure 0006389264
随意的に、一実施形態において、エンコーディングユニットは、具体的には、決定ユニットを使用することにより最初の処理順序にしたがってコードブロック群に含まれる複数のコードブロックの処理順序を決定するとともに、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってコードブロック群をエンコードするように構成される。
具体的には、コードブロック群の処理順序が決定された後に、コードブロック群に含まれるコードブロックの処理順序が決定される必要が更にあり得る。現在のコードブロック群中のコードブロックの処理順序は、コードブロック群の処理順序にしたがって決定されてもよい。すなわち、現在のコードブロック群と現在のコードブロック群に隣り合うコードブロック群との間の処理順序は、現在のコードブロック群中のコードブロックの処理順序が決定されるように、コードブロック群の処理順序にしたがって決定されてもよい。現在のコードブロック群中のコードブロックが複数の事前に設定された候補処理順序を有してもよく、この場合、各候補処理順序が1つの位置関係に対応し、また、この位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係である。現在のコードブロック群がエンコードされるべきときには、現在のコードブロック群と現在のコードブロック群に隣り合う或いは近い既にエンコードされているコードブロック群との間の相対位置関係が最初に決定されてもよく、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、その処理順序にしたがって現在のコードブロック群中の全てのコードブロックがエンコードされ、また、エンコーディングが終了された後、最初の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が最初の処理順序にしたがって完全にエンコードされるまで、相対位置関係等にしたがって決定される必要がある。
随意的に、一実施形態において、決定ユニットは、コードブロックの複数の候補処理順序を決定するとともに、複数の候補処理順序と複数の位置関係との間の対応関係を決定するように構成され、この場合、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。随意的に、一実施形態に置いて、決定ユニットは、コードブロックの事前に設定された複数の候補処理順序を使用するように更に構成される。コードブロックの事前に設定された複数の候補処理順序は、複数の方法を使用することにより決定されてもよい。例えば、コードブロックの事前に設定された複数の候補処理順序は、コードブロック群に含まれるコードブロックの分割態様にしたがって決定される。コードブロックの分割態様は等サイズ分割を含んでもよく、すなわち、例えばH.264/AVではコードブロック群中のコードブロックのサイズが等しい。例えばHEVCでは、コードブロックの分割態様が不等サイズ分割を更に含んでもよい。等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図4に示され得る。不等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図3に示され得る。図3及び図4に示される幾つかの処理順序が単なる一部の例であり、コードブロックの事前に設定された処理順序がこれらに限定されずに任意の順序であってもよいことが理解されるべきである。
例えば、エンコーダ80は、コードブロック群中のコードブロックの複数の処理順序と、このコードブロック群と既にエンコードされたコードブロック群との相対位置との間の対応関係を事前に設定してもよい。例えば、図4に示されるコードブロックの4つの処理順序が事前に設定されてもよく、この場合、順序0は、左から右への順次走査であり、順序1は、右から左への順次走査であり、順序2は、上から下への縦列ずつの走査であり、及び、順序3は、下から上への縦列ずつの走査である。コードブロック群と既にエンコードされているコードブロック群との相対位置は、図5に示される以下の16個の相対位置であってもよい。すなわち、1.コードブロック群に隣り合う既にエンコードされているコードブロック群が存在しない。2.コードブロック群よりも上側のコードブロック群がエンコードされてしまっている。3.コードブロック群の右側のコードブロック群がエンコードされてしまっている。4.コードブロック群よりも下側のコードブロック群がエンコードされてしまっている。5.コードブロック群の左側のコードブロック群がエンコードされてしまっている。6.コードブロック群の上側及び右側のコードブロック群がエンコードされてしまっている。7.コードブロック群の下側及び右側のコードブロック群がエンコードされてしまっている。8.コードブロック群の左側及び下側のコードブロック群がエンコードされてしまっている。9.コードブロック群の左側及び上側のコードブロック群がエンコードされてしまっている。10.コードブロック群の上側及び下側のコードブロック群がエンコードされてしまっている。11.コードブロック群の左側及び右側のコードブロック群がエンコードされてしまっている。12.コードブロック群の上側、下側、及び、左側のコードブロック群がエンコードされてしまっている。13.コードブロック群の左側、右側、及び、上側のコードブロック群がエンコードされてしまっている。14.コードブロック群の上側、下側、及び、右側のコードブロック群がエンコードされてしまっている。15.コードブロック群の左側、右側、及び、下側のコードブロック群がエンコードされてしまっている。16.コードブロック群の上側、下側、左側、及び、右側のコードブロック群がエンコードされてしまっている。
エンコーダ80は、前述の4つの処理順序と前述の16個の相対位置関係との間の対応関係を更に事前設定してもよい。例えば、相対位置関係1が順序0に対応し、相対位置関係2が順序3に対応し、及び、相対位置関係3が順序2に対応する。
前述の対応関係から分かるように、異なるコードブロック群処理順序が与えられると、現在のコードブロック群に関する前述の16個のケースから対応するケースが選択される。その後、現在のコードブロック群中のコードブロックの処理順序が決定された後、与えられたコードブロック処理順序にしたがって現在のコードブロック群中のコードブロックに関してエンコーディング作業が行われて、コーディングコストが計算される。
ここでは、コードブロック処理順序の決定のために、既に処理されている隣り合うコードブロック群におけるピクセル値をできる限り使用することにより、現在のコードブロック群におけるピクセル値が予測される。コード化画像の空間相関が比較的十分に考慮され、これが圧縮効率を向上させるのに役立つ。
随意的に、一実施形態において、決定ユニットは、具体的には、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するとともに、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成される。
随意的に、一実施形態において、決定ユニットは、具体的には、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するとともに、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成され、この場合、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
すなわち、コードブロックの複数の候補処理順序、及び、複数の候補処理順序と複数の位置関係との間の対応関係、がいずれも事前に設定されてもよい。現在処理されたコードブロック群中のコードブロックの処理順序を決定する際、エンコーダ80は、事前に設定された対応関係に直接にしたがって、現在処理されたコードブロック群中のコードブロックに対応する処理順序を決定してもよく、この場合、複数の候補処理順序及び対応関係は、前述の実施形態におけるそれと同様であり、したがって、ここでは再び詳しく説明しない。
随意的に、一実施形態において、エンコーディングユニットは、具体的には、最初の処理順序にしたがってコードブロック群のインデックスを配置するとともに、コードブロック群の配置されたインデックスをエンコードして、エンコードされたインデックスをビットストリームに書き込むように構成され、或いは、最初の処理順序にしたがってコードブロック群の座標を配置するとともに、コードブロック群の配置された座標をエンコードして、エンコードされた座標をビットストリームに書き込むように構成される。
具体的には、コードブロック群の処理順序が決定された後、処理順序は、インデックス又は座標を用いて或いは他の態様で、デコーダ側がデコーディングを行うときにデコーダ側がコードブロック群のエンコーディング中のエンコーディング順序を直接に取得できるように、ビットストリームに書き込まれてもよい。具体的には、以下の2つの態様が存在してもよい。
1つの態様では、インデックス番号、例えば0〜N−1が、左から右へ及び上から下へのライン走査によってコード化画像中のコードブロック群に割り当てられてもよい。N個のインデックス番号は、計算によって得られる最適な処理順序にしたがってビットストリームに書き込まれる。
他の態様では、水平座標値及び垂直座標値が左から右へ及び上から下へとコードブロック群に対して割り当てられてもよい。例えば、(x,y)がコードブロックを示す。コード化画像がw個のコードブロック群とh個のコードブロック群とをそれぞれ水平方向及び垂直方向に有する場合には、コード化画像が全体でN個のコードブロック群を有し、ここで、N=w*hであり、また、x、yの値範囲はそれぞれ0≦x≦w−1及び0≦y≦h−1である。N個の座標群は、計算によって得られる最適な処理順序にしたがってエンコードされてもよい。例えば、N個の水平座標値及びN個の垂直座標値は、パルス符号変調(Pulse Code Modulation,PCM)と同様なエンコーディング態様を使用することにより独立に順次にエンコードされてもよい。或いは、N個の水平座標値及びN個の垂直座標値は、差分パルス符号変調(Differential Pulse Code Modulation,DPCM)と同様なエンコーディング態様を使用することによりエンコードされてもよい。
コードブロック群の最適な処理順序Oが前述の方法を使用することによりエンコードされた後、エンコーディングの結果がビデオビットストリームへ出力され、それにより、デコーダ側が最適な処理順序にしたがってデコーディングを行う。
随意的に、一実施形態において、コードブロック群のコーディングコストは、以下のうちの少なくとも1つ、すなわち、コードブロック群をエンコードするためにエンコーディングユニットにより費やされるビットの量、又は、コードブロック群の歪みのうちの少なくとも1つを含む。
コードブロック群のコーディングコストは、ブロック群のエンコーディングの品質を測定するための重要な基準である。コーディングコストが計算されるときには、ブロックをエンコードするために費やされるビットの量及び再構成後のブロックの品質が計算される。コーディングコストのより小さい値は、ブロックのより良好なエンコーディングを示す。
ターゲット画像がエンコードされるべきときには、ターゲット画像中に含まれるコードブロック群の最初の処理順序が本発明のこの実施形態における方法にしたがって決定されてもよいことが理解されるべきである。コードブロック群中のコードブロックの処理順序が決定されるときには、一部のコードブロック群中のコードブロックの処理順序が決定されてもよく、また、他のコードブロック群中のコードブロックの処理順序が他の技術的解決策にしたがって決定されてもよく或いは予め決定されてもよい。
本発明のこの実施形態におけるエンコーダ80は、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するとともに、最初の処理順序にしたがって複数のコードブロック群をエンコードし、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
図9は、本発明の一実施形態に係るデコーダの概略ブロック図である。図9におけるデコーダ90は、取得ユニット91、決定ユニット92、及び、デコーディングユニット93を含む。
取得ユニット91は、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得する。決定ユニット92は、最初の処理順序にしたがって、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定する。デコーディングユニット93は、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってビットストリームをデコードする。
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、デコーダ90は、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってターゲット画像のビットストリームをデコードする。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
随意的に、一実施形態において、決定ユニット92は、コードブロックの複数の候補処理順序を決定するとともに、複数の候補処理順序と複数の位置関係との間の対応関係を決定するように更に構成され、この場合、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
エンコーディングとデコーディングとの間のマッチングを確保するために、デコーダ90は、エンコーダ側により使用される解決策と同じである解決策を使用して、現在のコードブロック群中のコードブロックの処理順序をコードブロック群の処理順序にしたがって決定する。現在のコードブロック群中のコードブロックが複数の事前に設定された候補処理順序を有してもよく、この場合、各候補処理順序が1つの位置関係に対応し、また、この位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係である。現在のコードブロック群がデコードされるべきときには、現在のコードブロック群と現在のコードブロック群に隣り合う或いは近い既にデコードされているコードブロック群との間の相対位置関係が最初に決定されてもよく、その後、決定された相対位置関係にしたがって、対応するコードブロック群中のコードブロックの処理順序が予め設定された対応付けで決定される。コードブロックの処理順序が決定された後、その処理順序にしたがって現在のコードブロック群中の全てのコードブロックがデコードされ、また、デコーディングが終了された後、最初の処理順序にしたがって次のコードブロック群が処理される。現在のコードブロック群と同様に、次のコードブロック群中のコードブロックの処理順序は、ターゲット画像の全てのコードブロック群が最初の処理順序にしたがって完全にデコードされるまで、相対位置関係等にしたがって決定される必要がある。
随意的に、一実施形態において、決定ユニットは、具体的には、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するとともに、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成される。随意的に、一実施形態に置いて、決定ユニットは、具体的には、コードブロックの事前に設定された複数の候補処理順序を使用するように構成される。コードブロックの事前に設定された複数の候補処理順序は、複数の方法を使用することにより決定されてもよい。例えば、コードブロックの事前に設定された複数の候補処理順序は、コードブロック群に含まれるコードブロックの分割態様にしたがって決定される。コードブロックの分割態様は等サイズ分割を含んでもよく、すなわち、例えばH.264/AVCで使用されるコードブロック群中のコードブロックのサイズが等しい。例えばHEVCでは、コードブロックの分割態様が不等サイズ分割を更に含んでもよい。等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図4に示され得る。不等サイズ分割の場合には、コードブロックの事前に設定された複数の候補処理順序が図3に示され得る。図3及び図4に示される幾つかの処理順序が単なる一部の例であり、コードブロックの事前に設定された処理順序がこれらに限定されずに任意の順序であってもよいことが理解されるべきである。
例えば、デコーダ90は、コードブロック群中のコードブロックの複数の処理順序と、このコードブロック群と既にデコードされているコードブロック群との相対位置との間の対応関係を事前に設定してもよい。例えば、図4に示されるコードブロックの4つの処理順序が事前に設定され、この場合、順序0は、左から右への順次走査であり、順序1は、右から左への順次走査であり、順序2は、上から下への縦列ずつの走査であり、及び、順序3は、下から上への縦列ずつの走査である。コードブロック群と既にデコードされているコードブロック群との相対位置が図5に示される16個の相対位置に事前設定されてもよい。1.コードブロック群に隣り合う既にデコードされているコードブロック群が存在しない。2.コードブロック群よりも上側のコードブロック群がデコードされてしまっている。3.コードブロック群の右側のコードブロック群がデコードされてしまっている。4.コードブロック群よりも下側のコードブロック群がデコードされてしまっている。5.コードブロック群の左側のコードブロック群がデコードされてしまっている。6.コードブロック群の上側及び右側のコードブロック群がデコードされてしまっている。7.コードブロック群の下側及び右側のコードブロック群がデコードされてしまっている。8.コードブロック群の左側及び下側のコードブロック群がデコードされてしまっている。9.コードブロック群の左側及び上側のコードブロック群がデコードされてしまっている。10.コードブロック群の上側及び下側のコードブロック群がデコードされてしまっている。11.コードブロック群の左側及び右側のコードブロック群がデコードされてしまっている。12.コードブロック群の上側、下側、及び、左側のコードブロック群がデコードされてしまっている。13.コードブロック群の左側、右側、及び、上側のコードブロック群がデコードされてしまっている。14.コードブロック群の上側、下側、及び、右側のコードブロック群がデコードされてしまっている。15.コードブロック群の左側、右側、及び、下側のコードブロック群がデコードされてしまっている。16.コードブロック群の上側、下側、左側、及び、右側のコードブロック群がデコードされてしまっている。
デコーダ90は、前述の4つの処理順序と前述の16個の相対位置関係との間の対応関係を更に事前設定してもよい。例えば、相対位置関係1が順序0に対応し、相対位置関係2が順序3に対応し、及び、相対位置関係3が順序2に対応する。
前述の対応関係から分かるように、異なるコードブロック群処理順序が与えられると、現在のコードブロック群に関する前述の16個のケースから対応するケースが選択される。その後、現在のコードブロック群中のコードブロックの処理順序が決定された後、与えられたコードブロック処理順序にしたがって現在のコードブロック群中のコードブロックに関してデコーディング作業が行われる。
デコーダ90の前述の複数の事前に設定されたモード及び対応関係は、エンコーダ側の事前に設定されたモード及び対応関係と同じであることが理解されるべきである。
随意的に、一実施形態において、決定ユニットは、具体的には、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するとともに、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成され、この場合、複数の位置関係は、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である。
すなわち、コードブロックの複数の候補処理順序、及び、複数の候補処理順序と複数の位置関係との間の対応関係、がいずれも事前に設定されてもよい。現在処理されたコードブロック群中のコードブロックの処理順序を決定する際、エンコーダ側は、事前に設定された対応関係に直接にしたがって、現在処理されたコードブロック群中のコードブロックに対応する処理順序を決定してもよく、この場合、複数の候補処理順序及び対応関係は、前述の実施形態におけるそれと同様であり、したがって、ここでは再び詳しく説明しない。
随意的に、一実施形態において、取得ユニット91は、具体的には、複数のコードブロック群の配置されたインデックスを得るためにビットストリームをデコードするとともに、複数のコードブロック群のインデックスの配置順序にしたがって最初の処理順序を決定するように構成され、或いは、複数のコードブロック群の配置された座標を得るためにビットストリームをデコードするとともに、複数のコードブロック群の座標の配置順序にしたがって最初の処理順序を決定するように構成される。
具体的には、コードブロック群の処理順序を決定した後、エンコーダ側は、インデックス又は座標を用いて或いは他の態様で、デコーダ90がデコーディングを行うときにデコーダ90がコードブロック群のエンコーディング中のエンコーディング順序を直接に取得できるように、処理順序をビットストリームに書き込んでもよい。具体的には、以下の2つの態様が存在してもよい。
1つの態様では、インデックス番号、例えば0〜N−1が、左から右へ及び上から下へのライン走査によってコード化画像中のコードブロック群に割り当てられてもよい。N個のインデックス番号は、計算によって得られる最適な処理順序にしたがってビットストリームに書き込まれる。
他の態様では、水平座標値及び垂直座標値が左から右へ及び上から下へとコードブロック群に対して割り当てられてもよい。例えば、(x,y)がコードブロックを示す。コード化画像がw個のコードブロック群とh個のコードブロック群とをそれぞれ水平方向及び垂直方向に有する場合には、コード化画像が全体でN個のコードブロック群を有し、ここで、N=w*hであり、また、x、yの値範囲はそれぞれ0≦x≦w−1及び0≦y≦h−1である。N個の座標群は、計算によって得られる最適な処理順序にしたがってエンコードされてもよい。例えば、N個の水平座標値及びN個の垂直座標値は、パルス符号変調(Pulse Code Modulation,PCM)と同様なエンコーディング態様を使用することにより独立に順次にエンコードされてもよい。或いは、N個の水平座標値及びN個の垂直座標値は、差分パルス符号変調(Differential Pulse Code Modulation,DPCM)と同様なエンコーディング態様を使用することによりエンコードされてもよい。
すなわち、これに対応して、デコーダ90は、エンコーダ側によってビットストリームに書き込まれる情報にしたがって前述の2つの態様でコードブロック群の処理順序を学習してもよい。
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、デコーダ90は、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってターゲット画像のビットストリームをデコードする。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
図10は、本発明の他の実施形態に係るエンコーダの概略ブロック図である。図10におけるエンコーダ100は、プロセッサ101及びメモリ102を含む。プロセッサ101は、バスシステム103を使用することによりメモリ102に接続される。
メモリ102は、以下の作業、すなわち、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定する作業と、最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成する作業と、最初の処理順序をビットストリームに書き込む作業とをプロセッサ101に実行させる命令を記憶するように構成される。
本発明のこの実施形態におけるエンコーダ100は、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するとともに、最初の処理順序にしたがって複数のコードブロック群をエンコードし、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
言うまでもなく、本発明のこの実施形態におけるターゲット画像は、エンコードされるべき画像であり、或いは、コード化画像と称されてもよい。ターゲット画像は、複数の重なり合わないコードブロック群に分けられ、この場合、コードブロック群は、HEVCにおけるコーディングツリーユニットCTUに相当してもよく、或いは、H.264/AVCにおけるマクロブロックMB或いは同様のものに相当してもよい。コードブロック群は、コーディングパラメータを独立に決定できる複数のコードブロックに分けられ続けてもよく、この場合、コードブロックは、HEVCにおけるコードユニットCUに相当してもよく、或いは、H.264/AVCにおけるサブマクロブロックSMB或いは同様のものに相当してもよい。
また、エンコーダ100は、受信回路104等を更に含んでもよい。プロセッサ101はエンコーダ100の動作を制御し、また、プロセッサ101はCPU(Central Processing Unit、中央処理ユニット)と更に称されてもよい。メモリ102は、リード・オンリー・メモリ及びランダム・アクセス・メモリを含んでもよく、また、命令及びデータをプロセッサ101に供給する。メモリ102の一部が不揮発性ランダム・アクセス・メモリ(NVRAM)を更に含んでもよい。エンコーダ100の構成要素は、バスシステム103を使用することにより互いに結合され、この場合、バスシステム103は、データバスを含むだけでなく、電力バス、制御バス、状態信号バス、及び、同様のものも更に含んでもよい。しかしながら、明確な描写のため、図中の様々なタイプのバスがバスシステム103としてマーキングされる。
本発明の実施態様において開示される方法は、プロセッサ101に適用されてもよく或いはプロセッサ101により実施される。プロセッサ101は、集積回路チップであってもよく、また、信号処理能力を有する。実施プロセスにおいて、前述の方法のステップは、プロセッサ101内のハードウェアの集積論理回路又はソフトウェア形態の命令を使用することによって実行されてもよい。前述のプロセッサ101は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又は、他のプログラマブル論理装置、離散ゲート、又は、トランジスタ論理装置、又は、離散ハードウェアコンポーネントであってもよい。プロセッサ101は、本発明の実施形態に開示される方法、ステップ、及び、論理ブロック図を実施又は実行してもよい。汎用プロセッサがマイクロプロセッサであってもよく、或いは、プロセッサが任意の従来のプロセッサ等であってもよい。本発明の実施形態に関連して開示される方法のステップは、ハードウェア・デコーディング・プロセッサを用いて直接に実行されて完了されてもよく、或いは、ハードウェアモジュールとソフトウェアモジュールとの組み合わせをデコーディングプロセッサ内で使用することにより実行されて完了されてもよい。ソフトウェアモジュールは、ランダム・アクセス・メモリ、フラッシュメモリ、リード・オンリー・メモリ、プログラマブル・リード・オンリー・メモリ、電気的に消去可能なプログラマブルメモリ、又は、レジスタなどの当該技術分野における記憶媒体マチュア内に位置されてもよい。記憶媒体はメモリ102内に位置され、また、プロセッサ101は、メモリ102内の情報を読み取って、プロセッサ101のハードウェアと組み合わせて前述の方法におけるステップを完了する。
随意的に、一実施形態において、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定することは、複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するステップであって、各処理順序に対応する全コーディングコストが、各処理順序にしたがって複数のコードブロック群がエンコードされるときのコーディングコストの和である、ステップと、全ての処理順序に対応する全コーディングコストの最小全コーディングコストに対応する処理順序が最初の処理順序であることを決定するステップとを含む。
随意的に、一実施形態において、最初の処理順序にしたがって複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成することは、最初の処理順序にしたがってコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップと、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってコードブロック群をエンコードするステップとを含む。
随意的に、一実施形態では、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定する前に、方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。
随意的に、一実施形態において、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップとを含む。
随意的に、一実施形態において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。
随意的に、一実施形態において、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
随意的に、一実施形態において、最初の処理順序をビットストリームに書き込むことは、最初の処理順序にしたがってコードブロック群のインデックスを配置するステップと、コードブロック群の配置されたインデックスをエンコードして、エンコードされたインデックスをビットストリームに書き込むステップとを含み、或いは、最初の処理順序にしたがってコードブロック群の座標を配置するステップと、コードブロック群の配置された座標をエンコードして、エンコードされた座標をビットストリームに書き込むステップとを含む。
随意的に、一実施形態において、コードブロック群のコーディングコストは、以下のうちの少なくとも1つ、すなわち、コードブロック群をエンコードするために費やされるビットの量、又は、コードブロック群の歪みのうちの少なくとも1つを含む。
本発明のこの実施形態におけるエンコーダ100は、ターゲット画像の全コーディングコストにしたがってターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するとともに、最初の処理順序にしたがって複数のコードブロック群をエンコードし、それにより、ターゲット画像における空間相関を十分に使用することができ、その結果、エンコーディング中の圧縮効率が向上される。
図11は、本発明の他の実施形態に係るデコーダの概略ブロック図である。図11におけるデコーダ110は、プロセッサ111とメモリ112とを含む。プロセッサ111は、バスシステム113を使用することによりメモリ112に接続される。
メモリ112は、以下の作業、すなわち、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得する作業と、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定する作業と、最初の処理順序とコードブロック群に含まれる複数のコードブロックの処理順序とにしたがってビットストリームをデコードする作業とをプロセッサ111に実行させる命令を記憶するように構成される。
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、デコーダ110は、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってターゲット画像のビットストリームをデコードする。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
また、デコーダ110は、送信回路114等を更に含んでもよい。プロセッサ111はデコーダ110の動作を制御し、また、プロセッサ111はCPU(Central Processing Unit、中央処理ユニット)と更に称されてもよい。メモリ112は、リード・オンリー・メモリ及びランダム・アクセス・メモリを含んでもよく、また、命令及びデータをプロセッサ111に供給する。メモリ112の一部が不揮発性ランダム・アクセス・メモリ(NVRAM)を更に含んでもよい。デコーダ110の構成要素は、バスシステム113を使用することにより互いに結合され、この場合、バスシステム113は、データバスを含むだけでなく、電力バス、制御バス、状態信号バス、及び、同様のものも更に含んでもよい。しかしながら、明確な描写のため、図中の様々なタイプのバスがバスシステム113としてマーキングされる。
本発明の実施態様において開示される方法は、プロセッサ111に適用されてもよく或いはプロセッサ111により実施されてもよい。プロセッサ111は、集積回路チップであってもよく、また、信号処理能力を有する。実施プロセスにおいて、前述の方法のステップは、プロセッサ111内のハードウェアの集積論理回路又はソフトウェア形態の命令を使用することによって実行されてもよい。前述のプロセッサ111は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又は、他のプログラマブル論理装置、離散ゲート、又は、トランジスタ論理装置、又は、離散ハードウェアコンポーネントであってもよい。プロセッサ111は、本発明の実施形態に開示される方法、ステップ、及び、論理ブロック図が実施又は実行してもよい。汎用プロセッサがマイクロプロセッサであってもよく、或いは、プロセッサが任意の従来のプロセッサ等であってもよい。本発明の実施形態に関連して開示される方法のステップは、ハードウェア・デコーディング・プロセッサを用いて直接に実行されて完了されてもよく、或いは、ハードウェアモジュールとソフトウェアモジュールとの組み合わせをデコーディングプロセッサ内で使用することにより実行されて完了されてもよい。ソフトウェアモジュールは、ランダム・アクセス・メモリ、フラッシュメモリ、リード・オンリー・メモリ、プログラマブル・リード・オンリー・メモリ、電気的に消去可能なプログラマブルメモリ、又は、レジスタなどの当該技術分野における記憶媒体マチュア内に位置されてもよい。記憶媒体はメモリ112内に位置され、また、プロセッサ111は、メモリ112内の情報を読み取って、プロセッサ111のハードウェアと組み合わせて前述の方法におけるステップを完了する。
随意的に、一実施形態では、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定する前に、方法は、コードブロックの複数の候補処理順序を決定するステップと、複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを更に含む。
随意的に、一実施形態において、複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、対応関係と相対位置関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップとを含む。
随意的に、一実施形態において、コードブロックの複数の候補処理順序を決定するステップは、コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む。
随意的に、一実施形態において、コードブロック群に含まれる複数のコードブロックの処理順序を最初の処理順序にしたがって決定することは、コードブロック群とコードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を最初の処理順序にしたがって決定するステップと、この相対位置関係と、事前に設定された複数の候補処理順序と複数の位置関係との間の対応関係とにしたがって、コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、複数の位置関係が、現在処理されたコードブロック群と現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップとを含む。
随意的に、一実施形態において、ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得することは、複数のコードブロック群の配置されたインデックスを得るためにビットストリームをデコードするステップと、複数のコードブロック群のインデックスの配置順序にしたがって最初の処理順序を決定するステップとを含み、或いは、複数のコードブロック群の配置された座標を得るためにビットストリームをデコードするステップと、複数のコードブロック群の座標の配置順序にしたがって最初の処理順序を決定するステップとを含む。
本発明のこの実施形態において、各コードブロック群に含まれるコードブロックの処理順序は、最小全コーディングコストを得ることができ且つエンコーダ側で決定される最初の処理順序にしたがって決定され、また、デコーダ110は、最初の処理順序と各コードブロック群中のコードブロックの処理順序とにしたがってターゲット画像のビットストリームをデコードする。エンコーディングプロセスでは、ターゲット画像の空間相関が十分に利用され、それにより、エンコーディング中の圧縮効率が向上される。
当業者であれば気付くように、方法ステップ及びユニットは、この明細書中に開示される実施形態で説明される例と組み合わせて、電子的なハードウェア、コンピュータソフトウェア、又は、これらの組み合わせによって実施されてもよい。ハードウェアとソフトウェアとの間の互換性を明確に説明するために、以上は、一般に、機能にしたがって各実施形態のステップ及び構成について説明してきた。機能がハードウェアによって果たされるか或いはソフトウェアによって果たされるかどうかは、特定の用途と技術的解決策の設計制約条件とによって決まる。当業者は、それぞれの特定の用途に関して説明される機能を実施するために異なる方法を使用してもよいが、その実施が本発明の範囲を越えると見なされるべきでない。
この明細書中に開示される実施形態で説明される方法又はステップは、ハードウェア、ソフトウェア、プロセッサにより実行されるプログラム、又は、これらの組み合わせによって実施されてもよい。ソフトウェアプログラムは、ランダム・アクセス・メモリ(RAM)、メモリ、リード・オンリー・メモリ(ROM)、電気的にプログラム可能なROM、電気的に消去可能なプログラマブルROM、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、又は、当該技術分野において既知の任意の他の形態の記憶媒体に存在してもよい。
本発明は、添付図面に関連して典型的な実施形態と組み合わせて詳しく説明されるが、本発明はこれらの実施形態に限定されない。本発明の思想及び本質から逸脱することなく本発明の実施形態に対して当業者により様々な等価な変更又は置換を行うことができ、また、変更及び置換は、本発明の範囲内に入るものとする。
81 決定ユニット
82 エンコーディングユニット
91 取得ユニット
92 決定ユニット
93 デコーディングユニット
101 プロセッサ
102 メモリ
104 受信回路
111 プロセッサ
112 メモリ
114 送信回路
601 ターゲット画像
602 予測子
603 元の値
604 残差
605 変換量子化係数
606 再構成残差
607 再構成
611 フレーム間予測
612 フレーム内予測
613 変換/量子化
614 エントロピーエンコーディング
615 逆量子化/逆変換
701 変換量子化係数
702 再構成残差
703 予測子
704 再構成
711 エントロピーデコーディング
712 逆量子化/逆変換

Claims (24)

  1. ターゲット画像の全コーディングコストにしたがって、前記ターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するステップであって、各コードブロック群は、高効率ビデオコーディングHEVC標準規格におけるコーディングツリーユニットCTUおよびH.264アドバンスド・ビデオ・コーディングH.264/AVC標準規格におけるマクロブロックMBの1つに相当する、ステップと、
    前記最初の処理順序にしたがって前記複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成するステップと、
    前記最初の処理順序を前記ビットストリームに書き込むステップと
    を含み、
    前記最初の処理順序にしたがって前記複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成する前記ステップが、
    前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、各コードブロックは、HEVC標準規格におけるコードユニットCUおよびH.264/AVC標準規格におけるサブマクロブロックSMBの1つに相当する、ステップと、
    前記最初の処理順序と前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序とにしたがって前記コードブロック群をエンコードするステップと
    を含み、
    前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップよりも前に、
    前記コードブロックの複数の候補処理順序を決定するステップと、
    前記複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップと
    を更に含むエンコーディング方法。
  2. ターゲット画像の全コーディングコストにしたがって、前記ターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定する前記ステップが、
    前記複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定するステップであって、前記各処理順序に対応する前記全コーディングコストが、前記各処理順序にしたがって前記複数のコードブロック群がエンコードされるときのコーディングコストの和である、ステップと、
    全ての処理順序に対応する前記全コーディングコストの最小全コーディングコストに対応する処理順序が前記最初の処理順序であることを決定するステップと
    を含む、請求項1に記載の方法。
  3. 前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップが、
    前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、
    前記対応関係と前記相対位置関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定するステップと
    を含む、請求項1に記載の方法。
  4. 前記コードブロックの複数の候補処理順序を決定する前記ステップが、前記コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む、請求項1に記載の方法。
  5. 前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップが、
    前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、
    前記相対位置関係と、前記事前に設定された複数の候補処理順序と前記複数の位置関係との間の対応関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定するステップであって、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップと
    を含む、請求項4に記載の方法。
  6. 前記最初の処理順序を前記ビットストリームに書き込む前記ステップが、
    前記最初の処理順序にしたがって前記コードブロック群のインデックスを配置するステップと、
    前記コードブロック群の配置された前記インデックスをエンコードして、エンコードされた前記インデックスを前記ビットストリームに書き込むステップと
    を含むか、又は、
    前記最初の処理順序にしたがって前記コードブロック群の座標を配置するステップと、
    前記コードブロック群の配置された前記座標をエンコードして、エンコードされた前記座標を前記ビットストリームに書き込むステップと
    を含む、請求項1に記載の方法。
  7. 前記コードブロック群のコーディングコストは、
    前記コードブロック群をエンコードするために費やされるビットの量、又は、
    前記コードブロック群の歪み
    のうちの少なくとも1つを含む、請求項1から6のいずれか一項に記載の方法。
  8. ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得するステップであって、各コードブロック群は、高効率ビデオコーディングHEVC標準規格におけるコーディングツリーユニットCTUおよびH.264アドバンスド・ビデオ・コーディングH.264/AVC標準規格におけるマクロブロックMBの1つに相当する、ステップと、
    前記最初の処理順序にしたがって、前記複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するステップであって、各コードブロックは、HEVC標準規格におけるコードユニットCUおよびH.264/AVC標準規格におけるサブマクロブロックSMBの1つに相当する、ステップと、
    前記最初の処理順序と前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序とにしたがって前記ビットストリームをデコードするステップと
    を含み、
    前記最初の処理順序にしたがって、前記複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップよりも前に、
    前記コードブロックの複数の候補処理順序を決定するステップと、
    前記複数の候補処理順序と複数の位置関係との間の対応関係を決定するステップであって、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップと
    を更に含むデコーディング方法。
  9. 前記最初の処理順序にしたがって、前記複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップが、
    前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、
    前記対応関係と前記相対位置関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定するステップと
    を含む、請求項8に記載の方法。
  10. 前記コードブロックの複数の候補処理順序を決定する前記ステップが、前記コードブロックの事前に設定された複数の候補処理順序を使用するステップを含む、請求項8に記載の方法。
  11. 前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定する前記ステップが、
    前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定するステップと、
    前記相対位置関係と、前記事前に設定された複数の候補処理順序と前記複数の位置関係との間の対応関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定するステップであって、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、ステップと
    を含む、請求項10に記載の方法。
  12. ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得する前記ステップが、
    前記ビットストリームをデコードして前記複数のコードブロック群の配置されたインデックスを得るステップと、
    前記複数のコードブロック群の前記インデックスの配置順序にしたがって前記最初の処理順序を決定するステップと
    を含むか、又は、
    前記ビットストリームをデコードして前記複数のコードブロック群の配置された座標を得るステップと、
    前記複数のコードブロック群の前記座標の配置順序にしたがって前記最初の処理順序を決定するステップと
    を含む、請求項8に記載の方法。
  13. ターゲット画像の全コーディングコストにしたがって、前記ターゲット画像中に含まれる複数のコードブロック群の最初の処理順序を決定するように構成された決定ユニットであって、各コードブロック群は、高効率ビデオコーディングHEVC標準規格におけるコーディングツリーユニットCTUおよびH.264アドバンスド・ビデオ・コーディングH.264/AVC標準規格におけるマクロブロックMBの1つに相当する、決定ユニットと、
    前記決定ユニットによって決定された前記最初の処理順序にしたがって前記複数のコードブロック群のうちの1つのコードブロック群をエンコードしてビットストリームを生成するように構成されたエンコーディングユニットと
    を備え、
    前記エンコーディングユニットは、前記決定ユニットによって決定された前記最初の処理順序を前記ビットストリームに書き込むように更に構成され、
    前記エンコーディングユニットが、
    前記決定ユニットを使用することによる前記最初の処理順序にしたがって、前記コードブロック群に含まれる複数のコードブロックの処理順序を決定し、各コードブロックは、HEVC標準規格におけるコードユニットCUおよびH.264/AVC標準規格におけるサブマクロブロックSMBの1つに相当し、
    前記最初の処理順序と前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序とにしたがって前記コードブロック群をエンコードする
    ように更に構成され
    前記決定ユニットが、
    前記コードブロックの複数の候補処理順序を決定し、
    前記複数の候補処理順序と複数の位置関係との間の対応関係を決定する
    ように更に構成され、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、エンコーダ。
  14. 前記決定ユニットが、
    前記複数のコードブロック群の全ての処理順序の各処理順序に対応する全コーディングコストを決定し、前記各処理順序に対応する前記全コーディングコストが、前記各処理順序にしたがって前記複数のコードブロック群がエンコードされるときのコーディングコストの和であり、
    全ての処理順序に対応する前記全コーディングコストの最小全コーディングコストに対応する処理順序が前記最初の処理順序であることを決定する
    ように更に構成される、請求項13に記載のエンコーダ。
  15. 前記決定ユニットが、
    前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、
    前記対応関係と前記相対位置関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの処理順序を決定する
    ように更に構成される、請求項13に記載のエンコーダ。
  16. 前記決定ユニットが、前記コードブロックの事前に設定された複数の候補処理順序を使用するように更に構成される、請求項13に記載のエンコーダ。
  17. 前記決定ユニットが、
    前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、
    前記相対位置関係と、前記事前に設定された複数の候補処理順序と前記複数の位置関係との間の対応関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定する
    ように更に構成され、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、請求項16に記載のエンコーダ。
  18. 前記エンコーディングユニットが、
    前記最初の処理順序にしたがって前記コードブロック群のインデックスを配置し、
    前記コードブロック群の配置された前記インデックスをエンコードして、エンコードされた前記インデックスを前記ビットストリームに書き込む
    ように更に構成されるか、又は、
    前記最初の処理順序にしたがって前記コードブロック群の座標を配置し、
    前記コードブロック群の配置された前記座標をエンコードして、エンコードされた前記座標を前記ビットストリームに書き込む
    ように更に構成される、請求項13に記載のエンコーダ。
  19. 前記コードブロック群のコーディングコストは、
    前記コードブロック群をエンコードするために前記エンコーディングユニットによって費やされるビットの量、又は、
    前記コードブロック群の歪み
    のうちの少なくとも1つを含む、請求項13から18のいずれか一項に記載のエンコーダ。
  20. ターゲット画像の複数のコードブロック群の最初の処理順序をビットストリームから取得するように構成された取得ユニットであって、各コードブロック群は、高効率ビデオコーディングHEVC標準規格におけるコーディングツリーユニットCTUおよびH.264アドバンスド・ビデオ・コーディングH.264/AVC標準規格におけるマクロブロックMBの1つに相当する、取得ユニットと、
    前記最初の処理順序にしたがって、前記複数のコードブロック群のうちの1つのコードブロック群に含まれる複数のコードブロックの処理順序を決定するように構成された決定ユニットであって、各コードブロックは、HEVC標準規格におけるコードユニットCUおよびH.264/AVC標準規格におけるサブマクロブロックSMBの1つに相当する、決定ユニットと、
    前記最初の処理順序と前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序とにしたがって前記ビットストリームをデコードするように構成されたデコーディングユニットと
    を備え
    前記決定ユニットが、
    前記コードブロックの複数の候補処理順序を決定し、
    前記複数の候補処理順序と複数の位置関係との間の対応関係を決定する
    ように更に構成され、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係であるデコーダ。
  21. 前記決定ユニットが、
    前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、
    前記対応関係と前記相対位置関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの処理順序を決定する
    ように更に構成される、請求項20に記載のデコーダ。
  22. 前記決定ユニットが、前記コードブロックの事前に設定された複数の候補処理順序を使用するように更に構成される、請求項20に記載のデコーダ。
  23. 前記決定ユニットが、
    前記最初の処理順序にしたがって、前記コードブロック群と前記コードブロック群に隣り合う既に処理されているコードブロック群との間の相対位置関係を決定し、
    前記相対位置関係と、前記事前に設定された複数の候補処理順序と前記複数の位置関係との間の対応関係とにしたがって、前記コードブロック群に含まれる前記複数のコードブロックの前記処理順序を決定する
    ように更に構成され、前記複数の位置関係が、現在処理されたコードブロック群と前記現在処理されたコードブロック群に隣り合う既に処理されているコードブロック群との間の複数の相対位置関係である、請求項22に記載のデコーダ。
  24. 前記取得ユニットが、
    前記デコーディングユニットを使用して、前記ビットストリームをデコードして前記複数のコードブロック群の配置されたインデックスを得、
    前記決定ユニットを使用して、前記複数のコードブロック群の前記インデックスの配置順序にしたがって前記最初の処理順序を決定する
    ように更に構成されるか、又は、
    前記デコーディングユニットを使用して、前記ビットストリームをデコードして前記複数のコードブロック群の配置された座標を得、
    前記決定ユニットを使用して、前記複数のコードブロック群の前記座標の配置順序にしたがって前記最初の処理順序を決定する
    ように更に構成される、請求項20に記載のデコーダ。
JP2016552562A 2014-02-18 2015-02-02 エンコーディング方法及び装置並びにデコーディング方法及び装置 Active JP6389264B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410054130.3A CN104853196B (zh) 2014-02-18 2014-02-18 编解码方法和装置
CN201410054130.3 2014-02-18
PCT/CN2015/072089 WO2015124058A1 (zh) 2014-02-18 2015-02-02 编解码方法和装置

Publications (2)

Publication Number Publication Date
JP2017506463A JP2017506463A (ja) 2017-03-02
JP6389264B2 true JP6389264B2 (ja) 2018-09-12

Family

ID=53852510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016552562A Active JP6389264B2 (ja) 2014-02-18 2015-02-02 エンコーディング方法及び装置並びにデコーディング方法及び装置

Country Status (6)

Country Link
US (1) US20160373767A1 (ja)
EP (1) EP3094091A4 (ja)
JP (1) JP6389264B2 (ja)
KR (1) KR101960825B1 (ja)
CN (1) CN104853196B (ja)
WO (1) WO2015124058A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102370375B1 (ko) 2015-05-12 2022-03-04 삼성전자주식회사 적응적인 순서로 결정되는 블록을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
EP3349458A4 (en) * 2015-11-24 2018-10-24 Samsung Electronics Co., Ltd. Encoding sequence encoding method and device thereof, and decoding method and device thereof
CN107888330B (zh) * 2016-09-30 2022-04-05 华为技术有限公司 一种数据传输的方法和装置
US10771196B2 (en) * 2017-03-20 2020-09-08 Qualcomm Incorporated Techniques for signaling compressed HARQ or retransmission information between a base station and a user equipment
CN108881909A (zh) * 2017-05-09 2018-11-23 富士通株式会社 扫描顺序生成方法和扫描顺序生成设备
EP3484148A1 (en) 2017-11-09 2019-05-15 Thomson Licensing Automated scanning order for sub-divided blocks
EP3512145B1 (en) 2017-11-10 2020-08-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Wireless communication method and device
WO2019104611A1 (en) * 2017-11-30 2019-06-06 SZ DJI Technology Co., Ltd. System and method for controlling video coding within image frame
CN111164972A (zh) 2017-11-30 2020-05-15 深圳市大疆创新科技有限公司 用于在帧级别控制视频编码的系统和方法
CN110832856A (zh) 2017-11-30 2020-02-21 深圳市大疆创新科技有限公司 用于减小视频编码波动的系统及方法
US10530387B1 (en) * 2018-10-22 2020-01-07 Uber Technologies, Inc. Estimating an optimal ordering for data compression
CA3132390A1 (en) * 2019-03-11 2020-09-17 Tencent America LLC Tile and sub-picture partitioning
CN113079375B (zh) * 2021-06-03 2022-03-08 浙江智慧视频安防创新中心有限公司 基于相关度比较确定视频编解码优先顺序的方法及装置
CN113660498B (zh) * 2021-10-20 2022-02-11 康达洲际医疗器械有限公司 一种基于显著性检测的帧间图像通用编码方法与系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8934729B2 (en) * 2006-09-30 2015-01-13 Texas Instruments Incorporated Method and apparatus for frame coding in vertical raster scan order for HEVC
JPWO2008084817A1 (ja) * 2007-01-09 2010-05-06 株式会社東芝 画像符号化と復号化の方法及び装置
JP5082548B2 (ja) * 2007-03-30 2012-11-28 富士通株式会社 画像処理方法、符号化器および復号化器
KR20090095316A (ko) * 2008-03-05 2009-09-09 삼성전자주식회사 영상 인트라 예측 방법 및 장치
CN101350927B (zh) * 2008-07-29 2011-07-13 北京中星微电子有限公司 帧内预测选择最优预测模式的方法及装置
EP2211552A1 (en) * 2009-01-22 2010-07-28 Thomson Licensing Method and device for video coding using macroblock groups
CN102045560B (zh) * 2009-10-23 2013-08-07 华为技术有限公司 一种视频编解码方法及设备
US9042440B2 (en) * 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
CN102651816B (zh) * 2011-02-23 2014-09-17 华为技术有限公司 一种变换系数块的扫描方法和装置
US9392301B2 (en) * 2011-07-01 2016-07-12 Qualcomm Incorporated Context adaptive entropy coding for non-square blocks in video coding
JP2013150124A (ja) * 2012-01-18 2013-08-01 Sony Corp 画像処理装置および方法
CN103428487B (zh) * 2012-07-16 2017-06-09 上海数字电视国家工程研究中心有限公司 用于高清视频序列帧率提升的块处理方法

Also Published As

Publication number Publication date
CN104853196B (zh) 2018-10-19
WO2015124058A1 (zh) 2015-08-27
US20160373767A1 (en) 2016-12-22
EP3094091A1 (en) 2016-11-16
KR20160114166A (ko) 2016-10-04
KR101960825B1 (ko) 2019-03-21
EP3094091A4 (en) 2016-11-16
JP2017506463A (ja) 2017-03-02
CN104853196A (zh) 2015-08-19

Similar Documents

Publication Publication Date Title
JP6389264B2 (ja) エンコーディング方法及び装置並びにデコーディング方法及び装置
TWI665907B (zh) 用於圖像和視訊編碼的基於模板的圖框內預測的方法和裝置
TWI524780B (zh) 在變換單元內之多符號位元隱藏
CN102972028B (zh) 新的帧内预测模式
KR101457418B1 (ko) 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR100667808B1 (ko) 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP7277616B2 (ja) ビデオ・データを処理する方法、装置及び記憶媒体
TW201740730A (zh) 用於視訊寫碼之濾波器之幾何轉換
JP7110441B2 (ja) デジタル画像のコーディング方法、デコーディング方法、装置、および関連するコンピュータプログラム
CN107148778A (zh) 用于视频编码的改进的定向帧内预测方法
CN104380734B (zh) 编码以及解码视频数据的方法和装置
JP2022529369A (ja) 符号化映像の量子化残差差分パルス符号変調表現
JP2010502102A (ja) 低減された解像度の分割の方法及び装置
JP2014509119A (ja) 幾何学ベースのイントラ予測の方法および装置
JP6023044B2 (ja) 複数のグループに割り当てられた画素を有するブロックをイントラ符号化する方法および装置
CN105721878A (zh) Hevc视频编解码中执行帧内预测的图像处理装置及方法
US9503751B2 (en) Method and apparatus for simplified depth coding with extended prediction modes
CN105306957A (zh) 自适应环路滤波方法和设备
WO2021203924A1 (zh) 编码方法、解码方法、编码器、解码器以及存储介质
TWI510031B (zh) 用於編碼及解碼之多層級有效性映射
CN116389737B (zh) 视频编解码中变换系数的编解码
JP2022521933A (ja) 符号化方法、復号化方法、デコーダ、エンコーダー及び記憶媒体
CN112135147B (zh) 编码方法、解码方法及装置
CN113840146B (zh) 一种视频信息隐藏方法及系统
KR101538921B1 (ko) 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180816

R150 Certificate of patent or registration of utility model

Ref document number: 6389264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250