JP2019532578A - 処理装置及びその制御方法 - Google Patents

処理装置及びその制御方法 Download PDF

Info

Publication number
JP2019532578A
JP2019532578A JP2019516610A JP2019516610A JP2019532578A JP 2019532578 A JP2019532578 A JP 2019532578A JP 2019516610 A JP2019516610 A JP 2019516610A JP 2019516610 A JP2019516610 A JP 2019516610A JP 2019532578 A JP2019532578 A JP 2019532578A
Authority
JP
Japan
Prior art keywords
coding unit
encoding
memory
processor
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019516610A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2019532578A publication Critical patent/JP2019532578A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Abstract

【課題】メモリを効率的に管理して、それらの性能を向上させる処理装置を提供する。【解決手段】本発明の処理装置は、第1メモリを備え、ビデオコンテンツ内のフレームを複数のコーディングユニットに区分し、複数のコーディングユニットに対するエンコーディングを斜線方向に行ってエンコーディングされたフレームを生成するプロセッサを含み、プロセッサは、第1コーディングユニットが第1エンコーディングタイプに基づいてエンコーディングされる場合、第2メモリから第1コーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を第1メモリにローディングし、第2メモリからローディングされた参照フレームの第1の部分領域に基づいて、第1コーディングユニットに対するエンコーディングを行い、第1コーディングユニットが第2エンコーディングタイプに基づいてエンコーディングされる場合、第1メモリから第1コーディングユニットの第1位置情報に対応する第1参照ピクセル値に基づいて第1コーディングユニットに対するエンコーディングを行う。【選択図】図3

Description

本発明は、処理装置及びその制御方法に関し、より詳しくは、インターエンコーディング(例えば、インターフレームエンコーディング)及びイントラエンコーディング(例えば、イントラフレームエンコーディング)を行う処理装置及びその制御方法に関する。
電子技術の発達により、UHD(Ultra High Definition)映像のような高解像度の映像が普及しつつある。高解像度の映像を提供するためには、高効率の映像圧縮技術が必要となる。
映像圧縮技術は、処理すべきビットを減らすために、一つのフレームを複数のブロック(Block)に区分し、各ブロックに対して時間的、空間的な重複性を取り除いて映像のデータを圧縮する技術であり、映像をエンコーディングしている。エンコーディングしようとするターゲットブロックの周辺ピクセルを用いて映像を圧縮する方法が、空間的な重複性を取り除いて映像を圧縮する方法の一例であり、当該方法を通常イントラエンコーディングすると呼ぶ。ターゲットブロックよりも前に圧縮された別のフレームの参照ブロックを用いて映像を圧縮する方法が、時間的な重複性を取り除いて映像を圧縮する方法の一例であり、当該方法をインターエンコーディングすると呼ぶ。
イントラエンコーディングの際に画面内の周辺(上段)ピクセルを使って予測ピクセルが生成され、インターエンコーディングの際に前の参照フレームのピクセルを使って予測ピクセルが生成される。そして、イントラエンコーディング及びインターエンコーディングのうちの最終決定された予測方法でエンコーディングが行われ、エンコーディングの後に復元されたピクセルを次のフレームで再利用するためにメモリに保存される。
しかしながら、従来は、一つのフレーム内に含まれた複数のターゲットブロックに対し、第1行に含まれたターゲットブロックを左から右に順次にエンコーディングを行い、第1行に含まれたターゲットブロックのエンコーディングが完了すると、第1行の次の第2行に含まれたターゲットブロックを左から右に順次にエンコーディングを行っていた。
この場合、再利用可能な周辺のコーディング情報、上段ピクセルや、前の参照フレームなどのようなデータの再利用ができなくなる。このため、UHDレベルのビデオコーデックの高性能化の実現を可能とし、メモリを効率的に使用するための方法が模索されている。
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、プロセッサとは別に備えられた第1メモリ及びプロセッサに備えられた第2メモリを効率的に管理し、それらの性能を向上させるための処理装置を提供することにある。
上記目的を達成するためになされた本発明の一態様による処理装置は、第1メモリを備え、ビデオコンテンツ内のフレームを複数のコーディングユニットに区分し、前記複数のコーディングユニットに対するエンコーディングを斜線方向に行ってエンコーディングされたフレームを生成するプロセッサを含み、前記プロセッサは、第1コーディングユニットが第1エンコーディングタイプに基づいてエンコーディングされる場合、第2メモリから前記第1コーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を前記第1メモリにローディングし、前記第2メモリからローディングされた前記参照フレームの前記第1の部分領域に基づいて、前記第1コーディングユニットに対するエンコーディングを行い、前記第1コーディングユニットが第2エンコーディングタイプに基づいてエンコーディングされる場合、前記第1メモリから前記第1コーディングユニットの前記第1位置情報に対応する第1参照ピクセル値に基づいて前記第1コーディングユニットに対するエンコーディングを行うことを特徴とする。
前記プロセッサは、前記複数のコーディングユニットに対して右上から左下に向かう方向にエンコーディングを行い得る。
前記第1エンコーディングタイプは、インターエンコーディングであり、前記プロセッサは、前記第1コーディングユニットに対する前記インターエンコーディングが完了すると、第2コーディングユニットの第2位置情報に対応する前記参照フレームの第2の部分領域中で前記第1の部分領域に重複しない領域を、前記第1メモリにローディングして前記第2コーディングユニットに対するエンコーディングを行い得る。
前記プロセッサは、前記第1コーディングユニットに対する前記インターエンコーディングが完了すると、前記第1メモリに保存された前記参照フレームの第1の部分領域中で前記第2コーディングユニットのインターエンコーディングに用いられない領域を削除し得る。
前記第1コーディングユニットは、現在コーディングされるコーディングユニットであり、前記第2コーディングユニットは、前記第1コーディングユニットの後にエンコーディングされる次のコーディングユニットであり得る。
前記第2エンコーディングタイプはイントラエンコーディングであり、前記プロセッサは、前記第1コーディングユニットに対する前記イントラエンコーディングが完了すると、前記イントラエンコーディングされた第1コーディングユニットを復元して第2コーディングユニットのイントラエンコーディングに用いられる第1参照ピクセル値を前記第1メモリに保存し、前記第1メモリに保存された参照ピクセル値のうちの前記第2コーディングユニットのイントラエンコーディングに用いられない第3参照ピクセル値を削除し得る。
前記プロセッサは、前記第1コーディングユニットの前記第1位置情報に対応する領域を基準に前記第1コーディングユニットの拡張領域を前記参照フレームの前記第1の部分領域に決定し、前記第1コーディングユニットの前記第1位置情報に基づいて、前記第1コーディングユニット及び前記第1コーディングユニットに隣接する第3コーディングユニットの外側の少なくとも一つのピクセル値を前記第1参照ピクセル値に決定し得る。
上記目的を達成するためになされた本発明の他の態様による処理装置は、第1メモリを備え、エンコーディングされたビデオコンテンツを構成するエンコーディングされたフレームに対してコーディングユニット単位でデコーディングを行ってデコーディングされたフレームを生成するプロセッサを含み、前記プロセッサは、第1コーディングユニットが第1デコーディングタイプに基づいてデコーディングされる場合、第2メモリから前記第1コーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を前記第1メモリにローディングし、前記第2メモリからローディングされた前記参照フレームの前記第1の部分領域に基づいて前記第1コーディングユニットに対するデコーディングを行い、前記第1コーディングユニットが第2デコーディングタイプに基づいてデコーディングされる場合、前記第1メモリから前記第1コーディングユニットの第1位置情報に対応する参照ピクセル値を用いて前記第1コーディングユニットに対するデコーディングを行い、デコーディングが行われた複数のコーディングユニットを斜線方向に配置して前記デコーディングされたフレームを生成することを特徴とする。
前記第1デコーディングタイプは、インターデコーディングであり、前記プロセッサは、前記第1コーディングユニットに対する前記インターデコーディングが完了すると、第2コーディングユニットの第2位置情報に対応する前記参照フレームの第2の部分領域中で前記第1の部分領域に重複しない領域を、前記第2メモリにローディングして前記第2コーディングユニットに対するデコーディングを行い、前記デコーディングが行われた複数のコーディングユニットを右上から左下に向かう前記斜線方向に配置して前記デコーディングされたフレームを生成し得る。
前記プロセッサは、前記第1コーディングユニットに対する前記インターデコーディングが完了すると、前記第1メモリに保存された前記参照フレームの第1の部分領域中で前記第2コーディングユニットのインターデコーディングに用いられない領域を削除し得る。
前記第2デコーディングタイプは、イントラデコーディングであり、前記プロセッサは、前記第1コーディングユニットに対する前記イントラデコーディング過程で第2コーディングユニットのイントラデコーディングに用いられる第1参照ピクセル値を前記第2メモリに保存し、前記第1コーディングユニットに対する前記イントラデコーディングが完了すると、前記第1メモリに保存された参照ピクセル値のうち、前記第2コーディングユニットのイントラデコーディングに用いられない第2参照ピクセル値を削除し、前記デコーディングが行われた複数のコーディングユニットを右上から左下に向かう前記斜線方向に配置して前記デコーディングされたフレームを生成し得る。
前記プロセッサは、前記第1コーディングユニットの前記第1位置情報に対応する領域を基準に拡張領域を前記参照フレームの前記第1の部分領域に決定し、前記第1コーディングユニットの前記第1位置情報に基づいて、前記第1コーディングユニット及び前記第1コーディングユニットに隣接する第3コーディングユニットの外側の少なくとも一つのピクセル値を前記参照ピクセル値に決定し得る。
一方、本発明の一実施形態による処理装置の制御方法は、プロセッサによってビデオコンテンツを構成するフレームを複数のコーディングユニットに区分するステップと、前記複数のコーディングユニットに対して斜線方向にエンコーディングを行ってエンコーディングされたフレームを生成するステップとを含み、第1コーディングユニットが第1エンコーディングタイプに基づいてエンコーディングされる場合、第2メモリから前記第1コーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を前記プロセッサに備えられた第1メモリにローディングし、前記第2メモリからローディングされた前記参照フレームの前記第1の部分領域に基づいて前記第1コーディングユニットに対するエンコーディングを行い、前記第1コーディングユニットが第2エンコーディングタイプに基づいてエンコーディングされる場合、前記第1メモリから前記第1コーディングユニットの前記第1位置情報に対応する第1参照ピクセル値に基づいて前記現在のコーディングユニットに対するエンコーディングを行うことが好ましい。
前記複数のコーディングユニットは、右上から左下に向かう方向にエンコーディングされることが好ましい。
前記第1エンコーディングタイプはインターエンコーディングであり、前記第1コーディングユニットに対する前記インターエンコーディングが完了すると、第2コーディングユニットの第2位置情報に対応する前記参照フレームの第2の部分領域中で前記第1の部分領域に重複しない領域を、前記第1メモリにローディングして前記第2コーディングユニットに対するエンコーディングを行い得る。
前記第1コーディングユニットに対する前記インターエンコーディングが完了すると、前記第1メモリに保存された前記参照フレームの第1の部分領域中で前記第2コーディングユニットのインターエンコーディングに用いられない領域を削除するステップを更に含み得る。
前記第1コーディングユニットは、現在コーディングされるコーディングユニットであり、前記第2コーディングユニットは、前記第1コーディングユニットの後にエンコーディングされる次のコーディングユニットであり得る。
前記第2エンコーディングタイプは、イントラエンコーディングであり、前記第1コーディングユニットに対する前記イントラエンコーディングが完了すると、前記イントラエンコーディングされた第1コーディングユニットを復元して第2コーディングユニットのイントラエンコーディングに用いられる第1参照ピクセル値を前記第1メモリに保存し、前記第1メモリに保存された参照ピクセル値のうちの前記第2コーディングユニットのイントラエンコーディングに用いられない第3参照ピクセル値を削除し得る。
前記エンコーディングされたフレームを生成するステップは、前記第1コーディングユニットの前記第1位置情報に対応する領域を基準に前記第1コーディングユニットの拡張領域を前記参照フレームの前記第1の部分領域に決定し、前記第1コーディングユニットの前記第1位置情報に基づいて、前記第1コーディングユニット及び前記第1コーディングユニットに隣接する第3コーディングユニットの外側の少なくとも一つのピクセル値を前記第1参照ピクセル値に決定し得る。
また、本発明の他の実施形態による処理装置の制御方法は、プロセッサによってエンコーディングされたビデオコンテンツを構成するエンコーディングされたフレームに対してコーディングユニット単位でデコーディングを行うステップと、前記デコーディングが行われた複数のコーディングユニットを斜線方向に配置してデコーディングされたフレームを生成するステップとを含み、第1コーディングユニットが第1デコーディングタイプに基づいてデコーディングされる場合、第2メモリから前記第1コーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を前記プロセッサに備えられた第1メモリにローディングし、前記第2メモリからローディングされた前記参照フレームの前記第1の部分領域に基づいて前記第1コーディングユニットに対するデコーディングを行い、前記第1コーディングユニットが第2デコーディングタイプに基づいてデコーディングされる場合、前記第1メモリから前記第1コーディングユニットの前記第1位置情報に対応する参照ピクセル値を用いて前記第1コーディングユニットに対するデコーディングを行うことが好ましい。
前記第1デコーディングタイプはインターデコーディングであり、前記デコーディングを行うステップは、前記第1コーディングユニットに対する前記インターデコーディングが完了すると、第2コーディングユニットの第2位置情報に対応する前記参照フレームの第2の部分領域中で前記第1の部分領域に重複しない領域を、前記第2メモリにローディングして前記第2コーディングユニットに対するデコーディングを行い、前記デコーディングが行われた複数のコーディングユニットを用いて右上から左下に向かう前記斜線方向に配置して前記デコーディングされたフレームを生成し得る。
前記デコーディングを行うステップは、前記第1コーディングユニットに対する前記インターデコーディングが完了すると、前記第1メモリに保存された前記参照フレームの第1の部分領域中で前記第2コーディングユニットのインターデコーディングに用いられない領域を削除し得る。
前記第2デコーディングタイプは、イントラデコーディングであり、前記デコーディングを行うステップは、前記第1コーディングユニットに対する前記イントラデコーディング過程で第2コーディングユニットのイントラデコーディングに用いられる第1参照ピクセル値を前記第2メモリに保存し、前記第1コーディングユニットに対する前記イントラデコーディングが完了すると、前記第1メモリに保存された参照ピクセル値のうちの前記第2コーディングユニットのイントラデコーディングに用いられない第2参照ピクセル値を削除し、前記デコーディングが行われた複数のコーディングユニットを用いて右上から左下に向かう前記斜線方向に配置して前記デコーディングされたフレームを生成し得る。
前記デコーディングを行うステップは、前記第1コーディングユニットの前記第1位置情報に対応する領域を基準に予め設定された拡張領域を前記参照フレームの前記第1の部分領域に決定し、前記第1コーディングユニットの前記第1位置情報に基づいて、前記第1コーディングユニット及び前記第1コーディングユニットに隣接する第3コーディングユニットの外側の少なくとも一つのピクセル値を前記参照ピクセル値に決定し得る。
上記目的を達成するための本発明の一実施形態による処理装置は、第1メモリを備え、ビデオコンテンツ内のフレームを複数のコーディングユニットに区分し、前記複数のコーディングユニットに対するインターエンコーディングを斜線方向に行ってエンコーディングされたフレームを生成するプロセッサを含み、前記プロセッサは、第1コーディングユニットをエンコーディングする場合、第2メモリから前記第1コーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を前記第1メモリにローディングし、前記第2メモリからローディングされた前記参照フレームの前記第1の部分領域に基づいて前記第1コーディングユニットに対するエンコーディングを行い得る。
前記プロセッサは、第2コーディングユニットがエンコーディングされる際、前記第1メモリに予めローディングされた前記第1参照領域を検索し、前記第2メモリから前記第2コーディングユニットの第2位置情報に対応する前記参照フレームの第2の部分領域を前記第1メモリにローディングし、前記第1の部分領域及び前記第2の部分領域に基づいて前記第2コーディングユニットをエンコーディングし得る。
前記プロセッサは、第2コーディングユニットがエンコーディングされる際、前記第1メモリから第3コーディングユニットのインターエンコーディングに用いられない前記第1の部分領域の第1部分を削除し、前記第1メモリに予めローディングされた前記第1参照領域の第2部分を検索し、前記第2メモリから前記第2コーディングユニットの第2位置情報に対応する前記参照フレームの第2の部分領域を前記第1メモリにローディングし、前記第1の部分領域の前記第2部分及び及び前記第2の部分領域に基づいて前記第2コーディングユニットをエンコーディングし得る。
上記目的を達成するためになされた本発明のさらに他の態様による処理装置は、第1メモリを備え、ビデオコンテンツ内のフレームを複数のコーディングユニットに区分し、前記複数のコーディングユニットに対するイントラエンコーディングを斜線方向に行ってエンコーディングされたフレームを生成するプロセッサを含み、前記プロセッサは、第1コーディングユニットをエンコーディングする場合、前記第1コーディングユニット上の第1参照ピクセルの第1参照ピクセル値、前記第1コーディングユニットに隣接する右側の第2コーディングユニット上の第2参照ピクセルの第2参照ピクセル値、及び前記第1コーディングユニット内のピクセルのピクセル値に基づいて前記第1コーディングユニットをエンコーディングすることを特徴とする。
前記プロセッサは、前記第1コーディングユニットに対する前記イントラエンコーディングが完了すると、前記イントラエンコーディングされた第1コーディングユニットを復元し、前記第1メモリに第3コーディングユニットのイントラエンコーディングに用いられる第3参照ピクセル値を保存し、前記第3コーディングユニットのイントラエンコーディングに用いられない前記第1参照ピクセル値を削除し得る。
本発明によれば、処理装置は、参照フレームの部分領域のみを第1メモリからプロセッサに備えられた第2メモリにローディングし、第2メモリに保存された参照ピクセルを効率的に管理し、第2メモリの必要容量、及び第1メモリと第2メモリとの間の帯域幅を減少させることができる。
本発明の一実施形態による、エンコーディングを行う処理装置の構成を示すブロック図である。 本発明の一実施形態による、デコーディングを行う処理装置の構成を示すブロック図である。 本発明の一実施形態による、エンコーディングを行う処理装置の概略を説明するためのブロック図である。 本発明の一実施形態による複数のコーディングユニットのエンコーディング順を説明するための図である。 本発明の一実施形態によるインターエンコーディング及びイントラエンコーディングの動作を説明するための概略図である。 本発明の他の実施形態によるインターエンコーディングの動作を説明するための概略図である。 本発明の一実施形態によるインターエンコーディングの動作を具体的に説明するための図である。 本発明の一実施形態によるインターエンコーディングの動作を具体的に説明するための図である。 本発明の一実施形態によるインターエンコーディングの動作を具体的に説明するための図である。 本発明の一実施形態によるインターエンコーディングの動作を具体的に説明するための図である。 本発明の一実施形態によるインターエンコーディングの動作を具体的に説明するための図である。 本発明の一実施形態によるイントラエンコーディングの動作を具体的に説明するための図である。 本発明の一実施形態によるイントラエンコーディングの動作を具体的に説明するための図である。 本発明の一実施形態によるイントラエンコーディングの動作を具体的に説明するための図である。 本発明の一実施形態によるデコーディングを行う処理装置の概略を説明するためのブロック図である。 本発明の一実施形態によるエンコーディングを行う処理装置の制御方法を説明するためのフローチャートである。 本発明の一実施形態によるデコーディングを行う処理装置の制御方法を説明するためのフローチャートである。
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。本明細書に記載された内容は、本発明の技術範囲を特定の実施形態に限定するものではなく、実施形態の多様な変更(Modifications)、均等物(Equivalents)、及び/または代替物(Alternatives)を含む。図面の説明に関し、類似する構成要素に対しては、同一または類似の参照符号を使用する。
なお、本明細書で一つの構成要素(例えば、第1構成要素)が別の構成要素(例えば、第2構成要素)に機能的または通信的(operatively or communicatively)に連結(Coupled)されるか、または接続される(connected to)と記載する場合、各構成要素が直接接続されるか、または別の構成要素(例えば、第3構成要素)を介して間接的に接続される場合を含む。一方、或る構成要素(例えば、第1構成要素)が別の構成要素(例えば、第2構成要素)に「直接連結されて」いるか、または「直接接続されて」いると記載された場合、或る構成要素と別の構成要素との間に別の構成要素(例えば、第3構成要素)は存在しない。
本明細書で使用される用語は、任意の実施形態を説明するために使用されるものであって、別の実施形態の範囲を限定するものではない。なお、本明細書では、説明の便宜上、単数表現を使用するが、それは文脈上明白に記載する場合を除いて、複数表現を含む。また、本明細書で使用される用語は、当該技術分野において通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。本明細書に使用される用語のうち、通常の辞書に定義された用語は、関連技術の文脈上有する意味と同じまたは類似する意味で解釈され、本明細書で明白に定義されない限り、理想的、または過度に形式的な意味で解釈されない。場合によっては、本明細書で定義された用語であっても、本明細書の実施形態を排除するように解釈されない。
以下、図面を用いて本発明の多様な実施形態について具体的に説明する。
図1は、本発明の一実施形態による、エンコーディングを行う処理装置の構成を示すブロック図である。図1に示すように、処理装置100は、動作予測部111、動作補償部112、イントラ予測部120、スイッチ115、減算器125、変換部130、量子化部140、エントロピーエンコーディング部150、逆量子化部160、逆変換部170、加算器175、フィルタ部180、及び参照フレームバッファ190を含む。
処理装置100は、ビデオコンテンツをエンコーディングして別の信号の形態に変更する装置である。本発明の一実施形態による処理装置100は、ビデオコンテンツを第1フォーマットにエンコーディングし、ビデオコンテンツを第2フォーマットに変換する。ここで、ビデオコンテンツは、複数のフレームで構成され、各フレームは、複数のピクセルを含む。例えば、処理装置100は、加工されていない原本データを圧縮するための装置である。または、処理装置100は、予めエンコーディングされたデータを別の信号の形態に変更する装置である。
処理装置100は、各フレームを複数のブロックに区分してエンコーディングを行う。処理装置100は、ブロック単位で時間的または空間的な予測、変換、量子化、フィルタリング、エントロピーエンコーディングなどを経てエンコーディングを行う。
予測は、エンコーディングしようとするターゲットブロックに類似する予測ブロックを生成することを意味する。ここで、エンコーディングしようとするターゲットブロックの単位を予測ユニット(Prediction Unit、PU)と定義し、予測は時間的な予測及び空間的な予測に区分される。
時間的な予測は、画面間の予測を意味する。処理装置100は、現在エンコーディングしようとするフレームとの相関度が高い一部の参照フレーム(Reference Frame)を保存し、それを用いて画面間の予測を行う。即ち、処理装置100は、前の時間にエンコーディングした後に復元された参照フレームから予測ブロックを生成する。この場合、処理装置100は、インター(Inter)エンコーディング(例えば、インターフレームエンコーディング)するという。
インターエンコーディングする場合、動作予測部111は、参照フレームバッファ190に保存されている参照フレームからターゲットブロックに最も時間的相関度が高いブロックを検索する。動作予測部111は、参照フレームを補間(Interpolation)し、補間されたフレームからターゲットブロックに最も時間的相関度の高いブロックを検索する。
ここで、参照フレームバッファ190は、参照フレームを保存する空間である。参照フレームバッファ190は、画面間の予測を行う場合にのみ用いられ、現在エンコーディングしようとするフレームと相関度の高い一部の参照フレームを保存している。参照フレームは、後述の差分ブロックを順次に変換、量子化、逆量子化、逆変換、フィルタリングして生成されたフレームである。即ち、参照フレームは、エンコーディングの後に復元されたフレームである。
動作補償部112は、動作予測部111で見つけたターゲットブロックに最も時間的相関度が高いブロックに対する動作情報に基づいて予測ブロックを生成する。ここで、動作情報は、動作ベクトル、参照フレームインデックスなどを含む。
空間的な予測は、画面内、例えば、画面のフレーム内の予測を意味する。イントラ予測部120は、現在のフレーム内のエンコーディングの後に復元された隣接ピクセルから空間的な予測を行ってターゲットブロックに対する予測値を生成する。この場合、処理装置100は、イントラ(Intra)エンコーディング(例えば、イントラフレームエンコーディング)するという。
インターエンコーディングまたはイントラエンコーディングは、コーディングユニット(Coding Unit、CU)単位で決定される。ここで、コーディングユニットは、少なくとも一つの予測ユニットを含む。エンコーディングの予測方法が決定されると、スイッチ115の位置がエンコーディングの予測方法に対応するように変更される。
一方、時間的な予測におけるエンコーディングの後に復元された参照フレームには、フィルタリングが適用される。しかし、空間的な予測におけるエンコーディングの後に復元された隣接ピクセルには、フィルタリングが適用されない。
減算器125は、ターゲットブロックと、時間的な予測または空間的な予測から得られた予測ブロックとの間の差を計算して、差分ブロック(Residual block)を生成する。差分ブロックは、予測過程によって重複性が多く除去されたブロックであるが、予測が完全に行われていないためにエンコーディングしなければならない情報を含むブロックである。
変換部130は、空間的な重複性を除去するために、画面内または画面間の予測の後の差分ブロックを変換して周波数領域の変換係数を出力する。このとき、変換の単位は、変換ユニット(Transform Unit、TU)であり、予測ユニットとは関係なく決定される。例えば、複数の差分ブロックを含むフレームは、予測ユニットとは関係なく複数の変換ユニットに分割され、変換部130は各変換ユニット別に変換を行う。変換ユニットの分割は、ビット率最適化によって決定される。
但し、本発明は、これに限定されるものではなく、変換ユニットはコーディングユニット及び予測ユニットのうちの少なくとも一つに関連して決定される。
変換部130は、各変換ユニットのエネルギーを特定の周波数領域に集中させるために、変換を行う。例えば、変換部130は、各変換ユニットに対してDCT(Discrete Cosine Transform)に基づいた変換を行って低周波領域にデータを集中させる。または、変換部130は、DFT(Discrete Fourier Transform)に基づいた変換、またはDST(Discrete Sine Transform)に基づいた変換を行う。
量子化部140は、変換係数に対して量子化を行い、変換係数を予め設定された数の代表値に近似化する。即ち、量子化部140は、特定範囲の入力値を一つの代表値にマッピングする。この過程で、人間には認知できない高周波信号が除去され、情報の損失が発生する。
量子化部140は、入力データの確率分布や量子化の目的に応じて、均等量子化及び非均等量子化のうちのいずれかを用いる。例えば、量子化部140は、入力データの確率分布が均等である場合には、均等量子化の方法を用いる。または、量子化部140は、入力データの確率分布が均等でない際には、非均等量子化方法を用いる。
エントロピーエンコーディング部150は、量子化部140で入力されたデータに対してシンボル(Symbol)の発生率に応じて、シンボルの長さを可変的に割り当ててデータ量を縮小する。即ち、エントロピーエンコーディング部150は、入力されたデータを確率モデルに基づいて、0か1で構成された可変長のビット列に表現してビットストリームを生成する。
例えば、エントロピーエンコーディング部150は、高い発生率を有するシンボルには少ないビットを割り当て、低い発生率を有するシンボルには多くのビットを割り当てて入力データを表現する。それにより、入力データのビット列の大きさが減少し、映像エンコーディングの圧縮性能を向上させる。
エントロピーエンコーディング部150は、ハフマンコーディング及び指数ゴロムコーディング(Exponential−Golomb coding)のような可変長コーディング(Variable Length Coding)または算術コーディング(Arithmetic Coding)方法によってエントロピーエンコーディングを行う。
逆量子化部160及び逆変換部170は、量子化された変換係数の入力を受けて、それぞれ逆量子化した後、逆変換を行って復元された差分ブロックを生成する。
加算器175は、復元された差分ブロックと、時間的な予測または空間的な予測から得られた予測ブロックとを足して復元ブロックを生成する。
フィルタ部180は、デブロッキングフィルタ(Deblocking filter)、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)のうちの少なくとも一つを復元映像に適用する。フィルタリングされた復元フレームは、参照フレームバッファ190に保存されて参照フレームとして活用される。
図2は、本発明の一実施形態による、デコーディングを行う処理装置の構成を示すブロック図である。図2に示すように、処理装置200は、エントロピーデコーディング部210、逆量子化部220、逆変換部230、加算器235、イントラ予測部240、動作補償部250、スイッチ255、フィルタ部260、及び参照フレームバッファ270を含む。
デコーディングを行う処理装置200は、エンコーディングを行う処理装置100で生成されたビットストリームの入力を受けて、ビデオを再構成するためにそのビットストリームのデコーディングを行う。処理装置200は、ブロック単位でエントロピーデコーディング、逆量子化、逆変換、フィルタリングなどを経てデコーディングを行う。
エントロピーデコーディング部210は、入力されたビットストリームをエントロピーデコーディングして量子化された変換係数を生成する。このとき、エントロピーデコーディング方法は、図1におけるエントロピーデコーディング部150で用いた方法を逆に適用した方法である。
逆量子化部220は、量子化された変換係数の入力を受けて逆量子化を行う。即ち、量子化部140及び逆量子化部220の動作に応じて、特定範囲の入力値が特定範囲内のいずれかの基準入力値に変更され、この過程で、入力値といずれかの基準入力値との差分だけのエラーが発生する。
逆変換部230は、逆量子化部220から出力されたデータを逆変換し、変換部130で用いた方法を逆に適用して逆変換を行う。逆変換部230は、逆変換を行って復元された差分ブロックを生成する。
加算器235は、復元された差分ブロックと予測ブロックとを足して復元ブロックを生成する。ここで、予測ブロックは、インターエンコーディングまたはイントラエンコーディングを通じて生成されたブロックである。
インターデコーディング(例えば、インターフレームデコーディング)する場合、動作補償部250は、エンコーディングを行う処理装置100からデコーディングしようとするターゲットブロックに対する動作情報を受信または誘導(derive)(周辺ブロックから誘導)し、受信されたまたは誘導された動作情報に基づいて予測ブロックを生成する。ここで、動作補償部250は、参照フレームバッファ270に保存されている参照フレームで予測ブロックを生成する。動作情報は、ターゲットブロックと最も時間的相関度の高いブロックに対する動作ベクトル、参照フレームインデックスなどを含む。
ここで、参照フレームバッファ270は、現在デコーディングしようとするフレームと相関度が高い一部の参照フレームを保存する。参照フレームは、上述の復元ブロックをフィルタリングして生成されたフレームである。即ち、参照フレームは、エンコーディングを行う処理装置100で生成されたビットストリームが復元されたフレームである。なお、デコーディングを行う処理装置200で用いられる参照フレームは、エンコーディングを行う処理装置100で用いられる参照フレームと同一である。
イントラデコーディング(イントラフレームデコーディング)する場合、イントラ予測部240は現在のフレーム内の復元された隣接ピクセルから空間的な予測を行って、ターゲットブロックに対する予測値を生成する。
一方、スイッチ255は、ターゲットブロックのデコーディングの予測方法に応じて位置が変更される。
フィルタ部260は、デブロッキングフィルタ、SAO、ALFのうちの少なくとも一つを復元フレームに適用する。フィルタリングされた復元フレームは、参照フレームバッファ270に保存されて参照フレームとして活用される。
一方、処理装置200は、ビットストリームに含まれているエンコーディングされたフレームに関連する情報をパージングするパージング部(図示せず)を更に含む。パージング部は、エントロピーデコーディング部210を含むか、またはエントロピーデコーディング部210に含まれる。
上述のように、エンコーディングを行う処理装置100は、エンコーディング過程を通じてビデオのデータを圧縮し、圧縮されたデータをデコーディングする処理装置200に伝送する。デコーディングを行う処理装置200は、圧縮されたデータをデコーディングしてビデオコンテンツを再構成する。
以下では、エンコーディングを行う処理装置100及びデコーディングを行う処理装置200の動作について、より具体的に説明する。
図3は、本発明の一実施形態による、エンコーディングを行う処理装置の概略を説明するためのブロック図である。
図3に示すように、処理装置100は、第1メモリ310及びプロセッサ320を含む。
第1メモリ310は、プロセッサ320とは別に備えられ、ハードディスク、不揮発性メモリ、及び揮発性メモリなどで具現される。
第1メモリ310は、ビデオコンテンツ、参照フレームなどを保存する。ここで、参照フレームは、プロセッサ320によってエンコーディングされたフレームの復元フレームである。
第1メモリ310は、プロセッサ320の内部に備えられた第2メモリ325にデータを提供し、第2メモリ325からデータを入力される。
プロセッサ320は、処理装置100の動作を全体的に制御する。
プロセッサ320は、第2メモリ325を含む。ここで、第2メモリ325は、プロセッサ320の内部に備えられたキャッシュメモリ、レジスタファイル、及びバッファなどを用いて具現される。
第2メモリ325は、第1メモリ310よりも小容量であり、その速度は第1メモリ310よりも速い。第2メモリ325は、第1メモリ310からデータが入力されて、プロセッサ320で処理されるようにサポートする。第2メモリ325は、プロセッサ320で処理されたデータを一時的に保存し、プロセッサ320の制御によって第1メモリ310に出力する。
プロセッサ320は、第1メモリ310からビデオコンテンツを受信してエンコーディングする。プロセッサ320は、ビデオコンテンツを構成するフレームを複数のコーディングユニットに区分し、複数のコーディングユニットのそれぞれに対するエンコーディングを行ってエンコーディングされたフレームを生成する。
ここで、複数のコーディングユニットは、LCU(Largest Coding Unit)である。但し、本発明はこれに限定されず、プロセッサ320は、異なる大きさの複数のコーディングユニットにフレームを区分する。なお、複数のコーディングユニットの大きさは、いずれも異なる。以下では、説明の便宜上、複数のコーディングユニットの大きさがいずれも同じ大きさとして説明する。
プロセッサ320は、複数のコーディングユニットに対して予め設定された方向にエンコーディングを行う。例えば、プロセッサ320は、複数のコーディングユニットに対して右上から左下に向かう斜線方向にエンコーディングを行う。但し、本発明はこれに限定されず、プロセッサ320は、異なる順に複数のコーディングユニットをエンコーディングする。
プロセッサ320は、現在のコーディングユニットの位置情報を保存する。プロセッサ320は、位置情報に基づいて第2メモリ325に保存された情報を管理する。
プロセッサ320のこのような動作は、第2メモリ325の必要容量及び帯域幅を減少させる。その具体的な説明は、後述する。
プロセッサ320は、現在のコーディングユニットが第1エンコーディングタイプに基づいてエンコーディングされる場合、現在のコーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を第1メモリ310から第2メモリ325にローディングして、現在のコーディングユニットに対するエンコーディングを行い、現在のコーディングユニットが第2エンコーディングタイプに基づいてエンコーディングされる場合、第2メモリ325から現在のコーディングユニットの第1位置情報に対応する参照ピクセル値を用いて現在のコーディングユニットに対するエンコーディングを行う。
ここで、第1エンコーディングタイプはインターエンコーディングであり、プロセッサ320は、複数のコーディングユニットに対して右上から左下に向かう斜線方向にエンコーディングを行い、現在のコーディングユニットに対するインターエンコーディングが完了すると、次のコーディングユニットの第2位置情報に対応する参照フレームの第2の部分領域中で第1の部分領域に重複していない領域を第2メモリ325にローディングし、次のコーディングユニットに対するエンコーディングを行う。
なお、プロセッサ320は、現在のコーディングユニットに対するインターエンコーディングが完了すると、第2メモリ325に保存された参照フレームの第1の部分領域の中から、現在のコーディングユニットの以後のコーディングユニットのインターエンコーディングに用いられていない領域を削除する。
一方、第2エンコーディングタイプはイントラエンコーディングであり、プロセッサ320は、複数のコーディングユニットに対して右上から左下に向かう斜線方向にエンコーディングを行い、現在のコーディングユニットに対するイントラエンコーディングが完了すると、イントラエンコーディングされた現在のコーディングユニットを復元し、以後のコーディングユニットのイントラエンコーディングに用いられる第1参照ピクセル値を第2メモリ325に保存し、第2メモリ325に保存された参照ピクセル値のうち、以後のコーディングユニットのイントラエンコーディングに用いられない第2参照ピクセル値を削除する。
一方、プロセッサ320は、現在のコーディングユニットの第1位置情報に対応する領域を基準に予め設定された拡張領域を参照フレームの第1の部分領域に決定し、現在のコーディングユニットの第1位置情報に基づいて、現在のコーディングユニット及び隣接のコーディングユニットの外側の少なくとも一部のピクセル値を参照ピクセル値に決定する。
図4は、本発明の一実施形態による複数のコーディングユニットのエンコーディング順を説明するための図である。
図4に示すように、プロセッサ320は、フレームを複数のコーディングユニットに区分する。複数のコーディングユニット内に記載された数字は、複数のコーディングユニットのエンコーディング順を示している。または、プロセッサ320は、矢印の順に沿って複数のコーディングユニットをエンコーディングする。
プロセッサ320は、同じ列(Row)では、左から右の順に複数のコーディングユニットに対してエンコーディングを行う。そして、プロセッサ320は、列が異なる場合には、複数のコーディングユニットに対して右上から左下に向かう斜線方向にエンコーディングを行う。なお、プロセッサ320は、複数のコーディングユニットのうち、列が異なる一部のコーディングユニットを同時にエンコーディングする。
例えば、プロセッサ320は、0番のコーディングユニットをエンコーディングし、0番のコーディングユニットのエンコーディングが完了すると、1番のコーディングユニットをエンコーディングする。そして、プロセッサ320は、1番のコーディングユニットのエンコーディングが完了すると、2番のコーディングユニットをエンコーディングする。
このとき、2番のコーディングユニットは、Row 0とRow 1とにそれぞれ一つずつ、合わせて二つが位置しており、プロセッサ320は二つの2番のコーディングユニットを同時にエンコーディングする。即ち、プロセッサ320は、隣接していない複数のコーディングユニットを同時にエンコーディングする。
または、プロセッサ320は、Row 0とRow 1とのそれぞれの2番のコーディングユニットを矢印の順に沿ってエンコーディングする。即ち、プロセッサ320は、Row 0の0番→Row 0の1番→Row 1の2番→Row 0の2番→Row 1の3番…のような順にエンコーディングを行う。
図4に示すエンコーディング順は、一実施形態に過ぎず、プロセッサ320は、異なる順にエンコーディングを行う。例えば、図4において同時に処理される複数のコーディングユニット間の距離は一実施形態に過ぎず、プロセッサ320はより離れた複数のコーディングユニットを同時に処理する。
図5Aは、本発明の一実施形態によるインターエンコーディング及びイントラエンコーディングの動作を説明するための概略図である。図5Aにおいて、A、B、C、及びDは同時に処理される複数のコーディングを示す。
プロセッサ320は、イントラエンコーディングの際に必要な上段ピクセル510及びインターエンコーディングの際に必要な第1メモリ310に保存されている参照フレームの部分領域520を第2メモリ325に保存する。上段ピクセル510は、参照ピクセルであり、コーディングユニットA、B、C、及びDの外側である。
プロセッサ320は、インターエンコーディングの際、既にエンコーディングが完了したフレームを復元して現在エンコーディングを行うコーディングユニットに対応する領域を基準に予め設定された拡張領域530内で予測ブロックを生成する。
ここで、予め設定された拡張領域530は、参照フレームで現在エンコーディングを行っているコーディングユニットに対応する領域を上下左右に拡張した領域である。参照フレームは、エンコーディングの後に復元されたフレームである。なお、参照フレームは、第1メモリに保存される。
図5Aの予め設定された拡張領域は一実施形態に過ぎず、異なる大きさの領域が用いられる。通常、予め設定された拡張領域は、コーディングユニットの横及び縦の長さよりも4倍〜8倍大きい上下左右方向への探索領域を使用する。
即ち、プロセッサ320は、インターエンコーディングの際、第1メモリ310から参照フレームの全領域を第2メモリ325にローディングするのではなく、第1メモリ310から参照フレームの部分領域のみを第2メモリ325にローディングし、第1メモリ310と第2メモリ325との間の必要な帯域幅を減少させる。
一方、プロセッサ320は、イントラエンコーディングの際、現在のコーディングユニットの位置情報に基づいて、現在のコーディングユニットの外側及び隣接のコーディングユニットの外側の少なくとも一部のピクセル値を用いてイントラエンコーディングを行う。少なくとも一部のピクセル値は、現在のコーディングユニットの上側及び現在のコーディングユニットの位置情報に基づいた隣接のコーディングユニットの上側のうちの少なくとも一つである。例えば、プロセッサ320は、現在のコーディングユニットの上段ピクセル510及び現在のコーディングユニットの右側に隣接するコーディングユニットの上段ピクセル510及び現在のコーディングユニットの左側ピクセルを用いてイントラエンコーディングを行う。
このとき、現在のコーディングユニットの左側ピクセル(図示せず)は、現在のコーディングユニットのエンコーディング直前にエンコーディングされたコーディングユニットを復元して用いる。
プロセッサ320は、現在のコーディングユニット以前にエンコーディングされたコーディングユニットのエンコーディングが完了すると、エンコーディングが完了したコーディングユニットを復元し、それに含まれた上段ピクセル510を第2メモリ325に保存し、現在のコーディングユニットのイントラエンコーディングの際に用いる。
プロセッサ320は、現在のコーディングユニットに対するイントラエンコーディングが完了すると、イントラエンコーディングされた現在のコーディングユニットを復元し、その後にコーディングユニットのイントラエンコーディングに用いられる参照ピクセル値を第2メモリ325に保存する。
プロセッサ320は、第2メモリ325に保存された参照ピクセル値のうち、以後のコーディングユニットのイントラエンコーディングに用いられない参照ピクセル値を削除する。
一方、プロセッサ320は、図4のような順で複数のコーディングユニットをエンコーディングするため、イントラエンコーディングの際に第2メモリ325に保存される参照ピクセルの容量を最小化する。これに対する具体的な説明は後述する。
図5Bは、本発明の他の実施形態によるインターエンコーディングの動作を説明するための概略図である。
図5Bは、図5Aにおいて、第2メモリ325に保存される参照フレームの部分領域520よりも小さい領域を第1メモリ310からローディングする場合を示す。
プロセッサ320は、0番のコーディングユニットをインターエンコーディングするために、参照フレームの第1の部分領域540を第1メモリ310から第2メモリ325にローディングする。プロセッサ320は、0番のコーディングユニットのインターエンコーディングが完了すると、参照フレームの第2の部分領域550を用いて1番のコーディングユニットをインターエンコーディングする。
このとき、第2の部分領域550の左側半分の領域は0番のコーディングユニットのインターエンコーディングの際にローディングされているデータに更にローディングする必要がない。即ち、プロセッサ320は、1番のコーディングユニットをインターエンコーディングするために、第2の部分領域550の右側半分の領域のみを第1メモリ310から第2メモリ325にローディングする。
以上のような動作を通じて、第1メモリ310と第2メモリ325との間の必要な帯域幅を減少させる。
図6Aないし図6Eは、本発明の一実施形態によるインターエンコーディングの動作を具体的に説明するための図である。
図6Aに示すように、プロセッサ320は、第1メモリ310から参照フレームの第1の部分領域610を第2メモリ325にローディングし、ローディングされたデータに基づいて0番のコーディングユニットのインターエンコーディングを行う。
ここで、図6Aの第1の部分領域610は一実施形態に過ぎず、異なる大きさの領域にデータがローディングされる。プロセッサ320は、第2メモリ325の容量及び帯域幅などに基づいてローディングされる領域の大きさを決定する。
そして、図6Bに示すように、プロセッサ320は、第1メモリ310から参照フレームの第2の部分領域620を第2メモリ325にローディングし、ローディングされたデータに基づいて1番のコーディングユニット及び10番のコーディングユニットのインターエンコーディングを行う。
このとき、プロセッサ320は、第2メモリ325に予め保存されているデータを用いて10番のコーディングユニットをインターエンコーディングする。
そして、図6Cに示すように、プロセッサ320は、第1メモリ310から参照フレームの第3の部分領域630を第2メモリ325にローディングし、ローディングされたデータに基づいて2番のコーディングユニット、11番のコーディングユニット、及び20番のコーディングユニットのインターエンコーディングを行う。
このとき、プロセッサ320は、第2メモリ325に予め保存されているデータを用いて11番のコーディングユニット及び20番のコーディングユニットをインターエンコーディングする。
そして、図6Dに示すように、プロセッサ320は、第1メモリ310から参照フレームの第4の部分領域640を第2メモリ325にローディングし、ローディングされたデータに基づいて3番のコーディングユニット、12番のコーディングユニット、21番のコーディングユニット、及び30番のコーディングユニットのインターエンコーディングを行う。
このとき、プロセッサ320は、第2メモリ325に予め保存されているデータを用いて12番のコーディングユニット、21番のコーディングユニット、及び30番のコーディングユニットをインターエンコーディングする。
そして、図6Eに示すように、プロセッサ320は、第1メモリ310から参照フレームの第5の部分領域650を第2メモリ325にローディングし、ローディングされたデータに基づいて4番のコーディングユニット、13番のコーディングユニット、22番のコーディングユニット、及び31番のコーディングユニットのインターエンコーディングを行う。
このとき、プロセッサ320は、第2メモリ325に予め保存されているデータを用いて13番のコーディングユニット、22番のコーディングユニット、及び31番のコーディングユニットをインターエンコーディングする。
そして、プロセッサ320は、第2メモリ325に保存されているデータのうち、第1の部分領域610の左側半分の領域を削除する。プロセッサ320は、第2メモリ325に保存されているデータのうち、第1の部分領域610の左側半分の領域よりも多くのデータを削除し、第2メモリ325に保存されているデータのうち、第1の部分領域610の左側半分の領域よりも少ないデータを削除する。削除された第1の部分領域の量は、多様である。
一方、図6Aないし図6Eにおいては、順次にエンコーディングを行うものとして示されているが、本発明はこれに限定されない。例えば、プロセッサ320は、2番のコーディングユニット及び10番のコーディングユニットを同時にインターエンコーディングする。この場合にも、プロセッサ320は、第1メモリ310からインターエンコーディングに必要な参照フレームの部分領域を第2メモリ325にローディングし、第2メモリ325でインターエンコーディングに必要のない部分領域を削除する。
プロセッサ320は、以上のような方法を全てのコーディングユニットに適用してインターエンコーディングを行う。
図7Aないし図7Cは、本発明の一実施形態によるイントラエンコーディングの動作を具体的に説明するための図である。
図5Aで説明したように、現在のコーディングユニットの左側ピクセルは、直前のコーディングユニットのエンコーディングの後に復元を通じて用いられる。そこで、現在のコーディングユニットの上段ピクセル及び現在のコーディングユニットの右側に隣接するコーディングユニットの上段ピクセルを中心に説明する。
図7Aに示すように、プロセッサ320は、0番のコーディングユニットに対するイントラエンコーディングが完了すると、イントラエンコーディングされた0番のコーディングユニットを復元し、その後にコーディングユニットのイントラエンコーディングに用いられる第1参照ピクセル値710を第2メモリ325に保存する。
そして、図7Bに示すように、プロセッサ320は、1番のコーディングユニットに対するイントラエンコーディングが完了すると、イントラエンコーディングされた1番のコーディングユニットを復元し、その後にコーディングユニットのイントラエンコーディングに用いられる第2参照ピクセル値720を第2メモリ325に保存する。
そして、図7Cに示すように、プロセッサ320は、第2メモリ325に保存されている第1参照ピクセル値710及び第2参照ピクセル値720を用いて、10番のコーディングユニットをイントラエンコーディングする。プロセッサ320は、第1参照ピクセル値710(現在のコーディングユニットの上段ピクセル値)、第2参照ピクセル値720(現在のコーディングユニットの隣接する右側のコーディングユニットの上段ピクセル値)、及び現在のコーディングユニットの左側ピクセル値を用いて現在のコーディングユニットをイントラエンコーディングする。
プロセッサ320は、10番のコーディングユニットに対するイントラエンコーディングが完了すると、イントラエンコーディングされた10番のコーディングユニットを復元し、その後にコーディングユニットのイントラエンコーディングに用いられる第3参照ピクセル値730を第2メモリ325に保存する。
なお、プロセッサ320は、第2メモリ325に保存された参照ピクセル値のうち、以後のコーディングユニットのイントラエンコーディングに用いられない参照ピクセル値を削除する。例えば、第2参照ピクセル値720は、11番のコーディングユニットをイントラエンコーディングする場合に用いられるため、プロセッサ320は、第1参照ピクセル値710のみを削除する。即ち、第1参照ピクセル値710は、11番のコーディングユニットの上段ピクセルではない。
従来の技術によると、0番のコーディングユニットから9番のコーディングユニットまで順次にイントラエンコーディングが行われ、9番のコーディングユニットのイントラエンコーディングが完了すると、10番のコーディングユニットのイントラエンコーディングが行われる。それにより、10番のコーディングユニットのイントラエンコーディングが完了し、第1参照ピクセル値710を削除する前まで、0番のコーディングユニットから9番のコーディングユニットのそれぞれに対応する参照ピクセル値を第2メモリに保存していなければならない。
これに対し、本発明によると、10番のコーディングユニットのイントラエンコーディングが完了し、第1参照ピクセル値710を削除する前まで、第1参照ピクセル値710及び第2参照ピクセル値720を、第2メモリ325に保存していなければならない。それにより、第2メモリ325の必要な容量を減少させる。
一方、図7Aないし図7Cにおいて、プロセッサ320は、現在のコーディングユニット及び現在のコーディングユニットの右側に隣接するコーディングユニットの上段ピクセルを参照するものとして説明している。但し、本発明はこれに限定されるものではなく、プロセッサ320は、異なる位置にあるピクセル値を参照する。プロセッサ320が参照するピクセル値の位置が変更される場合、複数のコーディングユニットのエンコーディング順も、それに対応するように変更される。
また、図7Aないし図7Cにおいては、順次にエンコーディングを行うものとして示しているが、本発明はこれに限定されない。例えば、プロセッサ320は、2番のコーディングユニット及び10番のコーディングユニットを同時にイントラエンコーディングする。
プロセッサ320は、以上のような過程を残りのコーディングユニットに対して、繰り返しイントラエンコーディングを行う。
図8は、本発明の一実施形態によるデコーディングを行う処理装置の概略を説明するためのブロック図である。
図8に示すように、処理装置200は、第1メモリ810及びプロセッサ820を含む。
第1メモリ810は、プロセッサ820とは別に備えられ、ハードディスク、不揮発性メモリ、及び揮発性メモリなどで具現される。
第1メモリ810は、エンコーディングされたビデオコンテンツ、参照フレームなどを保存する。ここで、参照フレームは、処理装置100から入力されたエンコーディングされたビデオコンテンツをプロセッサ820が復元した復元フレームである。
第1メモリ810は、プロセッサ820の内部に備えられた第2メモリ825にデータを提供し、第2メモリ825からデータが入力される。
プロセッサ820は、処理装置200の動作を全体的に制御する。
プロセッサ820は、第2メモリ825を含む。ここで、第2メモリ825は、プロセッサ820の内部に備えられたキャッシュメモリ、レジスタファイル、及びバッファなどを用いて具現される。
第2メモリ825は、第1メモリ810よりも小容量であり、その速度は第1メモリ310よりも速い。第2メモリ825は、第1メモリ810からデータを入力されて、プロセッサ820で処理されるようにサポートする。第2メモリ825は、プロセッサ820で処理されたデータを一時的に保存し、プロセッサ820の制御によって第1メモリ810に出力する。
プロセッサ820は、第1メモリ810からエンコーディングされたビデオコンテンツを受信してデコーディングを行う。プロセッサ820は、エンコーディングされたビデオコンテンツを構成するエンコーディングされたフレームに対し、コーディングユニット単位でデコーディングを行い、デコーディングされたフレームを生成する。
ここで、コーディングユニットは、LCU(Largest Coding Unit)である。但し、本発明はこれに限定されず、プロセッサ820は、異なる大きさのコーディングユニット単位でデコーディングを行う。コーディングユニット単位は、処理装置100によって決定される。但し、以下では、説明の便宜上、コーディングユニットの大きさがいずれも同じ大きさとして説明する。
プロセッサ820は、現在のコーディングユニットが第1デコーディングタイプに基づいてデコーディングされる場合、第1メモリ810から現在のコーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を第2メモリ825にローディングして現在のコーディングユニットに対するデコーディングを行い、現在のコーディングユニットが第2デコーディングタイプに基づいてデコーディングされる場合、第2メモリ825から現在のコーディングユニットの第1位置情報に対応する参照ピクセル値を用いて現在のコーディングユニットに対するデコーディングを行う。
ここで、第1デコーディングタイプはインターデコーディングであり、プロセッサ820は、現在のコーディングユニットに対するインターデコーディングが完了すると、次のコーディングユニットの第2位置情報に対応する参照フレームの第2の部分領域中で第1の部分領域に重複していない領域を第2メモリ825にローディングし、次のコーディングユニットに対するデコーディングを行う。
なお、プロセッサ820は、現在のコーディングユニットに対するインターデコーディングが完了すると、第2メモリ825に保存された参照フレームの第1の部分領域の中から、現在のコーディングユニットの以後のコーディングユニットのインターデコーディングに用いられていない領域を削除する。
一方、第2デコーディングタイプはイントラデコーディングであり、プロセッサ820は、現在のコーディングユニットに対するイントラデコーディングの過程で、以後のコーディングユニットのイントラデコーディングに用いられる第1参照ピクセル値を第2メモリ825に保存し、現在のコーディングユニットに対するイントラデコーディングが完了すると、第2メモリ825に保存された参照ピクセル値のうち、以後のコーディングユニットのイントラデコーディングに用いられない第2参照ピクセル値を削除する。
一方、プロセッサ820は、現在のコーディングユニットの第1位置情報に対応する領域を基準に予め設定された拡張領域を参照フレームの第1の部分領域に決定し、現在のコーディングユニットの第1位置情報に基づいて、現在のコーディングユニット及び隣接のコーディングユニットの外側の少なくとも一部のピクセル値を参照ピクセル値に決定する。
プロセッサ820は、現在のコーディングユニットの位置情報を保存する。プロセッサ820は、位置情報に基づいて第2メモリ825に保存された情報を管理する。
プロセッサ820は、デコーディングが行われた複数のコーディングユニットを予め設定された方向に配置し、デコーディングされたフレームを生成する。例えば、プロセッサ820は、デコーディングが行われた複数のコーディングユニットを右上から左下に向かう斜線方向に配置し、デコーディングされたフレームを生成する。ここで、予め設定された方向は、複数のコーディングユニットのエンコーディング順に対応する方向である。即ち、プロセッサ820は、複数のコーディングユニットのエンコーディング順に対応するように、デコーディングが行われた複数のコーディングユニットを配置し、デコーディングされたフレームを生成する。
プロセッサ820のこのような動作によって、第2メモリ825の必要な容量及び帯域幅を減少させる。
デコーディングを行う処理装置200において、プロセッサ820の第2メモリ825の管理方法、及び第1メモリ810と第2メモリ825との間のデータ伝送方法は、エンコーディングを行う処理装置100と同様であるため、繰り返しの説明は省略する。
図9は、本発明の一実施形態によるエンコーディングを行う処理装置の制御方法を説明するためのフローチャートである。ここで、処理装置は、第1メモリ及びプロセッサを含み、プロセッサは第2メモリを含む。
まず、ビデオコンテンツを構成するフレームを、複数のコーディングユニットに区分する(ステップS910)。そして、複数のコーディングユニットに対し、予め設定された方向にエンコーディングを行ってエンコーディングされたフレームを生成する(ステップS920)。
エンコーディングされたフレームを生成するステップ(S920)は、現在のコーディングユニットが第1エンコーディングタイプに基づいてエンコーディングされる場合、第1メモリから現在のコーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を第2メモリにローディングし、現在のコーディングユニットに対するエンコーディングを行い、現在のコーディングユニットが第2エンコーディングタイプに基づいてエンコーディングされる場合、第2メモリから現在のコーディングユニットの第1位置情報に対応する参照ピクセル値を用いて現在のコーディングユニットに対するエンコーディングを行う。
ここで、第1エンコーディングタイプはインターエンコーディングであり、エンコーディングされたフレームを生成するステップ(S920)は、複数のコーディングユニットに対して右上から左下に向かう斜線方向にエンコーディングを行い、現在のコーディングユニットに対するインターエンコーディングが完了すると、次のコーディングユニットの第2位置情報に対応する参照フレームの第2の部分領域中で第1の部分領域に重複していない領域を第2メモリにローディングし、次のコーディングユニットに対するエンコーディングを行う。
なお、エンコーディングされたフレームを生成するステップ(S920)は、現在のコーディングユニットに対するインターエンコーディングが完了すると、第2メモリに保存された参照フレームの第1の部分領域のうち、現在のコーディングユニットの以後のコーディングユニットのインターエンコーディングに用いられない領域を削除する。
一方、第2エンコーディングタイプはイントラエンコーディングであり、エンコーディングされたフレームを生成するステップ(S920)は、複数のコーディングユニットに対し、右上から左下に向かう斜線方向にエンコーディングを行い、現在のコーディングユニットに対するイントラエンコーディングが完了すると、イントラエンコーディングされた現在のコーディングユニットを復元し、以後のコーディングユニットのイントラエンコーディングに用いられる第1参照ピクセル値を第2メモリに保存し、第2メモリに保存された参照ピクセル値のうち、以後のコーディングユニットのイントラエンコーディングに用いられない第2参照ピクセルを削除する。
一方、エンコーディングされたフレームを生成するステップ(S920)は、現在のコーディングユニットの第1位置情報に対応する領域を基準に予め設定された拡張領域を参照フレームの第1の部分領域に決定し、現在のコーディングユニットの第1位置情報に基づいて、現在のコーディングユニット及び隣接のコーディングユニットの外側の少なくとも一部のピクセル値を参照ピクセル値に決定する。
図10は、本発明の一実施形態によるデコーディングを行う処理装置の制御方法を説明するためのフローチャートである。ここで、処理装置は、第1メモリ及びプロセッサを含み、プロセッサは第2メモリを含む。
まず、エンコーディングされたビデオコンテンツを構成するエンコーディングされたフレームに対して、コーディングユニット単位でデコーディングを行う(ステップS1010)。そして、デコーディングが行われた複数のコーディングユニットを予め設定された方向に配置して、デコーディングされたフレームを生成する(ステップS1020)。
デコーディングを行うステップ(S1010)は、現在のコーディングユニットが第1デコーディングタイプに基づいてデコーディングされる場合、第1メモリから現在のコーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を第2メモリにローディングし、現在のコーディングユニットに対するデコーディングを行い、現在のコーディングユニットが第2デコーディングタイプに基づいてデコーディングされる場合、第2メモリから現在のコーディングユニットの第1位置情報に対応する参照ピクセル値を用いて、現在のコーディングユニットに対するデコーディングを行う。
ここで、第1デコーディングタイプはインターデコーディングであり、デコーディングを行うステップ(S1010)は、現在のコーディングユニットに対するインターデコーディングが完了すると、次のコーディングユニットの第2位置情報に対応する参照フレームの第2の部分領域中で第1の部分領域に重複していない領域を第2メモリにローディングし、次のコーディングユニットに対するデコーディングを行い、デコーディングが行われた複数のコーディングユニットを用いて右上から左下に向かう斜線方向に配置し、デコーディングされたフレームを生成する。
なお、デコーディングを行うステップ(S1010)は、現在のコーディングユニットに対するインターデコーディングが完了すると、第2メモリに保存された参照フレームの第1の部分領域中で、現在のコーディングユニットの以後のコーディングユニットのインターデコーディングに用いられていない領域を削除する。
一方、第2デコーディングタイプはイントラデコーディングであり、デコーディングを行うステップ(S1010)は、現在のコーディングユニットに対するイントラデコーディングの過程で以後のコーディングユニットのイントラデコーディングに用いられる第1参照ピクセル値を第2メモリに保存し、現在のコーディングユニットに対するイントラデコーディングが完了すると、第2メモリに保存された参照ピクセル値のうち、以後のコーディングユニットのイントラデコーディングに用いられていない第2参照ピクセル値を削除し、デコーディングが行われた複数のコーディングユニットを用いて右上から左下に向かう斜線方向に配置し、デコーディングされたフレームを生成する。
一方、デコーディングを行うステップ(S1010)は、現在のコーディングユニットの第1位置情報に対応する領域を基準に予め設定された拡張領域を参照フレームの第1の部分領域に決定し、現在のコーディングユニットの第1位置情報に基づいて、現在のコーディングユニット及び隣接のコーディングユニットの少なくとも一部のピクセル値を参照ピクセル値に決定する。
以上のような本発明の多様な実施形態によると、処理装置は、参照フレームの部分領域のみを第1メモリからプロセッサに備えらえた第2メモリにローディングし、第2メモリに保存された参照ピクセルを効率的に管理し、第2メモリの必要な容量、及び第1メモリと第2メモリとの間の帯域幅を減少させる。
一方、このような本発明の多様な実施形態による方法は、プログラミングされて各種保存媒体に保存される。それにより、保存媒体を実行する多様な電子装置で上述の多様な実施形態による方法が実現される。
具体的には、上述の制御方法を順次に行うプログラムが保存された非一時的コンピュータ読み取り可能媒体(non−transitory computer readable medium)が提供される。
非一時的コンピュータ読み取り可能媒体とは、レジスタ、キャッシュ、メモリ等のような短い間データを保存する媒体ではなく、半永久的にデータを保存し、機器によって読み取り(Reading)が可能な媒体を意味する。具体的には、上述の多様なアプリケーションまたはプログラムは、CD、DVD、ハードディスク、ブルーレイディスク、USB、メモリカード、ROM等のような非一時的コンピュータ読み取り可能媒体に保存されて提供される。
以上、図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明は上記の実施形態に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、本発明の技術範囲から逸脱しない範囲内において、多様に変更実施することが可能である。
100、200 処理装置
111 動作予測部
112、250 動作補償部
115、255 スイッチ
120、240 イントラ予測部
125 減算器
130 変換部
140 量子化部
150 エントロピーエンコーディング部
160、220 逆量子化部
170、230 逆変換部
175、235 加算器
180 フィルタ部
190、270 参照フレームバッファ
210 エントロピーデコーディング部
260 フィルタ部
310、810 第1メモリ
320、820 プロセッサ
325、825 第2メモリ
510 上段ピクセル
520、540、550、610、620、630、640、650 部分領域
530 拡張領域
710 第1参照ピクセル値
720 第2参照ピクセル値
730 第3参照ピクセル値

