WO2023071546A1 - 重定向方法、装置、设备、存储介质及程序产品 - Google Patents

重定向方法、装置、设备、存储介质及程序产品 Download PDF

Info

Publication number
WO2023071546A1
WO2023071546A1 PCT/CN2022/117904 CN2022117904W WO2023071546A1 WO 2023071546 A1 WO2023071546 A1 WO 2023071546A1 CN 2022117904 W CN2022117904 W CN 2022117904W WO 2023071546 A1 WO2023071546 A1 WO 2023071546A1
Authority
WO
WIPO (PCT)
Prior art keywords
redirection
destination
source
target
instance
Prior art date
Application number
PCT/CN2022/117904
Other languages
English (en)
French (fr)
Inventor
何�轩
杨俊拯
钟江
普明君
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Publication of WO2023071546A1 publication Critical patent/WO2023071546A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4108Peripherals receiving signals from specially adapted client devices characterised by an identification number or address, e.g. local network address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41422Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle

Definitions

  • the embodiments of the present application relate to the technical field of screen projection, and in particular to a redirection method, device, equipment, storage medium, and program product.
  • Redirect refers to the technology of transferring certain capabilities from one end device to another end device.
  • the transferred capabilities include video, audio and control, etc.
  • Common redirection techniques in everyday life include device casting.
  • the source device can project the currently displayed screen to the destination device, so as to achieve a better display effect.
  • the screen projection solution provided by related technologies is applicable to simple screen projection scenarios, such as implementing one-to-one screen projection scenarios or many-to-one screen projection scenarios. However, as the complexity of projection scenarios increases, such as many-to-many projection scenarios, the current projection solutions will not be applicable.
  • Embodiments of the present application provide a redirection method, device, device, storage medium, and program product. Described technical scheme is as follows:
  • an embodiment of the present application provides a redirection method, the method is used for a source device, and the method includes:
  • redirection data corresponding to the source redirection instance to the destination device, so that the destination device performs redirection on the target redirection object through the target screen indicated by the destination redirection instance based on the redirection data It is shown that the destination redirection instance and the source redirection instance correspond to the same redirection event, and the destination redirection instance is created based on the destination device identifier and the target screen identifier.
  • an embodiment of the present application provides a redirection method, the method is used for a destination device, and the method includes:
  • the source redirection instance and the destination redirection instance corresponding to the same redirection event, and the destination redirection instance based on the source device receives the redirection data corresponding to the source redirection instance transmitted by the source device, the source redirection instance and the destination redirection instance corresponding to the same redirection event, and the destination redirection instance based on the source device.
  • the identifier and the target redirection object identifier are created, and the target redirection object identifier is used to represent the target redirection object;
  • the target redirection object is displayed through the target screen.
  • an embodiment of the present application provides a redirection device, and the device includes:
  • a creation module configured to create a source redirection instance based on the source device identifier and the target redirection object identifier, where the target redirection object identifier is used to characterize the target redirection object;
  • the transmission module is configured to transmit the redirection data corresponding to the source redirection instance to the destination device, so that the destination device uses the target screen indicated by the destination redirection instance to send the redirection data to the destination device based on the redirection data.
  • the target redirection object is displayed, the target redirection instance corresponds to the source redirection instance, and the target redirection instance is created based on the target device identifier and the target screen identifier.
  • an embodiment of the present application provides a redirection device, and the device includes:
  • a creating module configured to create a destination redirection instance based on the destination device identifier and the target screen identifier, where the target screen identifier is used to characterize the target screen of the destination device;
  • a receiving module configured to receive redirection data corresponding to a source redirection instance transmitted by a source device, the source redirection instance and the destination redirection instance corresponding to the same redirection event, and the destination redirection instance
  • the instance is created based on the source device identifier and the target redirection object identifier, and the target redirection object identifier is used to represent the target redirection object;
  • a display module configured to display the target redirection object through the target screen based on the redirection data.
  • an embodiment of the present application provides a redirection system, and the redirection system includes: at least one source device and at least one destination device;
  • the source device is configured to create a source redirection instance based on the source device identifier and the target redirection object identifier, where the target redirection object identifier is used to characterize the target redirection object; and transmit the source redirection instance to the destination device.
  • the destination device is configured to create a destination redirection instance based on the destination device identifier and the target screen identifier, where the target screen identifier is used to characterize the target screen of the destination device; receive the source transmitted by the source device The redirection data corresponding to the end redirection instance, the source end redirection instance and the destination end redirection instance corresponding to the same redirection event; based on the redirection data, through the target screen to the target redirection object to show.
  • an embodiment of the present application provides a computer device, the computer device includes a processor and a memory; the memory stores at least one instruction, and the at least one instruction is used to be executed by the processor to implement the following: The redirection method described in the aspect above.
  • an embodiment of the present application provides a computer-readable storage medium, where at least one piece of program code is stored in the computer-readable storage medium, and the program code is loaded and executed by a processor to implement the above aspects.
  • the redirection method is a computer-readable storage medium, where at least one piece of program code is stored in the computer-readable storage medium, and the program code is loaded and executed by a processor to implement the above aspects. The redirection method.
  • an embodiment of the present application provides a computer program product or computer program, where the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the redirection method provided in various optional implementation manners of the foregoing aspect.
  • FIG. 1 shows a schematic diagram of an implementation environment provided by an exemplary embodiment of the present application
  • FIG. 2 shows a flow chart of a redirection method provided by an exemplary embodiment of the present application
  • FIG. 3 is a schematic diagram of a hierarchical structure of a redirection module shown in an exemplary embodiment of the present application
  • FIG. 4 shows a flowchart of a redirection method provided by another exemplary embodiment of the present application
  • Fig. 5 is an implementation schematic diagram of encoding, transmission and decoding processes shown in an exemplary embodiment of the present application
  • FIG. 6 is a flowchart of a video codec and transmission process shown in an exemplary embodiment of the present application.
  • Fig. 7 is an implementation schematic diagram of encoding, transmission and decoding processes shown in another exemplary embodiment of the present application.
  • FIG. 8 is a flowchart of a reverse control process of a destination device shown in an exemplary embodiment of the present application.
  • FIG. 9 is a flow chart of a reverse control instruction generation process shown in an exemplary embodiment of the present application.
  • Fig. 10 is an implementation schematic diagram of a process of determining touch coordinates shown in an exemplary embodiment of the present application.
  • FIG. 11 is a schematic diagram of a hierarchical structure of a redirection module shown in another exemplary embodiment of the present application.
  • Fig. 12 is a flow chart of the process of obtaining redirection information shown in an exemplary embodiment of the present application.
  • FIG. 13 is a schematic diagram of a redirection setting interface shown in an exemplary embodiment of the present application.
  • FIG. 14 shows a structural block diagram of a redirection device provided by an embodiment of the present application.
  • FIG. 15 shows a structural block diagram of a redirection device provided by another embodiment of the present application.
  • FIG. 16 is a system architecture diagram of a redirection system provided by an embodiment of the present application.
  • Fig. 17 shows a structural block diagram of a computer device provided by an exemplary embodiment of the present application.
  • Fig. 1 shows a schematic diagram of an implementation environment provided by an exemplary embodiment of the present application.
  • the implementation environment may include: at least one source device 110 and at least one destination device 120 .
  • the source device 110 is an electronic device that needs to be redirected, and it may be a mobile terminal such as a smart phone, a tablet computer, or a personal computer.
  • the source device 110 includes a tablet computer 111 and a smart phone 112 as an example for illustration.
  • the object with redirection requirements in the source device 110 is called a redirection object
  • the redirection object can be a screen mirroring or a redirection application
  • the redirection content of the redirection object can include at least one of video, audio and control kind.
  • the redirection application may be a navigation application, a video application, a game application, etc.
  • the embodiment of the present application does not limit the specific type of the screen projection application.
  • the redirection object is an application
  • the application may be running in the background during the redirection process.
  • the same source device can redirect at least two redirection objects at the same time.
  • screen mirroring and video applications can be cast at the same time
  • video applications and navigation applications can also be cast at the same time.
  • the number of redirection objects that the source device supports simultaneous redirection has an upper limit, and the upper limit is related to the processing performance of the source device.
  • the destination device 120 is an electronic device for displaying redirection results, which may be a smart phone, a tablet computer, a personal computer, a smart TV, or a vehicle terminal (such as a car machine) and the like.
  • the destination device 120 includes a first vehicle-mounted terminal 121 and a second vehicle-mounted terminal 122 as an example for illustration, wherein the first vehicle-mounted terminal 121 and the second vehicle-mounted terminal 122 are set in the same vehicle, and the first vehicle-mounted terminal 121 and the second vehicle-mounted terminal 122 are respectively controlled by different SoC (System on Chip, system-on-chip).
  • SoC System on Chip, system-on-chip
  • the first vehicle-mounted terminal 121 is a vehicle-mounted terminal installed in the front row of the vehicle
  • the second vehicle-mounted terminal 122 is a vehicle-mounted terminal installed in the rear row of the vehicle.
  • the destination device 120 has at least one screen.
  • the first vehicle-mounted terminal 121 has a first screen 1211 and a second screen 1212 (all controlled by the first SoC 1213 of the first vehicle-mounted terminal 121), and the second vehicle-mounted terminal 122 has a third screen 1221 and a fourth screen 1212. Screen 1222 (all controlled by the second SoC 1223 of the second vehicle terminal 122).
  • the at least two screens can simultaneously display different screen-casting content, or the same screen-casting content, and the screen-casting content displayed on each screen It can be a single screen projection object, or multiple screen projection objects (multiple screen projection objects are displayed on a split screen).
  • the destination device 120 may also have an audio playback function, and the audio played during the screen projection process is the audio of the screen projection object.
  • the destination device 120 can also realize the reverse control function of the screen projection content through the input and output components.
  • the input and output component may be a touch screen of the destination device 120, an external control device of the destination device 120, such as a joystick, a keyboard, a mouse, or a touchpad, etc., which is not limited in this embodiment.
  • the many-to-many redirection in the embodiment of this application is embodied in multi-source devices (multiple source devices participate in redirection), multi-redirection objects (multiple redirection objects in the same source device participate in redirection), and multi-destination devices (multiple destination devices participate in redirection) and multi-screen (multiple screens of the same destination device participate in redirection).
  • multi-source devices multiple source devices participate in redirection
  • multi-redirection objects multiple redirection objects in the same source device participate in redirection
  • multi-destination devices multiple destination devices participate in redirection
  • multi-screen multi-screen
  • the navigation application in the smartphone 112 is projected to the first screen 1211 of the first vehicle-mounted terminal 121, and is displayed in a split screen with the video application; the second game application in the smartphone 112 is projected to the second screen of the second vehicle-mounted terminal 122.
  • the third screen 1221 and the fourth screen 1222 that is, the third screen 1221 and the fourth screen 1222 display the same screen projection content.
  • the user can operate the screen-casting application on the screen, thereby realizing reverse control of the screen-casting application.
  • connection mode adopted between the source device 110 and the destination device 120 may include at least one of Wlan AP mode, WiFi-P2P, USB wired connection, and mobile data network, which is not included in this embodiment of the present application. Not limited.
  • the above-mentioned embodiments only take the screen projection from the mobile terminal to the vehicle-mounted terminal as an example (that is, the vehicle-machine scenario) for schematic illustration.
  • the solution provided by the embodiment of the present application can be applied to other many-to-many redirection scenarios. This embodiment does not Specific application scenarios constitute limitations.
  • FIG. 2 shows a flow chart of a redirection method provided by an exemplary embodiment of the present application.
  • the embodiment of the present application takes the application of the method in the implementation environment shown in FIG. 1 as an example.
  • the method includes:
  • the source device creates a source redirection instance based on the source device identifier and the target redirection object identifier, and the target redirection object identifier is used to represent the target redirection object.
  • the type of the redirection object includes at least one of screen mirroring or redirection application, and the type of redirection content of the redirection object includes at least one of audio, video and control.
  • the source device creates a source redirection instance based on the source device identifier (that is, its own device identifier) and the target redirection object identifier of the target redirection object to be redirected, That is, an instance of source redirection is formed in units of "source device + redirection object".
  • the source redirection instances created by different source devices are different;
  • the source redirection instances created by the same source device based on different redirection objects are also different.
  • the source device creates a source redirection instance when it receives a redirection operation, or creates a source redirection instance when the source device receives a redirection instruction from a third-party device, that is, the source device performs redirection Orientation can be triggered on the side of the source device or by a third-party device, where the third-party device and the source device are in the same scheduling domain, for example, the third-party device and the source device log in with the same user account.
  • the source device may redirect the screen mirroring, and may also redirect the installed and running application (ie, the redirection application).
  • the target redirection object identifier is an image identifier; in the case that the target redirection object is a redirection application, the target redirection object identifier is an application identifier of the redirection application.
  • the destination device creates a destination redirection instance based on the destination device identifier and the target screen identifier, where the target screen identifier is used to represent a target screen of the destination device.
  • the display destination device needs to create a destination redirection instance corresponding to the source redirection instance.
  • the destination device creates a destination redirection instance based on the destination device identifier (that is, its own device identifier) and the target screen identifier of the target screen for display, that is, the destination redirection instance is formed in the unit of "destination device + target screen". Orientation instance. Further, the redirection instance at the source end and the redirection instance at the destination end constitute a redirection event.
  • the destination device has at least one screen, and different screens correspond to different screen identifiers, and different screens are controlled by the same SoC in the destination device.
  • the destination device is a vehicle-mounted terminal, and the vehicle-mounted terminal has a main driver's screen and a co-driver's screen.
  • the destination redirection instances created by different destination devices are different; when the same destination device displays through different screens, the same destination device based on The instances of destination redirection created by different screens are also different.
  • the destination device creates a destination redirection instance when receiving a redirection request sent by the source device, or, the destination device creates a destination redirection instance when receiving a redirection instruction from a third-party device, wherein,
  • the third-party device and the destination device are in the same scheduling domain, for example, the third-party device and the destination device log in with the same user account.
  • Step 203 the source device transmits redirection data corresponding to the source redirection instance to the destination device.
  • the source device After the source redirection instance is created, the source device generates redirection data corresponding to the source redirection instance, and transmits the redirection data to the destination device, wherein the redirection data includes at least the video data stream, and may also include At least one of an audio data stream and a control data stream.
  • the source device may transmit redirection data to multiple destination devices, so that multiple destination devices simultaneously display the same target redirection object.
  • the source device performs video encoding on the picture of the target redirection object to obtain a video data stream, wherein the source device may use H264, H265 and other video encoding formats for encoding, which is not limited in this embodiment of the present application ;
  • the source device performs audio coding on the sound of the target redirection object to obtain an audio data stream, wherein the source device can use an audio coding format such as AAC to encode, and this application implements This example is not limited; in the case that the redirected data includes control data flow, the source device can encode the control instruction according to the agreed instruction format to obtain the control data flow.
  • the source device can transmit the redirection data wirelessly, such as Wlan AP, WiFi-P2P or mobile data network; it can also transmit the redirection data through a wired method, such as USB A wired connection; the redirection data may also be transmitted in a wired and wireless hybrid manner, which is not limited in this embodiment of the present application.
  • the destination device receives redirection data corresponding to the source redirection instance transmitted by the source device, and the source redirection instance and the destination redirection instance correspond to the same redirection event.
  • the same destination device may receive redirection data transmitted by different source devices at the same time, or receive multiple redirection data transmitted by the same source device at the same time (corresponding to different targeting object), so in order to ensure the accuracy of subsequent display, after receiving the redirection data, the destination device needs to determine the source redirection instance corresponding to the redirection data, and then determine the same redirection instance corresponding to the source redirection instance The destination redirection instance of the event.
  • step 205 the destination device displays the target redirection object through the target screen based on the redirection data.
  • the destination device determines the target screen indicated by the destination redirection instance, and parses the redirection data (such as performing video decoding on the video data stream), so as to display the target redirection object through the target screen.
  • the destination device parses the audio data stream, and plays the sound of the target redirection object through an audio playback component.
  • the source device creates a source redirection instance based on the source device ID and the target redirection object ID
  • the destination device creates a source redirection instance based on the destination device ID and the target screen ID.
  • Create a destination redirection instance corresponding to the source redirection instance so that after receiving the redirection data corresponding to the source redirection instance, display the target redirection object through the target screen indicated by the destination redirection instance;
  • multi-level many-to-many redirection can be realized by creating source redirection instances and destination redirection instances.
  • redirection objects in the same source device can be redirected to different
  • the destination device can cast the same redirected object in the source device to multiple screens at the same time, so that different screens of the same destination device can display different redirected objects, and the screen of the destination device can display multiple redirected objects at the same time.
  • Objects, etc. are applicable to many-to-many redirection scenarios at the source device level, redirection object level, destination device and device screen levels, improving the applicability to complex redirection scenarios.
  • the redirection data corresponding to the source redirection instance is transmitted to the destination device, including:
  • the redirection data corresponding to the source redirection instance is transmitted to the destination device through the link between the source redirector and the destination redirector, and the destination redirector is created by the destination device.
  • create an origin redirector including:
  • the redirection data corresponding to the source redirection instance is transmitted to the destination device, including:
  • the redirection data of at least one media type is transmitted to the destination device through at least one link between the at least one source redirector and the at least one destination redirector.
  • the source redirector includes a source video redirector
  • Methods also include:
  • the multiplexing video encoder performs video encoding on the picture corresponding to the same source redirection instance to obtain the video data stream;
  • the video data stream is transmitted to the destination device through the link between the source video redirector and the destination video redirector.
  • the source redirector includes a source audio redirector
  • Methods also include:
  • audio collection and encoding are performed through a device-level audio collection encoder to obtain an audio data stream;
  • the audio data stream is obtained by performing audio collection and encoding through an application-level audio collection encoder
  • the audio data stream is transmitted to the destination device through the link between the source audio redirector and the destination audio redirector.
  • the origin redirector includes an origin control redirector
  • Methods also include:
  • a source redirection instance is created based on the source device identifier and the target redirection object identifier in the redirection information; wherein, the redirection information includes the source device identifier, the target redirection object identifier, the destination device identifier and the target screen identifier.
  • the redirection information further includes a media type, where the media type includes at least one of video, audio, and control.
  • determine redirection information including:
  • receive the redirection data corresponding to the source redirection instance transmitted by the source device including:
  • the redirection data transmitted by the source device is received through the link between the destination redirector and the source redirector, and the source redirector is created by the source device.
  • create a destination redirector including:
  • Redirection data of at least one media type transmitted by the source device is received through at least one link between the at least one destination redirector and the at least one source redirector.
  • the destination redirector when the media type includes video, the destination redirector includes a destination video redirector;
  • Methods also include:
  • the multiplexing video decoder performs video decoding on the video data stream corresponding to the same source redirection instance to obtain the picture corresponding to the source redirection instance.
  • the destination redirector when the media type includes video, the destination redirector includes a destination video redirector;
  • Target redirection objects through the target screen including:
  • display the target redirection object through the target screen-casting form application corresponding to the target screen including:
  • the target redirection object is displayed by reusing the target screen projection form application, wherein, after the target screen projection form application is reused, each redirection object is displayed on a split screen in the target screen.
  • the destination redirector includes a destination control redirector
  • Methods also include:
  • a reverse control command is sent to the source device through the link between the target control redirector and the source control redirector, so that the source device controls the target redirection object based on the reverse control command.
  • generating a reverse control instruction in response to a control operation on the target redirection object including:
  • the first touch coordinates are converted into second touch coordinates, and the second touch coordinates are located at the coordinates of the target redirection object Department;
  • a reverse control command is generated based on the second touch coordinates.
  • the method further includes:
  • the redirection object controlled by the touch operation is determined.
  • redirection information includes the source device ID, the target redirection object ID, the destination device ID, and the target screen ID;
  • a destination redirection instance is created based on the destination device identifier and the target screen identifier in the redirection information.
  • the redirection information further includes a media type, where the media type includes at least one of video, audio, and control.
  • the source device is a mobile terminal
  • the destination device is a vehicle terminal.
  • the redirection modules of the source device and the destination device are designed in layers.
  • the hierarchical structure of the redirection module includes:
  • Device layer including multi-channel screen projection services, which are used to provide external device screen projection APIs (Application Programming Interface, application programming interface).
  • APIs Application Programming Interface, application programming interface
  • Screencasting application layer including the source redirection instance (as a source device) or destination redirection instance (as a destination device) created by the screencasting manager, and the redirection event corresponds to a pair of source redirection instance and the instance of destination redirection.
  • Streaming media processing layer includes a video processing module, an audio processing module, and a control processing module, used to process data of a specific media type in a source or destination redirection instance.
  • Redirection instance layer as a source device, including source video redirector, source audio redirector and source control redirector; as a destination device, including destination video redirector, destination audio Redirector and destination control redirector.
  • the transmission link between the source redirector of a specific media type and the destination redirector is used to transmit redirection data of a specific media type.
  • Display layer including the screen-casting form application, and different screen-casting form applications correspond to different screens of the destination device.
  • FIG. 4 shows a flow chart of a redirection method provided by another exemplary embodiment of the present application.
  • This embodiment of the present application takes the application of the method in the implementation environment shown in FIG. 1 as an example for illustration.
  • the method includes :
  • the source device creates a source redirection instance based on the source device identifier and the target redirection object identifier, and the target redirection object identifier is used to represent the target redirection object.
  • step 402 the source device creates a source redirector.
  • the source device after the source device creates the source redirection instance, it further creates a source redirector based on the source redirection instance, and the source redirector is used to convert the source redirection instance to The corresponding redirection data is redirected and transmitted to the destination device corresponding to the destination redirection instance belonging to the same redirection event.
  • the source device creates a source redirector based on the source redirection instance and the destination device identifier.
  • the source device when the source device redirects to different destination devices (it can be the same redirection object or different redirection objects), the source device creates multiple source redirectors; In the case of multiple screens of the destination device casting the same redirection object, the source device creates a single source redirector; in the case of the source device casting different redirection objects to multiple screens of the destination device, The source device creates multiple source redirectors for different redirection objects.
  • the source device when a game application needs to be projected to the first destination device and the second destination device, the source device creates a first source redirector based on the source device ID, the first destination ID, and the game application ID , create a second source redirector based on the source device ID, the second destination ID, and the game application ID; when the game application needs to be projected to the first screen of the first destination device, the In the case of a two-screen projection navigation application, the source device creates a first source redirector based on the source device ID, the first destination ID, and the game application ID, and creates a first source redirector based on the source device ID, the first destination ID, and the navigation
  • the application ID creates a second source redirector; when the game application needs to be projected to the first screen and the second screen of the first destination device at the same time, the source device based on the source device ID, the first destination ID and the game application The application ID creates the first origin redirector.
  • the media type of the redirected object when redirecting, can be set (it can be manually set by the user, or can be automatically set by the source device based on the capability of the destination device), and the media type includes video, audio and control at least one of the If the media type of the source redirection instance includes video, the destination device can display the target redirection object on the screen; if the media type of the source redirection instance includes audio, the destination device can play the component through the audio Play the sound of the target redirection object; if the media type of the source redirection instance includes control, the destination device can perform reverse control on the target redirection object.
  • the source device needs to create source redirectors corresponding to different media types according to the media type corresponding to the target redirection object.
  • the source device creates at least one source redirector based on the source redirection instance, the destination device identifier, and the media type corresponding to the target redirection object, where different source redirectors Directors correspond to different media types.
  • the source end device when the media type corresponding to the target redirection object includes video, the source end device creates a source end video redirector, and the source end video redirector is used to redirect the video data stream of the target redirection object; If the media type corresponding to the target redirection object includes audio, the source device creates a source-end audio redirector, and the source-end audio redirector is used to redirect the audio data stream of the target redirection object; In the case where the media type includes control, the source device creates a source control redirector, which is used to redirect the control data flow of the target redirection object.
  • the source device based on the source device ID, Create a source video redirector based on the first destination identifier, game application identifier and video type, and create a source audio redirector based on the source device identifier, first destination identifier, game application identifier and audio type; based on the source device
  • the ID, the first destination ID, the game application ID, and the control type create a source control redirector.
  • Step 403 the destination device creates a destination redirection instance based on the destination device identifier and the target screen identifier, where the target screen identifier is used to characterize the target screen of the destination device.
  • Step 404 the destination device creates a destination redirector.
  • the destination device needs to create a destination redirector corresponding to the source redirector, so that the source redirector can be transmitted through the link between the source redirector and the destination redirector.
  • the redirect data corresponding to the targeted instance.
  • the destination device knows the source device and the target redirection object, and thus creates an The destination redirector, that is, the source redirector and the destination redirector correspond to the same source redirection event.
  • the source device projects screens to different destination devices (it can be the same redirection object or different redirection objects), different destination devices create different destination redirectors; In the case of multiple screens of the destination device casting the same redirection object, the destination device creates a single destination redirector; in the case of the source device casting different redirection objects to multiple screens of the destination device, The destination device creates multiple destination redirectors for different redirection objects.
  • the first destination device creates the first destination device based on the source device ID, the first destination ID, and the game application ID.
  • the second destination device creates a second destination redirector based on the source device ID, the second destination ID and the navigation application ID; the source device casts a screen to the first screen of the first destination device
  • the destination device creates a first destination redirector based on the source device ID, the first destination ID, and the game application ID, and based on the source
  • the end device ID, the first destination ID and the navigation application ID create a second destination redirector; in the case where the source device simultaneously casts the game application to the first screen and the second screen of the first destination device, the source The end device creates a first destination redirector based on the source device identifier, the first destination identifier, and the game application identifier.
  • the source device will create different source redirectors for different media types, while the destination device needs to create different source redirectors for different media types.
  • the corresponding destination redirector for the media type is
  • the destination device creates at least one destination redirector based on the source redirection instance, the destination device identifier, and the media type corresponding to the target redirection object, where different destination redirectors Directors correspond to different media types.
  • the destination device creates a destination video redirector for receiving the video data stream transmitted by the source video redirector;
  • the destination device creates a destination audio redirector to receive the audio data stream transmitted by the source audio redirector;
  • the destination device creates a destination control redirector for transmitting control data flows to the source control redirector.
  • the destination device when the source device projects a game application to the first destination device, and the first destination device supports displaying the game application screen, playing the game application sound, and reversely controlling the game application, the destination device Create a destination video redirector based on the ID, first destination ID, game application ID, and video type, and create a destination audio redirector based on the source device ID, first destination ID, game application ID, and audio type; based on the source A destination control redirector is created based on the terminal device identifier, the first destination identifier, the game application identifier, and the control type.
  • Step 405 the source device transmits the redirection data corresponding to the source redirection instance to the destination device through the link between the source redirector and the destination redirector.
  • the source device After the redirector is created, the source device transmits redirection data to the corresponding destination redirector through the source redirector (the destination redirector and the source redirector correspond to the same source redirection instance) .
  • the source device uses at least one source redirector and one destination redirector At least one link between redirectors of at least one media type is transmitted to the destination device, wherein the links between different source redirectors and destination redirectors are used to transmit redirection data of different media types Orientation data.
  • the source device when the source device casts a game application to the destination device, and the destination device supports displaying the game application screen and playing the game application sound, the source device transmits the game application to the destination device through the source video redirector.
  • the video redirector transmits the video data stream, and transmits the audio data stream to the destination audio redirector of the destination device through the source audio redirector.
  • Step 406 the destination device receives the redirection data transmitted by the source device through the link between the destination redirector and the source redirector.
  • the destination device receives at least one media type redirection transmitted by the source device through at least one link between at least one destination redirector and at least one source redirector. data.
  • Step 407 based on the redirection data, the destination device displays the target redirection object through the target screen projection window application corresponding to the target screen.
  • the destination device determines the target screen according to the target screen identifier in the destination redirection instance, and then displays the target screen through the target screen.
  • multiple screen projections (from the same source device or different source devices) need to be displayed on the same screen in the destination device at the same time (multiple displays on the same screen); multiple screen projections need to be displayed on the destination Different screens in the end device (different display on multiple screens); the same projection object on the source device needs to be displayed on different screens of the destination device at the same time (multi-screen simultaneous display).
  • each screen of the destination device corresponds to its own screen projection window application.
  • Form application for display Taking the Android system as an example, the screen casting form application can be an Activity (activity) component.
  • the screen projection form application is correspondingly provided with a form application agent, which is used to control the life cycle of the screen projection form application.
  • the destination device needs to reuse the screen-casting window application to display multiple redirected objects on the same screen in split screens.
  • the displaying of the destination device after receiving the redirection data may include the following two possible situations.
  • the destination device detects whether the target screen-casting form application corresponding to the target screen is in the startup state, and if it is not in the startup state, it indicates that no other screen-casting objects are currently displayed through the target screen , so as to start the target screen projection form application, and then display through the target screen projection form application. At this time, the target screen only displays the screen of the target redirection object.
  • each screen-casting object screen is displayed in the target screen.
  • the destination device when it is detected that the target screen-casting window application is in the startup state, it indicates that the target screen is currently displaying other screen-casting objects.
  • the destination device needs to reuse the target screen-casting window application (that is, multiple source redirection instances reuse the same screen-casting window application), and then split the screen of other screen-casting objects currently displayed on the target screen and the target redirection object show.
  • the destination device may perform screen splitting control based on the screen projection direction (horizontal screen or portrait screen) of each screen projection object and the number of screen projection objects, which is not limited in this embodiment of the present application.
  • the destination device when each source redirection instance in the screen projection window application exits, the destination device ends the life cycle of the screen projection window application, that is, destroys the screen projection window application.
  • the source device and the destination device respectively create a source redirector and a destination redirector, and perform redirection data transmission through links between redirectors to ensure accurate transmission of redirection data;
  • create redirectors corresponding to different media types so that data of a specific media type can be transmitted through links between specific redirectors, avoiding different media
  • the type corresponds to the mutual interference between redirected data, and can realize fine-grained display (for example, only screen projection, or simultaneous projection of screen image and sound, or simultaneous projection of screen image and sound, and open reverse control).
  • the source device Before transmitting the redirected data to the destination device, the source device needs to capture the screen of the redirected object, and use a video encoder to encode the captured screen to obtain a video data stream. This process will generate encoding overhead.
  • the destination end After the destination end receives the video data stream, it needs to decode the video through the video decoder to restore the picture of the redirected object. This process will generate decoding overhead.
  • data transmission between the source device and the destination device will generate IO (In/Out, input and output) overhead.
  • the same screen projection object in the source device needs to be projected to different destination devices, or to be projected to different screens of the same destination device.
  • the video encoder 1, 2 and 3 perform video encoding respectively
  • video decoding is performed through video decoders 1, 2, and 3 respectively
  • video data stream transmission in three channels will generate three times the encoding, decoding and IO overhead (compared to one-to-one projection ).
  • the source device and the destination device can use the multiplexing strategy for video coding and decoding, and the splitting strategy for video data stream transmission.
  • the video codec and transmission process may include the following steps.
  • step 601 the source device multiplexes the video encoder to perform video encoding on the picture corresponding to the same source redirection instance to obtain a video data stream.
  • the source device when the same redirection object needs to be projected to at least two screens, the source device will multiplex the video encoder to perform video encoding on the screen of the source redirection instance to obtain a video data stream, and Not according to the number of screens, use multiple video encoders to perform video encoding separately.
  • the source device multiplexes the video encoder 1 to perform video encoding to obtain a video data stream. Compared with the video encoding performed by three video encoders in FIG. 5 , the encoding overhead is reduced by one time.
  • Step 602 the source device splits the video data stream to at least one source video redirector corresponding to the source redirection instance.
  • the same source redirection instance may correspond to multiple source video redirectors at the same time.
  • the source device needs to create two source devices. Redirector. Therefore, the source device needs to split the encoded video data stream, so as to be redirected to different destination video redirectors through different source-end video redirectors.
  • Step 603 the source device transmits the video data stream to the destination device through the link between the source video redirector and the destination video redirector.
  • the source device needs to create a first source video redirector for the destination device 1, And the second source video redirector for the destination device 2, and split the encoded video data stream to the first source video redirector and the second source video redirector, and then through the first source video redirector
  • the video redirector and the first destination video redirector transmit the video data stream to the destination device 1, and transmit the video data stream to the destination through the second source video redirector and the second destination video redirector
  • the device 2 implements split transmission of the video data stream. Compared with data transmission through three links in Figure 5, the IO overhead is reduced by 2 times.
  • Step 604 the destination device multiplexes the video decoder to perform video decoding on the video data stream corresponding to the same source redirection instance, and obtains the picture corresponding to the source redirection instance.
  • the destination device will multiplex the video decoder to decode the video data stream of the source redirection instance , to obtain video images, instead of using multiple video decoders to decode video separately according to the number of screens.
  • the destination device 1 after the destination device 1 receives the video data stream, it multiplexes the video decoder 1 to perform video decoding, so as to display the decoded picture through the screen 1 and the screen 2; the destination device 2 After receiving the video data stream, video decoding is performed by the video decoder 2 , so that the decoded picture is displayed on the screen 3 .
  • the decoding overhead is reduced by 2 times.
  • the source-end device helps reduce encoding and decoding overhead and IO overhead by multiplexing video encoders, splitting streams, and multiplexing video decoders.
  • the source device when the media type corresponding to the target redirection object includes audio, the source device needs to collect audio from the redirection object, and encode the collected audio to obtain an audio data stream, thus The audio data stream is transmitted to the destination device for parsing and playing by the destination device.
  • the source device when the type of the target redirection object is screen mirroring, the source device performs audio collection and encoding through a device-level audio collection encoder to obtain an audio data stream, wherein the device-level audio collection
  • the encoder is used to collect the audio of the device and encode it; when the type of the target redirection object is a redirection application, the source device performs audio collection and encoding through an application-level audio collection encoder to obtain an audio data stream.
  • a high-level audio capture encoder is used to capture and encode audio for redirection applications.
  • the source device transmits the audio data stream to the destination device through the link between the source audio redirector and the destination audio redirector.
  • the source device can multiplex the audio encoder for the same source redirection instance, and adopt a split strategy during the transmission process.
  • the destination device also performs audio decoding. Audio codecs can be multiplexed to reduce audio codec and IO overhead.
  • the process for the destination device to reversely control the redirection object may include the following steps.
  • Step 801 in response to a control operation on a target redirection object, the destination device generates a reverse control instruction.
  • the control operation can be triggered through the target screen.
  • the target device is a vehicle terminal, and the screen of the vehicle terminal has a touch function
  • the user can click, long press, drag, etc. on the screen Touch operation; it can also be triggered by an external control component, for example, if the destination device is a TV, the user can control the displayed content through the TV remote control; it can also be triggered by a sensor or an input and output component, for example, in
  • the destination device is a tablet computer
  • the user can control the displayed content by rotating the tablet (similar to a motion-sensing game), or control the displayed content by voice.
  • the embodiment of the present application does not limit the specific triggering manner of the control operation.
  • the reverse control instructions generated by the destination device are also different.
  • the reverse control instruction when the control operation is triggered through the target screen, the reverse control instruction includes the coordinates of the touch operation and the touch type (click, long press, slide, etc.); when the control operation is triggered through an external control component
  • the reverse control command includes the component type of the external control component and control data (such as keyboard input content); in the case of a control operation triggered by a sensor or an input and output component, the reverse control command contains sensor data (such as angular velocity data) or input data (such as voice data).
  • sensor data such as angular velocity data
  • input data such as voice data
  • the user can perform a touch operation on the target screen, so as to reversely control the redirection object.
  • the redirection object is a game application
  • the user can control the game content in the game application by clicking the virtual button on the target screen; Perform shortcut gestures on the screen to control the playback progress, volume, brightness, etc. of video content in the video app.
  • this step may include the following steps.
  • Step 801A in response to a touch operation on the target screen, determine first touch coordinates, where the first touch coordinates are located in the coordinate system of the target screen.
  • the destination device When receiving a touch operation on the target screen, the destination device first acquires the first touch coordinates corresponding to the touch operation in the coordinate system of the target screen.
  • Step 801B in the case that the target redirection object controlled by the touch operation is determined based on the first touch coordinates, convert the first touch coordinates into second touch coordinates, and the second touch coordinates are located at the target redirection in the coordinate system of the object.
  • the touch operation on the target screen is used to control the redirection object, and the destination device further transforms the first touch coordinates in the target screen coordinate system The coordinates of the second touch in the target redirection object coordinate system.
  • the destination device when multiple redirection objects are displayed on the target screen at the same time, when the destination device receives a touch operation, it first needs to determine the actual redirection object controlled by the control operation, and When it is a target redirection object, convert the first touch coordinates in the target screen coordinate system to the second touch coordinates in the target redirection object coordinate system.
  • the screen projection window application corresponding to each screen in the destination device includes a SurfaceView, and when multiple redirection objects reuse the screen projection window application, that is, the screen projection window application is drawn in the SurfaceView
  • the GLView corresponding to each screen projection and store the location information corresponding to each GLView in the screen projection window application.
  • the destination device when determining the redirection object controlled by the touch operation, obtains the position information of each redirection object in the target screen-casting window application, and based on the positional relationship between the first touch coordinates and the position information , to determine the redirected object controlled by the touch operation.
  • the location information may be the vertex coordinates of the rectangular display area occupied by the redirecting object, and the destination device determines the redirecting object controlled by the touch operation according to the positional relationship between the first touch coordinates and the vertex coordinates.
  • the destination device converts the first touch coordinates into the second touch coordinates according to the mapping relationship between the screen coordinate system and the redirection object coordinate system.
  • the target screen 1001 displays the projection screens corresponding to applications A, B, C, and D in split screens.
  • the target device obtains the coordinate system The first touch coordinates (x1, y1) under (X1-O1-Y1), and obtain the position information corresponding to each application. Since the first touch coordinates (x1, y1) are located in the display area corresponding to the application D, the destination device determines that the control operation is used to control the application D, and further based on the coordinate system (X1-O1-Y1) and the coordinate system (X2 The coordinate conversion relationship between -O2-Y2) converts the first touch coordinate (x1, y1) into the second touch coordinate (x2, y2).
  • Step 801C generating a reverse control command based on the second touch coordinates.
  • the destination device generates a reverse control instruction based on the second touch coordinates.
  • the destination device since the destination device may rotate, the destination device also needs to perform rotation processing on the second touch coordinates according to its own rotation, so that based on the rotation processing, the second touch coordinates Generate reverse control instructions.
  • the destination device based on the screen size of the source device and the screen size of the target redirection object Display the size, and perform coordinate scaling processing on the second touch coordinates, so as to ensure the accuracy of reverse control.
  • the source device may also perform coordinate scaling processing on the touch coordinates, which is not limited in this embodiment.
  • Step 802 the destination device sends a reverse control instruction to the source device through the link between the destination control redirector and the source control redirector.
  • the destination device encodes the reverse control command to obtain the control data flow, so as to redirect the control data flow to the source device.
  • the control data flow between the destination device and the source device is transmitted through the link between the destination control redirector and the source control redirector.
  • Step 803 the source device receives the reverse control instruction sent by the destination device through the link between the source control redirector and the destination control redirector.
  • the source device receives the reverse control instruction sent by the destination device through the source control redirector.
  • Step 804 the source device controls the target redirection object based on the reverse control instruction.
  • the source device obtains the second touch coordinates included in the reverse control command, so as to generate a simulated touch event based on the second touch coordinates, so as to inject the simulated touch event into the target redirection object , simulating the touch operation on the target redirection object on the source device to realize the reverse control of the target redirection object.
  • the source device may receive multiple reverse control instructions, for example, the mobile terminal projects the game application to the rear vehicle-mounted terminal On the two screens of the car, the rear passengers can control the game application at the same time.
  • the source device needs to process the conflicts of multiple reverse control commands through the operating system (corresponding to the mirroring screen projection scenario) or the screen projection application (corresponding to the application screen projection scenario), which will not be described in this embodiment.
  • the destination device after receiving the touch operation on the target screen, determines the redirection object corresponding to the touch operation, and performs conversion processing on the touch coordinates of the touch operation, so that based on the converted touch coordinates Generate a reverse control command and send it to the source device to realize the reverse control of the redirected object in the source device and ensure the accuracy of the reverse control process.
  • the more detailed hierarchical structure of the redirection module includes:
  • Screencasting form application used to present the screencasting screen on the screen, and the screencasting form application agent is used to manage the life cycle of the screencasting form application.
  • Screen projection manager used to actually manage and schedule source redirection instances and destination redirection instances.
  • Screencasting context/screencasting information Used to synchronize the relevant state data of the current redirection instance.
  • Source/destination audio manager used to manage the audio input and output of the device in a unified manner.
  • Device-level/application-level audio capture encoder responsible for audio capture (device-level or application-level) and encoding at the source.
  • Audio decoding player responsible for audio decoding and playback at the destination.
  • Multi-channel anti-control module responsible for uniformly controlling the injection of multi-channel anti-control events under the screen projection application, and solving anti-control conflicts.
  • Video encoder responsible for video encoding of the screencasting application at the source.
  • Video decoder Responsible for video decoding of the screencasting application at the destination.
  • Signaling processing module Responsible for signaling capability negotiation and business logic processing of video, audio and control at the source and destination.
  • Media stream data channel responsible for the transmission of various stream data such as video, audio, and control.
  • Serialization encryption and decryption module responsible for serialization, deserialization, encryption and decryption of video, audio, and control.
  • Streaming data object pool Responsible for object cache multiplexing of various streaming data such as video, audio, and control.
  • Memory buffer pool responsible for memory cache multiplexing of video, audio, and control binary data.
  • OpenGL multi-channel rendering responsible for the synthesis and rendering of multiple video images under the same display.
  • Multi-channel layout strategy Provide a dynamic layout algorithm for multi-channel images.
  • the solution provided by the embodiment of the present application reasonably abstracts the redirection API, and adopts the abstraction of redirection information to represent redirection events.
  • the redirection information is four-tuple information, and the four-tuple information includes a source device identifier, a target redirection object identifier, a destination device identifier, and a target screen identifier.
  • the redirection information is 5-tuple information
  • the 5-tuple information includes the source device identifier, target redirection Targeting object ID, destination device ID, target screen ID, and media type.
  • the navigation application in the smart phone 112 is projected to the first screen 1211 of the first vehicle-mounted terminal 121
  • the second game application in the smart phone 112 is projected to the third screen 1221 of the second vehicle-mounted terminal 122.
  • the second game application in the smart phone 112 is projected to the fourth screen 1222 of the second vehicle-mounted terminal 122"
  • the source device and the destination device create a source redirection instance and a destination redirection instance according to the obtained redirection information.
  • the user can create a redirection event through a redirection operation on the source device, and correspondingly, in response to the redirection operation, the source device determines the redirection information, thereby Create a source redirection instance based on the source device identifier and the target redirection object identifier in the redirection information.
  • the source device can display a redirection setting interface for setting the redirection event, and the user can complete the setting of the redirection event by triggering the controls in the redirection setting interface, and correspondingly, the source device obtains the redirection event redirection information.
  • the process of obtaining redirection information may include the following steps.
  • Step 1201 displaying a redirection setting interface.
  • the redirection setting interface is used for redirection events, including controls for setting various parameters in the redirection event.
  • the controls include a source device selection control, a redirection object selection control, a destination device selection control, a screen selection control, and a media selection control.
  • Step 1202 in response to the trigger operation on the source device selection control in the redirection setting interface, determine the source device identifier.
  • the user when setting the redirection event, the user first selects the source device in the redirection event through the source device selection control in the redirection setting interface.
  • each candidate source device in the scheduling domain that can serve as the source device is displayed on the redirection setting interface.
  • the candidate source device is determined as the source device in the redirection event, and then the source device identifier of the source device is obtained.
  • Step 1203 in response to the trigger operation on the redirection object selection control corresponding to the source device in the redirection setting interface, determine the identifier of the target redirection object.
  • the user After completing the setting of the source device, the user further selects the target redirection object in the redirection event through the redirection object selection control in the redirection setting interface.
  • the screen mirroring option corresponding to the source device is displayed on the redirection device interface, and the screen mirroring option corresponding to the candidate redirection application in the source device is displayed. candidate application options.
  • Step 1204 in response to the trigger operation on the destination device selection control in the redirection setting interface, determine the destination device identifier.
  • the user selects the destination device in the redirection event through the destination device selection control in the redirection setting interface.
  • each candidate destination device in the scheduling domain that can serve as the destination device is displayed on the redirection setting interface.
  • the candidate destination device is determined as the destination device in the redirection event, and then the destination device identifier of the destination device is obtained.
  • Step 1205 in response to the trigger operation on the screen selection control corresponding to the destination device in the redirection setting interface, determine the target screen identifier.
  • the user selects the target screen in the redirection event through the screen selection control in the redirection setting interface.
  • the screen identifiers of each candidate screen in the destination device are displayed on the redirection setting interface.
  • the selected candidate screen is determined as the target screen, and the target screen ID of the target screen is acquired.
  • Step 1206 Determine the media type in response to the trigger operation on the media selection control in the redirection setting interface.
  • the user selects the media type to be redirected in the target redirection object through the media selection control in the redirection setting interface.
  • the candidate media type controls in the device interface are redirected, where different candidate media type controls correspond to different media types.
  • the selected candidate media type is determined as the media type to be redirected in the target redirection object.
  • the source device displays a redirection setting interface 1300 .
  • the redirection events in the redirection setting interface 1300 are divided into four levels, namely source redirection instance level 1301 , destination device level 1302 , destination device screen level 1303 and media type level 1304 .
  • the redirection event is set on the source device side as an example for illustration.
  • the redirection event may also be set by the first device other than the source device and the destination device in the scheduling domain.
  • Third-party device settings After the third-party device completes the setting of the redirection event, it will send a redirection instruction including redirection information to the source device and the destination device.
  • the source device After receiving the redirection instruction, the source device obtains the redirection information in the redirection instruction, and creates a source redirection instance based on the source device ID and target redirection object ID in the redirection information; the destination device receives the redirection After the redirection instruction, obtain the redirection information in the redirection instruction, and create a destination redirection instance based on the destination device identifier and the target screen identifier in the redirection information.
  • the interaction process between the source device and the destination device in the redirection process is taken as an example for illustration, wherein, the steps performed by the source device as the execution subject can be separately implemented as the source device side In the redirection method, the steps performed by the destination device can be implemented separately as a redirection method on the destination device side, which will not be described in detail here in the embodiment of the present application.
  • FIG. 14 shows a structural block diagram of a redirection device provided by an embodiment of the present application.
  • the device can include:
  • Creating module 1401 configured to create a source redirection instance based on the source device identifier and the target redirection object identifier, where the target redirection object identifier is used to represent the target redirection object;
  • the transmission module 1402 is configured to transmit the redirection data corresponding to the source redirection instance to the destination device, so that the destination device uses the target screen indicated by the destination redirection instance based on the redirection data to The target redirection object is displayed, the destination redirection instance and the source redirection instance correspond to the same redirection event, and the destination redirection instance is created based on the destination device identifier and the target screen identifier.
  • the transmission module 1402 includes:
  • a transmission unit configured to transmit redirection data corresponding to the source redirection instance to the destination device through the link between the source redirector and the destination redirector, and the destination redirector
  • the director is created by the destination device.
  • the redirector creates a unit for:
  • the transmission unit is used for:
  • the redirected data of at least one of the media types is transmitted to the destination device through at least one link between at least one of the source redirectors and at least one of the destination redirectors.
  • the source redirector includes a source video redirector
  • the device also includes:
  • the video encoding module is used to multiplex the video encoder to perform video encoding on the picture corresponding to the same source redirection instance to obtain the video data stream;
  • a splitting module configured to split the video data stream to at least one source-end video redirector corresponding to the source-end redirection instance
  • the transmission unit is used for:
  • the video data stream is transmitted to the destination device through the link between the source video redirector and the destination video redirector.
  • the source redirector includes a source audio redirector
  • the device also includes:
  • the first audio encoding module is used to perform audio acquisition and encoding through a device-level audio acquisition encoder to obtain an audio data stream when the type of the target redirection object is a screen image;
  • the second audio encoding module is configured to perform audio acquisition and encoding through an application-level audio acquisition encoder to obtain an audio data stream when the type of the target redirection object is an application;
  • the transmission unit is used for:
  • the audio data stream is transmitted to the destination device through the link between the source audio redirector and the destination audio redirector.
  • the source redirector includes a source control redirector
  • the device also includes:
  • the receiving module is configured to receive the reverse control instruction sent by the destination device through the link between the source control redirector and the destination control redirector, and the reverse control instruction is sent by the destination device. Triggered when the end device receives a control operation on the target redirection object;
  • a control module configured to control the target redirection object based on the reverse control instruction.
  • the creating module 1401 includes:
  • the determining unit is configured to determine redirection information in response to a redirection operation; or, in response to a redirection instruction sent by a third-party device, obtain the redirection information included in the redirection instruction;
  • An instance creation unit configured to create the source redirection instance based on the source device identifier and the target redirection object identifier in the redirection information; wherein the redirection information includes the source device ID, the target redirection object ID, the destination device ID, and the target screen ID.
  • the redirection information further includes a media type, and the media type includes at least one of video, audio, and control.
  • the determining unit is used for:
  • the media type is determined in response to a trigger operation on the media selection control in the redirection setting interface.
  • the source device creates a source redirection instance based on the source device ID and target redirection object ID
  • the destination device creates a source redirection instance based on the destination device ID and target screen ID.
  • the destination redirection instance corresponding to the instance, so that after receiving the redirection data corresponding to the source redirection instance, the target redirection object is displayed through the target screen indicated by the destination redirection instance; the embodiment of the present application provides Multi-level many-to-many redirection can be realized by creating a source redirection instance and a destination redirection instance. For example, different projection objects in the same source device can be projected to different destination devices.
  • the same projection object in the source device can be projected to multiple screens at the same time, so that different screens of the same destination device can display different projection objects, and the screen of the destination device can display multiple projection objects at the same time, etc., suitable for Many-to-many redirection scenarios at the source device level, redirection object level, destination device and device screen levels improve the applicability of complex redirection scenarios.
  • FIG. 15 shows a structural block diagram of a redirection device provided by another embodiment of the present application.
  • the device can include:
  • Creating module 1501 configured to create a destination redirection instance based on the destination device identifier and the target screen identifier, where the target screen identifier is used to characterize the target screen of the destination device;
  • the receiving module 1502 is configured to receive redirection data corresponding to the source redirection instance transmitted by the source device, the source redirection instance and the destination redirection instance corresponding to the same redirection event, and the destination redirection instance
  • the directional instance is created based on the source device identifier and the target redirection object identifier, and the target redirection object identifier is used to represent the target redirection object;
  • the display module 1503 is configured to display the target redirection object through the target screen based on the redirection data.
  • the receiving module 1502 includes:
  • a redirector creating unit configured to create a destination redirector
  • a receiving unit configured to receive the redirection data transmitted by the source device through the link between the destination redirector and the source redirector, and the source redirector is sent by the source
  • the end device is created.
  • the redirector creates a unit for:
  • the receiving unit is used for:
  • the destination redirector when the media type includes video, the destination redirector includes a destination video redirector;
  • the device also includes:
  • the video decoding module is used to multiplex the video decoder to perform video decoding on the video data stream corresponding to the same source redirection instance, and obtain the picture corresponding to the source redirection instance.
  • the destination redirector when the media type includes video, the destination redirector includes a destination video redirector;
  • the display module 1503 is used for:
  • the target redirection object is displayed through the target screen projection window application corresponding to the target screen.
  • the display module 1503 includes:
  • the first display unit is configured to start the target screen projection window application when the target screen projection window application corresponding to the target screen is not activated; to be displayed to said Target Redirector; or,
  • the second display unit is configured to display the target redirection object by multiplexing the target screen casting window application when the target screen casting window application is in the startup state, wherein the multiplexing the After the target screen projection form is applied, each redirection object is displayed on the target screen in split screens.
  • the destination redirector includes a destination control redirector
  • the device also includes:
  • a generating module configured to generate a reverse control instruction in response to a control operation on the target redirection object
  • a sending module configured to send the reverse control instruction to the source device through the link between the destination control redirector and the source control redirector, so that the source device based on the Inverse control instructions control the target redirection object.
  • the generating module includes:
  • a coordinate determining unit configured to determine first touch coordinates in response to a touch operation on the target screen, where the first touch coordinates are located in the coordinate system of the target screen;
  • a coordinate conversion unit configured to convert the first touch coordinates into a second touch control when the target redirection object controlled by the touch operation is determined based on the first touch coordinates coordinates, the second touch coordinates are located under the coordinate system of the target redirection object;
  • a generating unit configured to generate the reverse control instruction based on the second touch coordinates.
  • the generating module also includes:
  • a position information acquisition unit configured to acquire the position information of each of the redirection objects in the target screen-casting window application
  • An object determining unit configured to determine a redirection object controlled by the touch operation based on a positional relationship between the first touch coordinates and the position information.
  • the creation module 1501 includes:
  • a redirection information acquiring unit configured to acquire redirection information, where the redirection information includes the source device identifier, the target redirection object identifier, the destination device identifier, and the target screen identifier;
  • An instance creation unit configured to create the destination redirection instance based on the destination device identifier and the target screen identifier in the redirection information.
  • the redirection information further includes a media type, and the media type includes at least one of video, audio, and control.
  • the source device is a mobile terminal
  • the destination device is a vehicle terminal.
  • the source device creates a source redirection instance based on the source device ID and target redirection object ID
  • the destination device creates a source redirection instance based on the destination device ID and target screen ID.
  • the destination redirection instance corresponding to the instance, so that after receiving the redirection data corresponding to the source redirection instance, the target redirection object is displayed through the target screen indicated by the destination redirection instance; the embodiment of the present application provides Multi-level many-to-many redirection can be realized by creating a source redirection instance and a destination redirection instance. For example, different projection objects in the same source device can be projected to different destination devices.
  • the same projection object in the source device can be projected to multiple screens at the same time, so that different screens of the same destination device can display different projection objects, and the screen of the destination device can display multiple projection objects at the same time, etc., suitable for Many-to-many redirection scenarios at the source device level, redirection object level, destination device and device screen levels improve the applicability of complex redirection scenarios.
  • FIG. 16 shows a system architecture block diagram of a redirection system provided by an embodiment of the present application.
  • the system includes: at least one source device 1610 and at least one destination device 1620.
  • the source device 1610 is configured to create a source redirection instance based on the source device identifier and the target redirection object identifier, where the target redirection object identifier is used to characterize the target redirection object; transmit the source redirection instance corresponding to the destination device redirect data;
  • the destination device 1620 is configured to create a destination redirection instance based on the destination device identifier and the target screen identifier, where the target screen identifier is used to characterize the target screen of the destination device; receive the redirection instance corresponding to the source redirection instance transmitted by the source device For the redirection data, the source redirection instance and the destination redirection instance correspond to the same redirection event; based on the redirection data, the target redirection object is displayed on the target screen.
  • FIG. 17 shows a structural block diagram of a computer device provided by an exemplary embodiment of the present application.
  • the computer device 1700 may be implemented as a source device or a destination device in each of the foregoing embodiments.
  • Computer device 1700 may include one or more of the following components: processor 1710 and memory 1720 .
  • Processor 1710 may include one or more processing cores.
  • the processor 1710 uses various interfaces and lines to connect various parts of the entire computer device 1700, and executes by running or executing instructions, programs, code sets or instruction sets stored in the memory 1720, and calling data stored in the memory 1720.
  • the processor 1710 may adopt at least one of Digital Signal Processing (Digital Signal Processing, DSP), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), and Programmable Logic Array (Programmable Logic Array, PLA). implemented in the form of hardware.
  • DSP Digital Signal Processing
  • FPGA Field-Programmable Gate Array
  • PLA Programmable Logic Array
  • the processor 1710 can integrate one or more of a central processing unit (Central Processing Unit, CPU), an image processor (Graphics Processing Unit, GPU), a neural network processor (Neural-network Processing Unit, NPU) and a modem, etc.
  • a central processing unit Central Processing Unit, CPU
  • an image processor Graphics Processing Unit, GPU
  • a neural network processor Neural-network Processing Unit, NPU
  • the CPU mainly handles the operating system, user interface and application programs, etc.
  • the GPU is used to render and draw the content that needs to be displayed on the touch screen
  • the NPU is used to realize the artificial intelligence (Artificial Intelligence, AI) function
  • the modem is used to process Wireless communication. It can be understood that the foregoing modem may also not be integrated into the processor 1710, but implemented by a single chip.
  • the memory 1720 may include random access memory (Random Access Memory, RAM), and may also include read-only memory (Read-Only Memory, ROM).
  • the memory 1720 includes a non-transitory computer-readable storage medium.
  • the memory 1720 may be used to store instructions, programs, codes, sets of codes or sets of instructions.
  • the memory 1720 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), Instructions and the like for implementing the various method embodiments described below; the storage data area can store data created according to the use of the computer device 1700 (such as audio data, phonebook) and the like.
  • the structure of the computer device 1700 shown in the above drawings does not constitute a limitation to the computer device, and the computer device may include more or less components than those shown in the illustration, or combine certain components, or a different arrangement of components.
  • the computer device 1700 also includes a display screen, a camera component, a microphone, a speaker, a radio frequency circuit, an input unit, a sensor (such as an acceleration sensor, an angular velocity sensor, a light sensor, etc.), an audio circuit, a WiFi module, a power supply, a Bluetooth module, etc. components, which will not be repeated here.
  • the embodiment of the present application also provides a computer-readable storage medium, the computer-readable storage medium stores at least one program code, and the program code is loaded and executed by a processor to implement the redirection method described in each of the above embodiments .
  • An embodiment of the present application provides a computer program product or computer program, where the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the redirection method provided in various optional implementation manners of the foregoing aspect.
  • the "plurality” mentioned herein refers to two or more than two.
  • “And/or” describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B may indicate: A exists alone, A and B exist simultaneously, and B exists independently.
  • the character "/” generally indicates that the contextual objects are an "or” relationship.
  • the numbering of the steps described herein only exemplarily shows a possible sequence of execution among the steps. In some other embodiments, the above-mentioned steps may not be executed according to the order of the numbers, such as two different numbers The steps are executed at the same time, or two steps with different numbers are executed in the reverse order as shown in the illustration, which is not limited in this embodiment of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例公开了一种重定向方法、装置、设备、存储介质及程序产品,属于投屏技术领域。该方法包括:基于源端设备标识以及目标重定向对象标识创建源端重定向实例,所述目标重定向对象标识用于表征目标重定向对象(201);向目的端设备传输所述源端重定向实例对应的重定向数据(203),以便所述目的端设备基于所述重定向数据,通过目的端重定向实例所指示的目标屏幕对所述目标重定向对象进行展示,所述目的端重定向实例与所述源端重定向实例对应同一重定向事件,且所述目的端重定向实例基于目的端设备标识以及目标屏幕标识创建得到。

