WO2024041515A1 - 弹幕显示方法及装置 - Google Patents

弹幕显示方法及装置 Download PDF

Info

Publication number
WO2024041515A1
WO2024041515A1 PCT/CN2023/114197 CN2023114197W WO2024041515A1 WO 2024041515 A1 WO2024041515 A1 WO 2024041515A1 CN 2023114197 W CN2023114197 W CN 2023114197W WO 2024041515 A1 WO2024041515 A1 WO 2024041515A1
Authority
WO
WIPO (PCT)
Prior art keywords
barrage
trajectory
ballistic
display area
display
Prior art date
Application number
PCT/CN2023/114197
Other languages
English (en)
French (fr)
Inventor
李以杰
方昂翔
张雯
赵飞
Original Assignee
北京字跳网络技术有限公司
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 北京字跳网络技术有限公司 filed Critical 北京字跳网络技术有限公司
Publication of WO2024041515A1 publication Critical patent/WO2024041515A1/zh

Links

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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • 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/47End-user applications
    • H04N21/488Data services, e.g. news ticker

Definitions

  • the present disclosure relates to the field of computer technology, and in particular, to a barrage display method and device.
  • the user's comment subtitles will float and move on the display interface of the video or live broadcast.
  • Such floating and moving comment subtitles are called barrages. .
  • barrages posted by users are generally displayed at a certain speed from right to left or from bottom to top on a video or live broadcast display interface.
  • the barrages are displayed on the display interface in the same way, with a single display method and poor user experience.
  • the purpose of the present disclosure is to provide a barrage display method and device.
  • a barrage display method including:
  • the barrage display area includes a plurality of ballistics used to define the movement trajectory of the barrage, and the plurality of ballistics used to define the movement trajectory of the barrage include the In the first trajectory, each trajectory starts from the center of the barrage display area, radiates outward, and extends to the edge of the barrage display area;
  • the first barrage is displayed by moving along the first ballistic trajectory.
  • matching a first ballistic trajectory for the first barrage includes:
  • the second barrage is the previous barrage of the first barrage
  • matching a first ballistic trajectory for the first barrage includes:
  • the second barrage is the previous barrage of the first barrage
  • the first trajectory is matched from the trajectories whose angle with the second trajectory is greater than a first threshold.
  • matching a first ballistic trajectory for the first barrage includes:
  • matching a first ballistic trajectory for the first barrage includes:
  • the moving along the first ballistic trajectory to display the first barrage includes:
  • the moving along the first ballistic trajectory to display the first barrage includes:
  • the moving along the first ballistic trajectory to display the first barrage includes:
  • the moving direction of the first barrage is adjusted to be perpendicular to the edge of the barrage display area.
  • the method also includes:
  • Feather processing is performed on the upper and lower edges of the barrage display area.
  • the present disclosure also provides a barrage display device, including:
  • the determination module is used to determine the first barrage to be displayed in the barrage display area
  • a matching module configured to match a first ballistic trajectory for the first barrage; wherein the barrage display area contains a plurality of ballistic trajectories used to define the movement trajectory of the barrage, and the plurality of ballistics are used to define the movement trajectory of the barrage.
  • the ballistic trajectories include the first ballistic trajectory, each ballistic trajectory starting from the center of the barrage display area, radiating outward, and extending to the edge of the barrage display area;
  • a display control module is configured to move and display the first barrage along the first ballistic trajectory.
  • the present disclosure also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor.
  • the processor executes the program, the above bullet screen display method is implemented.
  • the present disclosure also provides a non-transitory computer-readable storage medium.
  • the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to cause the computer to execute the above bullet screen display method.
  • the present disclosure also provides a computer program product, which includes a computer program.
  • the computer program When the computer program is executed by a processor, the computer program implements any one of the above bullet screen display methods.
  • Figure 1 is a schematic diagram of a barrage display method according to an embodiment of the present disclosure
  • Figure 2 is a schematic diagram of the principle of barrage display under the Android system according to an embodiment of the present disclosure
  • Figure 3 is a schematic diagram of the principle of barrage display under the iOS system according to an embodiment of the present disclosure
  • Figure 4 is a schematic diagram of the calculation principle of barrage movement trajectory under the iOS system according to an embodiment of the present disclosure
  • Figure 5 is a schematic diagram of a barrage display device according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic diagram of an electronic device according to an embodiment of the present disclosure.
  • Figure 1 is a schematic diagram of a barrage display method according to an embodiment of the present disclosure. As shown in Figure 1, an embodiment of the present disclosure provides a barrage display method.
  • the execution subject may be an electronic device, such as a computer.
  • the method includes:
  • Step 101 Determine the first barrage to be displayed in the barrage display area
  • Step 102 Match a first ballistic trajectory for the first barrage; wherein the barrage display area includes a plurality of ballistics used to define the movement trajectory of the barrage, and the plurality of ballistics used to define the movement trajectory of the barrage Including the first ballistic trajectory, each trajectory starts from the center of the barrage display area, radiates outward, and extends to the edge of the barrage display area;
  • Step 103 Move and display the first barrage along the first ballistic trajectory.
  • the barrage display area contains multiple ballistic trajectories used to define the movement trajectory of the barrage.
  • Each ballistic trajectory starts from the center of the barrage display area and radiates outward. shoot and extend to the edge of the barrage display area.
  • the screen is divided into 12 equal parts according to the angle, and the dividing line of each equal part is a trajectory.
  • the inner box represents the actual size of the barrage area on the mobile phone screen
  • the outer box represents the size of the canvas on which the barrage is drawn, because the barrage needs to be completely moved off the screen before it can be considered completed. Otherwise, the audience will find that the barrage suddenly disappears at the edge of the screen.
  • endX0 is the abscissa of the end point of the No. 0 ballistic trajectory
  • startX is the abscissa of the center point of the barrage display area
  • endY0 is the ordinate of the end point of the No. 0 ballistic trajectory
  • startY is the abscissa of the center point of the barrage display area
  • RealHeight is the barrage Displays the actual height of the area.
  • endX1 startX+(RealHeight/2*tan30°)
  • endY1 startY-RealHeight/2
  • endX1 is the abscissa of the end point of ballistic trajectory No. 1
  • startX is the abscissa of the center point of the barrage display area
  • endY1 is the ordinate of the end point of ballistic trajectory No. 1
  • startY is the abscissa of the center point of the barrage display area
  • RealHeight is the barrage Displays the actual height of the area.
  • endX2 startX+RealHeight/(2*tan30°)
  • endY2 startY-RealHeight/2
  • endX2 is the abscissa of the end point of the No. 2 ballistic trajectory
  • startX is the abscissa of the center point of the barrage display area
  • endY2 is the ordinate of the end point of the No. 2 ballistic trajectory
  • startY is the abscissa of the center point of the barrage display area
  • RealHeight is the barrage Displays the actual height of the area.
  • endX3 is the abscissa of the end point of the No. 3 ballistic trajectory
  • startX is the abscissa of the center point of the barrage display area
  • VisiableWidth is the visible width of the barrage display area
  • DanmakuWidth is the width of the barrage
  • endY3 is the ordinate of the end point of the No. 3 ballistic trajectory.
  • startY is the abscissa coordinate of the center point of the barrage display area.
  • endX4 startX+RealHeight/(2*tan30°)
  • endY4 startY+RealHeight/2
  • endX4 is the abscissa of the end point of the No. 4 ballistic trajectory
  • startX is the abscissa of the center point of the barrage display area
  • endY4 is the ordinate of the end point of the No. 4 ballistic trajectory
  • startY is the abscissa of the center point of the barrage display area
  • RealHeight is the barrage Displays the actual height of the area.
  • endX5 is the abscissa of the end point of the No. 5 ballistic trajectory
  • startX is the abscissa of the center point of the barrage display area
  • endY5 is the ordinate of the end point of the No. 5 ballistic trajectory
  • startY is the abscissa of the center point of the barrage display area
  • RealHeight is the barrage Displays the actual height of the area.
  • endX6 is the abscissa of the end point of ballistic trajectory No. 6
  • startX is the abscissa of the center point of the barrage display area
  • endY6 is the ordinate of the end point of ballistic trajectory No. 6
  • startY is the abscissa of the center point of the barrage display area
  • RealHeight is the barrage Displays the actual height of the area.
  • the barrage display area contains multiple ballistics used to limit the movement trajectory of the barrage.
  • Each ballistic trajectory starts from the center of the barrage display area, radiates outward, and extends to the edge of the barrage display area. .
  • the barrage display area can be evenly divided into four sub-areas, each sub-area containing at least one ballistic.
  • matching a first ballistic trajectory for the first barrage includes:
  • the second barrage is the previous barrage of the first barrage
  • Priority selection control (1, 2, 3, 4) can be carried out according to the sub-area serial number. For each sub-area, the availability control and the control of the number of barrages that can be presented at the same time are carried out to ensure that the barrages are evenly distributed in each sub-area.
  • a delay for example, 500ms
  • the area is inaccessible until the delay expires. This is used to achieve access to other available areas and achieve even regional distribution.
  • matching a first ballistic trajectory for the first barrage includes:
  • the second barrage is the previous barrage of the first barrage
  • the first trajectory is matched from the trajectories whose angle with the second trajectory is greater than a first threshold.
  • a first threshold Specifically, in order to achieve the overall effect of the barrage display being divergent from the center and well-proportioned.
  • Priority selection control (1, 2, 3, 4) can be carried out according to the sub-area serial number. For each sub-area, the availability control and the control of the number of barrages that can be presented at the same time are carried out. Ensure that the barrage is evenly distributed in each sub-area.
  • the position characteristics of the four areas it is divided into whether it is the left area and whether it is the top area, and is filled into the array one by one according to the preset order. For example, as shown in Figure 3, after the barrage display area is divided into four sub-areas, one sub-region is randomly selected to generate the barrage. The next (second) barrage is generated by selecting the sub-area at the diagonal position, and the next (second) barrage is generated. Three) barrages are generated by selecting adjacent sub-areas, and the next (fourth) barrage is generated by selecting a diagonally located area.
  • matching a first ballistic for the first barrage includes: obtaining the cumulative number of uses of each ballistic;
  • matching a first ballistic trajectory for the first barrage includes:
  • the current barrage counter of the sub-area is incremented. And it will be reduced after the barrage is displayed.
  • the sub-region When the counter reaches a threshold (for example, it can be set to 6) the sub-region will also be inaccessible. In this way, the barrages are evenly distributed.
  • a threshold for example, it can be set to 6
  • the specific degree of randomness is divided into two steps: randomization in the display end direction and random displacement in the non-display end direction.
  • the end direction of the display is random, and the barrage moves out of the curtain (that is, the end of the display bundle), there will be two situations. Move along the X-axis until the barrage is invisible; move along the Y-axis until the barrage is invisible.
  • the random process is to choose one of the x and y axes.
  • the movement trajectory of the barrage is horizontal or vertical movement. If it needs to move diagonally (to achieve the radiation effect), it needs to be offset in the direction of the non-main movement axis. shift.
  • the calculation of this offset is a comprehensive calculation based on the size of the selected area and the size of the barrage.
  • the differentiated calculation is carried out by combining the fixed initial position of the barrage (center of the curtain) and the position and size of the selected display area.
  • the movement trajectory of the barrage is the combined movement of the x and y axes.
  • the effect of the barrage moving radially from the center point is achieved.
  • the size of the minute movement on the other axis does not need to be too precise. As long as a minute movement along the other axis is set, a random radial effect can be achieved.
  • the moving along the first ballistic trajectory to display the first barrage includes:
  • the moving along the first ballistic trajectory to display the first barrage includes:
  • barrage when the barrage moves from the starting point to the end point of each trajectory, it can also be accompanied by a change in transparency, a change in size, and a change in the offset value within the trajectory.
  • Changing the transparency requires changing the alpha attribute of the Paint used to draw the Bitmap.
  • the movement and scaling of barrages are accomplished using matrix calculations, and matrix calculations need to follow the "rotation-zoom-translation" process. Completed in sequence.
  • startX, startY After determining the starting point (startX, startY) and end point coordinates (endX, endY) of a ballistic trajectory, and the barrage must complete deformation and movement within n seconds, then the actual position of the barrage at a certain point in time can be calculated (translateX , translateY), the scaling value of the current barrage (scaleX, scaleY) and the alpha value of the current barrage.
  • the size ratio of style 1 is set to 100%, the transparency is set to 100%, and the intra-ballistic offset value is set to 0px;
  • the size ratio of style 2 is set to 90%, the transparency is set to 90%, and the intra-ballistic offset value is set to 6px;
  • Style 3 has its size ratio set to 80%, transparency set to 80%, and in-ballistic offset value set to 12px.
  • the radiation effect is also controlled through positive changes in movement trajectory and proportion/transparency, and the speed and density are controlled through duration and the maximum number of co-occurring barrages.
  • the specific parameter configuration is shown in Table 2 and Table 3.
  • the moving along the first ballistic trajectory to display the first barrage includes: moving the first barrage along the first ballistic trajectory;
  • the moving direction of the first barrage is adjusted to be perpendicular to the edge of the barrage display area.
  • the method also includes:
  • Feather processing is performed on the upper and lower edges of the barrage display area.
  • the upper and lower edges of the barrage display area are feathered to make the connection between the barrage and the screen softer and make the body feel more comfortable.
  • the barrage display method provided by the present disclosure provides a new barrage trajectory that supports radiating outward from the center of the barrage display area and extending to the edge of the barrage display area. Improved user experience.
  • the methods in the embodiments of the present disclosure can be executed by a single device, such as a computer or server.
  • the method of this embodiment can also be applied in a distributed scenario, and is completed by multiple devices cooperating with each other.
  • one device among the multiple devices can only perform one or more steps in the method of the embodiment of the present disclosure, and the multiple devices will interact with each other to complete all the steps. method described.
  • the present disclosure also provides a barrage display device.
  • Figure 5 is a schematic diagram of a barrage display device according to an embodiment of the present disclosure. As shown in Figure 5, the barrage
  • the display device includes a determination module 701, a matching module 702 and a display control module 703, wherein: the determination module 701 is used to determine the first bullet to be displayed in the bullet display area;
  • the matching module 702 is used to match a first ballistic trajectory for the first barrage; wherein the barrage display area contains a plurality of ballistics used to define the movement trajectory of the barrage, and the plurality of ballistics are used to define the movement trajectory of the barrage.
  • the ballistic trajectories include the first ballistic trajectory, each ballistic trajectory starting from the center of the barrage display area, radiating outward, and extending to the edge of the barrage display area;
  • the display control module 703 is configured to move and display the first barrage along the first ballistic trajectory.
  • matching a first ballistic trajectory for the first barrage includes:
  • the second barrage is the previous barrage of the first barrage
  • matching said first trajectory from a trajectory other than said second trajectory includes:
  • the second barrage is the previous barrage of the first barrage
  • the first trajectory is matched from the trajectories whose angle with the second trajectory is greater than a first threshold.
  • matching a first ballistic for the first barrage includes: obtaining the cumulative number of uses of each ballistic;
  • matching a first ballistic trajectory for the first barrage includes:
  • the moving along the first ballistic trajectory to display the first barrage includes:
  • the moving along the first ballistic trajectory to display the first barrage includes:
  • the moving along the first ballistic trajectory to display the first barrage includes: moving the first barrage along the first ballistic trajectory;
  • the device further includes a feathering module
  • the feathering module is used to feather the upper and lower edges of the barrage display area.
  • the present disclosure also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor.
  • the processor When the program is executed, the barrage display method described in any of the above embodiments is implemented.
  • FIG. 6 shows a more specific hardware structure diagram of an electronic device provided by this embodiment.
  • the device may include: a processor 1010, a memory 1020, an input/output interface 1030, a communication interface 1040, and a bus 1050.
  • the processor 1010, the memory 1020, and the input/output interface 1030 may include: a processor 1010, a memory 1020, an input/output interface 1030, a communication interface 1040, and a bus 1050.
  • the processor 1010, the memory 1020, and the input/output interface 1030 may include: a processor 1010, a memory 1020, an input/output interface 1030, a communication interface 1040, and a bus 1050.
  • the processor 1010, the memory 1020, and the input/output interface 1030 may include: a processor 1010, a memory 1020, an input/output interface 1030, a communication interface 1040, and a bus 1050.
  • the communication interface 1040 realize the communication connection between each other within the device through the bus 1050.
  • the processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit, central processing unit), a microprocessor, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the present invention.
  • a general-purpose CPU Central Processing Unit, central processing unit
  • a microprocessor an application specific integrated circuit (Application Specific Integrated Circuit, ASIC)
  • ASIC Application Specific Integrated Circuit
  • the memory 1020 can be implemented in the form of ROM (ReadOnlyMemory), RAM (RandomAccessMemory), static storage device, dynamic storage device, etc.
  • the memory 1020 can store operating systems and other application programs. When implementing the technical solutions provided by the embodiments of this specification through software or firmware, the relevant program codes are stored in the memory 1020 and called and executed by the processor 1010 .
  • the input/output interface 1030 is used to connect the input/output module to realize information input and output.
  • the input/output/module can be configured in the device as a component (not shown in the figure), or can be externally connected to the device to provide corresponding functions.
  • Input devices may include keyboards, Mouse, touch screen, microphone, various sensors, etc.
  • Output devices can include monitors, speakers, vibrators, indicator lights, etc.
  • the communication interface 1040 is used to connect a communication module (not shown in the figure) to realize communication interaction between this device and other devices.
  • the communication module can realize communication through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
  • Bus 1050 includes a path that carries information between various components of the device (eg, processor 1010, memory 1020, input/output interface 1030, and communication interface 1040).
  • the above device only shows the processor 1010, the memory 1020, the input/output interface 1030, the communication interface 1040 and the bus 1050, during specific implementation, the device may also include necessary components for normal operation. Other components.
  • the above-mentioned device may only include components necessary to implement the embodiments of this specification, and does not necessarily include all components shown in the drawings.
  • the electronic devices of the above embodiments are used to implement the corresponding barrage display method in any of the foregoing embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be described again here.
  • the present disclosure also provides a non-transitory computer-readable storage medium, the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions use To cause the computer to execute the barrage display method described in any of the above embodiments.
  • the computer-readable media in this embodiment include permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology.
  • Information may be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), and read-only memory.
  • PRAM phase change memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • RAM random access memory
  • read-only memory read-only memory
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash memory or other memory technology
  • compact disc read-only memory CD-ROM
  • DVD digital versatile disc
  • Magnetic tape cassettes tape magnetic disk storage or other magnetic storage devices or any other non-transmission Transmission media that can be used to store information that can be accessed by computing devices.
  • the computer instructions stored in the storage medium of the above embodiments are used to cause the computer to execute the barrage display method as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be described again here.
  • the present disclosure also provides a computer program product, including a computer program.
  • the computer program is executed by a processor, the corresponding barrage display method in any of the aforementioned embodiments is implemented.
  • the methods of the embodiments of the present application may be implemented in whole or in part in the form of computer program products.
  • the computer program product includes one or more computer instructions. When computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are implemented in whole or in part.
  • the computer program product of the above embodiments is used to cause the computer to execute the data processing method described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be described again here.
  • DRAM dynamic RAM

Abstract

本公开提供一种弹幕显示方法及装置,属于计算机技术领域,该方法包括:确定弹幕显示区域待显示的第一弹幕;为所述第一弹幕匹配一个第一弹道;其中,所述弹幕显示区域包含多个用于限定弹幕移动轨迹的弹道,所述多个用于限定弹幕移动轨迹的弹道包括所述第一弹道,每一弹道均以弹幕显示区域的中心为起点,向外辐射,并延伸至弹幕显示区域的边缘;沿所述第一弹道移动显示所述第一弹幕。

Description

弹幕显示方法及装置
相关申请的交叉引用
本申请要求于2022年8月22日提交的申请号202211008868.7的中国专利的权益。以上申请的全部教导通过引用并入本文。
技术领域
本公开涉及计算机技术领域,尤其涉及一种弹幕显示方法及装置。
背景技术
用户在观看视频或者直播时,为了增加用户观看视频或者直播的互动性,会在视频或者直播的显示界面上漂浮并移动显示用户的评论字幕,这种漂浮并移动显示的评论字幕称为弹幕。
相关技术中,对于用户发表的弹幕,一般会视频或者直播的显示界面上从右到左或者从下到上按照一定的速度进行展示。然而上述方法中,弹幕千篇一律地在显示界面上进行展示,展示方式单一,用户体验较差。
发明内容
有鉴于此,本公开的目的在于提出一种弹幕显示方法及装置。
基于上述目的,本公开提供了一种弹幕显示方法,包括:
确定弹幕显示区域待显示的第一弹幕;
为所述第一弹幕匹配一个第一弹道;其中,所述弹幕显示区域包含多个用于限定弹幕移动轨迹的弹道,所述多个用于限定弹幕移动轨迹的弹道包括所述第一弹道,每一弹道均以弹幕显示区域的中心为起点,向外辐射,并延伸至弹幕显示区域的边缘;
沿所述第一弹道移动显示所述第一弹幕。
可选地,所述为所述第一弹幕匹配一个第一弹道,包括:
获取显示第二弹幕时使用的第二弹道;所述第二弹幕为所述第一弹幕的上一个弹幕;
从除所述第二弹道以外的其他弹道中匹配所述第一弹道。
可选地,所述为所述第一弹幕匹配一个第一弹道,包括:
获取显示第二弹幕时使用的第二弹道;所述第二弹幕为所述第一弹幕的上一个弹幕;
从与所述第二弹道的夹角大于第一阈值的弹道中匹配所述第一弹道。
可选地,所述为所述第一弹幕匹配一个第一弹道,包括:
获取每一弹道的累计使用次数;
从累计使用次数最少的弹道中匹配所述第一弹道。
可选地,所述为所述第一弹幕匹配一个第一弹道,包括:
获取每一弹道的同现弹幕数,所述同现弹幕数为当前弹道上显示的弹幕个数;
从同现弹幕数最少的弹道中匹配所述第一弹道。
可选地,所述沿所述第一弹道移动显示所述第一弹幕,包括:
检测所述第一弹道的同现弹幕数,所述同现弹幕数为所述第一弹道上显示的弹幕个数;
在所述同现弹幕数大于第二阈值的情况下,加快所述第一弹幕的移动速度。
可选地,所述沿所述第一弹道移动显示所述第一弹幕,包括:
沿所述第一弹道移动所述第一弹幕,并在移动所述第一弹幕的过程中,逐渐改变所述第一弹幕的以下参数中的至少一项:
大小;
透明度;
弹道内偏移值。
可选地,所述沿所述第一弹道移动显示所述第一弹幕,包括:
沿所述第一弹道移动所述第一弹幕;
在所述第一弹幕接触到所述弹幕显示区域的边缘的情况下,将所述第一弹幕的移动方向调整为垂直所述弹幕显示区域的边缘。
可选地,所述方法还包括:
对所述弹幕显示区域的上下边缘进行羽化处理。
本公开还提供了一种弹幕显示装置,包括:
确定模块,用于确定弹幕显示区域待显示的第一弹幕;
匹配模块,用于为所述第一弹幕匹配一个第一弹道;其中,所述弹幕显示区域包含多个用于限定弹幕移动轨迹的弹道,所述多个用于限定弹幕移动轨迹的弹道包括所述第一弹道,每一弹道均以弹幕显示区域的中心为起点,向外辐射,并延伸至弹幕显示区域的边缘;
显示控制模块,用于沿所述第一弹道移动显示所述第一弹幕。
本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述弹幕显示方法。
本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述弹幕显示方法。
本公开还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的弹幕显示方法。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例的弹幕显示方法的示意图;
图2为本公开实施例的Android系统下弹幕显示原理示意图;
图3为本公开实施例的ios系统下弹幕显示原理示意图;
图4为本公开实施例的ios系统下弹幕移动轨迹计算原理示意图;
图5为本公开实施例的弹幕显示装置的示意图;
图6为本公开实施例的电子设备的示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
图1为本公开实施例的弹幕显示方法的示意图,如图1所示,本公开实施例提供一种弹幕显示方法,其执行主体可以为电子设备,例如,计算机等,该方法包括:
步骤101、确定弹幕显示区域待显示的第一弹幕;
步骤102、为所述第一弹幕匹配一个第一弹道;其中,所述弹幕显示区域包含多个用于限定弹幕移动轨迹的弹道,所述多个用于限定弹幕移动轨迹的弹道包括所述第一弹道,每一弹道均以弹幕显示区域的中心为起点,向外辐射,并延伸至弹幕显示区域的边缘;
步骤103、沿所述第一弹道移动显示所述第一弹幕。
具体地,如图2所示,弹幕显示区域包含多个用于限定弹幕移动轨迹的弹道,每一弹道均以弹幕显示区域的中心为起点,向外辐 射,并延伸至弹幕显示区域的边缘。
例如,类似于钟表的表盘,将屏幕按照角度分为均匀的12等分,每个等分的分界线即为一条弹道。内方框表示手机屏幕上真实的弹幕区域大小,外方框代表绘制弹幕的画布大小,因为弹幕需要完全移出屏幕后才能算移动完毕,否则观众会发现弹幕在屏幕边缘突然消失。
以图2为例,只有当弹幕中心点移动到外方框边界时才能算是移动结束。以图2为例,已知弹幕从屏幕区域中心点发出,起点均为(startX,startY)
那么对于每条弹道的终点,有如下计算公式:
0号弹道:
endX0=startX
endY0=startY-RealHeight/2
其中,endX0为0号弹道终点的横坐标,startX为弹幕显示区域中心点的横坐标,endY0为0号弹道终点的纵坐标,startY为弹幕显示区域中心点的横坐标,RealHeight为弹幕显示区域的实际高度。
1号弹道:
endX1=startX+(RealHeight/2*tan30°)
endY1=startY-RealHeight/2
其中,endX1为1号弹道终点的横坐标,startX为弹幕显示区域中心点的横坐标,endY1为1号弹道终点的纵坐标,startY为弹幕显示区域中心点的横坐标,RealHeight为弹幕显示区域的实际高度。
2号弹道:
endX2=startX+RealHeight/(2*tan30°)
endY2=startY-RealHeight/2
其中,endX2为2号弹道终点的横坐标,startX为弹幕显示区域中心点的横坐标,endY2为2号弹道终点的纵坐标,startY为弹幕显示区域中心点的横坐标,RealHeight为弹幕显示区域的实际高度。
3号弹道:
endX3=startX+VisiableWidth/2+DanmakuWidth/2
endY3=startY
其中,endX3为3号弹道终点的横坐标,startX为弹幕显示区域中心点的横坐标,VisiableWidth为弹幕显示区域的可视宽度,DanmakuWidth为弹幕宽度,endY3为3号弹道终点的纵坐标,startY为弹幕显示区域中心点的横坐标。
4号弹道:
endX4=startX+RealHeight/(2*tan30°)
endY4=startY+RealHeight/2
其中,endX4为4号弹道终点的横坐标,startX为弹幕显示区域中心点的横坐标,endY4为4号弹道终点的纵坐标,startY为弹幕显示区域中心点的横坐标,RealHeight为弹幕显示区域的实际高度。
5号弹道:
endX5=startX+(RealHeight/2*tan30°)
endY5=startY+RealHeight/2
其中,endX5为5号弹道终点的横坐标,startX为弹幕显示区域中心点的横坐标,endY5为5号弹道终点的纵坐标,startY为弹幕显示区域中心点的横坐标,RealHeight为弹幕显示区域的实际高度。
6号弹道:
endX6=startX
endY6=startY+RealHeight/2
其中,endX6为6号弹道终点的横坐标,startX为弹幕显示区域中心点的横坐标,endY6为6号弹道终点的纵坐标,startY为弹幕显示区域中心点的横坐标,RealHeight为弹幕显示区域的实际高度。
7-11号弹道(图中未示出)计算规则以此类推。
如图3所示,弹幕显示区域包含多个用于限定弹幕移动轨迹的弹道,每一弹道均以弹幕显示区域的中心为起点,向外辐射,并延伸至弹幕显示区域的边缘。
例如,在弹幕显示区域(弹幕幕布)尺寸确定后,可以将弹幕显示区域均匀划分为四个子区域,每个子区域包含至少一个弹道。
可选地,所述为所述第一弹幕匹配一个第一弹道,包括:
获取显示第二弹幕时使用的第二弹道;所述第二弹幕为所述第一弹幕的上一个弹幕;
从除所述第二弹道以外的其他弹道中匹配所述第一弹道。
具体地,为达到弹幕显示呈中心发散,且错落有致的整体效果。为弹幕匹配弹道时,可以不连续使用同一弹道显示相邻的两个弹幕。
例如,在图2中,若显示上一弹幕使用的是0号弹道,则针对当前弹幕,可以从除0号弹道以外的其他弹道中匹配出一个弹道。
可以根据子区域序号进行优先级选用控制(1、2、3、4),针对每个子区域,进行可用性控制和同时可呈现弹幕数量的控制,以保证弹幕在各子区域中分布均匀。
需要说明的是:上述方案中,将弹幕显示区域划分为编号分别1、2、3、4的四个子区域仅仅是示例性的,也可以是其他划分方式或者顺序,此处不再赘述。
每当一个子区域被使用来发射弹幕后,增加一个时延(例如,500ms),在时延到期前,该区域都处于不可访问状态。以此来实现访问其他可用区域,达到区域分布均匀的目的。
可选地,所述为所述第一弹幕匹配一个第一弹道,包括:
获取显示第二弹幕时使用的第二弹道;所述第二弹幕为所述第一弹幕的上一个弹幕;
从与所述第二弹道的夹角大于第一阈值的弹道中匹配所述第一弹道。具体地,为达到弹幕显示呈中心发散,且错落有致的整体效果。为弹幕匹配弹道时,可以不使用相邻的弹道显示相邻的两个弹幕,即,前后两个弹道的夹角大于一定的阈值。
例如,在图2中,若显示上一弹幕使用的是0号弹道,则针对当前弹幕,可以从5、6、7号弹道中匹配出一个弹道,5、6、7号弹道与0号弹道的夹角大于120度,从而达到弹幕显示呈中心发散,且错落有致的整体效果。
可以根据子区域序号进行优先级选用控制(1、2、3、4),针对每个子区域,进行可用性控制和同时可呈现弹幕数量的控制,以 保证弹幕在各子区域中分布均匀。
通过四个区域的位置特征,划分为是否左侧区域和是否顶部区域,同时根据预设顺序逐一填充至数组中。例如,如图3所示,弹幕显示区域划分成四个子区域后,任意选择一个子区域生成弹幕,下一个(第二)弹幕选择对角位置的子区域生成,再下一个(第三个)弹幕选择相邻的子区域生成,再下一个(第四个)弹幕选择对角位置的区域生成。
可选地,所述为所述第一弹幕匹配一个第一弹道,包括:获取每一弹道的累计使用次数;
从累计使用次数最少的弹道中匹配所述第一弹道。
可选地,所述为所述第一弹幕匹配一个第一弹道,包括:
获取每一弹道的同现弹幕数,所述同现弹幕数为当前弹道上显示的弹幕个数;
从同现弹幕数最少的弹道中匹配所述第一弹道。
具体地,为防止弹幕在一个子区域(对应一个或多个弹道)中堆叠的极端效果,每当一个弹幕被关联到一个子区域时,对子区域的当期呈现弹幕计数器进行增加,并且在弹幕完成展示后进行减少。
在匹配弹道时,可以从累计使用次数最少的弹道中匹配弹道,也可以从同现弹幕数最少的弹道中匹配弹道。
当计数器达到阈值(例如,可以设置为6),该子区域也将处于不可访问状态。以此达到弹幕分布均匀的目的。
通过控制弹幕移动轨迹计算,达到弹幕显示呈中心发散,且错落有致的整体效果。
如图4所示,在弹幕移动轨迹计算上,采用了基于弹幕移动区域选择后的,随机落点计算。图4中,实线弹幕为弹幕初始位置,虚线弹幕为弹幕可能的落点位置边界情况,双箭头虚线为对应区域的非主移动轴随机位移范围。
具体随机程度分为两步:展示结束方向随机、非展示结束方向位移随机。针对展示结束方向随机,弹幕在移动出幕布(即展示结 束),会有两种情况。沿着X轴移动,直至弹幕不可见;沿着Y轴移动直至弹幕不可见。该随机流程即为在x、y轴中选择一种。
针对非展示结束方向位移随机,仅选择主移动轴方向时,弹幕移动轨迹为水平或者垂直移动,需要做到斜向移动(以达到放射效果),则需要在非主移动轴方向也进行偏移。该偏移量的计算,是结合选择区域的尺寸和弹幕尺寸进行综合计算。
为确保落点能360°全覆盖,采用了结合固定的弹幕初始位置(幕布中心),以及选择的展示区域的位置和尺寸,进行了区分计算。
简单来说,弹幕移动轨迹就是x、y轴两个方向的移动的合移动,通过分别控制x、y轴两个方向的移动以实现弹幕以中心点放射式移动的弹幕的效果。
其中,在确定x、y任一为主轴移动方向后,另一轴的分移动的大小可以不用太精确,只要设置一个沿另一轴的分移动,即能够实现随机放射式的效果。
可选地,所述沿所述第一弹道移动显示所述第一弹幕,包括:
检测所述第一弹道的同现弹幕数,所述同现弹幕数为所述第一弹道上显示的弹幕个数;
在所述同现弹幕数大于第二阈值的情况下,加快所述第一弹幕的移动速度。
可选地,所述沿所述第一弹道移动显示所述第一弹幕,包括:
沿所述第一弹道移动所述第一弹幕,并在移动所述第一弹幕的过程中,逐渐改变所述第一弹幕的以下参数中的至少一项:
大小;
透明度;
弹道内偏移值。
具体地,当弹幕从每条弹道的起点向终点移动时,还可以伴随着透明度的改变、大小的改变、弹道内偏移值的改变。透明度的改变需要改变绘制Bitmap的Paint的alpha属性。而弹幕的移动和缩放是利用矩阵计算完成的,而矩阵计算需要遵循“旋转-缩放-平移”的 顺序完成。
在确定了一条弹道上的起点(startX,startY)和终点坐标(endX,endY),且弹幕要在n秒内完成形变和移动,那么可以计算在某个时间点弹幕的实际位置(translateX,translateY),当前弹幕的缩放值(scaleX,scaleY)及当前弹幕的alpha值。
在第s秒的变量计算如下:
translateX=(endX-startX)*(s/n)
translateY=(endY-endX)*(s/n)scaleX=s/n
scaleY=s/nalpha=255*(s/n)
那么最终调用api即可完成弹幕在当前第s秒的绘制。
通过单向立体弹道设置项、中心反射弹道设置项等,实现弹道速度、大小、透明度、弹道内偏移值逐渐改变的效果。
还可通过对弹幕的尺寸、透明度和位置偏移值的设置,来实现弹幕层叠、前后的立体效果。具体的参数配置如表1所示。
表1参数配置表之一
例如,样式1的尺寸比设置为100%,透明度设置为100%,弹道内偏移值设置为0px;样式2的尺寸比设置为90%,透明度设置为90%,弹道内偏移值设置为6px;样式3的尺寸比设置为80%,透明度设置为80%,弹道内偏移值设置为12px。
还通过移动轨迹和比例/透明度的正向变化来控制放射效果,通过时长、最大同现弹幕数来控制速度和密度。具体的参数配置如表2和表3所示。
表2参数配置表一

