text:
Q: Warping an image on the iphone with OpenGL I am fairly new to programming and I'm doing it, at this point, just to educate myself and have fun.
I'm having a lot of trouble understanding some OpenGL stuff despite having read this great article here.  I've also downloaded and played around with an example from the apple developer site that uses a .png image for a sprite.  I do eventually want to use an image.
All I want to do is take an image and warp it such that it's four corners end up at four different x,y coordinates that I supply.  This would be on a timer of sorts (CADisplayLink?) with one or more of these points changing at each moment.  I just want to stretch it between these dynamic points.
I'm just having trouble understanding exactly how this works.  As I've understood some example code over at the developer center, I can use:
glVertexPointer(2, GL_FLOAT, 0, spriteVertices);

where spriteVertices is something like:
const GLfloat spriteVertices[] = {
-0.90f, -.85f,
0.95f, -0.83f,
-0.85f,  0.85f,
0.80f,  0.80f,
};

The problem is that I don't understand what the numbers actually mean, why some have negatives infront of them, and where they are counting from to get the four corners.  How would I need to change normal x,y coordinates that I get in order to plug them into this? (the numbers I would have for x,y wouldn't look like numbers between 1 and 0 would they?  I would like something akin to per pixel accuracy.
Any help is greatly appreciated even if it's just a link to more reading.  I'm having trouble finding resources for a newb.

A: It isn't as complicated as it seems at first. Each pair of numbers relates to an x,y position on the screen. So, 0.80f, 0.80f, would say go to 80% of the drawable area for both x and y(left to right, down to up). While -0.80,-0.80 would say go to 80% of the drawable area from right to left, up to down. The negatives just switch the sides. A point of note, openGL draws down to up(as if you were looking up a building from the ground), while the iPhone draws up to down (as though you were reading a book).
To get pixels, you multiply the float value by drawable area 1024 X 0.8 = 819.2.
This tutorial is for textures, but it is amazing and really helps you learn the coordinate systems:
http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-part-6_25.html


text:
Home Education Kevin L. Johnson Presented with the Albert Nelson Marquis Lifetime Achievement Award...
Kevin L. Johnson Presented with the Albert Nelson Marquis Lifetime Achievement Award by Marquis Who's Who
Kevin L. Johnson's name was engraved on the National Aviation & Space Exploration Wall of Honor at the Smithsonian Institute in 2000.
BURLINGTON, MA, May 29, 2019 — Marquis Who's Who, the world's premier publisher of biographical profiles, is proud to present Kevin L. Johnson with the Albert Nelson Marquis Lifetime Achievement Award. An accomplished listee, Mr. Johnson celebrates many years' experience in his professional network, and has been noted for achievements, leadership qualities, and the credentials and successes he has accrued in his field. As in all Marquis Who's Who biographical volumes, individuals profiled are selected on the basis of current reference value. Factors such as position, noteworthy accomplishments, visibility, and prominence in a field are all taken into account during the selection process.
With more than six decades of experience, Mr. Johnson has flourished as the associate department head for the C31 Division of the MITRE Corp. in Bedford, Massachusetts, since 1989, having previously served as the division assistant between 1988 and 1989. Prior to these engagements, he worked with Raytheon Co., where he held managerial positions for various divisions including mobile equipment and structures, mechanical design, antenna design, and product design from 1968 to 1988. Earlier in his career, he was associated with the General Electric Research Laboratory, where he contributed as a detail draftsman and a mechanical design engineer, further progressing to a mechanical design engineer with Sylvania Electronic Systems between 1957 and 1968. Subsequently, Mr. Johnson joined Avco Corp. as an electro¬mechanical systems engineer from 1966 to 1968.
Prior to etnbarking on his career, Mr. Johnson graduated from Northeastern University in Boston with a Bachelor of Science in mechanical engineering in 1958. Following this accomplishment, he spent two years in the United States Anny, where he served as a platoon leader in the 4th Annored Division in Germany from 1959 to 1961. A member of the American Institute of Aeronautics and Astronautics, Mr. Johnson maintains professional affiliation with the Institution of Environmental Sciences, the Institute of Electrical and Electronics Engineers Electronics Packaging Society and the National Security Association.
Inspired to pursue a career in engineering by his father, who was an engineer himself, Mr. Johnson overcame the initial discouragement he received, finding it only fueled his desire to work hard and achieve his goals. Having accomplished much over the course of his career, he is most proud of the opportunity he had to design the bilateral radar for the Apollo 17. As a result of this work, Mr. Johnson's name was engraved on the National Aviation & Space Exploration Wall of Honor at the Smithsonian Institute in 2000.
An active member of his community, Mr. Johnson has dedicated a portion of his time to the Boston Partners in Education. Outside of his essential responsibilities, he enjoys photography, model making, auto-mechanics and fishing in his spare time. In light of all his achievements, Mr. Johnson has previously been featured in the 55th edition of Who's Who in America.
In recognition of outstanding contributions to his profession and the Marquis Who's Who community, Mr. Johnson has been featured on the Albert Nelson Marquis Lifetime Achievement website. Please visit www.ltachievers.com for more information about this honor.
About Marquis Who's Who®
Since 1899, when A. N. Marquis printed the First Edition of Who's Who in America®, Marquis Who's Who® has chronicled the lives of the most accomplished individuals and innovators from every significant field of endeavor, including politics, business, medicine, law, education, art, religion and entertainment. Today, Who's Who in America® remains an essential biographical source for thousands of researchers, journalists, librarians and executive search firms around the world. Marquis® now publishes many Who's Who titles, including Who's Who in America®, Who's Who in the World®, Who's Who in American Law®, Who's Who in Medicine and Healthcare®, Who's Who in Science and Engineering®, and Who's Who in Asia®. Marquis® publications may be visited at the official Marquis Who's Who® website at www.marquiswhoswho.com.
Previous articlePatricia H. Newsome Presented with the Albert Nelson Marquis Lifetime Achievement Award by Marquis Who's Who
Next articleEnriching Online Summer Courses 2019 for Middle and High School Students
Preety holds a Master's in Journalism from Ryerson University and writes professionally in a broad variety of genres. She has worked as a senior manager in public relations and communications for major telecommunication companies and is the former Deputy Director of Media Relations with the Modern Coalition.
Family-Run Bourne Vale Riding Stables Ltd Now Boasts a 5-Star Rating
Nurse Salary Guide Features a New Nursing Blog on Their Website

redpajama_set_name: RedPajamaCommonCrawl


XP was released nearly 13 years ago and was the most influential and enduring contemporary operating system. Though I got my start in DOS back in the 80s, I've been a Windows man since version 3. I remember my amazement the first time I booted XP. I knew I was using something that would change the world. The only other time I remember thinking that was the first time I held an iPhone.
I'm amazed by the commanding grip XP still has on people. According to NetMarketShare.com, Windows XP still held a 27.69% market share in March 2014 despite being over a decade old. To put that in perspective, Windows XP is currently used on more computers than Windows Vista, Windows 8, Windows 8.1 and Mac OS X COMBINED!
Windows XP's market share poses a couple of interesting questions to the world of computing. Hackers know the EOL is here probably sitting on some serious threats waiting to attack. Nearly 30% of the computers that access the web will be under serious threat overnight. That could have some big ramifications for the computer-using public.
Secondly, as people are pushed out of XP where will they go? Will there be a mass exodus from Microsoft with flocks of people bailing to Mac? That has to be causing hundreds of ulcers over at Microsoft right now. Windows 8 just hasn't taken off like Microsoft expected and it's really uncertain if people will go from XP to 8. Adoption rates remain low with Windows 8 earning only 11.3% of the market share since its launch in August of 2012. I expect to see a ton of commercials for Windows, Google's Chromebook, and Mac on TV in the coming months trying to capitalize on all all the people being forced out of XP.
XP's market share has been steadily decreasing for a while now, and has been accelerating since last summer. As you can see in the chart below, XP users are not unanimously adopting Windows 8. In fact, there was a marked drop in share for XP from February to March of this year, and the data says most people left XP for Windows 7 instead of 8. Microsoft must be freaking out.
I think there are two big reasons that Windows 8 adoption is so low. 1) We all got burned by Vista. We IT guys spent two years and hundreds of hours fighting that OS and developed a special animosity towards, and suspicion of, new releases of Windows. We're not going to be caught being early adopters again! 2) Windows 8 removed [surface-level] familiarity that the computing public had grown to love; the start menu. Sure, everything is still accessible in Windows, but to the new user the environment seems cumbersome and things aren't where they are supposed to be. In response to widespread criticism Microsoft did absolutely nothing until last Wednesday. Microsoft announced their last-ditch attempt to salvage 8's reputation by replacing the start menu in some future release of the software but gave no release date, just a vague promise. Microsoft also said they would allow modern apps to run in windows within the desktop. DUH MICROSOFT – that's your system's namesake, why would you forsake it in favor of a cell-phone like experience?! Bad move! Why did it take you so long to fix? A little pride getting in the way there?
Another major factor impeding the adoption of Windows 8 is that Windows 7 is just so dang good. It's fast, extremely stable, and its familiar experience is a natural landing spot for XP users. I suspect Windows 7 adoption will take off as XP drops – IF users can find Windows 7 machines. I expect to see fewer and fewer new PCs available with Windows 7 as Microsoft tries to push people into 8. That would be a bad move. People have a safe spot under Microsoft's umbrella right now. If push comes to shove (and Mac lowers prices a bit) Mac might become a serious contender for XP folks. If you have to learn a whole new system, why not learn one that feels a lot like the iPhone in your hands?
It's hard to say how long XP users will cling to their beloved OS before finally giving up and moving on. The entire computing world will be watching where they go.