Description

重定向方法、装置、设备、存储介质及程序产品
本申请要求于2021年10月26日提交的申请号为202111249916.7、发明名称为“重定向方法、装置、设备、存储介质及程序产品”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及投屏技术领域,特别涉及一种重定向方法、装置、设备、存储介质及程序产品。
背景技术
重定向(redirect)是指将某种能力由一端设备流转至另一端设备的技术,流转的能力包括视频、音频和控制等等。日常生活中常见的重定向技术包括设备投屏。
借助投屏功能,源端设备可以将当前显示的画面投射到目的端设备上,从而达到更好的显示效果。相关技术提供的投屏方案,适用于简单投屏场景,比如实现一对一投屏场景或者多对一投屏场景。然而,随着投屏场景的复杂度提高,比如多对多投屏场景,目前的投屏方案将无法适用。
发明内容
本申请实施例提供了一种重定向方法、装置、设备、存储介质及程序产品。所述技术方案如下:
一方面,本申请实施例提供了一种重定向方法,所述方法用于源端设备,所述方法包括:
基于源端设备标识以及目标重定向对象标识创建源端重定向实例,所述目标重定向对象标识用于表征目标重定向对象;
向目的端设备传输所述源端重定向实例对应的重定向数据,以便所述目的端设备基于所述重定向数据,通过目的端重定向实例所指示的目标屏幕对所述目标重定向对象进行展示,所述目的端重定向实例与所述源端重定向实例对应同一重定向事件,且所述目的端重定向实例基于目的端设备标识以及目标屏幕标识创建得到。
另一方面,本申请实施例提供了一种重定向方法,所述方法用于目的端设备,所述方法包括:
基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,所述目标屏幕标识用于表征所述目的端设备的目标屏幕;
接收源端设备传输的源端重定向实例对应的重定向数据,所述源端重定向实例与所述目的端重定向实例对应同一重定向事件,且所述目的端重定向实例基于源端设备标识以及目标重定向对象标识创建得到,所述目标重定向对象标识用于表征目标重定向对象;
基于所述重定向数据,通过所述目标屏幕对所述目标重定向对象进行展示。
另一方面,本申请实施例提供了一种重定向装置,所述装置包括:
创建模块,用于基于源端设备标识以及目标重定向对象标识创建源端重定向实例,所述目标重定向对象标识用于表征目标重定向对象;
传输模块,用于向目的端设备传输所述源端重定向实例对应的重定向数据,以便所述目的端设备基于所述重定向数据,通过目的端重定向实例所指示的目标屏幕对所述目标重定向对象进行展示,所述目的端重定向实例与所述源端重定向实例相对应,且所述目的端重定向实例基于目的端设备标识以及目标屏幕标识创建得到。
另一方面,本申请实施例提供了一种重定向装置,所述装置包括:
创建模块,用于基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,所述目标屏幕标识用于表征目的端设备的目标屏幕;
接收模块,用于接收源端设备传输的源端重定向实例对应的重定向数据,所述源端重定向实例与所述目的端重定向实例对应同一重定向事件,且所述目的端重定向实例基于源端设备标识以及目标重定向对象标识创建得到,所述目标重定向对象标识用于表征目标重定向对象;
展示模块,用于基于所述重定向数据,通过所述目标屏幕对所述目标重定向对象进行展示。
另一方面,本申请实施例提供了一种重定向系统,所述重定向系统包括:至少一个源端设备和至少一个目的端设备;
所述源端设备,用于基于源端设备标识以及目标重定向对象标识创建源端重定向实例,所述目标重定向对象标识用于表征目标重定向对象;向目的端设备传输所述源端重定向实例对应的重定向数据;
所述目的端设备,用于基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,所述目标屏幕标识用于表征所述目的端设备的目标屏幕;接收所述源端设备传输的源端重定向实例对应的重定向数据,所述源端重定向实例与所述目的端重定向实例对应同一重定向事件;基于所述重定向数据,通过所述目标屏幕对所述目标重定向对象进行展示。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的重定向方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上述方面所述的重定向方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的重定向方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的实施环境的示意图;
图2示出了本申请一个示例性实施例提供的重定向方法的流程图;
图3是本申请一个示例性实施例示出的重定向模块的层级架构的示意图;
图4示出了本申请另一个示例性实施例提供的重定向方法的流程图;
图5是本申请一个示例性实施例示出的编码、传输以及解码过程的实施示意图;
图6是本申请一个示例性实施例示出的视频编解码以及传输过程的流程图;
图7是本申请另一个示例性实施例示出的编码、传输以及解码过程的实施示意图;
图8是本申请一个示例性实施例示出的目的端设备反向控制过程的流程图;
图9是本申请一个示例性实施例示出的反向控制指令生成过程的流程图;
图10是本申请一个示例性实施例示出的触控坐标确定过程的实施示意图;
图11是本申请另一个示例性实施例示出的重定向模块的层级架构的示意图;
图12是本申请一个示例性实施例示出的重定向信息的获取过程的流程图;
图13是本申请一个示例性实施例示出的重定向设置界面的界面示意图;
图14示出了本申请一个实施例提供的重定向装置的结构框图;
图15示出了本申请另一个实施例提供的重定向装置的结构框图;
图16是本申请一个实施例提供的重定向系统的系统架构图;
图17示出了本申请一个示例性实施例提供的计算机设备的结构方框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境可以包括:至少一个源端设备110以及至少一个目的端设备120。
源端设备110是具有重定向需求的电子设备,其可以是智能手机、平板电脑、个人计算机等移动终端。图1中以源端设备110包括平板电脑111以及智能手机112为例进行说明。
源端设备110中具有重定向需求的对象被称为重定向对象,该重定向对象可以是屏幕镜像或者重定向应用,且重定向对象的重定向内容可以包括视频、音频以及控制中的至少一种。该重定向应用可以为导航应用、视频类应用、游戏类应用等等,本申请实施例并不对投屏应用的具体类型进行限定。可选的,在重定向对象为应用的情况下,重定向过程中该应用可以处于后台运行状态。
本申请实施例中,同一源端设备可以同时对至少两个重定向对象进行重定向。比如,可以同时对屏幕镜像以及视频类应用进行投屏,也可以同时对视频类应用以及导航类应用进行投屏。其中,源端设备支持同时重定向的重定向对象的数量具有上限,且该上限与源端设备的处理性能相关。
目的端设备120是用于进行重定向结果展示的电子设备,其可以是智能手机、平板电脑、个人计算机、智能电视或者车载终端(比如车机)等等。图1中以目的端设备120包括第一车载终端121和第二车载终端122为例进行说明,其中,第一车载终端121和第二车载终端122设置在同一车辆中,且第一车载终端 121和第二车载终端122分别由不同的SoC(System on Chip,系统级芯片)控制。比如,第一车载终端121为设置在车辆前排的车载终端,第二车载终端122为设置在车辆后排的车载终端。
可选的,目的端设备120具有至少一块屏幕。如图1所示,第一车载终端121具有第一屏幕1211以及第二屏幕1212(均由第一车载终端121的第一SoC 1213控制),第二车载终端122具有第三屏幕1221和第四屏幕1222(均由第二车载终端122的第二SoC 1223控制)。
在一些实施例中,在目的端设备120具有至少两块屏幕的情况下,至少两块屏幕可以同时显示不同的投屏内容,或者,相同投屏内容,且各块屏幕中显示的投屏内容可以为单一投屏对象,也可以为多个投屏对象(分屏显示多个投屏对象)。
目的端设备120除了具备投屏内容显示功能外,还可以具有音频播放功能,投屏过程中播放的音频即为投屏对象的音频。
除了音视频播放功能外,目的端设备120还可以通过输入输出组件实现对投屏内容的反向控制功能。可选的,该输入输出组件可以是目的端设备120的触控式屏幕,目的端设备120的外接控制设备,比如手柄、键盘、鼠标或者触控板等等,本实施例对此不作限定。
本申请实施例中的多对多重定向体现在多源端设备(多个源端设备参与重定向)、多重定向对象(同一源端设备中的多个重定向对象参与重定向)、多目的端设备(多个目的端设备参与重定向)以及多屏幕(同一目的端设备的多个屏幕参与重定向)。在一种可能的多对多投屏场景下,如图1所示,平板电脑111中的视频应用被投屏至第一车载终端121的第一屏幕1211;第一游戏应用则被投屏至第一车载终端121的第二屏幕1212。智能手机112中的导航应用被投屏至第一车载终端121的第一屏幕1211,并与视频应用分屏显示;智能手机112中的第二游戏应用被投屏至第二车载终端122的第三屏幕1221和第四屏幕1222,即第三屏幕1221和第四屏幕1222显示相同投屏内容。此外,由于第一车载终端121和第二车载终端122的各块屏幕均具有触控功能,因此用户可以在屏幕上对投屏应用进行操作,从而实现对投屏应用的反向控制。
需要说明的是,源端设备110和目的端设备120之间采用的连接方式可以包括Wlan AP模式、WiFi-P2P、USB有线连接、移动数据网络中的至少一种,本申请实施例对此并不进行限定。
此外,上述实施例仅以移动终端向车载终端投屏为例进行(即车机场景)示意性的说明,本申请实施例提供的方案可以应用于其他多对多重定向场景,本实施例并不对具体的应用场景构成限定。
请参考图2,其示出了本申请一个示例性实施例提供的重定向方法的流程图,本申请实施例以该方法应用于图1所示的实施环境为例进行说明,该方法包括:
步骤201,源端设备基于源端设备标识以及目标重定向对象标识创建源端重定向实例,目标重定向对象标识用于表征目标重定向对象。
其中,该重定向对象的类型包括屏幕镜像或重定向应用中的至少一种,且重定向对象的重定向内容的类型包括音频、视频以及控制中的至少一种。
在需要通过源端设备进行重定向的情况下,源端设备基于源端设备标识(即自身设备标识)以及待重定向的目标重定向对象的目标重定向对象标识,创建源端重定向实例,即以“源端设备+重定向对象”为单位形成源端重定向实例。
其中,在不同源端设备对同一重定向对象进行重定向的情况下(比如不同源端设备对同一应用进行重定向),不同源端设备创建的源端重定向实例不同;在同一源端设备需要对不同重定向对象进行重定向的情况下,同一源端设备基于不同重定向对象创建的源端重定向实例也不同。
可选的,源端设备在接收到重定向操作时创建源端重定向实例,或者,源端设备接收到第三方设备的重定向指令时创建源端重定向实例,即通过源端设备进行重定向可以在源端设备侧触发,也可以由第三方设备触发,其中,该第三方设备与源端设备处于同一调度域中,比如,第三方设备与源端设备登陆有相同用户账号。
关于源端设备重定向的具体内容,在一些实施例中,源端设备可以对屏幕镜像进行重定向,也可以对安装并运行的应用程序(即重定向应用)进行重定向。对应的,在目标重定向对象为屏幕镜像的情况下,目标重定向对象标识为镜像标识;在目标重定向对象为重定向应用的情况下,目标重定向对象标识为重定向应用的应用标识。
步骤202,目的端设备基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,目标屏幕标识用于表征目的端设备的目标屏幕。
与源端设备相对应的,进行展示的目的端设备需要创建与源端重定向实例对应的目的端重定向实例。其中,目的端设备基于目的端设备标识(即自身设备标识)以及进行展示的目标屏幕的目标屏幕标识,创建目的端重定向实例,即以“目的端设备+目标屏幕”为单位形成目的端重定向实例。进一步的,源端重定向实例和目的端重定向实例即构成了重定向事件。
本申请实施例中,目的端设备具有至少一块屏幕,不同屏幕对应不同的屏幕标识,且不同屏幕由目的端设备中的同一SoC进行控制。比如,目的端设备为车载终端,该车载终端具有主驾屏幕和副驾屏幕。
其中,在不同目的端设备对同一重定向对象进行展示的情况下,不同目的端设备创建的目的端重定向实例不同;在同一目的端设备通过不同屏幕进行展示的情况下,同一目的端设备基于不同屏幕创建的目的端重定向实例也不同。
可选的,目的端设备在接收到源端设备发送的重定向请求时创建目的端重定向实例,或者,目的端设备接收到第三方设备的重定向指令时创建目的端重定向实例,其中,该第三方设备与目的端设备处于同一调度域中,比如,第三方设备与目的端设备登陆有相同用户账号。
步骤203,源端设备向目的端设备传输源端重定向实例对应的重定向数据。
完成源端重定向实例创建后,源端设备生成源端重定向实例对应的重定向数据,并将重定向数据传输至目的端设备,其中,该重定向数据至少包含视频数据流,还可以包含音频数据流以及控制数据流中的至少一种。
可选的,在需要实现一对多重定向的情况下,源端设备可以将重定向数据传输至多个目的端设备,以便多个目的端设备同时展示同一目标重定向对象。
在一些实施例中,源端设备对目标重定向对象的画面进行视频编码,得到视频数据流,其中,源端设备可以采用H264、H265等视频编码格式进行编码,本申请实施例对此不作限定;在重定向数据包括音频数据流的情况下,源端设备对目标重定向对象的声音进行音频编码,得到音频数据流,其中,源端设备可以采用AAC等音频编码格式进行编码,本申请实施例对此不作限定;在重定向数据包括控制数据流的情况下,源端设备可以按照约定的指令格式对控制指令进行编码,得到控制数据流。
关于重定向数据的传输方式,可选的,源端设备可以通过无线方式传输重定向数据,比如,Wlan AP、WiFi-P2P或移动数据网络;也可以通过有线方式传输重定向数据,比如,USB有线连接;也可以通过有线无线混合方式传输重定向数据,本申请实施例对此不作限定。
步骤204,目的端设备接收源端设备传输的源端重定向实例对应的重定向数据,源端重定向实例与目的端重定向实例对应同一重定向事件。
在一种可能的实施方式中,由于同一目的端设备可能会同时接收到不同源端设备传输的重定向数据,或者,同时接收到同一源端设备传输的多路重定向数据(对应不同的重定向对象),因此为了保证后续展示的准确性,目的端设备接收到重定向数据后,需要确定该重定向数据对应的源端重定向实例,进而确定与该源端重定向实例对应同一重定向事件的目的端重定向实例。
步骤205,目的端设备基于重定向数据,通过目标屏幕对目标重定向对象进行展示。
进一步的,目的端设备确定目的端重定向实例所指示的目标屏幕,并对重定向数据进行解析(比如对视频数据流进行视频解码),从而通过目标屏幕对目标重定向对象进行展示。
在一些实施例中,在重定向数据中还包括音频数据流的情况下,目的端设备对音频数据流进行解析,并通过音频播放组件进行播放目标重定向对象的声音。
综上所述,本申请实施例中,重定向过程中,源端设备基于源端设备标识以及目标重定向对象标识创建源端重定向实例,目的端设备基于目的端设备标识以及目标屏幕标识,创建与源端重定向实例对应的目的端重定向实例,从而在接收到源端重定向实例对应的重定向数据后,通过目的端重定向实例所指示的目标屏幕对目标重定向对象进行展示;采用本申请实施例提供的方案,通过创建源端重定向实例和目的端重定向实例能够实现多层级的多对多重定向,比如,可以将同一源端设备中的不同重定向对象重定向至不同目的端设备,可以将源端设备中同一重定向对象同时投屏至多个屏幕,可以使同一目的端设备的不同屏幕显示不同的重定向对象,可以使目的端设备的屏幕同时显示多路重定向对象等等,适用于源端设备层面、重定向对象层面、目的端设备以及设备屏幕层面的多对多重定向场景,提高对复杂重定向场景的适用性。
可选的,向目的端设备传输源端重定向实例对应的重定向数据,包括:
创建源端重定向器;
通过源端重定向器与目的端重定向器之间的链路,向目的端设备传输源端重定向实例对应的重定向数据,目的端重定向器由目的端设备创建得到。
可选的,创建源端重定向器,包括:
基于源端重定向实例、目的端设备标识以及目标重定向对象对应的媒体类型,创建至少一个源端重定向器,其中,不同的源端重定向器对应不同的媒体类型,媒体类型包括视频、音频以及控制中的至少一种;
通过源端重定向器与目的端重定向器之间的链路,向目的端设备传输源端重定向实例对应的重定向数据,包括:
通过至少一个源端重定向器与至少一个目的端重定向器之间的至少一条链路,向目的端设备传输至少一种媒体类型的重定向数据。
可选的,在媒体类型为视频的情况下,源端重定向器包括源端视频重定向器;
方法还包括:
复用视频编码器对同一源端重定向实例对应的画面进行视频编码,得到视频数据流;
将视频数据流分流至源端重定向实例对应的至少一个源端视频重定向器;
通过至少一个源端重定向器与至少一个目的端重定向器之间的至少一条链路,向目的端设备传输至少一种媒体类型的重定向数据,包括:
通过源端视频重定向器与目的端视频重定向器之间的链路,向目的端设备传输视频数据流。
可选的,在媒体类型包括音频的情况下,源端重新定向器包括源端音频重定向器;
方法还包括:
在目标重定向对象的类型为屏幕镜像的情况下,通过设备级音频采集编码器进行音频采集及编码,得到音频数据流;
在目标重定向对象的类型为应用的情况下,通过应用级音频采集编码器进行音频采集及编码,得到音频数据流;
通过至少一个源端重定向器与至少一个目的端重定向器之间的至少一条链路,向目的端设备传输至少一种媒体类型的重定向数据,包括:
通过源端音频重定向器与目的端音频重定向器之间的链路,向目的端设备传输音频数据流。
可选的,在媒体类型包括控制的情况下,源端重定向器包括源端控制重定向器;
方法还包括:
通过源端控制重定向器与目的端控制重定向器之间的链路,接收目的端设备发送的反向控制指令,反向控制指令由目的端设备接收到对目标重定向对象的控制操作时触发;
基于反向控制指令控制目标重定向对象。
可选的,基于源端设备标识以及目标重定向对象标识创建源端重定向实例,包括:
响应于重定向操作,确定重定向信息;或,响应于第三方设备发送的重定向指令,获取重定向指令中包含的重定向信息;
基于重定向信息中的源端设备标识以及目标重定向对象标识创建源端重定向实例;其中,重定向信息包含源端设备标识、目标重定向对象标识、目的端设备标识以及目标屏幕标识。
可选的,重定向信息中还包括媒体类型,媒体类型包括视频、音频以及控制中的至少一种。
可选的,响应于重定向操作,确定重定向信息,包括:
显示重定向设置界面;
响应于对重定向设置界面中源端设备选择控件的触发操作,确定源端设备标识;
响应于对重定向设置界面中源端设备对应的重定向对象选择控件的触发操作,确定目标重定向对象标识;
响应于对重定向设置界面中目的端设备选择控件的触发操作,确定目的端设备标识;
响应于述重定向设置界面中目的端设备对应的屏幕选择控件的触发操作,确定目标屏幕标识;
响应于对重定向设置界面中媒体选择控件的触发操作,确定媒体类型。
可选的,接收源端设备传输的源端重定向实例对应的重定向数据,包括:
创建目的端重定向器;
通过目的端重定向器与源端重定向器之间的链路,接收源端设备传输的重定向数据,源端重定向器由源端设备创建得到。
可选的,创建目的端重定向器,包括:
基于源端重定向实例、目的端设备标识以及目标重定向对象对应的媒体类型,创建至少一个目的端重定向器,其中,不同的目的端重定向器对应不同的媒体类型,媒体类型包括视频、音频以及控制中的至少一种;
通过目的端重定向器与源端重定向器之间的链路,接收源端设备传输的重定向数据,包括:
通过至少一个目的端重定向器与至少一个源端重定向器之间的至少一条链路,接收源端设备传输的至少一种媒体类型的重定向数据。
可选的,在媒体类型包括视频的情况下,目的端重定向器包括目的端视频重定向器;
方法还包括:
复用视频解码器对同一源端重定向实例对应的视频数据流进行视频解码,得到源端重定向实例对应的画面。
可选的,在媒体类型包括视频的情况下,目的端重定向器包括目的端视频重定向器;
通过目标屏幕对目标重定向对象进行展示,包括:
通过目标屏幕对应的目标投屏窗体应用,对目标重定向对象进行展示。
可选的,通过目标屏幕对应的目标投屏窗体应用,对目标重定向对象进行展示,包括:
在目标屏幕对应的目标投屏窗体应用处于未启动状态的情况下,启动目标投屏窗体应用;通过目标投屏窗体应用对目标重定向对象进行展示;
或,
在目标投屏窗体应用处于启动状态的情况下,通过复用目标投屏窗体应用对目标重定向对象进行展示,其中,复用目标投屏窗体应用后,各个重定向对象分屏显示在目标屏幕中。
可选的,在媒体类型包括控制的情况下,目的端重定向器包括目的端控制重定向器;
方法还包括:
响应于对目标重定向对象的控制操作,生成反向控制指令;
通过目的端控制重定向器与源端控制重定向器之间的链路,向源端设备发送反向控制指令,以便源端设备基于反向控制指令控制目标重定向对象。
可选的,响应于对目标重定向对象的控制操作,生成反向控制指令,包括:
响应于对目标屏幕的触控操作,确定第一触控坐标,第一触控坐标位于目标屏幕的坐标系下;
在基于第一触控坐标确定出触控操作用于控制的目标重定向对象的情况下,将第一触控坐标转换为第二触控坐标,第二触控坐标位于目标重定向对象的坐标系下;
基于第二触控坐标生成反向控制指令。
可选的,在目标屏幕对应的目标投屏窗体应用被至少两个重定向对象复用的情况下,响应于对目标屏幕的触控操作,确定第一触控坐标之后,还包括:
获取目标投屏窗体应用中各个重定向对象的位置信息;
基于第一触控坐标与位置信息之间的位置关系,确定触控操作所控制的重定向对象。
可选的,基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,包括:
获取重定向信息,重定向信息包含源端设备标识、目标重定向对象标识、目的端设备标识以及目标屏幕标识;
基于重定向信息中的目的端设备标识以及目标屏幕标识创建目的端重定向实例。
可选的,重定向信息中还包括媒体类型,媒体类型包括视频、音频以及控制中的至少一种。
可选的,源端设备为移动终端,目的端设备为车载终端。
为了实现多层级的多对多重定向,源端设备以及目的端设备的重定向模块进行分层设计。如图3所示,重定向模块的层级结构包括:
设备层:包括多路投屏服务,用于对外提供设备的投屏API(Application Programming Interface,应用程序接口)。
投屏应用层:包括由投屏管理器创建的源端重定向实例(作为源端设备时)或目的端重定向实例(作为目的端设备时),重定向事件即对应一对源端重定向实例以及目的端重定向实例。
流媒体处理层:包括视频处理模块、音频处理模块以及控制处理模块,用于处理源端或目的端重定向实例中特定媒体类型的数据。
重定向实例层:作为源端设备时,包括源端视频重定向器、源端音频重定向器以及源端控制重定向器;作为目的端设备时,包括目的端视频重定向器、目的端音频重定向器以及目的端控制重定向器。特定媒体类型的源端重定向器以及目的端重定向器之间的传输链路即用于传输特定媒体类型的重定向数据。
显示层:包括投屏窗体应用,且不同投屏窗体应用对应目的端设备的不同屏幕。
下面结合上述层级结构,对重定向过程进行进一步说明。
请参考图4,其示出了本申请另一个示例性实施例提供的重定向方法的流程图,本申请实施例以该方法应用于图1所示的实施环境为例进行说明,该方法包括:
步骤401,源端设备基于源端设备标识以及目标重定向对象标识创建源端重定向实例,目标重定向对象标识用于表征目标重定向对象。
本步骤的实施方式可以参考上述步骤201,本实施例在此不作赘述。
步骤402,源端设备创建源端重定向器。
在一种可能的实施方式中,源端设备创建出源端重定向实例后,进一步基于源端重定向实例创建源端重定向器,该源端重定向器即用于将源端重定向实例对应的重定向数据,重定向传输至属于同一重定向事件的目的端重定向实例对应的目的端设备。
可选的,源端设备基于源端重定向实例以及目的端设备标识创建源端重定向器。其中,在源端设备向不同目的端设备重定向的情况下(可以是同一重定向对象,也可以是不同重定向对象),源端设备创建多 个源端重定向器;在源端设备向目的端设备的多个屏幕投屏同一重定向对象的情况下,源端设备创建单个源端重定向器;在源端设备向目的端设备的多个屏幕投屏不同重定向对象的情况下,源端设备针对不同重定向对象创建多个源端重定向器。
比如,在需要向第一目的端设备以及第二目的端设备投屏游戏应用的情况下,源端设备基于源端设备标识、第一目的端标识以及游戏应用标识创建第一源端重定向器,基于源端设备标识、第二目的端标识以及游戏应用标识创建第二源端重定向器;在需要向第一目的端设备的第一屏幕投屏游戏应用,向第一目的端设备的第二屏幕投屏导航应用的情况下,源端设备基于源端设备标识、第一目的端标识以及游戏应用标识创建第一源端重定向器,基于源端设备标识、第一目的端标识以及导航应用标识创建第二源端重定向器;在需要向第一目的端设备的第一屏幕以及第二屏幕同时投屏游戏应用时,源端设备基于源端设备标识、第一目的端标识以及游戏应用标识创建第一源端重定向器。
可选的,在进行重定向时,可以设置重定向对象的媒体类型(可以由用户手动设置,也可以由源端设备基于目的端设备的能力自动设置),该媒体类型包括视频、音频以及控制中的至少一种。在源端重定向实例的媒体类型包括视频的情况下,目的端设备可以通过屏幕显示目标重定向对象;在源端重定向实例的媒体类型包括音频的情况下,目的端设备可以通过音频播放组件播放目标重定向对象的声音;在源端重定向实例的媒体类型包括控制的情况下,目的端设备可以对目标重定向对象进行反向控制。
相应的,源端设备需要根据目标重定向对象对应的媒体类型,分别创建不同媒体类型对应的源端重定向器。在另一种可能的实施方式中,源端设备基于源端重定向实例、目的端设备标识以及目标重定向对象对应的媒体类型,创建至少一个源端重定向器,其中,不同的源端重定向器对应不同的媒体类型。
示例性的,在目标重定向对象对应的媒体类型包括视频的情况下,源端设备创建源端视频重定向器,该源端视频重定向器用于重定向目标重定向对象的视频数据流;在目标重定向对象对应的媒体类型包括音频的情况下,源端设备创建源端音频重定向器,该源端音频重定向器用于重定向目标重定向对象的音频数据流;在目标重定向对象对应的媒体类型包括控制的情况下,源端设备创建源端控制重定向器,该源端控制重定向器用于重定向目标重定向对象的控制数据流。
比如,在需要向第一目的端设备投屏游戏应用,且第一目的端设备支持显示游戏应用画面、播放游戏应用声音以及反向控制游戏应用的情况下,源端设备基于源端设备标识、第一目的端标识、游戏应用标识以及视频类型创建源端视频重定向器,基于源端设备标识、第一目的端标识、游戏应用标识以及音频类型创建源端音频重定向器;基于源端设备标识、第一目的端标识、游戏应用标识以及控制类型创建源端控制重定向器。
步骤403,目的端设备基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,目标屏幕标识用于表征目的端设备的目标屏幕。
本步骤的实施方式可以参考上述步骤202,本实施例在此不再赘述。
步骤404,目的端设备创建目的端重定向器。
与源端设备相对应的,目的端设备需要创建与源端重定向器对应的目的端重定向器,以便后续通过源端重定向器与目的端重定向器之间的链路传输源端重定向实例对应的重定向数据。
关于创建目的端重定向器的方式,在一种可能的实施方式中,目的端设备知悉源端设备以及目标重定向对象,从而基于源端设备标识、目标重定向对象标识以及目的端设备标识创建目的端重定向器,即源端重定向器和目的端重定向器对应同一源端重定向事件。
其中,在源端设备向不同目的端设备投屏的情况下(可以是同一重定向对象,也可以是不同重定向对象),不同目的端设备创建不同目的端重定向器;在源端设备向目的端设备的多个屏幕投屏同一重定向对象的情况下,目的端设备创建单个目的端重定向器;在源端设备向目的端设备的多个屏幕投屏不同重定向对象的情况下,目的端设备针对不同重定向对象创建多个目的端重定向器。
比如,在源端设备向第一目的端设备以及第二目的端设备投屏游戏应用的情况下,第一目的端设备基于源端设备标识、第一目的端标识以及游戏应用标识创建第一目的端重定向器,第二目的端设备基于源端设备标识、第二目的端标识以及导航应用标识创建第二目的端重定向器;在源端设备向第一目的端设备的第一屏幕投屏游戏应用,向第一目的端设备的第二屏幕投屏导航应用的情况下,目的端设备基于源端设备标识、第一目的端标识以及游戏应用标识创建第一目的端重定向器,基于源端设备标识、第一目的端标识以及导航应用标识创建第二目的端重定向器;在源端设备向第一目的端设备的第一屏幕以及第二屏幕同时投屏游戏应用的情况下,源端设备基于源端设备标识、第一目的端标识以及游戏应用标识创建第一目的端重定向器。
可选的,在用户在重定向过程中设置了源端重定向实例的媒体类型的情况下,源端设备会针对不同媒体类型创建不同源端重定向器,而目的端设备则需要创建针对不同媒体类型的对应的目的端重定向器。
在另一种可能的实施方式中,目的端设备基于源端重定向实例、目的端设备标识以及目标重定向对象 对应的媒体类型,创建至少一个目的端重定向器,其中,不同的目的端重定向器对应不同的媒体类型。
示例性的,在目标重定向对象对应的媒体类型包括视频的情况下,目的端设备创建目的端视频重定向器,用于接收源端视频重定向器传输的视频数据流;在目标重定向对象对应的媒体类型包括音频的情况下,目的端设备创建目的端音频重定向器,用于接收源端音频重定向器传输的音频数据流;在目标重定向对象对应的媒体类型包括控制的情况下,目的端设备创建目的端控制重定向器,用于向源端控制重定向器传输控制数据流。
比如,在源端设备向第一目的端设备投屏游戏应用,且第一目的端设备支持显示游戏应用画面、播放游戏应用声音以及反向控制游戏应用的情况下,目的端设备基于源端设备标识、第一目的端标识、游戏应用标识以及视频类型创建目的端视频重定向器,基于源端设备标识、第一目的端标识、游戏应用标识以及音频类型创建目的端音频重定向器;基于源端设备标识、第一目的端标识、游戏应用标识以及控制类型创建目的端控制重定向器。
步骤405,源端设备通过源端重定向器与目的端重定向器之间的链路,向目的端设备传输源端重定向实例对应的重定向数据。
完成重定向器创建后,源端设备即通过源端重定向器,向对应的目的端重定向器(目的端重定向器与源端重定向器对应同一源端重定向实例)传输重定向数据。
在一种可能的实施方式中,在源端设备和目的端设备针对不同媒体类型创建不同重定向器的情况下,源端设备通过至少一个源端重定向器与一个所述目的端重定向器之间的至少一条链路,向目的端设备传输至少一种媒体类型的重定向数据,其中,不同源端重定向器与目的端重定向器之间的链路用于传输不同媒体类型的重定向数据。
比如,在源端设备向目的端设备投屏游戏应用,且目的端设备支持显示游戏应用画面以及播放游戏应用声音的情况下,源端设备通过源端视频重定向器向目的端设备的目的端视频重定向器传输视频数据流,通过源端音频重定向器向目的端设备的目的端音频重定向器传输音频数据流。
步骤406,目的端设备通过目的端重定向器与源端重定向器之间的链路,接收源端设备传输的重定向数据。
在一种可能的实施方式中,目的端设备通过至少一个目的端重定向器与至少一个源端重定向器之间的至少一条链路,接收源端设备传输的至少一种媒体类型的重定向数据。
步骤407,目的端设备基于重定向数据,通过目标屏幕对应的目标投屏窗体应用,对目标重定向对象进行展示。
在一种可能的实施方式中,在目的端设备具有至少两块屏幕的情况下,目的端设备根据目的端重定向实例中的目标屏幕标识确定目标屏幕,进而通过目标屏幕进行展示。
在一些可能应用场景中,多路投屏(来自同一源端设备或不同源端设备)需要同时显示在目的端设备中的同一块屏幕(同屏多显);多路投屏需要显示在目的端设备中的不同屏幕(多屏异显);源端设备的同一投屏对象需要同时显示在目的端设备的不同屏幕(多屏同显)。
为了保证投屏显示的准确性,在一些实施例中,目的端设备的各个屏幕分别对应各自的投屏窗体应用,接收到重定向数据后,目的端设备即通过目标屏幕对应的目标投屏窗体应用进行展示。以安卓系统为例,投屏窗体应用可以为Activity(活动)组件。
可选的,投屏窗体应用对应设置有窗体应用代理,用于对投屏窗体应用的生命周期进行控制。
并且,针对同屏多显场景,目的端设备需要复用投屏窗体应用,在同一屏幕中对多个重定向对象进行分屏显示。
在一种可能的实施方式中,目的端设备接收到重定向数据后进行展示可以包括如下两种可能的情况。
1、在目标屏幕对应的目标投屏窗体应用处于未启动状态的情况下,启动目标投屏窗体应用;通过目标投屏窗体应用对目标重定向对象进行展示。
可选的,确定出展示的目标屏幕后,目的端设备检测该目标屏幕对应的目标投屏窗体应用是否处于启动状态,若处于未启动状态,表明当前没有其他投屏对象通过目标屏幕进行展示,从而启动目标投屏窗体应用,进而通过目标投屏窗体应用进行展示,此时,目标屏幕仅显示目标重定向对象的画面。
2、在目标投屏窗体应用处于启动状态的情况下,通过复用目标投屏窗体应用对目标重定向对象进行展示,其中,复用目标投屏窗体应用后,各个投屏对象分屏显示在目标屏幕中。
可选的,在检测到目标投屏窗体应用处于启动状态的情况下,表明目标屏幕当前正在展示其他投屏对象。目的端设备需要复用目标投屏窗体应用(即多个源端重定向实例复用同一投屏窗体应用),进而对目标屏幕当前展示的其他投屏对象以及目标重定向对象进行分屏显示。其中,目的端设备可以基于各个投屏对象的投屏方向(横屏或竖屏)以及投屏对象的数量进行分屏控制,本申请实施例对此不作限定。
在一些实施例中,在投屏窗体应用内的各个源端重定向实例均退出的情况下,目的端设备结束投屏窗 体应用的生命周期,即销毁投屏窗体应用。
本实施例中,源端设备以及目的端设备分别创建源端重定向器以及目的端重定向器,并通过重定向器之间的链路进行重定向数据传输,保证重定向数据的准确传输;此外,在创建重定向器时,针对源端重定向实例的媒体类型,创建不同媒体类型对应的重定向器,从而通过特定重定向器之间的链路传输特定媒体类型的数据,避免不同媒体类型对应重定向数据之间的相互干扰,并能够实现细粒度的展示(比如仅投屏画面,或同时投屏画面和声音,或同时投屏画面和声音,并开放反向控制)。
向目的端设备传输重定向数据前,源端设备需要对重定向对象进行画面采集,并通过视频编码器对采集到的画面进行视频编码得到视频数据流,这个过程会产生编码开销。对应的,目的端接收到视频数据流后,需要通过视频解码器进行视频解码,从而还原重定向对象的画面,这个过程会产生解码开销。此外,源端设备与目的端设备间进行数据传输会产生IO(In/Out,输入输出)开销。
在一种可能的投屏场景下,源端设备中的同一投屏对象需要被投屏至不同目的端设备,或者,被投屏至同一目的端设备的不同屏幕。如图5所示,在需要将源端设备中的投屏应用同时投屏至目的端设备1的屏幕1和屏幕2,以及目的端设备2的屏幕3的情况下,通过视频编码器1、2、3分别进行视频编码,通过视频解码器1、2、3分别进行视频解码,以及分三路进行视频数据流传输会产生三倍编码、解码以及IO开销(相较于一对一投屏)。
为了降低编解码以及IO开销,源端设备和目的端设备可以采用复用策略进行视频编解码,采用分流策略进行视频数据流传输。在一种可能的实施方式中,如图6所示,视频的编解码以及传输过程可以包括如下步骤。
步骤601,源端设备复用视频编码器对同一源端重定向实例对应的画面进行视频编码,得到视频数据流。
可选的,在需要将同一重定向对象投屏至至少两个屏幕的情况下,源端设备将复用视频编码器对该源端重定向实例的画面进行视频编码,得到视频数据流,而非根据屏幕数量采用多个视频编码器分别进行视频编码。
示意性的,如图7所示,在需要将源端设备中的投屏应用同时投屏至目的端设备1的屏幕1和屏幕2,以及目的端设备2的屏幕3的情况下,源端设备复用视频编码器1进行视频编码,得到视频数据流。相较于图5中通过三个视频编码器进行视频编码,编码开销降低为1倍。
步骤602,源端设备将视频数据流分流至源端重定向实例对应的至少一个源端视频重定向器。
进一步的,同一源端重定向实例可能同时对应多个源端视频重定向器,比如,将源端设备的投屏应用同时投屏至两个目的端设备,源端设备需要创建两个源端重定向器。因此,源端设备需要对编码得到的视频数据流进行分流处理,从而通过不同的源端视频重定向器重定向至不同的目的端视频重定向器。
步骤603,源端设备通过源端视频重定向器与目的端视频重定向器之间的链路,向目的端设备传输视频数据流。
示意性的,如图7所示,由于投屏应用需要被投屏至目的端设备1和目的端设备2,因此源端设备需要创建针对目的端设备1的第一源端视频重定向器,以及针对目的端设备2的第二源端视频重定向器,并将编码得到的视频数据流分流至第一源端视频重定向器和第二源端视频重定向器,进而通过第一源端视频重定向器和第一目的端视频重定向器将视频数据流传输至目的端设备1,通过第二源端视频重定向器和第二目的端视频重定向器将视频数据流传输至目的端设备2,实现视频数据流的分流传输。相较于图5中通过三条链路进行数据传输,IO开销降低为2倍。
步骤604,目的端设备复用视频解码器对同一源端重定向实例对应的视频数据流进行视频解码,得到源端重定向实例对应的画面。
可选的,在需要将同一重定向对象投屏至同一目的端设备的至少两个屏幕的情况下,目的端设备将复用视频解码器对该源端重定向实例的视频数据流进行视频解码,得到视频画面,而非根据屏幕数量采用多个视频解码器分别进行视频解码。
示意性的,如图7所示,目的端设备1接收到视频数据流后,复用视频解码器1进行视频解码,从而通过屏幕1和屏幕2对解码得到的画面进行显示;目的端设备2接收到视频数据流后,通过视频解码器2进行视频解码,从而通过屏幕3对解码得到的画面进行显示。相较于图5中通过三个视频解码器进行视频解码,解码开销降低为2倍。
本实施例中,针对同一源端投屏实例,源端设备通过复用视频编码器、分流以及复用视频解码器,有助于降低编解码开销以及IO开销。
在一种可能的场景下,在目标重定向对象对应的媒体类型包括音频的情况下,源端设备需要对重定向 对象进行音频采集,并对采集到的音频进行编码,得到音频数据流,从而将该音频数据流传输至目的端设备,以供目的端设备进行解析播放。在一种可能的实施方式,在目标重定向对象的类型为屏幕镜像的情况下,源端设备通过设备级音频采集编码器进行音频采集及编码,得到音频数据流,其中,该设备级音频采集编码器用于采集设备的音频并编码;在目标重定向对象的类型为重定向应用的情况下,源端设备通过应用级音频采集编码器进行音频采集及编码,得到音频数据流,其中,该应用级音频采集编码器用于采集重定向应用的音频并编码。
进一步的,源端设备通过源端音频重定向器与目的端音频重定向器之间的链路,向目的端设备传输音频数据流。可选的,源端设备在进行音频编码的过程中,可以针对同一源端重定向实例复用音频编码器,并在传输过程中采用分流策略,对应的,目的端设备在进行音频解码时也可以复用音频解码器,从而降低音频编解码以及IO开销。
在一种可能的场景下,在目标重定向对象对应的媒体类型包括控制的情况下,目的端设备进行展示时,用户可以通过控制操作对重定向对象进行反向控制。由于目的端设备仅是对重定向对象的画面进行解码显示,而非真实运行重定向对象,因此目的端设备需要基于自身接收到的控制操作,向源端设备发送反向控制指令,以便源端设备基于反向控制指令对重定向对象进行控制。在一种可能的实施方式中,如图8所示,目的端设备反向控制重定向对象的过程可以包括如下步骤。
步骤801,响应于对目标重定向对象的控制操作,目的端设备生成反向控制指令。
可选的,该控制操作可以通过目标屏幕触发,比如,在目的端设备为车载终端,且车载终端的屏幕具备触控功能的情况下,用户可以在屏幕上进行点击、长按、拖动等触控操作;也可以通过外接控制组件触发,比如,在目的端设备为电视的情况下,用户可以通过电视遥控器对显示的内容进行控制;还可以通过传感器或输入输出组件触发,比如,在目的端设备为平板电脑的情况下,用户可以通过旋转平板对显示的内容进行控制(类似体感游戏),或者,通过语音对显示内容进行控制。本申请实施例并不对控制操作的具体触发方式进行限定。
针对不同类型的控制操作,目的端设备生成的反向控制指令也不同。可选的,在控制操作通过目标屏幕触发的情况下,该反向控制指令中包含触控操作的坐标以及触控类型(点击、长按、滑动等等);在控制操作通过外接控制组件触发的情况下,该反向控制指令中包含外接控制组件的组件类型以及控制数据(比如键盘输入内容);在控制操作通过传感器或输入输出组件触发的情况下,该反向控制指令中包含传感器数据(比如角速度数据)或者输入数据(比如语音数据)。本申请实施例并不对反向控制指令中包含的具体内容进行限定。
在一些实施例中,在目的端设备的目标屏幕具备触控功能的情况下,用于可以对目标屏幕进行触控操作,以此反向控制重定向对象。比如,在重定向对象为游戏应用的情况下,用户可以通过点击目标屏幕上的虚拟按键对游戏应用中的游戏内容进行控制;在重定向对象为视频应用的情况下,用户可以通过在目标屏幕上执行快捷操作手势,控制视频应用中视频内容的播放进度、音量、亮度等等。
由于源端设备与目的端设备的屏幕尺寸可能不同,且目的端设备同一屏幕可能同时显示有多个重定向对象,因此目的端设备接收到触控操作后,需要对触控操作的触控坐标进行转换,从而基于转换后的触控坐标生成反向控制指令。如图9所示,本步骤可以包括如下步骤。
步骤801A,响应于对目标屏幕的触控操作,确定第一触控坐标,第一触控坐标位于目标屏幕的坐标系下。
在接收到对目标屏幕的触控操作的情况下,目的端设备首先获取在目标屏幕的坐标系下,该触控操作对应的第一触控坐标。
步骤801B,在基于第一触控坐标确定出触控操作用于控制的目标重定向对象的情况下,将第一触控坐标转换为第二触控坐标,第二触控坐标位于目标重定向对象的坐标系下。
可选的,在目标屏幕仅显示有目标重定向对象的情况下,对目标屏幕的触控操作即用于控制重定向对象,目的端设备进一步将目标屏幕坐标系下的第一触控坐标转换为目标重定向对象坐标系下的第二触控坐标。
可选的,在目标屏幕同时显示有多个重定向对象的情况下,目的端设备接收到触控操作时,首先需要确定该控制操作所控制的实际重定向对象,并在该实际重定向对象为目标重定向对象时,将目标屏幕坐标系下的第一触控坐标转换为目标重定向对象坐标系下的第二触控坐标。
在一种可能的实施方式中,目的端设备中各块屏幕对应的投屏窗体应用包含一个SurfaceView,在多个重定向对象复用该投屏窗体应用的情况下,即在SurfaceView中绘制各个投屏对应的GLView,并将各个GLView各自对应的位置信息存储在投屏窗体应用中。相应的,在确定触控操作所控制的重定向对象时,目的端设备获取目标投屏窗体应用中各个重定向对象的位置信息,并基于第一触控坐标与位置信息之间的位置关系,确定触控操作所控制的重定向对象。其中,该位置信息可以为重定向对象所占据矩形显示区域 的顶点坐标,目的端设备即根据第一触控坐标与顶点坐标之间的位置关系,确定触控操作所控制的重定向对象。
在一些实施例中,目的端设备根据屏幕坐标系与重定向对象坐标系之间的映射关系,将第一触控坐标转换为第二触控坐标。
在一个示意性的例子中,如图10所示,目标屏幕1001分屏显示应用A、B、C、D对应的投屏画面,在接收到触控操作的情况下,目的端设备获取坐标系(X1-O1-Y1)下的第一触控坐标(x1,y1),并获取各个应用各自对应的位置信息。由于第一触控坐标(x1,y1)位于应用D对应的显示区域内,因此目的端设备确定控制操作用于控制应用D,并进一步基于坐标系(X1-O1-Y1)与坐标系(X2-O2-Y2)之间的坐标转换关系,将第一触控坐标(x1,y1)转换为第二触控坐标(x2,y2)。
步骤801C,基于第二触控坐标生成反向控制指令。
进一步的,目的端设备基于第二触控坐标生成反向控制指令。在一种可能的实施方式中,由于目的端设备可以会进行旋转,因此目的端设备还需要根据自身的旋转情况,对第二触控坐标进行旋转处理,从而基于旋转处理后第二触控坐标生成反向控制指令。
并且,由于目的端设备可能具有多块屏幕,因此为了保证反向控制的准确性,在一种可能的实施方式中,目的端设备在生成反向控制指令时,还需要基于目标屏幕的屏幕标识,对触控点对应的触控点标识进行偏移处理,从而保证触控点标识的唯一性。比如,pointerId(触控点标识)=100×displayId(屏幕标识)+pointerId。
此外,由于目的端设备中目标重定向对象的显示尺寸与源端设备的屏幕尺寸可能不同,因此在一种可能的实施方式中,目的端设备基于源端设备的屏幕尺寸以及目标重定向对象的显示尺寸,对第二触控坐标进行坐标缩放处理,以此保证反向控制的准确性。当然,也可以由源端设备对触控坐标进行坐标缩放处理,本实施例对此不作限定。
步骤802,目的端设备通过目的端控制重定向器与源端控制重定向器之间的链路,向源端设备发送反向控制指令。
在一种可能的实施方式中,目的端设备对反向控制指令进行编码,得到控制数据流,从而将控制数据流重定向至源端设备。本实施例中,目的端设备与源端设备之间的控制数据流即通过目的端控制重定向器与源端控制重定向器之间的链路进行传输。
步骤803,源端设备通过源端控制重定向器与目的端控制重定向器之间的链路,接收目的端设备发送的反向控制指令。
对应的,源端设备通过源端控制重定向器接收目的端设备发送的反向控制指令。
步骤804,源端设备基于反向控制指令控制目标重定向对象。
在一种可能的实施方式中,源端设备获取反向控制指令中包含的第二触控坐标,从而基于第二触控坐标生成模拟触控事件,从而将模拟触控事件注入目标重定向对象,模拟出在源端设备上对目标重定向对象进行触控操作,实现对目标重定向对象的反向控制。
在一些实施例中,在目标重定向对象被同时投屏至多块屏幕的情况下,源端设备可能会接收到多路反向控制指令,比如,移动终端将游戏应用投屏至后排车载终端的两块屏幕上,以便后排乘客同时对游戏应用进行控制。此时,源端设备需要通过操作系统(对应镜像投屏场景)或投屏应用(对应应用投屏场景)对多路反向控制指令进行冲突处理,本实施例对此不作赘述。
本实施例中,目的端设备接收到对目标屏幕的触控操作后,确定触控操作对应的重定向对象,并对触控操作的触控坐标进行转换处理,从而基于转换后的触控坐标生成反向控制指令,并发送至源端设备,实现对源端设备中重定向对象的反向控制,并保证反向控制过程的准确性。
结合上述实施例,如图11所示,重定向模块更细致的层级结构包括:
投屏窗体应用:用于在屏幕上呈现投屏画面,投屏窗体应用代理用于管理投屏窗体应用生命周期。
投屏管理器:用于实际管理和调度源端重定向实例以及目的端重定向实例。
投屏上下文/投屏信息:用于同步当前重定向实例的相关状态数据。
源端/目的端音频管理器:用于统一管理设备的音频输入输出。
设备级/应用级音频采集编码器:在源端负责音频的采集(设备级或应用级)和编码。
音频解码播放器:在目的端负责音频的解码和播放。
多路反控模块:负责统一控制该投屏应用下多路反控事件注入,并解决反控冲突。
视频编码器:在源端负责投屏应用的视频编码。
视频解码器:在目的端负责投屏应用的视频解码。
信令处理模块:在源端和目的端负责视频、音频和控制的信令能力协商和业务逻辑处理。
媒体流数据通道:负责视频、音频、控制等各种流数据的传输。
序列化加解密模块:负责视频、音频、控制的序列化反序列化及加解密。
流数据对象池:负责视频、音频、控制等各种流数据的对象缓存复用。
内存缓冲池:负责视频、音频、控制二进制数据的内存缓存复用。
OpenGL多路渲染:负责同一显示屏下的多路视频画面的合成与渲染。
多路布局策略:提供多路画面的动态布局算法。
为了降低上层应用以及用户的使用门槛,本申请实施例提供的方案对重定向API进行了合理抽象,采用重定向信息抽象化表示重定向事件。在一种可能的实施方式中,该重定向信息为四元组信息,该四元组信息中包含源端设备标识、目标重定向对象标识、目的端设备标识以及目标屏幕标识。
在另一种可能的实施方式中,在重定向事件支持设置重定向对象的媒体类型的情况下,该重定向信息为五元组信息,该五元组信息中包含源端设备标识、目标重定向对象标识、目的端设备标识、目标屏幕标识以及媒体类型。
在图1所示的实施环境中,“平板电脑111中的视频应用被投屏至第一车载终端121的第一屏幕1211”这一投屏事件可以采用五元组[Source=平板电脑,App=视频应用,Sink=第一车载终端,Display=第一屏幕,Channel=Audio+Video]表示。
“智能手机112中的导航应用被投屏至第一车载终端121的第一屏幕1211”这一投屏事件可以采用五元组[Source=智能手机,App=导航应用,Sink=第一车载终端,Display=第一屏幕,Channel=Audio+Video+Control]表示。
“智能手机112中的第二游戏应用被投屏至第二车载终端122的第三屏幕1221”这一投屏事件可以采用五元组[Source=智能手机,App=第二游戏应用,Sink=第二车载终端,Display=第三屏幕,Channel=Audio+Video+Control]表示。
“智能手机112中的第二游戏应用被投屏至第二车载终端122的第四屏幕1222”这一投屏事件可以采用五元组[Source=智能手机,App=第二游戏应用,Sink=第二车载终端,Display=第四屏幕,Channel=Audio+Video+Control]表示。
相应的,源端设备和目的端设备即根据获取到的重定向信息创建源端重定向实例以及目的端重定向实例。
关于重定向信息获取方式,在一种可能的实施方式中,用户可以在源端设备上通过重定向操作创建重定向事件,相应的,响应于重定向操作,源端设备确定重定向信息,从而基于重定向信息中的源端设备标识以及目标重定向对象标识创建源端重定向实例。
在一些实施例中,源端设备可以显示设置重定向事件的重定向设置界面,用户可以通过触发重定向设置界面中的控件,完成重定向事件的设置,相应的,源端设备获取重定向事件的重定向信息。可选的,如图12所示,重定向信息的获取过程可以包括如下步骤。
步骤1201,显示重定向设置界面。
该重定向设置界面用于进行重定向事件,包含设置重定向事件中各项参数的控件。可选的,该控件包括源端设备选择控件、重定向对象选择控件、目的端设备选择控件、屏幕选择控件以及媒体选择控件。
步骤1202,响应于对重定向设置界面中源端设备选择控件的触发操作,确定源端设备标识。
可选的,在设置重定向事件时,用户首先通过重定向设置界面中的源端设备选择控件,选择重定向事件中的源端设备。在一种可能的实施方式中,在接收到对源端设备选择控件的触发操作的情况下,重定向设置界面中显示调度域内各个能够作为源端设备的候选源端设备。进一步的,在接收到对某一候选源端设备的选择操作的情况下,该候选源端设备即被确定为重定向事件中的源端设备,进而获取该源端设备的源端设备标识。
步骤1203,响应于对重定向设置界面中所述源端设备对应的重定向对象选择控件的触发操作,确定目标重定向对象标识。
完成源端设备设置后,用户进一步通过重定向设置界面中的重定向对象选择控件,选择重定向事件中的目标重定向对象。在一种可能的实施方式中,在接收到对重定向对象选择控件的触发操作的情况下,重定向设备界面中显示源端设备对应的屏幕镜像选项,以及源端设备中候选重定向应用对应的候选应用选项。在接收到对屏幕镜像选项的触发操作的情况下,即将屏幕镜像确定为目标重定向对象;在接收到对候选应用选项的触发操作的情况下,即将候选应用选项对应的应用确定为目标重定向对象,并将该应用对应的应用标识(比如应用包名)确定为目标重定向对象标识。
步骤1204,响应于对重定向设置界面中目的端设备选择控件的触发操作,确定目的端设备标识。
进一步的,用户通过重定向设置界面中的目的端设备选择控件,选择重定向事件中的目的端设备。在一种可能的实施方式中,在接收到对目的端设备选择控件的触发操作的情况下,重定向设置界面中显示调度域中各个能够作为目的端设备的候选目的端设备。进一步的,在接收到对某一候选目的端设备的选择操 作的情况下,该候选目的端设备即被确定为重定向事件中的目的端设备,进而获取该目的端设备的目的端设备标识。
步骤1205,响应于对重定向设置界面中目的端设备对应的屏幕选择控件的触发操作,确定目标屏幕标识。
进一步的,用户通过重定向设置界面中的屏幕选择控件,选择重定向事件中的目标屏幕。在一种可能的实施方式中,在接收到对屏幕选择控件的触发操作的情况下,重定向设置界面中显示目的端设备中各块候选屏幕的屏幕标识。在接收到对某一候选屏幕对应屏幕标识的选择操作的情况下,即将选中的候选屏幕确定为目标屏幕,并获取目标屏幕的目标屏幕标识。
步骤1206,响应于对重定向设置界面中媒体选择控件的触发操作,确定媒体类型。
进一步的,用户通过重定向设置界面中的媒体选择控件,选择目标重定向对象中需要重定向的媒体类型。在一种可能的实施方式中,在接收到对媒体选择控件的触发操作的情况下,重定向设备界面中候选媒体类型控件,其中,不同的候选媒体类型控件对应不同的媒体类型。在接收到对某一候选媒体类型控件的选择操作的情况下,即将选中的候选媒体类型确定为目标重定向对象中需要重定向的媒体类型。
示意性的,如图13所示完成重定向事件设置后,源端设备显示重定向设置界面1300。该重定向设置界面1300中的重定向事件被分为四级,分别为源端重定向实例级1301、目的端设备级1302、目的端设备屏幕级1303以及媒体类型级1304。
上述实施例中,以重定向事件在源端设备侧设置为例进行说明,在另一种可能的实施方式中,重定向事件也可以由调度域中,源端设备以及目的端设备以外的第三方设备设置。第三方设备完成重定向事件设置后,即将包含重定向信息的重定向指令发送至源端设备以及目的端设备。源端设备接收到重定向指令后,获取重定向指令中的重定向信息,并基于重定向信息中的源端设备标识以及目标重定向对象标识创建源端重定向实例;目的端设备接收到重定向指令后,获取重定向指令中的重定向信息,并基于重定向信息中的目的端设备标识以及目标屏幕标识创建目的端重定向实例。
需要说明的是,上述实施例中以源端设备与目的端设备在重定向过程中的交互流程为例进行说明,其中,以源端设备为执行主体的步骤可以单独实现成为源端设备侧的重定向方法,以目的端设备为执行主体的步骤可以单独实现成为目的端设备侧的重定向方法,本申请实施例在此不作赘述。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图14,其示出了本申请一个实施例提供的重定向装置的结构框图。该装置可以包括:
创建模块1401,用于基于源端设备标识以及目标重定向对象标识创建源端重定向实例,所述目标重定向对象标识用于表征目标重定向对象;
传输模块1402,用于向目的端设备传输所述源端重定向实例对应的重定向数据,以便所述目的端设备基于所述重定向数据,通过目的端重定向实例所指示的目标屏幕对所述目标重定向对象进行展示,所述目的端重定向实例与所述源端重定向实例对应同一重定向事件,且所述目的端重定向实例基于目的端设备标识以及目标屏幕标识创建得到。
可选的,所述传输模块1402,包括:
重定向器创建单元,用于创建源端重定向器;
传输单元,用于通过所述源端重定向器与目的端重定向器之间的链路,向所述目的端设备传输所述源端重定向实例对应的重定向数据,所述目的端重定向器由所述目的端设备创建得到。
可选的,所述重定向器创建单元,用于:
基于所述源端重定向实例、所述目的端设备标识以及所述目标重定向对象对应的媒体类型,创建至少一个所述源端重定向器,其中,不同的源端重定向器对应不同的媒体类型,所述媒体类型包括视频、音频以及控制中的至少一种;
所述传输单元,用于:
通过至少一个所述源端重定向器与至少一个所述目的端重定向器之间的至少一条链路,向所述目的端设备传输至少一种所述媒体类型的所述重定向数据。
可选的,在所述媒体类型为视频的情况下,所述源端重定向器包括源端视频重定向器;
所述装置还包括:
视频编码模块,用于复用视频编码器对同一源端重定向实例对应的画面进行视频编码,得到视频数据流;
分流模块,用于将所述视频数据流分流至所述源端重定向实例对应的至少一个源端视频重定向器;
所述传输单元,用于:
通过所述源端视频重定向器与目的端视频重定向器之间的链路,向所述目的端设备传输所述视频数据流。
可选的,在所述媒体类型包括音频的情况下,所述源端重新定向器包括源端音频重定向器;
所述装置还包括:
第一音频编码模块,用于在所述目标重定向对象的类型为屏幕镜像的情况下,通过设备级音频采集编码器进行音频采集及编码,得到音频数据流;
第二音频编码模块,用于在所述目标重定向对象的类型为应用的情况下,通过应用级音频采集编码器进行音频采集及编码,得到音频数据流;
所述传输单元,用于:
通过所述源端音频重定向器与目的端音频重定向器之间的链路,向所述目的端设备传输所述音频数据流。
可选的,在所述媒体类型包括控制的情况下,所述源端重定向器包括源端控制重定向器;
所述装置还包括:
接收模块,用于通过所述源端控制重定向器与目的端控制重定向器之间的链路,接收所述目的端设备发送的反向控制指令,所述反向控制指令由所述目的端设备接收到对所述目标重定向对象的控制操作时触发;
控制模块,用于基于所述反向控制指令控制所述目标重定向对象。
可选的,所述创建模块1401,包括:
确定单元,用于响应于重定向操作,确定重定向信息;或,响应于第三方设备发送的重定向指令,获取所述重定向指令中包含的重定向信息;
实例创建单元,用于基于所述重定向信息中的所述源端设备标识以及所述目标重定向对象标识创建所述源端重定向实例;其中,所述重定向信息包含所述源端设备标识、所述目标重定向对象标识、所述目的端设备标识以及所述目标屏幕标识。
可选的,所述重定向信息中还包括媒体类型,所述媒体类型包括视频、音频以及控制中的至少一种。
可选的,所述确定单元,用于:
显示重定向设置界面;
响应于对所述重定向设置界面中源端设备选择控件的触发操作,确定所述源端设备标识;
响应于对所述重定向设置界面中所述源端设备对应的重定向对象选择控件的触发操作,确定所述目标重定向对象标识;
响应于对所述重定向设置界面中目的端设备选择控件的触发操作,确定所述目的端设备标识;
响应于对所述重定向设置界面中所述目的端设备对应的屏幕选择控件的触发操作,确定所述目标屏幕标识;
响应于对所述重定向设置界面中媒体选择控件的触发操作,确定所述媒体类型。
综上所述,重定向过程中,源端设备基于源端设备标识以及目标重定向对象标识创建源端重定向实例,目的端设备基于目的端设备标识以及目标屏幕标识,创建与源端重定向实例对应的目的端重定向实例,从而在接收到源端重定向实例对应的重定向数据后,通过目的端重定向实例所指示的目标屏幕对目标重定向对象进行展示;采用本申请实施例提供的方案,通过创建源端重定向实例和目的端重定向实例能够实现多层级的多对多重定向,比如,可以将同一源端设备中的不同投屏对象投屏至不同目的端设备,可以将源端设备中同一投屏对象同时投屏至多个屏幕,可以使同一目的端设备的不同屏幕显示不同的投屏对象,可以使目的端设备的屏幕同时显示多路投屏对象等等,适用于源端设备层面、重定向对象层面、目的端设备以及设备屏幕层面的多对多重定向场景,提高对复杂重定向场景的适用性。
请参考图15,其示出了本申请另一个实施例提供的重定向装置的结构框图。该装置可以包括:
创建模块1501,用于基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,所述目标屏幕标识用于表征目的端设备的目标屏幕;
接收模块1502,用于接收源端设备传输的源端重定向实例对应的重定向数据,所述源端重定向实例与所述目的端重定向实例对应同一重定向事件,且所述目的端重定向实例基于源端设备标识以及目标重定向对象标识创建得到,所述目标重定向对象标识用于表征目标重定向对象;
展示模块1503,用于基于所述重定向数据,通过所述目标屏幕对所述目标重定向对象进行展示。
可选的,接收模块1502,包括:
重定向器创建单元,用于创建目的端重定向器;
接收单元,用于通过所述目的端重定向器与源端重定向器之间的链路,接收所述源端设备传输的所述重定向数据,所述源端重定向器由所述源端设备创建得到。
可选的,所述重定向器创建单元,用于:
基于所述源端重定向实例、所述目的端设备标识以及所述目标重定向对象对应的媒体类型,创建至少一个所述目的端重定向器,其中,不同的目的端重定向器对应不同的媒体类型,所述媒体类型包括视频、音频以及控制中的至少一种;
所述接收单元,用于:
通过至少一个所述目的端重定向器与至少一个所述源端重定向器之间的至少一条链路,接收所述源端设备传输的至少一种所述媒体类型的所述重定向数据。
可选的,在所述媒体类型包括视频的情况下,所述目的端重定向器包括目的端视频重定向器;
所述装置还包括:
视频解码模块,用于复用视频解码器对同一源端重定向实例对应的视频数据流进行视频解码,得到所述源端重定向实例对应的画面。
可选的,在所述媒体类型包括视频的情况下,所述目的端重定向器包括目的端视频重定向器;
所述展示模块1503,用于:
通过所述目标屏幕对应的目标投屏窗体应用,对所述目标重定向对象进行展示。
可选的,所述展示模块1503,包括:
第一展示单元,用于在所述目标屏幕对应的所述目标投屏窗体应用处于未启动状态的情况下,启动所述目标投屏窗体应用;通过所述目标投屏窗体应用对所述目标重定向对象进行展示;或,
第二展示单元,用于在所述目标投屏窗体应用处于启动状态的情况下,通过复用所述目标投屏窗体应用对所述目标重定向对象进行展示,其中,复用所述目标投屏窗体应用后,各个重定向对象分屏显示在所述目标屏幕中。
可选的,在所述媒体类型包括控制的情况下,所述目的端重定向器包括目的端控制重定向器;
所述装置还包括:
生成模块,用于响应于对所述目标重定向对象的控制操作,生成反向控制指令;
发送模块,用于通过所述目的端控制重定向器与源端控制重定向器之间的链路,向所述源端设备发送所述反向控制指令,以便所述源端设备基于所述反向控制指令控制所述目标重定向对象。
可选的,所述生成模块,包括:
坐标确定单元,用于响应于对所述目标屏幕的触控操作,确定第一触控坐标,所述第一触控坐标位于所述目标屏幕的坐标系下;
坐标转换单元,用于在基于所述第一触控坐标确定出所述触控操作用于控制的所述目标重定向对象的情况下,将所述第一触控坐标转换为第二触控坐标,所述第二触控坐标位于所述目标重定向对象的坐标系下;
生成单元,用于基于所述第二触控坐标生成所述反向控制指令。
可选的,所述生成模块,还包括:
位置信息获取单元,用于获取所述目标投屏窗体应用中各个所述重定向对象的位置信息;
对象确定单元,用于基于所述第一触控坐标与所述位置信息之间的位置关系,确定所述触控操作所控制的重定向对象。
可选的,所述创建模块1501,包括:
重定向信息获取单元,用于获取重定向信息,所述重定向信息包含所述源端设备标识、所述目标重定向对象标识、所述目的端设备标识以及所述目标屏幕标识;
实例创建单元,用于基于所述重定向信息中的所述目的端设备标识以及所述目标屏幕标识创建所述目的端重定向实例。
可选的,所述重定向信息中还包括媒体类型,所述媒体类型包括视频、音频以及控制中的至少一种。
可选的,所述源端设备为移动终端,所述目的端设备为车载终端。
综上所述,重定向过程中,源端设备基于源端设备标识以及目标重定向对象标识创建源端重定向实例,目的端设备基于目的端设备标识以及目标屏幕标识,创建与源端重定向实例对应的目的端重定向实例,从而在接收到源端重定向实例对应的重定向数据后,通过目的端重定向实例所指示的目标屏幕对目标重定向对象进行展示;采用本申请实施例提供的方案,通过创建源端重定向实例和目的端重定向实例能够实现多层级的多对多重定向,比如,可以将同一源端设备中的不同投屏对象投屏至不同目的端设备,可以将源端设备中同一投屏对象同时投屏至多个屏幕,可以使同一目的端设备的不同屏幕显示不同的投屏对象,可以使目的端设备的屏幕同时显示多路投屏对象等等,适用于源端设备层面、重定向对象层面、目的端设备以及设备屏幕层面的多对多重定向场景,提高对复杂重定向场景的适用性。
请参考图16,其示出了本申请一个实施例提供的重定向系统的系统架构框图。该系统中包括:至少一 个源端设备1610和至少一个目的端设备1620。
源端设备1610,用于基于源端设备标识以及目标重定向对象标识创建源端重定向实例,目标重定向对象标识用于表征目标重定向对象;向目的端设备传输源端重定向实例对应的重定向数据;
目的端设备1620,用于基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,目标屏幕标识用于表征目的端设备的目标屏幕;接收源端设备传输的源端重定向实例对应的重定向数据,源端重定向实例与目的端重定向实例对应同一重定向事件;基于重定向数据,通过目标屏幕对所述目标重定向对象进行展示。
需要说明的是,源端设备1610与目的端设备1620进行重定向的具体过程可以参见上述方法实施例,本申请实施例在此不作赘述。
请参考图17,其示出了本申请一个示例性实施例提供的计算机设备的结构方框图。该计算机设备1700可以实现成为上述各个实施例中的源端设备或目的端设备。计算机设备1700可以包括一个或多个如下部件:处理器1710和存储器1720。
处理器1710可以包括一个或者多个处理核心。处理器1710利用各种接口和线路连接整个计算机设备1700内的各个部分,通过运行或执行存储在存储器1720内的指令、程序、代码集或指令集,以及调用存储在存储器1720内的数据,执行计算机设备1700的各种功能和处理数据。可选地,处理器1710可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1710可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network Processing Unit,NPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;NPU用于实现人工智能(Artificial Intelligence,AI)功能;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1710中,单独通过一块芯片进行实现。
存储器1720可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选地,该存储器1720包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1720可用于存储指令、程序、代码、代码集或指令集。存储器1720可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储根据计算机设备1700的使用所创建的数据(比如音频数据、电话本)等。
除此之外,本领域技术人员可以理解,上述附图所示出的计算机设备1700的结构并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,计算机设备1700中还包括显示屏、摄像组件、麦克风、扬声器、射频电路、输入单元、传感器(比如加速度传感器、角速度传感器、光线传感器等等)、音频电路、WiFi模块、电源、蓝牙模块等部件,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上各个实施例所述的重定向方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的重定向方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (27)

  1. 一种重定向方法,所述方法用于源端设备,所述方法包括:
    基于源端设备标识以及目标重定向对象标识创建源端重定向实例,所述目标重定向对象标识用于表征目标重定向对象;
    向目的端设备传输所述源端重定向实例对应的重定向数据,以便所述目的端设备基于所述重定向数据,通过目的端重定向实例所指示的目标屏幕对所述目标重定向对象进行展示,所述目的端重定向实例与所述源端重定向实例对应同一重定向事件,且所述目的端重定向实例基于目的端设备标识以及目标屏幕标识创建得到。
  2. 根据权利要求1所述的方法,其中,所述向目的端设备传输所述源端重定向实例对应的重定向数据,包括:
    创建源端重定向器;
    通过所述源端重定向器与目的端重定向器之间的链路,向所述目的端设备传输所述源端重定向实例对应的重定向数据,所述目的端重定向器由所述目的端设备创建得到。
  3. 根据权利要求2所述的方法,其中,所述创建源端重定向器,包括:
    基于所述源端重定向实例、所述目的端设备标识以及所述目标重定向对象对应的媒体类型,创建至少一个所述源端重定向器,其中,不同的源端重定向器对应不同的媒体类型,所述媒体类型包括视频、音频以及控制中的至少一种;
    所述通过所述源端重定向器与目的端重定向器之间的链路,向所述目的端设备传输所述源端重定向实例对应的重定向数据,包括:
    通过至少一个所述源端重定向器与至少一个所述目的端重定向器之间的至少一条链路,向所述目的端设备传输至少一种所述媒体类型的所述重定向数据。
  4. 根据权利要求3所述的方法,其中,在所述媒体类型为视频的情况下,所述源端重定向器包括源端视频重定向器;
    所述方法还包括:
    复用视频编码器对同一源端重定向实例对应的画面进行视频编码,得到视频数据流;
    将所述视频数据流分流至所述源端重定向实例对应的至少一个源端视频重定向器;
    所述通过至少一个所述源端重定向器与至少一个所述目的端重定向器之间的至少一条链路,向所述目的端设备传输至少一种所述媒体类型的所述重定向数据,包括:
    通过所述源端视频重定向器与目的端视频重定向器之间的链路,向所述目的端设备传输所述视频数据流。
  5. 根据权利要求3所述的方法,其中,在所述媒体类型包括音频的情况下,所述源端重新定向器包括源端音频重定向器;
    所述方法还包括:
    在所述目标重定向对象的类型为屏幕镜像的情况下,通过设备级音频采集编码器进行音频采集及编码,得到音频数据流;
    在所述目标重定向对象的类型为应用的情况下,通过应用级音频采集编码器进行音频采集及编码,得到音频数据流;
    所述通过至少一个所述源端重定向器与至少一个所述目的端重定向器之间的至少一条链路,向所述目的端设备传输至少一种所述媒体类型的所述重定向数据,包括:
    通过所述源端音频重定向器与目的端音频重定向器之间的链路,向所述目的端设备传输所述音频数据流。
  6. 根据权利要求3所述的方法,其中,在所述媒体类型包括控制的情况下,所述源端重定向器包括源端控制重定向器;
    所述方法还包括:
    通过所述源端控制重定向器与目的端控制重定向器之间的链路,接收所述目的端设备发送的反向控制指令,所述反向控制指令由所述目的端设备接收到对所述目标重定向对象的控制操作时触发;
    基于所述反向控制指令控制所述目标重定向对象。
  7. 根据权利要求1至6任一所述的方法,其中,所述基于源端设备标识以及目标重定向对象标识创建源端重定向实例,包括:
    响应于重定向操作,确定重定向信息;或,响应于第三方设备发送的重定向指令,获取所述重定向指令中包含的重定向信息;
    基于所述重定向信息中的所述源端设备标识以及所述目标重定向对象标识创建所述源端重定向实例;其中,所述重定向信息包含所述源端设备标识、所述目标重定向对象标识、所述目的端设备标识以及所述目标屏幕标识。
  8. 根据权利要求7所述的方法,其中,所述重定向信息中还包括媒体类型,所述媒体类型包括视频、音频以及控制中的至少一种。
  9. 根据权利要求8所述的方法,其中,所述响应于重定向操作,确定重定向信息,包括:
    显示重定向设置界面;
    响应于对所述重定向设置界面中源端设备选择控件的触发操作,确定所述源端设备标识;
    响应于对所述重定向设置界面中所述源端设备对应的重定向对象选择控件的触发操作,确定所述目标重定向对象标识;
    响应于对所述重定向设置界面中目的端设备选择控件的触发操作,确定所述目的端设备标识;
    响应于对所述重定向设置界面中所述目的端设备对应的屏幕选择控件的触发操作,确定所述目标屏幕标识;
    响应于对所述重定向设置界面中媒体选择控件的触发操作,确定所述媒体类型。
  10. 一种重定向方法,所述方法用于目的端设备,所述方法包括:
    基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,所述目标屏幕标识用于表征所述目的端设备的目标屏幕;
    接收源端设备传输的源端重定向实例对应的重定向数据,所述源端重定向实例与所述目的端重定向实例对应同一重定向事件,且所述目的端重定向实例基于源端设备标识以及目标重定向对象标识创建得到,所述目标重定向对象标识用于表征目标重定向对象;
    基于所述重定向数据,通过所述目标屏幕对所述目标重定向对象进行展示。
  11. 根据权利要求10所述的方法,其中,所述接收源端设备传输的源端重定向实例对应的重定向数据,包括:
    创建目的端重定向器;
    通过所述目的端重定向器与源端重定向器之间的链路,接收所述源端设备传输的所述重定向数据,所述源端重定向器由所述源端设备创建得到。
  12. 根据权利要求11所述的方法,其中,所述创建目的端重定向器,包括:
    基于所述源端重定向实例、所述目的端设备标识以及所述目标重定向对象对应的媒体类型,创建至少一个所述目的端重定向器,其中,不同的目的端重定向器对应不同的媒体类型,所述媒体类型包括视频、音频以及控制中的至少一种;
    所述通过所述目的端重定向器与源端重定向器之间的链路,接收所述源端设备传输的所述重定向数据,包括:
    通过至少一个所述目的端重定向器与至少一个所述源端重定向器之间的至少一条链路,接收所述源端设备传输的至少一种所述媒体类型的所述重定向数据。
  13. 根据权利要求12所述的方法,其中,在所述媒体类型包括视频的情况下,所述目的端重定向器包括目的端视频重定向器;
    所述方法还包括:
    复用视频解码器对同一源端重定向实例对应的视频数据流进行视频解码,得到所述源端重定向实例对应的画面。
  14. 根据权利要求12所述的方法,其中,在所述媒体类型包括视频的情况下,所述目的端重定向器包括目的端视频重定向器;
    所述通过所述目标屏幕对所述目标重定向对象进行展示,包括:
    通过所述目标屏幕对应的目标投屏窗体应用,对所述目标重定向对象进行展示。
  15. 根据权利要求14所述的方法,其中,所述通过所述目标屏幕对应的目标投屏窗体应用,对所述目标重定向对象进行展示,包括:
    在所述目标屏幕对应的所述目标投屏窗体应用处于未启动状态的情况下,启动所述目标投屏窗体应用;通过所述目标投屏窗体应用对所述目标重定向对象进行展示;或,
    在所述目标投屏窗体应用处于启动状态的情况下,通过复用所述目标投屏窗体应用对所述目标重定向对象进行展示,其中,复用所述目标投屏窗体应用后,各个重定向对象分屏显示在所述目标屏幕中。
  16. 根据权利要求12所述的方法,其中,在所述媒体类型包括控制的情况下,所述目的端重定向器 包括目的端控制重定向器;
    所述方法还包括:
    响应于对所述目标重定向对象的控制操作,生成反向控制指令;
    通过所述目的端控制重定向器与源端控制重定向器之间的链路,向所述源端设备发送所述反向控制指令,以便所述源端设备基于所述反向控制指令控制所述目标重定向对象。
  17. 根据权利要求16所述的方法,其中,所述响应于对所述目标重定向对象的控制操作,生成反向控制指令,包括:
    响应于对所述目标屏幕的触控操作,确定第一触控坐标,所述第一触控坐标位于所述目标屏幕的坐标系下;
    在基于所述第一触控坐标确定出所述触控操作用于控制的所述目标重定向对象的情况下,将所述第一触控坐标转换为第二触控坐标,所述第二触控坐标位于所述目标重定向对象的坐标系下;
    基于所述第二触控坐标生成所述反向控制指令。
  18. 根据权利要求17所述的方法,其中,在所述目标屏幕对应的目标投屏窗体应用被至少两个重定向对象复用的情况下,所述响应于对所述目标屏幕的触控操作,确定第一触控坐标之后,还包括:
    获取所述目标投屏窗体应用中各个所述重定向对象的位置信息;
    基于所述第一触控坐标与所述位置信息之间的位置关系,确定所述触控操作所控制的重定向对象。
  19. 根据权利要求10至18任一所述的方法,其中,所述基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,包括:
    获取重定向信息,所述重定向信息包含所述源端设备标识、所述目标重定向对象标识、所述目的端设备标识以及所述目标屏幕标识;
    基于所述重定向信息中的所述目的端设备标识以及所述目标屏幕标识创建所述目的端重定向实例。
  20. 根据权利要求19所述的方法,其中,所述重定向信息中还包括媒体类型,所述媒体类型包括视频、音频以及控制中的至少一种。
  21. 根据权利要求10至18任一所述的方法,其中,所述源端设备为移动终端,所述目的端设备为车载终端。
  22. 一种重定向装置,所述装置包括:
    创建模块,用于基于源端设备标识以及目标重定向对象标识创建源端重定向实例,所述目标重定向对象标识用于表征目标重定向对象;
    传输模块,用于向目的端设备传输所述源端重定向实例对应的重定向数据,以便所述目的端设备基于所述重定向数据,通过目的端重定向实例所指示的目标屏幕对所述目标重定向对象进行展示,所述目的端重定向实例与所述源端重定向实例对应同一重定向事件,且所述目的端重定向实例基于目的端设备标识以及目标屏幕标识创建得到。
  23. 一种重定向装置,所述装置包括:
    创建模块,用于基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,所述目标屏幕标识用于表征目的端设备的目标屏幕;
    接收模块,用于接收源端设备传输的源端重定向实例对应的重定向数据,所述源端重定向实例与所述目的端重定向实例对应同一重定向事件,且所述目的端重定向实例基于源端设备标识以及目标重定向对象标识创建得到,所述目标重定向对象标识用于表征目标重定向对象;
    展示模块,用于基于所述重定向数据,通过所述目标屏幕对所述目标重定向对象进行展示。
  24. 一种重定向系统,所述重定向系统包括:至少一个源端设备和至少一个目的端设备;
    所述源端设备,用于基于源端设备标识以及目标重定向对象标识创建源端重定向实例,所述目标重定向对象标识用于表征目标重定向对象;向目的端设备传输所述源端重定向实例对应的重定向数据;
    所述目的端设备,用于基于目的端设备标识以及目标屏幕标识创建目的端重定向实例,所述目标屏幕标识用于表征所述目的端设备的目标屏幕;接收所述源端设备传输的源端重定向实例对应的重定向数据,所述源端重定向实例与所述目的端重定向实例对应同一重定向事件;基于所述重定向数据,通过所述目标屏幕对所述目标重定向对象进行展示。
  25. 一种计算机设备,所述计算机设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如权利要求1至9任一所述的重定向方法,或,实现如权利要10至21任一所述的重定向方法。
  26. 一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至9任一所述的重定向方法,或,实现如权利要10至21任一所述的重定向方法。
  27. 一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中;计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如权利要求1至9任一所述的重定向方法,或,如权利要10至21任一所述的重定向方法。
