Abstract:
Disclosed are a social television state synchronization system and method, comprising: a first social television client being set to send a subscription request message to a second social television client; the subscription request message carrying a social television state subscribed by the first social television client; the second social television client being set to, when one or more items in the corresponding subscribed social television state are changed, send a state change notification message to the first social television client according to configuration of the second social television client or according to a service or content provider policy; the first social television client being further set to, according to configuration of the first social television client and the changed social television state carried by the state change notification message, synchronize a current social television state of the first social television client with the changed social television state of the second social television client. By means of the present invention, an objective that users watch a program synchronously and perform social interaction is implemented.

Description:
TECHNICAL FIELD 
       [0001]    The disclosure relates to social TV technology, in particular to a method and system for social TV state synchronization, and a terminal. 
       BACKGROUND 
       [0002]    Watching TV has always been a major way for information acquisition and entertainment. With the advent of a social network, people eager to socialize while watching TV. However, at present, a social application and TV are two independent functional modules. To post information to a social networking site to share the information with someone else, a user has to connect to and log into the social networking site via a device such as a computer or a mobile terminal, and then input the information to be share; or connects to the social networking site by clicking a share button using a computer or a mobile terminal. In other words, content that can be shared by a user is mostly user-input text, website information, and/or a file in a device such as a computer or a mobile terminal. There is no existing solution for implementing social interaction while watching TV by automatically learning, in watching TV, state information such as information on a TV program watched, as well as an operation performed, by a friend. 
       SUMMARY 
       [0003]    In view of this, it is desired that embodiments of the disclosure provide a method and system for social TV state synchronization and a terminal, capable of implementing synchronous program watching and social interaction between two users. 
         [0004]    To this end, a technical solution of an embodiment of the disclosure is implemented as follows. 
         [0005]    According to an embodiment of the disclosure, a system for social television (TV) state synchronization includes a first social TV client and a second social TV client. 
         [0006]    The first social TV client is configured for sending the second social TV client a subscription request including information on a social TV state to which the first social TV client is to subscribe. 
         [0007]    The second social TV client is configured for sending, when there is a change in a local social TV state corresponding to the social TV state to which the first social TV client subscribes, the first social TV client a state change notification including a changed social TV state of the second social TV client according to a strategy of a service or content provider or according to a local configuration. 
         [0008]    The first social TV client is further configured for performing, according to a local configuration, social TV state synchronization with the second social TV client by modifying a local social TV state to the changed social TV state. 
         [0009]    The first social TV client may include a first user interface, a first state information collecting module and a first communicating module. 
         [0010]    The first user interface may be configured for receiving a user operation of a first user, and informing the first state information collecting module of the user operation of the first user. 
         [0011]    The first state information collecting module may be configured for: learning, from the first user interface, the user operation of the first user; and when the user operation of the first user is to subscribe to a social TV state, generating the subscription request to subscribe to the social TV state, and sending the generated subscription request to the first communicating module. 
         [0012]    The first communicating module may be configured for sending the subscription request to the second social TV client. 
         [0013]    The second social TV client may include a second user interface, a second state information collecting module and a second communicating module. 
         [0014]    The second user interface may be configured for receiving a user operation of a second user, and informing the second state information collecting module of the user operation of the second user. 
         [0015]    The second state information collecting module may be configured for: learning, from the second user interface, the user operation of the second user; and when the user operation of the second user causes a change in a local social TV state corresponding to a social TV state to which the first user subscribes, generating the state change notification, and sending the generated state change notification to the second communicating module. 
         [0016]    The second communicating module may be configured for sending the state change notification to the first social TV client to notify the first social TV client of the change in the local social TV state, and receiving the subscription request sent by the first social TV client. 
         [0017]    The second social TV client may further include a second TV program acquiring module and a second showing module. 
         [0018]    The second TV program acquiring module may be configured for acquiring, when learning of the change in the local social TV state from the second state information collecting module, a TV program and program information corresponding to the changed social TV state from the service or content provider. 
         [0019]    The second showing module may be configured for showing the TV program acquired by the second TV program acquiring module. 
         [0020]    The first communicating module may be further configured for receiving the state change notification sent by the second social TV client, and forwarding the state change notification to the first state information collecting module. 
         [0021]    The first state information collecting module may be further configured for learning, from the state change notification, the change in the social TV state of the second social TV client and the changed social TV state. 
         [0022]    The first social TV client further may include a first synchronization module, a first TV program acquiring module and a first showing module. 
         [0023]    The first synchronization module may be configured for extracting the state change notification from the first state information collecting module, and implementing, according to the configuration of the first social TV client and the changed social TV state included in the state change notification, social TV state synchronization with the second social TV client by controlling the first TV program acquiring module to acquire a TV program and program information corresponding to the changed social TV state from the service or content provider and/or the second social TV client. 
         [0024]    The first TV program acquiring module may be configured for acquiring, under the control of the first synchronization module, the TV program and program information corresponding to the changed social TV state from the service or content provider and/or the second social TV client. 
         [0025]    The first showing module may be configured for showing the TV program acquired by the first TV program acquiring module and information on the change in the social TV state of the second social TV client. 
         [0026]    The first TV program acquiring module may be further configured for sending a TV content request to the second social TV client via the first communicating module. 
         [0027]    The second TV program acquiring module may be further configured for receiving the TV content request via the second communicating module, and sending, according to the received TV content request, the TV program and program information corresponding to the changed social TV state to the first social TV client via the second communicating module. 
         [0028]    The first TV program acquiring module may be further configured for receiving, via the first communicating module, the TV program and program information corresponding to the changed social TV state sent by the second social TV client. 
         [0029]    The first TV program acquiring module may be further configured for reading the state change notification from the first state information collecting module, and acquiring the TV program and program information corresponding to the changed social TV state from the state change notification. 
         [0030]    The second state information collecting module may be further configured for, in generating the state change notification, acquiring the TV program and program information corresponding to the changed social TV state from the second TV program acquiring module, and including the acquired TV program and program information in the state change notification. 
         [0031]    A changed social TV state may include at least one of a TV channel, a TV program identifier, a TV content segment, a TV time shift, and a TV screenshot. 
         [0032]    A social TV state for subscription may include at least one of a channel switching, a TV viewing angle switching, a TV time shifting, and a TV display mode switching. 
         [0033]    According to an embodiment of the disclosure, a method for social television (TV) state synchronization includes: 
         [0034]    sending, by a first social TV client, a second social TV client a subscription request including information on a social TV state to which the first social TV client is to subscribe; 
         [0035]    when there is a change in a local social TV state corresponding to the social TV state to which the first social TV client subscribes, sending, by the second social TV client, the first social TV client a state change notification including a changed social TV state of the second social TV client according to a strategy of a service or content provider or according to a local configuration; and 
         [0036]    performing, by the first social TV client, social TV state synchronization with the second social TV client according to a local configuration by modifying a local social TV state to the changed social TV state. 
         [0037]    The sending, by a first social TV client, a second social TV client a subscription request may include: 
         [0038]    receiving, by the first social TV client, a user operation of a first user; and when the user operation of the first user is to initiate a subscription request to subscribe to a social TV state, generating the subscription request to subscribe to the social TV state, and sending the subscription request to the second social TV client. 
         [0039]    The method may further include: after receiving the subscription request, returning, by the second social TV client, a subscription response to the first social TV client. 
         [0040]    When there is a change in a local social TV state corresponding to the social TV state to which the first social TV client subscribes, the sending, by the second social TV client, the first social TV client a state change notification including a changed social TV state of the second social TV client may include: 
         [0041]    receiving, by the second social TV client, a user operation of a second user; when the user operation of the second user causes a change in a local social TV state corresponding to a social TV state to which the first user subscribes, generating the state change notification; and sending the state change notification to the first social TV client to notify the first social TV client of the change in the local social TV state. 
         [0042]    The method may further include: 
         [0043]    when there is a change in the local social TV state, acquiring, by the second social TV client, a TV program and program information corresponding to the changed social TV state from the service or content provider; and showing the acquired TV program. 
         [0044]    The performing, by the first social TV client, social TV state synchronization with the second social TV client according to a local configuration by modifying a local social TV state to the changed social TV state may include: 
         [0045]    implementing, by the first social TV client, social TV state synchronization with the second social TV client according to the configuration of the first social TV client and the changed social TV state included in the state change notification by acquiring a TV program and program information corresponding to the changed social TV state from the service or content provider and/or the second social TV client. 
         [0046]    A social TV state may include TV content and/or a user operation. 
         [0047]    The TV content may include at least one of a TV channel, a TV program identifier, a TV content segment, a TV time shift, and a TV screenshot. 
         [0048]    The user operation may include at least one of a channel switching, a TV viewing angle switching, a TV time shifting, and a TV display mode switching. 
         [0049]    According to an embodiment of the disclosure, a terminal includes a state information collecting module, a communicating module and a synchronization module. 
         [0050]    The state information collecting module may be configured for generating a subscription request including information on a social TV state to which the terminal is to subscribe, and sending the generated subscription request to the communicating module. 
         [0051]    The communicating module may be configured for sending the subscription request to an opposite terminal, receiving a state change notification returned by the opposite terminal, and sending the state change notification to the state information collecting module. 
         [0052]    The state collecting module may be further configured for learning, from the state change notification, a change in a social TV state of the opposite terminal and the changed social TV state. 
         [0053]    The synchronization module may be configured for extracting the state change notification from the state information collecting module, and performing, according to a configuration of the terminal, social TV state synchronization with the opposite terminal by modifying a local social TV state to the changed social TV state. 
         [0054]    The terminal may further include a user interface configured for receiving a user operation, and informing the state information collecting module of the user operation. 
         [0055]    The state information collecting module may be further configured for learning the user operation from the user interface, and when the user operation is to subscribe to a social TV state, generating the subscription request to subscribe to the social TV state. 
         [0056]    The terminal may further include a TV program acquiring module and a showing module. 
         [0057]    The synchronization module may be configured for implementing social TV state synchronization with the opposite terminal by modifying a local social TV state to the changed social TV state by controlling the TV program acquiring module to acquire a TV program and program information corresponding to the changed social TV state from the service or content provider and/or the opposite terminal. 
         [0058]    The TV program acquiring module may be configured for acquiring, under the control of the synchronization module, the TV program and program information corresponding to the changed social TV state from the service or content provider. 
         [0059]    The showing module may be configured for showing the TV program acquired by the TV program acquiring module and information on the change in the social TV state of the opposite terminal. 
         [0060]    The TV program acquiring module may be further configured for sending a TV content request to the opposite terminal via the communicating module, and receiving, via the communicating module, the TV program and program information corresponding to the changed social TV state sent by the opposite terminal. 
         [0061]    Or, the TV program acquiring module may be further configured for reading the state change notification from the state information collecting module, and acquiring the TV program and program information corresponding to the changed social TV state from the state change notification. 
         [0062]    According to an embodiment of the disclosure, a terminal includes a communicating module and a state information collecting module. 
         [0063]    The communicating module is configured for receiving, from an opposite terminal, a subscription request including information on a social TV state to which the opposite terminal is to subscribe, and sending the subscription request to the state information collecting module. 
         [0064]    The state information collecting module is configured for sending, when there is a change in a local social TV state corresponding to the social TV state to which the opposite terminal subscribes, the communicating module a state change notification including a changed social TV state of the terminal according to a strategy of a service or content provider or according to a configuration of the terminal. 
         [0065]    The communicating module is further configured for sending the state change notification to the opposite terminal, such that the opposite terminal performs social TV state synchronization with the terminal by modifying a social TV state of the opposite terminal to the changed social TV state. 
         [0066]    The terminal may further include a user interface configured for receiving a user operation and informing the state information collecting module of the user operation. 
         [0067]    The state information collecting module may be further configured for learning, from the user interface, the user operation, and when the user operation causes a change in a local social TV state corresponding to the social TV state to which the opposite terminal subscribes, generating the state change notification. 
         [0068]    The terminal may further include a TV program acquiring module and a showing module. 
         [0069]    The TV program acquiring module may be configured for acquiring, when learning of the change in the local social TV state from the state information collecting module, a TV program and program information corresponding to the changed social TV state from the service or content provider. 
         [0070]    The showing module may be configured for showing the TV program acquired by the TV program acquiring module. 
         [0071]    The TV program acquiring module may be further configured for, when receiving a TV content request sent by the opposite terminal, sending, according to the received TV content request, the TV program and program information corresponding to the changed social TV state to the opposite terminal via the communicating module. 
         [0072]    Or, 
         [0073]    the state information collecting module may be further configured for, in generating the state change notification, acquiring the TV program and program information corresponding to the changed social TV state from the TV program acquiring module, and including the acquired TV program and program information in the state change notification. 
         [0074]    With a method and system for social TV state synchronization according to embodiments of the disclosure, a first social TV client generates, according to a received subscription request of a first user, a subscription request including information on a social TV state to which the first user is to subscribe and sends the subscription request to a second social TV client; the second social TV client informs the first social TV client through a state change notification when there is a change in one or more local social TV state corresponding to a social TV state under subscription; the first social TV client performs, according to a local configuration, social TV state synchronization with the second social TV client by modifying a local social TV state to a changed social TV state included in the state change notification. Thus, a user may interact with a friend while watching TV, and watch a program a friend is watching. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0075]      FIG. 1  is a diagram of a structure of a system for social TV state synchronization according to an embodiment of the disclosure; 
           [0076]      FIG. 2  is a diagram of a structure of a first social TV client in a system for social TV state synchronization according to an embodiment of the disclosure; 
           [0077]      FIG. 3  is a diagram of a structure of a second social TV client in a system for social TV state synchronization according to an embodiment of the disclosure; 
           [0078]      FIG. 4  is a schematic diagram of a social TV state for subscription according to an embodiment of the disclosure; and 
           [0079]      FIG. 5  is a flowchart of a method for social TV state synchronization according to an embodiment of the disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0080]      FIG. 1  shows a system architecture of a system for social TV state synchronization according to an embodiment of the disclosure, including a first social TV client  1  and a second social TV client  2 . 
         [0081]    The first social TV client  1  sends the second social TV client  2  a subscription request. The subscription request may include information on a social TV state to which the first social TV client  1  is to subscribe. 
         [0082]    When there is a change in one or more states corresponding to the social TV state to which the first social TV client subscribes, the second social TV client  2  sends the first social TV client  1  a state change notification according to a strategy of a service or content provider or according to a configuration of the second social TV client. 
         [0083]    For example, according to the local configuration, for privacy or for some other reasons, the second social TV client  2  may want to keep the first social TV client  1  from knowing a state change per se; or keep the first social TV client  1  from knowing a state change per se during a certain period of time, and allow the first social TV client  1  to know a state change per se beyond this period of time. 
         [0084]    The strategy of the TV content provider may refer to a strategy of the TV content provider for acquiring TV content by a client, such as a TV copyright strategy, a payment strategy, etc. For example, a TV content provider will not allow a non-subscriber user to acquire content of a subscription-based TV program the second social TV client  2  pays to watch. The second social TV client  2  asks the TV content provider if the first social TV client  1  is authorized to acquire the TV program. When the first social TV client  1  is authorized to acquire the TV program the second social TV client  2  watches, a notification sent by the second social TV client  2  to the first social TV client  1  may contain state information such as program information. Otherwise when the first social TV client  1  is not authorized to acquire the TV program the second social TV client  2  watches, the second social TV client  2  informs the first social TV client  1  that the first social TV client is not authorized to simultaneously watch the TV program the second social TV client  2  is watching. 
         [0085]    The first social TV client  1  performs, according to a configuration of the first social TV client and a changed social TV state included in the state change notification sent by the second social TV client  2 , social TV state synchronization with the second social TV client  2  by modifying a current social TV state of the first social TV client to the changed social TV state of the second social TV client  2 . 
         [0086]      FIG. 2  is a diagram of a structure of the first social TV client.  FIG. 3  is a diagram of a structure of the second social TV client. 
         [0087]    The first social TV client, as shown in  FIG. 2 , may include a first user interface  11 , a first state information collecting module  12 , a first communicating module  13 , a first synchronization module  14 , a first TV program acquiring module  15  and a first showing module  16 . 
         [0088]    The first user interface  11  may receive a user operation of a first user, and inform the first state information collecting module  12  of the user operation of the first user. 
         [0089]    The first state information collecting module  12  may learn, from the first user interface  11 , the user operation of the first user; and when the user operation of the first user is to subscribe to a social TV state, generate the subscription request to subscribe to the social TV state, and send the generated subscription request to the first communicating module. 
         [0090]    The first communicating module  13  may send the subscription request to the second social TV client  2 . 
         [0091]    The first communicating module  13  may receive the state change notification sent by the second social TV client  2 , and forward the state change notification to the first state information collecting module  12 . 
         [0092]    The first state information collecting module  12  may learn, from the state change notification, the change in the social TV state of the second social TV client and the changed social TV state. 
         [0093]    The first synchronization module  14  may extract the state change notification from the first state information collecting module  12 , and implement, according to the configuration of the first social TV client and the state change notification, social TV state synchronization with the second social TV client by controlling the first TV program acquiring module  15  to acquire a TV program and program information corresponding to the changed social TV state from the service or content provider and/or the second social TV client  2 . 
         [0094]    The first TV program acquiring module  15  may acquire, under the control of the first synchronization module  14 , the TV program and program information corresponding to the changed social TV state from the service or content provider and/or the second social TV client  2 . 
         [0095]    The first showing module  16  may show the TV program acquired by the first TV program acquiring module  15  and information on the change in the social TV state of the second social TV client  2 . 
         [0096]    The first TV program acquiring module  15  may acquire the TV program and program information corresponding to the changed social TV state from the second social TV client  2  as follows. 
         [0097]    The first TV program acquiring module  15  may send a TV content request to the second social TV client  2  via the first communicating module  13 . The second TV program acquiring module  24  may receive the TV content request via the second communicating module  23 , and send, according to the received TV content request, the TV program and program information corresponding to the changed social TV state to the first social TV client  1  via the second communicating module  23 . The first TV program acquiring module  15  may receive, via the first communicating module  13 , the TV program and program information corresponding to the changed social TV state sent by the second social TV client  2 . 
         [0098]    Alternatively, the first TV program acquiring module  15  may read the state change notification from the first state information collecting module  12 , and acquire the TV program and program information corresponding to the changed social TV state from the state change notification. In generating the state change notification, the second state information collecting module  22  may acquire the TV program and program information corresponding to the changed social TV state from the second TV program acquiring module  24 , and include the acquired TV program and program information in the state change notification. 
         [0099]    The second social client, as shown in  FIG. 3 , may include a second user interface  21 , a second state information collecting module  22 , a second communicating module  23 , a second TV program acquiring module  24  and a second showing module  25 . 
         [0100]    The second user interface  21  may receive a user operation of a second user, and inform the second state information collecting module  22  of the user operation of the second user. 
         [0101]    The second state information collecting module  22  may learn, from the second user interface  21 , the user operation of the second user; and when the user operation of the second user causes a change in a local social TV state (i.e. a social TV state of the second social TV client  2 ) corresponding to a social TV state to which the first user subscribes, generate the state change notification, and send the generated state change notification to the second communicating module  23 . The state change notification message may include the changed social TV state. 
         [0102]    Note that the second state information collecting module  22  may generate the state change notification and send the state change notification to the second communicating module  23 , which may send the state change notification to the first social TV client  1  to notify the first social TV client of the change of the social TV state only if: the second communicating module  23  receives the subscription request sent by the first social TV client  1 , and sends the subscription request to the second state information collecting module  22 . 
         [0103]    When learning of the change in the social TV state from the second state information collecting module  22 , the second TV program acquiring module  24  may acquire a TV program and program information corresponding to the changed social TV state from the service or content provider. 
         [0104]    The second showing module  25  may show the TV program acquired by the second TV program acquiring module  24 . 
         [0105]    Social TV state synchronization may be completed through collaboration of aforementioned modules. In addition, the configuration of a client may be stored in a dedicated storing module I. A social network state under subscription may be stored in a dedicated storing module II. The storing module I and the storing module II may be located at the client or at a server. 
         [0106]    Herein, the configuration of a client may include: 
         [0107]    1. automatic state synchronization with a friend (for example, when it is learned that a friend is watching a sports channel, automatic synchronization is performed to switch to the sports channel the friend is watching); 
         [0108]    2. non-automatic state synchronization with a friend, including when to start synchronization and when to stop synchronization; 
         [0109]    3. selective state synchronization with a friend (for example synchronization is performed only for a TV channel, a program, a mode or a viewing angle as selected); 
         [0110]    4. receiving no information on a change in a state of a friend; 
         [0111]    5. receiving information on a change in a state of a friend in a do-not-disturb mode; and 
         [0112]    6. receiving information on a change in a state of a friend in a pop-up or prompting mode. 
         [0113]    An aforementioned technical solution of the disclosure will be illustrated below with specific embodiments. 
       Embodiment 1 
       [0114]    According to the Embodiment, both user A and user B, who are friends to each other, are watching TV at their own homes, respectively. In order to discuss TV content they are watching on their own social TV clients, the user A may subscribe to a social TV state of the user B, in which case the social TV client of the user A is the first social TV client  1 . The subscription process may include steps as follows. 
         [0115]    I. A user A starts a local social TV client, selects a user B from a friend list through a first user interface  11 , sets a social TV state for subscription, and then initiates a subscription request with the user B. A first state information collecting module  12  acquires information on an operation of the user A from the first user interface  11 , and generates the subscription request including the set social TV state for subscription. 
         [0116]    A social TV state for subscription may include at least one of a channel switching, a TV viewing angle switching, a TV time shifting, and a TV display mode switching. 
         [0117]    The changed social TV state may include at least one of a TV channel, a TV program identifier, a TV content segment, a TV time shift, and a TV screenshot. 
         [0118]    When the user A sets a social TV state for subscription, a system may provide a state subscription list. The state subscription list may contain one or more options, namely various states aforementioned. The user A may select to mark one or more options from the state subscription list. A marked option is a social TV state under subscription. When there is a change in a social TV state under subscription at the social TV client of the user B, the social TV client of the user B will send a state change notification to the user A. As shown in  FIG. 4 , a system-provided state subscription list may contain three options, namely channel switching, TV viewing angle switching and TV display mode switching. The user A may mark the “TV display mode switching” as a social TV state the user A subscribes to. Then, when there is a TV display mode switching operation at the social TV client of the user B, the social TV client of the user B will send a state change notification to the user A. 
         [0119]    Alternatively, the user A may set no social TV state for subscription. Then a social TV state for subscription included in a subscription request may be system default. For example, “TV display mode switching” marked in  FIG. 3  may also be system default. 
         [0120]    II. The first state information collecting module  12  may provide the subscription request to a first communicating module  13 . The first communicating module  13  may send the subscription request to the social TV client of the user B. The social TV client of the user B may receive the subscription request through a second communicating module  23 , and then return a subscription response to the user A. If the subscription response indicates that the social TV state is available for subscription, the subscription is successful, otherwise the subscription fails. 
       Embodiment 2 
       [0121]    Under the scene of Embodiment 1, after a user A successfully subscribe to a social TV state of a user B, social TV state synchronization may be carried out as follows. When there is a change in a state of the user B corresponding to the social TV state user A subscribes to (for example there is a TV viewing angle switching operation), the user B may send a state change notification to the user A. Synchronization with the user B may then be performed on the social TV client of user A, specifically as follows. 
         [0122]    I. The user B switches, via a second user interface  21 , the TV viewing angle from a viewing angle  1  to a viewing angle  2 , from a sportsman  1  to a sportsman  2  in a football match, for example. The second user interface  21  may send information on the switching operation to a second state information collecting module  22 . 
         [0123]    II. After the TV viewing angle switching, the second state information collecting module  22  may learn that there is a change in the (TV viewing angle) state after acquiring information on the switching operation from the second user interface  21 . A second TV program acquiring module  24  may then acquire a TV program and program information corresponding to the new viewing angle (viewing angle  2 ) from a service or content provider (in which case a second showing module  25  may show the TV program acquired by the second TV program acquiring module  24 ). Meanwhile, the second state information collecting module  22  may generate a state change notification and send the state change notification to the social TV client of the user A via the second communicating module  23 , notifying the user A of the state change, and send the social TV state corresponding to the new viewing angle to the social TV client of the user A. 
         [0124]    III. A first showing module  16  of the user A may display, before user A, the change in the social TV state of the user B. For example, on the upper part or in the lower right corner of a display of the social TV client of the user A, a message of “your friend B has switched to the viewing angle  2 ”, as well as a TV screenshot in the viewing angle  2 , may be shown, which may be displayed according to the configuration of the user A. 
         [0125]    IV. A first synchronization module  14  of the user A may extract the social TV state corresponding to the new viewing angle from the state change notification according to the configuration of the user A. 
         [0126]    V. Based on the configuration by the user A (assuming that in the embodiment, the user A sets automatic state synchronization with the user B), the first synchronization module  14  may control a first TV program acquiring module  15  to acquire a TV program and program information according to the social TV state corresponding to the new viewing angle. The acquired TV program and program information may then be shown to the user A via the first showing module  16 , so that synchronization is completed. 
       Embodiment 3 
       [0127]    According to the embodiment, both user A and user B, who are friends to each other, are watching TV at their own homes, respectively. User A may subscribe to a social TV state of the user B. At a certain moment, the user B switches to a TV program the user B has subscribed to and paid for. The user A however does not pay for the TV program. A synchronization process may be as follows. 
         [0128]    I. A user A has subscribed to a social TV state of a user B, as described in Embodiment 1, which is not repeated. 
         [0129]    II. After user A subscribes to the social TV state of user B successfully, the user B switches from a program  1  to a program  2  via a second user interface  21 . The second user interface  21  may provide information on the switching operation to a second state information collecting module  22 . 
         [0130]    When the program  2  is a subscription-based program a user has to pay for, the social TV client of the user B has to ask a service or content provider if the user A has paid for the program. 
         [0131]    III. A content provider may return information on whether the user A has paid for the program  2 . When the user A has paid, a subsequent synchronization process is same as described in embodiment 2, and is not repeated. Otherwise when the user A has not paid for the program  2 , the social TV client of the user B may return, to the social TV client of the user A, an error message that synchronization cannot be carried out, such as “This is a paid program. As you have not paid for it, I am not authorized to send information on the program to you”. 
         [0132]    To sum up, a method for social TV state synchronization according to an embodiment of the disclosure, as shown in  FIG. 5 , may include steps as follows. 
         [0000]    In Step  501 , a first social TV client sends a second social TV client a subscription request including information on a social TV state to which the first social TV client is to subscribe. 
         [0133]    The first social TV client may receive a user operation of a first user. When the user operation of the first user is to initiate a subscription request to subscribe to a social TV state, the first social TV client may generate the subscription request to subscribe to the social TV state, and send the subscription request to the second social TV client. 
         [0134]    After receiving the subscription request, the second social TV client may return a subscription response to the first social TV client. 
         [0135]    In Step  502 , when there is a change in a local social TV state corresponding to a social TV state to which the first social TV client subscribes, the second social TV client sends the first social TV client a state change notification according to a strategy of a service or content provider or according to a local configuration. 
         [0136]    The second social TV client may receive a user operation of a second user. When the user operation of the second user causes a change in a social TV state (of the second social TV client) which corresponds to a social TV state to which the first user subscribes, the second social TV client may generate a state change notification and send the state change notification to the first social TV client to notify the first social TV client of the change in the local social TV state. The state change notification may include a changed social TV state of the second social TV client. 
         [0137]    In addition, when there is a change in the local social TV state, the second social TV client may acquire a TV program and program information corresponding to the changed social TV state from the service or content provider, and show the acquired TV program. 
         [0138]    In Step  503 , the first social TV client performs, according to a local configuration, social TV state synchronization with the second social TV client by modifying a local social TV state to a changed social TV state included in the state change notification. 
         [0139]    The first social TV client may implement social TV state synchronization with the second social TV client according to the configuration of the first social TV client and the changed social TV state included in the state change notification by acquiring a TV program and program information corresponding to the changed social TV state from the service or content provider and/or the second social TV client. 
         [0140]    Such a social TV state may include TV content and/or a user operation. 
         [0141]    Such TV content may include at least one of a TV channel, a TV program identifier, a TV content segment, a TV time shift, and a TV screenshot. 
         [0142]    Such a user operation may include at least one of a channel switching, a TV viewing angle switching, a TV time shifting, and a TV display mode switching. 
         [0143]    To implement an aforementioned method and system, an embodiment of the disclosure provides a terminal, including an aforementioned first social TV client. The terminal may include a state information collecting module, a communicating module and a synchronization module. 
         [0144]    The state information collecting module may be configured for generating a subscription request including information on a social TV state to which the terminal is to subscribe, and sending the generated subscription request to the communicating module. 
         [0145]    The communicating module may be configured for sending the subscription request to an opposite terminal, receiving a state change notification returned by the opposite terminal, and sending the state change notification to the state information collecting module. 
         [0146]    The state collecting module may be further configured for learning, from the state change notification, a change in a social TV state of the opposite terminal and the changed social TV state. 
         [0147]    The synchronization module may be configured for extracting the state change notification from the state information collecting module, and performing, according to a configuration of the terminal, social TV state synchronization with the opposite terminal by modifying a local social TV state to the changed social TV state. 
         [0148]    The terminal may further include a user interface configured for receiving a user operation, and informing the state information collecting module of the user operation. 
         [0149]    The state information collecting module may be further configured for learning the user operation from the user interface, and when the user operation is to subscribe to a social TV state, generating the subscription request to subscribe to the social TV state. 
         [0150]    The terminal may further include a TV program acquiring module and a showing module. 
         [0151]    The synchronization module may be configured for extracting a state change notification from the state information collecting module, implementing social TV state synchronization with the opposite terminal according to the configuration of the terminal and the changed social TV state included in the state change notification, by modifying a local social TV state to the changed social TV state by controlling the TV program acquiring module to acquire a TV program and program information corresponding to the changed social TV state from the service or content provider and/or the opposite terminal. 
         [0152]    The TV program acquiring module may be configured for acquiring, under the control of the synchronization module, the TV program and program information corresponding to the changed social TV state from the service or content provider and/or the opposite terminal. 
         [0153]    The showing module may be configured for showing the TV program acquired by the TV program acquiring module and information on the change in the social TV state of the opposite terminal. 
         [0154]    Alternatively, the TV program acquiring module may be further configured for sending a TV content request to the opposite terminal via the communicating module, and receiving, via the communicating module, the TV program and program information corresponding to the changed social TV state sent by the opposite terminal. 
         [0155]    Alternatively, the TV program acquiring module may be further configured for reading the state change notification from the state information collecting module, and acquiring the TV program and program information corresponding to the changed social TV state from the state change notification. 
         [0156]    An embodiment of the disclosure further provides a terminal including an aforementioned second social TV client. The terminal may include a communicating module and a state information collecting module. 
         [0157]    The communicating module may be configured for receiving, from an opposite terminal, a subscription request including information on a social TV state to which the opposite terminal is to subscribe, and sending the subscription request to the state information collecting module. 
         [0158]    The state information collecting module may be configured for sending, when there is a change in one or more local social TV states corresponding to a social TV state to which the opposite terminal subscribes, the communicating module a state change notification including a changed social TV state of the terminal according to a strategy of a service or content provider or according to a configuration of the terminal. 
         [0159]    The communicating module may be further configured for sending the state change notification to the opposite terminal, such that the opposite terminal performs social TV state synchronization with the terminal by modifying a current social TV state of the opposite terminal to the changed social TV state of the terminal. 
         [0160]    The terminal may further include a user interface configured for receiving a user operation and informing the state information collecting module of the user operation. 
         [0161]    The state information collecting module may be further configured for learning, from the user interface, the user operation, and when the user operation causes a change in a local social TV state corresponding to a social TV state to which the opposite terminal subscribes, generating the state change notification including a changed social TV state. 
         [0162]    The terminal may further include a TV program acquiring module and a showing module. 
         [0163]    The TV program acquiring module may be configured for acquiring, when learning of the change in the local social TV state from the state information collecting module, a TV program and program information corresponding to the changed social TV state from the service or content provider. 
         [0164]    The showing module may be configured for showing the TV program acquired by the TV program acquiring module. 
         [0165]    The TV program acquiring module may be further configured for, when receiving a TV content request sent by the opposite terminal, sending, according to the received TV content request, the TV program and program information corresponding to the changed social TV state to the opposite terminal via the communicating module. 
         [0166]    Alternatively, the state information collecting module may be further configured for, in generating the state change notification, acquiring the TV program and program information corresponding to the changed social TV state from the TV program acquiring module, and including the acquired TV program and program information in the state change notification. 
         [0167]    What described are merely embodiments of the disclosure, and are not intended to limit the protection scope of the disclosure.