Video replay device and program of the same
The video playback device addresses partial tampering in streaming video by segmenting and verifying content using a Merkle tree, switching bit rates to play back untampered segments, ensuring reliable video playback.
Patent Information
- Application Number
- JP2024074187
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-01
- Publication Date
- 2025-11-14
AI Technical Summary
Conventional methods in C2PA cannot differentiate between partial and complete tampering in streaming video content, leading to undesirable playback restrictions or display issues.
A video playback device that acquires and verifies video content in segments, switching to different bit rates to ensure playback of untampered segments, using a Merkle tree for verification and a bit rate control mechanism to manage segment acquisition.
Enables playback of streaming video content as a whole while avoiding playback of tampered parts by controlling bit rate and segment quality, ensuring untampered content is displayed.
Smart Images

Figure 2025169487000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a video playback device and a program therefor. [Background technology]
[0002] In recent years, with the rapid advancement of AI (Artificial Intelligence) technology, a large amount of unreliable content, where the source or creator of information or data is unclear, is being circulated on the Internet, such as the creation of fake images known as deepfakes and the spread of fake news on social networking services (SNS), and this has become a social problem. In order to combat this type of false information and misinformation, the Coalition for Content Provenance and Authenticity (C2PA) was established in 2021 as an organization that develops open technical specifications for presenting users with "provenance information" that indicates the source and production process of content.
[0003] C2PA is working to standardize a system that allows users to decide whether or not to trust content by embedding provenance information in the content as metadata (C2PA manifest [hereinafter referred to as manifest]) (see non-patent document 1).
[0004] As shown in Figure 11, the manifest M consists of an assertion AS, a claim CL, and a claim signature CS. The assertion AS is information embedded as provenance information, such as actions taken on the content and content metadata. The claim CL is information indicating a list of provenance information included in the assertion AS. The claim signature CS is the digital signature of the claim CL and the digital certificate used to generate the signature.
[0005] In addition, C2PA aims to create a common social understanding that content complies with C2PA's technical specifications by superimposing a pin-shaped icon (cr icon) MK with the words cr (Content Credentials) written on it, as shown in Figure 12(b), on a portion R of the content (video I) shown in Figure 12(a).
[0006] 13, company A shoots video I1 and generates manifest M1. Then, company B edits video I1 shot by company A into video I2, and company B adds company B's history information to the history information in company A's manifest M1 to generate manifest M2. By repeating this process, history information is recorded in manifest M for each action in the supply chain (workflow) from content creation (shooting) to distribution. When videos I1, I2, and I3 with history information added to manifest M are played back, the cr icon MK is superimposed on the videos. This allows the content user U to check whether or not there is provenance information, and by verifying the claim signature CS (Figure 11) set in the manifest M3, he or she can determine whether or not the content is trustworthy for each action.
[0007] In C2PA, for streaming video content such as MPEG-DASH (see Non-Patent Document 2), each segment in the entire content is linked using a Merkle tree in which the leaf nodes are the hash values of segments into which the content is divided at regular intervals of a few seconds.
[0008] In addition, MPEG-DASH realizes video distribution using adaptive bit rate, in which multiple contents with different video qualities (bit rates) are prepared by dividing them into segments, and segments with different qualities are switched and distributed depending on the network load (see Patent Document 1, etc.). [Prior art documents] [Patent documents]
[0009] [Patent Document 1] Japanese Patent Publication No. 2023-081642 [Non-patent literature]
[0010] [Non-Patent Document 1] “C2PA Technical Specification”, [online], [Retrieved April 8, 2024], Internet〈URL: https: / / c2pa.org / specifications / specifications / 2.0 / specs / C2PA_Specification.html〉 [Non-patent document 2] Mitsuhiro Hirabayashi, "Next-generation video distribution technology 'MPEG-DASH' technical overview and trends in standardization and related technologies," Journal of the Institute of Image Information and Television Engineers, Vol. 67, No. 2, pp. 109-115 (2013) Summary of the Invention [Problem to be solved by the invention]
[0011] Conventional C2PA methods can detect tampering of content or provenance information by verifying the digital signature attached to the content's provenance information. Furthermore, conventional methods only report whether or not the entire content has been tampered with, even for streaming video content. In other words, if tampering is detected, the entire content is deemed to have been tampered with. However, in streaming video content, even if only partial tampering has occurred, displaying and playing the content as if the entire content had been tampered with, or restricting playback itself, is undesirable for both distributors and users.
[0012] Therefore, an object of the present invention is to provide a video playback device and a program therefor that can play back streaming video content as tamper-free video content as a whole even if the content is partially tampered with. [Means for solving the problem]
[0013] In order to solve the above problem, the video playback device of the present invention is a video playback device that acquires and plays video content distributed at multiple bit rates from a content distribution server in segments of predetermined time units, and is configured to include a segment acquisition unit, a segment verification unit, a bit rate control unit, a playback unit, and a display unit.
[0014] In this configuration, the video playback device acquires video content segment by segment using the segment acquisition unit. Furthermore, the video playback device uses the segment verification unit to verify whether or not the segment acquired by the segment acquisition unit has been tampered with, for example, by using a hash value of a Merkle tree. Then, the video playback device uses the bit rate control unit to specify a bit rate to the segment acquisition unit and instruct it to acquire a segment, and for a segment in which tampering has been detected by the segment verification unit, instructs the segment acquisition unit to acquire a segment with a different bit rate within the same time period. Then, the video playback device plays back the video data from the segments acquired by the segment acquisition unit using the playback unit. The video playback device then displays the video data on the display unit.
[0015] This allows the video playback device to acquire segments of different bit rates in the same time period using the segment acquisition unit when the segment verification unit detects tampering of a segment. Therefore, the video playback device can acquire untampered segments unless all receivable segments of the same time period with different bit rates have been tampered with. The video playback device can be operated by a program that causes a computer to function as each of the above-mentioned units. [Effects of the Invention]
[0016] According to the present invention, by controlling the bit rate, which is the video quality at which content is played back, in streaming video content, it is possible to prevent tampered segments from being played back. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a block diagram showing the configuration of a video playback device according to an embodiment of the present invention; [Figure 2] FIG. 2 is an explanatory diagram illustrating content distributed by a content distribution server. [Figure 3] FIG. 2 is an explanatory diagram illustrating the contents of a playlist of content distributed by a content distribution server. [Figure 4] FIG. 10 is an explanatory diagram illustrating the contents of an initialization segment that constitutes the content. [Figure 5] FIG. 2 is an explanatory diagram for explaining the contents of segments (data segments) that make up the content. [Figure 6] FIG. 1 is an explanatory diagram illustrating the configuration of a Merkle tree. [Figure 7] These are examples of screens that display the presence or absence of history information, where (a) shows the display position of the history information icon on the screen, (b) is an example of an icon when content contains history information, and (c) is an example of an icon when history information or a segment has been tampered with. [Figure 8] 10 is an example of a screen displayed on a display unit and an example of a seek bar. [Figure 9] 10 is an explanatory diagram for explaining a mechanism for video playback in which a tampered segment is replaced with an untampered segment and played back in a video playback device according to an embodiment of the present invention; FIG. [Figure 10] 4 is a flowchart showing the operation of the video playback device according to the embodiment of the present invention. [Figure 11] FIG. 1 is an explanatory diagram illustrating the configuration of a manifest, which is metadata of conventional history information. [Figure 12] 10A and 10B are examples of a screen displaying the presence or absence of conventional history information, where (a) shows the display position of the history information icon on the screen, and (b) is an example of the icon when content includes history information. [Figure 13] FIG. 1 is an explanatory diagram for explaining conventional history information showing content from creation to distribution. DETAILED DESCRIPTION OF THE INVENTION
[0018] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. [Video playback device configuration] The configuration of a video playback device 1 according to an embodiment of the present invention will be described with reference to FIG. The video playback device 1 selects and acquires streaming video content delivered at a plurality of qualities (bit rates) by adaptive bit rate from a content delivery server 2, and plays back the content. Furthermore, the video playback device 1 here switches between video content for streaming (hereinafter, content) prepared in a plurality of qualities and plays it back in response to detection of tampering. The video playback device 1 acquires content distributed by a content distribution server 2 via a network (Internet) 5.
[0019] First, with reference to FIG. 2, the content distributed by the content distribution server 2 will be described. The content distributed by the content distribution server 2 is streaming video content such as MPEG-DASH, which is prepared for a plurality of qualities, similar to conventional adaptive bitrates. In other words, the content distributed by the content distribution server 2 is composed of a video I encoded by the encoder 7 at multiple qualities (here, low quality, medium quality, and high quality), an initialization segment S0, multiple data segments (hereinafter referred to as segments) S1, S2, ... generated by dividing the encoded data at intervals of several seconds, and a playlist PL that lists the playback order of these segments, etc.
[0020] 3, the playlist PL is a list containing information necessary for streaming playback, such as the segment configuration (bit rate, number of qualities, etc.), segment division units (number of seconds, etc.), and segment acquisition sources (addresses within the content distribution server 2). For example, the playlist PL is an MPD (Media Presentation Description) file if the content is MPEG-DASH, or an m3u8 file if the content is HLS.
[0021] As shown in FIG. 4, the initialization segment S0 is information that is delivered before the subsequent segments, and includes initialization information and a manifest. The initialization information includes, for example, the file type, encoding parameters, and the like. The manifest is metadata that includes provenance information, an identifier for identifying a Merkle tree (a Merkle tree ID), a hash value of the top node of the Merkle tree, and so on. The history information is information that indicates the origin and production process of the content, and includes information such as the action, date and time, creator, digital signature, and digital certificate. The Merkle tree will be explained later with reference to FIG.
[0022] As shown in FIG. 5, segments (data segments) S1, S2, S3, . . . are fragmented data obtained by dividing the encoded content at intervals of several seconds. In addition, each segment S1, S2, S3, ... is assigned an identifier for identifying the Merkle tree (a Merkle tree identification ID), the hash value of the node that is paired with the segment in the binary tree when the hash value of the segment itself is used as the leaf node, and the hash value of the node that is paired with the node above it.
[0023] Here, the configuration of the Merkle tree T will be described with reference to FIG. The Merkle tree T is a complete binary tree with leaf nodes LN, which are the hash values D(0,1), D(0,2), D(0,3), etc. of segments S1, S2, S3, etc. The hash values of segments that do not correspond to leaf nodes in the complete binary tree are set to "null." A parent node has a hash value that is the sum of the hash values of its two child nodes. For example, D(1,1) is the hash value of the sum of D(0,1) and D(0,2). In this example of Merkle tree T, for example, segment S3 is set with the hash value D(0,4) of the node that pairs with the hash value D(0,3) of its own fragmented data, the hash value D(1,1) of the node that pairs with the higher-level node, and the hash value D(2,2) of the node that pairs with the even higher-level node. In this case, the hash value of the sum of D(0,3) and D(0,4) is calculated, and the hash value of the sum of D(1,1) is then calculated, and the hash value of the sum of D(2,2) is also calculated.If this is the same as the hash value D(3,1) of the top node, then segment S3 has not been tampered with. Returning to FIG. 1, the configuration of the video playback device 1 will be described.
[0024] The video playback device 1 includes a playlist acquisition unit 10, a segment acquisition unit 11, a throughput measurement unit 12, an initialization segment verification unit 13, a segment verification unit 14, a bitrate control unit 15, a buffer 16, a playback unit 17, and a display unit 18.
[0025] The playlist acquisition unit 10 acquires, from the content distribution server 2, a playlist of content desired by the user. The playlist acquisition unit 10 requests the content distribution server 2 via the network 5 to send a playlist for the content requested by the user. The playlist acquisition unit 10 then receives the playlist from the content distribution server 2 via the network 5. The playlist is, for example, an MPD file, and includes the segment division unit (number of seconds, etc.), the acquisition destination of the segment (address within the content distribution server 2), and the like, as shown in FIG. The playlist acquisition unit 10 outputs the acquired playlist to the segment acquisition unit 11.
[0026] The segment acquisition unit 11 refers to the playlist acquired by the playlist acquisition unit 10 and acquires content in segments. The segment acquisition unit 11 sequentially requests segments from the content distribution server 2 via the network 5. At this time, the segment acquisition unit 11 requests segments of a quality (bit rate) specified by the bit rate control unit 15. For example, the segment acquisition unit 11 requests any one of high-quality, medium-quality, or low-quality segments from the content distribution server 2, depending on the specified quality. When the segment acquisition unit 11 is requested by the bit rate control unit 15 to switch the quality of an acquired segment at a certain time, it acquires a segment at the same time that has a different quality (lower quality than the acquired segment).
[0027] The segment acquisition unit 11 outputs the initialization segment (see FIG. 4) that is the head of the acquired segments to the initialization segment verification unit 13. Note that here, the segment acquisition unit 11 acquires initialization segments corresponding to all qualities in advance. The segment acquisition unit 11 outputs the segment following the initialization segment (see FIG. 5) to the segment verification unit 14 in association with the quality. Here, the segment acquisition unit 11 also outputs the time required to acquire the segment and the number of bytes of the segment to the throughput measurement unit 12.
[0028] The throughput measurement unit 12 measures the throughput when the segment acquisition unit 11 acquires a segment. Here, the throughput measurement unit 12 calculates the throughput from the time required to acquire the segment and the number of bytes of the segment input from the segment acquisition unit 11. For example, the throughput measurement unit 12 calculates the throughput by dividing the number of bytes of the segment by the time required to acquire the segment. The throughput measurement unit 12 outputs the measured throughput to the bit rate control unit 15 .
[0029] The initialization segment verification unit (history information verification unit) 13 verifies the history information included in the initialization segment (see FIG. 4) acquired by the segment acquisition unit 11. Specifically, the initialization segment verification unit 13 verifies whether the manifest of the initialization segment contains legitimate history information. Here, the initialization segment verification unit 13 verifies whether the history information has been tampered with using a digital signature and a digital certificate. Note that signature verification is a common technique, so a detailed description will be omitted. The initialization segment verification unit 13 notifies the display unit 18 of the presence or absence of history information. It also notifies the display unit 18 of the presence or absence of tampering with the history information. Furthermore, the initialization segment verification unit 13 outputs the initialization information included in the initialization segment to the reproduction unit 17 . Furthermore, the initialization segment verification unit 13 outputs to the segment verification unit 14 the Merkle tree identification ID and the hash value of the top node of the Merkle tree, which are included in the manifest of the initialization segment.
[0030] The segment verification unit 14 verifies whether or not the segments (see FIG. 5) sequentially acquired by the segment acquisition unit 11 have been tampered with based on the hash values of the segments. The segment verification unit 14 calculates the hash value of the fragmented data, which is the data of its own segment, as the hash value of the leaf node, and as explained in Figure 6, calculates the hash value of the sum of the hash value and the hash value of the paired node included in the segment in the Merkle tree T, and then calculates the hash value of the sum of the hash value and the hash value of the paired node of the upper node sequentially up to the top node.
[0031] The segment verification unit 14 then verifies the segment by checking whether the hash value of the calculation result matches the hash value of the top node of the Merkle tree that has the same Merkle tree identification ID included in the initialization segment. If the hash values are the same, the segment verification unit 14 determines that the segment has not been tampered with, and stores the segment in the buffer 16 in association with the quality (bit rate). On the other hand, if the hash values are different, the segment verification unit 14 sets a flag (tampering flag) for the segment and instructs the bit rate control unit 15 to acquire a segment of different quality within the same time period.
[0032] If the segment verification unit 14 determines based on the tampering flag that tampering has been detected in all segments within the same time period (or all segments with a quality equal to or lower than that obtainable at the current throughput), it stores, for example, the segment corresponding to the current throughput, or the segment with the highest quality among the obtained segments, or the segment obtained first, in the buffer 16, and deletes the other segments within the same time period.Then, the segment verification unit 14 notifies the display unit 18 that the segment has been tampered with.
[0033] The bit rate control unit 15 controls the quality of the segments acquired by the segment acquisition unit 11 in accordance with the throughput measured by the throughput measurement unit 12 . That is, the bit rate control unit 15 determines the quality of the segment to be acquired by comparing the throughput with a plurality of thresholds corresponding to predetermined qualities, and instructs the segment acquisition unit 11 accordingly. In addition, when the bit rate control unit 15 receives an instruction from the segment verification unit 14 to acquire a segment of different quality within the same time period as the acquired segment, the bit rate control unit 15 requests the segment acquisition unit 11 to acquire the same segment by lowering the quality. If the currently acquired segment is the lowest quality segment, the bit rate control unit 15 notifies the segment verification unit 14 that there is no segment available for acquisition within the same time period.
[0034] The buffer 16 stores the segments verified by the segment verification unit 14 in association with their quality (bit rate). The buffer 16 is configured with a storage medium such as a general semiconductor memory. The segments stored in the buffer 16 are read out sequentially by the playback unit 17.
[0035] The playback unit 17 reads out the segments from the buffer 16 and plays them back. The playback unit 17 references the file type, encoding parameters, etc. of the initialization information contained in the initialization segment, decodes the segment, and outputs it to the display unit 18 as a moving image.
[0036] The display unit 18 displays the moving image played back by the playback unit 17 on a display device (not shown). The display unit 18 is notified by the initialization segment verification unit 13 whether or not there is history information, and controls whether or not to display the cr icon in a region R that is a part of the moving image I shown in FIG. 7(a). Here, if the initialization segment verification unit 13 notifies the display unit 18 that there is no history information, the display unit 18 does not display the cr icon in the area R shown in FIG. 7(a).
[0037] On the other hand, when the initialization segment verification unit 13 notifies the display unit 18 that history information is available, the display unit 18 displays (superimposes) the cr icon MK (first icon) shown in Figure 7(b) on the area R in Figure 7(a). In addition, when the initialization segment verification unit 13 notifies that there is history information and the segment verification unit 14 notifies that tampering has been detected in the segment, the display unit 18 displays (superimposes) the cr icon MK2 (second icon) with an X mark as shown in Figure 7(c) in the area R of Figure 7(a). If tampering with a segment is detected, the display unit 18 may display a message MG (see FIG. 8) on the video to indicate that the segment has been tampered with.
[0038] Furthermore, when displaying the video played by the playback unit 17, the display unit 18 also displays a seek bar (playback bar) that indicates the verification result for the entire video. Now, with reference to FIG. 8, the seek bar displayed by the display unit 18 will be described. 8 shows a state in which a video I and a seek bar SB are displayed on a screen G. The button PB is a button for instructing playback / stop of the video I. In the initial state, the seek bar SB displays a pattern NP, which indicates that the video I has not yet been played, across the entire bar (on the playback time axis of the video). Then, the display unit 18 displays a pattern RP indicating successful verification on the seek bar SB for a segment that has been verified as not being tampered with by the segment verification unit 14. Furthermore, the display unit 18 displays a pattern DP indicating tampering detection on the seek bar SB for a segment in which tampering has been detected by the segment verification unit 14.
[0039] Furthermore, the display unit 18 displays a marker P indicating the current playback point on the seek bar SB for the segment currently being played back. In this way, the video playback device 1 verifies whether a segment has been tampered with in the segment verification unit 14 before storing the segment in the buffer 16, and therefore, as shown in Figure 8, can notify and alert the user that a tampered segment has been included even before the segment is played back.
[0040] With the above-described configuration, the video playback device 1 can control the video quality of the streaming video content to be played back, thereby making it possible to avoid playing back tampered parts as much as possible. For example, as shown in Figure 9, assume that the content distribution server 2 is capable of distributing low-quality, medium-quality, and high-quality segments S1, S2, ..., and that the high-quality segments S3 and S5 and the medium-quality segment S5 have been tampered with. In this case, the video playback device 1 plays back high-quality segments, while switching to medium-quality segments for segment S3 and low-quality segments for segment S5, allowing the user to watch a video that has not been tampered with throughout.
[0041] Even if the video playback device 1 cannot avoid playing back the tampered part, it can present the tampered part in advance using a seek bar, so that the user can recognize the tampered scene (part) and can watch the untampered video with peace of mind.
[0042] [Video playback device operation] Next, with reference to FIG. 10 (and with reference to FIG. 1 as appropriate for the configuration), the operation of the video playback device 1 according to the embodiment of the present invention will be described. The video playback device 1 operates according to a video playback method that includes the following steps as a procedure. In step S1, the playlist acquisition unit 10 acquires a playlist for content requested by a user from the content distribution server 2 via the network 5. In step S2, the segment acquisition unit 11 refers to the playlist acquired in step S1 and acquires initialization segments of the content prepared in a plurality of qualities.
[0043] In step S3, the initialization segment verification unit 13 verifies the history information included in the initialization segment acquired in step S2. Here, the initialization segment verification unit 13 verifies whether or not the history information is present and whether or not the history information has been tampered with. Here, if the history information is present, the display unit 18 displays a cr icon MK (see FIG. 7(b)) on the screen. On the other hand, if the history information has been tampered with, the display unit 18 displays a cr icon MK2 with an X mark on the screen. Thereafter, the segment acquisition process in steps S4 to S16 and the segment playback process in step S17 operate in parallel.
[0044] In step S4, the segment acquisition unit 11 acquires segments by referring to the playlist acquired in step S1. Initially, the segment acquisition unit 11 acquires segments obtained by dividing high-quality content with a high bit rate, but sequentially acquires segments of quality corresponding to the bit rate in response to bit rate switching performed in step S12, which will be described later. In step S5, the throughput measurement unit 12 measures the throughput from the time required to acquire the segment in step S4 and the number of bytes in the segment.
[0045] In step S6, the segment verification unit 14 verifies the segment acquired in step S4. Here, the segment verification unit 14 calculates the hash value of the top node in the Merkle tree from the hash value of the fragmented data of the segment acquired in step S4, and detects whether the segment has been tampered with based on whether it matches the hash value of the top node included in the initialization segment acquired in step S2.
[0046] In step S7, the segment verification unit 14 determines whether or not tampering has been detected in the segment. If tampering with the segment is detected (Yes in step S7), the segment verification unit 14 sets a flag (tampering flag) for the segment in step S8.
[0047] In step S9, the bit rate control unit 15 determines whether the acquired segment (the segment in which tampering was detected) is of the lowest quality, i.e., whether all segments in the same time period have been tampered with (whether the tampering flag is set). If tampering is detected in all segments in the same time period (Yes in step S9), the segment verification unit 14 accumulates in the buffer 16, for example, the segment corresponding to the current throughput in step S10.
[0048] In step S11, the display unit 18 displays a pattern DP on the seek bar SB indicating that tampering has been detected in the segment (see FIG. 8). Note that, if tampering with a segment is detected, the display unit 18 may constantly display a message MG (see FIG. 8) on the screen indicating that the segment has been tampered with. Then, the video playback device 1 proceeds to step S15.
[0049] On the other hand, if the segment in which tampering was detected is not of the lowest quality, i.e., if verification has not been performed for all segments in the same time period (No in step S9), in step S12, the bit rate control unit 15 switches the bit rate to a quality one step lower than the current bit rate and acquires the segment in the same time period. Then, the video playback device 1 returns to step S5 and continues its operation. If no tampering of the segment is detected in step S7 (No in step S7), the segment is stored in the buffer 16 in step S13.
[0050] In step S14, the display unit 18 displays a pattern RP on the seek bar SB, which indicates that no tampering has been detected in the segment (see FIG. 8). In step S15, the segment acquisition unit 11 refers to the playlist acquired in step S1 and determines whether all segments of the content have been acquired, that is, whether segment acquisition has been completed.
[0051] If the acquisition of the segments has not yet been completed (No in step S15), in step S16, the bit rate control unit 15 determines whether or not it is necessary to switch the bit rate (quality) based on the throughput measured in step S5.
[0052] If it is determined that the bit rate needs to be changed (Yes in step S16), the video playback device 1 proceeds to step S17. In step S17, the bit rate control unit 15 switches to a bit rate that provides the highest quality that can be obtained with the throughput measured in step S5. For example, if the bit rate was changed to a lower value to obtain a segment due to segment tampering (Yes in step S7), the bit rate is returned to the bit rate used when the first segment was obtained in the same time period. Then, the video playback device 1 proceeds to step S4 to obtain the next segment. On the other hand, if it is determined that the bit rate does not need to be switched (No in step S16), the video playback device 1 proceeds to step S4 to obtain the next segment.
[0053] If segment acquisition is completed in step S15 (Yes in step S15), the video playback device 1 ends the segment acquisition process. In parallel with this segment acquisition process, in step S18, the video playback device 1 performs segment playback process.
[0054] That is, the playback unit 17 sequentially reads and plays back the segments from the buffer 16. The display unit 18 then displays the played back video on a display device (not shown). Then, when all the segments stored in the buffer 16 have been played back, the video playback device 1 ends its operation. Through the above operations, the video playback device 1 can control the video quality of the streaming video content to be played back, thereby making it possible to avoid playing back tampered parts as much as possible.
[0055] Although the embodiments of the present invention have been described in detail above, the present invention is not limited to the above-described embodiments, and includes design modifications and the like within the scope of the present invention. For example, although the content quality has been described here as three types of quality, namely, low quality, medium quality, and high quality, the number of types of quality is not limited to three and may be any number, such as five or ten. That is, the segment acquisition unit 11 of the video playback device 1 can recognize the quality type from the playlist and switch and acquire segments according to the throughput.
[0056] Furthermore, in the above-described embodiment, the video playback device 1 is described as an independent piece of hardware, but the present invention is not limited to this. For example, the present invention can also be realized by a program that causes hardware resources such as a CPU, memory, and hard disk of a computer to function as the video playback device 1. This program may be distributed via a communication line, or may be written to a recording medium such as a CD-ROM or flash memory and distributed. [Explanation of symbols]
[0057] 1. Video playback device 10 Playlist Acquisition Section 11 Segment acquisition section 12 Throughput measurement section 13 Initialization segment verification unit (history information verification unit) 14 Segment Verification Section 15 Bitrate control section 16 buffers 17 Playback Department 18 Display 2 Content distribution server 5. Network
Claims
1. A video playback device that acquires and plays video content distributed at multiple bit rates from a content distribution server for each segment of a predetermined time unit, comprising: a segment acquisition unit that acquires the video content for each segment; a segment verification unit that verifies whether or not the segment has been tampered with based on the hash value of the segment acquired by the segment acquisition unit; a bit rate control unit that instructs the segment acquisition unit to acquire a segment by specifying a bit rate, and that instructs the segment acquisition unit to acquire a segment of the same time period but with a different bit rate for a segment detected to have been tampered with by the segment verification unit; a playback unit that plays back video data from the segments acquired by the segment acquisition unit; a display unit that displays the video data; A video playback device comprising:
2. The video playback device according to claim 1, characterized in that when the segment verification unit detects tampering in all obtainable segments of the same bit rate over the same time period, the playback unit plays back video data from one of the obtained segments over the same time period.
3. The video playback device of claim 2, characterized in that the display unit displays a seek bar indicating the playback position along with the video data, and when the playback unit plays video data from a segment in which tampering has been detected by the segment verification unit, the display unit presents the tampering detection range on the seek bar before the video data is played.
4. the segment acquisition unit sequentially acquires, as the segments, an initialization segment including a hash value of a top node of a Merkle tree generated from hash values of fragmented data obtained by dividing the video content by the time unit, and a data segment obtained by adding a hash value to the fragmented data for calculating the hash value of the top node from the fragmented data; The video playback device according to claim 1, wherein the segment verification unit calculates a hash value of the top node of the Merkle tree from the fragmented data and the hash value contained in the data segment, and detects whether the data segment has been tampered with based on whether the hash value matches the hash value contained in the initialization segment.
5. a history information verification unit that verifies whether the initialization segment includes history information including a digital signature of the video content, and if so, whether the history information has been tampered with by using the digital signature; The video playback device according to claim 4, characterized in that the display unit displays a first icon on the screen when the history information is included, and displays a second icon indicating tampering instead of the first icon when the history information has been tampered with.
6. A program for causing a computer to function as the video playback device according to any one of claims 1 to 5.
Citation Information
Patent Citations
Reception terminal and segment acquisition control method
JP2023081642A