PCT/CN2022/117904 2021-10-26 2022-09-08 重定向方法、装置、设备、存储介质及程序产品 WO2023071546A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111249916.7 2021-10-26
CN202111249916.7A CN113992966A (zh) 2021-10-26 2021-10-26 重定向方法、装置、设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
WO2023071546A1 true WO2023071546A1 (zh) 2023-05-04

Family

ID=79741857

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/117904 WO2023071546A1 (zh) 2021-10-26 2022-09-08 重定向方法、装置、设备、存储介质及程序产品

Country Status (2)

Country Link
CN (1) CN113992966A (zh)
WO (1) WO2023071546A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992966A (zh) * 2021-10-26 2022-01-28 Oppo广东移动通信有限公司 重定向方法、装置、设备、存储介质及程序产品
CN114979899A (zh) * 2022-04-20 2022-08-30 Oppo广东移动通信有限公司 音频重定向方法、装置、设备及存储介质
CN115033195A (zh) * 2022-04-25 2022-09-09 Oppo广东移动通信有限公司 画面显示方法、装置、设备、存储介质及程序产品
WO2024113187A1 (zh) * 2022-11-29 2024-06-06 京东方科技集团股份有限公司 一种多设备协同控制的方法、显示设备及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160182929A1 (en) * 2013-07-03 2016-06-23 Luis Miguel Ortiz Methods and systems enabling access by portable wireless handheld devices to data associated with programming rendering on flat panel displays
CN110221798A (zh) * 2019-05-29 2019-09-10 华为技术有限公司 一种投屏方法、系统及相关装置
CN111078168A (zh) * 2019-11-13 2020-04-28 联想(北京)有限公司 一种信息处理方法、第一电子设备和存储介质
CN113242462A (zh) * 2021-06-23 2021-08-10 烽火通信科技股份有限公司 一种实现融合终端的投屏方法和装置
CN113329240A (zh) * 2021-05-10 2021-08-31 西安万像电子科技有限公司 投屏的方法及装置
CN113542839A (zh) * 2021-06-09 2021-10-22 荣耀终端有限公司 电子设备的投屏方法和电子设备
CN113992966A (zh) * 2021-10-26 2022-01-28 Oppo广东移动通信有限公司 重定向方法、装置、设备、存储介质及程序产品

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131866B (zh) * 2019-11-25 2021-06-15 华为技术有限公司 一种投屏音视频播放方法及电子设备
CN111984215A (zh) * 2020-08-19 2020-11-24 Oppo广东移动通信有限公司 多媒体数据播放方法、终端及存储介质
CN112860204A (zh) * 2021-02-19 2021-05-28 西安万像电子科技有限公司 数据处理方法及系统
CN112905289A (zh) * 2021-03-10 2021-06-04 Oppo广东移动通信有限公司 应用画面的显示方法、装置、终端、投屏系统及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160182929A1 (en) * 2013-07-03 2016-06-23 Luis Miguel Ortiz Methods and systems enabling access by portable wireless handheld devices to data associated with programming rendering on flat panel displays
CN110221798A (zh) * 2019-05-29 2019-09-10 华为技术有限公司 一种投屏方法、系统及相关装置
CN111078168A (zh) * 2019-11-13 2020-04-28 联想(北京)有限公司 一种信息处理方法、第一电子设备和存储介质
CN113329240A (zh) * 2021-05-10 2021-08-31 西安万像电子科技有限公司 投屏的方法及装置
CN113542839A (zh) * 2021-06-09 2021-10-22 荣耀终端有限公司 电子设备的投屏方法和电子设备
CN113242462A (zh) * 2021-06-23 2021-08-10 烽火通信科技股份有限公司 一种实现融合终端的投屏方法和装置
CN113992966A (zh) * 2021-10-26 2022-01-28 Oppo广东移动通信有限公司 重定向方法、装置、设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN113992966A (zh) 2022-01-28

