JP2019114926A - Video processing apparatus, video processing method, and program - Google Patents

Video processing apparatus, video processing method, and program Download PDF

Info

Publication number
JP2019114926A
JP2019114926A JP2017246967A JP2017246967A JP2019114926A JP 2019114926 A JP2019114926 A JP 2019114926A JP 2017246967 A JP2017246967 A JP 2017246967A JP 2017246967 A JP2017246967 A JP 2017246967A JP 2019114926 A JP2019114926 A JP 2019114926A
Authority
JP
Japan
Prior art keywords
segment
frame
video
video frame
generated
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
JP2017246967A
Other languages
Japanese (ja)
Inventor
友洋 坂井
Tomohiro Sakai
友洋 坂井
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2017246967A priority Critical patent/JP2019114926A/en
Publication of JP2019114926A publication Critical patent/JP2019114926A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

To allow for generation of a segment, reproducible by a general reproducer, on segment time while suppressing data amount.SOLUTION: A video processing apparatus (101) has processing means (303) for generating a video frame encoded by in-frame coding or interframe coding, and generation means (305) for generating segments by dividing a video stream including at least one video frame thus generated with a predetermined segment time. When the video frame is not generated, the generation means (305) determines whether or not a dummy frame is added to the segment according to which video frame in the segment has not been generated, and generates the segment in the predetermined segment period by changing the display time of video frames other than the video frame not generated.SELECTED DRAWING: Figure 3

Description

本発明は、映像データを複数ファイル化する技術に関する。   The present invention relates to a technology for converting video data into a plurality of files.

近年、映像ストリームをセグメント時間(segment duration)単位のセグメントに分割して配信を行う、アダプティブストリーミング技術を用いたシステムが普及している。アダプティブストリーミング技術の代表的な例としては、下記の第1の技術と第2の技術が知られている。第1の技術は、MPEG(Moving Picture Experts Group)によって規格化されたDASH(Dynamic Adaptive Streaming over HTTP)である。第2の技術は、HLS(HTTP Live Streaming)である。   In recent years, systems using adaptive streaming technology for distributing a video stream into segments in units of segment durations have become widespread. The following first and second techniques are known as representative examples of the adaptive streaming technique. The first technology is Dynamic Adaptive Streaming over HTTP (DASH) standardized by the Moving Picture Experts Group (MPEG). The second technology is HLS (HTTP Live Streaming).

DASH配信の場合、先ずクライアント装置は、配信サーバが配信可能なセグメントの系列の情報であるRepresentationが記載されたMPD(Media Presentation Description)ファイルを取得する。次にクライアント装置は、MPDに記載されたRepresentationの中から、クライアント装置の表示性能や通信状況に応じた適切なRepresentationを選択する。そして、クライアント装置は、MPDの記載に従って、MPEG2−TS又はMP4の映像フォーマットをセグメント単位でダウンロードして再生する。   In the case of DASH delivery, the client apparatus first acquires an MPD (Media Presentation Description) file in which Representation, which is information on a series of segments that can be delivered by the delivery server, is described. Next, the client device selects, from among Representations described in the MPD, an appropriate Representation according to the display performance and communication status of the client device. Then, the client device downloads and reproduces the MPEG2-TS or MP4 video format in units of segments according to the description of the MPD.

一般にMPD内の一つのRepresentationに対し特定のセグメント時間が記載される。クライアント装置は、そのRepresentationのセグメント時間からセグメントの生成が完了するタイミングを予測し、各セグメントのダウンロードを要求する。ここで、例えばネットワークカメラのように、撮像装置と配信サーバを備える構成を用いてDASH配信をライブ形式(DASHライブ配信)で行う際、処理負荷の増大等によりセグメントが含むべき映像フレームが一部生成されない(欠落する)ことがある。この場合、映像フレームが欠落することで、セグメントを生成できなくなる場合が生じ得る。   Generally, a specific segment time is described for one Representation in the MPD. The client device predicts the completion of generation of segments from the segment time of the Representation, and requests download of each segment. Here, when DASH distribution is performed in a live format (DASH live distribution) using a configuration including an imaging device and a distribution server, for example, as in a network camera, part of video frames that the segment should include due to increased processing load etc. It may not be generated (missed). In this case, missing video frames may make it impossible to generate segments.

一方、特許文献1には、映像フレームが欠落したことを検知した場合に撮像装置が独立フレームを生成する方法が開示されている。また、特許文献2には、欠落したセグメントの映像フレームを予め用意したデフォルトデータで置換する方法が開示されている。さらに特許文献3には、クライアント装置が、基準の時刻に対し映像フレームの再生が遅れている場合には映像フレームの再生をスキップし、進んでいる場合には映像フレームの再生を繰り返す方法が開示されている。   On the other hand, Patent Document 1 discloses a method in which an imaging apparatus generates an independent frame when it is detected that a video frame is missing. In addition, Patent Document 2 discloses a method of replacing a video frame of a missing segment with default data prepared in advance. Further, Patent Document 3 discloses a method in which the client device skips reproduction of a video frame when reproduction of a video frame is delayed with respect to a reference time, and repeats reproduction of a video frame when it is in progress. It is done.

特開2013−157679号公報JP, 2013-157679, A 特表2015−530784号公報JP-A-2015-530784 特開2014−127762号公報JP, 2014-127762, A

しかし、上述の特許文献1〜特許文献3に開示された従来技術では、セグメントの生成が完了していないタイミングで、クライアント装置が各セグメントのダウンロードを要求することとなってしまう。例えば特許文献1の技術の場合、映像フレームが欠落してから独立フレームが生成されるまでの時間分だけ、セグメントの生成完了が遅延する。このため、クライアント装置は、当該セグメントの生成完了までダウンロード要求を繰り返し行い、その都度、エラー通知を受信することになる。また、特許文献2の技術の場合、映像フレームが欠落した分だけデフォルトデータを置換するため、その分、セグメントのデータ量が増大することになる。また、特許文献3の技術の場合、クライアント装置が基準の時刻に応じてフレームの再生時間を調整するため、セグメントを受信後、フレームの再生時間を再設定する特別な機能をクライアント装置に組み込む必要がある。   However, in the prior art disclosed in Patent Document 1 to Patent Document 3 described above, the client device requests download of each segment at a timing when the generation of the segment is not completed. For example, in the case of the technique of Patent Document 1, the completion of generation of a segment is delayed by the time from the missing video frame to the generation of an independent frame. Therefore, the client device repeatedly makes download requests until the generation of the segment is completed, and receives an error notification each time. Further, in the case of the technique of Patent Document 2, since the default data is replaced by the amount of missing video frame, the amount of data of the segment increases accordingly. Further, in the case of the technique of Patent Document 3, it is necessary to incorporate a special function of resetting the frame reproduction time after receiving the segment, in order to adjust the frame reproduction time according to the reference time. There is.

そこで、本発明は、一般的な再生装置によって再生可能なセグメントを、データ量を抑えながら、セグメント時間通りに生成可能にすることを目的とする。   Therefore, an object of the present invention is to make it possible to generate a segment reproducible by a general reproduction device according to the segment time while suppressing the amount of data.

本発明の映像処理装置は、フレーム内符号化処理またはフレーム間符号化処理によって符号化した映像フレームを生成する処理手段と、前記処理手段で生成された少なくとも一つの映像フレームを含む映像ストリームを所定のセグメント時間で分割したセグメントを生成する生成手段と、を有し、前記生成手段は、前記処理手段で符号化が行われず映像フレームが生成されなかった場合、前記セグメントの中のどの映像フレームが生成されなかったかに応じて、ダミーフレームを前記セグメントに付加するかどうかを決定し、前記生成されなかった映像フレーム以外の映像フレームの表示時間を変更することにより前記所定のセグメント時間の前記セグメントを生成することを特徴とする。   A video processing apparatus according to the present invention includes processing means for generating a video frame encoded by intraframe coding processing or interframe coding processing, and a video stream including at least one video frame generated by the processing means. And generating means for generating a segment divided by the segment time, and the generation means generates an image frame when the encoding means is not performed by the processing means and an image frame is not generated. Depending on whether it has not been generated, it is determined whether a dummy frame is added to the segment, and the display time of the predetermined segment time is changed by changing the display time of the video frame other than the generated video frame. It is characterized by generating.

本発明によれば、一般的な再生装置によって再生可能なセグメントを、データ量を抑えながら、セグメント時間通りに生成可能となる。   According to the present invention, a segment that can be played back by a general playback device can be generated on a segment time basis while reducing the amount of data.

第1実施形態の映像処理システムの構成例を示す図である。It is a figure which shows the structural example of the video processing system of 1st Embodiment. 第1実施形態の映像処理装置のハードウェア構成例を示す図である。It is a figure showing the example of hardware constitutions of the image processing device of a 1st embodiment. 第1実施形態の映像処理装置の機能構成例を示す図である。It is a figure which shows the function structural example of the video processing apparatus of 1st Embodiment. 第1実施形態の映像フレームとセグメントの関係を示す図である。It is a figure which shows the relationship between the imaging | video flame | frame of 1st Embodiment, and a segment. 第1実施形態のセグメントデータの内部構成を示す図である。It is a figure which shows the internal structure of the segment data of 1st Embodiment. ダミーフレームの構成の一例を示す図である。It is a figure which shows an example of a structure of a dummy frame. DASHライブ配信に用いるMPDの一例を示す図である。It is a figure which shows an example of MPD used for DASH live delivery. 第1実施形態の欠落期間検出部の処理のフローチャートである。It is a flowchart of a process of the missing period detection part of 1st Embodiment. 第1実施形態のセグメント生成部の処理のフローチャートである。It is a flowchart of a process of the segment generation part of 1st Embodiment. 第1実施形態のセグメント生成処理のフローチャートである。It is a flowchart of the segment production | generation process of 1st Embodiment. 第2実施形態のセグメント生成部の処理のフローチャートである。It is a flowchart of a process of the segment generation part of 2nd Embodiment. 第2実施形態の欠落期間検出部の処理のフローチャートである。It is a flowchart of a process of the missing period detection part of 2nd Embodiment.

以下、添付図面を参照して本発明の実施形態について説明する。
<第1実施形態>
図1は、本発明の第1実施形態に係る映像処理システムの構成例を示す図である。
本実施形態の映像処理システムは、映像処理装置101と、クライアント装置102と、ネットワーク103とを有する。
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
First Embodiment
FIG. 1 is a view showing an example of the arrangement of a video processing system according to the first embodiment of the present invention.
The video processing system of this embodiment includes a video processing apparatus 101, a client apparatus 102, and a network 103.

ネットワーク103は、LAN等のIPネットワークである。映像処理装置101とクライアント装置102は、ネットワーク103を介して、相互に接続され、相互に通信可能となされている。ネットワーク103には、不図示の配信サーバ等も接続されている。ネットワーク103は、Ethernet(登録商標)等の通信規格を満足する複数のルータ、スイッチ、ケーブル等を有する。また、ネットワーク103は、インターネットから無線LAN(Local Area Network)にまで適用可能である。ネットワーク103は、映像処理装置101及びクライアント装置102間の通信が行えるものであれば、その通信規格、規模、構成が限定されない。   The network 103 is an IP network such as a LAN. The video processing apparatus 101 and the client apparatus 102 are mutually connected via the network 103, and can communicate with each other. The network 103 is also connected with a distribution server (not shown). The network 103 includes a plurality of routers, switches, cables, and the like that satisfy communication standards such as Ethernet (registered trademark). Also, the network 103 is applicable from the Internet to a wireless LAN (Local Area Network). The communication standard, the scale, and the configuration of the network 103 are not limited as long as communication between the video processing apparatus 101 and the client apparatus 102 can be performed.

映像処理装置101は、例えばネットワークカメラである。クライアント装置102は、映像処理装置101の外部機器である。映像処理装置101は、撮影した映像を、ネットワーク103を介して、配信サーバに送信したり、クライアント装置102に配信したりすることが可能となされている。本実施形態では、配信サーバを省略しており、映像処理装置101は、撮影した映像を、ネットワーク103を介してクライアント装置102に配信する例を挙げて説明する。クライアント装置102は、映像処理装置101に対して、各種リクエストコマンドを送信する。映像処理装置101は、それらのコマンドに対するレスポンスを、クライアント装置102に送信する。なお、図1では、説明の簡略化のために、映像処理装置101は1台としているが、2台以上であってもよい。また、クライアント装置102以外にも、映像処理装置101に接続するクライアント装置があってもよい。   The video processing apparatus 101 is, for example, a network camera. The client device 102 is an external device of the video processing device 101. The video processing apparatus 101 can transmit the photographed video to the distribution server via the network 103, and can distribute the video to the client apparatus 102. In the present embodiment, the distribution server is omitted, and the video processing apparatus 101 will be described by way of an example in which the photographed video is distributed to the client apparatus 102 via the network 103. The client device 102 transmits various request commands to the video processing device 101. The video processing apparatus 101 transmits a response to those commands to the client apparatus 102. Although one image processing apparatus 101 is shown in FIG. 1 for simplification of the description, two or more image processing apparatuses may be provided. In addition to the client device 102, there may be a client device connected to the video processing device 101.

図2は、本実施形態の映像処理装置101のハードウェア構成例を示す図である。
映像処理装置101は、CPU201、一次記憶装置202、二次記憶装置203、画像キャプチャI/F206、ネットワークI/F207を有し、それらが内部バス204を介して相互に接続されている。また映像処理装置101は、撮像素子205をも有している。
FIG. 2 is a diagram showing an example of the hardware configuration of the video processing apparatus 101 according to the present embodiment.
The video processing apparatus 101 includes a CPU 201, a primary storage device 202, a secondary storage device 203, an image capture I / F 206, and a network I / F 207, which are interconnected via an internal bus 204. The video processing apparatus 101 also includes an imaging element 205.

