JP2015181289A - 動的ビデオスイッチング - Google Patents

動的ビデオスイッチング Download PDF

Info

Publication number
JP2015181289A
JP2015181289A JP2015113128A JP2015113128A JP2015181289A JP 2015181289 A JP2015181289 A JP 2015181289A JP 2015113128 A JP2015113128 A JP 2015113128A JP 2015113128 A JP2015113128 A JP 2015113128A JP 2015181289 A JP2015181289 A JP 2015181289A
Authority
JP
Japan
Prior art keywords
codec
data stream
data streams
load factor
hardware
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.)
Granted
Application number
JP2015113128A
Other languages
English (en)
Other versions
JP6335845B2 (ja
Inventor
シン・ファン
Xin Fang
ウェイ・シ
Wei Shi
ジェラルド・ポール・ミハラク
Paul Michalak Gerald
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2015181289A publication Critical patent/JP2015181289A/ja
Application granted granted Critical
Publication of JP6335845B2 publication Critical patent/JP6335845B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】資源を浪費せず、効率的な動的コーデック割振り方法を提供する。
【解決手段】複数のデータストリームを受信し、データストリームのそれぞれに対して個々のコーデック負荷係数を決定する。データストリームは、個々の最高のコーデック負荷係数から始めて個々のコーデック負荷係数による順番でコーデックに割り当てられる。最初に、データストリームは、ハードウェアコーデックが最大容量にロードされるまで、ハードウェアコーデックに割り当てられる。ハードウェアコーデックが最大容量にロードされると、残りのデータストリームがソフトウェアコーデックに割り当てられる。新しいデータストリームが受信されると、該割り当てを繰り返す。従って、データストリームの相対的なコーデック負荷係数に基づき、前に割り当てられたデータストリームをハードウェアコーデックからソフトウェアコーデックに再割当てする事や、また、その逆を行うことができる。
【選択図】図3

Description

本開示は、一般に通信に関し、限定はしないが、より詳細には、動的ビデオスイッチングのための方法および装置に関する。
市場は、オーディオおよびビデオのデータストリームなど、複数のデータストリームを同時に復号することができるデバイスを要望している。ビデオデータストリームは大量のデータを含み、そのため送信前に、ビデオデータは、送信メディアを効率的に使用するために圧縮される。ビデオ圧縮は、ビデオデータをストリーミングビデオフォーマットに効率的に符号化する。圧縮は、ビデオデータを、効率的に送信され得るより少ないビットを有する、圧縮されたビットストリームフォーマットに変換する。圧縮の逆は復号としても知られる解凍であり、解凍は、元のビデオデータの複製(または精度の高い近似物)を作成する。
コーデックは、圧縮ビットストリームを符号化し、復号するデバイスである。ハードウェアデコーダを使用することは、性能、電力消費、およびプロセッササイクルの交互使用などの理由により、ソフトウェアデコーダを使用することより優先される。したがって、デコーダが、ゲートブロック、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、またはこれらの要素の組合せから成るかどうかにかかわらず、いくつかのデコーダタイプが他のデコーダタイプより優先される。
図1を参照すると、2つ以上の符号化されたデータストリームが従来のデバイスに入力されると、先着順の従来の割当てモデル100では、到来するデータストリームを、ビデオ事象が発生したときに利用可能なコーデックに割り当てている。ビデオ事象は、先着順の従来の割当てモデル100をトリガする。たとえば、ビデオ事象は、開始、終了、休止、再始動、探索、および/または解像度変更など、ビデオストリームに関する1つまたは複数の処理であってよい。図1の例では、唯一のハードウェアコーデックが利用可能である。第1の受信されたデータストリームは、ビデオ1 105であり、このビデオ1 105は、ハードウェアビデオコーデックに割り当てられている。第2のデータストリーム、ビデオ2 110が引き続いて受信され、ハードウェアコーデックが利用できないので、ソフトウェアコーデックに割り当てられる。引き続いて受信されるデータストリームも同様に、唯一のハードウェアコーデックがビデオ1 105の処理で既に占有されているので、ソフトウェアコーデックに割り当てられる。従来の割当てモデル100では、データストリームがひとたびコーデックに割り当てられると、そのデータストリームが異なるコーデックに再割当てされることはない。したがって、ひとたびソフトウェアコーデックに割り当てられると、ビデオ2 110および後続のデータストリームは、たとえハードウェアコーデックがビデオ1 105の処理を停止したとしても、ハードウェアコーデックに割り当てられることはない。
従来の割当てモデル100は、単純であり、最適ではない。ハードウェアコーデックは、複雑な符号化方式(たとえば、MPEG-4)を非常に速やかにかつ効率的に復号し得るが、比較的単純な符号化方式(たとえば、H.261)は、ハードウェアコーデックとソフトウェアコーデックの両方によって速やかにかつ効率的に復号され得る。しかしながら、従来の割当てモデル100は、データストリームを最も効率的に復号し得るタイプのコーデック(ハードウェアまたはソフトウェア)にデータストリームを意図的に割り当てることはない。図1を再び参照すると、ビデオ1 105が単純な符号化方式を有し、ビデオ2 110が複雑な符号化方式を有する場合、プロセッサがビデオ2 110を復号する処理をしている間、ハードウェアコーデックの能力は、ビデオ1 105を復号するために、十分に活用されてない。ビデオ1 105およびビデオ2 110を見ているユーザは、申し分のないビデオ1 105の復号バージョンを経験するが、ビデオ1 105よりも高度な性能を提供するとユーザが期待するビデオ2 110は、ビデオ2 110の複雑な符号化方式のために、アーチファクト、欠損したフレーム、および量子化雑音を含む可能性がある。したがって、従来の割当てモデル100は、資源を浪費し、非効率的であり、ユーザに標準以下の結果をもたらす。
したがって、上述の問題に対処する方法および装置に対する産業上のニーズが存在する。
本発明の例示的な実施形態は、動的ビデオスイッチングのためのシステムおよび方法を対象とする。
一例では、動的コーデック割振り方法が提供される。方法は、複数のデータストリームを受信するステップと、データストリームのそれぞれに対して個々のコーデック負荷係数を決定するステップとを含む。データストリームは、個々の最高のコーデック負荷係数から始めて個々のコーデック負荷係数による順番でコーデックに割り当てられる。最初に、データストリームは、ハードウェアコーデックが実質的に最大容量にロードされるまで、ハードウェアコーデックに割り当てられる。ハードウェアコーデックが、実質的に最大容量にロードされると、残りのデータストリームは、ソフトウェアコーデックに割り当てられる。新しいデータストリームが受信されるとき、本方法が繰り返され、データストリームの相対的なコーデック負荷係数に基づいて、前に割り当てられたデータストリームをハードウェアコーデックからソフトウェアコーデックに再割当てすることができ、また、その逆を行うことができる。
さらなる例では、動的コーデック割振り装置が提供される。動的コーデック割振り装置は、複数のデータストリームを受信するための手段と、複数のデータストリームの中のそれぞれのデータストリームに対して個々のコーデック負荷係数を決定するための手段とを含む。動的コーデック割振り装置はまた、個々の最高のコーデック負荷係数から始めて個々のコーデック負荷係数による順番でデータストリームをハードウェアコーデックに、ハードウェアコーデックが実質的に最大容量にロードされるまで割り当てるための手段と、ハードウェアコーデックが実質的に最大容量にロードされると、残りのデータストリームをソフトウェアコーデックに割り当てるための手段とを含む。
別の例では、非一時的コンピュータ可読媒体が提供される。非一時的コンピュータ可読媒体は、プロセッサで実行されるとプロセッサに動的コーデック割振り方法を実行させる命令を記憶する。動的コーデック割振り方法は、複数のデータストリームを受信するステップと、データストリームのそれぞれに対して個々のコーデック負荷係数を決定するステップとを含む。データストリームは、個々の最高のコーデック負荷係数から始めて個々のコーデック負荷係数による順番でコーデックに割り当てられる。最初に、データストリームは、ハードウェアコーデックが実質的に最大容量にロードされるまで、ハードウェアコーデックに割り当てられる。ハードウェアコーデックが、実質的に最大容量にロードされると、残りのデータストリームがソフトウェアコーデックに割り当てられる。新しいデータストリームが受信されるとき、本方法が繰り返され、データストリームの相対的なコーデック負荷係数に基づいて、前に割り当てられたデータストリームをハードウェアコーデックからソフトウェアコーデックに再割当てすることができまた、その逆を行うことができる。
さらなる例では、動的コーデック割振り装置が提供される。動的コーデック割振り装置は、ハードウェアコーデックと、ハードウェアコーデックに結合されたプロセッサとを含む。プロセッサは、複数のデータストリームを受信し、複数のデータストリームの中のそれぞれデータストリームについて、個々のコーデック負荷係数を決定し、個々の最高のコーデック負荷係数から始めて個々のコーデック負荷係数による順番でデータストリームをハードウェアコーデックに、ハードウェアコーデックが実質的に最大容量にロードされるまで割り当て、ハードウェアコーデックが実質的に最大容量にロードされると、残りのデータストリームをソフトウェアコーデックに割り当てるように構成される。
他の特徴および利点は、添付の特許請求の範囲の中で、および以下の詳細な説明から明らかとなろう。
添付の図面は、本発明の実施形態に関する説明において助けとなるように提示されており、本発明の限定ではなく、実施形態の例示のみのために提供されている。
従来の割当てモデルを示す図である。 例示的な通信デバイスを示す図である。 例示的な動的ビデオスイッチングデバイスの作業の流れを示す図である。 ビデオストリーム情報の例示的な表である。 コーデックを動的に割り当てるための例示的な方法のフローチャートである。 コーデックを動的に割り当てるための別の例示的な方法のフローチャートである。 コーデックを動的に割り当てるための別の例示的な方法のフローチャートである。 動的ビデオスイッチング方法の例示的なタイムラインを示す図である。 例示的な動的ビデオスイッチングアルゴリズムの擬似コードリストである。
慣例に従って、いくつかの図は明快のために簡略化されている。したがって、図は、所与の装置(たとえば、デバイス)または方法の構成要素のすべてを示すとは限らない。最後に、同様の参照番号は、本明細書および図を通して同様の特徴を示すために使用される。
本発明の特定の実施形態を対象とする以下の説明および関連する図面で、本発明の態様を開示する。本発明の範囲から逸脱することなく代替的な実施形態を考案することができる。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素については詳細に説明しないか、または省略する。
「例示的な」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。「例示的な」として本明細書で説明されるいかなる実施形態も、他の実施形態よりも好ましいまたは有利であると必ずしも解釈されるべきではない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が論じられた特徴、利点または動作モードを含むことを必要としない。
本明細書で用いられる用語は、特定の実施形態の説明のみを目的とするものであり、本発明の実施形態を限定することは意図されない。本明細書で使用する単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。たとえば、ハードウェアコーデックに対する本明細書による参照は、複数のハードウェアコーデックに言及するように意図されている。さらなる例として、ソフトウェアコーデックに対する本明細書による参照は、同様に、複数のソフトウェアコーデックに言及するように意図されている。また、「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、および/または、「含んでいる(including)」という用語は、本明細書で用いられる場合、述べられた特徴、整数、ステップ、動作、要素、および/または、構成要素の存在を指定するが、1つもしくは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/または、これらの群の存在または追加を排除しない。
さらに、多くの実施形態が、たとえば、コンピューティングデバイスの要素によって実行すべき一連のアクションに関して説明される。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))、エンコーダ、デコーダ、コーデックによって、1つもしくは複数のプロセッサによって実行されるプログラム命令によって、またはそれらの組合せによって実施できることを認識されよう。さらに、本明細書で説明するこれらの一連のアクションは、実行時に、関連するプロセッサに本明細書で説明する機能を実施させるコンピュータ命令の対応するセットを記憶した、任意の形式のコンピュータ可読記憶媒体内で全体として具現化されるものと見なすことができる。したがって、本発明の様々な態様は、すべてが請求する主題の範囲内に入ることが企図されているいくつかの異なる形式で具現化され得る。さらに、本明細書で説明する実施形態ごとに、そのような実施形態の対応する形態について、たとえば、記載の行為を実行する「ように構成された論理」として本明細書で説明することがある。
図2は、本開示の実施形態が有利に用いられ得る例示的な通信システム200を示している。説明のために、図2は、3つの遠隔ユニット220、230、250および2つの基地局240を示す。従来のワイヤレス通信システムは、これより多くの遠隔ユニットおよび基地局を有し得ることが理解されよう。遠隔ユニット220、230、250は、以下でさらに論じるように、本開示の実施形態225A-Cの少なくとも一部を含む。図2は、基地局240から遠隔ユニット220、230、250への順方向リンク信号280、ならびに遠隔ユニット220、230、250から基地局240への逆方向リンク信号290を示す。
図2では、遠隔ユニット220はモバイル電話として示され、遠隔ユニット230は可搬型コンピュータとして示され、遠隔ユニット250はワイヤレスローカルループシステム中の固定位置の遠隔ユニットとして示されている。たとえば、遠隔ユニットは、モバイル電話、ハンドヘルドパーソナル通信システム(PCS)ユニット、携帯情報端末のようなポータブルデータユニット、ナビゲーションデバイス(たとえば、GPS対応デバイス)、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、固定ロケーションデータユニット(メータ読取り機器)、またはデータもしくはコンピュータ命令の記憶もしくは取出しを行う任意の他のデバイス、またはそれらの任意の組合せであってよい。図2は、本開示の教示による遠隔ユニットを示すが、本開示は、これらの例示的な示されたユニットには限定されない。本開示の実施形態は、任意のデバイスにおいて適切に使用されてもよい。
図3は、例示的な動的ビデオスイッチングデバイス300の作業の流れを示す。少なくとも2つのデータストリーム305A-Nが、ルーティング機能ブロックなど、プロセッサ310に入力される。データストリーム305A-Nは、オーディオデータストリーム、ビデオデータストリーム、または両者の組合せであってよい。プロセッサ310は、本明細書で説明する方法の少なくとも一部を実行するように構成され、中央処理装置(CPU)であってよい。たとえば、プロセッサは、データストリーム305A-Nのそれぞれに対して個々のコーデック負荷係数(m_codecLoad)を決定し得る。データストリーム305A-Nは、少なくとも1つのハードウェアコーデック315 A -Mに、個々の最高のコーデック負荷係数から始めて個々のコーデック負荷係数による順番で、ハードウェアコーデック315 A -Mが実質的に最大容量にロードされるまで割り当てられる。データストリーム305A-Nをハードウェアコーデック315 A -Mに割り当てることで、CPU負荷と電力消費とが低減される。ハードウェアコーデック315 A -Mが実質的に最大容量にロードされると、残りのデータストリーム305A-Nが、少なくとも1つのソフトウェアコーデック320A-Xに割り当てられる。例として、ソフトウェアコーデック320A-Xは、CPUベース、GPUベース、またはDSPベースのブロックなど、プログラム可能なブロックであってよい。新しいデータストリームが受信されるにつれて本方法が繰り返され、データストリームの相対的なコーデック負荷係数に基づいて、前に割り当てられたデータストリーム305A-Nをハードウェアコーデック315 A -Mからソフトウェアコーデック320A-Xに再割当てすることができ、また、その逆に再割当てすることができる。
ハードウェアコーデック315 A -Mおよびソフトウェアコーデック320A-Xは、オーディオコーデック、ビデオコーデック、および/または両者の組合せであってよい。ハードウェアコーデック315 A -Mおよびソフトウェアコーデック320A-Xはまた、メモリなどの資源を共有しないように構成されてもよい。代替として、いくつかのアプリケーションでは、本明細で説明するコーデックがデコーダで置き換えられる。ハードウェアデコーダを使用することは、性能、電力消費、およびプロセッササイクルの交互使用などの理由により、ソフトウェアデコーダを使用することより優先される。したがって、デコーダが、ゲートブロック、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、またはこれらの要素の組合せを有するかどうかにかかわらず、いくつかのデコーダタイプが他のデコーダタイプより優先される。
プロセッサ310は、コーデックの割当ておよび再割当ての間にデータストリーム305A-Nの中のデータをバッファリングするバッファ325に結合されてよい。バッファ325はまた、コーデック再割当ての事象の中で使用されるために、データストリーム305A-Nのパラメータを説明する情報を記憶し得る。ビデオストリーム情報400の例示的な表を、図4に示す。
ハードウェアコーデック315 A -Mおよびソフトウェアコーデック320A-Xからの出力が、オペレーティングシステム330に入力され、オペレーティングシステム330は、ハードウェアコーデック315 A -Mおよびソフトウェアコーデック320A-Xを、ソフトウェアアプリケーション、および/またはデータストリーム305A-Nの中で搬送される情報を使用し、表示し、かつ/または場合によっては提供するハードウェアとインターフェースをとる。オペレーティングシステム330および/またはソフトウェアアプリケーションは、ディスプレイ335に、データストリーム305A-Nからのビデオデータを同時に表示するように命令する。
図4は、ビデオストリーム情報400の例示的な表である。ビデオストリーム情報400の表は、受信されたデータストリームのそれぞれに対する個々の負荷係数(m_codecLoad)405、ならびに現在割り当てられているコーデックタイプ410、解像度の行415、解像度の列420などの他の情報、ならびにビットストリームヘッダ情報、シーケンスパラメータセット(SPS)、およびピクチャパラメータセット(PPS)などの他のパラメータ425を含む。ビデオストリーム情報400の表は、最高の負荷係数405から最低の負荷係数405まで記憶される。
図5は、コーデック500を動的に割り当てるための例示的な方法のフローチャートを示す。
ステップ505で、コーデックを動的に割り当てるための方法500が、ビデオデータストリームを受信すると開始する。
ステップ510で、表400を参照すると、表インデックス「i」が1に設定される。
ステップ515で、第1の決定がなされる。「i」がハードウェアコーデックの番号以下でなければ、方法を終了させるステップ520が実行される。「i」がハードウェアコーデックの番号以下であれば、ステップ525が実行される。
ステップ525で、第2の決定がなされる。表エントリ「i」に対応するデータストリームがハードウェアコーデックを割り当てられているならば、方法はステップ530に進み、そうでなければステップ535が実行される。
ステップ530で、1の値が表エントリ番号「i」に加算され、ステップ515が繰り返される。
ステップ535で、第3の決定がなされる。ハードウェアコーデックが利用できないならば方法はステップ540に進み、そうでなければステップ550が実行される。
ステップ540で、表エントリ番号「K」は、最低のコーデック負荷係数を有するデータストリームを表し、割り当てられたハードウェアコーデックが識別される。
ステップ545で、ソフトウェアコーデックが生成されてデータストリーム「K」に割り当てられ、データストリーム「K」はハードウェアコーデックの使用を停止する。次いで、方法はステップ550へ進む。
ステップ550で、利用可能なハードウェアコーデックがデータストリーム「i」に割り当てられる。次いで、方法はステップ530を繰り返す。図5の方法が、動的割当てコーデックのための唯一の方法であるとは限らない。
図6は、コーデック600を動的に割り当てるための別の例示的な方法のフローチャートを示す。
ステップ605で、コーデック600を動的に割り当てるための方法が、ビデオデータストリームを受信すると開始する。
ステップ610で、コーデック負荷係数(m_codecLoad)が、受信されたビデオデータストリームに対して計算される。
ステップ615で、決定がなされる。ハードウェアコーデックが利用可能であるならば、方法はステップ620に進み、そこで、受信されたビデオデータストリームがハードウェアコーデックに割り当てられる。そうでない場合、方法は、ステップ625に進む。
ステップ625で、決定がなされる。受信されたビデオデータストリームが、前に入力されたデータストリームを含めて、すべての入力されたデータストリームの中で最低の負荷係数を有するならば、方法はステップ630に進み、そこで、受信されたビデオデータストリームは、ソフトウェアコーデックに割り当てられる。受信されたビデオデータストリームが、前に入力されたデータストリームを含めて、すべての入力されたビデオのうちで最低のコーデック負荷係数を持たないならば、方法はステップ640に進む。
ステップ640で、受信されたビデオデータストリームが、ハードウェアコーデックに割り当てられる。受信されたビデオデータストリームが、前に割り当てられたビデオデータストリームより高いコーデック負荷係数を有するならば、ハードウェアコーデックに前に割り当てられた異なるビデオデータストリームは、ソフトウェアコーデックに割り当てられ得る。
図7は、コーデック700を動的に割り当てるための例示的な方法のフローチャートを示す。
ステップ705で、複数のデータストリームが受信される。
ステップ710で、個々のコーデック負荷係数(m_codecLoad)が、複数のデータストリームの中の各データストリームについて決定される。コーデック負荷係数は、コーデックパラメータ、システム電力状態、電池エネルギーレベル、および/または推定されるコーデック電力消費に基づくことができる。コーデック負荷係数はまた、データストリームの解像度、ディスプレイ画面上の鮮明度、再生/休止/停止状態、エントロピー符号化タイプ、ならびにビデオプロファイルおよびレベル値に基づくことができる。コーデック負荷係数を決定する1つの式は、
m_codecLoad=((ビデオ幅*ビデオ高さ)>>14)*Visible on display*Playing
ここで、「Visible on display」は、個々のビデオのいずれかがディスプレイ画面上で可視の場合に論理1に設定され、そうでない場合に論理0に設定される。「Playing」は、個々のビデオが再生中であれば論理1に設定され、そうでなければ論理0に設定される。
ステップ715で、データストリームは、個々の最高のコーデック負荷係数から始めて個々のコーデック負荷係数による順番で、ハードウェアコーデックが実質的に最大容量にロードされるまで、ハードウェアコーデックに割り当てられる。割り当てるステップは、データストリームフレームの開始時点、および/またはデータストリームが中途にある間に発生し得る。
ステップ720で、ハードウェアコーデックが、実質的に最大容量にロードされているならば、残りのデータストリームは、ソフトウェアコーデックに割り当てられる。
ステップ725で、データストリーム負荷係数が、将来使用するために、随意に保存される。
図8は、動的ビデオスイッチング方法の例示的なタイムライン800を示す。タイムライン800は、比較的高いコーデック負荷係数を有する第2のビデオデータストリームが後で受信されると、低いコーデック負荷係数を有する第1のビデオデータストリームが、どのようにハードウェアコーデックからソフトウェアコーデックに再割当てされるかを示す。タイムライン800で説明される方法のステップは、任意の動作順序で実行されてよい。
時刻1、805において、H.264を符号化している第1のビデオデータストリーム810が受信される。個々のコーデック負荷係数(m_codecLoad)が、第1のビデオデータストリーム810に対して決定される。第1のビデオデータストリーム810は、ハードウェアコーデックに割り当てられ、第1のバッファ815にバッファリングされ、復号するステップが開始する。
時刻2、820において、H.264を符号化している第2のビデオデータストリーム825が受信される。個々のコーデック負荷係数(m_codecLoad)が、第2のビデオデータストリーム825に対して決定される。この例では、コーデック負荷係数は、第1のビデオデータストリーム810に対するよりも、第2のビデオデータストリーム825に対する方が高い。ソフトウェアコーデックの一例が、第2のビデオデータストリーム825に対して生成される。第2のビデオデータストリーム825は、ソフトウェアコーデックに割り当てられ、第2のバッファ830にバッファリングされる。
時刻3、835において、第1のビデオデータストリーム810および第2のビデオデータストリーム825に対するコーデック負荷係数の相対的な値に基づいて、第1のビデオデータストリーム810がソフトウェアコーデックに割り当てられ、第2のビデオデータストリーム825がハードウェアコーデックに再割当てされる。再割当ては、自動であってよく、ハードウェア層で実行されてもよく、エンドユーザによるいかなるアクションも必要としない。時刻3、835において、またはその後、ソフトウェアコーデックの一例が、第1のビデオデータストリーム810に対して生成され、第1のビデオデータストリームのバッファリングされたバージョン815がソフトウェアコーデックに入力され、第1のビデオデータストリーム810が復号される。第1のビデオデータストリーム810のソフトウェア復号が起動する時点は、第1のビデオデータストリーム810からのキーフレームの起動と同時であってよい。第1のビデオデータストリーム810はまた、ハードウェアコーデックの使用を停止する。加えて、時刻3、835において、またはその後、第2のビデオデータストリーム825が、第2のビデオデータストリーム825の個々のソフトウェアコーデックの使用を停止し、ハードウェアコーデックを使用して、第2のバッファからの第2のビデオデータストリーム825のバッファリングされたバージョンを復号するステップを起動する。第2のビデオデータストリーム825を復号するステップが開始する時点は、第2のビデオデータストリーム825からのキーフレームの開始と同時であってよい。時刻3と、第2のビデオデータストリーム825のバッファリングされたバージョンを復号するステップの開始との間には、時間遅延(Dt)が存在する。一例では、Dtは、第1のビデオデータストリーム810および第2のビデオデータストリーム825の閲覧者が感知できない程度に短い。追加の例では、スイッチング時に、短い休止または復号されたビデオの破損が存在する。
時刻4、840において、第1のビデオデータストリーム810が終了し、第1のビデオデータストリーム810の個々のソフトウェアコーデックの例が停止する。時刻5、845において、第2のビデオデータストリーム825が終了し、ハードウェアコーデックの第2のビデオデータストリーム825の使用が停止する。
動的割当て方法は、符号化と復号の処理の両方に適用可能である。図9は、動的ビデオスイッチングのための方法を説明する、例示的な動的ビデオスイッチングアルゴリズム900の擬似コードリスティングである。
情報および信号は、多種多様な技術および技法のいずれかを使用して表し得ることを当業者は諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示した実施形態と関連して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。
したがって、本発明の実施形態は、動的ビデオスイッチングのための方法を具現化するコンピュータ可読媒体を含み得る。したがって、本発明は図示の例に限定されず、本明細書で説明した機能を実行するためのいかなる手段も、本発明の実施形態中に含まれる。
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行えることに留意されたい。本明細書で説明した本発明の実施形態による方法クレームの機能、ステップおよび/またはアクションは、特定の順序で実行されなくてもよい。さらに、本発明の要素は、単数形で説明または請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
100 従来の割当てモデル
200 通信システム
220 遠隔ユニット
225A 本開示の実施形態
225B 本開示の実施形態
225C 本開示の実施形態
230 遠隔ユニット
240 基地局
250 遠隔ユニット
280 順方向リンク信号
290 逆方向リンク信号
300 動的ビデオスイッチングデバイス
305A データストリーム
305B データストリーム
305N データストリーム
310 プロセッサ
315A ハードウェアコーデック
315M ハードウェアコーデック
320A ソフトウェアコーデック
320X ソフトウェアコーデック
325 バッファ
330 オペレーティングシステム
335 ディスプレイ
400 ビデオストリーム情報
405 負荷係数
410 現在割り当てられているコーデックタイプ
415 解像度の行
420 解像度の列
425 パラメータ
800 タイムライン
805 時刻1
810 第1のビデオデータストリーム
815 第1のバッファ
820 時刻2
825 第2のビデオデータストリーム
830 第2のバッファ
835 時刻3
840 時刻4
845 時刻5