表3参数配置表二
例如,在弹幕轨道的前80%的路程内,弹幕的大小和透明度逐渐从零增大的80%;在后20%的路程内,弹幕以完整的大小和透明度显示。可选地,所述沿所述第一弹道移动显示所述第一弹幕,包括:沿所述第一弹道移动所述第一弹幕;
在所述第一弹幕接触到所述弹幕显示区域的边缘的情况下,将所述第一弹幕的移动方向调整为垂直所述弹幕显示区域的边缘。
具体地,弹幕在移动出幕布(即展示结束),会有两种情况。沿着X轴移动,直至弹幕不可见;沿着Y轴移动直至弹幕不可见。该随机流程即为在x、y轴中选择一种。即在弹幕接触到弹幕显示区域的边缘的情况下,将弹幕的移动方向调整为垂直弹幕显示区域的边缘(沿X轴或Y轴移动),从而实现弹幕错落有致的整体效果。
可选地,所述方法还包括:
对所述弹幕显示区域的上下边缘进行羽化处理。
具体地,针对弹幕显示区域的上下边缘进行羽化处理,让弹幕与画面衔接更柔和,体感更舒适。
本公开提供的弹幕显示方法,提供一种新的弹幕轨迹,支持从弹幕显示区域的中心,向外辐射,并延伸至弹幕显示区域的边缘, 提升了用户体验。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一技术构思,与上述任意实施例方法相对应的,本公开还提供了一种弹幕显示装置。
图5为本公开实施例的弹幕显示装置的示意图,如图5所示,所述弹幕
显示装置,包括确定模块701、匹配模块702和显示控制模块703,其中:确定模块701用于确定弹幕显示区域待显示的第一弹幕;
匹配模块702用于为所述第一弹幕匹配一个第一弹道;其中,所述弹幕显示区域包含多个用于限定弹幕移动轨迹的弹道,所述多个用于限定弹幕移动轨迹的弹道包括所述第一弹道,每一弹道均以弹幕显示区域的中心为起点,向外辐射,并延伸至弹幕显示区域的边缘;
显示控制模块703用于沿所述第一弹道移动显示所述第一弹幕。可选地,所述为所述第一弹幕匹配一个第一弹道,包括:
获取显示第二弹幕时使用的第二弹道;所述第二弹幕为所述第一弹幕的上一个弹幕;
从除所述第二弹道以外的其他弹道中匹配所述第一弹道。可选地,所述为所述第一弹幕匹配一个第一弹道,包括:
获取显示第二弹幕时使用的第二弹道;所述第二弹幕为所述第一弹幕的上一个弹幕;
从与所述第二弹道的夹角大于第一阈值的弹道中匹配所述第一弹道。
可选地,所述为所述第一弹幕匹配一个第一弹道,包括:获取每一弹道的累计使用次数;
从累计使用次数最少的弹道中匹配所述第一弹道。
可选地,所述为所述第一弹幕匹配一个第一弹道,包括:
获取每一弹道的同现弹幕数,所述同现弹幕数为当前弹道上显示的弹幕个数;
从同现弹幕数最少的弹道中匹配所述第一弹道。
可选地,所述沿所述第一弹道移动显示所述第一弹幕,包括:
检测所述第一弹道的同现弹幕数,所述同现弹幕数为所述第一弹道上显示的弹幕个数;
在所述同现弹幕数大于第二阈值的情况下,加快所述第一弹幕的移动速度。
可选地,所述沿所述第一弹道移动显示所述第一弹幕,包括:
沿所述第一弹道移动所述第一弹幕,并在移动所述第一弹幕的过程中,逐渐改变所述第一弹幕的以下参数中的至少一项:
大小;
透明度;
弹道内偏移值。
可选地,所述沿所述第一弹道移动显示所述第一弹幕,包括:沿所述第一弹道移动所述第一弹幕;
在所述第一弹幕接触到所述弹幕显示区域的边缘的情况下,将所述第一弹幕的移动方向调整为垂直所述弹幕显示区域的边缘。可选地,所述装置还包括羽化模块;
所述羽化模块用于对所述弹幕显示区域的上下边缘进行羽化处理。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。上述实施例的装置用于实现前述任一实施例中相应的弹幕显示方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一技术构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的弹幕显示方法。
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030
15和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(ReadOnlyMemory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、 鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的弹幕显示方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一技术构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的弹幕显示方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传 输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的弹幕显示方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一技术构思,本公开还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前述任一实施例中相应的弹幕显示方法。
本申请实施例的方法可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地实现本申请实施例所述的流程或功能。
上述实施例的计算机程序产品用于使所述计算机执行如上任一实施例所述的数据处理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化 的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (13)

  1. 弹幕显示方法,包括:
    确定弹幕显示区域待显示的第一弹幕;
    为所述第一弹幕匹配一个第一弹道;其中,所述弹幕显示区域包含多个用于限定弹幕移动轨迹的弹道,所述多个用于限定弹幕移动轨迹的弹道包括所述第一弹道,每一弹道均以弹幕显示区域的中心为起点,向外辐射,并延伸至弹幕显示区域的边缘;
    沿所述第一弹道移动显示所述第一弹幕。
  2. 根据权利要求1所述的弹幕显示方法,其中,所述为所述第一弹幕匹配一个第一弹道,包括:
    获取显示第二弹幕时使用的第二弹道;所述第二弹幕为所述第一弹幕的上一个弹幕;
    从除所述第二弹道以外的其他弹道中匹配所述第一弹道。
  3. 根据权利要求1所述的弹幕显示方法,其中,所述为所述第一弹幕匹配一个第一弹道,包括:
    获取显示第二弹幕时使用的第二弹道;所述第二弹幕为所述第一弹幕的上一个弹幕;
    从与所述第二弹道的夹角大于第一阈值的弹道中匹配所述第一弹道。
  4. 根据权利要求1所述的弹幕显示方法,其中,所述为所述第一弹幕匹配一个第一弹道,包括:
    获取每一弹道的累计使用次数;
    从累计使用次数最少的弹道中匹配所述第一弹道。
  5. 根据权利要求1所述的弹幕显示方法,其中,所述为所述第一弹幕匹配一个第一弹道,包括:
    获取每一弹道的同现弹幕数,所述同现弹幕数为当前弹道上显示的弹幕个数;
    从同现弹幕数最少的弹道中匹配所述第一弹道。
  6. 根据权利要求1所述的弹幕显示方法,其中,所述沿所述第一弹道移动显示所述第一弹幕,包括:
    检测所述第一弹道的同现弹幕数,所述同现弹幕数为所述第一弹道上显示的弹幕个数;
    在所述同现弹幕数大于第二阈值的情况下,加快所述第一弹幕的移动速度。
  7. 根据权利要求1所述的弹幕显示方法,其中,所述沿所述第一弹道移动显示所述第一弹幕,包括:
    沿所述第一弹道移动所述第一弹幕,并在移动所述第一弹幕的过程中,逐渐改变所述第一弹幕的以下参数中的至少一项:
    大小;
    透明度;
    弹道内偏移值。
  8. 根据权利要求1所述的弹幕显示方法,其中,所述沿所述第一弹道移动显示所述第一弹幕,包括:
    沿所述第一弹道移动所述第一弹幕;
    在所述第一弹幕接触到所述弹幕显示区域的边缘的情况下,将所述第一弹幕的移动方向调整为垂直所述弹幕显示区域的边缘。
  9. 根据权利要求1至8中的任意一项所述的弹幕显示方法,其中,所述方法还包括:
    对所述弹幕显示区域的上下边缘进行羽化处理。
  10. 一种弹幕显示装置,包括:
    确定模块,用于确定弹幕显示区域待显示的第一弹幕;
    匹配模块,用于为所述第一弹幕匹配一个第一弹道;其中,所述弹幕显示区域包含多个用于限定弹幕移动轨迹的弹道,所述多个用于限定弹幕移动轨迹的弹道包括所述第一弹道,每一弹道均以弹幕显示区域的中心为起点,
    向外辐射,并延伸至弹幕显示区域的边缘;
    显示控制模块,用于沿所述第一弹道移动显示所述第一弹幕。
  11. 一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至9中的任意一项所述的弹幕显示方法。
  12. 一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至9任意一项所述的弹幕显示方法。
  13. 一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9任意一项所述的弹幕显示方法。
PCT/CN2023/114197 2022-08-22 2023-08-22 弹幕显示方法及装置 WO2024041515A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211008868.7 2022-08-22
CN202211008868.7A CN117676223A (zh) 2022-08-22 2022-08-22 弹幕显示方法及装置

Publications (1)

Publication Number Publication Date
WO2024041515A1 true WO2024041515A1 (zh) 2024-02-29

Family

ID=90012538

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/114197 WO2024041515A1 (zh) 2022-08-22 2023-08-22 弹幕显示方法及装置

Country Status (2)

Country Link
CN (1) CN117676223A (zh)
WO (1) WO2024041515A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160261927A1 (en) * 2013-10-09 2016-09-08 Disney Enterprises, Inc. Method and System for Providing and Displaying Optional Overlays
CN107302717A (zh) * 2017-06-30 2017-10-27 武汉斗鱼网络科技有限公司 弹幕信息播放方法和装置
CN108521583A (zh) * 2018-04-23 2018-09-11 黄宇松 一种基于云计算的大量弹幕信息并发处理方法及云计算服务器
CN109600655A (zh) * 2018-11-30 2019-04-09 北京微播视界科技有限公司 应用客户端中弹幕显示的方法、应用客户端及电子设备
CN114520924A (zh) * 2022-02-22 2022-05-20 上海哔哩哔哩科技有限公司 弹幕展示方法及装置
CN114915832A (zh) * 2022-05-13 2022-08-16 咪咕文化科技有限公司 一种弹幕显示方法、装置及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160261927A1 (en) * 2013-10-09 2016-09-08 Disney Enterprises, Inc. Method and System for Providing and Displaying Optional Overlays
CN107302717A (zh) * 2017-06-30 2017-10-27 武汉斗鱼网络科技有限公司 弹幕信息播放方法和装置
CN108521583A (zh) * 2018-04-23 2018-09-11 黄宇松 一种基于云计算的大量弹幕信息并发处理方法及云计算服务器
CN109600655A (zh) * 2018-11-30 2019-04-09 北京微播视界科技有限公司 应用客户端中弹幕显示的方法、应用客户端及电子设备
CN114520924A (zh) * 2022-02-22 2022-05-20 上海哔哩哔哩科技有限公司 弹幕展示方法及装置
CN114915832A (zh) * 2022-05-13 2022-08-16 咪咕文化科技有限公司 一种弹幕显示方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN117676223A (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
US11833426B2 (en) Virtual object control method and related apparatus
US11684858B2 (en) Supplemental casting control with direction and magnitude
US10445132B2 (en) Method and apparatus for switching applications
RU2666634C2 (ru) Области автопрокрутки
US10324581B2 (en) Menu display method, apparatus and system
CN107765986B (zh) 游戏系统的信息处理方法和装置
CN110215685B (zh) 游戏中的虚拟对象控制方法及装置、设备、存储介质
CN107678652B (zh) 对目标物体的操作控制方法和装置
WO2017092430A1 (zh) 基于虚拟现实应用的用户界面控件实现方法和装置
US20220105432A1 (en) Virtual object control method and apparatus, terminal, and storage medium
EP3950080A1 (en) Method and apparatus for selecting virtual object, and device and storage medium
CN110377215B (zh) 模型展示方法、装置及终端设备
US20230082928A1 (en) Virtual aiming control
US10877565B2 (en) Method and system for controlling play of multimedia content
CN106325505A (zh) 基于视点跟踪的控制方法和装置
CN107688426B (zh) 选中目标物体的方法和装置
WO2024041515A1 (zh) 弹幕显示方法及装置
CN113176904A (zh) 应用启动动画的调整方法和装置
WO2019001373A1 (zh) 一种对手势命令的处理方法和装置
CN106293446B (zh) 显示方法及显示设备
CN112221123B (zh) 一种虚拟对象切换方法、装置、计算机设备和存储介质
CN114722285A (zh) 虚拟装备的推荐方法、装置、电子设备及存储介质
US20150220260A1 (en) Method And Apparatus For Adjusting The Image Display
CN114217889B (zh) 显示方法、装置、设备和存储介质
CN110891190A (zh) 一种弹幕显示方法、装置及电子设备

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: 23856605

Country of ref document: EP

Kind code of ref document: A1