# US 9,438,913 B2 · Method, apparatus and system for evaluating quality of video streams

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,438,913 B2
- Document ID: US9438913B2
- Status: Granted
- Kind: B2
- Application number: 14/050,740
- Filed: 2013-10-10
- Published: 2014-02-06
- Granted: 2016-09-06
- Earliest claimed: 2008-07-10
- Assignees: SnapTrack, Inc.
- Applicants: Snaptrack, Inc.
- Inventors: Qingpeng Xie; Fuzheng Yang; Shuai Wan
- Web page: https://patentgrep.com/patent/US9438913B2

## CPC

- H04N 19/89: involving methods or arrangements for detection of transmission errors at the decoder
- H04L 65/80: Responding to QoS
- H04N 17/004: {for digital television systems}
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/61: in combination with predictive coding
- H04N 21/4385: Multiplex stream processing, e.g. multiplex stream decrypting
- H04N 21/44008: {involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream (arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59)}
- H04N 21/442: Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk {(arrangements for monitoring broadcast services or broadcast-related services H04H60/29; arrangements for identifying or recognising characteristics with a direct linkage to broadcast information H04H60/35; monitoring of user activities for profile generation for accessing a video database G06F16/739; monitoring in wireless networks H04W24/00)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for evaluating quality of video streams includes: obtaining video streams; obtain coding information of video frames in the video stream; evaluating the single frame quality according to the coding information of the video frames; and evaluating the sequence quality according to the single frame quality evaluation result. An apparatus and a system for evaluating quality are also provided. Thus, the quality of video data packets transmitted in a channel can be predicted accurately, and the single frame quality evaluation result of the video frames can be obtained immediately.

## Claims

### Claim 1

A method for evaluating quality of video streams, comprising:
obtaining a sequence of video frames for one or more video streams;
obtaining coding information associated with video frames in the sequence of video frames, in which the coding information comprises a coding type of the video frames;
determining whether the coding type of a current frame is a first coding type or a second coding type;
evaluating single frame quality levels for individual frames in the sequence of frames according to the coding information to obtain a single frame quality evaluation result, if it is determined that the coding information of the current frame is the first coding type, wherein the evaluating, when the coding information of the current frame is the first coding type, is based at least in part on a coding rate of the current frame, at least one intra-coded (I) frame constant, or a frame rate parameter of the sequence of video frames;
delaying evaluating of the single frame quality levels until coding information of a reference frame for the second coding type is received and analyzed, if it is determined that the coding information of the current frame is the second coding type, wherein the evaluating, when the coding information of the current frame is the second coding type, is based at least in part on a coding rate of the current frame, at least one predicted (P) frame constant when the current frame is a P frame, at least one bidirectional (B) frame constant when the current frame is a B frame, or a frame rate parameter of the sequence of video frames; and
evaluating a sequence quality level for the entire sequence of frames in accordance with the single frame quality levels.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the coding information comprises a coding rate, packet loss information, and the frame rate parameter of the sequence of video frames.

### Claim 3 (depends on 2)

The method according to claim 2, wherein evaluating the single frame quality levels comprises: using the coding type of the video frames, the coding rate, the packet loss information, and the frame rate parameter of the sequence of video frames to evaluate the single frame quality levels, wherein the coding type identifies each frame as an I frame, a P frame, or a B frame.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the method further comprises: outputting the single frame quality levels or the sequence quality level.

### Claim 5 (depends on 1)

The method according to claim 1, wherein evaluating the single frame quality levels comprises:
evaluating single frame quality levels for each respective I frame before evaluating single frame quality levels for P frames and B frames corresponding to the respective I frame.

### Claim 6 (depends on 5)

The method according to claim 5, wherein evaluating single frame quality levels for each respective I frame before evaluating single frame quality levels for P frames and B frames corresponding to the respective I frame comprises:
buffering coding information for corresponding P frames and B frames while evaluating the single frame quality level of the respective I frame; and
evaluating the single frame quality level for the corresponding P frames and B frames in accordance with the buffered coding information after evaluating the single frame quality for the respective I frame.

### Claim 7

An apparatus comprising:
a processor; and
a computer readable storage medium storing programming for execution by the processor, the programming including instructions to:
obtain a sequence of video frames for one or more video streams;
obtain coding information associated with video frames in the sequence of video frames, in which the coding information comprises a coding type of the video frames;
determine whether the coding type of a current frame is a first coding type or a second coding type;
evaluate single frame quality levels for individual frames in the sequence of frames according to the coding information to obtain a single frame quality evaluation result, if it is determined that the coding information of the current frame is the first coding type, wherein the evaluating, when the coding information of the current frame is the first coding type, is based at least in part on a coding rate of the current frame, at least one intra-coded (I) frame constant, or a frame rate parameter of the sequence of video frames;
delay evaluating of the single frame quality levels until coding information of a reference frame for the second coding type is received and analyzed, if it is determined that the current frame is the second coding type, wherein the evaluating, when the coding information of the current frame is the second coding type, is based at least in part on a coding rate of the current frame, at least one predicted (P) frame constant when the current frame is a P frame, at least one bidirectional (B) frame constant when the current frame is a B frame, or a frame rate parameter of the sequence of video frame; and
evaluate a sequence quality level for the entire sequence of frames in accordance with the single frame quality levels.

### Claim 8 (depends on 7)

The apparatus according to claim 7, wherein the coding information comprises packet loss information, and the frame rate parameter of the sequence of video frames.

### Claim 9 (depends on 8)

The apparatus according to claim 8, wherein the instructions to evaluate single frame quality levels for individual frames in the sequence of frames includes instructions to:
use the coding type, the coding rate, the packet loss information, and the frame rate parameter to evaluate the single frame quality levels, wherein the coding type identifies each frame as an I frame, a P frame, or a B frame.

### Claim 10 (depends on 7)

The apparatus according to claim 7, wherein the instructions to evaluate single frame quality levels for individual frames in the sequence of frames includes instructions to:
evaluate single frame quality levels for each respective I frame before evaluating single frame quality levels for P frames and B frames corresponding to the respective I frame.

### Claim 11 (depends on 10)

The apparatus according to claim 10, wherein the instructions to evaluate single frame quality levels for each respective I frame before evaluating single frame quality levels for P frames and B frames corresponding with the respective I frame includes instructions to:
buffer coding information for corresponding P frames and B frames while evaluating the single frame quality level of the respective I frame; and
evaluate the single frame quality level for the corresponding P frames and B frames in accordance with the buffered coding information after evaluating the single frame quality for the respective I frame.

### Claim 12 (depends on 7)

The apparatus according to claim 7, wherein the programming further includes instructions to:
obtain video data packets transmitted in a channel; and
analyze packet loss information of the video data packets, wherein the packet loss information comprises valid packets and lost packets and IDs of lost packets.

### Claim 13 (depends on 12)

The apparatus according to claim 12, wherein the instructions to analyze packet loss information of the video data packets include instructions to:
obtain video streams according to the video data packets, the packet loss information, and video compression standard.

### Claim 14 (depends on 7)

The apparatus according to claim 7, wherein the programming further includes instructions to:
output the single frame quality levels or the sequence quality level.

### Claim 15

An apparatus comprising:
a processor; and
a computer readable storage medium storing programming for execution by the processor, the programming including instructions to:
obtain a sequence of video frames for one or more video streams;
obtain coding information associated with video frames in the sequence of video frames;
evaluate single frame quality levels for individual frames in the sequence of frames according to the coding information; and
evaluate a sequence quality level for the entire sequence of frames in accordance with the single frame quality levels;
wherein the instructions to evaluate the sequence quality level for the entire sequence of frames includes instructions to:
calculate a mean value of single frame quality levels within a time segment;
determine a weighted value of the video frames by performing a square operation on the difference between the mean value and the single frame quality levels within the time segment; and
perform a weighted average operation on the weighted value and the single frame quality levels within the time segment to obtain the sequence quality level within the time segment.