Claims (8)

  1. 第1の複数のデータストリームを受信するステップと、
    前記第1の複数のデータストリームのうちの各データストリームについて、個々のコーデック負荷係数を決定するステップと、
    最高の個々のコーデック負荷係数から始める前記個々のコーデック負荷係数による順番で、前記第1の複数のデータストリームのうちの前記データストリームをハードウェアコーデックに、前記ハードウェアコーデックが実質的に最大容量までロードされるまで割り当てるステップと、
    前記ハードウェアコーデックが実質的に最大容量までロードされると、前記第1の複数のデータストリームのうちの残りのデータストリームをソフトウェアコーデックに割り当てるステップと、
    第2の複数のデータストリームを受信するステップと、
    前記第2の複数のデータストリームのうちの各データストリームについて、個々のコーデック負荷係数を決定するステップと、
    前記第1の複数のデータストリームのうちのデータストリームを前記ハードウェアコーデックから前記ソフトウェアコーデックに再割当てするステップであって、前記第2の複数のデータストリームのうちのデータストリームの個々のコーデック負荷係数と比較した前記第1の複数のデータストリームのうちの前記再割当てされたデータストリームの個々のコーデック負荷係数に基づく、ステップと
    を含む、動的コーデック割振り方法。
  2. 前記第1の複数のデータストリームのうちの第2のデータストリームを前記ソフトウェアコーデックから前記ハードウェアコーデックに再割当てするステップであって、前記第2の複数のデータストリームのうちのデータストリームの個々のコーデック負荷係数と比較した前記第1の複数のデータストリームのうちの前記第2のデータストリームの個々のコーデック負荷係数に基づく、ステップをさらに含む、請求項1に記載の方法。
  3. 第1の複数のデータストリームを受信するための手段と、
    前記第1の複数のデータストリームのうちの各データストリームについて、個々のコーデック負荷係数を決定するための手段と、
    最高の個々のコーデック負荷係数から始める前記個々のコーデック負荷係数による順番で、前記第1の複数のデータストリームのうちの前記データストリームをハードウェアコーデックに、前記ハードウェアコーデックが実質的に最大容量までロードされるまで割り当てるための手段と、
    前記ハードウェアコーデックが実質的に最大容量までロードされると、前記第1の複数のデータストリームのうちの残りのデータストリームをソフトウェアコーデックに割り当てるための手段と、
    第2の複数のデータストリームを受信するための手段と、
    前記第2の複数のデータストリームのうちの各データストリームについて、個々のコーデック負荷係数を決定するための手段と、
    前記第1の複数のデータストリームのうちのデータストリームを前記ハードウェアコーデックから前記ソフトウェアコーデックに再割当てするための手段であって、前記第2の複数のデータストリームのうちのデータストリームの個々のコーデック負荷係数と比較した前記第1の複数のデータストリームのうちの前記再割当てされたデータストリームの個々のコーデック負荷係数に基づく、手段と
    を含む、動的コーデック割振り装置。
  4. 前記第1の複数のデータストリームのうちの第2のデータストリームを前記ソフトウェアコーデックから前記ハードウェアコーデックに再割当てするための手段であって、前記第2の複数のデータストリームのうちのデータストリームの個々のコーデック負荷係数と比較した前記第1の複数のデータストリームのうちの前記第2のデータストリームの個々のコーデック負荷係数に基づく、手段をさらに含む、請求項3に記載の動的コーデック割振り装置。
  5. プロセッサに実行されると、前記プロセッサに、
    第1の複数のデータストリームを受信するステップと、
    前記第1の複数のデータストリームのうちの各データストリームについて、個々のコーデック負荷係数を決定するステップと、
    最高の個々のコーデック負荷係数から始める前記個々のコーデック負荷係数による順番で、前記第1の複数のデータストリームのうちの前記データストリームをハードウェアコーデックに、前記ハードウェアコーデックが実質的に最大容量までロードされるまで割り当てるステップと、
    前記ハードウェアコーデックが実質的に最大容量までロードされると、前記第1の複数のデータストリームのうちの残りのデータストリームをソフトウェアコーデックに割り当てるステップと、
    第2の複数のデータストリームを受信するステップと、
    前記第2の複数のデータストリームのうちの各データストリームについて、個々のコーデック負荷係数を決定するステップと、
    前記第1の複数のデータストリームのうちのデータストリームを前記ハードウェアコーデックから前記ソフトウェアコーデックに再割当てするステップであって、前記第2の複数のデータストリームのうちのデータストリームの個々のコーデック負荷係数と比較した前記第1の複数のデータストリームのうちの前記再割当てされたデータストリームの個々のコーデック負荷係数に基づく、ステップと
    を含む方法を実行させる命令を記録した、非一時的コンピュータ可読媒体。
  6. 前記方法は、前記第1の複数のデータストリームのうちの第2のデータストリームを前記ソフトウェアコーデックから前記ハードウェアコーデックに再割当てするステップであって、前記第2の複数のデータストリームのうちのデータストリームの個々のコーデック負荷係数と比較した前記第1の複数のデータストリームのうちの前記第2のデータストリームの個々のコーデック負荷係数に基づく、ステップをさらに含む、請求項5に記載の非一時的コンピュータ可読媒体。
  7. ハードウェアコーデックと、
    前記ハードウェアコーデックに接続されたプロセッサであって、
    第1の複数のデータストリームを受信し、
    前記第1の複数のデータストリームのうちの各データストリームについて、個々のコーデック負荷係数を決定し、
    最高の個々のコーデック負荷係数から始める前記個々のコーデック負荷係数による順番で、前記第1の複数のデータストリームのうちの前記データストリームを前記ハードウェアコーデックに、前記ハードウェアコーデックが実質的に最大容量までロードされるまで割り当て、
    前記ハードウェアコーデックが実質的に最大容量までロードされると、前記第1の複数のデータストリームのうちの残りのデータストリームをソフトウェアコーデックに割り当て、
    第2の複数のデータストリームを受信し、
    前記第2の複数のデータストリームのうちの各データストリームについて、個々のコーデック負荷係数を決定し、
    前記第1の複数のデータストリームのうちのデータストリームを前記ハードウェアコーデックから前記ソフトウェアコーデックに再割当てをすることであって、 前記第2の複数のデータストリームのうちのデータストリームの個々のコーデック負荷係数と比較した前記第1の複数のデータストリームのうちの前記再割当てされたデータストリームの個々のコーデック負荷係数に基づく、再割当てをする
    ように構成されたプロセッサと
    を備える、動的コーデック割振り装置。
  8. 前記プロセッサが、前記第1の複数のデータストリームのうちの第2のデータストリームを前記ソフトウェアコーデックから前記ハードウェアコーデックに再割当てをすることであって、前記第2の複数のデータストリームのうちのデータストリームの個々のコーデック負荷係数と比較した前記第1の複数のデータストリームのうちの前記第2のデータストリームの個々のコーデック負荷係数に基づく、再割当てをするように構成される、請求項7に記載の装置。