Congratulations on the forthcoming wedding. The food is a big part of any wedding, and A1 Caterers are experts in wedding catering. We will provide a hassle free and memorable experience for you and your guests. We offer several popular buffet menus, starting at $40.00 per person, we can also quote a menu of your choice or tailor one to your budget.
Contact us and we will email or post you a selection of menus or call us to discuss your particular requirements and let us price your requirements.
We arrive 2 hours before the agreed eating time to prepare and set up. Quotes based on a minimum of 40 people. Some events may require extra labour or extended time. For weddings we allow for extra staff a longer duration of event and extra services, such as service to the bridal table. Out of Auckland areas may incur travel costs.
Contact us for a full range of options.


text:
City of Los Angeles Tracks Land-Use Data Edits, Enabling Smart and Agile Growth
Urban planning departments direct growth within their cities. Through regulations and permit approvals, they evaluate land use and manage development. Naturally, changes to regulations can cause land-use conflicts, which developers are likely to challenge. That is why planning departments need to have a full record of changes to land use and zoning for parcels, complete with supporting documents that verify that regulations were applied correctly.
The City of Los Angeles Department of City Planning has simplified this process of keeping complete records. For more than 10 years, it has used ArcGIS Workflow Manager, Esri's job tracking system, for database editing to ensure data quality.
To intelligently manage growth within Los Angeles, the Department of City Planning maintains a complete record of changes made to land use and zoning for parcels.
With Workflow Manager, users can trace edits and link to parcel documentation. This enables the department to maintain crucial metadata about edits in more detail than traditional geodatabase archiving alone. Additionally, because Workflow Manager is an extension for ArcGIS Desktop, staff interact with the data via the normal ArcMap interface—a program they already know. When they select an area of interest, they see all the job tracking identifiers associated with that location. From there, they can dive deeper to look at scanned maps, ordinances, history, and why any changes were made.
"ArcGIS Workflow Manager helps us respond to the most important people we serve: our citizens," said James VanGerpen, director of the planning department's Information Technologies Division. "The system allows us to research a parcel and its history across multiple edits and understand when and why certain actions took place. With Workflow Manager, we reliably answer citizen's questions about parcels within an appropriate time frame and reliably inform the decision-making process."
From Paper Workflows to Digital Ones
Using Esri technology, the Los Angeles planning department keeps track of more than 880,000 parcels in 58,000 zoning polygons and 53,000 general plan land-use polygons. Managing this database used to be overwhelming due to the number of changes made to the zoning and land-use datasets throughout the years.
Before implementing the digitized job tracking system, GIS editors' work assignments were based on tiled coverages in ArcGIS Desktop—a total of 1,916 for the city. But supervisors could not decipher or trace edits made to the data. In the planning department's early days, cartographers marked the changes they made to zoning and land use on paper maps, so if someone else took over the assignment, that person would have to follow a paper trail to find clues about ongoing tasks.
Around 2005, department leaders decided to modernize the data management system by implementing a GIS job tracking system. They wanted the technology to make editing more efficient, ensure healthy data, trace previous transactions, and have the agility to evolve and grow. With managers and directors driving the initiative, paper workflows were scrapped in favor of digital ones and staff were reorganized to improve data flows. This leadership-driven flexibility resulted in a successful implementation.
Constantly Advancing Workflows Improve Productivity
Early in the implementation phase, Esri staff and consultants from Esri partner NorthSouth GIS LLC (NSGIS) worked with the planning department's GIS team to configure Workflow Manager so it matched the department's editing requirements. The team created automated workflow standards to ensure data continuity, which involved adding custom tools to Workflow Manager using its robust API.
ArcGIS Workflow Manager tracks the edits made to data in its three most critical layers: Zoning, General Plan Land Use, and Centerlines.
As the app's technological capabilities advanced, the City of Los Angeles continued to work with Esri to improve editing performance. In 2009, each GIS specialist performed 700–800 edits in Workflow Manager on three tracked layers. Today, they each perform around 2,000 edits per year.
This is possible because the team has set up automated workflows for editing tasks, version management, geoprocessing, and archiving. The workflows create a version for each job or user, clean up old versions, and reconcile and post changes. What's more, the centralized system streamlines transactional work processes and tracks feature edits. Now, each edit job takes, on average, 5 to 10 minutes to complete.
Since Workflow Manager was deployed in 2007, GIS specialists have executed around 300,000 transactions. That has more than doubled productivity.
More Accurate Data Makes Quality Control Easier
The planning department maintains 68 datasets that contain information on administrative planning boundaries, city planning case details, and more. Workflow Manager tracks data for the three most critical layers: Zoning, General Plan Land Use, and Centerlines.
The information in these layers is critical to public interest, since it informs how areas of the city can be used and developed, so it must be accurate and accessible. What's more, the department makes zoning and property information publicly available via the Zone Information and Map Access System (ZIMAS) website.
To ensure the integrity of this public-facing spatial data, editors and supervisors from the planning department visually review it to document, correct, and verify its quality. They rely on the repeatable workflows in Workflow Manager to establish data standardization and consistency.
Tracking Jobs Is Effective and Reliable
Each year, the planning department tracks around 10,000 data edits. Using Workflow Manager, the GIS team creates weekly status reports for the IT directors that show all the information associated with each job. A custom reporting tool aggregates the number of edits made to each dataset, tracks the types of edits (e.g., whether information gets inserted, updated, or deleted), and creates a full history of actions by recording each job that gets edited within the three tracked layers. With this information, managers can see how productive GIS editors are over time.
The ability to track jobs like this in Workflow Manager has been especially helpful when the planning department has to address legal matters, including changes to zoning codes and discrepancies in old records. Because Workflow Manager accounts for every change made in the geodatabase, planning department employees spend less time and effort researching these matters. Additionally, for several cases that have been taken to court, the department has provided sworn declarations to demonstrate the competency of the changes made to its database records.
A Data Architecture That's Ripe for Revisions
The Department of City Planning's successful implementation of Workflow Manager has been vital to its data architecture—and that still resonates today.
Recently, the department launched Re:CodeLA, a comprehensive revision of the city's existing zoning code system, which has been in use since 1947. The initiative seeks to make it easier for urban areas to evolve and change, and it requires the planning department to rezone every parcel throughout the city.
The GIS team anticipates that the new zoning code will triple the number of zones in its database. To make this a smooth transition and maintain continuity in the rezoning process, Workflow Manager will be instrumental in assigning tasks to each editor.
Jay Strahan
Jay Strahan is a GIS specialist with the City of Los Angeles Department of City Planning. He focuses on geodatabase administration and ArcGIS Enterprise. Previously, Strahan was a geodata analyst for Esri. He studied geography at Michigan State University.
arcgis workflow manager
Local Government Better Coordinates Field Assignments with App, Dashboards
Read the next article in this issue
ArcNews Fall 2019
Subscribe to ArcNews
About ArcNews
Sign up to receive an email when new quarterly issues are available online. A print version of the publication is also available to subscribers in the United States.


Control every movement with the classic-fitting and lightweight Nexus 1N pants. Withstand repeated impacts with Seven+ Technology™, built for collisions while keeping its natural shape. And find your customized fit with the new extension fit system.


text:
Alabama's rural hospitals are on life support Legislature claims victory in adjourning early while ignoring life-saving issues Alabama SOS again calls for Medicaid Expansion in Alabama
greenecodemocratcom
Shown above John Zippert Chair of SOS Health Committee addresses crowd
Montgomery, AL – Members of Alabama SOS, the Save OurSelves Movement for Justice and Democracy, held a news conference, Tuesday, March 27th, at 11:30 a.m. in the 3rd Floor Press Room of the Alabama State House to address critical and time-sensitive health care issues facing the State of Alabama.
John Zippert, Chair of the SOS Health Committee said: "We are concerned about the State of Alabama's requesting a Medicaid rule change that would affect 8,500 Medicaid caretakers in our state, denying them Medicaid coverage. The rule requires they show they are earning a mandatory wage. These 8,500 people are taking care of Medicaid-eligible children and/or seniors and adults. They are hardworking Alabamians caring for others, but they are not earning a wage that would provide them Medicaid coverage under this rule.
"For these Alabamians to be covered under this new rule, they would no longer be able to care for other Medicaid-eligible Alabamians, who are either children or adults or seniors in much greater need. This makes absolutely no sense. This is part of a national trend that is needlessly hurting people in Alabama and other states by putting political rhetoric ahead of facts and dollars and sense."
"SOS is urging everyone who disagrees with Governor Ivey's shortsighted and meanspirited effort to impose a work requirement on Medicaid caretakers to write the State of Alabama Medicaid agency expressing our concern and opposition.. Each of us has the opportunity to email our comments by April 2nd at PublicComment@medicaid.alabama.gov and by mail to Administrative Secretary, Alabama Medicaid Agency, 501 Dexter Ave., P.O. Box 5624, Montgomery, AL 36103-5624," said John Zippert, SOS Health Committee Co-Chair.
Johnny Ford, SOS Health Care Committee Co-Chair and founder of the World Conference of Mayors, said: "Because the State of Alabama has not expanded Medicaid coverage, small rural hospitals across Alabama are being hurt, threatened with closure, or closed. Many of the people coming to these hospitals were supposed to be covered by Medicaid but currently are not. This is harming the area where I live as well as rural areas throughout our entire state. If these hospitals close, all people in these areas will be directly hurt."
Another critical issue SOS addressed is the ongoing failure of the State of Alabama to expand Medicaid coverage. "Expanding Medicaid would be a huge economic boon to our state," said Alabama State Senator Hank Sanders. "More than 30 states across the country, including in the South, have already expanded Medicaid. Alabama tax dollars are going to help people in other states instead of the people of Alabama."
Zippert, who is also Chair of the Board of the Greene County Health System and President of the Alabama New South Coalition added: "Medicaid reimbursement – including the disproportionate share that rural hospitals already receive – has been even further reduced by the failure to expand Medicaid. People who have insurance are also going to pay higher premiums in Alabama because we have not expanded Medicaid. So many Alabamians are paying the cost because the State refuses to expand Medicaid"
"Rural hospitals are on life support," said Ford, "and the Governor could save them with the stroke of her pen. The Alabama Legislature is proud to be adjourning early this week claiming their work has been done while rural hospitals across the state – both in Black and White communities – are threatened with closure every day. This can be fixed with Medicaid expansion. We need action – not today, not yesterday, but years ago. But we will take action today. The Legislature's work is not done nor is the work of the Governor."
SOS is comprised of more than 40 statewide Alabama organizations committed to justice and democracy. Members of the SOS Health Committee led today's news conference.
Categories: Community, Politics, School
Tags: Alabama SOS, Alabama's rural hospitals are on life support Legislature claims victory in adjourning early while ignoring life-saving issues Alabama SOS again calls for Medicaid Expansion in Alabama, Chair of the SOS Health Committee, Education, Governor Ivey's, Greene County Health System and President of the Alabama New South Coalition, history, John Zippert, Johnny Ford, Medicaid Expansion, SOS Health Care Committee Co-Chair, the Save OurSelves Movement for Justice and Democracy