二次記憶装置203は、例えばフラッシュメモリ、HDD、SDカード等を備えた不揮発性記憶装置であり、OSや各種プログラム及び各種データの永続的な記憶領域として使用され、また短期的な各種データの記憶領域としても使用される。一次記憶装置202は、RAM等の書き込み可能な高速の記憶装置であり、OSや各種プログラム及び各種データがロードされ、またOSや各種プログラムの作業領域として使用される。CPU201は、二次記憶装置203に記憶されているプログラムを一次記憶装置202に展開して実行することにより、映像処理装置101における各種処理や制御を実行する。   The secondary storage device 203 is a non-volatile storage device provided with, for example, a flash memory, an HDD, an SD card, etc., and is used as a permanent storage area of the OS, various programs, and various data. It is also used as a storage area. The primary storage device 202 is a writable high-speed storage device such as a RAM, etc., loaded with an OS, various programs and various data, and used as a work area for the OS and various programs. The CPU 201 executes various processes and controls in the video processing apparatus 101 by expanding the program stored in the secondary storage device 203 to the primary storage device 202 and executing the program.

撮像素子205は、CCDセンサやCMOSセンサであり、所定の時間間隔ごとに光電変換を行って動画の映像データを生成する。画像キャプチャI/F206は、撮像素子205に接続され、撮像素子205が所定の時間間隔ごとに取得した映像データを、一次記憶装置202に動画の映像フレームとして転送する。   The image sensor 205 is a CCD sensor or a CMOS sensor, and performs photoelectric conversion at predetermined time intervals to generate video data of a moving image. The image capture I / F 206 is connected to the imaging device 205, and transfers the video data acquired by the imaging device 205 at predetermined time intervals to the primary storage device 202 as a video frame of a moving image.

ネットワークI/F207は、ネットワーク103に接続するためのインタフェースである。映像処理装置101は、ネットワークI/F207により、ネットワーク103を介してクライアント装置102と通信可能であり、例えばクライアント装置102から映像配信の要求等がなされた場合にクライアント装置102との間の通信を担う。   The network I / F 207 is an interface for connecting to the network 103. The video processing apparatus 101 can communicate with the client apparatus 102 via the network 103 via the network I / F 207. For example, when the client apparatus 102 makes a request for video delivery, communication with the client apparatus 102 is performed. Bear.

図3は、本実施形態に係る映像処理装置101の機能構成例を示す図である。
映像処理装置101は、一時記憶部301、撮像処理部302、符号化処理部303、欠落期間検出部304、セグメント生成部305及び配信部306を有する。
一時記憶部301は、一次記憶装置202に対応する。撮像処理部302、符号化処理部303、欠落期間検出部304、セグメント生成部305及び配信部306は、CPU201がプログラムを実行することにより機能する処理部である。
撮像処理部302は、撮像素子205により撮像された映像データを画像キャプチャI/F206経由で取得し、符号化処理部303に送信する。
FIG. 3 is a diagram showing an example of a functional configuration of the video processing apparatus 101 according to the present embodiment.
The video processing apparatus 101 includes a temporary storage unit 301, an imaging processing unit 302, an encoding processing unit 303, a missing period detection unit 304, a segment generation unit 305, and a distribution unit 306.
Temporary storage unit 301 corresponds to primary storage device 202. The imaging processing unit 302, the encoding processing unit 303, the missing period detection unit 304, the segment generation unit 305, and the distribution unit 306 are processing units that function when the CPU 201 executes a program.
The imaging processing unit 302 acquires video data captured by the imaging device 205 via the image capture I / F 206, and transmits the video data to the encoding processing unit 303.

符号化処理部303は、撮像処理部302からの映像データを受信し、予め指定された所定の符号化方式及びフレーム間予測符号化設定に従って符号化及び圧縮し、一定のフレーム周期で映像フレームを連続して生成、つまり動画の映像フレームを生成する。先ず符号化処理部303は、映像ストリームの開始要求を受け付けると、例えばSPS(Sequence Parameter Set)やPPS(Picture Parameter Set)などの映像再生に必要な映像メタ情報を生成する。また同時に、符号化処理部303は、セグメント生成部305に対し、映像メタ情報の生成通知を行う。次に、符号化処理部303は、各映像フレームを生成すると共に、セグメント生成部305に対し、映像フレームの生成通知を行う。本実施形態の場合、映像フレームの生成通知には、符号化された映像情報と、所定のフレーム周期ごとに所定の増分ずつ増加するフレーム番号と、映像フレームが後述する独立フレームなのか従属フレームなのかを表す識別情報とが含まれる。また、本実施形態において、フレーム番号は後述する映像フレームの欠落を判定するための情報としても使用され、識別情報は映像フレームが独立フレームなのか従属フレームなのか識別するための情報としても使用される。そして、符号化処理部303は、生成した映像メタ情報及び映像フレームを一時記憶部301に保存する。   The encoding processing unit 303 receives the video data from the imaging processing unit 302, performs encoding and compression according to a predetermined encoding scheme and inter-frame prediction encoding setting designated in advance, and performs video frame at a fixed frame cycle. Continuously generate, that is, generate video frames of moving images. First, when receiving the start request of the video stream, the encoding processing unit 303 generates video meta information necessary for video reproduction, such as SPS (Sequence Parameter Set) or PPS (Picture Parameter Set). At the same time, the encoding processing unit 303 notifies the segment generation unit 305 of generation of video meta information. Next, the encoding processing unit 303 generates each video frame, and notifies the segment generation unit 305 of generation of the video frame. In the case of the present embodiment, the generation notification of the video frame includes encoded video information, a frame number which is incremented by a predetermined increment every predetermined frame period, and whether the video frame is an independent frame or a dependent frame described later. And identification information representing Also, in the present embodiment, the frame number is also used as information for determining the loss of a video frame described later, and the identification information is also used as information for identifying whether the video frame is an independent frame or a dependent frame. Ru. Then, the encoding processing unit 303 stores the generated video meta information and the video frame in the temporary storage unit 301.

符号化処理部303は、映像フレームとして、独立フレーム又は従属フレームを生成する。独立フレームは、フレーム内符号化処理によって生成され、復号時に他の映像フレームの情報を必要としない映像フレームであり、いわゆるIフレームと呼ばれている。従属フレームは、フレーム間符号化処理によって生成され、他の映像フレームとの差分情報から構成される映像フレームであり、いわゆるPフレーム又はBフレームと呼ばれている。符号化処理部303に指定する符号化方式としては、例えばH.264/AVC又はH.265/HEVCを用いることができる。ただし、符号化方式はこれらに限らず、他の種々の符号化方式でもよく、動画の映像フレームを生成可能なものであればよい。また、符号化処理部303は、複数の符号化方式の中から符号化方式を選択して符号化を行ってもよい。符号化処理部303に指定するフレーム間予測符号化設定には、動画として連続して生成する映像フレームを独立フレーム又は従属フレームで構成する映像フレーム構成方式が含まれる。映像フレーム構成方式としては、例えば一定のGOP(Group Of Picuture)周期ごとに独立フレームを一つ生成し、GOP周期内のその他の映像フレームを従属フレームとして生成する方式を用いることができる。また、映像フレーム構成方式は、一定のGOP周期を用いず所定の条件を満たした場合に独立フレームを生成し、所定の条件を満たしていない場合に従属フレームを生成する方式であってもよい。なお、所定の条件を満たした場合とは、例えば従属フレームのデータサイズが所定の閾値より大きくなった場合等を挙げることができる。なお、映像フレーム構成方式はこれらの例に限られるものではない。   The encoding processing unit 303 generates an independent frame or a dependent frame as a video frame. The independent frame is a video frame generated by intraframe coding processing and requiring no information of another video frame at the time of decoding, and is called a so-called I frame. The dependent frame is a video frame which is generated by interframe coding processing and is composed of difference information with other video frames, and is called a so-called P frame or B frame. As an encoding method designated to the encoding processing unit 303, for example, H.264, H.264 / AVC or H.264. 265 / HEVC can be used. However, the encoding scheme is not limited to these, and may be other various encoding schemes as long as it can generate a video frame of a moving image. Also, the coding processing unit 303 may select a coding scheme from among a plurality of coding schemes to perform coding. The inter-frame predictive coding setting designated in the coding processing unit 303 includes a video frame configuration method in which video frames continuously generated as a moving image are configured by independent frames or dependent frames. As a video frame configuration method, for example, a method can be used in which one independent frame is generated for each constant GOP (Group Of Pictionure) cycle, and other video frames in the GOP cycle are generated as subordinate frames. Further, the video frame configuration method may be a method of generating an independent frame when a predetermined condition is satisfied without using a constant GOP cycle, and a dependent frame when the predetermined condition is not satisfied. The case where the predetermined condition is satisfied may include, for example, the case where the data size of the dependent frame is larger than a predetermined threshold. Note that the video frame configuration method is not limited to these examples.

また、符号化処理部303は、処理負荷の増大等によって映像フレームが生成されず欠落(以下、フレーム落ちとする。)した場合、先ず、欠落フレームを表す情報(以下、欠落フレーム情報とする。)を生成して欠落期間検出部304に通知する。欠落フレーム情報には、生成できなかった映像フレームのフレーム番号が欠落フレーム番号として含まれるものとする。次に、符号化処理部303では、フレーム落ちの直後に生成する映像フレームが独立フレームとなるように自身に設定する。なお、符号化処理部303は、欠落期間検出部304等の他の処理部からの要求に基づきフレーム落ちの直後に生成する映像フレームが独立フレームとなるように設定するものとしてもよい。   Further, when a video frame is not generated due to an increase in processing load or the like, and the video frame is dropped (hereinafter, referred to as a frame drop), first, information representing the dropped frame (hereinafter referred to as dropped frame information). ) Is notified to the dropout period detection unit 304. It is assumed that the frame number of the video frame that could not be generated is included as the missing frame number in the missing frame information. Next, the encoding processing unit 303 sets itself as an image frame generated immediately after a frame drop to be an independent frame. Note that the encoding processing unit 303 may be set so that a video frame generated immediately after a frame drop becomes an independent frame based on a request from another processing unit such as the drop period detection unit 304 or the like.

また、符号化処理部303は、後述する欠落期間検出部304からのダミーフレームの生成要求を受信すると、ダミーフレームを生成して一時記憶部301に保存し、さらにダミーフレーム情報を生成して一時記憶部301に保存する。ここで、ダミーフレームは、参照先の映像フレームデータと差分がないことを示す映像フレームデータである。ダミーフレームの詳細については後述する。また、ダミーフレーム情報は、一時記憶部301に保存されたダミーフレームを示す情報であり、例えばファイルとして保存されたダミーフレームのパスである。   Also, when receiving a dummy frame generation request from the dropout period detection unit 304 described later, the encoding processing unit 303 generates a dummy frame and stores it in the temporary storage unit 301, and further generates dummy frame information and temporarily It is stored in the storage unit 301. Here, the dummy frame is video frame data indicating that there is no difference from the video frame data of the reference destination. Details of the dummy frame will be described later. The dummy frame information is information indicating the dummy frame stored in the temporary storage unit 301, and is, for example, a path of the dummy frame stored as a file.

欠落期間検出部304は、符号化処理部303から欠落フレーム情報の生成通知を受信すると、各セグメントにおいてフレームが欠落した期間に対応するセグメント内欠落期間を検出する。そして、欠落期間検出部304は、そのセグメント内欠落期間を示すセグメント内欠落期間情報を更新し、一時記憶部301に保存すると同時にセグメント生成部305にも通知する。本実施形態では、セグメントが含むべき映像フレームのフレーム番号を小さい順に要素とする配列を、セグメント内フレーム番号配列とする。しかして、セグメント内欠落期間が存在する各セグメントについて、セグメント内フレーム番号配列における欠落フレーム番号のインデクスを小さい順に要素とする配列を、各セグメントのセグメント内欠落期間情報とすることができる。   When receiving the generation notification of the missing frame information from the encoding processing unit 303, the missing period detection unit 304 detects an intra-segment missing period corresponding to a period in which a frame is dropped in each segment. Then, the dropout period detection unit 304 updates the intra-segment dropout period information indicating the intra-segment dropout period, and stores it in the temporary storage unit 301 and notifies the segment generation unit 305 at the same time. In this embodiment, an arrangement in which the frame numbers of video frames to be included in a segment are elements in ascending order is an intra-segment frame number arrangement. Thus, for each segment in which there is an intra-segment missing period, an array in which the index of the missing frame numbers in the intra-segment frame number array is elements in ascending order can be used as the intra-segment missing period information of each segment.

一方で、欠落期間検出部304は、セグメント内欠落期間が存在する各セグメントについて、セグメント内欠落期間がセグメント内先頭フレームの期間を含む場合には符号化処理部303に対しダミーフレームの生成を要求する。セグメント内先頭フレームは、セグメントに含まれるべき映像フレームのうち時系列で最初の映像フレームを指すものとする。なお、ダミーフレームは、符号化処理部303に対し生成要求が行われなくとも符号化処理部303が予め生成して、一時記憶部301に保存されていてもよい。また、符号化処理部303に対し生成要求を行わず欠落期間検出部304自身がダミーフレームを生成することとしてもよい。   On the other hand, for each segment for which there is an intra-segment loss period, the loss period detection unit 304 requests the encoding processing unit 303 to generate a dummy frame when the intra-segment loss period includes the period of the first frame in segment. Do. The first frame in the segment points to the first video frame in time series among the video frames to be included in the segment. The dummy frame may be generated in advance by the encoding processing unit 303 and stored in the temporary storage unit 301 even if a generation request is not issued to the encoding processing unit 303. Alternatively, the drop period detection unit 304 itself may generate a dummy frame without making a generation request to the encoding processing unit 303.

セグメント生成部305は、符号化処理部303が一時記憶部301に保存した映像メタ情報と映像フレームのデータにヘッダデータを付加して、それぞれ初期化セグメントとセグメントとを生成する。セグメントは、符号化処理部303で生成された少なくとも一つの映像フレームデータを含む映像ストリームを所定のセグメント時間で分割したものである。また、セグメント生成部305は、初期化セグメントとセグメントの生成時に、初期化セグメント情報とセグメント情報をそれぞれ生成して、配信部306に通知する。初期化セグメント情報は、一時記憶部301に保存された初期化セグメントを示す情報であり、例えばファイルとして保存された初期化セグメントのパスである。セグメント情報は、一時記憶部301に保存されたセグメントを示す情報であり、例えばファイルとして保存されたセグメントのパスである。セグメントのパスは、例えばセグメントを生成した順にインクリメントする番号を含むテキスト情報を含む。セグメント生成部305は、配信部306が初期化セグメント情報及びセグメント情報を解放するまで、一時記憶部301の映像メタ情報及び映像フレームをそれぞれ保持する。   The segment generation unit 305 adds header data to the video meta information and the video frame data stored in the temporary storage unit 301 by the encoding processing unit 303, and generates an initialization segment and a segment, respectively. A segment is a video stream including at least one video frame data generated by the encoding processing unit 303 divided by a predetermined segment time. Further, the segment generation unit 305 generates initialization segment information and segment information at the time of generation of the initialization segment and the segment, and notifies the distribution unit 306 of the generation. The initialization segment information is information indicating the initialization segment stored in the temporary storage unit 301, and is, for example, a path of the initialization segment stored as a file. The segment information is information indicating a segment stored in the temporary storage unit 301, and is, for example, a path of the segment stored as a file. The path of the segment includes, for example, text information including a number that is incremented in order of generation of the segment. The segment generation unit 305 holds the video meta information and the video frame of the temporary storage unit 301 until the distribution unit 306 releases the initialization segment information and the segment information.

また、セグメント生成部305は、符号化処理部303で符号化が行われずに映像フレームの生成がスキップされた場合に、セグメントの中のどの映像フレームの生成がスキップされたかに応じて、ダミーフレームをセグメントに付加するかどうかを決定する。そして、セグメント生成部305は、そのスキップされた映像フレーム以外の映像フレームの表示時間(映像フレームが再生される際の再生時間)を変更することにより、所定のセグメント時間のセグメントを生成する。   In addition, when the encoding processing unit 303 skips the generation of a video frame, the segment generation unit 305 generates a dummy frame according to which video frame in the segment is skipped. Decide whether to add to the segment. Then, the segment generation unit 305 generates a segment of a predetermined segment time by changing the display time of the video frame other than the skipped video frame (reproduction time when the video frame is reproduced).

配信部306は、先ず、映像処理装置101が配信できる映像ストリーム情報が記載されているプレイリストを配信する。そして、配信部306は、セグメント生成部305が生成した初期化セグメント及びセグメントを、クライアント装置102からのリクエストに応じてクライアント装置102に配信する。配信部306は、初期化セグメント又はセグメントの配信が終了した後に、セグメント生成部305に対し初期化セグメント又はセグメントの解放を指示する。プレイリストの一例としては、ISO/IEC 23009−1にて定義されるMPDファイルが用いられる。ただし、プレイリストの形式はこれに限られるものではない。本実施形態では、配信部306が、クライアント装置102からの配信要求を受信してから初期化セグメント又はセグメントを配信する例を説明したが、これに限定されるものではない。例えば、HTTP/2やWebsocketなどのプロトコルによっては要求を受信しなくても映像メタ情報及び映像フレームを生成し、配信部306は、それぞれ初期化セグメント及びセグメントが完成した時点で次々と配信してもよい。   The distribution unit 306 first distributes a playlist in which video stream information that can be distributed by the video processing apparatus 101 is described. Then, the distribution unit 306 distributes the initialization segment and the segment generated by the segment generation unit 305 to the client device 102 in response to a request from the client device 102. The distribution unit 306 instructs the segment generation unit 305 to release the initialization segment or segment after the distribution of the initialization segment or segment is completed. As an example of the playlist, an MPD file defined by ISO / IEC 23009-1 is used. However, the format of the playlist is not limited to this. In the present embodiment, an example in which the distribution unit 306 receives the distribution request from the client device 102 and then distributes the initialization segment or the segment has been described, but the present invention is not limited to this. For example, depending on a protocol such as HTTP / 2 or Websocket, video meta information and a video frame are generated without receiving a request, and the distributing unit 306 distributes them one after another when the initialization segment and the segment are completed. It is also good.

図4(a)と図4(b)は、符号化処理部303が連続して生成する映像フレームと、セグメント生成部305が生成する各セグメントとの関係を示す図である。
符号化処理部303は、前述したように連続して映像フレームを生成することで、図4(a)に一例として示す映像ストリーム450を形成する。また、符号化処理部303は、セグメント生成部305に対する映像フレームの生成通知、又は、欠落期間検出部304に対する欠落フレーム情報の生成通知のいずれか一方を、映像ストリーム450のフレーム周期である1/25[秒]ごとに行う。ここで、符号化処理部303が最初に生成する映像フレームのフレーム番号は0であり、その後、フレーム番号はフレーム周期の1/25[秒]ごとに1ずつ増加するものとする。
FIGS. 4A and 4B are diagrams showing the relationship between the video frame continuously generated by the encoding processing unit 303 and each segment generated by the segment generation unit 305. FIG.
As described above, the encoding processing unit 303 generates a video stream 450 shown as an example in FIG. 4A by continuously generating video frames. Also, the encoding processing unit 303 sends either the video frame generation notification to the segment generation unit 305 or the generation notification of the missing frame information to the missing period detection unit 304 as 1/1, which is the frame period of the video stream 450. Do it every 25 seconds. Here, it is assumed that the frame number of the video frame initially generated by the encoding processing unit 303 is 0, and thereafter, the frame number is incremented by 1 every 1/25 [seconds] of the frame period.

映像ストリーム450の映像フレームの符号化方式は、H.264/AVC Mainプロファイル レベル3.1であり、映像フレームの解像度(幅×高さ)は256×144[ピクセル]であるとする。映像ストリーム450の映像フレーム構成方式は、映像ストリーム450のGOP周期である3/25秒に対応する3枚ごとに、独立フレームを一つ生成し、GOP周期内の他の映像フレームを従属フレームとして生成するGOP単位方式を用いることとする。   The coding method of the video frame of the video stream 450 is H.264. It is assumed that the H.264 / AVC Main profile is at level 3.1, and the resolution (width × height) of the video frame is 256 × 144 [pixel]. In the video frame configuration method of the video stream 450, one independent frame is generated every three frames corresponding to 3/25 seconds which is the GOP cycle of the video stream 450, and another video frame in the GOP cycle is used as a dependent frame. Suppose that a GOP unit system to be generated is used.

セグメント生成部305は、映像メタ情報と映像フレームのデータにヘッダデータを付加しそれぞれ初期化セグメントとセグメントを生成する。セグメントについては、映像フレームにヘッダを付加してセグメントの映像の再生時間(セグメント時間)が3/25秒となるセグメントを生成する。   The segment generation unit 305 adds header data to the video meta information and the video frame data to generate an initialization segment and a segment, respectively. For the segment, a header is added to the video frame to generate a segment whose playback time (segment time) of the video of the segment is 3/25 seconds.

初期化セグメントとセグメントデータの内部構造の一例として、ISOBMFF(ISO Base Media File Format)を、ISO/IEC 14496−15に基づき拡張した構造を用いる。ISOBMFFは、ISO/IEC 14496−12で定義される汎用ファイル構造である。   As an example of the internal structure of the initialization segment and segment data, a structure obtained by expanding ISO Base Media File Format (ISOBMFF) based on ISO / IEC 14496-15 is used. ISOBMFF is a general purpose file structure defined by ISO / IEC 14496-12.

図4(a)は、フレーム落ちが発生しない場合の、符号化処理部303が連続して生成する映像フレームと、セグメント生成部305が生成する各セグメントとの関係を示す図である。
符号化処理部303は、先ず映像ストリーム450の開始要求を受け付けると、SPS及びPPSを含む映像メタ情報401を生成すると同時にセグメント生成部305に生成通知を行う。次に、符号化処理部303は、映像フレーム411〜419を連続して生成し、またそれぞれ生成と同時にセグメント生成部305に生成通知を行う。図4(a)において、映像ストリーム450の映像フレーム構成方式により、映像フレーム411,414,417は独立フレームとなり、それ以外の映像フレーム412,413,415,416,418,419は従属フレームとなる。符号化処理部303は、映像フレーム419を生成した後も映像フレームの生成を続け、各セグメントの映像フレームを生成すると同時にセグメント生成部305に生成通知を行う。
FIG. 4A is a diagram showing the relationship between a video frame continuously generated by the encoding processing unit 303 and each segment generated by the segment generation unit 305 when no frame drop occurs.
First, when receiving the start request of the video stream 450, the encoding processing unit 303 generates the video meta information 401 including the SPS and the PPS, and at the same time, performs generation notification to the segment generation unit 305. Next, the encoding processing unit 303 continuously generates the video frames 411 to 419, and simultaneously performs generation notification to the segment generation unit 305 simultaneously with generation. In FIG. 4A, according to the video frame construction method of the video stream 450, the video frames 411, 414 and 417 become independent frames, and the other video frames 412, 413, 415, 416, 418 and 419 become subordinate frames. . The encoding processing unit 303 continues generation of the video frame even after generating the video frame 419, generates a video frame of each segment, and sends a generation notification to the segment generation unit 305 at the same time.

セグメント生成部305は、先ず符号化処理部303から映像メタ情報401の生成通知を受信して、映像メタ情報401を含む初期化セグメント400を生成する。その後、セグメント生成部305は、各セグメントが含むべき全ての映像フレームの生成通知を符号化処理部303から受信した時点で、ヘッダと映像フレームのデータを結合して、各セグメント420,430,440を生成する。図4(a)の場合、セグメント生成部305は、フレーム落ちが発生しない場合のセグメント内の映像フレームの数を、セグメントフレーム数として下記の計算式により導出し、その数の映像フレームを含むセグメントを生成する。   The segment generation unit 305 first receives a generation notification of the video meta information 401 from the encoding processing unit 303, and generates an initialization segment 400 including the video meta information 401. After that, the segment generation unit 305 combines the data of the header and the video frame when receiving notification of generation of all the video frames to be included in each segment from the encoding processing unit 303, and transmits each segment 420, 430, 440. Generate In the case of FIG. 4A, the segment generation unit 305 derives the number of video frames in the segment when no frame drop occurs as the number of segment frames according to the following calculation formula, and includes the number of video frames Generate

(セグメントフレーム数)=(セグメント時間)/(映像ストリーム450のフレーム周期)=3/25[秒]/(1/25[秒])=3   (Number of segment frames) = (segment time) / (frame period of video stream 450) = 3/25 [seconds] / (1/25 [seconds) = 3

また、セグメント生成部305は、セグメント420,430,440のヘッダには各映像フレームの再生時間が1/25[秒]となるよう設定する。そして、セグメント生成部305は、初期化セグメント400又はセグメント420,430,440を生成すると配信部306に通知する。図4(a)では、セグメント420は映像フレーム411,412,413を含み、セグメント430は映像フレーム414,415,416を、セグメント440は映像フレーム417,418,419を含んでいる。   In addition, the segment generation unit 305 sets, in the headers of the segments 420, 430, and 440, the reproduction time of each video frame to be 1/25 [seconds]. Then, the segment generation unit 305 notifies the distribution unit 306 when the initialization segment 400 or the segments 420, 430, and 440 are generated. In FIG. 4A, segment 420 includes video frames 411, 412, and 413, segment 430 includes video frames 414, 415, and 416, and segment 440 includes video frames 417, 418, and 419.

図4(b)は、フレーム落ちが発生する場合の、符号化処理部303が連続して生成する映像フレームと、セグメント生成部305が生成する各セグメントとの関係を示す図である。
符号化処理部303は、先ず映像ストリーム450の開始要求を受け付けると、SPS及びPPSを含む映像メタ情報501を生成すると同時にセグメント生成部305に生成通知を行う。その後、符号化処理部303は、映像フレーム511,512を連続して生成しセグメント生成部305に生成通知を行う。
FIG. 4B is a diagram showing a relationship between a video frame continuously generated by the encoding processing unit 303 and each segment generated by the segment generation unit 305 when a frame drop occurs.
First, when receiving the start request of the video stream 450, the encoding processing unit 303 generates the video meta information 501 including the SPS and the PPS and simultaneously sends a generation notification to the segment generation unit 305. After that, the encoding processing unit 303 continuously generates the video frames 511 and 512, and sends a generation notification to the segment generation unit 305.

続いてフレーム落ちが発生する場合の説明を行う。すなわち図4(b)では、映像フレーム512の後にフレーム落ちが発生する例を示している。
符号化処理部303は、フレーム落ちが発生する場合に欠落フレーム情報513を生成すると同時に欠落期間検出部304に生成通知を行う。また、符号化処理部303は、フレーム落ちが発生すると同時に、次に生成する映像フレームを独立フレームとするよう自身に設定する。次に、符号化処理部303は、次の独立フレームである映像フレーム516を生成するまで、フレーム周期が経過するごとに、欠落フレーム情報514,515を生成すると同時に欠落期間検出部304に通知を行う。そして、符号化処理部303は、次の独立フレームである映像フレーム516を生成すると、その後は映像フレーム517,518,519を連続して生成すると同時にセグメント生成部305に生成通知を行う。
Next, the case where a frame drop occurs will be described. That is, FIG. 4B shows an example in which a frame drop occurs after the video frame 512.
The encoding processing unit 303 generates the missing frame information 513 at the same time as generating the missing frame information 513 when a frame drop occurs. In addition, the encoding processing unit 303 sets itself as an independent frame to the video frame to be generated next, at the same time as the frame drop occurs. Next, the encoding processing unit 303 generates the missing frame information 514 and 515 at the same time as notifying the missing period detection unit 304 every time the frame period elapses until the video frame 516 which is the next independent frame is generated. Do. Then, when the coding processing unit 303 generates the video frame 516 which is the next independent frame, the coding processing unit 303 subsequently generates the video frames 517, 518, and 519 continuously and notifies the generation to the segment generation unit 305.

映像ストリーム450の映像フレーム構成方式は、フレーム落ちが発生する前はフレーム落ちが発生しない場合と同様であり、フレーム落ちが発生した後はフレーム落ちが発生した直後に生成する映像フレームから再適用されることとする。すなわち、図4(b)の例の場合、映像フレーム511,516,519が独立フレームとなり、それ以外の映像フレームは従属フレームとなる。符号化処理部303は、映像フレーム519を生成した後も映像フレームの生成を続け、各セグメントの映像フレームを生成すると同時にセグメント生成部305に生成通知を行う。   The video frame configuration method of the video stream 450 is the same as the case where no frame drop occurs before the frame drop occurs, and after the frame drop occurs, the video frame is re-applied from the video frame generated immediately after the frame drop occurs. To be That is, in the case of the example of FIG. 4B, the video frames 511, 516, and 519 are independent frames, and the other video frames are subordinate frames. The encoding processing unit 303 continues generation of the video frame even after generating the video frame 519, generates a video frame of each segment, and notifies the generation to the segment generation unit 305 at the same time.

欠落期間検出部304は、符号化処理部303からの欠落フレーム情報513,514,515の生成通知を受信すると、セグメント520,530それぞれのセグメント内欠落期間T561,T562を検出する。また、欠落期間検出部304は、セグメント内欠落期間T561,T562それぞれを検出すると同時にセグメント内欠落期間T561,T562を示すセグメント内欠落期間情報を一時記憶部301に保存しセグメント生成部305に通知する。   When receiving the generation notification of the missing frame information 513, 514, 515 from the encoding processing unit 303, the missing period detection unit 304 detects the intra-segment missing periods T561, T562 of the segments 520, 530, respectively. In addition, the missing period detection unit 304 detects the in-segment missing periods T561 and T562 and simultaneously stores the in-segment missing period information indicating the in-segment missing periods T561 and T562 in the temporary storage unit 301 and notifies the segment generating unit 305. .

一方で、欠落期間検出部304は、セグメント内欠落期間がセグメント内先頭フレームの期間を含む場合にはダミーフレームの生成要求を行う。セグメント520のセグメント内欠落期間T561はセグメント内先頭フレームの期間T563を含まないため、欠落期間検出部304は、符号化処理部303に対しダミーフレームの生成を要求しない。これに対し、セグメント530のセグメント内欠落期間T562はセグメント内先頭フレームの期間T564を含む。このため、欠落期間検出部304は、符号化処理部303に対しダミーフレーム550の生成を要求し、セグメント生成部305に対しダミーフレーム550をセグメント520に含めることを指示する。   On the other hand, when the intra-segment dropout period includes the period of the intra-segment head frame, the dropout period detection unit 304 requests generation of a dummy frame. Since the intra-segment drop period T561 of the segment 520 does not include the period T563 of the intra-segment head frame, the drop period detector 304 does not request the encoding processor 303 to generate a dummy frame. On the other hand, the intra-segment missing period T562 of the segment 530 includes the period T564 of the intra-segment head frame. Therefore, the missing period detection unit 304 requests the coding processing unit 303 to generate the dummy frame 550, and instructs the segment generation unit 305 to include the dummy frame 550 in the segment 520.

セグメント生成部305は、先ず符号化処理部303から映像メタ情報501の生成通知を受信して映像メタ情報501を含む初期化セグメント500を生成する。その後、セグメント生成部305は、映像フレーム511,512の生成通知を受信した後、欠落フレーム情報513の受信時点で、ヘッダに映像フレーム511,512の再生時間をそれぞれ1/25[秒]、2/25[秒]と設定したセグメント520を生成する。その後、セグメント生成部305は、ダミーフレーム550の生成通知を受信した後、映像フレーム516の生成通知を受信した時点で、セグメント520を生成する。この時のセグメント生成部305は、ヘッダに、ダミーフレーム550の再生時間を2/25[秒]、映像フレーム516の再生時間を1/25[秒]と設定したセグメント520を生成する。その後、セグメント生成部305は、映像フレーム517,518,519の生成通知を符号化処理部303から全て受信した時点で、ヘッダを映像フレームのデータに付加して、セグメント540を生成する。この時のセグメント生成部305は、セグメント540のヘッダには、映像フレーム517,518,519の再生時間がそれぞれ1/25[秒]となるよう設定する。   The segment generation unit 305 first receives a generation notification of the video meta information 501 from the encoding processing unit 303, and generates an initialization segment 500 including the video meta information 501. After that, the segment generation unit 305 receives the notification of generation of the video frame 511, 512, and at the time of reception of the missing frame information 513, the playback time of the video frame 511, 512 is 1/25 [seconds], 2 in the header. A segment 520 set as / 25 [seconds] is generated. Thereafter, the segment generation unit 305 generates the segment 520 when receiving the generation notification of the video frame 516 after receiving the generation notification of the dummy frame 550. The segment generation unit 305 at this time generates a segment 520 in which the reproduction time of the dummy frame 550 is set to 2/25 [seconds] and the reproduction time of the video frame 516 to 1/25 [seconds] in the header. Thereafter, the segment generation unit 305 adds the header to the data of the video frame to generate the segment 540 when all of the generation notices of the video frames 517, 518, and 519 are received from the encoding processing unit 303. At this time, the segment generation unit 305 sets, in the header of the segment 540, the reproduction time of each of the video frames 517, 518, and 519 to 1/25 [seconds].

図5は、セグメント生成部305が生成するセグメント420のデータの内部構成を示す図である。
セグメント420は、ボックス471,472,473,474で構成される。セグメント420は、一種のファイルヘッダとして作用するstypボックス471、セグメントに関する時間情報やランダムアクセス情報を含むsidxボックス472、及びフラグメント421からなる。
FIG. 5 is a diagram showing an internal configuration of data of the segment 420 generated by the segment generation unit 305. As shown in FIG.
The segment 420 is composed of boxes 471, 472, 473 and 474. The segment 420 comprises a styp box 471 acting as a kind of file header, a sidx box 472 containing time information and random access information on the segment, and a fragment 421.

フラグメント421は、フラグメントの各種情報を含むmoofボックス473、及び映像フレーム411,412,413のデータを含むmdatボックス474から成る。moofボックス473は、フラグメントごとに増加する順序番号を含むmfhdボックス481、及びtrafボックス482から成る。trafボックス482は、tfhdボックス491、tfdtボックス492、trunボックス493からなる。tfhdボックス491はフラグメントの各種デフォルト情報を含むボックスであり、tfdtボックス492はフラグメントの先頭の映像フレーム411の各映像フレームのデコード開始時間を含むボックスである。trunボックス493は、フラグメント421に含まれる映像フレーム411,412,413の各種情報を含むボックスである。   The fragment 421 is composed of a moof box 473 containing various information of the fragment, and an mdat box 474 containing data of the video frames 411, 412 and 413. The moof box 473 consists of an mfhd box 481 and a traf box 482, which contain sequence numbers that increase from fragment to fragment. The traf box 482 comprises a tfhd box 491, a tfdt box 492, and a trun box 493. The tfhd box 491 is a box containing various pieces of default information of the fragment, and the tfdt box 492 is a box containing the decoding start time of each video frame of the video frame 411 at the head of the fragment. The trun box 493 is a box including various pieces of information of the video frames 411, 412, and 413 included in the fragment 421.

以下、trunボックス493の各種情報がどのようにデータとして含まれるかを説明する。
versionでは、sample_composition_time_offsetがデータとしてtrunボックス493に含まれる場合、unsigned intかsigned intかに応じた値がセットされる。例えば、sample_composition_time_offsetのデータ型を32bitのunsigned intとする場合には、ビット0x00000000の値がセットされる。また例えば、sample_composition_time_offsetのデータ型を32bitのsigned intとする場合には、それ以外の値がセットされる。本実施形態において、映像フレームの再生時に、時系列的に前の映像フレームを再生することはないため、versionにはビット0x00000000をセットする。
Hereinafter, how various information in the trun box 493 is included as data will be described.
In version, when sample_composition_time_offset is included in the trun box 493 as data, a value according to whether it is unsigned int or signed int is set. For example, when the data type of sample_composition_time_offset is 32 bits of unsigned int, the value of bit 0x00000000 is set. Further, for example, when the data type of sample_composition_time_offset is set to a 32-bit signed int, other values are set. In the present embodiment, at the time of reproduction of a video frame, since the previous video frame is not reproduced in time series, bit 0x00000000 is set in version.

tr_flagsではtrunボックス493がデータとして含む各種情報を指定する。本実施形態において、trunボックス493は、data_offset、sample_duration、sample_size、sample_flags、sample_composition_time_offsetを含む。このため、tr_flagsにはビット0x00000F01をセットする。   In tr_flags, various items of information that the trun box 493 includes as data are specified. In the present embodiment, the trun box 493 includes data_offset, sample_duration, sample_size, sample_flags, and sample_composition_time_offset. Therefore, bit 0x00000F01 is set in tr_flags.

sample_countには、フラグメント421に含まれる映像フレームの数3を示すビット0x00000003をセットする。
data_offsetには、フラグメント421の先頭バイトからフラグメントの先頭の映像フレーム411の先頭バイトまでのオフセットのバイト値をセットする。
In sample_count, bit 0x00000003 indicating the number 3 of video frames included in the fragment 421 is set.
As data_offset, a byte value of an offset from the first byte of the fragment 421 to the first byte of the first video frame 411 of the first fragment is set.

以降は、sample_durationからsample_composition_time_offsetまでをsample_count数分要素に持つ映像フレームパラメータ配列のバイトがセットされる。sample_count数の要素には、sample_duration、sample_size、sample_flags、sample_composition_time_offsetが含まれる。映像フレームパラメータ配列の要素の各種情報は、その要素の映像フレームパラメータ配列におけるインデクス番目(時系列)の、フラグメント421に含まれる映像フレームの情報を示すこととする。   Thereafter, the bytes of the video frame parameter array having elements from sample_duration to sample_composition_time_offset in the number of sample_count are set. The elements of sample_count number include sample_duration, sample_size, sample_flags, and sample_composition_time_offset. The various pieces of information of the elements of the video frame parameter array indicate the information of the video frames included in the fragment 421 (time series) in the video frame parameter array of the element.

sample_durationには、初期化セグメント400のヘッダに含まれるmdhdボックスのTimescaleの値に映像フレームの再生継続時間の秒数を乗じた数のビットをセットする。例えば、初期化セグメント400のヘッダに含まれるmdhdボックスのTimescaleの値を300000、映像フレームの再生継続時間の秒数をフレーム周期の秒数=1/25とする。また例えば、sample_durationには、30000×(フレーム周期の秒数=1/25)=1200=0x000004B0をセットする。ここでは、映像フレームの再生継続時間をフレーム周期としたが、直後に付加されるべき映像フレームが付加されていない場合は、その時間分延長した時間を映像フレームの再生継続時間とすることとする。   In sample_duration, the number of bits obtained by multiplying the value of Timescale of the mdhd box included in the header of the initialization segment 400 by the number of seconds of the reproduction duration of the video frame is set. For example, it is assumed that the value of Timescale of the mdhd box included in the header of the initialization segment 400 is 300000, and the number of seconds of the playback duration of the video frame is the number of seconds of the frame period = 1/25. Further, for example, 30000 × (number of seconds in frame period = 1/25) = 1200 = 0 × 000004 B0 is set in sample_duration. Here, the playback duration of the video frame is taken as the frame cycle, but if no video frame to be added immediately after is added, the time extended by that time is taken as the playback duration of the video frame. .

sample_sizeには、映像フレームのデータサイズ(バイト単位)を示すビットをセットする。例えば、映像フレームのデータが10000バイトであれば、0x00002710をセットする。
sample_flagsには、映像フレームが独立フレームである場合には0x00000000をセットし、映像フレームが従属フレームである場合には0x00010000をセットする。
In sample_size, a bit indicating the data size (in bytes) of the video frame is set. For example, if the video frame data is 10000 bytes, 0x00002710 is set.
In the sample_flags, 0x00000000 is set when the video frame is an independent frame, and 0x00010000 is set when the video frame is a dependent frame.

sample_composition_time_offsetには、映像フレームの再生開始時間オフセットを示すビットをセットする。しかして、tfdtボックス491に含まれる映像フレームのデコード開始時間を映像フレームの再生開始時間オフセット分遅らせた時間である映像フレームの再生開始時間から、映像フレームの再生は開始されることとなる。   In sample_composition_time_offset, a bit indicating a playback start time offset of the video frame is set. Thus, the reproduction of the video frame is started from the reproduction start time of the video frame, which is the time obtained by delaying the decoding start time of the video frame included in the tfdt box 491 by the reproduction start time offset of the video frame.

また、セグメントは一つのフラグメントを含むものとしたが複数のフラグメントを含んでいてもよい。
また、sample_composition_time_offsetをサポートしないクライアント装置で、映像の再生を行う場合には、以下のようにしてもよい。例えばtr_flagsを0x00000701とし、sample_composition_time_offsetのビットをセットせず、映像フレームの再生継続時間をsample_composition_time_offset分長くセットする。
なお、セグメントの内部構造はこれらに限らず、映像フレームの再生開始時間と再生継続時間を含むことが可能であればよい。
Also, although the segment includes one fragment, it may include a plurality of fragments.
In addition, in the case of reproducing a video with a client device that does not support sample_composition_time_offset, the following may be performed. For example, tr_flags is set to 0x00000701, the bit of sample_composition_time_offset is not set, and the reproduction duration of the video frame is set longer by sample_composition_time_offset.
Note that the internal structure of the segment is not limited to these, as long as it can include the reproduction start time and the reproduction continuation time of the video frame.

以上がセグメント420の内部構造の説明である。セグメント生成部305が生成する映像ストリーム450の他のセグメント又は映像ストリーム450以外の映像ストリームのセグメントについても、符号化処理部303が生成したフレームを、セグメント時間及びフレーム周期に応じて同様にセグメント化できる。   The above is the description of the internal structure of the segment 420. Regarding the other segments of the video stream 450 generated by the segment generation unit 305 or the segments of the video stream other than the video stream 450, the frame generated by the encoding processing unit 303 is similarly segmented according to the segment time and frame period. it can.

図6は、本実施形態に係るダミーフレームの一例である、ダミーフレーム550を示す図である。
H.264/AVCの符号化方式において、映像フレームはさらに小さな単位の1以上のスライス、スライスはさらに小さな単位の画素ブロックである1以上のマクロブロックから構成される。ここで、映像ストリーム450の映像フレームの解像度は256×144[ピクセル]であり、マクロブロックの解像度は16×16[ピクセル]であるとする。符号化処理部303は、マクロブロックのデータを、水平方向16[個]×垂直方向9[個]=144[個]結合したスライス一つからなるデータを映像フレームとして用いることができる。しかして、符号化処理部303は、参照先の映像フレームデータの同位置のマクロブロックと差分がないことを示すスキップトマクロブロック551のデータを結合することにより、ダミーフレーム550を生成して用いることができる。なお、マクロブロックの大きさは16×16[ピクセル]に限らず、またマクロブロックの大きさは一つの映像フレーム内で固定であっても、可変であってもよい。ダミーフレームのデータは、スキップトマクロブロックを使用するものに限らず、参照先の映像フレームとの差分がないことを示すデータであればよい。
FIG. 6 is a view showing a dummy frame 550 which is an example of the dummy frame according to the present embodiment.
H. In the H.264 / AVC coding system, a video frame is composed of one or more slices in smaller units, and a slice is composed of one or more macroblocks which are pixel blocks in smaller units. Here, it is assumed that the resolution of the video frame of the video stream 450 is 256 × 144 [pixel], and the resolution of the macro block is 16 × 16 [pixel]. The encoding processing unit 303 can use, as a video frame, data consisting of one slice obtained by combining data of macroblocks in the horizontal direction 16 [pieces] x vertical direction 9 [pieces] = 144 [pieces]. Thus, the encoding processing unit 303 generates and uses the dummy frame 550 by combining the data of the skipped macroblock 551 indicating that there is no difference with the macroblock at the same position of the video frame data of the reference destination. be able to. The size of the macro block is not limited to 16 × 16 [pixel], and the size of the macro block may be fixed or variable in one video frame. The data of the dummy frame is not limited to the data using the skipped macroblock, and may be data indicating that there is no difference from the video frame of the reference destination.

図7は、映像処理装置101がクライアント装置102に配信するMPDファイル600の構成例を示す図である。
MPDファイル600は、XML形式であり、スキーマ情報601にて、xmlns属性で指定した名前空間及びxsi属性で指定したスキーマ文書において、MPDファイル600の記述方法が定義される。
FIG. 7 is a view showing a configuration example of the MPD file 600 distributed by the video processing apparatus 101 to the client apparatus 102. As shown in FIG.
The MPD file 600 is in XML format, and the schema information 601 defines the method of describing the MPD file 600 in the namespace designated by the xmlns attribute and the schema document designated by the xsi attribute.

MPDファイル600では、Period603、AdaptationSet604、Representation605、初期化セグメントURI情報615及びセグメントURI情報616の順に各要素が階層構造となされている。これら各要素の階層構造によって、符号化処理部303が形成する映像ストリーム450、及び、セグメント生成部305が生成する初期化セグメント、セグメントに関する情報が定義される。   In the MPD file 600, each element has a hierarchical structure in the order of Period 603, Adaptation Set 604, Representation 605, initialization segment URI information 615, and segment URI information 616. The hierarchical structure of these elements defines the video stream 450 formed by the encoding processing unit 303, and the initialization segment generated by the segment generation unit 305, and information on the segments.

Period603は、下位階層の要素が定義される期間の範囲を定義する。例えば、Period603の開始時間startに0をセットし、Period603の期間であるdurationはセットしない場合、映像処理装置101が配信する初期化セグメント、セグメントの全ての情報の期間が定義される。   Period 603 defines the range of period in which the elements of the lower hierarchy are defined. For example, when 0 is set in the start time start of Period 603 and the duration which is the period of Period 603 is not set, the period of all pieces of information of the initialization segment and the segments distributed by the video processing apparatus 101 is defined.

AdaptationSet604は、映像の情報を示しており、例えば同じPeriod603の期間で別の視点の映像ごとに定義することができる。本実施形態では、映像の視点を単一のものとし、一つのAdaptationSet604を例に挙げている。   The AdaptationSet 604 indicates video information, and can be defined for each video of another viewpoint, for example, in the same period 603. In the present embodiment, the viewpoint of the video is single, and one AdaptationSet 604 is taken as an example.

Representation605は、映像ストリーム450の情報を定義する。Representation605は、符号化方式情報609、解像度情報610、フレームレート情報611、及び配信ビットレート情報612を含む。符号化方式情報609は、映像ストリーム450の符号化方式H.264/AVC Mainプロファイル レベル3.1を示す。解像度情報610は、映像ストリーム450の映像フレームの解像度である256×144[ピクセル]を示す。フレームレート情報611は、フレーム周期の逆数であり映像の1秒当たりに生成される映像フレームの枚数25を示す。配信ビットレート情報612は、映像ストリーム450の配信ビットレート値65536[bps]を示す。また、Representation605は、下記のように、セグメントが区切られる時間の単位(セグメント時間)をセグメント時間情報614で示している。   The Representation 605 defines the information of the video stream 450. Representation 605 includes coding method information 609, resolution information 610, frame rate information 611, and delivery bit rate information 612. The coding method information 609 is a coding method H.1. H.264 / AVC Main Profile Indicates level 3.1. The resolution information 610 indicates 256 × 144 [pixels] which is the resolution of the video frame of the video stream 450. The frame rate information 611 is the reciprocal of the frame period and indicates the number 25 of video frames generated per second of video. The delivery bit rate information 612 indicates a delivery bit rate value 65536 [bps] of the video stream 450. In addition, Representation 605 indicates, as segment time information 614, a unit of time (segment time) in which a segment is divided, as described below.

(Representation605のセグメント時間)=(セグメント時間情報614のduration)/(セグメント時間情報614のtimescale)=360/3000[秒]=3/25[秒] (Segment time of Representation 605) = (duration of segment time information 614) / (timescale of segment time information 614) = 360/3000 [seconds] = 3/25 [seconds]

また、Representation605は、映像ストリーム450の初期化セグメントURI情報615及びセグメントURI情報616を含んでいる。クライアント装置102は、映像処理装置101のIPアドレスを含むMPDBaseURI情報602、映像ストリーム450の識別子を含むRepresentationBaseURI情報613を使用することで下記のURIにアクセスする。そして、クライアント装置102は、映像ストリーム450の初期セグメントと各セグメントの取得を行う。   Further, the Representation 605 includes initialization segment URI information 615 and segment URI information 616 of the video stream 450. The client apparatus 102 accesses the following URI by using MPDBase URI information 602 including the IP address of the video processing apparatus 101 and RepresentationBaseURI information 613 including the identifier of the video stream 450. Then, the client device 102 acquires an initial segment of the video stream 450 and each segment.

(Representation605の初期化セグメントURI)=(MPDBaseURI情報602)+(RepresentationBaseURI情報613)+(初期化セグメントURI情報615)="http://192.169.100.1:80/video/stream1/init1.mp4"   (Representation 605 initialization segment URI) = (MPDBase URI information 602) + (RepresentationBaseURI information 613) + (initialization segment URI information 615) = "http://192.169.100.1:80/video/stream1/init1 .Mp4 "

(Representation605のセグメントURI)=(MPDBaseURI情報602)+(RepresentationBaseURI情報613)+(セグメントURI情報616)="http://192.169.100.1:80/video/stream1/media1_$Number$.m4s"   (Segment URI of Representation 605) = (MPDBase URI Information 602) + (RepresentationBaseURI Information 613) + (Segment URI Information 616) = "http://192.169.100.1:80/video/stream1/media1_$Number$. m4s "

上記の式において、A+Bは、要素Aの文字列の右側に要素Bの文字列を結合すること意味する。$Number$は、テンプレート表現であり、セグメントURI情報616のstartNumberの値からセグメント一つごとに評価値がインクリメントされていく。   In the above equation, A + B means to combine the element B string to the right of the element A string. $ Number $ is a template expression, and the evaluation value is incremented for each segment from the value of startNumber in the segment URI information 616.

実際の映像ストリーム450の各セグメントのURIは、"http://192.169.100.1:80/video/stream1/media1_1.m4s"である。また、"http://192.169.100.1:80/video/stream1/media1_2.m4s"である。また、"http://192.169.100.1:80/video/stream1/media1_3.m4s"等である。   The URI of each segment of the actual video stream 450 is "http://192.169.100.1:80/video/stream1/media1_1.m4s". Moreover, it is "http://192.169.100.1:80/video/stream1/media1_2.m4s". In addition, "http://192.169.100.1:80/video/stream1/media1_3.m4s" and the like.

他に、URIのためのテンプレート表現として、Representation605のRepresentationID608として$RepresentationID$を用いることができる。また、Representation605の配信ビットレート情報612の数値とし、$BandWidth$等を用いることができる。また、それらの組み合わせを用いることができる。   Alternatively, $ RepresentationID $ can be used as a RepresentationID 608 of Representation 605 as a template representation for the URI. Also, it is possible to use $ BandWidth $ or the like as the numerical value of the delivery bit rate information 612 of Representation 605. Also, a combination of them can be used.

配信部306は、MPDファイル600を、初期化セグメントと各セグメントを配信する前にクライアント装置102に配信する。これにより、クライアント装置102は、映像処理装置101に対し初期化セグメント又はセグメントの送信要求を行うことが可能となる。   The distribution unit 306 distributes the MPD file 600 to the client device 102 before distributing the initialization segment and each segment. Thus, the client device 102 can request the video processing device 101 to transmit an initialization segment or a segment.

クライアント装置102は、例えば送信要求をセグメント時間情報614に基づいたセグメント時間ごとにセグメントの送信要求を行い、所定の回数セグメントを取得することができないとセグメントの送信要求を行うことを中止する。そのため、セグメント生成部305は、あるセグメントを生成してからセグメント時間内に次のセグメントを生成するように処理を行うものとする。   For example, the client apparatus 102 makes a transmission request of a segment at each segment time based on the segment time information 614, and cancels the transmission request of the segment if it can not acquire a segment a predetermined number of times. Therefore, it is assumed that the segment generation unit 305 performs processing so as to generate a segment and then generate the next segment within the segment time.

ここで本実施形態では、説明の容易化のため、映像ストリームを1本としたが、複数の映像ストリームを定義してもよい。MPDファイル600には、複数のRepresentaionを記述することが可能である。したがって、映像処理装置101は映像ストリーム450以外の映像ストリームを配信することも可能である。この場合、Representation605が映像ストリーム450の情報を表現するのと同様に、さらにRepresentationを追加し映像ストリーム450以外のストリームついても各種の値を表現することとしてもよい。MPDファイル600では、複数のPeriod、Adaptationが定義可能であるため時間区間や映像構成によって種々の記述をしてもよい。例えば時間区間ごとに別々のPeriodを定義し、異なるRepresentaionを定義してもよいし、複数のRepresentaionを異なるAdaptationSetにおいて定義してもよい。   Here, in the present embodiment, one video stream is provided for ease of explanation, but a plurality of video streams may be defined. The MPD file 600 can describe multiple Representaions. Therefore, the video processing apparatus 101 can also distribute video streams other than the video stream 450. In this case, just as Representation 605 represents information of video stream 450, Representation may be added to express various values for streams other than video stream 450. In the MPD file 600, since a plurality of Periods and Adaptation can be defined, various descriptions may be made depending on time sections and video configurations. For example, separate Periods may be defined for each time interval, different Representaions may be defined, and multiple Representaions may be defined in different AdaptationSets.

図8は、欠落期間検出部304における処理の流れを示すフローチャートである。
なお、以下の説明では、図8のフローチャートの各ステップS101〜ステップS105をS101〜S105と略記する。このことは、後述する他のフローチャートにおいても同様とする。
FIG. 8 is a flowchart showing the flow of processing in the missing period detection unit 304.
In the following description, steps S101 to S105 in the flowchart of FIG. 8 are abbreviated as S101 to S105. The same applies to the other flowcharts described later.

欠落期間検出部304は、符号化処理部303からの欠落フレーム情報の生成通知の取得と同時に図8に示すフローチャートの処理を開始する。
先ずS101において、欠落期間検出部304は、符号化処理部303が生成した欠落フレーム情報から欠落フレーム番号を取得する。
The missing period detection unit 304 starts the process of the flowchart illustrated in FIG. 8 simultaneously with the acquisition of the generation notification of the missing frame information from the encoding processing unit 303.
First, in S101, the missing period detection unit 304 obtains a missing frame number from the missing frame information generated by the encoding processing unit 303.

次にS102において、欠落期間検出部304は、セグメント内先頭フレームが欠落したか否かの判定を行う。例えば、セグメント内先頭フレームの判定として、欠落期間検出部304は、S101で取得した欠落フレーム番号をセグメントフレーム数で割った余りが0に等しいかどうかの判定を行う。そして、欠落期間検出部304は、セグメント内先頭フレームが欠落したと判定した場合にはS103に処理を進め、セグメント内先頭フレームが欠落していないと判定した場合にはS105に処理を進める。   Next, in S102, the missing period detection unit 304 determines whether or not the leading frame in the segment is missing. For example, as the determination of the lead frame in a segment, the missing period detection unit 304 determines whether the remainder of the missing frame number obtained in S101 divided by the number of segment frames is equal to zero. Then, if it is determined that the leading frame in the segment is missing, the dropout period detection unit 304 proceeds to S103, and if it is determined that the leading frame in the segment is not missing, the processing proceeds to S105.

S103に進むと、欠落期間検出部304は、符号化処理部303に対しダミーフレームの生成要求を行う。なお欠落期間検出部304は、セグメント内先頭フレームが欠落した場合、S103で符号化処理部303にダミーフレームの生成要求を行うが、ダミーフレームの生成要求はセグメント内の全ての映像フレームが欠落した場合等その他の条件で代用してもよい。   In step S103, the missing period detection unit 304 requests the encoding processing unit 303 to generate a dummy frame. When the leading frame in the segment is lost, the dropout period detection unit 304 requests the coding processing unit 303 to generate a dummy frame in S103. However, the dummy frame generation request is that all video frames in the segment are lost In some cases, other conditions may be substituted.

次にS104において、欠落期間検出部304は、セグメントのダミーフレームフラグをONとして一時記憶部301に保存する。
そして、S105に進むと、欠落期間検出部304は、セグメントのセグメント内欠落期間情報にセグメント内フレーム番号配列における欠落フレーム番号のインデクスを要素として追加し一時記憶部301に保存する。このS105の後、欠落期間検出部304は、図8のフローチャートの処理を終了する。
Next, in S104, the dropout period detection unit 304 turns on the dummy frame flag of the segment and stores it in the temporary storage unit 301.
Then, in S105, the missing period detection unit 304 adds the index of the missing frame number in the intra-segment frame number array as an element to the intra-segment missing period information of the segment and stores it in the temporary storage unit 301. After S105, the missing period detection unit 304 ends the process of the flowchart of FIG.

図9は、セグメント生成部305における処理の流れを示すフローチャートである。
セグメント生成部305は、符号化処理部303において符号化処理が開始された直後に当該符号化処理部303から要求される生成通知を受けて、図9に示すフローチャートの処理を開始する。
FIG. 9 is a flowchart showing the flow of processing in the segment generation unit 305.
The segment generation unit 305 receives the generation notification requested from the coding processing unit 303 immediately after the coding processing unit 303 starts the coding processing, and starts the processing of the flowchart illustrated in FIG. 9.

先ずS201において、セグメント生成部305は、イベントの発生を待ち、発生イベントの判定により、処理動作を切り替える。セグメント生成部305は、発生イベントが、符号化処理部303からの映像メタ情報の生成イベントであると判定した場合には、S202に処理を進める。また、セグメント生成部305は、発生イベントが、符号化処理部303からの映像フレーム生成イベントであると判定した場合には、S207に処理を進める。また、セグメント生成部305は、発生イベントが、配信部306からのセグメント解放指示イベントであると判定した場合には、S212に処理を進める。また、セグメント生成部305は、発生イベントが、配信部306からの映像ストリームの終了要求イベントであると判定した場合には、S213に処理を進める。   First, in step S201, the segment generation unit 305 waits for the occurrence of an event, and switches the processing operation based on the determination of the occurrence event. If the segment generation unit 305 determines that the generated event is a generation event of the video meta information from the encoding processing unit 303, the process proceeds to step S202. If the segment generation unit 305 determines that the generated event is a video frame generation event from the encoding processing unit 303, the process proceeds to step S207. If the segment generation unit 305 determines that the occurring event is a segment release instruction event from the distribution unit 306, the process proceeds to step S212. If the segment generation unit 305 determines that the generated event is a video stream end request event from the distribution unit 306, the process proceeds to step S213.

S202に進むと、セグメント生成部305は、映像メタ情報を保存する。
次にS203において、セグメント生成部305は、映像メタ情報を含む初期化セグメントを生成して配信部306に通知する。
次にS204において、セグメント生成部305は、映像ストリームの開始要求時に指定されたセグメント時間、セグメント内フレーム番号配列などのセグメントを構成するのに必要なセグメント構成情報を保存する。
次にS205において、セグメント生成部305は、自己の状態を独立フレーム待ちの状態に設定する。
次にS206において、セグメント生成部305は、生成する全てのセグメントのダミーフレームフラグをクリアとして初期化し一時記憶部301に保存する。その後、セグメント生成部305は、S201に処理を戻す。
In step S202, the segment generation unit 305 stores the video meta information.
Next, in step S203, the segment generation unit 305 generates an initialization segment including video meta information and notifies the distribution unit 306.
Next, in step S204, the segment generation unit 305 stores segment configuration information necessary to configure a segment, such as the segment time designated at the start request of the video stream and the intra-segment frame number array.
Next, in S205, the segment generation unit 305 sets its own state to an independent frame waiting state.
Next, in step S206, the segment generation unit 305 clears and initializes the dummy frame flags of all the segments to be generated in the temporary storage unit 301. Thereafter, the segment generation unit 305 returns the process to S201.

S207に進むと、セグメント生成部305は、自己の状態を判定する。そして、セグメント生成部305は、自己の状態が独立フレーム待ちの状態であると判定した場合には、S208に処理を進め、自己の状態が次フレーム待ちの状態であると判定した場合には、S210に処理を進める。   At S207, the segment generation unit 305 determines its own state. Then, if the segment generation unit 305 determines that its own state is an independent frame wait state, the process proceeds to S208, and if it is determined that its own state is a next frame wait state, The process proceeds to S210.

S208に進むと、セグメント生成部305は、生成された映像フレームが独立フレームか否かを判定する。そして、セグメント生成部305は、映像フレームが独立フレームであると判定した場合にはS209に処理を進める。一方、映像フレームが独立フレームでないと判定した場合、セグメント生成部305は、生成された映像フレームのデータを一時記憶部301から削除した後、S201に処理を戻す。   In step S208, the segment generation unit 305 determines whether the generated video frame is an independent frame. Then, if the segment generation unit 305 determines that the video frame is an independent frame, the process proceeds to S209. On the other hand, if it is determined that the video frame is not an independent frame, the segment generation unit 305 deletes the generated data of the video frame from the temporary storage unit 301, and returns the process to S201.

S209に進むと、セグメント生成部305は、自己の状態を次フレーム待ちの状態に設定する。
次にS210において、セグメント生成部305は、映像フレーム情報を保存する。
次にS211において、セグメント生成部305は、セグメント生成処理を行う。その後、セグメント生成部305は、S201に処理を戻す。
In step S209, the segment generation unit 305 sets its own state to the next frame waiting state.
Next, in S210, the segment generation unit 305 stores the video frame information.
Next, in S211, the segment generation unit 305 performs a segment generation process. Thereafter, the segment generation unit 305 returns the process to S201.

S212に進むと、セグメント生成部305は、保存しているセグメント情報と当該セグメントに含まれている映像フレームを削除する。その後、セグメント生成部305は、S201に処理を戻す。   In step S212, the segment generation unit 305 deletes the stored segment information and the video frame included in the segment. Thereafter, the segment generation unit 305 returns the process to S201.

S213に進むと、セグメント生成部305は、保存している全セグメント情報と当該セグメントに含まれている映像フレーム情報を削除した後、図9のフローチャートの処理を終了する。   In step S213, the segment generation unit 305 deletes all the stored segment information and the video frame information included in the segment, and then ends the processing of the flowchart in FIG.

図10は、図9のフローチャートのS211でセグメント生成部305において行われるセグメント生成処理のフローチャートである。
先ずS301において、セグメント生成部305は、符号化処理部303の映像フレーム情報に含まれるフレーム番号以下のフレーム番号が、セグメントの最後のフレームのフレーム番号となるセグメントの集合を対象セグメントとして決定する。
FIG. 10 is a flowchart of the segment generation process performed by the segment generation unit 305 in S211 of the flowchart of FIG.
First, in step S301, the segment generation unit 305 determines, as a target segment, a set of segments whose frame numbers below the frame numbers contained in the video frame information of the encoding processing unit 303 are the frame numbers of the last frame of the segment.

次に、セグメント生成部305は、対象セグメントに含まれるセグメントについて、S302からS312までのループ処理を開始する。セグメント生成部305は、対象セグメントに含まれる全てのセグメントについての処理が終了すると、対象セグメントに含まれるセグメントについてのループ処理を終了する。   Next, the segment generation unit 305 starts loop processing from S302 to S312 for the segments included in the target segment. When the processing on all the segments included in the target segment ends, the segment generation unit 305 ends the loop processing on the segments included in the target segment.

S302からS312までのループ処理において、セグメント生成部305は、先ずS303の処理として、一時記憶部301に保存されたセグメントのダミーフレームフラグがONかどうかを判定する。そして、セグメント生成部305は、一時記憶部301に保存されたセグメントのダミーフレームフラグがONである場合には、S304に処理を進め、セグメントのダミーフレームフラグがONでない場合には、S307に処理を進める。   In the loop process from S302 to S312, the segment generation unit 305 first determines whether the dummy frame flag of the segment stored in the temporary storage unit 301 is ON as the process of S303. Then, the segment generation unit 305 proceeds to the process of S304 when the dummy frame flag of the segment stored in the temporary storage unit 301 is ON, and performs the process of S307 when the dummy frame flag of the segment is not ON. Advance.

S304に進むと、セグメント生成部305は、セグメントのダミーフレームが生成されて一時記憶部301に保存されているかどうかを判定する。セグメント生成部305は、セグメントのダミーフレームが生成され一時記憶部301に保存されていると判定した場合にはS305に処理を進める。一方、セグメント生成部305は、セグメントのダミーフレームが生成され一時記憶部301に保存されていないと判定した場合はS312に処理を進める。   In step S304, the segment generation unit 305 determines whether a dummy frame of a segment is generated and stored in the temporary storage unit 301. If the segment generation unit 305 determines that the dummy frame of the segment is generated and stored in the temporary storage unit 301, the process proceeds to S305. On the other hand, when the segment generation unit 305 determines that the dummy frame of the segment is generated and not stored in the temporary storage unit 301, the process proceeds to S312.

S305に進むと、セグメント生成部305は、ダミーフレーム情報を一時記憶部301に保存する。
次にS306において、セグメント生成部305は、セグメントのダミーフレームフラグをクリアとして一時記憶部301に保存し、その後、S307に処理を進める。
In step S305, the segment generation unit 305 stores the dummy frame information in the temporary storage unit 301.
Next, in step S306, the segment generation unit 305 clears the dummy frame flag of the segment and saves it in the temporary storage unit 301. Thereafter, the process proceeds to step S307.

S307に進むと、セグメント生成部305は、セグメントが完成したかどうかを判定する。セグメント生成部305は、セグメントの最後の映像フレームの映像フレーム情報が一時記憶部301に保存されている場合に、セグメントが完成したと判定する。または、セグメント生成部305は、一時記憶部301に保存されているセグメント内欠落情報がセグメントの最後の映像フレームのフレーム番号が含まれている場合に、セグメントが完成したと判定する。これらセグメントが完成したと判定する条件の何れかを満たす場合、セグメント生成部305は、S308に処理を進める。一方、それらいずれの条件をも満たさない場合、セグメント生成部305は、S312に処理を進める。   In step S307, the segment generation unit 305 determines whether the segment has been completed. When the video frame information of the last video frame of the segment is stored in the temporary storage unit 301, the segment generation unit 305 determines that the segment is completed. Alternatively, the segment generation unit 305 determines that the segment is completed when the intra-segment missing information stored in the temporary storage unit 301 includes the frame number of the last video frame of the segment. If one of the conditions for determining that these segments are completed is satisfied, the segment generation unit 305 proceeds to S308. On the other hand, when neither of the conditions is satisfied, the segment generation unit 305 proceeds to the process of S312.

S308に進むと、セグメント生成部305は、各フレーム(ダミーフレーム又は映像フレーム)の再生時間情報を生成したヘッダを生成する。さらに、セグメント生成部305は、一時記憶部301に保存されているフレームのうち、セグメント内フレーム番号配列に含まれるフレーム番号のフレームのデータにヘッダデータを結合し、セグメントを生成する。S308では、先ずセグメント生成部305は、一時記憶部301に保存されている生成済みフレームのフレーム番号のうち、セグメント内フレーム番号配列に含まれるフレーム番号を小さい順に要素とする生成フレーム番号配列を生成する。次に、セグメント生成部305は、前述のtrunボックスのsample_composition_time_offset、sample_durationを以下の通りセットしたヘッダを生成する。   In step S308, the segment generation unit 305 generates a header in which reproduction time information of each frame (dummy frame or video frame) is generated. Furthermore, the segment generation unit 305 combines header data with frame data of frame numbers included in the intra-segment frame number array among the frames stored in the temporary storage unit 301, and generates a segment. In S308, the segment generation unit 305 first generates a generation frame number array in which the frame numbers included in the intra-segment frame number array among the frame numbers of the generated frames stored in the temporary storage unit 301 are in ascending order. Do. Next, the segment generation unit 305 generates a header in which sample_composition_time_offset and sample_duration of the aforementioned trun box are set as follows.

sample_composition_time_offset=(フレーム周期)×(ダミーフレーム又は映像フレームのフレーム番号の、セグメント内フレーム番号配列におけるインデクス+1)   sample_composition_time_offset = (frame period) × (index of frame number of dummy frame or video frame in intra-segment frame number array + 1)

sample_duration=(フレーム周期)×(ダミーフレーム又は映像フレームのフレーム番号と、生成フレーム番号配列における次の映像フレーム番号との差)   sample_duration = (frame period) × (difference between frame number of dummy frame or video frame and next video frame number in generated frame number array)

その後、セグメント生成部305は、初めにヘッダデータ、次以降は一時記憶部301に保存されているフレームのうち、セグメント内フレーム番号配列に含まれるフレーム番号のフレームを配列の要素順に配置して結合したデータを生成する。   After that, the segment generation unit 305 arranges and combines the frames of frame numbers included in the intra-segment frame number array among the frames stored in the temporary storage unit 301 from the header data first and the second and subsequent ones in the element order of the array Generate the

次にS309において、セグメント生成部305は、S308で生成したセグメントのセグメント情報を一時記憶部301に保存する。
次にS310において、セグメント生成部305は、配信部306にセグメントの生成通知を行い、生成したセグメントのセグメント情報を送信する。
次に、S311において、セグメント生成部305は、一時記憶部301に保存した、セグメントのセグメント内欠落期間情報を解放し削除する。
次のS312において、対象セグメントに含まれるセグメントについてのループ処理が続く場合にはS303に戻る。そして、対象セグメントに含まれるセグメントの処理が終わった場合、図10のフローチャートの処理は終了する。
Next, in step S309, the segment generation unit 305 saves the segment information of the segment generated in step S308 in the temporary storage unit 301.
Next, in S310, the segment generation unit 305 notifies the distribution unit 306 of the generation of the segment, and transmits the segment information of the generated segment.
Next, in S311, the segment generation unit 305 releases and deletes the intra-segment missing period information stored in the temporary storage unit 301.
If loop processing continues for the segment included in the target segment in the next S312, the process returns to S303. Then, when the processing of the segment included in the target segment is completed, the processing of the flowchart of FIG. 10 ends.

本実施形態では、符号化処理部303が生成する映像フレームにはフレーム番号が付与され、例えば最初に生成された映像フレームにはフレーム番号0が、その後はフレーム周期ごとに1ずつ増加するフレーム番号が付与される例を挙げた。フレーム番号の値はこれに限らず、S102にて欠落フレームの条件を判定可能であればよい。例えば、撮像素子205が撮像する時間間隔(撮像処理部302が画像キャプチャI/F206経由で映像データを取得する時間間隔)を、映像ストリーム450のフレーム周期で除した数ずつ、フレーム番号が増加するものとしてもよい。   In the present embodiment, a frame number is added to a video frame generated by the encoding processing unit 303. For example, a frame number 0 is added to the first generated video frame, and then the frame number is incremented by 1 every frame period. An example is given where The value of the frame number is not limited to this, and it is sufficient if the condition of the missing frame can be determined in S102. For example, the frame number increases by the number obtained by dividing the time interval taken by the imaging element 205 (the time interval at which the imaging processing unit 302 acquires video data via the image capture I / F 206) by the frame period of the video stream 450. It is good also as things.

また本実施形態において、映像ストリーム450のフレーム周期、映像フレームの符号化方式、映像フレームの解像度、映像フレーム構成方式、及びセグメント生成部305が生成するセグメントのセグメント時間は、上述のものに限らない。   Further, in the present embodiment, the frame period of the video stream 450, the coding method of the video frame, the resolution of the video frame, the video frame configuration method, and the segment time of the segment generated by the segment generation unit 305 are not limited to those described above. .

また、本実施形態では、映像フレームの再生開始時間又は再生継続時間の値をセグメントデータ内にセットし、且つセグメント内欠落フレームの条件に基づいてダミーフレームの生成を行うものとしているが、これに限定されるものではない。例えば、ダミーフレームの生成を行わなくとも映像再生が途切れないように映像フレームの再生開始時間又は再生継続時間の値をセグメントデータ内にセットできればよい。   Further, in this embodiment, the value of the reproduction start time or the reproduction continuation time of the video frame is set in the segment data, and the dummy frame is generated based on the condition of the intra-segment missing frame. It is not limited. For example, the value of the reproduction start time or the reproduction continuation time of the video frame may be set in the segment data so that the video reproduction is not interrupted even if the dummy frame is not generated.

また本実施形態では、撮像処理部302が映像データを符号化処理部303に送信するが、映像処理装置101は、撮像処理部302を有さず、予め二次記憶装置203に保存している映像データを符号化処理部303が取得するものとしてもよい。   Further, in the present embodiment, although the imaging processing unit 302 transmits the video data to the encoding processing unit 303, the video processing apparatus 101 does not have the imaging processing unit 302, and is stored in advance in the secondary storage device 203. The encoding processing unit 303 may acquire video data.

また本実施形態では、配信部306がMPDファイル、初期化セグメント、セグメントを生成する前にクライアント装置102に配信するものとしたが、これに限定されるものではない。例えば、映像処理装置101は、配信部306を有さず、セグメント生成部305によって生成された初期化セグメント、セグメントを二次記憶装置203に保存しておくものとしてもよい。   In the present embodiment, the delivery unit 306 delivers the MPD file, the initialization segment, and the segment to the client apparatus 102 before generating the MPD file, but the present invention is not limited to this. For example, the video processing apparatus 101 may not have the distribution unit 306, and may store the initialized segment and the segment generated by the segment generation unit 305 in the secondary storage device 203.

以上のように、セグメント生成部305は、符号化処理部303に生成された映像フレーム情報及び欠落フレーム情報に応じて再生時間情報をセットしたヘッダを含むセグメントを生成する。
このように、映像処理装置101は、映像フレームが欠落する場合にも、クライアント装置102のセグメントの要求時にセグメント時間通りのセグメントを生成可能となされている。
すなわち、本実施形態によれば、一般的な再生装置によって再生可能なセグメントを、データ量を最小限に抑えながら、セグメント時間通りに生成可能である。
As described above, the segment generation unit 305 generates a segment including a header in which reproduction time information is set according to the video frame information and the missing frame information generated by the encoding processing unit 303.
As described above, even when a video frame is dropped, the video processing apparatus 101 can generate a segment according to the segment time upon request of the segment of the client device 102.
That is, according to the present embodiment, it is possible to generate a segment reproducible by a general reproduction device according to the segment time while minimizing the amount of data.

<第2実施形態>
次に、第2実施形態について説明する。
以下、第2実施形態において、第1実施形態で共通している部分の説明は省略し、第1実施形態とは異なる部分について説明する。
第2実施形態において、映像処理装置101は、タイマを有し、フレーム周期経過時及びセグメント時間経過時にセグメント生成部305に対して通知を行うものとする。
図11は、第2実施形態におけるセグメント生成部305のセグメント生成処理のフローチャートである。
第2実施形態においても、セグメント生成部305は、符号化処理が開始された直後に符号化処理部303から要求される生成通知を受けて、図11のフローチャートの処理を開始する。
Second Embodiment
Next, a second embodiment will be described.
Hereinafter, in the second embodiment, descriptions of parts common to the first embodiment will be omitted, and parts different from the first embodiment will be described.
In the second embodiment, the video processing apparatus 101 has a timer, and notifies the segment generation unit 305 when the frame cycle elapses and the segment time elapses.
FIG. 11 is a flowchart of the segment generation process of the segment generation unit 305 in the second embodiment.
Also in the second embodiment, the segment generation unit 305 receives the generation notification requested from the encoding processing unit 303 immediately after the start of the encoding processing, and starts the processing of the flowchart in FIG.

S401において、セグメント生成部305は、イベントの発生を待ち、発生イベントの判定により、処理動作を切り替える。セグメント生成部305は、発生イベントが、符号化処理部303からの映像メタ情報の生成イベントであると判定した場合には、S402に処理を進める。また、セグメント生成部305は、発生イベントが、タイマのフレーム周期経過イベントであると判定した場合には、S408に処理を進める。また、セグメント生成部305は、発生イベントが、タイマのセグメント時間経過イベントであると判定した場合には、S412に処理を進める。また、セグメント生成部305は、符号化処理部303からの映像フレーム生成イベントであると判定した場合には、S413に処理を進める。また、セグメント生成部305は、発生イベントが、配信部306からのセグメント解放指示イベントであると判定した場合には、S414に処理を進める。また、セグメント生成部305は、発生イベントが、配信部306からの映像ストリームの終了要求イベントであると判定した場合には、S415に処理を進める。   In S401, the segment generation unit 305 waits for the occurrence of an event, and switches the processing operation according to the determination of the occurrence event. If the segment generation unit 305 determines that the generated event is a generation event of video meta information from the encoding processing unit 303, the process proceeds to step S402. If the segment generation unit 305 determines that the generated event is a frame cycle elapsed event of the timer, the process proceeds to step S408. If the segment generation unit 305 determines that the generated event is a timer segment time elapsed event, the process proceeds to step S412. If the segment generation unit 305 determines that the event is a video frame generation event from the encoding processing unit 303, the process proceeds to step S413. If the segment generation unit 305 determines that the occurring event is a segment release instruction event from the distribution unit 306, the process proceeds to step S414. If the segment generation unit 305 determines that the generated event is a video stream end request event from the distribution unit 306, the process proceeds to step S415.

S402からS405までは、図9のS202からS205まで処理と同様である。第2実施形態の場合、セグメント生成部305は、S405の後にS406に処理を進める。
S406に進むと、セグメント生成部305は、タイマカウント値Tに0を設定し、タイマのカウントアップを開始させる。
次に、S407において、セグメント生成部305は、生成する全てのセグメントのダミーフレームフラグをクリアとして初期化し一時記憶部301に保存する。その後、セグメント生成部305は、S401に処理を戻す。
Steps S402 to S405 are the same as the processes from S202 to S205 in FIG. In the case of the second embodiment, the segment generation unit 305 advances the process to S406 after S405.
In step S406, the segment generation unit 305 sets the timer count value T to 0 and starts counting up the timer.
Next, in step S <b> 407, the segment generation unit 305 clears and initializes the dummy frame flags of all the segments to be generated in the temporary storage unit 301. Thereafter, the segment generation unit 305 returns the process to S401.

S408に進むと、セグメント生成部305は、自己の状態を判定する。そして、セグメント生成部305は、自己の状態が独立フレーム待ちの状態であると判定した場合にはS409に処理を進め、自己の状態が次フレーム待ちの状態であると判定した場合にはS411に処理を進める。   In step S408, the segment generation unit 305 determines its own state. Then, if the segment generation unit 305 determines that its own state is an independent frame wait state, the process proceeds to S409, and if it is determined that its own state is a next frame wait state, the process proceeds to S411. Proceed with the process.

S409に進むと、セグメント生成部305は、独立フレームが生成され一時記憶部301に保存されているかどうかを判定する。そして、セグメント生成部305は、独立フレームが生成され一時記憶部301に保存されていると判定した場合にはS410に処理を進め、独立フレームが生成され一時記憶部301に保存されてないと判定した場合にはS401に処理を戻す。   In step S409, the segment generation unit 305 determines whether an independent frame is generated and stored in the temporary storage unit 301. If the segment generation unit 305 determines that the independent frame is generated and stored in the temporary storage unit 301, the process proceeds to S410, and it is determined that the independent frame is generated and not stored in the temporary storage unit 301. If YES in step S401, the process returns to step S401.

S410に進むと、セグメント生成部305は、自己の状態を次フレーム待ちの状態に設定した後、S411に処理を進める。
S411に進むと、セグメント生成部305は、欠落期間検出部304に対し、ダミーフレーム生成判定処理を要求する。その後、セグメント生成部305は、S401に処理を戻す。
In step S410, the segment generation unit 305 sets its own state to the next frame wait state, and then proceeds to step S411.
In step S411, the segment generation unit 305 requests the missing period detection unit 304 to perform dummy frame generation determination processing. Thereafter, the segment generation unit 305 returns the process to S401.

S412に進んだ場合、セグメント生成部305は、セグメント生成処理を行う。セグメント生成処理は、図9のS211と同様である。その後、セグメント生成部305は、S401に処理を戻す。
S413に進んだ場合、セグメント生成部305は、フレーム生成時間を付加し、フレーム(映像フレーム、ダミーフレーム)情報を保存して、S401に処理を戻す。
S414に進んだ場合、セグメント生成部305は、保存しているセグメント情報と当該セグメントに含まれている映像フレームを削除する。その後、セグメント生成部305は、S401に処理を戻す。
S415に進んだ場合、セグメント生成部305は、保存している全セグメント情報と当該セグメントに含まれている映像フレーム情報を削除し、次のS416においてタイマのカウントアップを終了して処理を終了する。
When the process proceeds to step S412, the segment generation unit 305 performs a segment generation process. The segment generation process is the same as S211 in FIG. Thereafter, the segment generation unit 305 returns the process to S401.
If the process proceeds to step S413, the segment generation unit 305 adds a frame generation time, stores frame (video frame, dummy frame) information, and returns the process to step S401.
When the processing proceeds to step S414, the segment generation unit 305 deletes the stored segment information and the video frame included in the segment. Thereafter, the segment generation unit 305 returns the process to S401.
If the process proceeds to step S415, the segment generation unit 305 deletes all the stored segment information and the video frame information included in the segment, and ends the process of counting up the timer in the next step S416. .

図12は、図11のS411において欠落期間検出部304で行われるダミーフレーム生成判定処理を示すフローチャートである。
欠落期間検出部304は、セグメント生成部305からのダミーフレーム生成判定処理の要求を受けると図12の処理を開始する。
FIG. 12 is a flowchart showing the dummy frame generation determination process performed by the missing period detection unit 304 in S411 of FIG.
When receiving the request for the dummy frame generation determination process from the segment generation unit 305, the missing period detection unit 304 starts the process of FIG.

先ずS501において、欠落期間検出部304は、タイマの時間を取得し、後述する最新映像フレーム生成時間から、取得した時間までに生成されるべき映像フレームの集合を、対象映像フレームとして決定する。   First, in S501, the dropout period detection unit 304 acquires the timer time, and determines a set of video frames to be generated from the latest video frame generation time described later to the acquired time as a target video frame.

次に、欠落期間検出部304は、対象映像フレームに含まれる映像フレームについて、S502からS510までのループ処理を開始する。欠落期間検出部304は、対象映像フレームに含まれる全ての映像フレームについての処理が終了すると、対象映像フレームに含まれる映像フレームについてのループ処理を終了する。   Next, the missing period detection unit 304 starts loop processing from S502 to S510 for the video frame included in the target video frame. When the process for all video frames included in the target video frame is completed, the missing period detection unit 304 ends the loop process for video frames included in the target video frame.

S502からS510までのループ処理において、欠落期間検出部304は、先ずS503の処理として、映像フレームが生成済みか否かを判定する。欠落期間検出部304は、映像フレームが生成済みであると判定した場合にはS504に処理を進め、映像フレームが生成済みでないと判定した場合にはS506に処理を進める。映像フレームが生成済みでないと判定された場合とは、すなわち映像フレームが欠落した場合ということになる。   In the loop process from S502 to S510, the missing period detection unit 304 first determines whether a video frame has been generated as the process of S503. If the dropout period detection unit 304 determines that the video frame has been generated, the process proceeds to step S504. If the dropout period detection unit 304 determines that the video frame is not generated, the process proceeds to step S506. The case where it is determined that the video frame has not been generated means that the video frame is missing.

S504に進むと、欠落期間検出部304は、映像フレームの生成時間を取得する。
次にS505において、欠落期間検出部304は、最新映像フレーム生成時間をS504で取得した時間に更新する。
In step S504, the missing period detection unit 304 acquires the generation time of the video frame.
Next, in S505, the missing period detection unit 304 updates the latest video frame generation time to the time acquired in S504.

S506に進むと、欠落期間検出部304は、セグメント内先頭フレームが欠落したか否かを判定する。例えば、セグメント内先頭フレームが欠落したか否かは、S503で生成済みでないと判定された映像フレームがセグメント内先頭フレームか否かで判定できる。欠落期間検出部304は、セグメント内先頭フレームが欠落したと判定した場合にはS507に処理を進め、欠落していないと判定した場合にはS509に処理を進める。   In step S506, the missing period detection unit 304 determines whether the leading frame in the segment is missing. For example, whether or not the in-segment head frame is missing can be determined based on whether the video frame determined to be not generated in S503 is the in-segment head frame. If the missing period detection unit 304 determines that the leading frame in the segment is missing, the process proceeds to S507, and if it is determined that the leading frame in the segment is not missing, the process proceeds to S509.

S507に進むと、欠落期間検出部304は、符号化処理部303に対しダミーフレームの生成要求を行う。ダミーフレームの生成要求の処理は図8のS103と同様である。
次にS508において、欠落期間検出部304は、欠落した映像フレームに対応するセグメントのダミーフレームフラグをONとして一時記憶部301に保存する。
次にS509において、欠落期間検出部304は、セグメントのセグメント内欠落期間情報に欠落した映像フレームのセグメント内における順序を、セグメント内欠落期間情報に要素として追加し一時記憶部301に保存する。
次のS510において、対象映像フレームに含まれる映像フレームについての処理が続く場合にはS502に戻る。そして、全ての対象映像フレームの処理が終わった場合、図12のフローチャートの処理は終了する。
In step S507, the dropout period detection unit 304 requests the encoding processing unit 303 to generate a dummy frame. The processing of the dummy frame generation request is the same as that of S103 in FIG.
Next, in step S508, the dropout period detection unit 304 turns on the dummy frame flag of the segment corresponding to the dropped video frame, and stores it in the temporary storage unit 301.
Next, in S 509, the missing period detection unit 304 adds the order in the segment of the video frame missing in the in-segment missing period information of the segment to the in-segment missing period information as an element, and stores it in the temporary storage unit 301.
In the next S510, if the process for the video frame included in the target video frame continues, the process returns to S502. Then, when processing of all target video frames is completed, the processing of the flowchart of FIG. 12 ends.

以上のように、第2実施形態の場合、セグメント生成部305は、タイマの経過時間に応じて、符号化処理部303に生成された映像フレーム情報に応じた再生時間情報をセットしたヘッダを含むセグメントを生成する。
このように、映像処理装置101は、符号化処理部303が欠落フレーム情報を生成することがなくても、映像フレームが欠落する場合に、クライアント装置102からセグメントの要求がなされた時に、セグメント時間通りのセグメントを生成できる。すなわち、第2実施形態においても、データ量を最小限に抑えながら、セグメント時間通りにセグメントを生成可能である。
As described above, in the case of the second embodiment, the segment generation unit 305 includes a header in which reproduction time information according to the video frame information generated in the encoding processing unit 303 is set according to the elapsed time of the timer. Generate a segment
As described above, in the video processing apparatus 101, even when the encoding processing unit 303 does not generate missing frame information, when a request for a segment is made from the client device 102 when the video frame is dropped, the segment time You can generate street segments. That is, also in the second embodiment, segments can be generated on segment time while minimizing the amount of data.

<その他の実施形態>
以上、説明した実施形態では、DASH配信を例に説明したが、HLS配信など他のアダプティブストリーミング技術にも適用可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
<Other Embodiments>
As mentioned above, although DASH delivery was demonstrated to the example in the embodiment described, it is applicable also to other adaptive streaming techniques, such as HLS delivery.
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or storage medium, and one or more processors in a computer of the system or apparatus read and execute the program. Can also be realized. It can also be implemented by a circuit (eg, an ASIC) that implements one or more functions.
The above-described embodiments are merely examples of implementation for carrying out the present invention, and the technical scope of the present invention should not be interpreted in a limited manner by these. That is, the present invention can be implemented in various forms without departing from the technical concept or the main features thereof.

101:映像処理装置、302:撮像処理部、303:符号化処理部、304:欠落期間検出部、305:セグメント生成部、306:配信部   101: video processing apparatus, 302: imaging processor, 303: encoding processor, 304: missing period detector, 305: segment generator, 306: distribution unit

Claims (18)

フレーム内符号化処理またはフレーム間符号化処理によって符号化した映像フレームを生成する処理手段と、
前記処理手段で生成された少なくとも一つの映像フレームを含む映像ストリームを所定のセグメント時間で分割したセグメントを生成する生成手段と、
を有し、
前記生成手段は、前記処理手段で符号化が行われず映像フレームが生成されなかった場合、前記セグメントの中のどの映像フレームが生成されなかったかに応じて、ダミーフレームを前記セグメントに付加するかどうかを決定し、前記生成されなかった映像フレーム以外の映像フレームの表示時間を変更することにより前記所定のセグメント時間の前記セグメントを生成することを特徴とする映像処理装置。
Processing means for generating a video frame encoded by the intraframe encoding process or the interframe encoding process;
Generation means for generating a segment obtained by dividing a video stream including at least one video frame generated by the processing means by a predetermined segment time;
Have
Whether the generation means adds a dummy frame to the segment according to which image frame in the segment is not generated when the encoding means is not performed by the processing means and the image frame is not generated The video processing apparatus generates the segment of the predetermined segment time by determining the video frame other than the video frame that is not generated.
前記処理手段は、前記符号化が行われず映像フレームが生成されなかった場合には、前記生成されなかった映像フレームを表す欠落フレーム情報を更に生成することを特徴とする請求項1に記載の映像処理装置。   The video according to claim 1, wherein the processing means further generates missing frame information representing the video frame not generated when the coding is not performed and the video frame is not generated. Processing unit. 前記欠落フレーム情報に基づいて、前記セグメントにおいて前記生成されなかった映像フレームに対応する欠落期間を検出する検出手段を更に有することを特徴とする請求項2に記載の映像処理装置。   3. The video processing apparatus according to claim 2, further comprising detection means for detecting a missing period corresponding to the video frame not generated in the segment based on the missing frame information. 前記検出手段は、前記セグメントにおいて前記検出した前記欠落期間に基づいて、前記ダミーフレームの生成要求を前記処理手段に送り、
前記処理手段は、前記ダミーフレームの生成要求を受け取ると前記ダミーフレームを生成することを特徴とする請求項3に記載の映像処理装置。
The detection means sends a generation request for the dummy frame to the processing means based on the detected missing period in the segment.
4. The video processing apparatus according to claim 3, wherein the processing means generates the dummy frame when receiving the generation request of the dummy frame.
前記処理手段は、前記符号化を行って前記映像フレームを生成する場合に、前記映像フレームの生成時間を前記検出手段に通知することを特徴とする請求項3または4に記載の映像処理装置。   5. The video processing apparatus according to claim 3, wherein the processing unit notifies the generation unit of the generation time of the video frame when the encoding is performed to generate the video frame. 前記生成手段は、前記欠落フレーム情報に基づいて、前記セグメントのどの映像フレームの生成が行われなかったかを検出することを特徴とする請求項2から5のいずれか1項に記載の映像処理装置。   The video processing apparatus according to any one of claims 2 to 5, wherein the generation means detects which video frame of the segment has not been generated based on the missing frame information. . 前記処理手段は、前記符号化が行われず映像フレームが生成されなかった場合、前記符号化が行われなかった映像フレームの直後に生成する映像フレームを、フレーム内符号化によって生成することを特徴とする請求項1から6のいずれか1項に記載の映像処理装置。   When the encoding is not performed and a video frame is not generated, the processing means generates, by intraframe encoding, a video frame generated immediately after the video frame in which the encoding is not performed. The video processing apparatus according to any one of claims 1 to 6. 前記所定のセグメント時間は、前記セグメントに含まれる映像フレームを、前記処理手段が符号化を実行して生成する処理の時間を含むことを特徴とする請求項1から7のいずれか1項に記載の映像処理装置。   The said predetermined segment time contains the time of the process which the said process means performs encoding and produces | generates the imaging | video frame contained in the said segment, It is characterized by the above-mentioned. Video processing device. 前記生成手段は、前記映像フレームの表示時間を変更する場合、前記変更した表示時間を表すヘッダデータを付加した前記セグメントを生成することを特徴とする請求項1から8のいずれか1項に記載の映像処理装置。   The said generation means produces | generates the said segment which added the header data showing the said changed display time, when changing the display time of the said video frame, It is characterized by the above-mentioned. Video processing device. 前記生成手段は、前記映像フレームの表示時間を変更する場合、少なくとも一つの映像フレームの表示時間を前記符号化が行われなかった映像フレームに対応した表示時間を含むように長くした情報を含む、前記ヘッダデータを付加することを特徴とする請求項9に記載の映像処理装置。   When the display time of the video frame is changed, the generation means includes information in which the display time of at least one video frame is extended to include the display time corresponding to the video frame for which the encoding is not performed. 10. The video processing apparatus according to claim 9, wherein the header data is added. 映像を撮像する撮像手段をさらに有し、
前記処理手段は、前記撮像手段によって撮像された映像に対し前記符号化を行って前記映像フレームを生成することを特徴とする請求項1から10のいずれか1項に記載の映像処理装置。
It further comprises an imaging means for capturing an image,
The video processing apparatus according to any one of claims 1 to 10, wherein the processing unit performs the encoding on the video captured by the imaging unit to generate the video frame.
前記生成手段によって生成されるセグメントを配信する配信手段をさらに有し、
前記配信手段は、前記生成手段によって生成されるセグメントを配信する前に、少なくとも前記所定のセグメント時間を示すデータを配信することを特徴とする請求項1から11のいずれか1項に記載の映像処理装置。
It further comprises distribution means for distributing the segments generated by the generation means,
The video according to any one of claims 1 to 11, wherein the delivery means delivers data indicating at least the predetermined segment time before delivering the segment generated by the generation means. Processing unit.
前記処理手段は、所定のフレーム周期ごとに所定の増分で増加するフレーム番号を前記映像フレームまたは前記ダミーフレームに付与することを特徴とする請求項1から12のいずれか1項に記載の映像処理装置。   The video processing according to any one of claims 1 to 12, wherein the processing means assigns a frame number increasing in a predetermined increment to a video frame or the dummy frame every predetermined frame period. apparatus. 前記所定のフレーム周期は、前記映像フレームまたはダミーフレームが生成される時間間隔を含むことを特徴とする請求項13に記載の映像処理装置。   The video processing apparatus of claim 13, wherein the predetermined frame period includes a time interval at which the video frame or the dummy frame is generated. 前記所定の増分は、撮像手段が映像を撮像する時間間隔を、前記所定のフレーム周期で除した数であることを特徴とする請求項13または14に記載の映像処理装置。   15. The video processing apparatus according to claim 13, wherein the predetermined increment is a number obtained by dividing a time interval at which an imaging unit captures an image by the predetermined frame cycle. 前記ダミーフレームは、参照先の映像フレームと差分がないことを示すフレームであることを特徴とする請求項1から15のいずれか1項に記載の映像処理装置。   The video processing apparatus according to any one of claims 1 to 15, wherein the dummy frame is a frame indicating that there is no difference from a reference destination video frame. 処理手段により、フレーム内符号化処理またはフレーム間符号化処理によって符号化した映像フレームを生成する処理ステップと、
生成手段により、前記処理ステップで生成された少なくとも一つの映像フレームを含む映像ストリームを所定のセグメント時間で分割したセグメントを生成する生成ステップと、
を有し、
前記生成ステップでは、前記処理ステップで符号化が行われず映像フレームが生成されなかった場合、前記セグメントの中のどの映像フレームが生成されなかったかに応じて、ダミーフレームを前記セグメントに付加するかどうかを決定し、前記生成されなかった映像フレーム以外の映像フレームの表示時間を変更することにより前記所定のセグメント時間の前記セグメントを生成することを特徴とする映像処理方法。
A processing step of generating a video frame encoded by the intraframe encoding process or the interframe encoding process by the processing means;
Generating, by generation means, a segment obtained by dividing a video stream including at least one video frame generated in the processing step by a predetermined segment time;
Have
In the generation step, if coding is not performed in the processing step and a video frame is not generated, a dummy frame is added to the segment according to which video frame in the segment is not generated. The video processing method, wherein the segment of the predetermined segment time is generated by determining the video frame other than the video frame that is not generated.
コンピュータを、請求項1から16のいずれか1項に記載の映像処理装置の各手段として機能させるためのプログラム。   The program for functioning a computer as each means of the video processing apparatus of any one of Claim 1 to 16.
JP2017246967A 2017-12-22 2017-12-22 Video processing apparatus, video processing method, and program Pending JP2019114926A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017246967A JP2019114926A (en) 2017-12-22 2017-12-22 Video processing apparatus, video processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017246967A JP2019114926A (en) 2017-12-22 2017-12-22 Video processing apparatus, video processing method, and program

Publications (1)

Publication Number Publication Date
JP2019114926A true JP2019114926A (en) 2019-07-11

Family

ID=67222917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017246967A Pending JP2019114926A (en) 2017-12-22 2017-12-22 Video processing apparatus, video processing method, and program

Country Status (1)

Country Link
JP (1) JP2019114926A (en)

Similar Documents

Publication Publication Date Title
KR102246002B1 (en) Method, device, and computer program to improve streaming of virtual reality media content
CN106068495B (en) Streaming multiple encodings encoded using different encoding parameters
CN109889543B (en) Video transmission method, root node, child node, P2P server and system
US20150208103A1 (en) System and Method for Enabling User Control of Live Video Stream(s)
KR20130129481A (en) Streaming encoded video data
US9819972B1 (en) Methods and apparatuses for a distributed live-on-demand (LOD) origin
US10911809B2 (en) Communication apparatus, communication method, and program
US9942578B1 (en) Methods and apparatuses for a distributed live-on-demand (LOD) origin
WO2019128668A1 (en) Method and apparatus for processing video bitstream, network device, and readable storage medium
KR20190065838A (en) Server and method for generating time slice video, and user device
CN108696505B (en) Video distribution apparatus, video reception apparatus, video distribution method, and recording medium
US20140298392A1 (en) Image processing device, image processing method, and computer program
US10708667B1 (en) Combining fragments with different encodings
JP2015050572A (en) Information processing device, program, and information processing method
JP6193569B2 (en) RECEPTION DEVICE, RECEPTION METHOD, AND PROGRAM, IMAGING DEVICE, IMAGING METHOD, AND PROGRAM, TRANSMISSION DEVICE, TRANSMISSION METHOD, AND PROGRAM
JP6355634B2 (en) Data processing apparatus, data processing method, program, recording medium, and data processing system
JP2019114926A (en) Video processing apparatus, video processing method, and program
JP2010011287A (en) Image transmission method and terminal device
US11496535B2 (en) Video data transmission apparatus, video data transmitting method, and storage medium
EP3843415A1 (en) Video image-based media stream bandwidth reduction
JP2019020845A (en) Image processing apparatus and method, and image processing system
CN109104552B (en) Image pickup apparatus, processing method of image pickup apparatus, and storage medium
JP2007324722A (en) Moving picture data distribution apparatus and moving picture data communication system
JP6907104B2 (en) Video distribution device, control method and program
JP2019029931A (en) Video transmitter, video receiver, video transmission/reception system, control method, and program