JP2015113128A 2011-01-19 2015-06-03 動的ビデオスイッチング Expired - Fee Related JP6335845B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/009,083 US20120183040A1 (en) 2011-01-19 2011-01-19 Dynamic Video Switching
US13/009,083 2011-01-19

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013550574A Division JP5788995B2 (ja) 2011-01-19 2012-01-19 動的ビデオスイッチング

Publications (2)

Publication Number Publication Date
JP2015181289A true JP2015181289A (ja) 2015-10-15
JP6335845B2 JP6335845B2 (ja) 2018-05-30

Family

ID=45563562

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013550574A Expired - Fee Related JP5788995B2 (ja) 2011-01-19 2012-01-19 動的ビデオスイッチング
JP2015113128A Expired - Fee Related JP6335845B2 (ja) 2011-01-19 2015-06-03 動的ビデオスイッチング

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013550574A Expired - Fee Related JP5788995B2 (ja) 2011-01-19 2012-01-19 動的ビデオスイッチング

Country Status (6)

Country Link
US (1) US20120183040A1 (ja)
EP (1) EP2666305A1 (ja)
JP (2) JP5788995B2 (ja)
KR (2) KR20150091534A (ja)
CN (1) CN103339959B (ja)
WO (1) WO2012100032A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2463329B (en) 2008-09-10 2013-02-20 Echostar Advanced Technologies L L C Set-top box emulation system
GB2494411B (en) * 2011-09-06 2017-12-06 Skype Signal processing
JP6160066B2 (ja) * 2012-11-29 2017-07-12 三菱電機株式会社 映像表示システム及び映像表示装置
CN104661059A (zh) * 2013-11-20 2015-05-27 中兴通讯股份有限公司 一种图片播放的方法、装置及机顶盒
EP3172900A4 (en) * 2014-07-24 2018-02-21 University of Central Florida Research Foundation, Inc. Computer network providing redundant data traffic control features and related methods
CN104837020B (zh) * 2014-07-25 2018-09-18 腾讯科技(北京)有限公司 播放视频的方法和装置
CN105992055B (zh) * 2015-01-29 2019-12-10 腾讯科技(深圳)有限公司 一种视频解码的方法及装置
CN105992056B (zh) * 2015-01-30 2019-10-22 腾讯科技(深圳)有限公司 一种视频解码的方法和装置
CN104980797B (zh) * 2015-05-27 2019-03-15 腾讯科技(深圳)有限公司 视频解码方法及客户端
CN105721921B (zh) * 2016-01-29 2019-07-12 四川长虹电器股份有限公司 一种多窗口视频解码器的自适应选择方法
CN106534922A (zh) * 2016-11-29 2017-03-22 努比亚技术有限公司 视频解码装置及方法
CN107786890A (zh) * 2017-10-30 2018-03-09 深圳Tcl数字技术有限公司 视频切换方法、装置及存储介质
CN109936744B (zh) * 2017-12-19 2020-08-18 腾讯科技(深圳)有限公司 视频编码处理方法、装置及具有视频编码功能的应用
CN109640179B (zh) * 2018-11-27 2020-09-22 Oppo广东移动通信有限公司 视频解码控制方法、装置以及电子设备
KR20220039114A (ko) * 2020-09-21 2022-03-29 삼성전자주식회사 전자 장치 및 그 동작 방법
CN113075993B (zh) * 2021-04-09 2024-02-13 杭州华橙软件技术有限公司 视频显示方法、装置和存储介质及电子设备
CN115209223A (zh) * 2022-05-12 2022-10-18 广州方硅信息技术有限公司 视频编/解码的控制处理方法、装置、终端以及存储介质
CN116055715B (zh) * 2022-05-30 2023-10-20 荣耀终端有限公司 编解码器的调度方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080162713A1 (en) * 2006-12-27 2008-07-03 Microsoft Corporation Media stream slicing and processing load allocation for multi-user media systems
JP2008310270A (ja) * 2007-06-18 2008-12-25 Panasonic Corp 暗号装置及び暗号操作方法
JP2010244316A (ja) * 2009-04-07 2010-10-28 Sony Corp 符号化装置および方法、並びに、復号装置および方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001027986A (ja) * 1999-05-10 2001-01-30 Canon Inc データ処理装置及び処理部選択方法
US20050094729A1 (en) * 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
JP2008067203A (ja) * 2006-09-08 2008-03-21 Toshiba Corp 映像合成装置、方法およびプログラム
JP2008139977A (ja) * 2006-11-30 2008-06-19 Matsushita Electric Ind Co Ltd ネットワークシステム
US10382514B2 (en) * 2007-03-20 2019-08-13 Apple Inc. Presentation of media in an application
US8041132B2 (en) * 2008-06-27 2011-10-18 Freescale Semiconductor, Inc. System and method for load balancing a video signal in a multi-core processor
JP4504443B2 (ja) * 2008-08-12 2010-07-14 株式会社東芝 再生装置および再生装置の制御方法
GB2463329B (en) * 2008-09-10 2013-02-20 Echostar Advanced Technologies L L C Set-top box emulation system
US7657337B1 (en) * 2009-04-29 2010-02-02 Lemi Technology, Llc Skip feature for a broadcast or multicast media station
JP5521403B2 (ja) * 2009-06-23 2014-06-11 ソニー株式会社 情報処理装置とリソース管理方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080162713A1 (en) * 2006-12-27 2008-07-03 Microsoft Corporation Media stream slicing and processing load allocation for multi-user media systems
JP2008310270A (ja) * 2007-06-18 2008-12-25 Panasonic Corp 暗号装置及び暗号操作方法
JP2010244316A (ja) * 2009-04-07 2010-10-28 Sony Corp 符号化装置および方法、並びに、復号装置および方法

Also Published As

Publication number Publication date
KR101591437B1 (ko) 2016-02-03
US20120183040A1 (en) 2012-07-19
JP5788995B2 (ja) 2015-10-07
KR20130114734A (ko) 2013-10-17
CN103339959A (zh) 2013-10-02
JP6335845B2 (ja) 2018-05-30
WO2012100032A1 (en) 2012-07-26
KR20150091534A (ko) 2015-08-11
EP2666305A1 (en) 2013-11-27
JP2014509118A (ja) 2014-04-10
CN103339959B (zh) 2018-03-09

Similar Documents

Publication Publication Date Title
JP6335845B2 (ja) 動的ビデオスイッチング
JP4519082B2 (ja) 情報処理方法、動画サムネイル表示方法、復号化装置、および情報処理装置
KR102006419B1 (ko) 미디어 하드웨어 자원 할당
US7693722B2 (en) Simultaneous audio decoding apparatus for plural compressed audio streams
CN101616318A (zh) 用于渲染或译码已压缩多媒体数据的方法及相关的装置
KR20160061613A (ko) 코덱과 이를 포함하는 시스템 온 칩, 및 상기 시스템 온 칩을 포함하는 데이터 처리 시스템
US10349072B2 (en) Image processing apparatus and control method for the same
WO2014209366A1 (en) Frame division into subframes
US20120183234A1 (en) Methods for parallelizing fixed-length bitstream codecs
KR20100069220A (ko) 복수의 비디오를 처리하는 비디오 처리장치, 이에 적용되는비디오 처리방법, 기록매체 및 디스플레이 장치
TWI565303B (zh) 影像處理系統及影像處理方法
KR20110052427A (ko) 구문 요소에 대하여 적응적으로 코드워드를 할당하는 영상 부호화/복호화 방법 및 그 장치
JP6724581B2 (ja) 画像符号化装置、方法、及びプログラム
TW201345267A (zh) 用以促進影音串流之具成本效益及低延遲編碼之機制
JP2012239098A (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法、動画像復号化プログラム、録画装置、および再生装置
WO2016036285A1 (en) Video stream encoding using a central processing unit and a graphical processing unit
JP2005229423A (ja) 逆直交変換装置
TW201442489A (zh) 編碼單元位元數限制
JP2009033227A (ja) 動画像復号化装置、動画像処理システム装置および動画像復号化方法
JP2010141477A (ja) 画像処理装置、画像処理方法およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180501

R150 Certificate of patent or registration of utility model

Ref document number: 6335845

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees