JP7524906B2 - 動画像符号化方法、符号化処理方法、動画像符号化装置および符号化処理装置 - Google Patents

動画像符号化方法、符号化処理方法、動画像符号化装置および符号化処理装置 Download PDF

Info

Publication number
JP7524906B2
JP7524906B2 JP2021553979A JP2021553979A JP7524906B2 JP 7524906 B2 JP7524906 B2 JP 7524906B2 JP 2021553979 A JP2021553979 A JP 2021553979A JP 2021553979 A JP2021553979 A JP 2021553979A JP 7524906 B2 JP7524906 B2 JP 7524906B2
Authority
JP
Japan
Prior art keywords
quantization
frame
data
encoding
frames
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
JP2021553979A
Other languages
English (en)
Other versions
JPWO2021084679A1 (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.)
Socionext Inc
Original Assignee
Socionext Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Socionext Inc filed Critical Socionext Inc
Publication of JPWO2021084679A1 publication Critical patent/JPWO2021084679A1/ja
Application granted granted Critical
Publication of JP7524906B2 publication Critical patent/JP7524906B2/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/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/436Methods 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 using parallelised computational arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/172Methods 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 picture, frame or field
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Description

本開示は、動画像符号化方法、符号化処理方法、動画像符号化装置および符号化処理装置に関する。
ネットワークを介して動画像を配信するサービスが知られている。このようなサービスを拡大するために、動画像を構成するフレームの量子化処理および符号化処理を高速化すること、および、符号化処理を行う際のビットレートを制御するレート制御を高精度化することが求められている。
特許文献1には、符号化処理された後のフレームのデータ量に基づいて次のフレームの量子化処理および符号化処理を行う技術が開示されている。また非特許文献1には、複数のフレームの符号化処理をパラレルに実行することで、符号化処理の高速化を図る技術が開示されている。
特開2007-166192号公報
谷田部祐介、外5名、「動画像リアルタイムエンコーダにおけるH.264 CABACの並列処理技術」、情報処理学会論文誌 コンシューマ・デバイス&システム Vol.5 No.5 1-8(Dec.2015)
特許文献1に開示された技術では、符号化処理された後のフレームのデータ量に基づいて量子化処理および符号化処理を行っているが、フレーム内の全データのうちの一部のデータに基づいて符号化処理等を行っているので、レート制御の精度が低くなるという問題がある。非特許文献1には、符号化処理をパラレルに実行することが開示されているが、どのようにしてレート制御を高精度化するかについては開示されていない。
本開示は、上記の事情を鑑みてなされたもので、量子化処理、符号化処理の高速化およびレート制御の高精度化を図ることができる動画像符号化方法等を提供することを目的とする。
本開示の一形態における動画像符号化方法は、量子化処理されたフレームの量子化データを1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データを蓄積することと、前記量子化データに基づいて量子化データ情報を求めることと、前記複数のフレームの量子化データのうち少なくとも1つのフレームの量子化データに対する前記量子化データ情報を使用して、前記複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータを決定することと、前記量子化パラメータに基づいて量子化処理を行うことで前記直後のフレームの量子化データを生成することと、前記直後のフレームを含む複数のフレームの量子化データにエントロピー符号化を行う符号化処理を、前記直後のフレームを含む複数のフレーム間でパラレルに実行することを含み、前記量子化データ情報は、前記符号化処理後のデータに基づかず、前記量子化パラメータを決定するときに、前記複数のフレームのうち、前記符号化処理が終了したフレームについては前記符号化処理されたフレームの符号化データのデータ量に基づき、前記符号化処理が終了していないフレームについては前記量子化データ情報に基づいて前記量子化パラメータを決定する。
本開示の一形態における符号化処理方法は、量子化処理されたフレームの量子化データを1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データを蓄積することと、前記量子化データに基づいて量子化データ情報を求めることと、前記複数のフレームの量子化データのうち少なくとも1つのフレームの量子化データに対する前記量子化データ情報を使用して、前記複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータを決定することと、前記量子化パラメータに基づいて量子化処理を行うことで前記直後のフレームの量子化データを生成することと、前記直後のフレームを含む複数のフレームの量子化データを外部のCPU(Central Processing Unit)へ出力することを含み、前記量子化データ情報は、前記直後のフレームを含む複数のフレームの量子化データにエントロピー符号化を行う符号化処理後のデータに基づかず、前記量子化パラメータを決定するときに、前記複数のフレームのうち、前記符号化処理が終了したフレームについては前記符号化処理されたフレームの符号化データのデータ量に基づき、前記符号化処理が終了していないフレームについては前記量子化データ情報に基づいて前記量子化パラメータを決定する
本開示の一形態における動画像符号化装置は、量子化処理されたフレームの量子化データを1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データを蓄積する量子化データ蓄積部と、前記複数のフレームの量子化データのうち少なくとも1つのフレームの量子化データのデータ量に基づいて、前記複数のフレームの直後のフレームのビットデータ量を決定するレート制御部と、前記レート制御部で求めた前記ビットデータ量に基づいて、前記直後のフレームの量子化処理を行う際の量子化パラメータを決定するパラメータ決定部と、前記量子化パラメータに基づいて量子化処理を行うことで前記直後のフレームの量子化データを生成する量子化部と、前記直後のフレームを含む複数のフレームの量子化データにエントロピー符号化を行う符号化処理を、前記直後のフレームを含む複数のフレーム間でパラレルに実行する符号化部と、を備え、前記パラメータ決定部は、前記複数のフレームのうち、前記符号化処理が終了したフレームについては前記符号化処理されたフレームの符号化データのデータ量に基づき、前記符号化処理が終了していないフレームについては前記量子化データのデータ量に基づいて前記量子化パラメータを決定する。
本開示の一形態における符号化処理装置は、量子化処理されたフレームの量子化データを1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データを蓄積する量子化データ蓄積部と、前記複数のフレームの量子化データのうち少なくとも1つのフレームの量子化データのデータ量を用いて決定されたビットデータ量を外部から受け取り、前記複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータを決定するパラメータ決定部と、前記量子化パラメータに基づいて量子化処理を行うことで前記直後のフレームの量子化データを生成する量子化部と、を備え、前記パラメータ決定部は、前記複数のフレームのうち、符号化処理が終了したフレームについては前記符号化処理されたフレームの符号化データのデータ量に基づき、前記符号化処理が終了していないフレームについては前記量子化データのデータ量に基づいて前記量子化パラメータを決定する。
なお、これらの包括的又は具体的な態様は、システム、装置、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
本開示の動画像符号化方法等によれば、量子化処理、符号化処理の高速化およびレート制御の高精度化を図ることができる。
図1は、実施の形態1に係る動画像符号化装置のブロック構成図である。 図2は、実施の形態1に係る動画像符号化装置を構成する回路部品を示す図である。 図3は、実施の形態1に係る動画像符号化装置の符号化部の構成を示す図である。 図4は、実施の形態1に係る動画像符号化装置の符号化部にて生成される符号化データを示す模式図である。 図5は、実施の形態1に係る動画像符号化方法を示すフローチャートである。 図6は、実施の形態1に係る動画像符号化方法にて実行される各フレームの量子化処理および符号化処理のタイミングを示す図である。 図7は、実施の形態1に係る符号化処理方法を示すフローチャートである。 図8は、実施の形態1の変形例1に係る動画像符号化装置のブロック構成図である。 図9は、実施の形態1の変形例2に係る動画像符号化装置のブロック構成図である。 図10は、実施の形態2に係る動画像符号化方法を示すフローチャートである。 図11は、動画像符号化装置におけるCPUおよびアクセラレータの構成例を示す図である。
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の一形態に係る実施形態を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。本開示の実施形態は、現行の独立請求項に限定されるものではなく、他の独立請求項によっても表現され得る。
なお、各図は模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略または簡略化される場合がある。
(実施の形態1)
[1-1.動画像符号化装置の構成]
実施の形態1の動画像符号化装置の構成について、図1~図4を参照しながら説明する。
図1は、実施の形態1に係る動画像符号化装置1のブロック構成図である。動画像符号化装置1は、動画像を構成する複数のフレームをフレーム単位で量子化および符号化する装置である。
図1に示すように、動画像符号化装置1は、減算部104と、変換部106と、量子化部108と、量子化データ蓄積部109と、パラメータ決定部110と、符号化部130と、符号化データ蓄積部136と、レート制御部138と、を備える。また、動画像符号化装置1は、逆量子化部112と、逆変換部114と、加算部116と、ブロッキングフィルタ120と、フレームメモリ122と、動き検出・補償部124と、イントラ予測部126と、予測制御部128と、を備える。
図2は、動画像符号化装置1を構成する回路部品の一例を示す図である。
図2に示すように、動画像符号化装置1は、CPU(Central Processing Unit)30、および、アクセラレータ20によって構成されている。
CPU30およびアクセラレータ20は、PCI(Peripheral Component Interconnect)規格に準拠した通信インターフェース50によって接続されている。
アクセラレータ20は、CPU30の演算処理の高速化を支援する回路部品、すなわちFPGA(Field Programmable Gate Array)である。このアクセラレータ20は、符号化処理装置2に該当する。
CPU30は、動画像符号化装置1の全体の動作を管理する回路部品である。CPU30にはメモリ40が内蔵され、メモリ40にはソフトウェアプログラムが格納されている。CPU30は、複数のプログラムに対応する複数のスレッドをパラレルに実行することができる。複数のスレッドをパラレルに実行するとは、複数のスレッドにおける処理を時間的にオーバラップさせながら独立して実行することである。例えば、CPU30で8スレッドの処理が実行可能である場合、CPU30は、動画像を構成する8フレームを8スレッドに1対1で対応させて、各スレッドを同じ時間帯または異なる時間帯に個別に実行することができる。
このソフトウェアプログラムが実行されたとき、図1に示す符号化部130、符号化データ蓄積部136およびレート制御部138の各機能は、CPU30によって実現される。また、減算部104、変換部106、量子化部108、量子化データ蓄積部109、パラメータ決定部110、逆量子化部112、逆変換部114、加算部116、ブロッキングフィルタ120、動き検出・補償部124、イントラ予測部126および予測制御部128の各機能は、アクセラレータ20によって実現される。なお、符号化データ蓄積部136の機能は、CPU30と異なる回路部品によって実現されてもよい。
まず、アクセラレータ20およびCPU30にて実現される各機能について、図1を参照しながら説明する。
減算部104は、動画像符号化装置1に入力された原信号から予測信号を減算することで、動画像を構成する各フレームの予測誤差を算出する。減算部104にて算出された予測誤差は、変換部106に出力される。予測誤差および予測信号については後述する。
変換部106は、空間領域の予測誤差を周波数領域のデータに変換する。具体的には、変換部106は、例えば空間領域の予測誤差に対して離散コサイン変換(DCT)を行う。変換部106にて変換された当該データは、量子化部108に出力される。
量子化部108は、変換部106から出力されたデータを量子化処理することで量子化データd1を生成する。具体的には、量子化部108は、上記周波数領域のデータを後述する量子化パラメータQPに基づいて量子化する。量子化パラメータQPとは、量子化ステップを定義するパラメータである。例えば、量子化パラメータQPを変更して量子化ステップを大きくすると粗い量子化になり、データ量が小さくなる。量子化部108による量子化処理は、1つのフレームごとにシリアルに実行される。なお、フレーム内のデータに対する演算処理は、シリアルに実行されてもよいし、パラレルに実行されてもよい。量子化部108にて生成された量子化データd1は、量子化データ蓄積部109および逆量子化部112に出力される。
量子化データ蓄積部109は、量子化部108にて量子化処理されたフレームの量子化データd1を蓄積する。具体的には、量子化データ蓄積部109は、量子化部108にて1つのフレームごとに生成された量子化データd1を、1つのフレームの量子化データd1ごとにシリアルに蓄積する。これにより、量子化データ蓄積部109には、複数のフレームの量子化データd1が蓄積される。量子化データ蓄積部109に蓄積された量子化データd1は、符号化部130およびレート制御部138に出力される。
量子化データ蓄積部109に蓄積された1つのフレームの量子化データd1は、量子化処理が終了するごとに、符号化部130およびレート制御部138に出力される。言い換えると、アクセラレータ20にて量子化処理された1つのフレームの量子化データd1は、量子化処理が終了するごとに、通信インターフェース50を介してCPU30に出力される。
なお、量子化データ蓄積部109から符号化部130に出力されるデータは、量子化データd1に限られず、量子化データd1に基づいて演算処理された演算データであってもよい。例えば、演算データは、量子化データd1に基づいて二値化されたデータ、または、量子化データd1に基づいて二値化された後、算術符号化されたデータであってもよい。
符号化部130は、量子化データ蓄積部109から出力された量子化データd1をエントロピー符号化することで符号化データd2を生成する。符号化データd2は、エントロピー符号化によって圧縮成形されたビットストリームである。
図3は、動画像符号化装置1の符号化部130の構成を示す図である。
図3に示すように、符号化部130は、入力された量子化データd1を二値化する二値化部131と、二値化部131にて二値化されたデータを符号化する算術符号化部132と、ビットストリームを成形するストリーム成形部133とによって構成されている。
図4は、符号化部130にて生成される符号化データd2を示す模式図である。
符号化データd2は、ヘッダ情報、付加情報、フィラー(Filler)データおよび画像圧縮データを含む。ヘッダ情報は、フレーム、フレームグループまたはフレームの一部であるスライスに関する情報である。付加情報は、例えば表示方法などの情報であり、アプリケーションに必要な各種情報である。フィラーデータは、レート制御に必要なパディングデータである。画像圧縮データは、量子化データd1を符号化することで生成される画像データである。
符号化部130による符号化処理は、1フレーム単位で処理され、動画像を構成する複数のフレーム間でパラレルに実行される。符号化部130にて生成された符号化データd2は、符号化データ蓄積部136に出力される。なお、符号化処理はその前段の処理が終わっていれば,各フレームで処理の依存関係がないので、個別にいつでも開始できる。
なお、符号化部130にてパラレルに実行される符号化処理は、図3に示す二値化部131、算術符号化部132およびストリーム成形部133のうちの少なくとも1つによって実行される処理であればよい。例えば、アクセラレータ20からCPU30に出力されるデータが、量子化データd1に基づいて二値化されたデータである場合、符号化部130によって実行される符号化処理は、算術符号化部132およびストリーム成形部133によって実行される処理であってもよい。また、アクセラレータ20からCPU30に出力されるデータが、量子化データd1に基づいて二値化された後、算術符号化されたデータである場合、符号化部130によって実行される符号化処理は、ストリーム成形部133によって実行される処理であってもよい。
符号化データ蓄積部136は、符号化部130にて生成された符号化データd2をバッファリングするFIFO(First In First Out)である。また、符号化データ蓄積部136は、符号化部130にて符号化処理を開始した順番と同じ順番に各フレームを並び変え、動画像符号化装置1の外部に出力する。また、符号化データ蓄積部136は、符号化データ蓄積部136に蓄積された符号化データd2のデータ量に関する情報をレート制御部138に出力する。
レート制御部138は、過去のデータに基づいて次のデータを処理する際のビットデータ量を決める。レート制御部138は、符号化データ蓄積部136から出力された符号化データd2のデータ量に関する情報を取得し、また、量子化データ蓄積部109から出力された量子化データd1を受け付け、過去の量子化データd1のデータ量に関する情報を取得する。レート制御部138は、取得したこれらの情報に基づいて、次のフレームで符号化処理を行う際のビットデータ量を決める。CPU30のレート制御部138で決めたビットデータ量は、通信インターフェース50を介してアクセラレータ20のパラメータ決定部110に出力される。
パラメータ決定部110は、レート制御部138から出力されたビットデータ量に基づいて、次の量子化処理を行う際の量子化パラメータQPを決定する。具体的には、パラメータ決定部110は、次の量子化処理および符号化処理によって生成される符号化データd2が、上記ビットデータ量に近い値に生成されるように量子化パラメータQPを決定する。この量子化パラメータQPの決定は、1フレームごとにシリアルに実行される。
レート制御部138は、このビットデータ量を決定するときに、過去における複数のフレームのデータに基づいてビットデータ量を決定するが、本実施の形態では、符号化部130にて生成された符号化データd2の全てを用いるのでなく、少なくとも1つのフレームの量子化データd1を用いて、該当のフレームの符号化データd2を推定し、符号化データd2と推定された符号化データd2とを過去における複数のフレームのデータとしてビットデータ量を決定する。より具体的には、本実施の形態では、複数のフレームのうち予め決められた数のフレームの量子化データd1を用いて、ビットデータ量を決定する。なお、予め決められた数のフレームとは、例えば、CPU30の符号化部130にてパラレルに実行される符号化処理のスレッド数である(図6参照)。
また、レート制御部138は、ビットデータ量を決定するときに、量子化データd1のデータ量を用いてビットデータ量を決定する。量子化データd1のデータ量を用いてとは、量子化後のデータのうち符号化対象となるデータを用いてという意味である。また、このビットデータ量は、量子化データd1のデータ量と符号化データd2のデータ量とのスケールを合わせるため、上記量子化データd1のデータ量に所定の係数を乗じた値に基づいて決定される。なお、所定の係数は、動画像の種類に応じて適宜設定される。
パラメータ決定部110にて決定された量子化パラメータQPは、量子化部108に出力される。量子化部108は、パラメータ決定部110から受け取った量子化パラメータQPに基づいて、次のフレームの量子化処理を実行する。
引き続き、アクセラレータ20にて実現される他の機能について簡単に説明する。
逆量子化部112は、量子化部108から出力された量子化データd1を逆量子化する。
逆変換部114は、逆量子化部112から出力されたデータを逆変換することにより予測誤差を復元する。
加算部116は、逆変換部114から出力された予測誤差と予測制御部128から出力された予測信号とを加算することでフレームを再構成する。加算部116にて再構成されたフレームはブロッキングフィルタ120を介してフレームメモリ122に出力される。
フレームメモリ122は、ブロッキングフィルタ120によってフィルタリングされた再構成フレームを格納する。この再構成フレームは、動き検出・補償部124およびイントラ予測部126の参照ピクチャとして用いられる。
動き検出・補償部124は、フレームメモリ122に格納された参照ピクチャを参照してフレームのインター予測(画面間予測ともいう)を行う。例えば、動き検出・補償部124は、参照ピクチャ内で動き探索を行い、動き探索により得られた動きベクトルを用いて動き補償を行うことで、フレームのインター予測信号を生成する。動き検出・補償部124にて生成されたインター予測信号は、予測制御部128に出力される。
イントラ予測部126は、フレームのイントラ予測(画面内予測ともいう)を行う。例えば、イントラ予測部126は、所定の方向に隣接するフレームのデータを参照してイントラ予測を行うことで、イントラ予測信号を生成する。イントラ予測部126にて生成されたイントラ予測信号は、予測制御部128に出力される。
予測制御部128は、イントラ予測信号およびインター予測信号のいずれかを選択し、選択した信号を予測信号として減算部104および加算部116に出力する。なお、動き検出・補償部124で生成された動きベクトルおよびイントラ予測部126で生成されたイントラ予測の方向は、通信インターフェース50を介してCPUの符号化部130に出力されてもよい。
本実施の形態の動画像符号化装置1は、量子化処理されたフレームの量子化データd1を1つのフレームの量子化データd1ごとにシリアルに蓄積することで、複数のフレームの量子化データd1を蓄積する量子化データ蓄積部109と、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1を用いて、複数のフレームの直後のフレームのビットデータ量を決定するレート制御部138と、レート制御部138で求めたビットデータ量に基づいて、上記直後のフレームの量子化処理を行う際の量子化パラメータQPを決定するパラメータ決定部110と、量子化パラメータQPに基づいて量子化処理を行うことで上記直後のフレームの量子化データd1を生成する量子化部108と、上記の直後のフレームを含む複数のフレームの量子化データd1にエントロピー符号化を行う符号化処理を、上記の直後のフレームを含む複数のフレーム間でパラレルに実行する符号化部130と、を備える。
このように、レート制御部138にて、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1を用いてビットデータ量を決定することで、例えば符号化部130による符号化処理が終わっていない場合であっても、当該量子化データd1を用いてビットデータ量を決定し、そのビットデータ量に基づいてパラメータ決定部110で量子化パラメータQPを決定することができる。これにより、量子化処理および符号化処理を高速化することができる。また、1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えばフレームの一部のデータに基づいて量子化パラメータQPを決定する場合に比べ、符号化処理におけるレート制御を高精度化することができる。
本実施の形態の符号化処理装置2は、量子化処理されたフレームの量子化データd1を1つのフレームの量子化データd1ごとにシリアルに蓄積することで、複数のフレームの量子化データd1を蓄積する量子化データ蓄積部109と、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1を用いて決定されたビットデータ量を外部から受け取り、複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータQPを決定するパラメータ決定部110と、量子化パラメータQPに基づいて量子化処理を行うことで上記の直後の量子化データd1を生成する量子化部108と、を備える。
このように、パラメータ決定部110にて、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1を用いて決定されたビットデータ量に基づいて量子化パラメータQPを決定することで、例えば符号化処理装置2の後段で実行される符号化処理が終わっていない場合であっても、当該量子化データd1に基づいて量子化パラメータQPを決定することができる。これにより、量子化処理を高速化することができる。また、1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えばフレームの一部のデータに基づいて量子化パラメータQPを決定する場合に比べ、符号化処理におけるレート制御を高精度化することができる。
[1-2.動画像符号化方法]
実施の形態1に係る動画像符号化方法について、図5および図6を参照しながら説明する。
図5は、実施の形態1に係る動画像符号化方法を示すフローチャートである。動画像符号化方法は、以下に示すS11~S15の処理を含む。
(S11)量子化処理されたフレームの量子化データd1を1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データd1を蓄積すること。
(S12)複数のフレームのうち予め決められた数のフレームの量子化データd1に基づいて、複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータQPを決定すること。
(S13)量子化パラメータQPに基づいて量子化処理を行うことで上記直後のフレームの量子化データd1を生成すること。
(S14)上記の直後のフレームを含む複数のフレームの量子化データd1にエントロピー符号化を行う符号化処理を、上記の直後のフレームを含む複数のフレーム間でパラレルに実行すること。
(S15)符号化処理によって得られた処理結果を、符号化処理を開始した順番と同じ順番で出力すること。
この動画像符号化方法は、動画像符号化装置1によって実行される。上記S11~S15の処理は、特定のフレームに着目して時系列で記載されているが、実際の動画像符号化方法では、量子化処理および符号化処理がアクセラレータ20およびCPU30にて同時進行される。
図6は、実施の形態1に係る動画像符号化装置1の動作を示すタイミングチャートである。図6では、符号化部130にてパラレルに実行される符号化処理のスレッド数が8つ、すなわちCPU30で立ち上げるスレッド数が8つである例について説明する。
図6には、フレームf11~f18までの量子化処理が終了し、次のフレームであるフレームf19の処理をこれから開始する場面が示されている。具体的には、図6には、符号化部130によるフレームf11~f18の符号化処理が8つのフレームの全てのフレームで異なる時刻に個別に開始され、異なる時刻に個別に終了する例が示されている。この例では複数のフレームの処理が、シリアル処理を含まず、全ての処理が個別に独立して実行されている。全てがこのように開始および終了の時刻が各フレームf11~f18で異なるのは、各フレームf11~f18のデータ量が異なるためである。
アクセラレータ20による量子化処理は、CPU30から出力された量子化指示を受け付けることで開始される。この量子化指示は、これから量子化処理を行う対象のフレームf19の1つ前のフレームf18の量子化処理が開始された後に、CPU30から出力される。図6に示すように、次のフレームf19の量子化処理を開始する時点では、フレームf11、f13、f14の符号化処理は終了しているが、他のフレームf12、f15~f18の符号化処理は終了していない。
そこで、本実施の形態では、量子化パラメータQPを決定するときに、符号化処理された符号化データd2を用いずに量子化パラメータQPを決定する。すなわち、各フレームf11~f18の符号化処理が終了しているか否かにかかわらず予め決められた数の量子化データd1に基づいて量子化パラメータQPを決定する。予め決められた数のフレームとは、符号化部130にてパラレルに実行される符号化処理のスレッド数である。図6に示す例では、複数のフレームf11~f18のうち全てのフレームの量子化データd1の合計値に基づいて量子化パラメータQPを決定している。
なお、上記の量子化指示は、フレームf19の1つ前のフレームf18の量子化処理が開始された後に、CPU30から出力されているが、それに限られない。例えば、CPU30において、複数のスレッドが同時に実行され、複数のスレッドのそれぞれに1つのフレームの符号化処理が割り当てられている場合、上記量子化指示は、複数のスレッドのうちの所定のスレッドにおいて、上記1つのフレームの符号化処理が終了した後、すなわち処理を行っていない空きスレッドができたときに、CPU30から出力されてもよい。なおこの場合、上記1つのフレームの符号化処理が終了するとすぐに上記1つのフレームと異なるフレームの符号化処理が開始されるので、量子化指示は実質的に、上記1つのフレームの符号化処理が終了し、上記1つのフレームと異なるフレームの符号化処理が開始された後に、CPU30から出力される。
次に、決定した量子化パラメータQPに基づいて量子化処理を行うことでフレームf19の量子化データd1を生成する。そして、フレームf19の量子化データd1にエントロピー符号化処理を行う。さらに後の複数のフレームであるフレームf20、f21・・についてもエントロピー符号化処理を同様に実行する。各フレームf19、f20、f21・・符号化処理はパラレルに実行される。
本実施の形態の動画像符号化方法では、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えば複数のフレームの符号化処理が終わっていない場合であっても、当該量子化データd1に基づいて量子化パラメータQPを決定することができる。これにより、量子化処理および符号化処理を高速化することができる。また、1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えばフレームの一部のデータに基づいて量子化パラメータQPを決定する場合に比べ、符号化処理におけるレート制御を高精度化することができる。
上記では動画像符号化方法について説明したが、以下では、符号化処理装置2において実行される符号化処理方法について説明する。
図7は、実施の形態1に係る符号化処理方法を示すフローチャートである。符号化処理方法は、以下に示すS11、S12、S13およびS13Aの処理を含む。
(S11)量子化処理されたフレームの量子化データを1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データを蓄積すること。
(S12)複数のフレームのうち予め決められた数のフレームの量子化データに基づいて、前記複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータQPを決定すること。
(S13)量子化パラメータQPに基づいて量子化処理を行うことで上記直後のフレームの量子化データd1を生成すること。
(S13A)上記の直後のフレームを含む複数のフレームの量子化データd1を外部のCPU30へ出力すること。
この符号化処理方法は、符号化処理装置2すなわちアクセラレータ20にて実行される。
[1-3.効果等]
本実施の形態の動画像符号化方法は、量子化処理されたフレームの量子化データd1を1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データd1を蓄積することと、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1に基づいて、複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータQPを決定することと、量子化パラメータQPに基づいて量子化処理を行うことで上記直後のフレームの量子化データd1を生成することと、上記の直後のフレームを含む複数のフレームの量子化データd1にエントロピー符号化を行う符号化処理を、上記の直後のフレームを含む複数のフレーム間でパラレルに実行することと、を含む。
このように、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えば複数のフレームの符号化処理が終わっていない場合であっても、当該量子化データd1に基づいて量子化パラメータQPを決定することができる。これにより、量子化処理および符号化処理を高速化することができる。また、1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えばフレームの一部のデータに基づいて量子化パラメータQPを決定する場合に比べ、符号化処理におけるレート制御を高精度化することができる。
また、符号化処理は、上記の直後のフレームを含む複数のフレームに対して異なる時刻に個別に開始されてもよい。
このように、符号化処理を異なる時刻に個別に開始することで、各フレームの量子化処理の終了に応じて各フレームの符号化処理をタイミングよく開始することができる。これにより、符号化処理を高速化することができる。
また、動画像符号化方法は、さらに、符号化処理によって得られた処理結果を、符号化処理を開始した順番と同じ順番で出力すること、を含んでいてもよい。
これによれば、複数のフレーム間でパラレルに実行された符号化処理の処理結果を正しく並べ変えることができる。
また、量子化パラメータQPを決定するときに、少なくとも1つのフレームの量子化データのデータ量に基づいて、量子化パラメータQPを決定してもよい。
このように、量子化データd1のデータ量に基づいて量子化パラメータQPを決定することで、量子化パラメータQPを適切に決定することができる。これにより、符号化処理におけるレート制御を高精度化することができる。
また、量子化パラメータQPは、上記データ量に所定の係数を乗じた値に基づいて決定されてもよい。
このように、量子化パラメータQPを上記データ量に所定の係数を乗じた値に基づいて決定することで、量子化パラメータQPを適切に決定することができる。これにより、符号化処理におけるレート制御を高精度化することができる。
また、量子化パラメータQPを決定するときに、複数のフレームのうち予め決められた数のフレームの量子化データに基づいて、量子化パラメータQPを決定してもよい。
これによれば、複数のフレームの符号化処理が終わっているか否かにかかわらず、当該量子化データd1に基づいて量子化パラメータQPを決定することができる。これにより、量子化処理を高速化することができる。
また、符号化処理は、CPU30にて実行され、量子化処理は、通信インターフェース50を介して前記CPUに接続されたアクセラレータ20にて実行され、さらに、アクセラレータ20にて量子化処理された1つのフレームの量子化データd1または量子化データd1に基づく演算データを、通信インターフェース50を介してCPU30に出力すること、を含んでいてもよい。
これによれば、量子化処理を高速処理可能なアクセラレータ20にて実行し、符号化処理を汎用性の高いCPU30にて実行することができる。これにより、量子化処理および符号化処理を高速化することができる。
また、1つのフレームの量子化データまたは上記演算データは、アクセラレータ20の量子化処理が終了するごとに、アクセラレータ20からCPU30に出力されてもよい。
これによれば、量子化処理が終了するごとに符号化処理を実行することができ、量子化処理および符号化処理を高速化することができる。
本実施の形態の符号化処理方法は、量子化処理されたフレームの量子化データd1を1つのフレームの量子化データd1ごとにシリアルに蓄積することで、複数のフレームの量子化データd1を蓄積することと、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1に基づいて、複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータQPを決定することと、量子化パラメータQPに基づいて量子化処理を行うことで上記直後のフレームの量子化データd1を生成することと、上記の直後のフレームを含む複数のフレームの量子化データd1を外部のCPUへ出力することと、を含む。
このように、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えば複数のフレームの符号化処理が終わっていない場合であっても、当該量子化データd1に基づいて量子化パラメータQPを決定することができる。これにより、量子化処理を高速化することができる。また、1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えばフレームの一部のデータに基づいて量子化パラメータQPを決定する場合に比べ、符号化処理におけるレート制御を高精度化することができる。
また、量子化パラメータQPを決定するときに、複数のフレームのうち予め決められた数のフレームの量子化データに基づいて、量子化パラメータQPを決定してもよい。
これによれば、複数のフレームの符号化処理が終わっているか否かにかかわらず、当該量子化データd1に基づいて量子化パラメータQPを決定することができる。これにより、量子化処理を高速化することができる。
また、量子化処理は、CPU30から出力された量子化指示を受け付けることで開始されてもよい。
これによれば、量子化処理を確実に開始することができ、量子化処理を高速化することができる。
また、上記量子化指示は、量子化処理を行う対象のフレームの1つ前のフレームの量子化処理が開始された後に、CPU30から出力されてもよい。
これによれば、量子化処理を適切なタイミングで開始することができ、量子化処理を高速化することができる。
また、CPU30において、複数のスレッドが同時に実行され、複数のスレッドのそれぞれに1つのフレームの符号化処理が割り当てられている場合に、上記量子化指示は、複数のスレッドのうちの所定のスレッドにおいて、上記1つのフレームの符号化処理が終了し、上記1つのフレームと異なるフレームの符号化処理が開始された後に、CPU30から出力されてもよい。
これによれば、量子化処理を適切なタイミングで開始することができ、量子化処理を高速化することができる。
本実施の形態の動画像符号化装置1は、量子化処理されたフレームの量子化データd1を1つのフレームの量子化データd1ごとにシリアルに蓄積することで、複数のフレームの量子化データd1を蓄積する量子化データ蓄積部109と、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1を用いて、複数のフレームの直後のフレームのビットデータ量を決定するレート制御部138と、レート制御部138で求めたビットデータ量に基づいて、上記直後のフレームの量子化処理を行う際の量子化パラメータQPを決定するパラメータ決定部110と、量子化パラメータQPに基づいて量子化処理を行うことで上記直後のフレームの量子化データd1を生成する量子化部108と、上記の直後のフレームを含む複数のフレームの量子化データd1にエントロピー符号化を行う符号化処理を、上記の直後のフレームを含む複数のフレーム間でパラレルに実行する符号化部130と、を備える。
このように、レート制御部138にて、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1を用いてビットデータ量を決定し、そのビットデータ量に基づいてパラメータ決定部110で量子化パラメータQPを決定することで、例えば符号化部130による符号化処理が終わっていない場合であっても、当該量子化データd1に基づいて量子化パラメータQPを決定することができる。これにより、量子化処理および符号化処理を高速化することができる。また、1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えばフレームの一部のデータに基づいて量子化パラメータQPを決定する場合に比べ、符号化処理におけるレート制御を高精度化することができる。
本実施の形態の符号化処理装置2は、量子化処理されたフレームの量子化データd1を1つのフレームの量子化データd1ごとにシリアルに蓄積することで、複数のフレームの量子化データd1を蓄積する量子化データ蓄積部109と、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1を用いて決定されたビットデータ量を外部から受け取り、複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータQPを決定するパラメータ決定部110と、量子化パラメータQPに基づいて量子化処理を行うことで上記直後のフレームの量子化データd1を生成する量子化部108と、を備える。
このように、パラメータ決定部110にて、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1を用いて決定されたビットデータ量を外部から受け取って量子化パラメータQPを決定することで、例えば複数のフレームの符号化処理が終わっていない場合であっても、当該量子化データd1に基づいて量子化パラメータQPを決定することができる。これにより、量子化処理を高速化することができる。また、1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えばフレームの一部のデータに基づいて量子化パラメータQPを決定する場合に比べ、符号化処理におけるレート制御を高精度化することができる。
[1-4.実施の形態1の変形例1]
次に、実施の形態1の変形例1に係る動画像符号化装置1Aについて説明する。変形例1では、レート制御部138がCPU30でなくアクセラレータ20に設けられている例について説明する。
図8は、変形例1に係る動画像符号化装置1Aのブロック構成図である。
図8に示すように、動画像符号化装置1Aは、減算部104と、変換部106と、量子化部108と、量子化データ蓄積部109と、パラメータ決定部110と、符号化部130と、符号化データ蓄積部136と、レート制御部138と、を備える。メモリ40に格納されたソフトウェアプログラムが実行されたとき、図8に示す符号化部130および符号化データ蓄積部136の各機能は、CPU30によって実現される。また、減算部104、変換部106、量子化部108、量子化データ蓄積部109、パラメータ決定部110およびレート制御部138の各機能は、アクセラレータ20によって実現される。
符号化データ蓄積部136に蓄積された符号化データd2のデータ量に関する情報は、通信インターフェース50を介してアクセラレータ20のレート制御部138に出力される。
レート制御部138は、過去のデータに基づいて次のデータを処理する際のビットデータ量を決める。レート制御部138は、符号化データ蓄積部136から出力された符号化データd2のデータ量に関する情報を取得し、また、量子化データ蓄積部109から出力された量子化データd1を受け付け、過去の量子化データd1のデータ量に関する情報を取得する。レート制御部138は、取得したこれらの情報に基づいて、次のフレームで符号化処理を行う際のビットデータ量を決める。
変形例1の動画像符号化装置1Aにおいても、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、量子化処理および符号化処理を高速化することができる。また、1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えばフレームの一部のデータに基づいて量子化パラメータQPを決定する場合に比べ、レート制御を高精度化することができる。
[1-5.実施の形態1の変形例2]
次に、実施の形態1の変形例2に係る動画像符号化装置1Bについて説明する。変形例1では、レート制御部が第1のレート制御部138aおよび第2のレート制御部138bによって構成され、第1のレート制御部138aがCPU30に設けられ、第2のレート制御部138bがアクセラレータ20に設けられている例について説明する。
図9は、変形例2に係る動画像符号化装置1Bのブロック構成図である。
図9に示すように、動画像符号化装置1Bは、減算部104と、変換部106と、量子化部108と、量子化データ蓄積部109と、第1のレート制御部138aと、第2のレート制御部138bと、パラメータ決定部110と、符号化部130と、符号化データ蓄積部136と、レート制御部138と、を備える。メモリ40に格納されたソフトウェアプログラムが実行されたとき、図9に示す符号化部130、符号化データ蓄積部136および第1のレート制御部138aの各機能は、CPU30によって実現される。また、減算部104、変換部106、量子化部108、量子化データ蓄積部109、パラメータ決定部110および第2のレート制御部138b等の各機能は、アクセラレータ20によって実現される。
符号化データ蓄積部136に蓄積された符号化データd2のデータ量に関する情報は、第1のレート制御部138aに出力される。第1のレート制御部138aは、符号化データ蓄積部136から出力された符号化データd2のデータ量に関する情報を取得し、取得した情報を、通信インターフェース50を介して第2のレート制御部138bに出力する。第2のレート制御部138bは、量子化データ蓄積部109から出力された量子化データd1を受け付け、過去の量子化データd1のデータ量に関する情報を取得する。レート制御部138bは、取得したこれらの情報に基づいて、次のフレームで符号化処理を行う際のビットデータ量を決める。
変形例2の動画像符号化装置1Bにおいても、複数のフレームの量子化データd1のうち少なくとも1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、量子化処理および符号化処理を高速化することができる。また、1つのフレームの量子化データd1に基づいて量子化パラメータQPを決定することで、例えばフレームの一部のデータに基づいて量子化パラメータQPを決定する場合に比べ、レート制御を高精度化することができる。
(実施の形態2)
実施の形態2の動画像符号化方法について、図10を参照しながら説明する。実施の形態2の動画像符号化方法は、量子化パラメータQPを決定するときに、量子化データd1および符号化データd2の両方のデータを用いる例について説明する。なお、実施の形態2の動画符号化方法を実行する動画像符号化装置1は、実施の形態1と同じであるので、説明を省略する。
図10は、実施の形態2に係る動画像符号化方法を示すフローチャートである。動画像符号化方法は、以下に示すS11、S12A、S13、S14、S15の処理を含む。
(S11)量子化処理されたフレームの量子化データd1を1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データd1を蓄積すること。
(S12A)複数のフレームのうち、符号化処理が終了したフレームについては符号化処理されたフレームの符号化データd2のデータ量を用い、符号化処理が終了していないフレームについては量子化データd1のデータ量に基づいて、複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータQPを決定すること。
(S13)量子化パラメータQPに基づいて量子化処理を行うことで上記直後のフレームの量子化データd1を生成すること。
(S14)上記の直後のフレームを含む複数のフレームの量子化データd1にエントロピー符号化を行う符号化処理を、上記の直後のフレームを含む複数のフレーム間でパラレルに実行すること。
(S15)符号化処理によって得られた処理結果を、符号化処理を開始した順番と同じ順番で出力すること。
この動画像符号化方法は、動画像符号化装置1によって実行される。上記S11~S14の処理は、特定のフレームに着目して時系列で記載されているが、実際の動画像符号化方法では、量子化処理および符号化処理がアクセラレータ20およびCPU30にて同時進行される。
実施の形態2の動画像符号化方法では、符号化処理が終了したフレームについては符号化処理されたフレームの符号化データd2のデータ量を用い、符号化処理が終了していないフレームについては量子化データd1のデータ量に基づいて量子化パラメータQPを決定する。これにより、実施の形態1に比べてレート制御を高精度化することができる。
(その他の実施の形態)
以上、本開示の態様に係る動画像符号化装置等について、実施の形態等に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。例えば、本明細書において記載した構成要素を任意に組み合わせて、また、構成要素のいくつかを除外して実現される別の実施の形態を本開示の実施の形態としてもよい。また、上記実施の形態に対して本開示の主旨、すなわち、請求の範囲に記載される文言が示す意味を逸脱しない範囲で当業者が思いつく各種変形を施して得られる変形例も本開示に含まれる。
実施の形態1の動画像符号化装置1では、パラメータ決定部110がアクセラレータ20内に設けられている例を示したが、それに限られず、パラメータ決定部110は、CPU30に設けられていてもよい。その場合、CPU30のパラメータ決定部110で決定した量子化パラメータQPは、通信インターフェース50を介してアクセラレータ20の量子化部108に出力される。
動画像符号化装置1の符号化処理は、二値化処理、算術符号化処理およびストリーム成形処理によって構成される例を示したが、それに限られない。例えば、符号化処理は、二値化処理、算術符号化処理およびストリーム成形処理の少なくとも1つの処理で構成されてもよい。そして、上記少なくとも1つの処理で構成される符号化処理が複数のフレーム間でパラレルに実行されてもよい。
動画像符号化装置1では、ソフトウェアプログラムが実行されたとき、図1に示す符号化部130、符号化データ蓄積部136およびレート制御部138の各機能は、CPU30によって実現され、減算部104、変換部106、量子化部108、量子化データ蓄積部109、パラメータ決定部110等の各機能は、アクセラレータ20によって実現される例を示したが、それに限られない。
例えば、図11の(a)~(c)に示すCPUおよびアクセラレータによって動画像符号化装置が構成されていてもよい。
図11の(a)では、動画像符号化装置1が、CPU30aおよびCPU30bによって構成されている。符号化部130、符号化データ蓄積部136およびレート制御部138の各機能は、CPU30bによって実現され、減算部104、変換部106、量子化部108、量子化データ蓄積部109、パラメータ決定部110等の各機能は、CPU30bとは異なるCPU30aによって実現される。この場合、CPU30aが符号化処理装置に該当する。CPU30aおよびCPU30bは1つのCPUによって構成されてもよい。
図11の(b)では、動画像符号化装置1が、アクセラレータ20aおよびアクセラレータ20bによって構成されている。符号化部130、符号化データ蓄積部136およびレート制御部138の各機能は、アクセラレータ20bによって実現され、減算部104、変換部106、量子化部108、量子化データ蓄積部109、パラメータ決定部110等の各機能は、アクセラレータ20bとは異なるアクセラレータ20aによって実現される。この場合、アクセラレータ20aが符号化処理装置に該当する。アクセラレータ20aおよびアクセラレータ20bは1つのアクセラレータによって構成されてもよい。
図11の(c)では、動画像符号化装置1が、CPU30aおよびアクセラレータ20bによって構成されている。符号化部130、符号化データ蓄積部136およびレート制御部138の各機能は、アクセラレータ20bによって実現され、減算部104、変換部106、量子化部108、量子化データ蓄積部109、パラメータ決定部110等の各機能は、CPU30aによって実現される。この場合、CPU30aが符号化処理装置に該当する。
また、以下に示す形態も、本開示の一つまたは複数の態様の範囲内に含まれてもよい。
(1)上記の動画像符号化装置を構成する構成要素の一部は、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムであってもよい。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の動画像符号化装置を構成する構成要素の一部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
本開示は、動画像を符号化する動画像符号化装置、及び、符号化処理装置に適用することができる。
1、1A、1B 動画像符号化装置
2 符号化処理装置
20、20a、20b アクセラレータ
30、30a、30b CPU
40 メモリ
50 通信インターフェース
104 減算部
106 変換部
108 量子化部
109 量子化データ蓄積部
110 パラメータ決定部
112 逆量子化部
114 逆変換部
116 加算部
120 ブロッキングフィルタ
122 フレームメモリ
124 動き検出・補償部
126 イントラ予測部
128 予測制御部
130 符号化部
131 二値化部
132 算術符号化部
133 ストリーム成形部
136 符号化データ蓄積部
138、138a、138b レート制御部
d1 量子化データ
d2 符号化データ
f11~f19 フレーム
QP 量子化パラメータ

Claims (13)

  1. 動画像の符号化を行う方法であって、
    量子化処理されたフレームの量子化データを1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データを蓄積することと、
    前記量子化データに基づいて量子化データ情報を求めることと、
    前記複数のフレームの量子化データのうち少なくとも1つのフレームの量子化データに対する前記量子化データ情報を使用して、前記複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータを決定することと、
    前記量子化パラメータに基づいて量子化処理を行うことで前記直後のフレームの量子化データを生成することと、
    前記直後のフレームを含む複数のフレームの量子化データにエントロピー符号化を行う符号化処理を、前記直後のフレームを含む複数のフレーム間でパラレルに実行することを含み、
    前記量子化データ情報は、前記符号化処理後のデータに基づかず、
    前記量子化パラメータを決定するときに、前記複数のフレームのうち、前記符号化処理が終了したフレームについては前記符号化処理されたフレームの符号化データのデータ量に基づき、前記符号化処理が終了していないフレームについては前記量子化データ情報に基づいて前記量子化パラメータを決定する
    動画像符号化方法。
  2. 前記符号化処理は、前記直後のフレームを含む複数のフレームに対して異なる時刻に個別に開始される
    請求項1に記載の動画像符号化方法。
  3. さらに、
    前記符号化処理によって得られた処理結果を、前記符号化処理を開始した順番と同じ順番で出力すること、
    を含む請求項1または2に記載の動画像符号化方法。
  4. 前記量子化パラメータを決定するときに、前記符号化処理が終了していないフレームについては、予め決められた数のフレームの量子化データに対する前記量子化データ情報を使用して、前記量子化パラメータを決定する
    請求項1~のいずれか1項に記載の動画像符号化方法。
  5. 前記符号化処理は、CPU(Central Processing Unit)にて実行され、
    前記量子化処理は、通信インターフェースを介して前記CPUに接続されたアクセラレータにて実行され、
    さらに、
    前記アクセラレータにて前記量子化処理された前記1つのフレームの量子化データまたは前記量子化データに基づく演算データを、前記通信インターフェースを介して前記CPUに出力すること、
    を含む請求項1~のいずれか1項に記載の動画像符号化方法。
  6. 前記1つのフレームの量子化データまたは前記演算データは、前記アクセラレータの前記量子化処理が終了するごとに、前記アクセラレータから前記CPUに出力される
    請求項に記載の動画像符号化方法。
  7. 符号化を行う方法であって、
    量子化処理されたフレームの量子化データを1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データを蓄積することと、
    前記量子化データに基づいて量子化データ情報を求めることと、
    前記複数のフレームの量子化データのうち少なくとも1つのフレームの量子化データに対する前記量子化データ情報を使用して、前記複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータを決定することと、
    前記量子化パラメータに基づいて量子化処理を行うことで前記直後のフレームの量子化データを生成することと、
    前記直後のフレームを含む複数のフレームの量子化データを外部のCPU(Central Processing Unit)へ出力することを含み、
    前記量子化データ情報は、前記直後のフレームを含む複数のフレームの量子化データにエントロピー符号化を行う符号化処理後のデータに基づかず、
    前記量子化パラメータを決定するときに、前記複数のフレームのうち、前記符号化処理が終了したフレームについては前記符号化処理されたフレームの符号化データのデータ量に基づき、前記符号化処理が終了していないフレームについては前記量子化データ情報に基づいて前記量子化パラメータを決定する
    符号化処理方法。
  8. 前記量子化パラメータを決定するときに、前記符号化処理が終了していないフレームについては、予め決められた数のフレームの量子化データに対する前記量子化データ情報を使用して、前記量子化パラメータを決定する
    請求項に記載の符号化処理方法。
  9. 前記量子化処理は、前記CPUから出力された量子化指示を受け付けることで開始される
    請求項7または8に記載の符号化処理方法。
  10. 前記量子化指示は、量子化処理を行う対象のフレームの1つ前のフレームの量子化処理が開始された後に、前記CPUから出力される
    請求項に記載の符号化処理方法。
  11. 前記CPUにおいて、複数のスレッドが同時に実行され、前記複数のスレッドのそれぞれに前記1つのフレームの符号化処理が割り当てられている場合に、
    前記量子化指示は、前記複数のスレッドのうちの所定のスレッドにおいて、前記1つのフレームの符号化処理が終了し、前記1つのフレームと異なるフレームの符号化処理が開始された後に、前記CPUから出力される
    請求項に記載の符号化処理方法。
  12. 量子化処理されたフレームの量子化データを1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データを蓄積する量子化データ蓄積部と、
    前記複数のフレームの量子化データのうち少なくとも1つのフレームの量子化データのデータ量に基づいて、前記複数のフレームの直後のフレームのビットデータ量を決定するレート制御部と、
    前記レート制御部で求めた前記ビットデータ量に基づいて、前記直後のフレームの量子化処理を行う際の量子化パラメータを決定するパラメータ決定部と、
    前記量子化パラメータに基づいて量子化処理を行うことで前記直後のフレームの量子化データを生成する量子化部と、
    前記直後のフレームを含む複数のフレームの量子化データにエントロピー符号化を行う符号化処理を、前記直後のフレームを含む複数のフレーム間でパラレルに実行する符号化部と、
    を備え、
    前記パラメータ決定部は、前記複数のフレームのうち、前記符号化処理が終了したフレームについては前記符号化処理されたフレームの符号化データのデータ量に基づき、前記符号化処理が終了していないフレームについては前記量子化データのデータ量に基づいて前記量子化パラメータを決定する
    動画像符号化装置。
  13. 量子化処理されたフレームの量子化データを1つのフレームの量子化データごとにシリアルに蓄積することで、複数のフレームの量子化データを蓄積する量子化データ蓄積部と、
    前記複数のフレームの量子化データのうち少なくとも1つのフレームの量子化データのデータ量を用いて決定されたビットデータ量を外部から受け取り、前記複数のフレームの直後のフレームの量子化処理を行う際の量子化パラメータを決定するパラメータ決定部と、
    前記量子化パラメータに基づいて量子化処理を行うことで前記直後のフレームの量子化データを生成する量子化部と、
    を備え、
    前記パラメータ決定部は、前記複数のフレームのうち、符号化処理が終了したフレームについては前記符号化処理されたフレームの符号化データのデータ量に基づき、前記符号化処理が終了していないフレームについては前記量子化データのデータ量に基づいて前記量子化パラメータを決定する
    符号化処理装置。
JP2021553979A 2019-10-31 2019-10-31 動画像符号化方法、符号化処理方法、動画像符号化装置および符号化処理装置 Active JP7524906B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/042759 WO2021084679A1 (ja) 2019-10-31 2019-10-31 動画像符号化方法、符号化処理方法、動画像符号化装置および符号化処理装置

Publications (2)

Publication Number Publication Date
JPWO2021084679A1 JPWO2021084679A1 (ja) 2021-05-06
JP7524906B2 true JP7524906B2 (ja) 2024-07-30

Family

ID=75714975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021553979A Active JP7524906B2 (ja) 2019-10-31 2019-10-31 動画像符号化方法、符号化処理方法、動画像符号化装置および符号化処理装置

Country Status (4)

Country Link
US (1) US20220256155A1 (ja)
JP (1) JP7524906B2 (ja)
CN (1) CN114424549B (ja)
WO (1) WO2021084679A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005159441A (ja) 2003-11-20 2005-06-16 Seiko Epson Corp 画像データ圧縮装置及びエンコーダ
JP2005323166A (ja) 2004-05-10 2005-11-17 Seiko Epson Corp 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法
US20160173875A1 (en) 2014-12-11 2016-06-16 Intel Corporation Rate control for parallel video encoding

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0514876A (ja) * 1991-07-05 1993-01-22 Hitachi Ltd 動画像符号化方式
US7356079B2 (en) * 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
US7936814B2 (en) * 2002-03-28 2011-05-03 International Business Machines Corporation Cascaded output for an encoder system using multiple encoders
US8175147B1 (en) * 2005-08-08 2012-05-08 Texas Instruments Incorporated Video coding rate control
JP5231243B2 (ja) * 2006-11-28 2013-07-10 パナソニック株式会社 符号化装置及び符号化方法
JP2010081498A (ja) * 2008-09-29 2010-04-08 Hitachi Kokusai Electric Inc 画像圧縮符号化方法、及び装置
CN105516723B (zh) * 2010-09-30 2018-07-27 三菱电机株式会社 运动图像编码装置及方法、运动图像解码装置及方法
JP5875236B2 (ja) * 2011-03-09 2016-03-02 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2013150215A (ja) * 2012-01-20 2013-08-01 Fujitsu Ltd 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
JP2014007469A (ja) * 2012-06-21 2014-01-16 Canon Inc 画像符号化装置及び画像符号化方法
JP6376719B2 (ja) * 2012-06-29 2018-08-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6023596B2 (ja) * 2013-01-24 2016-11-09 株式会社日立情報通信エンジニアリング 画像符号化装置
JP6708211B2 (ja) * 2015-06-03 2020-06-10 日本電気株式会社 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
JP6065090B2 (ja) * 2015-11-09 2017-01-25 富士通株式会社 動画像復号装置、動画像復号方法、動画像復号プログラム
JP6470191B2 (ja) * 2016-01-06 2019-02-13 日本電信電話株式会社 映像符号化方法、映像符号化装置及び映像符号化プログラム
JP6806466B2 (ja) * 2016-06-01 2021-01-06 キヤノン株式会社 画像符号化装置及びその制御方法
JP6943256B2 (ja) * 2016-10-24 2021-09-29 日本電気株式会社 符号化装置、符号化方法およびプログラム
JP6660868B2 (ja) * 2016-11-15 2020-03-11 Kddi株式会社 動画像符号化装置及び動画像復号装置並びにプログラム
US10638127B2 (en) * 2017-05-15 2020-04-28 Qualcomm Incorporated Adaptive anchor frame and quantization parameter decision in video coding
KR20190056888A (ko) * 2017-11-17 2019-05-27 삼성전자주식회사 비디오 부호화 장치 및 방법
JP6966936B2 (ja) * 2017-12-22 2021-11-17 キヤノン株式会社 画像符号化装置及びその制御方法及びプログラム
KR102543449B1 (ko) * 2018-01-26 2023-06-14 삼성전자주식회사 이미지 처리 장치 및 이미지 처리 장치의 동작 방법
JP7015183B2 (ja) * 2018-02-13 2022-02-02 キヤノン株式会社 画像符号化装置及びその制御方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005159441A (ja) 2003-11-20 2005-06-16 Seiko Epson Corp 画像データ圧縮装置及びエンコーダ
JP2005323166A (ja) 2004-05-10 2005-11-17 Seiko Epson Corp 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法
US20160173875A1 (en) 2014-12-11 2016-06-16 Intel Corporation Rate control for parallel video encoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谷田部 祐介 他,動画像リアルタイムエンコーダにおけるH.264 CABACの並列処理技術,情報処理学会論文誌(トランザクション) コンシューマ・デバイス&システム(CDS),日本,情報処理学会,2015年12月29日,Vol.5, No.5,pp.1-8,<URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=146978&file_id=1&file_no=1>

Also Published As

Publication number Publication date
JPWO2021084679A1 (ja) 2021-05-06
CN114424549B (zh) 2024-06-11
US20220256155A1 (en) 2022-08-11
WO2021084679A1 (ja) 2021-05-06
CN114424549A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
JP7098805B2 (ja) ニューラルネットワークを利用したコーデック
US7561736B2 (en) Image processing apparatus and method of the same
RU2684193C1 (ru) Устройство и способ для компенсации движения в видеоизображении
TW200412800A (en) Method and apparatus for reducing computational complexity in video encoders
CN111327898B (zh) 一种视频编码的方法、装置、电子设备及存储介质
CN108076342A (zh) 用于编码视频的方法和编码器系统
JP7524906B2 (ja) 動画像符号化方法、符号化処理方法、動画像符号化装置および符号化処理装置
US8111753B2 (en) Video encoding method and video encoder for improving performance
TW201338546A (zh) 訊框速率控制方法、訊框速率控制裝置及訊框速率控制程式
US10791332B2 (en) Video data processing system
US8687710B2 (en) Input filtering in a video encoder
JP6470191B2 (ja) 映像符号化方法、映像符号化装置及び映像符号化プログラム
US20140044167A1 (en) Video encoding apparatus and method using rate distortion optimization
JP2004523985A (ja) ビデオ符号化方法及びこれに対応する符号化装置
JP2000032469A (ja) 動画像符号化装置
JP5913929B2 (ja) 動画像符号化装置及びその制御方法、コンピュータプログラム
JP2897563B2 (ja) 画像圧縮符号化装置
WO2020255771A1 (ja) 画像処理装置および方法
US11350134B2 (en) Encoding apparatus, image interpolating apparatus and encoding program
JP6191173B2 (ja) 画像処理装置、方法及びプログラム
JP5362099B2 (ja) 符号化装置
CN112468826A (zh) 一种基于多层gan的vvc环路滤波方法及系统
JP7451131B2 (ja) 画像符号化装置、画像符号化方法、及びプログラム
US20030223498A1 (en) Video encoding method and video encoder for improving performance
JPH04336894A (ja) 動画像符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240701

R150 Certificate of patent or registration of utility model

Ref document number: 7524906

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150