Similar Documents

Publication Publication Date Title
WO2023071546A1 (zh) 重定向方法、装置、设备、存储介质及程序产品
WO2017148294A1 (zh) 基于移动终端的设备控制方法、装置和移动终端
CN112558825A (zh) 一种信息处理方法及电子设备
JP6466466B2 (ja) ワイヤレスドッキングのためのワイヤレス帯域幅の効率的な使用のためのリモートレンダリング
JP5632015B2 (ja) ビデオディスプレイシステムのためのデコンポーズドマルチストリーム(dms)技法
US9172979B2 (en) Experience or “sentio” codecs, and methods and systems for improving QoE and encoding based on QoE experiences
WO2019001347A1 (zh) 移动设备的投屏方法、存储介质、终端及投屏系统
KR101646958B1 (ko) 변경된 영역들을 이용한 매체 인코딩
CN112286477A (zh) 投屏显示方法及相关产品
CN107333082A (zh) 一种基于USB Type C接口的无线协作系统及其实现方法
JP2023503679A (ja) マルチウィンドウ表示方法、電子デバイス及びシステム
CN112527222A (zh) 一种信息处理方法及电子设备
CN112527174A (zh) 一种信息处理方法及电子设备
CN115643359B (zh) 一种增强的视频通话方法和系统、电子设备
US11914922B2 (en) Audio mixing for teleconferencing
Han Mobile immersive computing: Research challenges and the road ahead
US11128739B2 (en) Network-edge-deployed transcoding methods and systems for just-in-time transcoding of media data
CN112383803A (zh) 信息处理方法及相关装置
WO2023207194A1 (zh) 画面显示方法、装置、设备、存储介质及程序产品
US20230333803A1 (en) Enhanced Screen Sharing Method and System, and Electronic Device
KR20140135292A (ko) 4d 컨텐츠 제작 서비스 제공 방법 및 시스템, 이를 위한 컨텐츠 제작 장치
US20210152857A1 (en) Method, system and device for sharing contents
US20110271195A1 (en) Method and apparatus for allocating content components to different hardward interfaces
WO2023202152A1 (zh) 音频重定向方法、装置、设备及存储介质
US20230232066A1 (en) Device recommendation method and electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22885435

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE