This invention relates to video quality measurement, and more particularly, to a method and apparatus for determining a video quality metric in response to motion information. The determined video quality metric can then be used, for example, to adjust encoding parameters, or to provide the required video quality at the receiver side.
Human perception of freezing artifacts(i.e., visual pauses) is closely related to motion of a scene. When a scene moves homogeneously or fast, human eyes become sensitive to freezing artifacts.
In a commonly owned PCT application, entitled “Video Quality Measurement” by F. Zhang, N. Liao, K. Xie, and Z. Chen (PCT/CN2011/082870, Attorney Docket No. PA110050, hereinafter “Zhang”), the teachings of which are specifically incorporated herein by reference, we disclosed a method for estimating a compression distortion factor, a slicing distortion factor, and a freezing distortion factor using parameters (for example, quantization parameters, content unpredictability parameters, ratios of lost blocks, ratios of propagated blocks, error concealment distances, motion vectors, durations of freezing, and frame rates) derived from a bitstream.
The present principles provide a method for generating a quality metric for a video included in a bitstream, comprising the steps of: accessing motion vectors for a picture of the video; determining a motion homogeneity parameter responsive to the motion vectors; and determining the quality metric responsive to the motion homogeneity parameter as described below. The present principles also provide an apparatus for performing these steps.
The present principles also provide a method for generating a quality metric for a video included in a bitstream, comprising the steps of: accessing motion vectors for a picture of the video; determining a motion homogeneity parameter responsive to the motion vectors, wherein the motion homogeneity parameter is indicative of strength of homogeneity for at least one of isotropic motion vectors, radial symmetric motion vectors, and rotational symmetric motion vectors; determining a freezing distortion factor in response to the motion homogeneity parameter; and determining the quality metric responsive to the freezing distortion factor as described below. The present principles also provide an apparatus for performing these steps.
The present principles also provide a computer readable storage medium having stored thereon instructions for generating a quality metric for a video included in a bitstream, according to the methods described above.
Homogenous motions, even slow, can draw attention of human eyes. When a video decoder freezes decoding, for example, when the picture data or the reference picture is lost, and thus causes a visual pause, human perception of the freezing artifact or the visual pause is closely related to motion of a scene. When a scene moves homogeneously or fast, human eyes become sensitive to freezing artifacts.
Camera movement often causes homogenous motions in a scene. A typical set of basic camera operations includes pan, tilt, rotate/swing, translation/track/boom, and dolly/zoom, in which pan, tilt, and swing are rotation around Y-, X-, and Z-axis respectively, while boom and dolly are translation along Y- and Z-axis respectively. When capturing content, camera movement usually is not very large, and multiple types of camera operations are seldom performed at the same time. Therefore, camera operations can often be regarded as consisting of a single type of movement, for example, pan, boom, or translation only.
In addition, foreground and background objects may also cause homogeneous motions, for example, we may see homogenous motions in a video with a bus driving by or a windmill wheeling around.
In the present application, we determine a motion homogeneity parameter for a video segment from motion vectors (MVs), and use the motion homogeneity parameter to estimate a freezing distortion factor for a video sequence. In particular, the motion homogeneity parameter is used to measure how homogenous the motion vectors are in the video, and the freezing distortion factor is used to measure the freezing distortion.
Most existing video compression standards, for example, H.264 and MPEG-2, use a macroblock (MB) as the basic encoding unit. Thus, the following embodiments use a macroblock as the basic processing unit. However, the principles may be adapted to use a block at a different size, for example, an 8×8 block, a 16×8 block, a 32×32 block, or a 64×64 block.
In order to determine the motion homogeneity parameter, the motion vectors are pre-processed. For example, MVs are normalized by the interval between a predicted picture and a corresponding reference picture, and their signs are reversed if the MVs are backward-referencing. If a macroblock is intra predicted and thus has no MV, we set the MV for the MB as the MV of a collocated MB in the nearest previous picture (i.e., the MB at the same position as the current MB in the nearest previous picture) in the displaying order. For a bi-directionally predicted MB in B-pictures, we set the MV for the MB as the average of the two MVs, which are normalized by the interval between the predicted picture and the reference picture.
Subsequently, we define several homogeneity parameters to account for different types of motion fields. In the following, the homogeneity parameters for isotropic motion, radial symmetric motion, and rotational symmetric motion are discussed in detail.
A panning homogeneity parameter, denoted as IH, is used to quantify strength of motion homogeneity associated with isotropic motion vectors. Using H.264 as an example, for an individual picture, a vector mean of all MVs in the picture can be defined as:
where r indexes the MBs in the closest unimpaired picture before the τ-th pause and I indexes the partitions in the r-th MB; MVh,i,r and MVv,l,r denote horizontal and vertical components of the MV of the I-th partition in the r-th MB respectively; Al,r denotes the area (for example, the number of pixels) of the I-th partition in the r-th MB; and constants H and W are the height and width of the picture.
IH can then be defined as the magnitude of the vector mean of all MVs in the picture as:
That is, the panning homogeneity parameter relates to the size of regions in the picture that have isotopic motions, how well the motion matches the motion trend seen by human eyes, and the magnitudes of the motion vectors. For example, IH becomes greater when the camera pans, tilts, booms, translates or tracks faster. IH also becomes greater when a large foreground or background object in the scene translates.
A zooming/dollying homogeneity parameter, denoted as RH, is used to quantify strength of motion homogeneity associated with radial symmetric motion vectors. In a radial symmetric MV field, supposing the picture center as pole, all MVs present consistent radial velocities. In one embodiment, RH can be defined as the mean of all MVs' radial projections as:
where (x,y) indexes the MB in terms of the MB's Cartesian coordinate and I indexes the partitions in MB (x,y); MVh,l,x,y and MVv,i,x,ydenote the horizontal and vertical components of the MV of the I-th partition in MB (x,y), respectively; and Al,x,y denotes the area (for example, the number of pixels) of the I-th partition in MB (x,y). In
RH can also be calculated in a different way. Firstly, the difference between the sum of horizontal components of MVs in the left half picture and those in the right half picture, and the difference between the sum of vertical components of MVs in the top half picture and those in the bottom half picture are both calculated. Secondly, the two difference values are both normalized by the total number of MB in a picture, and form a 2D vector. Thirdly, RH is set as the magnitude of the formed 2D vector:
where τL, τR, τT, and τE represent the left, right, top and bottom half plane of the τ-th picture, respectively.
That is, the panning homogeneity parameter relates to the size of regions in the picture that have radial symmetric motions, how well the motion matches the motion trend seen by human eyes, and the magnitudes of the motion vectors. For example, RH becomes larger if a camera dolls or zooms faster. RH also becomes larger when a large foreground or background object follows radial symmetric motion.
In a rotational symmetric MV field, all MVs present consistent angular velocities. In
A rotation homogeneity parameter, denoted as AH, is used to quantify the strength of motion homogeneity associated with rotational symmetric motion vectors. AH can be defined as the mean of all MVs' angular projections as:
AH can also be calculated in a different way. Firstly, the difference between the sum of vertical components of MVs in the left half picture and those in the right half picture, and the difference between the sum of horizontal components of MVs in the top half picture and those in the bottom half picture are both calculated. Secondly, the two difference values are both normalized by the total number of MB in a picture, and form a 2D vector. Thirdly, AH is set as the magnitude of the formed 2D vector:
That is, the panning homogeneity parameter relates to the size of regions in the picture that have rotational symmetric motions, how well the motion matches the motion trend seen by human eyes, and the magnitudes of the motion vectors. For example, AH becomes larger when a camera rotates/swings faster. AH also becomes larger when a large foreground or background object rotates faster.
In
In the above, we discuss motion homogeneity parameters for pictures with homogeneous motions, such as isotropic motion vectors, radial symmetric motion vectors, and rotational symmetric motion vectors, respectively. The parameters relate to the size of regions with homogeneous motions, how well the motion matches the motion trend seen by human eyes, and the magnitudes of the motion vectors. In another variation, we may normalize the motion vectors, such that the motion homogeneity parameters mainly reflects the size of regions with homogeneous motions and how well the motion matches the motion trend seen by human eyes, that is, the motion homogeneity parameters become independent of motion magnitudes.
In the above, motion vectors in an unimpaired picture before the τ-th pause are used for calculating motion homogeneity parameters. In other variations, motion vectors from pictures during and after the pause can be used.
After homogeneity parameters for different types of motion fields are obtained, the overall motion homogeneity of the T-th picture can be defined, for example, as the maximum among panning, zooming, and rotation homogeneity parameters:
MHτ=max{IHτ, α1, RH96 , α2, AHτ}, (7)
where parameters α1 and α2 are to balance homogeneity parameters among the three different types of homogenous motions. We empirically set them both to 1, for the simplified formula (3) and (5). In Eq. (7), IH, RH, and AH are all considered. In other variations, we may use only one or two of these three parameters to derive the overall motion homogeneity parameter.
In other embodiments, other functions may be used to derive the overall motion homogeneity parameter based on IH, AH, and RH, such as a Sum or arithmetic mean function (MHτ=IHτ+α1·RHτ+α2·AHτ), a harmonic mean function
a product or geometric mean function, (MHτ=IHτ·RHτ·AHτ), or a sum of absolute differences (MHτ=↑IHτ−α1·RHτ+|IHτ−α2·AHτ|+|α1·RHτ−α2·AHτ|).
The motion homogeneity parameter of a video clip can be calculated as the average MHτ of all visual pauses within the clip. For example, it may be calculated as:
z
f
=MH
T=1/TΣτMHτ, (8)
where T is the total number of the visual pauses, and τ indexes the visual pause.
The motion homogeneity parameter can be used to predict a freezing distortion factor for a video sequence. For example, zf (i.e, MHT) may replace MVT in Eq. (5) of Zhang (PCT/CN2011/082870) to calculate a freezing distortion factor. That is,
d
f
=e
b
FR×(log MHT)b
wherein FR is the frame rate, FDT is freezing duration, and b6, b7 and b8 are constants.
Combining the freezing distortion factor and other distortion factors (for example, compression distortion factor and slicing distortion factor), an overall video quality metric can be obtained for the video sequence. Since motion vectors are available in a bitstream, the video quality measurement according to the present principles may be implemented on a bitstream level.
In addition, we notice that the freezing distortion caused by a final visual pause (a pause lasting until the end of a video clip), if short, is usually not annoying to human eyes. In one embodiment, a final pause that is shorter than 2 seconds is not taken into account when computing the freezing distortion factor.
Using zf, and other parameters, a quality metric may also be calculated as:
where output variable q is the predicted quality score; constants MOSub and MOSlb are the upper bound and lower bound of MOS (Mean Opinion Score), i.e., 5 and 1, respectively; α, β, {a} and {b} are model parameters (ac=1 constantly); subscripts c, f and s indicate compression, freezing and slicing impairments respectively; variables {x} and {z} are model factors and also generally termed as features, which are extracted from video data. To be specific, {x} and {z} are respectively the key factor and the co-variate associated with each type of impairment, for example., xc is the key factor for compression impairment and zs is the co-variate for slicing impairment.
The motion homogeneity parameter can also be used in other applications, for example, but not limited to, shot segmentation, video fingerprint, and video retrieval.
Method 300 may be varied from what is shown in
Demultiplexer 510 parses the input stream to obtain the elementary stream or bitstream. It also passes information about packet losses to the decoder 520. The decoder 520 parses necessary information, including QPs, transform coefficients, and motion vectors for each block or macroblock, in order to generate parameters for estimating the quality of the video. The decoder also uses the information about packet losses to determine which macroblocks in the video are lost. Decoder 520 is denoted as a partial decoder to emphasize that full decoding is not performed, i.e., the video is not reconstructed.
Using the MB level QPs parsed from decoder 520, a QP parser 533 obtains average QPs for pictures and for the entire video clip. Using transform coefficients obtained from decoder 520, a transform coefficients parser 532 parses the coefficients and a content unpredictability parameter calculator 534 calculates the content unpredictability parameter for individual pictures and for the entire video clip. Using the information about which macroblocks are lost, a lost MB tagger 531 marks which MB is lost. Further using motion information, a propagated MB tagger 535 marks which MBs directly or indirectly use the lost blocks for prediction (i.e., which blocks are affected by error propagation). Using motion vectors for blocks, an MV parser 536 calculates a motion homogeneity parameter for individual pictures and the entire video clip, for example, using method 300. Other modules (not shown) may be used to determine error concealment distances, durations of freezing, and frame rates.
A compression distortion predictor 540 estimates a compression distortion factor, a slicing distortion predictor 542 estimates a slicing distortion factor, and a freezing distortion predictor 544 estimates a freezing distortion factor. Based on the estimated distortion factors, a quality predictor 550 estimates an overall video quality metric.
When extra computation is allowed, a decoder 570 decodes the pictures. The decoder 570 is denoted as a full decoder and it will reconstruct the pictures and perform error concealment if necessary. A mosaic detector 580 performs mosaic detection on the reconstructed video. Using the mosaic detection results, the lost MB tagger 531 and the propagated MB tagger 535 update relevant parameters, for example, the lost block flag and the propagated block flag. A texture masking estimator 585 calculates texture masking weights. The texture masking weights can be used to weigh the distortions.
The video quality measurement apparatus 500 may be used, for example, in ITU-T P.NBAMS (parametric non-intrusive bitstream assessment of video media streaming quality) standard, which works on video quality assessment models in two application scenarios, namely, IPTV and mobile video streaming, also called HR (High Resolution) scenario and LR (Low Resolution) scenario respectively. The difference between the two scenario ranges from the spatio-temporal resolution of video content and coding configuration to transport protocols and viewing conditions.
The input to the P.NBAMS VQM (Video Quality Model) is coded video bitstream with all transmission packet headers (UDP/IP/RTP or UDP/IP/RTP/TS). The output is an objective MOS score. A major target application of P.NBAMS work is to monitor video quality in a set-top box (STB) or gateway. P.NBAMS mode 1 model only uses bitstream information, and mode 2 model may decode parts or all of the video sequence, and the pixel information is used for visual quality prediction in addition to parsing the bitstream information in order to improve the prediction accuracy.
Referring to
In one embodiment, a video quality monitor 640 may be used by a content creator. For example, the estimated video quality may be used by an encoder in deciding encoding parameters, such as mode decision or bit rate allocation. In another example, after the video is encoded, the content creator uses the video quality monitor to monitor the quality of encoded video. If the quality metric does not meet a pre-defined quality level, the content creator may choose to re-encode the video to improve the video quality. The content creator may also rank the encoded video based on the quality and charges the content accordingly.
In another embodiment, a video quality monitor 650 may be used by a content distributor. A video quality monitor may be placed in the distribution network. The video quality monitor calculates the quality metrics and reports them to the content distributor. Based on the feedback from the video quality monitor, a content distributor may improve its service by adjusting bandwidth allocation and access control.
The content distributor may also send the feedback to the content creator to adjust encoding. Note that improving encoding quality at the encoder may not necessarily improve the quality at the decoder side since a high quality encoded video usually requires more bandwidth and leaves less bandwidth for transmission protection. Thus, to reach an optimal quality at the decoder, a balance between the encoding bitrate and the bandwidth for channel protection should be considered.
In another embodiment, a video quality monitor 660 may be used by a user device. For example, when a user device searches videos in Internet, a search result may return many videos or many links to videos corresponding to the requested video content. The videos in the search results may have different quality levels. A video quality monitor can calculate quality metrics for these videos and decide to select which video to store. In another example, the decoder estimates qualities of concealed videos with respect to different error concealment modes. Based on the estimation, an error concealment that provides a better concealment quality may be selected by the decoder.
The implementations described herein may be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation of features discussed may also be implemented in other forms (for example, an apparatus or program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cell phones, portable/personal digital assistants (“PDAs”), and other devices that facilitate communication of information between end-users.
Reference to “one embodiment” or “an embodiment” or “one implementation” or “an implementation” of the present principles, as well as other variations thereof, mean that a particular feature, structure, characteristic, and so forth described in connection with the embodiment is included in at least one embodiment of the present principles. Thus, the appearances of the phrase “in one embodiment” or “in an embodiment” or “in one implementation” or “in an implementation”, as well any other variations, appearing in various places throughout the specification are not necessarily all referring to the same embodiment.
Additionally, this application or its claims may refer to “determining” various pieces of information. Determining the information may include one or more of, for example, estimating the information, calculating the information, predicting the information, or retrieving the information from memory.
Further, this application or its claims may refer to “accessing” various pieces of information. Accessing the information may include one or more of, for example, receiving the information, retrieving the information (for example, from memory), storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.
Additionally, this application or its claims may refer to “receiving” various pieces of information. Receiving is, as with “accessing”, intended to be a broad term. Receiving the information may include one or more of, for example, accessing the information, or retrieving the information (for example, from memory). Further, “receiving” is typically involved, in one way or another, during operations such as, for example, storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.
As will be evident to one of skill in the art, implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described implementations. For example, a signal may be formatted to carry the bitstream of a described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signal carries may be, for example, analog or digital information. The signal may be transmitted over a variety of different wired or wireless links, as is known. The signal may be stored on a processor-readable medium.
Number | Date | Country | Kind |
---|---|---|---|
PCT/CN2012/080627 | Aug 2012 | CN | national |
This application claims the benefit of WO International Application No. PCT/CN2012/080627, filed Aug. 27, 2012.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2013/077262 | 6/14/2013 | WO | 00 |