Abstract:
A method to determine when to compare original data (such as the original image) to rendered data (such as the rendered image) for the purpose of determining the fidelity of without some of the disadvantages of the prior art is disclosed. This is done by assessing the quality of service of a network path at a given time or by assessing the conditions of the network path over time and deciding specific times at which to test.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to telecommunications in general, and, more particularly, to transmission of data across a network. 
       BACKGROUND OF THE INVENTION 
       [0002]    Video signals, such as high-definition television (HDTV) signals, are increasingly being transmitted over networks that have no quality-of-service guarantees, such as Internet Protocol networks. Consequently, there is information loss as video streams across these networks. 
         [0003]    In a movie theater, a film reel rolls in front of a light at (usually) 24 frames per second. If someone were to look at any single frame in the film, he or she would see a complete picture. Film is like a “flip-book” in which each drawing is slightly different than the one before it. Digital video works differently. 
         [0004]    Digital video is compressed in order to get the highest quality of video with the smallest amount of data possible. Frequently, video compression systems work by sending a single “frame” of a video as an image and—instead of sending the entire image of the next frame—the system sends only the difference between the single image and the image preceding it. By sending only the difference between the two images, the amount of data required to transmit the next image is less than sending a whole image. 
         [0005]    When packets of data are lost in a network, often the instructions of how to take one image and add the differences between images are lost. This leads to images being rendered improperly. If the amount of data loss is small, then the difference between the original image and the rendered image that a viewer sees may be too small for an individual to notice. Even if the differences are noticeable, a person would probably be unable to quantify the differences between the two images. 
         [0006]    For the purpose of this specification, the term “fidelity” is defined as the degree to which a network path accurately reproduces the sound or image of its input information. 
         [0007]    For example and without limitation, the differences in the original image and the rendered image are a result of losses of fidelity. Loss of fidelity may result from various issues, for example and without limitation, the quality of service along a network path, other network conditions, losses inherent to compression, problems with compressing the information, etc. The data such may be, for example and without limitation, video, images, telephony, streaming audio, any time-sensitive data, any quality-of-service sensitive data, etc. 
         [0008]    For the purposes of this specification, a “network path” is defined as a pair of source and destination nodes in a network. 
         [0009]    The service provided by a network path is characterized by its “quality of service,” which, for the purposes of this specification, is defined as a function of the bandwidth, error rate, and latency, and their time derivatives, of the network path. 
         [0010]    For the purposes of this specification, the “bandwidth” from one node to another is defined as an indication of the amount of information per unit time that can be transported from the first node to the second. Typically, bandwidth is measured in bits or bytes per second. For the purposes of this specification, the “error rate” from one node to another is defined as an indication of the amount of information that is corrupted as it travels from the first node to the second. Typically, error rate is measured in bit errors per bit or packets lost per packet. For the purposes of this specification, the “latency” from one node to another is defined as an indication of how much time is required to transport information from one node to another. Typically, latency is measured in seconds. 
         [0011]    There exist several methods to determine the fidelity. There are subjective techniques, for example and without limitation, asking an individual, asking a group and taking an average (“mean opinion score”), etc. There are also objective techniques. These techniques fall into three main categories: full-reference, reduced reference, and no-reference techniques. 
         [0012]    In full reference techniques, the original image is compared to the received image using image processing techniques. Hence, full reference techniques require access to both the original transmitted and the received video sequences. These measurements are computationally intensive. 
         [0013]    Reduced reference techniques extract various features from both the original and the distorted video sequences and compare the extracted features of the original and the distorted images to each other. While the comparison of only the extracted features reduces the computational overhead, it may still be computationally intensive to extract the features from the source video. Additionally, the extracted features of the original image would still need to be sent across the network and synchronized to the received image. For off-line network assessment, pre-defined set of images can be used. 
         [0014]    No-reference techniques use only the received distorted image. These techniques can be pixel-based or bitstream based and are more suitable for both in-service monitoring and off-line network assessment for video quality. Pixel-based techniques look for known distortions in the images to assess quality. However, they cannot handle video sequences with unanticipated distortions. Bitstream-based techniques are computationally lighter since they do not require decoding. Assessment of video quality is computationally simple. However, additional upfront computation is required. 
         [0015]    All of the above methods require large amounts of computation. Because the computational requirements of all these methods are high, they can only be used sparingly without causing undue burdens on processing resources. 
       SUMMARY OF THE INVENTION 
       [0016]    The present invention is a method to determine when to compare original data (such as the original image) to rendered data (such as the rendered image) for the purpose of determining the fidelity of without some of the disadvantages of the prior art. This is done by assessing the quality of service of a network path at a given time or by assessing the conditions of the network path over time and deciding specific times at which to test. 
         [0017]    In accordance with the illustrative embodiment of the present invention, the greater the changes in network conditions, the greater the frequency of testing. Consequently, when changes in network conditions are less, testing occurs less frequently. Also in accordance with the illustrative embodiment of the present invention, the worse network conditions are, the more frequently testing is performed. Because the fidelity of information across a network path is affected by the quality of service along that network path. 
         [0018]    Different tests of fidelity can be performed or the same test can be performed each time. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0019]      FIG. 1  depicts a schematic diagram of a portion of telecommunications system  100  in accordance with the illustrative embodiment of the present invention. 
           [0020]      FIG. 2  depicts a schematic diagram of a portion of telecommunications system  100  in accordance with the illustrative embodiment of the present invention. 
           [0021]      FIG. 3  depicts a schematic diagram of a portion of telecommunications system  100  in accordance with the illustrative embodiment of the present invention. 
           [0022]      FIG. 4  depicts a flowchart of the salient tasks associated with the operation of the illustrative embodiment of the present invention. 
           [0023]      FIG. 5   a  depicts a flowchart of the salient tasks associated with the operation of task  403  in accordance with the illustrative embodiment of the present invention. 
           [0024]      FIG. 5   b  depicts a flowchart of the salient tasks associated with the operation of task  403  in accordance with the illustrative embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0025]      FIG. 1  depicts a schematic diagram of a portion of telecommunications system  100  in accordance with the illustrative embodiment of the present invention. Telecommunications system  100  comprises telecommunications terminals  101 - 1  through  101 - 8 , telecommunications network  102 , and data processing system  103 . 
         [0026]    Although telecommunications network comprises eight (8) telecommunications terminals, it will be clear to one skilled in the art, after reading this disclosure how to make and use alternative embodiments of the present invention in which there are any number of telecommunications terminals. 
         [0027]    Although telecommunications network comprises one telecommunications network, it will be clear to one skilled in the art, after reading this disclosure how to make and use alternative embodiments of the present invention in which there are any number of telecommunications networks. 
         [0028]    Although telecommunications network comprises one data processing system, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which there are any number of data processing centers. 
         [0029]    Telecommunications terminals  101 - 1  through  101 - 8  are hardware and software for communicating on a telecommunications network. In accordance with the illustrative embodiment of the present invention, telecommunications terminals  101 - 1 , through  101 - 8  can be either wireline terminals or wireless terminals, or a combination of both. It will be clear to one skilled in the art, after reading this disclosure, how to make and use telecommunications terminals  101 - 1  through  101 - 8 . 
         [0030]    In accordance with the illustrative embodiment of the present invention, telecommunications terminals  101 - 1  through  101 - 8  are capable of transmitting, receiving, rendering, and displaying data (including video), but it will be clear to one skilled in the art after reading this disclosure, how to make and use alternative embodiments of the present invention, in which telecommunications terminals  101 - 1  through  101 - 8 , for example and without limitation, transmit and receive data and video signals without displaying them themselves, only receive data, etc. In accordance with the illustrative embodiment of the present invention, telecommunications terminals  101 - 1  through  101 - 8  are devices such as televisions, set-top boxes, personal computers, mobile telecommunications terminals, such as mobile telephones or smartphones, etc. 
         [0031]    Telecommunications network  102  is a private network, but it will be clear to those skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which telecommunication network  102  is another network, for example and without limitation, the Public Switched Telephone Network, the Internet, a private data network, a community access television network, a cable television system, a fiber optic data network, a satellite network, etc. 
         [0032]    Data processing system  103  is hardware and software for distributing data across telecommunications network  102 . It will be clear to one skilled in the art, after reading this disclosure, how to make and use data processing system  103 . 
         [0033]      FIG. 2  depicts a schematic diagram of a portion of telecommunications system  100  in accordance with the illustrative embodiment of the present invention. Telecommunications system  100  comprises telecommunications terminals  101 - 1  through  101 - 8 , telecommunications network  102 , data processing system  103 , communication node  201 - 1  through  201 - i  where i can be between 1 and I, and communication link  202 - 1  through  202 - j  where j can be between 1 and J. 
         [0034]    Although telecommunications network comprises seven (7) communication nodes, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which there are any number of communication nodes. 
         [0035]    Although telecommunications network comprises nineteen (19) communication links, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which there are any number of communication links. 
         [0036]    Telecommunications network  102  comprises a plurality of nodes and their physical interconnections, arranged in the topology shown. It will be clear to those skilled in the art, however, after reading this specification, how to make and use alternative embodiments of the present invention with networks that comprise any number of nodes and have any topology. 
         [0037]    Each node in telecommunications network  102  is capable of receiving a packet and of forwarding that packet to another node, in well-known fashion, based on the destination address in the packet. For example, when node  201 - 1  receives a packet from source node telecommunications terminal  201 - 1 , which packet contains node telecommunications terminal  101 - 3  as its destination address, node  201 - 1  must decide which of its adjacent nodes to forward the packet. 
         [0038]    When all of the resources in a network are functioning and there is little congestion, each node forwards a packet to the node listed as the entry for the preferred next node and the packet progresses from one preferred next node to the next and the next and so on until it reaches its destination node. 
         [0039]    In accordance with the illustrative embodiment of the present invention, a network path may comprise the path data takes from data processing system  103  to a given telecommunications terminal (such as telecommunications terminal  101 - 8 ). For example, and without limitation, data may travel from data processing system  103  to telecommunications terminal  101 - 8  along a network path that comprises link  202 - 1  or instead may travel along a network path that travels instead to node  201 - 3 . It will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which there are any number of network paths between the data processing system  103  and any telecommunications terminal and between any two telecommunications terminals. 
         [0040]    It will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which information is divided into any number of packets, each of which is sent along a different network path. 
         [0041]      FIG. 3  depicts a schematic diagram of a portion of telecommunications system  100  in accordance with the illustrative embodiment of the present invention. Telecommunications system  100  comprises original image  301  to be transmitted from data processing system  103 , telecommunications network  102 , and received image  302  that is received at a given telecommunications terminal. 
         [0042]    Although  FIG. 3  depicts only one original image, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which there are any number of images transmitted. 
         [0043]    Although  FIG. 3  depicts only one received image, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which there are any number of images received. 
         [0044]    Although  FIG. 3  depicts only one telecommunications terminal receiving an image, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which there are any number of telecommunications terminals. 
         [0045]    Although  FIG. 3  depicts only one (1) telecommunications network, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which any number of telecommunications networks are used. 
         [0046]    Although  FIG. 3  depicts only one (1) data processing system, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which there are any number of data processing systems. 
         [0047]    In accordance with the illustrative embodiment of the present invention, original image  301  is transmitted from data processing system  103  across telecommunications network  102  and is received as received image  302 . 
         [0048]    In accordance with the illustrative embodiment of the present invention, original image  301  is a frame of video. However, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which original image  301  is any information. 
         [0049]    In accordance with the illustrative embodiment of the present invention, received image  302  is a frame of video. However, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which received image  302  is another form of data. 
         [0050]    In accordance with the illustrative embodiment of the present invention, ideally original image  301  and received image  302  are exactly identical. However, because of various factors, for example and without limitation, quality of service across a network path in telecommunications network  102 , packet loss, compression problems, etc. received image  302  may differ from original image  301 . 
         [0051]    Tests can be performed to determine the fidelity from original image  301  to received image  302 . In accordance with the illustrative embodiment of the present invention, these tests include, for example and without limitation, objective tests such as the video quality score (VQM), subjective tests such as bitstream-based tests, or some combination of the two tests. It will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention that perform these tests. 
         [0052]      FIG. 4  depicts a flowchart of the salient tasks associated with the operation of the illustrative embodiment of the present invention. 
         [0053]    In accordance with the illustrative embodiment of the present invention, the tasks outlined in  FIG. 4  are performed at data processing system  103 . However, it will be clear to one skilled in the art, after reading this disclosure, how to make and use other implementations of the present invention in which some or all of the steps are performed by another device, for example, and without limitation, a telecommunications terminal, a separate data processing system, a television, a server, etc. 
         [0054]    Although, in accordance with the illustrative embodiment of the present invention, the tasks outlined in  FIG. 4  are performed only once, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which the tasks are performed any number of times, for example, and without limitation, the tasks are performed on a continuous basis. 
         [0055]    Although, in accordance with the illustrative embodiment of the present invention, the tasks outlined in  FIG. 4  are performed on only one network path, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which the tasks are performed any number of network paths. For example, and without limitation, these tasks may be performed on multiple network paths in a given telecommunications network in order to determine the quality of service across several network paths. 
         [0056]    At task  401 , a first measure, I 1 , of the quality of service of a network path is received at time t 1 . 
         [0057]    In accordance with the illustrative embodiment of the present invention, time t 1 , is a calendrical time. However, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which the time is represented in another fashion. 
         [0058]    For the purposes of the specification and claims, the term “calendrical time” is defined as indicative of one or more of the following: 
         [0059]    (i) a time (e.g., 16:23:58, etc.), 
         [0060]    (ii) one or more temporal designations (e.g., Tuesday, November, etc.), 
         [0061]    (iii) one or more events (e.g., Thanksgiving, John&#39;s birthday, etc.), and 
         [0062]    (iv) a time span (e.g., 8:00 pm to 9:00 pm, etc.). 
         [0063]    Although, accordance with the illustrative embodiment of the present invention, times t 1 , t 2 , t 3 , and so on are in order such that t 2  comes after t 1 , it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which the actions are performed in a different time sequence. For example, and without limitation, the actions may be performed simultaneously. 
         [0064]    At task  402 , a second measure, I 2 , of the quality of service of a network path is received at a time t 2 . 
         [0065]    At task  403 , a threshold, x, is received. In accordance with the illustrative embodiment of the present invention, the threshold, x, is a value of quality of service that is compared against the measured quality of service. For example, and without limitation, x is compared with values of I 1 , I 2 , I 3 , or any measure of quality of service. 
         [0066]    Although, in accordance with the illustrative embodiment of the present invention, the threshold is received at the same time or after the first measure, I 1 , is received, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which x is received at any time, for example, and without limitation, x is received prior to the initiation in the process, x is an a priori value, x is a value that is variable, x is a value set relative to traffic on the network path, etc. 
         [0067]    At task  404 , a time t 3  is calculated. This step is further detailed in  FIG. 5   a  and  FIG. 5   b.    
         [0068]    At task  405 , a first test of fidelity of a data signal transmitted along the network path is performed. In accordance with the illustrative embodiment of the present invention, the test may be an objective test, a subjective test, or some combination thereof. 
         [0069]    At task  406 , a third measure, I 3 , of the quality of service of a network path, is received at a time t 4 . 
         [0070]    At task  407 , a time t 5  is calculated. Although, in accordance with the illustrative embodiment of the present invention, this calculation is done in a manner like that at task  403 , it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which a different calculation is used at task  406 . 
         [0071]    At task  408 , a second test of fidelity of a data signal transmitted along the network path is performed. Although, in accordance with the illustrative embodiment of the present invention, this test is performed in a manner like that at task  404 , it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which a different test is used at task  407 . 
         [0072]    Although, in accordance with the illustrative embodiment of the present invention, two (2) tests of fidelity are performed, it will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention in which any number of tests are performed. 
         [0073]    It will be clear to one skilled in the art, after reading this disclosure, how to make and use other implementations of the present invention in which one or more of the steps are omitted or are performed in a different order than the one presented or simultaneously. 
         [0074]      FIG. 5   a  depicts a flowchart of the salient tasks associated with the operation of task  404  in accordance with the illustrative embodiment of the present invention. 
         [0075]    At task  501 , the difference between I i  and I 2 , Δ 1  is determined. In accordance with the illustrative embodiment of the present invention, this determination is of the kind: Δ 1 =I 2 −I 1 . 
         [0076]    At task  502 , a time t 3  where t 3 −t 2  is based on Δ 1  is calculated. In accordance with the illustrative embodiment of the present invention, this is done by determining the magnitude of the difference between the first measure, I 1  and the second measure, I 2 . 
         [0077]    In accordance with the illustrative embodiment of the present invention, the greater the magnitude of Δ i , the less time passes between t 3  and t 2 . Also, in accordance with the illustrative embodiment of the present invention, the lesser the magnitude of Δ 1 , the more time passes between t 3  and t 2 . 
         [0078]    It will be clear to one skilled in the art, after reading this disclosure, how to make and use other implementations of the present invention in which one or more of the steps are omitted or are performed in a different order than the one presented or simultaneously. 
         [0079]      FIG. 5   b  depicts a flowchart of the salient tasks associated with the operation of task  404  in accordance with the illustrative embodiment of the present invention. 
         [0080]    At task  503 , the difference between I 1  and the threshold x, Δ 1  is determined. In accordance with the illustrative embodiment of the present invention, this determination is of the kind: Δ 1 =x−I 1 . 
         [0081]    At task  504 , a time t 3  where t 3 −t 2  is based on Δ 1  is calculated. In accordance with the illustrative embodiment of the present invention, this is done by determining the magnitude of the difference between the first measure, I 1  and a threshold, x. In accordance with the illustrative embodiment of the present invention, the greater the magnitude of Δ 1 , the less time passes between t 3  and t 1 . Also in accordance with the illustrative embodiment of the present invention, if Δ 1  is large, the time between t 3  and t 1  would be very small or effectively zero. In this case, testing may occur immediately or as soon as possible. 
         [0082]    In accordance with the illustrative embodiment of the present invention, if I 1 &lt;x, then the quality of service along the network path is below the threshold and that testing should occur more frequently. Also, in accordance with the illustrative embodiment of the present invention, if I 1 &lt;&lt;x (is much below the threshold value), then testing should occur immediately or as soon as possible. Conversely, if I 1 &gt;x, then the quality of service along the network path is above the threshold and that testing need not occur as frequently. 
         [0083]    It will be clear to one skilled in the art, after reading this disclosure, how to make and use alternative embodiments of the present invention, that perform task  504 . 
         [0084]    It will be clear to one skilled in the art, after reading this disclosure, how to make and use other implementations of the present invention in which one or more of the steps are omitted or are performed in a different order than the one presented or simultaneously.