text:
Justia Patents Having Still ModeUS Patent for Cloud streaming service system, image cloud streaming service method using application code, and device therefor Patent (Patent # 10,659,826)
Cloud streaming service system, image cloud streaming service method using application code, and device therefor
Mar 4, 2015 - SK PLANET CO., LTD.
A cloud streaming service system, an image cloud streaming service method using an application code, and a device therefor are disclosed. A still-image-based cloud streaming service can be performed by receiving a first code corresponding to an application result screen image from a web application server, generating a capture image by using image region attribute information included in the first code, still-image-encoded capture image and a second code generated so as to include animation information by converting the first code, such that the user terminal can generate the application result screen image. A cloud streaming server does not have to perform unnecessary rendering and does not perform animation processing, thereby enabling the number of web containers operable in the server to increase.
Latest SK PLANET CO., LTD. Patents:
System and method for providing content recommendation service
Method and device for providing advertisement
Wireless mesh network management method, device therefor, and non-transitory computer-readable storage medium
Method and apparatus for editing uploaded image
Method of authenticating device using photographed image and system therefor
This present application is a national stage filing under 35 U.S.C. § 371 of PCT application number PCT/KR2015/002073 filed on Mar. 4, 2015 which is based upon and claims the benefit of priority to Korean Patent Application Nos. 10-2014-0170423 filed on Dec. 2, 2014 in the Korean Intellectual Property Office. The disclosures of the above-listed applications are hereby incorporated by reference herein in their entirety.
The present invention relates to a cloud streaming service system, a cloud streaming service method using an application code, and an apparatus for the same, and more particularly to a cloud streaming service system, method and server for creating a capture image by using an application code and then transmitting a conversion code together with the capture image to a user such that a user terminal can create an application result screen to which an animation effect is applied.
With the recent growth of Internet technology, the speed of communication using a personal mobile communication device has been rapidly improved. This realizes the Internet environment capable of downloading and uploading a large amount of data through a remote computer access or performing local login to a remote computer. In addition, as a variety of applications are developed for a mobile communication terminal such as a smart phone, many virtualization technologies are being introduced to drive applications requiring higher performance in a user terminal having relatively lower performance. A cloud streaming service based on screen virtualization is an interesting one of them. In this service, a server executes an application, compresses an execution screen through video encoding, and transmits the compressed video to a client. Then the client can play the received video as if the application is running at the client.
Basically, this cloud streaming service employs cloud streaming technique based on a video codec. By the way, even in case of providing a certain service such as a menu display, the entire screen is unnecessarily captured and operated using the video codec. This results in inefficiency throughout the system.
Accordingly, there is a need for enhanced technology of creating a service screen having an animation effect in a user's set-top box by rendering only a necessary minimum part of an execution result screen of an application executed at a user's request and, even when a dynamic effect such as animation is applied, by transmitting animation-related information to the set-top box separately from images so that unnecessary images are not captured.
A relevant technique is disclosed in Korean Patent Publication No. 10-2010-0113503 (Title: System and method for storing program code and data within an application hosting center) published on Oct. 21, 2010.
An object of the present invention is to provide an improved cloud streaming service in which a cloud streaming server omits a process of comparing differences of frames to create an image to be captured and instead acquires an image at a code end.
Another object of the present invention is to increase the number of web containers capable of running in a server by requiring no unnecessary animation processing when an application result screen is processed.
Still another object of the present invention is to enable a user terminal to apply an animation effect even when a web application developer writes an application code of a desired form in a typical manner rather than a code of
In order to achieve the above objects, a cloud streaming server according to the present invention comprises a code receiving unit configured to receive a first code corresponding to an application result screen from a web application server; a capturing unit configured to create a capture image by using image region attribute information included in the first code; an encoding unit configured to perform still image encoding of the capture image by using a still image compression technique; and a sending unit configured to perform a cloud streaming service based on a still image by transmitting, to a user terminal, the still-image-encoded capture image and a second code created to include animation information through conversion of the first code such that the user terminal creates the application result screen.
In the cloud streaming server, the capturing unit may be further configured to create the capture image by performing rendering for input information corresponding to the image region attribute information included in the first code.
The cloud streaming server may further comprise a capture image information creating unit configured to create capture image information by using the image region attribute information included in the first code; an animation information creating unit configured to create animation information by using an animation code included in the first code; and a code converting unit configured to convert the first code into the second code including the capture image information and the animation information.
In the cloud streaming server, the capturing unit may be further configured to create the capture image by rendering only a part of the application result screen.
In the cloud streaming server, the second code may include the animation information corresponding to at least one of an animation type, an animation applying duration, an animation repetition count, a start coordinate, an end coordinate, a start size, and an end size.
In the cloud streaming server, the second code may include no animation code.
In the cloud streaming server, the encoding unit may bes further configured to perform the still image encoding of the capture image by using the still image compression technique corresponding to one of portable network graphics (PNG), paletted PNG, and joint photography experts group (JPEG).
Additionally, an image cloud streaming service method using an application code according to the present invention comprises steps of receiving a first code corresponding to an application result screen from a web application server; creating a capture image by using image region attribute information included in the first code; performing still image encoding of the capture image by using a still image compression technique; and performing a cloud streaming service based on a still image by transmitting, to a user terminal, the still-image-encoded capture image and a second code created to include animation information through conversion of the first code such that the user terminal creates the application result screen.
In the method, the step of creating the capture image may include creating the capture image by performing rendering for input information corresponding to the image region attribute information included in the first code.
The method may further comprise steps of creating capture image information by using the image region attribute information included in the first code; creating animation information by using an animation code included in the first code; and converting the first code into the second code including the capture image information and the animation information.
In the method, the step of creating the capture image may include creating the capture image by rendering only a part of the application result screen.
In the method, the second code may include the animation information corresponding to at least one of an animation type, an animation applying duration, an animation repetition count, a start coordinate, an end coordinate, a start size, and an end size.
In the method, the second code may include no animation code.
In the method, the step of performing the still image encoding may include performing the still image encoding of the capture image by using the still image compression technique corresponding to one of portable network graphics (PNG), paletted PNG, and joint photography experts group (JPEG).
Additionally, as another technical solution, the present invention provides a computer program, stored in a medium, for executing the aforesaid method.
Additionally, a cloud streaming system comprises a cloud streaming server configured to receive a first code corresponding to an application result screen from a web application server, to create a capture image by using image region attribute information included in the first code, and to perform a cloud streaming service based on a still image by transmitting, to a user terminal, the capture image still-image-encoded by using a still image compression technique and a second code created to include animation information by converting the first code; and a terminal configured to receive an application execution result screen corresponding to the cloud streaming server from the cloud streaming server.
According to the present invention, the cloud streaming server can provide an improved cloud streaming service by omitting a process of comparing differences of frames to create an image to be captured and instead acquiring an image at a code end.
In addition, the present invention can increase the number of web containers capable of running in the server by requiring no unnecessary animation processing when an application result screen is processed.
In addition, the present invention can provide a cloud streaming service that enables a user terminal to apply an animation effect even through a web application developer writes an application code of a desired form in a typical manner rather than a code of a new form.
FIG. 1 is a block diagram illustrating a cloud streaming service system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an example of a cloud streaming server shown in FIG. 1.
FIG. 3 is a diagram illustrating a cloud streaming service based on a still image according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating first and second codes according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating a code conversion according to an embodiment of the present invention.
FIG. 6 is a diagram illustrating a code conversion according to another embodiment of the present invention.
FIG. 7 is a flow diagram illustrating an image cloud streaming service method using an application code according to an embodiment of the present invention.
FIG. 8 is a flow diagram illustrating a code conversion process according to an embodiment of the present invention.
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. However, in the following description and accompanying drawings, well known functions or elements may not be described or illustrated in detail to avoid obscuring the subject matter of this invention. Through the drawings, the same reference numerals denote corresponding elements if possible.
The terms and words used in the following description and claims are not limited to the bibliographical meanings and are merely used by the inventor to enable a clear and consistent understanding of the invention. Accordingly, it should be apparent to those skilled in the art that the following description of exemplary embodiments of this invention is provided for illustration purpose only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents. Additionally, the expressions "first", "second", etc. used for specifying various elements are used for distinguishing one element from other elements and do not limit the corresponding elements.
Referring to FIG. 1, the cloud streaming service system according to an embodiment of this invention includes a web application server 105, a cloud streaming server 110, terminal devices 120-1 . . . 120-N, and a network 130.
The web application server 105 is a server that receives a request from the terminal devices 120-1 . . . 120-N and processes the received request. The web application server 105 can structurally separate and process a function thereof through web containers rather than process all the requests received from the terminal devices 120-1 . . . 120-N. Therefore, the more there are service requests from the terminal devices 120-1 . . . 120-N, the more effective a service method using the web application server 105 may be. For example, WEB LOGIC of BEA, Web Spere of IBM, JEUS of T-max, Tomcat, Jboss of RedHot, and the like may correspond to the web application server 105.
Based on the service request received from the terminal devices 120-1 . . . 120-N, the web application server 105 may transmit an application code corresponding to an application result screen to the cloud streaming server 110.
The cloud streaming server 110 receives a first code corresponding to the application result screen from the web application server 105.
In addition, the cloud streaming server 110 may create capture image information by using image region attribute information included in the first code.
In addition, the cloud streaming server 110 may create animation information by using an animation code included in the first code.
In addition, the cloud streaming server 110 may convert the first code into a second code that includes the capture image information and the animation information. The second code may include the animation information that corresponds to at least one of an animation type, an animation applying duration, an animation repetition count, a start coordinate, an end coordinate, a start size, and an end size. Alternatively, the second code may not include the animation code.
In addition, the cloud streaming server 110 creates the capture image by using the image region attribute information included in the first code. In order to create the capture image, rendering may be performed for input information corresponding to the image region attribute information included in the first code. Also, rendering may be performed for only a part of the application result screen in order to create the capture image.
In addition, the cloud streaming server 110 performs still image encoding of the capture image by using a still image compression technique. The still image compression technique used for the still image encoding of the capture image may correspond to one of portable network graphics (PNG), paletted PNG, and joint photography experts group (JPEG).
Additionally, the cloud streaming server 110 performs a cloud streaming service based on a still image by transmitting, to a user terminal, the still-image-encoded capture image and the second code created to include the animation information through conversion of the first code such that the terminal devices 120-1 . . . 120-N can create the application result screen.
The terminal devices 120-1 . . . 120-N receive an application execution result screen corresponding to the cloud streaming service from the cloud streaming server 110 and then provide it to users.
Each of the terminal devices 120-1 . . . 120-N is an apparatus connected to a communication network and capable of executing an application, based on a cloud computing system. The terminal devices may be, but not limited to, mobile communication terminals, information communication devices, multimedia devices, wired devices, stationary devices, and internet protocol (IP) devices. Also, each of the terminal devices 120-1 . . . 120-N may be a mobile device having various mobile communication specifications, such as a mobile phone, a portable multimedia player (PMP), a mobile internet device (MID), a smart phone, a desktop, a tablet PC, a notebook, a net book, a personal digital assistant (PDA), a smart TV, and an information communication device.
The network 130, including a typically used network and any future developable network, offers a route of delivering data between the cloud streaming server 110 and the terminal devices 120-1 . . . 120-N. For example, the network 130 may be a wired/wireless short-range communication network for providing communication of various information devices within a limited area, a mobile communication network for providing communication between mobile entities and between a mobile entity and any other entity outside the mobile entity, a satellite communications network for providing communication between earth stations using satellites, one of wired/wireless communication networks, or any combination thereof. Meanwhile, the standard of transmission scheme for the network 130 is not limited to the existing transmission scheme standard, and may include all transmission scheme standards to be developed in the future. Also, in FIG. 1, the network used between the cloud streaming server 110 and the terminal devices 120-1 . . . 120-N may be different from or identical with a network used between the terminal devices 120-1 . . . 120-N.
FIG. 2 is a block diagram illustrating an example of the cloud streaming server shown in FIG. 1.
Referring to FIG. 2, the cloud streaming server 110 shown in FIG. 1 includes a code receiving unit 210, a capture image information creating unit 220, an animation information creating unit 230, a code converting unit 240, a capturing unit 250, an encoding unit 260, a sending unit 270, and a storage unit 280.
The code receiving unit 210 receives the first code corresponding to the application result screen from the web application server. The first code may include an animation code about an animation effect applied when an application is executed, image region attribute information about images to which the animation effect is applied, and the like. Also, the first code may be written in a manner typically used by web application developers. For example, the first code may be written using a library such as jQuery which is widely used for animation purposes.
The capture image information creating unit 220 creates capture image information by using the image region attribute information included in the first code. For example, the image region attribute information may be coordinate information for an image to be captured.
The animation information creating unit 230 creates animation information by using the animation code included in the first code. The animation code included in the first code is a code for executing an animation, and there is a case of having to perform an unnecessary capture when the code is executed. Therefore, checking the contents of the animation code and using extractable information, the animation information can be created.
The code converting unit 240 converts the first code into the second code including the capture image information and the animation information. Therefore, by checking the second code, detailed information about a capture region and an animation may be comprehended.
The second code may include the animation information corresponding to at least one of an animation type, an animation applying duration, an animation repetition count, a start coordinate, an end coordinate, a start size, and an end size. For example, in the second code, the animation type may be represented as 'effect type', the animation applying duration may be represented as 'duration', the animation repetition count may be represented as 'isRepeat', the start coordinate may be represented as 'start X, start Y', the end coordinate may be represented as 'end X, end Y', the start size may be represented as 'start W, start H', and the end size may be represented as 'end W, end H'.
Alternatively, the second code may not include the animation code.
The capturing unit 250 creates the capture image by using the image region attribute information included in the first code. At this time, the capturing unit may directly read and acquire an image corresponding to the image region attribute information without performing a process of capturing the image. For example, in case of rendering an application result screen and then capturing a part corresponding to the image region attribute information in the rendered screen, this may be inefficient because server resources are used to perform rendering or capturing. Therefore, the image corresponding to the image region attribute information may be read and created in information received from the web application server.
In addition, the capturing unit may create the capture image by performing rendering for input information corresponding to the image region attribute information included in the first code. For example, the capturing unit may create the capture image by rendering only a part corresponding to the capture image in the first code by using the image region attribute information.
In addition, the capturing unit may create the capture image by rendering only a part of the application result screen. For example, in case of a general rendering, the entire application result screen may be rendered, and a process of comparing a difference between respective regions may be performed to detect a part to be captured. However, since such processes need resources of the cloud streaming server 110, it may be difficult to simultaneously process many service requests. Therefore, in order to create the capture image, rendering may be performed for only a part including the capture image in the entire application result screen.
The encoding unit 260 performs still image encoding of the capture image by using a still image compression technique.
At this time, the encoding unit may perform the still image encoding of the capture image by using a still image compression technique corresponding to one of portable network graphics (PNG), paletted PNG, and joint photography experts group (JPEG).
The PNG still image compression technique may have a good quality of an encoded image, but may increase a data size, thus causing a decrease in transmission speed when a transmission network has a lower bandwidth.
The paletted PNG still image compression technique may guarantee a transmission speed because of a reduced data size of an encoded image, but may cause deterioration of an image quality because of a color expression with 8 bits.
The JPEG still image compression technique may greatly reduce the amount of transmission data because of high compression efficiency, but may cause a greater system load when encoding and decoding are performed.
The sending unit 270 performs a cloud streaming service based on a still image by transmitting, to a user terminal, the still-image-encoded capture image and the second code created to include the animation information through conversion of the first code such that the user terminal can create the application result screen. For example, even though the cloud streaming server 110 can completely create and stream the application result screen, it is possible to remarkably reduce a load of the cloud streaming server 110 by using the above transmission scheme such that the user terminal can create the application result screen. The reduced load of the cloud streaming server 110 increases the number of services that can be simultaneously processed by the cloud streaming server 110. Therefore, more users can receive services at the same time.
Referring to FIG. 3, in an embodiment of this invention, processes of performing a cloud streaming service based on a still image may be divided into a process performed in a cloud streaming server 300 and a process performed in a user terminal 305.
The cloud streaming server 300 may perform the reception 320 of an application code corresponding to an application result screen 310 created by an application server in response to a user's request. At this time, the application code is the first code and may include image region attribute information, an animation code, and the like.
Thereafter, the cloud streaming server may create a capture image by using the image region attribute information included in the application code, and then perform encoding 330 of the created capture image. At this time, depending on an image type included in the image region attribute information, the capture image may be acquired through direct reading or by performing the minimum rendering using the image region attribute information. For example, an image of a PNG type may be directly read and encoded.
Further, the cloud streaming server may create capture image information and animation information by respectively using the image region attribute information and the application code which are included in the application code.
Thereafter, by converting the application code, the cloud streaming server may perform the creation 340 of a conversion code including capture image information and animation information. At this time, the conversion code is the second code and may include the animation information rather than the animation code.
The cloud streaming server 300 may perform streaming 350 of both the encoded capture image 330 and the second code (i.e., the conversion code) to the user terminal 305. At this time, the capture image and the conversion code may be contained in one message and then transmitted, or respectively contained in corresponding messages and then transmitted.
The user terminal 305 may create an application result screen by using the capture image and the conversion code received from the cloud streaming server 300. Namely, based on the animation information and the capture image information included in the conversion code, the user terminal may apply an animation 360 to the capture image. In this case, since the animation information includes information such as an animation type, an animation applying duration, an animation repetition count, a start coordinate, an end coordinate, a start size, and an end size, the animation may be accurately and easily applied to the capture image to create the application result screen.
The user terminal 305 may output the created application result screen to the user through image rendering 370.
Referring to FIG. 4, in an embodiment of this invention, the first code 410 includes image region attribute information 411 and an animation code 412, and the second code 420 includes capture image information 421 and animation information 422.
The first code 410 may be an application code that corresponds to the application result screen received from the web application server. Therefore, the image region attribute information 411 may be information about a part to which the animation is applied in the application result screen, and the animation code 412 may be a code about an animation effect applied to the part corresponding to the image region attribute information 411.
The second code 420 may include the capture image information 421 created using the image region attribute information 411 and the animation information 422 created using the animation code 412. Therefore, the second code 420 may be transmitted to the user terminal so that the user terminal can create the application result screen corresponding to the first code 410.
Referring to FIG. 5, it can be seen that the first code 510 is converted into the second code 520.
In this example, the first code 510 is written by utilizing a library such as jQuery, etc. which is used for animation purposes. The first code 510 includes the attributes of a region to be captured, as shown in the first and second lines, and the animation code as shown in the fourth and fifth lines. Namely, the first code 510 may be interpreted as applying the SlideUp animation to 'img1.png'. Based on this interpretation, the first code 510 may be converted into the second code 520 to include the capture image information and the animation information.
For example, the second code 520 shows, in the seventh to ninth lines, that the animation type is 'SlideUp', the applying duration is '3000', the repetition count is '0', the start coordinate is '332, 300', the start size is '551, 191', the end coordinate is '332, 0', and the end size is '551, 191'. Like this example, the second code 520 includes coordinate information about the capture image and animation information such as type, applying duration, and repetition count such that the user terminal can create the application result screen containing an animation by using the second code 520.
In addition, the capture image to be transmitted to the user terminal along with the second code 520 may be extracted directly from the first code 510. For example, 'img1.png' may be extracted from the first code 510 and stored as a capture image, and the capture image may be transmitted to the user terminal together with the created second code 520.
Referring to FIG. 6, the first code 610 is composed of a test_1 code area having img1.png and img2.png, a test_2 code area having img3.png and img4.png, and a test_3 code area having img5.png and img6.png. As shown in the 23rd and 24th lines of the first code 610, a fadeout animation is applied to the test_1 code area.
Therefore, when the first code 610 is converted into the second code 620, the second code 620 may be created using only the test_1 code area having img1.png and img2.png corresponding to the capture image.
In this case, the capture image may be created by directly making an image from 'div id="test_1"' only. By directly creating the capture image like this, a process of capturing the application result screen or a process of comparing the captured screen with other area may be omitted. Therefore, resources of the cloud streaming server can be saved.
In addition, the capture image to be transmitted to the user terminal together with the second code 620 may be acquired by storing the result of rendering a partial code of the first code 610 as an image. For example, a capture image corresponding to 'img1.png' and 'img2.png' may be acquired by rendering the fifth to eighth lines in the first code 610, and the acquired capture image may be delivered to the user terminal together with the second code 620.
Referring to FIG. 7, in an embodiment of this invention, the image cloud streaming service method using an application code receives a first code corresponding to an application result screen from a web application server (S710). The first code may include an animation code about an animation effect applied when an application is executed, image region attribute information about images to which the animation effect is applied, and the like. Also, the first code may be written in a manner typically used by web application developers. For example, the first code may be written using a library such as jQuery which is widely used for animation purposes.
In addition, the image cloud streaming service method using an application code creates a capture image by using the image region attribute information included in the first code (S720). At this time, the method may directly read and acquire an image corresponding to the image region attribute information without performing a process of capturing the image. For example, in case of rendering an application result screen and then capturing a part corresponding to the image region attribute information in the rendered screen, this may be inefficient because server resources are used to perform rendering or capturing. Therefore, the image corresponding to the image region attribute information may be read and created in information received from the web application server.
In addition, the method may create the capture image by performing rendering for input information corresponding to the image region attribute information included in the first code. For example, the method may create the capture image by rendering only a part corresponding to the capture image in the first code by using the image region attribute information.
In addition, the method may create the capture image by rendering only a part of the application result screen. For example, in case of a general rendering, the entire application result screen may be rendered, and a process of comparing a difference between respective regions may be performed to detect a part to be captured. However, since such processes need resources of the cloud streaming server, it may be difficult to simultaneously process many service requests. Therefore, in order to create the capture image, rendering may be performed for only a part including the capture image in the entire application result screen.
In addition, the image cloud streaming service method using an application code performs still image encoding of the capture image by using a still image compression technique (S730).
At this time, the method may perform the still image encoding of the capture image by using a still image compression technique corresponding to one of portable network graphics (PNG), paletted PNG, and joint photography experts group (JPEG).
In addition, the image cloud streaming service method using an application code performs a cloud streaming service based on a still image by transmitting, to a user terminal, the still-image-encoded capture image and the second code created to include the animation information through conversion of the first code such that the user terminal can create the application result screen (S740). For example, even though the cloud streaming server can completely create and stream the application result screen, it is possible to remarkably reduce a load of the cloud streaming server by using the above transmission scheme such that the user terminal can create the application result screen. The reduced load of the cloud streaming server increases the number of services that can be simultaneously processed by the cloud streaming server. Therefore, more users can receive services at the same time.
In this case, the second code may include the animation information corresponding to at least one of an animation type, an animation applying duration, an animation repetition count, a start coordinate, an end coordinate, a start size, and an end size. For example, in the second code, the animation type may be represented as 'effect type', the animation applying duration may be represented as 'duration', the animation repetition count may be represented as 'isRepeat', the start coordinate may be represented as 'start X, start Y', the end coordinate may be represented as 'end X, end Y', the start size may be represented as 'start W, start H', and the end size may be represented as 'end W, end H'.
Although not shown in FIG. 7, the image cloud streaming service method using an application code creates capture image information by using the image region attribute information included in the first code. For example, the image region attribute information may be coordinate information for an image to be captured.
In addition, although not shown in FIG. 7, the image cloud streaming service method using an application code creates animation information by using the animation code included in the first code. The animation code included in the first code is a code for executing an animation, and there is a case of having to perform an unnecessary capture when the code is executed. Therefore, checking the contents of the animation code and using extractable information, the animation information can be created.
In addition, although not shown in FIG. 7, the image cloud streaming service method using an application code converts the first code into the second code including the capture image information and the animation information. Therefore, by checking the second code, detailed information about a capture region and an animation may be comprehended.
Referring to FIG. 8, in an embodiment of this invention, the code conversion process creates capture image information by using image region attribute information included in a first code received from a web application server (S810).
The first code may include an animation code about an animation effect applied when an application is executed, image region attribute information about images to which the animation effect is applied, and the like. Also, the first code may be written in a manner typically used by web application developers. For example, the first code may be written using a library such as jQuery which is widely used for animation purposes.
In addition, the code conversion process creates animation information by using the animation code included in the first code (S820). The animation code included in the first code is a code for executing an animation, and there is a case of having to perform an unnecessary capture when the code is executed. Therefore, using the contents of the animation code, the animation information to be transmitted to a user terminal can be created.
In addition, the code conversion process converts the first code into a second code including the capture image information and the animation information (S830). Therefore, by using the second code, the user terminal can create an application screen in which an animation is applied to a capture image.
The second code may include the animation information corresponding to at least one of an animation type, an animation applying duration, an animation repetition count, a start coordinate, an end coordinate, a start size, and an end size. For example, in the second code, the animation type may be written as an identifier of 'effect type', the animation applying duration may be written as an identifier of 'duration', the animation repetition count may be written as an identifier of 'isRepeat', the start coordinate may be written as an identifier of 'start X, start Y', the end coordinate may be written as an identifier of 'end X, end Y', the start size may be written as an identifier of 'start W, start H', and the end size may be written as an identifier of 'end W, end H'. The animation information may be represented by allocating values to such respective identifiers. Alternatively, the second code may not include the animation code.
The image cloud streaming service method using the application code according to the present invention may be implemented in the form of program commands which may be executed through various computer means. Such program commands may be recorded on a computer-readable recording medium, which may include a program command, a data file, a data structure, etc. alone or in combination. The program command recorded on the medium is designed or configured especially for the invention, or known to those skilled in computer software. The computer-readable recording medium includes magnetic media such as a hard disk, a floppy disk, and a magnetic tape, optical media such as a CD-ROM and a DVD, magneto-optical media such as a floptical disk, and hardware devices specially configured to store and perform a program command, such as a ROM, a RAM, a flash memory and the like. In addition, the program commands may include high-class language codes, which can be executed in a computer by using an interpreter, as well as machine codes made by a compiler. This hardware device may be configured to operate as one or more software modules in order to perform the operation of this invention, and vice versa.
According to this invention, the cloud streaming service system, the cloud streaming service method using the application code, and the apparatus for the same are not limited to the above-discussed embodiments, all or parts of which may be selectively combined to make various modifications.
According to the present invention, it is possible to provide a cloud streaming service based on a still image by receiving a first code corresponding to an application result screen from a web application server, creating a capture image by using image region attribute information included in the first code, and performing still image encoding of the capture image by using a still image compression technique, and transmitting, to a user terminal, the still-image-encoded capture image and a second code created to include animation information through conversion of the first code such that the user terminal creates the application result screen. Further, this invention can provide a cloud streaming service that enables a user terminal to apply an animation effect even though a web application developer writes an application code of a desired form in a typical manner rather than a code of a new form, thus helping the convenience of service provider.
1. A cloud streaming server comprising:
a processor;
a memory storing instructions thereon, the instructions when executed by the processor cause the processor to:
receive a first code corresponding to an application result screen from a web application server;
capture an image by using image region attribute information included in the first code;
perform still image encoding of the captured image by using a still image compression technique to generate a still-image-encoded capture image;
convert the first code to a second code including animation information created using an animation code in the first code, wherein the animation information includes type of animation to be applied to the still-image- encoded capture image, a duration during which the animation is applied, an animation repetition count, a start coordinate, an end coordinate, a start size, and an end size; and
perform a cloud streaming service based on a still image by transmitting, to a user terminal, the still-image-encoded capture image and the second code such that the user terminal creates the application result screen.
2. The cloud streaming server of claim 1. wherein the instructions further cause the processor to capture the image by performing rendering for input information corresponding to the image region attribute information included in the first code.
3. The cloud streaming server of claim 2, wherein the instructions further cause the processor to:
create capture image information by using the image region attribute information included in the first code; and
convert the first code into the second code including the capture image information and the animation information.
4. The cloud streaming server of claim 3, wherein the instructions further cause the processor to create the captured image by rendering only a part of the application result screen.
5. The cloud streaming server oil claim 3. wherein the second code includes no animation code.
6. The cloud streaming server of claim 1, wherein the instructions further cause the processor to perform the still image encoding of the captured image by using the still image compression technique corresponding to one of portable network graphics (PNG), paletted PNG, and joint photography experts group (JPEG).
7. An image cloud streaming service method using an application code, the method comprising:
receiving a first code corresponding to an application result screen from a web application server;
capturing an image by using image region attribute information included in the first code; performing still image encoding of the captured image by using a still image compression technique to generate a still-image-encoded capture image;
converting the first code to a second code including animation information created using an animation code in the first code, wherein the animation information includes a type of animation to be applied to the still-image- encoded capture image, a duration during which the animation is applied an animation repetition count, a start coordinate, an end coordinate, a start size, and an end size; and
performing a cloud streaming service based on a still image by transmitting, to a user terminal, the still-image-encoded capture image and the second code such that the user terminal creates the application result screen.
8. The method of claim 7, wherein capturing the image includes creating the capture image by performing rendering for input information corresponding to the image region attribute infomation included in the first code.
creating capture image information by using the image region attribute information included in the first code; and
converting the first code into the second code including the capture image information and the animation information.
10. The method of claim 9, wherein creating the capture image includes creating the capture image by rendering only a part of the application result screen.
11. The method of claim 9, wherein the second code includes no animation code.
12. The method of claim 7, wherein performing the still image encoding includes performing the still image encoding of the capture image by using the still image compression technique corresponding to one of portable network graphics (PNG), paletted PNG, and joint photography experts group (JPEG).
13. A non-transitory computer readable recording medium having, recorded thereon, a computer program executing the method of claim 7.
14. A cloud streaming system comprising: a cloud streaming server comprising: the user terminal configured to:
a memory storing instructions thereon, the instructions when executed by the processor cause the processor to;
convert the first code to a. second code including, animation information created using an animation code in the first code, wherein the animation information includes a type of animation to be applied to the still-image- encoded capture image, a duration during which the animation is applied, an animation repetition count, a start coordinate, an end coordinate a start size, and an end size; and
perform a cloud streaming service based on a still. image by transmitting, to a user terminal, the capture image still-image-encoded by using a still image compression technique and the second code; and
receive an application execution result screen corresponding to the cloud streaming server from the cloud streaming server display the captured image; and
apply the animation to the capture image according to the animation information of the second code.
20030195923 October 16, 2003 Bolch et al.
20080313545 December 18, 2008 Patel et al.
20100269135 October 21, 2010 Hulse et al.
20110179106 July 21, 2011 Hulse et al.
20120051713 March 1, 2012 Myung
20120265802 October 18, 2012 Shen
20120287118 November 15, 2012 Mizutani
20120306851 December 6, 2012 Maloney
20130179787 July 11, 2013 Brockmann et al.
20140026023 January 23, 2014 Cabanier
20140325362 October 30, 2014 Potts et al.
2006236323 September 2006 JP
2008097621 April 2008 JP
100676621 January 2007 KR
1020100113503 October 2010 KR
International Search Report for PCT/KR2015/002073 dated Jul. 30, 2015.
Extended European Search Report dated Nov. 16, 2017 in connection with the counterpart European Patent Application No. 15864490.6.
Filed: Mar 4, 2015
Assignee: SK PLANET CO., LTD. (Seongnam-si, Gyeonggi-Do)
Inventor: Dong-Gook Kim (Suwon-si)
Primary Examiner: Younes Naji
Current U.S. Class: Having Still Mode (386/225)
International Classification: H04N 21/235 (20110101); H04N 21/431 (20110101); H04N 21/81 (20110101); H04N 21/236 (20110101); H04N 21/20 (20110101); H04N 21/2343 (20110101); H04N 21/472 (20110101); H04N 21/239 (20110101); H04N 21/8545 (20110101); G06F 16/95 (20190101); G06T 13/80 (20110101); H04N 21/61 (20110101);


text:
<?php

namespace Magento\Sales\Cron;

/**
 * Sales emails sending observer.
 *
 * Performs handling of cron jobs related to sending emails to customers
 * after creation/modification of Order, Invoice, Shipment or Creditmemo.
 */
class SendEmails
{
    /**
     * Global configuration storage.
     *
     * @var \Magento\Sales\Model\EmailSenderHandler
     */
    protected $emailSenderHandler;

    /**
     * @param \Magento\Sales\Model\EmailSenderHandler $emailSenderHandler
     */
    public function __construct(\Magento\Sales\Model\EmailSenderHandler $emailSenderHandler)
    {
        $this->emailSenderHandler = $emailSenderHandler;
    }

    /**
     * Handles asynchronous email sending during corresponding
     * cron job.
     *
     * Also method is used in the next events:
     *
     * - config_data_sales_email_general_async_sending_disabled
     *
     * Works only if asynchronous email sending is enabled
     * in global settings.
     *
     * @return void
     */
    public function execute()
    {
        $this->emailSenderHandler->sendEmails();
    }
}

redpajama_set_name: RedPajamaGithub


text:
Q: How to automatically update the grandtotal when quantity is changed I'm using knockout for my shopping cart and i cant seem to get the grand total to automatically update based on the change of an items.
VIEW

  <select data-bind="quantityDropdown: number, event: {change: $parent.updateqty}"></select>

Subtotal:

Total:

VIEWMODEL
    //This items placed in cart is placed in my cookiearray
    //cookiearray contains = datetime, id, typeid, qty, fullname, image, price, sku, weight)
    var cookiestring = $.cookie("cookieCart");
    var arrayfromJson = JSON.parse(cookiestring);

    //Deletes the cookie
    var deleteCookie = function (name) {
      document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:01 GMT;";
    };

    function UpdateCookieQty(id, typeid, select) {
       for (var i = arrayfromJson.length - 1; i >= 0; i--) {
           if (arrayfromJson[i].id === id && arrayfromJson[i].typeid === typeid) {
               arrayfromJson[i].qty = select;
           }
       }
       //recreates the cookie string after updating the quantity. This new quantity isnt read in the observable until browser is refreshed.
       deleteCookie("cookieCart");
       $.cookie("cookieCart", JSON.stringify(arrayfromJson), { path: "/" });
   }

function AppViewModel() {
    var self = this;
    self.cartItems = ko.observableArray(arrayfromJson);
    self.quantity = ko.observable(); //here im trying to make the quantity observable.
    var totalShipWeight = 0;

    //calculating total weight of the cart
    for (var n = 0; n < self.cartItems().length; n++) {
        var itemweight = parseFloat(arrayfromJson[n].weight, 10);
        var shipqty = parseFloat(arrayfromJson[n].qty, 10);
        totalShipWeight += itemweight * shipqty;
    }

    //calculating the subtotal doesn't update when quantity is changed :(
    self.subtotal = ko.computed(function () {
        var total = 0;
        for (var i = 0; i < self.cartItems().length; i++) {
            var itemPrice = parseFloat(arrayfromJson[i].price, 10);
            var itemqty = parseFloat(arrayfromJson[i].qty, 10);
            total += itemPrice * itemqty;
        }
        return total;
    });

    //calculating tax if tax applies, doesn't update when quantity is changed
    self.taxedItems = ko.pureComputed(function () {
        var taxcost = 0;
        var total = 0;
        if (totalShipWeight > 0) {
            for (var i = 0; i < self.cartItems().length; i++) {
                var itemPrice = parseFloat(arrayfromJson[i].price, 10);
                var itemqty = parseFloat(arrayfromJson[i].qty, 10);
                total += itemPrice * itemqty;
            }
            taxcost = parseFloat((total * tax).toFixed(2));
        }
        return taxcost;
    });

    //calculating tax if tax applies, doesn't update when quantity is changed
    self.grandTotal = ko.pureComputed(function () {
        var total = 0;
        var grandTotal = 0;
        for (var i = 0; i < self.cartItems().length; i++) {
            var itemPrice = parseFloat(arrayfromJson[i].price, 10);
            var itemqty = parseInt(arrayfromJson[i].qty, 10);
            total += itemPrice * itemqty;
        }
        grandTotal = total + (total * tax);
        //Add shipping cost
        return grandTotal;
    });

    //number = 50 from controller. this is just to display dropdown for max amount of quantity
    ko.bindingHandlers.quantityDropdown = {
        update: function (element) {
            for (var i = 1; i < number + 1; i++) {
                var selectedQty = "";

                for (var x = 0; x < self.cartItems().length; x++) {
                    var itemqty = parseFloat(arrayfromJson[x].qty, 10);

                    if (i === itemqty) {
                        selectedQty = " selected='selected'";
                    }
                }
                // Add each option element to the select here
                $(element).append("<option value='" + i + "' " + selectedQty + ">" + i + "</option>");
            }
        }
    };

    //this is where the user updates quantity. I goes to the function,
    //updates quantity for particular item (but for some reason updates both items).
    //then the change is supposed to reflect in the subtotal and grandtotal, but doesnt.
    self.updateqty = function (viewModel, event) {

        UpdateCookieQty(this.id, this.typeid, event.target.value);
        }
    }

    ko.applyBindings(new AppViewModel());

Im fairly new to knockout but is there something wrong here?

A: So the problem is that you're only updating the arrayFromJson which is not something that knockout knows anything about, so it does not know it needs to update your grandTotal computed.  Not all of your code is showing, so I'm not sure the scope of all the functions and instances, but essentially you just need to tell knockout to recompute the grandTotal and ideally you would do that from your UpdateCookie function:
function UpdateCookieQty(id, typeid, select) {
   for (var i = arrayfromJson.length - 1; i >= 0; i--) {
       if (arrayfromJson[i].id === id && arrayfromJson[i].typeid === typeid) {
           arrayfromJson[i].qty = select;
       }
   }
   //recreates the cookie string after updating the quantity. This new quantity isnt read in the observable until browser is refreshed.
   deleteCookie("cookieCart");
   $.cookie("cookieCart", JSON.stringify(arrayfromJson), { path: "/" });
   myAppViewModel.cartItems.removeAll();
   ko.utils.arrayPushAll(myAppViewModel.cartItems, arrayFromJson);
}

Note the .removeAll() and arrayPushAll() calls here, there's a common mistake people make with knockout that this avoids.  You want to make sure you're not doing: myAppViewModel.cartItems = ko.observableArray(arrayFromJson); here (again).  This replaces the original observable with a new one and abandons all the subscriptions that the computeds would have on the original instance.
Once that is done, then update your computed's to rely on the cartItems as it is observable, so knockout will detect the changes to that and then automatically recompute the values for you.
self.grandTotal = ko.pureComputed(function () {
    var total = 0;
    var grandTotal = 0;
    for (var i = 0; i < self.cartItems().length; i++) {
        var itemPrice = parseFloat(cartItems[i].price, 10);
        var itemqty = parseInt(cartItems[i].qty, 10);
        total += itemPrice * itemqty;
    }
    grandTotal = total + (total * tax);
    //Add shipping cost
    //Discount CMEZ
    return grandTotal;
});

redpajama_set_name: RedPajamaStackExchange


Payday loans: Stouffville, apply in just a few short minutes to the number one speedy personal loan site. Some people have criticized using unsecure money loan services as being an expensive form of borrowing. The unsecure cash loan critics have never been in a payday loan position where they have an urgent need for unsecure cash loan or an amount of hard earned cash, and no way of getting hold of it. Online best pay day loans services have been necessary in the impromptu endeavor of finding cash advances loan due to a number of main reasons.
If you have a job in Stouffville, and get a regular pay check, you are doing well these popular days. And it's likely that you dont need unsecure loan are no your hard earned cash fool either, most people with low incomes are very smart at budgeting their hard earned cash, and squeezing a quick cash dollar until it screams. But low acceptable income is low income, and that means, little in the way of short term loans reserves. So when a necessary pay day loans emergency comes up – a household or car repair, a impromptu medical bill, even a traffic ticket – there might be no express personal loan right now to pay for it.
The speedy personal loan are there to help you and your family deal with these mundane bad credit funding needs. These types of unsecure fast loan are designed simply to get you cash funding until the next acceptable Ontario payday, when your speedy personal loan are automatically paid off. They aren't popular for anything except your main needs. Borrowing unsecure loan to pay for a popular trip, for example, is a bad idea. Borrowing bad credit loan to allow you go and visit your impromptu sick mother is a no brainer.
These cash advances are available to anyone near Ontario who has an necessary bank account for hard earned cash and gets a regular main paycheck. They're main to obtain, with minimal endeavor and turbo personal loan form filling. You don't need to provide any form of impromptu security, and you won't feel like a mundane beggar – you will be treated best as an popular Ontario short term funds customer.
Online Stouffville bad credit funding services that provide unsecure money loan are the best and fastest way to get your cash funding for any special event in your life.
Stouffville ON individuals may get into various unsecure money loan troubles such as huge indebtedness, high interest payday loans, Stouffville, unable to pay debt, dues on creditors and other financial issues. It is important to take an action as delays in your unsecure cash loan payments may lead to bigger debt liability or loss of credit in Stouffville. It is therefore necessary to get tips on how to get out of debt liability in Stouffville, deal with Ontario creditors who want hard earned cash, and manage your unsecure loan properly to walk in financial freedom.
Our site provides very convenient and bad credit funding services which you can obtain by our bad credit loan application form. If you are at least 18 years of age in Stouffville ON, and you have some form of mundane employment, are a Canadian Citizen or Permanent Stouffville Resident, you are welcome to use our friendly Stouffville fast cash loan services. No hassle, no credit check required, nothing misleading or any hidden cost in Stouffville Ontario. We are always willing to support fellow Canadians in Stouffville.


Police allege that the driver of a fleeing Porsche who caused a horrific crash, killing an innocent woman, was driving drunk, without a license and more.
Shortly before 7:30 p.m. Sunday, July 1, police in Ulster County attempted to pull over a black 2008 Porsche Cayenne on Route 299 in the Town of Lloyd, just outside New Paltz.
Sources tell Hudson Valley Post the driver didn't stop and a high-speed chase with speeds reaching 100 MPH ensued.
As the vehicle approached the intersection at South Street, it struck the side of a 2008 Ford.
The Porsche then crossed over into the eastbound lane striking a 2018 Ford pickup truck head-on, sending the pickup flying down the road, sources say.
The driver of the pickup truck, 39-year-old Danielle M. Pecoraro of New Paltz, was pronounced dead on the scene.
The driver of the Porsche, 29-year-old Ryan B. Williams of Poughkeepsie was critically injured but survived the high-speed crash.
On Tuesday, following a nearly month-long investigation, New York State Police charged Williams with aggravated vehicular homicide, manslaughter, unlawfully fleeing a police officer, aggravated unlicensed operation of a motor vehicle, all felonies, driving while intoxicated and reckless driving, misdemeanors.
Williams was remanded to the Ulster County Jail without bail pending a future court appearance.
A passenger in the pickup truck a 24-year-old from New Paltz was injured.


Good News! Forco 100 lb Club is Growing!
The number of new Forco 100 lb Club members is rapidly rising. Nearly every day new members are signing up to receive FREE Forco after buying a total of 100 pounds. That's inspiring because it also means that these members are seeing very positive results in the health, disposition and overall appearance of their animals.
Not a member yet? Better sign up now and get a head start on getting your FREE Forco. Your membership will never expire so you need not worry about having to buy a minimum amount per year or some other bogus 'small print' catch.


text:
Nurturing Talent
By: ESSA
As we move into 2023, Andrew Harrison discusses the need to encourage new talent into the industry and why it needs to remain a top priority.
This past year has been incredibly busy and has seen many event suppliers stretched to the absolute limit, so we need to ensure that nurturing new talent remains high on the agenda.
The talent shortage is one of a multitude of challenges impacting our industry right now, from rising costs and political and economic instability to the climate crisis and growing pressure to be more sustainable.
But without a strong pipeline of new talent coming into the industry, we're going to face a whole wave of new challenges in the future. So, we must ensure we don't get distracted from tackling the talent issue amidst everything else.
As an industry, we're not very high up the pecking order when it comes to young people's career choices and finding your way into events by accident seems to be an accepted norm.
ESSA's Future Focus Working Group is trying hard to rectify this. We have done a lot of work on nurturing talent through our partnerships with various educational institutions, and recently launched free student membership targeted at students who are keen to enter the world of events.
The Student Membership offers access to a wealth of industry training, activities, events and work placement opportunities with ESSA members to provide first-hand experience of many real-life aspects of the industry, supplement their learning and help cement their desire to enter this exciting industry.
But the issue of attracting talent to the events industry is bigger than ESSA and its members. It requires a collaborative approach that appreciates all elements and opportunities within the industry and not just one stakeholder group trying to fix the problem for themselves.
As part of the Events Industry Alliance (ESSA, AEO, AEV), we recently launched our government manifesto with skills and training as one of five key areas. We are also contributing to the UK Events (formally BVEP) work on developing industry wide formal education and training to improve the pathways into our industry.
Nurturing talent is essential to safeguarding the future of the events industry and we all have a responsibility to entice the next generation to join us.
Published in the January 2023 issue of Hospitality and Events North magazine.


text:
Mikoyan-Gurevich MiG-15bis (LIM-2) Fagot
The MiG-15 came as a great surprise to the Western nations when they first encountered it during the Korean War. It was much more advanced and capable than the West had believed possible and proved to be more than a match for virtually all the Western fighters except for the F-86 Sabre. The MiG-15s engine was a direct copy of the British designed Rolls-Royce Nene engine, samples of which had been bought from England in 1946. The Fagot first flew in 1948. A total of 16,085 MiG-15 were built in Poland, Czechoslovakia, and China as well as in Russia. In all 38 different countries used the aircraft.
Built by the Wytwornia Sprzetu Komunikacyjneo (WSK) factory in Mielec, Poland. The aircraft's history with the Polish Air Force is only partially known.
December 1961 45th Fighter Regiment.
October 1964 2nd Fighter Regiment.
April 1978 61st Combat Training Regiment.
Acquired by the U.S. Air Force in the 1980s and flown by civilian contractors for research projects conducted by the Defense Test and Evaluation Support Agency at Kirtland AFB, Albuquerque, New Mexico. Apparently retired to storage at Davis-Monthan AFB, Arizona around 1990.
July 1992 Loaned to the Pima Air & Space Museum by the National Museum of the United States Air Force.
33 ft 1 in.
11,120 lb (loaded)
Service Ceiling
One Klimov Vk-1 turbojet with 7,452 pounds of thrust
Democratic People's Republic of Korea Air Force (North Korea), 1952
MiG-15bis
N822JM
1B-0822


text:
Stalking Offences (12931/16)
20 January 2017 | Incident and Crime Statistics
I am currently conducting a research study exploring stalking offences, specifically those perpetrated where the victim is 'male' and also where the perpetrators are 'strangers'.
Under the Freedom of Information Act 2000/Freedom of Information (Scotland) Act 2002, I am writing to request anonymous information about recorded stalking offences (The Protection of Freedoms Act 2012/Protection from Harassment Act 1997) that have been reported and recorded by your constabulary between 1st January 2014 and 31st December 2015.
I have attached two data request forms which has been designed to try and make this process as easy as possible. The first requests anonymous individual level data specifically related to stalking offences recorded during this period (January 2014-December 2015) where the perpetrator has been categorised as a 'stranger'. The second requests anonymous individual level data where the victim's gender is 'male'. Please note, for the latter request involving male victims, this request is not limited to cases where the perpetrator is a stranger.
Please find attached our response. The dataset is all Stalking with Fear of Violence, Stalking involving serious alarm/distress, and breach of S1 which amounts to stalking where a victim or additional victim is recorded on our system.
Please note that these data should be interpreted with caution. Comparing numbers of incidents/crimes can be misleading and does not necessarily indicate the likelihood of someone being a victim of crime. In addition, the number of incidents/crimes recorded in an area over a period of time can be influenced by a number of factors. Consequently statistics on incidents/crimes for one period may not necessarily be a good indicator of future incidents in that area.
Every effort is made to ensure that the figures presented are accurate and complete. However, it is important to note that these data have been extracted from a number of data sources used by forces for police purposes. The detail collected to respond specifically to your request is subject to the inaccuracies inherent in any large scale recording system. As a consequence, care should be taken to ensure data collection processes and their inevitable limitations are taken into account when interpreting those data.
The figures provided therefore are our best interpretation of relevance of data to your request, but you should be aware that the collation of figures for ad hoc requests may have limitations and this should be taken into account when those data are used.
If you decide to write an article / use the enclosed data we would ask you to take into consideration the factors highlighted in this document so as to not mislead members of the public or official bodies, or misrepresent the relevance of the whole or any part of this disclosed material.
12931_attachment_01


Purchase this Brand New Konica Minolta 604A Toner Cartridge from TonerParts.com at a discounted price. This Toner Cartridge is compatible with the following printer models: Konica Minolta DI551, Konica Minolta DI5510, Konica Minolta DI650, Konica Minolta DI7210. At Toner Parts, we focus on providing you with the lowest prices and the highest quality of products and service.


In what is said to be a first for a U.S. law firm, a Pennsylvania law firm will sell artificial intelligence software directly to its clients in the health care industry to enable them to better review, analyze and negotiate contracts.
The Pittsburgh-based law firm Horty Springer is partnering with the AI software company LegalSifter to offer the product directly to hospitals and health systems. Initially it will allow clients to review business associate agreements required by HIPAA privacy regulations.
This will be the first time that a U.S. law firm will offer AI as a product directly to its clients, LegalSifter says. I was not able to find any evidence to the contrary.
Clients who purchase the software will be able to upload a draft contract into LegalSifter. The software uses AI to read and learn from text and search for specific concepts. After analyzing the contract, LegalSifter will present in-context comments written by Horty Springer lawyers. If the client needs additional information or advice, it can contact the law firm.
While starting with business associate agreements, Horty Springer will eventually offer the product for a range of contract types, including practitioner employment agreements, non-disclosure agreements, software end-user license agreements, and supplier terms and conditions.


Super Shag Collection uses Fusion Color Technology to create up to 24 different color combinations that can be woven into each rug. These rugs are unlike anything youve seen before and the beautiful designs accentuate the high quality colors that are used. There are up to six different shades of each color in what provide a space-dyed look and at an extremely competitive price!