Claims (14)

  1. 第1メモリを備え、ビデオコンテンツ内のフレームを複数のコーディングユニットに区分し、前記複数のコーディングユニットに対するエンコーディングを斜線方向に行ってエンコーディングされたフレームを生成するプロセッサを含む処理装置であって、
    前記プロセッサは、
    第1コーディングユニットが第1エンコーディングタイプに基づいてエンコーディングされる場合、第2メモリから前記第1コーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を前記第1メモリにローディングし、前記第2メモリからローディングされた前記参照フレームの前記第1の部分領域に基づいて、前記第1コーディングユニットに対するエンコーディングを行い、
    前記第1コーディングユニットが第2エンコーディングタイプに基づいてエンコーディングされる場合、前記第1メモリから前記第1コーディングユニットの前記第1位置情報に対応する第1参照ピクセル値に基づいて前記第1コーディングユニットに対するエンコーディングを行うことを特徴とする処理装置。
  2. 前記プロセッサは、
    前記複数のコーディングユニットに対して右上から左下に向かう方向にエンコーディングを行うことを特徴とする請求項1に記載の処理装置。
  3. 前記第1エンコーディングタイプは、インターエンコーディングであり、
    前記プロセッサは、
    前記第1コーディングユニットに対する前記インターエンコーディングが完了すると、第2コーディングユニットの第2位置情報に対応する前記参照フレームの第2の部分領域中で前記第1の部分領域に重複しない領域を、前記第1メモリにローディングして前記第2コーディングユニットに対するエンコーディングを行うことを特徴とする請求項1に記載の処理装置。
  4. 前記プロセッサは、
    前記第1コーディングユニットに対する前記インターエンコーディングが完了すると、 前記第1メモリに保存された前記参照フレームの第1の部分領域中で前記第2コーディングユニットのインターエンコーディングに用いられない領域を削除することを特徴とする請求項3に記載の処理装置。
  5. 前記第1コーディングユニットは、現在コーディングされるコーディングユニットであり、前記第2コーディングユニットは、前記第1コーディングユニットの後にエンコーディングされる次のコーディングユニットであることを特徴とする請求項4に記載の処理装置。
  6. 前記第2エンコーディングタイプは、イントラエンコーディングであり、
    前記プロセッサは、
    前記第1コーディングユニットに対する前記イントラエンコーディングが完了すると、前記イントラエンコーディングされた第1コーディングユニットを復元して第2コーディングユニットのイントラエンコーディングに用いられる第1参照ピクセル値を前記第1メモリに保存し、前記第1メモリに保存された参照ピクセル値のうちの前記第2コーディングユニットのイントラエンコーディングに用いられない第3参照ピクセル値を削除することを特徴とする請求項1に記載の処理装置。
  7. 前記プロセッサは、
    前記第1コーディングユニットの前記第1位置情報に対応する領域を基準に前記第1コーディングユニットの拡張領域を前記参照フレームの前記第1の部分領域に決定し、
    前記第1コーディングユニットの前記第1位置情報に基づいて、前記第1コーディングユニット及び前記第1コーディングユニットに隣接する第3コーディングユニットの外側の少なくとも一つのピクセル値を前記第1参照ピクセル値に決定することを特徴とする請求項1に記載の処理装置。
  8. 第1メモリを備え、エンコーディングされたビデオコンテンツを構成するエンコーディングされたフレームに対してコーディングユニット単位でデコーディングを行ってデコーディングされたフレームを生成するプロセッサを含む処理装置であって、
    前記プロセッサは、
    第1コーディングユニットが第1デコーディングタイプに基づいてデコーディングされる場合、第2メモリから前記第1コーディングユニットの第1位置情報に対応する参照フレームの第1の部分領域を前記第1メモリにローディングし、前記第2メモリからローディングされた前記参照フレームの前記第1の部分領域に基づいて前記第1コーディングユニットに対するデコーディングを行い、
    前記第1コーディングユニットが第2デコーディングタイプに基づいてデコーディングされる場合、前記第1メモリから前記第1コーディングユニットの第1位置情報に対応する参照ピクセル値を用いて前記第1コーディングユニットに対するデコーディングを行い、
    デコーディングが行われた複数のコーディングユニットを斜線方向に配置して前記デコーディングされたフレームを生成することを特徴とする処理装置。
  9. 前記第1デコーディングタイプは、インターデコーディングであり、
    前記プロセッサは、
    前記第1コーディングユニットに対する前記インターデコーディングが完了すると、第2コーディングユニットの第2位置情報に対応する前記参照フレームの第2の部分領域中で前記第1の部分領域に重複しない領域を、前記第2メモリにローディングして前記第2コーディングユニットに対するデコーディングを行い、
    前記デコーディングが行われた複数のコーディングユニットを右上から左下に向かう前記斜線方向に配置して前記デコーディングされたフレームを生成することを特徴とする請求項8に記載の処理装置。
  10. 前記プロセッサは、
    前記第1コーディングユニットに対する前記インターデコーディングが完了すると、前記第1メモリに保存された前記参照フレームの第1の部分領域中で前記第2コーディングユニットのインターデコーディングに用いられない領域を削除することを特徴とする請求項9に記載の処理装置。
  11. 前記第2デコーディングタイプは、イントラデコーディングであり、
    前記プロセッサは、
    前記第1コーディングユニットに対する前記イントラデコーディング過程で第2コーディングユニットのイントラデコーディングに用いられる第1参照ピクセル値を前記第2メモリに保存し、前記第1コーディングユニットに対する前記イントラデコーディングが完了すると、前記第1メモリに保存された参照ピクセル値のうち、前記第2コーディングユニットのイントラデコーディングに用いられない第2参照ピクセル値を削除し、
    前記デコーディングが行われた複数のコーディングユニットを右上から左下に向かう前記斜線方向に配置して前記デコーディングされたフレームを生成することを特徴とする請求項8に記載の処理装置。
  12. 前記プロセッサは、
    前記第1コーディングユニットの前記第1位置情報に対応する領域を基準に拡張領域を前記参照フレームの前記第1の部分領域に決定し、
    前記第1コーディングユニットの前記第1位置情報に基づいて、前記第1コーディングユニット及び前記第1コーディングユニットに隣接する第3コーディングユニットの外側の少なくとも一つのピクセル値を前記参照ピクセル値に決定することを特徴とする請求項8に記載の処理装置。
  13. 第1メモリを備え、ビデオコンテンツ内のフレームを複数のコーディングユニットに区分し、前記複数のコーディングユニットに対するイントラエンコーディングを斜線方向に行ってエンコーディングされたフレームを生成するプロセッサを含む処理装置であって、
    前記プロセッサは、
    第1コーディングユニットをエンコーディングする場合、前記第1コーディングユニット上の第1参照ピクセルの第1参照ピクセル値、前記第1コーディングユニットに隣接する右側の第2コーディングユニット上の第2参照ピクセルの第2参照ピクセル値、及び前記第1コーディングユニット内のピクセルのピクセル値に基づいて前記第1コーディングユニットをエンコーディングする処理装置。
  14. 前記プロセッサは、
    前記第1コーディングユニットに対する前記イントラエンコーディングが完了すると、前記イントラエンコーディングされた第1コーディングユニットを復元し、前記第1メモリに第3コーディングユニットのイントラエンコーディングに用いられる第3参照ピクセル値を保存し、前記第3コーディングユニットのイントラエンコーディングに用いられない前記第1参照ピクセル値を削除することを特徴とする請求項13に記載の処理装置。

JP2019516610A 2016-11-01 2017-10-20 処理装置及びその制御方法 Pending JP2019532578A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020160144460A KR20180047763A (ko) 2016-11-01 2016-11-01 처리 장치들 및 그 제어 방법들
KR10-2016-0144460 2016-11-01
PCT/KR2017/011667 WO2018084476A1 (en) 2016-11-01 2017-10-20 Processing apparatuses and controlling methods thereof

Publications (1)

Publication Number Publication Date
JP2019532578A true JP2019532578A (ja) 2019-11-07

Family

ID=62022049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019516610A Pending JP2019532578A (ja) 2016-11-01 2017-10-20 処理装置及びその制御方法

Country Status (6)

Country Link
US (1) US10694190B2 (ja)
EP (1) EP3494699B1 (ja)
JP (1) JP2019532578A (ja)
KR (1) KR20180047763A (ja)
CN (1) CN109891889B (ja)
WO (1) WO2018084476A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007228093A (ja) * 2006-02-21 2007-09-06 Toshiba Corp 動き検出装置及び動き検出方法
US20080137726A1 (en) * 2006-12-12 2008-06-12 General Instrument Corporation Method and Apparatus for Real-Time Video Encoding
JP2015226199A (ja) * 2014-05-28 2015-12-14 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US20160105682A1 (en) * 2014-10-09 2016-04-14 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
JP2016103707A (ja) * 2014-11-27 2016-06-02 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040008779A1 (en) * 2002-06-18 2004-01-15 Lai King Chung Techniques for video encoding and decoding
TWI277013B (en) 2005-02-01 2007-03-21 Ind Tech Res Inst Method for reducing buffered-frame memory sizes and accesses in a video codec
TWI277010B (en) 2005-09-08 2007-03-21 Quanta Comp Inc Motion vector estimation system and method
WO2007079782A1 (en) 2006-01-13 2007-07-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Quality scalable picture coding with particular transform coefficient scan path
KR100904382B1 (ko) 2007-08-23 2009-06-25 한국과학기술원 이종 파티션 간의 데이터 재사용을 위한 움직임 보상 방법,움직임 보상 회로 및 이를 포함하는 비디오 디코더
TWI450590B (zh) 2009-04-16 2014-08-21 Univ Nat Taiwan 嵌入式系統及其中移動評估的資料讀取之方法
US9414086B2 (en) 2011-06-04 2016-08-09 Apple Inc. Partial frame utilization in video codecs
KR101321898B1 (ko) 2011-08-23 2013-10-28 광운대학교 산학협력단 동영상 압축 코딩의 고속 움직임 추정 장치
US9838684B2 (en) 2012-04-11 2017-12-05 Qualcomm Incorporated Wavefront parallel processing for video coding
US10085017B2 (en) 2012-11-29 2018-09-25 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding spatial mode
US9336558B2 (en) 2013-09-27 2016-05-10 Apple Inc. Wavefront encoding with parallel bit stream encoding
US9877034B2 (en) * 2014-04-14 2018-01-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Pipelined video decoder system
KR20160061172A (ko) 2014-11-21 2016-05-31 삼성전자주식회사 디코더, 상기 디코더를 포함하는 디코딩 시스템, 및 상기 디코더의 동작 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007228093A (ja) * 2006-02-21 2007-09-06 Toshiba Corp 動き検出装置及び動き検出方法
US20080137726A1 (en) * 2006-12-12 2008-06-12 General Instrument Corporation Method and Apparatus for Real-Time Video Encoding
JP2015226199A (ja) * 2014-05-28 2015-12-14 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US20160105682A1 (en) * 2014-10-09 2016-04-14 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
JP2016103707A (ja) * 2014-11-27 2016-06-02 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIANG, LIWEI ET AL.: "Coding with Group of LCUs (GOC)", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 8TH M, vol. JCTVC-H0052 (version 3), JPN6021044219, 4 February 2012 (2012-02-04), ISSN: 0004803538 *
RAMACHANDRA, PRADEEPA AND MR, SATISH: "H.264 Main Profile video decoding implementation techniques on OMAP3430IVA", IEEE 10TH INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING PROCEEDINGS, JPN6021044217, 24 October 2010 (2010-10-24), pages 271 - 274, XP031817865, ISSN: 0004803537 *

Also Published As

Publication number Publication date
EP3494699A1 (en) 2019-06-12
CN109891889B (zh) 2021-09-28
WO2018084476A1 (en) 2018-05-11
US10694190B2 (en) 2020-06-23
EP3494699A4 (en) 2019-06-12
US20180124412A1 (en) 2018-05-03
KR20180047763A (ko) 2018-05-10
CN109891889A (zh) 2019-06-14
EP3494699B1 (en) 2022-07-27

Similar Documents

Publication Publication Date Title
JP5869108B2 (ja) メモリ効率的コンテキストモデリング
US9300984B1 (en) Independent processing of data streams in codec
JP6548635B2 (ja) データ符号化及び復号化
CN101107861A (zh) 重叠平滑与环路内解块之分段处理
CN103283231A (zh) 在视频编码器中参考图像的压缩和解压缩
US20180199058A1 (en) Video encoding and decoding method and device
KR20200096227A (ko) 블록 형상에 기초한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
KR100968371B1 (ko) 영상의 복호화 방법 및 장치
KR102186404B1 (ko) 화면 내 예측 모드의 부호화 방법 및 복호화 방법
JP2019071697A (ja) データ符号化及び復号化
JP7479062B2 (ja) 指数関数的分割の方法およびシステム
KR20220019285A (ko) 프레임들의 시퀀스를 인코딩하는 방법 및 인코더
KR20220085836A (ko) 비디오 코딩 방법 및 장치
KR20240013896A (ko) 영상을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 장치, 및 해당 컴퓨터 프로그램
JP2019532578A (ja) 処理装置及びその制御方法
CN116982262A (zh) 视频编码中依赖性量化的状态转换
CN113115041A (zh) 支持alpha通道的无损图片压缩方法、装置及介质
JP2017073598A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP6875800B2 (ja) 超解像フレーム選択装置、超解像装置、及びプログラム
US20240144439A1 (en) Filtering method and apparatus, computer-readable medium
JPWO2018079444A1 (ja) 符号化装置、符号化方法およびプログラム記録媒体
JP7451131B2 (ja) 画像符号化装置、画像符号化方法、及びプログラム
CN108965880B (zh) 图像压缩、解压缩方法及装置、存储介质、终端
JP6223012B2 (ja) 画像符号化装置及び画像符号化方法
KR102379196B1 (ko) 처리 장치들 및 그 제어 방법들

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220921

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230124